clear
rsa_n = BDFC081546365DC807963ED1B16223ACACE8882EAA13EA74FF6C904E73BD2DFD194B5B44DA74456B662323E0F3F145479FFD2D331E018D81FEC9C0999CA4F58D16784A09540D8A23DA6E6BAB436D9EF5EE63BAB4DAEEC333633616C1D3EB999D305AC518D43EDCE388D1AB4DC470D2F338FE8218082C582757B094979B073853CA5F9692D38D5401458A6976111CF2DB9D5ED886E56025EBEC87E2128CD2247711CB0F471983F8EEEAF041CBE486B9200ECD8507FB970C4B3B401641D66D47A4EB2BCFF959970F325B8F16E4A508EF5258C59C43011AE4800998CFEB03D7761275A7983F5DEF1A4AC4A347853A1911220AF08A6DF30E956153C225DACC407565
plain = 11
hash = sha512_hash( $plain )
signature = A2F9F0D6C360EB58117824657541C3386F464227ECDA72F56D0A34371213604B6ACA57C57F0AE803F456F0E112ACB65BFA0C4C715DB433832A26E71F3D934015CDC5EBD5706B430BBE0873492CA76985D0C7645B45728538416BB99A9A791575DBDB70F331F20BB391B9A36C9CF03AA62C370D189BC0243665D80C41B663532EE1839179C8568D8B3646D395CE2719E37A53039DBC60178DBFBB6DA86E79571CC2FEEAB986484CC24D2291BE92C80089B72A80D531510509FAF0376DAFC5C810680AFE4344DE45CD7393129CDCF711903A23474BE5B594A93DA30E1D7FB31314753B35E2B95F5578450DFB6683CBEF13E60D90F0C52C60B307359C8D363414AE
x = new_rsa_pss_sha512_pub_verify( 0800, 010001, $rsa_n, $signature, $hash, 0002 )
if $x != 00
?
pause
endif
x = new_rsa_gencrt( hex( 2048 ), 010001 )
len = hex( 2048 / 16 )
n = hmid( $x, hex( 0x$len * 0 ), hex( 0x$len * 2 ) )
d = hmid( $x, hex( 0x$len * 2 ), hex( 0x$len * 2 ) )
p = hmid( $x, hex( 0x$len * 4 ), hex( 0x$len * 1 ) )
q = hmid( $x, hex( 0x$len * 5 ), hex( 0x$len * 1 ) )
dp = hmid( $x, hex( 0x$len * 6 ), hex( 0x$len * 1 ) )
dq = hmid( $x, hex( 0x$len * 7 ), hex( 0x$len * 1 ) )
qinv = hmid( $x, hex( 0x$len * 8 ), hex( 0x$len * 1 ) )
plain = random( 8 )
saltlen = 08
e = 010001
hash = sha1_hash( $plain )
a = new_rsa_pss_sha1_crt_sign( 0800, $p, $q, $dp, $dq, $qinv, $hash, $saltlen )
k = new_rsa_pss_sha1_pub_verify( 0800, $e, $n, $a, $hash, $saltlen )
if $k != 00
?
pause
endif
b = new_rsa_pss_sha1_std_sign( 0800, $n, $d, $hash, $saltlen )
k = new_rsa_pss_sha1_pub_verify( 0800, $e, $n, $b, $hash, $saltlen )
if $k != 00
?
pause
endif
hash = sha224_hash( $plain )
a = new_rsa_pss_sha224_crt_sign( 0800, $p, $q, $dp, $dq, $qinv, $hash, $saltlen )
k = new_rsa_pss_sha224_pub_verify( 0800, $e, $n, $a, $hash, $saltlen )
if $k != 00
?
pause
endif
b = new_rsa_pss_sha224_std_sign( 0800, $n, $d, $hash, $saltlen )
k = new_rsa_pss_sha224_pub_verify( 0800, $e, $n, $b, $hash, $saltlen )
if $k != 00
?
pause
endif
hash = sha256_hash( $plain )
a = new_rsa_pss_sha256_crt_sign( 0800, $p, $q, $dp, $dq, $qinv, $hash, $saltlen )
k = new_rsa_pss_sha256_pub_verify( 0800, $e, $n, $a, $hash, $saltlen )
if $k != 00
?
pause
endif
b = new_rsa_pss_sha256_std_sign( 0800, $n, $d, $hash, $saltlen )
k = new_rsa_pss_sha256_pub_verify( 0800, $e, $n, $b, $hash, $saltlen )
if $k != 00
?
pause
endif
hash = sha384_hash( $plain )
a = new_rsa_pss_sha384_crt_sign( 0800, $p, $q, $dp, $dq, $qinv, $hash, $saltlen )
k = new_rsa_pss_sha384_pub_verify( 0800, $e, $n, $a, $hash, $saltlen )
if $k != 00
?
pause
endif
b = new_rsa_pss_sha384_std_sign( 0800, $n, $d, $hash, $saltlen )
k = new_rsa_pss_sha384_pub_verify( 0800, $e, $n, $b, $hash, $saltlen )
if $k != 00
?
pause
endif
hash = sha512_hash( $plain )
a = new_rsa_pss_sha512_crt_sign( 0800, $p, $q, $dp, $dq, $qinv, $hash, $saltlen )
k = new_rsa_pss_sha512_pub_verify( 0800, $e, $n, $a, $hash, $saltlen )
if $k != 00
?
pause
endif
b = new_rsa_pss_sha512_std_sign( 0800, $n, $d, $hash, $saltlen )
k = new_rsa_pss_sha512_pub_verify( 0800, $e, $n, $b, $hash, $saltlen )
if $k != 00
?
pause
endif