A hands-on tool to explore the fundamentals of modern and historical cryptography.
Cryptography Playground
Cryptography is the practice and study of techniques for secure communication in the presence of third parties. This playground lets you interact with several key cryptographic concepts. Use the dropdown below to select a function and experiment with it.
AES (Advanced Encryption Standard)
AES is a symmetric encryption algorithm, meaning the same key is used for both encryption and decryption. It is the standard for encrypting data at rest and is widely used across the industry for its security and performance.
Where is this used? You see AES in action when you encrypt a file on your computer (like with FileVault or BitLocker), connect to a secure Wi-Fi network (WPA2/3), or use a VPN.
RSA (Rivest–Shamir–Adleman)
RSA is an asymmetric algorithm that uses a pair of keys: a public key for encryption and a private key for decryption. The public key can be shared freely, while the private key must be kept secret. This allows anyone to send an encrypted message, but only the intended recipient can decrypt it.
Where is this used? RSA is a cornerstone of asymmetric (public-key) cryptography. Your browser uses it to secure websites with HTTPS, establishing a secure connection by exchanging a symmetric key that's been encrypted with the server's public key.
Cryptographic Hashing
A hash function is a one-way function that takes an input of any size and produces a fixed-size string of characters, which is a hash. It is computationally infeasible to reverse the process to find the original input. This is used to verify data integrity and for password storage.
Where is this used? Hashing is used to verify data integrity. When you download a file, the provided checksum (like SHA-256) is a hash. You can hash the downloaded file on your end to ensure it wasn't corrupted or tampered with. It's also used to securely store passwords.
Avalanche Effect Visualizer (SHA-256)
Notice how changing a single character completely and unpredictably changes the resulting hash. This is a critical property of secure hash functions.
Digital Signatures
A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. It provides a recipient with reason to believe that the message was created by a known sender (authentication), that the sender cannot deny having sent the message (non-repudiation), and that the message was not altered in transit (integrity).
Where is this used? Your operating system uses digital signatures to verify that a software update is from the authentic developer (like Apple or Microsoft) and hasn't been tampered with by a malicious actor.
Weak & Deprecated Cryptography
As technology advances, cryptographic algorithms and protocols that were once considered secure can become vulnerable. It's crucial to understand why certain methods are no longer recommended for use. Below are examples of algorithms and protocols that are now considered weak or deprecated due to known vulnerabilities.
DES/3DES
Small key size (56-bit) makes it vulnerable to brute-force attacks with modern hardware.
MD5/SHA-1
Vulnerable to collision attacks, meaning different inputs can produce the same hash.
RC4
Has several biases and vulnerabilities that can be exploited to recover the key.
SSL v2/v3
Susceptible to attacks like POODLE. Superseded by the more secure TLS protocols.
WEP
Contained serious design flaws that allow for key recovery in minutes.
PPTP
Known vulnerabilities in its authentication protocols make it insecure for VPNs.
The Future of Cryptography
The field of cryptography is constantly evolving to counter new threats, especially the rise of quantum computing, which threatens to break many of our current encryption standards.
Post-Quantum Cryptography (PQC)
Developing new algorithms (like lattice-based or hash-based cryptography) that are secure against attacks from both classical and quantum computers.
Homomorphic Encryption
Allows computation on encrypted data without decrypting it first. This could revolutionize cloud computing privacy by allowing services to process sensitive data while it remains encrypted.