computer science 101 data encryption and computer networks
TRANSCRIPT
![Page 1: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/1.jpg)
Computer Science 101
Data Encryption
And Computer Networks
![Page 2: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/2.jpg)
Reading for This Week and Next Week
• Chapter 7 - Networks, the Internet and the Web
• Chapter 8 - Information Security
![Page 3: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/3.jpg)
The Problem
• Back in the old days, information was kept secure by locking the door to the computer room
• When computers are connected via networks and information can be transmitted, we need another way to secure it
• What happens when you send your credit card number to Amazon?
![Page 4: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/4.jpg)
Cryptography
• The science of secret writing – thousands of years old
• Encrypt plain text into a cipher text, using a cipher key
• Decrypt cipher text back into plain text, using a cipher key
![Page 5: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/5.jpg)
A Simple Algorithm: The Caesar Cipher
• Let S = an integer between 1 and 25
• Encode each letter in plain text by replacing it with the letter that is S positions to its right in the alphabet
• Shift the last S letters in a cycle to the first S letters
![Page 6: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/6.jpg)
Example Encryption
• Let S = 3
• Then A encodes as D, B as E, X as A, etc.
• ARMY encodes as DUPB
![Page 7: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/7.jpg)
Problem With Caesar Cipher
• Because there are only 25 possible keys, one can decode a cipher text by brute force, by trying all possible keys (a computer makes that easy)
• Caesar cipher is a stream/substitution cipher, wherein each letter of plain text generates a letter of cipher text
• The structure of the plain text is preserved in the structure of the cipher text
![Page 8: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/8.jpg)
Block Cipher
• Encode a block of plaintext letters as a block of cipher text letters
• More difficult for a cryptanalyst (i.e., a hacker) to detect the patterns
![Page 9: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/9.jpg)
The Key: An Encryption Matrix
A two-dimensional grid of characters
Each successive pair of characters in the plaintext maps to a pair of characters in the ciphertext
![Page 10: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/10.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?
![Page 11: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/11.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?%Y
![Page 12: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/12.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?%Y!4
![Page 13: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/13.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?%Y!4bm
![Page 14: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/14.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?%Y!4bmPb
![Page 15: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/15.jpg)
Example Encryption
Plaintext: Ken LambertCiphertext: I?%Y!4bmPbt
Last step does not use the matrix, because the plaintext contains an odd number of characters
![Page 16: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/16.jpg)
Decryption
Plaintext: Ken LambertCiphertext: I?%Y!4bmPbt
The same matrix and algorithm are used to decrypt or generate the plaintext from the ciphertext
![Page 17: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/17.jpg)
The Algorithm
Set the ciphertext string to the empty stringFor each pair of characters in the plaintext string Locate the positions of each character in the matrix If the positions are in the same row or column, then Append the two characters in reverse order to the ciphertext string else Locate the opposite corners of the imaginary rectangle formed by these positions Append the two characters at these corners to the ciphertext stringIf the number of characters in the plaintext string is odd Append its last character to the ciphertext stringReturn the ciphertext string
![Page 18: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/18.jpg)
Other Cryptography Issues
• The key must be sent with the message
• So, the key must be encrypted
• Send a public key to encrypt
• Keep a different, private key to decrypt
![Page 19: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/19.jpg)
Network Transmissions
• Sender and receiver have different responsibilities
• Sender must encode information provided by user
• Receiver must notify sender to resend if some info is lost or corrupted
• Receiver must decode info for user
![Page 20: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/20.jpg)
Encoding for Network Transmission
• Translate text to binary form
• Encrypt binary form if necessary
• Place each code in a packet
• Add a parity bit and a label to the packet
![Page 21: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/21.jpg)
The ASCII Character Set
• American Standard Code for Information Interchange
• A set of 128 numbers, ranging from 0 to 127
• Each character maps to a number
![Page 22: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/22.jpg)
The ASCII Character Set 0 1 2 3 4 5 6 7 8 9
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT 1 LF VT FF CR SO SI DLE DC1 DC2 DC3 2 DC4 NAK SYN ETB CAN EM SUB ESC FS GS 3 RS US SP ! " # $ % & ` 4 ( ) * + , - . / 0 1 5 2 3 4 5 6 7 8 9 : ; 6 < = > ? @ A B C D E 7 F G H I J K L M N O 8 P Q R S T U V W X Y 9 Z [ \ ] ^ _ ' a b c 10 d e f g h i j k l m 11 n o p q r s t u v w 12 x y z { | } ~ DEL
ASCII 32 to 126 are codes for the printing characters
ASCII 0 to 31 and 127 are codes for control characters
Row # + column # locates character and specifies code
Thus, the ASCII code for ‘A’ is 65, etc.
![Page 23: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/23.jpg)
Step 1: Translate Character to Binary
‘A’ translates to ASCII 65
ASCII 65 translates to 01000001 binary
We use 8 bits for each character
![Page 24: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/24.jpg)
Step 2: Encrypt
Subtract an offset and shift bits a certain distance to the left or right
We’ll subtract 1 and shift the bits to the right by 1
Subtract 1: 01000001 01000000
Shift right by 1: 01000000 00100000
The encoded ‘A’ is ASCII 32, or ‘ ’ (the space)
![Page 25: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/25.jpg)
Step 3: Place Code in a Packet
Each packet contains • two character codes• a parity bit• a label that identifies the position of the packet in the original message• If there is no character available, we use ASCII for the null character (0) to hold the place in the packet
![Page 26: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/26.jpg)
Step 3: Place Code in a Packet
Null (00000000) encrypts as 11111111
00100000 + 11111111 = 0010000011111111 (odd # of 1s)
Add parity bit: 0010000011111111 0
Add label (first of four packets):
00 0010000011111111 0
![Page 27: Computer Science 101 Data Encryption And Computer Networks](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649ca65503460f949687d8/html5/thumbnails/27.jpg)
Receiving and Decoding
• Wait for all labeled packets to be placed in correct order
• Check parity bit for corrupted data
• Decrypt to binary
• Decode to ASCII and then to text