bits    = 0800
mlen    = div($bits, 08)
prilen  = div($mlen, 02)
bytelen = div( $bits, 10 )
bytelen = hex2int( $bytelen)
for i = 0 to 128
    ? "软算法产生密钥对"
    sRsaKey             = new_rsa_gencrt($bits, 00010001)
    n[ int(0x$i) ]      = mid($sRsaKey, expr10( $bytelen * 0 ), int(0x$mlen))
    d[ int(0x$i) ]      = mid($sRsaKey, expr10( $bytelen * 2 ), int(0x$mlen))
    p[ int(0x$i) ]      = mid($sRsaKey, expr10( $bytelen * 4 ), int(0x$prilen))
    q[ int(0x$i) ]      = mid($sRsaKey, expr10( $bytelen * 5 ), int(0x$prilen))
    dp[ int(0x$i) ]     = mid($sRsaKey, expr10( $bytelen * 6 ), int(0x$prilen))
    dq[ int(0x$i) ]     = mid($sRsaKey, expr10( $bytelen * 7 ), int(0x$prilen))
    qinv[ int(0x$i) ]   = mid($sRsaKey, expr10( $bytelen * 8 ), int(0x$prilen))
    priKey[ int(0x$i) ] = $d[int(0x$i)] $p[int(0x$i)] $q[int(0x$i)] $dp[int(0x$i)] $dq[int(0x$i)] $qinv[int(0x$i)]
    ? "软算法验证正确性"
    srcdata             = hrandom($mlen)
    srcdata             = memand( $srcdata, 00, 7f )
    encdata             = new_rsa_pub_encrypt($bits, 00010001, $n[int(0x$i)], $srcdata)
    decdata1            = new_rsa_std_decrypt($bits, $n[int(0x$i)], $d[int(0x$i)], $encdata)
    if $decdata1 != $srcdata
        ?
        pause
    endif
    decdata2    = new_rsa_crt_decrypt($bits, $p[int(0x$i)], $q[int(0x$i)], $dp[int(0x$i)], $dq[int(0x$i)], $qinv[int(0x$i)], $encdata)
    if $decdata2 != $srcdata
        ?
        pause
    endif
next i