JP4120193B2 - 暗号復号回路 - Google Patents
暗号復号回路 Download PDFInfo
- Publication number
- JP4120193B2 JP4120193B2 JP2001292203A JP2001292203A JP4120193B2 JP 4120193 B2 JP4120193 B2 JP 4120193B2 JP 2001292203 A JP2001292203 A JP 2001292203A JP 2001292203 A JP2001292203 A JP 2001292203A JP 4120193 B2 JP4120193 B2 JP 4120193B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing unit
- bit
- table memory
- nonlinear
- 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
Description
【発明の属する技術分野】
本発明は、ネットワークを介して転送されるデータの中から処理対象となるデータを処理する暗号復号回路に関するものである。
【0002】
【従来の技術】
近年、ネットワーク上のデータ処理速度の高速化に伴い、ネットワーク上に配置される暗号復号回路は、処理速度の高速化が要求されている。通常、暗号復号処理は、入力されたデータに対して所定の線形処理及び非線型処理を施すことにより行われるが、非線型処理は、一般的に計算が複雑あるため、暗号復号化を高速に処理するうえで大きなボトルネックとなっている。
【0003】
非線形処理の高速化の観点からは非線形処理部をハードウエアにより構成することが好ましい。従来、非線形処理をハードウエアにより行う場合、非線形処理部に入力されるデータから非線形処理データが導出されるような論理関数を構築し、この論理関数をAND回路やOR回路等を用いた組み合わせ回路を組むことにより実現していた。
【0004】
【発明が解決しようとする課題】
しかしながら、非線形処理は複雑であるため、組み合わせ回路が多段化し、非線形処理の高速化を図ることが困難であった。特に非線型処理部に入力されるデータのビット数が増大すると、組み合わせ回路の段数が増大し、非線形処理データが出力されるまで時間がかかるという問題があった。
【0005】
本発明はこのような問題を解決するためになされたものであり、高速に非線型処理を行うことのできる暗号復号回路を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するために、請求項1記載の発明は、所定の線形処理を行う線形処理部と所定の非線形処理を行う非線形処理部とを少なくとも備え、Nビットの処理対象データを線形処理部及び非線形処理部に順次導くことにより暗号化したデータを生成する暗号復号回路であって、前記非線形処理部は、非線形処理部に入力される処理対象データに対応するアドレスに当該データに対する非線形処理データが予め記憶されたテーブルメモリからなり、前記非線形処理部は、Nビットの入力データをSビット毎に分割して処理するK(K=N/S)個の非線形処理部がパラレルに接続され、Nビットの入力データをSビット毎のデータに分けて並列処理するものであり、各非線形処理部は、1個のテーブルメモリと、Sビットの入力データをLビット毎に順次テーブルメモリに出力する切替手段と、テーブルメモリから順次出力されたLビットのデータを整列し、Sビットのパラレルデータとして出力する1個のデータ整列手段とからなることを特徴とする。この発明によれば、予め非線形処理データが記憶されたテーブルメモリを用意し、このテーブルメモリから非線形処理データを読み出すことにより非線形処理が行われる。したがって、従来のように非線形処理部を組み合わせ回路で構成する場合に比べ、組み合わせ回路の多段化による処理時間の遅延という問題が解消され、高速処理が可能となる。
【0009】
また、この発明によれば、非線形処理部をパラレルに接続して、非線形処理を並列処理するとともに、各非線形処理部は、入力されたSビットのデータをLビット毎に分割し直列的に処理する。したがって、非線形処理の高速化を図りつつ、非線形処理部の回路規模が縮小される。
【0010】
請求項2記載の発明は、請求項1記載の暗号復号回路において、前記非線形処理部は、1個のテーブルメモリ内に少なくとも2種類の暗号方式に対する非線形処理データを選択可能に記憶したものであることを特徴とする。この発明によれば、1個のテーブルメモリ内に少なくとも2種類の暗号方式に対する非線形処理データを記憶したため、暗号方式に応じてテーブルメモリを別に設ける必要がなく、非線形処理部の回路規模が縮小される。
【0011】
請求項3記載の発明は、請求項1又は2記載の暗号復号回路において、前記非線形処理部は、鍵データに対する非線形処理を行うものであることを特徴とする。この発明によれば、非線形処理部は鍵データに対しても非線形処理を施すため、鍵データのために別個に非線形処理部を設ける必要がなく、回路規模が縮小される。
【0012】
請求項4記載の発明は、請求項1〜3のいずれかに記載の暗号復号回路において、前記テーブルメモリは、RAM又はROMであることを特徴とする。この発明によれば、テーブルメモリはRAM又はROMにより構成される。
【0013】
【発明の実施の形態】
図1は、図2〜図5に示す第1〜第4実施形態に係る暗号復号回路の基本構成の一例を示したブロック図である。図1に示す暗号複合回路は、暗号化する前の処理対象データを暗号化する暗号処理及び暗号化した後の処理対象データを復号化する復号処理の両方の処理を行うことが可能である。
【0014】
図1に示す暗号復号回路は、例えば、ネットワークを介して処理対象データD1を取り込むデータ入力部1と、処理対象データD1を暗号化して出力するデータ出力部7とを備え、データ入力部1からデータ出力部7に向けて順番に、セレクタ2、線形処理部3、非線型処理部4、演算部5、線形処理部6が128ビットのパラレルラインにより接続されている。また、演算部5には、所定の鍵データを取り込む鍵入力部8が、演算部5の入力側に接続された鍵処理部9を介して接続されている。また、線形処理部6の出力側に接続されたパラレルラインは2つに分岐しており、一方はフィードバックライン11によりセレクタ2の入力側に接続され、他方はデータ出力部7に接続されている。また、セレクタ2、データ出力部7、非線形処理部4には制御部10が接続されている。
【0015】
データ入力部1は、所定ビット例えば128ビットのデータが記憶可能なバッファから構成されており、処理対象データを128ビットずつ取り込んで記憶し、セレクタ2へ出力する。
【0016】
セレクタ2は、データ入力部1からのデータと線形処理部6からのデータとを、制御部10からの制御信号を受けて、選択的に切り替え、線形処理部3へ出力する。
【0017】
線形処理部3は、入力されたデータに所定の線形係数を乗算する乗算器と、乗算後のデータに所定の係数を加算する加算器と、処理後のデータを一時的に記憶するバッファなどから構成され、例えば、Y=aX+b(X:入力データ、a、b:係数、Y:出力データ)で表わされるような線形処理を行う。線形処理部3は多段構成が可能であり、本実施形態では2段接続されおり、処理対象データD1に対して2回の線形処理を施し、線形処理データD2を算出するようにしている。
【0018】
非線形処理部4は、Y=f(X)(Y:非線形処理データ、X:入力データ、f:非線形関数)で表わされる非線形処理を行う。非線形処理部4は、記憶素子例えばRAM(random access memory)からなるテーブルメモリにより構成されている。テーブルメモリは、非線形処理関数の入力データXに対応するアドレスを有し、各アドレスに予め求めた出力データYを記憶している。本実施形態では、非線形処理部4に入力された線形処理データD2に対応するアドレスの記憶データをテーブルメモリの当該アドレスから読み出すことにより非線形処理を行う。すなわち、非線形処理部4は、線形処理データD2が入力されると、線形処理データD2が示すアドレス領域に記憶された非線形処理後のデータを演算部5へ出力する。
【0019】
本実施形態では、テーブルメモリを構成するRAMはSRAM(static RAM)で構成されている。
【0020】
非線形関数は、線形関数に比較して演算が複雑である。非線型処理部4を従来のように入力データに対応する非線形処理データが出力される組み合わせ回路(記憶素子を含まない回路)を用いて構成すると、回路が大規模化し、処理に時間がかかる。そこで、本発明では、非線型処理部4を予め各入力データが示すアドレスに非線形処理データが記憶されたテーブルメモリで構成し、処理時間の短縮化及び回路の小規模化を図っている。なお、テーブルメモリとしてはRAMの代わりにROM(read only memory)を用いてもよい。
【0021】
鍵入力部8は、所定ビットのデータが記憶可能なバッファから構成され、処理対象データを暗号化するための所定の鍵データを取り込んでバッファに記憶する。
【0022】
鍵処理部9は、鍵入力部8から入力された鍵データD6に対して所定の演算処理を施し、鍵処理データD7を算出し、演算部5へ出力する。
【0023】
演算部5は、乗算器や加算器などの演算回路から構成され、非線形処理部4から出力された非線形処理データD3及び鍵処理部9から出力された鍵処理データD7に対して所定の演算処理を施して、演算データD4を求め線形処理部6へ出力する。
【0024】
線形処理部6は、線形処理部3と同様の構成であり、演算部5から出力された演算データD4を読み込んで所定の線形処理を施し、線形処理データD5を求める。
【0025】
データ出力部7は、128ビットのデータを記憶するバッファなどから構成されており、線形処理データD5を記憶し、制御部10の制御信号に基づいて、線形処理データD5を出力する。
【0026】
制御部10は、CPU(中央演算処理装置)及び、制御プログラムなどを記憶した記憶部を備えており、暗号復号回路全体を制御する。制御部10は、本暗号復号回路がフィードバック処理をする回数を記憶している。制御部10は、セレクタ2に対して制御信号を出力することにより、セレクタ2の接続状態の切り替えを行わせる。すなわち、フィードバック処理を行なうときは、セレクタ2は線形処理部6と線形処理部3とを接続させ、線形処理部6から出力された線形処理データD5は、線形処理部3に導かれる。また、フィードバック処理を行わないときは、セレクタ2は、データ入力部1と線形処理部3とを接続させ、データ入力部1から出力された処理対象データD1は、線形処理部3へ導かれる。
【0027】
次に、暗号復号回路における非線形処理部4の各実施形態について説明する。
【0028】
(第1実施形態)
図2は第1実施形態に係る非線型処理部41の構成を示した図である。第1実施形態に係る暗号復号回路は、128ビットの線形処理データD2を8ビット毎の16個のブロックデータD21分割し、分割された各ブロックデータD21のそれぞれに対して非線形処理を同時に施し、非線形処理を並列的に行う。
【0029】
非線形処理部41は、線形処理部3と演算部5との間にパラレル接続された16個のテーブルメモリ411、411、…から構成される。各テーブルメモリ411は、線形処理部3の出力側に接続された128ビットのパラレルラインと8ビット毎、すなわち、8ライン単位で上位ビットから順番に接続されている。
【0030】
テーブルメモリ411は、8ビットのブロックデータD21に対応する非線形処理データD31を記憶している。テーブルメモリ411は、ブロックデータD21が示すアドレスに当該ブロックデータD21に対応する非線形処理データD31が記憶されている。
【0031】
テーブルメモリ411を構成するRAMは、非線形処理データD31を記憶するメモリアレイ部と、指定されたアドレスに対応するメモリアレイ部のアドレス領域をデコードするアドレスデコーダなどから構成されている。RAMは、アドレスのビット数が増大するにつれて、アドレスデコーダを構成する論理回路が複雑化し、アドレスのデコードに時間がかかってしまう。本実施形態では、128ビットのデータを8ビット毎の16個のブロックデータD21とし、このブロックデータD21を16個のテーブルメモリ411により個別に処理させる構成としたので、テーブルメモリ411のアドレスデコーダを8ビットの入力データに対する処理を行うもので構成でき、アドレスデコーダを簡素化できる。
【0032】
次に、本実施形態に係る暗号復号回路の非線形処理部41の動作について説明する。
【0033】
線形処理部3からの線形処理データD2であって16個に分割された各ブロックデータD21が対応するテーブルメモリ411に同時に入力される。次いで、テーブルメモリ411から入力されたブロックデータD2が示すアドレスに記憶された非線形処理データD31が同時に読み出され、再整列された形で演算部5へ出力される。
【0034】
このように、本実施形態によれば、非線形処理部41に入力される128ビットの線形処理データD2を8ビット毎に16個のブロックデータD21に分割し、分割したブロックデータD21を16個のテーブルメモリ411に同時に導き、ブロックデータD21を並列的に処理するため、テーブルメモリ411のアドレスのデコード時間が短縮化され、非線型処理の高速化が実現される。
【0035】
(第2実施形態)
図3は、第2実施形態に係る非線形処理部42の構成を示した図である。第2実施形態は、非線形処理部42に入力される128ビットの入力データを8ビット毎に16個のブロックデータD21に分割し、分割したブロックデータD21をシリアルに整列させて、1個のテーブルメモリ422に順次出力し、非線形処理を直列的に行う。
【0036】
非線形処理部42は、線形処理部3の出力側に接続された切替部421と線形処理部6の入力側に接続されたデータ整列部423と、切替部421とデータ整列部423との間に介設された1個のテーブルメモリ422とから構成されている。切替部421とテーブルメモリ422間及びテーブルメモリ422とデータ整列部423間はそれぞれ8ビットのパラレルラインで接続されている。
【0037】
切替部421は、線形処理部3の出力側に接続された16個のバッファ4212と、各バッファ4212の出力側に接続された切替回路4211とを含む。
【0038】
各バッファ4212は、8ビットのデータが記憶可能な容量を有しており、線形処理部3の出力側に接続された128ビットのパラレルラインに対して上位ビットから順番に8ビットずつ接続されている。バッファ4212は、128ビットの線形処理データD2を上位ビットから順番に8ビット毎に分割されたブロックデータD21を記憶する。
【0039】
切替回路4211は、バッファ4212のそれぞれの出力側と8ビットのパラレルラインで接続されている。切替回路4211は、16個のバッファ4212に対して順番に1個ずつ選択してテーブルメモリ422と接続するので、接続されたバッファ4212に記憶されているブロックデータD21がテーブルメモリ422へ順次導かれる。
【0040】
テーブルメモリ422は、8ビットの非線形処理データD31を記憶している。テーブルメモリ422は、切替回路4211から8ビットのブロックデータD21を受けて、ブロックデータD21に対応する非線形処理データD31を読み出し、データ整列部423に出力する。
【0041】
データ整列部423は、テーブルメモリ422の出力側と8ビットのパラレルラインで接続された切替回路4231と、演算部5と切替回路4231との間にそれぞれパラレルに介設された16個のバッファ4232を含む。
【0042】
切替回路4231は、図3の左の1ブロック目のバッファ4232から16ブロック目のバッファ4232までをテーブルメモリ422と前記切替回路4211と同期連動して順番に接続を行うもので、テーブルメモリ422で処理された非線形処理データD31をデータ整列部423の対応するブロックのバッファ4232へ導く。
【0043】
次に、非線型処理部42の動作について説明する。
【0044】
まず、線形処理部3により処理された128ビットの線形処理データD2が先頭ビットから順番に8ビットのブロックデータD21に分割され、切替部421の1ブロック目のバッファ4212から16ブロック目のバッファ4212に記憶される。次いで、切替回路4211により、1〜16ブロック目のバッファ4212のうち1のバッファ4212がテーブルメモリ422と接続される。次いで、テーブルメモリ422と接続された1ブロック目のバッファ4212からブロックデータD21がテーブルメモリ422に入力されると、ブロックデータD21に対応する非線形処理データD31がデータ整列部423へ出力される。次いで、切替回路4231により、16個のバッファ4232のうち1のバッファ4232がテーブルメモリ422と接続され、小非線形処理データD31がバッファ4232に記憶される。
【0045】
次いで、全てのバッファ4232に非線形処理データD31が記憶されると、各バッファ4232から非線形処理データD31が演算部5へ並列的に出力される。したがって、データ整列部423から128ビットの非線形処理データD3が演算部5へ出力される。
【0046】
以上、説明したように第2実施形態に係る非線形処理部42によれば、入力された128ビットのデータは、8ビット毎のブロックデータD21に分割され順次テーブルメモリ422に導かれ非線型処理が直列的に行われるため、非線形処理部42のテーブルメモリ422を1個で構成でき、非線形処理部42を小型化することができる。
【0047】
(第3実施形態)
図4は第3実施形態に係る非線型処理部43の構成を示す図である。非線形処理部43は、第2実施形態に係る非線形処理部42を基本構成とする非線形処理部43a、43bをパラレルに接続し、非線形処理部43aに線形処理データD2の上位64ビット分を、非線形処理部43bに下位64ビット分を担当させて、直列処理と並列処理とを併用して非線形処理を行うものである。非線形処理部43bは、非線形処理部43aと同一構成であるため、非線形処理部43aの構成について説明する。
【0048】
非線形処理部43aは、線形処理部3の出力側に接続された切替部431aと、切替部431aの出力側に接続された1個のテーブルメモリ432aと、テーブルメモリ432aの出力側に接続されたデータ整列部433aとからなる。
【0049】
切替部431は、線形処理部3の出力側と接続された8個のバッファ4312aと、8個のバッファ4312aのそれぞれの出力側と接続された切替回路4311aとからなる。
【0050】
バッファ4312aは、それぞれ線形処理部3の出力側に8ビットのパラレルラインで接続されており、線形処理部3から出力される128ビットの線形処理データD2を上位ビットから順番に8ビットずつ分割して、ブロックデータD21aとして記憶する。
【0051】
切替回路4311aは、バッファ4312aの出力側に8ビットのパラレルラインで接続されており、制御部10の制御信号に基づいて、1ブロック目のバッファ4312aから8ブロック目までのバッファ4312aをテーブルメモリ432aと順番に接続する。接続されたバッファ4312aに記憶されたブロックデータD21aは、テーブルメモリ432aへ導かれる。
【0052】
テーブルメモリ432aは、ブロックデータD21aに対応する非線形処理データD31aを記憶する。データ整列部433aは、テーブルメモリ432aの出力側に接続された切替回路4331aと切替回路4331aの出力側にそれぞれ接続された8個のバッファ4332aとを含む。切替回路4331aは、テーブルメモリ432aと8ビットのパラレルラインで接続されている。切替回路4331aは、制御部10の指示に基づいて、1ブロック目のバッファ4332aから8ブロック目までのバッファ4332aをテーブルメモリ432aに順番に接続し、テーブルメモリ432aで処理された非線形処理データD31aを対応するブロックのバッファ4332aへ導く。
【0053】
次に、非線形処理部43の動作について説明する。
【0054】
線形処理部3から出力される128ビットの線形処理データD2の上位64ビットのデータが先頭ビットから順番に8ビットのブロックデータD21aに分割され、非線形処理部43aの切替部431aの1ブロック目のバッファ4312aから8ブロック目のバッファ4312aまでに記憶される。また、これと同時に線形処理データD2の下位64ビットのデータが先頭ビットから順番に8ビットのブロックデータD21bに分割され、非線形処理部43bの切替部431bの1ブロック目のバッファ4312bから8ブロック目のバッファ4312bまでに記憶される。
【0055】
次いで、切替部431a、431bの1ブロック目のバッファ4312a、4312bから8ブロック目のバッファ4312a、4312bに記憶されたブロックデータD21が順番にテーブルメモリ432a、432bへ出力される。
【0056】
次いで、テーブルメモリ432a、432bから出力された非線形処理データD31a、D31bが切替回路4331a、4331bを介して対応するブロックのバッファ4332a、4332bに出力される。切替回路4311a、4311bは、同期連動して切替動作を行っているため、切替部431a、431bの任意のブロックのバッファ4312a、4312bに記憶されたブロックデータD21a、D21bは、テーブルメモリ432a、432bにより非線形処理データD31a、D31bとされた後、データ整列部433a、433bの対応するブロックのバッファ4332a、4332bに記憶される。
【0057】
次いで、データ整列部433a、433bの全てのバッファ4332a、4332bに非線形処理データD31a、D31bが記憶されると、非線形処理データD31a、D31bは、128ビットの非線形処理データD3として演算部5へ再整列された形で出力される。
【0058】
このように、本実施形態に係る非線形処理部43によれば、非線形処理部43a及び43bをパラレル接続し、線形処理データD2を上位64ビットと下位64ビットに分割し、分割された上位64ビットのデータを非線形処理部43aにより処理させ、下位64ビットのデータを非線形処理部43bにより処理させるため、非線形処理部43の回路規模の縮小を図るととともに、非線形処理の高速化を実現することができる。
【0059】
(第4実施形態)
図5は第4実施形態に係る非線形処理部44の1個のテーブルメモリ442の構成を示す図である。
【0060】
非線形処理部44を構成するテーブルメモリ442は、アドレスを示すビット数のうち上位と下位の分割されており、上位領域には、暗号方式1に対する非線形処理データを記憶し、下位領域には、暗号方式2に対する非線形処理データを記憶し、1つのテーブルメモリ442で2種類の非線形処理を行う。
【0061】
本実施形態に係る非線形処理部44は、それぞれ8ビットの非線形処理データD3を記憶したテーブルメモリ442が、線形処理部3と演算部5との間にパラレルに16個介設されている。そして、各テーブルメモリ442は、8ビットの線形処理データD2を読み込み、8ビットの非線形処理データD3を出力する。
【0062】
非線形処理部44は、所定の8ビットの線形処理データD22から9ビットのアドレスデータを生成するアドレス生成部441と、8ビットで表わされる非線形処理データを記憶したテーブルメモリ442で構成されている。
【0063】
テーブルメモリ442は、9ビットのアドレスデータでアクセス可能な記憶容量、すなわち、512バイトの記憶容量を有している。テーブルメモリ442は、最上位ビットが「0」となるアドレスには、暗号方式1により求めた非線形処理データが記憶され、最上位ビットが「1」で表わされるアドレスには暗号方式2により求めた非線形処理データが記憶されている。
【0064】
アドレス生成部441は、制御部10の制御信号に基づいて、線形処理部3から出力された8ビットの線形処理データD22に対して先頭ビットとして暗号方式に応じて「0」または「1」を付与して9ビットのアドレスデータを生成する。すなわち、線形処理データD22が暗号処理方式1に対するデータである場合、アドレス生成部441は、線形処理データD22の先頭ビットに「0」を付与し、9ビットのアドレスデータを生成する。線形処理データD22が暗号方式2に対するデータである場合、アドレス生成部441は、線形処理データD22に対して先頭ビットに「1」を付与して9ビットのアドレスデータを生成する。したがって、非線形処理データD22は、暗号方式に応じて先頭ビットに「0」又は「1」が付与されて9ビットのデータとされ、テーブルメモリ442に入力される。
【0065】
テーブルメモリ442に9ビットのデータが入力されると、テーブルメモリ442は、データに対応する非線形処理データD32を演算部5へ出力する。
【0066】
このように、本実施形態によれば、テーブルメモリ442内に暗号方式1及び暗号方式2に対する非線形処理データを領域を分けて記憶したため、暗号方式毎にテーブルメモリ442を設ける必要がなく、回路規模が縮小される。
【0067】
(第5実施形態)
第5実施形態は、1つのテーブルメモリで鍵データに対する非線形処理と処理対象データに対する非線形処理を併用して行なうものである。この場合、テーブルメモリは、第4実施形態に示すテーブルメモリ442において、暗号方式2に対する非線形処理データを記憶した領域に、鍵データに対する非線形処理データを記憶する。すなわち、メモリアドレスの先頭ビットが「0」であるアドレスには、処理対象データに対する非線形処理データを記憶させ、メモリアドレスの先頭ビットが「1」であるアドレスには、鍵処理データに対する非線形処理データを記憶させる。そして、アドレス生成部441は、鍵データに対して非線形処理を施す場合、制御部10の制御信号に基づいて、入力されるデータの先頭ビットに「1」を付与して合計9ビットのデータとし、テーブルメモリ442に出力する。テーブルメモリ442は、入力された9ビットのデータが示すアドレスに対応する鍵データに対する非線形処理データを読み出し、演算部5へ出力する。
【0068】
このように第6実施形態によれば、1つのテーブルメモリ442に鍵データに対する非線形処理データと、処理対象データに対する非線形処理データを記憶させたため、鍵データ用に別個にテーブルメモリを設ける必要がなく、テーブルメモリの個数を減らすことが可能となり、回路規模を縮小することができる。
【0069】
なお、本発明は以下の態様を採ることができる。
【0070】
(1)第1〜第5の実施形態において、暗号復号回路は128ビットの処理対象データを処理するものとしたが、これに限定されず、256ビット、64ビット、32ビット、16ビット、8ビットなど、あらゆるビット数の処理対象データを取り扱うものであってもよい。この場合、データ入力部1〜データ出力部7を処理対象データのビット数に対応する数のパラレルラインで接続すればよい。
【0071】
(2)第4実施形態においては、1個のテーブルメモリに2種類の暗号方式の非線形処理を行なう態様を示したが、これに限定されず、3種類以上の暗号方式の非線形処理を行なうものであってもよい。この場合、テーブルメモリは、暗号の種類毎に記憶領域を分け、各領域に各暗号方式の非線形処理データを記憶させればよい。
【0072】
(3)第3実施形態において、2個の非線形処理部43a、43bをパラレルに接続しているが、これに限定されず、3個以上の非線形処理部43a、43b、43c、…をパラレルに接続してもよい。この場合、非線形処理部の個数に応じて線形処理データを分割し、各非線形処理部に処理させればよい。
【0073】
(4)第2、第3実施形態において、切替部421、431a、431bにバッファ4312、4311a、4311bを設けたが、これに限定されず、バッファ4312、4311a、4311bを設けなくともよい。この場合、ブロックデータD21、D21a、D21bは、切替回路4211、431a、431bを介してテーブルメモリ422、432a、432bに導けばよい。
【0074】
【発明の効果】
請求項1記載の発明によれば、非線形処理の高速化が可能となる。また、非線形処理部を直列的処理と並列処理とを併用して行なわせるようにしたことにより、非線形処理の高速化とともに、非線形処理部の回路規模の縮小が図られる。
【0078】
請求項2記載の発明によれば、暗号方式に応じてテーブルメモリを別に設ける必要がなく、非線形処理部の回路規模を縮小することができる。
【0079】
請求項3記載の発明によれば、鍵データのために別に非線形処理部を設ける必要がなく、回路規模を縮小することができる。
【0080】
請求項4記載の発明によれば、テーブルメモリがROM又はRAMにより構成される。
【図面の簡単な説明】
【図1】 暗号復号回路の基本構成の一例を示した図である。
【図2】 第1実施形態の非線形処理部を示した図である。
【図3】 第2実施形態の非線形処理部を示した図である。
【図4】 第3実施形態の非線形処理部を示した図である。
【図5】 第4実施形態の非線形処理部を示した図である。
【符号の説明】
1 データ入力部
2 セレクタ
3 線形処理部
4 41 42 43 44 非線形処理部
43A 43B 非線形処理部
411 422 432 442 テーブルメモリ
421 431 切替部
4211 4311 切替回路
4212 4312 バッファ
423 433 データ整列部
4231 4331 切替回路
4232 4332 バッファ
5 演算部
6 線形処理部
7 データ出力部
8 鍵入力部
9 鍵処理部
10 制御部
11 フィードバックライン
Claims (4)
- 所定の線形処理を行う線形処理部と所定の非線形処理を行う非線形処理部とを少なくとも備え、Nビットの処理対象データを線形処理部及び非線形処理部に順次導くことにより暗号化したデータを生成する暗号復号回路であって、
前記非線形処理部は、非線形処理部に入力される処理対象データに対応するアドレスに当該データに対する非線形処理データが予め記憶されたテーブルメモリからなり、
前記非線形処理部は、Nビットの入力データをSビット毎に分割して処理するK(K=N/S)個の非線形処理部がパラレルに接続され、Nビットの入力データをSビット毎のデータに分けて並列処理するものであり、
各非線形処理部は、
1個のテーブルメモリと、
Sビットの入力データをLビット毎に順次テーブルメモリに出力する切替手段と、
テーブルメモリから順次出力されたLビットのデータを整列し、Sビットのパラレルデータとして出力する1個のデータ整列手段とからなることを特徴とする暗号復号回路。 - 前記非線形処理部は、1個のテーブルメモリ内に少なくとも2種類の暗号方式に対する非線形処理データを選択可能に記憶したものであることを特徴とする請求項1記載の暗号復号回路。
- 前記非線形処理部は、所定の鍵データに対する非線形処理を行うものであることを特徴とする請求項1又は2記載の暗号復号回路。
- 前記テーブルメモリは、RAM又はROMであることを特徴とする請求項1〜3のいずれかに記載の暗号復号回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001292203A JP4120193B2 (ja) | 2001-09-25 | 2001-09-25 | 暗号復号回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001292203A JP4120193B2 (ja) | 2001-09-25 | 2001-09-25 | 暗号復号回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003098960A JP2003098960A (ja) | 2003-04-04 |
JP4120193B2 true JP4120193B2 (ja) | 2008-07-16 |
Family
ID=19114214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001292203A Expired - Fee Related JP4120193B2 (ja) | 2001-09-25 | 2001-09-25 | 暗号復号回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4120193B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8394745B2 (en) | 2006-03-31 | 2013-03-12 | Nippon Oil Corporation | Lube base oil, process for production thereof, and lubricating oil composition |
US8563486B2 (en) | 2008-10-07 | 2013-10-22 | Jx Nippon Oil & Energy Corporation | Lubricant composition and method for producing same |
US8603955B2 (en) | 2004-10-19 | 2013-12-10 | Nippon Oil Corporation | Lubricant composition and antioxidant composition |
US8642517B2 (en) | 2007-12-05 | 2014-02-04 | Nippon Oil Corporation | Lubricant oil composition |
US8648021B2 (en) | 2008-10-07 | 2014-02-11 | Jx Nippon Oil & Energy Corporation | Lubricant base oil and a process for producing the same, and lubricating oil composition |
US8703663B2 (en) | 2008-10-07 | 2014-04-22 | Jx Nippon Oil & Energy Corporation | Lubricant base oil and a process for producing the same, and lubricating oil composition |
US8754016B2 (en) | 2007-03-30 | 2014-06-17 | Jx Nippon Oil & Energy Corporation | Lubricant base oil, method for production thereof, and lubricant oil composition |
US8796194B2 (en) | 2009-09-01 | 2014-08-05 | Jx Nippon Oil & Energy Corporation | Lubricant composition |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015173497A (ja) * | 2015-05-27 | 2015-10-01 | 株式会社東芝 | 電子機器 |
-
2001
- 2001-09-25 JP JP2001292203A patent/JP4120193B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8603955B2 (en) | 2004-10-19 | 2013-12-10 | Nippon Oil Corporation | Lubricant composition and antioxidant composition |
US8709989B2 (en) | 2004-10-19 | 2014-04-29 | Nippon Oil Corporation | Lubricant composition and antioxident composition |
US8394745B2 (en) | 2006-03-31 | 2013-03-12 | Nippon Oil Corporation | Lube base oil, process for production thereof, and lubricating oil composition |
US8754016B2 (en) | 2007-03-30 | 2014-06-17 | Jx Nippon Oil & Energy Corporation | Lubricant base oil, method for production thereof, and lubricant oil composition |
US8642517B2 (en) | 2007-12-05 | 2014-02-04 | Nippon Oil Corporation | Lubricant oil composition |
US8563486B2 (en) | 2008-10-07 | 2013-10-22 | Jx Nippon Oil & Energy Corporation | Lubricant composition and method for producing same |
US8648021B2 (en) | 2008-10-07 | 2014-02-11 | Jx Nippon Oil & Energy Corporation | Lubricant base oil and a process for producing the same, and lubricating oil composition |
US8703663B2 (en) | 2008-10-07 | 2014-04-22 | Jx Nippon Oil & Energy Corporation | Lubricant base oil and a process for producing the same, and lubricating oil composition |
US8796194B2 (en) | 2009-09-01 | 2014-08-05 | Jx Nippon Oil & Energy Corporation | Lubricant composition |
Also Published As
Publication number | Publication date |
---|---|
JP2003098960A (ja) | 2003-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7508937B2 (en) | Programmable data encryption engine for advanced encryption standard algorithm | |
US7213148B2 (en) | Apparatus and method for a hash processing system using integrated message digest and secure hash architectures | |
US20030103626A1 (en) | Programmable data encryption engine | |
US8411853B2 (en) | Alternate galois field advanced encryption standard round | |
CN111563281B (zh) | 一种支持多种加解密算法的处理器及其实现方法 | |
Ahmad et al. | Hardware implementation analysis of SHA-256 and SHA-512 algorithms on FPGAs | |
JP4120193B2 (ja) | 暗号復号回路 | |
JP4328487B2 (ja) | 組合せ回路、暗号回路、その生成方法及びプログラム | |
CN112134686A (zh) | 一种基于可重构计算的aes硬件实现方法及运行该方法的计算机设备与可读存储介质 | |
McGregor et al. | Architectural enhancements for fast subword permutations with repetitions in cryptographic applications | |
KR100390821B1 (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 | |
JP4098719B2 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
JP2005513541A6 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
US6865272B2 (en) | Executing permutations | |
KR20030051111A (ko) | AES Rijndael(라인달) 암호 알고리듬의 하드웨어 구현을위한 라운드 처리부 회로 및 온라인 라운드 키 생성 회로 | |
JP3547474B2 (ja) | 暗号演算回路 | |
US7181009B1 (en) | Generating message digests according to multiple hashing procedures | |
JP3770584B2 (ja) | 暗号鍵生成回路 | |
JP5113833B2 (ja) | 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置 | |
EP3531612B1 (en) | Method and device for performing substitution table operations | |
KR20020087331A (ko) | 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로 | |
JP2000075785A (ja) | 高速暗号処理回路および処理方法 | |
El-Hadedy et al. | Reco-Pi: a reconfigurable cryptoprocessor for π-cipher | |
JP2005534973A (ja) | 有限体内でデータを操作する方法および装置 | |
JP4004805B2 (ja) | 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080115 |
|
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: 20080401 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080414 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110509 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110509 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120509 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130509 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |