JP6093718B2 - Expansion field multiplication device, expansion field multiplication method and program - Google Patents
Expansion field multiplication device, expansion field multiplication method and program Download PDFInfo
- Publication number
- JP6093718B2 JP6093718B2 JP2014006335A JP2014006335A JP6093718B2 JP 6093718 B2 JP6093718 B2 JP 6093718B2 JP 2014006335 A JP2014006335 A JP 2014006335A JP 2014006335 A JP2014006335 A JP 2014006335A JP 6093718 B2 JP6093718 B2 JP 6093718B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- shuffle
- multiplication
- unit
- exclusive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
この発明は、情報セキュリティ技術に関し、特に、暗号や符号で用いられる、2の拡大体と呼ばれる代数構造上の乗算を計算する技術に関する。 The present invention relates to information security technology, and more particularly, to technology for calculating multiplication on an algebraic structure called an extension field of 2 used in encryption and codes.
2のm次拡大体要素は、mビットのビット列で表現される。以降、2のm次拡大体をGF(2m)と書く。GF(2m)上の加算はビットごとの排他的論理和(XOR)で表現され、計算は容易である。一方、乗算は以下のような意味をもち、加算と比べて複雑である。 The 2 m-th extension field element is represented by an m-bit bit string. Hereinafter, the m-th order expansion field of 2 is written as GF (2 m ). Addition on GF (2 m ) is expressed by bitwise exclusive OR (XOR), and is easy to calculate. On the other hand, multiplication has the following meaning and is more complicated than addition.
まず、m次拡大体要素a∈GF(2m)の各ビットは以下のようにm-1次多項式a[X]の係数a0,…,am-1として解釈される。 First, each bit of the m-th order extension field element a∈GF (2 m ) is interpreted as the coefficients a 0 ,..., A m-1 of the m−1 order polynomial a [X] as follows.
このとき、m次拡大体要素a,bの積ab∈GF(2m)は、以下のように表される。 At this time, the product ab∈GF (2 m ) of the m-th order extension field elements a and b is expressed as follows.
ただし、f[X]は既約多項式と呼ばれる特定のm次多項式である。例えば、1+X+X2は2次の既約多項式である。 Here, f [X] is a specific m-order polynomial called an irreducible polynomial. For example, 1 + X + X 2 is a quadratic irreducible polynomial.
非特許文献1には、2の拡大体乗算を計算する従来技術として、多項式法、巡回群法、正規規定法、乗算表を利用した手法などが記載されている。 Non-Patent Document 1 describes a polynomial method, a cyclic group method, a normal definition method, a method using a multiplication table, and the like as conventional techniques for calculating the expansion field multiplication of 2.
非特許文献1記載の従来技術は、計算速度が遅いという課題がある。 The prior art described in Non-Patent Document 1 has a problem that the calculation speed is slow.
この発明は、2の拡大体乗算を高速に計算することを目的とする。 It is an object of the present invention to calculate a multiplication field of 2 at high speed.
上記の課題を解決するために、この発明の拡大体乗算装置は、A,Bを2のm次拡大体のL個の要素からなる値とし、i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフル部と、 In order to solve the above problem, the expansion field multiplication apparatus of the present invention uses A and B as values composed of L elements of an m-th order expansion field of 2, and for i = {0,1}, from value A A first shuffle unit that generates a value A ′ [i] represented by the following equation and generates a value B ′ [i] represented by the following equation from the value B;
i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算部と、値C’[0],C’[1]から次式に示す値Cを生成する第二シャフル部と、 For i = {0,1}, a value A ′ [i] and a value B ′ [i] are input and a carryless multiplication unit that calculates a value C ′ [i] by carryless multiplication, and a value C ′ [0] , C ′ [1], the second shuffle part that generates the value C shown in the following formula,
値C’[0],C’[1]から次式に示す値Dを生成する第三シャフル部と、 A third shuffler that generates a value D shown in the following equation from the values C ′ [0] and C ′ [1];
値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算部と、値Cと値D’との排他的論理和を計算する排他的論理和部と、を含む。 Calculates the remainder from the m-th irreducible polynomial f [X] for the value D, generates the value D ', and the exclusive logic that calculates the exclusive OR of the value C and the value D' Wabe.
この発明によれば、2の拡大体乗算を高速に計算することができる。 According to the present invention, it is possible to calculate 2 field multiplications at high speed.
この発明は、Lmビットのキャリー無し乗算と呼ばれる処理とシャッフルと呼ばれる処理が利用できるときに、L回分の2のm次拡大体乗算を高速に並列処理する方法である。 The present invention is a method for performing parallel processing of two m-th order extended field multiplications for L times at high speed when processing called Lm-bit carry-free multiplication and processing called shuffle are available.
キャリーとは繰り上がりを意味し、キャリー無し乗算とは、例えば、筆算で乗算を行った際の桁ごとの繰り上がりが無いような乗算である。特に、この発明では二進数の場合を言う。シャッフルとは、ベクトルがあるときに並び順を指定して各要素を並び替える操作である。 Carry means carry and multiplication without carry is, for example, multiplication in which there is no carry for each digit when multiplication is performed by handwriting. In particular, this invention refers to the case of binary numbers. Shuffle is an operation of rearranging each element by specifying the arrangement order when there is a vector.
近年のCPU(Central Processing Unit、中央演算処理装置)には、64ビットキャリー無し乗算や128ビットもしくは256ビットシャッフルを搭載しているものが存在する。 Some recent CPUs (Central Processing Units) are equipped with 64-bit carry-free multiplication and 128-bit or 256-bit shuffle.
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.
[実施形態]
図1を参照して、拡大体乗算装置1の構成例を説明する。拡大体乗算装置10は、入力部1、第一シャフル部2、キャリー無し乗算部3、第二シャフル部4、第三シャフル部5、剰余計算部6、排他的論理和部7及び出力部8を含む。拡大体乗算装置10は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。拡大体乗算装置10は、例えば、中央演算処理装置の制御のもとで各処理を実行する。拡大体乗算装置10に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。
[Embodiment]
With reference to FIG. 1, the example of a structure of the expansion field multiplication apparatus 1 is demonstrated. The
図2を参照しながら、実施形態に係る拡大体乗算装置10が実行する拡大体乗算方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
With reference to FIG. 2, an example of the processing flow of the expansion field multiplication method executed by the expansion
ステップS1において、入力部1へLmビットの2個の値A,B∈GF(2m)Lが入力される。 In step S 1, two Lm-bit values A and BεGF (2 m ) L are input to the input unit 1.
ステップS2において、第一シャフル部2は、i={0,1}について、値Aからシャフルにより次式に示すLmビットの値A’[i]を生成する。 In step S <b> 2, the first shuffler 2 generates an Lm-bit value A ′ [i] represented by the following equation by shuffling from the value A for i = {0, 1}.
また、第一シャフル部2は、i={0,1}について、値Bからシャフルにより次式に示すLmビットの値B’[i]を生成する。 The first shuffler 2 generates an Lm-bit value B ′ [i] represented by the following equation from the value B by shuffling for i = {0, 1}.
値A’[0],A’[1],B’[0],B’[1]はキャリー無し乗算部3へ出力される。
The values A ′ [0], A ′ [1], B ′ [0], B ′ [1] are output to the
ステップS3において、キャリー無し乗算部3は、i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算を次式により計算し、値C’[i]を生成する。値C’[0],C’[1]は第二シャフル部及び第三シャフル部へ出力される。
In step S3, the
ただし、CLMは2Lmビット入力Lmビット出力のキャリーなし演算を計算する関数である。 However, CLM is a function that calculates a carry-free operation of 2 Lm bit input and Lm bit output.
ステップS4において、第二シャフル部4は、値C’[0],C’[1]からシャフルにより次式に示す値Cを生成する。値Cは排他的論理和部7へ出力される。
In step S4, the second shuffle unit 4 generates a value C represented by the following equation from the values C '[0], C' [1] by shuffling. The value C is output to the exclusive OR
ステップS5において、第三シャフル部5は、値C’[0],C’[1]からシャフルにより次式に示す値Dを生成する。値Dは剰余計算部6へ出力される。
In step S5, the
ステップS6において、剰余計算部6は、並列ビット演算により、値Dに対して既約多項式f[X]による剰余を次式により計算し、値D’を生成する。値D’は排他的論理和部7へ出力される。
In step S <b> 6, the remainder calculation unit 6 calculates a remainder based on the irreducible polynomial f [X] with respect to the value D by the following equation by parallel bit operation, and generates a value D ′. The value D ′ is output to the exclusive OR
ステップS7において、排他的論理和部7は、値Cと値D’との排他的論理和を計算し、値Eを生成する。値Eは出力部8へ出力される。
In step S <b> 7, the exclusive OR
ステップS8において、出力部8は値Eを出力する。
In step S8, the
このように、この発明の拡大体乗算技術は、多ビット長のキャリー無し乗算が利用できるとき、L回の乗算を2回のキャリー無し乗算により並列に同時に計算することができる。したがって、2の拡大体乗算を高速に計算することができる。 As described above, the extension field multiplication technique of the present invention can simultaneously calculate L multiplications in parallel by two carryless multiplications when a multi-bit long carryless multiplication can be used. Therefore, the expansion field multiplication of 2 can be calculated at high speed.
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。 The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above embodiment may be executed not only in time series according to the order of description, but also in parallel or individually as required by the processing capability of the apparatus that executes the processes or as necessary.
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
[Program, recording medium]
When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
10 拡大体乗算装置
1 入力部
2 第一シャフル部
3 キャリー無し乗算部
4 第二シャフル部
5 第三シャフル部
6 剰余計算部
7 排他的論理和部
8 出力部
DESCRIPTION OF
Claims (5)
i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフル部と、
i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算部と、
値C’[0],C’[1]から次式に示す値Cを生成する第二シャフル部と、
値C’[0],C’[1]から次式に示す値Dを生成する第三シャフル部と、
値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算部と、
値Cと値D’との排他的論理和を計算する排他的論理和部と、
を含む拡大体乗算装置。 Let A and B be values consisting of L elements of an m-th order expansion field of 2 and
For i = {0,1}, a value A ′ [i] shown in the following expression is generated from the value A, and a first shuffle part that generates a value B ′ [i] shown in the following expression from the value B;
For i = {0,1}, a carry-less multiplication unit that calculates a value C ′ [i] by multiplication without carry with the value A ′ [i] and the value B ′ [i] as inputs,
A second shuffle unit that generates a value C represented by the following expression from the values C ′ [0] and C ′ [1];
A third shuffle unit that generates a value D shown in the following equation from the values C ′ [0] and C ′ [1];
A remainder calculation unit for calculating a residue by an m-th irreducible polynomial f [X] for the value D and generating a value D ′;
An exclusive OR part for calculating an exclusive OR of the value C and the value D ′;
An expansion field multiplication device.
上記第一シャフル部及び上記キャリー無し乗算部は、i={0,1}について、並列かつ同時に処理を行うものである
拡大体乗算装置。 The expansion field multiplication device according to claim 1,
The first shuffler and the carryless multiplier perform parallel and simultaneous processing for i = {0, 1}.
A,Bを2のm次拡大体のL個の要素からなる値とし、
第一シャフル部が、i={0,1}について、値Aから次式に示す値A’[i]を生成し、値Bから次式に示す値B’[i]を生成する第一シャフルステップと、
キャリー無し乗算部が、i={0,1}について、値A’[i]及び値B’[i]を入力としてキャリー無し乗算により値C’[i]を計算するキャリー無し乗算ステップと、
第二シャフル部が、値C’[0],C’[1]から次式に示す値Cを生成する第二シャフルステップと、
第三シャフル部が、値C’[0],C’[1]から次式に示す値Dを生成する第三シャフルステップと、
剰余計算部が、値Dに対してm次の既約多項式f[X]による剰余を計算し、値D’を生成する剰余計算ステップと、
排他的論理和部が、値Cと値D’との排他的論理和を計算する排他的論理和ステップと、
を含む拡大体乗算方法。 An extension field multiplication method executed by an extension field multiplier including a first shuffle part, a carryless multiplication part, a second shuffle part, a third shuffle part, a remainder calculation part, and an exclusive OR part,
Let A and B be values consisting of L elements of an m-th order expansion field of 2 and
The first shuffle unit generates a value A ′ [i] represented by the following expression from the value A and a value B ′ [i] represented by the following expression from the value B for i = {0,1} Shuffle step,
A carry-less multiplication unit, for i = {0,1}, a value A ′ [i] and a value B ′ [i] as inputs and calculate a value C ′ [i] by carry-free multiplication;
A second shuffle unit for generating a value C represented by the following equation from the values C ′ [0] and C ′ [1]:
A third shuffle step in which a third shuffle unit generates a value D shown in the following equation from the values C ′ [0] and C ′ [1];
A residue calculating step for calculating a residue by an m-th irreducible polynomial f [X] for the value D and generating a value D ′;
An exclusive OR step in which an exclusive OR unit calculates an exclusive OR of the value C and the value D ′;
An extension field multiplication method including
上記第一シャフルステップ及び上記キャリー無し乗算ステップは、i={0,1}について、並列に同時に処理を行う
拡大体乗算方法。 The expansion field multiplication method according to claim 3,
The first shuffle step and the carry-less multiplication step perform an extension field multiplication method in which i = {0, 1} are simultaneously processed in parallel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006335A JP6093718B2 (en) | 2014-01-17 | 2014-01-17 | Expansion field multiplication device, expansion field multiplication method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006335A JP6093718B2 (en) | 2014-01-17 | 2014-01-17 | Expansion field multiplication device, expansion field multiplication method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015135587A JP2015135587A (en) | 2015-07-27 |
JP6093718B2 true JP6093718B2 (en) | 2017-03-08 |
Family
ID=53767378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006335A Active JP6093718B2 (en) | 2014-01-17 | 2014-01-17 | Expansion field multiplication device, expansion field multiplication method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6093718B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4484002B2 (en) * | 1999-10-04 | 2010-06-16 | ネッツエスアイ東洋株式会社 | Arithmetic processor |
US8150031B2 (en) * | 2008-12-19 | 2012-04-03 | Intel Corporation | Method and apparatus to perform redundant array of independent disks (RAID) operations |
-
2014
- 2014-01-17 JP JP2014006335A patent/JP6093718B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015135587A (en) | 2015-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6058245B2 (en) | Random number expansion apparatus, random number expansion method and random number expansion program | |
US11373098B2 (en) | Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium | |
JP6583970B2 (en) | Secret random number synthesis device, secret random number synthesis method, and program | |
KR102075848B1 (en) | Method, Apparatus and Recording Medium Of Polynomial Operation Optimization Processing | |
KR20220078155A (en) | Crypto processor and method for operating the same, and electronic device including the same | |
JPWO2018008545A1 (en) | Secret calculation system, secret calculation device, secret calculation method, and program | |
JP6585846B2 (en) | Secret calculation system, secret calculation device, secret calculation method, and program | |
KR101666974B1 (en) | Prime number generation | |
JP6367959B2 (en) | Partial character string position detection apparatus, partial character string position detection method, and program | |
CN106796765B (en) | Non-subtraction sequence determination device, non-subtraction sequence determination method, and recording medium | |
JP6093718B2 (en) | Expansion field multiplication device, expansion field multiplication method and program | |
US11514192B2 (en) | Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position | |
JP6067596B2 (en) | Pairing arithmetic device, multi-pairing arithmetic device, program | |
JP7016457B2 (en) | Final power unit, pairing arithmetic unit, cryptographic processing unit, final power calculation method and final power calculation program | |
JP2015135380A (en) | Share conversion system, share conversion method, and program | |
JP5875717B1 (en) | Random number generation device, random number generation method, and program | |
JP5840086B2 (en) | Reduction device, reduction method, and program | |
JP7511525B2 (en) | Inner product calculation device, inner product calculation method, and inner product calculation program | |
JPWO2019059069A1 (en) | Secret read / write device, secret read / write method, and program | |
JP7524946B2 (en) | Data processing device, data processing method and recording medium | |
CN117353923B (en) | Exercise method of lightweight hash encryption algorithm and related equipment | |
US8634551B2 (en) | Cryptographic apparatus and method | |
JP5755609B2 (en) | Arithmetic apparatus, method and program | |
CN116894254A (en) | Apparatus and method using homomorphic encryption operations | |
WO2019188320A1 (en) | Secret deduplication filter generation system, secret deduplication system, method for these, secret calculation device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170127 |
|
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: 20170207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6093718 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |