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