Java加密解密基礎分類及模式歸納整理

Java  加密解密基礎:

在荔波等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網站、成都網站設計 網站設計制作按需設計網站,公司網站建設,企業(yè)網站建設,品牌網站制作,成都營銷網站建設,成都外貿網站建設,荔波網站建設費用合理。

密碼學是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規(guī)律,應用于編制密碼以保守通信秘密的,稱為編碼學;應用于破譯密碼以獲取通信情報的,稱為破譯學,總稱密碼學。

密碼學常用術語

明文: 待加密數據。

密文: 明文經過加密后數據。

加密: 將明文轉換為密文的過程。

加密算法: 將明文轉換為密文的轉換算法。

加密密鑰: 通過加密算法進行加密操作的密鑰。

解密: 將密文轉換為銘文的過程。

解密算法: 將密文轉換為明文的轉換算法。

解密密鑰: 通過解密短發(fā)進行解密操作的密鑰。

密碼學分類

1.按時間分

a.古典密碼:以字符為基本加密單元。

b.現(xiàn)代密碼:以信息塊為基本加密單元。

2按保密內容的算法劃分

a.受限制算法:算法的保密性基于保持算法的秘密。

b.基于密鑰算法:算法的保密性基于對密鑰的保密。

3.按密鑰體制劃分

a.對稱密碼體制:也叫單鑰或私鑰密碼體制,加密過程與解密過程使用同一套密鑰。對應的算法就是對稱加密算法,例如DES,AES。

b.非對稱密碼體制:也叫雙鑰或公鑰密碼體制,加密過程與解密過程使用不同的密鑰。對應的算法就是非對稱加密算法,例如RSA。

4.按明文處理方式劃分

a.流密碼:也稱為序列密碼,加密時每次加密一位或者一個字節(jié)的明文。例如RC4算法。

b.分組密碼:加密時將明文分成固定長度的組,用同一個密鑰和算法對每一組進行加密輸出也是固定長度的明文。當最后一組大小不滿足指定的分組大小時,

有兩種處理模式:

無填充模式,直接對剩余數據進行加密,此組加密后大小與剩余數據有關;

有填充模式,對于不滿足指定長度分組的進行數據填充;如果恰巧最后一組數據與指定分組大小相同,那么直接添加一個指定

大小的分組;填充的最后一個字節(jié)記錄了填充的字節(jié)數。

分組密碼工作模式簡介

1.電子密碼本模--ECB

將明文的各個分組獨立的使用相同的密鑰進行加密,這種方式加密時各分組的加密獨立進行互不干涉,因而可并行進行。同樣因為各分組獨立加密的緣故,相同的明文分組加密之后具有相同的密文。該模式容易暴露明文分組的統(tǒng)計規(guī)律和結構特征。不能防范替換攻擊。

其實照實現(xiàn)來看,ECB的過程只是把明文進行分組,然后分別加密,最后串在一起的過程。當消息長度超過一個分組時,不建議使用該模式。在每個分組中增加隨機位(如128位分組中96位為有效明文,32位的隨機數)則可稍微提高其安全性,但這樣無疑造成了加密過程中數據的擴張。

優(yōu)點:

1.簡單;

2.有利于并行計算;

3.誤差不會被傳送;

缺點:

1.不能隱藏明文的模式;

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

2.密碼分組鏈接模--CBC

需要一個初始化向量IV,第一組明文與初始化向量進行異或運算后再加密,以后的每組明文都與前一組的密文進行異或運算后再加密。IV 不需要保密,它可以明文形式與密文一起傳送。

優(yōu)點:

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

缺點:

1.不利于并行計算;

2.誤差傳遞;

3.需要初始化向量IV

3.密文反饋模式--CFB

需要一個初始化向量IV ,加密后與第一個分組明文進行異或運算產生第一組密文,然后對第一組密文加密后再與第二組明文進行異或運算纏身第二組密文,一次類推,直到加密完畢。

優(yōu)點:

1.隱藏了明文模式;

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

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

缺點:

1.不利于并行計算;

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

3.唯一的IV;

4. 輸出反饋模式--OFB

需要一個初始化向量IV ,加密后得到第一次加密數據,此加密數據與第一個分組明文進行異或運算產生第一組密文,然后對第一次加密數據進行第二次加密,得到第二次加密數據,第二次加密數據再與第二組明文進行異或運算產生第二組密文,一次類推,直到加密完畢。

優(yōu)點:

1.隱藏了明文模式;

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

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

缺點:

1.不利于并行計算;

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

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

5.計數器模式--CTR

使用計數器,計數器初始值加密后與第一組明文進行異或運算產生第一組密文,
計數器增加,然后,加密后與下一組明文進行異或運算產生下一組密文,以此類推,直到加密完畢

優(yōu)點:

1.可并行計算;

2.安全性至少與CBC 模式一樣好;

3.加密與解僅涉及密碼算法的加密;

缺點:

1.沒有錯誤傳播,不易確保數據完整性;

分組密碼填充方式簡介

PKCS5 :填充字符串由一個值為5的字節(jié)序列組成,每個字節(jié)填充該字節(jié)序列的長度。明確定義Block的大小是8位

PKCS7 :填充字符串由一個值為7的字節(jié)序列組成,每個字節(jié)填充該字節(jié)序列的長度。對于塊的大小是不確定的,可以在1-255之間

ISO10126:填充字符串由一個字節(jié)序列組成,此字節(jié)序列的最后一個字節(jié)填充字節(jié)序列的長度,其余字節(jié)填充隨機數據。

希望本篇文章對您有所幫助

本文題目:Java加密解密基礎分類及模式歸納整理
URL地址:http://www.muchs.cn/article24/jpcsce.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿網站建設虛擬主機、網站維護、軟件開發(fā)、域名注冊、電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設