JPWO2007052477A1 - メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 - Google Patents

メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 Download PDF

Info

Publication number
JPWO2007052477A1
JPWO2007052477A1 JP2007542334A JP2007542334A JPWO2007052477A1 JP WO2007052477 A1 JPWO2007052477 A1 JP WO2007052477A1 JP 2007542334 A JP2007542334 A JP 2007542334A JP 2007542334 A JP2007542334 A JP 2007542334A JP WO2007052477 A1 JPWO2007052477 A1 JP WO2007052477A1
Authority
JP
Japan
Prior art keywords
message
block
hash
message authentication
aes
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.)
Granted
Application number
JP2007542334A
Other languages
English (en)
Other versions
JP4735644B2 (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 JP2007542334A priority Critical patent/JP4735644B2/ja
Publication of JPWO2007052477A1 publication Critical patent/JPWO2007052477A1/ja
Application granted granted Critical
Publication of JP4735644B2 publication Critical patent/JP4735644B2/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/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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • 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/80Wireless

Abstract

ブロック暗号とその一部の部品を組合せて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用メモリ量の点で効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体を提供する。メッセージを入力する入力手段100、メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段101、パディング済みメッセージをブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返し、1ブロックのハッシュ値を出力する修正木ハッシュ手段102、ハッシュ値を暗号化してタグとする調整値付暗号化手段103、及び、タグとメッセージとを連結して出力する出力手段104を備えたメッセージ認証装置とする。

Description

本発明は、ブロック暗号と、ブロック暗号の一部の処理との組合せにより構築された、汎用的で高速な、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体に関する。
メッセージ認証とは、メッセージに対して秘密鍵を知るものだけが計算できるタグを付与することであり、メッセージが正当であることを保証する技術である。例えば、メッセージ認証を用いれば、秘密鍵を共有した2者の通信において、通信の間に行われた、第3者による改ざんを検知することが可能となる。
具体的には、送信者がメッセージとタグを受信者に送ったとき、受信者側では受け取ったメッセージからタグを計算し、受信したタグとの一致をみることで、メッセージが正当な送信者から送られたものかどうかを判断することができる。なお、通常のメッセージ認証方式ではタグの生成方法さえ決まれば受信者側の認証方法は一意に定まるため、タグの生成方法だけを記述すれば十分である。
メッセージ認証の方法として、ブロック暗号を用いた方式が数多く知られている。これらはブロック暗号のメッセージ認証モードとも呼ばれ、古典的なCBC−MACモードをはじめとして、CBC−MACを改良したEMAC、XCBC、OMACなどが知られている。CBC−MACは可変長ブロックメッセージを受け入れた場合には安全でなく、また、メッセージがブロック長の倍数でない場合の処理が定められていないという欠点が知られている。
また、EMAC、XCBC、OMACなどの改良されたモードは、CBC−MACとほぼ同等の処理量であり、任意の長さ(ビット)のメッセージについて安全である。CBC−MACを含めたこれらのモードについては、例えば非特許文献1に記載されている。
ここで、例として、OMACのブロック図を図1に示す。図1に示すように、これらのモードはシンプルであるが、タグの生成においておよそメッセージのブロック数だけブロック暗号を動作させる必要がある。そのため、その速度は常にブロック暗号の速度を超えることはない。
一方、ブロック暗号だけを用いるのではなく、ユニバーサルハッシュ関数と呼ばれる鍵つきの関数を組み合わせてメッセージ認証を実現する方法もよく知られている。これはユニバーサルハッシュ関数の提案者の名前を取って、Carter−Wegman認証方式とも呼ばれる。実装環境に応じて最適化されたユニバーサルハッシュ関数は現在よく使われるブロック暗号よりも数倍高速に動作することが報告されている。このようなユニバーサルハッシュ関数は、例えば非特許文献2に記載されている。
また、小さな入出力幅のユニバーサルハッシュ関数を用いて、入力幅を任意に拡大する(出力幅はそのまま)方法がいくつか知られている。その一つの方式が非特許文献3に記載されている修正木ハッシュである。この修正木ハッシュを、2ブロック入力、1ブロック出力のユニバーサルハッシュ関数Hを用いる場合で以下に説明する。入力Xがmブロック(X=(X1、X2・・・Xm))であるとし、Hi(但し、i=1、2・・・)をそれぞれ独立な鍵を用いるHの実現とする。Hによる修正木ハッシュをMTHとすると、以下に示す式(1)で表される。
MTH(X)=G[HS](G[HS-1](・・・G[H1](X)・・・))・・・式(1)
入力が偶数ブロック数の場合:
G[Hi](X)=Hi(X1,X2)‖Hi(X3,X4)‖・・・‖Hi(Xm-1,Xm
入力が奇数ブロック数の場合:
G[Hi](X)=Hi(X1,X2)‖Hi(X3,X4)‖・・・‖Hi(Xm-2,Xm-1)‖Xm
但し、s=log(m)(対数の底は2)以上の最小の整数
MTHは、ブロック長の整数倍の長さの任意のメッセージを受け入れ、その出力は常に1ブロックの長さになる。
式(1)が示すように、mブロック平文を処理するのに修正木ハッシュは高々log(m)+1個のHの鍵を用意すればよい。非特許文献3では、修正木ハッシュを非特許文献2に記載のMMHハッシュを用いて実現している。
Carter−Wegman認証方式では、タグ生成の速度はユニバーサルハッシュ関数の速度にほぼ一致するため、一般的にCBC−MACなどのブロック暗号のみの認証モードよりも高速である。しかし、どのような計算機環境でも実装可能で、かつ高速であるユニバーサルハッシュ関数は知られていないため、ユニバーサルハッシュ関数が高速に実装可能な環境でないと使用できないことと、二つの部品を実装するためプログラムのサイズが一般に大きくなることが問題となる。
これらの問題を解決する一つのアプローチが、ブロック暗号とその部品とを組み合わせることである。非特許文献4において、そのような組合せによるメッセージ認証方式が提案されている。これはブロック暗号の一部の段関数をCBC−MACのように反復処理させることで、ブロック暗号の速度よりも高速なタグ生成処理を実現している。
しかし、この方式には非特許文献1に記載のブロック暗号認証モードや、ユニバーサルハッシュ関数とブロック暗号を組み合わせる方式が持つ理論的な安全性の保証がないという大きな欠点がある。ここでの理論的安全性とは、認証方式の安全性が常にブロック暗号そのものの安全性に帰着できるという性質を指す。詳しい定義などは非特許文献1に記載されている。理論的安全性を持たない認証方式の場合、使用しているブロック暗号がどんなに強いものであろうとタグの偽造が容易にできてしまう可能性がある。
また、特許文献1には、メッセージ認証において、XCBCにおける安全性を損なうことなく処理コストを削減する技術が開示されている。本技術は、デジタルデータのデータ長がブロック長の倍数である場合は、最終ブロックに鍵K1及び別の鍵K2のいずれか一方の鍵と排他的論理輪をとって暗号化を行い、デジタルデータのデータ長がブロック長の倍数でない場合は、最終ブロックの末尾に1を付加し、さらにブロック長に収まるよう0を付加したデータを上記鍵K1及び別の鍵K2のいずれか一方の鍵とは異なる別の鍵K2及び鍵K1のいずれか一方の鍵との排他的論理和をとって暗号化を行うものである。
特開2003−333036号公報 岩田 哲、ブロック暗号利用モードの安全性に関する調査、独立行政法人情報処理推進機構(IPA)暗号技術関連の調査報告、2003年 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 Martin Boesgaard, Ove Scavenius, Thomas Pedersen, Thomas Christensen, Erik Zenner, Badger - A Fast and Provably Secure MAC, Applied Cryptography and Network Security (ACNS) 2005 J. Daemen and V. Rijmen, A New MAC Construction ALRED and a Specific Instance ALPHA-MAC、Fast Software Encryption, International Workshop, FSE 2005, Lecture Notes in Computer Science; Vol. 3557, Feb. 2005
しかし、CBC−MACなどの現在知られている安全なブロック暗号の認証モードでは、すべての入力されたメッセージの各ブロック毎にブロック暗号を適用するため、ブロック暗号そのものの速度を超えた速度は達成できないという問題点があった。
また、あらゆる環境で高速に動作するユニバーサルハッシュ関数は知られていないということ、及び、ブロック暗号とユニバーサルハッシュ関数の両方を実装するためにプログラムサイズが大きくなるという理由から、ブロック暗号モードよりも高速なCarter−Wegman認証は、実装できる環境が限定されるという問題があった。
本発明は、上記のような問題点に鑑み、ブロック暗号とその一部の部品を組み合わせて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用するメモリ量の点でも効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体を提供することを目的とする。
請求項1に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、前記パディング済みメッセージを、ブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、1ブロックのハッシュ値を出力する修正木ハッシュ手段と、前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセージとを連結して出力する出力手段とを備えたメッセージ認証装置としたことを特徴とする。
請求項2に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前記パディング済みメッセージを1ブロックずつ足しながら連鎖させて1ブロックのハッシュ値へ圧縮する交替型連鎖手段と、前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセージとを連結して出力する出力手段とを備えたメッセージ認証装置としたことを特徴とする。
請求項3に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、前記パディング済みメッセージを、請求項2記載の交替型連鎖手段の一部の処理を請求項1記載の修正木ハッシュ手段で置き換えた構造により圧縮して1ブロック分のハッシュ値を出力する修正木連鎖ハッシュ手段と、前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセージとを連結して出力する出力手段とを備えたメッセージ認証装置としたことを特徴とする。
請求項4に記載の発明は、前記修正木ハッシュ手段が、AESの段関数の4回以上の繰り返しを用いて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項1記載のメッセージ認証装置としたことを特徴とする。
請求項5に記載の発明は、前記交替型連鎖手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項2記載のメッセージ認証装置としたことを特徴とする。
請求項6に記載の発明は、前記修正木連鎖ハッシュ手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項3記載のメッセージ認証装置としたことを特徴とする。
請求項7に記載の発明は、ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いる請求項1から3のいずれか1項に記載のメッセージ認証装置としたことを特徴とする。
請求項8に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、修正木ハッシュ手段が、前記出力されたパディング済みメッセージを、ブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、1ブロックのハッシュ値を出力する第3のステップと、調整値付暗号化手段が、前記出力されたハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
請求項9に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、交替型連鎖手段が、ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前記出力されたパディング済みメッセージを1ブロックずつ足しながら連鎖させて1ブロックのハッシュ値へ圧縮する第3のステップと、調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
請求項10に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、修正木連鎖ハッシュ手段が、前記出力されたパディング済みメッセージを、請求項2記載の交替型連鎖手段の一部の処理を請求項1記載の修正木ハッシュ手段で置き換えた構造により圧縮して1ブロック分のハッシュ値を出力する第3のステップと、調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
請求項11に記載の発明は、前記修正木ハッシュ手段が、AESの段関数の4回以上の繰り返しを用いて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項8記載のメッセージ認証方法としたことを特徴とする。
請求項12に記載の発明は、前記交替型連鎖手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項9記載のメッセージ認証方法としたことを特徴とする。
請求項13に記載の発明は、前記修正木連鎖ハッシュ手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成される請求項10記載のメッセージ認証方法としたことを特徴とする。
請求項14に記載の発明は、ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いる請求項8から10のいずれか1項に記載のメッセージ認証方法としたことを特徴とする。
請求項15に記載の発明は、請求項8から10のいずれか1項に記載のメッセージ認証方法を、コンピュータに実行させるためのメッセージ認証プログラムとしたことを特徴とする。
請求項16に記載の発明は、請求項15記載のメッセージ認証プログラムを記録した記録媒体としたことを特徴とする。
本発明によれば、ブロック暗号とその一部の部品を組み合わせて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用するメモリ量の点でも効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体を実現することができる。
本発明を実施するための最良の形態は、メッセージを入力する入力手段と、メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、パディング済みメッセージをブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、1ブロックのハッシュ値を出力する修正木ハッシュ手段と、ハッシュ値を暗号化してタグとする調整値付暗号化手段と、タグとメッセージとを連結して出力する出力手段とを備えたメッセージ認証装置とする。
以下に、本発明の好適な実施形態を添付図面に基づいて詳細に説明する。尚、以下に述べる実施形態は本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの実施形態に限られるものではない。
(実施形態1)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能について添付図面を用いて以下に説明する。図2は、本実施形態のメッセージ認証装置の構成を示すブロック図である。図2に示すように、本実施形態のメッセージ認証装置10は、入力手段100、パディング手段101、修正木ハッシュ手段102、調整値付暗号化手段103、及び、出力手段104を備えている。なお、本実施形態のメッセージ認証装置10は、コンピュータが一般的に備えている、CPU(処理装置)、メモリ(主記憶装置)、及び、ディスク(補助記憶装置)等を用いることにより実現することが可能である。
図3は、一般的なコンピュータの構成を示したブロック図である。図3に示すように、一般的なコンピュータは、キーボード、マウス等の入力装置1、処理装置(CPU)2、記憶装置3、ディスプレイやプリンタ等の出力装置4を備えている。処理装置(CPU)2は、制御装置5、演算装置6を備えており、計算などの処理を行う中心となる部分である。記憶装置3は、主記憶装置7(メインメモリ)、補助記憶装置8を備えており、データを一時的又は/及び永久的に記憶する。
図2に示す本実施形態のメッセージ認証装置10の備える各手段は、メッセージ認証に必要なプログラムをコンピュータのディスク(図3に示す補助記憶装置8)に格納しておき、このプログラムをCPU(図3に示す処理装置2)上で動作させることにより実現することができる。図2に示す入力手段100は、タグを付与する対象となる平文(メッセージ)を入力する手段である。これは例えばキーボードなどの文字入力装置(図3に示す入力装置1)により実現される。
パディング手段101は、メッセージ長を常にブロックの倍数に変換する手段である。ブロック長は用いるブロック暗号の入力幅によって決まる。もし1ブロックがnビットで、平文長をnで割った余りが(n−t)の場合、最初が1で残りがすべて0のtビットを平文に付加することで長さをブロックの倍数にする。既にブロックの倍数である平文については何も処理しない。
この方式に限らず、パディングの仕方は、メッセージ長がブロック長の倍数でない、異なる長さのメッセージ同士でパディングした結果が常に異なり、メッセージ長がブロック長の倍数であるメッセージについては何もしないという条件さえ守られるならばどのようなパディング方法でもよい。パディング手段101は、パディングされたメッセージと、パディング手段101においてパディングが行われたかどうか、すなわち元のメッセージ長がnの倍数だったかどうかを示すインジケータをd(1ならばnの倍数、2ならばそうでない)として出力する。
修正木ハッシュ手段102は、パディング手段101が出力するパディングされたメッセージを、ブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで1ブロックに圧縮する手段である。1ブロックをnビットとし、nビットブロック暗号をEとする。また、nビットの決定的置換をfとする。
修正木ハッシュ手段102の処理は、以下に示す式(2)から成り立っている。この処理は2nビット入力、nビット出力の鍵付き関数である。鍵はブロック暗号Eの鍵である。
X=(X1,X2)について、Di(X)=X2+f(E(i)+X1)・・・式(2)
但し、i=2^(n)−1以下の非負整数、式(2)において加算はビット毎の排他的論理和を表す。
ここで、式(2)で示されるnビット関数fの最大差分確率DP(f)について説明する。nビット関数fの最大差分確率DP(f)とは、aは0以外のnビット値、bは任意のnビット値としたときのPr(f(X)−f(X+a)=b)の最小値を指す。ただし、確率はXを一様にランダムなnビット値としたもとで計算される。また、加算も減算も排他的論理和を表す。
式(2)で示されるnビット関数fは、上記最大差分確率DP(f)が十分小さい、つまり2^(−n)に十分近いことが要求される。nビット置換の場合、最大差分確率は、理論的に2^(−n+1)まで小さくできることが知られているが、nが大きい場合に最大差分確率が十分小さい置換を作ることは現実には容易ではない。
しかし、決定的置換のかわりに鍵つきの置換(いくつかの置換の集合からランダムな鍵がひとつの置換を指定する。)を用いることも可能である。このときは、以下に説明する平均最大差分確率EDP(fKp)が小さいことが求められる。
nビット鍵付き関数fKp(ただしKPが鍵を表す。)の平均最大差分確率EDP(fKp)とは、aは0以外のnビット値、bは任意のnビット値としたときのPr(fKp(X)−fKp(X+a)=b)の最小値を指す。ただし、確率はXを一様にランダムなnビット値とし、さらに鍵をランダムとしたもとで計算される。また、加算も減算も排他的論理和を表す。
ブロック暗号を差分攻撃から守るときには、ブロック暗号の上記平均最大差分確率が小さいことが必要であるため、平均最大差分確率の小さい鍵付き置換はブロック暗号の部品となっていることが多い。例えばブロック暗号AESの場合については4段の段関数が平均最大差分確率の小さい鍵付き置換となることが「S. Park, S. H. Sung, S. Lee, and J. Lim, Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載されている。
修正木ハッシュ手段102は、非特許文献3の修正木ハッシュを式(2)に示すDiを用いて実行することが可能である。すなわち、式(1)に従い、mブロック入力X=(X1,X2・・・Xm)について、MTD(X)=G[DS](G[DS−1](・・・G[D1](X)・・・))(但し、s=log(m)(対数の底は2)以上の最小の整数)を求め、1ブロックのMTD(X)を出力する。このMTD(X)を修正木ハッシュ値と呼ぶ。
E(1)、E(2)、・・・、E(s)は、MTD(X)を求めるのに用いられ、ハッシュ鍵と呼ばれる。KPを鍵とした鍵付き置換fKpをfの代わりとして用いる場合、式(2)において各D1、D2、・・・の鍵KPはそれぞれ同一であるか、もしくはそれぞれ異なる独立な値であるかのいずれでもよいが、ランダムに生成されている必要がある。鍵KPはブロック暗号Eの鍵と合わせてメッセージ認証装置の秘密鍵とするか、もしくは、ハッシュ鍵がE(1)、E(2)、・・・、E(s)である場合に、E(s+1)、E(s+1)・・・を必要なだけ連結してKPとしてもよい。
各D1、D2、・・・では、ハッシュ鍵E(1)、E(2)、・・・を必要とするが、これはあらかじめ生成しておいてもよい。非特許文献3においては、異なる長さのメッセージ間でのハッシュ値の衝突を防ぐために、修正木ハッシュ値に長さ情報を付加することが提案されているが、長さ情報を付加しなくとも、異なる長さの入力間での衝突確率は小さいため、非特許文献3に記載の修正木ハッシュを利用して、修正木ハッシュ手段102を実現する場合、長さ情報を付加しなくてよい。
また、修正木ハッシュを変形して用いることも可能である。例えば、式(1)を変形した、以下に示す式(3)を用いることができる。
MTH(X)=G[HS](G[HS-1](・・・G[H1](X)・・・))・・・式(3)
入力が偶数ブロック数の場合:
G[H1](X)=Hi(X1,X2)‖Hi(X3,X4)‖・・・‖Hi(Xm-1,Xm
入力が奇数ブロック数の場合:
G[H1](X)=Hi(X1,X2)‖Hi(X3,X4)‖・・・‖Hi(Xm-2,Xm-1)‖Hi(Xm,000・・0)
但し、s=log(m)(対数の底は2)以上の最小の整数、000・・0は全てゼロの系列
これは非特許文献3に記載されている、基本的な木ハッシュの構成である。ただし、この木ハッシュを用いる場合は、異なる長さのメッセージ間でのハッシュ値の衝突を防ぐため、もとのメッセージの長さ情報を最後に連結して、出力としなければならない。
調整値付暗号化手段103は、修正木ハッシュ手段102の出力である修正木ハッシュ値を暗号化する手段である。暗号化は、以下に示す式(4)にしたがって行われる。
TB[E](x,d)=E((L*ud)+Y)・・・式(4)
nビットのu1とu2を、互いに異なる、1か0でない任意の定数とする。
任意のnビット値a,bについてa*bを有限体GF(2^(n))上の積とする。
ブロック暗号Eについて、L=E(0)とする(但し、d=1もしくは2)。
調整値付暗号化手段103は、修正木ハッシュ手段102の出力をYとすると、TB[E](Y,d)を出力する。ここでdは、パディング手段101が出力するパディングの有無、すなわちメッセージ長がnの倍数だったかを示すインジケータである。dが1ならばメッセージ長がnの倍数、2ならばそうでないとする。L=E(0)、もしくはL*u1とL*u2は事前に計算してメモリに保持しておいてもよい。
インジケータdにより暗号化の処理内容が変わることから、L*u1とL*u2のことを調整値と呼ぶ。有限体上の積*は、u1とu2が定数であるため、ビットシフトと条件付の定数との排他的論理和という、ごく簡単な演算で実行できる。例えば、u1=2、とu2=4とした場合の計算が、「Tetsu Iwata, Kaoru Kurosawa, OMAC: One-Key CBC MAC、Fast Software Encryption, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載されている。
出力手段104は、調整値付暗号化手段103が出力したされた暗号文をタグとし、入力手段100に入力されたメッセージと連結してコンピュータディスプレイやプリンタなどへ出力する手段である。例として、mブロック入力でのメッセージ認証装置10の動作例を図4示す。図4は、メッセージがちょうどmブロック分の長さだったとし、入力手段100、パディング手段101、及び、出力手段104は省略してある。図1おいて、Eはブロック暗号、fはある決定的置換もしくは鍵つき置換である。鍵がKでメッセージがXの時の暗号化をEK(X)とすれば、ハッシュ鍵はEK(1),EK(2),・・・,EK(d)に相当する。
次に、本実施形態のメッセージ認証装置10の動作について図5を用いて以下に詳細に説明する。図5は、本実施形態のメッセージ認証装置10の動作について説明するためのフローチャートである。図5に示すように、まず、修正木ハッシュ手段102と調整値付暗号化手段103が用いるハッシュ鍵と調整値をあらかじめ生成されているかを調べる(ステップ101)。もしすでに生成されているのであればステップ103へ進み、まだであればハッシュ鍵と調整値を生成する(ステップ102)。
次にメッセージを入力し(ステップ103)、パディングを実行する(ステップ104)。パディングされたメッセージに対して修正木ハッシュを実行し(ステップ105)、修正木ハッシュの出力に対して調整値付暗号化を適用してタグとする(ステップ106)。最後にタグとメッセージを連結し、出力する(ステップ107)。
(実施形態2)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能について添付図面を用いて以下に説明する。図6は、本実施形態のメッセージ認証装置の構成を示すブロック図である。図6に示すように、本実施形態のメッセージ認証装置20は、入力手段200、パディング手段201、交替型連鎖手段202、調整値付暗号化手段203、及び、出力手段204を備えている。なお、本実施形態のメッセージ認証装置20は、コンピュータが一般的に備えている、CPU(処理装置)、メモリ(主記憶装置)、及び、ディスク(補助記憶装置)等を用いることにより実現することが可能である。
図3は、一般的なコンピュータの構成を示したブロック図である。図3に示すように、一般的なコンピュータは、キーボード、マウス等の入力装置1、処理装置(CPU)2、記憶装置3、ディスプレイやプリンタ等の出力装置4を備えている。処理装置(CPU)2は、制御装置5、演算装置6を備えており、計算などの処理を行う中心となる部分である。記憶装置3は、主記憶装置7(メインメモリ)、補助記憶装置8を備えており、データを一時的又は/及び永久的に記憶する。
図6に示す本実施形態のメッセージ認証装置20の備える各手段は、メッセージ認証に必要なプログラムをコンピュータのディスク(図3に示す補助記憶装置8)に格納しておき、このプログラムをCPU(図3に示す処理装置2)上で動作させることにより実現することができる。図6に示す入力手段200は、タグを付与する対象となる平文(メッセージ)を入力する手段である。これは例えばキーボードなどの文字入力装置(図3に示す入力装置1)により実現される。
パディング手段201は、メッセージ長を常にブロックの倍数に変換する手段である。ブロック長は用いるブロック暗号の入力幅によって決まる。もし1ブロックがnビットで、平文長をnで割った余りが(n−t)の場合、最初が1で残りがすべて0のtビットを平文に付加することで長さをブロックの倍数にする。既にブロックの倍数である平文については何も処理しない。
この方式に限らず、パディングの仕方は、メッセージ長がブロック長の倍数でない、異なる長さのメッセージ同士でパディングした結果が常に異なり、メッセージ長がブロック長の倍数であるメッセージについては何もしないという条件さえ守られるならばどのようなパディング方法でもよい。パディング手段201は、パディングされたメッセージと、パディング手段201においてパディングが行われたかどうか、すなわち元のメッセージ長がnの倍数だったかどうかを示すインジケータをd(1ならばnの倍数、2ならばそうでない)として出力する。
交替型連鎖手段202は、nビットブロック暗号Eと、Eの一部分から導出されるnビット置換fとを、メッセージを一ブロックずつ足しながら連鎖させてパディング手段201の出力を1ブロックへ圧縮する手段である。交替型連鎖手段202の処理は、以下に示す式(5)から成り立っている。tをある非負の整数として、この処理はn(t+3)ビット入力、nビット出力の鍵付き関数である。鍵はブロック暗号Eの鍵と補助鍵KAux1,KAux2,・・・,KAuxtである。tが0であっても、つまり補助鍵がなしでもよい。
<処理ACBC>
ACBC(X)=(St+1)+Xt+3・・・式(5)
X=(X1,X2,・・・,Xt+3)について、S1=f(E(X1)+X2
1<i<t+2について、Si=f((Si-1)+(KAuxi-1)+Xi+1
交替型連鎖手段202は、上記式(5)に記載の処理ACBCを連鎖する。すなわち最初の(t+3)入力ブロックをXとすると、XへACBCを適用し式(5)に従いACBC(X)を求め、ACBC(X)と次の(t+2)入力ブロックとを連結して、再度ACBCへ入力する。この処理を繰り返し、最後の入力ブロックを足した時点でただちに停止し、その結果を出力する。最後の入力ブロックに対応する補助鍵は足してもよいし、足さなくてもよい。
補助鍵はブロック暗号の鍵と独立な鍵でもよいが、後述の調整値付暗号化手段203を用いた処理にしたがって生成してもよい。実施形態1における修正木ハッシュ手段102の場合と同様、式(5)のACBCで用いるfが、最大差分確率の小さい置換であることが必要である。さらに、以下に説明するnビット関数fの最大自己差分確率SDP(f)が小さいことも必要となる。
nビット関数fの最大自己差分確率SDP(f)とは、aは任意のnビット値としたときのPr(X−f(X)=a)の最小値を指す。但し、確率は、Xを一様にランダムなnビット値としたもとで計算される。また、加算も減算も排他的論理和を表す。
また、実施形態1における修正木ハッシュ手段102の場合と同様に、ACBCにおいて、Kを鍵とする鍵付きの置換fKpをfの代わりに使うことが可能である。この場合、Kpは一度設定した後はずっと変更しないか、もしくはt+1個、つまり補助鍵の数+1個、の独立でランダムな値を用意し、メッセージブロックを処理するたびに周期的に変更させてもよい。但し、鍵付きの置換fKpを用いる場合、fKpの平均最大差分確率と、以下に説明する平均最大自己差分確率ESDP(fKp)の両方が小さいことが必要となる。
nビット鍵付き関数fKp(但し、Kpが鍵を表す。)の平均最大自己差分確率ESDP(fKp)とは、aは任意のnビット値としたときのPr(X−fKp(X)=a)の最小値を指す。但し、確率は、Xを一様にランダムなnビット値とし、さらに鍵Kpをランダムとしたもとで計算される。また、加算も減算も排他的論理和を表す。
ブロック暗号の段関数において、鍵を中間変数へ排他的論理和することは一般的である。このような構造の場合、段関数の平均最大自己差分確率は最小となることが容易に示せる。例えば、AESの段関数では、何段であれ平均最大自己差分確率が最小値2^(−128)となる。交替型連鎖手段202の出力を交替型連鎖ハッシュ値と呼ぶことにする。
調整値付暗号化手段203は、以下に示す処理Aにしたがい、交替型連鎖ハッシュ値を暗号化する。
<処理A>
nビットのu1とu2を、互いに異なる、1か0でない任意の定数とする。任意のnビット値a,bについてa*bを有限体GF(2^(n))上の積とする。ブロック暗号Eについて、Lをブロック暗号の鍵と独立でランダムなnビット値とする。Lはブロック暗号の鍵と合わせてメッセージ認証装置の鍵となる。dが0,1,2のどれかをとるとし、TTB[E,L](Y,d)を、d=0ならE(L+Y)と、d=1ならE((L*u1)+Y)と、d=2ならE((L*u2)+Y)と、する。
調整値付暗号化手段203は、パディング手段201が出力するパディングの有無のインジケータをdとして、交替型連鎖手段202の出力をTTB[E,L]に基づき暗号化する。交替型連鎖手段202の出力をYとすれば、調整値付暗号化手段202の出力は、dが1ならE((L*u1)+Y)、dが2ならE((L*u2)+Y)である。L*u1とL*u2のことを調整値と呼ぶ。実施形態1における調整値付暗号化手段103同様、u1とu2の値をそれぞれ2と4とした場合の計算方法は、「Tetsu Iwata, Kaoru Kurosawa, OMAC: One-Key CBC MAC、Fast Software Encryption, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載されている。
交替型連鎖手段202における補助鍵がt個ある場合、E(L+0),E(L+1),・・・,E(L+t−1)を補助鍵KAux1,・・・,KAuxtとしてもよい。また、上記処理Aにおけるdの値による場合分けの処理は、任意に入れ替えてもよい。例えば、パディングの有無のインジケータがdで交替型連鎖手段202の出力がYのとき、d=1でE(L+Y)を、d=2でE(L*u1+Y)を出力とし、補助鍵がt個ある場合、E((L*u2)+0),E((L*u2)+1),・・・,E((L*u2)+t−1)を補助鍵としてもよい。
出力手段204は、実施形態1におけるメッセージ認証装置10の出力手段104と同様である。例として、ある長さのメッセージに対するメッセージ認証装置20の動作例を図7に示す。メッセージ長がちょうどブロック長の整数倍だったとし、入力手段200、パディング手段201、及び、出力手段204は省略してある。補助鍵がない場合と1個の場合を例として記載している。図7においてEはブロック暗号、fはある決定的置換もしくは鍵つき置換を示す。
次に、本実施形態のメッセージ認証装置20の動作について図8を用いて以下に詳細に説明する。図8は、本実施形態のメッセージ認証装置20の動作について説明するためのフローチャートである。図8に示すように、まず、交替型連鎖手段202と調整値付暗号化手段203が用いる補助鍵と調整値をあらかじめ生成されているかを調べる(ステップ201)。もしすでに生成されているのであればステップ203へ進み、まだであれば補助鍵と調整値を生成する(ステップ202)。
次にメッセージを入力し(ステップ203)、パディングを実行する(ステップ204)。パディングされたメッセージに対して交替型連鎖手段202を実行し(ステップ205)、交替型連鎖手段202の出力交替型連鎖ハッシュ値に対して調整値付暗号化を適用してタグとする(ステップ206)。最後にタグとメッセージを連結し、出力する(ステップ207)。
(実施形態3)
まず、本実施形態のメッセージ認証装置の構成及び各部の機能について添付図面を用いて以下に説明する。図9は、本実施形態のメッセージ認証装置の構成を示すブロック図である。図9に示すように、本実施形態のメッセージ認証装置30は、入力手段300、パディング手段301、修正木連鎖ハッシュ手段302、調整値付暗号化手段303、及び、出力手段304を備えている。なお、本実施形態のメッセージ認証装置30は、コンピュータが一般的に備えている、CPU(処理装置)、メモリ(主記憶装置)、及び、ディスク(補助記憶装置)等を用いることにより実現することが可能である。
図3は、一般的なコンピュータの構成を示したブロック図である。図3に示すように、一般的なコンピュータは、キーボード、マウス等の入力装置1、処理装置(CPU)2、記憶装置3、ディスプレイやプリンタ等の出力装置4を備えている。処理装置(CPU)2は、制御装置5、演算装置6を備えており、計算などの処理を行う中心となる部分である。記憶装置3は、主記憶装置7(メインメモリ)、補助記憶装置8を備えており、データを一時的又は/及び永久的に記憶する。
図9に示す本実施形態のメッセージ認証装置30の備える各手段は、メッセージ認証に必要なプログラムをコンピュータのディスク(図3に示す補助記憶装置8)に格納しておき、このプログラムをCPU(図3に示す処理装置2)上で動作させることにより実現することができる。図9に示す入力手段300及びパディング手段301は、実施形態1のメッセージ認証装置10の各手段と同様である。調整値付暗号化手段303は、実施形態2のメッセージ認証装置20の調整値付暗号化手段203と同様である。
修正木連鎖ハッシュ手段302の処理は、実施形態1の交替型連鎖手段102における一部の処理を、実施形態2の修正木ハッシュ手段202で置き換えたものである。まず1以上の整数tを定める。t個のハッシュ鍵(R1,R2,...,Rt)を用いるものとする。この場合、パディング手段301の出力に対し、最初の1ブロック目をブロック暗号Eで暗号化しY0を得る。次の2^(t+1)ブロック分の入力を、(R1,R2,...,Rt,Y0)をハッシュ鍵とした修正木ハッシュを適用する。但し、Y0は、最後の2ブロックを1ブロックへ圧縮する処理に用いられるものとする。
この修正木ハッシュの出力をブロック暗号で暗号化し、Y1を得る。次の2^(t+1)ブロック分の入力を、今度は(R1,R2,...,Rt,Y1)をハッシュ鍵とした修正木ハッシュで圧縮する。この処理を繰り返す。最後の修正木ハッシュの出力が修正木連鎖ハッシュ手段302の出力となる。但し、最後の修正木ハッシュへの入力が2^(t+1)ブロックより短い場合は、その出力は以下に従う。上記の処理をs回繰り返したとして、ハッシュ鍵を(R1,R2,...,Rt,YS)とする。
最後の修正木ハッシュへの入力が1ブロックのみのxである場合、(YS)+xを出力する。2ブロック以上の入力の場合、修正木ハッシュにおいて常に最後の2ブロックを1ブロックへ圧縮する処理でYSを用いるものとする。つまり修正木ハッシュが式(1)の処理を繰り返して入力を短くしていき、2ブロック(z1,z2)を得たとき、f(z1+YS)+Z2が出力となる。
修正木ハッシュをある決定的置換fで実現する場合、fは最大差分確率と最大自己差分確率が小さいことが求められる。また、Kpを鍵としたもし鍵付きの置換fKpで実現する場合には、fKpは平均最大差分確率と平均最大自己差分確率が小さいことが求められる。t個のハッシュ鍵(R1,R2,...,Rt)はブロック暗号Eの鍵と独立でもよいし、実施形態2における補助鍵と同様にE(L+0),E(L+1),...,E(L+t−1)をそれぞれR1,...,Rtとしてもよい。修正木連鎖ハッシュ手段302の出力を修正木連鎖ハッシュ値と呼ぶことにする。
調整値付暗号化手段303は、実施形態2の調整値付暗号化手段203と同様である。出力手段304は、実施形態1の出力手段104と同様である。例として、ある長さのメッセージに対するメッセージ認証装置30の動作例を図10に示す。メッセージ長がちょうどブロック長の整数倍だったとし、入力手段300、パディング手段301、及び、出力手段304は省略してある。図10においてE,f,gR1,...gRtは、図4及び図7と同様である。
次に、本実施形態のメッセージ認証装置30の動作について図11を用いて以下に詳細に説明する。図11は、本実施形態のメッセージ認証装置30の動作について説明するためのフローチャートである。図11に示すように、まず、修正木連鎖ハッシュ手段302と調整値付暗号化手段303が用いるハッシュ鍵と調整値をあらかじめ生成されているかを調べる(ステップ301)。もしすでに生成されているのであればステップ301へ進み、まだであればハッシュ鍵と調整値を生成する(ステップ302)。
次にメッセージを入力し(ステップ303)、パディングを実行する(ステップ304)。パディングされたメッセージに対して修正木連鎖ハッシュ手段302を実行し(ステップ305)、修正木連鎖ハッシュ手段302の出力に対して調整値付暗号化を適用してタグとする(ステップ306)。最後にタグとメッセージを連結し、出力する(ステップ307)。
本発明によれば、第1の効果は、CBC−MACなどのブロック暗号の認証モードよりも高速処理なことである。その理由は、ブロック暗号の段関数など、一部分の処理を取り出してメッセージの処理に用いるからである。わずかな事前処理の時間を除けば、任意のメッセージ長においてCBC−MACの処理量よりも少ない処理量で実行可能である。メッセージが1ブロックのときはCBC−MACとほぼ同等となるが、これは明らかに必要不可欠な処理である。
例として「J. Daemen and V. Rijmen, AES Proposal: Rijndael, AES submission, 1998.」に記載のブロック暗号AESと、AESの段関数の4回の繰り返し(4段AES)とを用いた場合、AESのCBC−MACよりも約1.3から約2.5倍高速となる。高速化の度合いは実施の形態によって異なり、どの実施の形態が望ましいかは使用可能な動的メモリの量や、許容される事前処理の時間などで決まる。
本発明によれば、第2の効果は、CBC−MACなどのブロック暗号の認証モードとほぼ同等のプログラムサイズとなることである。その理由は、ブロック暗号とその一部分のみを用いるためである。その他に必要な演算は排他的論理和などの極めて単純な関数のみである。
本発明によれば、第3の効果は、本発明を既知のブロック暗号に適用したとき、CBC−MACなどのブロック暗号の認証モードと同等の理論的安全性を有するように構成できることである。その理由は、本発明で用いるブロック暗号の一部分が差分攻撃に理論的安全性を持つ、すなわち平均最大差分確率が十分小さい場合には、本発明は非特許文献1に記載の理論的安全性の意味で安全な認証方式となるからである。
ここで、ブロック暗号の段関数の数回の繰り返しが小さい平均最大差分確率を持つことは、十分な安全性を持つブロック暗号の必須条件と言えるため、近年提案されたブロック暗号の多くがこの性質を持つように設計されていることに注意されたい。例えばAESでは、4段AESが十分小さい平均最大差分確率を持つことが「S. Park, S. H. Sung, S. Lee, and J. Lim, Improving the Upper Bound on the Maximum Differential and the Maximum Linear Hull Probability for SPN Structure and AES, International Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003」に記載されている。
本発明の実施の形態によっては、使用するブロック暗号の一部分に、平均最大差分確率だけでなく、平均最大自己差分確率と呼ばれる値が十分小さいことも要求されるが、これは弱い追加条件である。実際、AESを含めた多くのブロック暗号で、段関数が繰り返し回数に関わらず理論的に最小の平均最大自己差分確率をとることが示せる。
本発明は、無線もしくは有線のデータ通信における改ざんを防ぐといった用途や、ストレージ上のデータの改ざん防止といった用途に適用することができる。
OMACを示したブロック図である。 第1の実施形態におけるメッセージ認証装置の構成を示すブロック図である。 一般的なコンピュータの構成を示したブロック図である。 第1の実施形態のメッセージ認証装置における、mブロック入力での動作例を示した図である。 第1の実施形態のメッセージ認証装置の動作について説明するためのフローチャートである。 第2の実施形態におけるメッセージ認証装置の構成を示すブロック図である。 第2の実施形態のメッセージ認証装置における、ある長さのメッセージに対する動作例を示した図である。 第2の実施形態のメッセージ認証装置の動作について説明するためのフローチャートである。 第3の実施形態におけるメッセージ認証装置の構成を示すブロック図である。 第3の実施形態のメッセージ認証装置における、ある長さのメッセージに対する動作例を示した図である。 第3の実施形態のメッセージ認証装置の動作について説明するためのフローチャートである。
符号の説明
1 入力装置
2 処理装置(CPU)
3 記憶装置
4 出力装置
5 制御装置
6 演算装置
7 主記憶装置
8 補助記憶装置
10、20、30 メッセージ認証装置
100、200、300 入力手段
101、201、301 パディング手段
102 修正木ハッシュ手段
103、203、303 調整値付暗号化手段
104、204、304 出力手段
202 交替型連鎖手段
302 修正木連鎖ハッシュ手段
【0004】
n the Gbit/second rates,Fast Software Encryption,4th International Workshop,FSE’97,Lecture Notes in Computer Science;Vol.1267,Feb.1997
非特許文献3:Martin Boesgaard,Ove Scavenius,Thomas Pedersen,Thomas Christensen,Erik Zenner,Badger−A Fast and Provably Secure MAC,Applied Cryptography and Network Security(ACNS)2005
非特許文献4:J.Daemen and V.Rijmen,A New MAC Construction ALRED and a Specific Instance ALPHA−MAC、Fast Software Encryption,International Workshop,FSE 2005,Lecture Notes in Computer Science;Vol.3557,Feb.2005
発明の開示
発明が解決しようとする課題
[0015]
しかし、CBC−MACなどの現在知られている安全なブロック暗号の認証モードでは、すべての入力されたメッセージの各ブロック毎にブロック暗号を適用するため、ブロック暗号そのものの速度を超えた速度は達成できないという問題点があった。
[0016]
また、あらゆる環境で高速に動作するユニバーサルハッシュ関数は知られていないということ、及び、ブロック暗号とユニバーサルハッシュ関数の両方を実装するためにプログラムサイズが大きくなるという理由から、ブロック暗号モードよりも高速なCarter−Wegman認証は、実装できる環境が限定されるという問題があった。
[0017]
本発明は、上記のような問題点に鑑み、ブロック暗号とその一部の部品を組み合わせて、既存のブロック暗号の認証モードより高速で、理論的安全性を有し、事前処理や使用するメモリ量の点でも効率のよい、メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体を提供することを目的とする。
課題を解決するための手段
[0018]
請求項1に記載の発明は、メッセージを入力する入力手段と、前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、1ブロック目の入力と鍵との排他的論理和をとり、その結果をブロック暗号の部品を基にした鍵付き又は鍵なしの1ブロック置換に入力し、得られた出力と2ブロック目の入力との排他的論理和の結果が出力となる2ブロック入力1ブロック出力の鍵付きハッシュ関数を前記2ブロック入力1ブロック出力の鍵付きハッシュ関数を木の深さごとに異なる鍵を使用して繰り返して構成される2分木の葉の部分へ前記メッセージを入力することで前記2分木の根の部分において1ブロックのハッシュ値を出力することにより前記パディング済みメッセージを圧縮する修正木ハッシュ手段と、前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、前記タグと前記メッセージとを連結し
【0006】
[0025]
請求項8に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、修正木ハッシュ手段が、1ブロック目の入力と鍵との排他的論理和をとり、その結果をブロック暗号の部品を基にした鍵付き又は鍵なしの1ブロック置換に入力し、得られた出力と2ブロック目の入力との排他的論理和の結果が出力となる2ブロック入力1ブロック出力の鍵付きハッシュ関数を前記2ブロック入力1ブロック出力の鍵付きハッシュ関数を木の深さごとに異なる鍵を使用して繰り返して構成される2分木の葉の部分へ前記メッセージを入力することで前記2分木の根の部分において1ブロックのハッシュ値を出力することにより前記パディング済みメッセージを圧縮する第3のステップと、調整値付暗号化手段が、前記出力されたハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
[0026]
請求項9に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、交替型連鎖手段が、ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前記出力されたパディング済みメッセージを1ブロックずつ足しながら連鎖させて1ブロックのハッシュ値へ圧縮する第3のステップと、調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
[0027]
請求項10に記載の発明は、入力手段が、メッセージを入力する第1のステップと、パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、修正木連鎖ハッシュ手段が、前記出力されたパディング済みメッセージを、請求項2記載の交替型連鎖手段の一部の処理を請求項1記載の修正木ハッシュ手段で置き換えた構造により圧縮して1ブロック分のハッシュ値を出力する第3のステップと、調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップとを有するメッセージ認証方法としたことを特徴とする。
[0028]
請求項11に記載の発明は、前記修正木ハッシュ手段が、AESの段関数の4回以

Claims (16)

  1. メッセージを入力する入力手段と、
    前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、
    前記パディング済みメッセージを、ブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、1ブロックのハッシュ値を出力する修正木ハッシュ手段と、
    前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、
    前記タグと前記メッセージとを連結して出力する出力手段と、
    を備えたことを特徴とするメッセージ認証装置。
  2. メッセージを入力する入力手段と、
    前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、
    ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前記パディング済みメッセージを1ブロックずつ足しながら連鎖させて1ブロックのハッシュ値へ圧縮する交替型連鎖手段と、
    前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、
    前記タグと前記メッセージとを連結して出力する出力手段と、
    を備えたことを特徴とするメッセージ認証装置。
  3. メッセージを入力する入力手段と、
    前記メッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力するパディング手段と、
    前記パディング済みメッセージを、請求項2記載の交替型連鎖手段の一部の処理を請求項1記載の修正木ハッシュ手段で置き換えた構造により圧縮して1ブロック分のハッシュ値を出力する修正木連鎖ハッシュ手段と、
    前記ハッシュ値を暗号化してタグとする調整値付暗号化手段と、
    前記タグと前記メッセージとを連結して出力する出力手段と、
    を備えたことを特徴とするメッセージ認証装置。
  4. 前記修正木ハッシュ手段が、AESの段関数の4回以上の繰り返しを用いて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項1記載のメッセージ認証装置。
  5. 前記交替型連鎖手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項2記載のメッセージ認証装置。
  6. 前記修正木連鎖ハッシュ手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項3記載のメッセージ認証装置。
  7. ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いることを特徴とする請求項1から3のいずれか1項に記載のメッセージ認証装置。
  8. 入力手段が、メッセージを入力する第1のステップと、
    パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、
    修正木ハッシュ手段が、前記出力されたパディング済みメッセージを、ブロック暗号の部品を基に作った小さい入出力幅のハッシュ関数をメッセージ分だけ並べた処理を繰り返すことで、1ブロックのハッシュ値を出力する第3のステップと、
    調整値付暗号化手段が、前記出力されたハッシュ値を暗号化してタグとする第4のステップと、
    出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップと、
    を有することを特徴とするメッセージ認証方法。
  9. 入力手段が、メッセージを入力する第1のステップと、
    パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、
    交替型連鎖手段が、ブロック暗号と該ブロック暗号の一部分から導出される置換処理とを、前記出力されたパディング済みメッセージを1ブロックずつ足しながら連鎖させて1ブロックのハッシュ値へ圧縮する第3のステップと、
    調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、
    出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップと、
    を有することを特徴とするメッセージ認証方法。
  10. 入力手段が、メッセージを入力する第1のステップと、
    パディング手段が、前記入力されたメッセージをパディングしてその長さを常にブロック長の定数にしてパディング済みメッセージとして出力する第2のステップと、
    修正木連鎖ハッシュ手段が、前記出力されたパディング済みメッセージを、請求項2記載の交替型連鎖手段の一部の処理を請求項1記載の修正木ハッシュ手段で置き換えた構造により圧縮して1ブロック分のハッシュ値を出力する第3のステップと、
    調整値付暗号化手段が、前記ハッシュ値を暗号化してタグとする第4のステップと、
    出力手段が、前記暗号化されたタグと前記メッセージとを連結して出力する第5のステップと、
    を有することを特徴とするメッセージ認証方法。
  11. 前記修正木ハッシュ手段が、AESの段関数の4回以上の繰り返しを用いて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項8記載のメッセージ認証方法。
  12. 前記交替型連鎖手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項9記載のメッセージ認証方法。
  13. 前記修正木連鎖ハッシュ手段が、AESとAESの段関数の4回以上の繰り返しとを組み合わせて構成され、前記調整値付暗号化手段が、AESを用いて構成されることを特徴とする請求項10記載のメッセージ認証方法。
  14. ブロック暗号と、該ブロック暗号の段関数を利用した置換処理とを用いることを特徴とする請求項8から10のいずれか1項に記載のメッセージ認証方法。
  15. 請求項8から10のいずれか1項に記載のメッセージ認証方法を、コンピュータに実行させるためのメッセージ認証プログラム。
  16. 請求項15記載のメッセージ認証プログラムを記録した記録媒体。
JP2007542334A 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体 Active JP4735644B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007542334A JP4735644B2 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2005321234 2005-11-04
JP2005321234 2005-11-04
JP2006004812 2006-01-12
JP2006004812 2006-01-12
PCT/JP2006/320826 WO2007052477A1 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
JP2007542334A JP4735644B2 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Publications (2)

Publication Number Publication Date
JPWO2007052477A1 true JPWO2007052477A1 (ja) 2009-04-30
JP4735644B2 JP4735644B2 (ja) 2011-07-27

Family

ID=38005629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007542334A Active JP4735644B2 (ja) 2005-11-04 2006-10-19 メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Country Status (6)

Country Link
US (1) US8589688B2 (ja)
EP (1) EP1944907A4 (ja)
JP (1) JP4735644B2 (ja)
KR (1) KR20080058462A (ja)
CA (1) CA2627136A1 (ja)
WO (1) WO2007052477A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213658B4 (de) * 2002-03-27 2005-10-13 Robert Bosch Gmbh Verfahren zur Datenübertragung zwischen Komponenten der Bordelektronik mobiler Systeme und solche Komponenten
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
KR100805273B1 (ko) * 2007-02-28 2008-02-20 고려대학교 산학협력단 무선 식별 시스템을 이용한 진열된 물품의 정보 확인 방법,무선 식별 시스템을 이용한 구매된 물품의 정보 확인방법, 그 기록매체 및 그 시스템
US8452984B2 (en) * 2008-08-28 2013-05-28 Alcatel Lucent Message authentication code pre-computation with applications to secure memory
US8098816B2 (en) * 2008-10-17 2012-01-17 Qualcomm Incorporated Apparatus and method for evaluating a cipher structure's resistance to cryptanalysis
US8050404B2 (en) * 2008-12-29 2011-11-01 Nortel Networks Limited Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel
KR20110132204A (ko) * 2009-02-26 2011-12-07 엘에스아이 코포레이션 암호 하드웨어 서비스를 위한 암호 독립적 인터페이스
US8543820B2 (en) * 2009-05-11 2013-09-24 Nec Corporation Tag generation apparatus, tag verification apparatus, communication system, tag generation method, tag verification method, and recording medium
DE102009045133A1 (de) * 2009-09-29 2011-03-31 Robert Bosch Gmbh Verfahren zum Manipulationsschutz von Sensordaten und Sensor hierzu
JP5552541B2 (ja) * 2009-12-04 2014-07-16 クリプトグラフィ リサーチ, インコーポレイテッド 検証可能な耐漏洩性暗号化および復号化
EP3340528B8 (en) * 2010-02-09 2019-12-04 BlackBerry Limited Device and method for implementing a cryptographic hash function
US8694467B2 (en) * 2010-03-31 2014-04-08 Xerox Corporation Random number based data integrity verification method and system for distributed cloud storage
WO2012011455A1 (ja) * 2010-07-20 2012-01-26 日本電気株式会社 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
US9673983B2 (en) 2012-09-14 2017-06-06 Qualcomm Incorporated Apparatus and method for protecting message data
US9065632B2 (en) * 2013-02-20 2015-06-23 Qualcomm Incorporated Message authentication using a universal hash function computed with carryless multiplication
WO2014136386A1 (ja) 2013-03-04 2014-09-12 日本電気株式会社 タグ生成装置、タグ生成方法およびタグ生成プログラム
WO2015024603A1 (en) * 2013-08-23 2015-02-26 Nec Europe Ltd. Method and system for authenticating a data stream
KR101516574B1 (ko) * 2014-02-21 2015-05-04 한국전자통신연구원 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
CN108028756B (zh) 2015-09-28 2019-04-09 三菱电机株式会社 消息认证码生成装置、消息认证码生成方法和记录介质
CN107615273A (zh) * 2015-12-04 2018-01-19 慧与发展有限责任合伙企业 组合数据块的散列
US9794025B2 (en) 2015-12-22 2017-10-17 Qualcomm Incorporated Systems and methods for communication and verification of data blocks
US11177936B2 (en) 2017-02-22 2021-11-16 Mitsubishi Electric Corporation Message authenticator generation apparatus
US11251965B2 (en) * 2017-04-17 2022-02-15 Nec Corporation Authentication tag generation apparatus, authentication tag verification apparatus, method and program
JP6735926B2 (ja) 2017-09-01 2020-08-05 三菱電機株式会社 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
US11863304B2 (en) * 2017-10-31 2024-01-02 Unm Rainforest Innovations System and methods directed to side-channel power resistance for encryption algorithms using dynamic partial reconfiguration
US11080433B2 (en) * 2018-04-29 2021-08-03 Cryptowerk Corp. Cryptographic data storage
WO2020044485A1 (ja) 2018-08-30 2020-03-05 三菱電機株式会社 メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム
WO2020065820A1 (ja) * 2018-09-27 2020-04-02 日本電気株式会社 Macタグリスト生成装置、macタグリスト検証装置、集約mac検証システム及び方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6350223A (ja) * 1986-08-20 1988-03-03 Matsushita Electric Ind Co Ltd 認証子生成装置
DE69028462T2 (de) * 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
JPH03266544A (ja) * 1990-03-15 1991-11-27 Nec Corp メッセージの暗号化および認証方式
US5754659A (en) 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
JP3266544B2 (ja) 1997-06-02 2002-03-18 三菱電線工業株式会社 電力ケーブル用接続部の組立方法
AU2583099A (en) 1998-02-04 1999-08-23 Sun Microsystems, Inc. Method and apparatus for efficient authentication and integrity checking using hierarchical hashing
JP2983533B1 (ja) * 1998-10-01 1999-11-29 株式会社高度移動通信セキュリティ技術研究所 ハッシュ関数方式
US20010034839A1 (en) * 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
US20030041242A1 (en) * 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
JP2003333036A (ja) 2002-05-09 2003-11-21 Nippon Telegr & Teleph Corp <Ntt> メッセージ認証装置、メッセージ認証方法とメッセージ認証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
JP4809766B2 (ja) * 2003-08-15 2011-11-09 株式会社エヌ・ティ・ティ・ドコモ 損失を適応制御したデータストリームの認証方法及び装置
EP1716663A1 (en) * 2004-02-10 2006-11-02 Cryptico A/S Methods for generating identification values for identifying electronic messages

Also Published As

Publication number Publication date
EP1944907A1 (en) 2008-07-16
US8589688B2 (en) 2013-11-19
US20090138710A1 (en) 2009-05-28
KR20080058462A (ko) 2008-06-25
WO2007052477A1 (ja) 2007-05-10
EP1944907A4 (en) 2011-08-31
JP4735644B2 (ja) 2011-07-27
CA2627136A1 (en) 2007-05-10

Similar Documents

Publication Publication Date Title
JP4735644B2 (ja) メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2015015702A1 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
JP5141558B2 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
JP5000365B2 (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
US20150244518A1 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
WO2014136386A1 (ja) タグ生成装置、タグ生成方法およびタグ生成プログラム
JP2008058826A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
WO2011105367A1 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP4793268B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム
WO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
US8526602B2 (en) Adjustment-value-attached block cipher apparatus, cipher generation method and recording medium
JP5333450B2 (ja) 調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム
JPWO2006019152A1 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、およびメッセージ認証子生成方法
JP5365750B2 (ja) ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
KR101445339B1 (ko) 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법
KR20080072345A (ko) 암호화 장치 및 그 방법
WO2022254511A1 (ja) 暗号装置、方法、及びプログラム
JP2010256749A (ja) ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
JP4819576B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
Chandrika et al. Magnified cipher block chaining mode using DES to ensure data security in cloud computing
WO2006022058A1 (ja) 暗号文生成装置、平文復元装置
WO2009081975A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
WO2000064096A1 (fr) Systeme de communications cryptees
Mohammed Proposed a Variable Length Block Cipher Algorithm.

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

R150 Certificate of patent or registration of utility model

Ref document number: 4735644

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

Year of fee payment: 3