JP2003216025A - 非線形変換装置及び非線形変換方法及び非線形変換プログラム及び加算方法 - Google Patents

非線形変換装置及び非線形変換方法及び非線形変換プログラム及び加算方法

Info

Publication number
JP2003216025A
JP2003216025A JP2002016285A JP2002016285A JP2003216025A JP 2003216025 A JP2003216025 A JP 2003216025A JP 2002016285 A JP2002016285 A JP 2002016285A JP 2002016285 A JP2002016285 A JP 2002016285A JP 2003216025 A JP2003216025 A JP 2003216025A
Authority
JP
Japan
Prior art keywords
data
register
bit
input
conversion
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
JP2002016285A
Other languages
English (en)
Other versions
JP4004805B2 (ja
Inventor
Junko Nakajima
純子 中嶋
Mitsuru Matsui
充 松井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002016285A priority Critical patent/JP4004805B2/ja
Publication of JP2003216025A publication Critical patent/JP2003216025A/ja
Application granted granted Critical
Publication of JP4004805B2 publication Critical patent/JP4004805B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 この発明は、非線形変換処理を並列に行い従
来より高速な演算方法を得ること及びデータのアクセス
方法によって演算の遅延を起こす場合がある従来の要因
を回避し、高速な演算方法を得ることを目的とする。 【解決手段】 複数のデータIVPと複数のデータIV
Qを連結データIVとして連結して非線形変換装置に入
力し、複数のデータMAと複数のデータMBを連結デー
タMとして連結して非線形変換装置に入力し、複数の連
結データIVと連結データMとから1の連結データIV
と連結データMとを順次選択し、連結データIV中のデ
ータIVPと連結データM中のデータMAとを非線形変
換する処理とともに、並行して、選択した連結データI
V中のデータIVQと連結データM中のデータMBとを
上記非線形変換と同一のアルゴリズムにより非線形変換
する処理を、順次選択された連結データIVと連結デー
タMについて逐次的に繰り返す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、非線形変換装置
及び非線形変換方法に関するものである。特に、非線形
変換を高速に行う処理に関するものである。
【0002】
【従来の技術】従来例1.従来例1では、従来行われて
いた非線形変換装置について説明する。図7は、非線形
変換装置1300の概要図である。1000は、イニシ
ャル値IVを格納する記憶領域を示す。イニシャル値I
Vは固定値である。1200は、通信によって任意の者
から他の者へ送信されるメッセージMを格納する記憶領
域である。1310は、任意のアルゴリズム関数を用い
てイニシャル値IVとメッセージMとから変換データを
求める変換部である。変換部1310で用いられるアル
ゴリズムには、ハッシュ値を求めるためのハッシュ関数
や平文を暗号化するためのブロック暗号があり、図7で
はハッシュ関数F1(Function 1)が挙げら
れている。ハッシュ関数の例としては、SHA−1やM
D−5などがあげられる。非線形変換装置1300の変
換部1310でハッシュ関数F1により変換された変換
データは、ハッシュ値として出力される。1100は変
換後の変換データを格納する記憶領域である。
【0003】次に、詳細を説明する。1001〜101
0、1101〜1110、1201〜1210は、全て
32ビット領域のレジスタである。イニシャル値IV
は、IV(1)、IV(2)、IV(3)、・・・、I
V(K)というように32ビットのイニシャル値に分割
される。IV(1)、IV(2)、IV(3)、・・
・、IV(K)は、入力部I1350によって、各々、
レジスタ1001、レジスタ1002、レジスタ100
3、・・・、レジスタ1010に格納される。メッセー
ジMも同様に、M(1)、M(2)、M(3)、・・
・、M(K)というように32ビットデータに分割さ
れ、入力部M1360によって、各々、レジスタ120
1、レジスタ1202、レジスタ1203、・・・、レ
ジスタ1210に格納される。
【0004】非線形変換装置1300の変換部1310
では、レジスタ1001に格納されたIV(1)とレジ
スタ1201に格納されたM(1)とから非線形変換が
なされ、変換結果としてS(1)を出力する。出力した
S(1)は、レジスタ1101に格納される。次に、変
換部1310により、レジスタ1002に格納されたI
V(2)とレジスタ1202に格納されたM(2)を入
力データとしてF1によって非線形変換がなされ、変換
結果としてS(2)が出力され、レジスタ1102に格
納される。以下同様にして、逐次的にS(3)、・・
・、S(K)が出力され、レジスタ1103、・・・、
レジスタ1110に格納される。格納されたレジスタ1
101〜レジスタ1110中のS(1)〜S(K)は、
出力部1370によって連結されてハッシュ値1100
が出力される。
【0005】上記に示した非線形変換装置1300が行
う非線形変換の逐次的処理について、さらに詳細に説明
する。図8は、非線形変換装置1300が逐次的に行う
非線形変換の処理工程(第1非線形変換工程〜第K非線
形変換工程)を示した図である。図8の横軸は、時間t
を表しており、第1非線形変換工程から第K非線形変換
工程までの工程が、第1非線形変換工程から順に逐次的
に行われていることを示している。第1非線形変換工程
1300aは、非線形変換装置1300によって第1に
実行される非線形変換処理の工程を示す。第2非線形変
換工程1300bは、第1非線形変換工程1300aの
処理後に実行される非線形変換処理の工程を示す。同様
にして、第2非線形変換工程1300bの実行後に、第
3非線形変換工程1300cが行われ、最後に、第K非
線形変換工程1300kが実行される。
【0006】第1非線形変換工程.第1非線形変換工程
1300aでは、レジスタ1001に格納されたIV
(1)とレジスタ1201に格納されたM(1)とから
変換部1310の有するハッシュ関数F1によって非線
形変換がなされる。即ち、IV(1)とM(1)とをハ
ッシュ関数F1に基づいて非線形変換し、非線形変換後
のデータとIV(1)とを用いてXOR(XOR:EX
CLUSIVE OR)1320が排他的論理和演算を
行い結果としてS(1)を出力する。出力されたS
(1)は、レジスタ1101に格納される。 第2非線形変換工程.第2非線形変換工程1300bで
は、入力値としてIV(2)、M(2)及びS(1)を
用いる。まず、変換部1310は、IV(2)とM
(2)とをハッシュ関数F1により非線形変換する。X
OR1320は、変換した結果である変換値と第1非線
形変換工程1300aの出力結果であるS(1)との排
他的論理和演算を行い、その結果であるS(2)をレジ
スタ1102に出力する。 第3非線形変換工程〜第K非線形変換工程.第3非線形
変換工程1300c〜第K非線形変換工程1300kに
ついても、逐次的に上記第1非線形変換工程1300a
と同様の演算を行い、出力データとして、S(3)〜S
(K)をレジスタ1103〜レジスタ1110に出力す
る。このように、非線形変換装置1300では、第2非
線形変換工程1300bは、第1非線形変換工程130
0aにおいて出力されたS(1)を用いなければならな
い。同様に、第3非線形変換工程1300cの変換工程
においても第2非線形変換工程1300bの出力結果で
あるS(2)が必要であり、第K非線形変換工程130
0kにおいても第K非線形変換工程1300kの前の変
換工程における出力データであるS(k−1)が必要で
ある。従って、第1非線形変換工程1300aから第K
非線形変換工程1300kで行われる非線形変換処理自
体はすべて同様の処理であっても、前で行われた変換結
果を用いて次の変換工程を経なければならないため、第
1非線形変換工程1300aから第K非線形変換工程1
300kの各工程は、逐次的に行わなければならなかっ
た。そのため、大量の入力データに対しては、同様の非
線形変換処理を大量の入力データ分、ループ処理として
繰り返さなければならず、複数のデータの並行処理が行
えないために全体の総処理時間の増大が問題となってい
た。
【0007】従来例2.従来例2は、任意のアルゴリズ
ムを実行する場合に、従来行われていた加算処理方法に
ついて示すものである。図9は、2Jビット長のデータ
の加算処理の動作を示している。図9に示すように、レ
ジスタ802に格納されたデータ(1)とメモリ800
中の任意の領域801に格納されたデータ(2)とを加
算器815によって加算している。ここで、単一に2J
ビット長のデータの加算命令が存在せず、Jビット長の
データの加算命令しかできない場合には、図9のよう
に、単純にデータ(1)とデータ(2)とを加算するこ
とは不可能となる。そこで、代替方法としてデータ
(1)とデータ(2)とを、各々上位Jビットと下位J
ビットに分け、それぞれの単位で加算演算を行うことに
よって2Jビット長のデータの加算処理を実現する方法
がある。図10は、上位と下位のJビットずつを加算処
理単位として加算演算を行う従来の加算方法を示す図で
ある。レジスタ802に格納された2Jビット長のデー
タ(1)は、上位Jビットと下位Jビットのデータに分
割し、レジスタ804とレジスタ803にそれぞれ格納
される。レジスタ804に格納されたデータをデータH
(1)、レジスタ803に格納されたデータをデータL
(1)とする。まず、レジスタ803に格納されたデー
タL(1)とメモリ800の任意の領域801の下位J
ビットに格納されたデータL(2)との加算を行う。そ
の後、レジスタ804に格納されたデータH(1)とメ
モリ800の任意の領域801の上位Jビットに格納さ
れたデータH(2)との加算を行う。上記のようにして
行われた加算結果を加算データとしてレジスタ807に
転送する。以上のような加算処理では、下位Jビットの
加算時に桁上がりが発生した場合には、桁上がりをキャ
リーとしてレジスタ810に格納し、上位Jビットの加
算時にキャリーの値をも加算する。
【0008】上記に示した加算処理の詳細を図11のフ
ローチャートに示す。まず、2Jビット長レジスタであ
るレジスタ802に格納されたデータ(1)を上位Jビ
ットのデータH(1)と下位JビットのデータL(1)
に分割する(S120)。レジスタ802の下位Jビッ
トに格納されたデータL(1)をレジスタ803に格納
し、上位Jビットに格納されたデータH(1)をレジス
タ804に格納する(S121)。レジスタ803に格
納されたデータL(1)とメモリ800の任意の領域8
01の下位Jビットに格納されたデータL(2)とを加
算器815により加算し、加算した結果を領域801の
下位JビットにデータL(2)として格納する。このと
き、桁上がりが発生した場合には、桁上がりの値をレジ
スタ810にキャリーとして格納する(S122)。次
に、上位Jビットの加算を行う。即ち、レジスタ804
に格納されたデータH(1)とメモリ800の任意の領
域801の上位Jビットに格納されたデータH(2)と
キャリーが存在する場合にはレジスタ810に格納され
たキャリーとを加算器815により加算し、加算した結
果を領域801の上位JビットにデータH(2)として
格納する(S123)。メモリ800の領域801に格
納された2Jビットのデータは、レジスタ807に転送
される(S124)。
【0009】このようにして、2Jビット長の加算が単
一の命令で実現できないために、その代わりとして上
位、下位のJビット単位で加算演算を行う場合、この演
算によって得られた結果が格納されたメモリ上の任意の
領域から演算結果を2Jビットの値としてCPUが読み
出し、レジスタ807に転送する際に読み出し時間に莫
大な時間がかかるため、全体の処理時間が遅延し、演算
速度が著しく低下し、全体の処理時間が遅延するという
問題が生じていた。
【0010】
【発明が解決しようとする課題】例えば、甲から乙にネ
ットワークを通じて送信されたメッセージが改ざんされ
ていないメッセージであることを認証する認証情報を作
成する暗号アプリケーションにおいて、非線形変換処理
を汎用的なマイクロプロセッサを搭載したコンピュータ
上のソフトウエアで実現する場合、図8に示すように、
第一の非線形変換工程から第Kの非線形変換工程は逐次
的に行わなければならなかった。本発明の目的は、非線
形変換処理を並列に処理し、従来より高速な演算方法を
得ることにある。
【0011】また、本発明の目的は、データのアクセス
方法によって演算の遅延を起こす場合がある従来の要因
を回避し、高速な演算方法を得ることを目的とする。
【0012】
【課題を解決するための手段】この発明に係る非線形変
換装置は、所定長のデータを記憶する記憶部と、互いに
関連しない複数のデータを連結し、連結した所定長の連
結データを上記記憶部に入力する入力部と、上記入力部
により上記記憶部に入力された所定長の連結データを入
力して、同一のアルゴリズムにより連結前の複数のデー
タを並行して非線形変換し、複数の変換データを取得す
る変換部とを備えることを特徴とする。
【0013】上記入力部は、複数のデータIVPの各デ
ータIVPと複数のデータIVQの各データIVQとを
各々連結データIVとして連結し、連結した複数の連結
データIVを上記記憶部に入力し、複数のデータMAの
各データMAと複数のデータMBの各データMBとを各
々連結データMとして連結し、連結した複数の連結デー
タMを上記記憶部に入力し、上記変換部は、上記入力部
によって上記記憶部に入力された複数の連結データIV
と連結データMとから1の連結データIVと連結データ
Mとを順次選択し、選択した連結データIV中のデータ
IVPと連結データM中のデータMAとを入力データと
して上記アルゴリズムにより非線形変換し変換データH
Sを取得する処理とともに、並行して、選択した連結デ
ータIV中のデータIVQと連結データM中のデータM
Bとを入力データとして上記非線形変換に用いたアルゴ
リズムと同一のアルゴリズムにより非線形変換し変換デ
ータHTを取得する処理を、順次選択された連結データ
IVと連結データMについて逐次的に繰り返すことを特
徴とする。
【0014】上記記憶部は、2Jビット長のレジスタと
2Jビット長のメモリの少なくともいずれかであり、上
記入力部は、Jビット長である各データIVPとJビッ
ト長である各データIVQとを上記記憶部であるレジス
タあるいはメモリの上位Jビット領域と下位Jビット領
域に各々入力し、Jビット長である各データMAとJビ
ット長である各データMBとを上記記憶部であるレジス
タあるいはメモリの上位Jビット領域と下位Jビット領
域に各々入力することを特徴とする。
【0015】上記入力部は、複数のデータIVRと複数
のデータMCとを連結させずに上記記憶部に入力し、上
記変換部は、非線形変換により変換データHSと変換デ
ータHTとを並行して取得する上記2つの処理に並行し
て、上記入力部によって上記記憶部に入力された複数の
データIVRと複数のデータMCとから1のデータIV
RとデータMCとを順次選択し、選択したデータIVR
とデータMCとを任意のアルゴリズムにより非線形変換
し変換データHUを取得する処理を順次選択されたデー
タIVRとデータMCについて逐次的に繰り返すことを
特徴とする。
【0016】上記記憶部は、複数の種類あるいは複数の
長さから構成されるレジスタあるいはメモリであること
を特徴とする。
【0017】上記変換部は、非線形変換するためのアル
ゴリズムに平文を暗号化するためのブロック暗号あるい
ハッシュ値を求めるためのハッシュ関数を使用すること
を特徴とする。
【0018】上記非線形変換装置は、さらに、上記変換
部が取得した変換データを連結して上記記憶部に出力す
る出力部を備えることを特徴とする。
【0019】この発明に係る非線形変換方法は、所定長
のデータを記憶部に記憶し、互いに関連しない複数のデ
ータを連結し、連結した所定長の連結データを上記記憶
部に入力し、上記記憶部に入力された所定長の連結デー
タを入力して、同一のアルゴリズムにより連結前の複数
のデータを並行して非線形変換し、複数の変換データを
取得することを特徴とする。
【0020】この発明に係る非線形変換プログラムは、
所定長のデータを記憶部に記憶する処理、互いに関連し
ない複数のデータを連結し、連結した所定長の連結デー
タを上記記憶部に入力する処理、上記記憶部に入力され
た所定長の連結データを入力して、同一のアルゴリズム
により連結前の複数のデータを並行して非線形変換し、
複数の変換データを取得する処理とをコンピュータに実
行させることを特徴とする。
【0021】この発明に係る加算方法は、2Jビット長
のデータ(1)と2Jビット長のデータ(2)とを2J
ビット長のデータのまま単一に加算する命令が存在しな
い計算機の加算方法において、2Jビット長のデータ
(1)を上位JビットのデータからなるデータH(1)
と下位JビットのデータからなるデータL(1)に分割
し、2Jビット長のデータ(2)を上位Jビットのデー
タからなるデータH(2)と下位Jビットのデータから
なるデータL(2)に分割し、上記分割されたデータL
(1)とデータL(2)とを加算し、加算された結果桁
上がりが発生した場合には、加算された結果中、下位J
ビットを加算データLとして格納し、上記桁上がりをキ
ャリーとして格納し、加算された結果桁上がりが発生し
ない場合には、加算された結果を加算データLとして格
納し、上記分割されたデータH(1)とデータH(2)
とを加算し、上記キャリーが格納されている場合には、
上記データH(1)とデータH(2)との加算結果にキ
ャリーを加算し、加算された結果を加算データHとして
格納し、上記格納された加算データLと加算データHと
を2Jビット長からなる2つの記録領域の下位Jビット
に各々転送し、上記転送された加算データHを上位ビッ
ト、加算データLを下位ビットとして連結し、2Jビッ
ト長となった加算データを記録領域へ転送することを特
徴とする。
【0022】
【発明の実施の形態】実施の形態1.本実施の形態で
は、非線形変換を並列に処理する非線形変換装置につい
て説明する。図1は、非線形変換装置の概要図である。
300は、非線形変換装置を示す。310は、非線形変
換装置300の有する変換部である。図1において、1
01、102、103、・・・、110、201、20
2、203、・・・、210、401、402、40
3、・・・、410は、すべて64ビット長のレジスタ
を示す。各レジスタは図示されていないが記録部によっ
て記憶可能なデバイスの一例である。101H、102
H、103H、・・・、110H、201H、202
H、203H、・・・、210H、401H、402
H、403H、・・・、410Hは、それぞれ101、
102、103、・・・、110、201、202、2
03、・・・、210、401、402、403、・・
・、410の上位32ビット部分を示し、101L、1
02L、103L、・・・、110L、201L、20
2L、203L、・・・、210L、401L、402
L、403L、・・・、410Lは、それぞれ101、
102、103、・・・、110、201、202、2
03、・・・、210、401、402、403、・・
・、410の下位32ビット部分を示す。F2は、変換
部310で使用されるアルゴリズムであるハッシュ関数
を示す。このF2を用いて非線形変換処理が行われる。
【0023】200Hは、送信者から受信者へネットワ
ークによって送信されるメッセージMAを格納したレジ
スタである。メッセージMAは、MA(1)、MA
(2)、・・・、MA(k)まで32ビット単位に分割
される。200Lも同様にメッセージMBを格納したレ
ジスタであり、メッセージMBは、MB(1)、・・
・、MB(K)まで32ビット単位に分割される。10
0Hは、初期値であるイニシャル値IVPを格納したレ
ジスタである。レジスタ100Hに格納されたイニシャ
ル値IVPは、IVP(1)からIVP(K)まで32
ビット単位に分割される。100Lも同様にイニシャル
値IVQを格納したレジスタであり、イニシャル値IV
Qは、IVQ(1)からIVQ(K)まで32ビット単
位に分割される。400Hは、メッセージMAとイニシ
ャル値IVPとを入力データとしてこれらのデータを用
いて非線形変換装置300によって変換された変換デー
タであるHS(1)〜HS(K)を格納するレジスタで
ある。HS(1)〜HS(K)まで32ビット単位のデ
ータは連結後、ハッシュ値HSとしてレジスタ400H
に格納される。400Lは、メッセージMBとイニシャ
ル値IVQとを入力データとして非線形変換された変換
データであるHT(1)〜HT(K)を格納するレジス
タである。HT(1)〜HT(K)までの32ビットデ
ータは連結後、ハッシュ値HTとしてレジスタ400L
に格納される。
【0024】上記メッセージMA、メッセージMB、イ
ニシャル値IVP、イニシャル値IVQは、すべて非線
形変換装置300への入力データであり、ハッシュ値H
S、ハッシュ値HTは、すべて非線形変換装置300か
らの出力データである。
【0025】次に、非線形変換装置300が行う処理の
動作について、図1を用いて説明する。 前処理.まず、第1のイニシャル値であるレジスタ10
0H中のIVP(1)と第2のイニシャル値である10
0L中のIVQ(1)は、入力部I350によって、そ
れぞれレジスタ101の上位32ビット領域101Hと
レジスタ101の上位32ビット領域101Lに転送さ
れ、それによりレジスタ101において64ビットの長
さに連結される。同様にして、IVP(2)とIVQ
(2)、IVP(3)とIVQ(3)、・・・、IVP
(K)とIVQ(K)とが、各々連結され、レジスタ1
02、レジスタ103、レジスタ110に格納される。
連結された各データを連結データIVとする。ハッシュ
関数F2へのもう一方からの入力データとなるメッセー
ジMAとメッセージMBは、入力部M360によって、
イニシャル値IVPやイニシャル値IVQと同様な連結
手段によって連結される。すなわち、レジスタ200H
中のMA(1)とレジスタ200L中のMB(1)は、
それぞれレジスタ201の上位32ビット領域201H
と下位32ビット領域201Lに転送され、それにより
レジスタ201において64ビットの長さに連結され
る。同様にして、MA(2)とMB(2)、MA(3)
とMB(3)、MA(K)とMB(K)とが連結され、
それぞれレジスタ202、レジスタ203、レジスタ2
10に格納される。連結された各データを連結データM
とする。以上の動作を行う入力部I350と入力部M3
60とは、互いに関連しない複数のデータを連結し、連
結した所定長の連結データをレジスタ等から構成される
記憶部に入力する入力部の一例である。
【0026】非線形変換処理.前述のような入力データ
の連結手段によって、連結された個々の64ビット長の
連結データIVと連結データMとは、変換部310の有
するハッシュ関数F2によって、その内部において、6
4ビット単位で演算される。このとき、各レジスタにお
いて連結手段によって連結された連結データIVと連結
データMの上位32ビットと下位32ビットのデータ
は、相互に独立性が保たれたまま、同時に処理が実行さ
れる。例えば、連結データIVの上位32ビットである
IVP(1)と連結データMの上位32ビットであるM
Aとを入力データとして非線形変換し変換データHSを
取得する処理と、連結データIVの下位32ビットであ
るIVQ(1)と連結データMの下位32ビットである
MBとを入力データとして非線形変換し変換データHT
を取得する処理とが、変換部310によって並行して行
われる。このようにして、変換部310は、複数の連結
データIVと連結データMとから1の連結データIVと
連結データMとを順次選択し、選択した連結データIV
中のデータIVP(IVP(1)〜IVP(K)のいず
れか)と連結データM中のデータMA(MA(1)〜M
A(K)のいずれか)とを入力データとして任意のアル
ゴリズムにより非線形変換し変換データHS(HS
(1)〜HS(K)のいずれか)を取得するとともに、
並行して、選択した連結データIV中のデータIVQ
(IVQ(1)〜IVQ(K)のいずれか)と連結デー
タM中のデータMB(MB(1)〜MB(K)のいずれ
か)とを入力データとして上記非線形変換に用いたアル
ゴリズムと同一のアルゴリズムにより非線形変換し変換
データHT(HT(1)〜HT(K)のいずれか)を取
得する処理を、順次選択された連結データIVと連結デ
ータMについて逐次的に繰り返す。このように実行する
ことによって、非線形変換装置300の変換部310
は、ハッシュ関数F2を用いて、イニシャル値IVPと
メッセージMAを入力データとして非線形変換する処理
とイニシャル値IVQとメッセージMBを入力データと
して非線形変換する処理を並列に、同時に実行すること
ができる。
【0027】後処理.変換部310のハッシュ関数F2
によって変換された変換データであるHS(1)はレジ
スタ401の上位32ビット領域401Hに格納され
る。また、変換部310のハッシュ関数F2によって変
換された変換データHT(1)はレジスタ401の下位
32ビット領域401Lに格納される。HS(2)とH
T(2)も同様にレジスタ402に格納される。他の変
換データも同様に各レジスタに格納される。次に、レジ
スタ401〜レジスタ410の各々上位32ビット部分
401H〜410Hに格納されたHS(1)、HS
(2)、・・・、HS(K)は、出力部370によって
それぞれ切り出され、連結する手段によって連結され、
レジスタ400Hに出力される。同様にして、レジスタ
401〜レジスタ410の下位部分401L〜410L
に格納されたHT(1)、HT(2)、・・・、HT
(K)は、それぞれ切り出され、それらを連結する手段
によって連結され、レジスタ400Lに格納される。
【0028】次に、非線形変換工程について、図2を用
いて詳細に説明する。 第1非線形変換工程300a.第1非線形変換工程30
0aでは、レジスタ101の上位32ビットに格納され
たIVP(1)とレジスタ201の上位32ビットに格
納されたMA(1)とは、変換部310のハッシュ関数
F2を用いて非線形変換される。即ち、IVP(1)と
MA(1)とからハッシュ関数F2に基づいてデータを
非線形変換し、非線形変換後のデータとIVP(1)と
を用いてXOR320が排他的論理和演算を行い、行っ
た結果をHS(1)として出力する。出力されたHS
(1)は、レジスタ401の上位32ビット領域401
Hに格納される。第1非線形変換工程300aでは、上
記HS(1)を出力するための非線形変換処理と同時
に、並行して以下に記すHT(1)を出力するための非
線形変換処理が行われる。すなわち、レジスタ101の
下位32ビットに格納されたIVQ(1)とレジスタ2
01の下位32ビットに格納されたMB(1)とが、変
換部310のハッシュ関数F2を用いて上記処理と同時
に、非線形変換される。即ち、IVQ(1)とMB
(1)とからハッシュ関数F2に基づいてデータを非線
形変換し、非線形変換後のデータとIVQ(1)とを用
いてXOR320が排他的論理和演算を行い、行った結
果をHT(1)として出力する処理がHS(1)を出力
する処理と並行して行われる。出力されたHT(1)
は、レジスタ401の下位32ビット領域401Lに格
納される。上記で説明したデータの流れを図3に示す。
図3に示すように、レジスタ201に格納されたMA
(1)とレジスタ101に格納されたIVP(1)とか
ら非線形変換がなされ、XOR320によって排他的論
理和がとられ、変換されたでーたをレジスタ401にH
S(1)として出力する処理と並行して、レジスタ20
1に格納されたMB(1)とレジスタ101に格納され
たIVQ(1)とから非線形変換がなされ、XOR32
0によって排他的論理和がとられ、変換されたでーたを
レジスタ401にHT(1)として出力する処理が行わ
れる。
【0029】第2非線形変換工程300b.第2非線形
変換工程300bでは、レジスタ102とレジスタ20
2の上位ビットの処理と下位ビットの処理が同時に、並
行して行われる。ただし、いずれの処理も第1非線形変
換工程300aの出力データを必要とするため、第1非
線形変換工程300aを経た後でなければ実行できな
い。第2非線形変換工程300bでは、レジスタ102
とレジスタ202の上位ビットの処理に、入力値として
IVP(2)、MA(2)及びHS(1)を用いる。ま
ず、変換部310は、IVP(2)とMA(2)とを入
力データとしてハッシュ関数F2を用いて非線形変換を
行う。XOR320は、変換した結果である変換値と第
1非線形変換工程300aの出力結果であるHS(1)
との排他的論理和演算を行い、その結果をS(2)とし
て出力する。第2非線形変換工程300bにおいても、
上記HS(2)を出力するための非線形変換処理と同時
に、並行してHT(2)を出力するための同一の非線形
変換処理が行われる。
【0030】第3非線形変換工程〜第K非線形変換工
程.第3非線形変換工程300c〜第K非線形変換工程
300kについても、逐次的に上記第1非線形変換工程
300a等と同様の演算を行い、出力データとして、H
S(3)〜HS(K)及びHT(3)〜HT(K)をそ
れぞれ出力するための並行処理が行われる。
【0031】このように、上位32ビットの演算処理と
下位32ビットの演算処理は、独立に、かつ、並列に処
理され、それぞれ独立に処理結果を得ることができる。
このため、非線形変換処理は、従来の2倍の処理速度を
実現することができる。すなわち、同一のアルゴリズム
に基づく同一の命令に従って、メッセージMAとイニシ
ャル値IVPとの処理とメッセージMBとイニシャル値
IVQとの処理とを並列処理することで、単精度(32
ビット長)と倍精度(64ビット長)の演算がすべて同
じサイクル数で実行可能であれば、1メッセージ当たり
の演算効率は2倍に向上し、高速化が実現できる。
【0032】本実施の形態では、入力データであるイニ
シャル値IVP,イニシャル値IVQ,メッセージM
A,メッセージMBをそれぞれ32ビット単位に分割し
た例を図1に示したが、各入力データを分割する単位は
32ビットに限らず、8、16、64、128ビット等
の値がとれる。それらに対応して図1に示すレジスタの
格納可能ビット数は、倍制度のデータ長、即ち、16,
32,128,256ビットとなる。このようにレジス
タの格納可能ビット数は2xで(X≧1)であれば、ど
のようなビット数をとることもできる。
【0033】以上のように、非線形変換装置300を用
いることによって互いに関連しない複数のデータについ
て並列して同時に非線形変換処理を行うことができ、高
速に変換データを出力することが可能となる。したがっ
て、例えば、入力データであるメッセージに対し、その
メッセージが正当であることを認証するデジタル署名情
報として変換データを用いる場合にも、高速な認証情報
を生成できる。このようなデジタル署名においては、大
量の通信メッセージに対し、高速に認証情報を生成する
必要があるため、従来に比べ、本実施の形態のように並
列して複数のデータを同時に非線形変換処理行うこと
で、非線形変換処理スピードを複数倍にできる効果は今
後のネット通信市場において大きな意味をもつものであ
る。
【0034】実施の形態2.実施の形態2では、実施の
形態1に更に第3の入力データであるイニシャル値IV
Rとそれに対応する入力データであるメッセージMCと
に対する処理が付加され、これらを並列処理することに
より、非線形変換をより高速に処理することを実現する
実施の形態である。例えば、ペンティアム(ペンティア
ムは登録商標。以下、同様。)3では、64ビット長の
レジスタを8個と32ビット長のレジスタを8個、CP
U中に保持している。従って、64ビット長のレジスタ
を実施の形態1に示す処理にて利用し、32ビット長の
レジスタを第3の入力データであるイニシャル値IVR
とメッセージMCに対する処理に用いることが可能であ
る。
【0035】図4は、実施の形態1に更に第3のイニシ
ャル値IVRとメッセージMCとに対する処理を付加し
た非線形変換装置300の概念図である。IVRは、イ
ニシャル値を示し、レジスタ500に格納され、IVR
(1)からIVR(K)まで32ビット単位に分割され
る。MCも同様にメッセージを示し、レジスタ600に
格納され、MC(1)からMC(K)まで32ビット単
位に分割される。HUは、非線形変換後の出力データで
あるハッシュ値を示す。HU(1)からHU(K)は、
連結されてハッシュ値HUとしてレジスタ700に格納
される。
【0036】図4に基づいて動作を説明する。まず、I
VR(1)は、実施の形態1の場合と同様に、レジスタ
501に転送される。IVR(2)からIVR(K)も
同様に、レジスタ502〜レジスタ510に転送され
る。ここで、レジスタ501〜レジスタ510は図示は
していないが記録部によって記憶可能なデバイスの一例
である。MC(1)も、実施の形態1の場合と同様に、
レジスタ601に転送される。MC(2)からMC
(K)も同様に、レジスタ602〜レジスタ610に転
送される。なお、レジスタ601〜レジスタ610は記
録部によって記憶可能なデバイスの一例である。ここ
で、変換部310は、64ビット長のレジスタを使用し
て、実施の形態1と同様の非線形変換処理を行うために
使用するアルゴリズムとしてF2というハッシュ関数を
用い、32ビット長のレジスタを使用して、前記F2を
使用した処理と並列に処理するためのアルゴリズムとし
てF3というハッシュ関数を使用する。
【0037】実施の形態1で説明したように、非線形変
換装置300の変換部310は、レジスタ101Hに転
送されたIVP(1)とレジスタ201Hに転送された
MA(1)とからハッシュ関数F2によって、非線形変
換処理を行う。変換後、変換部310は、レジスタ40
1Hに出力データとしてHS(1)を出力する。上記処
理と同時に、非線形変換装置300の変換部310は、
レジスタ101Lに転送されたIVQ(1)とレジスタ
201Lに転送されたMB(1)を入力データとして非
線形変換処理を行い、レジスタ401LにHT(1)を
出力する処理を並行に行う。さらに、本実施の形態で
は、次の非線形変換処理が上記2つの処理と並行に行わ
れる。即ち、レジスタ501に転送されたIVR(1)
とレジスタ601に転送されたMC(1)を入力データ
として非線形変換装置300の変換部がF3をハッシュ
関数として使用して非線形変換処理を行い、出力データ
であるHU(1)を601に出力する。
【0038】上記に説明した3つの非線形変換並行処理
の詳細について図5を使用して説明する。図5は、本実
施の形態の非線形変換装置300によって実行される3
つの並行処理である非線形変換処理の工程を表した図で
ある。 第1非線形変換工程300a.第1非線形変換工程30
0aでは、以下に示す並列処理1と並列処理2と並列処
理3が並列に処理される。 (1)並列処理1.第1非線形変換工程300aでは、
レジスタ101上位ビットに転送されたIVP(1)と
レジスタ201の上位ビットに転送されたMA(1)を
入力データとして、入力データは、ハッシュ関数F2に
より変換され、出力データとしてHS(1)がレジスタ
401の上位32ビットに出力される。 (2)並列処理2.この処理に並行して、第1非線形変
換工程300aでは次の処理が実行される。即ち、レジ
スタ101下位ビットに転送されたIVQ(1)とレジ
スタ201の下位ビットに転送されたMB(1)を入力
データとして、入力データは、ハッシュ関数F2により
変換され、出力データとしてHT(1)がレジスタ40
1の下位32ビットに出力される。 (3)並列処理3.更に、これらの処理と並行して、第
1非線形変換工程300aでは次の処理が実行される。
即ち、レジスタ501に転送されたIVR(1)とレジ
スタ601に転送されたMC(1)を入力データとし
て、入力データは、ハッシュ関数F3により変換され、
出力データとしてHU(1)がレジスタ701に出力さ
れる。
【0039】第1非線形変換工程300aでは、以上の
3つの処理を並行に行うことができる。同様に、第2非
線形変換工程300b、第3非線形変換工程300c〜
第K非線形変換工程300kの各工程においても3つの
イニシャル値と3つのメッセージを入力データとして、
各アルゴリズムにより非線形変換処理を並行して行い、
その結果、3つの出力データをハッシュ値として同時に
出力することが可能となる。
【0040】このように、64ビット長のレジスタと3
2ビット長のレジスタを同時に、並行して使用すること
により、3つの変換処理を並行して行い、それぞれの命
令を記述したコードを、ペンティアム3のようなCPU
内部において命令レベルで並列実行可能なようにマージ
することによって、3つの独立なデータブロックを並列
に演算することができる。このように、異なる種類のレ
ジスタを組み合わせることによって複数の独立なデータ
を並列に演算することが可能となるため、並列できる処
理数が多ければ多いほど高速に出力データを得ることが
できる。今後、大量の通信データに対し、デジタル署名
や暗号化の必要性が増大することに鑑みれば、上記のよ
うに、より高速なデータ処理を実現することはこれか
ら、ますます加速するIT社会に大きな貢献を果たすも
のである。
【0041】また、以上の実施の形態では、例としてレ
ジスタを使用したが、レジスタでなく、メモリを使用し
てもよい。この場合には、メモリ間で演算処理がなされ
る。また、レジスタとメモリを混在させて使用してもよ
い。なお、変換部310は、ソフトウェアによって実現
されていてもよいし、ハードウェアによって実現さてい
てもよい。
【0042】実施の形態3.実施の形態3では、単一の
2Jビット長の加算命令が存在しない計算機において、
Jビットずつの演算処理を行う場合に、データのアクセ
ス方法によって演算の遅延を起こす場合がある従来の要
因を回避し、高速な演算方法を得る方法について説明す
る。図6は、レジスタ802に格納されたデータ(1)
とメモリ800の任意の領域801に格納されたの値と
の加算演算を示す図である。
【0043】データの加算処理は、次の手順によって行
われる。まず、レジスタ802に格納されたデータ
(1)の上位Jビットは、レジスタ804にデータH
(1)として転送され、レジスタ802に格納されたデ
ータ(1)の下位Jビットは、レジスタ803にデータ
L(1)として転送される(S1)。次に、レジスタ8
03に転送されたデータL(1)とメモリ800の任意
の領域801の下位Jビットに格納されたデータL
(2)とが、加算器815によって加算される。加算さ
れた結果は、レジスタ803に加算データLとして格納
される(S2)。このとき、桁上がりが発生した場合に
は、桁上がりをレジスタ810にキャリーとして格納す
る。次に、レジスタ804の上位Jビットに格納された
データH(1)と領域801の上位Jビットに格納され
たデータH(2)とキャリーが存在する場合にはレジス
タ810に格納されたキャリーとが、加算器815によ
って加算され、加算された結果をレジスタ804に加算
データHとして格納する(S3)。レジスタ803とレ
ジスタ804に格納された各データは、それぞれ、レジ
スタ805とレジスタ806の下位Jビットに転送され
る(S4)。その後、レジスタ806に格納された加算
データHを上位ビット、レジスタ805に転送された加
算データLを下位ビットとして連結する。連結後、2J
ビット長となった加算データをレジスタ807へ転送す
る(S5)。その後、レジスタ807をメモリ800の
領域801へ転送する。
【0044】このように、単一の2Jビット長の加算命
令が存在しない場合に、従来方法のようなメモリ書き込
みと読み出しを行わないため、演算の遅延を起こすよう
な要因を排除して、高速な演算を可能にすることができ
る。従って、従来に比して全体の処理のスピードを向上
させることができる。
【0045】
【発明の効果】本発明によれば、非線形変換処理を高速
に行うことができる。特に、非線形変換処理をソフトウ
ェア(プログラム)により行う場合には、サイクル数を
減少させることができ、高速処理を行うことができる。
【0046】また、本発明によれば、演算の遅延を起こ
すような要因を排除して、高速な演算を可能にすること
ができる。
【図面の簡単な説明】
【図1】 実施の形態1における非線形変換装置の構成
図。
【図2】 実施の形態1における非線形変換装置の動作
図。
【図3】 データ間の加算処理動作を示す図。
【図4】 実施の形態2における非線形変換装置の構成
図。
【図5】 実施の形態2における非線形変換装置の動作
図。
【図6】 実施の形態3の加算方法を示す図。
【図7】 従来の非線形変換処理図。
【図8】 従来の非線形変換処理工程図。
【図9】 従来のメモリとレジスタとの間の加算処理の
一例を示す図。
【図10】 従来の加算方法動作を示す図。
【図11】 従来の加算方法動作を示すフローチャー
ト。
【符号の説明】
100H,100L,500,1000 イニシャル値
を格納したレジスタ、200H,200L,600,1
200 メッセージを格納したレジスタ、300,13
00 非線形変換装置、300a,1300a 第1非
線形変換工程、300b,1300b 第2非線形変換
工程、300c,1300c 第3非線形変換工程、3
00k,1300k 第K非線形変換工程、310,1
310変換部、320,1320 XOR、350 入
力部I、360 入力部M、370 出力部、400
H,400L,700,1100 ハッシュ値を格納し
たレジスタ、800 メモリ、101〜110,201
〜210,401〜410,501〜510,601〜
610,1001〜1010,1101〜1110,1
201〜1210,802〜807,810 レジス
タ、815 加算器。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 所定長のデータを記憶する記憶部と、 互いに関連しない複数のデータを連結し、連結した所定
    長の連結データを上記記憶部に入力する入力部と、 上記入力部により上記記憶部に入力された所定長の連結
    データを入力して、同一のアルゴリズムにより連結前の
    複数のデータを並行して非線形変換し、複数の変換デー
    タを取得する変換部とを備えることを特徴とする非線形
    変換装置。
  2. 【請求項2】 上記入力部は、複数のデータIVPの各
    データIVPと複数のデータIVQの各データIVQと
    を各々連結データIVとして連結し、連結した複数の連
    結データIVを上記記憶部に入力し、複数のデータMA
    の各データMAと複数のデータMBの各データMBとを
    各々連結データMとして連結し、連結した複数の連結デ
    ータMを上記記憶部に入力し、 上記変換部は、上記入力部によって上記記憶部に入力さ
    れた複数の連結データIVと連結データMとから1の連
    結データIVと連結データMとを順次選択し、選択した
    連結データIV中のデータIVPと連結データM中のデ
    ータMAとを入力データとして上記アルゴリズムにより
    非線形変換し変換データHSを取得する処理とともに、
    並行して、選択した連結データIV中のデータIVQと
    連結データM中のデータMBとを入力データとして上記
    非線形変換に用いたアルゴリズムと同一のアルゴリズム
    により非線形変換し変換データHTを取得する処理を、
    順次選択された連結データIVと連結データMについて
    逐次的に繰り返すことを特徴とする請求項1に記載され
    た非線形変換装置。
  3. 【請求項3】 上記記憶部は、2Jビット長のレジスタ
    と2Jビット長のメモリの少なくともいずれかであり、 上記入力部は、Jビット長である各データIVPとJビ
    ット長である各データIVQとを上記記憶部であるレジ
    スタあるいはメモリの上位Jビット領域と下位Jビット
    領域に各々入力し、Jビット長である各データMAとJ
    ビット長である各データMBとを上記記憶部であるレジ
    スタあるいはメモリの上位Jビット領域と下位Jビット
    領域に各々入力することを特徴とする請求項2に記載さ
    れた非線形変換装置。
  4. 【請求項4】 上記入力部は、複数のデータIVRと複
    数のデータMCとを連結させずに上記記憶部に入力し、 上記変換部は、非線形変換により変換データHSと変換
    データHTとを並行して取得する上記2つの処理に並行
    して、上記入力部によって上記記憶部に入力された複数
    のデータIVRと複数のデータMCとから1のデータI
    VRとデータMCとを順次選択し、選択したデータIV
    RとデータMCとを任意のアルゴリズムにより非線形変
    換し変換データHUを取得する処理を順次選択されたデ
    ータIVRとデータMCについて逐次的に繰り返すこと
    を特徴とする請求項2に記載された非線形変換装置。
  5. 【請求項5】 上記記憶部は、複数の種類あるいは複数
    の長さから構成されるレジスタあるいはメモリであるこ
    とを特徴とする請求項4に記載された非線形変換装置。
  6. 【請求項6】 上記変換部は、非線形変換するためのア
    ルゴリズムに平文を暗号化するためのブロック暗号ある
    いハッシュ値を求めるためのハッシュ関数を使用するこ
    とを特徴とする請求項1に記載された非線形変換装置。
  7. 【請求項7】 上記非線形変換装置は、さらに、上記変
    換部が取得した変換データを連結して上記記憶部に出力
    する出力部を備えることを特徴とする請求項1に記載さ
    れた非線形変換装置。
  8. 【請求項8】 所定長のデータを記憶部に記憶し、 互いに関連しない複数のデータを連結し、連結した所定
    長の連結データを上記記憶部に入力し、 上記記憶部に入力された所定長の連結データを入力し
    て、同一のアルゴリズムにより連結前の複数のデータを
    並行して非線形変換し、複数の変換データを取得するこ
    とを特徴とする非線形変換方法。
  9. 【請求項9】 所定長のデータを記憶部に記憶する処
    理、 互いに関連しない複数のデータを連結し、連結した所定
    長の連結データを上記記憶部に入力する処理、 上記記憶部に入力された所定長の連結データを入力し
    て、同一のアルゴリズムにより連結前の複数のデータを
    並行して非線形変換し、複数の変換データを取得する処
    理とをコンピュータに実行させることを特徴とする非線
    形変換プログラム。
  10. 【請求項10】 2Jビット長のデータ(1)と2Jビ
    ット長のデータ(2)とを2Jビット長のデータのまま
    単一に加算する命令が存在しない計算機の加算方法にお
    いて、 2Jビット長のデータ(1)を上位Jビットのデータか
    らなるデータH(1)と下位Jビットのデータからなる
    データL(1)に分割し、 2Jビット長のデータ(2)を上位Jビットのデータか
    らなるデータH(2)と下位Jビットのデータからなる
    データL(2)に分割し、 上記分割されたデータL(1)とデータL(2)とを加
    算し、加算された結果桁上がりが発生した場合には、加
    算された結果中、下位Jビットを加算データLとして格
    納し、上記桁上がりをキャリーとして格納し、加算され
    た結果桁上がりが発生しない場合には、加算された結果
    を加算データLとして格納し、 上記分割されたデータH(1)とデータH(2)とを加
    算し、上記キャリーが格納されている場合には、上記デ
    ータH(1)とデータH(2)との加算結果にキャリー
    を加算し、加算された結果を加算データHとして格納
    し、 上記格納された加算データLと加算データHとを2Jビ
    ット長からなる2つの記録領域の下位Jビットに各々転
    送し、 上記転送された加算データHを上位ビット、加算データ
    Lを下位ビットとして連結し、2Jビット長となった加
    算データを記録領域へ転送することを特徴とする加算方
    法。
JP2002016285A 2002-01-25 2002-01-25 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム Expired - Fee Related JP4004805B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002016285A JP4004805B2 (ja) 2002-01-25 2002-01-25 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002016285A JP4004805B2 (ja) 2002-01-25 2002-01-25 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム

Publications (2)

Publication Number Publication Date
JP2003216025A true JP2003216025A (ja) 2003-07-30
JP4004805B2 JP4004805B2 (ja) 2007-11-07

Family

ID=27652398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002016285A Expired - Fee Related JP4004805B2 (ja) 2002-01-25 2002-01-25 非線形変換装置及び非線形変換装置の非線形変換方法及び非線形変換プログラム

Country Status (1)

Country Link
JP (1) JP4004805B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129055A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2013129056A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2013129054A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013129055A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2013129056A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
WO2013129054A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9209968B2 (en) 2012-03-02 2015-12-08 Sony Corporation Information processing apparatus, information processing method, and program
US9537651B2 (en) 2012-03-02 2017-01-03 Sony Corporation Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
JP4004805B2 (ja) 2007-11-07

Similar Documents

Publication Publication Date Title
JP5000365B2 (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
CN107276744B (zh) 一种文件存储加密方法及系统
JPH11509940A (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
JP2008513811A (ja) 計算変換の方法及びシステム
Bermani et al. A hybrid cryptography technique for data storage on cloud computing
Walia et al. Implementation of new modified MD5-512 bit algorithm for cryptography
Joshy et al. Text to image encryption technique using RGB substitution and AES
US20070277043A1 (en) Methods for Generating Identification Values for Identifying Electronic Messages
CN113098675A (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
CN110266481B (zh) 基于矩阵的后量子加、解密方法与解密装置
KR20120071844A (ko) 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법
JP2003216025A (ja) 非線形変換装置及び非線形変換方法及び非線形変換プログラム及び加算方法
Velioğlu et al. A New Approach to Cryptographic Hashing: Color Hidden Hash Algorithm
Thirer A pipelined FPGA implementation of an encryption algorithm based on genetic algorithm
Labbi et al. Symmetric encryption algorithm for RFID systems using a dynamic generation of key
KR102407204B1 (ko) 보안이 개선된 암호압축 장치 및 방법
JPH10153954A (ja) 暗号装置
CN115834163B (zh) 加密数据的秘钥生成方法、装置、设备及存储介质
CN114124354B (zh) 确定性鉴别加解密装置及方法
Gadad et al. Cloud security: literature survey
JP3277894B2 (ja) 情報処理装置及びコード生成方法
Zolfaghari et al. Multicollision Attack on a recently proposed hash function vMDC-2
Vijayalakshmi et al. Hybrid Cryptographic Algorithm Using Multiprocessing for File Storage on the Cloud
JP4527960B2 (ja) 換字置換装置、換字置換方法、換字置換プログラム及び換字置換記録媒体

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040518

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070822

R150 Certificate of patent or registration of utility model

Ref document number: 4004805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees