Kriptografi
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 : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
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 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. Sedangkan skema stream-cipher pada dasarnya juga block-cipher, hanya dengan panjang bloknya adalah satu bit.
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.