中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java對稱加密工作模式原理是什么

發布時間:2021-10-13 16:18:21 來源:億速云 閱讀:122 作者:柒染 欄目:編程語言

Java對稱加密工作模式原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

對稱加密又分為分組加密和序列密碼。

分組密碼,也叫塊加密(block cyphers),一次加密明文中的一個塊。是將明文按一定的位長分組,明文組經過加密運算得到密文組,密文組經過解密運算(加密運算的逆運算),還原成明文組。

序列密碼,也叫流加密(stream cyphers),一次加密明文中的一個位。是指利用少量的密鑰(制亂元素)通過某種復雜的運算(密碼算法)產生大量的偽隨機位流,用于對明文位流的加密。

解密是指用同樣的密鑰和密碼算法及與加密相同的偽隨機位流,用以還原明文位流。

分組加密算法中,有ECB,CBC,CFB,OFB這幾種算法模式。

1)ECB(Electronic Code Book)/電碼本模式

ECB(電子密本方式)其實非常簡單,就是將數據按照8/16節一段進行加密或解密得到一段8/16個字節的密文或者明文,最后一段不足8/16個字節,按照需求補足8/16個字節進行計算,之后按照順序將計算所得的數據連在一起即可,各段數據之間互不影響。

優點:

1.簡單,有利于并行計算,誤差不會被傳送

缺點:

1.不能隱藏明文的模式

2.可能對明文進行主動攻擊

2)CBC(Cipher Block Chaining)/密文分組鏈接方式

CBC(密文分組鏈接方式)的實現機制使加密的各段數據之間有了聯系。其實現的機理如下:

加密步驟如下:

1)首先將數據按照8/16個字節一組進行分組得到D1D2......Dn(若數據不是8的整數倍,用指定的PADDING數據補位)

2)第一組數據D1與初始化向量I異或后的結果進行加密得到第一組密文C1

3)第二組數據D2與第一組的加密結果C1異或以后的結果進行加密,得到第二組密文C2

4)之后的數據以此類推,得到Cn

5)按順序連為C1C2C3......Cn即為加密結果。

解密是加密的逆過程,步驟如下:

1)首先將數據按照8/16個字節一組進行分組得到C1C2C3......Cn

2)將第一組數據進行解密后與初始化向量I進行異或得到第一組明文D1(注意:一定是先解密再異或)

3)將第二組數據C2進行解密后與第一組密文數據進行異或得到第二組數據D2

4)之后依此類推,得到Dn

5)按順序連為D1D2D3......Dn即為解密結果。

這里注意一點,解密的結果并不一定是我們原來的加密數據,可能還含有你補得位,一定要把補位去掉才是你的原來的數據。

優點:

1. 不容易主動攻擊,安全性好于ECB,適合傳輸長度長的報文,是SSL、IPSec的標準

缺點:

1. 發送方和接收方都需要知道初始化向量 IV2.加密過程是串行的,無法被并行化(在解密時,從兩個鄰接的密文塊中即可得到一個平文塊。因此,解密過程可以被并行化)

3.誤差傳遞

3)Cipher Feedback (CFB)/密文反饋模式

密文反饋(CFB,Cipher feedback)模式類似于CBC,可以將塊密碼變為自同步的流密碼;工作過程亦非常相似,CFB的解密過程幾乎就是顛倒的CBC的加密過程:

需要使用一個與塊的大小相同的移位寄存器,并用IV將寄存器初始化。然后,將寄存器內容使用塊密碼加密,然后將結果的最高x位與平文的x進行異或,以產生密文的x位。下一步將生成的x位密文移入寄存器中,并對下面的x位平文重復這一過程。解密過程與加密過程相似,以IV開始,對寄存器加密,將結果的高x與密文異或,產生x位平文,再將密文的下面x位移入寄存器。

與CBC相似,平文的改變會影響接下來所有的密文,因此加密過程不能并行化;而同樣的,與CBC類似,解密過程是可以并行化的。

優點:

1.隱藏了明文模式

2.分組密碼轉化為流模式

3.可以及時加密傳送小于分組的數據

缺點:

1.不利于并行計算

2.誤差傳送:一個明文單元損壞影響多個單元

3.唯一的IV

4)Output Feedback (OFB)/輸出反饋模式

輸出反饋模式(Output feedback, OFB)可以將塊密碼變成同步的流密碼。它產生密鑰流的塊,然后將其與平文塊進行異或,得到密文。與其它流密碼一樣,密文中一個位的翻轉會使平文中同樣位置的位也產生翻轉。這種特性使得許多錯誤校正碼,例如奇偶校驗位,即使在加密前計算而在加密后進行校驗也可以得出正確結果。

每個使用OFB的輸出塊與其前面所有的輸出塊相關,因此不能并行化處理。然而,由于平文和密文只在最終的異或過程中使用,因此可以事先對IV進行加密,最后并行的將平文或密文進行并行的異或處理。

可以利用輸入全0的CBC模式產生OFB模式的密鑰流。這種方法十分實用,因為可以利用快速的CBC硬件實現來加速OFB模式的加密過程。

優點:

1.隱藏了明文模式

2.分組密碼轉化為流模式

3.可以及時加密傳送小于分組的數據

缺點:

1.不利于并行計算

2.對明文的主動攻擊是可能的

3.誤差傳送:一個明文單元損壞影響多個單元

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

时尚| 桐柏县| 武隆县| 都江堰市| 包头市| 丰镇市| 兴隆县| 静海县| 察雅县| 乳山市| 祁门县| 顺平县| 屏山县| 鄂伦春自治旗| 江华| 洪湖市| 新竹县| 蕲春县| 方正县| 远安县| 六枝特区| 阿拉善右旗| 安龙县| 昌吉市| 德州市| 比如县| 巴青县| 民勤县| 喀什市| 天水市| 苏尼特左旗| 乐陵市| 湖州市| 沙河市| 咸阳市| 桃源县| 电白县| 溧阳市| 安新县| 北海市| 灌云县|