Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data Point (curve :: Type) Source #
Instances
class ProjectivePlanar plane where Source #
Instances
(field ~ BaseField curve, BoolType (BooleanOf curve), AdditiveMonoid field) => ProjectivePlanar (CompressedPoint curve) Source # | |
Defined in ZkFold.Base.Algebra.EllipticCurve.Class pointInf :: CompressedPoint curve Source # | |
(field ~ BaseField curve, BoolType (BooleanOf curve), AdditiveMonoid field) => ProjectivePlanar (Point curve) Source # | |
Defined in ZkFold.Base.Algebra.EllipticCurve.Class |
class (BoolType (BooleanOf curve), AdditiveMonoid (BaseField curve), Conditional (BooleanOf curve) (BaseField curve), Conditional (BooleanOf curve) (BooleanOf curve), Eq (BooleanOf curve) (BaseField curve), Eq (BooleanOf curve) (BooleanOf curve)) => EllipticCurve curve where Source #
pointGen :: Point curve Source #
add :: Point curve -> Point curve -> Point curve Source #
mul :: ScalarField curve -> Point curve -> Point curve Source #
Instances
class (EllipticCurve curve1, EllipticCurve curve2, ScalarField curve1 ~ ScalarField curve2, Eq (TargetGroup curve1 curve2), MultiplicativeGroup (TargetGroup curve1 curve2), Exponent (TargetGroup curve1 curve2) (ScalarField curve1)) => Pairing curve1 curve2 where Source #
type TargetGroup curve1 curve2 :: Type Source #
Instances
pointAdd :: EllipticCurve curve => Field (BaseField curve) => Point curve -> Point curve -> Point curve Source #
pointDouble :: EllipticCurve curve => Field (BaseField curve) => Point curve -> Point curve Source #
addPoints :: EllipticCurve curve => Field (BaseField curve) => Point curve -> Point curve -> Point curve Source #
pointNegate :: EllipticCurve curve => AdditiveGroup (BaseField curve) => Point curve -> Point curve Source #
pointMul :: forall curve s. EllipticCurve curve => BinaryExpansion s => Bits s ~ [s] => Eq s => s -> Point curve -> Point curve Source #
class EllipticCurve curve => WeierstrassCurve curve where Source #
weierstrassA :: BaseField curve Source #
weierstrassB :: BaseField curve Source #
data CompressedPoint curve Source #
Instances
pointCompressed :: BoolType (BooleanOf curve) => BaseField curve -> BooleanOf curve -> CompressedPoint curve Source #
compress :: (AdditiveGroup (BaseField curve), EllipticCurve curve, Ord (BooleanOf curve) (BaseField curve)) => Point curve -> CompressedPoint curve Source #
decompress :: forall curve. (WeierstrassCurve curve, FiniteField (BaseField curve), Ord (BooleanOf curve) (BaseField curve)) => CompressedPoint curve -> Point curve Source #