JP2005100085A - 演算装置、および、暗号・復号演算装置 - Google Patents

演算装置、および、暗号・復号演算装置 Download PDF

Info

Publication number
JP2005100085A
JP2005100085A JP2003332817A JP2003332817A JP2005100085A JP 2005100085 A JP2005100085 A JP 2005100085A JP 2003332817 A JP2003332817 A JP 2003332817A JP 2003332817 A JP2003332817 A JP 2003332817A JP 2005100085 A JP2005100085 A JP 2005100085A
Authority
JP
Japan
Prior art keywords
matrix
calculation
arithmetic
unit
result
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
Application number
JP2003332817A
Other languages
English (en)
Other versions
JP3940714B2 (ja
Inventor
Koichi Fujisaki
浩一 藤崎
Atsushi Shinpo
淳 新保
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003332817A priority Critical patent/JP3940714B2/ja
Priority to US10/947,208 priority patent/US20050108313A1/en
Publication of JP2005100085A publication Critical patent/JP2005100085A/ja
Application granted granted Critical
Publication of JP3940714B2 publication Critical patent/JP3940714B2/ja
Priority to US12/285,077 priority patent/US7869592B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 行列演算を含む複数の演算処理の一部を共通化し、且つ、一部行列演算を並列に実行し高速化を実現した演算装置、および、暗号・復号演算装置の提供。
【解決手段】 第1の行列演算を含む第1の演算処理と、第2の行列演算を含む第2の演算処理との何れも演算処理可能な演算装置は、
前記第2の行列演算を行う第1の演算部41と、前記第1の行列演算を行うために、前記第1の演算部と並列に行列演算を行う、少なくとも1以上の他の演算部42と、前記第1の演算部と、前記他の演算部との各演算結果を論理演算する論理回路46とを備える。そして、演算装置は、前記第1の行列演算の演算結果を要求されたとき、前記論理回路46から得る。
【選択図】 図5


Description

本発明は、複数の演算処理を実行するものであって、これら演算処理の少なくとも一部にそれぞれ行列演算を用いている演算装置、および、暗号・復号演算装置に関する。
米国標準の共通鍵暗号方式AES(Advanced Encryption Standard)は、従来の暗号方式DES(Data Encryption Standard)に代わり、世界標準として使われる共通暗号方式である。AESの仕様は、FIPS190−2により定められている。
このAESの演算の中に、行列演算をおこなうMixColumnsとInvMixColumsという演算がある。このInvMixColumsとMixColumnsの行列演算は、一部回路を共有する事ができる事が示されている(例えば、非特許文献1参照)。
このようにAESでは、MixColumnsとInvMixColumnsは一部回路を共有することができる。このように、回路を共有化することにより、MixColumnsとInvMixColumnsをそれぞれ独立に設計するよりも、回路規模は小さくすることができる。
"AESにおける多項式乗算回路の効率的実装法" 情報処理学会第63回(平成13年後期)全国大会
LSIを実装する場合は、回路規模を小さくしてコストを抑えることと、および高い動作周波数で動作することの両方が求められる。コストを抑えるには、LSIとして実装する場合において、可能な限り実装に必要な回路規模を小さくすることで対応することができる。LSIの製造コストは、1枚のウェハから取れるLSIの数により決まる。このため、1枚のウェハから取れるLSIの数が少なくなると製造コストが上昇してゆく。そのため、回路規模が大きくなることで、LSIの面積も比例して大きくなり、1枚のウェハから取れるLSIの数が少なくなる。この結果、LSI一つあたりの製造コストが高くなる。このように製造時のコストを抑えるには回路規模は小さくすればよく、回路構成の設計段階において、演算回路を共有できるように回路を構成する必要がある。
また、同期信号を用いたLSIにおいて高い動作周波数を出すためには、動作周波数の決定要因である最大遅延パスを短くする必要がある。この最大遅延パスは、クリティカルパスと呼ばれ、同期信号1周期内で演算回路内の一番長い演算をおこなう信号線である。このクリティカルパスを短くすることで、動作周波数を上げることできるようになる。クティカルパスを短くするためには、並列に演算できる部分を見つけ、並列に演算できるような回路構成とする必要がある。
しかし、上記論文で示されているInvMixColumsとMixColumnsとの行列演算の一部共有化方法においては、回路規模を小さくすることは示されているが、演算を並列に行ない、演算を高速化することについては何ら示されていない。
そこで、本発明は、行列演算を含む複数の演算処理の一部を共通化し、且つ、一部行列演算を並列に実行し高速化を実現した演算装置、および、暗号・復号演算装置を提供することを目的とする。
本発明は、第1の行列演算を含む第1の演算処理と、第2の行列演算を含む第2の演算処理との何れも演算処理可能な演算装置において、前記第2の行列演算を行う第1の演算部と、前記第1の行列演算を行うために、前記第1の演算部と並列に行列演算を行う、少なくとも1以上の他の演算部と、前記第1の演算部と、前記他の演算部との各演算結果を論理演算する論理回路とを備え、前記第1の行列演算の演算結果を、前記論理回路から得るようにした。
また、本発明は、第1の行列演算を含む第1の演算処理と、第2の行列演算を含む第2の演算処理との何れも演算処理可能な演算装置において、各行列演算結果を排他的論理和することにより前記第1の行列演算と同じ演算結果が得られる前記第2の行列演算と第3の行列演算とのうち、前記第2の行列演算を行う第1の演算部と、前記第3の行列演算を行う第2の演算部と、前記第1の演算部で演算された演算結果と前記第2の演算部で演算された演算結果とを論理演算する論理回路と、備え、前記第1の行列演算の演算結果を、前記論理回路から得るようにした。
また、本発明の暗号・復号演算装置は、第1の行列演算を含む復号処理と、第2の行列演算を含む暗号処理との何れも実行可能な暗号・復号演算装置において、各演算結果を排他的論理和することにより前記第1の行列演算と同じ演算結果が得られる前記第2の行列演算と第3の行列演算とのうち、前記第2の行列演算を行う第1の演算部と、前記第3の行列演算を行う第2の演算部と、前記第1の演算部で演算された演算結果と前記第2の演算部で演算された演算結果とを論理演算する論理回路とを備え、前記第1の行列演算の演算結果を、前記論理回路から得るようにした。
本発明によれば、特に、演算する行列を分割し、分割した行列を並列化実行するようにしたから、行列演算の実行を高速化できるようになった。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
行列Mとある規約多項式上で定義された拡大体とのかけ算は、行列Mを二つの以上の行列(M1,M2,…,Mn(n2))の加算で表現すると、式1のように展開できる。
Figure 2005100085
このように、行列Mを式1に示すように、二対以上の行列の加算で等価に表現しなおすことで、上式の右辺の各演算(M1×D,M2×D,…,Mn×D)を並列に演算することができるようになる。但し、単純には、並列化した分だけ回路規模は大きくなってしまう。
ところで、対象となる行列Mの各要素M(c,r)(c2,r2)を、加算演算により二つ以上の要素で表現する場合に、表現する各要素は対象となる(元の)行列Mの要素よりも小さい数字の加算で表すことができれば、その要素だけに着目すると、演算量が小さくなり、その結果、クリティカルパスの削減および回路規模の削減ができる。
この点について、以下に理由を説明する。まず、規約多項式を式2とする。
Figure 2005100085
また、この規約多項式上の値を値Sとする(Sはnビット幅(n2))。このとき2倍算は、式3のようにして演算することができる。
Figure 2005100085
式3において、S<<1は、Sを一ビット左へシフトしたものを意味し、n[S[n]]は入力Sの最上位ビットをn個並べたものを意味する。また、&は論理積であり、(an,an-1,…,a2,a1,a0)は、上記規約多項式の係数を並べたものである。
2倍算を行なう場合には、まず入力データの最上位ビットの0/1を判断してから、桁上がりがある場合と桁上がりがない場合という条件文で実装する、桁上がりを考慮した回路実装も可能であるが、このような実装の場合には、条件分岐のための回路が必要となってしまい、条件判断回路の遅延が増えてしまう。
これに対し、2倍算を行なう場合に式3のような実装すれば、条件分岐の判断が不必要となるため、回路を高速に動作させることができるとともに、条件判断回路を削減することができるようになるため、回路規模を小さくすることができる。
また、3倍算は、式4のように表すことができる。
Figure 2005100085
同様に、4倍算は、F2(F2(S))を演算し、5倍算はF5(S)=F4(S)∧Sという演算を行なうことになる(以下、排他的論理和を文章上で示す場合にのみ「∧」で示す。)。このように、掛ける数が大きくなるほど、演算量が増えることになり、これら演算を行なうための演算回路の回路規模も大きくなる。逆に、掛ける数が小さくなれば、演算量が減り、これら演算を行なうための演算回路の回路規模も小さくなるといえる。
以上のことから、行列を、元の行列の要素よりも小さな数字を用いた要素からなる行列加算表現とすることにより、演算を並列化しつつ、各演算は、元の行列の演算よりも小さな数の演算を行なうこととなり、演算量が小さくなり、且つ、演算時間が短縮され、その結果、演算全体においても、並列化に伴う回路規模の増大を抑制しつつ、クリティカルパスを削減できる。従って、分割に際しては、元の行列の要素よりも小さな数に分解することが重要である。
図1は、あらかじめ定められた行列Mと、入力として与えられるある規約多項式上で定義された拡大体Dとの掛け算を行うための本実施の形態に係る暗号・復号装置の機能ブロックを示している。なお、行列M=(M1∧M2∧…∧Mn)で、行列M1〜Mnの各要素は、元の行列Mの対応する各要素より小さな数である。
M1×D演算部11は、行列M1を予め備え、入力されたDと演算し、演算結果を出力するものであり、M2×D演算部12は、行列M2を予め備え、入力されたDと演算し、演算結果を出力するものであり、…、Mn×D演算部1n(n≧2)は、行列Mnを予め備え、入力されたDと演算し、演算結果を出力するものである。排他的論理和回路10は、これら各演算部11、12、…、1nから出力される演算結果を排他的論理和するものであり、これにより、M×Dの演算結果が出力される。
このように、演算部11〜1nは、行列Mを二つ以上に分割した行列M1〜Mnを備え、入力Dに対し互いに独立して演算動作するから、行列Mの演算を並列に実行できるようになった。更に、行列M1〜Mnの各要素は、元の行列Mより小さな数であるから、M×Dの演算よりクリティカルパスを削減する事が可能となり、並列化に伴う回路規模の増大も抑制できる。
更に、上記で説明したように、1つの行列を複数の行列に分解した際に、分割後の行列Ml(l≧2)においてすくなくとも二つ以上の列(第Cy(0≦y≦p,p≧2)と第Cz(0≦z≦q,q≧2))の要素が同じとなるように、行列を分割することができれば、それらの列の演算は、どれか(どちらか)の演算を1回行うことにより、他の演算の結果にも利用できるから、その部分の演算回路としては共有化できるから、回路規模を削減できる。
図2は、分割した行列の一つの行列Miが、p列とu列との要素が全て共通する場合の、Mi×D演算部1i内の機能ブロックを示した図である。
Mi-p×D演算部21は、予め列Mi-pを備え、Mi-pとDとを掛け算し、結果をレジスタ20の該当部分へ出力するものであり、・・・、Mi-t×D演算部21は、予め列Mi-tを備え、Mi-tとDとを掛け算し、結果をレジスタ20の該当部分へ出力するものであり、Mi-v×D演算部21は、予め列Mi-vを備え、Mi-vとDとを掛け算し、結果をレジスタ20の該当部分へ出力するものである。ここで、行列Mi(i≧2)内の各要素が同じであるp列とu列との演算は、何れかの列を一度だけ演算を行なって、他の各要素が同じ列への演算結果としても利用でき、そのため、Mi-p×D演算部21の演算結果は、Mi-u×Dの演算結果としてレジスタ20の該当部分へも供給している。そのため本回路においては、Mi-u×D演算部は備えていない。
このように、複数の列の演算を一つの列の演算回路で行なうことができるように行列Mが分解できれば、その分の共有により回路規模を削減することができる。
以上説明した本実施の形態によれば、演算する行列を、元の行列の要素よりも小さい行列の要素からなる複数の行列に分解し、その分解にあわせて各行列を演算する演算部を複数並列に備える構成にすることにより、クリティカルパスが削減でき高速演算が可能になった。また、分割した行列に同じ要素同士の列が複数あるような行列においては、更にそれら列の演算に対し、共通に演算部を一つ設けるのみで、回路規模を削減した回路が提供できるようになった。なお、行列の分割により、元の行列の要素よりも小さい行列の要素からなる複数の行列に分解できるのは、全ての行列に備わった特徴であるが、一方、分割した行列に同じ要素同士の列が複数あるような行列は、全ての行列に備える特徴ではないことを、断っておく。
次に、本実施の形態を、AES暗号方式を一具体例として詳細に示す。図3は、AES暗号方式の暗号演算及び復号演算を示したものである。
暗号演算は、平文を入力し、排他的論理和し、その後、SubBytes、ShiftRows、MixClum
ns、排他的論理和の一連の処理を所定回数(n−2回。nは鍵長によって異なる)繰り返し、最後に、SubBytes、ShiftRows、鍵と排他的論理和を行った結果を暗号文として出力する。一方、復号演算は、暗号文を、排他的論理和し、その後、InvShiftRows、InvSubBytes、排他論理和、InvMixColumnsの一連の処理を所定回数(n−2回)繰り返し、最後に、InvShiftRows、InvSubBytes、排他論理和を行った結果を平文として出力する。なお、ここで示した排他的論理和の他方の入力は、所定のアルゴリズムによる鍵生成手段から生成される鍵i(1≦i≦n)であり、暗号演算と復号演算とでは、生成される順序が逆である。
SubBytesは、8bitの入力に対し、GF(28)上において入力値の逆数をb0, b1, b2, b3, b4, b5, b6, b7,と示し、さらに式5の演算(アフィン変換)を行う。
Figure 2005100085
この逆数を求める演算は複雑であるため、AES暗号方式の仕様書には、SubBytesで行われる逆数を求め、アフィン変換した後の値を簡単に求められるように、変換用のテーブルが記載されている。一方、InvSubBytesは、SubBytes演算と逆の順番で演算を行う。すなわち、アフィン変換した後、その値の逆数を求める演算を行う。
ShiftRowsは、データを所定の方法で並びを変える演算を行う処理を示す。一方、InvShiftRowsは、ShiftRowsの逆の順番にデータを並び替える演算を行う処理である。
MixColumnsは、32bitの入力データ(S1,S2,S3)に対して数式6の行列演算を行うものであり、InvMixColumnsは、数式7の行列演算を行うものである。なお、AESのより詳細な処理に関しては、AESの仕様書に記載される。
AESの演算アルゴリズムにおいて定義されている、MixColumnsは式6の演算を行い、InvMixColumnsは式7の演算を行う。
Figure 2005100085
ここで、InvMixColumnsで使われている行列の演算の分割を行う。InvMixColumnsで使われている行列演算をMixColumnsで使われている行列とそれ以外の行列とにわけ、加算演算を用いて等価になるように分割すると式8のようになる。
Figure 2005100085
そして、式8の第一項の演算は、MixColumnsの演算と共用できる。
なお、共通暗号演算においては、復号演算に用いる行列演算を、暗号演算に用いる行列とそれ以外の演算の二つに分ける事ができるのが望ましいが、それ以外の分割でもよい。
更に、第二項の行列においては、第一列と第三列との(c 8 c 8)、第二列と第四列との(8 c 8 c)が同じ要素なっている。このため、第一列の演算と第二列の演算を行なう回路のみ実装するだけで、行列演算の演算を行なう回路を実装することができる。
図4は、MixColumnsとInvMixColumnsの演算を共有した場合のAES暗号・復号装置の機能ブロック図を示している。
SubBytes処理回路31、InvSubBytes 処理回路32、ShiftRows処理回路33、InvShiftRows 処理回路34は、上記で説明したそれぞれSubBytes演算、InvSubBytes演算、ShiftRows演算、InvShiftRows演算を行う回路である。また、図上3箇所ある排他的論理和は、鍵が入力されるが、それら入力線については、省略している。入力される鍵は、鍵生成回路36から適切な排他的論理和へ、適切なタイミングで、適切な鍵が供給される。「◇」は、切替え回路を示し、2入力の何れから入力を受けるか、または2出力の何れへ出力するかを切替えるものであり、この切替えは、制御回路36により行われているが、図上は切替え指示を行う信号線は省略している。制御回路36は、適切な切替え回路へ適切なタイミングで切り替え指示信号を供給される。これら制御回路36、鍵生成回路37は、AES暗号・復号装置が暗号を行うのか復号を行うのかを示すモード信号を外部より受ける。
MixClumns・InvMixColumns処理回路35は、制御回路36によってMixClumns演算、InvMixColumns演算の何れかを行うように制御される。なお、制御回路36による制御に代え、外部より直接、前記モード信号を入力することにより切替えるようになっていても良い。
MixClumns・InvMixColumns処理回路35の内部構成を図5に示す。41は、式8で示されるMixColumnsにある行列演算を行なう回路であり、42は分割した行列の演算を行なう回路であり、これらは並列化されている。暗号演算の時には回路41の出力を演算に用い、復号演算の時には回路41と回路42との出力を排他的論理和46で、論理演算し値を用いる。さらに、回路42は、演算回路としては、(c 8 c 8)を演算する回路43と、(8 c 8 c)を演算する回路44とを備え、回路43の出力は一列及び三列へ回路44の出力は、レジスタ45の第二列及び第四列へ出力されるように構成している。従って、演算回路42は、回路規模が削減されている。
以上詳細に説明した本実施の形態の具体例によれば、AESの演算にあるInvMixColumns の行列を、上記のようなMixColumnsを用いた二つの行列を分割することにより、InvMixColumnsの演算とMixColumnsの演算に必要とされる回路規模を削減することができる。
さらに、分割により式5の第一項と第二項は互いに独立して演算を行なうことができる。このように並列に行う演算は、どちらもInvMixColumnsを単独で演算する演算回路を構成するよりも、計算量が少ない行列演算の演算であるため、遅延時間は短くなり回路の高速化(同期信号の高周波数化)を図ることができる。
本実施の形態に係る暗号・復号装置の機能ブロックを示す図。AESの基本処理を示す図。 Mi×D演算部1i内の機能ブロックを示した図。 AES暗号方式の暗号演算及び復号演算の手順を示した図。 MixColumnsとInvMixColumnsの演算を共有した場合のAES暗号・復号装置の機能ブロックを示す図。 MixClumns・InvMixColumns処理回路35の内部構成を示す図。
符号の説明
10、46・・・排他的論理和
11・・・M1×D演算部、12・・・M2×D演算部、・・・、1n・・・Mn×D演算部
20・・・レジスタ
21・・・Mi-p×D演算部、2m・・・Mi-v×D演算部
30・・・AES暗号・復号装置
31・・・SubBytes処理回路
32・・・InvSubBytes処理回路
33・・・ShiftRows処理回路
34・・・InvShiftrRows処理回路
35・・・MixColumns&InvMixColumns処理回路
36・・・制御回路
37・・・鍵生成回路
41、42、43、44・・・演算部

Claims (10)

  1. 第1の行列演算を含む第1の演算処理と、第2の行列演算を含む第2の演算処理との何れも演算処理可能な演算装置において、
    前記第2の行列演算を行う第1の演算部と、
    前記第1の行列演算を行うために、前記第1の演算部と並列に行列演算を行う、少なくとも1以上の他の演算部と、
    前記第1の演算部と、前記他の演算部との各演算結果を論理演算する論理回路とを備え、
    前記第1の行列演算の演算結果を、前記論理回路から得るようにしたことを特徴とする演算装置。
  2. 更に、前記第1の演算部の演算結果と、前記論理回路からの出力とを選択的に出力する出力手段を備えたことを特徴とする請求項1記載の演算装置。
  3. 前記他の演算部で演算する行列の少なくとも一つに同値な列を2つ以上備え、これら列の行列演算を行う共通で演算する第2の演算部を前記他の演算部に含むことを特徴とする請求項1または2記載の演算装置。
  4. 第1の行列演算を含む第1の演算処理と、第2の行列演算を含む第2の演算処理との何れも演算処理可能な演算装置において、
    各行列演算結果を排他的論理和することにより前記第1の行列演算と同じ演算結果が得られる前記第2の行列演算と第3の行列演算とのうち、前記第2の行列演算を行う第1の演算部と、
    前記第3の行列演算を行う第2の演算部と、
    前記第1の演算部で演算された演算結果と前記第2の演算部で演算された演算結果とを論理演算する論理回路と、
    を備え、前記第1の行列演算の演算結果を、前記論理回路から得るようにしたことを特徴とする演算装置。
  5. 更に、前記第1の演算部の演算結果と、前記論理回路からの出力とを選択的に出力する出力手段を備えたことを特徴とする請求項5記載の演算装置。
  6. 前記第3の行列演算は同値な列を2つ以上備えたものであり、前記第2の演算部は、前記列の行列演算を行う第3の演算部を含むようにしたことを特徴とす る請求項5または6記載の演算装置。
  7. 第1の行列演算を含む復号処理と、第2の行列演算を含む暗号処理との何れも実行可能な暗号・復号演算装置において、
    各演算結果を排他的論理和することにより前記第1の行列演算と同じ演算結果が得られる前記第2の行列演算と第3の行列演算とのうち、前記第2の行列演算を行う第1の演算部と、
    前記第3の行列演算を行う第2の演算部と、
    前記第1の演算部で演算された演算結果と前記第2の演算部で演算された演算結果とを論理演算する論理回路と、
    を備え、前記第1の行列演算の演算結果を、前記論理回路から得るようにしたことを特徴とする暗号・復号演算装置。
  8. 更に、暗号処理時には前記第1の演算部の演算結果を選択し、復号処理時は前記論理回路からの出力を選択して出力する出力手段を備えたことを特徴とする請求項7記載の暗号・復号演算装置。
  9. 前記第3の行列演算は同値な列を2つ以上備えたものであり、前記第2の演算部は、前記列の行列演算を行う第3の演算部を含むようにしたことを特徴とする請求項8または9記載の暗号・復号演算装置。
  10. 前記第2の行列演算の行列は、
    Figure 2005100085
    であり、前記列の行列演算の行列は、(c 8 c 8)および(8 c 8 c)であることを特徴とする請求項9記載の暗号・復号演算装置。

JP2003332817A 2003-09-25 2003-09-25 演算装置、および、暗号・復号演算装置 Expired - Fee Related JP3940714B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003332817A JP3940714B2 (ja) 2003-09-25 2003-09-25 演算装置、および、暗号・復号演算装置
US10/947,208 US20050108313A1 (en) 2003-09-25 2004-09-23 Calculation apparatus and encrypt and decrypt processing apparatus
US12/285,077 US7869592B2 (en) 2003-09-25 2008-09-29 Calculation apparatus and encrypt and decrypt processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003332817A JP3940714B2 (ja) 2003-09-25 2003-09-25 演算装置、および、暗号・復号演算装置

Publications (2)

Publication Number Publication Date
JP2005100085A true JP2005100085A (ja) 2005-04-14
JP3940714B2 JP3940714B2 (ja) 2007-07-04

Family

ID=34461014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003332817A Expired - Fee Related JP3940714B2 (ja) 2003-09-25 2003-09-25 演算装置、および、暗号・復号演算装置

Country Status (2)

Country Link
US (2) US20050108313A1 (ja)
JP (1) JP3940714B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680025B1 (ko) 2005-07-05 2007-02-07 한국전자통신연구원 멀티세션 고속암복호화 처리 장치 및 방법
JP2008046466A (ja) * 2006-08-18 2008-02-28 Mitsubishi Electric Corp 暗号処理装置及び復号処理装置
WO2010067827A1 (ja) * 2008-12-09 2010-06-17 株式会社 東芝 暗号処理装置及び演算方法
JP2012507212A (ja) * 2008-12-19 2012-03-22 インテル コーポレイション Raid処理を実行するための方法及び装置
JP2015135536A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 行列演算装置、行列演算方法、およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623660B1 (en) * 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US20060078107A1 (en) * 2004-10-12 2006-04-13 Chiou-Haun Lee Diffused data encryption/decryption processing method
US8331559B2 (en) * 2004-10-12 2012-12-11 Chiou-Haun Lee Diffused data encryption/decryption processing method
JP2008151829A (ja) * 2006-12-14 2008-07-03 Fujitsu Ltd 暗号演算装置
KR100859162B1 (ko) * 2007-10-16 2008-09-19 펜타시큐리티시스템 주식회사 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법
US9401803B2 (en) * 2012-10-25 2016-07-26 Texas Instruments Incorporated Flexible scrambler/descrambler architecture for a transceiver
RU2625049C1 (ru) * 2016-04-14 2017-07-11 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Устройство поддержки защищенных логических вычислений

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58146969A (ja) * 1982-02-26 1983-09-01 Toshiba Corp インデツクス限定連続演算ベクトルプロセツサ
US5038312A (en) * 1988-11-14 1991-08-06 Nec Corporation Data processing system capable of performing vector/matrix processing and arithmetic processing unit incorporated therein
US5267185A (en) * 1989-04-14 1993-11-30 Sharp Kabushiki Kaisha Apparatus for calculating matrices
US5319586A (en) * 1989-12-28 1994-06-07 Texas Instruments Incorporated Methods for using a processor array to perform matrix calculations
DE4036455C1 (ja) * 1990-11-15 1992-04-02 Siemens Ag, 8000 Muenchen, De
US5905666A (en) * 1995-01-03 1999-05-18 International Business Machines Corporation Processing system and method for performing sparse matrix multiplication by reordering vector blocks
US5815421A (en) * 1995-12-18 1998-09-29 Intel Corporation Method for transposing a two-dimensional array
US6064738A (en) * 1996-12-10 2000-05-16 The Research Foundation Of State University Of New York Method for encrypting and decrypting data using chaotic maps
US6574651B1 (en) * 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6909785B1 (en) * 1999-11-11 2005-06-21 Qualcomm, Inc. Method and apparatus for efficient irregular synchronization of a stream cipher
DE10148415C2 (de) * 2001-09-29 2003-07-31 Univ Braunschweig Tech Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
US7003542B2 (en) * 2002-01-02 2006-02-21 Intel Corporation Apparatus and method for inverting a 4×4 matrix
US20030187898A1 (en) * 2002-03-29 2003-10-02 Fujitsu Limited Parallel processing method of an eigenvalue problem for a shared-memory type scalar parallel computer
US20060034452A1 (en) * 2002-06-20 2006-02-16 Hitachi, Ltd. Code calculating device
JP4357815B2 (ja) * 2002-09-11 2009-11-04 株式会社東芝 暗号演算回路
US20050129228A1 (en) * 2003-12-12 2005-06-16 Lagarde Victor J. Modular computerized encryption scheme

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100680025B1 (ko) 2005-07-05 2007-02-07 한국전자통신연구원 멀티세션 고속암복호화 처리 장치 및 방법
JP2008046466A (ja) * 2006-08-18 2008-02-28 Mitsubishi Electric Corp 暗号処理装置及び復号処理装置
WO2010067827A1 (ja) * 2008-12-09 2010-06-17 株式会社 東芝 暗号処理装置及び演算方法
JP2010141430A (ja) * 2008-12-09 2010-06-24 Toshiba Corp 暗号処理装置及び演算方法
US8817975B2 (en) 2008-12-09 2014-08-26 Kabushiki Kaisha Toshiba Cryptographic processing apparatus and operation method
JP2012507212A (ja) * 2008-12-19 2012-03-22 インテル コーポレイション Raid処理を実行するための方法及び装置
JP2015135536A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 行列演算装置、行列演算方法、およびプログラム

Also Published As

Publication number Publication date
US7869592B2 (en) 2011-01-11
US20090092246A1 (en) 2009-04-09
US20050108313A1 (en) 2005-05-19
JP3940714B2 (ja) 2007-07-04

Similar Documents

Publication Publication Date Title
US7869592B2 (en) Calculation apparatus and encrypt and decrypt processing apparatus
JP4700051B2 (ja) 暗号装置及び暗号方法
Wang et al. VLSI design of a large-number multiplier for fully homomorphic encryption
US8411853B2 (en) Alternate galois field advanced encryption standard round
US8189792B2 (en) Method and apparatus for performing cryptographic operations
JP2008131108A (ja) 共通鍵暗号のための暗号化装置
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
US8495116B2 (en) Circuit and method converting boolean and arithmetic masks
Güneysu Utilizing hard cores of modern FPGA devices for high-performance cryptography
JP2005242366A (ja) 可変キー長を有する初期ラウンドキーに対応する暗号ラウンドキーと復号ラウンドキーとを選択的に発生させるキースケジュラ
JP2010141430A (ja) 暗号処理装置及び演算方法
US7024560B2 (en) Power-residue calculating unit using Montgomery algorithm
JP2010109639A (ja) 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路
Elkhatib et al. Accelerated RISC-V for post-quantum SIKE
US9112698B1 (en) Cryptographic device and method for data encryption with per-round combined operations
EP2237246B1 (en) Encrypting device, encrypting method and program
JP4567753B2 (ja) パリティ生成回路、計数回路および計数方法
JP2008151829A (ja) 暗号演算装置
US11281428B2 (en) Conversion circuitry
JP5116499B2 (ja) 演算処理回路
JP2008040244A (ja) Aes暗号回路
US7471789B2 (en) Encryption circuit achieving higher operation speed
JP2009251752A (ja) 処理回路
JP2013167740A (ja) 暗号化装置、暗号化方法および暗号化プログラム
SHANTHI et al. VLSI Design of a Large-Number Multiplier for Fully Homomorphic Encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050120

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050415

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060714

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: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100406

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140406

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees