clear

sk_seed = random( 16 )
sk_prf  = random( 16 )
pk_seed = random( 16 )

rnd     = random( 16 )
m       = random( 32 )
ctx     = random( 32 )

// 生成密钥
x       = fips205_keygen_sha2__128f( $sk_seed, $sk_prf, $pk_seed )
if $x != 00
    
?
    
pause
endif

sk      = fips205_get_sk()
pk      = fips205_get_pk()

// 对明文签名
sig     = fips205_sign_sha2__128f( $m, $sk, $ctx, $rnd )

res     = fips205_verify_sha2__128f( $m, $sig, $pk, $ctx )
if $res != 00
    
?
    
pause
endif

// 对hash签名
h       = fips204_prehash_sha512( $m, $ctx )

sig     = fips205_sign_hash_sha2__128f( $h, $sk, $rnd )

res     = fips205_verify_hash_sha2__128f( $h, $sig, $pk )
if $res != 00
    
?
    
pause
endif