(57)【特許請求の範囲】
【請求項１】
s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
鍵装置の記憶部に、上記端末装置の秘密鍵xが記憶されており、
上記端末装置が、上記乱数s1, s2, s'1, s'2を生成する乱数生成ステップと、
上記端末装置が、次式により、上記乱数s1を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第一乱数化公開鍵情報を算出し、
【数９６】
0006594348.tif 000097
次式により、上記乱数s2を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
【数９７】
0006594348.tif 000098
上記鍵装置が、次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から第一委託結果Z1を算出し、
【数９８】
0006594348.tif 000099
次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から第二委託結果Z2を算出する代理計算ステップと、
【数９９】
0006594348.tif 000100
上記端末装置が、次式により、上記乱数s2を用いて上記第一委託結果Z1から算出した第一検証値と上記乱数s1を用いて上記第二委託結果Z2から算出した第二検証値とが一致するか否かを検証する検証ステップと、
【数１００】
0006594348.tif 000101
上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s'1, s'2を用いて上記第一委託結果Z1および上記第二委託結果Z2から共有鍵Kを算出する共有鍵計算ステップと、
【数１０１】
0006594348.tif 000102
を含む鍵交換方法。
【請求項２】
G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１０２】
0006594348.tif 000103
z∈Zqをマスタ秘密鍵とし、Z1=g1z∈G1, Z2=g2z∈G2をマスタ公開鍵とし、IDAを端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開鍵とし、IDBを他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開鍵とし、DA,1=QA,1z, DA,2=QA,2zを上記端末装置の秘密鍵とし、DB,1=QB,1z, DB,2=QB,2zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1xA, XA,2=g2xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1xB, XB,2=g2xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
【数１０３】
0006594348.tif 000104
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
鍵装置の記憶部に、上記端末装置の秘密鍵DA,1, DA,2が記憶されており、
上記端末装置が、上記乱数si1, si2, s'i1, s'i2を生成する乱数生成ステップと、
上記端末装置が、次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第一乱数化公開鍵情報を算出し、
【数１０４】
0006594348.tif 000105
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
【数１０５】
0006594348.tif 000106
上記鍵装置が、次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
【数１０６】
0006594348.tif 000107
次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算ステップと、
【数１０７】
0006594348.tif 000108
上記端末装置が、次式により、i=1,…,mについて、上記乱数si2を用いて上記第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて上記第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証ステップと、
【数１０８】
0006594348.tif 000109
上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算ステップと、
【数１０９】
0006594348.tif 000110
を含む鍵交換方法。
【請求項３】
Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１１０】
0006594348.tif 000111
sA∈Zqを端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
【数１１１】
0006594348.tif 000112
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、g1, g2を群Gの単位元ではない元とし、
上記端末装置が、上記乱数si1, si2, s'i1, s'i2, g1, g2を生成する乱数生成ステップと、
上記端末装置が、次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第一乱数化公開鍵情報を算出し、
【数１１２】
0006594348.tif 000113
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化ステップと、
【数１１３】
0006594348.tif 000114
上記鍵装置が、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
【数１１４】
0006594348.tif 000115
次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算ステップと、
【数１１５】
0006594348.tif 000116
上記端末装置が、次式により、i=1,…,mについて、上記乱数si2を用いて上記第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて上記第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証ステップと、
【数１１６】
0006594348.tif 000117
上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算ステップと、
【数１１７】
0006594348.tif 000118
を含む鍵交換方法。
【請求項４】
請求項１から３のいずれかに記載の鍵交換方法であって、
上記鍵装置の記憶部に、上記端末装置の固有情報が記憶されており、
上記代理計算ステップは、上記第一乱数化公開鍵情報および上記第二乱数化公開鍵情報とともに受信する固有情報が、上記端末装置の固有情報と一致する場合に、上記第一委託結果および上記第二委託結果を算出するものである
鍵交換方法。
【請求項５】
s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
複数の端末装置と少なくとも１台の鍵装置を含む鍵交換システムであって、
上記端末装置は、
上記乱数s1, s2, s'1, s'2を生成する乱数生成部と、
次式により、上記乱数s1を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第一乱数化公開鍵情報を算出し、
【数１１８】
0006594348.tif 000119
次式により、上記乱数s2を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１１９】
0006594348.tif 000120
次式により、上記乱数s2を用いて第一委託結果Z1から算出した第一検証値と上記乱数s1を用いて第二委託結果Z2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１２０】
0006594348.tif 000121
上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s'1, s'2を用いて上記第一委託結果Z1および上記第二委託結果Z2から共有鍵Kを算出する共有鍵計算部と、
【数１２１】
0006594348.tif 000122
を含み、
上記鍵装置は、
上記端末装置の秘密鍵xを記憶する記憶部と、
次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から上記第一委託結果Z1を算出し、
【数１２２】
0006594348.tif 000123
次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から上記第二委託結果Z2を算出する代理計算部と、
【数１２３】
0006594348.tif 000124
を含む鍵交換システム。
【請求項６】
G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１２４】
0006594348.tif 000125
z∈Zqをマスタ秘密鍵とし、Z1=g1z∈G1, Z2=g2z∈G2をマスタ公開鍵とし、IDAを端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開鍵とし、IDBを他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開鍵とし、DA,1=QA,1z, DA,2=QA,2zを上記端末装置の秘密鍵とし、DB,1=QB,1z, DB,2=QB,2zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1xA, XA,2=g2xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1xB, XB,2=g2xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
【数１２５】
0006594348.tif 000126
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
複数の端末装置と少なくとも１台の鍵装置を含む鍵交換システムであって、
上記端末装置は、
上記乱数si1, si2, s'i1, s'i2を生成する乱数生成部と、
次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第一乱数化公開鍵情報を算出し、
【数１２６】
0006594348.tif 000127
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１２７】
0006594348.tif 000128
次式により、i=1,…,mについて、上記乱数si2を用いて第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１２８】
0006594348.tif 000129
上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算部と、
【数１２９】
0006594348.tif 000130
を含み、
上記鍵装置は、
上記端末装置の秘密鍵DA,1, DA,2を記憶する記憶部と、
次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第一乱数化公開鍵情報から上記第一委託結果ζi1を算出し、
【数１３０】
0006594348.tif 000131
次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算部と、
【数１３１】
0006594348.tif 000132
を含む鍵交換システム。
【請求項７】
Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１３２】
0006594348.tif 000133
sA∈Zqを端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
【数１３３】
0006594348.tif 000134
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、g1, g2を群Gの単位元ではない元とし、
複数の端末装置と少なくとも１台の鍵装置を含む鍵交換システムであって、
上記端末装置は、
上記乱数si1, si2, s'i1, s'i2, g1, g2を生成する乱数生成部と、
次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第一乱数化公開鍵情報を算出し、
【数１３４】
0006594348.tif 000135
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１３５】
0006594348.tif 000136
次式により、i=1,…,mについて、上記乱数si2を用いて上記第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて上記第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１３６】
0006594348.tif 000137
上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算部と、
【数１３７】
0006594348.tif 000138
を含み、
上記鍵装置は、
次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
【数１３８】
0006594348.tif 000139
次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算部、
【数１３９】
0006594348.tif 000140
を含む鍵交換システム。
【請求項８】
s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
上記端末装置の秘密鍵xを記憶する記憶部と、
次式により、上記端末装置の秘密鍵xを用いて第一乱数化公開鍵情報から第一委託結果Z1を算出し、
【数１４０】
0006594348.tif 000141
次式により、上記端末装置の秘密鍵xを用いて第二乱数化公開鍵情報から第二委託結果Z2を算出する代理計算部と、
【数１４１】
0006594348.tif 000142
を含み、
上記第一乱数化公開鍵情報は、次式により、上記乱数s1を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化したものであり、
【数１４２】
0006594348.tif 000143
上記第二乱数化公開鍵情報は、次式により、上記乱数s2を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化したものである、
【数１４３】
0006594348.tif 000144
鍵装置。
【請求項９】
G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１４４】
0006594348.tif 000145
z∈Zqをマスタ秘密鍵とし、Z1=g1z∈G1, Z2=g2z∈G2をマスタ公開鍵とし、IDAを端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開鍵とし、IDBを他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開鍵とし、DA,1=QA,1z, DA,2=QA,2zを上記端末装置の秘密鍵とし、DB,1=QB,1z, DB,2=QB,2zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1xA, XA,2=g2xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1xB, XB,2=g2xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
【数１４５】
0006594348.tif 000146
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
上記端末装置の秘密鍵DA,1, DA,2を記憶する記憶部と、
次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
【数１４６】
0006594348.tif 000147
次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算部と、
【数１４７】
0006594348.tif 000148
を含み、
上記第一乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化したものであり、
【数１４８】
0006594348.tif 000149
上記第二乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化したものである、
【数１４９】
0006594348.tif 000150
鍵装置。
【請求項１０】
Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１５０】
0006594348.tif 000151
sA∈Zqを端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
【数１５１】
0006594348.tif 000152
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、g1, g2を群Gの単位元ではない元とし、
次式により、i=1,…,mについて、第一乱数化公開鍵情報から第一委託結果ζi1を算出し、
【数１５２】
0006594348.tif 000153
次式により、i=1,…,mについて、第二乱数化公開鍵情報から第二委託結果ζi2を算出する代理計算部、
【数１５３】
0006594348.tif 000154
を含み、
上記第一乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化したものであり、
【数１５４】
0006594348.tif 000155
上記第二乱数化公開鍵情報は、次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化したものである、
【数１５５】
0006594348.tif 000156
鍵装置。
【請求項１１】
s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、gを群Gの要素とし、xを端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
上記乱数s1, s2, s'1, s'2を生成する乱数生成部と、
次式により、上記乱数s1を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第一乱数化公開鍵情報を算出し、
【数１５６】
0006594348.tif 000157
次式により、上記乱数s2を用いて上記端末装置の公開鍵gxと上記他の端末装置の公開鍵gyを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１５７】
0006594348.tif 000158
次式により、上記乱数s2を用いて第一委託結果Z1から算出した第一検証値と上記乱数s1を用いて第二委託結果Z2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１５８】
0006594348.tif 000159
上記第一検証値と上記第二検証値とが一致する場合に、次式により、上記乱数s'1, s'2を用いて上記第一委託結果Z1および上記第二委託結果Z2から共有鍵Kを算出する共有鍵計算部と、
【数１５９】
0006594348.tif 000160
を含み、
上記第一委託結果は、次式により、上記端末装置の秘密鍵xを用いて上記第一乱数化公開鍵情報から算出したものであり、
【数１６０】
0006594348.tif 000161
上記第二委託結果は、次式により、上記端末装置の秘密鍵xを用いて上記第二乱数化公開鍵情報から算出したものである、
【数１６１】
0006594348.tif 000162
端末装置。
【請求項１２】
G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１６２】
0006594348.tif 000163
z∈Zqをマスタ秘密鍵とし、Z1=g1z∈G1, Z2=g2z∈G2をマスタ公開鍵とし、IDAを端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開鍵とし、IDBを他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開鍵とし、DA,1=QA,1z, DA,2=QA,2zを上記端末装置の秘密鍵とし、DB,1=QB,1z, DB,2=QB,2zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1xA, XA,2=g2xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1xB, XB,2=g2xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
【数１６３】
0006594348.tif 000164
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
上記乱数si1, si2, s'i1, s'i2を生成する乱数生成部と、
次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第一乱数化公開鍵情報を算出し、
【数１６４】
0006594348.tif 000165
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵QB,2と上記他の端末装置の短期公開鍵XB,2を乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１６５】
0006594348.tif 000166
次式により、i=1,…,mについて、上記乱数si2を用いて第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１６６】
0006594348.tif 000167
上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算部と、
【数１６７】
0006594348.tif 000168
を含み、
上記第一委託結果は、次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第一乱数化公開鍵情報から算出したものであり、
【数１６８】
0006594348.tif 000169
上記第二委託結果は、次式により、i=1,…,mについて、上記端末装置の秘密鍵DA,1を用いて上記第二乱数化公開鍵情報から算出したものである、
【数１６９】
0006594348.tif 000170
端末装置。
【請求項１３】
Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
【数１７０】
0006594348.tif 000171
sA∈Zqを端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
【数１７１】
0006594348.tif 000172
si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、g1, g2を群Gの単位元ではない元とし、
上記乱数si1, si2, s'i1, s'i2, g1, g2を生成する乱数生成部と、
次式により、i=1,…,mについて、上記乱数si1を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第一乱数化公開鍵情報を算出し、
【数１７２】
0006594348.tif 000173
次式により、i=1,…,mについて、上記乱数si2を用いて上記他の端末装置の公開鍵SBと上記他の端末装置の短期公開鍵XBを乱数化した第二乱数化公開鍵情報を算出する公開鍵乱数化部と、
【数１７３】
0006594348.tif 000174
次式により、i=1,…,mについて、上記乱数si2を用いて上記第一委託結果ζi1から算出した第一検証値と上記乱数si1を用いて上記第二委託結果ζi2から算出した第二検証値とが一致するか否かを検証する検証部と、
【数１７４】
0006594348.tif 000175
上記第一検証値と上記第二検証値とが一致する場合に、次式により、i=1,…,mについて、上記乱数s'i1, s'i2を用いて委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて共有鍵を生成する共有鍵計算部と、
【数１７５】
0006594348.tif 000176
を含み、
上記第一委託結果は、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報から算出したものであり、
【数１７６】
0006594348.tif 000177
上記第二委託結果は、次式により、i=1,…,mについて、上記第二乱数化公開鍵情報から算出したものである、
【数１７７】
0006594348.tif 000178
端末装置。
【請求項１４】
請求項８から１０のいずれかに記載の鍵装置もしくは請求項１１から１３のいずれかに記載の端末装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ分野の応用技術に関し、特にクラウド鍵管理型の鍵交換技術に関する。
【背景技術】
【０００２】
特許文献１には、代理計算技術が記載されている。代理計算とは、別装置に何らかの計算を委託することである。よく知られる代理計算としては、復号機能を備えた装置に暗号文の復号を依頼し、平文を得るというものである。例えば、クライアントが平文mを公開鍵yで暗号化した暗号文Cを保持しており、鍵装置が公開鍵yに対する秘密鍵sを保持しているとする。クライアントは暗号文Cを鍵装置に送信し、鍵装置は公開鍵yに対応する秘密鍵sで暗号文Cを復号して平文mを得、クライアントへ返信する。代理計算によって、（１）クライアントが所持すべき計算能力と機能の不足、（２）クライアントが機能を実行するために必要な秘密情報の漏洩（例えば、代理計算を用いない通常の構成では、秘密鍵をクライアント自身が管理する必要があり、クライアントから秘密鍵が漏洩する恐れがある。）、（３）クライアントが所有する装置の紛失や盗難による不正利用（例えば、鍵装置が秘密鍵を失効させることでクライアントの復号機能を停止させ、不正利用を防止することができる。）、などの課題を解決することができる。【０００３】
非特許文献１、２には、鍵交換技術が記載されている。鍵交換とは、公開された通信路を使って2台のクライアントが安全に鍵を交換（共有）するための方式である。具体的な鍵交換の例は、DHM（Diffie-Hellman-Merkle）鍵交換方式がある。一般的に、暗復号を用いて鍵交換を行うことは可能であるが、暗復号では秘密鍵を用いるため、鍵管理が必要となる。一方、DHM鍵交換方式では乱数を用いるため、鍵管理が不要となり安全性が向上する。また、鍵の共有相手を認証しながら鍵交換を行う方式として、デジタル署名を用いた認証鍵交換、MQV（Menezes-Qu-Vanstone）認証鍵交換、HMQV（Hashed MQV）認証鍵交換（以上、非特許文献１参照）、およびFSU認証鍵交換（非特許文献２参照）、などが挙げられる。【０００４】
特許文献２には、自己訂正技術が記載されている。自己訂正とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて、常に正しい計算を行う技術である。より詳しくは、正しい計算結果を出力する計算機を用いた場合には正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合には正しい計算結果、もしくは計算できない旨の結果を出力する技術である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５１６１１７７号公報
【特許文献２】特許第５５０６７０４号公報
【非特許文献】
【０００６】
【非特許文献１】岡本龍明、「鍵交換：現代暗号の誕生とその発展」、電気情報通信学会、Fundamentals Review、vol. 1、no. 4、pp. 70-76、2007年
【非特許文献２】Atsushi Fujioka, Koutarou Suzuki, Berkant Ustaoglu, “Ephemeral Key Leakage Resilient and Efficient ID-AKEs That Can Share Identities,Private and Master Keys”, Pairing 2010, Lecture Notes in Computer Science, vol. 6487, pp. 187-205, 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
代理計算を用いて鍵交換を行う場合、以下の課題がある。【０００８】
（１）共有鍵が漏洩する問題がある。例えば、クライアントu1とクライアントu2が鍵装置（代理計算装置）を利用して代理計算による鍵交換を行う場合、鍵装置はクライアントのみが知るべきである共有鍵を取得でき、クライアント間の暗号通信を解読できてしまう。具体的には、クライアントu1はクライアントu2の公開鍵をそのまま鍵装置へ送信するため、鍵装置はクライアントu1とクライアントu2が鍵交換を行おうとしていることを知ることができる。すると、鍵装置はクライアントu1の秘密鍵と、公開もしくは送信されたクライアントu2の公開鍵とを用いて共有鍵を計算できてしまう。【０００９】
（２）鍵装置の処理正当性の問題がある。秘密鍵を所持する鍵装置が、バグや故障等により正しい処理を行えない場合に、クライアントは鍵装置が正しい処理を行ったのかを検証できない。【００１０】
（３）鍵装置の正当性の問題がある。誤った鍵装置に代理計算を依頼した場合に、クライアントは誤った鍵装置の処理結果であることを検出できない。【００１１】
この発明の目的は、このような点に鑑みて、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる鍵交換技術を提供することである。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、この発明の鍵交換方法は、s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、鍵装置の記憶部に、端末装置の秘密鍵が記憶されており、端末装置が、乱数s1, s2, s'1, s'2を生成する乱数生成ステップと、端末装置が、乱数s1を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、乱数s2を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化ステップと、鍵装置が、秘密鍵を用いて第一乱数化公開鍵情報から第一委託結果を算出し、秘密鍵を用いて第二乱数化公開鍵情報から第二委託結果を算出する代理計算ステップと、端末装置が、乱数s2を用いて第一委託結果から第一検証値を算出し、乱数s1を用いて第二委託結果から第二検証値を算出し、第一検証値と第二検証値とが一致するか否かを検証する検証ステップと、端末装置が、第一検証値と第二検証値とが一致する場合に、乱数s'1, s'2を用いて第一委託結果および第二委託結果から共有鍵を算出する共有鍵計算ステップと、を含む。
【発明の効果】
【００１３】
端末装置から鍵装置へ送信される公開鍵が乱数化されているため、鍵装置は計算を依頼してきた端末装置が他のどの端末装置と鍵交換を行うのかを特定できない。また、端末装置は他の端末装置の公開鍵を乱数化して代理計算を委託するため、鍵装置は共有鍵を計算することができない。【００１４】
また、端末装置は自分の公開鍵と相手方の乱数化した公開鍵を鍵装置へ送信し、鍵装置は両方について処理結果を返信するため、正しい鍵装置が選択されていない場合や鍵装置が正しく処理をしていない場合は、委託した結果として得られる二つの鍵交換に必要な値に誤差が生じる。端末装置はその誤差の有無を確認することで、正しい鍵装置であることと正しく処理されていることを確認することができる。【００１５】
したがって、この発明の鍵交換技術によれば、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、第一実施形態の鍵交換システムの機能構成を例示する図である。
【図２】図２Ａは、端末装置の機能構成を例示する図である。図２Ｂは、鍵装置の機能構成を例示する図である。
【図３】図３は、第一実施形態の鍵交換方法の処理フローを例示する図である。
【図４】図４は、第二実施形態の鍵交換方法の処理フローを例示する図である。
【図５】図５は、第三実施形態の鍵交換方法の処理フローを例示する図である。
【図６】図６は、第四実施形態の鍵交換方法の処理フローを例示する図である。
【図７】図７は、第五実施形態の鍵交換システムの機能構成を例示する図である。
【図８】図８は、第五実施形態の鍵交換方法の処理フローを例示する図である。
【図９】図９は、第六実施形態の鍵交換システムの機能構成を例示する図である。
【図１０】図１０は、第六実施形態の鍵交換方法の処理フローを例示する図である。
【図１１】図１１は、第七実施形態の鍵交換システムの機能構成を例示する図である。
【図１２】図１２は、第七実施形態の鍵交換方法の処理フローを例示する図である。
【図１３】図１３は、第七実施形態の鍵交換方法の処理フローを例示する図である。
【発明を実施するための形態】
【００１７】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１８】
［自己訂正を用いた代理計算］
自己訂正を用いた代理計算、特に群準同型の代理計算について説明する。二つの群G, Hと、その間の準同型写像をF: G→Hとする。このとき、GとHに定義される二項演算はともに乗法としても一般性を失わない。クライアント端末Uがg∈Gを秘匿化して代理計算装置Pに送信し、F(g)の計算を委託する手法を以下に述べる。
【００１９】
（１）クライアント端末Uは単位元でない適当な元g0∈Gに対してF(g0)を計算する。
【００２０】
（２）クライアント端末Uはランダムな整数s1, s2∈Zを互いに素になるようにとり、s'1とs'2をs1s'1+s2s'2=1を満足するように定める。
【００２１】
（３）クライアント端末Uは任意の単位元でない元g1, g2∈Gを定め、代理計算装置Pへ二つのペア(g1-1, g1gs1), (g2-1, g2gs2)を送信する。
【００２２】
（４）代理計算装置Pはζ1=F(g1-1)F(g1gs1), ζ2=F(g2-1)F(g2gs2)を計算し、クライアント端末Uへ送信する。
【００２３】
（５）クライアント端末Uはζ1s2=ζ2s1を確認する。正しくなければ（１）に戻る。正しければ、ζ1s'1ζ2s'2=F(gs1s'1+s2s'2)=F(g)を計算する。
【００２４】
［第一実施形態］
第一実施形態は、自己訂正を用いたDHM鍵交換方式である。
【００２５】
本形態の鍵交換システムは、例えば、図１に示すように、共有鍵の交換を行う２台の端末装置１1, １2と各端末装置に対応する２台の鍵装置２1, ２2とを含む。本形態では２台の端末装置１が鍵交換を行う例を説明するが、鍵交換システムに含まれる端末装置１および鍵装置２の数に制限はない。各端末装置１および各鍵装置２は通信網９を介して相互に通信可能に接続される。通信網９は、例えば、インターネットやWAN（Wide Area Network）、LAN（Local Area Network）、専用線、公衆交換電話網、携帯電話通信網などで構成することができる。
【００２６】
端末装置１は、例えば、図２Ａに示すように、記憶部１０、公開鍵受信部１１、乱数生成部１２、公開鍵乱数化部１３、検証部１４、および共有鍵計算部１５を含む。
【００２７】
鍵装置２は、例えば、図２Ｂに示すように、記憶部２０および代理計算部２１を含む。
【００２８】
端末装置１および鍵装置２は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。端末装置１および鍵装置２は、例えば、中央演算処理装置の制御のもとで各処理を実行する。端末装置１および鍵装置２に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、端末装置１および鍵装置２の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００２９】
以下、図３を参照して、本形態の鍵交換方法の処理手続きを説明する。図３では、端末装置１1および鍵装置２1の処理のみを示すが、端末装置１2および鍵装置２2についても同様の処理を行う。
【００３０】
以下では、gを位数が素数pである群Gの要素とし、Zpを位数pの剰余環とし、x, y∈Zpとする。
【００３１】
鍵装置２1の記憶部２０には、端末装置１1の秘密鍵xが記憶されている。端末装置１1の記憶部１０には、端末装置１1の公開鍵gxが記憶されている。同様に、鍵装置２2の記憶部２０には、端末装置１2の秘密鍵yが記憶されている。端末装置１2の記憶部１０には、端末装置１2の公開鍵gyが記憶されている。
【００３２】
ステップＳ１１において、端末装置１2の公開鍵受信部１１は、端末装置１2の公開鍵gyを端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、公開鍵gyを端末装置１2より受信する。同様に、端末装置１1の公開鍵受信部１１は、端末装置１1の公開鍵gxを端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、公開鍵gxを端末装置１1より受信する。
【００３３】
ステップＳ１２において、端末装置１1の乱数生成部１２は、乱数s1, s2, s'1, s'2, r1, r2を生成する。ここで、s1, s2は互いに素であり、s1s'1+s2s'2=1を満たすものとする。r1, r2は任意の数でよい。同様に、端末装置１2の乱数生成部１２は、s3, s4, s'3, s'4, r3, r4を生成する。ここで、s3, s4は互いに素であり、s3s'3+s4s'4=1を満たすものとする。r3, r4は任意の数でよい。
【００３４】
ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、式（１）により、端末装置１1の公開鍵gxと端末装置１2の公開鍵gyとの組を、乱数s1, r1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（２）により、端末装置１1の公開鍵gxと端末装置１2の公開鍵gyとの組を、乱数s2, r2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【００３５】
【数１】
0006594348.tif 000002
【００３６】
第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gxを-r1乗してg-r1xを計算する。gyをs1乗してgs1yを計算する。gをr1乗してgr1を計算する。gs1yとgr1とを掛け合わせて、gs1y+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
【００３７】
同様に、端末装置１2の公開鍵乱数化部１３は、式（３）により、端末装置１1の公開鍵gxと端末装置１2の公開鍵gyとの組を、乱数s3, r3を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（４）により、端末装置１1の公開鍵gxと端末装置１2の公開鍵gyとの組を、乱数s4, r4を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【００３８】
【数２】
0006594348.tif 000003
【００３９】
ステップＳ２１において、鍵装置２1の代理計算部２１は、式（５）により、秘密鍵xを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z1（以下、第一委託結果と呼ぶ。）を算出する。また、式（６）により、秘密鍵xを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置１1へ送信する。
【００４０】
【数３】
0006594348.tif 000004
【００４１】
第一委託結果Z1は、具体的には以下のようにして計算することができる。gs1y+r1をx乗してg(s1y+r1)xを計算する。g-r1xとg(s1y+r1)xとを掛け合わせて、g-r1xg(s1y+r1)xを計算する。第二委託結果Z2も同様にして計算することができる。
【００４２】
同様に、鍵装置２2の代理計算部２１は、式（７）により、秘密鍵yを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z3（以下、第一委託結果と呼ぶ。）を算出する。また、式（８）により、秘密鍵yを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z4（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置１2へ送信する。
【００４３】
【数４】
0006594348.tif 000005
【００４４】
ステップＳ１４において、端末装置１1の検証部１４は、式（９）により、第一委託結果Z1をs2乗した値（以下、第一検証値と呼ぶ。）と第二委託結果Z2をs1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（10）により、第一委託結果Z3をs4乗した値（以下、第一検証値と呼ぶ。）と第二委託結果Z4をs3乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２へ処理を戻す。
【００４５】
【数５】
0006594348.tif 000006
【００４６】
ステップＳ１５において、端末装置１1の共有鍵計算部１５は、式（11）により、乱数s'1, s'2を用いて第一委託結果Z1および第二委託結果Z2から共有鍵Kを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（12）により、乱数s'3, s'4を用いて第一委託結果Z3および第二委託結果Z4から共有鍵Kを算出する。
【００４７】
【数６】
0006594348.tif 000007
【００４８】
本形態は、以下のように変形してもよい。ステップＳ１３において、端末装置１1の公開鍵乱数化部１３が、第一乱数化公開鍵情報をgs1y+r1のみとし、第二乱数化公開鍵情報をgs2y+r2のみとして鍵装置２1へ送信する。このとき、g-r1xおよびg-r2xを保持しておく。ステップＳ２１において、鍵装置２1の代理計算部２１は、式（13）により、第一委託結果Z'1および第二委託結果Z'2を計算する。
【００４９】
【数７】
0006594348.tif 000008
【００５０】
そして、ステップＳ１４において、端末装置１1の検証部１４は、式（14）により、第一委託結果Z1および第二委託結果Z2を計算する。
【００５１】
【数８】
0006594348.tif 000009
【００５２】
［第二実施形態］
第二実施形態は、自己訂正とデジタル署名を用いた認証鍵交換方式である。
【００５３】
以下、図４を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
【００５４】
本形態では、端末装置１1の記憶部１０には、端末装置１1の公開鍵gx、端末装置１1の署名鍵Sigu1、端末装置１2の検証鍵Veru2、および端末装置１1のユーザ識別子u1が記憶されている。鍵装置２1の記憶部２０には、第一実施形態と同様に、端末装置１1の秘密鍵xが記憶されている。同様に、端末装置１2の記憶部１０には、端末装置１2の公開鍵gy、端末装置１2の署名鍵Sigu2、端末装置１1の検証鍵Veru1、および端末装置１2のユーザ識別子u2が記憶されている。鍵装置２2の記憶部２０には、第一実施形態と同様に、端末装置１2の秘密鍵yが記憶されている。
【００５５】
ステップＳ１１１において、端末装置１2の公開鍵受信部１１は、ユーザ識別子u2と公開鍵gyの組(u2, gy)を端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、(u2, gy)を端末装置１2より受信する。同様に、端末装置１1の公開鍵受信部１１は、ユーザ識別子u1と公開鍵gxの組(u1, gx)を端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、(u1, gx)を端末装置１1より受信する。
【００５６】
ステップＳ１１２において、端末装置１1の公開鍵受信部１１は、署名鍵Sigu1を用いて、公開鍵gxと公開鍵gyとユーザ識別子u1の組に対する署名Sigu1(gx, gy, u1)を生成し、(u1, gx, Sigu1(gx, gy, u1))を端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、端末装置１1より(u1, gx, Sigu1(gx, gy, u1))を受信する。同様に、端末装置１2の公開鍵受信部１１は、署名鍵Sigu2を用いて、公開鍵gxと公開鍵gyとユーザ識別子u2の組に対する署名Sigu2(gx, gy, u2)を生成し、(u2, gy, Sigu2(gx, gy, u2))を端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、端末装置１2より(u2, gy, Sigu2(gx, gy, u2))を受信する。
【００５７】
ステップＳ１１３において、端末装置１1の公開鍵受信部１１は、検証鍵Veru2を用いて、署名Sigu2(gx, gy, u2)を検証する。同様に、端末装置１2の公開鍵受信部１１は、検証鍵Veru1を用いて、署名Sigu1(gx, gy, u1)を検証する。署名Sigu2(gx, gy, u2)および署名Sigu1(gx, gy, u1)が正しければ、ステップＳ１２へ処理を進める。署名Sigu2(gx, gy, u2)もしくは署名Sigu1(gx, gy, u1)が不正であれば、処理を終了する。
【００５８】
以降のステップＳ１２〜Ｓ１５、Ｓ２１の処理は、第一実施形態と同様である。
【００５９】
［第三実施形態］
第三実施形態は、自己訂正を用いたMQV鍵交換方式である。
【００６０】
以下、図５を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
【００６１】
本形態では、鍵装置２1の記憶部２０には、端末装置１1の固定秘密鍵a∈Zpが記憶されている。端末装置１1の記憶部１０には、端末装置１1の固定公開鍵A=ga、端末装置１1の一時秘密鍵x∈Zp、および端末装置１1の一時公開鍵X=gxが記憶されている。同様に、鍵装置２2の記憶部２０には、端末装置１2の固定秘密鍵b∈Zpが記憶されている。端末装置１2の記憶部１０には、端末装置１2の固定公開鍵B=gb、端末装置１2の一時秘密鍵y∈Zp、および端末装置１2の一時公開鍵Y=gyが記憶されている。
【００６２】
ステップＳ１１１において、端末装置１2の公開鍵受信部１１は、固定公開鍵Bと一時公開鍵Yの組(B, Y)を端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、(B, Y)を端末装置１2より受信する。同様に、端末装置１1の公開鍵受信部１１は、固定公開鍵Aと一時公開鍵Xの組(A, X)を端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、(A, X)を端末装置１1より受信する。
【００６３】
ステップＳ１１２において、端末装置１1の公開鍵受信部１１は、値e={Y}|p|および値d={X}|p|を計算する。ここで、{・}|p|は、・をビット表現した際の上位pビットを意味する。同様に、端末装置１2の公開鍵受信部１１は、値e={Y}|p|および値d={X}|p|を計算する。
【００６４】
ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、式（15）により、第一乱数化公開鍵情報を算出する。また、式（16）により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【００６５】
【数９】
0006594348.tif 000010
【００６６】
第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gaを-r1乗してg-r1aを計算する。gbをe乗してgbeを計算し、gyと掛け合わせてgy+beを計算する。gy+beをs1乗してg(y+be)s1を計算する。gをr1乗してgr1を計算し、g(y+be)s1とgr1とを掛け合わせて、g(y+be)s1+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
【００６７】
同様に、端末装置１2の公開鍵乱数化部１３は、式（17）により、第一乱数化公開鍵情報を算出する。また、式（18）により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【００６８】
【数１０】
0006594348.tif 000011
【００６９】
ステップＳ２１において、鍵装置２1の代理計算部２１は、式（19）により、第一委託結果Z1を算出する。また、式（20）により、第二委託結果Z2を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置１1へ送信する。
【００７０】
【数１１】
0006594348.tif 000012
【００７１】
同様に、鍵装置２2の代理計算部２１は、式（21）により、第一委託結果Z3を算出する。また、式（22）により、第二委託結果Z4を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置１2へ送信する。
【００７２】
【数１２】
0006594348.tif 000013
【００７３】
ステップＳ１５１において、端末装置１1の共有鍵計算部１５は、式（23）により、乱数s'1, s'2を用いて、第一委託結果Z1および第二委託結果Z2から値YBeaを計算する。同様に、端末装置１2の共有鍵計算部１５は、式（24）により、乱数s'3, s'4を用いて、第一委託結果Z3および第二委託結果Z4から値XAdbを計算する。
【００７４】
【数１３】
0006594348.tif 000014
【００７５】
ステップＳ１５２において、端末装置１1の共有鍵計算部１５は、式（25）により、共有鍵Kを算出する。なお、KDFは鍵導出関数（Key Derivation Function）であり、入力値を乱数に変換する関数である。同様に、端末装置１2の共有鍵計算部１５は、式（26）により、共有鍵Kを算出する。
【００７６】
【数１４】
0006594348.tif 000015
【００７７】
(YBe)x+adは、具体的には以下のようにして計算することができる。YBeをx乗してYBexを計算する。YBeaをd乗してYBeadを計算する。YBexとYBeadとを掛け合わせて、(YBe)x+adを計算する。(XAd)y+beも同様にして計算することができる。
【００７８】
本形態は、以下のように変形してもよい。ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、第一乱数化公開鍵情報をg(y+be)s1+r1のみとし、第二乱数化公開鍵情報をg(y+be)s2+r2のみとして鍵装置２1へ送信する。このとき、g-r1aおよびg-r2aを保持しておく。ステップＳ２１において、鍵装置２1の代理計算部２１は、式（27）により、第一委託結果Z1’および第二委託結果Z2’を計算する。
【００７９】
【数１５】
0006594348.tif 000016
【００８０】
そして、ステップＳ１４において、端末装置１1の検証部１４は、式（28）により、第一委託結果Z1および第二委託結果Z2を計算する。
【００８１】
【数１６】
0006594348.tif 000017
【００８２】
［第四実施形態］
第四実施形態は、自己訂正を用いたHMQV鍵交換方式である。
【００８３】
以下、図６を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第三実施形態との相違点を中心に説明する。
【００８４】
ステップＳ１１２において、端末装置１1の公開鍵受信部１１は、値e=H(Y, X)および値d=H(X, B)を計算する。ここで、H(・)は暗号学的ハッシュ関数である。暗号学的ハッシュ関数の例は、SHA-1, SHA-2などが挙げられる。同様に、端末装置１2の公開鍵受信部１１は、値e=H(Y, X)および値d=H(X, B)を計算する。
【００８５】
本形態は、値e, dをハッシュ関数により求める点のみが第三実施形態と異なり、その他の処理は第三実施形態と同様である。
【００８６】
［第五実施形態］
第五実施形態は、自己訂正を用いたid-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
【００８７】
本形態の鍵交換システムは、例えば、図７に示すように、端末装置１1, １2と鍵装置２1, ２2とに加えて、鍵生成装置３を含む。
【００８８】
以下では、кをセキュリティパラメータとし、G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とする。e: G1×G2→GTをペアリングとする。ここで、gT=e(g1, g2)を満足するものとする。H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とする。
【００８９】
2以上の自然数mに対して、m個の多項式pi∈Zq[u0, u1, v0, v1](i=1,…,m)を式（29）のように与える。なお、ci,0,0, ci,0,1, ci,1,0, ci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
【００９０】
【数１７】
0006594348.tif 000018
【００９１】
以下、図８を参照して、本形態の鍵交換方法の処理手続きを説明する。
【００９２】
本形態では、以下のようにして鍵生成を行う。鍵生成装置３は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1z∈G1, Z2=g2z∈G2)を計算し公開する。端末装置１1は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置１2は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置３は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1z, DA,2=QA,2z), (DB,1=QB,1z, DB,2=QB,2z)を計算し、鍵装置２1へ秘密鍵のペア(DA,1, DA,2)を、鍵装置２2へ秘密鍵のペア(DB,1, DB,2)を配布する。端末装置１1は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1xA, XA,2=g2xA)を生成する。同様に、端末装置１2は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1xB, XB,2=g2xB)を生成する。
【００９３】
ステップＳ１１１において、端末装置１1の公開鍵受信部１１は、識別子と短期公開鍵からなる情報（IDA, IDB, XA,1, XA,2）を端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、情報（IDA, IDB, XA,1, XA,2）を端末装置１1から受信する。同様に、端末装置１2の公開鍵受信部１１は、識別子と短期公開鍵からなる情報（IDA, IDB, XB,1, XB,2）を端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、情報（IDA, IDB, XB,1, XB,2）を端末装置１2から受信する。
【００９４】
ステップＳ１１２において、端末装置１1の公開鍵受信部１１は、式（30）が成り立つか否かを確認する。同様に、端末装置１2の公開鍵受信部１１は、式（31）が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
【００９５】
【数１８】
0006594348.tif 000019
【００９６】
本形態では、ステップＳ１２１、Ｓ１２２、Ｓ１３、Ｓ２１、Ｓ１４、Ｓ１５１の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明するものとする。
【００９７】
ステップＳ１２１において、端末装置１1の乱数生成部１２は、式（32）を計算する。同様に、端末装置１2の乱数生成部１２は、式（33）を計算する。
【００９８】
【数１９】
0006594348.tif 000020
【００９９】
ステップＳ１２２において、端末装置１1の乱数生成部１２は、乱数si1, si2, s'i1, s'i2, ri1, ri2を生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。ri1, ri2は任意の非零整数とする。同様に、端末装置１2の乱数生成部１２は、ti1, ti2, t'i1, t'i2, li1, li2を生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。li1, li2は任意の非零整数とする。
【０１００】
ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、式（34）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si1, ri1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（35）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si2, ri2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０１０１】
【数２０】
0006594348.tif 000021
【０１０２】
同様に、端末装置１2の公開鍵乱数化部１３は、式（36）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1, li1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（37）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2, li2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【０１０３】
【数２１】
0006594348.tif 000022
【０１０４】
ステップＳ２１において、鍵装置２1の代理計算部２１は、式（38）により、秘密鍵DA,1を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（39）により、秘密鍵DA,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置１1へ送信する。
【０１０５】
【数２２】
0006594348.tif 000023
【０１０６】
同様に、鍵装置２2の代理計算部２１は、式（40）により、秘密鍵DB,2を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（41）により、秘密鍵DB,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置１2へ送信する。
【０１０７】
【数２３】
0006594348.tif 000024
【０１０８】
ステップＳ１４において、端末装置１1の検証部１４は、式（42）により、第一委託結果ζA,i1をsi2乗した値（以下、第一検証値と呼ぶ。）と第二委託結果ζA,i2をsi1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（43）により、第一委託結果ζB,i1をti2乗した値（以下、第一検証値と呼ぶ。）と第二委託結果ζB,i2をti1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２２へ処理を戻す。
【０１０９】
【数２４】
0006594348.tif 000025
【０１１０】
ステップＳ１５１において、端末装置１1の共有鍵計算部１５は、式（44）により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（45）により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
【０１１１】
【数２５】
0006594348.tif 000026
【０１１２】
ステップＳ１５２において、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（46）により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（47）により、値σiを計算して、値σ1,…,σmを生成する。
【０１１３】
【数２６】
0006594348.tif 000027
【０１１４】
ステップＳ１５３において、端末装置１1の共有鍵計算部１５は、式（48）により、値σm+1, σm+2を計算する。同様に、端末装置１2の共有鍵計算部１５は、式（49）により、値σm+1, σm+2を計算する。
【０１１５】
【数２７】
0006594348.tif 000028
【０１１６】
ステップＳ１５４において、端末装置１1および端末装置１2の共有鍵計算部１５は、式（50）により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
【０１１７】
【数２８】
0006594348.tif 000029
【０１１８】
端末装置１1および端末装置１2の共有鍵計算部１５が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式（51）のように表すことができる。したがって、端末装置１1の計算した共有鍵Kと端末装置１2の計算した共有鍵Kとは一致する。
【０１１９】
【数２９】
0006594348.tif 000030
【０１２０】
［変形例５−１］
変形例５−１は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
【０１２１】
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
【０１２２】
本変形例では、以下のようにして鍵生成を行う。鍵生成装置３は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1z∈G1, Z2=g2z∈G2)を計算し公開する。端末装置１1は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置１2は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置３は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1z, DA,2=QA,2z), (DB,1=QB,1z, DB,2=QB,2z)を計算し、鍵装置２1へ秘密鍵のペア(DA,1, DA,2)を、鍵装置２2へ秘密鍵のペア(DB,1, DB,2)を配布する。鍵装置２1は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1xA, XA,2=g2xA)を生成し、端末装置１1へ送信する。同様に、鍵装置２2は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1xB, XB,2=g2xB)を生成し、端末装置１2へ送信する。
【０１２３】
本変形例では、ステップＳ１２１、Ｓ１２２、Ｓ１３、Ｓ２１、Ｓ１４、Ｓ１５１の処理をm回繰り返し実行した後、以下のステップＳ１２１ｂ、Ｓ１２２ｂ、Ｓ１３ｂ、Ｓ２１ｂ、Ｓ１４ｂ、Ｓ１５１ｂ（図示せず）の処理をm+2回繰り返し実行する。以下では、i（=1,…,m+2）回目の繰り返しにおける処理手続きを説明する。
【０１２４】
ステップＳ１２１ｂにおいて、端末装置１1の乱数生成部１２は、式（52）を計算する。同様に、端末装置１2の乱数生成部１２は、式（53）を計算する。
【０１２５】
【数３０】
0006594348.tif 000031
【０１２６】
ステップＳ１２２ｂにおいて、端末装置１1の乱数生成部１２は、乱数si21, si22, s'i21, s'i22, ri21, ri22を生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。ri21, ri22は任意の非零整数とする。同様に、端末装置１2の乱数生成部１２は、乱数ti21, ti22, t'i21, t'i22, li21, li22を生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。li21, li22は任意の非零整数とする。
【０１２７】
ステップＳ１３ｂにおいて、端末装置１1の公開鍵乱数化部１３は、式（54）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si21, ri21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（55）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si22, ri22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０１２８】
【数３１】
0006594348.tif 000032
【０１２９】
同様に、端末装置１2の公開鍵乱数化部１３は、式（56）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21, li21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（57）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22, li22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【０１３０】
【数３２】
0006594348.tif 000033
【０１３１】
ステップＳ２１ｂにおいて、鍵装置２1の代理計算部２１は、式（58）により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（59）により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξA,i1と第二委託結果ξA,i2とは、端末装置１1へ送信する。
【０１３２】
【数３３】
0006594348.tif 000034
【０１３３】
同様に、鍵装置２2の代理計算部２１は、式（60）により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（61）により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξB,i1と第二委託結果ξB,i2とは、端末装置１2へ送信する。
【０１３４】
【数３４】
0006594348.tif 000035
【０１３５】
ステップＳ１４ｂにおいて、端末装置１1の検証部１４は、式（62）により、第一委託結果ξA,i1をsi22乗した値（以下、第一検証値と呼ぶ。）と第二委託結果ξA,i2をsi21乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（63）により、第一委託結果ξB,i1をti22乗した値（以下、第一検証値と呼ぶ。）と第二委託結果ξB,i2をti21乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１ｂへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２２ｂへ処理を戻す。
【０１３６】
【数３５】
0006594348.tif 000036
【０１３７】
ステップＳ１５１ｂにおいて、端末装置１1の共有鍵計算部１５は、式（64）により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（65）により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
【０１３８】
【数３６】
0006594348.tif 000037
【０１３９】
ステップＳ１５２において、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（66）により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（67）により、値σiを計算して、値σ1,…,σmを生成する。
【０１４０】
【数３７】
0006594348.tif 000038
【０１４１】
ステップＳ１５３において、端末装置１1の共有鍵計算部１５は、式（68）により、値σm+1, σm+2を計算する。同様に、端末装置１2の共有鍵計算部１５は、式（69）により、値σm+1, σm+2を計算する。
【０１４２】
【数３８】
0006594348.tif 000039
【０１４３】
ステップＳ１５４において、端末装置１1の共有鍵計算部１５および端末装置１2の共有鍵計算部１５は、式（70）により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
【０１４４】
【数３９】
0006594348.tif 000040
【０１４５】
［変形例５−２］
変形例５−２は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのペアリングの計算を委託する構成である。
【０１４６】
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
【０１４７】
本変形例では、変形例５−１と同様にして鍵生成を行う。
【０１４８】
本変形例では、ステップＳ１２１、Ｓ１２２、Ｓ１３、Ｓ２１、Ｓ１４、Ｓ１５１の処理をm回繰り返し実行した後、以下のステップＳ１２１ｃ、Ｓ１２２ｃ、Ｓ１３ｃ、Ｓ２１ｃ、Ｓ１４ｃ、Ｓ１５１ｃ（図示せず）の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。その後、上述のステップＳ１２１ｂ、Ｓ１２２ｂ、Ｓ１３ｂ、Ｓ２１ｂ、Ｓ１４ｂ、Ｓ１５１ｂの処理をi=m+1, m+2について実行する。
【０１４９】
ステップＳ１２１ｃにおいて、端末装置１1の乱数生成部１２は、式（71）を計算する。同様に、端末装置１2の乱数生成部１２は、式（72）を計算する。
【０１５０】
【数４０】
0006594348.tif 000041
【０１５１】
ステップＳ１２２ｃにおいて、端末装置１1の乱数生成部１２は、乱数si31, si32, s'i31, s'i32, ri31, ri32を生成する。ここで、si31, si32は互いに素であり、si31s'i31+si32s'i32=1を満たすものとする。ri31, ri32は任意の非零整数とする。同様に、端末装置１2の乱数生成部１２は、乱数ti31, ti32, t'i31, t'i32, li31, li32を生成する。ここで、ti31, ti32は互いに素であり、ti31t'i31+ti32t'i32=1を満たすものとする。li31, li32は任意の非零整数とする。
【０１５２】
ステップＳ１３ｃにおいて、端末装置１1の公開鍵乱数化部１３は、式（73）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si31, ri31を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（74）により、端末装置１2の公開鍵QB,2と短期公開鍵XB,2とを、乱数si32, ri32を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０１５３】
【数４１】
0006594348.tif 000042
【０１５４】
同様に、端末装置１2の公開鍵乱数化部１３は、式（75）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti31, li31を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（76）により、端末装置１1の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti32, li32を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【０１５５】
【数４２】
0006594348.tif 000043
【０１５６】
ステップＳ２１ｃにおいて、鍵装置２1の代理計算部２１は、式（77）により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（78）により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξA,i1と第二委託結果ξA,i2とは、端末装置１1へ送信する。
【０１５７】
【数４３】
0006594348.tif 000044
【０１５８】
同様に、鍵装置２2の代理計算部２１は、式（79）により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（80）により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξB,i1と第二委託結果ξB,i2とは、端末装置１2へ送信する。
【０１５９】
【数４４】
0006594348.tif 000045
【０１６０】
ステップＳ１４ｃにおいて、端末装置１1の検証部１４は、式（81）により、第一委託結果ξA,i1をsi32乗した値（以下、第一検証値と呼ぶ。）と第二委託結果ξA,i2をsi31乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（82）により、第一委託結果ξB,i1をti32乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ξB,i2をti31乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１ｃへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２２ｃへ処理を戻す。
【０１６１】
【数４５】
0006594348.tif 000046
【０１６２】
ステップＳ１５１ｃにおいて、端末装置１1の共有鍵計算部１５は、式（83）により、乱数s'i31, s'i32を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（84）により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
【０１６３】
【数４６】
0006594348.tif 000047
【０１６４】
［第六実施形態］
第六実施形態は、自己訂正を用いたcert-cert AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
【０１６５】
本形態の鍵交換システムは、例えば、図９に示すように、端末装置１1, １2と鍵装置２1, ２2とに加えて、認証局装置４を含む。
【０１６６】
以下、図１０を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
【０１６７】
本形態では、以下のようにして鍵生成を行う。鍵装置２1は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置１1へ送信する。同様に、鍵装置２2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置１2へ送信する。認証局装置４は、端末装置１1の公開鍵SAおよび端末装置１2の公開鍵SBを認証する。端末装置１1は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算する。同様に、端末装置１2は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算する。
【０１６８】
ステップＳ１１において、端末装置１1の公開鍵受信部１１は、公開鍵と短期公開鍵からなる情報（SA, XA）を端末装置１2へ送信する。端末装置１2の公開鍵受信部１１は、情報（SA, XA）を端末装置１1から受信する。同様に、端末装置１2の公開鍵受信部１１は、公開鍵と短期公開鍵からなる情報（SB, XB）を端末装置１1へ送信する。端末装置１1の公開鍵受信部１１は、情報（SB, XB）を端末装置１2から受信する。
【０１６９】
本形態では、ステップＳ１２、Ｓ１３、Ｓ２１、Ｓ１４、Ｓ１５１の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明するものとする。
【０１７０】
ステップＳ１２において、端末装置１1の乱数生成部１２は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置１2の乱数生成部１２は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
【０１７１】
ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、式（85）により、端末装置１2の公開鍵SBと短期公開鍵XBとを、乱数si1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（86）により、端末装置１2の公開鍵SBと短期公開鍵XBとを、乱数si2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０１７２】
【数４７】
0006594348.tif 000048
【０１７３】
同様に、端末装置１2の公開鍵乱数化部１３は、式（87）により、端末装置１1の公開鍵SAと短期公開鍵XAとを、乱数ti1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（88）により、端末装置１1の公開鍵SAと短期公開鍵XAとを、乱数ti2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【０１７４】
【数４８】
0006594348.tif 000049
【０１７５】
ステップＳ２１において、鍵装置２1の代理計算部２１は、式（89）により、準同型写像FA: G→G, h→hxAについて、共有鍵の計算に必要な値ζA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（90）により、共有鍵の計算に必要な値ζA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置１1へ送信する。
【０１７６】
【数４９】
0006594348.tif 000050
【０１７７】
同様に、鍵装置２2の代理計算部２１は、式（91）により、準同型写像FB: G→G, h→hxBについて、共有鍵の計算に必要な値ζB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（92）により、共有鍵の計算に必要な値ζB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置１2へ送信する。
【０１７８】
【数５０】
0006594348.tif 000051
【０１７９】
ステップＳ１４において、端末装置１1の検証部１４は、式（93）により、第一委託結果ζA,i1をsi2乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ζA,i2をsi1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（94）により、第一委託結果ζB,i1をti2乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ζB,i2をti1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２へ処理を戻す。
【０１８０】
【数５１】
0006594348.tif 000052
【０１８１】
ステップＳ１５１において、端末装置１1の共有鍵計算部１５は、式（95）により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（96）により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
【０１８２】
【数５２】
0006594348.tif 000053
【０１８３】
ステップＳ１５２において、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（97）により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（98）により、値σiを計算して、値σ1,…,σmを生成する。
【０１８４】
【数５３】
0006594348.tif 000054
【０１８５】
ステップＳ１５４において、端末装置１1および端末装置１2の共有鍵計算部１５は、式（99）により、値σ1,…,σmを用いて、共有鍵Kを算出する。
【０１８６】
【数５４】
0006594348.tif 000055
【０１８７】
端末装置１1および端末装置１2の共有鍵計算部１５が計算した値σ1,…,σmはいずれも、i=1,…,mとして、式（100）のように表すことができる。したがって、端末装置１1の計算した共有鍵Kと端末装置１2の計算した共有鍵Kとは一致する。
【０１８８】
【数５５】
0006594348.tif 000056
【０１８９】
［変形例６］
変形例６は、第六実施形態の自己訂正を用いたcert-cert AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
【０１９０】
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第六実施形態との相違点を中心に説明する。
【０１９１】
本変形例では、以下のようにして鍵生成を行う。鍵装置２1は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置１1へ送信する。同様に、鍵装置２2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置１2へ送信する。認証局装置４は、端末装置１1の公開鍵SAおよび端末装置１2の公開鍵SBを認証する。鍵装置２1は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算し、端末装置１1へ送信する。同様に、鍵装置２2は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算し、端末装置１2へ送信する。
【０１９２】
本変形例では、ステップＳ１２、Ｓ１３、Ｓ２１、Ｓ１４、Ｓ１５１の処理をm回繰り返し実行した後、以下のステップＳ１２ｂ、Ｓ１３ｂ、Ｓ２１ｂ、Ｓ１４ｂ、Ｓ１５１ｂ（図示せず）の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。
【０１９３】
ステップＳ１２ｂにおいて、端末装置１1の乱数生成部１２は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置１2の乱数生成部１２は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
【０１９４】
ステップＳ１３ｂにおいて、端末装置１1の公開鍵乱数化部１３は、式（101）により、端末装置１2の公開鍵SBと短期公開鍵XBとを、乱数si21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（102）により、端末装置１2の公開鍵SBと短期公開鍵XBとを、乱数si22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０１９５】
【数５６】
0006594348.tif 000057
【０１９６】
同様に、端末装置１2の公開鍵乱数化部１３は、式（103）により、端末装置１1の公開鍵SAと短期公開鍵XAとを、乱数ti21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（104）により、端末装置１1の公開鍵SAと短期公開鍵XAとを、乱数ti22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２2へ送信する。
【０１９７】
【数５７】
0006594348.tif 000058
【０１９８】
ステップＳ２１ｂにおいて、鍵装置２1の代理計算部２１は、式（105）により、準同型写像FA,2: G→G, h→hsAについて、共有鍵の計算に必要な値ξA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（106）により、共有鍵の計算に必要な値ξA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξA,i1と第二委託結果ξA,i2とは、端末装置１1へ送信する。
【０１９９】
【数５８】
0006594348.tif 000059
【０２００】
同様に、鍵装置２2の代理計算部２１は、式（107）により、準同型写像FB,2: G→G, h→hsBについて、共有鍵の計算に必要な値ξB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（108）により、共有鍵の計算に必要な値ξB,i2（以下、第二委託結果と呼ぶ。）を算出する。
【０２０１】
【数５９】
0006594348.tif 000060
【０２０２】
ステップＳ１４ｂにおいて、端末装置１1の検証部１４は、式（109）により、第一委託結果ξA,i1をsi22乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ξA,i2をsi21乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。同様に、端末装置１2の検証部１４は、式（110）により、第一委託結果ξB,i1をti2乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ξB,i2をti1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１ｂへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２ｂへ処理を戻す。
【０２０３】
【数６０】
0006594348.tif 000061
【０２０４】
ステップＳ１５１ｂにおいて、端末装置１1の共有鍵計算部１５は、式（111）により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置１2の共有鍵計算部１５は、式（112）により、乱数t'i1, t'i2を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
【０２０５】
【数６１】
0006594348.tif 000062
【０２０６】
ステップＳ１５２において、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（113）により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（114）により、値σiを計算して、値σ1,…,σmを生成する。
【０２０７】
【数６２】
0006594348.tif 000063
【０２０８】
ステップＳ１５４において、端末装置１1および端末装置１2の共有鍵計算部１５は、式（115）により、値σ1,…,σmを用いて、共有鍵Kを算出する。
【０２０９】
【数６３】
0006594348.tif 000064
【０２１０】
［第七実施形態］
第七実施形態は、自己訂正を用いたcert-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
【０２１１】
本形態の鍵交換システムは、例えば、図１１に示すように、端末装置１1, １2と鍵装置２1, ２2とに加えて、鍵生成装置３と認証局装置４とを含む。
【０２１２】
以下、図１２、１３を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。図１２は、端末装置１1と鍵装置２1の処理フローを例示したものであり、図１３は、端末装置１2と鍵装置２2の処理フローを例示したものである。
【０２１３】
本形態では、以下のようにして鍵生成を行う。鍵生成装置３は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1z∈G1, Z2=g2z∈G2)を計算し公開する。端末装置１1は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置３は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1z, DA,2=QA,2z)を計算し、鍵装置２1へ配布する。鍵装置２2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1sB∈G1, SB,2=g2sB∈G2)を計算し、端末装置１2へ送信する。認証局装置４は、鍵装置２2の公開鍵SBを認証する。端末装置１1は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1xA, XA,2=g2xA)を生成する。同様に、端末装置１2は、短期秘密鍵xB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1xB, XB,2=g2xB)を生成する。
【０２１４】
ステップＳ１１１Ａにおいて、端末装置１1の公開鍵受信部１１は、識別子と短期公開鍵からなる情報（IDA, XA,1, XA,2）を端末装置１2へ送信する。ステップＳ１１１Ｂにおいて、端末装置１2の公開鍵受信部１１は、情報（IDA, XA,1, XA,2）を端末装置１1から受信する。
【０２１５】
ステップＳ１１２Ｂにおいて、端末装置１2の公開鍵受信部１１は、公開鍵と短期公開鍵からなる情報（SB,1, SB,2, XB,1, XB,2）を端末装置１1へ送信する。ステップＳ１１２Ａにおいて、端末装置１1の公開鍵受信部１１は、情報（SB,1, SB,2, XB,1, XB,2）を端末装置１2から受信する。
【０２１６】
ステップＳ１１３Ａにおいて、端末装置１1の公開鍵受信部１１は、式（116）が成り立つか否かを確認する。ステップＳ１１３Ｂにおいて、端末装置１2の公開鍵受信部１１は、式（117）が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
【０２１７】
【数６４】
0006594348.tif 000065
【０２１８】
本形態では、図１２のステップＳ１２Ａ、Ｓ１３Ａ、Ｓ２１Ａ、Ｓ１４Ａ、Ｓ１５１Ａの処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。
【０２１９】
ステップＳ１２Ａにおいて、端末装置１1の乱数生成部１２は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
【０２２０】
ステップＳ１３Ａにおいて、端末装置１1の公開鍵乱数化部１３は、式（118）により、端末装置１2の公開鍵SB,2と短期公開鍵XB,2とを、乱数si1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（119）により、端末装置１2の公開鍵SB,2と短期公開鍵XB,2とを、乱数si2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０２２１】
【数６５】
0006594348.tif 000066
【０２２２】
ステップＳ２１Ａにおいて、鍵装置２1の代理計算部２１は、式（120）により、準同型写像FA: G2→GT, h2→e(DA,1, h2)について、共有鍵の計算に必要な値ζA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（121）により、共有鍵の計算に必要な値ζA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置１1へ送信する。
【０２２３】
【数６６】
0006594348.tif 000067
【０２２４】
ステップＳ１４Ａにおいて、端末装置１1の検証部１４は、式（122）により、第一委託結果ζA,i1をsi2乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ζA,i2をsi1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１Ａへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２Ａへ処理を戻す。
【０２２５】
【数６７】
0006594348.tif 000068
【０２２６】
ステップＳ１５１Ａにおいて、端末装置１1の共有鍵計算部１５は、式（123）により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。
【０２２７】
【数６８】
0006594348.tif 000069
【０２２８】
ステップＳ１５２Ａにおいて、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（124）により、値σiを計算して、値σ1,…,σmを生成する。
【０２２９】
【数６９】
0006594348.tif 000070
【０２３０】
ステップＳ１５３Ａにおいて、端末装置１1の共有鍵計算部１５は、式（125）により、値σm+1, σm+2, σm+3, σm+4を計算する。
【０２３１】
【数７０】
0006594348.tif 000071
【０２３２】
ステップＳ１５４Ａにおいて、端末装置１1の共有鍵計算部１５は、式（126）により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
【０２３３】
【数７１】
0006594348.tif 000072
【０２３４】
本形態では、図１３のステップＳ１２Ｂ、Ｓ１３Ｂ、Ｓ２１Ｂ、Ｓ１４Ｂ、Ｓ１５１Ｂの処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。
【０２３５】
ステップＳ１２Ｂにおいて、端末装置１2の乱数生成部１２は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
【０２３６】
ステップＳ１３Ｂにおいて、端末装置１1の公開鍵乱数化部１３は、式（127）により、端末装置１2の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（128）により、端末装置１2の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０２３７】
【数７２】
0006594348.tif 000073
【０２３８】
ステップＳ２１Ｂにおいて、鍵装置２2の代理計算部２１は、式（129）により、準同型写像FB: G1→GT, h1→e(h1, Z2sB)について、共有鍵の計算に必要な値ζB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（130）により、共有鍵の計算に必要な値ζB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置１2へ送信する。
【０２３９】
【数７３】
0006594348.tif 000074
【０２４０】
ステップＳ１４Ｂにおいて、端末装置１2の検証部１４は、式（131）により、第一委託結果ζB,i1をti2乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ζB,i2をti1乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１Ｂへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２Ｂへ処理を戻す。
【０２４１】
【数７４】
0006594348.tif 000075
【０２４２】
ステップＳ１５１Ｂにおいて、端末装置１2の共有鍵計算部１５は、式（132）により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
【０２４３】
【数７５】
0006594348.tif 000076
【０２４４】
ステップＳ１５２Ｂにおいて、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（133）により、値σiを計算して、値σ1,…,σmを生成する。
【０２４５】
【数７６】
0006594348.tif 000077
【０２４６】
ステップＳ１５３Ｂにおいて、端末装置１2の共有鍵計算部１５は、式（134）により、値σm+1, σm+2を計算する。また、式（135）による値σm+3, σm+4の計算を鍵装置２2へ委託する。
【０２４７】
【数７７】
0006594348.tif 000078
【０２４８】
ステップＳ１５４Ｂにおいて、端末装置１1の共有鍵計算部１５は、式（136）により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
【０２４９】
【数７８】
0006594348.tif 000079
【０２５０】
端末装置１1および端末装置１2の共有鍵計算部１５が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式（137）のように表すことができる。したがって、端末装置１1の計算した共有鍵Kと端末装置１2の計算した共有鍵Kとは一致する。
【０２５１】
【数７９】
0006594348.tif 000080
【０２５２】
なお、本形態では、ステップＳ１３ＢおよびＳ２１Ｂで実行される代理計算により、式（138）を計算することになる。
【０２５３】
【数８０】
0006594348.tif 000081
【０２５４】
そこで、ステップＳ１３Ｂにおいて、βi,Aを式（139）のβ’i,Aに置き換え、ステップＳ２１Ｂにおいて、準同型写像FB: G1→GT, h1→e(h1, Z2sB)をF'B: GT→GT, hT→hTsBに置き換えることで、同様の代理計算を行うことも可能である。
【０２５５】
【数８１】
0006594348.tif 000082
【０２５６】
［変形例７］
変形例７は、第七実施形態の自己訂正を用いたcert-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成である。
【０２５７】
以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第七実施形態との相違点を中心に説明する。
【０２５８】
本変形例では、以下のようにして鍵生成を行う。鍵生成装置３は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1z∈G1, Z2=g2z∈G2)を計算し公開する。端末装置１1は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置３は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1z, DA,2=QA,2z)を計算し、鍵装置２1へ配布する。鍵装置２2は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1sB∈G1, SB,2=g2sB∈G2)を計算し、端末装置１2へ送信する。認証局装置４は、鍵装置２2の公開鍵SBを認証する。鍵装置２1は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1xA, XA,2=g2xA)を生成し、端末装置１1へ送信する。同様に、鍵装置２2は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1xB, XB,2=g2xB)を生成し、端末装置１2へ送信する。
【０２５９】
本変形例では、ステップＳ１２Ａ、Ｓ１３Ａ、Ｓ２１Ａ、Ｓ１４Ａ、Ｓ１５１Ａの処理をm回繰り返し実行した後、以下のステップＳ１２Ａｂ、Ｓ１３Ａｂ、Ｓ２１Ａｂ、Ｓ１４Ａｂ、Ｓ１５１Ａｂ（図示せず）の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。
【０２６０】
ステップＳ１２Ａｂにおいて、端末装置１1の乱数生成部１２は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
【０２６１】
ステップＳ１３Ａｂにおいて、端末装置１1の公開鍵乱数化部１３は、式（140）により、端末装置１2の公開鍵SB,2と短期公開鍵XB,2とを、乱数si21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（141）により、端末装置１2の公開鍵SB,2と短期公開鍵XB,2とを、乱数si22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０２６２】
【数８２】
0006594348.tif 000083
【０２６３】
ステップＳ２１Ａｂにおいて、鍵装置２1の代理計算部２１は、式（142）により、準同型写像F1,A: G2→GT, h2→e(Z1xA, h2)について、共有鍵の計算に必要な値ξA,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（143）により、共有鍵の計算に必要な値ξA,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξA,i1と第二委託結果ξA,i2とは、端末装置１1へ送信する。
【０２６４】
【数８３】
0006594348.tif 000084
【０２６５】
ステップＳ１４Ａｂにおいて、端末装置１1の検証部１４は、式（144）により、第一委託結果ξA,i1をsi22乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ξA,i2をsi21乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１Ａｂへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２Ａｂへ処理を戻す。
【０２６６】
【数８４】
0006594348.tif 000085
【０２６７】
ステップＳ１５１Ａｂにおいて、端末装置１1の共有鍵計算部１５は、式（145）により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。
【０２６８】
【数８５】
0006594348.tif 000086
【０２６９】
ステップＳ１５２Ａにおいて、端末装置１1の共有鍵計算部１５は、i=1,…,mについて、式（146）により、値σiを計算して、値σ1,…,σmを生成する。
【０２７０】
【数８６】
0006594348.tif 000087
【０２７１】
ステップＳ１５３Ａ、Ｓ１５４Ａの処理は、第七実施形態と同様である。
【０２７２】
本変形例では、ステップＳ１２Ｂ、Ｓ１３Ｂ、Ｓ２１Ｂ、Ｓ１４Ｂ、Ｓ１５１Ｂの処理をm回繰り返し実行した後、以下のステップＳ１２Ｂｂ、Ｓ１３Ｂｂ、Ｓ２１Ｂｂ、Ｓ１４Ｂｂ、Ｓ１５１Ｂｂ（図示せず）の処理をm回繰り返し実行する。以下では、i（=1,…,m）回目の繰り返しにおける処理手続きを説明する。
【０２７３】
ステップＳ１２Ｂｂにおいて、端末装置１2の乱数生成部１２は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
【０２７４】
ステップＳ１３Ｂｂにおいて、端末装置１1の公開鍵乱数化部１３は、式（147）により、端末装置１2の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21を用いて乱数化した値（以下、第一乱数化公開鍵情報と呼ぶ。）を算出する。また、式（148）により、端末装置１2の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22を用いて乱数化した値（以下、第二乱数化公開鍵情報と呼ぶ。）を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置２1へ送信する。
【０２７５】
【数８７】
0006594348.tif 000088
【０２７６】
ステップＳ２１Ｂｂにおいて、鍵装置２2の代理計算部２１は、式（149）により、準同型写像F1,B: G1→GT, h1→e(h1, Z2xB)について、共有鍵の計算に必要な値ξB,i1（以下、第一委託結果と呼ぶ。）を算出する。また、式（150）により、共有鍵の計算に必要な値ξB,i2（以下、第二委託結果と呼ぶ。）を算出する。算出した第一委託結果ξB,i1と第二委託結果ξB,i2とは、端末装置１2へ送信する。
【０２７７】
【数８８】
0006594348.tif 000089
【０２７８】
ステップＳ１４Ｂｂにおいて、端末装置１2の検証部１４は、式（151）により、第一委託結果ξB,i1をti22乗した値（以下、第一検証値と呼ぶ。）と、第二委託結果ξB,i2をti21乗した値（以下、第二検証値と呼ぶ。）とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップＳ１５１Ｂｂへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップＳ１２Ｂｂへ処理を戻す。
【０２７９】
【数８９】
0006594348.tif 000090
【０２８０】
ステップＳ１５１Ｂｂにおいて、端末装置１2の共有鍵計算部１５は、式（152）により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
【０２８１】
【数９０】
0006594348.tif 000091
【０２８２】
ステップＳ１５２Ｂにおいて、端末装置１2の共有鍵計算部１５は、i=1,…,mについて、式（153）により、値σiを計算して、値σ1,…,σmを生成する。
【０２８３】
【数９１】
0006594348.tif 000092
【０２８４】
ステップＳ１５３Ｂ、Ｓ１５４Ｂの処理は、第七実施形態と同様である。
【０２８５】
本変形例では、ステップＳ１３ＡｂおよびＳ２１Ａｂで実行される代理計算により、式（154）を計算することになる。
【０２８６】
【数９２】
0006594348.tif 000093
【０２８７】
そこで、ステップＳ１３Ａｂにおいて、βi,Bを式（155）のβ'i,Bに置き換え、ステップＳ２１Ａｂにおいて、準同型写像F1,A: G2→GT, h2→e(Z1xA, h2)をF2,A: GT→GT, hT→gTxAに置き換えることで、同様の代理計算を行うことも可能である。
【０２８８】
【数９３】
0006594348.tif 000094
【０２８９】
また、本変形例では、ステップＳ１３ＢｂおよびＳ２１Ｂｂで実行される代理計算により、式（156）を計算することになる。
【０２９０】
【数９４】
0006594348.tif 000095
【０２９１】
そこで、ステップＳ１３Ｂｂにおいて、β1,i,Aを式（157）のβ2,i,Aに置き換え、ステップＳ２１Ｂｂにおいて、準同型写像F1,B: G1→GT, h1→e(h1, Z2xB)をF2,B: GT→GT, hT→gTxBに置き換えることで、同様の代理計算を行うことも可能である。
【０２９２】
【数９５】
0006594348.tif 000096
【０２９３】
［第八実施形態］
第八実施形態は、鍵装置が端末装置の固有情報を記憶しており、予め固有情報を登録している端末装置のみが代理計算を委託できる構成である。以下では、第一実施形態に対して適用した構成を例として説明するが、上述の各実施形態についても同様に適用して構成することが可能である。
【０２９４】
以下、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
【０２９５】
本形態では、端末装置１1の記憶部１０には、端末装置１1の公開鍵gxに加えて、固有情報Add1が記憶されている。鍵装置２1の記憶部２０には、端末装置１1の秘密鍵xに加えて、リストList1が記憶されている。リストList1には予め端末装置１1の固有情報Add1が登録されている。
【０２９６】
ステップＳ１３において、端末装置１1の公開鍵乱数化部１３は、第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアに加えて、固有情報Add1を鍵装置２1へ送信する。
【０２９７】
ステップＳ２１において、鍵装置２1の代理計算部２１は、受信した固有情報Add1が記憶部２０のリストList1に登録されているか否かを確認する。登録されている場合には、第一委託結果Z1および第二委託結果Z2を計算する。登録されていない場合には、代理計算を行わず処理を終了する。
【０２９８】
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０２９９】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０３００】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０３０１】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０３０２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０３０３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006594348.tif 000179
【図２】
0006594348.tif 000180
【図３】
0006594348.tif 000181
【図４】
0006594348.tif 000182
【図５】
0006594348.tif 000183
【図６】
0006594348.tif 000184
【図７】
0006594348.tif 000185
【図８】
0006594348.tif 000186
【図９】
0006594348.tif 000187
【図１０】
0006594348.tif 000188
【図１１】
0006594348.tif 000189
【図１２】
0006594348.tif 000190
【図１３】
0006594348.tif 000191