初级密码学以及HASH函数介绍总结

所以的加密方法都不是绝对安全的,只是计算安全或相对安全

DES算法详解请参考上一篇
3EDS加密算法

由于密钥太短(2的56次方),DES被破解的可能性非常大,于是产生了3DES的算法。3DES即三重DES
,也称为三重加密算法,3DES使用了48轮运算,这使得它对于差分密码分析有很强的抵御能力。但是
因为其执行的额外操作过多,这使得严重影响到性能,用于加密时间为DES的三倍。

下面是它衍生的加密操作

3DES可以在不同模式下运行,选择的模式决定它所使用的密钥的数量和执行的能力,如下:
1.DES-EEE3:使用3个不同的密钥进行加密,数据被加密、加密、再加密;
2.DES-EDE3:使用三个不同的密钥进行加密,数据被加密、解密(当然是解密不出来的,相当于
再次加密)、再加密;
3.DES-EEE2:只使用两个密钥,加密、加密、再加密,第一个和第三个加密过程使用相同的密钥;
4.DES-EDE2:只使用两个密钥,加密,解密,再加密,第一个和第三个加密过程使用相同的密钥;

3DES的密钥大小为112和168位,增加了它的密钥长度,提高安全性

AES加密算法

AES属于密码学中的高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。
分组大小和密钥大小都可以为128、192或156位。然后AES标准只要求分组大小为128位。因此,只有
分组长度为128位的Rijndael才称为AES算法。

这个标准用来代替原先的DES,已经被多方分析且广为全世界所用。经过五年的甄选流程,高级加密标
准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26
日成为有效的标准。2006年,高级加密标准已然成为对称加密中最为流行的算法之一。

由于密钥的大小不同,AES加入运算的轮次数也不相同;

密钥长度轮数
12810轮
192位12轮
256位14轮

非线性变换:不能预测下一个数

SM4

国产加密法,2006年我国颁布了SM4密码算法。这是我国第一次公布自己的商业密码算法。DES算法
、AES算法和国产的SM4算法的目的都是为了加密保护静态储存和传输信道中的数据。
国产SM4在计算过程中增加了非线性变换,理论上能大大提高其算法的安全性,并且由专业机构进行了			
密码分析,最后得出结论为安全性较高;

SM1

SM1de算法未公开,仅知密钥长度为128位,其加密强度与AES相当。调用该算法时,需要通过加密芯	
片的接口进行调用。
常用来做国内小额支付(如:电子钱包、门禁等)随身小件的加密

SM2—采用非对称加密
SM3—摘要算法
SM4—无线局域网标准算法
SM7—对称分组密码算法,128位用于门禁,ic卡等
SM9—标示密码算法

DES算法AES算法SM1算法SM4算法
计算基础2进制16进制未公开2进制
算法结构使用标准的算术和逻辑运算、先代替后置换,S盒非线性变换字节代换、行代换、列代换,S盒非线性变换未公开基本轮函数迭代、含非线性迭代
加解密算法是否相同未公开
计算轮数16轮(3DES为16*3)10轮(192为12轮、256为14轮)未公开32轮
分组长度64位128位128位、128位
密钥长度62位128位128位128位
有效密钥长度56位(3DES为112位)128位(192位、256位)未公开128位
实现难度易于实现易于实现未公开易于实现
实现性能软件实现慢、硬件实现快较高,解密比加密效率高未公开软件实现和硬件实现都快
安全性较低较高与AES相当算法较新,国内应用标配

公钥密码

在对称加密的过程中,通讯双方始终需要解决的一个问题就是密钥如何传递的问题,大部分情况下会
使用不安全信道建立密钥传输,消息传递所使用的通信链路是不安全的。同时,通信双方拥有密钥相同
则能力相同,缺少不可抵赖性。

公钥的作用

因此在公钥的加密算法中,被传递出去部分的公钥是不惧怕被窃取的,这部分公钥只具备一部分能力,
仅能进行加密或解密一项操作,用来加密后再传送回来是不能再用公钥解密的,必须用自己手上的私钥
进行解密。

公钥还有一种功能就是能鉴别发出者的身份,通过私钥加密文件发送出去,如果能使用公钥解密那说明
该文件是私钥持有者发出。

公钥的弊端

由于公钥密码难以解决的数学难题上,因此公钥密码的算法效率比对称密码的算法效率低很多(100-100
倍)。公钥算法家族常见的算法。
算法家族密码体系
整数分解RSA
离散对数DH、DSA、Elgamal
椭圆曲线ECDH、ECDSA

因为公钥的效率十分低,所以很少会用于对大量数据的加密,一般用于:对称密钥的加密,或者用于数字签名

RSA算法

RSA应用广泛,但在实际中却常用于数据小片段的加密。虽然RSA作为非对称算法基础,逐渐被ECC
取代,但大部分数字证书依然使用RSA加密;

所有非对称方案的一个显著特征就是,它们都有一个计算公钥和私钥的握手阶段,密钥生成依赖于公钥
方案,因此十分复杂RSA中对密钥生成的定义如下:

输出:公钥:K_pub=(p,e)和私钥:K_pr=(d)
	1.选择两大素数p和q
	2.计算n=p*q
	3.计算Φ(n)=(p-1)(q-1)
	4.选择满足以下条件的公开指数e`∈`{1,2...Φ(n)-1}
				gcd(e,Φ(n))=1
	5.计算满足以下条件的条件的私钥d
				d*e=1modΦ(n)

摘要算法(hash函数)

hash函数通常称为单向散列函数,理论上是不可逆的。hash函数通常用于构建数据的指纹,当数据发生变化时,指纹也会发生变化。hash函数在设计时有如下规则:
1.高效的,对几百兆的大文件也必须够快;
2.长度是固定的,与输入长度无关;
3.敏感度必须高,意味着小改变都必须要有大变化;

hash函数通常被用于保证传输数据文件的鉴别是否被篡改

hash函数理论上是不可逆的,但并非就是绝对安全。2004年8月中国密码学家王小云教
授等首次公布了提供一种寻找MD5碰撞的新方法。几分钟就可找到MD5的碰撞。因此
2008年以后的MD5逐渐被更为安全的SHA-256替代,而在国内则使用国密SM3代替。

MD5如果按十六进制表示的话是32位十六进制的数,SHA-1是40位十六进制的数。
你输入任意长度的字符串,都会返回给你相应固定长度的十六进制返回值。这两个函数的返回值都被称为信息摘要

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值