Skip to main content

šŸ›”ļø The Secret Meeting Room

MLS Explained Simply​

In 10 minutes: Understand why MLS matters for group messaging
No math yet: Just concepts explained like you're 5


šŸŽÆ Why Are You Here?​

You probably heard:

  • Group chats need better encryption!
  • MLS is the new standard for secure groups!
  • Signal is great but what about groups?

But what does that actually mean?

Let's make it simple:

šŸ“œ CURRENT GROUP CHATS
ā”œā”€ Like: Whispering in a crowded room
ā”œā”€ Problem: Someone might overhear
└─ Scary: All messages get leaked

šŸ›”ļø MLS GROUP CHATS
ā”œā”€ Like: Secret meeting room with soundproof walls
ā”œā”€ Solution: Only people inside can hear
└─ Relief: Your messages stay private

šŸ¤” So...What's the Problem?​

The Current Situation​

Let me explain with a story:


šŸŽ­ Story: Alice, Bob, and Charlie Want to Chat​

Alice, Bob, and Charlie want to chat securely as a group.

Problem: Eve (the attacker) is watching everything

Alice → Bob → Charlie (chain of whispers)
↓
[INTERNET - Eve is spying]
↓
Messages get read by Eve

Without encryption: Eve reads everything

Current solution (Signal): Each person encrypts to each other person:

Alice encrypts to Bob
Alice encrypts to Charlie
Bob encrypts to Alice
Bob encrypts to Charlie
Charlie encrypts to Alice
Charlie encrypts to Bob

That's 6 different encrypted messages for each message

Wow That's inefficient!


āš ļø The Problem: The n² Problem​

How Many Messages?​

Let's count how many separate encrypted messages you need:

Group SizeMessages Per Chat MessageFor 100 Messages
2 people1100
3 people6600
4 people121,200
5 people202,000
10 people909,000
100 people4,950495,000

See the problem?

For a group of 100 people:

  • Each message needs to be encrypted 4,950 times
  • That's almost 5,000 separate encryptions per message
  • For 100 messages, that's 495,000 encryptions

Mental Model:

Naive Group Encryption:
Each person encrypts to every other person

3 people:
Alice → Bob (encrypted)
Alice → Charlie (encrypted)
Bob → Alice (encrypted)
Bob → Charlie (encrypted)
Charlie → Alice (encrypted)
Charlie → Bob (encrypted)

= 6 encryptions per message 😱

✨ Enter MLS: The Solution​

What MLS Does Differently​

MLS uses a secret meeting room model instead of messaging each person individually.

What does that mean? Let me show you:


šŸ›”ļø The Secret Meeting Room Metaphor​

Think of it like this:

OLD WAY (Signal - Great for 2 people, bad for groups):​

Alice, Bob, Charlie want to chat:

Alice needs to encrypt to Bob AND Charlie
Bob needs to encrypt to Alice AND Charlie
Charlie needs to encrypt to Alice AND Bob

āŒ For 3 people = 6 separate encryptions per message
āŒ For 100 people = 4,950 separate encryptions per message

NEW WAY (MLS - Efficient for Any Size):​

Alice, Bob, Charlie want to chat:

1. Alice creates a Secret Meeting Room
2. Alice sends each person a VIP ticket to enter
3. Bob, Charlie use tickets to enter the room
4. Everyone shares one room
5. Alice whispers inside the room
6. Bob and Charlie hear her (they're in the room)
7. Eve is outside the room (can't hear anything)

āœ… For 3 people = 1 encryption (inside the room)
āœ… For 100 people = 1 encryption (inside the room)
āœ… Everyone can hear everyone (they're in the room)

🧩 How Is MLS Different?​

Key Difference #1: One Shared Secret​

FeatureSignal (per-pair)MLS (group)
What it doesEncrypts to each personShares one secret for group
Encryptions per messagen Ɨ (n-1)1
EfficiencyO(n²) slowO(n) fast
Best for2-person chatsGroups of any size
Mental modelPhone booths (many)Meeting room (one)

Mental model:

Signal = Phone booths
- Alice has a phone booth to call Bob
- Alice has a phone booth to call Charlie
- Bob has a phone booth to call Alice
- Bob has a phone booth to call Charlie
- Charlie has a phone booth to call Alice
- Charlie has a phone booth to call Bob
- Lots of separate conversations

MLS = Meeting room
- Alice, Bob, Charlie in one room
- Anyone in the room can speak
- Everyone inside hears
- Only one conversation

Key Difference #2: Efficient Group Management​

FeatureSignalMLS
Add memberNew X3DH handshake with everyoneSend them VIP ticket
Remove memberUpdate everyone's keysRe-key the room
Group chatsN/A (not designed for groups)Designed for 2-1000+

šŸŽ­ The Story Continues: Alice + Bob + Charlie + MLS​

Let's see how Alice, Bob, and Charlie use MLS:

Step-by-Step​

What Eve Sees​

EVE'S VIEW:
šŸ‘€ Alice → Bob → Charlie

She sees:
šŸŽŸļø VIP tickets → Can't read them (encrypted for Bob/Charlie)
šŸ”’ Encrypted messages → Can't decrypt them

Eve's thoughts:
šŸ’­ Bob used his VIP ticket to enter the room
šŸ’­ Charlie used his VIP ticket to enter the room
šŸ’­ Alice, Bob, Charlie are whispering in the room
šŸ’­ But I don't have a VIP ticket!
šŸ’­ I can hear people talking but can't understand!

Result: 😭 Eve can't read or hear the conversation

šŸŽÆ Key Concepts Summary​

Let's summarize what you just learned:

1. What is MLS?​

Simple answer: A way to have secure group chats that scales efficiently.

Technical answer: Messaging Layer Security protocol using ratchet trees for key distribution, providing forward secrecy and post-compromise security for groups.


2. Why Do We Need It?​

Current encryption (Signal, HTTPS):

  • Great for 2-person conversations
  • Inefficient for groups (n² problem)

MLS:

  • Scales to groups of 1000+ people
  • Uses O(n) instead of O(n²)
  • Uses ratchet trees for efficiency

3. How Is It Different from Signal?​

AspectSignalMLS
Best for2-person chatsGroups (2-1000+)
EfficiencyO(n²) encryptions per message1 encryption per message
Mental modelPhone boothsSecret meeting room
Key distributionX3DH per pairWelcome messages to group

4. The Secret Meeting Room Metaphor​

1. Alice creates a secret meeting room
2. Alice sends VIP tickets to Bob, Charlie
3. Bob, Charlie use tickets to enter the room
4. Everyone shares the same room
5. Anyone in the room can speak
6. Everyone inside hears
7. Eve is outside (can't hear)

āœ… Quick Quiz​

Question 1: Why do we need MLS instead of just using Signal for groups?​

Show Answer

Signal is designed for 2-person conversations. For groups, you'd need to encrypt your message separately for each person (n² problem). For a group of 100, that's 4,950 separate encryptions per message! MLS solves this by creating a secret meeting room where everyone shares one encrypted conversation instead of creating separate ones.


Question 2: What is the secret meeting room metaphor for MLS?​

Show Answer

The secret meeting room metaphor explains MLS:

  1. Alice creates the room - Generates group keys
  2. Sends VIP tickets - Welcome messages for new members
  3. Members enter with tickets - Bob and Charlie use welcome messages to join
  4. Everyone shares the room - All members have the same group secret
  5. Speak inside - Anyone in the room can send encrypted messages
  6. Eve is outside - Everyone outside the room can't hear anything

This is exactly how MLS works - it creates a shared group secret that members can use to encrypt messages efficiently


Question 3: How is MLS's efficiency different from naive group encryption?​

Show Answer

Naive (naive approach): Encrypt to each person separately

  • For 3 people = 6 encryptions per message
  • For 100 people = 4,950 encryptions per message
  • Complexity: O(n²) - grows very fast

MLS: One shared secret for the group

  • For 3 people = 1 encryption per message
  • For 100 people = 1 encryption per message
  • Complexity: O(n) - grows slowly

Result: MLS scales efficiently to large groups


šŸ“‹ Key Takeaways​

āœ… Signal works great for 2-person chats
āœ… Groups need different approach (n² problem)
āœ… MLS = Secret meeting room metaphor
āœ… VIP tickets = Welcome messages
āœ… Single encryption = Efficient for any size group
āœ… Ratchet trees = How MLS manages keys efficiently
āœ… Scales from 2 to 1000+ people


šŸš€ Where to Next?​

Now that you understand the big picture, let's learn why group messaging is so hard:

šŸ—£ļø Continue: The Whisper Game

We'll explore why group encryption is challenging using the simple whisper game mental model


Now you know what MLS is and why it matters. Next: Understanding the core problem with group messaging