Anda di halaman 1dari 4

Tugas 1 Kriptografi dan Keamanan Jaringan: 

KRIPTOGRAFI KLASIK 
Bryan Dwison (17/409430/PA/17737) 
Felix Ogustino (17/412636/PA/17955) 
Nathanael Gavin H S (17/412646/PA/17965) 
Prawiro Hadi T (17/412650/PA/17969) 
 

Bab 1 
Pendahuluan 

Kriptografi membuat data atau pesan menjadi kode-kode terlebih dahulu, proses ini 
dikenal dengan enkripsi. Enkripsi dapat diartikan sebagai proses mengubah data atau pesan 
yang hendak dikirim menjadi bentuk yang tidak dikenali oleh pihak ketiga. Kemudian 
penerima melakukan Dekripsi yang merupakan kebalikan dari enkripsi, yaitu mengubah 
data atau pesan kembali ke bentuk semula. 

Algoritma yang kami buat merupakan gabungan dari beberapa algoritma klasik atau 
super enkripsi. Kami menggabungkan Caesar Cipher dan Columnar Transposition Cipher 
sebagai algoritma baru yang dibuat. Pada Caesar Cipher digunakan sedikit modifikasi 
supaya lebih sulit untuk dipecahkan. Supaya tidak mempersulit penerima, digunakan hanya 
1 buah Key sebagai pengolah data. Key merupakan kunci dari enkripsi dan dekripsi data. Key 
berbentuk 1 kata berisi hanya huruf dan c
​ ase insensitive​. 

Algoritma Enkripsi 

Digunakan langkah-langkah sebagai berikut. (contoh Key = HACK) 

1. Preprocessing data, dilakukan fungsi toLowerCase pada plaintext dan Key supaya 
lebih mudah diproses, dan apabila ukuran dari text bukan kelipatan panjang Key, 
maka perlu ditambahkan data ​dummy​ sebagai ​padding​ atau penambal. Biasanya 
digunakan huruf yang jarang dipakai seperti X, Z, dll.  
2. Caesar Cipher (C = p + K1 % 26. K1 = length/panjang dari Key) (HACK memiliki panjang 
4, sehingga K1 = 4) 
3. Columnar Transposition Cipher (transposisi dengan membagi text menjadi beberapa 
baris sebanyak panjang Key, kemudian diambil per kolom dengan urutan sesuai Key) 
a. Dilakukan pengubahan Key dari bentuk kata ke bentuk urutan angka 1 s.d 
panjang Key berdasarkan urutan alfabetnya. Contoh, jika bentuk kata dari Key 
adalah ‘HACK’, maka akan membentuk urutan angka [3, 1, 2, 4] 
4. Caesar Cipher pada elemen urutan ganjil (C = p + K2 % 26. K2 = urutan abjad alfabet 
dari huruf pertama Key) (HACK memiliki huruf pertama H yang pada urutan abjad 
alfabet adalah yang ke-8, sehingga K2 = 8) 
5. Caesar Cipher pada elemen urutan genap (C = p + K3 % 26. K3 = urutan abjad alfabet 
dari huruf terakhir Key)(HACK memiliki huruf terakhir K yang pada urutan abjad 
alfabet adalah yang ke-11, sehingga K3 = 11) 

Algoritma Dekripsi 

1. Preprocessing data, dilakukan fungsi toLowerCase(semua huruf text diubah menjadi 


huruf kecil) pada plaintext dan Key supaya lebih mudah diproses. 
2. Untuk elemen urutan genap dikenakan p = C - K3 % 26. Dengan K3 merupakan 
urutan abjad alfabet dari huruf terakhir Key. 
3. Untuk elemen urutan ganjil dikenakan p = C - K2 % 26. Dengan K2 merupakan urutan 
abjad alfabet dari huruf pertama Key. 
4. Dekripsi Columnar Transposition Cipher, yaitu membagi text menjadi beberapa baris 
dengan panjang sama dengan panjang Key, kemudian baris disusun berdasarkan 
Key, lalu diambil per kolom. 
a. Dilakukan pengubahan Key dari bentuk kata ke bentuk urutan angka 1 s.d 
panjang Key berdasarkan urutan alfabetnya. Contoh, jika bentuk kata dari Key 
adalah ‘HACKER’, maka akan membentuk urutan angka [4, 1, 2, 5, 3, 6] 
5. Dekripsi Caesar Cipher untuk semua elemen text (p = C - K1 % 26. K1 = length/panjang 
Key) 

Implementasi 

URL Kode Program : h


​ ttps://github.com/ngavinsir/crypto-visualization  

URL User Interface : ​http://crypto-vis.surge.sh/ 

Bab 2  
Transposisi Segitiga siku-siku 
Algoritma Enkripsi 

Proses  enkripsi  atau  pembentukan  ciphertext  dimulai  dengan  memasukan  atau 


menyusun  plaintext  seperti  pola  segitiga  siku-siku  seperti  tabel  dibawah,  di  mana 
proses  penginputan  elemen-elemen  plaintext  ke  dalam  pola  segitiga  dimulai  dari 
puncak  segitiga  lalu  disusul  pembentukan  pada  baris  selanjutnya  secara  horizontal 
dari sisi kiri ke kanan dan selanjutnya hingga terbentuk pola segitiga siku-siku. 

Jika  dalam  baris  terakhir  terdapat  elemen  yang  kosong  atau  dengan kata lain belum 
membentuk  segitiga  siku-siku,  perlu  menambahkan  elemen  ​dummy  dengan  nilai 
yang sama. 

Contoh : 

Plaintext : PERHATIKANRAKYAT  

 
P           

E  R         

H  A  T       

I  K   A  N     

R  A  K  Y  A   

T  X  X  X  X  X 
 

Setelah  pembentukan  segitiga  selesai  maka  banyaknya  row  akan  dijadikan  sebagai 
nilai kunci dekripsi.  

Kunci Dekripsi : 6 

Proses  pembentukan  Ciphertext  dilakukan  dengan  membaca  segitiga  dari  kolom 


pertama  secara  vertikal  dari  atas  ke  bawah  dilanjutkan  dengan  kolom  berikutnya 
secara vertikal ke bawah juga dan selanjutnya  

Ciphertext : PEHIRTRAKAXTAKXNYXAXX 

Algoritma Dekripsi 

Proses  pembentukan  plaintext  memerlukan  proses  pembentukan  segitiga  siku-siku 


juga  seperti  proses  enkripsi.  Proses  dekripsi  dimulai  dengan  pembentukan  sisi tegak 
segitiga  siku-siku  dimana kunci dekripsi digunakan sebagai penentu banyaknya baris 
pada segitiga seperti tabel di bawah.  

Penginputan  elemen  ciphertext  dimulai  dari  sisi  atas  segitiga  secara  vertikal  ke 
bawah  sebanyak  nilai  kunci  dekripsi  dimana  dalam  contoh  bernilai  6  lalu dilanjutkan 
dengan  penginputan  pada  kolom  selanjutnya  dimulai  dari  baris  kedua  agar 
membentuk segitiga siku-siku dan selanjutnya. 

Kunci Dekripsi : 6 
 
P           

E  R         

H  A  T       

I  K  A  N     

R  A  K  Y  A   

T  X  X  X  X  X 
  

Setelah  segitiga  terbentuk  maka  untuk  proses  pembentukan  plaintext  dilakukan 


dengan  membaca  elemen-elemen  yang  ada  pada  segitiga  dari  baris  pertama secara 
horizontal dari kiri ke kanan begitu selanjutnya sampai ke baris terakhir.  

Plaintext : PERHATIKANRAKYATXXXXX 

DIkarenakan  adanya  dummy  elemen  yang  ditambahkan  pada  proses  enkripsi  yang 
biasanya  terletak  pada  elemen-elemen  terakhir  text  dan  memiliki  nilai  yang  sama 
maka perlu dilakukan penghilangan atau pembersihan terhadap dummy elemen. 

Plaintext : PERHATIKANRAKYAT

Daftar Pustaka 

1. https://www.geeksforgeeks.org/columnar-transposition-cipher/ 
2. https://www.geeksforgeeks.org/caesar-cipher-in-cryptography/ 
3. http://taronizeb.blogspot.com/2017/06/cara-kerja-algoritma-tranposisi.html  

Anda mungkin juga menyukai