JP5711681B2 - 暗号処理装置 - Google Patents
暗号処理装置 Download PDFInfo
- Publication number
- JP5711681B2 JP5711681B2 JP2012048919A JP2012048919A JP5711681B2 JP 5711681 B2 JP5711681 B2 JP 5711681B2 JP 2012048919 A JP2012048919 A JP 2012048919A JP 2012048919 A JP2012048919 A JP 2012048919A JP 5711681 B2 JP5711681 B2 JP 5711681B2
- Authority
- JP
- Japan
- Prior art keywords
- mask
- value
- data
- processing
- mask value
- 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
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Description
まず、AESの概要について説明する。ブロック暗号方式であるAESでは、128ビットのデータブロックに対して、ラウンド関数を用いたラウンド処理をAES鍵長に応じた規定のラウンド数分繰り返す。AESのラウンド関数は、AddRoundKey、SubBytes、ShiftRows、およびMixColumnsを含む。
逆元計算:X−1← F(X)
ここで、XからX−1への対応関係は一意に定義されており、その対応関係はテーブルとして表現されることが一般的であるため、本実施形態でも、逆元計算はテーブルを用いて行うものとして説明する。逆元計算は、AESの暗号化処理および復号処理で共通して使用されるため、逆元計算を用いてS−Boxを実装することで、ハードウェア実装の場合は回路規模の削減、ソフトウェア実装の場合はメモリの削減が可能である。
(1)平文を入力
(2)第1ラウンド
d1←平文
線形処理L1(AddRoundKey)
非線形処理F(逆元計算)
線形処理L2(Affine変換→ShiftRows→MixColumns)
(3)第2ラウンド〜最終ラウンドの1つ前のラウンド
d1←d2
線形処理L1(AddRoundKey)
非線形処理F(逆元計算)
線形処理L2(Affine変換→ShiftRows→MixColumns)
(4)最終ラウンド
d1←d2
線形処理L1(AddRoundKey)
非線形処理F(逆元計算)
線形処理L2(Affine変換→ShiftRows→AddRoundKey)
暗号文←d2
(5)暗号文を出力
次に、実施形態の暗号処理装置について説明する。実施形態の暗号処理装置は、サイドチャネル攻撃に対して安全性を高めた暗号処理装置である。サイドチャネル攻撃に対する典型的な対策では、暗号化処理ないし復号処理を行っている途中のデータX(上記のデータd1,d2,Dなど。以下、これらの処理途中のデータを中間値と呼ぶ。)を常に乱数などのマスク値で隠蔽(マスク)する処理を行う。平文をマスク値でマスクしてから暗号化処理を実行し、最後にマスク値を剥がして(アンマスクして)暗号文を出力する方法は、マスク対策と呼ばれる。なお、ここでマスク値とは、データを隠蔽(マスク)するために用いるデータを意味する。つまり、乱数に限らず、マスク対策に用いるデータ全般をマスク値と呼ぶ。
F(X)(+)mo←Tmi,mo(X(+)mi)
図8は、第1比較例の変形逆元計算部200を示すブロック図である。第1比較例の変形逆元計算部200は、XORマスク付き非線形処理Tmi,moを行うXORマスク付き非線形処理部210を備える。第1比較例の変形逆元計算部200では、テーブル番号s=1を選択した場合、記憶装置220からテーブルマスクmi[1]を読み出し、D(+)R1に対して、XORマスクR1からテーブルマスクmi[1]へのマスク値の付け替えを行った後、D(+)mi[1]をXORマスク付き非線形処理部210に入力する。そして、乱数生成器230から新たなXORマスクとなる乱数R2を入力するとともに、記憶装置220からテーブルマスクmo[1]を読み出し、XORマスク付き非線形処理部210から出力されるD−1(+)mo[1]に対して、テーブルマスクmo[1]からXORマスクR2へのマスク値の付け替えを行い、D−1(+)R2とR2とを出力する。
(1)D(+)R1,R1を入力
(2)マスク値付け替え
テーブル番号sを選択
D(+)mi[s]←(D(+)R1)(+)R1(+)mi[s]
(3)XORマスク付き非線形変換処理Tmi,mo(逆元計算)
D−1(+)mo[s]←Tmi,mo[s](D(+)mi[s])
(4)マスク値付け替え
乱数R2を入力
D−1(+)R2←(D−1(+)mo[s])(+)R2(+)mo[s]
(5)D−1(+)R2,R2を出力
第2比較例の変形逆元計算部は、XORマスク付き非線形処理Tmi,moを用いず、非線形処理F(逆元計算)に対してマスク値(乱数)を乗算するマスク対策のみを適用した構成例である。以下では、中間値Xに対してマスク値Rを乗算した状態をX(*)Rと記述し、このときのマスク値Rを乗算マスクと呼ぶ。
(1)D(+)R1,R1を入力
(2)マスク値付け替え
乱数A(乗算マスク)を入力
Ra←R1(*)A
D(*)A←((D(+)R1)(*)A)(+)Ra
(3)非線形処理F(逆元計算)
D−1(*)A−1←F(D(*)A)
(4)マスク値付け替え
乱数rを入力
D−1(+)R2←((D−1(*)A−1)(+)r)(*)A
R2←r(*)A
(5)D−1(+)R2,R2を出力
図10は、第1実施例の変形逆元計算部12Aを示すブロック図である。第1実施例の変形逆元計算部12Aは、第1変換部21Aと、XORマスク付き非線形処理部22と、第2変換部23と、を備える。
(1)D(+)R1,R1を入力
(2)マスク値付け替え
テーブル番号sを選択
乱数A(乗算マスク)を入力
Ra←R1(*)A
D(*)A(+)mi[s]←((D(+)R1)(*)A)(+)Ra(+)mi[s]
(3)XORマスク付き非線形変換処理Tmi,mo(逆元計算)
D−1(*)A−1(+)mo[s]←Tmi,mo[s](D(*)A(+)mi[s])
(4)マスク値付け替え
乱数rを入力
D−1(+)R2←((D−1(*)A−1(+)mo[s])(+)r)(*)A
R2←(mo[s](+)r)(*)A
(5)D−1(+)R2,R2を出力
図11は、第2実施例の変形逆元計算部12Bを示すブロック図である。第2実施例の変形逆元計算部12Bは、第1変換部21Bと、XORマスク付き非線形処理部22と、第2変換部23と、を備える。XORマスク付き非線形処理部22および第2変換部23は第1実施例と同様であるため、以下では説明を省略する。
(1)D(+)R1,R1を入力
(2)マスク値付け替え
テーブル番号sを選択
R1−1←逆元計算(R1)
A←R1−1(*)mi[s]
D(*)A(+)mi[s]←(D(+)R1)(*)A
(3)XORマスク付き非線形変換処理Tmi,mo(逆元計算)
D−1(*)A−1(+)mo[s]←Tmi,mo[s](D(*)A(+)mi[s])
(4)マスク値付け替え
乱数rを入力
D−1(+)R2←((D−1(*)A−1(+)mo[s])(+)r)(*)A
R2←(mo[s](+)r)(*)A
(5)D−1(+)R2,R2を出力
図12は、第3実施例の変形逆元計算部12Cを示すブロック図である。第3実施例の変形逆元計算部12Cは、第1変換部21Cと、XORマスク付き非線形処理部22と、第2変換部23と、を備える。XORマスク付き非線形処理部22および第2変換部23は第1実施例および第2実施例と同様であるため、以下では説明を省略する。
(1)D(+)R1,R1を入力
(2)マスク値付け替え
テーブル番号s,s’を選択
R1−1←Tmi,mo[s’](R1(+)mi[s’])(+)mo[s’]
A←R1−1(*)mi[s]
D(*)A(+)mi[s]←(D(+)R1)(*)A
(3)XORマスク付き非線形変換処理Tmi,mo(逆元計算)
D−1(*)A−1(+)mo[s]←Tmi,mo[s](D(*)A(+)mi[s])
(4)マスク値付け替え
乱数rを入力
D−1(+)R2←((D−1(*)A−1(+)mo[s])(+)r)(*)A
R2←(mo[s](+)r)(*)A
(5)D−1(+)R2,R2を出力
2 乱数生成器
3 記憶装置
10 変形データ処理部
12,12A,12B,12C 変形逆元計算部
21A,21B,21C 第1変換部
22 XORマスク付き非線形処理部
23 第2変換部
41 逆元計算部
52 XORマスク付き非線形処理部
Claims (4)
- 平文または暗号文に対して乗算を用いた非線形処理を含む複数の処理を行って前記平文
を暗号化または前記暗号文を復号する暗号処理装置であって、前記複数の処理の途中のデ
ータである中間値を、該中間値を隠蔽する値であるマスク値を用いて隠蔽した状態で処理
を行う暗号処理装置において、
前記中間値と第1マスク値との積と、第2マスク値と、の排他的論理和である第1デー
タを入力し、前記中間値に対する前記非線形処理により得られる値と前記第1マスク値に
対する前記非線形処理により得られる値との積と、前記第2マスク値との対応関係が予め
定められた第3マスク値と、の排他的論理和である第2データを出力する非線形処理手段
と、
前記中間値と第4マスク値との排他的論理和である第3データと、前記第4マスク値と
、を入力し、前記第1マスク値と前記第2マスク値と前記第4マスク値とを用いて、前記
第3データを前記第1データに変換して前記非線形処理手段に入力する第1変換手段と、
前記第1マスク値を用いて、前記非線形処理手段が出力する前記第2データを、前記中
間値に対する前記非線形処理により得られる値と第5マスク値との排他的論理和である第
4データに変換して出力するとともに、前記第1マスク値と前記第3マスク値とを用いて
、前記第5マスク値を演算して出力する第2変換手段と
を備える暗号処理装置。 - 前記第1変換手段は、
前記第4マスク値に対して逆元計算を行う第1演算部と、
前記第1演算部の逆元計算により得られる値と前記第2マスク値とを乗算して前記第1
マスク値を算出する第2演算部と、
前記第3データと前記第2演算部が算出した前記第1マスク値とを乗算して前記第1デ
ータを求める第3演算部と、を有する請求項1に記載の暗号処理装置。 - 前記非線形処理手段は、前記第2マスク値と前記第3マスク値との対応関係を定めた複
数のテーブルのうちの1つを選択し、選択したテーブルに基いて前記第1データを前記第
2データに変換するものであり、
前記第1演算部は、前記複数のテーブルのうち、前記非線形処理手段が選択したテーブ
ルとは異なるテーブルに基づいて、前記第4マスク値に対する逆元計算を行う請求項2に
記載の暗号処理装置。 - 前記非線形処理は、逆元計算である請求項1に記載の暗号処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012048919A JP5711681B2 (ja) | 2012-03-06 | 2012-03-06 | 暗号処理装置 |
EP13155051.9A EP2637349A3 (en) | 2012-03-06 | 2013-02-13 | Cryptographic processing apparatus |
US13/768,085 US9166789B2 (en) | 2012-03-06 | 2013-02-15 | Cryptographic processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012048919A JP5711681B2 (ja) | 2012-03-06 | 2012-03-06 | 暗号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013186157A JP2013186157A (ja) | 2013-09-19 |
JP5711681B2 true JP5711681B2 (ja) | 2015-05-07 |
Family
ID=47747423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012048919A Active JP5711681B2 (ja) | 2012-03-06 | 2012-03-06 | 暗号処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9166789B2 (ja) |
EP (1) | EP2637349A3 (ja) |
JP (1) | JP5711681B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301096B (zh) * | 2014-10-13 | 2018-04-20 | 深圳中科讯联科技有限公司 | Aes轮运算方法和电路 |
US10341090B2 (en) * | 2014-10-14 | 2019-07-02 | Sony Corporation | Cipher processing apparatus and cipher processing method |
WO2016061635A1 (en) * | 2014-10-24 | 2016-04-28 | National Ict Australia Limited | Gradients over distributed datasets |
US11563566B2 (en) * | 2014-10-27 | 2023-01-24 | Micro Focus Llc | Key splitting |
US10158485B2 (en) | 2015-09-24 | 2018-12-18 | Intel Corporation | Double affine mapped S-box hardware accelerator |
US9910792B2 (en) | 2016-04-11 | 2018-03-06 | Intel Corporation | Composite field scaled affine transforms-based hardware accelerator |
EP3475825B1 (en) * | 2016-06-23 | 2023-01-25 | Cryptography Research, Inc. | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks |
CN107547193A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 使替换运算免受侧信道分析的方法 |
US11061997B2 (en) * | 2017-08-03 | 2021-07-13 | Regents Of The University Of Minnesota | Dynamic functional obfuscation |
CN107294700B (zh) * | 2017-08-22 | 2019-11-08 | 兆讯恒达微电子技术(北京)有限公司 | 防御旁路攻击的与逻辑电路装置及处理方法 |
CN108650072B (zh) * | 2018-03-28 | 2021-04-20 | 杭州朔天科技有限公司 | 一种支持多种对称密码算法的芯片的抗攻击电路实现方法 |
EP3557813A1 (en) * | 2018-04-17 | 2019-10-23 | Gemalto Sa | Method secured against side-channel attacks performing an arithmetic operation of a cryptographic algorithm mixing boolean and arithmetic operations |
US11507699B2 (en) * | 2019-09-27 | 2022-11-22 | Intel Corporation | Processor with private pipeline |
US11632231B2 (en) * | 2020-03-05 | 2023-04-18 | Novatek Microelectronics Corp. | Substitute box, substitute method and apparatus thereof |
JP7314108B2 (ja) * | 2020-08-27 | 2023-07-25 | 株式会社東芝 | 暗号処理装置、暗号処理方法およびプログラム |
FR3124670A1 (fr) * | 2021-06-29 | 2022-12-30 | Stmicroelectronics (Rousset) Sas | Protection de données traitées par un algorithme de chiffrement |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3600454B2 (ja) | 1998-08-20 | 2004-12-15 | 株式会社東芝 | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP4596686B2 (ja) * | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
DE102005024609A1 (de) * | 2005-05-25 | 2006-11-30 | Siemens Ag | Bestimmung einer modularen Inversen |
JP2007334016A (ja) * | 2006-06-15 | 2007-12-27 | Matsushita Electric Ind Co Ltd | データ暗号化装置及びデータ暗号化方法 |
US7970129B2 (en) * | 2007-04-19 | 2011-06-28 | Spansion Llc | Selection of a lookup table with data masked with a combination of an additive and multiplicative mask |
JP5268609B2 (ja) * | 2008-12-09 | 2013-08-21 | 株式会社東芝 | 暗号処理装置及び演算方法 |
-
2012
- 2012-03-06 JP JP2012048919A patent/JP5711681B2/ja active Active
-
2013
- 2013-02-13 EP EP13155051.9A patent/EP2637349A3/en not_active Withdrawn
- 2013-02-15 US US13/768,085 patent/US9166789B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013186157A (ja) | 2013-09-19 |
US20130236005A1 (en) | 2013-09-12 |
US9166789B2 (en) | 2015-10-20 |
EP2637349A2 (en) | 2013-09-11 |
EP2637349A3 (en) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5711681B2 (ja) | 暗号処理装置 | |
CN106788974B (zh) | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 | |
JP5911654B2 (ja) | 乱数生成器及びストリーム暗号 | |
JP5229315B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
EP2293487A1 (en) | A method of diversification of a round function of an encryption algorithm | |
CN113940028B (zh) | 实现白盒密码的方法和装置 | |
JP5481455B2 (ja) | 暗号処理装置 | |
JP5268609B2 (ja) | 暗号処理装置及び演算方法 | |
US8675866B2 (en) | Multiplicative splits to protect cipher keys | |
US9565018B2 (en) | Protecting cryptographic operations using conjugacy class functions | |
JP5612007B2 (ja) | 暗号化鍵生成装置 | |
Teh et al. | A chaos-based authenticated cipher with associated data | |
Waqas et al. | Generation of AES-like S-boxes by replacing affine matrix | |
KR101506499B1 (ko) | 마스킹이 적용된 seed를 이용한 암호화 방법 | |
KR101362675B1 (ko) | 저전력 암호화 장치 및 방법 | |
JP6136325B2 (ja) | 暗号処理装置、暗号処理方法およびプログラム | |
Murtaza et al. | Fortification of aes with dynamic mix-column transformation | |
Chou et al. | A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology | |
KR20100059571A (ko) | 마스킹을 이용한 aes 역원 연산 장치 및 방법과 이를 이용한 aes 암호 시스템 | |
JP2018092010A (ja) | 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム | |
JP5605197B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
Silva-Garcia et al. | The triple-DES-96 cryptographic system | |
JP5500277B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
JP2013205437A (ja) | 非線形関数S−boxの計算方法及び装置 | |
Lin et al. | A DCA-resistant Implementation of SM4 for the White-box Context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140620 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141216 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20141224 |
|
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: 20150206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150306 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5711681 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |