RSA 算法

算法1.1 RSA密钥对生成

输入:安全参数l.

输出:RSA公钥(n,e)和私钥d.

1、随机选择两个素数p和q,p和q的长度同为l/2

2、计算n=pq和z=(p-1)(q-1)

3、任意选择整数e,e满足1<e<z,且gcd(e,z)=1

4、计算整数d,d满足1<d<z,且ed=1 (mod z).

5、返回(n,e,d)


算法1.2 基本RSA加密

输入:RSA公钥(n,e),明文m属于[0,n-1]

输出:密文c

1、计算c=m^e mod n

2、返回m

算法1.3 基本RSA解密

输入:RSA公钥(n,e),RSA私钥d,密文c

输出:明文m

1、计算m=c^d mod n

2、返回m


算法1.4 基本RSA签名生成

输入:RSA公钥(n,e),RSA私钥d,消息m.

输出:签名s.

1、计算h=H(m)

2、计算s=h^d mod n

3、返回s.

算法1.5 基本RSA签名验证

输入:RSA公钥(n,e),消息m,签名s.

输出:接受或拒接签名

1、计算h=H(m)

2、计算h'=s^e mod n.

3、若h=h',则返回‘接受签名’,否则返回‘不接受签名’

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看此文时,请当自己是在2014年, 终于到年末了,于是小整理了一下,来晒晒哈~ 今年买的书主要是日版了,大陆版和台...
    白楼孤魂阅读 1,120评论 0 53
  • “朋友问我暗恋是什么感觉,下意识的回答:好像在商店看到喜欢的玩具,想买,钱不够,努力存钱,回头去看的时候发现涨价了...
    okubyou阅读 172评论 0 0
  • 2017年1月24日,各大单位陆续都已经放假,我还在为一个机动车交通事故纠纷的理赔与各方交涉。 我代理的一起交通...
    d094d211d351阅读 135评论 0 0
  • 大家所熟知的精神.物质都是存在同一个世界的。那么有没有一种可能,我们的精神系统其实很庞大。当我们想要睡觉了,是因为...
    吧啦吧嗒阅读 288评论 0 1
  • 我上床的时候是晚上11点,窗户外面下着小雪。我缩到被子里面,拿起闹钟,发现闹钟停了,我忘买电池了。天这么冷,我不愿...
    灰色的格子阅读 486评论 0 1