diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 21:56:34 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 22:30:04 +0300 |
commit | de3c03a47160dec355d9b19ad5ca210d90c15fd7 (patch) | |
tree | 4ca6dc05b5fc9530d812bbb269f1c61ab9efccf3 /gnu/packages/crypto.scm | |
parent | ab6fe9d362046231ad6f46eccfd1ea2c9c80b401 (diff) | |
parent | b8477cab7bccc4191ed3dfa3f149aec7917834d8 (diff) | |
download | guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.tar.gz guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.zip |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/crypto.scm')
-rw-r--r-- | gnu/packages/crypto.scm | 116 |
1 files changed, 109 insertions, 7 deletions
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 5532f7e9f8..028c140185 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Hendur Saga <hendursaga@yahoo.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,8 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lsof) + #:use-module (gnu packages man) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) @@ -394,6 +397,49 @@ generation of wordlists the included tool @code{worgen} can be used. There is no man page, refer to the home page for usage details.") (license (list license:isc license:expat))))) +(define-public ssss + (package + (name "ssss") + (version "0.5") + (source (origin + (method url-fetch) + (uri (string-append "http://point-at-infinity.org/ssss/ssss-" + version ".tar.gz")) + (sha256 + (base32 + "15grn2fp1x8p92kxkwbmsx8rz16g93y9grl3hfqbh1jn21ama5jx")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No test suite + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configuration to be done + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (bindir (string-append outdir "/bin")) + (docdir (string-append outdir + "/share/doc/ssss-" + ,version))) + (install-file "ssss-combine" bindir) + (install-file "ssss-split" bindir) + (install-file "ssss.1" docdir) + (install-file "ssss.1.html" docdir) + #t)))))) + (inputs + `(("gmp" ,gmp))) + (native-inputs + `(("xmltoman" ,xmltoman))) + (home-page "http://point-at-infinity.org/ssss/") + (synopsis "Shamir's secret sharing scheme implementation") + (description "@command{ssss-split} and @command{ssss-combine} are utilities that split +and combine secrets securely using Shamir's secret sharing scheme. This implementation +allows for a threshold scheme where the minimum number of shares can be less than the +total number of shares generated.") + (license license:gpl2+))) + (define-public tomb (package (name "tomb") @@ -472,7 +518,7 @@ user's graphical desktop.") (define-public scrypt (package (name "scrypt") - (version "1.2.1") + (version "1.3.1") (source (origin (method url-fetch) @@ -480,20 +526,24 @@ user's graphical desktop.") version ".tgz")) (sha256 (base32 - "0xy5yhrwwv13skv9im9vm76rybh9f29j2dh4hlh2x01gvbkza8a6")))) + "1hnl0r6pmyxiy4dmafmqk1db7wpc0x9rqpzqcwr9d2cmghcj6byz")))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-command-invocations + `(#:license-file-regexp "COPYRIGHT" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-$PATH-assumptions (lambda _ + (substitute* "configure" + (("\\{POSIX_PATH\\}") + "{PATH}")) (substitute* "Makefile.in" (("command -p") "")) #t)) (add-after 'install 'install-docs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref %outputs "out")) - (misc (string-append out "/share/doc/scrypt"))) - (install-file "FORMAT" misc) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (install-file "FORMAT" doc) #t)))))) (inputs `(("openssl" ,openssl))) @@ -719,7 +769,7 @@ data on your platform, so the seed itself will be as random as possible. "libdir=" out "/lib\n" "includedir=" out "/include\n\n" "Name: libcrypto++-" ,version "\n" - "Description: Class library of cryptographic schemes" + "Description: Class library of cryptographic schemes\n" "Version: " ,version "\n" "Libs: -L${libdir} -lcryptopp\n" "Cflags: -I${includedir}\n")) @@ -1011,6 +1061,58 @@ Features: (home-page "https://github.com/bitcoin-core/secp256k1") (license license:unlicense)))) +(define-public libsecp256k1-bitcoin-cash + (package + (name "libsecp256k1-bitcoin-cash") + (version "0.22.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bitcoin-ABC/secp256k1") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rnif3iny6pz1r3g69bagzr342mm3x0v66b60csnmm1rg44bd5v1")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + '(#:configure-flags '("--enable-module-recovery" + "--enable-experimental" + "--enable-module-ecdh" + "--disable-jni" + "--with-bignum=no" + "--enable-module-schnorr" + "--disable-static" + "--enable-shared"))) + (synopsis "Optimized C library for EC operations on curve secp256k1") + (description + "Optimized C library for cryptographic operations on curve secp256k1. + +This library is used for consensus critical cryptographic operations on the +Bitcoin Cash network. + +Features: + +@itemize +@item secp256k1 ECDSA signing/verification and key generation. +@item secp256k1 Schnorr signing/verification (Bitcoin Cash Schnorr variant). +@item Additive and multiplicative tweaking of secret/public keys. +@item Serialization/parsing of secret keys, public keys, signatures. +@item Constant time, constant memory access signing and pubkey generation. +@item Derandomized ECDSA (via RFC6979 or with a caller provided function). +@item Very efficient implementation. +@item Suitable for embedded systems. +@item Optional module for public key recovery. +@item Optional module for ECDH key exchange (experimental). +@item Optional module for multiset hash (experimental). +@end itemize\n") + (home-page "https://github.com/Bitcoin-ABC/secp256k1") + (license license:expat))) + (define-public stoken (package (name "stoken") |