Title: Codebreaking in Everyday Life
1Codebreaking in Everyday Life
John D Barrow
2(No Transcript)
310 x 10 x 10 x 10 seconds ? 2.75 hours
4(No Transcript)
5Trap-door Operations
QUICK to encode
SLOW to break
Big prime number x Big prime number very large
composite number
6(No Transcript)
7(No Transcript)
8Are there enough Postcodes to go round?
The Pattern is AB3 4CD 26?26?10?10?26?26
45,697,600 choices
UK population approximately 60,587,000 Approximate
ly 26,222,000 households and
28,500,500 expected by 2020
Enough for houses But not for
people!
9National Insurance Numbers(are not boring)
- Eg pattern is NA123456X
- 26?26?10?10?10?10?10?10?26 17.576 billion
- Population of the world is about 6.65 billion and
maybe 9 billion by 2050
10Stanley Milgrams (Other) Experiment (1967)
- Give many letters addressed to a Boston
stockbroker to random people in Omaha, Nebraska
and Wichita, Kansas with a profile of stockbroker - They were to send them on to an acquaintance who
they felt might know more about the stockbroker,
sign a roster and post a card (less junk mail in
those days!) - About 20 of Milgrams letters reached the
stockbroker - On average they took 6 reposting steps to get
there via the social network of friends (6.6)
11Small-World Networks
If you know 100 people and they know 100 others
then you are just one step away from 10,000
people N steps away from 102(N1) people World
population is 6.65 billion 109.8
2(N1) gt 9.8 when N exceeds 4
12Six Degrees of Separation
13Friends of Friends of Friends Are Important
- Close links (friends and family) are a lot like
you and know the sorts of things and people you
know. - More distant acquaintances are more likely to
know things and people that you do not. - The Prince and the pauper
14Average Path Length
- Erdös number of mathematicians
- Its a Small World After All
- Average Dist (ln N / ln K) 5.9
- where N total nodes and K friends per node.
- And K30 and N 108.8 10 ? world population
15Problems With NamesThe Soundex Phonetic System
(1918)
- Keep first letter of the name
- Delete a,e,i,o,u,h,y,w
- Assign numbers to the rest of the letters
- b,f,p,v 1
- c,g,j,k,q,s,x,z 2
- d,t 3 and l 4
- m,n 5 and r 6
- If two or more letters with same number are
adjacent in original name keep only the first - Keep only first 4 characters, make up to four
with 00s if needed - John Barrow ? Jn Br ? J5 B6 ? J500 B600
- Smith and Smyth ? S530
- Ericson, Erickson, Eriksen, Erikson ? E6225.
Robert, Rupert ? R163
16Check-Digit Codes
- To guard against transcription errors
- Catch naïve fraudsters
- Credit cards, tickets, passports, tax ID nos
- 889/899, 1112/112, 43/34,..
- Internal self-checking system to validate numbers
- Airline tickets 10 digits one check digit which
is remainder after dividing by 7 - 4851913640 693130521 x 7 3
- So ticket no. is 4851913640 3
17Simple Errors Can Cause Problems
Type Approx Frequency a by b 79 ab by
ba 10 abc by cba 1 aa by bb 0.5 a0
by 1a (a2,3,..) 0.5 aca by bcb 0.3
18 Banking Whats It All About?
19IBANs International Bank Account Numbers
GB82 WEST 1234 5698 7654 32 Country - cheque
no - bank - sort account no. 1. Move first 4
characters to the end 2. Replace letters by A10,
B11,Z35 3. Interpret digit string as a
decimal 4. Divide by 97 5. Valid IBANS give a
remainder 1. eg WEST 1234 5698 7654 32
GB82 ? 3214282912345698765432161182 1 mod 97
This is a valid IBAN
Moved from front
20Credit Cards and the Luhn Test
- 12 or 16 digits, for example
- 4000 1234 5678 9314
- L to R, double the digits in odd slots, add the
two if bigger than 9 (14 ? 5 etc) - 8 0 2 6 10 14 18 2
- ? 8 0 2 6 1 5 9 2
- Sum 33 original digits in even slots
- 826159200246834 60
- The total must be divisible by 10 for a valid
card - Card number 4000 1234 5678 9010 fails (sum 57)
- Catches all single digit errors, most adjacent
swops - (not 09/90 though)
- Invented by Peter Luhn at IBM in 1954
21Check validity
Fails !
Need to change the final check digit from 3 to 8
to validate the number This is a necessary, but
not a sufficient, condition for the card to be
valid!
22Universal Product Code
- Began in 1973 for grocery products
- now used for most retailed goods
- 12 digit number represented by bars
- for laser scanning
- Two strings of five between two single digits
- Type of product manufacturer
size/colour/model check digit
6 44209 42095 7
0,1,6,7,9 any 4 sale items 2 food by
weight 5 special offers/coupons 3 drugs,
health
233 474370 01631 7
Check digit ? Add
digits in odd positions 3 7 3 0 1 3
17 Multiply by 3 3 ? 17 51 Add digits in
even positions 51 4 4 7 0 6 1
73 Divide by 10 check digit is 10 minus the
remainder 7
24ISBN-10
Multiply each digit by its position from the
right. Add and check digit must make the sum
divisible by 11. If the remainder is 10 use X eg
for 0-19-280569-X the sum is 199 X. If X is 10
the total is 209 19 ? 11
ISBN-13
Is like UPC but multiplies even digits by 3
instead of odd ones. Check digit must make sum
divisible by 10.
25International Mobile Equipment Identity IMEI
- This is what you cancel when your phone is stolen
- Changing it is a criminal offence
- 14 digits check digit
- The software version IMEISV has 16 digits
2649015420323751?
Calculate check digit
IMEI 4 9 0 1 5 4 2 0 3 2 3 7 5 1 ?
Double Every Other 4 18 9 0 2 5 8 2 0 3 4 3 14 5 5 2
Sum 4 9 0 2 5 8 2 0 3 4 3 5 5 2 52 ?
27Check Digit Added
IMEI is 490154203237518
IMEI 4 9 0 1 5 4 2 0 3 2 3 7 5 1 ?
Double Every Other 4 18 ? 9 0 2 5 8 2 0 3 4 3 14 ? 5 5 2
Sum 4 9 0 2 5 8 2 0 3 4 3 5 5 2 52 8
Sum must be divisible by 10
28The General Picture
- Check digits are computed from a product code
a1a2a3a4..an by multiplying by weights
w1w2w3w4..wn and evaluating the dot product and
remainder on dividing by r - C r - (a1 ,a2 ,a3 ,an)?(w1,w2,w3 ,wn)
r - a?w (mod r) - UPC n 12, w (3,1,3,1), r 10
- EAN-8 n 7, w (3,1,3,1), r 10
- Airline n 10, w (1,1,1,1), r 7
- ISBN-10 n 9, w (10,9,8,7,2,1), r 11 and X
10 - ISBN-13 and EAN-13 n 12, w (1,3,1,3), r
10
29Sometimes You Dont Need Numbers