digilib@itb.ac.id +62 812 2508 8800

Abstrak: Pada tugas akhir ini, dilakukan studi terhadap salah satu algoritma kriptografi kunci publik, yaitu algoritma ElGamal. Algoritma ini mendasarkan kekuatannya pada kesulitan memecahkan persoalan matematis logaritma diskrit. Selain itu pada proses transformasi kriptografisnya (enkripsi, dekripsi, tanda tangan digital) digunakan bilangan acak setiap langkah proses sehingga menambah kekuatan algoritma ini. Selanjutnya dilakukan implementasi dalam bentuk perangkat lunak sehingga bisa digunakan oleh pengguna umum. Perangkat lunak yang dibangun terdiri dari dua buah, yaitu aplikasi desktop stand-alone ElGamal Parameter Generator, dan aplikasi add-in yang menjadi komponen Microsoft Word. ElGamal Parameter Generator berfungsi untuk membangkitkan parameter kunci ElGamal, yaitu kunci publik dan kunci privat. Sedangkan aplikasi add-in memungkinkan pengguna Microsoft Word untuk memakai fungsi transformasi kriptografis ElGamal langsung dari lingkungan Microsoft Word, melalui toolbar yang disediakan oleh add-in, pada dokumen Microsoft Word mereka. Perangkat lunak dikembangkan menggunakan menggunakan tool pengembangan Microsoft Visual Studio 2005 dengan bahasa pemrograman C+ dalam lingkungan sistem operasi Microsoft Windows. Untuk memenuhi kebutuhan di atas, ternyata diperlukan pustaka dan tools eksternal untuk membantu implementasi perangkat lunak. Pustaka tersebut yaitu Bouncy Castle Cryptographic C+ API untuk menangani masalah aritmatika modulo bilangan yang sangat besar yang digunakan pada algoritma ElGamal, dan Visual Studio Tools for Office (VSTO) yang menyediakan antarmuka terhadap aplikasi Microsoft Office sehingga memudahkan dalam pengembangannya. Berdasarkan pengujian yang telah dilakukan, perangkat lunak mampu melakukan seluruh fungsinya dengan baik, meliputi proses pembangkitan kunci, enkripsi, dekripsi, pembangkitan tanda tangan digital, pemberian tanda tangan digital terhadap dokumen, dan verifikasi dokumen yang telah ditandatangani secara digital (digitally signed document).