OTP Eko Hari Rachmawanto
Sejarah OTP OTP ditemukan pada tahun 1917 oleh G. Vernam dan Major Joseph Mauborgne. OTP sering disebut “Vernam Cipher”. OTP merupakan algoritma yang relatif gampang untuk dipelajari dan sudah dinyatakan oleh para ahli kriptografi sebagai “perfect encryption algorithm”.
Pengertian OTP Algoritma OTP merupakan algoritma berjenis symmetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher dimana cipher berasal dari hasil XOR antara bit plainteks dan bit key.
Rules OTP Algoritma ini sering digunakan dalam proses enkripsi transaksi online menggunakan kartu kredit karena prosesnya yang relatif mudah. Prinsip enkripsi dengan mengkombinasikan masing-masing karakter pada plainteks dengan satu karakter pada kunci. panjang kunci = panjang plainteks. Secara teori, Tidak mungkin mendekripsi chiperteks tanpa mengetahui kuncinya. KUNCI Salah = Dekripsi Salah = Plainteks Salah . Rules : 1 Kunci untuk 1 Pesan. Kunci harus acak supaya tidak dapat diterka lawan jumlah karakter kunci harus sebanyak jumlah karakter pesan.
Enkripsi dan Dekripsi OTP Fungsi untuk mengenkripsi hanyalah meng-XOR-kan plainteks dengan kunci yang telah disiapkan untuk menghasilkan cipherteks. c = p XOR k Sedangkan fungsi untuk mendekripsi tinggal meng-XOR-kan cipherteks dengan kunci yang sudah disepakati. p = c XOR k
Operasi XOR Operasi XOR akan mengembalikan nilai awalnya bila di XOR dengan nilai yang sama. Operator XOR akan menghasilkan TRUE hanya apabila salah satu operand- nya bernilai TRUE. TRUE XOR FALSE = TRUE FALSE XOR TRUE = TRUE TRUE XOR TRUE = FALSE FALSE XOR FALSE = FALSE Operator XOR juga melakukan perbandingan pada posisi bit dalam dua ekspresi numerik dan mengatur hubungan bit yang hasilnya sesuai tabel berikut. XOR 1
OTP dengan Sistem Huruf Abjad Enkripsi dapat dinyatakan sebagai penjumlahan modulo 26 dari satu karakter plainteks dengan satu karakter kunci OTP: pi = plainteks ke - i ci = huruf chiperteks ke – i Angka 26 muncul karena sistemnya menggunakan huruf abjad. Bila pengkodean berupa teks, gambar, video, maka OTP diperluas dengan penggunaan sistem bilangan biner.
OTP dengan Sistem Biner Penjumlahan modulo 2 dinyatakan dengan XOR (sistem digital sekarang menggunakan ini) Cipherteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit plainteks dengan satu bit kunci:
Konsep Algoritma OTP
Contoh OTP Misalkan plainteks adalah ONETIMEPAD dan kunci one-time pad adalah TBFRGFARFM Nyatakan A = 0, B = 1, C = 2, …, Z = 25, maka cipherteks yang dihasilkan adalah HOJKOREGHP
Contoh OTP Plainteks : RUSDI Key : CRASH
Letter ASCII Code Binary a 097 01100001 A 065 01000001 b 098 01100010 B 066 01000010 c 099 01100011 C 067 01000011 d 100 01100100 D 068 01000100 e 101 01100101 E 069 01000101 f 102 01100110 F 070 01000110 g 103 01100111 G 071 01000111 h 104 01101000 H 072 01001000 i 105 01101001 I 073 01001001 j 106 01101010 J 074 01001010 k 107 01101011 K 075 01001011 l 108 01101100 L 076 01001100 m 109 01101101 M 077 01001101 n 110 01101110 N 078 01001110
Letter ASCII Code Binary o 111 01101111 O 079 01001111 p 112 01110000 P 080 01010000 q 113 01110001 Q 081 01010001 r 114 01110010 R 082 01010010 s 115 01110011 S 083 01010011 t 116 01110100 T 084 01010100 u 117 01110101 U 085 01010101 v 118 01110110 V 086 01010110 w 119 01110111 W 087 01010111 x 120 01111000 X 088 01011000 y 121 01111001 Y 089 01011001 z 122 01111010 Z 090 01011010
Data Line Escape DLE Ctrl P 16 00010000 10 Device Control 1 DC1 Ctrl Q 17 00010001 11 Device Control 2 DC2 Ctrl R 18 00010010 12 Device Control 3 DC3 Ctrl S 19 00010011 13 Device Control 4 DC4 Ctrl T 20 00010100 14 Negative Acknowledge NAK Ctrl U 21 00010101 15 Synchronous Idle SYN Ctrl V 22 00010110 End of Transmit Block ETB Ctrl W 23 00010111 Cancel CAN Ctrl X 24 00011000 End of Medium EM Ctrl Y 25 00011001 Substitute SUB Ctrl Z 26 00011010 1A Escape ESC Ctrl [ 27 00011011 1B File Separator FS Ctrl \ 28 00011100 1C Group Separator GS Ctrl ] 29 00011101 1D Record Separator RS Ctrl ^ 30 00011110 1E Unit Separator US Ctrl _ 31 00011111 1F Space 32 00100000
HASIL [Chiperteks]