流加密算法
① 数据在网络上传输为什么要加密现在常用的数据加密算法主要有哪些
数据传输加密技术的目的是对传输中的数据流加密,通常有线路加密与端—端加密两种。线路加密侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。
端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。
数据存储加密技术的目的是防止在存储环节上的数据失密,数据存储加密技术可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。
常见加密算法
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 算法如下:
首先, 找出三个数,p,q,r,其中 p,q 是两个不相同的质数,r 是与 (p-1)(q-1) 互为质数的数。
p,q,r这三个数便是 private key。接着,找出 m,使得 rm == 1 mod (p-1)(q-1).....这个 m 一定存在,因为 r 与 (p-1)(q-1) 互质,用辗转相除法就可以得到了。再来,计算 n = pq.......m,n 这两个数便是 public key。
6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法。
8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
9、MD5:严格来说不算加密算法,只能说是摘要算法;
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
(1)流加密算法扩展阅读
数据加密标准
传统加密方法有两种,替换和置换。上面的例子采用的就是替换的方法:使用密钥将明文中的每一个字符转换为密文中的一个字符。而置换仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。
数据加密标准(Data Encryption Standard,简称DES)就采用了这种结合算法,它由IBM制定,并在1977年成为美国官方加密标准。
DES的工作原理为:将明文分割成许多64位大小的块,每个块用64位密钥进行加密,实际上,密钥由56位数据位和8位奇偶校验位组成,因此只有56个可能的密码而不是64个。
每块先用初始置换方法进行加密,再连续进行16次复杂的替换,最后再对其施用初始置换的逆。第i步的替换并不是直接利用原始的密钥K,而是由K与i计算出的密钥Ki。
DES具有这样的特性,其解密算法与加密算法相同,除了密钥Ki的施加顺序相反以外。
参考资料来源:网络-加密算法
参考资料来源:网络-数据加密
② RC4算法详细介绍
RC4加密算法是RSA三人组的开创者Ron Rivest在1987年推出的一种流加密算法,其特点是密钥长度可变,常见S-box长度为256字节,运行速度远超DES,约为其10倍。
算法原理
RC4分为初始化和伪随机子密码生成两部分。在初始化阶段,密钥通过扰动S-box的元素,i和j的协同作用确保了随机性。伪随机子密码生成过程中,通过循环和交换操作,得到不同的子密钥序列,这个序列会与明文进行XOR运算生成密文,解密时类似。
安全性挑战
然而,RC4的弱点在于子密钥序列可能出现重复。经过测试,部分弱密钥可能导致不到100万字节内序列重复,甚至在10万字节内部分重复,因此使用时需对加密密钥进行测试。2001年,以色列科学家发现RC4存在漏洞,特别在WEP无线网络中,通过分析加密数据,可以逆转加密过程,威胁网络安全。
影响与改进建议
专家指出,虽然并非所有使用RC4的软件都面临泄露风险,但其安全性不再如初,这促使人们重新审视无线通信网络的安全,考虑采用新型加密算法来替代。
③ RC4RC4加密算法
RC4加密算法,源自Ron Rivest于1987年设计的一种流加密算法。其独特之处在于,算法的核心S-box长度可变,通常设定为256字节。RC4算法的加密速度堪称高效,其性能大约是DES加密的十倍,且具有高度的非线性特性。最初,RC4主要用于保护商业机密信息。然而,在1994年9月,由于算法被公开发布在互联网上,其商业用途随之消失。尽管如此,RC4仍被称作ARC4(Alleged RC4),因为RSA公司从未正式发布过这个算法。
RC4算法的非线性特性使其在数据加密领域中具有重要地位。算法的加密过程主要分为初始化和加密两个阶段。初始化阶段,算法通过密钥和一个初始化向量对S-box进行初始化,从而为后续的加密过程做准备。在加密阶段,算法将明文按照一定规则与S-box中的值进行结合,产生密文。由于其非线性特性,使得密钥空间非常大,从而增加了破解算法的难度。
RC4算法的高效性和非线性特性使其在众多加密应用中大放异彩。例如,它被广泛用于网络协议的加密,如SSL/TLS协议,以及各种通信协议的加密,如WEP、WPA、WPA2等。在这些应用中,RC4算法提供了快速、安全的数据传输保障。
尽管RC4算法在初期因其高效性和非线性特性受到广泛欢迎,但随着时间的推移,其安全性问题逐渐浮现。在1994年,一名安全研究人员发现了RC4算法的一个弱点,即在加密初期,密钥流的某些部分可能呈现某种模式,这使得攻击者可以利用这种模式来破解密文。因此,尽管RC4算法在初期因其高效性和非线性特性而受到青睐,但后来由于其安全性问题逐渐被发现,其在实际应用中的使用受到了限制。然而,RC4算法在加密技术领域中的历史地位和贡献仍然不可忽视。
④ 什么是流加密
现代的文本加密主要还是对称加密。非对称加密太慢,而且也不适合对全文本加密,所以一般只是用在小数据加密上,比如加密文本对称加密密钥再传给对方。然后文本本身还是用对称加密。非对称加密还有一个用处就是核实发件人身份。
现代主要有两种对称加密,数据流加密和数据块加密。数据流加密就是用算法和密钥一起产生一个随机码流,再和数据流XOR一起产生加密后的数据流。解密方只要产生同样的随机码流就可以了。数据块加密把原数据分成固定大小的数据块(比如64位),加密器使用密钥对数据块进行处理。一般来说数据流加密更快,但块加密更安全一些。常见的加密法里,des和3des是使用最多的数据块加密,aes是更新一些的块加密法,rc4是数据流加密,等等。
二战以后,大家一般都放弃了保护加密算法的做法,因为太难了。而且数学上很强的算法就这么几种。所以现在都是公开算法。这些算法特性都不错,如果一个密钥长度不够强了,只要加长密钥长度就可以了。当然这种改变涉及改变加密硬软件,在使用中有些不便,不过一般认为算法本身还是够强不必改变。