JP2000305453A - 暗号化装置,復号装置,および暗号化・復号装置 - Google Patents

暗号化装置,復号装置,および暗号化・復号装置

Info

Publication number
JP2000305453A
JP2000305453A JP11114230A JP11423099A JP2000305453A JP 2000305453 A JP2000305453 A JP 2000305453A JP 11114230 A JP11114230 A JP 11114230A JP 11423099 A JP11423099 A JP 11423099A JP 2000305453 A JP2000305453 A JP 2000305453A
Authority
JP
Japan
Prior art keywords
random number
encryption
processing
decryption
dependent
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
JP11114230A
Other languages
English (en)
Inventor
Masaru Obana
賢 尾花
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11114230A priority Critical patent/JP2000305453A/ja
Priority to US09/553,415 priority patent/US6970561B1/en
Publication of JP2000305453A publication Critical patent/JP2000305453A/ja
Pending legal-status Critical Current

Links

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/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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 電力解析や電力差分解析等の消費電力の測定
による暗号解析に対して耐性のある暗号化装置,復号装
置,および暗号化・復号装置を提供する。 【解決手段】 中間データ制御手段123は、乱数生成
装置140から出力される乱数を入力として、中間デー
タを乱数に依存して変化させる乱数依存中間データ変更
操作を中間データ変更要求の発生時点で行い、かつ当該
乱数依存中間データ変更操作を複数回適用することによ
って乱数の効果を相殺するように制御する。暗号化演算
手段121は、乱数依存中間データ変更操作に依存して
状態を変化させつつ、平文に対する暗号化処理を実行
し、乱数に依存しない暗号文を出力する。乱数依存性決
定手段122は、暗号化処理の現在の処理段階が乱数依
存中間データ変更操作を適用すべき処理段階であると判
断した場合に、中間データ変更要求を発行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号化鍵を用いて
平文の暗号化を行い暗号文を生成する暗号化装置および
復号鍵を用いて暗号文の復号を行い平文を生成する復号
装置ならびに暗号化装置と復号装置との機能を併有する
暗号化・復号装置に関する。なお、暗号化装置と復号装
置とは、それぞれの入力は異なるが構成や演算の内容は
同様であるので、以下では主に暗号化装置で代表させて
説明を行う。
【0002】
【従来の技術】従来の暗号化装置は、入力装置と記憶装
置と暗号化処理装置と出力装置とから構成されており、
次のように動作する。
【0003】すなわち、入力装置より暗号化処理装置に
平文が入力され、平文を入力した暗号化処理装置は暗号
化処理の中間段階で必要となる中間データを記憶装置に
格納しつつ、常に予め定められた一定の処理順序に従っ
て暗号化処理を行い、生成した暗号文を出力装置を通じ
て出力する。このとき、暗号化処理の開始時から特定の
暗号化中間処理手続きが開始されるまでに要する時間
は、おおよそ一定になる。
【0004】なお、暗号アルゴリズムの実装方法につい
ては、『「Applied Cryptograph
y」(Bruce Shneier著) John W
ieley & Sons,Inc.,1996,IS
BN 0−471−11709−9,pp.623−6
73』に詳しく述べられている。
【0005】
【発明が解決しようとする課題】上述した従来の技術に
よる暗号化装置には、電力解析(シンプル・パワー・ア
ナリシス)や電力差分解析(ディファレンシャル・パワ
ー・アナリシス)と呼ばれる暗号解析法が有効であると
いう問題が存在する。
【0006】電力解析および電力差分解析は、現在のメ
モリやレジスタ等の半導体デバイスにおいて、特定の時
刻に当該半導体デバイスの保持する値に変化があった場
合に、当該時刻における消費電力が保持する値に変化が
なかった場合と比較して大きくなるという特徴を利用し
て、暗号化装置が平文の暗号化を行っている複数の時点
で暗号化装置が消費する電力を測定することにより、暗
号化装置が保持している秘密鍵(暗号化鍵)等の秘密情
報を特定する暗号解析法である。
【0007】電力解析や電力差分解析が有効に機能する
条件としては、第1に消費電力を測定している各時点で
行われている暗号化処理手続きが特定できること、第2
に各時刻で測定した消費電力の値が当該時刻において暗
号化装置内で行われている暗号化処理の演算結果を顕著
に反映していること、の2点が挙げられる。
【0008】従来の暗号化装置(復号装置および暗号化
・復号装置も同様)においては、上記の2点の条件が満
たされてしまうために、先に述べたように、電力解析や
電力差分解析が有効に機能し、暗号の解読が可能になり
うるという問題点が存在した。
【0009】本発明の目的は、上述の点に鑑み、暗号化
処理(復号処理も同様)の処理過程において乱数依存の
状態変化を起こすことにより、消費電力を測定している
各時点で行われている暗号化処理手続きを特定すること
を困難にすることで、電力解析および電力差分解析等の
消費電力の測定による暗号解析に対して耐性のある暗号
化装置(同様な復号装置および暗号化・復号装置を含
む)を提供することにある。
【0010】また、本発明の他の目的は、暗号化処理
(復号処理も同様)の処理過程において乱数依存の状態
変化を起こすことにより、各時刻で測定した消費電力の
値と当該時刻に暗号化装置内で行われている暗号化処理
との関連性を少なくすることで、電力解析および電力差
分解析等の消費電力の測定による暗号解析に対して耐性
のある暗号化装置(同様な復号装置および暗号化・復号
装置を含む)を提供することにある。
【0011】なお、本発明に対する従来技術に関する特
許公報としては、特開平9−230786号公報および
特開平8−504067号公報がある。
【0012】上述の特開平9−230786号公報に記
載された技術(データの暗号化方法及び装置)は、差分
解読や線形解読を防止するための技術であり、暗号化の
中間結果(本願発明における中間データ)を乱数には依
存させずに変化させ、暗号化鍵を乱数に依存して変化さ
せるものである。
【0013】また、上述の特開平8−504067号公
報に記載された技術(暗号化通信装置内の改善された機
密性に関する方法および装置)は、電力遮断時等に、暗
号化装置内の揮発性メモリに格納された鍵情報を能動的
に消去し、電力供給再開時に同鍵情報をリロードするた
めの技術である。
【0014】これらの技術や当該両技術を組み合わせた
技術では、最終的に出力される暗号文を乱数に依存しな
いようにすることは非常に困難である。これに対して、
本発明の暗号化装置は、乱数生成装置によって出力され
る乱数に依存しない暗号文を出力するという性質を持っ
ている(乱数に依存するのは中間データのみで、最終的
な出力である暗号文は乱数に依存しない)。この点で、
本発明は、上記の公報に記載された従来技術とは明確に
異なっている。
【0015】
【課題を解決するための手段】本発明の暗号化装置は、
乱数を出力する乱数生成装置と、前記乱数生成装置から
出力される乱数を入力として、暗号化処理実行中に必要
な中間データを乱数に依存して変化させる乱数依存中間
データ変更操作を中間データ変更要求の発生時点で行
い、かつ当該乱数依存中間データ変更操作を複数回適用
することによって乱数の効果を相殺するように制御する
中間データ制御手段と、平文を入力とし、前記中間デー
タ制御手段による乱数依存中間データ変更操作に依存し
て状態を変化させつつ当該平文に対する暗号化処理を実
行し、当該平文を暗号化した暗号文であって前記乱数生
成装置の出力に依存しない暗号文を出力する暗号化演算
手段と、前記暗号化演算手段による暗号化処理の現在の
処理段階が乱数依存中間データ変更操作を適用すべき処
理段階であると判断した場合に、前記中間データ制御手
段に対する中間データ変更要求を発行する乱数依存性決
定手段とを有する。
【0016】また、本発明の暗号化装置は、乱数を出力
する乱数生成装置と、前記乱数生成装置から出力される
乱数を入力として、暗号化処理手続きの実行順序を決定
することや複数の処理手続きの選択肢の中から実際に実
行される処理手続きを選択することを乱数に依存して行
う乱数依存条件分岐決定操作を条件分岐決定要求の発生
時点で行い、かつ暗号化演算手段の出力が乱数に依存し
ないように当該乱数依存条件分岐決定操作を制御する条
件分岐制御手段と、平文を入力とし、前記条件分岐制御
手段による乱数依存条件分岐決定操作に依存して状態を
変化させつつ当該平文に対する暗号化処理を実行し、当
該平文を暗号化した暗号文であって前記乱数生成装置の
出力に依存しない暗号文を出力する暗号化演算手段と、
前記暗号化演算手段による暗号化処理の現在の処理段階
が乱数依存条件分岐決定操作を適用すべき処理段階であ
ると判断した場合に、前記条件分岐制御手段に対する条
件分岐決定要求を発行する乱数依存性決定手段とを有す
るように構成することも可能である。
【0017】さらに、本発明の暗号化装置は、乱数を出
力する乱数生成装置と、前記乱数生成装置から出力され
る乱数を入力として、暗号化処理中に意図的に挿入する
実行遅延の遅延時間の決定を乱数に依存して行う乱数依
存遅延挿入操作を遅延時間決定要求の発生時点で行う遅
延制御手段と、平文を入力とし、前記遅延制御手段によ
る乱数依存遅延挿入操作に依存して状態を変化させつつ
当該平文に対する暗号化処理を実行し、当該平文を暗号
化した暗号文であって前記乱数生成装置の出力に依存し
ない暗号文を出力する暗号化演算手段と、前記暗号化演
算手段による暗号化処理の処理段階が乱数依存遅延挿入
操作を適用すべき処理段階であると判断した場合に、前
記遅延制御手段に対する遅延時間決定要求を発行する乱
数依存性決定手段とを有するように構成することも可能
である。
【0018】本発明の復号装置は、乱数を出力する乱数
生成装置と、前記乱数生成装置から出力される乱数を入
力として、復号処理実行中に必要な中間データを乱数に
依存して変化させる乱数依存中間データ変更操作を中間
データ変更要求の発生時点で行い、かつ当該乱数依存中
間データ変更操作を複数回適用することによって乱数の
効果を相殺するように制御する中間データ制御手段と、
暗号文を入力とし、前記中間データ制御手段による乱数
依存中間データ変更操作に依存して状態を変化させつつ
当該暗号文に対する復号処理を実行し、当該暗号文を復
号した平文であって前記乱数生成装置の出力に依存しな
い平文を出力する復号演算手段と、前記復号演算手段に
よる復号処理の現在の処理段階が乱数依存中間データ変
更操作を適用すべき処理段階であると判断した場合に、
前記中間データ制御手段に対する中間データ変更要求を
発行する乱数依存性決定手段とを有する。
【0019】また、本発明の復号装置は、乱数を出力す
る乱数生成装置と、前記乱数生成装置から出力される乱
数を入力として、復号処理手続きの実行順序を決定する
ことや複数の処理手続きの選択肢の中から実際に実行さ
れる処理手続きを選択することを乱数に依存して行う乱
数依存条件分岐決定操作を条件分岐決定要求の発生時点
で行い、かつ復号演算手段の出力が乱数に依存しないよ
うに当該乱数依存条件分岐決定操作を制御する条件分岐
制御手段と、暗号文を入力とし、前記条件分岐制御手段
による乱数依存条件分岐決定操作に依存して状態を変化
させつつ当該暗号文に対する復号処理を実行し、当該暗
号文を復号した平文であって前記乱数生成装置の出力に
依存しない平文を出力する復号演算手段と、前記復号演
算手段による復号処理の現在の処理段階が乱数依存条件
分岐決定操作を適用すべき処理段階であると判断した場
合に、前記条件分岐制御手段に対する条件分岐決定要求
を発行する乱数依存性決定手段とを有するように構成す
ることも可能である。
【0020】さらに、本発明の復号装置は、乱数を出力
する乱数生成装置と、前記乱数生成装置から出力される
乱数を入力として、復号処理中に意図的に挿入する実行
遅延の遅延時間の決定を乱数に依存して行う乱数依存遅
延挿入操作を遅延時間決定要求の発生時点で行う遅延制
御手段と、暗号文を入力とし、前記遅延制御手段による
乱数依存遅延挿入操作に依存して状態を変化させつつ当
該暗号文に対する復号処理を実行し、当該暗号文を復号
した平文であって前記乱数生成装置の出力に依存しない
平文を出力する復号演算手段と、前記復号演算手段によ
る復号処理の処理段階が乱数依存遅延挿入操作を適用す
べき処理段階であると判断した場合に、前記遅延制御手
段に対する遅延時間決定要求を発行する乱数依存性決定
手段とを有するように構成することも可能である。
【0021】本発明の暗号化・復号装置は、乱数を出力
する乱数生成装置と、前記乱数生成装置から出力される
乱数を入力として、暗号化処理実行中および復号処理実
行中に必要な中間データを乱数に依存して変化させる乱
数依存中間データ変更操作を中間データ変更要求の発生
時点で行い、かつ当該乱数依存中間データ変更操作を複
数回適用することによって乱数の効果を相殺するように
制御する中間データ制御手段と、処理データおよび処理
内容を入力とし、前記中間データ制御手段による乱数依
存中間データ変更操作に依存して状態を変化させつつ暗
号化処理および復号処理を実行し、当該処理内容が暗号
化処理であった場合には当該処理データである平文を暗
号化した暗号文であって前記乱数生成装置の出力に依存
しない暗号文を出力し、当該処理内容が復号処理であっ
た場合には当該処理データである暗号文を復号した平文
であって前記乱数生成装置の出力に依存しない平文を出
力する暗号化・復号演算手段と、前記暗号化・復号演算
手段による暗号化処理および復号処理の現在の処理段階
が乱数依存中間データ変更操作を適用すべき処理段階で
あると判断した場合に、前記中間データ制御手段に対す
る中間データ変更要求を発行する乱数依存性決定手段と
を有する。
【0022】また、本発明の暗号化・復号装置は、乱数
を出力する乱数生成装置と、前記乱数生成装置から出力
される乱数を入力として、暗号化処理手続きおよび復号
処理手続きの実行順序を決定することや複数の処理手続
きの選択肢の中から実際に実行される処理手続きを選択
することを乱数に依存して行う乱数依存条件分岐決定操
作を条件分岐決定要求の発生時点で行い、かつ暗号化・
復号演算手段の出力が乱数に依存しないように当該乱数
依存条件分岐決定操作を制御する条件分岐制御手段と、
処理データおよび処理内容を入力とし、前記条件分岐制
御手段による乱数依存条件分岐決定操作に依存して状態
を変化させつつ暗号化処理および復号処理を実行し、当
該処理内容が暗号化処理であった場合には当該処理デー
タである平文を暗号化した暗号文であって前記乱数生成
装置の出力に依存しない暗号文を出力し、当該処理内容
が復号処理であった場合には当該処理データである暗号
文を復号した平文であって前記乱数生成装置の出力に依
存しない平文を出力する暗号化・復号演算手段と、前記
暗号化・復号演算手段による暗号化処理および復号処理
の現在の処理段階が乱数依存条件分岐決定操作を適用す
べき処理段階であると判断した場合に、前記条件分岐制
御手段に対する条件分岐決定要求を発行する乱数依存性
決定手段とを有するように構成することも可能である。
【0023】さらに、本発明の暗号化・復号装置は、乱
数を出力する乱数生成装置と、前記乱数生成装置から出
力される乱数を入力として、暗号化処理および復号処理
中に意図的に挿入する実行遅延の遅延時間の決定を乱数
に依存して行う乱数依存遅延挿入操作を遅延時間決定要
求の発生時点で行う遅延制御手段と、処理データおよび
処理内容を入力とし、前記遅延制御手段による乱数依存
遅延挿入操作に依存して状態を変化させつつ暗号化処理
および復号処理を実行し、当該処理内容が暗号化処理で
あった場合には当該処理データである平文を暗号化した
暗号文であって前記乱数生成装置の出力に依存しない暗
号文を出力し、当該処理内容が復号処理であった場合に
は当該処理データである暗号文を復号した平文であって
前記乱数生成装置の出力に依存しない平文を出力する暗
号化・復号演算手段と、前記暗号化・復号演算手段によ
る暗号化処理および復号処理の現在の処理段階が乱数依
存遅延挿入操作を適用すべき処理段階であると判断した
場合に、前記遅延制御手段に対する遅延時間決定要求を
発行する乱数依存性決定手段とを有するように構成する
ことも可能である。
【0024】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0025】(1) 第1の実施の形態 図1は、本発明の第1の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0026】本実施の形態に係る暗号化装置は、入力装
置110と、暗号化処理装置120と、記憶装置130
と、乱数生成装置140と、出力装置150とを含んで
構成されている。
【0027】これらの装置は、それぞれ、概略次のよう
に動作する。
【0028】入力装置110は、暗号化処理の対象とな
る平文を暗号化処理装置120に対して供給する。
【0029】暗号化処理装置120は、乱数生成装置1
40から出力される乱数と入力装置110より入力され
る平文とを入力として、当該平文を暗号化処理装置12
0内部に格納された鍵(暗号化鍵)で暗号化した暗号文
を出力装置150から出力する。
【0030】ここで、暗号化処理装置120は、暗号化
演算手段121と、乱数依存性決定手段122と、中間
データ制御手段123とを備えている。
【0031】暗号化演算手段121は、入力装置110
を通して供給される平文を入力とし、暗号化演算手段1
21に格納されている暗号化鍵を用いて当該平文の暗号
化を行う。暗号化演算手段121は、「中間データ制御
手段123による中間データ(中間データ記憶部131
に格納されているデータ)の乱数に依存した変更」を受
けて状態を変化させつつ暗号化処理(複数の処理段階に
よって形成される暗号化処理)を実行し、最終的に当該
平文を暗号化した暗号文を出力する。なお、暗号化演算
手段121は、暗号化処理実行中の複数の時点で、暗号
化演算手段121による暗号化処理の現在の処理段階を
乱数依存性決定手段122に送る(これにより、適切な
処理段階で乱数に依存した状態の変化を生じさせること
ができる)。
【0032】乱数依存性決定手段122は、暗号化演算
手段121が出力する暗号化演算手段121の現在の処
理段階を入力として、当該処理段階に基づいて中間デー
タ制御手段123に中間データ変更要求を出力すべきか
否かを判断し、「中間データ変更要求の出力」を決定し
た場合(現在の処理段階が乱数に依存した操作を適用す
べき処理段階であると判断した場合)には中間データ制
御手段123に中間データ変更要求を出力する。
【0033】中間データ制御手段123は、乱数依存性
決定手段122より出力される中間データ変更要求を入
力した場合に、乱数生成装置140に乱数要求信号を送
ることによって乱数を取得し、取得した乱数に依存して
中間データ記憶部131に格納された中間データを変化
させる操作(乱数依存中間データ変更操作)を行う。
【0034】なお、中間データ制御手段123は、乱数
依存中間データ変更操作を複数回適用することによっ
て、乱数の効果を相殺するように構成されている。した
がって、最終的に出力される暗号文は、乱数生成手段1
40から出力される乱数に依存しない。
【0035】記憶装置130は、中間データ記憶部13
1を備えている。
【0036】中間データ記憶部131は、暗号化処理装
置120が行う暗号化処理中に保持する必要のある中間
データを格納する。なお、上記に示す通り、乱数依存性
決定手段122から中間データ制御手段123に中間デ
ータ変更要求があった場合には、中間データ記憶部13
1に格納されている中間データは中間データ制御手段1
23によって操作される。
【0037】乱数生成装置140は、暗号化処理装置1
20より乱数要求信号を受け取り、当該乱数要求信号に
基づいて暗号化処理装置120に乱数を出力する。
【0038】図2は、本実施の形態に係る暗号化装置の
処理を示す流れ図である。この処理は、平文入力ステッ
プA1と、中間データ変更要求有無判定ステップA2
と、乱数出力ステップA3と、乱数依存中間データ変更
操作ステップA4と、暗号化処理一段階実行ステップA
5と、暗号化処理終了判定ステップA6と、暗号文出力
ステップA7とからなる。
【0039】次に、図1および図2を参照して、本実施
の形態に係る暗号化装置の全体の動作について詳細に説
明する。
【0040】まず、暗号化を行いたい平文が、入力装置
110から暗号化処理装置120内の暗号化演算手段1
21に入力される(図2のステップA1)。
【0041】暗号化演算手段121は、暗号化演算手段
121による暗号化処理の現在の処理段階を乱数依存性
決定手段122に出力する。
【0042】乱数依存性決定手段122は、暗号化演算
手段121より受け取った暗号化演算手段121の処理
段階に関する情報を基に、現在の処理段階が中間データ
記憶部131に格納された中間データを乱数に依存して
変更する処理段階であるか否かの判断を行い、「乱数に
依存して中間データを変更する処理段階である」と判断
した場合には中間データ制御手段123に中間データ変
更要求を出力する。
【0043】中間データ制御手段123は、乱数依存性
決定手段122からの中間データ変更要求があるか否か
を判定する(ステップA2)。
【0044】中間データ制御手段123は、ステップA
2で「中間データ変更要求がある」と判定した場合に
は、当該中間データ変更要求を受け取り、乱数要求(乱
数要求信号)を乱数生成装置140に送り、当該乱数要
求信号に基づいて乱数生成装置140から出力された乱
数を得る(ステップA3)。
【0045】乱数を受け取った中間データ制御手段12
3は、記憶装置130内の中間データ記憶部131に格
納されている中間データ(暗号化処理手段121が暗号
化処理の中間段階において必要とするデータ)を受け取
った乱数に依存して変更する乱数依存中間データ変更操
作を行う(ステップA4)。
【0046】暗号化演算手段121は、ステップA4の
乱数依存中間データ変更操作が終了した後に、またはス
テップA2で「中間データ変更要求がない」と判定した
場合に、暗号化処理を一段階実行する(ステップA
5)。
【0047】暗号化演算手段121は、暗号化処理を一
段階実行したことで暗号化処理が終了したか否かを判定
する(ステップA6)。
【0048】暗号化演算手段121は、ステップA6で
「暗号化処理を一段階実行したことで暗号化処理が終了
した」と判定した場合には、出力装置150に暗号文を
出力し(ステップA7)、全体の処理を終了させる。
【0049】一方、暗号化演算手段121は、ステップ
A6で「暗号化処理が終了していない」と判定した場合
(暗号化処理がまだ残されている場合)には、ステップ
A2に制御を戻して暗号化処理を継続させる。
【0050】次に、本実施の形態における効果について
説明する。
【0051】本実施の形態では、暗号化処理の中間段階
で必要なデータ(中間データ)が乱数に依存して変化し
ているために、中間データ間の演算を行っている時点の
電力を測定することによって格納されている中間データ
の情報を引き出そうとしても、中間データの値が乱数に
よる影響を受けているために消費電力の変化が生じてい
るのか、実際の暗号化処理に必要なデータの影響によっ
て消費電力の変化が生じているのかを判断することが困
難になる。したがって、暗号化装置を電力解析や電力差
分解析による暗号解析に対して耐性があるようにするこ
とができる。
【0052】(2) 第2の実施の形態 図3は、本発明の第2の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0053】図3を参照すると、本実施の形態に係る暗
号化装置は、入力装置310と、暗号化処理装置320
と、記憶装置330と、乱数生成装置340と、出力装
置350とを含んで構成されている。
【0054】これらの装置は、それぞれ、概略次のよう
に動作する。
【0055】入力装置310は、暗号化処理の対象とな
る平文を暗号化処理装置320に対して供給する。
【0056】暗号化処理装置320は、乱数生成装置3
40から出力される乱数と入力装置310より入力され
る平文とを入力として、当該平文を暗号化処理装置32
0の内部に格納された鍵(暗号化鍵)で暗号化した暗号
文を出力装置350から出力する。
【0057】ここで、暗号化処理装置320は、暗号化
演算手段321と、乱数依存性決定手段322と、条件
分岐制御手段323とを備えている。
【0058】暗号化演算手段321は、入力装置310
を通して供給される平文を入力とし、暗号化演算手段3
21に格納されている暗号化鍵を用いて当該平文の暗号
化を行う。暗号化演算手段321は、「条件分岐制御手
段323による命令実行順序(暗号化処理手続きの実行
順序)の決定および実行命令の選択(複数の処理手続き
の選択肢の中から実際に実行される処理手続きを選択す
ること)の乱数に依存した変更」を受けて状態を変化さ
せつつ暗号化処理(複数の処理段階によって形成される
暗号化処理)を実行し、最終的に当該平文を暗号化した
暗号文を出力する。なお、暗号化演算手段321は、暗
号化処理実行中の複数の時点で、暗号化演算手段321
による暗号化処理の現在の処理段階を乱数依存性決定手
段322に送る(これにより、適切な処理段階で乱数に
依存した状態の変化を生じさせることができる)。
【0059】乱数依存性決定手段322は、暗号化演算
手段321が出力する暗号化演算手段321の現在の処
理段階を入力として、当該処理段階に基づいて条件分岐
制御手段323に条件分岐決定要求を出力すべきか否か
を判断し、「条件分岐決定要求の出力」を決定した場合
(現在の処理段階が乱数に依存した操作を適用すべき処
理段階であると判断した場合)には条件分岐制御手段3
24に条件分岐決定要求を出力する。
【0060】条件分岐制御手段323は、乱数依存性決
定手段322より出力される条件分岐決定要求を入力し
た場合に、乱数生成装置340に乱数要求信号を送るこ
とによって乱数を取得し、取得した乱数に依存して「実
行順序を交換しても暗号化演算手段321の出力が変化
しないような複数の暗号化処理手続きの実行順序の決
定」および「どの処理手続きを実行しても暗号化演算手
段321の出力が変化しないような複数の処理手続きの
選択肢の中からの実行処理手続き(実際に実行する暗号
化処理手続き)の選択」を行う操作(乱数依存条件分岐
決定操作)を行う。
【0061】なお、条件分岐制御手段323は、前述の
ように暗号化演算手段321の出力が乱数に依存しない
ように乱数依存条件分岐決定操作を制御するように構成
されている。したがって、最終的に出力される暗号文
は、乱数生成手段340から出力される乱数に依存しな
い。
【0062】記憶装置330は、中間データ記憶部33
1を備えている。
【0063】中間データ記憶部331は、暗号化処理装
置320が行う暗号化処理中に保持する必要のある中間
データを格納する。
【0064】乱数生成装置340は、暗号化処理装置3
20より乱数要求信号を受け取り、当該乱数要求信号に
基づいて暗号化処理装置320に乱数を出力する。
【0065】図4は、本実施の形態に係る暗号化装置の
処理を示す流れ図である。この処理は、平文入力ステッ
プB1と、条件分岐決定要求有無判定ステップB2と、
乱数出力ステップB3と、乱数依存条件分岐決定操作ス
テップB4と、暗号化処理一段階実行ステップB5と、
暗号化処理終了判定ステップB6と、暗号文出力ステッ
プB7とからなる。
【0066】次に、図3および図4を参照して、本実施
の形態に係る暗号化装置の全体の動作について詳細に説
明する。
【0067】まず、暗号化を行いたい平文が、入力装置
310から暗号化処理装置320内の暗号化演算手段3
21に入力される(図4のステップB1)。
【0068】暗号化演算手段321は、暗号化演算手段
321における暗号化処理の現在の処理段階を乱数依存
性決定手段322に出力する。
【0069】乱数依存性決定手段322は、暗号化演算
手段321より受け取った暗号化演算手段321の処理
段階に関する情報を基に、現在の処理段階が乱数に依存
した条件分岐の決定を行う処理段階であるか否かの判断
を行い、「乱数に依存した条件分岐の決定を行う処理段
階である」と判断した場合には条件分岐制御手段323
に条件分岐決定要求を出力する。
【0070】条件分岐制御手段323は、乱数依存性決
定手段322からの条件分岐決定要求があるか否かを判
定する(ステップB2)。
【0071】条件分岐制御手段323は、ステップB2
で「条件分岐決定要求がある」と判定した場合には、当
該条件分岐決定要求を受け取り、乱数要求(乱数要求信
号)を乱数生成装置340に送り、当該乱数要求信号に
基づいて乱数生成装置340から出力された乱数を得る
(ステップB3)。
【0072】乱数を受け取った条件分岐制御手段323
は、受け取った乱数に依存して出力結果が同一となる複
数の処理手続きの中から実際に行う処理手続きを選択等
する乱数依存条件分岐決定操作を行う(ステップB
4)。
【0073】暗号化演算手段321は、ステップB4の
乱数依存条件分岐決定操作が終了した後に、またはステ
ップB2で「条件分岐決定要求がない」と判定した場合
には、暗号化処理を一段階実行する(ステップB5)。
【0074】暗号化演算手段321は、暗号化を一段階
実行したことで暗号化処理が終了したか否かを判定する
(ステップB6)。
【0075】暗号化演算手段321は、ステップB6で
「暗号化を一段階実行したことで暗号化処理が終了し
た」と判定した場合には、出力装置350に暗号文を出
力し(ステップB7)、全体の処理を終了させる。
【0076】一方、暗号化演算手段321は、ステップ
B6で「暗号化処理が終了していない」と判定した場合
(暗号化処理がまだ残されている場合)には、ステップ
B2に制御を戻して暗号化処理を継続させる。
【0077】次に、本実施の形態における効果について
説明する。
【0078】本実施の形態では、乱数によって実行され
る暗号化処理の順序や種類が変化するために、特定の時
刻に着目しても当該時刻において暗号化処理装置320
の内部で行われている処理が乱数によって異なってお
り、消費電力の変化を観測しても当該消費電力の変化が
どの暗号化処理に対応しているのかを判断することが困
難になる。したがって、暗号化装置を電力解析や電力差
分解析による暗号解析に対して耐性があるようにするこ
とができる。
【0079】(3) 第3の実施の形態 図5は、本発明の第3の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0080】図5を参照すると、本発明の実施の形態に
係る暗号化装置は、入力装置510と、暗号化処理装置
520と、記憶装置530と、乱数生成装置540と、
出力装置550とを含んで構成されている。
【0081】これらの装置は、それぞれ、概略次のよう
に動作する。
【0082】入力装置510は、暗号化処理の対象とな
る平文を暗号化処理装置520に対して供給する。
【0083】暗号化処理装置520は、乱数生成装置5
40から出力される乱数と入力装置510より入力され
る平文とを入力として、当該平文を暗号化処理装置52
0の内部に格納された鍵(暗号化鍵)で暗号化した暗号
文を出力装置550から出力する。
【0084】ここで、暗号化処理装置520は、暗号化
演算手段521と、乱数依存性決定手段522と、遅延
制御手段523とを備えている。
【0085】暗号化演算手段521は、入力装置510
を通して供給される平文を入力とし、暗号化演算手段5
21に格納されている暗号化鍵を用いて当該平文の暗号
化を行う。暗号化演算手段521は、「遅延制御手段5
23による実行遅延時間の決定の乱数に依存した変更」
を受けて状態を変化させつつ暗号化処理(複数の処理段
階によって形成される暗号化処理)を実行し、最終的に
当該平文を暗号化した暗号文を出力する。なお、暗号化
演算手段521は、暗号化処理実行中の複数の時点で、
暗号化演算手段521による暗号化処理の現在の処理段
階を乱数依存性決定手段522に送る(これにより、適
切な処理段階で乱数に依存した状態の変化を生じさせる
ことができる)。
【0086】乱数依存性決定手段522は、暗号化演算
手段521が出力する暗号化演算手段521の現在の処
理段階を入力として、当該処理段階に基づいて遅延制御
手段523に遅延時間決定要求を出力すべきか否かを判
断し、「遅延時間決定要求の出力」を決定した場合(現
在の処理段階が乱数に依存した操作を適用すべき処理段
階であると判断した場合)には遅延制御手段523に遅
延時間決定要求を出力する。
【0087】遅延制御手段523は、乱数依存性決定手
段522より出力される遅延時間決定要求を入力した場
合に、乱数生成装置540に乱数要求信号を送ることに
よって乱数を取得し、取得した乱数に依存して暗号化処
理中に意図的に発生させる実行遅延の遅延時間を決定し
て当該遅延を挿入する操作(乱数依存遅延挿入操作)を
行う。
【0088】なお、遅延制御手段523は、暗号化演算
手段521の処理に取得した乱数に応じた遅延を挿入す
る操作を行うように構成されており、遅延の挿入は暗号
化に必要なデータにまったく乱数の影響をおよぼさな
い。したがって、最終的に出力される暗号文は、乱数生
成手段540から出力される乱数に依存しない。
【0089】記憶装置530は、中間データ記憶部53
1を備えている。
【0090】中間データ記憶部531は、暗号化処理装
置520が行う暗号化処理中に保持する必要のある中間
データを格納する。
【0091】乱数生成装置540は、暗号化処理装置5
20より乱数要求信号を受け取り、当該乱数要求信号に
基づいて暗号化処理装置520に乱数を出力する。
【0092】図6は、本実施の形態に係る暗号化装置の
処理を示す流れ図である。この処理は、平文入力ステッ
プC1と、遅延時間決定要求有無判定ステップC2と、
乱数出力ステップC3と、乱数依存遅延挿入操作ステッ
プC4と、暗号化処理一段階実行ステップC5と、暗号
化処理終了判定ステップC6と、暗号文出力ステップC
7とからなる。。
【0093】次に、図5および図6を参照して、本実施
の形態に係る暗号化装置の全体の動作について詳細に説
明する。
【0094】まず、暗号化を行いたい平文が、入力装置
510から暗号化処理装置520内の暗号化演算手段5
21に入力される(図6のステップC1)。
【0095】暗号化演算手段521は、暗号化演算手段
521における暗号化処理の現在の処理段階を乱数依存
性決定手段522に出力する。
【0096】乱数依存性決定手段522は、暗号化演算
手段521より受け取った暗号化演算手段521の処理
段階に関する情報を基に、現在の処理段階が乱数に依存
した遅延を挿入する処理段階(当該遅延の遅延時間を決
定する処理段階)であるか否かの判断を行い、「乱数に
依存した遅延を挿入する処理段階である」と判断した場
合には遅延制御手段523に遅延時間決定要求を出力す
る。
【0097】遅延制御手段523は、乱数依存性決定手
段522からの遅延時間決定要求があるか否かを判定す
る(ステップC2)。
【0098】遅延制御手段523は、ステップC2で
「遅延時間決定要求がある」と判定した場合には、当該
遅延時間決定要求を受け取り、乱数要求(乱数要求信
号)を乱数生成装置540に送り、当該乱数要求信号に
基づいて乱数生成装置540から出力された乱数を得る
(ステップC3)。
【0099】乱数を受け取った遅延制御手段523は、
受け取った乱数に依存して遅延時間を決定し、決定した
遅延時間の実行遅延を暗号化処理中に意図的に挿入する
(ステップC4)。
【0100】暗号化演算手段521は、ステップC4の
乱数依存遅延挿入操作が終了した後に、またはステップ
B2で「乱数依存遅延時間決定要求がない」と判定した
場合には、暗号化処理を一段階実行する(ステップC
5)。
【0101】暗号化演算手段521は、暗号化を一段階
実行したことで暗号化処理が終了したか否かを判定する
(ステップC6)。
【0102】暗号化演算手段521は、ステップC6で
「暗号化を一段階実行したことで暗号化処理が終了し
た」と判定した場合には、出力装置550に暗号文を出
力し(ステップC7)、全体の処理を終了させる。
【0103】一方、暗号化演算手段521は、ステップ
C6で「暗号化処理が終了していない」と判定した場合
(暗号化処理がまだ残されている場合)には、ステップ
C2に制御を戻して暗号化処理を継続させる。
【0104】次に、本実施の形態における効果について
説明する。
【0105】本実施の形態では、乱数に依存した遅延時
間の実行遅延が適宜挿入されるために、暗号解析に有用
となる処理が行われている時刻が絶えず変化し、どの時
刻の消費電力の変化に着目すれば効率的に暗号解析に必
要な情報を得ることができるのかを特定することが困難
になる。したがって、暗号化装置を電力解析や電力差分
解析による暗号解析に対して耐性があるようにすること
ができる。
【0106】なお、上述の第1,第2,および第3の実
施の形態に係る暗号化装置においては、暗号化鍵が予め
暗号化演算手段(図1中の暗号化演算手段121,図3
中の暗号化演算手段321,および図5中の暗号化演算
手段521)に格納されていた。
【0107】しかし、入力装置(図1中の入力装置11
0,図3中の入力装置310,および図5中の入力装置
510)から暗号化演算手段に暗号化鍵を入力するよう
に、上記の暗号化装置を構成することも可能である。こ
の場合には、暗号化鍵を入力された暗号化演算手段は、
その後に入力される1つまたは複数の平文の暗号化を当
該暗号化鍵を用いて行い、暗号文を出力する。
【0108】上記のような構成を採用すると、暗号化鍵
を外部から入力するようにできるため、暗号化演算手段
自体を変更せずに暗号化鍵の更新を容易に行うことがで
きるようになる。
【0109】また、上述の第1,第2,および第3の実
施の形態に係る暗号化装置においては、乱数生成装置
(図1中の乱数生成装置140,図3中の乱数生成装置
340,および図5中の乱数生成装置540)から出力
される乱数を、入力装置から暗号化処理装置(図1中の
暗号化処理装置120,図3中の暗号化処理装置32
0,および図5中の暗号化処理装置520)に入力され
るデータ(平文)そのものまたは当該データに依存した
データとすることも可能である。
【0110】このように平文を「乱数」として使用する
ことが可能かつ有効になるのは、現在提案されている電
力解析および電力差分解析では暗号文と消費電力とのみ
から暗号解析が行われており、平文のデータは暗号解析
に使用されていないため、平文を乱数として利用するこ
とができるからである。なお、乱数として「平文に依存
したデータ」を用いるということは、例えば入力装置に
入力される平文を暗号化鍵とは別の「乱数出力用鍵」で
暗号化し、その暗号化の出力を乱数として利用するとい
う暗号化装置も、本発明に含まれることになる。
【0111】(4) 第4の実施の形態 図7は、本発明の第4の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0112】図7を参照すると、本発明の第4の実施の
形態に係る暗号化装置は、図1に示した第1の実施の形
態に係る暗号化装置に対して、暗号化処理プログラムを
記録した記録媒体700を備える点が異なっている。こ
の記録媒体700は、磁気ディスク,半導体メモリ,C
D−ROM(Compact Disk−ReadOn
ly Memory),その他の記録媒体であってよ
い。
【0113】暗号化処理プログラムは、記録媒体700
からコンピュータシステム(入力装置110,暗号化処
理装置120,記憶装置130,乱数生成装置140,
および出力装置150を備えるコンピュータシステム)
に読み込まれ、当該コンピュータシステムの動作を入力
装置110,暗号化処理装置120(暗号化演算手段1
21,乱数依存性決定手段122,および中間データ制
御手段123),記憶装置130(中間データ記憶部1
31),乱数生成装置140,および出力装置150と
して制御する。暗号化処理プログラムの制御による入力
装置110,暗号化処理装置120,記憶装置130,
乱数生成装置140,および出力装置150の動作は、
第1の実施の形態における入力装置110,暗号化処理
装置120,記憶装置130,乱数生成装置140,お
よび出力装置150の動作と全く同様になるので、その
詳しい説明を割愛する。
【0114】(5) 第5の実施の形態 図8は、本発明の第5の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0115】図8を参照すると、本発明の第5の実施の
形態に係る暗号化装置は、図3に示した第2の実施の形
態に係る暗号化装置に対して、暗号化処理プログラムを
記録した記録媒体800を備える点が異なっている。こ
の記録媒体800は、磁気ディスク,半導体メモリ,C
D−ROM,その他の記録媒体であってよい。
【0116】暗号化処理プログラムは、記録媒体800
からコンピュータシステム(入力装置310,暗号化処
理装置320,記憶装置330,乱数生成装置340,
および出力装置350を備えるコンピュータシステム)
に読み込まれ、当該コンピュータシステムの動作を入力
装置310,暗号化処理装置320(暗号化演算手段3
21,乱数依存性決定手段322,および条件分岐制御
手段323),記憶装置330(中間データ記憶部33
1),乱数生成装置340,および出力装置350とし
て制御する。暗号化処理プログラムの制御による入力装
置310,暗号化処理装置320,記憶装置330,乱
数生成装置340,および出力装置350の動作は、第
2の実施の形態における入力装置310,暗号化処理装
置320,記憶装置330,乱数生成装置340,およ
び出力装置350の動作と全く同様になるので、その詳
しい説明を割愛する。
【0117】(6) 第6の実施の形態 図9は、本発明の第6の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【0118】図9を参照すると、本発明の第6の実施の
形態に係る暗号化装置は、図5に示した第3の実施の形
態に係る暗号化装置に対して、暗号化処理プログラムを
記録した記録媒体900を備える点が異なっている。こ
の記録媒体900は、磁気ディスク,半導体メモリ,C
D−ROM,その他の記録媒体であってよい。
【0119】暗号化処理プログラムは、記録媒体900
からコンピュータシステム(入力装置510,暗号化処
理装置520,記憶装置530,乱数生成装置540,
および出力装置550を備えるコンピュータシステム)
に読み込まれ、当該コンピュータシステムの動作を入力
装置510,暗号化処理装置520(暗号化演算手段5
21,乱数依存性決定手段522,および遅延制御手段
523),記憶装置530(中間データ記憶部53
1),乱数生成装置540,および出力装置550とし
て制御する。暗号化処理プログラムの制御による入力装
置510,暗号化処理装置520,記憶装置530,乱
数生成装置540,および出力装置550の動作は、第
3の実施の形態における入力装置510,暗号化処理装
置520,記憶装置530,乱数生成装置540,およ
び出力装置550の動作と全く同様になるので、その詳
しい説明を割愛する。
【0120】(7) 第7の実施の形態 図10は、本発明の第7の実施の形態に係る復号装置の
構成を示すブロック図である。
【0121】図10を参照すると、本実施の形態に係る
復号装置は、入力装置1010と、復号演算手段102
1,乱数依存性決定手段1022,および中間データ制
御手段1023を備える復号処理装置1020と、中間
データ記憶部1031を備える記憶装置1030と、乱
数生成装置1040と、出力装置1050とを含んで構
成されている。
【0122】本実施の形態に係る復号装置は、第1の実
施の形態に係る暗号化装置と同様に、入力装置,復号処
理装置(暗号化処理装置に該当する),記憶装置,乱数
生成装置,および出力装置を備えている。ここで、第1
の実施の形態では、入力装置110からは平文が入力さ
れ、暗号化処理装置120が暗号化鍵を用いて平文の暗
号化を行い、出力装置150から暗号文が出力されてい
た。これに対し、本実施の形態では、入力装置1010
からは暗号文が入力され、復号処理装置1020が復号
鍵を用いて暗号文の復号を行い、出力装置1050から
平文が出力される。上記の点で、本実施の形態に係る復
号装置は第1の実施の形態に係る暗号化装置と異なって
いる(それ以外の構成や動作は同様である)。
【0123】(8) 第8の実施の形態 図11は、本発明の第8の実施の形態に係る復号装置の
構成を示すブロック図である。
【0124】図11を参照すると、本実施の形態に係る
復号装置は、入力装置1110と、復号演算手段112
1,乱数依存性決定手段1122,および条件分岐制御
手段1123を備える復号処理装置1120と、中間デ
ータ記憶部1131を備える記憶装置1130と、乱数
生成装置1140と、出力装置1150とを含んで構成
されている。
【0125】本実施の形態に係る復号装置は、第2の実
施の形態に係る暗号化装置と同様に、入力装置,復号処
理装置(暗号化処理装置に該当する),記憶装置,乱数
生成装置,および出力装置を備えている。ここで、第2
の実施の形態では、入力装置310からは平文が入力さ
れ、暗号化処理装置320が暗号化鍵を用いて平文の暗
号化を行い、出力装置350から暗号文が出力されてい
た。これに対し、本実施の形態では、入力装置1110
からは暗号文が入力され、復号処理装置1120が復号
鍵を用いて暗号文の復号を行い、出力装置1150から
平文が出力される。上記の点で、本実施の形態に係る復
号装置は第2の実施の形態に係る暗号化装置と異なって
いる(それ以外の構成や動作は同様である)。
【0126】(9) 第9の実施の形態 図12は、本発明の第9の実施の形態に係る復号装置の
構成を示すブロック図である。
【0127】図12を参照すると、本実施の形態に係る
復号装置は、入力装置1210と、復号演算手段122
1,乱数依存性決定手段1222,および遅延制御手段
1223を備える復号処理装置1220と、中間データ
記憶部1231を備える記憶装置1230と、乱数生成
装置1240と、出力装置1250とを含んで構成され
ている。
【0128】本実施の形態に係る復号装置は、第3の実
施の形態に係る暗号化装置と同様に、入力装置,復号処
理装置(暗号化処理装置に該当する),記憶装置,乱数
生成装置,および出力装置を備えている。ここで、第3
の実施の形態では、入力装置510からは平文が入力さ
れ、暗号化処理装置520が暗号化鍵を用いて平文の暗
号化を行い、出力装置550から暗号文が出力されてい
た。これに対し、本実施の形態では、入力装置1210
からは暗号文が入力され、復号処理装置1220が復号
鍵を用いて暗号文の復号を行い、出力装置1250から
平文が出力される。上記の点で、本実施の形態に係る復
号装置は第3の実施の形態に係る暗号化装置と異なって
いる(それ以外の構成や動作は同様である)。
【0129】なお、上述の第7,第8,および第9の実
施の形態に係る復号装置においては、入力装置(図10
中の入力装置1010,図11中の入力装置1110,
および図12中の入力装置1210)から復号演算手段
(図10中の復号演算手段1021,図11中の復号演
算手段1121,および図12中の復号演算手段122
1)に復号鍵を入力するように構成することも可能であ
る。
【0130】また、上述の第7,第8,および第9の実
施の形態に係る復号装置においては、乱数生成装置(図
10中の乱数生成装置1040,図11中の乱数生成装
置1140,および図12中の乱数生成装置1240)
から出力される乱数を、入力装置から復号処理装置(図
10中の復号処理装置1020,図11中の復号処理装
置1120,および図12中の復号処理装置1220)
に入力されるデータ(暗号文)そのものまたは当該デー
タに依存したデータとすることも可能である。
【0131】(10) 第10の実施の形態 図13は、本発明の第10の実施の形態に係る復号装置
の構成を示すブロック図である。
【0132】図13を参照すると、本発明の第10の実
施の形態に係る復号装置は、図10に示した第7の実施
の形態に係る復号装置に対して、復号処理プログラムを
記録した記録媒体1300を備える点が異なっている。
この記録媒体1300は、磁気ディスク,半導体メモ
リ,CD−ROM,その他の記録媒体であってよい。
【0133】復号処理プログラムは、記録媒体1300
からコンピュータシステム(入力装置1010,復号処
理装置1020,記憶装置1030,乱数生成装置10
40,および出力装置1050を備えるコンピュータシ
ステム)に読み込まれ、当該コンピュータシステムの動
作を入力装置1010,復号処理装置1020(復号演
算手段1021,乱数依存性決定手段1022,および
中間データ制御手段1023),記憶装置1030(中
間データ記憶部1031),乱数生成装置1040,お
よび出力装置1050として制御する。復号処理プログ
ラムの制御による入力装置1010,復号処理装置10
20,記憶装置1030,乱数生成装置1040,およ
び出力装置1050の動作は、第7の実施の形態におけ
る入力装置1010,復号処理装置1020,記憶装置
1030,乱数生成装置1040,および出力装置10
50の動作と全く同様になるので、その詳しい説明を割
愛する。
【0134】(11) 第11の実施の形態 図14は、本発明の第11の実施の形態に係る復号装置
の構成を示すブロック図である。
【0135】図14を参照すると、本発明の第11の実
施の形態に係る復号装置は、図11に示した第8の実施
の形態に係る復号装置に対して、復号処理プログラムを
記録した記録媒体1400を備える点が異なっている。
この記録媒体1400は、磁気ディスク,半導体メモ
リ,CD−ROM,その他の記録媒体であってよい。
【0136】復号処理プログラムは、記録媒体1400
からコンピュータシステム(入力装置1110,復号処
理装置1120,記憶装置1130,乱数生成装置11
40,および出力装置1150を備えるコンピュータシ
ステム)に読み込まれ、当該コンピュータシステムの動
作を入力装置1110,復号処理装置1120(復号演
算手段1121,乱数依存性決定手段1122,および
条件分岐制御手段1123),記憶装置1130(中間
データ記憶部1131),乱数生成装置1140,およ
び出力装置1150として制御する。復号処理プログラ
ムの制御による入力装置1110,復号処理装置112
0,記憶装置1130,乱数生成装置1140,および
出力装置1150の動作は、第8の実施の形態における
入力装置1110,復号処理装置1120,記憶装置1
130,乱数生成装置1140,および出力装置115
0の動作と全く同様になるので、その詳しい説明を割愛
する。
【0137】(12) 第12の実施の形態 図15は、本発明の第12の実施の形態に係る復号装置
の構成を示すブロック図である。
【0138】図15を参照すると、本発明の第12の実
施の形態に係る復号装置は、図12に示した第9の実施
の形態に係る復号装置に対して、復号処理プログラムを
記録した記録媒体1500を備える点が異なっている。
この記録媒体1500は、磁気ディスク,半導体メモ
リ,CD−ROM,その他の記録媒体であってよい。
【0139】復号処理プログラムは、記録媒体1500
からコンピュータシステム(入力装置1210,復号処
理装置1220,記憶装置1230,乱数生成装置12
40,および出力装置1250を備えるコンピュータシ
ステム)に読み込まれ、当該コンピュータシステムの動
作を入力装置1210,復号処理装置1220(復号演
算手段1221,乱数依存性決定手段1222,および
遅延制御手段1223),記憶装置1230(中間デー
タ記憶部1231),乱数生成装置1240,および出
力装置1250として制御する。復号処理プログラムの
制御による入力装置1210,復号処理装置1220,
記憶装置1230,乱数生成装置1240,および出力
装置1250の動作は、第9の実施の形態における入力
装置1210,復号処理装置1220,記憶装置123
0,乱数生成装置1240,および出力装置1250の
動作と全く同様になるので、その詳しい説明を割愛す
る。
【0140】(13) 第13の実施の形態 図16は、本発明の第13の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0141】図16を参照すると、本実施の形態に係る
暗号化・復号装置は、入力装置1610と、暗号化・復
号演算手段1621,乱数依存性決定手段1622,お
よび中間データ制御手段1623を備える暗号化・復号
処理装置1620と、中間データ記憶部1631を備え
る記憶装置1630と、乱数生成装置1640と、出力
装置1650とを含んで構成されている。
【0142】本実施の形態に係る暗号化・復号装置は、
第1の実施の形態に係る暗号化装置の機能と第7の実施
の形態に係る復号装置の機能とを併有している。ここ
で、入力装置1610,乱数依存性決定手段1622,
中間データ制御手段1623,記憶装置1630,乱数
生成装置1640,および出力装置1650は、第1の
実施の形態や第7の実施における同名の構成要素と同様
のものである。
【0143】暗号化・復号演算手段1621は、処理デ
ータおよび処理内容を入力とし、中間データ制御手段1
623による乱数依存中間データ変更操作に依存して状
態を変化させつつ暗号化処理および復号処理を実行し、
当該処理内容が暗号化処理であった場合には当該処理デ
ータである平文を暗号化した暗号文であって乱数生成装
置1640の出力に依存しない暗号文を出力し、当該処
理内容が復号処理であった場合には当該処理データであ
る暗号文を復号した平文であって乱数生成装置1640
の出力に依存しない平文を出力する。
【0144】(14) 第14の実施の形態 図17は、本発明の第14の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0145】図17を参照すると、本実施の形態に係る
暗号化・復号装置は、入力装置1710と、暗号化・復
号演算手段1721,乱数依存性決定手段1722,お
よび条件分岐制御手段1723を備える暗号化・復号処
理装置1720と、中間データ記憶部1731を備える
記憶装置1730と、乱数生成装置1740と、出力装
置1750とを含んで構成されている。
【0146】本実施の形態に係る暗号化・復号装置は、
第2の実施の形態に係る暗号化装置の機能と第8の実施
の形態に係る復号装置の機能とを併有している。ここ
で、入力装置1710,乱数依存性決定手段1722,
条件分岐制御手段1723,記憶装置1730,乱数生
成装置1740,および出力装置1750は、第2の実
施の形態や第8の実施における同名の構成要素と同様の
ものである。
【0147】暗号化・復号演算手段1721は、処理デ
ータおよび処理内容を入力とし、条件分岐制御手段17
23による乱数依存条件分岐決定操作に依存して状態を
変化させつつ暗号化処理および復号処理を実行し、当該
処理内容が暗号化処理であった場合には当該処理データ
である平文を暗号化した暗号文であって乱数生成装置1
740の出力に依存しない暗号文を出力し、当該処理内
容が復号処理であった場合には当該処理データである暗
号文を復号した平文であって乱数生成装置1740の出
力に依存しない平文を出力する。
【0148】(15) 第15の実施の形態 図18は、本発明の第15の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0149】図18を参照すると、本実施の形態に係る
暗号化・復号装置は、入力装置1810と、暗号化・復
号演算手段1821,乱数依存性決定手段1822,お
よび遅延制御手段1823を備える暗号化・復号処理装
置1820と、中間データ記憶部1831を備える記憶
装置1830と、乱数生成装置1840と、出力装置1
850とを含んで構成されている。
【0150】本実施の形態に係る暗号化・復号装置は、
第3の実施の形態に係る暗号化装置の機能と第9の実施
の形態に係る復号装置の機能とを併有している。ここ
で、入力装置1810,乱数依存性決定手段1822,
遅延制御手段1823,記憶装置1830,乱数生成装
置1840,および出力装置1850は、第3の実施の
形態や第9の実施における同名の構成要素と同様のもの
である。
【0151】暗号化・復号演算手段1821は、処理デ
ータおよび処理内容を入力とし、遅延制御手段1823
による乱数依存遅延挿入操作に依存して状態を変化させ
つつ暗号化処理および復号処理を実行し、当該処理内容
が暗号化処理であった場合には当該処理データである平
文を暗号化した暗号文であって乱数生成装置1840の
出力に依存しない暗号文を出力し、当該処理内容が復号
処理であった場合には当該処理データである暗号文を復
号した平文であって乱数生成装置1840の出力に依存
しない平文を出力する。
【0152】なお、上述の第13,第14,および第1
5の実施の形態に係る暗号化・復号装置においては、入
力装置(図16中の入力装置1610,図17中の入力
装置1710,および図18中の入力装置1810)か
ら暗号化・復号演算手段(図16中の暗号化・復号演算
手段1621,図17中の暗号化・復号演算手段172
1,および図18中の暗号化・復号演算手段1821)
に暗号化鍵および復号鍵を入力するように構成すること
も可能である。
【0153】また、上述の第13,第14,および第1
5の実施の形態に係る暗号化・復号装置においては、乱
数生成装置(図16中の乱数生成装置1640,図17
中の乱数生成装置1740,および図18中の乱数生成
装置1840)から出力される乱数を、入力装置から暗
号化・復号処理装置(図16中の暗号化・復号処理装置
1620,図17中の暗号化・復号処理装置1720,
および図18中の暗号化・復号処理装置1820)に入
力されるデータ(暗号文または平文)そのものまたは当
該データに依存したデータとすることも可能である。
【0154】(16) 第16の実施の形態 図19は、本発明の第16の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0155】図19を参照すると、本発明の第16の実
施の形態に係る暗号化・復号装置は、図16に示した第
13の実施の形態に係る暗号化・復号装置に対して、暗
号化・復号処理プログラムを記録した記録媒体1900
を備える点が異なっている。この記録媒体1900は、
磁気ディスク,半導体メモリ,CD−ROM,その他の
記録媒体であってよい。
【0156】暗号化・復号処理プログラムは、記録媒体
1900からコンピュータシステム(入力装置161
0,暗号化・復号処理装置1620,記憶装置163
0,乱数生成装置1640,および出力装置1650を
備えるコンピュータシステム)に読み込まれ、当該コン
ピュータシステムの動作を入力装置1610,暗号化・
復号処理装置1620(暗号化・復号演算手段162
1,乱数依存性決定手段1622,および中間データ制
御手段1623),記憶装置1630(中間データ記憶
部1631),乱数生成装置1640,および出力装置
1650として制御する。暗号化・復号処理プログラム
の制御による入力装置1610,暗号化・復号処理装置
1620,記憶装置1630,乱数生成装置1640,
および出力装置1650の動作は、第13の実施の形態
における入力装置1610,暗号化・復号処理装置16
20,記憶装置1630,乱数生成装置1640,およ
び出力装置1650の動作と全く同様になるので、その
詳しい説明を割愛する。
【0157】(17) 第17の実施の形態 図20は、本発明の第17の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0158】図20を参照すると、本発明の第17の実
施の形態に係る暗号化・復号装置は、図17に示した第
14の実施の形態に係る暗号化・復号装置に対して、暗
号化・復号処理プログラムを記録した記録媒体2000
を備える点が異なっている。この記録媒体2000は、
磁気ディスク,半導体メモリ,CD−ROM,その他の
記録媒体であってよい。
【0159】暗号化・復号処理プログラムは、記録媒体
2000からコンピュータシステム(入力装置171
0,暗号化・復号処理装置1720,記憶装置173
0,乱数生成装置1740,および出力装置1750を
備えるコンピュータシステム)に読み込まれ、当該コン
ピュータシステムの動作を入力装置1710,暗号化・
復号処理装置1720(暗号化・復号演算手段172
1,乱数依存性決定手段1722,および条件分岐制御
手段1723),記憶装置1730(中間データ記憶部
1731),乱数生成装置1740,および出力装置1
750として制御する。暗号化・復号処理プログラムの
制御による入力装置1710,暗号化・復号処理装置1
720,記憶装置1730,乱数生成装置1740,お
よび出力装置1750の動作は、第14の実施の形態に
おける入力装置1710,暗号化・復号処理装置172
0,記憶装置1730,乱数生成装置1740,および
出力装置1750の動作と全く同様になるので、その詳
しい説明を割愛する。
【0160】(18) 第18の実施の形態 図21は、本発明の第18の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【0161】図21を参照すると、本発明の第18の実
施の形態に係る暗号化・復号装置は、図18に示した第
15の実施の形態に係る暗号化・復号装置に対して、暗
号化・復号処理プログラムを記録した記録媒体2100
を備える点が異なっている。この記録媒体2100は、
磁気ディスク,半導体メモリ,CD−ROM,その他の
記録媒体であってよい。
【0162】暗号化・復号処理プログラムは、記録媒体
2100からコンピュータシステム(入力装置181
0,暗号化・復号処理装置1820,記憶装置183
0,乱数生成装置1840,および出力装置1850を
備えるコンピュータシステム)に読み込まれ、当該コン
ピュータシステムの動作を入力装置1810,暗号化・
復号処理装置1820(暗号化・復号演算手段182
1,乱数依存性決定手段1822,および遅延制御手段
1823),記憶装置1830(中間データ記憶部18
31),乱数生成装置1840,および出力装置185
0として制御する。暗号化・復号処理プログラムの制御
による入力装置1810,暗号化・復号処理装置182
0,記憶装置1830,乱数生成装置1840,および
出力装置1850の動作は、第15の実施の形態におけ
る入力装置1810,暗号化・復号処理装置1820,
記憶装置1830,乱数生成装置1840,および出力
装置1850の動作と全く同様になるので、その詳しい
説明を割愛する。
【0163】
【実施例】次に、本発明の実施例を、図面を参照して説
明する。
【0164】(1) 第1の実施例 図22および図23は、本発明の第1の実施例を説明す
るための図である。
【0165】本実施例は、上述の第1の実施の形態に係
る暗号化装置を、共通鍵暗号DES(Data Enc
ryption Standard)対応とするもので
ある。
【0166】なお、DES暗号については、『「Han
dbook of AppliedCryptogra
phy」(A.Menezes,P.Oorscho
t,S.Vanstone著,CRC Press,1
997,ISBN 0−8493−8523−7)p
p.250−259』に詳しく述べられている。
【0167】ここでは、まず、図22を用いてDESの
動作の概要を示す。
【0168】DESは、鍵スケジューリング部2210
と、データ処理部2220とを備えている。鍵スケジュ
ーリング部2210は、64ビットの暗号化鍵を入力と
し、16個の48ビット中間鍵K1 〜K16を出力する。
データ処理部2220は、初期転置IPと、最終転置I
-1と、16個のF関数とを備えており、64ビットの
平文と鍵スケジューリング部2210から出力される1
6個の48ビットの中間鍵K1 〜K16を入力とし、64
ビットの暗号文を出力する。ここでIPおよびIP-1
予め定められているビットの並び替えを行う関数であ
り、16個のF関数は32ビットのデータと48ビット
のデータとを入力とし32ビットのデータを出力する予
め定められた関数である。
【0169】平文の暗号化は次のように行われる。
【0170】まず、平文は、初期転置IPが施された後
に、上位32ビットL0 と下位32ビットR0 とに分割
される。このL0 およびR0 から、次式に従ってL1
1,L2 ,R2 ,L3 ,R3 ,…,L15,R15
16,R16が生成される。なお、上記のL0 ,R0 ,L
1 ,R1 ,…が、図1中の中間データ記憶部131内の
中間データに該当する。
【0171】
【数1】
【0172】ここで、n=1,2,…,16である。な
お、上式の記号Fは、DESのF関数を表している。
【0173】DESの16個のF関数は、どれも同じ構
造を持ち、32ビットのデータRn- 1 と鍵スケジューリ
ング部2210より出力される48ビットの中間鍵Kn
とを入力とし、32ビットのデータを出力する。上式を
16回適用することによって得られたL16を上位32ビ
ットとし、R16を下位32ビットとする64ビットのデ
ータに対して最終転置IP-1を施すことによって、64
ビットの暗号文が得られる。
【0174】図23に、本実施例の概念を示す。
【0175】図23において破線で囲まれた部分(図2
3中の2310〜2380)が、DESの暗号化の過程
で必要になる中間データの変化に乱数依存性を持たせて
いる部分(乱数依存性付与部分)である。すなわち、当
該乱数依存性付与部分が、図1中の中間データ制御手段
123により行われる乱数依存中間データ変更操作を表
している。
【0176】以下に、図22および図23を基に、本実
施例の構成および動作について説明する。
【0177】まず初めに、入力装置であるICカード・
リーダ・ライタより平文が入力される。平文は初期転置
IPが施された後に、上位32ビットと下位32ビット
とに分けられる。この時点で中間データ制御手段が呼び
出される。中間データ制御手段は、乱数生成装置から2
つの乱数r0 およびr1 を受け取り、上位32ビットの
データと乱数r0 との排他的論理和をとった結果をL0
に格納し(図23の2310参照)、下位32ビットの
データと乱数r1 との排他的論理和をとった結果をR0
に格納する(図23の2320参照)。
【0178】次に、n=1,2,…,16 に対し、以
下の操作が繰り返される。ただし、以下に現れるr*
値は次のように定義される。
【0179】
【数2】
【0180】まず、Rn-1 の値がLn に複写される。続
いて、再び中間データ制御手段が呼び出され、Rn-1
* との排他的論理和がとられる(図23の2340,
2360,および2380参照)。この排他的論理和の
値とKn とが、F関数への入力とされる。以上の手続き
により、F関数への入力はRn-1 とKn となり、乱数生
成装置から出力される乱数r* に依存していないことが
確かめられる。
【0181】F関数の値が出力されると、中間データ制
御手段が呼び出され、再びF関数の出力と乱数r* との
排他的論理和がとられる(図23の2330,235
0,および2370参照)。さらに、その結果とLn-1
との排他的論理和が計算され、計算結果がLn に格納さ
れる。
【0182】上記操作を16回繰り返すことによって得
られるL16とr との排他的論理和をとった値を上位
32ビットとし、R16とr0 とr1 との排他的論理和を
とった値を下位32ビットとする64ビットのデータ
に、最終転置IP-1が施された64ビットのデータが、
暗号文としてICカード・リーダ・ライタを通して出力
される。
【0183】このとき得られる暗号文は、中間データを
操作する乱数r0 およびr1 ,遅延時間を制御する乱
数,ならびにS−boxの実行順序を決定する乱数のい
ずれの乱数にも依存しないデータになっている。
【0184】(2) 第2の実施例 図24,図25,および図26は、本発明の第2の実施
例を説明するための図である。
【0185】本実施例は、上述の第2の実施の形態に係
る暗号化装置を、共通鍵暗号RC5−32/12/16
に適用したものである。
【0186】なお、RC5−32/12/16のアルゴ
リズムの詳細に関しては、上記の「Handbook
of Applied Cryptography」の
pp.269−270に述べられている。
【0187】ここでは、まず、図24および図25を参
照して、RC5−32/12/16の動作を概説する。
【0188】RC5−32/12/16は、図24に示
すように、128ビットの暗号化鍵2420を用いて6
4ビットの平文2410を64ビットの暗号文2450
に変換するアルゴリズムである。
【0189】RC5−32/12/16は、データ処理
部2430と、拡大鍵生成部2440とを有している。
【0190】拡大鍵生成部2440は、128ビットの
暗号化鍵2420を入力とし、26個の32ビットの拡
大鍵S0 ,S1 ,…,S25を出力する。
【0191】データ処理部2430は、64ビットの平
文2410と、拡大鍵生成部2440の出力S0 ,S
1 ,…,S25とを入力とし、64ビットの暗号文245
0を出力する。
【0192】データ処理部2430は、次のように動作
する。
【0193】まず、入力された64ビットの平文241
0は、上位32ビットAと下位32ビットBとに分割さ
れる。次に、AとS0 との232を法とする和(加算)が
とられ、その結果が再びAに代入される(図24の24
31参照)。また、BとS1との232を法とする和がと
られ、その結果が再びBに代入される(図24の243
2参照)。その後、AおよびBは、ラウンド関数と呼ば
れる変換を12回適用される。
【0194】暗号文2450は、ラウンド関数を12回
適用した後のAを上位32ビットとして持ち、Bを下位
32ビットとして持つ64ビットのデータとなる。
【0195】第i回目に適用されるラウンド関数は、
A,B,S2i,およびS2i+1を入力としてAおよびBの
データの更新を行い、更新されたAおよびBを出力す
る。
【0196】次に、第i回目に適用されるラウンド関数
の概要を説明する。
【0197】第i回目に適用されるラウンド関数による
AおよびBの更新は、次式に従って行われる。
【0198】
【数3】
【0199】ここで、「+」は232を法とする和を表
し、「X<<<Y」はXのYビット回転を表している。
【0200】図25を参照すると、初めに、Aの更新が
行われる。まず、入力AはBとビット毎の排他的論理和
2510をとられ、その結果がAに再び格納される。次
に、Aは、Bビットの左ビット回転2520を施され、
その結果が再びAに格納される。最後に、Aと拡大鍵S
2iとの232を法とする和2530がとられ、その結果が
更新後のAの値となる。
【0201】続いて、Bの更新が行われる。まず、B
は、更新後のAとビット毎の排他的論理和2540をと
られ、その結果がBに再び格納される。次に、Bは、A
ビットの左ビット回転2550を施され、その結果が再
びBに格納される。最後に、Bと拡大鍵S2i+1との232
を法とする和2560がとられ、その結果が更新後のB
の値となる。
【0202】本実施例は、入力装置および出力装置とし
てICカード・リーダ・ライタを、データ記憶装置およ
びプログラムを格納した記憶媒体として半導体メモリ
を、暗号化処理装置としてICカードに内蔵されたコン
ピュータを備えている。暗号化処理装置を実現するコン
ピュータは、汎用レジスタを5本以上有しており、また
当該コンピュータの命令セットは、2つのレジスタR
1,R2の算術和、ビット回転、ビット毎の排他的論理
和等を計算した結果を必ずR1またはR2に格納すると
いう特徴を有しているものとする。ちなみに、現在使用
されているコンピュータの多くは、上記のような特徴を
持つ命令セットを有している。
【0203】次に、図26の流れ図と図24および図2
5とを基に、本実施例の全体的な動作について詳細に説
明する。
【0204】図26の流れ図において、R1,R2,R
3,R4およびR5はデータ幅32ビットの汎用レジス
タを表しており、また表記「Ri←Ri+Rj」は汎用
レジスタRiとRjとを加算した結果を新たに汎用レジ
スタRiに格納する操作を表している。図26中の「R
i←Ri<<<Rj」等についても同様に解釈するもの
とする。
【0205】本実施例は、コンピュータが行う「Ri+
Rj」および「Ri<<<Rj」等のレジスタ間演算の
演算結果をRiおよびRjのどちらに格納するかを乱数
に依存して変化させることを特徴としている。
【0206】演算結果の格納先を乱数に依存して変化さ
せることで、電力を測定した場合の消費電力の変化が、
汎用レジスタRiの値の変化によるものなのか、汎用レ
ジスタRjの値の変化によるものなのかを検知すること
が困難になる。
【0207】次に、本実施例の動作の詳細な説明を行
う。
【0208】本実施例では、まず初めに、入力装置を通
じて暗号化処理装置に平文が格納される(図26のステ
ップD1)。
【0209】平文が暗号化処理装置に入力されると、暗
号化処理装置は汎用レジスタR1に加算(232を法とす
る和)2431が終了した後のAの値を格納し、汎用レ
ジスタR3に加算(232を法とする和)2432が終了
した後のBの値を格納する。また、ラウンド関数の実行
回数をカウントする変数rに1を格納する(ステップD
2)。
【0210】次に、暗号化処理装置は、図25に示され
るラウンド関数の2510および2520に対応する操
作を実行し、さらに汎用レジスタR2にS2rを格納す
る。
【0211】この時点で、条件分岐制御手段が呼び出さ
れ、R2の保持するS2rの値とR1の保持するAの値と
の和(232を法とする和)2530をとった計算結果を
R1およびR2のどちらに格納するかを乱数の値の偶奇
数に応じて変化させる(ステップD3およびD4)。
【0212】図26のステップD4において乱数の値が
奇数であった場合には、R2とR1との和の計算結果は
R1に格納される。引き続いて、暗号化演算手段はラウ
ンド関数中の排他的論理和(ビット毎の排他的論理和)
2540および左ビット回転2550を行い、左ビット
回転2550が終了した時点におけるBの値をR3に格
納する。
【0213】さらに、R4にS2r+1の値を格納し、R3
とR4との和をR3に格納する。以上の操作により、ラ
ウンド関数適用後のAおよびBの値がR1およびR3に
格納される(ステップD5)。
【0214】ステップD5の処理が終了したことによっ
て1回のラウンド関数の処理が終了する。この時点で、
現在までに暗号化処理装置が処理したラウンド関数の回
数を表す変数rの値を調べ(ステップD7)、rの値が
RC5−32/12/16が処理すべきラウンド関数の
回数である12と等しかった場合には、出力装置から暗
号文を出力して処理を終了する(ステップD9)。それ
以外の場合には、rに1を加え(ステップD8)、もう
一度ラウンド関数を処理するためにステップD3に戻
る。
【0215】ステップD4において乱数が偶数であった
場合には、R2とR1との和の計算結果はR2に格納さ
れる。
【0216】引き続いて、暗号化処理装置はラウンド関
数の排他的論理和(ビット毎の排他的論理和)2540
および左ビット回転2550を行い、左ビット回転25
50が終了した時点におけるBの値をR3に格納する。
【0217】さらに、R4にS2r+1の値を格納し、R3
とR4との和をR4に格納する。以上の操作により、ラ
ウンド関数適用後のAおよびBの値がR2およびR4に
格納される(ステップD6)。
【0218】次に、ステップD7の場合と同様に変数r
の値が12と等しいかどうかを調べ(ステップD1
4)、等しい場合には出力装置から暗号文を出力して処
理を終了する(ステップD16)。それ以外の場合に
は、rに1を加え(ステップD15)、もう一度ラウン
ド関数を処理するためにステップD10に進む。
【0219】ステップD10では、ラウンド関数への入
力AおよびBの値がそれぞれR2およびR4に格納され
ている。暗号化処理装置は、図25に示されるラウンド
関数の排他的論理和2510および左ビット回転252
0を実行し、さらに汎用レジスタR1にS2rを格納す
る。この時点で、条件分岐制御手段が呼び出され、R1
の保持するS2rの値とR2の保持するAの値との和(2
32を法とする和)2530をとった計算結果をR1およ
びR2のどちらに格納するかを乱数の値の偶奇に応じて
変化させる(ステップD10およびD11)。
【0220】図26のステップD11において乱数の値
が奇数であった場合には、R2とR1との和の計算結果
はR1に格納される。引き続いて、暗号化演算手段はラ
ウンド関数中の排他的論理和2540および左ビット回
転2550に対応する操作を行い、左ビット回転255
0が終了した時点におけるBの値をR4に格納する。さ
らにR3にS2r+1の値を格納し、R3とR4との和をR
3に格納する。以上の操作により、ラウンド関数適用後
のAおよびBの値がR1およびR3に格納される(ステ
ップD12)。
【0221】ステップD12の処理が終了したことによ
って1回のラウンド関数の処理が終了する。この時点
で、現在までに暗号化処理装置が処理したラウンド関数
の回数を表す変数rの値を調べ(ステップD7)、rの
値がRC5−32/12/16が処理すべきラウンド関
数の回数である12と等しかった場合には、出力装置か
ら暗号文を出力して処理を終了する(ステップD9)。
それ以外の場合には、rに1を加え(ステップD8)、
もう一度ラウンド関数を処理するためにステップD3に
戻る。
【0222】ステップD11において乱数が偶数であっ
た場合には、R2とR1との和の計算結果はR2に格納
される。引き続いて、暗号化処理装置はラウンド関数中
の排他的論理和2540および左ビット回転2550に
対応する操作を行い、左ビット回転2550が終了した
時点におけるBの値をR4に格納する。さらに、R3に
2r+1の値を格納し、R3とR4との和をR4に格納す
る。以上の操作により、ラウンド関数適用後のAおよび
Bの値がR2およびR4に格納される(ステップD1
3)。
【0223】次に、ステップD7の場合と同様に、変数
rの値が12と等しいかどうかを調べ(ステップD1
4)、等しい場合には出力装置から暗号文を出力して処
理を終了する(ステップD16)。それ以外の場合に
は、rに1を加え(ステップD15)、もう一度ラウン
ド関数を処理するためにステップD10に戻る。
【0224】上記のアルゴリズムにより、乱数生成装置
が出力した乱数の値に依存せずに、出力装置には入力平
文を暗号化した結果が出力される。
【0225】(3) 第3の実施例 図27および図28は、本発明の第3の実施例を説明す
るための図である。
【0226】本実施例は、上述の第15の実施の形態に
係る暗号化・復号装置を、公開鍵暗号RSAに適用した
ものである。
【0227】なお、RSAのアルゴリズムに関しては、
上記の「Handbook ofApplied Cr
yptography」のpp.285−291に詳し
く述べられている。
【0228】ここでは、まず、RSAの動作の概要を説
明する。
【0229】RSAは512ビット程度の2つの素数
p,qの積nと、lcm(p−1,q−1)(ただし、
lcm(a,b)はaとbとの最小公倍数を表す)と互
いに素である数eの組(n,e)とを公開鍵として持
ち、法lcm(p−1,q−1)の下でed=1となる
ようなdを秘密鍵として持つ。
【0230】RSAの暗号化は、次のように行われる。
【0231】Mを暗号化したい平文とすると、Mを暗号
化した暗号文Cは次式に従って計算される。
【0232】C=Me modn
【0233】また、暗号文Cから平文Mを復号する計算
は、次式で表される。
【0234】M=Cd modn
【0235】RSAでは、暗号化や復号を高速に行うた
めに、高速な冪乗剰余演算アルゴリズムが必要となる。
ここで冪乗剰余演算アルゴリズムとは、g,e,nを入
力としてge modnを出力するアルゴリズムを指す。
【0236】RSAの実装では、高速な冪乗剰余演算ア
ルゴリズムとして図27の流れ図で示されるアルゴリズ
ムまたはその改良アルゴリズムを用いることが標準的で
ある。ここでは、図27の流れ図を基に、高速冪乗剰余
演算アルゴリズムの動作の流れを説明する。
【0237】冪乗剰余アルゴリズムでは、まず初めに、
g,e,nが入力される(図27のステップE1)。
【0238】続いて、変数AおよびSに初期値として1
およびgをそれぞれ格納する(ステップE2)。
【0239】続いて、eが0であるかどうかを判定し
(ステップE3)、0の場合にはAを出力して処理を終
了し、そうでない場合にはeの偶奇を調べ、eが奇数で
あった場合にはAとSとの積を計算し、その結果を新た
に再びAに格納する(ステップE4およびE5)。
【0240】次に、eの値を2で割ることにより、eの
1ビット右シフトを行う(ステップE6)。
【0241】この段階で再びeが0であるかどうかを判
定し(ステップE7)、0である場合にはAを出力して
処理を終了し、そうでない場合にはSを二乗して(ステ
ップE8)、ステップE3に戻る。
【0242】eの二進数表現を(b1 ,b2 ,…,b
t )とすると(ただし、b1 が最上位ビット、bt が最
下位ビット)、図27の流れ図においてステップE7を
i回通過した時点でのAの値は、二進数表現が(b1
2 ,…,bi )となるような数eiに対してgeimo
dnとなっている。
【0243】アルゴリズムの構成法により、図27で示
されるアルゴリズムではeのビット長tに対してアルゴ
リズム終了時までにステップE7を通過する回数は必ず
t回となるので、アルゴリズム終了時のAの値はge
odnとなり冪乗剰余演算が計算されていることが分か
る。
【0244】しかし、上記のようなアルゴリズムを用い
て冪乗剰余演算を実現する場合には、次のような問題が
生じる。図27のステップE4をi回通過した後にステ
ップE5が実行される必要十分条件は、eの右からiビ
ット目が1であることとなる。この時、上記のアルゴリ
ズムを実装した装置の実行中に当該装置が消費する電力
を測定することにより、当該装置内で実行されている命
令の特定が可能であるとすると、RSA暗号文の復号時
における当該装置の消費電力を測定することによりRS
Aの秘密鍵dを特定することが可能になってしまう。
【0245】次に、図27の流れ図および図28を参照
して本実施例を詳細に説明する。
【0246】本実施例の暗号化・復号装置における暗号
化・復号処理装置2820は、暗号化・復号演算手段2
821と、乱数依存性決定手段2822と、遅延制御手
段2823とを備えており、次のように動作する。
【0247】暗号化・復号演算手段2821は、2つの
相異なる数a,bと法nとを入力とし、a・bmodn
を計算する乗算器28211と、1つの数aと法nとを
入力とし、a2 modnを計算する二乗演算器2821
2とを備えている。
【0248】暗号化・復号演算手段2821は、暗号化
と復号との2つの機能を有しており、暗号化を行う場合
には入力装置2810から通信相手の公開鍵e,n1
送信したい平文Mとを入力し、図27の流れ図と同様な
動作を行うことによって、暗号文Me modn1 を計算
し、その計算結果を出力装置2850より出力する。ま
た、復号を行う場合には、入力装置2810から本人の
秘密鍵dと本人の公開鍵n2 および受信した暗号文Cと
を入力し、図27の流れ図と同様な動作を行うことによ
って、平文Cd modn2 を計算し、その計算結果を出
力装置2850より出力する。
【0249】図28中の暗号化・復号演算手段2821
の動作が図27の流れ図と異なる点は、図28中の暗号
化・復号演算手段2821は、図27のステップE8か
らステップE3に戻る時点で乱数依存性決定手段282
2によって遅延時間決定要求が遅延制御手段2823に
出力される点にある。
【0250】遅延制御手段2823は、暗号化演算手段
2821と同様に、乗算器28231と、二乗演算器2
8232とを備えており、乱数依存性決定手段2822
より遅延時間決定要求が出されると、乱数生成装置28
40に対して乱数要求信号を2度送り、2つの乱数r
1,r2を得る。
【0251】r1とr2とを受け取った遅延制御手段2
823は、r1の最下位ビットが0であるか否かを判定
し、0であった場合には遅延挿入のために、二乗演算器
28232を用いてr2の二乗の計算を行い、再び暗号
化・復号演算手段2821に処理を移す。一方、r1の
最下位ビットが1であった場合には、遅延挿入のため
に、遅延制御手段2823は、乗算器28231を用い
てr1とr2との積を計算した後に、二乗演算器282
32を用いて乗算器28231の計算結果であるr1・
r2の二乗を計算し、再び暗号化・復号演算手段282
1に処理を移す。
【0252】
【発明の効果】以上説明したように、本発明の暗号化装
置,復号装置,および暗号化・復号装置によると、デー
タの暗号化や復号を行う際に当該装置の消費電力を測定
することによって暗号化鍵や復号鍵等の秘密情報を得る
暗号解析法(電力解析や電力差分解析等の消費電力の測
定による暗号解析法)の適用が困難になるという効果が
生じる。
【0253】以上のような効果が生じる理由を、以下に
述べる。
【0254】電力解析や電力差分解析等の消費電力の測
定による暗号解析が成功するためには、第1に暗号化装
置や復号装置がデータの暗号化や復号を行っている際に
消費する電力と当該装置内で行われている暗号化操作や
復号操作との間に密接な関連があること、第2に暗号化
装置や復号装置が特定の暗号化操作や復号操作を行って
いる時刻が容易に検知できること、の2点が必要条件と
なる。
【0255】本発明では、中間データ制御手段によって
暗号化や復号を行う際に必要となる中間データが乱数に
依存して変化したまま暗号装置や復号装置内で暗号化操
作や復号操作が行われるため、当該装置が消費した電力
の変化が実際の暗号化操作や復号操作によって生じたも
のであるのか、乱数の影響によって生じたものであるの
かの判断が困難になっている。したがって、暗号化装置
や復号装置の消費電力と当該装置内で行われている暗号
化操作や復号操作との間の関連が検知しづらくなるた
め、電力解析や電力差分解析が成功するための第1の必
要条件が成立しなくなる。
【0256】さらに、本発明では、条件分岐制御手段に
よって、順序を入れ替えることが可能であるような操作
の順序(実行順序)の決定や、どの操作を実行しても暗
号化や復号の結果が変化しないような複数の操作の選択
肢の中から実際に実行される操作を選択することを、乱
数に依存して行っている。また、遅延制御手段によっ
て、暗号化や復号の操作の途中で、適宜乱数に依存した
時間の遅延が挿入される。それらのために、特定の暗号
化や復号の操作が実行される時刻が、乱数によって変化
することになる。したがって、電力解析や電力差分解析
が成功するための第2の必要条件が成立しなくなる。
【0257】以上により、電力解析や電力差分解析の成
功に必要な2つの条件が成立しなくなるため、暗号化装
置や復号装置の消費電力を測定することで秘密情報を得
るという暗号解析法が困難になる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図2】図1に示す暗号化装置の処理を示す流れ図であ
る。
【図3】本発明の第2の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図4】図3に示す暗号化装置の処理を示す流れ図であ
る。
【図5】本発明の第3の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図6】図5に示す暗号化装置の処理を示す流れ図であ
る。
【図7】本発明の第4の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図8】本発明の第5の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図9】本発明の第6の実施の形態に係る暗号化装置の
構成を示すブロック図である。
【図10】本発明の第7の実施の形態に係る復号装置の
構成を示すブロック図である。
【図11】本発明の第8の実施の形態に係る復号装置の
構成を示すブロック図である。
【図12】本発明の第9の実施の形態に係る復号装置の
構成を示すブロック図である。
【図13】本発明の第10の実施の形態に係る復号装置
の構成を示すブロック図である。
【図14】本発明の第11の実施の形態に係る復号装置
の構成を示すブロック図である。
【図15】本発明の第12の実施の形態に係る復号装置
の構成を示すブロック図である。
【図16】本発明の第13の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図17】本発明の第14の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図18】本発明の第15の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図19】本発明の第16の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図20】本発明の第17の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図21】本発明の第18の実施の形態に係る暗号化・
復号装置の構成を示すブロック図である。
【図22】本発明の第1の実施例を説明するための図
(DESの構成を示すブロック図)である。
【図23】本発明の第1の実施例を説明するための図
(当該実施例の構成を示すブロック図)である。
【図24】本発明の第2の実施例を説明するための図
(RC5−32/12/16の構成を示すブロック図)で
ある。
【図25】本発明の第2の実施例を説明するための図
(RC5−32/12/16のラウンド関数の構成を示す
ブロック図)である。
【図26】本発明の第2の実施例を説明するための図
(当該実施例の動作を示す流れ図)である。
【図27】本発明の第3の実施例を説明するための図
(高速冪乗剰余演算の動作を示す流れ図)である。
【図28】本発明の第3の実施例を説明するための図
(当該実施例の構成を示すブロック図)である。
【符号の説明】
110,310,510,1010,1110,121
0,1610,1710,1810,2810 入力装
置 120,320,520 暗号化処理装置 121,321,521 暗号化演算手段 122,322,522,1022,1122,122
2,1622,1722,1822,2822 乱数依
存性決定手段 123,1023,1623 中間データ制御手段 130,330,530,1030,1130,123
0,1630,1730,1830,2830 記憶装
置 131,331,531,1031,1131,123
1,1631,1731,1831,2831 中間デ
ータ記憶部 140,340,540,1040,1140,124
0,1640,1740,1840,2840 乱数生
成装置 150,350,550,1050,1150,125
0,1650,1750,1850,2850 出力装
置 323,1123,1723 条件分岐制御手段 523,1223,1823,2823 遅延制御手段 700,800,900,1300,1400,150
0,1900,2000,2100 記録媒体 1020,1120,1220 復号処理装置 1021,1121,1221 復号演算手段 1620,1720,1820,2820 暗号化・復
号処理装置 1621,1721,1821,2821 暗号化・復
号演算手段 2210 鍵スケジューリング部 2220,2430 データ処理部 2310,2320,2330,2340,2350,
2360,2370,2380 乱数依存性付与部分 2410 平文 2420 暗号化鍵 2431,2432,2530,2560 232を法と
する和 2440 拡大鍵生成部 2450 暗号文 2510,2540 ビット毎の排他的論理和 2520,2550 左ビット回転 28211,28231 乗算器 28212,28232 二乗演算器

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、暗
    号化処理実行中に必要な中間データを乱数に依存して変
    化させる乱数依存中間データ変更操作を中間データ変更
    要求の発生時点で行い、かつ当該乱数依存中間データ変
    更操作を複数回適用することによって乱数の効果を相殺
    するように制御する中間データ制御手段と、 平文を入力とし、前記中間データ制御手段による乱数依
    存中間データ変更操作に依存して状態を変化させつつ当
    該平文に対する暗号化処理を実行し、当該平文を暗号化
    した暗号文であって前記乱数生成装置の出力に依存しな
    い暗号文を出力する暗号化演算手段と、 前記暗号化演算手段による暗号化処理の現在の処理段階
    が乱数依存中間データ変更操作を適用すべき処理段階で
    あると判断した場合に、前記中間データ制御手段に対す
    る中間データ変更要求を発行する乱数依存性決定手段と
    を備えたことを特徴とする暗号化装置。
  2. 【請求項2】 乱数を出力する乱数生成装置と、前記乱
    数生成装置から出力される乱数を入力として、暗号化処
    理手続きの実行順序を決定することや複数の処理手続き
    の選択肢の中から実際に実行される処理手続きを選択す
    ることを乱数に依存して行う乱数依存条件分岐決定操作
    を条件分岐決定要求の発生時点で行い、かつ暗号化演算
    手段の出力が乱数に依存しないように当該乱数依存条件
    分岐決定操作を制御する条件分岐制御手段と、 平文を入力とし、前記条件分岐制御手段による乱数依存
    条件分岐決定操作に依存して状態を変化させつつ当該平
    文に対する暗号化処理を実行し、当該平文を暗号化した
    暗号文であって前記乱数生成装置の出力に依存しない暗
    号文を出力する暗号化演算手段と、 前記暗号化演算手段による暗号化処理の現在の処理段階
    が乱数依存条件分岐決定操作を適用すべき処理段階であ
    ると判断した場合に、前記条件分岐制御手段に対する条
    件分岐決定要求を発行する乱数依存性決定手段とを備え
    たことを特徴とする暗号化装置。
  3. 【請求項3】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、暗
    号化処理中に意図的に挿入する実行遅延の遅延時間の決
    定を乱数に依存して行う乱数依存遅延挿入操作を遅延時
    間決定要求の発生時点で行う遅延制御手段と、 平文を入力とし、前記遅延制御手段による乱数依存遅延
    挿入操作に依存して状態を変化させつつ当該平文に対す
    る暗号化処理を実行し、当該平文を暗号化した暗号文で
    あって前記乱数生成装置の出力に依存しない暗号文を出
    力する暗号化演算手段と、 前記暗号化演算手段による暗号化処理の処理段階が乱数
    依存遅延挿入操作を適用すべき処理段階であると判断し
    た場合に、前記遅延制御手段に対する遅延時間決定要求
    を発行する乱数依存性決定手段とを備えたことを特徴と
    する暗号化装置。
  4. 【請求項4】 コンピュータシステムを、乱数を出力す
    る乱数生成装置,前記乱数生成装置から出力される乱数
    を入力として、暗号化処理実行中に必要な中間データを
    乱数に依存して変化させる乱数依存中間データ変更操作
    を中間データ変更要求の発生時点で行い、かつ当該乱数
    依存中間データ変更操作を複数回適用することによって
    乱数の効果を相殺するように制御する中間データ制御手
    段,平文を入力とし、前記中間データ制御手段による乱
    数依存中間データ変更操作に依存して状態を変化させつ
    つ当該平文に対する暗号化処理を実行し、当該平文を暗
    号化した暗号文であって前記乱数生成装置の出力に依存
    しない暗号文を出力する暗号化演算手段,および前記暗
    号化演算手段による暗号化処理の現在の処理段階が乱数
    依存中間データ変更操作を適用すべき処理段階であると
    判断した場合に、前記中間データ制御手段に対する中間
    データ変更要求を発行する乱数依存性決定手段として機
    能させるための暗号化処理プログラムを記録した記録媒
    体。
  5. 【請求項5】 コンピュータシステムを、乱数を出力す
    る乱数生成装置,前記乱数生成装置から出力される乱数
    を入力として、暗号化処理手続きの実行順序を決定する
    ことや複数の処理手続きの選択肢の中から実際に実行さ
    れる処理手続きを選択することを乱数に依存して行う乱
    数依存条件分岐決定操作を条件分岐決定要求の発生時点
    で行い、かつ暗号化演算手段の出力が乱数に依存しない
    ように当該乱数依存条件分岐決定操作を制御する条件分
    岐制御手段,平文を入力とし、前記条件分岐制御手段に
    よる乱数依存条件分岐決定操作に依存して状態を変化さ
    せつつ当該平文に対する暗号化処理を実行し、当該平文
    を暗号化した暗号文であって前記乱数生成装置の出力に
    依存しない暗号文を出力する暗号化演算手段,および前
    記暗号化演算手段による暗号化処理の現在の処理段階が
    乱数依存条件分岐決定操作を適用すべき処理段階である
    と判断した場合に、前記条件分岐制御手段に対する条件
    分岐決定要求を発行する乱数依存性決定手段として機能
    させるための暗号化処理プログラムを記録した記録媒
    体。
  6. 【請求項6】 コンピュータシステムを、乱数を出力す
    る乱数生成装置,前記乱数生成装置から出力される乱数
    を入力として、暗号化処理中に意図的に挿入する実行遅
    延の遅延時間の決定を乱数に依存して行う乱数依存遅延
    挿入操作を遅延時間決定要求の発生時点で行う遅延制御
    手段,平文を入力とし、前記遅延制御手段による乱数依
    存遅延挿入操作に依存して状態を変化させつつ当該平文
    に対する暗号化処理を実行し、当該平文を暗号化した暗
    号文であって前記乱数生成装置の出力に依存しない暗号
    文を出力する暗号化演算手段,および前記暗号化演算手
    段による暗号化処理の処理段階が乱数依存遅延挿入操作
    を適用すべき処理段階であると判断した場合に、前記遅
    延制御手段に対する遅延時間決定要求を発行する乱数依
    存性決定手段として機能させるための暗号化処理プログ
    ラムを記録した記録媒体。
  7. 【請求項7】 出力するデータが暗号化を行う平文その
    ものおよび平文に依存したデータのいずれかである乱数
    生成装置を備えたことを特徴とする請求項1,請求項
    2,または請求項3記載の暗号化装置。
  8. 【請求項8】 出力するデータが暗号化を行う平文その
    ものおよび平文に依存したデータのいずれかである乱数
    生成装置の機能を有する暗号化処理プログラムを記録し
    たことを特徴とする請求項4,請求項5,または請求項
    6記載の記録媒体。
  9. 【請求項9】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、復
    号処理実行中に必要な中間データを乱数に依存して変化
    させる乱数依存中間データ変更操作を中間データ変更要
    求の発生時点で行い、かつ当該乱数依存中間データ変更
    操作を複数回適用することによって乱数の効果を相殺す
    るように制御する中間データ制御手段と、 暗号文を入力とし、前記中間データ制御手段による乱数
    依存中間データ変更操作に依存して状態を変化させつつ
    当該暗号文に対する復号処理を実行し、当該暗号文を復
    号した平文であって前記乱数生成装置の出力に依存しな
    い平文を出力する復号演算手段と、 前記復号演算手段による復号処理の現在の処理段階が乱
    数依存中間データ変更操作を適用すべき処理段階である
    と判断した場合に、前記中間データ制御手段に対する中
    間データ変更要求を発行する乱数依存性決定手段とを備
    えたことを特徴とする復号装置。
  10. 【請求項10】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、復
    号処理手続きの実行順序を決定することや複数の処理手
    続きの選択肢の中から実際に実行される処理手続きを選
    択することを乱数に依存して行う乱数依存条件分岐決定
    操作を条件分岐決定要求の発生時点で行い、かつ復号演
    算手段の出力が乱数に依存しないように当該乱数依存条
    件分岐決定操作を制御する条件分岐制御手段と、 暗号文を入力とし、前記条件分岐制御手段による乱数依
    存条件分岐決定操作に依存して状態を変化させつつ当該
    暗号文に対する復号処理を実行し、当該暗号文を復号し
    た平文であって前記乱数生成装置の出力に依存しない平
    文を出力する復号演算手段と、 前記復号演算手段による復号処理の現在の処理段階が乱
    数依存条件分岐決定操作を適用すべき処理段階であると
    判断した場合に、前記条件分岐制御手段に対する条件分
    岐決定要求を発行する乱数依存性決定手段とを備えたこ
    とを特徴とする復号装置。
  11. 【請求項11】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、復
    号処理中に意図的に挿入する実行遅延の遅延時間の決定
    を乱数に依存して行う乱数依存遅延挿入操作を遅延時間
    決定要求の発生時点で行う遅延制御手段と、 暗号文を入力とし、前記遅延制御手段による乱数依存遅
    延挿入操作に依存して状態を変化させつつ当該暗号文に
    対する復号処理を実行し、当該暗号文を復号した平文で
    あって前記乱数生成装置の出力に依存しない平文を出力
    する復号演算手段と、 前記復号演算手段による復号処理の処理段階が乱数依存
    遅延挿入操作を適用すべき処理段階であると判断した場
    合に、前記遅延制御手段に対する遅延時間決定要求を発
    行する乱数依存性決定手段とを備えたことを特徴とする
    復号装置。
  12. 【請求項12】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、復号処理実行中に必要な中間データを
    乱数に依存して変化させる乱数依存中間データ変更操作
    を中間データ変更要求の発生時点で行い、かつ当該乱数
    依存中間データ変更操作を複数回適用することによって
    乱数の効果を相殺するように制御する中間データ制御手
    段,暗号文を入力とし、前記中間データ制御手段による
    乱数依存中間データ変更操作に依存して状態を変化させ
    つつ当該暗号文に対する復号処理を実行し、当該暗号文
    を復号した平文であって前記乱数生成装置の出力に依存
    しない平文を出力する復号演算手段,および前記復号演
    算手段による復号処理の現在の処理段階が乱数依存中間
    データ変更操作を適用すべき処理段階であると判断した
    場合に、前記中間データ制御手段に対する中間データ変
    更要求を発行する乱数依存性決定手段として機能させる
    ための復号処理プログラムを記録した記録媒体。
  13. 【請求項13】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、復号処理手続きの実行順序を決定する
    ことや複数の処理手続きの選択肢の中から実際に実行さ
    れる処理手続きを選択することを乱数に依存して行う乱
    数依存条件分岐決定操作を条件分岐決定要求の発生時点
    で行い、かつ復号演算手段の出力が乱数に依存しないよ
    うに当該乱数依存条件分岐決定操作を制御する条件分岐
    制御手段,暗号文を入力とし、前記条件分岐制御手段に
    よる乱数依存条件分岐決定操作に依存して状態を変化さ
    せつつ当該暗号文に対する復号処理を実行し、当該暗号
    文を復号した平文であって前記乱数生成装置の出力に依
    存しない平文を出力する復号演算手段,および前記復号
    演算手段による復号処理の現在の処理段階が乱数依存条
    件分岐決定操作を適用すべき処理段階であると判断した
    場合に、前記条件分岐制御手段に対する条件分岐決定要
    求を発行する乱数依存性決定手段として機能させるため
    の復号処理プログラムを記録した記録媒体。
  14. 【請求項14】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、復号処理中に意図的に挿入する実行遅
    延の遅延時間の決定を乱数に依存して行う乱数依存遅延
    挿入操作を遅延時間決定要求の発生時点で行う遅延制御
    手段,暗号文を入力とし、前記遅延制御手段による乱数
    依存遅延挿入操作に依存して状態を変化させつつ当該暗
    号文に対する復号処理を実行し、当該暗号文を復号した
    平文であって前記乱数生成装置の出力に依存しない平文
    を出力する復号演算手段,および前記復号演算手段によ
    る復号処理の処理段階が乱数依存遅延挿入操作を適用す
    べき処理段階であると判断した場合に、前記遅延制御手
    段に対する遅延時間決定要求を発行する乱数依存性決定
    手段として機能させるための復号処理プログラムを記録
    した記録媒体。
  15. 【請求項15】 出力するデータが復号を行う暗号文そ
    のものおよび暗号文に依存したデータのいずれかである
    乱数生成装置を備えたことを特徴とする請求項9,請求
    項10,または請求項11記載の復号装置。
  16. 【請求項16】 出力するデータが復号を行う暗号文そ
    のものおよび暗号文に依存したデータのいずれかである
    乱数生成装置の機能を有する復号処理プログラムを記録
    したことを特徴とする請求項12,請求項13,または
    請求項14記載の記録媒体。
  17. 【請求項17】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、暗
    号化処理実行中および復号処理実行中に必要な中間デー
    タを乱数に依存して変化させる乱数依存中間データ変更
    操作を中間データ変更要求の発生時点で行い、かつ当該
    乱数依存中間データ変更操作を複数回適用することによ
    って乱数の効果を相殺するように制御する中間データ制
    御手段と、 処理データおよび処理内容を入力とし、前記中間データ
    制御手段による乱数依存中間データ変更操作に依存して
    状態を変化させつつ暗号化処理および復号処理を実行
    し、当該処理内容が暗号化処理であった場合には当該処
    理データである平文を暗号化した暗号文であって前記乱
    数生成装置の出力に依存しない暗号文を出力し、当該処
    理内容が復号処理であった場合には当該処理データであ
    る暗号文を復号した平文であって前記乱数生成装置の出
    力に依存しない平文を出力する暗号化・復号演算手段
    と、 前記暗号化・復号演算手段による暗号化処理および復号
    処理の現在の処理段階が乱数依存中間データ変更操作を
    適用すべき処理段階であると判断した場合に、前記中間
    データ制御手段に対する中間データ変更要求を発行する
    乱数依存性決定手段とを備えたことを特徴とする暗号化
    ・復号装置。
  18. 【請求項18】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、暗
    号化処理手続きおよび復号処理手続きの実行順序を決定
    することや複数の処理手続きの選択肢の中から実際に実
    行される処理手続きを選択することを乱数に依存して行
    う乱数依存条件分岐決定操作を条件分岐決定要求の発生
    時点で行い、かつ暗号化・復号演算手段の出力が乱数に
    依存しないように当該乱数依存条件分岐決定操作を制御
    する条件分岐制御手段と、 処理データおよび処理内容を入力とし、前記条件分岐制
    御手段による乱数依存条件分岐決定操作に依存して状態
    を変化させつつ暗号化処理および復号処理を実行し、当
    該処理内容が暗号化処理であった場合には当該処理デー
    タである平文を暗号化した暗号文であって前記乱数生成
    装置の出力に依存しない暗号文を出力し、当該処理内容
    が復号処理であった場合には当該処理データである暗号
    文を復号した平文であって前記乱数生成装置の出力に依
    存しない平文を出力する暗号化・復号演算手段と、 前記暗号化・復号演算手段による暗号化処理および復号
    処理の現在の処理段階が乱数依存条件分岐決定操作を適
    用すべき処理段階であると判断した場合に、前記条件分
    岐制御手段に対する条件分岐決定要求を発行する乱数依
    存性決定手段とを備えたことを特徴とする暗号化・復号
    装置。
  19. 【請求項19】 乱数を出力する乱数生成装置と、 前記乱数生成装置から出力される乱数を入力として、暗
    号化処理および復号処理中に意図的に挿入する実行遅延
    の遅延時間の決定を乱数に依存して行う乱数依存遅延挿
    入操作を遅延時間決定要求の発生時点で行う遅延制御手
    段と、 処理データおよび処理内容を入力とし、前記遅延制御手
    段による乱数依存遅延挿入操作に依存して状態を変化さ
    せつつ暗号化処理および復号処理を実行し、当該処理内
    容が暗号化処理であった場合には当該処理データである
    平文を暗号化した暗号文であって前記乱数生成装置の出
    力に依存しない暗号文を出力し、当該処理内容が復号処
    理であった場合には当該処理データである暗号文を復号
    した平文であって前記乱数生成装置の出力に依存しない
    平文を出力する暗号化・復号演算手段と、 前記暗号化・復号演算手段による暗号化処理および復号
    処理の現在の処理段階が乱数依存遅延挿入操作を適用す
    べき処理段階であると判断した場合に、前記遅延制御手
    段に対する遅延時間決定要求を発行する乱数依存性決定
    手段とを備えたことを特徴とする暗号化・復号装置。
  20. 【請求項20】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、暗号化処理実行中および復号処理実行
    中に必要な中間データを乱数に依存して変化させる乱数
    依存中間データ変更操作を中間データ変更要求の発生時
    点で行い、かつ当該乱数依存中間データ変更操作を複数
    回適用することによって乱数の効果を相殺するように制
    御する中間データ制御手段,処理データおよび処理内容
    を入力とし、前記中間データ制御手段による乱数依存中
    間データ変更操作に依存して状態を変化させつつ暗号化
    処理および復号処理を実行し、当該処理内容が暗号化処
    理であった場合には当該処理データである平文を暗号化
    した暗号文であって前記乱数生成装置の出力に依存しな
    い暗号文を出力し、当該処理内容が復号処理であった場
    合には当該処理データである暗号文を復号した平文であ
    って前記乱数生成装置の出力に依存しない平文を出力す
    る暗号化・復号演算手段,ならびに前記暗号化・復号演
    算手段による暗号化処理および復号処理の現在の処理段
    階が乱数依存中間データ変更操作を適用すべき処理段階
    であると判断した場合に、前記中間データ制御手段に対
    する中間データ変更要求を発行する乱数依存性決定手段
    として機能させるための暗号化・復号処理プログラムを
    記録した記録媒体。
  21. 【請求項21】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、暗号化処理手続きおよび復号処理手続
    きの実行順序を決定することや複数の処理手続きの選択
    肢の中から実際に実行される処理手続きを選択すること
    を乱数に依存して行う乱数依存条件分岐決定操作を条件
    分岐決定要求の発生時点で行い、かつ暗号化・復号演算
    手段の出力が乱数に依存しないように当該乱数依存条件
    分岐決定操作を制御する条件分岐制御手段,処理データ
    および処理内容を入力とし、前記条件分岐制御手段によ
    る乱数依存条件分岐決定操作に依存して状態を変化させ
    つつ暗号化処理および復号処理を実行し、当該処理内容
    が暗号化処理であった場合には当該処理データである平
    文を暗号化した暗号文であって前記乱数生成装置の出力
    に依存しない暗号文を出力し、当該処理内容が復号処理
    であった場合には当該処理データである暗号文を復号し
    た平文であって前記乱数生成装置の出力に依存しない平
    文を出力する暗号化・復号演算手段,ならびに前記暗号
    化・復号演算手段による暗号化処理および復号処理の現
    在の処理段階が乱数依存条件分岐決定操作を適用すべき
    処理段階であると判断した場合に、前記条件分岐制御手
    段に対する条件分岐決定要求を発行する乱数依存性決定
    手段として機能させるための暗号化・復号処理プログラ
    ムを記録した記録媒体。
  22. 【請求項22】 コンピュータシステムを、乱数を出力
    する乱数生成装置,前記乱数生成装置から出力される乱
    数を入力として、暗号化処理および復号処理中に意図的
    に挿入する実行遅延の遅延時間の決定を乱数に依存して
    行う乱数依存遅延挿入操作を遅延時間決定要求の発生時
    点で行う遅延制御手段,処理データおよび処理内容を入
    力とし、前記遅延制御手段による乱数依存遅延挿入操作
    に依存して状態を変化させつつ暗号化処理および復号処
    理を実行し、当該処理内容が暗号化処理であった場合に
    は当該処理データである平文を暗号化した暗号文であっ
    て前記乱数生成装置の出力に依存しない暗号文を出力
    し、当該処理内容が復号処理であった場合には当該処理
    データである暗号文を復号した平文であって前記乱数生
    成装置の出力に依存しない平文を出力する暗号化・復号
    演算手段,ならびに前記暗号化・復号演算手段による暗
    号化処理および復号処理の現在の処理段階が乱数依存遅
    延挿入操作を適用すべき処理段階であると判断した場合
    に、前記遅延制御手段に対する遅延時間決定要求を発行
    する乱数依存性決定手段として機能させるための暗号化
    ・復号処理プログラムを記録した記録媒体。
  23. 【請求項23】 暗号化処理の際に出力するデータが暗
    号化を行う平文そのものおよび平文に依存したデータの
    いずれかであり、復号処理の際に出力するデータが復号
    を行う暗号文そのものおよび暗号文に依存したデータの
    いずれかである乱数生成装置を備えたことを特徴とする
    請求項17,請求項18,または請求項19記載の暗号
    化・復号装置。
  24. 【請求項24】 暗号化処理の際に出力するデータが暗
    号化を行う平文そのものおよび平文に依存したデータの
    いずれかであり、復号処理の際に出力するデータが復号
    を行う暗号文そのものおよび暗号文に依存したデータの
    いずれかである乱数生成装置の機能を有する暗号化・復
    号処理プログラムを記録したことを特徴とする請求項2
    0,請求項21,または請求項22記載の記録媒体。
  25. 【請求項25】 平文に加えて暗号化鍵を入力とする暗
    号化演算手段を備えることを特徴とする請求項1,請求
    項2,請求項3,または請求項7記載の暗号化装置。
  26. 【請求項26】 平文に加えて暗号化鍵を入力とする暗
    号化演算手段の機能を有する暗号化処理プログラムを記
    録したことを特徴とする請求項4,請求項5,請求項
    6,または請求項8記載の記録媒体。
  27. 【請求項27】 暗号文に加えて復号鍵を入力とする復
    号演算手段を備えることを特徴とする請求項9,請求項
    10,請求項11,または請求項15記載の復号装置。
  28. 【請求項28】 暗号文に加えて復号鍵を入力とする復
    号演算手段の機能を有する復号処理プログラムを記録し
    たことを特徴とする請求項12,請求項13,請求項1
    4,または請求項16記載の記録媒体。
  29. 【請求項29】 暗号化処理の際に処理データに加えて
    暗号化鍵を入力とし復号処理の際に処理データに加えて
    復号鍵を入力とする暗号化・復号演算手段を備えること
    を特徴とする請求項17,請求項18,請求項19,ま
    たは請求項23記載の暗号化・復号装置。
  30. 【請求項30】 暗号化処理の際に処理データに加えて
    暗号化鍵を入力とし復号処理の際に処理データに加えて
    復号鍵を入力とする暗号化・復号演算手段の機能を有す
    る暗号化・復号処理プログラムを記録したことを特徴と
    する請求項20,請求項21,請求項22,または請求
    項24記載の記録媒体。
JP11114230A 1999-04-21 1999-04-21 暗号化装置,復号装置,および暗号化・復号装置 Pending JP2000305453A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11114230A JP2000305453A (ja) 1999-04-21 1999-04-21 暗号化装置,復号装置,および暗号化・復号装置
US09/553,415 US6970561B1 (en) 1999-04-21 2000-04-20 Encryption and decryption with endurance to cryptanalysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11114230A JP2000305453A (ja) 1999-04-21 1999-04-21 暗号化装置,復号装置,および暗号化・復号装置

Publications (1)

Publication Number Publication Date
JP2000305453A true JP2000305453A (ja) 2000-11-02

Family

ID=14632515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11114230A Pending JP2000305453A (ja) 1999-04-21 1999-04-21 暗号化装置,復号装置,および暗号化・復号装置

Country Status (2)

Country Link
US (1) US6970561B1 (ja)
JP (1) JP2000305453A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002078248A1 (fr) * 2001-03-22 2002-10-03 Dai Nippon Printing Co., Ltd. Support de memorisation d'information portable et son procede d'identification
JP2004533630A (ja) * 2001-02-08 2004-11-04 エステーミクロエレクトロニクス ソシエテ アノニム 安全化暗号化法と、この暗号化法を使ったコンポーネント
JP2005519527A (ja) * 2002-03-07 2005-06-30 アクサルト・エス・アー 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
WO2008013083A1 (fr) * 2006-07-25 2008-01-31 Nec Corporation Générateur de nombres pseudo-aléatoires, dispositif de cryptage de flux et programme
JPWO2006006199A1 (ja) * 2004-07-07 2008-04-24 三菱電機株式会社 電子素子及びデータ処理方法
WO2008056461A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Circuit de traitement de calcul cryptographique
US7386130B2 (en) 2001-06-13 2008-06-10 Fujitsu Limited Encryption secured against DPA
JP2009537025A (ja) * 2006-03-31 2009-10-22 アクサルト・エス・アー サイドチャネル攻撃からの保護
JP2010124276A (ja) * 2008-11-20 2010-06-03 Sony Corp 暗号処理装置
JP4783289B2 (ja) * 2004-06-28 2011-09-28 パナソニック株式会社 プログラム生成装置、プログラムテスト装置、プログラム実行装置、及び情報処理システム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4235426B2 (ja) * 2002-09-20 2009-03-11 キヤノン株式会社 撮像装置
JP3503638B1 (ja) * 2002-09-26 2004-03-08 日本電気株式会社 暗号装置及び暗号プログラム
JP2004212828A (ja) * 2003-01-08 2004-07-29 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2005056413A (ja) * 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
CN101147182B (zh) * 2005-03-31 2010-09-01 松下电器产业株式会社 数据加密装置及数据加密方法
FR2949925A1 (fr) * 2009-09-09 2011-03-11 Proton World Int Nv Protection d'une generation de nombres premiers contre des attaques par canaux caches
KR101610917B1 (ko) * 2010-03-08 2016-04-11 삼성전자주식회사 암호 알고리즘의 복호 방법 및 그것을 포함하는 암호 시스템
US8522052B1 (en) 2010-04-07 2013-08-27 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US9213835B2 (en) * 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
JP2012083542A (ja) * 2010-10-12 2012-04-26 Renesas Electronics Corp 暗号処理装置及び暗号処理回路の制御方法
TWI422203B (zh) * 2010-12-15 2014-01-01 Univ Nat Chiao Tung 防禦差分功率分析攻擊之方法及電子裝置
US9251143B2 (en) 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
TWI813744B (zh) 2018-08-23 2023-09-01 美商阿爾克斯股份有限公司 具有主機確定學習及本地化路由與橋接整合的主機路由覆蓋機制系統

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069222A (ja) * 1996-08-27 1998-03-10 Dainippon Printing Co Ltd Icカード
JPH10173646A (ja) * 1996-12-13 1998-06-26 Mitsubishi Electric Corp 暗号化補助方法、復号化補助方法、およびそれらの方法を用いた装置
JPH10222065A (ja) * 1997-02-03 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 冪乗剰余演算方法及び装置
JPH11296075A (ja) * 1998-03-14 1999-10-29 Koninkl Philips Electronics Nv メッセ―ジ符号化方法及び暗号解析装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2000151389A (ja) * 1998-11-09 2000-05-30 Nippon Telegr & Teleph Corp <Ntt> 動作解析を防止する論理回路および論理回路装置
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
JP2000187618A (ja) * 1998-12-22 2000-07-04 Casio Comput Co Ltd 情報処理装置
JP2002517787A (ja) * 1998-05-29 2002-06-18 インフィネオン テクノロジース アクチエンゲゼルシャフト データ処理方法および装置
JP2002540484A (ja) * 1999-03-26 2002-11-26 ジェムプリュス 楕円曲線型の公開鍵暗号化アルゴリズムを用いる電子構成部品における対抗措置方法
JP2002540654A (ja) * 1999-02-17 2002-11-26 ジェムプリュス 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457748A (en) 1992-11-30 1995-10-10 Motorola, Inc. Method and apparatus for improved security within encrypted communication devices
DE19514084C1 (de) 1995-04-13 1996-07-11 Siemens Ag Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
JPH09238132A (ja) * 1996-02-29 1997-09-09 Oki Electric Ind Co Ltd 携帯用端末通信システム及びその通信方法
US6125186A (en) * 1996-11-28 2000-09-26 Fujitsu Limited Encryption communication system using an agent and a storage medium for storing that agent
JPH10340048A (ja) 1997-06-06 1998-12-22 Hitachi Ltd ハッシュ値生成方法、データ暗号化方法、データ復号化方法、ハッシュ値生成装置、データ暗号化装置およびデータ復号化装置
JPH10210023A (ja) 1997-01-27 1998-08-07 Oki Electric Ind Co Ltd 認証方法、暗号鍵共有方法および通信システム
US6175850B1 (en) * 1997-02-03 2001-01-16 Nippon Telegraph And Telephone Corporation Scheme for carrying out modular calculations based on redundant binary calculation
US6606385B1 (en) * 1997-08-07 2003-08-12 Hitachi, Ltd. Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
DE19924986B4 (de) * 1998-05-29 2006-03-23 Hitachi, Ltd. Verschlüsselungs-Konversionsvorrichtung, Entschlüsselungs-Konversionsvorrichtung, kryptografisches Kommunikationssystem und elektronische Gebühren-Sammelvorrichtung
US6408075B1 (en) 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069222A (ja) * 1996-08-27 1998-03-10 Dainippon Printing Co Ltd Icカード
JPH10173646A (ja) * 1996-12-13 1998-06-26 Mitsubishi Electric Corp 暗号化補助方法、復号化補助方法、およびそれらの方法を用いた装置
JPH10222065A (ja) * 1997-02-03 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 冪乗剰余演算方法及び装置
JPH11296075A (ja) * 1998-03-14 1999-10-29 Koninkl Philips Electronics Nv メッセ―ジ符号化方法及び暗号解析装置
JP2002517787A (ja) * 1998-05-29 2002-06-18 インフィネオン テクノロジース アクチエンゲゼルシャフト データ処理方法および装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2000151389A (ja) * 1998-11-09 2000-05-30 Nippon Telegr & Teleph Corp <Ntt> 動作解析を防止する論理回路および論理回路装置
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
JP2000187618A (ja) * 1998-12-22 2000-07-04 Casio Comput Co Ltd 情報処理装置
JP2002540654A (ja) * 1999-02-17 2002-11-26 ジェムプリュス 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2002540484A (ja) * 1999-03-26 2002-11-26 ジェムプリュス 楕円曲線型の公開鍵暗号化アルゴリズムを用いる電子構成部品における対抗措置方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004533630A (ja) * 2001-02-08 2004-11-04 エステーミクロエレクトロニクス ソシエテ アノニム 安全化暗号化法と、この暗号化法を使ったコンポーネント
JP2008295108A (ja) * 2001-02-08 2008-12-04 Stmicroelectronics Sa 安全化暗号化方法及び装置
WO2002078248A1 (fr) * 2001-03-22 2002-10-03 Dai Nippon Printing Co., Ltd. Support de memorisation d'information portable et son procede d'identification
US7302572B2 (en) 2001-03-22 2007-11-27 Dai Nippon Printing Co., Ltd Portable information storage medium and its authentication method
US7386130B2 (en) 2001-06-13 2008-06-10 Fujitsu Limited Encryption secured against DPA
JP2011101413A (ja) * 2002-03-07 2011-05-19 Axalto Sa 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP2005519527A (ja) * 2002-03-07 2005-06-30 アクサルト・エス・アー 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP4783289B2 (ja) * 2004-06-28 2011-09-28 パナソニック株式会社 プログラム生成装置、プログラムテスト装置、プログラム実行装置、及び情報処理システム
US8307354B2 (en) 2004-06-28 2012-11-06 Panasonic Corporation Program creation device, program test device, program execution device, information processing system
JPWO2006006199A1 (ja) * 2004-07-07 2008-04-24 三菱電機株式会社 電子素子及びデータ処理方法
JP4589327B2 (ja) * 2004-07-07 2010-12-01 三菱電機株式会社 電子素子及びデータ処理方法
JP2009537025A (ja) * 2006-03-31 2009-10-22 アクサルト・エス・アー サイドチャネル攻撃からの保護
WO2008013083A1 (fr) * 2006-07-25 2008-01-31 Nec Corporation Générateur de nombres pseudo-aléatoires, dispositif de cryptage de flux et programme
WO2008056461A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Circuit de traitement de calcul cryptographique
JP2010124276A (ja) * 2008-11-20 2010-06-03 Sony Corp 暗号処理装置
JP4687775B2 (ja) * 2008-11-20 2011-05-25 ソニー株式会社 暗号処理装置
US8370642B2 (en) 2008-11-20 2013-02-05 Sony Corporation Cryptographic processing apparatus

Also Published As

Publication number Publication date
US6970561B1 (en) 2005-11-29

Similar Documents

Publication Publication Date Title
JP2000305453A (ja) 暗号化装置,復号装置,および暗号化・復号装置
JP3783800B2 (ja) プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US7162032B2 (en) Encryption of programs represented as polynomial mappings and their computations
JP4045777B2 (ja) 情報処理装置
KR20020025630A (ko) 비밀 정보의 처리 장치, 프로그램 또는 시스템
JPH07505270A (ja) 暗号通信の方法およびシステム
Hutter et al. NaCl’s crypto_box in hardware
JP2004212828A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
JP2000115154A (ja) 記憶装置および方法、復号装置および方法、提供媒体、並びに情報記憶媒体
JPH11317734A (ja) デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム
US6501840B1 (en) Cryptographic processing apparatus cryptographic processing method and recording medium for recording a cryptographic processing program
JP2005260614A (ja) 暗号装置
JP5633563B2 (ja) 楕円曲線上のパラメータ化による暗号法
JPH0946332A (ja) Rsa型手順により暗号化された通信文用通信システム
JP2003255831A (ja) 楕円曲線スカラー倍計算方法及び装置
JP2011040932A (ja) 認証付き暗号化装置、認証付き暗号化方法、検証付き復号装置、検証付き復号方法、暗号システム、プログラム、記録媒体
WO2022137447A1 (ja) 秘匿情報処理システムおよび秘匿情報処理方法
JP4692022B2 (ja) 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム
JP2006135969A (ja) 情報処理装置、情報処理方法及びプログラム
JP4502817B2 (ja) 楕円曲線スカラー倍計算方法および装置
JP3773226B2 (ja) 暗号化装置
JP2005309148A (ja) データ変換装置およびデータ変換方法
KR100200531B1 (ko) 암호화 방법 및 시스템