專利名稱:密鑰處理電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及公共密鑰塊加密方式所采用的密鑰處理電路。
背景技術(shù):
近年來,像無鑰匙進(jìn)入系統(tǒng)那樣通過無線電等通信機(jī)構(gòu)收發(fā)數(shù)據(jù)的技術(shù)在廣泛實(shí)行。在無鑰匙進(jìn)入系統(tǒng)的情況下,以數(shù)據(jù)不會(huì)被第三者非法解讀的方式,對(duì)數(shù)據(jù)進(jìn)行加密后進(jìn)行收發(fā)。
雖然數(shù)據(jù)的加密方式多種多樣,但是希望采用DES(Data EncryptionStandard)或AES(Advanced Edncryption Standard)等標(biāo)準(zhǔn)規(guī)格。在這些標(biāo)準(zhǔn)規(guī)格的加密方式的情況下,非法解讀的風(fēng)險(xiǎn)的計(jì)算容易,是因?yàn)榭梢曰谠擄L(fēng)險(xiǎn)來計(jì)算非法解讀的情況下的保險(xiǎn)金。相反,在采用標(biāo)準(zhǔn)規(guī)格以外的獨(dú)特規(guī)格等的加密方式的情況下,難以計(jì)算非法解讀的風(fēng)險(xiǎn),一般多為保險(xiǎn)金變高。
在這樣的DES或AES等公共密鑰塊加密方式中,將數(shù)據(jù)分割為幾個(gè)塊,按每個(gè)塊進(jìn)行轉(zhuǎn)置或替換等處理。該轉(zhuǎn)置或替換的處理,通過將表示輸入數(shù)據(jù)和輸出數(shù)據(jù)的對(duì)應(yīng)之對(duì)應(yīng)表預(yù)先存儲(chǔ)在存儲(chǔ)器中,基于對(duì)應(yīng)表求出與所提供的輸入數(shù)據(jù)對(duì)應(yīng)的輸出數(shù)據(jù)便可以實(shí)現(xiàn)。
專利文獻(xiàn)1特開2004-120307號(hào)公報(bào)然而,在由軟件實(shí)現(xiàn)轉(zhuǎn)置或替換的情況下,由于重復(fù)進(jìn)行存儲(chǔ)在存儲(chǔ)器中的對(duì)應(yīng)表的參照等,故處理負(fù)荷高,消耗功率大。因此,若在無鑰匙進(jìn)入系統(tǒng)中采用由軟件實(shí)現(xiàn)轉(zhuǎn)置或替換的公共密鑰塊加密方式,則存在以下問題使用者進(jìn)行上鎖·開鎖的操作的子機(jī)的電池消耗加快。并且,在無鑰匙進(jìn)入系統(tǒng)中,為了使對(duì)于上鎖或開鎖的操作的響應(yīng)(response)良好,需要使加密以及解密的處理速度提高。
發(fā)明內(nèi)容
本發(fā)明就是鑒于上述問題而進(jìn)行的,其目的在于提供一種以低消耗功率且高速地進(jìn)行公共密鑰塊加密方式中的加密以及解密的處理的密鑰處理電路。
為了實(shí)現(xiàn)上述目的,本發(fā)明的密鑰處理電路,是一種進(jìn)行基于每位的對(duì)應(yīng)規(guī)則重新排列多位輸入數(shù)據(jù)后輸出的、公共密鑰塊加密方式的轉(zhuǎn)置處理的密鑰處理電路,其中可以具備數(shù)據(jù)輸入部,其接收上述多位輸入數(shù)據(jù),并具有將所接收的上述多位輸入數(shù)據(jù)并列輸出的輸出端口;數(shù)據(jù)輸出部,其具有并列輸入多位數(shù)據(jù)的輸入端口,并將向上述輸入端口輸入的上述多位數(shù)據(jù)輸出;和轉(zhuǎn)置部,其基于上述每位的對(duì)應(yīng)規(guī)則,將上述輸出端口和上述輸入端口連接。
另外,本發(fā)明的密鑰處理電路,是一種進(jìn)行基于對(duì)應(yīng)規(guī)則將多位輸入數(shù)據(jù)變換后輸出的、公共密鑰塊加密方式的替換處理的密鑰處理電路,其中可以具備數(shù)據(jù)輸入部,其接收上述多位輸入數(shù)據(jù),并具有將所接收的上述多位輸入數(shù)據(jù)并列輸出的輸出端口;替換部,其是基于上述對(duì)應(yīng)規(guī)則、將從上述數(shù)據(jù)輸入部并列輸出的上述多位輸入數(shù)據(jù)變換后輸出的邏輯電路;和輸出數(shù)據(jù)部,其具有將從上述替換部輸出的多位數(shù)據(jù)并列輸入的輸入端口,并將向上述輸入端口輸入的上述多位數(shù)據(jù)輸出。
另外,本發(fā)明的密鑰處理電路,是一種進(jìn)行將多位輸入數(shù)據(jù)變換后輸出的、公共密鑰塊加密方式的替換處理的密鑰處理電路,其是接收上述輸入數(shù)據(jù)、和指示上述輸入數(shù)據(jù)的重新排列的選擇數(shù)據(jù),并將基于上述選擇數(shù)據(jù)重新排列上述輸入數(shù)據(jù)后的數(shù)據(jù),基于規(guī)定的對(duì)應(yīng)規(guī)則變換后輸出。
在進(jìn)行公共密鑰塊加密方式的替換處理的密鑰處理電路中,不修正硬件,便可對(duì)替換處理中的輸入數(shù)據(jù)和輸出數(shù)據(jù)的對(duì)應(yīng)規(guī)則進(jìn)行變更,故可以提高安全性。
圖1為表示作為采用本發(fā)明的密鑰處理電路的一實(shí)施方式的、進(jìn)行汽車鎖的上鎖·開鎖的無鑰匙進(jìn)入系統(tǒng)的整體構(gòu)成的圖。
圖2為表示數(shù)據(jù)處理電路的構(gòu)成的圖。
圖3為表示無鑰匙進(jìn)入系統(tǒng)的子機(jī)和母機(jī)之間的通信順序的流程圖。
圖4為表示DES的加密處理的流程的流程圖。
圖5為表示F函數(shù)(F(R,K))的處理流程的流程圖。
圖6為表示DES的解密處理的流程的流程圖。
圖7為表示密鑰處理電路的構(gòu)成的圖。
圖8為表示初始轉(zhuǎn)置(Initial Permutation)中每位的對(duì)應(yīng)規(guī)則的圖。
圖9為表示初始轉(zhuǎn)置部的構(gòu)成的圖。
圖10為表示最終轉(zhuǎn)置(Inverse Initial Permutation)中每位的對(duì)應(yīng)規(guī)則的圖。
圖11為表示最終轉(zhuǎn)置部的構(gòu)成的圖。
圖12為表示放大型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則的圖。
圖13為表示放大型轉(zhuǎn)置部的構(gòu)成的圖。
圖14為表示S-BOX部的構(gòu)成的圖。
圖15為表示S-BOX(S1)中的對(duì)應(yīng)規(guī)則的圖。
圖16為表示S-BOX部的S1的構(gòu)成的圖。
圖17為表示P轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則的圖。
圖18為表示P轉(zhuǎn)置部的構(gòu)成的圖。
圖19為表示PC1(Permuted Choice1)轉(zhuǎn)置(即第1縮減型轉(zhuǎn)置)中每位的對(duì)應(yīng)規(guī)則的圖。
圖20為表示PC1轉(zhuǎn)置部的構(gòu)成的圖。
圖21為表示旋轉(zhuǎn)移動(dòng)中的旋轉(zhuǎn)數(shù)的圖。
圖22為旋轉(zhuǎn)移動(dòng)部的構(gòu)成的圖。
圖23為表示PC2(Permuted Choice2)轉(zhuǎn)置(即第2縮減型轉(zhuǎn)置)中每位的對(duì)應(yīng)規(guī)則的圖。
圖24為表示PC2轉(zhuǎn)置部的構(gòu)成的圖。
圖中1-無鑰匙進(jìn)入系統(tǒng),2-子機(jī),3-母機(jī),11-電池,12-操作開關(guān),13、21-數(shù)據(jù)處理電路,14、22-收發(fā)電路,23-驅(qū)動(dòng)電路,24-執(zhí)行元件(actuator),25-蓄電池,51A、51B-CPU,52A、52B-RAM,53A、53B、53B-EEPROM,54A、54B-隨機(jī)數(shù)生成電路,55A、55B-密鑰處理電路,56A、56B-輸入輸出端口,61-輸入寄存器,62-轉(zhuǎn)置·替換部,63-輸出緩沖器,64-選擇寄存器,65、66-多路復(fù)用器(multiplexer),67-地址譯碼器,71-初始轉(zhuǎn)置部,72-最終轉(zhuǎn)置部,73-放大型轉(zhuǎn)置部,74-S-BOX部,75-P轉(zhuǎn)置部,76-PC1轉(zhuǎn)置部,77-旋轉(zhuǎn)移動(dòng)部,78-PC2轉(zhuǎn)置部,95-選擇器,96-置換電路,97-選擇電路,98-選擇寄存器。
具體實(shí)施例方式
===整體構(gòu)成===圖1為表示作為采用本發(fā)明的密鑰處理電路的一實(shí)施方式的、進(jìn)行汽車鎖的上鎖·開鎖的無鑰匙進(jìn)入系統(tǒng)1的整體構(gòu)成的圖。無鑰匙進(jìn)入系統(tǒng)1構(gòu)成為包含便攜式的子機(jī)2和搭載在汽車等上的母機(jī)3。子機(jī)2被設(shè)置在例如插入汽車的門鎖或轉(zhuǎn)向鎖(steering lock)的鑰匙孔中的鑰匙的方向盤部等中。并且,母機(jī)3被設(shè)置在汽車側(cè)。
子機(jī)2備有電池11、操作開關(guān)12、數(shù)據(jù)處理電路13以及收發(fā)電路14。電池11,用于向子機(jī)2的各部分的動(dòng)作供給需要的功率。操作開關(guān)12為接收來自使用者的上鎖·開鎖的指示的開關(guān)。數(shù)據(jù)處理電路13進(jìn)行上鎖·開鎖之際所需要的認(rèn)證用的數(shù)據(jù)的生成等。收發(fā)電路14是將從數(shù)據(jù)處理電路13輸出的數(shù)字?jǐn)?shù)據(jù)變換成模擬數(shù)據(jù),對(duì)其進(jìn)行放大后作為電磁波送出的電路。并且,收發(fā)電路14還可以接收從母機(jī)3送出的電磁波,將其變換成數(shù)字?jǐn)?shù)據(jù)后向數(shù)據(jù)處理電路13輸入。另外,作為電磁波,采用電波或紅外線。
母機(jī)3備有數(shù)據(jù)處理電路21、收發(fā)電路22以及驅(qū)動(dòng)電路23。數(shù)據(jù)處理電路21基于從子機(jī)2接收的認(rèn)證用的數(shù)據(jù)進(jìn)行認(rèn)證處理等。收發(fā)電路22是接收從子機(jī)2送出的電磁波,將其變換成數(shù)字?jǐn)?shù)據(jù)后向數(shù)據(jù)處理電路22輸入的電路。并且,收發(fā)電路22還可以將從數(shù)據(jù)處理電路21輸出的數(shù)字?jǐn)?shù)據(jù)變換成模擬數(shù)據(jù),對(duì)其進(jìn)行放大后作為電磁波送出。驅(qū)動(dòng)電路23是向使汽車的鎖上鎖·開鎖的鎖機(jī)構(gòu)動(dòng)作的執(zhí)行元件24發(fā)送驅(qū)動(dòng)信號(hào)的電路。另外,從汽車的蓄電池25向母機(jī)3的各部分21~23供給功率。
===數(shù)據(jù)處理電路的構(gòu)成====圖2為表示數(shù)據(jù)處理電路13的構(gòu)成的圖。數(shù)據(jù)處理電路13備有CPU51A、RAM(Random Access Memory,隨機(jī)存取存儲(chǔ)器)52A、EEPROM(Electrically Erasable Programmable Memory,電可擦可編程只讀存儲(chǔ)器)53A、隨機(jī)數(shù)生成電路54A、密鑰處理電路55A以及輸入輸出端口56A。并且,各個(gè)部分51A~56A通過總線57A可相互通信地連接。
CPU51A對(duì)數(shù)據(jù)處理電路13的整體進(jìn)行控制。在RAM52A中,存儲(chǔ)CPU51A使用的作業(yè)用數(shù)據(jù)等。EEPROM53A是可改寫的非易失性存儲(chǔ)器,存儲(chǔ)著程序或保存用的數(shù)據(jù)等。隨機(jī)數(shù)生成電路54A是生成加密處理中采用的偽隨機(jī)數(shù)或者物理隨機(jī)數(shù)的電路。密鑰處理電路55A是進(jìn)行在公共密鑰塊加密方式中的轉(zhuǎn)置或者替換的處理的電路。輸入輸出端口56A是用于與存在于數(shù)據(jù)處理電路13外部的操作開關(guān)12或收發(fā)電路14等進(jìn)行數(shù)據(jù)的收發(fā)的接口。
另外,在本實(shí)施方式中,采用DES(Data Encryption Standard)來作為公共密鑰塊加密方式。在這樣的數(shù)據(jù)處理電路13中,通過程序的執(zhí)行或密鑰處理電路55A的控制等,進(jìn)行DES的加密或解密的處理。而且,數(shù)據(jù)處理電路21也是同樣的構(gòu)成,備有CPU51B、RAM52B、EEPROM53B、隨機(jī)數(shù)生成電路54B、密鑰處理電路55B、輸入輸出端口56B以及使各部分51B~56B可相互通信地連接的總線57B。
===通信順序===圖3為表示無鑰匙進(jìn)入系統(tǒng)1的子機(jī)2和母機(jī)3之間的通信順序的流程圖。首先,通過子機(jī)2的操作開關(guān)12的操作等起動(dòng)發(fā)送處理(S301)。子機(jī)2的數(shù)據(jù)處理電路13,將存儲(chǔ)在EEPROM53A中的車號(hào)(車身號(hào)碼)發(fā)送給母機(jī)3(S302)。母機(jī)3的數(shù)據(jù)處理電路21,待機(jī)從子機(jī)2發(fā)送來車號(hào)(S303),一旦接收從子機(jī)2發(fā)送來的車號(hào),則將該車號(hào)與存儲(chǔ)在EEPROM53B中的車號(hào)進(jìn)行比較(S304)。
在車號(hào)不一致的情況下(S304不行(NG)),母機(jī)3的數(shù)據(jù)處理電路21判斷發(fā)送了不同的汽車車號(hào),返回接收待機(jī)處理(S303)。若車號(hào)一致(S304是(OK)),則數(shù)據(jù)處理電路21采用隨機(jī)數(shù)生成電路54B,生成64位的臨時(shí)密鑰R0(S305)。并且,數(shù)據(jù)處理電路21采用存儲(chǔ)在EEPROM53B中的公共密鑰K,以DES對(duì)該臨時(shí)密鑰R0進(jìn)行加密后發(fā)送給子機(jī)2(S306)。
子機(jī)2的數(shù)據(jù)處理電路13,一旦接收從母機(jī)3發(fā)送來的加密后的臨時(shí)密鑰R0,則采用存儲(chǔ)在EEPROM53A中的公共密鑰K對(duì)臨時(shí)密鑰R0進(jìn)行解密(S307)。接著,數(shù)據(jù)處理電路13采用隨機(jī)數(shù)生成電路54A生成64位的臨時(shí)密鑰R1(S308)。并且,數(shù)據(jù)處理電路13采用從母機(jī)3接收的臨時(shí)密鑰R0,以DES對(duì)該臨時(shí)密鑰R1進(jìn)行加密后發(fā)送給母機(jī)3(S309)。母機(jī)3的數(shù)據(jù)處理電路21,一旦接收從子機(jī)2發(fā)送來的加密后的臨時(shí)密鑰R1,則采用臨時(shí)密鑰R0對(duì)臨時(shí)密鑰R1進(jìn)行解密(S310)。
其后,子機(jī)2的數(shù)據(jù)處理電路13,采用臨時(shí)密鑰R1,以DES對(duì)上鎖·開鎖指示等信息數(shù)據(jù)進(jìn)行加密后發(fā)送給母機(jī)3(S311)。母機(jī)3的數(shù)據(jù)處理電路21,一旦接收從子機(jī)2發(fā)送來的加密后的信息數(shù)據(jù),則采用臨時(shí)密鑰R1對(duì)信息數(shù)據(jù)進(jìn)行解密(S312)。并且,數(shù)據(jù)處理電路21,基于信息數(shù)據(jù),例如經(jīng)由驅(qū)動(dòng)電路23向執(zhí)行元件24發(fā)送上鎖·開鎖指示信號(hào)。
于是,在無鑰匙進(jìn)入系統(tǒng)1中,通過在子機(jī)2以及母機(jī)3中采用隨機(jī)數(shù)生成電路54A、54B來生成臨時(shí)密鑰,DES重復(fù)加密以及解密的處理,從而使安全強(qiáng)度提高。
===DES的加密·解密的處理===圖4為表示DES的加密處理的流程的流程圖。DES的加密處理由第1段至第16段為止的處理構(gòu)成。首先,通過初始轉(zhuǎn)置(Initial Permutation),對(duì)成為加密對(duì)象的64位的明文進(jìn)行重新排列,生成成為第1段的輸入數(shù)據(jù)的左側(cè)的32位(L0)以及右側(cè)的32位(R0)(S401)。并且,通過下式(1、2)求出成為第2段的輸入數(shù)據(jù)的L1以及R1。
L1=R0(1)R1=L0F(R0,K1)(2)在此,K1為由64位公共密鑰生成的密鑰。首先,通過縮減型轉(zhuǎn)置(Permuted Choice1以后稱作“PC1轉(zhuǎn)置”)將64位的公共密鑰變換成56位,生成左側(cè)的28位(C0)以及右側(cè)的28位(D0)(S402)。進(jìn)而,對(duì)于C0以及D0進(jìn)行左旋轉(zhuǎn)移動(dòng),生成C1以及D1(S403,S404)。并且,通過縮減型轉(zhuǎn)置(Permuted Choice2以后稱作“PC2轉(zhuǎn)置”)將C1以及D1變換成48位,從而得到K1(S405)。并且,通過使C1以及D1進(jìn)一步左旋轉(zhuǎn)移動(dòng),并進(jìn)行PC2轉(zhuǎn)置,從而可以生成在第2段以后采用的密鑰K2~K16。
如此求出的L1以及R1成為第2段的輸入數(shù)據(jù),重復(fù)執(zhí)行處理直到第16段為止。即,Ln以及Rn由下式(3,4)求出。
Ln=Rn-1(3)R0=Ln-1F(Rn-1,Kn-1)(4)并且,通過對(duì)于作為第16段的輸出數(shù)據(jù)的L16以及R16進(jìn)行最終轉(zhuǎn)置(Inverse Initial Permutation),從而可以得到將明文加密后的加密文(S406)。
圖5為表示F函數(shù)(F(R,K))的處理的流程的圖。首先,通過放大型轉(zhuǎn)置將32位的數(shù)據(jù)R變換成48位,生成R’(S501)。接著,將通過按每位對(duì)R’與48位的密鑰K進(jìn)行異或而得到的48位的數(shù)據(jù),按每6位進(jìn)行分割,向S1~S8的S-BOX輸入。并且,通過對(duì)從各S-BOX輸出的4位進(jìn)行合并而構(gòu)成的32位的數(shù)據(jù)進(jìn)行轉(zhuǎn)置而重新排列后的數(shù)據(jù)變成F函數(shù)的輸出數(shù)據(jù)(S502)。
圖6為表示DES的解密的處理的流程的流程圖。DES的解密處理與加密處理同樣由第1段至第16段為止的處理構(gòu)成。首先,通過初始轉(zhuǎn)置對(duì)成為解密對(duì)象的64位的加密文進(jìn)行重新排列,生成成為第1段的輸入數(shù)據(jù)的左側(cè)的32位(R16)以及右側(cè)的32位(L16)(S601)。并且,通過下式(5)以及(6)求出成為第2段的輸入數(shù)據(jù)的R15以及L15。
R15=L16(5)L15=R16F(L16,K16)(6)在此,K16是由64位的公共密鑰生成的密鑰,首先,通過PC1轉(zhuǎn)置將64位的公共密鑰變換成56位,生成左側(cè)的28位(C16)以及右側(cè)的28位(D16)(S602)。并且,通過PC2轉(zhuǎn)置將C16以及D16變換成48位,得到K16(S603)。通過將C16以及D16右旋轉(zhuǎn)移動(dòng),并進(jìn)行PC2轉(zhuǎn)置,從而可以生成第2段以后采用的密鑰K15~K1。
如此求出的R15以及L15變成第2段的輸入數(shù)據(jù),重復(fù)執(zhí)行處理直到第16段為止。即Rn以及Ln,成為通過下式(7)以及(8)而被求出。
Rn-1=Ln(7)Ln-1=RnF(Ln,Kn)(8)
并且,通過對(duì)作為第16段的輸出數(shù)據(jù)的R0以及L0進(jìn)行最終轉(zhuǎn)置,從而可以得到對(duì)加密文進(jìn)行解密后的明文(S604)。另外,解密處理中的Ln、Rn、Cn、Dn、Kn,與加密處理中的Ln、Rn、Cn、Dn、Kn相同。并且,C0=C16、D0=D16。
===密鑰處理電路的構(gòu)成===在本實(shí)施方式中,圖4~圖6所說明的加密以及解密處理中的轉(zhuǎn)置·替換處理采用密鑰處理電路55A、55B來實(shí)現(xiàn)。密鑰處理電路55A以及密鑰處理電路55B是同樣的構(gòu)成。以后,針對(duì)密鑰處理電路55A進(jìn)行說明。圖7為表示密鑰處理電路55A的構(gòu)成的圖。密鑰處理電路55A備有輸入寄存器(數(shù)據(jù)輸入部)61、轉(zhuǎn)置·替換部62、輸出緩沖器(數(shù)據(jù)輸出部)63、選擇寄存器64、多路復(fù)用器65、66以及地址譯碼器67。
輸入寄存器61是采用多個(gè)D型觸發(fā)器(以后稱作“D-FF”)而構(gòu)成的64位的寄存器,D-FF的輸入端子D,與總線57A的數(shù)據(jù)總線連接,D-FF的輸出端子Q(輸出端口)經(jīng)由多路復(fù)用器65與轉(zhuǎn)置·替換部62連接。并且,向構(gòu)成輸入寄存器61的D-FF的時(shí)鐘輸入端子,輸入寫入信號(hào)(WRITE)。而且,例如在數(shù)據(jù)總線為8位的情況下,輸入寄存器61可以設(shè)為采用8個(gè)8位的寄存器的構(gòu)成。
轉(zhuǎn)置·替換部62備有初始轉(zhuǎn)置部71、最終轉(zhuǎn)置部72、放大型轉(zhuǎn)置部73、S-BOX部74、P轉(zhuǎn)置部75、PC1轉(zhuǎn)置部76、旋轉(zhuǎn)移動(dòng)部77以及PC2轉(zhuǎn)置部78的8個(gè)模塊。轉(zhuǎn)置·替換部62的各模塊71~78,對(duì)從輸入寄存器61輸入的數(shù)據(jù)進(jìn)行轉(zhuǎn)置或者替換處理,經(jīng)由多路復(fù)用器66向輸出緩沖器63輸出。
另外,S-BOX部74相當(dāng)于本發(fā)明的替換部,其它的各個(gè)部分71、72、73、75、76、77、78相當(dāng)于本發(fā)明的轉(zhuǎn)置部。并且,選擇寄存器64、多路復(fù)用器65以及多路復(fù)用器66相當(dāng)于本發(fā)明的選擇部。
輸出緩沖器63是64位的三態(tài)緩沖器,在該64位的輸入端子(輸入端口)上經(jīng)由多路復(fù)用器66而連接有轉(zhuǎn)置·替換部62,輸出端子與總線57A的數(shù)據(jù)總線連接。另外,例如在數(shù)據(jù)總線為8位的情況下,輸出緩沖器63可以設(shè)為采用8個(gè)8位的三態(tài)緩沖器的構(gòu)成。
選擇寄存器64是采用多個(gè)D-FF而構(gòu)成的、例如8位的寄存器,D-FF的輸入端子D與總線57A的數(shù)據(jù)總線連接,D-FF的輸出端子Q與多路復(fù)用器65、66連接。并且,向構(gòu)成選擇寄存器64的D-FF的時(shí)鐘輸入端子輸入寫入信號(hào)(WRITE)。向選擇寄存器64中寫入表示選擇轉(zhuǎn)置·替換部62中的哪個(gè)模塊的選擇數(shù)據(jù)。多路復(fù)用器65,基于從選擇寄存器64中輸出的選擇數(shù)據(jù),將從輸入寄存器61輸出的數(shù)據(jù)向該模塊輸出。另外,多路復(fù)用器66,基于從選擇寄存器64輸出的選擇數(shù)據(jù),將從該模塊輸出的數(shù)據(jù)向輸出緩沖器63輸出。
地址譯碼器67與總線57A的地址總線連接,選擇與由地址總線指定的地址相符合的電路。另外,在本實(shí)施方式中,向輸入寄存器61寫入的地址、和從輸出緩存器63讀出的地址相同。
下面針對(duì)在數(shù)據(jù)處理電路13中、采用密鑰處理電路55A進(jìn)行轉(zhuǎn)置或者替換處理的流程進(jìn)行說明。首先,CPU51A向地址總線輸出選擇寄存器64的地址,向數(shù)據(jù)總線輸出表示轉(zhuǎn)置·替換部62的所希望模塊的選擇數(shù)據(jù),通過輸出寫入信號(hào)(WRITE),從而向選擇寄存器中寫入選擇數(shù)據(jù)。接著,CPU51A向地址總線輸出輸入寄存器61的地址,向數(shù)據(jù)總線輸出轉(zhuǎn)置或者替換處理的輸入數(shù)據(jù),通過輸出寫入信號(hào)(WRITE),從而將該輸入數(shù)據(jù)寫入輸入寄存器61。這樣,輸入到輸入寄存器61的數(shù)據(jù)經(jīng)由多路復(fù)用器65而向所希望的模塊輸入,轉(zhuǎn)置或者替換處理的結(jié)果經(jīng)由多路復(fù)用器66向輸出緩沖器63輸出。
之后,CPU51A將作為與輸入寄存器61相同的地址的輸出緩沖器63的地址向地址總線輸出,向輸出緩沖器63輸入讀出信號(hào)(READ)。這樣,對(duì)輸入數(shù)據(jù)進(jìn)行了轉(zhuǎn)置或者替換處理后的數(shù)據(jù)便從輸出緩沖器63向數(shù)據(jù)總線輸出。如此,CPU51A僅通過將數(shù)據(jù)寫入輸入寄存器61,從輸出緩沖器63讀出數(shù)據(jù),便可以進(jìn)行轉(zhuǎn)置或者替換處理。
===轉(zhuǎn)置·替換部的構(gòu)成===接著,對(duì)轉(zhuǎn)置替換部的各模塊71~78的構(gòu)成進(jìn)行說明。
(1)初始轉(zhuǎn)置圖8為表示初始轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則91的圖。該對(duì)應(yīng)規(guī)則91表示例如向初始轉(zhuǎn)置71輸入的64位的輸入數(shù)據(jù)的第58位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第50位成為輸出數(shù)據(jù)的第2位那樣的、64位的輸入數(shù)據(jù)與64位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。
圖9為表示處理轉(zhuǎn)置部71的構(gòu)成的圖。如圖所示,初始轉(zhuǎn)置部71的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則91而被接線。例如,按照輸入側(cè)的第58位成為輸出側(cè)的第1位的方式被接線,按照輸入側(cè)的第50位成為輸出側(cè)的第2位的方式被接線。即,初始轉(zhuǎn)置部71經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則91連接。
(2)最終轉(zhuǎn)置圖10為表示最終轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則92的圖。該對(duì)應(yīng)規(guī)則92表示例如向最終轉(zhuǎn)置部72輸入的64位的輸入數(shù)據(jù)的第40位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第8位成為輸出數(shù)據(jù)的第2位那樣的、64位的輸入數(shù)據(jù)與64位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。
圖11為表示最終轉(zhuǎn)置部72的構(gòu)成的圖。如圖所示,最終轉(zhuǎn)置部72的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則92而被接線。例如,按照輸入側(cè)的第40位成為輸出側(cè)的第1位的方式而被接線,按照輸入側(cè)的第8位成為輸出側(cè)的第2位的方式而被接線。即,最終轉(zhuǎn)置部72經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則92連接。
(3)放大型轉(zhuǎn)置圖12為表示放大型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則93的圖。該對(duì)應(yīng)規(guī)則93表示例如向放大型轉(zhuǎn)置部73輸入的32位的輸入數(shù)據(jù)的第32位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第1位成為輸出數(shù)據(jù)的第2位這樣的、32位的輸入數(shù)據(jù)與48位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。而且,在放大型轉(zhuǎn)置中,由于將32位的輸入數(shù)據(jù)放大成48位的輸出數(shù)據(jù),因此輸入數(shù)據(jù)中的16位,被輸出到輸出數(shù)據(jù)的2位。例如,輸入數(shù)據(jù)的每1位,被輸出到輸出數(shù)據(jù)的第2位以及第48位的2位。
圖13為表示放大型轉(zhuǎn)置部73的構(gòu)成的圖。如圖所示,放大型轉(zhuǎn)置部73的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則93而被接線。例如,按照輸入側(cè)的第32位成為輸出側(cè)的第1位的方式而被接線,按照輸入側(cè)的第1位成為輸出側(cè)的第2位的方式而被接線。即,放大型轉(zhuǎn)置部73經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則93連接。
(4)S-BOX圖14為表示S-BOX部74的構(gòu)成的圖。如圖所示,S-BOX部74由S1~S8構(gòu)成,自48位的輸入數(shù)據(jù)的開頭起,每隔6位而分割的數(shù)據(jù)被輸入到S1~S8。并且,例如在S1中,基于對(duì)應(yīng)規(guī)則將6位的輸入數(shù)據(jù)變換成4位后輸出。同樣地,即使在S2~S8中,基于各自的對(duì)應(yīng)規(guī)則也能將6位的輸入數(shù)據(jù)變換成4位后輸出。
圖15為表示S-BOX(S1)的對(duì)應(yīng)規(guī)則94的圖。在該對(duì)應(yīng)規(guī)則94中,向S1輸入的6位的輸入數(shù)據(jù)的第1行與第6行(B1·B6)成為行,輸入數(shù)據(jù)的第2位至第5位(B2~B5)成為列,在其交差處存在的數(shù)據(jù)成為輸出數(shù)據(jù)。例如,輸入數(shù)據(jù)“110000”被輸入到S1。這種情況下,B1·B6成為“10”,第3行被選擇。并且,B2~B5成為“1000”,將其由十進(jìn)制表示后的第8列被選擇。這樣,處于第3行第8列的十進(jìn)制的“15”由二進(jìn)制表示后的“1111”被輸出。同樣地,對(duì)于S2~S8也制定對(duì)應(yīng)規(guī)則。
圖16為表示S-BOX部74的S1的構(gòu)成的圖。如圖所示,S1備有選擇器95、置換電路96以及選擇電路97。并且,設(shè)置S1~S8公共采用的選擇寄存器98。而且,選擇器95以及置換電路96相當(dāng)于本發(fā)明的替換電路。
經(jīng)由選擇電路97向選擇器95輸入B1以及B6。依據(jù)該輸入,將表示對(duì)應(yīng)規(guī)則94的哪行被選擇的信號(hào)向置換電路96輸出。在置換電路96中,構(gòu)成將B2~B5變換成對(duì)應(yīng)規(guī)則94的各行的值的邏輯電路,基于來自選擇器95的信號(hào)對(duì)B2~B5進(jìn)行變換后輸出。
選擇寄存器98是采用多個(gè)D-FF而構(gòu)成的、例如8位的寄存器,D-FF的輸入端子D與總線57A的數(shù)據(jù)總線連接,D-FF的輸出端子Q與選擇電路97連接。并且,選擇電路97,依據(jù)從選擇寄存器98輸出的選擇數(shù)據(jù),可以重新排列向選擇器95輸出的B1和B6。例如,在從選擇寄存器98輸出選擇數(shù)據(jù)“0”時(shí),選擇電路97從第1位97a輸出B1,從第2位97b輸出B6。并且,在從選擇寄存器98輸出選擇數(shù)據(jù)“1”時(shí),選擇電路97從第1位97a輸出B6,從第2位97b輸出B1。
即,在上述輸入數(shù)據(jù)“110000”的情況下,從選擇寄存器98輸出選擇數(shù)據(jù)“1”時(shí),從選擇電路97向選擇器95輸入的數(shù)據(jù)成為“01”,第2行被選擇,第2行第8列的十進(jìn)制的“10”由二進(jìn)制表示后的“1010”被輸出。如此,通過使向選擇寄存器98寫入的選擇數(shù)據(jù)改變,從而可以使S1的對(duì)應(yīng)規(guī)則94改變。
另外,即便關(guān)于S2~S8,也與S1同樣地構(gòu)成。即,由S1~S8構(gòu)成的S-BOX部74可以叫做邏輯電路,其經(jīng)由多路復(fù)用器65、66,基于S1~S8的對(duì)應(yīng)規(guī)則,對(duì)從輸入寄存器61的輸出端子Q并列輸出的輸入數(shù)據(jù)進(jìn)行變換后向輸出緩沖器63的輸入端子輸出。
并且,在本實(shí)施方式中,雖然為由選擇電路97對(duì)最高位和最低位的2位進(jìn)行重新排列后向選擇器95輸入,剩余的4位向置換電路96輸入的構(gòu)成,然而S-BOX部74的構(gòu)成并非限于此,只要是將基于選擇數(shù)據(jù)對(duì)所輸入的6位(B1~B6)重新排列后的數(shù)據(jù),基于對(duì)應(yīng)規(guī)則變換成4位的邏輯電路即可。
(P轉(zhuǎn)置)圖17為表示P轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則101的圖。該對(duì)應(yīng)規(guī)則101表示例如向最終轉(zhuǎn)置部75輸入的32位的輸入數(shù)據(jù)的第16位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第7位成為輸出數(shù)據(jù)的第2位這樣的、32位的輸入數(shù)據(jù)與32位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。
圖18為表示P轉(zhuǎn)置部75的構(gòu)成的圖。如圖所示,P轉(zhuǎn)置部75的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則101而被接線。例如,按照輸入側(cè)的第16位成為輸出側(cè)的第1位的方式被接線,按照輸入側(cè)的第7位成為輸出側(cè)的第2位的方式被接線。即,P轉(zhuǎn)置部75經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則101連接。
(6)PC1轉(zhuǎn)置圖19為表示PC1轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則102的圖。該對(duì)應(yīng)規(guī)則102表示,例如向PC1轉(zhuǎn)置部76輸入的64位的輸入數(shù)據(jù)的第57位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第49位成為輸出數(shù)據(jù)的第2位這樣的、64位的輸入數(shù)據(jù)與59位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。并且,在PC1轉(zhuǎn)置中,由于將64位的輸入數(shù)據(jù)縮減為56位的輸出數(shù)據(jù),因此輸入數(shù)據(jù)中的8位不會(huì)被輸出到輸出數(shù)據(jù)中。
圖20為表示PC1轉(zhuǎn)置部76的構(gòu)成的圖。如圖所示,PC1轉(zhuǎn)置部76的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則102而被接線。例如,按照輸入側(cè)的第57位成為輸出側(cè)的第1位的方式而被接線,按照輸入側(cè)的第49位成為輸出側(cè)的第2位的方式而被接線。即,PC1轉(zhuǎn)置部76經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則102連接。
(7)旋轉(zhuǎn)移動(dòng)圖21為表示旋轉(zhuǎn)移動(dòng)中的輸入數(shù)據(jù)和輸出數(shù)據(jù)的對(duì)應(yīng)規(guī)則103的圖。即,對(duì)應(yīng)規(guī)則103表示通過將28位的C0以及28位的D0左旋轉(zhuǎn)移動(dòng)1位而得到28位的C1以及28位的D1,通過將C1以及D1左旋轉(zhuǎn)移動(dòng)1位而得到C2以及D2,通過將C2以及D2左旋轉(zhuǎn)移動(dòng)2位而得到C3以及D3。如此,在對(duì)應(yīng)規(guī)則103中,表示C1~C16以及D1~D16為止的旋轉(zhuǎn)數(shù)。并且,左旋轉(zhuǎn)移動(dòng)的處理為輸入數(shù)據(jù)的各位與輸出數(shù)據(jù)的各位1對(duì)1對(duì)應(yīng),與其它轉(zhuǎn)置同樣可以叫做每位的對(duì)應(yīng)規(guī)則。
圖22為表示旋轉(zhuǎn)移動(dòng)部77的構(gòu)成的圖。該圖表示旋轉(zhuǎn)移動(dòng)部77中、由C0以及D0生成C1以及D1的部分,按照將輸入側(cè)的C0以及D0分別左旋轉(zhuǎn)移動(dòng)1位作為C1以及D1并向輸出側(cè)輸出的方式接線。并且,即使對(duì)于由C0以及D0生成C2~C16以及D2~D16的部分,也同樣地構(gòu)成。即,旋轉(zhuǎn)移動(dòng)部77經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則103連接。
另外,雖然將生成C1~C16以及D1~D16的旋轉(zhuǎn)移動(dòng)部77,也可按照例如生成C1以及D1的電路、生成C2以及D2的電路的方式各自分別構(gòu)成,但是還可將它們統(tǒng)一而構(gòu)成。即,旋轉(zhuǎn)移動(dòng)部77還可以按照根據(jù)從輸入寄存器61輸出的C0以及D0,一次生成C1~C16以及D1~D16,向輸出緩沖器63輸出。這時(shí),輸出緩沖器63需要將56位(7個(gè)字節(jié))16倍后的112個(gè)字節(jié)以上的容量。如此,由于通過一次生成C1~C16以及D1~D16,從而由一次處理便可以實(shí)行用于生成密鑰K1~K16的旋轉(zhuǎn)移動(dòng),故可以使加密以及解密處理的處理速度提高。
(8)PC2轉(zhuǎn)置圖23為表示PC2轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則104的圖。該對(duì)應(yīng)規(guī)則104表示,例如按照向PC2轉(zhuǎn)置部78輸入的56位的輸入數(shù)據(jù)的第14位成為輸出數(shù)據(jù)的第1位,輸入數(shù)據(jù)的第17位成為輸出數(shù)據(jù)的第2位這樣的、56位的輸入數(shù)據(jù)與48位的輸出數(shù)據(jù)的每位的對(duì)應(yīng)。并且,在PC2轉(zhuǎn)置中,由于將56位的輸入數(shù)據(jù)縮減為48位的輸出數(shù)據(jù),因此輸入數(shù)據(jù)中的8位不會(huì)被輸出到輸出數(shù)據(jù)中。
圖24為表示PC2轉(zhuǎn)置部78的構(gòu)成的圖。如圖所示,PC2的轉(zhuǎn)置部78的輸入側(cè)和輸出側(cè),基于對(duì)應(yīng)規(guī)則104被接線。例如,按照輸入側(cè)的第14位成為輸出側(cè)的第1位的方式被接線,按照輸入側(cè)的第17位成為輸出側(cè)的第2位的方式被接線。即,PC2轉(zhuǎn)置部78經(jīng)由多路復(fù)用器65、66,將輸入寄存器61的輸出端子Q與輸出緩沖器63的輸入端子基于對(duì)應(yīng)規(guī)則104連接。
以上,針對(duì)應(yīng)用作為本發(fā)明的一實(shí)施方式的密鑰處理電路55A、55B的無鑰匙進(jìn)入系統(tǒng)1作了說明。如上所述,密鑰處理電路55A、55B是進(jìn)行作為公共密鑰塊加密方式的DES的轉(zhuǎn)置處理的電路,僅通過將需要轉(zhuǎn)置的輸入數(shù)據(jù)寫入輸入寄存器61中,便可以通過轉(zhuǎn)置·替換部62從基于對(duì)應(yīng)規(guī)則連接的輸出緩沖器63中得到轉(zhuǎn)置后的結(jié)果的數(shù)據(jù)。即,在該密鑰處理電路55A、55B中,未進(jìn)行基于軟件的對(duì)應(yīng)表的參照等處理,便可以轉(zhuǎn)置,能夠以低消耗功率且高速化執(zhí)行加密以及解密。
并且,在密鑰處理電路55A、55B中,設(shè)置有進(jìn)行DES的轉(zhuǎn)置處理的初始轉(zhuǎn)置部71、最終轉(zhuǎn)置部72、放大型轉(zhuǎn)置部73、P轉(zhuǎn)置部75、PC1轉(zhuǎn)置部76、旋轉(zhuǎn)移動(dòng)部77以及PC2轉(zhuǎn)置部78,能夠以低消耗功率且高速進(jìn)行由這些各個(gè)部分執(zhí)行的轉(zhuǎn)置處理。
另外,在密鑰處理電路55A、55B中,輸入寄存器61在進(jìn)行轉(zhuǎn)置處理的各模塊71、72、73、75、76、77、78中被共用,通過選擇寄存器64以及多路復(fù)用器65,向所希望的模塊輸入數(shù)據(jù)。如此,通過共用輸入寄存器61,從而與按每個(gè)模塊設(shè)置輸入寄存器的情況相比較,可以削減部件數(shù)量,可以削減電路整體的消耗功率。
此外,密鑰處理電路55A、55B還具備S-BOX部74,其進(jìn)行作為DES的替換處理的S-BOX的處理,僅通過將需要替換的輸入數(shù)據(jù)寫入輸入寄存器61,便可以基于對(duì)應(yīng)規(guī)則得到替換后的結(jié)果的數(shù)據(jù)。即,在該密鑰處理電路55A、55B中,未進(jìn)行基于軟件的對(duì)應(yīng)表的參照等處理,便可進(jìn)行替換,且能夠以低消耗功率且高速進(jìn)行加密以及解密。
并且,在本實(shí)施方式的密鑰處理電路55A、55B中,具備進(jìn)行轉(zhuǎn)置或者替換的多個(gè)模塊71~78,雖然使用選擇寄存器64以及多路復(fù)用器65、66,對(duì)所采用的模塊71~78進(jìn)行切,但也可以單獨(dú)構(gòu)成各模塊71~78。例如,還可構(gòu)成僅進(jìn)行初始轉(zhuǎn)置的密鑰處理電路。
另外,在密鑰處理電路55A、55B中,采用多路復(fù)用器65,以作為將來自輸入寄存器61的輸出數(shù)據(jù)分配給轉(zhuǎn)置·替換部62的電路。作為對(duì)數(shù)據(jù)進(jìn)行分配的電路,除多路復(fù)用器65之外還可采用三態(tài)緩沖器。但是,一般與三態(tài)緩沖器相比,多路復(fù)用器一方從接收輸出的指示至對(duì)象數(shù)據(jù)被輸出為止的時(shí)間短。因此,通過在密鑰處理電路55A、55B中采用比三態(tài)緩沖器動(dòng)作快的多路復(fù)用器65,從而可以使加密以及解密的處理速度提高。
另外,在密鑰處理電路55A、55B中,通過由多個(gè)D-FF構(gòu)成的輸入緩沖器61來實(shí)現(xiàn)數(shù)據(jù)輸入部,通過由三態(tài)緩沖器構(gòu)成的輸出緩沖器63來實(shí)現(xiàn)數(shù)據(jù)輸出部,除此以外,數(shù)據(jù)輸入部中還可以使用預(yù)先存儲(chǔ)所寫入的數(shù)據(jù)的存儲(chǔ)器等。但是,在使用存儲(chǔ)器的情況下,需要將所寫入的數(shù)據(jù)讀出到轉(zhuǎn)置·替換部62的各模塊的動(dòng)作(時(shí)鐘)。因此,通過采用本實(shí)施方式的密鑰處理電路55A、55B的構(gòu)成,從而可與向輸入寄存器61寫入數(shù)據(jù)同時(shí),將轉(zhuǎn)置或者替換后的結(jié)果的數(shù)據(jù)向輸出緩沖器63輸入,從輸出緩沖器63讀出該數(shù)據(jù)。即,能夠削減轉(zhuǎn)置·替換所需要的時(shí)鐘數(shù),以低消耗功率且高速進(jìn)行加密以及解密。
另外,在密鑰處理電路55A、55B中,向輸入寄存器61寫入的地址和從輸出緩沖器63讀出的地址是相同的。這樣,在進(jìn)行轉(zhuǎn)置或者替換之際,由于只要向某地址寫入數(shù)據(jù),從該地址讀出數(shù)據(jù)即可,因此在程序中不需要進(jìn)行地址變換等的處理,可以削減處理步驟。因此,降低加密以及解密處理中的消耗功率,且使處理速度提高。
如此,通過將降低消耗功率、且使處理速度提高的密鑰處理電路55A、55B應(yīng)用于無鑰匙進(jìn)入系統(tǒng)1中,從而可以抑制子機(jī)2的電池11的消耗或母機(jī)3的蓄電池25的消耗。并且,因加密以及解密的處理是高速進(jìn)行的,從而可以使上鎖或開鎖等的操作相對(duì)的響應(yīng)提高。
另外,密鑰處理電路55A、55B的S-BOX部74,將基于從選擇寄存器98輸出的選擇數(shù)據(jù)對(duì)向S1~S8的各S-BOX輸入的6位數(shù)據(jù)進(jìn)行重新排列后的數(shù)據(jù),基于規(guī)定的對(duì)應(yīng)規(guī)則變換后輸出。即,在該密鑰處理電路55A、55B中,未進(jìn)行基于軟件的處理便可進(jìn)行替換,能夠以低消耗功能且高速進(jìn)行加密以及解密。另外,雖然在特開2004-178507號(hào)公報(bào)中,提出了一種通過軟件來實(shí)現(xiàn)公共密鑰塊加密方式中的替換處理等的方法,然而是將輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)規(guī)則固定化了的構(gòu)成。因此,在這樣的構(gòu)成中,在通過差分攻擊法或者線形攻擊法等分析其對(duì)應(yīng)規(guī)則時(shí)等,若不修正硬件則無法對(duì)替換處理中的對(duì)應(yīng)規(guī)則進(jìn)行變更,安全性不足。另一方面,在密鑰處理電路55A、55B的S-BOX部74中,通過對(duì)存儲(chǔ)在選擇寄存器中的選擇數(shù)據(jù)進(jìn)行改寫,從而未對(duì)硬件進(jìn)行修正便可對(duì)S-BOX中的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)規(guī)則進(jìn)行變更,使安全性提高。尤其,在本實(shí)施方式密鑰處理電路55A、55B的S-BOX部74中,通過基于選擇數(shù)據(jù),對(duì)6位的輸入數(shù)據(jù)的最高位的位以及最低位的位進(jìn)行重新排列,從而因未對(duì)硬件進(jìn)行修正便可對(duì)例如S1中的對(duì)應(yīng)規(guī)則94中所選擇的行進(jìn)行變更,因此使安全性提高。
而且,在本實(shí)施方式中,雖然就將本發(fā)明的密鑰處理電路應(yīng)用于作為公共密鑰塊加密方式的一種的DES的例子作了說明,然而公共密鑰塊加密方式并非限于DES,即使在三重DES或AES(Advanced EncryptionStandard)等的公共密鑰塊加密方式中,也可根據(jù)同樣的構(gòu)成,未使硬件修正便可對(duì)替換處理中的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)規(guī)則進(jìn)行變更,能夠使安全性提高。
另外,在本實(shí)施方式中,作為密鑰處理電路55A、55B的應(yīng)用例,列舉了無鑰匙進(jìn)入系統(tǒng)1,然而并非限于無鑰匙進(jìn)入系統(tǒng)1,還可應(yīng)用于例如采用IC卡的自動(dòng)檢票系統(tǒng)或出入室管理系統(tǒng)等、需要數(shù)據(jù)加密的各種系統(tǒng)中。
并且,上述實(shí)施方式是用于容易理解本發(fā)明的,并非用于對(duì)本發(fā)明進(jìn)行限定解釋的。本發(fā)明在未脫離其主旨的前提下,可進(jìn)行變更、改良,同時(shí)本發(fā)明還包含其等效物。
權(quán)利要求
1.一種密鑰處理電路,其進(jìn)行基于每位的對(duì)應(yīng)規(guī)則對(duì)多位輸入數(shù)據(jù)進(jìn)行重新排列后輸出的、公共密鑰塊加密方式的轉(zhuǎn)置處理,其特征在于,具備數(shù)據(jù)輸入部,其接收所述多位輸入數(shù)據(jù),并具有將所接收的所述多位輸入數(shù)據(jù)并列輸出的輸出端口;數(shù)據(jù)輸出部,其具有將多位數(shù)據(jù)并列輸入的輸入端口,并將向所述輸入端口輸入的所述多位數(shù)據(jù)輸出;和轉(zhuǎn)置部,其基于所述每位的對(duì)應(yīng)規(guī)則,對(duì)所述輸出端口和輸入端口進(jìn)行連接。
2.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù)為初始轉(zhuǎn)置中的輸入數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則,為所述初始轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
3.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù),為最終轉(zhuǎn)置中的輸入數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則,為所述最終轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
4.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù)為F函數(shù)的放大型轉(zhuǎn)置中的輸入數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則,為所述F函數(shù)的放大型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
5.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù),為從F函數(shù)的S-BOX輸出的數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則為所述F函數(shù)的將該輸入數(shù)據(jù)輸入的轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
6.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密萬式為DES,所述輸入數(shù)據(jù)為向第1縮減型轉(zhuǎn)置輸入的公共密鑰,所述每位的對(duì)應(yīng)規(guī)則,為所述縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
7.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù)為第2縮減型轉(zhuǎn)置中的輸入數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則,為所述縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則。
8.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù),為通過第1縮減型轉(zhuǎn)置對(duì)公共密鑰進(jìn)行轉(zhuǎn)置而得到的數(shù)據(jù),所述每位的對(duì)應(yīng)規(guī)則,為該輸入數(shù)據(jù)、與向第2縮減型轉(zhuǎn)置輸入的數(shù)據(jù)的、每位的對(duì)應(yīng)規(guī)則。
9.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,具備多個(gè)所述每位的對(duì)應(yīng)規(guī)則不同的所述轉(zhuǎn)置部,還具備選擇部,其接收表示采用所述多個(gè)轉(zhuǎn)置部中的哪個(gè)轉(zhuǎn)置部的選擇數(shù)據(jù),將從所述數(shù)據(jù)輸入部輸出的所述輸入數(shù)據(jù)向由所述選擇數(shù)據(jù)所表示的所述轉(zhuǎn)置部輸入。
10.根據(jù)權(quán)利要求9所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述多個(gè)轉(zhuǎn)置部的所述每位的對(duì)應(yīng)規(guī)則,分別為以下當(dāng)中的某一個(gè)初始轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、最終轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、F函數(shù)的放大型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、將從F函數(shù)的S-BOX輸出的數(shù)據(jù)輸入的轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、第1縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、第2縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、從所述第1縮減型轉(zhuǎn)置輸出的數(shù)據(jù)、與向所述第2縮減型轉(zhuǎn)置輸入的數(shù)據(jù)的、每位的對(duì)應(yīng)規(guī)則。
11.根據(jù)權(quán)利要求9所述的密鑰處理電路,其特征在于,還具備替換部,其是基于對(duì)應(yīng)規(guī)則對(duì)從所述數(shù)據(jù)輸入部并列輸出的所述多位輸入數(shù)據(jù)進(jìn)行變換后向所述數(shù)據(jù)輸出部的所述輸入端口并列輸出的邏輯電路,所述選擇數(shù)據(jù),為表示采用所述多個(gè)轉(zhuǎn)置部或者所述替換部中的哪個(gè)的數(shù)據(jù),所述選擇部,其將從所述數(shù)據(jù)輸入部輸出的所述輸入數(shù)據(jù)向由所述選擇數(shù)據(jù)所表示的所述轉(zhuǎn)置部或者所述替換部輸入。
12.根據(jù)權(quán)利要求11所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述多個(gè)轉(zhuǎn)置部的所述每位的對(duì)應(yīng)規(guī)則,分別為以下對(duì)應(yīng)規(guī)則中的某一個(gè)初始轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、最終轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、F函數(shù)的放大型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、將從F函數(shù)的S-BOX輸出的數(shù)據(jù)輸入的轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、第1縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、第2縮減型轉(zhuǎn)置中每位的對(duì)應(yīng)規(guī)則、從所述第1縮減型轉(zhuǎn)置輸出的數(shù)據(jù)、與向所述第2縮減型轉(zhuǎn)置輸入的數(shù)據(jù)的、每位的對(duì)應(yīng)規(guī)則,所述替換部的所述對(duì)應(yīng)規(guī)則,為向所述S-BOX輸入的數(shù)據(jù)、和從所述S-BOX輸出的數(shù)據(jù)的、對(duì)應(yīng)規(guī)則。
13.根據(jù)權(quán)利要求9所述的密鑰處理電路,其特征在于,所述選擇部為多路復(fù)用器。
14.一種密鑰處理電路,其進(jìn)行基于對(duì)應(yīng)規(guī)則將多位輸入數(shù)據(jù)變換后輸出的公共密鑰塊加密方式的替換處理,其特征在于,具備數(shù)據(jù)輸入部,其接收所述多位輸入數(shù)據(jù),并具有將所接收的所述多位輸入數(shù)據(jù)并列輸出的輸出端口;替換部,其是基于所述對(duì)應(yīng)規(guī)則、將從所述數(shù)據(jù)輸入部并列輸出的所述多位輸入數(shù)據(jù)變換后輸出的邏輯電路;和數(shù)據(jù)輸出部,其具有將從所述替換部輸出的多位數(shù)據(jù)并列輸入的輸入端口,并將向所述輸入端口輸入的所述多位數(shù)據(jù)輸出。
15.根據(jù)權(quán)利要求14所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述輸入數(shù)據(jù),為向F函數(shù)的S-BOX輸入的數(shù)據(jù),所述對(duì)應(yīng)規(guī)則,為所述輸入數(shù)據(jù)與從所述S-BOX輸出的數(shù)據(jù)的對(duì)應(yīng)規(guī)則。
16.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,所述數(shù)據(jù)輸入部由多個(gè)D型觸發(fā)器構(gòu)成,所述輸出端口為該多個(gè)D型觸發(fā)器的輸出端子,所述數(shù)據(jù)輸出部為三態(tài)緩沖器。
17.根據(jù)權(quán)利要求1所述的密鑰處理電路,其特征在于,向所述數(shù)據(jù)輸入部寫入的地址與從所述數(shù)據(jù)輸出部讀出的地址是相同的。
18.一種密鑰處理電路,其進(jìn)行對(duì)多位輸入數(shù)據(jù)進(jìn)行變換后輸出的公共密鑰塊加密方式的替換處理,其特征在于,該密鑰處理電路是邏輯電路,其接收所述輸入數(shù)據(jù)、和指示所述輸入數(shù)據(jù)的重新排列的選擇數(shù)據(jù),并將基于所述選擇數(shù)據(jù)而對(duì)所述輸入數(shù)據(jù)進(jìn)行重新排列后的數(shù)據(jù),基于規(guī)定的對(duì)應(yīng)規(guī)則進(jìn)行變換后輸出。
19.根據(jù)權(quán)利要求18所述的密鑰處理電路,其特征在于,所述公共密鑰塊加密方式為DES,所述規(guī)定的對(duì)應(yīng)規(guī)則,為向DES的S-BOX輸入的數(shù)據(jù)與從所述S-BOX輸出的數(shù)據(jù)的對(duì)應(yīng)規(guī)則。
20.根據(jù)權(quán)利要求19所述的密鑰處理電路,其特征在于,所述邏輯電路,具備選擇電路,其基于所述選擇數(shù)據(jù),將向所述S-BOX輸入的所述多位輸入數(shù)據(jù)的最高位的位以及最低位的位重新排列后輸出;和替換電路,其基于所述規(guī)定的對(duì)應(yīng)規(guī)則,對(duì)從所述選擇電路輸出的所述多位輸入數(shù)據(jù)的最高位的位以及最低位的位、與所述多位輸入數(shù)據(jù)的最高位的位以及最低位以外的位進(jìn)行變換后輸出。
全文摘要
本發(fā)明提供一種密鑰處理電路,其進(jìn)行基于每位的對(duì)應(yīng)規(guī)則對(duì)多位輸入數(shù)據(jù)進(jìn)行重新排列后輸出的、公共密鑰塊加密方式的轉(zhuǎn)置處理,其中具備數(shù)據(jù)輸入部,其接收所述輸入數(shù)據(jù),并具有將所接收的所述多位輸入數(shù)據(jù)并列輸出的輸出端口;數(shù)據(jù)輸出部,其具有將多位數(shù)據(jù)并列輸入的輸入端口,并將向所述輸入端口輸入的所述數(shù)據(jù)輸出;和轉(zhuǎn)置部,其基于所述每位的對(duì)應(yīng)規(guī)則,對(duì)所述輸出端口和輸入端口進(jìn)行連接。這樣,便能夠以低消耗功率且高速進(jìn)行公共密鑰塊加密方式中的加密以及解密處理。
文檔編號(hào)G09C1/00GK1815528SQ200610006999
公開日2006年8月9日 申請(qǐng)日期2006年1月25日 優(yōu)先權(quán)日2005年2月3日
發(fā)明者池谷昭, 石村靜, 千明一雅 申請(qǐng)人:三洋電機(jī)株式會(huì)社