JPH11509940A - データブロックおよび鍵を非線形的に結合する暗号方法および装置 - Google Patents

データブロックおよび鍵を非線形的に結合する暗号方法および装置

Info

Publication number
JPH11509940A
JPH11509940A JP9541916A JP54191697A JPH11509940A JP H11509940 A JPH11509940 A JP H11509940A JP 9541916 A JP9541916 A JP 9541916A JP 54191697 A JP54191697 A JP 54191697A JP H11509940 A JPH11509940 A JP H11509940A
Authority
JP
Japan
Prior art keywords
block
sub
data
key
output
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
JP9541916A
Other languages
English (en)
Other versions
JP3992742B2 (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 JPH11509940A publication Critical patent/JPH11509940A/ja
Application granted granted Critical
Publication of JP3992742B2 publication Critical patent/JP3992742B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

(57)【要約】 本方法および装置は、ディジタル入力ブロックをディジタル出力ブロックに暗号的に変換するために使用される。本装置(400)は、前記ディジタル入力ブロックを得る第1入力手段(410)と、第1鍵K1を得る第2入力手段(440)とを具える。装置(400)の暗号処理手段(420)は、前記ディジタル入力ブロックを前記ディジタル出力ブロックに、前記ディジタル入力ブロックの選択された部分M1を第1鍵K1と結合し、M1およびK1に非線形的に依存するデータブロックB1を発生することによって変換する。前記結合を、1つの逐次的に分離できないステップにおいて行う。出力手段(430)を使用し、その選択された部分をB1から得た前記ディジタル出力ブロックを出力する。

Description

【発明の詳細な説明】 データブロックおよび鍵を非線形的に結合する暗号方法および装置 本発明は、ディジタル入力ブロックをディジタル出力ブロックに変換する方法 に関係し、前記変換は、前記ディジタル入力ブロックの選択された部分M1を第 1鍵K1と結合し、前記選択された部分M1および第1鍵K1に非線形的に依存 するデータブロックB1を発生するステップを具え、前記ディジタル出力ブロッ クの選択された部分を前記データブロックB1から得る。 さらに本発明は、ディジタル入力ブロックをディジタル出力ブロックに暗号的 に変換する装置に関係し、前記装置は、前記ディジタル入力ブロックを得る第1 入力手段と、第1鍵K1を得る第2入力手段と、前記ディジタル入力ブロックを 前記ディジタル出力ブロックに変換する暗号処理手段と、前記ディジタル出力ブ ロックを出力する出力手段とを具え、前記変換が、前記ディジタル入力ブロック の選択された部分M1を前記第1鍵K1と結合することと、前記選択された部分 M1および第1鍵K1に非線形的に依存するデータブロックB1を発生すること とを具え、前記ディジタル出力ブロックの選択された部分を前記データブロック B1から得る。 国家標準局のデータ暗号化標準(DES)[FIPS刊行物46、1977年 1月15日]は、ディジタル入力ブロックをディジタル出力ブロックに変換する 、広く使用されているアルゴリズムを記載している。このようなアルゴリズムは 、一般的に、ブロック暗号と呼ばれている。このDESアルゴリズムは、バイナ リ符号化情報の暗号化および暗号復号化に使用される。暗号化は、プレーンテキ ストと呼ばれる明瞭なデータを、暗号テキストと呼ばれる不明瞭な形態に変換す る。前記暗号テキストを暗号復号化することは、そのデータをその元の形態に変 換し戻す。いわゆる電子コードブックモードにおいて、DESを使用し、プレー ンテキストの64ビットのブロックを、対応する暗号テキストの64ビットのブ ロックに変換する。このモードにおいて、暗号化は、64ビット鍵から得られる 鍵を使用し、その56ビットを自由に選択してもよい。図1は、暗号化中のDE Sの 構造のすべてを示す。暗号化計算において、最初に入力(プレーンテキスト)を 64ビットから固定された順列IPを使用する64ビットに並べ替える。その結 果、32左ビットL0および32右ビットR0に分割される。これら右ビットを、 暗号関数f(R0,K1)を使用して変換し、ここでK1をサブ鍵とする。この結 果f(R0,K1)を前記左ビットに(2を法とするビット幅)加算し、その る。この手順を、合計16ラウンド、反復的に続ける。最後のラウンドの終了に おいて、最初の順列の逆順列を用いる。 f(Ri,Ki+1)の計算において、図2に示すように、最初に32右ビットRi をボックスEにおける48ビットに拡張する。所定の表に従って、この拡張を 、いくつかの入力ビットの出力ビットを2倍にし、他の入力ビットの出力ビット を1倍にすることによって行う。次に、拡張された48ビットを、48鍵ビット Kiに(2を法とするビット幅)加算する。結果として生じる48ビットを、各 々6ビットの8グループに分割する。これらのグループの各々を、Sボックス( Si)によって処理し、Sボックスは、前記6ビットを4ビットに非線形演算に おいて減少させる。8個のSiボックスを、表の形態において与える。合計の出 力は32ビットであり、これをボックスPにおいて並べ替える。Pも、表の形態 において与える。 図3は、鍵スケジュール計算を説明する。64ビットの鍵内容のうち56ビッ トのみをこのアルゴリズムにおいて使用する。これらの56ビットを、ランダム に選択すべきである。8個の補足するエラー検出ビットを使用し、前記鍵の各々 のビットを部分的に余りにする。前記56ビットの選択を、並べ替えと共にボッ クスPC1において行う。その結果を、2つのビットワードC0およびD0に分割 する。各々のラウンド毎に48鍵ビットを得るために、最初にワードC0および D0を左に1回または2回シフトする。次に、選択および並べ替えPC2をこの 結果に用いる。PC2の出力は、f(R0,K1)に使用する48ビットサブ鍵K1 である。前記シフト、選択および並べ替えのプロセスを繰り返し、各々のラウ ンド毎にサブ鍵を発生する。表は、その後のラウンドのサブ鍵の次の48ビット を得るためにどの位多くのシフトを行わなければならないかを明示する。 同じアルゴリズムおよび鍵を、暗号テキストの暗号復号化に使用することがで きる。暗号復号化に対する最初の並べ替えは、暗号化の逆並べ替えを取り消す。 各々のラウンドは、いわゆるFeistel暗号から成り立つ。Feistel暗号に関して、 逆の演算は、暗号化に対して使用したのと同じラウンドを使用するが、前記サブ 鍵を逆の順序で用いることから成り立つことが知られている。このように、第1 の復号化ラウンドには、第16の暗号化ラウンドに使用したのと同じサブ鍵を供 給しなければならず、第2の復号化ラウンドには、第15の暗号化ラウンドに使 用したのと同じサブ鍵を供給しなければならない、等である。どのようにDES アルゴリズムを暗号フィードバックモードのような他の暗号化モードにおいて使 用できるかも既知である。このモードにおいて、DESアルゴリズムを使用し、 統計的にランダムのバイナリビットのストリームを発生し、これらを、例えば、 排他的論理和を使用して前記プレーンテキストに結合する。 DESアルゴリズムは、本質的に、最初の並べ替えを具え、データの一部にお ける16の鍵依存計算が続き、逆並べ替えによって終了する。各々の鍵依存計算 は、鍵依存ビットの前記データ部分への(2を法とする)加算を具え、前記デー タ部分のサブブロックにおける非線形演算が続き、前記データ部分の並べ替え( 線形演算)によって終了する。 一般的に、DESは、良好な暗号化/暗号復号化ツールであると考えられる。 しかしながら、特に、最近の極めて強力な差別的な暗号解読攻撃にかんがみて、 DESが長年に渡り安全であったかどうかは未解決の問題である。 本発明の目的は、暗号解読攻撃に対してより堅牢な、上述した種類の暗号方法 および装置を提供することである。 この目的を達成するために、本発明による暗号方法は、前記結合ステップを、 前記選択された部分M1および第1鍵K1を、1つの逐次的に分離できないステ ップにおいて非線形的に結合する非線形関数gを実行することによって行うこと を特徴とする。図2に示すようなDESシステムにおいて、第1の処理ステップ において、前記Rデータを前記鍵にビット幅加算し、その結果(Sボックス)を 非線形的に処理する第2の処理ステップが続く。本発明によれば、データを鍵に 1つのステップ(すなわち、1つの逐次的に分離できないステップ)において結 合するアルゴリズムを使用する。このように、前記鍵ビットの前記データへの加 算は、非線形演算の1つに統合された部分となり、システムを、差別的な暗号解 読のような最近の攻撃に対して、より免疫性にする。 従属の請求の範囲2に規定される本発明による方法の1実施形態において、各 々のラウンドにおいて、前記ディジタル入力ブロックの双方の部分を処理し、こ れは、各々のラウンド中に前記ディジタル入力ブロックの半分のみを処理する、 DESのような慣例的なFeistel暗号に対するよりも良い暗号化結果を与える。 同じシステムを暗号化および暗号復号化の双方に使用できることを保証するため に、前記データの一方の部分を演算gを使用して処理し、他方の半分を逆演算g-1 を使用して処理する。この案を使用することによって、暗号復号化を、同じ システムを使用するが、前記鍵を前記ラウンドと逆の順序で供給する(暗号復号 化中、前記第1の非線形ステップに、暗号化中に前記最後の非線形ステップに供 給した鍵を供給する、等)ことによって行う。2倍多くのラウンドを使用するFe istel暗号の慣例的な実現化と比較して、本発明によるシステムはより高速であ る。 従属の請求の範囲3に規定される方法は、例えば64ビットの比較的より大き いデータブロックおよび鍵を、より小さいサブブロックおよびサブ鍵に分割し、 リアルタイム非線形処理を簡単にする。 従属の請求の範囲5に規定される本発明による方法の1実施形態において、定 数を使用し、前記暗号化の品質を向上させる。有利に、前記定数をシステム毎に 予め決定し、例えば、顧客特定定数を形成する。代わりに、前記定数を、疑似乱 数発生器によって発生する。 従属の請求の範囲6に規定の方法は、1ステップにおける前記データサブブロ ックおよびサブ鍵の非線形結合の方法を与える。加えて、異なった入力は、すベ て異なった出力になる。これは、非線形演算が6ビット入力サブブロックを4ビ ット出力サブブロックに減少し、同じ出力が4つの異なった入力毎に発生するD ESと比較して、暗号解析攻撃に対するシステムの免疫性を増加する。 従属の請求の範囲7に規定される本発明による方法の1実施形態において、定 数を使用し、前記暗号化の品質を向上させる。有利に、前記定数をシステム毎に 予め決定し、例えば、顧客特定定数を形成する。代わりに、前記定数を、疑似乱 数発生器によって発生する。 従属の請求の範囲8に規定の方法は、前記暗号化の品質をさらに向上させる。 従属の請求の範囲10に規定される本発明による方法の1実施形態において、 前記ディジタル入力ブロックの異なった部分に対応する個々のサブブロックを交 換し、前記暗号化の品質を改善する。 好適には、サブブロックmiは、8個のデータビットを具える。これは、前記 非線形演算が6から4ビットに変換するDESと比較して、前記非線形演算の品 質をさらに改善する。 従属の請求の範囲11に規定される方法は、GF(28)における乗算をGF (24)における演算に減少し、より簡単またはより費用効果的な実現化を達成 できるようにするという利点を有する。 従属の請求の範囲12に規定される方法は、GF(28)における乗算をGF (24)における演算に減少する効率的な方法を与える。 本発明による方法の1実施形態は、βを、GF(2)に関する既約多項式h( x)=x4+x3+x2+x+1の根とすることを特徴とする。これは、βに対す る好適な選択であり、いわゆる、シフトされた多項式の底の使用を可能にする。 本発明による方法の1実施形態は、GF(28)の逆関数の計算が、GF(24 )における一組の計算の実行を具えることを特徴とする。GF(28)における 逆演算がGF(24)における演算に減少することによって、より簡単、または より費用効果的な実現化を達成することができる。 本発明による方法の1実施形態は、前記要素bの逆数の計算が、(a0 2+a0 1+a1 2β)-1((a0+a1)+a1D)の計算を具えることを特徴とする。こ れは、GF(28)における逆演算をGF(24)における演算に減少する効率的 な方法である。 本発明による方法の1実施形態は、前記第1鍵K1が64ビットデータを具え 、前記サブ鍵kiの各々が8データビットを具えることを特徴とする。大きな鍵 を使用することによって、前記暗号化の品質は向上する。 本発明の目的を達成するために、本発明による装置は、前記暗号処理方法を、 前記結合を前記選択された部分M1および第1鍵K1を、1つの逐次的に分離で きないステップにおいて非線形的に結合する非線形関数gを実行することによっ て行うように配置したことを特徴とする。 本発明のこれらのおよび他の態様は、図面に示す実施形態の参照から明らかに なるであろう。 図1は、DESシステムに関する処理ステップを示す。 図2は、データを鍵に結合することと、DESにおける非線形演算との詳細を 説明する。 図3は、DESにおける鍵計算の詳細を説明する。 図4は、暗号装置のブロック図を示す。 図5は、ディジタル入力ブロックの2つの部分の別々の処理を説明する。 図6は、サブブロックの形態におけるディジタル入力ブロックの一部の処理を 説明する。 図7は、サブブロックの形態における2つの部分の処理を説明する。 図8は、全体的な暗号システムを示す。 図4は、本発明による暗号装置400のブロック図を示す。本発明を説明する 目的のために、本システムを電子コードブックモードにおいて説明する。当業者 は、本システムを他のモードにおいて同様に使用することができるであろう。装 置400は、ディジタル入力ブロックMを得る第1入力手段410を具える。デ ィジタル入力ブロックMを、どのような適切なサイズとしてもよい。好適には、 Mを十分に大きく、例えば128ビットとし、適度に安全な暗号結果を得る。装 置400は、前記ディジタル入力ブロックをディジタル出力ブロックに変換する 暗号処理手段420をさらに具える。有利に、前記ディジタル出力ブロックは、 前記ディジタル入力ブロックとほぼ等しい長さを有する。装置400は、前記デ ィジタル出力ブロックを出力する出力手段430を具える。基本的に、暗号処理 手段420は、前記ディジタル入力ブロックMを前記ディジタル出力ブロックに 、前記ディジタル入力ブロックMの選択された部分M1を第1鍵K1に結合し、 M1およびK1に非線形的に依存するデータブロックB1を発生することによっ て変換する。この結合を、1つの逐次的に分離できないステップにおいて行う。 前 記ディジタル出力ブロックを、B1と、M1の部分でないMの残りの部分とから 得る。第1鍵K1を得るために、暗号装置400は、第2入力手段440を具え る。後により詳細に説明するように、前記ディジタル入力ブロックの第2の部分 M2を、好適には、M1およびK1を結合する演算と逆の演算を使用して第2鍵 K2と非線形的に結合し、データブロックB2を発生してもよい。この場合にお いて、前記ディジタル出力ブロックは、B2にも依存する。第2鍵K2を得るた めに、暗号装置400は、第3入力手段450を具える。 暗号装置400を、PCのような慣例的なコンピュータを使用するか、専用の 暗号化/暗号復号化装置を使用して実現してもよいことは明らかであろう。前記 ディジタル入力ブロックを、ハードディスクまたはフロッピーディスクのような データ記憶媒体から通信ネットワークを経るような、または、ユーザによって直 接入力するような種々の方法において得ても良い。同様に、前記ディジタル出力 ブロックを、通信ネットワークを経て、データ記憶媒体に格納するか、ユーザに 対して表示するような、種々の方法において出力してもよい。好適には、安全な 手段をこの目的に使用する。暗号処理手段420を、例えば、パーソナルコンピ ュータにおいて使用されるような慣例的なプロセッサとしてもよいが、専用の暗 号プロセッサとしてもよい。暗号装置400を、部分的または全体的に、スマー トカードにおいて実現してもよい。 この文書の残りの部分において、前記暗号変換の詳細を、プレーンテキストの 128ビットのブロックを、対応する暗号テキストの128ビットのブロックに 暗号化することについて与えた。当業者は、本システムを他のブロックサイズに 同様に使用することができるであろう。図に示すデータサイズは、明瞭にする目 的のために与えられており、例としてのみ取り扱うべきである。この説明は、デ ータの非線形処理と、1ラウンドにおいて行われる鍵のデータとの結合とに焦点 を合わせている。このように、本発明を、多数のラウンドを具え、各々のラウン ドにおいて前記データブロックにおける線形演算を含む、図1に示すようなシス テムにおいて使用することができる。 図5に示すように、128ビットのメッセージブロックMを、第1の部分M1 および第2の部分M2(左および右ブロック)に分割する。好適には、双方の部 分を、等しいサイズ、64ビットのものとする。M1を、非線形関数gを使用し て処理する。原理的に、同じラウンド中にM2を処理する必要はない。有利に、 M2を、同じラウンド中に逆関数g-1を使用して処理する。関数gおよびg-1の 各々は、M1または各々M2を、鍵K1または各々K2と非線形的に結合する。 好適には、前記データ部分および鍵は、同じサイズを有する。大きなデータブロ ックにおける良好な非線形演算は困難であり、大きなデータブロックにおける非 線形処理は時間が掛かることから、データ部分M1およびM2をサブブロックに 分割する。図6は、M1に関するこの分割を説明する。図7は、M1およびM2 の分割を説明する。64ビットデータ部分M1およびM2を使用して、有利に、 これらの部分を、8個の8ビット要素に各々分割し、M1=(m0,m1,... ,m7)およびM2=(m8,m9,...,m15)とする。2つの鍵K1および K2を、より大きな鍵から、例えば、128ビット鍵を2つの64ビット鍵K1 およびK2に分割することによって得る。2つの鍵K1およびK2を、さらに分 割してもよい。64ビット鍵を使用して、有利に、各々の鍵を8ビットサブ鍵に 分割し、合計16個の8ビットサブ鍵kj,j=0..15を与える。サブ鍵kj の各々を、対応するサブブロックmjに関連付ける。各々のサブブロックを、別 々に処理する。好適には、これらのサブブロックを、並列に処理する。望ましけ れば、あるラウンドに関係する前記サブブロックを、順次に処理してもよい。M 1を形成する前記サブブロックの第1のグループを、暗号関数fによって各々処 理する。前記サブブロックの第2のグループを、逆関数f-1によって各々処理す る。 前記暗号演算に関して、nビットサブブロックまたはサブ鍵を、GF(2n) (ガロア域)の要素を表すと考える。したがって、すべての演算は、GF(2n )における。 その基本的な形態において、暗号関数fは、図6および7にも説明するように 、2つの入力mjおよびkjと1つの出力tjとを有し、ここでj=0ないし7に 対して、tj=f(mj,kj)とする。この基本的な形態において、暗号関数f は、bjとほぼ等しいサイズの出力を伴う1つの演算h(bj,kj)を含む。関 数hは、データサブブロックbjおよびサブ鍵kjを入力として有し、暗号関 数fのこの基本的な形態に関して、bj=mjとする。関数f(この実施形態にお いて関数hと同じ)を、j=0..7に関して以下のように規定する。 1. h(bj,kj)= bj≠0,kj≠0かつbj≠kjならば、(bj.kj-1 j=0ならば、(kj-2 j=0ならば、(bj-2j=kjならば、0 同様に、その基本的な形態において、逆暗号関数f-1は、図6および7にも説 明するように、2つの入力mjおよびkjと1つの出力tjとを有し、ここでj= 8ないし15に対して、tj=f-1(mj,kj)とする。逆暗号関数f-1も、bj とほぼ等しいサイズの出力を伴う1つの演算h-1(bj,kj)を含む。関数h-1 をhの逆関数とする。前のように、暗号関数f-1のこの基本的な形態において、 bj=mjとする。関数f-1(この実施形態において関数h-1と同じ)を、j=8 ..15に関して以下のように規定する。 1. h-1(bj,kj)= bj≠0,kj≠0かつbj.kj 2≠1ならば、(bj.kj-1 j=0ならば、kj j=0ならば、(bj-1/2 j.kj 2=1ならば、0 他の実施形態において、暗号関数fの出力tj(j=0ないし7に関して、tj =f(mj,kj))および逆暗号関数f-1の出力(j=8ないし15に関して、 tj=f-1(mj,kj))を以下の方法において交換する。tj<−>t15-j。こ れを、図7において説明する。 他の実施形態において、関数hを実行する前に、定数を各々のデータサブブロ ックmjに(2を法とするビット幅)加算する。好適には、8個の別個の定数pj (j=1..7)を使用し、各々を対応するデータサブブロックmjに加算す 暗号関数fを、ここで以下のように規定する。 2. h(bj,kj)= bj≠0,kj≠0かつbj≠kjならば、(bj.kj-1 j=0ならば、(kj-2 j=0ならば、(bj-2 j=kjならば、0 同様に、逆暗号関数f-1に関しても、定数を各々のデータサブブロックmjに( 2を法とするビット幅)加算する。逆関数f-1を、暗号関数fを使用して暗号化 されたテキストを暗号復号化するために使用できるようにするために、関数hの 後、前記定数を加算する。好適には、暗号関数fに使用したのと同じ8個の別個 の定数pj(j=0..7)を使用する。ここで、定数pjを、15−j番目のス トリーム(j=0..7)に加算する。結果として、逆暗号関数f-1は、以下の 2つの演算を含む(j=8..15)。 1. h-1(bj,kj)= bj≠0,kj≠0かつbj.kj 2≠1ならば、(bj.kj-1 j=0ならば、kj j=0ならば、(bj-1/2 j.kj 2=1ならば、0 最後に、tjおよびt15-jを交換する(j=0..7)。 他の実施形態において、関数hの実行後に、他の定数を各々のデータサブブロ ックmjに(2を法とするビット幅)加算する。好適には、8個の別個の定数dj (j=1..7)を使用し、各々を対応するデータサブブロックmjに加算する 。前と同じ関数hを使用する。暗号関数fを、ここで以下のように規定する。 2. h(bj,kj)= bj≠0,kj≠0かつbj≠kjならば、(bj.kj-1 j=0ならば、(kj-2 j=0ならば、(bj-2 j=kjならば、0 同様に、逆暗号関数f-1に関しても、定数を各々のデータサブブロックmjに( 2を法とするビット幅)加算する。逆関数f-1を、暗号関数fを使用して暗号化 されたテキストを暗号復号化するために使用できるようにするために、関数hの 実行前に、前記定数を加算する。好適には、暗号関数fに使用したのと同じ8個 の別個の定数dj(j=0..7)を使用する。ここで、定数djを、15−j番 目のストリーム(j=0..7)に加算する。前と同じ関数h-1を使用し、こ 以下の3つの演算を含む(j=8..15)。 2. h-1(bj,kj)= bj≠0,kj≠0かつbj.kj 2≠1ならば、(bj.kj-1 j=0ならば、kj j=0ならば、(bj-1/2 j.kj 2=1ならば、0 最後に、tjおよびt15-jを交換する(j=0..7)。定数pjを使用せずに定 数djを使用することもできることは、明らかであろう。 他の実施形態において、暗号関数fは、関数hの結果を自乗する。前と同じ関 数を使用する。暗号関数fを、ここで以下のように規定する。 2. h(bj,kj)= bj≠0,kj≠0かつbj≠kjならば、(bj.kj-1 j=0ならば、(kj-2 j=0ならば、(bj-2 j=kjならば、0 3. sj=h(bj,kj2+i 同様に、暗号関数f-1も、データサブブロックを自乗する。逆関数f-1を、暗号 関数fを使用して暗号化されたテキストを暗号復号化するために使用できるよう にするために、関数hの実行前に、前記加算演算を行う。前と同じ関数h-1を使 数f-1は、以下の4つの演算を含む(j=8..15)。 2. bj=qj 2+(j-7) 3. h-1(bj,kj)= bj≠0,kj≠0かつbj.kj 2≠1ならば、(bj.kj-1 j=0ならば、kj j=0ならば、(bj-1/2 j.kj 2=1ならば、0 最後に、tjおよびt15-jを交換する(j=0..7)。定数djおよびpjの一 方または双方を使用せずに、自乗の演算を使用することもできることは、明らか であろう。 暗号復号化のために、暗号化に使用したのと同じアルゴリズムを使用するが、 前記サブ鍵を交換し、kjの代わりにk15-jを使用し、j=0..15とする。 GF(28)における乗算 原理的に、本発明に関して、GF(28)におけるどのような乗算を使用して もよい。GF(2m)におけるVLSI実現化の一例は、[p.A.scott,“A fast VLSI multiplier for GF(2m)”,IEEE Journal on selected areas in communi cations,Vol.SAC-4,No.1,January 1986,pages 62-66]において与えられる 。有利に、以下の方法を使用し、GF(2mnにおける乗算をGF(24)にお ける乗算および加算の列に減少する。 GF(24)において、βをβ5=1の自明でない根とする(自明でないとはβ ≠1を意味し、または、等しく、x5+1=(x+1)(x4+x3+x2+x+1 )から、βをGF(2)に関する既約多項式h(x)=x4+x3+x2+x+1 の根とする)。底β、β2、β4、β8を、GF(24)における底と して選択する。多項式β8=β3に従うことから、これは、いわゆるシフトされた 多項式底β、β2、β3、β4と同じである。 Dを、GF(24)に関する既約多項式h(x)=x2+x+βの根として規定 されるGF(28)の要素とする。GF(28)のすべての要素を、a0+a1.D として表すことができ、a0およびa1をGF(24)の要素とする。バイナリ用 語において、GF(28)の数bを、ベクトル(a0,a1)として配置された8 ビットを使用して表すことができ、a0,a1は、GF(24)の数を表す4ビッ トを有する。このように、GF(28)における底は、β、β2、β3、β4、Dβ 、Dβ2、Dβ3、Dβ4である。ai∈GF(24)として、b=a0+a1.Dお よびc=a2+a3.Dとして表され、GF(28)の2つの要素bおよびcを、 b.c=(a0+a1.D).(a2+a3.D) =a02+(a12+a03).D+a13.D2 のように乗算することができる。Dがk(x)の根であり、D2=D+βを意味 するという事実を利用して、これは、乗算結果、 b.c=(a02+a13β)+(a12+a03+a13).D を与える。これは、GF(28)の2つの要素の乗算を、GF(24)における乗 算および加算の列に減少している。 GF(28)における逆 原理的に、どのような既知の方法を使用してGF(28)における要素の逆を 計算してもよい。有利に、前の方法を使用してGF(28)における乗算をGF (24)における乗算に減少し、次に以下の方法を使用してGF(28)における 逆演算をGF(24)における逆演算に減少する。 GF(28)における要素bの逆b-1は、ai∈GF(24)として、bをb= a0+a1.Dとして表し、 b-1.b=(a0 2+a01+a1 2β)-1.(a0+a1+a1D) .(a0+a1D) =(a0 2+a01+a1 2β)-1.(a0 2+a01 +a1 2D+a1 22) であり、D2+D=βで、これは、b-1.b=1を与えることから、 b-1=(a0 2+a01+a1 2β)-1.(a0+a1+a1D) によって与えられる。この方法において、GF(28)における逆演算を、GF (24)における逆演算と、GF(24)における乗算および加算の列とに減少す る。 GF(24)における乗算 原理的に、GF(24)におけるどのような乗算を使用してもよい。有利に、 上述したように、シフトされた多項式底β、β2、β3、β4をGF(24)におけ る底として選択し、ここでβをGF(2)に関する既約多項式h(x)=x4+ x3+x2+x+1の根とし、β5=1とする。βをhの根とし、これは、β4+β3 +β2+β=1を意味する。これらの底要素をe1、e2、e3およびe4と名付け 、ej=βjとし、これらの底要素を、βの定義を使用して、 e1.e1=β.β=β2=e2 1.e2=β.β2=β3=e3 1.e3=β.β3=β4=e4 1.e4=β.β4=β5=1=e1+e2+e3+e4 2.e2=β2.β2=β4=e4 2.e3=β2.β3=β5=1=e1+e2+e3+e4 2.e4=β2.β4=β6=β=e1 3.e3=β3.β3=β6=β=e1 3.e4=β3.β4=β7=β2=e2 4.e4=β4.β4=β8=β3=e3 のように乗算する。これは、原理的に、GF(24)における乗算を規定する。 バイナリにおいて、前記乗算を、以下のように考えることができる。前記底に関 して、GF(24)における各々の要素bを、bi∈GF(2)として、b=b0 1+b12+b23+b34として表すことができる。このように、要素bを 、バイナリ成分(b0,b1,b2,b3)を有する4次元ベクトルによって表すこ とができる。マイクロプロセッサにおいて、これを、ニブルを使用して表すこと ができる。バイナリにおいて、GF(24)における2つの要素b およびcの乗算を、これら2つの要素をb=(b0,b1,b2,b3)およびc= (c0,c1,c2,c3)によって表すとして、以下のように考えることができる 。通常の方法におけるこれら2つの要素の乗算は、 b.c=(b00)β2+(b01+b10)β3+(b02 +b11+b20)β4+(b03+b12+b21 +b30)β5+(b13+b22+b31)β6 +(b23+b32)β7+(b33)β8 を与える。β5をβ4+β3+β2+βと交換し、β6をβと交換し、β7をβ2と交 換し、β8をβ3と交換するβの定義を使用することは、以下の4つの成分、 b.c=(b13+b22+b31+b03+b12+b21 +b30)β+(b00+b23+b32+b03 +b12+b21+b30)β2+(b01+b10 +b33+b03+b12+b21+b30)β3 +(b02+b11+b20+b03+b12+b21 +b30)β4 を与える。したがって、この乗算のバイナリにおける結果は、 b.c=(b13+b22+b31+b03+b12+b21 +b30,b00+b23+b32+b03+b12 +b21+b30,b01+b10+b33+b03 +b12+b21+b30,b02+b11+b20 +b03+b12+b21+b30) によって与えられる。 GF(24)における逆演算 基底β、β2、β4、β8を使用して、GF(24)の各々の要素xを、a、b、 c、d∈GF(2)として、b=a.β+b.β2+c.β4+d.β8と書くこ とができる。このように、各々の要素を、4次元ベクトル(a,b,c,d)に よって表すことができる。 bの逆数(b-1)を得るために、 a) のように使用することによって、b-1の第1ビットを計算し、 b) のように使用することによって、b-1の第2ビットを計算し、 c) のように使用することによって、b-1の第3ビットを計算し、 d) のように使用することによって、b-1の第4ビットを計算する。 図1に示すようなDESのようなシステムにおいて使用するのに加えて、専用 のシステムを、本発明の非線形アルゴリズムの周囲に組み立てることができるこ のようなシステムを、図8において示す。このシステムにおいて、前記ブロック を、本発明の非線形演算NLと、線形演算LINとを使用して処理する。前記第 1ステップは、非線形演算である。これに、線形演算の繰り返しを続け、非線形 演算を続ける。線形演算が前記データビットを完全に混合するならば、十分に安 全なシステムを、6つの非線形演算を実行することによって達成することが期待 される。好適には、15ラウンドを使用する。これらの線形演算の各々は、同じ である。また、前記非線形演算の各々も同じであるが、各々の非線形演算は、1 28ビットの異なった鍵を使用する。有利に、鍵を、例えば、256ビットの1 つの包括的な鍵から、鍵スケジュール計算を使用して得る。同じ鍵を、暗号化と 暗号復号化とに使用する。大部分の場合において、前記鍵を、スマートカードを 使用して与える。前記線形演算に関して、有利に、順列の代わりに、より複雑な マトリックスを使用する。上述したように、前記鍵に加えて、各々の非線形演算 は、定数pjおよびdjに分割する128ビットの定数Cを任意に使用してもよい 。この定数を、各々の演算に対して同じにしてもよい。有利に、各々の非線形演 算に、別々の定数を与える。これらの定数を、システムごとに予め決めてもよい (例えば、顧客特定定数)。代わりに、前記定数を、擬似乱数発生器を使用して 発生する。

Claims (1)

  1. 【特許請求の範囲】 1.ディジタル入力ブロックをディジタル出力ブロックに暗号的に変換する方法 であって、前記変換が、前記ディジタル入力ブロックの選択された部分M1を第 1鍵K1と結合し、前記選択された部分M1および第1鍵K1に非線形的に依存 するデータブロックB1を発生するステップを具え、前記ディジタル出力ブロッ クの選択された部分を前記データブロックB1から得る方法において、 前記結合ステップを、前記選択された部分M1および第1鍵K1を、1つの 逐次的に分離できないステップにおいて非線形的に結合する非線形関数gを実行 することによって行うことを特徴とする方法。 2.請求の範囲1に請求の方法において、該方法が、 − 前記結合ステップの前に、前記ディジタル入力ブロックを、前記選択され た部分M1と、第2の部分M2とに分割するステップと、 − 前記第2ブロックを第2鍵K2に1つの逐次的に分離できないステップに おいて結合する非線形関数g-1を実行し、データブロックB2を出力として発生 し、前記非線形関数g-1を前記非線形関数gの逆関数としたステップと、 − 前記データブロックB1におけるデータと前記データブロックB2におけ るデータとから結合されたデータを形成するステップとを具え、前記ディジタル 出力ブロックを前記結合されたデータから得ることを特徴とする方法。 3.請求の範囲1に請求の方法において、前記結合ステップが、 − 前記選択された部分M1を、ほぼ等しい長さの第1の複数nのサブブロッ クm0,..,mn-1に分割するステップと、 − 前記第1鍵K1を、ほぼ等しい長さを有する第1の複数nのサブ鍵k0, ..,kn-1に分割し、前記サブ鍵kiがi=0ないしn−1に対して前記サブブ ロックmiに対応させるステップと、 − 前記サブブロックmiの各々を、前記サブブロックmiの各々に対して、前 記サブブロックmiから得られたサブブロックbiを前記対応するサブ鍵kiに1 つの逐次的に分離できないステップにおいて非線形的に結合する同じ非線形関数 hを実行することによって別々に処理し、前記第1の複数の出力サブ ブロックh(bi,ki)を発生するステップと、 − 前記第1の複数の出力サブブロックh(bi,ki)から得られたサブブロ ックtiを結合し、前記データブロックB1を形成するステップとを具えること を特徴とする方法。 4.請求の範囲2または3に請求の方法において、前記非線形関数g-1を実行す るステップが、 − 前記第2部分M2を、ほぼ等しい長さを有する第1の複数nのサブブロッ クmn,..,m2n-1に分割するステップと、 − 前記第2鍵K2を、ほぼ等しい長さを有する第1の複数nのサブ鍵kn, ..,k2n-1に分割し、前記サブ鍵kiがi=nないし2n−1に対して前記サ ブブロックmiに対応させるステップと、 − 前記サブブロックmiの各々に対して、前記サブブロックmiから得られた サブブロックbiを前記対応するサブ鍵kiに1つの逐次的に分離できないステッ プにおいて非線形的に結合する同じ非線形関数h-1を実行し、前記第1の複数の 出力サブブロックh-1(bi,ki)を発生し、前記関数h-1を前記関数hの逆関 数としたステップと、 − 前記第1の複数の出力サブブロックh-1(bi,ki)から得られたサブブ ロックtiを結合し、前記データブロックB2を形成するステップとを具えるこ とを特徴とする方法。 5.請求の範囲3に請求の方法において、前記サブブロックbiを、前記サブブ ロックmiから、定数piを前記サブブロックmiにビット幅加算することによっ て得て、前記定数piが前記サブブロックmiとほぼ等しい長さを有することを特 徴とする方法。 6.請求の範囲3に請求の方法において、前記関数h(bi,ki)を、 bj≠0,kj≠0かつbj≠kjならば、h(bj,kj)= (bj,kj-1 j=0ならば、h(bj,kj)= (kj-2 j=0ならば、h(bj,kj)= (qj-2 j=kjならば、h(bj,kj)= 0 によって規定し、前記乗算および逆演算を、予め決められたガロア域乗算およ び逆演算としたことを特徴とする方法。 7.請求の範囲6に請求の方法において、前記サブブロックtiを前記出力サブ ブロックh(bi,ki)から得ることが、定数diを前記出力サブブロックh( bi,ki)にビット幅加算することを具え、前記定数diが前記サブブロックmi とほぼ等しい長さを有することを特徴とする方法。 8.請求の範囲7に請求の方法において、前記サブブロックtiを前記出力サブ ブロックh(bi,ki)から得ることが、前記予め決められたガロア域乗算 特徴とする方法。 9.請求の範囲6に請求の方法において、前記サブブロックtiを前記出力サブ ブロックh(bi,ki)から得ることが、前記予め決められたガロア域(GF) 乗算を使用して、前記出力サブブロックh(bi,ki)を2i乗することを具え ることを特徴とする方法。 10.請求の範囲4に請求の方法において、前記結合されたデータを、 − 前記サブブロックtiおよびt2n-1-iをi=0ないしn−1に関して交換 し、 − これらの交換されたサブブロックを連結することによって形成することを 特徴とする方法。 11.請求の範囲6に請求の方法において、前記サブブロックmiが8データビッ トを具え、前記GF(28)の2つの要素bおよびcの乗算が、GF(24)にお ける乗算および加算の列を実行することを具えることを特徴とする方法。 12.請求の範囲11に請求の方法において、前記2つの要素bおよびcの乗算が 、 − bをa0+a1.Dとして表し、cをa2+a3.Dとして表し、a0、a1、 a2およびa3をGF(24)の要素とし、Dを、GF(24)に関する既約多項式 h(x)=x2+x+βの根として規定されるGF(28)の要素とし、βをGF (24)の要素とすることと、 − (a02+a13β)+(a12+a03+a13).Dを計算すること とを具えることを特徴とする方法。 13.請求の範囲12に請求の方法において、βを、GF(2)に関する既約多項 式h(x)=x4+x3+x2+x+1の根としたことを特徴とする方法。 14.請求の範囲6に請求の方法において、前記サブブロックmiが8データビッ トを具え、前記GF(28)の要素bの逆数を計算することが、GF(24)にお ける計算の列を実行することを具えることを特徴とする方法。 15.請求の範囲14に請求の方法において、前記要素bの逆数を計算することが 、 − bをa0+a1.Dとして表し、a0およびa1をGF(24)の要素とし、 Dを、GF(24)に関する既約多項式h(x)=x2+x+βの根として規定さ れるGF(28)の要素とし、βをGF(24)の要素とすることと、 − (a0 2+a01+a1 2β)((a0+a1)+a1D)を計算することとを 具えることを特徴とする方法。 16.ディジタル入力ブロックをディジタル出力ブロックに暗号的に変換する装置 であって、 前記ディジタル入力ブロックを得る第1入力手段と、 第1鍵K1を得る第2入力手段と、 前記ディジタル入力ブロックを前記ディジタル出力ブロックに変換する暗号 処理手段であって、前記変換が、前記ディジタル入力ブロックの選択された部分 M1を前記第1鍵K1と結合することと、前記選択された部分M1および第1鍵 K1に非線形的に依存するデータブロックB1を発生することとを具え、前記デ ィジタル出力ブロックの選択された部分を前記データブロックB1から得る、暗 号処理手段と、 前記ディジタル出力ブロックを出力する出力手段とを具える装置において、 前記暗号処理手段を、前記結合を、前記選択された部分M1および第1鍵K1を 、1つの逐次的に分離できないステップにおいて非線形的に結合する非線形関数 gを実行することによって行うように配置したことを特徴とする装置。 17.請求の範囲16に請求の装置において、該装置が、第2鍵K2を得る第3入 力手段を具え、前記変換が、 − 前記結合を行う前に、前記ディジタル入力ブロックを、前記選択された部 分M1と、第2の部分M2とに分割することと、 − 前記第2ブロックを第2鍵K2に1つの逐次的に分離できないステップに おいて結合する非線形関数g-1を実行し、データブロックB2を出力として発生 し、前記非線形関数g-1を前記非線形関数gの逆関数とすることと、 − 前記データブロックB1におけるデータと前記データブロックB2におけ るデータとから結合されたデータを形成することとを具え、前記ディジタル出力 ブロックを前記結合されたデータから得るようにしたことを特徴とする装置。 18.請求の範囲16に請求の装置において、前記結合ステップが、 − 前記選択された部分M1を、ほぼ等しい長さの第1の複数nのサブブロッ クm0,..,mn-1に分割するステップと、 − 前記第1鍵K1を、ほぼ等しい長さを有する第1の複数nのサブ鍵k0, ..,kn-1に分割し、前記サブ鍵kiがi=0ないしn−1に対して前記サブブ ロックmiに対応させるステップと、 − 前記サブブロックmiの各々を、前記サブブロックmiの各々に対して、前 記サブブロックmiから得られたサブブロックbiを前記対応するサブ鍵kiに1 つの逐次的に分離できないステップにおいて非線形的に結合する同じ非線形関数 hを実行することによって別々に処理し、前記第1の複数の出力サブブロックh (bi,ki)を発生するステップと、 − 前記第1の複数の出力サブブロックh(bi,ki)から得られたサブブロ ックtiを結合し、前記データブロックB1を形成するステップとを具えること を特徴とする装置。 19.請求の範囲18に請求の装置において、前記関数h(bi,ki)を、 bj≠0,kj≠0かつbj≠kjならば、h(bj,kj)= (bj,kj-1 j=0ならば、h(bj,kj)= (kj-2 j=0ならば、h(bj,kj)= (qj-2j=kjならば、h(bj,kj)= 0 によって規定し、前記乗算および逆演算を、予め決められたガロア域乗算およ び逆演算としたことを特徴とする装置。 20.請求の範囲19に請求の装置において、前記サブブロックmiが8データビ ットを具え、前記GF(28)の2つの要素bおよびcの乗算が、 − bをa0+a1.Dとして表し、cをa2+a3.Dとして表し、a0、a1、 a2およびa3をGF(24)の要素とし、Dを、GF(24)に関する既約多項式 h(x)=x2+x+βの根として規定されるGF(28)の要素とし、βをGF (24)の要素とすることと、 − (a02+a13β)+(a12+a03+a13).Dを計算すること とを具え、 前記GF(28)の要素bの逆数を計算することが、(a0 2+a01+a1 2 β)((a0+a1)+a1D)の計算することを具えることを特徴とする装置。
JP54191697A 1996-05-20 1997-05-13 データブロックおよび鍵を非線形的に結合する暗号方法および装置 Expired - Lifetime JP3992742B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL1003159 1996-05-20
NL1003159 1996-05-20
PCT/IB1997/000544 WO1997044935A1 (en) 1996-05-20 1997-05-13 Cryptographic method and apparatus for non-linearly merging a data block and a key

Publications (2)

Publication Number Publication Date
JPH11509940A true JPH11509940A (ja) 1999-08-31
JP3992742B2 JP3992742B2 (ja) 2007-10-17

Family

ID=19762893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54191697A Expired - Lifetime JP3992742B2 (ja) 1996-05-20 1997-05-13 データブロックおよび鍵を非線形的に結合する暗号方法および装置

Country Status (5)

Country Link
US (2) US6298136B1 (ja)
EP (1) EP0839418B1 (ja)
JP (1) JP3992742B2 (ja)
DE (1) DE69721439T2 (ja)
WO (1) WO1997044935A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514024A (ja) * 1998-05-07 2002-05-14 ギーゼッケ ウント デフリエント ゲーエムベーハー メッセージ交換ネットワーク内でスマートカードを認証するための方法
JP2010072664A (ja) * 1999-02-04 2010-04-02 Cp8 Technologies 物理的解析によってコンピュータシステムを攻撃から保護する秘密鍵暗号化方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3992742B2 (ja) * 1996-05-20 2007-10-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データブロックおよび鍵を非線形的に結合する暗号方法および装置
RU2103829C1 (ru) * 1997-04-02 1998-01-27 Государственное унитарное предприятие "Специализированный центр программных систем "Спектр" Способ шифрования информации, представленной двоичным кодом
ES2293665T3 (es) * 1997-11-28 2008-03-16 Alexandr Andreevich Moldovyan Metodo para la conversion criptografica de bloques de entrada de l bits de informacion de datos digitales en bloques de salida de l bits.
JPH11225138A (ja) * 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd 暗号処理装置、暗号処理方法及びその方法を記録した記録媒体
AU5458199A (en) * 1998-07-02 2000-01-24 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
US7292693B1 (en) * 1998-08-13 2007-11-06 Teledyne Technologies Incorporated Deterministically generating block substitution tables which meet a given standard of nonlinearity
US6578061B1 (en) 1999-01-19 2003-06-10 Nippon Telegraph And Telephone Corporation Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon
US6760440B1 (en) * 1999-12-11 2004-07-06 Honeywell International Inc. One's complement cryptographic combiner
US6807649B1 (en) * 2000-05-23 2004-10-19 Hewlett-Packard Development Company, L.P. Encryption keys for multiple drive fault tolerance
US20020021801A1 (en) * 2000-07-13 2002-02-21 Takeshi Shimoyama Computing apparatus using an SPN structure in an F function and a computation method thereof
US7366300B2 (en) * 2000-12-13 2008-04-29 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7142671B2 (en) * 2000-12-13 2006-11-28 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
US7502463B2 (en) * 2000-12-13 2009-03-10 Broadcom Corporation Methods and apparatus for implementing a cryptography engine
JP4787434B2 (ja) * 2001-08-24 2011-10-05 富士通コンポーネント株式会社 暗号化方法、通信システム、データ入力装置
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
KR100800468B1 (ko) * 2004-01-29 2008-02-01 삼성전자주식회사 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
KR20050087271A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
FR2871969B1 (fr) * 2004-06-18 2006-12-01 Sagem Procede et dispositif d'execution d'un calcul cryptographique
US8312551B2 (en) * 2007-02-15 2012-11-13 Harris Corporation Low level sequence as an anti-tamper Mechanism
US7937427B2 (en) * 2007-04-19 2011-05-03 Harris Corporation Digital generation of a chaotic numerical sequence
US7921145B2 (en) * 2007-05-22 2011-04-05 Harris Corporation Extending a repetition period of a random sequence
US8611530B2 (en) * 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors
US7995757B2 (en) * 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination
US7962540B2 (en) * 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US7970809B2 (en) * 2007-06-07 2011-06-28 Harris Corporation Mixed radix conversion with a priori defined statistical artifacts
US7974413B2 (en) * 2007-06-07 2011-07-05 Harris Corporation Spread spectrum communications system and method utilizing chaotic sequence
US8005221B2 (en) * 2007-08-01 2011-08-23 Harris Corporation Chaotic spread spectrum communications system receiver
US7873828B2 (en) * 2007-08-07 2011-01-18 Optica Technologies, Inc. Method and apparatus for encrypting and decrypting data to/from an ESCON tape system
IL185285A0 (en) * 2007-08-14 2008-01-06 Yeda Res & Dev A method and apparatus for implementing a novel one-way hash function on highly constrained devices such as rfid tags
US7995749B2 (en) 2007-10-30 2011-08-09 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
US8189792B2 (en) * 2007-12-28 2012-05-29 Intel Corporation Method and apparatus for performing cryptographic operations
US8180055B2 (en) * 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8363830B2 (en) 2008-02-07 2013-01-29 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US8040937B2 (en) * 2008-03-26 2011-10-18 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8139764B2 (en) * 2008-05-06 2012-03-20 Harris Corporation Closed galois field cryptographic system
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US8200728B2 (en) * 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8145692B2 (en) * 2008-05-29 2012-03-27 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US8064552B2 (en) * 2008-06-02 2011-11-22 Harris Corporation Adaptive correlation
US8068571B2 (en) * 2008-06-12 2011-11-29 Harris Corporation Featureless coherent chaotic amplitude modulation
US8325702B2 (en) * 2008-08-29 2012-12-04 Harris Corporation Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot
US8165065B2 (en) * 2008-10-09 2012-04-24 Harris Corporation Ad-hoc network acquisition using chaotic sequence spread waveform
US8351484B2 (en) * 2008-12-29 2013-01-08 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US8406276B2 (en) * 2008-12-29 2013-03-26 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8457077B2 (en) * 2009-03-03 2013-06-04 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8428102B2 (en) * 2009-06-08 2013-04-23 Harris Corporation Continuous time chaos dithering
US8509284B2 (en) * 2009-06-08 2013-08-13 Harris Corporation Symbol duration dithering for secured chaotic communications
US8428103B2 (en) * 2009-06-10 2013-04-23 Harris Corporation Discrete time chaos dithering
US8406352B2 (en) 2009-07-01 2013-03-26 Harris Corporation Symbol estimation for chaotic spread spectrum signal
US8340295B2 (en) * 2009-07-01 2012-12-25 Harris Corporation High-speed cryptographic system using chaotic sequences
US8363700B2 (en) 2009-07-01 2013-01-29 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US8369376B2 (en) * 2009-07-01 2013-02-05 Harris Corporation Bit error rate reduction in chaotic communications
US8385385B2 (en) 2009-07-01 2013-02-26 Harris Corporation Permission-based secure multiple access communication systems
US8379689B2 (en) * 2009-07-01 2013-02-19 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US8428104B2 (en) 2009-07-01 2013-04-23 Harris Corporation Permission-based multiple access communications systems
US8369377B2 (en) 2009-07-22 2013-02-05 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US8848909B2 (en) * 2009-07-22 2014-09-30 Harris Corporation Permission-based TDMA chaotic communication systems
US9544133B2 (en) * 2009-12-26 2017-01-10 Intel Corporation On-the-fly key generation for encryption and decryption
US8345725B2 (en) 2010-03-11 2013-01-01 Harris Corporation Hidden Markov Model detection for spread spectrum waveforms
CN102812662B (zh) * 2010-03-29 2015-04-29 英特尔公司 用于管理员驱动的简表更新的方法和设备
US9584310B2 (en) * 2014-03-19 2017-02-28 Nxp B.V. Protecting a white-box implementation against attacks
US11310043B2 (en) * 2019-01-03 2022-04-19 Rolls-Royce Corporation Frequency encryption for communication signals

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3244537A1 (de) * 1982-12-02 1984-06-07 Ant Nachrichtentech Verfahren zur ver- und entschluesselung von datenbloecken
US4947447A (en) * 1986-04-24 1990-08-07 Hitachi, Ltd. Method for data coding
EP0406457A1 (de) * 1989-07-03 1991-01-09 Matthias Zahn Verfahren zum Verschlüsseln und Entschlüsseln von Daten
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
DE4016203A1 (de) * 1990-05-19 1991-11-21 Rolf Prof Dr Trautner Verfahren zur blockweisen chiffrierung von digitalen daten
JP2862030B2 (ja) * 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
US5757923A (en) * 1995-09-22 1998-05-26 Ut Automotive Dearborn, Inc. Method of generating secret identification numbers
JP3992742B2 (ja) * 1996-05-20 2007-10-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データブロックおよび鍵を非線形的に結合する暗号方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514024A (ja) * 1998-05-07 2002-05-14 ギーゼッケ ウント デフリエント ゲーエムベーハー メッセージ交換ネットワーク内でスマートカードを認証するための方法
JP2010072664A (ja) * 1999-02-04 2010-04-02 Cp8 Technologies 物理的解析によってコンピュータシステムを攻撃から保護する秘密鍵暗号化方法

Also Published As

Publication number Publication date
DE69721439T2 (de) 2004-03-18
DE69721439D1 (de) 2003-06-05
JP3992742B2 (ja) 2007-10-17
WO1997044935A1 (en) 1997-11-27
US7079651B2 (en) 2006-07-18
US6298136B1 (en) 2001-10-02
US20020034295A1 (en) 2002-03-21
EP0839418B1 (en) 2003-05-02
EP0839418A1 (en) 1998-05-06

Similar Documents

Publication Publication Date Title
JPH11509940A (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
US5745577A (en) Symmetric cryptographic system for data encryption
US5222139A (en) Cryptographic method and apparatus
JP4828082B2 (ja) 対称キー暗号用の置換ボックス
EP1133100A2 (en) Encryption apparatus and method, and decryption apparatus and method based on block encrytion
US20080304664A1 (en) System and a method for securing information
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
KR20020006475A (ko) 암호화장치, 복호장치 및 확대키 생성장치, 확대키생성방법 및 기록매체
KR19990002840A (ko) 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
JPH10171350A (ja) ハッシュ値生成方法および装置
RU2124814C1 (ru) Способ шифрования блоков цифровых данных
JP3180836B2 (ja) 暗号通信装置
EP1059760A1 (en) Method for the block-encryption of discrete data
US6301361B1 (en) Encoding and decoding information using randomization with an alphabet of high dimensionality
JP2007532935A (ja) 擬似ランダム系列を生成する方法
RU2141729C1 (ru) Способ криптографического преобразования блоков двоичных данных
US20040096059A1 (en) Encryption apparatus with parallel Data Encryption Standard (DES) structure
Carter et al. Key schedule classification of the AES candidates
WO2009104827A1 (en) Method and apparatus for generating key stream for stream cipher, s-box for block cipher and method for substituting input vector using the s-box
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
JP2000089667A (ja) アルゴリズム生成型秘密鍵暗号方式
Usman et al. A data specific comparative study for choosing best cryptographic technique
Malav Security Improvement for Realistic Data Using International Data Encryption Cryptographic Algorithm
JP3017725B2 (ja) データ変換装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040511

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20040511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061213

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061215

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070507

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term