ed25519 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"