Changeset 85614 in vbox for trunk/src/VBox
- Timestamp:
- Aug 5, 2020 1:27:58 PM (4 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r85378 r85614 360 360 common/checksum/alt-sha256.cpp \ 361 361 common/checksum/alt-sha512.cpp \ 362 common/checksum/alt-sha3.cpp \ 362 363 common/checksum/md2str.cpp \ 363 364 common/checksum/md4str.cpp \ -
trunk/src/VBox/Runtime/common/crypto/digest-builtin.cpp
r85121 r85614 602 602 }; 603 603 #endif /* !IPRT_WITHOUT_SHA512T256 */ 604 605 #ifndef IPRT_WITHOUT_SHA3 606 607 /* 608 * SHA3-224 609 */ 610 611 /** @impl_interface_method{RTCRDIGESTDESC::pfnUpdate} */ 612 static DECLCALLBACK(void) rtCrDigestSha3t224_Update(void *pvState, const void *pvData, size_t cbData) 613 { 614 int rc = RTSha3t224Update((PRTSHA3T224CONTEXT)pvState, pvData, cbData); 615 AssertRC(rc); 616 } 617 618 /** @impl_interface_method{RTCRDIGESTDESC::pfnFinal} */ 619 static DECLCALLBACK(void) rtCrDigestSha3t224_Final(void *pvState, uint8_t *pbHash) 620 { 621 int rc = RTSha3t224Final((PRTSHA3T224CONTEXT)pvState, pbHash); 622 AssertRC(rc); 623 } 624 625 /** @impl_interface_method{RTCRDIGESTDESC::pfnInit} */ 626 static DECLCALLBACK(int) rtCrDigestSha3t224_Init(void *pvState, void *pvOpaque, bool fReInit) 627 { 628 RT_NOREF_PV(pvOpaque); 629 AssertReturn(pvOpaque == NULL, VERR_INVALID_PARAMETER); 630 if (fReInit) 631 RTSha3t224Cleanup((PRTSHA3T224CONTEXT)pvState); 632 return RTSha3t224Init((PRTSHA3T224CONTEXT)pvState); 633 } 634 635 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 636 static DECLCALLBACK(void) rtCrDigestSha3t224_Delete(void *pvState) 637 { 638 RTSha3t224Cleanup((PRTSHA3T224CONTEXT)pvState); 639 } 640 641 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 642 static DECLCALLBACK(int) rtCrDigestSha3t224_Clone(void *pvState, void const *pvSrcState) 643 { 644 return RTSha3t224Clone((PRTSHA3T224CONTEXT)pvState, (PRTSHA3T224CONTEXT)pvSrcState); 645 } 646 647 /** SHA3-224 alias ODIs. */ 648 static const char * const g_apszSha3t224Aliases[] = 649 { 650 "2.16.840.1.101.3.4.3.13", 651 NULL 652 }; 653 654 /** SHA3-224 descriptor. */ 655 static RTCRDIGESTDESC const g_rtCrDigestSha3t224Desc = 656 { 657 "sha3-224", 658 "2.16.840.1.101.3.4.2.7", 659 g_apszSha3t224Aliases, 660 RTDIGESTTYPE_SHA3_224, 661 RTSHA3_224_HASH_SIZE, 662 sizeof(RTSHA3T224CONTEXT), 663 0, 664 NULL, 665 NULL, 666 rtCrDigestSha3t224_Update, 667 rtCrDigestSha3t224_Final, 668 rtCrDigestSha3t224_Init, 669 rtCrDigestSha3t224_Delete, 670 rtCrDigestSha3t224_Clone, 671 NULL, 672 NULL, 673 }; 674 675 676 /* 677 * SHA3-256 678 */ 679 680 /** @impl_interface_method{RTCRDIGESTDESC::pfnUpdate} */ 681 static DECLCALLBACK(void) rtCrDigestSha3t256_Update(void *pvState, const void *pvData, size_t cbData) 682 { 683 int rc = RTSha3t256Update((PRTSHA3T256CONTEXT)pvState, pvData, cbData); 684 AssertRC(rc); 685 } 686 687 /** @impl_interface_method{RTCRDIGESTDESC::pfnFinal} */ 688 static DECLCALLBACK(void) rtCrDigestSha3t256_Final(void *pvState, uint8_t *pbHash) 689 { 690 int rc = RTSha3t256Final((PRTSHA3T256CONTEXT)pvState, pbHash); 691 AssertRC(rc); 692 } 693 694 /** @impl_interface_method{RTCRDIGESTDESC::pfnInit} */ 695 static DECLCALLBACK(int) rtCrDigestSha3t256_Init(void *pvState, void *pvOpaque, bool fReInit) 696 { 697 RT_NOREF_PV(pvOpaque); 698 AssertReturn(pvOpaque == NULL, VERR_INVALID_PARAMETER); 699 if (fReInit) 700 RTSha3t256Cleanup((PRTSHA3T256CONTEXT)pvState); 701 return RTSha3t256Init((PRTSHA3T256CONTEXT)pvState); 702 } 703 704 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 705 static DECLCALLBACK(void) rtCrDigestSha3t256_Delete(void *pvState) 706 { 707 RTSha3t256Cleanup((PRTSHA3T256CONTEXT)pvState); 708 } 709 710 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 711 static DECLCALLBACK(int) rtCrDigestSha3t256_Clone(void *pvState, void const *pvSrcState) 712 { 713 return RTSha3t256Clone((PRTSHA3T256CONTEXT)pvState, (PRTSHA3T256CONTEXT)pvSrcState); 714 } 715 716 /** SHA3-256 alias ODIs. */ 717 static const char * const g_apszSha3t256Aliases[] = 718 { 719 "2.16.840.1.101.3.4.3.14", 720 NULL 721 }; 722 723 /** SHA3-256 descriptor. */ 724 static RTCRDIGESTDESC const g_rtCrDigestSha3t256Desc = 725 { 726 "sha3-256", 727 "2.16.840.1.101.3.4.2.8", 728 g_apszSha3t256Aliases, 729 RTDIGESTTYPE_SHA3_256, 730 RTSHA3_256_HASH_SIZE, 731 sizeof(RTSHA3T256CONTEXT), 732 0, 733 NULL, 734 NULL, 735 rtCrDigestSha3t256_Update, 736 rtCrDigestSha3t256_Final, 737 rtCrDigestSha3t256_Init, 738 rtCrDigestSha3t256_Delete, 739 rtCrDigestSha3t256_Clone, 740 NULL, 741 NULL, 742 }; 743 744 745 /* 746 * SHA3-384 747 */ 748 749 /** @impl_interface_method{RTCRDIGESTDESC::pfnUpdate} */ 750 static DECLCALLBACK(void) rtCrDigestSha3t384_Update(void *pvState, const void *pvData, size_t cbData) 751 { 752 int rc = RTSha3t384Update((PRTSHA3T384CONTEXT)pvState, pvData, cbData); 753 AssertRC(rc); 754 } 755 756 /** @impl_interface_method{RTCRDIGESTDESC::pfnFinal} */ 757 static DECLCALLBACK(void) rtCrDigestSha3t384_Final(void *pvState, uint8_t *pbHash) 758 { 759 int rc = RTSha3t384Final((PRTSHA3T384CONTEXT)pvState, pbHash); 760 AssertRC(rc); 761 } 762 763 /** @impl_interface_method{RTCRDIGESTDESC::pfnInit} */ 764 static DECLCALLBACK(int) rtCrDigestSha3t384_Init(void *pvState, void *pvOpaque, bool fReInit) 765 { 766 RT_NOREF_PV(pvOpaque); 767 AssertReturn(pvOpaque == NULL, VERR_INVALID_PARAMETER); 768 if (fReInit) 769 RTSha3t384Cleanup((PRTSHA3T384CONTEXT)pvState); 770 return RTSha3t384Init((PRTSHA3T384CONTEXT)pvState); 771 } 772 773 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 774 static DECLCALLBACK(void) rtCrDigestSha3t384_Delete(void *pvState) 775 { 776 RTSha3t384Cleanup((PRTSHA3T384CONTEXT)pvState); 777 } 778 779 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 780 static DECLCALLBACK(int) rtCrDigestSha3t384_Clone(void *pvState, void const *pvSrcState) 781 { 782 return RTSha3t384Clone((PRTSHA3T384CONTEXT)pvState, (PRTSHA3T384CONTEXT)pvSrcState); 783 } 784 785 /** SHA3-384 alias ODIs. */ 786 static const char * const g_apszSha3t384Aliases[] = 787 { 788 "2.16.840.1.101.3.4.3.15", 789 NULL 790 }; 791 792 /** SHA3-384 descriptor. */ 793 static RTCRDIGESTDESC const g_rtCrDigestSha3t384Desc = 794 { 795 "sha3-384", 796 "2.16.840.1.101.3.4.2.9", 797 g_apszSha3t384Aliases, 798 RTDIGESTTYPE_SHA3_384, 799 RTSHA3_384_HASH_SIZE, 800 sizeof(RTSHA3T384CONTEXT), 801 0, 802 NULL, 803 NULL, 804 rtCrDigestSha3t384_Update, 805 rtCrDigestSha3t384_Final, 806 rtCrDigestSha3t384_Init, 807 rtCrDigestSha3t384_Delete, 808 rtCrDigestSha3t384_Clone, 809 NULL, 810 NULL, 811 }; 812 813 814 /* 815 * SHA3-512 816 */ 817 818 /** @impl_interface_method{RTCRDIGESTDESC::pfnUpdate} */ 819 static DECLCALLBACK(void) rtCrDigestSha3t512_Update(void *pvState, const void *pvData, size_t cbData) 820 { 821 int rc = RTSha3t512Update((PRTSHA3T512CONTEXT)pvState, pvData, cbData); 822 AssertRC(rc); 823 } 824 825 /** @impl_interface_method{RTCRDIGESTDESC::pfnFinal} */ 826 static DECLCALLBACK(void) rtCrDigestSha3t512_Final(void *pvState, uint8_t *pbHash) 827 { 828 int rc = RTSha3t512Final((PRTSHA3T512CONTEXT)pvState, pbHash); 829 AssertRC(rc); 830 } 831 832 /** @impl_interface_method{RTCRDIGESTDESC::pfnInit} */ 833 static DECLCALLBACK(int) rtCrDigestSha3t512_Init(void *pvState, void *pvOpaque, bool fReInit) 834 { 835 RT_NOREF_PV(pvOpaque); 836 AssertReturn(pvOpaque == NULL, VERR_INVALID_PARAMETER); 837 if (fReInit) 838 RTSha3t512Cleanup((PRTSHA3T512CONTEXT)pvState); 839 return RTSha3t512Init((PRTSHA3T512CONTEXT)pvState); 840 } 841 842 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 843 static DECLCALLBACK(void) rtCrDigestSha3t512_Delete(void *pvState) 844 { 845 RTSha3t512Cleanup((PRTSHA3T512CONTEXT)pvState); 846 } 847 848 /** @impl_interface_method{RTCRDIGESTDESC::pfnDelete} */ 849 static DECLCALLBACK(int) rtCrDigestSha3t512_Clone(void *pvState, void const *pvSrcState) 850 { 851 return RTSha3t512Clone((PRTSHA3T512CONTEXT)pvState, (PRTSHA3T512CONTEXT)pvSrcState); 852 } 853 854 /** SHA3-512 alias ODIs. */ 855 static const char * const g_apszSha3t512Aliases[] = 856 { 857 "2.16.840.1.101.3.4.3.16", 858 NULL 859 }; 860 861 /** SHA3-512 descriptor. */ 862 static RTCRDIGESTDESC const g_rtCrDigestSha3t512Desc = 863 { 864 "sha3-512", 865 "2.16.840.1.101.3.4.2.10", 866 g_apszSha3t512Aliases, 867 RTDIGESTTYPE_SHA3_512, 868 RTSHA3_512_HASH_SIZE, 869 sizeof(RTSHA3T512CONTEXT), 870 0, 871 NULL, 872 NULL, 873 rtCrDigestSha3t512_Update, 874 rtCrDigestSha3t512_Final, 875 rtCrDigestSha3t512_Init, 876 rtCrDigestSha3t512_Delete, 877 rtCrDigestSha3t512_Clone, 878 NULL, 879 NULL, 880 }; 881 882 #endif /* !IPRT_WITHOUT_SHA3 */ 604 883 605 884 … … 628 907 #ifndef IPRT_WITHOUT_SHA512T256 629 908 &g_rtCrDigestSha512t256Desc, 909 #endif 910 #ifndef IPRT_WITHOUT_SHA3 911 &g_rtCrDigestSha3t224Desc, 912 &g_rtCrDigestSha3t256Desc, 913 &g_rtCrDigestSha3t384Desc, 914 &g_rtCrDigestSha3t512Desc, 630 915 #endif 631 916 }; -
trunk/src/VBox/Runtime/common/crypto/digest-core.cpp
r84248 r85614 428 428 case RTDIGESTTYPE_SHA512T224: return RTCRX509ALGORITHMIDENTIFIERID_SHA512T224; 429 429 case RTDIGESTTYPE_SHA512T256: return RTCRX509ALGORITHMIDENTIFIERID_SHA512T256; 430 case RTDIGESTTYPE_SHA3_224: return RTCRX509ALGORITHMIDENTIFIERID_SHA3_224; 431 case RTDIGESTTYPE_SHA3_256: return RTCRX509ALGORITHMIDENTIFIERID_SHA3_256; 432 case RTDIGESTTYPE_SHA3_384: return RTCRX509ALGORITHMIDENTIFIERID_SHA3_384; 433 case RTDIGESTTYPE_SHA3_512: return RTCRX509ALGORITHMIDENTIFIERID_SHA3_512; 430 434 default: return NULL; 431 435 } … … 449 453 case RTDIGESTTYPE_SHA512T224: return "SHA-512/224"; 450 454 case RTDIGESTTYPE_SHA512T256: return "SHA-512/256"; 455 case RTDIGESTTYPE_SHA3_224: return "SHA3-224"; 456 case RTDIGESTTYPE_SHA3_256: return "SHA3-256"; 457 case RTDIGESTTYPE_SHA3_384: return "SHA3-384"; 458 case RTDIGESTTYPE_SHA3_512: return "SHA3-512"; 451 459 default: return NULL; 452 460 } … … 470 478 case RTDIGESTTYPE_SHA512T224: return 224 / 8; 471 479 case RTDIGESTTYPE_SHA512T256: return 256 / 8; 480 case RTDIGESTTYPE_SHA3_224: return 224 / 8; 481 case RTDIGESTTYPE_SHA3_256: return 256 / 8; 482 case RTDIGESTTYPE_SHA3_384: return 384 / 8; 483 case RTDIGESTTYPE_SHA3_512: return 512 / 8; 472 484 default: 473 485 AssertFailed(); -
trunk/src/VBox/Runtime/testcase/tstRTDigest-2.cpp
r82968 r85614 1457 1457 1458 1458 1459 static void testSha3_224(void) 1460 { 1461 RTTestISub("SHA3-224"); 1462 1463 /* 1464 * Generic API tests. 1465 */ 1466 static TESTRTDIGEST const s_abTests[] = 1467 { 1468 { &g_abRandom72KB[0], 0, "6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7", "SHA3-224 0 bytes" }, 1469 { &g_abRandom72KB[0], 1, "c16ddd47002314077565c004c8a6a335622fb9eebd93a207b3df86f1", "SHA3-224 1 bytes" }, 1470 { &g_abRandom72KB[0], 2, "806c36dcdfa26341648dfcd6dffed6bd17b1bfae7e6cff0ddade2dcd", "SHA3-224 2 bytes" }, 1471 { &g_abRandom72KB[0], 3, "850900b680b3645a715bf4f9a24c939936d5d400cea7e48e27a5a82c", "SHA3-224 3 bytes" }, 1472 { &g_abRandom72KB[0], 4, "03f71d684cd5f38a1508a4a313fa2f099afcf306a9943d8b497b793f", "SHA3-224 4 bytes" }, 1473 { &g_abRandom72KB[0], 5, "188ca424af350902fc377035db1f26e46ebe304ede5ac700ed4262d3", "SHA3-224 5 bytes" }, 1474 { &g_abRandom72KB[0], 6, "6310deb0fd800c59d4116ae8f98137200377e637902904e21f8b1912", "SHA3-224 6 bytes" }, 1475 { &g_abRandom72KB[0], 7, "4aeccabab1c5af03ab038edbf7f293fcc95a5d362c51bad6208ffb2f", "SHA3-224 7 bytes" }, 1476 { &g_abRandom72KB[0], 8, "9349cae62e9198c47ecbd288dc2f92918b8fca2ba9121633d82a4d4a", "SHA3-224 8 bytes" }, 1477 { &g_abRandom72KB[0], 9, "36c1119e49b45c72ab64f81281204f25cda7dcba348347d441f7392e", "SHA3-224 9 bytes" }, 1478 { &g_abRandom72KB[0], 10, "2bdfddbd1ff52d1a55a15e862e1f6740bc09ca2dfb195d756402899b", "SHA3-224 10 bytes" }, 1479 { &g_abRandom72KB[0], 11, "00d28c1f6d6d68b18c102d0c79727b62aff23b534efb2397f628d739", "SHA3-224 11 bytes" }, 1480 { &g_abRandom72KB[0], 12, "037550e18635864203a6aaf2c732ed76dc94f6dd838cd14f0d317dbd", "SHA3-224 12 bytes" }, 1481 { &g_abRandom72KB[0], 13, "d989f92017047e08b8212483a2ce9288aa97b1f07bda29c938d9bc8e", "SHA3-224 13 bytes" }, 1482 { &g_abRandom72KB[0], 14, "ab23e6d5a674c471f2842e81593f42f728056fc2adf4b78b7f91edc2", "SHA3-224 14 bytes" }, 1483 { &g_abRandom72KB[0], 15, "d8470eb158ce88069f057d2c96db04f9bb8d480e4edc239be4d074a5", "SHA3-224 15 bytes" }, 1484 { &g_abRandom72KB[0], 16, "9c446f8b9a4d70ff2aa174ed49910db205622f4735f78c8e756b69d9", "SHA3-224 16 bytes" }, 1485 { &g_abRandom72KB[0], 17, "c873455ce6b16f24d3a437a6397a06215500111f448627929db94ffb", "SHA3-224 17 bytes" }, 1486 { &g_abRandom72KB[0], 18, "1cf8336176b6747bcd1e6bacda5b87d9d299cae74c4eacfc25241523", "SHA3-224 18 bytes" }, 1487 { &g_abRandom72KB[0], 19, "97bea48929cc724f9fb75d132101b8f00c82c8d5790c5e06dc41393f", "SHA3-224 19 bytes" }, 1488 { &g_abRandom72KB[0], 20, "f549bcda80edcaeef5e01047a6429c55babc33407502d332d1a4285d", "SHA3-224 20 bytes" }, 1489 { &g_abRandom72KB[0], 21, "752a317c4527605d6882cf40d833de22cb43eb208f2f265a16795ff6", "SHA3-224 21 bytes" }, 1490 { &g_abRandom72KB[0], 22, "379bc7846ec4736dbe7a69f94e4622cfccba5687694e1c73ed6a1c57", "SHA3-224 22 bytes" }, 1491 { &g_abRandom72KB[0], 23, "f4d7161e2e4dd576f9c67e8212e94f8f6a0348b1760e6009d4d82b8c", "SHA3-224 23 bytes" }, 1492 { &g_abRandom72KB[0], 24, "188b729072e18f920f869809d90270c26991566bbf943c080ee944c7", "SHA3-224 24 bytes" }, 1493 { &g_abRandom72KB[0], 25, "3b65d20cf2717de484574d39656a8684a71e9bc9ed6640e075ccb018", "SHA3-224 25 bytes" }, 1494 { &g_abRandom72KB[0], 26, "0219518dc74ea5829974af838fada6581e611b2909365269bba0b2d6", "SHA3-224 26 bytes" }, 1495 { &g_abRandom72KB[0], 27, "2f4d4afa8dcc6d2bdcbcf148a328b63392c5a6cca40939c243e20832", "SHA3-224 27 bytes" }, 1496 { &g_abRandom72KB[0], 28, "c4fd8e78042ef4a366a7d9bc81c089e7391c93fafa85c48fedad100c", "SHA3-224 28 bytes" }, 1497 { &g_abRandom72KB[0], 29, "ab364ae73034dba102a0c477c3acee20d9ea6a967c49a0361f60e241", "SHA3-224 29 bytes" }, 1498 { &g_abRandom72KB[0], 30, "dfe98cb78941401a9c50fb87659cd6413a2cb13c7ff8ef0823553cde", "SHA3-224 30 bytes" }, 1499 { &g_abRandom72KB[0], 31, "d40afd915348f9b2fd9e6ada40d27859ca1efed9d795eef714f65809", "SHA3-224 31 bytes" }, 1500 { &g_abRandom72KB[0], 32, "2503528850f2f418c7bb029f507766d77fb5be193b66ed74edf24d6b", "SHA3-224 32 bytes" }, 1501 { &g_abRandom72KB[0], 33, "2c13b17427c015049e746cbece772caba6937adac3a5255166b032c0", "SHA3-224 33 bytes" }, 1502 { &g_abRandom72KB[0], 34, "d36fc360863705e3d1c22d1dfe7c3d369ae5445aa835e06046b06236", "SHA3-224 34 bytes" }, 1503 { &g_abRandom72KB[0], 35, "688909a2d656bdc79d9607628c13458668b4a68f418eee4ad40e3797", "SHA3-224 35 bytes" }, 1504 { &g_abRandom72KB[0], 36, "8564656691fb972b8d8462944c4fc95dfb815ead67402dd150310ad9", "SHA3-224 36 bytes" }, 1505 { &g_abRandom72KB[0], 37, "000e42152df4306c46fd86b64abc64061861b535e73c1db755873c92", "SHA3-224 37 bytes" }, 1506 { &g_abRandom72KB[0], 38, "5797e1b6e7738bcbea346d58ed7e82cdf4921c8c7061ad273a652fad", "SHA3-224 38 bytes" }, 1507 { &g_abRandom72KB[0], 39, "d9f70e175a6ec2b87fa53dccd8fe2fe662619d4227e79b020354a8ef", "SHA3-224 39 bytes" }, 1508 { &g_abRandom72KB[0], 40, "a567898565c10d9d233aabacc661b3b534f823ee9144a78b3538c29c", "SHA3-224 40 bytes" }, 1509 { &g_abRandom72KB[0], 41, "f9879abc1aeaa3b93465bf012bb0bca619994d1e38c5d9704a4c4737", "SHA3-224 41 bytes" }, 1510 { &g_abRandom72KB[0], 42, "a947c58c199a49cd27837c7df25bba6d4832eab3f6ad7825481439ef", "SHA3-224 42 bytes" }, 1511 { &g_abRandom72KB[0], 43, "496485839fdd5cc8dc0f0ce1973c2bde663723dfe5eafe539bd96599", "SHA3-224 43 bytes" }, 1512 { &g_abRandom72KB[0], 44, "fcea784f1428967cae93ae58716a1a7cde35ce3d295c65439a4f24ec", "SHA3-224 44 bytes" }, 1513 { &g_abRandom72KB[0], 45, "3a2e32058f0553e706fc1ac804931c809994598d86d74c3a00e88bf9", "SHA3-224 45 bytes" }, 1514 { &g_abRandom72KB[0], 46, "d964782b0fc1743a590efe7f42de8c3c44e8ddcd5a1b7bb343223d56", "SHA3-224 46 bytes" }, 1515 { &g_abRandom72KB[0], 47, "7e4c82f47d77ac4539d25e6fa122d70d2d017f96a971b108c190fa78", "SHA3-224 47 bytes" }, 1516 { &g_abRandom72KB[0], 48, "66393d6e347cbd37e81b3d0c43175ab2a874196bb051391d8ed75353", "SHA3-224 48 bytes" }, 1517 { &g_abRandom72KB[0], 49, "865e7ab710d415c2c291491891f0a076c6064863c49e483fa4e77b80", "SHA3-224 49 bytes" }, 1518 { &g_abRandom72KB[0], 50, "b495da95e14b544f0229788ee6b88dfc7c1b0e809b1c9f89884db075", "SHA3-224 50 bytes" }, 1519 { &g_abRandom72KB[0], 51, "9ce32908772904b4863513044646a89e69493cc6d5d43c3b07afa48b", "SHA3-224 51 bytes" }, 1520 { &g_abRandom72KB[0], 52, "da457f9a263e9b1b73130419c9be8eaa91d9c742b8965c4721fb3a1c", "SHA3-224 52 bytes" }, 1521 { &g_abRandom72KB[0], 53, "86707eb2d9e32b3241740d7c915cfa0216928eeca1c66e4bf61304ae", "SHA3-224 53 bytes" }, 1522 { &g_abRandom72KB[0], 54, "2ed6f9b614341b440107ac9743f202d56698757ec704d051b6b98c09", "SHA3-224 54 bytes" }, 1523 { &g_abRandom72KB[0], 55, "8c6c71dcd399cb83506b6cdf0d58bc07301e674e643fbd28c8510044", "SHA3-224 55 bytes" }, 1524 { &g_abRandom72KB[0], 56, "ee58b4581f368a8530d8c97f568d22d25710279044450d9616b3642e", "SHA3-224 56 bytes" }, 1525 { &g_abRandom72KB[0], 57, "bcfc035caa5b5604221a2eb4fb52ea14f362e719cde6de940409fe36", "SHA3-224 57 bytes" }, 1526 { &g_abRandom72KB[0], 58, "83e3508129d6891269e6e71f25a72143ea106ba6a03fa86fb394a7a5", "SHA3-224 58 bytes" }, 1527 { &g_abRandom72KB[0], 59, "7ac6956c9966581a9fb892c56e798e9fb0f5ef32f417daf015e50826", "SHA3-224 59 bytes" }, 1528 { &g_abRandom72KB[0], 60, "ae689e3347198b48aebc96178dddc52e35e6c54c3cee365e49e0ea69", "SHA3-224 60 bytes" }, 1529 { &g_abRandom72KB[0], 61, "0279f79ba33d32b8214c1133097b9f89fa659b77c44eaf166ed2529e", "SHA3-224 61 bytes" }, 1530 { &g_abRandom72KB[0], 62, "9b27f0538ac8fce31e123ae6ab2ca9569d3fc8e018b7e6fc1eb7c73d", "SHA3-224 62 bytes" }, 1531 { &g_abRandom72KB[0], 63, "7961cc0f6091100760f0b1e2d4db62969320fc1780092576d1dee5be", "SHA3-224 63 bytes" }, 1532 { &g_abRandom72KB[0], 64, "e5740eb1c2c611e2a75fbaf4375be8bb73fe5718d9fddc3bca889c5a", "SHA3-224 64 bytes" }, 1533 { &g_abRandom72KB[0], 65, "54699c4f043f96b065d04af21b8fc0ff21880a4f82c3c32d6a11c1af", "SHA3-224 65 bytes" }, 1534 { &g_abRandom72KB[0], 66, "fcd22829d13a6d7cec11876a1a376afd521c98d29363fd683a58e907", "SHA3-224 66 bytes" }, 1535 { &g_abRandom72KB[0], 67, "02dc82ad08e364cf2571c047de6ceb9cbfa4928e907484497d66fb3b", "SHA3-224 67 bytes" }, 1536 { &g_abRandom72KB[0], 68, "17156cb0b69423dac7e749db311abf4a706b16fee64698c6565e7869", "SHA3-224 68 bytes" }, 1537 { &g_abRandom72KB[0], 69, "42a22855ab3be53983f392f7cbd038164b0eb0d482bfcb4b9f2c3e70", "SHA3-224 69 bytes" }, 1538 { &g_abRandom72KB[0], 70, "0758abc06dcdf81cd6923f1d97246bf24e0bd50f43c4215fde41d25f", "SHA3-224 70 bytes" }, 1539 { &g_abRandom72KB[0], 71, "8fdc4d4d0ee58239eba5bbee83b9e06a3d35ecc45e7ef94428ac5766", "SHA3-224 71 bytes" }, 1540 { &g_abRandom72KB[0], 72, "831289ea7a65354937575adeba26668776640421c44f3619421054b8", "SHA3-224 72 bytes" }, 1541 { &g_abRandom72KB[0], 73, "17e7a1aa6bc9b5a4e6964801c119ceed987406d328902ee37accf277", "SHA3-224 73 bytes" }, 1542 { &g_abRandom72KB[0], 74, "0c79a923e2a3178808f6bb4215357990f5488fbb3793247af84f9bf9", "SHA3-224 74 bytes" }, 1543 { &g_abRandom72KB[0], 75, "c6e157824d65e3880eb35d6b97c26affaf49e323009ccbdf23ec91de", "SHA3-224 75 bytes" }, 1544 { &g_abRandom72KB[0], 76, "a4a2f31afe00a3e7ed111809ca4b36d24aff59fe9515908187c28f2b", "SHA3-224 76 bytes" }, 1545 { &g_abRandom72KB[0], 77, "a427e8644082b21109519306030dd62b48a3913f996b21039b46fb50", "SHA3-224 77 bytes" }, 1546 { &g_abRandom72KB[0], 78, "7d930aca6fef38522af10a132d146325cc30937ae9abb301605c350a", "SHA3-224 78 bytes" }, 1547 { &g_abRandom72KB[0], 79, "da75e1be010a756971d76da39015c34978c6295f77d01dbed4f39028", "SHA3-224 79 bytes" }, 1548 { &g_abRandom72KB[0], 80, "3541d7bce47da0d906fb90fb1d98610dacca9adf79d156337aa22683", "SHA3-224 80 bytes" }, 1549 { &g_abRandom72KB[0], 81, "f79c13e00d5836f6d047d84eebbeb0edf296f8aa72fcfa08b49efc5b", "SHA3-224 81 bytes" }, 1550 { &g_abRandom72KB[0], 82, "63ed5e252ca90d5f83c1f27ec8f658c488e4671a1b18c070d954e2f3", "SHA3-224 82 bytes" }, 1551 { &g_abRandom72KB[0], 83, "653a98bf1b4aed149dd9552aa9e9b5598d52fe6bf777f92e61df850c", "SHA3-224 83 bytes" }, 1552 { &g_abRandom72KB[0], 84, "c685ef068ea79653eb9deb7eb19616421a1a32ad11bd7ac4a3e76bde", "SHA3-224 84 bytes" }, 1553 { &g_abRandom72KB[0], 85, "53d01a556bce8d05e6ead02cd8376dea9abc73051d08165afa4332cb", "SHA3-224 85 bytes" }, 1554 { &g_abRandom72KB[0], 86, "b245082e59d780d00b2f26d99848808b467c8ca00aa9e9be7b6015e1", "SHA3-224 86 bytes" }, 1555 { &g_abRandom72KB[0], 87, "a43477d9ad4c176a2efb21b970e273270856d5fc212060142c03abaf", "SHA3-224 87 bytes" }, 1556 { &g_abRandom72KB[0], 88, "50d777f861dec127b5a1033f53c18ec3b42c3b7506cac20714f1b840", "SHA3-224 88 bytes" }, 1557 { &g_abRandom72KB[0], 89, "367c94e4553e21f893e50100eef0c73a9c4ece979f15feecffd7ae6e", "SHA3-224 89 bytes" }, 1558 { &g_abRandom72KB[0], 90, "f6b9bb09f5518ec01cc8f1dfa8a15f3956a40699eb306cbd8ee3fd2f", "SHA3-224 90 bytes" }, 1559 { &g_abRandom72KB[0], 91, "87e0ff97b08b82abf918775d9bfae231224046c94d17803ce2891708", "SHA3-224 91 bytes" }, 1560 { &g_abRandom72KB[0], 92, "8ff74e71ac81da91b9333d0da134573616180972656a5c78671eee1f", "SHA3-224 92 bytes" }, 1561 { &g_abRandom72KB[0], 93, "cabd5597a76890d584d639652b3987c7ca0a66508b00d011cc439f8b", "SHA3-224 93 bytes" }, 1562 { &g_abRandom72KB[0], 94, "686774c4d9124325b9643a575964e09c51bd3bc24cb2cc42a9c5061a", "SHA3-224 94 bytes" }, 1563 { &g_abRandom72KB[0], 95, "9cbf2c98dad0ae73735f2cac071129e41ae2585776ded9e2d43d57cf", "SHA3-224 95 bytes" }, 1564 { &g_abRandom72KB[0], 96, "f53faed02f1dfccc0547af35da372774218e2504298a3bf80d05ed97", "SHA3-224 96 bytes" }, 1565 { &g_abRandom72KB[0], 97, "72cd564a08ba595c375197df0158c90b7358a047d6b8f6cf98315b2f", "SHA3-224 97 bytes" }, 1566 { &g_abRandom72KB[0], 98, "afa5d854d139ea9bb8d9ebb58cc593c4b4bea8aa0046427c77ffd5e6", "SHA3-224 98 bytes" }, 1567 { &g_abRandom72KB[0], 99, "fc81822a0155f881431c2432ec4caa9fd4c1ac739a03c30f8b320d53", "SHA3-224 99 bytes" }, 1568 { &g_abRandom72KB[0], 100, "25f2f31b98e6001329a8a5008d3f20479afea8a38a857b4c04c30090", "SHA3-224 100 bytes" }, 1569 { &g_abRandom72KB[0], 101, "7f86d0e097e022b180899413c99360872b733544cc3337172c85b2f9", "SHA3-224 101 bytes" }, 1570 { &g_abRandom72KB[0], 102, "d35db0d601a2e096cb6788a966dfd161ed8f5056ad0e0a7e1e9e717f", "SHA3-224 102 bytes" }, 1571 { &g_abRandom72KB[0], 103, "c5934041c642050bcff5ecc477cd03465a504497dd93f80be9013e68", "SHA3-224 103 bytes" }, 1572 { &g_abRandom72KB[0], 104, "518317aef82651992e5142570beffcdbc74ed18f4b8d594f0541231a", "SHA3-224 104 bytes" }, 1573 { &g_abRandom72KB[0], 105, "dc01a97914e9fa82adc76e1cb544e90d28a746a8e4922bdc3d8c45a9", "SHA3-224 105 bytes" }, 1574 { &g_abRandom72KB[0], 106, "4f38ae5d26757a2c945134106b29302286d252d97c8412e104698364", "SHA3-224 106 bytes" }, 1575 { &g_abRandom72KB[0], 107, "228bac7ab9519c2840485cd89abb6a8ce7168a6c7bada34aa67549e3", "SHA3-224 107 bytes" }, 1576 { &g_abRandom72KB[0], 108, "b4066bbd7b2e50f945bdd8975077ee1ad0bd5dd43ee6de168f5eaf26", "SHA3-224 108 bytes" }, 1577 { &g_abRandom72KB[0], 109, "848724ab14b37effa4f2de9eb7d509c4a67420655a8202aafc2245bb", "SHA3-224 109 bytes" }, 1578 { &g_abRandom72KB[0], 110, "9217bd598153cd6bbf121034d7fe57e461be564dc27096760932c9c5", "SHA3-224 110 bytes" }, 1579 { &g_abRandom72KB[0], 111, "c97bbaf7e7d2c884f8c11cefa049fbeda46385abb3cc3cfe60ee7025", "SHA3-224 111 bytes" }, 1580 { &g_abRandom72KB[0], 112, "e0157bab5712c11296e8497ebaa461eb1117434d849aac9af578259a", "SHA3-224 112 bytes" }, 1581 { &g_abRandom72KB[0], 113, "afec901dce2536c1b4d986816edfbff81ab5ab677cb1c5852de14947", "SHA3-224 113 bytes" }, 1582 { &g_abRandom72KB[0], 114, "c7ffc02bf2c055ee7c6d72deeb19a70538a4ec61845b8d5df16655e8", "SHA3-224 114 bytes" }, 1583 { &g_abRandom72KB[0], 115, "774d505a09932de66f66d20f2ba355cadf36fa143715c747834ebb8b", "SHA3-224 115 bytes" }, 1584 { &g_abRandom72KB[0], 116, "32bd91adeaa38f017696ccadda32445e65f76bc7abc73ebcd35a324d", "SHA3-224 116 bytes" }, 1585 { &g_abRandom72KB[0], 117, "27712acf5577badb6e87fbc519234b795ffa7ce509bc99665b0bc06a", "SHA3-224 117 bytes" }, 1586 { &g_abRandom72KB[0], 118, "56b83dbf7aa7d0b3162a6f0a667ba469370e9a648b59db643172649c", "SHA3-224 118 bytes" }, 1587 { &g_abRandom72KB[0], 119, "e6f35f53bf2df44eeff1dcb3549afa02e6dbec8febe17cd4417ba141", "SHA3-224 119 bytes" }, 1588 { &g_abRandom72KB[0], 120, "8c44941f21d2e863daffc5ad7faee2b5a79475496e95753491345a4d", "SHA3-224 120 bytes" }, 1589 { &g_abRandom72KB[0], 121, "1cb79d12f6eb093469aba8f0f3455389b09f8dd965d05a6cc06fdb21", "SHA3-224 121 bytes" }, 1590 { &g_abRandom72KB[0], 122, "6080d39958b1472f5f4e9bdfcf36df30e074603464a9a242857fbe3d", "SHA3-224 122 bytes" }, 1591 { &g_abRandom72KB[0], 123, "614920d5cffdc929efb38768ab8f6d940dc9488211c550d0526f3839", "SHA3-224 123 bytes" }, 1592 { &g_abRandom72KB[0], 124, "5dd2081e84d1946245e8a58f27be169d26c017fa9ed583c0f29555fc", "SHA3-224 124 bytes" }, 1593 { &g_abRandom72KB[0], 125, "cfe8e9b33a46812f82c6cd72908287afc40e9e77bb3a6cae670b4315", "SHA3-224 125 bytes" }, 1594 { &g_abRandom72KB[0], 126, "7d8d13b5e533456fd67e4b3a674a3c1d83218a77bc47cc3019cd4df1", "SHA3-224 126 bytes" }, 1595 { &g_abRandom72KB[0], 127, "b29f872062dfb9f40b1ae7b40d9eca735c5ec1e2de10f0eb393e638b", "SHA3-224 127 bytes" }, 1596 { &g_abRandom72KB[0], 128, "edd905ef5427ac92cbed887eedee28193cc6ccad967769f112663031", "SHA3-224 128 bytes" }, 1597 { &g_abRandom72KB[0], 129, "eddbb15b21c9edf478ff14c6cf99f5b1d82a92a91de38eaf8756f44c", "SHA3-224 129 bytes" }, 1598 { &g_abRandom72KB[0], 1024, "c200848e295665570e56cd995f51e58289e1e6398c9c9f326d757bab", "SHA3-224 1024 bytes" }, 1599 { &g_abRandom72KB[0], 73001, "95a8479d32047490841a03c0c2152554c40e4b470cac18777b96e245", "SHA3-224 73001 bytes" }, 1600 { &g_abRandom72KB[0], 73728, "1acd8a512e1ea38402b16ae7fb796d2a195106078b65a77f28d517a1", "SHA3-224 73728 bytes" }, 1601 { &g_abRandom72KB[0x20c9], 9991, "e2d5e6c023bb4a663c0958eef8b4ef4de953fe94d1b45c3cdc51fe8e", "SHA3-224 8393 bytes @9991" }, 1602 }; 1603 testGeneric("2.16.840.1.101.3.4.2.7", s_abTests, RT_ELEMENTS(s_abTests), "SHA3-224", RTDIGESTTYPE_SHA3_512, VINF_SUCCESS); 1604 } 1605 1606 1607 static void testSha3_256(void) 1608 { 1609 RTTestISub("SHA3-256"); 1610 1611 /* 1612 * Generic API tests. 1613 */ 1614 static TESTRTDIGEST const s_abTests[] = 1615 { 1616 { &g_abRandom72KB[0], 0, "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a", "SHA3-256 0 bytes" }, 1617 { &g_abRandom72KB[0], 1, "afcd9d4977b545e10872d720975b66368e9388866420da61b967d84d6791819b", "SHA3-256 1 bytes" }, 1618 { &g_abRandom72KB[0], 2, "b390b8f8ab7d1dd1570d9583c5536a09896836f78bfa6e146b2caa217fb03282", "SHA3-256 2 bytes" }, 1619 { &g_abRandom72KB[0], 3, "6714921795665b34839a95593f20981a85f0bd84d079baff97419d6803303b05", "SHA3-256 3 bytes" }, 1620 { &g_abRandom72KB[0], 4, "430bfb151ddae9b7c16e2ad9cbd33b6722ae1eda83f2b6bb6933e8fd3da56755", "SHA3-256 4 bytes" }, 1621 { &g_abRandom72KB[0], 5, "9cf2b6d2627900be1174bebf23e705664eb4c08904430daefe537c6493a29d8e", "SHA3-256 5 bytes" }, 1622 { &g_abRandom72KB[0], 6, "871549e51b212f4d63d0c7a55b13555ade1d73cd4002eb79144bcc4b97937cb4", "SHA3-256 6 bytes" }, 1623 { &g_abRandom72KB[0], 7, "ae27b315124cc7b003ab1aaf2c108591fe2f31f807ea1b970799c3598e101204", "SHA3-256 7 bytes" }, 1624 { &g_abRandom72KB[0], 8, "181674cc927edc7466c9408055d43a554448175edb5f3a3484a92c9d7344d81c", "SHA3-256 8 bytes" }, 1625 { &g_abRandom72KB[0], 9, "a75aae88c58895fdb97ca7e26121d73ee2ad76bf084bcb3d5d7663efed5d918c", "SHA3-256 9 bytes" }, 1626 { &g_abRandom72KB[0], 10, "1e7cc10a8cd646a063284960e443a83b36ca50d6c9429d0e4f2d098fbf20a850", "SHA3-256 10 bytes" }, 1627 { &g_abRandom72KB[0], 11, "e05c7bf58b23cd04f390fd805ebd11d5e4f373382dd3f4fc065e3b5d36986f37", "SHA3-256 11 bytes" }, 1628 { &g_abRandom72KB[0], 12, "362e87c0856768db0cde2c6a9edfc3ce513a021420d93b15669c18972ffbaa01", "SHA3-256 12 bytes" }, 1629 { &g_abRandom72KB[0], 13, "c7a99d13b7da44be0565b3b726ed8948e425ae1c43adbf7145c715c7f725f60a", "SHA3-256 13 bytes" }, 1630 { &g_abRandom72KB[0], 14, "0ffa1ed9b160cd0adc964f42834f6b18f65c6a5d12883594ad1b3ee53562585a", "SHA3-256 14 bytes" }, 1631 { &g_abRandom72KB[0], 15, "dfc04b284a6e4db24ab307700269b25b4400242c0dd4773b851d7c24106f9e3d", "SHA3-256 15 bytes" }, 1632 { &g_abRandom72KB[0], 16, "f567d888fec188b3a85600a4f31e3842e4b46fa3efad941b2e720f186a080e93", "SHA3-256 16 bytes" }, 1633 { &g_abRandom72KB[0], 17, "a6d07d11cb3d6de6976ba487892c50c9bb73fe234827b224c92c70a950eb955c", "SHA3-256 17 bytes" }, 1634 { &g_abRandom72KB[0], 18, "a494c5307e6210c405e990992ded702460a967e82e680d3c07db2a61a64d9565", "SHA3-256 18 bytes" }, 1635 { &g_abRandom72KB[0], 19, "5c6eadddcd686959bffd39d1311c4e9ea71ec63d532d87cba38136fb9c156db6", "SHA3-256 19 bytes" }, 1636 { &g_abRandom72KB[0], 20, "eef8fd8e01b47dbb4650f09e5306eb48a477e0f38170c3242e755f0bcc44d574", "SHA3-256 20 bytes" }, 1637 { &g_abRandom72KB[0], 21, "c93e8811b3e7a2409c96d4a738c2c20658cc7740d971e9c7d12044bdd9abad81", "SHA3-256 21 bytes" }, 1638 { &g_abRandom72KB[0], 22, "6c78e40e3f570e4e7ff22b47f4cadee3f0007aafefff83e42d04cec20b4d9de5", "SHA3-256 22 bytes" }, 1639 { &g_abRandom72KB[0], 23, "ef35d85cdd3b7e0cf364c3d19d28a3c6e187052a92a4085e014b5b89b1a94e18", "SHA3-256 23 bytes" }, 1640 { &g_abRandom72KB[0], 24, "1e6d74bfd46200dbb0ba76c536004118da36350a8fabdacdf33405e969964d76", "SHA3-256 24 bytes" }, 1641 { &g_abRandom72KB[0], 25, "a03c0e30ec83406b0a9987cf9d4355b45f26a9f97190df193886d576e335cd0f", "SHA3-256 25 bytes" }, 1642 { &g_abRandom72KB[0], 26, "8df121000eb2c38c9cab237e8e098b6e021ba6ad514da55ca1c1a62f8caaaa9f", "SHA3-256 26 bytes" }, 1643 { &g_abRandom72KB[0], 27, "568b200871d9586bad5912369703c0e89954e063246ca7a778e1ce5e33794302", "SHA3-256 27 bytes" }, 1644 { &g_abRandom72KB[0], 28, "e84cb03accae1b85e27bf7ffcf25c88902a911478823c37713ab2b9aedc79a67", "SHA3-256 28 bytes" }, 1645 { &g_abRandom72KB[0], 29, "94df7a85582b1ed59724d0390851e7b2bf62b99dbb2b03ce0edb660003469a31", "SHA3-256 29 bytes" }, 1646 { &g_abRandom72KB[0], 30, "d8b23f6aecc5824335c5982aa9e02157d97ce719e416184bcc86e101b9c196b8", "SHA3-256 30 bytes" }, 1647 { &g_abRandom72KB[0], 31, "93a281f2175a8da699e0822f8b5ff64035a40d1d3f7de4d52eebca43bc793f87", "SHA3-256 31 bytes" }, 1648 { &g_abRandom72KB[0], 32, "f61d85fc0c2bb5df6992d3c06ee0104be88d8ad9ed4a3d76dd2dd1e8600bbe78", "SHA3-256 32 bytes" }, 1649 { &g_abRandom72KB[0], 33, "eeea3fc3344187d0fc85a2e92d4bb30ac60ab71bd04ef8dd26b6de2821af3e5f", "SHA3-256 33 bytes" }, 1650 { &g_abRandom72KB[0], 34, "5606fae500a3d14548ae4d87ac76cc5b039b430db2c52e85838f3752f90899ab", "SHA3-256 34 bytes" }, 1651 { &g_abRandom72KB[0], 35, "698fc06075518e6bc6ae19518fef105536693ae66e449ae1654737f74d7be978", "SHA3-256 35 bytes" }, 1652 { &g_abRandom72KB[0], 36, "d14d4e67cca9eecda54e575ac70189fcba7ff6a192baec5ed1b49cb31f0798c7", "SHA3-256 36 bytes" }, 1653 { &g_abRandom72KB[0], 37, "26e139c6ee4441251e88fa9140494630dc1330e5986638fd358a1cc43222a1cd", "SHA3-256 37 bytes" }, 1654 { &g_abRandom72KB[0], 38, "22264dc5858425ef089803019321a6e892f7d65e8290ec9d1d14950c69e57ff9", "SHA3-256 38 bytes" }, 1655 { &g_abRandom72KB[0], 39, "a5a7f8b33538b0fd66efa56656801a61f97c12d6fdf145c6a121eb03417e9e69", "SHA3-256 39 bytes" }, 1656 { &g_abRandom72KB[0], 40, "32f01debb886b3792de6be774be4ad24fd29aa023aa73a79912ce2dbe58213ee", "SHA3-256 40 bytes" }, 1657 { &g_abRandom72KB[0], 41, "6db83652a8ace783bf009cc45699e13eaee316554ea746c4ed75628e69698b54", "SHA3-256 41 bytes" }, 1658 { &g_abRandom72KB[0], 42, "af81c002afaa1ce4c06728cdacff430598c434ca7e019b5cc783965d881b257c", "SHA3-256 42 bytes" }, 1659 { &g_abRandom72KB[0], 43, "c3d030e8dcc15924f60982e353c1c59079fae57a42fb064b979c5da78ff1fc5b", "SHA3-256 43 bytes" }, 1660 { &g_abRandom72KB[0], 44, "d33b4edbf75dddcacaf2a547714a934cd001eb9ecd5a2a7f4633ba2868ad5d04", "SHA3-256 44 bytes" }, 1661 { &g_abRandom72KB[0], 45, "a7fc1974dd18dad78c5fe4b649a3e634106f0ea2e8fd1a5488cc9e395618e5cf", "SHA3-256 45 bytes" }, 1662 { &g_abRandom72KB[0], 46, "269fafc4016c68275994c6a48411fa06e97e754374f79084f81a6a3b2afbe2a9", "SHA3-256 46 bytes" }, 1663 { &g_abRandom72KB[0], 47, "d2e95c6b46381bf506af9845af4ad5c34b0a046c745e80a1eac9dbd20ce7464a", "SHA3-256 47 bytes" }, 1664 { &g_abRandom72KB[0], 48, "35024a13cf9b8487e0a1c76815cf085beef986509a07ecb179ebb73db727e999", "SHA3-256 48 bytes" }, 1665 { &g_abRandom72KB[0], 49, "d4012893df1482cdf74dabc4b3394395e9eb11d638e69818c14bb6783575112d", "SHA3-256 49 bytes" }, 1666 { &g_abRandom72KB[0], 50, "b8e4231b19c6ceb78c07dca93131d9dcae75dc263ca5bb00fa857b3863b21ee9", "SHA3-256 50 bytes" }, 1667 { &g_abRandom72KB[0], 51, "f831e375922ceafd5478a277e2c35cef17210a941dc82266e3e0b29a08ece983", "SHA3-256 51 bytes" }, 1668 { &g_abRandom72KB[0], 52, "d54c127b8fd298247c6d31afb17b2849e63b8931527d687e3fc71dd22cd4463d", "SHA3-256 52 bytes" }, 1669 { &g_abRandom72KB[0], 53, "54ac308411c45e3a3b921e027bf4a64d738bcae1aef174cc28fedc5d9e10807f", "SHA3-256 53 bytes" }, 1670 { &g_abRandom72KB[0], 54, "17dd8c4ebba743005f76e97ceab0632ee39b85e4fcf143b343e2ecd159bd9284", "SHA3-256 54 bytes" }, 1671 { &g_abRandom72KB[0], 55, "258e0ff160dee3cfb01c9db942b7cc43388ca4459873251a8f1963ee0d85b4dd", "SHA3-256 55 bytes" }, 1672 { &g_abRandom72KB[0], 56, "0d5dddf6e30c93f508b34987c2747b32d5dad3ea222bf03147fd483a9c65329f", "SHA3-256 56 bytes" }, 1673 { &g_abRandom72KB[0], 57, "01d6132d90233f2b6ae40d4881ef2cb5d908283fcb413482759aa89a14d45374", "SHA3-256 57 bytes" }, 1674 { &g_abRandom72KB[0], 58, "1416bf31ac8140f47135c78ad9ceb01c84ce8c31330c63846cc4234f982d1335", "SHA3-256 58 bytes" }, 1675 { &g_abRandom72KB[0], 59, "5605bb41089bccd61bfa9b4dbbb87043f501a5417f3d93f515693f29ab0701cc", "SHA3-256 59 bytes" }, 1676 { &g_abRandom72KB[0], 60, "108bcf872c5b226c70b4323d1ad61f60a94b2fd1e002c96c4f592cf5f0cc95a9", "SHA3-256 60 bytes" }, 1677 { &g_abRandom72KB[0], 61, "1b0339f2b871802a7a7038cf8825192f84346ee55c04deea5db87f98648c19e8", "SHA3-256 61 bytes" }, 1678 { &g_abRandom72KB[0], 62, "52a82b911a628797ed8071c41a349e09be92b49320b360b2a220dab8fb923d55", "SHA3-256 62 bytes" }, 1679 { &g_abRandom72KB[0], 63, "b043822070550ab5a18340c950bf5676274b4442c770ef5c4301d25b5307cfb4", "SHA3-256 63 bytes" }, 1680 { &g_abRandom72KB[0], 64, "d57eea9e407e20c5a5af4bef5319330c2c06a936bf9d6943ca3cadf3e276c30c", "SHA3-256 64 bytes" }, 1681 { &g_abRandom72KB[0], 65, "e6a1a67b5c72926a91316c81f78e60cff33d90d78f5772b7324a99926d01721f", "SHA3-256 65 bytes" }, 1682 { &g_abRandom72KB[0], 66, "6eb286ad53f1b84d24eb69b4350368ca6630fb381c9f9915442b1fcf0dbad04c", "SHA3-256 66 bytes" }, 1683 { &g_abRandom72KB[0], 67, "ac9f8eae18862b36df72387d31b713fa0c38040e13496f1743081ebd36847cfc", "SHA3-256 67 bytes" }, 1684 { &g_abRandom72KB[0], 68, "1b083e91d0d67d491fe71f87429834606758602a1f3b3a8c6ff9d554fac19d03", "SHA3-256 68 bytes" }, 1685 { &g_abRandom72KB[0], 69, "c3dbdcbad247ae031b7dc1f5800b8857d2a7038f582cd530a8dfbb4634c32322", "SHA3-256 69 bytes" }, 1686 { &g_abRandom72KB[0], 70, "604dbd1b9f6c3a9fcb598ddc9113ef1cc4e38f9f711f1ed6444f71b286a507b3", "SHA3-256 70 bytes" }, 1687 { &g_abRandom72KB[0], 71, "bf2372cbc8fb128c2a4ac54e9acc51c37f73a8d64994f62924cae9c60a9724e9", "SHA3-256 71 bytes" }, 1688 { &g_abRandom72KB[0], 72, "b27584e3b982cd937b73442e9b1626cd7c5e305a2f6d0a5aee11d6a2f1d49f20", "SHA3-256 72 bytes" }, 1689 { &g_abRandom72KB[0], 73, "40caa6117a773cd12bb121a6fcd15015548a7273c0b02bdbf411cab4fc1004d3", "SHA3-256 73 bytes" }, 1690 { &g_abRandom72KB[0], 74, "4e92df398fd4372832411aad4cc97607b56437c41454381a1448052fa951cda9", "SHA3-256 74 bytes" }, 1691 { &g_abRandom72KB[0], 75, "47bbe0d5cfb501764956def15b83c8a8a29f12c20d1e0f50a47226046fd5e2e1", "SHA3-256 75 bytes" }, 1692 { &g_abRandom72KB[0], 76, "905bce96097d868e7b52c77df101afb9003ccd158603cc87c2e73d3aa3e7089b", "SHA3-256 76 bytes" }, 1693 { &g_abRandom72KB[0], 77, "fc69a2b6c2640d657bd9bfcf4d578078dcb13521be073eca0f4c3690573198ea", "SHA3-256 77 bytes" }, 1694 { &g_abRandom72KB[0], 78, "4f6a2ac1ef0ad1a065f48aebd20a13fa1e531f5f0d413fbdf95affe066186eb9", "SHA3-256 78 bytes" }, 1695 { &g_abRandom72KB[0], 79, "57ac8ba842322f02b01d8f0e59a8ffaee945d8f2959712c9a3756b84a40a4a74", "SHA3-256 79 bytes" }, 1696 { &g_abRandom72KB[0], 80, "57870b5575b8849dbcdb16f69c8ad47161f84052c92267b5f24b07a25681aecd", "SHA3-256 80 bytes" }, 1697 { &g_abRandom72KB[0], 81, "ae26a9496fec4d6caa862ffc8948f8e70bd5c59f23b6ce7594a0a2d43a554665", "SHA3-256 81 bytes" }, 1698 { &g_abRandom72KB[0], 82, "21f2317c9c6e10396b03f98696a6c060289323afde658c44e1943c154d4b0e4c", "SHA3-256 82 bytes" }, 1699 { &g_abRandom72KB[0], 83, "d3a8a809aafc9852e44acd88f87a66b4376fa226e2c084ebcddd5a89b59aaa53", "SHA3-256 83 bytes" }, 1700 { &g_abRandom72KB[0], 84, "7222c4a3dc927db4f8b10c2d4b7c4a14315a73f344146f83781e5679e0a4386d", "SHA3-256 84 bytes" }, 1701 { &g_abRandom72KB[0], 85, "5e2bed3edf023680143d4c2ad0fa361e6d1f41842094cf4df908311b54529041", "SHA3-256 85 bytes" }, 1702 { &g_abRandom72KB[0], 86, "13adbdd8f6b753f3c32c896240f043834a15ded83931418f163b5c8201ecaccc", "SHA3-256 86 bytes" }, 1703 { &g_abRandom72KB[0], 87, "fd9c24db36b84a0054bb9f752663b5d5ca77bfff5441c6ceaa65948fc521826f", "SHA3-256 87 bytes" }, 1704 { &g_abRandom72KB[0], 88, "d05fc925bea2dc42d0b10a8100dc746dc7590bc4d15b6f4c0b4ab364d69a81d0", "SHA3-256 88 bytes" }, 1705 { &g_abRandom72KB[0], 89, "256f7f16eabc63b3a080c702737518060e83bf62169ec4f2d84febb1122031cd", "SHA3-256 89 bytes" }, 1706 { &g_abRandom72KB[0], 90, "cdc601dedb0627e8ba5b5a9e53230b8421c4776ffec7e53d0fee0adec104418d", "SHA3-256 90 bytes" }, 1707 { &g_abRandom72KB[0], 91, "c9cc24d55dccaf7b9e5b0de3116d8a25d9f564aab207a07b26c0191502bc1e94", "SHA3-256 91 bytes" }, 1708 { &g_abRandom72KB[0], 92, "f3994256c1745b761b929da74cdf987109b29ee5c3bd6436786bcfdb5358a32e", "SHA3-256 92 bytes" }, 1709 { &g_abRandom72KB[0], 93, "d2881b2c298c424e4e1a478f20f36ab8c55a24c79b9329104bafd024b12f51ee", "SHA3-256 93 bytes" }, 1710 { &g_abRandom72KB[0], 94, "5d2d97b27a328df73a1528d6d955bbae6498f6ef9f3364acdf1f7b83e4a6dee4", "SHA3-256 94 bytes" }, 1711 { &g_abRandom72KB[0], 95, "cfa103153e3746324df951b2d89ca1ccdee67e8e3d97a8196b2581ee3060668f", "SHA3-256 95 bytes" }, 1712 { &g_abRandom72KB[0], 96, "344e10910c51c9486caaaf7550f0687c4b6d5fdbaf66dfe67d6383844104e21e", "SHA3-256 96 bytes" }, 1713 { &g_abRandom72KB[0], 97, "e37ce426d69ed6c9b7acb78bda6a59c08ae1243d5a6cfceaa6adb78f3eca2b0d", "SHA3-256 97 bytes" }, 1714 { &g_abRandom72KB[0], 98, "5c9e2a53a2dd0098e62c47b4a1b22fb64004d65aeb0828030e33be77e828b273", "SHA3-256 98 bytes" }, 1715 { &g_abRandom72KB[0], 99, "5cd4c97198591bf91c6565429ed28f89e53815f7e4dad39be6a215a1c2c4cc69", "SHA3-256 99 bytes" }, 1716 { &g_abRandom72KB[0], 100, "ca908c8aa585538640742c2baa10785e4a5daaf128cc94087bd9f880344660f4", "SHA3-256 100 bytes" }, 1717 { &g_abRandom72KB[0], 101, "6011ab054563f201cdb70229cab8bf19372c47321c3d567af535315c08b6f341", "SHA3-256 101 bytes" }, 1718 { &g_abRandom72KB[0], 102, "99e6a8b95d22e796368f48752b49e2c1760629369e8c1d2fd273bf2b81b7b1c4", "SHA3-256 102 bytes" }, 1719 { &g_abRandom72KB[0], 103, "f708c03570a45f25b9abc9764d7b974fe9fe97b0a418194eaa5003eadaa6d428", "SHA3-256 103 bytes" }, 1720 { &g_abRandom72KB[0], 104, "84619f8a92cbbedeaf50712874f228ad3cd9c9045aa60732a3555901ccdafe2d", "SHA3-256 104 bytes" }, 1721 { &g_abRandom72KB[0], 105, "31af9794fa3ad4614d34eca3727f19814db9edd74bdee043482a2d3ae5590368", "SHA3-256 105 bytes" }, 1722 { &g_abRandom72KB[0], 106, "0bf3834a655045ba00e2b0967a643bce3fa89fc2e5f201dcd5b000b52fad4cce", "SHA3-256 106 bytes" }, 1723 { &g_abRandom72KB[0], 107, "784acc66db73d12a8e49f0319db17e10a0667bafd58576076bd009a629dddf12", "SHA3-256 107 bytes" }, 1724 { &g_abRandom72KB[0], 108, "02f7c426f430b3d082ee899ca85112d3e5286f88bfe0e90f0c623634c7e03c98", "SHA3-256 108 bytes" }, 1725 { &g_abRandom72KB[0], 109, "b438b0781a78ef42a40f680f117b65a592128a197536d115e8b9ed9037f08134", "SHA3-256 109 bytes" }, 1726 { &g_abRandom72KB[0], 110, "6380cd9e9e93dbf931efdbf84ca60560b9d2d18b517485a0ae0199db55e830b2", "SHA3-256 110 bytes" }, 1727 { &g_abRandom72KB[0], 111, "de89367fb625762274b37f205a9318730168616c153400f2d3e6460e49b56dba", "SHA3-256 111 bytes" }, 1728 { &g_abRandom72KB[0], 112, "514a48d1734e4a4ba0d555a72fe48125efd7f0adba027ffa52c722a7911fa806", "SHA3-256 112 bytes" }, 1729 { &g_abRandom72KB[0], 113, "4ae2bf547fcd3610199b96431d634696400c9c139ce813a567da50a71037ebf1", "SHA3-256 113 bytes" }, 1730 { &g_abRandom72KB[0], 114, "84bc4a36d34c6637c470872be38154d31d493d9470b075a0383ddd28cdbe9eb2", "SHA3-256 114 bytes" }, 1731 { &g_abRandom72KB[0], 115, "b863d5691e4c89063e2c2851d992c7f5324ad62e79f68350bbaa8b0025e15f61", "SHA3-256 115 bytes" }, 1732 { &g_abRandom72KB[0], 116, "29a8b23a03b1ddba9a7bf2e95cbd8414ffe8dd20bef6c4895989bc5b98fe409c", "SHA3-256 116 bytes" }, 1733 { &g_abRandom72KB[0], 117, "1d89fe8bad953887b7e9b1d0f356f34b8c6f4961dcc27b634843ff7702635a92", "SHA3-256 117 bytes" }, 1734 { &g_abRandom72KB[0], 118, "60f5bc20e290c189677f4c91ce97a3334c21cda5196c670cd84c076518536f29", "SHA3-256 118 bytes" }, 1735 { &g_abRandom72KB[0], 119, "9ef5150c77dc16e8bbd04386ec076065dd5fb6d77af39e41740d861ad52f9bf1", "SHA3-256 119 bytes" }, 1736 { &g_abRandom72KB[0], 120, "235ebf0c8b52c19986e1a63ca0ef63e88e83343ccd286a09a8e893c9d2530707", "SHA3-256 120 bytes" }, 1737 { &g_abRandom72KB[0], 121, "27666c10e02ac3d3ab7a84a46b6e82edd7610403fdb4fb69527057d05531cfb1", "SHA3-256 121 bytes" }, 1738 { &g_abRandom72KB[0], 122, "5200ffb7dfb207ae1fd3dfa76ca47368f2f72895a4ae91eda4c226d059a28b5e", "SHA3-256 122 bytes" }, 1739 { &g_abRandom72KB[0], 123, "b04bf4eae46d4372ea481637a110c716aa2fe077adba5652ad195c58fe9bdb30", "SHA3-256 123 bytes" }, 1740 { &g_abRandom72KB[0], 124, "dc84dfefe157486e2f705a572af10f73a840f92a6eb55261a776966b046f7645", "SHA3-256 124 bytes" }, 1741 { &g_abRandom72KB[0], 125, "c7fc5d07ae481a3a2c70d7ac1df5973301f416ec427919a1cb1552a07e31ceb6", "SHA3-256 125 bytes" }, 1742 { &g_abRandom72KB[0], 126, "f155c1dd830afeff3964fae4a0944017b8557bbc3304a33e629accf0eb66dbde", "SHA3-256 126 bytes" }, 1743 { &g_abRandom72KB[0], 127, "d31cad30dffc49ae149d3cd369df776a58ac2f5d1deee03a869eb2e8ffcbb1c5", "SHA3-256 127 bytes" }, 1744 { &g_abRandom72KB[0], 128, "6c42f5ff3377b65bceefb5b16bd5048fd7a605b3c538b7215b1c7b6e0126041c", "SHA3-256 128 bytes" }, 1745 { &g_abRandom72KB[0], 129, "b7f894e617320ec30587f0b678f5cc6c238b6f94ef16f1e90935c4f41755acb1", "SHA3-256 129 bytes" }, 1746 { &g_abRandom72KB[0], 1024, "753ba264db6e163510a9f464b231a3eb9284d077f3785e527aaa4e33049f9e5c", "SHA3-256 1024 bytes" }, 1747 { &g_abRandom72KB[0], 73001, "7411763136254c7c9846ba64be8df5797da17d8412ab064f7a2b3ef669e138ea", "SHA3-256 73001 bytes" }, 1748 { &g_abRandom72KB[0], 73728, "8736966ca1364256f5db9cfc1803f3989f5e0a2517cead959788cfb34053ccbd", "SHA3-256 73728 bytes" }, 1749 { &g_abRandom72KB[0x20c9], 9991, "4f343c7135ba2023b9bc918e8926fd55386c9f7d33138cb31f30b89c00b22e5e", "SHA3-256 8393 bytes @9991" }, 1750 }; 1751 testGeneric("2.16.840.1.101.3.4.2.8", s_abTests, RT_ELEMENTS(s_abTests), "SHA3-256", RTDIGESTTYPE_SHA3_512, VINF_SUCCESS); 1752 } 1753 1754 1755 static void testSha3_384(void) 1756 { 1757 RTTestISub("SHA3-384"); 1758 1759 /* 1760 * Generic API tests. 1761 */ 1762 static TESTRTDIGEST const s_abTests[] = 1763 { 1764 { &g_abRandom72KB[0], 0, "0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004", "SHA3-384 0 bytes" }, 1765 { &g_abRandom72KB[0], 1, "351a6f908eae0c58a7bc6a9baff7778ffe794b2056dec37b5564fcdf5e5aba3fa7739c5032ad7e1fecb7b8764928f002", "SHA3-384 1 bytes" }, 1766 { &g_abRandom72KB[0], 2, "52805f0b7fdf522da3f138d3a1bef821b31383721eeb10de12d503d3359eeb491693cbb9cee4cdb0d3d21122b7e5c582", "SHA3-384 2 bytes" }, 1767 { &g_abRandom72KB[0], 3, "73c573da6e0fe95bf52c74ca90a840f2c7313e1551fea63ce4d52dcb3a1de4d6eaf93bd00e632646bcd073165b37e56d", "SHA3-384 3 bytes" }, 1768 { &g_abRandom72KB[0], 4, "f225dd6b5ca7551c90dd02e8b6cb2897de0d94e51f82122386cee7c9dcf626bd51fe221624a0e1c6f8670ca033ca211d", "SHA3-384 4 bytes" }, 1769 { &g_abRandom72KB[0], 5, "70e82b29ef43e63d66aa750afc62c9a7a50fafb43de8ad25ee2ec48d310a71fe36996cf01ec4a7d0b6eba74a2c9a7814", "SHA3-384 5 bytes" }, 1770 { &g_abRandom72KB[0], 6, "a987f80ad4dd0fd315529233a33233b34af4030e4a3be6ef27992d5e04ee1669a1c7799075a7cc514243f6a05e7b6303", "SHA3-384 6 bytes" }, 1771 { &g_abRandom72KB[0], 7, "b80eb8e14d5a0547c7296376d08af26b3b9bdb4366b355408ad2e8f869a312006ef5489208cad08374c36879be01e54e", "SHA3-384 7 bytes" }, 1772 { &g_abRandom72KB[0], 8, "ab74e8ee36754243b7261d68f82956a70c0e4b3e2a98579b92ebd1c9123c37907760012a8bca8da41ed6bc60c1dcdd5e", "SHA3-384 8 bytes" }, 1773 { &g_abRandom72KB[0], 9, "2d48b90f6b595fb44cccd5926d4877f0a4a31a9d3055d57435ded8fdf97e2b235db849a73406aa8a02708f3fafd94670", "SHA3-384 9 bytes" }, 1774 { &g_abRandom72KB[0], 10, "7540111d23ff8305deba8c60a739da70ca0e78e57a9fe07075f9bca229a13fbec6329916ff4697e7bcac9dc148738791", "SHA3-384 10 bytes" }, 1775 { &g_abRandom72KB[0], 11, "31a3fdafc1a057e487d40cbd5e65d8152d90cfb7362707a2f374851beae1e42f32755001d96848e728afe3cf88a5dde7", "SHA3-384 11 bytes" }, 1776 { &g_abRandom72KB[0], 12, "3f581f6a75f2cf5702a879a3beb2b424e40c066c1bac767d8cfdcd2d4b967f52cfa3d0f7e47b7bc03a50c75ce56080a6", "SHA3-384 12 bytes" }, 1777 { &g_abRandom72KB[0], 13, "ec49f22fc85a6b813f7222c9799e9fc220838462e8948ff46ededd73b888c874f0ddeb2a85dd0c9c3a848f822be06522", "SHA3-384 13 bytes" }, 1778 { &g_abRandom72KB[0], 14, "bae3eb3815b0eec7f834292a21d5de705657a9345e7029599758e509ef2c0fbfc35c13a2c88605d505373a213fc4e37a", "SHA3-384 14 bytes" }, 1779 { &g_abRandom72KB[0], 15, "75bf52c9a95f795a97571e8734c368d023b850dbcae9e33f38b7135a941675914be511e8a3d49292e2073ea7acd1ccb8", "SHA3-384 15 bytes" }, 1780 { &g_abRandom72KB[0], 16, "ec0d76053f71ff3c78f3a35161cc50e90515398597d265f80f0519beec5829783874453661d6c5387fe6b92b63948060", "SHA3-384 16 bytes" }, 1781 { &g_abRandom72KB[0], 17, "75bff0a4214cfc36fdcbf1dc4a156a1ff014c8337b63a97cf4a95edf0ff940e31820e5b618261fb93ad506eec600518b", "SHA3-384 17 bytes" }, 1782 { &g_abRandom72KB[0], 18, "08eec95e0109eaeb5a152e43a96dc4568c02580b0da6f4772dfbb6b93a6fec38db201597ea5dc9cc64c39c190dddb671", "SHA3-384 18 bytes" }, 1783 { &g_abRandom72KB[0], 19, "0797dd6277689061f5590cfb6fc2331c0f0e6d197301b1ffea2b1d87d5bb146cbed54de3dd907c03bf36c2d66b09188f", "SHA3-384 19 bytes" }, 1784 { &g_abRandom72KB[0], 20, "0976f1e66c6e22ac5c42bce96f6fcd0f80ca2c1360ac55d22be5b65cb042a0b226b9c69c38a8221ff9ad15468af3d114", "SHA3-384 20 bytes" }, 1785 { &g_abRandom72KB[0], 21, "efa2a237fa24bfa349f026b49e38243b18dc9a67ab812c802115bf4be4f4d2d38f8982ae17fe2b95e429ead2617b81e2", "SHA3-384 21 bytes" }, 1786 { &g_abRandom72KB[0], 22, "c8fd4c651d40550fa11b25b2e5beb4c82e0b8deb35cbf15774a60ccb59c1e49663ce003d9b9b716ef55e7e9f9698c4a5", "SHA3-384 22 bytes" }, 1787 { &g_abRandom72KB[0], 23, "a3ff1d39e935e7ad9db2006f407aae652101684046d05933a6625e9b41f11365754f79bdeb8c448aa186994360fb5d8c", "SHA3-384 23 bytes" }, 1788 { &g_abRandom72KB[0], 24, "ef3a883129fbe6a3a484c1cf402d6ac4bfa403d9976940643a4e3d3d0aa08dad6f2f1b129b95d9509db392ac1783db4a", "SHA3-384 24 bytes" }, 1789 { &g_abRandom72KB[0], 25, "c38974c59f2d39826f277358aaffd08d96e9a17057b7040ffa996dc0ae9b3ee2c8f99a40de8b14da6668cd48bd290ae4", "SHA3-384 25 bytes" }, 1790 { &g_abRandom72KB[0], 26, "e4342539692f426b15dba992704745e685b1df1442b63c2e23efd725e3fe2580982106af450d640f8fd53dc6e21cd666", "SHA3-384 26 bytes" }, 1791 { &g_abRandom72KB[0], 27, "c0f7bddf4ce882387d733ee4bb61c55f7e85066c13e68bde2d457b6734dde13c1d2970aa24ab1fd9d755f2a4534ad72c", "SHA3-384 27 bytes" }, 1792 { &g_abRandom72KB[0], 28, "66d1e453556618070cdf1d27364296ea8f12b64986250b4dc3491da2c9908c15d3eb731e48d77c9a2ff5ff985312e750", "SHA3-384 28 bytes" }, 1793 { &g_abRandom72KB[0], 29, "e1ececffae0e3e58d2dd4e834edb6365830e28c1fa37046c2368fc3c7a1adf5da4ec9437a9b526db1834e53e409764bf", "SHA3-384 29 bytes" }, 1794 { &g_abRandom72KB[0], 30, "b86f6e5485cd773ac37ed59a06e44d2f68553f2235695988024b84d9ea311db1634124a23021d9879d70f3104ba92bd5", "SHA3-384 30 bytes" }, 1795 { &g_abRandom72KB[0], 31, "853e6213578f7324056b05eec706c976346667051b50ea4f7dbfe8a3752a40c93af76e517b4ae3e849d50b2c41d06b42", "SHA3-384 31 bytes" }, 1796 { &g_abRandom72KB[0], 32, "8d12a1665736d1f197de900387597965701029b3c898e3b4cbe81fe3838b457c9116eec6fd3ede7baa5aa88509af42e1", "SHA3-384 32 bytes" }, 1797 { &g_abRandom72KB[0], 33, "c014fcfa6c0c02f83dd88a2be34f57ef5ba711319f974468a3835b36dc65c8c2a1a6a9f7a58c068d57807228989c64d8", "SHA3-384 33 bytes" }, 1798 { &g_abRandom72KB[0], 34, "d82b000e22fd142f9bbefe67514f05b8b3a59fac3c393a335f12899ad8d60445dfe644c7638e164d08acfe6ebc1477d7", "SHA3-384 34 bytes" }, 1799 { &g_abRandom72KB[0], 35, "6fe7de0e226cbfed362b33f3f2281ec3943a7caec2e824829c24f23a31e3fca9d9e375f55d6a1f64d7b495a4be652bd0", "SHA3-384 35 bytes" }, 1800 { &g_abRandom72KB[0], 36, "b5c28e85b4ce16b6fa15e08290910941e7a3e6db49debaaaea4ac1616e38362daa73974a88b7e058738608f8f7e850f2", "SHA3-384 36 bytes" }, 1801 { &g_abRandom72KB[0], 37, "3a1f8c9a52272e8b167d7df37a40b470820b5ae455b89290740fc02085212aa6e56f874edec5c9026a933a21c4e5b249", "SHA3-384 37 bytes" }, 1802 { &g_abRandom72KB[0], 38, "d1c1b8aa38cb26a57cc31f9e4409a9fbde4f345b85c1c5d0b5237f61aeb9e19aa676b3a58abf5a484d66b83cc7635220", "SHA3-384 38 bytes" }, 1803 { &g_abRandom72KB[0], 39, "81cad2561d80d5278635f1ecccf7e60550fb1276041c18e386fa78392106c000c5f946b0963f176b920f8ed5b2d51e88", "SHA3-384 39 bytes" }, 1804 { &g_abRandom72KB[0], 40, "18d87d1e74d4eedf4ba7816dbc4d0249f69869d4d2a73af5558b7678179344ec89dd3afe4b71171ffe43fcaeed6f6780", "SHA3-384 40 bytes" }, 1805 { &g_abRandom72KB[0], 41, "be04c4f1b70fdbb8741b9f1fe3712e60b56ac1cc3d157856e7dbaa47d0dab9c9ed3677bbd5b38deeb89c805befb00b2f", "SHA3-384 41 bytes" }, 1806 { &g_abRandom72KB[0], 42, "945c8c93784f3bbdb625866bdbc506e20bea661d87de978005a97bf68178c55a4faac033f38d0231cf35af57c3b13c23", "SHA3-384 42 bytes" }, 1807 { &g_abRandom72KB[0], 43, "3c2fff20cc9405f022d4571d30c9cbf2768dc48e95d8eefdf16bd1f5a6d07027baa0a898245dda935efd01226f239fcd", "SHA3-384 43 bytes" }, 1808 { &g_abRandom72KB[0], 44, "9fa1bae02937e2799e4c053814203391991e9492217166c5d525c245f1f898d86ac0c93a6aab4c26159004be867e108b", "SHA3-384 44 bytes" }, 1809 { &g_abRandom72KB[0], 45, "3d05fc09ec76cad99b43b9576d44d4852dbf26a58c7ae6af2d4f211493ff8ce3b6da71e05e60096a8f7d23b9acc795f2", "SHA3-384 45 bytes" }, 1810 { &g_abRandom72KB[0], 46, "54650f8665809f950b92cd1449ed63633d96dff84b349cbca281dc7547d2c2ae554decf114fe32c066608c27553778b1", "SHA3-384 46 bytes" }, 1811 { &g_abRandom72KB[0], 47, "6122ab61add284f058ee45f0aaa209813e0b6503f907259a968e0b0fd706b6bcdd376a37a62e3dcb31e2e5a45e940522", "SHA3-384 47 bytes" }, 1812 { &g_abRandom72KB[0], 48, "5e2aa542591d5148e2b975c41e606de6877ebfcab832a89d4781a91688e76b5a2f30d6d289521d06363c1321975d1cf2", "SHA3-384 48 bytes" }, 1813 { &g_abRandom72KB[0], 49, "6dd1d9bbe2cab7d4ba8756a18a5978a3ab54eae07c068be07d6eb0ebf61f67a810281acff3df609821eb998699156503", "SHA3-384 49 bytes" }, 1814 { &g_abRandom72KB[0], 50, "dafa71cf50e1f80e6200b2280ec2a70fbd820783817ec40d811fa0d7dcd3ca80242d374b11b6c43497f943e610135b97", "SHA3-384 50 bytes" }, 1815 { &g_abRandom72KB[0], 51, "2839c75d8751796c680b9be0029eb3395835f87e653625c9954d161cea78c18d35fb96545ed71f8793cdc5153f3462d2", "SHA3-384 51 bytes" }, 1816 { &g_abRandom72KB[0], 52, "899c196d598401a2167ac88e452f76f1d78f039b4edee7e3f0d55bb6c877afa280667d0c6fbb74f6e4138aa6acd417aa", "SHA3-384 52 bytes" }, 1817 { &g_abRandom72KB[0], 53, "03c3d35a19b5f93121851a3aaeac2047c66cd128f55f7cd81eb6f55c79244571f10e0660e9c8f84408b93e3fb7212b55", "SHA3-384 53 bytes" }, 1818 { &g_abRandom72KB[0], 54, "016841b49625dd79f166ed9e9d0ab6628dc20a45ec41edecf8aae506db8059b51a81379ead0347e02f752839d947e8b3", "SHA3-384 54 bytes" }, 1819 { &g_abRandom72KB[0], 55, "b0873afe8b3b4cb37f34b9afd56bc9c879b58438f2dfaab09c6dc7490285db4a9f8261dc2dec9fb7a9b0ec79a663dfe9", "SHA3-384 55 bytes" }, 1820 { &g_abRandom72KB[0], 56, "bdbbac0fe4dd5cfc6a7b7f4bd8d7d4dfea2963ffa7fc5e3d87d71943b9140b65b36db9b91d512ef37031be3f173e45d5", "SHA3-384 56 bytes" }, 1821 { &g_abRandom72KB[0], 57, "c5205b3182b49ef264f97e1fb04dabe0f6c83409799f77d29713771f4335083e0ebee42b66694913c62131149dbfd34b", "SHA3-384 57 bytes" }, 1822 { &g_abRandom72KB[0], 58, "9324d23c2d96c321e9844808afdf82aa9dd2a13d6f850fa20abc942c77e4628f3632dedb25bdc2a7de81e34d0a683781", "SHA3-384 58 bytes" }, 1823 { &g_abRandom72KB[0], 59, "99017701633107f973e51c25d11a5fa3a05138b079901ba9a3ab2150658bb37ddffedbbd66a9788c87e652c0a16ff963", "SHA3-384 59 bytes" }, 1824 { &g_abRandom72KB[0], 60, "a336e96a7e06f6acc63c9f39a89689e71db54a28e69ffb58b88f97b5422be0b95bfc75105a0baf0d0c88ddb5b9b42b27", "SHA3-384 60 bytes" }, 1825 { &g_abRandom72KB[0], 61, "da0bc2c07c2e5d7aa461f335be8df794e13a696a53dd1be654ab3b15edf4289a36b7cd53a811b7366250ff3437b5b011", "SHA3-384 61 bytes" }, 1826 { &g_abRandom72KB[0], 62, "1e7bc6ca22c38de4b3fd17cde00cd98273a04a3cebad3375544954ce226cf7fe49bfe9edbbb3d611a622ed7057049b68", "SHA3-384 62 bytes" }, 1827 { &g_abRandom72KB[0], 63, "9f12eeb4b46c504538d30ca7ee816ad44d2b2ec9287076ed5fba572663100a14223177545c97f172792cc5dcc121734f", "SHA3-384 63 bytes" }, 1828 { &g_abRandom72KB[0], 64, "d5c58d56e3bec6e7c3b99c2bcb99435ea523eb7b2aac01859d0ba496874a3fec6d7ab9b2c1581543ea19f3363e04e161", "SHA3-384 64 bytes" }, 1829 { &g_abRandom72KB[0], 65, "0261d01bb6498f01ad42cd7a624b4f7fbc4dc9bcb1ba4bcaf94084a4b9bd357819c4cf41a60a2e7d90414e3a10b3dfaf", "SHA3-384 65 bytes" }, 1830 { &g_abRandom72KB[0], 66, "b94a286367a68d69d4c77eeaa5b03cafc1209f5ce04b98f6218a71150420da2fa786d8b91ae4f20c320d380830466eab", "SHA3-384 66 bytes" }, 1831 { &g_abRandom72KB[0], 67, "83355d1f784c7c5f5e97cce9427006706720191ed729f576b989a136aed99eebd835d5c934df5094db8e01d3534bc349", "SHA3-384 67 bytes" }, 1832 { &g_abRandom72KB[0], 68, "26895ff45f1d409fca25c169528d880e811b0e2aa57891b783d9606695e040bcbe9b1ec5bfe697bf80711afb075849f3", "SHA3-384 68 bytes" }, 1833 { &g_abRandom72KB[0], 69, "44744ffeee86553383e311a2f3af39e6a6c0e699794af43be2fb69f07ea843b67cbef422ac14fcf23be79e2150e55e53", "SHA3-384 69 bytes" }, 1834 { &g_abRandom72KB[0], 70, "6d8e393588ee37529e989ef4250c5d4d00effcbbe089ac3ed44ee3212f03162823f264ed1ddb2241302f9e3addd438f7", "SHA3-384 70 bytes" }, 1835 { &g_abRandom72KB[0], 71, "1717d8e9793a0b624875dc9e68c36cf3abc0164bfa3e3d291e36663ca144d3298dffe668726e59984b12ff2c28c9c394", "SHA3-384 71 bytes" }, 1836 { &g_abRandom72KB[0], 72, "b67fd24f2684a0353f94e97041ae439edeabf9e8dcb8c2eacd01821085fc31ed9d2d46f678aaec2f12211ee8118d17e7", "SHA3-384 72 bytes" }, 1837 { &g_abRandom72KB[0], 73, "08fbad7996bacab84baaa84783c57be6144fa1e9306865f3157f59e60986c831c50d24ac67a8db1d957db7e98812809d", "SHA3-384 73 bytes" }, 1838 { &g_abRandom72KB[0], 74, "f7dbeb3e8eec8dc93c8f43e7531208a2bc6d6b18bd6bed67aaa81490bf1e334b926c750f254c9c0b1675d69f93612a4b", "SHA3-384 74 bytes" }, 1839 { &g_abRandom72KB[0], 75, "277012f450a023c70e75ef7bac78ce8a6241bda7f4d9f41261aa77625062654c949fa1642867be894eef4c967e4a3f5f", "SHA3-384 75 bytes" }, 1840 { &g_abRandom72KB[0], 76, "f21f4c2110e24f2df77d6d97e8dd2acacb172f8929b78358a9cd1c4826cac04f11b37b4af205b08c5be16188e4ba4e4b", "SHA3-384 76 bytes" }, 1841 { &g_abRandom72KB[0], 77, "d2ff0145b121a78743806a1af5f8fd054d5a0cf86272179754e05e498535fa05733c70b7f70d872429df35c3441c64ac", "SHA3-384 77 bytes" }, 1842 { &g_abRandom72KB[0], 78, "a728f1b1e30a286d31e8736b95284053f76b68367645bbe30f14838732c6b6d24aaef815a9bdc76fb86409c72ebeee2b", "SHA3-384 78 bytes" }, 1843 { &g_abRandom72KB[0], 79, "d509adc96cf2844b9c4df2008205c3a7b1ce8c2c071c225dc34c724eb79f961f29824f20d1bdc2ed9904822b9e7bcf5d", "SHA3-384 79 bytes" }, 1844 { &g_abRandom72KB[0], 80, "92872f5dd6f71ae3aadc4b717679893069ef2e9712d5b1ddb13d8ae70af58d5be0aed753b6e8a5264dbe37f424e848dc", "SHA3-384 80 bytes" }, 1845 { &g_abRandom72KB[0], 81, "00a8805d752e1e7a8c2eee08b7aad773e18e97bb22814189471c5faceaa0be093315c8ca74a5f2e3b847cae1cc521fc6", "SHA3-384 81 bytes" }, 1846 { &g_abRandom72KB[0], 82, "1c91d79d007353e898080e24ccb64d997b83590cc875ddc4e3e264ca160efeb731f04391197e9b3f135fc116461c0a1b", "SHA3-384 82 bytes" }, 1847 { &g_abRandom72KB[0], 83, "669bcf3fa978752a5b7b4199ce6cf5d876a3073519f3a73330f08b392b9aec6f0305ab52f99f634ffa293dbd852cb7c1", "SHA3-384 83 bytes" }, 1848 { &g_abRandom72KB[0], 84, "ac885cfbf0544756a4e6cd77270cfd66edf74dfd25a4f19181ee762a77895d93257193ca1a60000946b682b635ab6044", "SHA3-384 84 bytes" }, 1849 { &g_abRandom72KB[0], 85, "c32073b1b2cf925ba6ebd130a12b98e34826ef5669a5dc1fa8d3320d2533b27b9065e3565a8c0f8dff044421a9bc585f", "SHA3-384 85 bytes" }, 1850 { &g_abRandom72KB[0], 86, "793462351767807335b0844e6d4878b3ccfd4f594ea86ee111c642d19ef08427071caa3ea2d52a53293dd897c4ce9646", "SHA3-384 86 bytes" }, 1851 { &g_abRandom72KB[0], 87, "2287c449b17f68b63412faaf1d74148b86412ab77643dbe227a06327416b51e9b94116df822a52e0839c856c0cbb1ee6", "SHA3-384 87 bytes" }, 1852 { &g_abRandom72KB[0], 88, "6bc32f874a67eac1366456b704a4d0bd2fc611392f6ff339e8a5feaab217b101b827f89cc66647a1ccea4d739552e3d0", "SHA3-384 88 bytes" }, 1853 { &g_abRandom72KB[0], 89, "e322a1eb4c9d65cd25be405228cefabc757c49f1a1e954e6e2c218108449d5ebe5c444144e3d43c96d5736c4162a061a", "SHA3-384 89 bytes" }, 1854 { &g_abRandom72KB[0], 90, "678df2cffd333044f1dd056e257e2bbf99f0daa0f9ee5edcbe8e0c3bde8c9d5b3338939b8cd7de9039d24e873e3a34f6", "SHA3-384 90 bytes" }, 1855 { &g_abRandom72KB[0], 91, "f5487ff2ec0b0db09bffb7994749a76cff97424e5304ddfe650a19145a667e3ea5128b7455015be20b6fa950803299f8", "SHA3-384 91 bytes" }, 1856 { &g_abRandom72KB[0], 92, "a54f6fe4262eef9b24daf0cd9dcd5f49696f4b0b3fdfa7976c24faf04ea7242d65246844bdf9e774b2db9d134176fe98", "SHA3-384 92 bytes" }, 1857 { &g_abRandom72KB[0], 93, "025aebd069a29ff9145831843819875491a7833ecf2cbb9271f8b9075bc7a5601576706f47c45dabf1383aaf267e6406", "SHA3-384 93 bytes" }, 1858 { &g_abRandom72KB[0], 94, "6b3bee378866a5a886241343219459ca25c4092c47e8498632043f6b20a91d7d51a0fbfc92b75ff8d83ed81d1db8517f", "SHA3-384 94 bytes" }, 1859 { &g_abRandom72KB[0], 95, "02adf1f5edebd714c6b4717b212cad4ad80b5ebc0ea9cbee28b2eb2c16142001f829a42e789b56b05a39347afa962bce", "SHA3-384 95 bytes" }, 1860 { &g_abRandom72KB[0], 96, "2f2257518e832826e833619221b721af3940e053b3fdb493143372289aa9687ffa1f0ede725ebde6a46921f7fa25d0e6", "SHA3-384 96 bytes" }, 1861 { &g_abRandom72KB[0], 97, "1638dd76882713a5da153c466b2c8721432b9b1241cc10ea0e2c4f908ea562ef7db4257c7013e85c63b3451467f68f86", "SHA3-384 97 bytes" }, 1862 { &g_abRandom72KB[0], 98, "dc19989c29044e28ec9dc1a15c8a3f9b3ed428f1e24d7d311e399f42e6b9707e8d26e0b83f426944c92f3ecd9fc145fc", "SHA3-384 98 bytes" }, 1863 { &g_abRandom72KB[0], 99, "98fe06676c51ac2daebebc2541366bbaa44d7681b2606282d18ca62432adfba14bf3025657f45487a5e467d62a907923", "SHA3-384 99 bytes" }, 1864 { &g_abRandom72KB[0], 100, "633e3ca7c740c42deb29cdce84b146d403af6467240f414a01d70a01dec4ffefbeedb4fd7f87ea10ef17fa8e2f95839e", "SHA3-384 100 bytes" }, 1865 { &g_abRandom72KB[0], 101, "265fc450e8fe8a939c3d1c3c3adb57f0c2fab198419743249462b9587f963c5b15ebe917ee2870cd5b88b4a22892b2f9", "SHA3-384 101 bytes" }, 1866 { &g_abRandom72KB[0], 102, "c13be9e4720cbd2dec27b15e39cb348fd36278f09d4a809142256ff943c91400c911ddd685b029798103a07e27d13ea1", "SHA3-384 102 bytes" }, 1867 { &g_abRandom72KB[0], 103, "df4b85fac28b97c0a9530f3658b43861426ce9b7178e6d684a7a19e62527e65c7e02e6a21f70bda08cc7d77891cc1e7d", "SHA3-384 103 bytes" }, 1868 { &g_abRandom72KB[0], 104, "dc5d36d735b0db6ceadb6a89ee9fd71348fa92c6c8b6ff5122364e507f0850a8bca5de046dbaeb072ade79ab90ef6554", "SHA3-384 104 bytes" }, 1869 { &g_abRandom72KB[0], 105, "4405f031f7dc2bff4d4edcc19225ca48f87a6d26863293505a4750f08d37b8acb345e81eb7f3720da34badde724eb8a9", "SHA3-384 105 bytes" }, 1870 { &g_abRandom72KB[0], 106, "fc77e20166999b025d11dbfda2ada5ac55e79a13f5a28834c802af316d8d4dc1daabc884e9f4ac28ef71598c44632818", "SHA3-384 106 bytes" }, 1871 { &g_abRandom72KB[0], 107, "c738f15bed5c991816fece164170da1a13623d1ce841a36d03825f52da5b667b359efaea48d98146acfec23e2292c19d", "SHA3-384 107 bytes" }, 1872 { &g_abRandom72KB[0], 108, "05e12cfe915c8cacb57bf65a298f5257d5991af5276eb21d1a71e5209143fabd52ab18488c50d919dff840fb58f9f4ad", "SHA3-384 108 bytes" }, 1873 { &g_abRandom72KB[0], 109, "30d27e43a3e5c8ea5d246e93325768f578b00059b0c83ede760d591543512c58cd879283ec68907c6cf2786fcc51e422", "SHA3-384 109 bytes" }, 1874 { &g_abRandom72KB[0], 110, "ca8020c153045996c1db89b8a9d8715b87725af59d467d4647140cae82a976b911ca5be702119a8006f3c695dbc53133", "SHA3-384 110 bytes" }, 1875 { &g_abRandom72KB[0], 111, "b902694b31ae535f488ee74202348d3c2a69664f416b1751a009831b660a42584c9a13818da8223b4a597776d507becf", "SHA3-384 111 bytes" }, 1876 { &g_abRandom72KB[0], 112, "7a5b4a263964173138ac85fab23e69e3ee43754bc06a92d712773d78bd182642a0d7640bd1efef9f16dd5a3a4c11742f", "SHA3-384 112 bytes" }, 1877 { &g_abRandom72KB[0], 113, "04fe25a667631b12a421c0d059fd632c9f91050fa219307571c95f927f58838a67f92563a256737f0d0667964d6d044f", "SHA3-384 113 bytes" }, 1878 { &g_abRandom72KB[0], 114, "9253e185ad4ccbd6ad51bd4f9b15b972d187be7b13bec3af0830d4f38865c77726a52b0316b6d8b2fc90ace13b456325", "SHA3-384 114 bytes" }, 1879 { &g_abRandom72KB[0], 115, "d4379a4a6f2c5e13e945089d4d02b19d59e4b5f4566e74f491b5dacf6a3b10539daea4d13f53bfa3506ce6ad0436585c", "SHA3-384 115 bytes" }, 1880 { &g_abRandom72KB[0], 116, "a95251f8b89a5b45e61040ce0b6f9705b863f177ba7fec27f02cead8a7e1684ab3f9736fb4d6ac688937a40a1be791fb", "SHA3-384 116 bytes" }, 1881 { &g_abRandom72KB[0], 117, "61ce9c3bc8fd2d2500ae8f6694c66c918facd2cae77b50dc0247cc25e8f1bbdfe6b6d1e92a429dc9f844216e3b8acf17", "SHA3-384 117 bytes" }, 1882 { &g_abRandom72KB[0], 118, "763a1c60a5356ea751ff166e6e9f9a981af3833fedf127cf9db3df2cd4038ebbdbfce2ec6eb1e3a6825a8810d9706952", "SHA3-384 118 bytes" }, 1883 { &g_abRandom72KB[0], 119, "c93f6d4ffa7fca49127f0b3a85555e048bb8984f62f31303614d582757829917292da620a248cf482f18ab61d299e0fc", "SHA3-384 119 bytes" }, 1884 { &g_abRandom72KB[0], 120, "ea255bd5294daf26e46c36333d677a445269e0a5e1cef27a4123c120afb19a6c5ff9273e849c4e0ff41be657ce484293", "SHA3-384 120 bytes" }, 1885 { &g_abRandom72KB[0], 121, "4830fe904db9b4b17766a5fe346720259805e7e02798910c0134377224e4632af0e451e01f1e878554325e203d1650b6", "SHA3-384 121 bytes" }, 1886 { &g_abRandom72KB[0], 122, "99781b361e73d5eacb0dd02f2f87fe4a440b14942756aec6f8afbec276781315782bd20fee1fff2a4f2a77057d797748", "SHA3-384 122 bytes" }, 1887 { &g_abRandom72KB[0], 123, "470d3d508fc216e1a1e6b7d98646a01144175758421b0945e934d7b3fd43963fe61517d99757565868d4e94dbff56cfc", "SHA3-384 123 bytes" }, 1888 { &g_abRandom72KB[0], 124, "8a9c1715fe95519a8f5b3978c581840d0dd1feda450f28163b5c0497111e04771ce90b31d3c786075092d89c167e2007", "SHA3-384 124 bytes" }, 1889 { &g_abRandom72KB[0], 125, "8cfc174c8567f4a7cdc02b11db37dd915a28b3da8099f803a8440b6bf6b11bfd7afbc26b0c0edee50500ba26bd41eae7", "SHA3-384 125 bytes" }, 1890 { &g_abRandom72KB[0], 126, "fb89ee296bb8ce1ff1f787dafaf066aa0543bc154a7b2b5f395150e16d30dd9411fa9a455106e478119f7bf4f3445f04", "SHA3-384 126 bytes" }, 1891 { &g_abRandom72KB[0], 127, "02021f9486fdfedba2b51ea503922f2e4bbb5a0c01b4e0f4c5a7c4a22193c69333eb6f1b4496dc23fe0cdc3f09125cc3", "SHA3-384 127 bytes" }, 1892 { &g_abRandom72KB[0], 128, "bd0b400dd2869c5332a041e8d8264f445f2d8ffc727f5efa38745c5a81981af6acfec6b8287543bf8100aad7cdd0b375", "SHA3-384 128 bytes" }, 1893 { &g_abRandom72KB[0], 129, "9a5282d4d4993ac395462551adc75feb644fb97bf4ea9d5b582fdf98dc0e7b70f9b075d150d11b3c8960629ad46a4de2", "SHA3-384 129 bytes" }, 1894 { &g_abRandom72KB[0], 1024, "f1a46e19369d97b0d3e50a23690d25d95592647d118cf0433d309024d7ffc11a69e172bee516f4e69b4a855c05a0a69c", "SHA3-384 1024 bytes" }, 1895 { &g_abRandom72KB[0], 73001, "6ba059a8af7d72660261347867e5308a80ce4c41159237cf6aabdd03cd86fa9e38a9c93b37ea86c63afb7e3a61348355", "SHA3-384 73001 bytes" }, 1896 { &g_abRandom72KB[0], 73728, "e69e5ab83d5cfc56bd36fc256229344e74d50f04de6c0c6a94adc7ccf674fbbbf8f9694dc1dd958cb41f0a65a78fd8af", "SHA3-384 73728 bytes" }, 1897 { &g_abRandom72KB[0x20c9], 9991, "0a2f284b452e440815778749ce156a666178e771f27b06b44bf55dd10a7ddbdbd0e149dd1112fb61666812ac9a11b213", "SHA3-384 8393 bytes @9991" }, 1898 }; 1899 testGeneric("2.16.840.1.101.3.4.2.9", s_abTests, RT_ELEMENTS(s_abTests), "SHA3-384", RTDIGESTTYPE_SHA3_512, VINF_SUCCESS); 1900 } 1901 1902 1903 static void testSha3_512(void) 1904 { 1905 RTTestISub("SHA3-512"); 1906 1907 /* 1908 * Generic API tests. 1909 */ 1910 static TESTRTDIGEST const s_abTests[] = 1911 { 1912 { &g_abRandom72KB[0], 0, "a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26", "SHA3-512 0 bytes" }, 1913 { &g_abRandom72KB[0], 1, "4ee7f324651207f39d805a7316fa5fea29f4b220f0dab62c1b1543e9bf8bcca99f23717cc1a760ef1aa899b81457bbdcc03735dcb77826d888247349454d1db9", "SHA3-512 1 bytes" }, 1914 { &g_abRandom72KB[0], 2, "a37abcdae939bea2fca0098ed2605ce1ee435323afc3b25ce0cd3591e91ed0d14f8b5b472d7b24c6660fd56af8a738848b472f26582fbda90a76c8050d6c2a12", "SHA3-512 2 bytes" }, 1915 { &g_abRandom72KB[0], 3, "990d4cbd76529cbc6eb12e4da80ddafbd3400c4914aa6123aec0afea5620e1bee60b200125219911696abc77d62916c39755247a198084e3fb75252c093bb5c2", "SHA3-512 3 bytes" }, 1916 { &g_abRandom72KB[0], 4, "a4406495c343b9c3b313cba6013294afd81fe23374149906074dfb4b596269e3735c98d7e2b1499a05f6596ea0a7a7e1a82cc85032e94bea71a0e6a775bcd18c", "SHA3-512 4 bytes" }, 1917 { &g_abRandom72KB[0], 5, "f84d7503d3a0ca641b3e095c27afde5a273a1e6e838529d872215b0429a7bf27707b943780957441904395912fafe60b429448759f5dfb3e5ff32fb38dccb099", "SHA3-512 5 bytes" }, 1918 { &g_abRandom72KB[0], 6, "525662195aa6f59c6df3f289f2806d5ae273a173bb1d0c3ea1f81073f75ae79b4771907641e6bf8672c0e84f1b978142fb416ca65c3bba0de351f2b8d848ff53", "SHA3-512 6 bytes" }, 1919 { &g_abRandom72KB[0], 7, "821cef685d761af82b4306e1ae57f94de06c1e447b68eb0f928b50d48efedf36a6d98f0e6af966d94632bf135fccba4afcecce2fb7d96bd556877f8b35826fba", "SHA3-512 7 bytes" }, 1920 { &g_abRandom72KB[0], 8, "7e01e3c096f03241c590f228863ee9c412cc209d0234452f28f5e52d238133fd91795b7a19ba0e6a6187383eb22749b5ea0fdefa327f824bcfe5ded0128abdcd", "SHA3-512 8 bytes" }, 1921 { &g_abRandom72KB[0], 9, "1cb4b2dc7e3bc947c8b99a52e538491e7f05a86877895917db1a24dcfc68822997f2bf1cad9ab63d656b4ef7cacb32109bc2e4befd87755645cdf44e4b177405", "SHA3-512 9 bytes" }, 1922 { &g_abRandom72KB[0], 10, "b5db597d408db3e664422e8723a3f03e42e6302ed6765fded67e35406e73f9edf3610f63287059f1850c57a6d460fda1eead440e67c65ff60f28dbc9fb886225", "SHA3-512 10 bytes" }, 1923 { &g_abRandom72KB[0], 11, "b43ed646049b4d7067af01ea26c922f877cf1bcb83fd42ad7ee02ccd4f79c9bd7fb5c5c9e6538c67ba46f3ef7537f8b7c1465843191c17ced4d59d1a534091be", "SHA3-512 11 bytes" }, 1924 { &g_abRandom72KB[0], 12, "844eb1bdc2bda7a7a142c6769ea7f7c482457e6e025789125b43be6d2a10639ce939c4ec4bb80cf5113e7e3f608b3c3587c262fdba05ffd9c56354e64085d052", "SHA3-512 12 bytes" }, 1925 { &g_abRandom72KB[0], 13, "cfad914dc4738c54fede2b0bc0ba5f0d657d1a120f38c2d4dfa79528c210236a03cbcd277852413ea64d2e5e54659772e69d9b8af6c0df4aece7da71097c17bd", "SHA3-512 13 bytes" }, 1926 { &g_abRandom72KB[0], 14, "d7fadc895847ca55425da98b51cc12c38dac301475a0517cd7ac7b40fa328809e0edc07a3314409df18759dc03f30bbbdd5d78ed6755a761401b19b4c3426a99", "SHA3-512 14 bytes" }, 1927 { &g_abRandom72KB[0], 15, "46c539de6bfe7da9d6e145c8e73f9ad4a117b55a59fd0a913e3f56349f02f1af81736293e55f3439da7d8f7e6799fbbb0d76fd77d2b0acb0acf78ce08f775245", "SHA3-512 15 bytes" }, 1928 { &g_abRandom72KB[0], 16, "81cf0210eb63ec45bbbdb3105ed8ae148452e4989f0910e6ea857ad6beb4f879429ef521d649153c435210aa4edcf9509941460c10a2b9c26173dfb862e8f4ef", "SHA3-512 16 bytes" }, 1929 { &g_abRandom72KB[0], 17, "9cdd116f054627a52a1b323c42d168855520291d91a3dc7fe52ea3d4119d44e7a650b6a27e9041d37057e51a48c183ec0c653d21d5435c6d8cda6de300644b69", "SHA3-512 17 bytes" }, 1930 { &g_abRandom72KB[0], 18, "dc4be84a998b02b19c95d06486fbf02128742a3499adb8b720c4b63483c64ba96b11ac8769138561991f90211b7c0698691a852f949b843db968e481cce9a12a", "SHA3-512 18 bytes" }, 1931 { &g_abRandom72KB[0], 19, "8c156e9abe6337b23af7d82c15b7aef03118faa0b539f0eadef72ab0258f78e6708741d172c4185b420fa8a21b885c32ccdca1543eb9ec35d188b30254e0702e", "SHA3-512 19 bytes" }, 1932 { &g_abRandom72KB[0], 20, "b038a2cea0052814f2c29cf4815211d3d8f006a388c9c166ff20c9b214ffa264f68fde4842bbc773254f8dd4df10e98287cee82c85fdd170ac7ed2999cda0095", "SHA3-512 20 bytes" }, 1933 { &g_abRandom72KB[0], 21, "35ac6d2727b4af76144ac58cdb84f662d78855d76baf22411c75057ca31a86fc11e7c06248ef87661467d394428dfe75f5b88121b7e762920c3cf32a5ba0d6b1", "SHA3-512 21 bytes" }, 1934 { &g_abRandom72KB[0], 22, "7add7d739c6f31fe25b30367853f90c0fd9d7416c20ca2778e527b3d4b876b5676ea1610db6df508e1b6230c67c6e9f5eeb60de65b2f7cea85064eb7ab21771d", "SHA3-512 22 bytes" }, 1935 { &g_abRandom72KB[0], 23, "6dbf5a243571b4c3e03786a1978074d06fe78ba01ee73de50e165bcf461018f96c6eff1d69c44dadae3df2e1d406a207208c684cb04cd38e679bc883bf95e4d4", "SHA3-512 23 bytes" }, 1936 { &g_abRandom72KB[0], 24, "c2d88cd3da3db0883c01e622b40f93060ba176710e1f9988e94748a77a8c5c64cd461b4ad5190ac5a0a66294713d097478b0ea0f49da2f737d9208f4f844a509", "SHA3-512 24 bytes" }, 1937 { &g_abRandom72KB[0], 25, "3a7146eda5a22fdd53535da6706399c74ee9848cd2cd11944575270b994c7713c556d96b38c0b92b8592e8fb48fa79816cca982b56c673f7edc919d4f50b888a", "SHA3-512 25 bytes" }, 1938 { &g_abRandom72KB[0], 26, "23a48b562fa85ad25d08daa2c14bf47f1dab9edb5fca761586b3418c1672aa9297e5681c24822ec29a2e42c54a019d949c2464a52c3456aa5e435d452510730b", "SHA3-512 26 bytes" }, 1939 { &g_abRandom72KB[0], 27, "8aabb979e65d5c332cafb4ae5edb58437cbadeb13d8f7d985cc8dc0108060bca616add6c6be22eecf3059822a9f154471f690f3e1dfebce88c4c42533597ade9", "SHA3-512 27 bytes" }, 1940 { &g_abRandom72KB[0], 28, "0e3bcaae03e672848cb3bbad4f21cae7043a0a0c51c6f6bb0870b9e33f7f8fde86200212d0e5f25a2c5eed1cfcafc76f477a395b712b55071a139ff7726d6815", "SHA3-512 28 bytes" }, 1941 { &g_abRandom72KB[0], 29, "fb5a3094c42e4917388edd335c8c32eb8f1e2f5789329b89a9775ca84cd43f8f4187d8ab334bad952f21e426dca97a9f577a13d21cdbfb92cfb2a53d99c0c530", "SHA3-512 29 bytes" }, 1942 { &g_abRandom72KB[0], 30, "0be32867a3a919e9a2ba2ce700f801e7531e35c38897ca99c915b2796d215817ccdc64efe4a8aeee354ec0c68c1dfb6cdf27922d5340e89d86dc096df3c68dc9", "SHA3-512 30 bytes" }, 1943 { &g_abRandom72KB[0], 31, "33b0b014160167c2e1b893275f6c053156471cabfc20c13456302053aa8d96ba517db68322dabe41d3b990cffb6ed9ec7dc2a9365b92c94094fdc0e4376e4c80", "SHA3-512 31 bytes" }, 1944 { &g_abRandom72KB[0], 32, "0b532c07abc6739767601ddb0798b22bd0c7687a14ccd79bfaaf94276bd9d158c589d99ce845b218fc044ba3aba3f402f21aeec67d1b71fdd962df481701d89e", "SHA3-512 32 bytes" }, 1945 { &g_abRandom72KB[0], 33, "4e4babce8b0e0163388fcd1d3c81375949e9ff42c3ae97452b6c54875a8c5bbd684536991ee68fcc0422c3d892c3fd49ac1ec8938e416db3eac69f3c038709dd", "SHA3-512 33 bytes" }, 1946 { &g_abRandom72KB[0], 34, "bc67eb2b32f4cafbb395cef79781069cca2f15384896f9bce8b82af43073c6446675878c1c8b7bb2a5fbadd5e8296d3f35c02b9135ed4313454ecad603d1d8c8", "SHA3-512 34 bytes" }, 1947 { &g_abRandom72KB[0], 35, "2fb234bcebd0589cdf5cf30fa8d593d21e9734428f166d1c4dcd44c938f70ebbbe7f9d8f7089edfb3925c0d1c45c1b0db1244e2de97646282236f5e8cb517504", "SHA3-512 35 bytes" }, 1948 { &g_abRandom72KB[0], 36, "0d5069bfed5f8c77cff581cbb340239624a55d34123d138e110fe783d648190da2c3a4b2cd5e72d98223670a4435bfd8005b9305d6526fda164a5a7dc115cf8b", "SHA3-512 36 bytes" }, 1949 { &g_abRandom72KB[0], 37, "2c14f8534e40a03e8b4882c2751f818d2a4ff5862d0489c8111ce002f507ed215fa7efaa68293f5b50e8bf73c665bfb8a257a18f82b14809abc6cb03c4190547", "SHA3-512 37 bytes" }, 1950 { &g_abRandom72KB[0], 38, "0351c1c8507264c7a63bf148e7fa7d475f147c148ac9926ad6fd00f92815fc0d0cff79b2a57246757af6de325b186115c0152f89605edc9ed3fb8e74b0bf3c5a", "SHA3-512 38 bytes" }, 1951 { &g_abRandom72KB[0], 39, "2c25e88aad094ca1c65e8b4f4cafd03719a2af9e470e540f454297c245a7d1dc4aa6ddd8daad23ea682d520fc25368f8c58eefe2a977a0856b2fbe69bcfc6802", "SHA3-512 39 bytes" }, 1952 { &g_abRandom72KB[0], 40, "94e315fd9972515fcb737a4aa3131ec6c329d628f5845401d12b34f0b47d767b57aa5e1e1321324d301a18f0a678b9619819548e87d5f5eb7043505ffaa9ea56", "SHA3-512 40 bytes" }, 1953 { &g_abRandom72KB[0], 41, "d3d7fe9f5cab99b9b3d6dae377e6467eb8330ac54248e281a44c2c42877de5e2b63a2c3923d0d2760bbf27837e0646df797f9687cd4a9a7a99047be9681bec13", "SHA3-512 41 bytes" }, 1954 { &g_abRandom72KB[0], 42, "0fb6d3488f202dfa56e37f20269d17e84556c9cb9f28d2c7c5e66ff64f4557d17ca5f67874a97c0f73fdb71698cfa576eeeffc8cee7b499ea1335257102dc5ac", "SHA3-512 42 bytes" }, 1955 { &g_abRandom72KB[0], 43, "6dd66ccbb5c5e95f92d6e55b4bd159a96045d39a87c2c8e3db42abbf01cfe36e92b326aab17d42441a5717da4518884669d0f43d43453dba7a744167cda8f41e", "SHA3-512 43 bytes" }, 1956 { &g_abRandom72KB[0], 44, "afdb2b1b74767e6b26b96d174a89fe5efb3205c3aaceb6e067631a4e5834a067d9d74248556e32661ee50fc7aaaf49482a33a6fba3a24e19a7977c14af092643", "SHA3-512 44 bytes" }, 1957 { &g_abRandom72KB[0], 45, "d68f05c24ec746168af39ea279987643189c239f981173691f462296b682b320bccadc463fc4829668736ba007e47118cbf35b4d957d1758d5a1d3b0b5e3f6aa", "SHA3-512 45 bytes" }, 1958 { &g_abRandom72KB[0], 46, "03651133ed68ee78daae564e84d6749ceb7ebfed83b1db48dd19e37447f3efa0e2e18d844a3ca017c47fbf027460f9a8f37d6014ffdf6aac48f030ba1abc23f3", "SHA3-512 46 bytes" }, 1959 { &g_abRandom72KB[0], 47, "5629f7274311cd562e91ef70dbfdec9f09911ab9808407bb66cb4da61520dbc33f1a4aa1c4e8697e8c78b69d99eccfe1ed85e84420e1c7da492392959a5f3f2b", "SHA3-512 47 bytes" }, 1960 { &g_abRandom72KB[0], 48, "12e3c5cef70c5a6dabc95eee03b892787872f6d32e0d9371d89fced570b4e40d97ee6eb143eb109425ed56f6ee213b86de1ab2a028999fac519c77c3f26b3276", "SHA3-512 48 bytes" }, 1961 { &g_abRandom72KB[0], 49, "7e3941a41eadd11873df6e587275e9023626a3f5f21feac2691c7ffedf3be953bf8e72640d812ff3c286c0c59b1d635af071eceecf40a2501183dd32982e60da", "SHA3-512 49 bytes" }, 1962 { &g_abRandom72KB[0], 50, "e22da00a967377bdef1a65449c30df64847af91aabe4cb9b847066bc2453f8b3feb20614440b1718253ff8121ae0e385dc29c07b096dbb6a9c128660cf2d201d", "SHA3-512 50 bytes" }, 1963 { &g_abRandom72KB[0], 51, "915467a10f3e111ac7c7fde607aba3c9147be30d36516b43d4486344ba459eb20b9aca443b2d0173a0cf2230e9045589369fefab7d6d053048208508ea86ed5b", "SHA3-512 51 bytes" }, 1964 { &g_abRandom72KB[0], 52, "e6f45a0d9346e02b21e4ddef0ec776c65dea326af0b763dffc31eac2449506d723b1425e9b675463c63d4cd8c28533b76d50fbda2a431f8de6de62c1faf98352", "SHA3-512 52 bytes" }, 1965 { &g_abRandom72KB[0], 53, "bf1e3f13b1f26ce8fbb8dc38d4f061765f90845e2fc0527f0f010fd71925a0bef2e31e96b9b2c379a27089c5dad504da161741556c6a6570a0303e71146beb2e", "SHA3-512 53 bytes" }, 1966 { &g_abRandom72KB[0], 54, "5c57863608bc36390c697b82f30ee2c8f2d6f65d024b46b7c74f21203cf720e1a58e1bc8c42e203db4458e323ac3208ee6892ef106f5e2ec04cf89c5a6d04c93", "SHA3-512 54 bytes" }, 1967 { &g_abRandom72KB[0], 55, "65c1543ab3f5354882aa55050bd55f7e9d317e405352dc7ded30ae3dfd92f9b3191ccf0e616c963d4e5ebb45a5de5c880345d890fe3fa5f0695efb749e2b64f0", "SHA3-512 55 bytes" }, 1968 { &g_abRandom72KB[0], 56, "19c31282083102e9ccb901d617d7f676c10e10d93e718732bd0de93a42417cc7b9d30c3c59ff5ae1b39fe3ceff46d4a38be6f8276435c3183a4e2d6f4d062a15", "SHA3-512 56 bytes" }, 1969 { &g_abRandom72KB[0], 57, "9d1cfb089e112b391c20a649827f4e33be7ef24f902f7d7a9e51523df2f77ec80ef29364ac34f74199ff1ab96d276cf1d4f9d39e755221c14f993d1f84b3e5ad", "SHA3-512 57 bytes" }, 1970 { &g_abRandom72KB[0], 58, "2905d9b5f8e24bbee15b576084842ed5d81570369a4fca15f1a588e093d84949edf374e2b25bd845482f93f8d03e92f52d8179c4ac356fbf12bc0591cb8a6217", "SHA3-512 58 bytes" }, 1971 { &g_abRandom72KB[0], 59, "30bbd30b7b90c8c2ef65310a4d0ae0918c8e8f4c3b116305cf5960e5baa2c7d98e763d18993784e277ce6d51345046724626291c76b0293139074c31ad3f60bf", "SHA3-512 59 bytes" }, 1972 { &g_abRandom72KB[0], 60, "50f508336ec07572733d1e725218916d1ecd578891d49ae514e0de3d6175b50c4f5556d8b93cda8743cf37acaf69ff278e2944913d05bd9a13ee959d2616279e", "SHA3-512 60 bytes" }, 1973 { &g_abRandom72KB[0], 61, "e9d0c5b876151523c3cb2364d6c4788f37bfcfde0196c68b626418035929ff6c2a4c470d1d04b47d445b23144a529fc78f4cbc77aa4d04a0ee4b6aa2a699166f", "SHA3-512 61 bytes" }, 1974 { &g_abRandom72KB[0], 62, "b7e3fc3d74d63179b8832383c202e35b2f701e5457729652f7eff37bedc5df0f94548765d0b16d95d0b37c3cac1ecfdba5ca8cbabf2a72bbcb2f3313782976b6", "SHA3-512 62 bytes" }, 1975 { &g_abRandom72KB[0], 63, "0b47cb66418e1c6d41389c2191eadee2376db5db7808a6e2e3245ed7820652da63361c2e65c3801fefa81bcf580477a91b11d2377dfb0c3e5b5f08e49d46cc40", "SHA3-512 63 bytes" }, 1976 { &g_abRandom72KB[0], 64, "cf6365be34524c4bff524832f2d909e442428c90294f71bc6b7b38f26d53e215bfef34b89530e9ab0089c589dde9938bc97d43f9d429aabfee3af95ae1b4cfb3", "SHA3-512 64 bytes" }, 1977 { &g_abRandom72KB[0], 65, "3e4722b8bc5b8e4ed1e10896949cb29fbf6985eec29b4d9e6e4b0c9411996a3c34e9fe5a08bd7c962736d38bdb5aa65d432bc1e35d2f5a66709e9b0cb8cf786b", "SHA3-512 65 bytes" }, 1978 { &g_abRandom72KB[0], 66, "73520db68703a4704ec6a521d5e5aeff2d5dc26963e8ba64db5d2c890ae5cb20a206e4c887659af80436ba592c7451b24c9739ff444831692a89fbbc5663c410", "SHA3-512 66 bytes" }, 1979 { &g_abRandom72KB[0], 67, "83a6eb52acddffb2a4b01e65eb300811bacddc8d0b303cd103ddad85431cc7731b19dfa65404e0012a6776ed904831a273d2a530c181f66e6f1591c10d293916", "SHA3-512 67 bytes" }, 1980 { &g_abRandom72KB[0], 68, "9931cccc3c7e7ef3713b5fdc3c03fadf9c95ca94d03ea36da20d060df7af0e1c1ce985d147547052b2410d582d21552d864a7869f7b25eecccdbd6c044a5112b", "SHA3-512 68 bytes" }, 1981 { &g_abRandom72KB[0], 69, "492d08d8a38c0fa5524979765335585189c113a922481a468e782b2dad23d24415881a2998f46373f1c163cd1ca8a5db6856520e61b1dae443bb2fe95e54e189", "SHA3-512 69 bytes" }, 1982 { &g_abRandom72KB[0], 70, "2b16f2c83901434ca4bb10565b8370e408a7766e7df26ad7c7b6c304bb299654e8e5cc3c4c8fa4a7039f94762dc24f1dfbec782d590780042f5afc6c807da93b", "SHA3-512 70 bytes" }, 1983 { &g_abRandom72KB[0], 71, "923e4055b04dccc21ec30f1234fbd5ca4a917f2a38218119ebf14d664207b31ff706d1979f32e81fb0f9fdbaca8e7f10c255e107bc3f14bf353d9f09d1820ad3", "SHA3-512 71 bytes" }, 1984 { &g_abRandom72KB[0], 72, "4721edf451ffb8c7f367b9c5aef47d32932ae03e497786adcc51fba635148d2e4a9a2ef779700eca36273ac33c7f66ed5ad59090601b4d98f27958b90b195074", "SHA3-512 72 bytes" }, 1985 { &g_abRandom72KB[0], 73, "bb21eb1d4887ea6ed89f1cad785c88dab259567bc3988d85ad1a6cc0bd906d41862f7bc748176e691a79eefa2c679978bbcf7463e1dae772432985e01b713b31", "SHA3-512 73 bytes" }, 1986 { &g_abRandom72KB[0], 74, "9dcdd22af755313131b64b72408bea54b4aca212d2ea7f62763c60f21860bf68bdad60fb80e31dea30a291ec74e8e98db27886b96dee09c0f3a2c555de283cc9", "SHA3-512 74 bytes" }, 1987 { &g_abRandom72KB[0], 75, "73aff791c665b8af2606fb23418cce72cf6093179d7025fc29ea3592122dd9a27fdf85c1179241c28b9b945a5597ba17600342c8025e212b1ff95e571e3fdb63", "SHA3-512 75 bytes" }, 1988 { &g_abRandom72KB[0], 76, "6b81bb06ecd0c10c7ecbb20c303941cc04c2ab56294b1dc22ad0bc0c9dd039ef31aebb10fe9bb13499991bd5742a4887fa220b2e74d91af40998649b24470821", "SHA3-512 76 bytes" }, 1989 { &g_abRandom72KB[0], 77, "8cfacb727fd2ece3601ea7da001ab1c62dd6412c78a79b6960927d90a4daafefca7ceb1f025d05d7fef11ce36402c73c6d41a1fe917ccda47a119f8816a58d6b", "SHA3-512 77 bytes" }, 1990 { &g_abRandom72KB[0], 78, "1f02f1c2eecb7cc1247e09efcc528a151170caa7b45e426dac0c7f7d57201b078c0b2bc461a2585575b0f704e2c048ddc3db19ddf48df7811e6bdccd0d3e5f8b", "SHA3-512 78 bytes" }, 1991 { &g_abRandom72KB[0], 79, "e1a4f3f7d00c2a4b18ccf13ab5fb4ff073db381f6d31e8b82a3d476608e9e4685f0df71e4c59cc44557caae72f32591d5aa49829ad2c2a868c819f71240619a4", "SHA3-512 79 bytes" }, 1992 { &g_abRandom72KB[0], 80, "bc865da84d88fddd29e45b9bbddaded9e9011fb2e5277b3be1bb09b70d90d66e7ea1c57360b8d9defc40538e960adb356308efde38d22ab5eb74db91325c7bb1", "SHA3-512 80 bytes" }, 1993 { &g_abRandom72KB[0], 81, "a505111a146ad2713f6aa57a67a3e73c8f458ed5d943e1f081a9ecc484ab1da2f0157143bfe0e9a0a402e5514d165c76ef2879a772823c5f841805f09840116b", "SHA3-512 81 bytes" }, 1994 { &g_abRandom72KB[0], 82, "409131dd1171d05d96e2013a80ef9d44ffe39b39bb4b630f73d43fa9e0da4b9719add8cacf14406e00e5a14bb181ca7e45ee0264d81e5977dc5a0ede25c5a6c1", "SHA3-512 82 bytes" }, 1995 { &g_abRandom72KB[0], 83, "2930270075ecfdb960ba6696e7c158f56142fc969ffa1b77e89e36a1694b26aec687a12f865cc5c1ea75a0f318d8e7180715848d77d24959d0b428cd50b8db10", "SHA3-512 83 bytes" }, 1996 { &g_abRandom72KB[0], 84, "6a271f6d548c3ea27cdeca450e665c7370617f5309f629c18d1756b26d5546b18dde3af83ef79c1aafa70b0574f4d3b32e6d5d8fae359b810f37a6ed41013990", "SHA3-512 84 bytes" }, 1997 { &g_abRandom72KB[0], 85, "0484e9ddd706b1c13f595824f63ff24df87e61aeb029da69046118f269b247a682ec0106d774e1708c1c6f810bb10be8f6844b10f1f82e03ddcd8634aa72e693", "SHA3-512 85 bytes" }, 1998 { &g_abRandom72KB[0], 86, "414e13451dcc5cd997d384e7fcef8a6b0cb95a5eb75748a97529c424104bf4810fb7618150cff96940e41e1480c47be67d331450d8393760ec07302a674f7fed", "SHA3-512 86 bytes" }, 1999 { &g_abRandom72KB[0], 87, "a7653579f7740919644a229ff3e812be4d52afa49035800e42969d3fcf16f915c1cef0664ea59edbba8643aa84a96040bd2659992733c6c78877b5212164718b", "SHA3-512 87 bytes" }, 2000 { &g_abRandom72KB[0], 88, "f13ed79fe8185f13f3eab7f47ef5f17d1368c86c558ec76f4653c10db4d4eacac6a1adab465d8f8170e37fb1038d34c4238330f2878087116b0011e812e5f13f", "SHA3-512 88 bytes" }, 2001 { &g_abRandom72KB[0], 89, "477f9fd5978cc2b56793dfeedf2001a24c8813c052bc391bfa0991378bddea4d50953083309d5fef8b150a06f2869200858fb0b045d88e94cadb569b74eb4ade", "SHA3-512 89 bytes" }, 2002 { &g_abRandom72KB[0], 90, "c41eff28b115c8121b76cfd9d8410d292e9d8a7e1cfc954334e32ebd1fa1166f0f425e21ff4d5898ef824ce6617ca0509e7515d23e64cc2f4e88e376cf25c8cd", "SHA3-512 90 bytes" }, 2003 { &g_abRandom72KB[0], 91, "710cb43ac749bf771d9c86a4f10c2a137ada8e1ccf18df635149c769954c7dabcfbc37c650fb5e568169f34d5bd4790457d4f8550bb8f0bf2f54a74e1473cdcd", "SHA3-512 91 bytes" }, 2004 { &g_abRandom72KB[0], 92, "32aab1bdeb8d90becf600790aca16f4e7255923ad78e95e1733d3b4b11f51eb7198dedd4368c15647e5748fed5e0d9ada2af098b0b3a7b22fb3075ee48e4dfab", "SHA3-512 92 bytes" }, 2005 { &g_abRandom72KB[0], 93, "cf97dc9c3f51a0ffa92379d33e123e0a2e1849b0107d69ed346d5ff841d7bb39c289ff7f8941200e0a23bb636180eeb9b04942bbf344d877f5306e498fc6ec73", "SHA3-512 93 bytes" }, 2006 { &g_abRandom72KB[0], 94, "3b3dfebb00a8731103b54ce0e04903ab020c857dadd08642e8757c44afaab4b7d94cab2ccb9787f2a874004677d22780cf41c12df1fa0fe1752bdf672261327f", "SHA3-512 94 bytes" }, 2007 { &g_abRandom72KB[0], 95, "12c68fec6ee5748c31e16138a6a2fe6ca84ba55b52abb17b91b1ad40e735a5fe486fcc9033fcd5e306d0da7a1382cb375950de6f05956f7f98465c34f55ea921", "SHA3-512 95 bytes" }, 2008 { &g_abRandom72KB[0], 96, "0729b797cb8bb28274bd83258ccd5fb70ae3b50fff1a02137f8620ed7ed97807094e9735415b9288847eb0652d76bc2225f8c933016ae3e7a6c59283b67427b4", "SHA3-512 96 bytes" }, 2009 { &g_abRandom72KB[0], 97, "e553596d7464f147e7b728eb4cfd176fe68b6a01d1e5c9d436f3ba4f35fc5183dfc40af52cb22682b9e388bda9f5ccacbf3d28fb2751f1840bee01e84c336baf", "SHA3-512 97 bytes" }, 2010 { &g_abRandom72KB[0], 98, "5ff10285538450aac83075504612f99a97ef7d3b3d271af80d089fcb6cf0ba65d3b8627659dce567434f011241dd956fdaa603d3a6a95b183bc21a9e541c5c0b", "SHA3-512 98 bytes" }, 2011 { &g_abRandom72KB[0], 99, "8264ce198a9cf2c0df56ac0e66c4d28f43a538c77b54080a0d623226c360878a7bae213e1e05aad4933e1ec8f50646f3f1abfe2d26b97e879463ec20b1ec7398", "SHA3-512 99 bytes" }, 2012 { &g_abRandom72KB[0], 100, "ec1b9a77eef08fa9f30bfda857a404cea4ad382bef4d6c4468c6561e057396697f1a8d8f1981f369186c0d5302d7ba94dd21bef988934f4cce624e3727880c1d", "SHA3-512 100 bytes" }, 2013 { &g_abRandom72KB[0], 101, "52500498571ed5ff4d274c593017bf958676ce0bd9ad4dc512a79615fa753a9a74f753e29eb230b810b544bb27f6d978f10b10ece4ca20483f0648dc55ef5dec", "SHA3-512 101 bytes" }, 2014 { &g_abRandom72KB[0], 102, "b7e7a4fc48e5ee13a5fb6cb3d6369f16e73499ed689e843db5ef0f4113f5934ec88bbc1d88f644fc940eabe563962ddd253458fe353dd94b84fc0b68f79351cf", "SHA3-512 102 bytes" }, 2015 { &g_abRandom72KB[0], 103, "a36bdca11677f6d00c41480cedb84a61f50badfe139d8e3a614ab4a6dda92b814f4448cc8449fafc48b643eb650acef6a66ae4e1e8c9931e64120f2fca8df3fb", "SHA3-512 103 bytes" }, 2016 { &g_abRandom72KB[0], 104, "a251f1502eea3fd43aae904ee1aff0b710221bb21b934b1e2c8a2cabe865dcc34a1a35e81fd123c62bf007486332e6b33a15b621e94264f056d2388f7f37bd5b", "SHA3-512 104 bytes" }, 2017 { &g_abRandom72KB[0], 105, "ee284dac8cc77a76e2c5da4c51d50e536bd76ce532b2e879904a5dcdb53b8f19da80953728724af49a434d4f55ee22efca95fb64efa6d40b3ef7f2ab9e4e2f2b", "SHA3-512 105 bytes" }, 2018 { &g_abRandom72KB[0], 106, "91e36f3c8dc599d36ba96815b9f7aff30657f9a30554d4b3badf7d664b3f0364d934eb633fa314e71eb9d453ccac4f66b9497fbc329b1ed6a48b416a10e84673", "SHA3-512 106 bytes" }, 2019 { &g_abRandom72KB[0], 107, "2762a46b22f6259e864bb03324d313460e0daa74219787e0596fafc6fef8bb7f723d8375cf5a3097e6ac377c4b13588e978483c21240af30226b6cba043eca53", "SHA3-512 107 bytes" }, 2020 { &g_abRandom72KB[0], 108, "5971c80376d85e61caf25336b9af83aa90e5ae9facee9a36a5a89a889aaf589bf1e03aeb16d6cbfb167d61981b27f40731803385077ec9f427e2e16146afaa11", "SHA3-512 108 bytes" }, 2021 { &g_abRandom72KB[0], 109, "c40906c8ed4101ba4da184eecb09ac96b9196becd39922f859c5fe898aaed15c940c2a662fb5aea1efaa3ec8301a4baa3b44fa37281a06f5480836efc26f0ba8", "SHA3-512 109 bytes" }, 2022 { &g_abRandom72KB[0], 110, "29536834295248ddbbe1c366cb4e391eb0574ebf36fb0e3cbafd285de6d2568944b89a8108b644b48b60bd6e5e766d6472767654c3c36e373341fd5efe8baddb", "SHA3-512 110 bytes" }, 2023 { &g_abRandom72KB[0], 111, "7a6f98d03200f77661686b6d69d5bb48a37c618dff07c0e25fda73a1fb08c1f04312c33971878de46acbb338e4a20dfd09acf1b1133206af57732123f36c3f0a", "SHA3-512 111 bytes" }, 2024 { &g_abRandom72KB[0], 112, "6d46c8fe0f7645029f9a4af5d8a7a0abb2fddfbb1afc5235966df4d26cc4301d26cbf09bef044f264cf80a67a52861e9ddfe88b4a7f3224812750ffacf927449", "SHA3-512 112 bytes" }, 2025 { &g_abRandom72KB[0], 113, "654c3d3b664da1a419443566e8e58be49c1c8d55137a32bdc1e67ca93ce0dca5058c46e4f1c7be260790ee2c58cd9710e1ff0a3b3ff0faccbf66f7e3279830e9", "SHA3-512 113 bytes" }, 2026 { &g_abRandom72KB[0], 114, "232d3a6bb57a2dbf2b287698e7446876b68be7934afb7701553f2eec05b999aaf895d993d6643b1b90ac646698f1fa8b4a8a2c9aca209feee4bcf3ea865b94fe", "SHA3-512 114 bytes" }, 2027 { &g_abRandom72KB[0], 115, "2d8ef7d8cfbf11c02064a1c34df41eb7ae652f076d9608639ad4aaa6949c86819a3752e509ec55d2291561ad5bcbf149b01bf497dd5bf0dbcdfc237536e8f567", "SHA3-512 115 bytes" }, 2028 { &g_abRandom72KB[0], 116, "b1f8dc3aa2f6222c8cef637be1e3c27c6f718cc7747776f5adea6d9e73e8c0f522a7bacefa0dc40c75be982de3ac525eaf5d23d5fc1db5e61d33646211fab42f", "SHA3-512 116 bytes" }, 2029 { &g_abRandom72KB[0], 117, "9d942fb3a3b4b16b42125e5680384541d840729796eb24b2132eea8e4614fe1483191ef33543fe5438d66c2ebd3fbf3baee2886e3665e2e7bbdb3d744fb98a45", "SHA3-512 117 bytes" }, 2030 { &g_abRandom72KB[0], 118, "c9768aa0cc49ec005b17e3977055eb78e979404b5138209adc45a7c293bfd52dfbf442320b2f955fd90b360741be7e1c94f5ed844ac09caf1fa089bc6182ba47", "SHA3-512 118 bytes" }, 2031 { &g_abRandom72KB[0], 119, "29dfb602406ff7c35d6980a31c9c9e4cedb070cdd8fd19427b10daeb7509dce0f52123ddbb4a57f970ed346f338c59af917b8f90d32b3927bf4a2a10efabc647", "SHA3-512 119 bytes" }, 2032 { &g_abRandom72KB[0], 120, "b299a46e17c12dd35d49374c11f91e47d1f8b804c7aaeedf1fb2b84f77fc6247f7203bca813f812a6d062e505db43d03cdfc633fa23b6101dee42856c0485b8c", "SHA3-512 120 bytes" }, 2033 { &g_abRandom72KB[0], 121, "3459aad57f27f2689728b828a8e4eccc991af2e87b2db7b0743d432ecb24c13ddcb2d6bedd09a1c0ae1b178222c0695802e0c14461a123e49fb8ce79d1e2a601", "SHA3-512 121 bytes" }, 2034 { &g_abRandom72KB[0], 122, "2acd3bc4a351fa2c640bfcb73c4ee4c4f078e4621f5c424bfbbb3427b2396a5432ed2adca24bd21c0b9aa70d1d4ce847afe1f40e37c9bb75668994705dcd29ef", "SHA3-512 122 bytes" }, 2035 { &g_abRandom72KB[0], 123, "633166065ebba100f264090981783e223bed71325ca87a609de02b8e23226fee55a6a389a1978df01eaa5cd497ffb3c6d72f6e60033f217fd0cfd6c6ceba468c", "SHA3-512 123 bytes" }, 2036 { &g_abRandom72KB[0], 124, "976c3f3a52a2a13b1437aaad29230f6a64b66caf3fb450c8dea915bb5d3cc9fafc5ba1297cfef6dca1211fa77a737026adc1426cfe84f6bce8cfc071859208a3", "SHA3-512 124 bytes" }, 2037 { &g_abRandom72KB[0], 125, "cc68da46995cc0becdf21d1a6777efef4734ca81f5f079b5de2a394b18c0068e36af49e12ea6e916e954520b72edb15beff51b6b2cad64270099d020758ab05a", "SHA3-512 125 bytes" }, 2038 { &g_abRandom72KB[0], 126, "1c504c2b97f8b1351b32b70836d52d6991188b48b1e714cda5b44ddb51f16d12d644a9703078dff59164acb2b1d5e8d9fe74057e1e54a38e23933c37bb873f63", "SHA3-512 126 bytes" }, 2039 { &g_abRandom72KB[0], 127, "73534fffcd2647f7657cbbfd7b1487e260d79aa6d54cfde74c9cfb042618d20405fb43a2adb2acabf707ee676fd9b2f94d6173fab57b3b4e99e12f34a3396564", "SHA3-512 127 bytes" }, 2040 { &g_abRandom72KB[0], 128, "7fba8d3e8e2bba64fce80aef2010fec041129e2ad559ccc5064544e1bf95a6c51d9dad5c27d4deabc2e103672fdfbe2df25ebffc3b4b4c0c94c7e9320237d97f", "SHA3-512 128 bytes" }, 2041 { &g_abRandom72KB[0], 129, "2f65d51640daf193d089e61afd4fe5094765b75ca6c6d212fd5b18001154b421cb8dab0932aef69b85407fa1efdb0d0dcc638e7e9c2268ac8a5e453984544261", "SHA3-512 129 bytes" }, 2042 { &g_abRandom72KB[0], 1024, "951e0f318804de414f479be226b733e65ca3a686a5c53afbfb7894fa6278bea1d92f9fa5273f542fd892cdae5dae115c5ac62898da49a7f12433cd0462b6df54", "SHA3-512 1024 bytes" }, 2043 { &g_abRandom72KB[0], 73001, "f1275b4fcf0650888f60fee8b1557e5406eafe166d6a7771a4f3b865a5e051edfdc534de29e0773c9cd418c40cf6c9bff18c06a68f0f02d3a2e7caf3c3353f4d", "SHA3-512 73001 bytes" }, 2044 { &g_abRandom72KB[0], 73728, "031700e2323b8d5b7d87eb2e00714ecd0aa9408de3b4ea3328040292f23ff0aa4e29b0b9c3125516e80e522ef228551e2481bd8c0560c12be148306f5379595e", "SHA3-512 73728 bytes" }, 2045 { &g_abRandom72KB[0x20c9], 9991, "c570fa09ebc4157ae9836d09a3c6b41bd1ef028f76c2a72e1a10b6b09deb67bc484c436b51c1338a245ef244be13cd6efc034a66f70c685c49f400830806ebc8", "SHA3-512 8393 bytes @9991" }, 2046 }; 2047 testGeneric("2.16.840.1.101.3.4.2.10", s_abTests, RT_ELEMENTS(s_abTests), "SHA3-512", RTDIGESTTYPE_SHA3_512, VINF_SUCCESS); 2048 } 2049 1459 2050 int main() 1460 2051 { … … 1479 2070 testSha512t256(); 1480 2071 #endif 2072 testSha3_224(); 2073 testSha3_256(); 2074 testSha3_384(); 2075 testSha3_512(); 1481 2076 1482 2077 return RTTestSummaryAndDestroy(hTest); -
trunk/src/VBox/Runtime/testcase/tstRTDigest.cpp
r82968 r85614 198 198 { 199 199 pszDigestType = "SHA-512/256"; 200 enmDigestType = RTDIGESTTYPE_SHA512T256; 201 } 200 enmDigestType = RTDIGESTTYPE_SHA3_256; 201 } 202 else if (!RTStrICmp(ValueUnion.psz, "sha3-224")) 203 { 204 pszDigestType = "SHA3-224"; 205 enmDigestType = RTDIGESTTYPE_SHA3_224; 206 } 207 else if (!RTStrICmp(ValueUnion.psz, "sha3-256")) 208 { 209 pszDigestType = "SHA3-256"; 210 enmDigestType = RTDIGESTTYPE_SHA3_256; 211 } 212 else if (!RTStrICmp(ValueUnion.psz, "sha3-384")) 213 { 214 pszDigestType = "SHA3-384"; 215 enmDigestType = RTDIGESTTYPE_SHA3_384; 216 } 217 else if (!RTStrICmp(ValueUnion.psz, "sha3-512")) 218 { 219 pszDigestType = "SHA3-512"; 220 enmDigestType = RTDIGESTTYPE_SHA3_512; 221 } 222 #if 0 223 else if (!RTStrICmp(ValueUnion.psz, "shake128")) 224 { 225 pszDigestType = "SHAKE128"; 226 enmDigestType = RTDIGESTTYPE_SHAKE128; 227 } 228 else if (!RTStrICmp(ValueUnion.psz, "shake256")) 229 { 230 pszDigestType = "SHAKE256"; 231 enmDigestType = RTDIGESTTYPE_SHAKE256; 232 } 233 #endif 202 234 else 203 235 { … … 236 268 237 269 case 'h': 238 RTPrintf("usage: tstRTDigest -t <digest-type> [-o <offset>] [-l <length>] [-x] file [file2 [..]]\n"); 270 RTPrintf("usage: tstRTDigest -t <digest-type> [-o <offset>] [-l <length>] [-m method] [-x] file [file2 [..]]\n" 271 "\n" 272 "Options:\n" 273 " -t,--type <hash-algo>\n" 274 " -o,--offset <file-offset>\n" 275 " -l,--length <byte-count>\n" 276 " -m,--method <full|block|file|cvas>\n" 277 " block: Init+Update+Finalize, data from file(s). Default.\n" 278 " file: RTSha*DigestFromFile. Only SHA1 and SHA256.\n" 279 " cvas: NIST test vectors processed by RTCrDigest*.\n" 280 " full: Not implemented\n" 281 " -x,--testcase\n" 282 " For generating C code.\n" 283 ); 239 284 return 1; 240 285 … … 414 459 } 415 460 461 case RTDIGESTTYPE_SHA3_224: 462 { 463 RTSHA3T224CONTEXT Ctx; 464 RTSha3t224Init(&Ctx); 465 for (;;) 466 { 467 rc = MyReadFile(hFile, abBuf, sizeof(abBuf), &cbRead, &cbMaxLeft); 468 if (RT_FAILURE(rc) || !cbRead) 469 break; 470 RTSha3t224Update(&Ctx, abBuf, cbRead); 471 } 472 uint8_t abDigest[RTSHA3_224_HASH_SIZE]; 473 RTSha3t224Final(&Ctx, abDigest); 474 RTSha3t224ToString(abDigest, pszDigest, sizeof(abBuf)); 475 break; 476 } 477 478 case RTDIGESTTYPE_SHA3_256: 479 { 480 RTSHA3T256CONTEXT Ctx; 481 RTSha3t256Init(&Ctx); 482 for (;;) 483 { 484 rc = MyReadFile(hFile, abBuf, sizeof(abBuf), &cbRead, &cbMaxLeft); 485 if (RT_FAILURE(rc) || !cbRead) 486 break; 487 RTSha3t256Update(&Ctx, abBuf, cbRead); 488 } 489 uint8_t abDigest[RTSHA3_256_HASH_SIZE]; 490 RTSha3t256Final(&Ctx, abDigest); 491 RTSha3t256ToString(abDigest, pszDigest, sizeof(abBuf)); 492 break; 493 } 494 495 case RTDIGESTTYPE_SHA3_384: 496 { 497 RTSHA3T384CONTEXT Ctx; 498 RTSha3t384Init(&Ctx); 499 for (;;) 500 { 501 rc = MyReadFile(hFile, abBuf, sizeof(abBuf), &cbRead, &cbMaxLeft); 502 if (RT_FAILURE(rc) || !cbRead) 503 break; 504 RTSha3t384Update(&Ctx, abBuf, cbRead); 505 } 506 uint8_t abDigest[RTSHA3_384_HASH_SIZE]; 507 RTSha3t384Final(&Ctx, abDigest); 508 RTSha3t384ToString(abDigest, pszDigest, sizeof(abBuf)); 509 break; 510 } 511 512 case RTDIGESTTYPE_SHA3_512: 513 { 514 RTSHA3T512CONTEXT Ctx; 515 RTSha3t512Init(&Ctx); 516 for (;;) 517 { 518 rc = MyReadFile(hFile, abBuf, sizeof(abBuf), &cbRead, &cbMaxLeft); 519 if (RT_FAILURE(rc) || !cbRead) 520 break; 521 RTSha3t512Update(&Ctx, abBuf, cbRead); 522 } 523 uint8_t abDigest[RTSHA3_512_HASH_SIZE]; 524 RTSha3t512Final(&Ctx, abDigest); 525 RTSha3t512ToString(abDigest, pszDigest, sizeof(abBuf)); 526 break; 527 } 528 529 /** @todo SHAKE128 and SHAKE256 */ 530 416 531 default: 417 return Error("Internal error #1 \n");532 return Error("Internal error #1: %d %s\n", enmDigestType, pszDigest); 418 533 } 419 534 RTFileClose(hFile); … … 454 569 rc = RTStrmOpen(ValueUnion.psz, "r", &pFile); 455 570 if (RT_FAILURE(rc)) 456 return Error("Failed to open CVAS file '%s': %Rrc ", ValueUnion.psz, rc);571 return Error("Failed to open CVAS file '%s': %Rrc\n", ValueUnion.psz, rc); 457 572 458 573 /*
Note:
See TracChangeset
for help on using the changeset viewer.