Require point equality in EllipticCurveArith
This is an incompatible API change but is very useful to test properties and algorithms derived from the primitives. An ECC instance sufficiently advanced to have math primitives should implement equality too.
This commit is contained in:
parent
e0b201b5e7
commit
bdf1a7a133
@ -8,6 +8,7 @@
|
||||
-- Elliptic Curve Cryptography
|
||||
--
|
||||
{-# LANGUAGE DeriveDataTypeable #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||
{-# LANGUAGE TypeFamilies #-}
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
@ -98,7 +99,7 @@ class EllipticCurve curve => EllipticCurveDH curve where
|
||||
-- value or an exception.
|
||||
ecdh :: proxy curve -> Scalar curve -> Point curve -> CryptoFailable SharedSecret
|
||||
|
||||
class EllipticCurve curve => EllipticCurveArith curve where
|
||||
class (EllipticCurve curve, Eq (Point curve)) => EllipticCurveArith curve where
|
||||
-- | Add points on a curve
|
||||
pointAdd :: proxy curve -> Point curve -> Point curve -> Point curve
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user