0Pricing
Cryptology Academy · Pelajaran

Enkripsi XOR dan One-Time Pad

Bangun sandi XOR sederhana dan temukan kerabatnya yang memiliki kerahasiaan sempurna.

Enkripsi XOR dan One-Time Pad adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 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

Enkripsi XOR itu sederhana: ciphertext = plaintext XOR key. Jika kuncinya benar-benar acak dan hanya digunakan sekali, kita memperoleh pad sekali pakai — satu-satunya sandi yang terbukti tidak dapat dipecahkan.

Dasar-Dasar Enkripsi XOR

key = bytes([0x5A, 0xF2, 0x3C, 0x11]) plaintext = bytes([0x48, 0x65, 0x6C, 0x6C]) # 'Hell' ciphertext = bytes(p^k for p,k in zip(plaintext,key)) # Result: 0x12 0x97 0x50 0x7D

Sifat XOR sebagai Invers Dirinya Sendiri

Dekripsi sama dengan enkripsi: plain = cipher XOR key Bukti: (P XOR K) XOR K = P XOR (K XOR K) = P XOR 0 = P Hal ini membuat sandi XOR bersifat simetris secara langsung.

Konsep Pad Sekali Pakai

Pad sekali pakai (OTP) menggunakan kunci acak sepanjang pesan dan tepat satu kali. Secara teoretis tidak dapat dipecahkan: setiap teks sandi dapat didekripsi menjadi setiap teks biasa yang mungkin dengan probabilitas yang sama.

Pembuktian Kerahasiaan Sempurna Shannon

Claude Shannon membuktikan pada tahun 1949: sebuah sandi memiliki kerahasiaan sempurna jika dan hanya jika kuncinya acak, setidaknya sepanjang pesan, dan digunakan paling banyak satu kali. OTP adalah satu-satunya sandi praktis dengan sifat tersebut.

Keterbatasan Praktis OTP

Kunci harus sepanjang pesan. Kunci harus didistribusikan dengan aman. Kunci tidak boleh digunakan kembali. Batasan-batasan ini membuat OTP tidak praktis untuk sebagian besar aplikasi.

Serangan Penggunaan Kembali Kunci: Pad Berkali-kali

Jika C1 = P1 XOR K dan C2 = P2 XOR K, maka C1 XOR C2 = P1 XOR P2. Kuncinya saling menghapus! Penyerang yang memiliki dua teks sandi memperoleh P1 XOR P2, yang membocorkan pola.

Serangan Penggeseran Tebakan

Jika penyerang menebak sebagian P1 (sebuah "tebakan" seperti ' the '), melakukan XOR dengan P1 XOR P2 pada setiap posisi akan menyingkap teks P2 yang bersesuaian. Secara bertahap, seluruh teks biasa dapat dipulihkan.

Kegagalan Nyata Penggunaan Kembali Kunci

Proyek Venona mendekripsi ribuan pesan pad sekali pakai Soviet karena para agen KGB menggunakan kembali pad tersebut di bawah tekanan masa perang. Penggunaan kembali kunci merusak enkripsi yang secara matematis terbukti sempurna.

XOR dalam Sandi Aliran

Sandi aliran modern (ChaCha20, RC4) menghasilkan aliran kunci semuacak lalu melakukan XOR terhadap teks biasa. Sandi ini mendekati OTP, tetapi menggunakan kunci pendek yang diperluas oleh CSPRNG.

Demo Enkripsi XOR dalam Python

import os def otp_encrypt(plaintext: bytes) -> tuple: key = os.urandom(len(plaintext)) ciphertext = bytes(p^k for p,k in zip(plaintext,key)) return ciphertext, key ciphertext, key = otp_encrypt(b'Secret!')

Pemeriksaan Singkat

Mengapa penggunaan kembali kunci pad sekali pakai sangat tidak aman dan berakibat fatal?

Rangkuman

XOR dan pad sekali pakai merupakan konsep dasar. Berikutnya kita mempelajari mengapa skema XOR naif gagal dalam praktik dan serangan apa saja yang mengeksploitasi penggunaan kembali kunci.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Enkripsi XOR dan One-Time Pad” gratis?

Ya — teks lengkap “Enkripsi XOR dan One-Time Pad” 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 “Enkripsi XOR dan One-Time Pad”?

Bangun sandi XOR sederhana dan temukan kerabatnya yang memiliki kerahasiaan sempurna. 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 2 dari 4.

Berapa lama pelajaran “Enkripsi XOR dan One-Time Pad” 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. Penyegaran Operasi Bitwise
  2. Enkripsi XOR dan One-Time Pad
  3. Alasan XOR Saja Tidak Aman
  4. XOR di dalam AES dan Sandi Stream
← Kembali ke Cryptology Academy