Hash Functions, Authentication, & Block Chain Flashcards
A widely used asymmetric encryption algorithm that uses two keys: a public key for encryption and a private key for decryption. It’s commonly used in secure communications, such as email and digital signatures.
Example: Encrypting a message with the recipient’s public key and decrypting it with their private key.
RSA - Rivest-Shamir-Adleman
A symmetric encryption algorithm used to secure data by converting plaintext into ciphertext using a secret key. AES is widely used for encrypting sensitive data, offering different key lengths (128, 192, and 256 bits).
Example: Encrypting files on a hard drive to protect sensitive information.
AES - Advanced Encryption Standard
A set of standards developed to promote the use of public-key cryptography for secure communication and data protection. PKCS defines formats and protocols for digital signatures, encryption, and certificate management.
PKCS - Public Key Cryptography Standards
A family of cryptographic hash functions designed to produce a fixed-size hash value from an input of any size. It’s used for ensuring data integrity and is a key component in digital signatures and certificates.
SHA - Secure Hash Algorithm
A widely used cryptographic hash function that produces a 128-bit hash value. It’s commonly used for data integrity checks but is now considered insecure due to vulnerabilities to collision attacks.
Example: Checking the integrity of a downloaded file by comparing its hash to the expected value.
MD5 - Message Digest Algorithm 5
The latest member of the SHA family, designed to provide a higher level of security and resistance to vulnerabilities such as collision attacks. It uses a different cryptographic structure (Keccak) compared to earlier SHA versions.
Example: Using this to hash a password for secure storage with better collision resistance.
SHA-3 - Secure Hash Algorithm 3
A cryptographic hash function designed to produce a 160-bit hash value. It’s less commonly used than SHA but provides a reliable option for ensuring data integrity.
RIPEMD-160 - RACE Integrity Primitives Evaluation Message Digest 160-bit
A construction for creating a message authentication code (MAC) using a cryptographic hash function and a secret key. It ensures data integrity and authenticity by verifying that the data has not been tampered with and is from a trusted source.
HMAC - Hash-based Message Authentication Code
A hash function used to detect errors in data. It generates a short, fixed-size checksum from a data set, which is then used to check for accidental changes or corruption during transmission or storage.
CRC - Cyclic Redundancy Check
A random value added to passwords before hashing to ensure that identical passwords generate different hash values. It protects against rainbow table attacks and helps secure stored passwords.
Salt
A starting value used in cryptographic algorithms, particularly in pseudo-random number generators (PRNGs), to produce unpredictable results. The seed ensures that the sequence of random numbers can be reproduced if needed.
Seed
A secret value added to a password before hashing, similar to salt, but it is kept private and not stored alongside the hashed password. Peppering provides an additional layer of security to protect against attacks like brute force and dictionary attacks.
Pepper
A random or pseudorandom value used in cryptography to ensure that the same plaintext input does not always produce the same ciphertext when encrypted with the same key. It adds unpredictability to the encryption process.
IV - Initialization Vector
A technique used to make a weak key more secure by increasing its length or complexity through repeated hashing or encryption. It helps protect against brute force attacks by slowing down the key derivation process.
Key Stretching
A cryptographic method used to verify the authenticity and integrity of a message or document. It uses asymmetric encryption where the sender signs the data with their private key, and the recipient can verify it using the sender’s public key.
Digital Signature
A widely used asymmetric algorithm for creating digital signatures, which ensures the authenticity and integrity of a message or document. It is often used in secure communications and digital certificates.
Example: Signing software packages to confirm their origin and ensure they haven’t been tampered with.
DSA - Digital Signature Algorithm