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

Optimize ScalarMult with NAF + Windowing #3

Closed
davecgh opened this issue Dec 21, 2013 · 0 comments · Fixed by #10
Closed

Optimize ScalarMult with NAF + Windowing #3

davecgh opened this issue Dec 21, 2013 · 0 comments · Fixed by #10

Comments

@davecgh
Copy link
Member

davecgh commented Dec 21, 2013

Currently ScalarMult is performed using the basic left-to-right binary point multiplication algorithm. Thus, it can be accelerated by making use of non-adjacent form (NAF) and windowing. See the NAF and Window sub-sections in section 3.3.1 of Guide to Elliptic Curve Cryptography - Hankerson, Menezes, Vanstone for details.

davecgh added a commit that referenced this issue Dec 23, 2013
This commit exposes a new function named Serialize on the Signature type
which can be used to obtain a DER encoded signature.  Previously this
function was named sigDer and was part of btcscript, but as @donovanhide
pointed out in issue btcscript/#3, it really should have been part of this
package.

ok @owainga
davecgh added a commit that referenced this issue Dec 23, 2013
This is part of the resolution for issue btcscript/#3.
jimmysong added a commit to jimmysong/btcec that referenced this issue Sep 28, 2014
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Sep 28, 2014
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Sep 28, 2014
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Jan 22, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 1, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 3, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 3, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 3, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 3, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

This closes btcsuite#3
jimmysong added a commit to jimmysong/btcec that referenced this issue Feb 5, 2015
Use Non-Adjacent Form (NAF) of large numbers to reduce ScalarMult computation times.

Preliminary results indicate around a 8-9% speed improvement according to BenchmarkScalarMult.

The algorithm used is 3.77 from Guide to Elliptical Curve Crytography by Hankerson, et al.

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

Successfully merging a pull request may close this issue.

1 participant