JP3875495B2 - 暗号設計装置、暗号設計プログラム、および記録媒体 - Google Patents
暗号設計装置、暗号設計プログラム、および記録媒体 Download PDFInfo
- Publication number
- JP3875495B2 JP3875495B2 JP2001018016A JP2001018016A JP3875495B2 JP 3875495 B2 JP3875495 B2 JP 3875495B2 JP 2001018016 A JP2001018016 A JP 2001018016A JP 2001018016 A JP2001018016 A JP 2001018016A JP 3875495 B2 JP3875495 B2 JP 3875495B2
- Authority
- JP
- Japan
- Prior art keywords
- box
- input
- inputs
- outputs
- output
- 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 - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、計算機に最適な入出力数のS−boxを持つ暗号化装置を設計する暗号設計装置、暗号設計プログラム、および記録媒体に関するものである。
【0002】
【従来の技術】
高度情報化社会において高速かつ安全な通信を実現するためには共通鍵ブロック暗号が欠かせない道具であり、通常ユーザが意識することなく、日常的に用いられている。一口に共通鍵暗号と言っても、さまざまな共通鍵暗号アルゴリズムが提案されている。その共通鍵ブロック暗号の多くは、Feistel構造とよばれる単純な繰り返し構造であり、更にその内部構造であるF関数とよばれる部分では、通常S−boxと言われる入力ビット数の少ない非線形関数を並べて用い、更にその出力を組み合わせたものを線形関数を用いて拡散させるという方法が最も主流として用いられている。このF関数の内部構造は、一般にSPN(Substitution Permutation Network)構造と呼ばれている。暗号の安全性の核となるのはS−boxであるため、S−boxの設計は簡単ではない。また、多くの種類のS−boxを用いる場合にはそれだけ多くの記憶容量が必要となる。そのため開発コスト、必要メモリ量を抑え、あるいは構造を見やすくするために、これまでのS−boxとしては全く同じものを繰り返し用いるか、あるいは入力サイズ、および出力サイズがそれぞれ等しいS−boxを使い回して使うことが多かった。
【0003】
【発明が解決しようとする課題】
共通鍵暗号の入力ビット数は通常64ビット、あるいは128ビットであるため、重複なく均等なサイズのS−boxを用いる場合には4ビット入力、あるいは8ビット入力といった2nビット入力のS−boxしか考えられなかった。
【0004】
S−boxは暗号装置において、最も頻繁に参照されるため、暗号化速度に最も影響を与えやすく、そのためにS−boxを表す表全体が、計算機の持つ最も高速に参照可能な記憶装置(通常は1次キャッシュメモリ)内に収まるように設計することが望まれる。一方、S−boxの入力ビット数に応じてそのテーブルサイズは指数関数的に大きくなるため現実的に用いられることができるテーブルの大きさには上限がある。もし、記憶装置の容量を越えたテーブルを参照しなければならない場合、アクセス速度は数倍以上遅くなってしまう。暗号設計においては、こうした理由から実装上不利な状況を避けるために、2n入力のS−boxの選択肢は、現実的には4ビットかあるいは8ビット入力しかとりえなかった。
【0005】
一方、最近の計算機が持つメモリ容量も年々増加する傾向にある。これらの状況から16ビット入力のS−boxを利用するのは、まだ時期尚早であるものの、8ビット入力のS−boxでは計算機のメモリ資源を十分に生かしているとは言えないという問題もあった。
【0006】
即ち、小さな入力ビット数を持つS−boxでは、ほぼ全ての計算機に対して、高速アクセス可能なメモリ内に収めることが可能であるが、分割したS−boxの総数が増えることが避けられず、メモリ内に記憶されたテーブルを参照する回数が増え、実行速度が低下するという問題があった。
【0007】
また、大きな入力ビット数を持つS−boxを使えば、S−boxの総数を減らすことができ、テーブル参照の回数を減らすことができるが、テーブル全体の大きさが大きくなるために、記憶装置に保持できないか、あるいは参照速度が低速な記憶装置にしか保持することができない。従って、1回のテーブル参照にかかる時間そのものが低下し、結果として全体の実行速度が低下するという問題があった。
【0008】
本発明は、これらの問題を解決するため、計算機毎の一次キャッシュメモリ量および全体の入出力ビット数をもとにS−boxの入出力数を最適化し、計算機毎に最適な高速な暗号化/復号化を実現することを目的としている。
【0009】
【課題を解決するための手段】
図1を参照して課題を解決するための手段を説明する。
図1において、入力手段2は、パラメータ(計算機の一次キャッシュメモリ量、全体の入出力数、S−boxの最小の入出力数など)を入力するものである。
【0010】
S−boxの最適化手段3は、S−boxの入出力数の最適化を行うものである。
次に、動作を説明する。
【0011】
入力手段2が計算機の一次キャッシュメモリ量、および全体の入出力ビット数を入力し、S−boxの最適化手段3が入力された全体の入出力ビット数を分割してS−boxの入出力数を生成し、余りがでたときに任意のS−boxの入出力数に割り当ててS−boxの入出力数を仮決定し、仮決定したS−boxの入出力数を組み合わせて、入力された一次キャッシュサイズを越えない範囲で当該組み合わせを行うようにしている。
【0012】
この際、分割して算出したS−boxの入出力数の最小値を予め指定するようにしている。
また、全体の入出力ビット数および一次キャッシュサイズできまる終了値をもとに、組み合わせを終了させるようにしている。
【0013】
また、余りがでたときに可及的に離れた位置のS−boxの入出力数に割り当てるようにしている。
従って、計算機毎の一次キャッシュメモリ量および全体の入出力ビット数をもとにS−boxの入出力数を最適化することにより、計算機毎に最適な高速な暗号化/復号化を行う装置を実現することが可能となる。
【0014】
【発明の実施の形態】
次に、図1から図11を用いて本発明の実施の形態および動作を順次詳細に説明する。
【0015】
図1は、本発明のシステム構成図を示す。
図1において、処理装置1は、図示外の記録媒体から読み出したプログラムを主記憶にローディングして起動し、以下に説明する各種処理を行うものであって、入力手段2、S−boxの最適化手段3、S−boxの生成手段4、F関数の生成手段5などから構成されるものである。
【0016】
入力手段2は、パラメータ(計算機の一次キャッシュメモリ量、全体の入出力数、S−boxの最小の入出力数など)などを入力するものである。
S−boxの最適化手段3は、S−boxの入出力数の最適化を行うものである(図2、図3、図7などを用いて後述)。
【0017】
S−boxの生成手段4は、最適化されたS−boxの入出力数に従ったS−boxを生成するものである(図2、図4、図7から図9などを用いて後述する)。
【0018】
F関数の生成手段5は、F関数を生成するものである(図2、図5、図7、図11などを用いて後述する)。
入力ファイル6は、計算機の一次キャッシュメモリ量などを格納した計算機パラメータファイル、S−boxに関する各種データを格納したS−boxのパラメータファイルなどである。
【0019】
出力ファイル7は、S−box(設計/実装)の出力ファイル、F関数(設計/実装)の出力ファイル、フェイステル構造データ(設計/実装)の出力ファイルなどである。
【0020】
表示装置8は、画面などを表示するものである。
入出力装置9は、各種入出力装置であって、プリンタ、ディスク装置などである。
【0021】
次に、図2のフローチャートの順番に従い図1の構成の動作を説明する。
図2は、本発明の全体動作説明フローチャートを示す。
図2において、S1は、計算機のパラメータの入力を行う。ここでは、計算機のパラメータとして図示の下記を入力する。
【0022】
・一次キャッシュメモリ量:
▲1▼PentiumII:16キロバイト
▲2▼PA−RISC:1メガバイト
S2は、S−boxおよび入出力全体のパラメータを入力する。例えば図示の下記を入力する。
【0023】
・S−boxの入出力数:5ビット以上
・全体の入出力数:32ビット
S3は、S−boxの最適化を行う。これは、第1に、S2で指定されたS−boxの入出力数の最小値例えば5ビットで全体の入出力数32ビットを分割して6個の5ビット
5 5 5 5 5 5
と、余り2ビットとし、この余り2ビットを可及的に離れた位置、例えば左端と右端に割り当てて、
6 5 5 5 5 6
とする。
【0024】
第2に、2つづつを組にして
11 10 11
と3つに合成し、合成した後の組み合わせ数(ここでは3つ)が、後述する図3で説明するa=((入出力ビット数)/(log2(キャッシュサイズ))の整数部分)+1=((32)/(log2(16000))の整数部分)+1=3となり、等しいので合成の最適化を終了する(S1の▲1▼の一次キャッシュメモリ量が16キロバイトの場合)。一方、S1の▲2▼の一次キャッシュメモリ量が1メガバイトの場合には、a=2となり、S3の右側の▲3▼に示すように、3つづつを組にして合成し、
16 16
の2組とし、a=2と等しいので最適化を終了する(S1の▲2▼の一次キャッシュメモリが1メガバイトの場合)。
【0025】
S4は、S−boxの生成を行う。これは、S3で最適化した後のS−boxの入出力数をもとにS−boxを生成する(図4を用いて後述する)。
S5は、F関数の生成を行う。これは、S4で生成したS−boxをもとに後述する図5で説明するようにしてF関数(F関数に関する秘密鍵、F関数入出力ビット数と等しいビット数を持つ鍵など)を作成する。
【0026】
S6は、暗号の生成を行う。
以上によって、計算機などのパラメータ(一次キャッシュメモリ量、全体の入出力ビット数)を入力すると、自動的にS−boxの入出力ビット数の最適化を行い、S−boxの生成、F関数の生成、および暗号の生成を行うことが可能となる。
【0027】
図3は、本発明の最適化手順フローチャートを示す。
図3において、S11は、5ビットを32を越えないだけ並べる。これは、既述した図2のS2で入力したパラメータ(S−boxの入出力数5ビット以上)から最小値を5ビットとし、当該S−boxの入出力数の最小値5ビットで全体の入出力数32ビットを分割して当該32ビットを越えない分だけ並べる。ここでは、5ビットを6つ下記のように並べる(余りは2である)。
【0028】
5 5 5 5 5 5
S12は、余りを任意の場所に割り当てる。これは、S11で並べた余り(ここでは、2)を任意の場所、ここでは、できるだけ離れた場所である、左端と右端にそれぞれ1を割り当てて下記のようにする。
【0029】
6 5 5 5 5 6
S13は、キャッシュサイズを越えない範囲の組み合わせを求める。これは、S12で並べたS−boxの各入出力数を例えば左端から2つづつ組(あるいは3つづつ組)に、下記のようにする。
【0030】
11 10 11(2つづつ組の場合)
16 16 (3つづつ組の場合)
S14は、a=((全体の入出力ビット数)/(log2(キャッシュサイズ))の整数部分)+1を求める。例えば
として求める。
【0031】
S15は、S13で組み合わせた後の組み合わせ数bとS14で求めたa(組み合わせ数の終了値)とを比較する。b=aの場合(S13の組み合わせ数bが終了値a(例えば3)に等しくなった場合)にはS16に進み、最適化終了する。一方、b>aの場合には、S11に戻り組み合わせを繰り返す。
【0032】
以上によって、パラメータで指定された最小のS−boxの入出力数(例えば5ビット)で全体の入出力数(例えば32ビット)を分割して並べ、余りがでたときは可及的に離れた位置に割り当てて仮のS−boxの入出力数の組み合わせを作成し、組み合わせ数bが全体の入出力ビット数およびキャッシュサイズから求めた終値aに等しくなるまで組み合わせを繰り返し、最適化を行う。これにより、一次キャッシュメモリに収まる範囲内でS−boxの組み合わせ数を最小にして参照回数を削減し、計算機毎に個別に最適化を実現することが可能となる。
【0033】
図4は、本発明のS−boxの生成フローチャートを示す。
図4において、S21は、最適化後の割りあて数を抽出する。例えば図2のS3の▲1▼の最適化の場合には、6,5を抽出する。
【0034】
S22は、各々の割りあて数に対応する入出力ビット数を持つ非線形型テーブルを作成する。例えば右側に示すように、入力数5ビットをアドレスとし、出力が5ビットの非線形のテーブルを作成する。同様に、6ビットなどの非線形テーブルを作成する。
【0035】
以上によって、最適化後のS−boxの組み合わせ数に対応する非線形テーブルを作成できたこととなる。
図5は、本発明のF関数例(設計時)を示す。F関数として、図示のように、図4で作成したS−box(非線形テーブル)を図中のSのように並べて接続し、上部の全体の入出力数(例えば32ビット)にXOR(排他論理和)回路を入れて鍵(例えば32ビット)との排他論理和演算を行った後の32ビットをそれぞれ各S−boxに図示のように分割して接続する。各S−boxからの出力ビットをまとめてここでは32ビットにし、更に、L(線形変換回路)を通して32ビットを出力する。
【0036】
以上の構成により、計算機毎に最適化した入出力数を持つS−boxを用いたF関数を生成(設計)することが可能となる。
図6は、本発明のFeistel構造データ例を示す。これは、既述した図5で生成(設計)したF関数を用いて生成したFeistel構造データをイメージ的に示す。上部から平文(あるいは暗号文)が入力され、矢印のように処理結果が順に流れて下方から暗号文(あるいは平文)が出力されるものであって、暗号化あるいは復号化する回路として動作するものである。この際、図示の構造中のF関数を構成するS−boxの参照が、各計算機毎の一次キャッシュメモリ上でアクセスできるように最適化されているので、当該計算機毎に固有の一次キャッシュメモリ量を最大限有効に活用して高速に暗号化あるいは復号化を実行することが可能となる。
【0037】
次に、図7から図11を用いて計算機に実装時に動的に最適化を行うときの動作を順次詳細に説明する。
図7は、本発明の動作説明フローチャート(実装時)を示す。
【0038】
図7において、S21は、計算機のパラメータの入力を行う。これは、本願発明が実装された計算機のパラメータとして下記を入力する(読み込む)。
・一次キャッシュメモリ量:
PentiumII:16キロバイト
S22は、S−boxの最適組の抽出を行う。これは、既述した設計時と同様に、例えば初回は、S−boxの入出力数の最小値である例えば5ビットで全体の入出力数例えば32ビットを分割して並べ、余りがある場合には可及的に離れた位置に割り当てて
6 5 5 5 5 6
のS−boxの入出力数の組み合わせを作る。2回目以降は、既述した図3の最適化手順フローチャートに従い2つづつ、あるいは3つづつを組み合わせたりなどして最適な組み合わせを作り、最適化されるまで繰り返す。
【0039】
S33は、S−boxの合成テーブルを作成する。これは、右側に示すように、S32で抽出したS−boxの入出力数の合成テーブル、例えば初回は6,5のS−boxの合成テーブルをそれぞれ作成し、2回目な6と5を組にした11ビットの合成テーブル(拡大S−box)などをそれぞれ作成することを繰り返す。
【0040】
S34は、終わりか判別する。YESの場合には、S35に進む。NOの場合には、S32に戻り、次の最適な組の抽出を行うなどを繰り返す。
S35は、各々拡大されたSーboxとL(線形変換回路)とを合成する。これにより、L(線形変換回路)が各々の拡大S−boxに取り込まれ、当該L(線形変換回路)の処理が不要となり、高速化を図ることが可能となる。
【0041】
S36は、残りの部分を実装する。例えば右側に記載したように、鍵加算部、入出力部などの残りの部分を実装する。
S37は、F関数の実装が終了したこととなる。
【0042】
以上によって、計算機への実装時に当該計算機からパラメータ(一次キャッシュメモリ量など)を取り込み、この一次キャッシュメモリ量と全体の入出力数をもとに最適なS−boxの入出力数を求めてF関数を自動生成することが可能となる。これにより、当該F関数を組み込んだ既述した図6のFeistel構造データを作成し、平文/暗号文を暗号化/復号化するときに当該計算機が持つ一次キャッシュメモリ上に配置したテーブルを必要最小限の参照回数にして高速化を図ることが可能となる。
【0043】
図8は、本発明のS−boxの抽出フローチャートを示す。
図8において、S41は、最適化されたS−boxの組を抽出する。例えば右側に示す下記のように最適化されたS−boxの入出力数の組を抽出する。
【0044】
6 5 5 5 5 6
S42は、キャッシュメモリ量に応じて組み合わせを抽出する。これは、S41で抽出したS−boxの入出力数の組を例えば左端から2つづつ、あるいは3つづつ組み合わせて新たな組を作成し、既述した図3のS14のaの終値と等しい組み合わせ数となるまで繰り返し、最適な組み合わせ数を持つS−boxの入出力数を決定する。例えば図示の下記のように決定(抽出)する。
【0045】
11 10 11
以上によって、計算機への実装時に当該計算機の一次キャッシュメモリ量に対応した最適なS−boxの入出力数を決定することが可能となる。
【0046】
図9は、本発明の合成テーブルの作成フローチャートを示す。
図9において、S51は、S−boxの組み合わせを入力する。これは、右側に記載したように、例えばS−boxの入出力数として6,5を入力する。
【0047】
S52は、S−boxの合成を行う。これは、S51で入力されたS−boxの合成を行い、右側に記載したように、既述した拡大S−boxを作成する。ここでは、例えば右側に示すように、入力数11ビットをアドレスとし、出力が11ビットの非線形のテーブルを作成する。
【0048】
以上によって、最適化後のS−boxの組み合わせ数に対応する合成テーブル(非線形テーブル)を作成できたこととなる。
図10は、本発明のS−boxとLの合成フローチャートを示す。
【0049】
図10において、S61は、拡大されたS−boxを入力する。
S62は、線形変換Lを入力する。
S63は、拡大S−boxの出力の、Lによる線形変換の結果を格納する。これは、例えば右側に示すように、拡大S−boxの出力を、線形変換Lで変換した後の結果を出力するように、右側のテーブルに格納し、当該線形変換Lの処理を拡大S−boxのテーブルに取り込む。
【0050】
以上によって、線形変換Lの処理が拡大S−boxに取り込まれ、暗号化/復号化時に当該線形変換Lの処理が不要となり、高速化を図ることが可能となる。図11は、本発明のF関数例(実装時)を示す。ここでは、図10で合成した後の拡大S−boxであるS11、S10、S11を図示のように配置および他の回路(XORなど)を配置することにより、F関数を生成することが可能となる。そして、当該生成したF関数をもとに既述した図6のFeistel構造データを作成し、平文を暗号化して暗号文を出力したり、暗号文を復号化して平文を出力したりすることが可能となる。この際、計算機が持つ一次キャッシュメモリ上にテーブルを配置して参照回数を最小限にして高速に暗号化/復号化の処理を実行することが可能となる。
【0051】
【発明の効果】
以上説明したように、本発明によれば、計算機毎の一次キャッシュメモリ量および全体の入出力ビット数をもとにS−boxの入出力数を最適化する構成を採用しているため、計算機毎に最適な高速な暗号化/復号化を行う装置を設計したり、実装したりすることが可能となる。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】本発明の全体動作説明フローチャートである。
【図3】本発明の最適化手順フローチャートである。
【図4】本発明のS−boxの生成フローチャートである。
【図5】本発明のF関数例(設計時)である。
【図6】本発明のFeistl構造データ例である。
【図7】本発明の動作説明フローチャート(実装時)である。
【図8】本発明のS−boxの抽出フローチャートである。
【図9】本発明の合成テーブルの作成フローチャートである。
【図10】本発明のS−boxとLの合成フローチャートである。
【図11】本発明のF関数例(実装時)である。
【符号の説明】
1:処理装置
2:入力手段
3:S−boxの最適化手段
4:S−boxの生成手段
5:F関数の生成手段
6:入力ファイル
7:出力ファイル
8:表示装置
9:入出力装置
Claims (3)
- 計算機に最適な入出力数のS−boxを複数個持つ暗号化装置を設計する暗号設計装置において、
計算機の1次キャッシュサイズ、暗号化装置に入出力がなされる全体の入出力数、およびS−boxの最小の入出力数を初期値として入力する手段と、
前記入力された全体の入出力数を前記初期値で分割して商および余りを算出し、前記初期値を前記商の数だけ並べた整数列を作成し、余りがでたときには前記整数列における項を該余りの数だけ選択してそれぞれに1つづつ加算し、得られた整数列をS−boxの入出力数として仮決定する手段と、
前記仮決定したS−boxの入出力数の整数列に含まれる複数の項を順次組みにして当該組にした項の値を加算して得られた整数列を新たなS−boxの入出力数とする処理を、当該新たなS−boxの入出力数となる整数列の項数bが前記入力された1次キャッシュサイズおよび前記全体の入出力数から求めた終値aに等しくなるまで繰り返す手段と
を備えたことを特徴とする暗号設計装置。 - 計算機を、
計算機の1次キャッシュサイズ、暗号化装置に入出力がなされる全体の入出力数、およびS−boxの最小の入出力数を初期値として入力する手段と、
前記入力された全体の入出力数を前記初期値で分割して商および余りを算出し、前記初期値を前記商の数だけ並べた整数列を作成し、余りがでたときには前記整数列における項を該余りの数だけ選択してそれぞれに1つづつ加算し、得られた整数列をS−boxの入出力数として仮決定する手段と、
前記仮決定したS−boxの入出力数の整数列に含まれる複数の項を順次組みにして当該組にした項の値を加算して得られた整数列を新たなS−boxの入出力数とする処理を、当該新たなS−boxの入出力数となる整数列の項数bが前記入力された1次キャッシュサイズおよび前記全体の入出力数から求めた終値aに等しくなるまで繰り返す手段と
して機能させるプログラムを記録したコンピュータ読取可能な記録媒体。 - 計算機を、
計算機の1次キャッシュサイズ、暗号化装置に入出力がなされる全体の入出力数、およびS−boxの最小の入出力数を初期値として入力する手段と、
前記入力された全体の入出力数を前記初期値で分割して商および余りを算出し、前記初期値を前記商の数だけ並べた整数列を作成し、余りがでたときには前記整数列における項を該余りの数だけ選択してそれぞれに1つづつ加算し、得られた整数列をS−boxの入出力数として仮決定する手段と、
前記仮決定したS−boxの入出力数の整数列に含まれる複数の項を順次組みにして当該組にした項の値を加算して得られた整数列を新たなS−boxの入出力数とする処理を、当該新たなS−boxの入出力数となる整数列の項数bが前記入力された1次キャッシュサイズおよび前記全体の入出力数から求めた終値aに等しくなるまで繰り返す手段と
して機能させるための暗号設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001018016A JP3875495B2 (ja) | 2000-01-26 | 2001-01-26 | 暗号設計装置、暗号設計プログラム、および記録媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-16413 | 2000-01-26 | ||
JP2000016413 | 2000-01-26 | ||
JP2001018016A JP3875495B2 (ja) | 2000-01-26 | 2001-01-26 | 暗号設計装置、暗号設計プログラム、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001282102A JP2001282102A (ja) | 2001-10-12 |
JP3875495B2 true JP3875495B2 (ja) | 2007-01-31 |
Family
ID=26584147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001018016A Expired - Fee Related JP3875495B2 (ja) | 2000-01-26 | 2001-01-26 | 暗号設計装置、暗号設計プログラム、および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3875495B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011465B2 (ja) * | 2013-06-06 | 2016-10-19 | 三菱電機株式会社 | 暗号モジュール生成装置 |
JP7529154B2 (ja) | 2021-05-31 | 2024-08-06 | 日本電信電話株式会社 | 暗号装置、方法、及びプログラム |
-
2001
- 2001-01-26 JP JP2001018016A patent/JP3875495B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001282102A (ja) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7283628B2 (en) | Programmable data encryption engine | |
JP3746098B2 (ja) | データの暗号化装置 | |
JP3229148B2 (ja) | 暗号化方法およびシステム | |
JP3992742B2 (ja) | データブロックおよび鍵を非線形的に結合する暗号方法および装置 | |
CA2578316C (en) | Table splitting for cryptographic processes | |
EP1081889A2 (en) | Extended key generator, encryption / decryption unit, extended key generation method, and storage medium | |
US7720225B2 (en) | Table splitting for cryptographic processes | |
KR20020006475A (ko) | 암호화장치, 복호장치 및 확대키 생성장치, 확대키생성방법 및 기록매체 | |
US20100226493A1 (en) | Encryption/decryption device, encryption/decryption method, and computer program | |
US6845159B1 (en) | Processing method and apparatus for converting information from a first format into a second format | |
US8619985B2 (en) | Table splitting for cryptographic processes | |
US20040120518A1 (en) | Matrix multiplication for cryptographic processing | |
EP1120933B1 (en) | A method and apparatus for designing cipher logic, and a computer product | |
US8345865B2 (en) | Block cipher aria substitution apparatus and method | |
US20030210783A1 (en) | Method and system of encryption | |
JP3875495B2 (ja) | 暗号設計装置、暗号設計プログラム、および記録媒体 | |
KR20010041202A (ko) | 이산 데이터 블록 암호화 방법 | |
JP3012732B2 (ja) | ブロック暗号処理装置 | |
JP6091394B2 (ja) | 情報処理装置、暗号化方法 | |
KR100350207B1 (ko) | 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법 | |
JP3526504B2 (ja) | 乱数生成器 | |
JP2008046151A (ja) | 暗号処理方法 | |
JP5387295B2 (ja) | 暗号装置及び方法 | |
JP3492988B2 (ja) | データ変換装置及びそのプログラム記録媒体 | |
JPH07177139A (ja) | データ撹乱回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060901 |
|
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: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061026 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |