JP5840086B2 - Reduction device, reduction method, and program - Google Patents
Reduction device, reduction method, and program Download PDFInfo
- Publication number
- JP5840086B2 JP5840086B2 JP2012158735A JP2012158735A JP5840086B2 JP 5840086 B2 JP5840086 B2 JP 5840086B2 JP 2012158735 A JP2012158735 A JP 2012158735A JP 2012158735 A JP2012158735 A JP 2012158735A JP 5840086 B2 JP5840086 B2 JP 5840086B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- elements
- sequence
- column
- εgf
- 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
本発明は、演算技術に関し、特に縮約演算に関する。 The present invention relates to a calculation technique, and more particularly to a reduction calculation.
拡大体GF(2n)(ただしnは正整数)上の演算は、多項式演算結果(例えば、多項式乗算結果)に対する、n次多項式f(x)を法とした剰余演算(縮約)によって実現できる。f(x)による剰余演算を効率的に実行するため、通常、f(x)として項数の少ないものが選ばれる。一般にf(x)=xn−f0(x)(ただし、deg f0<n)と書けるが、多くのnに対し、deg f0<n/2となるものを選ぶことが出来る。このとき2n次未満の多項式である多項式演算結果をr(x)とおくと、f(x)を法とした剰余演算は、xn≡f0(x)(mod f(x))を利用し、次のように記述できる(例えば、非特許文献1参照)。 An operation on the extension field GF (2 n ) (where n is a positive integer) is realized by a remainder operation (contraction) modulo an n-order polynomial f (x) on a polynomial operation result (for example, a polynomial multiplication result). it can. In order to efficiently execute the remainder calculation using f (x), one having a small number of terms is usually selected as f (x). In general, f (x) = x n −f 0 (x) (where deg f 0 <n) can be written, but for many n, one that satisfies deg f 0 <n / 2 can be selected. At this time, if a polynomial calculation result that is a polynomial of less than 2n order is r (x), the remainder calculation using f (x) as a modulus uses x n ≡f 0 (x) (mod f (x)). Then, it can be described as follows (for example, see Non-Patent Document 1).
<アルゴリズム1>
入力:r(x),f(x)=xn−f0(x)
出力:R(x)=r(x) mod f(x)
1:h(x)×xn+k(x)←r(x)(ただし、deg k(x)<n)
2:r’(x)←k(x)+h(x)×f0(x)
3:H(x)×xn+k(x)←r’(x)
4:R(x)←k(x)+H(x)×f0(x)
<
Input: r (x), f (x) = x n −f 0 (x)
Output: R (x) = r (x) mod f (x)
1: h (x) × x n + k (x) ← r (x) (where deg k (x) <n)
2: r ′ (x) ← k (x) + h (x) × f 0 (x)
3: H (x) × x n + k (x) ← r ′ (x)
4: R (x) ← k (x) + H (x) × f 0 (x)
さらにf0(x)を以下のようにおく。
<アルゴリズム2>
入力:r(x),f(x)=xn−f0(x)
出力:R(x)=r(x) mod f(x)
1:h(x)×xn+k(x)←r(x)
2:r’(x)←k(x)+h(x)×(xn(t−1)+・・・+xn(1))
3:H(x)×xn+k(x)←r’(x)
4:R(x)←k(x)+H(x)×(xn(t−1)+・・・+xn(1))
<
Input: r (x), f (x) = x n −f 0 (x)
Output: R (x) = r (x) mod f (x)
1: h (x) × x n + k (x) ← r (x)
2: r ′ (x) ← k (x) + h (x) × (x n (t−1) +... + X n (1) )
3: H (x) × x n + k (x) ← r ′ (x)
4: R (x) ← k (x) + H (x) × (x n (t−1) +... + X n (1) )
さらにr(x)の係数列rが2×nビットのレジスタに保存され、その他の多項式の係数列がnビットのレジスタに保存されるとする。すると、f(x)を法とした剰余演算は、次のように記述できる。 Further, it is assumed that the coefficient sequence r of r (x) is stored in a 2 × n-bit register, and the coefficient sequences of other polynomials are stored in an n-bit register. Then, the remainder operation modulo f (x) can be described as follows.
<アルゴリズム3>
入力:r∈GF(2)2×n,n(t−1),・・・,n(1)
出力:r(x) mod f(x)の係数列R∈GF(2)n
1:h|k←r(ただし、h,k∈GF(2)n)
2:k’←k+h≪n(1)+・・・+h≪n(t−1)∈GF(2)n
3:h’’←h≪n−n(2)+・・・+h≪n−n(t−1)∈GF(2)n
4:R←k’+h’’≪n(1)+・・・+h’’≪n(t−1)∈GF(2)n
ただし、α≫jはn個の有限体GF(2)の元からなる列α∈GF(2)nに対する右jシフト演算を表し、α≪jが列α∈GF(2)nに対する左jシフト演算を表す。またα|βは列αと列βとの結合(例えばビット結合)を表す。
<Algorithm 3>
Input: rεGF (2) 2 × n , n (t−1),..., N (1)
Output: coefficient sequence RεGF (2) n of r (x) mod f (x) n
1: h | k ← r (where h, kεGF (2) n )
2: k ′ ← k + h << n (1) +... + H << n (t−1) ∈GF (2) n
3: h ″ ← h << n−n (2) +... + H << n−n (t−1) ∈GF (2) n
4: R ← k ′ + h ″ << n (1) +... + H ″ << n (t−1) ∈GF (2) n
However, α >> j represents a right j shift operation for a column α∈GF (2) n consisting of elements of n finite fields GF (2), and α << j is a left j for the column α∈GF (2) n Represents a shift operation. Α | β represents a connection (for example, bit connection) between the column α and the column β.
図8A〜図8Cおよび図9に<アルゴリズム3>の処理を図示する。図8Aがh|k←r(ステップ1)、図8Bがk’←k+h≪n(1)+・・・+h≪n(t−1)(ステップ2)、図8Cがh’’←h≪n−n(2)+・・・+h≪n−n(t−1)(ステップ3)、図9がR←k’+h’’≪n(1)+・・・+h’’≪n(t−1)(ステップ4)を、それぞれ表す。図8A〜図8Cおよび図9での演算子+は、拡大体GF(2n)上での加算を表す。図8Bおよび図8Cに示すように、ステップ4はステップ3での左シフト演算によってnビットのレジスタから溢れた値h(2),・・・,h(t−1)についての演算を行っている。またdeg f0<n/2、すなわちn/2>n(t−1)であるため、図9に示すようにステップ4での左シフト演算によってnビットのレジスタから溢れる値はすべて0である。
The processing of <algorithm 3> is illustrated in FIGS. 8A to 8C and FIG. 8A shows h | k ← r (step 1), FIG. 8B shows k ′ ← k + h << n (1) +... + H << n (t−1) (step 2), and FIG. 8C shows h ″ ← h. << n-n (2) + ... + h << n-n (t-1) (step 3), FIG. 9 shows R ← k '+ h''<< n (1) + ... + h''<< n (T-1) (Step 4) is represented respectively. The operator + in FIGS. 8A to 8C and FIG. 9 represents addition on the extension field GF (2 n ). As shown in FIGS. 8B and 8C,
アルゴリズム3では、t−1回の左n(i)シフト演算(i=1,・・・,t−1)とt−1回の拡大体GF(2n)上での加算をそれぞれ2回ずつ行うため(ステップ2および4)、演算効率が悪い。
In algorithm 3, t−1 left n (i) shift operations (i = 1,..., T−1) and t−1 times addition on the extended field GF (2 n ) are each performed twice. Since each step is performed (
本発明はこのような点に鑑みてなされたものであり、従来よりも演算効率のよい縮約技術を提供することを目的とする。 The present invention has been made in view of these points, and an object thereof is to provide a reduction technique with higher calculation efficiency than in the past.
以下のようにr(x) mod f(x)の計算を行う。ただし、qが2以上の整数であり、nが3以上の整数であり、tが3≦t≦nの整数であり、GF(q)が位数qの有限体であり、GF(qn)が有限体GF(q)のn次拡大体であり、xが不定元であり、n(t−1),・・・,n(1)がn/2>n(t−1)>・・・>n(1)=0を満たす整数であり、f0(x)が多項式f0(x)=xn(t−1)+・・・+xn(1)であり、f(x)=xn−f0(x)であり、α≫jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する右jシフト演算であり、α≪jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する左jシフト演算である。 R (x) mod f (x) is calculated as follows. However, q is an integer of 2 or more, n is an integer of 3 or more, t is an integer of 3 ≦ t ≦ n, GF ( q) is a finite field of order q, GF (q n ) Is an nth-order extension of the finite field GF (q), x is an indefinite element, and n (t−1),..., N (1) is n / 2> n (t−1)>. ...> n (1) = 0, an integer satisfying f 0 (x) is a polynomial f 0 (x) = x n (t-1) +... + X n (1) , and f ( x) = x n −f 0 (x), and α >> j is a right j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q), and α << j Is a left j shift operation on a sequence αεGF (q n ) consisting of elements of n finite fields GF (q).
まず、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得る。次に、H=h+h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、R=k+H≪n(1)+・・・+H≪n(t−1)∈GF(qn)を得る。 First, the polynomial r (x) = (h n−1 × x n−1 +... + H 0 × x 0 ) × x n + (k n−1 × x n−1 +... + K 0 × x 0 ) for a sequence of n elements h n−1 ,..., H 0 εGF (q) and n elements k n−1 ,. Obtain a column kεGF (q n ) consisting of k 0 εGF (q). Next, H = h + h >> n- (2) + ... + h >> n- (t-1) εGF (q n ) is obtained, and R = k + H << n (1) + ... + H << n (t−1) εGF (q n ) is obtained.
シフト演算およびGF(qn)上での加減算は可換であるため、本発明によって得られる列Rはr(x) mod f(x)の係数列となる。また本発明では、従来それぞれ2回ずつ行う必要があったt−1回の左n(i)シフト演算および拡大体GF(2n)上での加算を1回にまとめることができるため、従来よりも効率よく縮約を実行できる。 Since the shift operation and addition / subtraction on GF (q n ) are commutative, the sequence R obtained by the present invention is a coefficient sequence of r (x) mod f (x). In the present invention, t−1 left n (i) shift operations and additions on the extension field GF (2 n ), which conventionally had to be performed twice each, can be combined into one time. Reduction can be performed more efficiently.
以下、図面を参照して実施形態を説明する。
〔定義〕
用語および記号を定義する。
GF(q)は位数qの有限体を表し、GF(qn)は有限体GF(q)のn次拡大体を表す。ただし、qは2以上の整数(定数)であり、nは3以上の整数(定数)である。例えば、q=2であり、GF(2)がビット集合{0,1}であり、GF(2n)がnビットのビット列の集合{0,1}nである。nの例はn=8,64,128などである。
Hereinafter, embodiments will be described with reference to the drawings.
[Definition]
Define terms and symbols.
GF (q) represents a finite field of order q, and GF (q n ) represents an nth-order extension field of the finite field GF (q). However, q is an integer (constant) of 2 or more, and n is an integer (constant) of 3 or more. For example, q = 2, GF (2) is a bit set {0, 1}, and GF (2 n ) is an n-bit bit string set {0, 1} n . Examples of n are n = 8, 64, 128, etc.
f(x)=xn−f0(x)であり、f0(x)は多項式f0(x)=xn(t−1)+・・・+xn(1)を表す。また、tは3≦t≦nの整数(定数)であり、xは不定元であり、n(t−1),・・・,n(1)はn/2>n(t−1)>・・・>n(1)=0を満たす整数である。 f (x) = x n −f 0 (x), and f 0 (x) represents the polynomial f 0 (x) = x n (t−1) +... + x n (1) . T is an integer (constant) of 3 ≦ t ≦ n, x is an indefinite element, and n (t−1),..., N (1) is n / 2> n (t−1). >...> An integer satisfying n (1) = 0.
α≫jはn個の元αn−1,・・・,α0∈GF(q)からなる列α∈GF(qn)に対する右jシフト演算を表す。ただし、jは正整数である。α≫jによってn個の元βn−1,・・・,β0∈GF(q)からなる列β∈GF(qn)が得られるとすると、βn−1,・・・,βn−jが0,・・・,0であり、βn−1−j,・・・,β0がαn−1,・・・,αjである。α≫0は無操作を表し、α≫0のための処理や構成は不要である。 α >> j represents a right j shift operation on a sequence αεGF (q n ) composed of n elements α n−1 ,..., α 0 εGF (q). However, j is a positive integer. If α >> j gives a sequence β∈GF (q n ) consisting of n elements β n−1 ,..., β 0 ∈GF (q), then β n−1 ,. n−j is 0,..., 0, and β n−1−j ,..., β 0 are α n−1 ,. α >> 0 indicates no operation, and processing and configuration for α >> 0 are not required.
α≪jはn個の元αn−1,・・・,α0∈GF(q)からなる列α∈GF(qn)に対する左jシフト演算である。α≪jによってn個の元βn−1,・・・,β0∈GF(q)からなる列β∈GF(qn)が得られるとすると、βn−1,・・・,βjがαn−1−j,・・・,α0であり、βj−1,・・・,β0が0,・・・,0である。なお、右jシフト演算や左jシフト演算は、シフト命令によって実行されてもよいし、n個の有限体GF(q)の元からなる列を整数とみた場合の加算命令の組み合わせによって実行されてもよい。α≪0は無操作を表し、α≪0のための処理や構成は不要である。 α << j is a left j shift operation on a sequence αεGF (q n ) composed of n elements α n−1 ,..., α 0 εGF (q). If α << j gives a sequence βεGF (q n ) consisting of n elements β n−1 ,..., β 0 εGF (q), then β n−1 ,. j is α n−1−j ,..., α 0 , and β j−1 ,..., β 0 are 0,. Note that the right j shift operation and the left j shift operation may be executed by a shift instruction, or by a combination of addition instructions when a column consisting of elements of n finite fields GF (q) is regarded as an integer. May be. α << 0 represents no operation, and processing and configuration for α << 0 are not required.
α+β∈GF(qn)は、列α,β∈GF(qn)の拡大体GF(qn)上での加算を表す。拡大体GF(qn)がビット列の集合{0,1}nである場合、α+β∈GF(qn)はα(+)β∈{0,1}nとなる。ただし、α(+)βは、n個のビットαn−1,・・・,α0∈{0,1}からなるビット列αとn個のビットβn−1,・・・,β0∈{0,1}からなるビット列β∈{0,1}nとのビットごとの排他的論理和演算
α&βは、n個のビットαn−1,・・・,α0∈{0,1}からなるビット列αとn個のビットβn−1,・・・,β0∈{0,1}からなるビット列β∈{0,1}nとのビットごとのAND演算αn−1&βn−1,・・・,α0&β0を表す。 α & β is a bit string α composed of n bits α n−1 ,..., α 0 ε {0, 1} and n bits β n−1 ,..., β 0 ε {0, 1} Represents a bitwise AND operation α n−1 & β n−1 ,..., Α 0 & β 0 with a bit string β∈ {0, 1} n .
〔第1実施形態〕
<構成>
図1Aに例示するように、第1実施形態の縮約装置1は、入力部11、分割部12、演算部13,14(第1,2演算部)、出力部15、制御部16、および記憶部17を有する。縮約装置1は、例えば、CPU(central processing unit)、レジスタ、RAM(random-access memory)、ハードディスクなどを有する公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置1は、制御部16の制御のもとで各処理を行う。入力部11に入力されたデータおよび各処理で得られたデータは、逐一、記憶部17に格納される。記憶部17に格納されたデータは、必要に応じて読み出され、各部に入力されて各処理に用いられる。
[First Embodiment]
<Configuration>
As illustrated in FIG. 1A, the
<方法>
図1Bに例示するように、入力部11には、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)を特定するための情報rが入力される。例えば、多項式r(x)の係数列hn−1,・・・,h0,kn−1,・・・,k0がrとして入力される。なお、多項式r(x)の例は、n次以下の多項式どうしの乗算結果である(ステップS11)。
<Method>
As illustrated in FIG. 1B, the
分割部12に情報rが入力される。図2Aに例示するように、分割部12は、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得(h|k←r)、列hおよびkを出力する。例えば、GF(qn)がnビットのビット列の集合{0,1}nである場合、分割部12は、ビット列h|kを分割してnビットのビット列h,k∈{0,1}nを得、ビット列h,kを出力する(ステップS12)。
Information r is input to the dividing
演算部13に列hが入力される。図2Bに例示するように、演算部13は、列H=h+h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、列Hを出力する。すなわち、演算部13は、h≫n−n(i)(i=1,・・・,t−1)の拡大体GF(qn)上での加算値を列Hとして出力する。例えば、GF(qn)がnビットのビット列の集合{0,1}nである場合、演算部13は、ビット列H=h(+)h≫n−n(2)(+)・・・(+)h≫n−n(t−1)∈{0,1}nを得、ビット列Hを出力する。なお、図2Bにおけるh(i)は、hn−1,・・・,hn−n(i)からなる列を表す(ステップS13)。
The column h is input to the
演算部14に列Hおよび列kが入力される。図2Cに例示するように、演算部14は、列R=k+H≪n(1)+・・・+H≪n(t−1)∈GF(qn)を得、列Rを出力する。すなわち、演算部14は、k,H≪n(1),・・・,H≪n(t−1)の拡大体GF(qn)上での加算値を列Rとして出力する。例えば、GF(qn)がnビットのビット列の集合{0,1}nである場合、演算部14は、ビット列R=k(+)H≪n(1)(+)・・・(+)H≪n(t−1)∈{0,1}nを得、ビット列Rを出力する(ステップS14)。 The column H and the column k are input to the calculation unit 14. As illustrated in FIG. 2C, the calculation unit 14 obtains a sequence R = k + H << n (1) +... + H << n (t−1) εGF (q n ) and outputs the sequence R. That is, the calculation unit 14 outputs, as a column R, an addition value on the expanded field GF (q n ) of k, H << n (1) , ..., H << n (t-1) . For example, when GF (q n ) is an n-bit bit string set {0, 1} n , the arithmetic unit 14 sets the bit string R = k (+) H << n (1) (+) (+ ) H << n (t-1) ε {0,1} n is obtained, and the bit string R is output (step S14).
出力部15は、演算部14で得られた列Rを出力する(ステップS15)。
The
<本形態の特徴>
本形態では、従来のアルゴリズム3のステップ3および4(図8Cおよび図9)での左シフト演算とGF(qn)上での演算(例えば排他的論理和演算)とをステップS13(図2B)でまとめて実行している。シフト演算およびGF(qn)上での加減算(例えば排他的論理和演算)は可換であるため、これらの演算の順序を入れ替えても得られる結果は同一であり、ステップS14で得られる列Rはr(x) mod f(x)の係数列となる。よって、本形態では従来よりも効率よく高速に縮約演算を行うことができる。
<Features of this embodiment>
In this embodiment, the left shift operation in steps 3 and 4 (FIGS. 8C and 9) of the conventional algorithm 3 and the operation (for example, exclusive OR operation) on GF (q n ) are performed in step S13 (FIG. 2B). ) Since the shift operation and the addition / subtraction (for example, exclusive OR operation) on GF (q n ) are commutative, the result obtained even if the order of these operations is changed is the same, and the sequence obtained in step S14 R is a coefficient sequence of r (x) mod f (x). Therefore, in this embodiment, the reduction calculation can be performed more efficiently and at a higher speed than in the past.
〔第2実施形態〕
本形態は第1実施形態の変形例であり、事前計算値が格納されたテーブルを用いて演算効率を向上させる。さらに本形態では、事前計算対象を工夫し、必要なテーブルのサイズを小さくする。以下の説明では、すでに説明した事項と共通する部分については同じ参照符号を用いて説明を省略する。
[Second Embodiment]
This embodiment is a modification of the first embodiment, and improves the calculation efficiency using a table in which precalculated values are stored. Further, in this embodiment, the pre-calculation target is devised to reduce the necessary table size. In the following description, the same reference numerals are used for the same parts as those already described, and the description is omitted.
<構成>
図1Aに例示するように、第2実施形態の縮約装置2は、入力部11、分割部12、演算部23,14(第1,2演算部)、出力部15、制御部16、記憶部17、およびテーブル記憶部28を有する。縮約装置2は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置2は、制御部16の制御のもとで各処理を行う。入力部11に入力されたデータおよび各処理で得られたデータは、逐一、記憶部17に格納される。記憶部17に格納されたデータは、必要に応じて読み出され、各部に入力されて各処理に用いられる。
<Configuration>
As illustrated in FIG. 1A, the
[テーブル記憶部28]
テーブル記憶部28は、n個の元γn−1,・・・,γ0∈GF(q)からなるqn種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)種類の列のそれぞれに対し、対応する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)を対応付けたテーブルを格納する。例えば、GF(qn)がnビットのビット列の集合{0,1}nである場合、テーブル記憶部28は、n個のビットγn−1,・・・,γ0∈{0,1}からなる2n種類のビット列γ∈{0,1}nに対するγ≫n−n(t−1)によって得られる2n(t−1)種類のビット列のそれぞれに対し、対応するビット列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈{0,1}nを対応付けたテーブルを格納する。
[Table storage unit 28]
The table storage unit 28 selects γ >> n−n (t−1 ) for q n types of columns γ∈GF (q n ) including n elements γ n−1 ,..., Γ 0 ∈GF (q). ) For each of the q n (t−1) types of columns obtained by: γ = γ >> n−n (2) +... + Γ >> n−n (t−1) ∈GF (q n ) is stored. For example, when GF (q n ) is an n-bit bit string set {0, 1} n , the table storage unit 28 has n bits γ n−1 ,..., Γ 0 ε {0, 1 } For each of 2 n (t−1) types of bit sequences obtained by γ >> n−n (t−1) for 2 n types of bit sequences γ∈ {0, 1} n . γ >> n−n (2) +... + γ >> n−n (t−1) ε {0, 1} A table in which n is associated is stored.
γ≫n−n(i)は0,・・・,0,γn−1,・・・,γn−n(i)からなり、γ≫n−n(t−1)は0,・・・,0,γn−1,・・・,γn−n(t−1)からなる。列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)は、qn(t−1)種類の列γn−1,・・・,γn−n(t−1)のみに依存し、qn(t−1)種類の列Γのみが存在する。テーブル記憶部28に格納されるテーブルは、これらのqn(t−1)種類の列γn−1,・・・,γn−n(t−1)とそれぞれに対応する列Γとを対応付けたものである。ここでn/2>n(t−1)であるため、テーブル記憶部28に格納されるテーブルのサイズは、n個のGF(q)の元の組み合わせからなるqn種類の列についてのテーブルのサイズに比べて小さい。 γ >> n−n (i) is composed of 0,..., 0, γ n−1 ,..., γ n−n (i) , and γ >> n−n (t−1) is 0 ,. .., 0, γ n−1 ,..., Γ n−n (t−1) . Column Γ = γ »n-n (2 ) + ··· + γ »n-n (t-1) is, q n (t-1) column type γ n-1, ···, γ n-n Depending on (t-1) only, there are only q n (t-1) types of columns Γ. The table stored in the table storage unit 28 includes these q n (t−1) types of columns γ n−1 ,..., Γ n−n (t−1) and the corresponding column Γ. It is a correspondence. Here, since n / 2> n (t−1), the size of the table stored in the table storage unit 28 is a table for q n types of columns consisting of the original combinations of n GF (q). Small compared to the size of
<方法>
図1Bに例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 1B, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部23に列hが入力される。演算部23は、テーブル記憶部28を参照し、h≫n−n(t−1)によって得られる列に対応する列h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)(すなわちh≫n−n(t−1)に対応する列h≫n−n(2)+・・・+h≫n−n(t−1))を得る。言い換えると、演算部23は、入力されたhから列h≫n−n(2)+・・・+h≫n−n(t−1)を得、列h≫n−n(2)+・・・+h≫n−n(t−1)に一致する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)に対応する列γn−1,・・・,γn−n(t−1)をテーブルから抽出し、それをh≫n−n(2)+・・・+h≫n−n(t−1)として得る。さらに演算部23は、得られたh≫n−n(2)+・・・+h≫n−n(t−1)を用いて列H=h+(h≫n−n(2)+・・・+h≫n−n(t−1))∈GF(qn)を得、列Hを出力する(ステップS23)。 Next, the column h is input to the calculation unit 23. The calculation unit 23 refers to the table storage unit 28, and corresponds to the column h >> n−n (2) +... + H >> n−n (t ) corresponding to the column obtained by h >> n−n (t−1) . −1) εGF (q n ) (that is, a sequence h >> n−n (2) +... + H >> n −n (t−1) corresponding to h >> n −n (t−1) ) is obtained. . In other words, the arithmetic unit 23 obtains a sequence h >> n−n (2) +... + H >> n−n (t−1) from the input h, and a sequence h >> n−n (2) +. A sequence Γ = γ >> nn− (2) +... + Γ >> n−n (t−1) corresponding to + h >> n −n (t−1) , a column γ n−1 corresponding to n−n (t−1),. ..., [Gamma] n-n (t-1) is extracted from the table and obtained as h >> n-n (2) +... + H >> n-n (t-1) . Further, the calculation unit 23 uses the obtained h >> n−n (2) +... + H >> n−n (t−1) to obtain a sequence H = h + (h >> n−n (2) +. + H >> n−n (t−1) ) εGF (q n ) is obtained, and the column H is output (step S23).
その後、第1実施形態で説明したステップS14およびS15が実行される。 Thereafter, steps S14 and S15 described in the first embodiment are executed.
<本形態の特徴>
本形態では、qn(t−1)種類の列γn−1,・・・,γn−n(t−1)とそれぞれに対応する列Γとを対応付けた小さなサイズのテーブルを用い、列hに対応する列h≫n−n(2)+・・・+h≫n−n(t−1)を抽出し、抽出した列h≫n−n(2)+・・・+h≫n−n(t−1)を用いて列H=h+(h≫n−n(2)+・・・+h≫n−n(t−1))を計算する。これにより、大きなサイズのテーブルを用いることなく、演算効率をさらに向上させることができる。
<Features of this embodiment>
In the present embodiment, a small-size table is used in which q n (t−1) types of columns γ n−1 ,..., Γ n−n (t−1) are associated with columns Γ corresponding thereto. , column h »n-n (2) corresponding to the column h + ··· + h »n-n (t-1) to extract, extraction column h »n-n (2) + ··· + h » The column H = h + (h >> n−n (2) +... + h >> n−n (t−1) ) is calculated using n−n (t−1) . Thereby, the calculation efficiency can be further improved without using a large-sized table.
〔第3実施形態〕
本形態は第1,2実施形態の変形例である。多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)の次数が2n−1次未満であることが分かっている場合(すなわち、hn−1=・・・=hn−c=0、cが1≦c≦nの整数の場合)には、テーブル記憶部に格納するテーブルのサイズをさらに縮小できる。例えば、多項式r(x)がn−1次多項式どうしの乗算結果である場合などである。
[Third Embodiment]
This embodiment is a modification of the first and second embodiments. Polynomial r (x) = (h n -1 × x n-1 + ··· +
<構成>
図1Aに例示するように、第3実施形態の縮約装置3は、入力部11、分割部12、演算部33,14(第1,2演算部)、出力部15、制御部16、記憶部17、およびテーブル記憶部38を有する。縮約装置3は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置3は、制御部16の制御のもとで各処理を行う。入力部11に入力されたデータおよび各処理で得られたデータは、逐一、記憶部17に格納される。記憶部17に格納されたデータは、必要に応じて読み出され、各部に入力されて各処理に用いられる。
<Configuration>
As illustrated in FIG. 1A, the contracting device 3 according to the third embodiment includes an
[テーブル記憶部38]
テーブル記憶部38は、n個の元γn−1,・・・,γ0∈GF(q)からなるqn−c種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)−c種類の列のそれぞれに対し、対応する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)を対応付けたテーブルを格納する。ただし、γn−1=・・・=γn−c=0であり、hn−1=・・・=hn−c=0である。またcが1≦c≦nの整数であり、例えばc=1である。
[Table storage unit 38]
The table storage unit 38 selects γ >> n−n (t for q nc types of columns γ∈GF (q n ) composed of n elements γ n−1 ,..., Γ 0 ∈GF (q). -1) for each of the q n (t-1) -c types of columns obtained, the corresponding column Γ = γ >> n−n (2) +... + Γ >> n−n (t−1) A table in which εGF (q n ) is associated is stored. However, γ n−1 =... = Γ n−c = 0 and h n−1 =... = H n−c = 0. C is an integer of 1 ≦ c ≦ n, for example, c = 1.
γ≫n−n(i)は0,・・・,0,γn−1,・・・,γn−n(i)からなり、γ≫n−n(t−1)は0,・・・,0,γn−1,・・・,γn−n(t−1)からなる。しかしながら、本形態ではhn−1=・・・=hn−c=0であるため、γn−1=・・・=γn−c=0としてよい。この場合の列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)は、qn(t−1)−c種類の列γn−c−1,・・・,γn−n(t−1)のみに依存し、qn(t−1)−c種類の列Γのみが存在する。テーブル記憶部38に格納されるテーブルは、これらのqn(t−1)−c種類の列γn−c−1,・・・,γn−n(t−1)とそれぞれに対応する列Γとを対応付けたものである。このテーブルのサイズは第2実施形態のものよりも小さい。 γ >> n−n (i) is composed of 0,..., 0, γ n−1 ,..., γ n−n (i) , and γ >> n−n (t−1) is 0 ,. .., 0, γ n−1 ,..., Γ n−n (t−1) . However, in the present embodiment, h n−1 =... = H n−c = 0, so that γ n−1 =... = Γ n−c = 0. In this case, the sequence Γ = γ >> n−n (2) +... + Γ >> n−n (t−1) is the sequence of q n (t−1) −c types of columns γ n−c−1 ,. .., Depends only on [gamma] n-n (t-1), and there are only qn (t-1) -c types of columns [Gamma]. The table stored in the table storage unit 38 corresponds to each of these q n (t-1) -c types of columns γ n−c−1 ,..., Γ n−n (t−1). This is associated with the column Γ. The size of this table is smaller than that of the second embodiment.
<方法>
図1Bに例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 1B, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部33に列hが入力される。演算部33は、テーブル記憶部38を参照し、h≫n−n(t−1)によって得られる列に対応する列h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)(すなわちh≫n−n(t−1)に対応する列h≫n−n(2)+・・・+h≫n−n(t−1))を得る。言い換えると、演算部33は、入力されたhから列h≫n−n(2)+・・・+h≫n−n(t−1)を得、列h≫n−n(2)+・・・+h≫n−n(t−1)に一致する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)に対応する列γn−1,・・・,γn−n(t−1)をテーブルから抽出し、それをh≫n−n(2)+・・・+h≫n−n(t−1)として得る。さらに演算部33は、得られたh≫n−n(2)+・・・+h≫n−n(t−1)を用いてH=h+(h≫n−n(2)+・・・+h≫n−n(t−1))∈GF(qn)を得、列Hを出力する(ステップS23)。 Next, the column h is input to the calculation unit 33. The computing unit 33 refers to the table storage unit 38, and corresponds to the column h >> n−n (2) +... + H >> n−n (t ) corresponding to the column obtained by h >> n−n (t−1) . −1) εGF (q n ) (that is, a sequence h >> n−n (2) +... + H >> n −n (t−1) corresponding to h >> n −n (t−1) ) is obtained. . In other words, the calculation unit 33 obtains a sequence h >> n−n (2) +... + H >> n−n (t−1) from the input h, and a sequence h >> n−n (2) +. A sequence Γ = γ >> nn− (2) +... + Γ >> n−n (t−1) corresponding to + h >> n −n (t−1) , a column γ n−1 corresponding to n−n (t−1),. ..., [Gamma] n-n (t-1) is extracted from the table and obtained as h >> n-n (2) +... + H >> n-n (t-1) . Further, the calculation unit 33 uses the obtained h >> n−n (2) +... + H >> n−n (t−1) to obtain H = h + (h >> n−n (2) +. + H >> n−n (t−1) ) ∈GF (q n ) is obtained, and the column H is output (step S23).
その後、第1実施形態で説明したステップS14およびS15が実行される。 Thereafter, steps S14 and S15 described in the first embodiment are executed.
<本形態の特徴>
以上のように、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)の次数が2n−1次未満であることが分かっている場合には、テーブル記憶部38に格納するテーブルのサイズをさらに縮小できる。
<Features of this embodiment>
As described above, the polynomial r (x) = (h n−1 × x n−1 +... + H 0 × x 0 ) × x n + (k n−1 × x n−1 +... + K When it is known that the order of ( 0 × x 0 ) is less than 2n−1, the size of the table stored in the table storage unit 38 can be further reduced.
〔第4実施形態〕
本形態は第1実施形態の変形例であり、拡大体GF(qn)上での加算とシフト演算との順序を入れ替えたものである。すなわち、ステップS13で列H=h+(h≫n−n(2)+・・・+h≫n−n(t−1))∈GF(qn)を計算することなく、列kと、列hについてのh≪n(1)+・・・+h≪n(t−1)∈GF(qn)と、列h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)についてのη=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)とから、R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得る。
[Fourth Embodiment]
This embodiment is a modification of the first embodiment, in which the order of addition and shift operation on the extension field GF (q n ) is changed. That is, without calculating the column H = h + (h >> n−n (2) +... + H >> n−n (t−1) ) ∈GF (q n ) in step S13, the column k and the column h << n (1) + ... + h << n (t-1) εGF (qn) for h and the sequence h '= h >> n-n (2) + ... + h >> n-n (T−1) η = h ′ << n (1) +... + H ′ << n (t−1) ∈GF (q n ) for ∈GF (q n ), R = k + h << n ( 1) + ... + h << n (t-1) + η∈GF (q n ) is obtained.
<構成>
図3Aに例示するように、第4実施形態の縮約装置4は、入力部11、分割部12、演算部44、出力部15、制御部16、および記憶部17を有する。縮約装置4は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置4は、制御部16の制御のもとで各処理を行う。入力部11に入力されたデータおよび各処理で得られたデータは、逐一、記憶部17に格納される。記憶部17に格納されたデータは、必要に応じて読み出され、各部に入力されて各処理に用いられる。
<Configuration>
As illustrated in FIG. 3A, the
<方法>
図3Bに例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 3B, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部44に列h,kが入力される。演算部44は、列h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、列η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)を得、列R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得、列Rを出力する(ステップS44)。
Next, the columns h and k are input to the
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
シフト演算およびGF(qn)上での加減算は可換であるため、本形態の方法でもr(x) mod f(x)の係数列Rを求めることができ、環境によっては第1実施形態の方法よりも効率よく高速に縮約演算を行うことができる。
<Features of this embodiment>
Since the shift operation and the addition / subtraction on GF (q n ) are commutative, the coefficient sequence R of r (x) mod f (x) can also be obtained by the method of this embodiment. Depending on the environment, the first embodiment The reduction operation can be performed more efficiently and faster than the above method.
〔第4実施形態の変形例1〕
第4実施形態の変形例1では、第4実施形態において事前計算値が格納されたテーブルを用い、演算効率を向上させる。
[
In the
<構成>
図3Aに例示するように、第4実施形態の変形例1の縮約装置4’は、入力部11、分割部12、演算部44’、出力部15、制御部16、記憶部17、およびテーブル記憶部48’を有する。
<Configuration>
As illustrated in FIG. 3A, the
[テーブル記憶部48’]
テーブル記憶部48’は、n個の元γn−1,・・・,γ0∈GF(q)からなるqn種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)種類の列のそれぞれに対し、対応する列Γ’=γ’≪n(1)+・・・+γ’≪n(t−1)∈GF(qn)を対応付けたテーブルを格納する。ただし、γ’=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)である。
[Table storage unit 48 ']
The
<方法>
図3Bに例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 3B, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部44’に列hが入力される。演算部44’は、テーブル記憶部48’を参照し、h≫n−n(t−1)によって得られる列に対応するη=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)(すなわちh≫n−n(t−1)に対応する列η)を抽出する。ただし、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)である。演算部44’にはさらに列kが入力され、演算部44’は、列k,hおよびηを用いて列R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得、列Rを出力する(ステップS44’)。
Next, the column h is input to the
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
本形態では、qn(t−1)種類の列のそれぞれに対し、対応する列Γ’=γ’≪n(1)+・・・+γ’≪n(t−1)∈GF(qn)を対応付けたサイズの小さなテーブルを用い、さらに効率よく高速に縮約演算を行うことができる。
<Features of this embodiment>
In this embodiment, for each of the q n (t−1) types of columns, the corresponding column Γ ′ = γ ′ << n (1) +... + Γ ′ << n (t−1) ∈GF (q n ) Can be used to perform the reduction operation more efficiently and at high speed.
〔第4実施形態の変形例2〕
多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)の次数が2n−1次未満であることが分かっている場合(すなわち、hn−1=・・・=hn−c=0、cが1≦c≦nの整数の場合)には、テーブル記憶部に格納するテーブルのサイズをさらに縮小できる。
[
Polynomial r (x) = (h n -1 × x n-1 + ··· +
<構成>
図3Aに例示するように、第4実施形態の変形例2の縮約装置4’’は、入力部11、分割部12、演算部44’’、出力部15、制御部16、記憶部17、およびテーブル記憶部48’’を有する。
<Configuration>
As illustrated in FIG. 3A, the
[テーブル記憶部48’’]
テーブル記憶部48’’は、n個の元γn−1,・・・,γ0∈GF(q)からなるqn−c種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)−c種類の列のそれぞれに対し、対応する列Γ’=γ’≪n(1)+・・・+γ’≪n(t−1)∈GF(qn)を対応付けたテーブルを格納する。ただし、γ’=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)であり、hn−1=・・・=hn−c=0であり、γn−1=・・・=γn−c=0である。cが1≦c≦nの整数であり、cの例はc=1である。
[Table storage section 48 '']
Table storage unit 48 '' is, n number of elements γ n-1, ···, consisting γ 0 ∈GF (q) q n -c column type γ∈GF (q n) for γ »n-n For each of the q n (t−1) -c types of columns obtained by (t−1) , the corresponding column Γ ′ = γ ′ << n (1) +... + Γ ′ << n (t−1 ) Store a table in which εGF (q n ) is associated. However, a γ '= γ »n-n ( 2) + ··· + γ »n-n (t-1) ∈GF (q n), h n-1 = ··· = h n-c = 0, and γ n−1 =... = Γ n−c = 0. c is an integer of 1 ≦ c ≦ n, and an example of c is c = 1.
<方法>
図3Bに例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 3B, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部44’’に列hが入力される。演算部44’’は、テーブル記憶部48’’を参照し、h≫n−n(t−1)によって得られる列に対応する列η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)(すなわちh≫n−n(t−1)に対応する列η)を抽出する。ただし、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)である。演算部44’’にはさらに列kが入力され、演算部44’’は、列k,hおよびηを用いて列R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得、列Rを出力する(ステップS44’’)。
Next, the column h is input to the calculation unit 44 ''. The
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
以上のように、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)の次数が2n−1次未満であることが分かっている場合には、テーブル記憶部48’’に格納するテーブルのサイズをさらに縮小できる。
<Features of this embodiment>
As described above, the polynomial r (x) = (h n−1 × x n−1 +... + H 0 × x 0 ) × x n + (k n−1 × x n−1 +... + K If it is known that the order of ( 0 × x 0 ) is less than 2n−1, the size of the table stored in the
〔第5実施形態〕
本形態は第4実施形態の変形例である。hn−1=0、q=2、t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0(例えばf0(x)=x4+x3+x+1)の場合には、第4実施形態で説明した列η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)(ただし、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn))を効率よく計算することができる。なお、q=2,f0(x)=x4+x3+x+1,n=8,64,320のとき、f(x)=xn−f0(x)は既約多項式である。
[Fifth Embodiment]
This embodiment is a modification of the fourth embodiment. h n-1 = 0, q = 2, t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0 (for example, f 0 (x) = In the case of x 4 + x 3 + x + 1), the sequence η = h ′ << n (1) +... + h ′ << n (t−1) ∈GF (q n ) described in the fourth embodiment (where h ′ = h >> n−n (2) +... + h >> n−n (t−1) εGF (q n )) can be efficiently calculated. Note that when q = 2, f 0 (x) = x 4 + x 3 + x + 1, n = 8, 64, 320, f (x) = x n −f 0 (x) is an irreducible polynomial.
すなわち、n(4)=4,n(3)=3,n(2)=1,n(1)=0の場合、列ηは以下のように変形できる。
η=h’+h’≪1+h’≪3+h’≪4∈GF(qn)
=(h’+h’≪1)+(h’+h’≪1)≪3 …(1)
従って、(h’+h’≪1)を中間値として計算し、その中間値を用いて列ηを計算することで、演算量を削減できる。
That is, when n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0, the column η can be modified as follows.
η = h ′ + h ′ << 1 + h '<< 3 + h'<< 4 ∈GF (q n )
= (H '+ h'<< 1 ) + (h '+ h'<< 1) << 3 (1)
Therefore, the amount of calculation can be reduced by calculating (h ′ + h ′ << 1 ) as an intermediate value and calculating the column η using the intermediate value.
さらに本形態ではhn−1=0であり、列h≫n−1の要素がすべて0となることを利用し、中間値(h’+h’≪1)を効率的に計算する。すなわち、本形態の条件の場合、列h’は以下のように変形できる。
h’=h≫n−1+h≫n−3+h≫n−4∈GF(qn)
=h≫n−3+h≫n−4
Furthermore, in this embodiment, h n−1 = 0 and the fact that all the elements in the sequence h >> n−1 are 0 is used to efficiently calculate the intermediate value (h ′ + h ′ << 1 ). That is, in the case of the conditions of this embodiment, the column h ′ can be modified as follows.
h ′ = h >> n−1 + h >> n−3 +
= H >> n-3 + h >> n-4
従って、(h’+h’≪1)∈GF(qn)は、以下のように変形できる。
(h’+h’≪1)∈GF(qn)
=(h≫n−3+h≫n−4)+(h≫n−3+h≫n−4)≪1
=(h≫n−4)≪1+(h≫n−4+(h≫n−3)≪1)+h≫n−3
=(h≫n−4)≪1+t0+h≫n−3 …(2)
ただし、列t0∈GF(qn)は、n個の元0,・・・,0,ε0∈GF(q)からなる列であり、h≫n−4がn個の元εn−1,・・・,ε0∈GF(q)からなるとする。
Therefore, (h ′ + h ′ << 1 ) ∈GF (q n ) can be transformed as follows.
(H ′ + h ′ << 1 ) ∈GF (q n )
= (H >> n-3 + h >> n-4 ) + (h >> n-3 + h >> n-4 ) << 1
= (H >> n-4 ) << 1+ (h >> n-4 + (h >> n-3 ) << 1 ) + h >> n-3
= (H »n-4) «1 +
However, the column t 0 εGF (q n ) is a column composed of n
なお、q=2のときにt0=(h≫n−4+(h≫n−3)≪1)となることは容易に確認できる。例えばn=64の場合、列h=(a63,a62,a61,a60,a59,..,a0)とおくと、以下が成り立つ。
h≫n−4=(0,・・・,0,a63,a62,a61,a60)
h≫n−3=(0,・・・,0,a63,a62,a61)
(h≫n−3)≪1=(0,・・・,0,a63,a62,a61,0)
t0=(h≫n−4+(h≫n−3)≪1)=(0,・・・,0,a60)∈GF(2n)
Note that it can be easily confirmed that t 0 = (h >> n−4 + (h >> n−3 ) << 1 ) when q = 2. For example, in the case of n = 64, if the column h = (a 63 , a 62 , a 61 , a 60 , a 59 ,..., A 0 ), the following holds.
h »n-4 = (0, ···, 0, a 63, a 62, a 61, a 60)
h >> n−3 = (0,..., 0, a 63 , a 62 , a 61 )
(H »n-3) «1 = (0, ···, 0, a 63, a 62, a 61, 0)
t 0 = (h »n-4 + (h »n-3) «1) = (0, ···, 0, a 60) ∈GF (2 n)
以上より、式(2)を用いて中間値(h’+h’≪1)を計算し、中間値を用いて式(1)を計算することで列ηを効率的に得ることができる。 As described above, the column η can be efficiently obtained by calculating the intermediate value (h ′ + h ′ << 1) using the equation (2) and calculating the equation (1) using the intermediate value.
<構成>
図1Aに例示するように、第5実施形態の縮約装置5は、入力部11、分割部12、演算部53(第2〜4演算部)、演算部54(第1演算部)、出力部15、制御部16、および記憶部17を有する。縮約装置5は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置5は、制御部16の制御のもとで各処理を行う。
<Configuration>
As illustrated in FIG. 1A, the contracting device 5 of the fifth embodiment includes an
<方法>
図4に例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 4, first, steps S11 and S12 described in the first embodiment are executed.
演算部53には列hが入力される。演算部53は、列t1=h≫n−4∈GF(qn)を得、列t1を出力する。ただし、hn−1=0であり、t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0である(ステップS53−1)。 The column h is input to the calculation unit 53. The computing unit 53 obtains a sequence t 1 = h >> n − 4εGF (q n ) and outputs a sequence t 1 . However, h n−1 = 0, t = 5, n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0 (step S53−) 1).
演算部53には列t1,hが入力される。演算部53は、列t2=t1 ≪1+t0+h≫n−3∈GF(qn)を得、列t2を出力する。ただし、t1がn個の元εn−1,・・・,ε0∈GF(q)からなり、n個の元0,・・・,0,ε0∈GF(q)からなる列がt0∈GF(qn)である。例えば、拡大体GF(qn)がビット列の集合{0,1}nである場合、t0=t1&(0,・・・,0,1)∈{0,1}nを満たす(ステップS53−2)。
Columns t 1 and h are input to the calculation unit 53. The calculation unit 53 obtains a sequence t 2 = t 1 << 1 + t 0 + h >> n − 3εGF (q n ), and outputs a sequence t 2 . However, t 1 is composed of n elements ε n−1 ,..., Ε 0 εGF (q), and
演算部53には列t2が入力される。演算部53は、列η=t2+t2 ≪3∈GF(qn)を得、列ηを出力する(ステップS53−3)。 The column t 2 is input to the calculation unit 53. The computing unit 53 obtains the sequence η = t 2 + t 2 << 3 εGF (q n ), and outputs the sequence η (step S53-3).
演算部54には、列k,ηおよびhが入力される。演算部54は、これらを用いて列R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得、列Rを出力する(ステップS54)
The
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
本形態では、式(2)を用いて中間値(h’+h’≪1)を計算し、中間値を用いて式(1)を計算することで、演算量を削減できる。
<Features of this embodiment>
In this embodiment, the amount of calculation can be reduced by calculating the intermediate value (h ′ + h ′ << 1) using the equation (2) and calculating the equation (1) using the intermediate value.
〔第5実施形態の変形例〕
t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0の場合、列ηは以下のように変形できる。
η=h’+h’≪1+h’≪3+h’≪4∈GF(qn)
=(h’+h’≪1)+(h’+h’≪1)≪3 …(1)
=(h’+h’≪3)+(h’+h’≪3)≪1 …(3)
[Modification of Fifth Embodiment]
When t = 5, n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0, the column η can be transformed as follows.
η = h ′ + h ′ << 1 + h '<< 3 + h'<< 4 ∈GF (q n )
= (H '+ h'<< 1 ) + (h '+ h'<< 1) << 3 (1)
= (H '+ h'<< 3 ) + (h '+ h'<< 3) << 1 (3)
従って、演算部53が、ステップS53−1およびS53−2に代えて、h’=h≫n−1+h≫n−3+h≫n−4∈GF(qn)を計算し、t2’=h’+h’≪1∈GF(qn)またはt2’’=h’+h’≪3∈GF(qn)を計算し、S53−3に代えて、η=t2’+t2’≪3∈GF(qn)またはη=t2’’+t2’’≪1を計算してもよい。
Therefore, the calculation unit 53 calculates h ′ = h >> n−1 + h >> n−3 +
〔第6実施形態〕
本形態は第4,5実施形態の変形例である。t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0(例えばf0(x)=x4+x3+x+1)の場合には、列ρ=h≪n(1)+・・・+h≪n(t−1)∈GF(qn)を効率よく計算することができる。
[Sixth Embodiment]
This embodiment is a modification of the fourth and fifth embodiments. When t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0 (for example, f 0 (x) = x 4 + x 3 + x + 1), The sequence ρ = h << n (1) +... + H << n (t−1) ∈GF (q n ) can be efficiently calculated.
すなわち、t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0の場合、列ρは以下のように変形できる。
ρ=h+h≪1+h≪3+h≪4∈GF(qn)
=(h+h≪1)+(h+h≪1)≪3 …(4)
=(h+h≪3)+(h+h≪3)≪1 …(5)
従って、(h+h≪1)または(h+h≪3)を中間値として計算し、その中間値を用いて式(4)または式(5)を計算することで、演算量を削減できる。
That is, when t = 5, n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0, the column ρ can be transformed as follows.
ρ = h + h << 1 + h << 3 + h << 4 ∈GF (q n )
= (H + h << 1 ) + (h + h << 1 ) << 3 (4)
= (H + h << 3 ) + (h + h << 3 ) << 1 (5)
Therefore, by calculating (h + h << 1 ) or (h + h << 3 ) as an intermediate value and calculating the expression (4) or (5) using the intermediate value, the amount of calculation can be reduced.
<構成>
図1Aに例示するように、第6実施形態の縮約装置6は、入力部11、分割部12、演算部63(第5,6演算部)、演算部64(第1演算部)、出力部15、制御部16、および記憶部17を有する。縮約装置6は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置6は、制御部16の制御のもとで各処理を行う。
<Configuration>
As illustrated in FIG. 1A, the contracting device 6 of the sixth embodiment includes an
<方法>
図5に例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 5, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部63に列hが入力される。演算部63は、列η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)を得、列ηを出力する。ただし、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)であり、t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0である。列ηの計算方法に限定はない。例えば演算部63は、列h’=h≫n−1+h≫n−3+h≫n−4∈GF(qn)を得てから、列η=h’+h’≪1+h’≪3+h’≪4∈GF(qn)を得てもよいし、第5実施形態で説明した方法で列ηを得てもよい(ステップS63−1)。
Next, the column h is input to the calculation unit 63. The calculation unit 63 obtains the sequence η = h ′ << n (1) +... + H ′ << n (t−1) εGF (q n ), and outputs the column η. However, h ′ = h >> n−n (2) +... + H >> n−n (t−1) ∈GF (q n ), t = 5, and n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0. There is no limitation on the method of calculating the column η. For example, the calculation unit 63 obtains the sequence h ′ = h >> n−1 + h >> n−3 +
演算部63は、列t3=h+h≪1∈GF(qn)または列t4=h+h≪3∈GF(qn)を得、列t3または列t4を出力する(ステップS63−2)。 The computing unit 63 obtains the column t 3 = h + h << 1 εGF (q n ) or the column t 4 = h + h << 3 εGF (q n ), and outputs the column t 3 or the column t 4 (Step S63-2). ).
演算部63には、列t3または列t4が入力される。演算部63は、列ρ=t3+t3 ≪3∈GF(qn)または列ρ=t4+t4 ≪1∈GF(qn)を得、列ρを出力する(ステップS63−3)。 Column t 3 or column t 4 is input to calculation unit 63. The calculation unit 63 obtains a sequence ρ = t 3 + t 3 << 3 ∈GF (q n ) or a sequence ρ = t 4 + t 4 << 1 ∈GF (q n ), and outputs the sequence ρ (step S63-3). .
演算部64に列k,ηおよびρが入力される。演算部64は、列ηをh’+h’≪1+h’≪3+h’≪4とし、列ρをh+h≪1+h≪3+h≪4∈GF(qn)として用いて列Rを得、列Rを出力する。すなわち、演算部64は、列R=k+ρ+η∈GF(qn)を得、列Rを出力する(ステップS64)。
The columns k, η, and ρ are input to the
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
本形態では、(h+h≪1)または(h+h≪3)を中間値として計算し、その中間値を用いて式(4)または式(5)を計算することで、演算量を削減できる。
<Features of this embodiment>
In the present embodiment, the amount of calculation can be reduced by calculating (h + h << 1 ) or (h + h << 3 ) as an intermediate value and calculating the expression (4) or (5) using the intermediate value.
〔第7実施形態〕
本形態は第4〜6実施形態の変形例である。t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0(例えばf0(x)=x4+x3+x+1)の場合には、列σ=(h≪n(1)+・・・+h≪n(t−1))+(h’≪n(1)+・・・+h’≪n(t−1))∈GF(qn)を効率よく計算することができる場合がある。
[Seventh Embodiment]
This embodiment is a modification of the fourth to sixth embodiments. When t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0 (for example, f 0 (x) = x 4 + x 3 + x + 1), Column σ = (h << n (1) + ... + h << n (t-1) ) + (h '<< n (1) + ... + h'<< n (t-1) ) ∈GF (q n ) may be calculated efficiently.
すなわち、t=5、n(4)=4,n(3)=3,n(2)=1,n(1)=0の場合、列σは以下のように変形できる。
σ=(h+h≪1+h≪3+h≪4)
+(h’+h’≪1+h’≪3+h’≪4)∈GF(qn)
={(h+h’)+(h+h’)≪1}
+{(h+h’)+(h+h’)≪1}≪3 …(6)
={(h+h’)+(h+h’)≪3}
+{(h+h’)+(h+h’)≪3}≪1 …(7)
従って、(h+h’)を第1中間値として計算し、第1中間値を用いて{(h+h’)+(h+h’)≪1}または{(h+h’)+(h+h’)≪3}を第2中間値として計算し、第2中間値を用いて式(6)または式(7)を計算することで、演算量を削減できる場合がある。
That is, when t = 5, n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0, the column σ can be transformed as follows.
σ = (h + h << 1 + h << 3 + h << 4 )
+ (H ′ + h ′ << 1 + h '<< 3 + h'<< 4 ) ∈GF (q n )
= {(H + h ') + (h + h') << 1 }
+ {(H + h ′) + (h + h ′) << 1 } << 3 (6)
= {(H + h ') + (h + h') << 3 }
+ {(H + h ') + (h + h') << 3 } << 1 (7)
Therefore, (h + h ′) is calculated as the first intermediate value, and {(h + h ′) + (h + h ′) << 1 } or {(h + h ′) + (h + h ′) << 3 } is calculated using the first intermediate value. The calculation amount may be reduced by calculating as the second intermediate value and calculating Expression (6) or Expression (7) using the second intermediate value.
<構成>
図1Aに例示するように、第7実施形態の縮約装置7は、入力部11、分割部12、演算部73(第2〜4演算部)、演算部74(第1演算部)、出力部15、制御部16、および記憶部17を有する。縮約装置7は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置7は、制御部16の制御のもとで各処理を行う。
<Configuration>
As illustrated in FIG. 1A, the contracting device 7 of the seventh embodiment includes an
<方法>
図6に例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 6, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部73に列hが入力される。演算部73は、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、列h’を出力する。ただし、t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0である(ステップS73−1)。 Next, the column h is input to the calculation unit 73. The calculation unit 73 obtains h ′ = h >> n−n (2) +... + H >> n−n (t−1) εGF (q n ), and outputs a sequence h ′. However, t = 5, n (4) = 4, n (3) = 3, n (2) = 1, and n (1) = 0 (step S73-1).
演算部73に列hおよびh’が入力される。演算部73は、列ν=h+h’ ∈GF(qn)を得、列νを出力する(ステップS73−2)。 The columns h and h ′ are input to the calculation unit 73. The calculation unit 73 obtains the sequence ν = h + h′εGF (q n ) and outputs the sequence ν (step S73-2).
演算部73に列νが入力される。演算部73は、列υ=ν+ν≪1∈GF(qn)または列ι=ν+ν≪3∈GF(qn)を得、列υまたはιを出力する(ステップS73−3)。 The column ν is input to the calculation unit 73. The computing unit 73 obtains the sequence υ = ν + ν << 1εGF (q n ) or the sequence ι = ν + ν << 3εGF (q n ), and outputs the sequence υ or ι (step S73-3).
演算部73に列υまたはιが入力される。演算部73は、列σ=υ+υ≪3∈GF(qn)または列σ=ι+ι≪1∈GF(qn)を得、列σを出力する(ステップS73−4)。 The column υ or ι is input to the calculation unit 73. The computing unit 73 obtains the sequence σ = υ + υ << 3εGF (q n ) or the sequence σ = ι + ι << 1εGF (q n ), and outputs the sequence σ (step S73-4).
演算部74に列k,σが入力される。演算部74は、列σをh≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)として用いて列R=k+σ∈GF(qn)を得、列Rを出力する(ステップS74)。
The columns k and σ are input to the
その後、第1実施形態で説明したS15が実行される。 Thereafter, S15 described in the first embodiment is executed.
<本形態の特徴>
本形態では、(h+h’)を第1中間値として計算し、第1中間値を用いて{(h+h’)+(h+h’)≪1}または{(h+h’)+(h+h’)≪3}を第2中間値として計算し、第2中間値を用いて式(6)または式(7)を計算することで、演算量を削減できる場合がある。
<Features of this embodiment>
In this embodiment, (h + h ′) is calculated as the first intermediate value, and {(h + h ′) + (h + h ′) << 1 } or {(h + h ′) + (h + h ′) << 3 using the first intermediate value. } As the second intermediate value, and calculating the formula (6) or the formula (7) using the second intermediate value may reduce the amount of calculation.
〔第8実施形態〕
t=5,n(4)=7,n(3)=2,n(2)=1,n(1)=0の場合、すなわち、f0(x)がf0(x)=x7+x2+x+1であり、hn−1=0である場合には、以下のように演算を効率化できる。なお、q=2、n=128,192の場合、f(x)=xn−f0(x)は既約多項式である。
[Eighth Embodiment]
When t = 5, n (4) = 7, n (3) = 2, n (2) = 1, and n (1) = 0, that is, f 0 (x) is f 0 (x) = x 7 When + x 2 + x + 1 and h n−1 = 0, the calculation can be made efficient as follows. When q = 2 and n = 128, 192, f (x) = x n −f 0 (x) is an irreducible polynomial.
すなわち、hn−1=0、n(4)=7,n(3)=2,n(2)=1,n(1)=0である場合、列Hは以下のように変形できる。hn−1=0であり、列h≫n−1の要素がすべて0となるため、列Hは以下のように変形できる。
H=h+h≫n−1+h≫n−2+h≫n−7∈GF(qn)
=h+h≫n−1+h≫n−2+h≫n−7
=h+h≫n−2+h≫n−7
従って列Rは以下のように計算できる。
R=k+H+H≪1+H≪2+H≪7∈GF(qn)
That is, when h n-1 = 0, n (4) = 7, n (3) = 2, n (2) = 1, and n (1) = 0, the column H can be modified as follows. Since h n-1 = 0 and all the elements in the column h >> n−1 are 0, the column H can be modified as follows.
H = h + h >> n−1 + h >> n−2 + h >> n − 7∈GF (q n )
= H + h >> n-1 + h >> n-2 + h >> n-7
= H + h >> n-2 + h >> n-7
Thus, column R can be calculated as follows:
R = k + H + H << 1 +
図1Aに例示するように、第8実施形態の縮約装置8は、入力部11、分割部12、演算部83(第1演算部)、演算部14(第2演算部)、出力部15、制御部16、および記憶部17を有する。縮約装置8は、例えば、公知または専用のコンピュータに所定のプログラムが読み込まれることによって構成される特別な装置である。縮約装置8は、制御部16の制御のもとで各処理を行う。
As illustrated in FIG. 1A, the reduction device 8 of the eighth embodiment includes an
<方法>
図7に例示するように、まず第1実施形態で説明したステップS11およびS12が実行される。
<Method>
As illustrated in FIG. 7, first, steps S11 and S12 described in the first embodiment are executed.
次に演算部83に列hが入力される。演算部83は、列H=h+h≫n−7+h≫n−2∈GF(qn)を得、列Hを出力する(ステップS83)。 Next, the column h is input to the calculation unit 83. The calculation unit 83 obtains the column H = h + h >> n−7 + h >> n − 2εGF (q n ), and outputs the column H (step S83).
その後、第1実施形態で説明したS14およびS15が実行される。 Thereafter, S14 and S15 described in the first embodiment are executed.
<本形態の特徴>
本形態では、hn−1=0,n(4)=7,n(3)=2,n(2)=1,n(1)=0である場合に、H=h+h≫n−2+h≫n−7によって列Hを得るため、演算量を削減できる。
<Features of this embodiment>
In this embodiment, when h n−1 = 0, n (4) = 7, n (3) = 2, n (2) = 1, and n (1) = 0, H = h + h >> n−2. Since the column H is obtained by + h >> n−7 , the calculation amount can be reduced.
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variations, etc.]
The present invention is not limited to the embodiment described above. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。 When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 This program is distributed, for example, 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, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially. The above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。 In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.
縮約装置 1〜8 Reduction device 1-8
Claims (15)
qが2以上の整数であり、nが3以上の整数であり、tが3≦tの整数であり、GF(q)が位数qの有限体であり、GF(qn)が有限体GF(q)のn次拡大体であり、xが不定元であり、n,tおよびn(t−1),・・・,n(1)がn/2>n(t−1)>・・・>n(1)=0を満たす整数であり、f0(x)が多項式f0(x)=xn(t−1)+・・・+xn(1)であり、f(x)=xn−f0(x)であり、α≫jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する右jシフト演算であり、α≪jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する左jシフト演算であり、
多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得る分割部と、
H=h+h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得る第1演算部と、
R=k+H≪n(1)+・・・+H≪n(t−1)∈GF(qn)を得る第2演算部と、
を有する縮約装置。 A reduction device for calculating r (x) mod f (x),
q is an integer of 2 or more, n is an integer of 3 or more, t is an integer of 3 ≦ t , GF (q) is a finite field of order q, and GF (q n ) is a finite field N-th extension of GF (q), x is an indefinite element, and n, t and n (t−1),..., N (1) are n / 2> n (t−1)>...> n (1) = 0, an integer satisfying f 0 (x) is a polynomial f 0 (x) = x n (t-1) +... + X n (1) , and f ( x) = x n −f 0 (x), and α >> j is a right j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q), and α << j Is a left j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q),
Polynomial r (x) = (h n -1 × x n-1 + ··· + h 0 × x 0) × x n + (k n-1 × x n-1 + ··· + k 0 × x 0) relative, n elements h n-1, ···, column consists h 0 ∈GF (q) h∈GF ( q n) and n elements k n-1, ···, k 0 A dividing unit for obtaining a sequence kεGF (q n ) composed of εGF (q);
H = h + h >> n−n (2) +... + H >> n−n (t−1) ∈GF (q n )
A second operation unit that obtains R = k + H << n (1) +... + H << n (t-1) ∈GF (q n );
A reduction device having
n個の元γn−1,・・・,γ0∈GF(q)からなるqn種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)種類の列のそれぞれに対し、対応する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)を対応付けたテーブルを格納したテーブル記憶部をさらに有し、
前記第1演算部は、前記テーブル記憶部を参照し、h≫n−n(t−1)によって得られる列に対応するh≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、得られたh≫n−n(2)+・・・+h≫n−n(t−1)を用いてHを得る、縮約装置。 The contracting device of claim 1, comprising:
q n obtained by γ >> n−n (t−1) for q n types of columns γεGF (q n ) consisting of n elements γ n−1 ,..., γ 0 εGF (q) (T-1) Corresponding columns Γ = γ >> n−n (2) +... + Γ >> n−n (t−1) εGF (q n ) are associated with each of the types of columns. A table storage unit storing the table;
The first calculation unit refers to the table storage unit, and h >> n −n (2) +... + H >> n−n ( corresponding to a column obtained by h >> n−n (t−1) . t-1) A reduction device that obtains εGF (q n ) and obtains H using the obtained h >> n−n (2) +... + h >> n−n (t−1) .
cが1≦c≦nの整数であり、hn−1=・・・=hn−c=0であり、
γn−1=・・・=γn−c=0であり、n個の元γn−1,・・・,γ0∈GF(q)からなるqn−c種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)−c種類の列のそれぞれに対し、対応する列Γ=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)を対応付けたテーブルを格納したテーブル記憶部をさらに有し、
前記第1演算部は、前記テーブル記憶部を参照し、h≫n−n(t−1)によって得られる列に対応するh≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得、得られたh≫n−n(2)+・・・+h≫n−n(t−1)を用いてHを得る、縮約装置。 The contracting device of claim 1, comprising:
c is an integer of 1 ≦ c ≦ n, h n−1 =... = h n−c = 0,
γ n−1 =... = γ n−c = 0, and q n−c types of columns γεGF consisting of n elements γ n−1 ,..., γ 0 εGF (q) For each of the q n (t−1) -c types of columns obtained by γ >> n−n (t−1 ) for (q n ), the corresponding column Γ = γ >> n−n (2) +. A table storage unit that stores a table in which + γ >> n−n (t−1) εGF (q n ) is associated;
The first calculation unit refers to the table storage unit, and h >> n −n (2) +... + H >> n−n ( corresponding to a column obtained by h >> n−n (t−1) . t-1) A reduction device that obtains εGF (q n ) and obtains H using the obtained h >> n−n (2) +... + h >> n−n (t−1) .
qが2以上の整数であり、nが3以上の整数であり、tが3≦tの整数であり、GF(q)が位数qの有限体であり、GF(qn)が有限体GF(q)のn次拡大体であり、xが不定元であり、n,t,およびn(t−1),・・・,n(1)がn/2>n(t−1)>・・・>n(1)=0を満たす整数であり、f0(x)が多項式f0(x)=xn(t−1)+・・・+xn(1)であり、f(x)=xn−f0(x)であり、α≫jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する右jシフト演算であり、α≪jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する左jシフト演算であり、
多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得る分割部と、
h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)であり、η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)であり、R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得る第1演算部と、
を有する縮約装置。 A reduction device for calculating r (x) mod f (x),
q is an integer of 2 or more, n is an integer of 3 or more, t is an integer of 3 ≦ t , GF (q) is a finite field of order q, and GF (q n ) is a finite field N-order extension of GF (q), x is an indefinite element, n, t, and n (t−1),..., N (1) are n / 2> n (t−1) >...> is an integer satisfying n (1) = 0, f 0 (x) is a polynomial f 0 (x) = x n (t−1) +... + X n (1) , and f (X) = x n −f 0 (x), and α >> j is a right j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q), and α << j is a left j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q),
Polynomial r (x) = (h n -1 × x n-1 + ··· + h 0 × x 0) × x n + (k n-1 × x n-1 + ··· + k 0 × x 0) relative, n elements h n-1, ···, column consists h 0 ∈GF (q) h∈GF ( q n) and n elements k n-1, ···, k 0 A dividing unit for obtaining a sequence kεGF (q n ) composed of εGF (q);
h ′ = h >> n−n (2) +... + h >> n−n (t−1) ∈GF (q n ) and η = h ′ << n (1) +... + h ′ << n (t−1) ∈ GF (q n ), and R = k + h << n (1) +... + h << n (t−1) + η∈GF (q n )
A reduction device having
n個の元γn−1,・・・,γ0∈GF(q)からなるqn種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)種類の列のそれぞれに対し、γ’=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)とした場合における、対応する列Γ’=γ’≪n(1)+・・・+γ’≪n(t−1)∈GF(qn)を対応付けたテーブルを格納したテーブル記憶部をさらに有し、
前記第1演算部は、前記テーブル記憶部を参照し、h≫n−n(t−1)によって得られる列に対応するηを得、得られたηを用いてRを得る、縮約装置。 The contracting device of claim 4, comprising:
q n obtained by γ >> n−n (t−1) for q n types of columns γεGF (q n ) consisting of n elements γ n−1 ,..., γ 0 εGF (q) (T-1) Correspondence in the case of γ ′ = γ >> n−n (2) +... + Γ >> n−n (t−1) εGF (q n ) And further includes a table storage unit that stores a table in which columns Γ ′ = γ ′ << n (1) +... + Γ ′ << n (t−1) ∈GF (q n ) are associated with each other,
The first arithmetic unit refers to the table storage unit, obtains η corresponding to a column obtained by h >> n−n (t−1) , and obtains R using the obtained η. .
cが1≦c≦nの整数であり、hn−1=・・・=hn−c=0であり、
γn−1=・・・=γn−c=0であり、n個の元γn−1,・・・,γ0∈GF(q)からなるqn−c種類の列γ∈GF(qn)に対するγ≫n−n(t−1)によって得られるqn(t−1)−c種類の列のそれぞれに対し、γ’=γ≫n−n(2)+・・・+γ≫n−n(t−1)∈GF(qn)とした場合における、対応する列Γ’=γ’≪n(1)+・・・+γ’≪n(t−1)∈GF(qn)を対応付けたテーブルを格納したテーブル記憶部をさらに有し、
前記第1演算部は、前記テーブル記憶部を参照し、h≫n−n(t−1)によって得られる列に対応するηを得、得られたηを用いてRを得る、縮約装置。 The contracting device of claim 4, comprising:
c is an integer of 1 ≦ c ≦ n, h n−1 =... = h n−c = 0,
γ n−1 =... = γ n−c = 0, and q n−c types of columns γεGF consisting of n elements γ n−1 ,..., γ 0 εGF (q) For each of the q n (t-1) -c types of columns obtained by γ >> n−n (t−1 ) for (q n ), γ ′ = γ >> n−n (2) +. + Γ >> n−n (t−1) ∈GF (q n ), corresponding column Γ ′ = γ ′ << n (1) +... + Γ ′ << n (t−1) ∈GF ( a table storage unit storing a table associated with q n ),
The first arithmetic unit refers to the table storage unit, obtains η corresponding to a column obtained by h >> n−n (t−1) , and obtains R using the obtained η. .
hn−1=0であり、t=5であり、q=2であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0であり、
t1=h≫n−4を得る第2演算部と、
t1がn個の元εn−1,・・・,ε0∈GF(q)からなり、n個の元0,・・・,0,ε0∈GF(q)からなる列がt0∈GF(qn)であり、t2=t1 ≪1+t0+h≫n−3∈GF(qn)を得る第3演算部と、
η=t2+t2 ≪3∈GF(qn)を得る第4演算部と、をさらに有し、
前記第1演算部は、前記第4演算部で得られたηを用いてRを得る、縮約装置。 The contracting device of claim 4, comprising:
h n-1 = 0, t = 5, q = 2, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0 ,
a second computing unit for obtaining t 1 = h >>n-4;
t 1 is made up of n elements ε n−1 ,..., ε 0 εGF (q), and a sequence of n elements 0,..., 0, ε 0 εGF (q) is t 0 is ∈GF (q n), and a third arithmetic unit for obtaining a t 2 = t 1 «1 + t 0 + h »n-3 ∈GF (q n),
a fourth operation unit that obtains η = t 2 + t 2 << 3 ∈GF (q n ),
The contraction device, wherein the first calculation unit obtains R using η obtained by the fourth calculation unit.
t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0であり、
h’=h≫n−1+h≫n−3+h≫n−4∈GF(qn)を得る第2演算部と、
t2’=h’+h’≪1∈GF(qn)またはt2’’=h’+h’≪3∈GF(qn)を得る第3演算部と、
η=t2’+t2’≪3∈GF(qn)またはη=t2’’+t2’’≪1を得る第4演算部と、をさらに有し、
前記第1演算部は、前記第4演算部で得られたηを用いてRを得る、縮約装置。 The contracting device of claim 4, comprising:
t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0,
h ′ = h >> n−1 + h >> n−3 + h >> n − 4εGF (q n ) to obtain a second operation unit;
a third operation unit for obtaining t 2 ′ = h ′ + h ′ << 1 ∈GF (q n ) or t 2 ″ = h ′ + h ′ << 3 ∈GF (q n );
a fourth operation unit that obtains η = t 2 ′ + t 2 ′ << 3∈GF (q n ) or η = t 2 ″ + t 2 ″ << 1;
The contraction device, wherein the first calculation unit obtains R using η obtained by the fourth calculation unit.
t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0であり、
t3=h+h≪1∈GF(qn)またはt4=h+h≪3∈GF(qn)を得る第5演算部と、
ρ=t3+t3 ≪3∈GF(qn)またはρ=t4+t4 ≪1∈GF(qn)を得る第6演算部と、をさらに有し、
前記第1演算部は、前記第6演算部で得られたρをh≪n(1)+・・・+h≪n(t−1)∈GF(qn)として用いてRを得る、縮約装置。 The contracting device according to any one of claims 4 to 8,
t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0,
a fifth operation unit that obtains t 3 = h + h << 1 ∈GF (q n ) or t 4 = h + h << 3 ∈GF (q n );
a sixth operation unit that obtains ρ = t 3 + t 3 << 3 ∈GF (q n ) or ρ = t 4 + t 4 << 1 ∈GF (q n ),
The first arithmetic unit obtains R by using ρ obtained by the sixth arithmetic unit as h << n (1) +... + H << n (t−1) ∈GF (q n ). About equipment.
t=5であり、n(4)=4,n(3)=3,n(2)=1,n(1)=0であり、
ν=h+h’∈GF(qn)を得る第2演算部と、
υ=ν+ν≪1∈GF(qn)またはι=ν+ν≪3∈GF(qn)を得る第3演算部と、
σ=υ+υ≪3∈GF(qn)またはσ=ι+ι≪1∈GF(qn)を得る第4演算部と、をさらに有し、
前記第1演算部は、前記第4演算部で得られたσをh≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)として用いてRを得る、縮約装置。 The contracting device of claim 4, comprising:
t = 5, n (4) = 4, n (3) = 3, n (2) = 1, n (1) = 0,
a second arithmetic unit for obtaining ν = h + h′∈GF (q n );
a third operation unit for obtaining υ = ν + ν << 1∈GF (q n ) or ι = ν + ν << 3∈GF (q n );
a fourth operation unit for obtaining σ = υ + υ << 3 ∈GF (q n ) or σ = ι + ι << 1 ∈GF (q n ),
The first calculation unit obtains R by using σ obtained by the fourth calculation unit as h << n (1) +... + H << n (t−1) + η∈GF (q n ). Reduction device.
hn−1=0、n(4)=7,n(3)=2,n(2)=1,n(1)=0であり、
前記第1演算部が、h+h≫n−7+h≫n−2∈GF(qn)によって前記列Hを得る、縮約装置。 The contracting device of claim 1, comprising:
h n-1 = 0, n (4) = 7, n (3) = 2, n (2) = 1, n (1) = 0,
The contraction device, wherein the first arithmetic unit obtains the column H by h + h >> n-7 + h >> n - 2εGF (q n ).
q=2であり、GF(2)がビット集合{0,1}であり、GF(2n)がnビットのビット列の集合{0,1}nである、縮約装置。 A reduction device according to any of claims 1 to 11, comprising:
A reduction device, where q = 2, GF (2) is a bit set {0, 1}, and GF (2 n ) is a set of bit sequences {0, 1} n of n bits.
qが2以上の整数であり、nが3以上の整数であり、tが3≦tの整数であり、GF(q)が位数qの有限体であり、GF(qn)が有限体GF(q)のn次拡大体であり、xが不定元であり、n,t,およびn(t−1),・・・,n(1)がn/2>n(t−1)>・・・>n(1)=0を満たす整数であり、f0(x)が多項式f0(x)=xn(t−1)+・・・+xn(1)であり、f(x)=xn−f0(x)であり、α≫jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する右jシフト演算であり、α≪jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する左jシフト演算であり、
前記分割部で、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得る分割ステップと、
前記第1演算部で、H=h+h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)を得る第1ステップと、
前記第2演算部で、R=k+H≪n(1)+・・・+H≪n(t−1)∈GF(qn)を得る第2ステップと、
を有する縮約方法。 A reduction method that is executed by a reduction device having a division unit, a first calculation unit, and a second calculation unit, and calculates r (x) mod f (x),
q is an integer of 2 or more, n is an integer of 3 or more, t is an integer of 3 ≦ t , GF (q) is a finite field of order q, and GF (q n ) is a finite field N-order extension of GF (q), x is an indefinite element, n, t, and n (t−1),..., N (1) are n / 2> n (t−1) >...> is an integer satisfying n (1) = 0, f 0 (x) is a polynomial f 0 (x) = x n (t−1) +... + X n (1) , and f (X) = x n −f 0 (x), and α >> j is a right j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q), and α << j is a left j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q),
In the dividing unit, the polynomial r (x) = (h n−1 × x n−1 +... + H 0 × x 0 ) × x n + (k n−1 × x n−1 +... + K 0 × x 0 ), n elements h n−1 ,..., H 0 ∈GF (q), a sequence h∈GF (q n ) and n elements k n−1 ,. A division step to obtain a sequence kεGF (q n ) consisting of k 0 εGF (q);
A first step of obtaining H = h + h >> n−2 (2) +... + H >> n−n (t−1) εGF (q n ) in the first arithmetic unit;
A second step of obtaining R = k + H << n (1) +... + H << n (t-1) ∈GF (q n ) in the second arithmetic unit;
A contraction method.
qが2以上の整数であり、nが3以上の整数であり、tが3≦tの整数であり、GF(q)が位数qの有限体であり、GF(qn)が有限体GF(q)のn次拡大体であり、xが不定元であり、n,t,およびn(t−1),・・・,n(1)がn/2>n(t−1)>・・・>n(1)=0を満たす整数であり、f0(x)が多項式f0(x)=xn(t−1)+・・・+xn(1)であり、f(x)=xn−f0(x)であり、α≫jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する右jシフト演算であり、α≪jがn個の有限体GF(q)の元からなる列α∈GF(qn)に対する左jシフト演算であり、
前記分割部で、多項式r(x)=(hn−1×xn−1+・・・+h0×x0)×xn+(kn−1×xn−1+・・・+k0×x0)に対して、n個の元hn−1,・・・,h0∈GF(q)からなる列h∈GF(qn)およびn個の元kn−1,・・・,k0∈GF(q)からなる列k∈GF(qn)を得る分割ステップと、
前記演算部で、h’=h≫n−n(2)+・・・+h≫n−n(t−1)∈GF(qn)であり、η=h’≪n(1)+・・・+h’≪n(t−1)∈GF(qn)であり、R=k+h≪n(1)+・・・+h≪n(t−1)+η∈GF(qn)を得る演算ステップと、
を有する縮約方法。 A reduction method that is executed by a reduction device having a division unit and an operation unit and calculates r (x) mod f (x),
q is an integer of 2 or more, n is an integer of 3 or more, t is an integer of 3 ≦ t , GF (q) is a finite field of order q, and GF (q n ) is a finite field N-order extension of GF (q), x is an indefinite element, n, t, and n (t−1),..., N (1) are n / 2> n (t−1) >...> is an integer satisfying n (1) = 0, f 0 (x) is a polynomial f 0 (x) = x n (t−1) +... + X n (1) , and f (X) = x n −f 0 (x), and α >> j is a right j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q), and α << j is a left j shift operation on a sequence α∈GF (q n ) consisting of elements of n finite fields GF (q),
In the dividing unit, the polynomial r (x) = (h n−1 × x n−1 +... + H 0 × x 0 ) × x n + (k n−1 × x n−1 +... + K 0 × x 0 ), n elements h n−1 ,..., H 0 ∈GF (q), a sequence h∈GF (q n ) and n elements k n−1 ,. A division step to obtain a sequence kεGF (q n ) consisting of k 0 εGF (q);
In the arithmetic unit, h ′ = h >> n−n (2) +... + H >> n−n (t−1) ∈GF (q n ) and η = h ′ << n (1) +. .. + H ′ << n (t−1) ∈GF (q n ), and R = k + h << n (1) +... + H << n (t−1) + η∈GF (q n ) Steps,
A contraction method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012158735A JP5840086B2 (en) | 2012-07-17 | 2012-07-17 | Reduction device, reduction method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012158735A JP5840086B2 (en) | 2012-07-17 | 2012-07-17 | Reduction device, reduction method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021237A JP2014021237A (en) | 2014-02-03 |
JP5840086B2 true JP5840086B2 (en) | 2016-01-06 |
Family
ID=50196177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012158735A Active JP5840086B2 (en) | 2012-07-17 | 2012-07-17 | Reduction device, reduction method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5840086B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5755609B2 (en) * | 2012-07-31 | 2015-07-29 | 日本電信電話株式会社 | Arithmetic apparatus, method and program |
JP5957120B1 (en) * | 2015-05-12 | 2016-07-27 | 日本電信電話株式会社 | Secret sharing method, secret sharing system, distribution apparatus, and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2387089B (en) * | 2002-03-28 | 2004-12-22 | Matsushita Comm Ind Uk Ltd | Improved carryout word calculation for cyclic shift registers |
JP4399280B2 (en) * | 2004-01-22 | 2010-01-13 | 日本電信電話株式会社 | Surplus device, surplus method, program, and recording medium |
US7512647B2 (en) * | 2004-11-22 | 2009-03-31 | Analog Devices, Inc. | Condensed Galois field computing system |
JP4998225B2 (en) * | 2007-01-19 | 2012-08-15 | 富士通セミコンダクター株式会社 | Finite field computation method and finite field computation device |
US8340280B2 (en) * | 2008-06-13 | 2012-12-25 | Intel Corporation | Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations |
-
2012
- 2012-07-17 JP JP2012158735A patent/JP5840086B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014021237A (en) | 2014-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5957120B1 (en) | Secret sharing method, secret sharing system, distribution apparatus, and program | |
JP6044738B2 (en) | Information processing apparatus, program, and storage medium | |
US8261176B2 (en) | Polynomial division | |
JP5840086B2 (en) | Reduction device, reduction method, and program | |
JP2006023648A (en) | Multiplication residues calculating device and information processing device | |
WO2016181992A1 (en) | Decoding device, decoding method, and program | |
JP5175983B2 (en) | Arithmetic unit | |
JP5927323B1 (en) | Matrix action device, matrix action method, and program | |
JPWO2015145997A1 (en) | Attribute conversion device, attribute conversion method, learning device, attribute conversion program, and learning program | |
JP4621162B2 (en) | Finite commutative group operation method, apparatus and program thereof | |
JP2004166274A (en) | Method and apparatus for basis conversion in finite field | |
JP4998225B2 (en) | Finite field computation method and finite field computation device | |
JP5730812B2 (en) | Arithmetic apparatus, method and program | |
JP4612698B2 (en) | Polynomial multiplier, polynomial multiplication method and program | |
JP5554357B2 (en) | Arithmetic unit | |
KR101833954B1 (en) | Memory hard random number generating apparatus and method | |
JP5755609B2 (en) | Arithmetic apparatus, method and program | |
JP6023728B2 (en) | Multi-pairing calculation device, multi-pairing calculation method, multi-pairing calculation program | |
JP6308845B2 (en) | Arithmetic apparatus, arithmetic method, and program | |
KR20200102126A (en) | Finite division operator, elliptic curve cryptosystem having the same and operating method thereof | |
JP5157018B2 (en) | Original division operation circuit on Galois field | |
JP6093718B2 (en) | Expansion field multiplication device, expansion field multiplication method and program | |
KR101541157B1 (en) | Method for multiplying operation of binary extension finite field | |
KR101158548B1 (en) | Cordic processor and method for cordic processing using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150624 |
|
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: 20151104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5840086 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |