搜狐首页 科技 非正常事件

手机搜狐

SOHU.COM

序列密码之RC4

RC4加密算法是大名鼎鼎的RSA三人组中的头号人物RonRivest在1987年设计的密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右。 RC4广泛应用在安全套接字层(SSL)(用来保护网络上传输的数据)和WEP(无线网络数据保护)上。

流密码可分为同步流密码和自同步流密码。RC4 是一种同步流密码体制,其密钥流的产生与明文无关,产生的密钥流和明文相结合得到密文。RC4 依赖一张可变动的表(算法中的S)来产生密钥流,使之与明文相异或产生密文。RC4的内部状态由一个字长为2n 的S 盒和两个指针i、j 组成,包含一个密钥流生成算法(PRSA)和一个密钥调度算法(KSA)。,它以一个长度为l 字节的初始密钥作为输入,以一个恒等置换的S 盒开始,使用初始密钥(整个RC4 的加密密钥)K 连续交换S 盒中的值产生新的依赖于初始密钥的置换。密钥流生成器连续不断地改变S 盒中的置换,每次从S 盒中选择一个值作为输出,一轮RC4 输出一个n 比特的字作为密钥流的一个密钥字,然后与明文异或产生密文。

打开vc++6.0,打开虚拟机中所给出的参考代码(d:\toolsBUPT1016E\rc4.cpp)并编译通过。

成功后截图如下:

加密文件成功

解密成功

精选