BASE
BASE 10, BASE 16 不用介绍。
其他三个:
- Used Base36 conversion table:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
- Used Base60 conversion table:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx
- Used Base64 conversion table:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
//////////////////////////////////////////////
msieve, with qs and gnfs factor core:
msieve v1.32:
3b9K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0G2L8#2)9J5k6h3&6W2N6q4)9J5c8W2)9%4c8h3A6S2M7$3!0F1M7q4)9J5c8Y4q4K6i4K6u0W2K9s2c8E0L8l9`.`.
Tested msieve v1.30:
CPU CM530, 1.73G, MEM 1G, DDRII-667
using msieve v1.30,
when 250+bits, time estimated,
every +10 bits, need +2 times,
every +40 bits, need +10 times,
every +120 bits, need +1000 times.
256 bits:
elapsed time 00:09:33
281 bits:
elapsed time 00:35:59
321 bits:
elapsed time 06:18:20
//////////////////////////////////////////////
Generate:
生成key pairs.生成的素数都是Blum数,即 P=3 mod 4
Test:
测试keypairs.包括RSA测试和Rabin测试。
Rev:
Reverse,翻转N。 Little endian <-> Big endian
比如:
12AB67 <-> 67AB12
Next 2 Primes:
计算大于N的2个依次的素数。结果存于P,Q当中。
next 2 prime功能很有意思,你可以找到你喜欢的p,q.
比如,你可以生成含200个连续0的p,q。
不过这样的P,Q用来做RSA加密就不太好了,有所好必有所患。
会被社会工程的。
比如你可以找到如下的素数:
N =
800000000000000000000000000000000000000000000000000000000000
P =
80000000000000000000000000000000000000000000000000000000001D
Q =
800000000000000000000000000000000000000000000000000000000083
(3) DLP功能
Generate:
生成key pairs.生成的素数P是Blum数,即 P=3 mod 4
Test:
测试keypairs.包括ELGAMAL加密、解密测试,和签名、验证测试。
New GX:
P不变,换一组G,X.
GXP-> Y:
输入 G,X,P,计算 Y = G^X mod P.
即离散幂数,POWMOD。
XYP-> G:
由Y = G^X mod P,计算出G.
G是Y的X次根模P,离散指数问题。
X=2,P为素数,可计算二次剩余的根。