JP2011075721A - 暗号装置及び方法 - Google Patents
暗号装置及び方法 Download PDFInfo
- Publication number
- JP2011075721A JP2011075721A JP2009225535A JP2009225535A JP2011075721A JP 2011075721 A JP2011075721 A JP 2011075721A JP 2009225535 A JP2009225535 A JP 2009225535A JP 2009225535 A JP2009225535 A JP 2009225535A JP 2011075721 A JP2011075721 A JP 2011075721A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- input
- exclusive
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- 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/0625—Block 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】第1の非線形変換処理S9に関連する演算結果を予め格納している第1の変換テーブルと、第2の非線形変換処理S7に関連する演算結果を予め格納している第2の変換テーブルとをROMに格納しておき、第1の変換テーブルを2度参照して、第2のテーブルを1度参照する処理にFI関数を等価変換する。第1の変換テーブルを2度参照するような処理にFI関数を等価変換しているので、ROM容量を少なくすることができる。
【選択図】図1
Description
KIijR=K'1 & 0x1FF
tmpk1=K'1 & 0xFE00
tmpk2=KIijR & 0x7F
tmpk3=tmpk2 << 9
tmpk4=tmpk3 + tmpk1
tmpk5=tmpk4 >> 9
KIijL'=tmpk5 + tmpk4
T1(X)=S9(X)
T5(X)=((X&0x7F)<<9)+(X&0x7F)+S9(X)
T4(X)=(S7(X)<<9)+S7(X)
「<<9」は左シフトで、「>>9」は右シフトで、X&0x7FはXの下位7ビットを抽出するものである。
T5j(X)=(((X+KIijR)& 0x7F)<<9)+((X+KIjiR)&0x7F)+S9(X)
T4j(X)=(S7(X)<<9)+S7(X)+KIijL'
S9F(X)=((S9(X)&0x7F)<<9)+S9(X)
S7F(Y)=(S7(Y)+Y)<<9)+Y
上で述べたが、「&0x7F」は、下位7ビットを抽出する処理を表し、「<<9」は9ビット左シフトを表す。なお「+」は排他的論理和を表している。そして、Aが7ビット、Bが9ビットであれば、(A<<9)+Bにて、Aを上位ビット7ビットに配置してBを下位ビット9ビットに配置するような処理となる。
第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算を行う暗号装置であって、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、
7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルと、
を記録している読み出し専用メモリと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルを2度用い、前記読み出し専用メモリに記録されている前記第2の変換テーブルを1度用いて、前記FI関数の1回の演算を行うFI関数演算部と、
を有する暗号装置。
前記FI関数演算部が、
第3の入力の上位9*nビットを前記第1の入力Xとして前記第1の変換テーブルから該当する第1のデータを読み出し、
前記第3の入力の下位7*nビットを前記第2の入力Yとして前記第2の変換テーブルから該当する第2のデータを読み出し、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成し、
前記第3データの下位9*nビットを前記第1の入力Xとして前記第1の変換テーブルから該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成し、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成し、
前記第5のデータと前記第6のデータとの排他的論理和を算出する
付記1記載の暗号装置。
拡大鍵生成部と、
暗号化処理部と
を有し、
前記拡大鍵生成部及び前記暗号化処理部とが、前記FI関数演算部に対して前記FI関数の演算を要求し、前記FI関数演算部から演算結果を受け取る
付記1又は2記載の暗号装置。
前記FI関数演算部が、
第1乃至第4のセレクタと、
第1及び第2の排他的論理和演算部と、
レジスタと、
を有しており、
前記第1のセレクタには、第3の入力の上位9*nビットと、前記レジスタに格納されている値の下位9*nビットとが入力されており、
前記第1のセレクタの出力を、前記第1の入力Xとして前記第1の変換テーブルから該当する第1のデータを読み出すようになっており、
前記第3の入力の下位7*nビットを、前記第2の入力Yとして前記第2の変換テーブルから該当する第2のデータを読み出すようになっており、
前記第2のセレクタには、前記第1のデータと、前記レジスタに格納されている値の上位7*nビットに対して当該上位7*nビットの上位に0を挿入して生成される9*nビットのデータを下位に連結した第3データとが入力されており、
前記第3のセレクタには、前記第2のデータと、前記第1のデータの下位9*nビットに対して7*nビットの0を上位に連結した第4のデータとが入力されており、
前記第4のセレクタには、入力拡大鍵と、16*nビットの0とが入力されており、
前記第1の排他的論理和演算部は、前記第2のセレクタの出力と前記第3のセレクタの出力とについて排他的論理和を演算して第5のデータを生成し、
前記第2の排他的論理和演算部は、前記第5のデータと前記第4のセレクタの出力とについて排他的論理和を演算して第6のデータを生成し、前記レジスタに格納し、
第1のサイクルでは、前記第1のセレクタでは前記第3の入力の上位9*nビットが選択され、前記第2のセレクタでは前記第1のデータが選択され、前記第3のセレクタでは前記第2のデータが選択され、前記第4のセレクタでは、前記入力拡大鍵が選択され、
第2のサイクルでは、前記第1のセレクタでは前記レジスタに格納されている値の下位9*nビットが選択され、前記第2のセレクタでは前記第3のデータが選択され、前記第3のセレクタでは前記第4のデータが選択され、前記第4のセレクタでは前記16*nビットの0が選択される
付記1乃至3のいずれか1つ記載の暗号装置。
第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算をプロセッサに実行させる暗号プログラムであって、
入力Zを受け取るステップと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルとを記録している読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記読み出し専用メモリに記録されている前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
を実行させるための暗号プログラム。
第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算を実行する暗号方法であって、
入力Zを受け取るステップと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルとを記録している読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記読み出し専用メモリに記録されている前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
を含み、プロセッサに実行される暗号方法。
第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算をプロセッサに実行させる暗号プログラムと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、
7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルと、
を格納しており
前記暗号プログラムが、
入力Zを受け取るステップと、
前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
をプロセッサに実行させるための暗号プログラム
であるメモリ。
前記メモリを有する付記7記載のプロセッサ。
105 FO関数 107 FL関数
109 FI関数
10 プロセッサ 11 RAM
12 ROM
Claims (8)
- 第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算を行う暗号装置であって、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、
7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルと、
を記録している読み出し専用メモリと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルを2度用い、前記読み出し専用メモリに記録されている前記第2の変換テーブルを1度用いて、前記FI関数の1回の演算を行うFI関数演算部と、
を有する暗号装置。 - 前記FI関数演算部が、
第3の入力の上位9*nビットを前記第1の入力Xとして前記第1の変換テーブルから該当する第1のデータを読み出し、
前記第3の入力の下位7*nビットを前記第2の入力Yとして前記第2の変換テーブルから該当する第2のデータを読み出し、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成し、
前記第3データの下位9*nビットを前記第1の入力Xとして前記第1の変換テーブルから該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成し、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成し、
前記第5のデータと前記第6のデータとの排他的論理和を算出する
請求項1記載の暗号装置。 - 拡大鍵生成部と、
暗号化処理部と
を有し、
前記拡大鍵生成部及び前記暗号化処理部とが、前記FI関数演算部に対して前記FI関数の演算を要求し、前記FI関数演算部から演算結果を受け取る
請求項1又は2記載の暗号装置。 - 前記FI関数演算部が、
第1乃至第4のセレクタと、
第1及び第2の排他的論理和演算部と、
レジスタと、
を有しており、
前記第1のセレクタには、第3の入力の上位9*nビットと、前記レジスタに格納されている値の下位9*nビットとが入力されており、
前記第1のセレクタの出力を、前記第1の入力Xとして前記第1の変換テーブルから該当する第1のデータを読み出すようになっており、
前記第3の入力の下位7*nビットを、前記第2の入力Yとして前記第2の変換テーブルから該当する第2のデータを読み出すようになっており、
前記第2のセレクタには、前記第1のデータと、前記レジスタに格納されている値の上位7*nビットに対して当該上位7*nビットの上位に0を挿入して生成される9*nビットのデータを下位に連結した第3データとが入力されており、
前記第3のセレクタには、前記第2のデータと、前記第1のデータの下位9*nビットに対して7*nビットの0を上位に連結した第4のデータとが入力されており、
前記第4のセレクタには、入力拡大鍵と、16*nビットの0とが入力されており、
前記第1の排他的論理和演算部は、前記第2のセレクタの出力と前記第3のセレクタの出力とについて排他的論理和を演算して第5のデータを生成し、
前記第2の排他的論理和演算部は、前記第5のデータと前記第4のセレクタの出力とについて排他的論理和を演算して第6のデータを生成し、前記レジスタに格納し、
第1のサイクルでは、前記第1のセレクタでは前記第3の入力の上位9*nビットが選択され、前記第2のセレクタでは前記第1のデータが選択され、前記第3のセレクタでは前記第2のデータが選択され、前記第4のセレクタでは、前記入力拡大鍵が選択され、
第2のサイクルでは、前記第1のセレクタでは前記レジスタに格納されている値の下位9*nビットが選択され、前記第2のセレクタでは前記第3のデータが選択され、前記第3のセレクタでは前記第4のデータが選択され、前記第4のセレクタでは前記16*nビットの0が選択される
請求項1乃至3のいずれか1つ記載の暗号装置。 - 第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算をプロセッサに実行させる暗号プログラムであって、
入力Zを受け取るステップと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルとを記録している読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記読み出し専用メモリに記録されている前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
を実行させるための暗号プログラム。 - 第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算を実行する暗号方法であって、
入力Zを受け取るステップと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルとを記録している読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記読み出し専用メモリに記録されている前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記読み出し専用メモリに記録されている前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
を含み、プロセッサに実行される暗号方法。 - 第1の非線形関数S9と第2の非線形関数S7とを含むFI関数に従った演算をプロセッサに実行させる暗号プログラムと、
9*nビット(nは1以上の整数)の第1の入力Xに対する前記第1の非線形関数S9の第1の出力の下位7*nビットを抽出し、当該第1の出力の下位7*nビットを9*nビット左シフトした値と前記第1の出力との排他的論理和の値を、全ての前記第1の入力Xについて格納した第1の変換テーブルと、
7*nビットの第2の入力Yに対する前記第2の非線形関数S7の第2の出力と前記第2の入力Yとの排他的論理和の結果を9*nビット左シフトし、当該排他的論理和の結果の9*nビット左シフトした値と前記第2の入力Yとの排他的論理和の値を、全ての前記第2の入力Yについて格納した第2の変換テーブルと、
を格納しており
前記暗号プログラムが、
入力Zを受け取るステップと、
前記第1の変換テーブルにアクセスして、前記入力Zの上位9*nビットである前記第1の入力Xに該当する第1のデータを読み出すステップと、
前記第2の変換テーブルにアクセスして、前記入力Zの下位7*nビットである前記第2の入力Yに該当する第2のデータを読み出すステップと、
前記第1のデータと前記第2のデータの排他的論理和にさらに入力拡大鍵との排他的論理和を算出して第3データを生成又は前記第1のデータと前記入力拡大鍵との排他的論理和にさらに前記第2のデータの排他的論理和を算出して前記第3データを生成するステップと、
前記第1の変換テーブルにアクセスして、前記第3データの下位9*nビットである前記第1の入力Xに該当する第4のデータを読み出し、前記第4のデータの下位9*nビットを取り出して第5のデータを生成するステップと、
前記第3のデータの上位7*nビットと、当該第3のデータの上位7*nビットを9*nビット左シフトした値との排他的論理和と等価な第6のデータを生成するステップと、
前記第5のデータと前記第6のデータとの排他的論理和を算出するステップと、
をプロセッサに実行させるための暗号プログラム
であるメモリ。 - 前記メモリを有する請求項7記載のプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009225535A JP5387295B2 (ja) | 2009-09-29 | 2009-09-29 | 暗号装置及び方法 |
US12/892,334 US8634551B2 (en) | 2009-09-29 | 2010-09-28 | Cryptographic apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009225535A JP5387295B2 (ja) | 2009-09-29 | 2009-09-29 | 暗号装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011075721A true JP2011075721A (ja) | 2011-04-14 |
JP5387295B2 JP5387295B2 (ja) | 2014-01-15 |
Family
ID=44019794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009225535A Active JP5387295B2 (ja) | 2009-09-29 | 2009-09-29 | 暗号装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8634551B2 (ja) |
JP (1) | JP5387295B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009090689A1 (ja) * | 2008-01-18 | 2009-07-23 | Fujitsu Limited | 暗号化装置、暗号化方法及びプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3917357B2 (ja) | 2000-10-10 | 2007-05-23 | 三菱電機株式会社 | 非線形変換方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及び非線形変換装置 |
US7212631B2 (en) | 2001-05-31 | 2007-05-01 | Qualcomm Incorporated | Apparatus and method for performing KASUMI ciphering |
JP3503638B1 (ja) * | 2002-09-26 | 2004-03-08 | 日本電気株式会社 | 暗号装置及び暗号プログラム |
US7796752B2 (en) * | 2002-11-04 | 2010-09-14 | Marvell International Ltd. | Cipher implementation |
KR100516548B1 (ko) * | 2003-02-05 | 2005-09-22 | 삼성전자주식회사 | 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치 |
KR100547744B1 (ko) * | 2003-09-02 | 2006-01-31 | 삼성전자주식회사 | 이동통신시스템에서 최소의 소자를 사용하는 단일라운드의 암호화 장치 및 방법 |
US20050163313A1 (en) * | 2004-01-23 | 2005-07-28 | Roger Maitland | Methods and apparatus for parallel implementations of table look-ups and ciphering |
US7433469B2 (en) * | 2004-04-27 | 2008-10-07 | Intel Corporation | Apparatus and method for implementing the KASUMI ciphering process |
US7688972B2 (en) * | 2004-07-14 | 2010-03-30 | Broadcom Corporation | Method and system for implementing FO function in KASUMI algorithm for accelerating cryptography in GSM (global system for mobile communication)GPRS (general packet radio service)edge(enhanced data rate for GSM evolution) compliant handsets |
US20060013387A1 (en) * | 2004-07-14 | 2006-01-19 | Ruei-Shiang Suen | Method and system for implementing KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets |
US7760874B2 (en) * | 2004-07-14 | 2010-07-20 | Broadcom Corporation | Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets |
EP2237245B1 (en) * | 2008-01-18 | 2017-07-19 | Fujitsu Limited | Processor of data conversion function |
US8693681B2 (en) * | 2008-12-10 | 2014-04-08 | Texas Instruments Incorporated | Kasumi cipher executable instructions and circuitry |
JP5200949B2 (ja) * | 2009-01-16 | 2013-06-05 | 富士通株式会社 | 暗号処理装置 |
JP5338327B2 (ja) * | 2009-01-16 | 2013-11-13 | 富士通株式会社 | 暗号処理装置 |
US9317286B2 (en) * | 2009-03-31 | 2016-04-19 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the camellia cipher algorithm |
US20100246815A1 (en) * | 2009-03-31 | 2010-09-30 | Olson Christopher H | Apparatus and method for implementing instruction support for the kasumi cipher algorithm |
US8654970B2 (en) * | 2009-03-31 | 2014-02-18 | Oracle America, Inc. | Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm |
-
2009
- 2009-09-29 JP JP2009225535A patent/JP5387295B2/ja active Active
-
2010
- 2010-09-28 US US12/892,334 patent/US8634551B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009090689A1 (ja) * | 2008-01-18 | 2009-07-23 | Fujitsu Limited | 暗号化装置、暗号化方法及びプログラム |
Non-Patent Citations (5)
Title |
---|
CSNG200200079003; 松井 充,中嶋 純子: '"MISTYのソフトウエアによる高速実装法について(III)"' 電子情報通信学会技術研究報告 Vol.100,No.421, 20001106, p.13-21, 社団法人電子情報通信学会 * |
JPN6013045181; 和田 智行: '"Misty1暗号回路の設計とハード/ソフト最適分割の検討"' 立命館大学理工学部情報学科 卒業論文 , 200703, p.1-32, [オンライン] * |
JPN6013045185; 松井 充,中嶋 純子: '"MISTYのソフトウエアによる高速実装法について(III)"' 電子情報通信学会技術研究報告 Vol.100,No.421, 20001106, p.13-21, 社団法人電子情報通信学会 * |
JPN7013003361; 山本 大,矢嶋 純,伊藤 孝一: '"共通鍵ブロック暗号MISTY1の小型ハードウェア実装評価"' 2008年 暗号と情報セキュリティシンポジウム 2C2-1, 20080122, p.1-6, 社団法人電子情報通信学会 * |
JPN7013003362; 市川 哲也,加藤 潤二,松井 充: '"秘密鍵暗号MISTY1のH/W実装における一方法"' 1998年暗号と情報セキュリティシンポジウム 9.1.A, 19980128, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 * |
Also Published As
Publication number | Publication date |
---|---|
US20110075837A1 (en) | 2011-03-31 |
US8634551B2 (en) | 2014-01-21 |
JP5387295B2 (ja) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
US20040120518A1 (en) | Matrix multiplication for cryptographic processing | |
JP2002229445A (ja) | べき乗剰余演算器 | |
TWI695292B (zh) | 使用訊息盲化的密碼裝置及其密碼處理方法 | |
JP5202350B2 (ja) | 暗号処理装置及び暗号処理方法及び暗号処理プログラム | |
JP2006145852A (ja) | モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム | |
JP4177526B2 (ja) | 乗算剰余演算方法および乗算剰余回路 | |
JP5188414B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
CN114826560B (zh) | 一种轻量级分组密码cref实现方法及系统 | |
JP5182295B2 (ja) | 暗号化装置及び暗号処理方法 | |
JP5387295B2 (ja) | 暗号装置及び方法 | |
JP4515716B2 (ja) | 拡大鍵生成装置、暗号化装置および暗号化システム | |
JP5354914B2 (ja) | 暗号処理装置及び復号処理装置及びプログラム | |
JP4692022B2 (ja) | 楕円曲線暗号におけるスカラー倍計算装置、及び、そのプログラム | |
CN116820397B (zh) | 基于CRYSTALS-Kyber的快速数论变换电路 | |
JP2011081594A (ja) | データ処理装置及びデータ処理プログラム | |
JP6973677B1 (ja) | 逆数算出方法、装置、およびプログラム | |
JP3875495B2 (ja) | 暗号設計装置、暗号設計プログラム、および記録媒体 | |
JP5179933B2 (ja) | データ処理装置 | |
JP2006502437A (ja) | 暗号化回路装置及び方法 | |
JPH1078864A (ja) | 乱数生成器 | |
US7480380B2 (en) | Method for efficient generation of modulo inverse for public key cryptosystems | |
JP6876423B2 (ja) | ストリーム暗号における内部状態の初期化装置、方法及びプログラム | |
JP2007034212A (ja) | ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120605 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5387295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |