Sabtu, 06 Juli 2024

Enkripsi dan Dekripsi: Pengertian, Jenis, Penerapannya dan contoh sederhana

Contoh sederhana Enkripsi

Pengertian Enkripsi dan Dekripsi

Enkripsi adalah proses mengubah data atau informasi menjadi format yang tidak bisa dibaca atau dipahami tanpa menggunakan kunci tertentu. Tujuan utama dari enkripsi adalah untuk melindungi kerahasiaan data, sehingga hanya pihak yang memiliki kunci enkripsi yang dapat mengakses informasi tersebut.

Dekripsi adalah proses kebalikan dari enkripsi, yaitu mengubah data terenkripsi kembali ke bentuk aslinya yang dapat dibaca atau dipahami, menggunakan kunci dekripsi yang sesuai. Tanpa kunci yang benar, data yang terenkripsi tidak akan bisa diakses.

Jenis-Jenis Enkripsi

  1. Enkripsi Simetris:

    • Pengertian: Dalam enkripsi simetris, kunci yang sama digunakan untuk mengenkripsi dan mendekripsi data.
    • Kelebihan: Cepat dan efisien dalam memproses data.
    • Kekurangan: Masalah dalam distribusi kunci karena kunci yang sama harus diketahui oleh kedua belah pihak yang berkomunikasi.
    • Contoh Algoritma: AES (Advanced Encryption Standard), DES (Data Encryption Standard).
  2. Enkripsi Asimetris:

    • Pengertian: Enkripsi asimetris menggunakan dua kunci yang berbeda tetapi berpasangan, yaitu kunci publik dan kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci privat digunakan untuk mendekripsinya.
    • Kelebihan: Lebih aman dalam distribusi kunci karena kunci publik dapat dibagikan secara bebas.
    • Kekurangan: Proses enkripsi dan dekripsi lebih lambat dibandingkan enkripsi simetris.
    • Contoh Algoritma: RSA (Rivest-Shamir-Adleman), ECC (Elliptic Curve Cryptography).

Mengenal apa itu Ransomware

Penerapan Enkripsi dan Dekripsi

  1. Komunikasi Data:

    • Enkripsi digunakan untuk mengamankan komunikasi data melalui internet, seperti email, pesan instan, dan panggilan suara. Protokol seperti TLS (Transport Layer Security) dan SSL (Secure Sockets Layer) menggunakan enkripsi untuk melindungi data yang dikirimkan melalui jaringan.
  2. Penyimpanan Data:

    • Data yang disimpan di perangkat keras, seperti hard drive dan SSD, dapat dienkripsi untuk melindungi informasi sensitif. Contoh penerapan termasuk enkripsi disk penuh dengan perangkat lunak seperti BitLocker atau FileVault.
  3. Keamanan Aplikasi Web:

    • Sertifikat SSL/TLS digunakan untuk mengenkripsi data yang dikirimkan antara browser pengguna dan server web, memastikan bahwa informasi pribadi seperti data login dan detail kartu kredit terlindungi.
  4. Transaksi Keuangan:

    • Enkripsi sangat penting dalam transaksi keuangan online, seperti pembayaran kartu kredit dan perbankan online, untuk melindungi data keuangan pengguna dari penyadapan dan pencurian.
  5. Perlindungan Data Pribadi:

    • Aplikasi perpesanan seperti WhatsApp dan Signal menggunakan enkripsi end-to-end untuk memastikan bahwa hanya pengirim dan penerima pesan yang dapat membaca isi pesan, bahkan penyedia layanan tidak dapat mengaksesnya.

Contoh Sederhana Proses Enkripsi dan Dekripsi

Enkripsi Simetris

Mari kita gunakan algoritma sederhana untuk enkripsi simetris: Caesar Cipher.

Data Asli: 'HELLO'

Kunci Enkripsi/Deskripsi:3

(Caesar Cipher dengan pergeseran 3 huruf)

Proses Enkripsi:

  • Setiap huruf dalam teks asli digeser 3 posisi ke kanan dalam alfabet.
    • H -> K
    • E -> H
    • L -> O
    • L -> O
    • O -> R
Hasil Enkripsi (Ciphertext): 'KHOOR'

Proses Dekripsi:

  • Setiap huruf dalam ciphertext digeser 3 posisi ke kiri dalam alfabet.
    • K -> H
    • H -> E
    • O -> L
    • O -> L
    • R -> O

Hasil Dekripsi (Plaintext): HELLO

Enkripsi Asimetris

Mari kita gunakan konsep dasar dari enkripsi asimetris dengan pasangan kunci publik dan kunci privat. Misalnya, untuk contoh yang sangat sederhana, kita anggap data asli adalah angka, dan enkripsi dilakukan dengan mengalikan angka tersebut dengan kunci publik, sedangkan dekripsi dilakukan dengan membagi hasilnya dengan kunci privat.

Data Asli: 42

Kunci Publik: 5

Kunci Privat: 5

Proses Enkripsi:

  • Data asli (42) dikalikan dengan kunci publik (5).
    • 42 * 5 = 210

Hasil Enkripsi (Ciphertext): 210

Proses Dekripsi:

  • Ciphertext (210) dibagi dengan kunci privat (5).
    • 210 / 5 = 42

Hasil Dekripsi (Plaintext): 42

Bagaimana Kunci Publik Dapat Mengubah Data

Dalam enkripsi asimetris yang sebenarnya, seperti RSA, kunci publik digunakan dalam proses matematika yang lebih kompleks daripada sekadar perkalian. Berikut adalah cara kerja dasar kunci publik dalam mengubah data:

  1. Generasi Pasangan Kunci:

    • Dua bilangan prima besar dipilih dan digunakan untuk menghasilkan kunci publik dan kunci privat.
    • Kunci publik terdiri dari modulus (hasil perkalian kedua bilangan prima) dan eksponen enkripsi (seringkali bilangan kecil seperti 65537).
    • Kunci privat terdiri dari modulus yang sama dan eksponen dekripsi yang terkait dengan eksponen enkripsi.
  2. Enkripsi dengan Kunci Publik:

    • Data asli diubah menjadi angka, dan kemudian angka tersebut dipangkatkan dengan eksponen enkripsi dan dimodulasi dengan modulus.
    • Contoh sederhana: jika data asli adalah mm, eksponen enkripsi adalah ee, dan modulus adalah nn, maka ciphertext cc dihitung sebagai c=memodnc = m^e \mod n.
  3. Dekripsi dengan Kunci Privat:

    • Ciphertext dipangkatkan dengan eksponen dekripsi dan dimodulasi dengan modulus.
    • Contoh sederhana: jika ciphertext adalah cc, eksponen dekripsi adalah dd, dan modulus adalah nn, maka plaintext mm dihitung sebagai m=cdmodnm = c^d \mod n.

Contoh RSA Sederhana

Data Asli (m): 7

Kunci Publik (n, e): n = 33 (hasil perkalian dua bilangan prima: 3 dan 11); e = 3

Kunci Privat (n, d): n = 33; d = 7 (karena 3 * 7 = 1 mod 20, dengan 20 adalah totient dari 33)

Proses Enkripsi:

  • memodn=73mod33=343mod33=13m^e \mod n = 7^3 \mod 33 = 343 \mod 33 = 13

Hasil Enkripsi (Ciphertext): 13

Proses Dekripsi:

  • cdmodn=137mod33=62748517mod33=7c^d \mod n = 13^7 \mod 33 = 62748517 \mod 33 = 7

Hasil Dekripsi (Plaintext): 7

Dalam contoh ini, kunci publik (3, 33) digunakan untuk mengenkripsi data asli 7 menjadi ciphertext 13, dan kunci privat (7, 33) digunakan untuk mendekripsi ciphertext 13 kembali menjadi data asli 7. Ini adalah contoh dasar yang menunjukkan bagaimana kunci publik dapat mengubah data dan bagaimana kunci privat digunakan untuk mengembalikan data tersebut ke bentuk aslinya.

Tidak ada komentar:

Posting Komentar