From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eyUhW-000729-DE for guix-patches@gnu.org; Tue, 20 Mar 2018 23:46:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eyUhU-0003EF-AP for guix-patches@gnu.org; Tue, 20 Mar 2018 23:46:10 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:36697) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eyUhU-0003Dj-4Z for guix-patches@gnu.org; Tue, 20 Mar 2018 23:46:08 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eyUhT-0006U4-S3 for guix-patches@gnu.org; Tue, 20 Mar 2018 23:46:07 -0400 Subject: [bug#30892] [PATCH 11/37] gnu: Add ghc-cipher-aes. Resent-Message-ID: From: rsiddharth Date: Wed, 21 Mar 2018 03:44:49 +0000 Message-Id: <20180321034515.3664-12-s@ricketyspace.net> In-Reply-To: <20180321034005.2975-1-s@ricketyspace.net> References: <20180321034005.2975-1-s@ricketyspace.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 30892@debbugs.gnu.org Cc: rsiddharth * gnu/packages/haskell-crypto.scm (ghc-cipher-aes): New variable. --- gnu/packages/haskell-crypto.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm index a323a6538..b51727db5 100644 --- a/gnu/packages/haskell-crypto.scm +++ b/gnu/packages/haskell-crypto.scm @@ -551,3 +551,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))) -- 2.16.2