(57)【特許請求の範囲】
【請求項１】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
乱数ｋを生成する乱数生成手段と、
関数ｆ11（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ12（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ13（ｒ2,ｘA）に従って前記マスクトメッセージｒ2及び秘密鍵ｘAか ら署名ｓを生成する署名生成手段とを備え、
前記関数ｆ12（ｒ1,ｍ）は、
ｆ12（ｒ1,ｍ）＝ｒ1＋ｍ
であり、
関数f13(r2,xA)は、
f13(r2,xA ) = s であって、
r2'＝r2 (mod q)であり、
ha(r2',s,l)k = hb(r2',s,1) + hc(r2',s,1)xA (mod q) を満たし、
関数ha(r2',s,l)、関数hb(r2',s,1)及び関数hc(r2',s,1)は、
Zq＝｛０，１，・・・，ｑ−１｝とするとき、Zq×Zq×ZqからZqへの写像であり、r2'、s をZqの元とするとき、予め固定された少数値を除く全てのrr2' 、ssに対して、次の２つの条件を満たす、
（条件１）ha(r2',s,1)=ha(rr2',ss,1),hc(r2',s,1)=hc(rr2',ss,1)のとき、
hb(r2',s,1)-ha(r2',s,1)≠hb(rr2',ss,1)、
（条件２）ha(r2',s,1)=ha(rr2',ss,1),hb(r2',s,1)=hb(rr2',ss,1)のとき、
hc(r2',s,1)-ha(r2',s,1)≠hc(rr2',ss,1)
ことを特徴とするメッセージ復元型署名装置。
【請求項２】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセー ジｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ14（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ15（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ16（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ17（ｒc2,ｘA）に従って前記変換後メッセージｒc2及び秘密鍵ｘAか ら署名ｓを生成する署名生成手段とを備え、
前記関数ｆ15（ｒ1,ｍ）は、
ｆ15（ｒ1,ｍ）＝ｒ1＋ｍ
であり、
関数f16(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  であり、
関数f17(rc2,xA) は、
f17(rc2,xA) = s であって、
rc2'＝rc2 (mod q)であり、
ha(rc2',s,l)k = hb(rc2',s,1) + hc(rc2',s,1)xA (mod q) を満たし、
関数ha(rc2',s,l)、関数hb(rc2',s,1)及び関数hc(rc2',s,1)は、
Zq＝｛０，１，・・・，ｑ−１｝とするとき、Zq×Zq×ZqからZqへの写像であり、rc2'、s をZqの元とするとき、予め固定された少数値を除く全てのrrc2' 、ssに対して、次の２つの条件を満たす、
（条件１）ha(rc2',s,1)=ha(rrc2',ss,1),hc(rc2',s,1)=hc(rrc2',ss,1)のとき、
hb(rc2',s,1)-ha(rc2',s,1)≠hb(rrc2',ss,1)、
（条件２）ha(rc2',s,1)=ha(rrc2',ss,1),hb(rc2',s,1)=hb(rrc2',ss,1)のとき、
hc(rc2',s,1)-ha(rc2',s,1)≠hc(rrc2',ss,1)
ことを特徴とするメッセージ復元型署名装置。
【請求項３】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ11（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ12（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ13（ｒ2,ｘA）に従って前記マスクトメッセージｒ2及び秘密鍵ｘAから署名ｓを生成する署名生成手段とを備え、
前記関数Ｆ12（Ｒ1,ｍ）は、
Ｆ12（Ｒ1,ｍ）＝（Ｒ1のｘ座標）＋ｍ
であり、
関数f13(r2,xA)は、
f13(r2,xA ) = s であって、
r2'＝r2 (mod q)であり、
ha(r2',s,l)k = hb(r2',s,1) + hc(r2',s,1)xA (mod q) を満たし、
関数ha(r2',s,l)、関数hb(r2',s,1)及び関数hc(r2',s,1)は、
Zq＝｛０，１，・・・，ｑ−１｝とするとき、Zq×Zq×ZqからZqへの写像であり、r2'、s をZqの元とするとき、予め固定された少数値を除く全てのrr2' 、ssに対して、次の２つの条件を満たす、
（条件１）ha(r2',s,1)=ha(rr2',ss,1),hc(r2',s,1)=hc(rr2',ss,1)のとき、
hb(r2',s,1)-ha(r2',s,1)≠hb(rr2',ss,1)、
（条件２）ha(r2',s,1)=ha(rr2',ss,1),hb(r2',s,1)=hb(rr2',ss,1)のとき、
hc(r2',s,1)-ha(r2',s,1)≠hc(rr2',ss,1)
ことを特徴とするメッセージ復元型署名装置。
【請求項４】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ14（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成するコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ15 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ16(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ17（ｒc2,ｘA）に従って前記変換後メッセージｒc2及び秘密鍵ｘAか ら署名ｓを生成する署名生成手段とを備え、
前記関数Ｆ15（Ｒ1,ｍ）は、
Ｆ15（Ｒ1,ｍ）＝（Ｒ1のｘ座標）＋ｍ  であり、
関数f16(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  であり、
関数f17(rc2,xA) は、
f17(rc2,xA) = s であって、
rc2'＝rc2 (mod q)であり、
ha(rc2',s,l)k = hb(rc2',s,1) + hc(rc2',s,1)xA (mod q) を満たし、
関数ha(rc2',s,l)、関数hb(rc2',s,1)及び関数hc(rc2',s,1)は、
Zq＝｛０，１，・・・，ｑ−１｝とするとき、Zq×Zq×ZqからZqへの写像であり、rc2'、s をZqの元とするとき、予め固定された少数値を除く全てのrrc2' 、ssに対して、次の２つの条件を満たす、
（条件１）ha(rc2',s,1)=ha(rrc2',ss,1),hc(rc2',s,1)=hc(rrc2',ss,1)のとき、
hb(rc2',s,1)-ha(rc2',s,1)≠hb(rrc2',ss,1)、
（条件２）ha(rc2',s,1)=ha(rrc2',ss,1),hb(rc2',s,1)=hb(rrc2',ss,1)のとき、
hc(rc2',s,1)-ha(rc2',s,1)≠hc(rrc2',ss,1)
ことを特徴とするメッセージ復元型署名装置。
【請求項５】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｓを満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項６】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'を満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項７】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項８】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項９】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｓを満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項１０】
ｐを素数、ｇを元、その位数をｑとする有限体ＧＦ（ｐ）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ21（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐ）×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数ｆ22（ｒ1,ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッセー ジｒ2を生成するメッセージマスク手段と、
関数ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'を満たし、
関数f22(r1,m)は、
逆関数f-122(r1,f22(r1,m)) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項１１】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｓを満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり、
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  である
ことを特徴とするメッセ ージ復元型署名装置。
【請求項１２】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'を満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり、
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  である
ことを特徴とするメッセージ復元型署名装置。
【請求項１３】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  である
ことを特徴とするメッセージ復元型署名装置。
【請求項１４】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり、
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1である
ことを特徴とするメッセージ復元型署名装置。
【請求項１５】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｓを満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり、
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1である
ことを特徴とするメッセ ージ復元型署名装置。
【請求項１６】
ｐを素数、ｒを正整数、ｇを元、その位数をｑとする有限体ＧＦ（ｐr）上での演算に基づき、離散対数問題を安全性の根拠とし、メッセ ージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数ｆ24（ｋ）＝ｇkに従って前記乱数ｋからコミットメントｒ1を生成するコミットメント生成手段と、
ＧＦ（ｐr）×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数ｆ25（ｒ1, ｍ）に従って前記コミットメントｒ1及び前記メッセージｍからマスクトメッ セージｒ2を生成するメッセージマスク手段と、
有限体ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数ｆ26（ｒ2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'を満たし、
関数f25(r1,m)は、
逆関数f-125(r1,f25(r1,m)) = m が存在する関数であり、
関数f26(r2) = π (r2) であり、
ここで、｛α1,α2,・・・,αr｝をＧＦ（ｐr) のＧＦ（ｐ）上の基底とし、｛ｘ1,ｘ2,・・・,ｘr｝をＧＦ（ｐ）の元とするとき、ＧＦ（ｐr) の元ｘ＝ｘ1α1+・・・+ｘrαrに対して、
π（ｘ）＝ｘ1+ｘ2ｐ+・・・+ｘrｐr-1  である
ことを特徴とするメッセージ復元型署名装置。
【請求項１７】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｓを満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項１８】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'を満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項１９】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２０】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２１】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｒ2'を満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｓを満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２２】
ｐを素数、Ｅ（）を有限体ＧＦ（ｐ）上で定義される楕円曲線とし、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐ））上の演算に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、 メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する第１乱数生成手段と、
関数Ｆ21（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐ））×ＧＦ（ｐ）からＧＦ（ｐ）への写像を行う関数Ｆ22（Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスクトメ ッセージｒ2を生成するメッセージマスク手段と、
関数Ｆ23（ｒ2）＝ｒ2  （mod q）に従って前記マスクトメッセージｒ2から署名用メッセージｒ2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒ2',ｓ,１）ｋ＝ｈb（ｒ2',ｓ,１）＋ｈc（ｒ2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒ2',ｓ,１）＝ｒ2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒ2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒ2',ｓ,１）＝ｒ2'を満たし、
関数F22(R1,m) は、
F22(R1,m) = r2に対して、
逆関数F-122(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２３】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｓを満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセ ージ復元型署名装置。
【請求項２４】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'を満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２５】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２６】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【請求項２７】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｒc2'を満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｓを満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセ ージ復元型署名装置。
【請求項２８】
ｐを素数、ｒを正整数、Ｅ（）を有限体ＧＦ（ｐr）上で定 義される楕円曲線、Ｇを元、その位数をｑとするＥ（ＧＦ（ｐr））上の演算 に基づき、離散対数問題を安全性の根拠とし、メッセージｍに対して秘密鍵ｘAを用いて、メッセージ復元が可能な署名を行う装置であって、
秘密鍵ｘAを記憶している秘密鍵記憶手段と、
乱数ｋを生成する乱数生成手段と、
関数Ｆ24（ｋ）＝ｋＧに従って前記乱数ｋからコミットメントＲ1を生成す るコミットメント生成手段と、
Ｅ（ＧＦ（ｐr））×ＧＦ（ｐr）からＧＦ（ｐr）への写像を行う関数Ｆ25 （Ｒ1,ｍ）に従って前記コミットメントＲ1及び前記メッセージｍからマスク トメッセージｒ2を生成するメッセージマスク手段と、
ＧＦ（ｐr）から有限環Ｚｐr＝｛０,１,…,ｐr-1｝への写像を行う関数Ｆ26(r2）に従って前記マスクトメッセージｒ2から変換後メッセージｒc2を生成する変換後メッセージ生成手段と、
関数Ｆ27（ｒc2）＝ｒc2  （mod q）に従って前記変換後メッセージｒc2か ら署名用メッセージｒc2'を生成する署名用メッセージ生成手段と、
有限環Ｚqを｛０,１,…,ｑ−１｝とし、関数ｈa,ｈb,ｈcをＺq×Ｚq×ＺqからＺqへの写像を行う関数とするとき、式
ｈa（ｒc2',ｓ,１）ｋ＝ｈb（ｒc2',ｓ,１）＋ｈc（ｒc2',ｓ,１）ｘA  （mod q）
を満たす署名ｓを算出する署名生成手段とを備え、
前記関数ｈaは、ｈa（ｒc2',ｓ,１）＝ｒc2'＋ｓ＋１を満たし、
前記関数ｈbは、ｈb（ｒc2',ｓ,１）＝ｓを満たし、
前記関数ｈcは、ｈc（ｒc2',ｓ,１）＝ｒc2'を満たし、
関数F25(R1,m) は、
F25(R1,m) = r2に対して、
逆関数F-125(R1,r2) = m が存在する関数である
ことを特徴とするメッセージ復元型署名装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報の通信保持技術に関し、特に、離散対数問題を安全性の根拠として用いるデジタル署名技術に関する。
【０００２】
【従来の技術】
（発明の技術的背景）
本願発明に直接関係する技術は、我国では未だ必ずしも一般に周知とは言いがたいので、まず、間接的に関係する技術も含めて公開ディジタル通信網を使用した暗号通信技術を広く一般的に説明する。なお、この秘密通信方式等の一般技術については、わが国では、学術書としては池野信一、小山謙二著「現代暗号理論」  電子通信学会発行  １９８６年、一般向けとしては、一松  信著「暗号の数理」  講談社刊１９８０年に詳しい。
【０００３】
近年、一般に公開されたディジタル通信回線網を使用して相互に通信を行ったり、有料で放送番組を提供したりすることがさかんになってきている。ところで、一般に公開された通信回線網を使用する場合、第三者による盗聴や詐称、あるいは送信者による送信先の間違いを完全に防止することは困難である。このため、秘密通信方式並びに署名及び認証方式と呼ばれる通信方式が重要なものとなっている。ここに、秘密通信方式とは、特定の通信相手以外に通信内容を漏らすことなく通信を行う方式である。また署名及び認証通信方式とは、通信相手に通信内容の正当性を示したり、本人であることを証明する通信方式である。さて、この秘密通信及び署名、認証通信の方式には、公開鍵暗号とよばれる数値を利用した方式がある。そして、この公開鍵暗号による方式は、ＮＴＴ等の公開ディジタル通信網により、国内外の多数の相手と通信を行う等のごとく通信相手が多数、しかも通信者が相互に暗号技術について本来的に素人であるとき、通信相手ごとに異なる暗号鍵を容易に管理するための方式であり、現在では多数の通信相手と通信を行うのに不可欠な基盤技術とされている。
【０００４】
以下、この暗号通信技術の基本的原理と手順と特徴を２、３簡単に説明する。
（１）有限体上の離散対数問題を使用した秘密通信方式。
なお、これはニイルコブリッツ著  ”ア  コウス  イン  ナンバア  セオリイアンド  クリプトグラヒイ”(Neal koblitz, " A Course in Number Theory and Cryptography ",Springer-Verlag,1987)に詳しく述べられている。
（原理）
ｐを素数、ｇをその一の原始根、ｕを任意の自然数、αをｇのｕ乗のｐを法とする剰余とする。すなわち、ｇu ≡α（ｍｏｄ  ｐ）とする。この場合、ｇとｐとｕを与えられたときにαを求めるのは容易である。しかし、ｐが１４０桁程度の素数となると、大型計算機の発達した今日でも、ｇとｐとαからｕを求めるのは困難である。これは丁度、２つの素数ｒとｓがあるときｒとｓからその積を求めるのは容易であるが、ｒとｓが各１４０桁程度となれば、積は２８０桁となるため、これから素因数分解によりｒとｓを求めるのは困難なことに似る。
（２）楕円曲線上の離散対数問題を使用した秘密通信方式。
【０００５】
しかしながら、近年の大型計算機の発達を背景にして、数学の理論（類体論の高次相互律、分解法則等）を使用して、ｇとｐとαとから比較的少ない計算量でｕを求める方法が種々開発されつつある。
その対策の一としては、素数ｐを１４０桁程度のものでなく２００桁等充分に大きいものとすることがあげられる。ただし、この場合には、桁数が大きいだけに、送受信に際して必要な計算の絶対量が多くなる等の不都合が生じえる。
【０００６】
これらのため、楕円曲線を使用した秘密通信方式が開発された。
（原理）
次にＥ｛ＧＦ（ｑ）｝の性質、すなわち秘密通信の根拠の原理について説明する。
Ｅ｛ＧＦ（ｑ）｝の位数が大きな素数で割れる元ＢＰをベースポイント、ｄは任意の自然数とする。このとき、ＢＰとｄとからｄ・ＢＰを計算する（ＢＰをｄ回加える）のは容易である。しかし、Ｅ｛ＧＦ（ｑ）｝の与えられた元ＱとＢＰに対して、
Ｑ＝ｄ・ＢＰ
となる自然数ｄが存在するならばｄを求めよという問題は、計算機の発達した今日でもＢＰやｑ等が３０桁程度の自然数となるならば困難である。なお、ここにＢＰは、ｐを法とする有限体ＧＦ（ｐ）上でのｇに相当する役を担うものである。
【０００７】
以上で、暗号通信の一般技術の概略説明は終了する。
（３）署名、認証通信
次に、本願発明に関係する技術たる署名、認証通信について説明する。
有限体上の離散対数問題におけるユーザＵとユーザＶの共有鍵ｋuvを使用しての秘密通信を例にとるならば、ユーザＵあるいはユーザＶにとって、一番最初に確かに相手がユーザＶあるいはユーザＵであることを認証すること、すなわち第三者による詐称を排除する必要がある。
【０００８】
この場合、ユーザＵとユーザＶとが面談、書留め郵便等により直接確認する手段もあるが、国際間はもとより国内の通信においても煩雑となる。この解決手段として、通信網による公開された数値情報を利用して署名、認署を行う技術が開発されている。
以下この技術について、２、３紹介する。
（通信網提供者による署名認署）
最初、システム初期設定として、通信網提供者が、その秘密鍵Ｘと、端末の秘密鍵を生成するためのある秘密鍵生成関数Ｓを保有し、端末の公開鍵を生成するための所定の公開鍵生成関数Ｐと、所定の一方向性関数Ｆと、秘密鍵Ｘを一方向性関数Ｆに入力したときの出力値Ｙ＝Ｆ（Ｘ）とを端末情報発行センターの公開情報として公開ディジタル通信網を使用する各ユーザに通知する。
【０００９】
次に、送信に際して、送信者の正当性の証明を欲するユーザＵが、その端末固有の識別情報ＩＤu と、自分で作成した秘密鍵をもとに作成した公開値をセンターに通知し、その登録を請求する。なお、秘密鍵ｘと公開値との間には、ｘ＝Ｓ（ｘ，ｙ，ｋ，ＩＤu ）の関係がある。ここに、ｙ＝Ｆ（ｋ）、またｋは乱数値である。
【００１０】
ユーザＵからの請求を受けた通信網提供者が、ユーザＵの公開値ｙu を他のユーザに公開する。
すなわち、ユーザＵは、検証用公開鍵として、その秘密鍵ｘを前記一方向性関数Ｆに入力したときの出力値ｙu ＝Ｆ（ｘ）を生成し、送信相手となるユーザＶに対して、自分の公開情報として、その公開値ｙと識別情報ＩＤｕとｙu を、公開ディジタル通信網を介して転送する。
【００１１】
ユーザＶは、ユーザＵからその端末公開情報の転送を受けると、ユーザＵの公開鍵として、網提供者の公開情報Ｙと、ユーザＵの公開値ｙと、その識別情報ＩＤｕとを公開鍵生成関数Ｐに入力したときの出力値Ｃ＝Ｐ（Ｙ，ｙ，ＩＤｕ）を生成する
この上で、生成されたユーザＵの公開鍵Ｃと前記検証用公開鍵ｙu を比較し、一致するか否かを確認する。一致したならば、確かに送信者はユーザＵであると認める。
【００１２】
これにより、ユーザＶは網提供者の発行した公開値Ｙを使用してユーザＵから送信されてきた公開鍵を入手しえ、ひいては確かにユーザＵから送られてきたものと認められる。
以上の概略の手順、必要な構成を図２に示す。
なお、認証は必ずしも通信網提供者とは限らないのも勿論である。
【００１３】
次に、具体的な関数式、関数値としての各鍵の値等としては、Ｙは、式Ｙ≡Ｆ（Ｘ）≡ｇx （ｍｏｄ  ｐ）等が用いられ、
ｋｕは乱数発生機により計算され、
0003540477.tif 000002
等により計算される。なおここに、オイラーの関数ψとは、整数である変数の値より小さいかつその変数と互に素な整数の個数をいい、例えばψ（ｐ）＝ｐ−１，ψ（６）＝２（注、１と５），ψ（１０）＝４（注、１、３、７、９）である。また、任意の互に素な２つの整数ｕとｖの間には、ｕ∧ψ（ｖ）−１≡０（ｍｏｄ  ｖ）という関係が常に成立する。例えば、３ψ(10)−１＝３4 −１＝８０≡０（ｍｏｄ  １０）である。また、素数ｐについては、必ずｎp −１≡０（mod P ）となり、この対偶として、任意の整数ｍについて、何か１つの整数ｎに対してｎm −１≡０（mod ｎ）が成立しないならば、ｍは素数でないことがわかる。
（第３者による署名、認証）
次に、ユーザＵとユーザＶとの認証に第三のユーザＷを介する方式ものもある。この場合には、ユーザＵとユーザＷ、ユーザＶとユーザＷとは相互に認証が必要であるが、ユーザＵとユーザＶとの直接の認署は不要となる。そしてこれは、銀行（ユーザＷに相当）を介しての金銭取引等で重要である。
【００１４】
なお、これら署名、認証の内容、方式については別途本願出願人が、特願平２−３２４４７９号「公開鍵生成方法及び装置」等にて開示し、また前掲の現代暗号理論にても種々記載されている周知技術であるため、これ以上の説明は省略する。
（４）メッセージ復元署名
次に、署名、認署についての技術の一として、本願発明に直接関係するメッセージ復元型署名について説明する。
【００１５】
１９９３年にNyberg-Rueppelにより離散対数問題に安全性の根拠をおくメッセージ復元型署名が発表された。以下に離散対数問題を用いたメッセージ復元型署名のひとつについて述べる。これについて詳しくは、Nyberg and Rueppel, "A new signature scheme based on the DSA giving message recovery",1st ACM Conf. on Comp. and Comm. Security, 1993 を参照されたい。
（メッセージ復元型署名の従来例）
図３は、従来技術としての、上記Nyberg-Rueppel方式におけるメッセージ復元型署名の手順及び構成を示すものである。
【００１６】
以下、本図を参照しながら従来例の手順を説明する。
（１）センターによる初期設定
p を素数、GF(p) の元をg としその位数をq とする。センターは、システムパラメータとしてp ，q ，g を全ユーザ、すなわち公開ディジタル通信網に接続された全端末に公開する。
（２）ユーザＡによる秘密鍵の生成と公開鍵の登録要求の発生。
【００１７】
署名通信を希望するユーザＡが、その端末情報とを作成し、これを使用してしての秘密鍵と対応する公開鍵も作成し、公開鍵の登録をセンターに要求する。
このためユーザＡは、乱数ｘA を発生させ、これを自分の秘密鍵x A とし、対応する公開鍵をy A ≡gx A (mod P)により求める。更にセンターを経由して、全ユーザにユーザＡの公開鍵y A を公開する。
（３）ユーザＡによる署名の生成及び送信。
【００１８】
ユーザＢに署名、認署通信の発信を行うユーザＡは、以下の処理を行う。
１．乱数ｋを生成させる。
２．次いで、以下の演算を行う。なお、ここにｍは通信文である。
r1≡g k             (mod  p)
r2≡m ／r1          (mod  p)…(a)
r2’≡r2        (mod  q)
s ≡k −r2’x A   (mod  q)…(b) を計算する。
【００１９】
３．ユーザＡは(r2 ，s)を、ユーザＢに送信する。
（４）ユーザＢによる受信したメッセージの復元
ユーザＢは、以下の式を計算することにより、メッセージm を復元する。
１．g s y A r2' r2≡m       (mod  p)
ここで、上記r1はコミットメントと呼ばれ、(a) はメッセージマスク式, (b) は署名式と呼ばれる。
【００２０】
上記従来例は、従来不可能であった離散対数問題に基づくメッセージ復元型署名を可能にする。また署名式(b) は以下のように６（＝３！）種類の式に一般化される。
ak = b + cx A (mod q), (a,b,c)=(1,r2',s)の置換…(b')
【００２１】
【発明が解決しようとする課題】
しかしながら、この従来例のメッセージ復元型署名に対しては、式が（ａ）と（ｂ）が簡単なため変形が容易であり、例えばｙA 及ぶｇのべき乗並びにｍについての掛け算の式が、３変数より２変数の式に置換しえる等のため近年幾つかの攻撃  recovery-equation attack using g and yA, signature-equation attackusing g and yA,and homomorphism attack （各「ｇとｙA を使用した再生攻撃」、「ｇとｙA を使用した署名攻撃」及び「準同型攻撃（選択平文攻撃）」が発表された。これについて詳しくは、宮地  充子、「メッセージ復元型署名の弱点１」、電子情報通信学会、情報セキュリティ研究会、１９９５, ７月及びNybergand Rueppel, "A new signature scheme based on  the DSA giving message recovery", 1st ACM Conf. on Comp.   and Comm.Security, 1993及びNyberg andRueppel, "Message recovery for signature schemes based on the discrete logarithm problem", Advances in cryptology-Proceedings of Eurocrypt'94, Lecture Notes in Computer Science, 950(1995), Springer-Varlag, 182-193を参照されたい。なお、参考までにその攻撃の１つを図４に示す。
【００２２】
これらに加えて、次に述べる冗長性を利用した攻撃（redundancy  attack）が存在する。
署名通信等では、解読の困難性からはｐ、ｑは大きい程好ましいが、必要な演算が少なくて済む等の面からは小さい方が好ましい。このかねあいから実際的にはｐは５１２ビット、１０２４ビット程度の素数が使用されるが、ｑは１６０ビット程度の数が使用される。この場合、上記ｒ2 ′≡ｒ2 （mod ｑ）の式では、ｐ以下でｒ2 ′以外にこの式を充たす数ｒｒ2 が存在しうる。本読解はこれを利用したものである。
【００２３】
今、偽造者が一つの署名(r2,s)を手にいれたとき、容易にこの署名文ｍが復元できるが、このとき
rr2=r2'+q       (mod p)       （ここに、ｒｒ2 とはｒ2 の偽を意味する。）
mm=rr2×(m/r2)      （ここに、ｍｍとは、ｍの偽を意味する）
を計算し、第三者に(rr2,s) を送信する。これを受け取った第三者は、Ａの公開鍵を用いて従来例に示した復元方法でmmを復元し、Ａから送られたと思ってしまう。この結果、偽造者はＡになりすますことができる。
【００２４】
参考までに、この攻撃の概要を図５に示す。なお、本図の「チルダー」は偽造者が署名を生成することを意味する。
これら６つの攻撃により、上記従来例のメッセージ復元型署名方式は、署名式の形によらず、ある文の署名の偽造が一組の文と署名のペアを得るだけで可能になり、安全な方式とはいえなくなった。
【００２５】
そして、これらのことは、楕円曲線を使用した場合にもあてはまる。
以上説明してきたように最近になってメッセージ復元型署名は、その解読方法が考案され、このためこの署名は安全でないことがわかった。この解読方法は従来の署名（メッセージを復元できない署名）には適応できないことがわかっている。しかし、メッセージ復元性は有用な性質であり、この性質を保持しつつ解読が回避できることが望ましいといって、あまり複雑な署名式、メッセージマスク式を採用したりするのは、必要な計算量の減少を図るという面から好ましくない。
【００２６】
本発明は、この従来例における問題点を鑑みてなされたもので、メッセージ復元性を保ちながら、提案された各種の解読に対して強い、しかも必要な計算量の少ないメッセージ復元型署名方式を提供することを目的とする。
【００２７】
【課題を解決するための手段】
本発明における署名方式は、p を素数とし、有限体GF(p) の元をg とし、その位数をq とし、GF(p) 上定義される署名方式において、署名者A の秘密鍵をx A 、公開鍵をy A =gxAとし、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、コミットメントr1=g kとし、r1' ≡r1  (mod q), m' ≡m (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r1',s,m')k ≡ hb(r1',s,m') + hc(r1',s,m')x A (mod q) からs が計算できるように構成している。これにより、各種の攻撃を回避する。
【００２８】
また、本発明におけるメッセージ復元を可能にするメッセージマスク式を使用したメッセージ復元型署名方式は、メッセージマスク式として、p を素数とし、有限体GF(p) の元をg とし、その位数をq とし、GF(p) 上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、r1≡ gk （mod p ）を署名生成処理におけるコミットメントとし、GF(p) ×GF(p) からGF(p) への写像をf とするとき、r1とm をf により変換したf(r1，m)を用いる。これにより、各種の攻撃を回避する。
【００２９】
また、本発明における署名方式、メッセージ復元型署名方式は、ＥＧ（ｐr ），Ｅ（ＧＦ（ｐ））、Ｅ（ＧＦ（ｐr ）上でもなされる。
【００３０】
【発明の実施の形態】
従来技術で記載した目的を達成するため、本発明では、特にGF(p) 上のメッセージ復元型署名において、p を素数とし、有限体GF(p) の元をg とし、その位数をq とし、GF(p) 上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、r1＝ gk を署名生成処理におけるコミットメントとし、GF(p) ×GF(p) からGF(p) への写像をf とするとき、r1とm をf により変換したf(r1，m)を用いて署名生成処理におけるメッセージ復元を可能にすることを特徴としている。
【００３１】
本発明では、特にGF(pr ) 上のメッセージ復元型署名において、p を素数とし、r を正整数とし、有限体GF(pr ) の元をg とし，その位数をq とし、GF(pr ) 上定義される署名方式において、署名したい文をm ∈GF(p r) とするとき、k を署名者が任意にとる乱数とし，r1＝g k をコミットメントとし、GF(p r) ×GF(p r) からGF(p r) への写像をf1とし，GF(p r) から有限環Z pr＝｛0,1,…,pr-1 ｝への写像をπとするとき、r1とm をf1により変換し，この値を更にπを用いて変換したπ(f1(r1，m)) を用いて署名生成処理におけるメッセージ復元を可能にすることを特徴としている。
【００３２】
本発明では、特にGF(p) 上のメッセージ復元型署名において、p を素数とし、有限体GF(p) 上定義された楕円曲線をE とし、E(GF(p))の元をG とし、その位数をq とし、E(GF(p))上定義される署名方式において、署名したい文をm∈GF(p) とするとき、k を署名者が任意にとる乱数とし、R1＝kG＝(rx , ry) をコミットメントとし、E(GF(p))×GF(p) からGF(p) への写像をFとするとき、R1とm をにF より変換したF(R1，m)を用いて署名生成処理におけるメッセージ復元を可能にすることを特徴としている。
【００３３】
本発明では、特にE(GF(pr ))上のメッセージ復元型署名において、pを素数とし、r を正整数とし、有限体GF(pr ) 上定義された楕円曲線をE とし、E(GF(pr ))の元をG とし、その位数をq とし、E(GF(pr ))上定義される署名方式において、署名したい文をm ∈GF(pr ) とするとき、k を署名者が任意にとる乱数とし、R1＝kG＝(rx, ry ) をコミットメントとし、E(GF(pr ))×GF(pr ) からGF(pr ) への写像をF1とするとし、GF(pr ) から有限環Z prへの写像をπとするとき、R1とm をF1により変換し、この値を更にπを用いて変換したπ(F1(R1，m)) を用いて署名生成処理におけるメッセージ復元を可能にすることを特徴としている。
【００３４】
本発明では、特にメッセージ復元型署名の上のrecovery-equation 攻撃を回避するため、写像f は、GF(p) ∋g, yA 及び m, 並びにZq= ｛0,1,…,q-1｝∋t, j及びe に対し、f(g t y A j ， my A e ）及びf(g t y A j , mge ) において、３変数t,j,e が２個の代数式で非置換である（置き換えられない）ことを特徴としている。
【００３５】
本発明では、特にメッセージ復元型署名の上のrecovery-equation 攻撃を回避するため、写像f は、GF(pr ) ∋g, yA 及びm 並びにZ q = ｛0,1,…,q-1｝∋t, j及びe に対し、f1(gt y A j ,my A e ) 及びf1(gt y A j , mge ) において、３変数t,j,e が２個の代数式で非置換である（置き換えられない）ことを特徴としている。
【００３６】
本発明では、特にメッセージ復元型署名の上のrecovery-equation 攻撃を回避するため、写像F は、E(GF(p))∋G 及びY A , GF(p)∋m 並びにZ q =｛0,1,…,q-1｝∋t, j及びe に対し、F(tG+jY A , m ×x(eYA ))及びf(tG+jy A, m ×x(eG))において、３変数t,j,e が２個の代数式で非置換（置き換えられないことを特徴としている。
【００３７】
本発明では、特に特にメッセージ復元型署名の上のrecovery-equation 攻撃を回避するため、写像F1は、E(GF(pr ))∋G 及びY A , GF(pr ) ∋m 並びにZ q = ｛0,1,…,q-1｝∋t, j及びe に対し、f(tG+jY A , m ×x(eYA ))及びf(tG+jY A , m ×x(eG))において、３変数t,j,e が２個の代数式で非置換である（置き換えられない）ことを特徴としている。
【００３８】
本発明では、特に特にメッセージ復元型署名の上のhomomorphism攻撃を回避するため、写像f は、GF(p) ∋r1, r2, m, g及びy A に対し、r2=f(r1,m)の逆像をm=f -1(r1,r2) で定義するとき、任意の２変数関数φ，ψに対してf -1(r1/g, r2)≠φ(m,g) 及びf -1(r1/y A , r2) ≠ψ(m,yA ) となることを特徴としている。
【００３９】
本発明では、特に特にメッセージ復元型署名の上のhomomorphism攻撃を回避するため、写像f1は、GF(pr ) ∋r1, r2, m, g及びy A に対し、r2=f1(r1,m) の逆像をm=f1-1(r1,r2) で定義するとき、任意の２変数関数φ，ψに対してf1-1(r1/g, r2) ≠φ(m,g) 及びf1-1(r1/y A , r2) ≠ψ(m,yA ) となることを特徴としている。
【００４０】
本発明では、特に特にメッセージ復元型署名の上のhomomorphism攻撃を回避するため、写像F は、E(GF(p))∋R1, Y A 及びG 並びにGF(p) ∋ m及びr2に対し、r2=f(R1,m)の逆像をm=f -1(R1,r2) で定義するとき、任意の２変数関数φ，ψに対してf -1(R1-G, r2)≠φ(m,G) 及びf -1(R1-Y A , r2) ≠ψ(m,YA) となることを特徴としている。
【００４１】
本発明では、特に特にメッセージ復元型署名の上のhomomorphism攻撃を回避するため、写像F1は、E(GF(pr ))∋R1, Y A 及びG 並びにGF(pr ) ∋ m及びr2に対し、r2=f(R1,m)の逆像をm=f -1(R1,r2)で定義するとき、任意の２変数関数φ，ψに対してf -1(R1-G, r2)≠φ(m,G) 及びf -1(R1-Y A , r2) ≠ψ(m,YA ) となることを特徴としている。
【００４２】
本発明では、特にメッセージ復元型署名の上のrecovery-equation,homomorphism攻撃を回避するため、写像f は、(r，y)→r ＋y(GF(p) 上の加算)で定義されることを特徴としている。
本発明では、特にメッセージ復元型署名の上のrecovery-equation,homomorphism攻撃を回避するため、写像f1は、(r，y)→r ＋y(GF(pr ) 上の加算) で定義されることを特徴としている。
【００４３】
本発明では、特にメッセージ復元型署名の上のrecovery-equation,homomorphism攻撃を回避するため、写像F は、楕円曲線のｘ座標関数を用いて、(R，y)→x(R)＋y(GF(p) 上の加算) で定義されることを特徴としている。
本発明では、特にメッセージ復元型署名の上のrecovery-equation,homomorphism攻撃を回避するため、写像F1は、楕円曲線のｘ座標関数を用いて、(R，y)→x(R)＋y(GF(pr ) 上の加算) で定義されることを特徴としている。
【００４４】
本発明では、特にメッセージ復元型署名の上のrecovery-equation,homomorphism攻撃を回避するため、写像πは、｛α1 ，α2 ，…，αr ｝をGF(pr ) のGF(p) 上の基底とするとき、GF(pr)の元ｘ＝x1α1 ＋…＋x r αr ( ｘ1，…，ｘr ∈GF(p))に対して、π( ｘ) ＝x1+x2p+ …+xr p r-1 で定義されることを特徴としている。
【００４５】
本発明では、GF(p) 上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、有限体GF(p) の元をg とし、その位数をq とし、GF(p)上定義される署名方式において、署名者A の秘密鍵をx A 、公開鍵をy A =gxAとし、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、r2をコミットメントr1=gk とm により計算されるGF(p) の元とし、r2' ≡r2 (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r2',s,1)k ≡ hb(r2',s,1) + hc(r2',s,1)x A (mod q) からsが計算できるように構成することを特徴としている。
【００４６】
本発明では、特にGF(pr ) 上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、r を正整数とし、有限体GF(pr ) の元をg とし、その位数をq とし、GF(pr ) 上定義される署名方式において、署名者A の秘密鍵をx A 、公開鍵をy A =gxAとし、署名したい文をm ∈GF(pr ) とするとき、k を署名者が任意にとる乱数とし、r2をコミットメントr1=g kとm により計算される有限環Z prの元とし、r2' ≡r2 (mod q) とし、ha, hb, hcを有限環Z q ×Z q×Z q からZ q への写像とするとき、署名式を、ha(r2',s,1)k ≡ hb(r2',s,1)+ hc(r2',s,1)x A (mod q)からs が計算できるように構成することを特徴としている。
【００４７】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、有限体GF(p) 上定義された楕円曲線をE とし、E(GF(p))の元をG とし、その位数をq とし、E(GF(p))上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、r2をコミットメントR1=kG とm により計算されるGF(p) の元とし、r2' ≡r2 (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r2',s,1)k ≡ hb(r 2,s,1) + hc(r2',s,1)x A (mod q) からsが計算できるように構成することを特徴としている。
【００４８】
本発明では、特にE(GF(pr ) 上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、r を正整数とし、有限体GF(pr ) 上定義された楕円曲線をE とし、E(GF(pr ))の元をG とし、その位数をq とし、E(GF(pr ))上定義される署名方式において、署名したい文をm ∈GF(pr)とするとき、k を署名者が任意にとる乱数とし、r2をコミットメントR1=kG とm により計算される有限環Z prの元とし、r2' ≡r2 (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Zq からZ q への写像とするとき、署名式を、ha(r2',s,1)k ≡ hb(r2',s,1) + hc(r2',s,1)x A (mod q) からs が計算できるように構成することを特徴としている。
【００４９】
本発明では、特にメッセージ復元型署名の上のsignature-euqaion攻撃を回避するため、写像ha,hb, hc は、r2',s をZ q の元とするとき、予め固定された少数値を除く任意のZ q の元rr2', ssに対して、次の二つの条件1. ha(r2',s,1)=ha(rr2',ss,1), hc(r2',s,1)=hc(rr2',ss,1) のときhb(r2',s,1)-ha(r2',s,1) ≠hb(rr2',ss,1)2. ha(r2',s,1)=ha(rr2',ss,1), hb(r2',s,1)=hb(rr2',ss,1)のときhc(r2',s,1)-ha(r2',s,1)≠hc(rr2',ss,1) を満足することを特徴としている。
【００５０】
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像ha,hb,hcは、ha(r2',s,1)=r2', hc(r2',s,1)=sとし、hb(r2',s,1) は、r2'=rr2', s=ssのとき、hb(r2',s,1)=hb(rr2',ss,1) 、r2'=rr2', hb(r2',s,1)=hb(rr2',ss,1) のとき、s=ss、hb(0, 0, 1) ≠0,を満たすことを特徴としている。
【００５１】
本発明では、特にメッセージ復元型署名の上のsignature-equation, 比例攻撃を回避するため、写像ha,hb,hcは、ha(r2',s,1)=s, hc(r2',s,1)=r2'とし、hb(r2',s,1) は、s=ss, r2'=rr2', のとき、hb(r2',s,1)=hb(rr2',ss,1)、s=ss, hb(r2',s,1)=hb(rr2',ss,1) のとき、r2'=rr2'、hb(0, 0, 1) ≠0 を満たすことを特徴としている。
【００５２】
本発明では、特にメッセージ復元型署名の上のsignature-equation, 比例攻撃を回避するため、写像ha,hb,hcは、ha(r2',s,1)=s, hb(r2',s,1)=r2'とし、hc(r2',s,1) は、r2'=rr2', s=ssのとき、hc(r2',s,1)=hc(rr2',ss,1) 、s=ss, hc(r2',s,1)=hc(rr2',ss,1) のとき、r2'=rr2'hc(0, 0, 1) ≠0 を満たすことを特徴としている。
【００５３】
本の発明では、特にメッセージ復元型署名の上のsignature-equation, 比例攻撃を回避するため、写像ha,hb,hcは、ha(r2',s,1)=r2', hb(r2',s,1)=sとし、hc(r2',s,1) は、r2'=rr2', s=ssのとき、hc(r2',s,1)=hc(rr2',ss,1) 、r2'=rr2', hc(r2',s,1)=hc(rr2',ss,1) のとき、s=ss、hc(0, 0, 1) ≠0 を満たすことを特徴としている。
【００５４】
本発明では、特にメッセージ復元型署名の上のsignature-equation, 比例攻撃を回避するため、写像ha,hb,hcは、hc(r2',s,1)=s, hb(r2',s,1)=r2'とし、ha(r2',s,1) は、r2'=rr2', ha(r2',s,1)=ha(rr2',ss,1) のとき、s=ss、s=ss, ha(r2',s,1)=ha(rr2',ss,1) のとき、r2'=rr2'、ha(0,0,1) ≠0 を満たすことを特徴としている。
【００５５】
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像ha,hb,hcは、hc(r2',s,1)=r2', hb(r2',s,1)=sとし、ha(r2',s,1) は、r2'=rr2', ha(r2',s,1)=ha(rr2',ss,1) のとき、s=ss、s=ss, ha(r2',s,1)=ha(rr2',ss,1)のとき、r2'=rr2'、ha(0,0,1) ≠0 を満たすことを特徴としている。
【００５６】
本発明では、特にメッセージ復元型署名のsignature-equation、比例攻撃を回避するため、写像hb(r2',s,1) は、hb(r2',s,1)=r2' ＋s ＋1 で定義されることを特徴としている。
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像hb(r2',s,1) は、hb(r2',s,1)=r2' ×s ＋1 で定義されることを特徴としている。
【００５７】
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像hc(r2',s,1) は、hc(r2',s,1)=r2' ＋s ＋1 で定義されることを特徴としている。
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像hc(r2',s,1) は、hc(r2',s,1)=r2' ×s ＋1 で定義されることを特徴としている。
【００５８】
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像ha(r2',s,1) は、ha(r2',s,1)=0 となる解(r2',s) が有限時間（ビットデータの多項式、すなわち非指数時間）で確定できることを特徴としている。
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、乱数k を、メッセージマスク式で計算されるr2と署名式で計算されるs に対して、ha(r2',s,1) ≠0 であるように取ってくることを特徴としている。
【００５９】
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像ha(r2',s,1) は、ha(r2',s,1)=r2'+s+1 であることを特徴としている。
本発明では、特にメッセージ復元型署名の上のsignature-equation、比例攻撃を回避するため、写像ha(r2',s,1) は、ha(r2',s,1)=r2' ×s ＋1 であることを特徴としている。
【００６０】
本発明では、特にGF(p) 上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、q を（Ｐ／４）＜ｑとなる正整数とし、有限体GF(p) の位数がq となる元をg とし、GF(p) 上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、乱数k を、コミットメントr1＝g k とm により構成されるGF(p) の元r2が、０＜r2＜q となるようにとり、上記範囲を限定されたr2を署名式に用いることを特徴としている。
【００６１】
本発明では、特にGF(pr ) 上のメッセージ復元型署名の上の攻撃を回避するため、 pを素数とし、r を正整数とし、q を（Ｐ／４）＜ｑとなる正整数とし、有限体GF(pr ) の位数がq となる元をg とし、GF(pr ) 上定義される署名方式において、署名したい文をm ∈GF(pr ) とするとき、乱数k を、コミットメントr1＝g k とm により構成されるZ pr= ｛0,1,…,pr-1 ｝の元r2が、０＜r2＜q となるようにとり、上記範囲を限定されたr2を署名式に用いることを特徴としている。
【００６２】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、有限体GF(p) 上定義された楕円曲線をE とし、E(GF(p))の元をG とし、その位数をq とし、E(GF(p))上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、乱数k を、コミットメントr1＝g kとm により構成されるGF(p) の元r2が、０＜r2＜q となるようにとり、上記範囲を限定されたr2を署名式に用いることを特徴としている。
【００６３】
本発明では、特にGF(pr ) 上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、r を正整数とし、有限体GF(pr ) 上定義された楕円曲線をE とし、E(GF(pr ))の元をG とし、その位数をq とし、E(GF(pr ))上定義される署名方式において、署名したい文をm ∈GF(pr ) とするとき、乱数k を、コミットメントr1＝g k とm により構成されるZ pr= ｛0,1,…,pr-1 ｝の元r2が、０＜r2＜q となるようにとり、上記範囲を限定されたr2を署名式に用いることを特徴としている。
【００６４】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、楕円曲線E は、元の個数がp となるGF(p) 上の楕円曲線を用いることを特徴としている
本発明では、特にメッセージ復元型署名の上の攻撃を回避するため、署名したい文m に対し、m のハッシュ関数値hash(m) をm の代わりに用いることを特徴としている。
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、有限体GF(p) の元をg とし、その位数をq とし、GF(p) 上定義される署名方式において、署名者A の秘密鍵をx A 、公開鍵をy A=gxAとし、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、コミットメントr1=g kとし、r1' ≡r1 (mod q), m' ≡m (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r1',s,m')k ≡ hb(r1',s,m') + hc(r1',s,m')x A (mod q) からs が計算できるように構成することを特徴としている。
【００６５】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、r を正整数とし、有限体GF(pr ) の元をg とし、その位数をq とし、GF(pr ) 上定義される署名方式において、署名者A の秘密鍵をx A 、公開鍵をy A =gxAとし、署名したい文をm ∈GF(pr ) とするとき、k を署名者が任意にとる乱数とし、コミットメントr1=g kとし、GF(pr ) から有限環Z prへの写像をπとするとき、r1' ≡π(r1) (mod q), m' ≡π(m) (mod q)とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r1',s,m')k ≡ hb(r1',s,m') + hc(r1',s,m')x A (mod q) からs が計算できるように構成することを特徴としている。
【００６６】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、有限体GF(p) 上定義された楕円曲線をE とし、E(GF(p))の元をG とし、その位数をq とし、E(GF(p))上定義される署名方式において、署名したい文をm ∈GF(p) とするとき、k を署名者が任意にとる乱数とし、コミットメントR1=kG とし、E(GF(p))からGF(p) への写像をρとするとき、r1' ≡ρ(R1) (mod q), m' ≡m (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r1',s,m')k ≡ hb(r1',s,m') + hc(r1',s,m')x A (mod q) からs が計算できるように構成することを特徴としている。
【００６７】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、p を素数とし、r を正整数とし、有限体GF(pr ) 上定義された楕円曲線をE とし、E(GF(pr ))の元をG とし、その位数をq とし、E(GF(pr ))上定義される署名方式において、署名したい文をm ∈GF(pr ) とするとき、k を署名者が任意にとる乱数とし、コミットメントR1=kG とし、E(GF(pr ))からGF(pr )への写像をρとするとし、GF(pr ) から有限環Z pr= ｛0,1,…,pr-1 ｝への写像をπとするとき、r1' ≡π( ρ(R1)) (mod q), m' ≡π(m) (mod q) とし、ha, hb, hcを有限環Z q ×Z q ×Z q からZ q への写像とするとき、署名式を、ha(r1',s,m')k ≡ hb(r1',s,m') + hc(r1',s,m')x A (mod q) からs が計算できるように構成することを特徴としている。
【００６８】
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、写像ρは、楕円曲線のｘ座標若しくはｙ座標関数を用いて、R →x(R)若しくはＲ→ｙ（Ｒ）で定義されることを特徴としている。
本発明では、特にE(GF(p))上のメッセージ復元型署名の上の攻撃を回避するため、写像πは、｛α1 ，α2 ，…，αr ｝をGF(pr ) のGF(p) 上の基底とするとき、GF(pr ) の元ｘ＝x1α1 ＋…＋x r αr ( ｘ1 ，…，ｘr ∈GF(p))に対して、π( ｘ) ＝x1+x2p+ …+xr p r-1 で定義されることを特徴としている。
【００６９】
【実施例】
（第１実施例）
以下、本発明を実施例に基づいて説明する。
以下、本発明の第１実施例を、図を参照しつつ説明する。
まず、公開ディジタル通信網全体の構成について説明する。
【００７０】
図６は、本発明が実施される公開ディジタル通信網全体の構成図である。
本図において、１は通信網提供者である。２は、公開ディジタル通信回線である。２はディジタル通信回線である。３〜６は、公開ディジタル通信回線２に接続されたユーザ端末（以下、単に「ユーザ」と言う）Ａ、ユーザＢ、…、ユーザＵ、ユーザＶである。本図に示すように、通信網提供者は、システムパラメータとして、２進数５１２ビットで表される素数ｐ、
ｇq ≡１（mod ｐ）
となる最小の整数（位数）ｑが２５６ビットの整数ｑである整数ｇ、ＧＦ（ｐ）上でｆ（ｒ1,ｍ）≡ｒ1 ＋ｍ  （mod ｐ）そしてその逆字像f -1がf -1（ｒ1 ，ｆ（ｒ1 ，ｍ））≡ｍ  （mod ｐ）を充たすメッセージマスク式ｆ，Ｚｇ×Ｚｇ×ＺｇからＺｇへの写像で、ｈａ（ｒ2 ′，ｓ，１）＝ｓ、ｈｂ（ｒ2 ′，ｓ，１）≡ｒ2 ′＋ｓ＋１（mod q ）、ｈｃ（ｒ2 ′，ｓ，１）ｒ2 ′を充たす関数ｈａ、ｈｂ、ｈｃをシステムパラメータと各ユーザに公開している。
【００７１】
次に、図６に示す通信網提供者１とユーザ３〜６の構成について説明する。
図７は、通信網提供者１により提供されたＩＣカードやユーザ自身が作成したパソコン用プログラムの要部の構成図である。本図において、１１は秘密鍵作成要求受付部である。１２は、秘密鍵発生部である。１３は、公開鍵作成部である。１４は、公開鍵公開部である。１５は、秘密鍵通知形態作成部である。１６は、秘密鍵通知部である。
【００７２】
１３１は公開鍵作成部１３内のｇの２n のｐを法とする剰余記憶部である。１３２は、同じく法取り出し部である。１３３は、同じく乗算部である。１３４は、同じく割算部である。
以下、上記各部の作用等について説明する。
秘密鍵作成要求受付部１１は、各ユーザ３〜６（本図ではユーザＡ）からの固有の秘密鍵の作成要求を、ユーザのキーボードを使用しての操作等で受け付ける。秘密鍵発生部１２は、秘密鍵作成要求受付部１１が受け付けた要求をもとに、内蔵する乱数発生プログラムにより２進数の乱数を発生させ、これを当該ユーザの秘密鍵とする。なお、本実施例では、乱数の発生に際しては、同一の乱数発生を万が一にも防止し、併せて整理の都合もあるため当該ユーザの公開ディジタル通信網上での識別番号をも組み込んだものとしている。またこのため、乱数はｐと同じく５１２ビットとしている。公開鍵作成部１３は、２進乱数発生部１２の発生させた乱数をもとに公開鍵を作成する。なお、この手順は、後で詳しく説明する。
【００７３】
公開鍵公開部１４は、公開鍵作成部１３の作成した公開鍵をその作成要求をなしたユーザ名と共に、全ユーザに公開する。これは、通信網が正当性を承認したユーザ名との公開鍵を対応して登録し、ＲＯＭ等で発行し、また各ユーザの問い合わせに回答する。秘密鍵通知形態作成部１５は、各ユーザの秘密鍵をその操作ミスで外部へ漏出しないよう保護する。秘密鍵通知部１６は、秘密鍵を共有鍵の作成等の必要に応じて使用しうるようにする。
【００７４】
次に、公開鍵作成部１３による公開鍵の作成について説明する。公開鍵作成部１３は、ｇの２n 乗のｐを法とする剰余記憶部１３１と法取り出し部１３２と、乗算部１３０と割算部１３４とを有する。
ｇの２n のｎを法とする剰余記憶部１３１は、ｇ、ｇ2 、ｇ4 、ｇ8 …等ｇの２の累べき剰のｐを法とする剰余ｇ1 、ｇ2 …、ｇi をあらかじめ計算して、ＲＯＭに記憶している。これを小さい数を例にとって、具体的に示す。ｐ＝１１、ｇ＝２ならば、ｉ＝〔log2  １１〕＝３となり、２3 ＜１１となるため、ｇ、ｇ2 、ｇ4 として２、２2 、２4 を、更に対応するｇ1 、ｇ2 、ｇ4 として２、４、５を記憶している。法取り出し部１３２は、秘密鍵発生部１２から２進数で表現された秘密鍵の通知を受けると、その値で１が立つ桁に対応するｇ1 、ｇ2 、…、ｇi を取り出す。これも、小さい数を例にとって具体的にする。今ｘａ＝１０１（１０進の５）とする。１位と３位（各、ｇの２の０乗と２の２乗）に１が立っている。このためｇ1 とｇ4 、すなわち２と５を取り出す。乗算部１３３は、法取り出し部１３２の取り出した法を掛け合わせる。割算部１３４は、乗算部１３３の乗算結果をｎで割り、その剰余を求める。上記具体的数値で示すならば、２xa＝２5 ＝２×２4 ≡２×５≡１０（mod 11) となる。そして、この剰余がユーザＡの公開鍵とされる。なお、本実施例でｇの累べきを剰を採用しているのは、ｇ3 、ｇ5 等の法を採用するのよりも一般的に処理が速く、演算機等も２進で作動することにあわせたものである。
【００７５】
次に、署名付きの送信を行うユーザＡ側の重要な処理の流れを図８に、重要な構成を図９と図１０に示す。
図９において、３１はｒ2 制御部である。３２は２進乱数発生部である。３３はｒ1 演算部である。３４は、通信文（ｍ）入力部である。３５は、ｆ関数部である。３６は、ｑ記憶部である。３７は、排除部である。また、３３１は、ｒ1 演算部内のべき剰余記憶部である。また、３３２は、同じく法取り出し部である。３３３は、同じく乗算部である。３３４は、同じく割算部である。３５１は、ｆ関数部３５内の和算部である。３５２は、同じく、割算部である。３７１は、排除部３７内のｑ読み出し出力部３７１である。３７２は、同じく引き算部である。３７３は、同じく比較部である。
【００７６】
図１０において、３８はＳＫ部である。３８１は、ＳＫ部３８内のｋ−１演算部である。３８２は、同じくｒ2 ＋１演算部である。３８３は、同じくｒ2 ｘA 演算部である。３８４は、同じくｒ2 ＋１＋ｒ2 ｘA 演算部である。３８５は、同じく、Ｓ計算部である。
以下、上記各部の作用等について説明する。
【００７７】
最初、システムパラメータの入手（ａ１）と秘密鍵等の作成操作（ａ２）がなされ、秘密鍵の作成及び公開鍵の登録がなされる（ａ３）。
ｒ2 制御部３１は、署名通信発信にあたり、２進乱数発生部３２とｍ入力部３４の作用を調整、制御し、後に説明するが、必要な繰り返し処理をも行う。
通信文入力部３４は、署名発信のための文、例えば「私は、特発  許明です。電話番号は０３─３５８１─１１０１。確認願います。」等の文書をユーザにより入力され、これを数値（ｍ）化する（ａ４）。
【００７８】
２進乱数発生部３２は、コミットメント作成のため署名発信毎に相異なる乱数を発生をさせる。またこのため、発信日時等も乱数発生に使用される。（ａ５）ｒ1 演算部３３は、発生された２進乱数ｋをもとにｒ1 ≡ｇk (mod  ｐ）の演算により、ｒ1 を求める。このため、通信網提供者におけるｇの２n のｐを法とする剰余記憶部１３１、法取り出し部１３２、乗算部１３３、割算部１３４と同じ構成作用をなす剰余記憶部３３１、法取り出し部３３２、乗算部３３３、割算部３３４を有している。（ａ６）
ｆ関数部３５は、ｒ1 演算部３３で作成されたｒ1 と通信文入力部３４で数値化された通信文ｍをもとに、メッセージマスク式ｆを使用して、ｒ2 ≡ｆ（ｒ1 ，ｍ）（mod ｐ）の演算を行い、ｒ2 を求める。（ａ７）
このため、（mod ｐ）上でのｒ2 ≡ｒ1 ＋ｍの和算を行う和算部３５１と、和のｐを法とする剰余を求めるためｐでの割算を行う割算部３５２とを内蔵している。
【００７９】
ｑ記憶部３６は、あらかじめ別途ユーザにより入力されたｇをメモリーに記憶している。
排除部３７は、ｆ関数部３５から入力されたｒ2 とｑとの大小比較を行い（ａ８）、ｒ2 がｑ以上となれば、前述の冗長攻撃を回避すべくこの送信を行わず、この旨ｒ2 制御部３１に通知する。
【００８０】
この通知を受けた、ｒ2 制御部３１は、２進乱数発生部３２に再度異なる乱数発生をなさしめて（ａ９）先のｒ1 と異なるｒ1 を得、これと通信文入力部３４に入力されている通信文ｍとでｆ関数を部３５にｆ関数作用させｔｅ、先と異なるｒ2 を求め、更にｑとの大小比較を行わしめるというプロセスを、ｇ−ｒ2 が正となるまで繰り返し実行させる。また、ｑ−ｒ2 が正となれば、このｒ2 をＳＫ部３７へ出力する。またこのため、排除部３７は、ｑ読み出し部３７１と引き算部３７２と比較部３７３とを内蔵している。ｑ読み出し部３７１は、ｒ2 の入力があるとｑ記憶部３６からｑの値を読み出し、引き算部３７２に通知する。引き算部３７２は、通知されたｑからｒ2 の引き算を行う。比較部３７３は、引き算部３７２の求めた差が０より小ならばｒ2 制御部３１へこの旨通知するこのため、この値が正となるまで上述の手順を繰り返し実行されることとなる。また、ｒ2 が正ならば、入力されたｒ2 をそのままＳＫ部へ通知する。
【００８１】
ＳＫ部３８は、署名式ｓＫ≡（ｒ2 ＋ｓ＋１）＋ｒ2 ｘa （mod ｐ）の演算により、送信対象となるメッセージを作成する（ａ１０）。図１４に示すような構成である。そして、内蔵しているｋ−１演算部３８１は、２進乱数発生部３８１にて発生された、そしてそれを使用して計算したｒ2 の値ががｑ未満という要件を充たすこととなった乱数ｋから１を引き去る。なお、この差をａとする。
【００８２】
同じく、ｒ2 ＋１演算部３７は、入力されたｒ2 に１を加える。同じく、ｒ2 ｘa 演算部３８３は、排除部３７から入力されたｒ2 と図示しない秘密鍵記憶部から入力されたｘA との積を求める。
ｒ2 ＋１＋ｒ2 ｘA 演算部３８４は、ｒ2 ＋１演算部３８２から入力されたｒ2 ＋１とｒ2 ｘA 演算部３８３から入力されたｒ2 ｘA との和を求める。なお、この和をｂとする。ｓ計算部３８５は、ｋ−１演算部３８１が求めたａとｒ2 ＋１＋ｒ2 ｘA 演算部３８４が求めたｂとを使用して、ｓ・ａ≡ｂ  （mod ｑ）を充たすｓをユークソッドの互除法により求める。そしてこの結果を図示しない送信部へ送る。
【００８３】
以上のもとで、署名を求める他のユーザＢへ、（ｒ2 ，ｓ）が署名文として送信されることとなる。（ａ１１）
図１１は、署名文を受信したユーザ側の重要な処理の流れを示す図であり、図１２は構成図である。本図において、４１は受信部である。４２は、拒絶部である。４３は、ｑ記憶部である。４４は、ｙａ記憶部である。４５は、ｒ2 記憶部である。４６は、ｓ記憶部である。４７は、ｇ記憶部である。４８は、ｒ2 ＋ｓ＋１演算部である。４９は、ｙA 1/S （mod p)演算部である。４１０は、ｇS （mod p)演算部である。４１１は、ｙA r2/s（mod p)演算部である。４１２は、ｇ(r2+1+S)/S（mod p)演算部である。４１３は、ｒ1 ≡ｇ(r2+1+S)/SｙA r2/S（mod P)演算部である。４１４は、ｆ-1関数部である。
【００８４】
受信部４１は、認署を求める他のユーザ、今Ａとする、からの送信文（ｒ2 ，Ｓ）を受信する（ｂ１）。
拒絶部４２は、受信があった場合、ｒ2 −ｑを計算し（ｂ２）、正なら一応正当なものとして続行する処理を行うべく他部にこの受信文を流すが、正でなければこの署名を拒否する（ｂ３）。またこのため、送信側ユーザと同じくｑ記憶部４３にあらかじめｑを記憶している。ｙA 記憶部４４は、通信網提供者より公開されたｙA を、あらかじめメモリーに記憶している。
【００８５】
ｇ記憶部４７も、同じくあらかじめｇを記憶している。
ｒ2 記憶部４５は、拒絶部４２が一応認署したｒ2 を記憶し、ｓ記憶部４６は同じくｓを記憶する。なお、ｒ2 とｓの区分けは、別途定めた通信規約に基づきなされる。ｒ2 ＋ｓ＋１演算部４８は、ｒ2 記憶部４５とｓ記憶部４６からそれぞれｒ2 とｓを読み出し、和算でｒ2 ＋ｓ＋１を求める。ｙA 1/S （mod p)演算部４９は、ｙA 記憶部４４からｙA を：Ｓ記憶部４６からｓを読み出してｙA 1/S （mod p)を演算する。ｇS （mod p)演算部４１０は、ｓ記憶部４６からｓを、ｇ記憶部４７からｇを読み出して、ｇ1/S （mod p)を演算する。ｙA r2/S（mod p)演算部４１１は、ｒ2 記憶部４５から読み出したｒ2 とｙA 1/S （mod p)を演算部４９から読み出したｙA 1/S （mod p)をもとに），（ｙA 1/S ）をｒ2 乗し、更にそのｐを法とする剰余を求める。ｇ(r2+1+S)/S（mod p)演算部４１２は、ｒ2 ＋ｓ＋１演算部４１８からｒ2 ＋ｓ＋１を読み出し、ｇ1/S （mod p)演算部４１０から読み出したｇ1/S （mod p)をｒ2 ＋ｓ＋１乗し、更にこのｐを法とする剰余を求める。
【００８６】
ｒ1 ≡ｇ(r2+1+S)/SｙA r2/S（mod p)演算部４１３は、ｙA r2/S（mod p)演算部４１１の演算結果とｇ(r2+1+S)/S（mod p)演算部４１２の演算結果とから、ｒ1 ≡ｇ(r2+1+S)/SｙA r2/S（mod p)の演算により、ｒ1 を求める（ｂ４）。
ｆ1 関数部４１４は、関数ｆ-1を使用して演算ｒ2 −ｒ1 を行い、ｍを求める（ｂ５）。
【００８７】
以上の構成により、ユーザＢはユーザＡの送信文からｍを入手するが、この際通信網提供者が公開したｙA に相当する秘密鍵ｘa を知っているのはユーザＡのみであり、またこのｘa を使用しない限りｙa を使用しての正しい復号もなしえばい。このため、送信者は、確かにユーザＡの署名であると確認する（ｂ６）。次に、以上の説明とかなり重複するが、以上の手順における通信文の処理、各種の数式をもとにしての、式や数値で表現されたデータの変化の様子を中心として、この手順を説明する。
【００８８】
図１は、この数値式や面で表現した手順の基本的な構成を示すものである。
以下、本図を参照しながら実施例の手順を説明する。
（１）センターによる初期設定
p を素数とし、GF(p) の元をg としその位数をq とする。ここでp 〜q ととる。
【００８９】
GF(p) ×GF(p) からGF(p) への写像f を、
f(r1, m)≡r1＋m   (mod  p)
f の逆写像f を
f -1(r1,f(r1,m))≡ m  (mod  p)
とし、
Zq×Zq×ZqからZqへの写像 ha ,hb ,hc を、
ha(r2',s,1)=s, hc(r2',s,1)=r2'とし、
hb(r2',s,1) ≡r2' ＋s ＋1   (mod q)
で定義する。また署名式を
ha(r2',s,1)k≡ hb(r2',s,1) + hc(r2',s,1)x A (mod q)
で定義する。
【００９０】
センターは、システムパラメータとしてp ，q ，g ，f, ha, hb, hc を公開する。
この状態が、図６に示すものである。
（２）ユーザによる署名送信のための秘密鍵の作成及びセンターが認署した公開鍵の登録。
【００９１】
ユーザＡが、メッセージ復元型署名通信を行うため、その秘密鍵を基に公開鍵を作成し、これを通信網提供者が正しいものとして登録する要求を行う。この要求のため、ユーザＡはその端末識別番号を使用して乱数を発生させ、秘密鍵ＸA を生成する。次いで、その公開値ｙA ≡ｇXA (mod p)を生成し、生成した公開値はセンターを通じて各ユーザに通知される。
（３）ユーザＡによる署名の生成及び送付
１．２進乱数k を、プログラムにのっとって生成する。
【００９２】
２．以下の演算を順に行う。
2-1)r1≡g k                  (mod  p) ，
2-2)r2≡f(r1,m)  (mod  p) …(c) とする。
2-3) q≦r2の場合、再度上記１に戻り、異なる２進乱数を生成する。
2-4)sk≡(r2+s+1)+r2xa (mod  q)…(d) よりs を計算する。
【００９３】
３．上記２で生成した(r2 ，s)をユーザＢに送信する。
（４）ユーザＢによる受信したメッセージの復元
1.  q ≦r2ならば、署名を拒絶する。
2.  r1≡g (r2+s+1)/sy A r2/s(mod  p)を計算し、
f -1(r1,r2) ≡m     (mod  p)
を計算することにより、メッセージm を復元する。
【００９４】
次に、以上の署名の耐攻撃性について説明する。
以上の構成のメッセージ復元型署名の場合、コミットメントr1が従来例の式(a) のように直接平文m に関与するのでなく、写像f を通して関与している。この写像f が
(*)1:  GF(p)∋g, yA 及びm 並びにZq= ｛0,1,…,q-1｝∋t, j及びe に対し、f(g t y A j , my A e) 及びf(g t y A j , mge ) において、３変数t,j,e が２個の代数式で非置換である。このため、recovery equation 攻撃を受けない。
【００９５】
2: GF(p)∋r1, r2, m, g及びy A に対し、r2=f(r1,m)の逆像をm=f -1(r1,r2) で定義するとき、任意の２変数関数φ，ψに対して
f -1(r1/g, r2)≠φ(m,g) 及びf -1(r1/y A , r2) ≠ψ(m,yA ) となることから、宮地らにより提案された３つの攻撃(recovery-equation attack ，using g and y A , and homomorphism attack)を回避できる。
【００９６】
また上記実施例のように構成されたメッセージ復元型署名の場合、従来例の式(b')のように署名式の係数(a,b,c) が(r2',s,1) の置換という形ではなく、写像ha, hb, hcを用いて決定されている。この写像ha, hb, hcが(**)r2',s をZqの元とするとき、予め固定された少数値をのぞく全てのrr2', ssに対して、次の二つの条件
1. ha(r2',s,1)=ha(rr2',ss,1), hc(r2',s,1)=hc(rr2',ss,1) のとき
hb(r2',s,1)-ha(r2',s,1)≠hb(rr2',ss,1)
2. ha(r2',s,1)=ha(rr2',ss,1), hb(r2',s,1)=hb(rr2',ss,1)のとき
hc(r2',s,1)-ha(r2',s,1)≠hc(rr2',ss,1)
を満たすことから、宮地らにより提案された２つの解読(signature-equation attack using g and yA ) を回避できる。さらにこの署名式は従来から存在する比例関係を用いた解読に対しても、署名式が２項に分解されることがないので強い。
【００９７】
なお、従来から存在する比例関係を用いた比例攻撃に付いては、
L.Harn and Y. Xu, "Design of generalised ElGamal type digital signature schemes based on discrete logarithm", Electron. Lett., Vol.30(1994),2025-2026.に詳しい。
また、上記実施例のようにp 〜q ととることにより、r2の値を制限するステップ（署名生成ではステップ2-3,メッセージ復元ではステップ１）を付加することができる。これにより宮地により提案された１つの解読(redundancy attack) を回避できる。更にこの場合、ｑのｐに対する比が従来のごとく２-400と小さくなく、１／３、１／２することにより、再度乱数を発生させ繰り返しての処理を行わねばならない確率も低下しえる。
【００９８】
なお、上述の実施例はf をr1＋m として行ったが、これは勿論他の写像f で、(*) を満たすものなら何でもよい。またこの際、r1＋m のように計算量が小さい写像にすることが望ましい。ha, hb, hcに関しても、上記の性質(**)をもつものなら何でもよい。またこの際、従来から存在する比例関係を用いた解読に対しても強くなるように、さらに計算量が小さい写像にすることが望ましい。
【００９９】
また、上記の従来例以外のどんなメッセージ復元型署名にも上記の写像を付加すると同様に解読が回避できる。
また、上記の署名方式は、メッセージmに署名する代わりに、m にＩＳＯで定められたＲＣ  ４、ＲＣ  ２等のハッシュ関数を施したハッシュ値に対して署名し、署名をメッセージとともに送り、ハッシュ値が正しく復元されることをチェックすることで署名を確認するという署名方式としても用いることができる。
【０１００】
また、上記署名方式は、各ユーザの秘密鍵等は、通信網提供者又はユーザ用の情報発行センターが生成するものとしたが、これは勿論各ユーザが任意にその秘密鍵を選定し、公開値等のみセンターへ登録するようにしてもよい。更に、通信網提供者とユーザ用の情報発行センターが異なってもよい。
また、上記署名方式では、各種演算はＧＦ（ｐ）上でなされるものとしたが、これは勿論ＧＦ（ｐr ）上でなされてもよい、この場合には、上記実施例における（mod p ）での演算は（mod p r ）での演算となり、このため、ｒ1 とｍをＧＦ（ｐr ）×ＧＦ（ｐr ）からＧＦ（ｐr ）へ字像ｆ1 を用いて変換した後、この値を更にＧＦ（ｐr ）から有限環Ｚp r ＝｛０，１，…，ｐr-1 ｝への変更をなす等の手順が付加される。
【０１０１】
なお、この写像πは、｛α1 ，α2 ，…，αr ｝をＧＦ（ｐr）のＧＦ（ｐ）上の基底とするとき、ＧＦ（ｐr ）の元ｘ＝ｘ1 α1 ＋…＋ｘr αr （ｘ1 ，ｘ2 ，…，ｘr ∈ＧＦ（ｐ））に対してπ（ｘ）＝ｘ1 ＋ｘ2 ｐ＋…＋ｘr ｐr-1 で定義される。この手順を図１３に示す。（注、上記実施例はｒ＝１の場合であり、πは恒等写像となり、表面上でてこない。）
（第２実施例）
本実施例は、本発明に係るメッセージ復元型署名方式として、楕円曲線上での演算を行うものである。
【０１０２】
本実施例も、基本的な構成、原理は先の第１実施例と異ならない。ただし、有限体ＧＦ（ｐ）上の離散対数問題の困難性でなく、楕円曲線Ｅ（ＧＦ（ｐ））上の困難性を利用するため、これに関係する点が異なる。このため、この相違する点を中心に説明する。
ディジタル公開通信網におる通信網提供者１、各ユーザ３〜６の接続状態及び初期設定としてのシステムパラメータの概略の構成を図１４に示す。
【０１０３】
システムパラメータとしてＥ（ＧＦ（ｐ））と、ｇに換えてのＥ（ＧＦ（ｐ））上の零元と異なる元Ｇが加えられ、ｐは１０進３０桁の素数である。これは、Ｅ（ＧＦ（ｐ））上の離散対数問題は有限体上でのそれに比較してはるかに困難であることによる。ｑがないが、これは、Ｇのの位数は零元を除き常にｐであることによる。また、楕円曲線を使用するため、ｆはｘ座標関数である。
【０１０４】
各部の構成であるが、第１実施例では、ｐを法とするｇk の剰余を計算するため通信網提供者１及びユーザ側の剰余記憶部１３１、２３１等には、ｇ，ｇ2 ，ｇ4 ，…のｐを法とする剰余があらかじめ記憶されていたがこれに換えて、Ｇ，２Ｇ，４Ｇ，…が記憶されているのが大きく異なる。更に、これにあわせて、各種の演算部の乗算も足算を行う点も異なる。
【０１０５】
図１５に、通信網提供者の公開鍵作成部２１３の内部構成を示す。本図に示すように、剰余記憶部２１３１は、Ｇ，２Ｇ，４Ｇ，８Ｇ…をあらかじめ計算して記憶おり、第１実施例の乗算部１３と割算部１３４に換えて足算部２１３３を有している。また、これにより、公開鍵として、Ｅ（ＧＦ（ｐ））上の点ＹA （＝ＸA Ｇ）を計算し、公開する。
【０１０６】
図１６に、署名通信を行うユーザＡ側の構成を示す。
本図においては、３２は２進乱数発生部であり、３４は、通信文入力部であり、これらは、先の第１実施例と異ならない。２３３はＲ1 演算部であり、２進乱数発生部３２で発生させた乱数ｋ回だけ元Ｇを加えた値ｋＧを求め、その値Ｒ1 を出力する。このため、あらかじめ、２Ｇ，４Ｇ，８Ｇに対応するＧ2 ，Ｇ4 ，Ｇ8 等を記憶している剰余記憶部２３３１、２進乱数ｋの１の立つ桁を取り出す法取り出し部２３３２、取り出した桁に対応する剰余記憶部２３３１内のＧ1 （ここにｉは２の乗べき）を取り出し、足し算を行う足し算部２３８３を内蔵している。
【０１０７】
２３５は、Ｆ関数であり、ｒ2 ≡ｍ／ｘ（Ｒ1 ）（mod p)の演算によりｒ2 を求める。ここにｘ（Ｒ1 ）はＲ1 のＸ座標値である。２３８は、求められたｒ2 と上記乱数ｋをもとに、演算ｓｋ≡（ｒ2 ＋ｓ＋１）＋ｒ2 ｘA （mod p)よりｓを求めるＳＫ部である。このため、ｋ−１（＝ａ）を求めるｋ−１演算部２３８１、ｒ2 ＋１を求めるｒ2 ＋１演算部２３８２、ｒ2 ｘA を求めるｒ2 ｘA 演算部２３８３、ｒ2 ＋１＋ｒ2 ＋ｘA （＝ｂ）を求めるｒ2 ＋１＋ｒ2 ＋ｘA 演算部２３８４、式ｓ・ａ≡ｂ（mod p)よりｓを求めるｓ計算部２３８５を内蔵している。
【０１０８】
なお、ｍｏｄ演算の法が、ｑでなくｐであるのが第１実施例と大きく異なる。図１７は、受信例ユーザの構成図である。本図において、受信部４１、ｒ2 記憶部及びｓ記憶部４６は第１実施例のものと異ならない。２４７は、あらかじめＧを記憶しているＧ記憶部である。２４４は、ＹA をあらかじめ記憶しているＹA 記憶部である。
【０１０９】
２４８は、ｒ2 とｓから（ｒ2 ＋ｓ＋１）／ｓを求める（ｒ2 ＋ｓ＋１）／ｓ演算部である。
２４９は、ｒ2 ／ｓを求めるｒ2 ／ｓ演算部である。
２４１１は、Ｅ（ＧＦ（ｐ））上での演算ｒ2 ／ｓＹA を行うｒ2 ／ｓＹA 演算部である。２４１２は、同じくＥ（ＧＦ（ｐ））上での演算（（ｒ2 ＋ｓ＋１）／ｓ）Ｇを行う（（ｒ2 ＋ｓ＋１）／ｓ）Ｇ演算部である。２４１３は、同じく、Ｅ（ＧＦ（ｐ））上での演算Ｒ1 ＝（（ｒ2 ＋ｓ＋１）／ｓ）Ｇ＋（ｒ2 ／ｓ）ＹA を行ってＲ1 を求める演算部である。２４１４は、演算ｍ＝ｘ（Ｒ1 ）ｒ2 （ここに、ｘ（Ｒ1 ）はＥ（ＧＦ（ｐ））上の元Ｒ1 のＸ座標値）よりｍを求めるｍ演算部である。
【０１１０】
このため、ｑとｒ2 の大小比較を行う構成がないのも第１実施例と異なる。
次に、以上の手順におけるデータそのものの処理、数式、演算を中心とした処理の流れを図１８に示す。
（１）センターによる初期設定
１０進３０桁の素数をｐとし、GF(p) 上の元の個数がp となる楕円曲線をE とし、E(GF(p))の元を零元以外の元をG とする。このときその位数はp となる。
【０１１１】
GF(p) ×GF(p) ×GF(p) からGF(p) への写像ha, hb, hcを、
ha(r2',s,1)=s, hc(r2',s,1)=r2'とし、
hb(r2',s,1) ＝r2' ＋s ＋1   (mod q)
で定義する。また署名式を
ha(r2',s,1)k  ≡ hb(r2',s,1) + hc(r2',s,1)x A (mod q)
で定義する。
【０１１２】
センターは、システムパラメータとしてp ，E(GF(p))，G, ha, hb, hc を全ユーザに公開する。
なお、かかるＥ（ＧＦ（ｐ））の作成手順は、別途本願出願人が前掲の特願平６−１３４３３９号等にて開示している技術であるため、その説明は省略する。
（２）署名送信を欲するユーザＡによるそのための秘密鍵の作成及びセンターが認署した公開鍵の登録。
【０１１３】
ユーザＡから、メッセージ復元型署名通信を行うため、その秘密鍵を基に作成した公開鍵を通信網提供者に正しいものとして登録する要求がなされる。このため、ユーザＡは、乱数を発生させ、これを自分の秘密鍵をx A とし、対応する公開鍵を楕円曲線Ｅ（ＧＦ（Ｐ））上での演算y A ＝x A G により求め、これをセンター経由で全ユーザに公開する。
【０１１４】
併せて秘密鍵ｘA は、ユーザＡが自分のみ秘密に保持するものとする。
（３）ユーザＡによる署名の生成
ユーザＢに署名発信を行おうとするユーザＡは、以下の処理を行う。
１．乱数k を生成する。
２．２進数の乱数ｋを生成する。なお、この乱数は、各送信毎に異なる値がでるものとされている。
【０１１５】
2-1)Ｅ（ＧＦ（ｐ））上で、演算R1＝KGにより、Ｒ1 を作成する。
2-2)法ｐ上の演算r2≡m ／x(R1) (mod  p)により、ｒ2 を求める。ここに、Ｘ（R1）は、Ｅ（ＧＦ（ｐ））上の点R1のｘ座標値である。…(e) とする。
2-3)法ｐ上の演算sk≡(r2 ＋s ＋1)＋r2x A (mod  p)…(f) よりs を計算する。
【０１１６】
３．(r2 ，s)をユーザＢに送信する。
（４）受信したユーザＢによるメッセージの復元
１. ユーザＡからのメッセージ（ｒ2 ，ｓ）を受信したユーザＢは((r2+s+1)/s)G+(r2/s)Y A ＝R1
をＥ（ＧＦ（ｐ））上で計算し、Ｒ1 を求める。
【０１１７】
２．次いで、m ＝x(R1)r2 を計算することによりm を得る。
上記実施例のように構成されたメッセージ復元型署名の場合、コミットメントR1が従来例の式(a) のように直接平文m に関与するのでなく、式(e) のようにｘ座標を通して関与している。すなわち、r2=F(R1,m)=m/x(R1)となる。このF 関数が
(*)1:  GF(p)∋g, yA , m, Zq = ｛0,1,…,q-1｝∋t, j, e に対し、
F(tG+jY A , m ×x(eYA ))及びF(tG+jY A , m ×x(eG))において、３変数t,j,e が２個の代数式で非置換（置き換えられ）ない。すなわち、ｍｘ（ｅＹA ）、ｍｘ（ｅｇ）の偽造攻撃を受けない。
【０１１８】
2: E(GF(p)) ∋R1, G, YA , GF(p) ∋r2, m に対し、r2=F(R1,m)の逆像をm=F -1(R1,r2) で定義するとき、任意の２変数関数φ，ψに対してF -1(R1-G, r2)  ≠φ(m,G) 及びF-1(R1-YA , r2) ≠ψ(m,YA ) となるを満たすことから、宮地らにより提案された３つの解読(recovery-equation attack using g and yA, and homomorphism attack)を回避できる。
【０１１９】
また上記実施例のように構成されたメッセージ復元型署名の場合、従来例の式(b')のように署名式の係数(a,b,c) が(r2',s,1) の置換という形ではなく、写像ha, hb, hcを用いて決定されている。この写像ha, hb, hcが(**)r2',s をZ q の元とするとき、予め固定された少数値をのぞく全てのrr2', ssに対して、次の二つの条件
1. ha(r2',s,1)=ha(rr2',ss,1), hc(r2',s,1)=hc(rr2',ss,1) のとき
hb(r2',s,1)-ha(r2',s,1)≠hb(rr2',ss,1)
2. ha(r2',s,1)=ha(rr2',ss,1), hb(r2',s,1)=hb(rr2',ss,1) のとき
hc(r2',s,1)-ha(r2',s,1)≠hc(rr2',ss,1)
を満たすことから、宮地らにより提案された２つの解読(signature-equation attack using g and yA)を回避できる。さらにこの署名式は従来から存在する比例関係を用いた解読に対しても、署名式が２項に分解されることがないので強い。なお、従来から存在する比例関係を用いた比例攻撃に付いては、
L.Harn and Y. Xu, "Design of generalised ElGamal type digital signature schemes based on discrete logarithm", Electron. Lett., Vol.30(1994),2025-2026.に詳しい。
【０１２０】
また、上記例のような楕円曲線を用いるとG の位数が定義体GF(p) のp と等しくなるので、実施例１のようにr2の値を制限するステップを付加することなく、宮地により提案された１つの解読(redundancy attack) を回避できる。
また、上述の実施例はｘ座標を用いたが、これは勿論他の写像で、(*) を満たすものなら何でもよい。この際、例えばｙ座標のようにｘ座標と同じように計算量が小さい写像にすることが望ましい。ha, hb, hcに関しても、上記の性質(**)をもつものなら何でもよい。またこの際、従来から存在する比例関係を用いた解読に対しても強くなるように、さらに計算量が小さい写像にすることが望ましい。
【０１２１】
また、上記実施例では、定義体GF(p) のp とG の位数が等しくなるような楕円曲線を用いたが、通常の楕円曲線を用いてもよい。このときには、第１実施例のようにr2を制限するステップを付加する必要がある。
また、上記の従来例以外のどんなメッセージ復元型署名にも上記の写像を付加すると同様に解読が回避できる。
【０１２２】
また、第１実施例と同じく、メッセージm に署名する代わりに、m にハッシュ関数を施したハッシュ値に対して署名し、署名をメッセージとともに送り、ハッシュ値が正しく復元されることをチェックすることで署名を確認するという署名方式として用いてのよい。
また、同じく、Ｅ（ＧＦ（ｐ））でなくＥ（ＧＦ（ｐr ））で行ってもよい。
【０１２３】
また、ユーザは、その秘密鍵等の生成を通信網提供者にしてもらうようにしてもよい。これは、適当な乱数生成器がないときに便利である。
以上、本発明を実施例に基づいて説明してきたが、本発明は何も上記実施例に限定されないのは勿論である。
【０１２４】
【発明の効果】
以上、説明してきたように、本発明は、法をメッセージ復元性を保ちながら、宮地らにより提案されている従来型のメッセージ復元署名に対する６つの解読法を回避することが可能となり、この一方でそのために付加される計算量も無視できる。このため、公開ディジタル通信網において、安全なメッセージ復元型署名方式を提供することが可能となり、その実用的価値は大きい。
【図面の簡単な説明】
【図１】本発明に係るメッセージ復元型署名の第１実施例の、数値や式の変換を中心とした構成、処理を示した図である。
【図２】従来の署名、認署通信の手順の一例である。
【図３】従来のメッセージ復元型署名の構成を示した図である。
【図４】従来の署名、認署通信に対する公開鍵によるrecaovry-equation 攻撃の概略手順を示した図である。
【図５】同じく、redundancy攻撃の概略図である。
【図６】本発明に係るメッセージ復元型署名通信が実施される公開ディジタル通信網の概略構成図である。
【図７】上記実施例における、通信網提供者の要部の構成図である。
【図８】同じく、署名通信を行うユーザＡの重要な処理の流れを示した図である。
【図９】同じく、署名通信を行うユーザＡ側のｒ2 計算に係る部分の構成図である。
【図１０】同じく、ユーザＡ側のＳＫ部を中心とした構成図である。
【図１１】同じく、署名文を受信したユーザＢの重要な処理の流れを示した図である。
【図１２】同じく、署名文を受信したユーザＢ側の要部の構成図である。
【図１３】第１実施例の変形例として、ＧＦ（ｐ）でなくＧＦ（ｐr ）を使用した場合の、関数πによるＧＦ（ｐr ）からＺpr＝｛０，１，…，ｐr-1 ｝への変換手順を示した図である。
【図１４】本発明に係るメッセージ復元型署名通信の第２実施例が実施される公開ディジタル通信網の概略構成図である。
【図１５】上記実施例における、通信網提供者におけるＥ（ＧＦ（ｐ））上での演算を実行するための構成である。
【図１６】上記実施例における署名文の発行を行うユーザＡの構成図である。
【図１７】同じく、署名文を受信するユーザＢの構成図である。
【図１８】同じく、数、値、式の変換を中心とした構成処理を示した図である。
【符合の説明】
１        公開ディジタル通信網提供者（各ユーザへの端末情報発行センターを兼ねる。）
２        公開ディジタル通信網の回線
３、４、５、６、  公開ディジタル通信網に接続されたユーザ
１１      秘密鍵作成要求受付部
１２      秘密鍵発生部
１３      公開鍵作成部
１４      公開鍵公開部
１５      秘密鍵通知形態作成部
１６      秘密鍵通知部
３１      ｒ2 制御部
３２      ２進乱数発生部
３３      ｒ1 演算部
３４      通信文入力部
３５      ｆ関数部
３６      ｑ関数部
３７      排除部
３７３    比較部
３８      ＳＫ部
３８５    ｓ計算部
４１      受信部
４２      拒絶部
４３      ｑ記憶部（ユーザＢ）
４４      ｙA 記憶部
４５      ｒ2 記憶部
４６      ｓ記憶部
４７      ｇ記憶部
４１３    ｒ1 ≡ｇ(r2+s+1)/sｙA R2/S（mod p)演算部
４１４    ｆ-1関数部
２１３１  剰余記憶部
２１３３  足算部
２３３    Ｒ1 演算部
２３５    Ｆ関数部
２３８    ＳＫ部
２４４    ＹA 記憶部
２４１３  Ｒ1 演算部
２４１４  ｍ演算部
【図１】
0003540477.tif 000003
【図２】
0003540477.tif 000004
【図３】
0003540477.tif 000005
【図４】
0003540477.tif 000006
【図５】
0003540477.tif 000007
【図６】
0003540477.tif 000008
【図７】
0003540477.tif 000009
【図８】
0003540477.tif 000010
【図９】
0003540477.tif 000011
【図１０】
0003540477.tif 000012
【図１１】
0003540477.tif 000013
【図１２】
0003540477.tif 000014
【図１３】
0003540477.tif 000015
【図１４】
0003540477.tif 000016
【図１５】
0003540477.tif 000017
【図１６】
0003540477.tif 000018
【図１７】
0003540477.tif 000019
【図１８】
0003540477.tif 000020