x25519 1.0.10 → 1.0.11
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 +9 -6
- data/.rubocop.yml +24 -1
- data/CHANGELOG.md +13 -2
- data/Gemfile +4 -1
- data/README.md +3 -3
- data/Rakefile +1 -1
- data/ext/x25519_precomputed/extconf.rb +3 -3
- data/lib/x25519/version.rb +1 -1
- data/x25519.gemspec +2 -6
- metadata +6 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7719a7281f05c567dfa75374f3b90fa50458b275f412a25cf477bcd80f64af93
|
|
4
|
+
data.tar.gz: a0337f7cde547afc62e96e312524f203a47d36ffd0c5eae18b6cb369ca6e04de
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 91c1d55aef2dc504c442060db5c89be79ea78d3029c674cff3dab5ebca9b6a083bfee7e4fcf1d925680b4fdd6d3a9aa45743e40bf67d93ed6fb216cc3b02e356
|
|
7
|
+
data.tar.gz: 7baa70cd16de2d839b1eea86044712ea0d577922237f22985d5c85caa77ad49ea28448e1c72f29cea024c90e1c449bbcefea638d111f05bcc051efaa47c6b300
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -5,7 +5,6 @@ on:
|
|
|
5
5
|
paths-ignore:
|
|
6
6
|
- README.md
|
|
7
7
|
push:
|
|
8
|
-
branches: main
|
|
9
8
|
paths-ignore:
|
|
10
9
|
- README.md
|
|
11
10
|
|
|
@@ -16,14 +15,18 @@ jobs:
|
|
|
16
15
|
test:
|
|
17
16
|
runs-on: ubuntu-latest
|
|
18
17
|
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
19
|
matrix:
|
|
20
20
|
ruby:
|
|
21
|
-
- ruby-2.5
|
|
22
|
-
- ruby-2.6
|
|
23
21
|
- ruby-2.7
|
|
24
22
|
- ruby-3.0
|
|
23
|
+
- ruby-3.1
|
|
24
|
+
- ruby-3.2
|
|
25
|
+
- ruby-3.3
|
|
26
|
+
- ruby-3.4
|
|
27
|
+
- ruby-head
|
|
25
28
|
steps:
|
|
26
|
-
- uses: actions/checkout@
|
|
29
|
+
- uses: actions/checkout@v4
|
|
27
30
|
- uses: ruby/setup-ruby@v1
|
|
28
31
|
with:
|
|
29
32
|
ruby-version: ${{ matrix.ruby }}
|
|
@@ -34,9 +37,9 @@ jobs:
|
|
|
34
37
|
rubocop:
|
|
35
38
|
runs-on: ubuntu-latest
|
|
36
39
|
steps:
|
|
37
|
-
- uses: actions/checkout@
|
|
40
|
+
- uses: actions/checkout@v4
|
|
38
41
|
- uses: ruby/setup-ruby@v1
|
|
39
42
|
with:
|
|
40
|
-
ruby-version: 2.
|
|
43
|
+
ruby-version: 2.7
|
|
41
44
|
bundler-cache: true
|
|
42
45
|
- run: bundle exec rubocop --format progress --color
|
data/.rubocop.yml
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
+
require:
|
|
2
|
+
- rubocop-performance
|
|
3
|
+
- rubocop-rake
|
|
4
|
+
- rubocop-rspec
|
|
5
|
+
|
|
1
6
|
AllCops:
|
|
2
|
-
TargetRubyVersion: 2.
|
|
7
|
+
TargetRubyVersion: 2.7
|
|
3
8
|
DisplayCopNames: true
|
|
9
|
+
NewCops: enable
|
|
10
|
+
|
|
11
|
+
#
|
|
12
|
+
# Gemspec
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
Gemspec/RequireMFA:
|
|
16
|
+
Enabled: false
|
|
4
17
|
|
|
5
18
|
#
|
|
6
19
|
# Metrics
|
|
@@ -36,3 +49,13 @@ Style/FrozenStringLiteralComment:
|
|
|
36
49
|
|
|
37
50
|
Style/StringLiterals:
|
|
38
51
|
EnforcedStyle: double_quotes
|
|
52
|
+
|
|
53
|
+
#
|
|
54
|
+
# RSpec
|
|
55
|
+
#
|
|
56
|
+
|
|
57
|
+
RSpec/MultipleExpectations:
|
|
58
|
+
Max: 3
|
|
59
|
+
|
|
60
|
+
RSpec/ExampleLength:
|
|
61
|
+
Max: 6
|
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
## [1.0.
|
|
1
|
+
## [1.0.11] (2026-01-22)
|
|
2
|
+
|
|
3
|
+
- [#38](https://github.com/RubyCrypto/x25519/pull/38)
|
|
4
|
+
Drop support for Ruby 2.5/2.6
|
|
5
|
+
- [#36](https://github.com/RubyCrypto/x25519/pull/36)
|
|
6
|
+
Add automatic fallback for non-x86_64 targets.
|
|
7
|
+
|
|
8
|
+
[1.0.11]: https://github.com/RubyCrypto/x25519/compare/v1.0.10...v1.0.11
|
|
9
|
+
|
|
10
|
+
## [1.0.10] (2022-10-06)
|
|
2
11
|
|
|
3
12
|
[1.0.10]: https://github.com/RubyCrypto/x25519/compare/v1.0.9...v1.0.10
|
|
4
13
|
|
|
5
|
-
- [#
|
|
14
|
+
- [#32](https://github.com/RubyCrypto/x25519/pull/32)
|
|
15
|
+
Avoid building precomputed on `aarch64-linux`
|
|
16
|
+
- [#29](https://github.com/RubyCrypto/x25519/pull/29), [#31](https://github.com/RubyCrypto/x25519/pull/31)
|
|
6
17
|
Allow usage on Apple silicon
|
|
7
18
|
|
|
8
19
|
## [1.0.9] (2021-08-04)
|
data/Gemfile
CHANGED
|
@@ -8,5 +8,8 @@ group :development, :test do
|
|
|
8
8
|
gem "rake", require: false
|
|
9
9
|
gem "rake-compiler", "~> 1.0", require: false
|
|
10
10
|
gem "rspec", "~> 3.10", require: false
|
|
11
|
-
gem "rubocop", "1.
|
|
11
|
+
gem "rubocop", "1.68", require: false
|
|
12
|
+
gem "rubocop-performance", "1.23.0", require: false
|
|
13
|
+
gem "rubocop-rake", "0.6.0", require: false
|
|
14
|
+
gem "rubocop-rspec", "3.2.0", require: false
|
|
12
15
|
end
|
data/README.md
CHANGED
|
@@ -49,7 +49,7 @@ useful for encryption without a higher-level encryption protocol built on top of
|
|
|
49
49
|
|
|
50
50
|
**x25519.rb** is supported on and tested against the following platforms:
|
|
51
51
|
|
|
52
|
-
- MRI 2.
|
|
52
|
+
- MRI 2.7, 3.0, 3.1, 3.2, 3.3, 3.4
|
|
53
53
|
|
|
54
54
|
## Installation
|
|
55
55
|
|
|
@@ -271,8 +271,8 @@ The optimized [rfc7748_precomputed] implementation was designed by:
|
|
|
271
271
|
|
|
272
272
|
## License
|
|
273
273
|
|
|
274
|
-
Copyright (c) 2017-2018 Armando Faz
|
|
275
|
-
Copyright (c) 2017-
|
|
274
|
+
* Copyright (c) 2017-2018 Armando Faz
|
|
275
|
+
* Copyright (c) 2017-2026 Tony Arcieri
|
|
276
276
|
|
|
277
277
|
This gem is available as open source under the terms of the
|
|
278
278
|
BSD-3 Clause License ([LICENSE](./LICENSE))
|
data/Rakefile
CHANGED
|
@@ -7,7 +7,7 @@ CLEAN.include("**/*.o", "**/*.so", "**/*.bundle", "pkg", "tmp")
|
|
|
7
7
|
|
|
8
8
|
require "rake/extensiontask"
|
|
9
9
|
%w[precomputed ref10].each do |provider|
|
|
10
|
-
next if provider == "precomputed" && RUBY_PLATFORM
|
|
10
|
+
next if provider == "precomputed" && RUBY_PLATFORM !~ /x86_64|x64/
|
|
11
11
|
|
|
12
12
|
Rake::ExtensionTask.new("x25519_#{provider}") do |ext|
|
|
13
13
|
ext.ext_dir = "ext/x25519_#{provider}"
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
require "mkmf"
|
|
6
6
|
|
|
7
|
-
if RUBY_PLATFORM
|
|
8
|
-
File.write("Makefile", "install clean: ;")
|
|
9
|
-
else
|
|
7
|
+
if RUBY_PLATFORM.match?(/x86_64|x64/)
|
|
10
8
|
$CFLAGS << " -Wall -O3 -pedantic -std=c99 -mbmi -mbmi2 -march=haswell"
|
|
11
9
|
|
|
12
10
|
create_makefile "x25519_precomputed"
|
|
11
|
+
else
|
|
12
|
+
File.write("Makefile", "install clean: ;")
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
# rubocop:enable Style/GlobalVars
|
data/lib/x25519/version.rb
CHANGED
data/x25519.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require_relative "lib/x25519/version"
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "x25519"
|
|
@@ -16,12 +16,8 @@ Gem::Specification.new do |spec|
|
|
|
16
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
|
-
spec.bindir = "exe"
|
|
20
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
|
-
spec.require_paths = ["lib"]
|
|
22
19
|
spec.platform = Gem::Platform::RUBY
|
|
23
20
|
spec.extensions = ["ext/x25519_precomputed/extconf.rb", "ext/x25519_ref10/extconf.rb"]
|
|
24
21
|
|
|
25
|
-
spec.required_ruby_version = ">= 2.
|
|
26
|
-
spec.add_development_dependency "bundler", "~> 2.1"
|
|
22
|
+
spec.required_ruby_version = ">= 2.7"
|
|
27
23
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
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.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tony Arcieri
|
|
8
8
|
autorequire:
|
|
9
|
-
bindir:
|
|
9
|
+
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: bundler
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.1'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '2.1'
|
|
11
|
+
date: 2026-01-22 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
27
13
|
description: An efficient public key cryptography library for Ruby providing key exchange/agreement
|
|
28
14
|
via the X25519 (a.k.a. Curve25519) Elliptic Curve Diffie-Hellman function as described
|
|
29
15
|
in RFC 7748.
|
|
@@ -82,14 +68,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
82
68
|
requirements:
|
|
83
69
|
- - ">="
|
|
84
70
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: '2.
|
|
71
|
+
version: '2.7'
|
|
86
72
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
73
|
requirements:
|
|
88
74
|
- - ">="
|
|
89
75
|
- !ruby/object:Gem::Version
|
|
90
76
|
version: '0'
|
|
91
77
|
requirements: []
|
|
92
|
-
rubygems_version: 3.
|
|
78
|
+
rubygems_version: 3.3.7
|
|
93
79
|
signing_key:
|
|
94
80
|
specification_version: 4
|
|
95
81
|
summary: Public key cryptography library providing the X25519 Elliptic Curve Diffie-Hellman
|