- RC4 是一種廣泛使用的 stream cipher (串流密碼),用於 SSL/TLS, WEP, WPA 等,Wikipedia 有不錯的說明。
- stream cipher 密文產生的方式是原本明文的資料跟一樣長的虛擬亂數一起 XOR;密文再跟一樣的虛擬亂數 XOR 就變回原來的明文,屬於對稱式加密演算法。「虛擬亂數」近似隨機,但不是真的隨機,虛擬亂數的值可完全由虛擬亂數產生器的初始值決定,也就是這一小段初始值就可以決定整個隨機亂數的值。所以只要知道虛擬亂數的產生方式及使用的初始值,就可以加密、解密。
- 許多 stream cipher 或虛擬亂數是基於 LFSR 產生,很適合用硬體實現,但用軟體效率不好。而 RC4 是為軟體而設計的虛擬亂數產生器,只需要 byte manipulations。
- RC4 有兩個演算法 -- key-scheduling algorithm (KSA) 及 pseudo-random generation algorithm (PRGA) -- 依序進行來產生虛擬亂數。RC4 的 key 一般 5 ~ 32 byte 間,KSA 先由 key 產生 256 bytes 的排列 -- S[256],PRGA 再產生所需要的虛擬亂數長度。Wikipedia 頁面有個 C 語言的範例,相當簡單,但相對地破解的運算也一樣簡單。
2011年1月22日 星期六
RC4 加密
訂閱:
張貼留言 (Atom)
SIP header Via
所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...
-
網路界面驅動程式有兩種接收封包的方式 -- 中斷驅動和 NAPI。傳統是用中斷驅動,在中斷服務程式裡接收封包,但封包量大時會有中斷次數太多而效能變差的問題。NAPI (意思是 New API) 改成中斷服務程式只通知有封包,Kernel 再排程一次接收多個封包來提昇效能。 中...
-
busybox ntpd 是 NTP client,也可作為 NTP server。 參數 -d:Verbose -n:不常駐 -q:(quit) 時間設完後結束 -N:高優先權執行 -w:不設定時間,只是詢問 peers,隱含 -n -l:作為 NTP ser...
-
74HC595 74 系列的移位暫存器 IC 基本上都有序列輸入 (serial-input, SI) 及序列輸出 (serial-output, SO) 功能,有些有加上並列輸入 (parallel-input, PI) 或並列輸出 (parallel-output...
沒有留言:
張貼留言