Codebreaking in Everyday Life John D Barrow. 10 x 10 x 10 x 10 seconds  2.75 hours.

Slides:



Advertisements
Similar presentations
Chapter 16: Check Digit Systems, Continued
Advertisements

Identification Numbers
Numbers in Our Pockets GCNU 1025 Numbers Save the Day.
The Binary Numbering Systems
Sociology and CS Philip Chan. How close are people connected? Are people closely connected, not closely connected, isolated into groups, …
Math for Liberal Studies.  None of the methods we have investigated so far can detect transposition errors  In this section we will investigate new.
Chapter 2 Parity checks Simple codes Modular arithmetic.
MAT 1000 Mathematics in Today's World Winter 2015.
MAT 1000 Mathematics in Today's World Winter 2015.
Identification Numbers
Summary of lecture 4 We are accustomed to count like 1,2,3,4,5,6,7,8,9,10,11,12,… This is called counting in base 10 – the second digit tells us how many.
PrasadDigital Roots1 VEDIC MATHEMATICS : Digital Roots/Sums T. K. Prasad
Mathematics in Management Science
Chapter 16: Identification Numbers Lesson Plan
More to Learn Check digit –It is used to check whether a number is valid. –Both ISBN and Hong Kong Identity Card numbers contain a check digit for data.
Professor Koon ISE 370 Barcodes. Professor Koon ISE 370 Code Reading Technology  Original Barcode Readers Contact Wand.
Digital Logic Chapter 2 Number Conversions Digital Systems by Tocci.
Method for verifying a credit card number: Example:
MAT 1000 Mathematics in Today's World Winter 2015.
RNJ 10/02/091 3 Computing System Fundamentals 3.6 Errors Prevention and Detection.
1. Copyright © 2006 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Polynomials CHAPTER 5.1Exponents and Scientific Notation 5.2Introduction.
Identification Numbers and Error Detection Meredith Wachs.
What is it? It is an applications driven course that is based upon the study of events that occur in small, or discrete, chunks. Discrete concepts are.
Wong Wai Ling, Lam Pui Ki Identification number  clearly identify a person or a thing Check digit  an extra digit for the purpose of error.
1 JavaScript 4 User Input Validation. 2 Input Validation One of the most useful applications of JavaScript is input validation Scripts in the page can.
Section 8 – Ec1818 Jeremy Barofsky March 31 st and April 1 st, 2010.
Modular Arithmetic, The Codabar System, and applications Tomás Cometto and Daniel Stokley Linear Systems 5/1/06.
Fault Tolerance CDA 5140 Spring 06 Everyday FT. Background Use of check digits for error detection on everyday applications used extensively but most.
Check Digit Schemes Jerzy Wojdyło Southeast Missouri State University May 13, 2002.
Lecture 12.  The ISBN 10-digit uses a reverse weighting system: multiply the first digit by 10, the second by 9, the third by 8 and so on until the check.
Chapters 16 & 17 Sarah Cameron 18 March  Review of Modular Arithmetic  Identification Numbers ZIP Codes Bar Codes  Binary Codes  Encryption.
Checking data GCSE ICT.
Spring 2015 Mathematics in Management Science Identification Numbers Data Security Check Digits UPCs, Routing Nos, Bar Codes Personal Data.
Ways to Check for Divisibility Dividing By 1 All numbers are divisible by 1.
Lecture Delete all occurrences of h and w. 2. Assign numbers to the remaining letters as follows: a) Vowels, including y, have value 0. b) B, f,
AS computing Validation and verification. Introduction It is important to maintain the integrity of any database of information. Any data item must always.
MAT 105 Spring  An identification number is a sequence of letters and/or numbers that identifies an object, person, place, or concept  The number.
Barcodes! Felipe Voloch These notes and the barcode program are available at /barcode.html.
CIT PowerPoint presentation Group 4. Unit 1, Chapter 2 Basic Concept on Data DATA AND INFORMATION What is data? Data consists of all sorts of unorganised.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
Ways to Check for Divisibility Dividing By 1 All numbers are divisible by 1.
Joseph Kirtland Department of Mathematics Marist College
Review of Data Capture. Input Devices What input devices are suitable for data entry? Keyboard Voice Bar Code MICR OMR Smart Cards / Magnetic Stripe cards.
IGCSE ICT Stock Control.
CS:4980:0005 Peer-to-Peer and Social Networks Fall 2015 Introduction.
Check Digits Tanli Su. Introduction -identification numbers are used to easily identify people, products, books, accounts, credit cards, driver's licenses,
Copyright © 2011 Pearson Education, Inc. Polynomials CHAPTER 5.1Exponents and Scientific Notation 5.2Introduction to Polynomials 5.3Adding and Subtracting.
Ways to Check for Divisibility Dividing by 2 All even numbers are divisible by 2 Even numbers are numbers that end with either 2, 4, 6, 8, or 0.
Implementation of Public Key Encryption Algorithms
The Big Picture Things to think about What different ways are there to collect information automatically? What are the advantages and disadvantages of.
Topics In Social Computing (67810) Module 1 Introduction & The Structure of Social Networks.
GRAPH AND LINK MINING 1. Graphs - Basics 2 Undirected Graphs Undirected Graph: The edges are undirected pairs – they can be traversed in any direction.
MAT199: Math Alive Error corretcing and compression Ian Griffiths Mathematical Institute, University of Oxford, Department of Mathematics, Princeton University.
DATA COLLECTION Data Collection Data Verification and Validation.
Chapter 16: Identification Numbers Lesson Plan
Hash tables Hash table: a list of some fixed size, that positions elements according to an algorithm called a hash function … hash function h(element)
Keeper 8: UPC Codes S.A.S. #12 1 – 3 Credit Cards S.A.S. #
Modular Arithmetic 7th Grade Lesson Plan
Chapter 16: Introduction
The Digital Revolution
Credit Cards UPC Codes.
Objectives TO UNDERSTAND THAT CAPTURING DATA IS VALIDATED AND VERIFIED TO CHECK THAT IT IS REASONABLE AND CORRECT.
CH 9.2 : Hash Tables Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and.
Fundamentals of Data Representation
How Credit Card Numbers are Generated
CH 9.2 : Hash Tables Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and.
Chapter 16: Check Digit Systems, Continued
Graph and Link Mining.
Chapter 16: Identification Numbers Lesson Plan
Method for verifying a credit card number:
Presentation transcript:

Codebreaking in Everyday Life John D Barrow

10 x 10 x 10 x 10 seconds  2.75 hours

Trap-door Operations QUICK to encode SLOW to break Big prime number x Big prime number = very large composite number

Are there enough Postcodes to go round? The Pattern is AB3 4CD 45,697,  26  10  10  26  26 = 45,697,600 choices UK population approximately 60,587,000 26,222,000 Approximately 26,222,000 households and 28,500,500 28,500,500 expected by 2020 Enough for houses But not for people!

National Insurance Numbers (are not boring) Eg pattern is NA123456X Eg pattern is NA123456X 26  26  10  10  10  10  10  10  26 = billion 26  26  10  10  10  10  10  10  26 = billion Population of the world is about 6.65 billion and maybe 9 billion by 2050 Population of the world is about 6.65 billion and maybe 9 billion by 2050

Stanley Milgram’s (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 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!) 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 Milgram’s letters reached the stockbroker About 20% of Milgram’s letters reached the stockbroker On average they took 6 reposting ‘steps’ to get there via the social network of friends (6.6) On average they took 6 reposting ‘steps’ to get there via the social network of friends (6.6)

Small-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 10 2(N+1) people World population is 6.65 billion = (N+1) > 9.8 when N exceeds 4

“Six Degrees of Separation”

Friends 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. 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. More distant acquaintances are more likely to know things and people that you do not. The Prince and the pauper The Prince and the pauper

Average Path Length Erdös number of mathematicians Erdös number of mathematicians It’s a Small World After All It’s a Small World After All Average Dist = (ln N / ln K) = 5.9 Average Dist = (ln N / ln K) = 5.9 where N = total nodes and K = friends per node. And K=30 and N = = 10%  world population

Problems With Names The Soundex Phonetic System (1918) Keep first letter of the name Keep first letter of the name Delete a,e,i,o,u,h,y,w Delete a,e,i,o,u,h,y,w Assign numbers to the rest of the letters Assign numbers to the rest of the letters b,f,p,v = 1 b,f,p,v = 1 c,g,j,k,q,s,x,z = 2 c,g,j,k,q,s,x,z = 2 d,t = 3 and l = 4 d,t = 3 and l = 4 m,n = 5 and r = 6 m,n = 5 and r = 6 If two or more letters with same number are adjacent in original name keep only the first 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 Keep only first 4 characters, make up to four with 00s if needed John Barrow  Jn Br  J5 B6  J500 B600 John Barrow  Jn Br  J5 B6  J500 B600 Smith and Smyth  S530 Smith and Smyth  S530 Ericson, Erickson, Eriksen, Erikson  E6225. Robert, Rupert  R163 Ericson, Erickson, Eriksen, Erikson  E6225. Robert, Rupert  R163

Check-Digit Codes To guard against transcription errors To guard against transcription errors Catch naïve fraudsters Catch naïve fraudsters Credit cards, tickets, passports, tax ID nos Credit cards, tickets, passports, tax ID nos 889/899, 1112/112, 43/34,….. 889/899, 1112/112, 43/34,….. Internal self-checking system to validate numbers Internal self-checking system to validate numbers Airline tickets 10 digits + one check digit which is remainder after dividing by 7 Airline tickets 10 digits + one check digit which is remainder after dividing by = x = x So ticket no. is So ticket no. is

Simple Errors Can Cause Problems TypeApprox Frequency a by b79% ab by ba10% abc by cba 1% aa by bb0.5% a0 by 1a (a=2,3,..)0.5% aca by bcb0.3%

Banking – What’s It All About? Banking – What’s It All About?

IBANs International Bank Account Numbers GB82 WEST GB82 WEST Country - cheque no - bank - sort – account no. 1. Move first 4 characters to the end 2. Replace letters by A=10, B=11,…Z=35 3. Interpret digit string as a decimal 4. Divide by Valid IBANS give a remainder = 1. eg WEST GB82  = 1 mod 97 This is a valid IBAN Moved from front

Credit Cards and the Luhn Test 12 or 16 digits, for example: 12 or 16 digits, for example: L to R, double the digits in odd slots, add the two if bigger than 9 (14  5 etc) L to R, double the digits in odd slots, add the two if bigger than 9 (14  5 etc)  Sum = 33 + original digits in even slots Sum = 33 + original digits in even slots = 60 The total must be divisible by 10 for a valid card Card number fails (sum = 57) Catches all single digit errors, most adjacent swops (not 09/90 though) (not 09/90 though) Invented by Peter Luhn at IBM in 1954

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! Fails ! Check validity

Universal 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 ,1,6,7,9 = any 4 = sale items 2 = food by weight5 = special offers/coupons 3 = drugs, health

Check digit ? Add digits in odd positions: = 17 Multiply by 3: 3  17 = 51 Add digits in even positions: = 73 = 7 Divide by 10: check digit is 10 minus the remainder = 7

ISBN-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 X the sum is 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.

International Mobile Equipment Identity IMEI This is what you cancel when your phone is stolen This is what you cancel when your phone is stolen Changing it is a criminal offence Changing it is a criminal offence 14 digits + check digit 14 digits + check digit The software version IMEISV has 16 digits The software version IMEISV has 16 digits

? IMEI ? DoubleEveryOther418 = =552 Sum ? Calculatecheckdigit

IMEI is IMEI ? DoubleEveryOther418  552 Sum Sum must be divisible by 10 CheckDigitAdded

The General Picture Check digits are computed from a product code a 1 a 2 a 3 a 4 …..a n by multiplying by weights w 1 w 2 w 3 w 4 …..w n and evaluating the dot product and remainder on dividing by r Check digits are computed from a product code a 1 a 2 a 3 a 4 …..a n by multiplying by weights w 1 w 2 w 3 w 4 …..w n and evaluating the dot product and remainder on dividing by r C = r - (a 1,a 2,a 3,…a n )  (w 1,w 2,w 3,…w n ) = r - a  w (mod r) C = r - (a 1,a 2,a 3,…a n )  (w 1,w 2,w 3,…w n ) = r - a  w (mod r) UPC : n = 12, w = (3,1,3,1…), r= 10 UPC : n = 12, w = (3,1,3,1…), r= 10 EAN-8: n = 7, 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 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-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 ISBN-13 and EAN-13: n = 12, w = (1,3,1,3…), r = 10

Sometimes You Don’t Need Numbers