JP2017216619A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2017216619A
JP2017216619A JP2016110104A JP2016110104A JP2017216619A JP 2017216619 A JP2017216619 A JP 2017216619A JP 2016110104 A JP2016110104 A JP 2016110104A JP 2016110104 A JP2016110104 A JP 2016110104A JP 2017216619 A JP2017216619 A JP 2017216619A
Authority
JP
Japan
Prior art keywords
data
round
conversion
information processing
exclusive
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
Application number
JP2016110104A
Other languages
English (en)
Other versions
JP6135804B1 (ja
Inventor
健二 高務
Kenji Takatsukasa
健二 高務
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2016110104A priority Critical patent/JP6135804B1/ja
Priority to US15/493,537 priority patent/US10148427B2/en
Application granted granted Critical
Publication of JP6135804B1 publication Critical patent/JP6135804B1/ja
Publication of JP2017216619A publication Critical patent/JP2017216619A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】AES方式において、鍵データを難読化することを目的とする。【解決手段】入力データをAES方式で暗号化又は復号化する情報処理装置が、処理対象となる前記入力データから4バイトのサブラウンドデータを選択し、第1乱数成分と、鍵データとの排他的論理和に基づく混合成分を含む第1テーブルに基づいて、前記サブラウンドデータを1バイトデータごとに、前記1バイトデータと、前記混合成分との排他的論理和となる第1データを生成する第1変換を行い、前記第1テーブルとは異なる第2テーブルに基づいて、前記第1データを第2データに変換する第2変換を行い、前記第1テーブル及び前記第2テーブルとは異なる第3テーブルに基づいて、前記第2データを複数の第3データに変換する第3変換を行い、前記第3データの排他的論理和を計算することで上記課題を解決する。【選択図】図11

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
従来、データの暗号化及び復号化の方式として、FIPS(Federal Inrmation Processing Standard)197(アメリカ国立標準技術研究所、2001年公表)で定められているAES(Advanced Encryption Standard)方式が知られている。
また、AES方式において、セキュリティを向上させるための方法として、ホワイトボックスクリプトグラフィ(White−Box Cryptography)が知られている(例えば、非特許文献1及び非特許文献2等)。
さらに、入力に依存する符号化を行うホワイトボックスクリプトグラフィが知られている。具体的には、まず、システムが、暗号化に用いられる鍵を示す複数の基本ブロックから構成するネットワークを備える。そして、基本ブロックが、入力データを出力データにマッピングする。さらに、ネットワークが、複数の基本ブロックのうちの第1基本ブロックからの出力データを選択された符号化方式に従って符号化する。また、符号化方式の選択は、入力メッセージに依存するようにする。その上、符号化の影響を補償するため、システムが、複数の再復号化方式のうちから選択される再復号化方式に従って中間データを再符号化する補償器を有する。このようにして、リバースエンジニアリングに対して、複雑化させる方法が知られている(例えば、特許文献1等)。
"White−Box Cryptography and an AES Implementation."S.Chow,P.Eisen,H.Johnson,P.C.van Oorschot.In 9th Annual Workshop on Selected Areas in Cryptography (SAC 2002),Aug.15−16 2002. "A Tutorial on White−box AES."James A. Muir. Advnces in Network Analysis and its Applications, Mathematics in Industry 18 (2013), 209−229.
特表2012−520589号公報
しかしながら、従来の方法では、AES方式において、鍵データが解読される場合があり、鍵データの難読化ができていない場合がある。
本発明の1つの側面は、AES方式において、鍵データを難読化することを目的とする。
一態様における、入力データをAES方式で暗号化又は復号化する情報処理装置は、
処理対象となる前記入力データから4バイトのサブラウンドデータを選択する選択部と、
第1乱数成分と、鍵データとの排他的論理和に基づく混合成分を含む第1テーブルに基づいて、前記サブラウンドデータを1バイトデータごとに、前記1バイトデータと、前記混合成分との排他的論理和となる第1データを生成する第1変換部と、
前記第1テーブルとは異なる第2テーブルに基づいて、前記第1データを第2データに変換する第2変換部と、
前記第1テーブル及び前記第2テーブルとは異なる第3テーブルに基づいて、前記第2データを複数の第3データに変換する第3変換部と、
前記第3データの排他的論理和を計算する排他的論理和計算部と
を含む。
AES方式において、鍵データを難読化することができる。
本発明の一実施形態に係る組み込みシステムのハードウェア構成の一例を説明するブロック図である。 本発明の一実施形態に係る暗号化の1ラウンド当たりの処理の一例を説明するフローチャートである。 本発明の一実施形態に係る最初のラウンドの処理の一例を説明する模式図である。 本発明の一実施形態に係る中間のラウンドの処理の一例を説明する模式図である。 本発明の一実施形態に係る最後のラウンドの処理の一例を説明する模式図である。 ホワイトボックスクリプトグラフィの一例の原理を示す概念図である。 ホワイトボックスクリプトグラフィにおけるラウンド処理の一例を示す模式図である。 比較例に係る暗号化の1ラウンド当たりの処理の一例を説明する模式図(その1)である。 比較例に係る暗号化の1ラウンド当たりの処理の一例を説明する模式図(その2)である。 比較例に係るLUTのデータ容量の一例を示す表である。 本発明の一実施形態に係る組み込みシステムの機能構成の一例を示す機能ブロック図である。
情報処理装置は、例えば、組み込みシステム(Embedded system)である。組み込みシステムは、産業機器又は家電製品等に内蔵され、特定の機能を実現するためのシステムである。なお、情報処理装置は、PC(Personal Computer)等でもよい。以下、本発明の実施形態を図面に基づいて、情報処理装置が組み込みシステムである例で説明する。
1.組み込みシステムのハードウェア構成例
2.組み込みシステムによる全体処理例
3.組み込みシステムの機能構成例

<<1.組み込みシステムのハードウェア構成例>>
図1は、本発明の一実施形態に係る組み込みシステムのハードウェア構成の一例を説明するブロック図である。図示するように、組み込みシステム1は、演算装置HW1と、記憶装置HW2と、I/F(interface)HW3とを有する。
演算装置HW1は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等である。また、演算装置HW1は、組み込みシステム1が行う処理の全部又は一部を実現するための演算と、データの加工とを行う演算装置並びに組み込みシステム1が有するハードウェアを制御する制御装置である。さらに、演算装置HW1は、例えば、図示するように、RAM(Random Access Memory)HW10及びROM(Read−Only Memory)HW11等の記憶装置を内蔵し、これらの記憶装置によって記憶領域を実現する。
RAMHW10は、演算装置HW1等が用いるプログラム、設定値又はデータ等を展開及び記憶するために用いられる記憶装置である。
ROMHW11は、演算装置HW1等が用いるプログラム、設定値又はデータ等を記憶する記憶装置である。
記憶装置HW2は、いわゆるメモリ(memory)等である。また、記憶装置HW2は、組み込みシステム1が用いるプログラム、設定値又はデータ等を記憶する主記憶装置である。なお、記憶装置HW2は、補助記憶装置等を有してもよい。
I/FHW3は、組み込みシステム1にデータ等を入出力するインタフェースである。I/FHW3は、バス、コネクタ、ケーブル及びドライバ等で実現される。
なお、組み込みシステム1のハードウェア構成は、図示する構成に限られない。例えば組み込みシステム1は、記憶装置HW2を有さなくともよい。また、組み込みシステム1は、更に演算装置等の補助装置を外部又は内部に有してもよい。
<<2.組み込みシステムによる全体処理例>>
本発明の実施形態に係る組み込みシステムは、データを暗号化又は復号化する。以下、組み込みシステムがデータを暗号化する場合を例に説明する。
図2は、本発明の一実施形態に係る暗号化の1ラウンド当たりの処理の一例を説明するフローチャートである。以下、AES方式において、処理の単位となる16バイト(byte)の入力データに対する処理単位(以下「1ラウンド(round)」という。)について説明する。なお、1ラウンド当たりの処理は、AES方式に用いられる鍵のビット(bit)長等に合わせて、繰り返し行われる。
また、以下の説明では、1ラウンド当たりの処理は、16バイトのうち、選択される4バイトのデータを処理単位(以下「1サブラウンド(sub−round)」という。)にする1サブラウンド当たりの処理が繰り返し行われる。つまり、1ラウンド当たりの処理では、4サブラウンドの処理が繰り返し行われる(4バイト(1サブラウンド)×4サブラウンド=16バイト、1ラウンド)。そして、1ラウンド当たりの処理は、図示する処理又は図示する処理と等価の処理である。
<<サブラウンドデータの選択例(ステップS0101)>>
ステップS0101では、組み込みシステムは、サブラウンドデータを選択する。すなわち、ステップS0101によって、入力される16バイトの入力データのうち、4バイトのデータ(以下「サブラウンドデータ」という。)が選択される。なお、ステップS0101は、「ShiftRows」実行した処理結果と同様の処理結果となる処理である。以下、ステップS0101で選択される4バイトのデータのうち、1バイトのデータごとに行われる処理を説明する。すなわち、それぞれの1バイトのデータに対して、4回同様の処理が行われると、1サブラウンド当たりの処理となる。
<<第1テーブルに基づく第1変換例(ステップS0102)>>
ステップS0102では、組み込みシステムは、第1テーブルに基づいて第1変換を行う。なお、第1テーブルは、いわゆるLUT(Look Up Table)等である。第1テーブル及び第1変換の詳細は、後述する。以下、ステップS0102による変換結果となるデータを「第1データ」という。
<<第2テーブルに基づく第2変換例(ステップS0103)>>
ステップS0103では、組み込みシステムは、第2テーブルに基づいて第2変換を行う。なお、第2テーブルは、いわゆるLUT等である。第2テーブル及び第2変換の詳細は、後述する。以下、第1データ(ステップS0102の出力、かつ、ステップS0103の入力)を第2変換した結果を示すデータを「第2データ」という。
<<第3テーブルに基づく第3変換例(ステップS0104)>>
ステップS0104では、組み込みシステムは、第3テーブルに基づいて第3変換を行う。なお、第3テーブルは、いわゆるLUT等である。第3テーブル及び第3変換の詳細は、後述する。以下、第2データ(ステップS0103の出力、かつ、ステップS0104の入力)を第3変換した結果を示すデータを「第3データ」という。また、第3変換は、1バイトの第2データの入力に対して、4つの第3データを出力、すなわち、4バイト分の第3データを出力する変換である。
<<排他的論理和の計算例(ステップS0105)>>
ステップS0105では、組み込みシステムは、第3データ(ステップS0103の出力)の排他的論理和を計算する。
なお、ステップS0101乃至ステップS0105は、いわゆる「ShiftRows」、「AddRoundKey関数」、「SubBytes関数」及び「MixColumns関数」をそれぞれ実行した処理結果と同様の処理結果となる処理である。
ステップS0101乃至ステップS0105は、ラウンドによって処理内容及び使用されるテーブル等が異なる。したがって、以下の説明では、ラウンドごとに、処理内容及び使用されるテーブルを説明する。
以下の説明では、ラウンド数を「r」で示し、「r=1」(初期値)から順に「r=R」まで、1ラウンド当たりの処理が繰り返し行われる例を説明する。すなわち、最初に行われるラウンド(以下「最初のラウンド」という。)は、「r=1」とする。そして、最後に行われるラウンド(以下「最後のラウンド」という。)は、「r=R」とする。さらに、最初のラウンド及び最後のラウンド以外のラウンド(以下「中間のラウンド」という。)は、「r=2」乃至「r=R−1」とする。なお、鍵長によって、中間のラウンドの数が変化する。
最初のラウンドは、前に行われるラウンドがないラウンドである。一方で、最後のラウンドは、次に行われるラウンドがないラウンドである。これに対して、中間のラウンドは、前後に行われるラウンドがあるラウンドである。これらの点に対応するため、最初のラウンド、中間のラウンド及び最後のラウンドで行われるそれぞれの処理は、処理内容が異なる。そのため、以下の説明では、最初のラウンドと、中間のラウンドと、最後のラウンドとで行われるそれぞれの処理を分けて模式図を用いて説明する。
<<最初のラウンドの処理例>>
図3は、本発明の一実施形態に係る最初のラウンドの処理の一例を説明する模式図である。
<<選択例>>
図示する処理では、最初のラウンドにおいて、まず、1ラウンド当たりの処理対象となる16バイトのデータ(以下「入力データDIN」という。)から、組み込みシステムは、4つの1バイトのデータ(以下「1バイトデータ」という。)を選択する(図2に示すステップS0101)。そして、図は、組み込みシステムが、サブラウンドデータが有する4つのそれぞれの1バイトデータに対してそれぞれ行う処理の例を示す。
具体的には、図示する例は、「0」乃至「15」と示す16個の1バイトデータから構成される入力データDINから、第0番目入力データDIN0、第5番目入力データDIN5、第10番目入力データDIN10及び第15番目入力データDIN15の1バイトデータが、それぞれ選択される例である(図2に示すステップS0101)。
以下、サブラウンドデータのうち、第0番目入力データDIN0の1バイトデータに対する処理を例に説明する。
<<第1テーブル及び第1変換例>>
まず、組み込みシステムは、あらかじめ記憶される第1テーブルEに基づいて、第0番目入力データDIN0を第1変換する(図2に示すステップS0102)。また、第1テーブルEは、あらかじめ定まる第1乱数成分と、鍵データとの排他的論理和を計算した混合成分「m'1,0」を含む。なお、「m'1,0」の添え字は、(ラウンド数(r),データ番号(「0」乃至「15」))を示す。
すなわち、第1テーブルEに基づく変換が行われると、変換対象となる第0番目入力データDIN0と、「m'1,0」との排他的論理和が計算され、排他的論理和の計算結果を示す第1データD1が生成される。なお、第1テーブルEは、あらかじめ生成され、組み込みシステムに記憶される。また、第1乱数成分、すなわち、「m」は、あらかじめ乱数を発生させる関数等を実行して生成される成分である。
また、混合成分には、鍵データが含まれるが、混合成分では、鍵データ成分は、第1乱数成分との排他的論理和が計算されているため、鍵データが難読化された状態である。したがって、第1テーブルEを解析しても、鍵データが取得されにくい状態である。
<<第2テーブル及び第2変換例>>
次に、組み込みシステムは、第1変換によって生成される第1データD1に対して、第2テーブルT1,0に基づいて第2変換を行う(図2に示すステップS0103)。図示するように、第2テーブルT1,0には、第1テーブルEに含まれる第1乱数成分を打ち消す打消成分「m1,0」と、S−Box変換に相当する変換成分「S」と、第1関数による関数変換成分「g」とが含まれる。すなわち、関数変換成分「g」は、8ビット入出力の任意の変換であり、組み合わせは、256!通り存在する。なお、「m1,0」及び「T1,0」の添え字は、(ラウンド数(r),データ番号(「0」乃至「15」))を示す。すなわち、第2テーブルT1,0に基づいて第2変換されると、第1乱数成分を打ち消す計算、S−Box変換、つまり、「SubBytes関数」による変換及び第1関数による変換が行われた場合と等価の実行結果となる。
例えば、打消成分「m1,0」は、第1乱数成分の排他的論理和を計算するのと等価となる成分である。具体的には、1バイトデータに対して第1変換が行われると、1バイトデータは、第1乱数成分との排他的論理和が計算された、第1乱数成分を含む状態となり、第1データD1となる。すなわち、第1データD1には、第1乱数成分が含まれる。さらに、第1データD1には、同様にして、鍵データ成分が含まれる。
次に、第1乱数成分を含む第1データD1に対して第2変換が行われると、第1データD1は、第1乱数成分との排他的論理和が更に計算される状態となる。データは、ある値との排他的論理和が計算され、再度、同一の値で排他的論理和が計算されると、値は、元に戻る性質がある。したがって、第1変換で第1乱数成分が含まれるようになっても、第2変換で更に第1乱数成分との排他的論理和が計算されると、第1データD1に含まれる第1乱数成分は、打ち消されることになる。したがって、第1データD1に対して第1変換が行われると、1バイトデータに対して、S−Box変換(図では「S」成分で示す。)と、第1関数、すなわち、「g」とが実行された結果と等価になる。
なお、第2テーブルT1,0は、あらかじめ生成され、組み込みシステムに記憶される。そして、第2変換が行われると、第1データD1は、変換され、第2データD2が生成される。
また、図では、排他的論理和計算によって成分を加える場合を「排他的論理和計算XR」で示す。つまり、排他的論理和計算XRが併記されている成分は、排他的論理和計算によって加えられることを示す。以下、同様に記載する。
<<第3テーブル及び第3変換例>>
続いて、組み込みシステムは、第2変換によって生成される第2データD2に対して、第3テーブルMに基づいて第3変換を行う(図2に示すステップS0104)。図示するように、第3テーブルMには、第2テーブルT1,0における第1関数とは逆関数となる逆関数変換成分「g −1」と、AES既約多項式に基づく乗算成分「・03」、「・02」及び「・01」(数値は係数を示す。)と、第2乱数成分「i0,0」、「i0,1」、「i0,2」及び「i0,3」と、データに含まれるビットを並び替える並替成分「h」、「h」、「h」及び「h」とが含まれる。
なお、図示するように、第3変換は、1バイトの第2データD2が入力されると、4つの1バイトの第3データD3を出力する変換である。
また、「M」の添え字は、テーブル番号を示す。すなわち、テーブル番号が異なると、テーブルは、それぞれ異なるテーブルが使用されることを示し、一方で、テーブル番号が同一の場合には、同一のテーブルが共通して使用されることを示す。
なお、第2乱数成分は、あらかじめ乱数を発生させる関数等を実行して生成される成分である。
また、「g −1」と、「g」とは、関数と逆関数の関係である。つまり、「g −1」と、「g」とは、関数「g」による実行結果に更に逆関数「g −1」を実行すると、関数「g」の入力の状態に戻る関係である。したがって、関数「g」が実行されたデータであっても、逆関数「g −1」が実行されると、データは、関数「g」が実行される前の状態と同様となる。関数と逆関数の関係の詳細は、後述する。
<<排他的論理和計算例>>
さらに、組み込みシステムは、第3変換によって生成される第3データD3に対して、排他的論理和計算PXを行う(図2に示すステップS0105)。図示するように、第0番目入力データDIN0、第5番目入力データDIN5、第10番目入力データDIN10及び第15番目入力データDIN15に対して、第3変換がそれぞれ行われると、それぞれの第3データD3が4つずつ生成される。そして、それぞれの第3データD3から1つずつ第3データD3が選ばれ、排他的論理和計算PXが行われると、第0番目出力データDOUT0、第1番目出力データDOUT1、第2番目出力データDOUT2及び第3番目出力データDOUT3が、組み込みシステムによってそれぞれ生成される。また、図2に示すステップS0101乃至ステップS0105が4回繰り返し行われると、出力データDOUTが生成される。
<<中間のラウンドの処理例>>
図4は、本発明の一実施形態に係る中間のラウンドの処理の一例を説明する模式図である。なお、図示する処理は、中間のラウンドのうち、図3に示す処理(r=1)の次に行われるラウンド(r=2)である例とする。以下、図3に示す処理と異なる点を中心に説明する。
図示する処理は、図3に示す処理と比較すると、第2テーブルTmd,0、Tmd,5、Tmd,10及びTmd,15に、並替成分の逆成分となる「h −1」、「h −1」、「h −1」及び「h −1」と、第2乱数成分「i0,0」、「i0,1」、「i0,2」及び「i0,3」の排他的論理和計算XR成分がそれぞれ含まれる点が異なる。
まず、「h −1」、「h −1」、「h −1」及び「h −1」は、図3に示す並替成分「h」、「h」、「h」及び「h」とは逆の関係にある成分であり、例えば、並替成分「h」によって並び替えられたデータに対して、「h −1」による並び替えが行われると、データが最初のラウンドの並替成分「h」によって並び替えられる前の状態に戻る。
前のラウンド(最初のラウンド、r=1)では、第3テーブルに、並替成分「h」が含まれるため、次のラウンド(中間のラウンド、r=2)では、第0番目入力データDIN0は、並替成分「h」による並び替えが行われた状態である。そこで、第2テーブルTmd,0、Tmd,5、Tmd,10及びTmd,15に、並替成分の逆成分となる「h −1」、「h −1」、「h −1」及び「h −1」が含まれると、組み込みシステムは、本ラウンドの第2変換によって、前のラウンドにおける第3テーブルに含まれる並替成分による並び替えが行われる前の状態にすることができる。
次に、図4に示す(本のラウンドの)第2乱数成分「i0,0」、「i0,1」、「i0,2」及び「i0,3」は、図3に示す(前のラウンドの)第2乱数成分「i0,0」、「i0,1」、「i0,2」及び「i0,3」と同様の成分である。例えば、第2乱数成分「i0,0」が排他的論理和計算XRが加えられたデータに対して、第2乱数成分「i0,0」の排他的論理和計算XRが更に計算されると、データは、含まれる第2乱数成分が打ち消される。
前のラウンド(最初のラウンド、r=1)では、第3テーブルに、第2乱数成分「i0,0」が含まれるため、次のラウンド(中間のラウンド、r=2)では、第0番目入力データDIN0は、第2乱数成分「i0,0」との排他的論理和計算XRが行われた状態である。そこで、第2テーブルTmd,0、Tmd,5、Tmd,10及びTmd,15に、第2乱数成分の打消成分となる第2乱数成分「i0,0」、「i0,1」、「i0,2」及び「i0,3」の排他的論理和計算XR成分が含まれると、組み込みシステムは、第2変換によって、前のラウンドにおける第3変換による第2乱数成分を打ち消すことができる。
したがって、最初のラウンドとは異なる第2テーブルが、中間のラウンド用に生成され、あらかじめ組み込みシステムに記憶される。一方で、第3テーブルM、M、M及びMは、最初のラウンド(r=1)と、中間のラウンド(r=1乃至R−1)とで、共通して使用されるのが望ましい。このように、第3テーブルM、M、M及びMが共通して使用されると、組み込みシステムは、各ラウンド用にそれぞれの第3テーブルを記憶する場合と比較して、第3テーブルのデータ容量を小さくすることができる。
<<最後のラウンドの処理例>>
図5は、本発明の一実施形態に係る最後のラウンドの処理の一例を説明する模式図である。なお、図示する処理は、図3及び図4に示す処理と比較すると、第1テーブルEに基づく第1変換(図2に示すステップS0102)、第3テーブルM、M、M並びにMに基づく第3変換(図2に示すステップS0104)及び排他的論理和計算(図2に示すステップS0105)がない点が異なる。また、図4に示す中間のラウンドの処理と比較して、図示する処理では、「AddRoundKey関数」に相当する処理、すなわち、鍵データ「k」との排他的論理和計算が2回行われる点が異なる。
図3乃至図5に示す処理を順に行うと、組み込みシステムは、入力データDINをAES方式に準じて暗号化することができる。
<<ホワイトボックスクリプトグラフィ、変換及び逆変換について>>
図6は、ホワイトボックスクリプトグラフィの一例の原理を示す概念図である。図示するように、暗号化処理は、入力データ(平文の状態のデータである。)に対して、「拡大鍵」等の鍵データを用いて暗号化し、出力データ(暗号文の状態のデータである。)を生成する処理である。そして、暗号化処理において、まず、鍵データに対してアクセスを難しくするためのブラックボックス(Black−Box)的アプローチがある。一方で、暗号化処理において、鍵データに対してアクセスされても、鍵データと認識されるのを難しくするためのホワイトボックス(White−Box)的アプローチがある。ホワイトボックスクリプトグラフィは、ホワイトボックス的アプローチの1つの方法である。
図示するように、ホワイトボックスクリプトグラフィでは、暗号化における各処理と鍵データ(拡大鍵)とを合成して、演算をLUTによる変換とする。すなわち、演算と等価の結果となる変換ができるLUTが用いられる。特に、本発明に係る実施形態のように、複数の演算を1つのLUTで行うように、1つのLUTに複数の成分が含まれると、複数の演算を行う場合よりも、1回の変換で複数の演算と等価の処理を行うことができるため、組み込みシステムは、処理負荷を小さくできる。また、LUT等のテーブルによる変換が用いられるのは、演算装置パワーが比較的小さいことが多い、組み込みシステム等には、より望ましい。そして、ホワイトボックスクリプトグラフィでは、図示するように、各処理で(図では「処理A」と「処理B」の間)で、変換と、逆変換が行われる。例えば、図3及び図4に示す処理では、「g −1」と、「g」との関係である。
このように、ホワイトボックスクリプトグラフィは、変換と逆変換を行う成分をLUTに含ませることにより、鍵データを難読化する方法である。すなわち、図示するように、変換に使用されるテーブルは、「変換」と、「逆変換」と、「処理」とを1回の変換で行うように生成される。これを模式図で示すと、例えば、以下のように示せる。
図7は、ホワイトボックスクリプトグラフィにおけるラウンド処理の一例を示す模式図である。図示するようなラウンド処理が、鍵長に合わせて繰り返し行われる。図示するように、1ラウンド当たりの処理では、サブラウンドデータに対して、「ShiftRows関数」、「AddRoundKey関数」、「SubBytes関数」及び「MixColumns関数」の処理が行われる。一方で、図2に示す全体処理が行われる場合も、図示する処理が行われた場合と、等価の処理結果となる。すなわち、図2に示す全体処理が行われると、AES方式に準じた暗号化が行われた結果となる。
<<比較例>>
図8は、比較例に係る暗号化の1ラウンド当たりの処理の一例を説明する模式図(その1)である。図は、入力データDINのうち、4つの1バイトのデータに対して処理が行われ、出力データDOUTのうち、4つの1バイトのデータが生成される1サブラウンド当たりの処理の一例を示す。また、図示する処理、すなわち、1ラウンド当たりの処理では、4サブラウンドの処理が繰り返し行われる。以下、1サブラウンド当たりの処理を中心に説明する。
ステップS0201では、4つの1バイトのデータが選ばれる。また、FIPS197で定められている「ShiftRows関数」を実行した処理結果と、ステップS0201を行った処理結果とは、同様の結果となる。
ステップS0202では、ステップS0201で選ばれる1バイトのデータが、いわゆるT−Box等によって変換され、変換されたデータが出力される。
ステップS0203では、ステップS0202で出力されるデータに対して、いわゆるXOR−Tables等のテーブルによって変換が行われ、図示するように、排他的論理和の計算が行われた場合と同様の処理結果が出力される。
図示するように、FIPS197で定められている「AddRoundKey関数」、「SubBytes関数」及び「MixColumns関数」をそれぞれ実行した処理結果と、ステップS0202及びステップS0203をそれぞれ行った処理結果とは、同様の結果となる。
図示するように、1サブラウンド当たりの処理が行われると、ステップS0203の出力である4つの1バイトのデータが、出力データDOUTのうちの「0」乃至「3」のデータとして、生成される。
また、比較例の処理は、以下のように示せる。
図9は、比較例に係る暗号化の1ラウンド当たりの処理の一例を説明する模式図(その2)である。サブラウンド処理におけるLUTの入力及び出力の関係は、図示するように示せる。また、この比較例に用いるLUTのデータ容量は、以下のようになる。
図10は、比較例に係るLUTのデータ容量の一例を示す表である。図示するように、データ容量は、鍵長、すなわち、行われるラウンド数に応じて異なる。
<<本発明に係る実施形態において使用されるLUTのデータ容量>>
図3及び図4に示すように、本発明に係る実施形態では、最初のラウンドと、中間のラウンドにおいて、第3テーブルM、M、M及びMは、共通して使用するのが望ましい。つまり、本発明に係る実施形態では、第3テーブルは、最初のラウンドと、中間のラウンドとで共通して使用することによって、4個とすることができる。
第3テーブルは、1個当たり1キロバイトのデータ容量である。したがって、全ラウンド分を合計すると、第3テーブルのデータ容量は、「1キロバイト/個×4個=4キロバイト」である。
次に、図3乃至図5に示すように、本発明に係る実施形態では、最初のラウンドと、中間のラウンドと、最後のラウンドでは、第2テーブルは、それぞれ異なるデータである。まず、本発明に係る実施形態では、最初のラウンド用の第2テーブルは、「4個/サブラウンド×4サブラウンド=16個」である。また、第2テーブルは、1個当たり256バイト(=1/4キロバイト)のデータ容量である。したがって、最初のラウンド分を合計すると、第2テーブルのデータ容量は、「1/4キロバイト/個×16個=4キロバイト」である。
同様に、中間のラウンド用の第2テーブルは、「4個/サブラウンド×4サブラウンド=16個」である。また、第2テーブルは、1個当たり256バイト(=1/4キロバイト)のデータ容量である。したがって、中間のラウンド分を合計すると、第2テーブルのデータ容量は、「1/4キロバイト/個×16個=4キロバイト」である。また、最後のラウンド分も、合計すると、第2テーブルのデータ容量は、「1/4キロバイト/個×16個=4キロバイト」である。
そして、第1テーブルは、鍵データの鍵長によってデータ容量が異なる。例えば、鍵長が128ビットである場合には、最後のラウンド用の第2テーブルに2個分の鍵データ(図5では「k」で示す。)が含まれるため、第1テーブルのデータ容量は、「176バイト−(16バイト×2個)=144バイト=0.144キロバイト」となる。したがって、鍵長が128ビットである場合には、データ容量は、「4キロバイト(第3テーブル)+4キロバイト(最初のラウンド)+4キロバイト(中間のラウンド)+4キロバイト(最後のラウンド)+0.144キロバイト(第1テーブル)=16.144キロバイト」となる。
また、鍵長が256ビットである場合には、第1テーブルのデータ容量は、「240バイト−(16バイト×2個)=208バイト=0.208キロバイト」となる。したがって、鍵長が256ビットである場合には、データ容量は、「4キロバイト(第3テーブル)+4キロバイト(最初のラウンド)+4キロバイト(中間のラウンド)+4キロバイト(最後のラウンド)+0.208キロバイト(第1テーブル)=16.208キロバイト」となる。
なお、第2テーブルは、最初のラウンド及び中間のラウンドで、それぞれ共通して使用されてもよい。例えば、最初のラウンドでは、第2テーブルは、すべて第2テーブルT1,0が使用されてもよい。このようにすると、最初のラウンド用に用意される第2テーブルは、1個となる。同様に、中間のラウンドで、同一の第2テーブルが共通して使用される。このようにすると、中間のラウンド用に用意される第2テーブルも、4個となる。
また、最後のラウンドでは、鍵データ「k」の排他的論理和計算(図5)及び鍵データ「kR+1」の排他的論理和計算(図5)を中間のラウンドのように、「m'」とすると、中間ラウンドと同様に、第2テーブルを共通して使用することができる。このようにすると、「3キロバイト」データ容量を減らすことができる。
このように、最初のラウンド、中間のラウンド及び最後のラウンドで、それぞれ4個ずつ第2テーブルを用意し、各ラウンドでは、第2テーブルを共通して使用してもよい。このようにすると、第2テーブルのデータ容量を更に小さくすることができる。具体的には、上記の例と比較すると、更に最初のラウンド用の第2テーブルが12個分、かつ、中間のラウンド用の第2テーブルが12個分、最後のラウンド用の第2テーブルが12個分のデータ容量を削減できる。すなわち、第2テーブルを更に共通して使用することで、組み込みシステムは、12個×3(最初・中間・最後)の合計36個分のデータ容量(9キロバイト)を削減することができ、組み込みシステムは、データ容量を「7.25キロバイト」とすることができる。なお、鍵長が128ビットの場合には、組み込みシステムは、データ容量を「7.18キロバイト」とすることができる。
<<3.組み込みシステムの機能構成例>>
図11は、本発明の一実施形態に係る組み込みシステムの機能構成の一例を示す機能ブロック図である。図示するように、組み込みシステム1は、選択部FN1と、第1変換部FN2と、第2変換部FN3と、第3変換部FN4と、排他的論理和計算部FN5とを含む。
選択部FN1は、入力データDINから4バイトのサブラウンドデータを選択する。なお、入力データDINは、図3に示すように、16バイトのデータである。また、選択部FN1によって、サブラウンドデータが選択されると、FIPS197で定められている「ShiftRows関数」を実行した処理結果と同様の処理結果が得られる。さらに、選択部FN1は、例えば、演算装置HW1(図1)等によって実現される。
第1変換部FN2は、サブラウンドデータを1バイトデータD1Bごとに、第1テーブルEによる変換によって、第1データD1を生成する。第1テーブルEには、第1乱数成分と、鍵データとの排他的論理和に基づく混合成分が含まれる。したがって、1バイトデータD1Bが第1テーブルEに基づいて第1変換されると、1バイトデータD1Bと、混合成分との排他的論理和の計算結果に相当する第1データD1が生成される。例えば、第1変換部FN2は、演算装置HW1(図1)等によって実現される。
第2変換部FN3は、第2テーブルT(以下、添え字は、省略する。)に基づいて、第1データD1を変換して、第2データD2を生成する。図3に示すように、最初のラウンドでは、第2テーブルTには、第1乱数成分を打ち消す打消成分が含まれる。さらに、最初のラウンドでは、第2テーブルTには、S−Box変換に相当する変換成分が含まれる。さらにまた、最初のラウンドでは、第2テーブルTには、第1関数による関数変換成分が含まれる。また、図4及び図5に示すように、中間のラウンド及び最後のラウンドでは、前のラウンドの第3テーブルに含まれる並替成分による並び替えを元に戻す成分及び前のラウンドの第3テーブルに含まれる第2乱数成分を打ち消す打消成分が含まれる。例えば、第2変換部FN3は、演算装置HW1(図1)等によって実現される。
第3変換部FN4は、第3テーブルM(以下、添え字は、省略する。)に基づいて、第2データD2を変換して、複数の第3データD3を生成する。図3及び図4に示すように、第3テーブルMには、第2テーブルTに含まれる第1関数とは逆関数となる逆関数変換成分が含まれる。また、第3テーブルMには、AES既約多項式に基づく乗算となる乗算成分が含まれる。さらに、第3テーブルMには、第2乱数成分が含まれる。さらに、第3テーブルMには、データに含まれるビットを並び替える並替成分が含まれる。例えば、第3変換部FN4は、演算装置HW1(図1)等によって実現される。
排他的論理和計算部FN5は、第3データD3の排他的論理和を計算する。例えば、排他的論理和計算部FN5は、演算装置HW1(図1)等によって実現される。
選択部FN1による選択によって、組み込みシステムは、「ShiftRows関数」を実行した処理結果と同様の処理結果を得ることができる。また、第1テーブルEに鍵データが含まれるため、組み込みシステムは、「AddRoundKey関数」を実行した処理結果と同様の処理結果を得ることができる。さらに、第2テーブルTに「S」で示す変換成分が含まれるため、組み込みシステムは、「SubBytes関数」を実行した処理結果と同様の処理結果を得ることができる。さらにまた、第3テーブルMに「・03等」で示す乗算成分が含まれ、かつ、排他的論理和計算部FN5によって排他的論理和が計算されるため、組み込みシステムは、「MixColumns関数」を実行した処理結果と同様の処理結果を得ることができる。したがって、図示する構成とすると、FIPS197で定められている「AddRoundKey」、「SubBytes」及び「MixColumns」の関数を実行した処理結果と同様の処理結果が得られ、AES方式に準拠した暗号化を行うことができる。
また、本発明は、使用できる記憶容量等に係る制約が多い組み込みシステムに適用される形態が望ましい。さらに、組み込みシステムは、プログラム及びデータの解読を難しくするため、図1に示すように、演算装置にメモリが内蔵されるハードウェア構成であるのが望ましい。
組み込みシステムは、例えば、いわゆるスマートメータ(Smart Meter)等に用いられる。そして、スマートメータ等は、外部装置等とデータを送受信する場合が多い。この場合には、スマートメータ等は、組み込みシステムによって、AES方式で暗号化してデータを送受信できる。これによって、送受信されるデータは、暗号化されているため、スマートメータは、データの送受信においてセキュリティを向上させることができる。
<<変形例>>
組み込みシステムは、AES方式によって、暗号化を行うに限られない。例えば、組み込みシステムは、各処理の逆関数に相当する処理を用いて、復号化を行ってもよい。なお、例えば、「ShiftRows」関数の逆関数は、「InvShiftRows」関数等である。他にも、「SubBytes」関数の逆関数は、「InvSubBytes」関数であり、「MixColumns」関数の逆関数は、「InvMixColumns」関数である。
組み込みシステムは、スマートメータに限られない。例えば、組み込みシステムは、組込機器全般、クラウド等によって他の装置と通信を行う装置、IoT(Internet of Things)に用いられる各装置又はこれらを組み合わせた1以上の情報処理装置を有する情報処理システム等であってもよい。
また、組み込みシステムは、1つの情報処理装置によって実現される構成に限られない。即ち、組み込みシステムは、2つ以上の情報処理装置を有する情報処理システムによって実現されてもよい。なお、情報処理システムでは、各処理の一部又は全部が分散、冗長、並列又はこれらを組み合わせるように、処理が行われてもよい。
さらに、本発明に係る実施形態は、情報処理装置又は情報処理システム等のコンピュータに情報処理方法を実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、本発明に係る情報処理方法をコンピュータに実行させるためのプログラムであって、プログラミング言語等によって記述されるコンピュータプログラムである。
また、プログラムは、DVD若しくはブルーレイ(登録商標)等の光ディスク、フラッシュメモリ、磁気ディスク又は光磁気ディスク等の記録媒体に記憶され、頒布されてもよい。さらに、プログラムは、電気通信回線等を介して、頒布されてもよい。
以上、本発明の好ましい実施例について詳述したが、本発明は、係る特定の実施形態に限定されるものではない。すなわち、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
1 組み込みシステム
DIN 入力データ
DOUT 出力データ
E 第1テーブル
1,0、T1,5、T1,10、T1,15、Tmd,0、Tmd,5、Tmd,10、Tmd,15、TR,0、TR,5、TR,10、TR,15 第2テーブル
、M、M、M 第3テーブル
FN1 選択部
FN2 第1変換部
FN3 第2変換部
FN4 第3変換部
FN5 排他的論理和計算部

Claims (10)

  1. 入力データをAES方式で暗号化又は復号化する情報処理装置であって、
    処理対象となる前記入力データから4バイトのサブラウンドデータを選択する選択部と、
    第1乱数成分と、鍵データとの排他的論理和に基づく混合成分を含む第1テーブルに基づいて、前記サブラウンドデータを1バイトデータごとに、前記1バイトデータと、前記混合成分との排他的論理和となる第1データを生成する第1変換部と、
    前記第1テーブルとは異なる第2テーブルに基づいて、前記第1データを第2データに変換する第2変換部と、
    前記第1テーブル及び前記第2テーブルとは異なる第3テーブルに基づいて、前記第2データを複数の第3データに変換する第3変換部と、
    前記第3データの排他的論理和を計算する排他的論理和計算部と
    を含む情報処理装置。
  2. 前記選択が行われると、ShiftRows関数を実行した処理結果と同様の処理結果が得られる請求項1に記載の情報処理装置。
  3. 前記第1変換部による第1変換、前記第2変換部による第2変換、前記第3変換部による第3変換及び前記排他的論理和計算部による計算が行われると、AddRoundKey関数、SubBytes関数及びMixColumns関数をそれぞれ実行した処理結果と同様の処理結果となる請求項1に記載の情報処理装置。
  4. 最初のラウンドと、中間のラウンドと、最後のラウンドで異なる前記第2テーブルを使用する請求項1に記載の情報処理装置。
  5. 前記最初のラウンド及び前記中間のラウンドで使用される前記第2テーブルには、前記第1乱数成分を打ち消す打消成分と、S−Box変換に相当する変換成分と、第1関数による関数変換成分とが少なくとも含まれ、
    前記最初のラウンド及び前記中間のラウンドで使用される前記第3テーブルには、前記第1関数とは逆関数となる逆関数変換成分と、データに対してAES既約多項式に基づく乗算となる乗算成分と、前記第1関数とは異なる第2乱数成分と、データに含まれるビットを並び替える並替成分とが含まれる請求項4に記載の情報処理装置。
  6. 前記第3テーブルは、各ラウンドで共通して使用する請求項1に記載の情報処理装置。
  7. 前記第3テーブルは、4個使用される請求項6に記載の情報処理装置。
  8. 前記最初のラウンド及び前記中間のラウンドでは、それぞれ異なる前記第2テーブルが1個ずつ使用される請求項4又は5に記載の情報処理装置。
  9. 入力データをAES方式で暗号化又は復号化する情報処理装置が行う情報処理方法であって、
    前記情報処理装置が、処理対象となる前記入力データから4バイトのサブラウンドデータを選択する選択手順と、
    前記情報処理装置が、第1乱数成分と、鍵データとの排他的論理和に基づく混合成分を含む第1テーブルに基づいて、前記サブラウンドデータを1バイトデータごとに、前記1バイトデータと、前記混合成分との排他的論理和となる第1データを生成する第1変換手順と、
    前記情報処理装置が、前記第1テーブルとは異なる第2テーブルに基づいて、前記第1データを第2データに変換する第2変換手順と、
    前記情報処理装置が、前記第1テーブル及び前記第2テーブルとは異なる第3テーブルに基づいて、前記第2データを複数の第3データに変換する第3変換手順と、
    前記情報処理装置が、前記第3データの排他的論理和を計算する排他的論理和計算手順と
    を含む情報処理方法。
  10. 入力データをAES方式で暗号化又は復号化するコンピュータに情報処理方法を実行させるためのプログラムであって、
    前記コンピュータが、処理対象となる前記入力データから4バイトのサブラウンドデータを選択する選択手順と、
    前記コンピュータが、第1乱数成分と、鍵データとの排他的論理和に基づく混合成分を含む第1テーブルに基づいて、前記サブラウンドデータを1バイトデータごとに、前記1バイトデータと、前記混合成分との排他的論理和となる第1データを生成する第1変換手順と、
    前記コンピュータが、前記第1テーブルとは異なる第2テーブルに基づいて、前記第1データを第2データに変換する第2変換手順と、
    前記コンピュータが、前記第1テーブル及び前記第2テーブルとは異なる第3テーブルに基づいて、前記第2データを複数の第3データに変換する第3変換手順と、
    前記コンピュータが、前記第3データの排他的論理和を計算する排他的論理和計算手順と
    を実行させるためのプログラム。
JP2016110104A 2016-06-01 2016-06-01 情報処理装置、情報処理方法及びプログラム Active JP6135804B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016110104A JP6135804B1 (ja) 2016-06-01 2016-06-01 情報処理装置、情報処理方法及びプログラム
US15/493,537 US10148427B2 (en) 2016-06-01 2017-04-21 Information processing apparatus, method for processing information, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016110104A JP6135804B1 (ja) 2016-06-01 2016-06-01 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6135804B1 JP6135804B1 (ja) 2017-05-31
JP2017216619A true JP2017216619A (ja) 2017-12-07

Family

ID=58794452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016110104A Active JP6135804B1 (ja) 2016-06-01 2016-06-01 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10148427B2 (ja)
JP (1) JP6135804B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047371A (ja) * 2019-09-20 2021-03-25 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
US11477009B2 (en) 2019-10-30 2022-10-18 Fuji Electric Co., Ltd. Information processing apparatus and method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3651142A4 (en) * 2017-08-10 2021-03-24 Sony Corporation ENCRYPTION DEVICE, ENCRYPTION METHOD, DECCRYPTION DEVICE, AND DECryption METHOD
WO2020222547A1 (ko) * 2019-05-02 2020-11-05 삼성전자 주식회사 암호화 및 복호화를 수행하는 전자 장치 및 그 제어 방법
JP7459569B2 (ja) * 2020-03-05 2024-04-02 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
JP7314108B2 (ja) * 2020-08-27 2023-07-25 株式会社東芝 暗号処理装置、暗号処理方法およびプログラム
CN115396241B (zh) * 2022-10-28 2023-01-31 北京佳芯信息科技有限公司 一种数据加密方法及数据加密系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1456994B1 (en) * 2001-12-18 2018-02-07 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
JP2003195749A (ja) * 2001-12-26 2003-07-09 Denso Create:Kk データ変換装置、データ変換プログラム、記録媒体及びデータ変換方法
DE602004023436D1 (de) * 2004-03-29 2009-11-12 St Microelectronics Sa Prozessor zum ausführen eines aes algorithmus
US7890750B2 (en) * 2006-07-06 2011-02-15 Accenture Global Services Limited Encryption and decryption on a graphics processing unit
EP2218208B1 (fr) * 2007-12-13 2011-06-15 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes
US8175265B2 (en) * 2008-09-02 2012-05-08 Apple Inc. Systems and methods for implementing block cipher algorithms on attacker-controlled systems
KR101715027B1 (ko) 2009-03-10 2017-03-22 이르데토 비.브이. 입력 의존형 인코딩들을 이용한 화이트-박스 암호화 시스템
JP5060570B2 (ja) * 2010-02-23 2012-10-31 株式会社東芝 暗号化装置および復号装置
US8966285B2 (en) * 2011-01-10 2015-02-24 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047371A (ja) * 2019-09-20 2021-03-25 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
US11477024B2 (en) 2019-09-20 2022-10-18 Fuji Electric Co., Ltd. Information processing apparatus and information processing method
JP7383949B2 (ja) 2019-09-20 2023-11-21 富士電機株式会社 情報処理装置及びプログラム
US11477009B2 (en) 2019-10-30 2022-10-18 Fuji Electric Co., Ltd. Information processing apparatus and method

Also Published As

Publication number Publication date
JP6135804B1 (ja) 2017-05-31
US20170353299A1 (en) 2017-12-07
US10148427B2 (en) 2018-12-04

Similar Documents

Publication Publication Date Title
JP6135804B1 (ja) 情報処理装置、情報処理方法及びプログラム
KR100296958B1 (ko) 블록 데이터 암호화 장치
WO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム
TWI571091B (zh) 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術
JPWO2019130528A1 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
US8675866B2 (en) Multiplicative splits to protect cipher keys
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
WO2012132621A1 (ja) 暗号処理装置、および暗号処理方法、並びにプログラム
EP3644546B1 (en) Apparatus and method for generating cryptographic algorithm, apparatus and method for encryption
JP2014197913A (ja) 暗号化装置、暗号化方法及びプログラム
US6819764B1 (en) Data processor, communication system and recording medium
KR101914453B1 (ko) 암호화 장치 및 방법
JP6292195B2 (ja) 情報処理装置及び情報処理方法
WO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
KR20080072345A (ko) 암호화 장치 및 그 방법
JPWO2012141189A1 (ja) 暗号化方法、暗号化装置および暗号化プログラム
JPH0697930A (ja) ブロック暗号処理装置
JP6167721B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
Arora et al. Parametric comparison of EMDS algorithm with some symmetric cryptosystems
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
KR101807259B1 (ko) 암호화 장치 및 방법
JP2004004603A (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
JP2013205437A (ja) 非線形関数S−boxの計算方法及び装置
KR102282363B1 (ko) 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170313

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: 20170328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170410

R150 Certificate of patent or registration of utility model

Ref document number: 6135804

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250