JPWO2013065241A1 - インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置 - Google Patents

インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置 Download PDF

Info

Publication number
JPWO2013065241A1
JPWO2013065241A1 JP2013541601A JP2013541601A JPWO2013065241A1 JP WO2013065241 A1 JPWO2013065241 A1 JP WO2013065241A1 JP 2013541601 A JP2013541601 A JP 2013541601A JP 2013541601 A JP2013541601 A JP 2013541601A JP WO2013065241 A1 JPWO2013065241 A1 JP WO2013065241A1
Authority
JP
Japan
Prior art keywords
block
plaintext
intermediate variable
tag
padding
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.)
Pending
Application number
JP2013541601A
Other languages
English (en)
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 JP2013541601A priority Critical patent/JPWO2013065241A1/ja
Publication of JPWO2013065241A1 publication Critical patent/JPWO2013065241A1/ja
Pending legal-status Critical Current

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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/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
    • 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

Abstract

通常のタグ計算の効率を損なうことなく、あらゆるブロック単位の編集に対応できるインクリメンタルなタグ計算を可能としたインクリメンタルMACタグ生成装置を提供する。パディング部11は、複数のブロックに分割された平文Mの最終ブロックのパディングを行う。キャッシュ参照付き並列暗号化部12は、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、中間変数Sを算出する。スクランブルハッシュ部13は、スクランブル処理を行い、ハッシュ値Vを算出する。タグ生成部14は、ハッシュ値Vを暗号化してタグを算出する。

Description

本発明は、共通鍵を用いたメッセージ認証に用いられるインクリメンタルMACタグ生成装置、方法及びプログラム並びにメッセージ認証装置に関する。
メッセージ認証コード(Message Authentication Code、以下、MACと呼ぶ)方式は、メッセージに対して秘密鍵を知るものだけが計算できるタグを付与することで、メッセージが正当であることを保証する方式である。MAC方式を用いれば、例えば、秘密鍵を共有した2者の通信において、通信の間に行われた、第3者による改ざんを検知することが可能となる。
具体的には、例えば、メッセージの送信者と受信者で共有される秘密鍵をKとし、平文MについてMAC関数FへMとKを与えることで計算されるタグをT=MAC(K,M)とする。そして、受信者が例えば平文M’とタグT’を受け取った場合、M’と共有する鍵KとからタグT''を計算する。そして、受信したタグT'と計算したT''とが一致した場合、平文M'が正当な送信者から送られたものであると判断する。
通常のMAC方式では、ある平文Mに対して既にタグT=MAC(K,M)を計算してあったとしても、他のいかなる平文M’についても、タグの再計算を一から行う必要がある。そのため、平文M’が平文Mの一部を変更したものであっても、平文M’に対応するタグT’=MAC(K,M)の計算を高速化することは難しい。
一方、送られたM’が、予め送られていたMに特定の編集処理を施して得られたメッセージである場合、Mについて行ったタグTの計算結果を再利用して、M’についてのタグT''の計算を高速に処理することが可能となる方式がある。このようなMAC方式は、(その処理について)インクリメンタルであると呼ばれる。
インクリメンタルMAC方式では、タグTの計算結果が再利用される。よって、インクリメンタルMAC方式は、メッセージが部分的、逐次的に変化していく場合や、比較的変化の少ないメッセージが連続する場合において、計算量の大幅な削減を可能とする。具体的な応用例として、インクリメンタルMAC方式は、コンピュータ上の書類の真正性保証や、ゲーム機などのハードウェアにおける大容量のメモリをハッキングから保護する用途などに用いられる。
インクリメンタルMACとして、非特許文献1に記載されたPMAC(Parallelizable MAC)や非特許文献2に記載されたXORMACなどが知られている。ここで、非特許文献1に記載されているPMACを説明する。図8は、PMACを用いた一般的なタグ生成装置の動作を示すブロック図である。nビットブロック暗号E(K,*)を部品とする。メッセージがM=(M[1],M[2],...,M[L])、各ブロックM[1],...,M[L−1]がnビット、M[L]がnビット以下とする。その場合、タグTを下記のように求めることができる。
(式PMAC)
S[i]=E(K,f_i(U)+M[i]) for i=1,...,L−1
S[L]=M[L] if|M[L]|=n, S[L]=M[L]||0* otherwise
V=S[1]+S[1]+...+S[L]
T=E(K,V+ff_0(U)) if|M[L]|=n, T=E(K,V+ff_1(U)) otherwise
ここで、+はビットごとの排他的論理和(XOR)を表す。||はビット系列の連結を表す。|M[L]|はM[L]のビット長を表す。また、E(K,M[i])はブロック暗号Eの鍵Kによる平文M[i]の暗号化、Uは定数0^n(オールゼロのnビット系列)の暗号文E(K,0^n)を表す。関数f_iは入力値と有限体上の定数2^(i−1)との乗算を表す。関数ff_i(ただし、i=0,1)は入力値と有限体上の定数3^(i+1)との乗算に相当する。なお、PMACは一般的なCBC−MAC(Cipher Block Chaining−MAC)とは異なり、並列実行可能である。
上述したようにPMACにおいては、ブロックの変更に関してインクリメンタルな処理が可能である。ただし、M’のあるブロックが、予め与えられたMの該当するブロックと異なる場合、再計算を行う必要がある。例えば、(M=(M[1],M[2],...,M[L]),T=MAC(K,M))が与えられたもとで、M’=(M’[1],M[2],...,M[L]), M’[1]≠M[1]なる平文M’のタグT’は、次式のように求められる。
(式PMAC−inc)
V=D(K,T)+ff_w(U)
V’=V+E(K,f_1(U)+M[1])+E(K,f_1(U)+M’[1])
T’=E(K,V’+ff_w(U))
D(K,*)は、ブロック暗号の復号関数である。w(0又は1)は、|M[L]|の長さに依存する。従って、再計算にはブロック暗号による1回の復号及び数回の暗号化処理のみを要する。一般には、再計算のコストは、元のメッセージと処理したいメッセージでの、ブロック単位でのハミング重み(違い)に比例する。
P. Rogaway. Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC. Advances in Cryptology- ASIACRYPT'04. LNCS 3329, pp. 16-31, 2004. M. Bellare, O. Goldreich, and S. Goldwasser. Incremental Cryptography and Application to Virus Protection. Proceedings of the 27th ACM Symposium on the Theory of Computing, May 1995 David McGrew, Efficient Authentication of large, dynamic data sets using Galois/Counter Mode (GCM), 3rd International IEEE Security in Storage Workshop, December 13, 2005. Marc Fischlin: Incremental Cryptography and Memory Checkers. EUROCRYPT 1997: 293-408 T. Iwata, K. Kurosawa, OMAC: One-Key CBC MAC、Fast Software Encryption, Internatioanl Workshop, FSE 2003, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003 T. Iwata: New Blockcipher Modes of Operation with Beyond the Birthday Bound Security. FSE 2006: 310-327. Cees J.A. Jansen,Stream Cipher Design based on Jumping Finite State Machines, Cryptology ePrint Archive: Report 2005/267
しかし、上記PMACの例において、マスク変数f_iがE(K,*)への入力値Mを暗号化の前に攪拌する。具体的には、PMACでは、ブロックの変更以外の処理、例えばブロックの挿入、削除、カットアンドペーストなどが行われる場合がある。その場合、PMACでは、インクリメンタルな処理ができない。例えば、M=(M[1],M[2],...,M[L])のタグ計算を行ったのち、先頭ブロックを削除したM’=(M[2],...,M[L])についてタグ計算を行う場合、MとM’でのE(K,*)への入力値はそれぞれ、
M:f_1+M[1],f_2+M[2],...,f_L−1+M[L−1]
M’:f_1+M[2],f_2+M[3],...,f_L−1+M[L−2]
となる。
上記の例において、M及びM’のそれぞれの対応するブロックの値は、M[1]=M[2]=M[3]などの特殊な関係がない限り、異なる値となる。従って、Mでのタグ計算結果をM’でのタグ計算に使用することは一般に不可能であるという問題点がある。これは、メッセージ受信者の装置内部での各ブロックの暗号化結果をキャッシュしておいたとしても同様である。非特許文献2に記載されたXORMAC及び非特許文献3に記載されたGMACなどの他の既存のインクリメンタルMACにおいても同様の問題点がある。
また,非特許文献4に記載されたIncXMACCなどのように、ブロック単位の変更以外のいくつかの処理に対応した方法もある。しかし、インクリメンタルでない通常のタグ計算において、一般的な方式と比べ効率が悪いなどの問題点がある上、ブロック単位の編集全てに対応はできていない。
なお、非特許文献5には、メッセージをnビット単位のブロックに分割し、あるブロックがnビットに満たない場合にパディングを行う方法が記載されている。また、非特許文献6には、暗号化関数の例として、ブロック暗号ベースの擬似ランダム関数が記載されている。また、非特許文献7には、後述するスクランブル関数に用いられる処理の例として、線形シフトレジスタが記載されている。
以上のように、一般的なメッセージ認証方法としては、効率は良いがブロック単位の変更にのみ対応する方法、又はブロック単位での変更以外の処理にも対応可能であるが通常のタグ計算の効率が悪い方法しか知られていない。
本発明は、通常のタグ計算の効率を損なうことなく、あらゆるブロック単位の編集に対応できるインクリメンタルなタグ計算を可能としたインクリメンタルMACタグ生成装置、方法及びプログラム並びにメッセージ認証装置を提供することを目的とする。
本発明によるインクリメンタルMACタグ生成装置は、複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行うパディング手段と、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、中間変数Sを算出するキャッシュ参照付き並列暗号化手段と、中間変数Sへスクランブル処理を行い、スクランブル処理された中間変数Sの各ブロック、及びパディング手段により出力された平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出するスクランブルハッシュ手段と、パディング手段によるパディングの有無をパラメータとしてハッシュ値Vを暗号化してタグを算出するタグ生成手段とを備え、キャッシュ参照付き並列暗号化手段は、平文Mの最終ブロック以外のブロックと平文M’の各ブロックとを比較し、平文Mのブロックと一致する平文M’のブロックが存在する場合、当該平文M’のブロックに対応する中間変数S’のブロックを中間変数Sに用い、平文Mのブロックと一致する平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sに用いることを特徴とする。
本発明によるインクリメンタルMACタグ生成方法は、複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行い、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、平文Mの最終ブロック以外のブロックと平文M’の各ブロックとを比較し、平文Mのブロックと一致する平文M’のブロックが存在する場合、当該平文M’のブロックに対応する中間変数S’のブロックを中間変数Sに用い、平文Mのブロックと一致する平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sを算出し、中間変数Sへスクランブル処理を行い、スクランブル処理された中間変数Sの各ブロック、及び平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出し、パディングの有無をパラメータとしてハッシュ値Vを暗号化してタグを算出することを特徴とする。
本発明によるインクリメンタルMACタグ生成プログラムは、コンピュータに、複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行う処理と、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、平文Mの最終ブロック以外のブロックと平文M’の各ブロックとを比較し、平文Mのブロックと一致する平文M’のブロックが存在する場合、当該平文M’のブロックに対応する中間変数S’のブロックを中間変数Sに用い、平文Mのブロックと一致する平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sを算出する処理と、中間変数Sへスクランブル処理を行い、スクランブル処理された中間変数Sの各ブロック、及び平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出する処理と、パディングの有無をパラメータとしてハッシュ値Vを暗号化してタグを算出する処理とを実行させることを特徴とする。
本発明によれば、通常のタグ計算の効率を損なうことなく、あらゆるブロック単位の編集に対応できるインクリメンタルなタグ計算を可能とすることができる。
本発明の実施形態1のインクリメンタルMACタグ生成装置の構成を示すブロック図である。 本発明の実施形態1のインクリメンタルMACタグ生成装置の処理を示すブロック図である。 本発明の実施形態1のインクリメンタルMACタグ生成装置のデータの流れを示すブロック図である。 本発明の実施形態1のインクリメンタルMACタグ生成装置の動作を示すフローチャートである。 本発明の実施形態2のメッセージ認証装置の構成を示すブロック図である。 本発明の実施形態2のメッセージ認証装置の動作を示すフローチャートである。 本発明のインクリメンタルMACタグ生成装置の主要部を示すブロック図である。 PMACを用いた一般的なタグ生成装置の動作を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の実施形態1のインクリメンタルMACタグ生成装置の構成を示すブロック図である。図2は、本発明の実施形態1のインクリメンタルMACタグ生成装置の処理を示すブロック図である。図3は、本発明の実施形態1のインクリメンタルMACタグ生成装置のデータの流れを示すブロック図である。なお、以下の説明において、特に指定しない限り、+はビットごとの排他的論理和を表すものとし、メッセージの1ブロックの長さはnビットとする。
本実施形態のインクリメンタルMACタグ生成装置10は、パディング手段101と、キャッシュ参照付き並列暗号化手段102と、スクランブルハッシュ手段103と、タグ生成手段104とを含む。また、インクリメンタルMACタグ生成装置10には、入力手段100と、出力手段105とが接続されている。インクリメンタルMACタグ生成装置10は、例えばCPU、メモリ及びディスク等により実現される。インクリメンタルMACタグ生成装置10の各手段は、例えば、プログラムをコンピュータのディスクに格納しておき、このプログラムをCPU上で動作させることにより実現される。
入力手段100は、認証の対象となる平文M=(M[1],...,M[L])と、キャッシュされた平文M’=(M’[1],...,M’[N])と、キャッシュされた中間変数S’=(S’[1],...,S’[N])とを入力する。平文M及び平文M’は、nビットのブロック単位に分割されている。入力手段100は、例えばキーボードなどの文字入力装置により実現される。また、入力手段100は、例えば、コンピュータのLANやUSBなどの通信インタフェース、又はプログラム上の入力インタフェースであってもよい。
パディング手段101は、入力手段100から、平文Mの最終ブロックM[L]を入力し、ブロックM[L]のブロック長がn未満であった場合、nビットまでパディングを行う。具体的には、パディング関数をpadとし、メッセージの最終ブロックをM[L]とした場合、パディング手段101は、中間変数の最終ブロックをS[L]=pad(M[L])とし、これを出力する。パディング手段101のパディングの形式は任意であり、例えば、全ゼロを連結するものでよい。ただし、最後のブロックがnビットちょうどであった場合には何も処理を行わない。具体的には、M[L]がnビットの場合、S[L]=M[L]とし、nビット未満の場合、例えばS[L]=M[L]||0*(||0*はゼロ詰めを表す)とする。これは、非特許文献5に記載されたOMAC等で用いられる、標準的なパディングの形式である。
キャッシュ参照付き並列暗号化手段102は、キャッシュを参照しつつ、入力した平文Mを必要なブロックについてのみブロック単位で並列に暗号化する。具体的には、まず入力手段100から、平文M=(M[1],...,M[L−1])、キャッシュされた平文M’及びキャッシュされた中間変数S’=(S’[1],...,S’[N])を入力する。
そして、秘密鍵をKとし、暗号化関数をE(K,*)とした場合、キャッシュ参照付き並列暗号化手段102は、Mの各ブロックM[1],...,M[L−1]について、キャッシュされた平文M’=(M’[1],...,M’[N])(ただしM’[1],...,M’[N]は全てnビット)及びキャッシュされた中間変数S’=(S’[1],...,S’[N])(ただしS’[i]=E(K,M’[i]), for all i=1,...,N)を用いて次式Scompのように中間変数S[i]を計算する。
(式Scomp)
S[i]=S’[j] if M[i]=M’[j] for some j,S[i]=E(K,M[i]) otherwise
キャッシュ参照付き並列暗号化手段102は、この処理をi=1,...,L−1について行い、中間変数S=(S[1],...,S[L−1])を出力する。この場合、S[i]もM[i]もnビットであり、Eの処理としてはnビットブロック暗号の暗号化が考えられる。この処理は、M[1],...,M[L−1]に対するECB(Electric Code Book)モードに相当する。
このように、キャッシュ参照付き並列暗号化手段102は、キャッシュされた平文M’[j]の全てのブロックの中から、送られた平文M[i]のブロックと一致するものを探して、一致すればそのM’[j]に該当するS’[j]を使用する。従って、M[i]がブロック単位の変更以外の処理、例えばブロックの挿入、削除、カットアンドペーストなどが行われていたとしても、インクリメンタルなタグ計算を行うことが可能になる。
あるいは、Mのブロックを複数、c個まとめてS[i]=E(K,(M[c×(i−1)+1],M[(c×(i−1))+2],..,M[(c×(i−1))+c])としてもよい(ここで、+は和を表している)。キャッシュ参照付き並列暗号化手段102は、この処理をi=1,...,L/c−1について行い、中間変数S=(S[1],...,S[L/c−1])を出力する。S[i]もM[i]もnビットであるが、Eの入力長は出力長よりも長い。このような場合、Eの処理としてはnビットブロック暗号によるCBC−MACやCMACなどが考えられる。
さらに、Eの入力はnビットのM[i]であるが、出力であるS[i]の長さがnビットより長いケースも考えられる。このような場合、Eの処理としてはIV(initialization vector)付きストリーム暗号の鍵ストリーム生成関数とし、IVの代わりにM[i]を入力とし、出力をS[i]とすることが可能である。あるいは、非特許文献6に記載されているCENCなど、ブロック暗号ベースの疑似ランダム関数を用いることも可能である。いずれの場合においても、キャッシュされた平文と中間変数が存在しない場合はすべての平文ブロックを暗号化すればよい。
スクランブルハッシュ手段103は、並列暗号化手段102が出力した中間変数Sをブロックごとにスクランブルし、ハッシュ値Vを求める。スクランブルハッシュ手段103は、具体的には、S=(S[1],...,S[L−1])であった場合、スクランブル関数g_i for i=1,...,L−1を用いて次式のようにハッシュ値Vを求め、出力する。
(式scrm)
V=g_1(S[1])+g_2(S[2])+...+g_L−1(S[L−1])+S[L]
ここでS[L]は、パディング手段101から出力されたものであり、メッセージの最終ブロックM[L]へ必要に応じパディングを行った値である。
ここで、スクランブル関数g_iについて、具体的な例を用いて詳細に説明する。スクランブル関数g_i for i=1,...,L−1、u_0及びu_1は、安全性を確保するために次の式scrcondに示される条件を満たすように定められる。
(式scrcond)
Pr[sum_{i in Gset}g_i(rand) + sum_{j in Uset} u_j(rand)=y]
ここで、Pr[X=x]という表記は、確率変数Xが値xをとる確率を表す。スクランブル関数g_iは、この式が、randをnビット一様乱数としたとき、ゼロ集合を除いたあらゆる{1,...,L−1}の部分集合Gsetと、ゼロ集合を含めたあらゆる{0,1}の部分集合(すなわち{0},{1},{0,1})Usetとに対して得られる、あらゆるnビット値yが十分小さい数値となればよい。
上記の式scrcondに示すような条件を満たすには、例えばg_i,u_jは、nビットの素数長の部分系列の巡回シフトを用いて構成する。例えば、Xをnビットとし、X[a−b]をそのaビット目からbビット目までの部分系列、rot(i,Y)をYのiビット左(ないし右)巡回シフトとする。その場合、g_i(X)、u_0(X)及びu_1(X)を次式のように定めることができる(次式rotの+は、和を表している)。
(式rot)
g_i(X)=rot(i,X[1−p])||X[p+1−n], for i=1,...,Lmax−1
u_0(X)=rot(Lmax,X[1−p])||X[p+1−n]
u_1(X)=rot(Lmax+1,X[1−p])||X[p+1−n]
g_iは、このように定められることで、メッセージのブロック長最大Lmaxまで対応が可能である。ただしpは素数で、p≦Lmax+1≦nの関係を満たす必要がある。このような処理は、複雑な演算を多数繰り返すブロック暗号と比べ、巡回シフトのみの処理で済むので非常に高速に実行可能である。また、(式rot)におけるX[p+1−n]は全ゼロなど任意の固定系列でもよい。さらにnの約数である正整数cについてcp≦nの場合には、Xをc個に分割しておき、各n/cビットの部分系列に対して(式rot)と同様の処理を独立に適用してもよい。
また、g_i,u_jは、例えば有限体GF(2^n)上の定数との乗算によっても実現可能である。適当な定数a_iを定め、集合{a_1,...,a_Lmax+1}が有限体GF(2^n)上で基底をなす(線形独立)ならば、g_i(X)、u_0(X)及びu_1(X)を次式のように定めることができる(次式mulの+は、和を表している)。
(式mul)
g_i(X)=mul(a_i,X) for i=1,...,Lmax−1
u_0(X)=mul(a_Lmax,X)
u_1(X)=mul(a_Lmax+1,X)
ここで、mul(A,B)は有限体上の要素A,Bの乗算を表す。g_iは、このように定めることで、メッセージのブロック長最大Lmaxまで対応が可能である。
また、g_i,u_jは、例えば次式に示すような線形シフトレジスタ(LFSR)によっても実現可能である(次式LFSRの+は、和を表している)。
(式LFSR)
g_i(X)=LFSR(i,X) for i=1,...,Lmax−1
u_0(X)=LFSR(Lmax,X)
u_1(X)=LFSR(Lmax+1,X)
このようにg_iを定めることで、メッセージのブロック長最大Lmaxまで対応が可能である。
ここで、LFSR(i,X)は、線形シフトレジスタのレジスタをXとして、i回動作後のレジスタの内容である。一般にg_iの計算にはi回のLFSR動作が必要となるが、非特許文献7に記載されているように、Jump LFSRと呼ばれるタイプのLFSRでは複数回の動作がほぼ1回の動作と同等の処理でできる。そのため、このようなLFSRを用いることで効率を良くすることができる。
以上のように、g_iは、(式rot)に示される巡回シフト、(式mul)に示される有限体GF(2^n)上の定数との乗算、又は(式LFSR)に示される線形シフトレジスタによって実現される。これにより、g_iは、式scrcondに示される条件を満たすように定められ、安全性が確保される。
タグ生成手段104は、平文Mの最終ブロックM[L]の長さがnビットであるかどうかを2値のパラメータとして、スクランブルハッシュ手段103が出力するハッシュ値Vを暗号化しタグTを生成する。
具体的には、Vがnビットの場合、ブロック暗号の暗号化関数E(K,*)を用いて、タグTを次式のように定める。
(式fin)
T=E(K,u_0(U)+V) if |M[L]|=n,T=E(K,u_1(U)+V) otherwise
そして、タグ生成手段104は、上記(式fin)で得られたTをタグとして出力する。ここでU=E(K,0^n)である。マスクを生成する関数u_0,u_1は、例えば、上述した(式rot)に示される巡回シフト、(式mul)に示される有限体GF(2^n)上の定数との乗算、又は(式LFSR)に示される線形シフトレジスタによって実現される。
また、タグTは、次式のように単純に鍵を二つ用意しておくことで単純に定められうる。
(式fin2)
T=E(K1,V) if |M[L]|=n,T=E(K2,V) otherwise
上記(式fin)、(式fin2)のいずれを用いるにしても、タグ生成手段104は、平文Mの最終ブロックM[L]の長さがnビットであるかどうかを2値のパラメータとして暗号化を行う。これにより、パディングにより生じるあいまいさ(すなわち、中間変数S[L]のみでは、S[L]がM[L]そのものなのか、M[L]へパディングして得られたものか分からない)を排除しつつ、効率的な処理を実現することができる。
上記(式fin)、(式fin2)に示したような処理は、パディング手段101の機能と同様に、非特許文献5に記載されているOMACでも用いられている標準的なテクニックである。さらに、ハッシュ値Vが用いるブロック暗号のブロックサイズよりも長い場合は、CBC−MACやCMACなどのモードを利用すればよい。
タグ生成手段104により生成されたタグTは、出力手段105に出力される。出力手段105は、タグ生成手段104が生成したタグTを例えばコンピュータディスプレイやプリンターなどへ出力する。
次に、本発明の実施形態1のインクリメンタルMACタグ生成装置の動作を説明する。図4は、本発明の実施形態1のインクリメンタルMACタグ生成装置の動作を示すフローチャートである。
インクリメンタルMACタグ生成装置10は、初めに、入力手段100から認証する対象の平文M=(M[1],M[2],...,M[L])と、キャッシュされた平文M’=(M’[1],...,M’[N])、及びM’に対応したキャッシュされた中間変数S’=(S’[1],...,S’[N−1])を入力する(ステップG1)。
次に、パディング手段101が、メッセージの最終ブロックM[L]がnビット未満ならばパディングし、その結果を中間変数S[L]とする。M[L]がnビットちょうどであればそのままM[L]をS[L]とする(ステップG2)。
次に、キャッシュ参照付き並列暗号化手段102は、i=1,...,L−1について平文ブロックM[i]から中間変数S[i]を得る。ただし、もしM[i]=M’[j]となるjが存在すれば、キャッシュ参照付き並列暗号化手段102は、S’[j]のコピーをS[j]とする。もしそのようなjが存在しないのであれば、キャッシュ参照付き並列暗号化手段102は、S[i]をM[i]の暗号化によって得る(ステップG3)。
次に、スクランブルハッシュ手段103は、中間変数S[i]をスクランブル関数g_iへ適用する。そして、スクランブルハッシュ手段103は、g_i(S[i])の排他的論理和をi=1,...,L−1についてとり、これとさらにS[L]との和をとりハッシュ値Vとして生成し、出力する(ステップG4)。
次に、タグ生成手段104は、平文最終ブロックM[L]へのパディングの有無(すなわちM[L]がnビットであるか否か)をバイナリのパラメータとしてハッシュ値Vを暗号化し、タグTを得る(ステップG5)。最後に、出力手段105がタグTを出力する(ステップG6)。
本実施形態のインクリメンタルMACタグ生成装置10は、あらゆるブロック単位の処理に対してインクリメンタルなタグ再計算を可能としつつ、通常のタグ計算も効率的に行える。その理由は、あらゆるブロック単位の編集に対して各メッセージのブロックM[i]を暗号化した結果が透過的に振る舞うためである。そのため、新たな暗号化の計算は不要である。
また、各M[i]の処理は並列に実行されることが可能であり、スクランブル処理はブロック暗号よりも非常に簡素な処理で実現されるため、全体として大幅な高速化が実現できる。もし、キャッシュされた平文が存在しない場合には、すべてのM[i]を暗号化することでSを得ることができる。
また、本実施形態の処理のようにハッシュ値の暗号化に復号処理が存在し、さらに各g_iの処理が置換である(すなわち逆関数が存在する)場合、ブロックの挿入、削除、カットアンドペースト等を伴わないブロック単位の更新に関しては、非特許文献1に記載されているPMACと同様に、中間変数をキャッシュしていなくとも、メッセージとタグからインクリメンタルなタグ計算が可能である。
実施形態2.
図5は、本発明の実施形態2のメッセージ認証装置の構成を示すブロック図である。図5に示すように、実施形態2のメッセージ認証装置は、入力手段200、インクリメンタルMACタグ生成装置10、ローカルタグ検証手段206及び出力手段205を含む。なお、インクリメンタルMACタグ生成装置10の構成及び動作は実施形態1に示したものと同様である。
入力手段200は、インクリメンタルMACタグ生成装置10とローカルタグ検証手段206に接続されている。入力手段200は、認証の対象となる平文M、平文Mに対応するタグT、キャッシュされた平文M’及びキャッシュされた中間変数S’を入力する。また、入力手段200は、例えばキーボードなどの文字入力装置により実現される。また、入力手段200は、例えば、コンピュータのLANやUSBなどの通信インタフェース、又はプログラム上の入力インタフェースであってもよい。
インクリメンタルMACタグ生成装置10は、ローカルタグ検証手段206に接続されており、実施形態1に記載したようにタグを生成する機能を有する。本実施形態において、インクリメンタルMACタグ生成装置10が生成したタグをローカルタグZと呼ぶ。
ローカルタグ検証手段206は、入力手段200から入力したタグTと、インクリメンタルMACタグ生成装置10から入力したローカルタグZとを比較することでローカルタグZの検証を行う。また、ローカルタグ検証手段206は、出力手段205に接続されている。ローカルタグ検証手段206は、検証結果を出力手段205に送る。出力手段205は、ローカルタグ検証手段206から出力された検証結果を、例えばコンピュータディスプレイやプリンターなどへ出力する。
図6は、本発明の実施形態2のメッセージ認証装置の動作を示すフローチャートである。まず、入力手段200により、認証する対象の平文M=(M[1],M[2],...,M[L])、平文Mに対応したタグT、キャッシュされた平文M’=(M’[1],...,M’[N])、及びM’に対応しキャッシュされた中間変数S’=(S’[1],...,S’[N−1])が入力される(ステップV1)。
次に、パディング手段101は、メッセージの最終ブロックM[L]がnビット未満ならばパディングし、その結果を中間変数S[L]とする。パディング手段101は、M[L]がnビットちょうどであればそのままM[L]をS[L]とする(ステップV2)。
次に、キャッシュ参照付き並列暗号化手段102は、i=1,...,L−1について平文ブロックM[i]から中間変数S[i]を得る。もし、M[i]=M’[j]となるjが存在する場合、キャッシュ参照付き並列暗号化手段102は、S’[j]のコピーをS[i]とする。もしそのようなjが存在しないのであれば、キャッシュ参照付き並列暗号化手段102は、S[i]をM[i]の暗号化によって得る(ステップV3)。
次に、スクランブルハッシュ手段103は、中間変数S[i]をスクランブル関数g_iへ適用する。そして、スクランブルハッシュ手段103は、g_i(S[i])の排他的論理和をi=1,...,L−1についてとり、これとさらにS[L]との排他的論理和をとりハッシュ値Vを生成する(ステップV4)。
次に、タグ生成手段104は、平文最終ブロックM[L]へのパディングの有無(すなわちnビットであるか否か)をバイナリのパラメータとしてハッシュ値Vを暗号化し、ローカルタグZを得る(ステップV5)。
次に、ローカルタグ検証手段206は、タグ生成手段104から入力したローカルタグZと入力手段200から入力したタグTとが一致するか否かを検証する(ステップV5)。最後に、出力手段205が、ローカルタグ検証手段206の検証結果を出力する(ステップV6)。
本実施形態のメッセージ認証装置は、実施形態1と同様の効果が得られる。従って、効率的にメッセージの認証を行うことができる。
図7は、本発明のインクリメンタルMACタグ生成装置の主要部を示すブロック図である。図7に示すように、インクリメンタルMACタグ生成装置10は、最小の構成要素として、キャッシュ参照付き並列暗号化部12と、パディング部11と、スクランブルハッシュ部13と、タグ生成部14とを備える。
図7に示すインクリメンタルMACタグ生成装置では、パディング部11は、複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行う。キャッシュ参照付き並列暗号化部12は、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、中間変数Sを算出する。スクランブルハッシュ部13は、中間変数Sの最終ブロック以外のブロックへスクランブル処理を行う。スクランブルハッシュ部13は、スクランブル処理された中間変数Sの各ブロック、及びパディング部11によりパディングされた平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出する。タグ生成部14は、パディング部11によるパディングの有無をパラメータとしてハッシュ値Vを暗号化してタグを算出する。
キャッシュ参照付き並列暗号化部12は、平文Mの最終ブロック以外のブロックと平文M’の各ブロックとを比較する。キャッシュ参照付き並列暗号化部12は、平文Mのブロックと一致する平文M’のブロックが存在する場合、当該平文M’のブロックに対応する中間変数S’のブロックを中間変数Sに用いる。キャッシュ参照付き並列暗号化部12は、平文Mのブロックと一致する平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sに用いる。
従って、図7に示すインクリメンタルMACタグ生成装置は、通常のタグ計算の効率を損なうことなく、あらゆるブロック単位の編集に対応できるインクリメンタルなタグ計算を可能とすることができる。
また、上記の各実施形態には、以下の(1)〜(5)に示すようなインクリメンタルMACタグ生成装置及びメッセージ認証装置も開示されている。
(1)インクリメンタルMACタグ生成装置(例えば、インクリメンタルMACタグ生成装置10)は、複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行うパディング手段(例えば、パディング手段101)と、平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、中間変数Sを算出するキャッシュ参照付き並列暗号化手段(例えば、キャッシュ参照付き並列暗号化手段102)と、中間変数Sへスクランブル処理を行い、スクランブル処理された中間変数Sの各ブロック、及びパディング手段によりパディングされた前記平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出するスクランブルハッシュ手段(例えば、スクランブルハッシュ手段103)と、パディング手段によるパディングの有無をパラメータとしてハッシュ値Vを暗号化してタグを算出するタグ生成手段(例えば、タグ生成手段104)とを備え、キャッシュ参照付き並列暗号化手段は、平文Mの最終ブロック以外のブロックと平文M’の各ブロックとを比較し、平文Mのブロックと一致する平文M’のブロックが存在する場合、当該平文M’のブロックに対応する中間変数S’のブロックを中間変数Sに用い、平文Mのブロックと一致する平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sに用いる。
(2)インクリメンタルMACタグ生成装置において、スクランブルハッシュ手段のスクランブル処理は、入力された中間変数Sの各ブロックの特定の素数長の部分系列を巡回シフトさせるように構成されていてもよい。
(3)インクリメンタルMACタグ生成装置において、スクランブルハッシュ手段のスクランブル処理は、入力された中間変数Sの各ブロックに、特定の有限体上の定数であってそれぞれ異なる数値を乗算するように構成されていてもよい。
(4)インクリメンタルMACタグ生成装置において、スクランブルハッシュ手段のスクランブル処理は、入力された中間変数Sの各ブロックを、線形シフトレジスタへ与え、入力されたブロックの数と同数回動作させるように構成されていてもよい。
(5)メッセージ認証装置は、インクリメンタルMACタグ生成装置(例えば、インクリメンタルMACタグ生成装置10)と、平文M、当該平文Mに対応したタグT、キャッシュされた平文M’及びM’を暗号化した中間変数S’を入力する入力手段(例えば、入力手段200)と、平文M、平文M’及び中間変数S’を用いてインクリメンタルMACタグ生成装置により生成されたローカルタグZと入力手段により入力したタグTとを比較し検証するローカルタグ検証手段(例えば、ローカルタグ検証手段206)と、ローカルタグ検証手段の検証結果を出力する出力手段(例えば、出力手段205)とを備えている。
この出願は、2011年10月31日に出願された日本出願特願2011−239232を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明によれば、無線もしくは有線のデータ通信における認証、データベースの改ざん検知、装置上のメモリの正当性検証などの用途に適用できる。
10 インクリメンタルMACタグ生成装置
11 パディング部
12 キャッシュ参照付き並列暗号化部
13 スクランブルハッシュ部
14 タグ生成部
100 入力手段
101 パディング手段
102 キャッシュ参照付き並列暗号化手段
103 スクランブルハッシュ手段
104 タグ生成手段
105 出力手段
200 入力手段
205 出力手段
206 ローカルタグ検証手段

Claims (7)

  1. 複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行うパディング手段と、
    前記平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、中間変数Sを算出するキャッシュ参照付き並列暗号化手段と、
    前記中間変数Sのスクランブル処理を行い、スクランブル処理された前記中間変数Sの各ブロック、及び前記パディング手段により出力された前記平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出するスクランブルハッシュ手段と、
    前記パディング手段によるパディングの有無をパラメータとして前記ハッシュ値Vを暗号化してタグを算出するタグ生成手段とを備え、
    前記キャッシュ参照付き並列暗号化手段は、
    前記平文Mの最終ブロック以外のブロックと前記平文M’の各ブロックとを比較し、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在する場合、当該平文M’のブロックに対応する前記中間変数S’のブロックを前記中間変数Sに用い、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して前記中間変数Sに用いる
    ことを特徴とするインクリメンタルMACタグ生成装置。
  2. スクランブルハッシュ手段のスクランブル処理は、
    入力された中間変数Sの各ブロックの特定の素数長の部分系列を巡回シフトさせる
    請求項1に記載のインクリメンタルMACタグ生成装置。
  3. スクランブルハッシュ手段のスクランブル処理は、
    入力された中間変数Sの各ブロックに、特定の有限体上の定数であってそれぞれ異なる数値を乗算する
    請求項1に記載のインクリメンタルMACタグ生成装置。
  4. スクランブルハッシュ手段のスクランブル処理は、
    入力された中間変数Sの各ブロックを、線形シフトレジスタへ与え、入力されたブロックの数と同数回動作させる
    請求項1に記載のインクリメンタルMACタグ生成装置。
  5. 請求項1から請求項4のうちのいずれか1項に記載されたインクリメンタルMACタグ生成装置と、
    平文M、当該平文Mに対応したタグT、キャッシュされた平文M’及びM’を暗号化した中間変数S’を入力する入力手段と、
    前記平文M、前記平文M’及び前記中間変数S’を用いて前記インクリメンタルMACタグ生成装置により生成されたローカルタグZと前記入力手段により入力されたタグTとを比較し検証するローカルタグ検証手段と、
    前記ローカルタグ検証手段の検証結果を出力する出力手段とを備えた
    ことを特徴とするメッセージ認証装置。
  6. 複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行い、
    前記平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、
    前記平文Mの最終ブロック以外のブロックと前記平文M’の各ブロックとを比較し、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在する場合、当該平文M’のブロックに対応する前記中間変数S’のブロックを前記中間変数Sに用い、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sを算出し、
    前記中間変数Sへスクランブル処理を行い、スクランブル処理された前記中間変数Sの各ブロック、及び前記平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出し、
    パディングの有無をパラメータとして前記ハッシュ値Vを暗号化してタグを算出する
    ことを特徴とするインクリメンタルMACタグ生成方法。
  7. コンピュータに、
    複数のブロックに分割された平文Mの最終ブロックを入力し、当該平文Mの最終ブロックの長さが所定のビット数に満たない場合にパディングを行う処理と、
    前記平文Mの最終ブロック以外のブロック、キャッシュされた平文M’、及びM’を暗号化した中間変数S’を入力し、
    前記平文Mの最終ブロック以外のブロックと前記平文M’の各ブロックとを比較し、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在する場合、当該平文M’のブロックに対応する前記中間変数S’のブロックを前記中間変数Sに用い、
    前記平文Mのブロックと一致する前記平文M’のブロックが存在しない場合、当該平文Mのブロックを暗号化して中間変数Sを算出する処理と、
    前記中間変数Sへスクランブル処理を行い、スクランブル処理された前記中間変数Sの各ブロック、及び前記平文Mの最終ブロックの排他的論理和であるハッシュ値Vを算出する処理と、
    パディングの有無をパラメータとして前記ハッシュ値Vを暗号化してタグを算出する処理と
    を実行させることを特徴とするインクリメンタルMACタグ生成プログラム。
JP2013541601A 2011-10-31 2012-10-15 インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置 Pending JPWO2013065241A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013541601A JPWO2013065241A1 (ja) 2011-10-31 2012-10-15 インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011239232 2011-10-31
JP2011239232 2011-10-31
JP2013541601A JPWO2013065241A1 (ja) 2011-10-31 2012-10-15 インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置

Publications (1)

Publication Number Publication Date
JPWO2013065241A1 true JPWO2013065241A1 (ja) 2015-04-02

Family

ID=48191623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541601A Pending JPWO2013065241A1 (ja) 2011-10-31 2012-10-15 インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置

Country Status (3)

Country Link
US (1) US20140317407A1 (ja)
JP (1) JPWO2013065241A1 (ja)
WO (1) WO2013065241A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787475B2 (en) 2013-03-04 2017-10-10 Nec Corporation Device, method, and program for message authentication tag generation
US10015152B2 (en) * 2014-04-02 2018-07-03 International Business Machines Corporation Securing data in a dispersed storage network
US10355862B2 (en) * 2014-10-23 2019-07-16 Nec Corporation MAC tag list generating apparatus, MAC tag list verifying apparatus, MAC tag list generating method, MAC tag list verifying method and program recording medium
ES2717999T3 (es) * 2014-12-03 2019-06-26 Nagravision Sa Método criptográfico por bloques para cifrar/descifrar mensajes y dispositivos criptográficos para implementar este método
JP2017073716A (ja) * 2015-10-09 2017-04-13 日本電気株式会社 タグリスト生成装置、タグリスト検証装置、タグリスト更新装置、タグリスト生成方法及びプログラム
JP6958114B2 (ja) * 2017-08-24 2021-11-02 株式会社デンソー 電子制御装置
EP3661115B1 (en) * 2017-09-01 2024-01-17 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
US10944568B2 (en) * 2017-10-06 2021-03-09 The Boeing Company Methods for constructing secure hash functions from bit-mixers
US11552782B2 (en) * 2019-07-15 2023-01-10 University Of Florida Research Foundation, Incorporated Securing system-on-chip (SoC) using incremental cryptography
WO2021214922A1 (ja) * 2020-04-23 2021-10-28 日本電気株式会社 メモリ処理装置、メモリ検証装置、メモリ更新装置、メモリ保護システム、方法及びコンピュータ可読媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2675806B2 (ja) * 1987-03-03 1997-11-12 ヒューレット・パッカード・カンパニー 情報記憶システム
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424717B1 (en) * 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US6105134A (en) * 1995-04-03 2000-08-15 Scientific-Atlanta, Inc. Verification of the source of program information in a conditional access system
US6246767B1 (en) * 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7362864B2 (en) * 2003-09-11 2008-04-22 Xilinx, Inc. Framing of transmit encoded data and linear feedback shifting
US7487194B2 (en) * 2006-04-05 2009-02-03 Peter Lablans Binary and n-valued LFSR and LFCSR based scramblers, descramblers, sequence generators and detectors in Galois configuration
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
WO2010086855A2 (en) * 2009-01-29 2010-08-05 Fortress Applications Ltd. System and methods for encryption with authentication integrity
US8776214B1 (en) * 2009-08-12 2014-07-08 Amazon Technologies, Inc. Authentication manager

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2675806B2 (ja) * 1987-03-03 1997-11-12 ヒューレット・パッカード・カンパニー 情報記憶システム
US20020051537A1 (en) * 2000-09-13 2002-05-02 Rogaway Phillip W. Method and apparatus for realizing a parallelizable variable-input-length pseudorandom function

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6016022395; Marc Fischlin: 'Incremental Cryptography and Memory Checkers' Lecture Notes in Computer Science Vol.1233, 1997, p.45-56 *
JPN6016022397; Boneh, D. et al.: 'A Survey of Two Signature Aggregation Techniques' CryptoBytes Volume 6, No.2, 2003, p.1-10, RSA Laboratories *
JPN7016001593; Bellare, M. et al.: 'Incremental Cryptography and Application to VirusProtection' Proceedings of the 27th annual ACM symposium on Theory ofcomputing , 1995, p.45-56 *

Also Published As

Publication number Publication date
WO2013065241A1 (ja) 2013-05-10
US20140317407A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
WO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
KR101809386B1 (ko) 인증 암호 장치, 인증 암호 방법 및 컴퓨터 판독가능한 기록 매체
Eastlake 3rd et al. US secure hash algorithms (SHA and SHA-based HMAC and HKDF)
US10009171B2 (en) Construction and uses of variable-input-length tweakable ciphers
US8107620B2 (en) Simple and efficient one-pass authenticated encryption scheme
JP5704159B2 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
WO2014136386A1 (ja) タグ生成装置、タグ生成方法およびタグ生成プログラム
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
Teh et al. A chaos-based authenticated cipher with associated data
WO2020213114A1 (ja) Macタグリスト生成装置、macタグリスト検証装置、方法及びプログラム
Andreeva et al. AES-COPA v.
EP4052193A1 (en) System and method for encryption and decryption using logic synthesis
KR20080044150A (ko) 블록암호 해쉬 운영모드의 압축함수 설계 장치 및 방법
Elkamchouchi et al. A new Secure Hash Dynamic Structure Algorithm (SHDSA) for public key digital signature schemes
JP2009188794A (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
CN114124354B (zh) 确定性鉴别加解密装置及方法
Mohanty et al. A secured cryptographic hashing algorithm
Pandey et al. Architecture based on MD5 and MD5-512 Bit Applications
Ritonga et al. Modification affine cipher transform digraph to squared the value of ‘n’in text security
Nu1L Team Crypto
Lukács et al. BITMIX: A hardware accelerated randomized symmetric encryption method
JP5818768B2 (ja) マスク生成装置、情報処理装置、及びその方法、プログラム
KR20030001888A (ko) 키를 사용하지 않고 블록 정보만을 이용하는 암호알고리즘 설계 방법
de Hoogh Cryptographic Hash Functions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160726

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160906