Chapter 3

advertisement
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Internet security
• Anonymity on internet
• Example: internet crime
• IP (internet protocol) address: identification of computer
• Information of network/host ID
• Assigned by internet service providers (ISP)
• Static/Dynamic (details not required)
Internet security
• IPv4: Internet Protocol version 4
• 4 parts (octets):
• 8 bits for each part (32 bits in total)
• Each part expressed as base 10 numbers for convenience
• At most 232 ≈ 4 billion different addresses
Internet security
• IPv6: Internet Protocol version 6
• 8 parts:
• 16 bits for each part (128 bits in total)
• Each part expressed as base 16 numbers
• At most 2128 different addresses
Internet security
• Example: online banking
• Double security: password and security device
• Number-generating security device
• A 6-digit code generated from device ID and time (by a secret method) for each log-in
session (access granted only if entered code agrees with one generated by bank server)
• Generated code effective only within 15-30 seconds
Simple cryptography
• Encryption: from plaintexts to ciphers (with a specific rule)
• Decryption: from ciphers to plaintexts (with a specific rule)
• Cryptography: study of encryption and decryption
• Encryption and decryption can be symmetric (same key for both
processes) or asymmetric (different keys)
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Caesar cipher
• Cipher obtained by simple letter shifting with a fixed (forward)
shifting number (A-Z treated as a cycle)
• Example:
• Plaintext: IT’S NOT A JOURNEY
• Cipher: JU'T OPU B KPVSOFZ
• Shifting number: 1 (encryption: letters shifted forward by 1 place)
Caesar cipher
• Example: Classwork
• Plaintext: NUMBER IS FUNNY
• Shifting number: 4
• Cipher: RYQFIV MW JYRRC
• How to decrypt?
• Key: shifting number
• Caesar cipher: easy to break by simple trial-and-error
• Key feature: single shifting number
Vigenere cipher
• Vigenere cipher: higher security level with multiple shifting numbers
• Example:
• Shifting numbers (key used in both encryption and decryption): (12, 0, 19, 7)
Vigenere cipher
• Shifting numbers represented by a word according to the rule
• Example: (12, 0, 19, 7) represented by “MATH”
Vigenere cipher
• Plaintext: THISISBORING
• Key: YES = (24, 4, 18)
Encrypted message (cipher): RLAQMKZSJGRY
Substitution cipher
• Systematically replacing each letter by another letter
• Examples: Caesar cipher and Vigenere cipher
• Simple substitution cipher:
Ways of breaking codes
• Look for single-letter words (A or I)
• Look for special features such as apostrophes (’)
• Look for particular patterns
• Tackle shorter words first
• Frequency analysis
Ways of breaking codes
• Example: Kieron Bryan’s Murder attempt 2012
• Encrypted letter sent to sister (during investigation)
• Code broken by police in 3 days
Ways of breaking codes
Ways of breaking codes
• Example: Kieron Bryan’s Murder attempt 2012
• Particular pattern: 33, 9, 5, 10, 3, 5 (PLEASE)
Feb 2012 News: Police cracked the code to uncover gunman's bribery bid
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Ways of breaking codes
• Frequency analysis
• Example: frequencies for a plaintext passage
Ways of breaking codes
• Frequency analysis
• Compare the standard frequencies with the frequencies obtained from the
encrypted message (cipher)
• More useful for long messages
• Patterns also considered
Ways of breaking codes
• Frequency analysis
• Example: Kieron Bryan’s Murder attempt 2012
• “E” is generally the most frequently used letter
• “5” appears most frequently in cipher
• Reasonable guess: “5” is the cipher for “E”
Classwork: frequency analysis
• Identifying shifting number of a Caesar cipher by frequency analysis
instead of trial-and-error
Ways of breaking codes
• Frequency analysis
• Example: frequencies for a Vigenere cipher
• Key: BRADPITT
• Cipher:
Ways of breaking codes
• Frequency analysis
• Example: frequencies for a Vigenere cipher
• Key: BRADPITT
• Frequencies for cipher: are the numbers useful?
Ways of breaking codes
• Frequency analysis
• Caesar cipher
• Preserves frequencies
• Easy to break with trial-and-error with the help of frequency analysis
• The most frequent cipher letter is likely to represent E or A
• Vigenere cipher
• Does not preserve frequencies
• Not easy to break even with frequency analysis
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
• Step 1: frequency analysis (P likely to be cipher of E)
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
• Step 1: frequency analysis (P likely to be cipher of E)
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
• Step 2: look for particular patterns (such as “_EE_”)
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
• Step 3: look for short common words
Ways of breaking codes
• Cryptogram
• Common game in newspapers and magazines
• Example:
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Modular arithmetic
• Example: letter shifting
• 26 “=” 0, 27 “=” 1, 28 “=” 2, 45 “=” 19, 71 “=” 19, etc.
• Key number: 26
• Do the numbers differ by a certain number of complete cycles?
• Is the difference a multiple of 26?
Modular arithmetic
• Example: clock
• 13 “=” 1, 15 “=” 3, 23 “=” 11, etc.
• Key number: 12
• Do the numbers differ by a certain number of complete cycles?
• Is the difference a multiple of 12?
Modular arithmetic
• Example: letter shifting
• 26 0 (mod 26), 45 19 (mod 26), 71
• Congruence modulo 26:
19 (mod 26), etc.
• Do the numbers differ by a certain number of complete cycles?
• Is the difference a multiple of 26?
Modular arithmetic
• Example: clock
• 13 1 (mod 12), 15 3 (mod 12), 23
• Congruence modulo 12:
11 (mod 12), etc.
• Do the numbers differ by a certain number of complete cycles?
• Is the difference a multiple of 12?
Modular arithmetic
• Example: 37
89 (mod 26)? YES
• Reason: 89 – 37 = 52 is divisible by 26
• Example: 38
89 (mod 25)? NO
• Reason: 89 – 38 = 51 is not divisible by 25
Modular arithmetic
• Example: congruence modulo 3
• 1
• 2
• 3
4
5
6
7
8
9
10 … (mod 3)
11 … (mod 3)
12 … (mod 3)
Modular arithmetic
• Application in letter shifting
• Example: Caesar cipher with shifting number 4
• 24 + 4 = 28 ≡ 2 (mod 26)
Modular arithmetic
• Application in letter shifting
• Example: Caesar cipher with shifting number 17
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Announcement
• Mid-term test on Nov 7 (Friday)
• 20% of final score
• 1-hour
• Coverage: up to Chapter 2
• Closed book
• DO NOT use calculators in MOBILE PHONES!
• DO NOT use electronic devices except calculators!
• Past midterm paper:
http://www.math.hkbu.edu.hk/~ajzhang/GCNU1025/Past_Midterm.pdf
Modular arithmetic
• Application in letter shifting
• Why does the cycle begin with 0?
• What is 64?
• Answer: 12
• What is the remainder of 64 ÷ 26?
• Answer: 12
Modular arithmetic
• Application in letter shifting
• Example: Caesar cipher (encryption) with shifting number 128
• Operation #1: adding 128
• A encrypted as Y
• Operation #2: adding 24
• A encrypted as Y
• 128 ≡ 24 (mod 26)
Modular arithmetic
• Application in letter shifting
• Example: Caesar cipher (decryption) with shifting number 88
• Operation #1: subtracting by 88
• A decrypted as Q
• Operation #2: subtracting by 10
• A encrypted as Q
• 88 ≡ 10 (mod 26)
Modular arithmetic
• Properties:
• Examples:
• Shifting number of 128 same as shifting number of 24
• 0 + 128 ≡ 26 + 24 (mod 26)
• Shifting number of 88 same as shifting number of 10
• 1 − 88 ≡ 27 − 10 (mod 26)
Modular arithmetic
• Properties:
• Examples:
•
•
•
•
2 × 13 ≡ 2 × 25 (mod 12)
2 × 13 ≡ 26 × 25 (mod 12)
25 ≡ 145 (mod 12)
736 ≡ 5936 (mod 26)
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Modular arithmetic
Modular arithmetic
• Divisions and inverses in ordinary arithmetic
• Division can be expressed as multiplication
• Example: 6 ÷ 3 = 6 ×
• 3 and 1/3 are a pair
1
3
1
3
• Property: 3 × = 1
• Example: 8 ÷ 5 = 8 ×
• 5 and 1/5 are a pair
1
5
1
5
• Property: 5 × = 1
• Inverse of a number: a number with which the product is 1
• Example: inverse of 3 is 1/3
• Example: inverse of 1/5 is 5
Modular arithmetic
• Definition of inverse
• Example: is 3 an inverse of 9 modulo 26? YES
• 3 × 9 = 27
• Is 27 congruent to 1 modulo 26? YES
• Example: is 5 an inverse of 7 modulo 26? NO
• 5 × 7 = 35
• 35 ≡ 1 (mod 26)? NO
Modular arithmetic
• Definition of inverse
• Example: is 1 an inverse of 4 modulo 6? NO
• 1×4 =4
• 4 ≡ 1 (mod 6)? NO
• Example: is 2 an inverse of 4 modulo 6? NO
• 2×4 =8
• 8 ≡ 1 (mod 6)? NO
Modular arithmetic
• Definition of inverse
• Example: is 3 an inverse of 4 modulo 6? NO
• 3 × 4 = 12
• 12 ≡ 1 (mod 6)? NO
• Example: is 4 an inverse of 4 modulo 6? NO
• 4 × 4 = 16
• 16 ≡ 1 (mod 6)? NO
Modular arithmetic
• Definition of inverse
• Example: is 5 an inverse of 4 modulo 6? NO
• 5 × 4 = 20
• 20 ≡ 1 (mod 6)? NO
• Example: is 15 an inverse of 4 modulo 6? NO
• 3 × 4 = 12
• 12 ≡ 1 (mod 6)? NO
Modular arithmetic
• Existence of inverse
• Example: 4 has no inverse modulo 6
• Reason: 4 and 6 share 2 as a common factor
Modular arithmetic
• Existence of inverse
• Example: 5 has an inverse modulo 6
• Reason: 5 and 6 share no common factor other than 1
Modular arithmetic
• Existence of inverse
• Example: 9 has an inverse modulo 26
• Reason: 9 and 26 share no common factor other than 1
Modular arithmetic
• Existence of inverse
• Example: 8 has no inverse modulo 26
• Reason: 8 and 26 share 2 as a common factor
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Modular arithmetic
• Uniqueness (modulo 𝑛) of inverse
• Example: 5 has an inverse modulo 6
•
•
•
•
•
•
Reason: 5 and 6 share no common factor other than 1
5 is an inverse of 5 since 5 × 5 = 25 ≡ 1 (mod 6)
11 is also an inverse of 5 since 11 × 5 = 55 ≡ 1 (mod 6)
17 is also an inverse of 5 since 17 × 5 = 85 ≡ 1 (mod 6)
5, 11 and 17 are all congruent modulo 6
One inverse only in the sense of modulo 6
Modular arithmetic
• How to find an inverse?
• Trial-and-error
• Example: 5 has an inverse modulo 6
•
•
•
•
•
•
•
Reason: 5 and 6 share no common factor other than 1
Candidates: 1, 2, 3, 4 and 5
1 is not an inverse of 5: 1 × 5 = 5 is not congruent to 1 (mod 6)
2 is not an inverse of 5: 2 × 5 = 10 is not congruent to 1 (mod 6)
3 is not an inverse of 5: 3 × 5 = 15 is not congruent to 1 (mod 6)
4 is not an inverse of 5: 4 × 5 = 20 is not congruent to 1 (mod 6)
5 is an inverse of 5: 5 × 5 = 25 ≡ 1 (mod 6)
Modular arithmetic
• How to find an inverse?
• Euclidean algorithm
• Example: inverse of 13 modulo 74
• Target: find an expression 13𝑢 + 74𝑣 = 1 so that 13𝑢 = 1 − 74𝑣 ≡ 1 (mod 74) and hence
𝑢 is an inverse of 13 modulo 74
• Step 1: divide 74 by 13
Modular arithmetic
• How to find an inverse?
• Euclidean algorithm
• Example: inverse of 13 modulo 74
• Target: find an expression 13𝑢 + 74𝑣 = 1 so that 13𝑢 = 1 − 74𝑣 ≡ 1 (mod 74) and hence
𝑢 is an inverse of 13 modulo 74
• Step 1: divide 74 by 13
• Subsequent steps: divide the divisor of the previous division by the remainder of the
previous division until the remainder is 1
Modular arithmetic
• How to find an inverse?
• Euclidean algorithm
• Example: inverse of 13 modulo 74
• Target: find an expression 13𝑢 + 74𝑣 = 1 so that 13𝑢 = 1 − 74𝑣 ≡ 1 (mod 74) and hence
𝑢 is an inverse of 13 modulo 74
• Final step: inverse of 13 modulo 74 is -17 (or 57)
Numbers on the
Internet
GCNU 1025
Numbers Save the Day
Public-key & private-key cryptography
• Private-key cryptography: same key used for encryption and
decryption
•
•
•
•
Example: Caesar cipher and Vigenere cipher
Private key: secret between sender and receiver
Symmetric: same key in encryption and decryption
Potential risk: interception by third party during transfer of key
Public-key & private-key cryptography
• Private-key cryptography: same key used for encryption and
decryption
•
•
•
•
Example: Caesar cipher and Vigenere cipher
Private key: secret between sender and receiver
Symmetric: same key in encryption and decryption
Potential drawback: high number of keys needed in a network
Public-key & private-key cryptography
• Public-key cryptography: different keys used for encryption and
decryption
• Analogy: padlock example
• Open padlock made public
• Sender uses open padlock (public key) to secure message
• Receiver uses private key to unlock
Public-key & private-key cryptography
• Public-key cryptography: different keys used for encryption and
decryption
• Public key: known to public for encryption
• Private key: known to receiver only for decryption
• No potential risk of interception during key transfer
RSA algorithm
• Construction of a pair of public key and private key for public-key
cryptography
• Important ingredient for asymmetry: difficulty of factorization of
large number into prime factors
• Multiplying 2 big prime numbers to form large number: simple
• Example: what is the product of 1009 and 9973?
• Factorizing the product without knowing any of the primes: challenging
• Example: how to factorize 10062757?
• Tools: modular arithmetic and Euclidean algorithm
RSA algorithm
• Construction of a pair of public key and private key for public-key
cryptography
• Example: construction of a public key for others (for encryption) and
a private key for yourself (for decryption)
• Construction of public key
•
•
•
•
•
Choose two prime numbers (known to you only): p = 5 and q = 11
Product of the two primes (known to public): n = 55
Modulo (known to you only): m = (p – 1)(q – 1) = 4 x 10 = 40
Choose a number e (known to public) so that (e, m) = 1: e = 7
Public key: (n, e) = (55, 7)
RSA algorithm
• Construction of a pair of public key and private key for public-key
cryptography
• Example: construction of a public key for others (for encryption) and
a private key for yourself (for decryption)
• Construction of public key
• Public key: (n, e) = (55, 7)
• Modulo (known to you only): m = (p – 1)(q – 1) = 4 x 10 = 40
• Construction of private key
• Inverse d of e modulo m (known to you only) via Euclidean algorithm: inverse of 7
modulo 40 is 23
• Private key: (n, d) = (55, 23)
RSA algorithm
• Example (cont’): how to use the public key for encryption?
• Public key: (n, e) = (55, 7)
• Message: “OK”
• Step 1: convert message into numbers according to a rule
• “OK” converted into “14 10”
• Step 2: encryption by raising to the power of e modulo n
• “14 10” encrypted as “9 10”
RSA algorithm
• Example (cont’): how to use the private key for decryption?
• Private key: (n, d) = (55, 23)
• Received message: “9 10”
• Step 1: decryption by raising to the power of d modulo n
• “9 10” decrypted as “14 10”
• Step 2: convert numbers back into message
• “14 10” converted back into “OK”
RSA algorithm
• Padlock analogy revisited
• Open padlock (public key: (55, 7)) made public
• Sender uses open padlock (public key: (55, 7)) to secure message
• Receiver uses private key (55, 23) to unlock
RSA algorithm
• Example revisited: construction of a public key for others (for
encryption) and a private key for yourself (for decryption)
• Construction of public key
•
•
•
•
•
Choose two prime numbers (known to you only): p = 5 and q = 11
Product of the two primes (known to public): n = 55
Modulo (known to you only): m = (p – 1)(q – 1) = 4 x 10 = 40
Choose a number e (known to public) so that (e, m) = 1: e = 7
Public key: (n, e) = (55, 7)
• Construction of private key
• Inverse d of e modulo m (known to you only) via Euclidean algorithm: inverse of 7
modulo 40 is 23
• Private key: (n, d) = (55, 23)
• Security loophole: 55 is too easy to factorize!
RSA algorithm
• Example revisited: construction of a public key for others (for
encryption) and a private key for yourself (for decryption)
• Public key: (n, e) = (55, 7)
• Private key: (n, d) = (55, 23)
• Security loophole: 55 is too easy to factorize!
• Real-life example: very big n used for security reason
Announcement
• Assignment No.3: next week
• Coverage: Chapter 3
Numbers on the
Internet
-End-
Download