Cryptography Flashcards
Caesar Cipher
To encrypt a message, you shift each letter of the alphabet three places to the right.
Caesar is a substitution cipher, that is mono-alphabetic
Also known as the ROT3 (rotate 3) cipher
Easy to crack from a type of attack called frequency analysis that finds the most common letters in the encrypted text and experiment with different substitutions.
Enigma Cipher
[Germany] A machine used a series of 3 to 6 rotors to implement an extremely complicated substitution cipher and the only way to decrypt a message was by using a similar machine with the same roto settings used by the transmitting device
Ultra Effort
[Allied Forces/Poland] Reconstructed an Enigma prototype and shared their findings with the British and Americans and successfully broke the Enigma code in 1940
Purple Machine
[Japan] Used during WW2, was broken by Americans prior to the end of the war mostly due to the fact that the Japanese used formal, repetitive message formats
Cryptography & Confidentiality
Data remains private while:
At Rest: data stored in a permanent location awaiting access
In Transit: data being transmitted across a network between two systems
In Use: data that is stored in the active memory of a computer system where it may be accessed by a process running on the system
Cryptosystems for Confidentiality:
- Symmetric Cryptosystems: uses a shared key available to all users of the cryptosystem
- Asymmetric Cryptosystems: individual combos of public and private keys for each user
Cryptography & Integrity
Integrity ensures data was not altered without authorization
Messages integrity is enforces through the use of encrypted message digests, known as digital signatures.
- the recipient of the message simply verifies that the message’s digital signature is valid, ensuring that the message was not altered in transit
Both public and secret key cryptosystems
Cryptography & Authentication
Authentication verifies the claimed identity of system users
Challenge-response authentication protocol is used when two systems communicating using shared-secret code
Cryptography & Nonrepudiation
Nonrepudiation provides assurance to the recipient that the message was originated by the sender and not someone disguising as the sender - and prevents the sender from claiming they never sent the message
Public key/asymmetric cryptosystems is the only thing that offers nonrepudiation as opposed to secret key/symmetric key which do not guarantee it
Plaintext message
The message before it is put into coded form, and is represented by the letter P
Ciphertext
The sender uses a cryptographic algorithm to encrypt the plaintext message and produce a ciphertext message represented by the letter C.
The recipient uses a predetermined algorithm to decrypt the ciphertext to retrieve the plaintext message
Cryptographic Algorithms
Every algorithm has a specific key space, which is the range of values that are valid for use as a key for a specific algorithm, and is defined by its bit size.
Bit size is the number of binary bits (0s and 1s) in the key.
The key space is the range between the key that has all 1s and the key that has all 1s. OR the key space is the range of numbers from 0 to 2n, where n is the bit size of the key.
Algorithms rely on keys, which are large binary numbers.
Kerchoff’s Principle
AKA Kerchoff’s assumption, a crypto system should be so secure that the enemy could know everything but the key, the crypto system should still be secure.
Misc Crypto Terms
Private/Secret Key System: everyone uses a single shared key
Public Key System: everyone has their own pair of keys
Cryptovariables AKA cryptographic keys
Cryptography: the art of creating and implementing secret codes and ciphers
Cryptanalysis: the study of methods to defeat codes and ciphers
Cryptology = cryptography + cryptanalysis
Cryptosystems: specific implementations of a code or cipher in hardware and software
Boolean Mathematics
Boolean math defines the rules used for the bits and bytes that form the nervous system of any computer
Computers rely on electrical currents being on or off
- ON = TRUE
- OFF = FALSE
Logical Operations
AND: only true if both values are the same
OR: only true if one value is true
NOT: only requires one input value; reverses the input
XOR: is true only if one of the values are true; if both values are true, or both values are false - it’s false