999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA的CBC保密模式應用

2009-04-29 00:00:00
電腦知識與技術 2009年33期

摘要:該文分析了CBC保密模式的原理并基于Java語言完成了相應實現,該模式的優點是引入隨機初始向,避免了ECB的缺點,隱蔽了明文的數據模式,在很大程度上能防止數據篡改。

關鍵詞:CBC;加密;解密;java

中圖分類號:TP309文獻標識碼:A 文章編號:1009-3044(2009)33-9274-02

Implementation of CBC Secrecy Based on Java

CAI Wei

(School of Computer Engineering, Nanjing Institute of Technology, Nanjing 211167, China)

Abstract: In this paper the CBC mode is presented.And then,a experiment based on Java is taked,the result shows the CBC mode can hide data pattern and avoid data juggle.

Key words:CBC; encryption; decryption; java

隨著全球信息化進程的不斷加快,用戶對信息的安全需求日益迫切,解決這一問題的有效的手段是使用現代密碼技術。實用密碼本制的研究基本上沿兩個方向進行,即以RSA為代表的公開密鑰密碼體制和以DES為代表的秘密鑰分組密碼體制。由于Java 在網絡編程中的適用性,以及Java 安全體系結構的日益完善,用Java 來實現信息的加密、解密會具有更好的安全性和應用性。

1 數據加密技術

數據加密技術[2]是實現信息保密性的一種重要手段。最常用的加密算法是“置換表”算法,本文研究的是一種改進的算法,即字/字節循環移位和XOR操作。把一個字或字節在一個數據流內做循環移位,使用多個或變化的方向(左移或右移) ,就可以迅速的產生一個加密的數據流。如果再使用XOR操作,按位做異或操作,那么破譯密碼就相當困難。CBC(Cipher Block Chaining)使用的就是這種思想。

2 CBC工作模式分析與應用

2.1 CBC工作模式

CBC是1980年NBS為DES推出的保密模式[3],NIST也將這個模式列為AES的模式標準。下面是CBC保密模式的加密解密變換公式。

EK(X):基于密鑰K加密明文塊X

E-1K(Y):基于密鑰K解密密文塊Y

P1,…,Pi,明文, 每個Pi是n比特塊, n是密碼的分組長度

C1,…,Ci,密文

加密變換:Ci = EK ( Pi⊕ Ci - 1 )

解密變換:Pi = E-1K (Ci) ⊕ Ci - 1, C0是初始向量

2.2 對稱密鑰的生成

使用CBC模式[4]進行加密解密,首先需要生成密鑰。如果加密和解密的密鑰相同,即為對稱密鑰加密。對稱密鑰加密的經典算法是DES算法。DES主要采用替換和移位的方法加密。其運算速度快,安全性好,適合加密大量數據。

java中對稱密鑰的生成如下:

//使用DESede算法獲取密鑰生成器

KeyGenerator kg = KeyGenerator.getInstance(\"DESede\");

//初始化密鑰生成器,密鑰長度為168

kg.init(168);

//生成密鑰

SecretKey k = kg.generateKey();

//以序列化方式保存密鑰

OutputStream os = new FileOutputStream(\"key.dat\");

ObjectOutputStream bos = new ObjectOutputStream(os);

bos.writeObject(k);

2.3 使用CBC保密模式進行加密、解密

對密文分組的不同形成了不同的加密方式,EBC模式對每個明文分組獨立進行處理。所以,如果明文字節分組相同的話,加密后的密文也是相同的分組。

CBC模式在塊加密法中增加反饋機制,保證即使輸入的明文塊重復出現,這些明文塊也會在加密后得到不同的密文塊。在CBC中,上一次的加密結果反饋到當前塊的加密中,用每個塊修改下一個塊的加密。這樣,每塊密文與相應的當前輸入明文塊相關,與前面的所有明文塊有關。所以,即使明文字節分組相同,加密后的密文也毫無規律。

加密過程如下:

1) 接受兩個輸入:第一個明文塊和初始向量,稱為初始化向量

2) 第一個明文塊和初始化向量用異或運算組合,然后用一個密鑰加密,產生第一個密文塊,第一個密文塊作為下一個明文塊的反饋

3) 將第三個明文塊與第二個密文塊用異或運算組合,然后用相同的密鑰加密,產生第三個密文塊

4) 依此類推,直至加密結束

初始向量作用如下,因為如果兩個密文的頭8個字節相同,并且使用的密鑰相同,則每條密文的開頭8個字節也將相同。對此,CBC使用一個8個字節的隨機數作為初始向量來加密第一個分組,由于初始向量的隨機性,這個問題迎刃而解。

以下是CBC加密方式的java實現:

//需加密的明文

String s = \"Hello123Hello123\";

//從文件key.dat中讀取密鑰

InputStream f1 = new FileInputStream(\"key.dat\");

ObjectInputStream ois=new ObjectInputStream(f1);

Key k=(Key)ois.readObject( );

//生成初始向量

byte[] rand = new byte[8]; Random r = new Random(); r.nextBytes(rand);

//使用隨機數得到初始向量

IvParameterSpec iv = new IvParameterSpec(rand);

//獲取密碼器,DESede為加密算法

// CBC為加密模式,PKCS5Padding為填充模式

Cipher cp = Cipher.getInstance(\"DESede/CBC/PKCS5Padding\");

//初始化密碼器,并執行加密

cp.init(Cipher.ENCRYPT_MODE, k, iv);

byte[] ptext = s.getBytes(\"UTF-8\");

byte[] ctext = cp.doFinal(ptext);

//將初始向量和密文輸入到SEncCBC.dat中

OutputStream f2 = new FileOutputStream(\"SEncCBC.dat\");

f2.write(rand); f2.write(ctext);

基于CBC模式的解密過程如下:

1) 通過文件輸入流InputStream讀取文件SEncCBC.dat的開始8個字節,獲取加密時所用的初始向量;

2) 通過對象輸入流ObjectInputStream讀取加密時使用的密鑰,該密鑰被序列化后保存在key.dat中;

3) 讀取密文,首先判斷文件SEncCBC.dat的剩余字節數,并創建相應的字節數組,然后使用文件輸入流讀取;

4) 使用Cipher.DECRYPTMODE模式初始化密碼器,調用doFinal進行解密;

5) 將解密后的明文通過文件輸出流OutputStream保存到文件中。

3 實驗結果與分析

以下是實驗結果,以字符串作為明文,該明文可分為4個相同單元,每個單元由8個字節組成。加密結果如表1所示:

通過實驗,可以清楚的看到ECB模式加密后的密文和明文一樣,具有明顯的規律性,而CBC模式加密的密文卻無規律可循,完全隱蔽了明文的數據模式,從而使得破解難度大大增加。

4 結論

該文研究的基于CBC保密模式的加密解密應用引入了隨機的初始向量,隱蔽了明文的數據模式,增強了實際信息安全保護系統中密文的加密效果,具有較廣泛的應用前景。

參考文獻:

[1] 潘曉中.數據加密技術分析[J].系統工程與電子技術,2003(2).

[2] 王勇.RSA公開密鑰密碼體制的密鑰生成研究[J].計算機應用研究,1998(3).

[3] 盧開澄.計算機密碼學——計算機網絡中的數據保密和安全[M].北京:清華大學出版社,1998.

[4] Schneier B.應用密碼學[M].吳世忠,譯.北京:機械工業出版社,2000.

主站蜘蛛池模板: 91精品小视频| 一区二区午夜| 久久精品波多野结衣| 四虎成人精品在永久免费| 色偷偷一区| 国产女人18毛片水真多1| 思思99热精品在线| 日韩不卡免费视频| 国产精品免费露脸视频| 久久香蕉国产线看观看精品蕉| 欧美综合成人| 亚洲资源在线视频| 四虎国产成人免费观看| 五月婷婷丁香综合| 日本黄色不卡视频| 97se亚洲| 亚洲国产中文欧美在线人成大黄瓜| 亚洲毛片网站| 国产视频a| 日韩在线影院| 久久人妻xunleige无码| 国产成人亚洲无吗淙合青草| 国产美女无遮挡免费视频网站 | 日本久久免费| 国产精品亚洲αv天堂无码| 激情综合五月网| 自拍亚洲欧美精品| 精品国产免费观看| 91色在线观看| 国产丝袜无码一区二区视频| 国产欧美日韩一区二区视频在线| 青青草原国产av福利网站| 国内精品久久九九国产精品| 亚洲无码A视频在线| 国产激情在线视频| 漂亮人妻被中出中文字幕久久 | 一区二区午夜| 国产一级毛片yw| 国产极品粉嫩小泬免费看| 国产精品欧美激情| 亚洲日本韩在线观看| 免费人成视网站在线不卡| 色亚洲成人| 亚洲欧美日韩中文字幕在线| 欧美精品亚洲精品日韩专区| 亚洲精选无码久久久| 91久久精品国产| 免费一级大毛片a一观看不卡| 国产网友愉拍精品| 永久成人无码激情视频免费| 一本色道久久88| 超清人妻系列无码专区| 她的性爱视频| 亚洲永久免费网站| 成人小视频网| 午夜小视频在线| 无码啪啪精品天堂浪潮av| 高清亚洲欧美在线看| 日韩a级毛片| 免费在线a视频| 97亚洲色综久久精品| 国产午夜在线观看视频| 久久semm亚洲国产| 在线精品视频成人网| 中文无码伦av中文字幕| 国产精品jizz在线观看软件| 亚洲国产精品久久久久秋霞影院| 丁香综合在线| 成人一级免费视频| 亚洲欧美日韩动漫| a毛片免费观看| 成人国产精品2021| 四虎影视无码永久免费观看| 五月婷婷综合网| 国产不卡在线看| 午夜人性色福利无码视频在线观看| 亚洲中文字幕无码爆乳| 伊人色在线视频| 69视频国产| 亚洲精品无码AV电影在线播放| 亚洲天堂网站在线| 久久美女精品|