Paillier 0.1.0.1 → 0.1.0.2
raw patch · 2 files changed
+7/−7 lines, 2 files
Files
- Paillier.cabal +2/−2
- src/Crypto/Paillier.hs +5/−5
Paillier.cabal view
@@ -1,6 +1,6 @@ name: Paillier-version: 0.1.0.1+version: 0.1.0.2 synopsis: a simple Paillier cryptosystem description: a simple Paillier cryptosystem license: BSD3@@ -14,7 +14,7 @@ source-repository this type: git location: https://github.com/onemouth/HsPaillier.git- tag: 0.1.0.1+ tag: 0.1.0.2 library hs-source-dirs: src
src/Crypto/Paillier.hs view
@@ -29,20 +29,20 @@ genKey :: Int -> IO (PubKey, PrvKey) genKey nBits = do- -- | choose random primes+ -- choose random primes pool <- createEntropyPool let rng = cprgCreate pool :: SystemRNG let (p, rng1) = generatePrime rng (nBits `div` 2) let (q, rng2) = generatePrime rng1 (nBits `div` 2)- -- | public key parameters+ -- public key parameters let modulo = p*q let g = modulo+1 let square = modulo*modulo- -- | private key parameters- --let phi_n = (p-1)*(q-1)+ -- private key parameters+ -- let phi_n = (p-1)*(q-1) let phi_n = lcm (p-1) (q-1) let maybeU = inverse (((expSafe g phi_n square) - 1) `div` modulo) modulo- --let maybeU = inverse phi_n modulo+ -- let maybeU = inverse phi_n modulo if isNothing maybeU then error "genKey failed." else