JP2008514975A - sボックス - Google Patents

sボックス Download PDF

Info

Publication number
JP2008514975A
JP2008514975A JP2007532996A JP2007532996A JP2008514975A JP 2008514975 A JP2008514975 A JP 2008514975A JP 2007532996 A JP2007532996 A JP 2007532996A JP 2007532996 A JP2007532996 A JP 2007532996A JP 2008514975 A JP2008514975 A JP 2008514975A
Authority
JP
Japan
Prior art keywords
input
box
output
bits
bit
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.)
Pending
Application number
JP2007532996A
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
Priority claimed from AU2004905507A external-priority patent/AU2004905507A0/en
Application filed by シナプティック ラボラトリーズ リミテッド filed Critical シナプティック ラボラトリーズ リミテッド
Publication of JP2008514975A publication Critical patent/JP2008514975A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Packages (AREA)

Abstract

多入力多出力のsボックスであって、a個の隣接番号の入力ビット(101,102,103,104,105)I、I乃至Iを受信し、ここでaは少なくとも4であり、b個の連続番号の出力ビット(131,132,133,134,135)O、O乃至Oを出力する。このsボックスは、c個の一次sボックス(121,122,13)sb、sb乃至sbを含む。各一次sボックス(121,122,123)は多入力単一出力のブール関数f、f乃至fを具え、これらが多入力と単一出力の関係を規定する。各一次sボックス(121,122,123)はそれぞれ入力ビットs、s乃至sのセットを受信し、これらのセットがそれぞれ前記sボックスへのa個の入力ビット(101,102,103,104,105)から選択され、それぞれsl、sl乃至slビットを含む。前記sl、sl乃至slの数は3乃至(a−1)の範囲内にあり、前記sl、sl乃至slの数の合計がaより大きい。前記sボックスのb個の出力ビット(131,132,133,134,135)が、前記c個のブール関数の出力を含む。
【選択図】図1

Description

本発明は、換字ボックス(substitution box)の構成に関し、ある実施例はハードウェアとして有効であり、ある実施例はソフトウェアとして有効である。
本出願は、2004年9月24日出願のオーストラリア暫定特許出願2004905507、2004年11月16日出願の2004906543、2004年12月30日出願の2004907361、2004年12月31日出願の2004907374、2005年4月29日出願の2005902136の優先権を主張するものであり、これらの内容は参照としてここに組み込まれている。
本明細書において、クレームも含み、「具える」または「具えている」の語は明確に規定された特徴、整数、ステップ、構成要素の存在を特定するのに用いるものであり、他の1以上の特徴、整数、ステップ、構成要素の存在または追加を排除するものではなく;またビットiの「添字位置(index position)」Pは、隣接入力ビットセットa内のビットiの位置を示すのに用いる。
本明細書において、「確率的プロセス」の語は、「乱数」および「疑似乱数」プロセスの双方に用い、これには疑似乱数プロセスが定数またはキー要素で「キード(kyed)」または「シード(seeded)」されている場合や、ランダム性のソースや疑似乱数アルゴリズムが取得可能(available)な場合を含む。様々な公知の疑似乱数生成器やストリーム暗号をこの目的に利用することができる。
本明細書において、公開された文献への参照は、その文献の内容が本明細書の熟練した読者に共有の一般知識の部分をなすと容認するものではない。
我々の創作的な特徴をより容易に認識可能とすべく、我々はこの技術に関連するこれまでに公開されたいくつかの文献の概要を以下に明らかにする。
錯乱(confusion)と拡散(diffusion)の定義は、1949年にC. E. Shannonにより彼の文献「Communication THeory of Secrecy Systems」で初めて公に紹介された。
sボックス(substitution box:換字ボックス)はデジタル符号化された入力を受け、この入力を異なるデジタル符号化された出力に変換し、すなわち錯乱を生じさせる。pボックス(permutation box:置換ボックス)はデジタル符号化された入力を受け、同じビットを出力として返し、これらの値を変更しないがその順番を変え、すなわち拡散を生じさせる。
「雪崩効果」は、最も単純な形では、入力の単一ビット順列(single bit change)にラウンド関数(round function)で少なくとも2ビット順列の出力とする暗号特性である。これはsボックスに必要な特性として、Horst Feistel により、1973年5月のScientific American , Vol. 228, Number 5において公開された彼の暗号特性を記載した「Cryptography and Computer Privacy」にて紹介された。この刊行物は、完全な任意対任意の換字(any-to-any substitution)は128×128といった大きなsボックスでは技術の限界により達成できないことを記している。結果として、非常に小さく実用的なサイズ(4×4)の非線形sボックスが部分的な錯乱と部分的な拡散を実行すべく選択され、大きなpボックスがsボックスの出力に接続されShannonが規定するようにさらなる拡散を実行すべく選択される。
最初のデジタルブロック暗号は広くHorst Feistel により達成された。このブロック暗号は、1974年3月19日に発行された米国特許3,798,359(Feistel)にあるように、小さな4×4のsボックスと、64または128ビットに行われる置換処理を組み合わせている。この4×4のsボックスは、組み合わせ理論(combinatorial logic)を用いるよう設計されている。
sボックスとpボックスは、殆どのフェイステル型またはフェイステルネットワーク暗号および他の暗号原理(cryptographic primitive)の要素として利用されている。これらは1976年5月18日に公開された米国特許3,958,081(Ehrsam, et al.)に開示された公開データ暗号化標準(DES)にも利用されている。このDES暗号は、1977年に米国連邦規格となった。ここで注目すべきは、その時点で公に知られていない重要な暗号基準を保護しつつ、組み合わせ理論を用いたハードウェア実装を確たる有効なものにすべく、6×4のsボックスが慎重に選択されていることである。
sボックスの換字処理は、概して演算的ではない。例えば、限定しないが加算、乗算、累乗といった演算処理は、しばしば非演算的sボックス(non-arithmetic s-box)の代わりに、またはこれとともに利用される。このような演算処理と非演算的sボックスの組合せに基づく換字−置換ネットワーク(substitution-permutation networks)は、ワードベースの処理構造に有効である。この種の構造の一例が、1981年3月10日に公開された米国特許4,255,811(Adler)に記載されており、2を法とする加算または減算、nビット幅XOR、静的nビット置換(static n-bit permutations)、nビットキー従属ローテーション操作(n-bit key-dependent rotation operations)を用いる暗号が開示されている。同種のさらなる構成が、1991年1月1日に公開された米国特許4,982,429(Takaragi, et al.)、1992年4月7日に公開された5,103,479(Takaragi, et al.)に開示されている。ワードベースの非線形演算処理が、例えばRon Rivest による1992年4月のRecommendation for Comment 1321に記載されたMD5暗号ハッシュ関数といった暗号ハッシュ関数に用いられている。
pボックス(置換ボックス)についての意味深い研究はなく、これは設計者の判断に委ねられ、多くの場合は完全に線形または無作為に選択される。
フェイステルネットワーク暗号はまた、その構造内で殆どの場合に線形で、拡散(diffusion)に寄与する関数の組合せを含む。線形コンバイナ(XOR)を拡散率の高い非線形演算処理に置き換える一例に、ソヴィエト国家基準局;情報処理システム;暗号保護;暗号アルゴリズム推奨のGOSTと呼ばれるものがある。1989年GOST28147−89。このGOST暗号は、ワードベースのローテーション操作(rotation operation)を用いてsボックス間でビットの拡散を実現させた暗号の例でもある。
「完成基準」(completeness criterion)は、最初に文献「Structured Design of Substitution-Permutation Encryption Networks」、IEEE Transactions of Computers、Vol.28、No. 10, 747、1979年、John B. KamとGeorge I. Davida、により明確に規定された。暗号変換は、各暗号文ビットが平文ビットに従属する場合に「完成」する。この完成基準を満たす暗号が、1981年6月23日公開の米国特許4,275,265(Davida, et al.)に見られる。この完成基準は、例えばNインスタンスのM入力対単一出力のブール関数がそれぞれM入力ビットの完全なセットを入力とするM×Nのsボックスを必要とする。
1982年の文献「Are Big S-Boxes Best」において、J. Gordon とH. Retkinは、コンテンツがすべての考え得る出力のセットの無作為の置換として選択される場合にsボックスの暗号特性を探求している。この文献は、最初の役割が、エントリ数が十分に多い場合にはこのように無作為に選択したsボックスで様々な望ましい暗号特性が発見されることを示すことを含んでいる。例えば、1/264の無作為に生成される可逆の6×6sボックスは、活用可能な線形性を有する。
1982年のF. Ayoubによる文献「Probabilistic completemess of substitution-permutation encryption networks」、IEEE Proceedings, 129(5):195-199には、その時点で最新の研究が、特定の状況下において、計画的なトラップドアからの開放の証明として、ランダム選択により換字関数(substitution function)を設計しうることを示している。この文献はまた、置換もまた例えばユーザキーで無作為に選択しうることを開示しており、得られるネットワークは、非常に高い確立で、完成された特性を有する。
我々のM×1のsボックスへのブール関数のランダム選択を許可する場合に、上記2文献を参照する。
カナダ、オンタリオ、キングストン、クイーンズ大学電気工学部のA. F. Webster とS. E. Tavaresの修士論文「On the Design of S-Boxes」、LNCS no. 219, pp523-534 (1986)において、筆者は「厳格な雪崩基準(strict avalanche criterion:SAC)」を明示的に規定している。このSACは、各暗号文出力ビットが、単一の入力ビットが補足された場合にも正確に1/2の確立で変換されるべきであることを述べている。
この論文は、この実践的なプロセスが、SACとさらなる「雪崩変動独立(avalanche variable independence)」特性とを満足する4×4のsボックスの選択に用いられることを記載している。このプロセスは、SACを満たす潜在的に可逆のすべての4×1関数を選択し、一度にこれらを4つ組み合わせて4×4の換字ボックスを生成することで開始する。この論文にはさらなる実践的な技術が記載されており、前のステップで作成された「完全な」sボックスの有限数の集合(families)から4×1のブール関数を選択することによりサーチプロセスを最適化する。
この論文は、米国特許4,275,265(DAVIDA, et al.)記載の暗号がいかにSACに合致しないかを強調し、他の研究者にそれまで認識されたDESの潜在的な弱点を確認している。また、SACを満足しない構成を、数ラウンドにわたり構築を繰り返すことにより、SACを満足する構成に変換しうることを強調している。これは、構築が換字置換ネットワークである場合であって置換の電送(wiring)が無作為である場合に実現するようである。
sボックスの完全な非線形の基準は、1989年に文献「Nonlinearity Criteria for Cryptographic Functions」、Advances in Cryptology-- EUROCRYPT '89、549-562、筆者Meier とStaffelbachで初めて記載された。この筆者は、完全な非線形基準は拡散に作用し、事実上SACの要求よりも厳しい。
1992年の文献「On immunity against Biham and Shamir's Differential Cryptanalysis」、Information Processing Letters、vol. 41、1992年2月14日、pp77-80、Carlisle M. Adamsには、差分暗号解読を免除した実用的なサイズのsボックスの作成方法が記載されている。
1998年8月18日に公開された米国特許5,796,837(Kim, et al.)は、線形および差分暗号解読を免除した実用的なサイズのM×Nのsボックスの作成方法を開示している。2000年2月29日に公開された米国特許6,031,911(Adams, et al.)は、SACおよび他の基準を増分プロセス(incremental process)で迅速に満たすM×Nのsボックスを生成する発見的な技術を開示している(上述したA. F. Webster とS. E. Tavaresの論文「On the Design of S-Boxes」と同様の技術である)。
公開された案件の前述の分析から、非演算的なsボックスの研究および非演算的sボックスの作成の一般的な方向性は3つの学派に分かれており、すなわち、適度に大きなsボックスを選択しすべての可能な出力を無作為に置換するもの、強固として知られるsボックスからキー従属sボックス(key-dependent s-boxes)を作成するもの、所望の暗号特性を固定のsボックスに保証する新規で厳格な発見的基準を見つけ出すものである。いずれの場合にも、これらの非演算的なsボックスを作成する3つの学派は、sボックスが最低限完成した基準を高い確率で保証すべきことに同意している。
以下が非演算的なsボックスに関する特性である:
−sボックス構築用の均衡のとれたブール関数を無作為に選択可能である;
−無作為に均衡のとれたブール関数からM×Nのsボックスを構築可能であり、発見的(heuristic)で改良されておりSACを充足する;
−M×Nのsボックスを、固定的な初期の置換(fixed initial permutation)により選択可能である;
−暗号換字置換(SP)ネットワークの単一ラウンドを、このSPネットワーク自体はSACを満足しなくても、各々独立してSACを満足する1以上のユニークなM×Nのsボックスから構築可能である;
−上述の暗号SPネットワークの単一ラウンドがSACを満たさないが、完全なSPネットワークが2またはそれ以上の繰り返しラウンドの後にSACを満たす;
いずれの場合にも、例えば得られる最高の非線形、得られる最高の代数的階級(algebraic degree)、得られる最速の雪崩といった理想の特性を有する小さく実用的なサイズのsボックスを選択して、換字−置換ネットワークを技術的に不可能な大きく強固なsボックスに近似させる。
ソフトウェアまたはワードベースのプロセッサ構造において、基本のブール理論作用(AND、MOV−move/copy、NAND、NOR、NOT、OR、XNOR、XOR等)は、厳密に構成されたパラレルNビット幅の入力に対して実行される単一命令多重データ(single-instruction-multiple-data:SIMD)操作の形式である。例えば、IBMのPowerPCまたはIntel×86構造といった通常目的の32ビットプロセッサを考えると、ブールのAND命令は32の個別のビット毎にAND操作を、32ビット幅のレジスタブロックに供給される64ビットの入力に対して行い、32ビットの出力を出す。
M×NのsボックスとM×1のブール関数を、ルックアップテーブルとして、または適切な基本SIMD操作の選択および構成を通じて、ソフトウェアに実装する。2対1マルチプレクサに有効な32協働ソフトウェア(32 concurrent software)の暗号実装を用いるSIMD操作の一例が、暗号ハッシュ機能MD5にみられる。
SIMD命令の最も明瞭な特徴は、その完全な平行性にある:各入力レジスタの各ビットは出力の同じ位置のビットにのみ作用し−各入力レジスタの最小桁のビットは出力の最小桁のビットにのみ作用し、各入力レジスタの最上位のビットは出力の最上位のビットにのみ作用する等である。このような作用は、固定または可変のローテーション(fixed or variable rotation)を用いずに繰り返しまたは互いにグループ化する場合に、バイトのスワッピングまたは他の(固定または可変の)置換、換字または演算操作は、各出力ビットがNビット幅の各入力レジスタの1より多いビットに作用するのを許可しない。このため、暗号化アプリケーションに必須の各入力レジスタの異なるビット間で拡散を生じるには、固定または可変のローテーション、バイトのスワッピングまたは他の(固定または可変の)ビットの置換、ビットの換字、または演算操作が必要である。
以下の技術が、ビットの拡散を導くのに必要なビット毎の置換操作を実行するワードベース構造に使用されている:
−通常ルックアップテーブルとして実装されsボックスに組み合わせられる、pボックス;
−1989年公開のGOST基準28147−89にみられる固定のビットローテーション操作;
−上記米国特許4,255,811(Adler)に記載のキー従属ビットローテーション操作;
−1979年公開の米国特許4,157,454に記載のデータ従属ローテーション操作;
−1989年12月19日公開の米国特許4,888,798(Earnest)に記載された、ビットローテーション操作と組み合わせた、および例えばOR、XOR、ADD操作と組み合わせた、ビット毎のマスキングAND操作;
−「On permutation operations in cipher design」、Ruby B. Lee, Z. J. Shi, Y. L. Yin, Ronald L. Rivest, M. J. B, Robshaw、で提唱されているグループ操作や、例えば文献「Efficient permutation instructions for fast software cryptography」、IEEE Micro, 21(6): 56-69、2001年12月、R. B. Lee et al. に記載されたPPERMやCROSS操作、または「Arbitrary bit permutations in one or two cycles」、Proceedings of the 15th International Conference on Application Specific Systems、Architectures and Processors, 237-247頁、2003年7月、Z. Shi et al.、にあるような置換命令;
−1989年公開のGOST基準28147−89にみられるワードベースの演算操作(ADD、SUB、MUL、DIV);
−あまり一般的でないバイトスワッピング、ワードスワッピング、ビット順序反転操作;
上記特許に開示されている静的なビット毎の置換と展開操作(expansion operations)は、その提案または目的に拘わらず、ソフトウェアの実装さらなる論理回路を用いることなく、直接ハードウェアに実装されている。動的なビット毎の置換操作はsボックスと、演算操作と、データ従属およびキー従属ローテーション(任意選択キーとして)とを含み、置換はハードウェア内でブール関数を使用したりルックアップテーブルとして実装される。
Eli Biham により1997年に公開された文献A Fast New DES Implementation in Softwareに記載されたビットのスライシングは、基本的なAND、OR、XOR、NOTブール理論関数と移動演算のみを用いて並行に実行される複合暗号インスタンスが得られる。上記にみられるように、ビットのスライシングは32または64の異なる暗号インスタンス間での相互関係を生成するものではない。ビットスライシングは、単一のプロセッサレジスタ内のビット置換の代わりに、異なるNビット幅レジスタを直接参照して迅速な平行化されたソフトウェア実装を実現する。ビットスライシングにより単一の暗号を実行する連続的な実行待ち時間が増大するが、実行量が低減する。
実践的なアルゴリズム(ときに近時アルゴリズムと呼ばれる)は、さもなくば多項式アルゴリズムが与えられない問題(intractable problem)の良好な解答を迅速に導く確率的アルゴリズム(probabilistic algorithms)である。このような解答は最適であったりなかったりするが、良好な解答を見つけたり与えられた回答を導いたりすることが事実上コンピュータで実行不能な、多項式アルゴリズムが与えられない問題に許容しうると考えられる。以下のいずれかの実践的なアルゴリズムを、乱数または疑似乱数的に選択された電送置換(wiring permutations)を改善するために、また品質基準として用いられる暗号基準により判断される本発明の好適な実施例で用いられるブール関数に適用可能である:遺伝的アルゴリズム、グリーディアルゴリズム(Greedy algorithms)、ランダムサーチ、タブーサーチ(Tabu search)、ヒルクライミング、アントコロニー最適化(Ant Colony Optimization)、疑似アニーリング(Simulated Annealing)、またはこれらの混成および並列の変異体(parallel variant)。適切なアルゴリズムが以下に記載されている:
Approximation Algorithms、Vijay V. Vazirani、Springer-Verlag、ハイデルベルグ、2001年、ISBN:3-540-65367-8
Approximation Algorithms for NP-hard Problems、D. S. Hochbaum、PWS出版社、ボストン、1996年、ISBN: 0-534-94968-1
Automated Cryptanalysis of Substitution Ciphers、W. S. Forsyth とR. Safavi-Naini、Cryptologia vol XVII, No. 4にて公開、1993年、407-418頁
Automated Cryptanalysis of Transposition Ciphers 、J. P. GiddyとR. Safavi-Naini、The Computer Journal vol XVII, No. 4、1994年
Two-Stage Optimisation in the Design of Boolean Functions、John Andrew ClarkとJeremy Jacob、Lecture Notes in Computer Science 1841春号、2000年、ISBN: 3-540-67742-9、242-254頁
これに対し、本発明の一態様は、多入力多出力のsボックスであって、
a個の隣接番号の(contiguously numbered)入力ビットI、I乃至Iを受信し、ここでaは少なくとも4であり、
b個の連続番号の出力ビットO、O乃至Oを出力するよう構成され、
このsボックスが:
c個の一次sボックスsb、sb乃至sbを含み、それぞれ:
多入力単一出力のブール関数f、f乃至fを含み、これらが多入力と単一出力の関係を規定しており、
入力ビットセットs、s乃至sをそれぞれ受信するよう構成され、これらのセットがそれぞれ前記sボックスへのa個の入力ビットから選択され、それぞれsl、sl乃至slビットを含み、これにより:
前記sl、sl乃至slの数が3乃至(a−1)の範囲内にあり;
前記sl、sl乃至slの数の合計がaより大きく、
前記sボックスのb個の出力ビットが、前記c個のブール関数の出力を含むことを特徴とする。
別の態様によると、本発明は以下の暗号方法を提供する:
a個の隣接番号の(contiguously numbered)入力ビットI、I乃至Iを受信し、ここでaは少なくとも4であり、
b個の連続番号の出力ビットO、O乃至Oを出力し、
前記方法が:
c個の一次sボックス操作(primitive s-box operations)sb、sb乃至sbを含み、それぞれ:
多入力単一出力のブール関数f、f乃至fを含み、これらが多入力と単一出力の関係を規定しており、
入力ビットセットs、s乃至sをそれぞれ受信し、これらのセットがそれぞれ暗号化関数(the cryptographic function)へのa個の入力ビットから選択され、それぞれsl、sl乃至slビットを含み、これにより:
前記sl、sl乃至slの数が3乃至(a−1)の範囲内にあり;
前記sl、sl乃至slの数の合計がaより大きく、
前記暗号関数のb個の出力ビットが、前記c個のブール関数の出力を含むことを特徴とする。
図1は、本発明の好適な実施例にかかあるキー・データ従属換字置換ネットワーク暗号(key-and-data-dependent substitution-permutation network cipher)の一部を図示するものである。図1は、直接的に回路としてハードウェア的に実現してもよいし、以下に示すようにワードベース構造にシミュレートしてもよい。
図1に示す実施例の入力100は、5つのビット101、102、103、104、105からなる。関数(function)110が、入力ビットを置換する役割も果たす3つの要素により、入力100の静的な展開(static expansion)を示している。ファンクション120は、3×1のsボックスのインスタンスを具え、図1にはこれらの3つ(121、122、123)のみを示す。出力130は、5つのビット131、132、133、134、135からなる。3×1のsボックス123は、入力100から3つの入力のユニークなセット、すなわちビット105とサイクリックな次の2ビット104と103とを取り、単一の出力ビット135を生成する。3×1のsボックス122は、入力100から3つの入力のユニークなセット、すなわちビット104とサイクリック名次の2ビット103と102とを取り、単一の出力ビット134を生成する。3×1のsボックス121は、入力800から3つの入力のユニークなセット、すなわちビット801とサイクリックな次の2ビット105と104とを取り、単一の出力ビット131を生成する。各出力ビット130は3×1のsボックスにより生成され、各sボックスは入力100からの3つの入力ビットのセットを受け、ここで3つの入力ビットの5つのセットはそれぞれ、他の3つの入力ビットの5つのセットと2ビットより多くを共有しない。
それぞれ別個に、符号120で示されている複数のsボックス関数は、非線形3入力1出力ブール関数からなる。図1に示す好適な実施例では、符号120で示される複数のsボックス関数はそれぞれ、ユニークな3入力1出力の平衡な(balanced)非線形ブール関数を実行する。
図1に示す本発明の好適な実施例は、従来のM×Nのsボックスと比較して電送(wiring)の冗長さが低減されている:符号120で示す領域のL対1(L-to-1)のブール関数は、領域120における他のLから1のブール関数とL以下の入力を共有する。これに対し、従来のM×Nのsボックスはすべて、完成基準(completeness criterion)を満足するために、完全な電送の冗長性を有する必要がある:すべての出力ビットの完全なM対1ブール関数(M-to-1 Boolean function)は、そのM個の入力すべてをsボックス内の他のM対1ブール関数と共有する必要がある。
図示の目的のため、sボックス123、122、121は、ビット119、116、113がそれぞれビットセット{118,117}、{115,114}、{112,111}をデータ入力とする各マルチプレクサのセレクタ入力となる2対1マルチプレクサ関数(two-to-one multiplexer functions)となるよう選択される。sボックス120の選択とデータ入力はともに入力100から導出され、sボックス120はデータ従属置換(data-dependent permutation)の形である。
この方法では、図1に示す本発明の実施例は、複数の入力ビットの展開−置換(expansion-permutation)と、マルチプレクサ関数と、出力ビット置換(output bit permutation)とを具える。これにより、入力100の所定の1対L(1-to-L)展開と、展開された中間状態110の所定のビット置換と、展開された中間状態110をL対1圧縮(L-to-1 compression)して状態130を出力とするキー・データ従属換字(key-and-data-dependent substitution)とが得られる。
出力130が入力100にフィードバックされる場合、このような構成を「並列フィードバックの有数非線形シフトレジスタ」または「並列フィードバック型NLFSR」と呼ぶことができる。本発明の好適な実施例では、130の出力が入力100としてフィードバックされる。2つのサイクリックビットが右へ流れる出力130の各ビットの従属性により、ビット作用はサイクリックに左に流れる。本例では、要求される拡散の完成を得るには最低2ラウンドを要する。
このプロセスを実現する回路において、出力130の各ビットのクリティカルパス電送待ち時間はおよそ均一となることが予想される。これに対し本発明では、演算操作に基づいた回路に実装されるsボックスは常に、繰り越し操作(carry operations)のチェーンの最上位のビットに従属して、強固で非一様なクリティカルパス電送待ち時間を示す。
図2は、本発明の別の好適な実施例にかかるキー・データ従属換字置換ネットワーク暗号プロセスの全単射異形(bijective variant)の一部である。領域200は、25ビットの入力を示している。領域201は、入力252の左の24ビットを示す。領域210は、25ビットの出力を示す。領域211は、領域240として示す25対1sボックス(twenty five-to-one s-boxes)に従属する20ビットの出力を示す(図にはこれらの20のsボックスの1つのみを符号241で示している)。領域221は、5ビットの入力を示す。領域223は、5つの入力ビット221の全単射(可逆の)5×5換字−置換222に従属する5ビットの出力を示す。
領域240の多入力単一出力ブール関数241はそれぞれ、例えば領域201の符号231、232、233、234、235といった5ビットの予め定められたセット230を入力とし、出力として、ビット253を出力として生成する250内の線形コンバイナ(XOR/XNOR)251に第1の入力ビットを生成する。入力ビット252は251への2つの入力のうちの2つ目である。領域250の各線形コンバイナ251用に、領域240の対応するブール関数がこの第2の入力ビットの左の領域のみから入力をコンバイナに受け取り、この領域が201として示されている。
図2に示す本発明の好適な実施例では、領域240で図示されたステップに用いられる基本の5対1sボックス241は、領域230に図示するステップで用いられる5つの入力221から235と、単一の出力と、前記入力ビットと出力ビット感の関係を規定する5対1ブール関数とからなり、各平衡非線形ブール関数241は無作為に選択される。
図3は、本発明の好適な実施例にかかるワードベースのキー・データ従属換字−置換ネットワークの一部を示す図である。このデータステート(data state)310は15ビット幅で3ワード(あるいは最も便利な表記により、ブロック、サブブロック、レジスタ)に仕切られている。ワード311は、5つのビット321、322、323、324、325からなり;ワード312は、5つのビット331、332、333、334、335からなり;ワード313は5つのビット341、342、343、344、345からなる。
領域350は、このデータステートの3つのファクタによる静的展開置換(static expansion permutation)を示す。領域360は、3×1の非線形換字ボックス関数(図にはこれらの1つのみ示す)を示す。
データステート365は、15ビットで、3ワードに仕切られている。ワード366は5つのビット371、372、373、374、375からなり;ワード367は5つのビット381、382、383、384、385からなり;ワード368は5つのビット391、392、393、394、395からなる。
図示する3×1の換字置換関数361は、受信される3つの入力のユニークなセットを取得し、これはワード313のビット344から派生するビット352と、ワード312のビット332から派生するビット353と、ワード311のビット325から派生するビット351とからなる。図示するsボックス361は、ワード367に単一ビットの出力385を生成する。
ステート365の15ビットすべてにおいて、360の各3×1sボックスは、上記テンプレートに従い、4入力のユニークなセットを出力する。
図3に示す本発明の好適な実施例にかかるワードベースのキー・データ従属換字−置換ネットワーク暗号は、暗号ソフトウェアのパフォーマンスを改善する直接的なメカニズムを提供する。
図4は、本発明の好適な実施例にかかる図1に示す暗号を実装するソフトウェアの一例を示す図である。図4に示すプロセスは、ワード長が5ビットのプロセッサで実行される。ワード400は、5つのビット401、402、403、404、405からなり;ワード410は、5つのビット411、412、413、414、415からなり;ワード430は5つのビット431、432、433、434、435からなり、ワード470は5つのビット471、472、473、474、475からなる。ワード400は、ワード410および430への複製(duplication)を通して、3つのワードに展開される。
ワード410は、サイクリックなローテーション419を用いて、1ビットから最上位のビットに向かって静的(static)に置換される。これにより、ビット411、412、413、414、415は、それぞれ出力422、423、424、425、421として置換される。出力ビット421から425は、450の単一のワード入力として用いられる。
ワード430は、サイクリックなローテーション439を用いて、2ビットから最上位のビットに向かって静的(static)に置換される。これにより、ビット431、432、433、434、435は、それぞれ出力443、444、445、441、442として置換される。出力ビット441から445は、450の単一のワード入力として用いられる。
領域450は、3つの入力ワードをとる関数を規定し、図1に図示するマルチプレクサ作用を実現するワードベースの基本のブール関数でなるワードベースの命令460のシーケンスを実行する。仮にワード400をA、ワード420をB、ワード440をC、ワード470をDとすると、5つのビット幅2対1マルチプレクサを表すことができ、Aha選択入力でなり、BとCは以下のデータ入力でなる:
D=(A AND B)OR((NOT A)AND C)
領域481は、どのようにビット471が入力401、421、441にのみ従属するのかを視覚的に示している。領域482から485は、それぞれビット472から475の従属性を示している。
5ビット変数(five-bit variables)の語で完全な5ビット幅のプロセスの実装を説明すると、以下のようになる:
D=(A AND(A ROT1))OR((NOT A)AND(A ROT2))
一般目的の5ビットレジスタRAが入力であるアセンブラ擬似コード(assembler pseudo code)では、RBとRCは一次レジスタでありRDが出力であり、これと同じアルゴリズムが以下の6操作で自明的(trivially)に実現される:
RB=RA rotate left 1
RC=RA and RB
RA=not RA
RB=RB rotate left 1
RD=RA and RB
RD=RD or RC
上記プロセスは、普遍性を失わずに、どのように置換操作がカスケード(cascade)されるかと、移動/複製操作が最適化されるかを示している。例えばバイトスワッピング(byte-swapping)、ルックアップテーブル、バイナリマスキング操作(binary masking operations)といった他の操作をがソフトウェアプロセッサで実現可能であり、これにより技術者が、プロセッサ命令の短いシーケンスで表現される幅広い電送置換(wiring permutations)を実現することができ、したがってハードウェア性能を落とすことなく要求されたソフトウェア性能を得ることができる。
図1、2、3に示す本発明の好適な実施例では、すべての入力ビット100、201、310をそれぞれ展開された入力ビット110、240、350への割り当てること(assignments)を含む内部電送置換(internal wiring permutations)は、120、240、360内の複数の基本のL対1sボックスからそれぞれ130、210、365内のすべての出力ビットへの出力ビットのすべての割り当てとともに、無作為に選択される。
本発明の別の好適な実施例では:
−内部電送置換(internal wiring permutation)がキー従属疑似ランダムプロセスで選択される;
−内部電送置換が数式により選択される;
−内部電送置換が、入力と出力ビット間の単一ラウンドまたは複数ラウンドの多項式の関係における冗長性を低減するよう帰納的に細分され(heuristically refined);
−内部電送置換が、ハードウェア回路最適化の最大電送待ち時間により制限される;
−121、122、123、241、361への入力が、それぞれ出力131、134、135、25、385からの間隔に制限される;
−領域120、240、360の各基本のL対1sボックスが、それぞれ領域130、210、365の各出力ビットに関し、領域100、201、310、の入力ビットの同じ関連位置から選択される;
−領域120、240、360内の基本のL対1sボックスのいくつかが、1または複数のキービットを入力として受信するよう構成されている;
−異なる電送置換が暗号処理の各ラウンドで選択される;
−出力130、210、365の幅が、それぞれ入力100、200、310と異なる;
−内部電送置換が、32ビットまたは128ビットの一般目的のプロセッサ命令の短いシーケンスとして実装しうる置換に限定される;
−内部電送置換が、2004年10月13日に提出された継続中のオーストラリア暫定特許出願2004905897、「Process of and Apparatus for Encoding a digital signal」にみられるバイトスワッピングとローテーションシーケンシングの組合せに適合する;
−領域120、240、360のすべての基本のL対1sボックスに単一のブール関数が用いられる;
−領域120、240、360の基本のL対1sボックスに複数のブール関数が用いられる;
−領域120、240、360の基本のL対1sボックスに用いられるすべてのブール関数が異なる;
−領域120、240、360の基本のL対1sボックスに用いられるブール関数のいくつかが、キー従属疑似ランダムプロセスを用いて選択される;
−領域120、240、360の基本のL対1sボックスに用いられるブール関数の選択が、入力と出力ビット間の単一ラウンドまたは複数ラウンドの多項式の関係における冗長性を低減するよう帰納的に細分される(heuristically refined);
−元の入力変数(またはプロセッサレジスタ)のみが後続の処理で用いられる;
−少なくとも1または複数の中間変数(またはプロセッサレジスタ)が後続の処理で用いられる;
−中間変数(またはプロセッサレジスタ)のみが後続の処理で用いられる;
−sボックスを設ける方法が、以下の継続中の特許出願にみられる双方向ブロック連鎖方式にも適合する:
2004年11月5日出願のオーストラリア暫定出願2004906364と2005年1月10日出願の2005900087、ともに名称がA method of Endoding a Signal;
2005年5月10日出願の国際特許出願PCT/IB2005/001499、名称Method of Encoding and Decoding Data;
2005年5月10日出願の国際特許出願PCT/IB2005/001487、名称Process of and Apparatus for Encoding a Signal;
2005年5月10日出願の国際特許出願PCT/IB2005/001475、名称A Method of and Apparatus for Encoding a Signal in a Hashing Primitive;
各文献の内容は本願に参照として組み込まれる。
本発明の好適な実施例で用いられる電送置換および/またはブール関数は、「ファミリー」キーと呼ばれるキー要素に従属し、このような暗号のハードウェア(RFID、ASIC等)の実装は、固定の基本ブール理論を伴う固定的な電送として実装された場合にまだ有効である。
重要なことは、252の左のビットのみへの基本のL対1sボックス201への入力ビットの選択の唯一の制限は、入力ビット252と出力ビット253間の線形関係と組み合わさり、図2のように操作され、ブール関数または内部電送置換の選択に拘わらず、全単射(可逆の)操作を確実にする。
本発明をより理解し易くすべく、その好適な実施例が図面を参照しながら説明され、ここで図1、2、3、4は本発明の好適な実施例にかかる方法を図示するものである。

Claims (96)

  1. 多入力多出力のsボックスであって:
    a個の隣接番号の(contiguously numbered)入力ビットI、I乃至Iを受信し、ここでaは少なくとも4であり、
    b個の連続番号の出力ビットO、O乃至Oを出力するよう構成され、
    このsボックスが:
    c個の一次sボックスsb、sb乃至sbを含み、それぞれ:
    多入力単一出力のブール関数f、f乃至fを含み、これらが多入力と単一出力の関係を規定しており、
    入力ビットs、s乃至sのセットをそれぞれ受信するよう構成され、これらのセットがそれぞれ前記sボックスへのa個の入力ビットから選択され、それぞれsl、sl乃至slビットを含み、これにより:
    前記sl、sl乃至slの数が3乃至(a−1)の範囲内にあり;
    前記sl、sl乃至slの数の合計がaより大きく、
    前記sボックスのb個の出力ビットが、前記c個のブール関数の出力を含むことを特徴とするsボックス。
  2. 請求項1の多入力多出力sボックスにおいて、前記sボックスのb個の出力ビットが前記c個の一次sボックスの出力であることを特徴とするsボックス。
  3. 請求項1または2の多入力多出力sボックスにおいて、aが16以上であることを特徴とするsボックス。
  4. 請求項1乃至3のいずれか1項の多入力多出力sボックスにおいて、bが16以上であることを特徴とするsボックス。
  5. 請求項1乃至4のいずれか1項の多入力多出力sボックスにおいて、cが12以上b以下であることを特徴とするsボックス。
  6. 請求項1乃至5のいずれか1項の多入力多出力sボックスにおいて、それぞれ1からaのiとjについて、sとsの各セットがmin(sl,sl)−1ビット以下を共有することを特徴とするsボックス。
  7. 請求項1乃至6のいずれか1項の多入力多出力sボックスにおいて、前記数sl、sl乃至slの合計がaの1.5倍より大または等しいことを特徴とするsボックス。
  8. 請求項1乃至7のいずれか1項の多入力多出力sボックスにおいて、a、b、cの少なくとも1つが素数であることを特徴とするsボックス。
  9. 請求項1乃至8のいずれか1項の多入力多出力sボックスにおいて、前記数aとbが1より大きな公約数を持たないことを特徴とするsボックス。
  10. 請求項1乃至9のいずれか1項の多入力多出力sボックスにおいて、前記数sl、sl乃至slの少なくとも2つが同じであることを特徴とするsボックス。
  11. 請求項10の多入力多出力sボックスにおいて、前記数sl、sl乃至slの全部が同じであることを特徴とするsボックス。
  12. 請求項1乃至11のいずれか1項の多入力多出力sボックスにおいて、入力ビットセットs、s乃至sがそれぞれ、確率的プロセス(provabilistic)を用いて選択されることを特徴とするsボックス。
  13. 請求項1乃至12のいずれか1項の多入力多出力sボックスにおいて、前記入力ビットセットs、s乃至sの少なくとも1つを選択するのに用いられるプロセスがキード(keyed)されていることを特徴とするsボックス。
  14. 請求項12または13の多入力多出力sボックスにおいて、前記入力ビットセットs、s乃至sの選択は、少なくとも1の基準(criterion)を満たすよう実践的に改良(heuristically refined)されていることを特徴とするsボックス。
  15. 請求項1乃至14のいずれか1項の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fは確率的プロセス(provabilistic)を用いて生成されることを特徴とするsボックス。
  16. 請求項1乃至15のいずれか1項の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fの少なくとも1つを生成するのに用いられるプロセスがキード(keyed)されていることを特徴とするsボックス。
  17. 請求項15または16の多入力多出力sボックスにおいて、前記少なくとも1のブール関数f、f乃至fの選択は、少なくとも1の基準(criterion)を満たすよう実践的に改良(heuristically refined)されていることを特徴とするsボックス。
  18. 請求項1乃至17のいずれか1項の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fの少なくとも1つは平衡したブール関数(ballanced Boolean function)であることを特徴とするsボックス。
  19. 請求項18の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fがそれぞれ平衡したブール関数(ballanced Boolean function)であることを特徴とするsボックス。
  20. 請求項1乃至19のいずれか1項の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fの少なくとも1つが、2対1マルチプレクサ関数(two-to-one multiplexer function)を具えることを特徴とするsボックス。
  21. 請求項20の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fがそれぞれ2対1マルチプレクサ関数(two-to-one multiplexer function)を具えることを特徴とするsボックス。
  22. 請求項1乃至21のいずれか1項の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fの少なくとも1つがユニークなブール関数であることを特徴とするsボックス。
  23. 請求項22の多入力多出力sボックスにおいて、前記ブール関数f、f乃至fがそれぞれユニークなブール関数であることを特徴とするsボックス。
  24. 請求項22または23の多入力多出力sボックスにおいて、前記関数f、f乃至f間の差(difference)がアフィン(affine)であることを特徴とするsボックス。
  25. 請求項1乃至24のいずれか1項の多入力多出力sボックスにおいて、実行時に再構成される(reconfigured)ことを特徴とするsボックス。
  26. 請求項1乃至25のいずれか1項の多入力多出力sボックスにおいて、前記入力ビットセットs乃至sの少なくとも1つが実行時に変更されることを特徴とするsボックス。
  27. 請求項1乃至26のいずれか1項の多入力多出力sボックスにおいて、前記関数f、f乃至fの少なくとも1つが実行時に再構成されることを特徴とするsボックス。
  28. 請求項1乃至27のいずれか1項の多入力多出力sボックスにおいて、(c−a)乃至aのすべてのiについて:
    各一次sボックスsbへのslの入力ビットのセットが、入力ビットI乃至Iから選択され;
    入力ビットIと出力ビットの関係が線形であることを特徴とするsボックス。
  29. 請求項28の多入力多出力sボックスにおいて、I乃至Iのa個のビットセットのT=(a−c)ビットのサブセットが、ビットI乃至IのT×Tの全単射(bijective mapping)の入力であることを特徴とするsボックス。
  30. 請求項1乃至29のいずれか1項の多入力多出力sボックスにおいて、Wが一定である(W+1)乃至aのずべてのiについて:
    前記一次sボックスsbへのslの入力ビットのセットが、入力ビットI(i−W)乃至Iから選択され;
    入力ビットIと前記sボックスsbの出力ビットの関係が線形であることを特徴とするsボックス。
  31. 請求項30の多入力多出力sボックスにおいて、Wが2乃至(a−1)の範囲にあることを特徴とするsボックス。
  32. 請求項30または31の多入力多出力sボックスにおいて、I乃至IのWビットが、W×Wの全単射の入力であることを特徴とするsボックス。
  33. 請求項1乃至27のいずれか1項の多入力多出力sボックスにおいて、入力ビットs、s乃至sのセットの入力ビットのsl、sl乃至slの選択は:
    隣接番号の(contiguously numbered)入力ビットI、I乃至Iでは、ビットIがビットI(a−1)と同様にビットIと隣接(contiguous)するよう扱われ、これにより入力ビットI、I乃至Iがビットの巡回収集(circular collection)とみなされ;
    前記隣接番号の入力ビットI、I乃至Iのセットは、ビットw乃至wの領域(windows)のセットを含むとみなされ、ここでdは3乃至(c/3)の範囲にあり:
    各領域(window)が最初と最後の領域境界を有し、各領域境界が、一次sボックスsbとsbi+1間の同じ方向に1ビット位置ずつ増大し;
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットでは、前記ビットOがビットOb−1と同様にビットOと隣接するよう扱われ、これにより出力ビットO、O乃至Oがビットの巡回収集とみなされ;
    セットsb乃至sb内の各一次sボックスsbについて:
    一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするsボックス。
  34. 請求項33の多入力多出力sボックスにおいて、各一次ボックスsbについて、領域w乃至wの少なくとも2つのサイズが異なることを特徴とするsボックス。
  35. 請求項1乃至27のいずれか1項の多入力多出力sボックスにおいて、入力ビットs、s乃至sのセットの入力ビットのsl、sl乃至slの選択はそれぞれ:
    隣接番号の(contiguously numbered)入力ビットI、I乃至Iでは、ビットIがビットIa−1と同様にビットIと隣接(contiguous)するよう扱われ、これにより入力ビットI、I乃至Iがビットの巡回収集(circular collection)とみなされ;
    前記隣接番号の入力ビットI、I乃至Iのセットは、入力ビットw乃至wの隣接領域(windows)のセットを含むとみなされ、ここでdは2乃至(a/3)の範囲にあり:
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットでは、前記ビットOがビットO(b−1)と同様にビットOと隣接するよう扱われ、これにより出力ビットO、O乃至Oがビットの巡回収集とみなされ;
    セットsb乃至sb内の各一次sボックスsbについて:
    一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするsボックス。
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットが、出力ビットw乃至wの隣接領域のセットを含むとみなされ;セットsb乃至sb内の各一次sボックスsbについて:
    出力ビットwの領域が、前記一次sボックスsbの出力ビットを含み、前記一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするsボックス。
  36. 請求項1乃至35の多入力多出力sボックスを少なくとも2つ含む構造であって、前記多入力多出力sボックスのいずれの対もその入力を共有しないことを特徴とする構造。
  37. 請求項1乃至41の多入力多出力sボックスを少なくとも2つ含む構造であって、少なくとも1対の前記多入力多出力sボックスが少なくとも1の入力を共有することを特徴とする構造。
  38. 請求項36または37の構造において、前記多入力多出力sボックスの少なくとも2つが接続(pipelined)されていることを特徴とする構造。
  39. 請求項36乃至38のいずれか1項の構造において、少なくとも1の前記多入力多出力sボックスへの入力が、別の前記多入力多出力sボックスのb個の出力より少ないか等しいサブセットを含むことを特徴とする構造。
  40. 請求項36乃至39のいずれか1項の構造において、前記多入力多出力sボックスのb個の出力より少ないか等しいサブセットが、さらに別の前記多入力多出力sボックスの入力に用いられる前に処理(manipulated)されていることを特徴とする構造。
  41. 請求項36乃至40のいずれか1項の構造において、少なくとも2つの前記多入力多出力sボックスについて:
    一方のsボックスの入力ビット数が他方のsボックスの入力ビット数と異なるか;
    一方のsボックスの出力ビット数が他方のsボックスの出力ビット数と異なるか、のいずれか1以上であることを特徴とする構造。
  42. 請求項41の構造において、前記少なくとも2つの多入力多出力sボックスの各々の入力ビット数が、1以外の公約数を持たないことを特徴とする構造。
  43. 請求項41または42の構造において、前記少なくとも2つの多入力多出力sボックスの各々の出力ビット数が、1以外の公約数を持たないことを特徴とする構造。
  44. 請求項41乃至43のいずれか1項の構造において、前記少なくとも2つの多入力多出力sボックスのうちの1つの入力ビット数が、前記少なくとも2つの多入力多出力sボックスのうちの別の入力ビット数より少なくとも50%多いことを特徴とする構造。
  45. 請求項41乃至43のいずれか1項の構造において、前記少なくとも2つの多入力多出力sボックスのうちの1つからの出力ビット数が、前記少なくとも2つの多入力多出力sボックスのうちの別の出力ビット数より少なくとも50%多いことを特徴とする構造。
  46. 請求項36乃至45のいずれか1項の構造において、前記少なくとも2つの多入力多出力sボックスのうちの1つの前記一次sボックスsb、sb乃至sbの少なくとも1つが、前記少なくとも2つの多入力多出力sボックスのうちの別の一次sボックスsb、sb乃至sbと異なることを特徴とする構造。
  47. 請求項1乃至46のいずれか1項の発明において、少なくとも1つの多入力多出力sボックスのb個の出力と同じかこれより少ないサブセットが、別のプロセスへの入力に用いられることを特徴とする発明。
  48. 請求項47の多入力多出力sボックスにおいて、少なくとも1つの多入力多出力sボックスのb個の出力より少ないか等しいサブセットががさらに、別のプロセスへの入力に用いられる前に処理(manipulated)されることを特徴とするsボックス。
  49. 請求項1乃至40のいずれか1項の多入力多出力sボックスにおいて、前記c個の一次sボックスsb、sb乃至sbへの入力ビットs、s乃至sのセットが:
    a個のビットから導出(drawn)されるc個の添字位置(index positions)の順序セット(ordered sets)P乃至Pを確率的(probabilistically)に選択するステップであって、各セットP乃至Pはそれぞれ要素sl、sl乃至slを有するステップと;
    各添字位置の順序セットP乃至Pについて、これらのセットのいずれか2つが同じ位置に同じ要素を含む場合に、これら要素の1つをセットP乃至Pの別のものから確率的に選択された添字位置に交換(swapping)するステップと;
    添字位置のc個のセットP乃至Pのそれぞれについて反復的に:
    前記セットが添字位置の別のP乃至Pの各セットと共有する要素の数を決定するステップと;
    共通の数の任意数tを持つ添字位置のc個のセットP乃至Pのうちの2つの要素PとPの各々について、Pの(t+1)/2の数を:
    c個のセットP乃至Pの残りの(c−2)のセットを、Pと共有する要素の数の順番で分類(sorting)し;
    前記(c−2)のセットから、Pと共有する要素の数が最も少ない1のセットPを選択し;
    前記セットPとPに共通の1の要素を選択し;
    前記選択した要素を前記セットPのうちの1つと交換(swapping)することにより、
    配置転換するステップと;
    を具える実践的プロセス(heuristic process)により選択されることを特徴とするsボックス。
  50. 請求項1乃至49のいずれか1項の発明をシミュレートすることを特徴とするプロセス。
  51. 請求項51のプロセスにおいて、ワードベースの一般目的のプロセッサに実装されることを特徴とするプロセス。
  52. 請求項49乃至51のいずれか1項のプロセスにおいて、静的ビット置換処理、キー従属ビット置換処理、データ従属ビット置換処理のいずれか1以上を含むビット置換処理を実行するバイナリマスキング(binary masking)を用いることを特徴とするプロセス。
  53. 請求項52のプロセスにおいて、ビット置換処理を実行するバイナリマスキングを用い、これらのビット置換処理が:
    前記セットs、s乃至sの要素を選択するステップと;
    前記c個のブール関数の出力を置換するステップとのいずれか1以上を実現し;
    前記バイナリマスキングが;
    静的ビット置換処理と;キー従属置換処理と;データ従属置換処理とのいずれか1以上を実行すべく用いられることを特徴とするプロセス。
  54. 請求項53のプロセスにおいて、前記ビット置換処理がハードウェアに補助されることを特徴とするプロセス。
  55. 請求項54のプロセスにおいて、前記ハードウェアに補助されたビット置換処理が、グループオペレーション(GRP)、その逆、オメガフリップネットワーク(OMFLIP)、PPERM、CROSS、BFLY処理からなる群から選択されることを特徴とするプロセス。
  56. 請求項50乃至53のいずれか1項のプロセスにおいて、ハードウェア補助ビットローテーション処理(hardware-assisted bitwise rotation operations)を用いて、前記ビット置換処理を実行することを特徴とするプロセス。
  57. 請求項50乃至53のいずれか1項のプロセスにおいて、ハードウェア補助ビットシフティング処理(hardware-assisted bitwise shifting operations)を用いて、前記ビット置換処理を実行することを特徴とするプロセス。
  58. 請求項50乃至53のいずれか1項のプロセスにおいて、ハードウェア補助バイトスワッピング処理(hardware-assisted byte swapping operations)を用いて、前記ビット置換処理を実行することを特徴とするプロセス。
  59. 請求項50乃至58のいずれか1項のプロセスにおいて、ルックアップテーブルを用いて換字(substitution)およびビット置換処理の少なくとも1を実行することを特徴とするプロセス。
  60. 請求項50乃至59のいずれか1項のプロセスにおいて、少なくとも1のワードベースの基本ブール関数(waord-based primitive Boolean function)を用いて換字処理(substitution operation)を実行することを特徴とするプロセス。
  61. ブロック暗号、ストリーム暗号、疑似乱数生成器、またはハッシュ関数のラウンド関数を具える回路であって、この暗号回路が、請求項1乃至49のいずれか1項の多入力多出力sボックスのうちの少なくとも1つを具え、前記回路には、前記1以上の他入力多出力sボックスの入出力間でゼロ乃至6以下の範囲の繰り越し操作の破られていない演算繰り越し理論チェーン(unbroken arithmetic carry-logic chain)があることを特徴とする回路。
  62. 暗号プロセスであって、
    a個の隣接番号の(contiguously numbered)入力ビットI、I乃至Iを受信し、ここでaは少なくとも4であり、
    b個の連続番号の出力ビットO、O乃至Oを出力し、
    前記方法が:
    c個の一次sボックス操作(primitive s-box operations)sb、sb乃至sbを含み、その各々が:
    多入力単一出力のブール関数f、f乃至fを含み、これらが多入力と単一出力の関係を規定しており、
    入力ビットs、s乃至sのセットをそれぞれ受信し、これらのセットがそれぞれ暗号化関数(the cryptographic function)へのa個の入力ビットから選択され、それぞれsl、sl乃至slビットを含み、これにより:
    前記sl、sl乃至slの数が3乃至(a−1)の範囲内にあり;
    前記sl、sl乃至slの数の合計がaより大きく、
    前記暗号化関数のb個の出力ビットが、前記c個のブール関数の出力を含むことを特徴とするプロセス。
  63. 請求項62の暗号プロセスにおいて、前記sボックスのb個の出力ビットが前記c個の一次sボックス処理の出力であることを特徴とするプロセス。
  64. 請求項62または63の暗号プロセスにおいて、aが16以上であることを特徴とするプロセス。
  65. 請求項62乃至64のいずれか1項の暗号プロセスにおいて、bが16以上であることを特徴とするプロセス。
  66. 請求項62乃至65のいずれか1項の暗号プロセスにおいて、cが12以上b以下であることを特徴とするプロセス。
  67. 請求項62乃至66のいずれか1項の暗号プロセスにおいて、それぞれ1からaのiとjについて、sとsの各セットがmin(sl,sl)−1ビット以下を共有することを特徴とするプロセス。
  68. 請求項62乃至67のいずれか1項の暗号プロセスにおいて、前記数sl、sl乃至slの合計がaの1.5倍より大きいあるいは等しいことを特徴とするプロセス。
  69. 請求項62乃至68のいずれか1項の暗号プロセスにおいて、a、b、cの少なくとも1つが素数であることを特徴とするプロセス。
  70. 請求項62乃至69のいずれか1項の暗号プロセスにおいて、前記数aとbが1より大きな公約数を持たないことを特徴とするプロセス。
  71. 請求項62乃至70のいずれか1項の暗号プロセスにおいて、前記数sl、sl乃至slの少なくとも2つが同じであることを特徴とするプロセス。
  72. 請求項71の暗号プロセスにおいて、前記数sl、sl乃至slの全部が同じであることを特徴とするプロセス。
  73. 請求項62乃至72のいずれか1項の暗号プロセスにおいて、入力ビットセットs、s乃至sがそれぞれ、確率的プロセス(provabilistic)を用いて選択されることを特徴とするプロセス。
  74. 請求項62乃至73のいずれか1項の暗号プロセスにおいて、前記入力ビットセットs、s乃至sの少なくとも1つを選択するのに用いられるプロセスがキード(keyed)されていることを特徴とするプロセス。
  75. 請求項73または74の暗号プロセスにおいて、前記入力ビットセットs、s乃至sの選択は、少なくとも1の基準(criterion)を満たすよう実践的に改良(heuristically refined)されていることを特徴とするプロセス。
  76. 請求項62乃至75のいずれか1項の暗号プロセスにおいて、前記ブール関数f、f乃至fは確率的プロセス(provabilistic)を用いて生成されることを特徴とするプロセス。
  77. 請求項62乃至76のいずれか1項の暗号プロセスにおいて、前記ブール関数f、f乃至fの少なくとも1つを生成するのに用いられるプロセスがキード(keyed)されていることを特徴とするプロセス。
  78. 請求項76または77の暗号プロセスにおいて、前記少なくとも1のブール関数f、f乃至fの選択は、少なくとも1の基準(criterion)を満たすよう実践的に改良(heuristically refined)されていることを特徴とするプロセス。
  79. 請求項62乃至78のいずれか1項の暗号プロセスにおいて、前記ブール関数f、f乃至fの少なくとも1つは平衡したブール関数(ballanced Boolean function)であることを特徴とするプロセス。
  80. 請求項79の暗号プロセスにおいて、前記ブール関数f、f乃至fがそれぞれ平衡したブール関数(ballanced Boolean function)であることを特徴とするプロセス。
  81. 請求項62乃至80のいずれか1項の暗号プロセスにおいて、前記関数f、f乃至fの少なくとも1つが、2対1マルチプレクサ関数(two-to-one multiplexer function)を具えることを特徴とするプロセス。
  82. 請求項81の暗号プロセスにおいて、前記関数f、f乃至fがそれぞれ2対1マルチプレクサ関数(two-to-one multiplexer function)を具えることを特徴とするプロセス。
  83. 請求項62乃至82のいずれか1項の暗号プロセスにおいて、前記関数f、f乃至fの少なくとも1つがユニークなブール関数であることを特徴とするプロセス。
  84. 請求項83の暗号プロセスにおいて、前記関数f、f乃至fがそれぞれユニークなブール関数であることを特徴とするプロセス。
  85. 請求項83または84の暗号プロセスにおいて、前記関数f、f乃至f間の差(difference)がアフィン(affine)であることを特徴とするプロセス。
  86. 請求項62乃至85のいずれか1項の暗号プロセスにおいて、実行時に再構成される(reconfigured)ことを特徴とするプロセス。
  87. 請求項62乃至86のいずれか1項の暗号プロセスにおいて、前記入力ビットセットs乃至sの少なくとも1つが実行時に変更されることを特徴とするプロセス。
  88. 請求項62乃至87のいずれか1項の暗号プロセスにおいて、前記関数f、f乃至fの少なくとも1つが実行時に再構成されることを特徴とするプロセス。
  89. 請求項62乃至88のいずれか1項の暗号プロセスにおいて、(c−a)乃至aのすべてのiについて:
    各一次sボックス処理sbへのslの入力ビットのセットが、入力ビットI乃至Iから選択され;
    入力ビットIと出力ビットの関係が線形であることを特徴とするプロセス。
  90. 請求項89の暗号プロセスにおいて、I乃至Iのa個のビットセットのT=(a−c)ビットのサブセットが、ビットI乃至IのT×Tの全単射(bijective mapping)の入力であることを特徴とするプロセス。
  91. 請求項62乃至90のいずれか1項の暗号プロセスにおいて、Wが一定である場合の(W+1)乃至aのずべてのiについて:
    前記一次sボックス処理sbへのslの入力ビットのセットが、入力ビットI(i−W)乃至Iから選択され;
    入力ビットIと前記sボックスsbの出力ビットの関係が線形であることを特徴とするプロセス。
  92. 請求項91のいずれか1項の暗号プロセスにおいて、Wが2乃至(a−1)の範囲にあることを特徴とするプロセス。
  93. 請求項91または92の暗号プロセスにおいて、I乃至IのWビットが、W×Wの全単射の入力であることを特徴とするプロセス。
  94. 請求項62乃至88のいずれか1項の暗号プロセスにおいて、入力ビットs、s乃至sのセットの入力ビットのsl、sl乃至slの選択はそれぞれ:
    隣接番号の(contiguously numbered)入力ビットI、I乃至Iでは、ビットIがビットI(a−1)と同様にビットIと隣接(contiguous)するよう扱われ、これにより入力ビットI、I乃至Iがビットの巡回収集(circular collection)とみなされ;
    前記隣接番号の入力ビットI、I乃至Iのセットは、ビットw乃至wの領域(windows)のセットを含むとみなされ、ここでdは3乃至(c/3)の範囲にあり:
    各領域(window)が最初と最後の領域境界を有し、各領域境界が、一次sボックスsbとsbi+1間の同じ方向に1ビット位置ずつ増大し;
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットでは、前記ビットOがビットOb−1と同様にビットOと隣接するよう扱われ、これにより出力ビットO、O乃至Oがビットの巡回収集とみなされ;
    セットsb乃至sb内の各一次sボックスsbについて:
    一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするプロセス。
  95. 請求項94の暗号プロセスにおいて、各一次ボックスsbについて、領域w乃至wの少なくとも2つのサイズが異なることを特徴とするプロセス。
  96. 請求項62乃至88のいずれか1項の暗号プロセスにおいて、入力ビットs、s乃至sのセットの入力ビットのsl、sl乃至slの選択はそれぞれ:
    隣接番号の(contiguously numbered)入力ビットI、I乃至Iでは、ビットIがビットIa−1と同様にビットIと隣接(contiguous)するよう扱われ、これにより入力ビットI、I乃至Iがビットの巡回収集(circular collection)とみなされ;
    前記隣接番号の入力ビットI、I乃至Iのセットは、入力ビットw乃至wの隣接領域(windows)のセットを含むとみなされ、ここでdは2乃至(a/3)の範囲にあり:
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットでは、前記ビットOがビットO(b−1)と同様にビットOと隣接するよう扱われ、これにより出力ビットO、O乃至Oがビットの巡回収集とみなされ;
    セットsb乃至sb内の各一次sボックスsbについて:
    一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするsボックス。
    隣接番号の(contiguously numbered)出力ビットO、O乃至Oのセットが、出力ビットw乃至wの隣接領域のセットを含むとみなされ;セットsb乃至sb内の各一次sボックスsbについて:
    出力ビットwの領域が、前記一次sボックスsbの出力ビットを含み、前記一次sボックスsbへの入力ビットが、領域w以外の入力ビットの少なくとも2つの領域からの少なくとも1のビットを含むことを特徴とするプロセス。
JP2007532996A 2004-09-24 2005-09-20 sボックス Pending JP2008514975A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
AU2004905507A AU2004905507A0 (en) 2004-09-24 Substitution boxes
AU2004906543A AU2004906543A0 (en) 2004-11-16 Substitution boxes
AU2004907361A AU2004907361A0 (en) 2004-12-30 Substitution boxes
AU2004907374A AU2004907374A0 (en) 2004-12-31 Substitution boxes
AU2005902136A AU2005902136A0 (en) 2005-04-29 Substitution Boxes
PCT/IB2005/003104 WO2006033013A2 (en) 2004-09-24 2005-09-20 Substitution boxes

Publications (1)

Publication Number Publication Date
JP2008514975A true JP2008514975A (ja) 2008-05-08

Family

ID=36090387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007532996A Pending JP2008514975A (ja) 2004-09-24 2005-09-20 sボックス

Country Status (9)

Country Link
US (1) US20090055458A1 (ja)
EP (1) EP1820295B1 (ja)
JP (1) JP2008514975A (ja)
KR (1) KR20070093963A (ja)
AT (1) ATE400936T1 (ja)
DE (1) DE602005008101D1 (ja)
MY (1) MY142397A (ja)
TW (1) TW200637316A (ja)
WO (1) WO2006033013A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523103A (ja) * 2008-06-11 2011-08-04 マイクロソフト コーポレーション 対称暗号を実行するための技法
EP2897322A2 (en) 2014-01-20 2015-07-22 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
JP2016520866A (ja) * 2013-05-01 2016-07-14 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 難読化に適した電子ブロック暗号装置
JP2019092045A (ja) * 2017-11-14 2019-06-13 地方独立行政法人東京都立産業技術研究センター デジタル処理装置、デジタル処理装置の製造方法及びプログラム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2897451A1 (fr) * 2006-02-13 2007-08-17 France Telecom Dispositif et procede de cryptographie pour generer des nombres pseudo-aletoires
DE102006011223A1 (de) * 2006-03-10 2007-09-13 Micronas Gmbh Datenverarbeitungsverfahren mit einem Verschlüsselungsalgorithmus
WO2007129197A1 (en) * 2006-05-04 2007-11-15 Synaptic Laboratories Limited Cryptographic apparatus and process
US20090245510A1 (en) * 2008-03-25 2009-10-01 Mathieu Ciet Block cipher with security intrinsic aspects
KR101646705B1 (ko) 2009-12-01 2016-08-09 삼성전자주식회사 에스-박스를 구현한 암호화 장치
US8948376B2 (en) * 2010-05-11 2015-02-03 Ca, Inc. Format-preserving encryption via rotating block encryption
US8495038B2 (en) 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
US8583718B2 (en) 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US8645108B2 (en) 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8874607B2 (en) 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US10268843B2 (en) 2011-12-06 2019-04-23 AEMEA Inc. Non-deterministic secure active element machine
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US8838523B2 (en) 2011-09-23 2014-09-16 Fujitsu Limited Compression threshold analysis of binary decision diagrams
US8909592B2 (en) 2011-09-23 2014-12-09 Fujitsu Limited Combining medical binary decision diagrams to determine data correlations
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US8719214B2 (en) 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US8812943B2 (en) 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
WO2013134306A1 (en) 2012-03-05 2013-09-12 Michael Fiske One-time passcodes with asymmetric keys
EA021803B1 (ru) * 2012-04-25 2015-09-30 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" (Оао "Инфотекс") Способ шифрования данных для вычислительных платформ с simd-архитектурой
JP6187462B2 (ja) * 2012-07-18 2017-08-30 日本電気株式会社 ユニバーサルハッシュ関数演算装置、方法およびプログラム
US10403173B2 (en) * 2013-08-13 2019-09-03 Fiske Software, Llc NADO cryptography using one-way functions
US20160105276A1 (en) * 2014-10-10 2016-04-14 Qualcomm Incorporated Rotation-based cipher
FR3078463A1 (fr) * 2018-02-26 2019-08-30 Stmicroelectronics (Rousset) Sas Procede et dispositif de realisation d'operations en table de substitution
FR3078464A1 (fr) * 2018-02-26 2019-08-30 Stmicroelectronics (Rousset) Sas Procede et circuit de mise en oeuvre d'une table de substitution
US11218291B2 (en) * 2018-02-26 2022-01-04 Stmicroelectronics (Rousset) Sas Method and circuit for performing a substitution operation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863097A (ja) * 1994-08-04 1996-03-08 Northern Telecom Ltd データを暗号化するための対称暗号化方法およびシステム
JP2001142395A (ja) * 1999-08-31 2001-05-25 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
US20020003876A1 (en) * 2000-06-08 2002-01-10 Young-Won Lim Encryption apparatus using data encryption standard algorithm
US20020027987A1 (en) * 2000-07-04 2002-03-07 Roelse Petrus Lambertus Adriaanus Substitution-box for symmetric-key ciphers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031911A (en) * 1996-07-18 2000-02-29 Entrust Technologies, Ltd. Practical S box design
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863097A (ja) * 1994-08-04 1996-03-08 Northern Telecom Ltd データを暗号化するための対称暗号化方法およびシステム
JP2001142395A (ja) * 1999-08-31 2001-05-25 Matsushita Electric Ind Co Ltd 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体
US20020003876A1 (en) * 2000-06-08 2002-01-10 Young-Won Lim Encryption apparatus using data encryption standard algorithm
US20020027987A1 (en) * 2000-07-04 2002-03-07 Roelse Petrus Lambertus Adriaanus Substitution-box for symmetric-key ciphers

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523103A (ja) * 2008-06-11 2011-08-04 マイクロソフト コーポレーション 対称暗号を実行するための技法
JP2016520866A (ja) * 2013-05-01 2016-07-14 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 難読化に適した電子ブロック暗号装置
US9998279B2 (en) 2013-05-01 2018-06-12 Koninklijke Philips N.V. Electronic block cipher device suitable for obfuscation
EP2897322A2 (en) 2014-01-20 2015-07-22 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
US9729324B2 (en) 2014-01-20 2017-08-08 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
JP2019092045A (ja) * 2017-11-14 2019-06-13 地方独立行政法人東京都立産業技術研究センター デジタル処理装置、デジタル処理装置の製造方法及びプログラム
JP7296609B2 (ja) 2017-11-14 2023-06-23 地方独立行政法人東京都立産業技術研究センター デジタル処理装置、デジタル処理装置の製造方法及びプログラム

Also Published As

Publication number Publication date
WO2006033013A2 (en) 2006-03-30
KR20070093963A (ko) 2007-09-19
TW200637316A (en) 2006-10-16
DE602005008101D1 (de) 2008-08-21
EP1820295A2 (en) 2007-08-22
EP1820295B1 (en) 2008-07-09
ATE400936T1 (de) 2008-07-15
MY142397A (en) 2010-11-30
US20090055458A1 (en) 2009-02-26
WO2006033013A3 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP2008514975A (ja) sボックス
Paar et al. The advanced encryption standard (AES)
Dessouky et al. Pushing the communication barrier in secure computation using lookup tables
Standaert et al. Efficient implementation of Rijndael encryption in reconfigurable hardware: Improvements and design tradeoffs
Brown et al. Improving resistance to differential cryptanalysis and the redesign of LOKI
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
CN109639428B (zh) 从位混合器构造安全散列函数的方法
US8787563B2 (en) Data converter, data conversion method and program
Klimov Applications of T-functions in Cryptography
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
Aragona et al. The group generated by the round functions of a GOST-like cipher
Gammel et al. The Achterbahn stream cipher
Standaert et al. Efficient FPGA implementations of block ciphers KHAZAD and MISTY1
Srivastava et al. Ascon-sign
Shoukat et al. Randomized substitution method for effectively secure block ciphers in IOT environment
Abdulwahed Chaos-Based Advanced Encryption Standard
Sarkar et al. Sycon v1. 0 Submission to Lightweight Cryptographic Standards
Tiwari et al. Towards Finding Active Number of S-Boxes in Block Ciphers using Mixed Integer Linear Programming
Matsumoto et al. CryptMT3 stream cipher
Shylashree et al. FPGA implementations of advanced encryption standard: A survey
Noura et al. DKEMA: GPU-based and dynamic key-dependent efficient message authentication algorithm
AU2007100156A4 (en) Substitution Boxes
Polese STRENGTH EVALUATION OF CRYPTOGRAPHIC PRIMITIVES TO LINEAR, DIFFERENTIAL AND ALGEBRAIC ATTACKS.
Premananda et al. MEC S-box based PRESENT lightweight cipher for enhanced security and throughput
Pal et al. A novel block cipher technique using binary field arithmetic based substitution (BCTBFABS)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111025