版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 作者簡介:李玉榮(1973-,女,河南臺(tái)前人,碩士,濮陽職業(yè)技術(shù)學(xué)院數(shù)學(xué)與信息工程系講師,研究方向?yàn)橛?jì)算機(jī)應(yīng)用。DES 加密算法及其在J ava 中的實(shí)現(xiàn)李玉榮(濮陽職業(yè)技術(shù)學(xué)院數(shù)學(xué)與信息工程系,河南濮陽457000摘要:DES 算法已被應(yīng)用于許多需要安全加密的場合(如信用卡持卡人的PIN 加密傳輸、IC 卡與POS 間的雙向認(rèn)證、金融數(shù)據(jù)包校驗(yàn)等,深入地分析了DES 算法的思想、加密過程及應(yīng)用,并指出了DES 算法的優(yōu)勢和不足。關(guān)鍵詞:DES 算法;算法思想;S 盒;JAVA ;密鑰中圖分類號(hào):TP301.6文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(200904-0055-031DES
2、算法思想DES (Data Encryption Standard 算法是1977年得到美國政府正式許可的一種用56位密鑰來加密64位數(shù)據(jù)的加密方法。DES 是一種特殊類型的迭代密碼。簡單說來,DES 是采用傳統(tǒng)的替換和移位的方法加密的分組密碼,其算法是對(duì)稱的,這樣既可以用于加密也可以用于解密。DES 用56位密鑰對(duì)64位的明文數(shù)據(jù)塊進(jìn)行加密,每次加密可以對(duì)64位的明文數(shù)據(jù)進(jìn)行16輪編碼,經(jīng)過一系列替換和移位后,輸出完全不同的64位密紋數(shù)據(jù)。DES 入口參數(shù)有3個(gè):Key 、Data 、Mode ,其中Key 為7個(gè)字節(jié)共56位(另有8位作為奇偶校驗(yàn)位,這樣保證了明文與密鑰長度的一致性,是DE
3、S 算法的工作密鑰;Data 為8位字節(jié)64位,是要被加密或解密的數(shù)據(jù);Mode 為DES 的工作方式,由兩種:加密、解密。由于DES 算法使用64位的標(biāo)準(zhǔn)算法和邏輯運(yùn)算、運(yùn)算速度快、密鑰產(chǎn)生容易,因此適合當(dāng)前大多數(shù)計(jì)算機(jī)上用軟件方法實(shí)現(xiàn),同時(shí)也適用于專用芯片上。2DES 算法加密過程DES 算法的加密過程大致可以分為4步:初始置換(IP 處理、迭代過程、子密鑰產(chǎn)生、逆置換(IP -1處理,功能是將輸入的64位數(shù)據(jù)塊經(jīng)過初始置換按位重新組合,并把輸入分為左右兩部分(L 、R ,各部分各有32位,將L 1=R 0,R 1=L 0f (R 0,K 1。DES 加密過程如圖1所示。具體加密過程為:6
4、4位密鑰經(jīng)子密鑰產(chǎn)生出16個(gè)子密鑰,為K 1、K 2K 15、K 16,分別供第一次、第二次第十六次加密迭代使用;64位明文首先經(jīng)過初始置換IP (Initial Permutation ,將數(shù)據(jù)打亂重新排列并分為左右兩半,左邊32位構(gòu)成L 0,右邊32位構(gòu)成R 0;由加密函數(shù)f 實(shí)現(xiàn)子密鑰K 1對(duì)R 0的加密,結(jié)果得到32位的數(shù)據(jù)組(R 0,K 1,f (R 0,K 1再與L 0模2相加,又得到一個(gè)32位的數(shù)據(jù)組L 0f (R 0,K 1,以L 0f (R 0,K 1作為第二次加密迭代的R 1,以R 0作為第二次加密迭代的L 1,至此第一次加密迭代結(jié)束;第二次加密迭代至第十六次加密迭代分別用
5、子密鑰K 1、K 16進(jìn)行,其過程類同;第十六次加密迭代結(jié)束后產(chǎn)生一個(gè)64位的數(shù)據(jù)組,以其左邊32位作為R 16,右邊為L 16,兩者合并再經(jīng)過逆初始置換IP -1,將數(shù)據(jù)重新排列便得到64位的密文。3DES 加密算法的詳細(xì)分析3.1子密鑰的產(chǎn)生子密鑰的產(chǎn)生如圖2所示。64位密鑰經(jīng)過置換選擇1(見表2、循環(huán)左移、置換選擇2(見表3等變換,產(chǎn)生出16個(gè)子密鑰。其中置換選擇1中并不出現(xiàn)8,16,24,32,40,48,56,64,所以只有56位有效,其余8位為奇偶校驗(yàn)位。C0、D0是經(jīng)過置換選擇1后的56位的前后28位,C 0=K 57K 49K 44K 36,D 0=K 63K 55K 12K
6、4。經(jīng)過循環(huán)左移(移動(dòng)位數(shù)表見表1,將每次迭代得到的C i 、D i 經(jīng)過置換選擇2變換得到子密鑰K i (i =1,2,316。置換選擇2是從56位中選出48位輸出。表1循環(huán)左移位數(shù)表22221表2置換選擇1574941332517915850423426186355473931231576254463830221466153453729211352820124第8卷%第4期2009年4月V ol .8N o.4A pr .2009軟件導(dǎo)刊2009年 表3置換選擇24449395634534642503629323.2加密函數(shù)加密函數(shù)是DES算法的核心,f函數(shù)在第i次加密迭代中用子密鑰Ki對(duì)
7、R i-1進(jìn)行加密,并在加密過程中使用了唯一的非線S盒。如圖3所示,在第i次迭代加密中選擇運(yùn)算E對(duì)性組件32位的R i-1進(jìn)行選擇和排列后擴(kuò)展為48位,比原來多出的16位為錯(cuò)位,數(shù)據(jù)位仍按原輸入位,即輸入與輸出滿足線性關(guān)系。由E輸出的48位按順序分為8組,每組6位,分別通過8個(gè)S子盒后成4位,共32位。 第4期Byte encryptedClassData =cipher.doFinal (data ;/保存加密后的文件,覆蓋原有的類文件。Util.writeFile (filename ,encryptedClassData ;(3解密數(shù)據(jù)。運(yùn)行經(jīng)過加密的程序時(shí),ClassLoader 分析
8、并解密類文件。操作步驟如下所示。/生成一個(gè)可信任的隨機(jī)數(shù)源SecureRandom sr=new SecureRandom (;/從密鑰文件中獲取原始密鑰數(shù)據(jù)Byte rawKeyData =Util.readFile (keyFilename ;/創(chuàng)建一個(gè)DESKeySpec 對(duì)象DESKeySpec dks=new DESKeySpec (rawKeyData ;/創(chuàng)建一個(gè)密鑰工廠,然后用它把DESKeySpec 對(duì)象轉(zhuǎn)換成ecret Key 對(duì)象SecretKeyFactory key Factory =SecretKeyFactory.getInstance("DES&quo
9、t;SecretKey key=keyFactory.generateSecret (dks ;/Cipher 對(duì)象實(shí)際完成解密操作Cipher cipher=Cipher.getInstance ("DES"/用密鑰初始化Cipher 對(duì)象Cipher.init (Cipher.DECRYPT_MODE ,key ,sr ;/獲得經(jīng)過加密的數(shù)據(jù)Byte encrypted Data =Util.readFile (Filename ;/執(zhí)行解密操作Byte decryptedData =cipher.doFinal (encryptedData ;/然后將解密后的數(shù)據(jù)轉(zhuǎn)化
10、成原來的類文件。將上述代碼與自定義的類裝載器結(jié)合就可以做到邊解密邊運(yùn)行,從而起到保護(hù)源代碼的作用。5結(jié)束語DES 加密算法綜合運(yùn)用了置換、代替、代數(shù)等多種密碼技術(shù),是一種經(jīng)過乘積后得到的密碼。其算法結(jié)構(gòu)采用了置換、代替等基本加密運(yùn)算構(gòu)成了輪加密函數(shù),并對(duì)其進(jìn)行了16次迭代。同時(shí),S 盒同P 置換相互配合,形成了很強(qiáng)的抗差分攻擊和抗線性攻擊。在20多年的商業(yè)密碼應(yīng)用實(shí)踐中,充分地證明了DES 算法是安全的,也沒有發(fā)現(xiàn)DES 算法存在嚴(yán)重地安全隱患,得到了世界范圍的公認(rèn)。但是DES 加密算法不可避免的也存在一些弱點(diǎn)和不足,例如:密鑰較短,DES 算法采用56密鑰,顯然是短了點(diǎn);弱密鑰,在DES 算
11、法中對(duì)加密函數(shù)進(jìn)行16輪迭代中分別使用了不同的子密鑰來確保DES 算法的強(qiáng)度,但實(shí)際上存在一些密鑰,由它們產(chǎn)生的16個(gè)子密鑰是相互重復(fù)的;互補(bǔ)對(duì)稱性,由于DES 算法加密、解密過程是相同的,即對(duì)密文再加密得到明文,使得破解DES 的工作量減少了一半。參考文獻(xiàn):1劉曉星,胡暢霞,劉明生.安全加密算法DES 的分析與改進(jìn)J .微計(jì)算機(jī)與信息,2006(4.2劉萌銘,李金海,劉國麗,等.計(jì)算機(jī)安全技術(shù)M .北京:清華大學(xué)出版社,2000.3盧開澄.計(jì)算機(jī)密碼學(xué)計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)保密與安全(第3版M .北京:清華大學(xué)出版社,2003.4William STALLINS.密碼編碼學(xué)與網(wǎng)絡(luò)安全:原理與實(shí)踐
12、(第2版M .楊明,胥光輝,齊望東,譯.北京:電子工業(yè)出版社,2001.(責(zé)任編輯:卓光Implementation of DES Algorithm in JavaAbstract:DES algorithm has been applied to a number of occasions,which need for security encryption(such as credit card PINencryption transmission,IC card and a two-way authentication between the POS,financial data packets,such as checking,the paper's in -depth analysis of the DES algorithm Thinking,encryption and
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個(gè)人聯(lián)保借款合同互聯(lián)網(wǎng)金融合規(guī)版
- 二零二五年度荔枝果樹種植與農(nóng)業(yè)旅游合作承包協(xié)議3篇
- 二零二五年度高校實(shí)習(xí)基地實(shí)習(xí)實(shí)訓(xùn)基地運(yùn)營管理協(xié)議4篇
- 2025年度大米食品添加劑研發(fā)合作協(xié)議模板4篇
- 二零二五年度大數(shù)據(jù)分析服務(wù)外包合同4篇
- 2025年個(gè)人二手房交易保障合同書4篇
- 2025年度智能交互式高炮廣告牌項(xiàng)目開發(fā)與運(yùn)營合同4篇
- 2025年度油氣田鉆孔施工勞務(wù)承攬協(xié)議3篇
- 二零二五年度孟玲與張偉離婚協(xié)議及共同財(cái)產(chǎn)分割執(zhí)行監(jiān)督細(xì)則4篇
- 二零二五版煤礦股權(quán)轉(zhuǎn)讓與礦區(qū)環(huán)境保護(hù)責(zé)任協(xié)議4篇
- 2025年急診科護(hù)理工作計(jì)劃
- 高中家長會(huì) 高二寒假線上家長會(huì)課件
- 違規(guī)行為與處罰管理制度
- 個(gè)人教師述職報(bào)告錦集10篇
- 四川省等八省2025年普通高中學(xué)業(yè)水平選擇性考試適應(yīng)性演練歷史試題(含答案)
- 《內(nèi)部培訓(xùn)師培訓(xùn)》課件
- 《雷達(dá)原理》課件-3.3.3教學(xué)課件:相控陣?yán)走_(dá)
- 西方史學(xué)史課件3教學(xué)
- 2024年中國醫(yī)藥研發(fā)藍(lán)皮書
- 紅色中國風(fēng)蛇年年會(huì)邀請(qǐng)函
- 廣東省佛山市 2023-2024學(xué)年五年級(jí)(上)期末數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論