Cryptographic Solutions Flashcards
Practice and study of writing and solving codes
Encryption to hide information’s true meaning
Cryptography
Converts plaintext to ciphertext
Provides data protection at rest, in transit, and in use
Encryption
Data States
Data At Rest
Data in Transit
Data in Use
Performs encryption or decryption
Algorithm (Cipher)
Essential for determining cipher output
Key
Uses a single key for both encryption and decryption
■ Often referred to as private key encryption
■ Requires both sender and receiver to share the same secret key
■ Offers confidentiality but lacks non-repudiation
■ Challenges with key distribution in large-scale usage
● More people means more sharing of the keys
Symmetric Encryption
Uses two separate keys
● Public key for encryption
● Private key for decryption
■ Often called “Public Key Cryptography”
■ No need for shared secret keys
■ Commonly used algorithms include Diffie-Hellman, RSA, and Elliptic Curve Cryptography (ECC)
■ Slower compared to symmetric encryption but solves key distribution challenges
Asymmetric Encryption
Combines both symmetric and asymmetric encryption for optimal benefits
■ Asymmetric encryption used to encrypt and share a secret key
■ Symmetric encryption used for bulk data transfer, leveraging the shared secret key
■ Offers security and efficiency
Hybrid Approach
Encrypts data bit-by-bit or byte-by-byte in a continuous stream
■ Uses a keystream generator and exclusive XOR function for encryption
■ Suitable for real-time communication data streams like audio and video
■ Often used in symmetric algorithm
Stream Cipher
Breaks input data into fixed-size blocks before encryption
● Usually 64, 128, or 256 bits at a time
■ Padding added to smaller data blocks to fit the fixed block size
■ Advantages include ease of implementation and security
■ Can be implemented in software, whereas stream ciphers are often used in hardware solutions
Block Cipher
Uses a 64-bit key (56 effective bits due to parity)
■ Encrypts data in 64-bit blocks through 16 rounds of transposition and substitution
■ Widely used from the 1970s to the early 2000s
DES (Data Encryption Standard)
(Symmetric Algorithm)
Utilizes three 56-bit keys
■ Encrypts data with the first key, decrypts with the second key, and encrypts again with the third key
■ Provides 112-bit key strength but is slower than DES
Triple DES (3DES)
(Symmetric Algorithm)
A symmetric block cipher with a 64-bit block size
■ Uses a 128-bit key, faster and more secure than DES
■ Not as widely used as AES
IDEA (International Data Encryption Algorithm)
(Symmetric Algorithm)
Uses symmetric encryption algorithm that encrypts and decrypts data using a single secret key
■ Supports 128-bit, 192-bit, or 256-bit keys and matching block sizes
■ Widely adopted and considered the encryption standard for sensitive unclassified information
■ Uses single key for both encryption and decryption process
■ Replaced DES and 3DES as the US government encryption standard
AES (Advanced Encryption Standard)
(Symmetric Algorithm)
A block cipher with key sizes ranging from 32 to 448 bits
■ Developed as a DES replacement but not widely adopted
Blowfish
(Symmetric Algorithm)
A block cipher supporting 128-bit block size and key sizes of 128, 192, or 256 bits
■ Open source and available for use
Twofish
(Symmetric Algorithm)
RC Cipher Suite (RC4, RC5, RC6)
Created by cryptographer, Ron Rivest
■ RC4 is a stream cipher with variable key sizes from 40 to 2048 bits, used in SSL and WEP
■ RC5 is a block cipher with key sizes up to 2048 bits
■ RC6, based on RC5, was considered as a DES replacement
Used for cryptographic key exchange and secure key distribution over public channels
● Vulnerable to man-in-the-middle attacks, requires authentication
● Commonly used in VPN tunnel establishment (IPSec)
Diffie-Hellman
(Asymmetric Algorithm)
Used for key exchange, encryption, and digital signatures
● Relies on the mathematical difficulty of factoring large prime numbers
● Supports key sizes from 1024 to 4096 bits
● Widely used in organizations and multi-factor authentication
RSA (Ron Rivest, Adi Shamir, Leonard Adleman)
(Asymmetric Algorithm)
Efficient and secure, uses algebraic structure of elliptical curves
● Commonly used in mobile devices and low-power computing
● Six times more efficient than RSA for equivalent security
Elliptic Curve Cryptography (ECC)
Variants include:
○ ECDH (Elliptic Curve Diffie-Hellman)
○ ECDHE (Elliptic Curve Diffie-Hellman Ephemeral)
○ ECDSA (Elliptic Curve Digital Signature Algorithm)
(Asymmetric Algorithm)
One-way cryptographic function that produces a unique message digest from an input
Hashing
Like a digital fingerprint for the original data
■ Always of the same length regardless of the input’s length
Hash Digest
Creates a 128-bit hash value
● Limited unique values, leading to collisions
● Not recommended for security-critical applications due to vulnerabilities
MD5 (Message Digest Algorithm 5)
(Hashing Algorithms)
○ Produces a 160-bit hash digest, less prone to collisions than MD5
○ Offers longer hash digests (SHA-224, SHA-256, SHA-348, SHA-512)
○ Uses 224-bit to 512-bit hash digests, more secure, 120 rounds of
computations
○ SHAE-256 is widely regarded as one of the most secure hashing algorithms due to its strong resistance to collision attacks and its large output size
SHA (Secure Hash Algorithm) Family
SHA-1 - 160-bit
SHA-2 - offers longer hash digests
SHA-3 - uses 2240-bit to 512-bit
(Hashing Algorithms)
Open-source competitor to SHA but less popular
Versions available:
○ 160-bit (Most common)
○ 256-bit
○ 320-bit
RIPEMD (RACE Integrity Primitive Evaluation Message Digest)
(Hashing Algorithms)
Checks message integrity and authenticity
● Utilizes other hashing algorithms (e.g., HMAC-MD5, HMAC-SHA1,
HMAC-SHA256)
HMAC (Hash-based Message Authentication Code)
(Hashing Algorithms)
Uses a hash digest encrypted with a private key
■ Sender hashes the message and encrypts the hash with their private key
■ Recipient decrypts the digital signature using the sender’s public key
■ Verifies integrity of the message and ensures non-repudiation
Digital Signatures
Utilized for digital signatures
Uses a 160-bit message digest created by DSS (Digital Security Standard)
DSA (Digital Security Algorithm)
(Digital Signature Algorithm)
Supports digital signatures, encryption, and key distribution
● Widely used in various applications, including code signing
RSA (Rivest-Shamir-Adleman)
(Digital Signature Algorithm)