常用的几种加密算法

 

HTTPS加密传输使用的加密和HASH算法

非对称加密算法:RSA,DSA/DSS

 

非对称加密: 加密和解密的密钥是不同的, 分为公钥和密钥。
私钥只有一份,保存在收信人手中, 不会在通信中传输, 不会被泄露。公钥可以有多份, 保存在写信人手中。
假设客户端A要与服务器B进行通信。A用公钥加密, B用私钥解密。
即使上述过程中公钥和通信内容都被截获, 由于没有服务器B的私钥, 第三方也无法解开通信内容。

对称加密算法:AES,RC4,3DES

 

加密和解密的密钥是相同的。
假设客户端A与服务器B进行通信。A和B用同一个密钥进行加密解密。
风险:密钥一旦被截获, 通信内容就能够被破解。

 

HASH算法:MD5,SHA1,SHA256
使用HASH算法校验内容是否被篡改。

RSA 是一种公钥密码算法(非对称加密)

加密算法:密文 = (明文^E) mod N,其中公钥为{E,N},即”求明文的E次方的对 N 的余数“
解密算法:明文 = (密文^D) mod N,其中秘钥为{D,N},即”求密文的D次方的对 N 的余数“
例:我们已知公钥为{5,323},私钥为{29,323},明文为300,请写出加密和解密的过程:

加密:密文 = 123 ^ 5 mod 323 = 225
解密:明文 = 225 ^ 29 mod 323 = [[(225 ^ 5) mod 323] * [(225 ^ 5) mod 323] * [(225 ^ 5) mod 323] * [(225 ^ 5) mod 323] * [(225 ^ 5) mod 323] * [(225 ^ 4) mod 323]] mod 323 = (4 * 4 * 4 * 4 * 4 * 290) mod 323 = 123

 

 

 

 

posted @   LeeJuly  阅读(3008)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示