JP2010530990A5 - - Google Patents

Download PDF

Info

Publication number
JP2010530990A5
JP2010530990A5 JP2010512742A JP2010512742A JP2010530990A5 JP 2010530990 A5 JP2010530990 A5 JP 2010530990A5 JP 2010512742 A JP2010512742 A JP 2010512742A JP 2010512742 A JP2010512742 A JP 2010512742A JP 2010530990 A5 JP2010530990 A5 JP 2010530990A5
Authority
JP
Japan
Prior art keywords
matrix
vector
block
public
protocol
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
JP2010512742A
Other languages
Japanese (ja)
Other versions
JP5426540B2 (en
JP2010530990A (en
Filing date
Publication date
Priority claimed from FR0704518A external-priority patent/FR2917920B1/en
Application filed filed Critical
Publication of JP2010530990A publication Critical patent/JP2010530990A/en
Publication of JP2010530990A5 publication Critical patent/JP2010530990A5/ja
Application granted granted Critical
Publication of JP5426540B2 publication Critical patent/JP5426540B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

公開行列に基づき、誤り訂正符号の復号を用いて認証を行う方法Method for performing authentication using decoding of error correction code based on public matrix

本発明は、公開行列(public matrix)に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法に関する。 The present invention relates to a method for performing encryption / authentication using decoding of an error correction code based on a public matrix.

本発明はまた、暗号化装置の動作によって上記のような認証の方法を実行するように構成される処理手段を備える暗号化装置に関する。   The present invention also relates to an encryption device comprising processing means configured to execute the authentication method as described above by the operation of the encryption device.

暗号化・認証を行う方法は広く知られている。   Methods for performing encryption and authentication are widely known.

最も広く知られている暗号化・認証を行う方法は、現在のところ、リベスト(Rivest)、シャミア(Shamir)およびエーデルマン(Adleman)により開発されたRSAアルゴリズムに基づいている。このRSAアルゴリズムのセキュリティ(security)は、大きな整数を因数分解することに関する数学的な難しさにある。   The most widely known encryption / authentication method is currently based on the RSA algorithm developed by Rivest, Shamir, and Adelman. The security of this RSA algorithm lies in the mathematical difficulty associated with factoring large integers.

しかしながら、このような暗号化・認証を行う方法は、幾つかの欠点を有している。これらの欠点の中で特に注目すべき点は、上記のRSAアルゴリズムが、非常に大きな整数を使用した計算能力を必要とし、とりわけ、離散的な指数関数計算を必要とする点である。この種の計算は、特に、スマートカードまたは無線タグ(RFタグ)のような、限られた処理能力を有する低価格の暗号化装置上で実行される際に計算の速度が遅くなる傾向にある。このため、前述のような暗号化・認証を行う方法は、現在のところ、これらの暗号化装置には利用できない。   However, such encryption / authentication methods have several drawbacks. Of particular note among these drawbacks is that the RSA algorithm described above requires computational power using very large integers, and in particular requires discrete exponential function calculations. This type of calculation tends to be slow, especially when executed on low-cost cryptographic devices with limited processing capabilities, such as smart cards or wireless tags (RF tags). . For this reason, the encryption / authentication method as described above cannot be used for these encryption devices at present.

RSAアルゴリズムに基づいて暗号化・認証を行う方法の代替方法の中で、公開行列を利用し、誤り訂正符号復号を用いて暗号化・認証を行う方法が広く知られている。 Among alternative methods of performing encryption / authentication based on the RSA algorithm, a method of performing encryption / authentication using a public matrix and decoding of an error correction code is widely known.

より詳しくいえば、本発明は、このような誤り訂正符号復号を用いて暗号化・認証を行う方法に関するものである。 More specifically, the present invention relates to a method for performing encryption / authentication using such decoding of an error correction code .

このような暗号化・認証を行う方法は、NP(non−deterministic polynomial)完全性を有する数学的な問題のソースであって、それゆえに、解くことが非常に難しい数学的な問題のソースであるという利点を有している。この結果、このような暗号化・認証を行う方法は、高度にセキュリティに富んでいる。その上、誤り訂正符号復号するための計算の速度は、RSAアルゴリズムに基づいた計算の速度よりも速い。 Such an encryption / authentication method is a source of mathematical problems with NP (non-deterministic polynomial) integrity and is therefore a source of mathematical problems that are very difficult to solve. Has the advantage. As a result, such encryption / authentication methods are highly security-rich. Moreover, the calculation speed for decoding the error correction code is faster than the calculation speed based on the RSA algorithm.

暗号化において誤り訂正符号を用いることは、1980年代より公知である。 The use of error correction codes in encryption has been known since the 1980s.

欧州特許出願公開第0661846号公報(後述の特許文献1に対応する)においては、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法が記述されている。 In European Patent Application Publication No. 0661646 (corresponding to Patent Document 1 described later), a method of performing encryption / authentication using decryption of an error correction code based on a public matrix is described.

さらに、この欧州特許出願公開第0661846号公報においては、当該欧州特許出願の出願人による先行技術文献である「シンドローム・デコーディングに基づいた新しい識別スキーム(A new identification scheme based on syndrome decoding)」(ジェイ.スターン(J.Stern)著、1993年発行)(後述の非特許文献1に対応する)と同様に、代表的に100キロビット(kbit)〜1000キロビット(kbit)のオーダーの非常に大きなランダム公開行列を用いたスターン・シンドローム・プロトコル(Stern syndrome protocol)と呼ばれる認証プロトコルが記述されている。   Further, in this European Patent Application Publication No. 0661646, the prior art document by the applicant of the European patent application is “A new identification scheme based on syndrome decoding” ( Like J. Stern (published in 1993) (corresponding to Non-Patent Document 1 described later), a very large random order typically in the order of 100 kilobits (kbit) to 1000 kilobits (kbit) An authentication protocol called a Stern syndrome protocol using a public matrix is described.

同様に、他の先行技術文献である「誤り訂正符号に基づいて改良された識別スキーム(Improved identification scheme based on error−correcting codes)」(ベロン(Veron)著、工学、通信分野およびコンピュータ関連分野に適用可能な代数学、1997年発行(Applicable Algebra in Engineering,Cmmunication and Computing,1997))(後述の非特許文献2に対応する)においても、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法との関連において、シンドローム・プロトコルの変化の様子が記述されている。このようなプロトコルは、ベロン・プロトコル(Veron protocol)と呼ばれている。 Similarly, other prior art documents "identification scheme improved on the basis of the error correction code (Improved identification scheme based on error- correcting codes) " (Veron (Veron) Author, engineering, the field of communications and computer related fields Applicable algebra published in 1997 (Applicable Algebra in Engineering, Communication and Computing, 1997) (corresponding to Non-Patent Document 2 described later) is also encrypted using decryption of error correction code based on the public matrix. The state of changes in the syndrome protocol is described in relation to the method of performing authentication / authentication. Such a protocol is called the Veron protocol.

これらの認証プロトコルにおいては、大抵の場合、公開行列はランダムである。それゆえに、上記プロトコルを実行するための暗号化装置のメモリ内に公開行列の全ての係数を記憶することが必要である。   In these authentication protocols, the public matrix is often random. It is therefore necessary to store all the coefficients of the public matrix in the memory of the encryption device for executing the above protocol.

しかしながら、低価格の暗号化装置における記憶上の制限によって、上記のようなプロトコルを実行することが不可能になる。このような事態は、特に、スマートカードまたは無線タグを使用する場合に発生し得る。   However, storage limitations in low-cost encryption devices make it impossible to execute the above protocol. Such a situation can occur particularly when a smart card or a wireless tag is used.

前述の先行技術文献である「シンドローム・デコーディングに基づいた新しい識別スキーム(A new identification scheme based on syndrome decoding)」(ジェイ.スターン(J.Stern)著、1993年発行)において、この著者は、さらに、初期値および擬似乱数生成器(pseudo−random generator)に基づいて擬似乱数を使用することにより公開行列を生成することを提案している。しかしながら、擬似乱数生成器の仕様は、今日まで未解決のままになっている問題である。さらに、このような擬似乱数生成器を動作させることは、低価格の暗号化装置における限られた容量と両立しない。   In the above-mentioned prior art document “A new identification scheme based on syndrome decoding” (by J. Stern, published in 1993), the author Furthermore, it has been proposed to generate a public matrix by using pseudo-random numbers based on initial values and pseudo-random generators (pseudo-random generators). However, the specification of the pseudo-random number generator is a problem that remains unresolved to date. Furthermore, operating such a pseudo-random number generator is incompatible with the limited capacity of low-cost encryption devices.

2007年6月24日に開始されたISIT 2007コンファレンスにおいて、他の先行技術文献である「SYND:セキュリティの減少を伴う非常に高速のコードに基づいた暗号ストリーム(SYND:a very fast Code−Based Cipher Stream with a security reduction)」(ガボリ他(Gaborit et al.)著)(後述の非特許文献3に対応する)が提示されている。ただし、この先行技術文献は、この日まで公衆によるアクセスが不可能であった。 In the ISIT 2007 conference started on June 24, 2007, another prior art document “SYND: a very fast code-based cipher with very low security (SYND: a very fast code-based cipher). Stream with a security reduction) "(Gabo Li other (Gaborit et al.) Author) (corresponding to non-patent document 3 below) have been presented. However, this prior art document was not accessible by the public until this date.

欧州特許出願公開第0661846号公報European Patent Application No. 0661646

「シンドローム・デコーディングに基づいた新しい識別スキーム(A new identification scheme based on syndrome decoding)」(ジェイ.スターン(J.Stern)著、1993年発行)"A new identification scheme based on syndrome decoding" (published by J. Stern, 1993) 「誤り訂正符号に基づいて改良された識別スキーム(Improved identification scheme based on error−correcting codes)」(ベロン(Veron)著、工学、通信分野およびコンピュータ関連分野に適用可能な代数学、1997年発行(Applicable Algebra in Engineering,Cmmunication and Computing,1997))"Improved identification scheme based on error-correcting codes" by Veron, algebra applicable to engineering, communication and computer related fields, published in 1997 ( Applicable Algebra in Engineering, Communication and Computing, 1997)) 「SYND:セキュリティの減少を伴う非常に高速のコードに基づいた暗号ストリーム(SYND:a very fast Code−Based Cipher Stream with a security reduction)」(ガボリ他(Gaborit et al.)著、2007年6月24日に開始されたISIT 2007コンファレンスにて提示された資料)"SYND: a very fast code-based cipher stream with a security reduction" (Gaborit et al., June 2007). Materials presented at the ISIT 2007 conference starting on the 24th)

したがって、本発明の1つの目的は、特に、限られた処理能力および/または記憶容量を有する暗号化装置といったような、低価格の暗号化装置にて実行することができるような、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法を提供することにある。 Accordingly, one object of the present invention is to provide a public matrix that can be implemented with low cost encryption devices, such as encryption devices with limited processing power and / or storage capacity. Based on this, it is an object of the present invention to provide a method for performing encryption / authentication using decoding of an error correction code .

より特定的にいえば、本発明の1つの目的は、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法において記憶されるべき公データの量を減少させることにある。 More specifically, one object of the present invention is based on the public matrix, to reduce the amount of published data to be stored in the method for encryption and authentication using a decoding of an error correction code is there.

さらに、前述の先行技術文献にて使用されている複数のランダム行列は、暗号化装置における高速の計算にはそれほど適していない。   Furthermore, the plurality of random matrices used in the above-mentioned prior art documents are not so suitable for high-speed calculation in the encryption apparatus.

本発明の他の目的は、高速の計算を可能にするような、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法を提供することにある。 Another object of the present invention is to provide a method for performing encryption / authentication using decoding of an error correction code based on a public matrix so as to enable high-speed calculation.

上記目的を達成するために、本発明との関連において、新しいタイプの公開行列が提示されている。   In order to achieve the above objective, a new type of public matrix has been presented in the context of the present invention.

特に、上記目的は、公開行列が擬似巡回行列(quasi−cyclic matrix)であるという事実によって、本発明に従って達成される。   In particular, the above object is achieved according to the invention by the fact that the public matrix is a quasi-cyclic matrix.

擬似巡回行列は、複数の巡回ブロックの並置(juxtaposition)を有する行列として知られている。この巡回ブロックの並置においては、1つの行から次の行へのシフトが、巡回的置換(circular permutation)によって行われる。 A pseudo cyclic matrix is known as a matrix having a juxtaposition of a plurality of cyclic blocks. In this juxtaposition of cyclic blocks, a shift from one row to the next is performed by cyclic permutation.

この結果、公開行列における全ての情報を記憶する際に、各々の巡回ブロック内の1つの基本の行を記憶するのみで十分であり、各々の巡回ブロックの他の行は、置き換えによって基本の行から推定されることになる。これによって、上記のような暗号化・認証を行う方法にて記憶されるべきデータの量が大幅に減少する。 As a result, when storing all the information in the public matrix, it is sufficient to store only one basic row in each cyclic block, and the other rows in each cyclic block are replaced by the basic row. Will be estimated from This greatly reduces the amount of data to be stored by the encryption / authentication method described above.

さらに、巡回ブロックの性質のおかげで、ベクトルと擬似巡回行列との乗算が高速にて行われる。さらにまた、誤り訂正符号復号を用いて暗号化・認証を行う方法は、このような乗算を実行する。このことは、本発明に従って暗号化・認証を行う方法が、暗号化計算の速度を向上させるのを可能にすること意味する。 Furthermore, thanks to the nature of the cyclic block, the multiplication of the vector and the pseudo cyclic matrix is performed at high speed. Furthermore, a method of performing encryption / authentication using decoding of an error correction code performs such multiplication. This means that the encryption / authentication method according to the invention makes it possible to increase the speed of the encryption computation.

それゆえに、本発明に従って暗号化・認証を行う方法は、暗号化装置が、限られた記憶容量および処理能力を有している場合であっても、この暗号化装置にて容易に実行される。   Therefore, the method for performing encryption / authentication according to the present invention is easily executed by the encryption apparatus even when the encryption apparatus has a limited storage capacity and processing capability. .

本発明に従って暗号化・認証を行う方法は、前述の先行技術文献にて記述されているプロトコル(すなわち、スターン・シンドロームを用いたデコーディングのためのプロトコル、および、ベロンにより記述されているようなスターン・シンドロームを用いたデコーディングのためのデュアル・プロトコル)に対して互換性を有する公開行列を提供するといったような付加的な利点を有する。   The encryption / authentication method according to the present invention is a protocol described in the above prior art documents (ie, a protocol for decoding using stern syndrome and as described by Belon). It has additional advantages such as providing a public matrix compatible with (dual protocol for decoding using stern syndrome).

本発明の第1の実施態様において、擬似巡回行列は、k行および2k列を有し、且つ、k*kのサイズの単位行列ブロック(identity block)とk*kのサイズの巡回ブロック(circulant block)との並置を有する。 In a first embodiment of the present invention, quasi-cyclic matrix has k rows and 2k columns, and, k * k of the size of the unit matrix block (identity block) and k * k sized cyclic blocks (circulant block).

この場合、認証を行う方法にて使用される秘密鍵(private key)は、2kのサイズのワードXである。また一方で、公開鍵(public key)は、kのサイズのシンドロームsと、擬似巡回行列の第1の行の半分の量とを有する。それゆえに、シンドローム・デコーディング・プロトコルは、4kビットから実行され得る。   In this case, the secret key (private key) used in the authentication method is a word X having a size of 2k. On the other hand, the public key has a syndrome s of size k and half the amount of the first row of the pseudo circulant matrix. Therefore, the syndrome decoding protocol can be implemented from 4k bits.

好ましくは、本発明の第1の実施態様において、巡回ブロックは、kのサイズのランダムベクトル(random vector)により規定(定義)されることが可能である。   Preferably, in the first embodiment of the present invention, the cyclic block can be defined (defined) by a random vector of size k.

この第1の実施態様における公開行列は、スターン・プロトコルまたはベロン・プロトコルにおける公開行列として使用されることが可能である。   The public matrix in this first embodiment can be used as a public matrix in the Stern protocol or the Belon protocol.

本発明の第2の実施態様において、公開行列は、k行および2k列を有する擬似巡回形の中間行列に基づいて構築され、この中間行列は、kのサイズの第1の巡回形正方形ブロックからなるブロックAとkのサイズの第2の巡回形正方形ブロックからなるブロックBとの並置により構成される。この場合に、中間行列は、下記の式

Figure 2010530990

により表される形態を有しており、公開行列は、中間行列に左からブロックAの逆行列を乗算することによって構築され、これによって、公開行列は、下記の式
Figure 2010530990

により表される形態を有するようになる。ここで、行列A-1は、ブロックAの逆行列である。 In the second embodiment of the present invention, the public matrix is constructed based on a pseudo-cyclic intermediate matrix having k rows and 2k columns, which is derived from a first cyclic square block of size k. Block A and a block B made up of a second cyclic square block of size k. In this case, the intermediate matrix is
Figure 2010530990

Has a form represented by, the public matrix is constructed by multiplying the inverse matrix of the block A from the left to the middle between the matrix, whereby, the public matrix, the following equation
Figure 2010530990

It comes to have the form represented by. Here, the matrix A −1 is an inverse matrix of the block A.

好ましくは、本発明の第2の実施態様において、第1の巡回ブロックおよび第2の巡回ブロックは、それぞれ、第1のベクトルおよび第2のベクトルにより規定され、第1のベクトルおよび第2のベクトルにより形成されるベクトルは、低次(low order)のベクトルである。   Preferably, in the second embodiment of the present invention, the first cyclic block and the second cyclic block are defined by the first vector and the second vector, respectively, and the first vector and the second vector, respectively. The vector formed by is a low order vector.

この場合、第1のベクトルおよび前記第2のベクトルは、このような次数の制限がある状態でランダムである。   In this case, the first vector and the second vector are random in a state where there is such an order restriction.

本発明の第2の実施態様において、公開行列は、特に、ベロン・プロトコルにおける公開行列として使用されることが可能である。   In the second embodiment of the invention, the public matrix can be used in particular as a public matrix in the Belon protocol.

この場合、他の特定の実施態様において、ベロン・プロトコルの秘密(secret)は、第1のベクトルおよび第2のベクトルにより構築されるような、行ベクトルから転置された列ベクトルからなる。   In this case, in another particular embodiment, the Beron protocol secret consists of a column vector transposed from the row vector, as constructed by the first vector and the second vector.

このようなベクトルは、2kのサイズの秘密鍵に対応している。また一方で、公開鍵は、kのサイズ分の秘密鍵により誘導される巡回ブロックに基づいて決定され得る。それゆえに、デコーディング・プロトコルは、3kビットから実行され得る。   Such a vector corresponds to a secret key of size 2k. On the other hand, the public key can be determined based on a cyclic block derived by a secret key for the size of k. Therefore, the decoding protocol can be implemented from 3k bits.

本発明はまた、コンピュータ・プログラムの動作によって前述のような認証の方法を実行するように取り決められた複数の命令を有するコンピュータ・プログラムに関するものである。   The present invention also relates to a computer program having a plurality of instructions arranged to execute the authentication method as described above by the operation of the computer program.

本発明はまた、前述のような認証の方法を実行するように構成される処理手段を有する暗号化装置に関するものである。   The present invention also relates to an encryption apparatus having processing means configured to execute the authentication method as described above.

本発明はまた、このような暗号化装置を具備するスマートカードに関するものである。   The invention also relates to a smart card comprising such an encryption device.

以下、非限定的な例に基づいて、添付の図面を参照しながら本発明の様々な実施形態(実施例)を説明する。   Hereinafter, various embodiments (examples) of the present invention will be described based on non-limiting examples with reference to the accompanying drawings.

擬似巡回行列の一般的な表示を示す図である。It is a figure which shows the general display of a pseudo cyclic matrix. 本発明の第1の実施例に従って認証を行う方法において使用されるべき公開行列を示す図である。FIG. 3 shows a public matrix to be used in the method for performing authentication according to the first embodiment of the present invention. 図2に示されている行列を構成する行列ブロックの一例を示す図である。It is a figure which shows an example of the matrix block which comprises the matrix shown by FIG. 本発明の第2の実施例に従って認証を行う方法において使用されるべき公開行列を構築するために用いられるような低次のワードからなる中間行列を示す図である。FIG. 6 shows an intermediate matrix of low-order words as used to build a public matrix to be used in a method for authentication according to a second embodiment of the invention. 図4に示されている中間行列を形成する行列ブロックの一例を示す図である。It is a figure which shows an example of the matrix block which forms the intermediate | middle matrix shown by FIG.

本発明に従って、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法は、スターン・シンドローム・デコーディング・プロトコルの助けを借りて実行され得る。 In accordance with the present invention, a method for encryption and authentication using decryption of an error correction code based on a public matrix may be performed with the help of a stern syndrome decoding protocol.

このようなプロトコルは、前述の特許文献1の欧州特許出願公開第0661846号公報、および、前述の非特許文献1の「シンドローム・デコーディングに基づいた新しい識別スキーム(A new identification scheme based on syndrome decoding)」(ジェイ.スターン(J.Stern)著、1993年発行)にて申し分なく記述されている。さらに、上記のようなプロトコルは、誤り訂正符号を用いた暗号学の分野における当業者によく知られている。 Such a protocol is disclosed in European Patent Application No. 0661646 of the above-mentioned Patent Document 1 and “A new identification scheme based on syndrome decoding” of the aforementioned Non-Patent Document 1 and “Non-Patent Document 1”. ) ”(J. Stern, published in 1993). Furthermore, such protocols are well known to those skilled in the field of cryptography using error correction codes .

これらの先行技術文献は、上記のようなプロトコルを実行する際に参考にされるであろう。   These prior art documents will be referred to when implementing such protocols.

スターン・プロトコルの主要なステップに関する注意事項を以下に示す。スターン・シンドローム・デコーディング・プロトコルにおいて、2つのエンティティ(entities)は、バイナリ・コードにより構成される公開行列Hを含む。さらに、秘密コードは、低次のワードであり、公開鍵は、上記公開行列と上記ワードとの積である。   The following are notes on the main steps of the Stern protocol. In the Stern Syndrome decoding protocol, two entities contain a public matrix H composed of binary code. Further, the secret code is a low-order word, and the public key is a product of the public matrix and the word.

スターン・プロトコルを用いて認証を実行するに際して、本出願人は、ベリファイア(verifier)Vによってそれ自身を認証することを必要とするエンティティP、すなわち、プローバ(prover)を考慮に入れる。一連の回転(turn)が実行される場合、各々の回転を正しく実行することによって、プローバPが真(true)であるというアイデンティティ(identity)の可能性が増加していく。各々の回転は、プローバPがベリファイアVにエンゲイジメント(engagement)を送るという第1のステップからなる。次に、第2のステップにおいて、ベリファイアVは、プローバPにチャレンジ(challenge)を返送する。さらに、第3のステップにおいて、プローバPは、ベリファイアVに応答を送る。ここで、ベリファイアVは、プローバPの応答が、そのプローバPの公開鍵に一致していることを検証する。   In performing authentication using the stern protocol, Applicants take into account the entity P, ie, the prober, that needs to authenticate itself with the verifier V. When a series of rotations are performed, the correctness of each rotation increases the possibility of identity that the prober P is true. Each rotation consists of a first step in which the prober P sends an engagement to the verifier V. Next, in the second step, the verifier V returns a challenge to the prober P. Further, in the third step, the prober P sends a response to the verifier V. Here, the verifier V verifies that the response of the prober P matches the public key of the prober P.

プローバPの公開鍵とプローバPの秘密鍵との間のリンクは、シンドローム・デコーディングの問題に基づいている。前述のスターン・プロトコルの動作に関する処理の詳細は、当業者によく知られている。この当業者は、必要に応じて前述の先行技術文献を参考にするかもしれない。   The link between the prober P's public key and the prober P's private key is based on the problem of syndrome decoding. Details of processing relating to the operation of the Stern protocol described above are well known to those skilled in the art. This person skilled in the art may refer to the aforementioned prior art documents as necessary.

同様に、当業者は、ベロン・プロトコルもよく知っており、このベロン・プロトコルを実行する際に、必要に応じて、前述の先行技術文献(非特許文献2)の「誤り訂正符号に基づいて改良された識別スキーム(Improved identification scheme based on error−correcting codes)」(ベロン(Veron)著、工学、通信分野およびコンピュータ関連分野に適用可能な代数学、1997年発行(Applicable Algebra in Engineering,Cmmunication and Computing,1997))を参照するかもしれない。 Similarly, those skilled in the art are familiar with the Beron protocol. When executing the Beron protocol, if necessary, based on the “ error correction code ” of the above-mentioned prior art document (Non-Patent Document 2). Improved identification scheme based on error-correcting codes "by Veron, algebra applicable to engineering, communications and computer related fields, published in 1997 (Applicable Algebra in Engineering Reference may be made to Computing, 1997)).

ベロン・プロトコルの主要なステップは以下のように要約される。   The main steps of the Beron protocol are summarized as follows:

ベロン・プロトコルを用いた認証を実行するに際して、このベロン・プロトコルの大部分のステップは、前述のスターン・プロトコルの場合と同じである。各々のステップにおいて実行される計算に違いが見られるが、この違いは、ほんのわずかである。より特定的にいえば、公開鍵と秘密鍵との間のリンクは、ある特定の行列または誤り訂正符号に関連している低次のワードを見つけ出すことに基づいている。 In performing authentication using the Belon protocol, most of the steps of the Belon protocol are the same as in the Stern protocol described above. Although there are differences in the calculations performed at each step, this difference is only slight. More specifically, the link between the public key and the private key is based on finding low order words associated with a particular matrix or error correction code .

前述の先行技術文献においては、公開鍵が記述されている。本発明によれば、前述の先行技術文献と同様にプロトコルが実行される。ただし、本発明では、前述の先行技術文献にて記述されている公開行列を、以下に述べるような複数の公開行列に置き換えている。前述のようなプロトコルの各々にて使用可能であるタイプの公開行列を以下に述べる。   In the above-mentioned prior art documents, a public key is described. According to the present invention, the protocol is executed in the same manner as in the above-mentioned prior art document. However, in the present invention, the public matrix described in the above-mentioned prior art document is replaced with a plurality of public matrices as described below. The types of public matrices that can be used in each of the above protocols are described below.

本発明の第1の実施例にて以下に述べるような公開行列Hは、スターン・プロトコルまたはベロン・プロトコルにおける公開行列として同等に使用されることが可能である。さらに、本発明の第2の実施例にて以下に述べるような公開行列Gは、ベロン・プロトコルにて使用されることが可能である。   The public matrix H as described below in the first embodiment of the present invention can be used equally as a public matrix in the Stern protocol or the Belon protocol. Furthermore, a public matrix G as described below in the second embodiment of the present invention can be used in the Belon protocol.

本発明によれば、公開行列は擬似巡回行列であり、この擬似巡回行列は、複数の巡回ブロックの並置を有することを意味するものである。図1は、このような擬似巡回行列(公開行列H)の一般的な表示を含む。このような擬似巡回行列は、複数の巡回形正方形ブロックA1,A2,...,Anにより構成される。これらの巡回形正方形ブロックの1つは、基本のベクトルに基づいて置換により規定される。 According to the invention, the public matrix is a pseudo circulant matrix, which means that it has a juxtaposition of a plurality of cyclic blocks. FIG. 1 includes a general representation of such a pseudo-cyclic matrix (public matrix H). Such a pseudo circulant matrix includes a plurality of cyclic square blocks A 1 , A 2 ,. . . , Composed of A n. One of these cyclic square blocks is defined by permutation based on a basic vector.

図2に示すように、本発明の第1の実施例によれば、公開行列Hは、図1に関連して既述された行列と同じタイプであり、k行および2k列を有する。この公開行列Hは、kのサイズの正方形の単位行列(単位行列ブロック)I、および、kのサイズの正方形の巡回行列(巡回ブロック)Cからなる。この正方形の巡回行列Cは、複数の“0”および複数の“1”により構成される。それゆえに、公開行列Hは、下記の式

Figure 2010530990

により表される形態を有する。 As shown in FIG. 2, according to the first embodiment of the present invention, the public matrix H is of the same type as the matrix previously described in connection with FIG. 1 and has k rows and 2k columns. The public matrix H includes a square unit matrix ( unit matrix block) I having a size of k and a square cyclic matrix (cyclic block) C having a size of k. This square circulant matrix C is composed of a plurality of “0” s and a plurality of “1” s. Therefore, the public matrix H is given by
Figure 2010530990

It has the form represented by.

ここで、図3を参照しながら、巡回行列Cをより詳細に説明する。この巡回行列Cは、ランダムベクトル〔c1,c2,...,ck−1,c〕からなる第1の行を有する。ここで、 は、“0”または“1”である。次に続く複数の行は、第1の行の連続的な置き換えによって決定される。これによって、巡回行列Cは、全体が第1の行によって決定されることになる。 Here, the cyclic matrix C will be described in more detail with reference to FIG. This circulant matrix C includes random vectors [c 1 , c 2 ,. . . , C k−1 , c k ]. Here, c i is “0” or “1”. Subsequent rows are determined by successive replacements of the first row. Thus, the entire cyclic matrix C is determined by the first row.

上記の公開行列Hは、前述のスターン・プロトコルおよびベロン・プロトコルにて使用されることが可能である。   The public matrix H can be used in the Stern protocol and the Beron protocol described above.

本発明の第2の実施例において、k行および2k列を有する擬似巡回形の中間ブロックG′が規定される。この中間ブロックG′は、kのサイズの第1の巡回形正方形ブロックからなるブロックA、および、kのサイズの第2の巡回形正方形ブロックからなるブロックBにより構成される。この中間ブロックG′は、図4に図示されている。この中間ブロックG′は、下記の式

Figure 2010530990
により表される形態を有する。
そして、公開行列Gは、下記の式
Figure 2010530990
により表される形態を有しており、第1の単位行列ブロックおよび第2のブロックにより構成することによって構築される。この第2のブロックは、行列BにAの逆行列-1左から乗算することによって構成される。後、積A-1.Bの結果として生成される行列、Dと表わされる。 In the second embodiment of the present invention, a pseudo-cyclic intermediate block G ′ having k rows and 2k columns is defined. This intermediate block G ′ is composed of a block A composed of a first cyclic square block of size k and a block B composed of a second cyclic square block of size k. This intermediate block G 'is illustrated in FIG. This intermediate block G ′ has the following formula:
Figure 2010530990
It has the form represented by.
The public matrix G is given by
Figure 2010530990
Has a form represented by, it is constructed by arranging a first matrix block and a second block. This second block is constructed by multiplying the inverse matrix A -1 of A from left to matrix B. After more than a product A -1. Matrix generated as a result of B is represented as D.

上記のような公開行列Gは、ベロン・プロトコルにおける公開行列として使用されることが可能である。   The public matrix G as described above can be used as a public matrix in the Belon protocol.

複数の行列(ブロック)A、Bが、図5に図示されている。これらの行列A、Bは、それぞれの第1の行a=〔a1,a2,...,ak−1,a〕、b=〔b1,b2,...,bk−1,b〕に基づいて規定される。ここで、 および は、“0”または“1”の値を有する。これらの2つの第1の行はランダムベクトルであり、ベクトル〔a,b〕が、ベロン・プロトコルにおける次数の条件を満たすように選択される。 A plurality of matrices (blocks) A and B are shown in FIG. These matrices A and B have their first rows a = [a 1 , a 2 ,. . . , A k−1 , a k ], b = [b 1 , b 2 ,. . . , B k−1 , b k ]. Here, a i and b i have a value of “0” or “1”. These two first rows are random vectors, and the vector [a, b] is selected to satisfy the order condition in the Beron protocol.

この場合、ベロン・プロトコルにおける秘密データは、2kのサイズのベクトルt〔a,b〕、すなわち、行ベクトル〔a,b〕から転置された列ベクトルである。また一方で、公開データは、kのサイズの行列Dを記述するベクトル、すなわち、行列Dの第1の行である。 In this case, the secret data in the Beron protocol is a vector t [a, b] having a size of 2k, that is, a column vector transposed from the row vector [a, b]. On the other hand, the public data is a vector describing a matrix D of size k, that is, the first row of the matrix D.

本発明の第2の実施例の利点は、低次の秘密データ(ベクトル)t〔a,b〕が、公開行列において直接的に記述されているという点である。 The advantage of the second embodiment of the present invention, low-order secret data (vector) t [a, b] is in that Ru is directly written Tei at a public matrix.

本発明によれば、本発明の第1の実施例に関してベロン・プロトコルまたはスターン・プロトコルにて既述された複数の行列の使用、特に、本発明の第2の実施例に関してベロン・プロトコルにて既述された複数の行列の使用は、暗号化プロトコルに課せられたセキュリティの制約を維持することを可能にする。   According to the present invention, the use of a plurality of matrices already described in the Belon Protocol or the Stern Protocol for the first embodiment of the present invention, in particular in the Veron Protocol for the second embodiment of the present invention. The use of multiple matrices as described above makes it possible to maintain the security constraints imposed on the encryption protocol.

特に、コードのパラメータがギルバート・バルシャモフ限界(Gilbert−Varshanov limit)より低い値を有する場合に、通常の攻撃に対してコードが保護されることは広く知られている。   It is well known that code is protected against normal attacks, especially when the code parameters have values below the Gilbert-Varshanov limit.

本発明の第1の実施例において、次数wの秘密Xに関していえば、次数wが、ギルバート・バルシャモフ限界よりもちょっと低い値になるように選択されている場合には、パラメータ〔2k,k〕のコード内に次数wのワード(秘密)Xを見つけ出すために必要なコストが少なくとも280になるように、kが選択される。 In the first embodiment of the present invention, with respect to the secret X of the order w, if the order w is selected to be slightly lower than the Gilbert Barshamov limit, the parameter [2k, k] as cost required to find the code of order w in word (secret) X is at least 2 80, k is selected.

本発明の第1の実施例に関して上記のような条件を満たすパラメータの一例は、k=317、および、w=69である。これらのパラメータの値によって、シンドロームsに対応する634のサイズの公開データが提供されると共に、2kのサイズの秘密および行列Cの第1の行に対応する951のサイズの秘密データが付与される。この場合、公開行列Hは、HX=sによって決定される。ここで、sはシンドローム、Xは秘密鍵(secret key)、そして、Hは公開行列である。   An example of a parameter that satisfies the above conditions for the first embodiment of the present invention is k = 317 and w = 69. The values of these parameters provide 634 sized public data corresponding to syndrome s and give 2k sized secrets and 951 sized secret data corresponding to the first row of matrix C. . In this case, the public matrix H is determined by HX = s. Here, s is a syndrome, X is a secret key, and H is a public matrix.

本発明の第2の実施例においては、例えば、k=347、w=76といったように、ギルバート・バルシャモフ限界よりも低い次数wを有するベクトルx(x=〔a,b〕)が選択される。これによって、下記の式

Figure 2010530990
により表されるような694ビットのサイズの秘密データが提供される。また一方で、行列Dの第1の行により規定されるような347ビットのサイズの公開データが提供される。 In the second embodiment of the present invention, a vector x (x = [a, b]) having an order w lower than the Gilbert Barshamov limit is selected, for example, k = 347, w = 76. . This gives
Figure 2010530990
Secret data with a size of 694 bits as represented by is provided. On the other hand, public data having a size of 347 bits as defined by the first row of the matrix D is provided.

かくして、本発明に従って複数の擬似巡回行列を使用することは、スターン・プロトコルまたはベロン・プロトコルにて通常使用されるサイズに比べて,複数の行列のサイズを減少させることを可能にする。代表的には、複数の行列のサイズを数100キロビットから約300ビットに減少させることが可能になる。   Thus, using multiple pseudo-circulant matrices in accordance with the present invention allows the size of multiple matrices to be reduced compared to the size normally used in Stern or Belon protocols. Typically, the size of a plurality of matrices can be reduced from several hundred kilobits to about 300 bits.

本発明に従って、公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法は、スターン・プロトコルまたはベロン・プロトコルを使用することにより、暗号化装置にて容易に実行され得る。 According to the present invention, the method of performing encryption / authentication using the decoding of the error correction code based on the public matrix can be easily executed in the encryption device by using the Stern protocol or the Belon protocol.

特に、本発明の第1の実施例で記述されている公開行列Hは、スターン・プロトコルまたはベロン・プロトコルにて同等に使用されることが可能であり、本発明の第2の実施例で記述されている公開行列Gは、ベロン・プロトコルにて使用されることが可能である。   In particular, the public matrix H described in the first embodiment of the present invention can be used equally in the Stern protocol or the Beron protocol, and is described in the second embodiment of the present invention. The public matrix G that can be used can be used in the Beron protocol.

本発明に従って暗号化・認証を行う方法を実行するために、プロセッサは、前述のような単一または複数の擬似巡回行列を用いて上記のプロトコルを実行するようにプログラミングされる。暗号化装置はまた、暗号化計算の期間中にデータを記憶するためのメモリを備えている。   In order to perform the method of performing encryption and authentication according to the present invention, the processor is programmed to execute the above protocol using single or multiple pseudo circulant matrices as described above. The encryption device also includes a memory for storing data during the encryption calculation.

本発明に従って暗号化・認証を行う方法が、誤り訂正符号復号を行う際に使用される複数の行列のサイズを減少させることを可能にするという事実によって、上記の暗号化装置は、例えば、スマートカードのチップにより構成され得る。 Due to the fact that the encryption / authentication method according to the invention makes it possible to reduce the size of a plurality of matrices used in decoding an error correction code , the encryption device described above, for example, It may be constituted by a smart card chip.

Claims (15)

公開行列に基づき、誤り訂正符号復号を用いて暗号化・認証を行う方法であって、前記公開行列は擬似巡回行列であることを特徴とする、暗号化・認証を行う方法。 A method for performing encryption / authentication based on a public matrix, using decryption of an error correction code , wherein the public matrix is a pseudo circulant matrix. 前記公開行列(H)は、k行および2k列を有し、且つ、k*kのサイズの単位行列ブロックとk*kのサイズの巡回ブロックとの並置を有する請求項1記載の方法。 The public matrix (H) has k rows and 2k columns, and The method of claim 1, further comprising a juxtaposition of a cyclic block size k * k matrix block and k * k of size. 前記公開行列(H)は、下記の式
Figure 2010530990

により表されるタイプの公開行列であり、ここで、Iは、k*kのサイズの単位行列ブロックであり、Cは、k*kのサイズの巡回ブロックである請求項1記載の方法。
The public matrix (H) is given by
Figure 2010530990

The method of claim 1, wherein I is a unit matrix block of size k * k and C is a cyclic block of size k * k.
前記巡回ブロックは、kのサイズのランダムベクトルにより規定される請求項2または3記載の方法。   The method according to claim 2 or 3, wherein the cyclic block is defined by a random vector of size k. 前記巡回ブロックは、バイナリ・データにより構成される請求項2から4のいずれか一項に記載の方法。   The method according to any one of claims 2 to 4, wherein the cyclic block is constituted by binary data. サイズを表すkの数は、317に等しい請求項2から5のいずれか一項に記載の方法。   6. The method according to any one of claims 2 to 5, wherein the number k representing the size is equal to 317. 前記擬似巡回行列は、スターン・プロトコルまたはベロン・プロトコルにて使用される請求項2から5のいずれか一項に記載の方法。   The method according to claim 2, wherein the pseudo circulant matrix is used in a Stern protocol or a Beron protocol. 前記公開行列は、k行および2k列を有する擬似巡回形の中間行列(G′)に基づいて構築され、前記中間行列(G′)は、kのサイズの第1の巡回形正方形ブロックからなるブロックAとkのサイズの第2の巡回形正方形ブロックからなるブロックBとの並置により構成され、この場合に、前記中間行列(G′)は、下記の式
Figure 2010530990

により表される形態を有しており、
前記公開行列は、前記中間行列に左から前記ブロックAの逆行列を乗算することによって構築され、これによって、前記公開行列は、下記の式
Figure 2010530990
により表される形態を有するようになり、ここで、行列A-1は、前記ブロックAの逆行列である請求項1記載の方法。
The public matrix is constructed based on a pseudo-circular intermediate matrix (G ′) having k rows and 2k columns, and the intermediate matrix (G ′) is composed of a first cyclic square block of size k. It is constituted by juxtaposition of a block A and a block B consisting of a second cyclic square block of size k. In this case, the intermediate matrix (G ′) is expressed by the following equation:
Figure 2010530990

Having the form represented by
The public matrix is constructed by multiplying the inverse matrix of the left before Symbol intermediate matrix blocks A, whereby, the public matrix, the following equation
Figure 2010530990
The method of claim 1, wherein the matrix A −1 is an inverse matrix of the block A.
前記第1の巡回ブロックおよび前記第2の巡回ブロックは、それぞれ、第1のベクトルおよび第2のベクトルにより規定され、前記第1のベクトルおよび前記第2のベクトルにより形成されるベクトルは、低次のベクトルである請求項8記載の方法。   The first cyclic block and the second cyclic block are defined by a first vector and a second vector, respectively, and a vector formed by the first vector and the second vector is a low order The method of claim 8, wherein 前記第1のベクトルおよび前記第2のベクトルがランダムである請求項9記載の方法。   The method of claim 9, wherein the first vector and the second vector are random. 前記公開行列は、ベロン・プロトコルにおける公開行列として使用される請求項8から10のいずれか一項に記載の方法。   The method according to any one of claims 8 to 10, wherein the public matrix is used as a public matrix in a Belon protocol. 前記ベロン・プロトコルの秘密は、前記第1のベクトルおよび前記第2のベクトルにより構築されるような、行ベクトルから転置された列ベクトルからなる請求項11記載の方法。   12. The method of claim 11, wherein the Belon protocol secret comprises a column vector transposed from a row vector, as constructed by the first vector and the second vector. コンピュータ・プログラムの動作によって請求項11記載の方法を実行するための複数の命令を有することを特徴とするコンピュータ・プログラム。   A computer program comprising a plurality of instructions for performing the method of claim 11 by operation of the computer program. 請求項1から12のいずれか一項に記載の方法を実行するように構成される処理手段を備えることを特徴とする暗号化装置。   An encryption device comprising processing means configured to perform the method according to any one of claims 1-12. 請求項14に記載の暗号化装置を具備することを特徴とするスマートカード。   A smart card comprising the encryption device according to claim 14.
JP2010512742A 2007-06-22 2008-06-20 Method for performing authentication using decoding of error correction code based on public matrix Active JP5426540B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0704518A FR2917920B1 (en) 2007-06-22 2007-06-22 AUTHENTICATION METHOD USING AN ERROR-CORRECTING CODE DECODING FROM A PUBLIC MATRIX
FR0704518 2007-06-22
PCT/FR2008/000871 WO2009016272A1 (en) 2007-06-22 2008-06-20 Method of authentication using a decoding of an error correcting code on the basis of a public matrix

Publications (3)

Publication Number Publication Date
JP2010530990A JP2010530990A (en) 2010-09-16
JP2010530990A5 true JP2010530990A5 (en) 2011-08-04
JP5426540B2 JP5426540B2 (en) 2014-02-26

Family

ID=39027648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010512742A Active JP5426540B2 (en) 2007-06-22 2008-06-20 Method for performing authentication using decoding of error correction code based on public matrix

Country Status (5)

Country Link
US (1) US8817972B2 (en)
EP (1) EP2158720B1 (en)
JP (1) JP5426540B2 (en)
FR (1) FR2917920B1 (en)
WO (1) WO2009016272A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5564434B2 (en) * 2008-01-11 2014-07-30 オランジュ Methods and entities for probabilistic symmetric encryption
FR2956541B1 (en) * 2010-02-18 2012-03-23 Centre Nat Rech Scient CRYPTOGRAPHIC METHOD FOR COMMUNICATING CONFIDENTIAL INFORMATION.
GB2522836A (en) * 2013-12-02 2015-08-12 Neul Ltd Interference mitigation
US20160028419A1 (en) * 2014-07-22 2016-01-28 Lsi Corporation Systems and Methods for Rank Independent Cyclic Data Encoding
KR101913644B1 (en) 2017-03-13 2018-10-31 동국대학교 산학협력단 Code-based encryption apparatus and method capable of message authentication
CN113498591A (en) * 2018-12-21 2021-10-12 01公报实验室公司 Password system and method
WO2020146284A1 (en) * 2019-01-07 2020-07-16 Cryptography Research, Inc. Efficient squaring with loop equalization in arithmetic logic units
US11342044B2 (en) 2019-05-28 2022-05-24 Nuvoton Technology Corporation System and method for prioritization of bit error correction attempts
US11475170B2 (en) * 2019-05-28 2022-10-18 Nuvoton Technology Corporation System and method for correction of memory errors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2714780B1 (en) * 1993-12-30 1996-01-26 Stern Jacques Method for authenticating at least one identification device by a verification device.
EP0920753B1 (en) * 1996-08-19 2006-12-13 NTRU Cryptosystems, Inc. Public key cryptosystem method and apparatus
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
WO2003065591A2 (en) * 2002-01-29 2003-08-07 Seagate Technology Llc A method and decoding apparatus using linear code with parity check matrices composed from circulants
US20040258240A1 (en) * 2003-05-02 2004-12-23 Singh Mukesh K. Cryptosystems
JP2006133380A (en) * 2004-11-04 2006-05-25 Murata Mach Ltd Decoding system, decoding program, and cipher communication system
US7805652B1 (en) * 2006-02-10 2010-09-28 Marvell International Ltd. Methods for generating and implementing quasi-cyclic irregular low-density parity check codes

Similar Documents

Publication Publication Date Title
CN110363030B (en) Method and processing device for performing a trellis-based cryptographic operation
JP5426540B2 (en) Method for performing authentication using decoding of error correction code based on public matrix
JP2010530990A5 (en)
CN107690681B (en) For integrated circuit data path confidentiality and its technology of extension
Banegas et al. DAGS: Key encapsulation using dyadic GS codes
EP3469762B1 (en) Device and method to compute a block cipher
US20100208885A1 (en) Cryptographic processing and processors
KR20120127607A (en) Device and method for obtaining a cryptographic key
JP7328969B2 (en) Cryptographic system and method
EP3732822B1 (en) Whitebox computation of keyed message authentication codes
US20200177365A1 (en) Cryptographic device and method
US20220085999A1 (en) System and method to optimize decryption operations in cryptographic applications
Samardjiska et al. A reaction attack against cryptosystems based on LRPC codes
US20170257212A1 (en) Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata
US11902432B2 (en) System and method to optimize generation of coprime numbers in cryptographic applications
US20200097256A1 (en) A calculation device for encoded addition
US20220085998A1 (en) System and method to generate prime numbers in cryptographic applications
JP6059347B2 (en) Decoding device, decoding capability providing device, method and program thereof
Lau et al. On the security of the modified Dual-ouroboros PKE using Gabidulin codes
US20230153070A1 (en) Parallel generation of a random matrix
US20220382521A1 (en) System and method for encryption and decryption using logic synthesis
Rizomiliotis et al. On matrix multiplication with homomorphic encryption
US11070358B2 (en) Computation device and method
Cambou et al. Key Distribution for Post Quantum Cryptography using Physical Unclonable Functions
CN113475034B (en) Circuit compiling apparatus and circuit evaluating apparatus