1:演算法原理
(1)rc4首先使用的是密碼排程演算法,所謂的密碼排程演算法,是為了得到金鑰流而設計的,**如下,經過密碼排程演算法之後,可以得到乙個256位的金鑰流。
def initialize_s(k):s = range(256)
j = 0
for i in range(256):
j = (j + s[i] + k[i]) % 256
s[i], s[j] = s[j], s[i]
return s
(2):在得到金鑰流之後,在進行子密碼的獲得。
for x in range(length):i = (i + 1) % 256
j = (j + s[i]) % 256
s[i], s[j] = s[j], s[i]
m = (s[i] + s[j]) % 256
x = s[m]
if print_x:
print (x)
yield x
(3)得到了子金鑰之後與原文進行異或運算得到密文。
RC4加密演算法
rc4於1987年提出,和des演算法一樣,是一種對稱加密演算法,也就是說使用的金鑰為單鑰 或稱為私鑰 但不同於des的是,rc4不是對明文進行分組處理,而是位元組流的方式依次加密明文中的每乙個位元組,解密的時候也是依次對密文中的每乙個位元組進行解密。rc4演算法的特點是演算法簡單,執行速度快,而且...
RC4加密演算法
簡介 包括初始化演算法 ksa 和加密演算法兩大部分 主要 初始化部分 這個基本上是固定的 void rc4 init unsigned char s,unsigned char key,unsigned long len s最開始是傳入的長度為256的char型空陣列,用來存放初始化後的s key...
RC4加密演算法
rc4於1987年提出,和des演算法一樣,是一種對稱加密演算法,也就是說使用的金鑰為單鑰 或稱為私鑰 但不同於des的是,rc4不是對明文進行分組處理,而是位元組流的方式依次加密明文中的每乙個位元組,解密的時候也是依次對密文中的每乙個位元組進行解密。rc4演算法的特點是演算法簡單,執行速度快,而且...