分組密碼和流密碼的區別


分組密碼和流密碼都屬於對稱金鑰密碼家族,它們基本上是用於將明文直接轉換為密文的加密方法。

閱讀本文,瞭解分組密碼和流密碼的功能以及它們彼此之間的區別。

什麼是分組密碼?

分組密碼是一種對稱加密技術,它使用共享的秘密金鑰來加密固定大小的資料塊。在加密過程中,使用明文,密文是加密後的文字。明文和密文都使用相同的金鑰進行加密。

分組密碼處理固定大小的資料塊。通常,訊息的大小大於塊大小。因此,長訊息被分成一系列連續的訊息塊,密碼一次對這些塊進行操作。

分組密碼使用共享的秘密金鑰,一次加密和解密一個塊,而不是一次一個位元。不需要填充,因為塊的大小是固定的。這是一個對稱演算法。它使用共享金鑰在加密過程中將文字輸入轉換為密文(加密文字)。它使用相同的金鑰在解密過程中將密文轉換回原始明文。輸出長度與輸入長度相同。

  • 資料加密標準 (DES)、TripleDES 和高階加密標準 (AES) 是分組密碼演算法的知名版本。

  • 流密碼是分組密碼的對應物,它使用共享金鑰並一次對輸入的一個位元進行操作。

  • 公開金鑰密碼術或非對稱密碼術是分組密碼演算法的替代方案。該演算法使用公鑰加密明文,使用私鑰解密密文。

分組密碼有不同的操作模式:

  • 電子密碼本 (ECB) 模式

  • 密碼分組連結 (CBC) 模式

  • 密文反饋 (CFB) 模式

  • 輸出反饋 (OFB) 模式

  • 計數器 (CTR) 模式

這些模式是通用分組密碼的程式規則。有趣的是,不同的模式會產生不同的特性,從而增強底層分組密碼的安全性。

什麼是流密碼?

流密碼是一種加密方法,它將偽隨機密碼數字流與明文數字組合。此偽隨機加密數字流一次應用於每個二進位制數字。這種加密方法為每個金鑰使用無限量的偽隨機密碼數字。

  • 流密碼使用基於金鑰的演算法一次加密任意數量的明文。

  • 為了確保這種型別的加密安全,偽隨機密碼數字應該是不可預測的,並且金鑰不應該重複使用。

  • 偽隨機密碼數字是使用數字移位暫存器和多個隨機種子值建立的。

  • 流密碼也稱為狀態密碼。“狀態密碼”這個名稱源於每個數字的加密都取決於密碼的當前狀態。

  • RC4 流密碼廣泛用於軟體中。

使用設計良好的偽隨機數生成器,流密碼可以與金鑰長度相同的分組密碼一樣安全。流密碼的主要優點是它使用的程式碼更少,並且比分組密碼更快。

分組密碼和流密碼的區別

下表突出顯示了分組密碼和流密碼的主要區別:

金鑰分組密碼流密碼
定義分組密碼是一種加密型別,其中明文的轉換是透過一次取其塊來執行的。流密碼是一種加密型別,其中明文的轉換是透過一次取明文的一個位元組來執行的。
位元轉換由於分組密碼一次轉換塊,因此它轉換的位元數比流密碼多,流密碼可以轉換 64 位或更多位。然而,在流密碼的情況下,一次只能轉換 8 位。
原理分組密碼使用“混淆”和“擴散”原理進行加密所需的轉換。流密碼僅使用混淆原理進行轉換。
演算法對於明文加密,分組密碼使用電子密碼本 (ECB) 和密碼分組連結 (CBC) 演算法。流密碼使用 CFB(密文反饋)和 OFB(輸出反饋)演算法。
解密由於在分組密碼的情況下,更多位組合在一起進行加密,因此與流密碼相比,反向加密或解密相對複雜。流密碼使用異或 (XOR) 進行加密,可以很容易地將其反轉為明文。
實現Feistel 密碼是最常見的分組密碼實現。流密碼的主要實現是 Vernam 密碼。

結論

分組密碼適用於管理資料塊的應用程式,包括檔案傳輸、電子郵件和資料庫。另一方面,流密碼更適用於需要加密/解密資料流的應用程式,包括透過資料通訊通道或瀏覽器/Web 連結。

更新於:2022年7月27日

11K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.