RSA公钥密码算法和Diffie-Hellman密钥交换

简介: RSA公钥密码算法和Diffie-Hellman密钥交换

公钥加密算法的诞生


对称加密算法的弊端


需要保存额外的密钥,密钥的管理难


686ca555e4f84294b324f7dee7ed97d2.png


公钥的使用


b18e076d6a284a7bb7096f5f221d9dd9.png


需要找到一种算法,正向推解容易,反向求解困难:

模运算:求余运算--单向函数

a67b4f92491a4c8bbc17f7852e920d61.png

模运算原理推解


1937c9235e7d425083d01f3399ef7bec.png

求余算法不可逆,只可以通过正向求解算法得出指数x,对模运算求逆不现实


d49e1f547cbe4ccc9af48ae5b3ef7ca1.png

当mod的数足够的大,指数x基本上无法被推出(不现实)

06fb650de0a44c7dbd5fb245bc02d753.png


RSA公钥密码算法


RSA加解密

b27b2f57c355473eabfb617745191d8d.png

f8c94a7418884a75b411260629740a61.png

82a580d267e7485d8f1346ee096c46a3.png

42b8c1da30cd4f4da31ea378927972a6.png

7aab6e0835f743738bd59a3da3a0d91c.png

0e15ba88eb194462a425e1c88b144a84.png

k倍:表示 d 的取值也不唯一

质因数分解耗时长


649139adf70848768b146efa9d66eb69.png

公钥加密利用了信息不对等,根据p.q可以快速推出n函数,但是不知道p,q的窃听者无法求得n函数

8d7c755fcb8a4e80afb955c632159ad9.png

RSA加密例子


信息: 字符a  ascii = 97


f62f2432c4bf43cfb23609905bdce025.png


DH算法(DIffie-Hellman)密钥交换


image.png

DH算法核心-单向函数

481cfbc20b2f4e9db62c4aef5b55295b.png


DH算法简易论证

4b3e276c1d7142b2a598242e9a4c7e5a.png


DH算法推导


image.png

a9c3e12226af4546835f46d7b104093d.png

RSA和DH异同



a80e51b378604994bacfca3052e161f6.png

相关文章
|
16天前
|
存储 安全 算法
|
19天前
|
算法 安全 网络安全
非对称加密算法RSA
RSA是一种基于数论的非对称加密算法,依赖大整数质因数分解的困难性保证安全性。它生成公钥和私钥,公钥加密,私钥解密,适用于数据加密、数字签名和互联网安全等领域。尽管计算效率低、适合小量数据处理,但由于其兼容性、安全性和广泛应用于SSL/TLS、数字签名等,RSA仍是主流加密算法之一。
18 2
|
3月前
|
算法 安全 Java
Java 实现 RSA 非对称加密算法-加解密和签名验签
Java 实现 RSA 非对称加密算法-加解密和签名验签
101 0
|
4月前
|
算法 安全 Unix
[RFC6238] TOTP: 基于时间的一次性密码生成算法
[RFC6238] TOTP: 基于时间的一次性密码生成算法
66 0
|
4月前
|
算法 安全 数据安全/隐私保护
C/C++学习 -- RSA算法
C/C++学习 -- RSA算法
48 0
|
3月前
|
机器学习/深度学习 算法 安全
【加密算法】RSA非对称加密算法简介
【加密算法】RSA非对称加密算法简介
|
2月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
160 0
|
17天前
|
存储 算法 安全
|
24天前
|
存储 算法 安全
加密解密(RSA)非对称加密算法
加密解密(RSA)非对称加密算法
|
3月前
|
算法 数据安全/隐私保护
火山中文编程 -- RSA算法
火山中文编程 -- RSA算法
82 0