JP2018515815A - データ暗号化装置及び方法、並びにデータ復号化装置及び方法 - Google Patents

データ暗号化装置及び方法、並びにデータ復号化装置及び方法 Download PDF

Info

Publication number
JP2018515815A
JP2018515815A JP2017560305A JP2017560305A JP2018515815A JP 2018515815 A JP2018515815 A JP 2018515815A JP 2017560305 A JP2017560305 A JP 2017560305A JP 2017560305 A JP2017560305 A JP 2017560305A JP 2018515815 A JP2018515815 A JP 2018515815A
Authority
JP
Japan
Prior art keywords
block
data
encryption
plaintext
decoding
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
JP2017560305A
Other languages
English (en)
Other versions
JP6665204B2 (ja
Inventor
チェ、ギュ−ヨン
ムン、ドク−ジェ
チョ、ジ−フン
Original Assignee
サムソン エスディーエス カンパニー リミテッド
サムソン エスディーエス カンパニー リミテッド
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 サムソン エスディーエス カンパニー リミテッド, サムソン エスディーエス カンパニー リミテッド filed Critical サムソン エスディーエス カンパニー リミテッド
Publication of JP2018515815A publication Critical patent/JP2018515815A/ja
Application granted granted Critical
Publication of JP6665204B2 publication Critical patent/JP6665204B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/16Obfuscation or hiding, e.g. involving white box

Landscapes

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

Abstract

データ暗号化装置及び方法、並びにデータ復号化装置及び方法を開示する。本発明の一実施形態に係るデータ暗号化装置は、データを複数の平文ブロックに分割する分割部と、暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロック、および前記データの暗号化のための初期値の少なくとも1つを暗号化する暗号化部と、非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするエンコード部とを含む。

Description

本発明は、データの暗号化及び復号化の技術に関する。
従来のブロック暗号アルゴリズムを用いるデータ暗号化では、暗号鍵が攻撃者に漏洩すると、暗号化されたデータの復号化が可能であり、データが露出するため、暗号鍵の保護・管理が非常に重要な問題であった。
一般に、ブロック暗号を用いるデータ暗号化では、暗号鍵の長さ、暗号ブロックのサイズ、ラウンド数がセキュリティ性に影響を与える。この中で、メッセージをブロック単位に分けて暗号化処理を行う際の運用モード(mode of operation)もまた、重要な役割を果たす。運用モードを使用するブロック暗号アルゴリズムは、ブロック単位で暗号化を行い、すべてのブロックに同一の暗号鍵で暗号化を行う。
しかしながら、従来のブロック暗号アルゴリズムを用いるデータ暗号化は、データ暗号化の長さが長ければ長いほど、データ暗号化ブロックが増え、その数だけ暗号アルゴリズムを使用して暗号化を行った。そのため、データが増えるほどデータ暗号化の速度も遅くなってしまい、大容量の暗号化などの暗号化速度が重要となる場合には使用が困難な問題点がある。
本発明は、ブロック暗号化方式およびエンコード方式を用いてデータ暗号化を行い、これにより、暗号文を復号化する新しい手法を提供することを目的とする。
本発明の一実施形態に係るデータ暗号化装置は、データを複数の平文ブロックに分割する分割部と、暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化する暗号化部と、非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするエンコード部とを含む。
前記ブロック暗号化方式は、対称鍵または非対称鍵を用いる暗号化方式を含むことができる。
前記ブロック暗号化方式は、ホワイトボックスに基づく暗号化方式を含むことができる。
前記エンコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるエンコード方式を含むことができる。
前記初期値は、初期化ベクトルまたはカウンタ値を含むことができる。
前記暗号化部は、前記初期化ベクトルまたは前記カウンタ値を用いて前記一部のブロックを暗号化することができる。
前記エンコード部は、前記初期化ベクトルまたは前記カウンタ値を用いて前記残りのブロックをエンコードすることができる。
前記エンコード部は、以前に生成された暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードすることができる。
前記エンコード部は、以前に生成された暗号文ブロックおよび前記以前に生成された暗号文ブロックの生成に用いられた平文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードすることができる。
本発明の一実施形態に係るデータ復号化装置は、暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化する復号化部と、非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするデコード部とを含む。
前記ブロック復号化方式は、対称鍵または非対称鍵を用いる復号化方式を含むことができる。
前記ブロック復号化方式は、ホワイトボックスに基づく復号化方式を含むことができる。
前記デコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるデコード方式を含むことができる。
前記デコード部は、前記暗号化されたデータの生成に用いられた初期化ベクトルまたはカウンタ値を用いて、前記残りのブロックをデコードすることができる。
前記デコード部は、以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードすることができる。
前記デコード部は、以前に生成された平文ブロックおよび前記以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードすることができる。
本発明の一実施形態に係るデータ暗号化方法は、データを複数の平文ブロックに分割するステップと、暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化するステップと、非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするステップとを含む。
前記ブロック暗号化方式は、対称鍵または非対称鍵を用いる暗号化方式を含むことができる。
前記ブロック暗号化方式は、ホワイトボックスに基づく暗号化方式を含むことができる。
前記エンコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるエンコード方式を含むことができる。
前記初期値は、初期化ベクトルまたはカウンタ値を含むことができる。
前記暗号化するステップは、前記初期化ベクトルまたは前記カウンタ値を用いて前記一部のブロックに対する暗号文ブロックを生成することができる。
前記エンコードするステップは、前記初期化ベクトルまたは前記カウンタ値を用いて前記残りのブロックをエンコードすることができる。
前記エンコードするステップは、以前に生成された暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードすることができる。
前記エンコードするステップは、以前に生成された暗号文ブロックおよび前記以前に生成された暗号文ブロックの生成に用いられた平文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードすることができる。
本発明の一実施形態に係るデータ復号化方法は、暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化するステップと、非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするステップとを含む。
前記ブロック復号化方式は、対称鍵または非対称鍵を用いる復号化方式を含むことができる。
前記ブロック復号化方式は、ホワイトボックスに基づく復号化方式を含むことができる。
前記デコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるデコード方式を含むことができる。
前記デコードするステップは、前記暗号化されたデータの生成に用いられた初期化ベクトルまたはカウンタ値を用いて、前記残りのブロックに対する平文ブロックを生成することができる。
前記デコードするステップは、以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードすることができる。
前記デコードするステップは、以前に生成された平文ブロックおよび前記以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードすることができる。
本発明の一実施形態に係る記録媒体に格納されたコンピュータプログラムは、ハードウェアと結合され、データを複数の平文ブロックに分割するステップと、暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化するステップと、非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするステップとを実行させる。
本発明の一実施形態に係る記録媒体に格納されたコンピュータプログラムは、ハードウェアと結合され、暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化するステップと、非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするステップとを実行させる。
本発明によると、暗号化されたデータの生成のために、ブロック暗号化方式を用いて一部の暗号文ブロックを生成するとともに、残りの暗号文ブロックをエンコード方式により処理することで、データ暗号化のための演算量を低減することにより、大容量の暗号化の場合であっても迅速な暗号化が可能となる。
図1は、本発明の一実施形態に係るデータ暗号化装置のブロック図である。 図2は、本発明の一実施形態に係るデータ復号化装置のブロック図である。 図3aは、本発明の一実施形態に係るECB(Electronic Code Book)モードを説明するための図である。 図3bは、本発明の一実施形態に係るECB(Electronic Code Book)モードを説明するための図である。 図4aは、本発明の一実施形態に係るCBC(Cipher Block Chaining)モードを説明するための図である。 図4bは、本発明の一実施形態に係るCBC(Cipher Block Chaining)モードを説明するための図である。 図5aは、本発明の他の実施形態に係るCBCモードを説明するための図である。 図5bは、本発明の他の実施形態に係るCBCモードを説明するための図である。 図6aは、本発明のまた他の実施形態に係るCBCモードを説明するための図である。 図6bは、本発明のまた他の実施形態に係るCBCモードを説明するための図である。 図7aは、本発明の一実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図7bは、本発明の一実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図8aは、本発明の他の実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図8bは、本発明の他の実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図9aは、本発明のまた他の実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図9bは、本発明のまた他の実施形態に係るPCBC(Propagating Cipher Block Chaining)モードを説明するための図である。 図10aは、本発明の一実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図10bは、本発明の一実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図11aは、本発明の他の実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図11bは、本発明の他の実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図12aは、本発明のまた他の実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図12bは、本発明のまた他の実施形態に係るCFB(Cipher FeedBack)モードを説明するための図である。 図13aは、本発明の一実施形態に係るOFB(Output FeedBack)モードを説明するための図である。 図13bは、本発明の一実施形態に係るOFB(Output FeedBack)モードを説明するための図である。 図14aは、本発明の他の実施形態に係るOFB(Output FeedBack)モードを説明するための図である。 図14bは、本発明の他の実施形態に係るOFB(Output FeedBack)モードを説明するための図である。 図15aは、本発明の一実施形態に係るCTR(Counter)モードを説明するための図である。 図15bは、本発明の一実施形態に係るCTR(Counter)モードを説明するための図である。 図16aは、本発明の他の実施形態に係るCTR(Counter)モードを説明するための図である。 図16bは、本発明の他の実施形態に係るCTR(Counter)モードを説明するための図である。 図17aは、本発明のまた他の実施形態に係るCTR(Counter)モードを説明するための図である。 図17bは、本発明のまた他の実施形態に係るCTR(Counter)モードを説明するための図である。 図18は、本発明の一実施形態に係るデータ暗号化方法のフローチャートである。 図19は、本発明の一実施形態に係るデータ復号化方法のフローチャートである。
以下、図面を参照して、本発明の実施形態をより具体的に説明する。以下の詳細な説明は、本明細書に記載されている方法、装置及び/又はシステムに関する総合的な理解を助けるために提供される。但し、これらは例示に過ぎず、本発明はこれらに制限されるものではない。
本発明の実施形態を説明するにあたり、関連する公知技術に対する具体的な説明が本発明の要旨を不明確にする虞があると判断される場合には、その詳細な説明を省略する。また、後述する用語は、本発明における機能を考慮して定義された用語であり、使用者、運用者の意図または慣例などによって異なり得る。従って、その定義は、本明細書全般に亘る内容に基づいて行われるべきである。詳細な説明で使用される用語は、単に本発明の実施形態を記述するためのものであり、決して制限的であってはならない。明確に異なる意味で使用されない限り、単数形の表現は複数形の意味を含む。本説明において、「含む」または「備える」のような表現は、如何なる特性、数字、段階、動作、要素、これらの一部または組合せを指すためのものであり、記述するもの以外に、一つ又はそれ以上の他の特性、数字、段階、動作、要素、これらの一部または組合せの存在又は可能性を排除して解釈してはならない。
図1は、例示的な実施形態に係るデータ暗号化装置を示す図であり、図2は、例示的な実施形態に係るデータ復号化装置を示す図である。いくつかの実施形態では、例示的なデータ暗号化装置100および例示的なデータ復号化装置200は、それぞれ別個のコンピューティング装置内に実現または包含され得る。それぞれのコンピューティング装置は、1以上のプロセッサと、該プロセッサによってアクセス可能なメモリなどのコンピュータ読み取り可能な記録媒体とを含むことができる。コンピュータ読み取り可能な記録媒体は、プロセッサの内部または外部に配置してもよく、よく知られている様々な手段によりプロセッサと接続してもよい。コンピュータ読み取り可能な記録媒体には、コンピュータ実行可能なコマンドが格納されていてもよい。プロセッサは、コンピュータ読み取り可能な記録媒体に格納されたコマンドを実行できる。そのコマンドは、プロセッサによって実行される場合、コンピューティング装置により例示的な実施形態に係る動作を実行するようにすることができる。
図1は、本発明の一実施形態に係るデータ暗号化装置100のブロック図である。
図1を参照すると、本発明の一実施形態に係るデータ暗号化装置100は、分割部110と、暗号化部130と、エンコード部150とを含む。
データ暗号化装置100は、平文データ(例えば、デジタル化された平文)を暗号化し、暗号化されたデータ(例えば、デジタル化された暗号文)を生成するように構成される。
分割部110は、暗号化の対象となる平文データを複数の平文ブロックに分割するものである。例えば、分割部110は、平文データを一定のサイズのブロック単位に分割し、複数の平文ブロックを生成することができる。その際に、例えば、分割されたブロックのサイズを揃えるために、最後のブロックに既に定義された値を詰め込むパディング(Padding)を行うことができる。
暗号化部130は、暗号鍵に基づくブロック暗号化方式を用いて、複数の平文ブロックの一部のブロックおよび暗号化のための初期値の少なくとも1つを暗号化する。
ここで、暗号鍵に基づくブロック暗号化方式は、対称鍵または非対称鍵を用いてデータをブロック単位で暗号化する様々な形態の暗号化方式を含むことができる。例えば、暗号化部130は、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、3DES、Blowfish、IDEA(International Data Encryption Algorithm)、RC2、RC5、RC6、SEED、ARIA、RSA(Rivest ShamirAdleman)、DSA(Digital Signature Standard)、ECC(Elliptic Curve Cryptosystem)、Elgamal、ホワイトボックスに基づく暗号化アルゴリズムなどの対称鍵または非対称鍵を用いる公知のブロック暗号化アルゴリズムを用いて暗号分ブロックを生成することができる。
一方、初期値は、例えば、任意のビット列である初期化ベクトル(Initialization Vector:IV)、又は平文ブロックを暗号化するたびに1ずつ増加するカウンタ値を含むことができる。このとき、暗号化部130は、後述する運用モードによって、初期値(初期化ベクトルまたは初期カウンタ値)を暗号鍵に基づくブロック暗号化方式により暗号化して暗号文ブロックを生成するか、または初期値(例えば、初期化ベクトルまたは初期カウンタ値)を用いて、平文ブロックの一部のブロックを暗号鍵に基づくブロック暗号化方式により暗号化し、暗号文ブロックを生成することができる。
一方、エンコード部150は、非暗号鍵に基づくエンコード方式を用いて、複数の平文ブロックのうち、暗号化部130により暗号化されていない残りのブロックをエンコードする。
その際に、一実施形態によると、非暗号鍵に基づくエンコード方式は、暗号鍵を用いずにデータを隠すことができる様々な形態のエンコード方式を含むことができる。例えば、非暗号鍵に基づくエンコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および複数の論理演算で構成される論理関数の少なくとも1つを用いるエンコード方式を含むことができる。
本発明の一実施形態によると、エンコード部150は、後述する運用モードによって、初期値(例えば、初期化ベクトルまたはカウンタ値)を用いて、暗号化部130により暗号化されていない平文ブロックをエンコードし、暗号文ブロックを生成することができる。
また、本発明の一実施形態によると、エンコード部150は、後述する運用モードによって、暗号化部130により暗号化されていない平文ブロックを順次エンコードして暗号文ブロックを生成するが、以前のステップで生成された暗号文ブロックを用いるか、又は以前のステップで生成された暗号文ブロック及び当該暗号文ブロックの生成のために用いられた平文ブロックを用いて、暗号文ブロックを生成することができる。
一方、本発明の一実施形態によると、暗号化部130およびエンコード部150は、ブロック暗号化に利用される従来の暗号化運用モードと類似した方式により、平文データを暗号化することができる。例えば、暗号化部130およびエンコード部150は、ECB(Electronic Code Blook)モード、CBC(Cipher Block Chanining)モード、PCBC(Propagating Cipher Block Chaining)モード、CFB(cipher FeedBack)モード、OFB(Output FeedBack)モード、及びCTR(Counter)モードのいずれかの運用モードで平文データを暗号化できる。但し、従来のブロック暗号化に利用される暗号化運用モードでは、平文データの暗号化のために一つの暗号化アルゴリズムが適用されるのに対して、本発明の実施形態で利用される運用モードでは、平文データの暗号化のために、ブロック暗号化方式とエンコード方式が適用される点で差異がある。つまり、本発明の実施形態により暗号化されたデータは、暗号鍵に基づくブロック暗号化方式により生成された暗号文ブロックと、非暗号鍵に基づくエンコード方式により生成された暗号文ブロックとを含むことになる。運用モードを用いる具体的な動作の詳細については、後述することとする。
一方、本発明の一実施形態によると、データ暗号化装置100は、初期値(例えば、初期化ベクトルまたはカウンタ値)を用いる運用モードによって暗号化されたデータを生成する場合は、初期値を生成するのための初期値生成部170をさらに含むことができる。
一方、分割部110、暗号化部130、エンコード部150および初期値生成部170は、データ暗号化装置100内で行う機能によって分類したものである。図1では、分割部110、暗号化部130、エンコード部150および初期値生成部170を分離された構成として示しているが、これに限定されず、具体的な動作において明確に区分されないことがある。
また、前述の例では、暗号化部130が、公知の特定の暗号化アルゴリズムを用いて暗号化を行うとして説明したが、これに限定されるものではない。例えば、暗号化部130およびエンコード部150は、所定の運用モードに基づいて、平文データの一部を対称鍵または非対称鍵を用いてブロック暗号化方式により暗号化し、平文データの残りの一部を暗号鍵を使用しない所定のエンコード方式によりエンコードするように設計された暗号化アルゴリズムを用いて、平文データを暗号化することができる。
一方、一実施形態では、分割部110、暗号化部130、エンコード部150、及び初期値生成部170は、1以上のプロセッサと、該プロセッサと接続されたコンピュータ読み取り可能な記録媒体とを備えるコンピューティング装置上で実現できる。コンピュータ読み取り可能な記録媒体は、プロセッサの内部または外部にあってもよく、よく知られている様々な手段によりプロセッサと接続していてもよい。コンピューティング装置内のプロセッサは、各コンピューティング装置により、本明細書に記載の例示的な実施形態により動作するようにすることができる。例えば、プロセッサは、コンピュータ読み取り可能な記録媒体に格納されたコマンドを実行することができ、コンピュータ読み取り可能な記録媒体に格納されたコマンドは、プロセッサによって実行される場合、コンピューティング装置により、本明細書に記載の例示的な実施形態による動作を実行するように構成できる。
図2は、本発明の一実施形態に係るデータ復号化装置200のブロック図である。
図2に示すデータ復号化装置200は、図1のデータ暗号化装置100により暗号化されたデータを復号化して、平文データを生成するためのものである。
図2を参照すると、本発明の一実施形態に係るデータ復号化装置200は、復号化部210とデコード部230とを含む。
復号化部210は、暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化することができる。例えば、図1で説明したように、データ暗号化装置100により暗号化されたデータは、暗号鍵に基づくブロック暗号化方式を用いて暗号化された暗号文ブロックと、非暗号鍵に基づくエンコード方式によりエンコードされた暗号文ブロックとを含むことができる。これにより、本発明の一実施形態によると、復号化部210は、暗号化されたデータのうち、暗号鍵に基づくブロック暗号化方式を用いて暗号化された暗号文ブロックを、暗号鍵に基づくブロック復号化方式を用いて復号化を行うことができる。
ここで、暗号鍵に基づくブロック復号化方式は、対称鍵または非対称鍵を用いて、データをブロック単位で復号化する様々な形態の復号化方式を含むことができる。例えば、復号化部210は、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、3DES、Blowfish、IDEA(International Data Encryption Algorithm)、RC2、RC5、RC6、SEED、ARIA、RSA(Rivest Shamir Adleman)、DSA(Digital Signature Standard)、ECC(Elliptic Curve Cryptosystem)、ELGmal、ホワイトボックス(Whitebox)に基づく暗号化アルゴリズムなどの対称鍵または非対称鍵を用いる公知のブロック暗号化アルゴリズムを用いて、暗号文ブロックの一部のブロックを復号化することができる。
一方、デコード部230は、非暗号鍵に基づくデコード方式を用いて、暗号化されたデータのうち、復号化部210により復号化されていない暗号文ブロックをデコードすることができる。そのとき、非暗号鍵に基づくデコード方式は、論理演算、一方向性関数、一方向性置換、および論理関数の少なくとも1つを用いるデコード方式を含むことができる。
本発明の一実施形態によると、デコード部230は、暗号化されたデータを復号化するための運用モードによって、初期値またはカウンタ値を用いて、復号化部210により復号化されていない暗号文ブロックをデコードし、平文ブロックを生成することができる。
また、本発明の一実施形態によると、デコード部230は、暗号化されたデータを復号化するための運用モードによって、復号化部230により復号化されていない暗号文ブロックを順次デコードして平文ブロックを生成するが、以前のステップで生成された平文ブロックの生成に用いられた暗号文ブロックを用いるか、又は以前のステップで生成された平文ブロッ及び当該平文ブロックの生成のために用いられた暗号文ブロックを用いて、平文ブロックを生成することができる。
一方、本発明の一実施形態によると、復号化部210およびデコード部230は、暗号化されたデータを生成するためにデータ暗号化装置100によって使用された運用モードと同一の運用モードを用いて、暗号化されたデータを復号化することができる。例えば、復号化部210およびデコード部230は、ECB(Electronic Code Blook)モード、CBC(Cipher Block Chanining)モード、PCBC(Propagating Cipher Block Chaining)モード、CFB(cipher FeedBack)モード、OFB(Output FeedBack)モード、およびCTR(Counter)モードのいずれかの運用モードで暗号化されたデータを復号化することができる。この詳細については、後述することとする。
一方、本発明の一実施形態によると、データ復号化装置200は、初期値(例えば、初期化ベクトルまたはカウンタ値)を用いる運用モードによって平文データを生成する場合は、初期値を生成するための初期値生成部250をさらに備えることができる。
一方、復号化部210、デコード部230及び初期値生成部250は、データ復号化装置200内で行う機能によって分類したものである。図2では、復号化部210、デコード部230及び初期値生成部250を分離された構成として示しているが、これに限定されるものではなく、具体的な動作において明確に区分されないことがある。
また、前述の例では、復号化部210が、公知の特定の暗号化アルゴリズムを用いて暗号化を行うとして説明したが、これに限定されるものではない。例えば、復号化部210およびデコード部230は、所定の運用モードに基づいて、暗号化されたデータの一部を対称鍵または非対称鍵を用いてブロック復号化方式で復号化し、暗号化されたデータの残りの一部を、暗号鍵を使用しない所定のデコード方式によりデコードするように設計された復号化アルゴリズムを用いて、暗号化されたデータから平文データを生成することができる。
一方、一実施形態では、復号化部210、エンコード部230及び初期値生成部250は、1以上のプロセッサと、該プロセッサと接続されたコンピュータ読み取り可能な記録媒体とを備えるコンピューティング装置上で実現できる。コンピュータ読み取り可能な記録媒体は、プロセッサの内部または外部にあってもよく、よく知られている様々な手段によりプロセッサと接続していてもよい。コンピューティング装置内のプロセッサは、各コンピューティング装置により、本明細書に記載の例示的な実施形態により動作するようにすることができる。例えば、プロセッサは、コンピュータ読み取り可能な記録媒体に格納されたコマンドを実行することができ、コンピュータ読み取り可能な記録媒体に格納されたコマンドは、プロセッサによって実行される場合、コンピューティング装置により、本明細書に記載の例示的な実施形態による動作を実行するように構成できる。
以下では、各運用モードによるデータ暗号化装置100及びデータ復号化装置200の例示的な動作について、より詳細に説明する。以下の実施例では、説明を容易にするために、ブロック暗号化方式としてAESアルゴリズムを用いると共に、エンコード方式として、XOR演算またはXOR演算および論理関数を用いるとして例示するが、これに限定されるものではない。
なお、以下の実施例では、最初の暗号文の生成のために、ブロック暗号化方式を用いるとして説明するが、これに限定されるものではなく、暗号化速度などを考慮し、2以上の平文ブロックをブロック暗号化方式により暗号化することも可能である。
1.ECBモードを利用した実施例
本発明の一実施例によると、データ暗号化装置100は、図3aに示す例のようにECBモードを利用してデータを暗号化することができる。
図3aに示すように、暗号化部130は、複数の平文ブロックのうち、最初の平文ブロックである平文ブロック1にブロック暗号アルゴリズムを適用し、暗号文ブロック1を生成する。その後、エンコード部150は、平文ブロック2、平文ブロック3及び平文ブロック4のそれぞれに論理関数を適用し、暗号文ブロック2、暗号文ブロック3及び暗号文ブロック4を生成することができる。
データ復号化装置200は、図3aの例により暗号化されたデータに対して、図3bの例のように復号化動作を行うことができる。
図3bを参照すると、復号化部210は、複数の暗号文ブロックのうち、最初の暗号文ブロックである暗号文ブロック1にブロック暗号アルゴリズムを適用し、平文ブロック1を生成する。その後、デコード部230は、暗号文ブロック2、暗号文ブロック3及び暗号文ブロック4のそれぞれに論理関数を適用し、平文ブロック2、平文ブロック3及び平文ブロック4を生成することができる。
2.CBCモードを利用した実施例
本発明の一実施例によると、データ暗号化装置100は、図4aに示す例のようにCBCモードを利用してデータを暗号化することができる。
図4aを参照すると、暗号化部130は、最初の平文ブロック(平文ブロック1)を初期化ベクトルと排他的論理和(XOR)を行い、それに対してAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロックとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図4aに示す暗号化動作は、次の数学式1のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
データ復号化装置200は、図4aの例により暗号化されたデータに対して、図4bの例のように復号化動作を行うことができる。
図4bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック1)にAESアルゴリズムを用いて復号化を行った後、初期化ベクトルとXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれに対して、直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図4bに示す復号化動作は、次の数学式2のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明の他の実施例によると、データ暗号化装置100は、図5aに示す例のようにCBCモードを利用してデータを暗号化することができる。
図5aを参照すると、暗号化部130は、最初の平文ブロック(平文ブロック1)を初期化ベクトルと排他的論理和(XOR)を行い、それに対してAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロックとXORした後、それに対して論理関数を適用し、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図5aに示す暗号化動作は、次の数学式3のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図5aの例により暗号化されたデータに対して、図5bに示すように復号化動作を行うことができる。
図5bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック1)にAESアルゴリズムを用いて復号化を行った後、初期化ベクトルとXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれに論理関数を適用した後、直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図5bに示す復号化動作は、次の数学式4のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明のまた他の実施例によると、データ暗号化装置100は、図6aに示す例のようにCBCモードを利用してデータを暗号化することができる。
図6aを参照すると、暗号化部130は、初期化ベクトルIVにAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック0)を生成することができる。
その後、エンコード部150は、平文ブロック1と初期化ベクトルIVをXORした後、論理関数を適用して暗号文ブロック1を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、以前に生成された暗号文ブロックとXORした後、それに対して論理関数を適用し、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図6aに示す暗号化動作は、次の数学式5のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図6aの例により暗号化されたデータに対して、図6bに示すように復号化動作を行うことができる。
図6bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック0)にAESアルゴリズムを用いて復号化を行い、初期化ベクトルIVを生成することができる。
その後、デコード部230は、暗号文ブロック1に論理関数を適用した後、初期化ベクトルとXORして平文ブロック1を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれに論理関数を適用した後、直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図6bに示す復号化動作は、次の数学式6のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
3.PCBCモードを利用した実施例
一方、本発明の一実施例によると、データ暗号化装置100は、図7aに示す例のようにPCBCモードを利用してデータを暗号化することができる。
図7aを参照すると、暗号化部130は、データの最初の平文ブロック(平文ブロック1)を初期化ベクトルIVと排他的論理和(XOR)をし、それに対してAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロック及び直前の平文ブロックとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図7aに示す暗号化動作は、次の数学式7のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図7aの例により暗号化されたデータに対して、図7bの例のように復号化動作を行うことができる。
図7bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック1)にAESアルゴリズムを用いて復号化を行った後、初期化ベクトルIVとXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれを、直前に生成された平文ブロック及び直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図7bに示す復号化動作は、次の数学式8のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明の他の実施例によると、データ暗号化装置100は、図8aに示す例のようにPCBCモードを利用してデータを暗号化することができる。
図8aを参照すると、暗号化部130は、データの最初の平文ブロック(平文ブロック1)を初期化ベクトルIVと排他的論理和(XOR)を行い、それに対してAESアルゴリズムを適用して、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロック及び直前の平文ブロックとXORした後、それに対して論理関数を適用し、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図8aに示す暗号化動作は、次の数学式9のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図9aの例により暗号化されたデータに対して、図8bの例のように復号化動作を行うことができる。
図8bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック1)にAESアルゴリズムを用いて復号化を行った後、初期化ベクトルIVとXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれに論理関数を適用した後、直前に生成された平文ブロック及び直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図8bに示す復号化動作は、次の数学式10のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明のまた他の実施例によると、データ暗号化装置100は、図9aに示す例のようにPCBCモードを利用してデータを暗号化することができる。
図9aを参照すると、暗号化部130は、データの最初の平文ブロック(平文ブロック1)を初期化ベクトルIVと排他的論理和(XOR)を行い、それに対してAESアルゴリズムを適用して、最初の暗号文ブロック(暗号文ブロック0)を生成することができる。
その後、エンコード部150は、平文ブロック1と初期化ベクトルIVをXORした後、論理関数を適用して、暗号文ブロック1を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロック及び直前の平文ブロックとXORした後、それに対して論理関数を適用し、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図9aに示す暗号化動作は、次の数学式11のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図9aの例により暗号化されたデータに対して、図9bの例のように復号化動作を行うことができる。
図9bを参照すると、復号化部210は、暗号化されたデータの最初のブロック(暗号文ブロック0)にAESアルゴリズムを用いて復号化を行い、初期化ベクトルIVを生成することができる。
デコード部230は、暗号文ブロック1に論理関数を適用した後、初期化ベクトルIVとXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれに論理関数を適用した後、直前に生成された平文ブロック及び直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図9bに示す復号化動作は、次の数学式12のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
4. CFBモードを利用した実施例
本発明の一実施例によると、データ暗号化装置100は、図10aに示す例のようにCFBモードを利用してデータを暗号化することができる。
図10aを参照すると、暗号化部130は、初期化ベクトルにAESアルゴリズムを適用した後、最初の平文ブロック(平文ブロック1)とXORして、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、平文ブロック2〜平文ブロック4のそれぞれを、直前に生成された暗号文ブロックとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図10aに示す暗号化動作は、次の数学式13のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図10aの例により暗号化されたデータに対して、図10bの例のように復号化動作を行うことができる。
図10bを参照すると、復号化部210は、初期化ベクトルIVにAESアルゴリズムを適用した後、最初の暗号文ブロック(暗号文ブロック1)とXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、暗号文ブロック2〜暗号文ブロック4のそれぞれを、直前の暗号文ブロックとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図10bに示す復号化動作は、次の数学式14のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
本発明の他の実施例によると、データ暗号化装置100は、図11aに示す例のようにCFBモードを利用してデータを暗号化することができる。
図11aを参照すると、暗号化部130は、初期化ベクトルにAESアルゴリズムを適用した後、最初の平文ブロック(平文ブロック1)とXORして、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、直前に生成された暗号文ブロックに論理関数を適用した後、平文ブロック2〜平文ブロック4のそれぞれとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図11aに示す暗号化動作は、次の数学式15のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図11aの例により暗号化されたデータに対して、図11bの例のように復号化動作を行うことができる。
図10bを参照すると、復号化部210は、初期化ベクトルIVにAESアルゴリズムを適用した後、最初の暗号文ブロック(暗号文ブロック1)とXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、以前の暗号文ブロックに論理関数を適用した後、ブロック2〜暗号文ブロック4のそれぞれとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図11bに示す復号化動作は、次の数学式16のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
本発明のまた他の実施例によると、データ暗号化装置100は、図12aに示す例のようにCFBモードを利用してデータを暗号化することができる。
図12aを参照すると、暗号化部130は、初期化ベクトルIVにAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック0)を生成することができる。
その後、エンコード部150は、初期化ベクトルIVを最初の平文ブロック(平文ブロック1)とXORして、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、直前に生成された暗号文ブロックに論理関数を適用した後、平文ブロック2〜平文ブロック4のそれぞれとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図12aに示す暗号化動作は、次の数学式17のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図12aの例により暗号化されたデータに対して、図12bの例のように復号化動作を行うことができる。
図12bを参照すると、復号化部210は、最初の暗号文ブロック(暗号文ブロック0)にAESアルゴリズムを適用し、初期化ベクトルIVを生成することができる。
その後、デコード部230は、初期化ベクトルIVと暗号文ブロック1をXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、以前の暗号文ブロックに論理関数を適用した後、ブロック2〜暗号文ブロック4のそれぞれとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図12bに示す復号化動作は、次の数学式18のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、DBLOCKはブロック復号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
5.OFBモードを利用した実施例
本発明の一実施例によると、データ暗号化装置100は、図13aに示す例のようにOFBモードを利用してデータを暗号化することができる。
図13aを参照すると、暗号化部130は、初期化ベクトルIVにAESアルゴリズムを適用した後、最初の平文ブロック(平文ブロック1)とXORして、最初の暗号文ブロック(暗号文ブロック1)を生成することができる。
その後、エンコード部150は、初期化ベクトルIVにAESアルゴリズムを適用して生成されたブロックに論理関数を繰り返し適用した後、平文ブロック2〜平文ブロック4のそれぞれとXORして、暗号文ブロック2〜暗号文ブロック4を生成することができる。
具体的には、図13aに示す暗号化動作は、次の数学式19のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、IVは初期化ベクトル、Oは初期化ベクトルにブロック暗号化アルゴリズムを適用して生成されたブロック、Cはi番目の暗号文ブロック、OはOに初期化ベクトルに論理関数をi回適用して生成されたブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図13aの例により暗号化されたデータに対して、図13bの例のように復号化動作を行うことができる。
図13bを参照すると、復号化部210は、初期化ベクトルIVにAESアルゴリズムを適用した後、最初の暗号文ブロック(暗号文ブロック1)とXORして、最初の平文ブロック(平文ブロック1)を生成することができる。
その後、デコード部230は、初期化ベクトルIVにAESアルゴリズムを適用して生成されたブロックに論理関数を繰り返し適用した後、暗号文ブロック2〜暗号文ブロック4のそれぞれとXORして、平文ブロック2〜平文ブロック4を生成することができる。
具体的には、図13bに示す復号化動作は、次の数学式20のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、IVは初期化ベクトル、Oは初期化ベクトルにブロック暗号化アルゴリズムを適用して生成されたブロック、Cはi番目の暗号文ブロック、OはOに初期化ベクトルに論理関数をi回適用して生成されたブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
本発明の他の実施例によると、データ暗号化装置100は、図14aに示す例のようにOFBモードを利用してデータを暗号化することができる。
図14aを参照すると、暗号化部130は、初期化ベクトルIVにAESアルゴリズムを適用し、最初の暗号文ブロック(暗号文ブロック0)を生成することができる。
その後、エンコード部150は、初期化ベクトルIVに論理関数を繰り返し適用した後、平文ブロック1〜平文ブロック4のそれぞれとXORして、暗号文ブロック1〜暗号文ブロック4を生成することができる。
具体的には、図14aに示す暗号化動作は、次の数学式21のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Oは初期化ベクトルに論理関数をi回適用して生成されたブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図14aの例により暗号化されたデータに対して、図14bの例のように復号化動作を行うことができる。
図14bを参照すると、復号化部210は、最初の暗号文ブロック(暗号文ブロック0)にAESアルゴリズムを適用し、初期化ベクトルIVを生成することができる。
その後、デコード部230は、生成された初期化ベクトルに論理関数を繰り返し適用した後、暗号文ブロック1〜暗号文ブロック4のそれぞれとXORして、平文ブロック1〜平文ブロック4を生成することができる。
具体的には、図14bに示す復号化動作は、次の数学式22のように表すことができる。
Figure 2018515815
ここで、Cはi番目の暗号文ブロック、Oは初期化ベクトルに論理関数をi回適用して生成されたブロック、Pはi番目の平文ブロック、IVは初期化ベクトル、EBLOCKはブロック暗号化アルゴリズム、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
6.カウンタ(CTR)モードを利用した実施例
本発明の一実施例によると、データ暗号化装置100は、図15aに示す例のようにカウンタモードを利用してデータを暗号化することができる。
図15aを参照すると、暗号化部130は、初期カウンタ値(CTR)にAESアルゴリズムを適用し、暗号文ブロック0を生成することができる。
その後、エンコード部150は、初期カウンタ値(CTR)を平文ブロック1とXORして、暗号文ブロック1を生成することができる。
同様に、エンコード部150は、i番目の平文ブロックをi番目のカウンタ値(例えば、図15aに示すようなCTR+i−1)とXORして、i番目の暗号文ブロックを生成することができる。このとき、エンコード部150は、各暗号文ブロックを並列的に生成できる。
具体的には、図15aに示す暗号化動作は、次の数学式23のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図15aの例により暗号化されたデータに対して、図15bの例のように復号化動作を行うことができる。
図15bを参照すると、復号化部210は、暗号文ブロック0にAESアルゴリズムを適用して初期カウンタ値を生成することができる。
その後、エンコード部150は、初期カウンタ値CTRを暗号文ブロック1とXORして平文ブロック1を生成することができる。
同様に、エンコード部150は、i番目の暗号文ブロックをi番目のカウンタ値(例えば、図15bに示すようなCTR+i−1)とXORして、i番目の平文ブロックを生成することができる。このとき、エンコード部150は、各平文ブロックを並列的に生成することができる。
具体的には、図15bに示す復号化動作は、次の数学式24のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明の他の実施例によると、データ暗号化装置100は、図16aに示す例のようにカウンタモードを利用してデータを暗号化することができる。
図16aを参照すると、暗号化部130は、初期カウンタ値CTRにAESアルゴリズムを適用し、暗号文ブロック0を生成することができる。
その後、エンコード部150は、初期カウンタ値CTRに論理関数を適用した後、平文ブロック1とXORして、暗号文ブロック1を生成することができる。
同様に、エンコード部150は、i番目のカウンタ値(例えば、図16aに示すようなCTR+i−1)に論理関数を適用した後、i番目の平文ブロックとXORして、i番目の暗号文ブロックを生成することができる。このとき、エンコード部150は、各暗号文ブロックを並列的に生成できる。
具体的には、図16aに示す暗号化動作は、次の数学式25のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図16aの例により暗号化されたデータに対して、図16bの例のように復号化動作を行うことができる。
図16bを参照すると、復号化部210は、最初の暗号文ブロック(暗号文ブロック0)にAESアルゴリズムを適用して、初期カウンタ値CTRを生成することができる。
その後、エンコード部150は、初期カウンタ値CTRに論理関数を適用した後、暗号文ブロック1とXORして平文ブロック1を生成することができる。
同様に、エンコード部150は、i番目のカウンタ値(例えば、図16bに示すようなCTR+i−1)に論理関数を適用した後、i番目の暗号文ブロックとXORしてi番目の平文ブロックを生成することができる。このとき、エンコード部150は、各平文ブロックを並列的に生成できる。
具体的には、図16bに示す復号化動作は、次の数学式26のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、本発明の他の実施例によると、データ暗号化装置100は、図17aに示す例のようにカウンタモードを利用してデータを暗号化することができる。
図17aを参照すると、暗号化部130は、初期カウンタ値CTRにAESアルゴリズムを適用した後、平文ブロック1とXORして、暗号文ブロック1を生成することができる。
その後、エンコード部150は、i番目のカウンタ値(例えば、図17aに示すようなCTR+i−1)に論理関数を適用した後、i番目の平文ブロックとXORして、i番目の暗号文ブロックを生成することができる。このとき、エンコード部150は、各暗号文ブロックを並列的に生成できる。
具体的には、図17aに示す暗号化動作は、次の数学式27のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
一方、データ復号化装置200は、図17aの例により暗号化されたデータに対して、図17bの例のように復号化動作を行うことができる。
図17bを参照すると、復号化部210は、暗号文ブロック1にAESアルゴリズムを適用した後、暗号文ブロック1とXORして、平文ブロック1を生成することができる。
その後、エンコード部150は、i番目のカウンタ値(例えば、図17bに示すようなCTR+i−1)に論理関数を適用した後、i番目の暗号文ブロックとXORして、i番目の平文ブロックを生成することができる。このとき、エンコード部150は、各平文ブロックを並列的に生成できる。
具体的には、図17bに示す復号化動作は、次の数学式28のように表すことができる。
Figure 2018515815
ここで、EBLOCKはブロック暗号化アルゴリズム、CTRは初期カウンタ値、Cはi番目の暗号文ブロック、Pはi番目の平文ブロック、Fは論理関数、XORはブロック間のXOR演算(例えば、各ブロックがビットシーケンスである場合は、ビットごとのXOR演算を示す。)を示す。
図18は、本発明の一実施形態に係るデータ暗号化方法のフローチャートである。
図18に示す方法は、例えば、図1に示すデータ暗号化装置100により実行できる。
図18を参照すると、データ暗号化装置100は、暗号化の対象となる平文データを複数の平文ブロックに分割する(1810)。
その後、データ暗号化装置100は、暗号鍵に基づくブロック暗号化方式を用いて、分割された複数の平文ブロックの一部のブロックおよび初期値の少なくとも1つを暗号化する(1820)。
その後、データ暗号化装置100は、非暗号鍵に基づくエンコード方式を用いて、分割された複数の平文ブロックのうち、ブロック暗号化方式により暗号化されていない残りのブロックをエンコードする(1830)。
図19は、本発明の一実施形態に係るデータ復号化方法のフローチャートである。
図19に示す方法は、例えば、図2に示すデータ復号化装置200により実行できる。
図19を参照すると、データ復号化装置200は、暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックおよび初期値の少なくとも1つを復号化する(1910)。
その後、データ復号化装置200は、非暗号鍵に基づくデコード方式を用いて、暗号化されたデータのうち、ブロック復号化方式により復号化されていない残りのブロックをデコードする(1920)。
一方、所定の実施例は、本明細書に記載されているプロセスをコンピュータ上で実行するためのプログラムを含むコンピュータ読み取り可能な記録媒体を含むことができる。このコンピュータ読み取り可能な記録媒体は、プログラム命令、ローカルデータファイル、ローカルデータ構造などを単独に又は組み合わせて備えることができる。そのコンピュータ読み取り可能な記録媒体は、本発明のために特別に設計されて構成されたものであり得る。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープなどの磁気媒体、CD−ROM、DVDなどの光記録媒体、フロプティカルディスクのような磁気−光媒体、および、ロム、ラム、フラッシュメモリなどのプログラム命令を格納して実行するように特別に構成されたハードウェアデバイスが含まれる。プログラム命令の例には、コンパイラーによって作成されるような機械語コードのみならず、インタープリターなどを使用してコンピュータにより実行できる高級言語コードを含むことができる。
以上、代表的な実施形態により本発明を詳細に説明したが、当業者であれば、本発明の範疇を逸脱しない範囲内で、前述した実施形態に対する様々な変形が可能であることを理解するはずである。従って、本発明の権利範囲は、説明した実施形態に限定されてはならず、後述する特許請求の範囲だけでなく、その特許請求の範囲と均等なものによって定められるべきである。
100:データ暗号化装置
110:分割部
130:暗号化部
150:エンコード部
170:初期値生成部
200:データ復号化装置
210:復号化部
230:デコード部
250:初期値生成部

Claims (34)

  1. データを複数の平文ブロックに分割する分割部と、
    暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化する暗号化部と、
    非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするエンコード部とを含むデータ暗号化装置。
  2. 前記ブロック暗号化方式は、対称鍵または非対称鍵を用いる暗号化方式を含む請求項1に記載のデータ暗号化装置。
  3. 前記ブロック暗号化方式は、ホワイトボックスに基づく暗号化方式を含む請求項1に記載のデータ暗号化装置。
  4. 前記エンコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるエンコード方式を含む請求項1に記載のデータ暗号化装置。
  5. 前記初期値は、初期化ベクトルまたはカウンタ値を含む請求項1に記載のデータ暗号化装置。
  6. 前記暗号化部は、前記初期化ベクトルまたは前記カウンタ値を用いて前記一部のブロックを暗号化する請求項5に記載のデータ暗号化装置。
  7. 前記エンコード部は、前記初期化ベクトルまたは前記カウンタ値を用いて前記残りのブロックをエンコードする請求項5に記載のデータ暗号化装置。
  8. 前記エンコード部は、以前に生成された暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードする請求項1に記載のデータ暗号化装置。
  9. 前記エンコード部は、以前に生成された暗号文ブロックおよび前記以前に生成された暗号文ブロックの生成に用いられた平文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードする請求項1に記載のデータ暗号化装置。
  10. 暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化する復号化部と、
    非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするデコード部とを含むデータ復号化装置。
  11. 前記ブロック復号化方式は、対称鍵または非対称鍵を用いる復号化方式を含む請求項10に記載のデータ復号化装置。
  12. 前記ブロック復号化方式は、ホワイトボックスに基づく復号化方式を含む請求項10に記載のデータ復号化装置。
  13. 前記デコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるデコード方式を含む請求項10に記載のデータ復号化装置。
  14. 前記デコード部は、前記暗号化されたデータの生成に用いられた初期化ベクトルまたはカウンタ値を用いて、前記残りのブロックをデコードする請求項10に記載のデータ復号化装置。
  15. 前記デコード部は、以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードする請求項10に記載のデータ復号化装置。
  16. 前記デコード部は、以前に生成された平文ブロックおよび前記以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードする請求項10に記載のデータ復号化装置。
  17. データを複数の平文ブロックに分割するステップと、
    暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化するステップと、
    非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするステップとを含むデータ暗号化方法。
  18. 前記ブロック暗号化方式は、対称鍵または非対称鍵を用いる暗号化方式を含む請求項17に記載のデータ暗号化方法。
  19. 前記ブロック暗号化方式は、ホワイトボックスに基づく暗号化方式を含む請求項17に記載のデータ暗号化方法。
  20. 前記エンコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるエンコード方式を含む請求項17に記載のデータ暗号化方法。
  21. 前記初期値は、初期化ベクトルまたはカウンタ値を含む請求項17に記載のデータ暗号化方法。
  22. 前記暗号化するステップは、前記初期化ベクトルまたは前記カウンタ値を用いて前記一部のブロックを暗号化する請求項21に記載のデータ暗号化方法。
  23. 前記エンコードするステップは、前記初期化ベクトルまたは前記カウンタ値を用いて前記残りのブロックをエンコードする請求項21に記載のデータ暗号化方法。
  24. 前記エンコードするステップは、以前に生成された暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードする請求項17に記載のデータ暗号化方法。
  25. 前記エンコードするステップは、以前に生成された暗号文ブロックおよび前記以前に生成された暗号文ブロックの生成に用いられた平文ブロックを用いて、前記残りのブロックのそれぞれを順次エンコードする請求項17に記載のデータ暗号化方法。
  26. 暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化するステップと、
    非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするステップとを含むデータ復号化方法。
  27. 前記ブロック復号化方式は、対称鍵または非対称鍵を用いる復号化方式を含む請求項26に記載のデータ復号化方法。
  28. 前記ブロック復号化方式は、ホワイトボックスに基づく復号化方式を含む請求項26に記載のデータ復号化方法。
  29. 前記デコード方式は、論理演算、一方向性関数(one−way function)、一方向性置換(one−way permutaion)、および論理関数の少なくとも1つを用いるデコード方式を含む請求項26に記載のデータ復号化方法。
  30. 前記デコードするステップは、前記暗号化されたデータの生成に用いられた初期化ベクトルまたはカウンタ値を用いて、前記残りのブロックをデコードする請求項26に記載のデータ復号化方法。
  31. 前記デコードするステップは、以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードする請求項26に記載のデータ復号化方法。
  32. 前記デコードするステップは、以前に生成された平文ブロックおよび前記以前に生成された平文ブロックの生成に用いられた暗号文ブロックを用いて、前記残りのブロックのそれぞれを順次デコードする請求項26に記載のデータ復号化方法。
  33. ハードウェアと結合され、
    データを複数の平文ブロックに分割するステップと、
    暗号鍵に基づくブロック暗号化方式を用いて、前記複数の平文ブロックの一部のブロックおよび前記データの暗号化のための初期値の少なくとも1つを暗号化するステップと、
    非暗号鍵に基づくエンコード方式を用いて、前記複数の平文ブロックのうち、前記ブロック暗号化方式により暗号化されていない残りのブロックをエンコードするステップとを実行させるために記録媒体に格納されたコンピュータプログラム。
  34. ハードウェアと結合され、
    暗号鍵に基づくブロック復号化方式を用いて、暗号化されたデータの一部のブロックを復号化するステップと、
    非暗号鍵に基づくデコード方式を用いて、前記暗号化されたデータの前記一部のブロックを除いた残りのブロックをデコードするステップとを実行させるために記録媒体に格納されたコンピュータプログラム。
JP2017560305A 2015-05-19 2015-06-30 データ暗号化装置及び方法、並びにデータ復号化装置及び方法 Active JP6665204B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2015-0069666 2015-05-19
KR1020150069666A KR101847492B1 (ko) 2015-05-19 2015-05-19 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
PCT/KR2015/006730 WO2016186241A1 (ko) 2015-05-19 2015-06-30 데이터 암호화 장치 및 방법과 및 데이터 복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2018515815A true JP2018515815A (ja) 2018-06-14
JP6665204B2 JP6665204B2 (ja) 2020-03-13

Family

ID=57320448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017560305A Active JP6665204B2 (ja) 2015-05-19 2015-06-30 データ暗号化装置及び方法、並びにデータ復号化装置及び方法

Country Status (6)

Country Link
US (1) US20180139041A1 (ja)
EP (1) EP3300294B1 (ja)
JP (1) JP6665204B2 (ja)
KR (1) KR101847492B1 (ja)
CN (1) CN107637010B (ja)
WO (1) WO2016186241A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020109938A (ja) * 2018-11-16 2020-07-16 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10492184B2 (en) * 2016-12-09 2019-11-26 Samsung Electronics Co., Ltd. Multiplexing control information in a physical uplink data channel
KR101949579B1 (ko) * 2017-02-22 2019-02-19 인하대학교 산학협력단 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
CN108616351B (zh) * 2018-03-26 2020-09-18 山东大学 一种全动态加密解密方法及加密解密装置
CN110401527B (zh) * 2018-04-25 2022-03-08 腾讯科技(深圳)有限公司 数据加密、解密方法、装置以及存储介质
CN108848073B (zh) * 2018-05-31 2021-04-13 唐山智能电子有限公司 对实时数据采集系统的数据进行加密解密的方法以及系统
KR102168488B1 (ko) * 2018-10-24 2020-10-21 동서대학교 산학협력단 차량용 블랙박스 실시간 영상 위변조 방지방법
CN110289949A (zh) * 2019-05-23 2019-09-27 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 密钥管理方法及装置
CN110162989A (zh) * 2019-05-28 2019-08-23 上海海洋大学 基于cbc模式的多类型文件加密共享与访问控制方法
CN110601814B (zh) * 2019-09-24 2021-08-27 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
KR102631694B1 (ko) * 2020-01-02 2024-01-31 재단법인 대구경북과학기술원 데이터에 대한 암/복호화 및 채널코딩을 수행하는 방법 및 시스템
CN111339547B (zh) * 2020-03-27 2024-03-19 苏州链原信息科技有限公司 用于生成数据标签的方法、电子设备及计算机存储介质
CN113079155B (zh) * 2021-03-29 2022-12-06 重庆富民银行股份有限公司 基于混合密码的文件加密处理方法
CN113014604A (zh) * 2021-04-12 2021-06-22 北京字节跳动网络技术有限公司 一种数据处理方法、装置、设备及介质、程序产品
CN113660620B (zh) * 2021-10-20 2022-01-21 北京卓建智菡科技有限公司 一种数据防伪加密方法、装置、计算机设备及存储介质
CN117527409B (zh) * 2023-12-04 2024-06-11 北京弗莱特智能软件开发有限公司 数据加密的方法、个人网关设备端及数据加密系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488736A (ja) * 1990-07-31 1992-03-23 Matsushita Electric Ind Co Ltd データ伝送方式
JPH10303879A (ja) * 1997-04-24 1998-11-13 Fuji Xerox Co Ltd 暗号化方法
JP2000252974A (ja) * 1999-03-03 2000-09-14 Kobe Steel Ltd ディジタル情報暗号化装置,及びディジタル情報再生装置
JP2007158967A (ja) * 2005-12-07 2007-06-21 Ntt Data Corp 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
WO2007105709A1 (ja) * 2006-03-14 2007-09-20 Nec Corporation 情報処理システム、情報処理方法および情報処理プログラム
JP2012520589A (ja) * 2009-03-10 2012-09-06 イルデト・コーポレート・ビー・ヴイ 入力に依存する符号化を用いたホワイトボックス暗号システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63287882A (ja) * 1987-05-20 1988-11-24 株式会社日立製作所 暗号装置
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
IL178488A0 (en) * 2006-10-05 2008-01-20 Nds Ltd Improved key production system
EP2092684A2 (en) * 2006-11-17 2009-08-26 Koninklijke Philips Electronics N.V. Cryptographic method for a white-box implementation
US8306216B2 (en) * 2007-01-11 2012-11-06 Irdeto B.V. Method and system for tracking or identifying copy of implementation of computational method, and computation system
US8175265B2 (en) * 2008-09-02 2012-05-08 Apple Inc. Systems and methods for implementing block cipher algorithms on attacker-controlled systems
WO2011123787A1 (en) * 2010-04-01 2011-10-06 University Of Mississippi Secure wireless communication transceiver
US9178699B2 (en) * 2013-11-06 2015-11-03 Blackberry Limited Public key encryption algorithms for hard lock file encryption
KR101527329B1 (ko) 2014-09-12 2015-06-09 삼성에스디에스 주식회사 데이터 암호화 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488736A (ja) * 1990-07-31 1992-03-23 Matsushita Electric Ind Co Ltd データ伝送方式
JPH10303879A (ja) * 1997-04-24 1998-11-13 Fuji Xerox Co Ltd 暗号化方法
JP2000252974A (ja) * 1999-03-03 2000-09-14 Kobe Steel Ltd ディジタル情報暗号化装置,及びディジタル情報再生装置
JP2007158967A (ja) * 2005-12-07 2007-06-21 Ntt Data Corp 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
WO2007105709A1 (ja) * 2006-03-14 2007-09-20 Nec Corporation 情報処理システム、情報処理方法および情報処理プログラム
JP2012520589A (ja) * 2009-03-10 2012-09-06 イルデト・コーポレート・ビー・ヴイ 入力に依存する符号化を用いたホワイトボックス暗号システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. CHOW, ET AL.: "A White-Box DES Implementation for DRM Applications", 2002 ACM WORKSHOP ON DIGITAL RIGHTS MANAGEMENT, vol. Session 1, JPN6018039241, 18 November 2002 (2002-11-18), ISSN: 0003893110 *
池野 信一 ほか, 現代暗号理論, vol. 初版第6刷, JPN6018039242, 15 November 1997 (1997-11-15), pages 64 - 67, ISSN: 0003893111 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020109938A (ja) * 2018-11-16 2020-07-16 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法
US11196447B2 (en) 2018-11-16 2021-12-07 Siemens Aktiengesellschaft Computer-implemented method for error-correction-encoding and encrypting of a file
JP7065817B2 (ja) 2018-11-16 2022-05-12 シーメンス アクチエンゲゼルシヤフト ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法
JP2022071033A (ja) * 2018-11-16 2022-05-13 シーメンス アクチエンゲゼルシヤフト ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム

Also Published As

Publication number Publication date
KR20160136023A (ko) 2016-11-29
CN107637010B (zh) 2021-05-18
US20180139041A1 (en) 2018-05-17
EP3300294A4 (en) 2018-06-20
WO2016186241A1 (ko) 2016-11-24
EP3300294B1 (en) 2023-06-07
KR101847492B1 (ko) 2018-04-10
JP6665204B2 (ja) 2020-03-13
CN107637010A (zh) 2018-01-26
EP3300294A1 (en) 2018-03-28

Similar Documents

Publication Publication Date Title
JP6665204B2 (ja) データ暗号化装置及び方法、並びにデータ復号化装置及び方法
CN105406969B (zh) 数据加密装置及方法
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
CN107438065B (zh) 数据加密装置及方法、数据解密装置及方法
US10305689B2 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
JP2016523391A (ja) 平文データを暗号化するための方法および装置
JP7087965B2 (ja) 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
JP7323196B2 (ja) 暗号化装置、暗号化方法、プログラム、復号装置、復号方法
JP7367860B2 (ja) 認証暗号化装置、認証復号装置、認証暗号システム、方法及びプログラム
KR101933649B1 (ko) 화이트박스 암호 알고리즘을 이용한 공개키 암호화를 위한 장치 및 방법
KR101914453B1 (ko) 암호화 장치 및 방법
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
KR20080072345A (ko) 암호화 장치 및 그 방법
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
US11070356B2 (en) Text encryption
Kim et al. A modified exhaustive search on a password system using SHA-1
JP7310938B2 (ja) 暗号システム、暗号化方法、復号方法及びプログラム
JP2007158967A (ja) 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
JP2006235291A (ja) 公開鍵の作成装置と作成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191011

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20191206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200219

R150 Certificate of patent or registration of utility model

Ref document number: 6665204

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250