ed25519 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +51 -17
  3. data/LICENSE +1 -1
  4. data/README.md +29 -14
  5. data/ed25519.png +0 -0
  6. data/ext/ed25519_jruby/org/{cryptosphere → cryptorb}/Ed25519Provider.java +1 -1
  7. data/ext/ed25519_ref10/extconf.rb +2 -2
  8. data/ext/ed25519_ref10/fe.c +1085 -0
  9. data/ext/ed25519_ref10/ge.c +407 -0
  10. data/lib/ed25519/verify_key.rb +2 -1
  11. data/lib/ed25519/version.rb +1 -1
  12. data/lib/ed25519.rb +8 -8
  13. data/lib/ed25519_jruby.jar +0 -0
  14. metadata +23 -60
  15. data/.gitignore +0 -16
  16. data/.rspec +0 -5
  17. data/.rubocop.yml +0 -35
  18. data/.travis.yml +0 -15
  19. data/CODE_OF_CONDUCT.md +0 -74
  20. data/Gemfile +0 -12
  21. data/Rakefile +0 -27
  22. data/ed25519.gemspec +0 -32
  23. data/ext/ed25519_ref10/fe_0.c +0 -19
  24. data/ext/ed25519_ref10/fe_1.c +0 -19
  25. data/ext/ed25519_ref10/fe_add.c +0 -57
  26. data/ext/ed25519_ref10/fe_cmov.c +0 -63
  27. data/ext/ed25519_ref10/fe_copy.c +0 -29
  28. data/ext/ed25519_ref10/fe_frombytes.c +0 -71
  29. data/ext/ed25519_ref10/fe_invert.c +0 -14
  30. data/ext/ed25519_ref10/fe_isnegative.c +0 -16
  31. data/ext/ed25519_ref10/fe_isnonzero.c +0 -19
  32. data/ext/ed25519_ref10/fe_mul.c +0 -252
  33. data/ext/ed25519_ref10/fe_neg.c +0 -45
  34. data/ext/ed25519_ref10/fe_pow22523.c +0 -13
  35. data/ext/ed25519_ref10/fe_sq.c +0 -148
  36. data/ext/ed25519_ref10/fe_sq2.c +0 -159
  37. data/ext/ed25519_ref10/fe_sub.c +0 -57
  38. data/ext/ed25519_ref10/fe_tobytes.c +0 -119
  39. data/ext/ed25519_ref10/ge_add.c +0 -11
  40. data/ext/ed25519_ref10/ge_double_scalarmult.c +0 -96
  41. data/ext/ed25519_ref10/ge_frombytes.c +0 -50
  42. data/ext/ed25519_ref10/ge_madd.c +0 -11
  43. data/ext/ed25519_ref10/ge_msub.c +0 -11
  44. data/ext/ed25519_ref10/ge_p1p1_to_p2.c +0 -12
  45. data/ext/ed25519_ref10/ge_p1p1_to_p3.c +0 -13
  46. data/ext/ed25519_ref10/ge_p2_0.c +0 -8
  47. data/ext/ed25519_ref10/ge_p2_dbl.c +0 -11
  48. data/ext/ed25519_ref10/ge_p3_0.c +0 -9
  49. data/ext/ed25519_ref10/ge_p3_dbl.c +0 -12
  50. data/ext/ed25519_ref10/ge_p3_to_cached.c +0 -17
  51. data/ext/ed25519_ref10/ge_p3_to_p2.c +0 -12
  52. data/ext/ed25519_ref10/ge_p3_tobytes.c +0 -14
  53. data/ext/ed25519_ref10/ge_precomp_0.c +0 -8
  54. data/ext/ed25519_ref10/ge_scalarmult_base.c +0 -104
  55. data/ext/ed25519_ref10/ge_sub.c +0 -11
  56. data/ext/ed25519_ref10/ge_tobytes.c +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6e67765f56c7c630d3b6427abe004258d0d794ee
4
- data.tar.gz: e8fc0671193a03268303dbf120d74e69425fb967
2
+ SHA256:
3
+ metadata.gz: 96a5d740f6f97510c41aaffe8d105c085dfc32282e395ed0c668ac894c175777
4
+ data.tar.gz: a9f4f7aed3f41646754a35b2b03b770a5868cadbd543317354c2e5c864aca4ab
5
5
  SHA512:
6
- metadata.gz: 047e93244b53ef61a2ccafa36e3ace46085c451387e4e94d3b2dcd6771f1780264a4d7224f2790c1fefec71faaa354cd505a45b6b6c6babb98db4b62be6f7f65
7
- data.tar.gz: 3e5de330935e3ea497f07262f7e1b06970e1d1be6040de63b2e1c7ef3f1abc5dd3eca75d7bf5204d6d8062b03eeed6ee6b5bb3488ff9cb595b9c26a2da8cac69
6
+ metadata.gz: c850d4a4748eed7db824e57fe9b7e86efe0738f184e5c7c667a06b4398ba70f1129cf11c3101ee09b33790f9d4a8e0873fd4cab61be033862cf65703420af7a9
7
+ data.tar.gz: 136b7ef426b473ca83f3c7bbd20643c2731bb927b1728649f92db3cb2dd360d2ce5d6ebc3bf7c966fceca4f0385684b38947518be49b4141c7f30e3b213f36fa
data/CHANGES.md CHANGED
@@ -1,44 +1,78 @@
1
- # [1.2.1] (2017-12-15)
1
+ ## [1.3.0] (2022-01-16)
2
2
 
3
- [1.2.1]: https://github.com/cryptosphere/x25519/compare/v1.2.0...v1.2.1
3
+ [1.3.0]: https://github.com/crypto-rb/ed25519/compare/v1.2.4...v1.3.0
4
4
 
5
- * [#14](https://github.com/cryptosphere/ed25519/pull/14)
5
+ - Bump rubocop dependencies. ([#30])
6
+ - Add support for Ruby 3 & JRuby 9.3.0. ([#31])
7
+
8
+ [#30]: https://github.com/crypto-rb/ed25519/pull/30
9
+ [#31]: https://github.com/crypto-rb/ed25519/pull/31
10
+
11
+ ## [1.2.4] (2018-01-04)
12
+
13
+ [1.2.4]: https://github.com/crypto-rb/ed25519/compare/v1.2.3...v1.2.4
14
+
15
+ * Fix JRuby platform name
16
+ * Add license information to gemspec
17
+
18
+ ## [1.2.3] (2017-12-31)
19
+
20
+ [1.2.3]: https://github.com/crypto-rb/ed25519/compare/v1.2.2...v1.2.3
21
+
22
+ * [#18](https://github.com/crypto-rb/ed25519/pull/18)
23
+ `ext/ed25519_ref10`: Consolidate fe.c and ge.c
24
+
25
+ ## [1.2.2] (2017-12-31)
26
+
27
+ [1.2.2]: https://github.com/crypto-rb/ed25519/compare/v1.2.1...v1.2.2
28
+
29
+ * [#17](https://github.com/crypto-rb/ed25519/pull/17)
30
+ Test against Ruby 2.5.0
31
+
32
+ * [#16](https://github.com/crypto-rb/ed25519/pull/16)
33
+ Move project to the crypto-rb GitHub organization
34
+
35
+ ## [1.2.1] (2017-12-15)
36
+
37
+ [1.2.1]: https://github.com/crypto-rb/ed25519/compare/v1.2.0...v1.2.1
38
+
39
+ * [#14](https://github.com/crypto-rb/ed25519/pull/14)
6
40
  Support MRI 2.0+
7
41
 
8
- # [1.2.0] (2017-12-15)
42
+ ## [1.2.0] (2017-12-15)
9
43
 
10
- [1.2.0]: https://github.com/cryptosphere/x25519/compare/v1.1.0...v1.2.0
44
+ [1.2.0]: https://github.com/crypto-rb/ed25519/compare/v1.1.0...v1.2.0
11
45
 
12
- * [#13](https://github.com/cryptosphere/ed25519/pull/13)
46
+ * [#13](https://github.com/crypto-rb/ed25519/pull/13)
13
47
  Add `Ed25519::SigningKey.from_keypair`
14
48
 
15
- * [#12](https://github.com/cryptosphere/ed25519/pull/12)
49
+ * [#12](https://github.com/crypto-rb/ed25519/pull/12)
16
50
  Add `Ed25519.validate_key_bytes` method
17
51
 
18
- # [1.1.0] (2017-12-13)
52
+ ## [1.1.0] (2017-12-13)
19
53
 
20
- [1.1.0]: https://github.com/cryptosphere/x25519/compare/v1.0.0...v1.1.0
54
+ [1.1.0]: https://github.com/crypto-rb/ed25519/compare/v1.0.0...v1.1.0
21
55
 
22
- * [#11](https://github.com/cryptosphere/ed25519/pull/11)
56
+ * [#11](https://github.com/crypto-rb/ed25519/pull/11)
23
57
  ext/ed25519_java: switch to str4d/ed25519-java implementation (fixes #4)
24
58
 
25
- * [#9](https://github.com/cryptosphere/ed25519/pull/9)
59
+ * [#9](https://github.com/crypto-rb/ed25519/pull/9)
26
60
  Implement Java backend as a proper JRuby extension
27
61
 
28
- * [#8](https://github.com/cryptosphere/ed25519/pull/8)
62
+ * [#8](https://github.com/crypto-rb/ed25519/pull/8)
29
63
  Use an attr_accessor for Ed25519.provider
30
64
 
31
- # [1.0.0] (2017-12-12)
65
+ ## [1.0.0] (2017-12-12)
32
66
 
33
- [1.0.0]: https://github.com/cryptosphere/x25519/compare/v0.1.0...v1.0.0
67
+ [1.0.0]: https://github.com/crypto-rb/ed25519/compare/v0.1.0...v1.0.0
34
68
 
35
- * [#7](https://github.com/cryptosphere/ed25519/pull/7)
69
+ * [#7](https://github.com/crypto-rb/ed25519/pull/7)
36
70
  Keypair refactor
37
71
 
38
- * [#6](https://github.com/cryptosphere/ed25519/pull/6)
72
+ * [#6](https://github.com/crypto-rb/ed25519/pull/6)
39
73
  Switch from "ref" C implementation to SUPERCOP "ref10"
40
74
 
41
- * [#5](https://github.com/cryptosphere/ed25519/pull/5)
75
+ * [#5](https://github.com/crypto-rb/ed25519/pull/5)
42
76
  Raise Ed25519::VerifyError if signature verification fails
43
77
 
44
78
  # 0.1.0 (2017-12-11)
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012-2017 Tony Arcieri
1
+ Copyright (c) 2012-2021 Tony Arcieri
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,13 +1,13 @@
1
- # ed25519.rb [![Latest Version][gem-shield]][gem-link] [![Build Status][build-image]][build-link] [![Yard Docs][docs-image]][docs-link] [![License: MIT][license-image]][license-link]
1
+ # ed25519.rb [![Latest Version][gem-shield]][gem-link] [![CI Status][ci-image]][ci-link] [![Yard Docs][docs-image]][docs-link] [![License: MIT][license-image]][license-link]
2
2
 
3
3
  [gem-shield]: https://badge.fury.io/rb/ed25519.svg
4
4
  [gem-link]: https://rubygems.org/gems/ed25519
5
- [build-image]: https://travis-ci.org/cryptosphere/ed25519.svg?branch=master
6
- [build-link]: https://travis-ci.org/cryptosphere/ed25519
5
+ [ci-image]: https://github.com/RubyCrypto/ed25519/workflows/CI/badge.svg
6
+ [ci-link]: https://github.com/RubyCrypto/ed25519/actions?query=workflow%3ACI+branch%3Amaster
7
7
  [docs-image]: https://img.shields.io/badge/yard-docs-blue.svg
8
- [docs-link]: http://www.rubydoc.info/gems/ed25519/1.2.1
8
+ [docs-link]: http://www.rubydoc.info/gems/ed25519/1.3.0
9
9
  [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
10
- [license-link]: https://github.com/cryptosphere/ed25519/blob/master/LICENSE
10
+ [license-link]: https://github.com/RubyCrypto/ed25519/blob/master/LICENSE
11
11
 
12
12
  A Ruby binding to the Ed25519 elliptic curve public-key signature system
13
13
  described in [RFC 8032].
@@ -23,7 +23,7 @@ Montgomery form of Curve25519.
23
23
 
24
24
  [RFC 8032]: https://tools.ietf.org/html/rfc8032
25
25
  [str4d/ed25519-java]: https://github.com/str4d/ed25519-java
26
- [x25519 gem]: https://github.com/cryptosphere/x25519
26
+ [x25519 gem]: https://github.com/RubyCrypto/x25519
27
27
 
28
28
  ## What is Ed25519?
29
29
 
@@ -34,7 +34,7 @@ Ed25519 provides a 128-bit security level, that is to say, all known attacks
34
34
  take at least 2^128 operations, providing the same security level as AES-128,
35
35
  NIST P-256, and RSA-3072.
36
36
 
37
- ![Ed25519 Diagram](https://raw.github.com/cryptosphere/ed25519/master/ed25519.png)
37
+ ![Ed25519 Diagram](https://raw.githubusercontent.com/RubyCrypto/ed25519/master/ed25519.png)
38
38
 
39
39
  Ed25519 has a number of unique properties that make it one of the best-in-class
40
40
  digital signature algorithms:
@@ -58,12 +58,27 @@ You can read more on [Dan Bernstein's Ed25519 site](http://ed25519.cr.yp.to/).
58
58
 
59
59
  [Schnorr signature]: https://en.wikipedia.org/wiki/Schnorr_signature
60
60
 
61
+ ### Is it any good?
62
+
63
+ [Yes.](http://news.ycombinator.com/item?id=3067434)
64
+
65
+ ## Help and Discussion
66
+
67
+ Have questions? Want to suggest a feature or change? Join a discussion group:
68
+
69
+ * [Crypto.rb Gitter]: web-based chat about Ruby crypto projects including **ed25519**.
70
+ * [Crypto.rb Google Group]: join via web or email ([crypto-rb+subscribe@googlegroups.com])
71
+
72
+ [Crypto.rb Gitter]: https://gitter.im/crypto-rb/Lobby
73
+ [Crypto.rb Google Group]: https://groups.google.com/forum/#!forum/crypto-rb
74
+ [crypto-rb+subscribe@googlegroups.com]: mailto:crypto-rb+subscribe@googlegroups.com?subject=subscribe
75
+
61
76
  ## Requirements
62
77
 
63
- **ed25519.rb** is tested on and supported by the following platforms:
78
+ **ed25519.rb** is supported on and tested against the following platforms:
64
79
 
65
- * MRI 2.0+
66
- * JRuby 9000+
80
+ * MRI 2.4, 2.5, 2.6, 2.7, 3.0
81
+ * JRuby 9.2.19, 9.3.0
67
82
 
68
83
  ## Installation
69
84
 
@@ -146,21 +161,21 @@ Weaknesses in the random number source can potentially result in insecure keys.
146
161
 
147
162
  ## Contributing
148
163
 
149
- Bug reports and pull requests are welcome on GitHub at https://github.com/cryptosphere/ed25519.
164
+ Bug reports and pull requests are welcome on GitHub at https://github.com/RubyCrypto/ed25519.
150
165
  This project is intended to be a safe, welcoming space for collaboration,
151
166
  and contributors areexpected to adhere to the [Contributor Covenant](http://contributor-covenant.org)
152
167
  code of conduct.
153
168
 
154
169
  ## License
155
170
 
156
- Copyright (c) 2012-2017 Tony Arcieri. Distributed under the MIT License. See
171
+ Copyright (c) 2012-2021 Tony Arcieri. Distributed under the MIT License. See
157
172
  [LICENSE] for further details.
158
173
 
159
- [LICENSE]: https://github.com/cryptosphere/ed25519/blob/master/LICENSE
174
+ [LICENSE]: https://github.com/RubyCrypto/ed25519/blob/master/LICENSE
160
175
 
161
176
  ## Code of Conduct
162
177
 
163
178
  Everyone interacting in the **ed25519.rb** project’s codebases, issue trackers, chat
164
179
  rooms and mailing lists is expected to follow the [code of conduct].
165
180
 
166
- [code of conduct]: https://github.com/cryptosphere/ed25519/blob/master/CODE_OF_CONDUCT.md
181
+ [code of conduct]: https://github.com/RubyCrypto/ed25519/blob/master/CODE_OF_CONDUCT.md
data/ed25519.png CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- package org.cryptosphere;
1
+ package org.cryptorb;
2
2
 
3
3
  import java.security.MessageDigest;
4
4
  import java.security.Signature;
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Style/GlobalVars
4
-
5
3
  require "mkmf"
6
4
 
5
+ # rubocop:disable Style/GlobalVars
7
6
  $CFLAGS << " -Wall -O3 -pedantic -std=c99"
7
+ # rubocop:enable Style/GlobalVars
8
8
 
9
9
  create_makefile "ed25519_ref10"