Skip to content
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

Fork the ecdsa library and add compressed coordinate form #1

Open
ktofu opened this issue Jun 22, 2014 · 4 comments
Open

Fork the ecdsa library and add compressed coordinate form #1

ktofu opened this issue Jun 22, 2014 · 4 comments

Comments

@ktofu
Copy link
Member

ktofu commented Jun 22, 2014

In the string representation of the public key, we only need the x-coordinate of the point on the curve and the sign of the y-coordinate. At the moment the public keys are twice as long as they need to be.

This should be patched into the ecdsa library. Maybe we should fork and maintain our own version, this has the added advantage of increasing the difficulty to backdoor our shit.

@XertroV
Copy link
Member

XertroV commented Jun 22, 2014

No need to reinvent the wheel

pulling the even-or-not flag is easy, and then we have:
https://github.com/richardkiss/pycoin/blob/master/pycoin/ecdsa/ecdsa.py#L146

In cryptonet I'm actually ignoring the y coordinate atm. Users are identified solely from their pubkey_x coordinate (I figure that if someone can set pubkey_x and find one of the two valid priv_keys the DSA is broken anyway, so why bother entertaining the possibility of two different entities having the same pubkey_x).

lets worry about custom crypto or maintaining our own branch or whatever later, we can deal for the moment.

Have a look at the SuperTx field in cryptonet.standard, that has all the crypto we need; you shouldn't need to do any from your end.

@ktofu
Copy link
Member Author

ktofu commented Jun 23, 2014

I'm not suggesting we use custom crypto, I'm saying that the ecdsa library (
https://github.com/warner/python-ecdsa) is missing the [standard] crypto. I
didn't know the pycoin version already patched it in.

If the QT frontend is going to import components cryptonet, why are we
doing RPC instead of calling the function directly?

On Sun, Jun 22, 2014 at 4:54 PM, Max Kaye notifications@github.com wrote:

No need to reinvent the wheel

pulling the even-or-not flag is easy, and then we have:

https://github.com/richardkiss/pycoin/blob/master/pycoin/ecdsa/ecdsa.py#L146

In cryptonet I'm actually ignoring the y coordinate atm. Users are
identified solely from their pubkey_x coordinate (I figure that if someone
can set pubkey_x and find one of the two valid priv_keys the DSA is broken
anyway, so why bother entertaining the possibility of two different
entities having the same pubkey_x).

lets worry about custom crypto or maintaining our own branch or whatever
later, we can deal for the moment.

Have a look at the SuperTx field in cryptonet.standard, that has all the
crypto we need; you shouldn't need to do any from your end.


Reply to this email directly or view it on GitHub
#1 (comment)
.

@ktofu
Copy link
Member Author

ktofu commented Jun 23, 2014

lets worry about custom crypto or maintaining our own branch or whatever
later

Agreed. That's why I put it in the issue tracker and labelled it as an
enhancement.

On Sun, Jun 22, 2014 at 4:54 PM, Max Kaye notifications@github.com wrote:

No need to reinvent the wheel

pulling the even-or-not flag is easy, and then we have:

https://github.com/richardkiss/pycoin/blob/master/pycoin/ecdsa/ecdsa.py#L146

In cryptonet I'm actually ignoring the y coordinate atm. Users are
identified solely from their pubkey_x coordinate (I figure that if someone
can set pubkey_x and find one of the two valid priv_keys the DSA is broken
anyway, so why bother entertaining the possibility of two different
entities having the same pubkey_x).

lets worry about custom crypto or maintaining our own branch or whatever
later, we can deal for the moment.

Have a look at the SuperTx field in cryptonet.standard, that has all the
crypto we need; you shouldn't need to do any from your end.


Reply to this email directly or view it on GitHub
#1 (comment)
.

@XertroV
Copy link
Member

XertroV commented Jun 23, 2014

Ahh k, sounds good. I misunderstood.
On Jun 23, 2014 10:49 AM, "Kitten Tofu" notifications@github.com wrote:

lets worry about custom crypto or maintaining our own branch or whatever
later

Agreed. That's why I put it in the issue tracker and labelled it as an
enhancement.

On Sun, Jun 22, 2014 at 4:54 PM, Max Kaye notifications@github.com
wrote:

No need to reinvent the wheel

pulling the even-or-not flag is easy, and then we have:

https://github.com/richardkiss/pycoin/blob/master/pycoin/ecdsa/ecdsa.py#L146

In cryptonet I'm actually ignoring the y coordinate atm. Users are
identified solely from their pubkey_x coordinate (I figure that if
someone
can set pubkey_x and find one of the two valid priv_keys the DSA is
broken
anyway, so why bother entertaining the possibility of two different
entities having the same pubkey_x).

lets worry about custom crypto or maintaining our own branch or whatever
later, we can deal for the moment.

Have a look at the SuperTx field in cryptonet.standard, that has all the
crypto we need; you shouldn't need to do any from your end.


Reply to this email directly or view it on GitHub
<
https://github.com/eudemonia-research/mincoin/issues/1#issuecomment-46796775>

.


Reply to this email directly or view it on GitHub
#1 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants