Import Curve 448 support
authorMatt Caswell <matt@openssl.org>
Wed, 15 Nov 2017 15:27:21 +0000 (15:27 +0000)
committerMatt Caswell <matt@openssl.org>
Tue, 20 Feb 2018 12:59:29 +0000 (12:59 +0000)
commit7324473f893ef135693cf983b415f19a0366d539
tree035d94687c0c388941ecd798fdd82d4efddfbbf3
parentebc0168384e9bbc29c02b85adb01036609769761
Import Curve 448 support

This imports selected files from the src directory of this repository:

https://sourceforge.net/p/ed448goldilocks/code/ci/v0.9.4/tree/

This is from the version tagged as "v0.9.4" with commit id 7527e9.

This code was originally writting by Mike Hamburg and the import is done by
kind permission of Rambus and Mike Hamburg under CLA. As this is under CLA
the files are being relicensed under the OpenSSL licence. Subsequent
commits will correct any licence notices in the individual files.

These files should provide complete self-contained support for X448 and
Ed448. They are imported "as is" from the source repository and this
commit does not attempt to integrate them into the OpenSSL build system,
or modify them in any way to fit OpenSSL style guidelines. That will be
done by subsequent commits.

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/5105)
36 files changed:
crypto/ec/curve448/GENERATED/c/ed448goldilocks/decaf.c [new file with mode: 0644]
crypto/ec/curve448/GENERATED/c/ed448goldilocks/decaf_tables.c [new file with mode: 0644]
crypto/ec/curve448/GENERATED/c/ed448goldilocks/eddsa.c [new file with mode: 0644]
crypto/ec/curve448/GENERATED/c/ed448goldilocks/scalar.c [new file with mode: 0644]
crypto/ec/curve448/GENERATED/c/p448/f_field.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/c/p448/f_generic.c [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/common.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/ed448.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/point_255.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/point_448.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/sha512.h [new file with mode: 0644]
crypto/ec/curve448/GENERATED/include/decaf/shake.h [new file with mode: 0644]
crypto/ec/curve448/include/arch_32/arch_intrinsics.h [new file with mode: 0644]
crypto/ec/curve448/include/arch_arm_32/arch_intrinsics.h [new file with mode: 0644]
crypto/ec/curve448/include/arch_neon/arch_intrinsics.h [new file with mode: 0644]
crypto/ec/curve448/include/arch_ref64/arch_intrinsics.h [new file with mode: 0644]
crypto/ec/curve448/include/arch_x86_64/arch_intrinsics.h [new file with mode: 0644]
crypto/ec/curve448/include/constant_time.h [new file with mode: 0644]
crypto/ec/curve448/include/field.h [new file with mode: 0644]
crypto/ec/curve448/include/keccak_internal.h [new file with mode: 0644]
crypto/ec/curve448/include/portable_endian.h [new file with mode: 0644]
crypto/ec/curve448/include/word.h [new file with mode: 0644]
crypto/ec/curve448/p448/arch_32/f_impl.c [new file with mode: 0644]
crypto/ec/curve448/p448/arch_32/f_impl.h [new file with mode: 0644]
crypto/ec/curve448/p448/arch_arm_32/f_impl.c [new file with mode: 0644]
crypto/ec/curve448/p448/arch_arm_32/f_impl.h [new file with mode: 0644]
crypto/ec/curve448/p448/arch_neon/f_impl.c [new file with mode: 0644]
crypto/ec/curve448/p448/arch_neon/f_impl.h [new file with mode: 0644]
crypto/ec/curve448/p448/arch_ref64/f_impl.c [new file with mode: 0644]
crypto/ec/curve448/p448/arch_ref64/f_impl.h [new file with mode: 0644]
crypto/ec/curve448/p448/arch_x86_64/f_impl.c [new file with mode: 0644]
crypto/ec/curve448/p448/arch_x86_64/f_impl.h [new file with mode: 0644]
crypto/ec/curve448/p448/f_arithmetic.c [new file with mode: 0644]
crypto/ec/curve448/shake.c [new file with mode: 0644]
crypto/ec/curve448/utils.c [new file with mode: 0644]