JP6415542B2 - 難読化に適した電子ブロック暗号装置 - Google Patents
難読化に適した電子ブロック暗号装置 Download PDFInfo
- Publication number
- JP6415542B2 JP6415542B2 JP2016510996A JP2016510996A JP6415542B2 JP 6415542 B2 JP6415542 B2 JP 6415542B2 JP 2016510996 A JP2016510996 A JP 2016510996A JP 2016510996 A JP2016510996 A JP 2016510996A JP 6415542 B2 JP6415542 B2 JP 6415542B2
- Authority
- JP
- Japan
- Prior art keywords
- substitution
- layer
- input
- box
- boxes
- 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
-
- 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
-
- 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/16—Obfuscation or hiding, e.g. involving white box
-
- 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/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Transfer Between Computers (AREA)
Description
とSiとが結合されてもよい。我々は、この関数をTiと称する。次に、線形変換150が、Sボックスの出力に適用される。線形変換は、マトリクスMとの乗算として表現されてもよい。結果は、ラウンドの出力を与える。ラウンド出力は、次のラウンドへの入力として用いられてもよく、ブロック暗号の出力として用いられてもよく、又は、ブロック暗号への出力として処理及び使用されてもよい。例えば、最終的なラウンドキー適用又は最終的な転字が、前のラウンドとは異なる最終的なラウンドにおいて適用されてもよい。
Vergili及びMelek Yucel等による、「Avalanche and Bit Independence Properties for the Ensembles of Randomly Chosen n x n S-Boxes」の2.1項を参照すればよい。アバランチェ基準は、入力される平文におけるわずかなビット差異が、変更の崩壊につながる、つまり、大きな暗号文ビット差異をもたらすという、ブロック暗号の重要な暗号化特性であると考えられている。より正式には、ある入力ビットが変更された場合に、平均的に、出力ビットの半分が変わる場合、関数は、アバランチェ基準を満たす。アバランチェ基準のこの定義の正確な要件は、現実的でなく、誤り間隔が許容される。アバランチェ基準は、Sボックスレベルと同様、ブロック暗号レベルにおいて使用され得る。
によって、置換することにそれぞれ対応する。このため、我々は、それを、入力復号化及び出力符号化に組み込む。符号化のアプリケーションが難読化を実現するため、ルックアップテーブルの入力を符号化することが行の順序を変えること、及び、出力を符号化することが行の値を変えることであることを観測する。
110 メッセージ入力部
112〜116 ブロック暗号ラウンド
120 メッセージ出力部
130 ラウンド入力
132〜136 ラウンド入力文字
140 換字レイヤ
142〜146 換字ボックス
150 線形変換
160 ラウンド出力
162〜166 ラウンド出力文字
200 換字レイヤ
202 換字レイヤ入力
204 換字レイヤ出力
210 第1のサブレイヤ
220 第2のサブレイヤ
212〜226 換字ボックス
300 換字レイヤ
302 換字レイヤ入力
304 換字レイヤ出力
310 第1のサブレイヤ
320 第2のサブレイヤ
312〜326 換字ボックス
400 換字レイヤ
402 換字レイヤ入力
404 換字レイヤ出力
410 第1のサブレイヤ
420 第2のサブレイヤ
430 第3のサブレイヤ
412〜436 換字ボックス
600 計算機
610 ストレージ装置
621,622 ルックアップテーブル
650 コンピュータプロセッサ
655 コンピュータコード
660 I/O装置
Claims (12)
- ディジタルデータのメッセージブロックを暗号化又は復号化するための電子ブロック暗号装置であって、
ルックアップテーブルの形式で複数の換字ボックスを格納するストレージユニットであって、前記複数の換字ボックスは、ブロック暗号の換字レイヤをともに形成し、前記換字レイヤにおける前記換字ボックスは、それらの入力及び出力を符号化することによって、難読化され、前記換字レイヤは、換字レイヤ入力をとり、前記換字レイヤ入力を換字レイヤ出力に変換し、前記複数の換字ボックスの少なくとも1つの換字ボックスは、同じ換字レイヤにおける複数の換字ボックスの2以上の他の換字ボックスの出力の少なくとも一部の組み合わせを入力として受信する、前記ストレージユニットと、
前記メッセージブロックにブロック暗号ラウンドのシーケンスを適用することによって、前記ブロック暗号を前記ディジタルデータの前記メッセージブロックに適用する制御ユニットであって、前記ブロック暗号ラウンドの1つは、前記換字レイヤを有する、前記制御ユニットと、
を有し、
前記換字レイヤは、第4及び第3の換字ボックスの両方が、第1及び第2の換字ボックスの出力から入力を受信する特性を持つ第1、第2、第3、及び、第4の換字ボックスを有する、
電子ブロック暗号装置。 - 前記複数の換字ボックスのうちの少なくとも1つの換字ボックスは、前記少なくとも1つの換字ボックスの出力の第1の部分が、前記少なくとも1つの換字ボックスと同一の換字レイヤにおける他の換字ボックスの入力の一部として用いられ、前記少なくとも1つの換字ボックスの前記出力の第2の部分が、前記同一の換字レイヤにおける他の異なる換字ボックスの入力の一部として用いられるように、構成される、請求項1記載の電子ブロック暗号装置。
- 前記換字レイヤは、複数のサブレイヤを有し、前記複数のサブレイヤの第1のサブレイヤは、前記換字レイヤ入力を入力として受信し、次のサブレイヤは、前の換字レイヤの前記出力を入力として受信し、前記次のサブレイヤの1つは、前記換字レイヤ出力を作る最後のサブレイヤである、請求項1又は2に記載の電子ブロック暗号装置。
- 前記第1のサブレイヤにおける第1の換字ボックスは、前記換字レイヤ入力のみから入力を受信し、前記第1のサブレイヤにおける第2の換字ボックスは、前記換字レイヤ入力と前記第1の換字ボックスの出力との両方から入力を受信する、請求項3記載の電子ブロック暗号装置。
- 前記換字レイヤは、第4の換字ボックスが、第3の換字ボックスの出力から入力を受信し、前記第3の換字ボックスが、第2の換字ボックスの出力から入力を受信し、前記第2の換字ボックスが、第1の換字ボックスの出力から入力を受信する特性を持つ第1、第2、第3、及び、第4の換字ボックスを有する、請求項1乃至4のいずれか1項に記載の電子ブロック暗号装置。
- 前記第1及び第2の換字ボックスは、前記換字レイヤ入力から各入力の一部を受信し、及び/又は、
前記第3及び第4の換字ボックスは、各出力として、前記換字レイヤ出力の一部を作る、請求項1乃至5のいずれか一項に記載の電子ブロック暗号装置。 - 前記メッセージブロックから始めて、前記メッセージブロックと同じデータサイズの中間データブロックのシーケンスを作り、次の中間データブロックの各々は、前の中間データブロックに依存する、請求項1乃至6のいずれか1項に記載の電子ブロック暗号装置。
- 前記換字レイヤは、換字レイヤ入力として、中間データブロックを受信し、出力として、次の中間データブロックを作る、請求項7記載の電子ブロック暗号装置。
- 前記ブロック暗号ラウンドのシーケンスは、前記ブロック暗号ラウンドの換字レイヤに組み込まれる暗号化ラウンドキーに従って、前記メッセージブロックを変換する、請求項1乃至8のいずれか1項に記載の電子ブロック暗号装置。
- コンピュータが実行するディジタルデータのメッセージブロックを暗号化又は復号化するための電子ブロック暗号方法であって、
前記コンピュータはストレージユニット及び制御ユニットを有し、
前記ストレージユニットが、ルックアップテーブルの形式で複数の換字ボックスを格納するステップであって、前記複数の換字ボックスは、ブロック暗号の換字レイヤをともに形成し、前記換字レイヤにおける前記換字ボックスは、それらの入力及び出力を符号化することによって、難読化され、前記換字レイヤは、換字レイヤ入力をとり、前記換字レイヤ入力を換字レイヤ出力に変換し、前記複数の換字ボックスの少なくとも1つの換字ボックスは、同じ換字レイヤにおける複数の換字ボックスの2以上の他の換字ボックスの出力の少なくとも一部の組み合わせを入力として受信する、ステップと、
前記制御ユニットが、前記メッセージブロックにブロック暗号ラウンドのシーケンスを適用することによって、前記ブロック暗号を前記ディジタルデータの前記メッセージブロックに適用するステップであって、前記ブロック暗号ラウンドの1つは、前記換字レイヤを有する、ステップと、
を有し、
前記換字レイヤは、第4及び第3の換字ボックスの両方が、第1及び第2の換字ボックスの出力から入力を受信する特性を持つ第1、第2、第3、及び、第4の換字ボックスを有する、電子ブロック暗号方法。 - コンピュータプログラムが前記コンピュータ上で実行された場合に、請求項10記載の全てのステップを実行するように適合されたコンピュータプログラムコード手段を有する、コンピュータプログラム。
- コンピュータ読み取り可能な媒体上に表された、請求項11記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13166098.7 | 2013-05-01 | ||
EP13166098 | 2013-05-01 | ||
PCT/EP2014/057953 WO2014177400A1 (en) | 2013-05-01 | 2014-04-17 | Electronic block cipher device suitable for obfuscation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016520866A JP2016520866A (ja) | 2016-07-14 |
JP6415542B2 true JP6415542B2 (ja) | 2018-10-31 |
Family
ID=48325411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016510996A Active JP6415542B2 (ja) | 2013-05-01 | 2014-04-17 | 難読化に適した電子ブロック暗号装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9998279B2 (ja) |
EP (1) | EP2992637A1 (ja) |
JP (1) | JP6415542B2 (ja) |
CN (1) | CN105191206B (ja) |
BR (1) | BR112015027293A2 (ja) |
RU (1) | RU2666281C2 (ja) |
WO (1) | WO2014177400A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641337B2 (en) * | 2014-04-28 | 2017-05-02 | Nxp B.V. | Interface compatible approach for gluing white-box implementation to surrounding program |
US10110373B2 (en) * | 2015-02-13 | 2018-10-23 | Global Integrity, Inc. | System and method for manipulating both the plaintext and ciphertext of an encryption process prior to dissemination to an intended recipient |
US10020932B2 (en) * | 2015-11-13 | 2018-07-10 | Nxp B.V. | Split-and-merge approach to protect against DFA attacks |
WO2017203992A1 (ja) * | 2016-05-23 | 2017-11-30 | ソニー株式会社 | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 |
US10243937B2 (en) * | 2016-07-08 | 2019-03-26 | Nxp B.V. | Equality check implemented with secret sharing |
US10218497B2 (en) * | 2016-08-31 | 2019-02-26 | Intel Corporation | Hybrid AES-SMS4 hardware accelerator |
US10673616B2 (en) | 2017-01-11 | 2020-06-02 | Qualcomm Incorporated | Lightweight mitigation against first-order probing side-channel attacks on block ciphers |
EP3413500A1 (en) * | 2017-06-09 | 2018-12-12 | Koninklijke Philips N.V. | Device and method to compute a block cipher |
CN107453866A (zh) * | 2017-08-03 | 2017-12-08 | 致象尔微电子科技(上海)有限公司 | 一种对数据进行加密的方法 |
US11632231B2 (en) * | 2020-03-05 | 2023-04-18 | Novatek Microelectronics Corp. | Substitute box, substitute method and apparatus thereof |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3012732B2 (ja) | 1992-02-20 | 2000-02-28 | 富士通エフ・アイ・ピー株式会社 | ブロック暗号処理装置 |
CA2327911A1 (en) * | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Obscuring functions in computer software |
JP4142322B2 (ja) | 2002-03-29 | 2008-09-03 | 株式会社 エヌティーアイ | 暗号化装置及び情報処理装置並びに情報処理方法 |
US20090055458A1 (en) | 2004-09-24 | 2009-02-26 | O'neil Sean | Substitution Boxes |
EP2092684A2 (en) * | 2006-11-17 | 2009-08-26 | Koninklijke Philips Electronics N.V. | Cryptographic method for a white-box implementation |
EP2406916A1 (en) * | 2009-03-10 | 2012-01-18 | Irdeto Corporate B.V. | White-box cryptographic system with input dependent encodings |
WO2010146139A1 (en) | 2009-06-19 | 2010-12-23 | Irdeto B.V. | White-box cryptographic system with configurable key using intermediate data modification |
WO2011080487A1 (fr) | 2009-12-30 | 2011-07-07 | France Telecom | Procede de generation de table de correspondance pour une boite blanche cryptographique |
KR101334040B1 (ko) * | 2010-01-20 | 2013-11-28 | 한국전자통신연구원 | 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치 |
KR20120089396A (ko) * | 2010-11-16 | 2012-08-10 | 삼성전자주식회사 | 암호화 장치 및 그 암호화 방법 |
US8718280B2 (en) | 2010-12-17 | 2014-05-06 | Apple Inc. | Securing keys of a cipher using properties of the cipher process |
CN103827880B (zh) | 2011-03-31 | 2017-06-16 | 爱迪德技术有限公司 | 保护非本机代码安全的方法 |
RU2467389C1 (ru) | 2011-06-07 | 2012-11-20 | Антон Андреевич Краснопевцев | Способ защиты программно-информационного обеспечения от несанкционированного использования |
EP2936730B1 (en) | 2012-12-21 | 2016-06-15 | Koninklijke Philips N.V. | Computing device configured with a table network |
-
2014
- 2014-04-17 CN CN201480024514.9A patent/CN105191206B/zh active Active
- 2014-04-17 WO PCT/EP2014/057953 patent/WO2014177400A1/en active Application Filing
- 2014-04-17 BR BR112015027293A patent/BR112015027293A2/pt not_active IP Right Cessation
- 2014-04-17 US US14/784,182 patent/US9998279B2/en active Active
- 2014-04-17 JP JP2016510996A patent/JP6415542B2/ja active Active
- 2014-04-17 EP EP14718422.0A patent/EP2992637A1/en not_active Withdrawn
- 2014-04-17 RU RU2015151343A patent/RU2666281C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2666281C2 (ru) | 2018-09-06 |
RU2015151343A (ru) | 2017-06-06 |
WO2014177400A1 (en) | 2014-11-06 |
RU2015151343A3 (ja) | 2018-03-21 |
US20160050065A1 (en) | 2016-02-18 |
EP2992637A1 (en) | 2016-03-09 |
CN105191206A (zh) | 2015-12-23 |
JP2016520866A (ja) | 2016-07-14 |
BR112015027293A2 (pt) | 2017-07-25 |
CN105191206B (zh) | 2019-05-28 |
US9998279B2 (en) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6415542B2 (ja) | 難読化に適した電子ブロック暗号装置 | |
JP5646612B2 (ja) | 中間データ変更を使用する構成可能な鍵を用いるホワイトボックス暗号システム | |
US9654280B2 (en) | White-box cryptographic system with input dependent encodings | |
JP5485694B2 (ja) | ホワイトボックス実施のための暗号化方法 | |
EP2924677B1 (en) | Splitting s-boxes in a white-box implementation to resist attacks | |
US9515818B2 (en) | Multi-block cryptographic operation | |
TWI571091B (zh) | 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術 | |
US9774443B2 (en) | Computing key-schedules of the AES for use in white boxes | |
JP2010515945A (ja) | 実装のコピーの追跡 | |
WO2011029753A1 (en) | A method of diversification of a round function of an encryption algorithm | |
JP6517436B2 (ja) | 暗号化デバイス及び符号化デバイス | |
US20160359618A1 (en) | Using state reordering to protect against white box attacks | |
US8699702B2 (en) | Securing cryptographic process keys using internal structures | |
CN105184115A (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
WO2010146140A1 (en) | White-box cryptographic system with configurable key using block selection | |
CN105281893A (zh) | 用于引入白箱实现对串集合的依赖性的方法 | |
JP7215245B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Guttikonda et al. | A New Approach for Data Security in Cryptography and Steganography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180301 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180823 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6415542 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |