Home | History | Annotate | Download | only in ippcp
      1 /*******************************************************************************
      2 * Copyright 2014-2018 Intel Corporation
      3 * All Rights Reserved.
      4 *
      5 * If this  software was obtained  under the  Intel Simplified  Software License,
      6 * the following terms apply:
      7 *
      8 * The source code,  information  and material  ("Material") contained  herein is
      9 * owned by Intel Corporation or its  suppliers or licensors,  and  title to such
     10 * Material remains with Intel  Corporation or its  suppliers or  licensors.  The
     11 * Material  contains  proprietary  information  of  Intel or  its suppliers  and
     12 * licensors.  The Material is protected by  worldwide copyright  laws and treaty
     13 * provisions.  No part  of  the  Material   may  be  used,  copied,  reproduced,
     14 * modified, published,  uploaded, posted, transmitted,  distributed or disclosed
     15 * in any way without Intel's prior express written permission.  No license under
     16 * any patent,  copyright or other  intellectual property rights  in the Material
     17 * is granted to  or  conferred  upon  you,  either   expressly,  by implication,
     18 * inducement,  estoppel  or  otherwise.  Any  license   under such  intellectual
     19 * property rights must be express and approved by Intel in writing.
     20 *
     21 * Unless otherwise agreed by Intel in writing,  you may not remove or alter this
     22 * notice or  any  other  notice   embedded  in  Materials  by  Intel  or Intel's
     23 * suppliers or licensors in any way.
     24 *
     25 *
     26 * If this  software  was obtained  under the  Apache License,  Version  2.0 (the
     27 * "License"), the following terms apply:
     28 *
     29 * You may  not use this  file except  in compliance  with  the License.  You may
     30 * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
     31 *
     32 *
     33 * Unless  required  by   applicable  law  or  agreed  to  in  writing,  software
     34 * distributed under the License  is distributed  on an  "AS IS"  BASIS,  WITHOUT
     35 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     36 *
     37 * See the   License  for the   specific  language   governing   permissions  and
     38 * limitations under the License.
     39 *******************************************************************************/
     40 
     41 /*
     42 //
     43 //  Purpose:
     44 //     Cryptography Primitive.
     45 //     Security Hash Standard
     46 //     Constants
     47 //
     48 //
     49 */
     50 
     51 #include "owndefs.h"
     52 #include "owncp.h"
     53 #include "pcphash.h"
     54 
     55 #if defined( _IPP_DATA )
     56 
     57 /*
     58 // enabled hash alg IDs
     59 */
     60 const IppHashAlgId cpEnabledHashAlgID[] = {
     61    IPP_ALG_HASH_UNKNOWN,
     62 
     63 #if defined(_ENABLE_ALG_SHA1_)
     64    IPP_ALG_HASH_SHA1,
     65 #else
     66    IPP_ALG_HASH_UNKNOWN,
     67 #endif
     68 
     69 #if defined(_ENABLE_ALG_SHA256_)
     70    IPP_ALG_HASH_SHA256,
     71 #else
     72    IPP_ALG_HASH_UNKNOWN,
     73 #endif
     74 
     75 #if defined(_ENABLE_ALG_SHA224_)
     76    IPP_ALG_HASH_SHA224,
     77 #else
     78    IPP_ALG_HASH_UNKNOWN,
     79 #endif
     80 
     81 #if defined(_ENABLE_ALG_SHA512_)
     82    IPP_ALG_HASH_SHA512,
     83 #else
     84    IPP_ALG_HASH_UNKNOWN,
     85 #endif
     86 
     87 #if defined(_ENABLE_ALG_SHA384_)
     88    IPP_ALG_HASH_SHA384,
     89 #else
     90    IPP_ALG_HASH_UNKNOWN,
     91 #endif
     92 
     93 #if defined(_ENABLE_ALG_MD5_)
     94    IPP_ALG_HASH_MD5,
     95 #else
     96    IPP_ALG_HASH_UNKNOWN,
     97 #endif
     98 
     99 #if defined(_ENABLE_ALG_SM3_)
    100    IPP_ALG_HASH_SM3,
    101 #else
    102    IPP_ALG_HASH_UNKNOWN,
    103 #endif
    104 
    105 #if defined(_ENABLE_ALG_SHA512_224_)
    106    IPP_ALG_HASH_SHA512_224,
    107 #else
    108    IPP_ALG_HASH_UNKNOWN,
    109 #endif
    110 
    111 #if defined(_ENABLE_ALG_SHA512_256_)
    112    IPP_ALG_HASH_SHA512_256
    113 #else
    114    IPP_ALG_HASH_UNKNOWN
    115 #endif
    116 };
    117 ////////////////////////////////////////////////////////////
    118 
    119 /*
    120 // hash init values
    121 */
    122 const Ipp32u UnknownHash_IV[] = {
    123    0};
    124 
    125 #if defined(_ENABLE_ALG_SHA1_)
    126 const Ipp32u SHA1_IV[] = {
    127    0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0};
    128 #endif
    129 
    130 #if defined(_ENABLE_ALG_SHA256_)
    131 const Ipp32u SHA256_IV[] = {
    132    0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A,
    133    0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19};
    134 #endif
    135 
    136 #if defined(_ENABLE_ALG_SHA224_)
    137 const Ipp32u SHA224_IV[] = {
    138    0xC1059ED8, 0x367CD507, 0x3070DD17, 0xF70E5939,
    139    0xFFC00B31, 0x68581511, 0x64F98FA7, 0xBEFA4FA4};
    140 #endif
    141 
    142 #if defined(_ENABLE_ALG_SHA512_)
    143 const Ipp64u SHA512_IV[] = {
    144    CONST_64(0x6A09E667F3BCC908), CONST_64(0xBB67AE8584CAA73B),
    145    CONST_64(0x3C6EF372FE94F82B), CONST_64(0xA54FF53A5F1D36F1),
    146    CONST_64(0x510E527FADE682D1), CONST_64(0x9B05688C2B3E6C1F),
    147    CONST_64(0x1F83D9ABFB41BD6B), CONST_64(0x5BE0CD19137E2179)};
    148 #endif
    149 
    150 #if defined(_ENABLE_ALG_SHA384_)
    151 const Ipp64u SHA384_IV[] = {
    152    CONST_64(0xCBBB9D5DC1059ED8), CONST_64(0x629A292A367CD507),
    153    CONST_64(0x9159015A3070DD17), CONST_64(0x152FECD8F70E5939),
    154    CONST_64(0x67332667FFC00B31), CONST_64(0x8EB44A8768581511),
    155    CONST_64(0xDB0C2E0D64F98FA7), CONST_64(0x47B5481DBEFA4FA4)};
    156 #endif
    157 
    158 #if defined(_ENABLE_ALG_MD5_)
    159 const Ipp32u MD5_IV[] = {
    160    0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476};
    161 #endif
    162 
    163 #if defined(_ENABLE_ALG_SM3_)
    164 const Ipp32u SM3_IV[] = {
    165    0x7380166F, 0x4914B2B9, 0x172442D7, 0xDA8A0600,
    166    0xA96F30BC, 0x163138AA, 0xE38DEE4D, 0xB0FB0E4E};
    167 #endif
    168 
    169 #if defined(_ENABLE_ALG_SHA512_224_)
    170 const Ipp64u SHA512_224_IV[] = {
    171    CONST_64(0x8C3D37C819544DA2), CONST_64(0x73E1996689DCD4D6),
    172    CONST_64(0x1DFAB7AE32FF9C82), CONST_64(0x679DD514582F9FCF),
    173    CONST_64(0x0F6D2B697BD44DA8), CONST_64(0x77E36F7304C48942),
    174    CONST_64(0x3F9D85A86A1D36C8), CONST_64(0x1112E6AD91D692A1)};
    175 #endif
    176 
    177 #if defined(_ENABLE_ALG_SHA512_256_)
    178 const Ipp64u SHA512_256_IV[] = {
    179    CONST_64(0x22312194FC2BF72C), CONST_64(0x9F555FA3C84C64C2),
    180    CONST_64(0x2393B86B6F53B151), CONST_64(0x963877195940EABD),
    181    CONST_64(0x96283EE2A88EFFE3), CONST_64(0xBE5E1E2553863992),
    182    CONST_64(0x2B0199FC2C85B8AA), CONST_64(0x0EB72DDC81C52CA2)};
    183 #endif
    184 
    185 const Ipp8u* cpHashIV[] = {
    186    (Ipp8u*)UnknownHash_IV,
    187 
    188    #if defined(_ENABLE_ALG_SHA1_)
    189    (Ipp8u*)SHA1_IV,
    190    #else
    191    (Ipp8u*)UnknownHash_IV,
    192    #endif
    193 
    194    #if defined(_ENABLE_ALG_SHA256_)
    195    (Ipp8u*)SHA256_IV,
    196    #else
    197    (Ipp8u*)UnknownHash_IV,
    198    #endif
    199 
    200    #if defined(_ENABLE_ALG_SHA224_)
    201    (Ipp8u*)SHA224_IV,
    202    #else
    203    (Ipp8u*)UnknownHash_IV,
    204    #endif
    205 
    206    #if defined(_ENABLE_ALG_SHA512_)
    207    (Ipp8u*)SHA512_IV,
    208    #else
    209    (Ipp8u*)UnknownHash_IV,
    210    #endif
    211 
    212    #if defined(_ENABLE_ALG_SHA384_)
    213    (Ipp8u*)SHA384_IV,
    214    #else
    215    (Ipp8u*)UnknownHash_IV,
    216    #endif
    217 
    218    #if defined(_ENABLE_ALG_MD5_)
    219    (Ipp8u*)MD5_IV,
    220    #else
    221    (Ipp8u*)UnknownHash_IV,
    222    #endif
    223 
    224    #if defined(_ENABLE_ALG_SM3_)
    225    (Ipp8u*)SM3_IV,
    226    #else
    227    (Ipp8u*)UnknownHash_IV,
    228    #endif
    229 
    230    #if defined(_ENABLE_ALG_SHA512_224_)
    231    (Ipp8u*)SHA512_224_IV,
    232    #else
    233    (Ipp8u*)UnknownHash_IV,
    234    #endif
    235 
    236    #if defined(_ENABLE_ALG_SHA512_256_)
    237    (Ipp8u*)SHA512_256_IV,
    238    #else
    239    (Ipp8u*)UnknownHash_IV,
    240    #endif
    241 };
    242 
    243 ////////////////////////////////////////////////////////////
    244 
    245 /*
    246 // additive constatns
    247 */
    248 #if defined(_ENABLE_ALG_SHA1_)
    249 __ALIGN16 const Ipp32u SHA1_cnt[] = {
    250    0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6
    251 };
    252 #endif
    253 
    254 #if defined(_ENABLE_ALG_SHA256_) || defined(_ENABLE_ALG_SHA224_)
    255 __ALIGN16 const Ipp32u SHA256_cnt[] = {
    256    0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
    257    0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
    258    0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
    259    0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
    260    0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
    261    0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
    262    0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
    263    0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
    264    0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
    265    0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
    266    0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
    267    0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
    268    0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
    269    0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
    270    0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
    271    0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
    272 };
    273 #endif
    274 
    275 #if defined(_ENABLE_ALG_SHA512_) || defined(_ENABLE_ALG_SHA384_) || defined(_ENABLE_ALG_SHA512_224_) || defined(_ENABLE_ALG_SHA512_256_)
    276 __ALIGN16 const Ipp64u SHA512_cnt[] = {
    277    CONST_64(0x428A2F98D728AE22), CONST_64(0x7137449123EF65CD), CONST_64(0xB5C0FBCFEC4D3B2F), CONST_64(0xE9B5DBA58189DBBC),
    278    CONST_64(0x3956C25BF348B538), CONST_64(0x59F111F1B605D019), CONST_64(0x923F82A4AF194F9B), CONST_64(0xAB1C5ED5DA6D8118),
    279    CONST_64(0xD807AA98A3030242), CONST_64(0x12835B0145706FBE), CONST_64(0x243185BE4EE4B28C), CONST_64(0x550C7DC3D5FFB4E2),
    280    CONST_64(0x72BE5D74F27B896F), CONST_64(0x80DEB1FE3B1696B1), CONST_64(0x9BDC06A725C71235), CONST_64(0xC19BF174CF692694),
    281    CONST_64(0xE49B69C19EF14AD2), CONST_64(0xEFBE4786384F25E3), CONST_64(0x0FC19DC68B8CD5B5), CONST_64(0x240CA1CC77AC9C65),
    282    CONST_64(0x2DE92C6F592B0275), CONST_64(0x4A7484AA6EA6E483), CONST_64(0x5CB0A9DCBD41FBD4), CONST_64(0x76F988DA831153B5),
    283    CONST_64(0x983E5152EE66DFAB), CONST_64(0xA831C66D2DB43210), CONST_64(0xB00327C898FB213F), CONST_64(0xBF597FC7BEEF0EE4),
    284    CONST_64(0xC6E00BF33DA88FC2), CONST_64(0xD5A79147930AA725), CONST_64(0x06CA6351E003826F), CONST_64(0x142929670A0E6E70),
    285    CONST_64(0x27B70A8546D22FFC), CONST_64(0x2E1B21385C26C926), CONST_64(0x4D2C6DFC5AC42AED), CONST_64(0x53380D139D95B3DF),
    286    CONST_64(0x650A73548BAF63DE), CONST_64(0x766A0ABB3C77B2A8), CONST_64(0x81C2C92E47EDAEE6), CONST_64(0x92722C851482353B),
    287    CONST_64(0xA2BFE8A14CF10364), CONST_64(0xA81A664BBC423001), CONST_64(0xC24B8B70D0F89791), CONST_64(0xC76C51A30654BE30),
    288    CONST_64(0xD192E819D6EF5218), CONST_64(0xD69906245565A910), CONST_64(0xF40E35855771202A), CONST_64(0x106AA07032BBD1B8),
    289    CONST_64(0x19A4C116B8D2D0C8), CONST_64(0x1E376C085141AB53), CONST_64(0x2748774CDF8EEB99), CONST_64(0x34B0BCB5E19B48A8),
    290    CONST_64(0x391C0CB3C5C95A63), CONST_64(0x4ED8AA4AE3418ACB), CONST_64(0x5B9CCA4F7763E373), CONST_64(0x682E6FF3D6B2B8A3),
    291    CONST_64(0x748F82EE5DEFB2FC), CONST_64(0x78A5636F43172F60), CONST_64(0x84C87814A1F0AB72), CONST_64(0x8CC702081A6439EC),
    292    CONST_64(0x90BEFFFA23631E28), CONST_64(0xA4506CEBDE82BDE9), CONST_64(0xBEF9A3F7B2C67915), CONST_64(0xC67178F2E372532B),
    293    CONST_64(0xCA273ECEEA26619C), CONST_64(0xD186B8C721C0C207), CONST_64(0xEADA7DD6CDE0EB1E), CONST_64(0xF57D4F7FEE6ED178),
    294    CONST_64(0x06F067AA72176FBA), CONST_64(0x0A637DC5A2C898A6), CONST_64(0x113F9804BEF90DAE), CONST_64(0x1B710B35131C471B),
    295    CONST_64(0x28DB77F523047D84), CONST_64(0x32CAAB7B40C72493), CONST_64(0x3C9EBE0A15C9BEBC), CONST_64(0x431D67C49C100D4C),
    296    CONST_64(0x4CC5D4BECB3E42B6), CONST_64(0x597F299CFC657E2A), CONST_64(0x5FCB6FAB3AD6FAEC), CONST_64(0x6C44198C4A475817)
    297 };
    298 #endif
    299 
    300 #if defined(_ENABLE_ALG_MD5_)
    301 __ALIGN16 const Ipp32u MD5_cnt[] = {
    302    0xD76AA478, 0xE8C7B756, 0x242070DB, 0xC1BDCEEE,
    303    0xF57C0FAF, 0x4787C62A, 0xA8304613, 0xFD469501,
    304    0x698098D8, 0x8B44F7AF, 0xFFFF5BB1, 0x895CD7BE,
    305    0x6B901122, 0xFD987193, 0xA679438E, 0x49B40821,
    306 
    307    0xF61E2562, 0xC040B340, 0x265E5A51, 0xE9B6C7AA,
    308    0xD62F105D, 0x02441453, 0xD8A1E681, 0xE7D3FBC8,
    309    0x21E1CDE6, 0xC33707D6, 0xF4D50D87, 0x455A14ED,
    310    0xA9E3E905, 0xFCEFA3F8, 0x676F02D9, 0x8D2A4C8A,
    311 
    312    0xFFFA3942, 0x8771F681, 0x6D9D6122, 0xFDE5380C,
    313    0xA4BEEA44, 0x4BDECFA9, 0xF6BB4B60, 0xBEBFBC70,
    314    0x289B7EC6, 0xEAA127FA, 0xD4EF3085, 0x04881D05,
    315    0xD9D4D039, 0xE6DB99E5, 0x1FA27CF8, 0xC4AC5665,
    316 
    317    0xF4292244, 0x432AFF97, 0xAB9423A7, 0xFC93A039,
    318    0x655B59C3, 0x8F0CCC92, 0xFFEFF47D, 0x85845DD1,
    319    0x6FA87E4F, 0xFE2CE6E0, 0xA3014314, 0x4E0811A1,
    320    0xF7537E82, 0xBD3AF235, 0x2AD7D2BB, 0xEB86D391
    321 };
    322 #endif
    323 
    324 #if defined(_ENABLE_ALG_SM3_)
    325 __ALIGN16 const Ipp32u SM3_cnt[] = {
    326    0x79CC4519,0xF3988A32,0xE7311465,0xCE6228CB,0x9CC45197,0x3988A32F,0x7311465E,0xE6228CBC,
    327    0xCC451979,0x988A32F3,0x311465E7,0x6228CBCE,0xC451979C,0x88A32F39,0x11465E73,0x228CBCE6,
    328    0x9D8A7A87,0x3B14F50F,0x7629EA1E,0xEC53D43C,0xD8A7A879,0xB14F50F3,0x629EA1E7,0xC53D43CE,
    329    0x8A7A879D,0x14F50F3B,0x29EA1E76,0x53D43CEC,0xA7A879D8,0x4F50F3B1,0x9EA1E762,0x3D43CEC5,
    330    0x7A879D8A,0xF50F3B14,0xEA1E7629,0xD43CEC53,0xA879D8A7,0x50F3B14F,0xA1E7629E,0x43CEC53D,
    331    0x879D8A7A,0x0F3B14F5,0x1E7629EA,0x3CEC53D4,0x79D8A7A8,0xF3B14F50,0xE7629EA1,0xCEC53D43,
    332    0x9D8A7A87,0x3B14F50F,0x7629EA1E,0xEC53D43C,0xD8A7A879,0xB14F50F3,0x629EA1E7,0xC53D43CE,
    333    0x8A7A879D,0x14F50F3B,0x29EA1E76,0x53D43CEC,0xA7A879D8,0x4F50F3B1,0x9EA1E762,0x3D43CEC5
    334 };
    335 #endif
    336 
    337 /*
    338 // hash alg default processing opt argument
    339 */
    340 const void* cpHashProcFuncOpt[] = {
    341    NULL,
    342 
    343    #if defined(_ENABLE_ALG_SHA1_)
    344    SHA1_cnt,
    345    #else
    346    NULL,
    347    #endif
    348 
    349    #if defined(_ENABLE_ALG_SHA256_)
    350    SHA256_cnt,
    351    #else
    352    NULL,
    353    #endif
    354 
    355    #if defined(_ENABLE_ALG_SHA224_)
    356    SHA256_cnt,
    357    #else
    358    NULL,
    359    #endif
    360 
    361    #if defined(_ENABLE_ALG_SHA512_)
    362    SHA512_cnt,
    363    #else
    364    NULL,
    365    #endif
    366 
    367    #if defined(_ENABLE_ALG_SHA384_)
    368    SHA512_cnt,
    369    #else
    370    NULL,
    371    #endif
    372 
    373    #if defined(_ENABLE_ALG_MD5_)
    374    MD5_cnt,
    375    #else
    376    NULL,
    377    #endif
    378 
    379    #if defined(_ENABLE_ALG_SM3_)
    380    SM3_cnt,
    381    #else
    382    NULL,
    383    #endif
    384 
    385    #if defined(_ENABLE_ALG_SHA512_224_)
    386    SHA512_cnt,
    387    #else
    388    NULL,
    389    #endif
    390 
    391    #if defined(_ENABLE_ALG_SHA512_256_)
    392    SHA512_cnt,
    393    #else
    394    NULL,
    395    #endif
    396 };
    397 ////////////////////////////////////////////////////////////
    398 
    399 /* hash alg attributes */
    400 const cpHashAttr cpHashAlgAttr[] = {
    401    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},                            /* unknown */
    402 
    403 #if defined(_ENABLE_ALG_SHA1_)     /* sha1 / unknown */
    404    {IPP_SHA1_DIGEST_BITSIZE/8, IPP_SHA1_DIGEST_BITSIZE/8,    MBS_SHA1,   sizeof(Ipp64u), {CONST_64(0x2000000000000000-1),CONST_64(0)}},
    405 #else
    406    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    407 #endif
    408 
    409 #if defined(_ENABLE_ALG_SHA256_)   /* sha256 / unknown */
    410    {IPP_SHA256_DIGEST_BITSIZE/8,IPP_SHA256_DIGEST_BITSIZE/8, MBS_SHA256, sizeof(Ipp64u), {CONST_64(0x2000000000000000-1),CONST_64(0)}},
    411 #else
    412    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    413 #endif
    414 
    415 #if defined(_ENABLE_ALG_SHA224_)   /* sha224 / unknown */
    416    {IPP_SHA256_DIGEST_BITSIZE/8,IPP_SHA224_DIGEST_BITSIZE/8, MBS_SHA224, sizeof(Ipp64u), {CONST_64(0x2000000000000000-1),CONST_64(0)}},
    417 #else
    418    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    419 #endif
    420 
    421 #if defined(_ENABLE_ALG_SHA512_)   /* sha512 / unknown */
    422    {IPP_SHA512_DIGEST_BITSIZE/8,IPP_SHA512_DIGEST_BITSIZE/8, MBS_SHA512, sizeof(Ipp64u)*2, {CONST_64(0xFFFFFFFFFFFFFFFF),CONST_64(0x2000000000000000-1)}},
    423 #else
    424    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    425 #endif
    426 
    427 #if defined(_ENABLE_ALG_SHA384_)   /* sha384 / unknown */
    428    {IPP_SHA512_DIGEST_BITSIZE/8,IPP_SHA384_DIGEST_BITSIZE/8, MBS_SHA384, sizeof(Ipp64u)*2, {CONST_64(0xFFFFFFFFFFFFFFFF),CONST_64(0x2000000000000000-1)}},
    429 #else
    430    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    431 #endif
    432 
    433 #if defined(_ENABLE_ALG_MD5_)   /* md5 / unknown */
    434    {IPP_MD5_DIGEST_BITSIZE/8,IPP_MD5_DIGEST_BITSIZE/8, MBS_MD5, sizeof(Ipp64u), {CONST_64(0x2000000000000000-1),CONST_64(0)}},
    435 #else
    436    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    437 #endif
    438 
    439 #if defined(_ENABLE_ALG_SM3_)   /* sm3 / unknown */
    440    {IPP_SM3_DIGEST_BITSIZE/8,IPP_SM3_DIGEST_BITSIZE/8, MBS_SM3, sizeof(Ipp64u), {CONST_64(0x2000000000000000-1),CONST_64(0)}},
    441 #else
    442    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    443 #endif
    444 
    445 #if defined(_ENABLE_ALG_SHA512_224_)   /* sha512/224 / unknown */
    446    {IPP_SHA512_DIGEST_BITSIZE/8,IPP_SHA512_224_DIGEST_BITSIZE/8, MBS_SHA512, sizeof(Ipp64u)*2, {CONST_64(0xFFFFFFFFFFFFFFFF),CONST_64(0x2000000000000000-1)}},
    447 #else
    448    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}},
    449 #endif
    450 
    451 #if defined(_ENABLE_ALG_SHA512_256_)   /* sha512/256 / unknown */
    452    {IPP_SHA512_DIGEST_BITSIZE/8,IPP_SHA512_256_DIGEST_BITSIZE/8, MBS_SHA512, sizeof(Ipp64u)*2, {CONST_64(0xFFFFFFFFFFFFFFFF),CONST_64(0x2000000000000000-1)}}
    453 #else
    454    {0, 0, 0, 0, {CONST_64(0),CONST_64(0)}}
    455 #endif
    456 };
    457 
    458 #endif /* _IPP_DATA */
    459