JPWO2016067524A1 - 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム - Google Patents

認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム Download PDF

Info

Publication number
JPWO2016067524A1
JPWO2016067524A1 JP2016556190A JP2016556190A JPWO2016067524A1 JP WO2016067524 A1 JPWO2016067524 A1 JP WO2016067524A1 JP 2016556190 A JP2016556190 A JP 2016556190A JP 2016556190 A JP2016556190 A JP 2016556190A JP WO2016067524 A1 JPWO2016067524 A1 JP WO2016067524A1
Authority
JP
Japan
Prior art keywords
plaintext
value
unit
encryption
mask
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
JP2016556190A
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
Publication of JPWO2016067524A1 publication Critical patent/JPWO2016067524A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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

Landscapes

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

Abstract

平文の入力を受け付ける平文入力部と、過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、平文に基づく調整値を用いて、固定長値を暗号化してマスク値を生成するマスク値生成部と、マスク値生成部が生成したマスク値を用いて、平文を暗号化して暗号文を生成する平文暗号化部と、マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、平文暗号化部が暗号化した暗号文と、タグ生成部が生成したタグと、を出力する。

Description

本発明は、内容の秘匿と、不正な改ざんに対する検知と、を共に可能とする認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム、に関する。
通信におけるセキュリティ確保などを目的として、平文を暗号化する暗号化技術が用いられることが知られている。
暗号化技術としては、例えば、特許文献1が知られている。特許文献1に記載されている技術では、共有秘密鍵としての暗号鍵と初期ベクトルとに基づいて共有鍵ブロック暗号適用鍵を生成し、共有鍵ブロック暗号適用鍵に基づいて平文を暗号化する。その後、生成した暗号文と初期ベクトルとを連結したデータを送信することになる。特許文献1によると、このような方法を用いることで、電力差分解析などによる暗号解析を防ぎつつ平文を暗号化することが可能となる。
また、暗号化技術の他の一例として、例えば、特許文献2が知られている。特許文献2には、誤り訂正符号を用いて平文を符号化するステップと、符号化した平文と秘密鍵とランダムベクトルとに基づいて符号化した符号語を暗号化するステップと、暗号化された符号語にノイズベクトルを付加するステップと、を有する確率的対称暗号化方法が記載されている。特許文献2によると、このような方法により、低コストで安全な暗号化を実現することが出来る。
また、事前に共有された秘密鍵を用いて平文メッセージに対する暗号化と改ざん検知用の認証タグ計算とを同時に適用する、いわゆる認証付き暗号(Authenticated Encryption,AE)技術としては、例えば、非特許文献1や非特許文献2のような技術が知られている。非特許文献1、2によると、秘密鍵をパラメータとする暗号化関数を用いて、初期ベクトルと平文から、暗号文と固定長の改ざん検出用の変数であるタグとを生成する。つまり、非特許文献1、2によると、例えば、秘密鍵をK、平文をM、初期ベクトルをNとし、鍵Kをパラメータとした暗号化関数をAEnc_K、暗号分をC、タグをTとした場合に、下記のような処理を行うことになる。
(C,T)=AEnC_K(N,M)
非特許文献1、2では、上記処理の後、生成された暗号文CとタグTと、初期ベクトルNとを相手側(復号装置)へと送信する。その後、送信結果を受信した復号装置では、受信した結果と復号関数ADec_Kとを用いて、改ざんの有無の検出と、平文Mの復号と、が行われることになる。なお、初期ベクトルNは偶然一致することがないように生成されるものとする。
また、AEの他の技術の一つとして、例えば、非特許文献3が知られている。非特許文献3では、Kを鍵とした可変長入出力の擬似ランダム置換(Wide Pseudo Random Permutation,WPRP)P_Kを用いて、初期ベクトルNと平文Mとを連結して得られた入力(N,M)に対し、暗号文C=P_K(N,M)を全体の出力とする。この場合、暗号文Cの長さは、初期ベクトルNと平文Mの長さの和となることになる。
また、上記の場合、復号側では、共有する鍵Kを用いて、暗号文CへP_Kの逆置換を適用して(N,M)を得たのち、Nが期待する値であるか否かを確認することで、認証チェックを行うことになる。なお、非特許文献3の技術では、復号側が、暗号化側が用いるべき初期ベクトルNを予め分かっていることが必要となる。これは、初期ベクトルNの更新に関して暗号化側と復号側とで同期がとれていれば実現可能である。典型的には、復号側が直前に送られた正規の暗号分の初期ベクトルを記憶していることで達成される。この条件は、復号側でリプレイアタック(反射攻撃、Replay Attack)を検知して排除することが求められているケースでは自然な条件となる。
特開2005−134478号公報 特表2011−509433号公報
NIST Special Publication 800-38C Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality http://csrc.nist.gov/publications/nistpubs/800-38C/SP800-38C_updated-July20_2007.pdf NIST Special Publication 800-38D Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf D. McGrew. Authenticated Encryption with Replay prOtection (AERO) https://tools.ietf.org/html/draft-mcgrew-aero-00
特許文献1、2のような技術では、メッセージ認証機能を新たに追加したい場合、例えば、メッセージ認証符号(Message Authentication Code,MAC)を新たに付加することになる。その結果、送信する情報量が増え、通信帯域が増加するという問題があった。また、このように新たにメッセージ認証機能を追加し、全体として認証暗号の機能を達成しようとする場合には、メッセージの長さに関わらずプロトコルの変更が求められる場合があり、実用上の困難を生じることがあった。
また、非特許文献1、2に記載されている技術では、平文Mの暗号化により、平文Mと同じ長さの暗号文Cに初期ベクトルNとタグTとを連結して送信する必要がある。通常の処理では、初期ベクトルNもタグTも4バイトから32バイト程度の短い値であるが、平文Mも同様に短い場合などでは、初期ベクトルNとタグTの追加による通信帯域増加は無視できない。このようなケースは、例えば、無線センサーネットワークのデバイスなどで頻繁に見受けられるが、このようなネットワークでは、通信帯域が消費電力を左右する重要な要素の一つとなる。そのため、帯域削減は重要な課題となっていた。
また、非特許文献3に記載されている技術では、送信する情報は暗号文Cのみとなり、その長さは、上述したように、初期ベクトルNと平文Mの長さの和となる。そのため、非特許文献1、2と比べて通信帯域の増加を抑えることが可能となっている。一方で、非特許文献3の技術では、入力長1ブロックにつき、ブロック暗号1回有限体GF(2)乗算(ただしnはブロックサイズ)を2回必要とする。そのため、一般的な暗号化と比べてその負荷は非常に大きくなり、暗号化の効率が悪いという問題が生じていた。
このように、認証付き暗号化方式を用いる際には、通信帯域が増加してしまうか、通信帯域の増加を抑えるためには、処理が複雑になるという問題があった。つまり、認証付き暗号化方式を用いる際には、効率的に帯域増加を防止することが難しい、という課題が生じていた。
そこで、本発明の目的は、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが難しい、という課題を解決する認証付暗号化装置を提供することにある。
かかる目的を達成するため本発明の一形態である認証付暗号化装置は、
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力するよう構成された、
という構成を採る。
また、本発明のほかの形態である認証付復号装置は、
復号の対象となる暗号文とタグとの入力を受け付ける暗号文入力部と、
前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
前記マスク値復号部が生成したマスク値を用いて、前記暗号文を復号して平文を生成する平文復号部と、
前記平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成する固定長値復号部と、
前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力するよう構成された、
という構成を採る。
また、本発明のほかの形態である認証付暗号システムは、
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する認証付暗号化装置と、
暗号文とタグとの入力を受け付ける暗号文入力部と、
前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
前記マスク値復号部が生成したマスク値を用いて、前記暗号文入力部が入力を受け付けた暗号文を復号して平文を生成する平文復号部と、
前記平文復号部が生成した平文に基づく調整値を用いて、前記マスク値復号部が生成したマスク値を復号して固定長値を生成する固定長値復号部と、
前記固定長値復号部が生成した固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力する認証付復号装置と、を備える
という構成を採る。
また、本発明のほかの形態である認証付暗号化方法は、
平文の入力を受け付け、
過去に生成した値とは異なる新たな固定長値を生成し、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成し、
前記生成したマスク値を用いて、前記平文を暗号化して暗号文を生成し、
前記生成したマスク値を暗号化してタグを生成し、
前記暗号文と、前記タグと、を出力する、
という構成を採る。
また、本発明のほかの形態であるプログラムは、
情報処理装置に、
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を実現させ、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する
プログラムである。
本発明は、以上のように構成されることにより、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが難しい、という課題を解決する認証付暗号化装置を提供することが可能となる。
本発明の第1の実施形態に係る認証付暗号化装置の構成の一例を示すブロック図である。 本発明の第1の実施形態に係る認証付き暗号化装置のチェックサム計算手段によるチェックサムの算出方法の一例を説明するための図である。 本発明の第1の実施形態に係る認証付暗号化装置の調整値付きブロック暗号化手段による暗号化の一例を説明するための図である。 本発明の第1の実施形態に係る認証付暗号化装置の調整値付きブロック暗号化手段による暗号化の他の一例を説明するための図である。 本発明の第1の実施形態に係る認証付暗号化装置のマスク付き暗号化手段による暗号化の一例を説明するための図である。 本発明の第1の実施形態に係る認証付暗号化装置のマスク付き暗号化手段による暗号化の一例を説明するための図である。 本発明の第1の実施形態に係る認証付暗号化装置の動作の一例を示すフローチャートである。 本発明の第2の実施形態に係る認証付復号装置の構成の一例を示すブロック図である。 本発明の第2の実施形態に係る認証付復号装置の動作の一例を示すフローチャートである。 認証付暗号化装置と認証付復号装置とにより構成される認証付暗号システムの構成の一例を示す図である。 本発明の第3の実施形態に係る認証付暗号化装置の構成の概略を示す概略ブロック図である。 本発明の第4の実施形態に係る認証付復号装置の構成の概略を示す概略ブロック図である。 本発明の第4の実施形態に係る認証付暗号システムの構成の概略を示す概略ブロック図である。
[第1の実施形態]
本発明の第1の実施形態について、図1乃至図7を参照して説明する。図1は、本発明の第1の実施形態に係る認証付暗号化装置1の構成の一例を示すブロック図である。図2は、認証付暗号化装置1のチェックサム計算手段12が行うチェックサムの算出方法の一例を示す図である。図3は、認証付暗号化装置1の調整値付きブロック暗号化手段13が行う暗号化処理の一例を示す図である。図4は、認証付暗号化装置1の調整値付きブロック暗号化手段13が行う暗号化処理の他の一例を示す図である。図5は、認証付暗号化装置1のマスク付き暗号化手段14が行う暗号化処理の一例を示す図である。図6は、認証付暗号化装置1のマスク付き暗号化手段14が行う暗号化処理の一例を示す図である。図7は、認証付暗号化装置1の動作の一例を示すフローチャートである。
本発明の第1の実施形態では、入力された平文を暗号化して出力する、共通鍵暗号方式を用いた認証付暗号化装置1について説明する。本実施形態における認証付暗号化装置1は、認証付き暗号化処理を行うよう構成されている。後述するように、認証付暗号化装置1は、入力された平文を所定の処理により暗号化した後、平文を暗号化した暗号文と後述するタグとを出力する。
本実施形態における認証付暗号化装置1は、演算装置と記憶装置とを有する情報処理装置である。記憶装置にはプログラムが記憶されており、記憶装置に記憶されたプログラムを演算装置が読み込んで実行することにより、後述する各手段を実現する。
図1を参照すると、本実施形態における認証付暗号化装置1は、平文入力手段10(平文入力部)と、初期ベクトル生成手段11(固定長値生成部)と、チェックサム計算手段12(調整値算出部)と、調整値付きブロック暗号化手段13(マスク値生成部)と、マスク付き暗号化手段14(平文暗号化部)と、タグ生成手段15(タグ生成部)と、暗号文出力手段16と、を有している。
平文入力手段10(平文入力部)は、暗号化の対象となる平文Mを入力する手段である。平文入力手段10は、例えば、キーボードなどの文字入力装置により構成されている。なお、平文入力手段10は、例えば、ネットワークなどを介して接続された外部の装置から平文Mを入力可能なよう構成しても構わない。
上記のように、平文入力手段10を介して、平文Mが入力される。そして、平文Mを入力された平文入力手段10は、当該入力された平文Mを、チェックサム計算手段12とマスク付き暗号化手段14へと出力する。
初期ベクトル生成手段11(固定長値生成部)は、過去に生成した値とは異なるnビットの初期ベクトルN(固定長値、nonce)を生成する。初期ベクトル生成手段11は、例えば、最初は任意の固定値を生成する。また、初期ベクトル生成手段11は、図示しない記憶部に前回生成した初期ベクトルを記憶しておき、新たに初期ベクトルを生成する際には、記憶された初期ベクトルに1を加えることで、過去に生成した値とは異なる新たな初期ベクトルを生成する。例えば、初期ベクトル生成手段11は、最後に生成した初期ベクトルがNのときに、新たな初期ベクトルN’として、N+1を生成する。この場合には、初期ベクトル生成手段11により行われる更新処理は、初期ベクトル更新関数f(N)=N+1を用いて表現できることになる。
このように、初期ベクトル生成手段11は、過去に生成した値と重複しないように初期ベクトルNを生成する。その後、初期ベクトル生成手段11は、生成した初期ベクトルNを調整値付きブロック暗号化手段13に対して出力する。
なお、初期ベクトル生成手段11が用いる初期ベクトル更新関数は、上記例示した場合に限定されない。初期ベクトル生成手段11は、過去に生成した値とは異なる初期ベクトルNを生成する様々な関数を用いるよう構成することが出来る。また、初期ベクトル生成手段11は、時間情報などのその他の補助情報を組み合わせて、初期ベクトルNを生成するように構成しても構わない。この場合には、初期ベクトルNを生成する際に用いる補助情報は、暗号化側と復号側で同期がとれているものとする。
また、上述したように、本実施形態における初期ベクトル生成手段11は、nビットの初期ベクトルを生成する。仮に、初期ベクトル生成手段11が生成する初期ベクトルに相当する値がnビットよりも短い場合には、初期ベクトル生成手段11は、適当なパディングを行った上で、nビットの初期ベクトルを生成することになる。
チェックサム計算手段12(調整値算出部)は、平文入力手段10から取得した平文Mから、簡易な計算によりnビットのチェックサムSUM(調整値)を算出する。
図2は、チェックサム計算手段12がチェックサムSUMを算出する際の処理の一例を示している。図2を参照すると、チェックサム計算手段12は、例えば、平文入力手段10から取得した平文Mをnビットごとのブロック(M[1]、…、M[m])に分割した際の、各平文ブロックの排他的論理和(Exclusive or,XOR)を算出する。例えば、その算出結果が、nビットのチェックサムSUM(調整値)になる。なお、このように平文Mをnビットごとのブロックに分割すると、最終ブロックM[m]がnビットに満たない場合がある。この場合には、チェックサム計算手段12は、適当なパディングを最終ブロックに適用した上で排他的論理和を算出することになる(図2参照)。
チェックサム計算手段12は、例えば、このような処理によりチェックサムSUMを算出する。その後、チェックサム計算手段12は、算出したチェックサムSUMを調整値付きブロック暗号化手段13へと出力する。
なお、チェックサム計算手段12は、上記処理以外の処理によりチェックサムSUMを算出するように構成しても構わない。チェックサム計算手段12は、例えば、排他的論理和の代わりに、算術加算、あるいは、巡回冗長検査(Cyclic Redundancy Check,CRC)などを使用するように構成することが出来る。
調整値付きブロック暗号化手段13(マスク値生成部、Tweakableブロック暗号化手段)は、チェックサム計算手段12から取得したチェックサムSUMを調整値(Tweak、ツィーク)として、初期ベクトル生成手段11が生成した初期ベクトルNを暗号化する。調整値付きブロック暗号化手段13は、通常のnビットブロック暗号を用いて実現することが可能である。
図3は、調整値付きブロック暗号化手段13が行う暗号化処理の一例を示している。図3を参照すると、調整値付きブロック暗号化手段13は、例えば、鍵K1とブロック暗号Eを用いて暗号化を行う暗号化部131と、鍵K1とは異なる鍵K2を持つnビット入出力の鍵付き関数Hを用いて所定の計算処理を行う計算部132と、を有している。なお、ブロック暗号Eは、例えば、AES(Advanced Encryption Standard)等、一般的なブロック暗号方式を採用することが出来る。また、この処理は、M. Liskov, R. L. Rivest, D. Wagner: Tweakable Block Ciphers.
Advances in Cryptology - CRYPTO 2002, 22nd Annual International Cryptology Conference, Santa Barbara, California, USA, August 18-22, 2002, Proceedings. Lecture Notes in Computer Science 2442 Springer 2002, pp. 31-46.
に記載のLRWの方式を用いている。
計算部132で用いられる関数Hは、チェックサムSUMと鍵K2とを引数としている。そのため、計算部132は、チェックサム計算手段12から取得したチェックサムSUMと予め記憶している鍵K2とを用いて計算処理を行うことになる。図3を参照すると、調整値付きブロック暗号化手段13では、上記処理の後、計算部132による計算結果であるH(SUM)と初期ベクトルNとの排他的論理和を算出して、その結果に基づいて、暗号化部131により暗号化を行う。そして、調整値付きブロック暗号化手段13は、暗号化部131による暗号化の結果と計算部132による計算結果との排他的論理を算出した後、その算出結果をマスクL(マスク値)として出力する。つまり、調整値付きブロック暗号化手段13は、例えば、以下のような処理を実行してマスクLを算出するように構成されている。
L=E(H(SUM)+N)+H(SUM)
なお、LはマスクLを表し、SUMはチェックサムSUMを表し、Nは初期ベクトルNを表すものとする。また、+は、ビット毎の排他的論理和を表している(以下、同様とする)。
例えば、このような処理により、調整値付きブロック暗号化手段13は、初期ベクトルNの暗号化を行ってマスクLを生成する。その後、調整値付きブロック暗号化手段13は、暗号化した結果であるnビットのマスクLを、マスク付き暗号化手段14とタグ生成手段15へと出力する。
なお、関数Hは、セキュリティーパラメータをe(eは0以上1以下)としたとき、任意の異なる2つの入力xとx’について、Pr[H(X)+H(X’)=c]の式で表される確率がeよりも小さくなる必要がある。このような場合、つまり、関数HがAXUユニバーサルハッシュ関数である場合、上記の構成は安全な調整値付きブロック暗号を実現することになる。
また、上記では、調整値付きブロック暗号化手段13の処理の一例について説明したが、調整値付きブロック暗号化手段13は、上記以外の処理により初期ベクトルNを暗号化するように構成しても構わない。例えば、上記では、鍵K1と鍵K2とを用いる場合について説明したが、全体の鍵をブロック暗号の鍵1つとすることも可能である。このような場合の一例について、例えば、図4を用いて説明する。なお、図4では、
Phillip Rogaway: Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC. Advances in Cryptology - ASIACRYPT 2004, 10th International Conference on the Theory and Application of Cryptology and Information Security, Jeju Island, Korea, December 5-9, 2004, Proceedings. Lecture Notes in Computer Science 3329 Springer 2004, pp. 16-31
に記載のXEXモードを用いている。
図4を参照すると、調整値付きブロック暗号化手段13は、例えば、鍵K1とブロック暗号Eを用いて暗号化を行う暗号化部133と、ガロア体GF(2)上の元2と後述する暗号化部135による暗号化の結果とを乗算する計算部134と、鍵K1とブロック暗号Eを用いてチェックサムSUMを暗号化する暗号化部135と、を有している。
上記構成によると、チェックサム計算手段12から取得したチェックサムSUMを、暗号化部135により暗号化した後、その暗号化結果であるE(SUM)とガロア体GF(2)上の元2との乗算を計算部134により行う。その後、調整値付きブロック暗号化手段13では、計算部134による計算結果であるmul(2,E(SUM))と、初期ベクトルNとの排他的論理和を算出して、その結果に基づいて、暗号化部133により暗号化を行う。そして、調整値付きブロック暗号化手段13は、暗号化部133による暗号化の結果と計算部134による計算結果との排他的論理和を算出した後、その算出結果をマスクLとして出力する。つまり、調整値付きブロック暗号化手段13は、例えば、以下のような処理を実行してマスクLを算出するように構成することも出来る。
L=E(mul(2,E(SUM))+N)+mul(2,E(SUM))
なお、mul(2,E(SUM))は、ガロア体GF(2)上の元2とE(SUM)との乗算を表している。
マスク付き暗号化手段14(平文暗号化部)は、調整値付き暗号化手段13から取得したマスクLを用いて、平文入力手段10から取得した平文Mを暗号化して暗号文Cを生成する。マスク付き暗号化手段14は、例えば、平文Mをnビットごとに分割した各ブロック(M[1]〜M[m])を暗号化する。安全性の観点から、マスク付き暗号化手段14は、同じマスクLで暗号文Cと、異なる暗号文C’と、を復号した場合に、鍵を知らないものにとって、高い確率で復号結果の少なくとも1ブロックが予測不可能な乱数となるように暗号化を行うものとする。
図5は、平文Mがnビットブロックの系列(M[1]、…、M[m])である場合の、平文M[i](iは、1からm−1の間の何れかの値)をマスク付き暗号化手段14が暗号化する際の処理の一例を示している。図5を参照すると、マスク付き暗号化手段14は、例えば、マスクLとガロア体上の定数2のi乗(平文[i]の場合。iは、平文のブロックの順番に応じた値になる)を乗算する計算部141と、鍵K1とブロック暗号Eを用いて暗号化を行う暗号化部142と、を有している。
上記構成によると、マスクLとガロア体上の2のi乗(iは平文のブロックの順番を示す値と対応する)との乗算を計算部141により行う。その後、マスク付き暗号化手段14では、計算部141による計算結果であるmul(2,L)と平文M[i]との排他的論理和を算出して、その結果に基づいて、暗号化部142により暗号化を行う。そして、マスク付き暗号化手段14は、暗号化部142による暗号化の結果と計算部141による計算結果との排他的論理和を算出した後、その算出結果を出力する。つまり、マスク付き暗号化手段14は、例えば、以下のような処理を実行して、平文M[i]を暗号化して暗号文C[i]を出力するように構成されている。
C[i]=E(mul(2,L)+M[i])+mul(2,L)
ただし、C[i]は暗号文C[i]を表し、M[i]は、平文M[i]を表している。
マスク付き暗号化手段14は、上記暗号化処理を、平文M[1]から平文M[m−1]まで行うことになる(図6参照)。また、平文Mをnビットのブロックに分割した際の最終ブロックM[m]はnビットに満たない場合がある。そのため、マスク付き暗号化手段14は、例えば、下記のように、定数を暗号化した結果と平文M[m]との排他的論理和を、暗号文C[m]として出力する(図6参照)。
C[m]=msb_|M[m]|(E(mul(2,L)))+M[m]
ここで、msb_a(X)は、Xの前方aビットを取り出す関数である。また、|X|はXのビット長を表す関数である。つまり、msb_|M[m]|(E(mul(2,L)))は、E(mul(2,L))の前方M[m]ビットを取り出すことを示している。暗号文C[m]は、上記処理により取り出された値と、M[m]との排他的論理和を算出することで、生成されることになる。
例えば、このような処理により、マスク付き暗号化手段14は、平文入力手段10に入力された平文Mを暗号化して暗号文Cを生成する。その後、マスク付き暗号化手段14は、生成した暗号文Cを暗号文出力手段16へと出力する。
なお、調整値付きブロック暗号化手段13が、上述した、
L=E(mul(2,E(SUM))+N)+mul(2,E(SUM))
の処理を実行するように構成されている場合、マスク付き暗号化手段14は、調整値付きブロック暗号化手段13とは異なる定数を用いる必要がある。これは、例えば、mul(2,L)の代わりにmul(2i+1,L)を用いることで実現可能である。つまり、上記のような場合には、例えば、計算部141が、マスクLと2i+1とを乗算するように構成されることになる。
タグ生成手段15(タグ生成部)は、調整値付きブロック暗号化手段13から取得したマスクLを用いて、タグTを生成する。タグTは、復号装置にてマスクLに復号され、メッセージ認証や暗号文Cの復号に用いられることになる。例えば、タグ生成手段15は、AESなどのブロック暗号を用いてマスクLを暗号化することで、タグTを生成する。その後、タグ生成手段15は、生成したタグTを暗号文出力手段16へと出力する。
暗号文出力手段16は、マスク付き暗号化手段14が出力する暗号文Cと、タグ生成手段15が出力するタグTと、を連結して、外部の装置へと出力する。暗号文出力手段16は、例えば、ディスプレイ装置やプリンタ装置などと接続されており、当該ディスプレイ装置やプリンタ装置などに、暗号文CとタグTとを出力することになる。なお、暗号文出力手段16は、例えば、ネットワークを介して接続された外部の装置へと暗号文CとタグTとを出力するように構成しても構わない。
以上が、認証付暗号化装置1の構成の一例である。次に、認証付暗号化装置1の動作の一例について、図7を用いて説明する。
図7を参照すると、まず、平文入力手段10に平文Mが入力される(ステップS101)。すると、平文入力手段10は、入力された平文Mを、チェックサム計算手段12とマスク付き暗号化手段14へと出力する。
続いて、チェックサム計算手段12が、平文MからチェックサムSUMを計算する(ステップS102)。具体的には、例えば、チェックサム計算手段12は、平文入力手段10から取得した平文Mをnビットごとのブロックに分割した際の、各平文ブロックの排他的論理和を算出することで、チェックサムSUMを算出する。その後、チェックサム計算手段12は、計算したチェックサムSUMを調整値付きブロック暗号化手段13へと出力する。
また、初期ベクトル生成手段11は、当該初期ベクトル生成手段11が過去に生成した値と重複がないように、初期ベクトルを生成する。そして、初期ベクトル生成手段11は、生成した初期ベクトルを調整値付きブロック暗号化手段13へと出力する。
続いて、調整値付きブロック暗号化手段13は、チェックサム計算手段12から受信したチェックサムSUMを調整値として、初期ベクトル生成手段11が生成した初期ベクトルNを暗号化する。具体的には、例えば、調整値付きブロック暗号化手段13は、下記式で表される処理を行うことで初期ベクトルNを暗号化する。
L=E(mul(2,E(SUM))+N)+mul(2,E(SUM))
この処理により、調整値付きブロック暗号化手段13は、マスクLを生成することになる(ステップS103)。その後、調整値付きブロック暗号化手段13は、生成したマスクLを、マスク付き暗号化手段14とタグ生成手段15へと出力する。
平文入力手段10から平文Mを取得して、また、調整値付きブロック暗号化手段13からマスクLを取得したマスク付き暗号化手段14は、マスクLを用いて平文Mを暗号化して暗号文Cを生成する(ステップS104)。具体的には、マスク付き暗号化手段14は、例えば、下記式で表される処理を行うことで、平文Mを暗号文Cへと暗号化する。
C[i]=E(mul(2,L)+M[i])+mul(2,L)
但し、i=1〜m−1
C[m]=msb_|M[m]|(E(mul(2,L)))+M[m]
その後、マスク付き暗号化手段14は、生成した暗号文Cを暗号文出力手段16へと出力する。
また、調整値付きブロック暗号化手段13からマスクLを取得したタグ生成手段15は、マスクLを暗号化することでタグTを生成する(ステップS105)。タグ生成手段15は、例えば、AESなどのブロック暗号を用いてマスクLを暗号化することで、タグTを生成することになる。その後、タグ生成手段15は、生成したタグTを暗号文出力手段16へと出力する。
その後、暗号文出力手段16は、マスク付き暗号化手段14から暗号文Cを取得する。また、暗号文出力手段16は、タグ生成手段15からタグTを取得する。すると、暗号文出力手段16は、取得した暗号文CとタグTとを連結する。そして、暗号文出力手段16は、暗号文CとタグTとをディスプレイ装置などの外部の装置へと出力する(ステップS106)。
以上が、認証付暗号化装置1の動作の一例である。
このように、本実施形態における認証付暗号化装置1は、平文入力手段10と、初期ベクトル生成手段11と、チェックサム計算手段12と、調整値付きブロック暗号化手段13と、マスク付き暗号化手段14と、タグ生成手段15と、を有している。このような構成により、チェックサム計算手段12は、平文入力手段10を介して入力された平文Mに基づいて、チェックサムSUMを計算することが出来る。また、調整値付きブロック暗号化手段13は、チェックサムSUMを調整値として、初期ベクトル生成手段11により生成された初期ベクトルを暗号化することにより、マスクLを生成することが出来る。さらに、マスク付き暗号化手段14は、マスクLを用いて平文Mを暗号化して暗号文Cを生成することが出来る。そして、タグ生成手段15は、マスクLを暗号化することでタグTを生成することが出来る。その結果、暗号文出力手段16は、生成した暗号文CとタグTとを出力することが出来る。
ここで、暗号文CとタグTとを受信した復号装置は、タグTを復号することでマスクLを生成することが出来る。また、復号装置は、生成したマスクLを用いて暗号文Cを平文Mに復号することが出来る。さらに、復号装置は、復号した平文Mに基づいてチェックサムSUMを算出することが出来る。そして、復号装置は、マスクLとチェックサムSUMとを用いることで、マスクLを復号して初期ベクトルNを生成することが出来る。その結果、復号装置は、生成された初期ベクトルNと初期ベクトル期待値とを比較することで、改ざんの有無を検知することが出来る。
このように、上記認証付暗号化装置1の各構成により生成される暗号文CとタグTとを出力することで、復号側は、暗号文Cを復号して平文Mを生成するとともに、メッセージ認証を行うことが出来るようになる。つまり、上記構成により、タグTと初期ベクトルNとを組み合わせた処理が可能となり、容易な計算処理により生成される暗号文CとタグTとのみを送信する認証付き暗号を実現することが可能となる。その結果、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが可能となる。
なお、本実施形態においては、認証付暗号化装置1がECB(Electronic CodeBook)モードを利用する場合について説明した。しかしながら、認証付暗号化装置1は、例えば、CBC(Cipher Block Chaining)モードなどを利用するように構成しても構わない。
[第2の実施形態]
次に、本発明の第2の実施形態について、図8、図9を参照して説明する。図8は、本発明の第2の実施形態に係る認証付復号装置2の構成の一例を示すブロック図である。図9は、認証付復号装置2の動作の一例を示すフローチャートである。
本発明の第2の実施形態では、第1の実施形態で説明した認証付暗号化装置1が出力した暗号文CとタグTとを復号して、平文Mを生成するとともに改ざんの有無を検出する認証付復号装置2について説明する。
本実施形態における認証付復号装置2は、演算装置と記憶装置とを有する情報処理装置である。記憶装置にはプログラムが記憶されており、記憶装置に記憶されたプログラムを演算装置が読み込んで実行することにより、後述する各手段を実現する。
図8を参照すると、認証付復号装置2は、暗号文入力手段20(暗号文入力部)と、マスク生成手段21(マスク値算出部)と、マスク付き復号手段22(平文復号部)と、チェックサム計算手段23(調整値算出部)と、調整値付きブロック復号手段24(初期ベクトル生成部)と、初期ベクトル検査手段25(初期ベクトル検査部)と、平文出力手段26と、を有している。
暗号文入力手段20(暗号文入力部)は、復号の対象となる暗号文CとタグTとを入力する手段である。暗号文入力手段20は、例えば、キーボードなどの文字入力装置により構成されている。なお、暗号文入力手段20は、例えば、ネットワークなどを介して接続された外部の装置から暗号文CとタグTとを入力可能なよう構成しても構わない。
上記のように、暗号文入力手段20を介して、暗号文CとタグTとが入力される。そして、暗号文CとタグTとを入力された暗号文入力手段20は、入力されたタグTをマスク生成手段21へと出力するとともに、暗号文Cをマスク付き復号手段22へと出力する。
マスク生成手段21(マスク値算出部)は、暗号文入力手段20から取得したタグTを用いて、マスクLを生成する。例えば、マスク生成手段21は、第1の実施形態で説明したタグ生成手段15で用いられるブロック暗号の復号関数を用いてタグTを復号することで、マスクLを生成する。その後、マスク生成手段21は、生成したマスクLをマスク付き復号手段22と調整値付きブロック復号手段24へと出力する。
マスク付き復号手段22(平文復号部)は、マスク生成手段21から取得したマスクLを用いて、暗号文入力手段20から取得した暗号文Cを復号して平文Mを生成する。例えば、マスク付き復号手段22は、第1の実施形態で説明したマスク付き暗号化手段14の逆関数Dを行うことで、暗号文Cを復号して平文Mを生成する。
例えば、暗号文Cがm個のnビットブロック(C[1]、…、C[m])からなり、第1の実施形態で説明した
C[i]=E(mul(2,L)+M[i])+mul(2,L)
但し、i=1〜m−1
を用いて暗号化が行われている場合を想定する。この場合、マスク付き復号手段22は、暗号文の各ブロックC[i](i=1、…、m−1)に対して、例えば以下で示すような処理を実行して、暗号文C(最終ブロックを除く)を復号する。
M[i]=D(mul(2,L)+C[i])+mul(2,L)
また、マスク付き復号手段22は、例えば、以下で示すような処理を実行して、暗号文Cの最終ブロックC[m]を復号する。
M[m]=msb_|C[m]|(E(mul(2,L)))+C[m]
例えば、このような処理により、マスク付き復号手段22は、暗号文入力手段20に入力された暗号文Cを復号して平文Mを生成する。その後、マスク付き復号手段22は、生成した平文Mをチェックサム計算手段23と平文出力手段26へと出力する。
チェックサム計算手段23(調整値算出部)は、マスク付き復号手段22から取得した平文Mから、簡易な計算によりnビットのチェックサムSUMを算出する。その後、チェックサム計算手段23は、算出したチェックサムSUMを調整値付きブロック復号手段24へと出力する。
チェックサム計算手段23は、第1の実施形態で説明したチェックサム計算手段12と同様の処理によりチェックサムSUMを算出する。チェックサム計算手段23により行われるチェックサムSUMの算出処理の詳細な説明については、第1の実施形態で既に行ったものと同様なため省略する。
調整値付きブロック復号手段24(初期ベクトル生成部)は、チェックサム計算手段23から取得したチェックサムSUMを調整値(Tweak、ツィーク)として、マスクLを復号処理して初期ベクトルNを生成する。具体的には、調整値付きブロック復号手段24は、第1の実施形態で説明した調整値付きブロック暗号化手段13の逆関数を行うことで、マスクLを復号して初期ベクトルNを生成する。その後、調整値付きブロック復号手段24は、生成した初期ベクトルNを初期ベクトル検査手段25へと出力する。
なお、調整値付きブロック復号手段24は、調整値付きブロック暗号化手段13と同様に、通常のnビットブロック暗号を用いて実現することが出来る。
初期ベクトル検査手段25(初期ベクトル検査部)は、調整値付きブロック復号手段24から取得した初期ベクトルNと、暗号文CタグTのペアに対して復号側が期待する初期ベクトル値である初期ベクトル期待値N*と、を比較して、改ざんの有無を検出する。初期ベクトル検査手段25は、初期ベクトルNと初期ベクトル期待値N*との比較の後、検証結果を2値表現した検証結果B(検査合格ならACK、検査失敗ならNCK)を出力するとともに、必要に応じて次回の検査で用いる初期ベクトル期待値N*_newを生成することになる。
例えば、初期ベクトル検査手段25は、図示しない記憶部に初期ベクトル期待値N*を予め記憶しておき、調整値付きブロック復号手段24から取得した初期ベクトルNと、予め記憶した初期ベクトル期待値N*と、を比較する。そして、初期ベクトル検査手段25は、初期ベクトルNと初期ベクトル期待値N*とが一致した場合に、改ざんは無いと判断してB=ACKを出力する(検査合格)。また、この場合、初期ベクトル検査手段25は、暗号側が用いる初期ベクトルNの更新関数がfであるとすると、新たな初期ベクトル期待値N*_new=f(N)を生成し、上記図示しない記憶部に記憶する。つまり、初期ベクトル検査手段25は、検査合格の場合、例えば、初期ベクトルをNからN+1に更新する(初期ベクトル更新関数f(N)=N+1の場合)。一方、初期ベクトル検査手段25は、初期ベクトルNと初期ベクトル期待値N*とが一致しない場合に、改ざんがあったと判断してB=NCKを出力する(検査失敗)。この場合には、初期ベクトル検査手段25は、初期ベクトル期待値N*を更新しない。つまり、新たな初期ベクトル期待値N*_new=N*となる。
初期ベクトル検査手段25は、例えば、上記処理により初期ベクトルNと初期ベクトル期待値N*とを比較して、その比較結果である検証結果Bを平文出力手段26に出力する。また、初期ベクトル検査手段25は、検査合格の場合に、初期ベクトル期待値N*を更新する。
なお、初期ベクトル検査手段25が行う比較検証の方法は、上記説明した場合に限られない。初期ベクトル検査手段25は、例えば、閾値tを図示しない記憶部に予め記憶しておき、初期ベクトルNと初期ベクトル期待値N*との絶対値差が閾値t以内である場合に検査合格と判断するように構成しても構わない。このように構成することで、初期ベクトル検査手段25は、通信路上のパケットロスなどの情報消失に対応することが出来るようになる。なお、上記のような構成の場合、改ざんを行う攻撃者の成功確率、すなわち不正な暗号文を復号した時の初期ベクトルNの値が偶然初期ベクトル期待値N*と近い値になる確率は、およそt/(2)となる。そのため、tを十分小さくすることで、情報消失に対応しつつ、改ざんを高い確率で検知することが可能となる。
平文出力手段26は、マスク付き復号手段22から取得した平文Mと、初期ベクトル検査手段25から取得した検証結果Bとを、外部の装置へと出力する。平文出力手段26は、例えば、ディスプレイ装置やプリンタ装置などと接続されており、当該ディスプレイ装置やプリンタ装置などに、平文Mと検証結果Bとを出力する。
具体的には、例えば、平文出力手段26は、検証結果B=ACK(検査合格)であった場合に、検証結果Bと平文Mを出力する。一方、平文出力手段26は、検証結果B=NCK(検査失敗)であった場合に、検証結果Bを出力する一方で平文Mを空列として出力する。例えばこのように、平文出力手段26は、検証結果Bと平文Mとを外部の装置に出力する。なお、平文出力手段26は、検証結果Bに関わらず検証結果Bと平文Mとを出力するように構成しても構わない。
以上が、認証付復号装置2の構成の一例である。次に、認証付復号装置2の動作の一例について、図9を用いて説明する。
図9を参照すると、まず、暗号文入力手段20に暗号部CとタグTとが入力される(ステップS201)。すると、暗号文入力手段20は、入力されたタグTをマスク生成手段21に送信するとともに、暗号文Cをマスク付き復号手段22に送信する。
続いて、マスク生成手段21が、タグTを復号してマスクLを生成する(ステップS202)。具体的には、例えば、マスク生成手段21は、第1の実施形態で説明したタグ生成手段15で用いられるブロック暗号の復号関数を用いてタグTを復号することで、マスクLを生成する。そして、マスク生成手段21は、生成したマスクLをマスク付き復号手段22と調整値付きブロック復号手段24へと出力する。
マスク付き復号手段22は、マスク生成手段21からマスクLを取得すると、暗号文入力手段20から取得した暗号文Cを、マスクLを用いて復号して平文Mを生成する(ステップS203)。具体的には、例えば、マスク付き暗復号手段22は、下記式で表される処理を行うことで、暗号文Cを平文Mへと復号する。
M[i]=D(mul(2,L)+C[i])+mul(2,L)
但し、i=1〜m−1
M[m]=msb_|C[m]|(E(mul(2,L)))+C[m]
その後、マスク付き復号手段22は、生成した平文Mをチェックサム計算手段23と平文出力手段26へと出力する。
続いてチェックサム計算手段23は、取得した平文MからチェックサムSUMを計算する(ステップS204)。具体的には、例えば、チェックサム計算手段23は、平文Mをnビットごとのブロックに分割した際の、各平文ブロックの排他的論理和を算出することで、チェックサムSUMを算出する。そして、チェックサム計算手段23は、計算したチェックサムSUMを調整値付きブロック復号手段24へと出力する。
その後、調整値付きブロック復号手段24が、チェックサム計算手段23が計算したチェックサムSUMを取得する。すると、調整値付きブロック復号手段24は、チェックサム計算手段23が算出したチェックサムSUMを調整値としてマスクLを復号して、初期ベクトルNを生成する(ステップS205)。例えば、この処理は、調整値付きブロック暗号化手段13の逆関数を行うことで、実行されることになる。その後、調整値付きブロック復号手段24は、生成した初期ベクトルNを初期ベクトル検査手段25へと出力する。
そして、初期ベクトル検査手段25は、調整値付きブロック復号手段24から初期ベクトルNを取得すると、当該初期ベクトルNと予め記憶している初期ベクトル期待値N*とが一致しているか否かを判断する(ステップS206)。
初期ベクトルNと初期ベクトル期待値N*とが一致している場合(ステップS206、Yes)、初期ベクトル検査手段25は、検証結果B=ACK(検査合格)とするとともに、新たな初期ベクトル期待値N*_new=f(N)に初期ベクトル期待値N*を更新する(ステップS207)。そして、初期ベクトル検査手段25は、検証結果B=ACKを平文出力手段26へと出力する。その後、平文出力手段26は、平文Mと検証結果Bとを出力する(ステップS208)。
一方、初期ベクトルNと初期ベクトル期待値N*とが一致していない場合(ステップS206、No)、初期ベクトル検査手段25は、検証結果B=NCK(検査失敗)とするとともに、初期ベクトル期待値N*を更新しない(ステップS209)。そして、初期ベクトル検査手段25は、検証結果B=NCKを平文出力手段26へと出力する。その後、平文出力手段26は、検証結果Bを出力する一方で、平文Mを空列で出力する(ステップS210)。
以上が、認証付復号装置2の動作の一例である。例えばこのような動作により、認証付復号装置2は、暗号文Cを平文Mに復号するとともに、改ざんの有無を検出する。
このように、本実施形態における認証付復号装置2は、暗号文入力手段20と、マスク生成手段21と、マスク付き復号手段22と、チェックサム計算手段23と、調整値付きブロック復号手段24と、初期ベクトル検査手段25と、平文出力手段26と、を有している。このような構成により、マスク生成手段21は、暗号文入力手段20を介して入力されたタグTを復号して、マスクLを生成することが出来る。また、マスク付き復号手段22は、暗号文入力手段20を介して入力された暗号文Cを、マスクLを用いて復号することで平文Mを生成することが出来る。さらに、チェックサム計算手段23は、平文Mに基づいてチェックサムSUMを算出することができ、調整値付きブロック復号手段24は、チェックサムSUMを調整値として、マスクLを初期ベクトルNに復号することが出来る。そして、初期ベクトル検査手段25は、初期ベクトルNと初期ベクトル期待値N*とを比較することで改ざんの有無を検出することが出来る。
以上より、上記構成によると、暗号文CとタグTとを受け取るだけで、暗号文Cを平文Mに復号するとともに、改ざんの有無を検出することが可能となる。その結果、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが可能となる。
なお、本実施形態においては、認証付復号装置2について説明した。しかしながら、例えば図10で示すように、第1の実施形態で説明した認証付暗号化装置1と認証付復号装置2とを同時に用いる認証付暗号システムにより、本発明を実現しても構わない。認証付暗号化装置1と認証付復号装置2との構成は、既に説明したものと同様のため、省略する。
次に本発明の第3の実施形態について図11を参照して説明する。
[第3の実施形態]
第3の実施形態では、入力された平文を暗号化して出力する、認証付暗号化装置3について説明する。本実施形態における認証付暗号化装置3は、平文を暗号化した暗号文とタグとを出力するよう構成されている。なお、本実施形態では、認証付暗号化装置3の構成の概略について説明する。
図11を参照すると、本実施形態における認証付暗号化装置3は、平文入力部31と、固定長値生成部32と、マスク値生成部33と、平文暗号化部34と、タグ生成部35と、を有している。
平文入力部31は、平文の入力を受け付ける。また、固定長値生成部32は、当該固定長値生成部32が過去に生成した値とは異なる新たな固定長値を生成する。
マスク値生成部33は、平文入力部31が受け付けた平文に基づく調整値を用いて、固定長値生成部32が生成した固定長値を暗号化してマスク値を生成する。つまり、マスク値生成部33は、平文入力部31から平文を取得する。また、マスク値生成部33は、固定長値生成部32から固定長値を取得する。そして、マスク値生成部33は、平文に基づく調整値を用いて、上記固定長値を暗号化してマスク値を生成する。
平文暗号化部34は、マスク値生成部33が生成したマスク値を用いて、平文を暗号化して暗号文を生成する。つまり、平文暗号化部34は、マスク値生成部33からマスク値を取得する。また、平文暗号化部34は、平文入力部31から平文を取得する。そして、平文暗号化部34は、マスク値を用いて平文を暗号化して暗号文を生成する。
タグ生成部35は、マスク値生成部33が生成したマスク値を暗号化してタグを生成する。つまり、タグ生成部35は、マスク値生成部33からマスク値を取得すると、当該取得したマスク値を暗号化してタグを生成する。
その後、認証付暗号化装置3は、平文暗号化部34が暗号化した暗号文とタグ生成部35が生成したタグとを出力する。
このように、本実施形態における認証付暗号化装置3は、平文入力部31と、固定長値生成部32と、マスク値生成部33と、平文暗号化部34と、タグ生成部35とを有している。このような構成により、マスク値生成部33は、平文入力部31に入力された平文に基づく調整値を用いて、固定長値生成部32が生成した固定長値を暗号化することにより、マスク値を生成することが出来る。また、平文暗号化部34は、マスク値を用いて、平文を暗号化して暗号文を生成することが出来る。そして、タグ生成部35は、マスク値を暗号化してタグを生成することが出来る。その結果、認証付暗号化装置3は、暗号文とタグとを出力することが出来る。
ここで、上記暗号文とタグとを受信した復号側では、タグを復号してマスク値を生成することが出来る。また、マスク値を用いて暗号文を復号して平文を生成することが出来る。そして、平文に基づく調整値を用いて、マスク値を復号して固定長値を生成することが出来る。その結果、復号側では、生成した固定長値と期待する固定長値である期待値とを比較することで、改ざんの有無を検出することが出来る。
このように、上記認証付暗号化装置3の各構成により生成される暗号文とタグとを出力することで、復号側は、暗号文を復号して平文を生成するとともに、メッセージ認証を行うことが出来るようになる。つまり、上記構成により、タグと固定長値を組み合わせた処理が可能となり、容易な計算処理により生成される暗号文とタグとのみを送信する認証付き暗号を実現することが可能となる。その結果、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが可能となる。
なお、上述した認証付暗号化装置3は、情報処置装置に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、平文の入力を受け付ける平文入力部31と、過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部32と、平文に基づく調整値を用いて、固定長値を暗号化してマスク値を生成するマスク値生成部33と、マスク値生成部33が生成したマスク値を用いて、平文を暗号化して暗号文を生成する平文暗号化部34と、マスク値生成部33が生成したマスク値を暗号化してタグを生成するタグ生成部35と、を実現させ、平文暗号化部34が暗号化した暗号文と、タグ生成部35が生成したタグと、を出力するプログラムである。
また、上述した認証付暗号化装置3が作動することにより実行される認証付暗号化方法は、平文の入力を受け付け、過去に生成した値とは異なる新たな固定長値を生成し、平文に基づく調整値を用いて、固定長値を暗号化してマスク値を生成し、生成したマスク値を用いて、平文を暗号化して暗号文を生成し、生成したマスク値を暗号化してタグを生成し、暗号文と、前記タグと、を出力する、という方法である。
上述した構成を有する、プログラム、又は、認証付暗号化方法、の発明であっても、上記認証付暗号化装置3と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
次に本発明の第4の実施形態について図12を参照して説明する。
[第4の実施形態]
第4の実施形態では、暗号文とタグとを取得して、暗号文を復号して平文を生成するとともに、改ざんの有無を検出する認証付復号装置4について説明する。なお、本実施形態では、認証付復号装置4の構成の概略について説明する。
図12を参照すると、本実施形態における認証付復号装置4は、暗号文入力部41と、マスク値復号部42と、平文復号部43と、固定長値復号部44と、改ざん検査部45と、を有している。
暗号文入力部41は、復号の対象となる暗号文とタグとの入力を受け付ける。
マスク値復号部42は、暗号文入力部41に入力されたタグを復号してマスク値を生成する。つまり、マスク値復号部42は、暗号文入力部41からタグを取得する。そして、マスク値復号部42は、タグを復号してマスク値を生成する。
平文復号部43は、マスク値復号部42が生成したマスク値を用いて、暗号文を復号して平文を生成する。つまり、平文復号部43は、マスク値復号部42からマスク値を取得する。また、平文復号部43は、暗号文入力部41から暗号文を取得する。そして、平文復号部43は、マスク値を用いて暗号文を復号して平文を生成する。
固定長値復号部44は、平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成する。つまり、固定長値復号部44は、平文復号部43が生成した平文に基づく調整値を用いて、マスク値復号部42が生成したマスク値を復号して固定長値を生成する。
改ざん検査部45は、固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する。つまり、改ざん検査部45は、固定長値復号部44が生成した固定長値と予め記憶した期待値とを比較する。これにより、改ざん検査部45は、改ざんの有無を検査する。
このように、認証付復号装置4は、暗号文入力部41と、マスク値復号部42と、平文復号部43と、固定長値復号部44と、改ざん検査部45と、を有している。このような構成により、マスク値復号部42は、暗号文入力部41を介して入力されたタグを復号して、マスク値を生成することが出来る。また、平文復号部43は、暗号文入力部41を介して入力された暗号文を、マスク値を用いて復号して平文を生成することが出来る。さらに、固定長値復号部44は、平文に基づく調整値を用いて、マスク値を復号して固定長値を生成することが出来る。そして、改ざん検査部45は、固定長値と期待値とを比較することで改ざんの有無を検出することが出来る。
以上より、上記構成によると、暗号文とタグとを受け取るだけで、暗号文を平文に復号するとともに、改ざんの有無を検出することが可能となる。その結果、認証付き暗号化方式を用いる際に、効率的に帯域増加を防止することが可能となる。
なお、上述した認証付復号装置4は、情報処置装置に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、復号の対象となる暗号文とタグとの入力を受け付ける暗号文入力部41と、暗号文入力部41に入力されたタグを復号してマスク値を生成するマスク値復号部42と、マスク値復号部42が生成したマスク値を用いて、暗号文を復号して平文を生成する平文復号部43と、平文に基づく調整値を用いて、マスク値を復号して固定長値を生成する固定長値復号部44と、固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部45と、を実現させ、改ざん検査部45が検査した改ざんの有無と、平文復号部43が生成した平文と、を出力するプログラムである。
また、上述した認証付復号装置4が作動することにより実行される認証付復号方法は、復号の対象となる暗号文とタグとの入力を受け付け、タグを復号してマスク値を生成し、マスク値を用いて、暗号文を復号して平文を生成し、平文に基づく調整値を用いて、マスク値を復号して固定長値を生成し、固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査し、改ざんの有無と、平文と、を出力する、という方法である。
上述した構成を有する、プログラム、又は、認証付復号方法、の発明であっても、上記認証付復号装置4と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
また、図13で示すような認証付暗号化装置3と認証付復号装置4とを備える認証付暗号システムであっても、本発明の目的を達成することが出来る。認証付暗号システムは、例えば、平文の入力を受け付ける平文入力部31と、過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部32と、平文に基づく調整値を用いて、固定長値を暗号化してマスク値を生成するマスク値生成部33と、マスク値生成部33が生成したマスク値を用いて、平文を暗号化して暗号文を生成する平文暗号化部34と、マスク値生成部33が生成したマスク値を暗号化してタグを生成するタグ生成部35と、を備え、平文暗号化部34が暗号化した暗号文と、タグ生成部33が生成したタグと、を出力する認証付暗号化装置3と、認証付暗号化装置3が出力した暗号文とタグとの入力を受け付ける暗号文入力部41と、暗号文入力部41に入力されたタグを復号してマスク値を算出するマスク値復号部42と、マスク値復号部42が算出したマスク値を用いて、暗号文を復号して平文を生成する平文復号部43と、平文に基づく調整値を用いて、マスク値を復号して固定長値を生成する固定長値復号部44と、固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部45と、を備え、改ざん検査部45が検査した改ざんの有無と、平文復号部43が生成した平文と、を出力する認証付復号装置4と、を備えている。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における認証付暗号化装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力するよう構成された
認証付暗号化装置。
(付記2)
付記1に記載の認証付暗号化装置であって、
前記平文入力部に入力された平文から固定長の前記調整値を算出する調整値算出部を備え、
前記マスク値生成部は、前記調整値算出部が算出する調整値を用いて、前記固定長値を暗号化して前記マスク値を生成するよう構成された
認証付暗号化装置。
(付記3)
付記2に記載の認証付暗号化装置であって、
前記調整値算出部は、前記平文入力部に入力された平文を所定長のブロックに分割した際の各ブロックの排他的論理和を算出することで前記調整値を算出するよう構成された
認証付暗号化装置。
(付記4)
付記1乃至3のいずれかに記載の認証付暗号化装置であって、
前記平文暗号化部は、前記平文を所定長のブロックに分割した際のブロックの一つである平文ブロックの値と、前記平文中における前記平文ブロックの順番に応じた有限体の定数と前記マスク値とを乗算した値である乗算値と、の排他的論理和を算出した後、所定のブロック暗号により暗号化を行い、当該暗号化の結果と前記乗算値との排他的論理和を算出することで、前記平文を暗号化して前記暗号文を生成するよう構成された
認証付暗号化装置。
(付記5)
付記4に記載の認証付暗号化装置であって、
前記平文暗号化部は、前記平文を所定長のブロックに分割した際の最後のブロックである最終ブロックを、当該最終ブロックに応じた有限体の定数を暗号化した結果に基づいて算出される値と当該平文の最終ブロックの値との排他的論理和を算出することで暗号化するよう構成された
認証付暗号化装置。
(付記6)
復号の対象となる暗号文とタグとの入力を受け付ける暗号文入力部と、
前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
前記マスク値復号部が生成したマスク値を用いて、前記暗号文を復号して平文を生成する平文復号部と、
前記平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成する固定長値復号部と、
前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力するよう構成された
認証付復号装置。
(付記7)
付記6に記載の認証付復号装置であって、
前記平文復号部が復号した平文から固定長の前記調整値を算出する調整値算出部を備え、
前記固定長復号部は、前記調整値算出部が算出する前記調整値を用いて、前記マスク値を復号して前記固定長値を生成するよう構成された
認証付復号装置。
(付記7−1)
付記7に記載の認証付復号装置であって、
前記改ざん検査部は、前記固定長値と予め記憶された期待値との差の絶対値と、予め記憶した閾値と、に基づいて、改ざんの有無を検査する
認証付復号装置。
(付記8)
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する認証付暗号化装置と、
暗号文とタグとの入力を受け付ける暗号文入力部と、
前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
前記マスク値復号部が生成したマスク値を用いて、前記暗号文入力部が入力を受け付けた暗号文を復号して平文を生成する平文復号部と、
前記平文復号部が生成した平文に基づく調整値を用いて、前記マスク値復号部が生成したマスク値を復号して固定長値を生成する固定長値復号部と、
前記固定長値復号部が生成した固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力する認証付復号装置と、を備える
認証付暗号システム。
(付記9)
平文の入力を受け付け、
過去に生成した値とは異なる新たな固定長値を生成し、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成し、
前記生成したマスク値を用いて、前記平文を暗号化して暗号文を生成し、
前記生成したマスク値を暗号化してタグを生成し、
前記暗号文と、前記タグと、を出力する
認証付暗号化方法。
(付記9−1)
復号の対象となる暗号文とタグとの入力を受け付け、
前記タグを復号してマスク値を生成し、
前記マスク値を用いて、前記暗号文を復号して平文を生成し、
前記平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成し、
前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査し、
前記改ざんの有無と、前記平文と、を出力する
認証付復号方法。
(付記9−2)
平文の入力を受け付け、
過去に生成した値とは異なる新たな固定長値を生成し、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成し、
前記生成したマスク値を用いて、前記平文を暗号化して暗号文を生成し、
前記生成したマスク値を暗号化してタグを生成し、
前記暗号文と、前記タグと、を出力し、
前記暗号文と、前記タグと、の入力を受け付け、
前記タグを復号して前記マスク値を生成し、
前記マスク値を用いて、前記暗号文を復号して前記平文を生成し、
前記平文に基づく前記調整値を用いて、前記マスク値を復号して前記固定長値を生成し、
前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査し、
前記改ざんの有無と、前記平文と、を出力する
認証付暗号処理方法。
(付記10)
情報処理装置に、
平文の入力を受け付ける平文入力部と、
過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を実現させ、
前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する
プログラム。
(付記10−1)
情報処理装置に、
復号の対象となる暗号文とタグとの入力を受け付ける暗号文入力部と、
前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
前記マスク値復号部が生成したマスク値を用いて、前記暗号文を復号して平文を生成する平文復号部と、
前記平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成する固定長値復号部と、
前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を実現させ、
前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力する
プログラム。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
なお、本発明は、日本国にて2014年10月30日に特許出願された特願2014−221754の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
1、3 認証付暗号化装置
10 平文入力手段
11 初期ベクトル生成手段
12 チェックサム計算手段
13 調整値付きブロック暗号化手段
131、133、135 暗号化部
132、134 計算部
14 マスク付き暗号化手段
141 計算部
142 暗号化部
15 タグ生成手段
16 暗号文出力手段
2、4 認証付復号装置
21 マスク生成手段
22 マスク付き復号手段
23 チェックサム計算手段
24 調整値付きブロック復号手段
25 初期ベクトル検査手段
26 平文出力手段
31 平文入力部
32 固定長値生成部
33 マスク値生成部
34 平文暗号化部
35 タグ生成部
41 暗号文入力部
42 マスク値復号部
43 平文復号部
44 固定長値復号部
45 改ざん検査部

Claims (10)

  1. 平文の入力を受け付ける平文入力部と、
    過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
    前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
    前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
    前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
    前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力するよう構成された
    認証付暗号化装置。
  2. 請求項1に記載の認証付暗号化装置であって、
    前記平文入力部に入力された平文から固定長の前記調整値を算出する調整値算出部を備え、
    前記マスク値生成部は、前記調整値算出部が算出する調整値を用いて、前記固定長値を暗号化して前記マスク値を生成するよう構成された
    認証付暗号化装置。
  3. 請求項2に記載の認証付暗号化装置であって、
    前記調整値算出部は、前記平文入力部に入力された平文を所定長のブロックに分割した際の各ブロックの排他的論理和を算出することで前記調整値を算出するよう構成された
    認証付暗号化装置。
  4. 請求項1乃至3のいずれかに記載の認証付暗号化装置であって、
    前記平文暗号化部は、前記平文を所定長のブロックに分割した際のブロックの一つである平文ブロックの値と、前記平文中における前記平文ブロックの順番に応じた有限体の定数と前記マスク値とを乗算した値である乗算値と、の排他的論理和を算出した後、所定のブロック暗号により暗号化を行い、当該暗号化の結果と前記乗算値との排他的論理和を算出することで、前記平文を暗号化して前記暗号文を生成するよう構成された
    認証付暗号化装置。
  5. 請求項4に記載の認証付暗号化装置であって、
    前記平文暗号化部は、前記平文を所定長のブロックに分割した際の最後のブロックである最終ブロックを、当該最終ブロックに応じた有限体の定数を暗号化した結果に基づいて算出される値と当該平文の最終ブロックの値との排他的論理和を算出することで暗号化するよう構成された
    認証付暗号化装置。
  6. 復号の対象となる暗号文とタグとの入力を受け付ける暗号文入力部と、
    前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
    前記マスク値復号部が生成したマスク値を用いて、前記暗号文を復号して平文を生成する平文復号部と、
    前記平文に基づく調整値を用いて、前記マスク値を復号して固定長値を生成する固定長値復号部と、
    前記固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
    前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力するよう構成された
    認証付復号装置。
  7. 請求項6に記載の認証付復号装置であって、
    前記平文復号部が復号した平文から固定長の前記調整値を算出する調整値算出部を備え、
    前記固定長復号部は、前記調整値算出部が算出する前記調整値を用いて、前記マスク値を復号して前記固定長値を生成するよう構成された
    認証付復号装置。
  8. 平文の入力を受け付ける平文入力部と、
    過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
    前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
    前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
    前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を備え、
    前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する認証付暗号化装置と、
    暗号文とタグとの入力を受け付ける暗号文入力部と、
    前記暗号文入力部に入力されたタグを復号してマスク値を生成するマスク値復号部と、
    前記マスク値復号部が生成したマスク値を用いて、前記暗号文入力部が入力を受け付けた暗号文を復号して平文を生成する平文復号部と、
    前記平文復号部が生成した平文に基づく調整値を用いて、前記マスク値復号部が生成したマスク値を復号して固定長値を生成する固定長値復号部と、
    前記固定長値復号部が生成した固定長値と予め記憶された期待値とを比較することで改ざんの有無を検査する改ざん検査部と、を備え、
    前記改ざん検査部が検査した改ざんの有無と、前記平文復号部が生成した平文と、を出力する認証付復号装置と、を備える
    認証付暗号システム。
  9. 平文の入力を受け付け、
    過去に生成した値とは異なる新たな固定長値を生成し、
    前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成し、
    前記生成したマスク値を用いて、前記平文を暗号化して暗号文を生成し、
    前記生成したマスク値を暗号化してタグを生成し、
    前記暗号文と、前記タグと、を出力する
    認証付暗号化方法。
  10. 情報処理装置に、
    平文の入力を受け付ける平文入力部と、
    過去に生成した値とは異なる新たな固定長値を生成する固定長値生成部と、
    前記平文に基づく調整値を用いて、前記固定長値を暗号化してマスク値を生成するマスク値生成部と、
    前記マスク値生成部が生成したマスク値を用いて、前記平文を暗号化して暗号文を生成する平文暗号化部と、
    前記マスク値生成部が生成したマスク値を暗号化してタグを生成するタグ生成部と、を実現させ、
    前記平文暗号化部が暗号化した暗号文と、前記タグ生成部が生成したタグと、を出力する
    プログラム。

JP2016556190A 2014-10-30 2015-10-02 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム Pending JPWO2016067524A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014221754 2014-10-30
JP2014221754 2014-10-30
PCT/JP2015/005042 WO2016067524A1 (ja) 2014-10-30 2015-10-02 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム

Publications (1)

Publication Number Publication Date
JPWO2016067524A1 true JPWO2016067524A1 (ja) 2017-08-10

Family

ID=55856893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556190A Pending JPWO2016067524A1 (ja) 2014-10-30 2015-10-02 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム

Country Status (2)

Country Link
JP (1) JPWO2016067524A1 (ja)
WO (1) WO2016067524A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6386198B1 (ja) 2017-02-21 2018-09-05 三菱電機株式会社 暗号化装置及び復号装置
EP3584991A1 (en) * 2018-06-18 2019-12-25 Koninklijke Philips N.V. Device for data encryption and integrity
WO2020044485A1 (ja) 2018-08-30 2020-03-05 三菱電機株式会社 メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム
JP7107381B2 (ja) 2018-09-27 2022-07-27 日本電気株式会社 Macタグリスト生成装置、macタグリスト検証装置、集約mac検証システム及び方法
US11824993B2 (en) 2019-04-18 2023-11-21 Nec Corporation MAC tag list generation apparatus, MAC tag list verification apparatus, method, and program
US20230134515A1 (en) * 2020-02-28 2023-05-04 Nec Corporation Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200227B2 (en) * 2001-07-30 2007-04-03 Phillip Rogaway Method and apparatus for facilitating efficient authenticated encryption

Also Published As

Publication number Publication date
WO2016067524A1 (ja) 2016-05-06

Similar Documents

Publication Publication Date Title
US10623176B2 (en) Authentication encryption method, authentication decryption method, and information-processing device
Jones JSON web algorithms (JWA)
JP6519473B2 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
WO2016067524A1 (ja) 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム
US8107620B2 (en) Simple and efficient one-pass authenticated encryption scheme
JP5855696B2 (ja) 完全性検証を含むブロック暗号化方法およびブロック復号化方法
US20150244518A1 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
WO2011105367A1 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP7367860B2 (ja) 認証暗号化装置、認証復号装置、認証暗号システム、方法及びプログラム
JP2017167390A (ja) 情報処理装置、情報処理方法及びプログラム
US11728968B2 (en) Authenticated encryption device, authenticated decryption device, authenticated encryption method, authenticated decryption method, authenticated encryption program, and authenticated decryption program
WO2021171543A1 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法および記録媒体
JP5110956B2 (ja) 暗号化装置及び復号装置
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
Jones RFC 7518: JSON Web Algorithms (JWA)
KR20150139304A (ko) 마스터 키를 보호하기 위한 암호화 장치 및 그 방법
KR102626974B1 (ko) 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템
JP2002215026A (ja) 署名付き暗号通信方法及びその装置
WO2022237440A1 (en) Authenticated encryption apparatus with initialization-vector misuse resistance and method therefor
Strenzke Botan's implementation of the McEliece PKC
WO2009081975A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
JP2004347885A (ja) 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム
KR20160052930A (ko) 스마트 가전 인증 장치 및 방법