JP5174233B2 - 電子署名プログラム、電子署名装置、および電子署名方法 - Google Patents

電子署名プログラム、電子署名装置、および電子署名方法 Download PDF

Info

Publication number
JP5174233B2
JP5174233B2 JP2011501424A JP2011501424A JP5174233B2 JP 5174233 B2 JP5174233 B2 JP 5174233B2 JP 2011501424 A JP2011501424 A JP 2011501424A JP 2011501424 A JP2011501424 A JP 2011501424A JP 5174233 B2 JP5174233 B2 JP 5174233B2
Authority
JP
Japan
Prior art keywords
storage area
area
target
eigenvalue
hash value
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.)
Active
Application number
JP2011501424A
Other languages
English (en)
Other versions
JPWO2010097942A1 (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.)
Fujitsu Ltd
Fujitsu Advanced Engineering Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Advanced Engineering Ltd
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 Fujitsu Ltd, Fujitsu Advanced Engineering Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010097942A1 publication Critical patent/JPWO2010097942A1/ja
Application granted granted Critical
Publication of JP5174233B2 publication Critical patent/JP5174233B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Description

本開示技術は、電子署名に用いられるハッシュツリーの生成をおこなう電子署名プログラム、電子署名装置、および電子署名方法に関する。
署名対象となる動画像または音声のストリーミングデータを分割し、分割された部分データをリーフとしてハッシュツリーを生成してルートハッシュ値を求めることで、ストリーミングデータの電子署名をおこなう技術が開示されている(たとえば、下記特許文献1を参照。)。上述した従来技術では、分割されたデータが保持できるレジスタ/メモリが用意されていることが前提となる。
図11は、従来のハッシュツリー作成方法を示す説明図である。ストリーミングデータは、複数の部分データに分割される。MPEG(Moving Picture Experts Group)−1のストリーミングデータを抽出可能なように部分データに分割する場合、画像単位とGOP(Group of Picture)単位が考えられる。GOPは、何枚かの画像をまとめた動画像の最小単位であり、その単位で独立した再生が可能であり、動画像を途中から再生したり編集したりするための構造である。ここでは、単純化のために、部分データへの分割をGOP単位とする。
図11の(A)において、ストリーミングデータは入力データf0〜f14に分割され、それぞれハッシュ関数H()に与えられることで、ハッシュ値h0〜h14がレジスタ/メモリに格納される。
(B)において、(A)で得られたハッシュ値h0〜h14について隣接ハッシュ値どうしを結合する。“hx|hy”(x,yは番号)は、ハッシュ値hxの末尾とハッシュ値hyの先頭をつなげた符号列である。また、hx,yは結合ハッシュ値をハッシュ関数に与えた場合に得られるハッシュ値である。(C)〜(E)においても同様に繰り返す。(E)において、ハッシュ値が単一になったため、ハッシュ値h0,14がルートハッシュ値となる。
このように、従来技術では、(A)〜(E)のハッシュツリー生成をおこなうには、ストリーミングデータをすべて取り込むことが可能な大容量のレジスタ/メモリが必要となる。また、ストリーミングデータをすべて取り込んだあとに、(A)〜(E)のハッシュツリー生成をおこなうため、処理に時間を要することとなる。
特開2008−178048号公報
本開示技術では、リアルタイムでツリー生成の逐次処理を可能とすることにより、レジスタ/メモリの大幅削減と後処理時間の大幅削減を実現することを課題とする。
上述した課題を解決し、目的を達成するため、本開示技術は、連続的に入力されてくる一連の入力データを入力順に取得し、取得された入力データまたは対象データを一方向性関数に与えて前記入力データまたは前記対象データの固有値を演算し、優先順位が割り当てられている記憶領域群の中から選ばれた対象領域が空き領域か否かを判断し、前記対象領域が空き領域であると判断された場合、演算された前記入力データまたは前記対象データの固有値を前記対象領域に格納し、前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記入力データまたは前記対象データの固有値との結合固有値をあらたに前記対象データとして設定し、前記入力データの固有値が演算された場合、前記記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択し、前記一連の入力データの取得後、前記記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定することを要件とする。
本開示技術によれば、リアルタイムでツリー生成の逐次処理を可能とすることにより、レジスタ/メモリの大幅削減と後処理時間の大幅削減を実現することができるという効果を奏する。
電子署名装置のハードウェア構成を示すブロック図である。 入力データ群の一例を示す説明図である。 第1の格納処理(その1)を示す説明図である。 第1の格納処理(その2)を示す説明図である。 第1の格納処理(その3)を示す説明図である。 第1の格納処理(その4)を示す説明図である。 第1の格納処理(その5)を示す説明図である。 第2の格納処理(その1)を示す説明図である。 第2の格納処理(その2)を示す説明図である。 第1の格納処理および第2の格納処理の実行により生成されたハッシュツリーを示す説明図である。 本実施の形態にかかる電子署名装置の機能的構成を示すブロック図である。 本実施の形態にかかるルートハッシュ値生成処理手順を示すフローチャートである。 第1の格納処理の詳細な処理手順を示すフローチャートである。 第2の格納処理の詳細な処理手順を示すフローチャートである。 本実施の形態と図11に示した従来技術とを比較した図表である。 従来のハッシュツリー作成方法を示す説明図である。
以下に添付図面を参照して、本開示技術にかかる電子署名装置、電子署名方法、および電子署名プログラムの好適な実施の形態を詳細に説明する。
(電子署名装置のハードウェア構成)
図1は、電子署名装置のハードウェア構成を示すブロック図である。電子署名装置100は、CPU(Central Processing Unit)101と、メモリ102と、ハードディスクドライブ103と、I/F104(インターフェース)と、を備えている。CPU101、メモリ102、ハードディスクドライブ103、およびI/F104は、バス105により接続されている。
ここで、CPU101は、電子署名装置100の全体の制御を司る。CPU101は内部にレジスタ106を有する。レジスタ106は、各種データを保持する。レジスタ106は、CPU101の外部にあってもよい。メモリ102は、各種データを記憶する主記憶装置である。メモリ102は、CPU101のワークエリアとしても利用される。メモリ102は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリなどにより構成される。
ハードディスクドライブ103は、各種データを記憶するハードディスクを有する。ハードディスクには、本開示技術の電子署名プログラム(メモリ102に記憶してもよい)やブラウザ、OS(Operating System)を記憶する。I/F104は、外部の装置(たとえば、デジタルビデオカメラ108)やネットワーク109からデータを取得したり、外部の装置やネットワーク109へデータを出力する。I/F104は、バッファ107を有し、外部の装置やネットワーク109からのデータを一時的に保持して、レジスタ106、メモリ102、ハードディスクなどの記憶領域にデータを送る。
図2は、入力データ群の一例を示す説明図である。図2において、署名対象となる動画像または音声のストリーミングデータSTは、複数の入力データf0〜f14に分割される。図11に示したように、説明の単純化のために、入力データf0〜f14への分割をGOP単位とする。各入力データf0〜f14のハッシュ値について2分木処理を施すことで、最終的にルートハッシュ値h0,14が得られ、電子署名200が生成されることとなる。
(ハッシュツリー生成の具体例)
つぎに、本実施の形態におけるハッシュツリー生成の具体例について説明する。本実施の形態のハッシュツリー生成は、大きく分けて2つのフェーズからなる。第1のフェーズは、ストリーミングデータから分割された一連の入力データから得られるハッシュ値を、優先順位が割り当てられた記憶領域群から順次選ばれた対象領域に格納する。以降、第1の格納処理と称す。
第2のフェーズは、第1の格納処理でハッシュツリーが未完成である場合に、再度第1の格納処理を実行させる。以降、第2の格納処理という。第2の格納処理は、ハッシュ値が単一になるまで繰り返し実行される。なお、記憶領域群とは、一方向性関数(たとえば、ハッシュ関数)から得られた固有値を格納する複数の記憶領域である。記憶領域群は、たとえば、複数個のレジスタ106でもよく、メモリ102やハードディスクドライブ103のハードディスクにおいてアドレス指定された複数の記憶領域でもよい。
以降、図2に示した入力データ群を例にして説明する。図3−1〜図3−5では第1の格納処理を説明し、図4−1,図4−2では第2の格納処理を説明する。なお、複数の記憶領域として5個の記憶領域M1〜M5を設定する。記憶領域群Mには、優先順位が割り当てられているため、ここでは、右端の記憶領域M1が最も優先度が高い記憶領域であり、左に行くほど優先度が下がり、左端の記憶領域M5が最も優先度が低い記憶領域とする。また、一連の入力データは、入力データf0,f1,f2,…,f14の順に取り込まれるものとする。
図3−1は、第1の格納処理(その1)を示す説明図である。(A)は初期状態であるため、5個の記憶領域M1〜M5は空である。入力データf0が取り込まれると、ハッシュ関数H()により、ハッシュ値h0が算出される。ハッシュ値h0は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(B)において、記憶領域M1には、ハッシュ値h0が格納されている。入力データf1が取り込まれると、ハッシュ関数H()により、ハッシュ値h1が算出される。記憶領域M1には、すでにハッシュ値h0が格納済みである。この場合、ハッシュ値h0を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h0とハッシュ値h1とを結合して結合ハッシュ値h0|h1とする。結合ハッシュ値h0|h1は、ハッシュ値h0の末尾とハッシュ値h1の先頭とをつなげたコード列である。そして、結合ハッシュ値h0|h1をハッシュ関数H()に与えて、ハッシュ値h0,1が算出される。ハッシュ値h0,1は、記憶領域M1のつぎに優先度が高い記憶領域M2に格納される。
(C)において、記憶領域M2には、ハッシュ値h0,1が格納されている。入力データf2が取り込まれると、ハッシュ関数H()により、ハッシュ値h2が算出される。ハッシュ値h2は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
図3−2は、第1の格納処理(その2)を示す説明図である。(D)において、記憶領域M1にはハッシュ値h2が格納されており、記憶領域M2にはハッシュ値h0,1が格納されている。入力データf3が取り込まれると、ハッシュ関数H()により、ハッシュ値h3が算出される。記憶領域M1には、すでにハッシュ値h2が格納済みである。
この場合、ハッシュ値h2を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h2とハッシュ値h3とを結合して結合ハッシュ値h2|h3とする。結合ハッシュ値h2|h3は、ハッシュ値h2の末尾とハッシュ値h3の先頭とをつなげたコード列である。そして、結合ハッシュ値h2|h3をハッシュ関数H()に与えて、ハッシュ値h2,3が算出される。
ところが、記憶領域M1のつぎに優先度が高い記憶領域M2には、すでにハッシュ値h0,1が格納済みである。この場合、ハッシュ値h0,1を記憶領域M2から読み出して記憶領域M2を空にする。そして、読み出したハッシュ値h0,1とハッシュ値h2,3とを結合して結合ハッシュ値h0,1|h2,3とする。結合ハッシュ値h0,1|h2,3は、ハッシュ値h0,1の末尾とハッシュ値h2,3の先頭とをつなげたコード列である。そして、結合ハッシュ値h0,1|h2,3をハッシュ関数H()に与えて、ハッシュ値h0,3が算出される。ハッシュ値h0,3は、記憶領域M2のつぎに優先度が高い記憶領域M3に格納される。
(E)において、記憶領域M3には、ハッシュ値h0,3が格納されている。入力データf4が取り込まれると、ハッシュ関数H()により、ハッシュ値h4が算出される。ハッシュ値h4は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(F)において、記憶領域M1にはハッシュ値h4が格納されており、記憶領域M3にはハッシュ値h0,3が格納されている。入力データf5が取り込まれると、ハッシュ関数H()により、ハッシュ値h5が算出される。記憶領域M1には、すでにハッシュ値h4が格納済みである。
この場合、ハッシュ値h4を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h4とハッシュ値h5とを結合して結合ハッシュ値h4|h5とする。結合ハッシュ値h4|h5は、ハッシュ値h4の末尾とハッシュ値h5の先頭とをつなげたコード列である。そして、結合ハッシュ値h4|h5をハッシュ関数H()に与えて、ハッシュ値h4,5が算出される。ハッシュ値h4,5は、記憶領域M1のつぎに優先度が高い記憶領域M2に格納される。
図3−3は、第1の格納処理(その3)を示す説明図である。(G)において、記憶領域M2にはハッシュ値h4,5が格納されており、記憶領域M3にはハッシュ値h0,3が格納されている。入力データf6が取り込まれると、ハッシュ関数H()により、ハッシュ値h6が算出される。ハッシュ値h6は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(H)において、記憶領域M1にはハッシュ値h6が格納されており、記憶領域M2にはハッシュ値h4,5が格納されている。記憶領域M3には結合ハッシュ値h0,3が格納されている。入力データf7が取り込まれると、ハッシュ関数H()により、ハッシュ値h7が算出される。記憶領域M1には、すでにハッシュ値h6が格納済みである。
この場合、ハッシュ値h6を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h6とハッシュ値h7とを結合して結合ハッシュ値h6|h7とする。結合ハッシュ値h6|h7は、ハッシュ値h6の末尾とハッシュ値h7の先頭とをつなげたコード列である。そして、結合ハッシュ値h6|h7をハッシュ関数H()に与えて、ハッシュ値h6,7が算出される。
ところが、記憶領域M1のつぎに優先度が高い記憶領域M2には、すでにハッシュ値h4,5が格納済みである。この場合、ハッシュ値h4,5を記憶領域M2から読み出して記憶領域M2を空にする。そして、読み出したハッシュ値h4,5とハッシュ値h6,7とを結合して結合ハッシュ値h4,5|h6,7とする。結合ハッシュ値h4,5|h6,7は、ハッシュ値h4,5の末尾とハッシュ値h6,7の先頭とをつなげたコード列である。そして、結合ハッシュ値h4,5|h6,7をハッシュ関数H()に与えて、ハッシュ値h4,7が算出される。
ところが、記憶領域M2のつぎに優先度が高い記憶領域M3には、すでにハッシュ値h0,3が格納済みである。この場合、ハッシュ値h0,3を記憶領域M3から読み出して記憶領域M3を空にする。そして、読み出したハッシュ値h0,3とハッシュ値h4,7とを結合して結合ハッシュ値h0,3|h4,7とする。結合ハッシュ値h0,3|h4,7は、ハッシュ値h0,3の末尾とハッシュ値h4,7の先頭とをつなげたコード列である。そして、結合ハッシュ値h0,3|h4,7をハッシュ関数H()に与えて、ハッシュ値h0,7が算出される。そして、ハッシュ値h0,7は、記憶領域M3のつぎに優先度が高い記憶領域M4に格納される。
(I)において、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf8が取り込まれると、ハッシュ関数H()により、ハッシュ値h8が算出される。ハッシュ値h8は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
図3−4は、第1の格納処理(その4)を示す説明図である。(J)において、記憶領域M1にはハッシュ値h8が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf9が取り込まれると、ハッシュ関数H()により、ハッシュ値h9が算出される。記憶領域M1には、すでにハッシュ値h8が格納済みである。
この場合、ハッシュ値h8を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h8とハッシュ値h9とを結合して結合ハッシュ値h8|h9とする。結合ハッシュ値h8|h9は、ハッシュ値h8の末尾とハッシュ値h9の先頭とをつなげたコード列である。そして、結合ハッシュ値h8|h9をハッシュ関数H()に与えて、ハッシュ値h8,9が算出される。ハッシュ値h8,9は、記憶領域M1のつぎに優先度が高い記憶領域M2に格納される。
(K)において、記憶領域M2にはハッシュ値h8,9が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf10が取り込まれると、ハッシュ関数H()により、ハッシュ値h10が算出される。ハッシュ値h10は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(L)において、記憶領域M1にはハッシュ値h10が格納されており、記憶領域M2にはハッシュ値h8,9が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf11が取り込まれると、ハッシュ関数H()により、ハッシュ値h11が算出される。記憶領域M1には、すでにハッシュ値h10が格納済みである。
この場合、ハッシュ値h10を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h10とハッシュ値h11とを結合して結合ハッシュ値h10|h11とする。結合ハッシュ値h10|h11は、ハッシュ値h10の末尾とハッシュ値h11の先頭とをつなげたコード列である。そして、結合ハッシュ値h10|h11をハッシュ関数H()に与えて、ハッシュ値h10,11が算出される。
ところが、記憶領域M1のつぎに優先度が高い記憶領域M2には、すでにハッシュ値h8,9が格納済みである。この場合、ハッシュ値h8,9を記憶領域M2から読み出して記憶領域M2を空にする。そして、読み出したハッシュ値h8,9とハッシュ値h10,11とを結合して結合ハッシュ値h8|h11とする。結合ハッシュ値h8|h11は、ハッシュ値h8,9の末尾とハッシュ値h10,11の先頭とをつなげたコード列である。そして、結合ハッシュ値h8|h11をハッシュ関数H()に与えて、ハッシュ値h8,11が算出される。ハッシュ値h8,11は、記憶領域M2のつぎに優先度が高い記憶領域M3に格納される。
図3−5は、第1の格納処理(その5)を示す説明図である。(M)において、記憶領域M3にはハッシュ値h8,11が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf12が取り込まれると、ハッシュ関数H()により、ハッシュ値h12が算出される。ハッシュ値h12は、5個の記憶領域M1〜M5のうち優先度が最も高い記憶領域M1に格納される。
(N)において、記憶領域M1にはハッシュ値h12が格納されており、記憶領域M3にはハッシュ値h8,11が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。入力データf13が取り込まれると、ハッシュ関数H()により、ハッシュ値h13が算出される。記憶領域M1には、すでにハッシュ値h12が格納済みである。
この場合、ハッシュ値h12を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h12とハッシュ値h13とを結合して結合ハッシュ値h12|h13とする。結合ハッシュ値h12|h13は、ハッシュ値h12の末尾とハッシュ値h13の先頭とをつなげたコード列である。そして、結合ハッシュ値h12|h13をハッシュ関数H()に与えて、ハッシュ値h12,13が算出される。ッシュ値h12,13は、記憶領域M1のつぎに優先度が高い記憶領域M2に格納される。
(O)において、記憶領域M2には結合ハッシュ値h12,13が格納されており、記憶領域M3にはハッシュ値h8,11が格納されており、記憶領域M4にはハッシュ値h0,7が格納されている。最後の入力データf14が取り込まれると、ハッシュ関数H()により、ハッシュ値h14が算出される。ハッシュ値h14は、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
これにより、一連の入力データf0〜f14が取り込まれると、記憶領域M1にはハッシュ値h14が格納され、記憶領域M2にはハッシュ値h12,13が格納され、記憶領域M3にはハッシュ値h8,11が格納され、記憶領域M4にはハッシュ値h0,7が格納された状態となる。そして、第2の格納処理(第2のフェーズ)に移行する。
図4−1は、第2の格納処理(その1)を示す説明図である。(P)において、記憶領域群に格納されているハッシュ値h14,h12,13,h8,11,h0,7を他の記憶領域に退避させ、記憶領域群Mを空にする。退避先の記憶領域Nは、記憶領域群Mと同等のサイズであればよい。(Q)以降では、退避先の記憶領域Nから、記憶領域群Mで格納されていた記憶領域Mjの優先順位j順に取り込まれる。具体的には、ハッシュ値h14,h12,13,h8,11,h0,7の順に取り込まれることとなる。
(Q)では5個の記憶領域は空である。ハッシュ値h14が取り込まれると、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(R)において、記憶領域M1には、ハッシュ値h14が格納されている。ハッシュ値h12,13が取り込まれると、ハッシュ値h14を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h14とハッシュ値h12,13とを結合して結合ハッシュ値h12|h14とする。結合ハッシュ値h12,13|h14は、ハッシュ値h1213の末尾とハッシュ値h14の先頭とをつなげたコード列である。そして、結合ハッシュ値h12,13|h14をハッシュ関数H()に与えて、ハッシュ値h12,14が算出される。ハッシュ値h12,14は、記憶領域M1のつぎに優先度が高い記憶領域M2に格納される。
図4−2は、第2の格納処理(その2)を示す説明図である。(S)において、記憶領域M2には、ハッシュ値h12,14が格納されている。ハッシュ値h8,11が取り込まれると、5個の記憶領域のうち優先度が最も高い記憶領域M1に格納される。
(T)において、記憶領域M1にはハッシュ値h8,11が格納されており、記憶領域M2にはハッシュ値h12,14が格納されている。最後のハッシュ値h0,7が取り込まれると、ハッシュ値h8,11を記憶領域M1から読み出して記憶領域M1を空にする。そして、読み出したハッシュ値h8,11とハッシュ値h0,7とを結合して結合ハッシュ値h0,7|h8,11とする。結合ハッシュ値h0,7|h8,11は、ハッシュ値h0,7の末尾とハッシュ値h8,11の先頭とをつなげたコード列である。そして、結合ハッシュ値h0,7|h8,11をハッシュ関数H()に与えて、ハッシュ値h0,11が算出される。
ところが、記憶領域M1のつぎに優先度が高い記憶領域M2には、すでにハッシュ値h12,14が格納済みである。この場合、ハッシュ値h12,14を記憶領域M2から読み出して記憶領域M2を空にする。そして、読み出したハッシュ値h12,14とハッシュ値h0,11とを結合して結合ハッシュ値h0,11|h12,14とする。結合ハッシュ値h0,11|h12,14は、ハッシュ値h0,11の末尾とハッシュ値h12,14の先頭とをつなげたコード列である。
そして、結合ハッシュ値h0,11|h12,14をハッシュ関数H()に与えて、ハッシュ値h0,14が算出される。ハッシュ値h0,14は、記憶領域M2のつぎに優先度が高い記憶領域M3に格納される。退避先の記憶領域Nにはハッシュ値がなく、記憶領域群Mには単一のハッシュ値h0,14が残存するため、ハッシュ値h0,14がルートハッシュ値となる。
図5は、第1の格納処理および第2の格納処理の実行により生成されたハッシュツリーを示す説明図である。符号501〜504でそれぞれ囲まれた領域が、第1の格納処理で得られたハッシュツリーを示している。また、符号505で囲まれた領域が、第2の格納処理で得られたハッシュツリーを示している。
(電子署名装置100の機能的構成)
図6は、本実施の形態にかかる電子署名装置100の機能的構成を示すブロック図である。図6において、電子署名装置100は、取得部601と、演算部602と、判断部603と、格納部604と、設定部605と、選択部606と、決定部607とを含む構成である。この制御部となる機能(取得部601〜決定部607)は、具体的には、たとえば、図1に示したレジスタ106、メモリ102、ハードディスクドライブ103などの記憶装置に記憶されたプログラムをCPU101に実行させることにより、または、I/F104により、その機能を実現する。
取得部601は、連続的に入力されてくる一連の入力データf0〜f14を入力順に取得する機能を有する。具体的には、たとえば、動画像や音声などのストリーミングデータSTをGOP単位で分割した入力データ群f0〜f14をI/F104で順次取り込み、I/F104のバッファ107から入力順で出力されたデータを取り込む。
演算部602は、取得部601によって入力データfi(iはi番目の入力の意味)が取得される都度、入力データfiを一方向性関数に与えて入力データfiの固有値を演算する機能を有する。また、後述する設定部605によって設定された対象データを一方向性関数に与えて対象データの固有値を演算する機能を有する。対象データについては後述する。一方向性関数とは、与えられたデータ固有の特徴量(固有値)を出力する関数である。たとえば、ハッシュ関数H()である。ハッシュ関数H()は、与えられたデータ固有のハッシュ値を算出する。
判断部603は、優先順位が割り当てられている記憶領域群Mの中から選ばれた対象領域が空き領域か否かを判断する機能を有する。記憶領域群Mとは、演算部602から得られたハッシュ値を格納する複数の記憶領域M1〜M5である。たとえば、複数個のレジスタ106でもよく、メモリ102やハードディスクドライブ103においてアドレス指定された複数の記憶領域でもよい。対象領域とは、後述する選択部606によって選択された記憶領域Mjである。たとえば、図3−1の(A)に示したように、対象領域である記憶領域M1にはどのハッシュ値も格納されていないため、空であると判断する。一方、図3−1の(B)に示したように、対象領域である記憶領域M1にハッシュ値h0が格納済みであるため、空でないと判断する。
格納部604は、判断部603によって対象領域が空き領域であると判断された場合、演算部602によって演算された入力データfiまたは対象データの固有値を対象領域に格納する機能を有する。空き領域であれば、そのまま固有値を格納する。たとえば、図3−1の(A)に示したように、対象領域である記憶領域M1は空と判断されるため、ハッシュ値h0を格納する。一方、空き領域でない場合については、後述する。
設定部605は、判断部603によって対象領域が空き領域でないと判断された場合、対象領域内の格納済み固有値と入力データfiまたは対象データの固有値との結合固有値をあらたに対象データとして設定する機能を有する。具体的には、対象領域が空き領域でない場合は、格納済み固有値との2分木処理を実行する。
すなわち、現時点での対象データの固有値と対象領域内の格納済み固有値との結合固有値hx|hyを生成する。“hx|hy”(x,yは番号でx<y)は、固有値hxの末尾と固有値hyの先頭をつなげた符号列である。また、hx,yは結合固有値を一方向性関数に与えた場合に得られるあらたな固有値である。このように、結合固有値も対象データとなるため、演算部602に渡されてその固有値が演算されることとなる。
たとえば、図3−1の(B)に示したように、対象領域である記憶領域M1にはすでにハッシュ値h0が格納済みであるため、ハッシュ値h0とハッシュ値h1とを結合して結合ハッシュ値h0|h1を生成して、対象データに設定する。結合ハッシュ値h0|h1は対象データであるため、上述した演算部602に渡されてハッシュ値h0,1が算出される。
選択部606は、入力データfiの固有値が演算された場合、記憶領域群Mの中から最優先される記憶領域を対象領域として選択する機能を有する。具体的には、入力データfiの固有値が得られると、最も優先度が高い記憶領域が対象領域となる。
また、選択部606は、判断部603によって対象領域が空き領域でないと判断された場合、対象領域として選択された記憶領域の次に優先される記憶領域をあらたに対象領域として選択する機能を有する。これにより、次の格納先を確保することができる。たとえば、図3−1の(B)に示したように、対象領域である記憶領域M1にはすでにハッシュ値h0が格納済みであるため、次に優先度が高い記憶領域M2が対象領域に選択される。そして、対象領域である空の記憶領域M2にハッシュ値h0,1が格納されることとなる。
決定部607は、一連の入力データf0〜f14の取得後、記憶領域群Mに格納されている固有値の数に基づいて、一連の入力データf0〜f14に対する電子署名の生成元となる固有値を決定する機能を有する、具体的には、たとえば、記憶領域群Mに単一の固有値が残存する場合は、その単一の固有値がルートとなる。したがって、一連の入力データf0〜f14に対する電子署名の生成元となる。一方、固有値が複数残存している場合、ハッシュツリーが未完成である。この場合、第2の格納処理(図4−1および図4−2を参照)を実行することとなる。第2の格納処理への移行に際し、2通りの移行方法がある。
1つ目の移行方法は、図4−1および図4−2に示したように、記憶領域群Mとは異なる他の記憶領域を退避先の記憶領域Nとして、記憶領域群Mに格納されているハッシュ値群を退避先の記憶領域Nに移動させる。そして、記憶領域群Mの各記憶領域M1〜M5の優先度にしたがって、退避先の記憶領域Nから順次ハッシュ値を取り出す。
この場合、選択部606では、記憶領域群Mのうち優先度が最も高い記憶領域M1を対象領域に選択する。そして、判断部603では対象領域が空きであるか否かを判断し、空きであれば退避先の記憶領域から取り出したハッシュ値をそのまま格納する。空きでない場合、上述したように、格納済みハッシュ値との結合ハッシュ値を生成して対象データとする。
そして、次に優先度が高い記憶領域M2を対象領域に選択し、判断部603により、選択された対象領域が空きか否かを判断する。このあと、結合ハッシュ値をハッシュ関数H()に与えてあらたなハッシュ値を算出する。あらたに選択された対象領域(記憶領域M2)が空きであれば、あらたなハッシュ値が格納される。空きでなければ、対象領域の選択および空きの判断、結合ハッシュ値の生成、対象データの設定、格納を繰り返す。
2つ目の移行方法は、記憶領域群(以下、第1の記憶領域群)Mと同等の第2の記憶領域群Mを用意しておく。すなわち、第2の記憶領域群Mは、第1の記憶領域群Mと同数かつ同サイズの記憶領域を有し、第1の記憶領域群Mと同じように各記憶領域M1〜M5に優先順位が割り当てられている。この場合、取得部601では、第1の記憶領域群Mの中からハッシュ値が格納されている優先順位が最も高い記憶領域から順次ハッシュ値を取り出すこととなる。そして、選択部606は、第2の記憶領域群Mの中から対象領域を選択し、判断部603はその対象領域が空きか否かを判断し、格納部604は空きである場合にハッシュ値を格納することとなる。いずれの移行方法であっても、追加で利用される記憶領域は記憶領域群Mのサイズと同等であるため、省メモリ化を図ることができる。
(ルートハッシュ値生成処理手順)
図7は、本実施の形態にかかるルートハッシュ値生成処理手順を示すフローチャートである。まず、第1の格納処理を実行し(ステップS701)、第1の格納処理後のハッシュ値の数が単一であるか否かを判断する(ステップS702)。単一でない場合(ステップS702:No)、第2の格納処理を実行し(ステップS703)、再度、ハッシュ値の数が単一であるか否かを判断する(ステップS702)。単一でなければ(ステップS702:No)、単一になるまで第2の格納処理(ステップS703)を実行し続けることとなる。
一方、ステップS702において、単一である場合(ステップS702:Yes)、単一のハッシュ値をルートハッシュ値に決定し(ステップS704)、ルートハッシュ値と入力データ群とを関連付けて保存する(ステップS705)。これにより、ルートハッシュ値生成処理を終了する。
図8は、第1の格納処理(ステップS701)の詳細な処理手順を示すフローチャートである。まず、入力データfiの入力順を示す変数iをi=0、記憶領域Mjの優先度を示す変数jをj=1とし(ステップS801)、入力データfiがあるか否かを判断する(ステップS802)。入力データfiがある場合(ステップS802:Yes)、取得部601により、入力データfiを取得し(ステップS803)、演算部602により、入力データfiのハッシュ値hyを算出する(ステップS804)。そして、判断部603により、記憶領域Mjが空であるか否かを判断する(ステップS805)。
空である場合(ステップS805:Yes)、格納部604により、未格納ハッシュ値hyを記憶領域Mjに格納する(ステップS806)。そして、iをインクリメントし(ステップS807)、ステップS802に戻る。一方、ステップS805において、記憶領域Mjが空でない場合(ステップS805:No)、記憶領域Mjに格納されているハッシュ値hxを読み出して、当該ハッシュ値hxと未格納ハッシュ値hyとを結合して結合ハッシュ値hx|hyを生成する(ステップS808)。これにより、結合ハッシュ値hx|hyがあらたな対象データに設定される。そして、結合ハッシュ値hx|hyのハッシュ値を算出する(ステップS809)。
このあと、jをインクリメントすることで(ステップS810)、次に優先度が高い記憶領域を対象領域として選択する。そして、j>Jであるか否かを判断する(ステップS811)。Jは記憶領域の総数である。図3−1〜図4−2の場合は、J=5である。j>Jである場合(ステップS811:No)、ステップS805に戻る。一方、j>Jである場合(ステップS811:Yes)、未格納ハッシュ値hyを格納させる記憶領域がないため、エラー出力する(ステップS812)。これにより、一連の処理を終了する。また、ステップS802において、入力データfiがない場合(ステップS802:No)、ステップS702に移行する。
図9は、第2の格納処理(ステップS703)の詳細な処理手順を示すフローチャートである。まず、移行処理(上述した第1または第2の移行方法)を実行する(ステップS901)。つぎに、優先順位を示す変数kをk=J、j=1とする(ステップS902)。そして、優先順位kのハッシュ値があるか否かを判断する(ステップS903)。優先順位kのハッシュ値がない場合(ステップS903:No)、ステップS907に移行する。一方、優先順位kのハッシュ値がある場合(ステップS903:Yes)、取得部601により、優先順位kのハッシュ値を未格納ハッシュ値hyとして取得し(ステップS904)、記憶領域Mjが空か否かを判断する(ステップS905)。
空である場合(ステップS905:Yes)、未格納ハッシュ値hyを記憶領域Mjに格納する(ステップS906)。そして、ステップS907において、kをデクリメントし(ステップS907)、k<0であるか否かを判断する(ステップS908)。k<0である場合(ステップS908:Yes)、ステップS702に戻る。一方、k<0でない場合(ステップS908:No)、ステップS903に戻る。また、ステップS905において、記憶領域Mjが空でない場合(ステップS905:No)、記憶領域Mjに格納されているハッシュ値hxを読み出して、当該ハッシュ値hxと未格納ハッシュ値hyとを結合して結合ハッシュ値hx|hyを生成する(ステップS909)。
これにより、結合ハッシュ値hx|hyがあらたな対象データに設定される。そして、結合ハッシュ値hx|hyのハッシュ値を算出する(ステップS910)。このあと、jをインクリメントすることで(ステップS911)、次に優先度が高い記憶領域を対象領域として選択する。そして、j>Jであるか否かを判断する(ステップS912)。j>Jである場合(ステップS912:No)、ステップS905に戻る。一方、j>Jである場合(ステップS912:Yes)、未格納ハッシュ値hyを格納させる記憶領域がないため、エラー出力する(ステップS913)。これにより、一連の処理を終了する。
図10は、本実施の形態と図11に示した従来技術とを比較した図表である。図10では、従来技術における入力データ数をnとしている。図10において、本実施の形態では、逐次処理が可能であり、レジスタ/メモリ数、撮影(入力データ取り込み)中ハッシュ処理回数、撮影後ハッシュ処理回数が格段に減少している。このように、合計ハッシュ処理回数は同じでも、本実施の形態によれば、レジスタ/メモリ数の大幅削減と、撮影後の後処理の時間を大幅削減することができる。
なお、本実施の形態で説明したハッシュツリーの生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本電子署名プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本電子署名プログラムは、インターネット等のネットワーク109を介して配布してもよい。
符号の説明
100 電子署名装置
601 取得部
602 演算部
603 判断部
604 格納部
605 設定部
606 選択部
607 決定部

Claims (5)

  1. コンピュータを、
    連続的に入力されてくる一連の入力データを入力順に取得する取得手段、
    前記取得手段によって取得された入力データまたは対象データを一方向性関数に与えて前記入力データまたは前記対象データの固有値を演算する演算手段、
    優先順位が割り当てられている記憶領域群の中から選ばれた対象領域が空き領域か否かを判断する判断手段、
    前記判断手段によって前記対象領域が空き領域であると判断された場合、前記演算手段によって演算された前記入力データまたは前記対象データの固有値を前記対象領域に格納する格納手段、
    前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記入力データまたは前記対象データの固有値との結合固有値をあらたに前記対象データとして設定する設定手段、
    前記入力データの固有値が演算された場合、前記記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択する選択手段、
    前記一連の入力データの取得後、前記記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定する決定手段、
    として機能させることを特徴とする電子署名プログラム。
  2. 前記格納手段は、
    前記一連の入力データの取得後、前記記憶領域群に格納されている固有値の数が複数である場合、当該複数の固有値を前記記憶領域群から退避先となる他の記憶領域に移動させ、
    前記取得手段は、
    前記他の記憶領域に退避させられた前記複数の固有値を、当該固有値について前記記憶領域群に割り当てられていた優先順位に従って取得し、
    前記格納手段は、
    前記判断手段によって前記対象領域が空き領域であると判断された場合、前記取得手段によって前記優先順位に従って前記他の記憶領域から取得された固有値または前記演算手段によって演算された前記対象データの固有値を前記対象領域に格納し、
    前記設定手段は、
    前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記取得手段または前記演算手段によって得られた固有値との結合固有値をあらたに前記対象データとして設定し、
    前記選択手段は、
    前記記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択し、
    前記決定手段は、
    前記複数の固有値の取得後、前記記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定することを特徴とする請求項1に記載の電子署名プログラム。
  3. 前記取得手段は、
    前記記憶領域群(以下、「第1の記憶領域群」)と同一記憶領域数でかつ優先順位が割り当てられている第2の記憶領域群の中から選ばれた記憶領域を対象領域とし、前記一連の入力データの取得後、前記第1の記憶領域群に格納されている固有値の数が複数である場合、当該複数の固有値を前記第1の記憶領域群に割り当てられていた優先順位に従って取得し、
    前記格納手段は、
    前記判断手段によって前記対象領域が空き領域であると判断された場合、前記取得手段によって前記優先順位に従って前記第1の記憶領域群から取得された固有値または前記演算手段によって演算された前記対象データの固有値を前記対象領域に格納し、
    前記設定手段は、
    前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記取得手段または前記演算手段によって得られた固有値との結合固有値をあらたに前記対象データとして設定し、
    前記選択手段は、
    前記第2の記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択し、
    前記決定手段は、
    前記複数の固有値の取得後、前記第2の記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定することを特徴とする請求項1に記載の電子署名プログラム。
  4. 連続的に入力されてくる一連の入力データを入力順に取得する取得手段と、
    前記取得手段によって取得された入力データまたは対象データを一方向性関数に与えて前記入力データまたは前記対象データの固有値を演算する演算手段と、
    優先順位が割り当てられている記憶領域群の中から選ばれた対象領域が空き領域か否かを判断する判断手段と、
    前記判断手段によって前記対象領域が空き領域であると判断された場合、前記演算手段によって演算された前記入力データまたは前記対象データの固有値を前記対象領域に格納する格納手段と、
    前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記入力データまたは前記対象データの固有値との結合固有値をあらたに前記対象データとして設定する設定手段と、
    前記入力データの固有値が演算された場合、前記記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記判断手段によって前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択する選択手段と、
    前記一連の入力データの取得後、前記記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定する決定手段と、
    を備えることを特徴とする電子署名装置。
  5. コンピュータが、
    連続的に入力されてくる一連の入力データを入力順に取得する取得工程と、
    前記取得工程によって取得された入力データまたは対象データを一方向性関数に与えて前記入力データまたは前記対象データの固有値を演算する演算工程と、
    優先順位が割り当てられている記憶領域群の中から選ばれた対象領域が空き領域か否かを判断する判断工程と、
    前記判断工程によって前記対象領域が空き領域であると判断された場合、前記演算工程によって演算された前記入力データまたは前記対象データの固有値を前記対象領域に格納する格納工程と、
    前記判断工程によって前記対象領域が空き領域でないと判断された場合、前記対象領域内の格納済み固有値と前記入力データまたは前記対象データの固有値との結合固有値をあらたに前記対象データとして設定する設定工程と、
    前記入力データの固有値が演算された場合、前記記憶領域群の中から最優先される記憶領域を前記対象領域として選択するとともに、前記判断工程によって前記対象領域が空き領域でないと判断された場合、前記対象領域として選択された記憶領域の次に優先される記憶領域をあらたに前記対象領域として選択する選択工程と、
    前記一連の入力データの取得後、前記記憶領域群に格納されている固有値の数に基づいて、前記一連の入力データに対する電子署名の生成元となる固有値を決定する決定工程と、
    を実行することを特徴とする電子署名方法。
JP2011501424A 2009-02-27 2009-02-27 電子署名プログラム、電子署名装置、および電子署名方法 Active JP5174233B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/053718 WO2010097942A1 (ja) 2009-02-27 2009-02-27 電子署名プログラム、電子署名装置、および電子署名方法

Publications (2)

Publication Number Publication Date
JPWO2010097942A1 JPWO2010097942A1 (ja) 2012-08-30
JP5174233B2 true JP5174233B2 (ja) 2013-04-03

Family

ID=42665170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011501424A Active JP5174233B2 (ja) 2009-02-27 2009-02-27 電子署名プログラム、電子署名装置、および電子署名方法

Country Status (4)

Country Link
US (1) US8566597B2 (ja)
EP (1) EP2402882A4 (ja)
JP (1) JP5174233B2 (ja)
WO (1) WO2010097942A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378535B2 (en) * 2013-08-29 2016-06-28 Advanced Micro Devices, Inc. Efficient duplicate elimination

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309569A (en) * 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
JP2005032130A (ja) * 2003-07-10 2005-02-03 Sony Corp データ管理装置、およびデータ管理方法、並びにコンピュータ・プログラム
WO2006132143A1 (ja) * 2005-06-10 2006-12-14 Matsushita Electric Industrial Co., Ltd. 認証システム、認証装置、端末装置及び検証装置
WO2008026238A1 (fr) * 2006-08-28 2008-03-06 Mitsubishi Electric Corporation Système de traitement de données, procédé de traitement de données, et programme
JP2008178048A (ja) * 2007-01-22 2008-07-31 Fujitsu Ltd 電子署名プログラム、該プログラムを記録した記録媒体、電子署名装置、および電子署名方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
NZ500194A (en) * 1997-03-21 2000-12-22 Canal Plus Sa Broadcasting randomized subscriber entitlement management messages for digital television
US6128623A (en) * 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7996679B2 (en) * 2005-10-05 2011-08-09 International Business Machines Corporation System and method for performing a trust-preserving migration of data objects from a source to a target
JP4622811B2 (ja) * 2005-11-04 2011-02-02 株式会社日立製作所 電子文書の真正性保証システム
US8131998B2 (en) * 2007-03-05 2012-03-06 George Mason Intellectual Properties, Inc. Transparent authentication of continuous data streams
JP4584300B2 (ja) * 2007-12-19 2010-11-17 富士通株式会社 電子署名プログラム、コンピュータにより読み取り可能な記録媒体、電子署名装置、電子署名方法
US8572409B2 (en) * 2008-09-26 2013-10-29 Stephen P. Spackman Method and apparatus for non-redundant encrypted storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309569A (en) * 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
JP2005032130A (ja) * 2003-07-10 2005-02-03 Sony Corp データ管理装置、およびデータ管理方法、並びにコンピュータ・プログラム
WO2006132143A1 (ja) * 2005-06-10 2006-12-14 Matsushita Electric Industrial Co., Ltd. 認証システム、認証装置、端末装置及び検証装置
WO2008026238A1 (fr) * 2006-08-28 2008-03-06 Mitsubishi Electric Corporation Système de traitement de données, procédé de traitement de données, et programme
JP2008178048A (ja) * 2007-01-22 2008-07-31 Fujitsu Ltd 電子署名プログラム、該プログラムを記録した記録媒体、電子署名装置、および電子署名方法

Also Published As

Publication number Publication date
EP2402882A1 (en) 2012-01-04
WO2010097942A1 (ja) 2010-09-02
US8566597B2 (en) 2013-10-22
JPWO2010097942A1 (ja) 2012-08-30
EP2402882A4 (en) 2014-09-17
US20110314291A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
JP4746640B2 (ja) 動的イメージのモーション遷移処理方法とそのシステム、及び、そのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP6429588B2 (ja) 画像処理装置及び画像処理方法
JPWO2012105593A1 (ja) データフローグラフ処理装置、データフローグラフ処理方法およびデータフローグラフ処理プログラム
JP4876051B2 (ja) 画像処理装置及びその制御方法
JP5174233B2 (ja) 電子署名プログラム、電子署名装置、および電子署名方法
USRE45300E1 (en) Context-adaptive variable length coder with simultaneous storage of incoming data and generation of syntax elements
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
JP4045823B2 (ja) 画像処理装置および画像処理方法
JP4128439B2 (ja) 配列圧縮方法
JP2010097346A (ja) 画像処理装置、プログラム及びシステム
JP6951168B2 (ja) 画像処理装置及びその制御方法及びプログラム
JP2021197082A5 (ja) 情報処理装置、情報処理方法及びプログラム
KR102573202B1 (ko) 연산 회로, 그것의 연산 방법 및 뉴럴 네트워크 장치
JP6453685B2 (ja) 演算制御装置、演算制御方法及び演算制御プログラム
JP4345273B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US9456191B2 (en) Reproduction apparatus and reproduction method
JP2004104773A5 (ja)
JP2009089179A (ja) エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
WO2015037265A1 (ja) データ圧縮方法及びその装置並びにそのプログラム
JP6631516B2 (ja) 情報処理装置、ベクトルデータ処理方法、及び、プログラム
JP2014026575A (ja) テスト装置、テスト方法及びテストプログラム
JP5521501B2 (ja) 画像処理装置、および、画像処理方法
JP3328211B2 (ja) データ列制御装置
US20210089501A1 (en) Compression System with Longest Match Processing for Generating Compressed Data
TWI291648B (en) Method and device for processing digital data

Legal Events

Date Code Title Description
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: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121227

R150 Certificate of patent or registration of utility model

Ref document number: 5174233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350