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