不可逆加密算法有哪些
❶ 常用的加密算法有哪些
对称密钥加密
对称密钥加密 Symmetric Key Algorithm 又称为对称加密、私钥加密、共享密钥加密:这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单的相互推算的密钥,对称加密的速度一般都很快。
分组密码
DES、3DES
AES
ECC
数字签名
分组密码 Block Cipher 又称为“分块加密”或“块加密”,将明文分成多个等长的模块,使用确定的算法和对称密钥对每组分别加密解密。这也就意味着分组密码的一个优点在于可以实现同步加密,因为各分组间可以相对独立。
与此相对应的是流密码:利用密钥由密钥流发生器产生密钥流,对明文串进行加密。与分组密码的不同之处在于加密输出的结果不仅与单独明文相关,而是与一组明文相关。
数据加密标准 DES Data Encryption Standard 是由IBM在美国国家安全局NSA授权下研制的一种使用56位密钥的分组密码算法,并于1977年被美国国家标准局NBS公布成为美国商用加密标准。但是因为DES固定的密钥长度,渐渐不再符合在开放式网络中的安全要求,已经于1998年被移出商用加密标准,被更安全的AES标准替代。
DES使用的Feistel Network网络属于对称的密码结构,对信息的加密和解密的过程极为相似或趋同,使得相应的编码量和线路传输的要求也减半。
DES是块加密算法,将消息分成64位,即16个十六进制数为一组进行加密,加密后返回相同大小的密码块,这样,从数学上来说,64位0或1组合,就有2^64种可能排列。DES密钥的长度同样为64位,但在加密算法中,每逢第8位,相应位会被用于奇偶校验而被算法丢弃,所以DES的密钥强度实为56位。
3DES Triple DES,使用不同Key重复三次DES加密,加密强度更高,当然速度也就相应的降低。
高级加密标准 AES Advanced Encryption Standard 为新一代数据加密标准,速度快,安全级别高。由美国国家标准技术研究所NIST选取Rijndael于2000年成为新一代的数据加密标准。
AES的区块长度固定为128位,密钥长度可以是128位、192位或256位。AES算法基于Substitution Permutation Network代换置列网络,将明文块和密钥块作为输入,并通过交错的若干轮代换"Substitution"和置换"Permutation"操作产生密文块。
AES加密过程是在一个4*4的字节矩阵(或称为体State)上运作,初始值为一个明文区块,其中一个元素大小就是明文区块中的一个Byte,加密时,基本上各轮加密循环均包含这四个步骤:
ECC即 Elliptic Curve Cryptography 椭圆曲线密码学,是基于椭圆曲线数学建立公开密钥加密的算法。ECC的主要优势是在提供相当的安全等级情况下,密钥长度更小。
ECC的原理是根据有限域上的椭圆曲线上的点群中的离散对数问题ECDLP,而ECDLP是比因式分解问题更难的问题,是指数级的难度。而ECDLP定义为:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。
数字签名 Digital Signature 又称公钥数字签名是一种用来确保数字消息或文档真实性的数学方案。一个有效的数字签名需要给接收者充足的理由来信任消息的可靠来源,而发送者也无法否认这个签名,并且这个消息在传输过程中确保没有发生变动。
数字签名的原理在于利用公钥加密技术,签名者将消息用私钥加密,然后公布公钥,验证者就使用这个公钥将加密信息解密并对比消息。一般而言,会使用消息的散列值来作为签名对象。
❷ 简单介绍一些不可逆的加密算法
md5加密,sha1加密,都是不可逆的
❸ 请问SHA1加密算法也是不可逆的吗
^是的,同抄MD5一样都是不可逆的加密算法。
安全性的碰撞对比:
MD5为2^64,sha1为2^60。这么你可能不理解,通俗的讲就是每2^64个样本中能找到两个MD5相同的值,sha1类似。但这只是理论,从实际样本取样的情况,要比这个值小很多。
现在的MD5和sha1加密都用暴力破解,就算拿不到你的原始串,也是很容易被取出来的。
❹ 不可逆加密算法的应用
不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。
❺ 关于加密算法加密后不可逆的疑惑
只要是不太差的加密,都是不可逆的。
加密的主要手段有混淆与信息丢失。
前者加入大量的可能性组合,后者则丢弃了原加密的某一些内容,来掩饰加密算法。
要知道的是不可逆加密,不是为了获取原文,而是为了验证。
举个最简单的不可逆加密:
对于加密前的字符串,可以选取一方法数字化,假如数字化为8位。
ABCDEFGH 是个8位数,然后通过加密算法,让它乘上N次方,取最后8位,再减掉M,就得出一个数字。
然后在由生成随机8个数字,按预设的方法这8位数里插入,即可生成一个16位的加密字符串。
将16位字符,按一定的码表(如果按a→z,也容易猜测,这里也是一层加密,即混序码表)进行替换成字母。
如第一位按字母表进行替换,第2位,按第一位开始接下去计算的位数字母替换,就能保证用到26个字母。
即可生成16位加密后的字母密码。
而且加密后的字符是不能还原回去的。
甚至可以是更多的数字,按照预设的方式混乱加密后的字符,进行干扰。
输入16位密码解密时,先去除预设的8位干扰码,逆向换算后,得出字符,进行比较即可。
此加密方法较为简单,只是一个思路。
❻ 加密算法有几种
比较常见的就是以下六种
DES加密算法
AES加密算法
RSA加密算法
Base64加密算法
MD5加密算法
SHA1加密算法