Ika Nurul Hidayah HS
201731286
Kelas B
Kelompok 8
ALGORITMA VIGENERE CIPHEER
a.

     ALGORITMA
1.    Hubungan Ksk Dengan Kriptografi Algoritma Kelompok
Dalam sistem  keamanan data  dikenal sebuah  metode  enkripsi  yang  mempunyai kode-kode pengamanan  untuk mengacak data dan  juga  mempunyai  kode-kode  untuk mengembalikan  data  yang  teracak  ke  data yang  sebenarnya.  Enkripsi  bisa  diartikan dengan  chiper  atau  kode,  dimana  pesan  asli (plaintext)  diubah  menjadi  kode-kode tersendiri sesuai  metode yang disepakati oleh kedua belah pihak, baik pihak pengirim pesan maupun  penerima  pesan
Teknik kriptografi  enkripsi  dekripsi dengan  menggunakan Vigenere  Cipher  dapat  melindungi  data dimana  program  akan  melakukan  proses enkripsi dan deskripsi menggunakan dua kunci yang berbeda satu kunci dibangkitkan dengan karakter  plain text  dan  satu  lagi di  inputkan secara manual. Algoritma  enkripsi akan  memberikan hasil yang berbeda tergantung pada kunci yang digunakan. Mengubah kunci dari enkripsi akan mengubah  output  (keluaran)  dari  algoritma enkripsi.  Setelah  itu  ciphertext  kemudian ditransmisikan oleh pengirim. Kemudian akan dilakukan proses dekripsi, yaitu sebuah proses untuk  mengembalikan  teks  yang  telah  acak menjadi  kebentuk  semula  dengan  algoritma dan kunci yang sama. Dalam hal ini dilakukan oleh penerima, sehingga akan kembali menjadi sebuah  informasi  yang  dapat  dipahami  oleh penerima.
Algoritma vigenere cipher  merupakan  salah  satu  metode  dari beberapa  metode  yang  digunakan  untuk melakukan kerahasian data, vigenere  cipher  adalah  algoritma  yang melakukan  enkripsi  sekaligus  sebuah  teks yang  terdiri  dari beberapa  huruf.

2.    Penjelasan Algoritma Vigenere Cipher
a.    Pengertian
Vigenere chiper merupakan salah satu algoritma kriptografi klasik untuk menyandikan suatu plaintext dengan menggunakan teknik substitusi.Vigenere cipher pada dasarnya cukup rumit untuk dipecahkan.
Cipher ini adalah termasuk cipher simetris, yaitu cipher klasik abjad majemuk. Karena setiap huruf dienkripsikan dengan fungsi yang berbeda. Vigenère Cipher merupakan bentuk  pengembangan dari Caesar Cipher. Kelebihan sandi ini dibanding Caesar Cipher dan cipher monoalfabetik lainnya adalah cipher ini tidak begitu rentan terhadap metode pemecahan cipher yang disebut analisis frekuensi.
Algoritma enkripsi jenis ini sangat dikenal karena mudah dipahami dan diimplementasikan. Teknik untuk menghasilkan ciphertext bisa dilakukan menggunakan substitusi angka maupun bujursangkar vigènere. Teknik susbtitusi vigènere dengan menggunakan angka dilakukan dengan menukarkan huruf dengan angka, hampir sama dengan kode geser.


b.    Sejarah
Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16, tahun 1586. Sebenarnya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1533 seperti ditulis di dalam bukuLa Cifra del Sig. Algoritma ini baru dikenal luas 200 tahun kemudian dan dinamakan kode vigènere. Vigènere merupakan pemicu perang sipil di Amerika dan kode vigèneredigunakan oleh Tentara Konfederasi (Confederate Army) pada perang sipil Amerika (American Civil War). Kode vigènere berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19. (Ariyus, 2008).
Pertama didokumentasikan deskripsi polyalphabetic cipher yang telah dirumuskan oleh Leon Battista Alberti sekitar 1467 dan menggunakan logam cipher disk untuk beralih antara cipher alphabets. Alberti sistem alphabets aktif hanya setelah beberapa kata, dan yang aktif ditunjukkan dengan menulis surat yang sesuai abjad di ciphertext. Nanti, di 1508, Johannes Trithemius, dalam karyanya Poligraphia, invented the tabula recta, sebuah komponen penting dari Vigenère cipher. Trithemius, namun hanya menyediakan progresif, kaku dan predictable untuk beralih antara sistem cipher alphabets.
Apa yang sekarang dikenal sebagai Vigenère cipher pada awalnya dijelaskan oleh Giovan Battista Bellaso di 1553 buku La cifra del. Sig. Sig. Giovan Battista Bellaso . Dia dibangun di atas tabula recta dari Trithemius, tetapi menambahkan mengulangi “ikut” (tombol) untuk beralih cipher alphabets setiap huruf.
Blaise de Vigenère dipublikasikan kepada keterangan yang sama tapi lebih kuat autokey cipher sebelum pengadilan Henry III dari Perancis, pada 1586. Belakangan, pada abad ke-19, penemuan Bellaso’s cipher adalah misattributed ke Vigenère. David Kahn dalam bukunya The Codebreakers almarhumi misattribution yang mengatakan bahwa sejarah telah “diabaikan dan kontribusi yang penting ini bukan nama seorang yg memundurkan cipher untuk SD dan dia [Vigenère] meskipun dia tidak ada hubungannya dengan itu”.






c.     Cara Kerja
Cara kerja Vigènere Cipher :
Rumus enkripsi vigenere cipher :
Pi = (Ci-Ki) mod 26
atau
Ci = ( Pi + Ki ) – 26, kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi vigenere cipher :
Pi = (Ci-Ki) mod 26
atau
Pi = ( Ci – Ki ) + 26, kalau hasil pengurangan Ci dengan Ki minus

Keterangan:
Ci = nilai desimal karakter ciphertext ke-i
Pi = nilai desimal karakter plaintext ke-i
Ki = nilai desimal karakter kunci ke-i
Nilai desimal karakter: A=0 B=1 C=2 ... Z=25

Tabel Substitusi Vigenere Chiper



d.    Flowchart Algoritma dan penjelasan


Berikut adalah algoritma dekripsi dari metode vigenere cipher :
1.       Masukkan pesan teks.
2.      Masukkan kunci (tidak boleh lebih dari panjang pesan).
3.      kunci diulang pada karakter sepanjang pesan.
4.      Kunci dan pesan dijadikan desimal.
5.      Nilai desimal pesan dikurangi nilai desimal kunci.
6.      Hasil pengurangan dijadikan ASCII.
7.      Data yang dijadikan ASCII ditampilakn.
8.      Selesai.



3.    Penjelasan Algoritma Kriptografi Berdasarkan Penerapan Tema Kasus
        Menurut kelompok kami, ketika Anonymous Indonesia mengirimkan pesan plaintex yang bertuliskan Stop Spying on Indonesia ke situs iklan dan bisnis kelas bawah di Australia yang menjadi sasaran balas dendam pihak Anonymous, mereka dapat menerapkan Algoritma Kriptografi Vinegere Chiper agar pesan tersebut tidak semakin menyebar luas.
        Anonymous mengirimkan pesan kepada situs iklan dan bisnis di Australia dalam bentuk ciphertext sehingga yang dapat membaca teks tersebut hanya admin di perusahaan tersebut.

4.    Sintaks Dari Algoritma Vigenere Cipher Menggunakan Bahasa C++
#include <iostream>
#include <string>

using namespace std;

class Vigenere {

 public:
  string key;
  Vigenere(string key)
  {
   for(int i = 0; i < key.size();++i)
   {
    if (key[i] >= 'A' && key [i] <= 'Z')
    this->key += key [i];
   else if (key[i] >= 'a' && key[i] <= 'z')
    this->key += key [i] + 'A' - 'a';
   }
  }
  string encrypt(string text)
  {
   string out;
  
   for (int i = 0, j = 0; i < text.length(); ++i)
   {
   char c = text[i];
  
  if (c >= 'a' && c<= 'z')
   c += 'A' - 'a';
  else if ( c < 'A' || c> 'Z')
   continue;
  
  out += (c +key[j] -2 * 'A') %26 +'A';
  j = (j +1) % key.length();
  }
 
  return out;
 }
 string decrypt(string text)
 {
  string out;
 
  for (int i = 0, j = 0; i < text.length(); ++i)
   {
   char c = text[i];
  
  if (c >= 'a' && c<= 'z')
   c += 'A' - 'a';
  else if ( c < 'A' || c> 'Z')
   continue;
  
  out += (c - key[j] +26 ) %26 +'A';
  j = (j +1) % key.length();
  }
 
  return out;
 }
};
int main(){
string a,b;
cout<<"Masukkan Plaintext : ";
cin>>a;
cout<<"Masukkan Key : ";
cin>>b;
 string original=a;
 Vigenere chiper=b;
 
 string encrypted = chiper.encrypt(original);
 string decrypted = chiper.decrypt(encrypted);
 cout<<endl;
 cout<<"encrypted :"<<encrypted<<endl;
 cout<<"decrypted :"<<decrypted<<endl;
}

5.    Link Dari Blog Anggota Kelompok

Fajrahanugrahkskb.blogspot.com
https://indahazzurasttpln.blogspot.com/2018/12/keamanan-sistem-komputer.html?m=1
https://afifahnurlita.blogspot.com/2018/12/keamanan-sistem-komputer.html
https://mulyajefri.blogspot.com/2018/12/keamanan-sistem-komputer.html


6.    Referensi Sumber









b.    ANALISA ALGORITMA
1.    Deskripsikan Hubungan Ksk Dengan Kriptpgrafi Algoritma Kelompok Dan Algoritma Kelompok Lain Yang Memiliki Kesamaan Cara Kerja
Beaufort Cipher secara umum yaitu merupakan teknik enkripsi subtitusi yang berfungsi untuk menyamarkan suatu pesan tertentu dengan menggunakan tabel abjad dan keyword yang telah ditetapkan. Sama seperti viginère cipher, ini menggunakan tabel yang terdiri dari abjad a-z pada baris dan kolomnya yang sering disebut dengan tabula recta. Tabel ini juga memerlukan suatu keyword atau kata kunci dalam mengenkripsi atau decipher pesan yang tersembunyi tersebut. 

2.    Penjelasan Algoritma Kelompok Lain
a.    Pengertian
Beaufort cipher, yang diciptakan oleh Sir Francis Beaufort, adalah substitusi cipher mirip dengan cipher Vigenere, dengan mekanisme enciphering sedikit dimodifikasi dan tablo. Aplikasi yang paling terkenal adalah di mesin cipher berbasis rotor, yang Hagelin M-209. Beaufort cipher didasarkan pada persegi Beaufort yang pada dasarnya sama dengan persegi Vigenere tetapi dalam urutan terbalik diawali dengan huruf "Z" di baris pertama, di mana baris pertama dan kolom terakhir melayani tujuan yang sama.

b.    Sejarah
Algoritma Beaufort Cipher merupakan varian dari algoritma Vignere Cipher Widyastuti, 2014. Algoritma ini ditemukan oleh Laksamana Sir Francis Beaufort,
Royal Navy, yang juga merupakan pencipta skala Beaufort yaitu instrumen ahli meterorologi yang digunakan untuk menunjukkan kecepatan angin. Beaufort Cipher
termasuk algoritma kriptografi klasik kunci simetris Mollin, 2007. Proses enkripsi dan dekripsi pada algoritma Beaufort Cipher menggunakan
sebuah tabel yang disebut dengan tabel Beaufort Tassel, 1969.

c.     Cara kerja
Bukan hanya viginère cipher, berikut ini juga merupakan cipher berasal dari negara Prancis. Karena berasal dari negara yang sama tentunya teknik enkripsi yang digunakan tidak terlalu jauh berbeda

Yang membedakannya dari viginère cipher yaitu penggunaan algoritma yang berbeda dari cara membaca tabelnya.
Viginère cipher membandingkan baris + kolom = isi tabel
Beaufort cipher membandingkan kolom+ isi tabel = baris

Enkripsinya menggunakan tabel dengan ketentuan berikut.

1. Huruf pada pesannya kita lihat pada kolom tabel atas (bagian judulnya ;warna merah)
2. Huruf pada keywordnya kita lihat pada kolom tabel bawah (isinya;warna hitam)
3. Telusuri kedua huruf tersebut dan lihat hasilnya pada baris table.



Formula proses enkripsi :
Ci = Ek(Mi) = (Ki – Mi) Mod 26 ..................................(1)
Formula proses dekripsi :
Mi = Dk(Ci) = (Ki – Ci) Mod 26 ...................................(2)
Keterangan :
Mi = Pesan yang akan dienkripsi (plain)
Ci = Sandi (cipher) Ki = Kunci
Ek = Fungsi Enkripsi Dk = Fungsi Dekripsi
Nilai mod 26 di atas tergantung dari jumlah kebutuhan karakter yang digunakan,pada awalnya beaufort cipher hanya menggunakan 26 karakter, namun seiring dengan perkembangan teknologi komputer saat ini, maka dapat menggunakan mod 256 (mengguakan seluruh tabel ASCII).

Proses Enkripsi



Proses Deskripsi





3.    Pengetesan Kedua Algoritma Dengan Menggunakan Sintaks Bahasa Pemograman Yang Dipilih Dengan Inputan Plaintext Berupa Nama Dan Nim (Proses Enkripsi Dan Deskripsi)

a.    Vigenere Cipher

Pseudocode Enkripsi Vigenere Cipher
Deklarasi
Key, newKey, ika286 : string;
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (ika286);
for (int i ← 0; i < ika286.length)do
j ← i mod key.length();
newKey ← key(j);
end for;
write(newKey);
karakter [i] ← ika286;
key ← get(key. ika286);
for (int i ← 0; i < karakter.length)do
ciphertext←(char) (((95+((karakter[i]-‘ ’)+key(i)-‘ ‘)) mod 95+’ ’);
end for
write (ciphertext);

Pseudocode Dekripsi Vigenere Cipher
Deklarasi
Key, newKey, ciphertext : string;
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (ciphertext);
for (int i ← 0; i < ciphertext.length)do
j ← i mod key.length();
newKey ← key.charAt(j);
end for;
write(newKey);
karakter [i] ← ciphertext;
key ← get(key. ciphertext);
for (int i ← 0; i < karakter.length)do
ika286 ← (char) (((95+((karakter[i] – ‘ ’)-key.charAt(i) – ‘ ‘)) mod 95)+’ ’);
end for
write (ika286);

b.    Beaufort Cipher
Pseudocode Enkripsi Beaufort Cipher
Deklarasi
Key, newKey, ika286 : string;
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (ika286);
for (int i ← 0; i < ika286.length)do
j ← i mod key.length(); 
newKey ← key(j);
end for;
write(newKey);
karakter [i] ← ika286;
key ← get(key. ika286);
for (int i ← 0; i < karakter.length)do
ciphertext←(char) (((95-((karakter[i]-‘ ’)-key(i)-‘ ‘)) mod 95-’ ’);
end for
write (ciphertext);

Pseudocode Dekripsi Vigenere Cipher
Deklarasi
Key, newKey, ciphertext : string;
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (ciphertext);
for (int i ← 0; i < ciphertext.length)do
j ← i mod key.length();
newKey ← key.charAt(j);
end for;
write(newKey);
karakter [i] ← ciphertext;
key ← get(key. ciphertext);
for (int i ← 0; i < karakter.length)do
ika286 ← (char) (((95-((karakter[i] – ‘ ’)-key.charAt(i) – ‘ ‘)) mod 95)-’ ’);
end for
write (ika286);


4.    Perbedaan Dan Perbedaan Beaufort Chipper Dan Vigenere Chipper
Persamaan
a.    Viginère cipher membandingkan baris + kolom = isi table
Beaufort cipher membandingkan kolom+ isi tabel = baris
b.    Dalam Vigenere cipher kunci digunakan sebagai penambah plain teks dan pengurang cipher teks. Sedangkan dalam formula yang digunakan Beaufort cipher, kunci digunakan untuk dikurangkan dengan plain teks maupun cipher teks.
c.     Beaufort sebagai penyempurna Vigenere
Persamaan
a. Menggunakan teknik substraksi
b. Penggunaan fungsi modulo atau sisa hasil bagi
c. Jenis kunci yang yang digunakan

5.    Link Kelompok yang bersangkutan



6.    Referensi sumber


Power point kelompok 9


Komentar

Postingan populer dari blog ini