您现在的位置: > 行业杂谈 > 流媒体与RC4算法解析
流媒体与RC4算法解析
关于如何在香港vps部署中进行加密处理的问题,这里小编有必要跟大家讲一下流密码和RC4算法
流密码结构:典型的流密码一次加密一个字节的明文,密钥输入到一个伪随机字节生成器,产生一个表面随机的8比特数据流,如果不知道输入密钥,伪随机流就是不可预测的,而且它具有表面上随机的性质。这个生成器的输出成为密钥流,使用位异或操作与明文流结合,一次一个字节。例如,如果生成器产出的下一个字节是01101100,明文的下一个字节是11001100,那么得到的密文字节是:
11001100 明文文
+01101100密钥流
=10100000密文文
解密需要同一伪随机序列:
10100000密文文
+01101100密钥流
=11001100明文文
(1)加密序列有一个长周期;
(2)密钥流应该尽可能接近真随机数流的性质;
(3)为了抵抗穷举攻击,这个密钥必须非常长,至少需要128比特长度的密钥。
RC4算法解析:这个算法基于随机交换的使用,用一个可变长度为1~256字节(8~2048比特)的密钥来初始化256字节的状态向量S。其元素S[0],S[1],...,S[255]。从始至终换后的S包括0~255的所有8位数。加密解密时,字符K是从S的255个元素中按一种系统的方式选出。
初始化:开始时,S的元素按升序被置为0~255;即S[0]=0,S[1]=1,.......,s[255]=255。
/*初始化*/
for i = 0 to 255 do;
S[i] = i ;
T[i] = K[i mod keylen];
然后用T产生S的初始置换,从S[0]~S[255],对每个S[i],根据由T[i]确定的方案,并将S[i]置换为S的另一个字节:
/*S的初始置换*/
j = 0 ;
for i = 0 to 255 do
j =( j + S[i ] + T[i] )mod 256 ;
Swap(S[i],S[j]);
因为对S的唯一操作是交换的,所以唯一改变的就是置换。S仍然包含0~255的所有数。
流产生:一旦S向量被初始化,就不再使用输入密钥。密钥流产生过程是,从S[0]~S[255],对每个S[i],根据S的当前配置,将S[i]与S中的另一个字节置换。当S[255]完成置换后,操作继续重复从S[0]开始:
/*流产生*/
i,j = 0;
While(true)
i = (i+1) mod 256;
J = (j+S[i]) mod 256 ;
Swap (S[i],S[j]);
T = (S[i]+S[j]) mod 256;
K = S[t];
加密时,将K值与明文的下一个字节做异或。
本次流媒体与RC4算法解析就讲解到这里了,如果还有什么不明白的问题。欢迎来新世界主机咨询了解,详情请咨询QQ: TEL: ,我们将竭诚为您服务。
本文地址:
http://xgvps.com/xingyezatan/400.htm
版权所有*转载时必须以链接形式注明作者和原始出处
Copyright © 2001-2020 香港vps 网址:http://xgvps.com/
香港vps、香港服务器、香港vps主机、香港vps哪里好、就到香港新世界vps主机。
信息来源于网络以及网友投稿,如侵犯了您的权益,请及时通知本站。