非对称加密算法 RSA 与 ECC

本文介绍了RSA公钥密码系统的原理及其应用,并对比了RSA与更高效的椭圆曲线密码系统(ECC)。详细阐述了RSA的加密解密过程及数字签名验证流程,同时指出ECC在密钥长度和计算效率上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RSA 属于公钥密码系统,反向使用公钥密码系统便提供了数字签名的功能,RSA 的安全性较高,但是随之而来的计算量也较大(例如指数运算),且会随着规模的增加而增大。

RSA 初始化阶段需要找到两个大素数,p 和 q;其乘积 n = p * q 被称作模。n 的欧拉数为
ϕ(n)=(p1)(q1)ϕ(n)=(p−1)∗(q−1),根据数论的知识,欧拉数表示那些比 n 小且与 n 互质(最大公约数为 1 )的正整数的个数。

RSA 的公钥指数 e 一般选取容易计数的值,即比特位为 1 的位数少(65537=100000000000000012100000000000000012),其私钥指数则通过式 d=e1(modϕ(n))d=e−1(modϕ(n)) 计算获得。

RSA 公钥:公钥指数 e 与 模 n;
RSA 私钥:私钥指数 d 与 模 n;
加密:c = $m^e$ (mod n)
解密:m = $c^d$ (mod n)
注:m 为明文,c 为密文。

反向使用公钥算法如下:

签名:$ s = m^d (mod n)$
检验:$ m = s^e (mod n)$
注:m 为明文,s 为签名串。

因此需要一种更加高效的公钥密码系统,即椭圆曲线密码系统(Elliptic Curve Cryptography),在达到相同安全程度的前提下, ECC 所使用的密钥长度小于 RSA 的密钥长度,且 ECC 的计算过程更简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值