JP4851077B2 - データ変換装置およびその方法 - Google Patents
データ変換装置およびその方法 Download PDFInfo
- 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
Links
Images
Description
岡本龍明、山本博資「現代暗号」(産業図書)、1997年
(データ変換装置を利用した認証システムの構成)
図1は、本発明の実施の形態に係る認証システムの構成を示すブロック図である。この認証システムは、認証装置3が被認証装置4をチャレンジ−レスポンス認証方式によって認証する。本認証システムとしては、例えば認証装置3を自動車のドアの開錠および施錠を制御する車載機とし、被認証装置4をユーザが自動車のドアの開錠および施錠のために携帯する携帯端末とする自動車のキーレスエントリシステムなどが具体的に考えられる。
データ変換装置1、2は同一の構成であるから、以下ではデータ変換装置1の内部構成のみについて説明する。
図3は、有限体多項式3乗部10の内部構成の一例を示した図である。有限体多項式3乗部10は、有限体GF(28)上の値を係数とする多項式剰余環上の3乗算を行なう処理部であり、入力制御部101と、有限体多項式乗算部100と、出力制御部102とからなる。
図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)上の演算および多項式剰余環上の演算について簡単に説明する。
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として計算される。
ここで、「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として計算される。
ここで、L(X)は既に説明した通り、剰余多項式L(X)=X4−1であり、上記の多項式係数の加算、乗算は有限体GF(28)上で行われる。このため、上式は、以下のように計算される。
+(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)であることから、上記の式はさらに、以下のように変形できる。
+(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)上で行われる。
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の積を示している理由については既に説明した通りである。
Z0=X0×Y0
を計算する。
Z1=X3×Y1
を計算する。同様にして
Z2=X2×Y2
Z3=X1×Y3
を計算する。
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の内部構成)
図5は、第1変換部14の内部構成の一例を示した図である。
Y0=C1×X0
Y1=C2×X1
Y2=C3×X2
Y3=C4×X3
が計算される。但し、上記の乗算「×」は全て有限体GF(28)上で行われる。
第2変換部15の内部構成は図6に示す通り、第1変換部14の構成において、定数記憶部32に記憶される定数がC1、C2、C3およびC4からC5、C6、C7およびC8にそれぞれに変わるだけであり、その他の内部構成および動作は第1変換部14と同一である。このため、その詳細な説明はここでは繰り返さない。
有限体乗算部110、210および310は、いずれも同一の内部構成を有し、同一の動作を行なう。このため、ここでは、有限体乗算部110の動作についてのみ説明する。有限体GF(28)上の乗算方法については、既に述べた通りであるが、ここでは、その計算をコンパクトな回路で実現した場合の構成を説明する。
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の内部構成)
図8は、有限体2倍算部410の内部構成を示した図である。
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倍算を行った結果になっている。このことを簡単に説明する。
このとき、有限体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のような処理を行なう理由が説明できる。
(α+Δ)3=(α+Δ)×(α+Δ)×(α+Δ)
=(α2+α×Δ+Δ×α+Δ2)×(α+Δ)
=(α2+Δ2)×(α+Δ)
=α3+Δ×α2+Δ2×α+Δ3
となるので、3乗のべき乗算の場合には、2乗のべき乗算のように出力差分が入力値αによらず一定になることはない。なお、べき乗算のべき数NをN=2k (kは1以上の整数)とした場合には、べき乗算XNをデータ変換処理として入力値αに入力差分Δを与えたときの出力値(α+Δ)^(2k)=α^(2k)+Δ^(2k)となり、入力値によらず一定になることが以下のようにして分かる。ここで、「X^α」はXのα乗を意味する。
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)
- 有限体GF(2n)上の乗算を行なう有限体乗算手段と、
複数のデータを取得する取得手段と、
前記有限体乗算手段を利用して前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行うべき乗手段と、
前記べき乗手段で変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成手段とを備え、
前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
前記べき乗手段は、第1入力データと第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を行う有限体多項式乗算部を有し、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の結果を得る
ことを特徴とするデータ変換装置。 - 前記出力データ生成手段は、
前記べき乗手段で変換された後の前記複数のデータ同士で、前記多項式剰余環上の加算を行なう加算部と、
前記加算部の加算結果に対して所定の定数との前記有限体GF(2n)上の乗算を行なう乗算部とを有する
ことを特徴とする請求項1に記載のデータ変換装置。 - 有限体乗算手段、取得手段、べき乗手段および出力データ生成手段を備えるデータ変換装置が実行するデータ変換方法であって、
前記べき乗手段は、有限体多項式乗算部を有し、
前記データ変換方法は、
前記取得手段が、複数のデータを取得する取得ステップと、
前記べき乗手段が、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行なうべき乗ステップと、
前記出力データ生成手段が、前記べき乗ステップで変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成ステップとを含み、
前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
前記べき乗ステップでは、前記べき乗手段が、第1入力データと第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を行う前記有限体多項式乗算部を用いて、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを、有限体GF(2n)上の乗算を行なう前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の結果を得る
ことを特徴とするデータ変換方法。 - 前記出力データ生成手段は加算部と乗算部とを含み、
前記出力データ生成ステップは、
前記加算部が、前記べき乗ステップで変換された後の前記複数のデータ同士で、前記多項式剰余環上の加算を行なう加算サブステップと、
前記乗算部が、前記加算サブステップの加算結果に対して所定の定数との前記有限体GF(2n)上の乗算を行なう乗算サブステップとを含む
ことを特徴とする請求項3に記載のデータ変換方法。 - 有限体GF(2n)(nは自然数)上の乗算を行なう有限体乗算手段と、
複数のデータを取得する取得手段と、
前記有限体乗算手段を利用して前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行なうべき乗手段と、
前記べき乗手段で変換された後の前記複数のデータに基づいて出力データを生成する出力データ生成手段とを備え、
前記所定のべき数は3以上であり、かつ2m(mは1以上の整数)以外の値であり、
前記べき乗手段は、第1入力データと第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を行う有限体多項式乗算部を有し、前記複数のデータの各々について、当該データを前記第1入力データとし、初回の多項式剰余環上の乗算では当該データを前記第2入力データとし、2回目以降の多項式剰余環上の乗算では直近の多項式剰余環上の乗算結果を前記第2入力データとして、前記有限体多項式乗算部により前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の乗算を、(前記所定のべき数−1)回繰り返した乗算結果を変換後の値とすることにより、前記複数のデータの各々に対して、有限体GF(2n)(nは自然数)上の値を係数とする多項式剰余環上における所定のべき数による、べき乗演算に基づく変換を行い、
前記有限体多項式乗算部は、前記第1入力データをnビットずつ分割した複数の第1分割データの各々と、前記第2入力データをnビットずつ分割した複数の第2分割データの各々とを前記有限体乗算手段の入力とすることにより得られる有限体GF(2n)上の乗算結果を加算器を用いて加算し、加算結果を結合することにより、前記第1入力データと前記第2入力データとの有限体GF(2n)上の値を係数とする多項式剰余環上の結果を得る
ことを特徴とする集積回路。 - コンピュータを、請求項1または請求項2に記載のデータ変換装置として機能させるためのプログラム。
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)
| 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)
| 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 | 回路構成方法、その方法およびそのプログラム |
-
2004
- 2004-09-21 JP JP2004274103A patent/JP4851077B2/ja not_active Expired - Fee Related
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 |