JP2015099310A - Secrecy enhancement device, and secrecy enhancement data processing method - Google Patents

Secrecy enhancement device, and secrecy enhancement data processing method Download PDF

Info

Publication number
JP2015099310A
JP2015099310A JP2013239858A JP2013239858A JP2015099310A JP 2015099310 A JP2015099310 A JP 2015099310A JP 2013239858 A JP2013239858 A JP 2013239858A JP 2013239858 A JP2013239858 A JP 2013239858A JP 2015099310 A JP2015099310 A JP 2015099310A
Authority
JP
Japan
Prior art keywords
length
bit string
output
finite field
matrix
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
JP2013239858A
Other languages
Japanese (ja)
Other versions
JP6049589B2 (en
Inventor
豊広 鶴丸
Toyohiro Tsurumaru
豊広 鶴丸
林 正人
Masato Hayashi
正人 林
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.)
Nagoya University NUC
Mitsubishi Electric Corp
Original Assignee
Nagoya University NUC
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 Nagoya University NUC, Mitsubishi Electric Corp filed Critical Nagoya University NUC
Priority to JP2013239858A priority Critical patent/JP6049589B2/en
Publication of JP2015099310A publication Critical patent/JP2015099310A/en
Application granted granted Critical
Publication of JP6049589B2 publication Critical patent/JP6049589B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve the performance of finite field multiplication processing, when secrecy enhancement data processing is executed.SOLUTION: The secrecy enhancement device generates an output y constituted by an output bit string of length m using an input x constituted by an input bit string of length n and a random number r constituted by a bit string of length k. The secrecy enhancement device includes a matrix calculation processing unit (14) that satisfies the condition of k=n-m and n=kt, performs calculation of y=x+rxon a finite field GF(2), generates the output y using y=(y,...,y), and outputs it as a bit string of length m=(t-1)k.

Description

本発明は、秘匿性増強(privacy amplification:PA)と呼ばれるデータ処理方式の改良に関するものであり、特に、演算処理速度の向上あるいは乱数消費量の低減による有限体乗算処理の性能向上を図った秘匿性増強装置および秘匿性増強データ処理方法に関する。   The present invention relates to an improvement in a data processing method called privacy amplification (PA), and in particular, the secrecy aimed at improving the performance of a finite field multiplication process by improving the calculation processing speed or reducing the random number consumption. The present invention relates to a security enhancement device and a confidentiality enhancement data processing method.

秘匿性増強の応用先としては、量子暗号、人工物メトリクス、生体認証など、様々な分野がある。以下では、説明の便のため、量子暗号の場合を中心に述べるが、本発明の秘匿性増強装置および秘匿性増強データ処理方法に関する技術は、それ以外の分野にも適用可能である。   Applications for increasing confidentiality include various fields such as quantum cryptography, artifact metrics, and biometric authentication. In the following, for convenience of explanation, the case of quantum cryptography will be mainly described. However, the technology relating to the confidentiality enhancing device and the confidentiality enhancing data processing method of the present invention can be applied to other fields.

量子暗号(quantum cryptography)は、秘密通信に用いる秘密鍵を共有するための暗号方式であり、量子鍵配送(quantum key distribution)とも呼ばれる。代表的な方式として、BB84方式、SARG04方式、B92方式、BBM92方式などがある。   Quantum cryptography is an encryption method for sharing a secret key used for secret communication, and is also called quantum key distribution (quantum key distribution). Typical methods include the BB84 method, the SARG04 method, the B92 method, and the BBM92 method.

これらの方式による量子暗号装置は、大別すると、光子の送信と受信を行う量子通信部分と、そこから出力された乱数列(ふるい鍵、篩鍵、sifted keyと呼ばれる)に対しデータ処理を行う鍵蒸留部分の2つの機能を備えている。   Broadly speaking, quantum cryptography devices using these methods perform data processing on a quantum communication part that transmits and receives photons and a random number sequence (referred to as a sieving key, a sieve key, and a shifted key) output therefrom. It has two functions of the key distillation part.

そして、後者の鍵蒸留の機能をさらに二分すると、誤り訂正と秘匿性増強に分けられる。誤り訂正は、通信路や検出器で生じた雑音を、ふるい鍵から除去するためのものである。訂正されたふるい鍵は、訂正鍵(reconciled key)と呼ばれる。   Further, the latter function of key distillation is further divided into error correction and confidentiality enhancement. The error correction is for removing noise generated in the communication path and the detector from the sieving key. The corrected sieve key is called a corrected key.

一方で、秘匿性増強は、通信路の盗聴によって第三者(盗聴者)に漏洩した可能性のある情報を、訂正鍵からキャンセルするために行われる。そして、その出力は、秘密鍵(secret key)、または最終鍵(final key)と呼ばれる。   On the other hand, confidentiality enhancement is performed in order to cancel information that may have been leaked to a third party (eavesdropper) by eavesdropping on the communication path from the correction key. The output is called a secret key or a final key.

秘密鍵の内容は、盗聴者にとって全く推測不可能であり、正規の送信者と受信者は、秘密鍵を秘密通信用の鍵として、そのまま利用することができる。ただし、この高い秘密性の代償として、秘密鍵の長さは、通常、訂正鍵よりも短くなる。いわば訂正鍵の弱い秘密性を、短く圧縮して秘密鍵を得ていることになる。   The contents of the secret key cannot be guessed at all by the eavesdropper, and the legitimate sender and receiver can use the secret key as it is as a secret communication key. However, as a price for this high confidentiality, the length of the secret key is usually shorter than the correction key. In other words, the weak secret of the correction key is shortly compressed to obtain the secret key.

これまでの量子暗号の研究や実装では、秘匿性増強には、もっぱらユニバーサルハッシュ関数(universal hash functions)と呼ばれる種類の関数が用いられてきた。そして、代表的なユニバーサルハッシュ関数として、テープリッツ(Toeplitz)行列を用いるものが知られている(例えば、特許文献1参照)。また、この方式は、高速フーリエ変換(FFT)アルゴリズムを用いることにより、高速に実行できることが知られている(例えば、特許文献2参照)。   In research and implementation of quantum cryptography so far, a kind of function called universal hash functions has been used exclusively for enhancing confidentiality. As a typical universal hash function, one using a Toelitz matrix is known (for example, see Patent Document 1). Further, it is known that this method can be executed at high speed by using a fast Fourier transform (FFT) algorithm (see, for example, Patent Document 2).

特開2007−86170号公報JP 2007-86170 A 特開2012−49765号公報JP 2012-49765 A

T. Tsurumaru and M. Hayashi “Dual universality of hash functions and its application to quantum key distribution、” IEEE Transactions on Information Theory、 Volume 59、 Issue 7、 4700 - 4717 (2013); arXiv:1101.0064 [quant-ph].T. Tsurumaru and M. Hayashi “Dual universality of hash functions and its application to quantum key distribution,” IEEE Transactions on Information Theory, Volume 59, Issue 7, 4700-4717 (2013); arXiv: 1101.0064 [quant-ph]. M. Hayashi、 “Large deviation analysis for classical and quantum security via approximate smoothing、” arXiv:1202.0322 [quant-ph].M. Hayashi, “Large deviation analysis for classical and quantum security via approximate smoothing,” arXiv: 1202.0322 [quant-ph]. J. H. Silverman、 “A Friendly Introduction to Number Theory、 3rd. Ed.、” (Pearson Education、 New Jersey、 2006); 邦訳:「はじめての数論 原著第3版」、株式会社ピアソン桐原、2007年.J. H. Silverman, “A Friendly Introduction to Number Theory, 3rd. Ed.” (Pearson Education, New Jersey, 2006); Japanese translation: “First Number Theory, 3rd Edition”, Pearson Kirihara, 2007. G. H. Golub and C. F. Van Loan、 “Matrix Computations、 3rd. Ed.、” (The John Hopkins University Press、 Maryland、 1996).G. H. Golub and C. F. Van Loan, “Matrix Computations, 3rd. Ed.” (The John Hopkins University Press, Maryland, 1996).

しかしながら、従来技術には、以下のような課題がある。
上述したように、秘匿性増強アルゴリズムとして、テープリッツ行列を用いるものが広く知られている。この方式では、入力ビット列(訂正鍵)をベクトルとみなし、それにテープリッツ行列をかけることにより、出力ビット列(秘密鍵)を得る。また、特許文献1では、テープリッツ行列の代わりに、単位行列とテープリッツ行列を連接した行列(以下、この行列を、変形テープリッツ行列と称す)を使う方式が提案されている。
However, the prior art has the following problems.
As described above, an algorithm that uses a Tapelitz matrix is widely known as a confidentiality enhancement algorithm. In this method, an input bit string (correction key) is regarded as a vector, and an output bit string (secret key) is obtained by multiplying it with a Topplitz matrix. Further, Patent Document 1 proposes a method that uses a matrix in which a unit matrix and a Tapelitz matrix are concatenated (hereinafter, this matrix is referred to as a modified Tapelitz matrix) instead of the Tapelitz matrix.

いずれのアルゴリズムを用いる場合でも、量子暗号の無条件安全性を保証するためには、テープリッツ行列あるいは変形テープリッツ行列のサイズを大きくとる必要がある(一般的には、列数を10程度以上にする必要がある)。これは、量子暗号の安全性証明の理論からくる要請であり、いわゆる有限長効果が原因となっている。 Regardless of which algorithm is used, in order to guarantee unconditional security of quantum cryptography, it is necessary to increase the size of the Tapelitz matrix or the modified Tapelitz matrix (in general, the number of columns is about 10 6. Need to be more). This is a request from the theory of security proof of quantum cryptography, and is caused by the so-called finite length effect.

このように、テープリッツ行列あるいは変形テープリッツ行列のサイズが大きい場合には、乗算に時間がかかり、量子暗号装置全体としての鍵生成速度が遅くなるという問題点が生じる。また、テープリッツ行列あるいは変形テープリッツ行列は、秘匿性増強を行うたびに新たに選び直す必要があるので、その際の乱数消費量(すなわち、乱数発生器の実装コスト)も同様に大きくなるという問題点も生じる。   As described above, when the size of the Toeplitz matrix or the modified Toelitz matrix is large, the multiplication takes time, and there is a problem that the key generation speed as the whole quantum cryptography apparatus is slowed down. In addition, since the Tapelitz matrix or the modified Tapelitz matrix needs to be newly selected every time the confidentiality is increased, the random number consumption (that is, the mounting cost of the random number generator) at that time also increases similarly. Problems also arise.

本発明は、前記のような課題を解決するためになされたものであり、秘匿性増強データ処理を実行するに当たり、有限体乗算処理の性能向上を実現できる秘匿性増強アルゴリズムを備えた秘匿性増強装置および秘匿性増強データ処理方法を得ることを目的とする。   The present invention has been made in order to solve the above-described problems, and in executing the confidentiality enhancement data processing, the confidentiality enhancement provided with the confidentiality enhancement algorithm capable of improving the performance of the finite field multiplication processing. An object is to obtain a device and a confidentiality enhancement data processing method.

本発明に係る秘匿性増強装置は、長さnの入力ビット列で構成される入力xと、長さkのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、有限体GF(2)上の乗算処理と加算処理を実行する行列演算処理部を備えた秘匿性増強装置であって、いずれも正の整数である長さn、長さk、長さmは、
k=n−m
n=kt ただし、tは、3以上の整数
の条件を満たし、行列演算処理部は、有限体乗算を行うに当たり、長さkのビット列rをGF(2)の元と同一視する。また、xをkビットのブロックに分割して
x=(x、・・・、x
とし、各xをGF(2)の元と同一視する。さらに、行列演算処理部は、有限体乗算を行うに当たり、有限体GF(2)上において、i=1、・・・、t−1について、
=x+r
の演算を行い、出力yを、
y=(y、・・・、yt−1
により生成し、長さm=(t−1)kのビット列として出力するものである。
なお、rの上つき添え字rは、有限体GF(2)上のrのi乗を示すものである。
The confidentiality enhancing apparatus according to the present invention includes an output bit string having a length m using an input x including an input bit string having a length n and a random number r including a bit string having a length k. When generating the output y, a confidentiality enhancing apparatus including a matrix operation processing unit that performs multiplication processing and addition processing on a finite field GF (2 k ), each of which is a positive integer length n , Length k, length m
k = nm
n = kt However, t satisfies the condition of an integer of 3 or more, and the matrix operation processing unit regards the bit string r of length k as the element of GF (2 k ) when performing the finite field multiplication. Also, x is divided into k-bit blocks and x = (x 1 ,..., X t )
And each x i is identified with an element of GF (2 k ). Furthermore, when performing the finite field multiplication, the matrix calculation processing unit performs i = 1,..., T−1 on the finite field GF (2 k ).
y i = x i + r i x t
And the output y is
y = (y 1 ,..., y t−1 )
And output as a bit string of length m = (t−1) k.
The superscript r i of r indicates r to the power of i on the finite field GF (2 k ).

また、本発明に係る秘匿性増強装置は、長さnの入力ビット列で構成される入力xと、長さuのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、有限体GF(2)上の乗算処理を実行する行列演算処理部を備えた秘匿性増強装置であって、u、mがkの整数倍であるという条件を満たし、行列演算処理部は、有限体乗算を行うに当たり、
長さkが、k+1が奇素数であり、有限体GF(k+1)の乗法群GF(k+1)×において、2が生成元となる
というさらなる条件を満たす際に、GF(2)の元a、bを
a=(a、・・・、ak−1
b=(b、・・・、bk−1
と表し、a、bそれぞれのパリティを
=a+・・・+ak−1 mod 2
=b+・・・+bk−1 mod 2
として算出し、a、bをa、bに連接したベクトルを
A=(a、・・・、ak−1、a
B=(b、・・・、bk−1、b
とおき、ビット列Xを第一行としてもつ、k×k巡回行列を、後述する式(1)で示される行列M(A)として、行列M(A)とベクトルBとを掛け合わせ、k+1ビットのベクトルC
C=(c、c、・・・、c)=BM(A)
を生成し、ベクトルCの最後の成分cを削除した
c=(c、・・・、ck−1
を乗算結果として算出し、出力yとするものである。
Further, the confidentiality enhancing apparatus according to the present invention includes an output bit string having a length m using an input x including an input bit string having a length n and a random number r including a bit string having a length u. A confidentiality enhancing device including a matrix operation processing unit that performs multiplication processing on a finite field GF (2 k ) when generating the output y to be performed, and u and m are integer multiples of k Satisfying the conditions, the matrix processing unit performs a finite field multiplication,
An element a of GF (2 k ) when length k, k + 1 is an odd prime, and a further condition that 2 is a generator in the multiplicative group GF (k + 1) × of the finite field GF (k + 1) , B a = (a 0 ,..., A k−1 )
b = (b 0 ,..., b k−1 )
And the parity of a and b is expressed as a k = a 0 +... + A k−1 mod 2
b k = b 0 +... + b k−1 mod 2
And a vector in which a k and b k are connected to a and b is A = (a 0 ,..., A k−1 , a k )
B = (b 0 ,..., B k−1 , b k )
Then, a k × k cyclic matrix having the bit string X as the first row is multiplied by the matrix M (A) and the vector B as a matrix M (A) represented by the equation (1) described later, and k + 1 bits. Vector C
C = (c 0 , c 1 ,..., C k ) = BM (A)
And the last component c k of the vector C is deleted c = (c 0 ,..., C k−1 )
Is calculated as a multiplication result, and the output is y.

また、本発明に係る秘匿性増強データ処理方法は、長さnの入力ビット列で構成される入力xと、長さkのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する行列演算処理部を備えた秘匿性増強装置によって実行される秘匿性増強データ処理方法であって、いずれも正の整数である長さn、長さk、長さmは、
k=n−m
n=kt ただし、tは、3以上の整数
の条件を満たし、行列演算処理部は、有限体乗算を行うに当たり、長さkのビット列rをGF(2)の元と同一視する。また、xをkビットのブロックに分割して
x=(x、・・・、x
とし、各xをGF(2)の元と同一視する。さらに、行列演算処理部は、有限体乗算を行うに当たり、有限体GF(2)上において、i=1、・・・、t−1について、
=x+r
の演算を行い、出力yを、
y=(y、・・・、yt−1
により生成し、長さm=(t−1)kのビット列として出力するステップを備えるものである。
なお、rの上つき添え字rは、有限体GF(2)上のrのi乗を示すものである。
In addition, the confidentiality enhancing data processing method according to the present invention uses an input x composed of an input bit string of length n and a random number r composed of a bit string of length k to output an output bit string of length m. Is a confidentiality enhancing data processing method executed by a confidentiality enhancing device including a matrix operation processing unit that generates an output y composed of: a length n, a length k, and a length that are all positive integers. M
k = nm
n = kt However, t satisfies the condition of an integer of 3 or more, and the matrix operation processing unit regards the bit string r of length k as the element of GF (2 k ) when performing the finite field multiplication. Also, x is divided into k-bit blocks and x = (x 1 ,..., X t )
And each x i is identified with an element of GF (2 k ). Furthermore, when performing the finite field multiplication, the matrix calculation processing unit performs i = 1,..., T−1 on the finite field GF (2 k ).
y i = x i + r i x t
And the output y is
y = (y 1 ,..., y t−1 )
And a step of outputting as a bit string of length m = (t−1) k.
The superscript r i of r indicates r to the power of i on the finite field GF (2 k ).

さらに、本発明に係る秘匿性増強データ処理方法は、長さnの入力ビット列で構成される入力xと、長さuのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、有限体GF(2)上の乗算処理を実行する行列演算処理部を備えた秘匿性増強装置であって、u、mがkの整数倍であるという条件を満たし、行列演算処理部は、有限体乗算を行うに当たり、
長さkが、k+1が奇素数であり、有限体GF(k+1)の乗法群GF(k+1)×において、2が生成元となる
というさらなる条件を満たす際に、GF(2)の元a、bを
a=(a、・・・、ak−1
b=(b、・・・、bk−1
と表し、a、bそれぞれのパリティを
=a+・・・+ak−1 mod 2
=b+・・・+bk−1 mod 2
として算出する第1ステップと、a、bをa、bに連接したベクトルを
A=(a、・・・、ak−1、a
B=(b、・・・、bk−1、b
とおき、ビット列Xを第一行としてもつ、k×k巡回行列を、後述する式(1)で示される行列M(A)として、行列M(A)とベクトルBとを掛け合わせ、k+1ビットのベクトルC
C=(c、c、・・・、c)=BM(A)
を生成する第2ステップと、ベクトルCの最後の成分cを削除した
c=(c、・・・、ck−1
を乗算結果として算出し、出力yとする第3ステップとを備えるものである。
Further, the confidentiality enhancing data processing method according to the present invention uses an input x configured with an input bit sequence of length n and a random number r configured with a bit sequence of length u, and an output bit sequence of length m. Is a confidentiality enhancing device including a matrix operation processing unit that performs multiplication processing on a finite field GF (2 k ) when generating an output y configured by: u and m are integer multiples of k Satisfying the condition that there is, the matrix operation processing unit, in performing the finite field multiplication,
An element a of GF (2 k ) when length k, k + 1 is an odd prime, and a further condition that 2 is a generator in the multiplicative group GF (k + 1) × of the finite field GF (k + 1) , B a = (a 0 ,..., A k−1 )
b = (b 0 ,..., b k−1 )
And the parity of a and b is expressed as a k = a 0 +... + A k−1 mod 2
b k = b 0 +... + b k−1 mod 2
A first step of calculating, a k, a b k a, the vector obtained by connecting the b A = as (a 0, ···, a k -1, a k)
B = (b 0 ,..., B k−1 , b k )
Then, a k × k cyclic matrix having the bit string X as the first row is multiplied by the matrix M (A) and the vector B as a matrix M (A) represented by the equation (1) described later, and k + 1 bits. Vector C
C = (c 0 , c 1 ,..., C k ) = BM (A)
And the last component c k of the vector C is deleted c = (c 0 ,..., C k−1 )
Is calculated as a multiplication result, and the output y is provided as a third step.

本発明によれば、長さnの入力ビット列で構成される入力xと、長さkのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、それぞれの長さn、k、mに特定の制限を持たせることにより、秘匿性増強データ処理を実行するに当たり、有限体乗算処理の性能向上を実現できる秘匿性増強アルゴリズムを備えた秘匿性増強装置および秘匿性増強データ処理方法を得ることができる。   According to the present invention, an output y composed of an output bit string of length m is generated using an input x composed of an input bit string of length n and a random number r composed of a bit string of length k. When executing the confidentiality enhancement data processing by giving specific restrictions to the respective lengths n, k, and m, a confidentiality enhancement algorithm that can improve the performance of the finite field multiplication processing is provided. A confidentiality enhancing device and a confidentiality enhancing data processing method can be obtained.

本発明の実施の形態4における高速乗算アルゴリズムを、秘匿性増強アルゴリズムを用いた量子暗号装置の受信機に適用した場合の構成例を示した図である。It is the figure which showed the structural example at the time of applying the high-speed multiplication algorithm in Embodiment 4 of this invention to the receiver of the quantum cryptography apparatus using the secrecy enhancement algorithm.

以下、本発明の秘匿性増強装置および秘匿性増強データ処理方法の好適な実施の形態につき図面を用いて説明する。   Hereinafter, preferred embodiments of a confidentiality enhancing device and a confidentiality enhancing data processing method of the present invention will be described with reference to the drawings.

まず始めに、本発明の概念について説明する。
有限体乗算処理の性能向上を実現する本発明のポイントとしては、以下の2点が挙げられる。
(ポイント1)双対ユニバーサルハッシュ関数の性質により、乱数の消費量を削減する。
(ポイント2)有限体乗算を巡回行列の乗算に変換し、計算量を削減する。
First, the concept of the present invention will be described.
The following two points can be cited as points of the present invention for realizing the performance improvement of the finite field multiplication processing.
(Point 1) The consumption of random numbers is reduced due to the nature of the dual universal hash function.
(Point 2) A finite field multiplication is converted into a circulant matrix multiplication to reduce the amount of calculation.

本発明の方式が成立する背景には、2011年に提案されている、ε−概「双対」ユニバーサルハッシュ関数(ε−almost dual universal hash functions)という概念がある(例えば、非特許文献1参照)。このε−概「双対」ユニバーサルハッシュ関数は、安全性を損なわずに、従来のε−概ユニバーサルハッシュ関数を拡張する方法を示したものである。そして、この概念に従えば、従来方式では想定されていなかった関数を使用しつつ、無条件安全性を達成することができる。   The background of the establishment of the method of the present invention is the concept of ε-almost “dual” universal hash functions (ε-almost dual universal hash functions) proposed in 2011 (see, for example, Non-Patent Document 1). . This ε-general “dual” universal hash function shows how to extend a conventional ε-general universal hash function without compromising security. And if this concept is followed, unconditional safety can be achieved, using the function which was not assumed by the conventional system.

実際、後述する関数は、ε−概双対ユニバーサルハッシュ関数であるが、従来のε−概ユニバーサルハッシュ関数には属さない。そして、無条件安全性は、保証しつつ、実装性能では、従来方式を凌駕している。   In fact, the function described below is an ε-general dual universal hash function, but does not belong to the conventional ε-general universal hash function. And while unconditional safety is guaranteed, the mounting performance surpasses the conventional method.

なお、以下では、量子暗号への応用を中心に述べるが、本方式は、それ以外にも、人工物メトリクス、生体認証など様々なセキュリティ分野に適用可能である(例えば、非特許文献2参照)。   In the following, the application to quantum cryptography will be mainly described, but this method can be applied to various security fields such as artifact metrics and biometric authentication (see Non-Patent Document 2, for example). .

本発明では、行列やベクトルの成分は、すべて有限体Fの元であるとする。したがって、値は、すべて0か1であり、乗算や加算は、modulo 2で行うとする。 In the present invention, the components of the matrix and vector are all assumed to be the original finite field F 2. Therefore, all values are 0 or 1, and multiplication and addition are performed by modulo 2.

以上の概念を踏まえ、本発明の具体的な構成を、実施の形態1〜5として、以下に詳述する。なお、以下の説明において用いる変数i、j、k、l、m、n、s、t、uは、0以上の整数を意味している。   Based on the above concept, a specific configuration of the present invention will be described in detail below as first to fifth embodiments. Note that variables i, j, k, l, m, n, s, t, and u used in the following description mean integers of 0 or more.

実施の形態1.(有限体乗算による双対ユニバーサルハッシュ関数)
量子暗号を含む様々な暗号において、秘匿性増強と呼ばれるデータ処理が重要である。秘匿性増強には、従来、ユニバーサルハッシュ関数がもっぱら広く用いられてきた。これに対し、本願の発明者は、上述したように、2011年に非特許文献1において、「双対」ユニバーサルハッシュ関数という、より広いクラスのハッシュ関数を提案した。そして、さらに、この双対ユニバーサルハッシュ関数が、従来のユニバーサルハッシュ関数に勝るとも劣らない安全性を保証できることを示した。
Embodiment 1 FIG. (Dual universal hash function by finite field multiplication)
In various ciphers including quantum cryptography, data processing called enhancement of confidentiality is important. Conventionally, the universal hash function has been widely used for enhancing confidentiality. On the other hand, as described above, the inventor of the present application proposed a wider class of hash functions called “dual” universal hash functions in Non-Patent Document 1 in 2011. Furthermore, it was shown that this dual universal hash function can guarantee the same safety as the conventional universal hash function.

そこで、本実施の形態1では、有限体乗算を用いた新たな双対ユニバーサルハッシュ関数の具体例について記述する。この方式を用いることにより、秘匿性増強における乱数消費量が、従来方式に比べ削減される。   Therefore, in the first embodiment, a specific example of a new dual universal hash function using finite field multiplication will be described. By using this method, the amount of random numbers consumed for enhancing confidentiality is reduced compared to the conventional method.

なお、本実施の形態1の「双対」ユニバーサルハッシュ関数は、従来のユニバーサルハッシュ関数の条件を満たしておらず、従来のユニバーサルハッシュ関数の枠組みを外れた、真に新しいハッシュ関数である。   The “dual” universal hash function of the first embodiment is a truly new hash function that does not satisfy the conditions of the conventional universal hash function and is out of the framework of the conventional universal hash function.

(方式の説明)
まず、入力は、長さnのビット列xとし、出力は、長さmのビット列yとする。ここで、nは、k=n−mで割り切れ、n=tk、かつt>2と表されるとする。また、本実施の形態1における方式のハッシュ関数は、長さkのビット列rにより指定される。したがって、本ハッシュ関数を秘匿性増強に適用する場合には、秘匿性増強を行うたびに、長さkの乱数rが消費される。
(Description of method)
First, the input is a bit string x having a length n, and the output is a bit string y having a length m. Here, it is assumed that n is divisible by k = n−m, n = tk, and t> 2. Further, the hash function of the method in the first embodiment is specified by a bit string r having a length k. Therefore, when this hash function is applied to the confidentiality enhancement, the random number r having a length k is consumed each time the confidentiality enhancement is performed.

(ステップ1:入力ビット列の整形)
このようにして得られたビット列xを、長さkのビット列に分割し、
x=(x、・・・、x
=(xi1、・・・、xik
とする。ここで、xは、長さkのビット列、xijは、ビット値である。
(Step 1: Formatting the input bit string)
The bit string x obtained in this way is divided into bit strings of length k,
x = (x 1 ,..., x t )
x i = (x i1 ,..., x ik )
And Here, x i is a bit string of length k, and x ij is a bit value.

(ステップ2:有限体上の乗算)
長さkのビット列x、・・・、x、およびrを、有限体GF(2)の元とみなし、i=1、・・・、t−1について、GF(2)上で
=x+r
の演算を行い、GF(2)の元y、・・・、yt−1を得る。なお、ここで、rは、rのi乗を表す。
(Step 2: Multiplication over a finite field)
Bit sequence x 1 length k, ···, x t, and r, finite GF (2 k) of the original regarded none, i = 1, ···, for t-1, GF (2 k ) above Where y i = x i + r i x t
To obtain elements y 1 ,..., Y t−1 of GF (2 k ). Here, r i represents r to the power of i.

(ステップ3:出力)
再びy、・・・、yt−1を長さkのビット列とし、このビット列を連接して得られる長さm=(t−1)kのビット列
y=(y、・・・、yt−1
をハッシュ関数の出力とする。
(Step 3: Output)
Again, y 1 ,..., Y t-1 is a bit string of length k, and a bit string of length m = (t−1) k obtained by concatenating the bit strings y = (y 1 ,. y t-1 )
Is the output of the hash function.

(実施の形態1の効果)
このハッシュ関数を秘匿性増強に用いた場合、消費する乱数のビット長は、n−m、つまり入力長と出力長mの差程度になる。一方で、従来用いられてきた方式(テープリッツ行列や有限体乗算を用いるもの)では、長さm程度の乱数が必要となる。したがって、ハッシュ関数の圧縮率m/nが1/2より十分大きい場合に、乱数の消費量が劇的に削減される。
(Effect of Embodiment 1)
When this hash function is used to increase confidentiality, the bit length of the random number to be consumed is nm, that is, the difference between the input length and the output length m. On the other hand, a conventionally used method (using a Toeplitz matrix or finite field multiplication) requires a random number having a length of about m. Therefore, when the compression ratio m / n of the hash function is sufficiently larger than 1/2, the consumption amount of random numbers is dramatically reduced.

実施の形態2.(巡回行列を用いた有限体乗算アルゴリズム)
有限体の乗算は、ユニバーサルハッシュ関数を始め、様々な暗号アルゴリズムで広く用いられている。そこで、本実施の形態2では、この有限体の乗算を高速に実行する新たなアルゴリズムについて説明する。
Embodiment 2. FIG. (Finite field multiplication algorithm using cyclic matrix)
Finite field multiplication is widely used in various cryptographic algorithms including universal hash functions. Therefore, in the second embodiment, a new algorithm for executing this finite field multiplication at high speed will be described.

有限体GF(2)の乗算には、通常の方式では、O(k)の時間がかかる。これに対して、本方式を用いると、O(k log k)の時間で有限体乗算の演算処理が可能となる。ただし、サイズkは、任意ではなく、以下の条件を満たす必要がある。 The multiplication of the finite field GF (2 k ) takes O (k 2 ) in the normal method. On the other hand, when this method is used, it is possible to perform finite field multiplication in O (k log k) time. However, the size k is not arbitrary and needs to satisfy the following conditions.

(有限体に対する条件)
本方式では、有限体GF(2)のうち、整数kが、以下の性質を持つものを対象とする。
・k+1が奇素数であり、有限体GF(k+1)の乗法群GF(k+1)×において、2が生成元となる。
なおArtin予想により、このようなkは、無数に存在するとされている(例えば、非特許文献3の第21章参照)。
また、コンピュータによる探索も容易に実行でき、1050以下の元であれば、通常のパーソナルコンピュータ上でMathematicaを用いて、1秒以下で生成できる。たとえば、このような整数kのうち、10(i=1、...、12)を下回らない最小の元を求めると、それぞれ
k=10、
100、
10 + 18、
10 + 36、
10 + 2、
10 + 2、
10 + 138、
10 + 36、
10 + 20、
1010 + 18、
1011 + 2、
1012 + 90
であることがわかる。
(Conditions for finite fields)
In this method, among the finite field GF (2 k ), the integer k has the following properties.
K + 1 is an odd prime number, and 2 is a generator in the multiplicative group GF (k + 1) × of the finite field GF (k + 1).
According to the Artin conjecture, there are an infinite number of such k (see, for example, Chapter 21 of Non-Patent Document 3).
Also, the search by the computer can also be easily performed, if 10 50 or less of the original, using Mathematica on typical personal computers, can be produced in less than 1 second. For example, when the smallest elements that do not fall below 10 i (i = 1,..., 12) among such integers k are obtained, k = 10,
100,
10 3 + 18,
10 4 + 36,
10 5 + 2,
10 6 + 2,
10 7 + 138,
10 8 + 36,
10 9 + 20,
10 10 + 18,
10 11 + 2,
10 12 + 90
It can be seen that it is.

(アルゴリズムの記述)
GF(2)の元a、bを入力し、その積c=abを出力する。
(Description of algorithm)
The elements a and b of GF (2 k ) are input and the product c = ab is output.

ステップ1:入力ビット列の整形
a、bをビット列で表したものを
a=(a、・・・、ak−1
b=(b、・・・、bk−1
とする。これらのパリティ
=a+・・・+ak−1 mod 2
=b+・・・+bk−1 mod 2
を算出する。
Step 1: Formatting of input bit string A and b are expressed as bit strings a = (a 0 ,..., A k−1 )
b = (b 0 ,..., b k−1 )
And These parities a k = a 0 +... + A k−1 mod 2
b k = b 0 +... + b k−1 mod 2
Is calculated.

そして、a、bをa、bに連接したものを
A=(a、・・・、ak−1、a
B=(b、・・・、bk−1、b
とおく。
以下では、このようなビット列を、横ベクトルと同一視する。
Then, a k, a material obtained by concatenating b k a, the b A = (a 0, ··· , a k-1, a k)
B = (b 0 ,..., B k−1 , b k )
far.
Hereinafter, such a bit string is identified with a horizontal vector.

ステップ2:行列とベクトルの乗算
まず、ビット列Xを第一行としてもつ、k×k巡回行列を、M(A)とおく。M(A)の具体的な成分は、下式の通りである。
Step 2: Matrix-Vector Multiplication First, a k × k cyclic matrix having the bit string X as the first row is set as M (A). The specific component of M (A) is as follows.

Figure 2015099310
Figure 2015099310

この行列M(A)とベクトルBとを掛け合わせ、k+1ビットのベクトルCを得る。
C=(c、c、・・・、c)=BM(A)
なお、この巡回行列とベクトルの乗算は、高速フーリエ変換を用いて、(O(k log k)の計算時間で、高速に実行可能である(例えば、非特許文献4参照)。
The matrix M (A) and the vector B are multiplied to obtain a k + 1 bit vector C.
C = (c 0 , c 1 ,..., C k ) = BM (A)
Note that the multiplication of the circulant matrix and the vector can be executed at high speed with a calculation time of (O (k log k)) using fast Fourier transform (see, for example, Non-Patent Document 4).

ステップ3:出力ビット列の整形
ビット列Cの最後の成分cを削除した
c=(c、・・・、ck−1
を乗算の結果として出力する。
Step 3: Formatting of output bit string The last component c k of bit string C is deleted c = (c 0 ,..., C k−1 )
Is output as the result of multiplication.

(動作原理)
上述した方法で、GF(2)の乗算が実行できる理由について、以下に説明する。
GF(2)上の多項式
F(X)=Xk+1+1
は、常に
F(X)=(X+1)(X+Xk−1+…+X+1)
=(X+1)G(X)
と分解できる。
(Operating principle)
The reason why the multiplication of GF (2 k ) can be executed by the method described above will be described below.
Polynomial over GF (2 k ) F (X) = X k + 1 +1
Is always F (X) = (X + 1) (X k + X k−1 +... + X + 1)
= (X + 1) G (X)
Can be disassembled.

そして、整数kが本方式の条件を満たす場合、F(X)の2つ目の因子G(X)が既約多項式になることを示すことができる。これに、中国人剰余定理を適用すると、modulo F(X)の多項式の乗算を実行することは、modulo X+1の乗算とmodulo G(X)の乗算を同時に実行することと等価になることがわかる。
つまり、k次以下の多項式
A(X)=Σi=0 、B(X)=Σi=0
を掛け合わせて
A(X)B(X)≡C(X) modulo F(X)
という乗算を実行することは、
A(X)B(X)≡C(X) modulo X+1
A(X)B(X)≡C(X) modulo G(X)
という2種類の乗算を実行することと等価である。
When the integer k satisfies the condition of this method, it can be shown that the second factor G (X) of F (X) is an irreducible polynomial. Applying the Chinese remainder theorem to this, it can be seen that executing a modulo F (X) polynomial is equivalent to simultaneously executing a modulo X + 1 multiplication and a modulo G (X) multiplication. .
That is, a polynomial of order k or less A (X) = Σ i = 0 k a i X i , B (X) = Σ i = 0 k b i X i
Multiplied by A (X) B (X) ≡C (X) modulo F (X)
To perform the multiplication
A (X) B (X) ≡C (X) modulo X + 1
A (X) B (X) ≡C (X) modulo G (X)
This is equivalent to executing two types of multiplications.

modulo F(X)の乗算は、巡回行列の乗算と等価である。また、G(X)がk次の既約多項式であることから、modulo G(X)の乗算は、GF(2)上の乗算と等価である。
一方で、modulo X+1の乗算は常に0×0≡0という自明な結果を与える。なぜなら多項式A(X)、B(X)の係数a、bは、段落0040〜0041の方法で生成されるため、それらのハミング重みは常に偶数であり、
A(X)≡B(X)≡0 modulo X+1
が成り立ち、その積C(X)も
C(X)≡0 modulo X+1
を常に満たすからである。
したがって、巡回行列の乗算を実行することにより、GF(2)の乗算が実行できることになる。これが、本方式の動作原理である。
Modulo F (X) multiplication is equivalent to cyclic matrix multiplication. Since G (X) is a k-th irreducible polynomial, the multiplication of modulo G (X) is equivalent to the multiplication on GF (2 k ).
On the other hand, modulo X + 1 multiplication always gives the obvious result of 0 × 0≡0. Because the coefficients a i and b i of the polynomials A (X) and B (X) are generated by the method of paragraphs 0040 to 0041, their Hamming weights are always even,
A (X) ≡B (X) ≡0 modulo X + 1
And the product C (X) is also C (X) ≡0 modulo X + 1
It is because it always satisfies.
Therefore, by performing multiplication of the circulant matrix, multiplication of GF (2 k ) can be performed. This is the operating principle of this method.

(実施の形態2の効果)有限体乗算の高速化
GF(2)の乗算には、通常、O(k)の時間がかかるが、本方式を用いると、O(k log k)の時間で有限体乗算の実行が可能となる。これにより、ユニバーサルハッシュ関数を始め、様々な暗号アルゴリズムの処理を高速化できる。
(Effect of Embodiment 2) Speeding up of finite field multiplication Multiplication of GF (2 k ) usually takes time of O (k 2 ), but if this method is used, O (k log k) It is possible to execute finite field multiplication in time. This makes it possible to speed up the processing of various cryptographic algorithms including the universal hash function.

実施の形態3.(双対ユニバーサルハッシュ関数の高速実装)
本実施の形態3では、先の実施の形態1と実施の形態2の方式を組み合わせ、乱数使用量と演算時間の両方の削減を実現する方式について説明する。
Embodiment 3 FIG. (High-speed implementation of dual universal hash function)
In the third embodiment, a method for reducing both the amount of random number used and the calculation time by combining the methods of the first and second embodiments will be described.

具体的には、実施の形態1における出力長m、入力長nを適切に選び、k=m−nが本実施の形態3で指定される次の条件を満たすようにする。つまり、「m−n+1が奇素数であり、有限体GF(m−n+1)の乗法群GF(m−n+1)×において、2が生成元となるように、m、nを選ぶ」という条件を満たしているとする。 Specifically, the output length m and the input length n in the first embodiment are appropriately selected so that k = mn satisfies the following condition specified in the third embodiment. That is, the condition that “m and n are odd prime numbers and m and n are selected so that 2 is a generation source in the multiplicative group GF (m−n + 1) × of the finite field GF (m−n + 1)” is satisfied. Suppose that it meets.

そして、実施の形態1に含まれるGF(2)上の乗算に、実施の形態2の高速アルゴリズムを使用する。また、加算を行うには、GF(2)の元をビット列表示したものを排他的論理和する。 Then, the fast algorithm of the second embodiment is used for the multiplication on GF (2 k ) included in the first embodiment. Further, in order to perform addition, exclusive OR is performed on the elements of GF (2 k ) represented by a bit string.

実施の形態4.(従来型ユニバーサルハッシュ関数の高速実装1)
本実施の形態4では、有限体乗算を用いた従来型のユニバーサルハッシュ関数に、先の実施の形態2の高速乗算アルゴリズムを適用する場合について説明する。
Embodiment 4 FIG. (High-speed implementation of conventional universal hash function 1)
In the fourth embodiment, a case where the fast multiplication algorithm of the second embodiment is applied to a conventional universal hash function using finite field multiplication will be described.

(方式の説明)
入力は、長さnのビット列xとし、それを有限体の元とみなして、長さuのビット列で構成される乱数rを用いて演算を行い、長さmのビット列yを得る。ここで、出力ビット数mは、先の実施の形態2におけるkと同様の条件を満たすとする。つまり、「m+1が奇素数であり、有限体GF(m+1)の乗法群GF(m+1)×において2が生成元となる」という条件を満たしているとする。また、入力長nは、n>mを満たしているとし、sをn/m以上の最小の整数とする。また、uがmの整数倍であるとする。
(Description of method)
The input is a bit string x of length n, which is regarded as an element of a finite field, and is operated using a random number r composed of a bit string of length u to obtain a bit string y of length m. Here, it is assumed that the number m of output bits satisfies the same condition as k in the second embodiment. That is, it is assumed that the condition that “m + 1 is an odd prime number and 2 is a generation source in the multiplicative group GF (m + 1) × of the finite field GF (m + 1)” is satisfied. Also, the input length n is assumed to satisfy n> m, and s is the smallest integer equal to or greater than n / m. Also, let u be an integer multiple of m.

このとき、本実施の形態4における方式のハッシュ関数は、長さ(s−1)mのビット列rにより指定される。したがって、本ハッシュ関数を秘匿性増強に適用する場合には、秘匿性増強を行うたびに、長さ(s−1)mの乱数列rが消費される。   At this time, the hash function of the method according to the fourth embodiment is specified by a bit string r of length (s−1) m. Therefore, when the hash function is applied to the confidentiality enhancement, the random number sequence r having a length (s−1) m is consumed every time the confidentiality enhancement is performed.

(ステップ1:入力ビット列の整形)
入力ビットxの長さnが、mの倍数でないときは、mの倍数になるまでxに0を連接する。このようにして得られたxを、長さmのビット列に分割し、
x=(x、・・・、xs−1
=(xi1、・・・、xim
とする。ここで、xは、長さmのビット列、xijは、単一のビットである。
(Step 1: Formatting the input bit string)
When the length n of the input bit x is not a multiple of m, 0 is concatenated to x until it becomes a multiple of m. X obtained in this way is divided into bit strings of length m,
x = (x 0 ,..., x s−1 )
x i = (x i1 ,..., x im )
And Here, x i is a bit string having a length m, and x ij is a single bit.

同様にして、乱数rを長さmのビット列に分割し、
r=(r、・・・、rs−1
=(ri1、・・・、rim
とする。
Similarly, the random number r is divided into bit strings of length m,
r = (r 1 ,..., r s−1 )
r i = (r i1 ,..., r im )
And

(ステップ2:有限体上の乗算)
長さmのビット列x、・・・、x、および乱数のビット列r、・・・、rs−1を、有限体GF(2)の元とみなして、以下の演算を行い、GF(2)の元yを得る。
y=x+Σi=1 s−1
=x+r+r+…+rs−1s−1
(Step 2: Multiplication over a finite field)
The bit string x 1 ,..., X s of length m and the bit string r 1 ,..., R s−1 of random numbers are regarded as elements of the finite field GF (2 m ), and the following calculation is performed. , Obtain the element y of GF (2 m ).
y = x 0 + Σ i = 1 s−1 r i x i
= X 0 + r 1 x l + r 2 x 2 +... + R s−1 x s−1

この乗算において、先の実施の形態2のアルゴリズムを用いる。また、加算を行うには、GF(2)の元をビット列表示したものを、排他的論理和する。 In this multiplication, the algorithm of the second embodiment is used. Further, in order to perform addition, exclusive OR is performed on the elements of GF (2 m ) represented by a bit string.

(ステップ3:出力)
yを長さmのビット列として出力する。
(Step 3: Output)
y is output as a bit string of length m.

(実施の形態4の効果)秘匿性増強の処理速度の向上
有限体の乗算を用いた従来型のユニバーサルハッシュでは、乗算のためにO(m)の時間がかかるとされていた。これに対して、本方式では、高速乗算アルゴリズムを使用することで、計算量がO(m log m)に削減されている。
(Effect of Embodiment 4) Improvement in processing speed for enhancing confidentiality In the conventional universal hash using multiplication of a finite field, it was assumed that it took O (m 2 ) time for multiplication. On the other hand, in this method, the computational complexity is reduced to O (m log m) by using a high-speed multiplication algorithm.

次に、本実施の形態4で説明した高速乗算アルゴリズムの具体的な適用例について、図面を用いて説明する。図1は、本発明の実施の形態4における高速乗算アルゴリズムを、秘匿性増強アルゴリズムを用いた量子暗号装置の受信機に適用した場合の構成例を示した図である。図1に示した量子暗号装置10は、光ファイバなどからなる量子通信路20を介して、送信者とつながっている。   Next, a specific application example of the fast multiplication algorithm described in the fourth embodiment will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example when the fast multiplication algorithm according to Embodiment 4 of the present invention is applied to a receiver of a quantum cryptography device using a confidentiality enhancement algorithm. The quantum cryptography apparatus 10 shown in FIG. 1 is connected to a sender via a quantum communication path 20 made of an optical fiber or the like.

そして、量子暗号装置10は、量子通信装置11、誤り訂正装置12、乱数生成器13、および行列演算処理部14を備えて構成されている。ここで、本実施の形態4で説明した高速乗算アルゴリズムは、行列演算処理部14において用いられることとなる。   The quantum cryptography device 10 includes a quantum communication device 11, an error correction device 12, a random number generator 13, and a matrix operation processing unit 14. Here, the fast multiplication algorithm described in the fourth embodiment is used in the matrix operation processing unit 14.

量子通信装置11は、光子変調器や光子検出器からなる装置であり、量子通信路20から送られてきた光信号を変調したうえで検出し、ふるい鍵をビット列として出力する。   The quantum communication device 11 is a device composed of a photon modulator and a photon detector, modulates an optical signal transmitted from the quantum communication path 20, detects it, and outputs a sieve key as a bit string.

誤り訂正装置12は、量子通信路20や量子通信装置11の雑音に起因してふるい鍵に生じた誤りを、誤り訂正符号を用いて訂正するための計算機であり、パーソナルコンピュータ(PC)やFPGAからなる。そして、誤り訂正装置12は、誤り訂正した結果として、訂正鍵krecをビット列として出力する。この訂正鍵krecをビット列が、上述した長さnの入力ビットxに相当する。 The error correction device 12 is a computer for correcting an error generated in the sieve key due to noise of the quantum communication channel 20 or the quantum communication device 11 using an error correction code, and is a personal computer (PC) or FPGA. Consists of. Then, the error correction device 12 outputs the correction key k rec as a bit string as a result of error correction. The bit string of the correction key k rec corresponds to the input bit x having the length n described above.

乱数生成器13は、巡回行列M(R)を指定するための乱数ビット列を出力するためのもので(なお、Rは、mビットの乱数列rを、段落0040の操作によりm+1ビットに伸ばしたものを指す)、物理乱数発生器、もしくはPCやFPGA上に実装した疑似乱数生成器からなる。ここで、乱数生成器13は、上述した乱数のビット列r、・・・、rs−1を生成すればよい。 The random number generator 13 is for outputting a random number bit string for designating the cyclic matrix M (R i ) (R i is an m-bit random number string r i and m + 1 bits by the operation of paragraph 0040). A physical random number generator, or a pseudo-random number generator mounted on a PC or FPGA. Here, the random number generator 13 may generate the above-described random number bit string r 1 ,..., R s−1 .

行列演算処理部14は、乱数生成器13で生成された乱数のビット列r、・・・、rs−1を、有限体GF(2)の元とみなして、上述した演算を行い、GF(2)の元yを得る。そして、行列演算処理部14は、長さmのビット列yを、秘密鍵ksecとして出力する。このようにして、秘匿性増強の処理速度の向上を図ることができる。 The matrix calculation processing unit 14 regards the random number bit string r 1 ,..., R s−1 generated by the random number generator 13 as an element of the finite field GF (2 m ), and performs the above-described calculation. Get the element y of GF (2 m ). Then, the matrix calculation processing unit 14 outputs the bit string y having the length m as the secret key k sec . In this way, it is possible to improve the processing speed for enhancing confidentiality.

実施の形態5.(従来型ユニバーサルハッシュ関数の高速実装2)
本実施の形態5では、先の実施の形態4と同様に、有限体乗算を用いた従来型のユニバーサルハッシュ関数に、先の実施の形態2の高速乗算アルゴリズムを適用する場合の、別の具体例について説明する。
Embodiment 5 FIG. (High-speed implementation of conventional universal hash function 2)
In the fifth embodiment, as in the fourth embodiment, another specific example in the case where the fast multiplication algorithm of the second embodiment is applied to the conventional universal hash function using the finite field multiplication. An example will be described.

(方式の説明)
入力長n、出力長mに対する条件、およびsの定義は、先の実施の形態4と同様である。
(Description of method)
The conditions for the input length n and the output length m, and the definition of s are the same as in the fourth embodiment.

一方で、本実施の形態5における方式のハッシュ関数は、長さmのビット列rひとつのみで指定される。そして、本実施の形態5では、先の実施の形態4におけるr(i=1、・・・、s−1で、各rは、mビットだったもの)のかわりに、r(rのi乗のもの)を使用する。したがって、このようなハッシュ関数を秘匿性増強に適用する場合には、秘匿性増強を行うたびに、長さmの乱数列rのみが消費される。 On the other hand, the hash function of the method in the fifth embodiment is specified by only one bit string r having a length m. In the fifth embodiment, instead of r i (i = 1,..., S-1, each r i was m bits) in the fourth embodiment, r i ( r to the power of i). Therefore, when such a hash function is applied to the confidentiality enhancement, only the random number sequence r of length m is consumed each time the confidentiality enhancement is performed.

(ステップ1:入力ビット列の整形)
入力ビットxに対する操作は、先の実施の形態4と同様である。つまり、入力ビットxの長さnが、mの倍数でないときは、mの倍数になるまでxに0を連接する。このようにして得られたxを、長さmのビット列に分割し、
x=(x、・・・、xs−1
=(xi1、・・・、xim
とする。ここで、xは、長さmのビット列、xijは、単一のビットである。
(Step 1: Formatting the input bit string)
The operation for the input bit x is the same as in the fourth embodiment. That is, when the length n of the input bit x is not a multiple of m, 0 is concatenated to x until it becomes a multiple of m. X obtained in this way is divided into bit strings of length m,
x = (x 0 ,..., x s−1 )
x i = (x i1 ,..., x im )
And Here, x i is a bit string having a length m, and x ij is a single bit.

一方で、本実施の形態5における乱数rは、長さmのビット列である。
r=(r、・・・、r
On the other hand, the random number r in the fifth embodiment is a bit string having a length m.
r = (r 1 ,..., r m )

(ステップ2:有限体上の乗算)
長さmのビット列x、・・・、x、および乱数rを、有限体GF(2)の元とみなして、以下の演算を行い、GF(2)の元yを得る。
y=Σi=0 s−1
=x+rx+r+…+rs−1s−1
ここで、rは、rのi乗をあらわす。
(Step 2: Multiplication over a finite field)
The bit string x 1 ,..., X s and the random number r of length m are regarded as elements of the finite field GF (2 m ), and the following calculation is performed to obtain an element y of GF (2 m ).
y = Σ i = 0 s−1 r i x i
= X 0 + rx 1 + r 2 x 2 +... + R s−1 x s−1
Here, r i represents r to the power of i.

この乗算において、先の実施の形態2のアルゴリズムを用いる。また、加算を行うには、GF(2)の元をビット列表示したものを、排他的論理和する。 In this multiplication, the algorithm of the second embodiment is used. Further, in order to perform addition, exclusive OR is performed on the elements of GF (2 m ) represented by a bit string.

(ステップ3:出力)
yを長さmのビット列として出力する。
(Step 3: Output)
y is output as a bit string of length m.

(実施の形態5の効果)秘匿性増強の処理速度の向上
有限体の乗算を用いた従来型のユニバーサルハッシュでは、乗算のためにO(m)の時間がかかるとされていた。これに対して、本方式では、高速乗算アルゴリズムを使用することで、計算量がO(m log m)に削減されている。
(Effect of Embodiment 5) Improvement of processing speed for enhancing confidentiality In the conventional universal hash using multiplication of a finite field, it was assumed that it took O (m 2 ) time for multiplication. On the other hand, in this method, the computational complexity is reduced to O (m log m) by using a high-speed multiplication algorithm.

なお、以上の説明では、標数2の有限体、つまりGF(2)上の方式について説明したが、本発明は、これに限定されない。標数2を、一般の標数p(ただし、pは、素数)の有限体GF(p)上の方式に変更して、本願発明を適用することも可能である。 In the above description, a characteristic 2 finite field, that is, a method on GF (2 k ) has been described, but the present invention is not limited to this. It is also possible to apply the present invention by changing the characteristic 2 to a system on a finite field GF (p k ) of a general characteristic p (where p is a prime number).

10 量子暗号装置、11 量子通信装置、12 誤り訂正装置、13 乱数生成器、14 行列演算処理部、20 量子通信路。   DESCRIPTION OF SYMBOLS 10 Quantum cryptography apparatus, 11 Quantum communication apparatus, 12 Error correction apparatus, 13 Random number generator, 14 Matrix calculation process part, 20 Quantum communication path.

Claims (6)

長さnの入力ビット列で構成される入力xと、長さkのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、有限体GF(2)上の乗算処理を実行する行列演算処理部を備えた秘匿性増強装置であって、
いずれも正の整数である前記長さn、前記長さk、前記長さmは、
k=n−m
n=kt ただし、tは、3以上の整数
の条件を満たし、
前記行列演算処理部は、有限体乗算を行うに当たり、有限体GF(2)上において、i=1、・・・、t−1について、
=x+r
の演算を行い、前記出力yを、
y=(y、・・・、yt−1
により生成し、長さm=(t−1)kのビット列として出力する
秘匿性増強装置。
When generating an output y consisting of an output bit string of length m using an input x consisting of an input bit string of length n and a random number r consisting of a bit string of length k, a finite field A confidentiality enhancing apparatus including a matrix operation processing unit that performs multiplication processing on GF (2 k ),
The length n, the length k, and the length m, all of which are positive integers,
k = nm
n = kt where t satisfies an integer condition of 3 or more,
In performing the finite field multiplication, the matrix calculation processing unit performs i = 1,..., T−1 on the finite field GF (2 k ).
y i = x i + r i x t
And the output y is
y = (y 1 ,..., y t−1 )
The confidentiality enhancing device that generates and outputs a bit string of length m = (t−1) k.
長さnの入力ビット列で構成される入力xと、長さuのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する際に、有限体GF(2)上の乗算処理を実行する行列演算処理部を備えた秘匿性増強装置であって、
前記長さn、前記長さu、前記長さmは、いずれも正の整数であり、u、mがkの整数倍であるという条件を満たし、
前記行列演算処理部は、有限体乗算を行うに当たり、
長さkが、k+1が奇素数であり、有限体GF(k+1)の乗法群GF(k+1)×において、2が生成元となる
というさらなる条件を満たす際に、GF(2)の元a、bを
a=(a、・・・、ak−1
b=(b、・・・、bk−1
と表し、a、bそれぞれのパリティを
=a+・・・+ak−1 mod 2
=b+・・・+bk−1 mod 2
として算出し、
、bをa、bに連接したベクトルを
A=(a、・・・、ak−1、a
B=(b、・・・、bk−1、b
とおき、ビット列Xを第一行としてもつ、k×k巡回行列を、下式で示される行列M(A)
Figure 2015099310
として、前記行列M(A)とベクトルBとを掛け合わせ、k+1ビットのベクトルC
C=(c、c、・・・、c)=BM(A)
を生成し、前記ベクトルCの最後の成分cを削除した
c=(c、・・・、ck−1
を乗算結果として算出し、前記出力yとする
秘匿性増強装置。
When generating an output y consisting of an output bit string of length m using an input x consisting of an input bit string of length n and a random number r consisting of a bit string of length u, a finite field A confidentiality enhancing apparatus including a matrix operation processing unit that performs multiplication processing on GF (2 k ),
The length n, the length u, and the length m are all positive integers and satisfy the condition that u and m are integer multiples of k.
In performing the finite field multiplication, the matrix calculation processing unit,
An element a of GF (2 k ) when length k, k + 1 is an odd prime, and a further condition that 2 is a generator in the multiplicative group GF (k + 1) × of the finite field GF (k + 1) , B a = (a 0 ,..., A k−1 )
b = (b 0 ,..., b k−1 )
And the parity of a and b is expressed as a k = a 0 +... + A k−1 mod 2
b k = b 0 +... + b k−1 mod 2
As
a k and b k are vectors connected to a and b, respectively. A = (a 0 ,..., a k−1 , a k )
B = (b 0 ,..., B k−1 , b k )
And a k × k cyclic matrix having the bit string X as the first row is represented by a matrix M (A) represented by the following equation:
Figure 2015099310
The matrix M (A) and the vector B are multiplied to obtain a k + 1 bit vector C
C = (c 0 , c 1 ,..., C k ) = BM (A)
And the last component c k of the vector C is deleted c = (c 0 ,..., C k−1 )
As a result of multiplication and set as the output y.
請求項1に記載の秘匿性増強装置において、
前記行列演算処理部は、
m−n+1が奇素数であり、有限体GF(m−n+1)の乗法群GF(m−n+1)×において、2が生成元となるように、m、nを選ぶ
というさらなる条件を満たす際に、
前記出力yを生成するに当たって、請求項2に記載の有限体乗算方式を採用する
秘匿性増強装置。
The confidentiality enhancing device according to claim 1,
The matrix operation processing unit
When m−n + 1 is an odd prime number and the further condition that m and n are selected so that 2 is a generator in the multiplicative group GF (mn + 1) × of the finite field GF (m−n + 1) ,
A confidentiality enhancing device that employs the finite field multiplication method according to claim 2 in generating the output y.
請求項2に記載の秘匿性増強装置において、
前記行列演算処理部は、有限体乗算を用いた従来型のユニバーサルハッシュ関数を用いた秘匿性増強装置において出力yを生成するに当たって、請求項2に記載の有限体乗算方式を採用する
秘匿性増強装置。
In the confidentiality enhancing device according to claim 2,
The matrix calculation processing unit adopts the finite field multiplication method according to claim 2 in generating the output y in the confidentiality enhancing device using a conventional universal hash function using finite field multiplication. apparatus.
長さnの入力ビット列で構成される入力xと、長さkのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する行列演算処理部を備えた秘匿性増強装置によって実行される秘匿性増強データ処理方法であって、
いずれも正の整数である前記長さn、前記長さk、前記長さmは、
k=n−m
n=kt ただし、tは、3以上の整数
の条件を満たし、
前記行列演算処理部において、有限体乗算を行うに当たり、
有限体GF(2)上において、i=1、・・・、t−1について、
=x+r
の演算を行い、前記出力yを、
y=(y、・・・、yt−1
により生成し、長さm=(t−1)kのビット列として出力するステップ
を備える秘匿性増強データ処理方法。
A matrix operation processing unit that generates an output y composed of an output bit string of length m using an input x composed of an input bit string of length n and a random number r composed of a bit string of length k. A confidentiality enhancing data processing method executed by the confidentiality enhancing device provided,
The length n, the length k, and the length m, all of which are positive integers,
k = nm
n = kt where t satisfies an integer condition of 3 or more,
In performing the finite field multiplication in the matrix calculation processing unit,
On the finite field GF (2 k ), for i = 1,..., T−1,
y i = x i + r i x t
And the output y is
y = (y 1 ,..., y t−1 )
And a confidentiality enhancing data processing method comprising: a step of generating a bit string of length m = (t−1) k.
長さnの入力ビット列で構成される入力xと、長さuのビット列で構成される乱数rとを用いて、長さmの出力ビット列で構成される出力yを生成する行列演算処理部を備えた秘匿性増強装置によって実行される秘匿性増強データ処理方法であって、
前記長さn、前記長さu、前記長さmは、いずれも正の整数であり、u、mがkの整数倍であるという条件を満たし、
前記行列演算処理部において、有限体乗算を行うに当たり、
長さkが、k+1が奇素数であり、有限体GF(k+1)の乗法群GF(k+1)×において、2が生成元となる
というさらなる条件を満たす際に、GF(2)の元a、bを
a=(a、・・・、ak−1
b=(b、・・・、bk−1
と表し、a、bそれぞれのパリティを
=a+・・・+ak−1 mod 2
=b+・・・+bk−1 mod 2
として算出する第1ステップと、
、bをa、bに連接したベクトルを
A=(a、・・・、ak−1、a
B=(b、・・・、bk−1、b
とおき、ビット列Xを第一行としてもつ、k×k巡回行列を、下式で示される行列M(A)
Figure 2015099310
として、前記行列M(A)とベクトルBとを掛け合わせ、k+1ビットのベクトルC
C=(c、c、・・・、c)=BM(A)
を生成する第2ステップと、
前記ベクトルCの最後の成分cを削除した
c=(c、・・・、ck−1
を乗算結果として算出し、前記出力yとする第3ステップと
を備える秘匿性増強データ処理方法。
A matrix operation processing unit that generates an output y composed of an output bit string of length m using an input x composed of an input bit string of length n and a random number r composed of a bit string of length u. A confidentiality enhancing data processing method executed by the confidentiality enhancing device provided,
The length n, the length u, and the length m are all positive integers and satisfy the condition that u and m are integer multiples of k.
In performing the finite field multiplication in the matrix calculation processing unit,
An element a of GF (2 k ) when length k, k + 1 is an odd prime, and a further condition that 2 is a generator in the multiplicative group GF (k + 1) × of the finite field GF (k + 1) , B a = (a 0 ,..., A k−1 )
b = (b 0 ,..., b k−1 )
And the parity of a and b is expressed as a k = a 0 +... + A k−1 mod 2
b k = b 0 +... + b k−1 mod 2
A first step of calculating as
a k and b k are vectors connected to a and b, respectively. A = (a 0 ,..., a k−1 , a k )
B = (b 0 ,..., B k−1 , b k )
And a k × k cyclic matrix having the bit string X as the first row is represented by a matrix M (A) represented by the following equation:
Figure 2015099310
The matrix M (A) and the vector B are multiplied to obtain a k + 1 bit vector C
C = (c 0 , c 1 ,..., C k ) = BM (A)
A second step of generating
The last component c k of the vector C is deleted c = (c 0 ,..., C k−1 )
As a result of multiplication, and a third step of setting the output y as the output y.
JP2013239858A 2013-11-20 2013-11-20 Confidentiality enhancing apparatus and confidentiality enhancing data processing method Active JP6049589B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013239858A JP6049589B2 (en) 2013-11-20 2013-11-20 Confidentiality enhancing apparatus and confidentiality enhancing data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013239858A JP6049589B2 (en) 2013-11-20 2013-11-20 Confidentiality enhancing apparatus and confidentiality enhancing data processing method

Publications (2)

Publication Number Publication Date
JP2015099310A true JP2015099310A (en) 2015-05-28
JP6049589B2 JP6049589B2 (en) 2016-12-21

Family

ID=53375947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013239858A Active JP6049589B2 (en) 2013-11-20 2013-11-20 Confidentiality enhancing apparatus and confidentiality enhancing data processing method

Country Status (1)

Country Link
JP (1) JP6049589B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007086170A (en) * 2005-09-20 2007-04-05 Nec Corp Device, method, program for calculating universal hash function family, and shared key generation system
JP2012049765A (en) * 2010-08-26 2012-03-08 Mitsubishi Electric Corp Confidentiality-enhanced processing operation apparatus and quantum cryptographic communication terminal provided with the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007086170A (en) * 2005-09-20 2007-04-05 Nec Corp Device, method, program for calculating universal hash function family, and shared key generation system
JP2012049765A (en) * 2010-08-26 2012-03-08 Mitsubishi Electric Corp Confidentiality-enhanced processing operation apparatus and quantum cryptographic communication terminal provided with the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016040647; 浅井健志,鶴丸豊広: '量子暗号むけ高速秘匿性増強アルゴリズム' 電子情報通信学会技術研究報告 Vol.110,No.443, 20110224, pp.327-332, 電子情報通信学会 *
JPN6016040649; 鶴丸豊広,林正人: 'ユニバーサルハッシュ関数の双対性とその量子暗号への応用' 2012年 暗号と情報セキュリティシンポジウム予稿集 , 20120130, 2D3-4 *

Also Published As

Publication number Publication date
JP6049589B2 (en) 2016-12-21

Similar Documents

Publication Publication Date Title
CN110363030B (en) Method and processing device for performing a trellis-based cryptographic operation
Liu et al. Image encryption algorithm based on hyper-chaotic system and dynamic S-box
Almazrooie et al. Quantum reversible circuit of AES-128
CA2723319C (en) A closed galois field cryptographic system
Banegas et al. DAGS: Key encapsulation using dyadic GS codes
US20150312028A1 (en) Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
JP2007086170A (en) Device, method, program for calculating universal hash function family, and shared key generation system
JP6575532B2 (en) Encryption device, decryption device, encryption processing system, encryption method, decryption method, encryption program, and decryption program
Tutueva et al. Construction of one-way hash functions with increased key space using adaptive chaotic maps
JP5876032B2 (en) Chaotic series generator and corresponding generation system
Puchinger et al. Further generalisations of twisted Gabidulin codes
Galimberti et al. Fpga implementation of bike for quantum-resistant tls
Sarkar A new multi-linear universal hash family
Xu et al. Ring-explwe: A high-performance and lightweight post-quantum encryption scheme for resource-constrained iot devices
JP6049589B2 (en) Confidentiality enhancing apparatus and confidentiality enhancing data processing method
Gao et al. Walsh spectrum of cryptographically concatenating functions and its applications in constructing resilient Boolean functions
JP5436373B2 (en) Confidentiality enhancement processing arithmetic device and quantum cryptography communication terminal equipped with the same
Stuart et al. Nonlinear cryptosystem based on QC-LDPC codes for enhanced security and reliability with low hardware complexity and reduced key size
Touzene et al. Performance of algebraic graphs based stream-ciphers using large finite fields
Kim et al. Layered ROLLO-I: faster rank-metric code-based KEM using ideal LRPC codes
Rostovtsev et al. On boolean ideals and varieties with application to algebraic attacks
Li et al. Digital encryption method based on lorenz continuous chaotic system
Krömer et al. An acceleration of quasigroup operations by residue arithmetic
Deepthi et al. Implementation and analysis of stream ciphers based on the elliptic curves
Zhang Analysis and Construction of Nonlinear Correctors Used in True Random Number Generators

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161018

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161122

R150 Certificate of patent or registration of utility model

Ref document number: 6049589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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