專利名稱:加密處理裝置、數(shù)據(jù)變換方法、數(shù)據(jù)變換程序、記錄媒體和集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及加密處理裝置。
背景技術(shù):
加密處理裝置用于加密數(shù)字化后的音樂與影像等內(nèi)容而加以分發(fā)的情 形等。在內(nèi)容等的分發(fā)中,要求高安全性能。為了提高安全性能,提高對 分發(fā)對象數(shù)據(jù)的擾亂性能很有效。
例如,專利文獻(xiàn)l中公開了實現(xiàn)高擾亂性能用的數(shù)據(jù)加密方法。 專利文獻(xiàn)1中,將輸入數(shù)據(jù)分為多個相同數(shù)據(jù)長度的塊,在這些劃分 后的各塊數(shù)據(jù)間實施異或、加法和剩余中的至少一個運算,并在對該運算
結(jié)果實施了代替(substitution)處理(表變換運算處理)后,加以結(jié)合,而進(jìn) 行對上述輸入數(shù)據(jù)的擴散。
專利文獻(xiàn)l:日本特開昭62—113191號公報
但是,為了通過上述現(xiàn)有技術(shù)來實現(xiàn)高擾亂性,需要多個代替處理, 用硬件實現(xiàn)該代替處理需要多個門(gate),所以有不能減小硬件的門規(guī)模 的問題。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明所要解決的技術(shù)問題是實現(xiàn)具有高擾亂性、同 時可以使硬件的門規(guī)模比現(xiàn)有技術(shù)少的加密處理裝置。
為了解決上述問題,本發(fā)明的加密處理裝置,具備將n比特的輸入數(shù) 據(jù)變換為n比特的輸出數(shù)據(jù)的數(shù)據(jù)變換單元,其特征在于所述數(shù)據(jù)變換 單元包括取得單元,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群和第2 塊群構(gòu)成的所述輸入數(shù)據(jù);第1融合單元,使所述第1塊群中含有的任意 塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從 而由所述第2塊群生成第3塊群;擾亂單元,分別對于所述第1和第3塊群中含有的1個以上的塊數(shù)據(jù),將該塊數(shù)據(jù)分支為2個以上,并對分支后 的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循環(huán)移位結(jié)果,從而由所述第1和第3塊群 生成第4和第5塊群;第2融合單元,使所述第5塊群中含有的任意塊數(shù) 據(jù)分支而相對所述第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由 所述第4塊群生成第6塊群;以及輸出單元,輸出由所述第5和第6塊群 的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
本說明書中所謂加密處理不排除解密,廣義指包含加密和解密兩者的 概念。
本說明書中所謂循環(huán)移位是指0比特以上的循環(huán)移位、即還包含不循 環(huán)移位的情形的概念。 發(fā)明的效果
本發(fā)明的加密處理裝置通過具有上述結(jié)構(gòu),由于硬件規(guī)模減小,并通 過分支、循環(huán)移位、融合進(jìn)行數(shù)據(jù)的擾亂,所以與使用代替表的現(xiàn)有技術(shù) 相比可以減少硬件的門規(guī)模。
所述擾亂單元可以將所述塊數(shù)據(jù)分支為奇數(shù)個,并對所述分支后的塊 數(shù)據(jù)分別進(jìn)行不同比特數(shù)的循環(huán)移位。
根據(jù)該結(jié)構(gòu),由于擾亂單元進(jìn)行的變換是雙射變換,所以可以提高擾 亂性能。
另外,也可以是,所述第1塊群中含有的塊數(shù)據(jù)的個數(shù)與所述第2塊 群中含有的塊數(shù)據(jù)的個數(shù)相等;所述第1融合單元使所述第1塊群中含有 的任意塊數(shù)據(jù)分支而相對所述第2塊群中含有的所有的各塊數(shù)據(jù)進(jìn)行融合。 根據(jù)該結(jié)構(gòu),可以融合所有的塊數(shù)據(jù),融合前的數(shù)據(jù)的推測變得困難。 所述擾亂單元可以分別對于所述第1和第3塊群的所有塊數(shù)據(jù),將塊 數(shù)據(jù)分支為2個以上。
根據(jù)該結(jié)構(gòu),可以擾亂所有的塊數(shù)據(jù),擾亂前的數(shù)據(jù)的推測變得困難。 所述第2融合單元可以使所述第5塊群中含有的任意塊數(shù)據(jù)分支而分 別相對所述第4塊群中含有的所有塊數(shù)據(jù)進(jìn)行融合。
根據(jù)該結(jié)構(gòu),可以融合所有的塊數(shù)據(jù),融合前的數(shù)據(jù)的推測變得困難。 可以是,所述第2融合單元中,融合的2個塊數(shù)據(jù)在兩個塊數(shù)據(jù)的生 成過程中使用的塊數(shù)據(jù)不同。
7根據(jù)該結(jié)構(gòu),可以擴大輸入數(shù)據(jù)中某個數(shù)據(jù)對其他數(shù)據(jù)的擾亂產(chǎn)生影 響的范圍。
所述數(shù)據(jù)變換單元可以還包括密鑰融合單元,該密鑰融合單元使預(yù)先 提供的密鑰數(shù)據(jù)與通過所述取得單元取得的所述輸入數(shù)據(jù)融合而輸出到所 述第1融合單元。
另外,也可以是,所述密鑰融合單元通過對所述密鑰數(shù)據(jù)和所述輸入 數(shù)據(jù)進(jìn)行異或運算或算術(shù)加法運算來加以融合。
根據(jù)該構(gòu)成,通過預(yù)先融合輸入數(shù)據(jù)而使推測變得困難,使得輸入數(shù) 據(jù)即使一部分也不進(jìn)行明文保持原樣的處理,而可提高機密性。
另外,也可以是,所述數(shù)據(jù)變換單元還包括最終擾亂單元,在所述輸 出單元進(jìn)行的輸出前,該最終擾亂單元對于所述輸出數(shù)據(jù),將所述輸出數(shù)
據(jù)分支為2個以上,并對分支后的輸出數(shù)據(jù)進(jìn)行循環(huán)移位,并對循環(huán)移位
結(jié)果進(jìn)行融合。
根據(jù)該結(jié)構(gòu),可以進(jìn)一步增大擾亂程度,使數(shù)據(jù)的推測變得更困難。 本發(fā)明的數(shù)據(jù)變換方法,用于加密處理裝置所具備的數(shù)據(jù)變換單元,
該數(shù)據(jù)變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在 于,該方法包括取得步驟,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊 群和第2塊群構(gòu)成的所述輸入數(shù)據(jù);第1融合步驟,使所述第1塊群中含 有的任意塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行
融合,從而由所述第2塊群生成第3塊群;擾亂步驟,分別對于所述第1
和第3塊群中含有的1個以上的塊數(shù)據(jù),將該塊數(shù)據(jù)分支為2個以上,并 對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循環(huán)移位結(jié)果,從而由所述第1和 第3塊群生成第4和第5塊群;第2融合步驟,使所述第5塊群中含有的 任意塊數(shù)據(jù)分支而相對所述第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合, 從而由所述第4塊群生成第6塊群;以及輸出步驟,輸出由所述第5和第6 塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換程序,用于加密處理裝置所具備的數(shù)據(jù)變換單元, 該數(shù)據(jù)變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在 于,該程序包括取得步驟,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊
群和第2塊群構(gòu)成的所述輸入數(shù)據(jù);第1融合步驟,使所述第1塊群中含有的任意塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行 融合,從而由所述第2塊群生成第3塊群;擾亂步驟,分別對于所述第1 和第3塊群中含有的1個以上的塊數(shù)據(jù),將該塊數(shù)據(jù)分支為2個以上,并 對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循環(huán)移位結(jié)果,從而由所述第1和 第3塊群生成第4和第5塊群;第2融合步驟,使所述第5塊群中含有的 任意塊數(shù)據(jù)分支而相對所述第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合, 從而由所述第4塊群生成第6塊群;以及輸出步驟,輸出由所述第5和第6 塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
本發(fā)明的記錄媒體記錄了上述數(shù)據(jù)變換程序。
根據(jù)該結(jié)構(gòu),可以變換數(shù)據(jù),而不用使用代替表。
本發(fā)明的集成電路,用于具備數(shù)據(jù)變換單元的加密處理裝置,該數(shù)據(jù) 變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在于該 集成電路包括取得單元,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群 和第2塊群構(gòu)成的所述輸入數(shù)據(jù);第1融合單元,使所述第1塊群中含有 的任意塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融 合,從而由所述第2塊群生成第3塊群;擾亂單元,分別對于所述第l和 第3塊群中含有的1個以上的塊數(shù)據(jù),將該塊數(shù)據(jù)分支為2個以上,并對 分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循環(huán)移位結(jié)果,從而由所述第1和第3 塊群生成第4和第5塊群;第2融合單元,使所述第5塊群中含有的任意 塊數(shù)據(jù)分支而相對所述第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從 而由所述第4塊群生成第6塊群;以及輸出單元,輸出由所述第5和第6 塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
由于硬件規(guī)模變小,通過分支、循環(huán)移位、融合來進(jìn)行數(shù)據(jù)的擾亂, 所以與使用代替表的現(xiàn)有技術(shù)相比可以減小硬件的門規(guī)模。
圖1是表示本發(fā)明的一實施方式的加密通信系統(tǒng)的結(jié)構(gòu)圖; 圖2是表示本發(fā)明的一實施方式的加密部的結(jié)構(gòu)圖; 圖3是表示本發(fā)明的一實施方式的數(shù)據(jù)擾亂部的結(jié)構(gòu)圖; 圖4是表示本發(fā)明的一實施方式的數(shù)據(jù)變換部的結(jié)構(gòu)圖;圖5是表示本發(fā)明的一實施方式的第1融合部的結(jié)構(gòu)圖
圖6是表示本發(fā)明的一實施方式的第1擾亂部的結(jié)構(gòu)圖
圖7是表示本發(fā)明的一實施方式的第2融合部的結(jié)構(gòu)圖
圖8是表示本發(fā)明的一實施方式的第2擾亂部的結(jié)構(gòu)圖
圖9是表示本發(fā)明的一實施方式的解密部的結(jié)構(gòu)圖IO是加密處理的流程圖11是加密處理的流程圖12是表示解密處理的流程圖13是表示解密處理的流程圖。
符號說明
1加密通信系統(tǒng)
2加密裝置
3解密裝置
4通信路徑
11輸入部
12加密部
13加密密鑰保持部
14發(fā)送部
15輸出部
16解密部
17解密密鑰保持部
18接收部
21密鑰生成請求部
22密鑰控制部
23數(shù)據(jù)擾亂部
24次數(shù)控制部
25數(shù)據(jù)替換部
31分割部
32數(shù)據(jù)變換部
33異或部
1033解密密鑰保持部
34結(jié)合部
41加法部
42塊分割部
43第l融合部
44第1擾亂部
45第2融合部
46塊結(jié)合部
47第2擾亂部
51異或部
52異或部
55 《2比特旋轉(zhuǎn)部
63 ,66 異或部
71、72異或部
73、74比特旋轉(zhuǎn)部
75異或部
81密鑰生成請求部
82密鑰控制部
83數(shù)據(jù)擾亂部
84次數(shù)控制部
85數(shù)據(jù)替換部
具體實施例方式
說明本發(fā)明的一實施方式的加密通信系統(tǒng)。
圖1表示經(jīng)通信路徑4來連接加密裝置2與解密裝置3的加密通信系 統(tǒng)1的結(jié)構(gòu)。
加密裝置2加密從外部輸入的應(yīng)隱匿的消息的明文數(shù)據(jù)PT,并將作為 加密明文數(shù)據(jù)PT后的結(jié)果的加密數(shù)據(jù)CT經(jīng)通信路徑4發(fā)送到解密裝置3。
加密裝置2不進(jìn)行代替變換而進(jìn)行加密處理,由此,與現(xiàn)有技術(shù)相比 抑制了進(jìn)行加密處理的部分硬件規(guī)模。解密裝置3經(jīng)通信路徑4接收加密裝置2發(fā)送的加密數(shù)據(jù)CT,并通過 對加密數(shù)據(jù)CT進(jìn)行解密而生成解密數(shù)據(jù)DT后輸出到外部。
這里,若通過解密裝置3正常解密了加密數(shù)據(jù)CT,則解密數(shù)據(jù)DT與 明文數(shù)據(jù)PT—致。另外,由于在通信路徑4上,加密了從加密裝置2向解 密裝置3發(fā)送的數(shù)據(jù),所以即便非法者竊聽了通信路徑4,也不能知道作為 應(yīng)隱匿的消息的明文數(shù)據(jù)PT。
通信路徑4是傳送數(shù)據(jù)的通信路徑,例如是互聯(lián)網(wǎng)及電話線、專用線、 USB線纜等。
下面,詳細(xì)說明加密通信系統(tǒng)1的各構(gòu)成要素。
1.結(jié)構(gòu)
1. 1.加密裝置2的結(jié)構(gòu)
加密裝置2如圖1所示,構(gòu)成為包括輸入部11、加密部12、加密密鑰 保持部13與發(fā)送部14。
1. 1. 1.輸入部ll、加密密鑰保持部13、發(fā)送部14
輸入部11從外部接收64比特的明文數(shù)據(jù)PT的輸入,并將所輸入的明 文數(shù)據(jù)PT輸出到加密部12。本實施方式中,設(shè)輸入部ll包括鍵盤和計算 機鼠標(biāo)。持有加密裝置2的用戶使用上述鍵盤和計算機鼠標(biāo),來進(jìn)行作為 應(yīng)隱匿的消息的明文數(shù)據(jù)PT的輸入。
加密密鑰保持部13保持256比特的加密密鑰EK。加密密鑰EK的值 與后述的解密裝置3具有的解密密鑰保持部17保持的解密密鑰DK的值相 同。
發(fā)送部14從加密部12接受加密數(shù)據(jù)CT,并經(jīng)通信路徑4將加密數(shù)據(jù) CT向解密裝置3發(fā)送。 1. 1. 2.加密部12
加密部12接受明文數(shù)據(jù)PT,從加密密鑰保持部13取得加密密鑰EK, 并使用加密密鑰EK來加密明文數(shù)據(jù)PT后,將作為該加密結(jié)果的加密數(shù)據(jù) CT向發(fā)送部14輸出。
加密部12如圖2所示,構(gòu)成為包含密鑰生成請求部21、密鑰控制部 22、數(shù)據(jù)擾亂部23、次數(shù)控制部24與數(shù)據(jù)替換部25。加密部12具體來說 是具有多個功能部的專用微計算機等。各功能部通過在微計算機中寫入的程序來實現(xiàn)。各功能部可以是分別獨立的微計算機。
1. 1. 2. 1.密鑰生成請求部21、密鑰控制部22、次數(shù)控制部24、數(shù) 據(jù)替換部25
密鑰生成請求部21從輸入部11接受明文數(shù)據(jù)PT作為輸入數(shù)據(jù)IN, 并將部分密鑰生成請求REQSK輸出到密鑰控制部22,對次數(shù)控制部24輸 出復(fù)位信號,并將輸入數(shù)據(jù)IN輸出到數(shù)據(jù)擾亂部23。密鑰生成請求部21 在從次數(shù)控制部24接受輸入數(shù)據(jù)IN后,將輸入數(shù)據(jù)IN輸出到數(shù)據(jù)擾亂部 23。
密鑰控制部22在從密鑰生成請求部21受理部分密鑰生成請求REQSK 后,從加密密鑰保持部13取得256比特的加密密鑰EK,并將加密密鑰EK 分割為分別為32比特長度的部分密鑰SK1 SK8。具體來說,將加密密鑰 EK的第1比特到第32比特的值作為部分密鑰SK1,將加密密鑰EK的第 33比特到第64比特的值作為部分密鑰SK2,...,將加密密鑰EK的第225 比特到第256比特的值作為部分密鑰SK8。
密鑰控制部22從次數(shù)控制部24受理值為i (i是1以上8以下的自然 數(shù))的部分密鑰序號時,將與部分密鑰序號對應(yīng)的部分密鑰SKi輸出到數(shù) 據(jù)擾亂部23。例如,在部分密鑰序號是l的情況下,密鑰控制部22將部分 密鑰SK1輸出到數(shù)據(jù)擾亂部23。
數(shù)據(jù)擾亂部23在從密鑰生成請求部21取得64比特的輸入數(shù)據(jù)IN,且 從密鑰控制部22取得了 32比特的部分密鑰數(shù)據(jù)SKi的情況下,使用部分 密鑰數(shù)據(jù)SKi和輸入數(shù)據(jù)IN來進(jìn)行擾亂處理,并將作為其結(jié)果的64比特 的輸出數(shù)據(jù)OUT輸出到次數(shù)控制部24。后面描述數(shù)據(jù)擾亂部23的細(xì)節(jié)。
次數(shù)控制部24計數(shù)數(shù)據(jù)擾亂部23進(jìn)行的擾亂處理的次數(shù),控制為使 擾亂處理執(zhí)行規(guī)定擾亂次數(shù)。本實施方式中,設(shè)所述規(guī)定擾亂次數(shù)為8次。
次數(shù)控制部24在從密鑰生成請求部21接收到復(fù)位信號后,將計數(shù)值 復(fù)位為0,并將(計數(shù)值+l)作為部分密鑰序號發(fā)送到密鑰控制部22。在 剛剛復(fù)位后的情況下,對密鑰控制部22發(fā)送的部分密鑰序號是1。
并且,若從數(shù)據(jù)擾亂部23接受輸出數(shù)據(jù)OUT,則將計數(shù)值遞增l,在 計數(shù)值不足規(guī)定擾亂次數(shù)的情況下,將(計數(shù)值+l)作為部分密鑰序號發(fā) 送到密鑰控制部22,并且,將所接受的輸出數(shù)據(jù)OUT作為輸入數(shù)據(jù)IN輸出到密鑰生成請求部21。
在計數(shù)值與規(guī)定擾亂次數(shù)相同的情況下,次數(shù)控制部24不向密鑰控制 部22發(fā)送部分密鑰序號,而將從數(shù)據(jù)擾亂部23接受的輸出數(shù)據(jù)OUT作為 中間數(shù)據(jù)CCT輸出到數(shù)據(jù)替換部25。
這里,中間數(shù)據(jù)CCT是64比特數(shù)據(jù)。
數(shù)據(jù)替換部25取得中間數(shù)據(jù)CCT后,對中間數(shù)據(jù)CCT的低位32比 特的值和高位32比特的值進(jìn)行替換,并將作為該替換后的結(jié)果的加密數(shù)據(jù) CT輸出到發(fā)送部14。
1. 1. 2. 2.數(shù)據(jù)擾亂部23
下面,使用圖3來詳細(xì)說明數(shù)據(jù)擾亂部23。
數(shù)據(jù)擾亂部23構(gòu)成為包含分割部31、數(shù)據(jù)變換部32、異或部33和結(jié) 合部34。
分割部31在取得64比特的輸入數(shù)據(jù)IN后,將作為輸入數(shù)據(jù)IN的低 位32比特的值的X0向異或部33輸出,并將作為高位32比特的值的XI 向數(shù)據(jù)變換部32輸出。分割部31將X1向結(jié)合部34輸出來作為Y0。
異或部33算出從分割部31取得的X0與從數(shù)據(jù)變換部32取得的X2 之間的比特單位的異或(ExclusiveOR、 XOR),并將其結(jié)果Yl (=X0 ( + ) X2)向結(jié)合部34輸出。
這里,"(+ )"的記載表示異或運算。
結(jié)合部34從分割部31取得Y0,從異或部33取得Y1。然后,結(jié)合部 34將Y0作為低位32比特,將Yl作為高位32比特來結(jié)合,并將作為其結(jié) 合結(jié)果的64比特的輸出數(shù)據(jù)OUT輸出到次數(shù)控制部24。
數(shù)據(jù)變換部32在從分割部31取得XI,且從密鑰控制部22取得了部 分密鑰SKi (SKi是SKI到SK8中的任意一個)的情況下,通過使用部分 密鑰SKi來對Xl進(jìn)行數(shù)據(jù)變換,而生成32比特的X2。并且,數(shù)據(jù)變換部 32將所生成的X2向異或部33輸出。
圖4是表示數(shù)據(jù)變換部32的結(jié)構(gòu)框圖。
數(shù)據(jù)變換部32構(gòu)成為包含加法部41、塊分割部42、第1融合部43、 第1擾亂部44、第2融合部45、塊結(jié)合部46和第2擾亂部47。
加法部41在從分割部31受理了 XI,從密鑰控制部22受理了部分密
14鑰SKi的情況下,對XI和Ski進(jìn)行算術(shù)加法。并將作為其結(jié)果的T ( =X1 十SKi)輸出到塊分割部42。
這里所謂算術(shù)加法是指通常的有進(jìn)位的加法,但是對第33比特舍去。 換言之,這里的算術(shù)加法的結(jié)果是用通常有進(jìn)位的加法結(jié)果除以2 a 32后 的剩余。這里,"a "的記載表示冪乗運算,例如2 ^ 5 = 32。
塊分割部42從加法部41受理上述的32比特的值T,將該T分割為由 分別是8比特的數(shù)據(jù)構(gòu)成的4個塊A1、 Bl、 A2、 B2后輸出到第l融合部 43。這里,T的第1比特到第8比特為B2,第9比特到第16比特為A2, 第17比特到第24比特為Bl,第25比特到第32比特為Al。
第1融合部43如圖5所示,構(gòu)成為包含分別計算邏輯異或的異或部51 和異或部52。
第1融合部43從塊分割部42接受A1、 Bl、 A2、 B2。并且,對于A1、 A2,原樣輸出到第1擾亂部44。下面,將原樣輸出到第1擾亂部44的由 A1和A2構(gòu)成的塊數(shù)據(jù)群稱作第1塊數(shù)據(jù)群。并且,對于B1,通過異或部 51來計算與A1的異或,并將其結(jié)果C1 (=B1 ( + ) Al)輸出到第l擾亂 部44。
對于B2,通過異或部52計算與A2的異或,并將其結(jié)果C2 (二B2 ( + ) A2)輸出到第1擾亂部44。
下面,將由進(jìn)行了異或計算的Bl、 B2構(gòu)成的塊數(shù)據(jù)群稱作第2塊數(shù) 據(jù)群,將由作為其計算結(jié)果的C1、 C2構(gòu)成的塊數(shù)據(jù)群稱作第3塊數(shù)據(jù)群。
第1擾亂部44如圖6所示,構(gòu)成為包含3比特旋轉(zhuǎn)部55、 5比特旋轉(zhuǎn) 部56、 2比特旋轉(zhuǎn)部57、 6比特旋轉(zhuǎn)部58、 4比特旋轉(zhuǎn)部59、 7比特旋轉(zhuǎn) 部60、 l比特旋轉(zhuǎn)部61、 5比特旋轉(zhuǎn)部62與異或部63 66。
這里,圖6中所示的記號"<<X"表示對輸入值進(jìn)行X比特的循環(huán) 移位(shift-rotating)。
第1擾亂部44從第1融合部43受理A1、 Cl、 A2、 C2。
3比特旋轉(zhuǎn)部55、 5比特旋轉(zhuǎn)部56、 2比特旋轉(zhuǎn)部57、 6比特旋轉(zhuǎn)部 58、 4比特旋轉(zhuǎn)部59、 7比特旋轉(zhuǎn)部60、 1比特旋轉(zhuǎn)部61、 5比特旋轉(zhuǎn)部 62分別進(jìn)行循環(huán)移位運算來作為旋轉(zhuǎn)運算。例如3比特旋轉(zhuǎn)部55對輸入數(shù) 據(jù)實施3比特循環(huán)移位運算。在輸入數(shù)據(jù)為2進(jìn)制數(shù)據(jù)00110000的情況下,輸入數(shù)據(jù)被3比特循環(huán)移位后的結(jié)果為10000001。
將第1擾亂部44受理的Al供給3比特旋轉(zhuǎn)部55、 5比特旋轉(zhuǎn)部56、
異或部63中的每一個。
下面,將這樣塊數(shù)據(jù)輸入到多個處理部的情形稱作分支(brancWng)。 3比特旋轉(zhuǎn)部55對A1進(jìn)行3比特循環(huán)移位運算,并將其結(jié)果(Rot(Al,
3) )輸出到異或部63。
這里,"Rot (X, Y)"的標(biāo)記表示對X進(jìn)行Y比特循環(huán)移位后的值。 5比特旋轉(zhuǎn)部56對Al進(jìn)行5比特的循環(huán)移位運算,并將其結(jié)果(Rot (Al, 5))輸出到異或部63。異或部63生成A1、 Rot (Al, 3) 、 Rot (Al, 5) 的異或,并將其結(jié)果D1 (二A1 ( + ) Rot (Al, 3) ( + ) Rot (Al, 5)) 輸出到第2融合部45。
Cl供給到2比特旋轉(zhuǎn)部57、 6比特旋轉(zhuǎn)部58、異或部64中的每一個。 2比特旋轉(zhuǎn)部57對A1進(jìn)行2比特循環(huán)移位運算,將其結(jié)果(Rot(Cl, 2)) 輸出到異或部64。 6比特旋轉(zhuǎn)部58對Cl進(jìn)行6比特循環(huán)移位運算,將結(jié) 果(Rot(Cl, 6))輸出到異或部64。異或部64生成C1、 Rot (Cl, 2)、 Rot (Cl, 6)的異或,并將其結(jié)果El (二C1 ( + ) Rot (Cl, 2) ( + ) Rot (Cl, 6))輸出到第2融合部45。
A2供給4比特旋轉(zhuǎn)部59、 7比特旋轉(zhuǎn)部60、異或部65中的每一個。4 比特旋轉(zhuǎn)部59對A2進(jìn)行4比特循環(huán)移位運算,并將其結(jié)果(Rot(A2, 4)) 輸出到異或部65。 7比特旋轉(zhuǎn)部60對A2進(jìn)行7比特循環(huán)移位運算,并將 其結(jié)果(Rot (A2, 7))輸出到異或部65。異或部65生成A2、 Rot (A2,
4) 、 Rot (A2, 7)的異或,并將其結(jié)果D2 (二A2 ( + ) Rot (A2, 4) ( + ) Rot (A2, 7))輸出到第2融合部45。
C2供給1比特旋轉(zhuǎn)部60、 5比特旋轉(zhuǎn)部62、異或部66中的每一個。1 比特旋轉(zhuǎn)部61對C2進(jìn)行1比特循環(huán)移位運算,并將其結(jié)果(Rot(C2, 1)) 輸出到異或部66。 5比特旋轉(zhuǎn)部62對C2進(jìn)行5比特循環(huán)移位運算,并將 其結(jié)果(Rot (C2, 5))輸出到異或部66。異或部66生成C2、 Rot (C2, 1) 、 Rot (C2, 5)的異或,并將其結(jié)果E2 (=C2 ( + ) Rot (C2, 1) ( + ) Rot (C2, 5))輸出到第2融合部45。
這里,將由作為對第l塊數(shù)據(jù)群(Al、 A2)的擾亂處理的結(jié)果的D1、
16D2構(gòu)成的數(shù)據(jù)塊群在下面稱作第4塊數(shù)據(jù)群。將由作為對第3塊數(shù)據(jù)群 (Cl、 C2)的擾亂處理結(jié)果的E1、 E2構(gòu)成的數(shù)據(jù)塊群在下面稱作第5塊數(shù) 據(jù)群。
第2融合部45如圖7所示,構(gòu)成為包含異或部71和異或部72,從第 1擾亂部44受理D1、 El、 D2、 E2。第2融合部45對El和E2進(jìn)行分支, 并對分支后的一個E1和E2,原樣輸出到塊結(jié)合部46。
對于D1,異或部71計算與分支后的另一個E2的異或,并對塊結(jié)合部 46輸出其結(jié)果F1 (=D1 ( + ) E2)。
對于D2,異或部72運算對分支后的另一個E1的異或,并對塊結(jié)合部 46輸出其結(jié)果F2 (二D2 ( + ) El)。
將由作為異或運算的結(jié)果的Fl和F2構(gòu)成的塊數(shù)據(jù)群在下面稱作第6 塊數(shù)據(jù)群。
這里,在第1融合部43和第2融合部45中,融合的塊的組合不同。 即,第1融合部43中,融合從左起第1個塊(Al)和第2個塊(Bl), 另外,融合第3個塊(A2)和第4個塊(B2)。與此相對,第2融合部45 中,融合從左起第l個塊(Dl)和第4個塊(E2),另外,融合第2個塊 (El)與第3個塊(D2)。
這是因為在提供例如僅1比特的值不同的多個輸入數(shù)據(jù)時,可以擴展 該1比特的不同對輸出數(shù)據(jù)的影響范圍。
塊結(jié)合部46在從第2融合部45受理第5塊數(shù)據(jù)群中含有的El、 E2 和第6塊數(shù)據(jù)群中含有的F1、 F2后,結(jié)合F1、 F2、 El、 E2,并將作為其 結(jié)合結(jié)果的32比特的值G輸出到第2擾亂部47。這里,E2為G的第1比 特到第8比特,F(xiàn)2是G的第9比特到第16比特,El是G的第17比特到 第24比特,F(xiàn)l是G的第25比特到第32比特。
第2擾亂部47構(gòu)成為包含13比特旋轉(zhuǎn)部73、 17比特旋轉(zhuǎn)部74和異 或部75,從塊結(jié)合部46接受G。
將G供給13比特旋轉(zhuǎn)部73、 17比特旋轉(zhuǎn)部74、異或部75中的每一個。
13比特旋轉(zhuǎn)部73對G進(jìn)行13比特的循環(huán)移位運算,并將其結(jié)果(Rot (G, 13))輸出到異或部75。 17比特旋轉(zhuǎn)部74對G進(jìn)行17比特的循環(huán)移位運算,并將其結(jié)果(Rot (G, 5))輸出到異或部75。異或部75生成 G、 Rot (G, 13) 、 Rot (G, 17)的異或,并將其結(jié)果X2 (二G ( + ) Rot (G, 13) ( + ) Rot (G, 17))輸出到異或部33。
1. 2.解密裝置3的結(jié)構(gòu)
接著,說明解密裝置3。
解密裝置3如圖1所示,構(gòu)成為包含輸出部15、解密部16、解密密鑰 保持部17和接收部18。
1. 2. 1.輸出部15、解密密鑰保持部17、接收部18
輸出部15從解密部16取得解密數(shù)據(jù)DT后向外部輸出。例如,將顯 示器與輸出部15相連,輸出部15將解密數(shù)據(jù)DT顯示在上述顯示器上。
解密密鑰保持部17保持256比特的解密密鑰DK。解密密鑰DK的值 與加密裝置2的加密密鑰保持部13保持的加密密鑰CK的值相同。
接收部18經(jīng)通信路徑4從加密裝置2的發(fā)送部14接收加密數(shù)據(jù)CT, 并將該加密數(shù)據(jù)CT向解密部16輸出。
1. 2. 2.解密部16
解密部16如圖9所示,構(gòu)成為包含密鑰生成請求部81、密鑰控制部 82、數(shù)據(jù)擾亂部83和次數(shù)控制部84。解密部16具體上是具有多個功能部 的專用微計算機等。各功能部通過寫入到微計算機中的程序來實現(xiàn)。各功 能部可以是獨立的微計算機。
密鑰生成請求部81在從接收部18受理了加密數(shù)據(jù)CT的輸入的情況 下,將部分密鑰生成請求REQSK輸出到密鑰控制部82,對次數(shù)控制部84 輸出復(fù)位信號,并將加密數(shù)據(jù)CT作為輸入數(shù)據(jù)IN輸出到數(shù)據(jù)擾亂部83。
密鑰生成請求部81在從次數(shù)控制部84接收到輸入數(shù)據(jù)IN后,將其輸 入數(shù)據(jù)IN輸出到數(shù)據(jù)擾亂部83。
密鑰控制部82在從密鑰生成請求部81接收到部分密鑰生成請求 REQSK后,從解密密鑰保持部33取得256比特的解密密鑰DK,并將解密 密鑰DK分割為分別為32比特長度的部分密鑰SK1 SK8。具體上,解密 密鑰DK的第1比特到第32比特的值為部分密鑰SK1 ,解密密鑰DK的第 33比特到第64比特的值為部分密鑰SK2、…、解密密鑰DK的第225比特 到第256比特的值為部分密鑰SK8。密鑰控制部82在從次數(shù)控制部84接收到值為j (j是1以上8以下的 自然數(shù))的部分密鑰序號后,將與部分密鑰序號對應(yīng)的部分密鑰SKj輸出 到數(shù)據(jù)擾亂部83。例如在部分密鑰序號的值為1的情況下,密鑰控制部82 將部分密鑰SK1輸出到數(shù)據(jù)擾亂部83。
數(shù)據(jù)擾亂部83在從密鑰生成請求部81取得64比特的輸入數(shù)據(jù)IN,且 從密鑰控制部82取得了 32比特的部分密鑰SKj的情況下,使用部分密鑰 SKj與輸入數(shù)據(jù)IN來進(jìn)行擾亂處理,并將作為其結(jié)果的64比特的輸出數(shù) 據(jù)OUT輸出到次數(shù)控制部84。由于數(shù)據(jù)擾亂部83的結(jié)構(gòu)與數(shù)據(jù)擾亂部23 的結(jié)構(gòu)相同,所以省略說明。
次數(shù)控制部84對數(shù)據(jù)擾亂部83進(jìn)行的擾亂處理的次數(shù)進(jìn)行計數(shù),并 控制為將擾亂處理執(zhí)行規(guī)定擾亂次數(shù)。本實施方式中設(shè)所述規(guī)定擾亂次數(shù) 是8次。
次數(shù)控制部84在從密鑰生成請求部81受理復(fù)位信號后,將計數(shù)值復(fù) 位為0,并將(8 —計數(shù)值)作為部分密鑰序號發(fā)送到密鑰控制部82。該情 況下,發(fā)送到密鑰控制部82的部分密鑰序號是8。
并且,在從數(shù)據(jù)擾亂部83接受到輸出數(shù)據(jù)OUT后,將計數(shù)值遞增1, 在計數(shù)值不足規(guī)定擾亂次數(shù)的情況下,將(8 —計數(shù)值)作為部分密鑰序號 發(fā)送到密鑰控制部22。即,通過與加密裝置2中的加密所用的順序相反的 順序來輸出部分密鑰。并且,次數(shù)控制部84將所接受的輸出數(shù)據(jù)OUT作 為輸入數(shù)據(jù)IN輸出到密鑰生成請求部81。
在計數(shù)值與規(guī)定擾亂次數(shù)相同的情況下,次數(shù)控制部84不向密鑰控制 部82發(fā)送部分密鑰序號,而將從數(shù)據(jù)擾亂部83接受的輸出數(shù)據(jù)OUT作為 解密中間數(shù)據(jù)DCT輸出到數(shù)據(jù)替換部85。這里,解密中間數(shù)據(jù)DCT是64 比特數(shù)據(jù)。
數(shù)據(jù)替換部85在取得64比特的解密中間數(shù)據(jù)DCT后,對解密中間數(shù) 據(jù)DCT的低位32比特的值與高位32比特的值進(jìn)行替換,并將作為其替換 后的結(jié)果的解密數(shù)據(jù)DT輸出到輸出部15。
2.數(shù)據(jù)處理
2. 1.加密處理
接著,使用
通過如上這樣構(gòu)成的加密裝置2,對輸入數(shù)據(jù)IN
19進(jìn)行的加密處理。
圖IO和圖11是表示加密裝置2進(jìn)行的加密處理的圖。 加密裝置2中,首先將PT作為IN取得(步驟S1)。 接著,將作為內(nèi)部變量的計數(shù)值初始化為O (步驟S2)。 將IN分割為高位32比特的值X1與低位32比特X0 (步驟S3)。 并且,使用部分密鑰SKi和Xl來生成T (步驟s5)。 T— (SKi十Xl) % 2 "2
這里,i是計數(shù)值+l (步驟s4)。"一"的記載表示代入,"X%Y" 的記載表示剩余、即用Y除X后的情況下的余數(shù)。
T是32比特的值,從高位起按每8比特劃分為4個(步驟S6)。該劃 分后的8比特的數(shù)據(jù)分別是A1、 Bl、 A2、 B2。
接著,使用A1、 Bl、 A2、 B2生成C1、 C2 (步驟S7)。
C1—Bl (十)Al
C2—B2 (十)A2
接著,分別使用Al、 Cl、 A2、 C2來生成D1、 El、 D2、 E2 (步驟S8)。
D1—Al (十)Rot (Al, 3)(十)Rot (Al, 5)
El—Cl (十)Rot (C1, 2)(十)Rot (Cl, 6)
D2—A2 (十)Rot (A2, 4)(十)Rot (A2, 7)
E2—C2 (十)Rot (C2, 1)(十)Rot (C2, 5)
接著,使用D1、 El、 D2、 E2生成F1禾BF2 (步驟S9)。
Fl—Dl (十)
F2—D2 (十)El
并且,通過連結(jié)F1、 F2、 El、 E2來生成G (步驟SIO)。
G—F1II F2 ||E1 II E2
這里,"||"的記載表示比特連結(jié)。
并且,使用G生成X2 (步驟Sll)。
X2—G (十)Rot (G, 13)(十)Rot (G, 17)
接著,使用X0、 X2生成Y1 (步驟S12)。
Y1—X0 (十)X2
接著,使用Y0和Yl生成OUT (步驟S13)。OUT—Yl|| Y0
這里,Y0值與X1相同。
接著,將計數(shù)值遞增1 (步驟S14),在上述計數(shù)值不足8的情況下(步 驟S15:是),將步驟S13中生成的輸出數(shù)據(jù)OUT作為輸入數(shù)據(jù)IN (步驟 S16),并對該輸入數(shù)據(jù)IN重復(fù)從步驟S3起的處理。
在上述計數(shù)值是8以上的情況下(步驟S15:否),將步驟S13中生 成的輸出數(shù)據(jù)OUT作為中間數(shù)據(jù)CCT (步驟S17),并通過對中間數(shù)據(jù) CCT的高位32比特和低位32比特的值進(jìn)行替換,從而生成作為該替換后 的結(jié)果的加密數(shù)據(jù)CT (步驟S18)。
2. 2.解密處理
接著,使用附圖來說明通過上述這樣構(gòu)成的解密裝置3來解密處理通 過上述的加密處理生成的CT的順序。
解密裝置3中,首先將CT作為IN取得(步驟S31)。
接著,將作為內(nèi)部變量的計數(shù)值初始化為O (步驟S32)。
將IN分割為高位32比特的值X1和低位32比特X0 (步驟S33)。
并且,使用部分密鑰SKj和Xl來生成T (步驟S35)。
T— (SKj十Xl) %2^32
這里,j是8—計數(shù)值(步驟S34)。
T是32比特的值,從高位起每8比特劃分為4個(步驟S36)。該劃 分后的8比特的數(shù)據(jù)分別是A1、 Bl、 A2、 B2。
接著,使用A1、 Bl、 A2、 B2來生成C1、 C2 (步驟S37)。 C1一B1 (十)Al C2—B2 (十)A2
接著,分別使用Al、 Cl、 A2、 C2來生成Dl、 El、 D2、 E2 (步驟S38)。
D1—Al (十)Rot (Al, 3)(十)Rot (Al, 5)
El—Cl (十)Rot (C1, 2)(十)Rot (Cl, 6)
D2—A2 (十)Rot (A2, 4)(十)Rot (A2, 7)
E2—C2 (十)Rot (C2, 1)(十)Rot (C2, 5)
接著,使用D1、 El、 D2、 E2來生成F1與F2 (步驟S39)。
Fl—Dl (十)E2F2—D2 (十)El
并且,通過連結(jié)F1、 F2、 El、 E2來生成G (步驟S40)。
G—Fl II F2 II El II E2
這里,"II"的記載表示比特連結(jié)。
使用G生成X2 (步驟S41)。
X2—G (十)Rot (G, 13)(十)Rot (G, 17)
接著,使用X0、 X2生成Y1 (步驟S42)。
Y1—X0 (十)X2
接著,使用Y0與Yl來生成OUT (步驟S43)。 OUT—YI ||Y0
這里,若解密成功,則Y0值與X1相同。
接著,將計數(shù)值遞增1 (步驟S44),在上述計數(shù)值不足8的情況下(步 驟S45:是),將步驟S43中生成的輸出數(shù)據(jù)OUT作為加密數(shù)據(jù)CT (步 驟S46),并對該加密數(shù)據(jù)CT重復(fù)從步驟S33起的處理。
上述計數(shù)值為8以上的情況下(步驟S45:否),將步驟S33中生成 的輸出數(shù)據(jù)OUT作為解密中間數(shù)據(jù)DCT (步驟S47),并通過對解密中間 數(shù)據(jù)DCT的高位32比特與低位32比特的值進(jìn)行替換,從而生成作為其結(jié) 果的解密數(shù)據(jù)DT (步驟S48)。
3.效果
下面,對通過之前說明的本發(fā)明,實現(xiàn)可得到高擾亂性的效果進(jìn)行說 明。擾亂性的評價使用現(xiàn)有的評價方法。上述評價方法中,將輸入某個輸 入數(shù)據(jù)后得到的輸出數(shù)據(jù)與輸入和上述輸入數(shù)據(jù)有1比特不同的數(shù)據(jù)而得 到的輸出數(shù)據(jù),有多少比特不同作為指標(biāo)。比較各輸出數(shù)據(jù),不同的比特 數(shù)越多,擾亂性越高。
這里,設(shè)對數(shù)據(jù)變換部32中的加法部41輸入有1比特不同的2個輸 入數(shù)據(jù)。分別通過塊分割部42、第1融合部43、第1擾亂部44、第2融合 部45和塊結(jié)合部46來處理2個輸入數(shù)據(jù)。并且,比較與2個輸入數(shù)據(jù)對 應(yīng)的來自塊結(jié)合部46的輸出來評價擾亂性。
由于根據(jù)2個輸入數(shù)據(jù)的哪個位置的比特不同,評價結(jié)果不同,所以 分為4種情形來加以說明。3. 1 2個輸入數(shù)據(jù)間,第1比特到第8比特的某1個比特不同的情形
說明2個32比特輸入數(shù)據(jù)中,第1比特到第8比特的某1個比特不同, 其余31比特完全相同的情形。
具體而言,設(shè)2個輸入數(shù)據(jù)在塊分割部42的分割后,在成為B2的位 置上含有的1比特不同。
首先,將2個輸入數(shù)據(jù)分別輸入到塊分割部42。如上所述,塊分割部 42進(jìn)行的各個輸入數(shù)據(jù)的分割結(jié)果在B2中有1比特不同,其他A1、 Bl、 A2完全相同。
并且,在第1融合部43中,將A2與B2融合,但由于A2的任何一個 輸入數(shù)據(jù)都相同,所以通過融合彼此不同的比特數(shù)沒有增減。因此,第1 融合部43的輸出是,C2中有l(wèi)比特不同,其他A1、 Cl、 A2輸入數(shù)據(jù)都 完全相同。
接著,在第1擾亂部44中,進(jìn)行第1融合部43的輸出的擾亂處理。
第1擾亂部44的擾亂處理為在輸入有1比特不同的情況下,輸出必然 有3比特不同的結(jié)構(gòu)。這是因為通過分別用不同移位數(shù)(旋轉(zhuǎn)量)來循 環(huán)移位(旋轉(zhuǎn))有l(wèi)比特不同的部分,并且融合移位后的值。
因此,與輸入C2對應(yīng)的第1擾亂部44的輸出E2變?yōu)橛?比特不同。 其他D1、 El、 D2,由于任何一個輸入數(shù)據(jù)的情況下作為擾亂對象的數(shù)據(jù)相 同,所以完全相同。
第2融合部45中,將E2與D1融合。由于E2有3比特不同,Dl輸 入數(shù)據(jù)全都完全相同,所以融合后的輸出F1必然有3比特不同。其他E1、 F2任何一個的輸入數(shù)據(jù)都完全相同。
最后,在塊結(jié)合部46中,結(jié)合Fl、 El、 F2、 E2。這里,由于Fl和 E2分別平均有3比特不同,所以結(jié)合后的值、即輸出有6比特不同。
3. 2在2個輸入數(shù)據(jù)間,第9比特到第16比特的某1個比特不同的
情形
說明2個32比特輸入數(shù)據(jù)中,第9比特到第16比特的某1個比特不 同,其余31比特完全相同的情況。
具體而言,設(shè)2個輸入數(shù)據(jù),在塊分割部42的分割后,在成為A2的 位置上含有的l比特不同。
23首先,將該2個輸入數(shù)據(jù)分別輸入到塊分割部42。如上所述,基于塊 分割部42的各個輸入數(shù)據(jù)的分割結(jié)果在A2中有1比特不同,其他Al、 Bl、 B2完全相同。
在第1融合部43中,將有1比特不同的A2與完全相同的B2融合。 因此,第1融合部43的輸出中,變?yōu)锳2和C2有1比特不同。其他A1、 Cl中輸入數(shù)據(jù)全都完全相同。接著,在第1擾亂部44中,進(jìn)行第1融合 部43的輸出的擾亂處理。與輸入A2和輸入C2對應(yīng)的第1擾亂部44的輸 出D2與E2分別有3比特不同。其他Dl、 El,由于任何一個輸入數(shù)據(jù)的 情況下作為擾亂對象的數(shù)據(jù)相同,所以完全相同。
在第2融合部45中,將E2與Dl融合。E2有3比特不同,由于Dl 任何一個輸入數(shù)據(jù)都完全相同,所以融合后的輸出Fl必然有3比特不同。 由此,第2融合部45的輸出中,F(xiàn)l、 F2和E2分別有3比特不同。
最后,在塊結(jié)合部46中,結(jié)合F1、 El、 F2、 E2。這里,由于F1、 F2 和E2分別平均有3比特不同,所以結(jié)合后的值、即輸出有最低9比特不同。
3. 3在2個輸入數(shù)據(jù)間,第17比特到第24比特的某1個比特不同的
情形
說明2個32比特輸入數(shù)據(jù)中,第17比特到第24比特的某1個比特不 同,其余31比特完全相同的情況。具體而言,設(shè)2個輸入數(shù)據(jù)在塊分割部 42的分割后,成為Bl的位置上含有的1比特不同。
首先,將該2個輸入數(shù)據(jù)分別輸入到塊分割部42。如上所述,塊分割 部42進(jìn)行的各個輸入數(shù)據(jù)的分割結(jié)果在Bl中有1比特不同,其他Al、 A2、 B2完全相同。
在第1融合部43中,由于即使將A1與B1融合,Al中任何一個輸入 數(shù)據(jù)都相同,所以通過融合彼此不同的比特數(shù)不增減。因此,第I融合部 43的輸出Cl中有1比特不同,其他Al、 A2、 C2輸入數(shù)據(jù)都完全相同。 接著,在第1擾亂部44中,進(jìn)行第1融合部43的輸出的擾亂處理。與輸 入C1對應(yīng)的第1擾亂部44的輸出E1變?yōu)橛?比特不同。其他D1、 D2、 E2,由于在任何一個輸入數(shù)據(jù)的情況下作為擾亂對象的數(shù)據(jù)相同,所以完 全相同。
在第2融合部45中,將El與D2融合。由于El有3比特不同,D2完全相同,所以融合后的輸出F2必然有3比特不同。最后,在塊結(jié)合部46 中,結(jié)合F1、 El、 F2、 E2。這里,由于E1與F2分別平均有3比特不同, 所以結(jié)合后的值、S卩、輸出最低有6比特不同。
3. 4在2個輸入數(shù)據(jù)間,第25比特到第32比特的某1個比特不同的
情形
說明在2個32比特輸入數(shù)據(jù)中,第25比特到第32比特的某1個比特 不同,其余31比特完全相同的情況。具體而言,設(shè)2個輸入數(shù)據(jù)在塊分割 部42的分割后,在成為Al的位置上含有的1比特有不同。
首先,將該2個輸入數(shù)據(jù)分別輸入到塊分割部42。如上所述,基于塊 分割部42的各個輸入數(shù)據(jù)的分割結(jié)果在Al中有1比特不同,其他Bl、 A2、 B2完全相同。
在第1融合部43中,有1比特不同的Al與完全相同的Bl融合,而 變?yōu)镃1。由此,第1融合部43的輸出中,A1和C1有1比特不同。
并且,其他的A2、 C2輸入數(shù)據(jù)任何之一都完全相同。接著,在第1 擾亂部44中,進(jìn)行A1和C1的擾亂處理。
與輸入Al和輸入Cl對應(yīng)的第1擾亂部44的輸出Dl與El分別有3 比特不同。其他D2、 E2由于在任何一個輸入數(shù)據(jù)的情況下作為擾亂對象 的數(shù)據(jù)都相同,所以完全相同。
并且,在第2融合部45中,將E1與D2融合。由于E1有3比特不同。 D2輸入數(shù)據(jù)任何之一都完全相同,所以融合后的輸出F2必然有3比特不 同。
最后,在塊結(jié)合部46中,結(jié)合F1、 El、 F2、 E2。這里,由于F1、 El 和F2分別平均有3比特不同,所以結(jié)合后的值、艮口、輸出變?yōu)樽畹陀?比 特不同。
3 5 總結(jié)
如以上所說明的,在向數(shù)據(jù)變換部32的2個輸入僅有1比特不同的情 況下,塊結(jié)合部46對應(yīng)的2個輸出最低有6比特不同,可以實現(xiàn)高擾亂性。
這里,在數(shù)據(jù)變換部32的構(gòu)成中,不包含代替處理(表變換運算), 而全部由分割單元、異或、循環(huán)移位(旋轉(zhuǎn))構(gòu)成。根據(jù)該結(jié)構(gòu),與代替 處理(表變換運算)相比可以緊湊地實現(xiàn)硬件。由此,實現(xiàn)了高擾亂性能,
25同時可以減少硬件安裝時的門規(guī)模。
在數(shù)據(jù)變換部32內(nèi)的第1擾亂部32中,對所有分割后的塊數(shù)據(jù)進(jìn)行 擾亂處理。
根據(jù)該結(jié)構(gòu),在提供彼此有1比特不同的2個輸入數(shù)據(jù)的情況下,不 管是哪1個比特不同的情形,都可保證通過對任意的塊數(shù)據(jù)的擾亂處理, 來擴大l比特的不同。
數(shù)據(jù)變換部32中,通過第1擾亂部44和第2擾亂部47,以不同的比 特單位來進(jìn)行擾亂處理。具體而言,第1擾亂部44中,進(jìn)行S比特單位(塊 分割部42進(jìn)行的分割結(jié)果的單位)的擾亂處理,第2擾亂部47中,進(jìn)行 32比特單位(輸入數(shù)據(jù)整體的單位)的擾亂處理。
由于本實施方式的擾亂處理中使用的變換是線性處理,所以在以相同 比特數(shù)單位來重復(fù)進(jìn)行擾亂處理的情況下,有時使差抵消了,而不能擴展 擾亂效果。但是,如本實施方式那樣,通過進(jìn)行以彼此不同的比特單位的 變換,可以將差的抵消限制到最小限度,作為整體得到了高擾亂性能。
另外,在第1擾亂部44和第2擾亂部47中,在將數(shù)據(jù)分支為3個的 基礎(chǔ)上,進(jìn)行3種旋轉(zhuǎn)(包含0比特旋轉(zhuǎn)),并融合這些結(jié)果。
進(jìn)行這種變換處理是因為,進(jìn)行3個以上的奇數(shù)個旋轉(zhuǎn),理論上表示 了融合其結(jié)果的處理是雙射(bijective)變換。在雙射的情況下,由于變換后 的值的可取的模式(pattern)數(shù)與變換前的值的可取的模式數(shù)相同,所以在變 換不同的值的情況下,變換結(jié)果也必然為不同的值。根據(jù)該性質(zhì),在分別 變換彼此有1比特不同的2個數(shù)據(jù)的情況下,可以保證變換結(jié)果也必然有1 比特以上不同'(例如上述實施方式中,必然有3比特不同)。
本實施方式中,在利用該性質(zhì)來進(jìn)行擾亂處理的基礎(chǔ)上,還進(jìn)一步通 過融合處理等擴大l比特以上的差異,從而得到了高擾亂性能。
如從上述的說明可明白的,分支的數(shù)目和旋轉(zhuǎn)種類的數(shù)目并不限于3 個,最好是3個以上的奇數(shù),例如可以是5個或7個等。
4.除此之外的說明
根據(jù)上述實施方式說明了本發(fā)明,但是本發(fā)明并不限于上述實施方式, 當(dāng)然可以在不脫離本發(fā)明的精神的范圍內(nèi)進(jìn)行各種改變。
4. 1.實施方式中說明的結(jié)構(gòu)始終是一例,并不限于此。例如,作為旋轉(zhuǎn)數(shù)(移位暈)也可以是其他旋轉(zhuǎn)量。 各構(gòu)成要素的結(jié)構(gòu)及順序可以不同。
4. 2.實施方式中所說明的結(jié)構(gòu)為加密和解密64比特單位的數(shù)據(jù)的結(jié) 構(gòu),但是,并不限于此。例如可以是32比特單位,也可以是128比特單位。
4. 3.實施方式中說明的結(jié)構(gòu)為使用256比特的加密密鑰和解密密鑰 的結(jié)構(gòu),但是并不限于此。例如也可將128比特的密鑰進(jìn)行密鑰擴大處理 為256比特,并使用該256比特密鑰。
4. 4.實施方式中說明的結(jié)構(gòu)中,沒有使用一個代替處理(表變換運 算),但是并不限于此。也可與幾個代替處理組合。例如,也可以為替換 第1擾亂部44的旋轉(zhuǎn)部與融合部的一個組來使用代替處理的構(gòu)成。由此, 與使用多個代替處理的情況相比,可以減少硬件安裝時的門規(guī)模。
4. 5.實施方式中,本發(fā)明以通過硬件進(jìn)行安裝為前提進(jìn)行了說明, 但是當(dāng)然也可作為軟件來安裝。上述中,描述作為硬件實現(xiàn)的情況下的效 果,在用軟件實現(xiàn)的情況下,根據(jù)本發(fā)明,由于不需要保持代替表用的存 儲器區(qū)域,所以即使是僅具有更少的存儲器容量的設(shè)備,也可得到可具有 高擾亂性的加密處理和解密處理的效果。
4. 6.實施方式中,在塊分割部42的處理前,通過加法部41對XI 和部分密鑰Ski進(jìn)行了加法運算,但是并不限于此,也可通過其他運算來 融合。例如,可考慮通過異或運算進(jìn)行融合等。
4. 7.第1擾亂部44中,對各塊進(jìn)行的旋轉(zhuǎn)的移位量的組合對每個塊 不同。例如,對Al的移位量為(3比特、0比特、5比特),但是對C2的 移位量為(2比特、0比特、6比特),為與對Al的移位量不同的移位量 的組合。同樣,對于對A2或C2的移位量的組合,與其他的任意塊的移位 量也不一致。
本實施方式中取這種結(jié)構(gòu)是為了提高擾亂性能,但是本發(fā)明并不限于 該結(jié)構(gòu)。例如,可以使多個塊中旋轉(zhuǎn)的移位量的組合相同。在該情況下, 進(jìn)一步在第1擾亂部44中具有1組旋轉(zhuǎn)部,在所有塊中使用該1組旋轉(zhuǎn)部。 這時可以進(jìn)一步減少電路規(guī)模。
4. 8.本實施方式中,在將塊進(jìn)行4分割的基礎(chǔ)上進(jìn)行擾亂處理,但 是并不限于此,也可分割為5個以上或3個以下。
274. 9.本實施方式中,在第1擾亂部44和第2擾亂部47中,沒有對 分支為3個的數(shù)據(jù)中的1個設(shè)置旋轉(zhuǎn)部,但是其是進(jìn)行0比特的循環(huán)移位 用的結(jié)構(gòu)。
但是,并不限于此,也可以是對分支為3路的數(shù)據(jù)全部進(jìn)行1比特以 上循環(huán)移位的結(jié)構(gòu)。但是,由于0比特的循環(huán)移位僅通過將分支后的數(shù)據(jù) 原樣輸出到異或部就可實現(xiàn),所以不需要追加電路。因此,使用0比特的 循環(huán)移位對削減電路規(guī)模有效。
本實施方式中,在進(jìn)行0比特的循環(huán)移位的情況下,原樣使用分支后 的數(shù)據(jù)。但是,在移位數(shù)是"0"的情況下,也可設(shè)置任何處理都不進(jìn)行的 偽旋轉(zhuǎn)部。
4. 10.循環(huán)移位可以是拋棄進(jìn)位的移位。但是,在該情況下,不能保 證雙射性。
4. 11.上述的各裝置具體上是由微處理器、ROM、 RAM、硬盤單元、 顯示器單元、鍵盤、鼠標(biāo)等構(gòu)成的計算機系統(tǒng)。所述RAM或所述硬盤單元 中存儲了計算機程序。所述微處理器通過根據(jù)所述計算機程序來動作,從 而各裝置實現(xiàn)其功能。這里,計算機程序為了實現(xiàn)規(guī)定的功能,而組合多 個表示對計算機的指令的命令碼來構(gòu)成。
4. 12.構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部可以由1個系統(tǒng) LSI (Large Scale Integration:大規(guī)模集成電路)構(gòu)成。
系統(tǒng)LSI是在1個芯片上集成多個結(jié)構(gòu)部而加以制造的超多功能LSI, 具體上,是構(gòu)成為包含微處理器、ROM、 RAM等的計算機系統(tǒng)。所述RAM 中存儲了計算機程序。
通過所述微處理器根據(jù)所述計算機程序來動作,從而系統(tǒng)LSI實現(xiàn)了 其功能。這些可以分別單芯片化,也可單芯片化而使其包含一部分或全部 功能。
這里,作為系統(tǒng)LSI根據(jù)集成度的不同,還可稱作IC、系統(tǒng)LSI、超 (super)LSI、甚(ultra)LSI。
集成電路化的方法并不限于LSI,也可通過專用電路或通用處理器來實 現(xiàn)。也可使用在LSI制造后,能進(jìn)行編程的FPGA (FieldProgrammable Gate Army:現(xiàn)場可編程門陣列)及可重構(gòu)LSI內(nèi)部的電路單元的連接和設(shè)置的可重構(gòu)處理器。
進(jìn)一步,若因半導(dǎo)體技術(shù)的進(jìn)步或派生的其他技術(shù),替換LSI的集成 電路化的技術(shù)出現(xiàn),當(dāng)然也可使用該技術(shù)來進(jìn)行功能塊的集成。也可以使 用生物技術(shù)等。
4. 13.構(gòu)成上述各裝置的構(gòu)成要素的一部分或全部可以由可在各裝置 裝拆的IC卡或單體的模塊構(gòu)成。所述IC卡或所述模塊是由微處理器、ROM、 RAM等構(gòu)成的計算機系統(tǒng)。所述IC卡或所述模塊也可包含上述的超多功 能LSI。通過微處理器根據(jù)計算機程序來動作,所述IC卡或所述模塊實現(xiàn) 其功能。該IC卡或該模塊可以具有抗篡改性。
4. 14.本發(fā)明可以是上述所示的方法??梢允峭ㄟ^計算機實現(xiàn)這些方 法的計算機程序,也可以是由所述計算機程序構(gòu)成的數(shù)字信號。
本發(fā)明可以將所述計算機程序或所述數(shù)字信號記錄在計算機可讀取的 記錄媒體——例如軟盤、硬盤、CD-ROM、 MO、 DVD、 DVD-ROM、 DVD-RAM、 BD (Blu-rayDisc:藍(lán)光光盤)、半導(dǎo)體存儲器等中。也可以 是在這些記錄媒體上記錄的所述計算機程序或所述數(shù)字信號。
本發(fā)明可以經(jīng)電通信線路、無線或有線通信線路、以互聯(lián)網(wǎng)為代表的 網(wǎng)絡(luò)、數(shù)據(jù)廣播等來傳送所述計算機程序或所述數(shù)字信號。
通過將所述程序或所述數(shù)字信號記錄到所述記錄媒體加以傳送,或?qū)?所述程序或所述數(shù)字信號經(jīng)所述網(wǎng)絡(luò)等加以傳送,可以通過獨立的其他計 算機系統(tǒng)來加以實施。
4. 15.可以分別組合上述實施方式和上述變形例。
產(chǎn)業(yè)上的可用性
本發(fā)明的數(shù)據(jù)變換裝置可以用于網(wǎng)絡(luò)上的機密通信、認(rèn)證、著作權(quán)保 護用途等,適用于要求高數(shù)據(jù)擾亂性能及硬件的小型化的便攜端末裝置、 數(shù)字家電設(shè)備等。
權(quán)利要求
1、一種加密處理裝置,具備將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù)的數(shù)據(jù)變換單元,其特征在于所述數(shù)據(jù)變換單元包括取得單元,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群和第2塊群構(gòu)成的所述輸入數(shù)據(jù);第1融合單元,使所述第1塊群中含有的任意的塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第2塊群生成第3塊群;擾亂單元,分別對于所述第1和第3塊群中含有的1個以上的塊數(shù)據(jù),將該塊數(shù)據(jù)分支為2個以上,并對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循環(huán)移位結(jié)果,從而由所述第1和第3塊群生成第4和第5塊群;第2融合單元,使所述第5塊群中含有的任意塊數(shù)據(jù)分支而相對所述第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第4塊群生成第6塊群;以及輸出單元,輸出由所述第5和第6塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
2、 根據(jù)權(quán)利要求l所述的加密處理裝置,其特征在于 所述擾亂單元將所述塊數(shù)據(jù)分支為奇數(shù)個,并對所述分支后的塊數(shù)據(jù)分別進(jìn)行不同比特數(shù)的循環(huán)移位。
3、 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于所述第1塊群中含有的塊數(shù)據(jù)的個數(shù)與所述第2塊群中含有的塊數(shù)據(jù) 的個數(shù)相等;所述第1融合單元使所述第1塊群中含有的任意塊數(shù)據(jù)分支而相對所 述第2塊群中含有的所有的各塊數(shù)據(jù)進(jìn)行融合。
4、 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于 所述擾亂單元分別對于所述第1和第3塊群的所有塊數(shù)據(jù),將塊數(shù)據(jù)分支為2個以上。
5、 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于所述第2融合單元使所述第5塊群中含有的任意塊數(shù)據(jù)分支而分別相 對所述第4塊群中含有的所有塊數(shù)據(jù)進(jìn)行融合。
6、 根據(jù)權(quán)利要求l所述的加密處理裝置,其特征在于所述第2融合單元中,融合的2個塊數(shù)據(jù)在兩個塊數(shù)據(jù)生成過程中使 用的塊數(shù)據(jù)不同。
7、 根據(jù)權(quán)利要求l所述的加密處理裝置,其特征在于所述數(shù)據(jù)變換單元還包括密鑰融合單元,該密鑰融合單元使預(yù)先提供 的密鑰數(shù)據(jù)與通過所述取得單元取得的所述輸入數(shù)據(jù)融合而輸出到所述第 1融合單元。
8、 根據(jù)權(quán)利要求7所述的加密處理裝置,其特征在于所述密鑰融合單元通過對所述密鑰數(shù)據(jù)和所述輸入數(shù)據(jù)進(jìn)行異或運算 或算術(shù)加法運算來加以融合。
9、 根據(jù)權(quán)利要求l所述的加密處理裝置,其特征在于所述數(shù)據(jù)變換單元還包括最終擾亂單元,在所述輸出單元進(jìn)行的輸出前,該最終擾亂單元對于所述輸出數(shù)據(jù),將所述輸出數(shù)據(jù)分支為2個以上,并對分支后的輸出數(shù)據(jù)進(jìn)行循環(huán)移位,并對循環(huán)移位結(jié)果進(jìn)行融合。
10、 一種數(shù)據(jù)變換方法,用于加密處理裝置所具備的數(shù)據(jù)變換單元, 該數(shù)據(jù)變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在于,該方法包括取得步驟,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群和第2塊群 構(gòu)成的所述輸入數(shù)據(jù);第1融合步驟,使所述第1塊群中含有的任意塊數(shù)據(jù)分支而相對所述第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第2塊群生成 第3塊群;擾亂步驟,分別對于所述第1和第3塊群中含有的1個以上的塊數(shù)據(jù), 將該塊數(shù)據(jù)分支為2個以上,并對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循 環(huán)移位結(jié)果,從而由所述第1和第3塊群生成第4和第5塊群;第2融合步驟,使所述第5塊群中含有的任意塊數(shù)據(jù)分支而相對所述 第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第4塊群生成 第6塊群;以及輸出步驟,輸出由所述第5和第6塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
11、 一種數(shù)據(jù)變換程序,用于加密處理裝置所具備的數(shù)據(jù)變換單元, 該數(shù)據(jù)變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在 于,該程序包括取得步驟,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群和第2塊群 構(gòu)成的所述輸入數(shù)據(jù);第1融合步驟,使所述第1塊群中含有的任意塊數(shù)據(jù)分支而相對所述 第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第2塊群生成 第3塊群;擾亂步驟,分別對于所述第1和第3塊群中含有的1個以上的塊數(shù)據(jù), 將該塊數(shù)據(jù)分支為2個以上,并對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循 環(huán)移位結(jié)果,從而由所述第1和第3塊群生成第4和第5塊群;第2融合步驟,使所述第5塊群中含有的任意塊數(shù)據(jù)分支而相對所述 第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第4塊群生成 第6塊群;以及輸出步驟,輸出由所述第5和第6塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
12、 一種記錄媒體,其特征在于記錄了權(quán)利要求ll所述的數(shù)據(jù)變換 程序。
13、 一種集成電路,用于具備數(shù)據(jù)變換單元的加密處理裝置,該數(shù)據(jù)變換單元將n比特的輸入數(shù)據(jù)變換為n比特的輸出數(shù)據(jù),其特征在于該集成電路包括取得單元,取得由分別含有1個以上的塊數(shù)據(jù)的第1塊群和第2塊群 構(gòu)成的所述輸入數(shù)據(jù);第1融合單元,使所述第1塊群中含有的任意塊數(shù)據(jù)分支而相對所述 第2塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第2塊群生成 第3塊群;擾亂單元,分別對于所述第1和第3塊群中含有的1個以上的塊數(shù)據(jù), 將該塊數(shù)據(jù)分支為2個以上,并對分支后的塊數(shù)據(jù)進(jìn)行循環(huán)移位,融合循 環(huán)移位結(jié)果,從而由所述第1和第3塊群生成第4和第5塊群;第2融合單元,使所述第5塊群中含有的任意塊數(shù)據(jù)分支而相對所述 第4塊群中含有的1個以上的塊數(shù)據(jù)進(jìn)行融合,從而由所述第4塊群生成 第6塊群;以及輸出單元,輸出由所述第5和第6塊群的塊數(shù)據(jù)構(gòu)成的所述輸出數(shù)據(jù)。
全文摘要
本發(fā)明提供一種加密處理裝置,與使用代替表的現(xiàn)有技術(shù)相比可減小硬件的門規(guī)模,同時實現(xiàn)高擾亂性。加密裝置具有的數(shù)據(jù)變換部將256比特的輸入數(shù)據(jù)分割為32比特的各塊數(shù)據(jù)A1、B1、A2、B2,第1融合部(43)進(jìn)行A1和B1、A2和B2的異或運算,第1擾亂部(44)將A1、A2、異或運算的結(jié)果(C1、C2)分別分支為3個,并循環(huán)移位其中2個塊數(shù)據(jù)后融合所有塊數(shù)據(jù),第2融合部(45)對作為基于第1擾亂部(44)的處理結(jié)果的D1和E2、E1和D2進(jìn)行異或運算,塊結(jié)合部(46)結(jié)合第2融合部(45)的運算結(jié)果,第2擾亂部(47)將結(jié)合后的數(shù)據(jù)分支為3路,并循環(huán)移位其中2個塊數(shù)據(jù)后融合所有塊數(shù)據(jù)。
文檔編號G09C1/00GK101479774SQ200780023520
公開日2009年7月8日 申請日期2007年6月19日 優(yōu)先權(quán)日2006年6月23日
發(fā)明者大森基司, 橫田薰, 野仲真佐男 申請人:松下電器產(chǎn)業(yè)株式會社