Skip to content

Commit 48d0e52

Browse files
author
ipl_ci
committed
Intel(R) Integrated Performance Primitives Cryptography 2021.7
1 parent 46944bd commit 48d0e52

File tree

1,430 files changed

+18134
-12933
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,430 files changed

+18134
-12933
lines changed

.clang-format

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11

22
#===============================================================================
3-
# Copyright 2022 Intel Corporation
3+
# Copyright (C) 2022 Intel Corporation
44
#
5-
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# Licensed under the Apache License, Version 2.0 (the 'License');
66
# you may not use this file except in compliance with the License.
77
# You may obtain a copy of the License at
8-
#
9-
# http://www.apache.org/licenses/LICENSE-2.0
10-
#
11-
# Unless required by applicable law or agreed to in writing, software
12-
# distributed under the License is distributed on an "AS IS" BASIS,
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an 'AS IS' BASIS,
1313
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14-
# See the License for the specific language governing permissions and
15-
# limitations under the License.
14+
# See the License for the specific language governing permissions
15+
# and limitations under the License.
16+
#
1617
#===============================================================================
1718

1819
BasedOnStyle: WebKit

BUILD.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ To build the Intel IPP Cryptography library on Windows* OS, complete the followi
149149

150150
The software was validated on:
151151

152-
- macOS\* 11.0
152+
- macOS\* 12.0
153153

154154
To build the Intel IPP Cryptography library on macOS*, complete the following steps:
155155

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
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.7
6+
- Mitigation for Frequency Throttling Side-Channel Attack ([Frequency Throttling Side Channel Software Guidance for Cryptography Implementations](https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/frequency-throttling-side-channel-guidance.html)) was added for ECB, CMAC and GCM modes of AES (for more details refer to ippsAESSetupNoise, ippsAES_GCMSetupNoise and ippsAES_CMACSetupNoise).
7+
- Crypto Multi-buffer library was extended with CCM and GCM modes of SM4 algorithm.
8+
- In Crypto Multi-buffer library in-place mode of executing (when pa_out == pa_inp) was fixed for SM4 CBC and CFB modes.
9+
- New API that updates pointer to IppsHashMethod context inside the IppsHashState_rmf state was added (please, refer to ippsHashStateMethodSet_ API).
10+
- ippsHMAC_Pack(_rmf), ippsHMAC_Unpack(_rmf) APIs were fixed - context id is set up properly now during the packing-unpacking process.
11+
512
## Intel(R) IPP Cryptography 2021.6
613
- EC cryptography functionality for the NIST curves p256r1, p384r1, p521r1 and SM2 curve was enabled with Intel® Advanced Vector Extensions 512 (Intel® AVX-512) IFMA instructions.
714
- EC cryptography functionality input parameters checking was improved by adding keys boundaries check.

CMakeLists.txt

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
#===============================================================================
2-
# Copyright 2017 Intel Corporation
2+
# 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
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing,
11+
# software 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 and
14-
# limitations under the License.
13+
# See the License for the specific language governing permissions
14+
# and limitations under the License.
15+
#
1516
#===============================================================================
1617

1718
#
@@ -182,6 +183,38 @@ else()
182183
message (STATUS "BUILD_EXAMPLES ........................ off")
183184
endif()
184185

186+
# Build with sanitizers
187+
set(SANITIZERS OFF)
188+
if(BUILD_WITH_SANITIZERS AND UNIX AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER_EQUAL "12.0.0")
189+
set(ASAN OFF)
190+
set(UBSAN OFF)
191+
set(MSAN OFF)
192+
if("${BUILD_WITH_SANITIZERS}" MATCHES "address")
193+
set(ASAN ON)
194+
list(APPEND PRINT_TYPES_OF_SANITIZERS_LIST "address")
195+
endif()
196+
if("${BUILD_WITH_SANITIZERS}" MATCHES "undefined")
197+
set(UBSAN ON)
198+
list(APPEND PRINT_TYPES_OF_SANITIZERS_LIST "undefined")
199+
endif()
200+
if("${BUILD_WITH_SANITIZERS}" MATCHES "memory")
201+
set(MSAN ON)
202+
list(APPEND PRINT_TYPES_OF_SANITIZERS_LIST "memory")
203+
endif()
204+
if((ASAN OR UBSAN) AND MSAN)
205+
message (FATAL_ERROR "Can not use address | undefined sanitizers with memory sanitizer")
206+
endif()
207+
if(ASAN OR UBSAN OR MSAN)
208+
set(SANITIZERS ON)
209+
endif()
210+
endif()
211+
if(SANITIZERS)
212+
list(JOIN PRINT_TYPES_OF_SANITIZERS_LIST "," PRINT_TYPES_OF_SANITIZERS_STRING)
213+
message (STATUS "BUILD_WITH_SANITIZERS ................. on (${PRINT_TYPES_OF_SANITIZERS_STRING})")
214+
else()
215+
message (STATUS "BUILD_WITH_SANITIZERS ................. off - use -DBUILD_WITH_SANITIZERS=[memory,address,undefined] with CLANG compiler to enable this option")
216+
endif(SANITIZERS)
217+
185218
if((UNIX) AND (NOT APPLE))
186219
set(LINUX ON)
187220
else()

examples/CMakeLists.txt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
#===============================================================================
2-
# Copyright 2019 Intel Corporation
2+
# Copyright (C) 2019 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
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing,
11+
# software 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 and
14-
# limitations under the License.
13+
# See the License for the specific language governing permissions
14+
# and limitations under the License.
15+
#
1516
#===============================================================================
1617

1718
#

examples/FindIPPCrypto.cmake

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
#===============================================================================
2-
# Copyright 2019 Intel Corporation
2+
# Copyright (C) 2019 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
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing,
11+
# software 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 and
14-
# limitations under the License.
13+
# See the License for the specific language governing permissions
14+
# and limitations under the License.
15+
#
1516
#===============================================================================
1617

1718
#

examples/aes/aes-256-ctr-decryption.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
/*******************************************************************************
2-
* Copyright 2019 Intel Corporation
2+
* Copyright (C) 2019 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
7-
*
8-
* http://www.apache.org/licenses/LICENSE-2.0
9-
*
10-
* Unless required by applicable law or agreed to in writing, software
11-
* distributed under the License is distributed on an "AS IS" BASIS,
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing,
11+
* software 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 and
14-
* limitations under the License.
13+
* See the License for the specific language governing permissions
14+
* and limitations under the License.
15+
*
1516
*******************************************************************************/
1617

1718
/*!

examples/aes/aes-256-ctr-encryption.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
/*******************************************************************************
2-
* Copyright 2019 Intel Corporation
2+
* Copyright (C) 2019 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
7-
*
8-
* http://www.apache.org/licenses/LICENSE-2.0
9-
*
10-
* Unless required by applicable law or agreed to in writing, software
11-
* distributed under the License is distributed on an "AS IS" BASIS,
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing,
11+
* software 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 and
14-
* limitations under the License.
13+
* See the License for the specific language governing permissions
14+
* and limitations under the License.
15+
*
1516
*******************************************************************************/
1617

1718
/*!

examples/dsa/categoryOptions.cmake

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
#===============================================================================
2-
# Copyright 2019 Intel Corporation
2+
# Copyright (C) 2019 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
7-
#
8-
# http://www.apache.org/licenses/LICENSE-2.0
9-
#
10-
# Unless required by applicable law or agreed to in writing, software
11-
# distributed under the License is distributed on an "AS IS" BASIS,
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing,
11+
# software 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 and
14-
# limitations under the License.
13+
# See the License for the specific language governing permissions
14+
# and limitations under the License.
15+
#
1516
#===============================================================================
1617

1718
set(dsa_CATEGORY_COMMON_SOURCES

examples/dsa/dsa-dlp-sha-1-verification.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
/*******************************************************************************
2-
* Copyright 2021 Intel Corporation
2+
* Copyright (C) 2021 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
7-
*
8-
* http://www.apache.org/licenses/LICENSE-2.0
9-
*
10-
* Unless required by applicable law or agreed to in writing, software
11-
* distributed under the License is distributed on an "AS IS" BASIS,
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing,
11+
* software 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 and
14-
* limitations under the License.
13+
* See the License for the specific language governing permissions
14+
* and limitations under the License.
15+
*
1516
*******************************************************************************/
1617

1718
/*!

0 commit comments

Comments
 (0)