Skip to content

Commit 6881136

Browse files
author
ipl_ci
committed
Intel(R) Integrated Performance Primitives Cryptography 2021.10.0
1 parent 3c0ad55 commit 6881136

File tree

1,479 files changed

+23107
-17221
lines changed

Some content is hidden

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

1,479 files changed

+23107
-17221
lines changed

BUILD.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,12 +221,22 @@ To build the Intel IPP Cryptography library on macOS*, complete the following st
221221

222222
- Currently supported by the library custom features dispatching:
223223
1. Intel® Advanced Encryption Standard New Instructions (Intel® AES-NI) code-path enabling: `IPPCP_AES_ON;IPPCP_CLMUL_ON`
224-
2. Intel® Advanced Vector Extensions 512 (Intel(R) AVX-512) and vector extensions of Intel(R) AES New Instructions (Intel(R) AES-NI) code-path enabling: `IPPCP_VAES_ON;IPPCP_VCLMUL_ON`
224+
2. Intel® Advanced Vector Extensions 512 (Intel® AVX-512) / Intel® Advanced Vector Extensions 2 (Intel® AVX2) vector extensions of Intel® AES New Instructions (Intel® AES-NI) code-paths enabling: `IPPCP_VAES_ON;IPPCP_VCLMUL_ON`.
225225
- Example:
226-
`-DPLATFORM_LIST="IPPCP_AES_ON;IPPCP_CLMUL_ON"` - this combination enables Intel® AES-NI in all 1CPU libraries, which contains this code path.
226+
`-DIPPCP_CUSTOM_BUILD="IPPCP_AES_ON;IPPCP_CLMUL_ON"` - this combination enables Intel® AES-NI in all 1CPU libraries, which contains this code path.
227227
- Example of using a combination of CPU features:
228-
`-DPLATFORM_LIST="IPPCP_AES_ON;IPPCP_CLMUL_ON;IPPCP_VAES_ON;IPPCP_VCLMUL_ON"` - in this combination the highest available feature in each 1CPU library will be enabled (e.g. for `"y8"` it’s Intel® AES-NI and for `"k1"` - Intel AVX-512 VAES)
229-
228+
`-DIPPCP_CUSTOM_BUILD="IPPCP_AES_ON;IPPCP_CLMUL_ON;IPPCP_VAES_ON;IPPCP_VCLMUL_ON"` - in this combination the highest available feature in each 1CPU library will be enabled (e.g. for `"y8"` it’s Intel® AES-NI, for `"l9"` it's Intel® AVX2 VAES, and for `"k1"` - Intel® AVX-512 VAES)
229+
- `-DIPPCP_FIPS_MODE:BOOL=<on|off>` - optional. Regulates the build of FIPS-compliant Intel IPP Cryptography library.
230+
231+
- `-DIPPCP_FIPS_MODE:BOOL=on`: enables all FIPS-compliance changes in Intel IPP Cryptography library.
232+
- `-DIPPCP_FIPS_MODE:BOOL=off`: default configuration. Intel IPP Cryptography library build with such option is not FIPS-compliant.
233+
- `-DIPPCP_SELFTEST_USE_MALLOC:BOOL=<on|off>` - optional. Enables internal memory allocation and release using `malloc()` and `free()` functions inside Intel IPP Cryptography library selftests.
234+
- `-DIPPCP_SELFTEST_USE_MALLOC:BOOL=on`: memory management is held by FIPS selftests, all processing APIs should be called with input parameters equal to `NULL`.
235+
- `-DIPPCP_SELFTEST_USE_MALLOC:BOOL=off`: default configuration. Memory management is held by customer's application, all processing APIs should be called with work buffers of the valid length.
236+
- `-DMBX_FIPS_MODE:BOOL=<on|off>` - optional. Regulates the build of FIPS-compliant Crypto Multi-buffer Library.
237+
238+
- `-DMBX_FIPS_MODE:BOOL=on`: enables all FIPS-compliance changes in Crypto Multi-buffer Library.
239+
- `-DMBX_FIPS_MODE:BOOL=off`: default configuration. Crypto Multi-buffer Library build with such option is not FIPS-compliant.
230240
### Windows\* OS
231241

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

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
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.10
6+
- Added the verification part of eXtended Merkle Signature Scheme (XMSS) algorithm.
7+
- Added FIPS-compliance mode for the library. More information can be found in the [Intel(R) IPP Cryptography FIPS Guide](./README_FIPS.md).
8+
59
## Intel(R) IPP Cryptography 2021.9
610
- Added optimized RSA-2048 code for multi-buffer (8 buffers) Intel® AVX-512 implementation.
711
- Added Intel® Advanced Vector Extensions 2 (Intel® AVX2) vector extensions of Intel® AES New Instructions (Intel® AES-NI) optimization for AES-GCM algorithm.

CMakeLists.txt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
#===============================================================================
1+
#=========================================================================
22
# Copyright (C) 2017 Intel Corporation
33
#
4-
# Licensed under the Apache License, Version 2.0 (the 'License');
4+
# Licensed under the Apache License, Version 2.0 (the "License");
55
# you may not use this file except in compliance with the License.
66
# You may obtain a copy of the License at
77
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
8+
# http://www.apache.org/licenses/LICENSE-2.0
99
#
10-
# Unless required by applicable law or agreed to in writing,
11-
# software distributed under the License is distributed on an 'AS IS' BASIS,
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
1212
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
# See the License for the specific language governing permissions
14-
# and limitations under the License.
15-
#
16-
#===============================================================================
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#=========================================================================
1716

1817
#
1918
# Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography)

OVERVIEW.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ List of CPU feature subsets that the library has special optimizations for:
103103
- RDRAND
104104
- RDSEED
105105
- CLMUL
106-
- Intel AVX-512 VAES
106+
- Intel AVX-512/AVX2 VAES
107107
- Intel AVX-512 IFMA
108108
- Intel AVX-512 GFNI
109109

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[Build Instructions](./BUILD.md) | [Contributing Guide](#how-to-contribute) | [Documentation](#documentation) | [Get Help](#get-help) | [Intel IPP Product Page](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html)
44

5-
Intel® Integrated Performance Primitives (Intel® IPP) Cryptography is a secure, fast and lightweight library of building blocks for cryptography, highly-optimized for various Intel® CPUs.
5+
Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) is a secure, fast and lightweight library of building blocks for cryptography, highly-optimized for various Intel® CPUs.
66

77
## Key Features
88
The library provides a comprehensive set of routines commonly used for cryptographic operations, including:
@@ -41,6 +41,11 @@ The library provides a comprehensive set of routines commonly used for cryptogra
4141
- Kernel mode compatibility
4242
- Thread-safe design
4343

44+
## FIPS 140 Compliance
45+
46+
Intel IPP Cryptography supports building blocks (self-tests, services) for FIPS 140-3 compliance.
47+
See [FIPS] (./README_FIPS.md) document for details.
48+
4449
## Installation
4550

4651
[How to Get and Build the Intel IPP Cryptography Library](./BUILD.md)

0 commit comments

Comments
 (0)