{"id":257,"date":"2026-02-12T14:19:58","date_gmt":"2026-02-12T13:19:58","guid":{"rendered":"https:\/\/wiki.hamsti.pm\/?p=257"},"modified":"2026-02-28T21:47:12","modified_gmt":"2026-02-28T20:47:12","slug":"%e2%9a%a1-chacha20-kurz-erklaert","status":"publish","type":"post","link":"https:\/\/wiki.hamsti.pm\/?p=257","title":{"rendered":"\u26a1 ChaCha20 \u2013 Kurz erkl\u00e4rt"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>ChaCha20<\/strong> ist eine <strong>moderne Stromchiffre<\/strong> (Stream Cipher) mit <strong>festem 256-Bit-Schl\u00fcssel<\/strong> und <strong>96-Bit-Nonce<\/strong> (einmaliger Wert pro Sitzung).<br>Entwickelt 2008 von <strong>Daniel J. Bernstein<\/strong> als <strong>AES-Alternative f\u00fcr schwache Hardware<\/strong> optimiert f\u00fcr Software-Implementierungen ohne Spezialanweisungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Funktion:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Stromchiffre-Prinzip<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Klartext + Key-Stream = Chiffretext  \nChiffretext + Key-Stream = Klartext (XOR-Operation)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Generiert <strong>pseudozuf\u00e4lligen Key-Stream<\/strong> aus Initial-State (Key + Nonce + Counter).<\/li>\n\n\n\n<li><strong>20 Runden<\/strong> Matrix-Operationen (Add, Rotate, XOR = ARX-Konstruktion).<\/li>\n\n\n\n<li>Keine S-Boxes oder Lookup-Tabellen \u2192 <strong>constant-time<\/strong> Ausf\u00fchrung.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Initial-State-Matrix (4&#215;4)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Seed (8 Bytes) | Counter (8 Bytes)  \nKey (8 Bytes)  | Nonce (8 Bytes)  <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jede Runde mischt diese Matrix \u2192 <strong>512-Bit Key-Stream pro Block<\/strong> \u2192 XOR mit Klartext.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>Vorteile:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8211; Timing-angriffssicher<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AES: Tabelle-Zugriffe \u2192 Cache-Timing-Angriffe  \nChaCha20: Nur CPU-Register + ARX \u2192 konstante Laufzeit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8211; Geschwindigkeit auf Allzweck-CPUs<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ARM Cortex (Smartphones): <strong>2-3x schneller<\/strong> als AES.<\/li>\n\n\n\n<li>x86 ohne AES-NI: <strong>ChaCha20 > AES-CTR<\/strong>.<\/li>\n\n\n\n<li><strong>Vektorisierbar<\/strong> (AVX2, NEON) f\u00fcr Massendurchsatz.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8211; Fehlerresistente Implementierung <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Keine geheimen Konstanten<\/strong> (alles \u00f6ffentlich auditiert).<\/li>\n\n\n\n<li><strong>Einfache Referenz-Implementierung<\/strong> (&lt; 300 Zeilen C).<\/li>\n\n\n\n<li>Weniger <strong>Side-Channel<\/strong>-Vektoren als AES.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8211; 96-Bit-Nonce + 64-Bit-Counter<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>96 Bit Nonce = 7,9\u00d710^28 Werte  \n64 Bit Counter = 1,8\u00d710^19 Bl\u00f6cke  \n\u2192 Praktisch unbegrenzt f\u00fcr TLS-Sessions\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd0c <strong>Einsatzbeispiele:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Protokoll\/Plattform<\/th><th class=\"has-text-align-left\" data-align=\"left\">ChaCha20-Mode<\/th><th class=\"has-text-align-left\" data-align=\"left\">Partner-Algorithmus<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>TLS 1.3<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">ChaCha20-Poly1305<\/td><td class=\"has-text-align-left\" data-align=\"left\">Google, Cloudflare<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>WireGuard VPN<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">ChaCha20<\/td><td class=\"has-text-align-left\" data-align=\"left\">Poly1305 (Auth)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Google ATLS<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Default<\/td><td class=\"has-text-align-left\" data-align=\"left\">Mobile\/Cloud<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>SSH<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">chacha20-poly1305<\/td><td class=\"has-text-align-left\" data-align=\"left\">OpenSSH 7.8+<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>KeePassXC<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Password Manager<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vergleich AES vs ChaCha20:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ARM-Cortex A53 (no AES-NI):  \nAES-256-GCM:  450 MB\/s  \nChaCha20:    1100 MB\/s  \n\nIntel w\/ AES-NI:  \nAES-256-GCM: 3500 MB\/s  \nChaCha20:    1200 MB\/s<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Status:<\/strong> <strong>IETF-Standard<\/strong> (RFC 7539), <strong>TLS 1.3 obligatorisch<\/strong>, <strong>post-quanten-sicher<\/strong> (gro\u00dfe Schl\u00fcssel).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ideal f\u00fcr:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mobile Ger\u00e4te<\/strong> (kein AES-Hardware).<\/li>\n\n\n\n<li><strong>IoT<\/strong> (schwache MCUs).<\/li>\n\n\n\n<li><strong>Software-VPNs<\/strong> (WireGuard).<\/li>\n\n\n\n<li><strong>Cloud<\/strong> (gleichm\u00e4\u00dfige Performance).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ChaCha20 ist eine moderne Stromchiffre (Stream Cipher) mit festem 256-Bit-Schl\u00fcssel und 96-Bit-Nonce (einmaliger Wert pro Sitzung).Entwickelt 2008 von Daniel J. Bernstein als AES-Alternative f\u00fcr schwache Hardware optimiert f\u00fcr Software-Implementierungen ohne Spezialanweisungen. Funktion: 1. Stromchiffre-Prinzip 2. Initial-State-Matrix (4&#215;4) Jede Runde mischt diese Matrix \u2192 512-Bit Key-Stream pro Block \u2192 XOR mit Klartext. \u2705 Vorteile: &#8211; Timing-angriffssicher [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":306,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[32,25],"class_list":["post-257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fachbegriffe00","tag-chacha20","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=257"}],"version-history":[{"count":2,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/257\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/257\/revisions\/266"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/media\/306"}],"wp:attachment":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}