diff options
| author | jsing <> | 2025-06-28 12:51:08 +0000 |
|---|---|---|
| committer | jsing <> | 2025-06-28 12:51:08 +0000 |
| commit | 8d0be76398371402b3426575c7326b6e08b0e023 (patch) | |
| tree | 14ecedc525cce04fa76987431b4a2710b84b68f0 /src/lib/libcrypto/arch | |
| parent | 48723f4db60f6f8a8ad8424ffe5e0262d30f397c (diff) | |
| download | openbsd-8d0be76398371402b3426575c7326b6e08b0e023.tar.gz openbsd-8d0be76398371402b3426575c7326b6e08b0e023.tar.bz2 openbsd-8d0be76398371402b3426575c7326b6e08b0e023.zip | |
Provide accelerated SHA-1 for aarch64.
Provide an assembly implementation of SHA-1 for aarch64 using the ARM
Cryptographic Extension (CE). This results in around a 2x speed up for
larger block sizes.
ok tb@
Diffstat (limited to 'src/lib/libcrypto/arch')
| -rw-r--r-- | src/lib/libcrypto/arch/aarch64/Makefile.inc | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/arch/aarch64/crypto_arch.h | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/libcrypto/arch/aarch64/Makefile.inc b/src/lib/libcrypto/arch/aarch64/Makefile.inc index d93cb815ef..d1f22d87cd 100644 --- a/src/lib/libcrypto/arch/aarch64/Makefile.inc +++ b/src/lib/libcrypto/arch/aarch64/Makefile.inc | |||
| @@ -1,9 +1,11 @@ | |||
| 1 | # $OpenBSD: Makefile.inc,v 1.16 2025/03/12 14:13:41 jsing Exp $ | 1 | # $OpenBSD: Makefile.inc,v 1.17 2025/06/28 12:51:08 jsing Exp $ |
| 2 | 2 | ||
| 3 | # aarch64-specific libcrypto build rules | 3 | # aarch64-specific libcrypto build rules |
| 4 | 4 | ||
| 5 | SRCS += crypto_cpu_caps.c | 5 | SRCS += crypto_cpu_caps.c |
| 6 | 6 | ||
| 7 | SRCS += sha1_aarch64.c | ||
| 8 | SRCS += sha1_aarch64_ce.S | ||
| 7 | SRCS += sha256_aarch64.c | 9 | SRCS += sha256_aarch64.c |
| 8 | SRCS += sha256_aarch64_ce.S | 10 | SRCS += sha256_aarch64_ce.S |
| 9 | SRCS += sha512_aarch64.c | 11 | SRCS += sha512_aarch64.c |
diff --git a/src/lib/libcrypto/arch/aarch64/crypto_arch.h b/src/lib/libcrypto/arch/aarch64/crypto_arch.h index 35ecba9394..51c8d79e2d 100644 --- a/src/lib/libcrypto/arch/aarch64/crypto_arch.h +++ b/src/lib/libcrypto/arch/aarch64/crypto_arch.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: crypto_arch.h,v 1.4 2025/03/12 14:13:41 jsing Exp $ */ | 1 | /* $OpenBSD: crypto_arch.h,v 1.5 2025/06/28 12:51:08 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -35,6 +35,7 @@ extern uint64_t crypto_cpu_caps_aarch64; | |||
| 35 | 35 | ||
| 36 | #ifndef OPENSSL_NO_ASM | 36 | #ifndef OPENSSL_NO_ASM |
| 37 | 37 | ||
| 38 | #define HAVE_SHA1_BLOCK_DATA_ORDER | ||
| 38 | #define HAVE_SHA256_BLOCK_DATA_ORDER | 39 | #define HAVE_SHA256_BLOCK_DATA_ORDER |
| 39 | #define HAVE_SHA512_BLOCK_DATA_ORDER | 40 | #define HAVE_SHA512_BLOCK_DATA_ORDER |
| 40 | 41 | ||
