• [field:title/]
  • [field:title/]

您现在的位置: > 行业杂谈 > 流媒体与RC4算法解析

流媒体与RC4算法解析

作者:木木 文章来源:原创  点击量: 发布日期:2017-03-15

  流媒体与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
版权所有*转载时必须以链接形式注明作者和原始出处

网站首页|关于我们|诚聘英才|合作伙伴|法律申明|诚招代理|联系我们|网站xml地图

Copyright © 2001-2020 香港vps 网址:http://xgvps.com/

香港vps、香港服务器、香港vps主机、香港vps哪里好、就到香港新世界vps主机。

信息来源于网络以及网友投稿,如侵犯了您的权益,请及时通知本站。 

收缩
p