-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is point compression supported? #15
Comments
Hi @p0fi and thanks for your interest. I have chosen not to support point compression, because it seems to be patent encumbered: I am not 100% sure when the patents will expire, but it should be soon. |
Oh really? Thats a pity, I really need a point compressed representation of the keys. Do you have any idea how I can maybe implement it myself easily? The patent link seems overwhelmingly complex since im not really into cryptography. I found that https://github.com/kmackay/micro-ecc does support point compression but not the curve I need in particular. |
Not many people know for sure how the patent situation is currently. ECC is quite the patent mine-field, so I haven't uploaded anything related to point compression, even though it's conceptually somewhat simple. Basically, you exploit the fact that if you know the x-coordinate, there are only so many y-coordinates the point can have, if it lies on the curve. This page has great ECC resources, and pseudo-code for some field-operations: I think this answer on crypto.stackexchange has a pretty good explanation of the math involved: There is a thorough description of formats under section 2.3 in this document: And this blog is a really approachable introduction to ECC in general: |
That patent link states the patent application expires today. |
Hi @trstovall and thanks for chiming in. I read that too :) The problem is, that this is not the only patent on ECC - far from - it's just one of the better known ones. There are no public lists of all patents covering which ECC techniques, and there are not many sources of information on what is unencumbered. Most ECC patents should expire around 2020-2021, from what I've read, but there are no guarantees. There is even an RFC dedicated to what is covered by patents in ECC and what isn't: Some patents are only valid in the US etc. etc. -- I don't know what to make of this. Software patents are an abomination... |
Is point compression supported? I need a compressed version of my public key which is 22 bytes long for a sect163k1 curve key pair. I can't find a way to get this right now.
The text was updated successfully, but these errors were encountered: