Steganography
mask existence of message
Cryptography
mask content of message
Kerckhoff's Principle
security of system depends on keeping the key secret, not algorithm
Transposition Cipher
letters change position, but keep identify
Andy's Dopey Transposition Cipher
write plaintext vertically in set # of rows
Substitution Cipher
letters keep position, but change identity
Monoalphabetic Substitution Cipher
1-1 mapping of symbols in plaintext to cipher text
Caesar Shift Cipher
shift alphabet a certain # of places
MSC w/ keyphrase
pick keyphrase -> remove duplicate letters/spaces -> start alphabet @ last letter of keyphrase
Frequency Analysis
statistical properties of letters
cipher
symbol to symbol substitution
code
symbol to word substitution
nomenclator
symbol to letters & words
MSC w/ homophones
one to many mapping, assign more symbols to more frequent letters to even out frequency
one to one mapping
each symbol in plaintext maps to single symbol in ciphertext
one to many mapping
symbols in plaintext can map to more than one symbol in ciphertext
many to many (polyalphabetic) mapping
symbols in plaintext map to more than one symbol in ciphertext & vice versa
Vigenere Cipher
many to many mapping using square table w/ all possible caesar shift ciphers
Babbage-Kasiski Method
breaks vigenere cipher, find common factor of distances between each repetition in ciphertext
one-time pad ciphers
key is as long as ciphertext & randomly generated
Book cipher
Use well known text to encrypt and decrypt
Binary Transposition Cipher
transpose each pair of bits (switch places)
binary substitution cipher (XOR)
line up plaintext w/ keyphrase -> if digits are the same write 0, if different write 1
Modular Arithmetic
x (mod y) = remainder of x/y
one way functions
easy to compute in forward direction, but hard to reverse
modular exponentiation
z = y^x (mod p)
Diffie-Hellman key exchange
public = y & p, secret = a & b (solves key distribution problem)
symmetric cipher
encryption key = decryption key
asymmetric key
encryption & decryption key are different
RSA
2 one way functions: product of large primes & modular exponentiation
fixed-length code
each symbol is represented by same # of bits
minimal fixed-length code
smallest possible fixed-length code (to be able to represent ALL letters of alphabet)
variable length codes
different symbols may be assigned representations w/ different lengths
prefix-free codes
there can be no case in which the entire representation for one symbol is a prefix of the representation of another
huffman coding
optimal code, tree representation
lossless compression
no info is lost during compression (reversing the process recovers info you started w/)
lossy compression
info is lost during compression (no reversing process can recover lost info)
spectral test
frequency analysis on different combos of symbols -> see whether results have distribution we would expect of random data
spectral test: level 1
distribution of single bits
spectral test: level 2
distribution of pairs of bits
spectral test: level 3
distribution of triplets of bits
checksum code
8 bit representation of sum to catch any errors
sum (mod 2^N)
equation to break up checksum if sum is > 8 bits, N = # of bits
parity bits
error detection, won't catch any two-bit errors, 8th bit = sum of 7 bits (mod 2)
luhn algorithm
credit card checksum, won't catch transposition errors between 0 & 9
ISBN codes
10 digit error detecting, 2 methods, catches all single digit & transposition errors (but can't correct)
hamming (7 ,4)
3 tests, catches & fixes all single-bit errors within a 7-bit block, d = data bit, p = parity bit
method 1 to check ISBNs
starting from RIGHT, multiply each number with their place in the sequence. Check that Y(mod 11) = 0
method 2 to check ISBNs
starting from the LEFT, multiply each number with their place in the sequence, last digit is the check sum. Check that Y(mod 11) = check digit
test 1 and 2 fail, test 3 passes
D1 is wrong
test 1 and 3 fail, test 2 passes
D2 is wrong
test 2 and 3 fail, test 1 passes
D3 is wrong
tests 1, 2 and 3 fails
D4 is wrong
Phonetics
study of speech sounds
Phonology
study of the rules governing speech sound distribution
Morphology
study of words and their components
Syntax
study of the organization of words into phrases and sentences
Semantics
study of meaning: words, phrases, sentences
Pragmatics
study of meaning in context