gnu: Add ghc-cipher-aes.

* gnu/packages/haskell-crypto.scm (ghc-cipher-aes): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
rsiddharth 2018-03-21 03:44:49 +00:00 committed by Ludovic Courtès
parent 47a6582b12
commit d91acee78f
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 40 additions and 0 deletions

View File

@ -552,3 +552,43 @@ for X.509 certificates.")
(description "This Haskell package provides basic typeclasses and types
for symmetric ciphers.")
(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)))