WHITEPAPER

Arc Protocol v2.0 — Powered by libsignal

Arc Protocol

Sicherheits-Whitepaper

Version 2.0 — April 2026 · Atlas Associates Inc. · Public

Abstract

Arc ist ein datenschutzorientierter Messenger auf Basis des Signal-Protokolls, erweitert um Ed25519-Signaturen (AEGIS), clientseitige Sender-Anonymisierung und BLE-Mesh-Offline-E2EE.

Arc bietet Ende-zu-Ende-Verschlüsselung (E2EE) in jedem Plan kostenlos. Sicherheit steht nie hinter einer Paywall.

1. Designprinzipien

E2EE für alle

Vollständige Verschlüsselung in jedem Plan. Keine Paywall für Sicherheit.

Post-Quanten-Bereitschaft

Hybrides klassisches + PQC zum Schutz vor zukünftigen Quantencomputern.

Zero-Trust-Architektur

Der Server sieht niemals Klartextinhalte.

Keine Hintertüren

Keine Regierung kann die Verschlüsselung kompromittieren. Durch kryptographisches Design erzwungen.

2. Kryptographische Grundlage

KomponenteAlgorithmusStandardSchlüsselgröße
Key Exchange (Classical)X25519 ECDHRFC 7748256-bit
Key Exchange (Post-Quantum)ML-KEM-1024 (via libsignal)FIPS 203Level 3
Message EncryptionAES-256-GCMNIST SP 800-38D256-bit
Message AuthenticationXEdDSA (libsignal)Signal XEdDSA spec256-bit
Key DerivationHKDF-SHA256RFC 5869256-bit output
Chain Key DerivationHMAC-SHA256RFC 2104256-bit
Protocol BaseSignal ProtocolOpen specification

Arc uses libsignal-client v0.65.2 (Rust, via FFI) — the same library used by Signal Messenger — for core protocol operations.

3. PQXDH: Hybrider Schlüsselaustausch

Quantencomputer, die X25519 brechen können, könnten in 10-15 Jahren existieren. "Jetzt ernten, später entschlüsseln"-Angriffe bedeuten, dass heute erfasste verschlüsselte Daten in Zukunft entschlüsselt werden könnten. Arc begegnet dem durch die Kombination von klassischem X25519 mit Post-Quanten ML-KEM-1024 — derselbe Ansatz, den Signal im September 2023 eingeführt hat.

Alice → Bob:
1. Fetch Bob's PreKey Bundle (Identity + Signed PreKey + One-Time PreKey + PQ PreKey)
2. 4× X25519 DH computations
3. ML-KEM-1024.Encaps(Bob's PQ Public Key) → (pq_ciphertext, pq_shared_secret)
4. Root Key = HKDF-SHA256(DH1‖DH2‖DH3‖DH4‖pq_shared_secret)
5. Send: Alice's keys + PQ ciphertext (1,088 bytes) + encrypted message

Ein Angreifer muss sowohl X25519 als auch ML-KEM-1024 brechen, um den Schlüsselaustausch zu kompromittieren.

ParameterWert
Public Key1,184 bytes
Secret Key2,400 bytes
Ciphertext1,088 bytes
Shared Secret32 bytes
NIST Security LevelLevel 3 (AES-192 equivalent)
NIST StandardFIPS 203 (August 2024)

4. Double Ratchet: Vorwärtsgeheimnis

Nach der Sitzungseinrichtung über PQXDH verwenden alle nachfolgenden Nachrichten den Double-Ratchet-Algorithmus, der Vorwärtsgeheimnis und Einbruchswiederherstellung bietet.

DH Ratchet (direction change):
  New Root Key = HKDF-SHA256(current_root_key, X25519_DH_output)

Symmetric Ratchet (per-message):
  Message Key  = HMAC-SHA256(chain_key, 0x01)
  Next Chain   = HMAC-SHA256(chain_key, 0x02)

Every message uses a unique, independently derived key. Chain keys are immediately deleted after deriving the next key. Maximum 1,000 skipped message keys cached per session.

5. AES-256-GCM: Nachrichtenverschlüsselung

Jede Nachricht wird mit einem einzigartigen Message Key aus dem Double Ratchet mittels AES-256-GCM authentifizierter Verschlüsselung verschlüsselt.

Ciphertext = AES-256-GCM.Encrypt(
  key:   message_key (32 bytes),
  nonce: random (12 bytes, never reused),
  aad:   ratchet_public_key ‖ prev_chain_length ‖ message_number,
  plaintext: message content
)

Per-message overhead: nonce (12B) + auth tag (16B) = 28 bytes

6. AEGIS: Nachrichtenauthentifizierung

ARCS WICHTIGSTES UNTERSCHEIDUNGSMERKMAL

AEGIS bietet Ed25519-Digitalsignaturen pro Nachricht. Weder Signal noch WhatsApp signieren einzelne Nachrichten.

EigenschaftBeschreibung
Absender-AuthentifizierungKryptographischer Nachweis, dass ein bestimmter Benutzer die Nachricht gesendet hat
ManipulationserkennungJede Änderung nach der Signierung wird erkannt
NichtabstreitbarkeitDer Absender kann das Senden der Nachricht nicht abstreiten
XEdDSA Signing (via libsignal):
  payload   = senderId ‖ "|" ‖ timestamp ‖ "|" ‖ content
  signature = XEdDSA.Sign(payload, X25519_private_key)
  → 64 bytes attached to message
  (Converts X25519 key to Ed25519 internally — no separate Ed25519 key needed)

Verification:
  XEdDSA.Verify(payload, signature, sender_X25519_public_key)
  → verified | failed | noSignature

7. Sealed Sender: Absender-Anonymität

Sealed Sender verhindert, dass der Server weiß, wer eine Nachricht gesendet hat. Signals Implementierung verwendet ein Absenderzertifikat und Zustellungs-Token. Arc verwendet einen einfacheren ephemeren X25519-ECDH-Umschlag ohne serverseitige Token-Validierung.

Sender:
1. Generate ephemeral X25519 keypair
2. DH = X25519(ephemeral_private, recipient_identity_public)
3. AES_Key = HKDF-SHA256(DH, info="Arc Sealed Sender v1")
4. Envelope = AES-256-GCM(senderId + "\0" + payload, AES_Key)

→ Sealed Message = ephemeral_pub(32B) ‖ nonce(12B) ‖ ciphertext ‖ mac(16B)

Available for 1:1 chats where both participants have the Intelligence plan.

8. Gruppenverschlüsselung: Sender Keys

Arc verwendet den Sender-Key-Mechanismus des Signal-Protokolls für effiziente Gruppenverschlüsselung.

Encryption (libsignal group_encrypt):
  Chain Key → Message Key → AES-256-GCM  (libsignal internal)
  HMAC signature                          (libsignal internal)
  → Output: SenderKeyMessage bytes

Decryption (libsignal group_decrypt):
  Signature verify → Replay detect → Decrypt (libsignal internal)

All crypto operations delegated to libsignal — no custom primitives.

9. Schlüsselverwaltung

SchlüsselAlgorithmusLebensdauerSpeicher
Identity KeyX25519Account lifetimePlatform Secure Storage
Signing KeyXEdDSA (libsignal)90-day rotationPlatform Secure Storage
Signed PreKeyX25519Weekly rotationPlatform Secure Storage
One-Time PreKeyX25519Single usePlatform Secure Storage
PQ PreKeyML-KEM-1024Single usePlatform Secure Storage (via libsignal)

Private keys are stored in iOS Keychain / Android EncryptedSharedPreferences. Never in Hive, SharedPreferences, plain files, or cloud storage.

Elixir PreKey Server

PreKey bundles (Signed PreKey, One-Time PreKeys, PQ PreKeys) are managed by an Elixir-based PreKey server that handles bundle distribution, one-time key depletion tracking, and automatic replenishment signaling to clients.

10. Key Sync: Multi-Gerät

Arc uses independent key sets per device (no primary/linked hierarchy). To decrypt messages from the original device on a new device, users scan a QR code containing an ephemeral X25519 public key. Both devices perform ECDH, derive an AES-256-GCM key via HKDF, and securely transfer identity keys. Session TTL: 5 minutes.

11. BLE Mesh: Offline-E2EE

Arcs BLE-Mesh-Netzwerk ermöglicht E2EE-Kommunikation ohne Internet — einzigartig unter den großen Messengern.

12. Bedrohungsmodell

AngreiferFähigkeitGegenmaßnahme
Passive ObserverIntercepts all trafficE2EE: all content encrypted
Active MITMModifies trafficAES-GCM auth + XEdDSA signatures
Server CompromiseFull Firestore accessNo plaintext stored; keys client-only
Quantum ComputerBreaks X25519Hybrid PQXDH with ML-KEM-1024
Key CompromiseObtains session keyDouble Ratchet forward secrecy
Replay AttackResends messagesIteration tracking + unique nonces

Wovor Arc nicht schützen kann

  • Kompromittiertes/gerootetes Gerät mit Malware
  • Screenshots durch den Empfänger
  • Serverseitige Metadatenanalyse (durch Sealed Sender gemildert)
  • Social Engineering

13. Standardkonformität

StandardStatus
NIST FIPS 203 (ML-KEM)Implemented via libsignal-client
RFC 7748 (X25519)Implemented
XEdDSA (Signal spec)Implemented via libsignal-client
RFC 5869 (HKDF)Implemented
NIST SP 800-38D (AES-GCM)Implemented

14. Vergleich mit Signal & WhatsApp

FunktionSignalWhatsAppArc
Protocol BaseSignal ProtocolSignal Protocol (licensed)Signal Protocol (libsignal)
Post-Quantum Key ExchangePQXDH (ML-KEM-1024, 2023)PQXDH (via Signal Protocol)PQXDH (ML-KEM-1024, via libsignal)
Post-Quantum RatchetSPQR Triple Ratchet (Oct 2025)Not confirmedPlanned
Per-Message SignaturesDH authentication onlyDH authentication onlyXEdDSA (libsignal) ✦
Sealed SenderCert + delivery tokenNot implementedEphemeral ECDH envelope ✦
Offline E2EENot supportedNot supportedBLE Mesh (Bridgefy SDK) ✦
Multi-DevicePrimary + LinkedPrimary + LinkedIndependent keys + Key Sync ✦
Key SeparationXEdDSA conversionXEdDSA conversionXEdDSA (same as Signal) — unified key pair ✦
Open SourceFully open sourcePartialWhitepaper published

Transparenzhinweis: Signal hat PQXDH 2023 implementiert und 2025 den SPQR Triple Ratchet eingeführt. Arcs PQC basiert auf Signals Open-Source-libsignal. Arcs eigene Differenzierungsmerkmale sind mit ✦ markiert.

15. Fazit

Das Arc-Protokoll baut auf dem bewährten Signal-Protokoll auf und erweitert es um drei proprietäre Sicherheitsschichten:

XEdDSA (libsignal)

Per-message Ed25519 signatures provide explicit sender authentication, tamper detection, and non-repudiation — absent from Signal and WhatsApp.

Client-Side Sealed Sender

Sender anonymity via ephemeral ECDH envelope, entirely on the client.

BLE Mesh (Bridgefy SDK Transport Encryption)

E2EE via Bluetooth without internet — unique among major messengers.

Wir begrüßen Sicherheitsforschung und verantwortungsvolle Offenlegung.

Download PDF

Enter your details to download the Arc Protocol Whitepaper.

Version 2.0 — April 2026 · Atlas Associates Inc.