Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4851077B2 - データ変換装置およびその方法 - Google Patents
[go: Go Back, main page]

JP4851077B2 - データ変換装置およびその方法 - Google Patents

データ変換装置およびその方法 Download PDF

Info

Publication number
JP4851077B2
JP4851077B2 JP2004274103A JP2004274103A JP4851077B2 JP 4851077 B2 JP4851077 B2 JP 4851077B2 JP 2004274103 A JP2004274103 A JP 2004274103A JP 2004274103 A JP2004274103 A JP 2004274103A JP 4851077 B2 JP4851077 B2 JP 4851077B2
Authority
JP
Japan
Prior art keywords
data
finite field
multiplication
polynomial
input data
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.)
Expired - Fee Related
Application number
JP2004274103A
Other languages
English (en)
Other versions
JP2005141198A (ja
JP2005141198A5 (ja
Inventor
薫 横田
基司 大森
将人 山道
誠 館林
誠 臼井
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004274103A priority Critical patent/JP4851077B2/ja
Publication of JP2005141198A publication Critical patent/JP2005141198A/ja
Publication of JP2005141198A5 publication Critical patent/JP2005141198A5/ja
Application granted granted Critical
Publication of JP4851077B2 publication Critical patent/JP4851077B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、認証方式などに使用されるデータ変換方式を実現するデータ変換装置およびその方法に関し、特に小さな実装規模で実現でき、かつ高いデータ撹乱性能有するデータ変換装置およびその方法に関する。
通信相手の正当性を確認する手段の一つであるチャレンジ−レスポンス認証方式などでは、認証側および被認証側において秘密の変換方式が必要となる。秘密の変換方式に望まれる要件としては、高いデータ撹乱性能(アバランシェ性能)のみならず、その方式を低コストで機器に実装できることが望まれる。
データ変換方式の従来例として、秘密鍵暗号方式を用いる方式がある。例えば、56ビット鍵長DES(Data Encryption Standard)暗号方式(DES暗号方式の詳細は、非特許文献1参照)を用いたデータ変換方式によってチャレンジ−レスポンス認証方式を実現する場合には、DES暗号方式の56ビット鍵を認証用鍵として認証側、被認証側の双方で秘密に保持する。また、DES暗号方式の平文および暗号文をそれぞれデータ変換方式の入力および出力とする。これにより、DES暗号方式を、認証用の秘密のデータ変換方式として使用することができる(認証方式の詳細は、非特許文献1参照)。
岡本龍明、山本博資「現代暗号」(産業図書)、1997年
しかしながら、DES暗号方式などの秘密鍵暗号方式は、暗号回路とともに機器内で実装される他の回路との回路共有化を考慮したような方式とはなっておらず、このため、他の回路とは独立の回路として実装する必要がある。従って、従来例の秘密鍵暗号方式を用いたデータ変換方式においては、機器内に実装される他の回路とは全く独立して暗号回路を実装することになり、機器全体として回路規模が大きくなる。つまり、一般に機器を低コストで実現するためには、機器に実装される回路の総規模は極力小さくすることが要求されるので、機器に実装する暗号回路としては、他の回路と共有化できる方が望ましいが、前記従来の構成では、それが実現されていないという課題を有している。
本発明は、上述の課題を解決するためになされたものであり、機器内の総実装規模を削減することが可能なデータ変換装置を提供することを目的とする。
本発明のデータ変換装置は、入力データを複数のデータに分割する分割手段と、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数によるべき乗演算に基づく変換を行うべき乗手段と、前記べき乗手段で変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成手段とを備え、前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であることを特徴とする。
この構成によると、べき乗ステップにおいて、多項式剰余環上の乗算が行なわれる。多項式剰余環上の演算を行なうと、後述するように入力データの一部でも変更されると、その影響が出力データのあらゆるビットに及ぶことになる。このため、データ撹乱性を向上させることができる。また、2つ以上の変数の乗算を行なった場合には、いずれか1つの変数が0の場合には、その他の変数がどのような値であっても乗算結果が0となり、良好なデータ撹乱性能を示さないが、入力データのべき乗の場合には、このような問題が生じず、データの撹乱性を向上させることができる。さらに、べき乗ステップでは、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における演算を行なっている。Reed−Solomon符号や、BCH(Bose-Chaudhuri-Hocqenghem)符号などの誤り訂正符号化回路で使用される有限体GF(2n)上の演算回路との回路共有が可能となる。このため、機器全体としての実装規模が削減でき、コンパクトな回路規模での機器実装が実現される。
以下本発明の実施の形態について、図面を参照しながら説明する。
(データ変換装置を利用した認証システムの構成)
図1は、本発明の実施の形態に係る認証システムの構成を示すブロック図である。この認証システムは、認証装置3が被認証装置4をチャレンジ−レスポンス認証方式によって認証する。本認証システムとしては、例えば認証装置3を自動車のドアの開錠および施錠を制御する車載機とし、被認証装置4をユーザが自動車のドアの開錠および施錠のために携帯する携帯端末とする自動車のキーレスエントリシステムなどが具体的に考えられる。
認証装置3は、乱数生成器5において64ビットの乱数データを生成し、これをチャレンジデータとして被認証装置4に送付する。被認証装置4は、受信したチャレンジデータに対してデータ変換装置2においてデータ変換処理を行ない、変換結果である64ビット変換データをレスポンスデータとして認証装置3に送付する。認証装置3は、被認証装置4が上述の処理を行っている間に前記乱数データに対してデータ変換装置1においてデータ変換処理を行ない、変換結果である64ビット変換データを作成する。そして、認証装置3は、被認証装置4から受信した前記レスポンスデータと前記の変換データとをデータ比較器6において比較し、両者が一致する場合に限り被認証装置4を正当なものであるとして認証する。ここで、認証装置3内部のデータ変換装置1および被認証装置4内部のデータ変換装置2は同一の変換処理を行ない、その処理内容は認証装置3および被認証装置4の間で秘密に共有化されている。
(データ変換装置1、2の構成)
データ変換装置1、2は同一の構成であるから、以下ではデータ変換装置1の内部構成のみについて説明する。
図2は、データ変換装置1の内部構成を示した図である。データ変換装置1は、64ビットの入力データに対して所定の秘密変換処理を行ない64ビットの出力データを生成する処理装置であり、有限体多項式3乗部10と、データ融合部11a〜11d、12および13と、第1変換部14と、第2変換部15と、データ分割部16と、データ結合部17とからなる。以下、64ビットの入力データが入力されたときの内部動作について説明する。
まず、データ分割部16が、前記入力データを上位から32ビットずつ2つのデータに分割する。ここでは2つのデータを、上位からデータA、データBとする。データAはデータ融合部11aおよび11cに、データBはデータ融合部11bおよび11dにそれぞれ入力される。データ融合部11aおよび11cは、入力された32ビットデータAに対して、固定の32ビットデータK1およびK3とのビット毎の排他的論理和演算(XOR)をそれぞれ行ない、32ビットデータA0およびA1をそれぞれ出力する。また、データ融合部11bおよび11dは、入力された32ビットデータBに対して、固定の32ビットデータK2およびK4とのビット毎の排他的論理和演算(XOR)をそれぞれ行ない、32ビットデータB0およびB1をそれぞれ出力する。ここで、32ビットデータK1〜K4は、予め所定の値に定められた固定値である。
次に、有限体多項式3乗部10は、上記32ビットデータA0、B0、A1およびB1のそれぞれに対して、後で述べる有限体GF(28)上の値を係数とする多項式剰余環上の3乗算を行ない、それぞれ32ビットデータ(A0)3、(B0)3、(A1)3、(B1)3を算出する。有限体多項式3乗部10の処理の詳細については後に説明する。
次に、32ビットデータ(A0)3および(B0)3は、データ融合部12に入力され、32ビットデータ(A1)3および(B1)3は、データ融合部13に入力される。
データ融合部12およびデータ融合部13は、入力されたそれぞれ2つの32ビットデータに対してビット毎の排他的論理和演算を行ない、32ビットデータ(A0)3(+)(B0)3および(A1)3(+)(B1)3をそれぞれ出力する。ここで、「X(+)Y」はXとYとのビット毎の排他的論理和演算(XOR)を意味する。
次に第1変換部14は、32ビットデータ(A0)3(+)(B0)3に対して後で説明する有限体GF(28)上の演算に基づく所定の変換を行ない、32ビットデータG0を出力する。また、第2変換部15は、前記(A1)3(+)(B1)3に対して後で説明する有限体GF(28)上の演算に基づく所定の変換を行ない、32ビットデータG1を出力する。
以上の処理の後、データ結合部17は、前記32ビットデータG0を上位32ビット、前記32ビットデータG1を下位32ビットとしてデータ連結し、その結果を64ビットデータとして出力する。この64ビットデータが、データ変換装置1の出力データとなる。次に、有限体多項式3乗部10の内部構成と動作について説明する。
(有限体多項式3乗部10の内部構成)
図3は、有限体多項式3乗部10の内部構成の一例を示した図である。有限体多項式3乗部10は、有限体GF(28)上の値を係数とする多項式剰余環上の3乗算を行なう処理部であり、入力制御部101と、有限体多項式乗算部100と、出力制御部102とからなる。
入力制御部101は、二つの入力データのうちどちらか一方を出力するような制御を行なう。有限体多項式乗算部100は、二つの入力データに対して有限体GF(28)上の値を係数とする多項式剰余環上の乗算を行なう。出力制御部102は、入力データを二つの出力先のうちどちらか一方に出力するような制御を行なう。
以下、有限体多項式3乗部10に、32ビットの入力データXが入力された場合の内部動作について説明する。入力データXは、入力制御部101および有限体多項式乗算部100に入力される。入力制御部101は、前記入力データXをそのまま有限体多項式乗算部100に入力する。有限体多項式乗算部100は、外部より入力された32ビットデータXと入力制御部101より入力された32ビットデータXとの有限体GF(28)上の値を係数とする多項式剰余環上の乗算(詳細は後で説明する)を行ない、乗算結果X2を出力し、出力制御部102に入力する。有限体多項式乗算部100の処理の詳細については後で説明する。
出力制御部102は、入力データX2をそのまま入力制御部101に入力する。そして、入力制御部101は、入力データX2を有限体多項式乗算部100に入力する。
有限体多項式乗算部100は、前記入力データX2と、入力データXとの乗算を行ない、乗算結果X3を出力制御部102に入力する。このときの乗算は既に述べた通り多項式剰余環上の乗算である。
出力制御部102は、前記入力データX3を有限体多項式3乗部10の出力データとして出力する。次に、有限体多項式乗算部100の内部構成と動作について説明する。
(有限体多項式乗算部100の内部構成)
図4は、有限体多項式乗算部100の内部構成の一例を示した図である。有限体多項式乗算部100は、32ビットの第1入力データXと32ビットの第2入力データYとの有限体GF(28)上の値を係数とする多項式剰余環上の乗算を行ない、32ビットの出力データDを出力する。このときの多項式剰余環の剰余多項式はL(X)=X4−1とし、有限体GF(28)の原始多項式m(x)はm(x)=x8+x4+x3+x+1とする。有限体多項式乗算部100の動作説明の前に、有限体GF(28)上の演算および多項式剰余環上の演算について簡単に説明する。
まず、有限体GF(28)上の演算について説明する。有限体GF(28)上の演算では、8ビットデータAの各ビットの値を上位からa7、a6、・・・、a0としたとき、7次の多項式a(x)=a7×x7+a6×x6+・・・+a1×x+a0と対応づけて考える。同様に8ビットデータBの各ビットを上位からb7、b6、・・・、b0として、7次の多項式b(x)=b7×x7+b6+x6+・・・+b1×x+b0と対応づける。このとき、有限体GF(28)上におけるAとBの加算結果Cは、c(x)=a(x)+b(x)を有限体GF(2)上で計算した結果のc(x)を上で説明した7次多項式と8ビットデータとの対応付けによって8ビットデータに変換した結果になる。即ち、c(x)=c7×x7+c6+x6+・・・+c1×x+c0としたとき、
c7=a7+b7
c6=a6+b6
・・・ ・・・ ・・・
c1=a1+b1
c0=a0+b0
として求められる。ここで上記の1ビットデータどうしの加算「+」は全て有限体GF(2)上で行われる。即ち、0+0=1+1=0であり0+1=1+0=1として計算される。
上記のことから有限体GF(28)上の加算は、ビットごとの排他的論理和演算をしていることに他ならない。即ち、A、Bに対する加算結果Cは、C=A(+)Bである。
次に、有限体GF(28)上の乗算について説明する。8ビットデータA、B、Cを前述のように、7次多項式a(x)、b(x)、c(x)とした時、8ビットデータA、Bの乗算結果Cは、それぞれに対応する7次多項式a(x)、b(x)、c(x)による以下の計算で求められる。
c(x)=a(x)×b(x) mod m(x)
ここで、「f(x) mod g(x)」は、g(x)を法とするf(x)の剰余計算結果であり、m(x)は、前にも述べた通り有限体GF(28)上の原始多項式m(x)=x8+x4+x3+x+1である。また、このときの多項式乗算、剰余算における係数の加算、乗算は有限体GF(2)上で行なう。有限体GF(2)上の加算は既に述べたとおりであり、乗算は0×0=0×1=1×0=0、1×1=1として計算される。
上記の乗算の例を挙げる。A=57(16進数)、B=83(16進数)としたとき、a(x)=x6+x4+x2+x+1、b(x)=x7+x+1である。これより、a(x)×b(x)=x13+x11+x9+x8+x6+x5+x4+x3+1となり、a(x)×b(x) mod m(x)=x7+x6+1となるので、A、Bの乗算結果Cは16進数でC1となる。
次に有限体GF(28)上の値を係数とする多項式剰余環上の演算について説明する。多項式剰余環上の演算では、32ビットデータAの各バイトを上位バイトからA0、A1、A2、A3としたとき、1バイトデータA0〜A3を3次の多項式A(X)=A0+A1×X+A2×X2+A3×X3と対応づけて考える。同様に32ビットデータB、Cの各バイトを上位バイトからB0、B1、B2、B3およびC0、C1、C2、C3としたとき、1バイトデータB0〜B3およびC0〜C3を3次の多項式B(X)=B0+B1×X+B2×X2+B3×X3およびC(X)=C0+C1×X+C2×X2+C3×X3とそれぞれ対応づけて考える。このとき、多項式剰余環上の加算はC(X)=A(X)+B(X)として求められる。このときの多項式係数の加算は先ほど説明した有限体GF(28)上の加算である。上記のことから言い換えると、32ビットデータAとBとの加算は、単にビット毎の排他的論理和演算を行えば良いことになる。
次に、多項式剰余環上の乗算について説明する。32ビットデータAおよびBの乗算結果を32ビットデータCとし、上記のように各データを3次の多項式A(X)、B(X)およびC(X)と対応づけたとき、多項式剰余環上の乗算は、以下のような多項式演算で示される。
C(X)=A(X)×B(X) mod L(X)
ここで、L(X)は既に説明した通り、剰余多項式L(X)=X4−1であり、上記の多項式係数の加算、乗算は有限体GF(28)上で行われる。このため、上式は、以下のように計算される。
C(X)= A0×B0
+(A0×B1+A1×B0)×X
+(A0×B2+A2×B0+A1×B1)×X2
+(A0×B3+A1×B2+A2×B1+A3×B0)×X3
+(A1×B3+A3×B1+A2×B2)×X4
+(A2×B3+A3×B2)×X5
+(A3×B3)×X6 (mod X4−1)
このとき、X4 = 1(mod X4−1)であることから、上記の式はさらに、以下のように変形できる。
C(X)= (A0×B0+A3×B1+A2×B2+A1×B3)
+(A1×B0+A0×B1+A3×B2+A2×B3)×X
+(A2×B0+A1×B1+A0×B2+A3×B3)×X2
+(A3×B0+A2×B1+A1×B2+A0×B3)×X3
このことより、
C0=A0×B0+A3×B1+A2×B2+A1×B3
C1=A1×B0+A0×B1+A3×B2+A2×B3
C2=A2×B0+A1×B1+A0×B2+A3×B3
C3=A3×B0+A2×B1+A1×B2+A0×B3
としてCは計算できることが分かる。このとき上記の加算「+」、乗算「×」は有限体GF(28)上で行われる。
以上で有限体GF(28)上の演算および多項式剰余環上の演算について説明が終わったので、有限体多項式乗算部100の動作説明を行なう。
有限体多項式乗算部100は、二つの入力データに対して有限体GF(28)上の値を係数とする多項式剰余環上の乗算を行なう処理部であり、有限体乗算部110と、データ分割部111〜112と、データ加算部113〜115と、データ結合部116と、演算制御部117とからなる。
有限体乗算部110は、有限体GF(28)上の乗算を行なう。データ分割部111〜112の各々は、32ビットの入力データを4個の8ビットのデータに分割する。データ加算部113〜115の各々は、2つの入力データに対して有限体GF(28)上の加算を行なう。データ結合部116は、4個の8ビットデータを結合して32ビットデータとして出力する。演算制御部117は、データ分割部111およびデータ分割部112から有限体乗算部110へ入力される被乗数および乗数の入力制御および有限体乗算部110から出力されるデータの出力先制御を行なう。以下、有限体多項式乗算部100の動作について説明する。
データ分割部111は、32ビットの第1入力データを上位から8ビットずつ4つのデータに分割する。ここでは、4つのデータを上位からデータX0、X1、X2およびX3とする。データ分割部112も同様に、32ビットの第2入力データを上位から8ビットずつ4つのデータに分割する。ここでは、4つのデータを上位からデータY0、Y1、Y2およびY3とする。以下、有限体乗算部110およびデータ加算部113〜115は、演算制御部117によりその入出力データが適宜制御されて、次式(1)〜(4)に従い、8ビットデータD0、D1、D2およびD3の値を計算する。
D0=X0×Y0+X3×Y1+X2×Y2+X1×Y3 ・・・(1)
D1=X1×Y0+X0×Y1+X3×Y2+X2×Y3 ・・・(2)
D2=X2×Y0+X1×Y1+X0×Y2+X3×Y3 ・・・(3)
D3=X3×Y0+X2×Y1+X1×Y2+X0×Y3 ・・・(4)
但し、上記の乗算「×」、加算「+」は全て有限体GF(28)上で行われる。上記の式がデータXおよびデータYの積を示している理由については既に説明した通りである。
上記4つの式のうち、データD0の計算を行なう際の有限多項式乗算部100の動作についてのみ説明する。データD1〜D3については、これと同様の動作によって計算される。
演算制御部117は、有限体乗算部110への入力として、8ビットデータX0〜X3のうちからデータX0を、8ビットデータY0〜Y3のうちからデータY0をそれぞれ選択する。有限体乗算部110は、データX0およびデータY0に対して有限体GF(28)上の乗算を行ない、乗算結果をデータZ0として出力する。即ち、
Z0=X0×Y0
を計算する。
次に同様な動作により、有限体乗算部110は、データX3とY1に対して有限体GF(28)上の乗算を行ない、データZ1として出力する。即ち、
Z1=X3×Y1
を計算する。同様にして
Z2=X2×Y2
Z3=X1×Y3
を計算する。
上記Z0〜Z3の出力が完了後、データ加算部113〜115は、上記データZ0〜Z3に対して、有限体GF(28)上の加算を行なう。即ち、
D0=Z0+Z1+Z2+Z3
を計算する。但し有限体GF(28)上の加算はビット毎の排他的論理和演算に他ならない。このため、上記の計算はデータZ0〜Z3に対してビット毎の排他的論理和演算を行なうことになる。同様にして、データ加算部113〜115は、
D1=X1×Y0+X0×Y1+X3×Y2+X2×Y3
D2=X2×Y0+X1×Y1+X0×Y2+X3×Y3
D3=X3×Y0+X2×Y1+X1×Y2+X0×Y3
を計算する。データ結合部116は、上位からデータD0、D1、D2およびD3を連結して32ビットデータDを有限体多項式乗算部100の出力データとして出力する。
次に、第1変換部14の内部構成と動作について説明する。
(第1変換部14の内部構成)
図5は、第1変換部14の内部構成の一例を示した図である。
第1変換部14は、32ビットの入力データXに対して、有限体GF(28)上の演算を用いた所定の変換を行ない、32ビットの出力データYを出力する処理部であり、データ分割部20と、データ結合部21と、定数記憶部22と、有限体乗算部210とからなる。データ分割部20は、32ビット入力データを4つの8ビットデータに分割する。データ結合部21は、4つの8ビットデータを結合して32ビットデータとして出力する。定数記憶部22は、4つの8ビット定数C1〜C4を記憶する。有限体乗算部210は、2つの8ビット入力データに対して、有限体GF(28)上の乗算を行って8ビットの出力データを出力する。以下、第1変換部14の動作について説明する。
データ分割部20は、32ビットの入力データXを上位から8ビットずつ分割する。ここでは、分割後の8ビットデータを上位からデータX0、X1、X2およびX3とする。有限体乗算部210は、データX0と、定数記憶部22に記憶されている8ビット定数C1との有限体GF(28)上の乗算を行ない、出力データY0として出力する。同様に、有限体乗算部210は、データX1と定数C2との乗算を行ないデータY1として出力し、データX2と定数C3との乗算を行ないデータY2として出力し、データX3と定数C4との乗算を行ないデータY3として出力する。上記一連の動作により
Y0=C1×X0
Y1=C2×X1
Y2=C3×X2
Y3=C4×X3
が計算される。但し、上記の乗算「×」は全て有限体GF(28)上で行われる。
上記処理の後、データ結合部21は、上位からデータY0、Y1、Y2およびY3を結合して32ビットデータYを第1変換部14の出力データとして出力する。
(第2変換部15の内部構成)
第2変換部15の内部構成は図6に示す通り、第1変換部14の構成において、定数記憶部32に記憶される定数がC1、C2、C3およびC4からC5、C6、C7およびC8にそれぞれに変わるだけであり、その他の内部構成および動作は第1変換部14と同一である。このため、その詳細な説明はここでは繰り返さない。
次に、図7を参照して、有限体乗算部110、210および310の内部構成と動作とについて説明する。
(有限体乗算部110、210および310の内部構成)
有限体乗算部110、210および310は、いずれも同一の内部構成を有し、同一の動作を行なう。このため、ここでは、有限体乗算部110の動作についてのみ説明する。有限体GF(28)上の乗算方法については、既に述べた通りであるが、ここでは、その計算をコンパクトな回路で実現した場合の構成を説明する。
有限体乗算部110は、8ビットの第1入力データXと第2入力データYに対して、有限体GF(28)上の乗算を行ない、8ビットの出力データZを出力する処理部であり、第1入力制御部411と、第2入力制御部414と、出力制御部412と、有限体2倍算部410と、データ融合部413と、データ分割部415とからなる。
第1入力制御部411および第2入力制御部414の各々は、2つの入力データのうちのどちらか一方を選択して、出力するよう制御を行なう。有限体2倍算部410は、入力データに対して有限体GF(28)上の2倍算を行なう。データ融合部413は、2つの入力データを融合させる。データ分割部415は、入力データを複数のデータに分割する。以下、有限体乗算部110の動作について説明する。
まず、データ分割部415は、8ビットの第2入力データYを上位から1ビットずつに分割して、それぞれ値Y7、Y6、・・・、Y0とする。次に、i=7、6、5、4、3、2、1、0の順に以下の(1)から(5)の処理を繰り返し実行する。
(1)第1入力制御部411は、i=7のときは8ビットの初期値=0を、i≠7のときは出力制御部412から出力される8ビットデータを有限体2倍算部410に入力する。
(2)有限体2倍算部410は、第1入力制御部411から入力される8ビットデータに対して有限体GF(28)上の2倍算を行ない、結果の8ビットデータをデータ融合部413に入力する。
(3)第2入力制御部414は、Yi(i=7、6、・・・、0)が0の場合は8ビット定数0を、それ以外の場合は第1入力データXをデータ融合部413に入力する。
(4)データ融合部413は、有限体2倍算部410から入力される8ビットデータと、第2入力制御部414から入力される8ビットデータとに対してビット毎の排他的論理和演算を行ない、演算結果の8ビットデータを出力制御部412に入力する。
(5)i≠0の場合は、出力制御部412は、データ融合部413から入力される8ビットデータを第1入力制御部411に入力する。その後、iの値が1だけ減らされ、(1)から処理が再度開始される。i=0の場合は、出力制御部412は、データ融合部413から入力される8ビットデータを有限体乗算部110の出力データとして出力する。その後、一連の処理が終了する。
上記の処理によって第1入力データXと第2入力データYとの乗算結果が計算できる理由について簡単に説明する。
第2入力データは、各ビットの値Y7、Y6、・・・、Y0を用いると
Y=Y7×27+Y6×26+・・・+Yi×2i+・・・+Y0
と表せるので、
X×Y=X×(Y7×27+Y6×26+・・・+Yi×2i+・・・+Y0)
=(・・・(((((0+X×Y7)×2+X×Y6)×2+X×Y5)×2+X×Y4)×2+X×Y3)・・・)×2+X×Y0
と表すことができる。この計算式を元にした処理を上記で行っている。
次に、有限体2倍算部410の内部構成および動作について説明する。
(有限体2倍算部410の内部構成)
図8は、有限体2倍算部410の内部構成を示した図である。
有限体2倍算部410は、入力される8ビットデータXに対して有限体GF(28)上の2倍算を行ない、その結果の8ビットデータYを出力する処理部であり、データ分割部511と、データ結合部512と、データ融合部513〜515とからなる。
データ分割部511は、入力データを1ビットずつのデータに分割する。データ結合部512は、複数個の入力データを結合して1つのデータとして出力する。データ融合部513〜515の各々は、2つの入力データを融合する。以下、有限体2倍算部410の動作について説明する。
まず、データ分割部511は、8ビット入力データXを上位から1ビットずつ分割して、上位からデータX7、X6、・・・、X0として出力する。次に、データ融合部513は、データX7とデータX3との排他的論理和演算を行ないデータY4として出力する。データ融合部514は、データX7とデータX2との排他的論理和演算を行ないデータY3として出力する。データ融合部515は、データX7とデータX0との排他的論理和演算を行ないデータY1として出力する。また、データX6、X5、X4、X1およびX7はそれぞれデータY7、Y6、Y5、Y2およびY0とされる。データ結合部512は、データY7、Y6、Y5、・・・、Y0を上位からこの順序で結合した8ビットデータを、有限体2倍算部410の出力データとして出力する。
有限体2倍算部410は、8ビット入力データXの各ビットX7、X6、・・・、X0に対して、
Y7=X6
Y6=X5
Y5=X4
Y4=X3(+)X7
Y3=X2(+)X7
Y2=X1
Y1=X0(+)X7
Y0=X7
として、8ビット出力データYの各ビットY7、Y6、・・・、Y0の値を算出している。このとき出力データYは、入力データXに対して有限体GF(28)上の2倍算を行った結果になっている。このことを簡単に説明する。
入力データXは、係数が有限体GF(2)の値である以下のようなαの多項式によって表せる。
X7×α7+X6×α6+・・・+X1×α+X0
このとき、有限体GF(28)上で2倍算を行なうということは、上の多項式にαを掛け算することであるから、
X7×α8+X6×α7+・・・+X1×α2+X0×α
となる。ここで、原始多項式がx8+x4+x3+x+1であることから、α8=α4+α3+α+1 が成り立つ。このため、上記の多項式は、
X6×α7+X5×α6+X4×α5+(X3+X7)×α4+(X2+X7)×α3+X1×α+(X0+X7)
と書き直される。これが
Y7×α7+Y5×α6+・・・+Y1×α+Y0
に対応することから、上述の有限体2倍算部410のような処理を行なう理由が説明できる。
データ変換装置1および2は、64ビットの入力データXに対して以下の処理を行っていることになる。
(1)入力データXを上位32ビット、下位32ビットに分割してデータX0およびX1とする。
(2)T0=(X0+K1)3+(X1+K2)3 および T1=(X0+K3)3+(X1+K4)3 を計算する。但し、ここでの加算、乗算は全て有限体GF(28)上の値を係数とする多項式剰余環上で行なう。
(3)32ビットのデータT0を上位から8ビットずつに分割して、データa0、a1、a2およびa3とし、32ビットのデータT1を上位から8ビットずつに分割して、データb0、b1、b2およびb3とする。
(4)G0=C1×a0‖C2×a1‖C3×a2‖C4×a3 および G1=C5×b0‖C6×b1‖C7×b2‖C8×b3を計算し、G0‖G1を出力データとして出力する。但し、「‖」はデータ連結を表し、上記の乗算は全て有限体GF(28)上で行なわれる。
有限体GF(28)上の値を係数とする多項式剰余環上の乗算は式(1)〜式(4)から分かるように、入力データの一部でも変更されると、その変更の影響が出力データの全てに及ぶことになる。例えば、式(1)〜式(4)においてデータX0の値が変更されるものとする。データX0は式(1)〜式(4)の全ての計算に使用されている。このため、出力データD0〜D3の全てに影響が及ぶことになる。他の値(X1〜X3、Y0〜Y3)についても同様のことが言える。このことにより、本実施の形態では、変換処理に上記の乗算を用いることで高いデータ撹乱性能を実現することができる。次に、本実施の形態では、二つ以上の変数の乗算(例えば、X×Y、X×Y×Z)ではなく、べき乗算を用いているが、これは、二つ以上の変数の乗算の場合、それらの変数のうちいずれか一つでも0の場合、その他の変数がどのような値であっても乗算結果は常に0となり、演算結果の値が0になる入力変数値の組み合わせが多数存在することになり、良好なデータ撹乱性能を示さないからである。一方、べき乗算を用いた場合には、入力変数値が0の時にしか演算結果が0とならないので、上記のようなデータ撹乱性能を低下させる問題がなくなり、高いデータ撹乱性能が保証される。
また、本実施の形態では、3乗のべき乗算を用いているが、これは以下の理由による。まず2乗算を用いて、Y=X2のような変換を考えたとき、入力値αに対する出力値は、α2である。次に、入力値αに差分Δが加わったときの出力値は、(α+Δ)2=α2+α×Δ+Δ×α+Δ2であり、α×Δ=Δ×αかつα×Δ+α×Δ=0(いずれも、有限体GF(28)上の計算方法から明らか)であることから、(α+Δ)2=α2+Δ2となる。従って、差分Δを入力値に加えることによる出力値の変化分は、Δ2である。即ち、出力値の変化分は、入力値αによらず一定の出力差分Δ2となってしまい、データ撹乱という観点からは好ましい性質とはいえない。これにより、少なくとも3乗以上のべき乗算を用いる必要があるが、べき数が大きいほどべき乗処理が多くなり変換処理負荷が高くなるため、本実施の形態では3乗のべき乗算を用いている。このとき、
(α+Δ)3=(α+Δ)×(α+Δ)×(α+Δ)
=(α2+α×Δ+Δ×α+Δ2)×(α+Δ)
=(α2+Δ2)×(α+Δ)
=α3+Δ×α2+Δ2×α+Δ3
となるので、3乗のべき乗算の場合には、2乗のべき乗算のように出力差分が入力値αによらず一定になることはない。なお、べき乗算のべき数NをN=2k (kは1以上の整数)とした場合には、べき乗算XNをデータ変換処理として入力値αに入力差分Δを与えたときの出力値(α+Δ)^(2k)=α^(2k)+Δ^(2k)となり、入力値によらず一定になることが以下のようにして分かる。ここで、「X^α」はXのα乗を意味する。
k=1の場合、べき数=2であるから、上記説明から出力値は(α+Δ)2=α2+Δ2である。次にk=m、即ちべき数=2mのときに(α+Δ)^(2m)=α^(2m)+Δ^(2m)が成り立つとしたとき、(α+Δ)^(2m+1)={(α+Δ)^(2m)}2={α^(2m)+Δ^(2m)}2=α^(2m+1)+Δ^(2m+1)が成り立つのでk=m+1の時にも上記のことは成り立つ。従って、数学的帰納法より1以上の任意の整数kに対して(α+Δ)^(2k)=α^(2k)+Δ^(2k)、となることが示される。従って、べき数としては2k(kは1以上の整数)以外の値であれば良いことが分かる。即ち、本実施の形態ではべき数として3を用いているが、これは、データ変換装置での処理時間に多少の時間がかかっても良いのであれば、2k(kは1以上の整数)以外である3以上の値であれば何でも良い。
また、本実施の形態では、(X+K)3のようにべき乗算の前に、定数Kによる加算(排他的論理和演算)を行っているが、この定数Kを変更することによって、データ変換装置の変換処理に多くのバリエーションを与えることができる。例えば、この定数Kを認証する相手ごとに使い分けることで、認証相手ごとに認証に用いる変換処理の使い分けができることになる。
このとき、(X+K)3の値が0になるのは、X=Kの時だけであるから、先に述べたようなべき乗演算を用いることにより、高いデータ撹乱性能が保障できるというメリットは損なわれない。
また、本実施の形態では、4つのデータA0〜A3に対して同一のべき数3によるべき乗算を行っているが、これは同一のべき数である必要はなく、それぞれ異なるべき数であってもよい。
さらに、本実施の形態のデータ変換装置では、データ撹乱のコアとなる処理に有限体GF(28)上の演算処理を用いている。このため、Reed−Solomon符号や、BCH(Bose-Chaudhuri-Hocqenghem)符号などの誤り訂正符号化回路で使用される有限体GF(28)上の演算回路との回路共有が可能となる。このため、機器全体としての実装規模が削減でき、コンパクトな回路規模での機器実装が実現される。
なお、本実施の形態の各データサイズはあくまでも一例であって、ここで述べたデータサイズ以外であってもかまわない。また、本実施の形態の原始多項式、剰余多項式もあくまでも一例であって、これに限られるものではない。
また、本実施の形態ではデータ変換装置を認証システムに用いた場合について述べているが、秘密のデータ変換を使用するようなものであれば何でも、本実施の形態のデータ変換装置が使用できる。データ変換装置の他の応用例としては、例えば図9に示すようなコンテンツ配信システムへの適用が考えられる。コンテンツ配信システムは、コンテンツを暗号化された状態で放送またはネットワークを介して配信するコンテンツ配信機器7と、前記配信される暗号化コンテンツを受信して復号化して再生する再生機器8とからなる。コンテンツ配信機器7は、データ変換装置70において鍵シードデータ(コンテンツ鍵を生成するためのシードとなるデータ)にデータ変換処理を行ない、コンテンツ鍵を生成する。そして、コンテンツ暗号化装置71において、平文のコンテンツデータに対して暗号化を行ない暗号化コンテンツデータを生成する。上記の処理の後、コンテンツ配信機器7は、鍵シードデータと暗号化コンテンツデータとを再生機器8に送付する。前記データを受信した再生機器8は、まずデータ変換装置80において、鍵シードデータに対して変換処理を行ない、コンテンツ鍵を生成する。そして、コンテンツ復号化装置81において、暗号化コンテンツデータを復号化し平文のコンテンツを得る。コンテンツの再生を認められた再生機器のみがコンテンツ配信機器が有するものと同じデータ変換装置を搭載することによって、不正規再生機器による配信コンテンツの再生を阻止することができる。
また、本実施の形態ではデータ融合部11a〜11dにおいてデータ融合を行なう固定値K1〜K4を予め定められた固定値としているが、これらの固定値をデータ変換装置外部から入力するようにして、使用者が自由に設定できるようにしてもよい。さらに、定数記憶部22に記憶される定数C1〜C4も予め設定された固定値としているが、これらも、データ変換装置外部から入力するようにして、使用者が自由に設定できるようにしてもよい。
また、本実施の形態では、有限体として有限体GF(28)を用いたが、それ以外の有限体であっても良く、例えば、有限体GF(2n)(nは自然数)であってもよい。
なお、ブロック図(図2など)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
図10は、図2に示したデータ変換装置と同様の機能を有するデータ変換装置を含む誤り訂正・データ変換装置のLSIの外観図を示している。図11は、誤り訂正・データ変換装置のLSIの構成を示す機能ブロック図である。
図11に示すように、誤り訂正・データ変換装置600は、データに対して誤り訂正符号化を行なった後、データ変換を行なう装置であり、リードソロモン誤り訂正符号化部601と、データ変換装置604とを備えている。
リードソロモン誤り訂正符号化部601は、入力されたデータに対してReed−Solomon誤り訂正符号化を行ない、符号化されたデータを出力する処理部であり、データ受信部602と、符号化部603とを備えている。データ受信部602は、外部より入力されるデータを受信する処理部である。符号化部603は、データ受信部602で受信されたデータに対し、有限体GF(2n)上の乗算を行なうことにより、Reed−Solomon誤り訂正符号化を行なう処理部である。符号化部603は、有限体GF(2n)上の乗算を行なう有限体乗算部110を備えている。有限体乗算部110の構成は上述したとおりである。
データ変換装置604は、上述のデータ変換装置1(2)と同様の構成を有するが、有限体多項式乗算部100の代わりに有限体多項式乗算部605を用い、第1変換部14の代わりに第1変換部606を用い、第2変換部15の代わりに第2変換部607を用いている。有限体多項式乗算部605は、符号化部603に設けられた有限体乗算部110を用いて有限体GF(2n)上の乗算を行なう点が有限体多項式乗算部100と異なり、その他の構成は有限体多項式乗算部100と同様である。第1変換部606は、符号化部603に設けられた有限体乗算部110を用いて有限体GF(2n)上の乗算を行なう点が第1変換部14と異なり、その他の構成は第1変換部14と同様である。第2変換部607は、符号化部603に設けられた有限体乗算部110を用いて有限体GF(2n)上の乗算を行なう点が第2変換部15と異なり、その他の構成は第2変換部15と同様である。
このように、リードソロモン誤り訂正符号化部601とデータ変換装置604とで有限体乗算部110を共有化することができる。このため、LSIの回路規模を削減することができる。
ここでは、LSIにより誤り訂正・データ変換装置600を実現したが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。別技術としてバイオ技術等が可能性としてありえる。
本発明にかかるデータ変換装置は、誤り訂正符号化回路とデータ変換回路の共有化を図ることにより、データ変換装置を含む回路全体の規模削減が可能であるという効果を有するので、例えば通信路を介して相手認証をする機能を有する機器などに有用である。また、この例に限られず、何らかのデータ変換回路の実装が必要な機器であればどのような機器であっても適用が可能である。
本発明の実施の形態に係る認証システムの構成を示すブロック図である。 本発明の実施の形態に係るデータ変換装置の構成の一例を示すブロック図である。 本発明の実施の形態に係る有限体多項式3乗部の構成の一例を示すブロック図である。 本発明の実施の形態に係る有限体多項式乗算部の構成の一例を示すブロック図である。 本発明の実施の形態に係る第1変換部の構成の一例を示すブロック図である。 本発明の実施の形態に係る第2変換部の構成の一例を示すブロック図である。 本発明の実施の形態に係る有限体乗算部の構成の一例を示すブロック図である。 本発明の実施の形態に係る有限体2倍算部の構成の一例を示すブロック図である。 本発明の変換装置をコンテンツ配信システムに適用した場合のシステム構成の一例を示すブロック図である。 誤り訂正・データ変換装置のLSIの外観図である。 誤り訂正・データ変換装置の構成の一例を示すブロック図である。
符号の説明
1,2,70,80 データ変換装置
3 認証装置
4 被認証装置
5 乱数生成器
6 データ比較器
7 コンテンツ配信機器
8 再生機器
10 有限体多項式3乗部
11a,11b,11c,11d,12,13,413,513,514,515 データ融合部
14 第1変換部
15 第2変換部
16,20,30,111,112,415,511 データ分割部
17,21,31,116,512 データ結合部
22,32 定数記憶部
71 コンテンツ暗号化装置
81 コンテンツ復号化装置
100 有限体多項式乗算部
101 入力制御部
102,412 出力制御部
110,210,310 有限体乗算部
113,114,115 データ加算部
410 有限体2倍算部
411 第1入力制御部
414 第2入力制御部

Claims (6)

  1. 有限体GF(2n)上の乗算を行なう有限体乗算手段と、
    複数のデータを取得する取得手段と、
    前記有限体乗算手段を利用して前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行うべき乗手段と、
    前記べき乗手段で変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成手段とを備え、
    前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
    前記べき乗手段は、第1入力データと第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を行う有限体多項式乗算部を有し、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
    前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の結果を得る
    ことを特徴とするデータ変換装置。
  2. 前記出力データ生成手段は、
    前記べき乗手段で変換された後の前記複数のデータ同士で、前記多項式剰余環上の加算を行なう加算部と、
    前記加算部の加算結果に対して所定の定数との前記有限体GF(2n)上の乗算を行なう乗算部とを有する
    ことを特徴とする請求項1に記載のデータ変換装置。
  3. 有限体乗算手段、取得手段、べき乗手段および出力データ生成手段を備えるデータ変換装置が実行するデータ変換方法であって、
    前記べき乗手段は、有限体多項式乗算部を有し、
    前記データ変換方法は、
    前記取得手段が、複数のデータを取得する取得ステップと、
    前記べき乗手段が、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行なうべき乗ステップと、
    前記出力データ生成手段が、前記べき乗ステップで変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成ステップとを含み、
    前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
    前記べき乗ステップでは、前記べき乗手段が、第1入力データと第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を行う前記有限体多項式乗算部を用いて、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
    前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを、有限体GF(2n)上の乗算を行なう前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の結果を得る
    ことを特徴とするデータ変換方法。
  4. 前記出力データ生成手段は加算部と乗算部とを含み、
    前記出力データ生成ステップは、
    前記加算部が、前記べき乗ステップで変換された後の前記複数のデータ同士で、前記多項式剰余環上の加算を行なう加算サブステップと、
    前記乗算部が、前記加算サブステップの加算結果に対して所定の定数との前記有限体GF(2n)上の乗算を行なう乗算サブステップとを含む
    ことを特徴とする請求項に記載のデータ変換方法。
  5. 有限体GF(2n)(nは自然数)上の乗算を行なう有限体乗算手段と、
    複数のデータを取得する取得手段と、
    前記有限体乗算手段を利用して前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行なうべき乗手段と、
    前記べき乗手段で変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成手段とを備え、
    前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
    前記べき乗手段は、第1入力データと第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を行う有限体多項式乗算部を有し、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
    前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2)上の値を係数とする多項式剰余環上の結果を得る
    ことを特徴とする集積回路。
  6. コンピュータを、請求項1または請求項2に記載のデータ変換装置として機能させるためのプログラム。
JP2004274103A 2003-10-14 2004-09-21 データ変換装置およびその方法 Expired - Fee Related JP4851077B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004274103A JP4851077B2 (ja) 2003-10-14 2004-09-21 データ変換装置およびその方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003353439 2003-10-14
JP2003353439 2003-10-14
JP2004274103A JP4851077B2 (ja) 2003-10-14 2004-09-21 データ変換装置およびその方法

Publications (3)

Publication Number Publication Date
JP2005141198A JP2005141198A (ja) 2005-06-02
JP2005141198A5 JP2005141198A5 (ja) 2007-08-30
JP4851077B2 true JP4851077B2 (ja) 2012-01-11

Family

ID=34702806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004274103A Expired - Fee Related JP4851077B2 (ja) 2003-10-14 2004-09-21 データ変換装置およびその方法

Country Status (1)

Country Link
JP (1) JP4851077B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013835A (ja) * 2005-07-04 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> 暗号化データ復号装置及びその方法
JP5354914B2 (ja) * 2008-01-18 2013-11-27 三菱電機株式会社 暗号処理装置及び復号処理装置及びプログラム
JP4612698B2 (ja) * 2008-02-28 2011-01-12 日本電信電話株式会社 多項式乗算装置、多項式乗算方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185518A (ja) * 1995-12-28 1997-07-15 Toshiba Corp 原始元αのべき乗生成方式及びその装置
JPH1152854A (ja) * 1997-07-31 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> 有限体上の四則演算装置及び楕円曲線上の群演算装置
JP2000321979A (ja) * 1999-05-14 2000-11-24 Matsushita Electric Ind Co Ltd 多項式演算装置、楕円曲線位数計算装置、楕円曲線生成装置及び楕円曲線暗号システム
EP1217750A2 (en) * 2000-12-15 2002-06-26 Alcatel USA Sourcing, L.P. Optimized parallel in parallel out GF(2M) squarer for FEC decoder
JP4676071B2 (ja) * 2001-02-13 2011-04-27 富士通株式会社 べき乗剰余演算方法、逆数演算方法およびそれらの装置
JP3732450B2 (ja) * 2002-03-19 2006-01-05 沖電気工業株式会社 剰余演算器
JP2004164383A (ja) * 2002-11-14 2004-06-10 Sony Corp 回路構成方法、その方法およびそのプログラム

Also Published As

Publication number Publication date
JP2005141198A (ja) 2005-06-02

Similar Documents

Publication Publication Date Title
EP1673690B1 (en) Data converter
JP4127472B2 (ja) データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体
JP3992742B2 (ja) データブロックおよび鍵を非線形的に結合する暗号方法および装置
JP3225440B2 (ja) デジタル信号ブロックの変換装置およびその使用方法
EP1081889A2 (en) Extended key generator, encryption / decryption unit, extended key generation method, and storage medium
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
Gutub et al. Hybrid crypto hardware utilizing symmetric-key and public-key cryptosystems
US8122075B2 (en) Pseudorandom number generator and encryption device using the same
CN116488806A (zh) 一种密钥封装方法、装置、设备及存储介质
EP0996250A2 (en) Efficient block cipher method
JP4851077B2 (ja) データ変換装置およびその方法
CN118590219B (zh) 轻量级加密方法、解密方法、相关设备及车辆
US8484471B2 (en) Multi-party distributed multiplication device, multi-party distributed multiplication system and method
CN116366251B (zh) 基于向量解码的格公钥数据加解密方法和密钥封装方法
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
Ramya et al. Implementation and analysis of Feistel and SPN structured ciphers-CLEFIA and PRESENT
JP2021047371A (ja) 情報処理装置、情報処理方法及びプログラム
JP3473171B2 (ja) 逐次暗号方式
TWI886961B (zh) 基於後量子密碼學的同態加解密系統及方法
JP2012235287A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP4141773B2 (ja) 復号処理装置
JP2008009051A (ja) 復号装置と復号方法、復号プログラム及び鍵生成装置
KR100679627B1 (ko) 암복호화방법
JP4015608B2 (ja) 公開鍵暗号システムと復号装置
JP2007140095A (ja) 暗号通信装置とそのプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111020

R150 Certificate of patent or registration of utility model

Ref document number: 4851077

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees