Ika Nurul Hidayah HS
201731286
Kelas B
Kelompok 8
ALGORITMA VIGENERE CIPHEER
     ALGORITMA
201731286
Kelas B
Kelompok 8
ALGORITMA VIGENERE CIPHEER
a.
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
Kode vigènere termasuk kode abjad-majemuk
(polyalphabetic substitution cipher). 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).
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;
}
#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
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
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.
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
Posting Komentar