JP4891844B2 - 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体 - Google Patents

署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体 Download PDF

Info

Publication number
JP4891844B2
JP4891844B2 JP2007161280A JP2007161280A JP4891844B2 JP 4891844 B2 JP4891844 B2 JP 4891844B2 JP 2007161280 A JP2007161280 A JP 2007161280A JP 2007161280 A JP2007161280 A JP 2007161280A JP 4891844 B2 JP4891844 B2 JP 4891844B2
Authority
JP
Japan
Prior art keywords
signature
value
format
original document
storage unit
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
JP2007161280A
Other languages
English (en)
Other versions
JP2009004853A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007161280A priority Critical patent/JP4891844B2/ja
Publication of JP2009004853A publication Critical patent/JP2009004853A/ja
Application granted granted Critical
Publication of JP4891844B2 publication Critical patent/JP4891844B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ディジタルデータに対する電子署名のフォーマットを別のフォーマットに変換する署名フォーマット変換装置と、事前処理装置と、変換された署名を検証する署名検証装置、及び署名フォーマット変換方法とプログラムと記憶媒体に関する。
公開鍵基盤(PKI:Public Key Infrastracture)の普及や電子政府の推進、電子署名法(非特許文献1)の施行などの背景により、ディジタルデータに電子署名を施して、ネットワーク上を運搬、サーバ上に保管する事例が増加している。電子署名フォーマットには、いくつかの種類がある。例えば、PKCS#7形式(非特許文献1)やXML署名形式(非特許文献3)などがある。これらの署名フォーマットは、それぞれ異なっている。
電子署名及び認証業務に関する法律(平成12年法律第102号) 電磁的記録の方式等を定める件(平成14年法務省告示第101号)http://www.moj.go.jp/MINJI/minji41-3.html 独立行政法人情報処理推進機構セキュリティセンターPKI関連技術解説7.4 XML署名 http://www.ipa.go.jp/security/pki/074.html
元文書から署名値を求める関数がそれぞれ異なる署名フォーマットの間では、検証対象が異なるので署名検証を行うことができなかった。例えば、関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットは、関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットでは、元文章Xが正当であると判定されない。
この発明は、このような点に鑑みてなされたものであり、元文書から署名値を求める関数がそれぞれ異なる署名フォーマットの間で、署名検証可能に電子署名のフォーマットを変換する技術を提供することを目的とする。
第1の発明による署名フォーマット変換装置は、第1署名フォーマットで生成した電子署名を第2署名フォーマットの電子署名に変換する署名フォーマット変換装置である。第1署名フォーマットは、関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットであり、第2署名フォーマットは、関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである。まず、記憶部が元文書mを記憶する。そして、中間値生成部が、記憶部から元文書mを読み込み、中間値M=f−1(g(m))を算出して記憶部に格納する。署名生成部が、記憶部から中間値Mを読み込み、第1署名フォーマットに従った中間値Mの署名値Enc(f(M))を算出して記憶部に格納する。フォーマット変換部が、記憶部から元文書mと署名値Enc(f(M))とを読み込み、署名値Enc(f(M))を元文書mの署名値とした第2署名フォーマットの電子署名を生成して出力する。
第2の発明による署名フォーマット変換装置は、第2署名フォーマットで生成した電子署名を第1署名フォーマットの電子署名に変換する署名フォーマット変換装置である。上記した第1の発明と同様の記憶部と中間値生成部を備え、署名生成部は、記憶部から中間値Mを読み込み、第2署名フォーマットに従った元文書mの署名値Enc(g(m))をEnc(f(M))の演算によって算出し、当該署名値Enc(g(m))を上記記憶部に格納する。そして、フォーマット変換部は、記憶部から署名値Enc(g(m))と中間値Mとを読み込み、当該署名値Enc(g(m))を当該中間値Mの署名値とした第1署名フォーマットの電子署名を生成して出力する。
なお、「f(X)」は、定義域が(X)である関数を意味する。また、「g(Y)」は、定義域が(Y)である関数を意味する。また、f−1(X)は、f(X)の逆演算関数を意味し、f−1(f(X))=Xを満たす。また、「Enc(γ)」は、定義域が(λ)である関数を意味する。
第1の発明による署名フォーマット変換装置によれば、第1署名フォーマットで生成した電子署名を第2署名フォーマットで検証することができる。また、第2の発明による署名フォーマット変換装置によれば、第2署名フォーマットで生成した電子署名を第1署名フォーマットで検証することができる。
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
〔この発明の原理〕
実施例の説明の前に、この発明の署名フォーマット変換方法の基本的な考え方について説明する。
関数値Enc(f(X))を元文書Xの署名値とする第1署名フォーマットで生成された電子署名を、関数値Enc(g(Y))を元文書Yの署名値とする第2署名フォーマットの電子署名に変換するには、式(1)の関係にすればよい。つまり、何らかの処理を施すことで、第1署名フォーマットの署名値と第2署名フォーマットの署名値が等しくなるようにすればよい。ここで、f(X)は、定義域が(X)である関数を意味する。また、「Enc(γ)」は、定義域が(γ)である関数を意味し、例えば、秘密鍵を用いて公開鍵暗号方式によって(γ)を暗号化する関数を意味する。関数値Enc(g(Y))も同様である。
Enc(f(X))=Enc(g(Y)) (1)
そこで、中間値Mを導入する。中間値Mは式(2)で表わせる。
M=f−1(g(m)) (2)
ここでf−1(X)はf(X)の逆演算関数を示す。すなわち、f−1(f(X))=Xを満たす。この中間値Mを、第1署名フォーマットの署名対象とした署名値は、Enc(f(f−1(g(m)))=Enc(g(m))である。これはすなわち、署名対象をmとした第2署名フォーマットの署名値Enc(g(m))と等しい値である。このように事前に中間値Mを用意して、その中間値Mを署名対象として第1署名フォーマットで署名する方法が、第1の発明の考え方である。
第2の発明としては、上記した中間値Mを用い第2署名フォーマットに従った元文書mの署名値Enc(g(m))をEnc(f(M))の演算によって算出する。これを計算すると、Enc(g(m))=Enc(f(f−1(g(m))))である。この式から分かるように、Enc(g(m))を、中間値M=f−1(g(m))を署名対象とした第1署名フォーマットの署名値と解釈することで、第2署名フォーマットの署名値を第1署名フォーマットで検証することができる。
以上述べた第1、第2の考え方に基づく実施例を以下に示し、以降においてこの発明の具体例を詳しく説明する。
実施例1は第1の発明の実施例である。すなわち、実施例1では、関数値Enc(f(X))を元文章Xの署名値とする第1署名フォーマットで生成された電子署名を、関数Enc(g(Y))を元文書Yの署名値とする第2署名フォーマットの電子署名に変換する。なお、この例のg(Y)は、g(Y)=f(A(Y))を満たす関数であり、A(Y)は、定義域(Y)に対する像が算出可能な関数である。
実施例1の署名システム構成を図1に例示する。図1に例示するように、実施例1の署名システム1は、ネットワーク3を介して通信可能に接続された署名フォーマット変換装置100と署名検証装置500とを有する。この例の署名フォーマット変換装置100は、生成した第1署名フォーマットの署名を、第2署名フォーマットの署名に変換する装置である。また、この実施例の署名検証装置500は、第2署名フォーマットの署名を検証する装置である。
署名フォーマット変換装置100の機能構成例を図2に示す。署名フォーマット変換装置100は、ディジタルデータが入力される入力部105と、各種のディジタル値を記憶する記憶部110と、中間値生成部120と、署名生成部130と、フォーマット変換部140と、送信部150と、それら各部の動作を制御する制御部160とで構成される。なお、この例の署名フォーマット変換装置100は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれ、CPUがそのプログラムを実行することで実現されるものである。
署名検証装置500の機能構成例を図3に示す。署名検証装置500は、受信部505と、記憶部510と、復号部520と、関数演算部530と、比較部540とそれら各部の動作を制御する制御部550とで構成される。この例の署名検証装置500も、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれ、CPUがそのプログラムを実行することで実現されるものである。
〔署名フォーマット変換処理〕
署名フォーマット変換装置100の動作フローを図4に示して、署名フォーマット変換処理を説明する。最初に署名対象データとなる元文書mが署名フォーマット変換装置100に入力される(ステップS1)。元文書mは、予め秘密鍵や公開鍵証明書が記憶されている記憶部110に記憶される(ステップS2)。中間値生成部120は、記憶部110から元文書mを読み込み、上記した式(2)の中間値M=f−1(g(m))を計算する(ステップS3)。中間値Mは、記憶部110に記憶される(ステップS4)。署名生成部130は、記憶部110から中間値Mと秘密鍵を読み込み、第1署名フォーマットに従った中間値Mの署名値Enc(f(M))=f(f−1(g(m)))を計算する(ステップS5)。第1署名フォーマットは、関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットである。署名値Enc(f(M))は、記憶部100に記憶される(ステップS6)。フォーマット変換部140は、記憶部110から元文書mと署名値Enc(f(M))とを読み込み、署名値Enc(f(M))を元文書mの署名値とした第2署名フォーマットの電子署名を生成する(ステップS7)。第2署名フォーマットは、関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである。第2署名フォーマットの電子署名は、送信部150によって署名検証装置500に送信される。
〔署名検証処理〕
署名検証装置500の動作フローを図5に示し、署名検証処理を説明する。署名フォーマット変換装置100から送信された第2署名フォーマットの電子署名は、受信部505で受信される(ステップS501)。受信された元文書mと署名値Enc(f(M))から成る第2署名フォーマットの電子署名は、公開鍵が記憶された記憶部510に記憶される(ステップS502)。復号部520は、記憶部510から署名値Enc(f(M))と公開鍵を読み出し、署名値Enc(f(M))=Enc(f(f−1(g(m))))を公開鍵で復号する(ステップS503)。復号された値はg(m)である。関数演算部530は、記憶部510から元文書mを読み込み関数gで関数値g(m)を演算する(ステップS504)。比較部540は、復号されたg(m)と関数演算部530で計算された関数値g(m)とを比較する(ステップS505)。復号されたg(m)と元文章mから計算で求めたg(m)とが一致した場合、比較部540は論理レベル1を、不一致の場合は論理レベル0を出力する(ステップS505)。以上の処理により、第1署名フォーマットに従った中間値Mの署名値Enc(f(M))=Enc(f(f−1(g(m)))が、第2署名フォーマットで検証されたことになる
実施例2は第2の発明の実施例である。すなわち、実施例2では、関数Enc(g(Y))を元文書Yの署名値とする第2署名フォーマットで生成された電子署名を、関数値Enc(f(X))を元文章Xの署名値とする第1署名フォーマットの電子署名に変換する。なお、この例のg(Y)も、g(Y)=f(A(Y))を満たす関数であり、A(Y)は、定義域(Y)に対する像が算出可能な関数である。
実施例2の場合は、署名システム1を構成する装置が、署名フォーマット変換装置200と署名検証装置600に変る。署名フォーマット変換装置200の機能構成例を図6に示す。署名フォーマット変換装置200は、入力部105と、記憶部110と、中間値生成部120と、署名生成部230と、フォーマット変換部240と、送信部150と、それら各部の動作を制御する制御部260とで構成される。入力部105と記憶部110と送信部150は、実施例1に示したものと同じである。
署名検証装置600の機能構成例を図7に示す。署名検証装置600は、受信部505と、記憶部510と、復号部620と、関数演算部630と、比較部640と、それら各部の動作を制御する制御部650とで構成される。受信部505と記憶部510とは、上記説明済みの署名検証装置500と同じである。
〔署名フォーマット変換処理〕
署名フォーマット変換装置200の動作フローを図8に示して、署名フォーマット変換処理を説明する。中間値生成部120で計算された中間値Mを記憶部110に記憶するステップS4までの動作は、上記した署名フォーマット変換装置100の動作と同じである。
署名生成部230は、記憶部110から中間値Mと秘密鍵を読み込み、第2署名フォーマットに従った元文書mの署名値Enc(g(m))をEnc(f(M))の演算によって算出する(ステップS8)。署名値Enc(g(m))=Enc(f(f−1(g(m))))である。署名値Enc(g(m))は、記憶部110に記憶される(ステップS6)。フォーマット変換部240は、記憶部110から中間値Mと署名値Enc(g(m))を読み込み、署名値Enc(g(m))を中間値Mの署名値とした第1署名フォーマットの電子署名を生成する(ステップS9)。第1署名フォーマットの署名値は、送信部150によって署名検証装置600に送信される。
〔署名検証処理〕
署名検証装置600の動作フローを図9に示し、署名検証処理を説明する。署名フォーマット変換装置200から送信された第1署名フォーマットの電子署名は、受信部505で受信される(ステップS601)。受信された、中間値Mと署名値Enc(g(m))から成る第1署名フォーマットの電子署名は、公開鍵が記憶された記憶部510に記憶される(ステップS602)。復号部620は、記憶部510から署名値Enc(g(m))を読み出し、Enc(g(m))=Enc(f(M))を公開鍵で復号する(ステップS603)。復号された値はg(m)=f(M)である。関数演算部630は、記憶部510に記憶された中間値Mを読み込み関数fで関数値f(M)=f(f−1(g(m))を演算する(ステップS604)。比較部630は、復号されたf(M)と、関数演算部630で計算して求めたf(M)とを比較する(ステップS605)。復号されたf(M)=g(m)と関数演算部630で計算された関数値g(m)とが等しい場合、署名値が正当であると判定される(ステップS606)つまり、第2署名フォーマットに従った中間値M=f−1(g(m))の署名値が、第1署名フォーマットで検証されたことになる。
この実施例2の場合は、実施例1と異なり元文書mを直接検証していない。より完全な検証が行える実施例2の変形例を次に説明する。
〔変形例〕
実施例2の変形例は、中間値Mによる検証に、更に元文書mから計算して求めた補助検証値M’を検証するようにしたものである。変形例における署名フォーマット変換装置200’は、図6に示した署名フォーマット変換装置200に元文書出力部260が付加されたものである。変形例における署名検証装置600’の機能構成例を図10に示す。署名検証装置600’は、図7に示した署名検証装置600そのものである第1署名検証部610に、補助検証値生成部650と、補助検証部660とが付加されて構成される。
署名検証装置600’の動作フローを図11に示し、署名検証処理を説明する。復号された中間値M=g(m)と関数演算部630で計算された関数値g(m)とを比較するステップS604’)までの処理は、署名検証装置600の処理と同じである。
署名フォーマット変換装置200に付加された元文書出力部260によって、記憶部510には元文書mが記憶されている。補助検証値生成部650は、記憶部510に記憶されている元文書mを読み込み補助検証値M’=f−1(g(m))を算出する(ステップS606’)。補助検証値M’は、記憶部610に記憶される(ステップS607’)。補助検証部660は、記憶部610から署名フォーマット変換装置200から送信されて来た中間値Mと、補助検証値M’を読み込み中間値Mと補助検証値M’とが一致するか否かを判定する(ステップS608’)。例えば、一致したときは論理レベル1を、不一致の場合は論理レベル0の判定結果を出力する(ステップS609’)。この補助検証値M’は、元文書mから計算して求めた値なので、この値が署名フォーマット変換装置200から送信されて来た中間値Mと一致すれば、元文書mに改竄がないことになる。このように変形例においては、中間値Mの検証に付加して元文書mの検証も可能になるので、より確実な検証を行うことができる。
実施例3は、実施例1の第1署名フォーマットをPKCS#7フォーマットとし、第2署名フォーマットをXML署名フォーマットとした場合である。ここでは、上記したf(X)が、f(X)=H(X)であり、上記したg(Y)が、g(Y)=H(H(Y)|α)である。なお、H(Z)は定義域(Z)に対するハッシュ関数であり、αは任意の値であり、Z1|Z2はZ1とZ2とのビット連結である。
PKCS#7形式の電子署名フォーマットには、(1)署名対象データと、(2)その署名値、(3)署名検証に使うX509公開鍵証明書などの情報が、ASN.1エンコーディングによりバイナリ化されて格納されている。一方、XML署名形式のフォーマットでは、(1)署名対象データと、(4)そのダイジェスト値を含むXML要素、(5)(4)に対する署名値、(3)署名検証に使うX509公開鍵証明書などの情報が、XML形式で記述されている。
実施例3の署名フォーマット変換装置300の大まかな機能構成は、例えば上記した図2と同じであるので、その機能構成図は省略する。ただ、実施例3では、署名形式のフォーマットを、PKCS#7形式とXML署名形式にしたことにより、図2に示した各機能構成部の中身が具体化される。そこで、以下では、各部の具体的な機能構成例を個々に示すと共に、各部の具体的な動作フロー例を図12に示して実施例3の動作を説明する。
〔中間値生成部320(中間値生成部120(図2)の具体例)〕
中間値生成部320の機能構成例を図13に示す。中間値生成部320は、入出力部321と、ダイジェスト値計算部322と、中間値M構築部323と、中間値M正規化部324と、各部の動作を制御する制御部325とで構成される。中間値M生成部320は、この例では、中間値M=H−1(H(H(Y)|α))=H(Y)|αを生成する。
〔中間値生成処理〕
入出力部321は、署名フォーマット変換装置200の記憶部110から元文書mを読み込みダイジェスト値計算部322に入力する。元文書mは、例えばXML形式で図14に示すものである。ダイジェスト値計算部322は、ハッシュ演算部322aで構成され、MD5やSHA1などのハッシュ関数により元文書mのダイジェスト値=H(元文書m)を計算する(図12、ステップS321)。その際、XML Digital Signature標準(RFC3076)等で定められる正規化手順により、正規化部322bで元文書mを正規化(ステップS320)した後に、ダイジェスト値を計算してもよい。
次に中間値M構築部323が、ステップS321で計算したダイジェスト値をDigestValue要素、ダイジェスト計算に用いたハッシュ関数をDigestMethodAlgorithm要素、また正規化等の変換に用いるアルゴリズムをTransforms要素として持つ中間値Mを構築する(ステップS322)。この中間値MをXML形式で図15に示す。図15において開始タグ<SignedInfo>、終了タグ</SignedInfo>に挟まれたもの、つまり、図15全体が中間値Mを表している。ここで、この中間値Mの10行目には、ダイジェスト値=H(元文章m)が組み込まれている。すなわち、中間値Mの全体のビットからこのダイジェスト値を除いたビットがαに相当し、このαにダイジェスト値がビット結合されて中間値M=H(元文書m)|αとなる。中間値Mの1行目は、署名前に中間値Mに施す正規化アルゴリズムを示している。2行目は、署名に用いるアルゴリズムを示している。4行目は、署名対象要素のID番号であり、図15に示す元文章mのID番号を示している。5行目は、後でフォーマット変換部140でXML署名データを生成する際の、署名形式を指定するTransform Algorithm要素である。この例では、署名対象要素の中に署名要素が格納される形式のEnveloped署名であることを示している。
中間値M正規化部324は、中間値MのTransforms要素中に記述された正規化アルゴリズムを指定する識別子c14nに対応する正規化プログラムを起動して、中間値Mを正規化(ステップS323)し、記憶部110に記憶させる(ステップS111)。
〔署名生成部330(署名生成部130(図2)の具体例)〕
署名生成部330の機能構成例を図16に示す。署名生成部330は、入出力部331と、XML処理部332と、署名部333と、PKCS#7フォーマット構築部334と、各部の動作を制御する制御部335とから構成される。署名生成部330は、正規化された中間値Mに対して署名を行いPKCS#7署名データを生成する。
〔PKCS#7署名データ生成処理〕
入出力部331は、記憶部110に記憶されている中間値Mを読み込みXML処理部332に入力する。XML処理部332は、XML形式で記述された中間値MをXML処理して、署名アルゴリズム情報を読み出し、中間値Mと共に署名部333に出力する(ステップS330)。署名部333は、中間値Mを署名アルゴリズム情報に対応したハッシュ関数Hでダイジェスト値(H(H(元文書)|α))化し、記憶部110から読み出した秘密鍵で暗号化して署名値Enc(f(M))を生成する(ステップS331)。ここで、H(元文書)が図15に示すDigestValueである。署名値Enc(f(M))と、中間値Mと、中間値Mに署名する際に用いる署名アルゴリズム情報と、記憶部110から読み出した公開鍵証明書とが、PKCS#7フォーマット構築部334に入力される。PKCS#7フォーマット構築部334は、これらを入力として図17に示すPKCS#7署名データを作成する(ステップS332)。なお、図17のPKCS#7署名データの4行目の「正規化したSignedinfo」が中間値Mであり、最下行の「正規化したSignedinfo要素に対するrsa-sha1署名値」が、中間値Mを署名関数rsa-sha1でダイジェスト値化した値を秘密鍵で暗号化した署名値Enc(f(M))=Enc(H(H(元文書)|α))である。PKCS#7署名データEnc(f(M))は、入出力部331を介して記憶部110に記憶される(ステップS112)。
〔フォーマット変換部340(フォーマット変換部140の具体例)〕
フォーマット変換部340の機能構成例を図18に示す。フォーマット変換部340は、入力部341と、中間値M・署名値抽出部342と、XML署名フォーマット構築部343と、各部の動作を制御する制御部344とで構成される。フォーマット変換部340は、記憶部110に記憶されている元文書mと、公開鍵と、PKCS#7署名データEnc(f(M))mとからXML署名データを生成する。
〔XML署名データ変換処理〕
入出力部341は、記憶部110から署名値Enc(f(M))を読み込み中間値M・署名値抽出部342に入力する。中間値M・署名値抽出部342は、PKCS#7署名データから中間値Mと署名値を抽出する(ステップS340)。XML署名フォーマット構築部343は、記憶部110から元文書mとX509公開鍵証明書を読み込む。そして、XML署名フォーマットを構築する。まず最初に、元文書mの子要素として中間値M・署名値抽出部342がPKCS#7署名データから抽出した中間値Mを組み込む。その下に署名値Enc(f(M))=Enc(H(H(元文書)|α))の署名値と、X509公開鍵証明書を組み込み(ステップS341)、図19に示すXML署名データを生成する。XML署名データは、署名フォーマット変換装置300の送信部150によって、ネットワーク3を介して署名検証装置500に入力される。
〔署名検証装置500〕
署名検証装置500の機能構成例を図20に示す。署名検証装置500は、受信部505と、記憶部510とXML処理部520と、署名対象保持部530とダイジェスト値検証部540と署名値検証部550と、判定部560と、復号化部570と、各部を制御する制御部580とで構成される。更に、ダイジェスト値検証部540は、正規化部541とハッシュ演算部542とダイジェスト値検証部543から成る。また、署名値検証部550は、正規化部551とハッシュ演算部552と署名値検証部553から成る。
〔XML署名データ検証処理〕
受信部505は、受信したXML署名データを記憶部510に記憶する。XML処理部520は、記憶部510からXML署名データを読み出し、XML署名データから元文書m、元文書mをダイジェスト値化する際に用いる正規化アルゴリズム情報とダイジェストアルゴリズム情報、ダイジェスト値、中間値M、中間値Mから署名値を計算する際に用いる正規化アルゴリズム情報と署名アルゴリズム情報、署名値、X509公開鍵証明書を、XML処理をして抽出する(ステップS500)。XML処理部520は、XML処理でID番号が付与されている署名対象である元文書mを見つけ、ダイジェスト値検証部540の正規化部541に入力する。正規化部541は、XML処理部520からダイジェスト値の正規化アルゴリズム情報が入力されれば、アルゴリズム情報に対応した正規化プログラムを起動して元文書mを正規化する。ハッシュ演算部542は、正規化された元文書mをXML処理部520から入力されるダイジェストアルゴリズム情報に対応するハッシュ関数で、演算しダイジェスト値=H(元文書m)を計算する。ダイジェスト値検証部543は、ハッシュ演算部542で計算されたダイジェスト値と、XML署名データから抽出したダイジェスト値(図19のDigestValue)とを比較する(ステップS501)。ダイジェスト値検証部543は、これらが一致していれば論理レベル1を、不一致の場合は論理レベル0を判定部560に出力する(ステップS502)。
また、これらが不一致の場合は、ここで署名は不正として署名検証を終了する。ダイジェスト値が一致した場合は、引き続き署名値の検証を署名検証部550で行う。
XML処理部520は、XML署名データから抽出した中間値M(図19の<SignedInfo>タグで挟まれた部分)を署名検証部550の正規化部551に入力する。正規化部551は、中間値MをXML処理部520から入力される正規化アルゴリズム情報に従った正規化プログラムを起動して中間値Mを正規化する。ハッシュ演算部552は、正規化された中間値MをXML処理部520から入力される署名アルゴリズム情報に対応したハッシュ関数でハッシュ演算して、秘密鍵で暗号化する直前の値を求める。この例の場合、計算で求めた値はH(H(元文書)|α)である。一方、XML署名データの署名値と公開鍵とは、XML処理部520によって復号化部570に入力される。復号化部570は、公開鍵で署名値を復号化しH(H(元文書)|α)を求める。
署名値検証部553は、ハッシュ演算して求めたH(H(元文書)|α)と、復号したH(H(元文書)|α)とを比較する(ステップS503)。署名値検証部553は、これらが一致していれば論理レベル1を、不一致の場合は論理レベル0を判定部560に出力する(ステップS504)。判定部560は、ダイジェスト値検証部543と署名検証部553の出力信号が共に論理レベル1の場合に、正当な署名と判定した結果を出力する(ステップS505)。
以上により、中間値Mを署名対象とした第1署名フォーマットの署名値Enc(f(M))=Enc(f(f−1(g(m)))=Enc(g(m))が、元文書mを署名対象とした第2署名フォーマットの電子署名値Enc(g(m))として検証できた。
実施例4は、実施例2の第2署名フォーマットをXML署名フォーマットとし、第1署名フォーマットをPKCS#7フォーマットとした場合である。ここでは、上記したf(X)が、f(X)=H(X)であり、上記したg(Y)が、g(Y)=H(H(Y)|α)である。
実施例4の署名フォーマット変換装置400のおおまか機能構成は、例えば上記した図6と同じであるので、その機能構成図は省略する。ただ、署名形式のフォーマットを、PKCS#7形式とXML署名形式にしたことにより、図6に示した各機能構成部の中身が具体化される。また、実施例4において図6の中間値生成部120は、実施例3で説明した中間値生成部320と全く同じものに具体化される。そこで以下では、中間値生成部320を除く各部の具体的な機能構成例を個々に示すと共に、それらの具体的な動作フロー例を図21に示して実施例4の動作を説明する。
〔署名生成部430(署名生成部230(図6)の具体例)〕
署名生成部430の機能構成例を図22に示す。署名生成部430は、入出力部431と、XML処理部432と、正規化部433と、署名部434と、XML署名フォーマット構築部435と、各部の動作を制御する制御部436とで構成される。署名生成部430は、記憶部110から中間値Mを読み込み、XML署名フォーマットに従った中間値M=f−1(g(m))の署名値Enc(g(m))=Enc(f(f−1(g(m))))を計算する。
〔XML署名データ生成処理〕
入出力部431は、記憶部110に記憶されたXML形式で記述された中間値MをXML処理部432に入力する。XML処理部432は、図15に示した中間値MをXML処理して正規化アルゴリズム情報と署名アルゴリズム情報とを抽出する(ステップS430)。正規化アルゴリズム情報は、中間値Mと共に正規化部433に入力される。署名アルゴリズム情報は、署名部434に入力される。
正規化部433は、正規化アルゴリズム情報に従った正規化プログラムを起動して中間値Mを正規化する(ステップS431)。署名部434は、正規化された中間値Mを署名アルゴリズム情報に対応したハッシュ関数でハッシュ演算した後に、入出力部431が記憶部110から読み出した秘密鍵で暗号化する(ステップS432)。この処理は、署名値Enc(H(H(元文書)|α))(=Enc(f(M))=Enc(g(m))を求める処理である。
XML署名フォーマット構築部435には、入出力部431から記憶部110に記憶された元文書mと公開鍵証明書とが入力され、署名部434から正規化された中間値Mと署名値Enc(g(m))が入力される。XML署名フォーマット構築部435は、元文書mの子要素として正規化された中間値Mと、署名値Enc(f(M))と、公開鍵証明書とを組み込み、図19に示すXML署名データを作成する。XML署名データは、入出力部431を介して記憶部110に記憶される。
なお、上記では、記憶部110に記憶された中間値Mを読み込んでXML署名データを作成する例を示した。しかし、署名生成部430が、元文書mを読み込んで中間値Mを生成し、XML署名データを作成してもよい。その場合の署名生成部430’を図23に示す。署名生成部430’は、署名生成部430のXML処理部432と正規化部433が図13に示す中間値生成部320に置き換わったものである。中間値生成部320の動作は説明ずみであるので、説明は省略する。
〔フォーマット変換部440(フォーマット変換部240(図6)の具体例)〕
フォーマット変換部440の機能構成例を図24に示す。フォーマット変換部440は、入力部441と、署名データ分離部442と、PKCS#7署名データ生成部443と、PKCS#7署名データ出力部444と、各部の動作を制御する制御部446とで構成される。
〔フォーマット変換処理〕
フォーマット変換部440は、XML署名データをPKCS#7署名データに変換する。
入力部441は、記憶部110に記憶されたXML署名データを読み出して、署名データ分離部442に入力する。署名データ分離部442は、XML署名データをXML処理して、中間値Mと、公開鍵証明書と、署名値Enc(g(m))とを、PKCS#7署名データ生成部443に出力する。
PKCS#7署名データ生成部443は、図17に示すPKCS#7署名データを、署名データ分離部442から入力された中間値MをContentInfoとし、署名値Enc(g(m))をEncryptedDigestとして生成する。図17において、中間値Mは4行目の「正規化したSignedInfo要素」であり、署名値Enc(g(m))は最下行の「正規化したSignedInfo要素に対するrsa-sha1署名」である。
PKCS#7署名データは、PKCS#7署名データ出力部444によって送信部150(図6)に出力される。
〔署名検証処理〕
なお、PKCS#7署名データの署名検証は、前述した署名検証装置600や署名検証装置600’が行なう上記説明済みの動作によりなされる。ここに「XML署名装置で署名した署名データをPKCS#7署名検証装置で検証する」という目的が達成される。
なお、本発明は、上述の各実施例に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、実施例3は、f(X)=H(X)、g(Y)=H(H(Y)|α)とした。この例では、中間値M=f−1(g(m))=H−1(H(H(Y)|α))=H(Y)|αとなる。この場合、中間値Mを求めるために逆関数f−1の計算を行う必要はない。しかし、中間値を求めるために逆関数f−1の計算を行う必要性がある関数f(X),g(Y)を用いた形態であってもよい。ただ、この場合には関数f(X)の逆関数f−1(X)が演算可能である必要がある。このような関数f(X),g(Y)の組合せとしては、例えば、f(X)=X(+)α,g(Y)=Y(+)βを例示できる。なお、α,βは任意の値である。また、Z1(+)Z2は、Z1とZ2との排他的論理和を示す。この例の場合、f−1(X)=X(+)αとなり、中間値M=f−1(g(m))={m(+)β}(+)αとなる。
また、実施例3と4では、f(X)=H(X),g(Y)=H(H(Y)|α)とした。しかし、g(Y)=H(H’(Y)|α)としてもよい。ここで、H’(Y)は、定義域を(Y)とするハッシュ関数である。なお、実施例3と4に示した例は、H’=Hの例である。
また、上述の各実施例では、署名フォーマット変換装置が署名生成部と中間値生成部とフォーマット変換部とを有する構成であった。しかし、中間値生成部を具備する事前処理装置と、中間値生成部生成部を具備しない署名フォーマット変換装置とをインタフェースを介して接続し、本発明の署名フォーマット変換を実現する構成であってもよい。また、中間値生成部を具備する事前処理装置と、中間値生成部生成部を具備しない署名フォーマット変換装置とがネットワークを通じて接続される構成であってもよい。このような構成の場合、中間値生成部を具備しないが署名生成部やフォーマット変換部を具備する既存の装置に事前処理装置を外付け接続するだけで、本発明の署名フォーマット変換処理を実行できる。同様に、フォーマット変換部を署名フォーマット変換装置の外部に構成する構成としてもよいし、中間値生成部を具備する装置と、署名生成部を具備する装置と、フォーマット変換部を具備する装置とを別個に構成し、それらをインタフェースやネットワーク経由で接続して使用する形態であってもよい。
また、実施例3,4では、XML署名データの形態を3つの種類の1つであるEnveloped署名の例で示したが、他の形態であるEnvelopng署名やDetached署名の形態でももちろんよい。
また、上記装置及び方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上述のように、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体に記憶しておくことができる。コンピュータで読み取り可能な記憶媒体としては、例えば、磁気記憶装置、光ディスク、光磁気記憶媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記憶装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記憶媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記憶したDVD、CD−ROM等の可搬型記憶媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
この発明の署名フォーマット変換装置が使用される全体像を示す模式図。 この第1の発明の署名フォーマット変換装置100の機能構成例を示す図。 署名検証装置500の機能構成例を示す図。 図2の動作フローを示す図。 署名検証装置500の動作フローを示す図。 この第2の発明の署名フォーマット変換装置200の機能構成例を示す図。 署名検証装置600の機能構成例を示す図。 図6の動作フローを示す図。 署名検証装置600の動作フローを示す図。 署名検証装置600’の機能構成例を示す図。 署名検証装置600’の動作フローを示す図。 実施例3の各部の動作フローを示す図。 中間値生成部320の機能構成例を示す図。 元文書mの一例を示す図。 中間値Mの一例を示す図。 署名生成部330の機能構成例を示す図。 PKCS#7署名データの一例を示す図。 フォーマット変換部340の機能構成例を示す図。 XML署名データの一例を示す図。 この発明の実施例3の署名検証装置500の機能構成例を示す図。 実施例4の各部の動作フローを示す図。 署名生成部430の機能構成例を示す図。 署名生成部430’の機能構成例を示す図。 フォーマット変換部440の機能構成例を示す図。

Claims (14)

  1. 第1署名フォーマットで生成した電子署名を第2署名フォーマットの電子署名に変換する署名フォーマット変換装置であって、
    元文書mを記憶する記憶部と、
    上記記憶部から上記元文書mを読み込み、中間値M=f−1(g(m))を算出し、当該中間値Mを上記記憶部に格納する中間値生成部と、
    上記記憶部から上記中間値Mを読み込み、上記第1署名フォーマットに従った当該中間値Mの署名値Enc(f(M))を算出し、当該署名値Enc(f(M))を上記記憶部に格納する署名生成部と、
    上記記憶部から上記元文書mと上記署名値Enc(f(M))とを読み込み、当該署名値Enc(f(M))を当該元文書mの署名値とした上記第2署名フォーマットの電子署名を生成し、当該電子署名を出力するフォーマット変換部と、
    を具備し、
    上記第1署名フォーマットは、
    関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットであり、
    上記第2署名フォーマットは、
    関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである、
    ことを特徴とする署名フォーマット変換装置。
  2. 第2署名フォーマットで生成した電子署名を第1署名フォーマットの電子署名に変換する署名フォーマット変換装置であって、
    元文書mを記憶する記憶部と、
    上記記憶部から上記元文書mを読み込み、中間値M=f−1(g(m))を算出し、当該中間値Mを上記記憶部に格納する中間値生成部と、
    上記記憶部から上記中間値Mを読み込み、上記第2署名フォーマットに従った当該元文書mの署名値Enc(g(m))をEnc(f(M))の演算によって算出し、当該署名値Enc(g(m))を上記記憶部に格納する署名生成部と、
    上記記憶部から上記署名値Enc(g(m))と上記中間値Mとを読み込み、当該署名値Enc(g(m))を当該中間値Mの署名値とした上記第1署名フォーマットの電子署名を生成し、当該電子署名を出力するフォーマット変換部と、
    を具備し、
    上記第1署名フォーマットは、
    関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットであり、
    上記第2署名フォーマットは、
    関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである、
    ことを特徴とする署名フォーマット変換装置。
  3. 請求項1または2に記載の署名フォーマット変換装置であって、
    上記g(Y)が、
    g(Y)=f(A(Y))を満たし、
    A(Y)が、
    定義域Yに対する像が算出可能な関数である、
    ことを特徴とする署名フォーマット変換装置。
  4. 請求項2に記載の署名フォーマット変換装置であって、
    上記記憶部から上記元文書mを読み込み、当該元文書mを出力する元文書出力部をさらに有する、
    ことを特徴とする署名フォーマット変換装置。
  5. 請求項1から4の何れかに記載の署名フォーマット変換装置であって、
    上記f(X)が、
    H(Z)を定義域Zに対するハッシュ関数とした場合における、f(X)=H(X)であり、
    上記g(Y)が、
    H’(Z)を定義域Zに対するハッシュ関数とし、αを任意の値とし、Z1|Z2をZ1とZ2とのビット連結とした場合における、g(Y)=H(H’(Y)|α)であり、
    上記中間値生成部は、
    上記記憶部から上記元文書mを読み込み、中間値M=H’(m)|αを算出し、当該中間値Mを上記記憶部に格納する、
    ことを特徴とする署名フォーマット変換装置。
  6. 請求項4に記載の署名フォーマット変換装置から出力された第1署名フォーマットの電子署名を検証する署名検証装置であって、
    署名値Enc(g(m))と中間値Mとを有する第1署名フォーマットの電子署名と、元文書mとを格納する記憶部と、
    上記記憶部から上記第1署名フォーマットの電子署名を読み込み、上記第1署名フォーマットの電子署名を検証し、その検証結果を出力する第1署名検証部と、
    上記記憶部から上記元文書mを読み込み、補助検証値M’=f−1(g(m))を算出し、当該補助検証値M’を上記記憶部に格納する補助検証値生成部と、
    上記記憶部から上記中間値Mと補助検証値M’とを読み込み、当該中間値Mと当該検証値M’とが一致するか否かを判定し、その判定結果を出力する補助検証部と、
    を具備することを特徴とする署名検証装置。
  7. 請求項6に記載の署名検証装置であって、
    上記f(X)が、
    H(Z)を定義域Zに対するハッシュ関数とした場合における、f(X)=H(X)であり、
    上記g(Y)が、
    H’(Z)を定義域Zに対するハッシュ関数とし、αを任意の値とし、Z1|Z2をZ1とZ2とのビット連結とした場合における、g(Y)=H(H’(Y)|α)であり、
    上記補助検証値生成部は、
    上記記憶部から上記元文書mを読み込み、補助検証値M’=H’(m)|αを算出し、当該補助検証値M’を上記記憶部に格納する、
    ことを特徴とする署名検証装置。
  8. 元文書mを記憶する記憶部と、
    上記記憶部から上記元文書mを読み込み、中間値M=f−1(g(m))を算出し、当該中間値Mを上記記憶部に格納する中間値生成部と、を具備し、
    上記中間値M=f−1(g(m))は、
    関数値Enc(f(X))を元文書Xの署名値とする第1署名フォーマットの電子署名と、関数値Enc(g(Y))を元文書Yの署名値とする第2署名フォーマットの電子署名との間のフォーマット変換処理に利用される値である、
    ことを特徴とする事前処理装置。
  9. 第1署名フォーマットで生成した電子署名を第2署名フォーマットの電子署名に変換する署名フォーマット変換方法であって、
    元文書mを記憶部に格納する過程と、
    中間値生成部が、上記記憶部から上記元文書mを読み込み、中間値M=f−1(g(m))を算出し、当該中間値Mを上記記憶部に格納する過程と、
    署名生成部が、上記記憶部から上記中間値Mを読み込み、上記第1署名フォーマットに従った当該中間値Mの署名値Enc(f(M))を算出し、当該署名値Enc(f(M))を上記記憶部に格納する過程と、
    フォーマット変換部が、上記記憶部から上記元文書mと上記署名値Enc(f(M))とを読み込み、当該署名値Enc(f(M))を当該元文書mの署名値とした上記第2署名フォーマットの電子署名を生成し、当該電子署名を出力する過程と、
    を有し、
    上記第1署名フォーマットは、
    関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットであり、
    上記第2署名フォーマットは、
    関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである、
    ことを特徴とする署名フォーマット変換方法。
  10. 第2署名フォーマットで生成した電子署名を第1署名フォーマットの電子署名に変換する署名フォーマット変換方法であって、
    元文書mを記憶部に格納する過程と、
    中間値生成部が、上記記憶部から上記元文書mを読み込み、中間値M=f−1(g(m))を算出し、当該中間値Mを上記記憶部に格納する過程と、
    署名生成部が、上記記憶部から上記中間値Mを読み込み、上記第2署名フォーマットに従った当該元文書mの署名値Enc(g(m))をEnc(f(M))の演算によって算出し、当該署名値Enc(g(m))を上記記憶部に格納する過程と、
    フォーマット変換部が、上記署名値Enc(g(m))と上記中間値Mとを読み込み、当該署名値Enc(g(m))を当該中間値Mの署名値とした上記第1署名フォーマットの電子署名を生成し、当該電子署名を出力する過程と、
    を有し、
    上記第1署名フォーマットは、
    関数値Enc(f(X))を元文書Xの署名値とする署名フォーマットであり、
    上記第2署名フォーマットは、
    関数値Enc(g(Y))を元文書Yの署名値とする署名フォーマットである、
    ことを特徴とする署名フォーマット変換方法。
  11. 請求項1から5の何れかに記載された署名フォーマット変換装置としてコンピュータを機能させるためのプログラム。
  12. 請求項6または7に記載された署名検証装置としてコンピュータを機能させるためのプログラム。
  13. 請求項8に記載された事前処理装置としてコンピュータを機能させるためのプログラム。
  14. 請求項11から13に記載されたプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
JP2007161280A 2007-06-19 2007-06-19 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体 Expired - Fee Related JP4891844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007161280A JP4891844B2 (ja) 2007-06-19 2007-06-19 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007161280A JP4891844B2 (ja) 2007-06-19 2007-06-19 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体

Publications (2)

Publication Number Publication Date
JP2009004853A JP2009004853A (ja) 2009-01-08
JP4891844B2 true JP4891844B2 (ja) 2012-03-07

Family

ID=40320803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007161280A Expired - Fee Related JP4891844B2 (ja) 2007-06-19 2007-06-19 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体

Country Status (1)

Country Link
JP (1) JP4891844B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO335397B1 (no) * 2012-11-15 2014-12-08 Maestro Soft As Signaturportering
JP6044323B2 (ja) * 2012-12-20 2016-12-14 富士通株式会社 不正メールの検知方法,その検知プログラム及びその検知装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003003329A1 (fr) * 2001-06-27 2003-01-09 Fujitsu Limited Procede et systeme de validation de l'authenticite des donnees
JP4167137B2 (ja) * 2003-07-10 2008-10-15 株式会社日立製作所 署名生成方法及びデータ交換システム
JP2007013882A (ja) * 2005-07-04 2007-01-18 Canon Inc 記憶媒体、デジタルデータ処理装置、及びデジタルデータ処理方法

Also Published As

Publication number Publication date
JP2009004853A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
JP4827468B2 (ja) 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP6058237B1 (ja) 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法
US20130051552A1 (en) Device and method for obtaining a cryptographic key
WO2013031414A1 (ja) 署名検証装置、署名検証方法、プログラム、及び記録媒体
JP2002251136A (ja) 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US20180239910A1 (en) Encrypted text verification system, method and recording medium
US10484182B2 (en) Encrypted text verification system, method, and recording medium
WO2006114948A1 (ja) 署名生成装置および署名検証装置
JP2010049213A (ja) 暗号化装置、復号装置、暗号通信システム、方法及びプログラム
JP2002049310A (ja) 暗復号装置、認証装置及び記憶媒体
JP4891844B2 (ja) 署名フォーマット変換装置と事前処理装置と署名検証装置、及び署名フォーマット変換方法とプログラムとその記憶媒体
WO2022024182A1 (ja) 知識証明方法、知識証明プログラム、および情報処理装置
JP4703668B2 (ja) コンテンツ転送方法
JP4650933B2 (ja) 秘密計算方法及びシステム
JP2004228916A (ja) 署名暗号方法、その装置およびそのプログラム
JP2011040932A (ja) 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体
CN112631552B (zh) 基于不均匀随机源的随机数生成、再生方法及电子装置
JP2004320494A (ja) 電子署名付き文書検証装置、電子署名付き文書検証方法、電子署名付き文書検証プログラム及びプログラム記録媒体
CN115668334A (zh) 隐匿信息处理系统、加密装置、加密方法和加密程序
JP4565632B2 (ja) 秘密計算方法及びシステム、並びにプログラム
CN112636909A (zh) 一种密钥识别转换方法、系统及介质
JP5142361B2 (ja) 正当性検証装置
JP6980154B2 (ja) データ利用者鍵生成装置、鍵生成方法及び鍵生成プログラム
WO2011033642A1 (ja) 署名生成装置及び署名検証装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090729

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111101

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: 20111206

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: 20111216

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: 20141222

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees