RSA算法中密钥对可交换使用的证明

简介:

【前言】RSA算法研究中的一点随笔

RSA算法简述(类C风格描述):
    设P、Q为2个大素数;
    N=P*Q;
    T=(P-1)*(Q-1);
    找到某数E,使其满足E与T互素(E与T的公约数只有1);
    找到某数D,使其满足(E*D) % T == 1;
    则:(D、N)与(E、N)即为可互换的加密(解密)密钥对。

设加密明文为 M, 加密后的密文为C。下面过程假设(E、N)为加密用的公钥,(D、N)为解密用的私钥。
加密:C= (M的E次幂) % N;
解密:M= (C的E次幂) % N;

证明(D、N)与(E、N)即为可互换的加密(解密)密钥对:
如(D、N)与(E、N)可互换,需满足如下2个条件:

1、(D*E) % T == 1;
证明:((E*D) % T ) == ((D*E) % T);

2、需满足D也与T互素

证明:假证D与T不互素,则可描述:
    D==a1*X;(X>1)
    T==a2*X;(X>1)
由(D*E) % T == 1;    
==> (a1*X*E) % (a2*X) ==1;
==> a1*X*E == b*a2*X+1;
==> (a1*E-b*a2)*X==1;
==> X只能==1,且 a1*E-b*a2==1,如X==1,即反证失败。

证明完成





本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/663378,如需转载请自行联系原作者
目录
相关文章
|
5天前
|
算法 数据安全/隐私保护
对称密钥加密算法和公开密钥加密算法有什么区别
【4月更文挑战第19天】对称密钥和公开密钥加密算法各有特点:对称密钥加密速度快,适用于大量数据,但密钥管理困难;公开密钥加密安全性高,密钥管理方便,但速度慢,常用于数字签名和身份验证。两者在不同场景下有不同优势。
21 6
|
3月前
|
算法 安全 数据安全/隐私保护
DSA与RSA的区别、ECC(椭圆曲线数字签名算法(ECDSA))
DSA与RSA的区别、ECC(椭圆曲线数字签名算法(ECDSA))
160 0
|
7月前
|
算法 安全 API
RSA密码算法设计与实现
本实验带您掌握RSA加解密算法原理,实现RSA加解密过程。
119 0
|
10月前
|
机器学习/深度学习 算法 Python
RSA 加密算法主要公式
RSA 加密算法主要公式
91 0
|
自然语言处理 算法 安全
hash函数作用,哈希算法通常特点,公钥,私钥和数字签名
哈希算法主要用来防止计算机传输过程中的错误,早期计算机通过前7位数据第8位奇偶校验码来保障(12.5%的浪费效率低),对于一段数据或文件,通过哈希算法生成128bit或者256bit的哈希值,如果校验有问题要求重传。
279 0
|
算法 安全 数据安全/隐私保护
密码学系列之:blowfish对称密钥分组算法
密码学系列之:blowfish对称密钥分组算法
密码学系列之:blowfish对称密钥分组算法
|
算法 数据安全/隐私保护
密码学系列之:twofish对称密钥分组算法
密码学系列之:twofish对称密钥分组算法
密码学系列之:twofish对称密钥分组算法
|
C# 数据安全/隐私保护
RSA不限长度非对称加密解密C#
RSA 分段加解密【解决“不正确的长度”的异常】   RSA 是常用的非对称加密算法。最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致。   .NET Framework 中提供的 RSA 算法规定:   待加密的字节数不能超过密钥的长度值除以 8 再减去 11(即:RSACryptoServiceProvider.KeySize / 8 - 11),而加密后得到密文的字节数,正好是密钥的长度值除以 8(即:RSACryptoServiceProvider.KeySize / 8)。
1558 0
|
算法 网络安全 数据安全/隐私保护
【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )
【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )
174 0
【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )