共享密鑰生成裝置、加密裝置、解密裝置、共享密鑰生成方法、加密方法、解密方法以及程序的制作方法
【專利摘要】由公開數(shù)據(jù)取得部(22)取得包含質(zhì)數(shù)p、自然數(shù)d、矩陣Q、以及矩陣S的公開數(shù)據(jù),由密鑰生成部(24)生成包含自然數(shù)nA、kA的密鑰。由非交換矩陣生成部(26)計(jì)算矩陣MA(MA=S-kAQnASkA)并發(fā)送給通信對(duì)象,從通信對(duì)象取得矩陣MB(MB=S-kBQnBSkB)。由共享密鑰計(jì)算部(28)算出矩陣MAB(MAB=S-kAMBnASkA)作為共享密鑰。由此,加密解密裝置能夠高速地生成安全的共享密鑰。
【專利說(shuō)明】共享密鑰生成裝置、加密裝置、解密裝置、共享密鑰生成方 法、加密方法、解密方法從及程序
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及共享密鑰生成裝置、加密裝置、解密裝置、共享密鑰生成方法、加密方 法、解密方法W及程序。
【背景技術(shù)】
[0002] W往,已知有一種信息公開型并且非交換式的編碼方法W及加密方法(日本特開 2001-202010號(hào)公報(bào))。另外,已知有一種使用了有限非交換群的公鑰密碼系統(tǒng)、使用了作 為非交換體的環(huán)R的公鑰密碼系統(tǒng)(日本特表2004-534971號(hào)公報(bào)、日本特表2000-516733 號(hào)公報(bào))。
[0003] 另外,已知有一種基于公鑰密碼體制的網(wǎng)絡(luò)上的相互認(rèn)證W及公鑰相互交換系 統(tǒng)、基于控制向量的公鑰密碼系統(tǒng)的密鑰管理(日本特開2006-262425號(hào)公報(bào)、日本特開平 5-216409 號(hào)公報(bào))。
【發(fā)明內(nèi)容】
[0004] 發(fā)明所要解決的問(wèn)題
[0005] 本發(fā)明的目的在于提供一種能夠高速地生成安全的共享密鑰的共享密鑰生成裝 置、加密裝置、解密裝置、共享密鑰生成方法、加密方法、解密方法W及程序。
[0006] 用于解決問(wèn)題的方案
[0007] 為了實(shí)現(xiàn)上述目的,第一實(shí)施方式的共享密鑰生成裝置包含了 W下部分而構(gòu)成: 公開數(shù)據(jù)設(shè)定部,設(shè)定包含質(zhì)數(shù)P、自然數(shù)t行列式的值不為1的dXd矩陣Q(mod P)、W 及存在逆矩陣的dXd矩陣S(mod P)的公開數(shù)據(jù);密鑰生成部,生成包含自然數(shù)nA(mod P)、 k, (mod P)的密鑰;矩陣計(jì)算部,使用所述密鑰,根據(jù)下式(I)計(jì)算dXd矩陣Ma (mod P), 發(fā)送給通信對(duì)象;矩陣取得部,取得使用所述通信對(duì)象的密鑰中包含的自然數(shù)nc (mod p)、 ke (mod p)并根據(jù)下式(II)計(jì)算的dXd矩陣Me (mod p) 及共享密鑰計(jì)算部,使用由所述 矩陣取得部取得的矩陣Me,根據(jù)下式(III)算出dXd矩陣Mw(mod P)作為共享密鑰。
[000引 Ma= S-k^SkA…(I)
[0009] Mb= S_kBQ址SkB... (II)
[0010] M郵=…(III)
[0011] 第二實(shí)施方式的程序用于使計(jì)算機(jī)作為W下部分發(fā)揮功能:公開數(shù)據(jù)設(shè)定部,設(shè) 定包含質(zhì)數(shù)P、自然數(shù)t行列式的值不為1的dx d矩陣Q (mod P)、W及存在逆矩陣的dx d 矩陣S (mod p)的公開數(shù)據(jù);密鑰生成部,生成包含自然數(shù)riA (mod p)、kA (mod p)的密鑰;矩 陣計(jì)算部,使用所述密鑰,根據(jù)下式(IV)計(jì)算dXd矩陣Ma(mod p),發(fā)送給通信對(duì)象;矩陣 取得部,取得使用所述通信對(duì)象的密鑰中包含的自然數(shù)nc(mod p)、kc(mod P)并根據(jù)下式 (V)計(jì)算的dXd矩陣Mc(mod P);化及共享密鑰計(jì)算部,使用由所述矩陣取得部取得的矩陣 Me,根據(jù)下式(VI)算出dXd矩陣Mab(mo化)作為共享密鑰。
[001 引 Ma= S-k^SkA…(IV)
[001 引 Mb= S-kBQ址SkB…(V)
[0014] M郵=S_'"V'skA…(W
[0015] 如此,通過(guò)將使用公開數(shù)據(jù)和密鑰進(jìn)行計(jì)算而得的矩陣與通信對(duì)象進(jìn)行交換,并 使用從通信對(duì)象得到的矩陣算出共享密鑰,從而能夠高速地生成安全的共享密鑰。
[0016] 第立實(shí)施方式的密鑰生成部能夠在每次與所述通信對(duì)象通信時(shí),生成并更新包含 自然數(shù)% (mod p)、k;A (mod P)的密鑰。由此,能夠生成更安全的共享密鑰。
[0017] 另外,第四實(shí)施方式的加密裝置構(gòu)成為包含W下構(gòu)件;矩陣生成部,基于設(shè)定為與 解密裝置共用的、由技術(shù)方案1或2的共享密鑰生成裝置生成的共享密鑰MabW及兩個(gè)質(zhì)數(shù) pl、p2,生成兩個(gè)非交換矩陣A1、A2 ;矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述解 密裝置共用的d維初始向量V?;蛏洗吻蟮玫膁維向量V 求出向量v/,并且使非交換矩 陣A2作用于所述初始向量V?;蛏洗吻蟮玫膁維向量V y2,求出向量Vi2,該矩陣作用部將使 所述非交換矩陣A1、A2作用時(shí)的或運(yùn)算W及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合 了多種運(yùn)算符的運(yùn)算方法,使非交換矩陣A1、A2作用;位串變換部,對(duì)由所述矩陣作用部求 得的向量v/進(jìn)行非線性變換而變換成位串,使所述變換而得的位串與上次求得的位串化 結(jié)合而求出所述位串W1,并且對(duì)向量Vi2進(jìn)行非線性變換而變換成位串,使所述變換而得的 位串與上次求得的位串W2結(jié)合而求出所述位串W2 ;位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用 部進(jìn)行的作用W及由所述位串變換部進(jìn)行的變換與結(jié)合,直至由所述位串變換部求得的所 述位串化W及所述位串W2各自的位數(shù)達(dá)到表示加密對(duì)象數(shù)據(jù)的位串的位數(shù);偽隨機(jī)數(shù)列 產(chǎn)生部,計(jì)算所述位串W1 W及所述位串W2的異或,求出偽隨機(jī)數(shù)位串;W及加密部,計(jì)算由 所述偽隨機(jī)數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述加密對(duì)象數(shù)據(jù)的位串的異或,由此 將所述加密對(duì)象數(shù)據(jù)加密。
[001引如此,將使非交換矩陣A1、A2作用時(shí)的或運(yùn)算W及與運(yùn)算的至少一方,置換成組 合了多種運(yùn)算符的運(yùn)算方法,使非交換矩陣A1、A2反復(fù)作用于向量并且進(jìn)行非線性變換, 計(jì)算得到的位串W1、W2的異或,求出偽隨機(jī)數(shù)位串。通過(guò)使用偽隨機(jī)數(shù)位串進(jìn)行加密,從而 在加密對(duì)象數(shù)據(jù)的位數(shù)可變的情況下,能夠使加密處理高速化并強(qiáng)化密碼譯解強(qiáng)度。
[0019] 第五實(shí)施方式的加密裝置的矩陣作用部能夠使非交換矩陣A1作用于所述初始向 量V?;蛏洗吻蟮玫南蛄縑 在求取所述向量V時(shí),按向量V /的每個(gè)元素,使非交換矩陣 A1作用于已置換成進(jìn)行了計(jì)算的向量V的元素的所述初始向量V。或所述向量V 計(jì)算 向量V的所述元素;使非交換矩陣A2作用于所述初始向量V?;蛏洗吻蟮玫南蛄縑 在 求取所述向量VfS時(shí),按向量VfS的每個(gè)元素,使非交換矩陣A2作用于已置換成進(jìn)行了計(jì)算 的向量Vi2的元素的所述初始向量V?;蛩鱿蛄縑 計(jì)算向量Vi2的所述元素。由此,能 夠更加強(qiáng)化密碼譯解強(qiáng)度。
[0020] 第六實(shí)施方式的加密裝置的位串變換部作為所述非線性變換,能將由所述矩陣作 用部求得的向量v/變換成位串,對(duì)變換而得的位串進(jìn)行將滿足預(yù)先確定的條件的起始位 串截去的截?cái)嗵幚恚贡唤厝ニ銎鹗嘉淮乃鑫淮c上次求得的位串化結(jié)合,并且將 向量Vi2變換成位串,對(duì)變換而得的位串進(jìn)行所述截?cái)嗵幚恚贡唤厝ニ銎鹗嘉淮乃?位串與上次求得的位串W2結(jié)合。由此,能夠更加強(qiáng)化密碼譯解強(qiáng)度。
[0021] 另外,第走實(shí)施方式的加密裝置的位串變換部作為所述截?cái)嗵幚砟苓M(jìn)行下述處 理;對(duì)所述變換而得的位串,作為滿足所述預(yù)先確定的條件的起始位串,將由從起始起連續(xù) 的0和從起始起最初出現(xiàn)的1構(gòu)成的起始位串截去,并且從已截去所述起始位串的所述位 串中,截去預(yù)先確定的位數(shù)的起始位串。由此,能夠更加強(qiáng)化密碼譯解強(qiáng)度。
[0022] 第八實(shí)施方式的解密裝置構(gòu)成為包含;矩陣生成部,基于設(shè)定為與加密裝置共用 的、由技術(shù)方案1或2的共享密鑰生成裝置生成的共享密鑰MabW及兩個(gè)質(zhì)數(shù)Pl、P2,生成 兩個(gè)非交換矩陣A1、A2 ;矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述加密裝置共用 的d維初始向量V?;蛏洗吻蟮玫膁維向量V 求出向量v/,并且使非交換矩陣A2作用于 所述初始向量V。或上次求得的d維向量V 求出向量Vi2,該矩陣作用部將使所述非交換 矩陣A1、A2作用時(shí)的或運(yùn)算W及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合了多種運(yùn)算 符的運(yùn)算方法,使非交換矩陣A1、A2作用;位串變換部,對(duì)由所述矩陣作用部求得的向量v/ 進(jìn)行非線性變換而變換成位串,使所述變換而得的位串與上次求得的位串化結(jié)合求出所 述位串W1,并且對(duì)向量Vi 2進(jìn)行非線性變換而變換成位串,使所述變換而得的位串與上次求 得的位串W2結(jié)合而求出所述位串W2 ;位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用部進(jìn)行的作用 W及由所述位串變換部進(jìn)行的變換與結(jié)合,直至由所述位串變換部求得的所述位串W1 W 及所述位串W2各自的位數(shù)達(dá)到表示解密對(duì)象數(shù)據(jù)的位串的位數(shù);偽隨機(jī)數(shù)列產(chǎn)生部,計(jì)算 所述位串化W及所述位串W2的異或,求出偽隨機(jī)數(shù)位串;W及解密部,計(jì)算由所述偽隨機(jī) 數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述解密對(duì)象數(shù)據(jù)的位串的異或,由此將所述解密 對(duì)象數(shù)據(jù)解密。
[002引發(fā)明的效果
[0024] 根據(jù)本發(fā)明的一個(gè)實(shí)施方式的共享密鑰生成裝置、方法、W及程序,通過(guò)將使用公 開數(shù)據(jù)和密鑰進(jìn)行計(jì)算而得的矩陣與通信對(duì)象進(jìn)行交換,使用從通信對(duì)象得到的矩陣算出 共享密鑰,從而能夠高速地生成安全的共享密鑰。
[0025] 根據(jù)本發(fā)明的一個(gè)實(shí)施方式的加密裝置、加密方法、解密裝置、W及解密方法,將 使非交換矩陣A1、A2作用時(shí)的或運(yùn)算W及與運(yùn)算的至少一方,置換成組合了多種運(yùn)算符的 運(yùn)算方法,使非交換矩陣A1、A2反復(fù)作用于向量并且進(jìn)行非線性變換,計(jì)算得到的位串W1、 W2的異或,求出偽隨機(jī)數(shù)位串。通過(guò)使用偽隨機(jī)數(shù)位串進(jìn)行加密或解密,從而在加密對(duì)象數(shù) 據(jù)或解密對(duì)象數(shù)據(jù)的位數(shù)可變的情況下,能使加密處理或解密處理高速化并強(qiáng)化密碼譯解 強(qiáng)度。
【專利附圖】
【附圖說(shuō)明】
[0026] 圖1是表示本發(fā)明的實(shí)施方式的加密處理系統(tǒng)的結(jié)構(gòu)的概要圖。
[0027] 圖2是表示本發(fā)明的實(shí)施方式的加密解密裝置的結(jié)構(gòu)的概要圖。
[002引圖3是用于說(shuō)明計(jì)算共享密鑰的方法的圖。
[0029] 圖4A是用于說(shuō)明加密方法的圖。
[0030] 圖4B是用于說(shuō)明解密方法的圖。
[0031] 圖5是表示本發(fā)明的實(shí)施方式的加密解密裝置中的共享密鑰計(jì)算處理例程的內(nèi) 容的流程圖。
[0032] 圖6是表示本發(fā)明的實(shí)施方式的加密解密裝置中的偽隨機(jī)數(shù)列產(chǎn)生處理例程的 內(nèi)容的流程圖。
[0033] 圖7是表示計(jì)算機(jī)上的實(shí)驗(yàn)結(jié)果的圖。
[0034] 圖8是表示移動(dòng)終端上的實(shí)驗(yàn)結(jié)果的圖。
【具體實(shí)施方式】
[0035] W下,參考附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。
[0036] <系統(tǒng)結(jié)構(gòu)〉
[0037] 如圖1所示,本發(fā)明的實(shí)施方式的加密處理系統(tǒng)10具備加密解密裝置12A、12B、多 個(gè)用戶終端14A、多個(gè)用戶終端14B、W及互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16。此外,加密解密裝置12AU2B 為加密裝置、解密裝置的一例。
[003引多個(gè)用戶終端14A與加密解密裝置12A連接,加密解密裝置12A連接到互聯(lián)網(wǎng)接 入網(wǎng)絡(luò)16。另外,多個(gè)用戶終端14B與加密解密裝置12B連接,加密解密裝置12B連接到互 聯(lián)網(wǎng)接入網(wǎng)絡(luò)16。加密解密裝置12AU2B經(jīng)由互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16相互連接。
[0039] 在用戶終端14A進(jìn)行經(jīng)由互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16的數(shù)據(jù)發(fā)送的情況下,發(fā)送數(shù)據(jù)經(jīng)由 加密解密裝置12A被輸出給互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16。另一方面,在用戶終端14A進(jìn)行經(jīng)由互聯(lián) 網(wǎng)接入網(wǎng)絡(luò)16的數(shù)據(jù)接收的情況下,接收數(shù)據(jù)經(jīng)由加密解密裝置12A,從互聯(lián)網(wǎng)接入網(wǎng)絡(luò) 16被輸入。
[0040] 另外,在用戶終端14B進(jìn)行經(jīng)由互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16的數(shù)據(jù)發(fā)送的情況下,發(fā)送數(shù) 據(jù)經(jīng)由加密解密裝置12B被輸出給互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16。另一方面,在用戶終端14B進(jìn)行經(jīng) 由互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16的數(shù)據(jù)接收的情況下,接收數(shù)據(jù)經(jīng)由加密解密裝置12B,從互聯(lián)網(wǎng)接 入網(wǎng)絡(luò)16被輸入。
[004^ 加密解密裝置12A、12B由具備CPU (Central Processing化it ;中央處理器)、 RAM (Random Access Memo巧:隨機(jī)存取存儲(chǔ)器)、W及儲(chǔ)存了用于執(zhí)行后述的共享密鑰生成 處理例程W及偽隨機(jī)數(shù)列產(chǎn)生處理例程的程序的ROM巧ead化ly Memo巧;只讀存儲(chǔ)器)的 計(jì)算機(jī)構(gòu)成,功能上構(gòu)成為如下所示。如圖2所示,加密解密裝置12AU2B具備通信部20、 公開數(shù)據(jù)取得部22、密鑰生成部24、非交換矩陣生成部26、共享密鑰計(jì)算部28、數(shù)據(jù)輸入輸 出部32、共用數(shù)據(jù)設(shè)定部34、偽隨機(jī)數(shù)列產(chǎn)生部36、加密部38、W及解密部40。此外,非交 換矩陣生成部26為矩陣計(jì)算部的一例,共享密鑰計(jì)算部28為矩陣取得部W及共享密鑰計(jì) 算部的一例。另外,偽隨機(jī)數(shù)列產(chǎn)生部36為矩陣生成部、矩陣作用部、位串變換部、位數(shù)判 定部W及偽隨機(jī)數(shù)列產(chǎn)生部的一例。
[0042] 通信部20經(jīng)由互聯(lián)網(wǎng)接入網(wǎng)絡(luò)16進(jìn)行數(shù)據(jù)的發(fā)送接收。
[0043] 數(shù)據(jù)輸入輸出部32被輸入從用戶終端14AU4B輸出的數(shù)據(jù),并且對(duì)用戶終端14A、 14B輸出數(shù)據(jù)。
[0044] 加密解密裝置12AU2B的公開數(shù)據(jù)取得部22經(jīng)由通信部20,取得質(zhì)數(shù)P、自然數(shù) cUdXd矩陣Q(mod p)、W及存在逆矩陣的dXd矩陣S(mod P)作為在與通信對(duì)象的通信中 使用的公開數(shù)據(jù)。其中,det Q聲1,(mod P)表示變量或矩陣的元素的值為質(zhì)數(shù)P的余數(shù)。
[0045] 加密解密裝置12A的密鑰生成部24生成由自然數(shù)nA(mod p)、kA(mod P)構(gòu)成的密 鑰。
[0046] 加密解密裝置12B的密鑰生成部24生成由自然數(shù)咕(mod p)、ke (mod P)構(gòu)成的密 鑰。
[0047] 密鑰生成部24在每次進(jìn)行通信時(shí),生成新的密鑰并更新密鑰。
[0048] 加密解密裝置12A的非交換矩陣生成部26使用密鑰riA,k,,根據(jù)下式(1),計(jì)算 dXd的矩陣MA(mod P),經(jīng)由通信部20,發(fā)送矩陣Ma給通信對(duì)象即加密解密裝置12B。
[0049] Ma= S-k^SkA…(1)
[0化0] 加密解密裝置12B的非交換矩陣生成部26使用密鑰rv ke,根據(jù)下式(2),計(jì)算 dXd的矩陣Mb (mod P),經(jīng)由通信部20,向作為通信對(duì)象的加密解密裝置12A發(fā)送矩陣Mb。
[005U Mb= S-kBQ址SkB…(2)
[0052] 加密解密裝置12A的共享密鑰計(jì)算部28取得由通信部20接收的矩陣地,使用取 得的矩陣Mb,根據(jù)下式(3)算出dXd矩陣Mw (mod P)。
[005引 M郵=S_'"VskA…(3)
[0化4] 加密解密裝置12B的共享密鑰計(jì)算部28取得由通信部20接收的矩陣Ma,使用取 得的矩陣Ma,根據(jù)下式(4)算出dXd矩陣McA(mod P)。
[005引 Mba= S -陸Ma址S陸…(4)
[0056] 此處,如圖3所示,上述做式如下變換成妨式。
[0057] M郵=S-"X"^SKA
[005引 Mae = S 僅邸9址5?。SKA
[0059] Mae = S -*"^邸怕址)^S?SKA
[0060] M郵=S -(郵郵Q地祉S腦+風(fēng)…巧)
[0061] 另外,上述(4)式如下變換成化)式。
[0062] S-kbMa址 S邸=Mba
[0063] S-? (S-KV^SKA) = M ba
[0064] S-KBS-KA 怕"^)址5*"^5邸=M ba
[0065] S_腦+郵地S (郵風(fēng)=M ba…巧)
[0066] 由上述妨式、(6)式可得下式(7),證明心與Mca相等。
[0067] M郵=S -(郵郵Q祉地S腦姻=S -皮刪)Q祉地S曲刷)=M BA... (7)
[0068] 因此,加密解密裝置12AU2B的共享密鑰計(jì)算部28將算出的矩陣Mab、MeA作為共 享密鑰輸出給共用數(shù)據(jù)設(shè)定部34。
[0069] 共用數(shù)據(jù)設(shè)定部34設(shè)定在加密解密裝置12A、12B中共用的數(shù)據(jù)。具體地說(shuō),共享 密鑰即矩陣心(Mca);私密數(shù)據(jù)即質(zhì)數(shù)Pl、p2 及初始向量V。被設(shè)定為共用的數(shù)據(jù)。
[0070] 偽隨機(jī)數(shù)列產(chǎn)生部36通過(guò)后述的方法,使用共享密鑰即矩陣M^(Mca)、私密數(shù)據(jù)即 質(zhì)數(shù)pi、p2、W及初始向量V。,產(chǎn)生偽隨機(jī)數(shù)位串。
[0071] 加密部38通過(guò)將由偽隨機(jī)數(shù)列產(chǎn)生部36產(chǎn)生的偽隨機(jī)數(shù)位串用作0TP(one time pad ;-次一密)加密密鑰,從而對(duì)由數(shù)據(jù)輸入輸出部32輸入的加密對(duì)象數(shù)據(jù)進(jìn)行流加密。 例如,加密部38如圖4A所示,通過(guò)對(duì)W位串表示的明文(plain text)和作為加密密鑰的 偽隨機(jī)數(shù)位串的X0R進(jìn)行運(yùn)算,從而自前方起按每一位(或每一字節(jié))進(jìn)行加密。由加密 部38進(jìn)行加密后的數(shù)據(jù)由通信部20進(jìn)行數(shù)據(jù)發(fā)送。
[0072] 解密部40通過(guò)將由偽隨機(jī)數(shù)列產(chǎn)生部36產(chǎn)生的偽隨機(jī)數(shù)位串用作一次一密加密 的密鑰,從而對(duì)由通信部20接收的解密對(duì)象數(shù)據(jù)進(jìn)行解密。例如,解密部40如圖4B所示, 通過(guò)對(duì)W位串表示的密文(cypher text)和作為加密密鑰的偽隨機(jī)數(shù)位串的X0R運(yùn)算,從 而自前方起按每一位(或每一字節(jié))進(jìn)行解密。由解密部40進(jìn)行解密后的數(shù)據(jù)由數(shù)據(jù)輸 入輸出部32輸出給數(shù)據(jù)終端14AU4B。
[0073] 接著,就本實(shí)施方式中的產(chǎn)生偽隨機(jī)數(shù)位串的原理進(jìn)行說(shuō)明。
[0074] 首先,偽隨機(jī)數(shù)列產(chǎn)生部36使用作為共享密鑰生成的dXd矩陣Mab(或地A) W及 被設(shè)定作為共用的私密數(shù)據(jù)的質(zhì)數(shù)pl、p2,如下生成兩個(gè)非交換矩陣A1、A2。此外,W下,W 矩陣Mab為2 X 2矩陣的情況為例進(jìn)行說(shuō)明。
[0075] 偽隨機(jī)數(shù)列產(chǎn)生部36如下式(8)所示,使用矩陣Mw和質(zhì)數(shù)pl,計(jì)算矩陣A1'。
[0076] [數(shù)學(xué)式U
[0077] ? * ? ( 8 )
[007引然后,偽隨機(jī)數(shù)列產(chǎn)生部36求出使<g〉= (1,…,Pi-l}的生成器g。例如,pi = 7的生成器如下,為<3〉= (1,…,6}。
[0079] 31= 3, 3 2= 9mod7 = 2, 3 3= 27mod7 = 6, 3 4= 81mod7 = 4, 3 5= 243mod7 = 5,…
[0080] 然后,當(dāng)將Ai"W下式(9)表示時(shí),偽隨機(jī)數(shù)列產(chǎn)生部36改變d' W使det Ai" = g,將改變d'而得的A"i設(shè)為非交換矩陣Al。
[0081] [數(shù)學(xué)式2]
[0082] ? ? ? ( 9 )
[0083] 另外,偽隨機(jī)數(shù)列產(chǎn)生部36如下式(10)所示,使用矩陣Mab和質(zhì)數(shù)p2,計(jì)算矩陣 A2',與上述相同地生成非交換矩陣A2。
[0084] [數(shù)學(xué)式3]
[0085] ... (10)
[0086] 此處,使用非交換矩陣A1,A2生成的偽隨機(jī)數(shù)列的周期的長(zhǎng)度0(A)使用用于非交 換矩陣A1、A2的生成的任意質(zhì)數(shù)P,可W寫成下式(11)。
【權(quán)利要求】
1. 一種共享密鑰生成裝置,包含: 公開數(shù)據(jù)設(shè)定部,設(shè)定包含質(zhì)數(shù)P、自然數(shù)d、行列式的值不為1的dXd矩陣Q(mod p)、 以及存在逆矩陣的dXd矩陣S (mod p)的公開數(shù)據(jù); 密鑰生成部,生成包含自然數(shù)nA(mod p)、kA(mod p)的密鑰; 矩陣計(jì)算部,使用所述密鑰,根據(jù)下式(I)計(jì)算dXd矩陣MA(mod p),發(fā)送給通信對(duì)象; 矩陣取得部,取得使用所述通信對(duì)象的密鑰中所包含的自然數(shù)%〇11〇(1 p)、kB(mod p)并 根據(jù)下式(II)計(jì)算的dXd矩陣MB(mod p);以及 共享密鑰計(jì)算部,使用由所述矩陣取得部取得的矩陣魄,根據(jù)下式(III)算出dXd矩 陣MAB(mod p)作為共享密鑰, MA= S ... (I) mb= ...(II) Mab= …(III)。
2. 根據(jù)權(quán)利要求1所述的共享密鑰生成裝置, 所述密鑰生成部在每次與所述通信對(duì)象通信時(shí),生成并更新包含自然數(shù)nA(mod p)、 kA(mod p)的密鑰。
3. -種加密裝置,包含: 矩陣生成部,基于設(shè)定為與解密裝置共用的、由權(quán)利要求1或2的共享密鑰生成裝置生 成的共享密鑰MAB以及兩個(gè)質(zhì)數(shù)pl、p2,生成兩個(gè)非交換矩陣Al、A2 ; 矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述解密裝置共用的d維初始向量V(l或 上次求得的d維向量Vi_/,求出向量v/,并且使非交換矩陣A2作用于所述初始向量V(l或上 次求得的d維向量Vi_i2,求出向量\2,該矩陣作用部將使所述非交換矩陣A1、A2作用時(shí)的 或運(yùn)算以及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合了多種運(yùn)算符的運(yùn)算方法,使非交 換矩陣A1、A2作用; 位串變換部,對(duì)由所述矩陣作用部求得的向量v/進(jìn)行非線性變換而變換成位串,使所 述變換而得的位串與上次求得的位串W1結(jié)合而求出所述位串W1,并且對(duì)向量Vi2進(jìn)行非線 性變換而變換成位串,使所述變換而得的位串與上次求得的位串W2結(jié)合而求出所述位串 W2 ; 位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用部進(jìn)行的作用以及由所述位串變換部進(jìn)行的變 換與結(jié)合,直至由所述位串變換部求得的所述位串W1以及所述位串W2各自的位數(shù)達(dá)到表 示加密對(duì)象數(shù)據(jù)的位串的位數(shù); 偽隨機(jī)數(shù)列產(chǎn)生部,計(jì)算所述位串W1以及所述位串W2的異或,求出偽隨機(jī)數(shù)位串;以 及 加密部,計(jì)算由所述偽隨機(jī)數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述加密對(duì)象數(shù)據(jù) 的位串的異或,由此將所述加密對(duì)象數(shù)據(jù)加密。
4. 一種解密裝置,包含: 矩陣生成部,基于設(shè)定為與加密裝置共用的、由權(quán)利要求1或2的共享密鑰生成裝置生 成的共享密鑰MAB以及兩個(gè)質(zhì)數(shù)pl、p2,生成兩個(gè)非交換矩陣Al、A2 ; 矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述加密裝置共用的d維初始向量V(l或 上次求得的d維向量Vi_/,求出向量v/,并且使非交換矩陣A2作用于所述初始向量V(l或上 次求得的d維向量Vi_i2,求出向量\2,該矩陣作用部將使所述非交換矩陣A1、A2作用時(shí)的 或運(yùn)算以及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合了多種運(yùn)算符的運(yùn)算方法,使非交 換矩陣A1、A2作用; 位串變換部,對(duì)由所述矩陣作用部求得的向量v/進(jìn)行非線性變換而變換成位串,使所 述變換而得的位串與上次求得的位串W1結(jié)合而求出所述位串W1,并且對(duì)向量Vi2進(jìn)行非線 性變換而變換成位串,使所述變換而得的位串與上次求得的位串W2結(jié)合而求出所述位串 W2 ; 位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用部進(jìn)行的作用以及由所述位串變換部進(jìn)行的變 換與結(jié)合,直至由所述位串變換部求得的所述位串W1以及所述位串W2各自的位數(shù)達(dá)到表 示解密對(duì)象數(shù)據(jù)的位串的位數(shù); 偽隨機(jī)數(shù)列產(chǎn)生部,計(jì)算所述位串W1以及所述位串W2的異或,求出偽隨機(jī)數(shù)位串;以 及 解密部,計(jì)算由所述偽隨機(jī)數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述解密對(duì)象數(shù)據(jù) 的位串的異或,由此將所述解密對(duì)象數(shù)據(jù)解密。
5. -種程序,用于使計(jì)算機(jī)作為以下部分發(fā)揮功能: 公開數(shù)據(jù)設(shè)定部,設(shè)定包含質(zhì)數(shù)P、自然數(shù)d、行列式的值不為1的dXd矩陣Q(mod p)、 以及存在逆矩陣的dXd矩陣S (mod p)的公開數(shù)據(jù); 密鑰生成部,生成包含自然數(shù)nA(mod p)、kA(mod p)的密鑰; 矩陣計(jì)算部,使用所述密鑰,根據(jù)下式(IV)計(jì)算dXd矩陣MA(mod p),發(fā)送給通信對(duì) 象; 矩陣取得部,取得使用所述通信對(duì)象的密鑰中包含的自然數(shù)nB(mod p)、kB(mod p)并根 據(jù)下式(V)計(jì)算的dXd矩陣MB(mod p);以及 共享密鑰計(jì)算部,使用由所述矩陣取得部取得的矩陣MB,根據(jù)下式(VI)算出dX d矩陣 M# (mod p)作為共享密鑰, Ma= S ... (IV) mb= …(V) Mab= ...(VI)。
6. -種共享密鑰生成方法,包含以下步驟: 由公開數(shù)據(jù)設(shè)定部,設(shè)定包含質(zhì)數(shù)P、自然數(shù)d、行列式的值不為1的dXd矩陣Q(mod P)、以及存在逆矩陣的dXd矩陣S(mod p)的公開數(shù)據(jù)的步驟; 由密鑰生成部,生成包含自然數(shù)nA(mod p)、kA(mod p)的密鑰的步驟; 由矩陣計(jì)算部,使用所述密鑰,根據(jù)下式(VII)計(jì)算dXd矩陣MA(mod p),發(fā)送給通信 對(duì)象的步驟; 由矩陣取得部,取得使用所述通信對(duì)象的密鑰中所包含的自然數(shù)nB(mod p)、kB(mod p) 并根據(jù)下式(VIII)計(jì)算的dXd矩陣MB(mod p)的步驟;以及 由共享密鑰計(jì)算部,使用由所述矩陣取得部取得的矩陣MB,根據(jù)下式(IX)算出dX d矩 陣MAB (mod p)作為共享密鑰的步驟, MA= S ...(VII) mb= …(VIII) mab= s'm/s1^ …(ix)〇
7. -種加密方法,包含以下步驟: 由矩陣生成部,基于設(shè)定為與解密裝置共用的、由權(quán)利要求6的共享密鑰生成方法生 成的共享密鑰MAB以及兩個(gè)質(zhì)數(shù)pl、p2,生成兩個(gè)非交換矩陣Al、A2的步驟; 由矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述解密裝置共用的d維初始向量V(l或上次求得的d維向量Vi_/,求出向量v/,并且使非交換矩陣A2作用于所述初始向量vQ或 上次求得的d維向量vg2,求出向量\2,該矩陣作用部將使所述非交換矩陣Al、A2作用時(shí) 的或運(yùn)算以及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合了多種運(yùn)算符的運(yùn)算方法,使非 交換矩陣A1、A2作用的步驟; 由位串變換部,對(duì)由所述矩陣作用部求得的向量V進(jìn)行非線性變換而變換成位串,使 所述變換而得的位串與上次求得的位串W1結(jié)合而求出所述位串W1,并且對(duì)向量Vi2進(jìn)行非 線性變換而變換成位串,使所述變換而得的位串與上次求得的位串W2結(jié)合而求出所述位 串W2的步驟; 由位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用部進(jìn)行的作用以及由所述位串變換部進(jìn)行的 變換與結(jié)合,直至由所述位串變換部求得的所述位串W1以及所述位串W2各自的位數(shù)達(dá)到 表示加密對(duì)象數(shù)據(jù)的位串的位數(shù)的步驟; 由偽隨機(jī)數(shù)列產(chǎn)生部,計(jì)算所述位串W1以及所述位串W2的異或,求出偽隨機(jī)數(shù)位串的 步驟;以及 由加密部,計(jì)算由所述偽隨機(jī)數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述加密對(duì)象數(shù) 據(jù)的位串的異或,由此將所述加密對(duì)象數(shù)據(jù)加密的步驟。
8. -種解密方法,包含以下步驟: 由矩陣生成部,基于設(shè)定為與加密裝置共用的、由權(quán)利要求1或2的共享密鑰生成方法 生成的共享密鑰MAB以及兩個(gè)質(zhì)數(shù)pl、p2,生成兩個(gè)非交換矩陣Al、A2的步驟; 由矩陣作用部,使非交換矩陣A1作用于設(shè)定為與所述加密裝置共用的d維初始向量V(l或上次求得的d維向量Vi_/,求出向量v/,并且使非交換矩陣A2作用于所述初始向量vQ或 上次求得的d維向量vg2,求出向量\2,該矩陣作用部將使所述非交換矩陣Al、A2作用時(shí) 的或運(yùn)算以及與運(yùn)算的至少一方,置換成預(yù)先確定的、組合了多種運(yùn)算符的運(yùn)算方法,使非 交換矩陣A1、A2作用的步驟; 由位串變換部,對(duì)由所述矩陣作用部求得的向量V進(jìn)行非線性變換而變換成位串,使 所述變換而得的位串與上次求得的位串W1結(jié)合而求出所述位串W1,并且對(duì)向量Vi2進(jìn)行非 線性變換而變換成位串,使所述變換而得的位串與上次求得的位串W2結(jié)合而求出所述位 串W2的步驟; 由位數(shù)判定部,反復(fù)進(jìn)行由所述矩陣作用部進(jìn)行的作用以及由所述位串變換部進(jìn)行的 變換與結(jié)合,直至由所述位串變換部求得的所述位串W1以及所述位串W2各自的位數(shù)達(dá)到 表示解密對(duì)象數(shù)據(jù)的位串的位數(shù)的步驟; 由偽隨機(jī)數(shù)列產(chǎn)生部,計(jì)算所述位串W1以及所述位串W2的異或,求出偽隨機(jī)數(shù)位串的 步驟;以及 由解密部,計(jì)算由所述偽隨機(jī)數(shù)列產(chǎn)生部求得的偽隨機(jī)數(shù)位串和表示所述解密對(duì)象數(shù) 據(jù)的位串的異或,由此將所述解密對(duì)象數(shù)據(jù)解密的步驟。
【文檔編號(hào)】H04L9/08GK104488218SQ201380034391
【公開日】2015年4月1日 申請(qǐng)日期:2013年7月4日 優(yōu)先權(quán)日:2012年7月5日
【發(fā)明者】大矢雅則, 入山圣史, 路易吉·阿卡爾迪, 馬西莫·雷戈利 申請(qǐng)人:克里普特歐貝西克株式會(huì)社