JP5726394B2 - 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置 - Google Patents

非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置 Download PDF

Info

Publication number
JP5726394B2
JP5726394B2 JP2007335265A JP2007335265A JP5726394B2 JP 5726394 B2 JP5726394 B2 JP 5726394B2 JP 2007335265 A JP2007335265 A JP 2007335265A JP 2007335265 A JP2007335265 A JP 2007335265A JP 5726394 B2 JP5726394 B2 JP 5726394B2
Authority
JP
Japan
Prior art keywords
data
linear
unit
transformation matrix
nonlinear function
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.)
Active
Application number
JP2007335265A
Other languages
English (en)
Other versions
JP2009157110A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2007335265A priority Critical patent/JP5726394B2/ja
Publication of JP2009157110A publication Critical patent/JP2009157110A/ja
Application granted granted Critical
Publication of JP5726394B2 publication Critical patent/JP5726394B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、非線形関数器、ストリーム暗号の暗号化装置、復号化装置、MAC生成装置に関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びているが、ストリーム暗号方式の場合には、暗号処理と復号処理との同期をとらなければならないという問題があった。そのため、一定サイズ以上の誤りなく受信した暗号文を利用して、同期を自動的に回復する自己同期型のストリーム暗号装置が提案されている(例えば、特許文献1参照。)。
ここで、ストリーム暗号の構成要素として、周期系列を生成する生成器と非線形フィルタとが存在するが、その安全性は主に非線形フィルタの構成方法に依存している。そのため、ストリーム暗号の安全性を高めるために、図12に示すように複数の内部メモリ(図中、L1,L2、R1、R2)が非線形置換器(図中、Sub)や演算器を介して、環状に接続することにより、安全性を相乗的に高める非線形フィルタの構成方法も考えられる。
特開2001−16197号公報
しかしながら、上記の構成では、ソフトウエア実装を念頭に構成されているため、これをハードウエア実装しようとすると、1つのユニットの演算単位が、例えば8ビットと大きいために、部品の共有化が進まず回路規模が大きくなる等の問題点がある。
そこで、本発明は、上述の課題に鑑みてなされたものであり、安全性を維持しつつ、実装する回路の小規模化を可能とする非線形関数器およびこれを用いたストリーム暗号の暗号化装置、復号化装置、MAC生成装置を提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(1)本発明は、乱数系列のビットデータ(例えば、図1のB1、B5、B10、B11、A1、A5)を入力し、変換されたビットデータを複数の内部メモリ(例えば、図1の内部メモリ21、22、23、24)から出力する非線形関数器であって、前記入力する乱数系列のビットデータのうち一部のビットデータ(例えば、図1のB1、B5、B10、B11)と前記複数の内部メモリのうち一部の内部メモリデータとを演算する第1の演算器(例えば、図1の25a、25b、25c、25d)と、該第1の演算器のうち一部の演算器(例えば、図1の25a、25d)の演算結果と前記一部の内部メモリデータとは異なる内部メモリデータとを演算する第2の演算器(例えば、図1の27a、27c)と、前記入力する乱数系列のビットデータのうち一部のビットデータとは異なるビットデータ(例えば、図1のA1、A5)と前記第2の演算器の演算結果とを演算する第3の演算器(例えば、図1の27b、27d)と、を備えた第1の回路網と、第1の内部メモリ(例えば、図1のL2に相当)、第2の内部メモリ(例えば、図1のR1に相当)、第3の内部メモリ(例えば、図1のR2に相当)、第4の内部メモリ(例えば、図1のL1に相当)、第1の非線形置換器(例えば、図1の26aに相当)、第2の非線形置換器(例えば、図1の26bに相当)、第3の非線形置換器(例えば、図1の26dに相当)、第4の非線形置換器(例えば、図1の26cに相当)、第1の逆変換行列(例えば、図1の29aに相当)、第2の逆変換行列(例えば、図1の29dに相当)、第3の逆変換行列(例えば、図1の29bに相当)、第4の逆変換行列(例えば、図1の29cに相当)、第1の変換行列(例えば、図1の28aに相当)と、第2の変換行列(例えば、図1の28bに相当)とからなり、前記第1の内部メモリが、前記第1の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第1の逆変換行列に出力し、前記第1の逆変換行列により逆変換されたデータが、前記第1の演算器の一部である第1の加算器および第2の加算器に出力され、前記第2の加算器が前記第1の逆変換行列から入力したデータと前記入力する乱数系列のビットデータのうち一部のビットデータとの加算処理を行なって、前記第1の変換行列に出力し、前記第1の変換行列により変換されたデータが前記第2の非線形置換器に出力され、前記第2の非線形置換器が、前記第1の変換行列から入力したデータに対して、非線形置換処理を行なったデータを前記第2の内部メモリに出力し、前記第2の内部メモリが、前記第2の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第3の非線形置換器および第2の逆変換行列に出力し、前記第2の逆変換行列により逆変換されたデータが、前記第2の演算器の一部である第1の排他的論理和演算器に出力され、前記第3の非線形置換器が、前記第2の内部メモリから入力したデータに対して、非線形置換処理を行なったデータを前記第3の内部メモリに出力し、前記第3の内部メモリが、前記第3の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第3の逆変換行列に出力し、前記第3の逆変換行列により逆変換されたデータが、前記第1の演算器の一部である第3の加算器および第4の加算器に出力され、前記第3の加算器が前記第3の逆変換行列から入力したデータと前記入力する乱数系列のビットデータのうち一部のビットデータとの加算処理を行なって、前記第2の変換行列に出力し、前記第第2の変換行列により変換されたデータが前記第4の非線形置換器に出力され、前記第4の非線形置換器が、前記第2の変換行列から入力したデータに対して、非線形置換処理を行なったデータを前記第4の内部メモリに出力し、前記第4の内部メモリが、前記第4の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第1の非線形置換器および第4の逆変換行列に出力し、前記第4の逆変換行列により逆変換されたデータを前記第2の演算器の一部である第2の排他的論理和演算器に出力する環状に接続された第2の回路網と、を備え、前記第2の回路網が、32ビット以下のm(m:正の整数)ビットの入力データに対して、内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行することを特徴とする非線形関数器を提案している。
この発明によれば、入力した乱数系列のビットデータと複数の内部メモリのうち一部の内部メモリデータとを演算する演算器と、入力ビットデータを非線形置換する非線形置換器と、を備え、複数の内部メモリが非線形置換器および演算器を介して、環状に接続されるとともに、乱数系列のビットデータが入力され、演算器により演算された出力データの元を変換する変換行列を設け、内部メモリの出力端に変換行列に対応する逆変換行列を設けて、32ビット以下のm(m:正の整数)ビットの入力データに対して、内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行する。したがって、非線形置換器の入力に入力データの元を変換(写像)する変換行列を設けたため、32ビット以下のm(m:正の整数)ビットの入力データに対して、内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行することができる。
(2)本発明は、(1)の非線形関数器について、前記変換行列が1バイトのデータをx(x:正の整数)ビットの元からn(n:x>nの正の整数)ビットの元に変換し、前記逆変換行列が1バイトのデータをn(n:x>nの正の整数)ビットの元からx(x:正の整数)ビットの元に変換することを特徴とする非線形関数器を提案している。
この発明によれば、変換行列が1バイトのデータをx(x:正の整数)ビットの元からn(n:x>nの正の整数)ビットの元に変換し、前記逆変換行列が1バイトのデータをn(n:x>nの正の整数)ビットの元からx(x:正の整数)ビットの元に変換する。したがって、32ビット以下のm(m:正の整数)ビットの入力データに対して、非線形置換器の内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行することができる。
(3)本発明は、(1)または(2)の非線形関数器について、前記非線形置換器が、非線形置換処理部(例えば、図3の非線形置換処理部31に相当)と線形攪拌処理部(例えば、図3の線形攪拌処理部32に相当)とからなり、該非線形置換処理部がさらに、逆元変換処理部とアフィン変換処理部とからなる処理ブロックを32/l(l:正の整数)系統備え、逆元変換処理部およびアフィン変換処理部が各処理をn(n:m>nの正の整数)ビットのデータ単位で実行する非線形関数器を提案している。
この発明によれば、非線形置換器が、非線形置換処理部と線形攪拌処理部とからなり、この非線形置換処理部がさらに、逆元変換処理部とアフィン変換処理部とからなる処理ブロックを32/l(l:正の整数)系統備え、逆元変換処理部およびアフィン変換処理部が各処理をn(n:m>nの正の整数)ビットのデータ単位で実行する。したがって、32ビット以下のm(m:正の整数)ビットビットの入力データに対して、非線形置換器の内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行することができる。
(4)本発明は、(3)の非線形関数器について、前記逆元変換処理部が2乗算器と、乗算器と、加算器とから構成されることを特徴とする非線形関数器提案している。
この発明によれば、逆元変換処理部が2乗算器と、乗算器と、加算器とから構成される。したがって、逆元変換処理部の内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
(5)本発明は、(3)の非線形関数器について、前記アフィン変換処理部の処理が行列演算により実行されることを特徴とする非線形関数器を提案している。
この発明によれば、アフィン変換処理部の処理が行列演算により実行される。したがって、アフィン変換処理部の内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
(6)本発明は、(3)の非線形関数器について、前記線形攪拌処理部が、加算器と、定数乗算器とから構成されることを特徴とする非線形関数器を提案している。
この発明によれば、線形攪拌処理部が、加算器と、定数乗算器とから構成される。したがって、線形攪拌処理部の内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
(7)本発明は、(1)から(6)のいずれかに記載の非線形関数器と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、暗号文を出力する排他的論理和演算手段と、を備えたことを特徴とするストリーム暗号の暗号化装置を提案している。
この発明によれば、(1)から(6)のいずれかの非線形関数器を用いて、ストリーム暗号の暗号化装置を構成することができる。したがって、安全でかつ高速な処理を行うとともに、実装する回路の小規模化を可能とするストリーム暗号の暗号化装置を構成することができる。
(8)本発明は、(1)から(6)のいずれかに記載の非線形関数器と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、該鍵系列データ生成手段において生成された鍵系列のビットデータと暗号文との排他的論理和演算を行って、平文を出力する排他的論理和演算手段と、 を備えたことを特徴とするストリーム暗号の復号化装置を提案している。
この発明によれば、(1)から(6)のいずれかの非線形関数器を用いて、ストリーム暗号の復号化装置を構成することができる。したがって、安全でかつ高速な処理を行うとともに、実装する回路の小規模化を可能とするストリーム暗号の復号化装置を構成することができる。
(9)本発明は、(1)から(6)のいずれかに記載の非線形関数器と、前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、演算結果を前記乱数系列データ生成手段にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する排他的論理和演算手段と、を備えたことを特徴とするMAC生成装置を提案している。
この発明によれば、(1)から(6)のいずれかの非線形関数器を用いて、MAC生成装置を構成することができる。したがって、安全でかつ高速な処理を行うとともに、実装する回路の小規模化を可能とするMAC生成装置を構成することができる。
本発明によれば、複数の内部メモリが非線形置換器および演算器を介して、環状に接続されているため、これをストリーム暗号装置等に用いた場合には、安全性を相乗的に増加させることができるという効果がある。また、非線形関数器の内部処理を従来の8ビット単位での処理からこれよりも小さいn(n:正の整数)ビット単位の処理とするとともに、簡易な回路要素で全体の回路を構成したため、ハードウエア実装における回路規模を小規模化することができるという効果がある。
以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<非線形関数器の構成および処理>
本実施形態に係る非線形関数器20は、従来、GF(2)上の元として8ビットごとのデータに対して行われていた処理を、GF((2)上の元として、4ビットごとのデータに対して内部処理を行い、ハードウエア実装における回路の小規模化を図るものである。以下に、その構成と処理の詳細について説明する。
非線形関数器20は、図1に示すように、複数の内部メモリ21、22、23、24(図中、L1、L2、R1、R2)と、加算器25a、25b、25c、25d(第1の演算器)と、非線形置換器(Sub)26a、26b、26c、26dと、排他的論理和演算器(XOR)27a、27c(第2の演算器)、27、27d(第3の演算器)と、変換行列28a、28bと、逆変換行列29a、29b、29c、29dとから構成されている。
本実施形態に係る非線形関数器20は、図1に示すように、L2→逆変換行列29a→加算器25b→変換行列28a→非線形置換器(Sub)26b→R1→非線形置換器(Sub)26d→R2→逆変換行列29b→加算器25c→変換行列28b→非線形置換器(Sub)26c→L1→非線形置換器(Sub)26a→L2といった複数の内部メモリ21、22、23、24が非線形置換器(Sub)26a、26b、26c、26dや加算器25a、25b、25c、25dを介して、環状に接続されている。このような構成をとることにより、非線形置換の効果を相乗的に増加させて、暗号化装置等の安全性を向上させることができる。
複数の内部メモリ21、22、23、24は、上記のような構成になっているため、隣接する内部メモリのデータを非線形置換器(Sub)26a、26b、26c、26dにより非線形置換したデータに更新され、更新されたデータを変換されたビット列として出力する。
加算器25a、25b、25c、25dは、入力される乱数系列のビット列と複数の内部メモリ21、22、23、24のうちの一部のメモリに格納されているビット列データを逆変換行列29a、29b、29c、29dにより元を逆変換したビット列データとを加算する演算器である。なお、本実施形態では、加算器25a、25b、25c、25dを例示したが、これに代えて排他的論理和演算器(XOR)を用いてもよい。
変換行列28a、28b(図中、Tと示す)は、バイト単位に変換を行う処理である。ここでは、1バイトのデータをGF(2)の元からGF((2)の元への変換を行う。この変換は、数1の行列を用いて行うことができる。
Figure 0005726394
つまり、1バイトのデータを数2とし、縦行列とみなしたとき、数3となる。
Figure 0005726394
Figure 0005726394
逆変換行列29a、29b、29c、29d(図中、T−1と示す)は、変換行列28a、28b(図中、Tと示す)の逆処理を行う処理である。ここでは、バイト単位に1バイトのデータをGF((2)の元からGF(2)の元への変換を行う。この変換は、数4の逆行列を用いて行うことができる。
Figure 0005726394
つまり、1バイトのデータを数5とし、縦行列とみなしたとき、数6となる。
Figure 0005726394
Figure 0005726394
非線形置換器(Sub)26a、26b、26c、26dは、入力するビット列データを非線形置換する。さらに、非線形置換器(Sub)26a、26b、26c、26dは、図3に示すように、非線形置換処理部31と、線形攪拌処理部32とから構成されている。
ここでの非線形変換は、各バイトをGF((2)の元に変換されたデータに対して処理を行うことになる。なお、各バイトをGF((2)の元と見た場合でも、GF(2)の場合と同様に非線形置換処理と線形攪拌処理とに分けて考えることができる。
非線形置換処理は、従来、バイト単位にバイト非線形変換を行う処理であった。そのため、本実施形態では、GF((2)の元に対して、バイト非線形変換を行う。また、バイト非線形変換は、図4に示すように、逆元変換部33a、33b、33c、33dによる逆元変換と、アフィン変換部34a、34b、34c、34dによるアフィン変換とからなる。
なお、本実施形態では、32ビットの入力データに対して、上記逆元変換部33a、33b、33c、33dとアフィン変換部34a、34b、34c、34dとからなる処理ブロックを4系統設け、それぞれの入力を8ビット単位とするとともに、後述する内部回路構成により、それぞれの逆元変換部33a、33b、33c、33dおよびアフィン変換部34a、34b、34c、34dの内部では、4ビット単位の処理を実現している。
<逆元変換処理>
数式を用いて、逆元変換処理について説明する。
まず、A∈GF((2)に対して、B∈GF((2)をB=A−1とする。ここで、GF((2)の生成元βを用いて、AおよびBを数7、数8とする。
Figure 0005726394
Figure 0005726394
このとき、数7および数8から、数9、数10のように求められ、Aの逆元Bが算出される。なお、数9、数10において、Δは、数11のように表わされる。また、ここでの演算はすべてGF(2)上の演算として実行される。
Figure 0005726394
Figure 0005726394
Figure 0005726394
上記の処理を回路構成で示すと図7のようになる。ここで、加算(+)はGF(2)上の加算を表す。つまり、排他的論理和(XOR)処理となる。また、2乗算、乗算(×)はそれぞれGF(2)上の2乗算、乗算(×)であり、逆元はGF(2)上で逆元を求める計算である。また、×ω14はGF(2)の生成元であるωの14乗を掛ける処理となる。
さらに、逆元演算は、図8に示すように、2乗算と乗算とで構成される。したがって、逆元変換処理部の内部処理を4ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
<アフィン変換処理>
次に、数式を用いて、アフィン変換処理について説明する。
アフィン変換は入力をa∈GF(2)、出力をb∈GF(2)としたとき、従来は、行列を用いて次の数12のように表される変換であった。ここで、Pは8×8の行列であり、qはGF(2)の元である。
Figure 0005726394
今、上記のアフィン変換をGF((2)上で考える。そこで、入力をA∈GF((2)、出力をB∈GF((2)とすると、行列Pとの演算は、従来、GF(2)の元に対して行われていたため、入力の元GF((2)をGF(2)に変換する必要がある。そのため、出力Bは、数13のようになる。また、P、qの値から、TPT−1、Tqは、それぞれ、数14、数15となる。
Figure 0005726394
Figure 0005726394
Figure 0005726394
したがって、アフィン変換処理部の処理が行列演算により実行されるため、アフィン変換処理部の内部処理を4ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
<線形攪拌処理>
次に、数式を用いて、線形攪拌処理について説明する。
線形攪拌処理は、入力値を数16、出力値を数17としたときに、従来は、数18のように求められた。つまり、bは、数19のようになっていた。
Figure 0005726394
Figure 0005726394
Figure 0005726394
Figure 0005726394
そこで、この計算をGF((2)上で考える。つまり、入力値と出力値をそれぞれ、数20、数21とすると、Bは、数22のようになる。
Figure 0005726394
Figure 0005726394
Figure 0005726394
ここで、任意のx∈GF((2)に対して、(T01)・x=xであり、T03=T(02+01)=T02+T01であるから、Bは、数23のように表わすことができる。なお、B、B、Bについても同様に求めることができる。
Figure 0005726394
また、x、y∈GF((2)を数24とし、x、yをそれぞれ数25、数26と表記した場合、y、yは、数27、数28となる。
Figure 0005726394
Figure 0005726394
Figure 0005726394
Figure 0005726394
Figure 0005726394
上記の処理を回路構成で示すと図5のようになる。ここで、加算はGF((2)上の加算を表す。つまり、排他的論理和(XOR)処理となる。また、(T02)・xはT02を乗算する処理である。さらに、(T02)・xの処理は、図6に示すような回路構成となる。ここで、加算(+)はGF(2)上の加算を表す。つまり、排他的論理和(XOR)処理となる。また、×ωはGF(2)の生成元であるωを、×ω11はωの11乗を掛ける処理である。
したがって、線形攪拌処理部の内部処理を4ビットのデータ単位で実行するとともに、簡易な回路要素により処理回路を構成したことから、回路の小規模化を図ることができる。
[第1の応用例]
本応用例に係るストリーム暗号の暗号化装置は、図9に示すように、周期系列生成装置10と、非線形関数器20と、鍵系列生成部30と、排他的論理和演算器(XOR)40とから構成されている。なお、非線形関数器20については、その内容について、上記にて説明したため、詳細な説明は、省略する。
周期系列生成装置10は、乱数系列のビット列を生成し、非線形関数部20に供給する。鍵系列生成部30は、非線形関数部2が出力した変換されたビット列から鍵系列のビット列を生成する。排他的論理和演算器(XOR)40は、鍵系列生成部3が生成した鍵系列のビット列と平文とを入力し、これらの排他的論理和演算を実行することにより暗号文を出力する。
したがって、本応用例のストリーム暗号の暗号化装置においては、上記の非線形関数器により装置を構成したことから、安全かつ高速な処理を実現するとともに、ハードウエア実装において、回路を小規模化することができる。
[第2の応用例]
本応用例に係るストリーム暗号の復号化装置は、図10に示すように、周期系列生成装置10と、非線形関数器20と、鍵系列生成部30と、排他的論理和演算器(XOR)50とから構成されている。なお、第1の応用例と同様の符号を付す要素については、同様の機能を有するものであるから、詳細な説明は省略する。本応用例に係るストリーム暗号の復号化装置においては、第1の応用例に係るストリーム暗号の暗号化装置に比べて、排他的論理和演算器(XOR)50が鍵系列生成部30により生成された鍵系列のビット列と暗号文とを入力し、これらの排他的論理和演算を実行することにより平文を出力する構成となっている点で相違している。
したがって、本応用例のストリーム暗号の復号化装置においては、上記の非線形関数器により装置を構成したことから、安全かつ高速な処理を実現するとともに、ハードウエア実装において、回路を小規模化することができる。
[第3の応用例]
本応用例に係るMAC生成装置は、図11に示すように、周期系列生成装置10と、非線形関数器20と、鍵系列生成部30と、排他的論理和演算器(XOR)40とから構成されている。なお、第1の応用例と同様の符号を付す要素については、同様の機能を有するものであるから、詳細な説明は省略する。本応用例に係るMAC生成装置の基本構成は、第1の応用例に係るストリーム暗号の暗号化装置と同様であるが、排他的論理和演算器(XOR)40から出力される暗号文を周期系列生成装置10にフィードバックする点が異なっている。
したがって、本応用例のMAC生成装置においては、上記の非線形関数部により装置を構成したことから、安全かつ高速な処理を実現するとともに、ハードウエア実装において、回路を小規模化することができる。
なお、本発明は、様々なストリーム暗号の評価に広く適用することができる。したがって、ストリーム暗号を使用するようなブロードバンド事業や携帯電話をはじめとするモバイル通信におけるシステム構築に広く利用することが可能である。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、本実施形態においては、従来8ビット単位で行われていた非線形関数器の処理を4ビットごとに行う例について説明したが、これに限らず、より小さなビット単位で処理するようにしてもよい。
本発明に係る非線形関数器の構成を示す図である。 あるラウンドiにおけるレジスタ値、内部メモリ、内部メモリのGF((2)上のデータの関係を示した図である。 非線形置換器(sub)の構成を示す図である。 非線形置換処理部の構成を示す図である。 線形攪拌処理部の回路構成を示す図である。 線形攪拌処理部の回路内における定数演算部の回路構成を示す図である。 逆元変換部の回路構成を示す図である。 逆元処理を行う回路の構成を示す図である。 第1の応用例に係るストリーム暗号の暗号化装置の構成を示す図である。 第2の応用例に係るストリーム暗号の復号化装置の構成を示す図である。 第3の応用例に係るMAC生成装置の構成を示す図である 従来の非線形関数器の構成を示す図である。
符号の説明
10・・・周期系列生成装置
20・・・非線形関数部
30・・・鍵系列生成部
40、50・・・XOR
21、22、23、24・・・内部メモリ(L1、L2、R1、R2)
25a、25b、25c、25d・・・加算器
26a、26b、26c、26d・・・非線形置換器(sub)
27a、27b、27c、27d・・・排他的論理和演算器(XOR)
28a、28b・・・変換行列
29a、29b、29c、29d・・・逆変換行列
31・・・非線形置換処理部
32・・・線形攪拌処理部

Claims (9)

  1. 乱数系列のビットデータを入力し、変換されたビットデータを複数の内部メモリから出力する非線形関数器であって、
    前記入力する乱数系列のビットデータのうち一部のビットデータと前記複数の内部メモリのうち一部の内部メモリデータとを演算する第1の演算器と、該第1の演算器のうち一部の演算器の演算結果と前記一部の内部メモリデータとは異なる内部メモリデータとを演算する第2の演算器と、前記入力する乱数系列のビットデータのうち一部のビットデータとは異なるビットデータと前記第2の演算器の演算結果とを演算する第3の演算器と、を備えた第1の回路網と、
    第1の内部メモリ、第2の内部メモリ、第3の内部メモリ、第4の内部メモリ、第1の非線形置換器、第2の非線形置換器、第3の非線形置換器、第4の非線形置換器、第1の逆変換行列、第2の逆変換行列、第3の逆変換行列、第4の逆変換行列、第1の変換行列と、第2の変換行列とからなり、前記第1の内部メモリが、前記第1の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第1の逆変換行列に出力し、前記第1の逆変換行列により逆変換されたデータが、前記第1の演算器の一部である第1の加算器および第2の加算器に出力され、前記第2の加算器が前記第1の逆変換行列から入力したデータと前記入力する乱数系列のビットデータのうち一部のビットデータとの加算処理を行なって、前記第1の変換行列に出力し、前記第1の変換行列により変換されたデータが前記第2の非線形置換器に出力され、前記第2の非線形置換器が、前記第1の変換行列から入力したデータに対して、非線形置換処理を行なったデータを前記第2の内部メモリに出力し、前記第2の内部メモリが、前記第2の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第3の非線形置換器および第2の逆変換行列に出力し、前記第2の逆変換行列により逆変換されたデータが、前記第2の演算器の一部である第1の排他的論理和演算器に出力され、前記第3の非線形置換器が、前記第2の内部メモリから入力したデータに対して、非線形置換処理を行なったデータを前記第3の内部メモリに出力し、前記第3の内部メモリが、前記第3の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第3の逆変換行列に出力し、前記第3の逆変換行列により逆変換されたデータが、前記第1の演算器の一部である第3の加算器および第4の加算器に出力され、前記第3の加算器が前記第3の逆変換行列から入力したデータと前記入力する乱数系列のビットデータのうち一部のビットデータとの加算処理を行なって、前記第2の変換行列に出力し、前記第第2の変換行列により変換されたデータが前記第4の非線形置換器に出力され、前記第4の非線形置換器が、前記第2の変換行列から入力したデータに対して、非線形置換処理を行なったデータを前記第4の内部メモリに出力し、前記第4の内部メモリが、前記第4の非線形置換器からのデータを格納し、前ラウンドに格納したデータを前記第1の非線形置換器および第4の逆変換行列に出力し、前記第4の逆変換行列により逆変換されたデータを前記第2の演算器の一部である第2の排他的論理和演算器に出力する環状に接続された第2の回路網と、
    を備え、
    前記第2の回路網が、32ビット以下のm(m:正の整数)ビットの入力データに対して、内部処理をn(n:m>nの正の整数)ビットのデータ単位で実行することを特徴とする非線形関数器。
  2. 前記変換行列が1バイトのデータをx(x:正の整数)ビットの元からn(n:x>nの正の整数)ビットの元に変換し、前記逆変換行列が1バイトのデータをn(n:x>nの正の整数)ビットの元からx(x:正の整数)ビットの元に変換することを特徴とする請求項1に記載の非線形関数器。
  3. 前記非線形置換器が、非線形置換処理部と線形攪拌処理部とからなり、該非線形置換処理部がさらに、逆元変換処理部とアフィン変換処理部とからなる処理ブロックを32/l(l:正の整数)系統備え、逆元変換処理部およびアフィン変換処理部が各処理をn(n:m>nの正の整数)ビットのデータ単位で実行することを特徴とする請求項1または請求項2に記載の非線形関数器。
  4. 前記逆元変換処理部が2乗算器と、乗算器と、加算器とから構成されることを特徴とする請求項3に記載の非線形関数器。
  5. 前記アフィン変換処理部の処理が行列演算により実行されることを特徴とする請求項3に記載の非線形関数器。
  6. 前記線形攪拌処理部が、加算器と、定数乗算器とから構成されることを特徴とする請求項3に記載の非線形関数器。
  7. 前記請求項1から請求項6のいずれかに記載の非線形関数器と、
    前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
    前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
    該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、暗号文を出力する排他的論理和演算手段と、
    を備えたことを特徴とするストリーム暗号の暗号化装置。
  8. 前記請求項1から請求項6のいずれかに記載の非線形関数器と、
    前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
    前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
    該鍵系列データ生成手段において生成された鍵系列のビットデータと暗号文との排他的論理和演算を行って、平文を出力する排他的論理和演算手段と、
    を備えたことを特徴とするストリーム暗号の復号化装置。
  9. 前記請求項1から請求項6のいずれかに記載の非線形関数器と、
    前記非線形関数器に入力する乱数系列のビットデータを生成する乱数系列データ生成手段と、
    前記非線形関数器から出力される変換されたビットデータから鍵系列のビットデータを生成する鍵系列データ生成手段と、
    該鍵系列データ生成手段において生成された鍵系列のビットデータと平文との排他的論理和演算を行って、演算結果を前記乱数系列データ生成手段にフィードバックするとともに、最終的な暗号文をメッセージ認証子として出力する排他的論理和演算手段と、
    を備えたことを特徴とするMAC生成装置。
JP2007335265A 2007-12-26 2007-12-26 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置 Active JP5726394B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007335265A JP5726394B2 (ja) 2007-12-26 2007-12-26 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007335265A JP5726394B2 (ja) 2007-12-26 2007-12-26 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置

Publications (2)

Publication Number Publication Date
JP2009157110A JP2009157110A (ja) 2009-07-16
JP5726394B2 true JP5726394B2 (ja) 2015-05-27

Family

ID=40961206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007335265A Active JP5726394B2 (ja) 2007-12-26 2007-12-26 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置

Country Status (1)

Country Link
JP (1) JP5726394B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113922948B (zh) * 2021-10-13 2023-10-03 中国人民解放军国防科技大学 基于复合域轮函数的国密算法sm4数据加密方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2641285B2 (ja) * 1988-05-23 1997-08-13 三菱電機株式会社 ガロア体除算回路及び乗除算共用回路
US6766344B2 (en) * 2001-05-08 2004-07-20 International Business Machines Corporation Processing Galois Field arithmetic

Also Published As

Publication number Publication date
JP2009157110A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
US8654972B2 (en) Keystream encryption device, method, and program
JP4127472B2 (ja) データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体
JP5000365B2 (ja) ハッシュ値生成装置、プログラム及びハッシュ値生成方法
US8958548B2 (en) Generation of relative prime numbers for use in cryptography
KR20110004474A (ko) 갈루아 폐체 암호 시스템
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
US20200044822A1 (en) Method and apparatus for improving the speed of advanced encryption standard (aes) decryption algorithm
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
US11695542B2 (en) Technology for generating a keystream while combatting side-channel attacks
US20130243191A1 (en) Encryption key generating apparatus
Elgeldawi et al. A comparative analysis of symmetric algorithms in cloud computing: a survey
JP7173170B2 (ja) 情報処理装置、秘密計算方法及びプログラム
JP6607257B2 (ja) 秘密計算システム、秘密計算装置、および、秘密計算方法
JP6052166B2 (ja) 暗号化方法、暗号化装置および暗号化プログラム
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
JP5726394B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
Kuswaha et al. Data Transmission using AES-RSA Based Hybrid Security Algorithms
CN112131596B (zh) 加解密方法、设备及存储介质
JP2010256749A (ja) ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
RU2188513C2 (ru) Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
JP5822757B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP3013774B2 (ja) 循環演算にもとづく暗号化装置
JPH0736673A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
JP2002139995A (ja) 公開鍵生成装置、暗号化装置および復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130404

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150401

R150 Certificate of patent or registration of utility model

Ref document number: 5726394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150