Skip to content

Commit 7d6ac34

Browse files
author
ipl_ci
committed
WW23'24 source code update [dfa2adb4]
1 parent ea7cd15 commit 7d6ac34

File tree

143 files changed

+750
-730
lines changed

Some content is hidden

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

143 files changed

+750
-730
lines changed

BUILD.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,10 +213,10 @@ To build the Intel IPP Cryptography library on macOS\*, complete the following s
213213
- `-DPLATFORM_LIST="<platform list>"` - optional, works only if `-DMERGED_BLD:BOOL=off` is set. Sets target platforms for the code to be compiled. See the supported platforms list [here](./OVERVIEW.md).
214214

215215
- Example for Linux\* OS and the IA-32 architecture:
216-
`-DPLATFORM_LIST="w7;s8;p8;g9;h9"`
216+
`-DPLATFORM_LIST="m7;s8;p8;g9;h9"`
217217

218218
- Example for Linux\* OS and the Intel® 64 architecture:
219-
`-DPLATFORM_LIST="m7;n8;y8;e9;l9;k0;k1"`
219+
`-DPLATFORM_LIST="w7;n8;y8;e9;l9;k0"`
220220
- `-DNO_CRYPTO_MB:BOOL=TRUE` - optional, turns off the build of [Crypto Multi Buffer library](./sources/ippcp/crypto_mb/Readme.md) and, as a consequence, removes all dependencies on OpenSSL library.
221221
- `-DBABASSL:BOOL=on`, `-DBORINGSSL:BOOL=on` - required only if forks of OpenSSL library are used to resolve OpenSSL dependencies - Tongsuo and BoringSSL respectively. These flags make sense when [Crypto Multi Buffer library](./sources/ippcp/crypto_mb/Readme.md) is built.
222222
- `-DIPPCP_CUSTOM_BUILD="<CPU features list>"` - optional, works only if `-DMERGED_BLD:BOOL=off` is set, i.e. only for 1CPU libraries. Enables the CPU feature dispatching mask at compile-time based on the provided list.
@@ -239,6 +239,9 @@ To build the Intel IPP Cryptography library on macOS\*, complete the following s
239239

240240
- `-DMBX_FIPS_MODE:BOOL=on`: enables all FIPS-compliance changes in Crypto Multi-buffer Library.
241241
- `-DMBX_FIPS_MODE:BOOL=off`: default configuration. Crypto Multi-buffer Library build with such option is not FIPS-compliant.
242+
243+
- `-DFIPS_CUSTOM_IPPCP_API_HEADER=<redefined_ippcp_api.h>` - optional flag which allows to use FIPS self-tests with IPPCP API with a different prefix to support capabilities of the custom dispatcher generated by Custom Library Tool (Please, note that it is only intended for a very specific use case of [Custom Library](./OVERVIEW.md/#static-library-with-custom-functionality)).The header should contain redefinitions of IPPCP public API, e.g. `#define ippcpGetLibVersion custom_prefix_ippcpGetLibVersion`. The flag is applicable only when IPPCP FIPS mode is enabled (`-DIPPCP_FIPS_MODE:BOOL=on`).
244+
242245
### Windows\* OS
243246

244247
- `-G"<tool-chain-generator>"` - defines the native build system CMake will generate from the input files.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
This is a list of notable changes to Intel(R) IPP Cryptography, in reverse chronological order.
44

5+
## Intel(R) IPP Cryptography 2021.12.1
6+
- Added `FIPS_CUSTOM_IPPCP_API_HEADER` build flag to support FIPS self-tests for a specific use case when Custom Library Tool is used with custom prefix for IPPCP API.
7+
58
## Intel(R) IPP Cryptography 2021.12
69
- Added single-buffer implementation of Leighton-Micali Hash-Based Signatures(LMS) algorithm, verification part.
710
- Added support of Clang 16.0 compiler for Linux.

include/ippversion.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
#if !defined( IPPVERSION_H__ )
2727
#define IPPVERSION_H__
2828

29-
#define IPP_VERSION_MAJOR 1
30-
#define IPP_VERSION_MINOR 0
31-
#define IPP_VERSION_UPDATE 0
29+
#define IPP_VERSION_MAJOR 2021
30+
#define IPP_VERSION_MINOR 12
31+
#define IPP_VERSION_UPDATE 1
3232

3333
// Major interface version
34-
#define IPP_INTERFACE_VERSION_MAJOR 12
34+
#define IPP_INTERFACE_VERSION_MAJOR 11
3535
// Minor interface version
36-
#define IPP_INTERFACE_VERSION_MINOR 0
36+
#define IPP_INTERFACE_VERSION_MINOR 15
3737

3838
#define IPP_VERSION_STR STR(IPP_VERSION_MAJOR) "." STR(IPP_VERSION_MINOR) "." STR(IPP_VERSION_UPDATE) " (" STR(IPP_INTERFACE_VERSION_MAJOR) "." STR(IPP_INTERFACE_VERSION_MINOR) " )"
3939

sources/dispatcher/gen_disp_lin32.nonpic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
{FunName}:
108108
{endbr32}
109109
mov eax, dword [ippcpJumpIndexForMergedLibs]
110-
jmp dword [arraddr_{FunName} + eax*4]
110+
jmp dword [rel arraddr_{FunName} + eax*4]
111111
.LEnd{FunName}:
112112
""".format(FunName=FunName, size=size, endbr32='db 0xf3, 0x0f, 0x1e, 0xfb'))
113113
ASMDISP.close()

sources/include/fips_cert_internal/bn_common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
* \param[in] sgn sign of big number
3232
* \param[in] pdata pointer to integer big number
3333
* \param[in] data_word_len length of integer big number in 32bit size
34-
*
34+
*
3535
*/
36-
__IPPCP_INLINE IppStatus ippcp_init_set_bn(IppsBigNumState *pbn, int max_word_len,
36+
__INLINE IppStatus ippcp_init_set_bn(IppsBigNumState *pbn, int max_word_len,
3737
IppsBigNumSGN sgn, const Ipp32u *pdata, int data_word_len)
3838
{
3939
IppStatus sts;

sources/include/lms_internal/lmots.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ typedef struct {
5858
* Output parameters:
5959
* params LMOTS parameters (w, p, ls, n, hash_method)
6060
*/
61-
__IPPCP_INLINE IppStatus setLMOTSParams(IppsLMOTSAlgo lmotsOIDAlgo, cpLMOTSParams* params) {
61+
__INLINE IppStatus setLMOTSParams(IppsLMOTSAlgo lmotsOIDAlgo, cpLMOTSParams* params) {
6262
switch (lmotsOIDAlgo) {
6363
case LMOTS_SHA256_N32_W1: {
6464
params->w = 1;
@@ -134,11 +134,11 @@ __IPPCP_INLINE IppStatus setLMOTSParams(IppsLMOTSAlgo lmotsOIDAlgo, cpLMOTSParam
134134
* Target element of a specified length
135135
*
136136
*/
137-
__IPPCP_INLINE Ipp32u cpCoef(Ipp8u* S, Ipp32u i, Ipp32u w) {
137+
__INLINE Ipp32u cpCoef(Ipp8u* S, Ipp32u i, Ipp32u w) {
138138
return ((1 << w) - 1) & ( S[(i * w) / 8] >> (8 - (w * (i % (8 / w)) + w)));
139139
}
140140

141-
__IPPCP_INLINE Ipp32u cpCksm(Ipp8u* S, cpLMOTSParams lmotsParams) {
141+
__INLINE Ipp32u cpCksm(Ipp8u* S, cpLMOTSParams lmotsParams) {
142142
Ipp32u w = lmotsParams.w;
143143
Ipp32u n = lmotsParams.n;
144144
Ipp32u ls = lmotsParams.ls;

sources/include/lms_internal/lms.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ struct _cpLMSSignatureState {
8686
* Output parameters:
8787
* params LMS parameters (h, m, hash_method)
8888
*/
89-
__IPPCP_INLINE IppStatus setLMSParams(IppsLMSAlgo lmsOIDAlgo, cpLMSParams* params) {
89+
__INLINE IppStatus setLMSParams(IppsLMSAlgo lmsOIDAlgo, cpLMSParams* params) {
9090
/* Set h */
9191
switch (lmsOIDAlgo % 5) {
9292
case 0: { params->h = 5; break; } // LMS_SHA256_M32_H5 and LMS_SHA256_M24_H5

sources/include/owndefs.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@
3434
#include "ippcpdefs.h"
3535
#endif
3636

37-
#if !defined(__IPPCP_INLINE)
37+
#if !defined(__INLINE)
3838
#if defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) || defined(_MSC_VER)
39-
#define __IPPCP_INLINE static __inline
39+
#define __INLINE static __inline
4040
#elif defined( __GNUC__ )
41-
#define __IPPCP_INLINE static __inline__
41+
#define __INLINE static __inline__
4242
#else
43-
#define __IPPCP_INLINE static
43+
#define __INLINE static
4444
#endif
45-
#endif /*__IPPCP_INLINE*/
45+
#endif /*__INLINE*/
4646

4747
/* TODO: to check ICX compiler */
4848
#if !defined(__NOINLINE)
@@ -59,7 +59,7 @@
5959
#if defined(_MSC_VER)
6060
#define __FORCEINLINE __forceinline
6161
#elif defined(__INTEL_COMPILER) || defined(__INTEL_LLVM_COMPILER) || defined( __GNUC__ )
62-
#define __FORCEINLINE __IPPCP_INLINE __attribute__((always_inline))
62+
#define __FORCEINLINE __INLINE __attribute__((always_inline))
6363
#else
6464
#define __FORCEINLINE
6565
#endif
@@ -267,7 +267,7 @@
267267
#endif
268268

269269
#if ((_IPP_ARCH == _IPP_ARCH_IA32))
270-
__IPPCP_INLINE Ipp32s IPP_INT_PTR ( const void* ptr )
270+
__INLINE Ipp32s IPP_INT_PTR ( const void* ptr )
271271
{
272272
union {
273273
void* Ptr;
@@ -277,7 +277,7 @@ __IPPCP_INLINE Ipp32s IPP_INT_PTR ( const void* ptr )
277277
return dd.Int;
278278
}
279279

280-
__IPPCP_INLINE Ipp32u IPP_UINT_PTR( const void* ptr )
280+
__INLINE Ipp32u IPP_UINT_PTR( const void* ptr )
281281
{
282282
union {
283283
void* Ptr;
@@ -287,7 +287,7 @@ __IPPCP_INLINE Ipp32u IPP_UINT_PTR( const void* ptr )
287287
return dd.Int;
288288
}
289289
#elif ((_IPP_ARCH == _IPP_ARCH_EM64T) || (_IPP_ARCH == _IPP_ARCH_LRB2))
290-
__IPPCP_INLINE Ipp64s IPP_INT_PTR( const void* ptr )
290+
__INLINE Ipp64s IPP_INT_PTR( const void* ptr )
291291
{
292292
union {
293293
void* Ptr;
@@ -297,7 +297,7 @@ __IPPCP_INLINE Ipp64s IPP_INT_PTR( const void* ptr )
297297
return dd.Int;
298298
}
299299

300-
__IPPCP_INLINE Ipp64u IPP_UINT_PTR( const void* ptr )
300+
__INLINE Ipp64u IPP_UINT_PTR( const void* ptr )
301301
{
302302
union {
303303
void* Ptr;

sources/include/stateful_sig_common/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
* out resulted array of bytes
2626
*/
2727

28-
__IPPCP_INLINE void toByte(Ipp8u *out, Ipp32s outlen, Ipp32u in) {
28+
__INLINE void toByte(Ipp8u *out, Ipp32s outlen, Ipp32u in) {
2929
/* Iterate over out in decreasing order, for big-endianness. */
3030
for (Ipp32s i = outlen - 1; i >= 0; i--) {
3131
out[i] = (Ipp8u)(in & 0xff);

sources/include/xmss_internal/wots.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ IPP_OWN_DECL(IppStatus, WOTS_pkFromSig, (const Ipp8u* M, Ipp8u* sig, Ipp8u* pSee
6262
* adrs changed array of bytes
6363
*/
6464

65-
__IPPCP_INLINE void set_adrs_idx(Ipp8u* adrs, Ipp32u idx, int word_id){
65+
__INLINE void set_adrs_idx(Ipp8u* adrs, Ipp32u idx, int word_id){
6666
adrs[4 * word_id + 3] = (Ipp8u) idx & 0xff;
6767
adrs[4 * word_id + 2] = (Ipp8u)(idx >> 8) & 0xff;
6868
adrs[4 * word_id + 1] = (Ipp8u)(idx >> 16) & 0xff;
@@ -79,7 +79,7 @@ __IPPCP_INLINE void set_adrs_idx(Ipp8u* adrs, Ipp32u idx, int word_id){
7979
* word_id int32 idx in the adrs array
8080
*/
8181

82-
__IPPCP_INLINE Ipp8u set_adrs_1_byte(int word_id){
82+
__INLINE Ipp8u set_adrs_1_byte(int word_id){
8383
return (Ipp8u)(4 * word_id + 3);
8484
}
8585

@@ -90,7 +90,7 @@ __IPPCP_INLINE Ipp8u set_adrs_1_byte(int word_id){
9090
* x double precision floating point value
9191
*/
9292

93-
__IPPCP_INLINE Ipp32s cpCeil(double x) {
93+
__INLINE Ipp32s cpCeil(double x) {
9494
Ipp32s int_val = (Ipp32s) x;
9595
if(int_val == x || x <= 0.0){
9696
return int_val;

0 commit comments

Comments
 (0)