ICS141: Discrete Mathematics for Computer Science I

Similar documents
CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Today s Topics. Primes & Greatest Common Divisors

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

RSA and Primality Testing

Lecture 13 - Basic Number Theory.

8 Primes and Modular Arithmetic

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Chapter 3. if 2 a i then location: = i. Page 40

Applications of Fermat s Little Theorem and Congruences

CS 103X: Discrete Structures Homework Assignment 3 Solutions

Cryptography and Network Security Number Theory

Factoring & Primality

Math 453: Elementary Number Theory Definitions and Theorems

Number Theory Hungarian Style. Cameron Byerley s interpretation of Csaba Szabó s lectures

Kevin James. MTHSC 412 Section 2.4 Prime Factors and Greatest Comm

Integer Factorization using the Quadratic Sieve

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University

The application of prime numbers to RSA encryption

Homework until Test #2

Number Theory and Cryptography using PARI/GP

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

An Introductory Course in Elementary Number Theory. Wissam Raji

Grade 6 Math Circles March 10/11, 2015 Prime Time Solutions

5-1 NUMBER THEORY: DIVISIBILITY; PRIME & COMPOSITE NUMBERS 210 f8

Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms

= = 3 4, Now assume that P (k) is true for some fixed k 2. This means that

Quotient Rings and Field Extensions

GREATEST COMMON DIVISOR

Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem)

Basic Algorithms In Computer Algebra

Cryptography and Network Security Chapter 8

1. Define: (a) Variable, (b) Constant, (c) Type, (d) Enumerated Type, (e) Identifier.

MATH 22. THE FUNDAMENTAL THEOREM of ARITHMETIC. Lecture R: 10/30/2003

SUM OF TWO SQUARES JAHNAVI BHASKAR

Continued Fractions and the Euclidean Algorithm

CIS 5371 Cryptography. 8. Encryption --

Elementary Number Theory

8 Divisibility and prime numbers

k, then n = p2α 1 1 pα k

Grade 7/8 Math Circles Fall 2012 Factors and Primes

Primality - Factorization

6.2 Permutations continued

MATH10040 Chapter 2: Prime and relatively prime numbers

Primes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov

Number Theory: A Mathemythical Approach. Student Resources. Printed Version

THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0

Public Key Cryptography: RSA and Lots of Number Theory

Advanced Cryptography

Lecture 13: Factoring Integers

Overview of Number Theory Basics. Divisibility

Number Theory and the RSA Public Key Cryptosystem

SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by

Chapter 4, Arithmetic in F [x] Polynomial arithmetic and the division algorithm.

Computer and Network Security

RSA Attacks. By Abdulaziz Alrasheed and Fatima

Handout NUMBER THEORY

The Euclidean Algorithm

ALGEBRAIC APPROACH TO COMPOSITE INTEGER FACTORIZATION

Lectures on Number Theory. Lars-Åke Lindahl

ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS

FACTORS AND MULTIPLES Answer Key

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

Elementary factoring algorithms

The Mathematics of the RSA Public-Key Cryptosystem

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Primality Testing and Factorization Methods

Universal hashing. In other words, the probability of a collision for two different keys x and y given a hash function randomly chosen from H is 1/m.

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

17 Greatest Common Factors and Least Common Multiples

Handout #1: Mathematical Reasoning

SECURITY EVALUATION OF ENCRYPTION USING RANDOM NOISE GENERATED BY LCG

Stupid Divisibility Tricks

Chapter 1. Computation theory

Factoring Algorithms

RSA Encryption. Tom Davis October 10, 2003

Factoring Algorithms

Introduction to Finite Fields (cont.)

ECE 842 Report Implementation of Elliptic Curve Cryptography

The Division Algorithm for Polynomials Handout Monday March 5, 2012

Public Key Cryptography and RSA. Review: Number Theory Basics

Some practice problems for midterm 2

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system

MACM 101 Discrete Mathematics I

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

CISC - Curriculum & Instruction Steering Committee. California County Superintendents Educational Services Association

Chapter 11 Number Theory

Primes. Name Period Number Theory

MATH 289 PROBLEM SET 4: NUMBER THEORY

Elements of Applied Cryptography Public key encryption

Theorem3.1.1 Thedivisionalgorithm;theorem2.2.1insection2.2 If m, n Z and n is a positive

Math 319 Problem Set #3 Solution 21 February 2002

Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.

Study of algorithms for factoring integers and computing discrete logarithms

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Introduction to Programming (in C++) Loops. Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC

9. POLYNOMIALS. Example 1: The expression a(x) = x 3 4x 2 + 7x 11 is a polynomial in x. The coefficients of a(x) are the numbers 1, 4, 7, 11.

Transcription:

ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by McGraw-Hill ICS 141: Discrete Mathematics I (Spring 2011) 13-1

Quiz What is the big-theta of a polynomial? What is the worst-case algorithmic complexity of: linear search binary search bubble sort insertion sort Use pseudocode to define the "division algorithm" 13-2

Lecture 17 Chapter 3. The Fundamentals 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors ICS 141: Discrete Mathematics I (Spring 2011) 13-3

The Division Algorithm It s really just a theorem, not an algorithm Only called an algorithm for historical reasons. Theorem: For any integer dividend a and divisor d Z +, there are unique integers quotient q and remainder r N such that a = dq + r and 0 r < d. Formally, the theorem is: a Z, d Z + :!q,r Z: 0 r < d, a = dq + r We can find q and r by: q = a/d, r = a - dq 13-4

The mod Operator An integer division remainder operator. Let a,d Z with d > 1. Then a mod d denotes the remainder r from the division algorithm with dividend a and divisor d; i.e. the remainder when a is divided by d. Also, a div d denotes the quotient q. We can compute (a mod d) by: a - d a/d = a - dq. In C/C++/Java languages, % = mod. 13-5

The mod Operator: Examples 101 = 11 9 + 2 (dividend: 101, divisor: 11) 101 div 11 = 9 101 mod 11 = 2 11 = 3 ( 4) + 1 or 11 = 3 ( 3) 2? (dividend: 11, divisor: 3) 11 div 3 = 4 11 mod 3 = 1 (quotient: 4, remainder: 1) Note that the remainder must not be negative. 13-6

Modular Congruence Let a,b Z, m Z +, where Z + = {n Z n > 0} = N {0} (the positive integers). Then a is congruent to b modulo m, written a b (mod m), iff m (a - b). Note: this is a different use of than the meaning equivalent or is defined as used before. It s also equivalent to: (a - b) mod m = 0. E.g. 17 5 (mod 6), 24 14 (mod 6) 13-7

Useful Congruence Theorems Theorem: Let a,b Z, m Z +. Then: a b (mod m) a mod m = b mod m. Theorem: Let a,b Z, m Z +. Then: a b (mod m) k Z: a = b + km. Theorem: Let a,b,c,d Z, m Z +. Then if a b (mod m) and c d (mod m), then: a + c b + d (mod m), and ac bd (mod m) 13-8

Congruence Theorem Example 7 2 (mod 5) and 11 1 (mod 5). 7 + 11 = 18 and 2 + 1 = 3 Therefore, 7 + 11 2 + 1 (mod 5) 7 11 = 77 and 2 1 = 2 Therefore, 7 11 2 1 (mod 5) 13-9

Applications of Congruence Hashing Functions (hashes) Pseudorandom Numbers Cryptology Universal Product Codes International Standard Book Numbers 13-10

Hashing Functions We want to quickly store and retrieve records in memory locations. A hashing function takes a data item to be stored or retrieved and computes the first choice for a location for the item. h(k) = k mod m A hashing function h assigns memory location h(k) to the record that has k as its key. h(064212848) = 064212848 mod 111 = 14 h(037149212) = 037149212 mod 111 = 65 h(107405723) = 107405723 mod 111 = 14 collision! Find the first unoccupied memory location after the occupied memory. In this case, assign memory location 15. If collision occurs infrequently, and if when one does occur it is resolved quickly, then hashing provides a very fast method of storing and retrieving data. 13-11

Cryptology (I) The study of secret messages Encryption is the process of making a message secret. Decryption is the process of determining the original message from the encrypted message. Some simple early codes include Caesar s cipher: Assign an integer from 0 to 25 to each letter based on its position in the alphabet. Caesar's encryption method: f(p) = (p + 3) mod 26 Caesar's decryption method: f 1 (p) = (p 3) mod 26 MEET YOU IN THE PARK PHHW BRX LQ WKH SDUN 13-12

Cryptology (II) Caesar's encryption method does not provide a high level of security A slightly better approach: f(p) = (ap + b) mod 26 Example 10: What letter replaces the letter K when the function f(p) = (7p + 3) mod 26 is used for encryption? 10 represents K f(10) = (7 10 + 3) mod 26 = 73 mod 26 = 21 21 represents V Therefore, K is replaced by V in the encrypted message 13-13

Prime Numbers An integer p > 1 is prime iff the only positive factors of p are 1 and p itself. Some primes: 2, 3, 5, 7, 11, 13,... Non-prime integers greater than 1 are called composite, because they can be composed by multiplying two integers greater than 1. 13-14

The Fundamental Theorem of Arithmetic Every positive integer greater than 1 has a unique representation as a prime or as the product of a non-decreasing series of two or more primes. Some examples: 2 = 2 (a prime 2) 4 = 2 2 = 2 2 (product of series 2, 2) 2000 = 2 2 2 2 5 5 5= 2 4 5 3 2001 = 3 23 29 2002 = 2 7 11 13 2003 = 2003 (no clear pattern!) 13-15

Prime Numbers: Theorems Theorem 2: If n is a composite integer, then n has a prime divisor less than or equal to n Proof: If n is composite then we have n = ab for 1 < a < n and a positive integer b greater than 1. Show that a n or b n. (Use proof by contradiction) n n If a > and b >, then ab > n (Contradiction!) Therefore, a n or b n, i.e. n has a positive divisor not exceeding n (a or b). By the Fundamental Theorem of Arithmetic, this divisor is either a prime, or has a prime divisor less than itself. In either case, n has a prime divisor less than or equal to n 13-16

Prime Numbers: Theorems Contrapositive of Theorem 2: An integer is prime if it is not divisible by any prime less than or equal to its square root n Example: Show that 101 is prime Primes not exceeding 101: 2, 3, 5, 7 101 is not divisible by any of 2, 3, 5, or 7 Therefore, 101 is a prime 13-17

Prime Factorization Example 4: Fine the prime factorization of 7007 ( 7007 83.7) Perform division of 7007 by successive primes 7007 / 7 = 1001 (7007 = 7 1001) Perform division of 1001 by successive primes beginning with 7 1001 / 7 = 143 (7007 = 7 7 143) Perform division of 143 by successive primes beginning with 7 143 / 11 = 13 (7007 = 7 7 11 13 = 7 2 11 13) 13-18

Greatest Common Divisor The greatest common divisor gcd(a,b) of integers a, b (not both 0) is the largest integer d that is a divisor both of a and of b. d = gcd(a,b) = max(d: d a d b) d a d b e Z, (e a e b) (d e) Example: gcd(24,36) =? Positive divisors of 24: 1, 2, 3, 4, 6, 8, 12, 24 Positive divisors of 36: 1, 2, 3, 4, 6, 9, 12, 18, 36 Positive common divisors: 1, 2, 3, 4, 6, 12. The largest one of these is 12. 13-19

Relative Primality Integers a and b are called relatively prime or coprime iff their gcd = 1. Example: Neither 21 nor 10 is prime, but they are relatively prime. (divisors of 21: 1, 3, 7, 21; divisors of 10: 1, 2, 5, 10; so they have no common factors > 1, so their gcd = 1. A set of integers {a 1, a 2, a 3, } is pairwise relatively prime if all pairs (a i, a j ), for i j, are relatively prime. 13-20

GCD Shortcut If the prime factorizations are written as a a a a p 1 p p n 2 2 b b bn = 1 n and b = p 1 p2 2 p, then the GCD is given by: 1 n gcd( a, b) = p min( 1 a, b ) p min( a 2, b ) p min( a n, b n 1 1 2 2 n ). Example of using the shortcut: a = 84 = 2 2 3 7 = 22 31 71 b = 96 = 2 2 2 2 2 3 = 25 31 70 gcd(84,96) = 2 2 31 70 = 2 2 3 = 12. 13-21

Least Common Multiple lcm(a,b) of positive integers a, b, is the smallest positive integer that is a multiple both of a and of b. E.g. lcm(6,10) = 30 m = lcm(a,b) = min(m: a m b m) a m b m n Z: (a n b n) (m n) Example: lcm(24,36) =? Positive multiples of 24: 24, 48, 72, 96, 120, 144, Positive multiples of 36: 36, 72, 108, 144, Positive common multiples: 72, 144, The smallest one of these is 72. 13-22

LCM Shortcut If the prime factorizations are written as a a a a = p 1 p p n 2 2 b b bn 1 then the LCM is given by n b = p and 1 2 2, 1 p p n lcm( a, b) = p max( a 1, b ) p max( a 2, b ) p max( a n, b n 1 1 2 2 n ). Example of using the shortcut: a = 84 = 2 2 3 7 = 22 31 71 b = 96 = 2 2 2 2 2 3 = 25 31 70 lcm(84,96) = 2 5 31 71 = 32 3 7 = 672 13-23

LCM: Another Example Example 15: What is the least common multiple of 2 3 3 5 7 2 and 2 4 3 3? Solution: lcm(2 3 3 5 7 2, 2 4 3 3 ) = 2 max(3,4) 3 max(5,3) 7 max(2,0) = 24 35 72 13-24

GCD and LCM Theorem: Let a and b be positive integers. Then ab = gcd(a,b) lcm(a,b) Example a = 84 = 2 2 3 7 = 22 31 71 b = 96 = 2 2 2 2 2 3 = 25 31 70 ab = (2 2 31 71 ) (2 5 31 70 ) = 22 31 70 25 31 71 = 2 min(2,5) 3 min(1,1) 7 min(1,0) 2 max(2,5) 3 max(1,1) 7 max(1,0) = gcd(a,b) lcm(a,b) 13-25

Spiral Visualization of mod Example shown: modulo-5 arithmetic 0 (mod 5) 20 4 (mod 5) 19 14 18 3 (mod 5) 9 13 8 4 3 15 10 5 0 1 2 7 6 12 17 11 22 16 21 2 (mod 5) 1 (mod 5) 13-26

Pseudorandom Numbers Numbers that are generated deterministically, but that appear random for all practical purposes. We need to repeat the same sequence when testing! Used in many applications, such as: Hash functions Simulations, games, graphics Cryptographic algorithms One simple common pseudo-random number generating procedure: The linear congruential method Uses the mod operator 13-27

Linear Congruential Method Requires four natural numbers: The modulus m, the multiplier a, the increment c, and the seed x 0. where 2 a < m, 0 c < m, 0 x 0 < m. Generates the pseudo-random sequence {x n } with 0 x n < m, via the following: x n+1 = (ax n + c) mod m Tends to work best when a, c, m are prime, or at least relatively prime. If c = 0, the method is called a pure multiplicative generator. 13-28

Example Let modulus m = 1,000 = 2 3 53. To generate outputs in the range 0-999. Pick increment c = 467 (prime), multiplier a = 293 (also prime), seed x 0 = 426. Then we get the pseudo-random sequence: x 1 = (ax 0 + c) mod m = 285 x 2 = (ax 1 + c) mod m = 972 x 3 = (ax 2 + c) mod m = 263 and so on 13-29

Prime Numbers: Theorems Theorem 3: There are infinitely many primes. (Euclide) Assume: there are only finite many primes p 1, p 2,, p n Let Q = p 1 p 2 p n + 1 Then, Q is prime or it can be written as the product of two or more primes (by Fundamental Theorem of Arithmetic) None of the primes p i divides Q (if p i Q then p i (Q p 1 p 2 p n ), i.e. p i 1) Hence there is a prime not in the list p 1, p 2,, p n, which is either Q itself or a prime factor of Q (CONTRADICTION!!) 13-30

Mersenne Primes Definition: A Mersenne prime is a prime number of the form 2 p 1, where p is prime. prime p 2 p 1 Mersenne? 2 2 2 1 = 3 yes 3 2 3 1 = 7 yes 5 2 5 1 = 31 yes 7 2 7 1 = 127 yes 11 2 11 1 = 2047 = 23 89 no 11,213 2 11,213 1 yes 19,937 2 19,937 1 yes 3,021,377 2 3,021,377 1 Yes (late 1998) 43,112,609 2 43,112,609 1 Yes (MID 2008) largest Mersenne prime known (with almost 13 million digits) 13-31