intel / intel-ipsec-mb

Intel(R) Multi-Buffer Crypto for IPSec
BSD 3-Clause "New" or "Revised" License
292 stars 88 forks source link

Enable snow3g-uea2,snow3g-uia2 on aarch64 #87

Closed xffbai closed 2 years ago

xffbai commented 3 years ago

Description

This PR adds snow3g-uea2 ,snow3g-uia2 aarch64 implementations code into the library, also changes related Makefile scripts, test/perf tools' code for aarch64 architecture support.

Detailed change list at the last.

Affected parts

Motivation and Context

Intel-ipsec-mb is a popular and important library on multi-buffer crypto implementations, and we are planning to enable aarch64 architecture support to make the project more widely used. We plan to contribute from snow3g algorithms, and then zuc implementations.

From our earlier discussion, we understand that maintainers have limited bandwidth, and the reviewing of this big change is probably going to take a while, but we do want to get started, also it is really appreciated for any comments and suggestions.

How Has This Been Tested?

It can be compiled successfully, and passes the tests from ipsec_MB_testapp, ipsec_xvalid_test, also ipsec_perf works as expected on aarch64 machines.

test command example: ./ipsec_xvalid_test --aesni-emu --safe-check ./ipsec_xvalid_test --hash-algo snow3g-uia2 --cipher-algo snow3g-uea2 --aesni-emu --safe-check

This change does not affect the original behavior on x86 platforms.

Types of changes

Checklist:

Changelist

modified:

Makefile: change to support compilation on aarch64 test/: change to support snow3g-[uea2|uia2] tests on aarch64 perf/: change to support snow3g-[uea2|uia2] performance tests on aarch64 some header files: change to also support aarch64

added:

lib/aarch64: snow3g-[uea2|uia2] implementations for aarch64, including algorithms and related APIs.

tkanteck commented 2 years ago

We have considered your request, and we are not in a position to accommodate, unfortunately. We have a very small team of developers working on this project, and so we don’t have the time and resource for this. Also we noted that original copyrights should be preserved as the initial license states.