JP5365750B2 - ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム - Google Patents

ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム Download PDF

Info

Publication number
JP5365750B2
JP5365750B2 JP2012555798A JP2012555798A JP5365750B2 JP 5365750 B2 JP5365750 B2 JP 5365750B2 JP 2012555798 A JP2012555798 A JP 2012555798A JP 2012555798 A JP2012555798 A JP 2012555798A JP 5365750 B2 JP5365750 B2 JP 5365750B2
Authority
JP
Japan
Prior art keywords
bit
intermediate variable
adjustment value
block
encryption
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
JP2012555798A
Other languages
English (en)
Other versions
JPWO2012105352A1 (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 JP2012555798A priority Critical patent/JP5365750B2/ja
Application granted granted Critical
Publication of JP5365750B2 publication Critical patent/JP5365750B2/ja
Publication of JPWO2012105352A1 publication Critical patent/JPWO2012105352A1/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/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

Landscapes

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

Description

本発明は、ブロック暗号の運用モードに関し、特にnビットブロック暗号による汎用的で高い安全性を持つ、n以上2n未満のビットブロック暗号の技術に関する。
ブロック暗号とは、鍵により一意に定まる置換の集合であり、置換への入力が平文、出力が暗号文にそれぞれ相当する。平文と暗号文の長さをブロックサイズという。ブロックサイズがnビット(nは1以上の整数)のブロック暗号を、一般にnビットブロック暗号と呼ぶ。
2nビットブロックサイズのブロック暗号を構成する場合、nビット入出力のラウンド関数と呼ばれる処理を用いた2nビット置換を繰り返す方法がある。例えば、DES(Data Encryption Standard)は64ビットブロックサイズであり、32ビット入出力長のラウンド関数と呼ばれる処理を用いたFeistel型置換と呼ばれる置換を繰り返すことで構成されている。DESなどの実用的なブロック暗号ではラウンド関数の処理は比較的シンプルであり、ラウンド関数の出力自体の乱数性は低い(乱数と容易に判別が可能)ため、Feistel型置換の繰り返し回数を十分大きく取り、64ビット全体の乱数性を高める必要がある。DESの場合は16回の繰り返しを行っている。
一般にブロック暗号のブロックサイズは64,128などに固定され、可変でないため、それ以外のブロックサイズでのブロック暗号を構築するには、ブロック暗号を含めた既存の暗号化処理を部品として用いるアプローチが一般的である。このアプローチの利点は、部品の計算量的な安全性に基づき、ある種の安全性証明が可能となる点である。例えば、Feistel置換と呼ばれる代表的なブロック暗号構成手法において、部品となるラウンド関数の出力が真の乱数と効率的に判別できないほど高い乱数性を持つならば、このFeistel型置換を3回から4回繰り返すことで、全体として計算量的安全性が保証された2nビットブロック暗号となることがLubyとRackoffにより証明されている。
よく考えられた既存のnビットブロック暗号は計算量的に高い乱数性を持つと考えられるため、LubyとRackoffによる証明結果に基づき、DESをラウンド関数とした128ビットブロック暗号や、128ビットブロック暗号であるAES(Advanced Encryption Standard)をラウンド関数とした256ビットブロック暗号を構成することが可能である。
このようなブロック暗号を、既存のnビットブロックサイズのブロック暗号を部品として用いて2nビットブロックサイズを実現しているという意味で、「倍ブロック長ブロック暗号」と呼ぶ。
また、倍ブロックではなく、n以上2n未満のブロックサイズを実現する手法もある。達成したいブロックサイズを(n+m)ビット(ただし、mは1以上n未満)として、このブロックサイズのブロック暗号を、「部分ブロック長ブロック暗号」と呼ぶ。
これらの暗号機能は、平文と暗号文長が一致する暗号化(これを等長暗号化と呼ぶ)を実現するため実用的価値がある。通常のCBCモードなどの暗号化では任意の長さの平文を暗号化可能であるが、その代わり常に初期ベクトルという値が暗号文に付与され、暗号文長が平文長よりも長くなる。例えば、96ビットの系列を等長暗号化しようとする場合、既存の代表的なブロック暗号ではブロックサイズが64か128の2通りしか存在せず、これらを部品として用いて何らかの部分ブロック暗号を実現することが必要となる。
倍ブロック長ブロック暗号の構成方法は、例えば、NaorとReingoldによる非特許文献1に開示されている。この文献には、4回のFeistel型置換の繰り返しによる方法など様々提案されている。図11および図12は、4回のFeistel型置換の繰り返しによる方法の一例を示す図である。図11は平文xL, xRから暗号文yL, yRを生成する手順を示し、図12は暗号文yL, yRを平文xL, xRに戻す手順を示す。
この方法を含めほとんどの場合、その安全性保証は、一つの鍵で処理する暗号化回数qが2n/2よりも十分に小さい(これをq≪2n/2と表す)場合に限られている。2n/2はバースデー限界と呼ばれ、バースデー限界程度の回数の暗号化の結果を用いた攻撃は一般にバースデー攻撃と呼ばれる。このような攻撃は、64ビットブロック暗号を用いた場合には現実的な脅威となり、また128ビットブロック暗号を用いた場合でも将来的なリスクと考えられるため、対策が必要である。
例えば、Feistel型置換を4回繰り返す構成の場合、ラウンド関数によらずバースデー攻撃により攻撃が可能であることが知られている。
一方、部分ブロック長ブロック暗号の場合は、RistenpartとRogawayによる、非特許文献2に開示されているXLSが知られている。これは、nビットブロック暗号を3回用いて(n+m)ビットブロック暗号を実現するものであるが、その安全性はやはり一つの鍵で処理する暗号化回数qが2n/2よりも十分に小さい場合に限られており、nのバースデー限界までの安全性のみを保証するものとなっている。
一方、nのバースデー限界を超えた安全性を持つ倍ブロック長ブロック暗号や部分ブロック長ブロック暗号の構成方法としては、非特許文献1や非特許文献3などにおいて、Feistel型置換をLubyとRackoffによる証明結果よりも多く繰り返すことで達成する方法が知られている。これは場合によっては入力を不均等に分割したFeistel型置換を用いることもある。しかしながら、Feistel置換をベースとした方式はいずれも達成する安全性の限界に比べて繰り返しの回数が非常に多く、またターゲットのブロックサイズによっては、部品となる関数としてブロック暗号をそのまま使うと安全性の劣化が許容できない(バースデー限界までの安全性に落ちてしまう)などの問題がある。
後者の問題は、非特許文献4に記載の手法などを使い、ブロック暗号を逆関数の存在しない関数へ変換する処理を行ってから部品とすればよいが、さらなる計算量の増加を招くこととなる。例えば、非特許文献1では、(n+m)ビットの部分ブロック長ブロック暗号で、qの限界を2(n+m)/2にまで向上させる場合、(n+m)回のラウンド関数コールが必要になることが記載されている。非特許文献5では、Feistel置換の比較的少ない繰り返し(6回)でバースデー限界を超えた安全性を得ると主張されているが、証明が漸近的であり、定量的安全性評価が困難という問題がある。
M. Naor, O. Reingold, On the Construction of Pseudo-Random Permutations: Luby-Rackoff Revisited, Electronic Colloquium on Computational Complexity (ECCC) 4(5), 1997. T. Ristenpart and P. Rogaway. How to Enrich the Message Space of a Cipher, Fast Software Encryption, 14th International Workshop, FSE 2007, Luxembourg, Luxembourg, March 26-28, 2007, Revised Selected Papers. Lecture Notes in Computer Science 4593 Springer 2007, pp. 101-118. B. Morris, P. Rogaway, and T. Stegers., How to Encipher Messages on a Small Domain : Deterministic Encryption and the Thorp Shuffle, Advances in Cryptology - CRYPTO 2009, 29th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 16-20, 2009. Proceedings. Lecture Notes in Computer Science 5677 Springer 2009, pp. 286-302. S. Lucks, The Sum of PRPs Is a Secure PRF, Advances in Cryptology - EUROCRYPT 2000, International Conference on the Theory and Application of Cryptographic Techniques, Bruges, Belgium, May 14-18, 2000, Proceeding. Lecture Notes in Computer Science 1807 Springer 2000, pp. 470-484. J. Patarin, Security of Random Feistel Schemes with 5 or More Rounds, Advances in Cryptology - CRYPTO 2004, 24th Annual International Cryptology Conference, Santa Barbara, California, USA, August 15-19, 2004, Proceedings. Lecture Notes in Computer Science 3152 Springer 2004, pp. 106-122.
上述の、ブロック暗号を用いた部分ブロック長ブロック暗号構成方法では、バースデー限界までの安全性を保証するがそれ以上の安全性を持たない方法か、バースデー限界を超えた安全性を持つが非常に効率の悪い方法のいずれかしかないという問題がある。
本発明の目的の一つは、バースデー限界を超えた安全性を持ち、演算効率のよいブロック暗号化装置、復号装置、暗号化方法、復号方法、およびコンピュータに実行させるためのプログラムを提供することである。
本発明の一側面のブロック暗号化装置は、nを1以上の整数とし、mを1以上n未満の整数とするとき、暗号化対象の(n+m)ビット平文が入力される平文入力手段と、(n+m)ビット平文に対してユニバーサルハッシュ関数ベースの置換を適用し、nビットの第1の中間変数とmビットの第2の中間変数を生成する攪拌手段と、mビット調整値付きnビットブロック暗号の暗号化関数を用いて、第2の中間変数を調整値として第1の中間変数を暗号化し、mビットの第3の中間変数と(n−m)ビットの第4の中間変数を生成する第1の調整値付き単位ブロック暗号化手段と、mビット調整値付きnビットブロック暗号の暗号化関数を用いて、第3の中間変数を調整値として、第2の中間変数と第4の中間変数を連結したnビットの中間変数を暗号化することで、nビットの第5の中間変数を生成する第2の調整値付き単位ブロック暗号化手段と、第3の中間変数と第5の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット暗号文を生成する逆攪拌手段と、(n+m)ビット暗号文を出力する暗号文出力手段と、を有する構成である。
また、本発明の一側面の復号装置は、nを1以上の整数とし、mを1以上n未満の整数とするとき、復号対象の(n+m)ビット暗号文が入力される暗号文入力手段と、(n+m)ビット暗号文に対してユニバーサルハッシュ関数ベースの置換を適用し、mビットの第1の中間変数とnビットの第2の中間変数を生成する攪拌手段と、mビット調整値付きnビットブロック暗号の復号関数を用いて、第1の中間変数を調整値として第2の中間変数を復号し、(n−m)ビットの第3の中間変数とmビットの第4の中間変数を生成する第2の調整値付き単位ブロック復号手段と、mビット調整値付きnビットブロック暗号の復号関数を用いて、第4の中間変数を調整値として第1の中間変数と第3の中間変数を連結したnビットの中間変数を復号することで、nビットの第5の中間変数を生成する第1の調整値付き単位ブロック復号手段と、第5の中間変数と第4の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット平文を生成する逆攪拌手段と、(n+m)ビット平文を出力する平文出力手段と、を有する構成である。
また、本発明の一側面の暗号化方法は、nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット平文から暗号文を生成するための暗号化方法であって、(n+m)ビット平文に対してユニバーサルハッシュ関数ベースの置換を適用し、nビットの第1の中間変数とmビットの第2の中間変数を生成し、mビット調整値付きnビットブロック暗号の暗号化関数を用いて、第2の中間変数を調整値として第1の中間変数を暗号化し、mビットの第3の中間変数と(n−m)ビットの第4の中間変数を生成し、mビット調整値付きnビットブロック暗号の暗号化関数を用いて、第3の中間変数を調整値として、第2の中間変数と第4の中間変数を連結したnビットの中間変数を暗号化することで、nビットの第5の中間変数を生成し、第3の中間変数と第5の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット暗号文を生成し、(n+m)ビット暗号文を出力するものである。
また、本発明の一側面の復号方法は、nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット暗号文から平文を生成するための復号方法であって、(n+m)ビット暗号文に対してユニバーサルハッシュ関数ベースの置換を適用し、mビットの第1の中間変数とnビットの第2の中間変数を生成し、mビット調整値付きnビットブロック暗号の復号関数を用いて、第1の中間変数を調整値として第2の中間変数を復号し、(n−m)ビットの第3の中間変数とmビットの第4の中間変数を生成し、mビット調整値付きnビットブロック暗号の復号関数を用いて、第4の中間変数を調整値として第1の中間変数と第3の中間変数を連結したnビットの中間変数を復号することで、nビットの第5の中間変数を生成し、第5の中間変数と第4の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット平文を生成し、(n+m)ビット平文を出力するものである。
また、本発明の一側面のプログラムは、上記本発明の暗号化方法をコンピュータに実行させるためのプログラムである。さらに、本発明の一側面のプログラムは、上記本発明の復号方法をコンピュータに実行させるためのプログラムである。
図1は第1の実施形態の部分ブロック長ブロック暗号化装置の一構成例を示すブロック図である。 図2は図1に示した部分ブロック長ブロック暗号化装置を実現する情報処理装置の一構成例を示すブロック図である。 図3は第1の実施形態の部分ブロック長ブロック暗号化装置における情報処理の流れを示す図である。 図4は図1に示した第1の攪拌手段および第2の逆攪拌手段について、図3に示した構成とは異なる場合の構成例を示す図である。 図5は第1の実施形態の部分ブロック長ブロック暗号化装置で用いられる調整値付きブロック暗号の暗号化関数を説明するための図である。 図6は第1の実施形態の部分ブロック長ブロック暗号化装置の動作手順を示すフローチャートである。 図7は第2の実施形態の部分ブロック長ブロック復号装置の一構成例を示すブロック図である。 図8は第2の実施形態の部分ブロック長ブロック復号装置における情報処理の流れを示す図である。 図9は第2の実施形態の部分ブロック長ブロック復号装置で用いられる調整値付きブロック暗号の復号関数を説明するための図である。 図10は第2の実施形態の部分ブロック長ブロック復号装置の動作手順を示すフローチャートである。 図11は倍ブロック長ブロック暗号について、関連する暗号化装置の一構成例を示す図である。 図12は倍ブロック長ブロック暗号について、関連する復号装置の一構成例を示す図である。
本実施形態のブロック暗号化装置および復号装置は、現実のブロック暗号を用いて、nに関するバースデー限界を超えた安全性を持つ部分ブロック長ブロック暗号を効率よく構成することを可能にしたものである。本実施形態のブロック暗号化装置および復号装置は、部分ブロック長ブロック暗号に関する装置である。以下では、本実施形態のブロック暗号化装置を「部分ブロック長ブロック暗号装置」と称し、本実施形態の復号装置を「部分ブロック長ブロック復号装置」と称する。
(第1の実施形態)
本実施形態の部分ブロック長ブロック暗号化装置の構成を説明する。図1は本実施形態の部分ブロック長ブロック暗号化装置の一構成例を示すブロック図である。
図1に示すように、本実施形態の部分ブロック長ブロック暗号化装置10は、平文入力手段100と、第1の攪拌手段101と、第1の調整値付き単位ブロック暗号化手段102と、第2の調整値付き単位ブロック暗号化手段103と、第2の逆攪拌手段104と、暗号文出力手段105とを有する。
図1に示した部分ブロック長ブロック暗号化装置10を、図2に示す情報処理装置150で実現することが可能である。図2に示すように、情報処理装置150は、入力部151、制御部152、および出力部153を有するコンピュータの一種である。制御部152は、プログラムを記憶するメモリ51と、プログラムにしたがって処理を実行するCPU(Central Processing Unit)52とを有する。
CPU52がプログラムを実行することで、図1に示した第1の攪拌手段101、第1の調整値付き単位ブロック暗号化手段102、第2の調整値付き単位ブロック暗号化手段103、および第2の逆攪拌手段104が情報処理装置150に仮想的に構成される。入力部151が平文入力手段100に相当し、出力部153が暗号文出力手段105に相当する。
なお、メモリ51は、不揮発性メモリおよびRAM(Random Access Memory)などの主記憶部に相当するが、ハードディスク装置のような大容量の記憶領域を備えた副記憶部(不図示)が情報処理装置150に設けられていてもよい。プログラムの容量が大きすぎてメモリ51に全て入らない場合、プログラムを副記憶部に格納しておき、CPU52による処理の進度に応じて、次に実行される処理の内容が記述された部分を副記憶部のプログラムから順次メモリ51に読み込ませることで、大容量のプログラムの処理でも実行することが可能となる。
次に、図1に示した部分ブロック長ブロック暗号化装置10を構成する各手段について説明する。図3は、本実施形態の部分ブロック長ブロック暗号化装置における情報処理の流れを示す図である。
本実施形態では、ターゲットとするブロックサイズを(n+m)ビット(mは1以上n未満)、内部で用いる調整値付きブロック暗号のブロックサイズをnビット、調整値の長さをmビットとする場合で説明する。
調整値付きブロック暗号とは、秘密鍵以外に調整値(tweak)と呼ばれるパラメータを用いて暗号化を行うブロック暗号のことを指す。調整値と鍵が定まれば、平文と暗号文は一対一で対応することが条件である。すなわち、調整値付きブロック暗号(tweakable block cipher)の暗号化関数TWENCと、対応する復号関数TWDECが存在するとき、平文M、暗号文C、鍵K、調整値Tについて、常に、式(1)を満たす。
Figure 0005365750
この式で、双方向矢印は左右の命題の等価性を示す。式(1)を含めた調整値付きブロック暗号の形式的な定義と安全性要件は、非特許文献6に開示されているため、その詳細な説明を省略する。非特許文献6とは、「M. Liskov, R. Rivest, D. Wagner, Tweakable Block Ciphers, Advances in Cryptology - CRYPTO 2002, 22nd Annual International Cryptology Conference, Santa Barbara, California, USA, August 18-22, 2002, Proceedings. Lecture Notes in Computer Science 2442 Springer 2002, pp. 31-46.」である。
平文入力手段100は、暗号化の対象となる(n+m)ビットの平文を入力するための手段である。平文入力手段100は、例えば、キーボードなどの文字入力装置である。また、平文入力手段100は、接続された他の装置からデータを受信するためのインタフェース装置、または、磁気記録媒体や光ディスクからデータを読み出す読み取り装置であってもよい。
第1の攪拌手段101は、入力された(n+m)ビットの平文へシンプルな鍵付き置換mix1を適用するものである。
鍵付き置換mix1は、任意の異なる2つの、(n+m)ビット平文x, x'を、x=(xL,xR)、x'=(x'L,x'R)とする。ただしxLとx'Lはnビット、xRとx'Rはmビットである。そして、鍵付き置換mix1は、対応するmix1の出力を(SE,TE) = mix1(xL,xR)および(SE',TE') = mix1(x'L,x'R)とする。ただし、SEとSE'はnビット、TEとTE'はmビットである。この場合、どのような平文対であっても、以下の条件(式(2))を十分小さいeについて満たすことが必要である。
Figure 0005365750
ただし、確率はmix1の鍵のランダムネスによって定義される。
具体的には、mix1はアンバランス型のFeistel置換を用いる方法がある。これは、nビット入力mビット出力の鍵付き関数Hを用いて、式(3)および式(4)とすればよい。
Figure 0005365750
Figure 0005365750
ただし、+はビットごとの排他的論理和(XOR)演算を表す。
ここで、鍵付き関数Hが、任意の異なるxLとx'Lに対して式(5)を満たせば、式(2)の条件を満たせることになる。
Figure 0005365750
Hがこの条件を満たすとき、Hはe-almost XOR ユニバーサルであると呼ばれる。これはユニバーサルハッシュ関数の一種であり、有限体上の入力と鍵の乗算で実現可能である。
または、非特許文献7に開示されているような、具体的な実装環境に特化した関数を用いてもよい。非特許文献7とは、「S. Halevi and H. Krawczyk, MMH:Software Message Authentication in the Gbit/second rates, Fast Software Encryption, 4th Internatioanl Workshop, FSE '97, Lecture Notes in Computer Science; Vol. 1267, Feb. 1997」である。ここに開示された方法を用いて第1の攪拌手段101を実現した場合の構成を図4に示す。図4は攪拌手段および逆攪拌手段をFeistel型置換で実現する場合を示す。
第1の調整値付き単位ブロック暗号化手段102は、第1の攪拌手段101の出力を用いて暗号化処理を行う。具体的には、第1の攪拌手段101の出力(SE,TE)(SEはnビット、TEはmビット)について、第1の調整値付き単位ブロック暗号化手段102は、ある調整値付きブロック暗号(tweakable block cipher)の暗号化関数TWENC1を用いて、式(6)とする。
Figure 0005365750
ここで、TWENC1(K1,(TE,SE))は鍵K1、mビットのtweak TEを用いて、nビットの平文SEを暗号化する処理を示す。また、「||」はビットの連結を表し、式(6)の出力は、UEのmビットとZEの(n−m)ビットの合計nビットとなる。nビットのSEが第1の中間変数に相当し、mビットのTEが第2の中間変数に相当する。mビットのUEが第3の中間変数に相当し、(n−m)ビットのZEが第4の中間変数に相当する。
第1の調整値付き単位ブロック暗号化手段102で用いる調整値付きブロック暗号は、式(6)が示すように、mビット調整値を持ち、nビットブロックサイズである。
具体的な構成方法としては、既存のブロック暗号もしくはそのシリアル合成に対して、中間変数の一部へ調整値を加算する方式がある。例えば、Feistel暗号については、このようなアプローチの妥当性が非特許文献8に開示されている。非特許文献8とは、「D. Goldenberg, S. Hohenberger, M. Liskov, E. C. Schwartz, H. Seyalioglu, On Tweaking Luby-Rackoff Blockciphers, Advances in Cryptology - ASIACRYPT 2007, 13th International Conference on the Theory and Application of Cryptology and Information Security, Kuching, Malaysia, December 2-6, 2007, Proceedings. Lecture Notes in Computer Science 4833 Springer 2007, pp. 342-356.」である。
また、調整値に依存したブロック暗号の鍵更新を利用することで、既存の(通常の、調整値付きでない)nビットブロック暗号のアルゴリズムに手を加えることなく構成することも可能である。例えば、nビットブロック、L(Lはn以上の正の整数;例えば2n)ビット鍵を持つ通常のブロック暗号の暗号化関数Eと、Lビットブロックの暗号化関数Gがあれば、TWENC1を、式(7)とすることが可能である。
Figure 0005365750
ここで、E(V, M)はLビットのVを鍵としたnビット平文Mの暗号化で、pad(T)はmビットのTをLビットへパディング(例えば、全ゼロを付け加えるなど)する処理であり、G(K1,pad(T))は鍵K1によるLビットのpad(T)の暗号化である。このときのTWENCを図5に示す。
図5に示すように、暗号化関数TWENCは、n以上で任意の正の整数Lについて、nビットブロック、Lビット鍵のブロック暗号の暗号化関数Eと、Lビットブロックの暗号化関数Gを用いて、mビットの調整値を暗号化関数Gで暗号化した結果をさらに暗号化関数Eの鍵として用いてnビット平文を暗号化するものである。
図5において、第1の調整値付き単位ブロック暗号化手段102の場合、図5に示すTWENCはTWENC1と表され、図5に示す鍵KはK1と表される。また、第2の調整値付き単位ブロック暗号化手段103の場合、図5に示すTWENCはTWENC2と表され、図5に示す鍵KはK2と表される。
例えば、n=64,L=112とすると、Eを2-key Triple DESの暗号化関数、GをAESの暗号化関数(ただし、出力を128ビットから適当に112ビットへ短縮)とすることが可能である。GをAESの暗号化関数とした場合、他にもEとしてBlowfish, MISTY1 (n=64,L=128)などの64ビットブロック暗号の暗号化関数を用いることが可能である。このTWENC1を用いた場合、式(6)の処理は、式(8)となる。
Figure 0005365750
図3に示すsepは中間変数の分割処理を意味し、図3に示すconはバイナリ系列の連結を意味する。
第2の調整値付き単位ブロック暗号化手段103は、第1の調整値付き単位ブロック暗号化手段102において、式(6)に従って出力されたmビットのUEと(n−m)ビットのZE、およびnビットのTEを用いた暗号化処理を行う。
具体的には、第2の調整値付き単位ブロック暗号化手段103は、ある調整値付きブロック暗号の暗号化関数TWENC2(mビット調整値、nビットブロック)を用いて、式(9)とする。
Figure 0005365750
ここで、UE,ZE,TEは式(6)に従い、K2はTWENC2の鍵である。nビットのVEは第5の中間変数に相当する。
暗号化関数TWENC2は第1の調整値付き単位ブロック暗号化手段102が用いるTWENC1と異なるアルゴリズムでもよいし、同じアルゴリズムでもよい。後者の場合、任意のM,K,TについてTWENC2(K,T,M)=TWENC1(K,T,M)となる。さらに、K2は第1の調整値付き単位ブロック暗号化手段102が用いる鍵K1と同じでもよいし、独立でもよい。
第2の逆攪拌手段104は、第2の調整値付き単位ブロック暗号化手段103の(n+m)ビット出力へシンプルな鍵付き置換invmix2を適用する処理を行う。第2の逆攪拌手段104の入力を(UE,VE)とすると、出力はinvmix2(UE,VE)となる。
invmix2は、その逆置換をmix2としたとき(すなわち任意の(n+m)ビットxについてmix2(invmix2(x)) = x)、mix2が第1の攪拌手段101におけるmix1と同様の性質を持つとする。
具体的には、任意の異なる2つの、(n+m)ビット暗号文y, y'を、y=(yL,yR)、y'=(y'L,y'R)とする。ただし、yLとy'Lはmビット、yRとy'Rはnビットである。また、対応するmix2の出力を、(UE,VE) = mix2(yL,yR)および(UE',VE') = mix2(y'L,y'R)とする。この場合、どのような暗号文対であっても、以下の条件(式(10))を十分小さいgについて満たすことが必要である。
Figure 0005365750
ここで、mix2はmix1の処理を左右反転させたものでよく、invmix2はmix2を定めれば一意に定まる。
具体的には、invmix2は、mix1と同様にFeistel置換でよい。このときinvmix2の入力を(UE,VE)、出力を(yL,yR)とすれば、式(11)とすればよい。
Figure 0005365750
ここで用いる鍵付き関数Hの鍵は、第1の攪拌手段101が用いるHの鍵と等しくてもよいし、独立でもよい。Feistel置換を用いて第2の逆攪拌手段104を実現した場合の構成を図4に示す。
暗号文出力手段105は、第2の逆攪拌手段104から入力される(n+m)ビットの暗号文(yL,yR)を出力する手段である。ディスプレイ装置やプリンターなどで実現可能である。
次に、本実施形態の部分ブロック長ブロック暗号化装置10の動作を説明する。図6は本実施形態の部分ブロック長ブロック暗号化装置の動作手順を示すフローチャートである。
平文入力手段100に平文(xL,xR)が入力されると(ステップ301)、第1の攪拌手段101は、鍵付き置換を用いて平文(xL,xR)を撹拌して中間変数(SE,TE)を求める(ステップ302)。次に、第1の調整値付き単位ブロック暗号化手段102は、中間変数TEの、あるmビット部分を調整値として式(6)に従って中間変数SEを暗号化し、中間変数UE、ZEを求める(ステップ303)。次に、第2の調整値付き単位ブロック暗号化手段103は、中間変数UEの、あるmビット部分を調整値として、中間変数ZEと中間変数TEを連結した結果を暗号化し、中間変数VEを求める(ステップ304)。その後、第2の逆攪拌手段104が鍵付き逆置換を用いて中間変数(UE,VE)を逆撹拌して暗号文(yL,yR)を生成し、暗号文(yL,yR)が暗号文出力手段105から出力される(ステップ305)。
(第2の実施形態)
本実施形態の部分ブロック長ブロック復号装置の構成を説明する。図7は本実施形態の部分ブロック長ブロック復号装置の一構成例を示すブロック図である。
本実施形態の部分ブロック長ブロック復号装置20は、暗号文入力手段200と、第2の攪拌手段201と、第2の調整値付き単位ブロック復号手段202と、第1の調整値付き単位ブロック復号手段203と、第1の逆攪拌手段204と、平文出力手段205とを有する。
なお、図7に示す部分ブロック長ブロック復号装置10を、図2に示した情報処理装置150で実現することが可能であり、ここでは、その詳細な説明を省略する。
次に、図7に示した部分ブロック長ブロック復号装置20を構成する各手段について説明する。図8は、本実施形態の部分ブロック長ブロック復号装置における情報処理の流れを示す図である。
本実施形態も、ターゲットとするブロックサイズを(n+m)ビット(mは1以上n未満)、内部で用いる調整値付きブロック暗号のブロックサイズをnビット、調整値の長さをmビットとする場合で説明する。
暗号文入力手段200は、復号の対象となる(n+m)ビットの暗号文を入力する手段である。暗号文入力手段200は、例えば、キーボードなどの文字入力装置である。また、暗号文入力手段200は、インタフェース装置または読み取り装置であってもよい。
第2の攪拌手段201は、入力された(n+m)ビットの暗号文へ鍵付き置換mix2を適用するものである。鍵付き置換mix2は、第1の実施形態におけるinvmix2の逆関数であればよい。
第2の調整値付き単位ブロック復号手段202は、第2の攪拌手段201の出力を用いた復号処理である。具体的には、第2の攪拌手段201の出力を(UD,VD)(UDはmビット、VDはnビット)とした場合、第2の調整値付き単位ブロック復号手段202は、第1の実施形態における第2の調整値付き単位ブロック暗号化手段103の用いる調整値付きブロック暗号の暗号化関数TWENC2に対応した復号関数TWDEC2を用いて、(UD,VD)から、式(12)として(n−m)ビットのZDとmビットのTDを求め、(ZD,UD,TD)を出力する。
Figure 0005365750
TWDEC2の鍵K2は式(9)におけるK2と同じ値である。mビットのUDが第1の中間変数に相当し、nビットのVDが第2の中間変数に相当し、(n−m)ビットのZDが第3の中間変数に相当し、mビットのTDが第4の中間変数に相当する。
もしTWENC2が式(7)と同様にnビットブロック、Lビット鍵を持つブロック暗号の暗号化関数EとLビットブロックの暗号化関数Gにより行われる場合、暗号化関数Eに対応する復号関数Dを用いて、TWDEC2は、式(13)と定義される。
Figure 0005365750
このときのTWDECを図9に示す。
図9に示すように、復号関数TWDECは、n以上で任意の正の整数Lについて、nビットブロック、Lビット鍵のブロック暗号の復号関数Dと、Lビットブロックの暗号化関数Gを用いて、mビットの調整値を暗号化関数Gで暗号化した結果をさらに復号関数Dの鍵として用いてnビット暗号文を復号するものである。
図9において、第1の調整値付き単位ブロック復号手段203の場合、図9に示すTWDECはTWDEC1と表され、図9に示す鍵KはK1と表される。また、第2の調整値付き単位ブロック復号手段202の場合、図9に示すTWDECはTWDEC2と表され、図9に示す鍵KはK2と表される。
このTWDEC2を用いた場合、式(12)の処理は、式(14)となる。
Figure 0005365750
第1の調整値付き単位ブロック復号手段203は、第2の調整値付き単位ブロック復号手段202の出力を用いた復号処理である。
具体的には、第1の調整値付き単位ブロック復号手段203は、第1の実施形態における第1の調整値付き単位ブロック暗号化手段102が用いる調整値付きブロック暗号の暗号化関数TWENC1(mビット調整値、nビットブロック)に対応する復号関数TWDEC1を用いて、(UD,ZD,TD)から、式(15)とし、(SD,TD)を出力する。
Figure 0005365750
TWDEC1の鍵K1は、式(6)におけるK1と同じ値である。もしTWENC1が式(8)のように行われる場合、TWDEC1はTWDEC2と同様にnビットブロック、Lビット鍵を持つブロック暗号の復号関数DとLビットブロックの暗号化関数Gにより、式(16)となる。
Figure 0005365750
nビットのSDは第5の中間変数に相当する。復号関数TWDEC1は第2の調整値付き単位ブロック復号手段202が用いるTWDEC2と異なるアルゴリズムでもよいし、同じアルゴリズムでもよい。後者の場合、任意のC,K,TについてTWDEC1(K,T,C)=TWDEC2(K,T,C)となる。さらに、K1は第2の調整値付き単位ブロック復号手段202が用いる鍵K2と同じでもよいし、独立でもよい。
第1の逆攪拌手段204は、第1の調整値付き単位ブロック復号手段203の出力へ鍵付き置換invmix1を適用するものである。invmix1は第1の実施形態における第1の攪拌手段101が用いる置換mix1の逆置換である。
平文出力手段205は、第1の逆攪拌手段204から与えられる平文(xL,xR)を出力する手段である。ディスプレイ装置やプリンターなどで実現可能である。
次に、本実施形態の部分ブロック長ブロック復号装置20の動作を説明する。図10は本実施形態の部分ブロック長ブロック復号装置の動作手順を示すフローチャートである。
暗号文入力手段200に暗号文(yL,yR)が入力されると(ステップ401)、第2の攪拌手段201は、鍵付き置換を用いて暗号文(yL,yR)を撹拌して中間変数(UD,VD)を求める(ステップ402)。次に、第2の調整値付き単位ブロック復号手段202は、中間変数UDの、あるmビット部分を調整値として式(12)に従って中間変数VDを復号し、中間変数ZD、TDを求める(ステップ403)。次に、第1の調整値付き単位ブロック復号手段203は、中間変数TDの、あるmビット部分を調整値として、中間変数UDと中間変数ZDを連結した結果を復号し、中間変数SDを求める(ステップ404)。その後、第1の逆攪拌手段204が鍵付き逆置換を用いて中間変数(SD,TD)を逆撹拌して平文(xL,xR)を生成し、平文(xL,xR)が平文出力手段205から出力される(ステップ405)。
第1および第2の実施形態によれば、部品として用いる(mビット調整値、nビットブロックの)調整値付きブロック暗号が理論的に安全で、攻撃者が用いる平文・暗号文対の数が2(n+m)/2より十分小さい場合に理論的安全性を持つため、バースデー攻撃に対する理論的耐性を持つ。そのため、バースデー限界を超えた安全性を保証する部分ブロック長ブロック暗号を効率よく実現することができる。耐性の強さはmに正比例して大きくなる。
調整値付きブロック暗号自体にもnのバースデー限界を超えた安全性が求められるが、調整値の長さ(要求する安全性のレベルにより決まる)によっては通常のブロック暗号で実現可能である。また、非特許文献9に記載のHasty Pudding Cipherのように一から設計された調整値付きブロック暗号アルゴリズムが存在し、また、非特許文献8に記載のように、通常のブロック暗号のアルゴリズムにおける中間変数へ調整値を加算することで調整値付きブロック暗号を作るアプローチも提案されており、これらの成果に基づいたアルゴリズムで、nのバースデー限界を超えた安全性を有する調整値付きブロック暗号を実現することも可能である。
非特許文献9とは、「R. Schroeppel, Specification for the Hasty Pudding Cipher, http:// www. cs. arizona. edu/ ~rcs/ hpc/ hpc-spec.」である。
さらに、上述の実施形態において、最初と最後は攪拌と呼ばれる処理が必要であるが、これはユニバーサルハッシュ関数で実現可能であり、実装環境に応じて最適化することで、ブロック暗号よりも大幅に高速に動作させることが可能である。
上述の実施形態で説明した、本発明の一例である(n+m)ビットブロック暗号を、具体的には、通信やデータストレージにおける暗号化に使用する場合に、暗号モードとして使用することが考えられる。すなわち、暗号化の対象となるパケットなどの情報を(n+m)ビットごとに分割し、通信であればCBC(Cipher Block Chaining)モードが適用できる。ハードディスクなどデータストレージの暗号化においては、非特許文献6に記載の方式を応用して適用可能である。また、通常のブロック暗号とは異なる特定長のメッセージを効率よく暗号化することが可能である。
例えばn=64,m=32とおくことで96ビットの等長暗号化が可能となる。等長暗号化は通常のCBCなどの暗号化で起こる出力データの増加がないため、通信帯域の削減やデータのフォーマットを保ったままの暗号化に有用である。上述の96ビット等長暗号化の場合、64ビットブロック暗号を用いた、非特許文献2に開示された方法では32ビットの安全性(すなわち232回の暗号化での安全性)しか保証できないが、本発明では、上述の64ビットブロック暗号と128ビットブロック暗号を組み合わせることで、48ビットの安全性を保証することが可能となる。
本発明の効果の一例として、バースデー限界を超えた安全性を保証する部分ブロック長ブロック暗号を効率よく実現することができる。
また、本発明のプログラムの場合に限らず、本発明のプログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。本発明のプログラムを通信回線を介して他の情報処理装置に送信する場合に限らず、本発明のプログラムを記録媒体を介して他の情報処理装置にインストールすることが可能となる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明を、無線または有線のデータ通信における認証と暗号化などの用途や、ストレージ上のデータの暗号化と改ざん防止などの用途に適用できる。
なお、この出願は、2011年1月31日に出願された日本出願の特願2011−18359の内容が全て取り込まれており、この日本出願を基礎として優先権を主張するものである。
10 部分ブロック長ブロック暗号化装置
20 部分ブロック長ブロック復号装置
100 平文入力手段
101 第1の撹拌手段
102 第1の調整値付き単位ブロック暗号化手段
103 第2の調整値付き単位ブロック暗号化手段
104 第2の逆撹拌手段
105 暗号文出力手段
200 暗号文入力手段
201 第2の撹拌手段
202 第2の調整値付き単位ブロック復号手段
203 第1の調整値付き単位ブロック復号手段
204 第1の逆撹拌手段
205 平文出力手段

Claims (10)

  1. nを1以上の整数とし、mを1以上n未満の整数とするとき、暗号化対象の(n+m)ビット平文が入力される平文入力手段と、
    前記(n+m)ビット平文に対してユニバーサルハッシュ関数ベースの置換を適用し、nビットの第1の中間変数とmビットの第2の中間変数を生成する攪拌手段と、
    mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第2の中間変数を調整値として前記第1の中間変数を暗号化し、mビットの第3の中間変数と(n−m)ビットの第4の中間変数を生成する第1の調整値付き単位ブロック暗号化手段と、
    前記mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第3の中間変数を調整値として、前記第2の中間変数と前記第4の中間変数を連結したnビットの中間変数を暗号化することで、nビットの第5の中間変数を生成する第2の調整値付き単位ブロック暗号化手段と、
    前記第3の中間変数と前記第5の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット暗号文を生成する逆攪拌手段と、
    前記(n+m)ビット暗号文を出力する暗号文出力手段と、
    を有するブロック暗号化装置。
  2. 請求項1に記載のブロック暗号化装置において、
    前記ユニバーサルハッシュ関数ベースの置換および前記ユニバーサルハッシュ関数ベースの逆置換が、nビット入力mビット出力のユニバーサルハッシュ関数をラウンド関数としたFeistel型置換で構成される、ブロック暗号化装置。
  3. 請求項1または2に記載のブロック暗号化装置において、
    前記mビット調整値付きnビットブロック暗号の暗号化関数は、
    n以上で任意の正の整数Lについて、nビットブロック、Lビット鍵のブロック暗号の暗号化関数Eと、Lビットブロックの暗号化関数Gを用いて、調整値を該暗号化関数Gで暗号化した結果をさらに該暗号化関数Eの鍵として用いてnビット平文を暗号化するものである、ブロック暗号化装置。
  4. nを1以上の整数とし、mを1以上n未満の整数とするとき、復号対象の(n+m)ビット暗号文が入力される暗号文入力手段と、
    前記(n+m)ビット暗号文に対してユニバーサルハッシュ関数ベースの置換を適用し、mビットの第1の中間変数とnビットの第2の中間変数を生成する攪拌手段と、
    mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第1の中間変数を調整値として前記第2の中間変数を復号し、(n−m)ビットの第3の中間変数とmビットの第4の中間変数を生成する第2の調整値付き単位ブロック復号手段と、
    前記mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第4の中間変数を調整値として前記第1の中間変数と前記第3の中間変数を連結したnビットの中間変数を復号することで、nビットの第5の中間変数を生成する第1の調整値付き単位ブロック復号手段と、
    前記第5の中間変数と前記第4の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット平文を生成する逆攪拌手段と、
    前記(n+m)ビット平文を出力する平文出力手段と、
    を有する復号装置。
  5. 請求項4に記載の復号装置において、
    前記ユニバーサルハッシュ関数ベースの置換および前記ユニバーサルハッシュ関数ベースの逆置換が、
    nビット入力mビット出力のユニバーサルハッシュ関数をラウンド関数としたFeistel型置換で構成される、復号装置。
  6. 請求項4または5に記載の復号装置において、
    前記mビット調整値付きnビットブロック暗号の復号関数は、
    n以上で任意の正の整数Lについて、nビットブロック、Lビット鍵のブロック暗号の復号関数Dと、Lビットブロックの暗号化関数Gを用いて、調整値を該暗号化関数Gで暗号化した結果をさらに該復号関数Dの鍵として用いてnビット暗号文を復号するものである、復号装置。
  7. nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット平文から暗号文を生成するための暗号化方法であって、
    前記(n+m)ビット平文に対してユニバーサルハッシュ関数ベースの置換を適用し、nビットの第1の中間変数とmビットの第2の中間変数を生成し、
    mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第2の中間変数を調整値として前記第1の中間変数を暗号化し、mビットの第3の中間変数と(n−m)ビットの第4の中間変数を生成し、
    前記mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第3の中間変数を調整値として、前記第2の中間変数と前記第4の中間変数を連結したnビットの中間変数を暗号化することで、nビットの第5の中間変数を生成し、
    前記第3の中間変数と前記第5の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット暗号文を生成し、
    前記(n+m)ビット暗号文を出力する、暗号化方法。
  8. nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット暗号文から平文を生成するための復号方法であって、
    前記(n+m)ビット暗号文に対してユニバーサルハッシュ関数ベースの置換を適用し、mビットの第1の中間変数とnビットの第2の中間変数を生成し、
    mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第1の中間変数を調整値として前記第2の中間変数を復号し、(n−m)ビットの第3の中間変数とmビットの第4の中間変数を生成し、
    前記mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第4の中間変数を調整値として前記第1の中間変数と前記第3の中間変数を連結したnビットの中間変数を復号することで、nビットの第5の中間変数を生成し、
    前記第5の中間変数と前記第4の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット平文を生成し、
    前記(n+m)ビット平文を出力する、復号方法。
  9. nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット平文から暗号文をコンピュータに生成させるためのプログラムであって、
    前記(n+m)ビット平文に対してユニバーサルハッシュ関数ベースの置換を適用し、nビットの第1の中間変数とmビットの第2の中間変数を生成し、
    mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第2の中間変数を調整値として前記第1の中間変数を暗号化し、mビットの第3の中間変数と(n−m)ビットの第4の中間変数を生成し、
    前記mビット調整値付きnビットブロック暗号の暗号化関数を用いて、前記第3の中間変数を調整値として、前記第2の中間変数と前記第4の中間変数を連結したnビットの中間変数を暗号化することで、nビットの第5の中間変数を生成し、
    前記第3の中間変数と前記第5の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット暗号文を生成し、
    前記(n+m)ビット暗号文を出力する処理を前記コンピュータに実行させるためのプログラ
  10. nを1以上の整数とし、mを1以上n未満の整数とするとき、(n+m)ビット暗号文から平文をコンピュータに生成させるためのプログラムであって、
    前記(n+m)ビット暗号文に対してユニバーサルハッシュ関数ベースの置換を適用し、mビットの第1の中間変数とnビットの第2の中間変数を生成し、
    mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第1の中間変数を調整値として前記第2の中間変数を復号し、(n−m)ビットの第3の中間変数とmビットの第4の中間変数を生成し、
    前記mビット調整値付きnビットブロック暗号の復号関数を用いて、前記第4の中間変数を調整値として前記第1の中間変数と前記第3の中間変数を連結したnビットの中間変数を復号することで、nビットの第5の中間変数を生成し、
    前記第5の中間変数と前記第4の中間変数を連結した結果に対してユニバーサルハッシュ関数ベースの逆置換を適用し、(n+m)ビット平文を生成し、
    前記(n+m)ビット平文を出力する処理を前記コンピュータに実行させるためのプログラ
JP2012555798A 2011-01-31 2012-01-23 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム Active JP5365750B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012555798A JP5365750B2 (ja) 2011-01-31 2012-01-23 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011018359 2011-01-31
JP2011018359 2011-01-31
PCT/JP2012/051326 WO2012105352A1 (ja) 2011-01-31 2012-01-23 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
JP2012555798A JP5365750B2 (ja) 2011-01-31 2012-01-23 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム

Publications (2)

Publication Number Publication Date
JP5365750B2 true JP5365750B2 (ja) 2013-12-11
JPWO2012105352A1 JPWO2012105352A1 (ja) 2014-07-03

Family

ID=46602571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012555798A Active JP5365750B2 (ja) 2011-01-31 2012-01-23 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム

Country Status (3)

Country Link
US (1) US8891761B2 (ja)
JP (1) JP5365750B2 (ja)
WO (1) WO2012105352A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571270B2 (en) * 2013-11-29 2017-02-14 Portland State University Construction and uses of variable-input-length tweakable ciphers
KR101519777B1 (ko) * 2014-01-29 2015-05-12 현대자동차주식회사 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법
US9946662B2 (en) * 2014-08-29 2018-04-17 The Boeing Company Double-mix Feistel network for key generation or encryption
US10346318B2 (en) * 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus
DE112017007095T5 (de) * 2017-02-21 2019-11-21 Mitsubishi Electric Corporation Verschlüsselungsvorrichtung und entschlüsselungsvorrichtung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034212A (ja) * 2005-07-29 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム
WO2009020060A1 (ja) * 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2010024003A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
WO2010024004A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175008A (ja) 2000-09-27 2002-06-21 Nec Soft Ltd 暗号化方法、暗号化器、暗号化及び復号化システム
JP2002108205A (ja) 2000-09-28 2002-04-10 Hitachi Software Eng Co Ltd ブロック暗号方法及び復号方法
US7200227B2 (en) * 2001-07-30 2007-04-03 Phillip Rogaway Method and apparatus for facilitating efficient authenticated encryption
US7418100B2 (en) * 2004-10-20 2008-08-26 Cisco Technology, Inc. Enciphering method
JP5182091B2 (ja) 2006-08-10 2013-04-10 日本電気株式会社 調整機能付きブロック暗号装置と方法とプログラム
JP5141558B2 (ja) 2006-10-30 2013-02-13 日本電気株式会社 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
US8107620B2 (en) 2007-03-21 2012-01-31 International Business Machines Corporation Simple and efficient one-pass authenticated encryption scheme
JP5038866B2 (ja) 2007-11-27 2012-10-03 日本電信電話株式会社 暗号通信方法、暗号化装置、復号装置、及びそれらのプログラム
US8526605B2 (en) * 2009-10-09 2013-09-03 Seagate Technology Llc Data encryption to provide data security and memory cell bit wear leveling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034212A (ja) * 2005-07-29 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム
WO2009020060A1 (ja) * 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2010024003A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
WO2010024004A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム

Also Published As

Publication number Publication date
US8891761B2 (en) 2014-11-18
WO2012105352A1 (ja) 2012-08-09
JPWO2012105352A1 (ja) 2014-07-03
US20130308775A1 (en) 2013-11-21

Similar Documents

Publication Publication Date Title
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2015015702A1 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
JP2010140026A (ja) 連鎖暗号モードのための方法および装置
WO2012132623A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
US9800406B2 (en) Technologies for modifying a first cryptographic cipher with operations of a second cryptographic cipher
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
WO2011105367A1 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP2015158665A (ja) 形態保存暗号化のための可変長ブロック暗号装置および方法
WO2010024003A1 (ja) 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
JPWO2008053650A1 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
JP5365750B2 (ja) ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
US8526602B2 (en) Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
JP5333450B2 (ja) 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
Duta et al. Randomness evaluation framework of cryptographic algorithms
Sousi et al. Aes encryption: Study & evaluation
Shah et al. Serpent Algorithm: An Improvement by $4\times 4$ S-Box from Finite Chain Ring
Nema et al. Critical analysis of various symmetric key cryptographic algorithms
KR101583285B1 (ko) 확장 키를 이용한 블록 암호화 방법 및 그 방법에 따른 장치
Azzawi Enhancing the encryption process of advanced encryption standard (AES) by using proposed algorithm to generate S-Box
Salman New method for encryption using mixing advanced encryption standard and blowfish algorithms
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
Mahmoud et al. Improved Rijndael Algorithm by Encryption S-Box Using NTRU Algorithm
Kangude et al. Advanced Encryption Standard

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5365750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150