Dust 2.3.0 → 2.3.1
raw patch · 2 files changed
+1/−127 lines, 2 filesdep −cryptohashdep −skeindep ~base
Dependencies removed: cryptohash, skein
Dependency ranges changed: base
Files
- Dust.cabal +1/−23
- tests/TestCrypto.hs +0/−104
Dust.cabal view
@@ -1,5 +1,5 @@ Name: Dust-Version: 2.3.0+Version: 2.3.1 Description: Dust is a polymorphic protocol engine designed to circumvent Internet filtering based on protocol identification Synopsis: Polymorphic protocol engine Category: Network@@ -27,9 +27,7 @@ containers, directory, split,- skein, crypto-api,- cryptohash, threefish Extensions: ForeignFunctionInterface@@ -57,26 +55,6 @@ Dust.Model.Port Dust.Model.Packet Dust.Network.DustServer--test-suite crypto- type: exitcode-stdio-1.0- main-is: TestCrypto.hs- ghc-options: -w -threaded -rtsopts -with-rtsopts=-N- hs-source-dirs: tests-- build-depends:- base,- Dust,- HUnit >= 1.2,- test-framework >= 0.6,- test-framework-hunit >= 0.2,- test-framework-quickcheck2,--- test-framework-th,- bytestring,- threefish,- cereal,- ghc-prim,- QuickCheck test-suite core type: exitcode-stdio-1.0
− tests/TestCrypto.hs
@@ -1,104 +0,0 @@-{-# OPTIONS_GHC -fno-warn-missing-signatures #-}-{-# LANGUAGE TemplateHaskell #-}--module Main where--import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2-import Test.Framework-import Test.HUnit hiding (test)-import Test.QuickCheck-import Test.QuickCheck.Gen--import Data.ByteString as B (ByteString, length)-import Data.ByteString.Char8 (pack, useAsCString, packCString)--import Dust.Crypto.DustCipher-import qualified Dust.Crypto.ECDH as ECDH-import qualified Dust.Crypto.ECDSA as ECDSA-import Dust.Crypto.Keys--gen_privkeys :: Gen String-gen_privkeys =- let e = elements ['\00'..'\FF']- in vectorOf 32 e--prop_ECDH_pubkey_size :: Property-prop_ECDH_pubkey_size =- forAll gen_privkeys $ \privBytes ->- let priv = PrivateKey $ pack privBytes- (PublicKey pub) = ECDH.createPublic priv- in B.length pub == 32--prop_ECDSA_pubkey_size :: Property-prop_ECDSA_pubkey_size =- forAll gen_privkeys $ \privBytes ->- let priv = PrivateKey $ pack privBytes- (PublicKey pub) = ECDSA.createPublic priv- in B.length pub == 32--case_ECDH_keypair_save_load = do- let input = (pack "1234567890123457890123456789012")- let keypair1 = ECDH.createKeypair input- saveKeypair keypair1-- keypair2 <- loadKeypair-- keypair1 @?= keypair2--case_ECDH_createShared = do- let entropy1 = (pack "1234567890123457890123456789012")- let private1 = ECDH.createPrivate entropy1- let public1 = ECDH.createPublic private1-- let entropy2 = (pack "2109876543210987543210987654321")- let private2 = ECDH.createPrivate entropy2- let public2 = ECDH.createPublic private2-- let shared1 = ECDH.createShared private1 public2- let shared2 = ECDH.createShared private2 public1-- shared1 @?= shared2--case_ECDH_createKeypair = do- let input = (pack "1234567890123457890123456789012")- let keys = ECDH.createKeypair input- let Keypair public private = keys- publicBytes public @?= pack "\164x}\156n\177\164\240\187F\163\202\232}\221\207/x\ETX\178\SOH\208\238\213q\138%\137\159\253+{"- privateBytes private @?= pack "023456789012345789012345678901r"--case_ECDH_createPublic = do- let input = (pack "1234567890123457890123456789012")- let private = ECDH.createPrivate input- let public = ECDH.createPublic private- publicBytes public @?= pack "\164x}\156n\177\164\240\187F\163\202\232}\221\207/x\ETX\178\SOH\208\238\213q\138%\137\159\253+{"--case_ECDH_createPrivate = do- let input = (pack "1234567890123457890123456789012")- let output = ECDH.createPrivate input- privateBytes output @?= pack "023456789012345789012345678901r"--case_encrypt_decrypt = let key = EncryptionKey (pack "1234567890123456")- iv = IV (pack "1234567890123456")-- plain1 = Plaintext (pack "majestic")- cipher = encrypt key iv plain1- plain2 = decrypt key iv cipher-- in plain1 @?= plain2--main :: IO ()-main =- defaultMain [- testGroup "ECDH25519" [ - testCase "ECDH_createPrivate" case_ECDH_createPrivate,- testCase "ECDH_createPublic" case_ECDH_createPublic,- testCase "ECDH_createKeypair" case_ECDH_createKeypair,- testCase "ECDH_createShared" case_ECDH_createShared,- testCase "ECDH_keypair_save_load" case_ECDH_keypair_save_load,- testCase "encrypt_decrypt" case_encrypt_decrypt,- - testProperty "ECDH_pubkey_size" prop_ECDH_pubkey_size,- testProperty "ECDSA_pubkey_size" prop_ECDSA_pubkey_size- ]- ]