對稱加密演算法 RC4

2022-08-02 03:42:11 字數 566 閱讀 7618

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演算法的特點是演算法簡單,執行速度快,而且...