Applied Cryptography

Loading concept...

🔐 Applied Cryptography: The Secret Language of the Internet

Imagine you have a secret clubhouse. You and your best friend want to pass notes, but nosy people might try to read them. What if you could turn your messages into a secret code that ONLY you two can understand? That’s exactly what cryptography does for computers!


🎭 The Magic Mailbox Analogy

Throughout this guide, we’ll use one simple idea: cryptography is like a magic mailbox system.

  • Your message = a letter you want to send
  • Encryption = putting the letter in a special locked box
  • The key = the only way to open that box
  • Decryption = unlocking the box to read the letter

Let’s explore how this magic works!


🔑 Symmetric Encryption: One Key for Everything

What Is It?

Symmetric encryption is like having one magic key that both locks AND unlocks your secret box.

Simple Example:

  • You and your friend both have the SAME key
  • You lock your secret message with your key
  • Your friend unlocks it with their identical key
  • Nobody else can read it!

How It Works

Your Message: "HELLO"
     ↓
[Magic Key: 12345]
     ↓
Encrypted: "XJWPS"
     ↓
[Same Key: 12345]
     ↓
Back to: "HELLO"

Real Life Example

When you save a password-protected file on your computer:

  1. You type a password (the key)
  2. The file gets scrambled
  3. Only typing the SAME password unlocks it

⚠️ The Problem

How do you safely give your friend the key? If you mail it, someone might steal it! This is called the key distribution problem.


🔓🔒 Asymmetric Encryption: Two Keys Are Better Than One

The Brilliant Idea

What if you had TWO different keys?

  • Public Key = A special LOCK that anyone can use
  • Private Key = The ONLY key that opens that lock

The Magic Mailbox

Think of it like this:

  1. You put a special mailbox outside your house
  2. ANYONE can drop letters in (public key = the slot)
  3. ONLY YOU have the key to open it (private key)

How It Works

graph TD A["Friend writes message"] --> B["Uses YOUR public key"] B --> C["Message is locked"] C --> D["Sent to you"] D --> E["You use YOUR private key"] E --> F["Message unlocked!"]

Real Life Example

When you visit a secure website:

  1. The website shares its public key with everyone
  2. Your browser uses it to encrypt your password
  3. Only the website can decrypt it with its private key

🛡️ Encryption Algorithms: The Recipe Books

What Is an Algorithm?

An algorithm is like a recipe. It tells the computer EXACTLY how to scramble and unscramble data.

Famous Symmetric Algorithms

Algorithm What It’s Like Used For
AES Super strong vault Everything! Files, messages, WiFi
DES Old rusty lock Outdated, don’t use
3DES Three rusty locks Better, but still old
ChaCha20 Fast sports car Mobile phones, streaming

Famous Asymmetric Algorithms

Algorithm What It’s Like Used For
RSA Classic bank vault Secure websites, email
ECC Tiny but mighty Mobile devices, Bitcoin

Example: AES in Action

Original: "MY SECRET"
Key: "password123..."
AES Magic: ✨🔮✨
Result: "7Hx9kL2mN..."

The scrambled text looks like complete nonsense—and that’s the point!


#️⃣ Hash Functions: The One-Way Street

What Is Hashing?

A hash function is like a meat grinder:

  • You put in a steak → You get ground beef
  • You CANNOT turn ground beef back into a steak!

Key Properties

  1. One-way: Can’t reverse it
  2. Same input = Same output: Always!
  3. Tiny change = Completely different output

Example

Input: "Hello"
SHA-256 Hash: 185f8db32271fe25f...

Input: "hello" (just lowercase!)
SHA-256 Hash: 2cf24dba5fb0a30e2...

Just changing ONE letter creates a TOTALLY different hash!

Common Hash Algorithms

Name Output Size Status
MD5 128 bits ❌ Broken, don’t use
SHA-1 160 bits ⚠️ Weak, avoid
SHA-256 256 bits ✅ Strong, use this!
SHA-3 Variable ✅ Newest, very strong

🔐 Hashing and Password Security

The Big Problem

Websites can’t store your actual password. What if hackers break in?

The Smart Solution: Hash + Salt

graph TD A["Your Password: cat123"] --> B["Add Random Salt: xK9m"] B --> C["Combined: cat123xK9m"] C --> D["Hash It!"] D --> E["Stored: 8f2a9c7b..."]

What Is Salt?

Salt is random text added to your password BEFORE hashing:

  • Makes every hash unique
  • Even if two people use “password123”
  • Their stored hashes are DIFFERENT!

When You Login

  1. You type your password
  2. Website adds your unique salt
  3. Creates the hash
  4. Compares with stored hash
  5. Match? You’re in!

Real World Example

If a hacker steals a database:

  • Without salt: They can crack passwords quickly
  • With salt: Each password takes forever to crack!

🤝 TLS Handshake: The Secret Hello

What Is TLS?

TLS (Transport Layer Security) is how your browser and websites agree on how to talk secretly.

The Handshake Dance

Think of it like a secret club greeting:

graph TD A["🖥️ Browser: Hello! I speak these secret codes"] --> B["🌐 Server: Hello! Let's use THIS code] B --> C[🌐 Server: Here's my ID card + public key"] C --> D["🖥️ Browser: Let me verify that ID..."] D --> E[🖥️ Browser: Here's a secret number, encrypted] E --> F["🤝 Both: We now share a secret key!"] F --> G["🔒 Everything after this is encrypted!"]

Step by Step

  1. Client Hello: Your browser says what encryption it knows
  2. Server Hello: Website picks the best option
  3. Certificate: Website proves its identity
  4. Key Exchange: They create a shared secret
  5. Done!: All future messages are encrypted

Why This Matters

Without TLS handshake:

  • Anyone could pretend to be your bank
  • Hackers could read your passwords
  • Shopping online would be dangerous

🌐 HTTPS: The Green Padlock

HTTP vs HTTPS

HTTP HTTPS
HyperText Transfer Protocol Same + Secure
Like a postcard anyone can read Like a sealed envelope
❌ No encryption ✅ TLS encryption
🔓 Not safe for secrets 🔒 Safe for passwords

How HTTPS Works

graph TD A["You type www.bank.com"] --> B["Browser connects"] B --> C["TLS Handshake happens"] C --> D["Identity verified"] D --> E["Secure tunnel created"] E --> F["🔒 All data encrypted"]

The Padlock Icon

When you see 🔒 in your browser:

  • The website has a valid certificate
  • Your connection is encrypted
  • (But it doesn’t mean the site is trustworthy!)

Real Life Example

When you shop online:

  1. You go to https://shop.com
  2. Browser does TLS handshake
  3. You enter credit card number
  4. It travels as scrambled nonsense
  5. Only the shop can unscramble it

🎯 Putting It All Together

Here’s how everything connects when you visit a secure website:

graph TD A["You visit https://mybank.com"] --> B["TLS Handshake starts"] B --> C["Asymmetric encryption exchanges keys"] C --> D["Symmetric encryption begins"] D --> E["You type password"] E --> F["Password hashed on server"] F --> G["Compared to stored hash+salt"] G --> H[Match! You're logged in securely]

🏆 Key Takeaways

Concept One-Line Summary
Symmetric Encryption One key locks and unlocks
Asymmetric Encryption Public key locks, private key unlocks
Encryption Algorithms Recipes for scrambling data (use AES, RSA)
Hash Functions One-way fingerprints (use SHA-256)
Password Security Always hash + salt passwords
TLS Handshake Secret greeting to start secure talk
HTTPS HTTP + TLS = Safe browsing

🚀 You Did It!

You now understand the secret language of the internet! Every time you see that little padlock 🔒, you’ll know there’s a whole dance of handshakes, keys, and clever math happening to keep your secrets safe.

Remember:

  • 🔑 Symmetric = One shared key
  • 🔐 Asymmetric = Public + Private keys
  • #️⃣ Hashing = One-way fingerprint
  • 🤝 TLS = The secure handshake
  • 🔒 HTTPS = Your browsing armor

Now go forth and browse securely! 🎉

Loading story...

Story - Premium Content

Please sign in to view this story and start learning.

Upgrade to Premium to unlock full access to all stories.

Stay Tuned!

Story is coming soon.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Interactive Preview

Interactive - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Interactive - Premium Content

Please sign in to view this interactive content and start learning.

Upgrade to Premium to unlock full access to all interactive content.

Stay Tuned!

Interactive content is coming soon.

Cheatsheet Preview

Cheatsheet - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Cheatsheet - Premium Content

Please sign in to view this cheatsheet and start learning.

Upgrade to Premium to unlock full access to all cheatsheets.

Stay Tuned!

Cheatsheet is coming soon.

Quiz Preview

Quiz - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Quiz - Premium Content

Please sign in to view this quiz and test your knowledge.

Upgrade to Premium to unlock full access to all quizzes.

Stay Tuned!

Quiz is coming soon.

Flashcard Preview

Flashcard - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.

Flashcard - Premium Content

Please sign in to view flashcards and reinforce your learning.

Upgrade to Premium to unlock full access to all flashcards.

Stay Tuned!

Flashcards are coming soon.