JP4986162B2 - 電子署名システム - Google Patents

電子署名システム Download PDF

Info

Publication number
JP4986162B2
JP4986162B2 JP2008017587A JP2008017587A JP4986162B2 JP 4986162 B2 JP4986162 B2 JP 4986162B2 JP 2008017587 A JP2008017587 A JP 2008017587A JP 2008017587 A JP2008017587 A JP 2008017587A JP 4986162 B2 JP4986162 B2 JP 4986162B2
Authority
JP
Japan
Prior art keywords
electronic signature
message
error pattern
signature
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008017587A
Other languages
English (en)
Other versions
JP2009182408A (ja
Inventor
和邦 古原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2008017587A priority Critical patent/JP4986162B2/ja
Publication of JP2009182408A publication Critical patent/JP2009182408A/ja
Application granted granted Critical
Publication of JP4986162B2 publication Critical patent/JP4986162B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、符号の復号問題に基づく電子署名方式において安全性を損なうことなく、署名検証鍵のサイズを減少させて、メッセージに対して電子署名を生成し、その電子署名に基づいてメッセージの有効または無効を検証することができる電子署名システムに関するものである。
従来から用いられている電子署名(RSA署名、DSA(Digital Signature Algorithm)、ECDSA(楕円曲線上のDSA)など)について概略を説明する。
電子署名(あるいはディジタル署名)は、ディジタルデータに対する署名や捺印に対応する技術である。署名者が署名鍵(秘密鍵)を使ってディジタルデータを変換して、署名データを生成し、検証者がその署名者の署名検証鍵(公開鍵)を使って署名データを検証することにより、検証者はその署名データが署名者により生成されたこと、および、署名後にそのデータが改ざんされていないことを確認できる。
従来のディジタル署名は、素因数分解問題あるいは離散対数問題のいずれかの問題をベースに作られており、多倍長のべき剰余演算が不可欠である。多倍長のべき剰余演算は処理が重いため小型のユビキタスデバイス、ICカード、ワイヤレスセンサーデバイスなどに低コストで搭載することが困難となっている。なお、コストを掛けてよいのであれば、高価なCPUと大量のメモリを利用したり、多倍長のべき剰余演算を計算するためのコプロセッサをデバイスに搭載したりすることも可能ではあるが、価格や消費電力などの面で不利になるため敬遠されている。また、大規模なアプリケーション(例えば、大規模なワイヤレスセンサーネットワークなど)では、大量のノードを利用するため、各ノードのわずかなコスト削減が、大幅なコスト削減につながる。
また、非特許文献1に記載されているように、処理負荷の軽いMAC(Message Authentication Code)を使う方式(TESLA)の提案がある。ただし、MACではMAC生成鍵とMAC検証鍵が同じであるため、MACの検証者がMACを偽造できるという問題点が生じる。
この問題点を解決するため、TESLAでは、MAC生成者とMAC検証者が同期のとれた時計を持ち、また、MAC生成者はあらかじめMAC検証鍵(生成鍵)kを一方向性ハッシュ関数h()を用いてs回ハッシュした値kを検証者に渡しておく。MAC生成者は、まず、タイムスロットtでメッセージmとMACの値macを検証者に渡して、タイムスロットt+1でその検証鍵(生成鍵)ks−1を公開する。
検証者は、公開された検証鍵ks−1に基づいて一方向性ハッシュ関数h()を計算し、h(ks−1)=kと、MACks−1(m)=macが成立すれば、そのメッセージを受け入れる。以降、タイムスロットt+iでメッセージmt+iとMACの値mact+iを検証者に渡し、タイムスロットt+i+1で、その検証鍵(生成鍵)ks−1−iを公開し、検証者が、h(ks−1−i)=ks−iと、MACks−1−i(mt+i)=mact+iの成立を検証する処理をi=sまで繰り返す。攻撃者は、検証鍵ks−1−iが公開された直後にそれを使ってMACを偽造することが可能であるが、検証者とMAC生成者とがタイムスロットを同期しているとの仮定の下では、検証鍵ks−1−iが公開されたタイムスロットt+i+1以降に送られたMACはMAC検証者により拒絶される。
また、非特許文献2に示されるように、復号問題に基づくディジタル署名を用いる電子署名方式の技術の提案もある。この技術により実現される機能は、RSA署名のような電子署名の技術と同じであるが、元となる問題として、この技術は素因数分解問題や離散対数問題とは異なる符号の復号問題を用いているため、処理(特に署名検証処理)を軽くできるという利点がある反面、署名検証鍵のサイズが大きくなる。
A. Perrig, R. Canetti, D. Tygar, and D. Song. "The TESLA Broadcast Authentication Protocol."RSA CryptoBytes, 5(2):2-13, 2002. N. T. Courtois and M. Finiasz and N. Sendrier, "How to Achieve a McEliece-Based Digital Signature Scheme," Proc. of ASIACRYPT 2001, Springer--Verlag, pp. 157-174, 2001 N. Sendrier, "Finding the permutation between equivalent codes: the support splitting algorithm," IEEE Trans. on IT, vol.46, no.4, pp.1193-1203, Jul, 2000
前述したように、従来のディジタル署名は、素因数分解問題あるいは離散対数問題のいずれかの問題をベースに作られており、多倍長のべき剰余演算が不可欠である。多倍長のべき剰余演算は処理が重いため小型のユビキタスデバイス、ICカード、ワイヤレスセンサーデバイスなどに低コストで搭載することが困難である。
MACを使う方式においては、前述したように、MAC生成鍵とMAC検証鍵が同じであるため、MACの検証者がMACを偽造できるという問題点が生じていた。
また、MACを使うTESLAの方式は、実際には、MAC生成者と検証者で時間を安価でかつ安全に同期することは容易でないため、小型のユビキタスデバイスやワイヤレスセンサーデバイスなどにこの方式を搭載することは容易ではない。また、MACを検証するのに1タイムスロット待たなければならないため、実時間処理が要求される災害や事故の通報などには応用しにくいという問題点がある。さらに、sタイムスロット毎にs回ハッシュした値kを検証者に渡さなければならないといった問題点もある。
復号問題に基づくディジタル署名を用いる電子署名方式の技術によって実現される機能は、RSA署名のような電子署名の技術と同じであるが、元となる問題として、この技術は素因数分解問題や離散対数問題とは異なる符号の復号問題を用いているため、処理(特に署名検証処理)を軽くできるという利点がある反面、署名検証鍵のサイズが大きくなるという欠点がある。署名検証鍵のサイズが大きいため、低価格、小型のユビキタスデバイス、ICカード、ワイヤレスセンサーデバイスなどには、この方式を搭載することが敬遠されている。
本発明は、これらの問題点を解決するためになされたものであり、本発明の目的は、符号の復号問題に基づく電子署名方式において安全性を損なうことなく署名検証鍵のサイズを減少させることができ、そのサイズを減少させた電子署名に基づいて、メッセージの有効または無効を検証することができる電子署名システムを提供することにある。
上記のような目的を達成するため、本発明による電子署名システムは、基本的な考え方として、署名者が署名鍵(秘密鍵)を使ってディジタルデータを変換し、署名データを生成し、検証者がその署名者の署名検証鍵(公開鍵)を使って署名データを検証することにより、検証者がその署名データが署名者により生成されたこと、および、署名後にそのデータが改ざんされていないことを確認する電子署名装置において、手続きおよびパラメータのとり方を工夫するにより、安全性を損なうことなく署名検証鍵のサイズを削減する電子署名システムを構成する。
まず、本発明による電子署名システムの原理について説明する。図1に、比較のための従来方式の概要を示している。従来方式では、図1に示すように、シンドロームの空間とハッシュ関数の値域が同じであった。誤りパターンの値域に入るハッシュ値が見つかれば、署名者は署名鍵を使って、落とし戸付一方向性関数f()の落とし戸を開け、そのハッシュ値に対応する誤りパターンを求めることができ、求まった誤りパターンとカウンタ値を電子署名として利用する。一方、署名検証者は、電子署名の誤りパターンを署名検証鍵[落とし戸付一方向性関数f()]を使って変換したシンドロームと、メッセージとカウンタ値をハッシュした値が一致していれば、その電子署名はその署名検証鍵に対応する署名者が生成したものとして受け入れる。
本発明による電子署名システムは、図2に示すように、以下のような方法を用いて、安全性を損なうことなく署名検証鍵のサイズを削減するように構成する。
(1)署名生成時(実線)と署名検証時(鎖線)でハッシュ値とシンドロームの空間を変更する。
(2)ハッシュ関数の値域を分割し複数のシンドローム空間に割り振る。
(3)セキュリティパラメータの示す安全性を満たす範囲で署名検証鍵サイズを最小にする変数値を選択する
具体的には、本発明による電子署名システムは、図3に示すように、セキュリティパラメータに基づいて署名鍵、公開鍵、システム変数を生成する鍵生成装置100と、メッセージを受け付けて当該メッセージに対して署名鍵、公開鍵、システム変数に基づいて電子署名を作成する電子署名装置200と、メッセージと共に前記電子署名を受け付けて、公開鍵およびシステム変数に基づいて電子署名が有効であるか否かを検証する電子署名検証装置300とから構成される。
この場合、ここでの署名鍵は、正則行列S、パリティ検査行列H、誤り訂正アルゴリズムψ()、置換規則P、縮退ルール(uc,ua,rc)、繰り返し回数wから構成され、システム変数は、縮退パリティ検査行列H’、許容誤りパターン集合E、分割数vから構成される。
本発明の電子署名システムにおいて、鍵生成装置100は、図4に示すように、セキュリティパラメータKを、縮退ルール、繰り返し回数、分割数、パリティ検査行列、行列および置換規則を生成するための変数(k,n,t,uc,ua,rc,v,w)に変換する変数変換規則101と、乱数を発生する乱数生成器102と、変数変換規則101から出力された変数(k,n,t,uc,ua,rc)に基づいて正則行列S、置換規則P、縮退パリティ検査行列H’、許容誤りパターン集合Eを生成する鍵対生成器103と、乱数生成器102から出力された乱数および変数変換規則101から出力された変数(k,n,t)に基づいてパリティ検査行列Hを生成するパリティ検査行列生成器104とから構成され、署名鍵、公開鍵、システム変数を出力する。
電子署名装置200は、図5に示すように、任意の長さのメッセージmを受け取り、内部で生成した乱数rおよびメッセージmから変換された変換メッセージ(m’,…,m’)および乱数rを出力する第1メッセージ変換装置201と、署名鍵の正則行列Sと変換メッセージm’(1≦j≦v)との行列積を生成してシンドロームsを出力する行列積生成装置202と、署名鍵のパリティ検査行列Hおよび誤り訂正アルゴリズムψ()に基づいて、シンドロームsから誤りパターンe’を生成する誤り訂正装置203と、誤り訂正装置203から出力された誤りパターンe’が許容誤りパターン集合Eに含まれるか否かを判定する誤りパターン判定装置204と、署名鍵の置換規則Pに基づいて誤りパターンe’を逆置換する逆置換装置205とから構成され、置換された誤りパターンeおよび乱数rを電子署名として出力する。
電子署名検証装置300は、図6に示すように、メッセージmが電子署名の乱数rにより結合された変換メッセージm’(1≦j≦v)を出力する第2メッセージ変換装置301と、誤りパターンeと縮退パリティ検査行列H’の行列積の縮退シンドロームs’と縮退変換メッセージm’’とを比較する比較器302と、電子署名の誤りパターンeが許容誤りパターン集合Eに含まれるか否かを判定する誤りパターン判定装置303とから構成され、比較器302により縮退シンドロームと縮退変換メッセージとが不一致の場合および誤りパターン判定装置303により電子署名の誤りパターンeが許容誤りパターン集合Eに含まれない判定の場合に署名無効を出力する。
本発明の電子署名システムにおいては、安全性を損なうことなく公開鍵とされる縮退パリティ検査行列H’はサイズが小さくなる。縮退させることにより署名鍵のパリティ検査行列Hと公開鍵の縮退パリティ検査行列H’の間の置換を求める攻撃SSA(Support Splitting Algorithm;非特許文献3)の適用を困難にできるため、符号長n、情報シンボル数k、最小距離2t+1に対応する符号の数が少ない符号を安全に採用することが可能となる。
また、本発明による電子署名装置においては、電子署名の中にインデックス(0から始まり一つずつ増える値であり、署名者以外でも容易に推測できる値)ではなく、署名者以外が推測できない乱数rを利用する。これにより、ハッシュ関数に衝突が見つかったとしても署名依頼者に対する衝突困難性を保つことができるという効果が得られる。なお、この効果が不要な場合には乱数の変わりにインデックスを利用してもよい。
また、本発明による電子署名装置においては、一つの乱数rと一つのメッセージmに対して、電子署名装置で誤りパターンeを複数生成し、電子署名検証装置でそれらを検証することが可能である(なお、この場合に、一つのメッセージに対して、乱数rを変え、誤りパターンeを複数生成することはしない。)これにより、一種類の署名鍵のパリティ検査行列Hおよび公開鍵の縮退パリティ検査行列H’を使いまわせるため安全性を損なうことなく、署名鍵のパリティ検査行列Hおよび公開鍵の縮退パリティ検査行列H’のサイズを小さくできる。
以下、本発明にかかる電子署名システムの実施の態様について具体的に説明する。図3は、本発明による電子署名システムのシステム構成を説明する図である。電子署名システムは、図3に示すように、鍵生成装置100,電子署名装置200,電子署名検証装置300から構成される。鍵生成装置100は、セキュリティパラメータKに基づいて、署名鍵、公開鍵、システム変数を生成する。電子署名装置200は、メッセージmを受け付けて当該メッセージmに対して、鍵生成装置100により生成された署名鍵、公開鍵またはシステム変数の許容誤りパターン集合Eに基づいて電子署名を作成する。電子署名検証装置300は、電子署名装置200からメッセージmと共に作成された電子署名を受け付けて、鍵生成装置100で生成された公開鍵およびシステム変数に基づいて、その電子署名が有効であるか否かを検証する。
この電子署名システムにおいては、後述するように、セキュリティパラメータ毎に最適化された縮退ルールと繰り返し回数と分割数が署名鍵、公開鍵およびシステム変数に利用されている。これにより、署名検証鍵のサイズを減少させても、安全性が損なわれることはなく、電子署名を生成し、その電子署名に基づいてメッセージの有効または無効を検証できる。
ここでの署名鍵は、具体的には、正則行列S、パリティ検査行列H、誤り訂正アルゴリズムψ()、置換規則P、縮退ルール(uc,ua,rc)、繰り返し回数wから構成されており、システム変数は、縮退パリティ検査行列H’、許容誤りパターン集合E、分割数vから構成されている。縮退ルールとする変数uc,ua,rcは、後述するように、ucは縮退ルールにより縮退させる列の数、rcは縮退ルールにより縮退させる行の数、uaは縮退ルールにより疑似的に追加される列の数である。ただし、uc=0の場合には変数ucを省略でき、ua=0の場合には変数uaを省略でき、rc=0の場合には変数rcを省略でき、v=1の場合は変数vとwを省略できる。また、uc,uaの一方は正則行列Sあるいはパリティ検査行列Hから求めることができるため省略してもよく、rcも許容誤りパターン集合Eあるいはパリティ検査行列Hと縮退パリティ検査行列H’から求めることができるため省略してもよい。署名鍵の正則行列Sはその逆行列S−1、置換規則Pはその逆置換規則P−1を記録してもよい。
図4は、鍵生成装置100の構成を詳細に説明するブロック図である。鍵生成装置100は、図4に示すように、変数変換規則101と、乱数生成器102と、鍵対生成器103と、パリティ検査行列生成器104から構成されている。
鍵生成装置100において、変数変換規則101は、セキュリティパラメータKを、縮退ルール、分割数、パリティ検査行列、行列および置換規則を生成するための変数(k,n,t,uc,ua,rc,v,w)に変換する。乱数生成器102は、乱数を発生する。鍵対生成器103は、変数変換規則101から出力された変数(k,n,t,uc,ua,rc)とパリティ検査行列生成器104から出力されたパリティ検査行列Hと誤り訂正アルゴリズムψ()に基づいて、正則行列S、置換規則P、縮退パリティ検査行列H’、許容誤りパターン集合Eを生成する。パリティ検査行列生成器104は、乱数生成器102から出力された乱数および変数変換規則101から出力された変数(k,n,t)に基づいて、パリティ検査行列Hを生成する。これらの出力によって、鍵生成装置100は、署名鍵(S,H,ψ(),P,uc,ua,rc,w)および公開鍵あるいはシステム変数(H’,E,v)を出力する。
具体的に詳細に説明すると、まず、変数変換規則101を使ってセキュリティパラメータKに応じた変数(k,n,t,uc,ua,rc,v,w)を得る。ここで、kは情報シンボル数、nは符号長、tはパリティ検査行列により訂正可能な誤り数、ucは縮退ルールにより縮退させる列の数、rcは縮退ルールにより縮退させる行の数、uaは縮退ルールにより疑似的に追加される列の数、vは分割数、wは繰り返し回数である。なお、変数変換規則101は安全性の評価結果に基づき作成される。
鍵対生成器103は、(k−uc+ua)×(k−uc+ua)のランダムな正則行列Sと置換規則Pを生成する。置換規則Pはn次元ベクトルの列の置換が表現されていればよく、例えば、以下のような方法を、置換規則として利用することができる。
(1)n×nのランダムな置換行列(各行、各列にそれぞれ1の値が一箇所ずつあり、その他の要素が0である行列)を用いる方法。
(2)i列をj列に置換するという表を用いる方法。
あるいは、削除されたrc行が表現された上で(n−rc)次元ベクトルの列の置換が表現されていればよい。
パリティ検査行列生成器104では、符号長n、情報シンボル数kでt個の誤りを訂正可能な誤り訂正符号のn×(n−k)行列のパリティ検査行列Hと、その誤り訂正アルゴリズムψ()を出力する。なお、誤り訂正アルゴリズムψ()はそれが訂正できる誤りパターンの情報を含んでもよい。
なお、この方式で利用する行列の関係は転置しても成立する。転置した表現を利用する場合、パリティ検査行列Hは(n−k)×n行列となる。
非特許文献2では、誤り訂正符号として符号長n、情報シンボル数k、最小距離2t+1を固定した場合の符号の候補数が小さい場合に、非特許文献3で提案されているSSAを用いて公開鍵から秘密鍵が求まる場合がある。そのため、誤り訂正符号としては符号長n、情報シンボル数k、最小距離2t+1を固定した場合の符号の候補数が多い符号であるGoppa符号を利用していた。本発明では、縮退ルールの変数ucを用いる縮退によって、署名鍵のパリティ検査行列Hと公開鍵の縮退パリティ検査行列H’を、置換同価(permutation−equivalent)でなくすることができSSAの適用を防止できるため、Goppa符号以外にも、BCH符号、低密度パリティ検査符号、中密度パリティ検査符号、擬巡回低密度パリティ検査符号などの任意の符号を用いることができる。
また、図4においては、n×(n−k)行列のパリティ検査行列を用いた電子署名の構成方法を示しているが、その双対(dual)であるk×n符号生成行列Gを用いて電子署名を構成してもよい。
許容誤りパターン集合Eには、以下のような集合を用いることができる。
(1)重みt(誤りが丁度t個)の(n−rc)次元ベクトル、
(2)重みt以下(誤りがt個以下)の(n−rc)次元ベクトル、
(3)重みがt以下t’(t>t’)以上の(n−rc)次元ベクトル、
(4)重みt/s(誤りが丁度t/s個)の(n−rc)/s次元ベクトルがs個連結された(n−rc)次元ベクトル、
(5)重みt/s以下(誤りがt/s個以下)の(n−rc)/s次元ベクトルがs個連結された(n−rc)次元ベクトル、
(6)重みがt/s以下t’/s(t>t’)以上の(n−rc)/s次元ベクトルがs個連結された(n−rc)次元ベクトル
鍵対生成器103は、変数値(k,n,t,uc,ua,rc)とn×(n−k)行列であるパリティ検査行列Hと誤り訂正アルゴリズムψ()と乱数を受け入れて、置換規則P,正則行列S,縮退パリティ行列H’,許容誤りパターン集合Eを生成する。なお、パリティ検査行列により訂正可能な誤り数tと誤り訂正アルゴリズムψ()はどちらか一方の入力を省略してもよい。
より詳細な内容は、以下のとおりである。まず、パリティ検査行列Hのuc列を削除するとともに、置換規則Pを生成してパリティ検査行列Hの行を置換規則Pに従って置換し、さらにその置換された行列PHのrc行を削除する。なお、削除する列と行はどの位置でも構わないが、単純化のためPHのn−k−uc+1列目からn−k列目までとn−rc行目からn行目までとしておく。また、置換・削除後のn−rc−(n−k−uc)+1行目からn−rc行目が線形独立となるように置換規則Pを選択しておく。なお、線形独立となるn−k−uc行はどの位置に来ても構わないが、単純化のため、n−rc−(n−k−uc)+1行目からn−rc行目にくるようにしておく。この行列をH’’とする。
つぎに、行列H’’に対して、以下の(n−rc)×ua行列の行列H’’’を連結した行列をH’’’’とする。ここで、行列H’’’はそのn−rc−(n−k−uc)+1行目からn−rc行目が0ベクトルでn−rc−(n−k−uc)−ua行目からn−rc−(n−k−uc)行目までが単位行列で残りの(n−rc−(n−k−uc)−ua)行が公開パラメータ(署名者のIDなど)をシードとして得られる疑似乱数である。最後に行列H’’’に右から掛けることにより、その(n−k−uc+ua)行を単位行列にするランダムな(n−k−uc+ua)×(n−k−uc+ua)正則行列をSとし、縮退パリティ行列H’=H’’’’×Sとして求める。縮退パリティ行列H’はその(n−k−uc+ua)行が単位行列であり、また、そのua列はシードより疑似乱数系列を用いて生成できるため、実際に記憶しなければらならい行列のサイズは(n−(n−k−uc+ua)−rc)×(n−k−uc)でよい。
鍵生成装置100は、鍵対生成器103、パリティ検査行列生成器104からそれぞれ出力された値を用いて、「署名鍵(S,H,ψ(),P,uc,ua,w)」および「公開鍵あるいはシステム変数(H’,E,v)」を出力する。
図5は、電子署名装置200の構成を詳細に説明するブロック図である。電子署名装置200は、図5に示すように、第1メッセージ変換装置201と、行列積生成装置202と、誤り訂正装置203と、誤りパターン判定装置204と、逆置換装置205とから構成され、メッセージm、許容誤りパターン集合Eおよび署名鍵(S,H,ψ(),P,uc,ua,w)を入力して、置換された誤りパターンeおよび乱数rから構成される電子署名を出力する。
電子署名装置200において、後述するように、第1メッセージ変換装置201は、任意の長さのメッセージmを受け取り、内部で生成した乱数rおよび前記メッセージmから変換された変換メッセージ(m’,…,m’)および乱数rを出力する。第1メッセージ変換装置201から出力された変換メッセージ(m’,…,m’)は、行列積生成装置202に入力され、署名鍵の正則行列Sの逆行列S−1と変換メッセージm’との行列積を生成してシンドロームsを出力する。シンドロームsの1列目から(n−k−uc)列目までを[s n−k−ucとし、(n−k−uc+1)列目から(n−k−uc+ua)列目までを[sn−k−uc+1 n−k−uc+uaとすると、[s n−k−ucはucビットの値r’とともに、誤り訂正装置203に入力され、誤り訂正装置203が、署名鍵のパリティ検査行列Hおよび誤り訂正アルゴリズムψ()に基づいて、前記シンドローム[s n−k−ucとucビットの値r’との連結から誤りパターンe’を生成する。なお、r’はカウンタ値でも乱数でもよい。また、誤り訂正装置203は誤りパターンを発見できない場合にエラーメッセージを出力する。誤り訂正装置203から誤りパターンe’が出力された場合、逆置換装置205が、署名鍵の置換規則Pに基づいて誤りパターンe’を逆置換する。この逆置換された誤りパターンをeとする。誤りパターン判定装置204は、逆置換装置205から出力された誤りパターンeが署名者の許容誤りパターン集合E’に含まれているか否かを判定する。
ここで、署名者の許容誤りパターン集合E’とは許容誤りパターン集合Eに含まれており、かつ、e[H’]n−k−uc+1 n−k−uc+ua=[s’n−k−uc+1 n−k−uc+uaを満たすパターンである。[H’]n−k−uc+1 n−k−uc+uaは、行列H’の(n−k−uc+1)列目から(n−k−uc+ua)列目までの行列を表す。e∈E’が成立していれば、置換された誤りパターンeおよび第1メッセージ変換装置201からの乱数rを電子署名として出力する。
詳細に説明すると、第1メッセージ変換装置201は、任意の長さのメッセージmを受け取り、内部で乱数rを生成し、乱数rとメッセージmに応じて、変換されたv個の(n−k−uc+ua)次元ベクトルである変換メッセージ(m’,…,m’)を生成する。なお、ここでvはセキュリティパラメータにより決まる値でありv=1でもよい。誤りパターン判定装置204においては、誤りパターンeが許容誤りパターン集合Eに含まれていないあるいはe[H’]n−k−uc+1 n−k−uc+ua=[s’n−k−uc+1 n−k−uc+uaが成立しない判定となった際にも、r’の値を最大w回まで変え、それでもそれらの条件が満たされない場合には第1メッセージ変換装置201が新たに乱数rを生成し、その乱数rとメッセージmに応じて、変換されたv個の(n−k)次元ベクトルである変換メッセージ(m’,…,m’)を生成し処理を継続する。また、誤り訂正装置203が誤りパターンを見つけられなかったためにエラーメッセージを出力した場合も同様に、r’の値を最大w回まで変え、それでもそれらの条件が満たされない場合には第1メッセージ変換装置201が新たに乱数rを生成し、その乱数rとメッセージmに応じて、変換されたv個の(n−k)次元ベクトルである変換メッセージ(m’,…,m’)を生成し処理を継続する。
逆置換装置205において、誤りパターンe’の列を逆置換する方法としては、以下のような方法が利用可能である。
(1)置換規則Pが行列で表現されている場合、e=e’−1
(2)置換規則Pが誤りパターンeのi1行を誤りパターンe’のi2行に置換するという表で表現されている場合、誤りパターンe’のi2行を誤りパターンeのi1行に置換する。v個の誤りパターンeがそろえば、それらと乱数rを組にした値を、メッセージmに対する電子署名として出力する。
図6は、電子署名検証装置300の構成を詳細に説明するブロック図である。電子署名検証装置300は、図6に示すように、第2メッセージ変換装置301と、比較器302と、誤りパターン判定装置303と、行列積生成装置304から構成され、メッセージmとその電子署名が入力されると、公開鍵あるいはシステム変数(H’,E,v)に基づいて、縮退シンドロームと変換メッセージとが不一致の場合および電子署名の誤りパターンeが許容誤りパターン集合Eに含まれない判定の場合に署名無効を出力する。
電子署名検証装置300において、第2メッセージ変換装置301は、メッセージmが電子署名の乱数rにより結合された変換メッセージm’を出力するので、比較器302により、誤りパターンeと縮退パリティ検査行列H’の行列積の縮退シンドロームs’と前記変換メッセージm’とを比較する。誤りパターン判定装置303は、電子署名の誤りパターンeが許容誤りパターン集合Eに含まれるか否かを判定する。また、行列積生成装置304は、誤りパターンeとシステム変数のパリティ検査行列H’との行列積により縮退シンドロームs’を出力する。そして、比較器302により縮退シンドロームs’と変換メッセージm’とが不一致の場合と、誤りパターン判定装置303により電子署名の誤りパターンeが許容誤りパターン集合Eに含まれない判定の場合に、署名無効を出力する。
具体的に説明すると、第2メッセージ変換装置301は、後述するように、メッセージm、電子署名中の乱数rを受け入れ、それぞれv個の(n−k−uc+ua)次元ベクトルである変換メッセージ(m’,…,m’)を出力する。
一方、誤りパターン判定装置303は許容誤りパターン集合Eと電子署名の誤りパターン(e,…,e)を受け入れ、誤りパターンe(1≦j≦v)が許容誤りパターン集合Eにふくまれなければ、その署名が無効であることを示すメッセージを出力する。逆に、誤りパターンeが許容誤りパターン集合Eに含まれることが判定できれば、行列積生成装置304によって生成した行列積s’=e・H’から、縮退シンドロームs’が求められ、この縮退シンドロームs’が比較器302に入力される。比較器302においては、縮退シンドロームs’と、第2メッセージ変換装置から出力された変換メッセージ(m’,…,m’)とを比較する。
この比較の処理により、一致または不一致が判定され、その結果、誤りパターンm’=s(1≦j≦v)が成立すれば、署名は有効であることを示す署名有効のメッセージを出力する。これ以外の場合、すなわち、比較器が不一致を出力した場合、誤りパターン判定装置303により、誤りパターンe(1≦j≦v)が許容誤りパターン集合Eに含まれない判定の場合、その署名が無効であることを示すメッセージを出力する。
図7は、第1メッセージ変換装置201の構成を詳細に説明するブロック図である。図7を参照して説明すると、第1メッセージ変換装置201は、乱数発生器210および結合器211を内部に備えており、乱数生成器210により乱数rを生成する。任意の長さのメッセージmを受け取り、内部で生成した乱数rにより、結合器211を用いて、乱数rとメッセージmをv個の(n−k)次元ベクトルである変換メッセージ(m’,…,m’)に変換し、それらを出力する。
図8は、第2メッセージ変換装置301の構成を詳細に説明するブロック図である。図8を参照して説明すると、第2メッセージ変換装置301は、結合器310を備えているだけの構成となっている。第2メッセージ変換装置301は、電子署名中の乱数rと任意の長さのメッセージmを受け取り、それらを結合器310を用いて、v個の(n−k)次元ベクトルである変換メッセージm’,…,m’に変換しv個の(n−k−uc−ua)次元ベクトルの変換メッセージ(m’,…,m’)を出力する。
また、結合器310に求められる要件には以下のような項目がある:
(1)署名者に対する衝突困難性:
同じ変換メッセージ(m’,…,m’)に写像される値の異なる二つ以上のメッセージmを探すことが困難であること。その際、mと対をなす入力rの値は同じでも異なっていても構わない(この性質が満たされないと、署名者は依頼された文書以外の文書に対しても有効な署名を作成することができる)。
(2)署名依頼者に対する衝突困難性:
乱数rの値が変わったとしてもそのほとんどの乱数rに対して、同じ変換メッセージ(m’,…,m’)に写像される二つ以上のメッセージmを探すことが困難であること(この性質が満たされないと、署名者に依頼した文書以外の文書に対しても有効な署名を署名依頼者が偽造することができる)。
(3)一方向性:
与えられた変換メッセージ(m’,…,m’)に対してそれらに写像される乱数rと変換メッセージmの組を探すことが困難であること(この性質が満たされないと、攻撃者は署名を偽造できる)。
(4)クローフリー(Claw−free):
落し戸付き一方向性関数の入力誤りパターン(e,…,e)と乱数rとメッセージmの入力を全数探索した場合に、変換メッセージ(m’,…,m’)が一致する誤りパターン(e,…,e)と乱数rと変換メッセージmの組を探すことが困難であること(この性質が満たされないと攻撃者は署名を偽造できる)。
これらの要件は、例えば、衝突困難ハッシュ関数をHash()、データの連結を||として、
Hash(r||m||0)||Hash(r||m||1)||Hash(r||m||2)||…||Hash(r||m||i)
により得られる値を変換メッセージm’,…,m’のv個に分割することにより、結合器211を構成することにより満たすことが可能となる。
このように、本発明による電子署名システムは、鍵生成装置、電子署名装置、電子署名検証装置から構成される。この電子署名システムにおいて、特徴的な点は、署名鍵、公開鍵およびシステム変数に縮退ルールuc,ua,rc繰り返し回数wと分割数vを追加し、セキュリティパラメータに応じて求めた最適な値を鍵生成装置と電子署名検証装置で利用する。このようにしても、安全性が損なわれることはない。つまり、符号の復号問題に基づく電子署名方式において安全性を損なうことなく、署名検証鍵のサイズを減少させて、電子署名を生成し、その電子署名に基づいてメッセージの有効または無効を検証することができる。
電子署名システムの従来方式の概要を示す図である。 本発明による電子署名システムの原理について説明する図である。 本発明の電子署名システムのシステム構成を説明する図である。 本発明の電子署名システムの鍵生成装置の構成を説明する図である。 本発明の電子署名システムの電子署名装置の構成を説明する図である。 本発明の電子署名システムの電子署名検証装置の構成を説明する図である。 電子署名装置の中の第1メッセージ変換装置の構成を説明する図である。 電子署名検証装置の中の第2メッセージ変換装置の構成を説明する図である。
符号の説明
100 鍵生成装置
101 変数変換表
102 乱数発生器
103 鍵対生成器
104 パリティ検査行列生成器
200 電子署名装置
201 第1メッセージ変換装置
202 行列積生成装置
203 誤り訂正装置
204 誤りパターン判定装置
205 逆置換装置
210 乱数発生器
211 結合器
300 電子署名検証装置
301 第2メッセージ変換装置
302 比較器
303 誤りパターン判定装置
304 行列積生成装置
310 結合器
311 縮退器

Claims (4)

  1. セキュリティパラメータに基づいて、正則行列、パリティ検査行列、誤り訂正アルゴリズム、置換規則、縮退ルールから構成される署名鍵、縮退パリティ検査行列、許容誤りパターン集合、分割数から構成される公開鍵あるいはシステム変数を生成する鍵生成装置と、
    メッセージを受け付けて当該メッセージに対して前記署名鍵、前記公開鍵あるいはシステム変数に基づいて電子署名を作成する電子署名装置と、
    メッセージと共に前記電子署名を受け付けて、前記公開鍵あるいはシステム変数に基づいて前記電子署名が有効であるか否かを検証する電子署名検証装置と
    から構成されることを特徴とする電子署名システム。
  2. 請求項1に記載の電子署名システムにおいて、
    前記鍵生成装置は、
    セキュリティパラメータを、縮退ルール、分割数、パリティ検査行列、行列および置換規則を生成するための変数値に変換する変数変換規則と、
    乱数および前記変数変換規則から出力された変数値に基づいてパリティ検査行列を生成するパリティ検査行列生成器と、
    乱数および前記変数変換規則から出力された変数値に基づいてランダムな正則行列とランダムな置換規則と縮退パリティ検査行列と許容誤りパターン集合を生成する鍵対生成器と
    から構成され、
    署名鍵、公開鍵あるいはシステム変数を出力する
    ことを特徴とする電子署名システム。
  3. 請求項1に記載の電子署名システムにおいて、
    前記電子署名装置は、
    任意の長さのメッセージを受け取り、内部で生成した乱数および前記メッセージから変換された変換メッセージおよび乱数を出力する第1メッセージ変換装置と、
    署名鍵の正則行列と変換メッセージとの行列積を生成してシンドロームを出力する行列積生成装置と、
    署名鍵のパリティ検査行列および誤り訂正アルゴリズムに基づいて、前記シンドロームあるいはその一部から誤りパターンを生成する誤り訂正装置と、
    前記誤り訂正装置から出力された誤りパターンを署名鍵の置換規則に基づいて逆置換する逆置換装置と、
    逆置換された誤りパターンが署名者の許容誤りパターン集合に含まれるか否かを判定する誤りパターン判定装置と
    から構成され、
    置換された誤りパターンおよび乱数を電子署名として出力する
    ことを特徴とする電子署名システム。
  4. 請求項1に記載の電子署名システムにおいて、
    前記電子署名検証装置は、
    メッセージが電子署名の乱数もしくはカウンタにより結合された変換メッセージを出力する第2メッセージ変換装置と、
    誤りパターンとパリティ検査行列の行列積の縮退シンドロームと前記変換メッセージとを比較する比較器と、
    電子署名の誤りパターンが許容誤りパターン集合に含まれるか否かを判定する誤りパターン判定装置と、
    から構成され、
    前記比較器により縮退シンドロームと縮退変換メッセージとが不一致の場合および誤りパターン判定装置により電子署名の誤りパターンが許容誤りパターン集合に含まれない判定の場合に署名無効を出力する
    ことを特徴とする電子署名システム。
JP2008017587A 2008-01-29 2008-01-29 電子署名システム Expired - Fee Related JP4986162B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008017587A JP4986162B2 (ja) 2008-01-29 2008-01-29 電子署名システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008017587A JP4986162B2 (ja) 2008-01-29 2008-01-29 電子署名システム

Publications (2)

Publication Number Publication Date
JP2009182408A JP2009182408A (ja) 2009-08-13
JP4986162B2 true JP4986162B2 (ja) 2012-07-25

Family

ID=41036066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008017587A Expired - Fee Related JP4986162B2 (ja) 2008-01-29 2008-01-29 電子署名システム

Country Status (1)

Country Link
JP (1) JP4986162B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102089353B1 (ko) * 2018-07-13 2020-03-16 주식회사 다날 결제한도에 기반한 사용자 인증을 수행하는 소액결제 처리 대행 장치 및 그 동작 방법
KR102089354B1 (ko) * 2018-07-17 2020-03-16 주식회사 다날 결제한도에 따른 소액결제 처리를 지원하는 소액결제 처리 대행 장치 및 그 동작 방법

Also Published As

Publication number Publication date
JP2009182408A (ja) 2009-08-13

Similar Documents

Publication Publication Date Title
WO2004028074A1 (ja) 量子鍵配送方法および通信装置
JP6588048B2 (ja) 情報処理装置
US20100031039A1 (en) Method and apparatus for data protection system using geometry of fractals or other chaotic systems
EP2991264B1 (en) Encrypted text matching system, method and program
US9172530B2 (en) Apparatus and method for generating secret key for ID-based encryption system and recording medium having program recorded thereon for causing computer to execute the method
JP5854443B2 (ja) 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
Kuznetsov et al. New approach to the implementation of post-quantum digital signature scheme
Yevseiev et al. Construction of hybrid security systems based on the crypto-code structures and flawed codes
EP2991265B1 (en) Encrypted text matching system, method and program
Cayrel et al. An improved threshold ring signature scheme based on error correcting codes
JP2009005213A (ja) 一括検証装置、プログラム及び一括検証方法
Khurana et al. Analysis of code-based digital signature schemes.
EP2991266B1 (en) Encrypted text matching system, method, and computer readable medium
JP4986162B2 (ja) 電子署名システム
Chen et al. Tropical cryptography III: digital signatures
US20220358203A1 (en) Puf-rake: a puf-based robust and lightweight authentication and key establishment protocol
KR102211648B1 (ko) 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치 및 그 동작 방법
CN112613018A (zh) 一种基于区块链的数字证书使用系统
CN110011790B (zh) 一种基于编码的抗量子密钥协商方法
EP4385168A1 (en) Generating digital signature shares
Ma et al. Fast correlation attacks on K2 stream cipher
CN112634092A (zh) 一种基于区块链的合同认证方法、装置、电子设备
Sun et al. A new McEliece-type cryptosystem using Gabidulin-Kronecker product codes
Ganorkar et al. Error Correction using PUFs for Reliable Key Generation
KR100525124B1 (ko) 전자 서명된 문서의 검증 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120419

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees