Skip to content

Commit b2a11da

Browse files
author
ipl_ci
committed
WW06'25 source code update
1 parent 370402b commit b2a11da

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+633
-199
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This is a list of notable changes to Intel® Cryptography Primitives Library, in
1010
Cmake build options `-DMERGED_BLD:BOOL=off -DMBX_PLATFORM_LIST="k1;l9"` may be used. Please refer to
1111
[BUILD.md](./BUILD.md) for the details.
1212
- Fixed AVX512 IFMA implementation (k1 branch) of SM2 signature and verification single-buffer algorithm. The optimized path is re-enabled.
13+
- Added `ippsHashMethod_SM3_NI` and `ippsHashMethod_SM3_TT` methods for SM3 hash algorithm optimization with the new SM3 instructions for Lunar Lake and Arrow Lake S CPUs. The runtime dispatch introduced in Intel(R) Cryptography Primitives Library 1.0.0 release `ippsHashMethod_SM3` is moved to `ippsHashMethod_SM3_TT` and the behavior of `ippsHashMethod` API is aligned with SHA hash family.
1314

1415
## Intel(R) Cryptography Primitives Library 1.0.1
1516
- Fixed an issue with invalid memory access for AES-GCM algorithm with Intel® Advanced Vector Extensions 2 (Intel® AVX2) vector extensions of Intel® AES New Instructions (Intel® AES-NI) in case of corner sizes.

DEPRECATION_NOTES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ The code paths n8/s8 (Intel® SSSE3) and g9/e9 (Intel® AVX) are deprecated and
9595
| SHA256 | ippsHashAlg_SHA256 | ippsHashMethod_SHA256<br>ippsHashMethod_SHA256_NI<br>ippsHashMethod_SHA256_TT | Intel® SHA-NI not supported<br>Intel® SHA-NI only supported<br>Automatic switch on Intel® SHA-NI, if possible supported |
9696
| SHA384 | ippsHashAlg_SHA384 | ippsHashMethod_SHA384<br>ippsHashMethod_SHA384_NI<br>ippsHashMethod_SHA384_TT | Intel® SHA512 not supported<br>Intel® SHA512 only supported<br>Automatic switch on Intel® SHA512, if possible supported |
9797
| SHA512 | ippsHashAgl_SHA512 | ippsHashMethod_SHA512<br>ippsHashMethod_SHA512_NI<br>ippsHashMethod_SHA512_TT | Intel® SHA512 not supported<br>Intel® SHA512 only supported<br>Automatic switch on Intel® SHA512, if possible supported |
98-
| SM3 | ippsHashAlg_SM3 | ippsHashMethod_SM3 | - |
98+
| SM3 | ippsHashAlg_SM3 | ippsHashMethod_SM3<br>ippsHashMethod_SM3_NI<br>ippsHashMethod_SM3_TT | Intel® SM3 not supported<br>Intel® SM3 only supported<br>Automatic switch on Intel® SM3, if possible supported |
9999
| MD5 | ippsHashAlg_MD5 | ippsHashMethod_MD5 | - |
100100
| SHA512-224 | ippsHashAlg_SHA512_224 | ippsHashMethod_SHA512_224<br>ippsHashMethod_SHA512_224_NI<br>ippsHashMethod_SHA512_224_TT | Intel® SHA512 not supported<br>Intel® SHA512 only supported<br>Automatic switch on Intel® SHA512, if possible supported |
101101
| SHA512-256 | ippsHashAlg_SHA512_256 | ippsHashMethod_SHA512_256<br>ippsHashMethod_SHA512_256_NI<br>ippsHashMethod_SHA512_256_TT | Intel® SHA512 not supported<br>Intel® SHA512 only supported<br>Automatic switch on Intel® SHA512, if possible supported |

examples/hash/sm3_hash_rmf.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ int main(void)
4949
IppStatus status = ippStsNoErr;
5050

5151
/*! 1. Get the hash methods which is used */
52-
const IppsHashMethod* hash_method = ippsHashMethod_SM3();
52+
/* _TT (tick-tock) version of ippsHashMethod_SM3() function automatically switch on SM3 instructions, if possible*/
53+
const IppsHashMethod* hash_method = ippsHashMethod_SM3_TT();
5354

5455
/*! The digest size of the SM3 standard */
5556
Ipp32u hash_size = IPP_SM3_DIGEST_BYTESIZE;

examples/post-quantum/lms_m32_h5_w8_verification.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* The LMS algorithm is implemented according to the
2626
* "Leighton-Micali Hash-Based Signatures" document:
2727
*
28-
* https://datatracker.ietf.org/doc/html/rfc8554
28+
* https://www.rfc-editor.org/info/rfc8554
2929
*
3030
*/
3131

examples/rsa/rsa-1k-oaep-sha1-encryption.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* The RSASSA-OAEP scheme is implemented according to the PKCS#1 v2.1: RSA Cryptography Standard (June 2002),
2828
* available at:
2929
*
30-
* https://tools.ietf.org/html/rfc3447.
30+
* https://www.rfc-editor.org/info/rfc3447.
3131
*
3232
*/
3333

examples/rsa/rsa-1k-oaep-sha1-type2-decryption.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* The RSASSA-OAEP scheme is implemented according to the PKCS#1 v2.1: RSA Cryptography Standard (June 2002),
2929
* available at:
3030
*
31-
* https://tools.ietf.org/html/rfc3447.
31+
* https://www.rfc-editor.org/info/rfc3447.
3232
*
3333
*/
3434

examples/rsa/rsa-1k-pss-sha1-verification.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* The RSASSA-PSS scheme is implemented according to the PKCS#1 v2.1: RSA Cryptography Standard (June 2002),
2828
* available at:
2929
*
30-
* https://tools.ietf.org/html/rfc3447.
30+
* https://www.rfc-editor.org/info/rfc3447.
3131
*
3232
*/
3333
#include "ippcp.h"

examples/rsa/rsa-3k-pss-sha384-type1-signature.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* The RSASSA-PSS scheme is implemented according to the PKCS#1 v2.1: RSA Cryptography Standard (June 2002),
2828
* available at:
2929
*
30-
* https://tools.ietf.org/html/rfc3447.
30+
* https://www.rfc-editor.org/info/rfc3447.
3131
*
3232
*/
3333

include/ippcp.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,8 @@ IPPAPI(IppStatus, ippsHashMessage,(const Ipp8u* pMsg, int len, Ipp8u* pMD, IppHa
437437
IPP_DEPRECATED(MD5_DEPRECATED) \
438438
IPPAPI( const IppsHashMethod*, ippsHashMethod_MD5, (void) )
439439
IPPAPI( const IppsHashMethod*, ippsHashMethod_SM3, (void) )
440+
IPPAPI( const IppsHashMethod*, ippsHashMethod_SM3_NI, (void) )
441+
IPPAPI( const IppsHashMethod*, ippsHashMethod_SM3_TT, (void) )
440442

441443
IPP_DEPRECATED(SHA1_DEPRECATED) \
442444
IPPAPI( const IppsHashMethod*, ippsHashMethod_SHA1, (void) )
@@ -473,8 +475,12 @@ IPPAPI( IppStatus, ippsHashMethodGetSize, (int* pSize) )
473475
IPP_DEPRECATED(MD5_DEPRECATED) \
474476
IPPAPI( IppStatus, ippsHashMethodSet_MD5, (IppsHashMethod* pMethod) )
475477
IPPAPI( IppStatus, ippsHashMethodSet_SM3, (IppsHashMethod* pMethod) )
478+
IPPAPI( IppStatus, ippsHashMethodSet_SM3_NI, (IppsHashMethod* pMethod) )
479+
IPPAPI( IppStatus, ippsHashMethodSet_SM3_TT, (IppsHashMethod* pMethod) )
476480

477481
IPPAPI( IppStatus, ippsHashStateMethodSet_SM3, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) )
482+
IPPAPI( IppStatus, ippsHashStateMethodSet_SM3_NI, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) )
483+
IPPAPI( IppStatus, ippsHashStateMethodSet_SM3_TT, (IppsHashState_rmf* pState, IppsHashMethod* pMethod) )
478484

479485
IPP_DEPRECATED(SHA1_DEPRECATED) \
480486
IPPAPI( IppStatus, ippsHashMethodSet_SHA1, (IppsHashMethod* pMethod) )

include/ippcpdefs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ IPPAPI( int, ippcpGetEnabledNumThreads, ( void ) )
911911
*/
912912
#ifdef IPPCP_PREVIEW_LMS
913913
/* Parameters set is based on two articles:
914-
* RFC8554 (https://datatracker.ietf.org/doc/html/rfc8554)
914+
* RFC8554 (https://www.rfc-editor.org/info/rfc8554)
915915
* https://datatracker.ietf.org/doc/html/draft-fluhrer-lms-more-parm-sets-00
916916
*/
917917
typedef enum

0 commit comments

Comments
 (0)