applied symbolic computation cs 300 modular arithmetic
Download
Skip this Video
Download Presentation
Applied Symbolic Computation (CS 300) Modular Arithmetic

Loading in 2 Seconds...

play fullscreen
1 / 12

Applied Symbolic Computation (CS 300) Modular Arithmetic - PowerPoint PPT Presentation


  • 158 Views
  • Uploaded on

Applied Symbolic Computation (CS 300) Modular Arithmetic. Jeremy R. Johnson. Introduction. Objective: To become familiar with modular arithmetic and some key algorithmic constructions that are important for computer algebra algorithms. Modular Arithmetic

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Applied Symbolic Computation (CS 300) Modular Arithmetic' - chill


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introduction
Introduction
  • Objective: To become familiar with modular arithmetic and some key algorithmic constructions that are important for computer algebra algorithms.
    • Modular Arithmetic
    • Modular inverses and the extended Euclidean algorithm
    • Fermat’s theorem
    • Euler’s Identity
    • Chinese Remainder Theorem

References: Rivest, Shamir, Adelman.

modular arithmetic z n
Modular Arithmetic (Zn)

Definition: a  b (mod n)  n | (b - a)

Alternatively, a = qn + b

Properties (equivalence relation)

  • a  a (mod n) [Reflexive]
  • a  b (mod n)  b  a (mod n) [Symmetric]
  • a  b (mod n) and b  c (mod n)  a  c (mod n) [Transitive]

Definition: An equivalence class mod n

[a] = { x: x  a (mod n)} = { a + qn | q  Z}

modular arithmetic z n1
Modular Arithmetic (Zn)

It is possible to perform arithmetic with equivalence classes mod n.

  • [a] + [b] = [a+b]
  • [a] * [b] = [a*b]

In order for this to make sense, you must get the same answer (equivalence) class independent of the choice of a and b. In other words, if you replace a and b by numbers equivalent to a or b mod n you end of with the sum/product being in the same equivalence class.

a1 a2 (mod n) and b1 b2 (mod n)  a1+ b1 a2 + b2 (mod n)

a1* b1 a2 * b2 (mod n)

(a + q1n) + (b + q2n) = a + b + (q1 + q2)n

(a + q1n) * (b + q2n) = a * b + (b*q1 + a*q2 + q1* q2)n

representation of z n
Representation of Zn

The equivalence classes [a] mod n, are typically represented by the representatives a.

  • Positive Representation: Choose the smallest positive integer in the class [a] then the representation is {0,1,…,n-1}.
  • Symmetric Representation: Choose the integer with the smallest absolute value in the class [a]. The representation is {-(n-1)/2 ,…, n/2 }. When n is even, choose the positive representative with absolute value n/2.
  • E.G. Z6 = {-2,-1,0,1,2,3}, Z5 = {-2,-1,0,1,2}
modular inverses
Modular Inverses

Definition: x is the inverse of a mod n, if ax  1 (mod n)

The equation ax  1 (mod n) has a solution iff gcd(a,n) = 1.

By the Extended Euclidean Algorithm, there exist x and y such that ax + ny = gcd(a,n). When gcd(a,n) = 1, we get ax + ny = 1. Taking this equation mod n, we see that ax  1 (mod n)

By taking the equation mod n, we mean applying the mod n homomorphism: m Z  Zm, which maps the integer a to the equivalence class [a]. This mapping preserves sums and products.

I.E.

m(a+b) = m(a) + m(b), m(a*b) = m(a) * m(b)

fermat s theorem
Fermat’s Theorem

Theorem: If a  0 Zp, then ap-1 1 (mod p). More generally, if

a  Zp, then ap a (mod p).

Proof: Assume that a  0 Zp. Then

a * 2a * … (p-1)a = (p-1)! * ap-1

Also, since a*i  a*j (mod p)  i  j (mod p), the numbers a, 2a, …, (p-1)a are distinct elements of Zp. Therefore they are equal to 1,2,…,(p-1) and their product is equal to

(p-1)! mod p. This implies that

(p-1)! * ap-1  (p-1)! (mod p)  ap-1 1 (mod p).

euler phi function
Euler phi function
  • Definition: phi(n) = #{a: 0 < a < n and gcd(a,n) = 1}
  • Properties:
    • (p) = p-1, for prime p.
    • (p^e) = (p-1)*p^(e-1)
    •  (m*n) =  (m)* (n) for gcd(m,n) = 1.
    • (p*q) = (p-1)*(q-1)
  • Examples:
    • (15) = (3)* (5) = 2*4 = 8. = #{1,2,4,7,8,11,13,14}
    • (9) = (3-1)*3^(2-1) = 2*3 = 6 = #{1,2,4,5,7,8}
euler s identity
Euler’s Identity
  • The number of elements in Zn that have multiplicative inverses is equal to phi(n).
  • Theorem: Let (Zn)* be the elements of Zn with inverses (called units). If a  (Zn)*, then a(n) 1 (mod n).

Proof. The same proof presented for Fermat’s theorem can be used to prove this theorem.

chinese remainder theorem
Chinese Remainder Theorem

Theorem: If gcd(m,n) = 1, then given a and b there exist an integer solution to the system:

x  a (mod m) and x = b (mod n).

Proof:

Consider the map x  (x mod m, x mod n).

This map is a 1-1 map from Zmnto Zm  Zn, since if x and y map to the same pair, then x  y (mod m) and x  y (mod n). Since gcd(m,n) = 1, this implies that x  y (mod mn).

Since there are mn elements in both Zmnand Zm  Zn, the map is also onto. This means that for every pair (a,b) we can find the desired x.

alternative interpretation of crt
Alternative Interpretation of CRT
  • Let Zm  Zn denote the set of pairs (a,b) where a  Zm and b  Zn. We can perform arithmetic on Zm  Zn by performing componentwise modular arithmetic.
    • (a,b) + (c,d) = (a+b,c+d)
    • (a,b)*(c,d) = (a*c,b*d)
  • Theorem: Zmn Zm  Zn. I.E. There is a 1-1 mapping from Zmn onto Zm  Zn that preserves arithmetic.
    • (a*c mod m, b*d mod n) = (a mod m, b mod n)*(c mod m, d mod n)
    • (a+c mod m, b+d mod n) = (a mod m, b mod n)+(c mod m, d mod n)
    • The CRT implies that the map is onto. I.E. for every pair (a,b) there is an integer x such that (x mod m, x mod n) = (a,b).
constructive chinese remainder theorem
Constructive Chinese Remainder Theorem

Theorem: If gcd(m,n) = 1, then there exist em and en (orthogonal idempotents)

  • em 1 (mod m)
  • em 0 (mod n)
  • en 0 (mod m)
  • en 1 (mod n)

It follows that a*em + b* en a (mod m) and  b (mod n).

Proof.

Since gcd(m,n) = 1, by the Extended Euclidean Algorithm, there exist x and y with m*x + n*y = 1. Set em = n*y and en = m*x

ad