JP2006127505A - ベクトルを置換するためのシステムおよび方法 - Google Patents

ベクトルを置換するためのシステムおよび方法 Download PDF

Info

Publication number
JP2006127505A
JP2006127505A JP2005302894A JP2005302894A JP2006127505A JP 2006127505 A JP2006127505 A JP 2006127505A JP 2005302894 A JP2005302894 A JP 2005302894A JP 2005302894 A JP2005302894 A JP 2005302894A JP 2006127505 A JP2006127505 A JP 2006127505A
Authority
JP
Japan
Prior art keywords
vector
entry
stages
entries
permutation
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.)
Pending
Application number
JP2005302894A
Other languages
English (en)
Other versions
JP2006127505A5 (ja
Inventor
George S Moore
ジョージ・エス・ムーア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2006127505A publication Critical patent/JP2006127505A/ja
Publication of JP2006127505A5 publication Critical patent/JP2006127505A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/766Generation of all possible permutations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】ベクトル成分をランダムに並べ換える効率的な手法を提供する。
【解決手段】ベクトルを置換する(permute)方法は、置換構造の入力段に、ベクトルのエントリを提供する。該置換構造は、複数の段と、任意の入力ベクトルエントリを任意の出力ベクトルエントリにルーティングすることができるように該複数の段間でのベクトルエントリのグループの相互接続とを有する。該方法は、置換構造の制御要素(202)に、該置換構造の段間のベクトルエントリのルーティングを制御するランダムな制御ビットをロードする。該置換構造を使用し、該制御ビットに従って、該ベクトルエントリを、置換構造の入力段から出力構造までルーティングする。
【選択図】図2

Description

本出願は、一般に、ベクトルを置換するためのシステムおよび方法に関する。
多くのアプリケーションにおいて、ベクトル成分をランダムに置換する(並べ換える、permute)ように入力ベクトルを処理して、出力ベクトルを生成することが望まれる。また、該置換は、きわめて高速に実行することが望ましい。置換を実行する最適な方法は、階乗置換(factorial permutation)である。階乗置換は、任意のスパンすなわちモジュラス(法、modulus)の、独立して均一に分散した離散型確率変数のソース、すなわち0からN−1にわたる均一なソースを使用する(ここで、Nは任意の整数)。ここで、置換されるベクトルの長さがMであると仮定する。階乗置換では、入力ベクトルの第1の入力成分は、スパンM−1の確率変数を使用して、出力ベクトルのM個の位置のうちの1つに割り当てられる。次に、第2の成分が、スパンM−2の確率変数を使用して、M−1個の残りの位置のうちの1つに割り当てられる。この割り当ては、入力ベクトルの最後の成分が出力ベクトルの或る位置に割り当てられるまで、同じように続く。このようにベクトルエントリをランダム化することにより、M!の置換が可能になる。
階乗置換は、高速のアプリケーションに適用されるときに制限がある。具体的には、階乗置換は、順序型アルゴリズムである。高速なアプリケーションに階乗置換を適応させるためにパイプライン化が適用されることがあるが、このような適応は、集積回路設計において複雑さおよび待ち時間を増大させる。第2のさらに困難な問題は、任意のモジュラスの一様な乱数を得ることである。このような一様な乱数を生成することができるいくつかの既存のアルゴリズムは、一般に、高速のオペレーションにはなじまない。また、他の既存のアルゴリズムは、許容可能な範囲内の値を得るために繰り返しの試行を必要とし、従って、時間通りに決定することができない。
いくつかの代表的な実施形態は、「バタフライ(butterfly)」構造を使用して入力ベクトルを置換するシステムおよび方法に関する。バタフライ構造は、高速フーリエ変換(FFT)および高速アダマール変換(FHT)のアルゴリズムによって使用されるバタフライ構造に類似している。1つの実施形態において、置換すべきベクトルがM個のベクトルエントリを含み、対応するバタフライ構造がlogM個の段を含む。この構造の個々のバタフライ要素は、エントリがバタフライの段間でルーティングされるときに、2つのそれぞれのベクトルエントリが位置を交換することを可能にする。具体的には、それぞれの段(「s」で示される)において、ベクトルエントリは、2個のエントリのグループにグループ化される。それぞれの段において、バタフライ要素の配置によって、i番目のベクトル成分が、2−i番目のベクトル成分と位置を交換することができる。
いくつかの代表的な実施形態は、ベクトルエントリを制御可能なようにルーティングするようバタフライ要素を実現することによって、FFTおよびFHTのアルゴリズムによって使用されるバタフライ構造と異なる。詳細には、FFTおよびFHTアルゴリズムによるエントリのルーティングは、根底にある変換の数学的手法によって定義された決定性のある手法(deterministic manner)で行われる。これとは対照的に、いくつかの代表的な実施形態は、それぞれのバタフライ要素について制御構造を提供する。該制御構造の状態に従い、グループの対応する2つのベクトル成分が、位置を交換し、または、位置の変更なしに次の段に続く。入力ベクトルの置換は、ランダム化アルゴリズムを使用して制御構造の状態をロードすることにより、生じる。バタフライ要素をこのようにして実現することによって、制御構造のランダム化に依存して、任意の個々のベクトル成分を出力ベクトルの任意の位置にルーティングすることができる。
いくつかの代表的な実施形態は、ベクトル置換をこのように実現することによって、比較的大きいランダム性を提供することができる。具体的には、バタフライ構造は、2^{(M/2)(logM)}の置換を行うことができる。さらに、バタフライ要素は、例えば2対1(2-to-1)のマルチプレクサを使用して実現されることができる。したがって、バタフライ構造を、容易にパイプライン化してきわめて高速に動作させることができる。また、ランダム化するベクトルが2の累乗のベクトルエントリ数を有する場合、制御構造のためのビットの生成は、高速動作に適合したアルゴリズムを使用して行うことができる。
図面を参照すると、図1は、1つの代表的な一実施形態によるバタフライ構造(butterfly structure)100を示す。バタフライ構造100は、段と段の間で起こり得るベクトル成分のルーティングを示す。図1に示したように、バタフライ構造100は、簡潔にするために、ハードウェア要素間のルーティングおよび接続を実行するのに使用されるハードウェア要素を省略して描かれている。
置換(permute)すべきベクトルは、(x(0)〜x(15)で示した)16個のベクトルエントリを含む。置換されるエントリは、シングルビット値でもデジタルワードでもよい。バタフライ構造100内の段数は4である。一般的な事例において、任意の入力ベクトルエントリを任意の出力ベクトルエントリにルーティングすることを可能にするために、LogM個の段が利用され、ここで、Mは、ベクトルエントリの総数を表す。バタフライ構造100のそれぞれの段において、対応するベクトル成分を切り換える(交換する)ために、8(すなわちM/2)個のバタフライ要素(図示せず)が使用される。したがって、バタフライ要素の総数および制御ビットの総数は、32(すなわち(MLogM)/2))である。
一般的な事例に関し、ベクトルエントリは、2個のエントリのグループにグループ化される。段101には、2つのベクトルエントリの8個のグループ(110−1〜110−8)がある。段102には、4つのベクトルエントリの4つのグループ(120−1〜120−4)がある。段103には、8つのエントリの2つのグループ(130−1と130−2)がある。また、段104には、16個のエントリの1つのグループ140だけがある。バタフライ要素の制御構造の状態に従って、対応するベクトル成分は、位置を交換し、または同じ位置で次の段に続く。具体的には、それぞれのグループのi番目のベクトルエントリは、2−i番目のベクトルエントリと位置を交換し、または、その2つのベクトルエントリは自分達の位置を維持する。
段101において、ベクトルエントリは、それぞれが2つのエントリのグループ(110−1〜110−8)にグループ化される。グループ110−1の場合、ベクトルエントリ111−1および111−2は、制御構造の状態に従って位置を変化させることができる。例えば、対応するバタフライ要素の制御構造が「0(ゼロ)」に設定されたならば、ベクトルエントリ111−1は、段102のエントリ121−1にルーティングされ、エントリ111−2は、エントリ121−2にルーティングされることになる。代替的に、制御構造が「1」に設定されたならば、エントリ111−1は、エントリ121−2にルーティングされ、エントリ111−2は、エントリ121−1にルーティングされることになる。様々なグループの他のエントリが、同様の手法でルーティングされる。
段102を参照すると、ベクトルエントリは、それぞれが4つのエントリのグループ(120−1〜120−4)にグループ化される。グループ120−1の場合、ベクトルエントリ121−1および121−4が、制御構造の状態に従って位置を変化させることができる。対応するバタフライ要素の制御構造が「0」に設定されたならば、ベクトルエントリ121−1は、段102の要素131−1にルーティングされ、エントリ121−4はエントリ131−4にルーティングされることになる。代替的に、制御構造が「1」に設定されたならば、エントリ121−1が、エントリ131−4にルーティングされ、エントリ121−4が、エントリ131−1にルーティングされることになる。様々なグループの他のエントリが、同様の手法でルーティングされる。
エントリのルーティングは、同様の手法で段104に続き、その後、バタフライ構造の出力(出力ベクトルエントリX(0)〜X(15)で示される)に続く。図1に示した経路から、任意の入力ベクトルエントリを、任意の出力ベクトルエントリにルーティングすることができる。バタフライ構造100を使用した可能な置換数(2^{(M/2)(logM)})は、最適数(M!)よりも少ないが、この置換数は、ほとんどのアプリケーションに対して十分なランダム性を提供する。バタフライ構造100は、ベクトルエントリのルーティングに依存性を導入する。例えば、エントリ111−1がエントリ121−1にルーティングされる場合、エントリ111−1は、出力ベクトル内の偶数エントリだけにルーティングされ、エントリ111−2は、出力ベクトル内の奇数エントリだけにルーティングされる。完全にランダムな置換が実行されると、そのような依存性は存在しなくなる。所与のアプリケーションにとってこのような依存性が適切でない場合は、1つまたはいくつかのバタフライ構造100をカスケード接続して、ベクトルエントリのルーティングの依存性を実質的に緩和することができる。
他の代表的な実施形態に従うと、バタフライ構造100を変形させることができる。例えば、バタフライ構造100の配列を逆にして、FFTの「DIF(decimation-in-frequency、周波数間引き)」と類似の手法で、相互接続の鏡像を形成することができる。また、バタフライ構造100の上記説明は、入力ベクトルのベクトルエントリの数が2の累乗のときのルーティングの実施形態について述べたが、他の実施形態は、他のサイズのベクトルを置換することができる。具体的には、FFT構造が合成数(composite number)まで拡張されるときと同じ手法で、バタフライ構造を合成数Mまで拡張することができる。
図2は、代表的な一実施形態によるバタフライ構造においてベクトルエントリをルーティングするための、個別のバタフライ要素を示す。ベクトルエントリのルーティングは、2対1(2-to-1)のマルチプレクサ201−1および201−2によって実行される。マルチプレクサ201−1および201−2は、レジスタロジック202によって制御される。具体的には、制御ビットが、レジスタロジック202に、線207を介して乱数発生器208によってロードされることができる。その後、レジスタロジック202は、2進値をマルチプレクサ201−1および201−2に出力する。レジスタロジック202の値が「0」ならば、線203に現れる値が、出力線205にルーティングされ、線204に現れる値が出力線206にルーティングされる。代替的に、ロジック202のレジスタ値が「1」ならば、線203に現れる値が、出力線206にルーティングされ、線204に現れる値が、出力線205にルーティングされる。
バタフライ構造100の上記説明は、2つの対応するベクトルエントリだけを、各ルーティング位置に依存したやり方でルーティングすることに依拠しているが、他のルーティング機構を使用してもよい。図2に示したバタフライ要素200の代わりに、バレルシフタ(barrel shifter)を利用して、段と段の間でベクトルエントリをルーティングすることができる。バレルシフタとは、データワードを、定義された数のビットだけシフトまたは回転(循環)させることができるハードウェア要素である。例えば、Radix−4分解(radi-4 decomposition)を使用して、4入力4出力のバレルシフタを使用することができ、または、置換するベクトルエントリの数に依存して、8入力8出力バレルシフタを使用することができる。図3Aは、4入力4出力のバタフライ要素300のブロック図を示し、図3Bは、バタフライ要素300の真理値表の内容350を示す。バタフライ要素300は、2つの制御ビットに従って動作する。図3Bで分かるように、4ビットのデータワード(ABCD)に適用される回転ビット数は、制御ビットによって定義される(すなわち、00−ゼロ回転、01−1ビットの回転、10−2ビットの回転、および11−3ビットの回転)。より高次のバレルシフタを使用するほど、アプリケーションにおける制御ビット数が少なくなる。例えば、64ビットベクトルの置換は、バタフライ構造100に類似の配置を使用すると、192ビットを必要とするが、8ビットのバレルシフタ(3個の制御ビットを有する)を使用すると、48個の制御ビットを必要とする。
いくつかの代表的な実施形態は、適切な置換構造を使用してベクトル置換を実現することによって、比較的複雑さの小さい回路で、比較的大きなランダム性を提供することができる。いくつかの実施形態において、バタフライ構造は、2^{(M/2)(logM)}の置換を行うことができる。さらに、バタフライ要素は、例えば2対1のマルチプレクサや他の複雑さの小さい論理装置を使用して実現されることができる。したがって、バタフライ構造を、容易にパイプライン化してきわめて高速に動作させることができる。また、ランダム化するベクトルが2の累乗のベクトルエントリ数を有する場合、制御構造のビットの生成は、高速動作に適切なアルゴリズムを使用して行うことができる。
代表的な一実施形態による、ベクトルを置換するバタフライ構造を示す図で。 代表的な一実施形態による、バタフライ要素の実施形態を示す図。 代表的な一実施形態による、ベクトルを置換するために使用することができるバレルシフタおよび対応する真理値表を示す図。
符号の説明
100 バタフライ構造
101〜104 段
200 バタフライ要素
201 マルチプレクサ
202 制御要素(制御レジスタ)

Claims (10)

  1. ベクトルを置換するための方法であって、
    前記ベクトルのベクトルエントリを、置換構造の入力段に提供するステップであって、該置換構造は、複数の段(101〜104)と、任意の入力ベクトルエントリを任意の出力ベクトルエントリにルーティングすることができるように該複数の段間でのベクトルエントリのグループの相互接続と、を有するステップと、
    前記置換構造の制御要素(202)に、該置換構造の段間のベクトルエントリのルーティングを制御するランダムな制御ビットをロードするステップと、
    前記置換構造を使用し、前記制御ビットに従って、前記ベクトルエントリを前記置換構造の入力段から出力構造までルーティングするステップと、
    を含む、方法。
  2. 前記置換構造は、それぞれの制御ビットによって、2つの対応するベクトルエントリを、前記置換構造の2つの段の間で交換し、または、該対応するベクトルエントリを、該2つの段の間で同じ位置に継続させる、バタフライ要素を有する、
    請求項1に記載の方法。
  3. 前記バタフライ要素のそれぞれは、制御レジスタ(202)に結合された2つの2対1マルチプレクサ(201)を含む、
    請求項2に記載の方法。
  4. 前記置換構造のそれぞれの段は、ベクトルエントリを、2個のエントリのグループにグループ化し、該Sは、前記置換構造の前記段を示す、
    請求項1に記載の方法。
  5. 前記置換構造の前記相互接続は、グループのi番目のベクトルエントリを、該グループの(2−i番目)のベクトルエントリと交換することを可能にする、
    請求項3に記載の方法。
  6. 前記ベクトルエントリの数は、2の累乗である、
    請求項1に記載の方法。
  7. 前記置換構造は、logM個の段を含み、該Mは、前記ベクトルのベクトルエントリの数を表す、
    請求項5に記載の方法。
  8. さらに、
    前記ベクトルエントリを、制御ビットに従って、後続の置換構造の入力段から、該連続置換構造の出力段にルーティングするステップを含み、
    該後続の置換構造は、前記置換構造にカスケード接続されている、
    請求項1に記載の方法
  9. 前記置換構造は、
    ベクトルエントリを、前記複数の段間でルーティングするバレルシフタを含む、
    請求項1に記載の方法。
  10. ベクトルを置換するためのシステムであって、
    前記ベクトルのエントリを受け取る入力段と、該ベクトルの置換済みベクトルを出力する出力段とを有する複数の段(101〜104)であって、該複数の段のそれぞれは、前記ベクトルのエントリのうちの一部のエントリの位置を制御可能なように切り換える論理要素(200)を含む、複数の段(101〜104)と、
    前記複数の段の前記論理要素間の相互接続と、
    前記複数の段の前記論理要素に、ビットを、偽似ランダムなやり方でロードして、該論理要素の動作を制御する制御要素(208)と、を備え、
    前記論理要素および前記相互接続は、前記ベクトルの任意のエントリを、前記出力段の任意の出力位置にルーティングすることができるように配置されている、
    システム。
JP2005302894A 2004-10-30 2005-10-18 ベクトルを置換するためのシステムおよび方法 Pending JP2006127505A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/978,065 US20060095485A1 (en) 2004-10-30 2004-10-30 System and method for permuting a vector

Publications (2)

Publication Number Publication Date
JP2006127505A true JP2006127505A (ja) 2006-05-18
JP2006127505A5 JP2006127505A5 (ja) 2008-03-21

Family

ID=35458421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005302894A Pending JP2006127505A (ja) 2004-10-30 2005-10-18 ベクトルを置換するためのシステムおよび方法

Country Status (4)

Country Link
US (1) US20060095485A1 (ja)
JP (1) JP2006127505A (ja)
DE (1) DE102005039687A1 (ja)
GB (1) GB2419706A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783690B2 (en) * 2005-07-07 2010-08-24 International Business Machines Corporation Electronic circuit for implementing a permutation operation
GB2456775B (en) 2008-01-22 2012-10-31 Advanced Risc Mach Ltd Apparatus and method for performing permutation operations on data
CN101894095B (zh) * 2010-02-08 2015-08-12 北京韦加航通科技有限责任公司 快速哈达玛变换装置及方法
US9378017B2 (en) * 2012-12-29 2016-06-28 Intel Corporation Apparatus and method of efficient vector roll operation
US20240264994A1 (en) * 2023-02-08 2024-08-08 Oxla sp. z o.o. Storage efficient multimaps for processing database queries

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734721A (en) * 1995-10-12 1998-03-31 Itt Corporation Anti-spoof without error extension (ANSWER)
US5996057A (en) * 1998-04-17 1999-11-30 Apple Data processing system and method of permutation with replication within a vector register file
US6334176B1 (en) * 1998-04-17 2001-12-25 Motorola, Inc. Method and apparatus for generating an alignment control vector
US6728295B1 (en) * 1999-06-30 2004-04-27 University Of Hong Kong Code division multiple access communication system using overlapping spread sequences
JP2001147799A (ja) * 1999-10-01 2001-05-29 Hitachi Ltd データ移動方法および条件付転送論理ならびにデータの配列換え方法およびデータのコピー方法
US6934388B1 (en) * 1999-11-12 2005-08-23 Itt Manufacturing Enterprises, Inc. Method and apparatus for generating random permutations
CA2437036A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Efficient implementation of a multidimensional fast fourier transform on a distributed-memory parallel multi-node computer

Also Published As

Publication number Publication date
GB2419706A (en) 2006-05-03
DE102005039687A1 (de) 2006-05-04
GB0521433D0 (en) 2005-11-30
US20060095485A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
ES2954562T3 (es) Aprendizaje máquina acelerado por hardware
JP3024702B2 (ja) ダイナミックフィードバックスクランブル技術キーストリーム発生装置
US6381690B1 (en) Processor for performing subword permutations and combinations
US7639797B2 (en) Apparatus and method of performing AES Rijndael algorithm
JP5532560B2 (ja) データ変換装置、およびデータ変換方法、並びにプログラム
US20030103626A1 (en) Programmable data encryption engine
US10007488B2 (en) Secured pseudo-random number generator
US8270558B2 (en) Electronic device, barrel shifter unit and method of barrel shifting
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JP2006127505A (ja) ベクトルを置換するためのシステムおよび方法
CN110784307B (zh) 轻量级密码算法scenery实现方法、装置及存储介质
KR20010111784A (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
US7269615B2 (en) Reconfigurable input Galois field linear transformer system
US9166795B2 (en) Device and method for forming a signature
JPH10240500A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
KR20010043433A (ko) 시퀀스 발생기
JP2004151951A (ja) アレイ型プロセッサ
US6622242B1 (en) System and method for performing generalized operations in connection with bits units of a data word
US7587614B1 (en) Encryption algorithm optimized for FPGAs
JP2006127505A5 (ja)
US9389834B2 (en) Pseudorandom number generating circuit and method
Sreekanth et al. Implementation of area-efficient AES using FPGA for IOT applications
CN112564891B (zh) 一种基于反馈移位寄存器阵列的序列密码算法计算系统
US20140337395A1 (en) Semiconductor memory device and random number generator
CN112579516B (zh) 一种可重构处理单元阵列

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616