Introduction to Cryptography - D334

¡Supera tus tareas y exámenes ahora con Quizwiz!

Methods to combat DHE_EXPORT Downgrade attacks on Diffie Hellman include:

(1) Disabling Export Cipher Suites (2) Using (Ephemeral) Elliptic-Curve Diffie-Hellman (ECDHE) (3) Use a strong group.

The two main methods for key exchange in symmetric cryptography is to

(1) use a key exchange algorithm (such as Diffie-Hellman) (2) encrypt the key with the recipient's public key, pass it to the other side and then allow the recipient use their private key to decrypt it i.e., via public key encryption.

Certificates receive a period of validity designation

(timeframe the cert is valid and should be trusted) at creation via a start and end date or expiration date.

Cipher Feedback (CFB)

-Converts the block cipher into a self-synchronizing stream cipher. -Current block takes output of the XOR ⊕ process vs from the cipher stage of the previous block (difference between CFB and OFB).

Counter Mode (CTR)

-Converts the block cipher into a stream cipher. -Generates a counter value and a nonce, and encrypts this, in order to EX-OR with the plain text block. -The advantage of CTR is that each block is processed independent of the others, facilitating ability to conduct parallel processing of blocks. i.e., feedback from other stages to feed into the current one is not required.

Output Feedback (OFB)

-Converts the block cipher to a synchronous stream output. -Current block takes output from the cipher stage vs from the output of the XOR process of the previous block (difference between CFB and OFB). -The first stage takes the data blocks and X-ORs it with the encrypted version of the IV value. The output of the first stage encryption is then feed into the next stage, and encrypted, with the output being X-OR'ed with the second block.

Cipher Block Chaining (CBC)

-Minor step up from ECB with the incorporation of an initialization vector for the first block. -Results of encryption from previous block is XOR'd with plaintext of the current block. That result is input into to encryption process of the current block.

Electronic Code Book (ECB)

-Most basic, weak, and unsecure mode -Each block is processed separately -No Salt or IV is used and the same key will be used to encrypt each block. This means if a given plaintext is encrypted in ECB and results in a given ciphertext, that same ciphertext will be output EVERY TIME the same plaintext is encrypted.

symmetric stream encryption

-involves encrypting one bit at a time, i.e., a synchronous stream -is often much faster than block and can typically be applied in real-time applications.

Symmetric block encryption

-involves grouping data into blocks and encrypting the individual blocks -padding is used to fill blocks to operating size when the data does not fit perfectly.

Symmetric block ciphers

-manage how blocks of data are processed through block cipher mode implementations. For instance, one may choose to use the DES block cipher configured with ECB as the mode of operation.

Common X.509 Certificate file types

.cer (used with both PEM and DER formats), others - .crt, .pem, .key (common with PEM formats) and .der (common with DER formats)

XOR the following 0101110101010111 1001100000111010 ------------------

1100010101101101

UTF-16

16- bit values, up to 65,536 characters

Playfair Cipher 4

5 × 5 matrix containing the alphabet less the letter J. Cipher/decipher process consists of a set of rules outlining use of column and row combinations.

ASCII

8-bit values, up to 256 characters

Belongs to when an object is within a set

One-time pad cypher8

Cypher Code mapping that is only used once. Advantage: it is essentially unbreakable. Disadvantage: it takes lots of work as you would have to generate the pad to be used, each time.

Common Block Cipher Modes

Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feedback (CFB) Output Feedback (OFB) Counter (CTR) Mode

An improved solution over RSA is

Elliptic Curve which is often used in key exchange methods (such as with Elliptic Curve Diffie Hellman - ECDH) and for the creation of digital signatures (Elliptic Curve Digital Signature Algorithm - ECDSA)

Rail Code Cipher 2

Employs a method to scramble text by writing it in a sequence across a number of rails.

Morse Code cipher 5

Encoding method, rather than a cipher, that works by translating characters into sequences of dots (.) and dashes (-)

AESCrypt

Encrypt individual files and encrypt full disks with options such as Bitlocker and FileVault

Diffie Hellman has three groups (bases):

Group 1 Group 3 or Group 5, which vary in the size of the prime number used.

Hardware vs Software encryption

Hardware encryption is more efficient than software encryption.

Common Certificate Types

IKE PKCS #7 PKCS #10 RSA signatures X.509v3

A ∩ B

Intersection: in both A and B

BIFID Cipher 3

Makes use of a grid and which maps the letters into numeric values.

Pig Pen Cipher 1

Mono- alphabetic substitution cipher that makes use of mapping plaintext characters to graphical characters rather than to alphabetic ones. i.e. A=(pick a symbol), vs A=(pick a letter). Disadvantage: once the mapping is known, it is difficult to keep the message secret.

Ceasar Cipher6

Mono-alphabetic substitution cipher known as "shift" cipher. Involves plaintext being replaced by a letter some fixed number of positions down the alphabet. i.e., a Caesar Cipher using a shift of +3 would mean a plaintext letter A would result in a ciphertext letter D (a shift of three positions to the right in the alphabet)

Two major encoding schemes for X.509 certificates

PEM (Base64 ASCII text) format, and DER (binary) format

Vigenere Cipher 7

Polyalphabetic cipher that involves using a different mapping, based on a keyword, for each character of the cipher. An advantage of this type of cipher is that the same plaintext character is likely to be coded to different mappings, depending on the position of the keyword, making guessing more difficult.

Block Encryption

RC2(40 bit key size) RC5(Variable block size) IDEA DES 3DES AES (Rijndael) Blowfish twofish

Symmetric key-based encryption -Typical Methods

RC2- 40 bit key size 64 bit block RC4- (Stream Cipher)- Used in SSL and WEP RC5- (Variable Key size, 32, 64, or 128 bit block size) AES- (128, 192 or 256 bit key size, 128 bit block size) DES- (56 bit key size. 64 bit Block size) 3DES- (112 bit key size, 64 bit block size)

stream encryption

RC4 Chacha

asymmetric key-based encryption -typical methods

RSA DSA El Gamal

Common Certificate Applications:

Server authentication, Client authentication, Code signing, Email signing, Time stamping, IP security, Windows hardware driver verification, Smart card logon, Document signing, Public key transport

does not belong to when an object is not in a set

Public Key

encryption (asymmetric cryptography) makes use of a key pair (one public, one private) to perform encryption and decryption. If a given key in a key pair is used for encryption, only the opposite key in that key pair can perform the reverse decryption.

Secret Key

encryption (symmetric Cryptography) makes use of a single secret key for both encryption and decryption.

Only the public key should be distributed or shared

exchanged via digital signature, posted on a site etc

The Paillier cryptosystem supports

homomorphic encryption

CFB, OFB, CTR

implementations essentially allow the block cipher to operate like a stream cipher.

Encryption

in simplest terms is changing plaintext into ciphertext

DHE_EXPORT Downgrade Attack

involves forcing the key negotiation process to default to 512-bit prime numbers. For this the client only offers DHE_EXPORT for the key negotiation, and the server, if it is setup for this, will accept it. The precomputation of 512-bit keys with g values of 2 and 5 (which are common) are within a reasonable time limits.

Trusted Platform Module (TPM)

is a dedicated processor that handles hardware-level encryption; allows the use of full disk encryption on a hard drive in a manner that minimizes the impact on system performance. TPM contains the encryption keys.

HMAC

is a message authentication code (MAC) that can be used to verify the integrity and authentication of the message. It involves hashing the message with a secret key, and thus differs from standard hashing, which is purely a one-way function

El Gamal

is a public key method that is used in both encryption and digital signing. It is used in many applications and uses discrete logarithms.

Hardware Security Module (HSM)

is a tamper-evident and intrusion-resistant physical device that safeguards and manages cryptographic keys and provides cryptographic processing.

Diffie-Hellman

is a widely used key exchange algorithm used to exchange the secret key in symmetric cryptography.

Frequency Analysis

is cipher cracking methodology that involves identifying patterns and variations in the probability of codes. i.e. a three-letter ciphered text combination spotted at the beginning of a string too often could tip us off that those three letters correlate the letters THE in the English alphabet.

One-time pad

is considered to be unbreakable since it only uses its cipher code once.

A weakness of one-way hashing

is that the same piece of plaintext will result in the same ciphertext (unless salt is applied).

A weakness discovered in Diffie Hellman is that

it is fairly easy to precompute values for two popular Diffie-Hellman parameters (and which use the DHE_EXPORT cipher set).

Diffie-Hellman methods have been used extensively to create a shared secret key but suffers from

man-in-the-middle attacks, where an attacker sits in-between and passes the values back and forward and negotiates two keys: one between a sender and the attacker, and the other between the receiver and the attacker. An improved method is to use public key encryption

Entropy

measures level of unpredictability; in encryption relates to the degree of uncertainty of the encryption process.

collision

occurs when two different input values that produce the same hash signature

RSA has a heavy overhead

on processor loading and is not well suited for embedded systems (as the power drain can be high, along with heavy requirements for processing and memory).

with intermediate authentication

only part of the conversation between the entities is authenticated

Polyalphabetic

refers to the mapping of our alphabet to a number of cipher alphabets. This approach added a bit of complexity to early cryptosystems.

subset subset has fewer elements or equal to the set

|

such that

Hashing involves

taking a variable length input and producing a fixed length output (message digest).

An important concept within key exchange is the usage of forward secrecy, which means

that a compromise of the long-term keys will not compromise any previous session keys.

RSA leverages

the fact that products of large prime numbers are difficult to factorize as basis of its encryption.

Salting

the process of adding an initialization vector to the ciphering process to change its operation and ensure that the ciphertext does not give the original plaintext when played back.

The strength of Diffie-Hellman relates to

the size of the prime number bases which are used in the key exchange.

With end-to-end authentication

the user authenticates themselves to the end service

A ∪ B

union (objects that belong to set A or set B)

Diffie-Hellman is a widely used key exchange algorithm

used to exchange the secret key in symmetric cryptography.

Bitcoins use Elliptic Curve cryptography

with 32-byte private keys (which is a random number) and 64-byte public keys, on a secp256k1 curve.

Important factors with hash signatures are:

▪ Collision. This is where another match is found, no matter the similarity of the original message. Collision attacks exploit this. ▪ Similar context. This is where part of the message has some significance to the original and generates the same hash signature. This is defined as a Pre-image attack. ▪ Full context. This is where an alternative message is created with the same hash signature and has a direct relation to the original message. This is an extension to a Pre-image attack.

The main stages of key/certificate management include:

▪ Initialization. This includes registration, key pair generation, certificate creation and certificate/key distribution, certificate dissemination, and key backup. ▪ Issued. This includes certificate retrieval, certificate validation, key recovery and key update. ▪ Cancellation. This includes certificate expiration, certificate revocation, key history and key archiving.

The main advantages of Elliptic Curve methods are:

▪ Much smaller keys. The prime number P is normally only 160 bits, and much smaller than in RSA. This considerably speeds up the encryption process. ▪ Creation of the curves are more difficult than generating prime numbers, which makes it more difficult to crack than RSA. ▪ They can be used to factorize values, such as finding the prime number factors within RSA.

4 Basic steps for obtaining a digital certificate signed by a trusted Certificate Authority (CA):

▪ Step 1: Requester generates a key-pair (one public, one private). Public key is provided to the CA. ▪ Step 2: Requester creates and submits a Certificate Signing Request (CSR), along with requester's public key to the CA. ▪ Step 3: CA generates the digital certificate for the requester. ▪ Step 4: CA signs the requester's digital certificate with the CA's own private key, and issues certificate to requester.

The 5 basic steps to send a confidential, authenticated message that incorporates hashing ensure integrity are

➢ Step 1: [Sender signs] Sender produces a hash of the message and encrypts it using sender's private key [this is considered "signing" when hashing is incorporated in the process] ➢ Step 2: [Sender Encrypts] Sender packages up [original message + encrypted hash] and encrypts both with the receiver's public key --------------------MESSAGE SENT----------------- ➢ Step 3: [Receiver Decrypts] Receiver decrypts packaged up [original message + encrypted hash] with receiver's private key ➢ Step 4: [Receiver verifies] Receiver decrypts the encrypted hash with sender's public key ➢ Step 5: [Receiver verifies] Receiver computes hash of the original message and compares to the now decrypted original hash to ensure they match.

The 4 basic steps to send a digitally signed message using public key cryptography include:

➢ Step 1: [Sender signs] Sender signs message with sender's own private key ➢ Step 2: [Sender Encrypts] Sender encrypts message with receiver's public key ---------------MESSAGE SENT-------------------------- ➢ Step 3: [Receiver Decrypts] Receiver decrypts message with receiver's own private key ➢ Step 4: [Receiver verifies] Receiver verifies message with sender's public key

Decryption

The process of converting a ciphertext into plaintext.

Hashed One Time Password (HOTP)

This allows a new unique passcode to be created each instance, based on a counter value and an initial seed.

One Time Passwords (OTP)

This allows a new unique password to be created for each instance, based on an initial seed

Timed one time password (TOTP)

This allows for a new unique passcode to be created for each instance, based on an initial seed and for a given time period.

True Random Number Generators (TRNGs)

This method generates a true random number and uses some form of random process. One approach is to monitor the movements of a mouse pointer on a screen or from the pauses between keystrokes. Overall, the method is generally slow, especially if it involves human interaction, but is non-deterministic and aperiodic.

Pseudo-Random Number Generators (PRNGs)

This method repeats the random numbers after a given time (periodic). They are fast and are also deterministic and are useful in producing a repeatable set of random numbers.

Work Factor

This represents the time and effort required to break a cryptography system.

identity checking and key protection are

Two main applications of public key encryption

Enigma Machine -Cypher 10

Used a polyalphabetic substitution cipher, which did not repeat within a reasonable time period, along with a secret key. For the cracking of the Enigma cipher, the challenge was thus to determine both the algorithm used and the key. Enigma's main weakness, though, was that none of the plain text letters could be ciphered as itself.

Four-square cipher9

Uses four 5 × 5 matrices arranged in a square, are where each matrix contains 25 letters for encoding and decoding operations.

Example Use: Passing PKI public keys in a verifiable way.

When a digital certificate is created, (whether self-generated/signed or by a trusted well-known Certificate Authority (CA) such as Verisign or Entrust, the certificate will contain the public key of the certificate owner. So, generating and securely sharing a certificate that can be validated by a trusted source is a viable option for public key transport in PKI.

Dictionary-type attack

a brute force analysis

With ephemeral key methods

a different key is used for each connection, and, again, the leakage of any long-term key would not cause all the associated session keys to be breached.

Cramer-Shoup

a public key encryption method that is an extension of El Gamal but adds a one way hashing method which protects against an adaptive chosen ciphertext attack.

Apache-defined APR1 format

addresses the problems of brute forcing an MD5 hash, and basically iterates the hash value 1,000 times.

Passwords which use a hashed value can be cracked

as either with rainbow tables or brute force.

Two types of symmetric encryption

block and stream

Public-key encryption is an excellent method of keeping data secure

but it is often too slow for real-time communications.

Mono-alphabetic

c code or substitution is where a single mapping from our alphabet to a cipher alphabet is created. Many early cryptosystems used this.

Homomorphic Encryption

can perform mathematical operations on ciphered values i.e., before decryption.

Combination vs. Permutation

combinations = not concerned with the order//permutations = all options considered including sequence.

Hashing

describes one-way or irreversible encryption used for protecting the integrity of data and in authentication applications. Hashing is normally used to either hide the original contents of a message (such as hiding a password), or to check the integrity of data.

Rainbow Attack

The method of knowing the mapping between the hashed values and the original data


Conjuntos de estudio relacionados

Chemistry - Electrolytes and Osmolality

View Set

Chapter 12 Test Review Worksheet

View Set

Chapter X: Human Resource Management

View Set

Grounding and Bonding Terms and Conditions

View Set