Aplikasi memiliki beberapa batasan, yaitu:

  • Panjang password (external key atau kunci eksternal) maksimal adalah 32 karakter.
  • Panjang pesan (plaintext) maksimal adalah 8 karakter.
  • Anda hanya dapat menggunakan karakter huruf kecil, huruf besar, angka, spasi, tanda titik ( . ),
    tanda koma ( , ), tanda strip ( - ), atau garis bawah ( _ ).


External key (Max. 32 karakter) :
Pesan (Max. 8 karakter) :

You are not a bot, are you?



Secara garis besar, algoritma enkripsi GOST terdiri atas lima tahap:

1. Pemrosesan kunci.
Password atau kunci eksternal yang dimasukkan oleh pengguna diproses untuk menghasilkan delapan buah kunci internal yang kemudian dijadwalkan penggunaannya untuk 32 putaran enkripsi.

2. Pemrosesan awal plaintext.
Pesan atau plaintext yang dimasukkan oleh pengguna diubah ke bentuk biner dan dibagi ke dalam dua blok, yaitu blok left (L0) dan blok right (R0).

3. Putaran enkripsi ke-1 s.d. ke-31.
Proses putaran enkripsi GOST berupa Jaringan Feistel, yang berarti output dari satu putaran akan menjadi input bagi putaran berikutnya. Secara matematis, satu putaran ke-i enkripsi GOST dideskripsikan dengan:

Untuk 0<i<32

Li = Ri-1

Ri = Li-1f(Ri-1, Ki)

Fungsi f merupakan sebuah fungsi yang menerima Ri-1 dan Ki sebagai input dan menghasilkan output berupa deret biner sepanjang 32 bit. Fungsi f terdiri atas tiga langkah, yaitu:

- Operasi (Ri-1 + Ki) mod 232

- Permutasi dengan S-Box

- Pergeseran sirkuler bit ke kiri sebanyak 11 bit

4. Putaran enkripsi ke-32.
Putaran terakhir memiliki sedikit perbedaan yang secara matematis dideskripsikan dengan:

Untuk i=32

Li = Li-1f(Ri-1, Ki)

Ri = Ri-1

5. Pemrosesan akhir ciphertext.
Blok left dan blok right terakhir (L32 dan R32) digabungkan untuk menghasilkan ciphertext, dan kemudian dikonversi dari biner menjadi karakter.