úÎ!“K4      !"#$%&'()*+,-./0123(c) Marcel Fourné 20[09..13]BSD3$Marcel Fourné (mail@marcelfourne.de) experimentalGoodNone$Datatype for defined Standard CurvesNIST Prime Curve P-256NIST Prime Curve P-384NIST Prime Curve P-521NIST Binary Field Curve K-283NIST Binary Field Curve B-283      (c) Marcel Fourné 20[09..13]BSD3$Marcel Fourné (mail@marcelfourne.de) experimentalGoodNone!"24F!data of all Elliptic Curve PointsEall Elliptic Curves, the parameters being the BitLength L, A, B and P"get bitlength #get Curve parameter A$get Curve parameter B%get Curve parameter P&get Curve order r'get contents of the curve(%generic getter, returning the x-value)%generic getter, returning the y-value*<generic getter, returning the z-value for points having them+@generic getter, returning the a*z^4-value for points having them,,generic getter, returning the affine x-value-,generic getter, returning the affine y-value.4add an elliptic point onto itself, base for padd a a/="generic" verify, if generic ECP is on EC via getxA and getyA4/extended euclidean algorithm, recursive variant0!computing the modular inverse of a 5 m1add 2 elliptic points2Qthis is a generic handle for Point Multiplication. The implementation may change.61binary representation of an integer |taken from ;http://haskell.org/haskellwiki/Fibonacci_primes_in_parallel( !"#$%&'()*+,-./40the number to invert the modulusthe inverted value127689:;<=>? !"#$%&'()*+,-./012! "#$%&'()*+,-1.02/! "#$%&'()*+,-./40127689:;<=>?(c) Marcel Fourné 20[09..13]BSD3$Marcel Fourné (mail@marcelfourne.de) experimentalGoodNone3basic ecdh for testing3333@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE hecc-0.4.1.1Codec.Crypto.ECC.StandardCurvesCodec.Crypto.ECC.BaseCodec.Crypto.ECC.ECDH StandardCurveStandardCurveF2stdcF_lstdcF_pstdcF_rstdcF_astdcF_bstdcF_xpstdcF_ypstdc_lstdc_pstdc_rstdc_astdc_bstdc_xpstdc_ypp256p384p521k283b283ECPFECPInfF2ECPInfIECPpF2ECPaF2ECPmjECPjECPpECPaECECbECi getBitLengthgetagetbgetpgetrgetCurvegetxgetygetzgetaz4getxAgetyApdoubleisonmodinvpaddpmul basicecdheeuklbaseGHC.Realmodbinary montgladder$fSerializeECPF$fSerializeECPF0 $fShowECPF$fEqECPF $fSerializeEC$fSerializeEC0$fShowEC$fEqEC