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...