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.