Dasar

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti keabsahan, integritas data, serta autentikasi data. Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih ke arah teknik-tekniknya.

Ada empat tujuan mendasar dari ilmu kriptografi ini yaitu :

  • Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas.
  • Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  • Autentikasi, adalah berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
  • Non-repudiasi.


Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen plaintext dan yang berisi elemen ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen plaintext dinotasikan dengan P, elemen-elemen ciphertext dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.

Enkripsi :  

Dekripsi :   atau  

Pada skema enkripsi konvensional atau symmetric-key, digunakan sebuah kunci untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem asymmetric-key digunakan kunci umum (public key) untuk enkripsi dan kunci pribadi (private key) untuk proses dekripsinya.

Symmetric-key

Skema enkripsi akan disebut symmetric-key apabila pasangan kunci untuk proses enkripsi dan dekripsinya adalah sama. Pada skema enkripsi symmetric-key dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.

Block Cipher

Block-cipher adalah skema enkripsi yang akan membagi-bagi plaintext yang akan dikirimkan menjadi string-string (disebut blok) dengan panjang t, dan mengenkripsinya per-blok. Pada umumnya, block-cipher memproses plaintext dengan blok yang relatif panjang lebih dari 64 bit, untuk mempesulit penggunaan pola-pola serangan yang ada untuk membongkar kunci.

Stream Cipher

Sedangkan skema stream-cipher pada dasarnya juga block-cipher, hanya dengan panjang bloknya adalah satu bit.

Algoritma Kriptografi dengan Symmetric-key

Beberapa contoh algoritma yang menggunakan Symmetric-key:

  • DES - Data Encryption Standard
  • 3DES - DES diaplikasikan 3 kali
  • AES - Advanced Encryption Standard

Asymmetric-key

Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi Public-key karena kunci untuk enkripsi dibuat secara umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya dibuat satu hanya oleh yang berwenang untuk mendekripsinya, disebut private-key. Keuntungan skema model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu public-key bagi para korensponden untuk mengenkripsi pesan, dan private-key untuk mendekripsi pesan. Berbeda dengan skema symmetric-key, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

Fungsi Enkripsi dan Dekripsi Algoritma Asymmetric-key

Apabila Ahmad dan Bobby hendak bertukar berkomunikasi, maka:

  1. Ahmad dan Bobby masing-masing membuat 2 buah kunci
    1. Ahmad membuat dua buah kunci, public-key Gagal mengurai (SVG (MathML dapat diaktifkan melalui plugin peramban): Respons tak sah ("Math extension cannot connect to Restbase.") dari peladen "http://localhost:6011/wiki-indonesia.club/v1/":): {\displaystyle \!K_{public[Ahmad]}} dan secret-key  
    2. Bobby membuat dua buah kunci, public-key Gagal mengurai (Galat konversi. Peladen ("https://wikimedia.org/api/rest_") melaporkan: "Cannot get mml. upstream connect error or disconnect/reset before headers. reset reason: connection termination"): {\displaystyle \!K_{public[Bobby]}} dan secret-key Gagal mengurai (SVG (MathML dapat diaktifkan melalui plugin peramban): Respons tak sah ("Math extension cannot connect to Restbase.") dari peladen "http://localhost:6011/wiki-indonesia.club/v1/":): {\displaystyle \!K_{secret[Bobby]}}
  2. Mereka berkomunikasi dengan cara:
    1. Ahmad dan Bobby saling bertukar public-key. Bobby mendapatkan Gagal mengurai (SVG (MathML dapat diaktifkan melalui plugin peramban): Respons tak sah ("Math extension cannot connect to Restbase.") dari peladen "http://localhost:6011/wiki-indonesia.club/v1/":): {\displaystyle \!K_{public[Ahmad]}} dari Ahmad, dan Ahmad mendapatkan Gagal mengurai (SVG (MathML dapat diaktifkan melalui plugin peramban): Respons tak sah ("Math extension cannot connect to Restbase.") dari peladen "http://localhost:6011/wiki-indonesia.club/v1/":): {\displaystyle \!K_{public[Bobby]}} dari Bobby.
    2. Ahmad mengenkripsi plaintext   ke Bobby dengan fungsi  
    3. Ahmad mengirim ciphertext   ke Bobby
    4. Bobby menerima   dari Ahmad dan membuka plaintext dengan fungsi  

Hal yang sama terjadi apabila Bobby hendak mengirimkan pesan ke Ahmad

  1. Bobby mengenkripsi plaintext   ke Ahmad dengan fungsi  
  2. Ahmad menerima   dari Bobby dan membuka plaintext dengan fungsi Gagal mengurai (SVG (MathML dapat diaktifkan melalui plugin peramban): Respons tak sah ("Math extension cannot connect to Restbase.") dari peladen "http://localhost:6011/wiki-indonesia.club/v1/":): {\displaystyle \!P = D(C,K_{secret[Ahmad]})}

Algoritma Kriptografi dengan Asymmetric-key