C BlowFish對稱加密演算法詳解

2022-09-28 01:30:17 字數 648 閱讀 8809

blowfish演算法基於feistel網路,加密函式迭代執行16輪,分組長度為64位,金鑰長度可以從32位到448位。演算法由兩部分組成,金鑰擴充套件部分和資料加密部分,金鑰擴充套件部分將最長最長為448位的金鑰轉化成共4168位元組長度的子金鑰陣列,其中,資料加密由乙個16輪的feistel網路完成,每輪由乙個金鑰相關置換和乙個金鑰與資料相關的替換組成。

blowfish算法子金鑰在加密前預計算產生。

p陣列由18個32位字的子金鑰組成。p1,p2''''''.p18

4個8x32的包含總共1024個32位字的s-box.

子金鑰擴充套件演算法如下:

blowfisfaxlwh由16輪的fistel網路組成,輸入是乙個64位的資料元素x,將x分成兩個32位部分,xl,xr,加密如下:

void blowfish_encipher(unsigned long *xl, unsigned long *xr)

temp = xl;

xl = xr;

xr = temp;

xr = xr ^ p[n];

xl = xl ^ p[n + 1];

*xl = xl;

*xr = xr;

}analyzer通過檢測4個8x32的包含總共1024個32位字的s-box.但通過動態讀取方式時,較難識別。

對稱加密演算法 非對稱加密演算法

對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...

對稱加密演算法

缺點 演算法 說明des 資料加密標準 用的少,因為強度不夠 3des 使用3個金鑰,對相同的資料執行三次加密,強度增強 aes高階加密標準,目前美國 局使用的 蘋果的鑰匙串訪問採用的是 aes 加密 ecb 加密 openssl enc des ecb k 616263 nosalt in msg...