A. ALGORITMA
1. Deskripsikan hubungan KSK dengan Algoritma Kriptografi Anggota Kelompok
Sebelum
membahas hubungan keamanan jaringan dan kriptografi kita harus tau pengertian
dari kedua hal tersebut. Pertama kita membahas pengetian kriptografi. Kriptografi
berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan
graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan.
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data,
keabsahan data, integritas data, serta autentikasi data. Tetapi tidak semua
aspek keamanan informasi dapat diselesaikan dengan kriptografi.Sedangkan
Keamanan jaringan adalah suatu cara atau suatu system yang digunakan untuk mmberikan
proteksi atau perlindungan pada suatu jaringan agar terhindar dari berbagai
ancaman luar yang mampu merusak jaringan. Ada dua elemen utama pembentuk
keamanan jaringan yaitu: 1. Tembok
pengamanan (baik secara fisik maupun maya), yaitu suatu cara untuk memberikan
proteksi atau perlindugan pada jarigan, baik secara fisik (kenyataan)
maupun maya (menggunakan software). 2.Rencana
pengamanan, yaitu suatu rancagan yang nantinya akan di implementasiakan uantuk
melindugi jaringan agar terhindar dari berbagai ancaman dalam jaringan.
Dari
dua definisi diatas dapat saya simpulkan bahwa ada hubungan diantara keduanya.
Tembok pengaman keamanan yang memberikan proteksi pada jaringan tentunya
membutuhkan kriptografi yaitu untuk membuat encripsi data yang digunakan
sebagai kunci penganman jaringan tersebut. Dalam jaringan tentunya ada
batasan-batasan tertentu siapa saja yang dapat mengakses jaringan tersebut. Untuk
memberikan batasan-batasan tersebut masing pengguna jaringan tersebut harus
diberi kode-kode unik atau data yang telah dienkripsi untuk dapat mengakses
jaringan tersebut. Dijaman modern ini
kartografi cenderung ke enkripsi data dimana tujuan dari encripsi data adalah
untuk menjaga kerahasiaan dari data tersebut. Data yang telah dienkripsi
memiliki algoritma tertentu sehingga dapat berubah menjadi kode-kode tertentu
yang hanya dimengerti si pembuat pengkodean tersbut. Dengan enkripsi data akan
membuat transfer data lewat jaringan lebih terjaga kerahasiaannya karena karena
misal data yang terkirim terbut berhasil disadap maka data tersebut masih berbentuk
kode yang sulit untuk diketahui algoritmannya atau tidak memungkinta orang lain
mengkonvert ke pesan aslinya. Data yang dapat dienkripsi tidak hanya data
berupa huruf saja tetapi juga data yg berupa gambar, suara, dan video.
2. Jelaskan tentang Algoritma Kelompok
Vigenere Cipher adalah suatu algoritma kriptografi klasik yang ditemukan oleh Giovan Battista Bellaso. Beliau menuliskan metodenya tersebut pada bukunya yang berjudul La Cifra del. Sig. Giovan Battista Bellaso pada tahun 1553. Nama vigenere sendiri diambil dari seorang yang bernama Blaise de Vigenere. Nama vigenere diambil sebagai nama algoritma ini karena beliau menemukan kunci yang lebih kuat lagi untuk algoritma ini dengan metode autokey cipher meskipun algoritma dasarnya telah ditemukan lebih dahulu oleh Giovan Battista Bellaso. Algoritma ini menjadi terkenal karenacukup sulit dipecahkan. Matematikawan Charles Lutwidge Dodgson menyatakan bahwa algoritma ini tidak terpecahkan. Pada tahun 1917, ilmuwan Amerika menyebutkan bahwa Vigenere cipheradalah sesuatu yang tidak mungkin untukditranslasikan. Namun hal ini terbantahkan sejak Kasiski berhasil memecahkan algoritma pada abad ke-19. Pada dasarnya Vigenere Cipher serupadengan Caesar Cipher, perbedaannya adalah pada Vigenere Cipher setiap huruf pesan aslinya digeser sebanyak satu huruf pada kuncinya sedangkan pada Caesar Cipher setiap huruf pesannya digeser sebanyak 1 huruf yang sama. Algoritma Vigenere Cipher ini menggunakan bujursangkar Vigenere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf ciphertext yang diperoleh dengan Caesar cipher. Untuk lebih jelasnya perhatikan gambar 2 di bawah ini. Deretan huruf kuning mendatar merepresentasikan plaintext, sedangkan deretan huruf hijau menurun merepresentasikan kunci.
Vigenere chiper merupakan salah satu algoritma kriptografi klasik untuk menyandikan suatu plaintext dengan menggunakan teknik substitusi.Vigenere cipher pada dasarnya cukup rumit untuk dipecahkan. Meskipun begitu, Vigenere cipher tetap memiliki kelemahan. Salah satunya adalah dapat diketahui panjang kuncinya dengan menggunakan metode kasiski. Hal ini disebabkan karena umumnya terdapat frasa yang berulang-ulang pada ciphertext yang dihasilkan.
- Enkripsi : Ci= (Pi+Ki) mod 26
- Deskripsi : Pi= (Ci+Ki) mod 26
Untuk menyandikan pesan, digunakan sebuah pesan alphabetis yg di urut, dan di geser 1 shift untuk alphabet yg selanjut nya.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
Dst..
Contoh :
Plainteks : KILL KING TONIGHT OR DIE
Key : DBCC GYGF AUJJINE CF PED
Chiperteks : NJNN QGTL TIWROUX QW SMH
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. Giovan Batista Belaso menjelaskan metode ini dalam buku La cifra del. Sig. Giovan Batista Belaso (1553); dan disempurnakan oleh diplomat Perancis Blaise de Vigenère, pada 1586. Pada abat ke-19, banyak orang yang mengira Vigenère adalah penemu cipher ini, sehingga, cipher ini dikenal luas sebagai Vigenère Cipher.
Cipher ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, cipher ini dijuluki le chiffre indéchiffrable (bahasa Prancis: 'cipher yang tak terpecahkan'). Metode pemecahan cipher ini baru ditemukan pada abad ke-19. Pada tahun 1854, Charles Babbage menemukan cara untuk memecahkan Vigenère Cipher. Metode ini dinamakan Metode Kasiski karena Friedrich Kasiski-lah yang pertama mempublikasikannya. Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi dan dekripsi. Jika pada Caesar Cipher setiap huruf digeser dengan besar geseran yang sama, maka pada Vigènere Cipher setiap huruf digeser dengan besar yang berbeda sesuai dengan kuncinya.
Tabel Bujur Sangkar Vinegere
1. Enkripsi Vigènere Cipher
Secara matematis, enkripsi Vigènere Cipher dengan jumlah karakter sebanyak 26 dapat ditulis dalam bentuk
- ci ≡ ( pi+k j )mod 26 atau
- ci ≡ ( pi+k j )mod n (untukVigènere Cipher dengan jumlah karakter n)
j = (( i– 1) mod 25) +1
2. Dekripsi Vigènere Cipher
Untuk melakukan dekripsi pada Vigènere Cipher, digunakan kebalikan dari fungsi enkripsinya. Secara matematis, dekripsi Vigènere Cipher dengan jumlah karakter sebanyak 26 dapat ditulis dalam bentuk
- pi ≡ (ci-k j )mod 26 atau
- pi ≡ (ci-k j )mod n (untuk Vigènere Cipher dengan jumlah karakter n)
j = (( i – 1) mod 25) +1
3. Berikan deskripsi dari study kasusterkait tema kelompok dan bagian mana Algoritma kelompok diterapkan
Sekelompok aktivis hacker atau kerap disebut 'hacktivist' asal Indonesia yang mengatasnamakan dirinya sebagai Anonymous Indonesia, melalui akun Twitter @anon_indonesia mengumumkan daftar ratusan situs Australia yang diklaim telah berhasil mereka bajak.
Penyerangan cyber terhadap ratusan situs asal Australia ini diduga sebagai tindakan balasan atas tuduhan spionase (mata-mata) yang dilakukan pihak Kedubes Australia di sejumlah negara di wilayah Asia Tenggara, termasuk Indonesia.
Menurut yang dilansir laman Reuters, Senin (4/11/2013), situs-situs yang berhasil dibajak itu di-hack dan mengalami deface atau perubahan tampilan laman. Halaman awal situs diubah dan menampilkan pesan khusus yang berbunyi" "Stop Spying on Indonesia" yang artinya "Berhentilah Memata-matai Indonesia".
Menurut yang dilansir laman Reuters, Senin (4/11/2013), situs-situs yang berhasil dibajak itu di-hack dan mengalami deface atau perubahan tampilan laman. Halaman awal situs diubah dan menampilkan pesan khusus yang berbunyi" "Stop Spying on Indonesia" yang artinya "Berhentilah Memata-matai Indonesia".
Kebanyakan
situs yang menjadi korban peretasan adalah situs iklan dan bisnis kelas
bawah yang tak terlalu populer di Australia dan diperkirakan dipilih
secara acak.
Sebelumnya The Sydney Morning Herald mengabarkan bahwa sejumlah Kedubes Australia yang berada di wilayah Asia Tenggara terlibat kegiatan penyadapan yang dimotori oleh dinas intelejen Amerika Serikat (NSA). Dilaporkan Kedubes Australia di Jakarta, Bangkok, Hanoi, Beijing dan Dili, juga Kantor Komisi Tinggi di Kuala Lumpur serta Port Moresby telibat urusan spionase ini.
Hal ini tentunya membuat pemerintahan negara yang menjadi korban penyadapan geram dan mengambil tindakan tegas, termasuk Indonesia. Laman Antara mengabarkan bahwa pada Jumat, (1/11/2013), Kementerian Luar Negeri telah memanggil duta besar Autralia untuk dimintai keterangan lebih lanjut terkait isu spionase ini. (dhi/dew)
Sebelumnya The Sydney Morning Herald mengabarkan bahwa sejumlah Kedubes Australia yang berada di wilayah Asia Tenggara terlibat kegiatan penyadapan yang dimotori oleh dinas intelejen Amerika Serikat (NSA). Dilaporkan Kedubes Australia di Jakarta, Bangkok, Hanoi, Beijing dan Dili, juga Kantor Komisi Tinggi di Kuala Lumpur serta Port Moresby telibat urusan spionase ini.
Hal ini tentunya membuat pemerintahan negara yang menjadi korban penyadapan geram dan mengambil tindakan tegas, termasuk Indonesia. Laman Antara mengabarkan bahwa pada Jumat, (1/11/2013), Kementerian Luar Negeri telah memanggil duta besar Autralia untuk dimintai keterangan lebih lanjut terkait isu spionase ini. (dhi/dew)
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.
4. Berikan sintaks Algoritma kelompok dengan bahasa pemrograman yang dipilih
Enkripsi merupakan salah satu teknik keamanan yang paling sering
digunakan. Banyak data yang bisa di enkrip misal, isi pesan, citra
digital(gambar), password penting dan lain sebagainya. Salah satu teknik
dasar yang umum dipelajari dalam enkripsi ialah Caesar Cipher. Caesar
Cipher merupakan salah satu teknik dasar yang sangat mudah dipelajari
karena, pada dasarnya teknik caesar cipher hanya melakukan pergeseran
karakter sesuai dengan value key yang diberikan oleh si pengaman data. "Maksud pergeseran karakter itu gimana ya?" Setiap huruf alphabet dimulai dari huruf A s.d. Z atau a s.d. z diberi nomor angka seperti berikut.
A = 0B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
K = 10
L = 11
M = 12
N = 13
O = 14
P = 15
Q = 16
R = 17
S = 18
T = 19
U = 20
V = 21
W = 22
X = 23
Y = 24
Z = 25
catatan:
bahwa pemberian nomor huruf ini tidak ada perbedaan antara huruf kecil
atau huruf kapital. Nah, seperti pada keterangan diatas bahwa setiap
huruf di beri nomor agar kita bisa melakukan proses enkripsi caesar
cipher. Sebelum masuk ke coding, berikut rumus untuk Enkripsi dan
Dekripsi Caesar.
Rumus Enkripsi --> C = (nomor_karakter_plain_text + key) mod 26Rumus Dekripsi --> P = (nomor_karakter_cipher_text - key) mod 26
Setelah Anda tahu kedua rumus diatas, saatnya let's rock n roll bro. Berikut contoh kasusnya.
Contoh Kasus:
Diberikan sebuah kata seperti berikut.
I AM PROGRAMMER
Kemudian, ubahlah kata diatas dengan menggunakan teknik Enkripsi Caesar Cipher menggunakan key bulan lahir( si penulis lahir bulan desember jadi, key nya 12).
Berikut langkah-langkahnya:
- Huruf : I
Nomor Karakter Huruf I = 8
C = (8 + 12) mod 26
C = (20) mod 26
C = 20 --> Huruf U (U merupakan nomor huruf karakternya 20) - Huruf : A
Nomor Karakter Huruf A = 0
C = (0 + 12) mod 26
C = (12) mod 26
C = 12 --> Huruf M - Huruf : M
Nomor Karakter Huruf M = 12
C = (12 + 12) mod 26
C = (24) mod 26
C = 24 --> Y - Huruf : P
Nomor Karakter Huruf P = 15
C = (15 + 12) mod 26
C = (27) mod 26
C = 1 --> B - Huruf : R
Nomor Karakter Huruf R = 17
C = (17 + 12) mod 26
C = (29) mod 26
C = 3 --> D - Huruf : O
Nomor Karakter Huruf O = 14
C = (14 + 12) mod 26
C = (26) mod 26
C = 0 --> A - Huruf : G
Nomor Karakter Huruf G = 6
C = (6 + 12) mod 26
C = (18) mod 26
C = 18 --> S - Huruf : R
Nomor Karakter Huruf R = 17
C = (17 + 12) mod 26
C = (29) mod 26
C = 3 --> D - Huruf : A
Nomor Karakter Huruf A = 0
C = (0 + 12) mod 26
C = (12) mod 26
C = 12 --> M - Huruf : M
Nomor Karakter Huruf M = 12
C = (12 + 12) mod 26
C = (24) mod 26
C = 24 --> Y - Huruf : M
Nomor Karakter Huruf M = 12
C = (12 + 12) mod 26
C = (24) mod 26
C = 24 --> Y - Huruf : E
Nomor Karakter Huruf E = 4
C = (4 + 12) mod 26
C = (16) mod 26
C = 16 --> Q - Huruf : R
Nomor Karakter Huruf R = 17
C = (17 + 12) mod 26
C = (29) mod 26
C = 3 --> D
Jadi, setelah dilakukan proses enkripsi maka, hasil akhir dari kata tersebut setelah di enkripsi ialah menjadi U MY BDASDMYYQD.
Gimana? asik bukan belajar enkripsi. Jadi, kita bisa kirim-kiriman
pesan rahasia deh sama pacar atau selingkuhan kita :D hehehehe....
Nah,
sekarang bagaimana cara kita mengembalikan kata yang sudah di enkripsi
tadi kembali menjadi plain text atau kata yang sebenarnya sebelum di
enkrip.
Masih menggunakan kata yang sudah kita enkrip tadi dan key yang sama yakni 12. Berikut langkah-langkahnya.
- Huruf : U
Nomor Karakter Huruf U : 20
P = (20 - 12) mod 26
P = (8) mod 26
P = 8 --> I - Huruf : M
Nomor Karakter Huruf M : 12
P = (12 - 12) mod 26
P = (0) mod 26
P = 0 --> A - Huruf : Y
Nomor Karakter Huruf Y : 24
P = (24 - 12) mod 26
P = (12) mod 26
P = 12 --> M - Huruf : B
Nomor Karakter Huruf B : 1
P = (1 - 12) mod 26
P = (-11) mod 26
P = 26 - 11
P = 15 --> P - Huruf : D
Nomor Karakter Huruf D : 3
P = (3 - 12) mod 26
P = (-9) mod 26
P = 26 - 9
P = 17 --> R - Huruf : A
Nomor Karakter Huruf A : 0
P = (0 - 12) mod 26
P = (-12) mod 26
P = 26 - 12
P = 14 --> O - Huruf : S
Nomor Karakter Huruf S : 18
P = (18 - 12) mod 26
P = (6) mod 26
P = 6 --> G - Huruf : D
Nomor Karakter Huruf D : 3
P = (3 - 12) mod 26
P = (-9) mod 26
P = 26 - 9
P = 17 --> R - Huruf : M
Nomor Karakter Huruf M : 12
P = (12 - 12) mod 26
P = (0) mod 26
P = 0 --> A - 10. Huruf : Y
Nomor Karakter Huruf Y : 24
P = (24 - 12) mod 26
P = (12) mod 26
P = 12 --> M - Huruf : Y
Nomor Karakter Huruf Y : 24
P = (24 - 12) mod 26
P = (12) mod 26
P = 12 --> M - Huruf : Q
Nomor Karakter Huruf Q : 16
P = (16 - 12) mod 26
P = (4) mod 26
P = 4 --> E - Huruf : D
Nomor Karakter Huruf D : 3
P = (3 - 12) mod 26
P = (-9) mod 26
P = 26 - 9
P = 17 --> R
5. Link Blog anggota kelompok anda
6. Referensi sumber materi
- https://saras-noya45.blogspot.com/2016/08/hubungan-keamanan-jaringan-dan.html
- https://www.academia.edu/8313962/Vigenere_Cipher_adalah_suatu_algoritma_kriptografi_klasik_yang_ditemukan_oleh_Giovan_Battista_Bellaso
- https://www.liputan6.com/tekno/read/737087/hacker-anonymous-indonesia-lumpuhkan-ratusan-situs-australia
- https://www.codepolitan.com/enkripsi-caesar-cipher-dengan-java
B. ANALISIS ALGORITMA
1. Deskripsikan hubungan KSK dengan Algoritma Kriptografi Anggota Kelompok Lain
Sebelum
membahas hubungan keamanan jaringan dan kriptografi kita harus tau pengertian
dari kedua hal tersebut. Pertama kita membahas pengetian kriptografi. Kriptografi
berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan
graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan.
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data,
keabsahan data, integritas data, serta autentikasi data. Tetapi tidak semua
aspek keamanan informasi dapat diselesaikan dengan kriptografi.Sedangkan
Keamanan jaringan adalah suatu cara atau suatu system yang digunakan untuk mmberikan
proteksi atau perlindungan pada suatu jaringan agar terhindar dari berbagai
ancaman luar yang mampu merusak jaringan. Ada dua elemen utama pembentuk
keamanan jaringan yaitu: 1. Tembok
pengamanan (baik secara fisik maupun maya), yaitu suatu cara untuk memberikan
proteksi atau perlindugan pada jarigan, baik secara fisik (kenyataan)
maupun maya (menggunakan software). 2.Rencana
pengamanan, yaitu suatu rancagan yang nantinya akan di implementasiakan uantuk
melindugi jaringan agar terhindar dari berbagai ancaman dalam jaringan.
Dari
dua definisi diatas dapat saya simpulkan bahwa ada hubungan diantara keduanya.
Tembok pengaman keamanan yang memberikan proteksi pada jaringan tentunya
membutuhkan kriptografi yaitu untuk membuat encripsi data yang digunakan
sebagai kunci penganman jaringan tersebut. Dalam jaringan tentunya ada
batasan-batasan tertentu siapa saja yang dapat mengakses jaringan tersebut. Untuk
memberikan batasan-batasan tersebut masing pengguna jaringan tersebut harus
diberi kode-kode unik atau data yang telah dienkripsi untuk dapat mengakses
jaringan tersebut. Dijaman modern ini
kartografi cenderung ke enkripsi data dimana tujuan dari encripsi data adalah
untuk menjaga kerahasiaan dari data tersebut. Data yang telah dienkripsi
memiliki algoritma tertentu sehingga dapat berubah menjadi kode-kode tertentu
yang hanya dimengerti si pembuat pengkodean tersbut. Dengan enkripsi data akan
membuat transfer data lewat jaringan lebih terjaga kerahasiaannya karena karena
misal data yang terkirim terbut berhasil disadap maka data tersebut masih berbentuk
kode yang sulit untuk diketahui algoritmannya atau tidak memungkinta orang lain
mengkonvert ke pesan aslinya. Data yang dapat dienkripsi tidak hanya data
berupa huruf saja tetapi juga data yg berupa gambar, suara, dan video.
2. Jelaskan tentang Algoritma Kelompok Lain
Cipher beaufort, yang dibuat oleh sir francis beaufort, adalah cipher substitusi yang mirip dengan vigenère cipher, dengan mekanisme pengkodean dan table yang dimodifikasi sedikit. Aplikasi yang paling terkenal adalah di mesin cipher rotor berbasis, hagelin M-209. Cipher beaufort didasarkan pada persegi beaufort yang pada dasarnya sama dengan persegi vigenère tetapi dalam urutan terbalik dimulai dengan huruf "Z" di baris pertama, di mana baris pertama dan kolom terakhir melayani tujuan yang sama.
Cara Kerja:
- Untuk mengenkripsi pesan plaintext menggunakan vigenère cipher, salah satu menempatkan baris dengan huruf pertama yang akan dienkripsi, dan kolom dengan huruf pertama dari kata kunci.
- Huruf ciphertext terletak di persimpangan dari baris dan kolom. Hal ini berlanjut untuk seluruh panjang pesan. Menjalankan grafik kode kunci
- Sebuah cipher beaufort menggunakan tabel alfabet yang sama dengan cipher vigenère, tetapi dengan algoritma yang berbeda. Untuk menyandikan surat anda menemukan huruf di baris atas. Kemudian melacak ke bawah sampai anda menemukan keyletter tersebut. Kemudian melacak ke kolom paling kiri untuk menemukan huruf dienkripsi.
- Untuk menguraikan surat, anda menemukan surat di kolom kiri, melacak ke keyletter dan kemudian melacak untuk menemukan huruf diuraikan.
- Beberapa orang menemukan ini lebih mudah dilakukan daripada menemukan persimpangan dari baris dan kolom
Namun, pada saat ini algoritma beaufort tidak hanya bisa mengenkripsi dan dekripsi huruf saja tetapi angka maupun simbol-simbol yang terdapat pada tabel ASCII bisa di enkripsi dan dekripsi. Dalam perkembangan sistem komputasi modern, karakter atau simbol biasanya direpresentasikan dalam bentuk ASCII. Setiap karakter atau simbol yang muncul di layar komputer memiliki kode ASCII yang berbeda dan panjang masing-masing kode ASCII dalam biner adalah 8 bit (budiman and rachmawati, 2017).
3. Lakukan pengetesan terhadap kedua algoritma tersebut dengan menggunakan sintas bahasa pemrograman yang dipilih! Dengan inputan plaintext berupa NAMA dan NIM!
#include <iostream.h>
#include <string>
#include <conio.h>
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;// INDAH292(catatan 292 diwakilkan dengan CJC)
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;
getch();
}
#include <string>
#include <conio.h>
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;// INDAH292(catatan 292 diwakilkan dengan CJC)
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;
getch();
}
- Algoritma Vigenere Cipher
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
fajrah301 ← (char) (((95-((karakter[i] – ‘ ’)-key.charAt(i) – ‘ ‘)) mod 95)-’ ’);
end for
write (FIFA252);
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
fajrah301 ← (char) (((95-((karakter[i] – ‘ ’)-key.charAt(i) – ‘ ‘)) mod 95)-’ ’);
end for
write (FIFA252);
- Algoritma Beaufort Cipher
Key, newKey, Fifa252 : string;
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (FIFA252);
for (int i ← 0; i < FIFA252.length)do
j ← i mod key.length();
newKey ← key(LITA);
end for;
write(newKey);
karakter [i] ← FIFA252;
key ← get(key.FIFA252);
for (int i ← 0; i < karakter.length)do
ciphertext←(char) (((95-((karakter[i]-‘ ’)-key(i)-‘ ‘)) mod 95-’ ’);
end for
write (ciphertext);
karakter:array[1 ….. karakter.length]of string;
i, j : integer;
Dekripsi
input (key);
input (FIFA252);
for (int i ← 0; i < FIFA252.length)do
j ← i mod key.length();
newKey ← key(LITA);
end for;
write(newKey);
karakter [i] ← FIFA252;
key ← get(key.FIFA252);
for (int i ← 0; i < karakter.length)do
ciphertext←(char) (((95-((karakter[i]-‘ ’)-key(i)-‘ ‘)) mod 95-’ ’);
end for
write (ciphertext);
4. Lakukan perbandingan kedua algoritma tersebu dengan menemukan persamaan dan perbedaannya
- Kesamaan dari kedua teknik ini adalah penggunaan fungsi modulo atau sisa hasil bagi maupun jenis kunci yang yang digunakan.
- Perbedaan dari kedua metode ini adalah peranan kunci, 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.
5. Berikan Link dari blog anggota kelompok lain tersebut
6. Berikan Referensi sumber dan materi
C. KESIMPULAN
Dari persamaan dan perbedaan yang terdapat pada algoritma kriptografi vigenere chiper dan beaufort chiper dapat disimpulkan bahwa beaufort chiper lebih maju di bandingkan vigenere chiper karena di beaufort dapat membaca huruf baik kapital maupun yang tidak kapital, angka,simbol,karakter dan spasi yang sebagian tidak dapat bisa di baca oleh Vigenere Chiper.Tetapi untuk cara kerjanya sama sama menggunakan tabel substitusi yang dimana setiap karakter mewakili angka. Dengan kata lain Beaufort cipher merupakan metode kriptografi subtitusi turunan dari Vigenere cipher yang menggunakan teknik substraksi untuk penyempurna algoritma kriptografi vigenere cipher.