rc4加密过程


密钥调度算法(KSA)(Key Scheduling Algorithm

  1. 初始化一个长度为256的数组S,值为S[i]=i,其中i是索引.

  2. 根据密钥(char类型)和S[i]生成j,S[j],并进行置换:

    j=0

    j=j+S[i]+key[i%len(key)]%256

    交换S[i]和S[j]

伪随机数生成算法(PRGA)

  1. 初始化两个索引变量:i,j=0

    i = (i+1)%256

    j = (j+s[i])%256

    交换S[i]和S[j]

    t = ( S[i]+S[j] )%256

    KEY = S[t]