JP6631989B2 - 暗号化装置、制御方法、及びプログラム - Google Patents
暗号化装置、制御方法、及びプログラム Download PDFInfo
- Publication number
- JP6631989B2 JP6631989B2 JP2013221153A JP2013221153A JP6631989B2 JP 6631989 B2 JP6631989 B2 JP 6631989B2 JP 2013221153 A JP2013221153 A JP 2013221153A JP 2013221153 A JP2013221153 A JP 2013221153A JP 6631989 B2 JP6631989 B2 JP 6631989B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- encryption
- target
- ciphertext
- intermediate data
- 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.)
- Expired - Fee Related
Links
Images
Description
図1は、実施形態1に係る暗号化装置2000を、その使用環境と共に示すブロック図である。図1において、矢印の流れは情報の流れを示している。また、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
データ取得部2020は対象データを取得する。
中間データ生成部2040は、対象データから中間データを生成する。具体的には、中間データ生成部2040は、対象データから得られる所定サイズごとの各ブロックについて、そのブロックに含まれる部分データを、そのブロックと異なるブロックに含まれる部分データを用いて復元可能に変換することで、中間データを生成する。ここで、部分データのサイズは、上記所定サイズの単位をビットとした場合、1ビット以上かつ所定サイズ以下の値である。また、あるブロックに含まれる部分データのサイズと、その部分データの変換に用いる他のブロックに含まれる部分データのサイズとは、同一であってもよいし異なっていてもよい。
暗号化部2060は、中間データを、中間データ生成部2040の説明で述べた所定サイズごとに分割して、複数の暗号化対象ブロックを生成する。暗号化部2060は、各暗号化対象ブロックを独立に暗号化することで、中間データから暗号文を生成する。ここで、「暗号化対象ブロックを独立に暗号化する」とは、ある暗号化対象ブロックを暗号化する際に、他の暗号化対象ブロックを利用しないことを意味する。これは、ブロック暗号の暗号利用モードのうち、ECB モードに相当する処理である。
暗号化装置2000が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも1つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
図4は、実施形態1の暗号化装置2000によって実行される処理の流れを例示するフローチャートである。ステップS102において、データ取得部2020は、対象データを取得する。ステップS104において、中間データ生成部2040は、対象データから中間データを生成する。ステップS106において、暗号化部2060は、中間データを複数の暗号化対象ブロックに分割する。ステップS108において、暗号化部2060は、各暗号化対象ブロックを暗号化して暗号文を生成する。
暗号化装置2000は、対象データから中間データを生成し、その中間データから暗号文(ブロック暗号)を生成する。ここで、中間データ生成部2040は、対象データから得られる所定サイズの各ブロックについて、そのブロックに含まれる部分データを、そのブロックとは異なるブロックに含まれる部分データを用いて変換する。暗号化装置2000は、このように各ブロックに含まれる部分データを別のブロックに含まれる部分データを用いて変換することで、ブロック間に関連性を持たせる。
暗号化に IV と呼ばれる値を用いる暗号利用モード(以下、IV モード)が広く利用されている。ここで、IV モードには、CBC モード(Cipher Block Chaining Mode)、CTR モード(Counter Mode)、CFB モード(Cipher Feedback Mode)、及び OFB モード(Output Feedback Mode)などがある。
次に、本実施形態の暗号化装置2000について更に詳細に説明する。
データ取得部2020が対象データを取得する方法は様々である。データ取得部2020は、暗号化装置2000の内部又は外部から対象データを取得する。例えば暗号化装置2000は、種々のアプリケーションによって生成されたデータ(例:メーラによって生成されたメール)を対象データとして取得する。この場合、例えばデータ取得部2020は、暗号化装置2000の内部又は外部で動作するアプリケーションから対象データを取得する。また、暗号化装置2000は、対象データが格納されている格納部から対象データを取得してもよい。また、暗号化装置2000は、外部から手動又は自動で入力される対象データを取得してもよい。
暗号化部2060が各暗号化対象ブロックを暗号化する暗号アルゴリズムは、各暗号化対象ブロックを独立に暗号化するものであればよい。ブロック暗号において各ブロックを独立に暗号化する ECB モードでは、種々の暗号アルゴリズムが用いられている。暗号化部2060は、この種々の暗号アルゴリズムを利用できる。
中間データ生成部2040は、「値の並びが所定規則に従うビット列を対象データに付加することで、対象データのサイズを所定サイズの倍数にする」という処理を行ってもよい。前述したように、中間データ生成部2040は、対象データから得られる所定サイズの各ブロックについて処理を行うことで、中間データを生成する。ここで、対象データのサイズが所定サイズの倍数でない場合、得られるブロックの中には、所定サイズに満たないブロックが含まれる。これに対し、中間データ生成部2040が対象データのサイズを所定サイズの倍数にすれば、全てのブロックのサイズが所定サイズになる。
例えば対象データが宛先へ送るメッセージである場合、この宛先は、暗号化装置2000がこの対象データから生成した暗号文を復号できる必要がある。図5は、暗号化装置2000によって生成された暗号文を復号する復号装置3000を示す図である。以下、この復号装置3000について説明する。
実施形態2に係る暗号化装置2000は、実施形態1に係る暗号化装置2000と同様に、例えば図1で表される。実施形態2の暗号化装置2000は、以下で説明する点を除き、実施形態1に係る暗号化装置2000と同様の機能を有する。
本実施形態によれば、中間データ生成部2040において、各ブロックに含まれる部分データの変換に用いるブロックを、そのブロックから所定個離れたブロックにする。そのため、変換に用いるブロックの位置を乱数等によって決めるアルゴリズムと比較し、アルゴリズムの構築が容易である。よって、中間データ生成部2040の設計及び実装が容易である。
図8は、実施形態3に係る暗号化装置2000を示すブロック図である。ここで、図8において、矢印の流れは情報の流れを示している。また、図8において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。なお、実施形態3の暗号化装置2000は、以下で説明する点を除き、実施形態1に係る暗号化装置2000と同様の機能を有する。
本実施形態によれば、中間データ生成部2040において、各ブロックに含まれる部分データの変換に用いるブロックの位置を、整数変換部2080によって出力される整数によって決める。そのため、実施形態2の中間データ生成部2040による中間データの生成方法と比較し、より柔軟に中間データの生成方法を決めることができる。
以下、参考形態の例を付記する。
1. 対象データを取得するデータ取得手段と、
前記対象データから得られる所定サイズごとの各ブロックについて、そのブロックに含まれる部分データを、そのブロックと異なる前記ブロックに含まれる部分データを用いて復元可能に変換することで、前記対象データから中間データを生成する中間データ生成手段と、
前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、各前記暗号化対象ブロックを独立に暗号化して暗号文を生成する暗号文生成手段と、
を有する暗号化装置。
2. 前記中間データ生成手段は、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にする1.に記載の暗号化装置。
3. 前記中間データ生成手段は、前記対象データから得られる所定サイズの各前記ブロックについて、そのブロックに含まれる部分データを、そのブロックから所定個離れた別のブロックに含まれる部分データを用いて変換することで、前記対象データから前記中間データを生成する1.又は2.に記載の暗号化装置。
4. 前記中間データ生成手段は、前記対象データに含まれる各ビットを、そのビットから所定個離れたビットを用いて変換することで、前記中間データを生成する3.に記載の暗号化装置。
5. 入力された整数とは異なる整数を出力する整数変換手段を有し、
前記中間データ生成手段は、前記対象データに含まれる各部分データについて、その部分データの位置を前記整数変換手段に入力し、その部分データの値を、前記整数変換手段から出力された整数が表す位置にある部分データの値を用いて変換する1.又は2.に記載の暗号化装置。
6. 暗号化装置を制御するコンピュータによって実行される制御方法であって、
対象データを取得するデータ取得ステップと、
前記対象データから得られる所定サイズごとの各ブロックについて、そのブロックに含まれる部分データを、そのブロックと異なる前記ブロックに含まれる部分データを用いて復元可能に変換することで、前記対象データから中間データを生成する中間データ生成ステップと、
前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、各前記暗号化対象ブロックを独立に暗号化して暗号文を生成する暗号文生成ステップと、
を有する制御方法。
7. 前記中間データ生成ステップは、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にする6.に記載の制御方法。
8. 前記中間データ生成ステップは、前記対象データから得られる所定サイズの各前記ブロックについて、そのブロックに含まれる部分データを、そのブロックから所定個離れた別のブロックに含まれる部分データを用いて変換することで、前記対象データから前記中間データを生成する6.又は7.に記載の制御方法。
9. 前記中間データ生成ステップは、前記対象データに含まれる各ビットを、そのビットから所定個離れたビットを用いて変換することで、前記中間データを生成する8.に記載の制御方法。
10. 入力された整数とは異なる整数を出力する整数変換ステップを有し、
前記中間データ生成ステップは、前記対象データに含まれる各部分データについて、その部分データの位置を入力として前記整数変換ステップを実行し、その部分データの値を、前記整数変換ステップによって出力された整数が表す位置にある部分データの値を用いて変換する6.又は7.に記載の制御方法。
11. コンピュータに、暗号化装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
対象データを取得するデータ取得機能と、
前記対象データから得られる所定サイズごとの各ブロックについて、そのブロックに含まれる部分データを、そのブロックと異なる前記ブロックに含まれる部分データを用いて復元可能に変換することで、前記対象データから中間データを生成する中間データ生成機能と、
前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、各前記暗号化対象ブロックを独立に暗号化して暗号文を生成する暗号文生成機能と、
を持たせるプログラム。
12. 前記中間データ生成機能は、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にする11.に記載のプログラム。
13. 前記中間データ生成機能は、前記対象データから得られる所定サイズの各前記ブロックについて、そのブロックに含まれる部分データを、そのブロックから所定個離れた別のブロックに含まれる部分データを用いて変換することで、前記対象データから前記中間データを生成する11.又は12.に記載のプログラム。
14. 前記中間データ生成機能は、前記対象データに含まれる各ビットを、そのビットから所定個離れたビットを用いて変換することで、前記中間データを生成する13.に記載のプログラム。
15. 前記コンピュータに、入力された整数とは異なる整数を出力する整数変換機能を持たせ、
前記中間データ生成機能は、前記対象データに含まれる各部分データについて、その部分データの位置を入力として前記整数変換機能を実行し、その部分データの値を、前記整数変換機能によって出力された整数が表す位置にある部分データの値を用いて変換する11.又は12.に記載のプログラム。
202 入力
204 出力
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1220 データ取得モジュール
1240 中間データ生成モジュール
1260 暗号化モジュール
2000 暗号化装置
2020 データ取得部
2040 中間データ生成部
2060 暗号化部
2080 整数変換部
3000 復号装置
3020 暗号文取得部
3040 暗号文復号部
3060 対象データ復元部
Claims (6)
- 対象データを取得するデータ取得手段と、
前記対象データを、それぞれのサイズが所定サイズである複数の部分データに分割し、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換することで、前記対象データから中間データを生成する中間データ生成手段と、
前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、前記生成された暗号化対象ブロックの全てをそれぞれ独立に暗号化して暗号文を生成する暗号文生成手段と、
を有し、
前記中間データ生成手段は、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換するという処理を、2回以上実行し、
前記中間データ生成手段は、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にし、
前記暗号文生成手段は、前記中間データを ECB(Electronic Code Book)モードでブロック暗号化することによって前記暗号文を生成する、暗号化装置。 - 各前記部分データのサイズは1バイトである、請求項1に記載の暗号化装置。
- 記憶手段を有するコンピュータによって実行される制御方法であって、
前記コンピュータが、対象データを取得して前記記憶手段に記憶させるデータ取得ステップと、
前記コンピュータが、前記記憶手段から前記対象データを読み出し、前記対象データを、それぞれのサイズが所定サイズである複数の部分データに分割し、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換することで、前記対象データから中間データを生成して、前記生成した中間データを前記記憶手段に記憶させる中間データ生成ステップと、
前記コンピュータが、前記記憶手段から前記中間データを読み出し、前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、前記生成した暗号化対象ブロックの全てをそれぞれ独立に暗号化して暗号文を生成し、前記生成した暗号文を前記記憶手段に記憶させる暗号文生成ステップと、
を有し、
前記中間データステップは、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換するという処理を、2回以上実行し、
前記中間データ生成ステップは、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にし、
前記暗号文生成ステップは、前記中間データを ECB(Electronic Code Book)モードでブロック暗号化することによって前記暗号文を生成する、制御方法。 - 各前記部分データのサイズは1バイトである、請求項3に記載の制御方法。
- 記憶手段を有するコンピュータに、
前記コンピュータが、対象データを取得して前記記憶手段に記憶させるデータ取得処理と、
前記コンピュータが、前記記憶手段から前記対象データを読み出し、前記対象データを、それぞれのサイズが所定サイズである複数の部分データに分割し、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換することで、前記対象データから中間データを生成する中間データ生成処理と、
前記コンピュータが、前記記憶手段から前記中間データを読み出し、前記中間データを前記所定サイズごとに分割して複数の暗号化対象ブロックを生成し、前記生成した暗号化対象ブロックの全てをそれぞれ独立に暗号化して暗号文を生成し、前記生成した暗号文を前記記憶手段に記憶させる暗号文生成処理と、
を実行させ、
前記中間データ生成処理は、全ての前記部分データそれぞれをその部分データに隣接する他の前記部分データとの和に置換するという処理を、2回以上実行し、
前記中間データ生成処理は、前記対象データのサイズが前記所定サイズの倍数でない場合、前記対象データに対して、所定規則に従う並びを持つビット列を付加することで、前記対象データのサイズを前記所定サイズの倍数にし、
前記暗号文生成処理は、前記中間データを ECB(Electronic Code Book)モードでブロック暗号化することによって前記暗号文を生成する、プログラム。 - 各前記部分データのサイズは1バイトである、請求項5に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013221153A JP6631989B2 (ja) | 2013-10-24 | 2013-10-24 | 暗号化装置、制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013221153A JP6631989B2 (ja) | 2013-10-24 | 2013-10-24 | 暗号化装置、制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015082077A JP2015082077A (ja) | 2015-04-27 |
JP6631989B2 true JP6631989B2 (ja) | 2020-01-15 |
Family
ID=53012678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013221153A Expired - Fee Related JP6631989B2 (ja) | 2013-10-24 | 2013-10-24 | 暗号化装置、制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6631989B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11917072B2 (en) * | 2020-12-03 | 2024-02-27 | International Business Machines Corporation | Implementing opportunistic authentication of encrypted data |
CN114285565A (zh) * | 2021-12-29 | 2022-04-05 | 观源(上海)科技有限公司 | 一种密码资源池的调度系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01122227A (ja) * | 1987-11-06 | 1989-05-15 | Konica Corp | 伝送装置 |
JP2864813B2 (ja) * | 1991-09-26 | 1999-03-08 | 日本電気株式会社 | 暗号化装置及び復号化装置 |
JPH05249891A (ja) * | 1992-03-06 | 1993-09-28 | Hitachi Ltd | 暗号処理装置およびこれを用いる暗号処理方法 |
JPH10303879A (ja) * | 1997-04-24 | 1998-11-13 | Fuji Xerox Co Ltd | 暗号化方法 |
US6055316A (en) * | 1997-12-26 | 2000-04-25 | Sun Microsystems, Inc. | System and method for deriving an appropriate initialization vector for secure communications |
-
2013
- 2013-10-24 JP JP2013221153A patent/JP6631989B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015082077A (ja) | 2015-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8300828B2 (en) | System and method for a derivation function for key per page | |
EP2290872B1 (en) | Device for generating a message authentication code for authenticating a message | |
Debnath et al. | Brief review on journey of secured hash algorithms | |
JP5855696B2 (ja) | 完全性検証を含むブロック暗号化方法およびブロック復号化方法 | |
WO2018104412A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
WO2016027454A1 (ja) | 認証暗号化方法、認証復号方法および情報処理装置 | |
KR20230079509A (ko) | 메시지 부호화 및 복호화를 위한 블록 암호화 방법 및 이 방법을 구현하기 위한 암호화 장치 | |
KR20140051163A (ko) | 암호 해쉬 함수들의 실행을 보호하는 방법 및 시스템 | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
CN111066077B (zh) | 加密装置、加密方法、解密装置以及解密方法 | |
KR20130093557A (ko) | 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법 | |
Teh et al. | A chaos-based authenticated cipher with associated data | |
Sleem et al. | TestU01 and Practrand: Tools for a randomness evaluation for famous multimedia ciphers | |
US20210266175A1 (en) | Device for data encryption and integrity | |
JP5992651B2 (ja) | 暗号化方法、プログラム、および、システム | |
JP6631989B2 (ja) | 暗号化装置、制御方法、及びプログラム | |
CN115632765A (zh) | 加密方法、解密方法、装置、电子设备及存储介质 | |
JP5489115B2 (ja) | 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体 | |
WO2021044465A1 (ja) | 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造 | |
Liu | Software protection with encryption and verification | |
KR20170005850A (ko) | 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
WO2023199379A1 (ja) | 情報処理装置、方法及びプログラム | |
Maharjan | Comparative Study of CAST and TWOFISH algorithm using various Modes of Operations | |
Parab et al. | Encryption and Decryption for Network Security Using Reverse Context-Free Grammar Productions | |
US8200986B2 (en) | Computer enabled secure status return |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170828 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180116 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180413 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180511 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20180608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190311 |
|
R155 | Notification before disposition of declining of application |
Free format text: JAPANESE INTERMEDIATE CODE: R155 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6631989 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |