密码学相关概念

摘要算法html

摘要算法是一种能产生特殊输出格式的算法,这种算法的特色是:不管用户输入什么长度的原始数据,通过计算后输出的密文都是固定长度的,这种算法的原理是根据必定的运算规则对原数据进行某种形式的提取,这种提取就是摘要,被摘要的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便彻底不一样,所以,基于这种原理的算法便能对数据完整性提供较为健全的保障。可是,因为输出的密文是提取原数据通过处理的定长值,因此它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上没法经过反向运算取得原数据内容,所以它一般只能被用来作数据完整性验证。算法

现在经常使用的“消息摘要”算法经历了多年验证发展而保留下来的算法已经很少,这其中包括MD二、MD四、MD五、SHA、SHA-1/256/383/512等。安全

经常使用的摘要算法主要有MD5和SHA1。D5的输出结果为16字节,sha1的输出结果为20字节。网络

 

摘要算法(message digest algorithms)数据结构

数据摘要算法是密码学算法中很是重要的一个分支,它经过对全部数据提取指纹信息以实现数据签名、数据完整性校验等功能,因为其不可逆性,有时候会被用作敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法、散列算法。post

分类:加密

一、CRC八、CRC1六、CRC32url

二、MD2 、MD四、MD5(Message-Digest Algorithm 5)spa

三、SHA一、SHA25六、SHA38四、SHA512.net

四、RIPEMD、PANAMA、TIGER、ADLER32 等

 

最全加密算法之对称加密和非对称加密

 

对称加密与非对称加密

 

对称加密(Symmetric Cryptography)

对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥可以从解密密钥中推算出来,同时解密密钥也能够从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,因此也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通讯以前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人均可以对他们发送或接收的消息解密,因此密钥的保密性对通讯性相当重要

特色:

对称加密算法的特色是算法公开、计算量小、加密速度快、加密效率高。

具体算法:AES算法,DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法

非对称加密(Asymmetric Cryptography)

非对称加密为数据的加密与解密提供了一个很是安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则能够发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则须要另外一个密钥。好比,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不一样的是,银行不须要将私钥经过网络发送出去,所以安全性大大提升。

特色:

算法强度复杂、安全性依赖于算法与密钥可是因为其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,而且是非公开的,若是要解密就得让对方知道密钥。因此保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就能够不须要像对称密码那样传输对方的密钥了。这样安全性就大了不少。

主要算法:RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)

 

总结

(1) 对称加密加密与解密使用的是一样的密钥,因此速度快,但因为须要将密钥在网络传输,因此安全性不高。

(2) 非对称加密使用了一对密钥,公钥与私钥,因此安全性高,但加密与解密速度慢。

(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,而后发送出去,接收方使用私钥进行解密获得对称加密的密钥,而后双方可使用对称加密来进行沟通

 

分组加密的四种模式

AES加密算法的几种模式

对称加密又分为分组加密和序列密码
分组密码,也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按必定的位长分组,明文组通过加密运算获得密文组,密文组通过解密运算(加密运算的逆运算),还原成明文组。
序列密码,也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少许的密钥(制乱元素)经过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。

分组加密算法中,有ECB,CBC,CFB,OFB这几种算法模式

ECB:是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),而后单独一个个加密,一个个输出组成密文。CBC:是一种循环模式,前一个分组的密文和当前分组的明文异或操做后再加密,这样作的目的是加强破解难度。CFB/OFB其实是一种反馈模式,目的也是加强破解的难度。

相关文章
相关标签/搜索