JP2008122967A - ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 - Google Patents

ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 Download PDF

Info

Publication number
JP2008122967A
JP2008122967A JP2007293657A JP2007293657A JP2008122967A JP 2008122967 A JP2008122967 A JP 2008122967A JP 2007293657 A JP2007293657 A JP 2007293657A JP 2007293657 A JP2007293657 A JP 2007293657A JP 2008122967 A JP2008122967 A JP 2008122967A
Authority
JP
Japan
Prior art keywords
authentication code
message
mac
message authentication
stream cipher
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
JP2007293657A
Other languages
English (en)
Other versions
JP4712017B2 (ja
Inventor
Woo Hwan Kim
ウ ホワン キム
Jung Keun Lee
ジュン クン イ
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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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
Priority claimed from KR1020070081305A external-priority patent/KR100930577B1/ko
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2008122967A publication Critical patent/JP2008122967A/ja
Application granted granted Critical
Publication of JP4712017B2 publication Critical patent/JP4712017B2/ja
Expired - Fee Related 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

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

Abstract

【課題】 安全で且つ効率的なストリーム暗号(Stream Cipher)を用いて並列演算が可能なメッセージ認証コード(MAC;Message Authentication Code)を生成する方法と、メッセージ認証コードをストリーム暗号の初期値(IV;initialization vector)として使用するストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法を提供する。
【解決手段】 本発明は、ストリーム暗号を用いて生成したメッセージ認証コードをストリーム暗号の暗号初期値とする認証暗号化を行うことによって、暗号初期値生成のために別途の乱数発生アルゴリズムを使用する必要がないので、具現のための効率を高めることができる。
また、メッセージ認証コードの生成時、複数のキー数列生成部が複数のメッセージブロックに対して各々演算することによって、複数のメッセージブロックが一回に並列演算されるので、その演算の効率性に優れている。
【選択図】 図1

Description

本発明は、ストリーム暗号(Stream Cipher)を利用したメッセージ認証コード(MAC;Message Authentication Code)生成方法、ストリーム暗号を利用した認証暗号化方法、及びストリーム暗号を利用した認証復号化方法に関し、より詳細には、安全で且つ効率的なストリーム暗号を用いて並列演算が可能なメッセージ認証コードを生成する方法、メッセージ認証コードをストリーム暗号の初期値(IV;initialization vector)として使用するストリーム暗号を利用した認証暗号化方法、及びストリーム暗号を利用した認証復号化方法に関する。
メッセージ認証コードは、データの無欠性(integrity)を提供するために使われる。データ無欠性とは、データを転送または格納する時、受信されたデータまたは格納されたデータが原本データと同一であるか否かを確認することができる機能をいう。メッセージ認証コードを生成する代表的な方法としては、ハッシュ関数(keyed hash function)を利用したHMACとCMACなどブロック暗号を利用したメッセージ認証コード生成技法がある。
ストリーム暗号は、ブロック暗号と共に機密性を提供するために多く使われる暗号プリミティブであって、一般的にブロック暗号に比べて軽量ハードウェアの具現が可能であり、ソフトウェアから高速で動作する長所を有している。ストリーム暗号は、暗号化過程では、秘密キーを用いて生成したキー数列とメッセージの排他的論理和(XOR;exclusive OR)で暗号文を生成するので、キー数列を知らないユーザが所望の位置のメッセージを容易に変えることができる。このような特性により、ストリーム暗号は、メッセージ認証コード機能を提供することが難しいものとして見なされてきた。
メッセージ認証コードは、データを入力値として計算される値であって、2つのユーザ間にデータ転送がなされる場合、送信者は、メッセージ認証コードをデータの後部に付加して転送し、受信者は、データからメッセージ認証コードを生成し、転送された値との一致可否を確認するようになる。暗号学的安全性が要求されない分野では、データ無欠性を提供するためにパリティビットやCRCなどのチェックサムとハッシュ値を利用した方式が多く使われる。このような方式は、転送エラーのような単純エラーを確認することができるのに対し、悪意的なユーザによる偽造や変造を防止することができないという短所を有する。この問題を暗号学的に解決するために、事前に共有された秘密キーを有するユーザのみが有効なメッセージ認証コードを生成することができるようにする方式が使われている。
秘密キーを使用する代表的な方式として、キーを使用するハッシュ関数方式と、ブロック暗号を利用する方式を挙げることができる。Bellareなどは、1996年キーを使用するハッシュ関数方式メッセージ認証コードHMACを紹介した(M. Bellare, R. 0 Canetti, H. Krawczyk, Keying hash functions for message authentication, Advances in Cryptology-CRYPTO’96, LNCS 1109, pp. 1-15, Springer-Verlag, 1996.)。HMACでは、メッセージMが与えられた時、ハッシュ関数Hと秘密キーKを用いてメッセージ認証コードを
Figure 2008122967
として生成する。ここで、opadとipadは、事前に約束された定数を意味する。
ブロック暗号を利用した方式としては、CBC運用モードを利用したCBC−MACとCMACなどを挙げることができる。CBC−MACは、以前ブロック暗号文と次のブロック平文を連鎖し、次のブロック暗号文を生成する方式であって、データを暗号化するために多く使われるブロック暗号運用モード方式である。CBC−MACは、偽造攻撃に対して安全でないことが知られており、これを補完するためにブロック暗号を利用した様々なメッセージ認証コード生成技法が提案された。2003年IwataとKurosawaは、CBC−MACの変形であるOMACを提案した(T. Iwata, K. Kurosawa, OMAC: one-key CBC-MAC, Advances in Cryptology-FSE 2003, LNCS 2887, pp. 129-153, Springer-Verlag, 2003)。以後OMACは、CMACの名称で米国NISTのブロック暗号運用モード勧告案に含まれた。
ブロック暗号とハッシュ関数に比べてストリーム暗号を利用したメッセージ認証コード生成技法は、多く研究されなかった。ストリーム暗号を利用した技法と関連して、韓国では、Jae-Woo HAN, Dong-Hoon LEEにより初めて提案され、韓国特許(登録番号:0578550、ストリーム暗号を利用したメッセージ認証コード構成方法)で登録された方法がある。この方式は、ブロック暗号のCBC−MACをストリーム暗号に応用し、CBC−MACの短所を補完するために2つのキーを使用している。一方、Fergusonなどは、認証機能を提供するストリーム暗号Helixを提案した(N. Ferguson et al, Helix: fast encryption and authentication in a single cryptographic primitive, Advances in Cryptology-FSE 2003, LNCS 2887, pp. 330-346, Springer-Verlag, 2003)。その後、Whitingなどは、Helixを改善してヨーロッパのストリーム暗号公募事業であるeSTREAMにストリーム暗号Phelixを提案した。
最近、ストリーム暗号の設計動向をeSTREAMを通じて考察すれば、全てのストリーム暗号で暗号初期値を使用しており、時間−メモリトレードオフ(TMTO;time-memory trade off)攻撃を考慮して暗号初期値の長さを秘密キー長さ以上にしている。例えば、128ビット秘密キーを使用する場合、128ビット以上の暗号初期値を使用するように設計している。
前述したJae-Woo HANなどが提案したストリーム暗号を利用したメッセージ認証コード構成方法は、CBC−MACと同様の安全性欠陥を有しており、連鎖方式でデータを処理するので、並列演算が不可能である。
認証と暗号化を同時に提供する技法を認証暗号化技法と呼び、認証暗号化技法は、ブロック暗号理論分野において主に研究されている。広く知られたブロック暗号の認証暗号化技法としては、Rogawayなどが提案したOCB運用モードを挙げることができる(P. Rogaway, M. Bellare, J. Black. OCB:A block cipher mode of operation for efficient authenticated encryption, ACM TISSEC 6(3), pp. 365-403, 2003. )。先に紹介したPhelixなど認証機能を提供するストリーム暗号については、研究がなされているが、ブロック暗号の運用モードに該当する研究がストリーム暗号分野では、ほとんどなされていない。
今まで提案された大部分のメッセージ認証コード生成技法は、ハッシュ関数とブロック暗号に基盤している。ブロック暗号は、機密性以外に擬似乱数発生、メッセージ認証など様々な機能を提供するために多く使われていて、ストリーム暗号の立地が以前に比べて低減したと言える。一般的に、ストリーム暗号は、ブロック暗号に比べて低電力、軽量ハードウェア環境と超高速ソフトウェア環境で長所を有するものと知られている。特に、センサネットワーク、RFIDなど低電力、軽量環境で暗号機能の要求が増大するにしたがって、ストリーム暗号の役目が大きくなっている。
韓国特許登録第0578550号明細書 FSE 2003, LNCS2887, pp.330-346, 2003 ACM TISSEC, 6/3, pp.365-403, 2003
本発明は、前述した課題を解決するためになされたもので、その目的は、安全で且つ効率的なストリーム暗号を用いて並列演算が可能なメッセージ認証コードを生成する方法と、メッセージ認証コードをストリーム暗号の初期値として使用するストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法を提供することにある。
上記目的を達成するために、本発明の一態様によれば、メッセージ認証コードが付加されたメッセージ認証コードを生成する方法であって、(a)入力メッセージMをk個のnビットメッセージブロックで分ける段階と、(b)メッセージ認証コード生成用秘密キーKMACと、前記段階(a)で分けられた前記メッセージのブロックの個数kに対応する数字の排他的論理和された結果をキーとして前記分けられた各々の入力メッセージを暗号化し、各々の中間計算値を計算する段階と、(c)前記段階(b)の結果値として算出された各々の中間計算値を排他的論理和する排他的論理和計算段階と、(d)前記段階(c)の排他的論理和した結果値を前記メッセージ認証コードキー、KMACを用いて前記キー数列生成部で暗号化し、メッセージ認証コードを生成する段階とを備えてなることを特徴とするストリーム暗号を利用したメッセージ認証コード生成方法が提供される。
好ましくは、前記段階(b)の各々の中間計算値hは、メッセージ認証コード生成用秘密キーである時、各々のメッセージブロック m、…、mに対して次の数学式
Figure 2008122967
で計算されることが好ましい。前記段階(c)の各々の中間計算値を加算した中間計算値hは、次の数学式
Figure 2008122967
で計算されることが好ましい。前記段階(d)のメッセージ認証コードは、次の数学式MAC(KMAC、M)=E(KMAC、h)で表すことが好ましい。
前記メッセージブロックm、…、mのうち各々のメッセージの長さがnの倍数でない場合、前記最終メッセージブロックm、…、mの長さがnの倍数になるようにすることが好ましい。前記各々のメッセージブロックm、…、mに100…0を追加して前記各々のメッセージブロックm、…、mの長さがnの倍数になるようにすることができる。
前記段階(b)の計算は、並列的に行われることが好ましい。
また、本発明の他の態様によれば、認証暗号文を認証復号化する方法であって、 (a)ストリーム暗号初期値IVとメッセージ暗号化用秘密キーKENCを用いてキー数列を生成する段階と、(b)前記キー数列を前記暗号文Cと排他的論理和し、前記平文Mを生成する平文Mを生成する段階と、(c)前記平文Mに対するメッセージ認証コードMAC(KMAC、M)を生成する段階と、(d)前記IVと前記MAC(KMAC、M)が一致すれば、有効な暗号文Cとして判定し、前記有効な暗号文Cに対する平文Mを出力する段階とをさらに備えてなることを特徴とするストリーム暗号を利用した認証復号化方法が提供される。
好ましくは、前記段階(d)でストリーム暗号初期値IVとメッセージ認証コードMAC(KMAC、M)が一致しなければ、エラーメッセージを出力することが好ましい。
前記段階(c)は、前記平文Mとメッセージ認証コード生成用秘密キーから前記平文Mに対する前記メッセージ認証コードMAC(KMAC、M)を生成することが好ましい。
以上説明したように、本発明は、安全で且つ効率的なストリーム暗号を用いて並列演算可能なメッセージ認証コードを生成し、その生成されたメッセージ認証コードをストリーム暗号の暗号初期値とする認証暗号化を行う。
このようにストリーム暗号を用いて生成したメッセージ認証コードをストリーム暗号の暗号初期値とする認証暗号化を行うことによって、暗号初期値生成のために別途の乱数発生アルゴリズムを使用する必要がないので、具現効率性を高めることができる。
また、メッセージ認証コード生成時、複数のキー数列生成部100が複数のメッセージブロックに対して各々演算することによって、複数のメッセージブロックが一回に並列演算されるので、その演算の効率性に優れている。
以下、添付の図面を参照して本発明による実施例を詳細に説明する。
図1は、本発明の好ましい実施例に係るストリーム暗号を利用した並列演算可能なメッセージ認証コードを生成するメッセージ認証コード生成部の構成を示すブロック図であり、メッセージ認証コード生成部300でそのメッセージ認証コードを生成する過程を段階別に記述すれば、次の通りである。
1.入力メッセージMをnビットメッセージブロックで分ける。メッセージブロックは、m、…、m 21、…、23で表示する。前記メッセージブロックm、…、m 21、…、23各々の長さがnの倍数でない場合、各々のメッセージブロックに100…0を追加して各々のメッセージブロックの長さがnの倍数になるようにする。
2.各i=1、…、kに対して中間計算値
Figure 2008122967
を計算する。メッセージ認証コードを生成するために所要される大部分の時間は、段階2のために必要であり、段階2の計算は、並列的に行われることができる。すなわち、k個のキー数列生成部100は、各々のメッセージブロックm、…、m 21、…、23の計算に使われる秘密キー24、…、26を受けて中間計算値
Figure 2008122967
を計算する。この時、KMACは、メッセージ認証コード生成用秘密キーであり、E(K、m)は、m、m、…、mのメッセージをKをキーにして前記キー数列生成部100で行う暗号化アルゴリズムである。
3.k個の各々のキー数列生成部100から得た各々の中間計算値を合せた中間計算値hを排他的論理和27を用いて
Figure 2008122967
を計算する。
4.最終結果値として、メッセージ認証コード生成用秘密キーがKMACであり、メッセージがMである時のメッセージ認証コードとしてMAC(KMAC、M)=E(KMAC、h)を生成する。
図2は、本発明の好ましい実施例に係るストリーム暗号を利用した認証暗号化方法を例示するブロック図であり、その認証暗号化過程を段階別に記述すれば、次の通りである。
1.図2の方式を用いて、メッセージ認証コード生成部300は、平文M31とメッセージ認証コード生成用秘密キーKMAC32を入力し、平文M31に対するメッセージ認証コードMAC(KMAC、M)28を生成する。
2.ストリーム暗号初期値IVをMAC(KMAC、M)28に設定する。
3.キー数列生成部100は、ストリーム暗号初期値IVとして設定されたメッセージ認証コードであるMAC(KMAC、M)28とメッセージ暗号化用秘密キーKENC33を用いてnビットのキー数列13を生成する。以後生成されたキー数列13と平文Mを排他的論理和し、暗号文C34を生成する。
4.メッセージ認証コード生成用秘密キーがKMACであり、メッセージ暗号化用秘密キーがKENCである時の平文Mに対する暗号文C34を出力する。
図3は、本発明の好ましい実施例に係るストリーム暗号を利用した認証復号化方法を例示するブロック図であり、その認証復号化過程を段階別に記述すれば、次の通りである。
1.まず、キー数列生成部100が暗号文Cからストリーム暗号初期値IVとメッセージ暗号化用秘密キーKENC33を用いてキー数列13を生成する。以後生成されたキー数列13を暗号文C34と排他的論理和し、平文M31を生成する。
2.図1の方式を用いて、メッセージ認証コード生成部300は、平文M31とメッセージ認証コード生成用秘密キー32から平文M31に対するメッセージ認証コードMAC(KMAC、M)を生成する。
3.ストリーム暗号初期値IVとメッセージ認証コードであるMAC(KMAC、M)が一致すれば、有効な暗号文C34として判定し、その有効な暗号文C34に対する平文Mを出力する。反面、ストリーム暗号初期値IVとメッセージ認証コードMAC(KMAC、M)が一致しなければ、エラーメッセージ「暗号文が有効でない」を出力し、終了する。
前記図1乃至図3で同じ名称に同じ指示符号を使用したが、図1乃至図3は、各々異なる実施例を示す。
このような本発明のメッセージ認証コード生成方法は、メッセージを送信するデータ送信システムでメッセージ認証コードを生成する時、メッセージ認証コードが付加されたデータを受信するデータ受信システムで受信されたメッセージ認証コードと比較するための対象メッセージ認証コードを生成する時に各々適用することができる。
また、本発明の認証暗号化方法は、認証暗号化されたメッセージ認証コードが付加されたデータを送信するデータ送信システムでデータを認証暗号化する時に適用することができ、認証復号化方法は、認証暗号化されたメッセージ認証コードが付加されたデータを受信するデータ受信システムで受信された認証暗号文を認証復号化する時に適用することができる。
ストリーム暗号では、同じ暗号初期値を反復して使用すれば、暗号文から平文に関する情報を得ることができるので、同じ暗号初期値を反復して使用してはならない。暗号初期値を生成するために使用する方法としては、乱数発生アルゴリズムを使用してランダムな暗号初期値を生成して使用する方法と、カウンタなどの反復しない情報を使用する方法がある。乱数発生アルゴリズムは、充分のエントロピーを得るために初期シードを安全に生成しなければならないし、暗号アルゴリズムと別途にアルゴリズムを具現しなければならない。カウンタを利用する場合、カウンタ情報を安全に格納、更新しなければならないので、難しさが伴う。メッセージ認証コードは、メッセージを代表する値として見なされることができるので、メッセージ認証コードを暗号初期値として使用すれば、異なるメッセージ毎に異なる暗号初期値を使用する効果を得ることができる。
本発明での適用対象は、特定のストリーム暗号に限定されず、暗号初期値を使用する大部分のストリーム暗号に適用可能である。
本発明は、ブロック暗号の認証暗号化運用モードに該当するストリームモードの運用方式であって、RFID、センサネットワークなど軽量、低電力環境で暗号機能を提供する時に活用することができる。
前述したように、本発明の方法は、プログラムで具現されてコンピュータで読み取り可能な形態で記録媒体(CD−ROM、RAM、ROM、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスクなど)に格納されることができる。
以上において説明した本発明は、本発明が属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形、及び変更が可能であるので、上述した実施例及び添付された図面に限定されるものではない。
本発明の好ましい実施例に係るストリーム暗号を利用したメッセージ認証コードを生成するメッセージ認証コード生成部の構成を示すブロック図である。 本発明の好ましい実施例に係るストリーム暗号を利用した認証暗号化方法を示すブロック図である。 本発明の好ましい実施例に係るストリーム暗号を利用した認証復号化方法を示すブロック図である。
符号の説明
13 キー数列
21 1番目nビットメッセージブロック
22 2度目nビットメッセージブロック
23 k番目nビットメッセージブロック
24 1番目ブロック計算に使われる秘密キー
25 2度目ブロック計算に使われる秘密キー
26 k番目ブロック計算に使われる秘密キー
27 k個の計算結果の排他的論理和
28 メッセージ認証コード、ストリーム暗号の初期値
31 平文
32 メッセージ認証コード生成用秘密キー
33 暗号化用秘密キー
34 暗号文
100 キー数列生成部
300 メッセージ認証コード生成部

Claims (12)

  1. メッセージ認証コードを生成する方法であって、
    (a)入力メッセージMをk個のnビットメッセージブロックで分ける段階と、
    (b)メッセージ認証コード生成用秘密キーKMACと、前記段階(a)で分けられた前記メッセージブロックの個数kに対応する数字の排他的論理和された結果をキーとして前記分けられた各々の入力メッセージを暗号化し、各々の中間計算値を計算する段階と、
    (c)前記段階(b)の結果値として算出された各々の中間計算値を排他的論理和する排他的論理和計算段階と、
    (d)前記段階(c)の排他的論理和した結果値を前記メッセージ認証コードキー、KMACを用いて前記キー数列生成部で暗号化し、メッセージ認証コードを生成する段階と
    を備えてなることを特徴とするストリーム暗号を利用したメッセージ認証コード生成方法。
  2. 前記段階(b)の各々の中間計算値hは、次の数学式で計算され、
    Figure 2008122967
    ここで、入力メッセージを分けたk個のnビットメッセージブロックは、各々m、m、…、mで表示し、これらのうちいずれか1つのメッセージブロックをmで表示し、E(K、m)は、Kをキーとし、 各々m、m、…、m のメッセージを前記キー数列生成部で行う暗号化アルゴリズムを示すことを特徴とする請求項1に記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  3. 前記段階(c)の各々の中間計算値を排他的論理和する排他的論理和計算は、次の数学式で計算され、
    Figure 2008122967
    前記hは、中間計算値の排他的論理和を示すことを特徴とする請求項2に記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  4. 前記段階(d)のメッセージ認証コードは、次の数学式で表し、
    MAC(KMAC、M)=E(KMAC、h)
    MAC(KMAC、M)は、メッセージ認証コードを示すことを特徴とする請求項3に記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  5. 前記段階(a)で前記各々のメッセージブロックm、…、mのブロックの長さがnの倍数でない場合、前記各々のメッセージブロック m、…、mのブロックの長さがnの倍数になるようにすることを特徴とする請求項1乃至4のいずれかに記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  6. 前記各々のメッセージブロックm、…、mに100…0を追加して各々の前記メッセージブロックm、…、mの長さがnの倍数になるようにすることを特徴とする請求項5に記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  7. 前記段階(b)の各々の中間計算値を計算する段階は、並列で計算することを特徴とする請求項1乃至4のいずれかに記載のストリーム暗号を利用したメッセージ認証コード生成方法。
  8. ストリーム暗号を利用した認証暗号化方法であって、
    (a)平文Mとメッセージ認証コード生成用秘密キーKMACを入力し、前記平文Mに対するメッセージ認証コードMAC(KMAC、M)を生成するメッセージ認証コード生成段階と、
    (b)前記段階(a)で計算されたMAC(KMAC、M)をストリーム暗号初期値IVに設定する設定段階と、
    (c)前記ストリーム暗号初期値IVである前記メッセージ認証コードMAC(KMAC、M)とメッセージ暗号化用秘密キーKENCを用いてnビットのキー数列を生成するキー数列生成段階と、
    (d)前記生成されたキー数列と前記平文Mを排他的論理和し、暗号文Cを生成する暗号文C生成段階と、
    (e)前記暗号文Cを出力する出力段階と
    を備えてなることを特徴とするストリーム暗号を利用したメッセージ認証コード生成方法。
  9. 認証暗号化されたメッセージ認証コードが付加された認証暗号文を認証復号化する方法であって、
    (a)ストリーム暗号初期値IVとメッセージ暗号化用秘密キーKENCを用いてキー数列を生成する段階と、
    (b)前記キー数列を暗号文Cと排他的論理和し、平文Mを生成する段階と
    を備えてなることを特徴とするストリーム暗号を利用した認証復号化方法。
  10. (c)前記平文Mに対するメッセージ認証コードMAC(KMAC、M)を生成する段階と、
    (d)前記IVと前記MAC(KMAC、M)が一致すれば、有効な暗号文Cとして判定し、前記有効な暗号文Cに対する平文Mを出力する段階と
    をさらに備えてなることを特徴とする請求項9に記載のストリーム暗号を利用した認証復号化方法。
  11. 前記段階(d)で前記IVと前記MAC(KMAC、M)が一致しないと、エラーメッセージを出力することを特徴とする請求項10に記載のストリーム暗号を利用した認証復号化方法。
  12. 前記段階(c)は、前記平文Mとメッセージ認証コード生成用秘密キーから前記平文Mに対する前記メッセージ認証コードMAC(KMAC、M)を生成することを特徴とする請求項10又は11に記載のストリーム暗号を利用した認証復号化方法。
JP2007293657A 2006-11-13 2007-11-12 ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 Expired - Fee Related JP4712017B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2006-0111862 2006-11-13
KR20060111862 2006-11-13
KR1020070081305A KR100930577B1 (ko) 2006-11-13 2007-08-13 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
KR10-2007-0081305 2007-08-13

Publications (2)

Publication Number Publication Date
JP2008122967A true JP2008122967A (ja) 2008-05-29
JP4712017B2 JP4712017B2 (ja) 2011-06-29

Family

ID=39369236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007293657A Expired - Fee Related JP4712017B2 (ja) 2006-11-13 2007-11-12 ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法

Country Status (2)

Country Link
US (1) US8090098B2 (ja)
JP (1) JP4712017B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010032391A1 (ja) * 2008-09-19 2010-03-25 日本電気株式会社 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
JP2011160229A (ja) * 2010-02-01 2011-08-18 Kddi Corp 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2011160228A (ja) * 2010-02-01 2011-08-18 Kddi Corp 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2012235288A (ja) * 2011-04-28 2012-11-29 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
WO2016027454A1 (ja) * 2014-08-20 2016-02-25 日本電気株式会社 認証暗号化方法、認証復号方法および情報処理装置
JP2016508002A (ja) * 2013-02-07 2016-03-10 クアルコム,インコーポレイテッド 固定長データ構造の完全性を保護するための方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930551B2 (en) * 2006-05-15 2011-04-19 Arris Group, Inc. Method and system for reusing an MMH function to perform a fast MMH-MAC calculation
CN101594227B (zh) * 2008-05-30 2012-06-27 华为技术有限公司 数据加密和解密的方法、装置及通信系统
FR2933557B1 (fr) * 2008-07-02 2013-02-08 Airbus France Procede et dispositif de protection de l'integrite de donnees transmises sur un reseau
US8555015B2 (en) 2008-10-23 2013-10-08 Maxim Integrated Products, Inc. Multi-layer content protecting microcontroller
US8284933B2 (en) * 2009-03-19 2012-10-09 Ca, Inc. Encrypting variable-length passwords to yield fixed-length encrypted passwords
EP2290872B1 (en) * 2009-08-27 2014-06-18 Nxp B.V. Device for generating a message authentication code for authenticating a message
JP2012227899A (ja) 2011-04-22 2012-11-15 Toshiba Corp 認証コンポーネント、被認証コンポーネントおよびその認証方法
DE102012201164B4 (de) * 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US10210341B2 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9547771B2 (en) * 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US9300464B1 (en) 2013-02-12 2016-03-29 Amazon Technologies, Inc. Probabilistic key rotation
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US10211977B1 (en) 2013-02-12 2019-02-19 Amazon Technologies, Inc. Secure management of information using a security module
US10467422B1 (en) 2013-02-12 2019-11-05 Amazon Technologies, Inc. Automatic key rotation
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US9832171B1 (en) 2013-06-13 2017-11-28 Amazon Technologies, Inc. Negotiating a session with a cryptographic domain
US10015152B2 (en) * 2014-04-02 2018-07-03 International Business Machines Corporation Securing data in a dispersed storage network
US9397835B1 (en) 2014-05-21 2016-07-19 Amazon Technologies, Inc. Web of trust management in a distributed system
US9438421B1 (en) 2014-06-27 2016-09-06 Amazon Technologies, Inc. Supporting a fixed transaction rate with a variably-backed logical cryptographic key
US9866392B1 (en) 2014-09-15 2018-01-09 Amazon Technologies, Inc. Distributed system web of trust provisioning
JP6557727B2 (ja) * 2014-12-03 2019-08-07 ナグラビジョン エス アー メッセージを暗号化/復号化するためのブロック暗号方法及びこの方法を実施するための暗号装置
US9942211B1 (en) * 2014-12-11 2018-04-10 Amazon Technologies, Inc. Efficient use of keystreams
US10469477B2 (en) 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
EP3086585B1 (en) * 2015-04-23 2019-12-11 Nxp B.V. Method and system for securing data communicated in a network
DE102015221239A1 (de) * 2015-10-30 2017-05-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Schützen von Datenintegrität durch ein eingebettetes System mit einem Hauptprozessorkern und einem Sicherheitshardwarebaustein
EP3403369B1 (en) * 2016-01-13 2020-03-04 Telefonaktiebolaget LM Ericsson (PUBL) Integrity protection
DE102016221108A1 (de) * 2016-10-26 2018-04-26 Volkswagen Aktiengesellschaft Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
US10608822B2 (en) 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
CN111052670B (zh) * 2017-09-01 2024-02-09 三菱电机株式会社 加密装置、解密装置、加密方法、解密方法和计算机能读取的存储介质
EP3697020A1 (de) * 2019-02-15 2020-08-19 Siemens Aktiengesellschaft Verfahren zum betreiben von im zähler-modus betriebenen schlüsselstromgeneratoren zur sicheren datenübertragung, schlüsselstromgenerator mit zähler-modus-betrieb zur sicheren datenübertragung und computer-programm-produkt zur schlüsselstromerzeugung
US11177933B2 (en) * 2019-03-24 2021-11-16 Google Llc Side channel timing attack mitigation in securing data in transit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001211442A (ja) * 2000-01-27 2001-08-03 Victor Co Of Japan Ltd コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
JP2003526118A (ja) * 1999-06-09 2003-09-02 マイクロソフト コーポレイション 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント
JP2004328629A (ja) * 2003-04-28 2004-11-18 Sharp Corp 画像記録システム及び画像記録装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128737A (en) * 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
KR100991222B1 (ko) 2003-03-25 2010-11-01 도꾸리츠 교세이 호징 죠우호 쯔우신 겐큐 기코우 암호화 및 복호를 위한 장치, 방법 및 기록 매체
JP2004363739A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
KR100578550B1 (ko) 2003-12-23 2006-05-12 한국전자통신연구원 스트림 암호를 이용한 메시지 인증 코드 구성 방법
EP1716663A1 (en) * 2004-02-10 2006-11-02 Cryptico A/S Methods for generating identification values for identifying electronic messages
US7623656B2 (en) * 2004-02-17 2009-11-24 Qualcomm Incorporated Stream cipher encryption and message authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003526118A (ja) * 1999-06-09 2003-09-02 マイクロソフト コーポレイション 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント
JP2001211442A (ja) * 2000-01-27 2001-08-03 Victor Co Of Japan Ltd コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
JP2004328629A (ja) * 2003-04-28 2004-11-18 Sharp Corp 画像記録システム及び画像記録装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010032391A1 (ja) * 2008-09-19 2010-03-25 日本電気株式会社 完全性検証のための通信システム、通信装置、及びそれらを用いた通信方法及びプログラム
JP2011160229A (ja) * 2010-02-01 2011-08-18 Kddi Corp 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2011160228A (ja) * 2010-02-01 2011-08-18 Kddi Corp 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP2012235288A (ja) * 2011-04-28 2012-11-29 Kddi Corp ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2016508002A (ja) * 2013-02-07 2016-03-10 クアルコム,インコーポレイテッド 固定長データ構造の完全性を保護するための方法
WO2016027454A1 (ja) * 2014-08-20 2016-02-25 日本電気株式会社 認証暗号化方法、認証復号方法および情報処理装置
JPWO2016027454A1 (ja) * 2014-08-20 2017-06-08 日本電気株式会社 認証暗号化方法、認証復号方法および情報処理装置
US10623176B2 (en) 2014-08-20 2020-04-14 Nec Corporation Authentication encryption method, authentication decryption method, and information-processing device

Also Published As

Publication number Publication date
US8090098B2 (en) 2012-01-03
US20080112561A1 (en) 2008-05-15
JP4712017B2 (ja) 2011-06-29

Similar Documents

Publication Publication Date Title
JP4712017B2 (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
KR100930577B1 (ko) 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
US6973187B2 (en) Block encryption method and schemes for data confidentiality and integrity protection
US8712036B2 (en) System for encrypting and decrypting a plaintext message with authentication
Mironov Hash functions: Theory, attacks, and applications
US20020048364A1 (en) Parallel block encryption method and modes for data confidentiality and integrity protection
KR20050027254A (ko) 데이터 처리 시스템을 위한 효율적인 암호화 및 인증
Hoobi Efficient hybrid cryptography algorithm
Abutaha et al. New one way hash algorithm using non-invertible matrix
WO2021171543A1 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法および記録媒体
Tiwari et al. Cryptographic hash function: an elevated view
Chahar et al. Design of a new Security Protocol
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Rogobete et al. Hashing and Message Authentication Code Implementation. An Embedded Approach.
Djordjevic et al. Conventional Cryptography Fundamentals
JP2002215026A (ja) 署名付き暗号通信方法及びその装置
Almuhammadi et al. Double-hashing operation mode for encryption
Harba Secure Data Encryption by Combination AES, RSA and HMAC
JP2000004223A (ja) 暗号・認証システム
Walker et al. RECENT CONTRIBUTIONS TO CRYPTOGRAPHIC HASH FUNCTIONS.
Nag et al. DSA security enhancement through efficient nonce generation
Purohit et al. Implementation of Double Encrypted MAC based on Diffie-Hellman Key Exchange for Improved integrity and Authentication
Bogdanov et al. Key Recovery Attacks on Recent Authenticated Ciphers
Sriram et al. A Novel Multiple Key Block Ciphering Mechanism with Reduced Computational Overhead
Valizadeh Healing the Hill Cipher, Improved Approach to Secure Modified Hill against Zero-plaintext Attack

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110322

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees