特許
J-GLOBAL ID:200903066699731532

デイジタル署名方式

発明者:
出願人/特許権者:
代理人 (1件): 小鍜治 明 (外2名)
公報種別:公開公報
出願番号(国際出願番号):特願平3-287505
公開番号(公開出願番号):特開平5-128132
出願日: 1991年11月01日
公開日(公表日): 1993年05月25日
要約:
【要約】【目的】 本発明の目的は、通信ネットワークを介してやり取りされる電子文書の正当性を、複数の署名者の生成した数値データたるディジタル署名を用いて確認する方法において、その署名確認の処理が、従来より少ない方法を提供することを目的とする。【構成】 システムパラメタを設定する10システム管理者と、電子文書Mに対する署名(t1,t2,...,ti,Si)を生成するN人の20署名者Ai(i=1〜N)と、署名を確認する30認証者AN+1からなり、認証者AN+1は、各署名者の署名を、高次の高速指数演算法を利用して一括して確認するため、処理量が従来より少なくできる。
請求項(抜粋):
コンピュータや通信ネットワークを利用して送受信される、あるいは蓄積される数値データたる電子文書Mの正当性を、複数の署名者の作成した数値データたるディジタル署名によって確認するディジタル署名方式において、複数の署名者Ai(i=1〜N)が、前記電子文書Mに対するディジタル署名を作成する署名作成ステップと、認証者AN+1が、前記各署名者Ai(i=1〜N)が作成した署名の正しさを確認する署名確認ステップとを有し、前記各署名者Ai(i=1〜N)および認証者AN+1は、それぞれ、共通の一方向性関数fと、共通のハッシュ関数hと、前記各署名者Ai(i=1〜N)の署名確認用パラメータyi(i=1,2,...,N)を保持しており、また、前記各署名者Aiは、それぞれ署名作成用パラメータxiを秘密に保持しており、前記一方向性関数fは、2つのデータd1、d2に対する第1の演算op1 の結果op1〔d1,d2〕を、その入力値とするときの出力値f(op1〔d1,d2〕)が、前記データd1をその入力値とするときの出力値f(d1)と前記データd2に対する第2の演算op2 の結果op2{f(d1),d2}に等しくなり、かつ2つ以上のデータd1,d2,...,dn (n≧2)に対する第3の演算op3 の結果op3〔d1,d2,...,dn〕を、その入力値とするときの出力値f(op3〔d1,d2,...,dn〕)が、前記各データd1,d2,...,dn のそれぞれをその入力値とするときの各出力値f(d1),f(d2),...,f(dn)に対する第4の演算op4の結果op4〔f(d1),f(d2),...,f(dn)〕に等しくなる関数とし、特に、この第4の演算op4の結果op4〔f(d1),f(d2),...,f(dn)〕 を求めるのに、高速指数演算法を拡張した高次の高速指数演算法を用いるものとし、また、前記ハッシュ関数hは、一つ以上の入力データ{di(i≧1)}に対して、その各入力値に依存し、かつある定められた数値以下の出力データh(d1,h2,...,hi)を出力する関数とし、前記署名確認用パラメータyiと前記署名作成用パラメータxiは、前記署名確認用パラメータyiが前記署名作成用パラメータxiを前記一方向性関数fに入力したときの出力f(xi)に等しくなるように署名者自身もしくは第3の信頼のおける機関によって生成されるものとし、前記署名作成ステップは、前記署名者A1が、秘密に乱数r1を生成し、前記乱数r1を前記一方向性関数fに入力してt1=f(r1)を求め、このt1と前記電子文書Mを前記ハッシュ関数hに入力してh1=h(M,t1) を求め、このh1と前記署名作成用パラメータx1に対する前記第1の演算op1 の結果op1〔h1,x1〕と、前記乱数r1に対する前記第3の演算op3 の結果s1=op3〔op1〔h1,x1〕,r1〕を求め、前記{t1,S1} を署名者A1の署名として前記電子文書Mとともに署名者A2に通知するステップと、各署名者Aj(j=2〜N)が、A2,A3,...,ANの順番に、それぞれ署名順が一つ前の署名者Aj-1(j=2〜N)より通知された署名{t1,t2,...,tj-1,Sj-1} に対して、まず、前記署名{t1,t2,...,tj-1}に対する前記第4の演算op4 の演算結果Tj-1=op4〔t1,t2,...,tj-1〕を求め、次に前記電子文書Mと前記署名{tk} (k=1〜j-1) をそれぞれ前記ハッシュ関数hに入力してhk=h(M,tk) (k=1〜j-1) を求め、このhk(k=1〜j-1)と前記署名確認用パラメータyk(k=1〜j-1) に対する前記第2の演算op2の演算結果op2〔yk,hk〕(k=1,2,...,j-1) の、前記第4の演算op4 に関する逆数op2〔yk,hk〕-1 (k=1〜j-1)と、前記署名Sj-1を前記一方向性関数fに入力して得られる出力値f(Sj-1)とに対する前記第4の演算op4の演算結果Tj-1'=op4〔f(Sj-1),op2〔y1,h1〕-1,op2〔y2,h2〕-1,...,op2〔yj-1,hj-1〕-1〕 を求め、この演算結果Tj-1'が前記Tj-1に一致すれば前記署名{t1,t2,...,tj-1,Sj-1}が前記電子文書Mに対する署名者Aj-1(j=2〜N)の署名であると認識するステップと、前記署名者Aj(j=2〜N) が乱数rjを生成し、この乱数rjを前記一方向性関数fに入力してtj=f(rj)を求め、前記電子文書Mと前記tjを前記ハッシュ関数hに入力して得られる出力値hj=h(M,tj) と前記署名作成用パラメータxjに対する前記第1の演算op1 の演算結果op1〔hj,xj〕と、前記乱数rjに対する前記第3の演算op3 の演算結果sj=op3〔op1〔hj,xj〕,rj〕を求め、この結果sjと前記署名Sj-1に対する前記第3の演算op3 の演算結果Sj=op3〔Sj-1,sj〕を求め、前記{t1,t2,...,tj,Sj}を前記署名者Ajの署名として、前記電子文書Mとともに次の署名者または認証者であるAj+1(j=2〜N) に通知するステップとから構成され、前記署名確認ステップは、前記認証者AN+1が、前記署名者ANより通知された署名{t1,t2,...,tN,SN}と電子文書Mより、まず、署名{tk}(k=1〜N) に対する前記第4の演算op4 の演算結果TN=op4〔t1,t2,...,tN〕を求め、次に、前記電子文書Mと前記署名{tk} (k=1〜N)をそれぞれ前記ハッシュ関数hに入力したときの出力hk=h(M,tk)(k=1〜N)と前記署名確認用パラメータyk(k=1〜N) に対する前記第2の演算op2 の演算結果op2〔yk,hk〕(k=1〜N) の、前記第4の演算op4に関する逆数op2〔yk,hk〕-1 (k=1〜N)と、前記署名SNを前記一方向性関数fに入力して得られる出力値f(SN)とに対する、前記第4の演算op4 の演算結果TN'=op4〔f(SN),op2〔y1,h1〕-1,op2〔y2,h2〕-1,...,op2〔yN,hN〕-1〕 を求め、この演算結果TN'が前記TNに一致すれば前記署名{t1,t2,...,tN,SN}が前記電子文書Mに対する署名者Ak(k=1〜N) の署名であると認識するステップから構成されるディジタル署名方式。
IPC (3件):
G06F 15/22 ,  G06F 15/00 310 ,  G09C 5/00

前のページに戻る