import rust-ring, a port that bundles the source of the ring crate patched

to work with OpenBSD's execute only policy.

discussed with semarie, sthen
This commit is contained in:
tb 2023-01-18 12:56:09 +00:00
parent 5d8efff1a6
commit a77e85a62e
20 changed files with 758 additions and 0 deletions

View File

@ -0,0 +1,29 @@
COMMENT = ring crate source patched for x-only assembly
VERSION = 0.16.20
DISTNAME = ring-${VERSION}
MASTER_SITES = https://crates.io/api/v1/crates/
DISTFILES += cargo/${DISTNAME}.tar.gz{ring/${VERSION}/download}
CATEGORIES = security
MAINTAINER = Theo Buehler <tb@openbsd.org>
# ISC, OpenSSL
PERMIT_PACKAGE = Yes
PATCHORIG = .patch.orig
NO_BUILD = Yes
NO_TEST = Yes
RING_SOURCE_DIR = ${PREFIX}/share/ring-${VERSION}
do-install:
${INSTALL_DATA_DIR} ${RING_SOURCE_DIR}
cd ${WRKSRC} && \
pax -rw -s '/^.*${PATCHORIG}$$//' . ${RING_SOURCE_DIR}
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (cargo/ring-0.16.20.tar.gz) = MFPPUuI2o+10bfx0WqnKzxt5HYRr2vQS9gqNfW4XyPw=
SIZE (cargo/ring-0.16.20.tar.gz) = 5082615

View File

@ -0,0 +1,19 @@
Index: crypto/chacha/asm/chacha-x86_64.pl
--- crypto/chacha/asm/chacha-x86_64.pl.orig
+++ crypto/chacha/asm/chacha-x86_64.pl
@@ -78,6 +78,7 @@ $code.=<<___;
.extern GFp_ia32cap_P
+.rodata
.align 64
.Lzero:
.long 0,0,0,0
@@ -107,6 +108,7 @@ $code.=<<___;
.Lsixteen:
.long 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
.asciz "ChaCha20 for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
+.previous
___
sub AUTOLOAD() # thunk [simplified] 32-bit style perlasm

View File

@ -0,0 +1,19 @@
Index: crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl
--- crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl.orig
+++ crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl
@@ -42,6 +42,7 @@ $code.=<<___;
chacha20_poly1305_constants:
+.rodata
.align 64
.Lchacha20_consts:
.byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
@@ -79,6 +80,7 @@ chacha20_poly1305_constants:
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
+.previous
___
my ($oup,$inp,$inl,$adp,$keyp,$itr1,$itr2,$adl)=("%rdi","%rsi","%rbx","%rcx","%r9","%rcx","%r8","%r8");

View File

@ -0,0 +1,19 @@
Index: crypto/fipsmodule/aes/asm/aesni-x86_64.pl
--- crypto/fipsmodule/aes/asm/aesni-x86_64.pl.orig
+++ crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -1495,6 +1495,7 @@ ___
}
$code.=<<___;
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -1515,6 +1516,7 @@ $code.=<<___;
.asciz "AES for Intel AES-NI, CRYPTOGAMS by <appro\@openssl.org>"
.align 64
+.previous
___
# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,

View File

@ -0,0 +1,17 @@
Index: crypto/fipsmodule/bn/asm/x86_64-mont5.pl
--- crypto/fipsmodule/bn/asm/x86_64-mont5.pl.orig
+++ crypto/fipsmodule/bn/asm/x86_64-mont5.pl
@@ -3731,11 +3731,13 @@ $code.=<<___;
___
}
$code.=<<___;
+.rodata
.align 64
.Linc:
.long 0,0, 1,1
.long 2,2, 2,2
.asciz "Montgomery Multiplication with scatter/gather for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
+.previous
___
# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,

View File

@ -0,0 +1,19 @@
Index: crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
--- crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl.orig
+++ crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
@@ -62,6 +62,7 @@ $code.=<<___;
.extern GFp_ia32cap_P
# The polynomial
+.rodata
.align 64
.Lpoly:
.quad 0xffffffffffffffff, 0x00000000ffffffff, 0x0000000000000000, 0xffffffff00000001
@@ -80,6 +81,7 @@ $code.=<<___;
.quad 0xf3b9cac2fc632551, 0xbce6faada7179e84, 0xffffffffffffffff, 0xffffffff00000000
.LordK:
.quad 0xccd1c8aaee00bc4f
+.previous
___
{

View File

@ -0,0 +1,19 @@
Index: crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl
--- crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl.orig
+++ crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl
@@ -978,6 +978,7 @@ $code.=<<___;
___
$code.=<<___;
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -991,6 +992,7 @@ $code.=<<___;
.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.asciz "AES-NI GCM module for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
.align 64
+.previous
___
if ($win64) {
$rec="%rcx";

View File

@ -0,0 +1,19 @@
Index: crypto/fipsmodule/modes/asm/ghash-x86_64.pl
--- crypto/fipsmodule/modes/asm/ghash-x86_64.pl.orig
+++ crypto/fipsmodule/modes/asm/ghash-x86_64.pl
@@ -1264,6 +1264,7 @@ ___
}
$code.=<<___;
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -1275,6 +1276,7 @@ $code.=<<___;
.asciz "GHASH for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
.align 64
+.previous
___
if ($win64) {

View File

@ -0,0 +1,31 @@
Index: crypto/fipsmodule/sha/asm/sha512-x86_64.pl
--- crypto/fipsmodule/sha/asm/sha512-x86_64.pl.orig
+++ crypto/fipsmodule/sha/asm/sha512-x86_64.pl
@@ -409,6 +409,7 @@ ___
if ($SZ==4) {
$code.=<<___;
+.rodata
.align 64
.type $TABLE,\@object
$TABLE:
@@ -452,9 +453,11 @@ $TABLE:
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
.asciz "SHA256 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
+.previous
___
} else {
$code.=<<___;
+.rodata
.align 64
.type $TABLE,\@object
$TABLE:
@@ -542,6 +545,7 @@ $TABLE:
.quad 0x0001020304050607,0x08090a0b0c0d0e0f
.quad 0x0001020304050607,0x08090a0b0c0d0e0f
.asciz "SHA512 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
+.previous
___
}

View File

@ -0,0 +1,19 @@
Index: pregenerated/aesni-gcm-x86_64-elf.S
--- pregenerated/aesni-gcm-x86_64-elf.S.orig
+++ pregenerated/aesni-gcm-x86_64-elf.S
@@ -827,6 +827,7 @@ GFp_aesni_gcm_encrypt:
.byte 0xf3,0xc3
.cfi_endproc
.size GFp_aesni_gcm_encrypt,.-GFp_aesni_gcm_encrypt
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -839,6 +840,7 @@ GFp_aesni_gcm_encrypt:
.Lone_lsb:
.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108,101,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.previous
.align 64
#endif
.section .note.GNU-stack,"",@progbits

View File

@ -0,0 +1,18 @@
Index: pregenerated/aesni-x86_64-elf.S
--- pregenerated/aesni-x86_64-elf.S.orig
+++ pregenerated/aesni-x86_64-elf.S
@@ -1157,6 +1157,7 @@ __aesni_set_encrypt_key:
.byte 0xf3,0xc3
.size GFp_aes_hw_set_encrypt_key,.-GFp_aes_hw_set_encrypt_key
.size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -1177,5 +1178,6 @@ __aesni_set_encrypt_key:
.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
.align 64
+.previous
#endif
.section .note.GNU-stack,"",@progbits

View File

@ -0,0 +1,19 @@
Index: pregenerated/chacha-x86_64-elf.S
--- pregenerated/chacha-x86_64-elf.S.orig
+++ pregenerated/chacha-x86_64-elf.S
@@ -13,6 +13,7 @@
.extern GFp_ia32cap_P
.hidden GFp_ia32cap_P
+.rodata
.align 64
.Lzero:
.long 0,0,0,0
@@ -42,6 +43,7 @@
.Lsixteen:
.long 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
.byte 67,104,97,67,104,97,50,48,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.previous
.globl GFp_ChaCha20_ctr32
.hidden GFp_ChaCha20_ctr32
.type GFp_ChaCha20_ctr32,@function

View File

@ -0,0 +1,19 @@
Index: pregenerated/chacha20_poly1305_x86_64-elf.S
--- pregenerated/chacha20_poly1305_x86_64-elf.S.orig
+++ pregenerated/chacha20_poly1305_x86_64-elf.S
@@ -14,6 +14,7 @@
chacha20_poly1305_constants:
+.rodata
.align 64
.Lchacha20_consts:
.byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
@@ -51,6 +52,7 @@ chacha20_poly1305_constants:
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00
.byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
+.previous
.type poly_hash_ad_internal,@function
.align 64

View File

@ -0,0 +1,18 @@
Index: pregenerated/ghash-x86_64-elf.S
--- pregenerated/ghash-x86_64-elf.S.orig
+++ pregenerated/ghash-x86_64-elf.S
@@ -1100,6 +1100,7 @@ GFp_gcm_ghash_avx:
.byte 0xf3,0xc3
.cfi_endproc
.size GFp_gcm_ghash_avx,.-GFp_gcm_ghash_avx
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
@@ -1111,5 +1112,6 @@ GFp_gcm_ghash_avx:
.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
.align 64
+.previous
#endif
.section .note.GNU-stack,"",@progbits

View File

@ -0,0 +1,21 @@
Index: pregenerated/p256-x86_64-asm-elf.S
--- pregenerated/p256-x86_64-asm-elf.S.orig
+++ pregenerated/p256-x86_64-asm-elf.S
@@ -12,7 +12,7 @@
.extern GFp_ia32cap_P
.hidden GFp_ia32cap_P
-
+.rodata
.align 64
.Lpoly:
.quad 0xffffffffffffffff, 0x00000000ffffffff, 0x0000000000000000, 0xffffffff00000001
@@ -31,7 +31,7 @@
.quad 0xf3b9cac2fc632551, 0xbce6faada7179e84, 0xffffffffffffffff, 0xffffffff00000000
.LordK:
.quad 0xccd1c8aaee00bc4f
-
+.previous
.globl GFp_nistz256_add

View File

@ -0,0 +1,19 @@
Index: pregenerated/sha512-x86_64-elf.S
--- pregenerated/sha512-x86_64-elf.S.orig
+++ pregenerated/sha512-x86_64-elf.S
@@ -1733,6 +1733,7 @@ GFp_sha512_block_data_order:
.byte 0xf3,0xc3
.cfi_endproc
.size GFp_sha512_block_data_order,.-GFp_sha512_block_data_order
+.rodata
.align 64
.type K512,@object
K512:
@@ -1820,6 +1821,7 @@ K512:
.quad 0x0001020304050607,0x08090a0b0c0d0e0f
.quad 0x0001020304050607,0x08090a0b0c0d0e0f
.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.previous
.type GFp_sha512_block_data_order_avx,@function
.align 64
GFp_sha512_block_data_order_avx:

View File

@ -0,0 +1,16 @@
Index: pregenerated/x86_64-mont5-elf.S
--- pregenerated/x86_64-mont5-elf.S.orig
+++ pregenerated/x86_64-mont5-elf.S
@@ -3777,10 +3777,12 @@ GFp_bn_gather5:
.LSEH_end_GFp_bn_gather5:
.cfi_endproc
.size GFp_bn_gather5,.-GFp_bn_gather5
+.rodata
.align 64
.Linc:
.long 0,0, 1,1
.long 2,2, 2,2
.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115,99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
+.previous
#endif
.section .note.GNU-stack,"",@progbits

View File

@ -0,0 +1,2 @@
Bundles the source of the ring crate patched to work with OpenBSD's
execute only policy.

View File

@ -0,0 +1,414 @@
share/ring-0.16.20/
share/ring-0.16.20/Cargo.toml
share/ring-0.16.20/Cargo.toml.orig
share/ring-0.16.20/LICENSE
share/ring-0.16.20/build.rs
share/ring-0.16.20/crypto/
share/ring-0.16.20/crypto/chacha/
share/ring-0.16.20/crypto/chacha/asm/
share/ring-0.16.20/crypto/chacha/asm/chacha-armv4.pl
share/ring-0.16.20/crypto/chacha/asm/chacha-armv8.pl
share/ring-0.16.20/crypto/chacha/asm/chacha-x86.pl
share/ring-0.16.20/crypto/chacha/asm/chacha-x86_64.pl
share/ring-0.16.20/crypto/cipher_extra/
share/ring-0.16.20/crypto/cipher_extra/asm/
share/ring-0.16.20/crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl
share/ring-0.16.20/crypto/constant_time_test.c
share/ring-0.16.20/crypto/cpu-intel.c
share/ring-0.16.20/crypto/crypto.c
share/ring-0.16.20/crypto/curve25519/
share/ring-0.16.20/crypto/curve25519/asm/
share/ring-0.16.20/crypto/curve25519/asm/x25519-asm-arm.S
share/ring-0.16.20/crypto/curve25519/curve25519.c
share/ring-0.16.20/crypto/curve25519/curve25519_tables.h
share/ring-0.16.20/crypto/curve25519/internal.h
share/ring-0.16.20/crypto/fipsmodule/
share/ring-0.16.20/crypto/fipsmodule/aes/
share/ring-0.16.20/crypto/fipsmodule/aes/aes_nohw.c
share/ring-0.16.20/crypto/fipsmodule/aes/asm/
share/ring-0.16.20/crypto/fipsmodule/aes/asm/aesni-x86.pl
share/ring-0.16.20/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
share/ring-0.16.20/crypto/fipsmodule/aes/asm/aesv8-armx.pl
share/ring-0.16.20/crypto/fipsmodule/aes/asm/bsaes-armv7.pl
share/ring-0.16.20/crypto/fipsmodule/aes/asm/vpaes-x86.pl
share/ring-0.16.20/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
share/ring-0.16.20/crypto/fipsmodule/bn/
share/ring-0.16.20/crypto/fipsmodule/bn/asm/
share/ring-0.16.20/crypto/fipsmodule/bn/asm/armv4-mont.pl
share/ring-0.16.20/crypto/fipsmodule/bn/asm/armv8-mont.pl
share/ring-0.16.20/crypto/fipsmodule/bn/asm/x86-mont.pl
share/ring-0.16.20/crypto/fipsmodule/bn/asm/x86_64-mont.pl
share/ring-0.16.20/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
share/ring-0.16.20/crypto/fipsmodule/bn/internal.h
share/ring-0.16.20/crypto/fipsmodule/bn/montgomery.c
share/ring-0.16.20/crypto/fipsmodule/bn/montgomery_inv.c
share/ring-0.16.20/crypto/fipsmodule/ec/
share/ring-0.16.20/crypto/fipsmodule/ec/asm/
share/ring-0.16.20/crypto/fipsmodule/ec/asm/ecp_nistz256-armv4.pl
share/ring-0.16.20/crypto/fipsmodule/ec/asm/ecp_nistz256-armv8.pl
share/ring-0.16.20/crypto/fipsmodule/ec/asm/ecp_nistz256-x86.pl
share/ring-0.16.20/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz.c
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz.h
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz256.c
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz256.h
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz256_table.inl
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz384.h
share/ring-0.16.20/crypto/fipsmodule/ec/ecp_nistz384.inl
share/ring-0.16.20/crypto/fipsmodule/ec/gfp_p256.c
share/ring-0.16.20/crypto/fipsmodule/ec/gfp_p384.c
share/ring-0.16.20/crypto/fipsmodule/ecdsa/
share/ring-0.16.20/crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt
share/ring-0.16.20/crypto/fipsmodule/modes/
share/ring-0.16.20/crypto/fipsmodule/modes/asm/
share/ring-0.16.20/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl
share/ring-0.16.20/crypto/fipsmodule/modes/asm/ghash-armv4.pl
share/ring-0.16.20/crypto/fipsmodule/modes/asm/ghash-x86.pl
share/ring-0.16.20/crypto/fipsmodule/modes/asm/ghash-x86_64.pl
share/ring-0.16.20/crypto/fipsmodule/modes/asm/ghashv8-armx.pl
share/ring-0.16.20/crypto/fipsmodule/sha/
share/ring-0.16.20/crypto/fipsmodule/sha/asm/
share/ring-0.16.20/crypto/fipsmodule/sha/asm/sha256-armv4.pl
share/ring-0.16.20/crypto/fipsmodule/sha/asm/sha512-armv4.pl
share/ring-0.16.20/crypto/fipsmodule/sha/asm/sha512-armv8.pl
share/ring-0.16.20/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
share/ring-0.16.20/crypto/internal.h
share/ring-0.16.20/crypto/limbs/
share/ring-0.16.20/crypto/limbs/limbs.c
share/ring-0.16.20/crypto/limbs/limbs.h
share/ring-0.16.20/crypto/limbs/limbs.inl
share/ring-0.16.20/crypto/mem.c
share/ring-0.16.20/crypto/perlasm/
share/ring-0.16.20/crypto/perlasm/arm-xlate.pl
share/ring-0.16.20/crypto/perlasm/x86_64-xlate.pl
share/ring-0.16.20/crypto/perlasm/x86asm.pl
share/ring-0.16.20/crypto/perlasm/x86gas.pl
share/ring-0.16.20/crypto/perlasm/x86nasm.pl
share/ring-0.16.20/crypto/poly1305/
share/ring-0.16.20/crypto/poly1305/internal.h
share/ring-0.16.20/crypto/poly1305/poly1305.c
share/ring-0.16.20/crypto/poly1305/poly1305_arm.c
share/ring-0.16.20/crypto/poly1305/poly1305_arm_asm.S
share/ring-0.16.20/crypto/poly1305/poly1305_vec.c
share/ring-0.16.20/doc/
share/ring-0.16.20/doc/link-to-readme.md
share/ring-0.16.20/include/
share/ring-0.16.20/include/GFp/
share/ring-0.16.20/include/GFp/aes.h
share/ring-0.16.20/include/GFp/arm_arch.h
share/ring-0.16.20/include/GFp/base.h
share/ring-0.16.20/include/GFp/check.h
share/ring-0.16.20/include/GFp/cpu.h
share/ring-0.16.20/include/GFp/mem.h
share/ring-0.16.20/include/GFp/poly1305.h
share/ring-0.16.20/include/GFp/type_check.h
share/ring-0.16.20/modcargo-crates/
share/ring-0.16.20/pregenerated/
share/ring-0.16.20/pregenerated/aesni-gcm-x86_64-elf.S
share/ring-0.16.20/pregenerated/aesni-gcm-x86_64-macosx.S
share/ring-0.16.20/pregenerated/aesni-gcm-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/aesni-x86-elf.S
share/ring-0.16.20/pregenerated/aesni-x86-macosx.S
share/ring-0.16.20/pregenerated/aesni-x86-win32n.obj
share/ring-0.16.20/pregenerated/aesni-x86_64-elf.S
share/ring-0.16.20/pregenerated/aesni-x86_64-macosx.S
share/ring-0.16.20/pregenerated/aesni-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/aesv8-armx-ios32.S
share/ring-0.16.20/pregenerated/aesv8-armx-ios64.S
share/ring-0.16.20/pregenerated/aesv8-armx-linux32.S
share/ring-0.16.20/pregenerated/aesv8-armx-linux64.S
share/ring-0.16.20/pregenerated/armv4-mont-ios32.S
share/ring-0.16.20/pregenerated/armv4-mont-linux32.S
share/ring-0.16.20/pregenerated/armv8-mont-ios64.S
share/ring-0.16.20/pregenerated/armv8-mont-linux64.S
share/ring-0.16.20/pregenerated/bsaes-armv7-ios32.S
share/ring-0.16.20/pregenerated/bsaes-armv7-linux32.S
share/ring-0.16.20/pregenerated/chacha-armv4-ios32.S
share/ring-0.16.20/pregenerated/chacha-armv4-linux32.S
share/ring-0.16.20/pregenerated/chacha-armv8-ios64.S
share/ring-0.16.20/pregenerated/chacha-armv8-linux64.S
share/ring-0.16.20/pregenerated/chacha-x86-elf.S
share/ring-0.16.20/pregenerated/chacha-x86-macosx.S
share/ring-0.16.20/pregenerated/chacha-x86-win32n.obj
share/ring-0.16.20/pregenerated/chacha-x86_64-elf.S
share/ring-0.16.20/pregenerated/chacha-x86_64-macosx.S
share/ring-0.16.20/pregenerated/chacha-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/chacha20_poly1305_x86_64-elf.S
share/ring-0.16.20/pregenerated/chacha20_poly1305_x86_64-macosx.S
share/ring-0.16.20/pregenerated/chacha20_poly1305_x86_64-nasm.obj
share/ring-0.16.20/pregenerated/ecp_nistz256-armv4-ios32.S
share/ring-0.16.20/pregenerated/ecp_nistz256-armv4-linux32.S
share/ring-0.16.20/pregenerated/ecp_nistz256-armv8-ios64.S
share/ring-0.16.20/pregenerated/ecp_nistz256-armv8-linux64.S
share/ring-0.16.20/pregenerated/ecp_nistz256-x86-elf.S
share/ring-0.16.20/pregenerated/ecp_nistz256-x86-macosx.S
share/ring-0.16.20/pregenerated/ecp_nistz256-x86-win32n.obj
share/ring-0.16.20/pregenerated/ghash-armv4-ios32.S
share/ring-0.16.20/pregenerated/ghash-armv4-linux32.S
share/ring-0.16.20/pregenerated/ghash-neon-armv8-ios64.S
share/ring-0.16.20/pregenerated/ghash-neon-armv8-linux64.S
share/ring-0.16.20/pregenerated/ghash-x86-elf.S
share/ring-0.16.20/pregenerated/ghash-x86-macosx.S
share/ring-0.16.20/pregenerated/ghash-x86-win32n.obj
share/ring-0.16.20/pregenerated/ghash-x86_64-elf.S
share/ring-0.16.20/pregenerated/ghash-x86_64-macosx.S
share/ring-0.16.20/pregenerated/ghash-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/ghashv8-armx-ios32.S
share/ring-0.16.20/pregenerated/ghashv8-armx-ios64.S
share/ring-0.16.20/pregenerated/ghashv8-armx-linux32.S
share/ring-0.16.20/pregenerated/ghashv8-armx-linux64.S
share/ring-0.16.20/pregenerated/p256-x86_64-asm-elf.S
share/ring-0.16.20/pregenerated/p256-x86_64-asm-macosx.S
share/ring-0.16.20/pregenerated/p256-x86_64-asm-nasm.obj
share/ring-0.16.20/pregenerated/sha256-armv4-ios32.S
share/ring-0.16.20/pregenerated/sha256-armv4-linux32.S
share/ring-0.16.20/pregenerated/sha256-armv8-ios64.S
share/ring-0.16.20/pregenerated/sha256-armv8-linux64.S
share/ring-0.16.20/pregenerated/sha256-x86_64-elf.S
share/ring-0.16.20/pregenerated/sha256-x86_64-macosx.S
share/ring-0.16.20/pregenerated/sha256-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/sha512-armv4-ios32.S
share/ring-0.16.20/pregenerated/sha512-armv4-linux32.S
share/ring-0.16.20/pregenerated/sha512-armv8-ios64.S
share/ring-0.16.20/pregenerated/sha512-armv8-linux64.S
share/ring-0.16.20/pregenerated/sha512-x86_64-elf.S
share/ring-0.16.20/pregenerated/sha512-x86_64-macosx.S
share/ring-0.16.20/pregenerated/sha512-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/tmp/
share/ring-0.16.20/pregenerated/tmp/aesni-gcm-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/aesni-x86-win32n.asm
share/ring-0.16.20/pregenerated/tmp/aesni-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/chacha-x86-win32n.asm
share/ring-0.16.20/pregenerated/tmp/chacha-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/chacha20_poly1305_x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/ecp_nistz256-x86-win32n.asm
share/ring-0.16.20/pregenerated/tmp/ghash-x86-win32n.asm
share/ring-0.16.20/pregenerated/tmp/ghash-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/p256-x86_64-asm-nasm.asm
share/ring-0.16.20/pregenerated/tmp/sha256-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/sha512-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/vpaes-x86-win32n.asm
share/ring-0.16.20/pregenerated/tmp/vpaes-x86_64-nasm.asm
share/ring-0.16.20/pregenerated/tmp/x86-mont-win32n.asm
share/ring-0.16.20/pregenerated/tmp/x86_64-mont-nasm.asm
share/ring-0.16.20/pregenerated/tmp/x86_64-mont5-nasm.asm
share/ring-0.16.20/pregenerated/vpaes-armv7-ios32.S
share/ring-0.16.20/pregenerated/vpaes-armv7-linux32.S
share/ring-0.16.20/pregenerated/vpaes-armv8-ios64.S
share/ring-0.16.20/pregenerated/vpaes-armv8-linux64.S
share/ring-0.16.20/pregenerated/vpaes-x86-elf.S
share/ring-0.16.20/pregenerated/vpaes-x86-macosx.S
share/ring-0.16.20/pregenerated/vpaes-x86-win32n.obj
share/ring-0.16.20/pregenerated/vpaes-x86_64-elf.S
share/ring-0.16.20/pregenerated/vpaes-x86_64-macosx.S
share/ring-0.16.20/pregenerated/vpaes-x86_64-nasm.obj
share/ring-0.16.20/pregenerated/x86-mont-elf.S
share/ring-0.16.20/pregenerated/x86-mont-macosx.S
share/ring-0.16.20/pregenerated/x86-mont-win32n.obj
share/ring-0.16.20/pregenerated/x86_64-mont-elf.S
share/ring-0.16.20/pregenerated/x86_64-mont-macosx.S
share/ring-0.16.20/pregenerated/x86_64-mont-nasm.obj
share/ring-0.16.20/pregenerated/x86_64-mont5-elf.S
share/ring-0.16.20/pregenerated/x86_64-mont5-macosx.S
share/ring-0.16.20/pregenerated/x86_64-mont5-nasm.obj
share/ring-0.16.20/src/
share/ring-0.16.20/src/aead/
share/ring-0.16.20/src/aead.rs
share/ring-0.16.20/src/aead/aes.rs
share/ring-0.16.20/src/aead/aes_gcm.rs
share/ring-0.16.20/src/aead/aes_tests.txt
share/ring-0.16.20/src/aead/block.rs
share/ring-0.16.20/src/aead/chacha.rs
share/ring-0.16.20/src/aead/chacha20_poly1305.rs
share/ring-0.16.20/src/aead/chacha20_poly1305_openssh.rs
share/ring-0.16.20/src/aead/chacha_tests.txt
share/ring-0.16.20/src/aead/counter.rs
share/ring-0.16.20/src/aead/gcm/
share/ring-0.16.20/src/aead/gcm.rs
share/ring-0.16.20/src/aead/gcm/gcm_nohw.rs
share/ring-0.16.20/src/aead/iv.rs
share/ring-0.16.20/src/aead/nonce.rs
share/ring-0.16.20/src/aead/poly1305.rs
share/ring-0.16.20/src/aead/poly1305_test.txt
share/ring-0.16.20/src/aead/quic.rs
share/ring-0.16.20/src/aead/shift.rs
share/ring-0.16.20/src/agreement.rs
share/ring-0.16.20/src/arithmetic/
share/ring-0.16.20/src/arithmetic.rs
share/ring-0.16.20/src/arithmetic/bigint.rs
share/ring-0.16.20/src/arithmetic/bigint_elem_exp_consttime_tests.txt
share/ring-0.16.20/src/arithmetic/bigint_elem_exp_vartime_tests.txt
share/ring-0.16.20/src/arithmetic/bigint_elem_mul_tests.txt
share/ring-0.16.20/src/arithmetic/bigint_elem_reduced_once_tests.txt
share/ring-0.16.20/src/arithmetic/bigint_elem_reduced_tests.txt
share/ring-0.16.20/src/arithmetic/bigint_elem_squared_tests.txt
share/ring-0.16.20/src/arithmetic/constant.rs
share/ring-0.16.20/src/arithmetic/montgomery.rs
share/ring-0.16.20/src/bits.rs
share/ring-0.16.20/src/bssl.rs
share/ring-0.16.20/src/c.rs
share/ring-0.16.20/src/constant_time.rs
share/ring-0.16.20/src/cpu.rs
share/ring-0.16.20/src/data/
share/ring-0.16.20/src/data/alg-rsa-encryption.der
share/ring-0.16.20/src/debug.rs
share/ring-0.16.20/src/digest/
share/ring-0.16.20/src/digest.rs
share/ring-0.16.20/src/digest/sha1.rs
share/ring-0.16.20/src/digest/sha2.rs
share/ring-0.16.20/src/ec/
share/ring-0.16.20/src/ec.rs
share/ring-0.16.20/src/ec/curve25519/
share/ring-0.16.20/src/ec/curve25519.rs
share/ring-0.16.20/src/ec/curve25519/ed25519/
share/ring-0.16.20/src/ec/curve25519/ed25519.rs
share/ring-0.16.20/src/ec/curve25519/ed25519/ed25519_pkcs8_v2_template.der
share/ring-0.16.20/src/ec/curve25519/ed25519/signing.rs
share/ring-0.16.20/src/ec/curve25519/ed25519/verification.rs
share/ring-0.16.20/src/ec/curve25519/ops.rs
share/ring-0.16.20/src/ec/curve25519/scalar.rs
share/ring-0.16.20/src/ec/curve25519/x25519.rs
share/ring-0.16.20/src/ec/keys.rs
share/ring-0.16.20/src/ec/suite_b/
share/ring-0.16.20/src/ec/suite_b.rs
share/ring-0.16.20/src/ec/suite_b/curve.rs
share/ring-0.16.20/src/ec/suite_b/ecdh.rs
share/ring-0.16.20/src/ec/suite_b/ecdsa/
share/ring-0.16.20/src/ec/suite_b/ecdsa.rs
share/ring-0.16.20/src/ec/suite_b/ecdsa/digest_scalar.rs
share/ring-0.16.20/src/ec/suite_b/ecdsa/ecPublicKey_p256_pkcs8_v1_template.der
share/ring-0.16.20/src/ec/suite_b/ecdsa/ecPublicKey_p384_pkcs8_v1_template.der
share/ring-0.16.20/src/ec/suite_b/ecdsa/ecdsa_digest_scalar_tests.txt
share/ring-0.16.20/src/ec/suite_b/ecdsa/ecdsa_sign_asn1_tests.txt
share/ring-0.16.20/src/ec/suite_b/ecdsa/ecdsa_sign_fixed_tests.txt
share/ring-0.16.20/src/ec/suite_b/ecdsa/signing.rs
share/ring-0.16.20/src/ec/suite_b/ecdsa/verification.rs
share/ring-0.16.20/src/ec/suite_b/ops/
share/ring-0.16.20/src/ec/suite_b/ops.rs
share/ring-0.16.20/src/ec/suite_b/ops/elem.rs
share/ring-0.16.20/src/ec/suite_b/ops/p256.rs
share/ring-0.16.20/src/ec/suite_b/ops/p256_elem_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_elem_neg_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_elem_sum_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_double_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_mul_base_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_mul_serialized_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_sum_mixed_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_point_sum_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_scalar_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p256_scalar_square_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384.rs
share/ring-0.16.20/src/ec/suite_b/ops/p384_elem_div_by_2_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_elem_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_elem_neg_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_elem_sum_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_point_double_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_point_mul_base_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_point_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_point_sum_tests.txt
share/ring-0.16.20/src/ec/suite_b/ops/p384_scalar_mul_tests.txt
share/ring-0.16.20/src/ec/suite_b/private_key.rs
share/ring-0.16.20/src/ec/suite_b/public_key.rs
share/ring-0.16.20/src/ec/suite_b/suite_b_public_key_tests.txt
share/ring-0.16.20/src/endian.rs
share/ring-0.16.20/src/error.rs
share/ring-0.16.20/src/hkdf.rs
share/ring-0.16.20/src/hmac.rs
share/ring-0.16.20/src/hmac_generate_serializable_tests.txt
share/ring-0.16.20/src/io/
share/ring-0.16.20/src/io.rs
share/ring-0.16.20/src/io/der.rs
share/ring-0.16.20/src/io/der_writer.rs
share/ring-0.16.20/src/io/positive.rs
share/ring-0.16.20/src/io/writer.rs
share/ring-0.16.20/src/lib.rs
share/ring-0.16.20/src/limb.rs
share/ring-0.16.20/src/pbkdf2.rs
share/ring-0.16.20/src/pkcs8.rs
share/ring-0.16.20/src/polyfill.rs
share/ring-0.16.20/src/rand.rs
share/ring-0.16.20/src/rsa/
share/ring-0.16.20/src/rsa.rs
share/ring-0.16.20/src/rsa/convert_nist_rsa_test_vectors.py
share/ring-0.16.20/src/rsa/padding.rs
share/ring-0.16.20/src/rsa/rsa_pss_padding_tests.txt
share/ring-0.16.20/src/rsa/signature_rsa_example_private_key.der
share/ring-0.16.20/src/rsa/signature_rsa_example_public_key.der
share/ring-0.16.20/src/rsa/signing.rs
share/ring-0.16.20/src/rsa/verification.rs
share/ring-0.16.20/src/signature.rs
share/ring-0.16.20/src/test.rs
share/ring-0.16.20/src/test_1_syntax_error_tests.txt
share/ring-0.16.20/src/test_1_tests.txt
share/ring-0.16.20/src/test_3_tests.txt
share/ring-0.16.20/tests/
share/ring-0.16.20/tests/aead_aes_128_gcm_tests.txt
share/ring-0.16.20/tests/aead_aes_256_gcm_tests.txt
share/ring-0.16.20/tests/aead_chacha20_poly1305_openssh_tests.txt
share/ring-0.16.20/tests/aead_chacha20_poly1305_tests.txt
share/ring-0.16.20/tests/aead_tests.rs
share/ring-0.16.20/tests/agreement_tests.rs
share/ring-0.16.20/tests/agreement_tests.txt
share/ring-0.16.20/tests/constant_time_tests.rs
share/ring-0.16.20/tests/digest_tests.rs
share/ring-0.16.20/tests/digest_tests.txt
share/ring-0.16.20/tests/ecdsa_from_pkcs8_tests.txt
share/ring-0.16.20/tests/ecdsa_test_private_key_p256.p8
share/ring-0.16.20/tests/ecdsa_test_public_key_p256.der
share/ring-0.16.20/tests/ecdsa_test_public_key_p256_debug.txt
share/ring-0.16.20/tests/ecdsa_tests.rs
share/ring-0.16.20/tests/ecdsa_verify_asn1_tests.txt
share/ring-0.16.20/tests/ecdsa_verify_fixed_tests.txt
share/ring-0.16.20/tests/ed25519_from_pkcs8_tests.txt
share/ring-0.16.20/tests/ed25519_from_pkcs8_unchecked_tests.txt
share/ring-0.16.20/tests/ed25519_test_private_key.bin
share/ring-0.16.20/tests/ed25519_test_private_key.p8
share/ring-0.16.20/tests/ed25519_test_public_key.bin
share/ring-0.16.20/tests/ed25519_test_public_key.der
share/ring-0.16.20/tests/ed25519_tests.rs
share/ring-0.16.20/tests/ed25519_tests.txt
share/ring-0.16.20/tests/hkdf_tests.rs
share/ring-0.16.20/tests/hkdf_tests.txt
share/ring-0.16.20/tests/hmac_tests.rs
share/ring-0.16.20/tests/hmac_tests.txt
share/ring-0.16.20/tests/pbkdf2_tests.rs
share/ring-0.16.20/tests/pbkdf2_tests.txt
share/ring-0.16.20/tests/quic_aes_128_tests.txt
share/ring-0.16.20/tests/quic_aes_256_tests.txt
share/ring-0.16.20/tests/quic_chacha20_tests.txt
share/ring-0.16.20/tests/quic_tests.rs
share/ring-0.16.20/tests/rand_tests.rs
share/ring-0.16.20/tests/rsa_from_pkcs8_tests.txt
share/ring-0.16.20/tests/rsa_pkcs1_sign_tests.txt
share/ring-0.16.20/tests/rsa_pkcs1_verify_tests.txt
share/ring-0.16.20/tests/rsa_primitive_verify_tests.txt
share/ring-0.16.20/tests/rsa_pss_sign_tests.txt
share/ring-0.16.20/tests/rsa_pss_verify_tests.txt
share/ring-0.16.20/tests/rsa_test_private_key_2048.p8
share/ring-0.16.20/tests/rsa_test_public_key_2048.der
share/ring-0.16.20/tests/rsa_test_public_key_2048_debug.txt
share/ring-0.16.20/tests/rsa_tests.rs
share/ring-0.16.20/tests/signature_tests.rs
share/ring-0.16.20/third_party/
share/ring-0.16.20/third_party/NIST/
share/ring-0.16.20/third_party/NIST/SHAVS/
share/ring-0.16.20/third_party/NIST/SHAVS/SHA1LongMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA1Monte.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA1ShortMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA224LongMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA224Monte.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA224ShortMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA256LongMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA256Monte.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA256ShortMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA384LongMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA384Monte.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA384ShortMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA512LongMsg.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA512Monte.rsp
share/ring-0.16.20/third_party/NIST/SHAVS/SHA512ShortMsg.rsp
share/ring-0.16.20/third_party/fiat/
share/ring-0.16.20/third_party/fiat/LICENSE
share/ring-0.16.20/third_party/fiat/curve25519_32.h
share/ring-0.16.20/third_party/fiat/curve25519_64.h