pq_crypto-seal 0.1.2 → 0.1.3
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/CHANGELOG.md +8 -0
- data/FORMAT.md +1 -1
- data/README.md +4 -4
- data/RELEASING.md +1 -1
- data/SECURITY.md +2 -2
- data/VENDORING.md +1 -1
- data/lib/pq_crypto/seal/version.rb +1 -1
- data/pq_crypto-seal.gemspec +1 -1
- metadata +7 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f595c15cfe06676ee508888c302a9bb5bab8083ffdef97540d6b6d19d877e270
|
|
4
|
+
data.tar.gz: 7e8107699dbdead218debc3c870d5ad98ba0f279a23f2c2698c3918bc0060d45
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9cc59508eea68e697e16ceee595718319b1f10c9ee4aceea186565ba3f9d1133e9b6717aa198de1a33f1e4782812caa6a2c32e6bce7ba557a9ba9c7d923e20fc
|
|
7
|
+
data.tar.gz: e2fcec77d71028fa2615a62af722441277dfda52b24e05c4e2d3ffa50621b3435c28ab14b742788237ef18c3ad4f3d0c12770e0de0488de858f7243d57dbb2f4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
- Runtime dependency relaxed from `pq_crypto = 0.6.4` to `pq_crypto ~> 0.6`
|
|
6
|
+
so patch/minor releases on the 0.6 line (including 0.6.7) resolve without a
|
|
7
|
+
Seal bump. Wire suite 1 remains pinned by algorithm id and exact
|
|
8
|
+
key/ciphertext/shared-secret sizes inside Seal; do not treat this as carte
|
|
9
|
+
blanche for a future `1.x` / breaking KEM wire change.
|
|
10
|
+
|
|
3
11
|
## 0.1.2
|
|
4
12
|
|
|
5
13
|
### Security
|
data/FORMAT.md
CHANGED
|
@@ -55,7 +55,7 @@ Every complete recipient-section rebuild creates a new random section ID and
|
|
|
55
55
|
recreates all real and dummy slots. Mixed wrapping suites are forbidden.
|
|
56
56
|
|
|
57
57
|
Wrap suite `1` fixes MLKEM768-X25519/X-Wing **draft-10**-compatible encapsulation
|
|
58
|
-
(`pq_crypto
|
|
58
|
+
(`pq_crypto ~> 0.6` algorithm `:ml_kem_768_x25519_xwing`), HKDF-SHA256, AEGIS-256
|
|
59
59
|
DEK wrapping, and 32-byte wrap nonces/tags. The suite id freezes that behaviour
|
|
60
60
|
for at-rest data even if a later RFC text diverges. Exact sizes:
|
|
61
61
|
|
data/README.md
CHANGED
|
@@ -12,17 +12,17 @@ random DEK → AEGIS-256 → document
|
|
|
12
12
|
`libaegis` 0.10.3 is vendored and compiled into the extension. The existing
|
|
13
13
|
`pq_crypto` gem supplies the hybrid KEM and OpenSSL-backed primitives.
|
|
14
14
|
|
|
15
|
-
> **Status:** 0.1.
|
|
15
|
+
> **Status:** 0.1.3 is experimental cryptographic software; format v1; not
|
|
16
16
|
> independently audited. Read `SECURITY.md` before using it for irreplaceable data.
|
|
17
17
|
>
|
|
18
|
-
> `wrap_suite_id = 1` is pinned to `:ml_kem_768_x25519_xwing` and `pq_crypto
|
|
18
|
+
> `wrap_suite_id = 1` is pinned to `:ml_kem_768_x25519_xwing` and `pq_crypto ~> 0.6`
|
|
19
19
|
> (X-Wing draft-10 wire sizes). Content suite 1 is AEGIS-256 via libaegis 0.10.3.
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
23
23
|
```ruby
|
|
24
|
-
gem "pq_crypto", "~> 0.6
|
|
25
|
-
gem "pq_crypto-seal", "~> 0.1.
|
|
24
|
+
gem "pq_crypto", "~> 0.6"
|
|
25
|
+
gem "pq_crypto-seal", "~> 0.1.3"
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Ruby `>= 2.7.1` and OpenSSL `>= 3.0` development files are required for a
|
data/RELEASING.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Releasing
|
|
2
2
|
|
|
3
3
|
1. Run `bundle exec ruby script/vendor_libs.rb --check`.
|
|
4
|
-
2. Confirm `pq_crypto` dependency remains
|
|
4
|
+
2. Confirm `pq_crypto` dependency remains `~> 0.6` and `WRAP_KEM_ALGORITHM`
|
|
5
5
|
is still `:ml_kem_768_x25519_xwing` with the documented sizes.
|
|
6
6
|
3. Run `bundle exec ruby script/release_contract_check.rb` (also enforced in CI).
|
|
7
7
|
4. Run the full CI matrix: test, sanitize, fuzz, release_contract, gem-smoke.
|
data/SECURITY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Security
|
|
2
2
|
|
|
3
3
|
This project has not received an independent cryptographic or implementation
|
|
4
|
-
audit. Do not treat version 0.1.
|
|
4
|
+
audit. Do not treat version 0.1.3 as a substitute for a reviewed storage design.
|
|
5
5
|
|
|
6
6
|
Experimental cryptographic software; format v1; not independently audited.
|
|
7
7
|
|
|
@@ -128,7 +128,7 @@ independent of future RFC text:
|
|
|
128
128
|
|
|
129
129
|
| Component | Pin |
|
|
130
130
|
|---|---|
|
|
131
|
-
| `wrap_suite_id = 1` | MLKEM768-X25519 / X-Wing **draft-10** compatible via `pq_crypto
|
|
131
|
+
| `wrap_suite_id = 1` | MLKEM768-X25519 / X-Wing **draft-10** compatible via `pq_crypto ~> 0.6` algorithm `:ml_kem_768_x25519_xwing` (PK 1216, CT 1120, SS 32) |
|
|
132
132
|
| `content_suite_id = 1` | AEGIS-256, 32-byte nonce/tag, inner-frame-v1, via vendored **libaegis 0.10.3** |
|
|
133
133
|
| AEGIS KATs | CFRG AEGIS draft-18 positive/negative vectors in `test/aegis_vectors_test.rb` |
|
|
134
134
|
| X-Wing KATs | draft-10 decapsulation vectors in `test/fixtures/xwing-draft-10-vector-*.json` (see `test/xwing_kat_test.rb`) |
|
data/VENDORING.md
CHANGED
|
@@ -13,7 +13,7 @@ libaegis 0.10.3.
|
|
|
13
13
|
this snapshot, not to a future RFC that may diverge.
|
|
14
14
|
|
|
15
15
|
X-Wing / MLKEM768-X25519 wrap suite 1 is supplied by runtime dependency
|
|
16
|
-
`pq_crypto
|
|
16
|
+
`pq_crypto ~> 0.6` (not vendored here). External draft-10 decapsulation KATs
|
|
17
17
|
live in `test/fixtures/xwing-draft-10-vector-*.json`.
|
|
18
18
|
|
|
19
19
|
The complete source snapshot is retained, while the Ruby extension compiles only the AEGIS-256 and common implementation files it exposes. No system libaegis is
|
data/pq_crypto-seal.gemspec
CHANGED
|
@@ -45,7 +45,7 @@ Gem::Specification.new do |spec|
|
|
|
45
45
|
spec.require_paths = ["lib"]
|
|
46
46
|
spec.extensions = ["ext/pq_crypto_seal/extconf.rb"]
|
|
47
47
|
|
|
48
|
-
spec.add_runtime_dependency "pq_crypto", "
|
|
48
|
+
spec.add_runtime_dependency "pq_crypto", "~> 0.6"
|
|
49
49
|
spec.add_development_dependency "minitest", "~> 5.14"
|
|
50
50
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
51
51
|
spec.add_development_dependency "rake-compiler", "~> 1.2"
|
metadata
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pq_crypto-seal
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Roman Khaidarov
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: pq_crypto
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
|
-
- -
|
|
16
|
+
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.6
|
|
18
|
+
version: '0.6'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
|
-
- -
|
|
23
|
+
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.6
|
|
25
|
+
version: '0.6'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: minitest
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -139,7 +138,6 @@ licenses:
|
|
|
139
138
|
metadata:
|
|
140
139
|
source_code_uri: https://github.com/roman-haidarov/pq_crypto-seal
|
|
141
140
|
changelog_uri: https://github.com/roman-haidarov/pq_crypto-seal/blob/main/CHANGELOG.md
|
|
142
|
-
post_install_message:
|
|
143
141
|
rdoc_options: []
|
|
144
142
|
require_paths:
|
|
145
143
|
- lib
|
|
@@ -154,8 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
154
152
|
- !ruby/object:Gem::Version
|
|
155
153
|
version: '0'
|
|
156
154
|
requirements: []
|
|
157
|
-
rubygems_version: 3.
|
|
158
|
-
signing_key:
|
|
155
|
+
rubygems_version: 3.6.7
|
|
159
156
|
specification_version: 4
|
|
160
157
|
summary: Post-quantum envelope encryption for Ruby
|
|
161
158
|
test_files: []
|