[go: up one dir, main page]

JP2004078053A - 暗号化装置 - Google Patents

暗号化装置 Download PDF

Info

Publication number
JP2004078053A
JP2004078053A JP2002241367A JP2002241367A JP2004078053A JP 2004078053 A JP2004078053 A JP 2004078053A JP 2002241367 A JP2002241367 A JP 2002241367A JP 2002241367 A JP2002241367 A JP 2002241367A JP 2004078053 A JP2004078053 A JP 2004078053A
Authority
JP
Japan
Prior art keywords
processing
encryption
public key
hash value
key encryption
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
JP2002241367A
Other languages
English (en)
Other versions
JP2004078053A5 (ja
Inventor
Hideo Sato
佐藤 英雄
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002241367A priority Critical patent/JP2004078053A/ja
Priority to US10/633,658 priority patent/US7403614B2/en
Publication of JP2004078053A publication Critical patent/JP2004078053A/ja
Publication of JP2004078053A5 publication Critical patent/JP2004078053A5/ja
Pending 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】瞬時電力を低減することにより高速且つ安全に公開鍵を用いた署名生成及び署名検証を可能とする暗号化装置を提供する。
【解決手段】本発明にかかる暗号化装置は、公開鍵暗号化方式による暗号化処理を行う暗号化装置であって、公開鍵暗号化方式による暗号化処理を行う公開鍵暗号化処理手段と、公開鍵暗号化処理手段によって用いるハッシュ値を生成するハッシュ値生成手段と、ハッシュ値を格納する記憶手段とを備え、少なくとも、ハッシュ値生成手段が記憶手段にアクセスするに際して、公開鍵暗号化処理手段における各種演算処理を制限する。
【選択図】 図12

Description

【0001】
【発明の属する技術分野】
本発明は、いわゆる公開鍵暗号化方式による暗号化処理を行う暗号化装置に関する。
【0002】
【従来の技術】
近年、例えば、いわゆるインターネット等を利用した電子商取引やオンラインショッピングといった各種通信技術を利用した様々なサービスが普及しつつある。また、近年では、通信技術の進歩にともない、端末を介した通信技術のみならず、例えば、交通機関の料金徴収やいわゆる電子マネー等に利用するための通信機能を集積回路化した非接触型半導体メモリカードといったカード状のデバイスも開発されている。
【0003】
このような通信機能を有するカード状のデバイス(以下、非接触型IC(Integrated Circuit)カードという。)は、取り扱いの便宜等の観点から、少ない回路規模で構成されるとともに、極めて少ない電力消費で動作することができ、且つ高速な処理を行うことが求められる。
【0004】
【発明が解決しようとする課題】
ところで、上述した非接触型ICカードを用いたサービスにおいては、通常、通信相手の正当性を認証するための相互認証処理や、データ通信の安全性を確保するための暗号化処理が行われる。その際、非接触型ICカードにおいては、処理の高速化が要求されることから、これらの機能をソフトウェアによって実装すると、高いクロックのCPU(Central Processing Unit)を要することとなり、実用的でない。そのため、非接触型ICカードにおいては、これらの機能をソフトウェアによって実装するのではなく、ハードウェアによって実装するのが望ましい。
【0005】
ここで、このようなハードウェアによって上述した機能を実装する非接触型ICカードにおいては、電力消費を極力抑制するために、例えばいわゆるDES(Data Encryption Standard)暗号化方式といった比較的少ない回路規模及び電力消費で実装することができるいわゆる共通鍵暗号化方式を採用するものが多かった。
【0006】
しかしながら、暗号化及び復号に共通の鍵を用いる共通鍵暗号化方式は、鍵データの授受を行う必要があるといった観点から、不正な第三者による攻撃に弱いという問題がある。そのため、非接触型ICカードにおいては、将来的に金融サービスに適用する場合等の問題が懸念されていた。
【0007】
そのため、非接触型ICカードを用いたサービスにおいては、非接触型ICカードとして、例えばいわゆるRSA(Rivest−Shamir−Adleman)暗号化方式や楕円曲線暗号化方式(Elliptic Curve Cryptosystem;ECC)といったように、暗号化と復号とに用いる鍵を異なるものとし、秘密に保つ必要がある共通鍵を特定の1人が持てばよいいわゆる公開鍵暗号化方式を採用したセキュリティの高いシステムが要求されつつあり、公開鍵を用いた署名生成及び署名検証を行う非接触型ICカードの開発も多く試みられている。
【0008】
しかしながら、公開鍵暗号化方式は、共通鍵暗号化方式に比べ、セキュリティ性が極めて向上するものの、演算量が非常に膨大となることから、これをハードウェアによって実装する際には、回路規模が数十倍に増大し、規模が増大した回路に供給する電力も必然的に増大することになる。特に、各演算処理が同時に行われた場合には、これら演算処理が行われる回路で消費される瞬時電力の増大を招く。
【0009】
そのため、このような公開鍵暗号化方式を採用した非接触型ICカードにおいては、回路規模、消費電力、及びコストの面で十分な特性を得ることができなかった。特に、非接触型ICカードにおいては、限られた電力の多くを、暗号化処理を行うための回路に供給する必要があり、通信距離が数ミリ程度と短いものしか実用化されていない実情である。さらに、瞬時電力が予め制限された電力を上回った場合には各種演算処理が停止し、再度演算処理がやり直されることとなり、非接触型ICカードにおける処理の遅延化を招く問題も生じている。
【0010】
図14は、縦軸を消費電力W、横軸を処理時刻Tとし、各処理における消費電力、及びこれら消費電力が加算された非接触型ICカード全体における消費電力を模式的に比較した図である。同図(A)乃至(C)は、ゲート、算出されたハッシュ値が格納されるALU−RAM、及びRAMのそれぞれにおける処理に際して消費される消費電力を個別に示した図であり、同図(D)はこれら各処理における消費電力を加算した該非接触型ICカード全体の消費電力を示す図である。同図(A)乃至(C)によれば、処理時刻tにおいて、ゲート、ALU RAM、及びRAMにおいて同時に処理動作が行われ、これら各処理における消費電力が加算された該非接触型ICカード全体の消費電力は、同図(D)に示すように制限電力を瞬間的に超える場合がある。非接触型ICカード全体としての消費電力が制限電力を超えると、各種処理動作を停止した後、再度処理動作が行われることとなり、消費電力が制限電力を超える時点までに行われた各種処理が無駄なものとなる。
【0011】
さらに、消費電力が制限電力を超える毎に再度処理動作が行われると、該非接触型ICカードにおける処理を高速で行うことが難しくなり、各種処理を高速で行うことを求められる非接触型ICカードでは重大な問題となる。特に、ALURAMにアクセスするに際しては、2〜3nsecの如き短時間に消費される瞬時電力が大きく、これと同時に他の処理動作が行われると非接触型ICカード全体の瞬時電力が制限電力を超え、各種処理動作に遅延が生じる。
【0012】
このように、非接触型ICカードにおいては、セキュリティの面で強固であり公開鍵暗号化方式を採用することが期待されているものの、供給可能な電力やチップサイズ等の制限があるだけでなく、実装することが極めて困難であるうえ、消費電力の制限により高速処理を行うことが困難であった。
【0013】
よって、本発明は、このような実情に鑑みてなされたものであり、回路規模を削減し、瞬時電力が低減された状態のもとに高速且つ安全に公開鍵を用いた署名生成及び署名検証を可能とする暗号化装置を提供することを目的とする。
【0014】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる暗号化装置は、公開鍵暗号化方式による暗号化処理を行う暗号化装置であって、公開鍵暗号化方式による暗号化処理を行う公開鍵暗号化処理手段と、公開鍵暗号化処理手段によって用いるハッシュ値を生成するハッシュ値生成手段と、ハッシュ値を格納する記憶手段とを備え、少なくとも、ハッシュ値生成手段が記憶手段にアクセスするに際して、公開鍵暗号化処理手段における各種演算処理を制限することを特徴としている。消費電力が比較的大きい処理動作を行うに際して、他の動作を一時的に制限することにより瞬時電力を低減し、電力を限界値以下に消費電力を抑制することにより、各種処理動作を停止させることなく高速処理を行うことができる。
【0015】
このような本発明にかかる暗号化装置においては、公開鍵暗号化処理手段が、演算用の値を保持するためのレジスタ及び結果を取り込むためのレジスタからなるレジスタ群を有し、少なくとも、ハッシュ値生成手段における演算用の値を保持するためのレジスタ及び結果としてのハッシュ値を取り込むためのレジスタからなるレジスタ群を、公開鍵暗号化処理手段におけるレジスタ群と共用し、処理モードに応じて、動作させるハードウェアを時分割に切り替える。従って、各種処理動作を行うハードウェアを時分割で動作させることにより、瞬時電力を低減することができ、消費電力が制限電力を超えることにより処理動作が停止させられることがなく、高速処理を行うことが可能となる。
【0016】
また、この本発明にかかる暗号化装置においては、公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、共通鍵暗号化処理手段におけるデータを保持するレジスタ及び鍵データを保持するレジスタからなるレジスタ群を、公開鍵暗号化処理手段におけるレジスタ群と共用する。
【0017】
このような本発明にかかる暗号化装置においては、公開鍵暗号化処理手段が、公開鍵暗号化方式による暗号化処理に際する各種演算処理を行う公開鍵暗号化演算処理コア手段を有し、ハッシュ値生成手段は、ハッシュ値の生成処理に際する各種演算処理を行うハッシュ値演算処理コア手段を有し、公開鍵暗号化演算処理コア手段と、ハッシュ値演算処理コア手段とを共用する。
【0018】
さらに、この本発明にかかる暗号化装置において、公開鍵暗号化演算処理コア手段における加算手段と、ハッシュ値演算処理コア手段における加算手段とを共用する。
【0019】
このような本発明にかかる暗号化装置は、公開鍵暗号化処理手段は、ビット幅を可変とするためのバス切り替えスイッチを有し、ハッシュ値生成手段におけるバス切り替えスイッチを、公開鍵暗号化処理手段におけるバス切り替えスイッチと共用する。
【0020】
さらにまた、この本発明にかかる暗号化装置において、公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、共通鍵暗号化処理手段におけるバス切り替えスイッチを、公開鍵暗号化処理手段におけるバス切り替えスイッチと共用する。
【0021】
このような本発明にかかる暗号化装置は、ハッシュ値生成手段は、生成したハッシュ値を記憶手段に格納するに際して、公開鍵暗号化処理手段によって用いられるアドレスに該ハッシュ値を格納し、公開鍵暗号化処理手段は、記憶手段に格納されたハッシュ値を読み出す。
【0022】
このような本発明にかかる暗号化装置は、共通鍵暗号化処理手段を備える場合には、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間のみならず、この共通鍵暗号化処理手段による暗号化処理との間でも、バス切り替えスイッチを時分割共用する。
【0023】
このような本発明にかかる暗号化装置は、ハッシュ値生成手段によって生成されたハッシュ値を、公開鍵暗号化処理手段による次回の暗号化処理にて用いるためにデータ転送することなく、記憶手段を介して受け渡す。
【0024】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0025】
この実施の形態は、例えば、通信機能を集積回路化した非接触型半導体メモリカードといったカード状のデバイス(以下、非接触型IC(Integrated Circuit)カードという。)等に適用することができるものであって、通信相手の正当性を認証するための相互認証処理や、データ通信の安全性を確保するための暗号化処理の機能を、ハードウェアによって実装した暗号化装置である。特に、この暗号化装置は、いわゆる公開鍵暗号化方式を採用するものであって、暗号処理を行うに際して生成されるハッシュ値を記憶させるときに、瞬時電力の増大を招くことがないようにその他の各種処理を制限し、瞬時電力が低減された状態のもとに高速且つ安全に公開鍵を用いた署名生成及び署名検証を可能とするものである。
【0026】
さらに、各種処理を行うための各ハードウェアを当該各種処理間で共用して時分割処理を行うことにより、瞬時電力を低減することができるとともに、回路規模を削減して極めて少ない電力消費のもとに高速且つ安全に公開鍵を用いた署名生成及び署名検証を可能とするものである。
【0027】
なお、以下では、説明の便宜上、暗号化装置は、公開鍵暗号化方式として、いわゆる楕円曲線暗号化方式(Elliptic Curve Cryptosystem;ECC)を採用し、認証やディジタル署名等に用いるハッシュ関数として、いわゆるSHA−1(Secure Hash Algorithm−1)を用い、さらに、暗号化処理を行う際に必要となる鍵生成の過程等において用いる乱数を、共通鍵暗号化方式の1つであるいわゆるDES(Data Encryption Standard)暗号化方式を用いて生成するものとして説明する。すなわち、暗号化装置は、公開鍵暗号化方式の一連の信号処理として、少なくとも、これら楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理を行うものとして説明する。
【0028】
まず、暗号化装置において、楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理を時分割で行うに際して各ハードウェアを共用するための概念について説明する。
【0029】
まず、暗号化装置においては、楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理のそれぞれを行うためのハードウェア構成要素としてのレジスタを共用する。すなわち、楕円曲線暗号化処理を行う暗号化エンジンにおけるハードウェア構成要素は、機能分析的に分解すると、図1(A)に概念を示すように、レジスタ群と楕円曲線演算処理コア回路とに大別することができ、レジスタ群が当該ハードウェア構成要素の半分程度を占める。また、SHA−1処理を行う暗号化エンジンにおけるハードウェア構成要素についても、機能分析的に分解すると、同図(B)に示すように、レジスタ群とSHA−1演算処理コア回路とに大別することができる。そこで、暗号化装置においては、同図(C)に示すように、楕円曲線暗号化処理及びSHA−1処理のそれぞれを行うためのハードウェア構成要素としてのレジスタを共用する。さらに、DES暗号化処理を行う暗号化エンジンにおけるハードウェア構成要素についても、機能分析的に分解すると、図示しないが、レジスタ群とDES演算処理コア回路とに大別することができることから、暗号化装置においては、楕円曲線暗号化処理及びSHA−1処理に加え、DES暗号化処理を行うためのハードウェア構成要素としてのレジスタをも共用する。これにより、暗号化装置は、回路規模の削減を図ることが可能となる。
【0030】
また、暗号化装置においては、SHA−1処理を行うための演算処理コア回路と楕円曲線暗号化処理を行う演算処理コア回路とを共用する。すなわち、ハッシュ値を算出するSHA−1処理においては、高速に動作する加算器が設けられた演算処理コア回路が必要とされる。また、楕円曲線暗号化処理においても、演算処理コア回路に加算器が設けられる。そこで、暗号化装置においては、SHA−1処理を行うための演算処理コア回路と楕円曲線暗号化処理を行う演算処理コア回路とにおける加算器等のゲート数が多いハードウェア構成要素を共用する。これにより、暗号化装置は、回路規模の削減を図ることが可能となる。
【0031】
さらに、暗号化装置においては、暗号化エンジンにおけるバス切り替えスイッチ群とその他各種機能の切り替えスイッチとを共用する。すなわち、公開鍵暗号化方式における鍵長を可変とするためにはバスを切り替える必要があることから、楕円曲線暗号化処理を行う暗号化エンジンには、例えば32ビット幅のスイッチが多数設けられる。これらのスイッチは、その構成上、SHA−1処理やDES暗号化処理を行うハードウェアにおいても共用可能である。そこで、暗号化装置においては、これらバス切り替えスイッチ群を、その他各種機能の切り替えスイッチとして流用する。これにより、暗号化装置は、回路規模の削減を図ることが可能となる。
【0032】
さらにまた、暗号化装置においては、レジスタやメモリ等のハードウェアを時分割共用する。すなわち、暗号化装置における公開鍵暗号化方式の信号処理は、DES暗号化処理を用いた乱数の生成、SHA−1処理によるハッシュ値の算出、及び楕円曲線暗号化処理における楕円曲線の算出に大別される。しかしながら、これらの処理は、同時には行うことができないものであることから、ハードウェアを共用する場合には必然的に時分割処理を行うことになる。そこで、暗号化装置においては、これを利用して、レジスタやメモリ等のハードウェアを各処理で時分割共用する。これにより、暗号化装置は、回路規模の削減と電力消費の削減とを図ることが可能となる。
【0033】
このように、暗号化装置は、楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理を行うための各ハードウェアを共用し、時分割処理を行うものとして構成される。
【0034】
さて、暗号化装置においては、具体的に実装するにあたって、各ハードウェアを共用するために、楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理を行うための各ハードウェアを共用しやすい構成にする必要がある。以下では、これらの楕円曲線暗号化処理、SHA−1処理、及びDES暗号化処理を行うための各ハードウェアを共用しやすい構成とした具体的な実装例について説明した後、これらの各ハードウェアを統合した具体的な暗号化装置の実装例について説明する。
【0035】
まず、SHA−1処理を行うためのハードウェアであるSHA−1処理回路について説明する。
【0036】
SHA−1処理回路は、SHA−1処理を行うものである。SHA−1とは、認証やディジタル署名等に用いられるハッシュ関数の1つであり、512ビットの任意の原文から160ビットの擬似乱数であるハッシュ値を発生する不可逆な一方向性関数である。SHA−1は、原文が1ビットでも異なる場合には、全く異なるハッシュ値を出力することから、ハッシュ値を生成して通信経路の両端で比較することにより、通信途中で原文が改竄されたか否かを検出する用途に広く用いられる。具体的には、SHA−1を用いたSHA−1処理においては、あるメッセージを送信する場合には、送信側がメッセージとこのメッセージに対するハッシュ値とを同時に送信し、受信側では受け取ったメッセージからハッシュ値を算出し、その結果得られたハッシュ値と送信側から送信されたハッシュ値とを比較することにより、データの改竄の有無を検証することができる。SHA−1処理回路は、このようなSHA−1処理を行うものとして構成されるが、ここでは、いわゆるFIPS(Federal Information Processing Standard)に規定されているSHA−1のうち、回路規模が比較的小さくて済む”ALTERNATIVE METHOD”を採用する。
【0037】
この”ALTERNATIVE METHOD”のアルゴリズムは、通常であれば80個の32ビット・ワード配列W(0),・・・,W(79)を用いて行うSHA−1処理を少ないメモリ空間で実現するための代替手段であり、{W(t)}を循環キューとみなし、16個の32ビット・ワード配列W(0),・・・,W(15)を用いて行うものである。このアルゴリズムにおいては、512ビット長のブロックM(i)毎に、以下の4つの工程が行われる。なお、以下における値MASKは、16進数で0000000Fとする。
【0038】
まず、このアルゴリズムにおいては、第1の工程として、ブロックM(i)を16個のワードW(0),・・・,W(15)に分割する。なお、ワードW(0)は、最も左側のワードである。
【0039】
続いて、このアルゴリズムにおいては、はじめの5つのワードバッファを、それぞれ、A,B,C,D,Eとし、次の5つのワードバッファを、それぞれ、H0,H1,H2,H3,H4とすると、第2の工程として、次式(1)に示す演算を行う。
【0040】
【数1】
Figure 2004078053
【0041】
続いて、このアルゴリズムにおいては、第3の工程として、変数tを”0”から”79”まで変化させ、次式(2)に示す演算を行う。
【0042】
【数2】
Figure 2004078053
【0043】
なお、上式(2)におけるSn(X)は、Xをワード値、nを0≦n<32の整数としたときの循環左シフト操作を表すものである。また、上式(2)におけるF(t;B,C,D)は、次式(3)に示す関数であり、K(t)は、次式(4)に示す16進数のワード定数列である。
【0044】
【数3】
Figure 2004078053
【0045】
【数4】
Figure 2004078053
【0046】
そして、このアルゴリズムにおいては、第4の工程として、次式(5)に示す演算を行い、一連の処理を終了する。
【0047】
【数5】
Figure 2004078053
【0048】
ここで、このような”ALTERNATIVE METHOD”のアルゴリズムを一般的な形式で実装すると、SHA−1処理回路は、図2に示すような構成となる。
【0049】
すなわち、SHA−1処理回路は、同図に示すように、図示しないCPU(Central Processing Unit)から供給される演算用の値をテンポラリに保持するシフトレジスタ群10と、上述したワードバッファA,B,C,D,Eとしての5つのシフトレジスタと上述した値TEMPを保持するシフトレジスタとからなり結果としてのハッシュ値を取り込むためのシフトレジスタ群20と、初期値H0,H1,H2,H3,H4及び上式(4)に示した16進数のワード定数列K(t)を保持するROM(Read Only Memory)30と、結果としてのハッシュ値を格納するALU RAM(Arithmetic and Logical Unit Random Access Memory)40とを備えるとともに、上述したアルゴリズムにおける各種演算を行うための各種演算処理回路を備える。なお、同図におけるMUX0,MUX3,MUX4,MUX5は、それぞれ、バス切り替えスイッチである。
【0050】
ここで、SHA−1処理回路においては、回路規模を考慮すると、上式(2)中、値TEMPの算出式、すなわち、次式(6)に示す演算を実行する32ビット5入力の加算器が最も回路規模の増大を招来する要因となる。そこで、SHA−1処理回路としては、楕円曲線暗号化処理の演算時間に比べてSHA−1処理の演算時間が無視できるほど短いことを利用して、図3に示すように、32ビット2入力の加算器を4回用いることにより、回路規模を削減することが可能となる。
【0051】
【数6】
Figure 2004078053
【0052】
この場合、SHA−1処理回路においては、図2に示した構成の場合に比べ、演算時間が約4〜5倍程度になるものの、楕円曲線暗号化処理の演算時間に比べれば十分短時間であることから、実用上は何らの支障も招来せず、サイズが膨大なデータやストリームに対してSHA−1処理を施すような特殊な場合を除けば、十分な性能を得ることが可能である。
【0053】
なお、SHA−1処理回路においては、後述するように、楕円曲線暗号化処理の際に使用する加算器と兼用することにより、当該SHA−1処理回路における加算器そのものが不要となることから、さらに大幅な回路規模の削減を図ることが可能となる。
【0054】
また、SHA−1処理回路においては、上式(2)中、ワードW[s]の算出式、すなわち、次式(7)に示す演算を実行する際に、必ず32ビット×16段のシフトレジスタが必要となることがわかる。
【0055】
【数7】
Figure 2004078053
【0056】
さらに、SHA−1処理回路においては、上式(2)中、ワードバッファA,B,C,D,Eの算出式、すなわち、次式(8)に示す演算を実行する際にも、少なくとも32ビット×5〜6段のシフトレジスタが必要となる。
【0057】
【数8】
Figure 2004078053
【0058】
ここで、楕円曲線暗号化処理を行うためのハードウェアである楕円曲線暗号化処理回路においては、後述するように、段数が可変とされる32ビット×7段のシフトレジスタ群が3組設けられることから、SHA−1処理回路においては、これらのシフトレジスタを流用することにより、当該SHA−1処理回路に専用のシフトレジスタを設ける必要がなくなり、さらに大幅な回路規模の削減を図ることが可能となる。結果的に、暗号化装置においては、通常であれば60000ゲート以上からなるSHA−1処理回路を、楕円曲線暗号化処理回路に対して2000ゲート程度の追加回路のみで実現することができる。
【0059】
さて、このようなSHA−1処理回路は、図4及び図5に示すような一連の工程を経ることにより、基本動作を行う。なお、ここでは、先に図2に示した構成からなるSHA−1処理回路の基本動作について説明する。
【0060】
まず、SHA−1処理回路は、図4に示すように、ステップS1において、変数tを”0”とする。
【0061】
続いて、SHA−1処理回路は、ステップS2において、シフトレジスタ群10における各シフトレジスタに対して、パディングされたデータのうち、32×16ブロック(=512ビット)からなる先頭のデータをロードする。
【0062】
続いて、SHA−1処理回路は、ステップS3において、バス切り替えスイッチMUX0を、演算処理回路W[s]の出力側に切り替える。
【0063】
続いて、SHA−1処理回路は、ステップS4において、初期値H0,H1,H2,H3,H4をROM30から読み出し、バス切り替えスイッチMUX4、加算器、及びシフトレジスタ群20における値TEMPを保持するシフトレジスタを介して、シフトレジスタ群20におけるワードバッファA,B,C,D,Eとしての各シフトレジスタに対して順次ロードする。
【0064】
続いて、SHA−1処理回路は、ステップS5において、値TEMPとしてオールゼロをセットする。
【0065】
続いて、SHA−1処理回路は、ステップS6において、バス切り替えスイッチMUX5を制御して、次式(9)に示すように、加算器によって4回に分けた加算処理を行うことにより、上式(6)に示した演算と等価な演算を行い、値TEMPを算出する。
【0066】
【数9】
Figure 2004078053
【0067】
続いて、SHA−1処理回路は、ステップS7において、バス切り替えスイッチMUX3を、演算処理回路S30の出力側に切り替え、各シフトレジスタに保持されている値TEMP,A.B.C.D.Eを、それぞれ、1クロック分だけ右にシフトする。これにより、SHA−1処理回路は、上式(8)に示した各値を得ることができる。
【0068】
続いて、SHA−1処理回路は、ステップS8において、シフトレジスタ群10における各シフトレジスタに保持されている値を、それぞれ、1クロック分だけ右にシフトする。
【0069】
続いて、SHA−1処理回路は、ステップS9において、変数tが”79”に到達したか否かを判定する。ここで、SHA−1処理回路は、変数tが”79”に到達していないものと判定した場合には、ステップS10へと処理を移行し、変数とを”1”だけインクリメントした後、ステップS2乃至ステップS8の処理を繰り返す。すなわち、SHA−1処理回路は、ステップS2乃至ステップS8の処理を、変数tを”0”から”79”まで変化させて行う。
【0070】
一方、SHA−1処理回路は、変数tが”79”に到達したものと判定した場合には、ステップS11へと処理を移行し、バス切り替えスイッチMUX3を、演算処理回路S30の出力側とは反対側に切り替えるとともに、バス切り替えスイッチMUX4を、ROM30の出力側に切り替え、さらに、バス切り替えスイッチMUX5の出力をワードバッファEとしてのシフトレジスタからの出力とすることにより、ワードバッファA,B,C,D,Eとしての各シフトレジスタに保持されている値に対して、それぞれ、初期値H0,H1,H2,H3,H4を加算器によって加算する。
【0071】
続いて、SHA−1処理回路は、ステップS11における加算器による演算結果が、値TEMPを保持するシフトレジスタに供給されることから、ステップS12において、上式(5)の演算を実現するように、各シフトレジスタに保持されている値を、それぞれ、6クロック分だけ右にシフトする。
【0072】
そして、SHA−1処理回路は、図5に示すように、ステップS13において、ワードバッファA,B,C,D,Eとしての各シフトレジスタに保持されている値を、それぞれ、ALU RAM40に格納する。
【0073】
続いて、SHA−1処理回路は、ステップS14において、パディングの結果が512ビットであるか否かを判定する。
【0074】
ここで、SHA−1処理回路は、パディングの結果が512ビットであるものと判定した場合には、ステップS13においてALU RAM40に格納された値が、最終的なハッシュ値となることから、そのまま一連の処理を終了する。
【0075】
一方、SHA−1処理回路は、パディングの結果が512ビットでない、すなわち、512ビットを超えるものと判定した場合には、ステップS15において、パディングしたデータが全てシフトレジスタ群10における各シフトレジスタに対してロードされて処理が終了したか否かを判定する。
【0076】
ここで、SHA−1処理回路は、パディングしたデータが全てシフトレジスタ群10における各シフトレジスタに対してロードされておらず処理が終了していないものと判定した場合には、ステップS16において、ステップS13における状態を保持しつつ、次の512ビットのデータをシフトレジスタ群10における各シフトレジスタに対してロードする。
【0077】
続いて、SHA−1処理回路は、ステップS17において、バス切り替えスイッチMUX4を、ALU RAM40の出力側に切り替え、ステップS13においてALU RAM40に格納された値を、それぞれ、ワードバッファA,B,C,D,Eとしての各シフトレジスタに対してロードする。
【0078】
続いて、SHA−1処理回路は、ステップS18において、バス切り替えスイッチMUX0を、演算処理回路W[s]の出力側に切り替え、図4中ステップS5からの処理を繰り返す。
【0079】
そして、SHA−1処理回路は、ステップS15における判定の結果、パディングしたデータが全てシフトレジスタ群10における各シフトレジスタに対してロードされて処理が終了したものと判定した場合には、ステップS13においてALU RAM40に格納された値が、最終的なハッシュ値となることから、そのまま一連の処理を終了する。
【0080】
SHA−1処理回路は、このような一連の処理を行うことにより、ハッシュ値を生成する。
【0081】
つぎに、楕円曲線暗号化処理を行うためのハードウェアである楕円曲線暗号化処理回路について説明する。
【0082】
楕円曲線暗号化処理回路は、楕円曲線暗号化処理を行うものである。楕円曲線暗号化とは、暗号化と復号とに異なる通信鍵を用いる公開鍵暗号化アルゴリズムの1つであり、160ビット長の鍵を用いることにより、1024ビット長の鍵を用いたいわゆるRSA(Rivest−Shamir−Adleman)暗号化方式と同等の性能を発揮する暗号化方式である。暗号化装置において、楕円曲線暗号化処理回路は、いわゆるモンゴメリー(Montgomery)法を用いて構成される。すなわち、楕円曲線暗号化処理回路は、図6に示すように、図示しないCPUから供給される演算用の値をテンポラリに保持する32ビット幅のシフトレジスタ群50,60と、結果を取り込むためのシフトレジスタ群70と、主に32ビット幅の入力を有する図示しない加算器、減算器、及び乗算器を内部に有する楕円曲線演算処理コア回路80とを備える。なお、同図におけるMUX0,MUX1,MUX2は、それぞれ、バス切り替えスイッチである。
【0083】
このような楕円曲線暗号化処理回路においては、モンゴメリー法と称される特殊な手法を用いて処理の高速化及び回路規模の削減を実現する。モンゴメリー法による楕円曲線演算処理コア回路80は、主に、加算器、減算器、及び乗算器の組み合わせ回路によって構成され、演算のステップ毎に32ビット幅のデータ同士の処理を行う。そこで、暗号化装置においては、回路規模の削減を図るために、上述したように、楕円曲線演算処理コア回路80の内部に設けられる加算器を、SHA−1処理回路における加算器と共用する。
【0084】
さらに、モンゴメリー法による楕円曲線演算処理コア回路80と、これと共用されるSHA―1処理回路を構成する乗算器による処理においては、加算器及び減算器が処理に要する処理時間に比べて乗算器が処理に要する処理時間は大きい。従って、これに伴う処理の遅延は、ゲートにおいて消費される消費電力が鋭いピークを持つことを抑制し、ゲートにおける瞬時電力を低減することが可能となる。
【0085】
また、楕円曲線暗号化処理回路においては、3組の32ビット幅のシフトレジスタ群50,60,70が設けられるが、例えば160ビット幅、192ビット幅、又は224ビット幅にも対応するために、各シフトレジスタ群50,60,70のそれぞれに対応して、ビット幅を可変とするためのバス切り替えスイッチMUX0,MUX1,MUX2が設けられる。すなわち、楕円曲線暗号化処理回路においては、160ビット幅、192ビット幅、又は224ビット幅にも対応するために、3組の32ビット幅のシフトレジスタ群50,60,70が、それぞれ、5,6,7段に切り替え可能に構成される。
【0086】
この具体例としては、図7(A)にシフトレジスタ群60の近傍の要部構成を示すように、入力と、5段目、6段目、及び7段目のシフトレジスタのそれぞれからの出力とのうち、いずれか1つの信号を、バス切り替えスイッチMUX1からの出力とするように、シフトレジスタ群60における各シフトレジスタのうち、右側のシフトレジスタから個数を可変とするものが考えられる。また、他の具体例としては、図7(B)にシフトレジスタ群60の近傍の要部構成を示すように、入力と、7段目のシフトレジスタのそれぞれからの出力とのうち、いずれか1つの信号を出力とするバス切り替えスイッチMUX1を設けるとともに、1段目のシフトレジスタの後段にバス切り替えスイッチMUX2を設け、さらに、2段目のシフトレジスタの後段にバス切り替えスイッチMUX3を設けるといったように、シフトレジスタ群60における各シフトレジスタのうち、左側のシフトレジスタから個数を可変とするものが考えられる。なお、楕円曲線暗号化処理回路においては、シフトレジスタ群50,70についても、同様に構成することができる。
【0087】
このように、楕円曲線暗号化処理回路においては、3組の32ビット幅のシフトレジスタ群50,60,70のそれぞれに対応して、ビット幅を可変とするためのバス切り替えスイッチMUX0,MUX1,MUX2が設けられる。そこで、暗号化装置においては、回路規模の削減を図るために、上述したように、楕円曲線暗号化処理回路におけるシフトレジスタ群50,60,70と、SHA−1処理回路におけるシフトレジスタとを共用するとともに、楕円曲線暗号化処理回路におけるバス切り替えスイッチMUX0,MUX1,MUX2と、SHA−1処理回路におけるバス切り替えスイッチとを共用する。
【0088】
さらに、上述したSHA−1処理回路は、先に図3に示したように構成すると、32ビット幅のシフトレジスタ群を用いて構成することができる。このようなSHA−1処理回路において、最終的な結果としてのハッシュ値や演算途中経過の値を保持するシフトレジスタは、先に図2に示したように、ALU RAMに代替することができる。したがって、暗号化装置においては、楕円曲線暗号化処理回路における演算処理で用いる図示しないALU RAMとSHA−1処理回路におけるALU RAMとを共用する。これにより、暗号化装置においては、回路規模を抑制するのみならず、次回の楕円曲線暗号化処理にて用いるハッシュ値をALU RAMに即座に格納することから、データ転送の手間を省略し、処理の高速化を図ることも可能となる。
【0089】
また、楕円曲線暗号化処理回路にて算出された値や、SHA―1処理回路における最終的な結果としてのハッシュ値や演算途中の値をALU RAMに格納するために、楕円曲線暗号化処理回路やSHA―1処理回路がALU RAMにアクセスするに際しては、消費される電力が当該暗号化処理回路における他の各種信号処理において消費される電力のピークに比べてその電力のピークが大きい。そこで、後述するように、楕円曲線暗号化処理回路やSHA―1処理回路がCPUやRAMからデータを受け取るに際してのゲートを制御し、ALU RAMへのアクセス以外の各種処理を制限することにより、ALU RAMへのアクセスと、他の各種処理とを時分割にて行い、該暗号化処理回路にて消費される消費電力のピークを低減することが可能となる。
【0090】
また、楕円曲線暗号化処理回路やSHA―1処理回路へのゲートが制限されるに際して、これら処理回路がCPUからの指示に関するデータを受け取ることなく処理を行うために、これら処理回路は自立的に処理を行うことができる。従って、該暗号化処理装置全体における瞬時電力を低減することができ、瞬時電力が制限電力を超えた場合における再処理動作を行うことを低減することができ、処理を高速に行うことが可能となる。
【0091】
最後に、DES暗号化処理を行うためのハードウェアであるDES暗号化処理回路について説明する。
【0092】
DES暗号化処理回路は、DES暗号化処理を行うものである。DES暗号化とは、暗号化と復号とに同じ通信鍵を用いる共通鍵暗号化アルゴリズムの1つである。暗号化装置において、DES暗号化処理回路は、DES暗号化処理を3重に行ういわゆるトリプルDES暗号化処理を行うものとして構成される。
【0093】
ここで、DES暗号化処理回路においては、トリプルDES暗号化処理を行うことから、通常のシングルDES暗号化処理を行う場合に比べ、鍵データを保持するシフトレジスタ群の規模が大きくなり、ビット列に対してDES暗号化処理を施す際の連鎖技法であるいわゆるCBC(Cipher Block Chaining)モードを行う際にも、シフトレジスタ群が必要となる。したがって、DES暗号化処理回路においては、これらのシフトレジスタ群をゲート換算すると、いわゆるSボックスに比較しても大きく、全体として回路規模を増大させる要因となる。
【0094】
ところで、トリプルDES暗号化処理は、1つのDES演算処理コア回路を用いて、鍵データを3種類に変化させて3回演算処理を行うことによって実行される。そこで、DES暗号化処理回路としては、いわゆるType Aの非接触型ICカードに適用する場合には、先に図6に示した楕円曲線暗号化処理回路におけるシフトレジスタ群70を、この鍵データを保持するシフトレジスタ群として用いれば、楕円曲線暗号化処理回路に対する追加回路として、64ビット幅又は32ビット幅のバス切り替えスイッチを1つだけ設けるだけでよい。ここで、バス切り替えスイッチは、楕円曲線暗号化処理回路にも設けられていることから、DES暗号化処理回路としては、このバス切り替えスイッチを流用すれば追加回路も不要となる。一方、DES暗号化処理回路としては、いわゆるType Bの非接触型ICカードに適用する場合には、予め3種類の鍵データを用意しておき、シングルDES暗号化処理を行う毎に、2個のシフトレジスタ分だけシフトして鍵データを交換することにより、Type Aの場合と同様な動作を行うことができる。また、DES暗号化処理回路においては、データを保持するシフトレジスタや結果を保持するシフトレジスタについても、楕円曲線暗号化処理回路におけるシフトレジスタ群と共用することができることから、非常に僅かな追加回路でトリプルDES暗号化処理を行うことが可能となる。
【0095】
このようなDES暗号化処理回路は、具体的には、図8に示すように構成することができる。すなわち、DES暗号化処理回路は、図示しないCPUから供給されるデータを保持する32ビット幅のシフトレジスタ群90と、鍵データを保持するシフトレジスタ群100と、DES演算処理コア回路120を有する演算処理回路110とを備える。なお、同図におけるMUX,MUX0は、それぞれ、バス切り替えスイッチである。
【0096】
DES暗号化処理回路においては、本来であれば64ビット幅のバッファを必要とするところ、32ビット幅のシフトレジスタ群90,100でまかなうことができる。また、DES暗号化処理回路においては、トリプルDES暗号化処理に用いる鍵データの交換を行うためにバス切り替えスイッチを用いず、巡回させる形式とすることにより、バス切り替えスイッチを不要としている。このように、DES暗号化処理回路は、上述した楕円曲線暗号化処理回路に対して、DES演算処理コア回路120を含む演算処理回路110以外には殆ど追加回路を必要とせず、大幅に回路規模を削減することが可能となる。
【0097】
さて、以上では、各部を共用しやすい構成としたSHA−1処理回路、楕円曲線暗号化処理回路、及びDES暗号化処理回路について説明したが、以下では、これらのSHA−1処理回路、楕円曲線暗号化処理回路、及びDES暗号化処理回路を統合して暗号化装置を構成することを考える。
【0098】
先に図2に示したSHA−1処理回路、図6に示した楕円曲線暗号化処理回路、及び図8に示したDES暗号化処理回路を、それぞれ、重ね合わせると、共通の構成部位が極めて多く存在することがわかる。したがって、暗号化装置は、図9に示すように構成することができる。
【0099】
すなわち、暗号化装置は、同図に示すように、2つのシフトレジスタ群200,210と、先に図2に示したSHA−1処理回路におけるROM30に相当するROM220と、先に図2に示したSHA−1処理回路におけるALU RAM40及び先に図6に示した楕円曲線暗号化処理回路における楕円曲線演算処理コア回路80として機能するモンゴメリー演算回路230と、先に図8に示したDES暗号化処理回路における演算処理回路110に相当する演算処理回路240と、SHA−1処理における各種演算を行うための上述した各種演算処理回路とを備える。なお、同図においては、シフトレジスタ群200と演算処理回路240との配線については図示を省略している。
【0100】
より具体的には、暗号化装置においては、先に図2に示したSHA−1処理回路におけるシフトレジスタ群10と、先に図6に示した楕円曲線暗号化処理回路におけるシフトレジスタ群50,60と、先に図8に示したDES暗号化処理回路におけるシフトレジスタ群90,100とを、シフトレジスタ群200として共用する。また、暗号化装置においては、先に図2に示したSHA−1処理回路におけるシフトレジスタ群20と、先に図6に示した楕円曲線暗号化処理回路におけるシフトレジスタ群70とを、シフトレジスタ群210として共用する。
【0101】
さらに、暗号化装置においては、モンゴメリー演算回路230とSHA−1処理にて用いられる加算器とを、バス切り替えスイッチMUXを介して接続することにより、楕円曲線暗号化処理にて用いられる加算器を削減している。
【0102】
さらにまた、暗号化装置においては、先に図2に示したSHA−1処理回路におけるバス切り替えスイッチMUX0と、先に図6に示した楕円曲線暗号化処理回路におけるバス切り替えスイッチMUX0と、先に図8に示したDES暗号化処理回路におけるバス切り替えスイッチMUX0とを共用するとともに、先に図6に示した楕円曲線暗号化処理回路におけるバス切り替えスイッチMUX1と、先に図8に示したDES暗号化処理回路におけるバス切り替えスイッチMUX0とを共用する。
【0103】
このように、暗号化装置においては、SHA−1処理回路、楕円曲線暗号化処理回路、及びDES暗号化処理回路における各部を共用することができ、後述する各処理モードに応じて動作させるハードウェアを時分割に切り替えることにより、本来必要とされるゲート数の約1/2程度のゲート数にまで回路規模を削減することができる。また、暗号化装置においては、回路規模の削減にともない、消費電力も約1/2程度にまで削減することができる。
【0104】
さらに、後述するALU RAMへのアクセスが行われるに際して、他の各種処理を制限することにより該暗号化処理装置全体で消費される電力の瞬時電力を低減することができる。特に、楕円暗号化処理回路やSHA―1処理回路にて演算された結果である値やハッシュ値を格納するALU RAMへアクセスするに際しては、他の各種処理に比べて消費される瞬時電力が大きいことから、各種処理モードに応じて動作させるハードウェアを時分割で動作させることにより瞬時電力のピークを低減し、瞬時電力が制限電力を超えることによる再処理動作を行うことなく、高速な処理を可能とする。
【0105】
さらに、暗号化装置においては、これらの各部を制御する図示しないCPUの負荷も削減することができる。例えば、暗号化装置においては、SHA−1処理によって算出されたハッシュ値のALU RAM上における格納場所を、楕円曲線暗号化処理にて用いられるアドレスに予め設定しておくことにより、SHA−1処理によるハッシュ値の算出後に、そのまま楕円曲線暗号化処理へと即座に移行することができることから、署名生成及び署名検証等の一連の動作の大半をハードウェアによって高速に実行することができる。したがって、暗号化装置においては、CPUの負荷を削減することができ、さらには、ソフトウェアの改竄等による攻撃に対する耐性も強固となる。通常、暗号化処理においては、途中の演算結果の授受をCPUに委任した場合には、ソフトウェアを改竄することによって容易に成りすましを許容してしまう一方で、暗号化装置においては、このような演算途中におけるCPUの介入による改竄を回避することができる。
【0106】
さて、以下では、このような暗号化装置を適用した応用例について説明する。
【0107】
暗号化装置は、上述したように、非接触型ICカードに適用することができる。
【0108】
非接触ICカードは、例えば図10に示すように、各部を制御するCPU300と、このCPU300のワークエリアとして機能するメモリであって例えば2KB程度の容量を有するRAM310と、各種プログラム等を記憶する読み出し専用のメモリであって例えば32KB程度の容量を有するROM320と、電気的に書き換え可能とされるメモリであって例えば9KB程度の容量を有するEEPROM(Electrically Erasable Programmable Read Only Memory)330と、電源回路等のアナログブロック340と、無線通信を行うためのRF(Radio Frequency)ブロック350と、上述した楕円曲線暗号化処理、SHA−1処理、及びトリプルDES暗号化処理を行う暗号化装置に相当するECC/SHA1/DESブロック360と、例えば1KB程度の容量を有する上述したALU RAM370と、テスター用のランドからなるテストブロック380と、CPU300と各部との間でデータの授受を行うためのバスであるCPUインターフェース390とを集積回路化したいわゆるLSI(Large Scale Integration)として構成される。
【0109】
このような非接触型ICカードは、先に図9に示した暗号化装置がECC/SHA1/DESブロック360として組み込まれたものである。非接触ICカードは、CPU300の制御のもとに、ECC/SHA1/DESブロック360を動作させ、楕円曲線暗号化処理、SHA−1処理、及びトリプルDES暗号化処理を行う。このとき、非接触型ICカードは、上述したように、各処理モードに応じて、動作させるハードウェアを時分割に切り替える。
【0110】
この時分割動作を具体的に説明するために、図11に示すように、各部を機能的に表現する。なお、同図においては、アナログブロック340については図示を省略するとともに、説明の便宜上、ECC/SHA1/DESブロック360を、楕円曲線暗号化処理及びSHA−1処理の機能を表すECC/SHA1ブロック360と、トリプルDES暗号化処理の機能を表すDESブロック360とに大別して表現している。
【0111】
このような非接触型ICカードにおける処理モードは、主に、通信を行う通信モード、楕円曲線暗号化処理を行う楕円曲線暗号化処理モード、トリプルDES暗号化処理を行うDES暗号化処理モード、及びALU RAM370に対してアクセスするALU RAMモードの4つに大別される。
【0112】
非接触型ICカードにおいては、通信モード時には、図12(A)中太線枠で示すように、CPU300、RAM310、ROM320、EEPROM330、及びRFブロック350が動作する。すなわち、非接触型ICカードにおいては、通信モード時には、CPU300の制御のもとに、ROM320に記憶されている所定の通信プログラムが起動し、RAM320やEEPROM330に記憶されている各種情報が、RFブロック350を介して外部に送信されるとともに、RFブロック350を介して外部から受信した各種情報が、RAM320やEEPROM330に記憶される。また、通信モード時には、暗号エンジンは各種処理を行うことがなく、該非接触型ICカード全体における消費電力は、通信モードで消費される電力に略等しくなる。つまり、通信モード、楕円曲線暗号化処理モード、トリプルDES暗号化処理モード、及びALU RAMモードを同時刻に動作させて各種処理を行うことがなく、通信モード時に消費される該非接触型ICカード全体における消費電力は、通信モードを動作させるに際して消費される電力のみによって決まる。従って、該非接触型ICカードにおける消費電力を低減することができるだけでなく、各モードを動作させるに際して消費される電力が同一時刻で加算される結果、該非接触型ICカード全体における瞬時電力が制限電力を超えないように各種処理を行うことが可能となる。
【0113】
また、非接触型ICカードにおいては、楕円曲線暗号化処理モード時には、同図(B)中太線枠で示すように、ECC/SHA1ブロック360が動作する。すなわち、非接触型ICカードにおいては、楕円曲線暗号化処理モード時には、ECC/SHA1ブロック360によってSHA−1処理が行われ、ハッシュ値を生成する。また、楕円曲線暗号化処理モード時には、CPU300、RAM310、ROM320、EEPROM330、及びRFブロック350がアイドリング状態とされ、ECC/SHA1ブロック360からALU RAM370へのハッシュ値の格納又はALU RAM370からのハッシュ値の読み込みが制限される。
【0114】
また、ECC/SHA1ブロック360は、楕円曲線暗号化処理モード時にCPU300から送られる処理に関する命令の如きアシストを受けることなく、自立的に処理を行うことができ、CPU300、RAM310、ROM320、EEPROM330、及びRFブロック350による各種処理に対して時分割にて行うことが可能となる。従って、個別の処理における消費電力を低減することが可能となる。ECC/SHA1ブロック360とALU RAM370との間における演算結果としてのハッシュ値の格納又は読み込みに際しては、ECC/SHA1ブロック360による演算処理中には、ALU RAM370との間におけるハッシュ値の受け渡しを行うことがなく、ECC/SHA1ブロック360の演算処理が一旦停止される。これにより、ECC/SHA1ブロック360における演算処理と、ALU RAM370へのアクセスが時分割で行われるように制限され、楕円曲線暗号化処理が行われる。
【0115】
さらに、非接触型ICカードにおいては、DES暗号化処理モード時には、同図(C)中太線枠で示すように、DESブロック360が動作する。ここで、CPU300、RAM310、ROM320はアイドリング状態とされる。すなわち、非接触型ICカードにおいては、DES暗号化処理モード時には、DESブロック360が、CPU300の制御のもとに、ROM320に記憶されている所定の擬似乱数(Pseudo−random Number;以下、PNという。)系列がシード(seed)や鍵データとして読み出され、RAM310がワークエリアとして用いられながら、DESブロック360と、CPU300、ROM300及びRAM310が時分割にて動作し、トリプルDES暗号化処理が行われる。
【0116】
さらに、非接触型ICカードにおいては、ALU RAMモード時には、同図(D)中太線枠で示すように、ALU RAM370が動作し、ECC/SHA1ブロックが生成する演算結果及びALU RAM370に格納されたデータをALU RAM370とECC/SHA1ブロック360との間で授受する。ALU RAM370を動作させるに際しては、CPU300、RAM310、ROM320、EEPROM330、及びRFブロック350がアイドリング状態とされ、ECC/SHA1ブロック360とのデータの授受を制限し、消費電力を低減することができる。例えば、ECC/SHA1ブロック360を構成し、比較的消費電力が大きい乗算器から構成される回路にミュート回路を接続することにより、消費電力を低減することが可能となる。
【0117】
図13は、縦軸を消費電力W、横軸を処理時刻Tとし、これら各処理モードにおいて消費される消費電力を比較した図である。同図(A)はゲートにおける消費電力、同図(B)はALU RAMにおける消費電力、同図(C)はRAMにおける消費電力、さらに同図(D)は、ECC/SHA1ブロックを構成するゲート、ALU RAM、及びRAMにける消費電力を加算した該非接触型ICカードにおける全体の消費電力を示す。同図(A)に示すように、ゲートにおける消費電力は、処理回路を構成する乗算器などの処理に際しての遅延によりピークが抑制されるとともに処理時間に沿って分散することになる。これにより、ゲートで消費される消費電力のみに関して瞬時電力が抑制されることになる。
【0118】
さらに、同図(A)及び(B)に示すように、ALU RAMが処理回路にアクセスするに際してはゲートにおける処理が停止されることにより、ALU RAMで電力が消費されるタイミングにおいては、ゲートでは電力が消費されることがない。ALU RAMにおけて電力が消費される時刻tとゲートにおける電力が消費される時刻tとのタイミングがずれることにより、ゲートにおける消費電力とALU RAMにおける消費電力が同時に生じることがない。
【0119】
また、CPUやRAMから自立的に処理を行うことができることにより、ECC/SHA1ブロックとRAMとの間におけるデータの読み込みの回数を低減することができ、先に示した図14(C)に比べ、図13(C)に示すようにRAMにおける消費電力を低減することもできる。
【0120】
従って、図13(A)乃至(C)に示す各処理における消費電力を加算し、非接触型ICカードで消費される全体の消費電力は、同図(D)に示すように図14(D)に示す消費電力に比べて瞬時電力が低減されたものとすることができ、例えば、非接触型ICカードの制限電力が20mAである場合でも、制限電力を超えないように非接触型ICカードを動作させることが可能となる。
【0121】
このように、非接触型ICカードにおいては、比較的消費電力が大きい処理を行われるに際して、他の処理を制限することにより瞬時電力を低減することができ、制限電力を瞬時電力が超えることによる処理の遅延を生じることがなく高速な処理を行うことが可能となる。また、各処理モードに応じて、動作させるハードウェアを時分割に切り替えることにより、ハードウェアを共用した構成であっても、同時には行うことができない複数の処理を行うことが可能であるとともに、回路規模の削減と電力消費の削減とを図ることができる。
【0122】
以上説明したように、本発明の実施の形態として示す暗号化装置は、処理に際して瞬時電力が比較的大きいALU RAMへのアクセスに際して、他の各演算処理を制限する。よって、他のECC/SHA1ブロックにおける処理のタイミングをずらすことにより瞬時電力を低減することができ、高速な処理を可能とすることができる。
【0123】
さらに、各種処理を行うための各ハードウェアを当該各種処理間で共用して時分割処理を行うことにより、回路規模を削減して極めて少ない電力消費のもとに高速且つ安全に公開鍵を用いた署名生成及び署名検証を行うこともできる。
【0124】
したがって、暗号化装置は、LSI等として実装する際に、チップサイズを大幅に小型化することができることから、非接触型ICカード等にも容易に適用することができる。このとき、暗号化装置は、電力消費が少なくて済むことから、非接触型ICカードに適用した場合であっても、数センチメートルもの実用的な通信距離を実現することができ、該非接触型ICカードの動作時における消費電力が制限電力を超える度に再度処理をやり直すことなく、高速な処理を行うことが可能となる。また、暗号化装置は、改竄等の攻撃に対する耐性にも優れていることから、高い安全性が要求される非接触型ICカードを用いたサービスに適用して有効である。
【0125】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、公開鍵暗号化方式として、楕円曲線暗号化方式を採用して説明したが、本発明は、例えばRSA暗号化方式等の他の公開鍵暗号化方式にも容易に適用することができる。
【0126】
また、上述した実施の形態では、ハッシュ関数として、SHA−1を用いるものとして説明したが、本発明は、例えばMD5(Message Digest 5)等の他のハッシュ関数にも容易に適用することができる。
【0127】
さらに、上述した実施の形態では、暗号化処理を行う際に必要となる鍵生成の過程等において用いる乱数を、共通鍵暗号化方式の1つであるDES暗号化方式を用いて生成するものとして説明したが、本発明は、乱数生成の手法については、任意のものを適用することができる。
【0128】
さらにまた、上述した実施の形態では、暗号化装置の適用例として、非接触型ICカードを用いて説明したが、本発明は、同様の機能を要求する任意の装置やデバイスに適用することができるのは勿論である。
【0129】
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0130】
【発明の効果】
以上詳細に説明したように、本発明にかかる暗号化装置は、公開鍵暗号化方式による暗号化処理を行う暗号化装置であって、公開鍵暗号化方式による暗号化処理を行う公開鍵暗号化処理手段と、公開鍵暗号化処理手段によって用いるハッシュ値を生成するハッシュ値生成手段と、ハッシュ値を格納する記憶手段とを備え、少なくとも、ハッシュ値生成手段が記憶手段にアクセスするに際して、公開鍵暗号化処理手段における各種演算処理を制限する。
【0131】
したがって、本発明にかかる暗号化装置は、ハッシュ値を格納するALU RAMへアクセスするに際して、他の各処理を停止することにより、暗号化装置における瞬時電力のピークを低減された状態のもとに、公開鍵を用いた署名生成及び署名検証を高速且つ安全に行うことができる。
【0132】
また、本発明にかかる暗号化装置は、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間で、使用するレジスタ群を時分割共用することにより、回路規模を削減して極めて少ない電力消費のもとに公開鍵を用いた署名生成及び署名検証を安全に行うことができる。
【0133】
また、この本発明にかかる暗号化装置は、公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、この共通鍵暗号化処理手段におけるデータを保持するレジスタ及び鍵データを保持するレジスタからなるレジスタ群を、公開鍵暗号化処理手段におけるレジスタ群と共用する。
【0134】
したがって、本発明にかかる暗号化装置は、共通鍵暗号化処理手段を備える場合には、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間のみならず、この共通鍵暗号化処理手段による暗号化処理との間でも、使用するレジスタ群を時分割共用することにより、より回路規模と電力消費とを削減することができる。
【0135】
さらに、この本発明にかかる暗号化装置において、公開鍵暗号化処理手段は、公開鍵暗号化方式による暗号化処理に際する各種演算処理を行う公開鍵暗号化演算処理コア手段を有し、ハッシュ値生成手段は、ハッシュ値の生成処理に際する各種演算処理を行うハッシュ値演算処理コア手段を有し、公開鍵暗号化演算処理コア手段と、ハッシュ値演算処理コア手段とを共用する。
【0136】
さらにまた、この本発明にかかる暗号化装置において、公開鍵暗号化処理手段は、ビット幅を可変とするためのバス切り替えスイッチを有し、ハッシュ値生成手段におけるバス切り替えスイッチを、公開鍵暗号化処理手段におけるバス切り替えスイッチと共用する。
【0137】
したがって、本発明にかかる暗号化装置は、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間で、演算処理に使用する演算処理コア手段を時分割共用し、また、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間で、バス切り替えスイッチを時分割共用することにより、さらに大幅な回路規模の削減と電力消費の削減とを図ることができる。
【0138】
また、この本発明にかかる暗号化装置は、公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、この共通鍵暗号化処理手段におけるバス切り替えスイッチを、公開鍵暗号化処理手段におけるバス切り替えスイッチと共用する。
【0139】
したがって、本発明にかかる暗号化装置は、共通鍵暗号化処理手段を備える場合には、公開鍵暗号化処理手段による暗号化処理とハッシュ値生成手段によるハッシュ値生成処理との間のみならず、この共通鍵暗号化処理手段による暗号化処理との間でも、バス切り替えスイッチを時分割共用することにより、より回路規模と電力消費とを削減することができる。
【0140】
さらに、この本発明にかかる暗号化装置は、ハッシュ値生成手段によって生成されたハッシュ値を格納する記憶手段を備え、ハッシュ値生成手段は、生成したハッシュ値を記憶手段に格納する際に、公開鍵暗号化処理手段によって用いられるアドレスに当該ハッシュ値を格納し、公開鍵暗号化処理手段は、記憶手段に格納されたハッシュ値を読み出す。
【0141】
したがって、本発明にかかる暗号化装置は、ハッシュ値生成手段によって生成されたハッシュ値を、公開鍵暗号化処理手段による次回の暗号化処理にて用いるためにデータ転送することなく、記憶手段を介して受け渡すことにより、回路規模及び電力消費の削減のみならず、処理の高速化も図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示す暗号化装置の概念を説明する図であって、(A)は、楕円曲線暗号化処理を行う暗号化エンジンにおけるハードウェア構成要素を機能分析的に分解した様子を示し、(B)は、SHA−1処理を行う暗号化エンジンにおけるハードウェア構成要素を機能分析的に分解した様子を示し、(C)は、楕円曲線暗号化処理及びSHA−1処理のそれぞれを行うためのハードウェア構成要素としてのレジスタを共用した様子を示す図である。
【図2】SHA−1処理回路の具体的な実装例としての構成を説明するブロック図である。
【図3】SHA−1処理回路の具体的な実装例としての他の構成を説明するブロック図である。
【図4】図2に示すSHA−1処理回路における基本動作を説明するためのフローチャートである。
【図5】図2に示すSHA−1処理回路における基本動作を説明するためのフローチャートであって、図4に示す工程に続く残りの工程を説明する図である。
【図6】楕円曲線暗号化処理回路の具体的な実装例としての構成を説明するブロック図である。
【図7】同楕円曲線暗号化処理回路の具体的な実装例としての要部構成を説明するブロック図であって、(A)は、シフトレジスタ群における各シフトレジスタのうち、右側のシフトレジスタから個数を可変としてビット幅を切り替える場合の構成を示し、(B)は、シフトレジスタ群における各シフトレジスタのうち、左側のシフトレジスタから個数を可変としてビット幅を切り替える場合の構成を示す図である。
【図8】DES暗号化処理回路の具体的な実装例としての構成を説明するブロック図である。
【図9】同暗号化装置の具体的な実装例としての構成を説明するブロック図である。
【図10】同暗号化装置を適用した非接触型ICカードの構成を説明するブロック図である。
【図11】同非接触型ICカードにおける各部を機能的に表現したブロック図である。
【図12】同非接触型ICカードにおける時分割動作を説明するための図であり、(A)は、通信モード時における動作を説明するためのブロック図であり、(B)は、楕円曲線暗号化処理モード時における動作を説明するためのブロック図であり、(C)は、DES暗号化処理モード時における動作を説明するためのブロック図であり、(D)は、ALU RAMモード時における動作を説明するためのブロック図である。
【図13】同非接触型ICカードにおける消費電力を説明するための図であり、(A)は、ゲートにおける消費電力を説明する図であり、(B)は、ALU RAMアクセス時における消費電力を説明するための図であり、(C)は、RAMにおける消費電力を説明するための図であり、(D)は、該非接触型ICカード全体の消費電力を説明するための図である。
【図14】従来の非接触型ICカードにおける消費電力を説明するための図であり、(A)は、ゲートにおける消費電力を説明する図であり、(B)は、ALU RAMアクセス時における消費電力を説明するための図であり、(C)は、RAMにおける消費電力を説明するための図であり、(D)は、該非接触型ICカード全体の消費電力を説明するための図である。
【符号の説明】
10,20,50,60,70,90,100,200,210 シフトレジスタ群、 30,220,320 ROM、 40,370 ALU RAM、80 楕円曲線演算処理コア回路、 110 演算処理回路、 120 DES演算処理コア回路、 230 モンゴメリー演算回路、 300 CPU、 310 RAM、 330 EEPROM、 340 アナログブロック、 350 RFブロック、 360 ECC/SHA1/DESブロック、 360 ECC/SHA1ブロック、 360 DESブロック、 380 テストブロック、 390 CPUインターフェース

Claims (12)

  1. 公開鍵暗号化方式による暗号化処理を行う暗号化装置であって、
    公開鍵暗号化方式による暗号化処理を行う公開鍵暗号化処理手段と、
    前記公開鍵暗号化処理手段によって用いるハッシュ値を生成するハッシュ値生成手段と、
    前記ハッシュ値を格納する記憶手段とを備え、
    少なくとも、前記ハッシュ値生成手段が前記記憶手段にアクセスするに際して、前記公開鍵暗号化処理手段における各種演算処理を制限すること
    を特徴とする暗号化装置。
  2. 前記公開鍵暗号化処理手段は、演算用の値を保持するためのレジスタ及び結果を取り込むためのレジスタからなるレジスタ群を有し、
    少なくとも、前記ハッシュ値生成手段における演算用の値を保持するためのレジスタ及び結果としてのハッシュ値を取り込むためのレジスタからなるレジスタ群を、前記公開鍵暗号化処理手段における前記レジスタ群と共用し、処理モードに応じて、動作させるハードウェアを時分割に切り替えること
    を特徴とする請求項1記載の暗号化装置。
  3. 前記公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、
    前記共通鍵暗号化処理手段におけるデータを保持するレジスタ及び鍵データを保持するレジスタからなるレジスタ群を、前記公開鍵暗号化処理手段における前記レジスタ群と共用すること
    を特徴とする請求項1記載の暗号化装置。
  4. 前記共通鍵暗号化処理手段は、DES暗号化処理を行うこと
    を特徴とする請求項3記載の暗号化装置。
  5. 前記公開鍵暗号化処理手段は、公開鍵暗号化方式による暗号化処理に際する各種演算処理を行う公開鍵暗号化演算処理コア手段を有し、
    前記ハッシュ値生成手段は、前記ハッシュ値の生成処理に際する各種演算処理を行うハッシュ値演算処理コア手段を有し、
    前記公開鍵暗号化演算処理コア手段と、前記ハッシュ値演算処理コア手段とを共用すること
    を特徴とする請求項1記載の暗号化装置。
  6. 前記公開鍵暗号化演算処理コア手段における加算手段と、前記ハッシュ値演算処理コア手段における加算手段とを共用すること
    を特徴とする請求項5記載の暗号化装置。
  7. 前記公開鍵暗号化処理手段は、ビット幅を可変とするためのバス切り替えスイッチを有し、
    前記ハッシュ値生成手段におけるバス切り替えスイッチを、前記公開鍵暗号化処理手段における前記バス切り替えスイッチと共用すること
    を特徴とする請求項1記載の暗号化装置。
  8. 前記公開鍵暗号化処理手段によって暗号化処理を行う際に必要となる乱数を生成するために、共通鍵暗号化方式による暗号化処理を行う共通鍵暗号化処理手段を備え、
    前記共通鍵暗号化処理手段におけるバス切り替えスイッチを、前記公開鍵暗号化処理手段における前記バス切り替えスイッチと共用すること
    を特徴とする請求項7記載の暗号化装置。
  9. 前記ハッシュ値生成手段は、生成したハッシュ値を前記記憶手段に格納するに際して、前記公開鍵暗号化処理手段によって用いられるアドレスに該ハッシュ値を格納し、
    前記公開鍵暗号化処理手段は、前記記憶手段に格納されたハッシュ値を読み出すこと
    を特徴とする請求項1記載の暗号化装置。
  10. 前記公開鍵暗号化処理手段は、楕円曲線暗号化処理を行うこと
    を特徴とする請求項1記載の暗号化装置。
  11. 前記ハッシュ値生成手段は、SHA−1処理を行うこと
    を特徴とする請求項1記載の暗号化装置。
  12. 通信機能を有する非接触型ICカードに組み込まれていること
    を特徴とする請求項1記載の暗号化装置。
JP2002241367A 2002-08-22 2002-08-22 暗号化装置 Pending JP2004078053A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002241367A JP2004078053A (ja) 2002-08-22 2002-08-22 暗号化装置
US10/633,658 US7403614B2 (en) 2002-08-22 2003-08-05 Encryption apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002241367A JP2004078053A (ja) 2002-08-22 2002-08-22 暗号化装置

Publications (2)

Publication Number Publication Date
JP2004078053A true JP2004078053A (ja) 2004-03-11
JP2004078053A5 JP2004078053A5 (ja) 2005-10-27

Family

ID=32023866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002241367A Pending JP2004078053A (ja) 2002-08-22 2002-08-22 暗号化装置

Country Status (2)

Country Link
US (1) US7403614B2 (ja)
JP (1) JP2004078053A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705679B2 (en) 2013-06-04 2017-07-11 Mitsubishi Electric Corporation Data authentication device and data authentication method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401110B1 (en) * 2004-09-09 2008-07-15 Sun Microsystems, Inc. System, method and apparatus for an improved MD5 hash algorithm
JP4308840B2 (ja) * 2006-11-08 2009-08-05 Okiセミコンダクタ株式会社 Sha演算方法およびsha演算装置
US9317708B2 (en) * 2008-08-14 2016-04-19 Teleputers, Llc Hardware trust anchors in SP-enabled processors
JP5198572B2 (ja) * 2008-10-07 2013-05-15 富士通株式会社 暗号化装置
JP5755970B2 (ja) * 2011-08-26 2015-07-29 株式会社東芝 演算装置
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
US11785005B2 (en) * 2020-09-23 2023-10-10 Apple Inc. Secure tunneling with implicit device identification

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736672A (ja) 1993-07-20 1995-02-07 Canon Inc 乱数発生器、及びそれを用いた通信システム及びその方法
US5764772A (en) * 1995-12-15 1998-06-09 Lotus Development Coporation Differential work factor cryptography method and system
GB9707861D0 (en) 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
JPH11109859A (ja) 1997-10-06 1999-04-23 Nec Corp 擬似乱数発生方法および装置
US6088800A (en) 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
JP2000124887A (ja) * 1998-10-14 2000-04-28 Fuji Xerox Co Ltd グループ単位の暗号化・復号方法および署名方法ならびに装置
US6625592B1 (en) * 1999-08-10 2003-09-23 Harris-Exigent, Inc. System and method for hash scanning of shared memory interfaces
US20020016917A1 (en) * 2000-08-04 2002-02-07 Tomohiko Kitamura System integrated circuit
EP1325583A2 (en) * 2000-10-13 2003-07-09 Eversystems Inc. Secret key messaging
DE10061998A1 (de) 2000-12-13 2002-07-18 Infineon Technologies Ag Kryptographieprozessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705679B2 (en) 2013-06-04 2017-07-11 Mitsubishi Electric Corporation Data authentication device and data authentication method

Also Published As

Publication number Publication date
US20040076292A1 (en) 2004-04-22
US7403614B2 (en) 2008-07-22

Similar Documents

Publication Publication Date Title
Kim et al. Design and implementation of a private and public key crypto processor and its application to a security system
Güneysu et al. Cryptanalysis with COPACOBANA
US6021201A (en) Method and apparatus for integrated ciphering and hashing
JP4782343B2 (ja) “ミドルマン”詐欺に対する可能性を減少すると同時に匿名のユーザを認証する方法
CN108833103B (zh) 射频识别标签和读取设备之间进行安全通信的方法和系统
Bosselaers et al. Integrity Primitives for Secure Information Systems: Final Ripe Report of Race Integrity Primitives Evaluation
Samir et al. ASIC and FPGA comparative study for IoT lightweight hardware security algorithms
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
JP2003526118A (ja) 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント
JP2002535878A (ja) 公開鍵および秘密鍵による暗号化方法
JP2003501698A (ja) 基本的なレジスタ演算を用いたパラメータの生成
CN112202547A (zh) 一种轻量级分组密码gfcs实现方法、装置及可读存储介质
US6111952A (en) Asymmetrical cryptographic communication method and portable object therefore
JP2004054128A (ja) 暗号化装置
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
Borst et al. Cryptography on smart cards
JP2004078053A (ja) 暗号化装置
Mühlbach et al. Secure communication in microcomputer bus systems for embedded devices
Lee et al. Lightweight and low-latency AES accelerator using shared SRAM
Panato et al. An IP of an Advanced Encryption Standard for Altera/spl trade/devices
KR100564599B1 (ko) 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
CN110493003B (zh) 一种基于四基二进制底层模运算的快速加密系统
JP5179933B2 (ja) データ処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050527

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080529