JP2017167390A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2017167390A JP2017167390A JP2016053737A JP2016053737A JP2017167390A JP 2017167390 A JP2017167390 A JP 2017167390A JP 2016053737 A JP2016053737 A JP 2016053737A JP 2016053737 A JP2016053737 A JP 2016053737A JP 2017167390 A JP2017167390 A JP 2017167390A
- Authority
- JP
- Japan
- Prior art keywords
- data
- round
- information processing
- byte
- conversion
- 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.)
- Granted
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
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
第1ラウンドの処理対象となる前記入力データのうち、4バイトのサブラウンドデータを選択する選択部と、
前記サブラウンドデータを1バイトのデータごとに、前記第1ラウンドの次のラウンドである第2ラウンドで用いられる鍵データの成分を含むテーブルに基づいて変換して、それぞれ、4バイトの変換データを生成する変換部と、
それぞれの前記変換データの排他的論理和を計算する排他的論理和計算部と
を含む。
2.組み込みシステムによる全体処理例
3.組み込みシステムの機能構成例
<<1.組み込みシステムのハードウェア構成例>>
図1は、本発明の一実施形態に係る組み込みシステムのハードウェア構成の一例を説明するブロック図である。図示するように、組み込みシステム1は、演算装置HW1と、記憶装置HW2と、I/F(interface)HW3とを有する。
本発明の実施形態に係る組み込みシステムは、データを暗号化又は復号化する。以下、組み込みシステムがデータを暗号化する場合を例に説明する。
ステップS0101では、組み込みシステムは、サブラウンドデータを選択する。すなわち、ステップS0101によって、入力される16バイトの入力データのうち、4バイトのデータ(以下「サブラウンドデータ」という。)が選択される。なお、ステップS0101は、いわゆる「ShiftRows」に相当する処理である。以下、ステップS0101で選択される4バイトのデータのうち、1バイトのデータごとに行われる処理を説明する。すなわち、それぞれの1バイトのデータに対して、4回同様の処理が行われると、1サブラウンド当たりの処理となる。
ステップS0102では、組み込みシステムは、テーブルに基づいて変換を行う。なお、テーブルは、いわゆるLUT(Look Up Table)等である。テーブルについての詳細は、後述する。以下、ステップS0102による変換によって、生成されるデータを「変換データ」という。なお、変換データは、1バイトの入力に対して、1バイトを4つ、すなわち、4バイトとなる。
ステップS0103では、組み込みシステムは、変換データの排他的論理和を計算する。なお、ステップS0102及びステップS0103は、いわゆる「AddRoundKey」、「SubBytes」及び「MixColumns」に相当する処理である。
図3は、本発明の一実施形態に係る最初のラウンドの処理の一例を説明する模式図である。図示する処理では、最初のラウンドにおいて、まず、1ラウンド当たりの処理対象となる16バイトのデータ(以下「入力データD_IN」という。)から、組み込みシステムは、4つの1バイトのデータを選択する。そして、図は、組み込みシステムが、サブラウンドデータが有する1バイトのデータにそれぞれ行う処理の例を示す。具体的には、図示する例では、「0」乃至「15」の1バイトのデータから構成される入力データD_INから、第0番目データD_1B0、第5番目データD_1B5、第10番目データD_1B10及び第15番目データD_1B15の1バイトのデータが、それぞれ選択される例である。以下の説明では、サブラウンドデータのうち、第0番目データD_1B0の1バイトのデータに対する処理を例に説明する。
図6は、本発明の一実施形態に係る中間のラウンドの処理の一例を説明する模式図(その1)である。なお、図示する処理は、図3に示す処理の次のラウンドである例とする。以下、図3に示す処理と異なる点を中心に説明する。
図8は、本発明の一実施形態に係る最終のラウンドの処理の一例を説明する模式図である。なお、図示する処理は、図6及び図7に示す処理と比較すると、テーブルによる、「MixColumns」に相当する処理がない点が異なる。また、図示する処理では、「AddRoundKey」に相当する処理が2回行われる点が異なる。
図11は、比較例に係る暗号化の1ラウンド当たりの処理の一例を説明する模式図(その1)である。図11は、入力データD_INのうち、4つの1バイトのデータに対して処理が行われ、出力データD_OUTのうち、4つの1バイトのデータが生成される1サブラウンド当たりの処理の一例を示す。また、図11に示す処理、すなわち、1ラウンド当たりの処理では、4サブラウンドの処理が繰り返し行われる。以下、1サブラウンド当たりの処理を中心に説明する。
図14は、本発明の一実施形態に係る組み込みシステムの機能構成の一例を示す機能ブロック図である。図示するように、組み込みシステム1は、選択部FN1と、変換部FN2と、排他的論理和計算部FN3とを含む。
組み込みシステムは、AES方式によって、暗号化を行うに限られない。例えば、組み込みシステムは、各処理の逆関数に相当する処理を用いて、復号化を行ってもよい。なお、例えば、「ShiftRows」関数の逆関数は、「InvShiftRows」関数等である。他にも、「SubBytes」関数の逆関数は、「InvSubBytes」関数であり、「MixColumns」関数の逆関数は、「InvMixColumns」関数である。
D_IN 入力データ
D_OUT 出力データ
TB テーブル
D_K 鍵データ
RP 乱数成分
CP 打消成分
FN1 選択部
FN2 変換部
FN3 排他的論理和計算部
Claims (8)
- 入力データをAES方式で暗号化又は復号化する情報処理装置であって、
第1ラウンドの処理対象となる前記入力データのうち、4バイトのサブラウンドデータを選択する選択部と、
前記サブラウンドデータを1バイトのデータごとに、前記第1ラウンドの次のラウンドである第2ラウンドで用いられる鍵データの成分を含むテーブルに基づいて変換して、それぞれ、4バイトの変換データを生成する変換部と、
それぞれの前記変換データの排他的論理和を計算する排他的論理和計算部と
を含む情報処理装置。 - 前記第1ラウンドで用いられる前記テーブルには、乱数成分が含まれ、
前記第2ラウンドで用いられるテーブルには、前記乱数成分を打ち消す打消成分が含まれる請求項1に記載の情報処理装置。 - 前記変換部は、乱数成分を含む前記変換データと、前記乱数成分を打ち消す打消成分を含む前記変換データとを生成する請求項1又は2に記載の情報処理装置。
- 前記情報処理装置は、組み込みシステムである請求項1に記載の情報処理装置。
- 前記選択が行われると、ShiftRows関数を実行した処理結果と同様の処理結果が得られる請求項1に記載の情報処理装置。
- 前記テーブルに基づく変換及び前記排他的論理和の計算が行われると、AddRoundKey関数、SubBytes関数及びMixColumns関数をそれぞれ実行した処理結果と同様の処理結果が含まれる請求項1に記載の情報処理装置。
- 入力データをAES方式で暗号化又は復号化する情報処理装置が行う情報処理方法であって、
前記情報処理装置が、第1ラウンドの処理対象となる前記入力データのうち、4バイトのサブラウンドデータを選択する選択手順と、
前記情報処理装置が、前記サブラウンドデータを1バイトのデータごとに、前記第1ラウンドの次のラウンドである第2ラウンドで用いられる鍵データの成分を含むテーブルに基づいて変換して、それぞれ、4バイトの変換データを生成する変換手順と、
前記情報処理装置が、それぞれの前記変換データの排他的論理和を計算する排他的論理和計算手順と
を含む情報処理方法。 - 入力データをAES方式で暗号化又は復号化するコンピュータに情報処理方法を実行させるためのプログラムであって、
前記コンピュータが、第1ラウンドの処理対象となる前記入力データのうち、4バイトのサブラウンドデータを選択する選択手順と、
前記コンピュータが、前記サブラウンドデータを1バイトのデータごとに、前記第1ラウンドの次のラウンドである第2ラウンドで用いられる鍵データの成分を含むテーブルに基づいて変換して、それぞれ、4バイトの変換データを生成する変換手順と、
前記コンピュータが、それぞれの前記変換データの排他的論理和を計算する排他的論理和計算手順と
を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016053737A JP6187624B1 (ja) | 2016-03-17 | 2016-03-17 | 情報処理装置、情報処理方法及びプログラム |
US15/439,147 US10097343B2 (en) | 2016-03-17 | 2017-02-22 | Data processing apparatus and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016053737A JP6187624B1 (ja) | 2016-03-17 | 2016-03-17 | 情報処理装置、情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6187624B1 JP6187624B1 (ja) | 2017-08-30 |
JP2017167390A true JP2017167390A (ja) | 2017-09-21 |
Family
ID=59720295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016053737A Active JP6187624B1 (ja) | 2016-03-17 | 2016-03-17 | 情報処理装置、情報処理方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10097343B2 (ja) |
JP (1) | JP6187624B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019207393A (ja) * | 2018-04-02 | 2019-12-05 | インテル・コーポレーション | 高性能認証付き暗号に関するハードウェアアクセラレータ及び方法 |
US11477024B2 (en) | 2019-09-20 | 2022-10-18 | Fuji Electric Co., Ltd. | Information processing apparatus and information processing method |
US11477009B2 (en) | 2019-10-30 | 2022-10-18 | Fuji Electric Co., Ltd. | Information processing apparatus and method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7459569B2 (ja) | 2020-03-05 | 2024-04-02 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003195749A (ja) * | 2001-12-26 | 2003-07-09 | Denso Create:Kk | データ変換装置、データ変換プログラム、記録媒体及びデータ変換方法 |
JP2005513541A (ja) * | 2001-12-18 | 2005-05-12 | アナログ デバイシーズ インク | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン |
JP2008017489A (ja) * | 2006-07-06 | 2008-01-24 | Accenture Global Services Gmbh | グラフィック処理ユニットでの暗号化及び復号化 |
US20100054461A1 (en) * | 2008-09-02 | 2010-03-04 | Apple Inc. | Systems and methods for implementing block cipher algorithms on attacker-controlled systems |
US20130010963A1 (en) * | 2011-07-07 | 2013-01-10 | Farrugia Augustin J | Multiplicative splits to protect cipher keys |
US8422668B1 (en) * | 2006-12-15 | 2013-04-16 | Spansion Llc | Table lookup operation on masked data |
JP5485694B2 (ja) * | 2006-11-17 | 2014-05-07 | イルデト・コーポレート・ビー・ヴイ | ホワイトボックス実施のための暗号化方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3053527B2 (ja) * | 1993-07-30 | 2000-06-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置 |
CA2302784A1 (en) * | 1997-09-17 | 1999-03-25 | Frank C. Luyster | Improved block cipher method |
US20040202318A1 (en) * | 2001-10-04 | 2004-10-14 | Chih-Chung Lu | Apparatus for supporting advanced encryption standard encryption and decryption |
TW527783B (en) * | 2001-10-04 | 2003-04-11 | Ind Tech Res Inst | Encryption/deciphering device capable of supporting advanced encryption standard |
JP4128395B2 (ja) * | 2002-05-23 | 2008-07-30 | 三菱電機株式会社 | データ変換装置 |
US8102997B2 (en) * | 2004-03-29 | 2012-01-24 | Stmicroelectronics S.A. | Processor for executing an AES-type algorithm |
WO2005103908A1 (ja) * | 2004-04-26 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 暗号又は復号を行うコンピュータシステム及びコンピュータプログラム |
JP4909018B2 (ja) * | 2006-11-16 | 2012-04-04 | 富士通株式会社 | 共通鍵暗号のための暗号化装置 |
ES2366753T3 (es) * | 2007-12-13 | 2011-10-25 | Oberthur Technologies | Método de procesamiento criptográfico de datos, en particular con la ayuda de una caja s, dispositivo y programas asociados. |
JP5272417B2 (ja) * | 2008-01-21 | 2013-08-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP5532560B2 (ja) * | 2008-08-25 | 2014-06-25 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにプログラム |
CA2754094C (en) | 2009-03-10 | 2017-08-15 | Irdeto Corporate B.V. | White-box cryptographic system with input dependent encodings |
EP2369778B1 (en) * | 2010-03-26 | 2018-08-15 | Irdeto B.V. | Personalized whitebox descramblers |
US8838997B2 (en) * | 2012-09-28 | 2014-09-16 | Intel Corporation | Instruction set for message scheduling of SHA256 algorithm |
-
2016
- 2016-03-17 JP JP2016053737A patent/JP6187624B1/ja active Active
-
2017
- 2017-02-22 US US15/439,147 patent/US10097343B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005513541A (ja) * | 2001-12-18 | 2005-05-12 | アナログ デバイシーズ インク | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン |
JP2003195749A (ja) * | 2001-12-26 | 2003-07-09 | Denso Create:Kk | データ変換装置、データ変換プログラム、記録媒体及びデータ変換方法 |
JP2008017489A (ja) * | 2006-07-06 | 2008-01-24 | Accenture Global Services Gmbh | グラフィック処理ユニットでの暗号化及び復号化 |
JP5485694B2 (ja) * | 2006-11-17 | 2014-05-07 | イルデト・コーポレート・ビー・ヴイ | ホワイトボックス実施のための暗号化方法 |
US8422668B1 (en) * | 2006-12-15 | 2013-04-16 | Spansion Llc | Table lookup operation on masked data |
US20100054461A1 (en) * | 2008-09-02 | 2010-03-04 | Apple Inc. | Systems and methods for implementing block cipher algorithms on attacker-controlled systems |
US20130010963A1 (en) * | 2011-07-07 | 2013-01-10 | Farrugia Augustin J | Multiplicative splits to protect cipher keys |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019207393A (ja) * | 2018-04-02 | 2019-12-05 | インテル・コーポレーション | 高性能認証付き暗号に関するハードウェアアクセラレータ及び方法 |
US11477024B2 (en) | 2019-09-20 | 2022-10-18 | Fuji Electric Co., Ltd. | Information processing apparatus and information processing method |
US11477009B2 (en) | 2019-10-30 | 2022-10-18 | Fuji Electric Co., Ltd. | Information processing apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
JP6187624B1 (ja) | 2017-08-30 |
US10097343B2 (en) | 2018-10-09 |
US20170272238A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6135804B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR100296958B1 (ko) | 블록 데이터 암호화 장치 | |
JP5646612B2 (ja) | 中間データ変更を使用する構成可能な鍵を用いるホワイトボックス暗号システム | |
KR101600016B1 (ko) | 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치 | |
US20120170739A1 (en) | Method of diversification of a round function of an encryption algorithm | |
WO2009087972A1 (ja) | データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム | |
RU2666281C2 (ru) | Электронное устройство блочного шифрования, подходящее для обфускации | |
US8675866B2 (en) | Multiplicative splits to protect cipher keys | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR20060134992A (ko) | 정수를 가산하는 컴퓨터 시스템 | |
TW201545524A (zh) | 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術 | |
WO2016067524A1 (ja) | 認証付暗号化装置、認証付復号装置、認証付暗号システム、認証付暗号化方法、プログラム | |
KR20180110550A (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
Elgeldawi et al. | A comparative analysis of symmetric algorithms in cloud computing: a survey | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密***及方法 | |
KR101914453B1 (ko) | 암호화 장치 및 방법 | |
JP5992651B2 (ja) | 暗号化方法、プログラム、および、システム | |
US8774402B2 (en) | Encryption/decryption apparatus and method using AES rijndael algorithm | |
KR20200047138A (ko) | 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법 | |
JP6292195B2 (ja) | 情報処理装置及び情報処理方法 | |
JP6194136B2 (ja) | 疑似乱数生成装置及び疑似乱数生成プログラム | |
JP6167721B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム | |
KR20080072345A (ko) | 암호화 장치 및 그 방법 | |
CN115632765A (zh) | 加密方法、解密方法、装置、电子设备及存储介质 | |
JP6631989B2 (ja) | 暗号化装置、制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20170704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6187624 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |