JP7459569B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP7459569B2 JP7459569B2 JP2020038109A JP2020038109A JP7459569B2 JP 7459569 B2 JP7459569 B2 JP 7459569B2 JP 2020038109 A JP2020038109 A JP 2020038109A JP 2020038109 A JP2020038109 A JP 2020038109A JP 7459569 B2 JP7459569 B2 JP 7459569B2
- Authority
- JP
- Japan
- Prior art keywords
- round
- data
- lookup table
- obfuscated
- byte
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 11
- 238000003672 processing method Methods 0.000 title description 2
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Description
まず、本実施形態に係るWhite-Box AESによる暗号化の理論的構成について説明する。なお、AESでは、16バイトのデータに対する処理を1つのラウンドとして、鍵(暗号鍵)のビット長に応じた回数のラウンドを繰り返し実行することで、データを暗号化する。また、1つのラウンドでは、4バイトに対する処理を1つのサブラウンドとして、4回のサブラウンドを実行する。
本実施形態に係るWhite-Box AESの1ラウンド目(つまり、r=1である場合)の処理について説明する。暗号化の1ラウンド目では、入力データvは平文であり、出力データwは中間値である。
RJ:並べ替え番号を表す16ビットの乱数
RL:ガロア体上の乗算に使用する8ビットの乱数(既約多項式は30通り)。なお、図中では、ガロア体上の乗算を「・」で表記している。また、ガロア体上のRLの逆元を「RL-1」で表記している。
S():SubBytes処理を実行する関数。なお、図中では、「S」と表記している。
次に、本実施形態に係るWhite-Box AESのr(2≦r≦E)ラウンド目(すなわち、中間ラウンド)の処理について説明する。暗号化のr(2≦r≦E)ラウンド目では、入力データvは1つ前のラウンドで出力された中間値であり、出力データwは次のラウンドに入力される中間値である。
次に、本実施形態に係るWhite-Box AESのE+1ラウンド目(すなわち、最終ラウンド)の処理について説明する。暗号化のE+1ラウンド目では、入力データvは1つ前のラウンドで出力された中間値であり、出力データwは暗号文である。
図1~図3で説明したルックアップテーブルTb、T0~T3及びTeは、その変換成分及び逆変換成分を多段に構成することで、よりセキュリティ強度を高めることが可能になる。具体的には、Nを2以上の整数として、図1の(1)に示す変換成分をN個用いてルックアップテーブルTbを構成し、図1の(2)に示す逆変換成分及び(3)に示す変換成分をそれぞれN個用いてルックアップテーブルT0~T3を構成し、図3の(4)に示す逆変換成分をN個用いてルックアップテーブルTeを構成すればよい。
次に、本実施形態に係る暗号システム10の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る暗号システム10の機能構成の一例を示す図である。
次に、本実施形態に係る暗号システム10のハードウェア構成について、図5を参照しながら説明する。図5は、本実施形態に係る暗号システム10のハードウェア構成の一例を示す図である。
以降では、本実施形態に係る暗号システム10により平文を暗号化する処理について説明する。
まず、暗号化の1ラウンド目における1サブラウンドあたりの処理の流れについて、図6を参照しながら説明する。図6は、本実施形態に係る暗号化の1ラウンド目における1サブラウンドあたりの処理の流れを示す図である。
次に、暗号化の中間ラウンドにおける1サブラウンドあたりの処理の流れについて、図7を参照しながら説明する。図7は、本実施形態に係る暗号化のr(2≦r≦E)ラウンド目における1サブラウンドあたりの処理の流れを示す図である。
次に、最終ラウンドにおける1サブラウンドあたりの処理の流れについて、図8を参照しながら説明する。図8は、本実施形態に係る暗号化のE+1ラウンド目における1サブラウンドあたりの処理の流れを示す図である。
以上のように、本実施形態に係る暗号システム10は、ルックアップテーブルTb、T0~T3及びTeを用いてWhite-Box AESによる暗号化を実現することができる。ルックアップテーブルTb、T0~T3及びTeはいずれも256バイトであるため、合計テーブルサイズ1.5キロバイトと拡大鍵のデータ長(つまり、鍵長が128ビットの場合は176バイト、192ビットの場合は208バイト、256ビットの場合は240バイト)との合計でWhite-Box AESを実現することができる。また、拡大鍵k1xを解読するためにはルックアップテーブルTb、T0~T3及びTeに含まれる乱数成分の解読が必要なため、十分なセキュリティ強度が実現されている。
101 選択部
102 テーブル参照部
103 演算部
104 記憶部
201 プロセッサ
202 メモリ装置
203 I/F
204 バス
Claims (7)
- White-Box AESの先頭ラウンドにおいて、SubBytes処理とMixColumns処理の乗算とが含まれる演算の演算結果が含まれ、かつ、中間ラウンドで共通に利用される第1のルックアップテーブルを参照して、前記先頭ラウンドの入力データである16バイトの平文データの中からShiftRows処理によって選択された1バイトの選択データを第2のルックアップテーブルにより変換した変換結果と前記先頭ラウンドの難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を取得する、を有することを特徴とする情報処理装置。
- 前記White-Box AESの中間ラウンドにおいて、前記第1のルックアップテーブルを参照して、前記中間ラウンドの入力データである16バイトの中間データの中からShiftRows処理によって選択された1バイトの選択データと前記中間ラウンドの難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を取得する、ことを特徴とする請求項1に記載の情報処理装置。
- 前記第1のルックアップテーブルは、前記MixColumns処理の乗算の被演算子が1である第3のルックアップテーブル及び第4のルックアップテーブルと、前記乗算の被演算子が2である第5のルックアップテーブルと、前記乗算の被演算子が3である第6のルックアップテーブルとで構成されており、
前記White-Box AESの最終ラウンドにおいて、前記第3のルックアップテーブル又は前記第4のルックアップテーブルを参照して、前記最終ラウンドの入力データである16バイトの中間データの中からShiftRows処理によって選択された1バイトの選択データと前記最終ラウンドの1つ前のラウンドで難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を取得する、ことを特徴とする請求項1又は2に記載の情報処理装置。 - さらに、暗号文を得るための第7のルックアップテーブルを参照して、前記取得した演算結果と前記最終ラウンドの難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を暗号文として取得する、ことを特徴とする請求項3に記載の情報処理装置。
- 前記第2のルックアップテーブルに含まれる演算結果は、所定の変換処理とSubBytes処理とMixColumns処理の乗算と前記変換処理に対応する逆変換処理との演算結果であり、
前記先頭ラウンドの難読化された拡大鍵は、前記先頭ラウンドの拡大鍵に対して前記逆変換処理を施した鍵である、ことを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。 - White-Box AESの先頭ラウンドにおいて、SubBytes処理とMixColumns処理の乗算とが含まれる演算の演算結果が含まれ、かつ、中間ラウンドで共通に利用される第1のルックアップテーブルを参照して、前記先頭ラウンドの入力データである16バイトの平文データの中からShiftRows処理によって選択された1バイトの選択データを第2のルックアップテーブルにより変換した変換結果と前記先頭ラウンドの難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を取得する手順、をコンピュータが実行することを特徴とする情報処理方法。
- White-Box AESの先頭ラウンドにおいて、SubBytes処理とMixColumns処理の乗算とが含まれる演算の演算結果が含まれ、かつ、中間ラウンドで共通に利用される第1のルックアップテーブルを参照して、前記先頭ラウンドの入力データである16バイトの平文データの中からShiftRows処理によって選択された1バイトの選択データを第2のルックアップテーブルにより変換した変換結果と前記先頭ラウンドの難読化された拡大鍵のうちの前記選択データに対応する難読化された拡大鍵との排他的論理和に対応する演算結果を取得する手順、をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020038109A JP7459569B2 (ja) | 2020-03-05 | 2020-03-05 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020038109A JP7459569B2 (ja) | 2020-03-05 | 2020-03-05 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021141458A JP2021141458A (ja) | 2021-09-16 |
JP7459569B2 true JP7459569B2 (ja) | 2024-04-02 |
Family
ID=77669170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020038109A Active JP7459569B2 (ja) | 2020-03-05 | 2020-03-05 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7459569B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023192772A2 (en) * | 2022-03-29 | 2023-10-05 | The Board Of Regents For Oklahomaagricultural And Mechanical Colleges | A reconfigurable architecture for improvement and optimization of advanced encryption standard |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017044757A (ja) | 2015-08-24 | 2017-03-02 | 富士電機株式会社 | 情報処理装置及び情報処理方法 |
JP6135804B1 (ja) | 2016-06-01 | 2017-05-31 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6187624B1 (ja) | 2016-03-17 | 2017-08-30 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
-
2020
- 2020-03-05 JP JP2020038109A patent/JP7459569B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017044757A (ja) | 2015-08-24 | 2017-03-02 | 富士電機株式会社 | 情報処理装置及び情報処理方法 |
JP6187624B1 (ja) | 2016-03-17 | 2017-08-30 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6135804B1 (ja) | 2016-06-01 | 2017-05-31 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
赤井 健一郎 ほか,White-Box AESのプログラムサイズ削減に関する一方式,コンピュータセキュリティシンポジウム2008 論文集,日本,社団法人情報処理学会,2008年10月08日,第2008巻 第8号,p.373-378 |
Also Published As
Publication number | Publication date |
---|---|
JP2021141458A (ja) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5911654B2 (ja) | 乱数生成器及びストリーム暗号 | |
CN109417468B (zh) | 安全高效的分组密码算法实现的方法与装置 | |
JP5542896B2 (ja) | 低電力暗号化装置および方法 | |
TW201545524A (zh) | 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術 | |
EP3032523B1 (en) | Information processing device, program, and storage medium | |
Lu et al. | Walsh transforms and cryptographic applications in bias computing | |
JP2017216619A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP5652363B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
Alahdal et al. | A systematic technical survey of lightweight cryptography on IoT environment | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7459569B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
Tiwari | Cryptography in blockchain | |
KR101445339B1 (ko) | 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법 | |
Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
Akhshani et al. | Hash function based on hierarchy of 2D piecewise nonlinear chaotic maps | |
Pu et al. | Boolean matrix masking for SM4 block cipher algorithm | |
JP7383985B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Rouaf et al. | Performance Evaluation of Encryption Algorithms in Mobile Devices | |
Carlet et al. | A new construction of differentially 4-uniform $(n, n-1) $-functions | |
JP2017044757A (ja) | 情報処理装置及び情報処理方法 | |
Goll et al. | Vectorization of Poly1305 message authentication code | |
Touzene et al. | Performance of algebraic graphs based stream-ciphers using large finite fields | |
Ding et al. | Slide attack on standard stream cipher Enocoro-80 in the related-key chosen IV setting | |
CN116866038B (zh) | 动态掩码加密方法及动态掩码加密装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231211 |
|
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: 20240220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7459569 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |