latchset / python-rubenesque

Pure Python implementation of standard elliptic curves
BSD 2-Clause "Simplified" License
17 stars 14 forks source link

setup.py references README, while README has been renamed to README.md #4

Closed sundarnagarajan closed 7 years ago

sundarnagarajan commented 7 years ago

Because of this 'python setup.py install' fails with following error:

Traceback (most recent call last):
  File "setup.py", line 47, in <module>
    long_description=read('README'),
  File "setup.py", line 28, in read
    with open(fname) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'README'
npmccallum commented 7 years ago

Fixed in 8d04823e270b55633dd064e8e038cd8dd72cfc69. Thanks for the contribution!

sundarnagarajan commented 7 years ago

Thanks for your work on this.

BTW: I found some code on github, that allowed me to use compressed points for MANY curves:

https://gist.github.com/kurtbrose/4423605#file-elliptic-py

https://github.com/pyca/cryptography/issues/2346

Would you be interested in incorporating support for compressed points - it will reduce the size of PUBLIC keys by about 50%

npmccallum commented 7 years ago

SEC 1 point compression is already supported: https://github.com/latchset/python-rubenesque/blob/master/rubenesque/codecs/sec.py#L30

npmccallum commented 7 years ago

(Point compression is, in fact, the default. You have to disable to get full X/Y values.)

sundarnagarajan commented 7 years ago

My mistake. I should look at this more carefully

sundarnagarajan commented 7 years ago

I see from the code that the TEST CODE only references curves MDC201601, secp224r1, secp521r1, edwards25519, edwards448

Does encode/decode also work for the following curves? secp192r1, secp256r1, secp384r1, brainpoolP160r1, brainpoolP192r1, brainpoolP224r1, brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1

npmccallum commented 7 years ago

Yes. All encodings work for all curves.

sundarnagarajan commented 7 years ago

Awesome. Thanks