TDCTF Academy Logo TDCTF ACADEMY

Lab 3: Vigenère Cipher - Cipher Polyalphabetic Pertama

Target: Memahami Vigenère cipher dan mengapa lebih kuat dari Caesar
Tools: python3


Konsep

Vigenère menggunakan kata kunci - setiap huruf plaintext digeser dengan key yang berbeda berdasarkan posisi dalam kata kunci. Ini membuat frequency analysis tidak langsung bekerja karena huruf yang sama bisa dienkripsi berbeda.

Plain: HELLO WORLD
Key: KEYKEYKEYK
Cipher: RIJVS UYVJN

Praktikum

cd ~ && mkdir crypto-lab3 && cd crypto-lab3

python3 << 'PYEOF'
import string

def vigenere(text, key, decrypt=False):
result = []
key = key.upper()
key_idx = 0
for c in text.upper():
if c in string.ascii_uppercase:
shift = ord(key[key_idx % len(key)]) - 65
if decrypt:
shift = -shift
result.append(chr((ord(c) - 65 + shift) % 26 + 65))
key_idx += 1
else:
result.append(c)
return ''.join(result)

# Enkripsi
plain = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
key = "SECRET"
cipher = vigenere(plain, key)

print(f"Plain: {plain}")
print(f"Key: {key}")
print(f"Cipher: {cipher}")
print()

# Dekripsi
decrypted = vigenere(cipher, key, decrypt=True)
print(f"Dekrip: {decrypted}")
print()

# Demonstrasi: huruf 'E' dienkripsi ke huruf berbeda!
print("=== Demonstrasi Polyalphabetic ===")
positions = [i for i, c in enumerate(plain) if c == 'E']
for pos in positions:
print(f" Huruf 'E' di posisi {pos} → '{cipher[pos]}'")
print("\n(E dienkripsi ke huruf berbeda setiap kali!)")
PYEOF

️ Analisis

Cipher Key Space Ketahanan Freq Analysis
Caesar 26 Sangat rentan
Substitution 26! (4×10²⁶) Rentan
Vigenère 26^len(key) Cukup tahan (key panjang)

Kelebihan Vigenère: Huruf yang sama bisa dienkripsi ke huruf berbeda (menyamarkan frekuensi).

Kelemahan: Jika key pendek, pola berulang terlihat. Kasiski examination bisa menentukan panjang key.

Refleksi: Vigenère dianggap "tidak terpecahkan" selama 300 tahun hingga Kasiski menemukan metodenya pada 1863. Tidak ada cipher yang benar-benar aman selamanya.


Generated by @farishhz Agent Pentest Pipeline - TDCTF Security Academy

PADA HALAMAN INI