JP5268609B2 - 暗号処理装置及び演算方法 - Google Patents
暗号処理装置及び演算方法 Download PDFInfo
- Publication number
- JP5268609B2 JP5268609B2 JP2008313556A JP2008313556A JP5268609B2 JP 5268609 B2 JP5268609 B2 JP 5268609B2 JP 2008313556 A JP2008313556 A JP 2008313556A JP 2008313556 A JP2008313556 A JP 2008313556A JP 5268609 B2 JP5268609 B2 JP 5268609B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- mask data
- mask
- xor
- unit
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 40
- 238000004364 calculation method Methods 0.000 title claims description 226
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 244
- 230000009466 transformation Effects 0.000 claims description 134
- 238000000034 method Methods 0.000 claims description 36
- 230000000873 masking effect Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 9
- 101150005791 Rfx2 gene Proteins 0.000 description 77
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
http://www.cqpub.co.jp/dwm/contents/0072/dwm007201511.pdf
F(d xor r)=F(d) xor F(r) …(1)
従って、線形演算については、その演算結果から、容易にマスクデータを取り除くことができる。すなわち、まず、マスクrに線形演算Fを施して、その結果F(r)を求め、そして、先に求めたF(d xor r)=F(d) xor F(r)と、このF(r)との排他的論理和を求めることで、次のように正しい演算結果F(d)を得ることができる。
(F(d xor r)) xor F(r)=(F(d) xor F(r)) xor F(r)=F(d) xor F(r) xor F(r)=F(d)
このように、線形演算については、入力データにマスクをつけたまま演算を行った場合であっても、その演算結果からマスクによる影響を取り除き、本来求めたい正しい演算結果を、容易に得ることができる。
Affine(d xor r)=Affine(d) xor Affine(r) …(2)
ここで、マスクrが、次式(3)を満たすものとする。
r=Affine(r) …(3)
式(3)により、式(2)を式(4)に書き換えることができる。
Affine(d xor r)=Affine(d) xor Affine(r)=Affine(d) xor r …(4)
よって、マスクされたデータd xor rをアフィン変換した結果は、データdのアフィン変換結果をマスクrでマスクした値Affine(d) xor rになる。これが求めるべき値であるので、アフィン変換の後に、マスク付け替えのための回路が不要となることが分かる。
MixColumns(d0、d1、d2、d3)={02}・d0 xor {03}・d1 xor d2 xor d3
…(5)
なお、式(5)の・はガロア体の乗算を示す。ここで、d0、d1、d2、d3がすべて同じ値dsであれば、次式(6)のように計算される。ここで、{03}・dsを{02}・ds xor dsと分割できることを利用している。
={02}・ds xor {03}・ds xor ds xor ds
={02}・ds xor ({02}・ds xor ds) xor ds xor ds
=ds …(6)
InvMixColumnsの演算も、上記と同様に4バイトのデータが同じであれば、InvMixColumns演算により、演算結果はdsとなる。
rfx1=Affine(rfx´) …(7)
したがって、この場合、上記のように、アフィン変換部11の出力は、Affine(d2) xor Affine(rfx´)=Affine(d2) xor rfx1となる。
Claims (16)
- 非線形演算と線形演算とを含む暗号演算及び復号演算を行う暗号処理装置であって、
演算対象データを第1の一時マスクデータでマスクした第1のデータを入力し、該第1のデータについて、該第1の一時マスクデータから、第1の線形演算について不変の値である第1の固定マスクデータへの付け替えを行って、該演算対象データを該第1の固定マスクデータでマスクした第2のデータを出力する第1のマスク付替部と、
前記第2のデータを入力し、該第2のデータに前記第1の線形演算を施して、前記演算対象データに対して前記第1の線形演算を施した結果である第1の結果データを前記第1の固定マスクデータでマスクした第3のデータを出力する第1の線形演算部と、
暗号演算時には、前記第2のデータを入力し、該第2のデータに非線形演算を施して、前記演算対象データに対して該非線形演算を施した結果を第2の線形演算について不変の値である第2の固定マスクデータでマスクした第4のデータを出力し、復号演算時には、前記第3のデータを入力し、該第3のデータに該非線形演算を施して、前記第1の結果データに対して該非線形演算を施した結果である第2の結果データを前記第2の固定マスクデータでマスクした第5のデータを出力する非線形演算部と、
前記第4のデータ又は前記第5のデータを入力し、該第4のデータ又は該第5のデータに前記第2の線形演算を施して、前記非線形演算の結果である第3の結果データに対して該第2の線形演算を施した結果である第4の結果データを前記第2の固定マスクデータでマスクした第6のデータを出力する第2の線形演算部と、
暗号演算時には、前記第6のデータを入力し、該第6のデータについて、前記第2の固定マスクデータから、第2の一時マスクデータへの付け替えを行って、前記第4の結果データを該第2の一時マスクデータでマスクした第7のデータを出力し、復号演算時には、前記第5のデータを入力し、該第5のデータについて、前記第2の固定マスクデータから、該第2の一時マスクデータへの付け替えを行って、前記第2の結果データを該第2の一時マスクデータでマスクした第8のデータを出力する第2のマスク付替部とを備えたことを特徴とする暗号処理装置。 - 前記第2のデータ及び前記第3のデータを入力し、暗号演算時には該第2のデータを、復号演算時には該第3のデータをそれぞれ選択して出力する第1の選択部と、
前記第5のデータ及び前記第6のデータを入力し、暗号演算時には該第6のデータを、復号演算時には該第5のデータをそれぞれ選択して出力する第2の選択部とを更に備えたことを特徴とする請求項1に記載の暗号処理装置。 - 前記第1のデータを入力し、該第1のデータについて、前記第1の一時マスクデータから、前記第1の線形演算部により前記第1の線形演算を施した場合に前記第1の固定マスクデータを与える第3の固定マスクデータへの付け替えを行って、該演算対象データを該第3の固定マスクデータでマスクした第9のデータを出力する第3のマスク付替部を更に備え、
前記第1の線形演算部は、復号演算時には、前記第9のデータを入力し、該第9のデータに前記第1の線形演算を施して、前記第3のデータを出力することを特徴とする請求項1または2に記載の暗号処理装置。 - 前記第1の一時マスクデータと前記第2の一時マスクデータとの一方又は両方について、当該一時マスクデータ中における0の個数と1の個数とを同じ又はほぼ同じにしたことを特徴とする請求項1ないし3のいずれか1項に記載の暗号処理装置。
- 前記第1の固定マスクデータと前記第2の固定マスクデータとの一方又は両方について、当該固定マスクデータ中における0の個数と1の個数とを同じ又はほぼ同じにしたことを特徴とする請求項1ないし4のいずれか1項に記載の暗号処理装置。
- 前記第1の一時マスクデータと、前記第2の一時マスクデータとを独立して生成するマスクデータ生成部を更に備えたことを特徴とする請求項1ないし5のいずれか1項に記載の暗号処理装置。
- 前記第2の一時マスクデータを前記第1の一時マスクデータと同一とし、
前記暗号処理装置は、前記第1の一時マスクデータを生成するマスクデータ生成部を更に備えたことを特徴とする請求項1ないし5のいずれか1項に記載の暗号処理装置。 - 前記第1の固定マスクデータと、前記第2の固定マスクデータとを独立したものとしたことを特徴とする請求項1ないし7のいずれか1項に記載の暗号処理装置。
- 前記第2の固定マスクデータを前記第1の固定マスクデータと同一としたことを特徴とする請求項1ないし7のいずれか1項に記載の暗号処理装置。
- 前記非線形演算部は、前記第1の固定マスクデータ及び前記第2の固定マスクデータに対応して予め用意されたテーブルを用いて構成されたことを特徴とする請求項1ないし9のいずれか1項に記載の暗号処理装置。
- 前記線形演算はアフィン変換であり、前記非線形演算はガロア体上の逆元演算であることを特徴とする請求項1ないし10のいずれか1項に記載の暗号処理装置。
- 前記暗号処理装置は共通鍵暗号方式AESに従ったものであることを特徴とする請求項1ないし11のいずれか1項に記載の暗号処理装置。
- 前記暗号演算は、SubBytes演算であり、前記復号演算は、InvSubBytes演算であることを特徴とする請求項12に記載の暗号処理装置。
- 前記一時マスクデータを、MixColumns演算及びInvMixColumns演算について不変の値としたことを特徴とする請求項12または13に記載の暗号処理装置
- 非線形演算と線形演算とを含む暗号演算及び復号演算を行う暗号処理装置の演算方法であって、
前記暗号処理装置の備える第1のマスク付替部が、演算対象データを第1の一時マスクデータでマスクした第1のデータを入力し、該第1のデータについて、該第1の一時マスクデータから、第1の線形演算について不変の値である第1の固定マスクデータへの付け替えを行って、該演算対象データを該第1の固定マスクデータでマスクした第2のデータを出力するステップと、
前記暗号処理装置の備える第1の線形演算部が、前記第2のデータを入力し、該第2のデータに前記第1の線形演算を施して、前記演算対象データに対して前記第1の線形演算を施した結果である第1の結果データを前記第1の固定マスクデータでマスクした第3のデータを出力するステップと、
前記暗号処理装置の備える非線形演算部が、暗号演算時には、前記第2のデータを入力し、該第2のデータに非線形演算を施して、前記演算対象データに対して該非線形演算を施した結果を第2の線形演算について不変の値である第2の固定マスクデータでマスクした第4のデータを出力し、復号演算時には、前記第3のデータを入力し、該第3のデータに該非線形演算を施して、前記第1の結果データに対して該非線形演算を施した結果である第2の結果データを前記第2の固定マスクデータでマスクした第5のデータを出力するステップと、
前記暗号処理装置の備える第2の線形演算部が、前記第4のデータ又は前記第5のデータを入力し、該第4のデータ又は該第5のデータに前記第2の線形演算を施して、前記非線形演算の結果である第3の結果データに対して該第2の線形演算を施した結果である第4の結果データを前記第2の固定マスクデータでマスクした第6のデータを出力するステップと、
前記暗号処理装置の備える第2のマスク付替部が、暗号演算時には、前記第6のデータを入力し、該第6のデータについて、前記第2の固定マスクデータから、第2の一時マスクデータへの付け替えを行って、前記第4の結果データを該第2の一時マスクデータでマスクした第7のデータを出力し、復号演算時には、前記第5のデータを入力し、該第5のデータについて、前記第2の固定マスクデータから、該第2の一時マスクデータへの付け替えを行って、前記第2の結果データを該第2の一時マスクデータでマスクした第8のデータを出力するステップとを有することを特徴とする演算方法。 - 前記暗号処理装置の備える第1の選択部が、前記第2のデータ及び前記第3のデータを入力し、暗号演算時には該第2のデータを、復号演算時には該第3のデータをそれぞれ選択して出力するステップと、
前記暗号処理装置の備える第2の選択部が、前記第5のデータ及び前記第6のデータを入力し、暗号演算時には該第6のデータを、復号演算時には該第5のデータをそれぞれ選択して出力するステップとを更に有することを特徴とする請求項15に記載の演算方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313556A JP5268609B2 (ja) | 2008-12-09 | 2008-12-09 | 暗号処理装置及び演算方法 |
PCT/JP2009/070618 WO2010067827A1 (ja) | 2008-12-09 | 2009-12-09 | 暗号処理装置及び演算方法 |
US13/155,889 US8817975B2 (en) | 2008-12-09 | 2011-06-08 | Cryptographic processing apparatus and operation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313556A JP5268609B2 (ja) | 2008-12-09 | 2008-12-09 | 暗号処理装置及び演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010141430A JP2010141430A (ja) | 2010-06-24 |
JP5268609B2 true JP5268609B2 (ja) | 2013-08-21 |
Family
ID=42242814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008313556A Active JP5268609B2 (ja) | 2008-12-09 | 2008-12-09 | 暗号処理装置及び演算方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8817975B2 (ja) |
JP (1) | JP5268609B2 (ja) |
WO (1) | WO2010067827A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5364840B2 (ja) | 2010-02-22 | 2013-12-11 | 株式会社東芝 | 暗号化装置 |
JP5060606B2 (ja) * | 2010-09-17 | 2012-10-31 | 株式会社東芝 | 暗号化装置 |
JP5481455B2 (ja) * | 2011-09-27 | 2014-04-23 | 株式会社東芝 | 暗号処理装置 |
JP2013105100A (ja) * | 2011-11-15 | 2013-05-30 | Tokai Rika Co Ltd | データ変換装置 |
JP5897323B2 (ja) * | 2011-12-26 | 2016-03-30 | 株式会社日立ハイテクノロジーズ | 自動分析装置および測定値異常検出方法 |
JP5711681B2 (ja) * | 2012-03-06 | 2015-05-07 | 株式会社東芝 | 暗号処理装置 |
US10020932B2 (en) * | 2015-11-13 | 2018-07-10 | Nxp B.V. | Split-and-merge approach to protect against DFA attacks |
CN107465645A (zh) * | 2016-06-03 | 2017-12-12 | 华邦电子股份有限公司 | 破解装置以及方法 |
CN107547194A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 免受侧信道分析的保护方法和设备 |
US10243937B2 (en) * | 2016-07-08 | 2019-03-26 | Nxp B.V. | Equality check implemented with secret sharing |
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 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4596686B2 (ja) * | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
EP1595357A4 (en) * | 2003-02-06 | 2006-03-01 | Discretix Technologies Ltd | DEVICE AND METHOD FOR HANDLING MASKED DATA |
JP3940714B2 (ja) * | 2003-09-25 | 2007-07-04 | 株式会社東芝 | 演算装置、および、暗号・復号演算装置 |
KR100594265B1 (ko) * | 2004-03-16 | 2006-06-30 | 삼성전자주식회사 | 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법. |
JP2007189659A (ja) * | 2005-12-15 | 2007-07-26 | Toshiba Corp | 暗号化装置、暗号化方法及び暗号化プログラム |
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 |
WO2008146482A1 (ja) * | 2007-05-30 | 2008-12-04 | Panasonic Corporation | 暗号化装置、復号化装置、暗号化方法及び集積回路 |
-
2008
- 2008-12-09 JP JP2008313556A patent/JP5268609B2/ja active Active
-
2009
- 2009-12-09 WO PCT/JP2009/070618 patent/WO2010067827A1/ja active Application Filing
-
2011
- 2011-06-08 US US13/155,889 patent/US8817975B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20110268266A1 (en) | 2011-11-03 |
WO2010067827A1 (ja) | 2010-06-17 |
US8817975B2 (en) | 2014-08-26 |
JP2010141430A (ja) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5268609B2 (ja) | 暗号処理装置及び演算方法 | |
US10567162B2 (en) | Mask S-box, block ciphers algorithm device and corresponding construction process | |
US9515818B2 (en) | Multi-block cryptographic operation | |
JP5229315B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
JP5711681B2 (ja) | 暗号処理装置 | |
JP6406350B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
CN106233660B (zh) | 加密处理设备、加密处理方法和程序 | |
JP5364840B2 (ja) | 暗号化装置 | |
US8000471B2 (en) | Robust cipher design | |
US11463235B2 (en) | Encryption device, encryption method, program, decryption device, and decryption method | |
JP2012215813A (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US20130243191A1 (en) | Encryption key generating apparatus | |
WO2015146430A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
JP5327493B1 (ja) | 暗号化処理回路及び復号処理回路、その方法並びにそのプログラム | |
KR102141843B1 (ko) | 암호화 방법을 실행하기 위한 장치 및 방법 | |
JP6136325B2 (ja) | 暗号処理装置、暗号処理方法およびプログラム | |
KR101971001B1 (ko) | 화이트박스 암호가 적용된 블록 암호 기반의 난수 생성 방법 및 장치 | |
EP2209252B1 (en) | Compact hardware implementation of block ciphers with a MISTY structure | |
JPWO2008117804A1 (ja) | ストリーム暗号向け擬似乱数生成装置とプログラムと方法 | |
JP5500277B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
WO2015146432A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
JP6292107B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
WO2013190782A1 (ja) | 暗号化処理回路および復号処理回路 | |
JP6371197B2 (ja) | 暗号処理装置 | |
JP2014116897A (ja) | 暗号化装置、暗号化方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130322 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130507 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5268609 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |