Dengan semakin meningkatnya arus komunikasi, maka masalah keamanan data menjadi sangat penting. Oleh karena itu dibutuhkan suatu system yang dapat digunakan untuk meningkatkan keamanan data.
Ada banyak cara untuk melindungi data. Salah satunya dengan menggunakan dua jenis kunci, yaitu kunci public dan kunci rahasia. Dimana kunci public berupa tiga pasang bilangan, sedangkan kunci rahasia berupa satu bilangan. Tingkat keamanan algoritma ini didasarkan atas masalah logaritma diskret pada grup pergandaan bilangan bulat modulo prima, Zp * ={1,2,….p -1}, dengan p adalah bilangan prima.