0Pricing
Cryptology Academy · Pelajaran

AEAD ChaCha20-Poly1305 dalam TLS 1.3

Lihat penerapan ChaCha20 sebagai sandi AEAD dalam TLS modern.

AEAD ChaCha20-Poly1305 dalam TLS 1.3 adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

ChaCha20-Poly1305 menggabungkan sandi aliran ChaCha20 dengan MAC Poly1305 untuk menghasilkan rangkaian sandi AEAD yang aman dan digunakan dalam TLS 1.3, WireGuard, serta aplikasi seluler.

Ikhtisar MAC Poly1305

Poly1305 adalah MAC sekali pakai yang dirancang oleh Bernstein. Algoritma ini mengautentikasi pesan menggunakan evaluasi polinomial atas bilangan prima 2^130-5. Sekali pakai: setiap penggunaan memerlukan kunci baru sepanjang 32 byte.

Keamanan Poly1305

Poly1305 mencapai keamanan 128 bit jika kuncinya tidak pernah digunakan ulang. Kunci MAC dibuat baru untuk setiap pesan dari aliran kunci ChaCha20. Kombinasi ini terbukti aman.

Konstruksi ChaCha20-Poly1305

1. Hasilkan aliran kunci 64 byte dari blok ChaCha20 0 2. 32 byte pertama = kunci Poly1305 3. 32 byte sisanya dibuang 4. Enkripsi teks biasa dengan blok ChaCha20 1,2,3,... 5. Hitung MAC Poly1305 atas AAD + teks tersandi

Struktur RFC 8439

Format keluaran: teks tersandi || tanda (16 byte) Masukan MAC: AAD || pengisi1 || teks tersandi || pengisi2 || panjang(AAD) || panjang(teks tersandi) Pengisi: tambahkan nol hingga selaras dengan 16 byte. Panjang dikodekan sebagai bilangan bulat 64 bit dengan urutan little-endian.

Rangkaian Sandi TLS 1.3

Rangkaian sandi wajib TLS 1.3: - TLS_AES_256_GCM_SHA384 - TLS_AES_128_GCM_SHA256 - TLS_CHACHA20_POLY1305_SHA256 CHACHA20_POLY1305 lebih disukai untuk klien tanpa akselerasi perangkat keras AES.

WireGuard Menggunakan ChaCha20-Poly1305

WireGuard secara eksklusif menggunakan ChaCha20Poly1305 untuk semua enkripsi terowongan. Tidak ada negosiasi sandi—hanya satu algoritma yang telah dianalisis dengan baik. Kesederhanaan ini secara drastis mengurangi permukaan serangan.

secretbox libsodium

crypto_secretbox_easy() milik libsodium menggunakan XSalsa20-Poly1305 (varian dengan nilai sekali pakai yang diperluas): ciphertext = crypto_secretbox_easy(message, nonce, key) API tingkat tinggi: langsung bekerja dengan benar tanpa perlu memilih parameter.

Performa di Perangkat Seluler

Perangkat Android dan iOS sering kali tidak memiliki AES-NI. Analisis Google pada 2014 menunjukkan bahwa ChaCha20-Poly1305 3× lebih cepat daripada AES-GCM pada ARM. Karena itulah Google mewajibkannya di Android dan Chrome.

Implementasi dalam Python

from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 import os key = ChaCha20Poly1305.generate_key() nonce = os.urandom(12) aad = b'header_data' cipher = ChaCha20Poly1305(key) ct = cipher.encrypt(nonce, b'plaintext', aad) pt = cipher.decrypt(nonce, ct, aad)

Perbandingan: AES-GCM vs ChaCha20-Poly1305

AES-GCM: lebih cepat dengan AES-NI, nilai sekali pakai 96 bit, pemalsuan tanda GCM jika nilai sekali pakai digunakan ulang. ChaCha20-Poly1305: lebih cepat tanpa perangkat keras khusus, nilai sekali pakai 96 bit, kunci Poly1305 dibuat baru untuk setiap pesan. Keduanya sangat baik. Gunakan AES-GCM pada server; ChaCha20-Poly1305 pada perangkat seluler.

Pemeriksaan Singkat

Dalam ChaCha20-Poly1305, bagaimana kunci Poly1305 dibuat?

Ringkasan

ChaCha20-Poly1305 adalah pilihan AEAD yang dioptimalkan untuk perangkat seluler. Selanjutnya, kita mempelajari pertukaran kunci Diffie-Hellman—cara dua pihak menetapkan rahasia bersama melalui saluran yang tidak aman.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “AEAD ChaCha20-Poly1305 dalam TLS 1.3” gratis?

Ya — teks lengkap “AEAD ChaCha20-Poly1305 dalam TLS 1.3” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “AEAD ChaCha20-Poly1305 dalam TLS 1.3”?

Lihat penerapan ChaCha20 sebagai sandi AEAD dalam TLS modern. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “AEAD ChaCha20-Poly1305 dalam TLS 1.3” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konsep Sandi Aliran & PRNG
  2. RC4: Desain, Kelemahan & Serangan terhadap WEP
  3. Desain Salsa20 & ChaCha20
  4. AEAD ChaCha20-Poly1305 dalam TLS 1.3
← Kembali ke Cryptology Academy