| ... | ... | @@ -13,7 +13,6 @@ |
| 13 | 13 | //! The combiner uses the C2PRI construction to derive the final shared secret |
| 14 | 14 | //! from the component shared secrets, ciphertext, and public key. |
| 15 | 15 | |
| 16 | | const builtin = @import("builtin"); |
| 17 | 16 | const std = @import("std"); |
| 18 | 17 | const crypto = std.crypto; |
| 19 | 18 | const fmt = std.fmt; |
| ... | ... | @@ -371,8 +370,6 @@ test "MLKEM768-X25519 basic round trip" { |
| 371 | 370 | } |
| 372 | 371 | |
| 373 | 372 | test "MLKEM768-X25519 test vector 0" { |
| 374 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 375 | | |
| 376 | 373 | var seed: [32]u8 = undefined; |
| 377 | 374 | var expected_ek: [1216]u8 = undefined; |
| 378 | 375 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -397,8 +394,6 @@ test "MLKEM768-X25519 test vector 0" { |
| 397 | 394 | } |
| 398 | 395 | |
| 399 | 396 | test "MLKEM768-X25519 test vector 1" { |
| 400 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 401 | | |
| 402 | 397 | var seed: [32]u8 = undefined; |
| 403 | 398 | var expected_ek: [1216]u8 = undefined; |
| 404 | 399 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -423,8 +418,6 @@ test "MLKEM768-X25519 test vector 1" { |
| 423 | 418 | } |
| 424 | 419 | |
| 425 | 420 | test "MLKEM768-X25519 test vector 2" { |
| 426 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 427 | | |
| 428 | 421 | var seed: [32]u8 = undefined; |
| 429 | 422 | var expected_ek: [1216]u8 = undefined; |
| 430 | 423 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -449,8 +442,6 @@ test "MLKEM768-X25519 test vector 2" { |
| 449 | 442 | } |
| 450 | 443 | |
| 451 | 444 | test "MLKEM768-X25519 test vector 3" { |
| 452 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 453 | | |
| 454 | 445 | var seed: [32]u8 = undefined; |
| 455 | 446 | var expected_ek: [1216]u8 = undefined; |
| 456 | 447 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -475,8 +466,6 @@ test "MLKEM768-X25519 test vector 3" { |
| 475 | 466 | } |
| 476 | 467 | |
| 477 | 468 | test "MLKEM768-X25519 test vector 4" { |
| 478 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 479 | | |
| 480 | 469 | var seed: [32]u8 = undefined; |
| 481 | 470 | var expected_ek: [1216]u8 = undefined; |
| 482 | 471 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -501,8 +490,6 @@ test "MLKEM768-X25519 test vector 4" { |
| 501 | 490 | } |
| 502 | 491 | |
| 503 | 492 | test "MLKEM768-X25519 test vector 5" { |
| 504 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 505 | | |
| 506 | 493 | var seed: [32]u8 = undefined; |
| 507 | 494 | var expected_ek: [1216]u8 = undefined; |
| 508 | 495 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -527,8 +514,6 @@ test "MLKEM768-X25519 test vector 5" { |
| 527 | 514 | } |
| 528 | 515 | |
| 529 | 516 | test "MLKEM768-X25519 test vector 6" { |
| 530 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 531 | | |
| 532 | 517 | var seed: [32]u8 = undefined; |
| 533 | 518 | var expected_ek: [1216]u8 = undefined; |
| 534 | 519 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -553,8 +538,6 @@ test "MLKEM768-X25519 test vector 6" { |
| 553 | 538 | } |
| 554 | 539 | |
| 555 | 540 | test "MLKEM768-X25519 test vector 7" { |
| 556 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 557 | | |
| 558 | 541 | var seed: [32]u8 = undefined; |
| 559 | 542 | var expected_ek: [1216]u8 = undefined; |
| 560 | 543 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -579,8 +562,6 @@ test "MLKEM768-X25519 test vector 7" { |
| 579 | 562 | } |
| 580 | 563 | |
| 581 | 564 | test "MLKEM768-X25519 test vector 8" { |
| 582 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 583 | | |
| 584 | 565 | var seed: [32]u8 = undefined; |
| 585 | 566 | var expected_ek: [1216]u8 = undefined; |
| 586 | 567 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -605,8 +586,6 @@ test "MLKEM768-X25519 test vector 8" { |
| 605 | 586 | } |
| 606 | 587 | |
| 607 | 588 | test "MLKEM768-X25519 test vector 9" { |
| 608 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 609 | | |
| 610 | 589 | var seed: [32]u8 = undefined; |
| 611 | 590 | var expected_ek: [1216]u8 = undefined; |
| 612 | 591 | var randomness: [64]u8 = undefined; |
| ... | ... | @@ -631,8 +610,6 @@ test "MLKEM768-X25519 test vector 9" { |
| 631 | 610 | } |
| 632 | 611 | |
| 633 | 612 | test "MLKEM768-P256 test vector 0" { |
| 634 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 635 | | |
| 636 | 613 | var seed: [32]u8 = undefined; |
| 637 | 614 | var expected_ek: [1249]u8 = undefined; |
| 638 | 615 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -657,8 +634,6 @@ test "MLKEM768-P256 test vector 0" { |
| 657 | 634 | } |
| 658 | 635 | |
| 659 | 636 | test "MLKEM768-P256 test vector 1" { |
| 660 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 661 | | |
| 662 | 637 | var seed: [32]u8 = undefined; |
| 663 | 638 | var expected_ek: [1249]u8 = undefined; |
| 664 | 639 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -683,8 +658,6 @@ test "MLKEM768-P256 test vector 1" { |
| 683 | 658 | } |
| 684 | 659 | |
| 685 | 660 | test "MLKEM768-P256 test vector 2" { |
| 686 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 687 | | |
| 688 | 661 | var seed: [32]u8 = undefined; |
| 689 | 662 | var expected_ek: [1249]u8 = undefined; |
| 690 | 663 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -709,8 +682,6 @@ test "MLKEM768-P256 test vector 2" { |
| 709 | 682 | } |
| 710 | 683 | |
| 711 | 684 | test "MLKEM768-P256 test vector 3" { |
| 712 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 713 | | |
| 714 | 685 | var seed: [32]u8 = undefined; |
| 715 | 686 | var expected_ek: [1249]u8 = undefined; |
| 716 | 687 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -735,8 +706,6 @@ test "MLKEM768-P256 test vector 3" { |
| 735 | 706 | } |
| 736 | 707 | |
| 737 | 708 | test "MLKEM768-P256 test vector 4" { |
| 738 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 739 | | |
| 740 | 709 | var seed: [32]u8 = undefined; |
| 741 | 710 | var expected_ek: [1249]u8 = undefined; |
| 742 | 711 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -761,8 +730,6 @@ test "MLKEM768-P256 test vector 4" { |
| 761 | 730 | } |
| 762 | 731 | |
| 763 | 732 | test "MLKEM768-P256 test vector 5" { |
| 764 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 765 | | |
| 766 | 733 | var seed: [32]u8 = undefined; |
| 767 | 734 | var expected_ek: [1249]u8 = undefined; |
| 768 | 735 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -787,8 +754,6 @@ test "MLKEM768-P256 test vector 5" { |
| 787 | 754 | } |
| 788 | 755 | |
| 789 | 756 | test "MLKEM768-P256 test vector 6" { |
| 790 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 791 | | |
| 792 | 757 | var seed: [32]u8 = undefined; |
| 793 | 758 | var expected_ek: [1249]u8 = undefined; |
| 794 | 759 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -813,8 +778,6 @@ test "MLKEM768-P256 test vector 6" { |
| 813 | 778 | } |
| 814 | 779 | |
| 815 | 780 | test "MLKEM768-P256 test vector 7" { |
| 816 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 817 | | |
| 818 | 781 | var seed: [32]u8 = undefined; |
| 819 | 782 | var expected_ek: [1249]u8 = undefined; |
| 820 | 783 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -839,8 +802,6 @@ test "MLKEM768-P256 test vector 7" { |
| 839 | 802 | } |
| 840 | 803 | |
| 841 | 804 | test "MLKEM768-P256 test vector 8" { |
| 842 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 843 | | |
| 844 | 805 | var seed: [32]u8 = undefined; |
| 845 | 806 | var expected_ek: [1249]u8 = undefined; |
| 846 | 807 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -865,8 +826,6 @@ test "MLKEM768-P256 test vector 8" { |
| 865 | 826 | } |
| 866 | 827 | |
| 867 | 828 | test "MLKEM768-P256 test vector 9" { |
| 868 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 869 | | |
| 870 | 829 | var seed: [32]u8 = undefined; |
| 871 | 830 | var expected_ek: [1249]u8 = undefined; |
| 872 | 831 | var randomness: [160]u8 = undefined; |
| ... | ... | @@ -891,8 +850,6 @@ test "MLKEM768-P256 test vector 9" { |
| 891 | 850 | } |
| 892 | 851 | |
| 893 | 852 | test "MLKEM1024-P384 test vector 0" { |
| 894 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 895 | | |
| 896 | 853 | var seed: [32]u8 = undefined; |
| 897 | 854 | var expected_ek: [1665]u8 = undefined; |
| 898 | 855 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -917,8 +874,6 @@ test "MLKEM1024-P384 test vector 0" { |
| 917 | 874 | } |
| 918 | 875 | |
| 919 | 876 | test "MLKEM1024-P384 test vector 1" { |
| 920 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 921 | | |
| 922 | 877 | var seed: [32]u8 = undefined; |
| 923 | 878 | var expected_ek: [1665]u8 = undefined; |
| 924 | 879 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -943,8 +898,6 @@ test "MLKEM1024-P384 test vector 1" { |
| 943 | 898 | } |
| 944 | 899 | |
| 945 | 900 | test "MLKEM1024-P384 test vector 2" { |
| 946 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 947 | | |
| 948 | 901 | var seed: [32]u8 = undefined; |
| 949 | 902 | var expected_ek: [1665]u8 = undefined; |
| 950 | 903 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -969,8 +922,6 @@ test "MLKEM1024-P384 test vector 2" { |
| 969 | 922 | } |
| 970 | 923 | |
| 971 | 924 | test "MLKEM1024-P384 test vector 3" { |
| 972 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 973 | | |
| 974 | 925 | var seed: [32]u8 = undefined; |
| 975 | 926 | var expected_ek: [1665]u8 = undefined; |
| 976 | 927 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -995,8 +946,6 @@ test "MLKEM1024-P384 test vector 3" { |
| 995 | 946 | } |
| 996 | 947 | |
| 997 | 948 | test "MLKEM1024-P384 test vector 4" { |
| 998 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 999 | | |
| 1000 | 949 | var seed: [32]u8 = undefined; |
| 1001 | 950 | var expected_ek: [1665]u8 = undefined; |
| 1002 | 951 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -1021,8 +970,6 @@ test "MLKEM1024-P384 test vector 4" { |
| 1021 | 970 | } |
| 1022 | 971 | |
| 1023 | 972 | test "MLKEM1024-P384 test vector 5" { |
| 1024 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 1025 | | |
| 1026 | 973 | var seed: [32]u8 = undefined; |
| 1027 | 974 | var expected_ek: [1665]u8 = undefined; |
| 1028 | 975 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -1047,8 +994,6 @@ test "MLKEM1024-P384 test vector 5" { |
| 1047 | 994 | } |
| 1048 | 995 | |
| 1049 | 996 | test "MLKEM1024-P384 test vector 6" { |
| 1050 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 1051 | | |
| 1052 | 997 | var seed: [32]u8 = undefined; |
| 1053 | 998 | var expected_ek: [1665]u8 = undefined; |
| 1054 | 999 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -1073,8 +1018,6 @@ test "MLKEM1024-P384 test vector 6" { |
| 1073 | 1018 | } |
| 1074 | 1019 | |
| 1075 | 1020 | test "MLKEM1024-P384 test vector 7" { |
| 1076 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 1077 | | |
| 1078 | 1021 | var seed: [32]u8 = undefined; |
| 1079 | 1022 | var expected_ek: [1665]u8 = undefined; |
| 1080 | 1023 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -1099,8 +1042,6 @@ test "MLKEM1024-P384 test vector 7" { |
| 1099 | 1042 | } |
| 1100 | 1043 | |
| 1101 | 1044 | test "MLKEM1024-P384 test vector 8" { |
| 1102 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 1103 | | |
| 1104 | 1045 | var seed: [32]u8 = undefined; |
| 1105 | 1046 | var expected_ek: [1665]u8 = undefined; |
| 1106 | 1047 | var randomness: [80]u8 = undefined; |
| ... | ... | @@ -1125,8 +1066,6 @@ test "MLKEM1024-P384 test vector 8" { |
| 1125 | 1066 | } |
| 1126 | 1067 | |
| 1127 | 1068 | test "MLKEM1024-P384 test vector 9" { |
| 1128 | | if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128 |
| 1129 | | |
| 1130 | 1069 | var seed: [32]u8 = undefined; |
| 1131 | 1070 | var expected_ek: [1665]u8 = undefined; |
| 1132 | 1071 | var randomness: [80]u8 = undefined; |