/var/lib/ghc/package.conf.d/secret-sharing-1.0.0.3.conf is in libghc-secret-sharing-dev 1.0.0.3-3build8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | name: secret-sharing
version: 1.0.0.3
id: secret-sharing-1.0.0.3-7IF3ya8wajQEapyY2aT18Z
key: secret-sharing-1.0.0.3-7IF3ya8wajQEapyY2aT18Z
license: LGPL-2.1
copyright: Peter Robinson 2014
maintainer: peter.robinson@monoid.at
stability: experimental
homepage: http://monoid.at/code
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.
category: Cryptography
author: Peter Robinson <peter.robinson@monoid.at>
exposed: True
exposed-modules:
Crypto.SecretSharing Crypto.SecretSharing.Internal
abi: 75af38690a5af80faf2a3b989f1d290f
trusted: False
import-dirs: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.0.2/secret-sharing-1.0.0.3-7IF3ya8wajQEapyY2aT18Z
library-dirs: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.0.2/secret-sharing-1.0.0.3-7IF3ya8wajQEapyY2aT18Z
dynamic-library-dirs: /usr/lib/haskell-packages/ghc/lib/x86_64-linux-ghc-8.0.2
data-dir: /usr/share/secret-sharing
hs-libraries: HSsecret-sharing-1.0.0.3-7IF3ya8wajQEapyY2aT18Z
depends:
base-4.9.1.0 binary-0.8.3.0 bytestring-0.10.8.1
dice-entropy-conduit-1.0.0.1-4TwdjSDbLYP1FdDKUFyeY2
finite-field-0.8.0-ANsme7CG67VK5gPECTPcsg
polynomial-0.7.2-8FBNEnOK6cd1iVBDvNO3HX
vector-0.12.0.1-692PQMDMB6pIQ1uGwefDcQ
haddock-interfaces: /usr/lib/ghc-doc/haddock/secret-sharing-1.0.0.3/secret-sharing.haddock
haddock-html: /usr/share/doc/libghc-secret-sharing-doc/html/
|