博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
加解密算法
阅读量:4313 次
发布时间:2019-06-06

本文共 1078 字,大约阅读时间需要 3 分钟。

加密算法分

对称加密(加密与解密密钥相同):加解密的过程是可逆的。算法主要有

  • DES:以 64 位为 分组对数据 加密,它的 密钥长度 是 56 位,加密解密 用 同一算法。DES 加密算法是对 密钥 进行保密,而 公开算法。
  • 3DES:是基于 DES 的 对称算法,对 一块数据 用 三个不同的密钥 进行 三次加密,强度更高。
  • AES :为了取代 DES 的,AES 具有更好的 安全性、效率 和 灵活性。密钥长度的最少支持为 128 位、 192 位、256 位,分组长度 128 位

非对称加密(加密密钥与解密密钥不同):它需要公钥和私钥。

  1. 如果使用 公钥 对数据 进行加密,只有用对应的 私钥 才能 进行解密。

  2. 如果使用 私钥 对数据 进行加密,只有用对应的 公钥 才能 进行解密。(数字签名)

    算法 主要有

  • RSA:是目前最有影响力的公钥加密算法,能同时用于 加密 和 数字签名 的算法,它能够 抵抗 到目前为止已知的 所有密码攻击。算法描述:
  1. 足够大的素数p,q。(对两个大素数的乘积进行因式分解极其困难
  2. 计算n=pq。
  3. 计算f(n)=(p-1)(q-1),同时对p, q严加保密,不让任何人知道。
  4. 找一个与f(n)互质的数e,且1<e<f(n)。
  5. 计算d,使得de≡1 mod f(n)。这个公式也可以表达为d ≡e-1 mod f(n)    注:≡是同余的符号
  6. 公钥KU=(e,n),私钥KR=(d,n)。
  7. 加密时,先将明文变换成0至n-1的一个整数M(如26个英文字母可以对应01-26)。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:C≡Me(mod n)
  8. 解密过程为:M≡Cd(mod n)。
  • DSA

散列:不需要密钥,加解密的过程不可逆。算法主要有

  • MD5:用的是哈希函数,对一段信息产生信息摘要,无论是多长的输入,MD5 都会输出长度为128bits的一个串
  • SHA1 :SHA1 比 MD5 的安全性更强。对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个 160 位的消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景。

  对称算法 非对称算法
密钥管理 难,不适合互联网,一般用于内部系统
安全性
加密速度 快好几个数量级,适合大数据量的加解密处理 比较慢,适合小数据量 加解密或数据签名

转载于:https://www.cnblogs.com/qionglouyuyu/p/11203453.html

你可能感兴趣的文章
注册用户
查看>>
TZC Intercommunication System
查看>>
HDU 4571 SPFA+DP
查看>>
centos 创建以日期为名的文件夹
查看>>
Java Timer触发定时器
查看>>
Page Object设计模式
查看>>
程序的基础知识
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
python爬虫---从零开始(五)pyQuery库
查看>>
POJ2236(KB5-A)
查看>>
Centos MySQL数据库迁移详细步骤
查看>>
2初出茅庐--初级篇2.1
查看>>
新建 WinCE7.0 下的 Silverlight 工程
查看>>
腾讯的张小龙是一个怎样的人?
查看>>
jxl写入excel实现数据导出功能
查看>>
linux文件目录类命令|--cp指令
查看>>
.net MVC 404错误解决方法
查看>>
linux系统目录结构
查看>>
git
查看>>
btn按钮之间事件相互调用
查看>>