Sistem penyandian pada dasarnya adalah :C = P ο K (Ciphertext dihasilkan dari Plaintext dioperasikan dengan Key). Walaupun sebenarnya tidak semua sistem penyandian menggunakan kunci (seperti pada sistem transposisi). Nah, pada sistem klasik, seluruh
sistem substitusi menggunakan rumus seperti diatas, tetapi, operasinya belum tentu hanya satu operasi (misalnya +, x, dsb). Bisa jadi operasinya merupakan kuadrat dari integral pangkat tiga dari kuadrat kunci…. Bingung kan? atau merupakan fungsi xor, not, and dsb.

Sistem klasik perlu untuk merahasiakan kunci dari penyandian yang dilakukan. Kalau kita mau berkomunikasi dengan 4 orang, maka kita harus memiliki 4 buah kunci. Apabila ada 4 orang yang saling berkomunikasi maka dibutuhkan 6 buah kunci dst…. hitung sendiri kalau n orang saling berkomunikasi. Pastilah banyak sekali… Kalau saja kunci sudah sangat banyak sekali, bagaimana cara mendistribusikannya? Tentunya akan memakan banyak waktu, resource dsb. Hal ini menjadi pemikiran banyak para ahli. Akhirnya mereka menemukan suatu mekanisme penyandian dengan hanya menggunakan sedikit kunci, dimana kunci untuk menyandi dapat dipublikasikan sehingga semua orang bebas mengaksesnya.

Dengan menggunakan kunci yang dapat dipublikasikan itulah yang disebut dengan sistem public key. Jadi, sebenarnya kita memiliki dua buah kunci, yaitu kunci publik dan kunci pribadi (private key). Kunci publik digunakan untuk mengenkripsi (menyandi), sedangkan kunci pribadi untuk mendekripsi (membuka sandi). dengan merahasiakan private key tersebut, maka diharapkan suatu sistem public key dapat aman (karena tidak ada yang mengetahui private key untuk membuka sandi, hanya kita seorang). Idealnya suatu sistem public key adalah seseorang sulit untuk mencari private key dengan mengetahui public key milik orang lain.

Bagaimana mekanisme sistemnya?

Dengan menggunakan matematika seperti yang telah dijelaskan sedikit pada artikel sebelumnya yaitu:

Suatu bilangan pada operasi modulus memiliki invers. Memang pernyataan ini tidak berlaku untuk semua bilangan dan operasi. Akan tetapi, bila kita kondisikan operasi tersebut agar memenuhi kaidah ini adalah memungkinkan.

Mengapa harus memiliki invers?

Penyandian harus dapat dibuka kembali, oleh karena itu, suatu fungsi penyandian, haruslah suatu fungsi yang memiliki invers. Sehingga suatu teks sandi pastilah memiliki teks terangnya……

Misalnya sistem sandi public key RSA, menggunakan persamaan:

C ≡ PK (mod n), maka kita memerlukan K-1 sebagai private key untuk membuka sandi. Karena:

C ≡ PK (mod n), CK’­­≡ (PK­­)K’ (mod n)

Sehingga CK’­­≡ P (mod n). Terbukti bahwa teks sandi (ciphertext / C) dipangkatkan dengan K invers akan menghasilkan teks terang (plaintext / P).

Dengan modulus n (dimana n merupakan perkalian bilangan prima), dan K relatif prima (lupa terhadap apa, cari sendiri yah, kayaknya sih relatif prima terhadap n), sehingga dapat dicari inversnya.

Begitulah kira-kira ceritanya… maaf kalo tulisannya susah dimengerti dan alurnya tidak ada. Semoga dapat membantu.🙂