JP2016525836A - ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法 - Google Patents

ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法 Download PDF

Info

Publication number
JP2016525836A
JP2016525836A JP2016526976A JP2016526976A JP2016525836A JP 2016525836 A JP2016525836 A JP 2016525836A JP 2016526976 A JP2016526976 A JP 2016526976A JP 2016526976 A JP2016526976 A JP 2016526976A JP 2016525836 A JP2016525836 A JP 2016525836A
Authority
JP
Japan
Prior art keywords
key
round
data block
block
derived
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.)
Granted
Application number
JP2016526976A
Other languages
English (en)
Other versions
JP2016525836A5 (ja
JP6487433B2 (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 JP2016525836A publication Critical patent/JP2016525836A/ja
Publication of JP2016525836A5 publication Critical patent/JP2016525836A5/ja
Application granted granted Critical
Publication of JP6487433B2 publication Critical patent/JP6487433B2/ja
Active 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/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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本明細書の方法は、局における暗号化鍵更新のためのものである。本方法では、第1のデータブロックは、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して暗号化され、第1の複数のラウンド鍵は、初期ブロック鍵に基づいて生成される。第1の複数のラウンド鍵のうちの1つのラウンド鍵は、第1の導出ブロック鍵の基礎として使用するために保持される。第2のデータブロックは、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して暗号化され、第2の複数のラウンド鍵は、第1の導出ブロック鍵に基づいて生成される。第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第2の導出ブロック鍵の基礎として使用するために保持され得る。

Description

本発明は一般に、ブロック暗号アルゴリズムで使用される暗号化/解読鍵を更新するための技法に関する。
最新の機器を用いてデータ収集および解析を行うことが比較的安価になってきているので、差分電力解析(DPA:differential power analysis)攻撃はますます一般化している。DPA攻撃は、秘密鍵を推定する統計的サイドチャネル攻撃である。DPA攻撃に対処するための技法は、電源フィルタリング技法、ランダム雑音挿入技法、鍵「マスキング」技法、または鍵ローリング技法を必要とし得る。そのような技法のいくつかは、計算集約的であり得るか、またはさもなければ実際的でないことを証明し得る。
米国特許第8,386,800号に開示される技法は、DPA攻撃を無効にするためのローリング鍵を提供するハッシュ関数を使用した暗号文ハッシュチェイニングプロセスに基づいている。しかしながら、ハッシュ関数は、処理時間、システムリソース、および/またはデバイス回路においてコストがかかる場合がある。
したがって、DPA攻撃などの攻撃を妨害するブロック暗号アルゴリズムで使用するための鍵更新技法が必要とされている。
本発明の一態様は、局における暗号化鍵更新のための方法に存在し得る。本方法では、第1のデータブロックは、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して暗号化され、第1の複数のラウンド鍵は、初期ブロック鍵に基づいて生成される。第1の複数のラウンド鍵のうちの1つのラウンド鍵は、第1の導出ブロック鍵の基礎として使用するために保持される。第2のデータブロックは、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して暗号化され、第2の複数のラウンド鍵は、第1の導出ブロック鍵に基づいて生成される。
本発明のより詳細な態様では、第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第2の導出ブロック鍵の基礎として使用するために保持され得る。第1の暗号化されたデータブロックおよび第2の暗号化されたデータブロックは、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成され得る。第1の導出ブロック鍵は、第1の複数のラウンド鍵のうちの最後のラウンド鍵であってもよく、第2の導出ブロック鍵は、第2の複数のラウンド鍵のうちの最後のラウンド鍵であってもよい。代替的に、第1の導出ブロック鍵は、少なくとも1つの追加のラウンドによって第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づいてもよく、第2の導出ブロック鍵は、少なくとも1つの追加のラウンドによって第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づいてもよい。
本発明の他のより詳細な態様では、局はハードウェア局であってもよく、暗号化するステップおよび保持するステップは、ハードウェア局によって実行され得る。第1のデータブロック、第2のデータブロック、第1の暗号化されたデータブロック、および第2の暗号化されたデータブロックは各々、128ビットを備えてもよく、初期ブロック鍵、第1の導出ブロック鍵、第2の導出ブロック鍵、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、192ビットを備えてもよい。代替的に、第1のデータブロック、第2のデータブロック、第1の暗号化されたデータブロック、および第2の暗号化されたデータブロックは各々、128ビットを備えてもよく、初期ブロック鍵、第1の導出ブロック鍵、第2の導出ブロック鍵、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、256ビットを備えてもよい。
本発明の別の態様は、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化するための手段であって、第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、手段と、第1の導出ブロック鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化するための手段であって、第2の複数のラウンド鍵が第1の導出ブロック鍵に基づいて生成される、手段とを備える局に存在し得る。
本発明の別の態様は、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化することであって、第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、暗号化することと、第1の導出ブロック鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持することと、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化することであって、第2の複数のラウンド鍵が第1の導出ブロック鍵に基づいて生成される、暗号化することとを行うように構成されたプロセッサを備える局に存在し得る。
本発明の別の態様は、コンピュータに、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化させるためのコードであって、第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、コードと、コンピュータに、第1の導出ブロック鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータに、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化させるためのコードであって、第2の複数のラウンド鍵が第1の導出ブロック鍵に基づいて生成される、コードとを備えるコンピュータ可読媒体を備えるコンピュータプログラム製品に存在し得る。
加えて、本発明の一態様は、局における鍵更新のための方法に存在し得る。本方法では、初期ブロック鍵は、第1の複数のラウンド鍵を生成するために処理される。第1の複数のラウンド鍵のうちの1つのラウンド鍵は、第1の導出鍵の基礎として使用するために保持される。第1の暗号化されたデータブロックは、第2の複数のラウンド鍵を生成するために第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して解読される。第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第2の導出鍵の基礎として使用するために保持される。第2の暗号化されたデータブロックは、第3の複数のラウンド鍵を生成するために第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して解読される。
本発明のより詳細な態様では、第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第3の導出鍵の基礎として使用するために保持され得る。第1の暗号化されたデータブロック、第2の暗号化されたデータブロック、第1の解読されたデータブロック、および第2の解読されたデータブロックは各々、128ビットを備えてもよく、初期ブロック鍵、第1の導出ブロック鍵、第2の導出ブロック鍵、第3の導出ブロック鍵、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、192ビットを備えてもよい。代替的に、第1の暗号化されたデータブロック、第2の暗号化されたデータブロック、第1の解読されたデータブロック、および第2の解読されたデータブロックは各々、128ビットを備えてもよく、初期ブロック鍵、第1の導出ブロック鍵、第2の導出ブロック鍵、第3の導出ブロック鍵、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、256ビットを備えてもよい。
本発明の別の態様は、第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理するための手段と、第1の導出鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、第2の複数のラウンド鍵を生成するために第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読するための手段と、第2の導出鍵の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、第3の複数のラウンド鍵を生成するために第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読するための手段とを備える局に存在し得る。
本発明の別の態様は、第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理し、第1の導出鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、第2の複数のラウンド鍵を生成するために第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読し、第2の導出鍵の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、第3の複数のラウンド鍵を生成するために第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読するように構成されたプロセッサを備える局に存在し得る。
本発明の別の態様は、コンピュータに、第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理させるためのコードと、コンピュータに、第1の導出鍵の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータに、第2の複数のラウンド鍵を生成するために第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読させるためのコードと、コンピュータに、第2の導出鍵の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータに、第3の複数のラウンド鍵を生成するために第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読させるためのコードとを備えるコンピュータ可読媒体を備えるコンピュータプログラム製品に存在し得る。
ワイヤレス通信システムの一例のブロック図である。 本発明による、局における暗号化鍵更新のための方法の流れ図である。 ブロック暗号アルゴリズムにおける暗号化用途の鍵を更新するための方法に関する概略図である。 本発明による、局における鍵更新のための方法の流れ図である。 ブロック暗号アルゴリズムにおける解読用途の鍵を更新するための方法に関する概略図である。 プロセッサとメモリとを含むコンピュータのブロック図である。
「例示的な」という言葉は、「一例、事例、または例示として役立つ」ことを意味するように本明細書で使用される。「例示的な」として本明細書で説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。
図1、図2および図3を参照すると、本発明の一態様は、局102における暗号化鍵更新のための方法200に存在し得る。本方法では、第1のデータブロックB1は、第1の暗号化されたデータブロックE1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して暗号化され、第1の複数のラウンド鍵は、初期ブロック鍵K0に基づいて生成される(ステップ210)。第1の複数のラウンド鍵のうちの1つのラウンド鍵は、第1の導出ブロック鍵K1の基礎として使用するために保持される(ステップ220)。第2のデータブロックB2は、第2の暗号化されたデータブロックE2を生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して暗号化され、第2の複数のラウンド鍵は、第1の導出ブロック鍵K1に基づいて生成される(ステップ230)。
本発明のより詳細な態様では、第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第2の導出ブロック鍵K2の基礎として使用するために保持される(ステップ240)。第1の暗号化されたデータブロックE1および第2の暗号化されたデータブロックE2は、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成され得る。第1の導出ブロック鍵K1は、第1の複数のラウンド鍵のうちの最後のラウンド鍵、たとえば、RK91であってもよく、第2の導出ブロック鍵K2は、第2の複数のラウンド鍵のうちの最後のラウンド鍵、たとえば、RK92であってもよい。代替的に、第1の導出ブロック鍵K1は、少なくとも1つの追加のラウンドRK9+n1によって第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づいてもよく、第2の導出ブロック鍵K2は、少なくとも1つの追加のラウンド、たとえば、RK9+n2によって第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づいてもよい。
本発明は、AESアルゴリズムなどのブロック暗号アルゴリズムで使用される暗号化/解読鍵を更新するための技法に関し得る。AESアルゴリズムの文脈では、各データブロックに対して、鍵スケジューリングの最終ラウンド鍵(またはその導関数)は、次のブロック鍵のための第1のラウンド鍵として使用され得る。したがって、同じブロック鍵を何度も繰り返して再使用する代わりに、次のデータブロックのためのブロック鍵は、前のデータブロックのための最後のラウンド鍵(または1つもしくは複数の追加のラウンドからのラウンド鍵)であってもよい。結果として、同じ鍵材料は本質的に決して2度使用されず、DPA(差分電力解析:differential power analysis)攻撃の成功に必要な統計的解析を実行することができない。
AESアルゴリズムのためのデータ入力およびデータ出力は各々、128ビットのシーケンス(0または1の値を有する数字)からなる。これらのシーケンスは一般にブロックと呼ばれ、ビットの数はその長さと呼ばれる。AESアルゴリズムのための暗号鍵(ブロック鍵)は、128ビット、192ビットまたは256ビットのシーケンスとして定義される。AESアルゴリズムにおけるラウンド鍵は、暗号鍵と同じ長さを有する。したがって、次の暗号/ブロック鍵の基礎としてのラウンド鍵の使用は、AESによって実装されているエントロピー再分配(redistribution)動作から得られる標準的な暗号化されたデータ出力のハッシュを使用することを凌ぐ、かなりの利点を有する。ハッシュ関数は、新しい暗号/ブロック鍵を計算するための追加のシステムリソース(たとえば、処理時間および/または回路)を必要とする。
本発明は、後続のブロックのための暗号/ブロック鍵が既存のAES動作の副産物であり、その鍵が標準的なAES動作から得られる暗号化された出力に対して実行される関数に基づかないという点で効率的である。後続の暗号/ブロック鍵を作り出すために追加の関数を実行する必要がなく、追加のラウンドを使用しない場合、後続の暗号/ブロック鍵の導出/処理は、追加の処理ハードウェアを必要とすることなしに、ブロックデータ処理と同時に実行され得る。
AES 128ビット、192ビット、および256ビットの暗号鍵はそれぞれ、10ラウンド、12ラウンド、および14ラウンドを使用する。10ラウンドが図3(および図5)に示されているが、必要に応じて、より大きい暗号鍵長に従って、12ラウンドもしくは14ラウンド、または追加のラウンドが実装される。したがって、ラウンドの数は図面に示す数に限定されない。
本発明の他のより詳細な態様では、局102はハードウェア局であってもよく、暗号化するステップおよび保持するステップはハードウェア局によって実行され得る。第1のデータブロックB1、第2のデータブロックB2、第1の暗号化されたデータブロックE1、および第2の暗号化されたデータブロックE2は各々、128ビットを備えてもよく、初期ブロック鍵K0、第1の導出ブロック鍵K1、第2の導出ブロック鍵K2、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、192ビットを備えてもよい。代替的に、第1のデータブロックB1、第2のデータブロックB2、第1の暗号化されたデータブロックE1、および第2の暗号化されたデータブロックE2は各々、128ビットを備えてもよく、初期ブロック鍵K0、第1の導出ブロック鍵K1、第2の導出ブロック鍵K2、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、256ビットを備えてもよい。
図1および図6をさらに参照すると、本発明の別の態様は、第1の暗号化されたデータブロックE1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックB1を暗号化するための手段610であって、第1の複数のラウンド鍵が初期ブロック鍵K0に基づいて生成される、手段610と、第1の導出ブロック鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段610と、第2の暗号化されたデータブロックE2を生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックB2を暗号化するための手段610であって、第2の複数のラウンド鍵が第1の導出ブロック鍵K1に基づいて生成される、手段610とを備える局102に存在し得る。
本発明の別の態様は、第1の暗号化されたデータブロックE1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックB1を暗号化することであって、第1の複数のラウンド鍵が初期ブロック鍵K0に基づいて生成される、暗号化することと、第1の導出ブロック鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持することと、第2の暗号化されたデータブロックE2を生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックB2を暗号化することであって、第2の複数のラウンド鍵が第1の導出ブロック鍵K1に基づいて生成される、暗号化することとを行うように構成されたプロセッサ610を備える局102に存在し得る。
本発明の別の態様は、コンピュータ600に、第1の暗号化されたデータブロックE1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックB1を暗号化させるためのコードであって、第1の複数のラウンド鍵が初期ブロック鍵K0に基づいて生成される、コードと、コンピュータ600に、第1の導出ブロック鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータ600に、第2の暗号化されたデータブロックE2を生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックB2を暗号化させるためのコードであって、第2の複数のラウンド鍵が第1の導出ブロック鍵K1に基づいて生成される、コードとを備えるコンピュータ可読媒体620を備えるコンピュータプログラム製品に存在し得る。
解読動作は一般に、ラウンド鍵を事前計算し、データ解読の第1のラウンドに対して最後のラウンド鍵とともに開始する必要があるので、最後のラウンド鍵が生成されるまで鍵スケジューリングアルゴリズムにおいて前に進むことによって動作する。その最後のラウンド鍵が記憶され、次いで、アルゴリズムは、データに対して動作しながら、逆方向に動作する。後続のデータブロックは、パフォーマンスを改善するために、記憶された最後のラウンド鍵とともに開始する。ハッシュ関数に基づくものなどのいくつかの鍵ローリングアルゴリズムの場合、第2のデータブロックのために使用される最後のラウンド鍵が第1のデータブロックのために使用される最後のラウンド鍵と同じではないので、このパフォーマンス向上は可能ではない。各ローリングブロック鍵について最後のラウンド鍵を事前計算することは、かなりのパフォーマンスヒットを招く可能性がある。
しかしながら、本発明の場合、この事前計算問題は、鍵スケジューリングブロックを複製し、鍵スケジューリングブロックに、現在のデータブロックに対して動作すると同時に次のデータブロックのための最終ラウンド鍵を計算させることによって、ハードウェアにおいて容易に対処される。この技法のハードウェア実装は、チップサイズ/面積の点で比較的小さい面積の影響を及ぼす。
図4および図5を参照すると、本発明の別の態様は、局102における鍵更新のための方法400に存在し得る。本方法では、初期ブロック鍵K0は、第1の複数のラウンド鍵を生成するために処理される(ステップ410)。第1の複数のラウンド鍵のうちの1つのラウンド鍵は、第1の導出鍵K1の基礎として使用するために保持される(ステップ420)。第1の暗号化されたデータブロックE1は、第2の複数のラウンド鍵を生成するために第1の導出鍵K1を同時に処理しながら、第1の解読されたデータブロックB1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して解読される(ステップ430)。第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第2の導出鍵K2の基礎として使用するために保持される(ステップ440)。第2の暗号化されたデータブロックE2は、第3の複数のラウンド鍵を生成するために第2の導出鍵K2を同時に処理しながら、第2の解読されたデータブロックB2を生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して解読される(ステップ450)。
本発明のより詳細な態様では、第2の複数のラウンド鍵のうちの1つのラウンド鍵は、第3の導出鍵K3の基礎として使用するために保持され得る(ステップ460)。第1の暗号化されたデータブロックE1、第2の暗号化されたデータブロックE2、第1の解読されたデータブロックB1、および第2の解読されたデータブロックB2は各々、128ビットを備えてもよく、初期ブロック鍵K0、第1の導出ブロック鍵K1、第2の導出ブロック鍵K2、第3の導出ブロック鍵K3、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、192ビットを備えてもよい。代替的に、第1の暗号化されたデータブロックE1、第2の暗号化されたデータブロックE2、第1の解読されたデータブロックB1、および第2の解読されたデータブロックB2は各々、128ビットを備えてもよく、初期ブロック鍵K0、第1の導出ブロック鍵K1、第2の導出ブロック鍵K2、第3の導出ブロック鍵K3、第1の複数のラウンド鍵のうちのラウンド鍵、および第2の複数のラウンド鍵のうちのラウンド鍵は各々、256ビットを備えてもよい。
図1および図6をさらに参照すると、本発明の別の態様は、第1の複数のラウンド鍵を生成するために初期ブロック鍵K0を処理するための手段610と、第1の導出鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段610と、第2の複数のラウンド鍵を生成するために第1の導出鍵K1を同時に処理しながら、第1の解読されたデータブロックB1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックE1を解読するための手段610と、第2の導出鍵K2の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段610と、第3の複数のラウンド鍵を生成するために第2の導出鍵K2を同時に処理しながら、第2の解読されたデータブロックB2を生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックE2を解読するための手段610とを備える局102に存在し得る。
本発明の別の態様は、第1の複数のラウンド鍵を生成するために初期ブロック鍵K0を処理し、第1の導出鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、第2の複数のラウンド鍵を生成するために第1の導出鍵K1を同時に処理しながら、第1の解読されたデータブロックB1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックE1を解読し、第2の導出鍵K2の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、第3の複数のラウンド鍵を生成するために第2の導出鍵K2を同時に処理しながら、第2の解読されたデータブロックB2を生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックE2を解読するように構成されたプロセッサ610を備える局102に存在し得る。
本発明の別の態様は、コンピュータ600に、第1の複数のラウンド鍵を生成するために初期ブロック鍵K0を処理させるためのコードと、コンピュータ600に、第1の導出鍵K1の基礎として使用するために第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータ600に、第2の複数のラウンド鍵を生成するために第1の導出鍵K1を同時に処理しながら、第1の解読されたデータブロックB1を生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックE1を解読させるためのコードと、コンピュータ600に、第2の導出鍵K2の基礎として使用するために第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、コンピュータ600に、第3の複数のラウンド鍵を生成するために第2の導出鍵K2を同時に処理しながら、第2の解読されたデータブロックB2を生成するために、第1の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックE2を解読させるためのコードとを備えるコンピュータ可読媒体620を備えるコンピュータプログラム製品に存在し得る。
局102は、プロセッサ610と、メモリおよび/またはディスクドライブなどの記憶媒体620と、ディスプレイ630と、キーパッドなどの入力640と、ワイヤレス接続650とを含むコンピュータ600を備えるリモート局RSであってもよい。
図1を参照すると、ワイヤレスリモート局(RS)102(たとえば、移動局MS)は、ワイヤレス通信システム100の1つまたは複数の基地局(BS)104と通信し得る。ワイヤレス通信システム100は、1つまたは複数の基地局コントローラ(BSC)106と、コアネットワーク108とをさらに含み得る。コアネットワークは、適切なバックホールを介して、インターネット110および公衆交換電話網(PSTN)112に接続され得る。典型的なワイヤレス移動局は、ハンドヘルド電話またはラップトップコンピュータを含み得る。ワイヤレス通信システム100は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、空間分割多元接続(SDMA)、偏波分割多元接続(PDMA)、または当技術分野で知られている他の変調技法など、いくつかの多元接続技法のうちのいずれか1つを採用してもよい。
情報および信号が様々な異なる技術および技法のいずれかを使用して表され得ることを当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者はさらに諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと関連した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であり得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、ユーザ端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として存在し得る。
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。コンピュータプログラム製品としてソフトウェアで実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、非一時的コンピュータ可読記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
開示した実施形態の上記の説明は、いかなる当業者も本発明を作製または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義する一般原理は、本発明の趣旨または範囲を逸脱することなしに他の実施形態に適用され得る。したがって、本発明は、本明細書に示す実施形態に限定されるものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
100 ワイヤレス通信システム
102 局、ワイヤレスリモート局(RS)
104 基地局(BS)
106 基地局コントローラ(BSC)
108 コアネットワーク
110 インターネット
112 公衆交換電話網(PSTN)
200 方法
400 方法
600 コンピュータ
610 手段、プロセッサ
620 記憶媒体
630 ディスプレイ
640 入力
650 ワイヤレス接続
B1 第1のデータブロック、第1の解読されたデータブロック
B2 第2のデータブロック、第2の解読されたデータブロック
E1 第1の暗号化されたデータブロック
E2 第2の暗号化されたデータブロック
K0 初期ブロック鍵
K1 第1の導出ブロック鍵、第1の導出鍵
K2 第2の導出ブロック鍵、第2の導出鍵
K3 第3の導出鍵

Claims (78)

  1. 局における暗号化鍵更新のための方法であって、
    第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化するステップであって、前記第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、ステップと、
    第1の導出ブロック鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するステップと、
    第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化するステップであって、前記第2の複数のラウンド鍵が前記第1の導出ブロック鍵に基づいて生成される、ステップと
    を備える方法。
  2. 前記第1の暗号化されたデータブロックおよび前記第2の暗号化されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項1に記載の方法。
  3. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項1に記載の方法。
  4. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項1に記載の方法。
  5. 第2の導出ブロック鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するステップ
    をさらに備える、請求項1に記載の方法。
  6. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項5に記載の方法。
  7. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項5に記載の方法。
  8. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項1に記載の方法。
  9. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項1に記載の方法。
  10. 前記局がハードウェア局であり、前記暗号化するステップおよび前記保持するステップが前記ハードウェア局によって実行される、請求項1に記載の方法。
  11. 第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化するための手段であって、前記第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、手段と、
    第1の導出ブロック鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、
    第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化するための手段であって、前記第2の複数のラウンド鍵が前記第1の導出ブロック鍵に基づいて生成される、手段と
    を備える局。
  12. 前記第1の暗号化されたデータブロックおよび前記第2の暗号化されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項11に記載の局。
  13. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項11に記載の局。
  14. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項11に記載の局。
  15. 第2の導出ブロック鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段
    をさらに備える、請求項11に記載の局。
  16. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項15に記載の局。
  17. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項15に記載の局。
  18. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項11に記載の局。
  19. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項11に記載の局。
  20. 前記局がハードウェア局である、請求項11に記載の局。
  21. 第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化することであって、前記第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、暗号化することと、
    第1の導出ブロック鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持することと、
    第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化することであって、前記第2の複数のラウンド鍵が前記第1の導出ブロック鍵に基づいて生成される、暗号化することと
    を行うように構成されたプロセッサを備える局。
  22. 前記第1の暗号化されたデータブロックおよび前記第2の暗号化されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項21に記載の局。
  23. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項21に記載の局。
  24. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項21に記載の局。
  25. 前記プロセッサが、
    第2の導出ブロック鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するようにさらに構成される、請求項21に記載の局。
  26. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項25に記載の局。
  27. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項25に記載の局。
  28. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項21に記載の局。
  29. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項21に記載の局。
  30. 前記局がハードウェア局である、請求項21に記載の局。
  31. コンピュータに、第1の暗号化されたデータブロックを生成するために、第1の複数のラウンドにわたって第1の複数のラウンド鍵を使用して第1のデータブロックを暗号化させるためのコードであって、前記第1の複数のラウンド鍵が初期ブロック鍵に基づいて生成される、コードと、
    コンピュータに、第1の導出ブロック鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、
    コンピュータに、第2の暗号化されたデータブロックを生成するために、第2の複数のラウンドにわたって第2の複数のラウンド鍵を使用して第2のデータブロックを暗号化させるためのコードであって、前記第2の複数のラウンド鍵が前記第1の導出ブロック鍵に基づいて生成される、コードと
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  32. 前記第1の暗号化されたデータブロックおよび前記第2の暗号化されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項31に記載のコンピュータプログラム製品。
  33. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項31に記載のコンピュータプログラム製品。
  34. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項31に記載のコンピュータプログラム製品。
  35. 前記コンピュータ可読媒体が、
    コンピュータに、第2の導出ブロック鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコード
    をさらに備える、請求項31に記載のコンピュータプログラム製品。
  36. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項35に記載のコンピュータプログラム製品。
  37. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項35に記載のコンピュータプログラム製品。
  38. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項31に記載のコンピュータプログラム製品。
  39. 前記第1のデータブロック、前記第2のデータブロック、前記第1の暗号化されたデータブロック、および前記第2の暗号化されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、および前記第1の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項31に記載のコンピュータプログラム製品。
  40. 局における鍵更新のための方法であって、
    第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理するステップと、
    第1の導出鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するステップと、
    第2の複数のラウンド鍵を生成するために前記第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読するステップと、
    第2の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するステップと、
    第3の複数のラウンド鍵を生成するために前記第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読するステップと
    を備える方法。
  41. 第3の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するステップ
    をさらに備える、請求項40に記載の方法。
  42. 前記第1の解読されたデータブロックおよび前記第2の解読されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項40に記載の方法。
  43. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項40に記載の方法。
  44. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項43に記載の方法。
  45. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項40に記載の方法。
  46. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項45に記載の方法。
  47. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項40に記載の方法。
  48. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項40に記載の方法。
  49. 前記局がハードウェア局であり、前記解読するステップおよび前記保持するステップが前記ハードウェア局によって実行される、請求項40に記載の方法。
  50. 第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理するための手段と、
    第1の導出鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、
    第2の複数のラウンド鍵を生成するために前記第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読するための手段と、
    第2の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段と、
    第3の複数のラウンド鍵を生成するために前記第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読するための手段と
    を備える局。
  51. 第3の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持するための手段
    をさらに備える、請求項50に記載の局。
  52. 前記第1の解読されたデータブロックおよび前記第2の解読されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項50に記載の局。
  53. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項50に記載の局。
  54. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項53に記載の局。
  55. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項50に記載の局。
  56. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項55に記載の局。
  57. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項50に記載の局。
  58. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項50に記載の局。
  59. 前記局がハードウェア局であり、前記解読するステップおよび前記保持するステップが前記ハードウェア局によって実行される、請求項50に記載の局。
  60. 第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理し、
    第1の導出鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、
    第2の複数のラウンド鍵を生成するために前記第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読し、
    第2の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持し、
    第3の複数のラウンド鍵を生成するために前記第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読し、
    第3の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持する
    ように構成されたプロセッサを備える局。
  61. 前記プロセッサが、
    第3の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持する
    ようにさらに構成される、請求項60に記載の局。
  62. 前記第1の解読されたデータブロックおよび前記第2の解読されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項60に記載の局。
  63. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項60に記載の局。
  64. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項63に記載の局。
  65. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項60に記載の局。
  66. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項65に記載の局。
  67. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項60に記載の局。
  68. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項60に記載の局。
  69. 前記局がハードウェア局であり、前記解読するステップおよび前記保持するステップが前記ハードウェア局によって実行される、請求項60に記載の局。
  70. コンピュータに、第1の複数のラウンド鍵を生成するために初期ブロック鍵を処理させるためのコードと、
    コンピュータに、第1の導出鍵の基礎として使用するために前記第1の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、
    コンピュータに、第2の複数のラウンド鍵を生成するために前記第1の導出鍵を処理しながら、第1の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第1の複数のラウンド鍵を使用して第1の暗号化されたデータブロックを解読させるためのコードと、
    コンピュータに、第2の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコードと、
    コンピュータに、第3の複数のラウンド鍵を生成するために前記第2の導出鍵を処理しながら、第2の解読されたデータブロックを生成するために、第1の複数のラウンドにわたって前記第2の複数のラウンド鍵を使用して第2の暗号化されたデータブロックを解読させるためのコードと
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  71. 前記コンピュータ可読媒体が、
    コンピュータに、第3の導出鍵の基礎として使用するために前記第2の複数のラウンド鍵のうちの1つのラウンド鍵を保持させるためのコード
    をさらに備える、請求項70に記載のコンピュータプログラム製品。
  72. 前記第1の暗号化されたデータブロックおよび前記第2の暗号化されたデータブロックが、AES(高度暗号化標準:Advanced Encryption Standard)アルゴリズムを使用して生成される、請求項70に記載のコンピュータプログラム製品。
  73. 前記第1の導出ブロック鍵が、前記第1の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項70に記載のコンピュータプログラム製品。
  74. 前記第2の導出ブロック鍵が、前記第2の複数のラウンド鍵のうちの最後のラウンド鍵である、請求項73に記載のコンピュータプログラム製品。
  75. 前記第1の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第1の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項70に記載のコンピュータプログラム製品。
  76. 前記第2の導出ブロック鍵が、少なくとも1つの追加のラウンドによって前記第2の複数のラウンド鍵のうちの最後のラウンド鍵をさらに処理することによって生成された追加のラウンド鍵に基づく、請求項75に記載のコンピュータプログラム製品。
  77. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、192ビットを備える、
    請求項70に記載のコンピュータプログラム製品。
  78. 前記第1の暗号化されたデータブロック、前記第2の暗号化されたデータブロック、前記第1の解読されたデータブロック、および前記第2の解読されたデータブロックが各々、128ビットを備え、
    前記初期ブロック鍵、前記第1の導出ブロック鍵、前記第2の導出ブロック鍵、前記第1の複数のラウンド鍵のうちの前記ラウンド鍵、および前記第2の複数のラウンド鍵のうちの前記ラウンド鍵が各々、256ビットを備える、
    請求項70に記載のコンピュータプログラム製品。
JP2016526976A 2013-07-19 2014-07-07 ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法 Active JP6487433B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/946,797 US9160525B2 (en) 2013-07-19 2013-07-19 Apparatus and method for key update for use in a block cipher algorithm
US13/946,797 2013-07-19
PCT/US2014/045609 WO2015023368A2 (en) 2013-07-19 2014-07-07 Apparatus and method for key update for use in a block cipher algorithm

Publications (3)

Publication Number Publication Date
JP2016525836A true JP2016525836A (ja) 2016-08-25
JP2016525836A5 JP2016525836A5 (ja) 2017-08-03
JP6487433B2 JP6487433B2 (ja) 2019-03-20

Family

ID=52014334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016526976A Active JP6487433B2 (ja) 2013-07-19 2014-07-07 ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法

Country Status (6)

Country Link
US (1) US9160525B2 (ja)
EP (1) EP3022864B1 (ja)
JP (1) JP6487433B2 (ja)
KR (1) KR102095734B1 (ja)
CN (1) CN105379172B (ja)
WO (1) WO2015023368A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015015953B3 (de) * 2015-12-08 2017-04-27 Giesecke & Devrient Gmbh Kryptoalgorithmus mit schlüsselabhängigem maskiertem Rechenschritt (SBOX-Aufruf)
CN107864035B (zh) * 2017-10-13 2020-06-19 华南理工大学 一种实现在aes电路中基于功耗均衡编码的抗dpa攻击方法
CN108847924A (zh) * 2018-04-22 2018-11-20 平安科技(深圳)有限公司 加密方法、装置、计算机设备和存储介质
KR20220146115A (ko) * 2021-04-23 2022-11-01 삼성에스디에스 주식회사 키 스트림 생성 방법 및 장치
WO2023069441A2 (en) * 2021-10-19 2023-04-27 Cryptography Research, Inc. Low-latency multi-key encryption and decryption engine and techniques

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134478A (ja) * 2003-10-28 2005-05-26 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2005202048A (ja) * 2004-01-14 2005-07-28 Sharp Corp 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
JP2007316614A (ja) * 2006-04-27 2007-12-06 Hitachi Ltd ハッシュ値生成装置、プログラム及びハッシュ値生成方法
US20090080647A1 (en) * 2005-12-14 2009-03-26 Nds Limited Method and System for Usage of Block Cipher Encryption
JP2010140026A (ja) * 2008-12-15 2010-06-24 Thomson Licensing 連鎖暗号モードのための方法および装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259789B1 (en) 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
US8041032B2 (en) * 2005-08-19 2011-10-18 Cardiac Pacemakers, Inc. Symmetric key encryption system with synchronously updating expanded key
US8553877B2 (en) * 2007-10-01 2013-10-08 Blackberry Limited Substitution table masking for cryptographic processes
KR100949538B1 (ko) 2008-09-09 2010-03-25 한국전자통신연구원 Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
KR100960113B1 (ko) 2008-09-19 2010-05-27 한국전자통신연구원 고속처리 가능한 아리아 암복호화 장치
EP2507708B1 (en) 2009-12-04 2019-03-27 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US20120321079A1 (en) * 2011-06-14 2012-12-20 Freescale Semiconductor, Inc System and method for generating round keys

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005134478A (ja) * 2003-10-28 2005-05-26 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2005202048A (ja) * 2004-01-14 2005-07-28 Sharp Corp 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
US20090080647A1 (en) * 2005-12-14 2009-03-26 Nds Limited Method and System for Usage of Block Cipher Encryption
JP2007316614A (ja) * 2006-04-27 2007-12-06 Hitachi Ltd ハッシュ値生成装置、プログラム及びハッシュ値生成方法
JP2010140026A (ja) * 2008-12-15 2010-06-24 Thomson Licensing 連鎖暗号モードのための方法および装置

Also Published As

Publication number Publication date
EP3022864A2 (en) 2016-05-25
US20150023497A1 (en) 2015-01-22
KR102095734B1 (ko) 2020-04-01
CN105379172B (zh) 2018-05-29
WO2015023368A3 (en) 2015-04-16
US9160525B2 (en) 2015-10-13
CN105379172A (zh) 2016-03-02
WO2015023368A2 (en) 2015-02-19
JP6487433B2 (ja) 2019-03-20
EP3022864B1 (en) 2020-02-05
KR20160034931A (ko) 2016-03-30

Similar Documents

Publication Publication Date Title
CN109040090B (zh) 一种数据加密方法及装置
JP6307665B2 (ja) 再生不能通信セッションのためのシステムおよび方法
US9813392B2 (en) Apparatus and method for providing a public key for authenticating an integrated circuit
CN105940439B (zh) 使用排列应对对密码算法的旁通道攻击的对策
US9712319B2 (en) Method and apparatus to encrypt plaintext data
JP6487433B2 (ja) ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法
US10243727B2 (en) Method and system for constant time cryptography using a co-processor
TW202009775A (zh) 從伺服器接收安全的軟體更新資訊的元件
JP2017536729A (ja) 安全な共有鍵共有システム及び方法
US9137011B2 (en) Rapid data encryption and decryption for secure communication over open channels with plausible deniability
CN105208028A (zh) 一种数据传输方法和相关装置及设备
JP2015528681A (ja) メッセージデータを保護するための装置および方法
US8804953B2 (en) Extensive ciphertext feedback
US20070005966A1 (en) Derivation of a shared keystream from a shared secret
US20150312228A1 (en) Remote station for deriving a derivative key in a system-on-a-chip device
CN115828310B (zh) 一种基于隐私计算的数据查询方法、装置及存储介质
US20230396432A1 (en) Methods and systems for updatable encryption
WO2018054144A1 (zh) 对称密钥动态生成方法、装置、设备及系统
KR101553148B1 (ko) 비트 확장 방식을 이용한 암호화 장치 및 방법
krishna Chaitanya et al. Simple And Efficient Data Encryption Algorithm
WO2017036251A1 (zh) 高级加密标准加解密方法和装置、存储介质
KR20090042624A (ko) 대칭키 암호 프로세싱 장치 및 방법
JP2019075733A (ja) 通信システム、通信装置、及びその方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190221

R150 Certificate of patent or registration of utility model

Ref document number: 6487433

Country of ref document: JP

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