JP4990908B2 - 暗号化保護方法 - Google Patents

暗号化保護方法 Download PDF

Info

Publication number
JP4990908B2
JP4990908B2 JP2008541510A JP2008541510A JP4990908B2 JP 4990908 B2 JP4990908 B2 JP 4990908B2 JP 2008541510 A JP2008541510 A JP 2008541510A JP 2008541510 A JP2008541510 A JP 2008541510A JP 4990908 B2 JP4990908 B2 JP 4990908B2
Authority
JP
Japan
Prior art keywords
key
mask
true
round
masking
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
JP2008541510A
Other languages
English (en)
Other versions
JP2009516964A (ja
Inventor
ドゥパキス,ビンセント
ドゥゲト,ミシェル
Original Assignee
アトメル ルセ エスアエス
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 アトメル ルセ エスアエス filed Critical アトメル ルセ エスアエス
Publication of JP2009516964A publication Critical patent/JP2009516964A/ja
Application granted granted Critical
Publication of JP4990908B2 publication Critical patent/JP4990908B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • 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/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、演算中に暗号ハードウェアエンジンを標的暗号解読攻撃から保護する方法に関し、具体的には、マスキング方法(偽またはダミー演算)の使用により、あるラウンドにおける暗号化アルゴリズム置換(Sボックス)演算の(キー側の)入力値のサイドチャネル攻撃からの保護に関する。
米国特許出願公報第2004/0139340号では、Johnsonらは、実コードを隠すためにダミーコードを使用するステップを含む試行によって、統計的およびデータフロー分析などの、いわゆる「ホワイトボックス攻撃」に対して安全な暗号化アルゴリズムを製作するステップに関連する問題を論じている。Johnsonらは、情報の転送、組み合わせ、または損失の場所を広く普及させるステップ、および攻撃者に見える処理活動を変えるさらなる機能および変換を生成するステップを含む、代替解決法を提供している。これらの解決法は、DESアルゴリズムまたはその変異型を使用するスマートカードを守るステップに向けられる例示的実施において適用される。
米国特許出願公報第2003/0044003では、Chariらは、サイドチャネル攻撃に耐性がある、表検索を実施するための方法およびシステムを開示している。マスキングをかけた表中の入力が元の表中の入力とは統計的に無関係である、表マスク演算を使用する。表マスク演算は、(1)より大きい表または指数サイズが大きい表に対する、表分割演算、または(2)多数の表が1つの表に集約される、表集約演算のいずれかまたは両方により行われる。
米国特許出願公報第2003/0093684では、Kaiserwerthらは、特に電力分析攻撃に対する、暗号化アルゴリズムの潜在的脆弱性を論じている。これに関連して彼らは、単一DESの小さいキーサイズ(効果的に56ビット)はキー消耗攻撃に対してもはや安全とは考えられず、トリプルDES(少なくとも2つ、および好ましくは3つの独立キーを使用して暗号化−複合化−暗号化として3回実行する)などの変異型への進化を余儀なくさせることに注目している。さらに、DESにおけるSボックスは、56キービットから48を得るためのSボックス入力および出力の微分解析に対し、潜在的に脆弱である。Kaiserwerthらは、マスキング演算およびハミング中立ビット列を使用するステップを含む、この種類の攻撃を阻止するいくつかの手段を開示している。
米国特許第6,278,783号では、Kocherらは、定期的にSボックス表がブラインドされてランダムに順序を変えられ、キーおよびメッセージブロックの両方がブラインドされて、ビット単位のXOR演算による元の値に関連する順序変更可能な二部値を生じる、改良されたDES実施を開示している。
一般に、サイドチャネル攻撃は、標的暗号アルゴリズムの実行中に、暗号ハードウェアの電力消費または電磁放射線を外部から監視するステップ、およびキーに関する使用可能な情報を得るために、監視された特徴のタイミングプロファイルを標的アルゴリズムに相関させようとするステップを伴う。例えば、そのような1つの攻撃は、所与のラウンドにおいてデータがサブキーでXORされる、アルゴリズムのSボックスの入力側におけるアルゴリズムの実行のその部分を直接標的にすることができる。暗号化アルゴリズムをサイドチャネル攻撃に対して保護する1つの方法は、ランダム化マスキングまたはブラインド
方法を使用すること、つまり、真の演算と共に、幾多の偽またはダミー演算を実行するステップであろう。しかし、そのようなランダム化マスキングに関連する問題は、追加されたダミー演算の実行において注入されるエントロピーが制御されないので、統計的手法を使用して真の演算を暴露することがなおも可能であるという点である。
本発明は、独占的ではないが特に、置換(Sボックス)演算を採用する、または暗号Sボックスの入力側でのビット単位のXOR演算によってなど、データをラウンドサブキーに論理的に組み合わせる暗号アルゴリズムのための、標的攻撃の影響を受けやすい暗号化アルゴリズムのための決定論的結合方法である。本発明の決定論的結合方法は、純粋にランダムなブラインドまたはマスキング手法よりも真の演算のさらなる保護を達成するために、1組の偽またはダミー演算を実行する時に、注入されたエントロピーを制御する。
該方法は概して、真のキーおよび様々な組み合わせにおけるキーの少なくともいくつかのビットをブランドするように構築されている幾多の保護列に対応する1列を含む、マスキング表を事前に構築するステップより始まる。該表からの列が論理的に所与のキーと組み合わせられると、該方法は1組のキーを得て、そのうちの1つだけが真である一方で、その他の全てはダミーキーである。(例えば、ビット単位のXOR連結演算の場合、真のキーに対応する該表中の列は、全0ビットを含むマスクとなる一方で、保護列は少なくともいくつかのビットが1であるマスクとなる。)暗号アルゴリズムは、ランダム順で真およびダミーキーを使用し、メッセージブロックで複数回実行して、対応する真およびダミーラウンドサブキーを生成する。真のキーを暗号演算に適用するステップより得られる結果はメモリに格納される一方で、ダミーキーからの間違った結果はダミーメモリロケーションに格納される。暗号がキーのそれぞれに対して実行された後、真の結果はメモリからアクセスされる。
あるいは、マスキング表の列は、暗号ラウンド内でサブキーに論理的に組み合わせて、ラウンドのそれぞれに対する真のサブキーおよび1組のダミーキーを得ることが可能である。その後これらのサブキーが適用され、次のラウンドに転送されている真の結果のみを伴う暗号ラウンドに従って、メッセージブロックを処理する。
Sボックス演算を採用する暗号アルゴリズムに対して、ある数nのビットは、Sボックスの入力側に進入する(一般的に検索表として実施される)。よって、Sボックスに対する2の可能な入力値がある。本発明の例示的実施形態では、2のマスクを含むマスキング表が構成され、マスクのうちの1つは全ての0を含み(真の演算に対応する)、その他のマスクの全ては1であるいくつかのビットを含む(ダミー演算に対応する)。これらのマスクは、(a)そこから対応する真またはダミーラウンドサブキーが生成される1組のキー(1つが真で残りはダミーキー)を得るためのキー、または(b)ラウンドのそれぞれに対する1組のサブキーを得るための各ラウンドサブキー(再度、1つがラウンドに対する真のサブキーで、その他はラウンドに対するダミーサブキーである)で、ビット単位XORされる。暗号ラウンド内で、サブキーのそれぞれは、nビットの集合内でデータと論理的に組み合わされてSボックスに進入する。表中のダミーマスクは、Sボックスに進入する組み合わされたビットの集合が2の可能な入力値全てを取るように特別に選ぶことができ、それによって攻撃者によって見られるエントロピーを完全に水平化するので、そのSボックス演算で使用される真のラウンドサブキーは外部から解明することができない。
決定論的結合は、「大域」マスキング方法または「内部」マスキング方法のいずれかとして、本発明に従って適用することができる。基本概念は、マスキング表の列のそれぞれ
をキーまたはラウンドサブキーに適用し、真およびダミーキーまたはサブキーを得ることである。大域マスキング方法では、マスキング表の列によるマスキングは、暗号アルゴリズムのラウンドの実行の外側の全体の暗号キーに適用される。これにより、内部変更なしで、暗号アルゴリズム自体の既存ハードウェアまたはソフトウェア実施を保つことができる。大域マスキングは、真の暗号キーおよび1組のダミー暗号キーを生成する。そしてこれらの暗号キーは、あるランダム順で、暗号アルゴリズムの複数ループにおけるメッセージブロックに引き続いて適用される。したがって、大域マスキング方法の実施は、暗号アルゴリズムの64の演算のループを処理することができる。各ループ内で、マスキング表からマスク[i]を得るように、表ランダムアクセスを使用して既に使用されていない指数iをランダムに選ぶことが可能である。一次マスク[i]による暗号キーがある場合のビット単位XOR演算は、マスキングをかけたキーを生じる。そしてこのマスキングをかけたキーは、暗号アルゴリズムにおいてメッセージブロックにより処理され、これはマスキングをかけたキーからのラウンドサブキーの生成を含むことができる。指数iがIndexMaskZeroである場合、マスキングをかけたキーは真のキーであり、暗号アルゴリズムのこのループをメッセージブロックに適用するステップの結果は、メモリに格納される真の結果である。指数iがIndexMaskZeroとは異なる場合、マスキングをかけたキーはダミーキーであり、ダミー結果はメモリ内のダミーロケーションに格納される。一旦ループの全てが実行されると、真の結果はメモリからアクセスすることができる。
代替方法は、「内部」マスキング方法である。本手法は、暗号アルゴリズムの内部を変更して、内部マスキングをラウンドキーに適用する。暗号ラウンドのそれぞれの中で、マスキング表中のマスキングの全ては、ランダム順でランドサブキーに引き続いて適用され、ラウンドに対する1つの真のラウンドサブキーおよび幾多のダミーキーを得る。これらのマスキングをかけたサブキーは、暗号アルゴリズムのラウンドの複数ループを処理するために使用される。特に、内部マスキング方法の実施は、各暗号ラウンドの64の演算のループを処理することができ、マスキング表からマスク[i]を得て、それをラウンドサブキーに適用するために、指数iはラウンドですでに使用されていない指数値からランダムに選択される。マスキングをかけたサブキーによるラウンドのそのループの処理後、指数がIndexMaskZeroで、真のサブキーに対応する場合、ラウンドの正しい結果がメモリに格納される。指数がIndexMaskZeroとは異なる場合、ラウンドのこのループはダミーサブキーにより処理されたことを意味し、間違った結果はメモリのダミーロケーションに格納される。正しい結果は次のラウンドで使用されるが、ダミー結果は上書きすることができる。
本発明の決定論的結合方法は、サイドチャネル攻撃の影響を受けやすいハードウェア暗号エンジンにおいて実行される様々な暗号化アルゴリズム、および特に、キー混合およびSボックス演算を伴う、キースケジュールを採用する対称ブロック暗号のいずれかに適用することができる。解説目的で、下記の説明は、いくつかの変異型において広範な使用を保つ、1999年10月25日に再確認された(現在は撤回)、1977年1月15日の米国規格基準局(現在は米国標準技術局)の連邦情報処理規格(FIPS)公報46−3に説明されるデータ暗号化規格(DES)の本来核心であった、データ暗号化アルゴリズムを参照して行う。最も顕著に、トリプルDES(3DES)として、およびトリプルデータ暗号化アルゴリズム(TDEA)としても知られる変異型は、NIST特別公報800−67(2004年5月)に説明されるように、独立キーにより連続して3回データ暗号化アルゴリズムを適用するステップを伴う。計算的に安い代替変異型は、キーホワイト化として知られる手法を使用して、コアDESラウンド(つまり、
の前および後の両方で、余分64ビットキー物質をXORすることによって、有効キーサイズを増加させる、DES−Xである。これらおよびその他のDES変異型は、その小さい有効キーサイズによる、消耗キー検索に対するDESの脆弱性を軽減する方法である。なおさらなる変異型は、線形暗号解読またはそれに対してDESが特異的に設計されなかったその他の潜在的脆弱性にさらに耐性を示すことを目指して、Sボックス表、キースケジュール、またはその他のコア関数を変更する。DESおよびその変異型は、その容易なアクセスのしやすさのため、特にサイドチャネル攻撃に対して脆弱である、スマートカードにおける暗号化エンジンとしてよく使用される。本発明の決定論的結合方法は、スマートカードおよびその他の暗号ハードウェアにおけるこの脆弱性を大幅に軽減する。
DESは、ブロックの最初および最後の順列間で、16の同一ラウンドによる64ビットメッセージブロックがあると動作する。演算のモードは、DESを単一ブロックよりも長いメッセージに適用するステップに対して特定される。DESは64ビットキー(KEY)を使用し、そのうち8ビットはパリティチェックのみに使用されるので、有効なキーの長さは56ビットである。キースケジュール関数KSは、KEYを使用して、各ラウンドに対して1つの、K1乃至K16という16のサブキーを生成する。複合化に対しては、サブキーが生成されて逆の順番で適用される。キースケジュールKSの完全定義は、FIPS PUB46−3に説明されるように、PC−1およびPC−2(典型的に表として実施される)という一対の順序を変えた選択肢、および選択されたキービットの2つの28ビットブロックの一連のビット回転を伴う。しかし、これらの演算の究極の効果は、K1乃至K16の各サブキーを、KEYから得られる48ビットの特定の順序を変えた選択肢を設定するリストして表される、KEYの別関数として考えることが可能であることである。56KEYビットのそれぞれは、16サブキーのうち約14における異なるロケーションで使用される。例として、DESキースケジュール関数KSによって定義されるサブキーK1は、
であり、
ここで、番号はKEYからの選択されたビットを表し、サブキーは6ビットずつの8集団に編成される。
16DESラウンドには、64ビットメッセージブロックが2(「左」および「右」)等分ブロックに分けられ、十字スキーム(L=Ri−1および
ラウンドに対してi=1から16)で連続ラウンドにおいて交互に処理される、フェイステル構造がある。解読スキームは同様である。図1に図示されるように、DESラウンドに対する暗号関数F(R,K)は、(1)32ビット半ブロックRi−1を取り、48ビット出力をもたらす展開関数E、(2)ビット単位のXOR演算
を使用して、48ビット展開出力をそのラウンドに対する48ビットサブキーKに組み合わせるキー混合機能、(3)48ビットキー混合された出力jを取り、それを8つの6ビット断片に分けて、1組の8つの4ビット出力を得るように、8つの選択表またはSボックスSからSにそれぞれ対応する入力としてこれらの断片を適用する、非線形置換変換、および(4)Sボックスからの32出力ビットを再配列する順列関数Pの組み合わせを伴う。
各DESのSボックスSからSは、FIPS PUB46−3に説明されるように、6ビット入力を4ビット出力に関連付ける関数である。6ビットの集合は、各Sボックスに進入して64の4ビット入力のうちの1つを選択する。本発明の方法は、各Sボックスからの全64の可能性がアクセスされることを確実にする。これを行うためには、64のマスクを含むマスキング表が構成される。表中の各マスクは8バイト幅とすることができ、その48ビットは、マスキング演算に使用され、残りの16ビット(例えば、各バイトから2)は、(a)DESキーのパリティ規則を適用することによって計算することが可能な8つのパリティビット(またはその他のエラーチェックビット)、および(b)ランダムに選択するか、または1つ以上のその他のラウンドにおけるSボックスを別にして、48ビットと同じ機構により差し引くことによって計算することが可能な追加ビットとすることができる。マスキングに使用される48ビットは、0から63に及ぶ1組の8つの6ビット値を形成する。1組中の8つの6ビット値のそれぞれは、S1からS8の8つのSボックスのうちの異なる1つに対応する。(注:ダミーマスクから真のマスクの同一性を隠すため、および使用されているダミー値も隠すために、8つの値を形成するマスクビットは、連続順または昇順でマスクから抽出する必要はない。例えば、ラウンド1に対するものなど、キースケジュールの1つを利用して、各マスクから値を得ることが可能である。したがって、ビット10、51、34、60、49、および17を使用して、SボックスSに対応するマスク値を得る可能性がある。)最も簡素なマスキング表は下記のとおりであり、ここでは、カラムS1乃至S8は、各マスクに対してSボックスに割り当てられる抽出された6ビット値の10進等値を表す。
ここでは、表の各列は8つの同一値を含む。しかし、あるカラム(特定のSボックスに対応する)内に0から63の可能な値の全てが、一度および一度だけ現れるという条件で、その他のマスキング表を構成することが可能である。あるいは、各カラム内の値に対するランダム順があってもよい。典型的に、マスク[0]などのマスクの1つは、全ての0値を含み、「真の」マスクとして指定される。
大域マスク方法を使用する暗号の演算中に、再構成されたマスク表からのマスクの全ては、他の未修正暗号アルゴリズムを開始する前に、全体の暗号キーに適用される。したがって、暗号アルゴリズムは全体として、複数回ループすることができ、暗号全体の各ループに対して異なるマスキングをかけたキーを採用する。マスキングをかけたキーの1つは真のキーであり、暗号アルゴリズムの一部として真のラウンドサブキーを生成し、その場合、その他全てのマスキングをかけたキーは、ダミーサブキーを生成してダミー結果を得るダミーキーである。0値は単一マスクに割り当てられ、それにより、このマスクが使用されると真の結果を得ることが可能になる。
内部マスク方法を使用する暗号の演算中に、事前に構成されたマスク表からのマスクの全ては、ラウンドごとに全Sボックスの入力に適用される。図2は、第1の暗号ラウンド中に、マスク[15]など、64マスクのうちの代表的な1つを第1のSボックスSに適用するステップの説明に有用な例である。これは、内部マスキングを実施する時に、暗号アルゴリズムの内部に行われる変更を図示する。その他のマスクの適用のように、かつ後のラウンドでも、その他のSボックスSからSへのそのマスクの適用は同様である。内部マスキングを採用する各ラウンドにおいて、真のマスクを含むマスクの全てをサブキーおよびデータに適用するために、プロセスは64回ループする。各マスクが任意のラウンドで正確に一度使用されるという条件で、かつ真のマスクが暗号化エンジンに知られているという条件で、マスクは、任意の順番、例えば、各ラウンドに対して異なってもよいランダム化した順番で適用することができる。つまり、マスク表のランダムアクセスを使用することができる。真のマスクの同一性はレジスタに格納され、プロセスが1組のマスクをループすると指数と比較することができる。8つのSボックスから出力される真の結果は、全64のマスクが適用されるまで、例えばレジスタまたはメモリに保持され、そして真の結果は、暗号アルゴリズムにおける次のステップに渡される。DES順列関数Pは、Sボックス出力からの真の結果の格納と同時に適用することができる。所望に応じて、偽の結果もダミーメモリロケーションに保持し、場合により順序を変えることもできるが、必ずしも暗号における次のラウンドに転送されない。
8つのSボックスへの入力は、(1)DES展開関数Eより得られる展開データブロックDATA、(2)ここではサブキーK1である、特定のラウンドに対するDESサブキー、および(3)ここではマスク[15]である、適用されている特定のマスクを備える。DESにとって通常のとおり、展開データブロックDATAからのビットは、8つのSボックスに連続的に割り当てられ、Sに対してはビット1〜6、Sに対しては7〜1
2などである。後のラウンドに対するその他のサブキーと同様に、サブキーK1自体は、主要キーKEYからのビットの選択および再配列であることを念頭に置くべきであることを除いて、サブキーK1に対するビットは同様に8つのSボックスに連続的に割り当てられ、Sに対してはK1のビット1〜6、Sに対してはK1のビット7〜12などである。表中のその他のマスクとも同様に、マスク[15]からの特定のビットは、既述のように、各Sボックスに割り当てられる値を抽出するように選択されて順序付けられる。よって、第1のSボックスSに対して、10番目、51番目、34番目、60番目、49番目、および17番目のビットは、マスク[15]から抽出されて、Sに適用されるマスク[15]Sという値を得る。ここではこの値は101010(または10進の42)として解説される。
これらのビットの集合のそれぞれ(マスク、サブキー、データ)は、図2の
によって記号で表されるビット単位のXOR演算を使用して、他のものと組み合わせられる。ここではマスクはまずサブキーに適用されるとして示され、そして結果として生じるマスキングをかけたキーはデータに適用される。しかし、ビット単位のXOR演算は可換および連合であるため、実際は任意の順番でこれら3つの集団(マスク、サブキー、およびデータ)に適用され、なおも同じSボックス入力を得ることができる。任意の外部観察者にとって演算をさらに不明確にするように、異なるSボックス、マスク、およびラウンドに対して適用の順番を変えることは、確実に有益となるであろう。
上記のように、本発明のマスキングプロセスは、DESおよびその変異型以外の暗号に適用することができる。例えば、新暗号化規格(AES)として採択され、NIST FIPS PUB197に公表されたRijndaelは、8ビット入力および出力を伴うSボックスを使用する。256(=2)の異なるマスクのマスク表を構成し、その暗号のAddRoundKey( )変換の一部として適用することができる。その他多くの暗号アルゴリズムは、Sボックスまたは同様の置換表を使用し、そのようなSボックスの入力側にキー混合演算を提供する。本願でDESに対して説明されるような、限定的マスキングはそのような暗号に適用できる。
図3を参照して、本発明の大域マスキングの実施を行うための例示的ハードウェアが図示される。メモリ31は、マスキングをかけたキーを含む、データに対する読み取り/書き込み格納場所である。乱数発生器32は、マスク表の列にアクセスするためのランダム指数iを含む、その他のユニットによって使用するための乱数を生成する。当技術分野で周知の任意の適切な発生器を使用してもよい。マスク表生成ユニット33は、マスク表の入力を生成し、それらをメモリ31に書き込む。演算シーケンサ34は、その他のユニットへコマンドを送信し、その作用を配列する。DESアルゴリズムの各ループ中に、キーマスキングユニット36は、(「真の」)暗号キーをメモリ31から読み取り、メモリ31に格納されるマスク表からの1つの入力によりそれをマスキングし、マスキングをかけたキーをメモリ31に書き込む。DES計算ユニット37は、メモリ31からマスキングをかけたキーおよび入力データ(プレーンテキストまたは暗号テキストメッセージブロック)を読み取り、マスキングをかけたキーから任意のサブキーを生成するステップを含む、マスキングをかけたキーを使用してDES暗号アルゴリズムを実行し、結果を出力データとしてメモリ31に再び書き込む。結果を格納するために使用されるメモリロケーションは、マスキングをかけたキーが真のキーまたはダミーキーであるかどうかに左右される。
図4を参照して、本発明の内部マスキングの実施を行うための例示的ハードウェアが図示される。大域マスキングハードウェア実施と同様に、本内部マスキングの実施も、メモリ41、乱数発生器42、およびマスク表生成ユニット43を含み、その基本機能の全ては、大域マスキングハードウェアの対応ユニット31〜33と実質的に同じである。演算シーケンサ44は同様に、コマンドをその他のユニットに送信してその作用を配列するが、内部マスキング配列は、大域マスキング配列とは異なる。本ハードウェア実施は、DES初期計算ユニット45、ラウンドサブキーマスキングユニット46、DESラウンド計算ユニット47、およびDES最終計算ユニット48をさらに含む。DES初期計算ユニット45は、DESラウンド前計算を実施する。特に、メモリ41から入力データ(処理されるプレーンテキストまたは暗号テキストメッセージブロック)を読み取り、第1ラウンド(DES−Xまたは同様の変形物からの任意のキーホワイト化を含む)前にDESの初期処理ステップを実施し、ステップの結果をメモリ41に再び書き込む。また、ユニット45は、メモリ41から真の暗号キーを読み取り、定義されたDESキー生成ルーチンに従って1組のラウンドサブキーを生成し、ラウンドサブキーをメモリ41に再び格納する。あるいは、サブキーの生成は、DESラウンド計算ユニット47によってラウンドごとに行うことが可能である。いずれにしても、ラウンドサブキーは、ラウンドサブキーマスキングユニット46によってマスキングをかけられ、それはメモリ41から対応サブキーを読み取り、ラウンドの各ループにおいて、メモリ41からのマスク表の1つのエントリでそれをマスキングし、マスキングをかけたサブキーをメモリ41に書き込む。DESラウンド計算ユニット47は、DESラウンドの所与のループに対するマスキングをかけたサブキーおよびメモリ41からのそのラウンドに対する入力データを読み取り、ラウンド計算を実施し、結果をメモリ41に再び書き込む。ラウンドのそのループの結果を格納するためのメモリロケーションは、マスキングをかけたサブキーが、そのラウンドに対する真のサブキーまたはダミーサブキーであるかどうかに左右される。各DESラウンドループは、ラウンドサブキーの全マスキングが採用されるまで、複数回ループする。データは、次のラウンドでメモリ41からアクセスされるデータ入力における真のサブキーを適用するステップに由来する。DES最終計算ユニット48は、メモリ41から最終ラウンドの結果を読み取り、DESラウンド後計算を実施し、結果(完全に処理されたメッセージブロック)をメモリ41に書き込む。
マスキングユニット36および46を例外として、これらの例で示される処理ユニットは、DESまたはその他の暗号アルゴリズムを実行するために周知である従来の構成要素である。メモリ31および41には、マスク表の入力を格納するため、真およびダミーキーの両方またはサブキーを格納するため、および真およびダミーの両方のデータ処理結果を格納するために割り当てられるロケーションがある。マスキングユニット36および46は、真およびダミーキーまたはサブキーを生成するためにマスク表入力を使用するキーまたはラウンドサブキーがあると、ビット単位のXORまたはその他の論理的組み合わせまたは算術演算を実施する。
上記の例からの変形物は、異なる暗号応用に対して容易に構成および適合することができる。例えば、適切な高速プロセッサ、およびラウンドデータ結果に対する真およびダミーアドレスを指定する際の注意により、本発明に従った大域および内部マスキング方法はいずれも、内部マスキングを対応する組のラウンドキーに適用するための暗号キーとして扱われる、大域手法から生成される真およびダミーキーと組み合わせて使用することが可能である。
図1は、従来技術のDES規格に従ったDES暗号化機能を図示する、略ブロック図である。 図2は、本発明の例示的実施形態に従って変更されるようなDES暗号化機能を図示する、略ブロック図である。 図3は、本発明の方法に従ってそれぞれの大域マスキングおよび内部マスキングの実施を行う、例示的暗号化エンジンのブロック図の形のハードウェア概略図である。 図4は、本発明の方法に従ってそれぞれの大域マスキングおよび内部マスキングの実施を行う、例示的暗号化エンジンのブロック図の形のハードウェア概略図である。

Claims (13)

  1. 1または複数の処理部による暗号化保護方法であって、
    マスクキング表生成処理部を用いて、真のマスクを含む、複数のマスクを有するマスキング表を構成してメモリに保存するステップと
    キーマスキング処理部を用いて、暗号アルゴリズムの複数ループで使用するための、1つの真のキーおよび複数のダミーキーを含む、マスキングをかけたキーを生成するために、前記メモリ内のマスキング表の全マスクを暗号キーに適用するステップと、
    暗号アルゴリズム処理部を用いて、メッセージデータを入力して処理されたメッセージデータ結果を得ると、暗号アルゴリズムの複数ループを実行するステップであって、前記暗号アルゴリズムの各ループは、全てのマスキングをかけたキーが一旦使用されるまで、前記マスキングをかけたキーのうちの異なる1つを使用して実行され、真のメッセージデータ結果を生じる前記真のキーを使用して、前記暗号アルゴリズムのループを実行するステップである一方で、ダミーメッセージデータ結果を生じる前記ダミーキーのいずれかを使用して、前記暗号アルゴリズムのループを実行するステップと、
    前記暗号アルゴリズム処理部を用いて、前記メモリ内の第1のメモリロケーションに前記真のメッセージデータ結果を格納し、前記メモリ内の1つ以上の第2のメモリロケーションにダミーメッセージデータ結果を格納するステップと、
    を含む、暗号化保護方法。
  2. 前記マスキング表からのマスクは、ランダム順で適用される、請求項1に記載の方法。
  3. 前記マスキング表のマスクを前記暗号キーに適用するステップは、ビット単位のXOR演算を伴い、前記マスクは、全てゼロである前記真のキーを生成する、請求項1に記載の方法。
  4. 暗号アルゴリズムのループを実行する際、1組のラウンドサブキーは、前記暗号アルゴリズムのそのループに使用される前記マスキングをかけたキーから生成され、前記真のキーは、前記暗号アルゴリズムの1ループのラウンドにおいて、前記メッセージデータに適用される1組の真のラウンドサブキーを生成して前記真のメッセージデータ結果を生じ、前記複数のダミーキーは、前記暗号アルゴリズムの各ループのラウンドにおいて、前記メッセージデータに適用される対応する組のダミーラウンドサブキーを生成してダミーメッセージデータ結果を生じる、請求項1に記載の方法。
  5. 前記暗号アルゴリズムは、1つ以上のキー混合演算、および1つ以上の置換(Sボックス)演算を含む、請求項1に記載の方法。
  6. 前記暗号アルゴリズムは、DES変異型を備える、請求項1に記載の方法。
  7. 1または複数の処理部による暗号化保護方法であって、
    マスキング表生成処理部を用いて、真のマスクを含む、複数のマスクを有するマスキング表を構成してメモリに保存するステップと
    キーマスキング処理部を用いて、暗号の各ラウンド中に、そのラウンドに対するキー混合演算の一部として、前記メモリ内の前記マスキング表の全マスクを、前記キー混合演算をマスキングするために、サブキーおよびデータブロックに適用するステップであって、
    前記真のマスクを前記サブキーおよびデータブロックに適用するステップは、前記キー混合演算において前記サブキーおよびデータブロック単独を適用するステップと同一の結果を得て、前記キー混合演算において前記複数のマスクの全てを適用するステップは、前記暗号に対する全ての可能なSボックス入力値を得る、ステップと、
    前記キーマスキング処理部を用いて、前記マスキングをかけたキー混合演算の前記結果を前記メモリに保存するステップと、
    暗号アルゴリズム処理部を用いて、前記メモリ内の前記マスキングをかけたキー混合演算の前記結果を、置換表の入力または前記暗号のSボックスに適用するステップと、
    前記暗号アルゴリズム処理部を用いて、全ラウンドが完了するまで、前記真のマスクを適用するステップの結果を使用して、前記暗号の次のステップを続行するステップと、
    を含む、暗号化保護方法。
  8. 前記マスキング表は、前記真のマスクと、任意のラウンドに対する任意のサブキーに適用されると、そのサブキーの少なくともいくつかのビットを効果的にブラインドする複数のダミーマスクとを備え、前記ブラインドするステップは、前記真のマスクと共に、前記暗号に対するSボックス入力値のあらゆる可能な組み合わせを生じる、請求項7に記載の方法。
  9. 任意の暗号ラウンドにおける前記マスク、サブキー、およびデータブロックは、特定のSボックス入力に別々に割り当てられる複数のnビットブロックに細分され、前記マスク表は2のマスクを含み、2の可能なnビット値のそれぞれは、前記マスクに対する前記別々に割り当てられたブロックにおいて一度および一度だけ発生する、請求項7に記載の方法。
  10. 特定のSボックス入力に割り当てられる前記nビット値は、既定の選択およびそのマスクからのビットの順序付けによって、所与のマスクから抽出される、請求項9に記載の方法。
  11. 任意の暗号ラウンドにおけるマスク、サブキー、およびデータの前記別々に割り当てられたブロックは、前記暗号の明確なSボックス表へのSボックス入力を形成する、請求項9に記載の方法。
  12. 前記キー混合演算の一部として、前記マスキング表を前記サブキーおよびデータブロックに適用するステップは、ビット単位のXOR演算を伴い、前記真のマスクは1組のゼロ値を備える、請求項7に記載の方法。
  13. 前記マスキング表における各マスクは、前記キー混合演算において、ランダム順で1ラウンドにつき一度および一度だけ、アクセスおよび適用され、前記真のマスクは前記暗号に識別可能である、請求項7に記載の方法。
JP2008541510A 2005-11-21 2006-11-21 暗号化保護方法 Expired - Fee Related JP4990908B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
FR05/11768 2005-11-21
FR0511768A FR2893796B1 (fr) 2005-11-21 2005-11-21 Procede de protection par chiffrement
US11/358,979 US7848515B2 (en) 2005-11-21 2006-02-22 Encryption protection method
US11/358,979 2006-02-22
PCT/US2006/061165 WO2007102898A2 (en) 2005-11-21 2006-11-21 Encryption protection method

Publications (2)

Publication Number Publication Date
JP2009516964A JP2009516964A (ja) 2009-04-23
JP4990908B2 true JP4990908B2 (ja) 2012-08-01

Family

ID=36602442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008541510A Expired - Fee Related JP4990908B2 (ja) 2005-11-21 2006-11-21 暗号化保護方法

Country Status (8)

Country Link
US (1) US7848515B2 (ja)
EP (1) EP1955465B1 (ja)
JP (1) JP4990908B2 (ja)
KR (1) KR101345083B1 (ja)
CN (1) CN101371480B (ja)
FR (1) FR2893796B1 (ja)
TW (1) TWI418197B (ja)
WO (1) WO2007102898A2 (ja)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2893796B1 (fr) 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
US8781111B2 (en) * 2007-07-05 2014-07-15 Broadcom Corporation System and methods for side-channel attack prevention
US8553877B2 (en) * 2007-10-01 2013-10-08 Blackberry Limited Substitution table masking for cryptographic processes
FR2924262B1 (fr) * 2007-11-26 2009-12-11 Sagem Securite Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
EP2218208B1 (fr) * 2007-12-13 2011-06-15 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes
US20100027781A1 (en) * 2007-12-20 2010-02-04 Galbi Duane E Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption
US8616408B2 (en) * 2008-04-10 2013-12-31 Sca Hygiene Products Ab Paper towel dispenser
DE102008023912A1 (de) * 2008-05-16 2009-11-19 Siemens Aktiengesellschaft Verfahren und Speichervorrichtung zum Bereitstellen eines kryptografischen Schlüssels
FR2935503A1 (fr) * 2008-08-28 2010-03-05 St Microelectronics Rousset Protection d'un algorithme de chiffrement
US9653004B2 (en) 2008-10-16 2017-05-16 Cypress Semiconductor Corporation Systems and methods for downloading code and data into a secure non-volatile memory
US8094816B2 (en) * 2008-10-21 2012-01-10 Apple Inc. System and method for stream/block cipher with internal random states
EP2180631A1 (en) * 2008-10-24 2010-04-28 Gemalto SA Cryptographic algorithm fault protections
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
US20100246815A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the kasumi cipher algorithm
US9317286B2 (en) * 2009-03-31 2016-04-19 Oracle America, Inc. Apparatus and method for implementing instruction support for the camellia cipher algorithm
US8832464B2 (en) * 2009-03-31 2014-09-09 Oracle America, Inc. Processor and method for implementing instruction support for hash algorithms
US8654970B2 (en) * 2009-03-31 2014-02-18 Oracle America, Inc. Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
US20100284537A1 (en) * 2009-05-07 2010-11-11 Horizon Semiconductors Ltd. Method for efficiently decoding a number of data channels
FR2952735B1 (fr) * 2009-11-18 2011-12-09 St Microelectronics Rousset Procede et dispositif de detection d'attaques par injection de fautes
KR101334040B1 (ko) * 2010-01-20 2013-11-28 한국전자통신연구원 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
US8619985B2 (en) * 2010-04-27 2013-12-31 Research In Motion Limited Table splitting for cryptographic processes
DE102010028375A1 (de) * 2010-04-29 2011-11-03 Robert Bosch Gmbh Schutz vor kryptoanalytischen Seitenkanalattacken
GB2480296A (en) 2010-05-12 2011-11-16 Nds Ltd Processor with differential power analysis attack protection
US8625802B2 (en) * 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
CN101951314B (zh) * 2010-10-12 2012-06-20 北京航空航天大学 对称密码加密中s-盒的设计方法
US8504845B2 (en) * 2011-03-30 2013-08-06 Apple Inc. Protecting states of a cryptographic process using group automorphisms
KR101601684B1 (ko) * 2011-05-18 2016-03-09 한국전자통신연구원 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
US8971526B2 (en) * 2011-07-26 2015-03-03 Crocus-Technology Sa Method of counter-measuring against side-channel attacks
MY178555A (en) * 2011-08-19 2020-10-16 Mimos Berhad Method and system for providing a secured internet protocol based communication
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
KR101401382B1 (ko) * 2011-12-15 2014-06-02 한국전자통신연구원 분산 시스템에서의 부채널 분석 방법 및 장치
FR2984553B1 (fr) 2011-12-15 2015-11-06 Proton World Int Nv Procede et dispositif de detection de fautes
JP5612007B2 (ja) * 2012-03-15 2014-10-22 株式会社東芝 暗号化鍵生成装置
WO2014028005A1 (en) * 2012-08-14 2014-02-20 Empire Technology Development Llc Software-based side-channel attack prevention
US10103876B2 (en) * 2012-10-17 2018-10-16 Synopsys, Inc. System and method for multichannel cryptographic processing
US9143325B2 (en) 2012-12-14 2015-09-22 Microsoft Technology Licensing, Llc Masking with shared random bits
CN103888245A (zh) * 2012-12-20 2014-06-25 北京握奇数据系统有限公司 一种智能卡的s盒随机化方法和系统
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box
US9754133B2 (en) * 2013-03-14 2017-09-05 Microchip Technology Incorporated Programmable device personalization
FR3015726B1 (fr) * 2013-12-24 2016-01-08 Morpho Procede de traitement comparatif securise
US20150222421A1 (en) * 2014-02-03 2015-08-06 Qualcomm Incorporated Countermeasures against side-channel attacks on cryptographic algorithms
US9405919B2 (en) * 2014-03-11 2016-08-02 Qualcomm Incorporated Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
KR102446866B1 (ko) 2014-08-28 2022-09-23 삼성전자주식회사 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치
SG10201405852QA (en) 2014-09-18 2016-04-28 Huawei Internat Pte Ltd Encryption function and decryption function generating method, encryption and decryption method and related apparatuses
WO2016068847A1 (en) * 2014-10-27 2016-05-06 Hewlett Packard Enterprise Development Lp Key splitting
DE102014016548A1 (de) * 2014-11-10 2016-05-12 Giesecke & Devrient Gmbh Verfahren zum Testen und zum Härten von Softwareapplikationen
US9923719B2 (en) 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
US9774443B2 (en) 2015-03-04 2017-09-26 Apple Inc. Computing key-schedules of the AES for use in white boxes
CN104734842B (zh) * 2015-03-13 2018-06-08 上海交通大学 基于伪操作的电路旁路攻击抵御方法
CN104734845B (zh) * 2015-03-25 2018-11-23 上海交通大学 基于全加密算法伪操作的旁路攻击防护方法
CN106161007B (zh) * 2015-04-17 2019-10-01 上海华虹集成电路有限责任公司 安全芯片中抵御模板攻击的密钥装载方法
KR101687492B1 (ko) * 2015-08-06 2016-12-16 주식회사 엘지씨엔에스 분산적으로 데이터를 저장하는 방법 및 암호학적 정보 처리 장치
US10333699B1 (en) 2015-09-30 2019-06-25 Cryptography Research, Inc. Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US10015009B2 (en) * 2015-11-25 2018-07-03 Nxp B.V. Protecting white-box feistel network implementation against fault attack
FR3048096A1 (fr) * 2016-02-22 2017-08-25 Eshard Procede de protection d'un circuit contre une analyse par canaux auxiliaires
EP3208789B1 (en) * 2016-02-22 2020-08-05 Eshard Method of protecting a circuit against a side-channel analysis
CN107547189A (zh) * 2016-06-28 2018-01-05 埃沙尔公司 免受侧信道分析的保护方法和设备
EP3264397B1 (en) * 2016-06-28 2020-09-16 Eshard A protection method and device against a side-channel analysis
EP3264311B1 (en) 2016-06-28 2021-01-13 Eshard A protection method and device against a side-channel analysis
US10243937B2 (en) * 2016-07-08 2019-03-26 Nxp B.V. Equality check implemented with secret sharing
US10771235B2 (en) * 2016-09-01 2020-09-08 Cryptography Research Inc. Protecting block cipher computation operations from external monitoring attacks
FR3056322B1 (fr) * 2016-09-21 2018-09-21 Safran Identity & Security Procede de chiffrement ou de dechiffrement protege contre des attaques par canaux caches
US10742405B2 (en) * 2016-12-16 2020-08-11 The Boeing Company Method and system for generation of cipher round keys by bit-mixers
EP3407528A1 (en) * 2017-05-24 2018-11-28 Koninklijke Philips N.V. Cryptographic device and method
JP2019003163A (ja) * 2017-06-20 2019-01-10 富士通株式会社 情報処理装置、情報処理方法、及びプログラム
EP3422176A1 (en) * 2017-06-28 2019-01-02 Gemalto Sa Method for securing a cryptographic process with sbox against high-order side-channel attacks
DE102017009315B4 (de) * 2017-10-06 2019-11-21 Sergej Gertje Schutz automatisierungstechnischer Programme vor Umkehrentwicklung
US20190116022A1 (en) * 2017-10-16 2019-04-18 Samsung Electronics Co., Ltd. Encryption device and operation method thereof
TW201919361A (zh) * 2017-11-09 2019-05-16 張英輝 以雜文加強保護之區塊加密及其解密之方法
FR3074323B1 (fr) 2017-11-30 2019-12-06 Idemia France Procede et dispositif de traitement cryptographique de donnees
CN108111297A (zh) * 2017-12-20 2018-06-01 上海新储集成电路有限公司 一种密钥系统
FR3078464A1 (fr) * 2018-02-26 2019-08-30 Stmicroelectronics (Rousset) Sas Procede et circuit de mise en oeuvre d'une table de substitution
US11218291B2 (en) * 2018-02-26 2022-01-04 Stmicroelectronics (Rousset) Sas Method and circuit for performing a substitution operation
FR3078463A1 (fr) * 2018-02-26 2019-08-30 Stmicroelectronics (Rousset) Sas Procede et dispositif de realisation d'operations en table de substitution
CN108848073B (zh) * 2018-05-31 2021-04-13 唐山智能电子有限公司 对实时数据采集系统的数据进行加密解密的方法以及系统
CN108737073B (zh) * 2018-06-22 2021-09-28 北京智芯微电子科技有限公司 分组加密运算中抵抗能量分析攻击的方法和装置
US10824718B2 (en) * 2018-07-05 2020-11-03 Nxp B.V. Shuffling mechanism for shuffling an order of data blocks in a data processing system
KR102038598B1 (ko) * 2018-11-08 2019-10-30 국민대학교산학협력단 커플링 효과 대응형 암호화 장치 및 방법
CN110427969B (zh) * 2019-07-01 2020-11-27 创新先进技术有限公司 数据处理方法、装置和电子设备
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
JP7314108B2 (ja) * 2020-08-27 2023-07-25 株式会社東芝 暗号処理装置、暗号処理方法およびプログラム
CN113742759B (zh) * 2021-11-04 2022-02-22 国网浙江省电力有限公司 财务核算系统数据加密方法及装置
CN115118453A (zh) * 2022-05-19 2022-09-27 成都安美勤信息技术股份有限公司 基于商用密码算法的邮寄敏感信息隐私保护的方法
CN117614608B (zh) * 2024-01-22 2024-04-16 南京航空航天大学 一种抗能量分析攻击的ntt防御方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028939A (en) 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
JP2002519722A (ja) * 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
CA2252078C (en) 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
GB2345229B (en) * 1998-12-23 2003-12-03 Motorola Ltd Method for encrypting data
FI107487B (fi) * 1999-03-08 2001-08-15 Nokia Mobile Phones Ltd Datalähetyksen salausmenetelmä radiojärjestelmässä
US6724894B1 (en) 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
CA2327911A1 (en) 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
FR2825542B1 (fr) * 2001-05-31 2003-08-29 Sagem Procede fonde sur un algorithme de chiffrage par bloc a repetition de rondes et dispositif le mettant en oeuvre
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
JP2003018143A (ja) * 2001-06-28 2003-01-17 Mitsubishi Electric Corp 情報処理装置
US7142670B2 (en) 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US7043017B2 (en) * 2001-09-13 2006-05-09 Freescale Semiconductor, Inc. Key stream cipher device
US6754190B2 (en) 2001-10-17 2004-06-22 Motorola, Inc. Channel selection method used in a communication system
FR2831739B1 (fr) * 2001-10-31 2005-07-22 Gemplus Card Int Procede de mise en oeuvre securisee d'un module fonctionnel, dans un composant electronique et composant correspondant
US7194633B2 (en) 2001-11-14 2007-03-20 International Business Machines Corporation Device and method with reduced information leakage
FR2832739B1 (fr) 2001-11-27 2004-02-13 Eads Launch Vehicles Procede de realisation d'une preforme textile multidirectionnelle, dispositif pour sa mise en oeuvre et preforme ainsi obtenue
JP2005527853A (ja) * 2002-05-23 2005-09-15 アトメル・コーポレイション 高度暗号化規格(aes)のハードウェア暗号法エンジン
JP2004004341A (ja) * 2002-05-31 2004-01-08 Toshiba Corp べき乗剰余計算装置、べき乗剰余計算方法及びプログラム
US7685436B2 (en) 2003-10-02 2010-03-23 Itt Manufacturing Enterprises, Inc. System and method for a secure I/O interface
KR100800468B1 (ko) * 2004-01-29 2008-02-01 삼성전자주식회사 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
DE602004003675T2 (de) * 2004-04-16 2007-10-25 Research In Motion Ltd., Waterloo Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
KR100610367B1 (ko) * 2004-06-19 2006-08-10 삼성전자주식회사 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
FR2873523B1 (fr) * 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
US20070076228A1 (en) 2005-10-04 2007-04-05 Jacob Apelbaum System and method for providing data services via a network
FR2893796B1 (fr) 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement

Also Published As

Publication number Publication date
US7848515B2 (en) 2010-12-07
WO2007102898A2 (en) 2007-09-13
TW200742383A (en) 2007-11-01
FR2893796A1 (fr) 2007-05-25
EP1955465A4 (en) 2016-11-30
EP1955465A2 (en) 2008-08-13
TWI418197B (zh) 2013-12-01
US20080019503A1 (en) 2008-01-24
KR20080073345A (ko) 2008-08-08
FR2893796B1 (fr) 2008-01-04
JP2009516964A (ja) 2009-04-23
EP1955465B1 (en) 2019-09-11
WO2007102898A3 (en) 2008-04-17
CN101371480A (zh) 2009-02-18
KR101345083B1 (ko) 2013-12-26
CN101371480B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
JP4990908B2 (ja) 暗号化保護方法
US7778419B2 (en) Key masking for cryptographic processes
US8094816B2 (en) System and method for stream/block cipher with internal random states
CN107005404B (zh) 实现密码算法的可执行的白盒掩码实施的处理器装置
EP2195761B1 (en) Substitution table masking for cryptographic processes
US8644500B2 (en) Apparatus and method for block cipher process for insecure environments
CA2578316C (en) Table splitting for cryptographic processes
US7720225B2 (en) Table splitting for cryptographic processes
US20060177052A1 (en) S-box encryption in block cipher implementations
US20080253557A1 (en) Method and Device for Carrying Out a Cryptographic Calculation
US20120159186A1 (en) Securing the implementation of a cryptographic process using key expansion
US8619985B2 (en) Table splitting for cryptographic processes
US20050232416A1 (en) Method and device for determining a result
KR102327771B1 (ko) 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법
KR20240046850A (ko) 암호화 처리 장치, 암호화 처리 장치의 암호화 처리 방법, 및 저장 매체
KR20100069012A (ko) 대칭단을 이용한 에이이에스 알고리즘의 암/복호 과정 동일화 설계 방법

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090603

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090612

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091023

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100601

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4990908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees