aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/crates-crypto.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/crates-crypto.scm')
-rw-r--r--gnu/packages/crates-crypto.scm1015
1 files changed, 879 insertions, 136 deletions
diff --git a/gnu/packages/crates-crypto.scm b/gnu/packages/crates-crypto.scm
index d4205f7d70..422edfbc1d 100644
--- a/gnu/packages/crates-crypto.scm
+++ b/gnu/packages/crates-crypto.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
@@ -16,6 +16,7 @@
;;; Copyright © 2023 Steve George <steve@futurile.net>
;;; Copyright © 2023 VÖRÖSKŐI András <voroskoi@gmail.com>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -155,14 +156,14 @@ with Associated Data (AEAD) algorithms.")
(define-public rust-aes-0.8
(package
(name "rust-aes")
- (version "0.8.3")
+ (version "0.8.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "aes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1qi7z96wf3zd6alg116nh2myp34bw2574jwly4zrhpz9k19887xc"))))
+ (base32 "1853796anlwp4kqim0s6wm1srl4ib621nm0cl2h3c8klsjkgfsdi"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -192,13 +193,14 @@ ciphers implementations.")
(sha256
(base32 "1f0sdx2fsa8w3l7xzsyi9ry3shvnnsgc0znh50if9fm95vslg2wy"))))
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
+ `(#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1)
("rust-cipher" ,rust-cipher-0.3)
("rust-cpufeatures" ,rust-cpufeatures-0.2)
("rust-ctr" ,rust-ctr-0.8)
- ("rust-opaque-debug" ,rust-opaque-debug-0.3))))))
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3))
+ #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.3)
+ ("rust-hex-literal" ,rust-hex-literal-0.2))))))
(define-public rust-aes-0.6
(package
@@ -318,6 +320,36 @@ Data (AEAD) Cipher with optional architecture-specific hardware
acceleration.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-aes-gcm-0.9
+ (package
+ (inherit rust-aes-gcm-0.10)
+ (name "rust-aes-gcm")
+ (version "0.9.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aes-gcm" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1xndncn1phjb7pjam63vl0yp7h8jh95m0yxanr1092vx7al8apyz"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "Cargo.toml"
+ (((string-append ">=([[:digit:]]+(\\.[[:digit:]]+)*),"
+ " <([[:digit:]]+(\\.[[:digit:]]+)*)")
+ _ version _)
+ (string-append ">=" version)))))))
+ (arguments
+ `(#:cargo-inputs (("rust-aead" ,rust-aead-0.4)
+ ("rust-aes" ,rust-aes-0.7)
+ ("rust-cipher" ,rust-cipher-0.3)
+ ("rust-ctr" ,rust-ctr-0.8)
+ ("rust-ghash" ,rust-ghash-0.4)
+ ("rust-subtle" ,rust-subtle-2)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-aead" ,rust-aead-0.4)
+ ("rust-hex-literal" ,rust-hex-literal-0.3))))))
+
(define-public rust-aes-gcm-0.8
(package
(inherit rust-aes-gcm-0.10)
@@ -615,18 +647,18 @@ portable \"best effort\" constant-time operation and embedded-friendly
@code{no_std} support.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-base64ct-1.0.1
+(define-public rust-base64ct-1.1
(package
(inherit rust-base64ct-1)
(name "rust-base64ct")
- (version "1.0.1")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "base64ct" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0sx4a44c2n450lsmi0q1mgfbjhkw1sx57462cv77p0mmy9mgscla"))))
+ (base32 "0p4was874qc90q2chm2i14m9mn8zmxjis8vaxihd6a2x4aqxkd76"))))
(arguments '())))
(define-public rust-blake2-0.10
@@ -703,20 +735,20 @@ portable \"best effort\" constant-time operation and embedded-friendly
(define-public rust-blake2b-simd-1
(package
(name "rust-blake2b-simd")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (crate-uri "blake2b_simd" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1g04mc4gf6jyymyj41749jhhplm3ymnc6z7rhkc1fqwclv4hsbrw"))))
+ "102pfciq6g59hf47gv6kix42cgpqw8pjyf9hx0r3jyb94b9mla13"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-arrayref" ,rust-arrayref-0.3)
("rust-arrayvec" ,rust-arrayvec-0.7)
- ("rust-constant-time-eq" ,rust-constant-time-eq-0.2))))
+ ("rust-constant-time-eq" ,rust-constant-time-eq-0.3))))
(home-page "https://github.com/oconnor663/blake2_simd")
(synopsis "Pure Rust BLAKE2b implementation with dynamic SIMD")
(description
@@ -901,14 +933,14 @@ and block modes.")
(define-public rust-botan-0.10
(package
(name "rust-botan")
- (version "0.10.3")
+ (version "0.10.7")
(source (origin
(method url-fetch)
(uri (crate-uri "botan" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1vzl5pdysh848zpphsgvj9c40zdi3ynl32zzixsd8vg4vaflhb49"))))
+ "0gn5aznnaxwlf2500q5dk9c24sgy7dasqqzql7w86s1w3apq201m"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -942,17 +974,17 @@ and block modes.")
(define-public rust-botan-sys-0.10
(package
(name "rust-botan-sys")
- (version "0.10.3")
+ (version "0.10.5")
(source (origin
(method url-fetch)
(uri (crate-uri "botan-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1cbjr44gc5dhmgl43sfiqzbsma4anfi3h26m4yzsli23yd1lmyf8"))))
+ "1ji12rxvi4h7pap772cd2hw4xdgqdsgw6m8wqin9klpbp3hxsjcz"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs (("rust-botan-src" ,rust-botan-src-0.21903))))
+ `(#:cargo-inputs (("rust-botan-src" ,rust-botan-src-0.30101))))
(inputs (list botan))
(home-page "https://botan.randombit.net/")
(synopsis "FFI wrapper for Botan cryptography library")
@@ -975,20 +1007,20 @@ and block modes.")
(("rust-botan-src" ,rust-botan-src-0.21703)
("rust-cty" ,rust-cty-0.2))))))
-(define-public rust-botan-src-0.21903
+(define-public rust-botan-src-0.30101
(package
(name "rust-botan-src")
- (version "0.21903.1")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "botan-src" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "19fhll4g0v8hbyjxg8c790l9ln5xgf4r6xdcnw438mpy81hvrdxy"))
- (modules '((guix build utils)))
- (snippet
- '(begin (delete-file-recursively "botan")))))
+ (version "0.30101.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "botan-src" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "17xwnan8r21hzbxdailnidp9q54g787s9njhy63yqw83q0k09bxa"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (delete-file-recursively "botan")))))
(build-system cargo-build-system)
(arguments '(#:skip-build? #t))
(home-page "https://botan.randombit.net/")
@@ -998,7 +1030,7 @@ and block modes.")
(define-public rust-botan-src-0.21703
(package
- (inherit rust-botan-src-0.21903)
+ (inherit rust-botan-src-0.30101)
(name "rust-botan-src")
(version "0.21703.0")
(source (origin
@@ -1041,6 +1073,27 @@ and block modes.")
"The ChaCha family of stream ciphers.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-camellia-0.1
+ (package
+ (name "rust-camellia")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "camellia" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0c6f61rf0gzq7x9d2qmp0330pb397aldwdpmwqybbwly9rby4r1j"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-cipher" ,rust-cipher-0.4))
+ #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.4))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Camellia block cipher")
+ (description "This package provides the camellia block cipher.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-cast5-0.11
(package
(name "rust-cast5")
@@ -1168,8 +1221,64 @@ XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
(("rust-cipher" ,rust-cipher-0.3)
("rust-hex-literal" ,rust-hex-literal-0.2))))))
+(define-public rust-chacha20-0.7
+ (package
+ (inherit rust-chacha20-0.9)
+ (name "rust-chacha20")
+ (version "0.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "chacha20" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1c8h4sp9zh13v8p9arydjcj92xc6j3mccrjc4mizrvq7fzx9717h"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "Cargo.toml"
+ (("version = \">=1, <1.4\"") "version = \"^1\""))))))
+ (arguments
+ `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-cipher" ,rust-cipher-0.3)
+ ("rust-cpufeatures" ,rust-cpufeatures-0.2)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.3)
+ ("rust-hex-literal" ,rust-hex-literal-0.2))))))
+
+(define-public rust-chacha20poly1305-0.10
+ (package
+ (name "rust-chacha20poly1305")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "chacha20poly1305" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0dfwq9ag7x7lnd0znafpcn8h7k4nfr9gkzm0w7sc1lcj451pkk8h"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-aead" ,rust-aead-0.5)
+ ("rust-chacha20" ,rust-chacha20-0.9)
+ ("rust-cipher" ,rust-cipher-0.4)
+ ("rust-poly1305" ,rust-poly1305-0.8)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-aead" ,rust-aead-0.5))))
+ (home-page "https://github.com/RustCrypto/AEADs/tree/master/chacha20poly1305")
+ (synopsis "Rust implementation of ChaCha20Poly1305 Authenticated Encryption")
+ (description
+ "Pure Rust implementation of the ChaCha20Poly1305 Authenticated Encryption
+with Additional Data Cipher (RFC 8439) with optional architecture-specific
+hardware acceleration. Also contains implementations of the XChaCha20Poly1305
+extended nonce variant of ChaCha20Poly1305, and the reduced-round
+ChaCha8Poly1305 and ChaCha12Poly1305 lightweight variants.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-chacha20poly1305-0.9
(package
+ (inherit rust-chacha20poly1305-0.10)
(name "rust-chacha20poly1305")
(version "0.9.1")
(source
@@ -1184,7 +1293,6 @@ XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
'(begin
(substitute* "Cargo.toml"
(("version = \">=1, <1.5\"") "version = \"^1\""))))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-aead" ,rust-aead-0.4)
@@ -1193,17 +1301,32 @@ XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
("rust-poly1305" ,rust-poly1305-0.7)
("rust-zeroize" ,rust-zeroize-1))
#:cargo-development-inputs
- (("rust-aead" ,rust-aead-0.4))))
- (home-page "https://github.com/RustCrypto/AEADs/tree/master/chacha20poly1305")
- (synopsis
- "Pure Rust implementation of ChaCha20Poly1305 Authenticated Encryption")
- (description
- "Pure Rust implementation of the ChaCha20Poly1305 Authenticated
-Encryption with Additional Data Cipher (RFC 8439) with optional
-architecture-specific hardware acceleration. Also contains implementations of
-the XChaCha20Poly1305 extended nonce variant of ChaCha20Poly1305, and the
-reduced-round ChaCha8Poly1305 and ChaCha12Poly1305 lightweight variants.")
- (license (list license:asl2.0 license:expat))))
+ (("rust-aead" ,rust-aead-0.4))))))
+
+(define-public rust-chacha20poly1305-0.8
+ (package
+ (inherit rust-chacha20poly1305-0.10)
+ (name "rust-chacha20poly1305")
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "chacha20poly1305" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "18mb6k1w71dqv5q50an4rvp19l6yg8ssmvfrmknjfh2z0az7lm5n"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "Cargo.toml"
+ (("version = \">=1, <1.4\"") "version = \"^1\""))))))
+ (arguments
+ `(#:cargo-inputs (("rust-aead" ,rust-aead-0.4)
+ ("rust-chacha20" ,rust-chacha20-0.7)
+ ("rust-cipher" ,rust-cipher-0.3)
+ ("rust-poly1305" ,rust-poly1305-0.7)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-aead" ,rust-aead-0.4))))))
(define-public rust-cipher-0.4
(package
@@ -1622,6 +1745,36 @@ algorithms.")
hash functions.")
(license license:expat)))
+(define-public rust-csrf-0.4
+ (package
+ (name "rust-csrf")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "csrf" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1q7ixhshj6a7x2vgsr4d4iqa5mgp4fwkr4lx2hgvnj9xcy1py9dh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-aead" ,rust-aead-0.4)
+ ("rust-aes-gcm" ,rust-aes-gcm-0.9)
+ ("rust-byteorder" ,rust-byteorder-1)
+ ("rust-chacha20poly1305" ,rust-chacha20poly1305-0.8)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-data-encoding" ,rust-data-encoding-2)
+ ("rust-generic-array" ,rust-generic-array-0.14)
+ ("rust-hmac" ,rust-hmac-0.11)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-sha2" ,rust-sha2-0.9)
+ ("rust-typemap" ,rust-typemap-0.3))))
+ (home-page "https://github.com/heartsucker/rust-csrf")
+ (synopsis "CSRF protection primitives")
+ (description "This package provides CSRF protection primitives.")
+ (license license:expat)))
+
(define-public rust-ctr-0.9
(package
(name "rust-ctr")
@@ -1685,8 +1838,49 @@ re-exported cipher crate.")
`(#:skip-build? #t
#:cargo-inputs (("rust-cipher" ,rust-cipher-0.2))))))
+(define-public rust-curve25519-dalek-4
+ (package
+ (name "rust-curve25519-dalek")
+ (version "4.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "curve25519-dalek" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0j7kqchcgycs4a11gvlda93h9w2jr05nn4hjpfyh2kn94a4pnrqa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-cpufeatures" ,rust-cpufeatures-0.2)
+ ("rust-curve25519-dalek-derive" ,rust-curve25519-dalek-derive-0.1)
+ ("rust-digest" ,rust-digest-0.10)
+ ("rust-ff" ,rust-ff-0.13)
+ ("rust-fiat-crypto" ,rust-fiat-crypto-0.2)
+ ("rust-group" ,rust-group-0.13)
+ ("rust-platforms" ,rust-platforms-3)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-rustc-version" ,rust-rustc-version-0.4)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-subtle" ,rust-subtle-2)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-sha2" ,rust-sha2-0.10))))
+ (home-page "https://doc.dalek.rs/curve25519_dalek")
+ (synopsis "Group operations on ristretto255 and Curve25519")
+ (description
+ "This package provides a pure-Rust implementation of group operations
+on ristretto255 and Curve25519.")
+ (license license:bsd-3)))
+
(define-public rust-curve25519-dalek-3
(package
+ (inherit rust-curve25519-dalek-4)
(name "rust-curve25519-dalek")
(version "3.2.0")
(source
@@ -1696,7 +1890,6 @@ re-exported cipher crate.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0q8v97275cy6v4ly6y2qwv9a8phnpjg9sy8kv7r6mgdjfacxz7qb"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-byteorder" ,rust-byteorder-1)
@@ -1712,13 +1905,28 @@ re-exported cipher crate.")
("rust-criterion" ,rust-criterion-0.3)
("rust-hex" ,rust-hex-0.4)
("rust-rand" ,rust-rand-0.7)
- ("rust-sha2" ,rust-sha2-0.9))))
- (home-page "https://dalek.rs/curve25519-dalek")
- (synopsis "Group operations on ristretto255 and Curve25519")
- (description
- "This package provides a pure-Rust implementation of group operations on
-ristretto255 and Curve25519.")
- (license license:bsd-3)))
+ ("rust-sha2" ,rust-sha2-0.9))))))
+
+(define-public rust-curve25519-dalek-derive-0.1
+ (package
+ (name "rust-curve25519-dalek-derive")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "curve25519-dalek-derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1cry71xxrr0mcy5my3fb502cwfxy6822k4pm19cwrilrg7hq4s7l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-2))))
+ (home-page "https://doc.dalek.rs/curve25519_dalek")
+ (synopsis "curve25519-dalek Derives")
+ (description "This package provides curve25519-dalek Derives.")
+ (license (list license:expat license:asl2.0))))
(define-public rust-curve25519-dalek-ng-4
(package
@@ -1882,8 +2090,9 @@ ciphers implementations.")
(define-public rust-digest-0.6
(package
+ (inherit rust-digest-0.10)
(name "rust-digest")
- (version "0.6.2")
+ (version "0.6.1")
(source
(origin
(method url-fetch)
@@ -1891,16 +2100,45 @@ ciphers implementations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "02mgf8z4hi96w9nl2zb5w3k6lqbhjgv5z8hhyv2b7x7kavqrpcp5"))))
- (build-system cargo-build-system)
+ "1lgv5rs7i903zvmkdbil0bcjx9vxvi9rx4z9qavapz199q31rbpc"))))
(arguments
`(#:cargo-inputs
- (("rust-generic-array" ,rust-generic-array-0.8))))
- (home-page "https://github.com/RustCrypto/traits")
- (synopsis "Traits for cryptographic hash functions")
- (description "This package provides traits for cryptographic hash
-functions.")
- (license (list license:expat license:asl2.0))))
+ (("rust-generic-array" ,rust-generic-array-0.8))))))
+
+(define-public rust-dsa-0.6
+ (package
+ (name "rust-dsa")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "dsa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12bn5d0nnni4mlla24m3bwi4mhy2nfmyak2qjl0pdbc4j1525g28"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-digest" ,rust-digest-0.10)
+ ("rust-num-bigint-dig" ,rust-num-bigint-dig-0.8)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-pkcs8" ,rust-pkcs8-0.10)
+ ("rust-rfc6979" ,rust-rfc6979-0.4)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-signature" ,rust-signature-2)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-pkcs8" ,rust-pkcs8-0.10)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.3)
+ ("rust-sha1" ,rust-sha1-0.10))))
+ (home-page "https://github.com/RustCrypto/signatures/tree/master/dsa")
+ (synopsis
+ "Rust implementation of the Digital Signature Algorithm (DSA)")
+ (description
+ "This package provides a pure Rust implementation of the @acronym{Digital
+Signature Algorithm, DSA} as specified in FIPS 186-4 (Digital Signature
+Standard), providing RFC6979 deterministic signatures as well as support for
+added entropy.")
+ (license (list license:asl2.0 license:expat))))
(define-public rust-eax-0.5
(package
@@ -1938,14 +2176,14 @@ same thing).")
(define-public rust-ecdsa-0.16
(package
(name "rust-ecdsa")
- (version "0.16.6")
+ (version "0.16.9")
(source (origin
(method url-fetch)
(uri (crate-uri "ecdsa" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1zapr75j8w1b7bdnijppb94f2jrk2qdrhv8i4fqc0c4agd9mv3m4"))))
+ "1jhb0bcbkaz4001sdmfyv8ajrv8a1cg7z7aa5myrd4jjbhmz69zf"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -1955,7 +2193,8 @@ same thing).")
("rust-rfc6979" ,rust-rfc6979-0.4)
("rust-serdect" ,rust-serdect-0.2)
("rust-sha2" ,rust-sha2-0.10)
- ("rust-signature" ,rust-signature-2))
+ ("rust-signature" ,rust-signature-2)
+ ("rust-spki" ,rust-spki-0.7))
#:cargo-development-inputs
(("rust-elliptic-curve" ,rust-elliptic-curve-0.13)
("rust-hex-literal" ,rust-hex-literal-0.4)
@@ -2024,8 +2263,47 @@ support for added entropy.")
"ECIES on Twisted Edwards Curve25519 using AES-GCM and HKDF-SHA256.")
(license (list license:expat license:asl2.0))))
+(define-public rust-ed25519-2
+ (package
+ (name "rust-ed25519")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ed25519" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0lydzdf26zbn82g7xfczcac9d7mzm3qgx934ijjrd5hjpjx32m8i"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-pkcs8" ,rust-pkcs8-0.10)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+ ("rust-signature" ,rust-signature-2)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs
+ (("rust-bincode" ,rust-bincode-1)
+ ("rust-ed25519-dalek" ,rust-ed25519-dalek-2)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-ring-compat" ,rust-ring-compat-0.8))))
+ (home-page "https://github.com/RustCrypto/signatures/tree/master/ed25519")
+ (synopsis "Edwards Digital Signature Algorithm over Curve25519")
+ (description
+ "EdDSA over Curve25519 is specified in RFC 8032. This package
+contains an ed25519::Signature type which other packages can use in
+conjunction with the signature::Signer and signature::Verifier traits.
+It doesn't contain an implementation of Ed25519.
+
+These traits allow packages which produce and consume Ed25519 signatures
+to be written abstractly in such a way that different signer/verifier
+providers can be plugged in, enabling support for using different Ed25519
+implementations, including HSMs or Cloud KMS services.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-ed25519-1
(package
+ (inherit rust-ed25519-2)
(name "rust-ed25519")
(version "1.5.3")
(source (origin
@@ -2047,20 +2325,7 @@ support for added entropy.")
(("rust-bincode" ,rust-bincode-1)
("rust-ed25519-dalek" ,rust-ed25519-dalek-1)
("rust-hex-literal" ,rust-hex-literal-0.3)
- ("rust-rand-core" ,rust-rand-core-0.5))))
- (home-page "https://github.com/RustCrypto/signatures/tree/master/ed25519")
- (synopsis "Edwards Digital Signature Algorithm (EdDSA) over Curve25519")
- (description
- "EdDSA over Curve25519 is specified in RFC 8032. This package contains
-an ed25519::Signature type which other packages can use in conjunction with
-the signature::Signer and signature::Verifier traits It doesn't contain an
-implementation of Ed25519.
-
-These traits allow packages which produce and consume Ed25519 signatures to be
-written abstractly in such a way that different signer/verifier providers can
-be plugged in, enabling support for using different Ed25519 implementations,
-including HSMs or Cloud KMS services.")
- (license (list license:asl2.0 license:expat))))
+ ("rust-rand-core" ,rust-rand-core-0.5))))))
(define-public rust-ed25519-compact-2
(package
@@ -2089,8 +2354,57 @@ including HSMs or Cloud KMS services.")
implementation.")
(license license:expat)))
+(define-public rust-ed25519-dalek-2
+ (package
+ (name "rust-ed25519-dalek")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ed25519-dalek" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0w88cafwglg9hjizldbmlza0ns3hls81zk1bcih3m5m3h67algaa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags '("--release" "--"
+ ;; Some tests aren't shipped in the crate.
+ "--skip=vectors::against_reference_implementation"
+ "--skip=check_validation_criteria"
+ "--skip=find_validation_criteria")
+ #:cargo-inputs (("rust-curve25519-dalek" ,rust-curve25519-dalek-4)
+ ("rust-ed25519" ,rust-ed25519-2)
+ ("rust-merlin" ,rust-merlin-3)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-signature" ,rust-signature-2)
+ ("rust-subtle" ,rust-subtle-2)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs
+ (("rust-bincode" ,rust-bincode-1)
+ ("rust-blake2" ,rust-blake2-0.10)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-curve25519-dalek" ,rust-curve25519-dalek-4)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-sha3" ,rust-sha3-0.10)
+ ("rust-toml" ,rust-toml-0.7)
+ ("rust-x25519-dalek" ,rust-x25519-dalek-2))))
+ (home-page "https:///doc.dalek.rs/ed25519_dalek")
+ (synopsis "Ed25519 EdDSA key generations, signing, and verification")
+ (description
+ "This package provides fast and efficient ed25519 @code{EdDSA} key
+generations, signing, and verification in pure Rust.")
+ (license license:bsd-3)))
+
(define-public rust-ed25519-dalek-1
(package
+ (inherit rust-ed25519-dalek-2)
(name "rust-ed25519-dalek")
(version "1.0.1")
(source
@@ -2112,25 +2426,20 @@ implementation.")
("rust-serde" ,rust-serde-1)
("rust-serde-bytes" ,rust-serde-bytes-0.11)
("rust-sha2" ,rust-sha2-0.9)
- ("rust-zeroize" ,rust-zeroize-1))))
- (home-page "https://dalek.rs")
- (synopsis "Ed25519 EdDSA key generations, signing, and verification")
- (description
- "This package provides fast and efficient ed25519 EdDSA key generations,
-signing, and verification in pure Rust.")
- (license license:bsd-3)))
+ ("rust-zeroize" ,rust-zeroize-1))))))
+
(define-public rust-elliptic-curve-0.13
(package
(name "rust-elliptic-curve")
- (version "0.13.4")
+ (version "0.13.8")
(source (origin
(method url-fetch)
(uri (crate-uri "elliptic-curve" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1rqn7yq9rgfs7r0dcj4phxf9hqmw2alfxa0lciamsbkz6sm1xivm"))))
+ "0ixx4brgnzi61z29r3g1606nh2za88hzyz8c5r3p6ydzhqq09rmm"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -2150,6 +2459,7 @@ signing, and verification in pure Rust.")
("rust-serde-json" ,rust-serde-json-1)
("rust-serdect" ,rust-serdect-0.2)
("rust-subtle" ,rust-subtle-2)
+ ("rust-tap" ,rust-tap-1)
("rust-zeroize" ,rust-zeroize-1))
#:cargo-development-inputs
(("rust-hex-literal" ,rust-hex-literal-0.4)
@@ -2199,6 +2509,38 @@ curve forms, scalars, points, and public/secret keys composed thereof.")
("rust-sha2" ,rust-sha2-0.10)
("rust-sha3" ,rust-sha3-0.10))))))
+(define-public rust-fiat-crypto-0.2
+ (package
+ (name "rust-fiat-crypto")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fiat-crypto" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "10hkkkjynhibvchznkxx81gwxqarn9i5sgz40d6xxb8xzhsz8xhn"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/mit-plv/fiat-crypto")
+ (synopsis "Fiat-crypto generated Rust")
+ (description "This crate provides the extracted Rust code from the Coq
+@code{fiat-crypto} libraries.")
+ (license (list license:expat license:asl2.0 license:bsd-1))))
+
+(define-public rust-fiat-crypto-0.1
+ (package
+ (inherit rust-fiat-crypto-0.2)
+ (name "rust-fiat-crypto")
+ (version "0.1.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fiat-crypto" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xvbcg6wh42q3n7294mzq5xxw8fpqsgc0d69dvm5srh1f6cgc9g8"))))))
+
(define-public rust-ghash-0.5
(package
(name "rust-ghash")
@@ -2225,6 +2567,31 @@ for constructing a Message Authentication Code (MAC), as in the AES-GCM
authenticated encryption cipher.")
(license (list license:expat license:asl2.0))))
+(define-public rust-ghash-0.4
+ (package
+ (inherit rust-ghash-0.5)
+ (name "rust-ghash")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ghash" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "169wvrc2k9lw776x3pmqp76kc0w5717wz01bfg9rz0ypaqbcr0qm"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "Cargo.toml"
+ (((string-append ">=([[:digit:]]+(\\.[[:digit:]]+)*),"
+ " <([[:digit:]]+(\\.[[:digit:]]+)*)")
+ _ version _)
+ (string-append ">=" version)))))))
+ (arguments
+ `(#:cargo-inputs (("rust-opaque-debug" ,rust-opaque-debug-0.3)
+ ("rust-polyval" ,rust-polyval-0.5)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3))))))
+
(define-public rust-ghash-0.3
(package
(inherit rust-ghash-0.5)
@@ -2520,6 +2887,48 @@ Hash-based Message Authentication Code}.")
Hash-based Message Authentication Code algorithm} for SHA1.")
(license license:bsd-3)))
+(define-public rust-k256-0.13
+ (package
+ (name "rust-k256")
+ (version "0.13.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "k256" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0ysq18pjz040am5llgly90464x7qqq98yxfbcsladq96gsvgjvwm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-ecdsa" ,rust-ecdsa-0.16)
+ ("rust-elliptic-curve" ,rust-elliptic-curve-0.13)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-serdect" ,rust-serdect-0.2)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-signature" ,rust-signature-2))
+ #:cargo-development-inputs (("rust-blobby" ,rust-blobby-0.3)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-ecdsa" ,rust-ecdsa-0.16)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-num-bigint" ,rust-num-bigint-0.4)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-proptest" ,rust-proptest-1)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-sha3" ,rust-sha3-0.10))))
+ (home-page
+ "https://github.com/RustCrypto/elliptic-curves/tree/master/k256")
+ (synopsis
+ "Library supporting general-purpose elliptic curve group operations")
+ (description
+ "This package provides a secp256k1 elliptic curve library written in pure
+Rust with support for ECDSA signing/verification/public-key recovery,
+@dfn{Taproot Schnorr signatures} (BIP340), @dfn{Elliptic Curve Diffie-Hellman}
+(ECDH), and general-purpose secp256k1 elliptic curve group operations which can
+be used to implement arbitrary protocols.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-kuznyechik-0.8
(package
(name "rust-kuznyechik")
@@ -2542,23 +2951,69 @@ Hash-based Message Authentication Code algorithm} for SHA1.")
(description "Kuznyechik (GOST R 34.12-2015) block cipher")
(license (list license:expat license:asl2.0))))
+(define-public rust-mas-jose-0.7
+ (package
+ (name "rust-mas-jose")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "mas-jose" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0x1cikddf2z3994374ql0qs02l9mxrlb74cy4pbq3yrlzcfjb6mk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-base64ct" ,rust-base64ct-1)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-digest" ,rust-digest-0.10)
+ ("rust-ecdsa" ,rust-ecdsa-0.16)
+ ("rust-elliptic-curve" ,rust-elliptic-curve-0.13)
+ ("rust-generic-array" ,rust-generic-array-0.14)
+ ("rust-hmac" ,rust-hmac-0.12)
+ ("rust-k256" ,rust-k256-0.13)
+ ("rust-mas-iana" ,rust-mas-iana-0.7)
+ ("rust-p256" ,rust-p256-0.13)
+ ("rust-p384" ,rust-p384-0.13)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rsa" ,rust-rsa-0.9)
+ ("rust-schemars" ,rust-schemars-0.8)
+ ("rust-sec1" ,rust-sec1-0.7)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-serde-with" ,rust-serde-with-3)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-signature" ,rust-signature-2)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-url" ,rust-url-2))
+ #:cargo-development-inputs
+ (("rust-insta" ,rust-insta-1)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.3))))
+ (home-page "https://matrix-org.github.io/matrix-authentication-service/")
+ (synopsis "JSON Object Signing and Encryption (JWT & co.) utilities")
+ (description "This package provides JSON Object Signing and Encryption
+(JWT & co.) utilities.")
+ (license license:asl2.0)))
+
(define-public rust-md-5-0.10
(package
(name "rust-md-5")
- (version "0.10.5")
+ (version "0.10.6")
(source (origin
(method url-fetch)
(uri (crate-uri "md-5" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jmrykh705dfclkgxwjysj5y8l1nyrn1gddw5xpgyjyla1l50rb3"))))
+ "1kvq5rnpm4fzwmyv5nmnxygdhhb2369888a06gdc9pxyrzh7x7nq"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-digest" ,rust-digest-0.10)
- ("rust-md5-asm" ,rust-md5-asm-0.5))))
+ `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-digest" ,rust-digest-0.10)
+ ("rust-md5-asm" ,rust-md5-asm-0.5))
+ #:cargo-development-inputs (("rust-digest" ,rust-digest-0.10)
+ ("rust-hex-literal" ,rust-hex-literal-0.2))))
(home-page "https://github.com/RustCrypto/hashes")
(synopsis "MD5 hash function")
(description
@@ -2786,25 +3241,25 @@ cryptographic library.")
(define-public rust-orion-0.17
(package
(name "rust-orion")
- (version "0.17.4")
+ (version "0.17.6")
(source (origin
(method url-fetch)
(uri (crate-uri "orion" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0ri0b0vyd9vqwlzlcv0q4i7r9pga23q7nnnvd5z4zycjc9v4mryb"))))
+ "1rcm8vgzb1rvm1ilgak1lkia3wasdmnmv93b055qqg4hh40v3gbs"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-ct-codecs" ,rust-ct-codecs-1)
- ("rust-fiat-crypto" ,rust-fiat-crypto-0.1)
+ ("rust-fiat-crypto" ,rust-fiat-crypto-0.2)
("rust-getrandom" ,rust-getrandom-0.2)
("rust-serde" ,rust-serde-1)
("rust-subtle" ,rust-subtle-2)
("rust-zeroize" ,rust-zeroize-1))
#:cargo-development-inputs
- (("rust-criterion" ,rust-criterion-0.4)
+ (("rust-criterion" ,rust-criterion-0.5)
("rust-hex" ,rust-hex-0.4)
("rust-quickcheck" ,rust-quickcheck-1)
("rust-quickcheck-macros" ,rust-quickcheck-macros-1)
@@ -3213,6 +3668,34 @@ Standards (PKCS) #5: Password-Based Cryptography Specification Version
("rust-sha2" ,rust-sha2-0.9)
("rust-spki" ,rust-spki-0.4))))))
+(define-public rust-pkcs7-0.4
+ (package
+ (name "rust-pkcs7")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pkcs7" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1rvp9gm7vzcbbzz6vr6xz6ri2szgxm35j0zk5dhf01b40sz7i4fp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-der" ,rust-der-0.7)
+ ("rust-spki" ,rust-spki-0.7)
+ ("rust-x509-cert" ,rust-x509-cert-0.2))
+ #:cargo-development-inputs
+ (("rust-der" ,rust-der-0.7)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-x509-cert" ,rust-x509-cert-0.2))))
+ (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs7")
+ (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #7")
+ (description
+ "This package is a pure Rust implementation of Public-Key
+Cryptography Standards (PKCS) #7: Cryptographic Message Syntax
+Specification (RFC 5652).")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-pkcs8-0.10
(package
(name "rust-pkcs8")
@@ -3378,8 +3861,7 @@ implementation suitable for use with cryptographic private keys.")
(sha256
(base32 "1m1c9jypydzabg4yscplmvff7pdcc8gg4cqg081hnlf03hxkmsc4"))))
(arguments
- `(#:skip-build? #t
- #:cargo-inputs (("rust-base64ct" ,rust-base64ct-1))))))
+ `(#:cargo-inputs (("rust-base64ct" ,rust-base64ct-1.1))))))
(define-public rust-poly1305-0.8
(package
@@ -3458,6 +3940,33 @@ a cipher, can be used as a Message Authentication Code (MAC).")
for constructing a Message Authentication Code (MAC).")
(license (list license:asl2.0 license:expat))))
+(define-public rust-polyval-0.5
+ (package
+ (inherit rust-polyval-0.6)
+ (name "rust-polyval")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "polyval" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1890wqvc0csc9y9k9k4gsbz91rgdnhn6xnfmy9pqkh674fvd46c4"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "Cargo.toml"
+ (((string-append ">=([[:digit:]]+(\\.[[:digit:]]+)*),"
+ " <([[:digit:]]+(\\.[[:digit:]]+)*)")
+ _ version _)
+ (string-append ">=" version)))))))
+ (arguments
+ `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-cpufeatures" ,rust-cpufeatures-0.2)
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3)
+ ("rust-universal-hash" ,rust-universal-hash-0.4)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3))))))
+
(define-public rust-polyval-0.4
(package
(inherit rust-polyval-0.6)
@@ -3501,7 +4010,7 @@ for constructing a Message Authentication Code (MAC).")
(define-public rust-ppv-lite86-0.2
(package
(name "rust-ppv-lite86")
- (version "0.2.8")
+ (version "0.2.17")
(source
(origin
(method url-fetch)
@@ -3509,7 +4018,7 @@ for constructing a Message Authentication Code (MAC).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1shj4q7jwj0azssr8cg51dk3kh7d4lg9rmbbz1kbqk971vc5wyi3"))))
+ "1pp6g52aw970adv3x2310n7glqnji96z0a9wiamzw89ibf0ayh2v"))))
(build-system cargo-build-system)
(home-page "https://github.com/cryptocorrosion/cryptocorrosion")
(synopsis "Implementation of the crypto-simd API for x86")
@@ -3590,16 +4099,16 @@ Digital Signature Algorithm} (ECDSA).")
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define rust-ring-0.17-sources
- (let* ((version "0.17.7")
+ (let* ((version "0.17.8")
(upstream-source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/briansmith/ring")
- (commit "2be687bebdf76648ce85109d40c015412e14b0da")))
+ (commit "fa98b490bcbc99a01ff150896ec74c1813242d7f")))
(file-name (git-file-name "rust-ring" version))
(sha256
- (base32 "1i3b7sha8yj990v2s5yk2a5dx3v4x9b8ckzm6bgiyi6wk4vnid69"))
+ (base32 "0rqfal81bf4l3dja98cajfjq2jbz1rcx7xdp2r33cxrm5y5psr28"))
(patches (search-patches "rust-ring-0.17-ring-core.patch")))))
(origin
(method computed-origin-method)
@@ -3680,6 +4189,7 @@ Digital Signature Algorithm} (ECDSA).")
"crypto/fipsmodule/bn/asm/armv8-mont.pl"
"crypto/fipsmodule/ec/asm/p256-armv8-asm.pl"
"crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl"
+ "crypto/fipsmodule/modes/asm/aesv8-gcm-armv8.pl"
"crypto/fipsmodule/sha/asm/sha512-armv8.pl"))
(for-each
@@ -3779,16 +4289,17 @@ Digital Signature Algorithm} (ECDSA).")
(define-public rust-ring-0.17
(package
(name "rust-ring")
- (version "0.17.7")
+ (version "0.17.8")
(source rust-ring-0.17-sources)
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs (("rust-cc" ,rust-cc-1)
+ `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-cc" ,rust-cc-1)
("rust-getrandom" ,rust-getrandom-0.2)
("rust-libc" ,rust-libc-0.2)
("rust-spin" ,rust-spin-0.9)
("rust-untrusted" ,rust-untrusted-0.9)
- ("rust-windows-sys" ,rust-windows-sys-0.48))
+ ("rust-windows-sys" ,rust-windows-sys-0.52))
#:cargo-development-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
@@ -4408,6 +4919,40 @@ Digital Signature Algorithm} (ECDSA).")
;; build dependencies
("rust-cc" ,rust-cc-1))))))
+(define-public rust-ring-compat-0.8
+ (package
+ (name "rust-ring-compat")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ring-compat" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1m2vvmbg607f55afx75b9kxbyx6b5wqvhhfv2445z08b2np7pknc"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-aead" ,rust-aead-0.5)
+ ("rust-digest" ,rust-digest-0.10)
+ ("rust-ecdsa" ,rust-ecdsa-0.16)
+ ("rust-ed25519" ,rust-ed25519-2)
+ ("rust-generic-array" ,rust-generic-array-0.14)
+ ("rust-p256" ,rust-p256-0.13)
+ ("rust-p384" ,rust-p384-0.13)
+ ("rust-pkcs8" ,rust-pkcs8-0.10)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-ring" ,rust-ring-0.17)
+ ("rust-signature" ,rust-signature-2))
+ #:cargo-development-inputs
+ (("rust-digest" ,rust-digest-0.10)
+ ("rust-hex-literal" ,rust-hex-literal-0.4))))
+ (home-page "https://github.com/RustCrypto/ring-compat")
+ (synopsis "RustCrypto trait and ring crypto algorithm compatibility")
+ (description
+ "This package provides compatibility for using @code{RustCrypto}
+traits with cryptographic algorithm implementations from @code{ring}.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-ripemd-0.1
(package
(name "rust-ripemd")
@@ -4738,14 +5283,14 @@ function.")
(define-public rust-sec1-0.7
(package
(name "rust-sec1")
- (version "0.7.2")
+ (version "0.7.3")
(source (origin
(method url-fetch)
(uri (crate-uri "sec1" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0vh4pvdfnghbjglh6k74vs93jj337jpli28bbyqr0srxh67c9bph"))))
+ "1p273j8c87pid6a1iyyc7vxbvifrw55wbxgr0dh3l8vnbxb7msfk"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -4757,7 +5302,7 @@ function.")
("rust-subtle" ,rust-subtle-2)
("rust-zeroize" ,rust-zeroize-1))
#:cargo-development-inputs
- (("rust-hex-literal" ,rust-hex-literal-0.3)
+ (("rust-hex-literal" ,rust-hex-literal-0.4)
("rust-tempfile" ,rust-tempfile-3))))
(home-page "https://github.com/RustCrypto/formats/tree/master/sec1")
(synopsis
@@ -5121,8 +5666,41 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
SHA1 for Rust.")
(license license:bsd-3)))
+(define-public rust-sha1collisiondetection-0.3
+ (package
+ (name "rust-sha1collisiondetection")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sha1collisiondetection" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0jwnwrk1x78v9r16jnac2s4v1m2f5a19khwkx1vjh0d6whhn8q0z"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-mangen" ,rust-clap-mangen-0.2)
+ ("rust-clap-mangen" ,rust-clap-mangen-0.2)
+ ("rust-const-oid" ,rust-const-oid-0.9)
+ ("rust-digest" ,rust-digest-0.10)
+ ("rust-generic-array" ,rust-generic-array-0.12))
+ #:cargo-development-inputs (("rust-getrandom" ,rust-getrandom-0.2)
+ ("rust-hex-literal" ,rust-hex-literal-0.4)
+ ("rust-sha1" ,rust-sha1-0.10))))
+ (home-page "https://gitlab.com/sequoia-pgp/sha1collisiondetection")
+ (synopsis "SHA-1 hash function with collision detection and mitigation")
+ (description
+ "This package implementation of the SHA-1 cryptographic hash algorithm.
+
+This is a port of Marc Stevens' sha1collisiondetection algorithm to Rust. The
+code is translated from C to Rust using c2rust.")
+ (license license:expat)))
+
(define-public rust-sha1collisiondetection-0.2
(package
+ (inherit rust-sha1collisiondetection-0.3)
(name "rust-sha1collisiondetection")
(version "0.2.3")
(source
@@ -5133,7 +5711,6 @@ SHA1 for Rust.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "10nh7s3d02136kkz93pxyfv628ls5xz8ndg27pkb6na0ghccz9np"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@@ -5141,15 +5718,7 @@ SHA1 for Rust.")
("rust-generic-array" ,rust-generic-array-0.14)
("rust-libc" ,rust-libc-0.2)
("rust-sha-1" ,rust-sha-1-0.9)
- ("rust-structopt" ,rust-structopt-0.3))))
- (home-page "https://docs.rs/sha1collisiondetection")
- (synopsis "SHA-1 hash function with collision detection and mitigation")
- (description
- "This package implementation of the SHA-1 cryptographic hash algorithm.
-
-This is a port of Marc Stevens' sha1collisiondetection algorithm to Rust. The
-code is translated from C to Rust using c2rust.")
- (license license:expat)))
+ ("rust-structopt" ,rust-structopt-0.3))))))
(define-public rust-sha2-0.10
(package
@@ -5263,6 +5832,32 @@ functions core functionality.")
(sha256
(base32 "0y4n8r4362y2fa6p2j0dgny4zfi194gdf01l6j850n9vf8ha3kwj"))))))
+(define-public rust-sha256-1
+ (package
+ (name "rust-sha256")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sha256" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1c35j1z4inpz7fwa6vy0xf3arffz5mykyj8nlc50g8sgj5m8y9qq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
+ ("rust-bytes" ,rust-bytes-1)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-sha2" ,rust-sha2-0.10)
+ ("rust-tokio" ,rust-tokio-1))
+ #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1)
+ ("rust-tokio-test" ,rust-tokio-test-0.4))))
+ (home-page "https://github.com/baoyachi/sha256-rs")
+ (synopsis "Sha256 crypto digest")
+ (description "This package provides the sha256 crypto digest in Rust.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-sha3-0.10
(package
(name "rust-sha3")
@@ -5313,14 +5908,14 @@ functions core functionality.")
(define-public rust-signature-2
(package
(name "rust-signature")
- (version "2.1.0")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (crate-uri "signature" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00457czdia5gvll3a1vzf2ffsdpgcz2dz0h56z7zk28nsbp8h5sy"))))
+ "1pi9hd5vqfr3q3k49k37z06p7gs5si0in32qia4mmr1dancr6m3p"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -5328,7 +5923,7 @@ functions core functionality.")
("rust-rand-core" ,rust-rand-core-0.6)
("rust-signature-derive" ,rust-signature-derive-2))
#:cargo-development-inputs
- (("rust-hex-literal" ,rust-hex-literal-0.3)
+ (("rust-hex-literal" ,rust-hex-literal-0.4)
("rust-sha2" ,rust-sha2-0.10))))
(home-page "https://github.com/RustCrypto/traits/tree/master/signature")
(synopsis
@@ -5360,14 +5955,14 @@ for generating and verifying digital signatures.")
(define-public rust-signature-derive-2
(package
(name "rust-signature-derive")
- (version "2.0.1")
+ (version "2.1.0")
(source (origin
(method url-fetch)
(uri (crate-uri "signature_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z0mjjg3fpj08kc3nkax4lczgp7sfzbcm8q2qgim865510wkgpxc"))))
+ "11h4z3bql9pzj0mf7bv30q9c3rldk9n03520pk3z9siyj78q20xb"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -5404,6 +5999,52 @@ for additional details.")
("rust-syn" ,rust-syn-1)
("rust-synstructure" ,rust-synstructure-0.12))))))
+(define-public rust-simple-asn1-0.4
+ (package
+ (name "rust-simple-asn1")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "simple_asn1" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0jxy9as8nj65c2n27j843g4fpb95x4fjz31w6qx63q3wwlys2b39"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4)
+ ("rust-num-bigint" ,rust-num-bigint-0.2)
+ ("rust-num-traits" ,rust-num-traits-0.2))
+ #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.7)
+ ("rust-rand" ,rust-rand-0.5))))
+ (home-page "https://github.com/acw/simple_asn1")
+ (synopsis "Simple DER/ASN.1 encoding/decoding library")
+ (description
+ "This package provides a simple DER/ASN.1 encoding/decoding library.")
+ (license license:isc)))
+
+(define-public rust-sm3-0.4
+ (package
+ (name "rust-sm3")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sm3" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0q2qn4d7qhd8v5grr0xdq9jv3likcr2i8nnqqhxy79yh0avs7fgb"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-digest" ,rust-digest-0.10))
+ #:cargo-development-inputs (("rust-digest" ,rust-digest-0.10)
+ ("rust-hex-literal" ,rust-hex-literal-0.2))))
+ (home-page "https://github.com/RustCrypto/hashes")
+ (synopsis "SM3 (OSCCA GM/T 0004-2012) hash function")
+ (description
+ "This package provides the SM3 (OSCCA GM/T 0004-2012) hash function.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-spki-0.7
(package
(name "rust-spki")
@@ -5662,6 +6303,67 @@ cryptographic implementations.")
"This package provides the Tiger cryptographic hash function.")
(license (list license:expat license:asl2.0))))
+(define-public rust-tls-codec-0.4
+ (package
+ (name "rust-tls-codec")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tls_codec" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0spv5d8gjpmil4x14d8jk6wps59r4y7kdj77par8b30g6ff8rrxm"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "Cargo.toml"
+ (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
+ (string-append "\"^" version)))))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-tls-codec-derive" ,rust-tls-codec-derive-0.4)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs
+ (("rust-anstyle" ,rust-anstyle-1)
+ ("rust-anstyle-parse" ,rust-anstyle-parse-0.2)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-lex" ,rust-clap-lex-0.5)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-regex" ,rust-regex-1))))
+ (home-page "https://github.com/RustCrypto/formats/tree/master/tls_codec")
+ (synopsis "Rust implementation of TLS (de)serialization")
+ (description
+ "This package provides a Rust implementation of TLS serialization
+and deserialization.")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-tls-codec-derive-0.4
+ (package
+ (name "rust-tls-codec-derive")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tls_codec_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1704w8zpgpj40yjgq9dddnnfzmq44p63n0606c1g6y8fcm2zb7ld"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; use of undeclared crate or module `tls_codec`
+ #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-2))
+ #:cargo-development-inputs (("rust-trybuild" ,rust-trybuild-1))))
+ (home-page
+ "https://github.com/RustCrypto/formats/tree/master/tls_codec/derive")
+ (synopsis "Derive macros for the tls_codec trait")
+ (description
+ "This package provides Derive macros for the tls_codec trait.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-totp-lite-2
(package
(name "rust-totp-lite")
@@ -5798,8 +6500,37 @@ One-Time Password library.")
(("rust-generic-array" ,rust-generic-array-0.12)
("rust-subtle" ,rust-subtle-2))))))
+(define-public rust-x25519-dalek-2
+ (package
+ (name "rust-x25519-dalek")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "x25519-dalek" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0xyjgqpsa0q6pprakdp58q1hy45rf8wnqqscgzx0gyw13hr6ir67"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-curve25519-dalek" ,rust-curve25519-dalek-4)
+ ("rust-rand-core" ,rust-rand-core-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-rand-core" ,rust-rand-core-0.6))))
+ (home-page "https://doc.dalek.rs/x25519_dalek")
+ (synopsis "X25519 elliptic curve Diffie-Hellman key exchange")
+ (description
+ "This crate provides a Rust implementation of x25519 elliptic curve
+Diffie-Hellman key exchange, with curve operations provided by
+@code{curve25519-dalek}.")
+ (license license:bsd-3)))
+
(define-public rust-x25519-dalek-1
(package
+ (inherit rust-x25519-dalek-2)
(name "rust-x25519-dalek")
(version "1.2.0")
(source
@@ -5810,25 +6541,15 @@ One-Time Password library.")
(sha256
(base32 "0xz0m1pczss9r25d1r52420dl2picdypbcn5ycmlwssp9awvd4i3"))
(modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Cargo.toml"
- (("version = \"=1.3\"") "version = \"^1.3\""))))))
- (build-system cargo-build-system)
+ (snippet '(substitute* "Cargo.toml"
+ (("version = \"=1.3\"") "version = \"^1.3\"")))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-curve25519-dalek" ,rust-curve25519-dalek-3)
("rust-rand-core" ,rust-rand-core-0.5)
("rust-serde" ,rust-serde-1)
- ("rust-zeroize" ,rust-zeroize-1))))
- (home-page "https://dalek.rs/")
- (synopsis "X25519 elliptic curve Diffie-Hellman key exchange")
- (description
- "This crate provides a pure-Rust implementation of x25519 elliptic curve
-Diffie-Hellman key exchange, with curve operations provided by
-@code{curve25519-dalek}.")
- (license license:bsd-3)))
+ ("rust-zeroize" ,rust-zeroize-1))))))
(define-public rust-x25519-dalek-ng-1
(package
@@ -5857,3 +6578,25 @@ Diffie-Hellman key exchange, with curve operations provided by
(description "This package provides a fork x25519-dalek, with an updated
rand_core.")
(license license:bsd-3)))
+
+(define-public rust-z85-3
+ (package
+ (name "rust-z85")
+ (version "3.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "z85" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1z10407jwvjfzpzaxwxgqsm9vcbyldzzh2qz2b0ijy2h3fprsn9a"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-development-inputs (("rust-proptest" ,rust-proptest-1))))
+ (home-page "https://github.com/decafbad/z85")
+ (synopsis
+ "Rust implementation of ZeroMQ's Z85 encoding mechanism with padding")
+ (description
+ "This package provides a Rust implementation of @code{ZeroMQ's} Z85
+encoding mechanism with padding.")
+ (license (list license:expat license:asl2.0))))