小迪安全学习笔记---加密算法

不可逆加密算法

常见的不可逆加密算法

MD5,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、SHA-384,和SHA-512统称为SHA2加密算法。
SHA加密算法的安全性要比MD5更高,而SHA2加密算法比SHA1的要高。其中SHA后面的数字表示的是加密后的字符串长度,SHA1默认会产生一个160位的信息摘要。
由于这些加密都是不可逆的,因此比较常用的场景就是用户密码加密,其验证过程就是通过比较两个加密后的字符串是否一样来确认身份的

MD5算法介绍

简介
md5的全称是md5信息摘要算法(英文:MD5 Message-Digest Algorithm ),一种被广泛使用的密码散列函数,可以产生一个128位(16字节,1字节8位)的散列值(常见的是用32位的16进制表示,比如:0caa3b23b8da53f9e4e041d95dc8fa2c),用于确保信息传输的完整一致。MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。
MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域。

加密过程
md5将整个文件当做一个大文本信息,通过不可逆的字符串变换算法,产生一个唯一的MD5信息摘要。文件的md5类似于人的指纹,在世界上是独立无二的,如果任何人对文件做了任何改动,其md5的值也就是对应的“数字指纹”都会发生变化。

在线加密工具使用
在这里插入图片描述
使用CMD5进行解密

在这里插入图片描述网上可以破解MD5密码的网站,其原理也是一样,就是有一个巨大的资源库,存放了许多字符串及对应的MD5加密后的字符串,通过你输入的MD5加密串来进行比较,如果过你的密码复杂度比较低,还是有很大机率验证。

特点
1、压缩性:无论数据长度是多少,计算出来的MD5值长度相同。
2、容易计算性:由原数据容易计算出MD5值。
3、抗修改性:即便修改一个字节,计算出来的MD5值也会巨大差异。
4、抗碰撞性:知道数据和MD5值,很小概率找到相同MD5值相同的原数据。

SHA 系列算法介绍

简介
SHA (Security Hash Algorithm) 是美国的 NIST 和 NSA 设计的一种标准的 Hash 算法,SHA 用于数字签名的标准算法的 DSS 中,也是安全性很高的一种 Hash 算法。

SHA-1
SHA-1 算法的输入消息长度小于 264bit,最终输出的结果值是 160 Bits,SHA-1 与 MD4 相比较而言,主要增加了扩展变换,将前一轮的输出也加到了下一轮,这样增加了雪崩效应,而且由于其 160 Bits 的输出,对穷举攻击更具有抵抗性。
大致实现过程:将消息摘要转换成位字符串,对转换后的位字符串进行补位操作,附加长度值并且初始化缓存,然后计算消息摘要。

SHA-256
SHA-256 算法输入报文的最大长度不超过 264 Bits,输入按 512 Bits 分组进行处理,产生的输出是一个 256 Bits 的报文摘要。

算法处理步骤

  • 附加填充位
    对报文进行填充使报文长度与 448 模 512 同余(长度 = 448 mod 512), 填充的比特数范围是 1 到 512,填充比特串的最高位为 1,其余位为 0。 就是先在报文后面加一个 1,再加很多个 0,直到长度满足 mod 512=448。为什么是 448?因为 448+64=512。第二步会加上一个 64 位的原始报文的长度信息。

  • 附加长度值
    将用 64 位表示的初始报文(填充前)的位长度附加在步骤 1 的结果后(低位字节优先)。

  • 初始化缓存
    使用一个 256 位的缓存来存放该散列函数的中间及最终结果。它可以表示为 8 个 32 位的寄存器(A, B, C, D, E, F, G, H)

  • 处理 512 位报文分组序列
    该算法使用了六种基本逻辑函数,由 64 步迭代运算组成。每步都以 256 位缓存值 ABCDEFGH 为输入,然后更新缓存内容。每步使用一个 32 位常数值 Kt 和一个 32 位 Wt。

  • 结果输出
    所有的 512 位分组处理完毕后,对于 SHA-256 算法最后一个分组产生的输出便是 256 位的报文摘要。

在线加密算法使用
在这里插入图片描述

可逆加密算法

可逆加密算法分为对称式和非对称式,

对称式:DES,3DES,AES系列
非对称式:RSA,ECC椭圆曲线加密相关算法

AES
是一种安全的加密方式,加密时需要加密模式,密码,偏移量,数据块,填充,输出成base64或hex。密文中常常出现“/”“+”,用base64解密出来是乱码,有很大可能是AES加密。逐渐替代MD5,常见于注重安全的大型网站、安全比赛。

AES 加密的轮函数操作
在这里插入图片描述

DES
DES算法和DESSede算法统称DES系列算法,是对称加密算法领域的经典加密算法。DESSede(又称3DES)使用三次迭代增加算法安全性。DES算法是众多对称加密算法的基础,很多算法都是基于该算法演变而来。
密文中常常出现“/”“+”,与base64的密文相似。
DES的算法是采用分组加密工作模式,流程比较复杂

大致流程如下
1.将要加密的数据进行分组,56位为一组;
2.以组为单位进行加密处理,这个时候对每块的加密操作就有了不同的工作模式;
3.最后一块儿不足56位,则需要填充到56位或者不填充,这就是填充模式;

其他基本概念

名称介绍
时间戳时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。数据库记录时间相关的内容时常用
URL统一资源定位系统(URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。
Unescape“%u”加四位数字,对应两位字符,常见于Web应用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值