Skip to content

Commit a0f1caa

Browse files
committed
simplify verifyPoP with less FFI calls
1 parent a193b01 commit a0f1caa

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

  • cardano-crypto-class/src/Cardano/Crypto/DSIGN

cardano-crypto-class/src/Cardano/Crypto/DSIGN/BLS12381.hs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,10 @@ import Cardano.Crypto.EllipticCurve.BLS12_381.Internal (
8383
ScalarPtr (..),
8484
blsAddOrDouble,
8585
blsCompress,
86-
blsGenerator,
87-
blsHash,
8886
blsIsInf,
8987
blsUncompress,
9088
blsZero,
9189
c_blst_keygen,
92-
finalVerifyPairs,
9390
mkBLSTError,
9491
scalarFromBS,
9592
scalarToBS,
@@ -107,6 +104,7 @@ import Cardano.Crypto.PinnedSizedBytes (
107104
import Cardano.Crypto.Seed (getBytesFromSeedT)
108105
import Cardano.Crypto.Util (SignableRepresentation (getSignableRepresentation))
109106
import Control.DeepSeq (NFData)
107+
import Data.Bifunctor (first)
110108
import Data.ByteString (ByteString)
111109
import Data.ByteString.Unsafe (unsafeUseAsCStringLen)
112110
import Data.Data (Typeable)
@@ -410,10 +408,11 @@ instance
410408
SigBLS12381 sig = signDSIGN ctx (rawSerialiseVerKeyDSIGN vk) sk
411409
in PossessionProofBLS12381 sig
412410
{-# INLINE verifyPossessionProofDSIGN #-}
413-
verifyPossessionProofDSIGN BLS12381SignContext {blsSignContextDst = dst, blsSignContextAug = aug} (VerKeyBLS12381 vk) (PossessionProofBLS12381 mu1Psb) =
414-
if finalVerifyPairs @curve (blsGenerator, mu1Psb) (vk, blsHash (blsCompress vk) dst aug)
415-
then Right ()
416-
else Left "verifyPossessionProofDSIGN: BLS12381DSIGN failed to verify."
411+
verifyPossessionProofDSIGN ctx vk (PossessionProofBLS12381 mu1Psb) =
412+
first
413+
(const "verifyPossessionProofDSIGN: BLS12381DSIGN failed to verify.")
414+
(verifyDSIGN ctx vk (rawSerialiseVerKeyDSIGN vk) (SigBLS12381 mu1Psb))
415+
417416
{-# INLINE rawSerialisePossessionProofDSIGN #-}
418417
rawSerialisePossessionProofDSIGN (PossessionProofBLS12381 mu1Psb) =
419418
blsCompress @(DualCurve curve) mu1Psb

0 commit comments

Comments
 (0)