JP4793268B2 - 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム - Google Patents

共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム Download PDF

Info

Publication number
JP4793268B2
JP4793268B2 JP2006548825A JP2006548825A JP4793268B2 JP 4793268 B2 JP4793268 B2 JP 4793268B2 JP 2006548825 A JP2006548825 A JP 2006548825A JP 2006548825 A JP2006548825 A JP 2006548825A JP 4793268 B2 JP4793268 B2 JP 4793268B2
Authority
JP
Japan
Prior art keywords
block
unit block
cipher
random number
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.)
Active
Application number
JP2006548825A
Other languages
English (en)
Other versions
JPWO2006064763A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006548825A priority Critical patent/JP4793268B2/ja
Publication of JPWO2006064763A1 publication Critical patent/JPWO2006064763A1/ja
Application granted granted Critical
Publication of JP4793268B2 publication Critical patent/JP4793268B2/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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムに関し、特に、安全性の高い暗号処理と、高速な暗号処理と、の組み合せを用いて、大きなブロックサイズに対するブロック暗号を行う共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムに関するものである。
近年、ブロック暗号やハッシュ関数などの暗号処理を暗号部品とし、新たな暗号を構成するアプローチが数多く知られている。
例えば、ファイル暗号では、暗号化データのセクタ単位での処理を容易とするために、標準的なブロックサイズ(128bitなど)のブロック暗号を用いて、セクタのサイズに対応した、より大きなブロックサイズ(512bitなど)のブロック暗号を構成する研究が行われている。
通常、このような暗号部品の組み合せは、該暗号部品の選択平文攻撃(Chosen Plain text Attack;CPA)への安全性が、該暗号部品により新たに構成される暗号の十分な安全性を確保するために必要とされてきた。なお、新たに構成される暗号の十分な安全性とは、新たに構成される暗号がブロック暗号の場合には、選択平文攻撃への安全性、もしくは、選択平文/暗号文攻撃への安全性を示し、新たに構成される暗号がストリーム暗号の場合には、(初期ベクトルを攻撃者が選択できるというモデルのもとでの)選択平文攻撃への安全性を示している。
なお、選択平文攻撃に安全な暗号部品のみを用いた方法の場合には、新たに構成される暗号のスループット(単位時間当たりの処理量)が、暗号部品のスループットを上回ることはできない。
これに対し、選択平文攻撃に安全な暗号部品のみを用いるのではなく、選択平文攻撃に安全な暗号部品と既知平文攻撃(Known Plain text Attack;KPA)に安全な暗号部品とを組み合わせる方法がある(例えば、特許文献1、非特許文献1参照)。
なお、上記特許文献1、上記非特許文献1は、ブロック暗号の出力を、ハッシュ関数やストリーム暗号で拡大することによりストリーム暗号を構成するものである。なお、上記特許文献1には、選択平文攻撃に安全なブロック暗号と、既知平文攻撃に安全なハッシュ関数やストリーム暗号と、を用いれば、新たに構成されるストリーム暗号は安全である旨が開示されている。
既知平文攻撃は、選択平文攻撃より弱いクラスの攻撃である。既知平文攻撃に安全な暗号部品は、安全性への要求が弱いため、選択平文攻撃に安全な暗号部品よりも高速に動作することが期待できる。さらに、上記特許文献1の手法において、選択平文攻撃に安全なブロック暗号と、既知平文攻撃に安全なハッシュ関数やストリーム暗号と、を用いれば、新たに構成される暗号のスループットを、既知平文攻撃に安全な暗号部品のスループットとほぼ同等にすることが可能となる。
なお、選択平文攻撃に対して安全な暗号部品をP1、既知平文攻撃に対して安全な暗号部品をP2とする。
また、選択平文攻撃に対して安全な暗号部品P1の鍵をK1とし、既知平文攻撃に対して安全な暗号部品P2の互いに独立なt個の鍵(tは、任意の正の整数)をそれぞれK2_1,K2_2,...,K2_tとする。
また、暗号Pi(iは1または2)で鍵Kを用いて平文mを暗号化するとき、mの暗号文をPi[k](m)で表すとする。
この条件にて上記特許文献1の方式におけるストリーム暗号では、1ブロック分の鍵ストリームGは、以下の(式1)にて表されることになる。
G=(P2[K2_1](Y),P2[K2_2](Y),...,P2[K2_t](Y))・・・(式1)
但し、Yは、初期入力がc、鍵がK1のときP1の出力P1[K1](c)を表す。
また、上記(式1)の代わりに、非特許文献2に開示されている方式を適用することも可能である。これは以下の(式1’)にて表されることになる。
G_{1,1}○(G_[2,2]○(G_[3,4]…G_[d,2^(d-1)])...)(Y)・・・(式1')
ただし、dはlog_[2](t)−1以上の最小の正整数であり、i=1,2,...,dについてG_[i]は、P2の2つの鍵を用いた1ブロック入力2ブロック出力であり、G_[i](X)=(P2[K2_2i-1](X),P2[K2_2i](X))という処理を行う。
G_[i,2^(i-1)]は、2^(i-1)ブロック入力2^(i)ブロック出力であり、全ての入力ブロックへG_[i]を適用し、それぞれの結果を連結して出力する処理である。全体の出力は、各G_[i,2^(i-1)]の出力を連結する。なお、図8にP2の鍵を4つ使用した場合を示す。また、○は関数の合成を表す演算子であり、ある2つの関数FとGとについて、F○Gは、F○G(X)=G(F(X))という合成関数を表す。ここでは、(式1)と同様に(式1')のYをP1[K1](c)としたモードを、擬似ランダムツリーモード(Pseudorandom Tree mode,PRTモードと略す)と呼ぶ。
P1の出力Yをt倍にしていることから、以後はtを拡大率と呼ぶ。なお、初期入力cの生成方法はいくつか考えられるが、例えば、初期値を1とし、1ブロック分の鍵ストリーム生成の度に、カウントアップする変数をcとする方法がある。
上記特許文献1の方式は、1ブロック分の入力に対してtブロック分の出力を行う暗号処理に関するものであるが、同様の処理はP1のみを用いて行うことも可能である。これは非特許文献3に開示されている修正カウンターモード、もしくは、修正OFB(Output Feed Back)モードを使えばよいことになる。なお、P1を用いた修正カウンターモードを(式2)に示し、P1を用いた修正OFBモードを(式3)に示す。
(式2)
入力xについて、(P1(P1(x)+c_1),P1(P1(x)+c_2),...,P1(P1(x)+c_t)))、を出力。
但し、c_1,...,c_tは、t個のそれぞれ互いに異なる定数とする。
(式3)
入力xについて、(P1(P1(x)),P1(P1(x)+y_1),...,P1(P1(x)+y_t-1)、を出力。
但し、y_1=P1(P1(x)),y_2=P1(P1(x)+y_1),...,y_t-1=P1(P1(x)+y_t-2)を満たすものとする。
なお、修正カウンターモードや修正OFBモードはP1のみの暗号部品を用いて、P2という追加の暗号部品を必要としないため簡素化を図れることになるが、その代わりに、修正カウンターモードや修正OFBモードのスループットは、P1の暗号部品のスループットよりも高速にはならないことになる。
なお、本発明より先に出願された他の技術文献として、入力データの暗号化段階を少なくとも2つの段階で構成し、各暗号化段階で所定バイト長のブロック単位で暗号分ブロック連鎖モードを用いて暗号化し、かつ最初の暗号化段階では入力データに依存しない固定の初期化ベクトルを用い、次の暗号化段階以降では前の暗号化手段における1つのブロックの暗号結果を初期化ベクトルとして用い、大きなデータをブロック化して暗号化する際に、元のデータが推測されるのを困難にすることを可能とするブロック暗号方法及び複合方法がある(例えば、特許文献2参照)。
また、平文Mをr(rは2以上の整数)個の分割平文に分割し、r個の分割平文のうちのn個(n<r)の分割平文をn個の暗号文に暗号化し、残りの(r−n)個の分割平文と前記n個の暗号文とを出力暗号文として出力し、高速で簡易な暗号系を構成できるものがある(例えば、特許文献3参照)。
また、ハッシュ関数について開示されたものがある(例えば、非特許文献4参照)。
また、AES(Advanced Encryption Standard)などの選択平文/暗号文攻撃に安全なブロック暗号について開示されたものがある(例えば、非特許文献5参照)。
また、ストリーム暗号SEALについて開示されたものがある(例えば、非特許文献6参照)。
米国特許第6104811号明細書 特開2002−108205号公報 特開2002−175008号公報 アイエロ、ラヤゴパラン、アンド ベンカテサン、ハイスピード スードランダム ナンバー ジェネレーション ウィズ スモール メモリー、1999年3月、ファスト ソフトウェア エンクリプション、シックス インターナショナル ワークショップ、エフエスイー99、レクチャー ノーツ イン コンピュータ サイエンス ボリューム 1636 (W. Aiello, R. Rajagopalan and V. Venkatesan, High-Speed Pseudorandom Number Generation With Small Memory, Fast Software Encryption, 6th International Workshop, FSE'99, Lecture Notes in Computer Science; Vol. 1636, Mar. 1999) イバン ダンガード、アンド ジェスパー ブース ニールセン、2002年8月、「エクスパンディング スードランダム ファンクションズ; オワ: フロム ノウンープレインテキスト セキュリティ トゥ チョーズンープレインテキスト セキュリティ」、2002年、アドバンシズ イン クリプトロジー、クリプト'02、レクチャー ノーツ イン コンピュータ サイエンス ボリューム2442(Ivan Damgard and Jusper Buus Nielsen, Expanding Pseudorandom Functions; or: From Known-Plaintext Security to Chosen-Plaintext Security, Advances in Cryptology- CRYPTO'02, LNCS 2442, 2002.) アンリ ギルバート、ザ セキュリティー オブ "ワン−ブロック−トゥ−メニー"モーズ オブ オペレーション、2003年2月、ファスト ソフトウェア エンクリプション、テンス インターナショナル ワークショップ、エフエスイー03、レクチャー ノーツ イン コンピュータ サイエンス ボリューム 2887(H. Gilbert, The Security of ``One-Block-to-Many" Modes of Operation, Fast Software Encryption, 10th International Workshop, FSE '03, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003) シャイ ハレビ アンド ユーゴ クラウジック、エムエムエイチ:ソフトウェア メッセージ オウセンティケイション イン ザ ギガビット パー セコンド レーツ、1997年2月、ファスト ソフトウェア エンクリプション、フォース インターナショナル ワークショップ、エフエスイー97、レクチャー ノーツ イン コンピュータ サイエンス ボリューム 1267(S. Halevi and H. Krawczyk, MMH:Software Message Authentication in the Gbit/second rates, Fast Software Encryption, 4th International Workshop, FSE '97, Lecture Notes in Computer Science; Vol. 1267, Feb. 1997) デーモン アンド ライマン、エーイーエス プロポーザル:ラインデール、エーイーエス サブミッション、1998.(J. Daemen, V. Rijmen, "AES Proposal: Rijndael", AES submission, 1998.) フィル ロガウェイ アンド ダン カッパースミス、ア ソフトウェア−オプティマイズド エンクリプション アルゴリズム、1993年2月、ファスト ソフトウェア エンクリプション、ファースト インターナショナル ワークショップ、エフエスイー97、レクチャー ノーツ イン コンピュータ サイエンス ボリューム 809(P. Rogaway and D. Coppersmith, A Software-Optimized Encryption Algorithm, Fast Software Encryption, 1st Internatioanl Workshop, FSE '93, Lecture Notes in Computer Science; Vol. 809, Feb. 1993.)
なお、上記特許文献1には、ブロック暗号の出力を、ハッシュ関数やストリーム暗号で拡大することによりストリーム暗号を構成することについては開示されているが、選択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合せた安全なブロック暗号の構築方法については何ら考慮されたものではない。
また、上記特許文献1に記載されている方式では、拡大率を大きく設定したときの実装面の負担が大きくなる虞がある。その理由は、上記特許文献1に記載されている方式は、拡大率に応じて線形に鍵が長くなるからである。このような場合、適当な鍵スケジューリングを採用し、短い秘密鍵を拡大してから使うことになるが、これは鍵スケジューリングによる事前処理の計算量増加を意味することになる。また、暗号化の際に必要とするメモリ量も増加することになる。
本発明は上記事情に鑑みてなされたものであり、選択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせるか、もしくは、選択平文/暗号文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、安全なブロック暗号を提供する共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムを提供することを目的とするものである。
かかる目的を達成するために、本発明は以下の特徴を有することとする。
本発明にかかる共通鍵ブロック暗号化装置は、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ手段と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算手段と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、加算結果と、を合わせた出力結果を出力する第2のフェイステル型ハッシュ手段と、出力結果を暗号文として出力する暗号文出力手段と、を有することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置は、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ手段と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算手段と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力手段と、を有することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号による修正カウンターモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号による修正OFBモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化装置において、単位ブロック暗号化手段は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成手段は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法は、情報処理装置において行う共通鍵ブロック暗号化方法であって、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ工程と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化工程と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算工程と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、加算結果と、を出力する第2のフェイステル型ハッシュ工程と、第2の加算結果と、加算結果と、を基に暗号文として出力する暗号文出力工程と、を、情報処理装置が行うことを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法は、情報処理装置において行う共通鍵ブロック暗号化方法であって、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ工程と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化工程と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算工程と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力工程と、を、情報処理装置が行うことを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号による修正カウンターモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号による修正OFBモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化方法において、単位ブロック暗号化工程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成工程は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムは、情報処理装置において実行させる共通鍵ブロック暗号化プログラムであって、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ処理と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化処理と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算処理と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、加算結果と、を出力する第2のフェイステル型ハッシュ処理と、第2の加算結果と、加算結果と、を基に暗号文として出力する暗号文出力処理と、を、情報処理装置において実行させることを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムは、情報処理装置において実行させる共通鍵ブロック暗号化プログラムであって、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する第1のフェイステル型ハッシュ処理と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化処理と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算処理と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力処理と、を、情報処理装置において実行させることを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正カウンターモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正OFBモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
また、本発明にかかる共通鍵ブロック暗号化プログラムにおいて、単位ブロック暗号化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、疑似乱数生成処理は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱数を生成することを特徴とするものである。
本発明にかかる共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムは、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する。そして、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する。そして、単位ブロック中間暗号文を基に中間乱数を生成し、該生成した中間乱数と、第1のブロックと、を加算し、加算結果を出力する。そして、その加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、加算結果と、を出力する。そして、第2の加算結果と、加算結果と、を基に暗号文として出力することになる。これにより、選択平文/暗号文攻撃に安全にすることが可能となる。
また、暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第1のブロックと、を出力する。そして、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する。そして、単位ブロック中間暗号文を基に中間乱数を生成し、該生成した中間乱数と、第1のブロックと、を加算し、加算結果を出力する。そして、その加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力することになる。これにより、選択平文攻撃に安全にすることが可能となる。
第1の実施形態における共通鍵ブロック暗号化装置の構成を示すブロック図である。 第1の実施形態における共通鍵ブロック暗号化装置の処理動作を示すフロチャートである。 第2の実施形態における共通鍵ブロック暗号化装置の構成を示すブロック図である。 第2の実施形態における共通鍵ブロック暗号化装置の処理動作を示すフロチャートである。 第3の実施形態における共通鍵ブロック暗号化装置の具備する疑似乱数生成手段(104)における順序つきツリーモードの処理動作を示すフロチャートである。 t=3、r=3とした場合の疑似乱数生成手段(104)の構成を示すブロック図である。 P2の鍵を4つ使う場合のERTモードの構成を示すブロック図である。 P2の鍵を4つ使う場合のPRTモードの構成を示すブロック図である。
符号の説明
101、201 平文入力手段
102、202 第1のフェイステル型ハッシュ手段
103、203 単位ブロック暗号化手段
104、204 擬似乱数生成手段
105、205 加算手段
106 第2のフェイステル型ハッシュ手段
107、206 暗号文出力手段
まず、図1、図3を参照しながら、本実施形態における共通鍵ブロック暗号化装置について説明する。
本実施形態における第1の共通鍵ブロック暗号化装置は、図1に示すように、暗号化される平文を入力する平文入力手段(101)と、平文を、PAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロックと、PAブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、PBブロックと、を出力する第1のフェイステル(Feistel)型ハッシュ手段(102)と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段(103)と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段(104)と、中間乱数と、PBブロックと、を加算し、加算結果を出力する加算手段(105)と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、加算結果と、を合わせた出力結果を出力する第2のフェイステル型ハッシュ手段(106)と、出力結果を暗号文として出力する暗号文出力手段(107)と、を有することを特徴とするものである。これにより、選択平文/暗号文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、安全なブロック暗号を提供することが可能となる。また、第2の共通鍵ブロック暗号化装置は、図3に示すように、暗号化される平文を入力する平文入力手段(201)と、平文を、PAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロックと、PAブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、PBブロックと、を出力する第1のフェイステル型ハッシュ手段(202)と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段(203)と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段(204)と、中間乱数と、第1のブロックと、を加算し、加算結果を出力する加算手段(205)と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力手段(206)と、を有することを特徴とするものである。これにより、選択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、安全なブロック暗号を提供することが可能となる。なお、ブロック暗号に求められる安全性とは、選択平文攻撃への安全性か、選択平文攻撃と選択暗号文攻撃とを組み合わせた選択平文/暗号文攻撃への安全性であり、どちらが必要かは利用目的により異なるが、第1の共通鍵ブロック暗号化装置は、単位ブロック暗号化手段(103)が選択平文/暗号文攻撃に安全で、疑似乱数生成手段(104)が選択平文攻撃に安全であれば、選択平文/暗号文攻撃に安全にすることが可能となる。また、第2の共通鍵ブロック暗号化装置は、選択平文攻撃に安全にすることが可能となる。以下、添付図面を参照しながら、本実施形態における共通鍵ブロック暗号化装置について詳細に説明する。
(第1の実施形態)
まず、図1を参照しながら、第1の実施形態における共通鍵ブロック暗号化装置の構成について説明する。なお、図1は、第1の実施形態における共通鍵ブロック暗号化装置の構成を示すブロック図である。
第1の実施形態における共通鍵ブロック暗号化装置は、平文入力手段(101)と、第1のフェイステル型ハッシュ手段(102)と、単位ブロック暗号化手段(103)と、擬似乱数生成手段(104)と、加算手段(105)と、第2のフェイステル型ハッシュ手段(106)と、暗号文出力手段(107)と、を有して構成される。
なお、本実施形態における共通鍵ブロック暗号化装置は、CPUとメモリとディスクとにより実現することは可能である。共通鍵ブロック暗号化装置の各手段は、上記各手段を実行するためのプログラムをディスクに格納し、該格納したプログラムをCPUが実行することで実現することになる。
次に、共通鍵ブロック暗号化装置を構成する各手段について説明する。
<平文入力手段101>
平文入力手段(101)は、暗号化される対象となる平文を入力するものである。例えば、キーボードなどの文字入力装置により実現されることになる。
<第1のフェイステル型ハッシュ手段102>
第1のフェイステル型ハッシュ手段(102)は、平文入力手段(101)から入力された平文をPAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロックと、PAブロックと、を加算することになる。そして、第1のフェイステル型ハッシュ手段(102)は、ハッシュ関数により圧縮したPBブロックと、ハッシュ関数により圧縮していないPAブロックとの和と、ハッシュ関数により圧縮する前のPBブロックと、を連結して出力することになる。
例えば、平文入力手段(101)から入力された平文を、二つのブロック(PA,PB)で表し、ハッシュ関数をH(x)と表した場合、第1のフェイステル型ハッシュ手段(102)は、平文入力手段(101)から入力された平文の一部(PB)をハッシュ関数H(x)により圧縮し、該圧縮した一部の平文H(PB)と、平文入力手段(101)から入力された他の部分の平文(PA)と、の和(PA+H(PB))と、ハッシュ関数H(x)により圧縮する前の平文(PB)と、を連結して外部に出力することになる。これにより、第1のフェイステル型ハッシュ手段(102)は、(PA+H(PB),PB)の出力文を外部に出力することになる。なお、第1のフェイステル型ハッシュ手段(102)から出力するPA+H(PB)を単位ブロック中間文と称す。また、+記号は加算を表し、PA、PBとも2のべき乗の空間の要素ならば、+は、排他的論理和処理と一致することになる。但し、ハッシュ関数Hは、almost universal XORであることが必要となる。これは、ハッシュ関数Hへの異なる2つの入力について、それぞれに対するハッシュ関数Hの出力の和がほぼ一様に分布することを意味する。このようなハッシュ関数Hは、一般にユニバーサルハッシュ関数と呼ばれ、例えば、非特許文献4に開示されているMultimodular Hash Functionを用いることで実現することが可能となる。
<単位ブロック暗号化手段103>
単位ブロック暗号化手段(103)は、第1のフェイステル型ハッシュ手段(102)から入力された単位ブロック中間文の暗号文である単位ブロック中間暗号文を生成することになる。なお、単位ブロック中間暗号文は、非特許文献5に開示されているAES(Advanced Encryption Standard)などの選択平文/暗号文攻撃に安全なブロック暗号により生成することが可能である。
<疑似乱数生成手段104>
擬似乱数生成手段(104)は、単位ブロック暗号化手段(103)から出力される単位ブロック中間暗号文を基に、中間乱数を生成することになる。
第1の実施形態における擬似乱数生成手段(104)は、選択平文攻撃に安全であることが求められる。すなわち、攻撃者が任意に単位ブロック中間暗号文を選択し、該選択した単位ブロック中間暗号文を基に、中間乱数を生成した際に、該生成した中間乱数と、真の乱数と、の判別が困難となればよい。なお、第1の実施形態における疑似乱数生成手段(104)は、上記特許文献1に開示された手法を使用し、選択平文攻撃に安全な暗号処理と、既知平文攻撃に安全な暗号処理と、を組み合わせることで中間乱数を生成することが可能となる。選択平文/暗号文攻撃に安全ならば、選択平文攻撃に安全なので、単位ブロック暗号化手段(103)で用いるブロック暗号を選択平文攻撃に安全な暗号部品として上記特許文献1に開示された手法において適用することが可能となる。
<加算手段105>
加算手段(105)は、疑似乱数生成手段(104)において生成された中間乱数と、第1のフェイステル型ハッシュ手段(102)から出力される平文の一部(PBブロック)と、の加算処理を行い、該加算処理を行った加算値を出力することになる。
<第2のフェイステル型ハッシュ手段106>
第2のフェイステル型ハッシュ手段(106)は、加算手段(105)から出力された加算値をハッシュ関数に入力し、ハッシュ値を求め、該求めたハッシュ値と、単位ブロック暗号化手段(103)から出力される単位ブロック中間暗号文と、を加算し、その加算結果と、加算手段(105)から出力された加算値と、を連結して出力結果を出力することになる。なお、第2のフェイステル型ハッシュ手段(106)は、第1のフェイステル型ハッシュ手段(102)と同様に実現することは可能である。
<暗号文出力手段107>
暗号文出力手段(107)は、第2のフェイステル型ハッシュ手段(102)から入力された出力結果を暗号文として出力するものである。この暗号文出力手段(107)は、コンピュータディスプレイやプリンタなどで実現することが可能である。
(共通鍵ブロック暗号化装置における動作の説明)
次に、図2を参照しながら、図1に示す第1の実施形態における共通鍵ブロック暗号化装置の処理動作について説明する。
まず、平文入力手段(101)は、暗号化される平文(PAブロック、PBブロック)を第1のフェイステル型ハッシュ手段(102)に入力することになる(ステップA1)。
第1のフェイステル型ハッシュ手段(102)は、平文入力手段(101)から入力された平文(PAブロック、PBブロック)をPAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロック(H(PB))と、PAブロック(PA)と、を加算し(PA+H(PB))、単位ブロック中間文を作成することになる(ステップA2)。そして、第1のフェイステル型ハッシュ手段(102)は、単位ブロック中間文と、ハッシュ関数により圧縮する前のPBブロックと、を連結して出力することになる。なお、第1のフェイステル型ハッシュ手段(102)は、単位ブロック中間文を、単位ブロック暗号化手段(103)に出力し、ハッシュ関数により圧縮する前のPBブロックを、加算手段(105)に出力することになる。
次に、単位ブロック暗号化手段(103)は、第1のフェイステル型ハッシュ手段(102)から入力された単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、該生成した単位ブロック中間暗号文を、疑似乱数生成手段(104)と、第2のフェイステル型ハッシュ手段(106)と、に出力することになる(ステップA3)。
疑似乱数生成手段(104)は、単位ブロック暗号化手段(103)から入力された単位ブロック中間暗号文を基に中間乱数を生成し、該生成した中間乱数を加算手段(105)に出力する(ステップA4)。
加算手段(105)は、疑似乱数生成手段(104)から入力された中間乱数と、第1のフェイステル型ハッシュ手段(102)から入力されたPBブロックと、の加算処理を行い、該加算処理を行った加算値を第2のフェイステル型ハッシュ手段(102)に出力することになる(ステップA5)。
第2のフェイステル型ハッシュ手段(106)は、加算手段(105)から入力された中間乱数と、PBブロックと、の加算値を、ハッシュ関数に代入し、加算値のハッシュ値H2の計算を行う(ステップA6)。
次に、第2のフェイステル型ハッシュ手段(106)は、上記計算したハッシュ値H2と、単位ブロック暗号化手段(103)から入力された単位ブロック中間暗号文と、の加算処理を行い、暗号文を生成し(ステップA7)、該生成した暗号文を暗号文出力手段(107)に出力することになる。暗号文出力手段(107)は、第2のフェイステル型ハッシュ手段(106)から入力された暗号文を出力することになる(ステップA8)。
このように、第1の実施形態における共通鍵ブロック暗号化装置は、暗号化される平文を入力し、該入力された平文をPAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロック(H(PB))と、PAブロック(PA)と、を加算し、単位ブロック中間文を生成することになる(PA+H(PB))。そして、上記処理により生成した単位ブロック中間文(PA+H(PB)に暗号化を施し、単位ブロック中間暗号文を生成し、該生成した単位ブロック中間暗号文を基に中間乱数を生成することになる。次に、上記生成した中間乱数と、PBブロックと、を加算し、加算結果を算出することになる。そして、その算出した加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算した第2の加算結果を算出し、その算出した第2の加算結果と、加算結果と、を基に暗号文を出力することになる。
これにより、本実施形態における共通鍵ブロック暗号化装置は、選択平文/暗号文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、高速で安全なブロック暗号を大きいブロックサイズに対して実現することが可能となる。本実施形態における共通鍵ブロック暗号化装置は、1ブロックの暗号化につき選択平文/暗号文攻撃に安全な暗号部品の呼び出し回数は、ブロックサイズに関わらず2回で済むことになるため、大きいブロックサイズでは暗号化のスループットは、既知平文攻撃に安全な暗号部品のスループットにほぼ一致することになる。既知平文攻撃は、選択平文/暗号文攻撃よりも弱いクラスの攻撃であるため、既知平文攻撃に安全な暗号部品は一般に選択平文/暗号文攻撃に安全な暗号部品よりも高速に動作することになる。従って、選択平文/暗号文攻撃に安全な暗号部品のみを用いた暗号運用モードよりも高速なブロック暗号を構築できることが可能となる。
なお、上記実施形態は、第1のフェイステル型ハッシュ手段(102)が、平文入力手段(101)から入力された平文を、PAブロックと、PBブロックと、に分割することとしたが、平文入力手段(101)において平文を、PAブロックと、PBブロックと、に分割し、該分割したPAブロックと、PBブロックと、を第1のフェイステル型ハッシュ手段(102)に出力することも可能である。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態における共通鍵ブロック暗号化装置は、暗号化される平文を入力する平文入力手段(201)と、平文を、PAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロックとPAブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、PBブロックと、を出力する第1のフェイステル型ハッシュ手段(202)と、単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段(203)と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段(204)と、中間乱数と、PBブロックと、を加算し、加算結果を出力する加算手段(205)と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力手段(206)と、を有することを特徴とするものである。以下、図3、図4を参照しながら、第2の実施形態における共通鍵ブロック暗号化装置について説明する。
まず、図3を参照しながら、第2の実施形態における共通鍵ブロック暗号化装置の構成について説明する。なお、図3は、第2の実施形態における共通鍵ブロック暗号化装置の構成を示すブロック図である。
第2の実施形態における共通鍵ブロック暗号化装置は、平文入力手段(201)と、第1のフェイステル型ハッシュ手段(202)と、単位ブロック暗号化手段(203)と、擬似乱数生成手段(204)と、加算手段(205)と、暗号文出力手段(206)と、を有して構成される。
なお、第2の実施形態における共通鍵ブロック暗号化装置は、第1の実施形態と同様に、CPUとメモリとディスクとにより実現することは可能である。共通鍵ブロック暗号化装置の各手段は、上記各手段を実行するためのプログラムをディスクに格納し、該格納したプログラムをCPUが実行することで実現することになる。
次に、第2の実施形態における共通鍵ブロック暗号化装置を構成する各手段について説明する。なお、第2の実施形態における共通鍵ブロック暗号化装置を構成する平文入力手段(201)と、第1のフェイステル型ハッシュ手段(202)と、単位ブロック暗号化手段(203)と、加算手段(205)と、は、第1の実施形態における共通鍵ブロック暗号化装置を構成する各手段(101、102、103、105、)と同様の機能にて構成される。ただし、単位ブロック暗号化手段(203)は、選択平文攻撃に安全であれば十分である。
<疑似乱数生成手段204>
第2の実施形態における擬似乱数生成手段(204)は、単位ブロック中間暗号文を基に、中間乱数を生成するものであり、第2の実施形態における擬似乱数生成手段(204)は、既知平文攻撃に安全であることが求められる。
即ち、第2の実施形態における疑似乱数生成手段(204)は、ランダムな単位ブロック中間暗号文を基に、中間乱数を生成した際に、該生成した中間乱数と、真の乱数と、の判別が困難となれば十分であり、単位ブロック中間暗号文を攻撃者が任意に選択できるもとでの安全性(選択平文攻撃への安全性)は必要としない。
<暗号文出力手段206>
暗号文出力手段(206)は、加算手段(105)から出力された値と、単位ブロック暗号化手段(103)から出力される単位ブロック中間暗号文と、を連結し、暗号文として出力することになる。
(共通鍵ブロック暗号化装置における動作の説明)
次に、図4を参照しながら、第2の実施形態における共通鍵ブロック暗号化装置の処理動作について説明する。
まず、平文入力手段(201)は、暗号化される平文(PAブロック、PBブロック)を第1のフェイステル型ハッシュ手段(202)に入力することになる(ステップB1)。
次に、第1のフェイステル型ハッシュ手段(202)は、平文入力手段(201)から入力された平文(PAブロック、PBブロック)をPAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロック(H(PB))と、PAブロック(PA)と、を加算し(PA+H(PB))、単位ブロック中間文を作成し、該作成した単位ブロック中間文を単位ブロック暗号化手段(203)に出力することになる(ステップB2)。また、第1のフェイステル型ハッシュ手段(202)は、平文入力手段(201)から入力された平文(PBブロック)を加算手段(205)に出力することになる。
次に、単位ブロック暗号化手段(203)は、第1のフェイステル型ハッシュ手段(202)から入力された単位ブロック中間文を暗号化し、単位ブロック中間暗号文を作成し、該作成した単位ブロック中間暗号文を出力することになる(ステップB3)。
次に、擬似乱数生成手段(204)は、単位ブロック暗号化手段(203)から入力された単位ブロック中間暗号文を基に中間乱数を作成し、該作成した中間乱数を加算手段(205)に出力することになる(ステップB4)。
次に、加算手段(205)は、疑似乱数生成手段(204)から入力された中間乱数と、第1のフェイステル型ハッシュ手段(202)から入力された平文のPBブロックと、の加算処理を行い、加算結果を暗号文出力手段(206)に出力することになる(ステップB5)。
暗号文出力手段(206)は、単位ブロック暗号化手段(203)から入力された単位ブロック中間暗号文と、加算手段(205)から入力された加算結果と、を連結し暗号文として出力することになる(ステップB6)。
このように、第2の実施形態におけるブロック暗号化装置は、暗号化される平文を入力し、該入力された平文をPAブロックと、PBブロックと、に分割し、該分割したPBブロックをハッシュ関数により圧縮し、該圧縮したPBブロック(H(PB))と、PAブロック(PA)と、を加算し、単位ブロック中間文を生成することになる(PA+H(PB))。そして、上記処理により生成した単位ブロック中間文(PA+H(PB)に暗号化を施し、単位ブロック中間暗号文を生成し、該生成した単位ブロック中間暗号文を基に中間乱数を生成することになる。次に、上記生成した中間乱数と、PBブロックと、を加算し、加算結果を算出することになる。そして、その算出した加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力することになる。
これにより、本実施形態における共通鍵ブロック暗号化装置は、選択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合せ、高速で安全なブロック暗号を大きいブロックサイズに対して実現することが可能となる。本実施形態における共通鍵ブロック暗号化装置は、1ブロックの暗号化につき選択平文攻撃に安全な暗号部品の呼び出し回数は、ブロックサイズに関わらず1回で済むことになるため、大きいブロックサイズでは暗号化のスループットは、既知平文攻撃に安全な暗号部品のスループットにほぼ一致することになる。既知平文攻撃は、選択平文攻撃よりも弱いクラスの攻撃であるため、既知平文攻撃に安全な暗号部品は一般に選択平文攻撃に安全な暗号部品よりも高速に動作することになる。従って、選択平文攻撃に安全な暗号部品のみを用いた暗号運用モードよりも高速なブロック暗号を構築できることが可能となる。
なお、上記実施形態は、第1のフェイステル型ハッシュ手段(202)が、平文入力手段(201)から入力された平文を、PAブロックと、PBブロックと、に分割することとしたが、平文入力手段(201)において平文を、PAブロックと、PBブロックと、に分割し、該分割したPAブロックと、PBブロックと、を第1のフェイステル型ハッシュ手段(202)に出力することも可能である。
(第3の実施形態)
次に、第3の実施形態について説明する。
第3の実施形態における共通鍵ブロック暗号化装置は、第1の実施形態における共通鍵ブロック暗号化装置において、単位ブロック暗号化手段(103)が、ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成手段(104)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数とすることを特徴とするものである。以下、第3の実施形態における共通鍵ブロック暗号化装置について説明する。なお、第3の実施形態における共通鍵ブロック暗号化装置は、図1に示す第1の実施形態における共通鍵ブロック暗号化装置と同様の手段にて構成されることになる。
次に、図5を参照しながら、第3の実施形態における共通鍵ブロック暗号化装置の疑似乱数生成手段(104)における処理動作について説明する。なお、図5は、本実施形態における擬似乱数生成手段(104)の処理動作を示すフロチャートを示す。
なお、ブロック暗号をP1とし、このブロック暗号P1の段数を削減したり、内部関数の一部を簡素化したりすることで得られる簡略化バージョンの簡易ブロック暗号をP2とする。例えば、ブロック暗号P1を非特許文献5に開示されているAESとし、簡易ブロック暗号P2をAESの7段バージョンとすることで本実施形態における共通鍵ブロック暗号化装置を実現することが可能となる。
第3の実施形態における擬似乱数生成手段(104)は、まず、ブロック暗号P1の鍵と、t(tは、任意の正の整数)個の簡易ブロック暗号P2の鍵と、を生成する(ステップC1)。次に、疑似乱数生成手段(104)は、単位ブロック暗号化手段(103)から入力された単位ブロック中間暗号文をブロック暗号P1により暗号化する(ステップC2)。
次に、疑似乱数生成手段(104)は、上記ステップC2において暗号化した単位ブロック中間暗号文を更に異なるt個の鍵による簡易ブロック暗号P2の、高々r(rは、t以下の正の整数)回のあらゆるカスケードの集合Dを作成し(ステップC3)、該作成した集合Dの各要素に対し、上記ステップC2において暗号化した単位ブロック中間暗号文を入力し、出力結果を算出することになる(ステップC4)。
このとき、集合Dの要素のうち、語頭が等しい2つのカスケードについては、一方の出力結果を利用して他方の出力結果を算出することになる。そして、最後に、それらの要素の出力結果を連結することになる(ステップC5)。なお、上述したブロック暗号P1と、簡易ブロック暗号P2と、のモードを、順序付きツリーモードと呼ぶ。
なお、図6は、t=3、r=3とした場合の擬似乱数生成手段(104)のブロック図である。rを1とした場合、上述した(式1)の方式と一致することになる。順序付きツリーモードの出力ブロック数をnとすると、(式1)の方式(即ち、r=1の時)では、鍵の長さはnの線形オーダになるのに対して、r=tとすれば、鍵の長さはnのログオーダになる。なお、rを増加させることで、鍵の数あたりの生成できる出力結果の長さが増えることになるが、暗号の安全性がその分低下することになる。
このように、第3の実施形態における共通鍵ブロック暗号化装置は、単位ブロック暗号化手段(103)が、ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成手段(104)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数とすることで、鍵の長さは順序付きツリーモードの出力ブロック数のログオーダまで短くできるため、鍵スケジューリングの時間を削減し、暗号文を出力するまでのオーバーヘッドの時間を短縮することが可能となる。
即ち、ブロック暗号の鍵は、通常マスター鍵を用いた鍵スケジューリングにより生成されることになるが、この鍵が短いということは、それを生成するためのマスター鍵を用いた鍵スケジューリングの時間も短縮することが可能となるためである。
(第4の実施形態)
次に、第4の実施形態について説明する。
第4の実施形態における共通鍵ブロック暗号化装置は、第3の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104)が、上述した(式1’)に記載のPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードを基に、中間乱数の生成を行うことを特徴とするものである。
ここで、ERTモードとは、上述した(式1')に記載のPRTモードを以下の(式1'')のように拡張して得られるモードである。
(...(G_[1,1]△G_[2,3])△G_[3,9]…G_[d,3^(d-1)])(Y)・・・(式1'')
ただし、Yは単位ブロック中間暗号文であり、△は2つの関数FとGとについて、F△G(x) = (F(x), G(x, F(x)))という合成を行う演算子である。
ここで、Gの入力幅はFの出力幅と全体の入力xの幅との和である。上記(式1'')においてYがP1による暗号文である場合を拡張PRT(Extended PRT, ERT)モードと呼ぶ。ERTモードは、PRTモードよりも鍵長が少なくて済むという特徴がある。具体的には、拡大率が大きい場合、ERTモードはPRTモードの鍵長の約60%の鍵長を必要とする。なお、図7に、P2の鍵を4つ使用した場合のERTモードの例を示す。
また、疑似乱数生成手段(104)は、PRTとERTと順序付きツリーモードとのいずれかを組み合わせて使用することも可能である。例えば、i=1,2,...についてG_[i]を2つの鍵による順序付きツリーモードとすると、これは1ブロック入力4ブロック出力となり、これをERTモードと組み合わせると以下の(式2'')のようになる。
(...(G_[1,1]△G_[2,5])△G_[3,25]…G_[d,5^(d-1)])(Y)・・・(式2'')
この組み合わせによるモードは、拡大率が大きい場合、PRTモードの鍵長の約30%の鍵長を必要とする。順序付きツリーモードは鍵長の点ではPRTモードやERTモードを上回る最良のモードであるが、大きい拡大率のときにプログラムサイズが大きくなるなど、実装上の不利が生じる。しかしこのような組み合わせにより、上記(式1'')に記載の基本的なERTモードよりもさらに鍵長の点で効率の良いモードを、プログラムの極端な複雑化を避けつつ実現することが可能である。この他にも様々な組み合わせのパターンが考えられ、それぞれのパターンにより、必要とする鍵長や実装の容易性は変化することになる。
(第5の実施形態)
次に、第5の実施形態について説明する。
第5の実施形態における共通鍵ブロック暗号化装置は、第1の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104)が、単一のブロック暗号による上記(式2)の修正カウンターモードを基に、中間乱数の生成を行うことを特徴とするものである。
このように、疑似乱数生成手段(104)が、単一のブロック暗号による上記(式2)の修正カウンターモードを基に、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
(第6の実施形態)
次に、第6の実施形態について説明する。
第6の実施形態における共通鍵ブロック暗号化装置は、第1の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104)が、単一のブロック暗号による上記(式3)の修正OFBモードを基に、中間乱数の生成を行うことを特徴とするものである。
このように、擬似乱数生成手段(104)が、単一のブロック暗号による上記(式3)の修正OFBモードを基に、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
(第7の実施形態)
次に、第7の実施形態について説明する。
第7の実施形態における共通鍵ブロック暗号化装置は、第2の実施形態における共通鍵ブロック暗号化装置の具備する単位ブロック暗号化手段(203)が、ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成手段(204)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数とすることを特徴とするものである。以下、第7の実施形態における共通鍵ブロック暗号化装置について説明する。
第7の実施形態における共通鍵ブロック暗号化装置は、第2の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、単位ブロック中間暗号文を、図5に示す順序付きツリーモードからブロック暗号P1による暗号化(図5ステップC2)を省略したモードに入力し、中間乱数の生成を行うことを特徴とするものである。
このように、第7の実施形態における共通鍵ブロック暗号化装置は、単位ブロック暗号化手段(203)が、ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成手段(204)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数を生成することで、鍵の長さは順序付きツリーモードの出力ブロック数のログオーダまで短くできるため、鍵スケジューリングの時間を削減し、暗号文を出力するまでのオーバーヘッドの時間を短縮することが可能となる。
即ち、ブロック暗号の鍵は、通常マスター鍵を用いた鍵スケジューリングにより生成されることになるが、この鍵が短いということは、それを生成するためのマスター鍵を用いた鍵スケジューリングの時間も短縮することが可能となるためである。
(第8の実施形態)
次に、第8の実施形態について説明する。
第8の実施形態における共通鍵ブロック暗号化装置は、第7の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号と、による上述した(式1’)に記載のPRTモード、もしくは上述した(式1'')に記載のERTモード、もしくは、上述した(式2'')に記載されたモードのように、順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードから、最初のブロック暗号P1による暗号化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数とすることを特徴とするものである。
(第9の実施形態)
次に、第9の実施形態について説明する。
第9の実施形態における共通鍵ブロック暗号化装置は、第2の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、単一のブロック暗号による上記(式2)の修正カウンターモードの、入力に対して最初に行われる暗号化のみを省略したモードを用いて、中間乱数の生成を行うことを特徴とするものである。
このように、擬似乱数生成手段(204)が、単一のブロック暗号による上記(式2)の修正カウンターモードの、入力に対して最初に行われる暗号化のみを省略したモードを用いて、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
(第10の実施形態)
次に、第10の実施形態について説明する。
第10の実施形態における共通鍵ブロック暗号化装置は、第2の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、単一のブロック暗号による上記(式3)の修正OFBモードの、入力に対して最初に行われる暗号化のみを省略したモードを用いて、中間乱数の生成を行うことを特徴とするものである。
このように、擬似乱数生成手段(204)が、単一のブロック暗号による上記(式3)の修正OFBモードの、入力に対して最初に行われる暗号化のみを省略したモードを用いて、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
(第11の実施形態)
次に、第11の実施形態について説明する。
第11の実施形態における共通鍵ブロック暗号化装置は、第1、第2の実施形態における共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104、204)が、初期ベクトルと呼ばれる付加的な値を鍵ストリーム生成のための入力として受け入れるストリーム暗号を用いて、単位ブロック中間暗号文を入力として生成した鍵ストリームを中間乱数として出力することを特徴とするものである。
このようなストリーム暗号は、例えば、非特許文献6に開示されているストリーム暗号SEALにより実現することが可能となる。また、ブロック暗号で単位ブロック中間暗号文を暗号化し、該暗号化した結果を、初期ベクトルを入力として受け付けるストリーム暗号に入力することでも実現することは可能となる。
このように、第1と第2の実施形態の共通鍵ブロック暗号化装置において、単位ブロック暗号化手段(103、203)が、ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成手段(104、204)が、初期ベクトルを付加的な入力として受け付けるストリーム暗号に、該単位ブロック中間暗号文を初期ベクトルとして入力して得られる鍵ストリームを中間乱数として生成することで、鍵の簡素化を図ることが可能となる。
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば、上記各実施形態の共通鍵ブロック暗号化装置における処理動作は、コンピュータプログラムにより実行することも可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または半導体等の記録媒体に記録し、その記録媒体からプログラムを情報処理装置に読み込ませることで、上述した処理動作を情報処理装置において実行させることも可能である。また、所定のネットワークを介して接続されている外部機器からプログラムを情報処理装置に読み込ませることで、上述した処理動作を情報処理装置において実行させることも可能である。
本発明にかかる共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムは、2者間で暗号化通信を行うシステムや、映画や音楽などのコンテンツを安全に配信するシステム、また、コンピュータサーバ上のデータを安全に運用するためのファイル暗号化の用途に適用可能である。

Claims (35)

  1. 暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ手段と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算手段と、
    前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、前記加算結果と、を合わせた出力結果を出力する第2のフェイステル型ハッシュ手段と、
    前記出力結果を暗号文として出力する暗号文出力手段と、
    を有することを特徴とする共通鍵ブロック暗号化装置。
  2. 暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ手段と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算手段と、
    前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力手段と、
    を有することを特徴とする共通鍵ブロック暗号化装置。
  3. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項1記載の共通鍵ブロック暗号化装置。
  4. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項1記載の共通鍵ブロック暗号化装置。
  5. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号による修正カウンターモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項1記載の共通鍵ブロック暗号化装置。
  6. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号による修正OFBモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項1記載の共通鍵ブロック暗号化装置。
  7. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項2記載の共通鍵ブロック暗号化装置。
  8. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項2記載の共通鍵ブロック暗号化装置。
  9. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項2記載の共通鍵ブロック暗号化装置。
  10. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、前記ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項2記載の共通鍵ブロック暗号化装置。
  11. 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成手段は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数を生成することを特徴とする請求項1または2記載の共通鍵ブロック暗号化装置。
  12. 情報処理装置において行う共通鍵ブロック暗号化方法であって、
    暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ工程と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化工程と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算工程と、 前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、前記加算結果と、を出力する第2のフェイステル型ハッシュ工程と、
    前記第2の加算結果と、前記加算結果と、を基に暗号文として出力する暗号文出力工程と、
    を、前記情報処理装置が行うことを特徴とする共通鍵ブロック暗号化方法。
  13. 情報処理装置において行う共通鍵ブロック暗号化方法であって、
    暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ工程と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化工程と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算工程と、 前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力工程と、
    を、前記情報処理装置が行うことを特徴とする共通鍵ブロック暗号化方法。
  14. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項12記載の共通鍵ブロック暗号化方法。
  15. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項12記載の共通鍵ブロック暗号化方法。
  16. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号による修正カウンターモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項12記載の共通鍵ブロック暗号化方法。
  17. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号による修正OFBモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項12記載の共通鍵ブロック暗号化方法。
  18. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項13記載の共通鍵ブロック暗号化方法。
  19. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項13記載の共通鍵ブロック暗号化方法。
  20. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項13記載の共通鍵ブロック暗号化方法。
  21. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、前記ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項13記載の共通鍵ブロック暗号化方法。
  22. 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成工程は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数を生成することを特徴とする請求項12または13記載の共通鍵ブロック暗号化方法。
  23. 情報処理装置において実行させる共通鍵ブロック暗号化プログラムであって、
    暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ処理と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化処理と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算処理と、 前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブロック中間暗号文と、を加算し、第2の加算結果を生成し、該生成した第2の加算結果と、前記加算結果と、を出力する第2のフェイステル型ハッシュ処理と、
    前記第2の加算結果と、前記加算結果と、を基に暗号文として出力する暗号文出力処理と、
    を、前記情報処理装置において実行させることを特徴とする共通鍵ブロック暗号化プログラム。
  24. 情報処理装置において実行させる共通鍵ブロック暗号化プログラムであって、
    暗号化される平文を、第1のブロックと、第2のブロックと、に分割し、該分割した第1のブロックをハッシュ関数により圧縮し、該圧縮した第1のブロックと、前記第2のブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前記第1のブロックと、を出力する第1のフェイステル型ハッシュ処理と、
    前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化処理と、
    前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、
    前記中間乱数と、前記第1のブロックと、を加算し、加算結果を出力する加算処理と、 前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力処理と、
    を、前記情報処理装置において実行させることを特徴とする共通鍵ブロック暗号化プログラム。
  25. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項23記載の共通鍵ブロック暗号化プログラム。
  26. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項23記載の共通鍵ブロック暗号化プログラム。
  27. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号による修正カウンターモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項23記載の共通鍵ブロック暗号化プログラム。
  28. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号による修正OFBモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項23記載の共通鍵ブロック暗号化プログラム。
  29. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項24記載の共通鍵ブロック暗号化プログラム。
  30. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得られる簡易ブロック暗号と、によるPRTモード、もしくはERTモード、もしくは順序つきツリーモードとPRTモードとERTモードとの組み合わせによるモードの最初の暗号化処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項24記載の共通鍵ブロック暗号化プログラム。
  31. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号による修正カウンターモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項24記載の共通鍵ブロック暗号化プログラム。
  32. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、前記ブロック暗号による修正OFBモードの最初の暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項24記載の共通鍵ブロック暗号化プログラム。
  33. 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を暗号化し、前記単位ブロック中間暗号文を生成し、
    前記疑似乱数生成処理は、初期ベクトルを付加的な入力として受け付けるストリーム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数を生成することを特徴とする請求項23または24記載の共通鍵ブロック暗号化プログラム。
  34. 平分入力手段から平文を受けて2分割するか、又は、前記平分入力手段側で前記平文を2分割してなる、第1及び第2のブロックに関して、前記第1のブロックをハッシュ関数に入力し第1のハッシュ値を計算する手段と、前記第1のハッシュ値と前記第2のブロックとを加算し加算結果を単位ブロック中間文として出力する手段と、を含む第1のフェイステル型ハッシュ手段と、
    前記第1のフェイステル型ハッシュ手段から出力される前記単位ブロック中間文を受けて暗号化し、前記暗号化した単位ブロック中間文を単位ブロック中間暗号文として出力する単位ブロック暗号化手段と、
    前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文を受け、前記単位ブロック中間暗号文に基づき、中間乱数を生成して出力する擬似乱数生成手段と、
    前記擬似乱数生成手段から出力される前記中間乱数と、前記第1のフェイステル型ハッシュ手段のハッシュ関数に入力する前の前記第1のブロックとを受け、前記中間乱数と前記第1のブロックとを加算し加算結果を出力する加算手段と、
    前記加算手段から出力される、前記中間乱数と前記第1のブロックとの加算結果を受け前記加算結果をハッシュ関数に入力し第2のハッシュ値を計算する手段と、前記第2のハッシュ値と前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文と受けこれらを加算し加算結果を出力する手段と、前記第2のハッシュ値と前記単位ブロック中間暗号文との加算結果と、前記加算手段から出力される、前記中間乱数と前記第1のブロックとの加算結果とを加算し加算結果を暗号文として出力する手段と、を含む第2のフェイステル型ハッシュ手段と、
    前記第2のフェイステル型ハッシュ手段から出力された暗号文を出力する暗号文出力手段と、
    を含む、ことを特徴とする共通鍵ブロック暗号化装置。
  35. 平分入力手段から平文を受けて2分割するか、又は、前記平分入力手段側で前記平文を2分割してなる、第1及び第2のブロックに関して、前記第1のブロックをハッシュ関数に入力し第1のハッシュ値を計算する手段と、前記第1のハッシュ値と前記第2のブロックとを加算し加算結果を単位ブロック中間文として出力する手段と、を含む第1のフェイステル型ハッシュ手段と、
    前記第1のフェイステル型ハッシュ手段から出力される前記単位ブロック中間文を受けて暗号化し、前記暗号化した単位ブロック中間文を単位ブロック中間暗号文として出力する単位ブロック暗号化手段と、
    前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文を受け、前記単位ブロック中間暗号文に基づき、中間乱数を生成して出力する擬似乱数生成手段と、
    前記擬似乱数生成手段から出力される前記中間乱数と、前記第1のフェイステル型ハッシュ手段のハッシュ関数に入力する前の前記第1のブロックとを受け、前記中間乱数と前記第1のブロックとを加算し加算結果を出力する加算手段と、
    前記加算手段から出力される、前記中間乱数と前記第1のブロックとの加算結果と、前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文とを受け、これらを連結したものを暗号文として出力する暗号文出力手段と、
    を含む、ことを特徴とする共通鍵ブロック暗号化装置。
JP2006548825A 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム Active JP4793268B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006548825A JP4793268B2 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2004366363 2004-12-17
JP2004366363 2004-12-17
JP2005200188 2005-07-08
JP2005200188 2005-07-08
PCT/JP2005/022773 WO2006064763A1 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム
JP2006548825A JP4793268B2 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム

Publications (2)

Publication Number Publication Date
JPWO2006064763A1 JPWO2006064763A1 (ja) 2008-06-12
JP4793268B2 true JP4793268B2 (ja) 2011-10-12

Family

ID=36587818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006548825A Active JP4793268B2 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム

Country Status (3)

Country Link
US (1) US20080253561A1 (ja)
JP (1) JP4793268B2 (ja)
WO (1) WO2006064763A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
JP5402632B2 (ja) * 2007-08-06 2014-01-29 日本電気株式会社 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2009081975A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
WO2010024003A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
US8745411B2 (en) * 2008-11-07 2014-06-03 Broadcom Corporation Protecting external volatile memories using low latency encryption/decryption
IL199616A0 (en) * 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
US8948376B2 (en) * 2010-05-11 2015-02-03 Ca, Inc. Format-preserving encryption via rotating block encryption
JP6171649B2 (ja) * 2013-07-16 2017-08-02 日本電気株式会社 暗号化装置、復号装置、暗号化方法および暗号化プログラム
US11811938B2 (en) * 2019-12-20 2023-11-07 Micro Focus Llc Tokenization of arbitrary data types

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0906678A1 (en) * 1996-08-16 1999-04-07 Bell Communications Research, Inc. Improved cryptographically secure pseudo-random bit generator for fast and secure encryption
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6192129B1 (en) * 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block
US7251326B2 (en) * 2001-06-29 2007-07-31 Harris Corporation Method and apparatus for data encryption
JP2003241656A (ja) * 2002-02-19 2003-08-29 Sony Corp 暗号化装置および暗号化方法

Also Published As

Publication number Publication date
JPWO2006064763A1 (ja) 2008-06-12
WO2006064763A1 (ja) 2006-06-22
US20080253561A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
JP4793268B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム
JP3864675B2 (ja) 共通鍵暗号装置
US8577032B2 (en) Common key block encryption device, common key block encryption method, and program
JP5141558B2 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
US5745577A (en) Symmetric cryptographic system for data encryption
JP4735644B2 (ja) メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
US8509427B2 (en) Hybrid mode cryptographic method and system with message authentication
Benadjila et al. Sha-3 proposal: ECHO
JP2004502965A (ja) 対称キー暗号用の置換ボックス
JP2010140026A (ja) 連鎖暗号モードのための方法および装置
JPH10171350A (ja) ハッシュ値生成方法および装置
US20100104093A1 (en) Encryption Processing Apparatus, Encryption Processing Method, and Computer Program
KR20020041815A (ko) 대칭-키 암호에 대한 선형 변환
JP7367860B2 (ja) 認証暗号化装置、認証復号装置、認証暗号システム、方法及びプログラム
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
KR20080072345A (ko) 암호화 장치 및 그 방법
KR20120131738A (ko) Aes의 ctr 모드에 따른 암호화 장치 및 방법
JP2002108205A (ja) ブロック暗号方法及び復号方法
JP4752239B2 (ja) 共通鍵暗号方法及び装置
JP3864798B2 (ja) 共通鍵暗号の復号装置
WO2006022058A1 (ja) 暗号文生成装置、平文復元装置
Mohammed Proposed a Variable Length Block Cipher Algorithm
CN114124354A (zh) 确定性鉴别加解密装置及方法
م. د. رنا سعد محمد Proposed a Variable Length Block Cipher Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4793268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3