Cabal revisions of secret-sharing-1.0.0.3
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: secret-sharing-version: 1.0.0.3-synopsis: Information-theoretic secure secret sharing -description:- Implementation of an (@m@,@n@)-threshold secret sharing scheme.- A given ByteString @b@ (the secret) is split into @n@ shares, - and any @m@ shares are sufficient to reconstruct @b@.- The scheme preserves information-theoretic perfect secrecy in the sense that the knowledge of up- to @m-1@ shares does not reveal any information about the secret @b@.- .- /Example in GHCi:/- Suppose that you want to split the string \"my secret data\" into n=5 shares such that- at least m=3 shares are necessary to reconstruct the secret.- .- >> :m + Data.ByteString.Lazy.Char8 Crypto.SecretSharing- >> let secret = pack "my secret message!"- >> shares <- encode 3 5 secret- >> mapM_ (Prelude.putStrLn . show) shares -- each share should be deposited at a different site.- > (1,"\134\168\154\SUBV\248\CAN:\250y<\GS\EOT*\t\222_\140")- > (2,"\225\206\241\136\SUBse\199r\169\162\131D4\179P\210x")- > (3,"~\238%\192\174\206\\\f\214\173\162\148\&3\139_\183\193\235")- > (4,"Z\b0\188\DC2\f\247\f,\136\&6S\209\&5\n\FS,\223")- > (5,"x\EM\CAN\DELI*<\193q7d\192!/\183v\DC3T")- >> let shares' = Prelude.drop 2 shares - >> decode shares' - > "my secret message!"- .- The mathematics behind the secret sharing scheme is described in:- \"/How to share a secret/.\" by Adi Shamir.- In Communications of the ACM 22 (11): 612–613, 1979.-license: LGPL-2.1-license-file: LICENSE-author: Peter Robinson <peter.robinson@monoid.at>-maintainer: peter.robinson@monoid.at-copyright: Peter Robinson 2014-category: Cryptography -build-type: Simple-cabal-version: >=1.8-homepage: http://monoid.at/code-stability: experimental--library- hs-source-dirs: src- exposed-modules: Crypto.SecretSharing- Crypto.SecretSharing.Internal-- build-depends: base >=4.6 && < 5,- bytestring ==0.10.*,- dice-entropy-conduit >= 1.0.0.0,- binary >=0.5.1.1,- vector >=0.10.11.0,- finite-field >=0.8.0,- polynomial >= 0.7.1- ghc-options: -Wall ---test-suite Main- type: exitcode-stdio-1.0- x-uses-tf: true- build-depends: base >= 4 && < 5,- QuickCheck >= 2.4,- test-framework >= 0.4.1,- test-framework-quickcheck2- hs-source-dirs: src, tests- main-is: Tests.hs-+name: secret-sharing +version: 1.0.0.3 +x-revision: 1 +synopsis: Information-theoretic secure secret sharing +description: + Implementation of an (@m@,@n@)-threshold secret sharing scheme. + A given ByteString @b@ (the secret) is split into @n@ shares, + and any @m@ shares are sufficient to reconstruct @b@. + The scheme preserves information-theoretic perfect secrecy in the sense that the knowledge of up + to @m-1@ shares does not reveal any information about the secret @b@. + . + /Example in GHCi:/ + Suppose that you want to split the string \"my secret data\" into n=5 shares such that + at least m=3 shares are necessary to reconstruct the secret. + . + >> :m + Data.ByteString.Lazy.Char8 Crypto.SecretSharing + >> let secret = pack "my secret message!" + >> shares <- encode 3 5 secret + >> mapM_ (Prelude.putStrLn . show) shares -- each share should be deposited at a different site. + > (1,"\134\168\154\SUBV\248\CAN:\250y<\GS\EOT*\t\222_\140") + > (2,"\225\206\241\136\SUBse\199r\169\162\131D4\179P\210x") + > (3,"~\238%\192\174\206\\\f\214\173\162\148\&3\139_\183\193\235") + > (4,"Z\b0\188\DC2\f\247\f,\136\&6S\209\&5\n\FS,\223") + > (5,"x\EM\CAN\DELI*<\193q7d\192!/\183v\DC3T") + >> let shares' = Prelude.drop 2 shares + >> decode shares' + > "my secret message!" + . + The mathematics behind the secret sharing scheme is described in: + \"/How to share a secret/.\" by Adi Shamir. + In Communications of the ACM 22 (11): 612–613, 1979. +license: LGPL-2.1 +license-file: LICENSE +author: Peter Robinson <peter.robinson@monoid.at> +maintainer: peter.robinson@monoid.at +copyright: Peter Robinson 2014 +category: Cryptography +build-type: Simple +cabal-version: >=1.8 +homepage: http://monoid.at/code +stability: experimental + +library + hs-source-dirs: src + exposed-modules: Crypto.SecretSharing + Crypto.SecretSharing.Internal + + build-depends: base >=4.6 && < 5, + bytestring ==0.10.*, + dice-entropy-conduit == 1.0.*, + binary >=0.5.1.1 && < 0.10, + vector >=0.10.11.0 && < 0.13, + finite-field ==0.8.*, + polynomial >= 0.7.1 && < 0.8 + ghc-options: -Wall + + +test-suite Main + type: exitcode-stdio-1.0 + x-uses-tf: true + build-depends: base >= 4 && < 5, + QuickCheck >= 2.4, + test-framework >= 0.4.1, + test-framework-quickcheck2 + hs-source-dirs: src, tests + main-is: Tests.hs +