Modular Arithmetic Ring Polynomial

S. Guritman, N. Aliatiningtyas, T. Wulandari and M. Ilyas 180

2. Modular Arithmetic Ring Polynomial

In this section, we describe the algorithm for arithmetic ring polynomial modular [ ] x f x p Z with parameters primes p and f is a polynomial of three terms trinomial is defined as , n i i x x f f x f + + = where { } 1 , 1 , − ∈ f f i 1 with integer i selected in the interval . 1 1 − ≤ ≤ n i A complete review of this topic refers to article [6]. We denote { } 1 ..., , 2 , 1 , − = p p Z as a field over prime integer hereinafter, simply called prime field with the addition and multiplication operation modulo p. Then, [ ] x p Z as a polynomial ring over p Z with the addition and multiplication operation over . p Z Then, [ ] x f x p Z as modular ring polynomial whose members all polynomials over p Z and with degree at most 1 − n with the addition and multiplication operation modulo . x f In this case, [ ] x f x p Z also has a structure as vector space over p Z with the addition and multiplication polynomial operation. From the fact that the vector space [ ] , n p p x f x Z Z ≅ then the computational aspects is much simpler from each [ ] x f x x a x a x a a x a p n n n n Z ∈ + + + + = − − − − 1 1 2 2 1 can be represented isomorphic as vector data . , ..., , , 1 2 1 n p n n a a a a Z ∈ = − − a As a result, the amount of computational operations in the modular ring [ ] x f x p Z is as efficient as computing the vector addition operation modulo p. Moreover, the efficiency of the multiplication operation [ ] x f x p Z described as follows. Construction of Family of Hash Functions Based on Ideal Lattice 181 Let [ ] x f x x b x a p Z ∈ , represented by vectors , , n p Z ∈ b a and [ ] x f x b x a mod ⋅ is represented as f b a mod : multiplication operation in . n p Z Suppose f in equation 1 represented as an ordered pair { } { } 1 ..., , 2 , 1 1 , 1 , − ± ± ± × − ∈ = n j f f with , j i = 1 = i f if , j and 1 − = i f if . j As an illustration, for , 64 = n 37 , 1 − = f is a representation of the trinomial . 1 64 37 x x x f + − = Thus, the calculation of x f x xa mod can efficiently be demonstrated through the following algorithm. Algorithm 1 Rotation-Substitution Algorithm Input: Integer n with , 1 n odd prime p, ordered pair j f , = f as a representation of trinomial , x f and vector 1 2 1 ..., , , , − = n a a a a a n p Z ∈ as a representation of [ ] . x f x x a p Z ∈ Output: The vector 1 2 1 ..., , , , − = n c c c c c as [ ] x f x x xa p Z ∈ 1. , : a c  = where a  denotes the rotation of a one component to the right. 2. c subs c , , : 1 − − = n a f denotes the substitution 0th component from c with . 1 − − n a f 3. If , j compute , , , : , 1 1 c subs c s j a a s n j = − = − − and if , j compute . , , : , 1 1 c subs c s j a a s n j − = + = − − 4. return c . Furthermore, since x f x b x a mod can be written as x f x a x b x a x b x a x b x a b n n mod 1 1 2 2 1 ⋅ + + ⋅ + ⋅ + ⋅ − − the calculation of f b a mod : efficiently is demonstrated through the following algorithm. S. Guritman, N. Aliatiningtyas, T. Wulandari and M. Ilyas 182 Algorithm 2 Operation Algorithm mod f b a : Input: Vector 1 2 1 ..., , , , − = m a a a a a and 1 2 1 ..., , , , − = n b b b b b in the ring [ ] . x f x p n p Z Z ≅ Output: The vector 1 2 1 ..., , , , − = n c c c c c as the product of a and b in the ring . n p Z 1. Initialization a c : b = denotes a scalar times vector and . : a w = 2. For integer 1 = i to , 1 − = n i calculate: a f w RotSubs w , : = call Algorithm 1. b If , ≠ i b calculate . : w c c i b + =

3. returnc.