简述RSA体制密钥的生成及其加密、解密算法。
1个回答
推荐于2017-11-25
展开全部
RSA体制密钥的生成:
1. 选择两个大素数,p 和q 。
2. 计算: n = p * q (p,q分别为两个互异的大素数,p,q 必须保密,一般要求p,q为安全素数,n的长度大于512bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数 (n)=(p-1)(q-1)。
3. 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。
4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
加密、解密算法:
1. 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。
2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )
3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。
1. 选择两个大素数,p 和q 。
2. 计算: n = p * q (p,q分别为两个互异的大素数,p,q 必须保密,一般要求p,q为安全素数,n的长度大于512bit ,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数 (n)=(p-1)(q-1)。
3. 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。
4. 最后,利用Euclid 算法计算解密密钥d, 满足de≡1(mod φ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
加密、解密算法:
1. 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。
2. 对应的密文是:ci ≡mi^e ( mod n ) ( a )
3. 解密时作如下计算:mi ≡ci^d ( mod n ) ( b ) RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。
亚远景信息科技
2024-12-11 广告
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,...
点击进入详情页
本回答由亚远景信息科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询