Module: EllipticCurve::Curve
- Defined in:
- lib/curve.rb
Overview
Elliptic Curve Equation
y^2 = x^3 + A*x + B (mod P)
Defined Under Namespace
Classes: CurveFp
Constant Summary collapse
- SECP256K1 =
CurveFp.new( 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000007, 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f, 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141, 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8, "secp256k1", [1, 3, 132, 0, 10] )
- PRIME256V1 =
CurveFp.new( 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc, 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b, 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff, 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551, 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296, 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5, "prime256v1", [1, 2, 840, 10045, 3, 1, 7], "p-256", )
- P256 =
PRIME256V1
Class Method Summary collapse
Class Method Details
.add(curve) ⇒ Object
55 56 57 |
# File 'lib/curve.rb', line 55 def self.add(curve) @_curvesByOid[curve.oid] = curve end |
.getbyOid(oid) ⇒ Object
59 60 61 62 63 64 |
# File 'lib/curve.rb', line 59 def self.getbyOid(oid) if not @_curvesByOid.include?(oid) raise Exception.new("Unknown curve oid: #{oid}; The following are registered: #{@_curvesByOid.map{|k,v| v.name}}") end return @_curvesByOid[oid] end |