clear

rsa_n       BDFC081546365DC807963ED1B16223ACACE8882EAA13EA74FF6C904E73BD2DFD194B5B44DA74456B662323E0F3F145479FFD2D331E018D81FEC9C0999CA4F58D16784A09540D8A23DA6E6BAB436D9EF5EE63BAB4DAEEC333633616C1D3EB999D305AC518D43EDCE388D1AB4DC470D2F338FE8218082C582757B094979B073853CA5F9692D38D5401458A6976111CF2DB9D5ED886E56025EBEC87E2128CD2247711CB0F471983F8EEEAF041CBE486B9200ECD8507FB970C4B3B401641D66D47A4EB2BCFF959970F325B8F16E4A508EF5258C59C43011AE4800998CFEB03D7761275A7983F5DEF1A4AC4A347853A1911220AF08A6DF30E956153C225DACC407565

plain       11
hash        sha512_hash$plain )

signature   A2F9F0D6C360EB58117824657541C3386F464227ECDA72F56D0A34371213604B6ACA57C57F0AE803F456F0E112ACB65BFA0C4C715DB433832A26E71F3D934015CDC5EBD5706B430BBE0873492CA76985D0C7645B45728538416BB99A9A791575DBDB70F331F20BB391B9A36C9CF03AA62C370D189BC0243665D80C41B663532EE1839179C8568D8B3646D395CE2719E37A53039DBC60178DBFBB6DA86E79571CC2FEEAB986484CC24D2291BE92C80089B72A80D531510509FAF0376DAFC5C810680AFE4344DE45CD7393129CDCF711903A23474BE5B594A93DA30E1D7FB31314753B35E2B95F5578450DFB6683CBEF13E60D90F0C52C60B307359C8D363414AE

x           new_rsa_pss_sha512_pub_verify0800010001$rsa_n$signature$hash0002 )
if $x != 00
    
?
    
pause
endif

x           new_rsa_gencrthex2048 ), 010001 )
len         hex2048 / 16 )
n           hmid$xhex0x$len * 0 ), hex0x$len * 2 ) )
d           hmid$xhex0x$len * 2 ), hex0x$len * 2 ) )
p           hmid$xhex0x$len * 4 ), hex0x$len * 1 ) )
q           hmid$xhex0x$len * 5 ), hex0x$len * 1 ) )
dp          hmid$xhex0x$len * 6 ), hex0x$len * 1 ) )
dq          hmid$xhex0x$len * 7 ), hex0x$len * 1 ) )
qinv        hmid$xhex0x$len * 8 ), hex0x$len * 1 ) )

plain       random8 )
saltlen     08

e           010001

hash        sha1_hash$plain )
a           new_rsa_pss_sha1_crt_sign0800$p$q$dp$dq$qinv$hash$saltlen )
k           new_rsa_pss_sha1_pub_verify0800$e$n$a$hash$saltlen )
if $k != 00
    
?
    
pause
endif
b           new_rsa_pss_sha1_std_sign0800$n$d$hash$saltlen )
k           new_rsa_pss_sha1_pub_verify0800$e$n$b$hash$saltlen )
if $k != 00
    
?
    
pause
endif

hash        sha224_hash$plain )
a           new_rsa_pss_sha224_crt_sign0800$p$q$dp$dq$qinv$hash$saltlen )
k           new_rsa_pss_sha224_pub_verify0800$e$n$a$hash$saltlen )
if $k != 00
    
?
    
pause
endif
b           new_rsa_pss_sha224_std_sign0800$n$d$hash$saltlen )
k           new_rsa_pss_sha224_pub_verify0800$e$n$b$hash$saltlen )
if $k != 00
    
?
    
pause
endif

hash        sha256_hash$plain )
a           new_rsa_pss_sha256_crt_sign0800$p$q$dp$dq$qinv$hash$saltlen )
k           new_rsa_pss_sha256_pub_verify0800$e$n$a$hash$saltlen )
if $k != 00
    
?
    
pause
endif
b           new_rsa_pss_sha256_std_sign0800$n$d$hash$saltlen )
k           new_rsa_pss_sha256_pub_verify0800$e$n$b$hash$saltlen )
if $k != 00
    
?
    
pause
endif

hash        sha384_hash$plain )
a           new_rsa_pss_sha384_crt_sign0800$p$q$dp$dq$qinv$hash$saltlen )
k           new_rsa_pss_sha384_pub_verify0800$e$n$a$hash$saltlen )
if $k != 00
    
?
    
pause
endif
b           new_rsa_pss_sha384_std_sign0800$n$d$hash$saltlen )
k           new_rsa_pss_sha384_pub_verify0800$e$n$b$hash$saltlen )
if $k != 00
    
?
    
pause
endif

hash        sha512_hash$plain )
a           new_rsa_pss_sha512_crt_sign0800$p$q$dp$dq$qinv$hash$saltlen )
k           new_rsa_pss_sha512_pub_verify0800$e$n$a$hash$saltlen )
if $k != 00
    
?
    
pause
endif
b           new_rsa_pss_sha512_std_sign0800$n$d$hash$saltlen )
k           new_rsa_pss_sha512_pub_verify0800$e$n$b$hash$saltlen )
if $k != 00
    
?
    
pause
endif