pairing 0.3.0 → 0.3.1
raw patch · 4 files changed
+8/−8 lines, 4 files
Files
- pairing.cabal +2/−2
- src/Pairing/Group.hs +1/−1
- src/Pairing/Hash.hs +4/−4
- tests/TestGroups.hs +1/−1
pairing.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: d047536a7348fa341206f72c42c935d58cf595375dbccae1dbcf0789040cbeb0+-- hash: c54816acbfcbae987dfabc18793935f2ee26262bbaf23e1efad1ae5f22512cb0 name: pairing-version: 0.3.0+version: 0.3.1 synopsis: Optimal ate pairing over Barreto-Naehrig curves description: Optimal ate pairing over Barreto-Naehrig curves category: Cryptography
src/Pairing/Group.hs view
@@ -172,7 +172,7 @@ instance Arbitrary (Point Fq2) where -- G2 arbitrary = gMul g2 . abs <$> (arbitrary :: Gen Integer) -hashToG1 :: MonadIO m => ByteString -> m (Maybe G1)+hashToG1 :: MonadRandom m => ByteString -> m (Maybe G1) hashToG1 = swEncBN randomG1 :: (MonadRandom m) => m G1
src/Pairing/Hash.hs view
@@ -58,7 +58,7 @@ -- This function evaluates an empty bytestring or one that contains \NUL to zero -- which according to Definiton 2 of the paper is sent to an arbitrary point on the curve ---swEncBN :: MonadIO m => ByteString -> m (Maybe (Point Fq))+swEncBN :: MonadRandom m => ByteString -> m (Maybe (Point Fq)) swEncBN bs = runMaybeT $ withQM $ \mn -> do let t = M.fromBytes bs mn sq3 <- hoistMaybe (sqrtOfMinusThree mn)@@ -71,9 +71,9 @@ let x2' = x2 mn x1' let x3' = x3 mn w' let lst = [x1', x2', x3']- r1 <- liftIO (randomMod mn)- r2 <- liftIO (randomMod mn)- r3 <- liftIO (randomMod mn)+ r1 <- lift $ randomMod mn+ r2 <- lift $ randomMod mn+ r3 <- lift $ randomMod mn let al = alphaBeta mn r1 x1' let bet = alphaBeta mn r2 x2' let i' = i al bet
tests/TestGroups.hs view
@@ -88,7 +88,7 @@ prop_hashToG1 :: ByteString -> Property prop_hashToG1 bs = TQM.monadicIO $ do- toCurveMay <- liftIO (hashToG1 bs)+ toCurveMay <- TQM.run (hashToG1 bs) TQM.assert (isJust toCurveMay) let Just toCurve = toCurveMay TQM.assert (isOnCurveG1 toCurve)