專利名稱:加密裝置、解密裝置、加密方法及集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加密裝置、解密裝置、加密方法及集成電路,它們能 夠防止被通過對執(zhí)行加密處理時的電力消耗量進(jìn)行測量來對加密模塊中 所嵌入的密鑰進(jìn)行分析的攻擊方法所破解。
背景技術(shù):
近年來,設(shè)計有各種以硬件或軟件中所安裝的加密模塊進(jìn)行加密處理 時所使用的副信息為線索來分析密鑰的破解法。例如,在被稱為時序攻擊 的分析方法中,利用加密模塊在加密處理中需要的時間和用在加密處理中 的密鑰的值的細(xì)微的差異來進(jìn)行密鑰的分析。即,在時序攻擊中,利用進(jìn) 行加密處理時的稱作處理時間的副信息,進(jìn)行密鑰的破解。在那樣的破解 法中,作為以進(jìn)行加密處理時的電力消耗量為副信息來進(jìn)行破解的破解方
法,設(shè)計有簡單能量分析攻擊(Simple Power Analysis)或差分能量分析攻 擊(Differential Power Analysis)等各種方法。近年來,在能夠便宜購入高 性能的測量機(jī)器的背景下,有報告稱這些破解法也能夠?qū)C卡這樣的施 加加密的實(shí)際產(chǎn)品進(jìn)行分析。此外,設(shè)計有在以進(jìn)行加密處理時從加密模 塊產(chǎn)生的電磁波強(qiáng)度為副信息來進(jìn)行破解的方法等各種破解方法。在下面 的記述中,把以加密處理時的加密模塊的電力消耗量為線索分析密鑰的破 解方法總稱為"電力分析攻擊"。下面,以電力分析攻擊為例進(jìn)行說明, 但本發(fā)明對利用副信息的其他分析方法也同樣有效。即,本發(fā)明不僅適用 于電力分析攻擊,只要是利用在加密處理中從加密模塊產(chǎn)生的副信息來推 定密鑰的分析方法就均可以適用。
電力分析攻擊利用加密模塊的電力消耗量和加密處理過程中的中間 值之間的關(guān)系來進(jìn)行密鑰的分析。因此,作為針對電力分析攻擊的對策, 考慮到利用隨機(jī)數(shù)對加密處理過程中的中間值進(jìn)行隨機(jī)化,從而使得電力 消耗量和中間值之間的相關(guān)關(guān)系難以理解的方法,所述隨機(jī)數(shù)是在加密模塊內(nèi)部所生成的。這樣,將對加密處理的中間值進(jìn)行隨機(jī)化的過程稱為將 中間值進(jìn)行"屏蔽"。此外,把通過屏蔽中間值來使得電力分析攻擊的密 鑰分析變困難的方法總稱為"屏蔽法"。
在專利文獻(xiàn)1中記載的屏蔽法中,公開有針對美國標(biāo)準(zhǔn)密碼術(shù)DES
(Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn))加密的屏蔽法(稱為現(xiàn)有技 術(shù)l)。
(現(xiàn)有技術(shù)1的概要)
根據(jù)現(xiàn)有技術(shù)l的方法,在加密處理之前,首先根據(jù)加密模塊內(nèi)部生 成的隨機(jī)數(shù),將在DES加密中使用的數(shù)據(jù)變換用表Sbox進(jìn)行隨機(jī)化,來 制作隨機(jī)化Sbox表,并暫時保管。在加密處理中,使用該隨機(jī)化Sbox表, 對加密處理的中間值進(jìn)行屏蔽,以使得電力分析攻擊就變得困難。這里, 在現(xiàn)有技術(shù)l中,需要用于暫時儲存隨機(jī)化Sbox表的RAM。因此,在對 RAM容量有嚴(yán)格限制的情況下,就出現(xiàn)了不能使用現(xiàn)有技術(shù)1的問題。 此外,在硬件中安裝加密模塊的情況下, 一般來說在邏輯電路中安裝Sbox 表的情況較多。因此,由于不能制作隨機(jī)化Sbox表,就出現(xiàn)了不能使用 現(xiàn)有技術(shù)1的問題。
(現(xiàn)有技術(shù)2的概要)
在非專利文獻(xiàn)1所記載的屏蔽法中,公開有針對美國下一代標(biāo)準(zhǔn)密碼 術(shù)AES (Advanced Encryption Standard)加密的屏蔽法(稱為現(xiàn)有技術(shù)2)。 在現(xiàn)有技術(shù)2中,能夠在邏輯電路中安裝Sbox表,并且,如現(xiàn)有技術(shù)1 所示,由于沒有必要制作隨機(jī)化Sbox表,因此適用于硬件安裝。下面, 對其概要進(jìn)行說明。
已知AES加密的Sbox表與進(jìn)行擴(kuò)張域GF(2^)上的逆元計算("XAY" 表示"X的Y次方")和規(guī)定的進(jìn)行仿射變換的處理等價。此外,作為用 電路實(shí)現(xiàn)擴(kuò)張域GF (2A8)上的元素X的逆元計算的方法,有下面的既有 方法。
(1) 將X變換為和GF (2A8)同型的合成域GF ( ( (2A2) 、) A2) 上的元素A。
(2) 在上述合成域上計算A的逆元AA ( — l)。
(3) 將A八(一l)逆變換為擴(kuò)張域上的元素,求得XA ( — l)。 在該方法中,通過在合成域上進(jìn)行逆元計算,能夠以較小的電路規(guī)模安裝逆元計算。
如果將AES加密的Sbox表通過上述的逆元計算和仿射變換來安裝并
適用屏蔽法,則能夠以小的電路規(guī)模提高對電力分析攻擊的耐性。此時,
怎樣對逆元計算部分實(shí)施屏蔽成為關(guān)鍵。下面,對現(xiàn)有技術(shù)2中的逆元計
算部分的屏蔽方法進(jìn)行簡單的說明。
圖1~圖7是表示現(xiàn)有技術(shù)2中的加密裝置中設(shè)置的隨機(jī)化8位逆元計 算部81的圖。
<隨機(jī)化8位逆元計算部81>
圖1是表示現(xiàn)有技術(shù)2中的隨機(jī)化8位逆元計算部81的結(jié)構(gòu)的框圖。 隨機(jī)化8位逆元計算部81以被屏蔽的逆元計算對象數(shù)據(jù)X (8位)、屏蔽 數(shù)據(jù)R (8位)及計算用隨機(jī)數(shù)r (4位)作為輸入,進(jìn)行逆元計算,輸出 被屏蔽的逆元計算結(jié)果Y (8位)。這里,X是用屏蔽數(shù)據(jù)R進(jìn)行了屏蔽 的狀態(tài)的數(shù)據(jù),表示為X=M ( + ) R。這里,M (8位)是被屏蔽前的數(shù)據(jù), "(+ )"是表示對每個位的按位加運(yùn)算。此時,Y成為Y={MA (_1) } (+ ) R。 S卩,隨機(jī)化8位逆元計算部81進(jìn)行如下處理以用R進(jìn)行了屏 蔽的M為輸入,計算逆元,將其結(jié)果MA ( —1)在用R屏蔽了的狀態(tài)下 進(jìn)行輸出。即,對于作為加密處理的中間值即M,由于在利用隨機(jī)的屏蔽 數(shù)據(jù)R進(jìn)行了屏蔽的狀態(tài)下進(jìn)行逆元計算,從而使得電力分析攻擊變得困 難。
如圖1所示,隨機(jī)化8位逆元計算部81包括進(jìn)行合成域GF( ((2、) A2) A2)上的17次方計算的17次方計算部810、 812; 4位校正項計算部 811 (圖2) ; 4位輸出計算部816、 817 (圖3);進(jìn)行4位的按位加運(yùn)算 的按位加部813、 814、 818、 819;隨機(jī)化4位逆元計算部815 (圖4)。
這里,如圖2所示,4位校正項計算部811包括進(jìn)行在合成域GF ((2A2) A2)上的乘法運(yùn)算的4位乘法部811a、 811b;以及進(jìn)行4位的按 位加運(yùn)算的按位加部811c、 811d。另外,對合成域GF ( (2A2) A2)進(jìn)行 2次擴(kuò)張的結(jié)果為合成域GF ( ( (2A2) A2) A2)。
此外,如圖3所示,4位輸出計算部816、 817包括進(jìn)行在合成域 GF ( (2A2) A2)上的乘法運(yùn)算的4位乘法部816a、 816b、 816c、 816d; 以及進(jìn)行4位的按位加運(yùn)算的按位加部816e、 816f、 816g、 816h、 816i、 816j。
8此外,如圖4所示,隨機(jī)化4位逆元計算部815 (圖4)包括進(jìn)行 在合成域GF ( (2A2) A2)上的5次方計算的5次方計算部820、 822; 2 位校正項計算部821 (圖5) ; 2位輸出計算部826、 827 (圖6);進(jìn)行2 位按位加運(yùn)算的按位加部823、 824、 828、 829;以及隨機(jī)化2位逆元計算 部825 (圖7)。
這里,如圖5所示,2位校正項計算部821 (圖4、圖5)包括進(jìn)行 有限域GF (2A2)上的乘法運(yùn)算的2位乘法部821a、 821b;以及進(jìn)行2位 的按位加運(yùn)算的按位加部821c、 821d。另外,對有限域GF (2A2)進(jìn)行2 次擴(kuò)張的結(jié)果為合成域GF ( (2l) A2)。
此外,如圖6所示,2位輸出計算部826、 827 (圖6、圖4)包括 進(jìn)行在有限域GF (2A2)上的乘法運(yùn)算的2位乘法部826a、 826b、 826c、 826d;以及進(jìn)行2位的按位加運(yùn)算的按位加部826e、 826f、 826g、 826h、 826i、 826j。
此外,如圖7所示,隨機(jī)化2位逆元計算部825 (圖7、圖4)包括進(jìn) 行1位的按位加運(yùn)算的按位加部825a、 825b。
如上所述,現(xiàn)有技術(shù)2中的設(shè)置在加密裝置中的隨機(jī)化8位逆元計算 部81 (圖1)包括在內(nèi)部遞歸性地執(zhí)行隨機(jī)化4位逆元計算部815和隨機(jī) 化2位逆元計算部825,通過該結(jié)構(gòu),和其他現(xiàn)有技術(shù)相比,能夠以較小 .的電路規(guī)模來安裝。
在現(xiàn)有技術(shù)2中,公開有一種適于硬件安裝的加密裝置,該加密裝置 通過設(shè)置上述的隨機(jī)化8位逆元計算部81 (圖l),并利用逆元計算和仿 射變換安裝AES加密的Sbox表。
非專利文獻(xiàn)1:森岡澄夫、秋下徹、「合成域^r用v、/iAES S — B
o x回路〖対t3DPa攻撃」、〕/匕。工一夕-fe年二!Jx,、:/y求-々
厶2 0 0 4予稿集(平成l 6年1 0月)
非專禾lj文南犬2: Federal Information Processing Standards Publication
November 26 2001
專利文獻(xiàn)l:美國專利第6295606號說明書
但是,在現(xiàn)有技術(shù)2中,如前所述,由于隨機(jī)化8位逆元計算部81 (圖1)具有遞歸的結(jié)構(gòu),所以具有最大邏輯級數(shù)變大的問題。在把現(xiàn)有技術(shù)2的隨機(jī)化8位逆元計算部81用電路實(shí)現(xiàn)時,若預(yù)估關(guān)鍵路徑和其
最大邏輯級數(shù),則如下。
隨機(jī)化8位逆元計算部81 (圖1 圖7)的關(guān)鍵路徑如下。 首先,在圖1中,關(guān)鍵路徑如下。
17次方計算部810=〉按位加部813=〉按位加部814=〉隨機(jī)化4位逆 元計算部815 (圖4) =〉 4位輸出計算部817 (圖3)=〉按位加部818=〉 按位加部819
這里,在該路徑中的4位輸出計算部817 (圖3)和隨機(jī)化4位逆元
計算部815 (圖4)的內(nèi)部的關(guān)鍵路徑如下。
首先,4位輸出計算部817 (圖3)的內(nèi)部的關(guān)鍵路徑如下。
4位乘法部816a=〉按位加部816e=〉按位加部816f=〉按位加部816i=〉
按位加部816j
此外,隨機(jī)化4位逆元計算部815 (圖4)的內(nèi)部的關(guān)鍵路徑如下。 5次方計算部820=〉按位加部823=〉按位加部824=〉隨機(jī)化2位逆
元計算部825 (圖7) =〉 2位輸出計算部827 (圖6)=〉按位加部828=〉
按位加部829
此路徑中具有2位輸出計算部827 (圖6)和隨機(jī)化2位逆元計算部
825 (圖7)。它們內(nèi)部的關(guān)鍵路徑分別如下。
首先,2位輸出計算部827 (圖6)的內(nèi)部的關(guān)鍵路徑如下。
2位乘法部826a=〉按位加部826e=〉按位加部826f=〉按位加部826i=〉
按位加部826j
然后,隨機(jī)化2位逆元計算部825 (圖7)的內(nèi)部的關(guān)鍵路徑如下。 按位加部825a=〉按位加部825b
通過以上處理,隨機(jī)化8位逆元計算部81 (圖l)的最大邏輯級數(shù)成 為連續(xù)處理下面的處理時的邏輯級數(shù)。 17次方計算X1次 5次方計算X1次 4位乘法X1次 2位乘法X1次 按位加運(yùn)算X18次
另外,這里,"按位加運(yùn)算X18次"中的18是由18=4+4+4+4+2的計算得來的。
如上所述,現(xiàn)有技術(shù)2有最大邏輯級數(shù)變大的問題。
發(fā)明內(nèi)容
本發(fā)明為解決上述現(xiàn)有技術(shù)2的加密處理中的問題,使用Sbox表的 安裝法,提供一種比現(xiàn)有技術(shù)2還能夠削減最大邏輯級數(shù)的加密裝置,該 Sbox表使用和現(xiàn)有技術(shù)2同樣的合成域GF ( ( (2A2) A2)、)上的逆元 運(yùn)算。
為解決上述問題,本發(fā)明采用下面的結(jié)構(gòu)。
艮口,采用如下的加密裝置,其使用密鑰,根據(jù)明文生成密文,并具備 第1隨機(jī)化逆元數(shù)據(jù)生成部,該第1隨機(jī)化逆元數(shù)據(jù)生成部接收隨機(jī)化輸 入數(shù)據(jù)和輸入屏蔽值,將接收到的上述輸入屏蔽值的在預(yù)定的第1有限域 中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第1有限域中的逆元相加, 生成隨機(jī)化輸出數(shù)據(jù),所述隨機(jī)化輸入數(shù)據(jù)是將根據(jù)隨機(jī)數(shù)決定的預(yù)定的 上述輸入屏蔽值和利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加得到 的數(shù)據(jù);該加密裝置根據(jù)所生成的上述隨機(jī)化輸出數(shù)據(jù),生成上述密文。
根據(jù)該加密裝置,輸出屏蔽值是輸入屏蔽值的逆元,能夠?qū)崿F(xiàn)級數(shù)較 少的簡單結(jié)構(gòu)的加密裝置。
根據(jù)本發(fā)明,能夠?qū)崿F(xiàn)級數(shù)較少的簡單結(jié)構(gòu)的加密裝置。
圖1是表示現(xiàn)有技術(shù)中的隨機(jī)化8位逆元計算部81的結(jié)構(gòu)的框圖。 圖2是表示現(xiàn)有技術(shù)中的4位校正項計算部811的結(jié)構(gòu)的框圖。 圖3是表示現(xiàn)有技術(shù)中的4位輸出計算部816、 817的結(jié)構(gòu)的框圖。 圖4是表示現(xiàn)有技術(shù)中的隨機(jī)化4位逆元計算部815的結(jié)構(gòu)的框圖。 圖5是表示現(xiàn)有技術(shù)中的隨機(jī)化2位校正項計算部821的結(jié)構(gòu)的框圖。 圖6是表示現(xiàn)有技術(shù)中的2位輸出計算部826、 827的結(jié)構(gòu)的框圖。 圖7是表示現(xiàn)有技術(shù)中的隨機(jī)化2位逆元計算部825的結(jié)構(gòu)的框圖。 圖8是表示本發(fā)明的實(shí)施方式的加密裝置1的結(jié)構(gòu)的框圖。 圖9是表示本發(fā)明的實(shí)施方式的加密部la的結(jié)構(gòu)的框圖。 圖10是表示本發(fā)明的實(shí)施方式的隨機(jī)化Roimd_n12的結(jié)構(gòu)的框圖。圖11是表示本發(fā)明的實(shí)施方式的隨機(jī)化Round—10 13的結(jié)構(gòu)的框圖。 圖12是表示本發(fā)明的實(shí)施方式的隨機(jī)化SubBytes120、 130的結(jié)構(gòu)的 框圖。
圖13是表示本發(fā)明的實(shí)施方式的隨機(jī)化S—boxl20a 120p的結(jié)構(gòu)的 框圖。
圖14是表示本發(fā)明的實(shí)施方式的隨機(jī)化8位逆元計算部101的結(jié)構(gòu) 的框圖。
圖15是表示本發(fā)明的實(shí)施方式的17次方計算部110、 112的結(jié)構(gòu)的 框圖。
圖16是表示本發(fā)明的實(shí)施方式的4位校正項計算部111的結(jié)構(gòu)的框圖。
圖17是表示本發(fā)明的實(shí)施方式的16次方計算部115、 117的結(jié)構(gòu)的 框圖。
圖18是表示本發(fā)明的實(shí)施方式的4位輸出計算部118、 119的結(jié)構(gòu)的 框圖。
圖19是表示本發(fā)明的實(shí)施方式的4位乘法部20的結(jié)構(gòu)的框圖。 圖20是表示本發(fā)明的實(shí)施方式的2位乘法部21的結(jié)構(gòu)的框圖。 圖21是表示本發(fā)明的實(shí)施方式的4位逆元計算部116的結(jié)構(gòu)的框圖。 圖22是表示本發(fā)明的實(shí)施方式的2位逆元計算部142的結(jié)構(gòu)的框圖。 圖23是表示本發(fā)明的實(shí)施方式的隨機(jī)化4位逆元計算部114的結(jié)構(gòu) 的框圖。
圖24是表示本發(fā)明的實(shí)施方式的5次方計算部141、 150、 152的結(jié) 構(gòu)的框圖。
圖25是表示本發(fā)明的實(shí)施方式的2位校正項計算部151的結(jié)構(gòu)的框圖。
圖26是表示本發(fā)明的實(shí)施方式的4次方計算部155、 157的結(jié)構(gòu)的框圖。
圖27是表示本發(fā)明實(shí)施方式的2位輸出計算部158、 159的結(jié)構(gòu)的框圖。
圖28是表示本發(fā)明的實(shí)施方式的隨機(jī)化2位逆元計算部154的結(jié)構(gòu) 的框圖。圖29是表示本發(fā)明的實(shí)施方式的隨機(jī)數(shù)更新部17的結(jié)構(gòu)的框圖。
圖30是表示本發(fā)明的實(shí)施方式的8位逆元計算部171的結(jié)構(gòu)的框圖。
圖31是表示本發(fā)明的實(shí)施方式的解密裝置3的結(jié)構(gòu)的框圖。
圖32是表示本發(fā)明的實(shí)施方式的解密部3a的結(jié)構(gòu)的框圖。
圖33是表示本發(fā)明的實(shí)施方式的隨機(jī)化InvRound_n 32的結(jié)構(gòu)的框圖。
圖34是表示本發(fā)明的實(shí)施方式的隨機(jī)化InvRoundJ) 33的結(jié)構(gòu)的框圖。
圖35是表示本發(fā)明的實(shí)施方式的隨機(jī)化Im/SubBytes331的結(jié)構(gòu)的框圖。
圖36是表示本發(fā)明的實(shí)施方式的隨機(jī)化InvS—Box331a 331p的結(jié)構(gòu) 的框圖。
圖37是表示本發(fā)明的實(shí)施方式的隨機(jī)數(shù)更新部37的結(jié)構(gòu)的框圖。 圖38是表示加密裝置1、加密裝置1具有的部分之間的包含關(guān)系、及 其整體和部分之間的輸入輸出數(shù)據(jù)的圖。 附圖標(biāo)記 1 加密裝置 la 加密部 lb, 3b 輪密鑰生成部 lc, 3c 密鑰保管部 10, 30 屏蔽處理部
11, 123, 132, 31, 322, 322 AddRoundKey 12X 隨機(jī)化Round—t
12 隨機(jī)化Round—n
13 隨機(jī)化Round—10 14, 34 中斷屏蔽處理部 15, 35 隨機(jī)數(shù)生成部
16, 36 隨機(jī)數(shù)暫時存儲部
17, 37 隨機(jī)數(shù)更新部
100, 103, 170, 303 合成域變換部
101 隨機(jī)化8位逆元計算部102, 172 擴(kuò)張域變換兼矩陣變換部
104, 110a, 110e, lllc, 113, 115a, 118c, 118e, 140, 142a, 150a, 150e, 151c, 153, 154c, 155a, 158c, 158e, 171a, 204, 205, 207, 214, 215, 216 按位加部
110X, 110, 112, 171b 17次方計算部
20, 110b, 110c, 110d, llla, 111b, 118a, 118b, 118d, 171d, 171e 4位乘法部
111 4位校正項計算部
114 隨機(jī)化4位逆元計算部
115X, 115, 117 16次方計算部
116, 171c 4位逆元計算部
118X, 118, 119 4位輸出計算部
120X, 120, 130 隨機(jī)化SubBytes
121X, 120a, 120b, 120c, 120p 隨機(jī)化S — Box
121, 131 ShiftRows
122 MixColumns
141X, 141, 150, 152 5次方計算部 142, 156 2位逆元計算部
21, 143, 144, 150b, 150c, 150d, 151a, 151b, 158a, 158b, 158d, 200, 201, 202, 203, 2062位乘法部 151 2位校正項計算部 154 隨機(jī)化2位逆元計算部 155X, 155, 157 4次方計算部 158X, 158, 159 2位輸出計算部 171 8位逆元計算部 210, 211, 212, 213 邏輯積部 3 解密裝置 3a 解密部
32 隨機(jī)化InvRound—n
33 隨機(jī)化InvRound—0
300, 370 合成域變換兼矩陣變換部301 8位隨機(jī)化合成域逆元計算部
302, 372 擴(kuò)張域變換部
320, 330 InvShiftRows
321, 331 隨機(jī)化InvSubBytes
323 InvMixColumns
331a, 331b, 331c, 331p 隨機(jī)化InvS —Box
371 8位合成域逆元計算部 81 隨機(jī)化8位逆元計算部 810, 812 17次方計算部 811 4位校正項計算部 815 隨機(jī)化4位逆元計算部 816, 817 4位輸出計算部
8Ua, 811b, 816a, 816b, 816c, 816d 4位乘^去部
820, 822 5次方計算部
821 2位校正項計算部
825 隨機(jī)化2位逆元計算部
826, 827 2位輸出計算部
821a, 821b, 826a, 826b, 826c, 826d2位乘法部
811c, 811d, 813, 814, 816e, 816f, 816g, 816h, 816i, 816j, 818,
819, 821c, 821d, 823, 824, 825a, 825b, 826e, 826f, 826g, 826h, 826i,
826j, 828, 829 按位加部
具體實(shí)施例方式
技術(shù)方案l中所記載的方式(本發(fā)明的一個實(shí)施方式)的加密裝置是
使用密鑰從明文生成密文,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù);隨機(jī)化輸
入數(shù)據(jù)生成部,接收上述明文,將根據(jù)上述隨機(jī)數(shù)決定的預(yù)定的輸入屏蔽 值和對上述明文利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加,生成隨
機(jī)化輸入數(shù)據(jù);第1隨機(jī)化逆元數(shù)據(jù)生成部,接收由上述隨機(jī)化輸入數(shù)據(jù) 生成部生成的上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,將接收的上述輸入 屏蔽值的在預(yù)定的第1有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上 述第1有限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);以及輸出數(shù)據(jù)處理部,
15接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成部生成的上述隨機(jī)化輸出數(shù)據(jù),根據(jù) 接收到的該隨機(jī)化輸出數(shù)據(jù)生成上述密文。
根據(jù)本方式,為了防止通過測量副信息來分析出用于根據(jù)明文生成密 文的密鑰,在根據(jù)用該密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)加上輸入屏蔽值 的隨機(jī)化輸入數(shù)據(jù),生成己加上了輸出屏蔽值的隨機(jī)化輸出數(shù)據(jù)時,輸出 屏蔽值為輸入屏蔽值的逆元,由此,通過級數(shù)較少的簡單結(jié)構(gòu),根據(jù)隨機(jī) 化輸入數(shù)據(jù)生成隨機(jī)化輸出數(shù)據(jù),能夠形成級數(shù)少的簡單結(jié)構(gòu)的加密裝 置。
另外,該加密裝置進(jìn)一步具備屏蔽值生成部,該屏蔽值生成部接收所 生成的上述隨機(jī)數(shù),根據(jù)所接收的該隨機(jī)數(shù)生成上述輸入屏蔽值,上述第 1隨機(jī)化逆元數(shù)據(jù)生成部也可以接收所生成的上述輸入屏蔽值,進(jìn)行上述 生成過程。這樣,就不需要從外部向加密裝置輸入輸入屏蔽值的結(jié)構(gòu),就 能夠形成簡單的系統(tǒng)結(jié)構(gòu)。
技術(shù)方案2中所記載的方式(本發(fā)明的一個實(shí)施方式)的加密裝置的 上述第1隨機(jī)化逆元數(shù)據(jù)生成部具備第1乘方計算部,對上述隨機(jī)化輸 入數(shù)據(jù)和上述輸入屏蔽值進(jìn)行預(yù)定的第1指數(shù)的乘方計算,分別通過各乘 方計算生成第1乘方隨機(jī)化輸入數(shù)據(jù)和第1乘方輸入屏蔽值;校正數(shù)據(jù)生
成部,根據(jù)上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,生成預(yù)定的校正數(shù)據(jù);
加法部,將所生成的上述校正數(shù)據(jù)和計算出的上述第1乘方隨機(jī)化輸入數(shù)
據(jù)相加,生成副隨機(jī)化輸入數(shù)據(jù);第2隨機(jī)化逆元數(shù)據(jù)生成部,接收上述 副隨機(jī)化輸入數(shù)據(jù)和上述第1乘方輸入屏蔽值,將該第1乘方輸入屏蔽值 的在預(yù)定的第2有限域中的逆元即屏蔽值和上述副隨機(jī)化輸入數(shù)據(jù)的在該 第2有限域中的逆元相加,生成隨機(jī)化副輸出數(shù)據(jù);以及隨機(jī)化輸出數(shù)據(jù) 生成部,根據(jù)上述隨機(jī)化副輸出數(shù)據(jù)、上述隨機(jī)化輸入數(shù)據(jù)、上述輸入屏 蔽值及上述第1乘方輸入屏蔽值,生成上述隨機(jī)化輸出數(shù)據(jù)。
根據(jù)本方式,通過容易理解的結(jié)構(gòu)生成隨機(jī)化輸出數(shù)據(jù),減少了故障 和動作不良,能夠?qū)崿F(xiàn)設(shè)計容易,同時能夠以級數(shù)少的簡單結(jié)構(gòu)實(shí)現(xiàn)加密 裝置。
此外,方式A (本發(fā)明的一個實(shí)施方式)的加密裝置,在隨機(jī)化合成 域逆元計算部的運(yùn)算中,把以往的從X二M+R向Y=MA ( — +11的變換, 替換為從X二M+R向Y=MA ( — l) +RA ( — l)變換,由此, 一方面能夠比現(xiàn)有技術(shù)更削減最大邏輯級數(shù), 一方面也能夠?qū)崿F(xiàn)現(xiàn)有方法的能夠緊湊安 裝的優(yōu)點(diǎn)。
此外,方式B (本發(fā)明的一個實(shí)施方式)的加密裝置,基于密鑰,對 明文進(jìn)行規(guī)定的加密處理,生成密文,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù); 以及第1隨機(jī)化逆元計算部,接收隨機(jī)化輸入數(shù)據(jù)和輸入屏蔽值,并進(jìn)行 第l有限域上的逆元計算,輸出隨機(jī)化輸出數(shù)據(jù)。其中,上述隨機(jī)化輸入 數(shù)據(jù)是通過把輸入屏蔽值和輸入數(shù)據(jù)相加來進(jìn)行了屏蔽的值,上述隨機(jī)化 輸出數(shù)據(jù)是通過把輸出屏蔽值和輸出數(shù)據(jù)相加來進(jìn)行了屏蔽的值,上述輸 入屏蔽值是根據(jù)上述隨機(jī)數(shù)決定的值,上述輸出數(shù)據(jù)是上述輸入數(shù)據(jù)的在 上述第1有限域中的逆元,上述輸出屏蔽值是上述輸入屏蔽值的在上述第 1有限域中的逆元。
這里,該方式B中的加密裝置的上述第1隨機(jī)化逆元數(shù)據(jù)計算部也可 以具備第l乘方計算部,分別對上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值 進(jìn)行第1指數(shù)的乘方運(yùn)算,生成第1乘方隨機(jī)化輸入數(shù)據(jù)和第1乘方輸入 屏蔽值;校正數(shù)據(jù)生成部,根據(jù)上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值, 生成校正數(shù)據(jù);加法部,將上述校正數(shù)據(jù)和上述第1乘方隨機(jī)化輸入數(shù)據(jù) 相加,生成副隨機(jī)化輸入數(shù)據(jù);第2隨機(jī)化逆元計算部,接收上述副隨機(jī) 化輸入數(shù)據(jù)和上述第1乘方輸入屏蔽值,進(jìn)行第2有限域上的逆元計算, 生成隨機(jī)化副輸出數(shù)據(jù);以及隨機(jī)化輸出數(shù)據(jù)生成部,根據(jù)上述隨機(jī)化副 輸出數(shù)據(jù)、上述隨機(jī)化輸入數(shù)據(jù)、上述第1乘方輸入屏蔽值及上述輸入屏 蔽值,生成上述隨機(jī)化輸出數(shù)據(jù)。
另外,該方式B中的加密裝置的上述隨機(jī)化輸出數(shù)據(jù)生成部也可以是 具備第2乘方計算部,對上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值分別進(jìn) 行第2指數(shù)的乘方計算,生成第2乘方隨機(jī)化輸入數(shù)據(jù)和第2乘方輸入屏 蔽值;逆元運(yùn)算部,對上述第1乘方輸入屏蔽值進(jìn)行上述第2有限域上的 逆元計算,生成逆元乘方輸入屏蔽值;以及隨機(jī)化輸出數(shù)據(jù)計算部,根據(jù) 上述隨機(jī)化副輸出數(shù)據(jù)、上述第2乘方隨機(jī)化輸入數(shù)據(jù)、上述逆元乘方輸 入屏蔽值和上述第2乘方輸入屏蔽值,生成上述隨機(jī)化輸出數(shù)據(jù)。
另外,方式C的(本發(fā)明的一個實(shí)施方式)解密裝置,基于密鑰,對 密文進(jìn)行規(guī)定的解密處理,生成譯文,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù);' 第l隨機(jī)化逆元計算部,接收隨機(jī)化輸入數(shù)據(jù)和輸入屏蔽值,進(jìn)行第l有
17限域上的逆元計算,輸出隨機(jī)化輸出數(shù)據(jù)。其中,上述隨機(jī)化輸入數(shù)據(jù)是 通過把輸入屏蔽值和輸入數(shù)據(jù)相加而進(jìn)行了屏蔽的值,上述隨機(jī)化輸出數(shù) 據(jù)通過把輸出屏蔽值和輸出數(shù)據(jù)相加而進(jìn)行了屏蔽的值,上述輸入屏蔽值 是根據(jù)上述隨機(jī)數(shù)決定的值,上述輸出數(shù)據(jù)是上述輸入數(shù)據(jù)的在上述第1 有限域中的逆元,上述輸出屏蔽值是上述輸入屏蔽值的在上述第1有限域 中的逆元。
(實(shí)施方式)
下面,參照附圖對本發(fā)明的實(shí)施方式加以說明。
另外,在實(shí)施方式中,雖然使用了合成域GF ( ( (2A2) A2) A2)及其 子域GF ( (2A2) A2) 、 GF (2、) 、 GF (2)的運(yùn)算,但這些會成為下面 的關(guān)系。
用不可約多項式xA2+x+l對GF(2)進(jìn)行2次擴(kuò)張而得的是GF(2A2)。 用不可約多項式xA2+x+小對GF( 2A2)進(jìn)行2次擴(kuò)張而得的是GF( (2、) A2)。
用不可約多項式/2+x+入(二進(jìn)制數(shù))對GF ( (2A2)八2)進(jìn)行2次 擴(kuò)張而得的是GF ( ( (2A2) A2) A2)。
此時,設(shè)xA2+x+l=0的根為a時,4> = a、入=a 、+a ,所以分別進(jìn) 行位標(biāo)記為4)=10 (二進(jìn)制數(shù))、人=1100 (二進(jìn)制數(shù))。
<實(shí)施方式的概要〉
在進(jìn)行實(shí)際處理的詳細(xì)說明之前,首先,與非專利文獻(xiàn)l即現(xiàn)有技術(shù) 2中公開的現(xiàn)有方式進(jìn)行對比來說明本實(shí)施方式的概要。
在非專利文獻(xiàn)1中公開的現(xiàn)有技術(shù)即現(xiàn)有技術(shù)2中,隨機(jī)化8位逆元 計算部81 (圖1等)對輸入數(shù)據(jù)X二M ( + ) R,使用隨機(jī)數(shù)R及r來進(jìn)行 隨機(jī)化逆元計算,生成了輸出數(shù)據(jù)Y二MT ( — 1) ( + ) R。這里,X是將本 來的數(shù)據(jù)M用隨機(jī)屏蔽R進(jìn)行屏蔽后的值,隨機(jī)化8位逆元計算部81求 得在GF ( ( (2A2) A2) A2)中的M的逆元M八(一l),并以用隨機(jī)屏蔽 R對該值實(shí)施了屏蔽的形式M^ ( — l) ( + ) R進(jìn)行輸出。
本發(fā)明的實(shí)施方式中,將上述隨機(jī)化8位逆元計算處理,用隨機(jī)數(shù)R 對輸入數(shù)據(jù)X=M ( + ) R進(jìn)行隨機(jī)化逆元計算,生成輸出數(shù)據(jù)Y=MA ( — l) (+) RA ( — 1)。即,輸出數(shù)據(jù)的隨機(jī)屏蔽值在現(xiàn)有技術(shù)2中是R,但在 本發(fā)明中,變成了y 。這樣,通過計算不同于現(xiàn)有技術(shù)2的輸出數(shù)據(jù),如后面所述,就能夠比現(xiàn)有技術(shù)更削減最大邏輯級數(shù)。
圖8 圖38是分別表示實(shí)施方式中加密裝置1及加密裝置1的各部分的圖。
然后,圖38是表示實(shí)施方式中的加密裝置1的整體和各部分之間的 包含關(guān)系的圖。下面,適當(dāng)參照圖38,對圖1~圖23所表示的加密裝置1 進(jìn)行說明。
如圖38所示,加密裝置1 (圖8)具備隨機(jī)化8位逆元計算部101 (圖 13、圖14)。加密裝置1 (圖8)具備加密部la (圖8、圖9)。加密部 la具備屏蔽處理部10 (圖9)、隨機(jī)化Round—tl2X(隨機(jī)化Round—nl2(圖 9、圖10)、隨機(jī)化Round—10 13(圖9、圖U))、中斷屏蔽處理部14 (圖9)。 另夕卜,在圖38中,省略掉了圖8~圖37中所示的加密裝置1的各部分中的 一部分。
并且,圖38中所示的隨機(jī)化Round一t12 (圖9及圖10中所示的隨機(jī) 化Round—n12、圖9及圖11中所示的隨機(jī)化Round—10)具備隨機(jī)化 SubBytesl20X(圖10、圖ll、圖12)。該隨機(jī)化SubBytesl20X具備隨機(jī)化 S — Boxl21X(圖12中所示的隨機(jī)化S — Boxl20a 隨機(jī)化S—Boxl20p),另 外,該隨機(jī)化S—Boxl21X具備隨機(jī)化8位逆元計算部IOI(圖13,圖14)。
并且,如圖38所示,該隨機(jī)化8位逆元計算部101 (圖38、圖14等) 被輸入隨機(jī)化輸入數(shù)據(jù)ID8t=Tl (V8t) +T1 (Rt),根據(jù)利用屏蔽值進(jìn)行 了屏蔽的該隨機(jī)化輸入數(shù)據(jù)ID8t二Tl (V8t) +T1 (Rt),計算出隨機(jī)化輸 出數(shù)據(jù)OD8t二Tl (V8t) A ( — l) +T1 (Rt) A ( — l),并輸出計算出的該 OD8t,所述屏蔽值是基于Rt變成Tl (Rt)的值。總之,該隨機(jī)化8位逆 元計算部101 (圖13、圖14)對設(shè)為M-T1 (V8t) 、 R=T1 (Rt)的上述 輸入數(shù)據(jù)X二M ( + ) R,進(jìn)行生成輸出數(shù)據(jù)Y二]Vr ( — l) ( + ) R ( — l) 的處理。
本實(shí)施方式中的加密裝置1 (圖38、圖8)具備隨機(jī)化8位逆元計算 部101,該隨機(jī)化8位逆元計算部101根據(jù)X二M ( + ) R生成Y=MA ( —1) (+ ) RA ( — l),能夠削減最大邏輯級數(shù)。
下面,對那樣的加密裝置1的詳細(xì)處理進(jìn)行說明。 <加密裝置1>
圖8是表示本發(fā)明的實(shí)施方式中的加密裝置1的結(jié)構(gòu)的框圖。加密裝置l (圖8)具備加密部la (圖9)、輪密鑰生成部lb及密鑰 保管部lc。
加密裝置1 (圖8)針對輸入加密裝置1的128位明文(平文)P (128 位),使用裝置內(nèi)部保持的密鑰K (128位)進(jìn)行被隨機(jī)化的AES加密處 理(AES: Advanced Encryption Standard),并輸出密文C (128位)。密 文C和針對明文P使用密鑰K進(jìn)行AES加密處理的結(jié)果相同。此外,由 于在裝置內(nèi)部利用每次加密處理中隨機(jī)生成的隨機(jī)數(shù)對加密處理過程中 的加密處理中間值進(jìn)行隨機(jī)化,因此電力分析攻擊的密鑰K的分析就變得 困難。下面,對加密裝置1的處理過程進(jìn)行說明。
另外,詳細(xì)的講,AES加密是在加密處理中反復(fù)循環(huán)的、采用了以下 兩種結(jié)構(gòu)中后者的SPN結(jié)構(gòu)的加密,所述兩種結(jié)構(gòu)之一是反復(fù)加密的代表 性的構(gòu)成法即Feistel結(jié)構(gòu),另一結(jié)構(gòu)是SPN (Substitution Permutation Network Structure)結(jié)構(gòu)。
這里,加密裝置1例如也可以是設(shè)置在IC卡中的加密裝置。
密鑰保管部lc保管在加密裝置1中事先設(shè)定的密鑰K。密鑰K也可 以在制造加密裝置1時設(shè)定,也可以在加密裝置1制造完成后在裝置內(nèi)生 成的密鑰保管部lc中設(shè)定。如果輸入明文P,加密裝置1就進(jìn)行以下處理。
(1) 密鑰保管部lc將保管的密鑰K輸入到輪密鑰生成部lb。
(2) 輪密鑰生成部lb按照AES加密方式的輪密鑰生成處理,根據(jù)密 鑰K生成輪密鑰RK0 RK10 (各128位),輸入到加密部la。另外,輪 密鑰生成處理已經(jīng)記載在非專利文獻(xiàn)2中而予以公開,這里就不做詳細(xì)說 明。
(3) 加密部la使用輪密鑰RK0 RK10對明文P進(jìn)行后述的加密處理, 生成密文C并輸出。
接著,對加密部la的處理進(jìn)行說明。 <加密部la>
圖9是表示加密部la的結(jié)構(gòu)的框圖。
如圖所示,加密部la (圖8、圖38)具備屏蔽處理部10、 AddRoundKeyll、隨機(jī)化Round—n12 (圖IO)、隨機(jī)化RoundJ0 13 (圖
11)、中斷屏蔽處理部14、隨機(jī)數(shù)生成部15、隨機(jī)數(shù)暫時存儲部16以及 隨機(jī)數(shù)更新部17。
20加密部la對明文P (128位)使用輪密鑰RK0 RK10 (128位X11個) 進(jìn)行加密處理,生成密文(128位)并輸出。加密部la在被輸入的輪密鑰 RK0 RK10中,把輪密鑰RKO輸入AddRoundKeyl 1 ,輪密鑰RKn(n=l 9) 輸入隨機(jī)化Round_nl2 (圖10) , RK10輸入隨機(jī)化Round—10 13 (圖11)。
加密部la進(jìn)行以下的處理。
(1) 隨機(jī)數(shù)生成部15隨機(jī)地生成隨機(jī)數(shù)RO (8位)。然后,隨機(jī)數(shù) 生成部15將生成的隨機(jī)數(shù)RO暫時存儲在隨機(jī)數(shù)暫時存儲部16。另外,作 為一個例子,在每一次新的明文P被輸入到加密裝置1中,加密裝置1開 始新的加密處理時,隨機(jī)數(shù)生成部15就生成新的隨機(jī)數(shù)R0,也可以存儲 生成的隨機(jī)數(shù)R0。
(2) 屏蔽處理部10使用隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù)R0, 對明文P進(jìn)行如下的按位加運(yùn)算,從而求得數(shù)據(jù)A (128位)。經(jīng)過該處 理,利用隨機(jī)屏蔽值RO對明文P進(jìn)行屏蔽。
A=P ( + ) (R0, R0, R0,…,R0)
這里,(R0, R0, R0,…,R0)表示將16個R0 (8位)結(jié)合的128 位數(shù)據(jù)。另外,下面,如果不特別說明,就將16個8位數(shù)據(jù)X結(jié)合而成 的128位數(shù)據(jù)表示成(X, X, X,…,X)。
另外,圖8所示的P在圖38中由標(biāo)記U表示。此外,圖8中所示的 C在圖38中由標(biāo)記C表示。此外,圖9中所示的A在圖38中圖示為IA。 此外,圖9中所示的B、 D在圖38中由標(biāo)記IAt (t=l 9或t=10)表示。 此外,圖9中表示的E在圖38中由標(biāo)記OA10=OAt (t=10)表示。
(3) 隨機(jī)數(shù)更新部17對隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù)R0進(jìn) 行后述的隨機(jī)數(shù)更新處理,生成R1,并將隨機(jī)數(shù)暫時存儲部16中存儲的 隨機(jī)數(shù)R0更新為R1。
(4) AddRoundKeyll對在上述(2)中由隨機(jī)數(shù)生成部15求得的上 述A,使用下面的RKO進(jìn)行密鑰相加處理,求得B1。這就是AES加密算 法標(biāo)準(zhǔn)中規(guī)定的AddRoundKey處理。
B1=A ( + ) RKO
(5) 然后,隨機(jī)化Round—nl2關(guān)于n4、 2、 3、…、9反復(fù)執(zhí)行下面 的處理。
(5 — 1)隨機(jī)化Round一n12使用輪密鑰RKn和存儲在隨機(jī)數(shù)暫時存儲部16中的隨機(jī)數(shù)Rn,對Bn (向該隨機(jī)化Round_nl2輸入的輸入數(shù)據(jù)B 中的第n個數(shù)據(jù))進(jìn)行后述的隨機(jī)化Round—n處理,生成Bn+l。然后, 隨機(jī)化Round—n12,在『9的情況下,即所生成的B (n+l)是B (n+l) =B10的情況下,使D=B10,將D輸入隨機(jī)化Round—10 13;在n#9的情 況下,即11=1、 2、…、9,所生成的B (n+l)是B2、 B3、…、B9中某一 個的情況下,將該B (n+l)再次輸入到Round一n12。
(5—2)隨機(jī)數(shù)更新部17對隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù)Rn 進(jìn)行后述的隨機(jī)數(shù)更新處理,生成Rn+l,將隨機(jī)數(shù)暫時存儲部16中存儲 的隨機(jī)數(shù)Rn更新為Rn+1。隨機(jī)數(shù)更新部17根據(jù)由隨機(jī)數(shù)生成部15生成 的隨機(jī)數(shù)RO,生成隨機(jī)數(shù)R1、隨機(jī)數(shù)R2、…、隨機(jī)數(shù)Rll,并將隨機(jī)數(shù) 暫時存儲部16中存儲的隨機(jī)數(shù)更新為生成的各個隨機(jī)數(shù),由此將各該隨 機(jī)數(shù)分別提供給屏蔽處理部10、隨機(jī)化Round—n12、 Round—10 13以及中 斷屏蔽處理部14中與該隨機(jī)數(shù)對應(yīng)的結(jié)構(gòu)中。隨機(jī)數(shù)更新部17通過隨機(jī) 數(shù)暫時存儲部16將隨機(jī)數(shù)R0提供給屏蔽處理部10,將隨機(jī)數(shù)R1 R9提 供給隨機(jī)化Round—n12,將隨機(jī)數(shù)R10提供給隨機(jī)化Round—10 13,將隨 機(jī)數(shù)Rll提供給中斷屏蔽處理部14。
(5—3)加密部la在n=9的情況下,結(jié)束反復(fù)處理的循環(huán),轉(zhuǎn)移到 接下來的隨機(jī)化Round—10 13的處理,在n#9的情況下,將n的值加1, 再次執(zhí)行上述(5 — 1) (5 — 3)的處理。
(6) 隨機(jī)化Round—10 13使用輪密鑰RK10和隨機(jī)數(shù)暫時存儲部16 中存儲的隨機(jī)數(shù)R10,對經(jīng)過上述(5)的處理得到的向隨機(jī)化Round一10 13 輸入的輸入數(shù)據(jù)D (128位)進(jìn)行后述的隨機(jī)化Round—10處理,生成數(shù)據(jù) E (128位)。隨機(jī)化RoundJ0 13將數(shù)據(jù)E輸入中斷屏蔽處理部14中。
此外,隨機(jī)數(shù)更新部17對隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù)R10 進(jìn)行后述的隨機(jī)數(shù)更新處理,將隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù)R10 更新為隨機(jī)數(shù)Rll。隨機(jī)數(shù)更新部17通過向該R11的更新,將隨機(jī)數(shù)Rll 提供給中斷屏蔽處理部14。
(7) 中斷屏蔽處理部14使用隨機(jī)數(shù)暫時存儲部16中存儲的隨機(jī)數(shù) Rll,在上述(6)中對從隨機(jī)化Round—10得到的數(shù)據(jù)E進(jìn)行下面的按位 加運(yùn)算,生成密文C (128位)。經(jīng)過該處理,被屏蔽的數(shù)據(jù)E被中斷屏 蔽(去除屏蔽的影響),從而得到?jīng)]有被屏蔽的密文C。C=E ( + ) RU
(8)加密部la將在上述(7)中得到的密文C作為加密部la的輸出 數(shù)據(jù)進(jìn)行輸出。
接著,對在加密部la(圖9)內(nèi)部使用的隨機(jī)化Round—n12、隨機(jī)化 Round—10 13的詳細(xì)結(jié)構(gòu)進(jìn)行說明。 <隨機(jī)化Round—nl2>
圖10是表示隨機(jī)化Round—n12 (圖9)的結(jié)構(gòu)的框圖。
如圖10中所示,隨機(jī)化Round—n12 (圖9、圖10、圖38)具備隨機(jī) 化SubBytes120 (圖12、圖38) 、 ShiftRows121 、 MixColumns122以及 AddRoundKey123。
而且,隨機(jī)化Round—n12使用隨機(jī)數(shù)Rn和輪密鑰RKn(n-l、 2、 ..9), 對向該隨機(jī)化Round—n12輸入的輸入數(shù)據(jù)X (與加密部la的處理說明(圖 9)中的數(shù)據(jù)Bn相對應(yīng))進(jìn)行隨機(jī)化Round處理,生成輸出數(shù)據(jù)Y(與加 密部la處理說明中的數(shù)據(jù)Bn+l (圖9)相對應(yīng))。
另外,隨機(jī)化Round—n12進(jìn)行的隨機(jī)化Round—n處理是如下的處理 對用屏蔽值(Rn, Rn,…,Rn)進(jìn)行了屏蔽的輸入數(shù)據(jù)X=M ( + ) (Rn, Rn,, Rn)執(zhí)行AES加密算法標(biāo)準(zhǔn)中規(guī)定的1輪處理,從而生成用屏 蔽值(Rn+1, Rn+1,…,Rn+1)屏蔽了的輪處理結(jié)果Y-P ( + ) (Rn+1, Rn+1,…,Rn+1)。此時,P與對M進(jìn)行了 AES加密算法標(biāo)準(zhǔn)中規(guī)定的 1輪處理的結(jié)果一致。這里,該X是圖9的說明中的隨機(jī)化Round—n處理 的輸入數(shù)據(jù)Bn (n=l、 2、…、9),此外,該Y是圖9的說明中的輸出數(shù) 據(jù)B (n+l) 。 M、 P是分別從Bn、 Bn+1去除屏蔽值的影響后的本來的值 (圖38中圖示的Vt、 V (t+l))。
另外,圖10中的X在圖38中由標(biāo)記IAt (t=l、 2、…、9)表示,Y 由標(biāo)記OBt (t=l、 2、…、9)表示,Rn由標(biāo)記Rt (t=l、 2、…、9)表示。
具體說來,隨機(jī)化Round—n12 (圖9、圖10)進(jìn)行如下的處理。
(1) 隨機(jī)化Round—nl2具備的隨機(jī)化SubBytes120 (圖10、圖12) 使用從隨機(jī)數(shù)暫時存儲部16取得的隨機(jī)數(shù)Rn (8位),對向該隨機(jī)化 Round—n輸入的輸入數(shù)據(jù)X (128位)進(jìn)行后述的隨機(jī)化SubBytes處理, 生成數(shù)據(jù)A (圖10)。
(2) ShiftRows121 (圖10)對上述(1)中生成的上述數(shù)據(jù)A進(jìn)行
23AES加密算法標(biāo)準(zhǔn)中規(guī)定的ShiftRows處理,生成數(shù)據(jù)B (128位)。另 外,關(guān)于ShiftRows的詳細(xì)內(nèi)容,由于在(非專利文獻(xiàn)2)中已經(jīng)公開, 故不做詳細(xì)說明。
(3) 接著,MixColumns122 (圖10)對上述(2)中生成的上述數(shù)據(jù) B進(jìn)行AES加密算法標(biāo)準(zhǔn)中規(guī)定的MixColumns處理,生成數(shù)據(jù)C (128 位)。另外,關(guān)于MixColumns的詳細(xì)內(nèi)容,由于在(非專利文獻(xiàn)2)中 已經(jīng)公開,故不做詳細(xì)說明。
(4) 然后,AddRoundKey 123使用輪密鑰RKn,對上述(3)中生成 的上述數(shù)據(jù)C進(jìn)行AES加密算法標(biāo)準(zhǔn)中規(guī)定的AddRoundKey處理,生成 數(shù)據(jù)Y( 128位)。然后,AddRoundKey 123將生成的Y作為隨機(jī)化Round—n12 的輸出數(shù)據(jù)來進(jìn)行輸出。另外,關(guān)于AddRoundKey的詳細(xì)內(nèi)容,由于在
(非專利文獻(xiàn)2)中己經(jīng)公開,故不做詳細(xì)說明。
另外,圖10的數(shù)據(jù)A在圖38中由標(biāo)記OBt (t=l、 2、…、9)表示。 <隨機(jī)化Round—10 13>
圖11是表示隨機(jī)化Round—10 13的結(jié)構(gòu)的框圖。
隨機(jī)化Round—10 13 (圖9、圖11)具備隨機(jī)化SubBytes130 (圖11、 圖12) 、 ShiftRows131、 AddRoundKey 132。
然后,如圖11所示,隨機(jī)化Round—10 13的結(jié)構(gòu)與從隨機(jī)化Round一n12 去掉MixColumns122的結(jié)構(gòu)相同。這與AES加密算法的標(biāo)準(zhǔn)的最后一輪 不進(jìn)行MixColumns處理的情況相對應(yīng)。除此之外,和隨機(jī)化Round一n12 相同,故省略詳細(xì)的說明。
另外,隨機(jī)化Round—10處理是如下的處理對用屏蔽值(R10,R10,…, R10)進(jìn)行了屏蔽的輸入數(shù)據(jù)X-M ( + ) (R10, R10,, R10)執(zhí)行AES 加密算法標(biāo)準(zhǔn)中規(guī)定的最后一輪處理,生成用屏蔽值(Rll, Rll,…, Rll)屏蔽了的最后一輪處理結(jié)果Y=P ( + ) (Rll, Rll,…,Rll)。此 時,P與對M進(jìn)行了 AES加密算法標(biāo)準(zhǔn)中規(guī)定的最后一輪處理的結(jié)果一 致。
另外,此處,該X在圖9的說明中是數(shù)據(jù)D,此外,該Y在圖9的說 明中是輸出數(shù)據(jù)E, M、 P是從D、 E去除屏蔽值的影響的本來的值(圖 38中的V10、 Vll)。
此外,在圖38中,由標(biāo)記OB100Bt (t=10)表示圖10中的數(shù)據(jù)A。接著,隨機(jī)化Round一n12 (圖9、圖10)對在隨機(jī)化Round—10 13 (圖 9、圖11)中使用的隨機(jī)化SubBytes120、 130 (圖12)進(jìn)行詳細(xì)的說明。 <隨機(jī)化SubBytes 120、 130>
圖12是表示隨機(jī)化SubBytesl20X(隨機(jī)化SubBytes120(圖9、圖10)、 隨機(jī)化SubBytes130 (圖9、圖11))的結(jié)構(gòu)的框圖。例如,隨機(jī)化 SubBytesl20X是隨機(jī)化SubBytes120,其他的隨機(jī)化SubBytes120具有和 該隨機(jī)化SubBytes120相同的結(jié)構(gòu)。
隨機(jī)化SubBytesl20X使用隨機(jī)數(shù)R (8位)對輸入數(shù)據(jù)X (128位) 進(jìn)行隨機(jī)化S—Box處理,生成輸出數(shù)據(jù)Y (128位)。這里的輸入數(shù)據(jù)X 和隨機(jī)化Round—n12的處理說明(圖10)中的數(shù)據(jù)X相當(dāng),此外,和隨 機(jī)化RouncL10 13的處理說明(圖IO)中的數(shù)據(jù)X相當(dāng)。此外,隨機(jī)數(shù)R 和隨機(jī)化Round—n12的處理說明(圖IO)中的隨機(jī)數(shù)Rn相當(dāng),和隨機(jī)化 Round—10 13的處理說明(圖ll)中的隨機(jī)數(shù)R10相當(dāng)。此外,輸出數(shù)據(jù) Y和隨機(jī)化RouncLn12的處理說明(圖10)中的數(shù)據(jù)A相當(dāng),和隨機(jī)化 Round—10 13的處理說明(圖ll)中的數(shù)據(jù)A相當(dāng)。
另夕卜,在圖38中,圖12中的X由標(biāo)記IBt表示,Y由標(biāo)記OBt表示, R由Rt表示。
隨機(jī)化SubBytesl20X具備隨機(jī)化S — Boxl20a 隨機(jī)化S—Boxl20p。 隨機(jī)化SubBytesl20X (隨機(jī)化S—Boxl20a 隨機(jī)化S —Boxl20p)進(jìn)
行以下的處理。
(1) 隨機(jī)化SubBytesl20X將輸入數(shù)據(jù)從高位開始按每8位進(jìn)行分割, 分割為X[O]、 X[l]、…、X[15](參照圖12)。
(2) 隨機(jī)化S—Boxl20a 120p對分割后的X
、 X[l]、…、X[15], 分別用隨機(jī)數(shù)R進(jìn)行隨機(jī)化S—Box處理,分別生成Y
、Y[1]、…、Y[15]。 關(guān)于隨機(jī)化S—Box處理的詳細(xì)內(nèi)容,將在后面加以說明。
(3) 然后,隨機(jī)化SubBytesl20X將生成的Y[O]、 Y[l]、…、Y[15] 從高位開始按該順序連結(jié),變成128位數(shù)據(jù)Y。然后,隨機(jī)化SubBytesl20X 將該Y作為隨機(jī)化SubBytesl20X的輸出數(shù)據(jù)來輸出。
另夕卜,隨機(jī)化SubBytes120、 130的處理是如下的處理對用屏蔽值(R, R,…,R)進(jìn)行了屏蔽的輸入數(shù)據(jù)X二M ( + ) (R, R,…,R)進(jìn)行AES 加密算法標(biāo)準(zhǔn)中規(guī)定的SubBytes處理,生成用屏蔽值(S, S,…,.S)屏蔽的處理結(jié)果Y二P ( + ) (S, S,…,S)。此時,P與對M進(jìn)行AES加
密算法標(biāo)準(zhǔn)中規(guī)定的SubBytes處理的結(jié)果一致,屏蔽值S與隨機(jī)數(shù)更新部
17對屏蔽值R進(jìn)行了隨機(jī)數(shù)更新處理的結(jié)果相等。
另外,在圖38中,該M圖示為Vt, P則由S—Box (Vt)表示。 然后,對在隨機(jī)化SubBytesl20X (隨機(jī)化SubBytes120、 130)中使用
的隨機(jī)化S — Boxl20a 120p的詳細(xì)內(nèi)容進(jìn)行說明。 <隨機(jī)化S—Boxl20a~120p>
圖13是表示隨機(jī)化S—Boxl20X(隨機(jī)化S—Boxl20a 隨機(jī)化S—Box 120p:圖12)的結(jié)構(gòu)的框圖。
隨機(jī)化S—Boxl21X (圖13、圖12)具備合成域變換部100 (參照 數(shù)學(xué)式l)、隨機(jī)化8位逆元計算部101 (圖ll、圖38)、擴(kuò)張域變換兼 矩陣變換部102 (參照數(shù)學(xué)式2)、按位加部104、合成域變換部103 (參 照數(shù)學(xué)式1)。
隨機(jī)化S—Boxl21X是使用隨機(jī)數(shù)R (8位)對輸入數(shù)據(jù)X (8位)進(jìn) 行隨機(jī)化S—Box處理,求得輸出數(shù)據(jù)Y(8位)的處理。這里的輸入數(shù)據(jù) X相當(dāng)于隨機(jī)化SubBytes 120X(圖12)的處理說明中的數(shù)據(jù)X[O] 、 X[ 1 ]、…、 X[15]中的某一個,隨機(jī)數(shù)R相當(dāng)于隨機(jī)化SubBytesl20X的處理說明(圖 12)中的隨機(jī)數(shù)R。此外,輸出數(shù)據(jù)Y相當(dāng)于隨機(jī)化SubBytesl20X的處 理說明(圖12)中的數(shù)據(jù)Y[O]、 Y[l]、…、Y[15]中的某一個。
另外,在圖38中,由標(biāo)記IC8t表示該X,由標(biāo)記OC8t表示Y,由標(biāo) 記Rt表示R。
隨機(jī)化S—Boxl21X進(jìn)行以下的處理。 (1)合成域變換部100將X (8位)從高位開始按每一位迸行分割, 分割成X7、 X6、、 X0。然后,合成域變換部100進(jìn)行下面的數(shù)學(xué)式1 的矩陣計算,將通過矩陣計算求得的A7、 A6、…、AO從高位開始按該順 序結(jié)合,作為合成域變換部100的輸出數(shù)據(jù)A (8位)。另外,下述的矩 陣計算是用mod 2進(jìn)行的。即,在下述的矩陣計算中,是0+0=1+1=0, 0+1=1+0=1。
數(shù)學(xué)式1廣 、 A7卜010〇00、 0廣 X7
A601111110X6
A5.01110010X5
A410100010X4
A3〇0011010X3
A201010110X2
A101101100X1
LA0JL10101001J
、
乂
(2) 并且,其他的合成域變換部103和上述的(1) 一樣,將R (8 位)從高位開始按每l位進(jìn)行分割之后,進(jìn)行數(shù)學(xué)式l的矩陣計算,根據(jù) R (8位)生成S (8位)。
(3) 接著,隨機(jī)化8位逆元計算部101利用在上述(2)中生成的隨 機(jī)數(shù)S (8位)對上述(1)中生成的輸入數(shù)據(jù)A (8位)進(jìn)行后述的隨機(jī) 化8位逆元計算,生成輸出數(shù)據(jù)B (8位)。
(4) 擴(kuò)張域變換部兼矩陣變換部102對上述(3)中生成的數(shù)據(jù)B (8 位),根據(jù)下述的數(shù)學(xué)式2的矩陣計算式,用和上述(1)同樣的方法, 即從高位開始按每一位進(jìn)行分割,并進(jìn)行矩陣計算,來生成數(shù)據(jù)C (8位)。
數(shù)學(xué)式2
f071廣 0111010、 0 、
C611010000巳6
C500101100B5
C41101001B4
C3'—10110101已3
C210010011已2
C110110111已i
—J111010」
(5)按位加部104將在上述(4)中生成的數(shù)據(jù)C(8位)和常數(shù)01100011 (二進(jìn)制數(shù))進(jìn)行每位的按位加運(yùn)算,生成數(shù)據(jù)Y (8位)。
隨機(jī)化S—boxl21X將上述(5)中生成的該Y作為隨機(jī)化S — Boxl21X
的輸出數(shù)據(jù)進(jìn)行輸出。另外,隨機(jī)化S—Boxl20a 120p的處理是如下的處理對用屏蔽值(R, R,…,R)進(jìn)行了屏蔽的輸入數(shù)據(jù)X二M ( + ) (R, R,…,R)進(jìn)行AES 加密算法標(biāo)準(zhǔn)中規(guī)定的SubBytes處理內(nèi)的S—Box表變換,生成用屏蔽值 (S, S,…,S)進(jìn)行了屏蔽的處理結(jié)果Y=P ( + ) (S, S,…,S)。此 時,P與對M進(jìn)行了 AES加密算法標(biāo)準(zhǔn)中規(guī)定的SubBytes處理內(nèi)的S — Box表變換的結(jié)果一致,屏蔽值S和隨機(jī)數(shù)更新部17對屏蔽值R進(jìn)行隨 機(jī)數(shù)更新處理的結(jié)果相等。
另外,在圖38中,由標(biāo)記V8t表示該M,由S—box (v8t)表示P。 在圖38中,由標(biāo)記ID8t表示該A,由標(biāo)記OD8t表示B。
然后,對在隨機(jī)化S — Boxl20a 120p內(nèi)部分別使用的隨機(jī)化8位逆元 計算部101的詳細(xì)內(nèi)容進(jìn)行說明。
<隨機(jī)化8位逆元計算部101>
圖14是表示隨機(jī)化8位逆元計算部101的結(jié)構(gòu)的框圖。
隨機(jī)化8位逆元計算部101 (圖13、圖14、圖38)具備17次方運(yùn) 算部110 (圖15) 、 17次方運(yùn)算部112 (圖15) 、 4位校正項計算部111 (圖16) 、 16次方運(yùn)算部115 (圖17) 、 16次方運(yùn)算部117 (圖17) 、 4 位輸出計算部118 (圖18) 、 4位輸出計算部U9 (圖18) 、 4位逆元計 算部116(圖21)、隨機(jī)化4位逆元計算部114 (圖23)、按位加部113。
隨機(jī)化8位逆元計算部101 (圖13、圖14)使用隨機(jī)數(shù)R (8位), 對輸入數(shù)據(jù)X (8位)進(jìn)行隨機(jī)化8位逆元計算處理,輸出輸出數(shù)據(jù)Y (8 位)。這里的輸出數(shù)據(jù)X如前所述,相當(dāng)于隨機(jī)化S—Boxl20a 120p的處 理說明(圖13)中的數(shù)據(jù)A,隨機(jī)數(shù)R相當(dāng)于隨機(jī)化S—Boxl20a 120p 的處理說明(圖13)中的隨機(jī)數(shù)S。此外,輸出數(shù)據(jù)Y相當(dāng)于隨機(jī)化S — Boxl20a 120p的處理說明(圖13)中的數(shù)據(jù)B。
另外,在圖38中,由標(biāo)記ID8t表示該X,由標(biāo)記RDt表示R,由標(biāo) 記0D8t表示Y。
隨機(jī)化8位逆元計算部101執(zhí)行以下的處理。 (1)隨機(jī)化8位逆元計算部101,首先將數(shù)據(jù)X (8位)從高位開始 按每4位進(jìn)行分割,分割成XO (4位)、XI (4位)。然后,隨機(jī)化8位 逆元計算部101同樣地將隨機(jī)數(shù)R (8位)從高位開始按每4位進(jìn)行分割, 分割成RO (4位)、Rl (4位)。然后,隨機(jī)化8位逆元計算部101將
28X0和XI輸入17次方運(yùn)算部110,將X0、 XI、 R0及Rl輸入4位校正項 計算部111,將R0和Rl輸入17次方運(yùn)算部112。
(2) 然后,17次方運(yùn)算部110對輸入的X0和X1進(jìn)行后述的17次 方計算處理,生成輸出數(shù)據(jù)A (4位)。同樣地,其他的17次方運(yùn)算部 112對輸入的R0和R1進(jìn)行17次方計算處理,生成輸出數(shù)據(jù)C (4位)。
(3) 另外,4位校正項計算部111對輸入的XO、 XI、 RO、 Rl進(jìn)行 后述的4位校正項計算處理,生成輸出數(shù)據(jù)B (4位)。
(4) 然后,按位加部113對(2)中生成的數(shù)據(jù)A和(3)中生成的 數(shù)據(jù)B進(jìn)行按位加運(yùn)算,生成數(shù)據(jù)D (8位)。
(5) 然后,隨機(jī)化4位逆元計算部114利用上述(2)中生成的數(shù)據(jù) C (4位),對上述(4)中生成的數(shù)據(jù)D進(jìn)行后述的隨機(jī)化4位逆元計算 處理,生成數(shù)據(jù)E (4位)。
(6) 此外,16次方運(yùn)算部115對輸入到隨機(jī)化8位逆元計算部101 的數(shù)據(jù)X (8位)進(jìn)行后述的16次方計算處理,生成數(shù)據(jù)F (8位)。然 后,隨機(jī)化8位逆元計算部101將生成的數(shù)據(jù)F從高位開始按每4位進(jìn)行 分割,分割為FO (4位)、Fl (4位)。同樣地,其他的16次方運(yùn)算部 117對輸入到隨機(jī)化8位逆元計算部101的數(shù)據(jù)R (8位)進(jìn)行16次方計 算處理,生成數(shù)據(jù)H。與上述數(shù)據(jù)F的情況一樣,隨機(jī)化8位逆元計算部 101將生成的該數(shù)據(jù)H從高位開始按每4位進(jìn)行分割,分割為HO (4位)、 Hl (4位)。
(7) 另外,4位逆元計算部116,在上述(2)中,對由在圖14的下 側(cè)示出的17次方運(yùn)算部112生成的數(shù)據(jù)C (4位)進(jìn)行后述的4位逆元計 算處理,生成數(shù)據(jù)G (4位)。
(8) 然后,4位輸出計算部118對上述(5)中生成的數(shù)據(jù)E (4位)、 上述(7)中生成的數(shù)據(jù)G (4位)、上述(6)中由數(shù)據(jù)F分割成的數(shù)據(jù) FO (4位)、及同樣在上述(6)中由數(shù)據(jù)H分割成的數(shù)據(jù)HO (4位)進(jìn) 行后述的4位輸出計算處理,生成數(shù)據(jù)YO (4位)。同樣地,其他的4位 輸出計算部119對數(shù)據(jù)E (4位)、數(shù)據(jù)G (4位)、數(shù)據(jù)F1 (4位)、及 數(shù)據(jù)H1 (4位)進(jìn)行4位輸出計算處理,生成數(shù)據(jù)Y1 (4位)。然后,隨 機(jī)化8位逆元計算部101,將這樣生成的數(shù)據(jù)YO和Yl從高位開始按該順 序連結(jié)成8位數(shù)據(jù)Y。然后,隨機(jī)化8位逆元計算部101將連結(jié)的數(shù)據(jù)Y作為隨機(jī)化8位逆元計算部101的輸出數(shù)據(jù)來輸出。
另外,這樣進(jìn)行的隨機(jī)化8位逆元計算部101的處理是如下的處理
對用屏蔽值R進(jìn)行了屏蔽的輸入數(shù)據(jù)X=M( + )R進(jìn)行合成域GF (((2A2) A2)A2)的逆元計算,生成用屏蔽值R、一1)進(jìn)行了屏蔽的處理結(jié)果¥=乂八 (—1) ( + ) R ( — 1)。此時,XA ( — 1)是在合成域GF ( ( (2A2) A2) A2)中X的逆元,屏蔽值RA (—1)是在合成域GF ( ( (2A2) A2)、)中 R的逆元。
接著,對在隨機(jī)化8位逆元計算部101的內(nèi)部使用的17次方運(yùn)算部 110、 112 (圖15中示出的17次方運(yùn)算部110X) 、 4位校正項計算部111 (圖16)、 16次方運(yùn)算部115、 117(圖17中示出的16次方運(yùn)算部115X)、 4位輸出計算部118、 119 (圖18中示出的4位輸出計算部118X)的詳細(xì) 內(nèi)容依次進(jìn)行說明。
<17次方運(yùn)算部110、 112〉
圖15是表示17次方運(yùn)算部110X的圖。
17次方運(yùn)算部110X (圖14、圖15)具備4位乘法部110b (圖19)、 4位乘法部110c (圖19) 、 4位乘法部110d (圖19)、按位加部110a、 按位加部110e。
而且,17次方運(yùn)算部110X對輸入數(shù)據(jù)X0 (4位)、XI (4位)進(jìn)行 合成域GF ( ( (2A2) A2) A2)上的17次方計算處理,生成數(shù)據(jù)處理結(jié)果 Y (4位)。此時,對將輸入數(shù)據(jù)X0、 XI從高位開始按該順序連結(jié)而成的 8位數(shù)據(jù)X進(jìn)行在合成域GF ( ( (2A2) A2) A2)上的17次方計算的結(jié)果 成為Y。艮口
Y=XA (17) in GF ( ( (2、) A2) A2)
此時,成為¥^5= (XA17) A15=XA255,由于X是GF ( ( (2、)、) 、)上的元素,所以YA15=XA255=1。即,Y的位數(shù)是15, Y是子域GF( (2、) A2)上的元素。gp, Y是4位的數(shù)據(jù)。
此外,這里的輸入數(shù)據(jù)X0、 XI相當(dāng)于隨機(jī)化8位逆元計算部101的 處理說明(圖14)中的數(shù)據(jù)X0、 X1或者R0、 Rl,輸出數(shù)據(jù)Y相當(dāng)于隨 機(jī)化8位逆元計算部101的處理說明(圖14)中的數(shù)據(jù)A或者C中的某 一個。
這里,17次方運(yùn)算部110X在子域GF ( (2A2) A2)上進(jìn)行下面的計
30算,生成輸出數(shù)據(jù)Y。
Y=1100 (二進(jìn)制數(shù))X (X0A2) +X1X (X0+X1) in GF ( (2、) A2) 在GF ( (2A2) A2)上的加法運(yùn)算是對每位的按位加運(yùn)算(按位加部
110a、 110e)。關(guān)于GF ( (2、) A2)上的乘法運(yùn)算(4位乘法部110b、
110c、 110d)的詳細(xì)內(nèi)容,將在后面加以說明。 <4位校正項計算部111>
圖16是表示4位校正項計算部111的結(jié)構(gòu)的框圖。
4位校正項計算部111 (圖14、圖16)具備4位乘法部111a (圖19)、 4位乘法部111b (圖19)以及按位加部lllc。
然后,4位校正項計算部111對輸入數(shù)據(jù)XO (4位)、XI (4位)、 R0 (4位)、Rl (4位)進(jìn)行4位校正項計算處理,生成輸出數(shù)據(jù)B (4 位)。這里的輸入數(shù)據(jù)XO、 XI、 R0、 Rl分別相當(dāng)于隨機(jī)化8位逆元計算 部IOI的處理說明(圖14)中的數(shù)據(jù)XO、 XI、 R0、 Rl,輸出數(shù)據(jù)B相當(dāng) 于隨機(jī)化8位逆元計算部101的處理說明(圖14)中的數(shù)據(jù)B。
這里,4位校正項計算部111在子域GF ( (2A2) A2)上進(jìn)行下面的計 算,輸出數(shù)據(jù)B。
B=X0XR1+X1XR0 in GF ( (2、)、)
然后,這里,在GF ( (2A2) A2)上的加法運(yùn)算是對每個位的按位加 運(yùn)算(按位加部lllc)。關(guān)于GF ( (2A2) A2)上的乘法運(yùn)算(4位乘法 部llla、 111b)的詳細(xì)內(nèi)容,將在后面加以說明(圖19)。
<16次方計算部115、 117>
圖17是表示16次方計算部115X (16次方計算部115 (圖4) 、 16 次方計算部117 (圖14))的結(jié)構(gòu)的框圖。
而且,16次方計算部115X對輸入數(shù)據(jù)X(8位)進(jìn)行合成域GF(((2A2) A2) A2)上的16次方計算,將其計算結(jié)果作為Y (8位)輸出。此時,對 輸入數(shù)據(jù)X進(jìn)行了合成域GF ( ( (2、) A2) A2)上的16次方計算的結(jié)果 成為Y。
Y=XA (16) inGF ( ( (2、) A2)、)
此外,這里的輸入數(shù)據(jù)X相當(dāng)于隨機(jī)化8位逆元計算部101的處理說 明(圖M)中的數(shù)據(jù)X或R中的某一個,輸出數(shù)據(jù)Y相當(dāng)于隨機(jī)化8位 逆元計算部101的處理說明(圖14)中的數(shù)據(jù)F或H中的某一個。這里,16次方計算部115、 117將輸入數(shù)據(jù)X從高位開始按每4位進(jìn) 行分割,分割成X0、 XI,然后在GF ( (2A2) A2)上進(jìn)行下面的計算,求 得Y0、 Yl。
Y0=X0
Y1=X0+X1 inGF ( (2、)、)
然后,這里,GF ( (2A2) A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算 (按位加部115a) 。 16次方計算部115X將這樣求得的Y0、 Yl依照該順 序結(jié)合成8位數(shù)據(jù)Y。該Y成為16次方計算部115、 117的輸出數(shù)據(jù)。 <4位輸出計算部118、 119>
圖18是表示4位輸出計算部118X (4位輸出計算部118X (圖14)、 4位輸出計算部119 (圖14))的結(jié)構(gòu)的框圖。
4位輸出計算部118X具備4位乘法部118a(圖19)、4位乘法部118b (圖19) 、 4位乘法部118d (圖19)、按位加部118c、按位加部118e。
然后,4位輸出計算部118X對輸入數(shù)據(jù)E (4位)、G (4位)、F (4 位)、H (4位)進(jìn)行4位輸出計算處理,輸出輸出數(shù)據(jù)Y。這里的輸入數(shù) 據(jù)E、 G、 F、 H分別和隨機(jī)化8位逆元計算部101的處理說明(圖14)中 向4位輸出計算部118輸入的輸入數(shù)據(jù)E、 G、 FO、 HO相對應(yīng),此外,分 別和向4位輸出計算部119輸入的輸入數(shù)據(jù)E、 G、 Fl、 Hl相對應(yīng)。此外, 輸出數(shù)據(jù)Y和隨機(jī)化8位逆元計算部101的處理說明(圖14)中4位輸 出計算部118的輸出數(shù)據(jù)YO相對應(yīng),和4位輸出計算部119的輸出數(shù)據(jù) Yl相對應(yīng)。4位輸出計算部118、 119在GF ( (2A2)、)上進(jìn)行下面的計 算,求得Y,并輸出所求得的Y。
Y=EXF+GXF+EXH in GF ( (2l) A2)
這里,在GF ( (2A2) A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按 位加部118c、 118e)。關(guān)于GF ( (2、) A2)上的乘法運(yùn)算(4位乘法部 118a、 118b、 118d)的詳細(xì)內(nèi)容,將在后面加以說明(圖19)。
接著,對前面說明的各種處理中用到的各個4位乘法部的詳細(xì)內(nèi)容, 即圖15所示的4位乘法部110b及4位乘法部110c、圖16示出的4位乘 法部111a及4位乘法部lllb、圖18示出的4位乘法部118a、 4位乘法部 118b及4位乘法部118d的詳細(xì)內(nèi)容進(jìn)行說明。另夕卜,圖30中示出的8位 逆元計算部171具備的4位乘法部171d和4位乘法部171e也相同。另外,這里,這些4位乘法部171d等都具有的圖30所示的8位逆元計算部171 是圖29示出的隨機(jī)數(shù)更新部17 (參照圖14)的一部分。 <4位乘法部20>
圖19是表示4位乘法部20的結(jié)構(gòu)的框圖。
前面說明的各種處理中用到的、上述列舉的4位乘法部的結(jié)構(gòu)都和這 里說明了 4位乘法部20相同。另外,和這一點(diǎn)相同的是,上述的4位輸 出計算部118、 4位輸出計算部119的任一個的結(jié)構(gòu)都和圖18中示出的4 位輸出計算部118X相同。
4位乘法部20具備2位乘法部200 (圖19) 、 2位乘法部201 (圖 19) 、 2位乘法部202 (圖19) 、 2位乘法部203 (圖19) 、 2位乘法部 206 (圖19)、按位加部204、按位加部205、及按位加部207。
而且,4位乘法部20對輸入數(shù)據(jù)X(4位)、Y(4位)進(jìn)行在GF( (2A2) A2)上的乘法運(yùn)算,輸出乘法運(yùn)算結(jié)果Z (4位)。此時,
Z=XXY in GF ( (2、)八2)
然后,4位乘法部20將輸入數(shù)據(jù)X、 Y分別從高位開始按每2位分割, 分割成XO (2位)、XI (2位)、及YO (2位)、Yl (2位)。然后,在 GF (2、)上執(zhí)行下面的計算式,求得ZO、 Zl。 ZO=XOXY1+X1XYO+XOXYO in GF (2、) Z140(二進(jìn)制數(shù))XX0XY0+X1XY1 in GF (2、) 然后,4位乘法部20將對上述Z0、 Zl從高位開始按該順序連結(jié)而成 的4位數(shù)據(jù)Z,作為4位乘法部20的輸出來輸出。
這里,GF (2A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加部 204、 205、 207)。關(guān)于GF (2'2)上的乘法運(yùn)算(2位乘法部200、 201、 202、 203、 206:圖19)的詳細(xì)內(nèi)容,將在下面加以說明。 <2位乘法部21>
圖20是表示2位乘法部21的結(jié)構(gòu)的框圖。
前面說明的各種處理中用到的2位乘法部的結(jié)構(gòu)都和這里說明的2位 乘法部20相同。另外,.圖21的2位乘法部143及2位乘法部144、圖 24的2位乘法部150b、 2位乘法部150c及2位乘法部150d、圖25的2 位乘法部151a及2位乘法部151b、圖27的2位乘法部158a、 2位乘法部 158b及2位乘法部158d都具有和該圖20示出的2位乘法部21相同的結(jié)
33構(gòu)。
2位乘法部21具備邏輯積部210、邏輯積部211、邏輯積部212、邏輯積部213、按位加部214、按位加部215、按位加部216。
然后,2位乘法部21對輸入數(shù)據(jù)X (2位)、Y (2位)進(jìn)行GF (2、)上的乘法運(yùn)算,輸出乘法運(yùn)算結(jié)果Z (2位)。此時
Z=XXY inGF (2'2)
然后,2位乘法部21將輸入數(shù)據(jù)X、 Y分別從高位開始按每1位進(jìn)行分割,分割成X0 (1位)、XI (1位)、Y0 (1位)以及Yl (1位)。而且,2位乘法部21在GF (2)上執(zhí)行下面的計算式,求得Z0、 Zl。
Z0=X0XY1+X1XY0+X0XY0 in GF (2)
Z1=X0XY0+X1XY1 in GF (2)
而且,2位乘法部21將上述的Z0、 Zl從高位開始按該順序連結(jié),將連結(jié)的2位數(shù)據(jù)Z作為2位乘法部21的輸出來輸出。
這里,GF (2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加部214、215、 216) 。 GF (2)上的乘法運(yùn)算是邏輯積(邏輯積部210、—211 、 212、213)。
然后,對隨機(jī)化8位逆元計算部101 (圖14)中用到的4位逆元計算部116的詳細(xì)內(nèi)容進(jìn)行說明。<4位逆元計算部116>
圖21是表示4位逆元計算部116 (圖14)的結(jié)構(gòu)的框圖。另外,圖30的4位逆元計算部171c也和這個4位逆元計算部117相同。
4位逆元計算部116具備5次方計算部(圖24) 、 2位逆元計算部142(圖22) 、 2位乘法部143 (圖20) 、 2位乘法部144 (圖20)以及按位加部140。
而且,4位逆元計算部116對輸入數(shù)據(jù)X (4位)進(jìn)行在GF ( (2A2)A2)上的逆元計算,生成作為計算結(jié)果的輸出數(shù)據(jù)Y (4位)。此時,Y=XA ( — l)in GF ( (2A2) A2)
這里的輸入數(shù)據(jù)X與在隨機(jī)化8位逆元計算部101的處理說明(圖14)中向4位逆元計算部116輸入的輸入數(shù)據(jù)C相對應(yīng),輸出數(shù)據(jù)Y與在隨機(jī)化8位逆元計算部101的處理說明(圖14)中4位逆元計算部116的輸出數(shù)據(jù)G相對應(yīng)。4位逆元計算部116進(jìn)行下面的處理。(1) 首先,4位逆元計算部116將輸入數(shù)據(jù)X從高位開始按每2位進(jìn)行分割,分割成XO、 XI。而且,4位逆元計算部116將分割后的X0輸入到按位加部140、 5次方計算部141、 2位乘法部143。此外,4位逆元計算部116將分割的其他X1輸入到按位加部140、 5次方乘法部141。
(2) 5次方計算部141對輸入的XO、 XI進(jìn)行GF ( (2A2) A2)上的5次方計算,求得其結(jié)果A (2位)。這里,對數(shù)據(jù)X (4位)在GF ( (2A2)A2)上進(jìn)行了 5次方運(yùn)算的結(jié)果成為A,所述數(shù)據(jù)X (4位)是把XO、 XI按該順序結(jié)合而成的。艮P:
A=XA5 in GF ( (2、)八2)
此外,通過AA3=XA15=1 in GF ( (2、) 、) , A的位數(shù)是3, A也是GF (2A2)上的元素。因此,A變成2位數(shù)據(jù)。關(guān)于5次方計算部141的詳細(xì)內(nèi)容,將在后面加以說明。
(3) 然后,圖21的4位逆元計算部116具有的2位逆元計算部142對5次方計算部141在上述(2)中所求得的上述A (2位)進(jìn)行GF (2、)上的逆元計算,生成數(shù)據(jù)B (2位)并輸出。此時,
B=AA ( — l) in GF (2A2)
關(guān)于2位逆元計算部142的詳細(xì)內(nèi)容,將在后面加以說明(圖22)。
(4) 然后,基于以上的計算結(jié)果,圖21的4位逆元計算部116具有的2位乘法部143、2位乘法部144根據(jù)由2位逆元計算部142在上述(3)生成的上述B (2位)及在上述(1)分割得到的XO、 XI,分別通過下面的計算求得YO (2位)、Yl (2位)。
YO=XOXB in GF (2、)
Yl= (X0+X1) XB in GF (2、)
而且,4位逆元計算部116將4位數(shù)據(jù)Y作為4位逆元計算部116的輸出來輸出,該4位數(shù)據(jù)Y是把上述求得的YO、 Yl從高位開始按該順序連結(jié)而成的。
這里,GF (2A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加運(yùn)算部140) 。 GF (2A2)上的乘法運(yùn)算(2位乘法部143、 144)的詳細(xì)內(nèi)容和前面的說明相同(圖20的2位乘法部21)。
接著,利用這樣的圖21的4位逆元計算部116 (圖21)對2位逆元計算部142的詳細(xì)內(nèi)容進(jìn)行說明。<2位逆元計算部142>
圖22是表示2位逆元計算部142的結(jié)構(gòu)的框圖。2位逆元計算部142具有按位加部142a。
而且,2位逆元計算部142對輸入數(shù)據(jù)X (2位)進(jìn)行GF (2A2)上的逆元計算,將計算結(jié)果作為Y (2位)來輸出。此時,Y=XA ( — 1) in GF (2A2)
2位逆元計算部142將X的高位1位、低位1位分別分割為X0、 XI,通過下面的計算式,求得Y0、 Yl。Y0=X0Y1=X1+X0
然后,將Y0、 Y1依照該順序結(jié)合而成的2位數(shù)據(jù)Y作為輸出。然后,對在隨機(jī)化8位逆元計算部101 (圖14)的內(nèi)部使用的隨機(jī)化4位逆元計算部114的詳細(xì)內(nèi)容進(jìn)行說明。<隨機(jī)化4位逆元計算部114>
圖23是表示隨機(jī)化4位逆元計算部114 (圖14)的結(jié)構(gòu)的框圖。隨機(jī)化4位逆元計算部114 (圖14、圖23)具備5次方計算部150 (圖24) 、 5次方計算部152 (圖24) 、 2位校正項計算部151 (圖25) 、 4次方計算部155 (圖26) 、 4次方計算部157 (圖26) 、 2位輸出計算部158(圖27) 、 2位輸出計算部159 (圖27)、隨機(jī)化2位逆元計算部154 (圖28) 、 2位逆元計算部156以及按位加部153。
而且,隨機(jī)化4位逆元計算部114是如下的處理利用隨機(jī)數(shù)R (4位)對輸入數(shù)據(jù)X (4位)進(jìn)行隨機(jī)化4位逆元計算處理,生成輸出數(shù)據(jù)Y (4位)。這里的輸入數(shù)據(jù)X相當(dāng)于隨機(jī)化8位逆元計算部101的說明(圖14)中的向隨機(jī)化4位逆元計算部114輸入的輸入數(shù)據(jù)D,隨機(jī)數(shù)R相當(dāng)于C。此外,輸出數(shù)據(jù)Y相當(dāng)于E。隨機(jī)化4位逆元計算部114在GF ( (2、)、)上進(jìn)行與隨機(jī)化8位逆元計算部101同樣的計算處理。但是,在隨機(jī)化8位逆元計算部101中,雖然將17次方計算部112的輸出數(shù)據(jù)C還輸入到隨機(jī)化4位逆元計算部114,但是隨機(jī)化4位逆元計算部114不將其輸出C輸入到隨機(jī)化2位逆元計算部154。此外,輸入到各個處理部的數(shù)據(jù)的數(shù)據(jù)大小、乘方運(yùn)算時的指數(shù)等不同。除去上述的內(nèi)容,由于其處理過程和隨機(jī)化8位逆元計算部101相同,這里就不做詳細(xì)說明。
36另外,隨機(jī)化4位逆元計算部114的處理是如下的處理對用屏蔽值
R進(jìn)行了屏蔽的輸入數(shù)據(jù)X=M ( + ) R進(jìn)行合成域GF ( (2A2) A2)上的逆元計算,生成用屏蔽值R^ (_1)屏蔽了的處理結(jié)果Y=XA ( — l) ( + )RA ( — 1)。此時,XA ( — l)是X在GF ( (2A2) A2)中的逆元,屏蔽值RA ( — 1)是R在GF ( (2A2) A2)中的逆元。<5次方計算部141、 150、 152>
圖24是表示5次方計算部141X (5次方計算部141 (圖21) 、 5次方計算部150 (圖23) 、 5次方計算部152 (圖23))的結(jié)構(gòu)的框圖。
5次方計算部141X具備2位乘法部150b、 2位乘法部150c、 2位乘法部150d、按位加部150a、按位加部150e。這里,2位乘法部150b、 2位乘法部150c、及2位乘法部150d的結(jié)構(gòu)分別和圖20中示出的2位乘法部21相同。
而且,5次方計算部141X (5次方計算部141、 150、 152)對輸入數(shù)據(jù)XO (2位)、XI (2位)進(jìn)行GF ( (2A2) A2)上的5次方計算處理,輸出輸出數(shù)據(jù)Y (2位)。這里的輸入數(shù)據(jù)X0、X1相當(dāng)于4位逆元計算部116的說明(圖21)中的XO、 XI,相當(dāng)于隨機(jī)化4位逆元計算部114的說明(圖23)中的XO、 X1及R0、 Rl。此外,輸出數(shù)據(jù)Y相當(dāng)于4位逆元計算部116的說明(圖21)中的A,相當(dāng)于隨機(jī)化4位逆元計算部114的說明(圖23)中的A及C。
此外,在將輸入數(shù)據(jù)XO、 X1依照該順序結(jié)合的4位數(shù)據(jù)作為X時,輸出數(shù)據(jù)Y如下所示。
Y=XA5 in GF ( (2、) "2)
這里,由于丫、= XA15=1 in GF ( (2A2) A2) , Y的位數(shù)是3, Y是GF (2A2)上的元素。因此,Y成為2位的數(shù)據(jù)。
另外,由于5次方計算部141X (5次方計算部141 (圖21) 、 5次方計算部150 (圖23) 、 5次方計算部152 (圖23))的處理流程和己經(jīng)說明的17次方計算部IIOX(圖15、 17次方計算部110、 17次方計算部112)基本相同,因此省略其詳細(xì)說明。此外,按位加部150a、 150e、 110e(圖24)是對每個位的按位加運(yùn)算,2位乘法部150b、 2位乘法部150c、 2位乘法部150d (圖24)的處理和已經(jīng)說明的2位乘法部21 (圖20)相同。
<2位校正項計算部151>圖25是表示2位校正項計算部151 (圖23)的結(jié)構(gòu)的框圖。
2位校正項計算部151具備2位乘法部151a(圖20)、2位乘法部151b(圖20)和按位加部151c。
而且,2位校正項計算部151對輸入數(shù)據(jù)XO (2位)、XI (2位)、RO (2位)、Rl (2位)進(jìn)行在GF ( (2A2) 1)上的校正項計算處理,輸出輸出數(shù)據(jù)B (2位)。.這里的輸入數(shù)據(jù)XO、 XI、 RO、 Rl相當(dāng)于隨機(jī)化4位逆元計算部114的說明(圖23)中的XO、 XI、 RO、 Rl。
這里,由于2位校正項計算部151的處理流程和已經(jīng)說明的4位校正項計算部111 (圖16)基本相同,因此省略詳細(xì)說明。此外,按位加部151c是對每個位的按位加運(yùn)算,2位乘法部151a、 151b的處理和己經(jīng)說明的2位乘法部21 (圖21)相同。
<4次方計算部155、 157>
圖26是表示4次方計算部155X (4次方計算部155、 4次方計算部157:圖23)的結(jié)構(gòu)的框圖。
4次方計算部155X具備按位加部155a。
而且,4次方計算部155X對輸入數(shù)據(jù)X(4位)進(jìn)行合成域GF( (2A2)A2)上的4次方運(yùn)算,將其計算結(jié)果作為Y (4位)輸出。此時,對輸入數(shù)據(jù)X進(jìn)行合成域GF ( (2A2) A2)上的4次方計算的結(jié)果成為Y。艮P,
Y=XA4 in GF ( (2、) A2)
此外,這里的輸入數(shù)據(jù)X相當(dāng)于隨機(jī)化4位逆元計算部114的處理說明(圖23)中的數(shù)據(jù)X或R中的某一個。輸出數(shù)據(jù)Y相當(dāng)于隨機(jī)化4位逆元計算部114的處理說明(圖23)中的數(shù)據(jù)F或H中的某一個。
而且,4次方計算部155X將輸入數(shù)據(jù)X從高位開始按每2位進(jìn)行分割,分割成XO、 Xl之后,并在GF (2、)上進(jìn)行下面的計算,求得YO、Yl。
YO=XO
Y1=X0+X1 in GF (2"2)
這里的GF (2A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加部155a)。而且,4次方計算部155X將求得的YO、 Yl按該順序結(jié)合來作成8位數(shù)據(jù)Y。該Y就是4次方計算部155、 157的輸出數(shù)據(jù)。
<2位輸出計算部158、 159>圖27是表示2位輸出計算部158X (2位輸出計算部158、 2位輸出計算部159:圖23)的結(jié)構(gòu)的框圖。
2位輸出計算部158X具備2位乘法部158a(圖20) 、 2位乘法部158b(圖20) 、 2位乘法部158d (圖20)、按位加部158c及按位加部158e。
而且,2位輸出計算部158X利用上述的各部分對輸入數(shù)據(jù)E(2位)、G (2位)、F (2位)、H (2位)進(jìn)行2位輸出計算處理,輸出輸出數(shù)據(jù)Y。這里的輸入數(shù)據(jù)E、 G、 F、 H,分別與在隨機(jī)化4位逆元計算部114的處理說明(圖23)中向2位輸出計算部158輸入的輸入數(shù)據(jù)E、 G、 F0、H0對應(yīng),此外,分別與向2位輸出計算部159輸入的輸入數(shù)據(jù)E、 G、 Fl、Hl對應(yīng)。此外,輸出數(shù)據(jù)Y與在隨機(jī)化4位逆元計算部114的處理說明(圖23)中的2位輸出計算部158的輸出數(shù)據(jù)Y0對應(yīng),此外,與2位輸出計算部159的輸出數(shù)據(jù)Y1對應(yīng)。2位輸出計算部158X在GF (2、)上進(jìn)行下面的計算,求得Y,并輸出Y。
Y=EXF+GXF+EXH in GF (2、)
這里,GF (2、)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加部158c、 158e) 。 GF (2、)上的乘法運(yùn)算(2位乘法部158a、 2位乘法部158b、2位乘法部158d)和己經(jīng)說明的2位乘法部21 (圖23)相同。
<隨機(jī)化2位逆元計算部154>
圖28是表示隨機(jī)化2位逆元計算部154的結(jié)構(gòu)的框圖。隨機(jī)化2位逆元計算部154具備按位加部154c。
而且,隨機(jī)化2位逆元計算部154是進(jìn)行如下的處理利用上述按位加部154c對輸入數(shù)據(jù)X (2位)進(jìn)行隨機(jī)化2位逆元計算處理,生成輸出數(shù)據(jù)Y(2位)。這里的輸入數(shù)據(jù)X相當(dāng)于隨機(jī)化4位逆元計算部114的說明(圖23)中向隨機(jī)化2位逆元計算部154 (圖23、圖28)輸入的輸入數(shù)據(jù)D。此外,輸出數(shù)據(jù)Y相當(dāng)于E。隨機(jī)化2位逆元計算部154將X的高位1位作為XO,低位1位作為XI,通過下面的計算式,計算YO、Yl。<formula>formula see original document page 39</formula>
這里,GF (2A2)上的加法運(yùn)算是按位加運(yùn)算(按位加運(yùn)算部154c)。而且,輸出把YO、 Yl從高位開始依次按該順序結(jié)合的數(shù)據(jù)Y (2位)。另外,隨機(jī)化2位逆元計算部154的處理是如下的處理對用屏蔽值
R進(jìn)行了屏蔽的輸入數(shù)據(jù)X=M ( + ) R進(jìn)行合成域GF (2A2)上的逆元計算,生成用屏蔽值R ( — l)屏蔽了的處理結(jié)果Y=XA ( —1) (+)RA(_1)。此時,XA (—l)是GF (2A2)上的X的逆元,屏蔽但R: ( — 1)是R在GF (2A2)上的逆元。
接著,對在加密部la的內(nèi)部使用的隨機(jī)數(shù)更新部17 (圖9)的詳細(xì)內(nèi)容進(jìn)行說明。如前所述,隨機(jī)數(shù)更新部17 (圖9)對隨機(jī)數(shù)暫時存儲部16 (圖9、圖38)中存儲的隨機(jī)數(shù)進(jìn)行更新。
<隨機(jī)數(shù)更新部17>
圖29是表示隨機(jī)數(shù)更新部17的結(jié)構(gòu)的框圖。
隨機(jī)數(shù)更新部17具備合成域變換部170、 8位逆元計算部171及擴(kuò)張域變換兼矩陣變換部172。
而且,隨機(jī)數(shù)更新部17對輸入隨機(jī)數(shù)X (8位)進(jìn)行隨機(jī)數(shù)更新處理,將更新隨機(jī)數(shù)Y (8位)作為輸出數(shù)據(jù)輸出。這里的輸入數(shù)據(jù)X與在加密部la的說明(圖9)中隨機(jī)數(shù)更新部17的輸入隨機(jī)數(shù)Rn (8位)相對應(yīng),輸出數(shù)據(jù)Y與在加密部la的說明中隨機(jī)數(shù)更新部17的輸出隨機(jī)數(shù)Rn+l(8位)相對應(yīng)。隨機(jī)數(shù)更新部17進(jìn)行下面的處理。
(1) 首先,合成域變換部170將輸入數(shù)據(jù)X從高位開始按每1位進(jìn)行分割,分割出X7、 X6、…、X0,進(jìn)行前述的數(shù)學(xué)式1的矩陣計算,求得A7、 A6、…、A0。并且,合成域變換部170將A7、 A6、…、A0從高位開始按該順序連結(jié)的8位數(shù)據(jù)作為A。
(2) 而且,接著,8位逆元計算部171對在上述(1)中生成的上述A進(jìn)行在GF ( ( (2、) A2)、)上的逆元計算處理,求得B (8位)。此時,
B=AA ( — 1) inGF ( ( (2八2) '2) '2)
關(guān)于GF ( ( (2A2) A2) A2)上的逆元計算處理的詳細(xì)內(nèi)容,將在后面加以說明。
(3) 而且,擴(kuò)張域變換兼矩陣變換部172將在上述(2)中計算出的B從高位開始按每1位進(jìn)行分割,分割成B7、 B6、…、B0,進(jìn)行上述數(shù)學(xué)式2中的矩陣計算,求得Y7、 Y6、…、Y0。
而且,擴(kuò)張域變換兼矩陣變換部172將通過上述處理求得的Y7、
40Y6、…、Y0按照該順序連結(jié)成的8位數(shù)據(jù)作為Y,作為隨機(jī)數(shù)更新部17的輸出數(shù)據(jù)進(jìn)行輸出。
接著,對隨機(jī)數(shù)更新部17中用到的8位逆元計算部171的詳細(xì)內(nèi)容進(jìn)行說明。
<8位逆元計算部171〉
圖30是表示8位逆元計算部171 (圖29)的結(jié)構(gòu)的框圖。
8位逆元計算部171(圖30、圖29)具備17次方計算部171b(圖15)、4位逆元計算部171c (圖21) 、 4位乘法部171d (圖19) 、 4位乘法部171e (圖19)及按位加部171a。
然后,8位逆元計算部171對輸入數(shù)據(jù)X (8位)進(jìn)行GF ( ( (2A2)A2)、)上的逆元計算,生成計算結(jié)果即輸出數(shù)據(jù)Y (8位)。此時,
Y=XA ( — 1) inGF ( ( (2A2) A2) A2)
這里的輸入數(shù)據(jù)X與在隨機(jī)數(shù)更新部17的處理說明(圖29)中向8位逆元計算部171輸入的輸入A相對應(yīng),輸出數(shù)據(jù)Y與8位逆元計算部171的輸出數(shù)據(jù)B相對應(yīng)。8位逆元計算部171進(jìn)行下面的處理。
(1) 8位逆元計算部171將輸入數(shù)據(jù)X從高位開始按每4位進(jìn)行分割,分割為XO、 XI。然后,8位逆元計算部171將分割的X0輸入按位加部171a、 17次方計算部171b、 4位乘法部171d。此外,8位逆元計算部171將分割的XI輸入到按位加部171a、 17次方計算部171b。
(2) 然后,17次方計算部171b對輸入到該17次方計算部171b的XO、 X1進(jìn)行GF ( ( (2、) A2) A2)上的17次方計算,求得其結(jié)果A (4位)。這里,對將XO、 XI依照該順序結(jié)合而成的數(shù)據(jù)X (8位)進(jìn)行了GF ( ( (2A2) A2) A2)上的17次方運(yùn)算的結(jié)果,成為A。艮P
A=XA17 in GF ( ( (2八2) A2) A2)
此外,根據(jù)八、5= XA255=1 in GF ( ( (2、) A2) A2) , A的位數(shù)是15,因此A是GF ( (2A2) 1)上的元素。因此,A成為4位數(shù)據(jù)。有關(guān)17次方計算部171b的詳細(xì)內(nèi)容,和已經(jīng)說明的17次方計算部110X(17次方計算部110 (圖16) 、 17次方計算部112 (圖16):圖15)相同。
(3) 接著,4位逆元計算部171c (圖30)對上述(2)中生成的上述A (4位)進(jìn)行GF ( (2A2) A2)上的逆元計算,生成數(shù)據(jù)B (4位),并輸出。此時,B=AA ( — 1) inGF ( (2A2) A2)
4位逆元計算部171c的詳細(xì)內(nèi)容和已經(jīng)說明的4位逆元計算部116(圖21)相同。
(4)然后,8位逆元計算部171根據(jù)在上述(3)中生成的上述B (4位)及在上述(1)中分割的X0、 XI,經(jīng)過下面的計算,分別通過4位乘法部171d、 4位乘法部171e,求得下面的Y0 (4位)、Yl (4位)。
Y0=X0XB in GF ( (2、) A2)
Yl= (X0+X1) XB in GF ( (2"2)、)
然后,8位逆元計算部171將上述YO、 Yl從高位開始按該順序連結(jié)而成的S位數(shù)據(jù)Y作為該8位逆元計算部171的輸出來輸出。
GF ( (2A2) A2)上的加法運(yùn)算是對每個位的按位加運(yùn)算(按位加部171a) 。 GF ( (2A2) 1)上的乘法運(yùn)算(4位乘法部171d、 171e)的詳細(xì)內(nèi)容跟前面己經(jīng)說明的相同(圖19的4位乘法部20)。
以上,說明了加密裝置1的全部詳細(xì)動作。
接著,對隨機(jī)化S—boxl20a 120p(圖13)保持與AES加密的S—box之間的兼容性、以及處理過程中的數(shù)據(jù)被屏蔽的情況加以說明。<隨機(jī)化8位逆元計算部101的原理〉
隨機(jī)化8位逆元計算部101 (圖14)將合成域GF ( ( (2、) A2)、)上的元素X二M+R (圖38中ID8t:Tl (V8t) +T1 (Rt) 、 M=T1 (V8t)、R=T1 (Rt))作為輸入,輸出Y=MA( —1) + R ( — l)(圖38中的OD8t=Tl(V8t) A ( — l) +T1 (Rt) A ( — 1))。這里,MA ( — 1) 、 RA ( — 1)分別表示M、 R的在GF ( ( (2A2) A2)、)中的逆元。下面,對此進(jìn)行說明。
17次方計算部110 (圖14、圖15)的輸出值A(chǔ)利用擴(kuò)張域的性質(zhì)等,變成如下形式。A=XA17
=(M+R) 、7
=(M+R) X (M+R) 、6
=(M+R) X (MA16+RA16)
=Mfl 7+Ra1 7+MAl 6 X R+M X R、 6這里,由于GF ( ( (2A2) A2) A2)是將GF ( (2、) A2)用不可約多
42項式xA2+x+1100 (二進(jìn)制數(shù))進(jìn)行2次展開的,所以如果把a(bǔ)作為xA2+x+1100 (二進(jìn)制數(shù))的根,則M、 R就能夠表示為如下。
M: M0X a +M1
R: R0X a +R1
此時,如果使用擴(kuò)張域的性質(zhì)等,則能夠如下計算出MA16XR+MXR、6。
(MOX a+M1) A16X (RO X a+R1 ) + (MO X a+M1 ) X (ROXa+R1) 、6
={MOX a + (M0+M1) }X (ROX a +R1 ) + (MOX a +M1) X {ROXa + (R0+R1) }
=(MO+RO) XR1+ (Ml+Rl) XRO
這與在圖14的隨機(jī)化8位逆元計算部101的處理中的X0XR1+X1XRO相等。因此,能夠表示為
A=MA17+RA17+X0XR1+X1 XRO
但是,由于4位校正項計算部111 (圖14、圖16)計算B:X0XR1+X1XRO,結(jié)果,向隨機(jī)化4位逆元計算部114 (圖14、圖23)輸入的輸入數(shù)據(jù)D是
D=A+B=MA17+RA17
隨機(jī)化4位逆元計算部114如后面所述進(jìn)行如下處理對于輸入D=MA17+RA17、 C=RA17,輸出輸出E二M" ( — 17) +RA ( — 17)。此時,4位輸出計算部118、 119相當(dāng)于分別分為高位4位和低位4位來進(jìn)行以下的計算。
Y=EXF+GXF+HXE={MA ( — 17) +RA ( — 17) }X (M+R) 、6+RA ( — 17) X (M+R)A16+RA16X{MA ( — 17) +RA ( — 17) }
計算上述的數(shù)學(xué)式,則Y^Nf (_1) +RA ( — l),可知隨機(jī)化8位逆元計算部101進(jìn)行將X二M+R變換為Y=MA ( — l) +RA ( — 的處理。
然后,作為這樣地將X^M+R變換為Y=MA ( — l) +RA ( — l)的隨機(jī)化8位逆元計算部101的一部分的隨機(jī)化4位逆元計算部114 (圖14、圖23),由于在GF ( (2A2) A2)上進(jìn)行和上述同等的處理,因此和上述一
43樣的說明也成立。因此,可知對于輸入D= MA17+RA17和C=RA17的輸入, 輸出E= MA ( — 17) +R ( — 17)。進(jìn)一步,對于隨機(jī)化4位逆元計算部 114也是同樣的,這一點(diǎn)可通過對X、 R的全部的值的組合實(shí)際進(jìn)行計算 來確定。
通過以上的處理,說明了隨機(jī)化8位逆元計算部101進(jìn)行如下的處理 將合成域GF ( ( (2A2) A2) A2)上的元素X二M+R變換為Y=MA ( — l) +RA (—1)。
<隨機(jī)化S—boxl20a 120p的動作原理>
接著,對隨機(jī)化S — boxl20a 120p (圖13、圖12)的動作原理進(jìn)行說 明。在圖13中,若設(shè)X二M+R (圖38中IC8t=V8t+Rt, M=V8t, R=Rt), 則合成域變換部100的輸出就變?yōu)锳=T (X) =T (M) +T (R)(圖38中 的ID8t=Tl (V8t) +T1 (Rt))。這里,T (X)(圖38中的Tl)是將 GF (2A8)上的元素變換成合成域GF ( ( (2A2)、)、)上的元素的結(jié)果。 同樣地,其他的合成域變換部103將R (圖38中的Rt)變換成S=T (R) (圖38中的RDt二Tl (Rt))。
然后,如先前的說明,隨機(jī)化8位逆元計算部101根據(jù)A=T (M) +T (R) 、 S=T (R)的輸入,生成B:T (M) A ( — 1) +T (R) A ( — 1)(圖 38中的OD8戶Tl (V8t) A ( — l) +T1 (Rt) ( — l))。然后,擴(kuò)張域變 換兼矩陣變換部102 (圖13)在將合成域GF ( ( (2A2) A2) A2)上的元素 變換為GF (2A2)上的元素后,將進(jìn)行了 AES加密的S — box中定義的仿 射變換中的僅矩陣運(yùn)算部分的結(jié)果進(jìn)行輸出。即,C二Mat (MA ( — ) +Mat (RA (_1))被輸出(圖38中的Mat (V8f ( — 1) ) +Mat (Rf (— 1)))。
這里,Mat (X)是表示對X進(jìn)行上述矩陣運(yùn)算即AES加密的S—box 中定義的仿射變換中的矩陣運(yùn)算的結(jié)果。然后,按位加部104 (圖13)將 輸入的上述C和常數(shù)01100011 (二進(jìn)制數(shù))進(jìn)行GF (2A8)上的加法運(yùn)算, 該常數(shù)由AES加密的S — box定義的仿射變換來定義的常數(shù)加法運(yùn)算中的 常數(shù)。即,按位加部104的輸出結(jié)果Y成為Y= {Mat (Nf ( — l)) +01100011}+Mat(RA( — 0)(圖38中的Mat(V8f( — 1 ) )+01100011+Mat (RtA ( — l))。上式中的"部分即是對于M進(jìn)行AES加密的S—box變 換的結(jié)果,能夠表示為Y=S —box[M]+ Mat (R八(一l))(圖38中的S—box[V8t]+Mat (RtA ( — l)))。這里的S—box[X]表示對X進(jìn)行AES 加密的S—box變換的結(jié)果。 <加密裝置1的動作原理>
接著,加密裝置1對保持與AES加密算法之間的兼容性的情況加以說明。
首先,在圖9中,明文數(shù)據(jù)P (128位)通過隨機(jī)數(shù)R0 (8位)被屏 蔽。屏蔽處理部10的處理結(jié)果A成為A=P+ (R0, R0,…,R0)。接著, 根據(jù)AddRoundKey 11的處理結(jié)果變換為B=P+RK0+ (R0, R0,…,R0)。 這里,P+RK0是未屏蔽時的AddRoundKey的處理結(jié)果,如果把P+RK0設(shè) 為M,貝U B=M+ (R0, R0,…,R0)。接著,對于n=l 9,進(jìn)行隨機(jī)化 Round—nl2處理,對于此,參照圖10進(jìn)行說明。
在圖10中,若把未屏蔽時的隨機(jī)化Round—n12的輸入值(即原值) 設(shè)為M,則輸入X表示為X=M+(R0, R0,…,R0)。隨機(jī)化SubBytes120 如圖12所示,是由隨機(jī)化S—box構(gòu)成的處理?,F(xiàn)在,如果將M從高位開 始按每8位進(jìn)行分割,分割成M0、 Ml、…、M15,則
X= (M0、 Ml、…、M15) + (R0、 R0、…、R0)
這里,根據(jù)先前的隨機(jī)化S—boxl20a 120p的動作原理說明,隨機(jī)化 SubBytes120的輸出Y表示為Y= (S —box岡,S—box[Ml],…,S — box[M15]) + (Mat[R(f ( —1) ], Mat[R(f ( — 1 )],…,Mat[R(T ( — 1 )])。 即,
Y= SubBytes (M) + (Mat[RCT ( — 1 ) ], Mat[R0A ( — 1) ], ..., Mat[R(T (一l)])
艮口,隨機(jī)化SubBytes120的輸出數(shù)據(jù)是用(Mat[R(f ( — 1) ], Mat[R(T (—1)],…,Mat[R(T( —1)])進(jìn)行了屏蔽的數(shù)據(jù)。接著,關(guān)于ShiftRows121 的輸出、MixColumnl22的輸出,則可知都通過直接執(zhí)行AES加密算法標(biāo) 準(zhǔn)中規(guī)定的ShiftRows處理、MixColumn處理,能夠得到用(Mat[R(T( — 1) ], Mat[R(T ( — 1)〗,…,Mat[R(f ( — 1)])屏蔽了的ShiftRows處理 結(jié)果、MixColumn處理結(jié)果。因此,如果隨機(jī)化Round—n12處理的輸入值 己用R進(jìn)行了屏蔽,則其輸出值以用Mat[R(T ( —1)]屏蔽了的狀態(tài)輸出。 因此,作為Rh Mat[R(T ( — l)],如果執(zhí)行『1的隨機(jī)化Round—nl2處 理,則用Rl屏蔽了的狀態(tài)下的輸入數(shù)據(jù)則輸出用R2= Mat[RlA ( — l)]屏蔽了的狀態(tài)的輸出數(shù)據(jù)。另外,Mat[RCT (—l) ]、 Mat[RlA ( — l)]的 處理是圖29的隨機(jī)數(shù)更新部處理。如果反復(fù)進(jìn)行以上的直到隨機(jī)化 Round—10 13的處理,則作為隨機(jī)化Round—10 13 (圖9、圖11)的輸出數(shù) 據(jù),輸出用Rl一Mat[R10八(一1)]對密文C進(jìn)行了屏蔽的狀態(tài)的數(shù)據(jù), 所述密文C是對明文P進(jìn)行了 AES加密處理的結(jié)果。因此,在中斷屏蔽 部14中,通過用R11進(jìn)行按位加處理來得到密文C (圖9)。
此外,從前面的動作原理的說明也可知,加密處理過程的中間數(shù)據(jù)始 終被用根據(jù)隨機(jī)數(shù)R0或R0通過規(guī)定的運(yùn)算算出的值實(shí)施了屏蔽。因此, 通過電力分析攻擊來對加密裝置1進(jìn)行密鑰分析變得困難。
圖38是表示加密裝置1及加密裝置1具有的部分之間的包含關(guān)系、 它們的整體、部分之間的輸入輸出數(shù)據(jù)的圖。參照圖38,整理上述說明中 所示的它們的包含關(guān)系及輸入輸出數(shù)據(jù)。
加密部la(圖9、圖31)被輸入明文U,輸出密文C。
這里,圖38所示的Vt (t=l~ll)的標(biāo)記是對明文U實(shí)施了直到輪t 為止的處理的中間數(shù)據(jù)。加密部la通過直到輪(t一l)為止的處理,生成 將該Vt用隨機(jī)數(shù)Rt進(jìn)行了屏蔽的隨機(jī)化輸出數(shù)據(jù)OAt=Vt+{Rt, Rt,…, Rt}。
隨機(jī)數(shù)暫時存儲部16 (圖9)將隨機(jī)數(shù)RO提供給屏蔽處理部10,將 隨機(jī)數(shù)Rl 隨機(jī)數(shù)R10提供給具有隨機(jī)化8位逆元計算部101的隨機(jī)化S 一boxl21X,將隨機(jī)數(shù)Rll提供給中斷屏蔽處理部14。
隨機(jī)化Round一tl2X (圖9、圖10、圖11)在各輪處理中,分別被輸 AlAt=Vt+{Rt, Rt,…,Rt}(圖9中的B或D、圖10及圖11中的X) 和隨機(jī)數(shù)Rt (圖9的Rn、圖10的Rn、圖11的R10),將對所輸入的IAt 表示的作為原值的中間值Vt進(jìn)行了第t輪處理后的中間數(shù)據(jù)V (t+l), 用隨機(jī)數(shù)R(t+l)進(jìn)行屏蔽而得到OAt^V(t+l)+(R(t+l) , R(t+1),…, R (t+l) },并輸出該得到的OAt。這里,隨機(jī)化輸出數(shù)據(jù)OAt的去除了 屏蔽值的影響的原值是被實(shí)施了第t輪處理的上述中間數(shù)據(jù)V。
隨機(jī)化SubBytesl20X (圖10、圖11、圖12)被輸入作為向隨機(jī)化 Round—tl2X輸入的輸入數(shù)據(jù)IAt的IB,IAt:Vt+(Rt, Rt,…,Rt }(圖10 及圖11的X、圖12的X)及隨機(jī)數(shù)Rt (圖12的R、圖10的Rn、圖11 的R10),輸出被實(shí)施了第t輪SubBytes處理的OBt-S—Box( Vt)+{ R(t十1),R(t+1),…,R(t+1)}(圖10及圖11的A、圖12的Y)。
隨機(jī)化S—Boxl21X (圖12、圖13)中被輸入向隨機(jī)化SubBytes輸 入的輸入數(shù)據(jù)IBt被分割的8位IC8t=IB8t=V8t+Rt (圖12所示的X[O]、 X[l]、、或X[15]中任一個、圖13的X)及隨機(jī)數(shù)Rt (圖13的R、圖 12的R),輸出對該8位進(jìn)行了第t輪S—Box處理的OC8t=S—box (V8t) +R (t+l)(圖12的Y[O]、 Y[l]、…、或Y[15]中任一個、圖13的Y)。
然后,隨機(jī)化8位逆元計算部101 (圖13、圖14),設(shè)基于數(shù)學(xué)式l 的矩陣計算(參照合成域變換部100及合成域變換部103的說明)由標(biāo)記 Tl表示,被輸入基于輸入到隨機(jī)化S — box的上述IC8t的ID8t=Tl (IC8t) =T1 (V8t) +T1 (Rt)和基于隨機(jī)數(shù)暫時存儲部16的隨機(jī)數(shù)Rt的RDt41 (Rt)(圖13的S、圖14的R),根據(jù)這些輸入把M+P運(yùn)算為MA ( —1) +PA ( — 1),并輸出作為運(yùn)算結(jié)果的OD8t二Tl(V8t)A (一l) +Tl(Rt)A (— 1)(圖13的B、圖14的Y)。
這里,隨機(jī)化S — Boxl21X (圖13、圖12)基于該隨機(jī)化8位逆元計 算部101的輸出OD8t=Tl(V8t)A ( — l) +Tl(Rt)A ( — 1)(圖13的B、圖 14的Y),利用擴(kuò)張域變換兼矩陣變換部102和按位加部104進(jìn)行計算, 求出OC8t:(Mat (V8tA ( — l) ) + Mat (Rf ( — l) ) }+01100011={ Mat (V8f ( — l) ) + 01100011}+ Mat (RtA ( — l) ) =S—box (V8t) + Mat (Rf ( — l) ) =S —box (V8t) +R (t+1),并輸出所求得的該OC8t (圖 12的Y
、 Y[l]、…、或Y[15]中任一個、圖13的Y)。
然后,隨機(jī)化SubBytes 120X (圖12、圖10、圖11)將由各個隨機(jī)化 S—boxl20X (隨機(jī)化S—boxl20a 隨機(jī)化S—boxl20p)輸出的該OC8t進(jìn) 行連結(jié),輸出輸出數(shù)據(jù)OBt=S—box(Vt)+{R(t+l) , R(t+1),…R(t+1) } (圖10及圖11的A,圖12的Y)。
由此,隨機(jī)化Round一tl2X根據(jù)輸出的OBt,例如進(jìn)行ShiftRows處理 等,計算OAt:V (t+1) +{R (t+l) , R (t+l),,…R (t+l) },將計算 出的OAt作為隨機(jī)化RoimdJ12X的下一輪及第t+l輪的隨機(jī)化輸入數(shù)據(jù) IAt,輸入到隨機(jī)化Round—tl2X。
由此,在中斷屏蔽處理部14中,經(jīng)由t二10時的隨機(jī)化Round一tl2X, 被輸入OAt=OA10=Vll+{Rll, Rll,…,Rll},此外,從隨機(jī)數(shù)暫時存 儲部16被輸入隨機(jī)數(shù)Rll (圖9的E,圖11的Y),通過對被輸入的該
47OA10=V11+{R11, Rll,…,Rll)用隨機(jī)數(shù)Rll進(jìn)行按位加運(yùn)算,輸出密 文OVll。
通過以上處理,利用密鑰(RK0等)從明文U (圖38)生成密文C (圖 38)的加密裝置1,其特征在于,具備隨機(jī)數(shù)生成部15,生成隨機(jī)數(shù)R0; 隨機(jī)化輸入數(shù)據(jù)生成部(屏蔽處理部10 (圖9、圖38、 AddRoundKeyll
(圖9)、隨機(jī)化Round—n12中的合成域變換部100 (圖13)、擴(kuò)張域變 換兼矩陣變換部102 (圖13)、按位加部104 (圖13)),接收上述明文 U,將根據(jù)上述隨機(jī)數(shù)RO決定的預(yù)定的輸入屏蔽值T1 (Rt)和對上述明 文U用上述密鑰(RK0等)進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)T1 (V8t)相加, 生成隨機(jī)化輸入數(shù)據(jù)T1 (V8t) +T1 (Rt);隨機(jī)化8位逆元計算部101, 接收由上述隨機(jī)化輸入數(shù)據(jù)生成部生成的上述隨機(jī)化輸入數(shù)據(jù)ID8t和上 述輸入屏蔽值T1 (Rt) =RDt,將所接收的上述輸入屏蔽值的在預(yù)定的第1 有限域中的逆元即輸出屏蔽值T1 (Rt) A ( — 和上述輸入數(shù)據(jù)T1 (V8t) 的在該第1有限域中的逆元T1 (V8t) A ( — l)相加,生成隨機(jī)化輸出數(shù) 據(jù)T1 (V8t) A ( — 1) +T1 (Rt) A ( — 1);輸出部(隨機(jī)化Round—10 13 中的擴(kuò)張域變換兼矩陣變換部102 (圖13)及按位加部104 (圖13)、 ShiftRows131 (圖11) 、 AddRoundKey 132 (圖11)、中斷屏蔽處理部14
(圖9、圖38)),接收上述隨機(jī)化8位逆元計算部101生成的隨機(jī)化輸 出數(shù)據(jù)OD810 (t=10),根據(jù)所接收的該隨機(jī)化輸出數(shù)據(jù)生成上述密文C。 而且,該加密裝置l中,上述隨機(jī)化8位逆元計算部101包括17次 方計算部110、 112 (圖14),對上述隨機(jī)化輸入數(shù)據(jù)ID8t (圖14的X)、 上述輸入屏蔽值(Tl (Rt)、圖14的R)進(jìn)行預(yù)定的第1指數(shù)(17次方) 的乘方運(yùn)算,分別通過各乘方運(yùn)算生成第1乘方隨機(jī)化輸入數(shù)據(jù)(圖14 中的A)和第1乘方輸入屏蔽值(圖14的C) ; 4位校正項計算部111 (圖 14、圖16),根據(jù)上述隨機(jī)化輸入數(shù)據(jù)(圖14的X)和上述輸入屏蔽值
(圖14的R),生成預(yù)定的校正數(shù)據(jù)(圖14的B);按位加部U3 (圖 14),將生成的上述校正數(shù)據(jù)(圖14的B)與計算出的上述第1乘方隨機(jī) 化輸入數(shù)據(jù)(圖14的A)相加,生成副隨機(jī)化輸入數(shù)據(jù)(圖14的D); 隨機(jī)化4位逆元計算部114 (圖14、圖23),接收上述副隨機(jī)化輸入數(shù)據(jù)
(圖14的D)和上述第1乘方輸入屏蔽值(圖14的C),將該第一乘方 輸入屏蔽值(圖14的C)的在第2有限域中的逆元即屏蔽值(CT ( —1))
48與上述副隨機(jī)化輸入數(shù)據(jù)(圖14的D)的在上述第2有限域中的逆元即 輸出數(shù)據(jù)(DA ( — 1))相加,生成隨機(jī)化副輸出數(shù)據(jù)(圖14的E二DA (— 1) +CA ( — 1));其他部分,根據(jù)上述隨機(jī)化副輸出數(shù)據(jù)(圖14的E)、 上述隨機(jī)化輸入數(shù)據(jù)(圖14的X)、上述輸入屏蔽值(圖14的R)、上 述第1乘方輸入屏蔽值(圖14的C)來生成上述隨機(jī)化輸出數(shù)據(jù)(圖14 的Y)。
而且,這里,"其他部分"包括16次方計算部115、 117 (圖14、 圖17),對上述隨機(jī)化輸入數(shù)據(jù)(圖14的X)和上述輸入屏蔽值(圖14 的R)進(jìn)行預(yù)定的第2指數(shù)(16次方)的乘方計算,通過各個乘方計算, 分別生成第2乘方隨機(jī)化輸入數(shù)據(jù)(圖14的F)和第2乘方輸入屏蔽值(圖 14的H) ; 4位逆元計算部116 (圖15、圖21),對上述第l乘方輸入屏 蔽值(圖14的C)進(jìn)行在上述第2有限域上的逆元計算,生成上述第1 乘方輸入屏蔽值(圖14的C)的在上述第2有限域中的逆元即逆元乘方輸 入屏蔽值(圖14的G);其他部分(4位輸出計算部118及4位輸出計算 部119),根據(jù)上述隨機(jī)化副輸出數(shù)據(jù)(圖14的E)、上述第2乘方隨機(jī) 化輸入數(shù)據(jù)(圖14的F)、上述第2乘方輸入屏蔽值(圖14的H)、上 述逆元乘方輸入屏蔽值(圖14的G),生成上述隨機(jī)化輸出數(shù)據(jù)(圖14 的Y)。
此外,該加密裝置1對上述明文U進(jìn)行AES (Advanced Encryption Standard)加密的加密處理,生成AES加密的密文C,上述輸入數(shù)據(jù)的逆 元T1 (V8t) A ( — l)是對上述輸入數(shù)據(jù)T1 (V8t)進(jìn)行了與AES加密的 Sbox表等價的逆元計算及仿射中的逆元計算而得的計算結(jié)果。
因此,根據(jù)該加密裝置l,通過級數(shù)少的簡單結(jié)構(gòu)能夠進(jìn)行AES加密 方式的加密的逆元計算,進(jìn)而能夠進(jìn)行AES加密的加密處理。
此外,該加密裝置1進(jìn)一步具備屏蔽值生成部(隨機(jī)數(shù)更新部17及 合成域變換部103 (圖9、圖13、圖29)),用于生成上述隨機(jī)化8位逆 元計算部101使用的上述輸入屏蔽值RDt。
由此,能夠在加密裝置l內(nèi)生成輸入屏蔽值,使系統(tǒng)的結(jié)構(gòu)變簡單。
而且,該加密裝置1的上述屏蔽輸入數(shù)據(jù)生成部具備第1部分(屏 蔽處理部10 (圖38、圖9) 、 AddRoundKeyll (圖9)、合成域變換部100 (圖13)),根據(jù)上述明文U,生成第1隨機(jī)化輸入數(shù)據(jù)ID8t=ID81=Tl(V81) +T1 (Rl);第2部分(擴(kuò)張域變換兼矩陣變換部102 (圖13)、 按位加部104 (圖13)、隨機(jī)化Round—n12中的S礎(chǔ)Rowsl21 (圖10)、 MixColumns122 (圖10) 、 AddRoundKey123 (圖10)、合成域變換部100), 接收第(t一l)的隨機(jī)化輸出數(shù)據(jù)OD8 (t—l),加上根據(jù)第(t一l)輸 出屏蔽值RD (t—l) A ( — l) -T1 (Rt)決定的預(yù)定的第t輸入屏蔽值Tl
(Rt) =T1 (Mat (RtA ( — l ))),生成第t隨機(jī)化輸入數(shù)據(jù)ID8t=Tl (V8t) +T1 (Rt) (2《t《J)。上述屏蔽值生成部根據(jù)所生成的上述隨機(jī)數(shù)RO, 生成上述第1輸入屏蔽值RD1 第J輸入屏蔽值RDJ (J=10);隨機(jī)化8 位逆元計算部101根據(jù)上述第1部分生成的上述第1隨機(jī)化輸入數(shù)據(jù)ID81 和所生成的上述第1輸入屏蔽值RD1,生成上述第1隨機(jī)化輸出數(shù)據(jù) OD81,并且,根據(jù)由上述第2部分生成的上述第t隨機(jī)化輸入數(shù)據(jù)ID8t(2 《t《J)和所生成的上述第t輸入屏蔽值RDt,生成上述第t隨機(jī)化輸出數(shù) 據(jù)OD8t (2《t《J)。
另外,這里,該加密裝置1中,上述第1部分(屏蔽處理部10 (圖 38、圖9) 、 AddRoundKeyll (圖9)、合成域變換部100 (圖13))從 上述屏蔽值生成部(隨機(jī)數(shù)更新部17),取得用于確定第1輸入屏蔽值 RD1=T1 (Rl)的確定數(shù)據(jù)R0,根據(jù)所取得的確定數(shù)據(jù)RO和上述明文U, 生成已加上了上述第1輸入屏蔽值RD^T1 (Rl)的上述第l隨機(jī)化輸入 數(shù)據(jù)ID8,ID8^T1 (V81) +T1 (Rl)。上述屏蔽值生成部(隨機(jī)數(shù)更新 部17)生成用于確定上述第J的輸出屏蔽值T1 (R10) A ( — l)的確定數(shù) 據(jù)Rll,上述輸出部接收所生成的該確定數(shù)據(jù)Rll和第J隨機(jī)化輸出數(shù)據(jù) OD8t,并根據(jù)這些數(shù)據(jù)生成上述密文C,該第J隨機(jī)化輸出數(shù)據(jù)OD8t是 加上了該確定數(shù)據(jù)Rll所確定的上述第J輸出屏蔽值T1 (R10) A ( — l) 而得到的數(shù)據(jù)。
另外,上述屏蔽值生成部具備保持部(隨機(jī)數(shù)暫時存儲部16(圖9)), 該保持部保持值,若生成上述隨機(jī)數(shù)R0,則保持所生成的隨機(jī)數(shù)R0;保 持控制部(隨機(jī)數(shù)更新部17 (圖9)),根據(jù)保持的隨機(jī)數(shù)R (t—l)生 成隨機(jī)數(shù)Rt,將生成的隨機(jī)數(shù)Rt保持在上述保持部,上述隨機(jī)數(shù)Rt用于 通過預(yù)定的計算算出上述第t輸入屏蔽值;計算部(合成域變換部103 (圖 13)),根據(jù)所保持的上述隨機(jī)數(shù)Rt,分別通過上述計算算出上述第t輸 入屏蔽值(t=l、 2、…、J)。由此,通過保持隨機(jī)數(shù)Rt,能夠根據(jù)所保持的隨機(jī)數(shù)Rt,通過簡單處 理算出第(t+l)的輸入屏蔽值,能夠通過簡單處理算出各個輸入屏蔽值。 另外,在請求范圍內(nèi)記載的"隨機(jī)數(shù)生成部"例如可以解釋為對應(yīng)于
隨機(jī)數(shù)生成部15、隨機(jī)數(shù)暫時存儲部16及隨機(jī)數(shù)更新部17的整體。在這
樣解釋的情況下,請求范圍內(nèi)記載的"屏蔽值生成部"也可以理解為不對
應(yīng)于上述隨機(jī)數(shù)更新部17及合成域變換部103,只對應(yīng)于合成域變換部 103。
另外,這樣的加密裝置1也可以具備分別設(shè)置了用于實(shí)現(xiàn)上述各部分 的電路的集成電路,該集成電路也可以使用這些各部分來發(fā)揮上述作用, 來執(zhí)行上述方法。
<解密裝置3>
對應(yīng)于解密裝置1的解密裝置3的結(jié)構(gòu)如圖31 圖37所示。這些處理 是加密裝置1的處理的逆變換處理,由于基本的處理流程和加密裝置1中 說明的內(nèi)容相同,省略其詳細(xì)說明。另外,在圖36中的隨機(jī)化InvS — Box331a 331p的合成域變換兼矩陣變換部300中,下面的矩陣運(yùn)算式使用 數(shù)學(xué)式3
<formula>formula see original document page 51</formula>
同樣的在圖36中所示的擴(kuò)張域變換部302中,下面的矩陣運(yùn)算式使 用數(shù)學(xué)式4廣 、 Y7廣 i000,11、 0廣 、 已7
Y6011〇1100B6
Y5000〇1110已5
Y411010010已4
Y3—01001010已3
Y2〇0101010已2
Y10010000B1
1001011:
由此,使用密鑰根據(jù)密文生成明文的解密裝置3,其特征在于,具備:
隨機(jī)數(shù)生成部35 (圖32),生成隨機(jī)數(shù);輸入部(屏蔽處理部30(圖32)、 AddRoundKey31 (圖32) 、 InvShiftRows320 (圖33)、圖36所示的按位 加部、隨機(jī)化IiwRound_n32 (圖32、圖33)所具備的擴(kuò)張域變換部302 (圖36) 、 AddRoundKey322 (圖33) 、 InvMixColumns323 (圖33)、隨 機(jī)化InvRound—0 33 (圖34)所具備的InvShiftRows330 (圖34)),接收 上述密文,將根據(jù)上述隨機(jī)數(shù)決定的預(yù)定的輸入屏蔽值和對上述密文根據(jù) 上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);8位 隨機(jī)化合成域逆元計算部301 (圖36),接收由上述隨機(jī)化輸入數(shù)據(jù)生成 部生成的上述隨機(jī)化數(shù)據(jù)和上述輸入屏蔽值,將接收的上述輸入屏蔽值的 在預(yù)定的第1有限域中的逆元即輸出屏蔽值和上述輸入數(shù)據(jù)的在該第1擴(kuò) 張域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);輸出部(具有隨機(jī)化InvRound—0 33 (圖32、圖34)的擴(kuò)張域變換部302 (圖36) 、 AddRoundKey332 (圖 34)、中斷屏蔽處理部34 (圖32)),接收由上述8位隨機(jī)化合成域逆 元計算部301生成的上述隨機(jī)化輸出數(shù)據(jù),根據(jù)所接收的該隨機(jī)化輸出數(shù) 據(jù)生成上述譯文。
<最大邏輯級數(shù)的預(yù)估>
在以上說明的實(shí)施方式中,預(yù)估隨機(jī)化8位逆元計算部101 (圖14、 圖13)的最大邏輯級數(shù)。預(yù)估在電路中實(shí)現(xiàn)隨機(jī)化8位逆元計算部101時 的關(guān)鍵路徑的最大邏輯級數(shù)如下
隨機(jī)化8位逆元計算部101的關(guān)鍵路徑在圖14中如下所示
17次方計算部110=>按位加部113=>隨機(jī)化4位逆元計算部114=>4
52位輸出計算部118
而且,在該路徑途中的4位輸出計算部118的關(guān)鍵路徑如下(圖18):
4位乘法部118a-〉按位加部1180=>按位加部118e 此外,圖14的路徑的途中的隨機(jī)化4位逆元計算部114的關(guān)鍵路徑 如下(圖23):
5次方計算部150=〉按位加部153=>隨機(jī)化2位逆元計算部154=>2位 輸出計算部158
而且,該圖23中所示的2位輸出計算部158的關(guān)鍵路徑如下所示(圖 27):
2位乘法部158a^〉按位加部1580=>按位加部158e 然后,前述的圖23的路徑的途中的隨機(jī)化2位逆元計算部154的關(guān) 鍵路徑如下所示(圖28): 按位加部154c
通過上述過程,隨機(jī)化8位逆元計算部101 (圖14)的最大邏輯級數(shù) 成為連續(xù)處理下面的處理時的邏輯級數(shù)。 17次方計算X1次 5次方計算X1次 4位乘法X1次 2位乘法X1次 按位加運(yùn)算X7次
另外,這里,上述"按位加運(yùn)算X7次"中的7次是基于下面的計算 7=1+2+1+2+1的。即,與現(xiàn)有技術(shù)2的隨機(jī)化8位逆元計算部81 (圖l) 相比,能夠削減ll次按位加運(yùn)算,能實(shí)現(xiàn)最大邏輯級數(shù)的削減?!?(變形例)
另外,在本實(shí)施方式中,將作為電力分析攻擊對策的對象的加密作為 AES加密,但不僅限于AES加密,只要是在加密處理中使用逆元運(yùn)算, 或者,在加密處理中所使用的表變換處理是可基于逆元運(yùn)算構(gòu)成的加密方 式就可以使用。作為那樣的加密方式,其他的有ISO/IEC 18033 — 3:2005,
"Information technology Security techniques-Encryption algorithms —
一Part3: Block ciphers"有(非專利文獻(xiàn)3)中記載的Camellia加密。
此外,在上述實(shí)施方式中,即使作為軟件來實(shí)現(xiàn)的情況下,由于沒有
53必要將變換表作為排列來進(jìn)行保持,所以與以往技術(shù)同樣能夠節(jié)約代碼規(guī) 模,并且,相比以往技術(shù),能夠起到削減加密處理時間的效果。
此外,在上述實(shí)施方式中,說明了將全部的處理安裝在運(yùn)算電路中的 情況,也可以將其中的處理的一部分安裝為變換表。例如,在隨機(jī)化4位
逆元計算部114的情況下,作為由4位X16個的要素構(gòu)成的排列Inv4[16;] 來安裝,對于4位輸入X,可以將4位輸出作為Inv4[X]來輸出。
另外,雖然基于上述實(shí)施方式說明了本發(fā)明,但本發(fā)明當(dāng)然不限定于 上述實(shí)施方式。下面的情況也包含在本發(fā)明中。
(1) 上述各裝置具體來說是由下述部件構(gòu)成的計算機(jī)系統(tǒng)微處理 器、ROM、 RAM、硬盤單元、顯示器單元、鍵盤、鼠標(biāo)等。在上述RAM 或硬盤單元中,存儲有計算機(jī)程序。通過上述微處理器按照上述計算機(jī)程 序來動作,各裝置實(shí)現(xiàn)其功能。這里的計算機(jī)程序?yàn)榱藢?shí)現(xiàn)規(guī)定的功能, 組合多個表示對計算機(jī)的指令的命令代碼來構(gòu)成該計算機(jī)程序。
(2) 構(gòu)成上述各裝置的構(gòu)成要素的一部分或者全部,也可以由一個 系統(tǒng)LSI (Large Scale Integration:大規(guī)模集成電路)構(gòu)成。系統(tǒng)LSI是將 多個構(gòu)成部集成到一個芯片上來制造出來的超多功能LSI。具體說來,是 含有微處理器、ROM、 RAM等來構(gòu)成的計算機(jī)系統(tǒng)。在上述RAM中, 存儲有計算機(jī)程序。通過上述微處理器按照上述計算機(jī)程序來動作,系統(tǒng) LSI實(shí)現(xiàn)其功能。
(3) 構(gòu)成上述各裝置的構(gòu)成要素的一部分或者全部也可以是由在各 裝置上可裝卸的IC卡或單體模塊構(gòu)成。上述IC卡或者上述模塊是由微處 理器、ROM、 RAM等構(gòu)成的計算機(jī)系統(tǒng)。上述IC卡或上述模塊也可以包 含上述超多功能LSI。通過微處理器按照計算機(jī)程序進(jìn)行動作,上述IC卡 或上述模塊實(shí)現(xiàn)其功能。該IC卡或者該模塊也可以具有防篡改性。
(4) 本發(fā)明也可以是上述所示的方法。此外,也可以是通過計算機(jī) 來實(shí)現(xiàn)這些方法的計算機(jī)程序,也可以是上述計算機(jī)程序構(gòu)成的數(shù)字信 號。
此外,本發(fā)明也可以將上述計算機(jī)程序或者上述數(shù)字信號記錄在能夠 通過計算機(jī)讀取的記錄介質(zhì)中,例如,軟盤、硬盤、CD—ROM、 MO、 DVD、 DVD—ROM、 DVD—RAM、 BD (Blu—rayDisc,即藍(lán)光盤)、半 導(dǎo)體存儲器等。此外,也可以是存儲在這些記錄介質(zhì)上的上述數(shù)字信號。此外,本發(fā)明也可以是將上述計算機(jī)程序或者上述數(shù)字信號經(jīng)由電氣 通信線路、無線或有線通信線路、以英特網(wǎng)為代表的網(wǎng)絡(luò)、數(shù)據(jù)廣播等進(jìn) 行傳送。
此外,本發(fā)明也可以是具備微處理器和存儲器的計算機(jī)系統(tǒng),上述存 儲器存儲上述計算機(jī)程序,上述微處理器按照上述計算機(jī)程序進(jìn)行動作。
此外,也可以是通過將上述程序或上述數(shù)字信號記錄在上述記錄介質(zhì) 中來進(jìn)行轉(zhuǎn)移,或者通過將上述程序或者上述數(shù)字信號經(jīng)由上述網(wǎng)絡(luò)等進(jìn) 行轉(zhuǎn)移,由獨(dú)立的其他的計算機(jī)系統(tǒng)實(shí)施。
(5) 另外,上述屏蔽值生成部也可以在隨機(jī)化8位逆元計算部101 (圖14)根據(jù)隨機(jī)化輸入數(shù)據(jù)計算隨機(jī)化輸出數(shù)據(jù)的同時,并行地,在生
成該隨機(jī)化8位逆元計算部101在該計算中使用的RDt之后,再生成該隨 機(jī)化8位逆元計算部IOI所使用的RD (t+l)等。這樣,隨機(jī)化8位逆元 計算部101能夠無延遲地利用該RD (t+l)等,使得加密裝置1高速動作。
(6) 此外,也可以采用下面的方式。 也可以采用加密處理程序的方式,即,使用計算機(jī)基于密鑰對明文進(jìn)
行規(guī)定的加密處理來生成密文的加密處理程序,其特征在于,生成隨機(jī)數(shù), 接收隨機(jī)化輸入數(shù)據(jù)和輸入屏蔽值,進(jìn)行第1有限域上的逆元計算,并輸 出隨機(jī)化輸出數(shù)據(jù),.上述隨機(jī)化輸入數(shù)據(jù)是將輸入屏蔽值和輸出數(shù)據(jù)相加 來進(jìn)行了屏蔽的值,上述隨機(jī)化輸出數(shù)據(jù)是將輸出屏蔽值和輸出數(shù)據(jù)相加 來進(jìn)行了屏蔽的值,上述輸入屏蔽值是根據(jù)上述隨機(jī)數(shù)決定的值,上述輸 出數(shù)據(jù)是上述輸入數(shù)據(jù)的在上述第1有限域中的逆元,上述輸出屏蔽值是 上述輸入屏蔽值的在上述第l有限域中的逆元,使上述計算機(jī)進(jìn)行信息處 理。
此外,也可以采用下面的方式。即,采用使用計算機(jī)來用密鑰從明文 生成密文的計算機(jī)程序的方式,該計算機(jī)程序使計算機(jī)實(shí)現(xiàn)如下功能隨 機(jī)數(shù)生成功能,生成隨機(jī)數(shù);隨機(jī)化輸入數(shù)據(jù)生成功能,接收上述明文, 把根據(jù)上述隨機(jī)數(shù)決定的預(yù)定的輸入屏蔽值和對上述明文根據(jù)上述密鑰 進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);第l隨機(jī)化逆 元數(shù)據(jù)生成功能,接收由上述隨機(jī)化輸入數(shù)據(jù)生成功能生成的上述隨機(jī)化 輸入數(shù)據(jù)和上述輸入屏蔽值,將接收到的上述輸入屏蔽值的在預(yù)定的第1 有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第1有限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);輸出數(shù)據(jù)處理功能,接收通過上述第1隨機(jī) 化逆元數(shù)據(jù)生成功能生成的上述隨機(jī)化輸出數(shù)據(jù),根據(jù)接收到的該隨機(jī)化 輸出數(shù)據(jù)生成上述密文。
另外,可以分別通過并列執(zhí)行相互不同的處理的多處理等來執(zhí)行這些 加密處理程序、計算機(jī)程,在該種情況下,該計算機(jī)程序在根據(jù)隨機(jī)化輸 入數(shù)據(jù)生成隨機(jī)化輸出數(shù)據(jù)的同時,使上述計算機(jī)并行地生成上述輸入屏
(7)也可以分別組合上述實(shí)施方式及上述變形例。
工業(yè)實(shí)用性
本發(fā)明涉及的加密裝置,具有面阻止電力分析攻擊、比現(xiàn)有技術(shù)更能 削減加密處理的處理量的特征,所以在追求實(shí)現(xiàn)高速處理或低成本的加密 裝置的實(shí)現(xiàn)中有用。
5權(quán)利要求
1、一種加密裝置,使用密鑰,根據(jù)明文生成密文,其特征在于,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù);隨機(jī)化輸入數(shù)據(jù)生成部,接收上述明文,將根據(jù)上述隨機(jī)數(shù)決定的預(yù)定的輸入屏蔽值和對上述明文利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);第1隨機(jī)化逆元數(shù)據(jù)生成部,接收由上述隨機(jī)化輸入數(shù)據(jù)生成部生成的上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,將接收的上述輸入屏蔽值的在預(yù)定的第1有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第1有限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);以及輸出數(shù)據(jù)處理部,接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成部生成的上述隨機(jī)化輸出數(shù)據(jù),根據(jù)接收到的該隨機(jī)化輸出數(shù)據(jù)生成上述密文。
2、 如權(quán)利要求1所述的加密裝置,其特征在于,上述第1隨機(jī)化逆 元數(shù)據(jù)生成部具備第1乘方計算部,對上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值進(jìn)行預(yù)定 的第1指數(shù)的乘方計算,分別通過各乘方計算生成第1乘方隨機(jī)化輸入數(shù) 據(jù)和第1乘方輸入屏蔽值;校正數(shù)據(jù)生成部,根據(jù)上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,生成 預(yù)定的校正數(shù)據(jù);加法部,將所生成的上述校正數(shù)據(jù)和計算出的上述第1乘方隨機(jī)化輸 入數(shù)據(jù)相加,生成副隨機(jī)化輸入數(shù)據(jù);第2隨機(jī)化逆元數(shù)據(jù)生成部,接收上述副隨機(jī)化輸入數(shù)據(jù)和上述第1 乘方輸入屏蔽值,將該第1乘方輸入屏蔽值的在預(yù)定的第2有限域中的逆 元即屏蔽值和上述副隨機(jī)化輸入數(shù)據(jù)的在該第2有限域中的逆元相加,生 成隨機(jī)化副輸出數(shù)據(jù);以及隨機(jī)化輸出數(shù)據(jù)生成部,根據(jù)上述隨機(jī)化副輸出數(shù)據(jù)、上述隨機(jī)化輸 入數(shù)據(jù)、上述輸入屏蔽值及上述第1乘方輸入屏蔽值,生成上述隨機(jī)化輸 出數(shù)據(jù)。
3、 如權(quán)利要求2所述的加密裝置,其特征在于,上述隨機(jī)化輸出數(shù)據(jù)生成部具備第2乘方計算部,對上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值進(jìn)行預(yù)定 的第2指數(shù)的乘方計算,通過各乘方計算,分別生成第2乘方隨機(jī)化輸入 數(shù)據(jù)和第2乘方輸入屏蔽值;逆元運(yùn)算部,對上述第1乘方輸入屏蔽值進(jìn)行上述第2有限域上的逆 元計算,生成該第1乘方輸入屏蔽值的在上述第2有限域中的逆元即逆元 乘方輸入屏蔽值;以及隨機(jī)化輸出數(shù)據(jù)生成部,根據(jù)上述隨機(jī)化副輸出數(shù)據(jù)、上述第2乘方 隨機(jī)化輸入數(shù)據(jù)、上述第2乘方輸入屏蔽值及上述逆元乘方輸入屏蔽值, 生成上述隨機(jī)化輸出數(shù)據(jù)。
4、 如權(quán)利要求l所述的加密裝置,其特征在于,該加密裝置對上述明文進(jìn)行AES加密的加密處理,生成AES加密的 密文,上述輸入數(shù)據(jù)的逆元是對上述輸入數(shù)據(jù)進(jìn)行了與AES加密的Sbox表 等價的逆元計算及仿射中的逆元計算而得的計算結(jié)果。
5、 如權(quán)利要求l所述的加密裝置,其特征在于, 上述隨機(jī)化輸入數(shù)據(jù)生成部具備第1部分,根據(jù)上述明文,生成已加上了第1輸入屏蔽值的第1隨機(jī) 化輸入數(shù)據(jù);第2部分,接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成部生成的第(t一l) 隨機(jī)化輸出數(shù)據(jù),加上根據(jù)上述第(t一l)輸出屏蔽值決定的第t輸入屏 蔽值,生成第t隨機(jī)化輸入數(shù)據(jù),其中,2《t《J, J是2以上的預(yù)定的整 數(shù),該加密裝置進(jìn)一步具備屏蔽值生成部,該屏蔽值生成部根據(jù)上述隨機(jī) 數(shù),生成上述第1 第J輸入屏蔽值,上述第1隨機(jī)化逆元數(shù)據(jù)生成部根據(jù)上述第1部分生成的上述第1隨 機(jī)化輸入數(shù)據(jù)和所生成的上述第1輸入屏蔽值,生成上述第1隨機(jī)化輸出 數(shù)據(jù),并且,根據(jù)上述第2部分生成的上述第t隨機(jī)化輸入數(shù)據(jù)和所生成 的上述第t輸入屏蔽值,生成上述第t隨機(jī)化輸出數(shù)據(jù),其中,2《t《J,上述輸出數(shù)據(jù)處理部根據(jù)所生成的第J隨機(jī)化輸出數(shù)據(jù),生成上述密文。
6、 一種解密裝置,使用密鑰,根據(jù)密文生成譯文,其特征在于,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù);隨機(jī)化輸入數(shù)據(jù)生成部,接收上述密文,將根據(jù)上述隨機(jī)數(shù)決定的預(yù) 定的輸入屏蔽值和對上述密文利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù) 據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);第l隨機(jī)化逆元數(shù)據(jù)生成部,接收由上述隨機(jī)化輸入數(shù)據(jù)生成部所生 成的上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,將所接收到的上述輸入屏蔽 值的在預(yù)定的第1有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第 l有限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);以及輸出數(shù)據(jù)處理部,接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成部生成的上述 隨機(jī)化輸出數(shù)據(jù),根據(jù)接收到的該隨機(jī)化輸出數(shù)據(jù)生成上述譯文。
7、 一種加密方法,使用密鑰,根據(jù)明文生成密文,其特征在于,包括隨機(jī)數(shù)生成步驟,生成隨機(jī)數(shù);隨機(jī)化輸入數(shù)據(jù)生成步驟,接收上述明文,將根據(jù)上述隨機(jī)數(shù)決定的 預(yù)定的輸入屏蔽值和對上述明文利用上述密鑰進(jìn)行了預(yù)定的處理的輸入 數(shù)據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);第1隨機(jī)化逆元數(shù)據(jù)生成步驟,接收由上述隨機(jī)化輸入數(shù)據(jù)生成步驟 生成的上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,將接收的上述輸入屏蔽值 的在預(yù)定的第1有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第1 有限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);以及輸出數(shù)據(jù)處理步驟,接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成步驟生成的 上述隨機(jī)化輸出數(shù)據(jù),根據(jù)接收到的該隨機(jī)化輸出數(shù)據(jù)生成上述密文。
8、 一種集成電路,使用密鑰,根據(jù)明文生成密文,其特征在于,具備隨機(jī)數(shù)生成部,生成隨機(jī)數(shù);隨機(jī)化輸入數(shù)據(jù)生成部,接收上述明文,將根據(jù)上述隨機(jī)數(shù)決定的預(yù) 定的輸入屏蔽值和對上述明文利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù) 據(jù)相加,生成隨機(jī)化輸入數(shù)據(jù);第l隨機(jī)化逆元數(shù)據(jù)生成部,接收由上述隨機(jī)化輸入數(shù)據(jù)生成部生成的上述隨機(jī)化輸入數(shù)據(jù)和上述輸入屏蔽值,將所接收的上述輸入屏蔽值的 在預(yù)定的第1有限域中的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的在上述第1有 限域中的逆元相加,生成隨機(jī)化輸出數(shù)據(jù);以及輸出數(shù)據(jù)處理部,接收由上述第1隨機(jī)化逆元數(shù)據(jù)生成部生成的上述 隨機(jī)化輸出數(shù)據(jù),根據(jù)所接收到的該隨機(jī)化輸出數(shù)據(jù)生成上述密文。
全文摘要
作為針對AES加密的電力分析攻擊對策,如果采用通過合成域上的逆元計算安裝S-Box的屏蔽法,則存在最大邏輯級數(shù)變大而處理速度降低的問題。本發(fā)明的加密裝置(1),使用密鑰,根據(jù)明文生成密文,具備隨機(jī)化8位逆元計算部(101),接收隨機(jī)化輸入數(shù)據(jù)和輸入屏蔽值,將接收到的上述輸入屏蔽值的逆元即輸出屏蔽值和該輸入數(shù)據(jù)的逆元相加,生成隨機(jī)化輸出數(shù)據(jù),上述隨機(jī)化輸入數(shù)據(jù)是將根據(jù)隨機(jī)數(shù)決定的預(yù)定的上述輸入屏蔽值和利用上述密鑰進(jìn)行了預(yù)定的處理的輸入數(shù)據(jù)相加得到的數(shù)據(jù);該加密裝置根據(jù)所生成的該隨機(jī)化輸出數(shù)據(jù),生成上述密文。
文檔編號G09C1/00GK101542558SQ20088000061
公開日2009年9月23日 申請日期2008年5月26日 優(yōu)先權(quán)日2007年5月30日
發(fā)明者太田雄策, 橫田薰 申請人:松下電器產(chǎn)業(yè)株式會社