CSE 311 Foundations of Computing I

Slides:



Advertisements
Similar presentations
The Integers and Division. Outline Division: Factors, multiples Exercise 2.3 Primes: The Fundamental Theorem of Arithmetic. The Division Algorithm Greatest.
Advertisements

22C:19 Discrete Structures Integers and Modular Arithmetic
CSE 311 Foundations of Computing I Lecture 13 Number Theory Autumn 2012 CSE
CSE115/ENGR160 Discrete Mathematics 03/13/12 Ming-Hsuan Yang UC Merced 1.
Number Theory and Cryptography
CSE115/ENGR160 Discrete Mathematics 03/15/11
CSE 321 Discrete Structures Winter 2008 Lecture 8 Number Theory: Modular Arithmetic.
1 Integers and Division CS/APMA 202 Rosen section 2.4 Aaron Bloomfield.
CSE 321 Discrete Structures Winter 2008 Lecture 10 Number Theory: Primality.
CSE 311 Foundations of Computing I Lecture 12 Primes, GCD, Modular Inverse Spring
Fall 2002CMSC Discrete Structures1 Let us get into… Number Theory.
Divisibility October 8, Divisibility If a and b are integers and a  0, then the statement that a divides b means that there is an integer c such.
Integers Number Theory = Properties of Integers
The Fundamentals: Algorithms, Integers, and Matrices CSC-2259 Discrete Structures Konstantin Busch - LSU1.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 3 (Part 2): The Fundamentals: Algorithms, the.
February 24, 2015Applied Discrete Mathematics Week 4: Number Theory 1 Modular Arithmetic Let a be an integer and m be a positive integer. We denote by.
3.4/3.5 The Integers and Division/ Primes and Greatest Common Divisors Let each of a and b be integers. We say that a divides b, in symbols a | b, provided.
Prep Math Competition, Lec. 1Peter Burkhardt1 Number Theory Lecture 1 Divisibility and Modular Arithmetic (Congruences)
CompSci 102 Discrete Math for Computer Science February 16, 2012 Prof. Rodger.
Chapter The Integers and Division Division
Foundations of Computing I CSE 311 Fall It’s Boolean algebra again Definition for  based on  Definition for  based on  Complement works like.
Number Theory 이재원 School of Information Technology Sungshin W. University.
Chapter 2 (Part 1): The Fundamentals: Algorithms, the Integers & Matrices The Integers and Division (Section 2.4)
CSE 311: Foundations of Computing Fall 2014 Lecture 12: Primes, GCD.
22C:19 Discrete Structures Integers and Modular Arithmetic Fall 2014 Sukumar Ghosh.
CSE 311 Foundations of Computing I Lecture 14 Euclid’s Algorithm Mathematical Induction Autumn 2012 CSE
Foundations of Computing I CSE 311 Fall Review: Division Theorem Let a be an integer and d a positive integer. Then there are unique integers q.
CSE 311: Foundations of Computing Fall 2013 Lecture 12: Primes, GCD, modular inverse.
CSE 311: Foundations of Computing Fall 2013 Lecture 11: Modular arithmetic and applications.
Divisibility and Modular Arithmetic
1 Discrete Structures – CNS2300 Text Discrete Mathematics and Its Applications Kenneth H. Rosen (5 th Edition) Chapter 2 The Fundamentals: Algorithms,
The Fundamentals: Algorithms, Integers, and Matrices CSC-2259 Discrete Structures Konstantin Busch - LSU1.
Ch04-Number Theory and Cryptography 1. Introduction to Number Theory Number theory is about integers and their properties. We will start with the basic.
Chapter 4 With Question/Answer Animations 1. Chapter Motivation Number theory is the part of mathematics devoted to the study of the integers and their.
Number Theory Lecture 1 Text book: Discrete Mathematics and its Applications, 7 th Edition.
CSE 311 Foundations of Computing I Lecture 12 Modular Arithmetic and Applications Autumn 2012 CSE
CSE 311 Foundations of Computing I Lecture 11 Modular Exponentiation and Primes Autumn 2011 CSE 3111.
Chapter 3 The Fundamentals: Algorithms, the integers, and matrices Section 3.4: The integers and division Number theory: the part of mathematics involving.
Number Theory. Introduction to Number Theory Number theory is about integers and their properties. We will start with the basic principles of divisibility,
Number-Theoretic Algorithms
CS 210 Discrete Mathematics The Integers and Division (Section 3.4)
CSE15 Discrete Mathematics 03/15/17
CS 2210:0001Discrete Structures Modular Arithmetic and Cryptography
Integers and Division Section 3.4.
Numerical Algorithms x x-1 Numerical Algorithms
CMSC Discrete Structures
CSE 311 Foundations of Computing I
MATH301- DISCRETE MATHEMATICS Copyright © Nahid Sultana Dr. Nahid Sultana Chapter 4: Number Theory and Cryptography.
Number Theory and Modular Arithmetic
Applied Discrete Mathematics Week 3: Algorithms
Applied Discrete Mathematics Week 4: Number Theory
CSE 311 Foundations of Computing I
CSE 311 Foundations of Computing I
Number Theory.
CSE 311 Foundations of Computing I
CSE 311: Foundations of Computing
Discrete Math for CS CMPSC 360 LECTURE 12 Last time: Stable matching
CSE 311: Foundations of Computing
CSE 321 Discrete Structures
CSE 321 Discrete Structures
CMSC 203, Section 0401 Discrete Structures Fall 2004 Matt Gaston
Copyright © Zeph Grunschlag,
Divisibility and Modular Arithmetic
Applied Discrete Mathematics Week 10: Introduction to Counting
Clements MAΘ October 30th, 2014
Number Theory.
Number Theory.
Presentation transcript:

CSE 311 Foundations of Computing I Lecture 11 Modular Arithmetic and Applications Spring 2013

Announcements Reading assignments Today and Friday: 4.1-4.3 7th Edition 3.5, 3.6 6th Edition

Highlights…Divisibility Integers a, b, with a ≠ 0, we say that a divides b is there is an integer k such that b = ak. The notation a | b denotes a divides b. Let a be an integer and d a positive integer. Then there are unique integers q and r, with 0 ≤ r < d, such that a = dq + r. q = a div d r = a mod d

Highlights…Modular Arithmetic Let a and b be integers, and m be a positive integer. We say a is congruent to b modulo m if m divides a – b. We use the notation a ≡ b (mod m) to indicate that a is congruent to b modulo m.

Highlights…Modular arithmetic Let a and b be integers, and let m be a positive integer. Then a ≡ b (mod m) if and only if a mod m = b mod m.

Highlights…Modular arithmetic Let m be a positive integer. If a ≡ b (mod m) and c ≡ d (mod m), then a + c ≡ b + d (mod m) and ac ≡ bd (mod m)

Example Let n be an integer, prove that n2 ≡ 0 (mod 4) or n2 ≡ 1 (mod 4)

n-bit Unsigned Integer Representation Represent integer x as sum of powers of 2: If x = i=0 bi 2i where each bi ∈ {0,1} then representation is bn-1...b2 b1 b0 99 = 64 + 32 + 2 + 1 18 = 16 + 2 For n = 8: 99: 0110 0011 18: 0001 0010 n-1

Signed integer representation n-bit signed integers Suppose -2n-1 < x < 2n-1 First bit as the sign, n-1 bits for the value 99 = 64 + 32 + 2 + 1 18 = 16 + 2 For n = 8: 99: 0110 0011 -18: 1001 0010 Any problems with this representation?

Two’s complement representation n bit signed integers, first bit will still be the sign bit Suppose 0 ≤ x < 2n-1, x is represented by the binary representation of x Suppose 0 < x ≤ 2n-1, -x is represented by the binary representation of 2n-x 99 = 64 + 32 + 2 + 1 18 = 16 + 2 For n = 8: 99: 0110 0011 -18: 1110 1110 Key property: Two’s complement representation of any number y is equivalent to y mod 2n so arithmetic works mod 2n

Signed vs Two’s complement -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 1111 1110 1101 1100 1011 1010 1001 0000 0001 0010 0011 0100 0101 0110 0111 Signed -8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 Two’s complement

Two’s complement representation Suppose that 0 < x ≤ 2n-1. Then -x is represented by the binary representation of 2n-x To compute this: Flip the bits of x then add 1: All 1’s string is 2n-1 so Flip the bits of x  replace x by 2n-1-x

Basic applications of mod Hashing Pseudo random number generation Simple cipher

Hashing Map values from a large domain, 0…M-1 in a much smaller domain, 0…n-1 Index lookup Test for equality Hash(x) = x mod p Often want the hash function to depend on all of the bits of the data Collision management

Pseudo Random number generation Linear Congruential method xn+1 = (a xn + c) mod m m = 10, a = 3, c = 2, x0 = 0

Simple cipher Caesar cipher, A = 1, B = 2, . . . Shift cipher HELLO WORLD Shift cipher f(p) = (p + k) mod 26 f-1(p) = (p – k) mod 26 f(p) = (ap + b) mod 26

Modular Exponentiation mod 7 1 2 3 4 5 6 a a1 a2 a3 a4 a5 a6 1 2 3 4 5 6

Exponentiation Compute 7836581453 Compute 7836581453 mod 104729 Useful property (ab) mod m= ((a mod m)(b mod m)) mod m 104,729 is the 10,000th prime

Fast exponentiation int FastExp(int a, int n, m){ long v = (long) a; int exp = 1; for (int i = 1; i <= n; i++){ v = (v * v) % m; exp = exp + exp; Console.WriteLine("i : " + i + ", exp : " + exp + ", v : " + v ); } return (int)v;

Program Trace i : 1, exp : 2, v : 82915 i : 2, exp : 4, v : 95592

Fast exponentiation algorithm What if the exponent is not a power of two? 81453 = 216 + 213 + 212 + 211 + 210 + 29 + 25 + 23 + 22 + 20 The fast exponentiation algorithm computes an mod m in time O(log n)

Primality An integer p greater than 1 is called prime if the only positive factors of p are 1 and p. A positive integer that is greater than 1 and is not prime is called composite.

Fundamental Theorem of Arithmetic Every positive integer greater than 1 has a unique prime factorization 48 = 2 • 2 • 2 • 2 • 3 591 = 3 • 197 45,523 = 45,523 321,950 = 2 • 5 • 5 • 47 • 137 1,234,567,890 = 2 • 3 • 3 • 5 • 3,607 • 3,803

Factorization If n is composite, it has a factor of size at most sqrt(n)

Euclid’s theorem There are an infinite number of primes. Proof by contradiction: Suppose that there are only a finite number of primes: p1, p2, . . ., pn