Branch: Tag:

2016-12-30

2016-12-30 11:03:26 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto.ECC: Unified the APIs for Curve and Curve25519.

new_scalar(), get_x() and get_y() now return coordinates in the
preferred representation for the curve (ie either as a Gmp.mpz
or as a string(8bit)).

create(), set() and `*() accept that same value as argument.

Added get_{x,y}_{num,str}() to get a specific representation.

jose_name() now has a default implementation that returns UNDEFINED.

Added default implementation of get_curve().

Curve25519 now has a Point subclass.

59:    "Crypto.RSA()->sign": "predef::Standards.PKCS.Signature.build_digestinfo":1,    "Crypto.SHA": "predef::SSL.Cipher.P_hash":1,    "Crypto.Sign.State": "predef::Protocols.HTTP.Server.SSLPort.create":1, "predef::SSL.Constants.CertificatePair":1, "predef::SSL.Constants.CertificatePair.create":1, "predef::SSL.Context.add_cert":1, "predef::SSL.Session":2, "predef::Standards.PKCS.parse_private_key":2, "predef::Standards.PKCS.parse_public_key":2, "predef::Standards.X509.make_selfsigned_certificate":1, "predef::Standards.X509.parse_private_key":2, "predef::Standards.X509.sign_key":2, "predef::Standards.X509.sign_tbs":1, "predef::Web.decode_jwk":2, "predef::Web.decode_jwk_set":1, "predef::Web.decode_jwt":1, "predef::Web.encode_jwt":1, -  "Curve": "predef::Nettle.Curve25519":2, "predef::Nettle.ECC_Curve.Point._equal":1, "predef::Nettle.ECC_Curve.`==":1, "predef::__builtin.Nettle.ECC_Curve.Point.create":3, +  "Curve": "predef::Nettle.Curve25519":2, "predef::Nettle.ECC_Curve.Point._equal":1, "predef::Nettle.ECC_Curve.`==":1, "predef::__builtin.Nettle.ECC_Curve.Point.create":3, "predef::__builtin.Nettle.ECC_Curve.Point.set":1,    "Customer": "predef::ADT.TreeScheduler":2,    "DSA_State": "predef::Crypto.DH.Parameters.create":1,    "DTDElementHelper": "predef::Parser.XML.Tree.DTDElementNode":1, "predef::Parser.XML.Tree.SimpleDTDElementNode":1,
456:    "glVertexPointer": "predef::GL":8, "predef::GL.glBegin":1, "predef::GL.glDisableClientState":1, "predef::GL.glEnableClientState":1, "predef::GL.glEnd":1, "predef::GL.glEndList":1, "predef::GL.glIsEnabled":1, "predef::GL.glNewList":1,    "glXCreateContext": "predef::GL.glBindTexture":1,    "global::digest_size()": "predef::Nettle.BlockCipher16.CCM.State.digest":1, "predef::Nettle.BlockCipher16.CCM.State.digest_size":1, "predef::Nettle.BlockCipher16.EAX.State.digest":1, +  "global::this_program": "predef::__builtin.Nettle.ECC_Curve.Point.get_curve":1,    "gluLoadIdentity": "predef::GLU.gluPickMatrix":1,    "gluMultMatrix": "predef::GLU.gluPickMatrix":1,    "gluRenderMode": "predef::GLU.gluPickMatrix":1,
1558:   "predef::__builtin.Nettle.BlockCipher.CTR": "CBC" "CCM" "GCM"   "predef::__builtin.Nettle.Cipher.State.make_key": "random_string"   "predef::__builtin.Nettle.ECC_Curve.Point.create": "Curve" + "predef::__builtin.Nettle.ECC_Curve.Point.get_curve": "global::this_program" + "predef::__builtin.Nettle.ECC_Curve.Point.set": "Curve"   "predef::__builtin.Nettle.Hash.crypt_hash": "crypt_md5()"   "predef::__builtin.Nettle.Hash.openssl_pbkdf": "crypt_password()"   "predef::__builtin.Nettle.Hash.pbkdf1": "crypt_password()"