JP2006320014A - 共用メモリ配線を有する暗号化プロセッサ - Google Patents
共用メモリ配線を有する暗号化プロセッサ Download PDFInfo
- Publication number
- JP2006320014A JP2006320014A JP2006195950A JP2006195950A JP2006320014A JP 2006320014 A JP2006320014 A JP 2006320014A JP 2006195950 A JP2006195950 A JP 2006195950A JP 2006195950 A JP2006195950 A JP 2006195950A JP 2006320014 A JP2006320014 A JP 2006320014A
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- data
- adder
- arithmetic processing
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5052—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using carry completion detection, either over all stages or at sample stages only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49931—Modulo N reduction of final result
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Bus Control (AREA)
Abstract
【解決手段】暗号化チップは、演算処理装置のパイプラインを含み、該演算処理装置の各々は、秘密鍵アルゴリズム内の1ラウンドを処理することが可能である。データは、該演算処理装置間で、デュアルポートメモリを介して転送される。中央処理装置は、単一サイクルのオペレーションで、グローバルメモリからの非常に幅の広いデータ語を処理することができる。加算器回路は、比較的小さい複数の加算器回路を使用することによって簡素化され、合計およびキャリが複数サイクルでループバックされる。乗算器回路は、非常に幅の広い中央処理乗算器となるよう連結することができるように、より小さい演算処理装置乗算器を適用することによって、複数の演算処理装置と中央処理装置との間で共用することができる。
【選択図】図2
Description
暗号化アルゴリズムは、公開鍵アルゴリズムと秘密鍵アルゴリズムとに分類することができる。秘密鍵アルゴリズムにおいては両方の鍵が秘密であり、これに対し、公開鍵アルゴリズムでは鍵のうち一方が公開されている。ブロック型暗号は、今日使用されている秘密鍵暗号システムの代表である。通常、ブロック型暗号については、暗号化鍵と解読鍵とは同じものである。ブロック型暗号は、データのブロック、典型的には32〜128ビットを入力として受取り、同じ数のビットを出力として生成する。暗号化および解読は、長さが56ビットから128ビットの間である鍵を使用して行なわれる。この暗号化アルゴリズムは、鍵を知らなければメッセージの解読が非常に困難なものとなるように設計されている。
されたとしても、読むことができるメッセージはそのセッション鍵を使用して暗号化された1つのメッセージのみである。この公開鍵/プライベート鍵の方法はまた、双方向端末セッション等の、通常動作時には決して終了することのない連続的な通信を保護するのにも使用することが可能である。この場合、セッション鍵は、公開鍵生成技術を繰返すことによって周期的に(たとえば1時間ごとに)変更される。やはり、セッション鍵を頻繁に変更することによって、暗号化が破られたとしても犠牲となるデータ量は制限される。
ソフトウェアをベースとした解決法を用いて企業のネットワークへのアクセスを可能にする、ネットワークレベルの暗号化デバイスが広く使用されている。Raptor Eagle Remote等の製品は、暗号化をすべてソフトウェアで行なっている。ソフトウェアは、暗号器のスループットを制限する。公開鍵技術を用いたセッション鍵の生成には数分かかることもある。この理由のために、セッション鍵の再生成はある人々が望むほどには頻繁には行なわれない。しかし、ソフトウェアは、その分野における開発に応じて、暗号化アルゴリズムを容易に変更することができるという利点を有する。
好ましい高性能プログラマブルネットワーク暗号化デバイスは、単一チップ内に集積され、これは、その命令の組が共通の暗号化アルゴリズムに対して最適化された、並列パイプライン式のプロセッサシステムである。本発明は、ハードウェアおよびソフトウェアの両方の方法の利点を実現する。該プロセッサはプログラマブルプロセッサであるため、どのような暗号化アルゴリズムも実現することが可能であり、これは、1つのアルゴリズムのみを実行するよう設計されるハードウェア実装の暗号化プロセッサとは対照的である。しかし、このプロセッサのアーキテクチャは、暗号化に有益な特性である並列計算を可能にしているので、その性能は、専用ハードウェアデバイスの性能により近づく。
。各演算処理装置は、暗号化アルゴリズムの1ラウンドを記憶するための命令メモリを含み、該ラウンドは、命令の1シーケンスを含む。該演算処理装置はまた、命令メモリからのラウンドを実現するためのプロセッサ、ならびに、暗号化データオペランドおよびラウンドを実現することによって得られる暗号化されたデータを記憶するためのデータ記憶装置を含む。該アレイの各演算処理装置は、複数のラウンドのうち1つを実現し、その結果を連続する演算処理装置へと転送し、それにより、該演算処理装置のアレイは演算処理装置のパイプラインにおいて暗号化アルゴリズムの連続的なラウンドを実現する。
本発明の上記および他の目的、特徴および利点は、添付の図面に示される本発明の好ましい実施例に関する以下のより詳細な説明から明らかとなるであろう。添付の図面におい
ては、複数の図面を通じて、同じ部分には同様の参照符号が付される。図面は必ずしも一定の比で描かれているわけではなく、本発明の原理を説明するために強調されている部分を含む。
ビット幅のデータ語を処理するよう設計されている。暗号化されたデータは、該パイプラインの最後の演算処理装置から取出されて出力段42に渡され、出力段42がそのブロックデータをシリアルストリームフォーマットに戻して、そのデータをネットワークを介してまたは局所宛先へと送る。
ALU50を含む。PKコアプロセッサは、1システムクロックサイクルで、512ビットバスを介してグローバルRAM44との間でデータの送受信を行なうことができる。512ビットのオペランドは、典型的には2〜32クロックサイクルで、ALU50内で処理される。PKコアALU50は、制御CPU52によって制御されるコプロセッサであって、ローディングおよび記憶の他には、算術および論理演算のみを行なう。PKアルゴリズムを実現するのに必要な他の命令は、制御CPU52内で実行され得る。
令であり得る。しかし、CFBモードにおいては、各データはパイプラインを多数回通過せねばならない。このモードは単一チャネル上のスループットを大幅に減じるが、パイプラインにおいてインターリーブされている多数のデータチャネルを暗号化することによって、ピーク性能を達成することができる。
技術によるRISC命令もまた実現することが可能である。
暗号化チップの一般的なレイアウトを図4に示す。ここでは、16個の演算処理装置および、512ビット幅の公開鍵PKコアユニットを想定する。ここで512ビットのPKコア語幅を選択したのは、そのレイアウトが容易であるためである。たとえば1024ビット幅は、より広いシリコン面積を必要とするであろうが、性能は倍加するであろう。
U52を繋ぐ。
効率的な公開鍵暗号化のためには、公開鍵コプロセッサによって提供される効率的なモジュラ指数関数が必要である。このユニットは、以下の項目を含む。すなわち:
・16個の512ビット幅のレジスタで構成される、PKレジスタファイル48・連結されたSK乗算器素子からなる、PK512×32ビット乗算器70(このユニットは、わずか32クロックサイクルで1つの512×512乗算を行なうことができる)
・PK512ビット加算器ALU50、これは、2〜16サイクルで、典型的には2サイクル以下で、加算を行なうことができる
・単一クロックサイクルで512ビット語をロードおよび記憶するために、PKコプロセッサからの512ビット並列アクセスのために構成される、グローバルメモリ44。
加算器は、公開鍵PKユニットと秘密鍵SKユニットとの間で共用されることはない。加算演算および論理演算がPKおよびSKの双方において共通であるので、各ユニットは自身の加算器を有し、したがって、演算を同時に進行することが可能である。
乗算器は占有面積が広い。各秘密鍵演算処理装置は、たとえば下により詳細に説明するIDEA等の、乗算を必要と秘密鍵アルゴリズムを実現するためには、自身の乗算器を含まねばならない。各PE乗算器によって占められる面積を合わせると相当な面積となり、そこで、この面積は、512×32ビット公開鍵乗算器を実現するのに使用される。面積の節約のために、このように大きな512×32乗算器は、各秘密鍵演算処理装置において16個の32×32乗算器を連結することによって実現される。換言すれば、秘密鍵ユニットおよび公開鍵ユニットは、図4のチップレイアウト内に示すように、複数の乗算器素子を共用することが可能である。したがって、乗算器素子の使用は、秘密鍵演算処理装置とPKコアプロセッサとの間で調整されねばならない。なぜなら、PKコアプロセッサは、複数の秘密鍵演算処理装置のうちどの1つが独立して乗算演算を行なっている場合にも、乗算演算を行なうことができないためである。
信号でゲート制御されるようにされねばならない。いくつかの加算器はまた、複数入力のうち1つを提供して先の段の出力または単一ビットの部分積のいずれかを選択するようにする、乗算器を必要とする。下方に示されたキャリ先見型加算器86は、4×4の場合に積の最終ビットを生成するために、4つの位置毎に1つのキャリ出力を必要とする。
先に説明した暗号化チップの好ましい実施例を参照して、一般的な暗号化アルゴリズムの実現例を以下に説明する。RC5はおそらくは、実現するのが最も簡単な暗号化アルゴリズムのうちの1つであろう。これは基本的に、3つの種類の演算を利用する。すなわち、XOR、加算および回転である。これらすべては、表1に示すように、上述の演算処理装置のうちのいずれかによってサポート可能である。RC5は可変長のブロックを有するが、最も一般的には、RC5アルゴリズムの各ラウンドは、Si1およびSi2に記憶される64ビットデータブロックおよび鍵値について演算を行なう。これらは、各演算処理装置内の定数であって、そのラウンドおよびその鍵のみに依存する。データを暗号化するために、64ビットの入力ブロックは2つの32ビット語に分割され、それらはその後、
前隣りのメモリ内の場所AおよびBに記憶される。出力ブロックは、後ろ隣りのメモリにおけるA_nextおよびB_nextに書込まれることになる。RC5の暗号化アルゴリズムの1ラウンドの例を以下に示す。
DESを対称的なアルゴリズムとしている。DESは、この場合においては56ビットの単一の鍵から、サブ鍵を作成する。これらのサブ鍵は、該当のPEおよびその56ビットの鍵に応じて変化するものであり、したがって、それらは予め計算しておくことが可能である。
・拡張:64ビットブロックを2つの32ビット片108、110に分割する。一方の片は暗号化によって影響を受けることがない。(これらの片は1つおきのラウンドで演算される。)影響を受ける方の片が8つの4ビットのグループに分割される。各グループは、それに隣接する2つのビットをコピーすることによって拡張される。
・拡張された各グループは、112においてサブ鍵でXOR処理される。
・XORの6ビットの結果を使用して、Sボックス(S-box)と呼ばれる、64エントリ×4ビット先見テーブル114をインデックスする。8個のグループの各々が自身のSボックスを使用する。
・Sボックスからの出力は116において置換され、それらのビットがスクランブルされる。8個の出力から32ビットが得られる。
・その32ビットの出力が、118において、そのブロックの他方の32ビット片とXOR処理される。
本発明をその好ましい実施例を参照して特定的に図示しかつ説明したが、当業者においては、その形および詳細に、前掲の請求の範囲によって規定される本発明の精神および範囲から離れることなく、種々の変更が行なわれ得ることが理解されるであろう。当業者においては、日常的な作業の範囲を超えることなく、ここに特定的に示した本発明の具体的な実施例に対する多くの均等物が認識されるかまたは確認されるであろう。そのような均等物は、前述の請求の範囲に包含されるものと意図される。
Claims (20)
- シングルチップにおいて、暗号化アルゴリズムの入力データを処理するための演算処理装置のパイプラインアレイを含む、暗号化データ処理システムであって、各演算処理装置は、
暗号化アルゴリズムのラウンドを記憶するための命令メモリを含み、ラウンドは命令のシーケンスを含み、各演算処理装置はさらに、
命令メモリからのラウンドを実現するためのプロセッサを含み、それにより暗号化データオペランドおよび暗号化されたデータが得られ、各演算処理装置はさらに、
暗号化データオペランドおよび暗号化されたデータを記憶するためのデータメモリを含み、
演算処理装置の各々は、ラウンドのうち1つを実現し、
実現により得られた結果は、連続する演算処理装置に転送され、それにより、演算処理装置のパイプラインアレイにおいて暗号化アルゴリズムの連続的なラウンドが実現される、システム。 - 各演算処理装置のデータメモリは、データを書くおよび読むために隣接する演算処理装置と共用される、請求項1に記載のシステム。
- n番目の演算処理装置のプロセッサは、n番目の演算処理装置のデータメモリに記憶されたデータへのラウンドを実現し、ラウンドを実現することにより得られた暗号化データオペランドおよび暗号化データは、n+1番目の演算処理装置のデータメモリに記憶される、請求項2に記載のシステム。
- n番目の演算処理装置のプロセッサは、n−1番目の演算処理装置のデータメモリに記憶されたデータへのラウンドを実現し、ラウンドを実現することにより得られた暗号化データオペランドおよび暗号化データは、n番目の演算処理装置のデータメモリに記憶される、請求項2に記載のシステム。
- 各演算処理装置のプロセッサは、鍵情報を記憶するためのローカルメモリを含む、請求項1〜4のいずれかに記載のシステム。
- 各演算処理装置は、第1および第2の区分に分けられるローカルバスをさらに含み、
各演算処理装置のプロセッサは、制御ユニットおよびALUをさらに含み、
制御ユニットおよび命令メモリは、ローカルバスの第1の区分に接続され、
ローカルメモリ、ALU、ならびに第1および第2のデータメモリは、ローカルバスの第2の区分に接続される、請求項5に記載のシステム。 - 各演算処理装置は、ローカルバスの第1および第2の区分を分けるためのローカルスイッチをさらに含み、
ローカルスイッチは、ローカルバスの第1および第2の区分上での独立した同時動作か、それらの間の通信か、のいずれかを可能にする、請求項6に記載のシステム。 - 各演算処理装置のプロセッサは、ローカルバスの第2の区分に接続された、その演算処理装置内での乗算演算を行なうための乗算器をさらに含む、請求項6または7に記載のシステム。
- 乗算器は部分積加算器を含み、部分積加算器は、独立した乗算器として動作しているときには第1の入力の組を選択し、また、連結されているときには隣接する演算処理装置からの入力を含む第2の入力の組を選択するための、入力選択回路を有する、請求項8に記
載のシステム。 - グローバルメモリおよびグローバルバスをさらに含み、データはグローバルメモリと演算処理装置との間でグローバルバスを通じて転送される、請求項2〜9のいずれかに記載のシステム。
- ローカルメモリとグローバルメモリとの間のデータ転送を選択的に可能化するためのグローバルスイッチをさらに含む、請求項10に記載のシステム。
- グローバルバスに接続されて、演算処理装置によって処理されるデータ語よりも幅の広いデータ語を処理するための、中央プロセッサをさらに含む、請求項11に記載のシステム。
- 中央プロセッサは加算器を含み、加算器は、
複数加算器区分を含み、各加算器区分は、キャリ出力および合計出力を有し、各加算器区分は2つのオペランドのうち各オペランドの1区分を処理し、加算器はさらに、
加算器サイクル内でキャリが得られる限り、連続的なクロックサイクル中、キャリ出力を連続する加算器区分へのキャリ入力として選択するためのキャリ選択器と、
加算器サイクル内でキャリが得られる限り、連続的なクロックサイクル中、各合計出力を同じ加算器区分へのオペランド入力として選択するためのオペランド選択器とを含む、請求項12に記載のシステム。 - 各演算処理装置のプロセッサは、MmodNを計算するモジュロ調整演算を行なう、請求項1〜13のいずれかに記載のシステム。
- 各演算処理装置のプロセッサは、A±BmodNを計算するモジュロ加算または減算演算を行なう、請求項1〜13のいずれかに記載のシステム。
- 各演算処理装置のプロセッサは、A×BmodNを計算するモジュロ乗算演算を行なう、請求項1〜13のいずれかに記載のシステム。
- 公開鍵暗号化プロセッサをさらに含み、
プロセッサは、第1の長さのデータ語に対する演算を行なうための命令メモリからの命令のシーケンスを処理し、
公開鍵暗号化プロセッサは、少なくとも第1の長さよりも長い第2の長さのデータ語に対する演算を行ない、公開鍵プロセッサは、第2の長さの語長でグローバルメモリにアクセスする、請求項10に記載のシステム。 - データメモリはデュアルポートメモリを含み、
暗号化アルゴリズムの実現中に、各演算処理装置は、結果として得られたデータを、隣接する演算処理装置が直接アクセスすることができるように該隣接する演算処理装置と共用されるデータメモリに書込む、請求項2〜17のいずれかに記載のシステム。 - 演算処理装置のパイプラインアレイは、単一のチップ上に作成される、請求項1〜18のいずれかに記載のシステム。
- 暗号化アルゴリズムの入力データを処理するための演算処理装置のパイプラインアレイを含む暗号化データ処理システムであって、各演算処理装置は、
暗号化アルゴリズムのラウンドを記憶するための命令メモリを含み、ラウンドは命令のシーケンスを含み、各演算処理装置はさらに、
命令メモリからのラウンドを実現するためのプロセッサを含み、それにより暗号化データオペランドおよび暗号化されたデータが得られ、各演算処理装置はさらに、
暗号化データオペランドおよび暗号化されたデータを記憶するためのデータメモリを含み、
演算処理装置の各々は、ラウンドのうち1つを実現し、実現により得られた結果は、連続する演算処理装置に転送され、それにより、演算処理装置のパイプラインアレイにおいて暗号化アルゴリズムの連続的なラウンドが実現され、
各演算処理装置のプロセッサは、2つの数AおよびBの両方が既に数Nを法として減じられていて、数MがAとBとの合計または差のいずれかであるものとして、MmodNを計算するモジュロ調整演算を行ない、
AおよびBの入力を加算または減算する第1の加算器/減算器と、
第1の加算器/減算器においてAとBとを加算した場合にはA+BからNを減算し、第1の加算器/減算器においてAからBを減算した場合にはA−BにNを加算する第2の加算器/減算器と、
第2の加算器/減算器においてA+BからNを減算した場合にはA+B−Nの符号に応じてA+B−NおよびA+Bのいずれかを選択し、第2の加算器/減算器においてA−BにNを加算した場合にはA−B+Nの符号に応じてA−B+NおよびA−Bのいずれかを選択するマルチプレクサと、
第1および第2の加算器/減算器およびマルチプレクサを制御するロジックとを含む、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/032,029 US6088800A (en) | 1998-02-27 | 1998-02-27 | Encryption processor with shared memory interconnect |
US09/032,029 | 1998-02-27 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000533976A Division JP3979786B2 (ja) | 1998-02-27 | 1999-02-26 | 共用メモリ配線を有する暗号化プロセッサ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010189796A Division JP5208174B2 (ja) | 1998-02-27 | 2010-08-26 | 共用メモリ配線を有する暗号化プロセッサ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006320014A true JP2006320014A (ja) | 2006-11-24 |
JP2006320014A5 JP2006320014A5 (ja) | 2009-08-06 |
JP5025180B2 JP5025180B2 (ja) | 2012-09-12 |
Family
ID=21862723
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000533976A Expired - Fee Related JP3979786B2 (ja) | 1998-02-27 | 1999-02-26 | 共用メモリ配線を有する暗号化プロセッサ |
JP2006195950A Expired - Fee Related JP5025180B2 (ja) | 1998-02-27 | 2006-07-18 | 共用メモリ配線を有する暗号化プロセッサ |
JP2010189796A Expired - Fee Related JP5208174B2 (ja) | 1998-02-27 | 2010-08-26 | 共用メモリ配線を有する暗号化プロセッサ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000533976A Expired - Fee Related JP3979786B2 (ja) | 1998-02-27 | 1999-02-26 | 共用メモリ配線を有する暗号化プロセッサ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010189796A Expired - Fee Related JP5208174B2 (ja) | 1998-02-27 | 2010-08-26 | 共用メモリ配線を有する暗号化プロセッサ |
Country Status (8)
Country | Link |
---|---|
US (3) | US6088800A (ja) |
JP (3) | JP3979786B2 (ja) |
KR (1) | KR100638189B1 (ja) |
CA (1) | CA2244337C (ja) |
DE (1) | DE19983127T1 (ja) |
FR (1) | FR2778519B1 (ja) |
GB (1) | GB2350218B (ja) |
WO (1) | WO1999044329A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015505655A (ja) * | 2012-02-02 | 2015-02-23 | 株式会社イノワイアレスInnowireless Co.,Ltd | インターリーバーインデックス生成装置及び方法 |
US9255883B2 (en) | 2009-10-05 | 2016-02-09 | Konica Minolta, Inc. | Surface plasmon-enhanced fluorescence measuring apparatus |
Families Citing this family (153)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
GB9707861D0 (en) | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
JP2001505325A (ja) * | 1997-09-16 | 2001-04-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置 |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
US6513108B1 (en) * | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
US6493825B1 (en) * | 1998-06-29 | 2002-12-10 | Emc Corporation | Authentication of a host processor requesting service in a data processing network |
US6289454B1 (en) * | 1998-06-29 | 2001-09-11 | Vlsi Technology, Inc. | Memory configuration which support multiple cryptographical algorithms |
US6851052B1 (en) * | 1998-12-10 | 2005-02-01 | Telcordia Technologies, Inc. | Method and device for generating approximate message authentication codes |
US6347143B1 (en) * | 1998-12-15 | 2002-02-12 | Philips Electronics No. America Corp. | Cryptographic device with encryption blocks connected parallel |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
US7509486B1 (en) * | 1999-07-08 | 2009-03-24 | Broadcom Corporation | Encryption processor for performing accelerated computations to establish secure network sessions connections |
US7254231B1 (en) * | 1999-10-14 | 2007-08-07 | Ati International Srl | Encryption/decryption instruction set enhancement |
FR2800952B1 (fr) * | 1999-11-09 | 2001-12-07 | Bull Sa | Architecture d'un circuit de chiffrement mettant en oeuvre differents types d'algorithmes de chiffrement simultanement sans perte de performance |
US6870929B1 (en) * | 1999-12-22 | 2005-03-22 | Juniper Networks, Inc. | High throughput system for encryption and other data operations |
AU2001249511A1 (en) * | 2000-03-31 | 2001-10-15 | Vdg Inc. | Authentication method and schemes for data integrity protection |
JP4306997B2 (ja) * | 2000-05-12 | 2009-08-05 | 富士通株式会社 | データ制御装置及びatm制御装置 |
EP1342158B1 (de) | 2000-06-13 | 2010-08-04 | Richter, Thomas | Pipeline ct-protokolle und -kommunikation |
US7062657B2 (en) * | 2000-09-25 | 2006-06-13 | Broadcom Corporation | Methods and apparatus for hardware normalization and denormalization |
US20020061107A1 (en) * | 2000-09-25 | 2002-05-23 | Tham Terry K. | Methods and apparatus for implementing a cryptography engine |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8472627B2 (en) * | 2000-10-30 | 2013-06-25 | Geocodex Llc | System and method for delivering encrypted information in a communication network using location indentity and key tables |
US7143289B2 (en) * | 2000-10-30 | 2006-11-28 | Geocodex Llc | System and method for delivering encrypted information in a communication network using location identity and key tables |
US7120254B2 (en) * | 2000-10-30 | 2006-10-10 | Geocodex Llc | Cryptographic system and method for geolocking and securing digital information |
KR100379122B1 (ko) * | 2000-11-13 | 2003-04-08 | 엘지전자 주식회사 | 기가비트 이더넷 스위치 128비트 블록 암호화알고리즘에서 라운드키 생성장치 |
DE10061998A1 (de) * | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
JP2002182898A (ja) | 2000-12-14 | 2002-06-28 | Nec Microsystems Ltd | 積算値及び周期関数の生成方法及び回路 |
US6804696B2 (en) * | 2000-12-19 | 2004-10-12 | International Business Machines Corporation | Pipelining operations in a system for performing modular multiplication |
US7305092B2 (en) * | 2000-12-19 | 2007-12-04 | Qualcomm Incorporated | Method and system to accelerate cryptographic functions for secure e-commerce applications |
US6959346B2 (en) * | 2000-12-22 | 2005-10-25 | Mosaid Technologies, Inc. | Method and system for packet encryption |
JP4074057B2 (ja) * | 2000-12-28 | 2008-04-09 | 株式会社東芝 | 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法 |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7607165B2 (en) | 2001-03-09 | 2009-10-20 | The Athena Group, Inc. | Method and apparatus for multiplication and/or modular reduction processing |
US20020172355A1 (en) * | 2001-04-04 | 2002-11-21 | Chih-Chung Lu | High-performance booth-encoded montgomery module |
US7017064B2 (en) * | 2001-05-09 | 2006-03-21 | Mosaid Technologies, Inc. | Calculating apparatus having a plurality of stages |
US6990199B2 (en) * | 2001-06-12 | 2006-01-24 | Corrent Corporation | Apparatus and method for cipher processing system using multiple port memory and parallel read/write operations |
WO2003040911A2 (fr) * | 2001-06-13 | 2003-05-15 | Zencod S.A. | Carte d'acceleration de traitement cryptographique |
AU2002347560A1 (en) * | 2001-06-20 | 2003-01-02 | Pact Xpp Technologies Ag | Data processing method |
US20030007636A1 (en) * | 2001-06-25 | 2003-01-09 | Alves Vladimir Castro | Method and apparatus for executing a cryptographic algorithm using a reconfigurable datapath array |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7403615B2 (en) * | 2001-08-24 | 2008-07-22 | Broadcom Corporation | Methods and apparatus for accelerating ARC4 processing |
JP4787434B2 (ja) * | 2001-08-24 | 2011-10-05 | 富士通コンポーネント株式会社 | 暗号化方法、通信システム、データ入力装置 |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US7043017B2 (en) * | 2001-09-13 | 2006-05-09 | Freescale Semiconductor, Inc. | Key stream cipher device |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US6922717B2 (en) * | 2001-09-28 | 2005-07-26 | Intel Corporation | Method and apparatus for performing modular multiplication |
JP4045777B2 (ja) * | 2001-10-30 | 2008-02-13 | 株式会社日立製作所 | 情報処理装置 |
DE10201449C1 (de) * | 2002-01-16 | 2003-08-14 | Infineon Technologies Ag | Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor |
AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
DE10215771A1 (de) | 2002-04-10 | 2003-11-20 | Infineon Technologies Ag | Konfigurierbares Rechenwerk |
JP2003317202A (ja) * | 2002-04-11 | 2003-11-07 | Cis Electronica Industria & Comercio Ltda | 磁気読み取り装置の磁気ヘッド |
US7941662B2 (en) * | 2002-05-31 | 2011-05-10 | Broadcom Corporation | Data transfer efficiency in a cryptography accelerator system |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
JP2004078053A (ja) | 2002-08-22 | 2004-03-11 | Sony Corp | 暗号化装置 |
US7451326B2 (en) * | 2002-08-26 | 2008-11-11 | Mosaid Technologies, Inc. | Method and apparatus for processing arbitrary key bit length encryption operations with similar efficiencies |
US7386705B2 (en) * | 2002-08-27 | 2008-06-10 | Mosaid Technologies Inc. | Method for allocating processor resources and system for encrypting data |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US20040086114A1 (en) * | 2002-11-06 | 2004-05-06 | Sun Microsystems, Inc. | System and method for implementing DES permutation functions |
WO2004045135A1 (en) * | 2002-11-06 | 2004-05-27 | Sun Microsystems, Inc. | System and method for implementing des encryption |
US7000089B2 (en) * | 2002-12-20 | 2006-02-14 | International Business Machines Corporation | Address assignment to transaction for serialization |
US7574604B2 (en) * | 2003-03-04 | 2009-08-11 | Sony Corporation | Network device registration |
US7536560B2 (en) * | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7519833B2 (en) * | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US8060755B2 (en) * | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7529368B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7529367B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7844053B2 (en) * | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7900055B2 (en) * | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7542566B2 (en) * | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7539876B2 (en) * | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7392399B2 (en) * | 2003-05-05 | 2008-06-24 | Sun Microsystems, Inc. | Methods and systems for efficiently integrating a cryptographic co-processor |
FR2857535A1 (fr) * | 2003-07-09 | 2005-01-14 | Atmel Corp | Procede et systeme pour brouiller le contenu d'une cellule dans un circuit integre. |
US7412588B2 (en) | 2003-07-25 | 2008-08-12 | International Business Machines Corporation | Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US20050071656A1 (en) * | 2003-09-25 | 2005-03-31 | Klein Dean A. | Secure processor-based system and method |
US7653196B2 (en) * | 2004-04-27 | 2010-01-26 | Intel Corporation | Apparatus and method for performing RC4 ciphering |
US8095778B1 (en) | 2004-06-30 | 2012-01-10 | Open Computing Trust I & II | Method and system for sharing functional units of a multithreaded processor |
US7941642B1 (en) | 2004-06-30 | 2011-05-10 | Oracle America, Inc. | Method for selecting between divide instructions associated with respective threads in a multi-threaded processor |
US7216216B1 (en) | 2004-06-30 | 2007-05-08 | Sun Microsystems, Inc. | Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window |
US7401206B2 (en) * | 2004-06-30 | 2008-07-15 | Sun Microsystems, Inc. | Apparatus and method for fine-grained multithreading in a multipipelined processor core |
US7676655B2 (en) * | 2004-06-30 | 2010-03-09 | Sun Microsystems, Inc. | Single bit control of threads in a multithreaded multicore processor |
US7370243B1 (en) | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US7890734B2 (en) | 2004-06-30 | 2011-02-15 | Open Computing Trust I & II | Mechanism for selecting instructions for execution in a multithreaded processor |
US7523330B2 (en) * | 2004-06-30 | 2009-04-21 | Sun Microsystems, Inc. | Thread-based clock enabling in a multi-threaded processor |
US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US7774393B1 (en) | 2004-06-30 | 2010-08-10 | Oracle America, Inc. | Apparatus and method for integer to floating-point format conversion |
US7185178B1 (en) | 2004-06-30 | 2007-02-27 | Sun Microsystems, Inc. | Fetch speculation in a multithreaded processor |
US7437538B1 (en) | 2004-06-30 | 2008-10-14 | Sun Microsystems, Inc. | Apparatus and method for reducing execution latency of floating point operations having special case operands |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7373489B1 (en) | 2004-06-30 | 2008-05-13 | Sun Microsystems, Inc. | Apparatus and method for floating-point exception prediction and recovery |
US7861063B1 (en) | 2004-06-30 | 2010-12-28 | Oracle America, Inc. | Delay slot handling in a processor |
US7353364B1 (en) | 2004-06-30 | 2008-04-01 | Sun Microsystems, Inc. | Apparatus and method for sharing a functional unit execution resource among a plurality of functional units |
US7478225B1 (en) | 2004-06-30 | 2009-01-13 | Sun Microsystems, Inc. | Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor |
US7343474B1 (en) | 2004-06-30 | 2008-03-11 | Sun Microsystems, Inc. | Minimal address state in a fine grain multithreaded processor |
US7747771B1 (en) | 2004-06-30 | 2010-06-29 | Oracle America, Inc. | Register access protocol in a multihreaded multi-core processor |
US7434000B1 (en) | 2004-06-30 | 2008-10-07 | Sun Microsystems, Inc. | Handling duplicate cache misses in a multithreaded/multi-core processor |
US7533248B1 (en) | 2004-06-30 | 2009-05-12 | Sun Microsystems, Inc. | Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor |
US7383403B1 (en) | 2004-06-30 | 2008-06-03 | Sun Microsystems, Inc. | Concurrent bypass to instruction buffers in a fine grain multithreaded processor |
US7178005B1 (en) | 2004-06-30 | 2007-02-13 | Sun Microsystems, Inc. | Efficient implementation of timers in a multithreaded processor |
US8225034B1 (en) | 2004-06-30 | 2012-07-17 | Oracle America, Inc. | Hybrid instruction buffer |
US7426630B1 (en) | 2004-06-30 | 2008-09-16 | Sun Microsystems, Inc. | Arbitration of window swap operations |
US7496753B2 (en) * | 2004-09-02 | 2009-02-24 | International Business Machines Corporation | Data encryption interface for reducing encrypt latency impact on standard traffic |
US7409558B2 (en) * | 2004-09-02 | 2008-08-05 | International Business Machines Corporation | Low-latency data decryption interface |
WO2006059873A1 (en) * | 2004-12-01 | 2006-06-08 | Bstech Co., Ltd. | Encryption processor |
KR20060061219A (ko) * | 2004-12-01 | 2006-06-07 | 주식회사 비에스텍 | 암호처리 프로세서 |
US8037250B1 (en) | 2004-12-09 | 2011-10-11 | Oracle America, Inc. | Arbitrating cache misses in a multithreaded/multi-core processor |
US20060153382A1 (en) * | 2005-01-12 | 2006-07-13 | Sony Computer Entertainment America Inc. | Extremely fast data encryption, decryption and secure hash scheme |
US8271805B2 (en) * | 2005-02-04 | 2012-09-18 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a secure buffer |
KR20070118589A (ko) * | 2005-02-11 | 2007-12-17 | 유니버셜 데이터 프로텍션 코퍼레이션 | 마이크로프로세서 데이터 보안을 위한 방법 및 시스템 |
US7587614B1 (en) * | 2005-08-30 | 2009-09-08 | Altera Corporation | Encryption algorithm optimized for FPGAs |
US20070150530A1 (en) * | 2005-12-13 | 2007-06-28 | Intel Corporation | Resisting cache timing based attacks |
US7873830B2 (en) * | 2006-01-13 | 2011-01-18 | International Business Machines Corporation | Methods for coordinating access to memory from at least two cryptography secure processing units |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US9860055B2 (en) * | 2006-03-22 | 2018-01-02 | Synopsys, Inc. | Flexible architecture for processing of large numbers and method therefor |
JP4919690B2 (ja) * | 2006-04-19 | 2012-04-18 | シーイエス エレクトロニカ インダストリア エ コメルスィオ リミタダ | 磁気カード読み取りシステム |
JP2008011512A (ja) * | 2006-06-01 | 2008-01-17 | Canon Inc | データ処理装置、データ記憶装置およびそれらのデータ処理方法 |
US7693257B2 (en) * | 2006-06-29 | 2010-04-06 | Accuray Incorporated | Treatment delivery optimization |
US8301905B2 (en) * | 2006-09-08 | 2012-10-30 | Inside Secure | System and method for encrypting data |
WO2008031205A1 (en) * | 2006-09-13 | 2008-03-20 | Elliptic Semiconductor Inc. | Multiple sequential security key encryption - decryption |
US8213607B2 (en) * | 2006-10-18 | 2012-07-03 | Qualcomm Incorporated | Method for securely extending key stream to encrypt high-entropy data |
US7953221B2 (en) * | 2006-12-28 | 2011-05-31 | Intel Corporation | Method for processing multiple operations |
US8594322B2 (en) * | 2007-07-10 | 2013-11-26 | Stmicroelectronics S.R.L. | Encoding/decoding apparatus |
US8347359B2 (en) | 2007-12-28 | 2013-01-01 | Bruce Backa | Encryption sentinel system and method |
US7522723B1 (en) | 2008-05-29 | 2009-04-21 | Cheman Shaik | Password self encryption method and system and encryption by keys generated from personal secret information |
GB2463031B (en) * | 2008-08-28 | 2010-12-15 | Samsung Electronics Co Ltd | Device and method for encrypting data or providing an encryption key |
US8024719B2 (en) | 2008-11-03 | 2011-09-20 | Advanced Micro Devices, Inc. | Bounded hash table sorting in a dynamic program profiling system |
US20100115494A1 (en) * | 2008-11-03 | 2010-05-06 | Gorton Jr Richard C | System for dynamic program profiling |
US8478948B2 (en) * | 2008-12-04 | 2013-07-02 | Oracle America, Inc. | Method and system for efficient tracing and profiling of memory accesses during program execution |
US20120008768A1 (en) * | 2010-07-08 | 2012-01-12 | Texas Instruments Incorporated | Mode control engine (mce) for confidentiality and other modes, circuits and processes |
KR101481402B1 (ko) | 2012-10-31 | 2015-01-14 | 고려대학교 산학협력단 | 공개키 암호화 시스템 및 그 방법 |
GB201513316D0 (en) * | 2015-07-29 | 2015-09-09 | Flynn Thomas M | P19-0 encoding engine |
US9660966B1 (en) * | 2015-09-10 | 2017-05-23 | Rockwell Collins, Inc. | Multilevel secure communication systems with encryption based separation |
US10706101B2 (en) | 2016-04-14 | 2020-07-07 | Advanced Micro Devices, Inc. | Bucketized hash tables with remap entries |
JP6834771B2 (ja) * | 2017-05-19 | 2021-02-24 | 富士通株式会社 | 通信装置および通信方法 |
CN109710308B (zh) * | 2017-10-25 | 2023-03-31 | 阿里巴巴集团控股有限公司 | 任务的处理方法、装置和系统 |
US20220060315A1 (en) * | 2019-01-07 | 2022-02-24 | Cryptography Research, Inc. | Sign-based partial reduction of modular operations in arithmetic logic units |
US11599649B2 (en) * | 2020-06-29 | 2023-03-07 | Rockwell Automation Technologies, Inc. | Method and apparatus for managing transmission of secure data packets |
CN112052042B (zh) * | 2020-09-15 | 2023-08-15 | 厦门壹普智慧科技有限公司 | 一种数据流水线处理器系统 |
WO2023003737A2 (en) * | 2021-07-23 | 2023-01-26 | Cryptography Research, Inc. | Multi-lane cryptographic engine and operations thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214760A (ja) * | 1992-12-11 | 1994-08-05 | Natl Semiconductor Corp <Ns> | 小修正を行って既存ハードウェアで実現する2進乗算 |
JPH07200260A (ja) * | 1993-11-23 | 1995-08-04 | Hewlett Packard Co <Hp> | 単一プロセッサにおける並列データ処理 |
JPH08123670A (ja) * | 1994-09-28 | 1996-05-17 | Philips Electron Nv | モジュラー演算を計算するデバイス及びこれを用いたスマートカード |
JPH11506230A (ja) * | 1996-03-28 | 1999-06-02 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | シーケンシャルプロセッサにおいてデータ要素の組を処理する方法およびコンピュータシステム |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL213776A (ja) * | 1957-01-16 | |||
US4004089A (en) | 1975-02-28 | 1977-01-18 | Ncr Corporation | Programmable cryptic device for enciphering and deciphering data |
US4274085A (en) | 1979-06-28 | 1981-06-16 | Motorola, Inc. | Flexible mode DES system |
US4306289A (en) | 1980-02-04 | 1981-12-15 | Western Electric Company, Inc. | Digital computer having code conversion apparatus for an encrypted program |
DE3003998A1 (de) | 1980-02-04 | 1981-09-24 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | System zur ver- und entschluesselung von daten |
US4439839A (en) | 1981-08-24 | 1984-03-27 | International Telephone And Telegraph Corporation | Dynamically programmable processing element |
US4598170A (en) | 1984-05-17 | 1986-07-01 | Motorola, Inc. | Secure microprocessor |
US4747139A (en) | 1984-08-27 | 1988-05-24 | Taaffe James L | Software security method and systems |
US4641238A (en) | 1984-12-10 | 1987-02-03 | Itt Corporation | Multiprocessor system employing dynamically programmable processing elements controlled by a master processor |
US4707800A (en) | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
JPS62229440A (ja) | 1986-03-31 | 1987-10-08 | Toshiba Corp | 配列乗算器 |
US4809169A (en) * | 1986-04-23 | 1989-02-28 | Advanced Micro Devices, Inc. | Parallel, multiple coprocessor computer architecture having plural execution modes |
JPS62271016A (ja) | 1986-05-19 | 1987-11-25 | Sony Corp | デジタル信号処理装置 |
JPS643734A (en) | 1987-06-25 | 1989-01-09 | Fujitsu Ltd | Multiplication circuit |
US4914697A (en) * | 1988-02-01 | 1990-04-03 | Motorola, Inc. | Cryptographic method and apparatus with electronically redefinable algorithm |
GB2215496A (en) | 1988-02-25 | 1989-09-20 | Texas Instruments Ltd | Multi-stage parallel binary adders and/or subtractors |
US5038282A (en) * | 1988-05-11 | 1991-08-06 | Massachusetts Institute Of Technology | Synchronous processor with simultaneous instruction processing and data transfer |
US5001662A (en) | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
US5617574A (en) * | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
US5109506A (en) * | 1989-06-19 | 1992-04-28 | International Business Machines Corp. | Microcomputer system including a microprocessor reset circuit |
JP2825205B2 (ja) * | 1989-07-20 | 1998-11-18 | 日本電信電話株式会社 | 暗号装置 |
US5239654A (en) * | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
DE4016203A1 (de) * | 1990-05-19 | 1991-11-21 | Rolf Prof Dr Trautner | Verfahren zur blockweisen chiffrierung von digitalen daten |
US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
US5301340A (en) * | 1990-10-31 | 1994-04-05 | International Business Machines Corporation | IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle |
US5713037A (en) * | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5524250A (en) * | 1991-08-23 | 1996-06-04 | Silicon Graphics, Inc. | Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers |
CA2073516A1 (en) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
FR2693287B1 (fr) | 1992-07-03 | 1994-09-09 | Sgs Thomson Microelectronics Sa | Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé. |
US5343416A (en) * | 1992-11-02 | 1994-08-30 | Intel Corporation | Method and apparatus for re-configuring a partial product reduction tree |
EP0661624A1 (en) * | 1994-01-04 | 1995-07-05 | Sun Microsystems, Inc. | Pseudo-superscalar technique for video processing |
US5694143A (en) * | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
US5864683A (en) * | 1994-10-12 | 1999-01-26 | Secure Computing Corporartion | System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights |
CN100452072C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于管理在第一装置和第二装置之间的数字文档的分布的方法 |
US5675164A (en) * | 1995-06-07 | 1997-10-07 | International Business Machines Corporation | High performance multi-mesa field effect transistor |
DE69635651T2 (de) * | 1995-09-05 | 2006-09-07 | Mitsubishi Denki K.K. | Vorrichtung und Verfahren zur Datenumwandlung |
JP3156562B2 (ja) * | 1995-10-19 | 2001-04-16 | 株式会社デンソー | 車両用通信装置及び走行車両監視システム |
US5870470A (en) * | 1996-02-20 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for encrypting long blocks using a short-block encryption procedure |
TW421757B (en) * | 1996-06-06 | 2001-02-11 | Matsushita Electric Ind Co Ltd | Arithmetic processor |
US5724422A (en) * | 1996-08-05 | 1998-03-03 | Industrial Technology Research Institute | Encrypting and decrypting instruction boundaries of instructions in a superscalar data processing system |
WO1999014881A2 (en) * | 1997-09-16 | 1999-03-25 | Information Resource Engineering, Inc. | Cryptographic co-processor |
GB9727414D0 (en) | 1997-12-29 | 1998-02-25 | Imperial College | Logic circuit |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
JP3499810B2 (ja) | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
-
1998
- 1998-02-27 US US09/032,029 patent/US6088800A/en not_active Ceased
- 1998-07-30 CA CA002244337A patent/CA2244337C/en not_active Expired - Fee Related
-
1999
- 1999-02-26 GB GB0021091A patent/GB2350218B/en not_active Expired - Fee Related
- 1999-02-26 FR FR9902446A patent/FR2778519B1/fr not_active Expired - Fee Related
- 1999-02-26 JP JP2000533976A patent/JP3979786B2/ja not_active Expired - Fee Related
- 1999-02-26 KR KR1020007009108A patent/KR100638189B1/ko not_active IP Right Cessation
- 1999-02-26 WO PCT/CA1999/000176 patent/WO1999044329A2/en not_active Application Discontinuation
- 1999-02-26 DE DE19983127T patent/DE19983127T1/de not_active Withdrawn
-
2000
- 2000-06-01 US US09/584,930 patent/US6434699B1/en not_active Expired - Lifetime
-
2006
- 2006-07-18 JP JP2006195950A patent/JP5025180B2/ja not_active Expired - Fee Related
-
2010
- 2010-08-26 JP JP2010189796A patent/JP5208174B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-04 US US13/603,137 patent/USRE44697E1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214760A (ja) * | 1992-12-11 | 1994-08-05 | Natl Semiconductor Corp <Ns> | 小修正を行って既存ハードウェアで実現する2進乗算 |
JPH07200260A (ja) * | 1993-11-23 | 1995-08-04 | Hewlett Packard Co <Hp> | 単一プロセッサにおける並列データ処理 |
JPH08123670A (ja) * | 1994-09-28 | 1996-05-17 | Philips Electron Nv | モジュラー演算を計算するデバイス及びこれを用いたスマートカード |
JPH11506230A (ja) * | 1996-03-28 | 1999-06-02 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | シーケンシャルプロセッサにおいてデータ要素の組を処理する方法およびコンピュータシステム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9255883B2 (en) | 2009-10-05 | 2016-02-09 | Konica Minolta, Inc. | Surface plasmon-enhanced fluorescence measuring apparatus |
JP2015505655A (ja) * | 2012-02-02 | 2015-02-23 | 株式会社イノワイアレスInnowireless Co.,Ltd | インターリーバーインデックス生成装置及び方法 |
US9344118B2 (en) | 2012-02-02 | 2016-05-17 | Innowireless Co., Ltd. | Apparatus and method for generating interleaver index |
Also Published As
Publication number | Publication date |
---|---|
DE19983127T1 (de) | 2001-05-10 |
FR2778519A1 (fr) | 1999-11-12 |
KR100638189B1 (ko) | 2006-10-26 |
USRE44697E1 (en) | 2014-01-07 |
JP5208174B2 (ja) | 2013-06-12 |
WO1999044329A2 (en) | 1999-09-02 |
JP2011008285A (ja) | 2011-01-13 |
US6088800A (en) | 2000-07-11 |
CA2244337A1 (en) | 1999-08-27 |
GB2350218A (en) | 2000-11-22 |
JP2002505451A (ja) | 2002-02-19 |
GB0021091D0 (en) | 2000-10-11 |
GB2350218B (en) | 2003-04-23 |
US6434699B1 (en) | 2002-08-13 |
FR2778519B1 (fr) | 2006-08-18 |
WO1999044329A3 (en) | 2000-03-02 |
JP3979786B2 (ja) | 2007-09-19 |
KR20010041069A (ko) | 2001-05-15 |
JP5025180B2 (ja) | 2012-09-12 |
CA2244337C (en) | 2009-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5025180B2 (ja) | 共用メモリ配線を有する暗号化プロセッサ | |
US7320015B2 (en) | Circuit and method for performing multiple modulo mathematic operations | |
US7233970B2 (en) | Computational method, system, and apparatus | |
CN109039640B (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
JP4025722B2 (ja) | データ暗号化のための方法および装置 | |
Salarifard et al. | An efficient low-latency point-multiplication over curve25519 | |
Broscius et al. | Exploiting parallelism in hardware implementation of the DES | |
KR20050078271A (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
JPH05324277A (ja) | 暗号通信方法 | |
US7113593B2 (en) | Recursive cryptoaccelerator and recursive VHDL design of logic circuits | |
CA2617389C (en) | Encryption processor with shared memory interconnect | |
US20100088526A1 (en) | System and Method for Modular Exponentiation | |
Charlwood et al. | Evaluation of the XC6200-series architecture for cryptographic applications | |
GB2381913A (en) | Multiplier circuit comprising a plurality of multiplier segments | |
KR100451570B1 (ko) | 에스피에이에 견디는 타원 곡선 암호화 알고리즘을구현하는 방법 및 장치 | |
KR100406724B1 (ko) | 모듈러 엔에 대한 곱셈의 역원 연산기 및 그를 포함하는데이터 암호화 장치 | |
US8024392B2 (en) | Computational method, system, and apparatus | |
CN114417378A (zh) | 基于梅森数的密钥交换或公钥密码加密优化方法及系统 | |
JPS6259437A (ja) | 暗号化方式 | |
So-Yoon | Field Programmable Gate Array Implementation of RC6 Symmetric Block Cipher | |
RAMYA et al. | Two Key Based RSA Encryption using FFT Algorithm | |
Kocabaş et al. | Enhancing an Embedded Processor Core with a Cryptographic Unit for Performance and Security | |
Ovünç Kocabas et al. | Enhancing an Embedded Processor Core with a Cryptographic Unit for Performance and Security | |
KEY et al. | DESIGN OF A RECONFIGURABLE HARDWARE | |
Li et al. | Design of an Efficient Hybrid Crypto-Processor. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100305 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100408 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100427 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120131 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120203 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120229 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120305 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120402 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120619 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |