从今天开始连载.两年前我做过相关的准备.现在打算用C和java分别实现RSA算法.文章不定期更新.今天实现的是欧拉函数.
我先采用老师的优化算法b.如果是大数运算可以使用确定性算法.这个太费时间了.
计划就是
1.能够生成密钥.分为确定性算法和不确定算法
2.能够加密和解密
3.支持2048位(2进制)的大质数运算.
算法写出来更新下面部分.
公式是
Euler(n)=TT(pi-1)*pi^(ai-1) TT表示加氏积.i表示数字下标.
比如24=3*2^3 Euler(24)=(3-1)*3^(1-1)*(2-1)*2(3-1)=8
也就是1 5 7 9 11 13 17 19 23
Euler公式如果n=p*q且p、q都是质数则n=(p-1)*(q-1)如果是其中一个是合数就用上面的公式.
上面的公式包含下面的特例.
先实现基础算法.后实现大数运算.
写出来了贴出来.
(未完成)
阅读(1732) | 评论(0) | 转发(0) |