Repository navigation
Commit 76b1131
feat(bindings): expose X-Wing post-quantum KEM in all wrappers
Expose the X-Wing hybrid KEM (ML-KEM-768 + X25519) added to the Rust core
(SEC-15167) through every binding. This is opt-in: the default key and
ciphertext versions are unchanged.
- FFI: GenerateKeyPairWithVersion, GenerateKeyPairPrivateSize,
GenerateKeyPairPublicSize, Encapsulate, EncapsulateSize, Decapsulate.
Existing signatures are unchanged. EncryptAsymmetricSize accepts V3 and
EncryptAsymmetric returns InvalidOutputLength instead of panicking on a
buffer size mismatch.
- uniffi (Python, Kotlin, Swift): generateKeypair(version),
encryptAsymmetric(..., version), encapsulate, decapsulate,
EncapsulationResult.
- WASM: encapsulate, decapsulate, EncapsulationResult.
- C#: KeyVersion / KeyEncapsulationVersion enums, CipherTextVersion.V3,
DataType.EncapsulatedKey, GenerateKeyPair(KeyVersion) overload,
Encapsulate / Decapsulate.
- CLI: generate-keypair --version, encapsulate, decapsulate.
- Fuzz: key_encapsulation targets.
- Angular demo: X-Wing key generation, V3 encryption, encapsulate and
decapsulate, and inspector support.
- Conformity vectors replicated in the Python, WASM, C#, Kotlin and Swift
test suites. The Kotlin and Swift tests have not been run locally.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>1 parent 9c501f5 commit 76b1131
25 files changed
Lines changed: 1727 additions & 26 deletions
File tree
- cli/src
- ffi/src
- fuzz
- fuzz_targets/key_encapsulation
- python
- src
- uniffi/devolutions-crypto-uniffi/src
- wrappers
- csharp
- src
- tests/unit-tests
- kotlin/lib/src/test/kotlin/org/devolutions/crypto
- python/tests
- swift/DevolutionsCryptoSwift/Tests/DevolutionsCryptoSwiftTests
- wasm
- demo/src/app
- asymmetric
- inspect
- service
- tests
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| |||
120 | 124 | | |
121 | 125 | | |
122 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
123 | 148 | | |
124 | 149 | | |
125 | 150 | | |
| |||
196 | 221 | | |
197 | 222 | | |
198 | 223 | | |
199 | | - | |
| 224 | + | |
200 | 225 | | |
201 | 226 | | |
202 | 227 | | |
| |||
219 | 244 | | |
220 | 245 | | |
221 | 246 | | |
| 247 | + | |
| 248 | + | |
222 | 249 | | |
223 | 250 | | |
224 | 251 | | |
| |||
354 | 381 | | |
355 | 382 | | |
356 | 383 | | |
| 384 | + | |
357 | 385 | | |
358 | 386 | | |
359 | 387 | | |
| |||
504 | 532 | | |
505 | 533 | | |
506 | 534 | | |
507 | | - | |
508 | | - | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
509 | 542 | | |
510 | 543 | | |
511 | 544 | | |
| |||
514 | 547 | | |
515 | 548 | | |
516 | 549 | | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
517 | 610 | | |
518 | 611 | | |
519 | 612 | | |
| |||
0 commit comments