gnu: Add ghc-cipher-aes.
* gnu/packages/haskell-crypto.scm (ghc-cipher-aes): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
47a6582b12
commit
d91acee78f
|
@ -552,3 +552,43 @@ for X.509 certificates.")
|
||||||
(description "This Haskell package provides basic typeclasses and types
|
(description "This Haskell package provides basic typeclasses and types
|
||||||
for symmetric ciphers.")
|
for symmetric ciphers.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public ghc-cipher-aes
|
||||||
|
(package
|
||||||
|
(name "ghc-cipher-aes")
|
||||||
|
(version "0.2.11")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://hackage.haskell.org/package/"
|
||||||
|
"cipher-aes-" version "/"
|
||||||
|
"cipher-aes-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"05ahz6kjq0fl1w66gpiqy0vndli5yx1pbsbw9ni3viwqas4p3cfk"))))
|
||||||
|
(build-system haskell-build-system)
|
||||||
|
(inputs `(("ghc-byteable" ,ghc-byteable)
|
||||||
|
("ghc-securemem" ,ghc-securemem)
|
||||||
|
("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types)))
|
||||||
|
(native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
|
||||||
|
("ghc-test-framework" ,ghc-test-framework)
|
||||||
|
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
|
||||||
|
("ghc-crypto-cipher-tests" ,ghc-crypto-cipher-tests)))
|
||||||
|
(home-page "https://github.com/vincenthz/hs-cipher-aes")
|
||||||
|
(synopsis "AES cipher implementation with advanced mode of operations for
|
||||||
|
Haskell")
|
||||||
|
(description "This Haskell package provides AES cipher implementation.
|
||||||
|
|
||||||
|
The modes of operations available are ECB (Electronic code book), CBC (Cipher
|
||||||
|
block chaining), CTR (Counter), XTS (XEX with ciphertext stealing),
|
||||||
|
GCM (Galois Counter Mode).
|
||||||
|
|
||||||
|
The AES implementation uses AES-NI when available (on x86 and x86-64
|
||||||
|
architecture), but fallback gracefully to a software C implementation.
|
||||||
|
|
||||||
|
The software implementation uses S-Boxes, which might suffer for cache timing
|
||||||
|
issues. However do notes that most other known software implementations,
|
||||||
|
including very popular one (openssl, gnutls) also uses similar
|
||||||
|
implementation. If it matters for your case, you should make sure you have
|
||||||
|
AES-NI available, or you'll need to use a different implementation.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
Loading…
Reference in New Issue