JP4885458B2 - 電力分析攻撃に安全な基本演算装置および方法 - Google Patents

電力分析攻撃に安全な基本演算装置および方法 Download PDF

Info

Publication number
JP4885458B2
JP4885458B2 JP2005018876A JP2005018876A JP4885458B2 JP 4885458 B2 JP4885458 B2 JP 4885458B2 JP 2005018876 A JP2005018876 A JP 2005018876A JP 2005018876 A JP2005018876 A JP 2005018876A JP 4885458 B2 JP4885458 B2 JP 4885458B2
Authority
JP
Japan
Prior art keywords
data
random
logical
logic
xor
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
JP2005018876A
Other languages
English (en)
Other versions
JP2005236977A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2005236977A publication Critical patent/JP2005236977A/ja
Application granted granted Critical
Publication of JP4885458B2 publication Critical patent/JP4885458B2/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
    • 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]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/18Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves
    • A61B18/20Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves using laser
    • A61B18/22Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves using laser the beam being directed along or through a flexible conduit, e.g. an optical fibre; Couplings or hand-pieces therefor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/18Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves
    • A61B18/20Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves using laser
    • A61B18/22Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves using laser the beam being directed along or through a flexible conduit, e.g. an optical fibre; Couplings or hand-pieces therefor
    • A61B2018/225Features of hand-pieces
    • A61B2018/2253Features of hand-pieces characterised by additional functions, e.g. surface cooling or detecting pathological tissue
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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)
  • Health & Medical Sciences (AREA)
  • Surgery (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Optics & Photonics (AREA)
  • Otolaryngology (AREA)
  • Electromagnetism (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Pathology (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Description

本発明は暗号化回路に関するものであり、さらに詳細には電力分析攻撃に安全な基本演算装置および方法に関するものである。
最近暗号アルゴリズムの演算過程で発生される消費電力を測定するか、演算実行時間を測定して秘密キーのような秘密情報を見つける方法が知られた。
暗号アルゴリズムに対する秘密情報の漏出をサイドチャンネル(Side Channel)といい、サイドチャンネルを利用した攻撃方法をサイドチャンネル攻撃(Side Channel Attack)という。サイドチャンネル攻撃は大きく時間攻撃(Timing Attack)、欠陷注入攻撃(Fault Insertion Attack)、および電力分析攻撃(Power Analysis Attack)などに分けることができる。特に、暗号専用演算器(co-processor)がインストールされたスマートカードシステムでサイドチャンネル攻撃に対する研究が活発に進行されている。スマートカードは秘密データに対する演算が多く行われるのでサイドチャンネルの可能性が高い。
電力分析攻撃は暗号アルゴリムズムの演算過程で消費電力を測定し、これを分析して秘密情報を見つける攻撃法である。この方法はPaul Kocherによって提案された方法として、大きく‘Simple Power Analysis(SPA)’と‘Differential Power Analysis(DPA)’に分けることができる。このうちでDPAがSPAより簡単で、強力なのでDPAに対する防御法を研究することが重要である。
DPAに対する防御法として代表的な方法は、入力データとランダムデータを論理演算した後に、暗号アルゴリズムに入力する方法である。これをランダムマスキング(Random masking)という。入力データをランダムマスキングすれば、同一の値が入力されてもアルゴリズム演算過程で消耗される電力が変わるので秘密情報の露出を防止することができる。ランダムマスキング方法には様々であるが、入力データとランダムデータをXOR論理演算する方法が一般的に使われる。入力データをaといい、ランダムデータをrといえば、ランダムマスクデータは
Figure 0004885458
になる。(なお、上記の式で、○の中に+が記入された記号は、以下、明細書において・XOR・と表す場合もある)
DPAに安全であり、同時に入力データに対する所望の演算を実行するためには暗号アルゴリズム演算過程で発生されるデータがランダムマスク形式を維持しなければならない。ここで、ランダムマスク形式のデータとは、入力データまたは入力データに対する演算結果にランダムデータが結合した形態のデータを意味する。
例えば、平文aとキーkをXOR論理演算する暗号アルゴリズムがあると仮定する。DPAを阻むために平文aをそのまま使用せず、ランダムデータrを生成してランダムマスキングした〔数1〕を使用する。ランダムマスクデータ/aとキーkをXOR論理演算すれば、/a・XOR・k=(a・XOR・r) ・XOR・kになる。XOR論理演算は結合法則が成り立つので/a・XOR・k=(a・XOR・k) ・XOR・rになる。これは平文aに対する情報が露出されず、同時に所望のXOR論理演算結果(a・XOR・k)を得ることができる。また、前記XOR論理演算過程がアルゴリズムの最終段階ではなければ、XOR論理演算計算結果である(a・XOR・k)が露出されてはいけず、出力値がランダムマスク形式(a・XOR・k) ・XOR・rを有するので、このような条件も満足している。
しかし、平文aとキーkをAND論理演算する暗号アルゴリズムではXOR論理演算のような結果が得られない。すなわち、上の例で/a∧k=(a・XOR・r) ∧kが成り立つ。しかし、AND論理演算では結合法則が適用されないので、/a∧k=(a∧k) ・XOR・rが成り立たない。
したがって、結合法則が成り立たない論理演算(例えば、AND、ORなど)が含まれているアルゴリズムではランダムマスキング方法を使用することができなくなる問題点がある。
本発明は上述の問題点を解決するために提案されたものであり、本発明の目的は電力分析攻撃に安全な基本演算装置および方法を提供することにある。
本発明の他の目的は結合法則が成り立たない論理演算にもランダムマスキング方法を使うことができる基本演算装置および方法を提供することにある。
本発明のまた他の目的は前記基本演算装置を使用して前記基本演算装置に基づいて作ることができる、より複雑な演算装置を作る方法を提供することにある。
本発明による基本演算装置はランダムマスク装置、ランダムデータ発生装置、および論理演算装置を基本構成とする。本発明は論理演算途中に入力データの露出を防止するためにランダムデータまたはランダムマスクデータまたはランダムマスク形式のデータのみを変数として論理演算を実行し、その結果として前記入力データに対する基本演算結果をランダムマスク形式に出力する。本発明によれば、同一のデータが入力されても消耗される電力が変わるので、電力分析攻撃に対して安全となる。
上述の課題を達成するために本発明による電力分析攻撃に安全な基本演算装置は、ランダムデータを生成するランダムデータ発生装置と、入力データおよび前記ランダムデータを受け入れてランダムマスクデータを生成するランダムマスク装置と、前記ランダムマスクデータまたはランダムデータまたはランダムマスク形式のデータのみを変数として論理演算を実行し、その結果として前記入力データに対する基本演算結果をランダムマスク形式に出力する論理演算装置とを含むことを特徴とする。
この実施形態において、前記論理演算装置は論理否定NOT演算装置であることを特徴とする。前記論理否定NOT演算装置は、前記ランダムマスクデータを受け入れてNOT論理演算を実行する第1論理ゲートと、第1および第2ランダムデータを受け入れてXOR論理演算を実行する第2論理ゲートと、前記第1および第2論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する第3論理ゲートとを含むことを特徴とする。
ここで、前記ランダムマスクデータは前記入力データと前記第1ランダムデータをXOR論理演算したデータであることを特徴とする。
一方、前記ランダムマスクデータと前記第1および第2ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でNOT論理演算を実行することが可能である。
この実施形態において、前記論理演算装置は論理積AND演算装置であることを特徴とする。前記論理積AND演算装置は、第1および第2ランダムマスクデータを受け入れてAND論理演算を実行する第1論理ゲートと、前記第1ランダムマスクデータおよび第2ランダムデータを受け入れてAND論理演算を実行する第2論理ゲートと、前記第2ランダムマスクデータおよび第1ランダムデータを受け入れてAND論理演算を実行する第3論理ゲートと、前記第1および第2ランダムデータを受け入れてAND論理演算を実行する第4論理ゲートと、前記第2および第3論理ゲートの結果を受け入れてXOR論理演算を実行する第5論理ゲートと、前記第4および第5論理ゲートの結果を受け入れてXOR論理演算を実行する第6論理ゲートと、前記第6論理ゲートの結果および第3ランダムデータ受け入れてXOR論理演算を実行する第7論理ゲートと、前記第1および第7論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する第8論理ゲートとを含むことを特徴とする。
ここで、前記第1ランダムマスクデータは第1入力データと前記第1ランダムデータをXOR論理演算したデータであり、前記第2ランダムマスクデータは第2入力データと前記第2ランダムデータをXOR論理演算したデータであることを特徴とする。
一方、前記第1および第2ランダムマスクデータと前記第1乃至第3ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でAND論理演算を実行することが可能である。
この実施形態において、前記論理演算装置は、論理和OR演算装置であることを特徴とする。前記論理和OR演算装置は、第1および第2ランダムマスクデータを受け入れてOR論理演算を実行する第1論理ゲートと、前記第1ランダムマスクデータおよび第2ランダムデータを受け入れてAND論理演算を実行する第2論理ゲートと、前記第2ランダムマスクデータおよび第1ランダムデータを受け入れてAND論理演算を実行する第3論理ゲートと、前記第1および第2ランダムデータを受け入れてOR論理演算を実行する第4論理ゲートと、前記第2および第3論理ゲートの結果を受け入れてXOR論理演算を実行する第5論理ゲートと、前記第4および第5論理ゲートの結果を受け入れてXOR論理演算を実行する第6論理ゲートと、前記第6論理ゲートの結果および第3ランダムデータを受け入れてXOR論理演算を実行する第7論理ゲートと、前記第1および第7論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する第8論理ゲートとを含むことを特徴とする。
ここで、前記第1ランダムマスクデータは第1入力データと前記第1ランダムデータをXOR論理演算したデータであり、前記第2ランダムマスクデータは第2入力データと前記第2ランダムデータをXOR論理演算したデータであることを特徴とする。
一方、前記第1および第2ランダムマスクデータと前記第1乃至第3ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でOR論理演算を実行することが可能である。
この実施形態において、前記論理演算装置は、否定論理積NAND演算装置であることを特徴とする。前記否定論理積NAND演算装置は、論理積AND演算装置と論理否定NOT演算装置で構成されることを特徴とする。
この実施形態において、前記論理演算装置は、否定論理和NOR演算装置であることを特徴とする。前記否定論理和NOR演算装置は、論理和OR演算装置と論理否定NOT演算装置で構成されることを特徴とする。
本発明による電力分析攻撃に安全な基本演算装置の論理演算方法は、a)ランダムデータを生成する段階と、b)入力データおよび前記ランダムデータを受け入れてランダムマスクデータを生成する段階と、c)前記ランダムマスクデータまたはランダムデータまたはランダムマスク形式のデータのみを変数として論理演算を実行し、その結果として前記入力データに対する基本演算結果をランダムマスク形式に出力する段階とを含むことを特徴とする。
この実施形態において、前記 c)段階は論理否定NOT演算段階であることを特徴とする。前記論理否定NOT演算段階は、d1)前記ランダムマスクデータを受け入れてNOT論理演算を実行する段階と、e1)第1および第2ランダムデータを受け入れてXOR論理演算を実行する段階と、f1)前記第d1)および第e1)段階の結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する段階とを含むことを特徴とする。一方、前記ランダムマスクデータと前記第1および第2ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でNOT論理演算を実行することが可能である。
この実施形態において、前記c)段階は論理積AND演算段階であることを特徴とする。前記論理積AND演算段階は、d2)第1および第2ランダムマスクデータを受け入れてAND論理演算を実行する段階と、e2)前記第1ランダムマスクデータおよび第2ランダムデータを受け入れてAND論理演算を実行する段階と、f2)前記第2ランダムマスクデータおよび第1ランダムデータを受け入れてAND論理演算を実行する段階と、g2)前記第1および第2ランダムデータを受け入れてAND論理演算を実行する段階と、h2)前記第2および第3論理ゲートの結果を受け入れてXOR論理演算を実行する段階と、i2)前記第4および第5論理ゲートの結果を受け入れてXOR論理演算を実行する段階と、j2)前記第6論理ゲートの結果および第3ランダムデータを受け入れてXOR論理演算を実行する段階と、k2)前記第1および第7論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する段階とを含むことを特徴とする。一方、前記第1および第2ランダムマスクデータと前記第1乃至第3ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でAND論理演算を実行することが可能である。
この実施形態において、前記c)段階は論理和OR演算段階であることを特徴とする。 前記論理和OR演算段階は、d3)第1および第2ランダムマスクデータを受け入れてOR論理演算を実行する段階と、e3)前記第1ランダムマスクデータおよび第2ランダムデータを受け入れてAND論理演算を実行する段階と、f3)前記第2ランダムマスクデータおよび第1ランダムデータを受け入れてAND論理演算を実行する段階と、g3)前記第1および第2ランダムデータを受け入れてOR論理演算を実行する段階と、h3)前記第2および第3論理ゲートの結果を受け入れてXOR論理演算を実行する段階と、i3)前記第4および第5論理ゲートの結果を受け入れてXOR論理演算を実行する段階と、j3)前記第6論理ゲートの結果および第3ランダムデータを受け入れてXOR論理演算を実行する段階と、k3)前記第1および第7論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する段階とを含むことを特徴とする。一方、前記第1および第2ランダムマスクデータと前記第1乃至第3ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でOR論理演算を実行することが可能である。
この実施形態において、前記c)段階否定論理積NAND演算段階であることを特徴とする。前否定論理積NAND演算段階は、論理積AND演算段階と論理否定NOT演算段階で構成されることを特徴とする。
この実施形態において、前記c)段階は否定論理和NOR演算段階であることを特徴とする。前記否定論理和NOR演算段階は、論理和OR演算段階と論理否定NOT演算段階で構成されることを特徴とする。
本発明による基本演算装置および方法は論理演算途中に秘密情報が露出されなくて、電力分析攻撃に安全である。また本発明による基本演算装置および方法は結合法則が成り立たないAND、ORなどの論理演算に使用されるとき、所望の演算をしながら、同時にランダムマスク形態を維持する出力データを得ることができる。したがって、基本演算(NOT、AND、ORなど)を基盤とするより複雑なアルゴリズムに応用することができる。
以下、本発明が属する技術分野で通常の知識を持つ者が本発明の技術的思想を容易に実施することができるように詳細に説明するために、本発明の最も望ましい実施形態を添付の図面を参照して説明する。
図1は本発明による基本演算装置を示すブロック図である。図1を参照すれば、前記基本演算装置はランダムマスク装置100、ランダムデータ発生装置200、および論理演算装置300を含む。前記基本演算装置は論理演算途中に入力データに対する情報が露出されないようにしながら、入力データに対する基本演算を実行してその結果をランダムマスク形式に出力する。
前記ランダムマスク装置100は入力データaiおよびランダムデータriを受け入れてランダムマスクデータ(/a1、/a2、... 、/am)を生成する。ここで、前記 i=1〜m であり、mは自然数である。ランダムマスクデータを作る方法は様々であるが、入力データとランダムデータをXOR論理演算する方法が代表的である。すなわち、/a1=a1・XOR・r1、/a2=a2・XOR・r2、... 、/am=am・XOR・rm である。
前記ランダムデータ発生装置200はランダムデータ(r1、r2、... 、rn)を発生する。
前記論理演算装置300は前記ランダムマスクデータおよびランダムデータを受け入れて論理演算を実行する。前記論理演算装置300は論理演算を実行する論理ゲート(例えば、NOT、AND、OR論理ゲートなど)で構成される。前記論理演算装置300は論理演算途中に秘密情報の漏出を防止するために入力データaiだけで計算、ないし表現されてはいけない。前記論理演算装置300は前記ランダムマスクデータまたはランダムデータまたはランダムマスク形式のデータのみを変数として論理演算を実行し、その結果として前記入力データに対する基本演算結果をランダムマスク形式に出力する。
図2は図1に示した論理演算装置の実施形態として論理否定NOT演算装置を示すブロック図である。前記論理否定NOT演算装置310は一つのランダムマスクデータ/a1と二つのランダムデータr1、r2を受け入れる。そして入力データa1のNOT論理演算データ〜a1をランダムマスク形式〜a1・XOR・r2に出力する。
図2を参照すれば、前記論理否定NOT演算装置310は一つのNOT論理ゲート311と二つのXOR論理ゲート312、313で構成される。
前記NOT論理ゲート311はランダムマスクデータ/a1を受け入れてNOT論理演算を実行して第1中間データ〜/a1を発生する。前記第1XOR論理ゲート312は第1および第2ランダムデータr1、r2を受け入れてXOR論理演算を実行して第2中間データr1・XOR・r2を発生する。前記第2XOR論理ゲート313は前記第1および第2中間データを受け入れてXOR論理演算を実行して出力データ〜/a1・XOR・(r1・XOR・r2)を発生する。
Figure 0004885458
ここで、数2は次の真理表(表1)によって証明される。
Figure 0004885458
表1を参照すれば、(〜/a1・XOR・r1)=〜a1になって、前記NOT演算装置310の出力データは図2に示したように(〜a1・XOR・r2)になる。
前記NOT演算装置310は論理演算途中に入力データa1のみで計算、ないし表現されてはいけない。前記NOT演算装置310の演算順序は電力分析攻撃を阻むのに重要である。もし、図2で、〜/a1・XOR・r1・XOR・r2のように〜/a1・XOR・r1を先に計算する場合には〜/a1・XOR・r1=〜a1になって、a1に対する情報が露出されることができるためである。
前記NOT演算装置310はランダムマスクデータ/a1およびランダムデータr1、r2のみを変数として論理演算を実行し、その結果として前記入力データa1に対するNOT論理演算結果をランダムマスク形式に出力する。
一方、前記ランダムマスクデータと前記第1および第2ランダムデータが各々nビット(nは自然数)のデータの場合には各々同一のビット桁数の間でNOT論理演算を実行する。例えば、4ビットのランダムマスクデータ/A=(/a3、a2、a1、a0)、4ビットのランダムデータR1=(r3、r2、r1、r0)、R2=(s3、s2、s1、s0)であるとき、NOT論理演算を実行した出力データは次のとおりである。
Figure 0004885458
図3は図1に示した論理演算装置の実施形態として論理積AND演算装置を示すブロック図である。前記論理積AND演算装置320は二つのランダムマスクデータ/a1、/a2と3個のランダムデータr1、r2、r3を受け入れる。そして、入力データa1、a2のAND論理演算結果a1∧a2をランダムマスク形式(a1∧a2) ・XOR・r3に出力する。
図3を参照すれば、前記論理積AND演算装置320は4個のAND論理ゲート321〜324と4個のXOR論理ゲート325〜328で構成される。
前記第1AND論理ゲート321はランダムマスクデータ/a1、/a2を受け入れてAND論理演算を実行して第1中間データ/a1∧/a2を発生する。前記第2AND論理ゲート322は第1ランダムマスクデータ/a1および第2ランダムデータr2を受け入れてAND論理演算を実行し、第2中間データ/a1∧r2を発生する。前記第3AND論理ゲート323は第2ランダムマスクデータ/a2および第1ランダムデータr1を受け入れてAND論理演算を実行し、第3中間データ/a2∧r1を発生する。前記第 4AND論理ゲート324は第1および第2ランダムデータr1、r2を受け入れてAND論理演算を実行し、第4中間データr1∧r2を発生する。
前記第1XOR論理ゲート325は第2中間データ/a1∧r2および第3中間データ/a2∧r1を受け入れてXOR論理演算を実行して第5中間データ(/a1∧r2) ・XOR・(/a2∧r1)を発生する。前記第2XOR論理ゲート326は第4中間データr1∧r2および第5中間データ(/a1∧r2) ・XOR・ (/a2∧r1)を受け入れてXOR論理演算を実行して第6中間データ(/a1∧r2) ・XOR・ (/a2∧r1) ・XOR・ (r1∧r2)を発生する。前記第3XOR論理ゲート327は第6中間データ(/a1∧r2) ・XOR・(/a2∧r1) ・XOR・(r1∧r2)および第3ランダムデータr3を受け入れてXOR論理演算を実行して第7中間データ(/a1∧r2) ・XOR・ (/a2∧r1) ・XOR・ (r1∧r2) ・XOR・ r3)を発生する。前記第4XOR論理ゲート328は第1中間データ/a1∧/a2および第7中間データ(/a1∧r2) ・XOR・ (/a2∧r1) ・XOR・ (r1∧r2) ・XOR・ r3)を受け入れてXOR論理演算を実行して出力データ(/a1∧/a2) ・XOR・ {(/a1∧r2) ・XOR・ (/a2∧r1) ・XOR・ (r1∧r2) ・XOR・r3}を発生する。
Figure 0004885458
ここで、数4は次の式によって証明される。
Figure 0004885458
同一の値をXOR論理演算すれば、消去されるので、式i)、ii)、iii)を数4に代入すれば、出力データは(a1∧a2) ・XOR・r3になる。
前記AND演算装置320は論理演算途中に入力データa1、a2のみで計算、ないし表現されない。前記AND演算装置320はランダムマスクデータ/a1、/a2およびランダムデータr1、r2、r3のみを変数として論理演算を実行し、その結果として前記入力データa1、a2に対するAND論理演算結果をランダムマスク形式に出力する。
一方、前記ランダムマスクデータおよびランダムデータが各々nビット(nは自然数)のデータである場合には各々同一のビット桁数の間でAND論理演算を実行する。
図4は図1に示した論理演算装置の実施形態として論理和OR演算装置を示すブロック図である。前記論理和OR演算装置330は二つのランダムマスクデータ/a1、/a2と3個のランダムデータr1、r2、r3を受け入れる。そして入力データa1、a2のOR論理演算結果a1∨a2をランダムマスク形式(a1∨a2) ・XOR・r3に出力する。
図4を参照すれば、前記論理和OR演算装置330は二つのOR論理ゲート331、334、二つのAND論理ゲート332、333、および4個のXOR論理ゲート335〜338で構成される。前記論理和OR演算装置330の動作原理は前記論理積AND演算装置320と同一であるので省略する。
前記論理和OR演算装置330は出力データ(/a1∨/a2) ・XOR・ {(/a1∧r2) ・XOR・ (/a2∧r1) ・XOR・ (r1∨r2) ・XOR・r3}を発生する。
Figure 0004885458
前記OR演算装置330は論理演算途中に入力データa1、a2のみで計算、ないし表現されない。前記OR演算装置330はランダムマスクデータ/a1、/a2およびランダムデータr1、r2、r3のみを変数として論理演算を実行し、その結果として前記入力データa1、a2に対するOR論理演算結果a1∨a2をランダムマスク形式(a1∨a2) ・XOR・r3に出力する。
一方、前記ランダムマスクデータおよびランダムデータが各々nビット(nは自然数)のデータである場合には各々同一のビット桁数の間でOR論理演算を実行する。
図5は図1に示した論理演算装置の実施形態として否定論理積NAND演算装置を示すブロック図である。前記否定論理積NAND演算装置340は二つのランダムマスクデータ/a1、/a2と 4個のランダムデータr1、r2、r3、r4を受け入れる。そして、入力データa1、a2のNAND論理演算結果〜(a1∧a2)をランダムマスク形式(〜(a1∧a2) ・XOR・r4)に出力する。
図5を参照すれば、前記NAND演算装置340はAND演算装置341とNOT演算装置342で構成される。
前記AND演算装置341は図3に示したAND演算装置320と同一である。前記AND演算装置341は二つのランダムマスクデータ/a1、/a2と3個のランダムデータr1、r2、r3を受け入れて第1中間データ(a1∧a2) ・XOR・r3を発生する。
前記NOT演算装置342は図2に示したNOT演算装置310と同一である。前記第1中間データ(a1∧a2) ・XOR・r3から(a1∧a2)=a3に置換すれば、前記第1中間データはa3・XOR・r3になる。前記第1中間データはランダムマスクデータ/a3=a3・XOR・r3になる。前記NOT演算装置342はランダムマスクデータ/a3と二つのランダムデータr3、r4を受け入れて出力データ〜a3・XOR・r4を発生する。
ここで、a3=a1∧a2であるので、前記NAND演算装置342の出力データは 〜(a1∧a2) ・XOR・r4である。
前記NAND演算装置340は論理演算途中に入力データa1、a2のみで計算、ないし表現されない。前記NAND演算装置340はランダムマスクデータ/a1、/a2 およびランダムデータr1、r2、r3、r4のみを変数として論理演算を実行し、その結果として前記入力データa1、a2に対するNAND論理演算結果〜(a1∧a2)をランダムマスク形式(〜(a1∧a2)・XOR・r4)に出力する。
一方、前記ランダムマスクデータおよびランダムデータが各々nビット(nは自然数)のデータの場合には各々同一のビット桁数の間でNAND論理演算を実行する。
図6は図1に示した論理演算装置の実施形態として否定論理和NOR演算装置を示すブロック図である。前記NOR演算装置350は二つのランダムマスクデータ/a1、/a2と4個のランダムデータr1、r2、r3、r4を受け入れる。
図6を参照すれば、前記NOR演算装置350はOR演算装置351とNOT演算装置352で構成される。前記NOR演算装置350の動作原理は図5で説明したNAND演算装置340と同一であるので省略する。
前記NOR演算装置350は論理演算途中に入力データa1、a2のみで計算、ないし表現されない。前記NOR演算装置350はランダムマスクデータ/a1、/a2およびランダムデータr1、r2、r3、r4のみを変数として論理演算を実行し、その結果として前記入力データa1、a2に対するNOR論理演算結果〜(a1∨a2)をランダムマスク形式〜(a1∨a2)・XOR・r4)に出力する。
前記ランダムマスクデータおよびランダムデータが各々nビット(nは自然数)のデータである場合には各々同一のビット桁数の間でNOR論理演算を実行する。
本発明では実施形態としてNOT、AND、OR、NAND、NOR基本演算装置に対してだけ説明した。しかし、そのような発明の技術的思想は前記基本演算装置を基づいて作ることができる装置(例えば、全加算器(Full Adder)、半加算器(Half Adder)、Ripple Carry Adder、コンパレーター (Comparator)、一般的なALU(Arithmetic Logic Unit) などにも適用されることができることは本発明の技術分野で通常の知識を持つ者に自明の事実である。
また、本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲から逸脱しない限度内で様々な変形が可能であることもちろんである。したがって、本発明の範囲は上述の実施形態に限って決められてはならず、上述の特許請求の範囲だけではなく、この発明の特許請求の範囲と均等なものなどによって決められなければならない。
本発明による基本演算装置を示すブロック図である。 図1に示した論理演算装置の実施形態としてNOT演算装置を示すブロック図である。 図1に示した論理演算装置の実施形態としてAND演算装置を示すブロック図である。 図1に示した論理演算装置の実施形態としてOR演算装置を示すブロック図である。 図1に示した論理演算装置の実施形態としてNAND演算装置を示すブロック図である。 図1に示した論理演算装置の実施形態としてNOR演算装置を示すブロック図である。
符号の説明
100 ランダムマスク装置
200 ランダムデータ発生装置
300 論理演算装置
310 NOT演算装置
320 AND演算装置
330 OR演算装置
340 NAND演算装置
350 NOR演算装置

Claims (7)

  1. 電力分析攻撃に安全な基本演算装置において、
    ランダムデータを生成するランダムデータ発生部と、
    入力データおよび前記ランダムデータを受け入れてランダムマスクデータを生成するランダムマスク部と、
    前記ランダムマスクデータまたはランダムデータのみを変数として論理演算を実行し、その結果として、前記入力データに対する基本演算結果をランダムマスク形式に出力する論理演算部を含み、
    前記論理演算部は、論理否定(NOT)演算装置であり、
    前記論理否定(NOT)演算装置は、前記入力データに対する論理否定(NOT)演算結果をランダムマスク形式に出力する処理を実行し、
    前記論理否定(NOT)演算装置は、
    前記ランダムマスクデータを受け入れてNOT論理演算を実行する第1論理ゲートと、
    第1および第2ランダムデータを受け入れてXOR論理演算を実行する第2論理ゲートと、
    前記第1および第2論理ゲートの結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する第3論理ゲートとを含み、
    前記ランダムマスク形式のデータは、前記入力データまたは前記入力データに対する演算結果に前記ランダムデータが結合した形態のデータであり、
    基本演算とは、NOT、AND、OR、NAND、NOR基本演算であって前記基本演算結果とは前記基本演算の結果を意味し、
    前記ランダムデータ発生部は、前記第1および第2のランダムデータを発生させる
    ことを特徴とする基本演算装置。
  2. 前記ランダムマスクデータは、前記入力データと前記第1ランダムデータをXOR論理演算したデータである
    ことを特徴とする請求項1に記載の基本演算装置。
  3. 前記ランダムマスクデータと前記第1および第2ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でNOT論理演算を実行する
    ことを特徴とする請求項2に記載の基本演算装置。
  4. 電力分析攻撃に安全な論理演算方法を請求項1乃至請求項3のいずれか一項に記載の基本演算装置に順次実行させる方法であって、
    a)前記ランダムデータ発生部がランダムデータを生成する段階と、
    b)前記ランダムマスク部が入力データおよび前記ランダムデータを受け入れてランダムマスクデータを生成する段階と、
    c)前記論理演算部が前記ランダムマスクデータまたはランダムデータのみを変数として論理演算を実行し、その結果として前記入力データに対する基本演算結果をランダムマスク形式に出力する段階とを、前記基本演算装置に順次実行させ、
    前記ランダムマスク形式のデータは、前記入力データまたは前記入力データに対する演算結果に前記ランダムデータが結合した形態のデータであり、
    基本演算とは、NOT、AND、OR、NAND、NOR基本演算であって前記基本演算結果とは前記基本演算の結果を意味する
    ことを特徴とする基本論理演算方法。
  5. 前記c)段階は、論理否定(NOT)演算段階であり、
    前記論理否定(NOT)演算段階は、前記入力データに対する論理否定(NOT)演算結果をランダムマスク形式に出力する処理を実行する
    ことを特徴とする請求項4に記載の基本論理演算方法。
  6. 前記論理否定(NOT)演算段階は、
    d1)前記ランダムマスクデータを受け入れてNOT論理演算を実行する段階と、
    e1)第1および第2ランダムデータを受け入れてXOR論理演算を実行する段階と、
    f1)前記第d1)および第e1)段階の結果を受け入れてXOR論理演算を実行し、その結果として出力データを発生する段階とを含み、
    前記ランダムデータ発生部は、前記第1および第2のランダムデータを発生させる
    ことを特徴とする請求項5に記載の基本論理演算方法。
  7. 前記ランダムマスクデータと前記第1および第2ランダムデータは、各々nビット(nは自然数)の桁数で構成され、各々相応するビットの桁の間でNOT論理演算を実行する
    ことを特徴とする請求項6に記載の基本論理演算方法。
JP2005018876A 2004-02-19 2005-01-26 電力分析攻撃に安全な基本演算装置および方法 Expired - Fee Related JP4885458B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040010975A KR101061906B1 (ko) 2004-02-19 2004-02-19 전력분석공격에 안전한 기본 연산 장치 및 방법
KR2004-010975 2004-02-19

Publications (2)

Publication Number Publication Date
JP2005236977A JP2005236977A (ja) 2005-09-02
JP4885458B2 true JP4885458B2 (ja) 2012-02-29

Family

ID=34858743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005018876A Expired - Fee Related JP4885458B2 (ja) 2004-02-19 2005-01-26 電力分析攻撃に安全な基本演算装置および方法

Country Status (4)

Country Link
US (1) US7292060B2 (ja)
JP (1) JP4885458B2 (ja)
KR (1) KR101061906B1 (ja)
DE (1) DE102005009170B4 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564599B1 (ko) * 2003-12-24 2006-03-29 삼성전자주식회사 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
JP4589327B2 (ja) * 2004-07-07 2010-12-01 三菱電機株式会社 電子素子及びデータ処理方法
GB2443355B (en) * 2005-01-27 2008-08-06 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
KR100725169B1 (ko) * 2005-01-27 2007-06-04 삼성전자주식회사 전력 분석 공격에 안전한 논리 연산 장치 및 방법
GB2443356B (en) * 2005-01-27 2008-08-06 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
GB2443357B (en) * 2005-01-27 2008-10-08 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
GB2443358A (en) * 2005-01-27 2008-04-30 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
GB2443359B (en) * 2005-01-27 2008-10-01 Samsung Electronics Co Ltd Cryptographic logic circuits and method of performing logic operations
JP4986206B2 (ja) * 2006-02-22 2012-07-25 株式会社日立製作所 暗号処理方法及び暗号処理装置
JP4962165B2 (ja) * 2007-06-22 2012-06-27 大日本印刷株式会社 暗号処理装置,暗号処理プログラム及び暗号処理方法
US8091139B2 (en) * 2007-11-01 2012-01-03 Discretix Technologies Ltd. System and method for masking arbitrary Boolean functions
JP4837058B2 (ja) * 2009-03-10 2011-12-14 株式会社東芝 演算装置及びプログラム
JP5951260B2 (ja) * 2012-01-10 2016-07-13 Kddi株式会社 論理演算装置、論理演算方法、およびプログラム
GB201611698D0 (en) * 2016-07-05 2016-08-17 Eitc Holdings Ltd Blockchain-implemented control method and system
CN112422360A (zh) * 2020-10-14 2021-02-26 锐捷网络股份有限公司 一种报文采样方法、装置、设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018093A (en) * 1990-01-02 1991-05-21 Ibm Corporation High performance self-checking adder having small circuit area
JPH06242928A (ja) * 1993-02-22 1994-09-02 Nec Corp 加算器およびこれを用いた乗算回路
JP2762941B2 (ja) * 1994-12-06 1998-06-11 日本電気株式会社 背景雑音発生装置
GB2325123A (en) * 1997-05-08 1998-11-11 Ibm Data encryption/decryption using random numbers
IL139935A (en) 1998-06-03 2005-06-19 Cryptography Res Inc Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
US6851052B1 (en) * 1998-12-10 2005-02-01 Telcordia Technologies, Inc. Method and device for generating approximate message authentication codes
US7092523B2 (en) 1999-01-11 2006-08-15 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors
US6298135B1 (en) * 1999-04-29 2001-10-02 Motorola, Inc. Method of preventing power analysis attacks on microelectronic assemblies
US6419159B1 (en) 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
CA2388971A1 (en) * 1999-10-25 2001-05-03 Cypherix (Pty) Limited Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
JP2002141897A (ja) * 2000-10-31 2002-05-17 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー機能を有する暗号回路
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
DE10201449C1 (de) * 2002-01-16 2003-08-14 Infineon Technologies Ag Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
US7401208B2 (en) * 2003-04-25 2008-07-15 International Business Machines Corporation Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor

Also Published As

Publication number Publication date
DE102005009170B4 (de) 2011-01-20
JP2005236977A (ja) 2005-09-02
KR20050082513A (ko) 2005-08-24
US20050184760A1 (en) 2005-08-25
KR101061906B1 (ko) 2011-09-02
DE102005009170A1 (de) 2005-09-15
US7292060B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
JP4885458B2 (ja) 電力分析攻撃に安全な基本演算装置および方法
Papagiannopoulos et al. Mind the gap: Towards secure 1st-order masking in software
Groß et al. Domain-oriented masking: Compact masked hardware implementations with arbitrary protection order
US8185749B2 (en) System and method for revising boolean and arithmetic operations
Coron et al. Conversion from arithmetic to boolean masking with logarithmic complexity
Coron et al. On boolean and arithmetic masking against differential power analysis
KR100725169B1 (ko) 전력 분석 공격에 안전한 논리 연산 장치 및 방법
US20050036618A1 (en) Calculating unit and method for performing an arithmetic operation with encrypted operands
JP5892887B2 (ja) サイドチャネル攻撃に対抗する方法
US11700111B2 (en) Platform neutral data encryption standard (DES) cryptographic operation
Grégoire et al. Vectorizing higher-order masking
EP3776305A1 (en) Using cryptographic blinding for efficient use of montgomery multiplication
El Ouahma et al. Symbolic approach for side-channel resistance analysis of masked assembly codes
Bache et al. SPARX—A side-channel protected processor for ARX-based cryptography
Choi Lightweight ECC coprocessor with resistance against power analysis attacks over NIST prime fields
Genelle et al. Secure multiplicative masking of power functions
US11775691B2 (en) Data processing device and method for processing secret data
Groß Domain-Oriented Masking: Generically Masked Hardware Implementations
Fournier et al. Cache based power analysis attacks on AES
JP2005202757A (ja) 擬似乱数生成装置及びプログラム
Tran et al. Countering Side-Channel Attacks With a Dynamic S-Box Based on Affine Transformations and Gold Sequences
CN111931176A (zh) 防御侧信道攻击的方法、装置及可读存储介质
US11755321B2 (en) Circuit and method for the rotation-invariant execution of one or more operations with at least one operand
Zhou et al. Domain-Oriented Masking Revisited: More Efficient AES Implementations with Arbitrary Protection Order
US20250175328A1 (en) Method and apparatus for storing/recovering a plurality of secret shares

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111208

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4885458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees