JP2016503195A - 計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置 - Google Patents
計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置 Download PDFInfo
- Publication number
- JP2016503195A JP2016503195A JP2015552655A JP2015552655A JP2016503195A JP 2016503195 A JP2016503195 A JP 2016503195A JP 2015552655 A JP2015552655 A JP 2015552655A JP 2015552655 A JP2015552655 A JP 2015552655A JP 2016503195 A JP2016503195 A JP 2016503195A
- Authority
- JP
- Japan
- Prior art keywords
- value
- input
- box
- generate
- nltf
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Collating Specific Patterns (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
本特許出願は、2013年1月11日に出願された、「Method and Apparatus for Computable, Large, Variable, and Secure Substitution Box」という表題の仮出願第61/751,541号の優先権を主張し、この仮出願の開示全体が、参照によって本明細書に明示的に組み込まれる。
x=0の場合、W(x)=0、
それ以外の場合、W(x)=xkであり、kはxのハミング重みである。
図3は、本開示の一態様によるSボックス300の概略ブロック図を示す。ビットごとの排他的OR(XOR)関数302は、入力値x(たとえば、110101)および第1の値(たとえば、100110)を入力として受け取る。示される例では、第1の値は、0ではないハミング重みを有する定数値である。ビットごとのXOR関数302は、回転関数304に入力される第1の中間出力y(たとえば、010011)を生成する。この例では、回転関数304は、出力yのハミング重みの分だけ第1の中間出力yに対するビットごとの左回転を実行する(たとえば、3だけ左に回転する)。回転関数304の得られる出力z(たとえば、011010)は、n個の並列なHWBF出力を表し、ここでnは入力値xのビット長である。特に、出力zは入力値xと同じハミング重みを必ずしも有さないので、Sボックス300の出力zは従来技術の方法よりも暗号解読に対して安全である。Sボックス300の出力zは、入力xと同数のビットを有し得る。一態様によれば、回転関数304は、代わりにビットごとの右回転を実行してよく、処理はそれでも暗号学的なセキュリティに関して等価である。
図4は、本開示の一態様によるSボックス400の概略ブロック図を示す。回転関数402は、入力値x(たとえば、110101)を入力として受け取る。この例では、回転関数402は、入力xのハミング重みの分だけ入力値xに対するビットごとの左回転を実行して(たとえば、4だけ左に回転して)、第1の中間出力y(たとえば、011101)を生成する。回転関数402の得られる中間出力yは、n個の並列なHWBF出力を表し、ここでnは入力値xのビット長である。次に、ビットごとのXOR関数404は、中間出力yおよび第1の値(たとえば、101100)を入力として受け取る。示される例では、第1の値は、0ではないハミング重みを有する定数値である。XOR関数404は、入力値xと同じハミング重みを必ずしも有さない出力z(たとえば、110001)を生成する。したがって、Sボックス400の出力zは従来技術の方法よりも暗号解読に対して安全である。Sボックス400の出力zは、入力xと同数のビットを有し得る。一態様によれば、回転関数402は、代わりにビットごとの右回転を実行してよく、処理はそれでも暗号学的なセキュリティに関して等価である。
図5は、本開示の一態様によるSボックス500の概略ブロック図を示す。ビットごとのXOR関数502は、入力値x(たとえば、110101)および第1の値(たとえば、001100)を入力として受け取る。示される例では、第1の値は、0ではないハミング重みを有する定数値である。ビットごとのXOR関数502は、回転関数504に入力される第1の中間出力w(たとえば、111001)を生成する。この例では、回転関数504は、出力wのハミング重みの分だけ第1の中間出力wに対するビットごとの左回転を実行する(たとえば、4だけ左に回転する)。回転関数504の得られる第2の中間出力y(たとえば、011110)は、n個の並列なHWBF出力を表し、ここでnは中間値yのビット長である。次いで、別のビットごとのXOR関数506が、第2の中間出力yおよび第2の値(たとえば、111000)を入力として受け取る。示される例では、第2の値は、0ではないハミング重みを有する定数値である。XOR関数506は、入力値xと同じハミング重みを必ずしも有さない出力z(たとえば、100110)を生成する。したがって、Sボックス500の出力zは従来技術の方法よりも暗号解読に対して安全である。Sボックス500の出力zは、入力xと同数のビットを有し得る。一態様によれば、回転関数504は、代わりにビットごとの右回転を実行してよく、処理はそれでも暗号学的に等価である。
x=0の場合、W'(x)=0、
それ以外の場合、W'(x)=xkであり、kはxのハミング重みである。
図6は、暗号関数f 602が暗号鍵/識別子K1から変数値C1を導出するような例を示す。暗号関数f 602はとりわけ、ハッシュ関数であり得る。変数値C1は次いで、Sボックス300の出力zを生成するためにXOR関数302に入力される第1の値として、図3を参照して上で説明されたのと同じ方法で使用される。他のSボックス400、500のいずれかが、そこで使用される第1の値および/または第2の値が暗号関数f 602および鍵/識別子K1のように暗号関数を使用して鍵/識別子から導出されるように、同じ方法で修正され得る。
図8は、本開示の別の態様によるSボックス800の概略ブロック図を示す。Sボックス800(たとえば、「主Sボックス」)は、ビット分割回路802、複数個(N個)の非線形変換関数(NLTF)副回路804、806、808、810(ここでNは2以上の整数である)、連結回路812、およびSボックスA副回路814を含む。非NLTF副回路804、806、808、810は、標準的な非線形変換テーブルベースのSボックスであり得る。Sボックス副回路A 814は、図3〜図7で示され説明されたSボックス300、400、500のいずれか1つである。
図9は、置換ボックス(Sボックス)と関連付けられる暗号値を生成するための方法のフローチャート900を示す。方法は、入力値および第1の値を取得するステップ(902)と、(A)入力値および第1の値に対するビットごとの排他的OR(XOR)演算を実行して第1の中間値を生成することと(906a)、第1の中間値のハミング重みに等しいビットの数の分だけ第1の中間値に対するビットごとの回転演算を実行してSボックスの出力値を生成すること(908a)、または、(B)入力値のハミング重みに等しいビットの数の分だけ入力値に対するビットごとの回転演算を実行して第1の中間値を生成することと(906b)、第1の中間値および第1の値に対するビットごとのXOR演算を実行してSボックスの出力値を生成すること(908b)、または、(C)入力値および第1の値に対するビットごとのXOR演算を実行して第1の中間値を生成することと(906c)、第1の中間値のハミング重みに等しいビットの数の分だけ第1の中間値に対するビットごとの回転演算を実行して第2の中間値を生成することと(908c)、第2の値を取得することと(910c)、第2の中間値および第2の値に対するビットごとのXOR演算を実行してSボックスの出力値を生成すること(912c)のうちの1つによって、Sボックスの出力値を生成するステップ(904)とを含む。
図10は、一態様による、本明細書で説明されたSボックス300、400、500、800のいずれか1つを組み込む電子デバイス1000のハードウェア実装形態の概略ブロック図を示す。電子デバイス1000は、携帯電話、スマートフォン、タブレット、ポータブルコンピュータ、および/または、回路を有する任意の他の電子デバイスであり得る。電子デバイス1000は、通信インターフェース1010、ユーザインターフェース1012、および処理システム1014を含み得る。処理システム1014は、処理回路(たとえば、プロセッサ)1004、メモリ回路(たとえば、メモリ)1005、コンピュータ可読記憶媒体1006、バスインターフェース1008、およびバス1002を含み得る。処理システム1014および/または処理回路1004は、図3、図4、図5、図6、図7、図8、および/または図9に関して上で説明された、Sボックス300、400、500、800および他の回路および/またはモジュール602、702に関して説明された、ステップ、機能、および/または処理のいずれかを実行するように構成され得る。
102 回転関数
200 テーブル
300 Sボックス
302 XOR関数
304 回転関数
400 Sボックス
402 回転関数
404 XOR関数
500 Sボックス
502 XOR関数
504 回転関数
506 XOR関数
602 関数f
702 暗号モジュール
704 コンポーネントA
706 コンポーネントB
708 コンポーネントN
800 主Sボックス
802 ビット分割回路
803a m1ビットのNLTF入力値
803b m2ビットのNLTF入力値
803c m3ビットのNLTF入力値
803n mNビットのNLTF入力値
805a m1ビットのNLTF入力値
805b m2ビットのNLTF入力値
805c m3ビットのNLTF入力値
805n mNビットのNLTF入力値
812 連結回路
814 SボックスA
900 フローチャート
1000 電子デバイス
1002 バス
1004 プロセッサ
1005 メモリ
1006 コンピュータ可読記憶媒体
1008 バスインターフェース
1010 通信インターフェース
1012 ユーザインターフェース
1014 処理システム
1102 主入力値、入力値、第1の値、および第2の値を取得する回路
1104 非線形変換関数回路
Claims (28)
- 置換ボックス(Sボックス)と関連付けられる暗号値を生成するための方法であって、
入力値および第1の値を取得するステップと、
(A)前記入力値および前記第1の値に対するビットごとの排他的OR(XOR)演算を実行して第1の中間値を生成することと、
前記第1の中間値のハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行してSボックスの出力値を生成すること、
(B)前記入力値のハミング重みに等しいビットの数の分だけ前記入力値に対するビットごとの回転演算を実行して前記第1の中間値を生成することと、
前記第1の中間値および前記第1の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること、または、
(C)前記入力値および前記第1の値に対するビットごとのXOR演算を実行して前記第1の中間値を生成することと、
前記第1の中間値の前記ハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して第2の中間値を生成することと、
第2の値を取得することと、
前記第2の中間値および前記第2の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること
の1つによって、前記Sボックスの出力値を生成するステップとを含む、方法。 - 提供される前記第1の値および/または第2の値の少なくとも1つが、50%以上の確率で前記入力値とは異なるハミング重みを有する前記Sボックスの出力値を生成するように構成される、請求項1に記載の方法。
- 前記第1の値および/または前記第2の値の少なくとも1つが、0ではないハミング重みを有する定数である、請求項1に記載の方法。
- 提供される前記第1の値および/または第2の値の少なくとも1つが変数であり、100*(1-2-n)パーセント以上の0ではないハミング重みを有する確率を有し、nが前記第1の値および/または第2の値のビットの数である、請求項1に記載の方法。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号関数および/または暗号鍵の少なくとも1つから導出される、請求項1に記載の方法。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号モジュールのコンポーネント段階から導出される、請求項1に記載の方法。
- 前記暗号モジュールがストリーム暗号である、請求項6に記載の方法。
- メモリ回路において実行される、請求項1に記載の方法。
- 前記入力値および前記Sボックスの出力値が同数のビットを有する、請求項1に記載の方法。
- 主入力値を取得するステップと、
前記主入力値のビットを分割して複数の非線形変換関数(NLTF)入力値を取得するステップであって、各NLTF入力値が、前記主入力値のビットの数より少ないビットの数を有する、ステップと、
非線形演算を実行するNLTFに前記NLTF入力値の各々を提供して、前記NLTFに提供される前記NLTF入力値に各々対応する複数のNLTF出力値を生成するステップと、
前記複数のNTLF出力値を連結して前記入力値を取得するステップとをさらに含む、請求項1に記載の方法。 - 前記主入力値が、前記複数のNLTF入力値の各々が同数のビットを有するように分割される、請求項10に記載の方法。
- 処理回路を含む電子デバイスであって、前記処理回路が、
入力値および第1の値を取得し、
(A)前記入力値および前記第1の値に対するビットごとの排他的OR(XOR)演算を実行して第1の中間値を生成することと、
前記第1の中間値のハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して置換ボックス(Sボックス)の出力値を生成すること、
(B)前記入力値のハミング重みに等しいビットの数の分だけ前記入力値に対するビットごとの回転演算を実行して前記第1の中間値を生成することと、
前記第1の中間値および前記第1の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること、または、
(C)前記入力値および前記第1の値に対するビットごとのXOR演算を実行して前記第1の中間値を生成することと、
前記第1の中間値の前記ハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して第2の中間値を生成することと、
第2の値を取得することと、
前記第2の中間値および前記第2の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること
の1つによって、前記Sボックスの出力値を生成するように構成される、電子デバイス。 - 提供される前記第1の値および/または第2の値の少なくとも1つが、50%以上の確率で前記入力値とは異なるハミング重みを有する前記Sボックスの出力値を生成するように構成される、請求項12に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、0ではないハミング重みを有する定数である、請求項12に記載の電子デバイス。
- 提供される前記第1の値および/または第2の値の少なくとも1つが変数であり、100*(1-2-n)パーセント以上の0ではないハミング重みを有する確率を有し、nが前記第1の値および/または第2の値のビットの数である、請求項12に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号関数および/または暗号鍵の少なくとも1つから導出される、請求項12に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号モジュールのコンポーネント段階から導出される、請求項12に記載の電子デバイス。
- 前記処理回路がさらに、
主入力値を取得し、
前記主入力値のビットを分割して複数の非線形変換関数(NLTF)入力値を取得し、このとき各NLTF入力値が、前記主入力値のビットの数より少ないビットの数を有し、
非線形演算を実行するNLTFに前記NLTF入力値の各々を提供して、前記NLTFに提供される前記NLTF入力値に各々対応する複数のNLTF出力値を生成し、
前記複数のNTLF出力値を連結して前記入力値を取得するように構成される、請求項12に記載の電子デバイス。 - 入力値および第1の値を取得するための手段と、
(A)前記入力値および前記第1の値に対するビットごとの排他的OR(XOR)演算を実行して第1の中間値を生成するための手段と、
前記第1の中間値のハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して置換ボックス(Sボックス)の出力値を生成するための手段、
(B)前記入力値のハミング重みに等しいビットの数の分だけ前記入力値に対するビットごとの回転演算を実行して前記第1の中間値を生成するための手段と、
前記第1の中間値および前記第1の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成するための手段、または、
(C)前記入力値および前記第1の値に対するビットごとのXOR演算を実行して前記第1の中間値を生成するための手段と、
前記第1の中間値の前記ハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して第2の中間値を生成するための手段と、
第2の値を取得するための手段と、
前記第2の中間値および前記第2の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成するための手段
の1つによって、前記Sボックスの出力値を生成するための手段とを含む、電子デバイス。 - 提供される前記第1の値および/または第2の値の少なくとも1つが、50%以上の確率で前記入力値とは異なるハミング重みを有する前記Sボックスの出力値を生成するように構成される、請求項19に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、0ではないハミング重みを有する定数である、請求項19に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号関数および/または暗号鍵の少なくとも1つから導出される、請求項19に記載の電子デバイス。
- 前記第1の値および/または前記第2の値の少なくとも1つが、暗号モジュールのコンポーネント段階から導出される、請求項19に記載の電子デバイス。
- 主入力値を取得するための手段と、
前記主入力値のビットを分割して複数の非線形変換関数(NLTF)入力値を取得するための手段であって、各NLTF入力値が、前記主入力値のビットの数より少ないビットの数を有する、手段と、
非線形演算を実行するNLTFに前記NLTF入力値の各々を提供して、前記NLTFに提供される前記NLTF入力値に各々対応する複数のNLTF出力値を生成するための手段と、
前記複数のNTLF出力値を連結して前記入力値を取得するための手段とをさらに含む、請求項19に記載の電子デバイス。 - その中に記憶された置換ボックス(Sボックス)と関連付けられる暗号値を生成するための命令を有するコンピュータ可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されると、前記プロセッサに、
入力値および第1の値を取得させ、
(A)前記入力値および前記第1の値に対するビットごとの排他的OR(XOR)演算を実行して第1の中間値を生成することと、
前記第1の中間値のハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行してSボックスの出力値を生成すること、
(B)前記入力値のハミング重みに等しいビットの数の分だけ前記入力値に対するビットごとの回転演算を実行して前記第1の中間値を生成することと、
前記第1の中間値および前記第1の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること、または、
(C)前記入力値および前記第1の値に対するビットごとのXOR演算を実行して前記第1の中間値を生成することと、
前記第1の中間値の前記ハミング重みに等しいビットの数の分だけ前記第1の中間値に対するビットごとの回転演算を実行して第2の中間値を生成することと、
第2の値を取得することと、
前記第2の中間値および前記第2の値に対するビットごとのXOR演算を実行して前記Sボックスの出力値を生成すること
の1つによって、前記Sボックスの出力値を生成させる、コンピュータ可読記憶媒体。 - 提供される前記第1の値および/または第2の値の少なくとも1つが、50%以上の確率で前記入力値とは異なるハミング重みを有する前記Sボックスの出力値を生成するように構成される、請求項25に記載のコンピュータ可読記憶媒体。
- 前記第1の値および/または前記第2の値の少なくとも1つが、0ではないハミング重みを有する定数である、請求項25に記載のコンピュータ可読記憶媒体。
- 前記命令がさらに、前記プロセッサによって実行されると、前記プロセッサに、
主入力値を取得させ、
前記主入力値のビットを分割して複数の非線形変換関数(NLTF)入力値を取得させ、このとき各NLTF入力値が、前記主入力値のビットの数より少ないビットの数を有し、
非線形演算を実行するNLTFへ前記NLTF入力値の各々を提供させて、前記NLTFに提供される前記NLTF入力値に各々対応する複数のNLTF出力値を生成させ、
前記複数のNTLF出力値を連結させて前記入力値を取得させる、請求項25に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361751541P | 2013-01-11 | 2013-01-11 | |
US61/751,541 | 2013-01-11 | ||
US13/935,962 US10142099B2 (en) | 2013-01-11 | 2013-07-05 | Method and apparatus for a computable, large, variable and secure substitution box |
US13/935,962 | 2013-07-05 | ||
PCT/US2013/077939 WO2014109918A1 (en) | 2013-01-11 | 2013-12-27 | Method and apparatus for a computable, large, variable and secure substitution box |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016503195A true JP2016503195A (ja) | 2016-02-01 |
JP2016503195A5 JP2016503195A5 (ja) | 2017-01-26 |
Family
ID=51165146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015552655A Ceased JP2016503195A (ja) | 2013-01-11 | 2013-12-27 | 計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10142099B2 (ja) |
EP (1) | EP2944050A1 (ja) |
JP (1) | JP2016503195A (ja) |
KR (1) | KR20150105405A (ja) |
CN (1) | CN104871476B (ja) |
TW (1) | TWI533652B (ja) |
WO (1) | WO2014109918A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160105276A1 (en) * | 2014-10-10 | 2016-04-14 | Qualcomm Incorporated | Rotation-based cipher |
NL2015745B1 (en) * | 2015-11-09 | 2017-05-26 | Koninklijke Philips Nv | A cryptographic device arranged to compute a target block cipher. |
CN113014377B (zh) * | 2021-02-01 | 2022-07-22 | 中国科学院软件研究所 | 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179987A (ja) * | 1988-01-11 | 1989-07-18 | Nippon Telegr & Teleph Corp <Ntt> | データ拡散機構 |
JPH01252989A (ja) * | 1988-03-31 | 1989-10-09 | Nippon Telegr & Teleph Corp <Ntt> | データ拡散回路 |
JPH01302289A (ja) * | 1988-05-30 | 1989-12-06 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置のデータ拡散器 |
JPH03254538A (ja) * | 1990-03-05 | 1991-11-13 | Nippon Telegr & Teleph Corp <Ntt> | 暗号方式 |
US6182216B1 (en) * | 1997-09-17 | 2001-01-30 | Frank C. Luyster | Block cipher method |
US6185679B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks |
JP2002518713A (ja) * | 1998-06-15 | 2002-06-25 | アールエスエイ セキュリティ インコーポレイテッド | データ依存性ローテーションを用いる強化型ブロック暗号 |
WO2008026624A1 (en) * | 2006-09-01 | 2008-03-06 | Sony Corporation | Data conversion device, data conversion method, and computer program |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275265A (en) * | 1978-10-02 | 1981-06-23 | Wisconsin Alumni Research Foundation | Complete substitution permutation enciphering and deciphering circuit |
US4382300A (en) | 1981-03-18 | 1983-05-03 | Bell Telephone Laboratories Incorporated | Method and apparatus for decoding cyclic codes via syndrome chains |
EP1062755A2 (en) | 1997-08-08 | 2000-12-27 | Jonathan Stiebel | New operation for key insertion with folding |
FR2818772A1 (fr) | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de securisation d'un operateur logique ou mathematique implante dans un module electronique a microprocesseur, ainsi que le module electronique et le systeme embarque associes |
JP2002247025A (ja) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | 情報処理装置 |
EP1496641A3 (en) | 2003-07-07 | 2005-03-02 | Sony Corporation | Cryptographic processing apparatus, cryptographic processing method and computer program |
US20060002548A1 (en) | 2004-06-04 | 2006-01-05 | Chu Hon F | Method and system for implementing substitution boxes (S-boxes) for advanced encryption standard (AES) |
FR2893796B1 (fr) | 2005-11-21 | 2008-01-04 | Atmel Corp | Procede de protection par chiffrement |
KR100837270B1 (ko) | 2006-06-07 | 2008-06-11 | 삼성전자주식회사 | 스마트 카드 및 그것의 데이터 보안 방법 |
JP4882598B2 (ja) | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP5203594B2 (ja) | 2006-11-07 | 2013-06-05 | 株式会社東芝 | 暗号処理回路及び暗号処理方法 |
US8879725B2 (en) | 2008-02-29 | 2014-11-04 | Intel Corporation | Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation |
EP2273472B1 (en) * | 2008-03-31 | 2016-02-17 | Fujitsu Limited | Coder equipped with common key code function and built-in equipment |
CN101729241B (zh) | 2008-10-23 | 2012-01-25 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
FR2941342B1 (fr) | 2009-01-20 | 2011-05-20 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve. |
US20100329450A1 (en) | 2009-06-30 | 2010-12-30 | Sun Microsystems, Inc. | Instructions for performing data encryption standard (des) computations using general-purpose registers |
CN101841415A (zh) | 2009-12-29 | 2010-09-22 | 中国科学院软件研究所 | 一种面向字的密钥流生成方法及加密方法 |
CN101848078A (zh) | 2010-04-30 | 2010-09-29 | 中国科学院软件研究所 | 一种密钥流序列扰动方法及加密方法 |
CN101826959B (zh) | 2010-05-14 | 2012-05-23 | 中国科学院软件研究所 | 一种面向字节的密钥流生成方法及加密方法 |
JP5682526B2 (ja) * | 2011-03-28 | 2015-03-11 | ソニー株式会社 | データ処理装置、およびデータ処理方法、並びにプログラム |
-
2013
- 2013-07-05 US US13/935,962 patent/US10142099B2/en not_active Expired - Fee Related
- 2013-12-27 KR KR1020157021223A patent/KR20150105405A/ko not_active Application Discontinuation
- 2013-12-27 CN CN201380067737.9A patent/CN104871476B/zh not_active Expired - Fee Related
- 2013-12-27 JP JP2015552655A patent/JP2016503195A/ja not_active Ceased
- 2013-12-27 EP EP13821406.9A patent/EP2944050A1/en not_active Withdrawn
- 2013-12-27 WO PCT/US2013/077939 patent/WO2014109918A1/en active Application Filing
-
2014
- 2014-01-07 TW TW103100515A patent/TWI533652B/zh not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179987A (ja) * | 1988-01-11 | 1989-07-18 | Nippon Telegr & Teleph Corp <Ntt> | データ拡散機構 |
JPH01252989A (ja) * | 1988-03-31 | 1989-10-09 | Nippon Telegr & Teleph Corp <Ntt> | データ拡散回路 |
JPH01302289A (ja) * | 1988-05-30 | 1989-12-06 | Nippon Telegr & Teleph Corp <Ntt> | ブロック暗号装置のデータ拡散器 |
JPH03254538A (ja) * | 1990-03-05 | 1991-11-13 | Nippon Telegr & Teleph Corp <Ntt> | 暗号方式 |
US6182216B1 (en) * | 1997-09-17 | 2001-01-30 | Frank C. Luyster | Block cipher method |
US6185679B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks |
JP2002518713A (ja) * | 1998-06-15 | 2002-06-25 | アールエスエイ セキュリティ インコーポレイテッド | データ依存性ローテーションを用いる強化型ブロック暗号 |
WO2008026624A1 (en) * | 2006-09-01 | 2008-03-06 | Sony Corporation | Data conversion device, data conversion method, and computer program |
Also Published As
Publication number | Publication date |
---|---|
CN104871476B (zh) | 2018-05-25 |
CN104871476A (zh) | 2015-08-26 |
TW201440480A (zh) | 2014-10-16 |
KR20150105405A (ko) | 2015-09-16 |
US20140198913A1 (en) | 2014-07-17 |
TWI533652B (zh) | 2016-05-11 |
WO2014109918A1 (en) | 2014-07-17 |
EP2944050A1 (en) | 2015-11-18 |
US10142099B2 (en) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3205044B1 (en) | Rotation-based cipher | |
JP6345237B2 (ja) | 平文データを暗号化するための方法および装置 | |
US9515818B2 (en) | Multi-block cryptographic operation | |
JP6576564B2 (ja) | 安全かつ効率的なブロック暗号アルゴリズムの実現方法と装置 | |
JP2017504838A (ja) | 暗号アルゴリズムに対するサイドチャネル攻撃への対抗策 | |
US20130188789A1 (en) | Method and apparatus for generating an advanced encryption standard (aes) key schedule | |
US9800407B2 (en) | Methods and apparatuses for prime number generation and storage | |
US20160359618A1 (en) | Using state reordering to protect against white box attacks | |
US20180183574A1 (en) | Efficient cryptographically secure control flow integrity protection | |
US10742400B2 (en) | Datastream block encryption | |
JP6735926B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム | |
TW201545524A (zh) | 用於以第二密文編密演算法之運算修改第一密文編密演算法的技術 | |
JPWO2016088453A1 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
EP3667647A1 (en) | Encryption device, encryption method, decryption device, and decryption method | |
US10326596B2 (en) | Techniques for secure authentication | |
US11632234B2 (en) | Apparatus and method for generating cryptographic algorithm, apparatus and method for encryption | |
US9639674B2 (en) | Using single white-box implementation with multiple external encodings | |
JP2016503195A (ja) | 計算可能な、大型の、可変の、かつ安全な置換ボックスのための方法および装置 | |
US10411880B2 (en) | Apparatus and method for encryption | |
JP2010044251A (ja) | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 | |
US10678709B2 (en) | Apparatus and method for memory address encryption | |
WO2020044485A1 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
JP2016503195A5 (ja) | ||
JP2008107636A (ja) | 暗号化装置、プログラム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180502 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180528 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20180921 |