x25519 1.0.8 → 1.0.9
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +42 -0
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +90 -0
- data/Gemfile +2 -3
- data/README.md +14 -30
- data/ext/x25519_precomputed/extconf.rb +1 -1
- data/lib/x25519.rb +3 -2
- data/lib/x25519/montgomery_u.rb +1 -1
- data/lib/x25519/scalar.rb +1 -0
- data/lib/x25519/version.rb +1 -1
- data/x25519.gemspec +4 -4
- metadata +14 -15
- data/.travis.yml +0 -21
- data/CHANGES.md +0 -81
- data/appveyor.yml +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 11ff922b9b148a4f8b37ae6ad4a6e1638930b50b93e5d45a169e0b1399963d22
|
|
4
|
+
data.tar.gz: 2b947a4726bc75e6a492821d25a656cce2852fa9d4b5a72cec491766f0cde724
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 00caf2f9602bcf4af710eb0eadce522cf0bcf6fa9c00e06c75af67b2c94c24d96d19bd9a0213b6ec30146e13e2d989bc8e145c5690be1773fceb52fa974b914e
|
|
7
|
+
data.tar.gz: dc318a0d65303ffc6ac7e5dd27aefc93bd500e3f56354d13d7264072e331f58aeb36f50cf176cbfcfb1dc082223908544a36b0afd05a8cad68455ca099cda6c5
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
paths-ignore:
|
|
6
|
+
- README.md
|
|
7
|
+
push:
|
|
8
|
+
branches: main
|
|
9
|
+
paths-ignore:
|
|
10
|
+
- README.md
|
|
11
|
+
|
|
12
|
+
env:
|
|
13
|
+
BUNDLE_WITHOUT: "development"
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
test:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
ruby:
|
|
21
|
+
- ruby-2.5
|
|
22
|
+
- ruby-2.6
|
|
23
|
+
- ruby-2.7
|
|
24
|
+
- ruby-3.0
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v2
|
|
27
|
+
- uses: ruby/setup-ruby@v1
|
|
28
|
+
with:
|
|
29
|
+
ruby-version: ${{ matrix.ruby }}
|
|
30
|
+
bundler-cache: true
|
|
31
|
+
- run: bundle exec rake compile
|
|
32
|
+
- run: bundle exec rake spec
|
|
33
|
+
|
|
34
|
+
rubocop:
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@v2
|
|
38
|
+
- uses: ruby/setup-ruby@v1
|
|
39
|
+
with:
|
|
40
|
+
ruby-version: 2.5
|
|
41
|
+
bundler-cache: true
|
|
42
|
+
- run: bundle exec rubocop --format progress --color
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
## [1.0.9] (2021-08-04)
|
|
2
|
+
|
|
3
|
+
[1.0.9]: https://github.com/RubyCrypto/x25519/compare/v1.0.8...v1.0.9
|
|
4
|
+
|
|
5
|
+
- [#23](https://github.com/RubyCrypto/x25519/pull/23)
|
|
6
|
+
Bump `required_ruby_version` to 2.5
|
|
7
|
+
- [#25](https://github.com/RubyCrypto/x25519/pull/25)
|
|
8
|
+
Fix SIGILL caused by use of `-march=native`
|
|
9
|
+
|
|
10
|
+
## [1.0.8] (2018-11-08)
|
|
11
|
+
|
|
12
|
+
[1.0.8]: https://github.com/RubyCrypto/x25519/compare/v1.0.7...v1.0.8
|
|
13
|
+
|
|
14
|
+
- [#20](https://github.com/RubyCrypto/x25519/pull/19)
|
|
15
|
+
Change license to BSD-3-clause.
|
|
16
|
+
|
|
17
|
+
## [1.0.7] (2018-02-26)
|
|
18
|
+
|
|
19
|
+
[1.0.7]: https://github.com/RubyCrypto/x25519/compare/v1.0.6...v1.0.7
|
|
20
|
+
|
|
21
|
+
- [#19](https://github.com/RubyCrypto/x25519/pull/19)
|
|
22
|
+
Incorporate upstream carry propagation bugfix and LICENSE changes.
|
|
23
|
+
|
|
24
|
+
## [1.0.6] (2018-01-04)
|
|
25
|
+
|
|
26
|
+
[1.0.6]: https://github.com/RubyCrypto/x25519/compare/v1.0.5...v1.0.6
|
|
27
|
+
|
|
28
|
+
- Use correct (LGPLv3) license in gemspec
|
|
29
|
+
|
|
30
|
+
## [1.0.5] (2017-12-31)
|
|
31
|
+
|
|
32
|
+
[1.0.5]: https://github.com/RubyCrypto/x25519/compare/v1.0.4...v1.0.5
|
|
33
|
+
|
|
34
|
+
- [#15](https://github.com/RubyCrypto/x25519/pull/15)
|
|
35
|
+
RuboCop 0.52.1
|
|
36
|
+
|
|
37
|
+
- [#14](https://github.com/RubyCrypto/x25519/pull/14)
|
|
38
|
+
`ext/x25519_ref10`: Consolidate all field element code into `fe.c`.
|
|
39
|
+
|
|
40
|
+
## [1.0.4] (2017-12-31)
|
|
41
|
+
|
|
42
|
+
[1.0.4]: https://github.com/RubyCrypto/x25519/compare/v1.0.3...v1.0.4
|
|
43
|
+
|
|
44
|
+
- [#13](https://github.com/RubyCrypto/x25519/pull/13)
|
|
45
|
+
Test against Ruby 2.5.0
|
|
46
|
+
|
|
47
|
+
- [#12](https://github.com/RubyCrypto/x25519/pull/12)
|
|
48
|
+
Move project to the RubyCrypto GitHub organization
|
|
49
|
+
|
|
50
|
+
## [1.0.3] (2017-12-13)
|
|
51
|
+
|
|
52
|
+
[1.0.3]: https://github.com/RubyCrypto/x25519/compare/v1.0.2...v1.0.3
|
|
53
|
+
|
|
54
|
+
- [#10](https://github.com/RubyCrypto/x25519/pull/10)
|
|
55
|
+
Detect degenerate (i.e. all-zero) public keys (fixes #6)
|
|
56
|
+
|
|
57
|
+
## [1.0.2] (2017-12-13)
|
|
58
|
+
|
|
59
|
+
[1.0.2]: https://github.com/RubyCrypto/x25519/compare/v1.0.1...v1.0.2
|
|
60
|
+
|
|
61
|
+
- [#9](https://github.com/RubyCrypto/x25519/pull/9)
|
|
62
|
+
Make `X25519.provider` an `attr_accessor`
|
|
63
|
+
- Raise `X25519::SelfTestFailure` when self-test fails
|
|
64
|
+
|
|
65
|
+
## [1.0.1] (2017-12-12)
|
|
66
|
+
|
|
67
|
+
[1.0.1]: https://github.com/RubyCrypto/x25519/compare/v1.0.0...v1.0.1
|
|
68
|
+
|
|
69
|
+
- Have `X25519.self_test` return true on success
|
|
70
|
+
|
|
71
|
+
## [1.0.0] (2017-12-12)
|
|
72
|
+
|
|
73
|
+
[1.0.0]: https://github.com/RubyCrypto/x25519/compare/v0.2.0...v1.0.0
|
|
74
|
+
|
|
75
|
+
- [#8](https://github.com/RubyCrypto/x25519/pull/8)
|
|
76
|
+
Add self-test
|
|
77
|
+
|
|
78
|
+
- [#7](https://github.com/RubyCrypto/x25519/pull/7)
|
|
79
|
+
Factor providers into the `X25519::Provider` namespace
|
|
80
|
+
|
|
81
|
+
## [0.2.0] (2017-12-12)
|
|
82
|
+
|
|
83
|
+
[0.2.0]: https://github.com/RubyCrypto/x25519/compare/v0.1.0...v0.2.0
|
|
84
|
+
|
|
85
|
+
- [#5](https://github.com/RubyCrypto/x25519/pull/5)
|
|
86
|
+
Rewrite gem in Ruby with minimal native extensions
|
|
87
|
+
|
|
88
|
+
## 0.1.0 (2017-12-11)
|
|
89
|
+
|
|
90
|
+
- Initial release
|
data/Gemfile
CHANGED
|
@@ -5,9 +5,8 @@ source "https://rubygems.org"
|
|
|
5
5
|
gemspec
|
|
6
6
|
|
|
7
7
|
group :development, :test do
|
|
8
|
-
gem "coveralls", require: false
|
|
9
8
|
gem "rake", require: false
|
|
10
9
|
gem "rake-compiler", "~> 1.0", require: false
|
|
11
|
-
gem "rspec", "~> 3.
|
|
12
|
-
gem "rubocop", "
|
|
10
|
+
gem "rspec", "~> 3.10", require: false
|
|
11
|
+
gem "rubocop", "1.18", require: false
|
|
13
12
|
end
|
data/README.md
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
# x25519.rb [![Latest Version][gem-shield]][gem-link] [![
|
|
1
|
+
# x25519.rb [![Latest Version][gem-shield]][gem-link] [![Yard Docs][docs-image]][docs-link] [![License: BSD 3-Clause][license-image]][license-link] [![Build Status][build-image]][build-link]
|
|
2
2
|
|
|
3
|
-
[gem-shield]: https://
|
|
3
|
+
[gem-shield]: https://img.shields.io/gem/v/x25519?logo=ruby
|
|
4
4
|
[gem-link]: https://rubygems.org/gems/x25519
|
|
5
|
-
[build-image]: https://travis-ci.org/crypto-rb/x25519.svg?branch=master
|
|
6
|
-
[build-link]: https://travis-ci.org/crypto-rb/x25519
|
|
7
|
-
[appveyor-image]: https://ci.appveyor.com/api/projects/status/4s05bcae0mow85v1?svg=true
|
|
8
|
-
[appveyor-link]: https://ci.appveyor.com/project/tarcieri/x25519
|
|
9
5
|
[docs-image]: https://img.shields.io/badge/yard-docs-blue.svg
|
|
10
6
|
[docs-link]: http://www.rubydoc.info/gems/x25519/1.0.6
|
|
11
7
|
[license-image]: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
|
|
12
8
|
[license-link]: https://spdx.org/licenses/BSD-3-Clause.html
|
|
13
|
-
[
|
|
14
|
-
[
|
|
9
|
+
[build-image]: https://github.com/RubyCrypto/x25519/actions/workflows/ci.yml/badge.svg
|
|
10
|
+
[build-link]: https://github.com/RubyCrypto/x25519/actions/workflows/ci.yml
|
|
15
11
|
|
|
16
12
|
An efficient public key cryptography library for Ruby providing key
|
|
17
13
|
exchange/agreement.
|
|
@@ -30,7 +26,7 @@ Curve25519.
|
|
|
30
26
|
[RFC7748]: https://tools.ietf.org/html/rfc7748
|
|
31
27
|
[How to (pre-)compute a ladder]: https://eprint.iacr.org/2017/264
|
|
32
28
|
[rfc7748_precomputed]: https://github.com/armfazh/rfc7748_precomputed
|
|
33
|
-
[ed25519 gem]: https://github.com/
|
|
29
|
+
[ed25519 gem]: https://github.com/RubyCrypto/ed25519
|
|
34
30
|
|
|
35
31
|
### Is it any good?
|
|
36
32
|
|
|
@@ -43,30 +39,17 @@ building block in cryptographic protocols.
|
|
|
43
39
|
|
|
44
40
|
### Can I use X25519 to encrypt things?
|
|
45
41
|
|
|
46
|
-
Please use [RbNaCl::Box]
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
built on top of it.
|
|
42
|
+
Please use [RbNaCl::Box] if you would like a high-level construction which uses
|
|
43
|
+
X25519 for public-key encryption. Otherwise, the X25519 algorithm is not directly
|
|
44
|
+
useful for encryption without a higher-level encryption protocol built on top of it.
|
|
50
45
|
|
|
51
|
-
[RbNaCl::Box]: https://github.com/
|
|
52
|
-
[XSTREAM]: https://github.com/miscreant/xstream
|
|
53
|
-
|
|
54
|
-
## Help and Discussion
|
|
55
|
-
|
|
56
|
-
Have questions? Want to suggest a feature or change? Join a discussion group:
|
|
57
|
-
|
|
58
|
-
* [Crypto.rb Gitter]: web-based chat about Ruby crypto projects including **x25519**.
|
|
59
|
-
* [Crypto.rb Google Group]: join via web or email ([crypto-rb+subscribe@googlegroups.com])
|
|
60
|
-
|
|
61
|
-
[Crypto.rb Gitter]: https://gitter.im/crypto-rb/Lobby
|
|
62
|
-
[Crypto.rb Google Group]: https://groups.google.com/forum/#!forum/crypto-rb
|
|
63
|
-
[crypto-rb+subscribe@googlegroups.com]: mailto:crypto-rb+subscribe@googlegroups.com?subject=subscribe
|
|
46
|
+
[RbNaCl::Box]: https://github.com/RubyCrypto/rbnacl/wiki/Public-Key-Encryption
|
|
64
47
|
|
|
65
48
|
## Requirements
|
|
66
49
|
|
|
67
50
|
**x25519.rb** is supported on and tested against the following platforms:
|
|
68
51
|
|
|
69
|
-
|
|
52
|
+
- MRI 2.5, 2.6, 2.7, 3.0
|
|
70
53
|
|
|
71
54
|
## Installation
|
|
72
55
|
|
|
@@ -246,7 +229,7 @@ Returns a `String` containing a 32-byte compressed Montgomery-u coordinate
|
|
|
246
229
|
|
|
247
230
|
## Contributing
|
|
248
231
|
|
|
249
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
|
232
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/RubyCrypto/x25519.
|
|
250
233
|
This project is intended to be a safe, welcoming space for collaboration,
|
|
251
234
|
and contributors are expected to adhere to the [Contributor Covenant](https://contributor-covenant.org)
|
|
252
235
|
code of conduct.
|
|
@@ -288,7 +271,8 @@ The optimized [rfc7748_precomputed] implementation was designed by:
|
|
|
288
271
|
|
|
289
272
|
## License
|
|
290
273
|
|
|
291
|
-
Copyright (c) 2017-2018 Armando Faz
|
|
274
|
+
Copyright (c) 2017-2018 Armando Faz
|
|
275
|
+
Copyright (c) 2017-2021 Tony Arcieri
|
|
292
276
|
|
|
293
277
|
This gem is available as open source under the terms of the
|
|
294
278
|
BSD-3 Clause License ([LICENSE](./LICENSE))
|
|
@@ -298,4 +282,4 @@ BSD-3 Clause License ([LICENSE](./LICENSE))
|
|
|
298
282
|
Everyone interacting in the x25519.rb project’s codebases, issue trackers, chat
|
|
299
283
|
rooms and mailing lists is expected to follow the [code of conduct].
|
|
300
284
|
|
|
301
|
-
[code of conduct]: https://github.com/
|
|
285
|
+
[code of conduct]: https://github.com/RubyCrypto/x25519/blob/main/CODE_OF_CONDUCT.md
|
data/lib/x25519.rb
CHANGED
|
@@ -72,6 +72,7 @@ module X25519
|
|
|
72
72
|
def validate_key_bytes(key_bytes)
|
|
73
73
|
raise TypeError, "expected String, got #{key_bytes.class}" unless key_bytes.is_a?(String)
|
|
74
74
|
return true if key_bytes.bytesize == KEY_SIZE
|
|
75
|
+
|
|
75
76
|
raise ArgumentError, "expected #{KEY_SIZE}-byte String, got #{key_bytes.bytesize}"
|
|
76
77
|
end
|
|
77
78
|
|
|
@@ -79,12 +80,12 @@ module X25519
|
|
|
79
80
|
def self_test
|
|
80
81
|
X25519::TestVectors::VARIABLE_BASE.each do |v|
|
|
81
82
|
shared_secret = provider.scalarmult([v.scalar].pack("H*"), [v.input_coord].pack("H*"))
|
|
82
|
-
raise SelfTestFailure, "self test failed!" unless shared_secret.
|
|
83
|
+
raise SelfTestFailure, "self test failed!" unless shared_secret.unpack1("H*") == v.output_coord
|
|
83
84
|
end
|
|
84
85
|
|
|
85
86
|
X25519::TestVectors::FIXED_BASE.each do |v|
|
|
86
87
|
public_key = provider.scalarmult_base([v.scalar].pack("H*"))
|
|
87
|
-
raise SelfTestFailure, "self test failed!" unless public_key.
|
|
88
|
+
raise SelfTestFailure, "self test failed!" unless public_key.unpack1("H*") == v.output_coord
|
|
88
89
|
end
|
|
89
90
|
|
|
90
91
|
true
|
data/lib/x25519/montgomery_u.rb
CHANGED
data/lib/x25519/scalar.rb
CHANGED
|
@@ -28,6 +28,7 @@ module X25519
|
|
|
28
28
|
# @return [X25519::MontgomeryU] resulting point (i.e. D-H shared secret)
|
|
29
29
|
def diffie_hellman(montgomery_u)
|
|
30
30
|
raise TypeError, "expected X25519::MontgomeryU, got #{montgomery_u}" unless montgomery_u.is_a?(MontgomeryU)
|
|
31
|
+
|
|
31
32
|
MontgomeryU.new(X25519.diffie_hellman(@scalar_bytes, montgomery_u.to_bytes))
|
|
32
33
|
end
|
|
33
34
|
alias multiply diffie_hellman
|
data/lib/x25519/version.rb
CHANGED
data/x25519.gemspec
CHANGED
|
@@ -7,13 +7,13 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.version = X25519::VERSION
|
|
8
8
|
spec.authors = ["Tony Arcieri"]
|
|
9
9
|
spec.email = ["bascule@gmail.com"]
|
|
10
|
-
spec.summary = "Public key cryptography library providing the X25519
|
|
10
|
+
spec.summary = "Public key cryptography library providing the X25519 Elliptic Curve Diffie-Hellman function"
|
|
11
11
|
spec.description = <<-DESCRIPTION.strip.gsub(/\s+/, " ")
|
|
12
12
|
An efficient public key cryptography library for Ruby providing key
|
|
13
13
|
exchange/agreement via the X25519 (a.k.a. Curve25519) Elliptic Curve
|
|
14
14
|
Diffie-Hellman function as described in RFC 7748.
|
|
15
15
|
DESCRIPTION
|
|
16
|
-
spec.homepage = "https://github.com/
|
|
16
|
+
spec.homepage = "https://github.com/RubyCrypto/x25519"
|
|
17
17
|
spec.license = "BSD-3-Clause" # https://spdx.org/licenses/BSD-3-Clause.html
|
|
18
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
19
19
|
spec.bindir = "exe"
|
|
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.platform = Gem::Platform::RUBY
|
|
23
23
|
spec.extensions = ["ext/x25519_precomputed/extconf.rb", "ext/x25519_ref10/extconf.rb"]
|
|
24
24
|
|
|
25
|
-
spec.required_ruby_version = ">= 2.
|
|
26
|
-
spec.add_development_dependency "bundler", "~> 1
|
|
25
|
+
spec.required_ruby_version = ">= 2.5"
|
|
26
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
|
27
27
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: x25519
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tony Arcieri
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-08-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1
|
|
19
|
+
version: '2.1'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1
|
|
26
|
+
version: '2.1'
|
|
27
27
|
description: An efficient public key cryptography library for Ruby providing key exchange/agreement
|
|
28
28
|
via the X25519 (a.k.a. Curve25519) Elliptic Curve Diffie-Hellman function as described
|
|
29
29
|
in RFC 7748.
|
|
@@ -35,17 +35,16 @@ extensions:
|
|
|
35
35
|
- ext/x25519_ref10/extconf.rb
|
|
36
36
|
extra_rdoc_files: []
|
|
37
37
|
files:
|
|
38
|
+
- ".github/workflows/ci.yml"
|
|
38
39
|
- ".gitignore"
|
|
39
40
|
- ".rspec"
|
|
40
41
|
- ".rubocop.yml"
|
|
41
|
-
-
|
|
42
|
-
- CHANGES.md
|
|
42
|
+
- CHANGELOG.md
|
|
43
43
|
- CODE_OF_CONDUCT.md
|
|
44
44
|
- Gemfile
|
|
45
45
|
- LICENSE
|
|
46
46
|
- README.md
|
|
47
47
|
- Rakefile
|
|
48
|
-
- appveyor.yml
|
|
49
48
|
- ext/x25519_precomputed/cputest.c
|
|
50
49
|
- ext/x25519_precomputed/extconf.rb
|
|
51
50
|
- ext/x25519_precomputed/fp25519_x64.c
|
|
@@ -70,11 +69,11 @@ files:
|
|
|
70
69
|
- lib/x25519/test_vectors.rb
|
|
71
70
|
- lib/x25519/version.rb
|
|
72
71
|
- x25519.gemspec
|
|
73
|
-
homepage: https://github.com/
|
|
72
|
+
homepage: https://github.com/RubyCrypto/x25519
|
|
74
73
|
licenses:
|
|
75
74
|
- BSD-3-Clause
|
|
76
75
|
metadata: {}
|
|
77
|
-
post_install_message:
|
|
76
|
+
post_install_message:
|
|
78
77
|
rdoc_options: []
|
|
79
78
|
require_paths:
|
|
80
79
|
- lib
|
|
@@ -82,16 +81,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
82
81
|
requirements:
|
|
83
82
|
- - ">="
|
|
84
83
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: 2.
|
|
84
|
+
version: '2.5'
|
|
86
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
86
|
requirements:
|
|
88
87
|
- - ">="
|
|
89
88
|
- !ruby/object:Gem::Version
|
|
90
89
|
version: '0'
|
|
91
90
|
requirements: []
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
signing_key:
|
|
91
|
+
rubygems_version: 3.0.3
|
|
92
|
+
signing_key:
|
|
95
93
|
specification_version: 4
|
|
96
|
-
summary: Public key cryptography library providing the X25519
|
|
94
|
+
summary: Public key cryptography library providing the X25519 Elliptic Curve Diffie-Hellman
|
|
95
|
+
function
|
|
97
96
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
cache: bundler
|
|
3
|
-
|
|
4
|
-
before_install:
|
|
5
|
-
- gem update --system
|
|
6
|
-
- gem --version
|
|
7
|
-
- gem install bundler -v 1.16.1
|
|
8
|
-
- bundle --version
|
|
9
|
-
|
|
10
|
-
rvm:
|
|
11
|
-
- 2.2
|
|
12
|
-
- 2.3
|
|
13
|
-
- 2.4.3
|
|
14
|
-
- 2.5.0
|
|
15
|
-
|
|
16
|
-
matrix:
|
|
17
|
-
fast_finish: true
|
|
18
|
-
|
|
19
|
-
branches:
|
|
20
|
-
only:
|
|
21
|
-
- master
|
data/CHANGES.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
## [1.0.8] (2018-11-08)
|
|
2
|
-
|
|
3
|
-
[1.0.8]: https://github.com/crypto-rb/x25519/compare/v1.0.7...v1.0.8
|
|
4
|
-
|
|
5
|
-
- [#20](https://github.com/crypto-rb/x25519/pull/19)
|
|
6
|
-
Change license to BSD-3-clause.
|
|
7
|
-
|
|
8
|
-
## [1.0.7] (2018-02-26)
|
|
9
|
-
|
|
10
|
-
[1.0.7]: https://github.com/crypto-rb/x25519/compare/v1.0.6...v1.0.7
|
|
11
|
-
|
|
12
|
-
- [#19](https://github.com/crypto-rb/x25519/pull/19)
|
|
13
|
-
Incorporate upstream carry propagation bugfix and LICENSE changes.
|
|
14
|
-
|
|
15
|
-
## [1.0.6] (2018-01-04)
|
|
16
|
-
|
|
17
|
-
[1.0.6]: https://github.com/crypto-rb/x25519/compare/v1.0.5...v1.0.6
|
|
18
|
-
|
|
19
|
-
- Use correct (LGPLv3) license in gemspec
|
|
20
|
-
|
|
21
|
-
## [1.0.5] (2017-12-31)
|
|
22
|
-
|
|
23
|
-
[1.0.5]: https://github.com/crypto-rb/x25519/compare/v1.0.4...v1.0.5
|
|
24
|
-
|
|
25
|
-
- [#15](https://github.com/crypto-rb/x25519/pull/15)
|
|
26
|
-
RuboCop 0.52.1
|
|
27
|
-
|
|
28
|
-
- [#14](https://github.com/crypto-rb/x25519/pull/14)
|
|
29
|
-
`ext/x25519_ref10`: Consolidate all field element code into `fe.c`.
|
|
30
|
-
|
|
31
|
-
## [1.0.4] (2017-12-31)
|
|
32
|
-
|
|
33
|
-
[1.0.4]: https://github.com/crypto-rb/x25519/compare/v1.0.3...v1.0.4
|
|
34
|
-
|
|
35
|
-
- [#13](https://github.com/crypto-rb/x25519/pull/13)
|
|
36
|
-
Test against Ruby 2.5.0
|
|
37
|
-
|
|
38
|
-
- [#12](https://github.com/crypto-rb/x25519/pull/12)
|
|
39
|
-
Move project to the crypto-rb GitHub organization
|
|
40
|
-
|
|
41
|
-
## [1.0.3] (2017-12-13)
|
|
42
|
-
|
|
43
|
-
[1.0.3]: https://github.com/crypto-rb/x25519/compare/v1.0.2...v1.0.3
|
|
44
|
-
|
|
45
|
-
- [#10](https://github.com/crypto-rb/x25519/pull/10)
|
|
46
|
-
Detect degenerate (i.e. all-zero) public keys (fixes #6)
|
|
47
|
-
|
|
48
|
-
## [1.0.2] (2017-12-13)
|
|
49
|
-
|
|
50
|
-
[1.0.2]: https://github.com/crypto-rb/x25519/compare/v1.0.1...v1.0.2
|
|
51
|
-
|
|
52
|
-
- [#9](https://github.com/crypto-rb/x25519/pull/9)
|
|
53
|
-
Make `X25519.provider` an `attr_accessor`
|
|
54
|
-
- Raise `X25519::SelfTestFailure` when self-test fails
|
|
55
|
-
|
|
56
|
-
## [1.0.1] (2017-12-12)
|
|
57
|
-
|
|
58
|
-
[1.0.1]: https://github.com/crypto-rb/x25519/compare/v1.0.0...v1.0.1
|
|
59
|
-
|
|
60
|
-
- Have `X25519.self_test` return true on success
|
|
61
|
-
|
|
62
|
-
## [1.0.0] (2017-12-12)
|
|
63
|
-
|
|
64
|
-
[1.0.0]: https://github.com/crypto-rb/x25519/compare/v0.2.0...v1.0.0
|
|
65
|
-
|
|
66
|
-
- [#8](https://github.com/crypto-rb/x25519/pull/8)
|
|
67
|
-
Add self-test
|
|
68
|
-
|
|
69
|
-
- [#7](https://github.com/crypto-rb/x25519/pull/7)
|
|
70
|
-
Factor providers into the `X25519::Provider` namespace
|
|
71
|
-
|
|
72
|
-
## [0.2.0] (2017-12-12)
|
|
73
|
-
|
|
74
|
-
[0.2.0]: https://github.com/crypto-rb/x25519/compare/v0.1.0...v0.2.0
|
|
75
|
-
|
|
76
|
-
- [#5](https://github.com/crypto-rb/x25519/pull/5)
|
|
77
|
-
Rewrite gem in Ruby with minimal native extensions
|
|
78
|
-
|
|
79
|
-
## 0.1.0 (2017-12-11)
|
|
80
|
-
|
|
81
|
-
- Initial release
|
data/appveyor.yml
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
branches:
|
|
2
|
-
only:
|
|
3
|
-
- master
|
|
4
|
-
|
|
5
|
-
environment:
|
|
6
|
-
PATH: C:\Ruby%RUBY_VERSION%\DevKit\mingw\bin;C:\Ruby%RUBY_VERSION%\bin;C:\Ruby%RUBY_VERSION%\DevKit\bin;%PATH%
|
|
7
|
-
matrix:
|
|
8
|
-
- RUBY_VERSION: "22-x64"
|
|
9
|
-
- RUBY_VERSION: "23-x64"
|
|
10
|
-
- RUBY_VERSION: "24-x64"
|
|
11
|
-
|
|
12
|
-
build: off
|
|
13
|
-
|
|
14
|
-
test_script:
|
|
15
|
-
- SET RAKEOPT=-rdevkit
|
|
16
|
-
- ruby -v
|
|
17
|
-
- gem -v
|
|
18
|
-
- bundle -v
|
|
19
|
-
- bundle
|
|
20
|
-
- bundle exec rake compile spec
|