summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/arch
diff options
context:
space:
mode:
authorjsing <>2025-06-28 12:51:08 +0000
committerjsing <>2025-06-28 12:51:08 +0000
commit8d0be76398371402b3426575c7326b6e08b0e023 (patch)
tree14ecedc525cce04fa76987431b4a2710b84b68f0 /src/lib/libcrypto/arch
parent48723f4db60f6f8a8ad8424ffe5e0262d30f397c (diff)
downloadopenbsd-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.inc4
-rw-r--r--src/lib/libcrypto/arch/aarch64/crypto_arch.h3
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
5SRCS += crypto_cpu_caps.c 5SRCS += crypto_cpu_caps.c
6 6
7SRCS += sha1_aarch64.c
8SRCS += sha1_aarch64_ce.S
7SRCS += sha256_aarch64.c 9SRCS += sha256_aarch64.c
8SRCS += sha256_aarch64_ce.S 10SRCS += sha256_aarch64_ce.S
9SRCS += sha512_aarch64.c 11SRCS += 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