curve.py 796 B

1234567891011121314151617181920212223242526272829
  1. import random
  2. '''
  3. 'secp256k1',
  4. p=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f,
  5. a=0,
  6. b=7,
  7. g=(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8),
  8. # Subgroup order.
  9. n=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141,
  10. # Subgroup cofactor.
  11. h=1,
  12. '''
  13. # y2 = x3 + ax + b
  14. class Curve:
  15. def __init__(self, p, a, b, g, n, h):
  16. # размер конечного поля
  17. self.p = p
  18. # коэффиценты уравнения a и b
  19. self.a = a
  20. self.b = b
  21. # базовая точка
  22. self.g = g
  23. # порядок подруппы
  24. self.n = n
  25. # кофактор подгруппы
  26. self.h = h