1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00

net/rosenpass: Wireguard-based post-quantum VPN

Rosenpass implements a post-quantum-secure key exchange in the spirit of
a Noise protocol. The motivating use case is integrating with the
WireGuard VPN: In this mode, the key generated by Rosenpass is supplied
to WireGuard as its pre-shared symmetric key (PSK). This results in a
WireGuard VPN connection with hybrid post-quantum security.

While Rosenpass is designed with WireGuard in mind, it can be used as a
stand-alone tool to exchange keys. Using this mode, it can be used to
secure other protocols against attacks from quantum computers, given
that they offer using a PSK, and that a secure PSK is sufficient for
security of the protocol. To use this mode, the rosenpass binary must be
used together with the outfile <FILE> parameter. Then, Rosenpass will
write a key to the given file every two minutes, and print a message on
standard out to notify the user or the calling script that the key has
changed.

The implementation is written in Rust but uses libsodium and liboqs --
both of which are C libraries. This does not result in pretty code
everywhere, but enables some advanced security features such as using
libsodium's sodium_malloc. We use a couple of techniques to make sure
the code is secure: We use variable colouring (gating use of a secret
value through a .secret() method), and the code zeroizes all key
material.

WWW: https://rosenpass.eu
This commit is contained in:
Robert Clausecker 2023-02-28 23:30:33 +01:00
parent 95fe9b7490
commit 55bf3daa4a
7 changed files with 667 additions and 0 deletions

View File

@ -1225,6 +1225,7 @@
SUBDIR += rfbproxy
SUBDIR += rinetd
SUBDIR += ripe-whois
SUBDIR += rosenpass
SUBDIR += rospo
SUBDIR += routinator
SUBDIR += rp-pppoe

37
net/rosenpass/Makefile Normal file
View File

@ -0,0 +1,37 @@
PORTNAME= rosenpass
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.0
CATEGORIES= net net-vpn security
MAINTAINER= fuz@FreeBSD.org
COMMENT= Wireguard-based post-quantum VPN
WWW= https://rosenpass.eu/
LICENSE= MIT APACHE20
LICENSE_COMB= dual
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
LIB_DEPENDS= libsodium.so:security/libsodium
RUN_DEPENDS= bash:shells/bash \
wireguard>0:net/wireguard
USES= cargo llvm:build pkgconfig shebangfix
USE_GITHUB= yes
PLIST_FILES= bin/rosenpass \
bin/rp \
man/man1/rosenpass.1.gz \
man/man1/rp.1.gz
pre-configure:
${REINPLACE_CMD} -e 's,%%BASH%%,${LOCALBASE}/bin/bash,' ${WRKSRC}/rp
post-install:
${INSTALL_SCRIPT} ${WRKSRC}/rp ${STAGEDIR}${PREFIX}/bin/
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rosenpass
.for man in rp.1 rosenpass.1
${INSTALL_MAN} ${WRKSRC}/doc/${man} ${STAGEDIR}${MANPREFIX}/man/man${man:E}/${man}
.endfor
.include <bsd.port.mk>

View File

@ -0,0 +1,179 @@
CARGO_CRATES= addr2line-0.21.0 \
adler-1.0.2 \
adler32-1.2.0 \
ahash-0.8.3 \
aho-corasick-1.0.4 \
anes-0.1.6 \
anstream-0.3.2 \
anstyle-1.0.1 \
anstyle-parse-0.2.1 \
anstyle-query-1.0.0 \
anstyle-wincon-1.0.2 \
anyhow-1.0.75 \
atty-0.2.14 \
autocfg-1.1.0 \
backtrace-0.3.69 \
base64-0.21.2 \
bindgen-0.65.1 \
bitflags-1.3.2 \
bitflags-2.4.0 \
build-deps-0.1.4 \
bumpalo-3.13.0 \
byteorder-1.4.3 \
cast-0.3.0 \
cc-1.0.83 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
ciborium-0.2.1 \
ciborium-io-0.2.1 \
ciborium-ll-0.2.1 \
clang-sys-1.6.1 \
clap-3.2.25 \
clap-4.3.23 \
clap_builder-4.3.23 \
clap_derive-4.3.12 \
clap_lex-0.2.4 \
clap_lex-0.5.0 \
cmake-0.1.50 \
colorchoice-1.0.0 \
core2-0.4.0 \
crc32fast-1.3.2 \
criterion-0.4.0 \
criterion-plot-0.5.0 \
crossbeam-channel-0.5.8 \
crossbeam-deque-0.8.3 \
crossbeam-epoch-0.9.15 \
crossbeam-utils-0.8.16 \
dary_heap-0.3.6 \
either-1.9.0 \
env_logger-0.10.0 \
equivalent-1.0.1 \
errno-0.3.2 \
errno-dragonfly-0.1.2 \
filetime-0.2.22 \
flate2-1.0.27 \
form_urlencoded-1.2.0 \
gimli-0.28.0 \
glob-0.3.1 \
half-1.8.2 \
hashbrown-0.12.3 \
hashbrown-0.13.2 \
hashbrown-0.14.0 \
heck-0.4.1 \
hermit-abi-0.1.19 \
hermit-abi-0.3.2 \
humantime-2.1.0 \
idna-0.4.0 \
indexmap-1.9.3 \
indexmap-2.0.0 \
is-terminal-0.4.9 \
itertools-0.10.5 \
itoa-1.0.9 \
js-sys-0.3.64 \
lazy_static-1.4.0 \
lazycell-1.3.0 \
libc-0.2.147 \
libflate-2.0.0 \
libflate_lz77-2.0.0 \
libloading-0.7.4 \
libsodium-sys-stable-1.19.30 \
linux-raw-sys-0.4.5 \
log-0.4.20 \
memchr-2.5.0 \
memoffset-0.9.0 \
minimal-lexical-0.2.1 \
minisign-verify-0.2.1 \
miniz_oxide-0.7.1 \
mio-0.8.8 \
nom-7.1.3 \
num-traits-0.2.16 \
num_cpus-1.16.0 \
object-0.32.0 \
once_cell-1.18.0 \
oorandom-11.1.3 \
oqs-sys-0.8.0 \
os_str_bytes-6.5.1 \
paste-1.0.14 \
peeking_take_while-0.1.2 \
percent-encoding-2.3.0 \
pkg-config-0.3.27 \
plotters-0.3.5 \
plotters-backend-0.3.5 \
plotters-svg-0.3.5 \
prettyplease-0.2.12 \
proc-macro2-1.0.66 \
quote-1.0.33 \
rayon-1.7.0 \
rayon-core-1.11.0 \
redox_syscall-0.3.5 \
regex-1.9.3 \
regex-automata-0.3.6 \
regex-syntax-0.7.4 \
ring-0.16.20 \
rle-decode-fast-1.0.3 \
rustc-demangle-0.1.23 \
rustc-hash-1.1.0 \
rustix-0.38.8 \
rustls-0.21.6 \
rustls-webpki-0.100.2 \
rustls-webpki-0.101.4 \
ryu-1.0.15 \
same-file-1.0.6 \
scopeguard-1.2.0 \
sct-0.7.0 \
serde-1.0.185 \
serde_derive-1.0.185 \
serde_json-1.0.105 \
serde_spanned-0.6.3 \
shlex-1.1.0 \
spin-0.5.2 \
static_assertions-1.1.0 \
strsim-0.10.0 \
syn-2.0.29 \
tar-0.4.40 \
termcolor-1.2.0 \
test_bin-0.4.0 \
textwrap-0.16.0 \
thiserror-1.0.47 \
thiserror-impl-1.0.47 \
tinytemplate-1.2.1 \
tinyvec-1.6.0 \
tinyvec_macros-0.1.1 \
toml-0.7.6 \
toml_datetime-0.6.3 \
toml_edit-0.19.14 \
unicode-bidi-0.3.13 \
unicode-ident-1.0.11 \
unicode-normalization-0.1.22 \
untrusted-0.7.1 \
ureq-2.7.1 \
url-2.4.0 \
utf8parse-0.2.1 \
vcpkg-0.2.15 \
version_check-0.9.4 \
walkdir-2.3.3 \
wasi-0.11.0+wasi-snapshot-preview1 \
wasm-bindgen-0.2.87 \
wasm-bindgen-backend-0.2.87 \
wasm-bindgen-macro-0.2.87 \
wasm-bindgen-macro-support-0.2.87 \
wasm-bindgen-shared-0.2.87 \
web-sys-0.3.64 \
webpki-roots-0.23.1 \
which-4.4.0 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
windows-sys-0.48.0 \
windows-targets-0.48.5 \
windows_aarch64_gnullvm-0.48.5 \
windows_aarch64_msvc-0.48.5 \
windows_i686_gnu-0.48.5 \
windows_i686_msvc-0.48.5 \
windows_x86_64_gnu-0.48.5 \
windows_x86_64_gnullvm-0.48.5 \
windows_x86_64_msvc-0.48.5 \
winnow-0.5.14 \
xattr-1.0.1 \
zip-0.6.6

361
net/rosenpass/distinfo Normal file
View File

@ -0,0 +1,361 @@
TIMESTAMP = 1694055391
SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
SIZE (rust/crates/adler32-1.2.0.crate) = 6411
SHA256 (rust/crates/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f
SIZE (rust/crates/ahash-0.8.3.crate) = 42416
SHA256 (rust/crates/aho-corasick-1.0.4.crate) = 6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a
SIZE (rust/crates/aho-corasick-1.0.4.crate) = 171175
SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
SIZE (rust/crates/anes-0.1.6.crate) = 23857
SHA256 (rust/crates/anstream-0.3.2.crate) = 0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163
SIZE (rust/crates/anstream-0.3.2.crate) = 19504
SHA256 (rust/crates/anstyle-1.0.1.crate) = 3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd
SIZE (rust/crates/anstyle-1.0.1.crate) = 13977
SHA256 (rust/crates/anstyle-parse-0.2.1.crate) = 938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333
SIZE (rust/crates/anstyle-parse-0.2.1.crate) = 24802
SHA256 (rust/crates/anstyle-query-1.0.0.crate) = 5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b
SIZE (rust/crates/anstyle-query-1.0.0.crate) = 8620
SHA256 (rust/crates/anstyle-wincon-1.0.2.crate) = c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c
SIZE (rust/crates/anstyle-wincon-1.0.2.crate) = 11712
SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
SHA256 (rust/crates/base64-0.21.2.crate) = 604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d
SIZE (rust/crates/base64-0.21.2.crate) = 76389
SHA256 (rust/crates/bindgen-0.65.1.crate) = cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5
SIZE (rust/crates/bindgen-0.65.1.crate) = 213479
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
SHA256 (rust/crates/bitflags-2.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
SIZE (rust/crates/bitflags-2.4.0.crate) = 36954
SHA256 (rust/crates/build-deps-0.1.4.crate) = 64f14468960818ce4f3e3553c32d524446687884f8e7af5d3e252331d8a87e43
SIZE (rust/crates/build-deps-0.1.4.crate) = 35939
SHA256 (rust/crates/bumpalo-3.13.0.crate) = a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1
SIZE (rust/crates/bumpalo-3.13.0.crate) = 82114
SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
SIZE (rust/crates/cast-0.3.0.crate) = 11452
SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
SIZE (rust/crates/cc-1.0.83.crate) = 68343
SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/ciborium-0.2.1.crate) = effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926
SIZE (rust/crates/ciborium-0.2.1.crate) = 34974
SHA256 (rust/crates/ciborium-io-0.2.1.crate) = cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656
SIZE (rust/crates/ciborium-io-0.2.1.crate) = 6679
SHA256 (rust/crates/ciborium-ll-0.2.1.crate) = defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b
SIZE (rust/crates/ciborium-ll-0.2.1.crate) = 14649
SHA256 (rust/crates/clang-sys-1.6.1.crate) = c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f
SIZE (rust/crates/clang-sys-1.6.1.crate) = 41346
SHA256 (rust/crates/clap-3.2.25.crate) = 4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123
SIZE (rust/crates/clap-3.2.25.crate) = 219403
SHA256 (rust/crates/clap-4.3.23.crate) = 03aef18ddf7d879c15ce20f04826ef8418101c7e528014c3eeea13321047dca3
SIZE (rust/crates/clap-4.3.23.crate) = 55026
SHA256 (rust/crates/clap_builder-4.3.23.crate) = f8ce6fffb678c9b80a70b6b6de0aad31df727623a70fd9a842c30cd573e2fa98
SIZE (rust/crates/clap_builder-4.3.23.crate) = 162380
SHA256 (rust/crates/clap_derive-4.3.12.crate) = 54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050
SIZE (rust/crates/clap_derive-4.3.12.crate) = 29052
SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5
SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652
SHA256 (rust/crates/clap_lex-0.5.0.crate) = 2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b
SIZE (rust/crates/clap_lex-0.5.0.crate) = 11792
SHA256 (rust/crates/cmake-0.1.50.crate) = a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130
SIZE (rust/crates/cmake-0.1.50.crate) = 16748
SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
SHA256 (rust/crates/core2-0.4.0.crate) = b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505
SIZE (rust/crates/core2-0.4.0.crate) = 37075
SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
SHA256 (rust/crates/criterion-0.4.0.crate) = e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb
SIZE (rust/crates/criterion-0.4.0.crate) = 108978
SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
SHA256 (rust/crates/crossbeam-channel-0.5.8.crate) = a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200
SIZE (rust/crates/crossbeam-channel-0.5.8.crate) = 90455
SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
SHA256 (rust/crates/crossbeam-epoch-0.9.15.crate) = ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7
SIZE (rust/crates/crossbeam-epoch-0.9.15.crate) = 48553
SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
SHA256 (rust/crates/dary_heap-0.3.6.crate) = 7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca
SIZE (rust/crates/dary_heap-0.3.6.crate) = 23683
SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
SIZE (rust/crates/either-1.9.0.crate) = 16660
SHA256 (rust/crates/env_logger-0.10.0.crate) = 85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0
SIZE (rust/crates/env_logger-0.10.0.crate) = 36574
SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
SHA256 (rust/crates/errno-0.3.2.crate) = 6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f
SIZE (rust/crates/errno-0.3.2.crate) = 10424
SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
SHA256 (rust/crates/filetime-0.2.22.crate) = d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0
SIZE (rust/crates/filetime-0.2.22.crate) = 15029
SHA256 (rust/crates/flate2-1.0.27.crate) = c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010
SIZE (rust/crates/flate2-1.0.27.crate) = 73460
SHA256 (rust/crates/form_urlencoded-1.2.0.crate) = a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652
SIZE (rust/crates/form_urlencoded-1.2.0.crate) = 8923
SHA256 (rust/crates/gimli-0.28.0.crate) = 6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0
SIZE (rust/crates/gimli-0.28.0.crate) = 269277
SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
SIZE (rust/crates/glob-0.3.1.crate) = 18880
SHA256 (rust/crates/half-1.8.2.crate) = eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7
SIZE (rust/crates/half-1.8.2.crate) = 41874
SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e
SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265
SHA256 (rust/crates/hashbrown-0.14.0.crate) = 2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a
SIZE (rust/crates/hashbrown-0.14.0.crate) = 116103
SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
SIZE (rust/crates/heck-0.4.1.crate) = 11567
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
SHA256 (rust/crates/hermit-abi-0.3.2.crate) = 443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b
SIZE (rust/crates/hermit-abi-0.3.2.crate) = 13783
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c
SIZE (rust/crates/idna-0.4.0.crate) = 271429
SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
SHA256 (rust/crates/indexmap-2.0.0.crate) = d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d
SIZE (rust/crates/indexmap-2.0.0.crate) = 64038
SHA256 (rust/crates/is-terminal-0.4.9.crate) = cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b
SIZE (rust/crates/is-terminal-0.4.9.crate) = 8109
SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
SIZE (rust/crates/itertools-0.10.5.crate) = 115354
SHA256 (rust/crates/itoa-1.0.9.crate) = af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38
SIZE (rust/crates/itoa-1.0.9.crate) = 10492
SHA256 (rust/crates/js-sys-0.3.64.crate) = c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a
SIZE (rust/crates/js-sys-0.3.64.crate) = 80313
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
SHA256 (rust/crates/libc-0.2.147.crate) = b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3
SIZE (rust/crates/libc-0.2.147.crate) = 686772
SHA256 (rust/crates/libflate-2.0.0.crate) = 9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf
SIZE (rust/crates/libflate-2.0.0.crate) = 42505
SHA256 (rust/crates/libflate_lz77-2.0.0.crate) = be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524
SIZE (rust/crates/libflate_lz77-2.0.0.crate) = 5893
SHA256 (rust/crates/libloading-0.7.4.crate) = b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f
SIZE (rust/crates/libloading-0.7.4.crate) = 27580
SHA256 (rust/crates/libsodium-sys-stable-1.19.30.crate) = 2cf9c3bd17952580efd8f57e3d01d724cfb18d51fbd9dc00a65e5911f71521ba
SIZE (rust/crates/libsodium-sys-stable-1.19.30.crate) = 1895511
SHA256 (rust/crates/linux-raw-sys-0.4.5.crate) = 57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503
SIZE (rust/crates/linux-raw-sys-0.4.5.crate) = 1274380
SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
SIZE (rust/crates/log-0.4.20.crate) = 38307
SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
SIZE (rust/crates/memchr-2.5.0.crate) = 65812
SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
SHA256 (rust/crates/minisign-verify-0.2.1.crate) = 933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881
SIZE (rust/crates/minisign-verify-0.2.1.crate) = 21582
SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
SHA256 (rust/crates/mio-0.8.8.crate) = 927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2
SIZE (rust/crates/mio-0.8.8.crate) = 94264
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/num-traits-0.2.16.crate) = f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2
SIZE (rust/crates/num-traits-0.2.16.crate) = 50130
SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
SHA256 (rust/crates/object-0.32.0.crate) = 77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe
SIZE (rust/crates/object-0.32.0.crate) = 275335
SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
SHA256 (rust/crates/oqs-sys-0.8.0.crate) = 7fa114149fb6e5362b9cf539de9305a6a3cf1556fbfa93b5053b4f70cf3adfb9
SIZE (rust/crates/oqs-sys-0.8.0.crate) = 2788646
SHA256 (rust/crates/os_str_bytes-6.5.1.crate) = 4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac
SIZE (rust/crates/os_str_bytes-6.5.1.crate) = 22778
SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
SIZE (rust/crates/paste-1.0.14.crate) = 18157
SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
SHA256 (rust/crates/percent-encoding-2.3.0.crate) = 9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94
SIZE (rust/crates/percent-encoding-2.3.0.crate) = 10196
SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
SHA256 (rust/crates/plotters-0.3.5.crate) = d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45
SIZE (rust/crates/plotters-0.3.5.crate) = 143975
SHA256 (rust/crates/plotters-backend-0.3.5.crate) = 9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609
SIZE (rust/crates/plotters-backend-0.3.5.crate) = 13440
SHA256 (rust/crates/plotters-svg-0.3.5.crate) = 38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab
SIZE (rust/crates/plotters-svg-0.3.5.crate) = 6948
SHA256 (rust/crates/prettyplease-0.2.12.crate) = 6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62
SIZE (rust/crates/prettyplease-0.2.12.crate) = 56698
SHA256 (rust/crates/proc-macro2-1.0.66.crate) = 18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9
SIZE (rust/crates/proc-macro2-1.0.66.crate) = 43575
SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
SIZE (rust/crates/quote-1.0.33.crate) = 28090
SHA256 (rust/crates/rayon-1.7.0.crate) = 1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b
SIZE (rust/crates/rayon-1.7.0.crate) = 169488
SHA256 (rust/crates/rayon-core-1.11.0.crate) = 4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d
SIZE (rust/crates/rayon-core-1.11.0.crate) = 73118
SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
SHA256 (rust/crates/regex-1.9.3.crate) = 81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a
SIZE (rust/crates/regex-1.9.3.crate) = 252676
SHA256 (rust/crates/regex-automata-0.3.6.crate) = fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69
SIZE (rust/crates/regex-automata-0.3.6.crate) = 607174
SHA256 (rust/crates/regex-syntax-0.7.4.crate) = e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2
SIZE (rust/crates/regex-syntax-0.7.4.crate) = 343365
SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
SIZE (rust/crates/ring-0.16.20.crate) = 5082615
SHA256 (rust/crates/rle-decode-fast-1.0.3.crate) = 3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422
SIZE (rust/crates/rle-decode-fast-1.0.3.crate) = 62086
SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
SHA256 (rust/crates/rustix-0.38.8.crate) = 19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f
SIZE (rust/crates/rustix-0.38.8.crate) = 333258
SHA256 (rust/crates/rustls-0.21.6.crate) = 1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb
SIZE (rust/crates/rustls-0.21.6.crate) = 282907
SHA256 (rust/crates/rustls-webpki-0.100.2.crate) = e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab
SIZE (rust/crates/rustls-webpki-0.100.2.crate) = 71561
SHA256 (rust/crates/rustls-webpki-0.101.4.crate) = 7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d
SIZE (rust/crates/rustls-webpki-0.101.4.crate) = 164324
SHA256 (rust/crates/ryu-1.0.15.crate) = 1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741
SIZE (rust/crates/ryu-1.0.15.crate) = 46906
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
SIZE (rust/crates/sct-0.7.0.crate) = 27502
SHA256 (rust/crates/serde-1.0.185.crate) = be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31
SIZE (rust/crates/serde-1.0.185.crate) = 77337
SHA256 (rust/crates/serde_derive-1.0.185.crate) = dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec
SIZE (rust/crates/serde_derive-1.0.185.crate) = 55569
SHA256 (rust/crates/serde_json-1.0.105.crate) = 693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360
SIZE (rust/crates/serde_json-1.0.105.crate) = 146316
SHA256 (rust/crates/serde_spanned-0.6.3.crate) = 96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186
SIZE (rust/crates/serde_spanned-0.6.3.crate) = 7737
SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
SIZE (rust/crates/shlex-1.1.0.crate) = 5199
SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
SIZE (rust/crates/spin-0.5.2.crate) = 12004
SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/syn-2.0.29.crate) = c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a
SIZE (rust/crates/syn-2.0.29.crate) = 241664
SHA256 (rust/crates/tar-0.4.40.crate) = b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb
SIZE (rust/crates/tar-0.4.40.crate) = 51844
SHA256 (rust/crates/termcolor-1.2.0.crate) = be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6
SIZE (rust/crates/termcolor-1.2.0.crate) = 17917
SHA256 (rust/crates/test_bin-0.4.0.crate) = 8e7a7de15468c6e65dd7db81cf3822c1ec94c71b2a3c1a976ea8e4696c91115c
SIZE (rust/crates/test_bin-0.4.0.crate) = 7591
SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
SHA256 (rust/crates/thiserror-1.0.47.crate) = 97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f
SIZE (rust/crates/thiserror-1.0.47.crate) = 18811
SHA256 (rust/crates/thiserror-impl-1.0.47.crate) = 6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b
SIZE (rust/crates/thiserror-impl-1.0.47.crate) = 15080
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
SHA256 (rust/crates/toml-0.7.6.crate) = c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542
SIZE (rust/crates/toml-0.7.6.crate) = 49220
SHA256 (rust/crates/toml_datetime-0.6.3.crate) = 7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b
SIZE (rust/crates/toml_datetime-0.6.3.crate) = 10770
SHA256 (rust/crates/toml_edit-0.19.14.crate) = f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a
SIZE (rust/crates/toml_edit-0.19.14.crate) = 94875
SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
SHA256 (rust/crates/unicode-ident-1.0.11.crate) = 301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c
SIZE (rust/crates/unicode-ident-1.0.11.crate) = 42067
SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
SHA256 (rust/crates/ureq-2.7.1.crate) = 0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9
SIZE (rust/crates/ureq-2.7.1.crate) = 111068
SHA256 (rust/crates/url-2.4.0.crate) = 50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb
SIZE (rust/crates/url-2.4.0.crate) = 75670
SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
SIZE (rust/crates/version_check-0.9.4.crate) = 14895
SHA256 (rust/crates/walkdir-2.3.3.crate) = 36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698
SIZE (rust/crates/walkdir-2.3.3.crate) = 23125
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
SHA256 (rust/crates/wasm-bindgen-0.2.87.crate) = 7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342
SIZE (rust/crates/wasm-bindgen-0.2.87.crate) = 175052
SHA256 (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd
SIZE (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 26821
SHA256 (rust/crates/wasm-bindgen-macro-0.2.87.crate) = dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d
SIZE (rust/crates/wasm-bindgen-macro-0.2.87.crate) = 13897
SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b
SIZE (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 20006
SHA256 (rust/crates/wasm-bindgen-shared-0.2.87.crate) = ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1
SIZE (rust/crates/wasm-bindgen-shared-0.2.87.crate) = 7248
SHA256 (rust/crates/web-sys-0.3.64.crate) = 9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b
SIZE (rust/crates/web-sys-0.3.64.crate) = 725584
SHA256 (rust/crates/webpki-roots-0.23.1.crate) = b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338
SIZE (rust/crates/webpki-roots-0.23.1.crate) = 245626
SHA256 (rust/crates/which-4.4.0.crate) = 2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269
SIZE (rust/crates/which-4.4.0.crate) = 10889
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
SHA256 (rust/crates/winnow-0.5.14.crate) = d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97
SIZE (rust/crates/winnow-0.5.14.crate) = 144956
SHA256 (rust/crates/xattr-1.0.1.crate) = f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985
SIZE (rust/crates/xattr-1.0.1.crate) = 12258
SHA256 (rust/crates/zip-0.6.6.crate) = 760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261
SIZE (rust/crates/zip-0.6.6.crate) = 65789
SHA256 (rosenpass-rosenpass-v0.2.0_GH0.tar.gz) = 11ed1f8d91ce7dbfc905293306c93aebf54d55a342f325b62f0d6bd0634c69d0
SIZE (rosenpass-rosenpass-v0.2.0_GH0.tar.gz) = 4868563

View File

@ -0,0 +1,29 @@
--- cargo-crates/oqs-sys-0.8.0/liboqs/CMakeLists.txt.orig 2023-09-10 06:30:42 UTC
+++ cargo-crates/oqs-sys-0.8.0/liboqs/CMakeLists.txt
@@ -49,7 +49,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64"
if(${OQS_DIST_BUILD})
set(OQS_DIST_X86_64_BUILD ON)
endif()
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86|i586|i686")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86|i386|i586|i686")
set(ARCH "i586")
set(ARCH_X86 ON)
if(${OQS_DIST_BUILD})
@@ -61,7 +61,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|a
if(${OQS_DIST_BUILD})
set(OQS_DIST_ARM64_V8_BUILD ON)
endif()
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armel|armhf|armv7|arm32v7")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armel|armhf|armv6|armv7|arm32v7")
set(ARCH "arm32v7")
set(ARCH_ARM32v7 ON)
if(${OQS_DIST_BUILD})
@@ -86,7 +86,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
if(${OQS_DIST_BUILD})
set(OQS_DIST_S390X_BUILD ON)
endif()
-elseif(OQS_PERMIT_UNSUPPORTED_ARCHITECTURE)
+elseif(OQS_PERMIT_UNSUPPORTED_ARCHITECTURE OR TRUE)
message(WARNING "Unknown or unsupported processor: " ${CMAKE_SYSTEM_PROCESSOR})
message(WARNING "Compilation on an unsupported processor should only be used for testing, as it may result an insecure configuration, for example due to variable-time instructions leaking secret information.")
else()

View File

@ -0,0 +1,37 @@
--- rp.orig 2023-08-29 21:48:48 UTC
+++ rp
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!%%BASH%%
set -e
@@ -78,7 +78,7 @@ frag_init() {
explain=0
frag_transaction=()
frag "
- #! /bin/bash
+ #!%%BASH%%
set -e"
}
@@ -223,7 +223,7 @@ exchange() {
ip link set dev $(enquote "${dev}") up"
;;
- freebsd*)
+ freebsd*|FreeBSD*)
frag "
# load the WireGuard kernel module
kldload -n if_wg || fatal 'Cannot load if_wg kernel module'"
@@ -351,10 +351,6 @@ main() {
project_name="rosenpass"
verbose=0
scriptdir="$(dirname "${script}")"
- gitdir="$(detect_git_dir)" || true
- if [[ -d /nix ]]; then
- nixdir="$(readlink -f result/bin/rp | grep -Pio '^/nix/store/[^/]+(?=/bin/[^/]+)')" || true
- fi
binary="$(find_rosenpass_binary)"
# Parse command

23
net/rosenpass/pkg-descr Normal file
View File

@ -0,0 +1,23 @@
Rosenpass implements a post-quantum-secure key exchange in the spirit of
a Noise protocol. The motivating use case is integrating with the
WireGuard VPN: In this mode, the key generated by Rosenpass is supplied
to WireGuard as its pre-shared symmetric key (PSK). This results in a
WireGuard VPN connection with hybrid post-quantum security.
While Rosenpass is designed with WireGuard in mind, it can be used as a
stand-alone tool to exchange keys. Using this mode, it can be used to
secure other protocols against attacks from quantum computers, given
that they offer using a PSK, and that a secure PSK is sufficient for
security of the protocol. To use this mode, the rosenpass binary must be
used together with the outfile <FILE> parameter. Then, Rosenpass will
write a key to the given file every two minutes, and print a message on
standard out to notify the user or the calling script that the key has
changed.
The implementation is written in Rust but uses libsodium and liboqs --
both of which are C libraries. This does not result in pretty code
everywhere, but enables some advanced security features such as using
libsodium's sodium_malloc. We use a couple of techniques to make sure
the code is secure: We use variable colouring (gating use of a secret
value through a .secret() method), and the code zeroizes all key
material.