什麼是Blowfish加密演算法?
Blowfish加密演算法是一種對稱分組密碼,旨在克服DES演算法速度慢且安全性不確定的缺點。Blowfish是由布魯斯·施奈爾在1993年發明的一種基於金鑰的對稱加密分組密碼,並已進入公有領域。
對稱加密使用單個加密金鑰來加密和解密資訊。敏感資訊和對稱加密金鑰在加密演算法中一起使用,將敏感資訊轉換為密文。Blowfish包含在大量的密碼套件和加密產品中,例如SplashID。
分組密碼通常是一種計算機程式,它接受一定數量的明文並將其轉換為編碼文字或密文。它對稱為塊的文字塊執行此例程。為了在傳輸的另一端解碼文字,該函式還應生成一個金鑰來解鎖密文。
Blowfish也是公共用途中最快的分組密碼之一,這使其成為SplashID等產品的理想選擇,SplashID可在手機、筆記型電腦和臺式電腦中發現的各種處理器上執行。
Blowfish具有64位分組大小和32位到448位的金鑰長度。它是一個16輪Feistel密碼,需要大型金鑰相關的S盒。其結構與CAST-128相同,後者需要固定的S盒。
Blowfish演算法是最流行的演算法之一,但它需要大量的計算能力,某些方面使其容易受到許多攻擊者的攻擊。可以透過減小“S盒”的大小,並在神經網路(NN)上設計和實現它來改進。
神經網路的輸入是文字(明文或密文),網路的輸出是相同的文字,加密和解密中使用的金鑰是神經網路的原始權重,這些權重使用反向傳播網路進行訓練。
Blowfish使用特定形式的金鑰生成。Blowfish程式的第二個要素是一個金鑰擴充套件,它將最多448位的單個金鑰轉換為大小為4168位元組的子金鑰表。子金鑰的生成進一步提高了安全性,因為駭客必須破解的不僅僅是原始金鑰。
Blowfish演算法的永續性在於子金鑰生成及其基本的混淆和擴散設計。Blowfish是一個對稱主密碼系統,依賴於Feistel網路。
布魯斯·施奈爾介紹了該演算法。它是一個64位分組大小的密碼,完整版本需要16輪來完成分組密碼,並使用大量子金鑰,金鑰長度可變,從32位到448位。