Blowfish加密演算法

2021-10-04 09:11:55 字數 891 閱讀 9568

blowfish演算法是乙個64位分組及可變金鑰長度的對稱金鑰分組密碼演算法,可用來加密64位元長度的字串。32位處理器誕生後,blowfish演算法因其在加密速度上超越了des而引起人們的關注。blowfish演算法具有加密速度快、緊湊、金鑰長度可變、可免費使用等特點,已被廣泛使用於眾多加密軟體。

blowfish是一種對稱加密演算法同時也是分組加密演算法,演算法基於feistel網路

演算法有倆部分組成:金鑰擴充套件部和資料加密

演算法核心在於子金鑰生成,演算法中使用了大量的子金鑰,而子金鑰又依賴於使用者金鑰。

金鑰擴充套件部分將最長最長為448位的金鑰轉化成共4168位元組長度的子金鑰陣列

子金鑰擴充套件

子金鑰在演算法加密後產生,…等等。。。(請勿當真)

子金鑰在演算法加密前就被計算出來了,子金鑰是什麼東西呢?

好吃的.。。。。肯定不是

子金鑰即p陣列和s盒

例如:p1、p2、p3直到p18

4個1024個32bit的s盒

(s盒的作用是淆金鑰與密文之間的關係,其直接決定了密碼演算法的好壞。s盒用在分組密碼演算法中,是唯一的非線性結構)

要加密乙個資訊,想要自己選擇乙個key,用這個key對pbox和sbox做負距離接觸(變換),得下一步到key-box及key-sbox

簡單說是用p1和金鑰的前32位進行與運算,p2和後32位進行與運算,依此類推直到金鑰的所有位

解密也是差不多,在解密方使用key後生成一隊key-box及key-sbox後對同一條密文進行解密。

嗶哩嗶哩

微博用的比較少

github

一些源**

知乎不懂的我一般會在上面提問

同步該部落格內容相同

csdn

同步該部落格內容相同

部落格首頁

有意新增請備註 啊啊啊啊

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

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

Blowfish秘鑰加密

blowfish 1.兩個box ungigned long pbox 18 和unsigned long sbox 4,256 2.加密函式bf en 輸入64位資訊,輸出64位密文 3.過程 1 秘鑰處理 源秘鑰 pbox,sbox固定的 要加密的資訊,和自己選擇的乙個key,key pbox ...

gentry同態加密演算法 同態加密演算法

本文對同態加密演算法進行學習。參考文章同態加密演算法。定義同態加密演算法保證對聯合密文的解密結果等價於聯合明文。若存在同態加密演算法f,針對明文a和b,加密後分別得到a f a b f b 將其和a b 解密後得到a b,則同態加密演算法f被成為加法同態加密演算法。加法同態演算法的加密和解密分別用e...