JP4783104B2 - 暗号化/復号装置 - Google Patents

暗号化/復号装置 Download PDF

Info

Publication number
JP4783104B2
JP4783104B2 JP2005285596A JP2005285596A JP4783104B2 JP 4783104 B2 JP4783104 B2 JP 4783104B2 JP 2005285596 A JP2005285596 A JP 2005285596A JP 2005285596 A JP2005285596 A JP 2005285596A JP 4783104 B2 JP4783104 B2 JP 4783104B2
Authority
JP
Japan
Prior art keywords
data
random number
circuit
encryption
exclusive
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
JP2005285596A
Other languages
English (en)
Other versions
JP2007096973A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005285596A priority Critical patent/JP4783104B2/ja
Priority to US11/511,401 priority patent/US8023643B2/en
Publication of JP2007096973A publication Critical patent/JP2007096973A/ja
Application granted granted Critical
Publication of JP4783104B2 publication Critical patent/JP4783104B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、同じ演算処理を繰り返し行う暗号化/復号装置であって、特に各演算処理の結果を一時的にデータレジスタ回路に格納する暗号化/復号装置に関する。
一般に、FIPS46−3(FIPS:Federal Information Processing Standards)で定められるDES方式などのブロック暗号化/復号方式は、所定の演算処理を所定回数繰り返すことによって暗号化/復号する。もう少し詳しく述べると、ブロック暗号化/復号方式の各回の演算処理を行った後の演算結果を、記憶手段(Ex.レジスタ)にいったん格納し、この演算結果を用いて、次回の演算処理を行って、その演算結果を記憶手段に上書き、つまり、演算結果を更新処理しながら、暗号化/復号が進む。
ここで記憶手段のデータの変化に着目すると、データの変化量は、時間軸上連続する2つの演算結果の差分としてあらわされる。この差分は、連続する2つの演算結果を排他的論理和した結果となる。この記憶手段のデータの変化量に注目し、暗号化/復号装置の、消費電力とデータの変化の遷移の解析用データを用いて、暗号モジュール内の秘密情報を推定する方法として、電力差分解析(DPA:Differential Power Analysys)が良く知られる。
DPAは、暗号機能を搭載した回路や暗号演算を行うプロセッサの消費電力の変動と、演算中の秘密データとの間に関係があるとき、秘密情報を導出することができるというものである。
DPAは、破壊行為を伴わない攻撃であるため、外見を見ただけでは攻撃によって鍵情報が取り出されたかどうか判断できず、不正利用による被害が拡大する恐れがある。このため、暗号演算回路において、DPAへの対策が必須となってきている。
DPAに対する対策法として、演算中のデータを乱数などのデータでマスクし、消費電力と演算中のデータとの相関を、外部の攻撃者にわからないようにする方法(データマスク法)が知られている(例えば、[非特許文献1]参照)。データマスク法は、マスク用のデータとして乱数を用い、演算データとマスクデータを排他的論理和演算することで、演算途中のデータをマスクする。演算途中のデータが乱数によりマスクされることで、攻撃者が演算途中のデータを正しく推定できないようにする。このようにして、暗号モジュール内の秘密情報を導出できないようにする対策技術である。
"An implementation of DES and AES, secure against some attacks," Proceedings of CHES 2001, LNCS 2162, pp.309−318, 2001
データマスク法によるDPA対策を実施した場合、乱数データを常に必要な量を得ることができればよいが、ICカードのように消費電力と回路規模の制約が厳しい場合には、乱数生成回路の出力データ幅を小さくする必要が生じる。
このような場合には、マスクに使う乱数データを乱数生成回路から得るためには、数クロック掛かる。乱数生成回路の出力データ幅と、マスク用データのデータ幅との関係によっては、数十クロック待たなければならない。つまり、暗号化/復号の途中で毎回の演算処理毎に、乱数の生成を待つ時間が生じてしまう。
そこで、1回の暗号化/復号時には、同じ乱数を用いて演算回路内のデータを排他的論理輪を用いてマスクを行うことが考えられる。以降、マスクするということは、マスク用データと、演算回路内のデータを排他的論理輪で演算することをさす。
ここで、暗号演算結果が書き込まれる記憶手段に、連続する2つのマスクされたデータ(MaskedDataAとMaskedDataB)が書き込まれたときの記憶手段のデータの変化量に注目する。最初に記憶手段に書き込まれるMaskedDataAは、暗号演算途中のデータ(DataA)がマスク用データ(“RN”で示す)によってマスクされたものであり、次に書き込まれるMaskedDataBは暗号演算途中のデータ(DataB)をマスク用データでマスクを行ったものとする。
記憶手段のデータの変化量は、書き込まれたデータを排他的論理和(“^”で示す)したときと同じであることから、変化量は次式で表される。
記憶手段のデータの変化量=MaskedDataA^MaskedDataB
=(DataA^RN)^(DataB^RN)
=DataA^DataB^RN^RN
=DataA^DataB
このように、記憶手段のデータの変化量に着目すると、データをマスクしているマスク用データの部分が消去され、2つのマスクのかかっていないデータの排他的論理和の結果だけが残る。これはまさに、記憶手段の連続する2つのデータの変化量に相当する。したがって、攻撃者は、記憶手段の変化量を正しく推定することが可能となっており、その結果、秘密情報を導出されることになり、安全性が保障できない(なお、2つの連続するデータの変化量に着目した解析モデルを、状態遷移モデルと呼ぶ)。
本発明は、上記課題を考慮したものであり、DPAによる攻撃に対する対策による回路の増加を抑えつつ、安全性が保障できる暗号化/復号装置を提供することを目的とする。
上記課題を解決するため、本発明の暗号化/復号装置は、同一の演算処理を繰り返し行うことで、外部から入力される平文データ/暗号文データを暗号化/復号するものであって、乱数を生成する乱数供給部と、平文データ/暗号文データと乱数供給部の乱数とを排他的論理和演算する第1排他的論理和回路と、演算処理を行うものであって、初回は、第1排他的論理和回路で排他的論理和されたデータを演算処理する演算回路と、複数のデータ保持部を備えており、複数のデータ保持部の一つを指定する選択信号を入力する毎に、演算回路からのデータを、選択信号に基づき選択された一のデータ保持部に書き込み保持するデータレジスタ回路と、最終回の演算回路での演算処理後にデータレジスタ回路の一のデータ保持部に保持されたデータと、乱数供給部の乱数とを排他的論理和演算する第2排他的論理和回路とを備え、演算回路は、2回目以降は、データレジスタ回路の一のデータ保持部に保持されたデータを演算し、第2排他的論理和演算の結果である暗号化データ/平文データを出力するようにした。
本発明によれば、回路規模の制約などのために、常に新しい乱数データを得ることができない場合、少ない乱数データを用いた場合においても状態遷移モデルによる解析に対して耐性のある回路を構成することができるようになる。
以下、本発明の実施の形態を詳細に説明する。
図1は、本実施の形態の暗号化/復号装置のブロック構成を示したものである。なお、暗号化/復号装置10は、平文データを暗号化し暗号文データを生成する暗号化装置、暗号文データを復号し、平文データを生成する復号装置、あるいは、その何れの処理も実現できる暗号化/復号装置の、総称として称しており、何れの装置であっても良い。また、暗号化/復号装置10は、同じ演算処理を複数回繰り返し実行するような暗号化/復号方式を対象とする。
暗号化/復号装置10は、所定長の平文/暗号文データと所定長の鍵データとを入力し、所定長の暗号文/復号文データを出力する。なお、平文/暗号文データのデータ長、および鍵データのデータ長のそれぞれは、暗号化/復号装置10の暗号化/復号方式によって定まる。
暗号化/復号装置10は、演算回路11と、乱数供給部12と、排他的論理和回路13、15と、レジスタ回路14と、選択信号生成部16とを備える。
演算回路11は、入力データに、暗号化/復号方式に依存した所定の変換を施して、その施されたデータを出力データとして出力するものである。演算回路11は、暗号化/復号開始時には、外部から入力される平文/暗号文データを入力データとし、2回目以降は、演算回路11の出力データを入力データとする。また、演算回路11の変換は、入力される鍵データに基づいて作用される。
乱数供給部12は、一回の暗号化/復号の処理期間(暗号化/復号装置10への一回の平文/暗号文データ入力に対し一回の暗号文/平文データ出力するまでの期間)中には同じ乱数を常時供給するものである。
乱数供給部12の一例を、図2に示す。乱数生成部21は、乱数を生成するものである。乱数生成部21が1回あたりに生成する乱数の長さ(乱数のデータ長)は、暗号化/復号装置10の平文/暗号文データのデータ長より相当小さいものとする。例えば、1回あたり8ビットの乱数を生成し、平文/暗号文データのデータ長と同じ長さになるまで乱数の生成を繰り返し行う。このような一回に生成する乱数のデータ長が短い乱数生成部21は、実装規模を小さく実現できる。
乱数保持部22は、暗号化/復号装置10の平文/暗号文データのデータ長と同じ長さのデータを保持できるものであり、乱数生成部21で生成された各乱数を直列的に、該データ長になるまで連結・保持する。乱数保持部22は、連結・保持して該データ長となった乱数を、保持しつつ常時出力する。
以上のような乱数供給部12は、供給するために乱数を用意するのに時間がかかるが、小型化が実現でき、例えば、ICカードなどの利用には有用である。
図1に戻り、排他的論理和回路13は、暗号化/復号装置10の入力データと乱数供給部12の乱数とを各ビットごとに排他的論理和するものである。この排他的論理和回路13は、暗号化/復号装置10の入力データを隠蔽(マスク)するものであり、以後、この排他的論理和回路13の出力をマスクデータと呼ぶこととする。
レジスタ回路14は、演算回路11からのマスクデータを一時的に保持し、次回の演算回路11での演算処理のための入力データとして供給するためのものである。また、選択信号生成部16は、レジスタ回路14へ選択信号を供給する。レジスタ回路14、及び選択信号生成部16の詳細については後述する。
排他的論理和回路15は、レジスタ回路14からのマスクデータと、乱数供給部12の乱数とをビットごとに排他的論理和するものである。排他的論理和は、あるデータに対し、同じ排他的論理和を2回行うことによって、元のデータに戻るといった性質を有している。つまり、暗号化/復号装置10の入力データを、乱数供給部12からの乱数で、排他的論理和回路13を経てマスクし、マスクしたデータを演算回路11に入力する。演算回路11の結果が排他的論理和回路15を経ることにより、乱数供給部12からの同一の乱数を用いて排他的論理輪和を行うことで、マスクされていない元の出力データに戻る。従って、本構成により、排他的論理和回路13から排他的論理和回路15までの間はマスクされたデータが存在する。ここで、乱数供給部12では、図示していない演算回路11から演算終了信号を受けたときにのみ、排他的論理和回路15に乱数を供給する。
なお、図1に示されていないが、演算回路11、レジスタ回路14には、処理の同期を取るためのクロック信号が供給されている。
次に、レジスタ回路14の内部の機能ブロックを図3に示し、説明する。
レジスタ回路14は、入力タイミング制御部31と、データ保持部33−1と、データ保持部33−2と、データ選択部34とを備える。また、データ保持部33−1と、データ保持部33−2と、データ選択部34は、選択信号が供給される選択信号生成部16と接続され、更に、入力タイミング制御部31はクロック信号が供給される。
レジスタ回路14の外部にある選択信号生成部16は、データ保持部33−1または33−2の何れを選択するかを示す選択信号をクロックに同期して出力する。
この選択信号の生成方法としては、例えば、図4のような予め複数の選択パターン(図では各行)を用意したテーブル40を備え、テーブル40の中から選択パターンを一つ選択し、そのパターンの値(図では、0、1)に対応付けた選択信号(0→33−1を示す信号,1→33−2を示す信号)をクロックに同期して順次生成し出力する方法や、一ビットの乱数生成器を用意し、乱数0/1に対応付けた選択信号をクロックに同期して順次生成し出力する方法などがある。
入力タイミング制御部31は、演算回路11からのマスクデータを、データ保持部33−1またはデータ保持部33−2へ供給するタイミングを制御するものであってクロック信号に基づいている。
データ保持部33−1、データ保持部33−2は、選択信号生成部16からの選択信号に基づいて、入力タイミング制御部31からのマスクデータを、何れか一方のデータ保持部33−1、データ保持部33−2へ上書きし保持する。つまり、データ保持部33−1、33−2の一方のみが更新され、他方は以前のデータを保持している。なお、選択信号は、クロックに同期されているから、更新実行のタイミングもクロックに同期される。
ここで、選択信号生成部16の選択信号とデータ保持部33−1、データ保持部33−2の保持する内容との関係の一例を図5に示す。なお、選択信号が0のときは、データ保持部33−1を、選択信号が1のときは、データ保持部33−2を選択するとする。
時刻T1において選択信号が“0”(データ保持部33−1を示す)の場合、データ保持部33−1には、演算回路11の演算結果であるMaskedData1(マスクされたData1)が保持され、一方、データ保持部33−2には既に保持済みのMaskedData0が保持される。なお、MaskedData0は、前回の演算回路11の演算結果であるData0をマスクしたものである。
次に時刻T2において選択信号が“1”(データ保持部33−2を示す)の場合、データ保持部33−2には、演算回路11の演算結果であるMaskedData2(マスクされたData2)が保持され、一方、データ保持部33−1はT1で既に保持済みのMaskedData1が引き続き保持される。
次に時刻T3において選択信号が“1”(データ保持部33−2を示す)の場合、データ保持部33−2には、演算回路11の演算結果であるMaskedData3(マスクされたData3)が保持され、一方、データ保持部33−1はT1で既に保持済みのMaskedData1が引き続き保持される。
時刻T4において選択信号が“0”(データ保持部33−1を示す)の場合、データ保持部33−1には、演算回路11の演算結果であるMaskedData4(マスクされたData4)が保持され、一方、データ保持部33−2には既に保持済みのMaskedData3が引き続き保持される。
なお、上記例は、同じデータ保持部への連続的な書き込みを許す方法を示した。この場合には、連続書き込みを行われたデータ保持部に着目しDPA攻撃すれば、マスクが外れるため、前後のデータの差分がわかるので、秘密情報がわかってしまい、一見安全性に欠ける。しかし、頻出しなければ同じデータ保持部への連続的な書き込みが起きる箇所が、そもそもわからないので十分にDPA攻撃に対する耐性を有している。また、図4の2行目のパターンに基づき、書き込みを行えば、同じデータ保持部への連続的な書き込みが起きないので、確実にDPA攻撃に対する耐性を有することになる。
また、上記例は、選択されなかった(書き込みのなかった)データ保持部に対しては、特に何も行わない例を示したが、これに代え、選択されなかったデータ保持部の保持内容をリセットするようにしてもよい。リセットとは、例えばデータ保持部の内容を全て“0”または“1”に書き込むことをさす。また、選択されなかったデータ保持部の保持内容を反転したり、予め定めておいた2値列や乱数で書き換えるようにしても良い。このようにすることにより、演算処理にとっては不要であるが、過去の演算処理が反映されたデータが残ることを防ぐことができるから、安全性が増す可能性がある。
図3の説明に戻る。
データ選択部34は、選択信号生成部16からの選択信号に基づいて、データ保持部33−1、データ保持部33−2の何れかで保持している最新の演算結果のマスクデータを選択し、出力するものである。データ選択部34は、データ保持部33−1、33−2への書き込み先の選択に用いる選択信号と同じ選択信号に基づくから、書き込みのあった、すなわち最新の演算結果のマスクデータを選択できる。
出力されたマスクデータは、排他的論理和回路15を得た後、暗号化/復号結果(最終出力)となる。

以上

以上のようなレジスタ回路14は、例えば、図6に示すような論理素子を組み合わせた1ビットレジスタ回路を、n個並列に並べることによって、nビットのレジスタ回路14を構成することができる。なお、図6の1ビットレジスタ回路の出力が2つあるが、出力のあるほうをその1ビットの値として出力するよう利用する。
以上詳細に説明した本発明の実施の形態によれば、同一演算を繰り返して暗号化/復号する際の各演算結果を乱数でマスクしたマスクデータを、2つのデータ保持部の何れかを都度選択し、書き込むようにしたから、前記乱数を各演算結果毎に変更することが不要になった。その結果、前記乱数を生成する回路を小型化できた。これは、言い換えれば、同一演算を繰り返して暗号化/復号する際の各演算結果をマスクするための乱数を生成する回路を小型化することによって生じる同一乱数の使用によるDPAに対する耐性の欠如という欠点を、2つのデータ保持部を用意し、これらの何れかを都度選択し、書き込むようにすることにより、(DPAに対する耐性の欠如を)克服できるようになった。
次に、本実施の形態の応用例について簡単に示す。図7は、本実施の形態のレジスタ回路14の別の例である。
同図からも明らかなように、この例はデータ保持部を3つ備えている。これに伴う前記した実施の形態からの変更点は、3つのデータ保持部から一つを選択できるように選択信号を変更することと、この選択信号に基づいてデータ選択部が3つのデータ保持部からの入力データのうち一つを選択することである。前者の変更点は、たとえば、図4のテーブルの1ビットに対応付けて選択信号を生成するようにしていた点を、2ビットに対応付けるようにすれば良い。また、後者の変更点は、2ビットの選択信号による4値の表現のうち、3値でデータ保持部を選択するようにすれば良い。
以上の応用例のように、データ保持部を3つにすると、2つのときよりも書き込みの選択がより複雑化できるので、DPAによる攻撃に対する耐性がより増大する。
本実施の形態の暗号化/復号装置のブロック構成を示した図。 乱数供給部12の一例。 レジスタ回路14の内部の機能ブロックを示す図。 予め複数の選択パターンを用意したテーブル40を示す図。 選択信号生成部16の選択信号とデータ保持部33−1、データ保持部33−2の保持する内容との関係の一例。 論理素子を組み合わせた1ビットレジスタ回路の例。 本実施の形態のレジスタ回路14の別の例。
符号の説明
10 暗号化/復号装置
11 演算回路
12 乱数供給部
13、15 排他的論理和回路
14 レジスタ回路
16 選択信号生成部
21 乱数生成部
22 乱数保持部
31 入力タイミング制御部
33−1、33−2、33−3 データ保持部
34 データ選択部
40 テーブル

Claims (5)

  1. 同一の演算処理を繰り返し行うことで、外部から入力される平文データ/暗号文データを暗号化/復号する暗号化/復号装置において、
    乱数を生成する乱数供給部と、
    前記平文データ暗号文データと前記乱数供給部の乱数とを排他的論理和演算する第1排他的論理和回路と、
    前記演算処理を行うものであって、初回は、前記第1排他的論理和回路で排他的論理和されたデータを演算処理する演算回路と、
    複数のデータ保持部を備えており、複数のデータ保持部の一つを指定する選択信号を入力する毎に、前記演算回路からのデータを、前記選択信号に基づき選択された一のデータ保持部に書き込み保持するデータレジスタ回路と、
    最終回の前記演算回路での演算処理後に前記データレジスタ回路の前記一のデータ保持部に保持されたデータと、前記乱数供給部の乱数とを排他的論理和演算する第2排他的論理和回路とを備え
    前記演算回路は、2回目以降は、前記データレジスタ回路の前記一のデータ保持部に保持されたデータを演算し、
    前記第2排他的論理和演算の結果である暗号化データ/平文データを出力する
    こと特徴とする暗号化/復号装置。
  2. 前記選択信号は、連続して同じデータ保持部を指定しないことを特徴とする前記請求項1に記載の暗号化/復号装置。
  3. 前記選択信号で選択されなかったデータ保持部の保持内容をリセットするようにしたことを特徴とする前記請求項1乃至に記載の暗号化/復号装置。
  4. 前記選択信号で選択されなかったデータ保持部の保持内容を反転するようにしたことを特徴とする前記請求項1乃至に記載の暗号化/復号装置。
  5. 前記選択信号で選択されなかったデータ保持部の保持内容を予め定められた2値列または乱数で書き換えるようにしたことを特徴とする前記請求項1乃至に記載の暗号化/復号装置。
JP2005285596A 2005-09-29 2005-09-29 暗号化/復号装置 Expired - Fee Related JP4783104B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005285596A JP4783104B2 (ja) 2005-09-29 2005-09-29 暗号化/復号装置
US11/511,401 US8023643B2 (en) 2005-09-29 2006-08-29 Encryption/decryption apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005285596A JP4783104B2 (ja) 2005-09-29 2005-09-29 暗号化/復号装置

Publications (2)

Publication Number Publication Date
JP2007096973A JP2007096973A (ja) 2007-04-12
JP4783104B2 true JP4783104B2 (ja) 2011-09-28

Family

ID=37893975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005285596A Expired - Fee Related JP4783104B2 (ja) 2005-09-29 2005-09-29 暗号化/復号装置

Country Status (2)

Country Link
US (1) US8023643B2 (ja)
JP (1) JP4783104B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585119B1 (ko) * 2004-01-07 2006-06-01 삼성전자주식회사 암호화 장치, 암호화 방법 및 그 기록매체
JP4909018B2 (ja) 2006-11-16 2012-04-04 富士通株式会社 共通鍵暗号のための暗号化装置
JP4936996B2 (ja) 2007-05-24 2012-05-23 株式会社東芝 非線形データ変換器、暗号化装置、および復号装置
JP2009027472A (ja) * 2007-07-19 2009-02-05 Toshiba Corp 暗号演算装置
KR101311963B1 (ko) * 2007-08-06 2013-09-26 삼성전자주식회사 파워 어택으로부터 안전하게 데이터를 쓰고 읽을 수 있는반도체 메모리 장치 및 그 방법
CA2688592C (en) * 2007-10-01 2014-04-15 Research In Motion Limited Substitution table masking for cryptographic processes
KR100946907B1 (ko) 2007-10-29 2010-03-09 주식회사 케이티테크 멀티미디어 데이터의 암호화 장치, 멀티미디어 데이터의암호화 방법 및 멀티미디어 데이터의 암호화 기능을 구비한휴대용 단말기
JPWO2009118829A1 (ja) * 2008-03-25 2011-07-21 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体
WO2011101994A1 (ja) * 2010-02-22 2011-08-25 株式会社東芝 暗号化装置
CN102254110A (zh) * 2010-05-20 2011-11-23 中国人民解放军国防科学技术大学 寄存器翻转时刻随机化控制电路
JP5327493B1 (ja) 2011-11-28 2013-10-30 日本電気株式会社 暗号化処理回路及び復号処理回路、その方法並びにそのプログラム
DE102012024856A1 (de) * 2012-12-19 2014-06-26 Giesecke & Devrient Gmbh Verfahren zum Betreiben eines Sicherheitsmoduls sowie ein solches Sicherheitsmodul
TWI517655B (zh) * 2013-05-23 2016-01-11 晨星半導體股份有限公司 密碼裝置以及密鑰保護方法
CN103593628B (zh) * 2013-11-07 2016-06-01 中国科学院信息工程研究所 一种逻辑复合寄存器系统及抵抗能量分析攻击的方法
US9483640B2 (en) 2014-04-01 2016-11-01 Georgetown University System and method for deterring malicious network attacks
FR3101983B1 (fr) 2019-10-11 2021-11-12 St Microelectronics Grenoble 2 Détermination d'un bit indicateur
FR3101982B1 (fr) 2019-10-11 2024-03-08 St Microelectronics Grenoble 2 Détermination d'un bit indicateur
FR3101980B1 (fr) * 2019-10-11 2021-12-10 St Microelectronics Grenoble 2 Processeur
JP2024053189A (ja) * 2022-10-03 2024-04-15 キヤノン株式会社 暗号処理装置、暗号処理装置の暗号処理方法およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237615A (en) * 1982-05-20 1993-08-17 The United States Of America As Represented By The National Security Agency Multiple independent binary bit stream generator
JP3088337B2 (ja) * 1997-05-30 2000-09-18 三菱電機株式会社 暗号処理装置、icカード及び暗号処理方法
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4083925B2 (ja) * 1999-06-24 2008-04-30 株式会社日立製作所 情報処理装置、カード部材および情報処理システム
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
JP2001282650A (ja) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp データバッファリング装置およびこのデータバッファリング装置を用いた分散制御システム
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
JP3950661B2 (ja) * 2001-10-05 2007-08-01 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー データ伝達装置
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
JP4357815B2 (ja) * 2002-09-11 2009-11-04 株式会社東芝 暗号演算回路
WO2004053683A2 (en) * 2002-12-12 2004-06-24 Arm Limited Processing activity masking in a data processing system
WO2005073825A2 (en) * 2004-01-27 2005-08-11 Koninklijke Philips Electronics N.V. Protection against power analysis attacks

Also Published As

Publication number Publication date
US20070071235A1 (en) 2007-03-29
JP2007096973A (ja) 2007-04-12
US8023643B2 (en) 2011-09-20

Similar Documents

Publication Publication Date Title
JP4783104B2 (ja) 暗号化/復号装置
US8724804B2 (en) Encryption processing apparatus
JP4960044B2 (ja) 暗号処理回路及びicカード
US8428251B2 (en) System and method for stream/block cipher with internal random states
US9515818B2 (en) Multi-block cryptographic operation
US9503256B2 (en) SMS4 acceleration hardware
JP2007195132A (ja) 暗号処理装置
US8010587B2 (en) Random number generator
JPWO2006100801A1 (ja) キーストリーム暗号化装置および方法ならびにプログラム
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
US8675866B2 (en) Multiplicative splits to protect cipher keys
US11436946B2 (en) Encryption device, encryption method, decryption device, and decryption method
JP6735926B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
US8699702B2 (en) Securing cryptographic process keys using internal structures
KR100888614B1 (ko) 보안 알고리즘 회로 및 데이터 암호화 방법
JP5755970B2 (ja) 演算装置
KR102141843B1 (ko) 암호화 방법을 실행하기 위한 장치 및 방법
JP2010039838A (ja) 乱数生成回路及びコンピュータシステム
JP5020115B2 (ja) 暗号化装置および復号化装置
JP2005204128A (ja) 個別鍵生成装置及びプログラム
JP2002229444A (ja) ブロック暗号化、復号回路
CN114826562A (zh) 一种数据加密方法、装置、电子设备及存储介质
CN115242393A (zh) 加密装置、解密装置、加密方法、解密方法和电子设备
JP2013167740A (ja) 暗号化装置、暗号化方法および暗号化プログラム
JP2005050116A (ja) 命令実行装置およびその方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110527

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

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

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees