Cryptol, Bahasa Pemrograman Khusus Kriptografi

Yana Permana 6 Juni 2015

Cryptol, Bahasa Pemrograman Khusus Kriptografi

Cryptol adalah bahasa pemrograman yang digunakan untuk menspesifikasi algoritma kriptografi. Didalamnya terdapat implementasi yang disusun dari spesifikasi matematika yang dekat sehingga dapat diimplementasikan dalam general purpose language.

Berikut perbandingan spesifikasi matematika fungsi hash SHA-1 dan representasinya dengan Cryptol:

f : ([8], [32], [32], [32]) -> [32]
f (t, x, y, z) =
 if (0 <= t) && (t <= 19) then (x && y) ^ (~x && z)
 | (20 <= t) && (t <= 39) then x ^ y ^ z
 | (40 <= t) && (t <= 59) then (x && y) ^ (x && z) ^ (y && z)
 | (60 <= t) && (t <= 79) then x ^ y ^ z
 else error "f: t out of range"

Implementasi Cryptol tidak ambigu walaupun dideskripsikan dalam bahasa Inggris dan spesifikasi matematika, jika dibandingkan dengan skema SHA-1 seperti dibawah ini:

sha1

Cryptol juga dapat digunakan untuk menganalisa algoritma kriptografi. Didalamnya, Cryptol bersandar pada jurnal akademik. Dengan kata lain, Cryptol memang valid.

Banyak yang menulis implementasi atau referensi kriptografi dengan matematika. Dan banyak juga orang yang menggunakan implementasinya dalam aplikasi, namun hal tersebut bukanlah hal mudah. Pertanyaan sulit adalah apakah sudah sesuai dengan spesifikasi matematika? Namun tak perlu khawatir karena spesifikasi Cryptol sudah sesuai standar.

Dengan begitu programmer dapat melakukan test vector, membuktikan teorema dan menggunakan kakas lain untuk memverifikasi ekuivalensi untuk aplikasinya. Dan fitur lain, programmer juga dapat mengimplementasikan Cryptol untuk hardware.

Cryptol yang terbaru adalah versi 2. Dalam versi ini, Cryptol menggunakan lisensi BSD. Mengapa Cryptol dikembangkan? Salah satu alasannya adalah pengembang Cryptol ingin menyebarkan adopsi standar algoritma kriptografi.

Siapa saja yang telah menggunakan Cryptol? Cryptol sendiri telah digunakan oleh private companies, pendidik, dan pemerintah AS. Mereka menggunakannya untuk menganalisa algoritma dan implementasi kriptografi, juga sebagai kakas pembelajaran.

Selain itu, Cryptol didesain untuk mengekspresikan berbagai jenis algoritma kriptografi yang dapat diimplementasikan dalam sirkuit hardware. Dan didalam jaringan komputer, Cryptol juga bagus untuk mengimplementasikan inti kriptografi. Contohnya implementasi protokol SSL.

Itulah sekilas Cryptol, bahasa pemrograman khusus kriptografi. Bagi pembaca yang tertarik mencobanya, bisa kunjungi situs resminya di http://www.cryptol.net/downloads.html

(yp/cryptol)