JP2002091297A - F関数内部にspn構造を用いた演算装置および演算方法 - Google Patents

F関数内部にspn構造を用いた演算装置および演算方法

Info

Publication number
JP2002091297A
JP2002091297A JP2001207326A JP2001207326A JP2002091297A JP 2002091297 A JP2002091297 A JP 2002091297A JP 2001207326 A JP2001207326 A JP 2001207326A JP 2001207326 A JP2001207326 A JP 2001207326A JP 2002091297 A JP2002091297 A JP 2002091297A
Authority
JP
Japan
Prior art keywords
matrix
value
bits
input
boxes
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
JP2001207326A
Other languages
English (en)
Other versions
JP3907976B2 (ja
Inventor
Takeshi Shimoyama
武司 下山
Koichi Ito
孝一 伊藤
Masahiko Takenaka
正彦 武仲
Naoya Torii
直哉 鳥居
Jun Yajima
純 矢嶋
Hitoshi Yanami
仁史 屋並
Kazuhiro Yokoyama
和弘 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001207326A priority Critical patent/JP3907976B2/ja
Publication of JP2002091297A publication Critical patent/JP2002091297A/ja
Application granted granted Critical
Publication of JP3907976B2 publication Critical patent/JP3907976B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 F関数内部のSPN構造中の複数のSボック
スの間で入出力ビット数が同一でない場合に、SPN構
造内の線形変換部としてデータ拡散性能に優れたものを
用いて演算を行う。 【解決手段】 演算装置1に与えられる入力データの全
ビット数を非均等に分割したビット数集合Tの入力を受
け取る手段1と、分割されたビット数をそれぞれ入・出
力ビット数とする複数のSボックスに対応する適切な線
形変換部の存在可能性を示す値AT を出力する手段3を
備える。さらにAT の値が正のとき適切な線形変換部が
存在すると判定する手段4と、そのような線形変換部と
しての擬似MDS行列を生成する手段5を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は共通鍵ブロック暗号
化方式に係り、さらに詳しくはFeistel 構造と呼ばれる
構造内のF関数の内部で用いられる複数のSボックスに
対する入出力ビット数が、複数のSボックスの間で同一
でない場合に、複数のSボックスの後に備えられる線形
変換部として、データ拡散性のよい線形変換部を生成
し、その線形変換部を用いて入力データに対する暗号化
を行う暗号化装置、および暗号化方法に関する。
【0002】
【従来の技術】高度情報化社会を迎え、情報セキュリテ
ィの確保は緊急の課題となっている。情報セキュリティ
の基本となるのはデータの暗号化である。高度情報化社
会において高速、かつ安全な通信を実現するために、共
通鍵ブロック暗号は不可欠の技術である。この共通鍵ブ
ロック暗号のアルゴリズムとして、例えば応用分野に応
じて様々な方式が提案されているが、その1つとしてFe
istel 構造と呼ばれる単純な繰返し構造のアルゴリズム
がある。
【0003】図15はこのFeistel 構造が16段繰り返
されたDES暗号方式の説明図である。同図において入
力P、例えば64ビットは右側32ビットと左側32ビ
ットとに分割され、右側32ビットはF関数51と呼ば
れる非線形関数に入力され、その出力と左側32ビット
とがXOR52によって排他的論理和がとられ、その結
果は右側32ビットとして次の段に与えられ、次の段へ
の左側32ビットとしては入力64ビットのうち右側3
2ビットがそのまま与えられる。
【0004】図16は図15内のF関数51の構成例で
ある。入力、例えば32ビットはビット拡張部E61に
よって48ビットに拡張され、XOR62によってその
48ビットと鍵Ki 48ビットとの排他的論理和がとら
れ、その出力は6ビットずつに分割されてSボックスと
呼ばれる非線形関数にそれぞれ入力される。各Sボック
ス63の出力は、例えば4ビットとされ、合計32ビッ
トが線形関数P64に入力され、データの拡散が行われ
る。このような構造は一般にSPN(サブスティテュー
ションパーミュテーションネットワーク)構造と呼ばれ
る。
【0005】Sボックスは暗号装置の非線形の撹拌出力
を得るため、またSボックスに続いて行われる線形関数
Pは、Sボックスによる局所的な非線形出力をデータ全
体に拡散させるために用いられるが、暗号装置に組み込
まれる上で拡散性のよい線形変換とは何か、具体的にど
う求めるか、という研究が従来より行われている。一般
に、暗号に用いられる線形変換としては、一つのSボッ
クスの出力が次のラウンドにおいて、出来る限り多くの
Sボックスの入力に関係することが望ましいが、現在で
はより拡張された線形関数として、次のような性質を満
たすものがよいとされている。すなわち、Sボックスの
入出力ビット数sに対して、線形変換Pの入力Xおよび
出力Yをsビット単位、t個のブロックX=(x1 ,・
・・,x t ),Y=(y1 ,・・・,yt ),(各
i ,yj はsビット)に分割した場合、 Y=P(X) の入出力間で成立する任意の線形関係式 f(x1 ,・・・,xt ,y1 ,・・・,yt )=0 には、入出力xi ,yj 合わせて2t個の変数のうち、
t+1個以上の変数が含まれている(=係数が0ではな
い)というものである。
【0006】このような性質を満たす線形変換Pとして
MDS変換が知られている。この変換は線形変換Pにお
けるデータの拡散性を定義する1つの概念としての分岐
数を最大とする線形変換である。この分岐数は暗号に対
する差分攻撃や、線形攻撃に対する強度を評価するパラ
メータであり、その詳細については次の文献で説明され
ている。
【0007】文献) 共通鍵ブロック暗号の選択/設計
/評価に関するドキュメント、通信・放送機構 図17はそのようなMDS変換を実現する線形関数Pの
説明図である。同図においては、4つのSボックス71
へのそれぞれの入力、および出力は8ビットであり、合
計32ビットが入力xとして線形関数Pに与えられるも
のとする。線形関数Pへの入力x、および出力yを、そ
れぞれSボックスに対応させて、8ビットずつに分割し
た変数xi (i=1〜4)、yj (j=1〜4)とす
る。
【0008】ここでxi に入力差分Δxi が与えられた
時、そのiの集合を次のように書き、これを入力アクテ
ィブSボックスと名付ける。 {i|Δxi ≠0} 例えばx1 ,x2 に入力差分が与えられた時、この集合
は{1,2}となる。
【0009】この入力アクティブSボックスに対応し
て、出力差分Δyj が生じるyj に対応して、次の集合
を出力アクティブSボックスと名付ける。 {j|Δyj ≠0} これら2つの集合の和集合 {i|Δxi ≠0}U{j|Δyj ≠0} をアクティブSボックスと名付ける。
【0010】そしてこの集合アクティブSボックスの要
素の数actS(P)の最小値は、線形変換Pによって
決定される。アクティブSボックスの要素の数の最小値 min (actS(P)) をアクティブSボックスの数と呼ぶことにする。このア
クティブSボックスの数の最大値は、前述の線形関係式
に含まれる変数の数(t+1)に一致するとされてい
る。このアクティブSボックスの数の最大値が、例えば
5となる線形変換Pが存在するとすれば、入力xi (i
=1〜4)の1個が変化すると、出力yj (j=1〜
4)の4個が変化することになり、また出力の1個は入
力の5個から影響されることになる。
【0011】図18はこのようなMDS変換に相当する
MDS行列の説明図である。同図においてMDS行列
は、それぞれ例えば0、または1の要素からなる8行、
8列の部分的な行列aij(i=1〜4,j=1〜4)か
ら構成されている。このaijの行数と列数は、図17で
説明したSボックス71の入出力ビット数に対応する。
【0012】このようなMDS行列が持つべき性質を説
明する。図18の行列が、MDS行列として図17で説
明した線形関数Pに望まれる高い拡散性を有するために
は、部分的な行列aijを要素として考えた場合の4行、
4列の全体から、行数と列数が等しい任意の小行列を選
択した時に、その全ての小行列が正則であることが必要
とされている。
【0013】すなわち例えば1行と1列を指定した
(1,1)小行列、2行と2列を指定した(2,2)小
行列、3行と3列を指定した(3,3)小行列、および
行列全体と一致する(4,4)小行列の全てが、逆行列
を持ち、同じ配置の行列式が0でなく、ランク(階数)
がフルであるという性質を持つものとされている。
【0014】
【発明が解決しようとする課題】このように共通鍵ブロ
ック暗号化方式におけるFeistel 構造内のF関数の中
で、データの拡散に重要な役割を果たす線形変換Pとし
てのMDS行列の設計は、従来は複数のSボックスの入
出力サイズが等しいことを前提として行われていたが、
複数のSボックスの間で入出力サイズが異なる場合につ
いては、適切な線形変換Pが存在するか否か、存在する
とすればその変換をどのように構成すればよいかについ
ては、従来全く知られていないという問題点があった。
【0015】本発明の課題は、上述の問題点に鑑み、複
数のSボックスの間で入出力サイズが異なる場合に、デ
ータの拡散性に優れた線形変換が存在するか否かを判定
し、そのような線形変換が存在する場合に、そのような
線形変換に相当する擬似MDS行列を生成し、それを用
いて入力データに対応する暗号文を生成する暗号文生成
装置、および生成方法を提供することである。
【0016】
【課題を解決するための手段】図1は本発明の演算装置
の原理構成ブロック図である。同図は、Feistel 構造の
F関数の内部に、複数のSボックスと線形変換部とを備
える演算装置1の原理構成ブロック図である。
【0017】図1においてビット数集合入力手段2は、
演算装置1に与えられる入力データの全ビット数を非均
等に分割したビット数の集合T={t1 ,t2 ,t3
・・・,tr }の入力を受け取るものである。
【0018】また線形変換部存在可能性指示数値出力手
段3は、分割されたビット数をそれぞれ入・出力ビット
数とする複数のSボックスに対応して、データ拡散性に
優れた線形変換部の存在可能性を示す値、例えばアクテ
ィブSボックスの数の最大値AT を出力するものであ
る。
【0019】本発明の実施の形態においては、このAT
の値が正である時、適切な線形変換部が存在すると判定
する線形変換部存在判定手段4を更に備えることも、ま
たそのような線形変換部として、ビット数分割が均等に
行われた場合のMDS行列に対応する擬似MDS行列を
生成する擬似MDS行列生成手段5を更に備えることも
できる。
【0020】また発明の実施の形態においては、線形変
換部存在可能性指示数値出力手段3が、前述のビット数
集合の要素から任意のk個を選んで生成した集合の要素
の和の最小値uk (k=1,2,・・・,r)を求める
最小値決定手段と、同様にk個を選んで生成した集合の
要素の和の最大値vk を求める最大値決定手段とを更に
備え、数値kに対してuk ≧vk'(k′=0,1,・・
・r,v0 =0)を満たすk′の最大値をkから減算し
た値をwk とし、wk の最大値を(r+1)の値から減
算してAT の値を求めることもできる。
【0021】更に本発明の実施の形態においては、擬似
MDS行列生成手段5は、要素が0、または1のt
i 行、tj 列の部分行列Mijを要素としてr行、r列に
並べた行列をM=(Mij)(i,j=1,2,・・・,
r)とし、e−1から(AT −1)までの各正数に対し
て、c(e)=e+r−AT +1求め、集合Tの要素を
e個任意に選んだ集合T1 と、要素をc(e)個任意に
選んだ集合T2 を求め、その集合(T1 ,T2 )に対応
する任意のあらゆるMの小行列、および集合(T2,T
1 )に対応する任意のあらゆるMの小行列の階数の値が
それぞれ小行列の行数、または列数のいずれかに等しい
行列Mを求めることもできる。
【0022】この時、例えば集合(T1 ,T2 )に対応
する小行列は、前述の部分行列Mijのうちで、集合T1
の各要素にそれぞれ対応する行と、集合T2 の各要素に
対応する列によって指定される部分行列によって構成さ
れることもできる。
【0023】本発明の演算方法として、複数のSボック
スと線形変換部とを備えるSPN構造をF関数の内部に
用いる演算方法において、与えられる入力データのビッ
ト数を非均等に分割したビット数の集合Tの入力を受け
取り、分割されたビット数をそれぞれ入・出力ビット数
とする複数のSボックスに対応する適切な線形変換部の
存在可能性を示す値、例ばアクティブSボックスの数の
最大値AT を出力する方法が用いらる。
【0024】この方法においては、発明の実施形態で
は、AT の値が正である時、適切な線形変換部が存在す
ると判定することもでき、またそのような線形変換部と
して、ビット数分割が均等に行われた場合のMDS行列
に対応する擬似MDS行列を生成することもできる。
【0025】更に本発明においては、複数のSボックス
と線形変換部とを備えるSPN構造を、F関数の内部に
用いた演算を実行する計算機によって使用される記憶媒
体として、与えられる入力データの全ビット数を非均等
に分割したビット数集合Tの入力を受け取るステップ
と、分割されたビット数をそれぞれ入・出力ビット数と
する複数のSボックスに対応する適切な線形変換部の存
在可能性を示す値、例えばアクティブSボックスの数の
最大値AT を出力するステップとを計算機に実行させる
ためのプログラムを格納した計算機読出し可能可搬型記
憶媒体が用いられる。
【0026】また更に本発明においては、複数のSボッ
クスと線形変換部とを備えるSPN構造を、F関数の内
部に用いた演算を実行する計算機によって使用されるプ
ログラムとして、与えられる入力データの全ビット数を
非均等に分割したビット数集合Tの入力を受け取る手順
と、分割されたビット数をそれぞれ入・出力ビット数と
する複数のSボックスに対応する適切な線形変換部の存
在可能性を示す値、例えばアクティブSボックスの数の
最大値AT を出力する手順とを計算機に実行させるため
のプログラムが用いられる。
【0027】以上説明したように、本発明によればFeis
tel 構造の内部のF関数を構成するSPN構造内で、複
数のSボックスの入出力ビット数が非均等の場合に対し
て、データの拡散性に優れた線形変換部の生成が可能と
なる。
【0028】
【発明の実施の形態】本発明においては、Feistel 構造
の内部に備えられるF関数を構成するSPN構造内で、
複数のSボックスの間で入出力ビット数が全て同じでは
ない場合の暗号化アルゴリズム、およびそのアルゴリズ
ムを用いた暗号化装置を本発明の実施形態として説明す
る。
【0029】図2はそのような暗号化装置の構成ブロッ
ク図である。同図において暗号化装置は処理装置10、
入力ファイル11、出力ファイル12、表示装置13、
および入出力装置14によって構成されている。
【0030】入力ファイル11には、例えば暗号化の対
象としての平文、Feistel 構造内のF関数への入力デー
タのビット数n、ビット数nが複数のSボックスに入力
される場合の各Sボックスへの入力ビット数t1
2 ,・・・tr を要素とする集合Tなどが格納されて
いる。
【0031】処理装置10の内部には、入力ファイル1
1に格納されている集合Tの内容を用いて、複数のSボ
ックスに対するそれぞれの入出力ビット数が同じでない
場合に、その複数のSボックスの出力に対応する適切な
線形変換部の存在可能性を示す数値AT を計算するAT
計算部15、計算されたAT の値を用いてそのような線
形変換部が存在するか否かを判定する線形変換部存在判
定部16、そのような線形変換部が存在すると判定され
た時に、そのような変換部としての擬似MDS行列を計
算する擬似MDS行列生成部17、生成された擬似MD
S行列を用いて、入力ファイル11に格納されている平
文に対する暗号文を生成する暗号文生成部18などを備
えている。
【0032】出力ファイル12には、AT 計算部15に
よって計算されたAT の値、擬似MDS行列、およびそ
の擬似MDS行列を用いた暗号化アルゴリズムなどが格
納される。
【0033】図3は本実施形態において用いられるF関
数の内部のSPN構造の例である。入力データ32ビッ
トは、例えば6,5,5,5,5、および6ビットに分
割され、非線形変換部としてのそれぞれのSボックス2
1に入力される。各Sボックスは入力ビット数と同じ出
力ビット数を持ち、各Sボックスの出力は合成されて3
2ビットとして線形変換部P22に与えられ、その変換
結果がF関数の出力となる。
【0034】本実施形態においては、このように複数の
Sボックスへの入出力ビット数が同じでない場合に、そ
のビット分割の仕方によって適切な線形変換部Pが存在
するか否か、また存在する場合にはその線形変換部をど
のように求めるかが発明のポイントとなる。
【0035】ここで入力データのビット数nを非均等に
分割する理由について説明する。例えば従来技術で説明
した図17では、入力32ビットを4つに分割した8ビ
ットずつが、4つのSボックス71に入力されている。
このようなSボックスは 一般的には演算の高速化のた
めに計算機の一次キャッシュメモリにテーブルとして格
納され、そのテーブルにアクセスすることによって演算
が行われる。図17ではテーブルは4つであり、4回の
テーブルアクセスが必要となる。
【0036】これに対して本実施形態では、図3に示す
ように例えば、入力32ビットが6,5,5,5,5、
および6ビットの6つに分割され、6個のSボックスに
それぞれ入力される。このようにビット数の少ない6個
のSボックスに分割すると、それぞれのSボックスに対
応するテーブルのサイズは小さくなり、一次キャッシュ
メモリ量の少ない計算機を使用しても、演算を実行する
ことが可能となる。
【0037】最近の計算機の一次キャッシュメモリ量の
増大の傾向につれて、1つのテーブルサイズを大きくし
てテーブルアクセスの回数を減らし、演算を高速化する
可能性が開かれている。そこで本実施形態においては、
計算機の一次キャッシュメモリ量に対応して、ビット数
分割を変更できるようなビット数分割法を用いることに
する。
【0038】前述のように32ビットを8ビット×4に
分割している場合には、テーブルの数を3つにするため
には8,16,8ビットというような分割に変換するし
か方法がなく、16ビット入力のSボックスに対しては
16個の領域を持つテーブルが必要となってしまうこと
になる。それに対して図3の分割方法では、例えば2個
ずつまとめて11,10,11ビットの3つに分割する
こともでき、211個の領域を持つテーブルを計算機の一
次キャッシュメモリに格納することができれば、演算の
高速化が可能となる。
【0039】図4は本実施形態における暗号文生成処理
の全体フローチャートである。同図において処理が開始
されると、まずステップS1で図2で説明した線形変換
部が存在するか否かを判定するための数値AT が求めら
れる。この数値AT としては、前述のアクティブSボッ
クスの要素の数の最小値の最大値が用いられる。以後こ
のAT を“アクティブSボックス数の最大値”と呼ぶ。
【0040】そしてステップS2で、求められたAT
値に応じて、適切な線形変換Pが存在するか否かが判定
される。具体的にはAT の値が正の数である時にはその
ような線形変換が存在すると判定され、0、または負の
数である時にはそのような線形変換は存在しないと判定
される。
【0041】線形変換が存在すると判定されると、ステ
ップS3でその線形変換を実現する行列、すなわち擬似
MDS行列が生成され、ステップS4でその擬似MDS
行列を用いた暗号化アルゴリズム、すなわちFeistel 構
造が生成され、ステップS5でその暗号化アルゴリズム
を用いて平文が暗号化されて、処理を終了する。
【0042】ステップS2でAT の値が0、または負の
数となり、適切な線形変換が存在しないと判定される
と、ステップS6でエラーが発生したことを示すメッセ
ージが出力されて、処理を終了する。
【0043】図5は図4のステップS1、すなわちアク
ティブSボックス数の最大値AT の計算処理の詳細フロ
ーチャートである。同図において処理が開始されると、
まずステップS10で集合Tの内容が入力され、ステッ
プS11で集合Tを構成するr個の要素のうちからk個
を選んで生成された集合の要素の和の最小値uk がk=
0,1,2,・・・,rに対して求められる。
【0044】続いてステップS12で、同様に集合Tの
要素から任意のk個を選んで生成された集合の要素の和
の最大値vk が求められる。続いてステップS13でk
(=1,2,・・・,r)とk′(=0,1,2,・・
・,r)に対して次の不等式 uk ≧vk ′(ただしv0 =0) を満たすk′の最大値をkから減算した値がwk (k=
1,2,・・・,r)として求められる。
【0045】最後にステップS14でwk の最大値がr
+1から減算され、AT の値として求められ、処理を終
了する。図6は図4のステップS3の処理、すなわち擬
似MDS行列生成処理の詳細フローチャートである。同
図において処理が開始されると、まずステップS20で
分割ビット数の集合Tの内容に応じて、ti 行、tj
であり、要素が0、または1となっている行列M
ij(i,j=1〜r)を作り、そのようなr×r個の行
列Mijを要素としてr行、r列に並べた行列Mがランダ
ムに新しく選択される。図3で説明したF関数の例では
この行列Mは全体としては32行、32列の行列とな
る。ここでMijを行列Mの部分行列と呼ぶことにする。
【0046】続いてステップS21でeの値が1に初期
化され、ステップS22でeの値がアクティブSボック
ス数の最大値AT から1を引いた値を越えたか否かが判
定され、越えていない場合にはステップS23で次式に
よってc(e)の値が求められる。
【0047】c(e)=e+r−AT +1 ステップS24で集合Tからe個の要素を任意に選び、
集合T1 が新しく求められ、ステップS25で新しい集
合T1 が選択できたか否かが判定され、選択できた場合
にはステップS26で同様に集合Tからc(e)個の要
素が任意に新しく選ばれ、集合T2 が求められ、ステッ
プS27でそのような新しい集合T2 が選択できたか否
かが判定される。なおステップS24、およびS26で
新しく選択された集合T1 、およびT2 を以下のように
記述するものとする。
【0048】T1 ={ti1,ti2,・・・,tie} T2 ={tj1,tj2,・・・,tjc(e) } ステップS27で新しく集合T2 が選択できたと判定さ
れると、ステップS28で行列Mの小行列のうちで集合
1 ,T2 に対応する小行列のランク(階数)が求めら
れる。このT1 ,T2 に対応する小行列の意味について
は後述する。そしてステップS29で求められたランク
の値が 外1 または 外2 のどちら
【0049】
【外1】
【0050】
【外2】
【0051】か、すなわち行数と列数のいずれかに等し
いか否かが判定される。等しい場合には、ステップS3
0で行列Mの小行列のうちで集合T2 ,T1 に対応する
小行列のランクが求められ、ステップS31でそのラン
クの値が 外3
【0052】
【外3】
【0053】または 外4 のいずれかに等しいか否か
が判定される。
【0054】
【外4】
【0055】ステップS31でランクの値が2つの総和
(行数、列数)のいずれかに等しいと判定されると、ス
テップS26に戻りc(e)個の要素が新たに選択さ
れ、新しい集合T2 が求められ、ステップS27の判定
以降の処理が繰り返される。
【0056】そしてステップS27でc(e)個の集合
2 が新しく選択できなかったと判定されると、以前に
ステップS24で選択された集合、すなわちe個の要素
からなる集合T1 に対応する処理が終了したことになる
ため、ステップS24でe個の要素からなる集合T1
して新しい集合が求められ、ステップS25以降の処理
が繰り返される。
【0057】ステップS25で新しい集合T1 が選択で
きなかったと判定されると、ステップS21で初期化さ
れたe=1の値に対応する処理が終了したことになるの
で、ステップS32でeの値がインクリメントされ、ス
テップS22以降の処理が繰り返される。
【0058】このような処理の間に、ステップS29で
ランクの値が2つの総和の値のいずれにも等しくないと
判定された時、およびステップS31で同様にランクの
値が2つの総和のいずれにも等しくないと判定された時
には、ステップS20でランダムに選択された行列Mが
擬似MDS行列としては不適当なものであるものとし
て、ステップS20で新しい行列Mをランダムに選択す
る処理以降の処理が繰り返され、ステップS22でeの
値がAT −1の値を越えたと判定されると、行列Mの内
容が擬似MDS行列として出力され、処理を終了する。
【0059】図5、および図6で説明した処理につい
て、具体例を用いて更に説明する。図3で説明した全部
で32ビットの入力ビットに対する6個のSボックスに
対応して、分割される入出力ビット数の集合は次式で与
えられる。
【0060】T={6,5,5,5,5,6} このような集合Tに対応して前述の最小値uk 、および
最大値vk (vk')は次のようになる。
【0061】(u1 ,u2 ,u3 ,u4 ,u5 ,u6
=(5,10,15,20,26,32) (v0 ,v1 ,v2 ,v3 ,v4 ,v5 ,v6 )=
(0,6,12,17,22,27,32) その結果wk は次式となり、その最大値は1となる。
【0062】(w1 ,w2 ,w3 ,w4 ,w5 ,w6
=(1,1,1,1,1,0) 最終的にアクティブSボックス数の最大値AT は、この
k の最大値を用いて次式によって求められる。
【0063】AT =(6+1)−1=6 このAT の値が6、すなわち正の数であることから、こ
のように入出力ビット数が分割された6個のSボックス
による非線形変換に適切な線形変換が存在するというこ
とが判定される。前述のようにこの行列Mは全体として
32行、32列であり、その要素が0、または1のうち
からランダムに選択され、選択された行列が図6のフロ
ーチャートによって擬似MDS行列の性質を満たすか否
かが判定される。
【0064】従ってそのような行列Mを生成するために
は、原理的には32行、32列の行列の全ての要素を
0、または1とした場合について図6のフローチャート
の処理を繰り返して、擬似MDS行列を求めればよいこ
とになるが、その計算量は膨大となる。
【0065】本実施形態では計算量を削減するための擬
似MDS行列生成法を用いることにするが、その方法に
ついては後述することとし、その方法によって求められ
た行列Mの例を図7に示す。この例の行列が図6のフロ
ーチャートの処理において、最終的にステップS33で
出力されるまでの過程の最初の部分について具体的に説
明する。なお図7において、行列内の実線で区切られた
部分は、図6のステップS20で説明した行列M内の部
分行列Mijに相当する。
【0066】図6に対応する処理の具体例を説明する前
に、まず例えばステップS28で説明したT1 ,T2
対応する小行列の意味について、図8を用いて説明す
る。図8において、例えば集合T1 ={t2 ,t3 ,t
6 },T2 ={t2 ,t3 ,t 5 ,t6 }とした場合に
は、T1 ,T2 に対応する小行列として図8(a)に示
される行列が生成され、そのランクが求められる。すな
わちそれぞれが行列であるMijを部分行列とする行列M
から計3行と4列とが指定されて小行列が構成される。
この小行列はビット単位、すなわち0、または1の要素
単位では16行、21列の行列となる。
【0067】また図6のステップS30で説明した
2 ,T1 に対応する小行列としては行として集合T2
の要素であるt2 ,t3 ,t5 、およびt6 に相当する
行と、集合T1 の要素としてのt2 ,t3 、およびt6
に対応する列が選択されて小行列が構成される。この小
行列を図8(b)に示す。この行列は21行、16列の
行列である。
【0068】ここで本実施形態におけるMDS変換とし
ての擬似MDS行列が持つべき性質について説明する。
n=32ビットを6個に非均等に分割した集合の例とし
ての前述のTに対して、アクティブSボックスの数の最
大値はAT =6となる。これに対してビット数の分割を
均等に行う場合にAT に相当する値は7であり、その差
は1となる。
【0069】前述のようにビット分割が均等な場合のM
DS変換としてのMDS行列では、図8で説明したよう
なMij(全ての行数、および全ての列数は等しい)を要
素とする行列から、任意の1行と1列を指定した(1,
1)小行列、2行と2列を指定した(2,2)小行列、
3行と3列を指定した(3,3)小行列、・・・を考
え、そのような任意の小行列が全て正則であることがM
DS行列の性質として成立する。
【0070】これに対して擬似MDS行列では、前述の
差が1であることから、ビット分割が均等な場合に選択
される小行列の行、または列のいずれかに1を加えた行
列が小行列として選択され、任意の小行列のランクがフ
ル、すなわち小行列のランクがその行数、または列数に
等しくなるという性質がある。
【0071】すなわち任意の(1,2),(2,1),
(2,3),(3,2),(3,4),(4,3),
(4,5),(5,4),(5,6)、および(6,
5)の10種類の小行列のランクが、それぞれの小行列
の行数、または列数に等しい行列を、擬似MDS行列と
して図6のフローチャートにおいて選択すべきことにな
る。これが本実施形態における擬似MDS行列が持つべ
き性質であるが、その詳細な数学的説明(証明など)に
ついては省略する。
【0072】ここで前述の例に戻り、図6のフローチャ
ートに対応して、そのような性質を持つ行列Mの選択の
過程の最初の部分の説明を続ける。まず図6のステップ
S21でeの値が1とされ、ステップS23でc(e)
の値として2が求められる。そしてステップS24で集
合T1 として1個だけの要素を持つ{t1 }={6}が
選択されたとする。またステップS26でc(e)、す
なわち2個の要素を持つ集合T2 として{t1 ,t2
={6,5}が選択されたものとする。
【0073】図9はこの場合にそのランクが計算される
べき、ステップS28におけるT1,T2 に対応する行
列である。すなわち図8において行としては1行目、列
としては1列目と2列目とが指定されることになり、小
行列はM11とM12を成分とする行列であり、その実際の
内容は図7から図9のようになる。この小行列のランク
は6である。
【0074】このランクの値、すなわち6はステップS
29で 外5 または 外6 のい
【0075】
【外5】
【0076】
【外6】
【0077】ずれかの値と等しいか否かが判定される。
これらの2つの値は図9の小行列の行数と列数を示し、
この場合は行数、すなわち 外7 がランクの値と等し
くなり
【0078】
【外7】
【0079】、この小行列はフルランクであることが判
定される。図10はステップS30でそのランクが計算
されるべきT2 ,T1 に対応する小行列の例である。前
述と同様に、ここでは図8のMijのうち、行としては1
行目と2行目、例としては1列目が指定されることによ
り、M11とM21とによって図10に示す小行列が構成さ
れる。そのランクは6であり、ステップS31でステッ
プS29におけると同様に2つの総和と比較され、 外
8 の値と等しいこ
【0080】
【外8】
【0081】とが判定されて、以後の処理が続けられ
る。そして図6のフローチャートに従って、前述の10
種類の小行列の任意のものについて、各小行列のランク
がフルであることが図7の32行、32列の行列に対し
て確認され、最終的にステップS33でこの行列Mが擬
似MDS行列として出力されることになる。
【0082】次に図7に示した擬似MDS行列の生成法
について説明する。この行列を生成するためには、原理
的には前述のように32行×32列の行列の全ての要素
を0、または1にランダムに変化させて、図6のフロー
チャートを満足する行列Mを探すことになるが、その計
算量は膨大となる。
【0083】そこでより能率的な方法として、本実施形
態においてはまず全ビット数を30ビットとし、30ビ
ットを6個に分割した集合T={5,5,5,5,5,
5}に対するMDS行列を従来技術によって求め、求め
られた30行、30列の行列に対して図7に示すように
最も上の行のM1j(j=1〜6)、最も下の行のM
6j(j=1〜6)、最も左の列のMi1(i=1〜6)、
および最も右の列のMi6(i=1〜6)に対応してそれ
ぞれ1行、1列の要素を追加することで、擬似MSD行
列を作成することにする。
【0084】図11、図12はそのような30行、30
列のMSD行列を構成するための5行、5列の部分行列
32個を示している。この32個の部分行列はそれぞれ
5行、5列の行列であり、各行列には0〜31の番号が
付けられている。0番の行列は図11の左上の行列であ
り、5行、5列の行列の要素は全て0である。5行、5
列の下の“0”はこの行列に対応する(同じ配置の)行
列式の値を示している。0番目の行列に対しては、当然
対応する行列式の値は0である。
【0085】例えばその下の番号1の行列に対する行列
式の値は1であり、以降図12の右下の31番までの全
ての行列に対する行列式の値も1となっている。従来技
術の方法を用いることによって図11,図12に示した
番号の5行、5列の部分行列を6行、6列に並べること
によって、30ビットを6個に均等分割した場合に対応
するMDS行列の例として図13の行列が得られる。行
列内の数字は図11,図12で説明した各行列の番号を
表わす。
【0086】図13に示した行列は30行、30列の行
列であり、最も上、下の部分行列に対して1行、最も
左、右の部分行列に対して1列の要素をランダムに追加
し、その行列に対して図6で示したフローチャートの処
理を実行することによって、図7に示した擬似MDS行
列を比較的容易に生成することができる。
【0087】図14は本発明を実現するためのプログラ
ムのコンピュータへのローディングの説明図である。本
発明の実施形態としての暗号化装置、例えば図2に示し
たシステムなどは、当然一般的なコンピュータシステム
として構成することができる。
【0088】図14はそのようなシステムの構成を示
し、コンピュータ31は本体32と、メモリ33とによ
って構成されている。メモリ33はランダムアクセスメ
モリ(RAM)、ハードディスク、磁気ディスクなどの
記憶装置であり、本発明の特許請求の範囲第10項のプ
ログラムや、図4〜図6で説明したプログラムなどはメ
モリ33に格納され、そのプログラムが本体32によっ
て実行されることにより、本発明の擬似MSD行列が求
められ、入力データに対する暗号化が行われる。
【0089】本発明を実現するためのプログラムは、プ
ログラム提供者側からネットワーク34を介してコンピ
ュータ31にロードされることも、また市販され、流通
している可搬型記憶媒体35に格納され、そのプログラ
ムがコンピュータ31にロードされることによって実現
されることも可能である。可搬型記憶媒体35としては
フロッピー(登録商標)ディスク、CD−ROM、光デ
ィスク、光磁気ディスクなど、様々な形式の記憶媒体を
使用することができる。前述のプログラムなどは、この
ような記憶媒体に格納され、コンピュータ31にロード
されることによって、本実施形態における擬似MSD行
列が生成され、その行列を用いて入力データに対する暗
号文を生成することが可能となる。
【0090】
【発明の効果】以上詳細に説明したように、本発明によ
れば、F関数の内部の複数のSボックスの入出力サイズ
が同一でない場合において、適切な線形変換としての擬
似SMD行列の存在の有無を判定することができ、その
ような行列が存在する場合にはその擬似MSD行列を生
成し、その行列を使用した暗号化を行うことによって、
拡散性能に優れた暗号を生成することができ、暗号化装
置の性能向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明の実施形態としての暗号化装置のシステ
ム構成を示すブロック図である。
【図3】本実施形態におけるF関数の構成例を示す図で
ある。
【図4】暗号文生成の全体処理フローチャートである。
【図5】アクティブSボックスの数の最大値AT を求め
る処理の詳細フローチャートである。
【図6】擬似MDS行列を求める処理の詳細フローチャ
ートである。
【図7】求められた擬似MDS行列の例を示す図であ
る。
【図8】2つの集合に対応する小行列を説明する図であ
る。
【図9】擬似MDS行列の小行列の例(その1)を示す
図である。
【図10】擬似MDS行列の小行列の例(その2)を示
す図である。
【図11】30行×30列のMDS行列を求めるための
部分行列を示す図(その1)である。
【図12】30行×30列のMDS行列を求めるための
部分行列を示す図(その2)である。
【図13】図11,図12の部分行列を用いたMDS行
列の例を示す図である。
【図14】本発明におけるプログラムのコンピュータへ
のローディングを説明する図である。
【図15】DES暗号の基本構造を示す図である。
【図16】図15におけるF関数の構成例の説明図であ
る。
【図17】F関数内の線形変換PとしてのMDS変換の
説明図である。
【図18】MDS変換としてのMDS行列の説明図であ
る。
【符号の説明】
1 演算装置 2 ビット数集合入力手段 3 線形変換部存在可能性指示数値出力手段 4 線形変換部存在判定手段 5 擬似MDS行列生成手段 10 処理装置 11 入力ファイル 12 出力ファイル 13 表示装置 14 入出力装置 15 AT 計算部 16 線形変換部存在判定部 17 擬似MDS行列生成部 18 暗号文生成部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 武仲 正彦 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 鳥居 直哉 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 矢嶋 純 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 屋並 仁史 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 横山 和弘 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5J104 AA19 JA13 JA17 NA02

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のSボックスと線形変換部とを備え
    るSPN構造をF関数の内部に用いた演算装置におい
    て、 該演算装置に与えられる入力データの全ビット数を非均
    等に分割したビット数の集合T={t1 ,t2 ,t3
    ・・・,tr }の入力を受け取るビット数集合入力手段
    と、 該分割されたビット数をそれぞれ入・出力ビット数とす
    る複数のSボックスに対応する適切な線形変換部の存在
    可能性を示す値AT を出力する線形変換部存在可能性指
    示数値出力手段とを備えることを特徴とするF関数内部
    にSPN構造を用いた演算装置。
  2. 【請求項2】 前記線形変換部存在可能性指示数値出力
    手段が、 前記集合Tの要素から任意のk個を選んで生成した集合
    の要素の和の最小値u k (k=1,2,・・・,r)を
    求める最小値決定手段と、 集合Tの要素から任意のk個を選んで生成した集合の要
    素の和の最大値vk (k=1,2,・・・,r)を求め
    る最大値決定手段とを更に備え、 数値kに対してuk ≧vk'(k′=0,1,・・・,
    r,v0 =0)を満たすk′の最大値をkから減算した
    値をwk (k=1,2,・・・,r)とし、wkの最大
    値を(r+1)の値から減算して前記AT の値を求める
    ことを特徴とする請求項1記載のF関数内部にSPN構
    造を用いた演算装置。
  3. 【請求項3】 前記演算装置において、 前記AT の値が正か正でないかを判定し、正である時前
    記適切な線形変換部が存在すると判定する線形変換部存
    在判定手段を更に備えることを特徴とする請求項1、ま
    たは2記載のF関数内部にSPN構造を用いた演算装
    置。
  4. 【請求項4】 前記演算装置において、 前記線形変換部が存在すると判定された時、該線形変換
    部として、前記ビット数分割が均等に行われた場合のM
    DS行列に対応する擬似MDS行列を生成する擬似MD
    S行列生成手段を更に備えることを特徴とする請求項3
    記載のF関数内部にSPN構造を用いた演算装置。
  5. 【請求項5】 前記擬似MDS行列生成手段が、要素が
    0、または1のti行、tj 列の部分行列Mijを要素と
    して、r行、r列に並べた行列をM=(Mij)(i=
    1,2,・・・,r,j=1,2,・・・,r)とし
    て、e=1から(AT −1)までの各正数に対してc
    (e)=e+r−AT +1を求め、集合Tの要素をe個
    任意に選んだ集合T1 ={ti1,ti2,・・・tie
    と、要素をc(e)個任意に選んだ集合T2 ={tj1
    j2,・・・,tjc(e) }を求め、該集合(T1
    2 )に対応する任意のあらゆるMの小行列、および集
    合(T2 ,T 1 )に対応する任意のあらゆるMの小行列
    の階数の値が、それぞれ自小行列の行数、または列数の
    いずれかに等しい行列Mを求めることを特徴とする請求
    項4記載のF関数内部にSPN構造を用いた演算装置。
  6. 【請求項6】 前記集合(T1 ,T2 )に対応する小行
    列は、前記行列M=(Mij)を構成する前記r行、r列
    の要素としての部分行列Mijのうちで、前記ti1
    i2,・・・,tieにそれぞれ対応する行と、tj1,t
    j2,・・・,tjc (e) にそれぞれ対応する列とによって
    指定される部分行列によって構成されることを特徴とす
    る請求項5記載のF関数内部にSPN構造を用いた演算
    装置。
  7. 【請求項7】 複数のSボックスと線形変換部とを備え
    るSPN構造をF関数内部に用いる演算方法において、 与えられる入力データの全ビット数を非均等に分割した
    ビット数の集合T={t1 ,t2 ,t3 ,・・・,
    r }の入力を受け取り、 該分割されたビット数をそれぞれ入・出力ビット数とす
    る複数のSボックスに対応する適切な線形変換部の存在
    可能性を示す値AT を出力することを特徴とするF関数
    内部にSPN構造を用いた演算方法。
  8. 【請求項8】 前記演算方法において、 前記AT の値が正か正でないかを判定し、 正である時前記適切な線形変換部が存在すると判定する
    ことを特徴とする請求項7記載のF関数内部にSPN構
    造を用いた演算方法。
  9. 【請求項9】 前記線形変換部が存在すると判定された
    時、該線形変換部として、前記ビット数分割が均等に行
    われた場合のMDS行列に対応する擬似MDS行列を生
    成することを特徴とする請求項8記載のF関数内部にS
    PN構造を用いた演算方法。
  10. 【請求項10】 複数のSボックスと線形変換部とを備
    えるSPN構造をF関数内部に用いた演算を実行する計
    算機によって使用される記憶媒体において、与えられる
    入力データの全ビット数を非均等に分割したビット数の
    集合T={t1 ,t2 ,t3 ,・・・,tr }の入力を
    受け取るステップと、 該分割されたビット数をそれぞれ入・出力ビット数とす
    る複数のSボックスに対応する適切な線形変換部の存在
    可能性を示す値AT を出力するステップとを計算機に実
    行させるためのプログラムを格納した計算機読出し可能
    可搬型記憶媒体。
  11. 【請求項11】 複数のSボックスと線形変換部とを備
    えるSPN構造をF関数内部に用いた演算を実行する計
    算機によって使用されるプログラムにおいて、 与えられる入力データの全ビット数を非均等に分割した
    ビット数の集合T={t1 ,t2 ,t3 ,・・・,
    r }の入力を受け取る手順と、 該分割されたビット数をそれぞれ入・出力ビット数とす
    る複数のSボックスに対応する適切な線形変換部の存在
    可能性を示す値AT を出力する手順とを計算機に実行さ
    せるためのプログラム。
JP2001207326A 2000-07-13 2001-07-09 F関数内部にspn構造を用いた演算装置および演算方法 Expired - Fee Related JP3907976B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001207326A JP3907976B2 (ja) 2000-07-13 2001-07-09 F関数内部にspn構造を用いた演算装置および演算方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-212813 2000-07-13
JP2000212813 2000-07-13
JP2001207326A JP3907976B2 (ja) 2000-07-13 2001-07-09 F関数内部にspn構造を用いた演算装置および演算方法

Publications (2)

Publication Number Publication Date
JP2002091297A true JP2002091297A (ja) 2002-03-27
JP3907976B2 JP3907976B2 (ja) 2007-04-18

Family

ID=26595967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001207326A Expired - Fee Related JP3907976B2 (ja) 2000-07-13 2001-07-09 F関数内部にspn構造を用いた演算装置および演算方法

Country Status (1)

Country Link
JP (1) JP3907976B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107078A (ja) * 2003-09-30 2005-04-21 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
WO2006025416A1 (ja) * 2004-09-03 2006-03-09 Sony Corporation 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2006301567A (ja) * 2005-03-25 2006-11-02 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2010507813A (ja) * 2006-10-27 2010-03-11 パナソニック株式会社 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置
JP2012027149A (ja) * 2010-07-21 2012-02-09 Nec Corp 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622222B2 (ja) * 2003-09-30 2011-02-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US9083506B2 (en) 2003-09-30 2015-07-14 Sony Corporation Cryptographic processing apparatus and cryptographic processing method, and computer program
US8666069B2 (en) 2003-09-30 2014-03-04 Sony Corporation Cryptographic processing apparatus and cryptographic processing method, and computer program
US8306217B2 (en) 2003-09-30 2012-11-06 Sony Corporation Cryptographic processing apparatus and cryptographic processing method, and computer program
JP2005107078A (ja) * 2003-09-30 2005-04-21 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US8031866B2 (en) 2003-09-30 2011-10-04 Sony Corporation Cryptographic processing apparatus and cryptographic processing method, and computer program
US8275127B2 (en) 2004-09-03 2012-09-25 Sony Corporation Cryptographic processing apparatus, cryptographic processing method, and computer program therefor
JP4561252B2 (ja) * 2004-09-03 2010-10-13 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7747011B2 (en) 2004-09-03 2010-06-29 Sony Corporation Encryption device, encryption method, and computer program
KR101091749B1 (ko) 2004-09-03 2011-12-08 소니 주식회사 암호 처리 장치, 암호 처리 방법 및 기록매체
JP2006072054A (ja) * 2004-09-03 2006-03-16 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US8767956B2 (en) 2004-09-03 2014-07-01 Sony Corporation Cryptographic processing apparatus, cryptographic processing method, and computer program therefor
WO2006025416A1 (ja) * 2004-09-03 2006-03-09 Sony Corporation 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US9240885B2 (en) 2004-09-03 2016-01-19 Sony Corporation Cryptographic processing apparatus, cryptographic processing method, and computer program therefor
JP4622807B2 (ja) * 2005-03-25 2011-02-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2006301567A (ja) * 2005-03-25 2006-11-02 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2010507813A (ja) * 2006-10-27 2010-03-11 パナソニック株式会社 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置
JP2012027149A (ja) * 2010-07-21 2012-02-09 Nec Corp 暗号化通信システム、送信装置、受信装置、暗号化/復号化方法およびそれらのプログラム

Also Published As

Publication number Publication date
JP3907976B2 (ja) 2007-04-18

Similar Documents

Publication Publication Date Title
KR100415410B1 (ko) 암호화 장치 및 방법과, 연산장치 및, 복호화 장치 및 방법
JP3992742B2 (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
CN110197076B (zh) 一种sm4加密算法的软件优化实现方法
KR20160132943A (ko) 단열 양자 계산을 통한 디지털 로직 제한 문제 해결
CN110912674B (zh) 图像加密方法、装置、电子设备及可读存储介质
Kazymyrov et al. Influence of addition modulo 2 n on algebraic attacks
WO2019087317A1 (ja) 秘密計算装置、システム、方法、プログラム
Gabr et al. A combination of decimal-and bit-level secure multimedia transmission
Li et al. Keyed hash function based on a dynamic lookup table of functions
KR102096359B1 (ko) 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법
JP2002091297A (ja) F関数内部にspn構造を用いた演算装置および演算方法
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP6321216B2 (ja) 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
Somasagar et al. Clefia-a encryption algorithm using novel s-box architecture
JP2000075785A (ja) 高速暗号処理回路および処理方法
JP5354914B2 (ja) 暗号処理装置及び復号処理装置及びプログラム
KR100954843B1 (ko) 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체
JP4004805B2 (ja) 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム
CN113922948B (zh) 基于复合域轮函数的国密算法sm4数据加密方法及系统
CN115242376A (zh) 数据处理方法、装置、处理器、芯片及电子设备
San Jose et al. NHAF-512: New Hash Algorithm Applying Feistel Cipher Structure
CN116760934A (zh) 通过构造S-Boxes执行替换操作的图像加密方法和图像解密方法
US8634551B2 (en) Cryptographic apparatus and method
KR20230161195A (ko) 영지식 증명 친화적인 일방향 함수를 이용한 연산 방법, 그리고 이를 구현하기 위한 장치
Gao et al. Inferring Sequences Produced by the Quadratic Generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070117

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees