Python语言实现RC4算法。
这周的信息安全作业,RC4算法的实现。
参考了这位大佬:https://blog.csdn.net/u011377996/article/details/85221508
总体上来说分为三部分,初始化,密码流,加密解密。
- 初始化函数
def KSA(key):
S=list(range(256))
T=list(range(256))
for i in range (256):
S[i]=i
T[i]=i%len(key)
j=0
for i in range (256):
j=(j+S[i]+ord(key[T[i]]))%256
S[i],S[j]=S[j],S[i]
return S
解释:从外部获取一个key,把S 初始化成0,1,2,……255
通过len函数,得出获取的key的长度,假设是4,那么T 就是0,1,2,3,0,1,2,3……,再然后对S进行置换操作。
最后返回一个伪混乱,其实有一定顺序的S
截图示例:
- 产生密钥流函数
def PRGA(first_text,S):
i = 0
j = 0
k={
}
for a in range(len(first_text)