JP4045777B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP4045777B2
JP4045777B2 JP2001331856A JP2001331856A JP4045777B2 JP 4045777 B2 JP4045777 B2 JP 4045777B2 JP 2001331856 A JP2001331856 A JP 2001331856A JP 2001331856 A JP2001331856 A JP 2001331856A JP 4045777 B2 JP4045777 B2 JP 4045777B2
Authority
JP
Japan
Prior art keywords
data
key
encryption
information processing
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001331856A
Other languages
English (en)
Other versions
JP2003134103A (ja
Inventor
高志 渡邊
正博 神永
隆 遠藤
誠一 熊野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001331856A priority Critical patent/JP4045777B2/ja
Priority to US10/153,616 priority patent/US7284133B2/en
Priority to EP02011567A priority patent/EP1308885B1/en
Priority to DE60217260T priority patent/DE60217260T2/de
Publication of JP2003134103A publication Critical patent/JP2003134103A/ja
Application granted granted Critical
Publication of JP4045777B2 publication Critical patent/JP4045777B2/ja
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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置における取り扱いデータの暗号化・復号方法に関し、特に情報処理装置内部で使用するデータの暗号化および復号を行なう情報処理装置における暗号化・復号方法に関する。
【0002】
【従来の技術】
ICカードや情報家電は、図1に示したような一般的な構成を基本とした情報処理装置を搭載しており、この情報処理装置は8ビットの演算装置(CPU)(E101)や10kB程度の揮発性記憶装置(RAM)(E102)と100kB程度の不揮発性記憶装置(EEPROMやROM)(E103, E104)といった、小規模の計算能力と記憶装置しか持たない。一方、暗号処理が主に使用されているワークステーションやネットワークルーターなどの装置は、32ビットのCPUや数百MBの揮発性記憶装置(RAM)といった大規模な計算能力と記憶装置を有している。さらに、後者は本体サイズや最大消費電力などの制限が前者に比べて少ないため、演算装置の高クロック周波数動作や専用ハードウェアの追加による高速化が可能である。
各種情報の蓄積利用や、処理装置間の情報交換が頻繁に行なわれる、各種機器の情報化が広まっており、それに従い、電子マネーや、課金情報、個人情報など、機器間のやりとりの間に外部へ取り扱いデータの情報が漏洩することが望ましくないデータ処理が求められる場面が増えている。これらの情報を秘密に処理するために、暗号は欠くことのできない技術となっている。
現在、主要な暗号方式としてDES(Data Encryption Standard:データ暗号化標準)(National Bureau of Standards, Data Encryption Standard, U.S. Department of Commerce, FIPS pub. 46, January 1977) とRSA(Rivest, Shamir, Adleman:人名に因む)(R.L. Rivest, A. Shamir, and L.M. Adleman, A method for obtaining digital signatures and public-key cryptosystems, Communications of the ACM (2) 21 (1978), 120-126) が用いられている。前者は秘密鍵暗号方式であり、後者は公開鍵暗号方式である。秘密鍵暗号方式とは、暗号化と復号で同一の鍵を用いるため共通鍵暗号方式や対象鍵暗号方式とも呼ばれ、公開鍵暗号方式では暗号化と復号で異なる鍵を用いるため非対称鍵暗号方式とも呼ばれる。一般に、秘密鍵暗号は64ビットから128ビット程度の入力データと、同じく64ビットから128ビット程度の鍵ビットを混ぜ合わせながら、ビットの対応関係の差し替え(Substitution)やビット位置の入れ替え(Permutation)を複数回行なうことで構成することが多い。秘密鍵暗号方式はビット操作と比較的小規模のテーブルの参照のみで計算が可能なため、小規模の情報処理装置でも数msといった時間で処理を完了することができる。公開鍵暗号は暗号化鍵と復号鍵に数学的な関係を設定するために鍵として使用できるものが限定されるため、鍵長が1024ビットのように大きくなりがちである。また算術演算を大量に行なうため、小規模の情報処理装置では、コプロセッサを用いても計算には数百msを要する。秘密鍵暗号では事前に鍵を送信者と受信者で共有する必要があるが高速で処理できるのに対して、公開鍵暗号では一方の暗号化用の鍵を公開してデータを暗号化しても、他方で秘密に保持している復号用の鍵でしか復号できないが計算に秘密鍵暗号より多くの時間を要する。そのため、情報処理装置独自に使用するデータの暗号化には秘密鍵暗号を用い、鍵を事前に共有していない情報処理装置間でやりとりするデータの暗号化には公開鍵暗号を用いることが多い。
情報処理装置が不揮発性記憶装置に秘密情報を格納する場合、電源遮断時などに記憶装置が取り出され、物理的に解析されることを避けるために、秘密鍵暗号方式を用いて情報を暗号化して保存しておく手段が用いられる。この手段に従えば、暗号化鍵をユーザーが記憶する、もしくは第3者に容易に判明しない方法で保存することで、秘密情報を安全に保持することができる。
外部記憶装置に記憶するデータの暗号化方法として、DESなどの秘密鍵暗号を利用した方法は例えばPGP(Pretty Good Privacy)といった一般に公開されたソフトウェアでも実現されている。
【0003】
【発明が解決しようとする課題】
しかし、外部記憶装置に記憶するデータを暗号化するだけでは不十分であり、暗号化・復号を行なう情報処理装置内部においても取り扱いデータの秘匿を行なう必要がある。この点について、本発明は鍵データ保持用の少数のレジスタと演算装置いう小規模なハードウェアと、また小規模ゆえの高速処理を可能とする情報処理装置を提案する。本発明の装置を使用すれば、情報処理装置内部でも情報漏洩に対して安全な処理を行なうことが可能である。本課題は、1998年にP.Kocher氏が発表した暗号解析手法DPA(Differential Power Analysis)(P. Kocher, J. Jaffe, andB.Junn, Differential Power Analysis, Advances in Cryptology CRYPTO'99, Lecture Note in Computer Science 1666, Springer-Verlag, pp388-397, 1999)により喚起されたといえる。同手法の発表により、外部記憶装置に格納するデータだけではなく、演算装置の中で演算中のデータも保護する必要があることが明らかになった。DPAは、演算中のデータに依存する消費電流を観察することで、ある特定ビットの状態を特定する解析技術である。この解析技術の本質は、情報処理装置が処理するデータと消費電流の間にある相関を利用することである。
情報処理装置の消費電流は、取り扱うデータに依存している。取り扱うデータは、データの表現形式と設置場所の2つのパラメータを持っている。データの表現形式とは,例えばコンピュータにおける2進数表現であり,設置場所とはCPUのアドレス空間におけるデータの設置アドレスである。現在の情報処理装置は、取り扱いデータを1/0の組み合わせで表現する。回路を構成するCMOSの性質から1を取り扱う場合と0を取り扱う場合で消費電流が異なる。
今、アドレスaに設置したデータxを取り扱う際の消費電流をc(x,a)と表記する。あるデータxの2進数表現における1の個数をハミングウェイトと呼び,H(x)と表記する。情報処理装置のバス幅がwビットであるならば,明らかに0≦H(x)≦wである。アドレスaにアクセスする際にも,情報処理装置内部でaの2進数表現を使用することに注意する。1を取り扱う場合の消費電流をd1とあらわし,0を取り扱う場合の消費電流をd0であらわす。例として、情報処理装置のデータバス、アドレスバスの幅を8ビットであるとすると、
c(x,a)=(H(x)+H(a))d1+((8-H(x))+(8-H(a))d0+α+β
である。ここで,αは情報処理装置の特定部分が動作することによる追加の消費電力であり、βは測定環境によるノイズなどである。
まず、データ自身に関係しない成分であるα,βを取り除くことを考える。同一の状態にある情報処理装置において,取り扱うデータのみが異なる場合、2つのデータx0とx1を取り扱う際の消費電流
c(x0,a0)=(H(x0)+H(a0))d1+((8-H(x0))+(8-H(a0))d0+α0+β0

c(x1,a1) =(H(x1)+H(a1))d1+((8-H(x1))+(8-H(a1))d0+α1+β1
における成分α0とα1は等しい。つまり,ノイズ成分であるβ0とβ1を取り除くことができれば,c(x0,a0)とc(x1,a1)の比較から,データx0, x1の比較を行なうことができる。βはノイズであるから、平均値は0である。よって,十分に多いn回の消費電流測定データc[0]〜c[n-1]を平均化することで,βを取り除くことができる。このようにして,β0, β1を取り除けば,
c(x0,a0)-c(x1,a1)=((H(x0)+H(a0))(H(x1)+H(a1)))d1+((H(x1)+H(a1))-(H(x0)+H(a0)))d0
であり,データが同じアドレスに設置されている場合(つまりa0=a1),
c(x0,a0)-c(x1,a1)=(H(x0)-H(x1))d1-(H(x0)-H(x1))d0
である。さらに,d=d1-d0と表記すれば,
c(x0,a0)-c(x1,a1)=(H(x0)-H(x1))d
と書くことができる。ある時点において,情報処理装置のどの部分が動作しているかを正確に追跡することは困難であるため,αを知ることは困難である。しかし,取り扱いデータのみを変更して差分をとることにより,αを相殺し,d1,d0の絶対値を知る代わりに,差分値dを知ることは容易である。結果的に,この情報を元にして,c(x0,a0)-c(x1,a1)からデータx0,x1のハミングウェイトがどれだけ異なっているかを知ることができる。実際に,取り扱いデータを推定するためには,基礎実験として,8ビットバスならばハミングウェイト0から8までの9通りのデータについて消費電力を調べておくことが有効である。9通りとしては例えば,0,1,3,7,15,31,63,127,255とする。(これを2進数表現すれば、それぞれb'0, b'1, b'11, b'111, b'1111, b'11111, b'111111, b'1111111, b'11111111であり、ハミングウェイトは0, 1, 2, 3, 4, 5, 6, 7, 8である。) 基礎実験データと,取得データとの差分を計算することで,取り扱いデータとのハミングウェイト差が0であるデータを知ることができる。例えば,取り扱いデータと基礎実験で取得したデータ1演算時の消費電流が一致したとする。これは,取り扱いデータのハミングウェイトが1であることを意味する。8ビットの数値でハミングウェイトが1となるのは,1,2,4,8,16,32,64,128であるので,取り扱いデータはこれらのうちいずれかであることがわかる。情報処理装置の設計によっては,8ビットバスのビット位置0〜7に依存して消費電流が異なる場合がある。この場合は、28=256通りすべての基礎実験データを取得しておき,逐次比較することで,取り扱いデータを一意に決めることが可能である。暗号処理装置における鍵取り扱い部分でこのようなデータ推定が可能であれば、暗号を容易に解読することができる。
ここで,如何にして上記のノイズβを除去するかが問題となる。一般的に,十分に多い数をnとして、同じデータに対してn回情報処理装置を動作させ,消費電流パターンc[0]〜c[n-1]を取得し,これらの平均値を計算する。ノイズβの平均値は0であるため,このようにしてβを除去することができることは明らかである。個人情報など、変化しにくい情報の場合は特に、複数回測定データの平均化によってノイズを除去されると、情報が漏洩する可能性が高まることに注意する必要がある。nの大きさは、情報処理装置のノイズ源や測定精度に依存するため,単純に決めることはできない。しかし、具体的にnを知らずとも、ノイズが除去されるまで測定を繰り返せば十分である。このようなデータ解析への対策として平均化によるノイズ除去に十分なだけの回数の演算を許さないようにすることが考えられる。
情報処理装置が電気で動作している以上、処理する情報と消費電流の間の相関を完全になくすことは困難である。そこで、取り扱いデータを暗号化することで解析者が内容を予測できないようにする。暗号化方法として、上記したDESなどを用いることができるが、暗号化に時間が掛かり、また暗号化に際してレジスタや揮発性記憶装置などの多くのハードウェア資源を使用するため、小規模の装置において処理データを随時暗号化・復号する目的で使用するのには適していない。必要なハードウェア資源が少なく、処理時間が短い暗号化・復号装置が必要である。本発明は、本課題を解決するための暗号化・復号装置を与えることを目的としている。
【0004】
【課題を解決するための手段】
情報処理装置が記憶装置や演算装置などとやり取りするデータの内容を暗号化する。これにより,処理装置で処理するデータと消費電流との相関をなくすことができる。つまり,解析者がデータ処理時の消費電流を見ても、処理データについての情報を得られない。また,情報処理装置は,ユーザーの関知しない部分で自動的にデータを暗号化し復号化することができる。そのため,ユーザーの装置利用方法によらず消費電流解析などに対して安全な処理を提供することができる。(1) 情報処理装置は,データ格納装置に記憶されている,もしくは新たに生成したデータを暗号化してデータ格納装置に記憶する。その際,演算装置から出力されたデータは,アタッカーが予想することのできない形式となっており,アタッカーは同データを手がかりにした解析を行なうことができない。特に暗号化に使用する鍵データを定期的もしくは不定期に変更することで,ある時点までにアタッカーが蓄積した,鍵に関する情報を無意味なものにすることができる。鍵を変更する際には,すでに暗号化され記憶されているデータの再暗号化を行なう。再暗号化は,変更前の鍵で一度復号化し,変更後の鍵で新たに暗号化することで実現可能であるが,復号化を行なわず,暗号化データを更に変更後の鍵で暗号化し,変更前の鍵と変更後の鍵から新たな暗号化データを復号化することのできる新たな鍵を生成し,その新たな鍵を保存すれば,復号化したデータは一度もアタッカーにさらされることが無く,安全性が向上する。
(2) 同一の入力データを情報処理装置内部で複数回処理していることをアタッカーが知りうる場合がある。(1)で述べたように処理データは暗号化されており,処理ごとにデータ形式が異なる。しかし,同一データを同一順序で処理すれば,消費電流などの解析時に見られる測定ノイズの除去が可能となる場合がある。複数ブロックにわたる処理データは,一般的に先頭から順番に処理するため,アタッカーはその知識を利用してデータの解析を行なおうとする。本発明では,アタッカーが知りえないランダムな順序でデータブロックの処理を行ない,解析を困難なものにしている。処理順序を変更する際に一度,定められた順序もしくはランダムな順序にデータを再配置した上で先頭から順番に処理を行なっても良いし,再配置を行なうことなくデータ記憶位置から直接取り出しても良い。再配置を行ないながらデータの暗号化を行なうことで,さらに解析を困難にすることができる。
(3) また、データの記憶位置を物理的,もしくは論理的に変化させることにより、同一データを繰り返し使用しても、データ記憶位置を指定するためのアドレス情報や記憶位置の物理的特性に依存した情報漏洩が起こらず、より安全な情報処理が可能となる。データの記憶位置は,データの内容に依存したものを使用しても良いし,データ記憶位置決定用の定められた,もしくはランダムなデータを用いることもできる。
情報処理装置のデータ入力もしくは出力のうち一方もしくは両方が,I/Oポートなどの外部インターフェースである場合にも適用することができることは明らかである。
【0005】
【発明の実施の形態】
暗号化・復号を秘密鍵暗号方式で行なうものとして本発明の実施の形態について述べる。
(実施例1)
本実施例は処理データの暗号化に関するものである。
図2に示すように情報処理装置(E201)のデータ処理は、基本的に、(a)記憶装置からのデータ読み出し(S201)、(b)演算装置による演算(S202)、(c)記憶装置へのデータ書き込み(S203)で構成される。この時、記憶装置(E202)から読み出すデータは、装置の目的や状態により様々であるが、例えば情報処理装置のID番号や所有者の個人情報、暗号化鍵などの固定値である場合を考える。本発明による対策を施していない情報処理装置で固定値を読み出せば、上で述べた手法を用いて、解析者が当該情報を知ることができる。
図3に示す本実施例の情報処理装置(E301)は、初めて記憶装置(E302)にデータd[0]を格納する際に、データ格納装置(E304)に保存されたある鍵データk[0]で前記データd[0]を暗号化して(S301)暗号化済みデータd'[0]を得て、d'[0]を記憶装置に格納する(S302)。上記 (a)において記憶装置からデータd'[0]を読み出した(S303)後、演算装置(E303)は前記鍵データk[0]を用いてd'[0]を復号してデータd[0]を得る(S304)ことができる。次に、演算装置はデータ格納装置に保存されている新しい鍵データk[1]を用いて再度前記データd[0]を暗号化してデータd''[0]を得て(S305)記憶装置に記憶する(S306)。そのため、(a)での読み出しごとにデータが変化する。ここで、k[1]を用いて再度暗号化する際にd[0]を用いたが、d[0]を暗号化するのではなく、d'[0]を暗号化してd'''[0]を得ても良い。その場合、データd'''[0]を復号する際にk[1]およびk[0]で順次復号する。もしくは、k[1]およびk[0]からd'''[0]をd[0]に直接復号するための新しい1つの鍵k'[0]を作成してもよい。特に、暗号化・復号方法として排他的論理和を使用すれば、d''[0] = d'[0] EXOR k[1] = (d[0] EXOR k[0]) EXOR k[1] = d[0] EXOR (k[0] EXOR k[1])の関係が成り立つため、k'[0] = k[0] EXOR k[1]を用いれば、d''[0] EXOR k'[0] = d[0] EXOR (k[0] EXOR k[1]) EXOR (k[0] EXOR k[1]) = d[0]となり、復号することができる。EXORの代わりに有限体における加算、乗算を使用しても同様の関係を成立させることが可能である。使用者が用意するか、装置が用意した乱数ではないデータをデータ格納装置に格納して鍵データとしても良いし、図4に示すように乱数生成装置(E405)からの出力をデータ格納装置に格納して鍵データとしても良い。
暗号化に使用する鍵は、図5に示すように、あるデータ長ごとに複数用意しても良いし、図6に示すように記憶装置全体で同一のものを使用しても良い。図5に示したデータ格納装置E501,E504は2つの独立したデータ格納装置である場合もあるし、1つのデータ格納装置から読み出し、同じデータ格納装置へ書き戻す場合もある。また、鍵データを格納する複数のデータ格納装置E502, E505, E506をもってもよいし、鍵データを順次更新するためにE502, E505, E506が同一のデータ格納装置である場合もある。鍵データk[0]をk[1]に更新する時には、同一鍵で暗号化されている領域に記憶されているデータを再度、鍵データk[1]を用いて暗号化する。同領域のサイズを小さくすることで、鍵データ更新に伴う再暗号化の回数が少なくなるため処理の負荷は小さくなるが、鍵データを複数保持するための新たな記憶装置もしくは鍵データを更新するための処理が必要となる。暗号化鍵の更新と記憶装置に保持しているデータの再暗号化は、ユーザーが独自に行なうことができるが、暗号化・復号装置が自動的に更新を行なうようにすることもできる。
暗号化・復号方法としてDESを用いる場合を考える。DESは鍵データが56ビットであり、64ビット入力、64ビット出力の暗号化方法である。今、ある56ビットの鍵データk[0]で暗号化され記憶装置に格納されている64ビットのデータd'[0]を読み出す。次に乱数生成装置により新しい56ビットの鍵データk[1]を生成する。鍵データk[0]で暗号化されている領域の64ビットブロック数をnとすると、記憶装置の先頭から順に、または任意の順序で64ビットずつ格納データd[i]を読み出し、鍵データk[0]を用い復号してd[0]...d[n-1]を得て、同時にもしくは続けて暗号化鍵k[1]を用いてd0...dn-1を再度暗号化して記憶装置にd''[0]...d''[n-1]を格納する。d'[0]...d'[n-1]に対して鍵データk1を用いてd''[0]...d''[n-1]を得ても良い。復号の方法は上に述べたとおりである。
本発明において,暗号化したデータは情報処理装置内部の記憶装置に格納されるのみで、情報処理装置外部への出力は行なわれない。更に、取り扱いデータの安全性を重視する情報処理装置では、内部に保持している装置へのアクセスを困難にする耐タンパー設計が行なわれており、内部保存データを知ることはできない。そのため、解析者は暗号鍵の解析に必要な入力文と出力文のペアを知ることが困難であり、装置で使用されている前記鍵データを特定することは困難である。よって、鍵データを処理データ読み出しごとに更新せず、ある一定の期間同じ鍵データを使用することも可能である。DES以外の秘密鍵暗号方式を用いることができることは明らかである。公開鍵暗号方式を用いることも可能であるが、一般に処理速度は遅くなる。
公開鍵暗号方式を用いる場合は、まず鍵ペアe[0], d[0]を生成する。e[0]は暗号化鍵であり、d[0]は復号鍵であるとする。記憶装置にはe[0]で暗号化されたデータxが記録されている。記憶装置からデータxを読み出し、d[0]で復号し、復号データx'を得る。新しい鍵ペアe[1], d[1]を生成し、暗号化鍵e[1]を用いてx'を暗号化した結果x''を記憶装置に格納する。
秘密鍵暗号方式を用いる場合、暗号化時と復号時の少なくとも2回、同一の鍵を扱う必要があるが、公開鍵暗号方式では暗号化時と復号時で異なる鍵を使用するため、暗号化鍵と復号鍵それぞれを1回の使用にとどめることができる。暗号化鍵が判明しても復号鍵を推定することは困難であり、逆も同様である。一般に、データ観測の機会が少ないほど解析は難しいため、強固な安全性を要求する用途においては、公開鍵暗号方式を用いることが望ましい。
特に断らない限り、秘密鍵暗号方式を使用した暗号化・復号例を示すが、公開鍵暗号方式を用いても同様に実現することが可能である。
(実施例2)
本実施例は処理順序のランダム化およびデータ記憶位置のランダム化に関するものである。
(2-1) データ記憶位置情報を利用した暗号解読法
べき乗剰余計算yx mod Nを行なう場合を考える。べき乗剰余計算は、公開鍵暗号であるRSAにおける主要な演算である。RSAにおいて、Nは公開鍵であり既知情報、yは入力データであり、xは秘密指数である。秘密指数xが漏洩しないように、べき乗剰余計算を行なう必要がある。
べき乗剰余計算を高速に行なう方法として、アディションチェイン方式が知られている。ここでは、2ビットアディションチェイン方式を用いる例を示す。xを2048ビットとし、x[i]でi番目の2ビットブロックを表すとする。つまり、0≦x[i]≦3である。処理は以下のようになる。
Figure 0004045777
秘密指数xの値に依存して、(b-1)から(b-4)に処理が分岐する。ループ処理は1024回行なわれる。xを乱数であると仮定すると、(b-1)から(b-4)がそれぞれ平均256回処理される。(b-1)から(b-4)を処理する際に,剰余乗算を行なうために,記憶装置に記憶しているy0 mod N, y1 mod N, y2 mod N, y3 mod Nを読み出す必要がある。剰余乗算計算時に転送され、使用されているデータを観測すれば、(b-1)から(b-4)のいずれが行なわれているかを知ることができ、対応するx[i]を知ることができる。結果的に秘密指数xが判明する。
本実施例の情報処理装置は、初期計算として、入力yからy0 mod N, y1 mod N, y2 mod N, y3 mod Nを生成し、図7に示すように,暗号化・復号装置E702上で,それぞれ鍵データk[0](E707), k[1](E708), k[2](E709), k[3](E710)を用いて暗号化した上で記憶装置(E703, E704, E705, E706)に,後にテーブルとして参照できるように記憶する。アディションチェインの1回のループ処理で(b-1)から(b-4)のいずれかに分岐し,図8に示すようにテーブルデータが読み出される(S801, S802, S803, S804)。読み出されたデータは暗号化・復号装置E802において,対応する鍵データ(E807, E808, E809, E810)を用いて復号され,演算装置もしくは記憶装置もしくは情報処理装置外部への出力(E801)に送られる。記憶装置に格納しているy0 mod Nからy3 mod Nは図9に示すようにすべて新しい暗号化鍵k'[0](E907), k'[1](E908), k'[2](E909), k'[3](E910)で再度暗号化して記憶装置に格納する(S901, S902, S903, S904)。これにより、あるループでy0 mod Nが使用された後に再度y0 mod Nが使用されても、読み出される値は異なるため、解析者は(b-1)から(b-4)のいずれが処理されたかを知ることができない。ここで、k[0]からk[3]およびk'[0]からk'[3]は異なるように記載したが、k[0]=k[1]=k[2]=k[3]およびk'[0]=k'[1]=k'[2]=k'[3]として鍵データ格納に使用するデータ格納装置を小規模化することができる。また、k[0]とk'[0]で異なるデータ格納装置を使用しても良いし、データを書き換えることで、同一のデータ格納装置を使用し、装置を小規模化することもできる。処理時間の増加を最小限に抑えるために、使用したデータのみ新しい暗号化鍵で再度暗号化し格納することもできる。この場合は、図7,8,9に示すように各データに対応させて暗号化鍵を保持する。
本実施例は、2ビットアディションチェイン方式について述べたが、一般のnビットアディションチェイン方式や、スライディングウィンドウ方式などのほか、べき乗剰余計算に限らず、同一データを繰り返し読み出す必要がある場合について同様に適用できることは言うまでもない。
(2-2) データ処理順序のランダム化
図10に任意の順序で暗号化・復号処理を行なう暗号化装置を,図11に同復号装置の例を示した。情報処理装置において、演算順序制御部E1002は、E1004に格納されている演算順序制御データs[0]を用いてデータ格納装置E1001からデータを読み出し、記憶位置順序を変更したデータをデータ格納装置E1003に格納する。暗号化・復号装置演算部E1006は、E1005に格納されている鍵データk[0]を用いてE1003に格納されている前記データを順次暗号化し、データ格納装置E1007に格納する。演算順序制御部E1008は、演算順序制御データs[0]を用いてE1002における順序変換の逆変換を行い、暗号化されかつE1001に格納されているデータと同一順序のデータをE1009に格納する。E1004に格納された演算順序制御データは、ユーザーが自由に設定しても、乱数生成装置からの出力を設定しても良い。特に,暗号化時と復号時で使用する演算順序制御データs[0](E1004)とs[1](E1104)は同一である必要は無い。
本実施例ではE1001, E1003およびE1007, E1009,またE1101, E1103およびE1107, E1109を異なるデータ格納装置のように記載したが、格納データを書き換えることでそれぞれ同一のデータ格納装置としてもよく、更にE1001, E1003, E1007, E1009,またE1101, E1103, E1107, E1109を1つのデータ格納装置で実現することも可能であることは明らかである。
さらに、図12に示すように、データ格納装置から読み出したデータを演算順序制御部により,データの設置順序を変更してデータ格納装置に再保存した後に暗号化・復号演算を開始する手順ではなく、処理S1201, S1202, S1203, S1204, S1205, S1206, S1207の順序のみを変更することで、より高速に暗号化・復号を行なうことができる。つまり,通常はd[0]からd[6]へ順番に処理を行なうが,この処理順序が常に一定にならないようにする。演算順序を決定するために、前実施例と同様に処理順序制御データを保持し、処理順序をユーザーが設定できるようにしても、乱数生成装置により処理順序制御データを生成し解析者が予測できない順序で処理しても良い。図12において,鍵データE1204からE1210をそれぞれ異なるように記載したが,1つの鍵データとして,k[0]=k[1]=k[2]=k[3]=k[4]=k[5]=k[6]としてもよい。
(2-3) データ記憶位置のランダム化
既に述べたように、情報処理装置が取り扱うデータは、データの表現形式と設置場所の2つのパラメータを持っている。データの表現形式とは,例えばコンピュータにおける2進数表現であり,設置場所とはCPUのアドレス空間におけるデータの設置アドレスである。表現形式に依存するデータ解析の手法と対策については既に述べた。次に、データの設置アドレスを用いた解析に対する対策の実施例について述べる。
本実施例では、べき乗剰余計算を考える。2ビットアディションチェイン方式についてはすでに述べたとおりである。(b-1)から(b-4)のいずれが計算に使用されたかを隠蔽するために、y0 mod Nからy3 mod Nのデータ表現形式を暗号化により隠蔽しデータ格納装置に格納する。本実施例ではさらに、各データの格納位置を変化させる。一例として,格納位置の入れ替えについて述べる。図13に示すように,情報処理装置は、y0 mod N, y1 mod N, y2 mod N, y3 mod Nを格納するために記憶装置に4つのブロックb[0]〜b[3] (E1304, E1305, E1306, E1307)を用意する。初期計算として、入力yからy0 mod N〜y3 mod Nを生成し、暗号化鍵k[0]を用いて暗号化した上で前記ブロックにそれぞれ記憶するが、この際、暗号化鍵k[0]を用いて暗号化したy0 mod N〜y3 mod Nをランダムな順序でb[0]〜b[3]に格納する(S1301, S1302, S1303, S1304)。本実施例では、1回のループ処理ごとに、記憶装置に格納しているb[0]〜b[3]をランダムな順序で入れ替え、b[0]〜b[3]に順序不定で格納されているy0 mod Nからy3 mod Nをすべて新しい暗号化鍵k[1]で再度暗号化して格納する(図14 S1401からS1404)。毎回b[0]〜b[3]のすべてを入れ替える必要はない。例えば、今、b[0]に格納された値を読み出したとする。乱数生成装置からの出力を使用して、3/4の確率でb[0]とb[1]〜b[3]のいずれかを格納位置交換する。乱数生成装置からの出力を使用して、格納位置入れ替えの対象としてb[1]〜b[3]が選択される確率はそれぞれ1/3となるようにする。例えば図15のE1501の状態からE1503に示すように、b[0]とb[1]が入れ替えられた場合、さらにb[2]とb[3]も入れ替える。同様にしてb[0]とb[2]が入れ替えられた場合、b[1]とb[3]を入れ替え(E1504)、b[0]とb[3]が入れ替えられた場合、b[1]とb[2]を入れ替える(E1505)。この手順に従うことで、b[0]に再度アクセスした場合に、それが先と同じデータである確率は1/4となる。また図15から明らかなように、先と同じデータがb[1], b[2], b[3]に格納されている確率も1/4となる。図15のE1502, E1503, E1504, E1505はそれぞれ1/4の確率で起こるため、解析者は取り扱いデータについての情報をアクセス場所から得ることができない。
ところで、入れ替えの際のアクセス先の違いから、入れ替え先が判明する可能性がある。例えば、b[0]とb[1]の入れ替えと、b[0]とb[2]の入れ替えと、b[0]とb[3]の入れ替えでは、アクセス先の違いによる差異が観測される。そのため、入れ替えをしなかったことが観測されないように全ブロックへのアクセスを行なうことが望ましい。
本例では、記憶装置に余分の空間を必要としないように処理するために、格納位置の入れ替えを行なった。格納するべきデータサイズよりも大きい格納領域を用意して、その中で任意に配置を変化させることでも同様の効果を得ることができる。また、格納位置変更処理時の処理順序のランダム化をすでに述べた方法を用いて行なえば、更に解析を困難にすることができる。
【0006】
【発明の効果】
情報処理装置の消費電流や電磁放射などの測定データに含まれるノイズを、一度の測定データで取り除くことは困難である。複数回測定データの平均化によりノイズを除去する必要があるが、データが取り扱いごともしくはノイズ除去に必要な測定サンプル数を得る前に変化するため、平均化を行なっても演算データによる信号成分が撹乱される。そのため、解析者は消費電流を観測することによっても当該情報の内容を推測することができない。
本発明の実施例に従えば、小規模なハードウェアと演算時間のオーバーヘッドで、情報処理装置の消費電流や電磁放射などと処理データの間の相関を減少させる、解析者による情報取得を困難もしくは不可能にすることができる。
【図面の簡単な説明】
【図1】情報処理装置の基本的な構成。
【図2】情報処理装置の基本的な動作フロー。
【図3】演算装置による記憶装置内データの暗号化・復号装置。
【図4】乱数生成装置を用いた演算装置による記憶装置内データの暗号化・復号装置。
【図5】複数の鍵データを用いた不定長データの暗号化・復号装置。
【図6】 1つの鍵データを用いたデータ暗号化・復号装置。
【図7】鍵データを用いて記憶装置からのデータ暗号化・復号読み出しを行い、新しい鍵データによる暗号化・復号書き戻しを行なう情報処理装置(初期データ格納時)。
【図8】鍵データを用いて記憶装置からのデータ暗号化・復号読み出しを行い、新しい鍵データによる暗号化・復号書き戻しを行なう情報処理装置(データ読み出し時)。
【図9】鍵データを用いて記憶装置からのデータ暗号化・復号読み出しを行い、新しい鍵データによる暗号化・復号書き戻しを行なう情報処理装置(データ再暗号化時)。
【図10】処理順序決定用のデータを用いてデータ格納装置内のデータの処理順序を変更した上で鍵データを用いて暗号化・復号を行い、前記データを用いて、暗号化・復号済みデータを入力時データ順序に戻す情報処理装置(暗号化時)。
【図11】処理順序決定用のデータを用いてデータ格納装置内のデータの処理順序を変更した上で鍵データを用いて暗号化・復号を行い、前記データを用いて、暗号化・復号済みデータを入力時データ順序に戻す情報処理装置(復号時)。
【図12】処理順序を変更して暗号化・復号を行なう情報処理装置。
【図13】データの格納位置を変化させ、さらにデータを暗号化・復号して保存する情報処理装置。
【図14】データの格納位置を変化させ、さらにデータを暗号化・復号して保存する情報処理装置。
【図15】データ格納位置を入れ替え、入れ替え前の格納位置から入れ替え後の格納位置が予測できないようにするデータ格納位置入れ替え方法。

Claims (4)

  1. 演算装置と、
    データ格納装置と、
    前記演算装置と前記データ格納装置とを結ぶバスラインとを有し、
    前記演算装置は、前記バスラインを介して前記データ格納装置から第1鍵データとの排他的論理輪演算により暗号化された入力データを受け取り、
    前記演算装置は、前記入力データ第2鍵データとの排他的論理和演算により再暗号化し、その再暗号化したデータを前記バスラインを介して前記第2のデータ格納装置へ格納し、
    前記演算装置は、前記暗号化したデータを直接復号化するための第3鍵データを前記第
    1鍵データ前記第2鍵データとの排他的論理和演算から作成することを特徴とする情報処理装置。
  2. 前記第1鍵データは内部レジスタに格納されることを特徴とする請求項1記載の情報処理装置。
  3. 前記データ格納装置はRAMであることを特徴とする請求項1記載の情報処理装置。
  4. 前記第1鍵データまたは第2鍵データに使用される鍵データは、乱数的に生成されるか、又は、予め複数個の鍵データを備えておりそれらのうちの一を鍵データとして使用することを特徴とする請求項1記載の情報処理装置。
JP2001331856A 2001-10-30 2001-10-30 情報処理装置 Expired - Fee Related JP4045777B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001331856A JP4045777B2 (ja) 2001-10-30 2001-10-30 情報処理装置
US10/153,616 US7284133B2 (en) 2001-10-30 2002-05-24 Information processing unit
EP02011567A EP1308885B1 (en) 2001-10-30 2002-05-24 Information processing and encryption unit
DE60217260T DE60217260T2 (de) 2001-10-30 2002-05-24 Datenverarbeitungs- und Verschlüsselungseinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001331856A JP4045777B2 (ja) 2001-10-30 2001-10-30 情報処理装置

Publications (2)

Publication Number Publication Date
JP2003134103A JP2003134103A (ja) 2003-05-09
JP4045777B2 true JP4045777B2 (ja) 2008-02-13

Family

ID=19147356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001331856A Expired - Fee Related JP4045777B2 (ja) 2001-10-30 2001-10-30 情報処理装置

Country Status (4)

Country Link
US (1) US7284133B2 (ja)
EP (1) EP1308885B1 (ja)
JP (1) JP4045777B2 (ja)
DE (1) DE60217260T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100439487C (zh) * 2002-08-21 2008-12-03 日本札幌啤酒株式会社 低酒精啤酒样饮料的制造方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001245123A (ja) * 2000-03-01 2001-09-07 Canon Inc 画像処理装置,画像処理方法および画像処理過程を記憶した記憶媒体
JP2004007260A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 暗号装置、電子機器及び暗号方法
JP3819872B2 (ja) * 2003-05-23 2006-09-13 株式会社東芝 論理演算装置
US8045707B2 (en) * 2003-08-15 2011-10-25 Broadcom Corporation System and method for securing data
CN100356342C (zh) 2003-11-18 2007-12-19 株式会社瑞萨科技 信息处理装置
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
WO2006066999A2 (en) * 2004-12-22 2006-06-29 International Business Machines Corporation Method, system and computer program product for handling data
JP4685512B2 (ja) * 2005-05-31 2011-05-18 川崎マイクロエレクトロニクス株式会社 演算処理装置
JP4783104B2 (ja) * 2005-09-29 2011-09-28 株式会社東芝 暗号化/復号装置
US8321691B2 (en) 2006-03-06 2012-11-27 Stmicroelectronics S.A. EMA protection of a calculation by an electronic circuit
US8301890B2 (en) * 2006-08-10 2012-10-30 Inside Secure Software execution randomization
US7613907B2 (en) * 2006-08-11 2009-11-03 Atmel Corporation Embedded software camouflage against code reverse engineering
US7984301B2 (en) * 2006-08-17 2011-07-19 Inside Contactless S.A. Bi-processor architecture for secure systems
US7554865B2 (en) * 2006-09-21 2009-06-30 Atmel Corporation Randomizing current consumption in memory devices
US9324361B2 (en) * 2007-08-14 2016-04-26 Seagate Technology Llc Protecting stored data from traffic analysis
US20090187771A1 (en) * 2008-01-17 2009-07-23 Mclellan Jr Hubert Rae Secure data storage with key update to prevent replay attacks
US8112634B2 (en) * 2008-06-04 2012-02-07 Samsung Electronics Co., Ltd. Security-enhanced storage devices using media location factor in encryption of hidden and non-hidden partitions
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
DE112009004491T5 (de) * 2009-03-23 2012-09-06 Hewlett-Packard Development Co., L.P. System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät
GB2489405B (en) * 2011-03-22 2018-03-07 Advanced Risc Mach Ltd Encrypting and storing confidential data
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
KR101380895B1 (ko) 2012-06-12 2014-04-10 한국전자통신연구원 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법
US20150222421A1 (en) * 2014-02-03 2015-08-06 Qualcomm Incorporated Countermeasures against side-channel attacks on cryptographic algorithms
JP6282197B2 (ja) * 2014-08-26 2018-02-21 Kddi株式会社 記憶装置、方法及びプログラム
SG10201902395SA (en) * 2019-03-18 2019-11-28 Qrypted Tech Pte Ltd Method and system for a secure transaction
CN110417802B (zh) * 2019-08-06 2021-05-07 上海七口田科技有限公司 一种电商平台网站数据保护***
US11985235B2 (en) * 2019-09-16 2024-05-14 Quantum Technologies Laboratories, Inc. Quantum communication system
US11556656B2 (en) * 2019-09-25 2023-01-17 Micron Technology, Inc. Exclusive or engine on random access memory
US11347899B2 (en) * 2019-12-04 2022-05-31 Realtek Singapore Private Limited Dynamic memory scrambler
JP6808100B1 (ja) * 2020-01-07 2021-01-06 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH658759A5 (de) * 1983-05-20 1986-11-28 Gretag Ag Verfahren und vorrichtung zur chiffrierten datenuebermittlung.
JPH0762862B2 (ja) * 1985-09-17 1995-07-05 カシオ計算機株式会社 Icカ−ドシステムにおける認証方式
DE3730134C1 (de) * 1987-09-09 1996-05-30 Siemens Ag Schlüsselgerät
GB9011290D0 (en) * 1989-07-20 1995-11-08 Siemens Ag A ciphering device
US4987595A (en) * 1989-09-11 1991-01-22 Motorola, Inc. Secure cryptographic processor arrangement
DE4023131C1 (ja) * 1990-07-20 1991-11-21 Siemens Ag, 8000 Muenchen, De
US5222137A (en) * 1991-04-03 1993-06-22 Motorola, Inc. Dynamic encryption key selection for encrypted radio transmissions
JP3375631B2 (ja) * 1992-10-21 2003-02-10 株式会社パンプキンハウス 暗号機能付複写機
US5404402A (en) * 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
US6125182A (en) * 1994-11-09 2000-09-26 Channel One Communications, Inc. Cryptographic engine using logic and base conversions
US5724427A (en) * 1995-08-17 1998-03-03 Lucent Technologies Inc. Method and apparatus for autokey rotor encryption
US5631960A (en) * 1995-08-31 1997-05-20 National Semiconductor Corporation Autotest of encryption algorithms in embedded secure encryption devices
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
JPH1022990A (ja) 1996-06-28 1998-01-23 Sony Corp 情報処理装置および方法
KR100213188B1 (ko) 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US6028939A (en) * 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
US6094486A (en) * 1997-06-19 2000-07-25 Marchant; Brian E. Security apparatus for data transmission with dynamic random encryption
US6240183B1 (en) * 1997-06-19 2001-05-29 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
JP3613936B2 (ja) * 1997-07-07 2005-01-26 富士ゼロックス株式会社 アクセス資格認証装置
US6081896A (en) * 1997-09-02 2000-06-27 Motorola, Inc. Cryptographic processing system with programmable function units and method
US6055316A (en) * 1997-12-26 2000-04-25 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
US6327661B1 (en) 1998-06-03 2001-12-04 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
US6295604B1 (en) * 1998-05-26 2001-09-25 Intel Corporation Cryptographic packet processing unit
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
US6320964B1 (en) * 1998-08-26 2001-11-20 Intel Corporation Cryptographic accelerator
US6347143B1 (en) * 1998-12-15 2002-02-12 Philips Electronics No. America Corp. Cryptographic device with encryption blocks connected parallel
US6445797B1 (en) * 1998-12-16 2002-09-03 Secure Choice Llc Method and system for performing secure electronic digital streaming
US6570988B1 (en) * 1999-06-09 2003-05-27 Microsoft Corporation Simple technique for implementing a cryptographic primitive using elementary register operations
US6598163B1 (en) * 1999-08-02 2003-07-22 Lucent Technologies Inc. Flash mixing apparatus and method
US6873706B1 (en) * 1999-09-29 2005-03-29 Hitachi, Ltd. Processing apparatus, program, or system of secret information
US6961849B1 (en) * 1999-10-21 2005-11-01 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a group clerk
US6931532B1 (en) * 1999-10-21 2005-08-16 International Business Machines Corporation Selective data encryption using style sheet processing
US6978367B1 (en) * 1999-10-21 2005-12-20 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a client proxy
US6724894B1 (en) * 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
US7472093B2 (en) * 2000-03-08 2008-12-30 Rsa Security Inc. Targeted delivery of informational content with privacy protection
US6904150B1 (en) * 2000-10-25 2005-06-07 Ericsson Inc. Cryptographic method and system for double encryption of messages
US6366117B1 (en) * 2000-11-28 2002-04-02 Xilinx, Inc. Nonvolatile/battery-backed key in PLD

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100439487C (zh) * 2002-08-21 2008-12-03 日本札幌啤酒株式会社 低酒精啤酒样饮料的制造方法

Also Published As

Publication number Publication date
EP1308885B1 (en) 2007-01-03
US20030091191A1 (en) 2003-05-15
DE60217260T2 (de) 2007-07-12
EP1308885A1 (en) 2003-05-07
US7284133B2 (en) 2007-10-16
DE60217260D1 (de) 2007-02-15
JP2003134103A (ja) 2003-05-09

Similar Documents

Publication Publication Date Title
JP4045777B2 (ja) 情報処理装置
JP4671571B2 (ja) 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ
WO2018210895A1 (en) Post-quantum secure private stream aggregation
US7764785B2 (en) Method for communicating securely over an insecure communication channel
WO2003065639A2 (en) System and method of hiding cryptographic private keys
JP4909403B2 (ja) 安全にデータを求める方法
US9680647B2 (en) Method of using a token in cryptography
JP2007139895A (ja) 暗号装置、復号装置、プログラム及び方法
KR20100028516A (ko) 암호화 속성을 이용하는 가속 크립토그래피
CN108141352B (zh) 密码设备、方法、装置和计算机可读介质和编码设备、方法、装置和计算机可读介质
EP3596876A1 (en) Elliptic curve point multiplication device and method in a white-box context
JP2010164904A (ja) 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
EP3891925B1 (en) A computation device using shared shares
KR20060081847A (ko) 비밀키를 보호하는 스마트 카드 및 그것의 방법
WO2013187887A1 (en) A method of cryption
KR101440680B1 (ko) 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치
JP6890589B2 (ja) 計算デバイス及び方法
JP7371757B2 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法およびプログラム
JP2011109510A (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
JP7310938B2 (ja) 暗号システム、暗号化方法、復号方法及びプログラム
Akter et al. RSA and AES based hybrid encryption technique for enhancing data security in cloud computing
CN112913184B (zh) 计算基于块密码的加密方案***和方法的密钥轮换周期
Farmani Threshold Implementations of the Present Cipher

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041027

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071112

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

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees