JP2002518713A - データ依存性ローテーションを用いる強化型ブロック暗号 - Google Patents

データ依存性ローテーションを用いる強化型ブロック暗号

Info

Publication number
JP2002518713A
JP2002518713A JP2000555387A JP2000555387A JP2002518713A JP 2002518713 A JP2002518713 A JP 2002518713A JP 2000555387 A JP2000555387 A JP 2000555387A JP 2000555387 A JP2000555387 A JP 2000555387A JP 2002518713 A JP2002518713 A JP 2002518713A
Authority
JP
Japan
Prior art keywords
words
applying
result
bits
value based
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.)
Withdrawn
Application number
JP2000555387A
Other languages
English (en)
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 JP2002518713A publication Critical patent/JP2002518713A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

(57)【要約】 暗号化されるべき平文メッセージを多数のワード(例えば、レジスタA、B、CおよびDに格納された4つのワード)にセグメント化し、そして整数乗算関数(14、20)をそのワードのサブセット(例えば、レジスタBおよびDにおける2つのワードに)に適用する。そのような整数乗算を使用すると、暗号化の1回ごとに得られる拡散が大きく増加される。整数乗算関数(14、20)は、f(x)=x(ax+b)の形態の2次関数(ここでaは偶数であり、かつbは奇数である)であるか、またはより高次の多項式などの他の適切な関数であり得る。整数乗算関数の結果は、lgwビット分ローテーションされ(ここでlgは底2の対数を示し、そしてwは所定ワードのビット数である)、1組の中間結果tおよびuを生成する。別のワード(例えば、レジスタAにおけるワード)および中間結果のうちの1つ(例えば、t)の排他的論理和(18)は、他方の中間結果uによって決定される量だけローテーションされる(26)。同様に、結果uは、他方の中間結果tによって決定される量だけローテーションされる(30)。選択キーアレイの1エレメントは、これらのローテーション結果の各々に適用され(28、32)、そして次にレジスタ内容が転置される。このプロセスは、指定された回数繰り返され、暗号文メッセージを生成する。プレホワイトニング(10、12)およびポストホワイトニング(34、36)動作は、入力または出力がいずれの暗号化回についてもいずれの内部情報をも明らかにしないことを確実にするために含まれ得る。対応する復号化動作を使用して、暗号文メッセージが復号化され得る。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は概して暗号技術に関し、具体的には、暗号技術の適用例において暗号
化および復号化動作を実現するためのブロック暗号に関する。
【0002】 (発明の背景) 慣用ブロック暗号型暗号システムでは、平文メッセージは、秘密キーを用いて
暗号化され、暗号化された形で送信される。受信器は、同じ秘密キーを用いて暗
号化メッセージを復号化し、平文メッセージを復元する。慣用ブロック暗号の一
例は、データ暗号化規格(Data Encryption Standard
)(DES)の暗号である。DESおよびその他の慣用ブロック暗号は、B.S
chneier,Applied Cryptography,pp.154−
185およびpp.219−272,John Wiley & Sons,N
ew York,1994に記載されている。本明細書において、上記文献を参
考として援用する。データ依存性ローテーションを用いる改良されたブロック暗
号は、発明者R.L.Rivestの名前で1998年3月3日に発行された米
国特許第5,724,428号に記載されている。本明細書において、上記米国
特許を参考として援用する。この改良された暗号は、RC5TMと呼ばれる。これ
は、米国特許第5,724,428号の譲受人であるカリフォルニア州レッドウ
ッドシティ(Redwood City)のRSA Data Securit
y,Inc.の商標である。例示的実施形態におけるRC5TMブロック暗号は、
性能の向上を提供している。この性能の向上は、一部には、データ依存性ローテ
ーションの使用によるものである。このデータ依存性ローテーションでは、中間
暗号化結果の所与のワードは、別の中間結果の下位ビットにより決定される量だ
け循環的にローテーションされる。
【0003】 RC5TMブロック暗号のセキュリティは、例えば以下の文献において分析され
ている。B.S.Kaliski Jr.およびY.L.Yin、「On Di
fferential and Linear Cryptanalysis
of the RC5TM Encryption Algorithm」、D.
Coppersmith,ed.,Advances in Cryptolo
gy−Crypto ’95,Vol.963 of Lecture Not
es in Computer Science,pp.171−184,Sp
ringer Verlag,1995;L.R.Knudsenおよび W.
Meier,「Improved Differential Attacks
on RC5TM」,N.Koblitz,ed.,Advances in
Cryptology−Crypto ’96,Vol.1109 of Le
cture Notes in Computer Science,pp.2
16−228,Springer Verlag,1996;A.A.Selc
uk,「New Results in Linear Cryptanaly
sis of RC5TM」,S.Vaudenay,ed.,Fast Sof
tware Encryption,Vol.1372 of Lecture
Notes in Computer Science,pp.1−16,S
pringer Verlag,1998;ならびにA.Biryukovおよ
びE.Kushelevitz,「Improved Cryptanalys
is of RC5TM」,Advances in Cryptology−E
urocrypt ’98,Lecture Notes in Comput
er Science,Springer Verlag,1998。本明細書
において、上記文献のすべてを参考として援用する。これらの分析は、RC5TM の構造および動作がそのセキュリティにどのように寄与するかについて、より多
くの理解を与えている。RC5TMへの実際的なアタックは見られないものの、上
記の引用文献は、多数の興味深い理論的アタックを示している。
【0004】 故に、本発明の目的は、上記の理論的アタックの1つ以上を阻止することによ
り追加のセキュリティを示すだけでなく、暗号技術の幅広い様々な適用例におい
て、より高い実現性をも示す、さらに改良されたブロック暗号を提供することで
ある。
【0005】 (発明の要旨) 本発明は、データ依存性ローテーションが、整数乗算の形である追加の基本的
演算の影響を受ける、改良されたブロック暗号を提供する。そのような整数乗算
の使用は、暗号化の1ラウンドあたりに達成される拡散を大きく増加し、1ラウ
ンドあたりのより高いセキュリティと、スループットの増加とを可能にする。整
数乗算は、データ依存性ローテーションに関するローテーション量を計算するた
めに使用され、ローテーション量は、RC5TMブロック暗号の上記実施形態の場
合のように下位ビットだけに依存するのではなく、所与のレジスタのビットの実
質的にすべてに依存する。
【0006】 本発明の例示的実施形態では、暗号化される平文メッセージは、レジスタA、
B、CおよびDに格納される4ワードにセグメント化され、これらのワードのう
ちレジスタBおよびDの2ワードに対して、整数乗算関数が適用される。整数乗
算関数は、f(x)=x(ax+b)の形の二次関数であってもよく、ここで、
aは偶数の整数であり、bは奇数の整数である。二次よりも大きい多項式などの
その他の種類の関数は、別の実施形態で使用され得る。上記例示的実施形態にお
ける整数乗算関数の結果が、lg wビットだけローテーションされ、中間結果
の対tおよびuを生成する。ここで、lgは、底が2である対数を示し、wは、
所与のワードのビット数である。別のレジスタ、例えばAの内容と、中間結果の
一方、例えばtとの排他的論理和が、他方の中間結果uにより決定される量だけ
ローテーションされる。同様に、残りのレジスタDの内容と、中間結果uとの排
他的論理和が、他方の中間結果tにより決定される量だけローテーションされる
。これらのローテーション結果の各々に対して秘密キーアレイの要素が適用され
、次いで、レジスタ内容が転置される。このプロセスが指定ラウンド数について
繰り返され、暗号文メッセージを生成する。入力または出力がいかなる暗号化ラ
ウンドに関するいかなる内部情報も明かさないことを確実にするために、プレホ
ワイトニングおよびポストホワイトニング動作が含まれてもよい。例えば、レジ
スタBおよびDの値は、これらの値に秘密キーアレイの要素を適用することによ
り、最初のラウンドの開始前にプレホワイトニングされ得る。同様に、レジスタ
AおよびCの値は、これらの値に秘密キーアレイの要素を適用することにより、
指定ラウンド数の終了後、ポストホワイトニングされ得る。元の平文メッセージ
を復元するために、対応する復号化動作が使用され得る。
【0007】 (発明の詳細な説明) 以下に説明される本発明の例示的実施形態は、米国標準技術協会(Natio
nal Institute of Standards and Techn
ology)(NIST)によって示される次世代暗号標準(Advanced
Encryption Standard)(AES)の要件を満たすように
設計される。AESの要件を満たすためには、ブロック暗号は、128ビットの
入力および出力ブロックを扱わなければならない。AES用の特定のターゲット
アーキテクチャおよび言語はまだ、効率的かつ完全な態様で64ビット動作をサ
ポートしていない。以下に説明される例示的実施形態は、4つの32ビットレジ
スタを使用する。このように、本発明は、現代のプロセッサ上で効率的に実現さ
れる、整数乗算などの32ビット動作を利用する。
【0008】 本発明による例示的なブロック暗号は、RC6TMと呼ばれる。これは、本願の
譲受人である、カリフォルニア州レッドウッドシティ(Redwood Cit
y)のRSA Data Security,Inc.の商標である。上記のR
C5TMブロック暗号と同様に、本発明によるRC6TMブロック暗号は、暗号化ア
ルゴリズムのパラメータ化されたファミリーであるとみなされ得る。RC6TM
所与のバージョンは、RC6TM−w/r/bとして特定することができる。ここ
で、ワードサイズは、wビットであり、暗号化プロセスは、負でないラウンド数
rを含み、bは、暗号化キー長をバイト長で示す。AESに特に関連するのは、
RC6TMの、16、24および32バイトのキーを用いるバージョンである。例
示的実施形態の変形例のすべてについて、RC6TM−w/r/bは、以下の6つ
の基本演算を用いて4つのwビットワードに対して作用する。wの底2の対数は
、lg wで示される。
【0009】
【数1】 なお、以下のRC6TMの説明において、「ラウンド」という用語は、ラウンド
の、より確立したDES同様の概念に従うものである。即ち、データの半分が他
方の半分により更新され、次いで、これらの2つが交換される。所与のRC5TM ラウンドが2つのハーフラウンドを含むというように、RC5TMブロック暗号の
様々な説明は、「ハーフラウンド」という用語を用いて、このタイプのアクショ
ンを説明している。本発明の説明は、「ラウンド」の、より確立した意味を用い
る。
【0010】 図1は、本発明の例示的実施形態による暗号化プロセスを示す。上記のように
、例示的実施形態は、4つのwビット入力レジスタを使用する。これらのレジス
タはA、B、CおよびDとして示され、暗号化される初期平文メッセージを含む
とともに、暗号化終了時には、出力暗号文メッセージを含む。A、B、Cおよび
Dの記号はまた、ここでは、レジスタの内容を指すためにも使用される。平文ま
たは暗号文の最初のバイトは、Aの最下位バイトに入れられ、平文または暗号文
の最後のバイトは、Dの最上位バイトに入れられる。演算(A,B,C,D)=
(B,C,D,A)は、右側の値の、左側のレジスタへの並列割り当てを示す。
図1の暗号化プロセスにおいて、ユーザは、bバイトのキーを供給する。必要で
あれば、余分のゼロバイトがキーに付加され、キー長を、4バイトのゼロでない
倍数にする。これから、2r+4wビットのワードが得られ、アレイS[0,.
..,2r+3]に格納される。このアレイは、暗号化および復号化の両方にお
いて用いられる。キースケジュールの追加の局面は、図5に関して以下に説明さ
れる。
【0011】 図1の暗号化プロセスへの入力は、レジスタA、B、CおよびDに格納された
平文メッセージと、指定のラウンド数rと、上記のアレイS[0,...,2r
+3]の形のwビット秘密キーと、を含む。出力暗号文は、レジスタA、B、C
およびDに格納される。暗号化プロセスのステップは、図1において擬似コード
として示され、図2のプロセス図で示される。図2を参照して、水平方向の破線
間の演算は、rラウンドの各ラウンドについて、擬似コードのforループにお
いて繰り返される。ループに入る前に、秘密キーアレイからのS[0]を用いた
演算10で、レジスタBの内容の和が求められ、そして、アレイからのS[1]
を用いた演算12で、レジスタDの内容の和が求められる。これらの演算は、平
文が暗号化の最初のラウンドへの入力の部分を明らかにするのを防ぐ「プレホワ
イトニング」を提供する。
【0012】 Bのプレホワイトニング値は、関数f(x)=x(2x+1)を生成する演算
14に供給される。ここで、xは、関数の入力である。即ち、演算14における
Bのプレホワイトニング値である。以下の形の一般関数は、以下の特性を有する
。 f(x)=x(ax+b)(mod2W) (i)aが偶数であり、かつ、bが奇数であるとき、f(x)は、それ自体に{
0,1,...,2W−1}を写像する。即ち、f(x)は、各入力xが異なる
結果を与えるような転置である。そして、(ii)a=2かつb=1であるとき
、入力xのすべてのビットは、ほとんどの入力xについて、f(x)の上位lg wビットへの何らかの影響を有する。上記関数f(x)=x(2x+1)は、
特性(i)および(ii)を与える整数乗算関数の例である。より高次の多項式
を含む、上記のまたは同様の特性を与えるその他の関数は、本発明の別の実施形
態において使用され得る。そのような代替例の1つは、aがゼロであり、かつ、
bがラウンドごとに変わる奇数の整数である関数である。なお、上に示された形
の一般関数の出力に、mod 2Wを取っているが、これは、本発明による整数
乗算関数の必要条件ではない。本明細書において用いられる「整数乗算関数」と
いう用語は、整数乗算自体を含む、整数乗算を伴ういかなる関数をも含むものと
して理解されるべきである。
【0013】 演算14の出力は、(Bx(2B+1))に相当し、次いで、演算16におい
てlg wビットだけ左にローテーションされる。その結果得られたtについて
、演算18において、tの排他的論理和演算がAを用いて行われる。演算20に
おいて、同じ関数f(x)=x(2x+1)がDのプレホワイトニングされた値
に与えられる。演算20の出力は、(Dx(2D+1))に相当し、演算22に
おいてlg wビットだけ左にローテーションされる。その結果得られたuにつ
いて、演算24において、uの排他的論理和演算がCを用いて行われる。演算2
6において、Aおよびtの排他的論理和演算の結果は、uの最下位ビットlg
wビットにより与えられる量だけローテーションされ、工程28において、その
ローテーション結果に対して、秘密キーアレイのエレメントS[2i]が加算さ
れる。演算30において、Cおよびuの排他的論理和演算の結果は、tの最下位
ビットlg wビットにより与えられる量だけ左にローテーションされ、工程3
2において、そのローテーション結果に対して、秘密キーアレイのエレメントS
[2i+1]が加算される。次に、演算(A、B、C、D)=(B、C、D、A
)が与えられ、これにより、AはBのプレホワイトニングされた値を受け取り、
レジスタBは演算32の出力を受取り、レジスタCはDのプレホワイトニングさ
れた値を受け取り、レジスタDは演算28の出力を受け取る。上述したように、
図2中の横方向の点線間の演算をrラウンド繰り返す。rラウンドの演算が終了
する際、AおよびCの値はそれぞれ「ポストホワイトニング」演算34および3
6を受け、これにより、結果として生じた暗号文の入力のあらゆる部分が、暗号
化の最終ラウンドまで外部に漏れないことが保証される。演算34および36で
は、AおよびDの値それぞれにエレメントS[2r+2]およびS[2r+3]
が加算され、これにより、AおよびDのポストホワイトニングされた値が生成さ
れる。こうすることにより、レジスタA、B、CおよびDは、オリジナルの平文
に対応する暗号文を含む。
【0014】 上記に付随する復号化工程が、図3に擬似コードとして示され、図4にプロセ
ス図として示されている。復号化プロセスに入力されるのは、4つのwビットの
レジスタA、B、CおよびD中に格納されている暗号文、ラウンドの数r、およ
び秘密ラウンドキーアレイS[0,...,2r+3]である。復号化プロセス
から出力されるのは、オリジナルの平文である。演算40および42では、Aお
よびCの値を更新して、図2のポストホワイトニング演算34および36をそれ
ぞれ反転する。次いで、図4中の横方向の点線間の演算が、それぞれrラウンド
繰り返され、図3の擬似コード中のforループ中の演算に一致する。このルー
プ中において、演算(A、B、C、D)=(D、A、B、C)が与えられ、これ
により、AはDの値を受け取り、レジスタBは演算40で生成されたAの修正値
を受取り、レジスタCはBの値を受け取り、レジスタDは演算42で生成された
Cの修正値を受取る。
【0015】 演算44において、関数f(x)=x(2x+1)がDに与えられ、その結果
は、(Dx(2D+1))に相当し、演算46においてlg wビットだけ左に
ローテーションされ、これによりuが生成される。同様に、演算50において、
関数f(x)=x(2x+1)がBに与えられ、その結果は、(Bx(2B+1
))に相当し、演算52においてlg wビットだけ左にローテーションされ、
これによりtが生成される。演算54において、秘密キーアレイのエレメントS
[2i+1]がCから減算され、その結果は、演算56において、tの最下位ビ
ットlg wビットだけ右にローテーションされる。演算58において、Cはu
の排他的論理和演算の結果と、ローテーション演算56の出力とをとる。同様に
、演算60において、秘密キーアレイのエレメントS[2i]がAから減算され
、その結果は、演算62において、uの最下位ビットlg wビットだけ右にロ
ーテーションされる。演算64において、ローテーション演算62の出力を用い
て、Aはtの排他的論理和演算の結果をとる。rラウンドの演算が終了した後、
演算66および68により、DおよびBの値が更新され、これにより図2のプレ
ホワイトニング演算12および10が反転する。
【0016】 上述した例示的実施形態は、従来のRC5TMブロック暗号に対して、少なくと
も2つの有意な相違点を含む。これらの相違点とは、2次関数f(x)=x(2
x+1)の導入と、lg wビットだけ固定ローテーションする点である。2次
関数を用いる点は、拡散速度を大幅に高速化することにより、RC5TMの場合よ
りもずっと早く、簡単な微分がローテーション量をスポイルする機会を改善する
ことを意図している。BおよびDを2次式で変換した値は、BおよびDの代わり
にレジスタAおよびCへの加算物として用いられ、これにより、(この変換は転
置であるため、)エントロピーを失うことなく暗号の非線形性が増加する。この
固定されたローテーションは、線形暗号の復号化および微分暗号の復号化の両方
を妨げる意味で、簡単ではあるが重要な役割を果たす。
【0017】 図5は、図1〜4の例示的実施形態において用いられる秘密キーアレイS[0
,...,2r+3]を生成する際に用いるのに適したキースケジュールの一例
を示す。図5のキースケジュールは、RC5TMで用いられるキースケジュールと
類似し、上記の米国特許第5,724,428号にその詳細が記載されているが
、暗号化および復号化の間、ユーザに供給されたキーからより多くのワードを導
出する。このキースケジュールは、変数i、j、vおよびsと共に、2つのwビ
ットのレジスタAおよびBを用いる。キースケジュールに入力されるのは、ユー
ザに供給されたbバイトのキーと、ラウンドの数rである。出力されるのは、w
ビットのラウンドキーのアレイS[0,...,2r+3]である。必要な場合
は、さらなる0バイトがユーザに供給されたキーに追加され、これにより、キー
の長さは、ゼロ以外のw/8バイトの倍数となる。これは、c wビットのワー
ドのシーケンス(L[0],...,L[c−1])として格納され、キーの第
1のバイトは下位バイトL[0]などとして格納され、必要ならばL[c−1]
は上位ゼロバイトでパディングされる。b=0の場合、c=1かつL[0]=0
である点に留意されたい。
【0018】 図5に示すキー生成において、エレメントS[0]は、指定された定数Pwに
初期化される。第1の「for」ループにおいて、エレメントS[i]は定数Q w を用いて初期化され、値A、B、iおよびjはゼロに設定される。第2の「f
or」ループは、秘密キーアレイに対して、wビットのワードを生成する。ラウ
ンドキーに対して生成されるwビットのワード数は2r+4であり、これらは、
アレイS[0,...,2r+3]に格納される。図5中の定数PwおよびQw
、例えば、P32=B7E15163およびQ32=9E3779B9(16進法)
、すなわち、米国特許第5,724,428号中のRC5TMキースケジュールに
関して用いられたいわゆる「マジック定数」である。P32の値は、e−2の2進
数展開から導出される(eは、自然対数関数の底)。Q32の値は、Φ−1の2進
数展開から導出される(Φは、黄金比)。ワードサイズの異なるRC6TMのバー
ジョンの場合、P64、Q64などについて同様の定義を用いることができる。これ
らの値はある程度まで任意のものであり、本発明の別の実施形態において他の値
を用いることが可能である点に留意されたい。他の適切なキースケジュールもま
た、図5のキースケジュールの代わりに用いることができる。
【0019】 図6は、本発明の実行可能なインプリメンテーションの1つを示す。セキュア
な通信システム100は、チャンネル116を通じて通信するトランスミッタ1
12とレシーバ114とを含む。平文メッセージは、トランスミッタ112の入
力部118に与えられ、図1および2に関連して説明した暗号化技術を用いて処
理され、これにより、生成された暗号メッセージは、チャンネル116を通じて
レシーバ114へと送信される。レシーバ114は、図3および4に関連して説
明した復号化技術を用いてこの暗号メッセージを処理し、これにより、出力部1
20において対応する平文メッセージが生成される。この実施形態において、こ
の暗号技術は、前述したレジスタA、B、C、およびDを含むプロセッサ130
により実行されるソフトウェア中にインプリメントされ得る。暗号化を行うため
のソフトウェア命令は、メモリ132中に格納され得、プロセッサ130はメモ
リ132からこれらのソフトウェア命令を取り出し、実行する。同様に、復号化
命令は、やはりレジスタA、B、C、およびDを含むプロセッサ140により実
行されるソフトウェア中にインプリメントされ得る。復号化を行うためのソフト
ウェア命令は、メモリ142中に格納され得、プロセッサ140はメモリ142
からこれらのソフトウェア命令を取り出し、実行する。レジスタA、B、C、お
よびDは、プロセッサ130および140の内部に設ける必要はなく、別の実施
形態においては、例えば各メモリ132および142の一部であり得る。本発明
のソフトウェアインプリメンテーションは、この本発明の例示的実施形態におい
て、利用可能なマイクロプロセッサにより適切にサポートされている基本的演算
(例えば、加算、減算、乗法、排他的論理和演算、およびローテーション演算な
ど)を用いている点において非常に効率が良い。
【0020】 トランスミッタ112およびレシーバ114は、例えば、コンピュータ、また
はローカルエリアネットワーク、広域ネットワーク、イントラネット、インター
ネットもしくは他のあらゆる適切なネットワークで接続された他のデジタルデー
タ処理デバイスであり得る。あるいは、トランスミッタ112はスマートカード
であり得、レシーバ114はカード読み取り装置であり得る。このような実施形
態において、通信チャンネル116は、カードが読み取り装置に挿入される際、
カードと読み取り装置との間で設定される接続部となる。本発明の上記および他
の実施形態において、暗号化および復号化プロセスは、ハードワイヤード演算回
路を用いてプロセッサ130および140内に直接的にインプリメントされ得る
。さらに別の実施形態において、暗号化および復号化をインプリメントするため
に、ハードウェアとソフトウェアとの組み合せが用いられ得る。本発明はまた、
コンピュータで読み取り可能な媒体(例えば、磁気ディスク、光学的コンパクト
ディスク、または電子メモリなど)に格納されるソフトウェアの形態でインプリ
メントすることもできる。本明細書中で用いられる「プロセッサ」という用語は
、マイクロプロセッサ、中央演算処理装置(CPU)、マイクロコントローラも
しくは他のコンピュータの処理ユニット、セットトップボックス、スマートカー
ド、カード読み取り装置、無線端末、私用デジタル補助装置もしくは他の通信デ
バイス、特定用途向け集積回路(ASIC)、プログラム可能なゲートアレイ(
FPGA)デバイスもしくは図1〜4に関連して述べた演算を1つ以上提供する
よう設定された他の種類のハードウェア、またはハードウェア、ソフトウェアも
しくはこれらの組み合せを用いて本発明による暗号化演算もしくは復号化演算の
少なくとも一部をインプリメントすることが可能なあらゆる他の種類のデバイス
を含むものと理解されるべきである。「メモリ」という用語は、電子的ランダム
アクセスメモリ(RAM)もしくは上記で定義したプロセッサの外部にある他の
種類のメモリ(例えば、図6のメモリ132または142など)、またはプロセ
ッサの内部にあるメモリ(例えば、図6中のレジスタA、B、C、およびDを含
むプロセッサメモリなど)を含むものとして理解されるべきである。
【0021】 以下の表1は、上述した暗号化および復号化プロセスについての例示的パフォ
ーマンス測定結果を示す。表中のパフォーマンス値は、キーセットアップを含ん
でいないため、任意のキーサイズbに適用可能である。RC6TM−32/20/
bの最適化ANSI Cインプリメンテーションについての表中のパフォーマン
ス値は、AES提出要求に規定されているような、Borland社のC++開
発スイート5.0中のコンパイラを用いて得られた。パフォーマンス測定は、R
AMが32MByteで266MHzのPentium IIコンピュータをW
indows 95を稼動させて行った。タイミング測定の精度を上げるため、
タイミング試験を行っている間、プロセッサ上のマスカブルインターラプトをデ
ィセーブルした。RC6TM−32/20/16のアセンブリ言語によるインプリ
メンテーションについて示されている値は、同様の条件下のもと、同じコンピュ
ータで得られた。RC6TM−32/20/bの最適化Javaインプリメンテー
ションについてのパフォーマンス測定は、RAMが64MByteで180MH
zのPentium IIコンピュータをWindowsNT 4.0を稼動さ
せて行った。このインプリメンテーションは、JavasoftのJDK1.1
.6コンパイラ上でコンパイルされ、その結果得られたバイトコードのパフォー
マンスは、(JITのコンパイルをディセーブルした状態の)Javasoft
のJDK1.1.6インタープリタおよびSymantec社のJava! J
ustInTime Compiler Version 210.054のJ
DK 1.1.2の両方で測定された。表中の値は、200MHzに縮尺され、
AESにより規定された基準プラットフォームは、同等またはわずかに改善され
た値を生成することが予想される。表2は、比較目的のため、類似の方法を用い
て生成された、ANSI C、Java(JIT)およびアセンブリインプリメ
ンテーションについてのRC5TM−32/16/16の対応する値を示す。表1
および2は、上述した演算を10回以上実行して生成された値の平均値である。
【0022】
【表1】
【0023】
【表2】 RC6TM−32/20/b暗号化処理が、表2のソフトウェアインプリメンテ
ーションの3つの例の各々について、200MHzでのMビット/秒において、
対応するRC5TM−32/16/16暗号化処理よりも、大きいスループットを
提供することが明らかである。上述したように、表1および2に示した暗号化に
かかる時間は、キー設定を含まず、ユーザが供給するキーの長さと関係がない。
RC6TM−32/20/bおよびRC5TM−32/16/bの両方に必要なキー
設定は、ほぼ同じであると予想される。ANSI Cの場合のタイミングは、単
一の、3000ブロックからなるデータのピースを、暗号化または復号化するこ
とによって得られた。JAVAおよびアセンブリにおけるタイミングは、単一の
ブロックを10,000回暗号化または復号化することによって得られた。より
速いインプリメンテーションが、充分可能であり得る。
【0024】 スマートカードおよび他の同様のデバイスにおいて見受けられるような、8ビ
ットプラットフォームにおけるRC6TM−32/20/16の性能について、評
価が与えられる。具体的には、評価は、Intel MSC−51マイクロコン
トローラ系について考慮される。この評価は、同様の命令セットおよびタイミン
グを有する、Philips 80C51系等の他のタイプのプロセッサに対し
て適用されると考慮され得ることが予想される。RC6TM−32/20/16暗
号化の所与のラウンドは、6つの加算、2つの排他的OR、2つの二乗化、lg 32=5ビットによる2つの左ローテーション、可変的な量rによる2つの左
ローテーションを含む。これは、(Bx(2B+1))=2B2+Bを1つの二
乗化、および2つの加算とみなしていることに留意しなければならない。これら
の基本的な動作は、アドレッシング命令を無視して、以下の様式で、8ビットプ
ロセッサにおいて実現され得る。
【0025】 1.32ビット加算が、桁上げする4つの8ビット加算を用いて計算され得る
(ADDC)。
【0026】 2.32ビットの排他的ORは、4つの8ビットの排他的ORを用いて計算さ
れ得る(XRL)。
【0027】 3.32ビット二乗化は、6つの8ビット掛ける8ビットの乗算(MUL)お
よび11個のADDCを用いて計算され得る。64ビットプロダクトの低い方の
32ビットのみが必要とされるで、6つの乗算で十分であることに留意しなけれ
ばならない。
【0028】 4.32ビットのワードを左に5つだけローテーションすることは、ワードを
右に1ビット位置だけ3回ローテーションし、その後、4バイトの順列を計算す
ることによって計算され得る。1ビット位置だけワードを右にローテーションす
ることは、桁上げする4バイトローテーションを用いて行われ得ることに留意し
なければならない(RRC)。
【0029】 5.32ビットのワードを左にrだけローテーションすることは、ワードを左
または右に1ビット位置だけ、r’回(r’≦4、平均は2)ローテーションし
、その後、適切に4バイトの順列を計算することによって計算され得る。rの5
ビットを用いて、r’および、ジャンプを用いて制御され得る順列を決定する(
JB)。
【0030】 6.ほとんどの命令は、1つのサイクルをとるが、4つのサイクルをとるMU
L、および2つのサイクルをとるJBは除く。
【0031】 上記の結果を用いて、8ビットマイクロコントローラ、または他の同様のプラ
ットフォームにおけるRC6TM−32/20/16の1つのラウンドを実現する
ために必要とされるプロセッサクロックサイクルの総数が、以下の表3にまとめ
られている。
【0032】
【表3】 アドレシング命令、プレホワイトニング、ポストホワイトニング、および任意
のさらなるオーバーヘッドを慎重に考慮すると、RC6TM−32/20/16で
1ブロックのデータを暗号化するために、約(174×20)×4=13,92
0サイクルが必要であると、本発明者らは推定する。Intel MCS−51
マイクロコントローラ上での1サイクルに1マイクロ秒かかると仮定すると、こ
の特定のプロセッサ上での、RC6TM−32/20/16の暗号化速度について
の推定値は、約(1,000,000/13,920)×128=9.2キロビ
ット/秒である。キーセットアップについて、図5のプロセスにおける主なトル
ープは、「セカンドフォーループ(second for loop)」である
。b=16、24、32およびr=20について、このループにおける繰り返し
の回数は、r=max{20×2+4,b/4}=132であり、これはbとは
関係がない。「セカンドフォーループ」における各繰り返しは、4回の32ビッ
トの加算、左へ3だけ1回のローテーション、および左へrだけ1変数回のロー
テーションを用いる。さらに、オーバーヘッドとして含まれる、数回の8ビット
演算が行われる。暗号化プロセスについて上で分析したのと同様の分析に従うと
、各繰り返しについて推定される合計サイクル数は、アドレシング命令を無視す
ると、52である。再び、さらなるオーバーヘッドについて慎重に推定を行なう
と、128ビットのキー、192ビットのキー、または256ビットのキーをセ
ットアップするために、約(52×132)×4=27,456サイクルが必要
である(これは、Intel MCS−51マイクロコントローラ上では、約2
7ミリ秒が必要である)と、本発明者らは推定する。
【0033】 次に、本発明のカスタムまたはセミカスタムハードウェアインプリメンテーシ
ョンのためのハードウェア要求の推定を提供する。最も関係のあるパラメータは
シリコン面積、スピード、および32×32整数乗算の消費電力である。この乗
算は、標準的な0.25ミクロンCMOSプロセスの場合120×100ミクロ
ン(0.012mm2)の面積、各乗算動作につき約3ns、および約5ミリワ
ットの消費電力を要求し得ると推定される。32ビット可変ローテーション、す
なわち「バレルシフタ」は、少なく見積もっても乗算器の面積の半分(0.00
6mm2)を占め、各動作につき1nsを要すると推定される。また、32ビッ
トフル加算器は、フル乗算器面積の4分の1および約1nsを要すると推定され
る。さらに、関数f(x)=x(2x+1)(mod2w)は、32×32のフ
ル乗算器を実現する代わりに、64ビットの積の下位32ビットを返す乗算器の
みを用いて演算することができる。そのような「部分的」乗算器はフル乗算器の
面積の約60%を占め、約3nsの演算時間を要すると推定される。32ビット
排他的ORについては面積ゼロかつ演算時間ゼロと推定し、32ビット搬送−伝
播加算については0.003mm2の面積および1nsの演算時間と見積もれば
、総要求面積は約0.016mm2であり総要求演算時間は5nsである。効率
的なインプリメンテーションのためには、2つのそのような回路群を1つのチッ
プ上に含めてもよい。その結果、総面積はRC6TM−32/20/16に直接関
連する部分について約0.032mm2であり、制御、入力/出力およびその他
のオーバーヘッド動作についてさらに0.018mm2である。このハードウェ
アインプリメンテーション例において必要となる総演算面積は従って、0.05
mm2のオーダーである。消費電力は面積に比例すると仮定すれば、総電力予算
は約21ミリワットである。ブロック毎につき20ラウンドとすれば、各ブロッ
クについて総暗号化時間は約5×20=100nsであり、約1.3Gbits
/秒というデータレートの推定が得られる。復号化時間は暗号化に必要な時間と
同様であると考えられ、暗号化時間および復号化時間の両方とも、ユーザが供給
するキーの長さに対して独立であると考えられる。上記推定はやや概算であるが
、少なめに推定していることに留意されたい。例えば、32×32ビットのフル
乗算器を実現する代わりに、下位32ビットを返す乗算器のみを用いること、あ
るいは自乗用の回路を実現することにより、節約が可能であり得る。また、メイ
ン暗号化ループ20を使用モードによっては20回「戻す(unwind)」こ
とにより、追加的な面積および消費電力を代償とするが大きく改善された性能が
可能になる。
【0034】 セキュリティに関して、RC6TMに対する最良のアタックは、ユーザによって
提供された暗号キーを徹底的にサーチすることであると考えられる。微分および
線形暗号解読などのより高度なアタックをマウントするためのデータに対する要
件は、入手可能なデータを超えることが示され得る。さらに、いわゆる「弱い」
キーの公知例はない。
【0035】 本明細書に記載する暗号化および復号化技術は一例であり、本発明をいずれか
の特定の実施形態または実施形態群に限定すると解釈されるべきではないことが
再び強調されるべきである。別の実施形態は、2より大きい次数を有する多項式
を含む、上述した例としての2次の多項式以外の関数を用い得る。加えて、関数
のアウトプットを、mod2wと考える必要はない。さらに、一実施形態で32
ビットワードおよび対応する128ビットのブロックサイズを用いて説明したが
、本発明の適用範囲は、必要に応じて他のブロックサイズに容易に広げられ得る
。例えば、本発明は、次世代システムアーキテクチャによって提供される性能を
利用するために、64ビットワードサイズおよび対応する256ビットのブロッ
クサイズによって構成され得る。さらに、図1〜図4に示す実施形態は、暗号化
および復号化ルーチンにおいて、ある度合いの並行処理を利用することを可能に
する。例えば、各ラウンドでのtおよびuの演算は、AおよびCなどの値の更新
と同様、並行して実行され得る。そのため、本発明の実施形態は、プロセッサが
増加する内部並行処理量を含むようになるに従って向上するスループットを示す
と予想される。添付の請求の範囲に含まれる、これらおよび他の多くの別の実施
形態は、当業者にとって十分明らかである。
【図面の簡単な説明】
【図1】 本発明の例示的実施形態による例示的な暗号化プロセスを示す。
【図2】 本発明の例示的実施形態による例示的な複号化プロセスを示す。
【図3】 図1の暗号化プロセスに関わる計算を説明する図である。
【図4】 図2の復号化プロセスに関わる計算を説明する図である。
【図5】 本発明による例示的なキー生成プロセスを示す。
【図6】 本発明による暗号化および復号化プロセスを組み込む例示的システムを示す。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年6月1日(2000.6.1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 データ依存性ローテーションを用いる強化型ブロック暗号
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,UZ,VN,YU,ZA,Z W (72)発明者 ロブシャウ, マシュー ジョン バート ン アメリカ合衆国 カリフォルニア 94117, サン フランシスコ, クレイトン ス トリート ナンバー4 711 (72)発明者 シドニー, レイモンド マーク アメリカ合衆国 カリフォルニア 94404, フォスター シティー, ディアズ レ ーン 952 (72)発明者 イン, イグン リサ アメリカ合衆国 カリフォルニア 94403, サン マテオ, ロシリー ストリート 327 Fターム(参考) 5J104 JA03 NA09 【要約の続き】 ーアレイの1エレメントは、これらのローテーション結 果の各々に適用され(28、32)、そして次にレジス タ内容が転置される。このプロセスは、指定された回数 繰り返され、暗号文メッセージを生成する。プレホワイ トニング(10、12)およびポストホワイトニング (34、36)動作は、入力または出力がいずれの暗号 化回についてもいずれの内部情報をも明らかにしないこ とを確実にするために含まれ得る。対応する復号化動作 を使用して、暗号文メッセージが復号化され得る。

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 平文メッセージを暗号化する方法であって、 (a)該平文メッセージを複数のワードにセグメント化するステップと、 (b)整数乗算を該ワードのうちの少なくとも1つに適用するステップと、 (c)該適用ステップ(b)の結果に基づいた値を第1のビット数だけローテ
    ーションするステップと、 (d)該ローテーションステップ(c)の適用の結果に基づいた値を、該ワー
    ドのうちの別の1つから得られた第2のビット数だけローテーションするステッ
    プと、 (e)該ステップ(d)の結果に基づいた値に秘密キーを適用するステップと
    、 (f)該ステップ(b)、(c)、(d)および(e)を指定回数繰り返すス
    テップとを含む方法。
  2. 【請求項2】 前記適用ステップ(b)、前記ローテーションステップ(c
    )および前記ローテーションステップ(d)の結果に基づいた値のうちの少なく
    とも1つが該対応の結果そのものである、請求項1に記載の方法。
  3. 【請求項3】 前記整数乗算関数が形式f(x)=x(ax+b)の2次関
    数(aおよびbは、整数)である、請求項1に記載の方法。
  4. 【請求項4】 前記aが偶数かつ前記bが奇数である、請求項3に記載の方
    法。
  5. 【請求項5】 前記aが0かつ前記bが回ごとに異なる奇数である、請求項
    3に記載の方法。
  6. 【請求項6】 前記整数乗算関数が形式f(x)=x(ax+b)(mod
    w)の2次関数であり、ここでwが前記ワードのうちの所定の1つにおけるビ
    ット数である、請求項3に記載の方法。
  7. 【請求項7】 前記ローテーションステップ(c)が、lgwによって与え
    られる所定のビット数だけ前記適用ステップ(b)の結果をローテーションする
    ステップを含み、ここでlgは底2の対数を示し、かつwは前記ワードのうちの
    所定の1つにおけるビット数である、請求項1に記載の方法。
  8. 【請求項8】 前記ステップ(a)が、前記平文メッセージを4つのワード
    にセグメント化するステップを含み、前記ステップ(b)が、整数乗算を該4つ
    のワードのうちの2つに適用するステップを含み、前記ステップ(c)が、該ス
    テップ(b)の2つの結果の各々を所定のビット数だけローテーションして2つ
    の対応の中間結果を生成するステップを含む、請求項1に記載の方法。
  9. 【請求項9】 前記ステップ(b)および(c)によって処理された前記2
    つのワードのうちの所定の1つに対して、前記ステップ(d)および(e)は、 (i)前記ワードのうちのその他のワードのうちの1つおよび前記2つの中間
    結果のうちの1つの排他的論理和を計算するステップと、 (ii)該中間結果のうちの他方の中間結果によって与えられる量だけ該ステ
    ップ(i)の結果をローテーションするステップと、 (iii)選択キーアレイのうちのエレメントを該ステップ(ii)の結果に
    適用するステップとを含む、請求項8に記載の方法。
  10. 【請求項10】 前記セグメント化ステップ(a)の一部として、前記複数
    のワードを対応する複数のレジスタに格納するステップと、前記適用ステップ(
    e)を実行した後、該レジスタの内容を転置するステップとをさらに含む、請求
    項1に記載の方法。
  11. 【請求項11】 前記ステップ(a)を実行する前に、前記複数のワードの
    少なくともサブセットを、秘密キーアレイの1つのエレメントを該サブセットに
    適用することによって、プレホワイトニングするステップをさらに含む、請求項
    1に記載の方法。
  12. 【請求項12】 前記ステップ(f)を実行した後に、前記複数のワードの
    少なくともサブセットを、秘密キーアレイの1つのエレメントを該サブセットに
    適用することによって、ポストホワイトニングするステップをさらに含む、請求
    項1に記載の方法。
  13. 【請求項13】 平文メッセージを暗号化するための装置であって、 秘密キーの少なくとも一部を格納するためのメモリと、 該メモリに関連するプロセッサであって、ここで該プロセッサは、 (a)該平文を複数のワードにセグメント化し、 (b)整数乗算を該ワードのうちの少なくとも1つに適用し、 (c)該適用動作(b)の結果に基づいた値を第1のビット数だけローテー
    ションするステップと、 (d)該ローテーション動作(c)の適用の結果に基づいた値を、該ワード
    のうちの別の1つから得られた第2のビット数だけローテーションし、 (e)該動作(d)の結果に基づいた値に秘密キーを適用し、そして (f)該動作(b)、(c)、(d)および(e)を指定回数繰り返すよう
    に動作する、プロセッサとを含む、装置。
  14. 【請求項14】 前記適用動作(b)、前記ローテーション動作(c)およ
    び前記ローテーション動作(d)の結果に基づいた値のうちの少なくとも1つが
    該対応の結果そのものである、請求項13に記載の装置。
  15. 【請求項15】 前記整数乗算関数が形式f(x)=x(ax+b)の2次
    関数(aおよびbは、整数)である、請求項13に記載の装置。
  16. 【請求項16】 前記aが偶数かつ前記bが奇数である、請求項15に記載
    の装置。
  17. 【請求項17】 前記aが0かつ前記bが回ごとに異なる奇数である、請求
    項15に記載の装置。
  18. 【請求項18】 前記整数乗算関数が形式f(x)=x(ax+b)(mo
    d2w)の2次関数であり、ここでwが前記ワードのうちの所定の1つにおける
    ビット数である、請求項15に記載の装置。
  19. 【請求項19】 前記回線動作(c)が、lgwによって与えられる所定の
    ビット数だけ前記適用動作(b)の結果をローテーションする動作を含み、ここ
    でlgは底2の対数を示し、かつwは前記ワードのうちの所定の1つにおけるビ
    ット数である、請求項13に記載の装置。
  20. 【請求項20】 前記動作(a)が、前記平文メッセージを4つのワードに
    セグメント化する動作を含み、前記動作(b)が、整数乗算を該ワードのうちの
    2つに適用する動作を含み、前記動作(c)が、該動作(b)の2つの結果の各
    々を所定のビット数だけローテーションして2つの対応の中間結果を生成する動
    作を含む、請求項13に記載の装置。
  21. 【請求項21】 前記動作(b)および(c)によって処理された前記2つ
    のワードのうちの所定の1つに対して、前記プロセッサがさらに: (i)前記ワードのうちのその他のワードのうちの1つおよび前記2つの中間
    結果のうちの1つの排他的論理和を計算する動作と、 (ii)該中間結果のうちの他方の中間結果によって与えられる量だけ該動作
    (i)の結果をローテーションする動作と、 (iii)選択キーアレイのうちのエレメントを該動作(ii)の結果に適用
    する動作とによって前記動作(d)および(e)を実施する、請求項20に記載
    の装置。
  22. 【請求項22】 前記プロセッサがさらに、前記セグメント化動作(a)の
    一部として、前記複数のワードを対応する複数のレジスタに格納し、かつ、前記
    適用動作(e)を実行した後、該レジスタの内容を転置するように動作する、請
    求項13に記載の装置。
  23. 【請求項23】 前記プロセッサがさらに、前記動作(a)を実行する前に
    、前記複数のワードの少なくともサブセットを、秘密キーアレイの1つのエレメ
    ントを該サブセットに適用することによって、プレホワイトニングするように動
    作する、請求項13に記載の装置。
  24. 【請求項24】 前記プロセッサがさらに、前記動作(f)を実行した後に
    、前記複数のワードの少なくともサブセットを、秘密キーアレイの1つのエレメ
    ントを該サブセットに適用することによって、ポストホワイトニングするように
    動作する、請求項13に記載の装置。
  25. 【請求項25】 平文メッセージを暗号化するための1つ以上のプログラム
    を格納するためのコンピュータ読み取り可能媒体であって、該1つ以上のプログ
    ラムが、実行時に、 (a)該平文メッセージを複数のワードにセグメント化するステップと、 (b)整数乗算を該ワードのうちの少なくとも1つに適用するステップと、 (c)該適用ステップ(b)の結果に基づいた値を第1のビット数だけローテ
    ーションするステップと、 (d)該ローテーションステップ(c)の適用の結果に基づいた値を、該ワー
    ドのうちの別の1つから得られた第2のビット数だけローテーションするステッ
    プと、 (e)該ステップ(d)の結果に基づいた値に秘密キーを適用するステップと
    、 (f)該ステップ(b)、(c)、(d)および(e)を指定回数繰り返すス
    テップとを実施する、コンピュータ読み取り可能媒体。
  26. 【請求項26】 暗号メッセージを復号化する方法であって、 (a)該暗号メッセージを複数のワードにセグメント化するステップと、 (b)整数乗算を該ワードのうちの少なくとも1つに適用するステップと、 (c)該適用ステップ(b)の結果に基づいた値を第1のビット数だけローテ
    ーションするステップと、 (d)該ローテーションステップ(c)の適用の結果に基づいた値を、該ワー
    ドのうちの別の1つから得られた第2のビット数だけローテーションするステッ
    プと、 (e)該ステップ(d)の結果に基づいた値に秘密キーを適用するステップと
    、 (f)該ステップ(b)、(c)、(d)および(e)を指定回数繰り返すス
    テップとを含む方法。
  27. 【請求項27】 暗号メッセージを復号化するための装置であって、 秘密キーの少なくとも一部を格納するためのメモリと、 該メモリに関連するプロセッサであって、ここで該プロセッサは、 (a)該暗号文を複数のワードにセグメント化し、 (b)整数乗算を該ワードのうちの少なくとも1つに適用し、 (c)該適用動作(b)の結果に基づいた値を第1のビット数だけローテー
    ションする動作と、 (d)該ローテーション動作(c)の適用の結果に基づいた値を、該ワードの
    うちの別の1つから得られた第2のビット数だけローテーションし、 (e)該動作(d)の結果に基づいた値に該秘密キーの一部を適用し、そして (f)該ステップ(b)、(c)、(d)および(e)を指定回数繰り返すよ
    うに動作する、プロセッサとを含む、装置。
JP2000555387A 1998-06-15 1999-06-15 データ依存性ローテーションを用いる強化型ブロック暗号 Withdrawn JP2002518713A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/094,649 1998-06-15
US09/094,649 US6269163B1 (en) 1998-06-15 1998-06-15 Enhanced block ciphers with data-dependent rotations
PCT/US1999/013358 WO1999066669A2 (en) 1998-06-15 1999-06-15 Block ciphers with integer multiplication, data-dependent and fixed number of rotations in each round

Publications (1)

Publication Number Publication Date
JP2002518713A true JP2002518713A (ja) 2002-06-25

Family

ID=22246358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000555387A Withdrawn JP2002518713A (ja) 1998-06-15 1999-06-15 データ依存性ローテーションを用いる強化型ブロック暗号

Country Status (8)

Country Link
US (2) US6269163B1 (ja)
EP (1) EP1090477A2 (ja)
JP (1) JP2002518713A (ja)
AU (1) AU761436B2 (ja)
CA (1) CA2335143A1 (ja)
IL (1) IL140269A0 (ja)
NO (1) NO20006385L (ja)
WO (1) WO1999066669A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007148665A1 (ja) * 2006-06-23 2007-12-27 Panasonic Corporation 暗号処理装置、データ変換方法、データ変換プログラム、記録媒体及び集積回路
WO2008026621A1 (fr) * 2006-09-01 2008-03-06 Sony Corporation Dispositif de codage, procédé de codage et programme informatique
JP2012215813A (ja) * 2011-03-28 2012-11-08 Sony Corp 暗号処理装置、および暗号処理方法、並びにプログラム
JP2016503195A (ja) * 2013-01-11 2016-02-01 クアルコム,インコーポレイテッド 計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置
JP2016527569A (ja) * 2013-08-08 2016-09-08 インテル・コーポレーション セキュア暗号ハッシュラウンド機能を提供する命令およびロジック

Families Citing this family (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171350A (ja) * 1996-12-10 1998-06-26 Hitachi Ltd ハッシュ値生成方法および装置
CA2302784A1 (en) 1997-09-17 1999-03-25 Frank C. Luyster Improved block cipher method
US6570988B1 (en) * 1999-06-09 2003-05-27 Microsoft Corporation Simple technique for implementing a cryptographic primitive using elementary register operations
US20030014627A1 (en) * 1999-07-08 2003-01-16 Broadcom Corporation Distributed processing in a cryptography acceleration chip
US7600131B1 (en) * 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip
DK1193665T3 (da) * 2000-03-09 2012-04-02 Mitsubishi Electric Corp Blokkrypteringsindretning, som anvender hjælpekonvertering
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
US7362859B1 (en) * 2000-10-06 2008-04-22 Sandia Corporation Enhancement of utilization of encryption engine
US7155011B2 (en) * 2001-03-13 2006-12-26 Victor Company Of Japan, Limited Encryption method, decryption method, and recording and reproducing apparatus
JP2003023421A (ja) * 2001-07-09 2003-01-24 C4 Technology Inc 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
US20030086564A1 (en) * 2001-09-05 2003-05-08 Kuhlman Douglas A. Method and apparatus for cipher encryption and decryption using an s-box
JP2003134106A (ja) * 2001-10-22 2003-05-09 Victor Co Of Japan Ltd 暗号化方法、復号化方法及び装置、並びに情報記録媒体
DE10229811A1 (de) * 2002-07-03 2004-01-15 Deutsche Telekom Ag Verschlüsselungsverfahren basierend auf Faktorisierung
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US7568110B2 (en) * 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US7191341B2 (en) 2002-12-18 2007-03-13 Broadcom Corporation Methods and apparatus for ordering data in a cryptography accelerator
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7263185B2 (en) 2003-02-27 2007-08-28 Realnetworks, Inc. Key based decipher including its generation, distribution and usage
EP1582023A4 (en) * 2003-03-27 2007-02-28 Nds Ltd ENHANCED ENCRYPTION SYSTEM IN CFM MODE
US7529367B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7532722B2 (en) * 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7529368B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7925891B2 (en) * 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7321910B2 (en) * 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7392400B2 (en) * 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7539876B2 (en) * 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7536560B2 (en) * 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7844053B2 (en) * 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7519833B2 (en) * 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7502943B2 (en) * 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US8060755B2 (en) * 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
EP1480371A1 (en) * 2003-05-23 2004-11-24 Mediacrypt AG Device and method for encrypting and decrypting a block of data
US7475331B1 (en) 2003-10-07 2009-01-06 Marvell International Ltd. Data dependent scrambler with improved global constraint
US20050102669A1 (en) * 2003-10-15 2005-05-12 Siemens Medical Solutions Usa, Inc. Software installation file verification media and methods for medical equipment
FR2862454A1 (fr) * 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
US20050210274A1 (en) * 2004-03-22 2005-09-22 Frantz Gene A Apparatus and method for intellectual property protection using the microprocessor serial number
US8533791B2 (en) 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
ES2420158T3 (es) * 2004-07-15 2013-08-22 Anakam, Inc. Sistema y método para bloquear un inicio de sesión de red no autorizado usando una contraseña robada
US8296562B2 (en) * 2004-07-15 2012-10-23 Anakam, Inc. Out of band system and method for authentication
US20100100967A1 (en) * 2004-07-15 2010-04-22 Douglas James E Secure collaborative environment
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US7676834B2 (en) * 2004-07-15 2010-03-09 Anakam L.L.C. System and method for blocking unauthorized network log in using stolen password
US7477741B1 (en) 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
WO2006040682A2 (en) * 2004-10-13 2006-04-20 Synaptic Laboratories Limited Process of and apparatus for encoding a digital input
KR100855958B1 (ko) * 2004-11-24 2008-09-02 삼성전자주식회사 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법
WO2007075154A2 (en) * 2004-12-06 2007-07-05 The Trustees Of The Stevens Institute Of Technology Method and apparatus for maintaining data integrity for block-encryption algorithms
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
US8226001B1 (en) 2010-06-23 2012-07-24 Fiteq, Inc. Method for broadcasting a magnetic stripe data packet from an electronic smart card
JP5186359B2 (ja) 2005-03-26 2013-04-17 プリバシーズ,インコーポレイテッド 電子ファイナンシャルトランザクションカードおよび方法
US8684267B2 (en) 2005-03-26 2014-04-01 Privasys Method for broadcasting a magnetic stripe data packet from an electronic smart card
US7620187B1 (en) 2005-03-30 2009-11-17 Rockwell Collins, Inc. Method and apparatus for ad hoc cryptographic key transfer
EP1882229B1 (en) * 2005-04-27 2014-07-23 Privasys, Inc. Electronic cards and methods for making same
EP1877948B1 (en) 2005-05-02 2013-07-03 NDS Limited Native scrambling system
US7793851B2 (en) * 2005-05-09 2010-09-14 Dynamics Inc. Dynamic credit card with magnetic stripe and embedded encoder and methods for using the same to provide a copy-proof credit card
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US7973607B1 (en) 2007-04-23 2011-07-05 Emc Corporation RTC circuit with time value adjustment
US9413686B2 (en) 2007-06-04 2016-08-09 Qualcomm Incorporated Establishing a unique end-to-end management key
US8060750B2 (en) * 2007-06-29 2011-11-15 Emc Corporation Secure seed provisioning
US8059814B1 (en) 2007-09-28 2011-11-15 Emc Corporation Techniques for carrying out seed or key derivation
US8553877B2 (en) * 2007-10-01 2013-10-08 Blackberry Limited Substitution table masking for cryptographic processes
US20090159703A1 (en) 2007-12-24 2009-06-25 Dynamics Inc. Credit, security, debit cards and the like with buttons
US7958354B1 (en) 2008-02-14 2011-06-07 Rockwell Collins, Inc. High-order knowledge sharing system to distribute secret data
US8307210B1 (en) 2008-05-02 2012-11-06 Emc Corporation Method and apparatus for secure validation of tokens
US7522723B1 (en) * 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US8579203B1 (en) 2008-12-19 2013-11-12 Dynamics Inc. Electronic magnetic recorded media emulators in magnetic card devices
US8931703B1 (en) 2009-03-16 2015-01-13 Dynamics Inc. Payment cards and devices for displaying barcodes
US8172148B1 (en) 2009-04-06 2012-05-08 Dynamics Inc. Cards and assemblies with user interfaces
US9329619B1 (en) 2009-04-06 2016-05-03 Dynamics Inc. Cards with power management
US8622309B1 (en) 2009-04-06 2014-01-07 Dynamics Inc. Payment cards and devices with budgets, parental controls, and virtual accounts
US8393545B1 (en) 2009-06-23 2013-03-12 Dynamics Inc. Cards deployed with inactivated products for activation
US8511574B1 (en) 2009-08-17 2013-08-20 Dynamics Inc. Advanced loyalty applications for powered cards and devices
US9306666B1 (en) 2009-10-08 2016-04-05 Dynamics Inc. Programming protocols for powered cards and devices
US8727219B1 (en) 2009-10-12 2014-05-20 Dynamics Inc. Magnetic stripe track signal having multiple communications channels
US8523059B1 (en) 2009-10-20 2013-09-03 Dynamics Inc. Advanced payment options for powered cards and devices
US8393546B1 (en) 2009-10-25 2013-03-12 Dynamics Inc. Games, prizes, and entertainment for powered cards and devices
WO2011103160A1 (en) 2010-02-16 2011-08-25 Dynamics Inc. Systems and methods for drive circuits for dynamic magnetic stripe communications devices
US8348172B1 (en) 2010-03-02 2013-01-08 Dynamics Inc. Systems and methods for detection mechanisms for magnetic cards and devices
US10693263B1 (en) 2010-03-16 2020-06-23 Dynamics Inc. Systems and methods for audio connectors for powered cards and devices
WO2011146651A1 (en) 2010-05-18 2011-11-24 Dynamics Inc Systems and methods for cards and devices operable to communicate via light pulses and touch sensitive displays
US8317103B1 (en) 2010-06-23 2012-11-27 FiTeq Method for broadcasting a magnetic stripe data packet from an electronic smart card
USD687094S1 (en) 2010-07-02 2013-07-30 Dynamics Inc. Multiple button interactive electronic card with light sources
USD672389S1 (en) 2010-07-02 2012-12-11 Dynamics Inc. Multiple button interactive electronic card with light sources
USD652075S1 (en) 2010-07-02 2012-01-10 Dynamics Inc. Multiple button interactive electronic card
USD670759S1 (en) 2010-07-02 2012-11-13 Dynamics Inc. Multiple button interactive electronic card with light sources
USD674013S1 (en) 2010-07-02 2013-01-08 Dynamics Inc. Multiple button interactive electronic card with light sources
USD652867S1 (en) 2010-07-02 2012-01-24 Dynamics Inc. Multiple button interactive electronic card
USD652449S1 (en) 2010-07-02 2012-01-17 Dynamics Inc. Multiple button interactive electronic card
USD652448S1 (en) 2010-07-02 2012-01-17 Dynamics Inc. Multiple button interactive electronic card
USD652076S1 (en) 2010-07-09 2012-01-10 Dynamics Inc. Multiple button interactive electronic card with display
USD792513S1 (en) 2010-07-09 2017-07-18 Dynamics Inc. Display with font
USD792512S1 (en) 2010-07-09 2017-07-18 Dynamics Inc. Display with font
USD665022S1 (en) 2010-07-09 2012-08-07 Dynamics Inc. Multiple button interactive electronic card with light source
USD651644S1 (en) 2010-07-09 2012-01-03 Dynamics Inc. Interactive electronic card with display
USD652450S1 (en) 2010-07-09 2012-01-17 Dynamics Inc. Multiple button interactive electronic card
USD653288S1 (en) 2010-07-09 2012-01-31 Dynamics Inc. Multiple button interactive electronic card
USD666241S1 (en) 2010-07-09 2012-08-28 Dynamics Inc. Multiple button interactive electronic card with light source
USD665447S1 (en) 2010-07-09 2012-08-14 Dynamics Inc. Multiple button interactive electronic card with light source and display
USD792511S1 (en) 2010-07-09 2017-07-18 Dynamics Inc. Display with font
USD651237S1 (en) 2010-07-09 2011-12-27 Dynamics Inc. Interactive electronic card with display
USD651238S1 (en) 2010-07-09 2011-12-27 Dynamics Inc. Interactive electronic card with display
USD643063S1 (en) 2010-07-09 2011-08-09 Dynamics Inc. Interactive electronic card with display
US8322623B1 (en) 2010-07-26 2012-12-04 Dynamics Inc. Systems and methods for advanced card printing
US9818125B2 (en) 2011-02-16 2017-11-14 Dynamics Inc. Systems and methods for information exchange mechanisms for powered cards and devices
US9053398B1 (en) 2010-08-12 2015-06-09 Dynamics Inc. Passive detection mechanisms for magnetic cards and devices
US10055614B1 (en) 2010-08-12 2018-08-21 Dynamics Inc. Systems and methods for advanced detection mechanisms for magnetic cards and devices
US10022884B1 (en) 2010-10-15 2018-07-17 Dynamics Inc. Systems and methods for alignment techniques for magnetic cards and devices
US8561894B1 (en) 2010-10-20 2013-10-22 Dynamics Inc. Powered cards and devices designed, programmed, and deployed from a kiosk
US9646240B1 (en) 2010-11-05 2017-05-09 Dynamics Inc. Locking features for powered cards and devices
US8567679B1 (en) 2011-01-23 2013-10-29 Dynamics Inc. Cards and devices with embedded holograms
US10095970B1 (en) 2011-01-31 2018-10-09 Dynamics Inc. Cards including anti-skimming devices
US9836680B1 (en) 2011-03-03 2017-12-05 Dynamics Inc. Systems and methods for advanced communication mechanisms for magnetic cards and devices
US8485446B1 (en) 2011-03-28 2013-07-16 Dynamics Inc. Shielded magnetic stripe for magnetic cards and devices
JP5652363B2 (ja) * 2011-03-28 2015-01-14 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
CA2835508A1 (en) 2011-05-10 2012-11-15 Dynamics Inc. Systems, devices, and methods for mobile payment acceptance, mobile authorizations, mobile wallets, and contactless communication mechanisms
USD670331S1 (en) 2011-05-12 2012-11-06 Dynamics Inc. Interactive display card
USD676904S1 (en) 2011-05-12 2013-02-26 Dynamics Inc. Interactive display card
USD670330S1 (en) 2011-05-12 2012-11-06 Dynamics Inc. Interactive card
USD670332S1 (en) 2011-05-12 2012-11-06 Dynamics Inc. Interactive card
USD670329S1 (en) 2011-05-12 2012-11-06 Dynamics Inc. Interactive display card
US8628022B1 (en) 2011-05-23 2014-01-14 Dynamics Inc. Systems and methods for sensor mechanisms for magnetic cards and devices
US8827153B1 (en) 2011-07-18 2014-09-09 Dynamics Inc. Systems and methods for waveform generation for dynamic magnetic stripe communications devices
US11551046B1 (en) 2011-10-19 2023-01-10 Dynamics Inc. Stacked dynamic magnetic stripe commmunications device for magnetic cards and devices
US11409971B1 (en) 2011-10-23 2022-08-09 Dynamics Inc. Programming and test modes for powered cards and devices
US8960545B1 (en) 2011-11-21 2015-02-24 Dynamics Inc. Data modification for magnetic cards and devices
US9619741B1 (en) 2011-11-21 2017-04-11 Dynamics Inc. Systems and methods for synchronization mechanisms for magnetic cards and devices
US9064194B1 (en) 2012-02-03 2015-06-23 Dynamics Inc. Systems and methods for spike suppression for dynamic magnetic stripe communications devices
US9710745B1 (en) 2012-02-09 2017-07-18 Dynamics Inc. Systems and methods for automated assembly of dynamic magnetic stripe communications devices
US8888009B1 (en) 2012-02-14 2014-11-18 Dynamics Inc. Systems and methods for extended stripe mechanisms for magnetic cards and devices
US9916992B2 (en) 2012-02-20 2018-03-13 Dynamics Inc. Systems and methods for flexible components for powered cards and devices
US9734669B1 (en) 2012-04-02 2017-08-15 Dynamics Inc. Cards, devices, systems, and methods for advanced payment game of skill and game of chance functionality
US11961147B1 (en) 2012-04-15 2024-04-16 K. Shane Cupp Cards, devices, systems, and methods for financial management services
US11418483B1 (en) 2012-04-19 2022-08-16 Dynamics Inc. Cards, devices, systems, and methods for zone-based network management
US9033218B1 (en) 2012-05-15 2015-05-19 Dynamics Inc. Cards, devices, systems, methods and dynamic security codes
US9064195B2 (en) 2012-06-29 2015-06-23 Dynamics Inc. Multiple layer card circuit boards
USD730439S1 (en) 2012-08-27 2015-05-26 Dynamics Inc. Interactive electronic card with buttons
USD729870S1 (en) 2012-08-27 2015-05-19 Dynamics Inc. Interactive electronic card with display and button
USD687887S1 (en) 2012-08-27 2013-08-13 Dynamics Inc. Interactive electronic card with buttons
USD687490S1 (en) 2012-08-27 2013-08-06 Dynamics Inc. Interactive electronic card with display and button
USD688744S1 (en) 2012-08-27 2013-08-27 Dynamics Inc. Interactive electronic card with display and button
USD692053S1 (en) 2012-08-27 2013-10-22 Dynamics Inc. Interactive electronic card with display and button
USD695636S1 (en) 2012-08-27 2013-12-17 Dynamics Inc. Interactive electronic card with display and buttons
USD673606S1 (en) 2012-08-27 2013-01-01 Dynamics Inc. Interactive electronic card with display and buttons
USD694322S1 (en) 2012-08-27 2013-11-26 Dynamics Inc. Interactive electronic card with display buttons
USD729869S1 (en) 2012-08-27 2015-05-19 Dynamics Inc. Interactive electronic card with display and button
USD687095S1 (en) 2012-08-27 2013-07-30 Dynamics Inc. Interactive electronic card with buttons
USD687489S1 (en) 2012-08-27 2013-08-06 Dynamics Inc. Interactive electronic card with buttons
USD729871S1 (en) 2012-08-27 2015-05-19 Dynamics Inc. Interactive electronic card with display and buttons
USD675256S1 (en) 2012-08-27 2013-01-29 Dynamics Inc. Interactive electronic card with display and button
USD730438S1 (en) 2012-08-27 2015-05-26 Dynamics Inc. Interactive electronic card with display and button
USD687487S1 (en) 2012-08-27 2013-08-06 Dynamics Inc. Interactive electronic card with display and button
USD676487S1 (en) 2012-08-27 2013-02-19 Dynamics Inc. Interactive electronic card with display and buttons
USD687488S1 (en) 2012-08-27 2013-08-06 Dynamics Inc. Interactive electronic card with buttons
USD828870S1 (en) 2012-08-27 2018-09-18 Dynamics Inc. Display card
US11126997B1 (en) 2012-10-02 2021-09-21 Dynamics Inc. Cards, devices, systems, and methods for a fulfillment system
US9010647B2 (en) 2012-10-29 2015-04-21 Dynamics Inc. Multiple sensor detector systems and detection methods of magnetic cards and devices
US9659246B1 (en) 2012-11-05 2017-05-23 Dynamics Inc. Dynamic magnetic stripe communications device with beveled magnetic material for magnetic cards and devices
US9010644B1 (en) 2012-11-30 2015-04-21 Dynamics Inc. Dynamic magnetic stripe communications device with stepped magnetic material for magnetic cards and devices
US10949627B2 (en) 2012-12-20 2021-03-16 Dynamics Inc. Systems and methods for non-time smearing detection mechanisms for magnetic cards and devices
USD750166S1 (en) 2013-03-04 2016-02-23 Dynamics Inc. Interactive electronic card with display and buttons
USD750167S1 (en) 2013-03-04 2016-02-23 Dynamics Inc. Interactive electronic card with buttons
USD750168S1 (en) 2013-03-04 2016-02-23 Dynamics Inc. Interactive electronic card with display and button
USD777252S1 (en) 2013-03-04 2017-01-24 Dynamics Inc. Interactive electronic card with buttons
USD764584S1 (en) 2013-03-04 2016-08-23 Dynamics Inc. Interactive electronic card with buttons
USD751640S1 (en) 2013-03-04 2016-03-15 Dynamics Inc. Interactive electronic card with display and button
USD765173S1 (en) 2013-03-04 2016-08-30 Dynamics Inc. Interactive electronic card with display and button
USD751639S1 (en) 2013-03-04 2016-03-15 Dynamics Inc. Interactive electronic card with display and button
USD765174S1 (en) 2013-03-04 2016-08-30 Dynamics Inc. Interactive electronic card with button
JP2014240921A (ja) * 2013-06-12 2014-12-25 株式会社東芝 暗号装置、暗号処理方法及び暗号処理プログラム
USD737373S1 (en) 2013-09-10 2015-08-25 Dynamics Inc. Interactive electronic card with contact connector
USD767024S1 (en) 2013-09-10 2016-09-20 Dynamics Inc. Interactive electronic card with contact connector
US10108891B1 (en) 2014-03-21 2018-10-23 Dynamics Inc. Exchange coupled amorphous ribbons for electronic stripes
US10032049B2 (en) 2016-02-23 2018-07-24 Dynamics Inc. Magnetic cards and devices for motorized readers

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255811A (en) 1975-03-25 1981-03-10 International Business Machines Corporation Key controlled block cipher cryptographic system
US4078152A (en) 1976-04-26 1978-03-07 International Business Machines Corporation Block-cipher cryptographic system with chaining
DE2658065A1 (de) 1976-12-22 1978-07-06 Ibm Deutschland Maschinelles chiffrieren und dechiffrieren
US4249180A (en) 1978-09-20 1981-02-03 Northern Telecom Limited Past dependent microcomputer cipher apparatus
US4724541A (en) 1985-07-24 1988-02-09 Mallick Brian C Data-dependent binary encoder/decoder
JP2760799B2 (ja) * 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
US5214704A (en) 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5003597A (en) 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5054067A (en) 1990-02-21 1991-10-01 General Instrument Corporation Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator
JP3225440B2 (ja) 1990-05-18 2001-11-05 アスコム テック エージー デジタル信号ブロックの変換装置およびその使用方法
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
US5351299A (en) 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5454039A (en) 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
US5724428A (en) 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5675653A (en) * 1995-11-06 1997-10-07 Nelson, Jr.; Douglas Valmore Method and apparatus for digital encryption
US5740250A (en) * 1995-12-15 1998-04-14 Moh; Tzuong-Tsieng Tame automorphism public key system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007148665A1 (ja) * 2006-06-23 2007-12-27 Panasonic Corporation 暗号処理装置、データ変換方法、データ変換プログラム、記録媒体及び集積回路
US8135130B2 (en) 2006-06-23 2012-03-13 Panasonic Corporation Data encryption apparatus, data converting method, data converting program, recording medium and integrated circuit
WO2008026621A1 (fr) * 2006-09-01 2008-03-06 Sony Corporation Dispositif de codage, procédé de codage et programme informatique
JP2012215813A (ja) * 2011-03-28 2012-11-08 Sony Corp 暗号処理装置、および暗号処理方法、並びにプログラム
US8983062B2 (en) 2011-03-28 2015-03-17 Sony Corporation Encryption processing device, encryption processing method, and programme
JP2016503195A (ja) * 2013-01-11 2016-02-01 クアルコム,インコーポレイテッド 計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box
JP2016527569A (ja) * 2013-08-08 2016-09-08 インテル・コーポレーション セキュア暗号ハッシュラウンド機能を提供する命令およびロジック
JP2018013802A (ja) * 2013-08-08 2018-01-25 インテル・コーポレーション セキュア暗号ハッシュラウンド機能を提供する命令およびロジック
US10038550B2 (en) 2013-08-08 2018-07-31 Intel Corporation Instruction and logic to provide a secure cipher hash round functionality

Also Published As

Publication number Publication date
IL140269A0 (en) 2002-02-10
WO1999066669A2 (en) 1999-12-23
WO1999066669A3 (en) 2000-03-09
EP1090477A2 (en) 2001-04-11
CA2335143A1 (en) 1999-12-23
AU5542099A (en) 2000-01-05
AU761436B2 (en) 2003-06-05
WO1999066669A9 (en) 2000-07-06
NO20006385D0 (no) 2000-12-14
US6269163B1 (en) 2001-07-31
US20020025035A1 (en) 2002-02-28
NO20006385L (no) 2001-02-15

Similar Documents

Publication Publication Date Title
JP2002518713A (ja) データ依存性ローテーションを用いる強化型ブロック暗号
Jalali et al. Supersingular isogeny Diffie-Hellman key exchange on 64-bit ARM
US8804951B2 (en) Speeding up galois counter mode (GCM) computations
Krovetz et al. The software performance of authenticated-encryption modes
Black et al. UMAC: Fast and secure message authentication
Guillen et al. Towards post-quantum security for IoT endpoints with NTRU
US5724428A (en) Block encryption algorithm with data-dependent rotations
US8340280B2 (en) Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US10359996B2 (en) Random number generator and stream cipher
JP2020530577A (ja) 暗号文に対する近似演算を行う装置及び方法
WO2014109828A2 (en) Method for secure substring search
JP2002540483A (ja) 楕円曲線型公開鍵暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
US8976960B2 (en) Methods and apparatus for correlation protected processing of cryptographic operations
US20090136025A1 (en) Method for scalarly multiplying points on an elliptic curve
Jalali et al. ARMv8 SIKE: Optimized supersingular isogeny key encapsulation on ARMv8 processors
KR20050078271A (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
Koppermann et al. 18 seconds to key exchange: Limitations of supersingular isogeny Diffie-Hellman on embedded devices
Jalali et al. NEON SIKE: Supersingular isogeny key encapsulation on ARMv7
Hani et al. Design and implementation of a private and public key crypto processor for next-generation it security applications
Goll et al. Vectorization of Poly1305 message authentication code
Murphy et al. Hardware-software implementation of public-key cryptography for wireless sensor networks
Aoki et al. The security and performance of “GCM” when short multiplications are used instead
JP2004004784A (ja) ハッシュ・アルゴリズムを実装するためのシステム及び方法
Nishinaga et al. Implementation of µNaCl on 32-bit ARM Cortex-M0
Suwais Parallel Model for Rabbit Stream Cipher over Multi-core Processors

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905