欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據變換裝置以及數(shù)據變換方法

文檔序號:6657173閱讀:289來源:國知局
專利名稱:數(shù)據變換裝置以及數(shù)據變換方法
技術領域
本發(fā)明涉及數(shù)據變換裝置以及數(shù)據變換方法。
背景技術
專利文獻1(特開2000-66585號公報(第7-13頁、第4圖))的加密裝置以及解密裝置,通過掩碼a和掩碼b對數(shù)據進行保密,并且在加密或者解密的運算后除去這些掩碼的影響,由此得到不使用掩碼的數(shù)據。這樣通過使用掩碼a和掩碼b,就可防止預測內部數(shù)據,使利用電力分析的解讀難以進行。
在如上述那樣的現(xiàn)有的加密裝置以及解密裝置中,必須新發(fā)生掩碼,需要使掩碼發(fā)生的電路,所以招致電路的增大。另外,運算通過塊單位的并列處理來進行,所以若塊長變長,則同時使用的運算元件的數(shù)目就變多,電力就需要較多,其結果就有電力分析變得容易之類的課題。進而,在塊長較長的情況下,各塊內的每個位的運算延遲不同,由于該延遲而存在電力分析變得容易之類的課題。
圖21是表示每個位的運算遲延的差異給電力消耗量帶來的影響的例子的圖。在圖21中,輸入位A、B的遲延之差對AND門的輸出位帶來影響。如該圖那樣,輸入的遲延之差越大,電力變化就變得越易于表現(xiàn),單位時間的電力消耗量就變得越大。

發(fā)明內容
本發(fā)明以例如使涉及數(shù)據的加密或者解密的運算的電力消耗量減小,使電力分析變得困難為其目的。
本發(fā)明的數(shù)據變換裝置是一種通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置,其特征在于
將可進行多個位的并行運算的處理用串行運算來進行處理,由此使每單位時間的電力消耗量比并行運算時的電力消耗量減小。
其特征在于,上述數(shù)據變換裝置具備存儲多個位并逐個位進行輸出的第1存儲部;存儲其他的多個位并逐個位進行輸出的第2存儲部;以及對上述第1存儲部輸出的位和上述第2存儲部輸出的位進行運算,并使運算后的結果存儲在上述第1存儲部中的運算部。
其特征在于,上述數(shù)據變換裝置還具備選擇由上述運算部進行的運算種類的選擇部。
其特征在于,上述第1存儲部和上述第2存儲部是移位寄存器。
其特征在于,上述數(shù)據變換裝置將可進行m(m>1)位輸入n(n>1)位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理。
另外,本發(fā)明的數(shù)據變換裝置是一種通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置,其特征在于將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小。
其特征在于上述存儲部在將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算。
其特征在于上述數(shù)據變換裝置具備具有輸入前一運算的結果的多個輸入端口,并且通過該多個輸入端口的輸入來進行后一運算的運算部,上述存儲部被設置在上述運算部的各輸入端口之前。
本發(fā)明的數(shù)據變換方法是一種使用通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置的數(shù)據變換方法,其特征在于將可進行多個位的并行運算的處理用串行運算來進行處理,由此使每單位時間的電力消耗量比并行運算時的電力消耗量減小。
其特征在于上述數(shù)據變換方法,
在第1存儲部中存儲多個位并逐個位進行輸出,在第2存儲部中存儲其他的多個位并逐個位進行輸出,對從上述第1存儲部輸出的位和從上述第2存儲部輸出的位進行運算,并將運算后的結果存儲在上述第1存儲部中。
其特征在于上述數(shù)據變換方法進一步,選擇對從上述第1存儲部輸出的位和從上述第2存儲部輸出的位進行運算的運算種類。
其特征在于上述數(shù)據變換方法,將可進行m(m>1)位輸入n(n>1)位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理。
另外,本發(fā)明的數(shù)據變換方法是一種使用通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置的數(shù)據變換方法,其特征在于將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小。
其特征在于在上述存儲部中將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算。
其特征在于上述數(shù)據變換方法,使用具有將前一運算的結果輸入的多個輸入端口的運算部,通過該多個輸入端口的輸入來進行后一運算,將上述存儲部設置在上述運算部的各輸入端口之前。
根據本發(fā)明,在數(shù)據變換裝置中,將可進行多個位的并行運算的處理用串行運算來進行處理,由此就可以使每單位時間的電力消耗量比并行運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換裝置中,第1存儲部存儲多個位并逐個位進行輸出,第2存儲部存儲其他的多個位并逐個位進行輸出,運算部將對第1存儲部輸出的位和第2存儲部輸出的位進行運算后的結果存儲在第1存儲部中,由此就可以高效率地利用第1存儲部。
另外,在數(shù)據變換裝置中,選擇部選擇由運算部進行的運算種類,由此就可以高效率地利用第1存儲部和第2存儲部。
另外,在數(shù)據變換裝置中,第1存儲部和第2存儲部是移位寄存器,由此就可以使電力消耗的特異狀態(tài)難以發(fā)生。
另外,在數(shù)據變換裝置中,將可進行m(m>1)位輸入n(n>1)位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理,由此就可以對n位輸出的各位的輸出定時進行調整。
根據本發(fā)明,在數(shù)據變換裝置中,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此就可以使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換裝置中,存儲部在將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算,由此就可以對存儲部的輸出定時進行調整。
另外,在數(shù)據變換裝置中,運算部具有輸入前一運算的結果的多個輸入端口,并且通過該多個輸入端口的輸入來進行后一運算,存儲部被設置在運算部的各輸入端口之前,由此就可以使向后一運算的多個輸入的定時一致。
根據本發(fā)明,在使用數(shù)據變換裝置的數(shù)據變換方法中,將可進行多個位的并行運算的處理用串行運算來進行處理,由此就可以使每單位時間的電力消耗量比并行運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換方法中,在數(shù)據變換裝置具備的第1存儲部中存儲多個位并逐個位進行輸出,在第2存儲部中存儲其他的多個位并逐個位進行輸出,對從第1存儲部輸出的位與從第2存儲部輸出的位進行運算,并將運算后的結果存儲在第1存儲部中,由此就可以高效率地利用第1存儲部。
另外,在數(shù)據變換方法中,選擇對從第1存儲部輸出的位與從第2存儲部輸出的位進行運算的運算種類,由此就可以高效率的利用第1存儲部與第2存儲部。
另外,在數(shù)據變換方法中,將可進行m(m>1)位輸入n(n>1)位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理,由此就可以對n位輸出的各位的輸出定時進行調整。
根據本發(fā)明,在利用數(shù)據變換裝置的數(shù)據變換方法中,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此就可以使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換方法中,在存儲部中將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算,由此就可以對存儲部的輸出定時進行調整。
另外,在數(shù)據變換方法中,使用具有輸入前一運算的結果的多個輸入端口的運算部,通過該多個輸入端口的輸入來進行后一運算,將存儲部設置在運算部的各輸入端口之前,由此就可以使向后一運算的多個輸入的定時一致。


圖1是表示從實施方式1到5中的數(shù)據變換裝置的外觀的一個例子的圖。
圖2是表示從實施方式1到5中的數(shù)據變換裝置的硬件構成的一個例子的圖。
圖3是表示成為DES運算之基本的圈的構造的圖。
圖4是表示混和函數(shù)(MF)的運算處理之細節(jié)的圖。
圖5是表示圈的密鑰的生成處理的圖。
圖6是表示與實施方式1相關的數(shù)據變換算法的基本形式的圖。
圖7是表示與實施方式1相關的數(shù)據變換裝置的構成的一個例子的圖。
圖8是表示與實施方式1相關的數(shù)據變換裝置的動作的一個例子的流程圖。
圖9是表示與實施方式2相關的數(shù)據變換算法的基本形式的圖。
圖10是表示與實施方式2相關的數(shù)據變換裝置的構成的一個例子的圖。
圖11是表示與實施方式2相關的數(shù)據變換裝置的動作的一個例子的流程圖。
圖12是表示與實施方式3相關的數(shù)據變換裝置的構成的一個例子的圖。
圖13是表示與實施方式3相關的數(shù)據變換裝置的動作的一個例子的流程圖。
圖14是表示與實施方式4相關的數(shù)據變換算法的基本形式的圖。
圖15是表示與實施方式4相關的數(shù)據變換裝置的構成的一個例子的圖。
圖16是表示與實施方式4相關的數(shù)據變換算法的基本形式的具體例的圖。
圖17是表示與實施方式4相關的數(shù)據變換算法的具體例的圖。
圖18是表示與實施方式4相關的數(shù)據變換裝置的動作的一個例子的流程圖。
圖19是表示與實施方式5相關的數(shù)據變換算法的基本形式的圖。
圖20是表示與實施方式5相關的數(shù)據變換裝置的構成的一個例子的圖。
圖21是表示每位的運算遲延的差異給電力消耗量帶來影響的例子的圖。
附圖標記說明100數(shù)據變換裝置、101,108輸入寄存器、102密鑰寄存器、103并行運算器、104,113輸出寄存器、105,115輸入移位寄存器、106密鑰移位寄存器、107串行運算器、109第1密鑰寄存器、110第1并行運算器、111第2密鑰寄存器、112第2并行運算器、114暫時寄存器、116第1密鑰移位寄存器、117第1串行運算器、118第2密鑰移位寄存器、119第2串行運算器、120第1選擇器、121第2選擇器、122m×n查找表、123m×1查找表、124OR門、125AND門、126XOR門、127觸發(fā)器、201混和函數(shù)、202,203異或運算、204S-Box、901CRT顯示裝置、902K/B、903鼠標、904FDD、905CDD、906打印機裝置、907掃描儀裝置、910系統(tǒng)單元、911CPU、912總線、913ROM、914RAM、915通信板、920磁盤裝置、921OS、922窗口系統(tǒng)、923程序組、924文件組、931電話機、932FAX機、940因特網、941網關、942LAN。
具體實施例方式
以下,利用附圖就本發(fā)明的實施方式進行說明。
圖1是表示下述實施方式中的數(shù)據變換裝置的外觀的一個例子的圖。
在圖1中,數(shù)據變換裝置100具備系統(tǒng)單元910、CRT(CathodeRay Tube)顯示裝置901、鍵盤(K/B)902、鼠標903、致密盤裝置(CDD)905、打印機裝置906、掃描儀裝置907,它們用電纜連接起來。進而,數(shù)據變換裝置100與FAX機932、電話機931用電纜進行連接,另外,還經由局域網(LAN)942、網關941連接到因特網940。
圖2是表示下述實施方式中的數(shù)據變換裝置的硬件構成的一個例子的圖。
在圖2中,數(shù)據變換裝置100具有執(zhí)行程序的CPU(CentralProcessing Unit)911。CPU911經由總線912與ROM913、RAM914、通信板915、CRT顯示裝置901、K/B902、鼠標903、FDD(FlexibleDisk Drive)904、磁盤裝置920、CDD905、打印機裝置906、掃描儀裝置907連接起來。
RAM914是易失性存儲器的一例。ROM913、FDD904、CDD905、磁盤裝置920是非易失性存儲器的一個例子。它們是存儲裝置或者存儲部的一例。
通信板915被連接到FAX機932、電話機931、LAN942等。
例如,通信板915、K/B902、掃描儀裝置907、FDD904等是輸入部的一個例子。另外,例如,通信板915、CRT顯示裝置901等是輸出部的一個例子。
這里,通信板915并不限于連接到LAN942,還可以直接連接到因特網940或者ISDN(Integrated Services Digital Network)等WAN(廣域網)。在直接連接到因特網940或者ISDN等WAN的情況下,數(shù)據變換裝置100被連接到因特網940或者ISDN等WAN,就不用網關941。
在磁盤裝置920中存儲著操作系統(tǒng)(OS)921、窗口系統(tǒng)922、程序組923、文件組924。程序組923通過CPU911、OS921、窗口系統(tǒng)922而得以執(zhí)行。
在上述程序組923中存儲著執(zhí)行在以下將敘述的實施方式的說明中作為「~部」來說明的機能的程序。程序由CPU911讀出執(zhí)行。
在以下將敘述的實施方式的說明中,作為「~的判定結果」、「~的計算結果」、「~的處理結果」來說明的內容作為「~文件」被存儲在文件組924中。
另外,在以下將敘述的實施方式的說明中進行說明的流程圖的箭頭部分主要表示數(shù)據的輸入輸出,為了該數(shù)據的輸入輸出,數(shù)據被記錄在磁盤裝置920、FD(Flexible Disk)、光盤、CD(致密盤)、MD(袖珍盤)、DVD(Digital Versatile Disk)等其他的記錄介質中?;蛘?,通過信號線和其他的傳送介質來進行傳送。
另外,在以下將敘述的實施方式的說明中作為「~部」來說明的部件也可以用ROM913中所存儲的固件來實現(xiàn)?;蛘?,還可以僅用軟件、或者僅用硬件、或者軟件與硬件的組合、進而與固件的組合來實施。
另外,實施以下將敘述的實施方式的程序也可以使用借助于磁盤裝置920、FD(Flexible Disk)、光盤、CD(致密盤)、MD(袖珍盤)、DVD(Digital Versatile Disk)等其他的記錄介質的記錄裝置來存儲。
以下將敘述的實施方式能夠應用于例如安裝了塊加密算法的裝置、方法、程序。
這里,就作為塊加密算法的一個例子的DES(Data EncryptionStandard)簡單地進行說明。
圖3是表示作為DES運算之基本的圈的構造的圖。
DES將此圈反復16次,對64位的數(shù)據進行加密或者解密。圈的輸入是64位的數(shù)據。此輸入數(shù)據被分成高位32位和低位32位,分別被稱之為L和R的塊。圖中,n是計數(shù)編號。
Rn-1是被稱之為混和函數(shù)(MF)201的函數(shù)的輸入。在混和函數(shù)201上還輸入n圈的密鑰(Kn)。若進行混和函數(shù)201的運算處理,就輸出32位的數(shù)據。
接著,進行混和函數(shù)201的32位輸出與Ln-1的異或運算202。其結果為32位的Rn。32位的Ln與32位的Rn-1相同。將這些Ln和Rn合起來的64位的數(shù)據作為n圈的輸出得以輸出。
圈的輸出成為下一圈的輸入,再次進行圈的運算。通過將此操作反復16次,DES的運算結束(準確地講包含被稱之為轉置的運算處理,但省略說明)。
圖4是表示混和函數(shù)(MF)的運算處理之細節(jié)的圖。
在混和函數(shù)上輸入32位的R。對該塊的位允許重復每6位分成8個塊。進行其與48位圈的密鑰的異或運算203。通過此操作得到8個6位的塊。對于此各塊,用所規(guī)定的被稱為S-Box204的6位輸入4位輸出的表來進行換字處理,由此得到8個4位的塊。此32位的數(shù)據被改排(關于改排處理的細節(jié)省略說明),而成為混和函數(shù)的輸出。
另外,圈的密鑰(Kn)如圖5那樣得以生成。
在DES的64位的密鑰之中,對除去奇偶校驗的8位后的56位,進行所規(guī)定的改排,分成2個28位的R和L。將其中一方的塊在圖5中表示為「28-bitKey」。此「28-bitKey」的寄存器通過圈向左回轉1位或者2位。將回轉后的「28-bitKey」之中24位按照規(guī)則進行改排(P),而得到Kn一方的24位。Kn的另一方的24位也通過同樣的處理而得到。在下一圈中,通過再次將「28-bitKey」左回轉,進行改排,就能夠求得Kn+1。
這樣,塊加密算法將異或、表處理、改排之類的單純的運算元件組合起來而構成。
接著,就電力分析簡單地進行說明。
塊加密以HW(硬件)或SW(軟件)的形式安裝來使用。能夠使用安裝了塊加密的裝置、方法、程序來進行數(shù)據的保密。在作為HW或SW而安裝的加密算法中,測定HW或SW動作中的瞬間的電力比較容易。例如,能夠將對半導體芯片供給電力的模式切斷,并在此插入適當?shù)碾娮?,用示波器等測定該電阻兩端的電位差??芍鶕藴y定出的電力能夠抽取出各種各樣的信息(關于細節(jié)參照因特網<http://www.cryptography.com/resources/whitepapers/DPA-technical.html>)。在僅安裝了先前所述的DES的HW或SW中,通過預測MF內的S-Box的輸出值,就可以通過上述文獻的方法求出Kn。
實施方式1.
如前述那樣,異或、表處理、改排之類的單純的運算元件組合起來,構成塊加密算法。在本實施方式中,用1位輸出的元件構成這種運算進行安裝。但是,本實施方式不僅可應用于塊加密算法,還可以應用于其他加密算法等。
圖6是表示涉及本實施方式的數(shù)據變換算法的基本形式的圖,圖7是表示涉及本實施方式的數(shù)據變換裝置的構成的一個例子的圖。
圖6以及圖7表示加密算法的一部分,圖6的算法為基本形式。即,對32位的密鑰與32位的輸入數(shù)據的異或進行并行運算,而得到32位的輸出數(shù)據。在此圖中,32位的密鑰被存儲在密鑰寄存器102中,32位的輸入數(shù)據被存儲在輸入寄存器101中。32位的密鑰與32位的輸入數(shù)據的異或,由并行運算器103進行運算,運算結果被存儲在輸出寄存器104中。在本實施方式中,將此基本形式的算法如圖7的算法那樣安裝并進行計算。將密鑰保持于32位的密鑰移位寄存器(第2存儲部)106,將輸入數(shù)據保持于32位的輸入移位寄存器(第1存儲部)105,將密鑰與輸入數(shù)據各自的1位作為對串行運算器(運算部)107的輸入,并取異或1位,使之移位到輸入移位寄存器105的左端。密鑰移位寄存器106進行循環(huán)右移位。通過將其進行32次,32位的運算結束,最終結果被保持在輸入移位寄存器105中。
圖8是表示涉及本實施方式的數(shù)據變換裝置的動作一例的流程圖。圖中、「+」是表示異或運算。
涉及本實施方式的數(shù)據變換裝置,首先,對輸入移位寄存器105輸入32位的數(shù)據(步驟S101),對密鑰移位寄存器106輸入32位的密鑰(步驟S102)。接著,將輸入移位寄存器105向右移動1位(步驟S103),從輸入移位寄存器105輸出1位(步驟S104)。將從輸入移位寄存器105輸出的位設為i。接著,將密鑰移位寄存器106向右移動1位(步驟S105),從密鑰移位寄存器106輸出1位(步驟S106)。將從密鑰移位寄存器106輸出的位設為k。然后,用串行運算器107進行i與k的異或運算(步驟S107),將運算結果輸入到輸入移位寄存器105(步驟S108)。在密鑰移位寄存器106中輸入k(步驟S109)。按32位相應地反復從步驟S103到步驟S109。
圖8所示的數(shù)據變換裝置的動作,一部分處理的順序既可以替換,也可以將一部分處理與其他的處理并行執(zhí)行。
這樣,在本實施方式中,通過按順序(順次或者串行)地執(zhí)行2位輸入1位輸出的異或,而完結32位的密鑰與32位的輸入數(shù)據的異或運算。
在本實施方式中,表示了“異或”(XOR)的例子,但利用“或”(OR)、“與”(AND)也能夠同樣地構成。另外,在算術加法運算、算術減法運算、算術乘積的情況下,以最小的運算單位來進行運算。具體而言,在算術加法運算中,對1位+1位以2位輸出來處理,在算術減法運算中對2位-1位以1位輸出來處理,在算術乘法運算中,對1位×1位以1位輸出來處理。
若如這種構成那樣,安裝算法,則反復進行最小單位的運算,而具有能夠減小瞬時電力之類的效果。另外,由于運算結果一邊逐個位進行移位一邊進行確定,所以就具有以下效果造出特征性的電力消耗狀態(tài)的可能性變低,而不會使許多位一次發(fā)生狀態(tài)變化。這種效果就使電力分析變得困難。
在本實施方式中,串行運算器107進行每1位的串行運算,但即便是每2位或3位的運算,也可以取得如上述那樣的效果。
另外,在本實施方式中,借助于HW的構成來實現(xiàn)串行運算,但也可以例如創(chuàng)建進行每1位的串行運算的函數(shù),并反復執(zhí)行此函數(shù),由此借助于SW的構成來實現(xiàn)串行運算。
另外,在本實施方式中,使用移位寄存器,使串行運算器107的運算結果存儲在輸入移位寄存器105中,但也可以使其存儲在其他的寄存器中。在此情況下,輸入移位寄存器105以及密鑰移位寄存器106也可以是移位寄存器以外種類的寄存器。
另外,在本實施方式中,使用了32位的數(shù)據,還可以使用64位的數(shù)據等其他位數(shù)的數(shù)據。
如以上那樣,利用本實施方式,在數(shù)據變換裝置中,通過將可進行多個位的并行運算的處理用串行運算來進行處理,就可以使每單位時間的電力消耗量比并行運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換裝置中,第1存儲部存儲多個位并逐個位進行輸出,第2存儲部存儲其他的多個位并逐個位進行輸出,運算部使對第1存儲部輸出的位和第2存儲部輸出的位進行運算后的結果存儲在第1存儲部中,從而就可以高效率地利用第1存儲部。
另外,在數(shù)據變換裝置中,第1存儲部和第2存儲部是移位寄存器,由此就可以使其難以發(fā)生電力消耗的特異狀態(tài)。
在本實施方式中,在使用數(shù)據變換裝置的數(shù)據變換方法中,將可進行多個位的并行運算的處理用串行運算來進行處理,由此就可以使每單位時間的電力消耗量比并行運算時的電力消耗量減小,使電力分析變得困難。
另外,在數(shù)據變換方法中,在數(shù)據變換裝置具備的第1存儲部中存儲多個位并逐個位進行輸出,在第2存儲部中存儲其他的多個位并逐個位進行輸出,對從第1存儲部輸出的位與從第2存儲部輸出的位進行運算,并將運算后的結果存儲在第1存儲部中,由此就可以高效率地利用第1存儲部。
如以上那樣,與本實施方式相關的裝置,是一種安裝加密算法并對輸入數(shù)據進行加密、解密的裝置,其中,在安裝加密算法之際,將加密算法細分化,分解至1位輸出的單位運算元件,設置保持這些元件的結果的機構,并按順序使其動作而使運算完結。
實施方式2.
圖9是表示與本實施方式相關的數(shù)據變換算法的基本形式的圖,圖10是表示與本實施方式相關的數(shù)據變換裝置的構成的一個例子的圖。
圖9以及圖10表示了加密算法的一部分,圖9的算法為基本形式。即,對32位的輸入數(shù)據與32位的密鑰的“異或”進行并行運算,接著,對此運算所得到的數(shù)據與其他32位的密鑰的“或”進行并行運算,輸出32位的數(shù)據。在該圖中,32位的輸入數(shù)據被存儲在輸入寄存器108中,32位的密鑰被存儲在第1密鑰寄存器109中,其他32位的密鑰被存儲在第2密鑰寄存器111中。32位的輸入數(shù)據與32位的密鑰的“異或”通過第1并行運算器110來運算,其運算結果與其他32位的密鑰的“或”通過第2并行運算器112來運算。此“或”運算結果被存儲在輸出寄存器113中。在這種算法的情況下,由于“異或”和“或”運算負荷較低,所以大多連續(xù)進行運算(前后連結的運算),但在本實施方式中如圖10所示,在“異或”和“或”之間設置暫時寄存器114,一旦保持數(shù)據后,從前一運算轉移到后一運算。
圖11是表示與本實施方式相關的數(shù)據變換裝置的動作的一個例子的流程圖。圖中,「+」表示異或運算,「|」表示或運算。
與本實施方式相關的數(shù)據變換裝置,首先,在輸入寄存器108上輸入32位的數(shù)據(步驟S201)。將輸入寄存器108上所輸入的數(shù)據設為I。然后,在第1密鑰寄存器109上輸入32位的密鑰(步驟S202)。將第1密鑰寄存器109上所輸入的密鑰設為K。接著,從輸入寄存器108輸出I(步驟S203)。接著,從第1密鑰寄存器109輸出K(步驟S204)。然后,用第1并行運算器110進行I與K的“異或”運算(步驟S205),將運算結果輸入到暫時寄存器114(步驟S206)。將被輸入到暫時寄存器114的數(shù)據設為I′。
在第2密鑰寄存器111上輸入其他32位的密鑰(步驟S207)。將第2密鑰寄存器111上所輸入的密鑰設為K′。在暫時寄存器114將32位的運算結果I′全部的位存儲起來以后,從暫時寄存器114輸出I′(步驟S208)。接著,從第2密鑰寄存器111輸出K′(步驟S209)。然后,用第2并行運算器112進行I′與K′的或運算(步驟S210),將運算結果輸入到輸出寄存器113(步驟S211)。
圖11所示的數(shù)據變換裝置的動作,一部分處理的順序既可以替換,也可以將一部分處理與其他的處理并行執(zhí)行。另外,第1密鑰寄存器與第2密鑰寄存器上所輸入的密鑰還可以是同一密鑰。
本實施方式中,表示了“異或”(XOR)和“或”(OR)的組合的例子,但包含“與”(AND)等其他運算的組合也能夠同樣地構成。
過進行這種安裝,針對每個運算不同的處理時間的偏差就一次用寄存器接受,使定時恒定化。由此就具有防止定時的延遲向后級傳播的效果。如果定時恒定化,就能夠減小伴隨運算的過渡狀態(tài)(直到最終結果確定為止發(fā)生的不穩(wěn)定的運算結果的狀態(tài)),進一步,還具有減小電力的效果。這種效果就使電力分析變得困難。
在本實施方式中,使用了32位的數(shù)據,但也可以使用64位的數(shù)據等其他位數(shù)的數(shù)據。
如以上那樣,利用本實施方式,在數(shù)據變換裝置中,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,從而就可以使電力分析變得困難。
另外,在數(shù)據變換裝置中,存儲部在將前一運算的結果中所包含的全部位存儲起來以后,將全部位提供給后一運算,由此就可以對存儲部的輸出定時進行調整。
在本實施方式中,在使用數(shù)據變換裝置的數(shù)據變換方法中,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,從而就可以使電力分析變得困難。
另外,在數(shù)據變換方法中,在存儲部中將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算,由此就可以對存儲部的輸出定時進行調整。
如以上那樣,與本實施方式相關的裝置是一種安裝加密算法,并對輸入數(shù)據進行加密、解密的裝置,其中,在加密算法的一部分,基本運算連續(xù)進行的情況下,在連續(xù)進行的基本運算之間,設置保持運算結果的機構。
實施方式3.
在實施方式1的安裝方式中,能夠設置如在實施方式2中已說明的圖10的暫時寄存器114那樣的臨時的寄存器。
圖12是表示與本實施方式相關的數(shù)據變換裝置的構成一例的圖。
在圖12中,輸入數(shù)據被存儲在32位的輸入移位寄存器(第1存儲部)115中,密鑰被存儲在32位的第1密鑰移位寄存器(第2存儲部)116和第2密鑰移位寄存器(第2存儲部)118中。第1串行運算器(運算部)117對密鑰與輸入數(shù)據各自的1位進行異或運算,第2串行運算器(運算部)119對密鑰與輸入數(shù)據各自的1位進行或運算。第1選擇器(選擇部)120選擇第1串行運算器117與第2串行運算器119中的某一個,第2選擇器(選擇部)121選擇第1密鑰移位寄存器116與第2密鑰移位寄存器118中的某一個。這樣,在本實施方式中,按定時切換“異或”和“或”的輸出,并輸入到輸入數(shù)據用的32位的移位寄存器。密鑰則準備正與副的移位寄存器,并按定時進行切換,輸入到密鑰的正移位寄存器。
圖13是表示與本實施方式相關的數(shù)據變換裝置的動作的一個例子的流程圖。圖中,「+」表示異或運算,「|」表示或運算。
與本實施方式相關的數(shù)據變換裝置,首先,在輸入移位寄存器115上輸入32位的數(shù)據(步驟S301),在第1密鑰移位寄存器116上輸入32位的密鑰(步驟S302)。接著,用第1選擇器120選擇串行運算器(步驟S303)。在這里,設第1串行運算器117被選擇。然后,用第2選擇器121選擇密鑰移位寄存器(步驟S304)。在這里,設第1密鑰移位寄存器116被選擇。
接著,將輸入移位寄存器115向右移動1位(步驟S305),從輸入移位寄存器115輸入1位(步驟S306)。將從輸入移位寄存器115輸出的位設為i。接著,將第1密鑰移位寄存器116向右移動1位(步驟S307),從第1密鑰移位寄存器116輸出1位(步驟S308)。將從第1密鑰移位寄存器116輸出的位設為k。然后,用在步驟S303中所選擇的在第1串行運算器117進行i與k的異或運算(步驟S309),將運算結果輸入到輸入移位寄存器115(步驟S310)。由于在步驟S304中第1密鑰移位寄存器116被選擇,所以在第1密鑰移位寄存器116中輸入k(步驟S313)。按32位相應地反復從步驟S305到步驟S313。當32位的異或的串行運算結束時,返回到步驟S303。
接著,再次用第1選擇器120選擇串行運算器(步驟S303)。在這里,設第2串行運算器119被選擇。然后,用第2選擇器121對密鑰移位寄存器進行選擇(步驟S304)。在這里,設第2密鑰移位寄存器118被選擇。
接著,將輸入移位寄存器115向右移動1位(步驟S305),從輸入移位寄存器115輸出1位(步驟S306)。將從輸入移位寄存器115輸出的位設為i。接著,將第1密鑰移位寄存器116向右移動1位(步驟S307),從第1密鑰移位寄存器116輸出1位(步驟S308)。將從第1密鑰移位寄存器116輸出的位設為k。然后,用在步驟S303中所選擇的第2串行運算器119進行i與k的或運算(步驟S311),將運算結果輸入到輸入移位寄存器115(步驟S312)。由于在步驟S304中第2密鑰移位寄存器118被選擇,所以從第2密鑰移位寄存器118輸出1位(步驟S314)。將從第2密鑰移位寄存器118輸出的位設為k′。在第1密鑰移位寄存器116中輸入k′(步驟S315)。按32位相應地反復從步驟S305到步驟S315。
圖13所示的數(shù)據變換裝置的動作,一部分處理的順序既可以替換,也可以將一部分處理與其他的處理并行執(zhí)行。另外,在利用圖12所示的構成的情況下,由于用第1選擇器120選擇來自串行運算器的「輸出」,所以實際上步驟S309和步驟S311兩方得以執(zhí)行。另外,在利用圖12所示的構成的情況下,在步驟S304中第2選擇器121所選擇的密鑰移位寄存器保持的密鑰并不是在緊跟其之后的運算中使用,而使首先被輸入到第1密鑰移位寄存器116,在下一32位的運算中使用。為取得與本實施方式同樣的效果,也可以以第2選擇器121選擇從密鑰移位寄存器向串行運算器的輸出的方式來構成數(shù)據變換裝置。
在本實施方式中,使用了32位的數(shù)據,但也可以使用64位的數(shù)據等其他位數(shù)的數(shù)據。
如以上那樣,利用本實施方式,在數(shù)據變換裝置中,選擇部選擇由運算部進行的運算種類,由此就可以高效率地利用第1存儲部與第2存儲部。
在本實施方式中,在使用數(shù)據變換裝置的數(shù)據變換方法中,通過選擇對從第1存儲部輸出的位與從第2存儲部輸出的位進行運算的運算種類,就可以高效率地利用第1存儲部與第2存儲部。
實施方式4.
圖14是表示與本實施方式相關的數(shù)據變換算法的基本形式的圖,圖15是表示與本實施方式相關的數(shù)據變換裝置的構成一例的圖。
圖14以及圖15表示了加密算法的一部分,圖14的算法為基本形式。圖14的算法表示m位輸入、n位輸出的表處理。在該圖中,m位的輸入數(shù)據被輸入到m×n查找表(m位輸入n位輸出并行運算器)122,并變換成n位的輸出數(shù)據后一次輸出。圖中,LUT表示查找表。在本實施方式中,將此基本形式的算法如圖15的算法那樣進行安裝。即,準備n個m位輸入、1位輸出的m×1查找表(m位輸入1位輸出串行運算器)123,使定時相互不同來進行n個表處理,并用未圖示的寄存器保持其輸出。
在圖16以及圖17的概念圖中示出m=2、n=2時的例子。圖16對應上述的圖14,圖17對應上述的圖15。
在圖16中,在m×n查找表122的輸入為「00」的情況下,輸出為「01」。同樣,在輸入為「01」、「10」、「11」的情況下,與各自的輸入相對的輸出順次為「00」、「10」、「11」。與此相對,在圖17中,在一方的m×1查找表123中,與輸入「00」、「01」、「10」、「11」相對的輸出順次為「0」、「0」、「1」、「1」。而且,在另一方的m×1查找表123中,與輸入「00」、「01」、「10」、「11」相對的輸出順次為「1」、「0」、「0」、「1」。這樣,各自的m×1查找表123輸出m×n查找表122輸出的n位之中的某一位。
圖18是表示與本實施方式相關的數(shù)據變換裝置的動作的一個例子的流程圖。
與本實施方式相關的數(shù)據變換裝置,在m×1查找表123上輸入m位的數(shù)據(步驟S401),輸出1位(步驟S402)。將其反復n次,最后將全部的輸出存儲在n位的寄存器等中。
通過進行這種安裝,在單位定時m位輸入、1位輸出的表處理就僅進行一次。由此,就具有防止n位輸出的情況下的各位的定時偏差,使定時恒定化的效果。另外,由于為1位輸出,所以能夠抑制每單位時間的電力消耗,就具有造出特征性的電力消耗狀態(tài)的可能性變低之類的效果。這種效果使電力分析變得困難。
在本實施方式中,既可以用存儲器來進行表處理,也可以不使用存儲器,而用以1位輸出的方式構成的邏輯元件來進行。
如以上那樣,利用本實施方式,在數(shù)據變換裝置中,將可進行多個位的并行運算的處理用串行運算來進行處理,由此使每單位時間的電力消耗量比并行運算時的電力消耗量減小,從而就可以使電力分析變得困難。
另外,在數(shù)據變換裝置中,將可以進行m(m>1)位輸入n(n>1)位輸出的并行運算用m位輸入1位輸出的串行運算來進行處理,由此就可以對n位輸出的各位的輸出定時進行調整。
在本實施方式中,在使用數(shù)據變換裝置的數(shù)據變換方法中,將可進行多個位的并行運算的處理,用串行運算來進行處理,由此使每單位時間的電力消耗量比并行運算時的電力消耗量減小,從而就可以使電力分析變得困難。
另外,在數(shù)據變換方法中,將可以進行m(m>1)位輸入n(n>1)位輸出的并行運算的處理,用m位輸入1位輸出的串行運算來進行處理,由此就可以對n位輸出的各位的輸出定時進行調整。
如以上那樣,與本實施方式相關的裝置是一種安裝加密算法,對輸入數(shù)據進行加密、解密的裝置,其中,在加密算法的一部分用表處理來進行的情況下,將表分成1位輸出的多個小表,通過使定時相互不同進行多次與其相關的小表處理的安裝方式,使表處理完結。
實施方式5.
圖19是表示與本實施方式相關的數(shù)據變換算法的基本形式的圖,圖20是表示與本實施方式相關的數(shù)據變換裝置的構成的一個例子的圖。
圖19以及圖20表示安裝了加密算法的一部分的電路,圖19的算法為基本形式。如圖19以及圖20那樣的電路是表處理等邏輯變復雜時的電路。在圖19中,在6位的輸入同時進入的情況下,在AND門(運算部)125a的輸入中,向2個輸入端口輸入的定時錯開。另外,AND門(運算部)125a的輸出定時與OR門(運算部)124b的輸出定時錯開。因而,在圖20中,在XOR門(運算部)126a的各輸入端口之前設置觸發(fā)器(存儲部)127,對向XOR門(運算部)126a的各輸入端口的輸入定時進行調整。
圖20所示的電路例如能夠用作在實施方式4中所說明的圖15的m×1查找表。在此情況下,還可以如圖20那樣,設置接受XOR門(運算部)126a的1位輸出的觸發(fā)器127c。
另外,為了調整向AND門125a的2個輸入端口的輸入定時,還可以將未圖示的觸發(fā)器設置在AND門125a的各輸入端口之前。進而,還可以在全部的邏輯元件的各輸入端口之前設置觸發(fā)器。
通過進行這種安裝,就可防止電路元件中的定時偏差,具有使定時恒定化的效果。另外,由于定時恒定化,所以能夠減小伴隨運算的過渡狀態(tài)(直到最終結果確定為止發(fā)生的不穩(wěn)定的運算結果的狀態(tài)),進一步,還具有減小電力的效果。這種效果就使電力分析變得困難。
如以上那樣,利用本實施方式,在數(shù)據變換裝置中,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,就可以使電力分析變得困難。
另外,在數(shù)據變換裝置中,運算部具有輸入前一運算的結果的多個輸入端口,并且通過該多個輸入端口的輸入來進行后一運算,存儲部被設置在運算部的各輸入端口之前,由此就可以使向后一運算的多個輸入的定時一致。
在本實施方式中,在使用數(shù)據變換裝置的數(shù)據變換方法,將可進行前后連結的運算的處理,用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,由此使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小,就可以使電力分析變得困難。
另外,在數(shù)據變換方法中,使用具有輸入前一運算的結果的多個輸入端口的運算部,通過該多個輸入端口的輸入來進行后一運算,將存儲部設置在運算部的各輸入端口之前,由此就可以使向后一運算的多個輸入的定時一致。
如以上那樣,與本實施方式相關的裝置是一種安裝加密算法,對輸入數(shù)據進行加密、解密的裝置,其中,在加密算法用一系列的邏輯元件構成的情況下,在所輸入的信號的定時錯開的邏輯元件的輸出級設置保持輸出的機構,并且,在與上述邏輯元件相同的定時相當?shù)倪壿嬙妮敵黾壱苍O置保持輸出的機構,進而,設置接受最終輸出的1位輸出的保持機構。
權利要求
1.一種通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置,其特征在于通過將可進行多個位的并行運算的處理用串行運算來進行處理,使每單位時間的電力消耗量比并行運算時的電力消耗量減小。
2.按照權利要求1所述的數(shù)據變換裝置,其特征在于上述數(shù)據變換裝置具備第1存儲部,存儲多個位并逐位進行輸出;第2存儲部,存儲其他的多個位并逐位進行輸出;以及運算部,對上述第1存儲部輸出的位和上述第2存儲部輸出的位進行運算,并使運算后的結果存儲在上述第1存儲部中。
3.按照權利要求2所述的數(shù)據變換裝置,其特征在于上述數(shù)據變換裝置還具備選擇部,選擇由上述運算部進行的運算種類。
4.按照權利要求2所述的數(shù)據變換裝置,其特征在于上述第1存儲部和上述第2存儲部是移位寄存器。
5.按照權利要求1所述的數(shù)據變換裝置,其特征在于上述數(shù)據變換裝置將可進行m位輸入n位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理,其中m>1,n>1。
6.一種通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置,其特征在于將可進行前后連結的運算的處理,通過用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小。
7.按照權利要求6所述的數(shù)據變換裝置,其特征在于上述存儲部在將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算。
8.按照權利要求6所述的數(shù)據變換裝置,其特征在于上述數(shù)據變換裝置具備運算部,具有輸入前一運算的結果的多個輸入端口,并且通過該多個輸入端口的輸入來進行后一運算,上述存儲部被設置在上述運算部的各輸入端口之前。
9.一種使用通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置的數(shù)據變換方法,其特征在于通過將可進行多個位的并行運算的處理用串行運算來進行處理,使每單位時間的電力消耗量比并行運算時的電力消耗量減小。
10.按照權利要求9所述的數(shù)據變換方法,其特征在于上述數(shù)據變換方法,在第1存儲部中存儲多個位并逐位進行輸出,在第2存儲部中存儲其他的多個位并逐位進行輸出,對從上述第1存儲部輸出的位和從上述第2存儲部輸出的位進行運算,并將運算后的結果存儲在上述第1存儲部中。
11.按照權利要求10所述的數(shù)據變換方法,其特征在于上述數(shù)據變換方法進一步,選擇對從上述第1存儲部輸出的位和從上述第2存儲部輸出的位進行運算的運算種類。
12.按照權利要求9所述的數(shù)據變換方法,其特征在于上述數(shù)據變換方法,將可進行m位輸入n位輸出的并行運算的處理用m位輸入1位輸出的串行運算來進行處理,其中m>1,n>1。
13.一種使用通過多個位的運算組合對數(shù)據進行變換的數(shù)據變換裝置的數(shù)據變換方法,其特征在于將可進行前后連結的運算的處理,通過用在前一運算與后一運算之間設置存儲部并經過分離后的運算來進行處理,使每單位時間的電力消耗量比前后連結的運算時的電力消耗量減小。
14.按照權利要求13所述的數(shù)據變換方法,其特征在于在上述存儲部中將前一運算的結果中所包含的全部位存儲起來以后,將該全部位提供給后一運算。
15.按照權利要求13所述的數(shù)據變換方法,其特征在于上述數(shù)據變換方法,使用具有將前一運算的結果輸入的多個輸入端口的運算部,通過該多個輸入端口的輸入來進行后一運算,將上述存儲部設置在上述運算部的各輸入端口之前。
全文摘要
本發(fā)明的目的例如是將與數(shù)據的加密或者解密有關的運算的電力消耗量減小,以使電力分析變得困難。在進行32位的輸入數(shù)據與32位的密鑰的異或運算,并得到32位的輸出數(shù)據的情況下,分別將輸入數(shù)據保持在32位的輸入移位寄存器(105)中,將密鑰保持在32位的密鑰移位寄存器(106)中,并將輸入數(shù)據與密鑰各自的1位作為對串行運算器(107)的輸入,取異或1位并使之移位到輸入移位寄存器(105)的左端。密鑰移位寄存器(106)進行循環(huán)右移位。通過將其進行32次,32位的運算結束,最終結果被保持在輸入移位寄存器(105)中。
文檔編號G06F7/00GK101044535SQ20058003622
公開日2007年9月26日 申請日期2005年3月16日 優(yōu)先權日2005年3月16日
發(fā)明者佐藤恒夫, 山田敬喜 申請人:三菱電機株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绿春县| 荆州市| 贵定县| 武汉市| 吉林市| 大方县| 固始县| 凤凰县| 波密县| 田阳县| 峡江县| 云南省| 西昌市| 大竹县| 苍溪县| 西盟| 宝山区| 普格县| 阿勒泰市| 鄂托克前旗| 右玉县| 黑河市| 望奎县| 乌审旗| 神池县| 五台县| 清水县| 新和县| 巴青县| 平顶山市| 柏乡县| 陆川县| 卢氏县| 金山区| 丰顺县| 毕节市| 扬州市| 卓尼县| 海原县| 高安市| 米易县|