JurnalPost.com – Sandi Caesar bekerja dengan cara menggeser alfabet atau huruf biasa menggunakan kunci yang biasanya menggunakan angka tertentu. Oleh karena itulah Sandi Caesar biasa disebut juga dengan Sandi Geser. Sandi Caesar menggunakan kode enkripsi sehingga memungkin pergantian huruf dalam plaintext (teks asli) dengan huruf lain yang berada pada posisi berbeda dalam alfabet. Sandi Caesar awalnya digunakan oleh seorang pemimpin romawi yang bernama Julius Caesar saat berbicara dengan para jenderalnya.
Cara Kerja
Alfabet disusun dengan menggeser alfabet biasa menggunakan kunci (angka tertentu). Contoh Sandi Caesar kunci 3 :
Alfabet biasa : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alfabet Sandi : DEFGHIJKLMNOPQRSTUVWXYZABC
Contoh penyandian pesan
Plaintext : kiri celah terlemah
Teks tersandi : nlul fhodk whuohpdk
Sedangkan Brute Force sendiri merupakan metode peretasan dengan cara mencoba semua kemungkinan kombinasi sandi sampai menemukan sandi yang benar. Dengan menggunakan metode ini kita dapat memecahkan atau meretas program Sandi Caesar dengan efektif. Berikut merupakan program meretas Sandi Caesar dengan Brute Force menggunakan bahasa Phyton :
# Fungsi untuk melakukan brute-force pada sandi Caesar
def caesar_brute_force(ciphertext):
# Loop melalui semua kemungkinan kunci (0-25)
for key in range(26):
decrypted_text = “” # Inisialisasi teks terdekripsi
# Loop melalui setiap karakter dalam teks terenkripsi
for char in ciphertext:
# Cek apakah karakter merupakan huruf
if char.isalpha():
# Hitung nilai ascii dari karakter setelah penggeseran
shifted = ord(char) – key
# Periksa apakah karakter adalah huruf kecil
if char.islower():
# Dekripsi huruf kecil dan tambahkan ke teks terdekripsi
decrypted_text += chr((shifted – 97) % 26 + 97)
else:
# Dekripsi huruf besar dan tambahkan ke teks terdekripsi
decrypted_text += chr((shifted – 65) % 26 + 65)
else:
# Tambahkan karakter yang bukan huruf langsung ke teks terdekripsi
decrypted_text += char
# Tampilkan hasil dekripsi untuk setiap kunci
print(f”Key #{key}: {decrypted_text}”)
# Program utama
if __name__ == “__main__”:
# Minta pengguna untuk memasukkan teks terenkripsi/terdekripsi
encrypted_text = input(“Masukkan teks: “)
# Panggil fungsi brute-force dengan teks terenkripsi/terdekripsi sebagai argumen
caesar_brute_force(encrypted_text)
Kekurangan
1.Rentannya terhadap serangan brute force. Karena hanya ada sejumlah terbatas kemungkinan pergeseran.
2.Tidak mendukung simbol atau angka hanya berlaku untuk huruf dalam alfabet dan tidak mendukung karakter-karakter khusus, angka, atau simbol.
Kelebihan
Sandi Caesar sangat mudah untuk digunakan dan cocok untuk penggunaan sederhana terutama tentang pemahaman dasar konsep enkripsi hanya saja kita tidak disarankan untuk mengamankan data yang sangat penting mengguanakan Sandi Caesar karena Sandi ini dapat dengan mudah diretas menggunakan metode Brute Force
Nama Penulis
1. Luthfi Sifa Khaerunnisa
2. M.Addien Gilang Saputra
3. Moh.Baharudin Yusuf K