JP3503638B1 - 暗号装置及び暗号プログラム - Google Patents
暗号装置及び暗号プログラムInfo
- Publication number
- JP3503638B1 JP3503638B1 JP2002280469A JP2002280469A JP3503638B1 JP 3503638 B1 JP3503638 B1 JP 3503638B1 JP 2002280469 A JP2002280469 A JP 2002280469A JP 2002280469 A JP2002280469 A JP 2002280469A JP 3503638 B1 JP3503638 B1 JP 3503638B1
- Authority
- JP
- Japan
- Prior art keywords
- cache
- encryption
- processing
- conversion table
- plaintext
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
-
- 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/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
号解読法に対する防御機能を備えた暗号装置を提供す
る。 【解決手段】 ビット列変換に使用する換字テーブル3
05を用いて暗号処理を行う暗号プログラム3Aがキャ
ッシュ4を有するコンピュータに実装された暗号装置に
おいて、暗号処理に先立って換字テーブル305をキャ
ッシュ4にプリロードする手段311を備える。1つの
平文の暗号処理における換字テーブル305に対するア
クセス時のキャッシュミスヒット回数が、任意の平文に
ついてほぼ均一化されるため、換字テーブルの動作エン
トリ数が少ない平文も多い平文も、その暗号時間がほぼ
同じになり、キャッシュ型攻撃暗号解読法の要である鍵
差分を抽出する際に用いる平文の抽出が困難となる。
Description
の際にデータを秘匿するための暗号装置に関し、特に換
字テーブルなどの変換表を用いてデータを暗号化する暗
号装置の改良に関する。
暗号に大別される。共通鍵暗号では、暗号化アルゴリズ
ムは公開するが、暗号化の鍵と復号化の鍵が同一であ
り、鍵の値を秘密にする。他方、公開鍵暗号は、暗号化
の鍵と復号化の鍵が異なっており、暗号化アルゴリズム
に加えて暗号化の鍵を公開し、復号化の鍵を秘密にす
る。公開鍵暗号は、鍵の配送の手間がかからず鍵管理が
容易である等の利点を有するが、共通鍵暗号に比べて処
理量が多くなり処理速度が遅くなるといった問題がある
ため、大量データの暗号化には共通鍵暗号が専ら使用さ
れている。
リーム暗号とに分けられる。ストリーム暗号は、乱数生
成器が出力する乱数列を1ビットずつデータに作用させ
るビット単位の処理によって暗号化する。他方、ブロッ
ク暗号は、数十ビット以上の比較的長いデータブロック
毎に暗号化および復号化を行う。ブロック暗号の代表的
なものに、DES暗号、FEAL暗号などがある。
部は、データランダム化部と鍵生成部とで構成される。
鍵生成部は、鍵を拡大し、データランダム化部に出力す
る。データランダム化部は、平文(または暗号文)と鍵
を混ぜ合わせ、暗号文(または平文)を出力する。デー
タランダム化部は、通常、入力部、データ変換部および
出力部で構成される。入力部は、初期置換(IP:In
itial Permutation)など簡単な処理
を行い、出力部は逆初期置換(IP-1)などの処理を行
う。データ変換部は、入力部の出力と鍵生成部で生成さ
れた鍵とを用いて、基本的な単位操作を複数回繰り返
し、結果を出力部へ出力する。単位操作では、排他的論
理和、換字(substitution)、置換(co
ordinate permutation)などの操
作が組み合わされる。
呼ばれる。Sボックスでは、一般に換字テーブルと呼ば
れる変換表が使われ、Sボックスの入力ビット列で表さ
れる番地に格納されているビット列を換字テーブルから
読み出し、Sボックスの出力として出力する。一般にS
ボックスは、使用する換字テーブルの種類に応じて複数
種類存在し、入力ビット数に応じてS7ボックス、S9
ボックスなどとして区別される。各Siボックスは、一
般に1ブロックの暗号化(または復号)の過程で複数回
実行される。
の例の換字テーブルは16個のエントリを有し、各エン
トリに16進数で0からFの番地が振られており、各エ
ントリに0からFの値が格納されている。左上のエント
リを0番地とし、右方向に1、2、3番地を割振り、2
段目は左から右に4、5、6、7番地を、3段目は同じ
く左から右に8、9、A、B番地を、4段目は同じく左
から右にC、D、E、F番地を割振るものとすると、例
えば、入力ビットが0000(16進数で0)の場合、
0番地のエントリに格納されている16進数で8の値が
読み出され、2進数で表現した1000が出力される。
このような換字テーブルを使用すると、換字テーブルを
交換するだけで異なる暗号変換を実施でき、秘匿通信の
柔軟性が向上する等の利点がある。
る。図10において、1はCPU(演算装置)、2はメ
モリ(主記憶)、3は暗号プログラム、4はキャッシュ
であり、CPU1とキャッシュ4との間はデータ線、ア
ドレス線および制御線を含むプロセッサバス5によって
接続され、キャッシュ4とメモリ2との間は、同じくデ
ータ線、アドレス線および制御線を含むメモリバス6に
よって接続されている。周知のようにキャッシュ4は、
メモリ2よりも高速アクセス可能な小容量のメモリであ
り、メモリ2の内容の一部の写しを保持する。CPU1
がプロセッサバス5を通じて要求する命令やデータがキ
ャッシュ4に存在すれば(これをキャッシュヒットと呼
ぶ)、キャッシュ4はキャッシュヒットした命令やデー
タを直ちにCPU1に返却する。他方、CPU1が要求
する命令やデータがキャッシュ4に存在しなければ(こ
れをキャッシュミスヒットと呼ぶ)、キャッシュ4はミ
スヒットした命令やデータを含む所定サイズのデータを
メモリバス6を通じてメモリ2から読み出して自身に格
納すると共にCPU1に該当する命令やデータを返却す
る。ここで、所定サイズのデータとは、例えば32バイ
ト、128バイトといったサイズである。このようなサ
イズでキャッシュ4に読み込んでおくことにより、命令
が実行される場合には実行アドレスが近い命令が続けて
実行されることが多いという原理(命令の局所性の原
理)により、キャッシュヒット率を高めることができ、
高速化が可能となる。
やFEAL暗号などの共通鍵暗号を実現するプログラム
であり、通常は図示しない磁気ディスク等の補助記憶装
置に格納されており、使用時に図10に示すようにメモ
リ2にロードされて実行される。図10のメモリ2のブ
ロックの右に記載した構成図は、1つの平文を暗号化す
る際の暗号プログラム3の処理の内容を示している。
の呼出しなどによって起動されると(ステップ30
1)、先ず、入力部302によって、平文の入力、初期
置換などの処理を行い、その後、鍵生成部303による
鍵生成処理、データ変換部304によるデータ変換処理
が実行される。鍵生成部303では、暗号プログラム3
に設定されている鍵を拡大し、データ変換部304で使
う幾つかの鍵(拡大鍵)を生成する。拡大鍵は、共通鍵
が変更されなければ変化せず、平文や暗号文に依存しな
い。そのため、鍵生成部303をあらかじめ一度実行し
て拡大鍵を生成記憶し、暗号化/復号化では記憶した拡
大鍵を使い、鍵生成部303を動作させない場合もあ
る。データ変換部304は、入力部302から出力され
た初期置換後の平文と鍵生成部303で生成された鍵を
混ぜ合わせる基本操作を複数回繰り返し、結果のデータ
を出力する。このとき、換字を行う場合は、暗号プログ
ラム3に予め設定されている換字テーブル305をアク
セスして換字処理が実行される。データ変換部304で
複数回の基本操作が繰り返されて得られたデータは、出
力部306において逆初期置換などの処理が実行され、
最終的に得られた暗号文が呼出し元のプログラム等に返
却され、1つの平文の暗号化を終える(ステップ30
7)。復号処理は、暗号化の逆となり、ほぼ同様の動作
となる。
読する方法が幾つか存在する。古典的な解読方法は、鍵
の全数探索法と呼ばれるもので、鍵の値として取りうる
全ての値を用いて既知の平文の暗号化を試み、既知の暗
号文と一致するかどうかを調べるものである。しかし、
この方法は鍵長が長くなると調べるべき鍵の候補数が膨
大となり、現実的でなくなる。このため、調べるべき鍵
の候補数を現実的な範囲に押え込む解読方法として、差
分解読法や線形解読法が提案されている。更に近年にお
いては、主に公開鍵暗号を対象としたタイミングアタッ
クと呼ばれる方法が提案され(後述する非特許文献1参
照)、更にタイミングアタックに対する防御技術が提案
されている(後述する特許文献1参照)。
ックは、公開鍵暗号の基本演算である冪乗剰余演算の演
算時間の差違に基づいて秘密鍵の候補を絞り込むもので
あり、このため特許文献1では、冪乗剰余演算毎に伝搬
遅延によるクリティカルパスの遅延時間を変化させるこ
とで、公開鍵暗号に対するタイミングアタックを防御し
ている。
ming Attacks on Implement
ations of Diffie−Hellman,
RSA,DSS,and Other System
s,AdvancesmCryptology:Pro
ceedings of Crypto 96,Ple
num Press,1995,pp104−113
ブルを用いて暗号化を行う図10に示したような暗号装
置の安全性を研究する過程で、新たな暗号解読法を見出
した。以下、この新たな暗号解読法をキャッシュ攻撃型
暗号解読法と呼び、その解読方法について説明する。
0の排他的論理和で換字テーブルSを引いた出力値と、
平文P1と鍵k1の排他的論理和で同じ換字テーブルS
を引いた出力値とを暗号文とする暗号器を考えてみる。
そして、双方で換字テーブルSのそれぞれ異なるエント
リを引いたものとする。このとき、次式が成り立つ。 P0○k0≠P1○k1 P0○P1≠k0○k1=Δk …(1) ここで、記号○は排他的論理和を示し、鍵k0、k1の
ビット数はnである。また、Δkを鍵差分と呼ぶ。
般にnテーブルモデルへ拡張することができ、次式が導
き出せる。 ここで、i、j=1〜nである。
で換字テーブルSをn回引く場面がある場合に、全ての
場面で換字テーブルSの異なるエントリを引くこととな
る任意の2つの平文Piと平文Pjの排他的論理和は鍵
差分Δkijに一致せず、且つ、任意の2つの鍵はその
鍵差分がΔkijとなる関係にあることを意味する。こ
のような鍵差分Δkijが求まれば、鍵探索の範囲は2
2Nから2Nに狭まる。例えば、図11においてk0〇k
1=ΔkのNビットが求まれば、k0のNビットを全数
探査すればk1=k0〇Δkで他方のNビットのk1が
計算できるからである。これにより、k0とk1の2N
ビットの全数探査が、k0のみのNビットの全数探査で
済むようになる。
て求めることができる。先ず、図12(a)に示すよう
に、鍵差分Δkijの取りうる全ての値毎に初期値とし
て値0のカウンタを設定したテーブルを用意する。次
に、暗号過程の全場面で換字テーブルSの異なるエント
リを引く多数の平文の集合から任意のペアを抽出し、そ
のペアの排他的論理和の値と一致する鍵差分Δkijに
対応するカウンタを+1する処理を、全てのペアについ
て繰り返す。この結果、カウンタの値は図12(b)に
示すように更新されていき、初期値0のまま或いは極め
て小さな値(この値は式(2)の成立確率に依存する)
になっているカウンタに対応する鍵差分Δkijの値が
求める鍵差分となる。
テーブルSをn回引く場面がある場合に、全ての場面
(もしくは、かなり多くの場面)で換字テーブルSの異
なるエントリを引くこととなる任意の平文の集合を求め
る方法について説明する。
備えるコンピュータで暗号プログラム3を実行すると、
CPU1の処理速度が一定で、他のプログラムが実行さ
れていない理想的な環境下でも、与える平文(または暗
号文)によって暗号化処理時間(または復号時間)が相
違する。その理由は、与える平文が異なれば、換字テー
ブル(S)305の使用するエントリが異なる場合があ
り、換字テーブル305アクセス時のキャッシュヒット
率が相違するからである。つまり、キャッシュミスヒッ
トが最も多くなる平文の暗号処理時間が最も長くなる。
キャッシュミスヒットが最も多くなる平文は、換字テー
ブルSを引く全場面(もしくは、かなり多くの場面)で
異なるエントリを引いている可能性があると推測され
る。
暗号アルゴリズムを用いて検証した。検証に使用した暗
号アルゴリズムは、1996年に三菱電気株式会社によ
って提案されたMISTY1という、64ビットのブロ
ック暗号(鍵長は128ビット)である。図13にMI
STY1のデータランダム化部の構成を示し、図14に
データランダム化部で使用されるFOi関数と、さらに
このFOi関数で使用されるFIij関数の構成を示
す。FOi関数は合計8個あり、1つのFOi関数の中
に3個のFIij関数があり、1つのFIij関数の中
で換字テーブルS9が2回使用され、換字テーブルS7
が1回使用されている。つまり、暗号化の過程で、換字
テーブルS9は、8×3×2=48回使用され、換字テ
ーブルS7は8×3×1=24回使用される。換字テー
ブルS9は入力が9ビットで、512のエントリ(サン
プルプログラムでは1エントリのサイズは32ビットで
記述されていた)を有し、換字テーブルS7は入力が7
ビットで、128のエントリ(サンプルプログラムでは
1エントリのサイズは8ビットで記述されていた)を有
する。
号化したときの暗号化時間の分布を示し、横軸は暗号化
時間、縦軸は平文数である。また、図16は、暗号化時
間と変換テーブルS9の動作エントリ数の関係を示し、
図17は、暗号化時間と変換テーブルS7の動作エント
リ数の関係を示す。ここで、動作エントリ数とは、変換
テーブルのエントリの内、幾つのエントリが暗号化処理
で使用されたかを示し、変換テーブルS9の最大値は4
8、変換テーブルS7の最大値は24である。図15お
よび図16から理解されるように、暗号処理時間が或る
しきい値T以上かかる平文は、換字テーブルS9を引く
殆どの場面で異なるエントリを引いており、毎回キャッ
シュミスヒットを起こしているために暗号処理時間が長
くなっている。これに対し、変換テーブルS7は、動作
エントリ数にかかわらず暗号処理時間はほぼ一定であ
る。変換テーブルS9とS7とでこのような差違が生じ
る理由は、変換テーブルS7は128エントリと小型の
テーブルであるため、何回かミスヒットするとキャッシ
ュ4にテーブルの大部分のエントリがロードされて、そ
の後ミスヒットが発生しなくなるのに対し、変換テーブ
ルS9は512エントリと大型のテーブルであるため、
そのような状況が発生しないためと考えられる。従っ
て、図11および図12で説明した原理による攻撃は、
換字テーブルS7に対しては余り効果がなく、換字テー
ブルS9が攻撃対象となる。
ほぼ48回引く可能性が高い平文の集合を抽出する処理
の一例を示す。先ず、MISTY1の暗号プログラムを
コンピュータのメモリにロードする(ステップ10
1)。次に、乱数によって平文を生成し(ステップ10
2)、コンピュータのキャッシュをクリアし(ステップ
103)、前記生成した平文を暗号化対象の平文に設定
して(ステップ104)、MISTY1による暗号化と
この暗号化の処理に要した時間の測定とを行う(ステッ
プ105)。次に、測定した暗号化時間が予め設定した
しきい値T以上であるかどうかを判定する(ステップ1
06)。ここで、しきい値Tは図15および図16のT
で示される暗号化時間を使用する。しきい値Tは、解読
が成立するのに必要充分な数の平文が得られるように設
定する。因みに、式(2)の成立確率が高いほど少ない
数の平文で足りる。そして、暗号化時間がしきい値T以
上であれば、今回の平文を保存し(ステップ107)、
ステップ102に戻って上述した処理を繰り返す。暗号
化時間がしきい値T以上でなければ、今回の平文を保存
せずにステップ102に戻って上述した処理を繰り返
す。このような処理の繰り返しによって、暗号過程で換
字テーブルS9をほぼ48回引く可能性が高い平文を充
分な数だけ抽出することができる。
12で示したような方法で鍵差分Δkを決定し、鍵の候
補を絞り込む。そして、最終的には、確定しなかった鍵
のビット部分について総当りによってビット値を確定す
ることにより、秘密鍵の全ビットを特定する。
ータに、換字テーブルを用いて暗号化処理を行う暗号プ
ログラムを実装した暗号装置では、キャッシュ攻撃型暗
号解読法により、暗号化時間から換字エントリの動作エ
ントリ数が推測され、鍵差分の決定によって鍵の候補数
が絞り込まれ、最終的には鍵の全ビットが解読されてし
まう危険性がある。キャッシュ攻撃型暗号解読法はタイ
ミングアタックの一種と考えられるが、冪乗剰余積演算
を使用しない共通鍵暗号に対して適用されるため、特許
文献1記載の技術では防御できない。このため、キャッ
シュ攻撃型暗号解読方法に頑健な暗号装置の開発が強く
望まれる。
たものであり、その目的は、キャッシュ攻撃型暗号解読
法に対する防御機能を備えた暗号装置を提供することに
ある。
明の暗号装置は、ビット列変換に使用する変換表を用い
て暗号処理または復号処理を行う暗号プログラムをキャ
ッシュ装備のコンピュータに実装した暗号装置におい
て、1つの平文または1つの暗号文の暗号処理または復
号処理における前記変換表に対するアクセス時のキャッ
シュミスヒット回数を、任意の平文または暗号文につい
てほぼ均一化する調整手段を備え、前記調整手段は、暗
号処理または復号処理で使用する複数の変換表をキャッ
シュにプリロードするプリロード手段を備え、前記プリ
ロード手段は、前記複数の変換表のうち攻撃対象とされ
る可能性の高いものとして設定された変換表を他の変換
表より後にプリロードするものであることを特徴とす
る。また、ビット列変換に使用する変換表を用いて暗号
処理または復号処理を行う暗号プログラムを、高い優先
度の付いたデータほどキャッシュから掃き出され難くす
ることができるキャッシュ装備のコンピュータに実装し
た暗号装置において、1つの平文または1つの暗号文の
暗号処理または復号処理における前記変換表に対するア
クセス時のキャッシュミスヒット回数を、任意の平文ま
たは暗号文についてほぼ均一化する調整手段を備え、前
記調整手段は、暗号処理または復号処理で使用する複数
の変換表をキャッシュにプリロードするプリロード手段
を備え、前記プリロード手段は、前記複数の変換表のう
ち攻撃対象とされる可能性の高いものとして設定された
変換表は高い優先度を設定してプリロードするものであ
ることを特徴とする。ここで、前記プリロード手段は、
1つの平文または1つの暗号文の暗号処理または復号処
理において同じ変換表を複数の時点でプリロードするも
のであっても良い。
ビット列変換に使用する変換表を用いて暗号処理または
復号処理を行う暗号プログラムをキャッシュ装備のコン
ピュータに実装した暗号装置において、1つの平文また
は1つの暗号文の暗号処理または復号処理における前記
変換表に対するアクセス時のキャッシュミスヒット回数
を、任意の平文または暗号文についてキャッシュミスヒ
ット回数が増加する方向に調整してほぼ均一化する調整
手段を備える。具体的には、以下の(1)乃至(5)に
記載される何れかの調整手段を備える。 (1) 変換表のエントリのうち暗号処理または復号処理
で実際に使用されたエントリを管理する使用エントリ管
理手段と、変換表のエントリのうち暗号処理または復号
処理で実際に使用されなかったエントリをアクセスする
不使用エントリロード手段とを備える調整手段。 (2) 変換表のエントリのうち暗号処理または復号処理
で実際に使用されたエントリを管理する使用エントリ管
理手段と、変換表の使用エントリの最大数と暗号処理ま
たは復号処理で実際に使用されたエントリ数の差分だけ
キャッシュミスヒットを発生させるキャッシュミスヒッ
ト発生手段とを備える調整手段。 (3) 暗号処理または復号処理で変換表のエントリにキ
ャッシュヒットした回数を管理する使用エントリ管理手
段と、前記キャッシュヒットした回数だけキャッシュミ
スヒットを発生させるキャッシュミスヒット発生手段と
を備える調整手段。 (4) 暗号処理または復号処理で変換表のエントリにキ
ャッシュヒットする毎にキャッシュミスヒットを発生さ
せる手段を備える調整手段。 (5) 1つの平文または1つの暗号文の暗号処理または
復号処理で参照される総回数がn回である同一内容の変
換表をn個備え、各参照毎にそれぞれ異なる変換表を参
照させる調整手段。ここで、前記(1)〜(5)の調整
手段は、暗号処理または復号処理で使用する複数の変換
表のうち攻撃対象とされる可能性の高いものとして設定
された変換表のみを調整対象として良い。また、攻撃対
象とされる可能性の高い変換表には、エントリ総数に対
する参照総エントリ数(動作エントリ数)の比である利
用率が小さな変換表を含むようにして良い。
ビット列変換に使用する変換表を用いて暗号処理または
復号処理を行う暗号プログラムをキャッシュ装備のコン
ピュータに実装した暗号装置において、1つの平文また
は1つの暗号文の実質的な暗号処理または復号処理に要
した時間を計測する計測手段と、計測された時間が予め
設定された時間より短い場合、予め設定された一定時間
または無作為に決定した時間だけ暗号処理または復号処
理に要する時間を常に或いは無作為に延長する延長手段
とを含む調整手段を備えたことを特徴とする。
置にあっては、1つの平文または1つの暗号文の暗号処
理または復号処理における換字テーブル等の変換表に対
するアクセス時のキャッシュミスヒット回数が、任意の
平文または暗号文についてほぼ均一化されるため、換字
テーブル等の変換表の動作エントリ数が少ない平文また
は暗号文も、反対に多い平文または暗号文も、その暗号
時間または復号時間がほぼ同じになり、キャッシュ型攻
撃暗号解読法の要である鍵差分を抽出する際に用いる平
文の抽出が困難となる。このため鍵差分を決定できず、
鍵の解読が困難となる。
っては、真に最大暗号時間を与える平文とそれ以外の平
文の一部とが同じ暗号時間および復号時間になり、キャ
ッシュ型攻撃暗号解読法の要である鍵差分を抽出する際
に用いる平文の抽出が困難となる。その結果、鍵差分を
決定できず、結果として鍵の解読が困難となる。
の第1の実施の形態にかかる暗号装置は、ハードウェア
としてCPU1とメモリ(主記憶)2とキャッシュ4と
を含んで構成されるコンピュータ上に暗号プログラム3
Aが実装されている。
線、アドレス線および制御線を含むプロセッサバス5に
よって接続され、キャッシュ4とメモリ2との間は、同
じくデータ線、アドレス線および制御線を含むメモリバ
ス6によって接続されている。キャッシュ4は、メモリ
2よりも高速アクセス可能な小容量のメモリであり、メ
モリ2の内容の一部の写しを保持する。CPU1がプロ
セッサバス5を通じて要求する命令やデータがキャッシ
ュ4に存在すれば、キャッシュヒットした命令やデータ
がキャッシュ4から直ちにCPU1に返却される。他
方、CPU1が要求する命令やデータがキャッシュ4に
存在しなければ、キャッシュ4はミスヒットした命令や
データを含む所定サイズのデータをメモリバス6を通じ
てメモリ2から読み出して自身に格納すると共にCPU
1に該当する命令やデータを返却する。前記所定サイズ
としては、例えば32バイト、128バイトが使用され
る。
AL暗号など、ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う共通鍵暗号を実現するプ
ログラムであり、通常は図示しない磁気ディスク等の補
助記憶装置に格納されており、使用時に図1に示すよう
にメモリ2にロードされて実行される。図1のメモリ2
のブロックの右に記載した構成図は、1つの平文を暗号
化する際の暗号プログラム3Aの処理の内容を示してい
る。ここで、プリロード部311が調整手段を構成す
る。
らの呼出しなどによって起動されると(ステップ30
1)、先ず、入力部302によって、平文の入力、初期
置換などの処理を行う。次いで、本実施の形態の特徴と
して、プリロード部311によって、ビット列変換に使
用する変換表である換字テーブル305をキャッシュ4
にプリロードする処理を行う(ステップ311)。この
プリロードは、例えば、換字テーブル305の全エント
リを一度リードする処理で可能である。このプリロード
処理時に発生するキャッシュミスヒット回数をC回とす
る。このキャッシュミスヒット回数Cは、任意の平文お
よび暗号文について等しい。
は、本実施の形態の場合、暗号処理または復号処理で使
用する全ての換字テーブルのうち、キャッシュ攻撃暗号
解読法で攻撃される可能性の高い換字テーブルである。
攻撃対象とされる可能性の高い換字テーブルは、当該暗
号プログラムのアルゴリズムに照らして事前に決定さ
れ、暗号プログラム3Aに設定されている。図13およ
び図14で説明したMISTY1の場合、変換テーブル
S9が設定される。一般的に、図16で示されるよう
に、暗号時間が長くなるのに応じて動作エントリ数が増
加する傾向を示す換字テーブルが攻撃対象とされる可能
性が高い。また、簡便な方法として、エントリ総数に対
する参照総エントリ数(動作エントリ数)の比である利
用率が小さい変換表を、攻撃対象とされる可能性の高い
換字テーブルとして決定する方法を用いることができ
る。
03による鍵生成処理、データ変換部304によるデー
タ変換処理を実行する。鍵生成部303では、暗号プロ
グラム3Aが使用する共通鍵を拡大し、データ変換部3
04で使う幾つかの鍵を生成する。データ変換部304
は、入力部302から出力された初期置換後の平文と鍵
生成部303で生成された鍵を混ぜ合わせる基本操作を
複数回繰り返し、暗号文を出力する。このとき、換字を
行う場合は、暗号プログラム3Aに予め設定されている
換字テーブル305をアクセスして換字処理が実行され
るが、換字テーブルのうちプリロード部311でキャッ
シュ4にプリロードされた換字テーブルのアクセス時に
はほぼ100%近くキャッシュヒットする。換言すれ
ば、攻撃対象となる可能性の高いものとして設定された
換字テーブルに対する、実質的な暗号処理におけるキャ
ッシュミスヒット回数はほぼ0に均一化される。
繰り返されて得られたデータは、出力部306において
逆初期置換などの処理が実行され、最終的に得られた暗
号文が呼出し元のプログラム等に返却され、1つの平文
の暗号化を終える(ステップ307)。
暗号化する際の動作であるが、一般に暗号処理と復号処
理の大部分は同じである。概略を説明すると、先ず、入
力部302によって、暗号文の入力、初期置換などの処
理を行い、次いで、プリロード部311によって、攻撃
される可能性の高い換字テーブル305をキャッシュ4
にプリロードし、鍵生成部303による鍵生成処理、デ
ータ変換部304によるデータ変換処理を実行する。鍵
生成部303では、暗号時と逆の順番で順次に鍵を生成
してデータ変換部304に供給し、データ変換部304
では、暗号時と逆の順番で基本操作を複数回繰り返し、
その結果を出力する。最後に出力部306において逆初
期置換などの処理が実行され、最終的に得られた平文が
呼出し元のプログラム等に返却され、1つの暗号文の復
号を終える(ステップ307)。
暗号解読法の攻撃対象とされる可能性の高い換字テーブ
ルについては、1つの平文または1つの暗号文の実質的
な暗号処理または復号処理におけるアクセス時のキャッ
シュミスヒット回数が、任意の平文または暗号文につい
てほぼ0に均一化される。また、その換字テーブルのプ
リロード時におけるキャッシュミスヒット回数は常に一
定回数Cとなる。従って、攻撃対象とされる可能性の高
い換字テーブルの動作エントリ数が少ない平文または暗
号文も、反対に多い平文または暗号文も、その暗号時間
または復号時間がほぼ同じになり、キャッシュ型攻撃暗
号解読法の要である鍵差分を抽出する際に用いる平文の
抽出が困難となる。そうなると、鍵差分を決定できず、
結果として鍵の解読が困難となる。
読法で攻撃される可能性の高い換字テーブルだけをプリ
ロードしたが、キャッシュ4の容量が許すなら、全ての
換字テーブルをプリロードする。この場合、真に残した
い換字テーブルがキャッシュのLRU等の掃き出しアル
ゴリズムで掃き出されてしまわないように、攻撃される
可能性の高い換字テーブルは他の換字テーブルより後に
プリロードする。また、キャッシュ4に保持されたデー
タに優先度を付けることができ、優先度の高いデータほ
ど掃き出され難くすることができるコンピュータでは、
攻撃される可能性の高い換字テーブルのデータに高い優
先度を設定してプリロードする。
5を参照する箇所が暗号プログラム3Aのデータ変換部
304内だけであるDES等の共通鍵暗号を対象とした
ので、換字テーブルのプリロード部311をデータ変換
部304の直前に設けたが、スタートのステップ301
の直後に設けるようにしても良い。こうすれば、入力部
302や、鍵生成部303においても換字テーブル30
5を参照するような共通鍵暗号に対しても適用可能であ
る。また、同じ換字テーブルのプリロードを複数の時
点、例えばスタートのステップ301の直後とデータ変
換部304の直前に設けるようにしても良い。更に、暗
号プログラム3Aが呼出される前に、換字テーブル30
5のプリロード処理を行うプログラムを別途設けること
も考えられる。
対象となる換字テーブルの全エントリがキャッシュ4に
プリロードされるようにしたが、例えば約半分程度のエ
ントリをプリロードしても、キャッシュミスヒット回数
を或る程度均一化できるため、必ずしも全エントリをプ
リロードする必要はない。
本発明の第2の実施の形態にかかる暗号装置は、図1の
第1の実施の形態にかかる暗号装置と比較して、暗号プ
ログラム3Bには、換字テーブル305のプリロード部
がなく、その代わりに、換字テーブル305のエントリ
のうち暗号処理または復号処理で実際に使用されたエン
トリを管理する使用エントリ管理部312と、換字テー
ブル305のエントリのうち暗号処理または復号処理で
実際に使用されなかったエントリをアクセスする不使用
エントリロード部313とを備えている。ここで、使用
エントリ管理部312と不使用エントリロード部313
とで調整手段を構成する。以下、第1の実施の形態の暗
号装置との相違点を中心に、本実施の形態の構成と動作
を説明する。
備わる管理テーブルの一例を示す。この管理テーブル
は、キャッシュ攻撃型暗号解読法によって攻撃される可
能性の高い換字テーブル毎に対応して設けられ、対応す
る換字テーブルと同数のエントリを持つ。管理テーブル
の各エントリは、暗号処理および復号処理の開始時点で
未使用を示す値にクリアされる。図2(b)では、×の
記号が未使用を示す。使用エントリ管理部312は、暗
号処理または復号処理の過程で、攻撃される可能性の高
い換字テーブルのエントリが参照される毎に、対応する
管理テーブルの対応するエントリを使用済みを示す値に
変更する。図2(b)では、○の記号が使用済みを示
す。つまり、○の記号が付けられたエントリに対応する
換字テーブルエントリは動作エントリであることが示さ
れる。
暗号処理または復号処理でもはや換字テーブル305が
参照されなくなった時点で、図2(b)の管理テーブル
を参照し、攻撃対象とされる可能性の高い換字テーブル
毎に、参照されなかったエントリの全てをロード(参
照、リード)する命令を実行する。
攻撃対象とされる可能性の高い換字テーブルとして、M
ISTY1の換字テーブルS9を考える。この換字テー
ブルS9のエントリ総数は512、1文の暗号化または
復号化で動作するエントリ数(最大動作エントリ数)は
48である。図18で説明したように攻撃者は、暗号プ
ログラム3Bの起動前に換字テーブルS9をクリアする
ため、1つの平文を暗号化する際の換字テーブルS9の
キャッシュミスヒット回数の最大値は48になる。ま
た、実際上は出現しないかも知れないが、1つの平文を
暗号化する際の換字テーブルS9のキャッシュミスヒッ
ト回数の最小数を1とする。
場合、動作エントリ数も48なので、不使用エントリロ
ード部313は、512−48=464エントリをリー
ドする。このときのキャッシュミスヒット回数は、既に
48エントリのキャッシュミスヒットにより換字エント
リS9の未だ参照されていない他の多くのエントリがキ
ャッシュ4に存在するため、「小さな数の或る回数」と
なる。他方、キャッシュミスヒット回数が最小の1の場
合、動作エントリ数も1なので、不使用エントリロード
部313は、512−1=511エントリをリードす
る。このときのキャッシュミスヒット回数は、未だ1エ
ントリのキャッシュミスしか起こしていないので換字エ
ントリS9の未だ参照されていない他の多くのエントリ
はキャッシュ4に存在しないため、「大きな数の或る回
数」となる。従って、最終的なキャッシュミスヒット回
数は、キャッシュミスヒット回数が最大の48の場合、
48+「小さな数の或る回数」となり、キャッシュミス
ヒット回数が最小の1の場合、1+「大きな数の或る回
数」となり、両者は均一化される傾向を示す。このた
め、第1の実施の形態と同様の理由で、キャッシュ攻撃
型暗号解読法に対する防御が可能になる。
読法で攻撃される可能性の高い換字テーブルについてだ
け不使用エントリ分のロードを実行したが、全ての換字
テーブルを対象にして同様のロードを実行しても良い。
の第3の実施の形態にかかる暗号装置は、図2(a)の
第2の実施の形態にかかる暗号装置と比較して、暗号プ
ログラム3Cに、不使用エントリロード部313の代わ
りに、換字テーブル305の使用エントリの最大数と暗
号処理または復号処理で実際に使用されたエントリ数の
差分である不足エントリ数だけキャッシュミスヒットを
発生させるキャッシュミスヒット発生部314を備えて
いる。ここで、使用エントリ管理部312とキャッシュ
ミスヒット発生部314とで調整手段を構成する。以
下、第2の実施の形態の暗号装置との相違点を中心に、
本実施の形態の構成と動作を説明する。
理部312は、図2(b)に示したような管理テーブル
によって、キャッシュ攻撃型暗号解読法によって攻撃さ
れる可能性の高い換字テーブル毎に、暗号処理または復
号処理で実際に使用されたエントリを管理している。キ
ャッシュミスヒット発生部314は、実際の暗号処理ま
たは復号処理でもはや換字テーブル305が参照されな
くなった時点で、図2(b)の管理テーブルを参照し、
攻撃対象とされる可能性の高い換字テーブル毎に、使用
エントリの最大数と使用されたエントリ数の差分である
不足エントリ数を算出する。そして、その不足エントリ
数の総数だけ、キャッシュミスヒットを発生させる処理
を実行する。この処理は、例えばメモリ2上に暗号化お
よび復号化で使わないデータ領域を設定しておき、キャ
ッシュ4に一度に読み込まれるデータサイズ以上の間隔
でリード要求を発行することで可能である。
攻撃対象とされる可能性の高い換字テーブルとして、M
ISTY1の換字テーブルS9を考える。この換字テー
ブルS9のエントリ総数は512、最大動作エントリ数
は48である。図18で説明したように攻撃者は、暗号
プログラム3Cの起動前に換字テーブルS9をクリアす
るため、1つの平文を暗号化する際の換字テーブルS9
のキャッシュミスヒット回数の最大値は48である。ま
た、最小数は第2の実施の形態と同様に1を想定する。
場合、動作エントリ数も48なので、キャッシュミスヒ
ット発生部314は、不足エントリ数として、48−4
8=0を算出する。従って、この場合はキャッシュミス
ヒットはもはや1回も発生させない。他方、キャッシュ
ミスヒット回数が最小の1の場合、動作エントリ数も1
なので、キャッシュミスヒット発生部314は、不足エ
ントリ数として、48−1=47を算出する。そして、
47回だけキャッシュミスヒットを発生させる。従っ
て、最終的なキャッシュミスヒット回数の総数は1+4
7=48となり、両者は均一化される。このため、第2
の実施の形態と同様の理由で、キャッシュ攻撃型暗号解
読法に対する防御が可能になる。
読法で攻撃される可能性の高い換字テーブルについてだ
け不足エントリ分のキャッシュミスヒットを発生させた
が、全ての換字テーブルを対象にして同様のキャッシュ
ミスヒットを発生させるようにしても良い。
本発明の第4の実施の形態にかかる暗号装置は、図2
(a)の第2の実施の形態にかかる暗号装置と比較し
て、暗号プログラム3Dに、使用エントリ管理部312
および不使用エントリロード部313の代わりに、暗号
処理または復号処理で換字テーブル305のエントリに
キャッシュヒットした回数を管理する使用エントリ管理
部315および前記キャッシュヒットした回数だけキャ
ッシュミスヒットを発生させるキャッシュミスヒット発
生部316とを備えている。ここで、使用エントリ管理
部315とキャッシュミスヒット発生部316とで調整
手段を構成する。以下、第2の実施の形態の暗号装置と
の相違点を中心に、本実施の形態の構成と動作を説明す
る。
備わる管理テーブルの一例を示す。この管理テーブル
は、キャッシュ攻撃型暗号解読法によって攻撃される可
能性の高い換字テーブル毎に対応して設けられ、対応す
る換字テーブルと同数のエントリを持つ。管理テーブル
の各エントリは、暗号処理および復号処理の開始時点で
0の値にクリアされる。使用エントリ管理部315は、
暗号処理または復号処理の過程で、攻撃される可能性の
高い換字テーブルのエントリが参照される毎に、対応す
る管理テーブルの対応するエントリの値を+1する。
際の暗号処理または復号処理でもはや換字テーブル30
5が参照されなくなった時点で、図4(b)の管理テー
ブルを参照し、攻撃対象とされる可能性の高い換字テー
ブル毎に、キャッシュヒットした回数の総数を求め、そ
の総数だけキャッシュミスヒットを発生させる。この処
理は、第3の実施の形態のキャッシュミスヒット発生部
314と同様に行える。
攻撃対象とされる可能性の高い換字テーブルとして、M
ISTY1の換字テーブルS9を考える。この換字テー
ブルS9のエントリ総数は512、最大動作エントリ数
は48である。図18で説明したように攻撃者は、暗号
プログラム3Dの起動前に換字テーブルS9をクリアす
るため、1つの平文を暗号化する際の換字テーブルS9
のキャッシュミスヒット回数の最大値は48である。ま
た、最小数は第2の実施の形態と同様に1を想定する。
場合、動作エントリ数も48なので、図4(b)の管理
テーブルのエントリの値は、何れか48個のエントリだ
けが値1を示し、他の全てのエントリは値0になる。キ
ャッシュミスヒット発生部316は、キャッシュヒット
回数の総数として、2以上の値を持つエントリ毎に、そ
のエントリの値から1を引いた値を計算し、その結果を
合計する。従って、今の場合は0になる。従って、キャ
ッシュミスヒット発生部316は1回もキャッシュミス
ヒットを発生させない。この結果、キャッシュミスヒッ
ト回数の総数は48となる。他方、キャッシュミスヒッ
ト回数が最小の1の場合、動作エントリ数も1なので、
図4(b)の管理テーブルのエントリの値は、何れか1
つのエントリの値が48になり、他の全てのエントリは
値0になる。従って、キャッシュミスヒット発生部31
4は、キャッシュヒット回数として、48−1=47を
求め、キャッシュミスヒットを47回発生させる。この
結果、最終的なキャッシュミスヒット回数の総数は1+
47=48となり、両者は均一化される。このため、第
2の実施の形態と同様の理由で、キャッシュ攻撃型暗号
解読法に対する防御が可能になる。
読法で攻撃される可能性の高い換字テーブルについてだ
けキャッシュヒット回数分のキャッシュミスヒットを発
生させたが、全ての換字テーブルを対象にして同様のキ
ャッシュミスヒットを発生させるようにしても良い。
トした回数分のキャッシュミスヒットをキャッシュミス
ヒット発生部316でまとめて発生したが、他の実施の
形態として、使用エントリ管理部315にキャッシュミ
スヒットを発生させる機能を持たせ、キャッシュヒット
が発生する毎に、つまり図4(b)の管理テーブルの或
るエントリの値を+1したときに2以上の値となる毎
に、1回だけキャッシュミスヒットを発生させるように
しても良い。
の第5の実施の形態にかかる暗号装置は、図10に示し
た従来の暗号装置と比較して、暗号プログラム3Eは、
換字テーブル305が1つの平文または1つの暗号文の
暗号処理または復号処理でn回参照される場合に、換字
テーブル305と同じ内容を持つn個の換字テーブル3
05−1〜305−nを備え、データ変換部304は、
1つの平文または1つの暗号文の暗号処理または復号処
理において換字テーブル305を参照する場合、各参照
毎にそれぞれ異なる換字テーブル305−1〜305−
nを参照するように構成される点で相違する。
文または1つの暗号文の暗号処理または復号処理におい
て、データ変換部304は、換字テーブル305を参照
する場合、各参照毎にそれぞれ異なる換字テーブル30
5−1〜305−nを参換するため、何回必ずキャッシ
ュミスヒットが発生する。このため、任意の平文または
暗号文について、換字テーブルに対するキャッシュミス
ヒット回数を均一化することができる。従って、キャッ
シュ攻撃型暗号解読法による攻撃を防御することができ
る。
えるようにする換字テーブルは、キャッシュ型攻撃暗号
解読法で攻撃される可能性の高い換字テーブルのみとす
る構成以外に、全ての換字テーブルを対象に複数備える
構成が考えられる。
の第6の実施の形態にかかる暗号装置の前提となる装置
は、図10の従来の暗号装置と比較して、暗号プログラ
ム3Fに、暗号処理および復号処理の開始時に内部のタ
イマTを起動するタイマ起動部321と、暗号処理およ
び復号処理の終了時にタイマTのタイマ値が予め設定さ
れた暗号処理または復号処理の最大時間Tmaxより短い
かどうかを判定する判定部322と、タイマTのタイマ
値が最大時間Tmaxより短い場合に、その差の時間「Tm
ax−T」だけ暗号処理または復号処理の時間を延長する
ためにウエイトを行うウエイト部323とを備えてい
る。ここで、タイマ起動部321と判定部322とウエ
イト部323とで調整手段を構成する。
図15に示したような暗号化時間分布における最大の暗
号化時間が用いられる。勿論、その最大の暗号化時間よ
り若干長い時間を設定しても良い。
は1つの暗号文の暗号処理または復号処理における暗号
処理時間および復号処理時間が、任意の平文または暗号
文についてほぼ均一化するため、図15の暗号化時間分
布が最大の暗号化時間の箇所に集中する。このため、キ
ャッシュ攻撃型暗号解読法による攻撃を防御することが
できる。
実施の形態にかかる暗号装置は、図6の前提装置と比較
して、暗号プログラム3Gに、ウエイト部323に代え
て、予め定められた一定時間Tcだけウエイトを行うウ
エイト部324を備えている。ここで、一定時間Tcと
しては、例えば、図15に示したような暗号化時間分布
における最大暗号時間の半分の時間を用いる。勿論、そ
れより若干長い時間、短い時間を設定しても良い。ここ
で、タイマ起動部321と判定部322とウエイト部3
24とで調整手段を構成する。
に示した暗号化時間分布の中央部分の山が最大の暗号時
間の箇所に移動し、真に最大暗号時間を与えた平文に混
合される。このため、キャッシュ型攻撃暗号解読法の要
である鍵差分を抽出する際に用いる平文の抽出が困難と
なる。その結果、鍵差分を決定できず、結果として鍵の
解読が困難となる。
の第7の実施の形態にかかる暗号装置は、図7の第6の
実施の形態の暗号装置と比較して、暗号プログラム3H
に、ウエイト部324に代えて、0か1の何れかの値を
とる乱数rを無作為に生成する乱数生成部325、生成
した乱数rが0か否かを判定する判定部326、乱数r
が0の場合に、ウエイト時間tを乱数によって生成する
ウエイト時間生成部327、生成されたウエイト時間t
だけウエイトを行うウエイト部328を備えている。こ
こで、タイマ起動部321と判定部322、326と、
乱数生成部325とウエイト時間生成部327とウエイ
ト部328とで調整手段を構成する。ウエイト時間生成
部327は、図15に示したような暗号化時間分布にお
けるほぼ最大暗号時間から時間0の範囲内で、ウエイト
時間tを無作為に生成する。
に示した暗号化時間分布の特性が不定なものとなり、真
に最大暗号時間を与えた平文とそれ以外の平文とが同じ
暗号時間帯に出現する。このため、キャッシュ型攻撃暗
号解読法の要である鍵差分を抽出する際に用いる平文の
抽出が困難となり、その結果、鍵差分を決定できず、結
果として鍵の解読が困難となる。
ャッシュ攻撃型暗号解読法という新たな暗号解読法によ
る攻撃によって秘密鍵を推測されることを防止すること
ができるという効果が得られる。
構成図である。
構成図である。
構成図である。
構成図である。
構成図である。
前提となる装置の構成図である。
構成図である。
構成図である。
ある。
の決定方法の説明図である。
示す図である。
れるFOi関数と、さらにこのFOi関数で使用される
FIij関数の構成を示す図である。
動作エントリ数と暗号化時間との関係を示す図である。
動作エントリ数と暗号化時間との関係を示す図である。
ほぼ参照される可能性の高い平文の集合を抽出する処理
例を示すフローチャートである。
Claims (22)
- 【請求項1】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてほ
ぼ均一化する調整手段を備え、前記調整手段は、暗号処
理または復号処理で使用する複数の変換表をキャッシュ
にプリロードするプリロード手段を備え、前記プリロー
ド手段は、前記複数の変換表のうち攻撃対象とされる可
能性の高いものとして設定された変換表を他の変換表よ
り後にプリロードするものであることを特徴とする暗号
装置。 - 【請求項2】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムを、高い
優先度の付いたデータほどキャッシュから掃き出され難
くすることができるキャッシュ装備のコンピュータに実
装した暗号装置において、1つの平文または1つの暗号
文の暗号処理または復号処理における前記変換表に対す
るアクセス時のキャッシュミスヒット回数を、任意の平
文または暗号文についてほぼ均一化する調整手段を備
え、前記調整手段は、暗号処理または復号処理で使用す
る複数の変換表をキャッシュにプリロードするプリロー
ド手段を備え、前記プリロード手段は、前記複数の変換
表のうち攻撃対象とされる可能性の高いものとして設定
された変換表は高い優先度を設定してプリロードするも
のであることを特徴とする暗号装置。 - 【請求項3】 前記プリロード手段は、1つの平文また
は1つの暗号文の暗号処理または復号処理において同じ
変換表を複数の時点でプリロードするものであることを
特徴とする請求項1または2記載の暗号装置。 - 【請求項4】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてキ
ャッシュミスヒット回数が増加する方向に調整してほぼ
均一化する調整手段を備え、前記調整手段は、変換表の
エントリのうち暗号処理または復号処理で実際に使用さ
れたエントリを管理する使用エントリ管理手段と、変換
表のエントリのうち暗号処理または復号処理で実際に使
用されなかったエントリをアクセスする不使用エントリ
ロード手段とを備えたことを特徴とする暗号装置。 - 【請求項5】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてキ
ャッシュミスヒット回数が増加する方向に調整してほぼ
均一化する調整手段を備え、前記調整手段は、変換表の
エントリのうち暗号処理または復号処理で実際に使用さ
れたエントリを管理する使用エントリ管理手段と、変換
表の使用エントリの最大数と暗号処理または復号処理で
実際に使用されたエントリ数の差分だけキャッシュミス
ヒットを発生させるキャッシュミスヒット発生手段とを
備えたことを特徴とする暗号装置。 - 【請求項6】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてキ
ャッシュミスヒット回数が増加する方向に調整してほぼ
均一化する調整手段を備え、前記調整手段は、暗号処理
または復号処理で変換表のエントリにキャッシュヒット
した回数を管理する使用エントリ管理手段と、前記キャ
ッシュヒットした回数だけキャッシュミスヒットを発生
させるキャッシュミスヒット発生手段とを備えたことを
特徴とする暗号装置。 - 【請求項7】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてキ
ャッシュミスヒット回数が増加する方向に調整してほぼ
均一化する調整手段を備え、前記調整手段は、暗号処理
または復号処理で変換表のエントリにキャッシュヒット
する毎にキャッシュミスヒットを発生させる手段を備え
たことを特徴とする暗号装置。 - 【請求項8】 ビット列変換に使用する変換表を用いて
暗号処理または復号処理を行う暗号プログラムをキャッ
シュ装備のコンピュータに実装した暗号装置において、
1つの平文または1つの暗号文の暗号処理または復号処
理における前記変換表に対するアクセス時のキャッシュ
ミスヒット回数を、任意の平文または暗号文についてキ
ャッシュミスヒット回数が増加する方向に調整してほぼ
均一化する調整手段を備え、前記調整手段は、1つの平
文または1つの暗号文の暗号処理または復号処理で参照
される総回数がn回である同一内容の変換表をn個備
え、各参照毎にそれぞれ異なる変換表を参照させるもの
であることを特徴とする暗号装置。 - 【請求項9】 前記調整手段は、暗号処理または復号処
理で使用する複数の変換表のうち攻撃対象とされる可能
性の高いものとして設定された変換表のみを調整対象と
することを特徴とする請求項4乃至8の何れか1項に記
載の暗号装置。 - 【請求項10】 攻撃対象とされる可能性の高い変換表
には、エントリ総数に対する参照総エントリ数の比であ
る利用率が小さな変換表を含むことを特徴とする請求項
9記載の暗号装置。 - 【請求項11】 ビット列変換に使用する変換表を用い
て暗号処理または復号処理を行う暗号プログラムをキャ
ッシュ装備のコンピュータに実装した暗号装置におい
て、1つの平文または1つの暗号文の実質的な暗号処理
または復号処理に要した時間を計測する計測手段と、計
測された時間が予め設定された時間より短い場合、予め
設定された一定時間または無作為に決定した時間だけ暗
号処理または復号処理に要する時間を常に或いは無作為
に延長する延長手段とを含む調整手段を備えたことを特
徴とする暗号装置。 - 【請求項12】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、暗号処理または復号処
理で使用する複数の変換表をキャッシュにプリロードす
る際に攻撃対象とされる可能性の高いものとして設定さ
れた変換表を他の変換表より後にプリロードするプリロ
ード手段を備え、1つの平文または1つの暗号文の暗号
処理または復号処理における前記攻撃対象とされる可能
性の高いものとして設定された変換表に対するアクセス
時のキャッシュミスヒット回数を、任意の平文または暗
号文についてほぼ均一化する調整手段を有する暗号装置
として機能させるための暗号プログラム。 - 【請求項13】 高い優先度の付いたデータほどキャッ
シュから掃き出され難くすることができるキャッシュ装
備のコンピュータを、ビット列変換に使用する変換表を
用いて暗号処理または復号処理を行う暗号装置であっ
て、暗号処理または復号処理で使用する複数の変換表を
キャッシュにプリロードする際に攻撃対象とされる可能
性の高いものとして設定された変換表は高い優先度を設
定してプリロードするプリロード手段を備え、1つの平
文または1つの暗号文の暗号処理または復号処理におけ
る前記攻撃対象とされる可能性の高いものとして設定さ
れた前記変換表に対するアクセス時のキャッシュミスヒ
ット回数を、任意の平文または暗号文についてほぼ均一
化する調整手段を有する暗号装置として機能させるため
の暗号プログラム。 - 【請求項14】 前記プリロード手段は、1つの平文ま
たは1つの暗号文の暗号処理または復号処理において同
じ変換表を複数の時点でプリロードするものであること
を特徴とする請求項12または13記載の暗号プログラ
ム。 - 【請求項15】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、変換表のエントリのう
ち暗号処理または復号処理で実際に使用されたエントリ
を管理する使用エントリ管理手段と、変換表のエントリ
のうち暗号処理または復号処理で実際に使用されなかっ
たエントリをアクセスする不使用エントリロード手段と
を含み、1つの平文または1つの暗号文の暗号処理また
は復号処理における前記変換表に対するアクセス時のキ
ャッシュミスヒット回数を、任意の平文または暗号文に
ついてキャッシュミスヒット回数が増加する方向に調整
してほぼ均一化する調整手段を有する暗号装置として機
能させるための暗号プログラム。 - 【請求項16】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、変換表のエントリのう
ち暗号処理または復号処理で実際に使用されたエントリ
を管理する使用エントリ管理手段と、変換表の使用エン
トリの最大数と暗号処理または復号処理で実際に使用さ
れたエントリ数の差分だけキャッシュミスヒットを発生
させるキャッシュミスヒット発生手段とを含み、1つの
平文または1つの暗号文の暗号処理または復号処理にお
ける前記変換表に対するアクセス時のキャッシュミスヒ
ット回数を、任意の平文または暗号文についてキャッシ
ュミスヒット回数が増加する方向に調整してほぼ均一化
する調整手段を有する暗号装置として機能させるための
暗号プログラム。 - 【請求項17】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、暗号処理または復号処
理で変換表のエントリにキャッシュヒットした回数を管
理する使用エントリ管理手段と、前記キャッシュヒット
した回数だけキャッシュミスヒットを発生させるキャッ
シュミスヒット発生手段とを含み、1つの平文または1
つの暗号文の暗号処理または復号処理における前記変換
表に対するアクセス時のキャッシュミスヒット回数を、
任意の平文または暗号文についてキャッシュミスヒット
回数が増加する方向に調整してほぼ均一化する調整手段
を有する暗号装置として機能させるための暗号プログラ
ム。 - 【請求項18】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、暗号処理または復号処
理で変換表のエントリにキャッシュヒットする毎にキャ
ッシュミスヒットを発生させる手段を含み、1つの平文
または1つの暗号文の暗号処理または復号処理における
前記変換表に対するアクセス時のキャッシュミスヒット
回数を、任意の平文または暗号文についてキャッシュミ
スヒット回数が増加する方向に調整してほぼ均一化する
調整手段を有する暗号装置として機能させるための暗号
プログラム。 - 【請求項19】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、1つの平文または1つ
の暗号文の暗号処理または復号処理で参照される総回数
がn回である同一内容の変換表をn個備え、各参照毎に
それぞれ異なる変換表を参照させることにより、1つの
平文または1つの暗号文の暗号処理または復号処理にお
ける前記変換表に対するアクセス時のキャッシュミスヒ
ット回数を、任意の平文または暗号文についてキャッシ
ュミスヒット回数が増加する方向に調整してほぼ均一化
する調整手段を有する暗号装置として機能させるための
暗号プログラム。 - 【請求項20】 前記調整手段は、暗号処理または復号
処理で使用する複数の変換表のうち攻撃対象とされる可
能性の高いものとして設定された変換表のみを調整対象
とすることを特徴とする請求項15乃至19の何れか1
項に記載の暗号プログラム。 - 【請求項21】 攻撃対象とされる可能性の高い変換表
には、エントリ総数に対する参照総エントリ数の比であ
る利用率が小さな変換表を含むことを特徴とする請求項
20記載の暗号プログラム。 - 【請求項22】 キャッシュ装備のコンピュータを、ビ
ット列変換に使用する変換表を用いて暗号処理または復
号処理を行う暗号装置であって、1つの平文または1つ
の暗号文の実質的な暗号処理または復号処理に要した時
間を計測する計測手段と、計測された時間が予め設定さ
れた時間より短い場合、予め設定された一定時間または
無作為に決定した時間だけ暗号処理または復号処理に要
する時間を常に或いは無作為に延長する延長手段とを含
む調整手段を有する暗号装置として機能させるための暗
号プログラム。
Priority Applications (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280469A JP3503638B1 (ja) | 2002-09-26 | 2002-09-26 | 暗号装置及び暗号プログラム |
CA002607116A CA2607116A1 (en) | 2002-09-26 | 2003-09-25 | Data encryption system and method |
CA002605376A CA2605376A1 (en) | 2002-09-26 | 2003-09-25 | Data encryption system and method |
CA002442456A CA2442456C (en) | 2002-09-26 | 2003-09-25 | Data encryption system and method |
US10/669,269 US7454016B2 (en) | 2002-09-26 | 2003-09-25 | Data encryption system and method |
CA002605648A CA2605648A1 (en) | 2002-09-26 | 2003-09-25 | Data encryption system and method |
SG200305740A SG115568A1 (en) | 2002-09-26 | 2003-09-26 | Data encryption system and method |
AU2003248442A AU2003248442C1 (en) | 2002-09-26 | 2003-09-26 | Data Encryption System and Method |
EP03021864.8A EP1404052B1 (en) | 2002-09-26 | 2003-09-26 | Data encryption system and method |
KR1020030067008A KR100571445B1 (ko) | 2002-09-26 | 2003-09-26 | 데이터 암호 시스템 및 방법 |
US12/189,847 US8306227B2 (en) | 2002-09-26 | 2008-08-12 | Data encryption system and method |
AU2009208116A AU2009208116A1 (en) | 2002-09-26 | 2009-08-12 | Data encryption system and method |
AU2009208117A AU2009208117A1 (en) | 2002-09-26 | 2009-08-12 | Data encryption system and method |
AU2009208124A AU2009208124A1 (en) | 2002-09-26 | 2009-08-12 | Data encryption system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280469A JP3503638B1 (ja) | 2002-09-26 | 2002-09-26 | 暗号装置及び暗号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3503638B1 true JP3503638B1 (ja) | 2004-03-08 |
JP2004120307A JP2004120307A (ja) | 2004-04-15 |
Family
ID=31973298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002280469A Expired - Lifetime JP3503638B1 (ja) | 2002-09-26 | 2002-09-26 | 暗号装置及び暗号プログラム |
Country Status (7)
Country | Link |
---|---|
US (2) | US7454016B2 (ja) |
EP (1) | EP1404052B1 (ja) |
JP (1) | JP3503638B1 (ja) |
KR (1) | KR100571445B1 (ja) |
AU (4) | AU2003248442C1 (ja) |
CA (1) | CA2442456C (ja) |
SG (1) | SG115568A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019124713A (ja) * | 2018-01-11 | 2019-07-25 | Necプラットフォームズ株式会社 | 暗号化装置、復号装置、回線暗号システム、暗号化方法およびプログラム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4701166B2 (ja) * | 2004-04-26 | 2011-06-15 | パナソニック株式会社 | 暗号又は復号を行うコンピュータシステム及びコンピュータプログラム |
EP1865481A1 (en) * | 2005-03-31 | 2007-12-12 | Matsushita Electric Industrial Co., Ltd. | Data encryption device and data encryption method |
JP4364166B2 (ja) | 2005-06-30 | 2009-11-11 | 株式会社東芝 | キャッシュ装置 |
US7610493B2 (en) * | 2005-08-31 | 2009-10-27 | Intel Corporation | System and methods for adapting to attacks on cryptographic processes on multiprocessor systems with shared cache |
JP2007122843A (ja) | 2005-10-31 | 2007-05-17 | Toshiba Corp | 情報再生装置及び方法 |
US20080052530A1 (en) * | 2006-02-16 | 2008-02-28 | International Business Machines Corporation | System and method to provide CPU smoothing of cryptographic function timings |
US8607350B2 (en) * | 2006-03-30 | 2013-12-10 | International Business Machines Corporation | Sovereign information sharing service |
US7681047B2 (en) | 2006-04-18 | 2010-03-16 | International Business Machines Corporation | Decryption of data in storage systems |
US8687800B2 (en) * | 2006-08-15 | 2014-04-01 | Alcatel Lucent | Encryption method for message authentication |
GB2448907B (en) * | 2007-05-02 | 2011-07-27 | Advanced Risc Mach Ltd | Reducng information leakage between processes sharing a cache |
US8738926B2 (en) | 2008-01-10 | 2014-05-27 | Intel Mobile Communications GmbH | Data processing system, method for executing a cryptographic algorithm and method for preparing execution of a cryptographic algorithm |
JP5056860B2 (ja) * | 2008-01-18 | 2012-10-24 | 富士通株式会社 | データ変換関数の処理装置 |
EP2237246B1 (en) * | 2008-01-18 | 2018-02-28 | Fujitsu Limited | Encrypting device, encrypting method and program |
US8654970B2 (en) * | 2009-03-31 | 2014-02-18 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US20100250965A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
JP5387295B2 (ja) * | 2009-09-29 | 2014-01-15 | 富士通株式会社 | 暗号装置及び方法 |
WO2014140698A1 (en) * | 2013-03-11 | 2014-09-18 | Indian Institute of Technology Kharagpur | Improved resistance to cache timing attacks on block cipher encryption |
GB2522217A (en) * | 2014-01-16 | 2015-07-22 | Parcelhome Ltd | Electronic lock apparatus, method and system |
CN104753684B (zh) * | 2015-04-15 | 2018-01-05 | 飞天诚信科技股份有限公司 | 一种实现数字签名和验签的方法 |
CN108933650B (zh) | 2018-06-28 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 数据加解密的方法及装置 |
EP3805916A1 (en) * | 2019-10-10 | 2021-04-14 | Thales Dis France Sa | Method for performing mutualized calculations of multiple cryptographic operations |
CZ202220A3 (cs) | 2022-01-17 | 2023-07-26 | Miroslav Tyrpa | Způsob kódování a dekódování textových a multimediálních zpráv a zařízení k uskutečnění tohoto způsobu |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01193665A (ja) * | 1988-01-28 | 1989-08-03 | Hitachi Electron Eng Co Ltd | 半導体テスター |
US5241635A (en) * | 1988-11-18 | 1993-08-31 | Massachusetts Institute Of Technology | Tagged token data processing system with operand matching in activation frames |
US4888741A (en) * | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
US5461674A (en) * | 1992-05-22 | 1995-10-24 | Zenith Electronics Corp. | Method and apparatus for controlling playback of recorded HDTV signals |
US5493667A (en) * | 1993-02-09 | 1996-02-20 | Intel Corporation | Apparatus and method for an instruction cache locking scheme |
US5752031A (en) * | 1995-04-24 | 1998-05-12 | Microsoft Corporation | Queue object for controlling concurrency in a computer system |
JPH10222065A (ja) | 1997-02-03 | 1998-08-21 | Nippon Telegr & Teleph Corp <Ntt> | 冪乗剰余演算方法及び装置 |
US6138209A (en) * | 1997-09-05 | 2000-10-24 | International Business Machines Corporation | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof |
US20020059481A1 (en) * | 1998-12-30 | 2002-05-16 | Patrick O. Nunally | Method and apparatus for a multimedia application specific processor |
KR100308211B1 (ko) * | 1999-03-27 | 2001-10-29 | 윤종용 | 압축 명령을 갖는 마이크로 컴퓨터 시스템 |
JP2000305453A (ja) * | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
US6788811B1 (en) * | 1999-05-10 | 2004-09-07 | Ricoh Company, Ltd. | Coding apparatus, decoding apparatus, coding method, decoding method, amd computer-readable recording medium for executing the methods |
WO2001052069A2 (de) | 2000-01-11 | 2001-07-19 | Infineon Technologies Ag | Speicherzugriffsverfahren und schaltungsanordung |
DK1193665T3 (da) * | 2000-03-09 | 2012-04-02 | Mitsubishi Electric Corp | Blokkrypteringsindretning, som anvender hjælpekonvertering |
US6725329B1 (en) * | 2000-04-19 | 2004-04-20 | Western Digital Technologies, Inc. | Cache control system and method having hardware-based tag record allocation |
US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US6772348B1 (en) * | 2000-04-27 | 2004-08-03 | Microsoft Corporation | Method and system for retrieving security information for secured transmission of network communication streams |
JP3724399B2 (ja) * | 2001-01-23 | 2005-12-07 | 株式会社日立製作所 | 疑似乱数生成装置またはそれを用いた暗号復号処理装置 |
US6996725B2 (en) * | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
US6671196B2 (en) * | 2002-02-28 | 2003-12-30 | Sun Microsystems, Inc. | Register stack in cache memory |
US6795897B2 (en) * | 2002-05-15 | 2004-09-21 | International Business Machines Corporation | Selective memory controller access path for directory caching |
US6970999B2 (en) * | 2002-07-31 | 2005-11-29 | International Business Machines Corporation | Counting latencies of an instruction table flush, refill and instruction execution using a plurality of assigned counters |
-
2002
- 2002-09-26 JP JP2002280469A patent/JP3503638B1/ja not_active Expired - Lifetime
-
2003
- 2003-09-25 US US10/669,269 patent/US7454016B2/en active Active
- 2003-09-25 CA CA002442456A patent/CA2442456C/en not_active Expired - Fee Related
- 2003-09-26 SG SG200305740A patent/SG115568A1/en unknown
- 2003-09-26 EP EP03021864.8A patent/EP1404052B1/en not_active Expired - Lifetime
- 2003-09-26 KR KR1020030067008A patent/KR100571445B1/ko not_active IP Right Cessation
- 2003-09-26 AU AU2003248442A patent/AU2003248442C1/en not_active Ceased
-
2008
- 2008-08-12 US US12/189,847 patent/US8306227B2/en active Active
-
2009
- 2009-08-12 AU AU2009208116A patent/AU2009208116A1/en not_active Abandoned
- 2009-08-12 AU AU2009208124A patent/AU2009208124A1/en not_active Abandoned
- 2009-08-12 AU AU2009208117A patent/AU2009208117A1/en not_active Abandoned
Non-Patent Citations (3)
Title |
---|
D.Page,Theoretical Use of Cache Memory as a Cryptanalytic Side−Channel,Technical Report CSTR−02−003,Department of Computer Science, University of Bri,URL,http://www.cs.bris.ac.uk/Tools/Reports/Abstracts/2002−page.html |
暗号とネットワークセキュリティ 理論と実際,株式会社ピアソン・エデュケーション,2001年 9月25日,p.210−211 |
暗号最新事情11 新しい暗号攻撃法,bit,Vol.28 No.11,p.62−66,2.4 タイミングアタックの回避法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019124713A (ja) * | 2018-01-11 | 2019-07-25 | Necプラットフォームズ株式会社 | 暗号化装置、復号装置、回線暗号システム、暗号化方法およびプログラム |
JP7063628B2 (ja) | 2018-01-11 | 2022-05-09 | Necプラットフォームズ株式会社 | 暗号化装置、暗号化方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20040062391A1 (en) | 2004-04-01 |
KR20040027461A (ko) | 2004-04-01 |
CA2442456C (en) | 2009-01-20 |
JP2004120307A (ja) | 2004-04-15 |
US7454016B2 (en) | 2008-11-18 |
AU2003248442C1 (en) | 2010-01-07 |
KR100571445B1 (ko) | 2006-04-17 |
AU2009208116A1 (en) | 2009-09-03 |
EP1404052A2 (en) | 2004-03-31 |
EP1404052B1 (en) | 2018-09-12 |
US20090016536A1 (en) | 2009-01-15 |
AU2003248442A1 (en) | 2004-04-22 |
AU2009208124A1 (en) | 2009-09-03 |
CA2442456A1 (en) | 2004-03-26 |
AU2003248442B2 (en) | 2009-05-14 |
SG115568A1 (en) | 2005-10-28 |
AU2009208117A1 (en) | 2009-09-03 |
EP1404052A3 (en) | 2005-01-26 |
US8306227B2 (en) | 2012-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3503638B1 (ja) | 暗号装置及び暗号プログラム | |
Shi et al. | High efficiency counter mode security architecture via prediction and precomputation | |
Provos | Encrypting virtual memory | |
Mathur et al. | AES based text encryption using 12 rounds with dynamic key selection | |
Krawczyk et al. | HMAC: Keyed-hashing for message authentication | |
Bonneau et al. | Cache-collision timing attacks against AES | |
Kong et al. | Deconstructing new cache designs for thwarting software cache-based side channel attacks | |
Krawczyk et al. | RFC2104: HMAC: Keyed-hashing for message authentication | |
US9276913B2 (en) | Transmission/reception system, transmission device, reception device, authentication device, user equipment, method executed using these, and program | |
KR20180110550A (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
JPWO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
JP2010166402A (ja) | 暗号処理装置及び暗号処理方法及び暗号処理プログラム | |
Banescu | Cache timing attacks | |
O’Hanlon et al. | Investigation of cache timing attacks on AES | |
Agrawal et al. | A new and more authentic cryptographic based approach for securing short message | |
Moon et al. | Mapping character position based cryptographic algorithm with numerical conversions | |
Prasad et al. | An enhanced ENCIPHER to encrypt large text & image using basic arithmetic and logic operation with substitution-transposition | |
Hu et al. | A fast real-time memory authentication protocol | |
Huang et al. | Cache-collision side-channel analysis and attacks against AES-GCM | |
JP3526504B2 (ja) | 乱数生成器 | |
Atici et al. | Remote cache-timing attack without learning phase | |
MANAA et al. | A PROACTIVE DATA SECURITY SCHEME OF FILES USING MINHASH TECHNIQUE | |
Liu | Design of WEB Communication Security System: Based on Digital Signature | |
Anbazhagan et al. | ENHANCED PRIVACY PRESERVING USING MULTILEVEL ENCRYPTION TECHNIQUE | |
Okunade et al. | Hybrid Encryption System with Initialization Vector for Secure Data Transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3503638 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081219 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |