LFSR & Stream Cipher Studio

LAB BENCH v1.0

Instrumen Pengujian Kriptografi: Pembangkit Keystream, Enkripsi, Dekripsi, & Evaluasi Keamanan

Preset:

Konfigurasi Register LFSR

Jumlah sel flip-flop (contoh: 4, 5, 8 bit).

Panjang bit harus sesuai register size. Tidak boleh semua nol.

Indeks sel dipisahkan koma (contoh: 4, 3 untuk x^4 + x^3 + 1).

Arah Geser: Kanan (Right Shift)
Bit Output: LSB (Stage n)
Umpan Balik: XOR sel tap (s4 ⊕ s3)

Skematik Rangkaian Shift Register

1.2s
Keystream Terakumulasi:

Pembangkit Keystream N-Bit

Hasilkan deretan keystream dengan panjang bit tertentu secara langsung.

Tabel Transisi Kondisi Register per Detak Clock

Log lengkap pergeseran flip-flop
Clock # State Register Taps (XOR) Feedback Bit Output Bit Keystream

Enkripsi Stream Cipher

Karakter teks dikonversi ke biner ASCII 8-bit per karakter.

Operasi: Ciphertext[i] = Plaintext[i] ⊕ Keystream[i]
Keystream dibangkitkan sepanjang total bit pesan plaintext.

Dekripsi Stream Cipher

Masukkan byte heksadesimal dengan atau tanpa spasi pemisah.

Sifat Simetris Involusi: Plaintext[i] = Ciphertext[i] ⊕ Keystream[i]
Menggunakan konfigurasi seed dan taps identik untuk merekonstruksi keystream asal.

Tabel Verifikasi Dekripsi (Ciphertext ⊕ Keystream = Plaintext)

Urutan Ciphertext Hex Bit Ciphertext Bit Keystream (K) Bit Plaintext (C ⊕ K) Karakter Hasil
Jalankan dekripsi untuk melihat verifikasi bitwise.

Suite Kasus Uji Otomatis (Automated Test Cases)

Evaluasi kepatuhan spesifikasi teknis: Pembangkitan Keystream, Enkripsi Teks, Dekripsi Teks, Periode Siklus Maksimal, dan Rekoveri Kunci.

Demonstrasi Kerentanan Keamanan: Pencarian Seed (Brute Force) & Known-Plaintext Attack

LFSR 4-bit memiliki 2^4 = 16 kemungkinan seed, termasuk 0000 yang merupakan keadaan mati. Karena ruang kuncinya sangat terbatas, penyerang yang mencegat sedikit cuplikan keystream dapat melakukan pencarian menyeluruh (brute force) secara bertahap (step-by-step) untuk membongkar seed awal dan membaca seluruh pesan rahasia.

Simulator Pencarian Kunci Seed

Tantangan Sandi Preset:

Cuplikan keystream yang berhasil disadap penyerang.

450ms

Simulasi Known-Plaintext Attack (KPA):

Penyerang yang mengetahui awalan kata plaintext ("TO") dapat membongkar seluruh pesan rahasia.

Perbandingan Ukuran Ruang Kunci Kriptografi

Ukuran Register Ruang Seed (2^n) Waktu Brute Force Status Keamanan
4 bit 16 < 0.001 ms TIDAK AMAN
8 bit 256 ~ 0.1 ms TIDAK AMAN
16 bit 65.536 ~ 15 ms RENTAN
32 bit ~ 4.29 milyar Detik (Akselerasi GPU) RENTAN
128 bit (Standar Modern) ~ 3.4 × 10^38 Milyaran Tahun STANDAR AMAN

Kelemahan Linieritas Aljabar & Algoritma Berlekamp-Massey

Selain serangan brute force seed, LFSR memiliki kelemahan mendasar: sifat linieritas aljabar dalam medan Galois GF(2).

Dengan Algoritma Berlekamp-Massey, penyerang bahkan tidak perlu mengetahui posisi tap sebelumnya. Cukup dengan menyadap 2n bit keystream yang berurutan (misalnya hanya 8 bit untuk LFSR 4-bit), penyerang dapat menyelesaikan sistem persamaan linier dan merekonstruksi seluruh konfigurasi polinomial umpan balik dan seed dalam kompleksitas waktu O(n^2).

Solusi Kriptografi Modern: Stream cipher dunia nyata (seperti A5/1 pada GSM seluler, E0 pada Bluetooth, atau Trivium dan Grain) menggabungkan beberapa register LFSR dengan fungsi boolean non-linier (NLFSR) untuk mematahkan kelemahan linieritas ini.