Keamanan Sistem Komputer Kelompok 9
A. Algoritma Beaufort Cipher
Hubungan
Keamanan Sistem Komputer Dengan Algoritma Beaufort Cipher
Kriptografi secara garis besar
didefinisikan sebagai suatu ilmu yang mempelajari cara menjaga
suatu pesan data tetap aman terkirim sehingga pihak ketiga tidak akan
mengetahui isi dari pesan tersebut.
Ada banyak definisi kriptografi
didefinisikan oleh beberapa ahli. Salah satunya Bruce Sch einer dalam
bukunya “Applied Cryptography”,
menuliskan kriptografi adalah ilmu
pengetahuan dan seni menjaga message tetap aman (secure).
Kemudiania juga menuliskan, secara
umum kriptografi itu sendiri adalah ilmu dan seni untuk menjaga kerahasiaan
suatu berita. Ia juga menuliskan ada pengertian lain, yaitu pengertian ilmu
yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek
keamanan informasi, sebagai contoh, keabsahan data, integritas data, serta
autentikasi data (definisi oleh A. Menezes, P. van Oorshot, dan S. Vanstone.
Dituliskan juga tidak semua aspek keamanan suatu jaringan komputer
ditangani oleh kriptografi.
Mengapa Kriptografi digunakan untuk
aspek keamanan suatu jaringan komputer?
Ada beberapa alasan kriptografi
digunakan untuk mengamankan suatu data dalam jaringan, yaitu
1. Rahasia
Semua
sandi dari suatu kriptografi dapat menjagaisi informasi dari siapapun kecuali
orang yang memiliki sandi tersebut untuk melihat informasi yang telah dikunci
tersebut
2. Integritas
Data
kriptografi
berhubungan dengan penjagaan daripada perubahan data secara tidak sah
oleh orang ketiga. Untuk menjaga integritas data, sistem harus bisa mendeteksi
manipulasi dataoleh orang pihak ketiga, seperti penysipan, penghapusan, dan
pensubsitusian data lain kedalam data yang sebenarnya.
3. Autentikasi
Berhubungan
dengan identifikasi atau pengenalan Dua pihak yang saling berkomunikasi harus
saling memerkenalkan diri Hal ini untuk mengecek keaslian, isi datanya, waktu
pengiriman, dll.
4. Non-repudasi
Usaha
mencegah terjadinya penyangkalan terhadap terciptanya suatu informasi.
Pengertian
Beaufort Cipher
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. 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.
Sejarah
Beaufort Cipher
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 Beaufort Cipher
• 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).
menunjukkan
list karakter yang akan digunakan. Adapun list karakter yang digunakan sebanyak
100 karakter. Proses enkripsi dan dekripsi algoritma Beaufort Cipher dirumuskan
sebagai berikut:
• Ci ≡ Ki−Pi (mod n) ------------------ (1)
• i ≡ Ki−Ci
dimana
𝑃i merupakan plaintext, Ki adalah
key, 𝐶i adalah ciphertext yang diperoleh dan 𝑛 adalah jumlah karakter yang digunakan (Mollin, 2007).
(mod
n) ------------------(2)
Berikut
adalah contoh proses enkripsi dan dekripsi :
Plaintext
: TIA RAHMADIANTI
Kunci
: Fasilkom-TI USU
Proses Enkripsi
Proses Deskripsi
Studi Kasus
REPUBLIKA.CO.ID, SINGAPURA --
Serangan siber besar terhadap data kesehatan Singapura menyebabkan kebocoran
data pribadi sekitar 1,5 juta orang, termasuk Perdana Menteri Lee Hsien Loong.
Pemerintah menyebut insiden itu
sebagai kebocoran data pribadi terparah yang pernah dialami Singapura.
Kebocoran terjadi saat pemerintah menempatkan keamanan siber sebagai prioritas
utama bagi kawasan Asia Tenggara.
Pada tahun ini, Singapura mengepalai
Perhimpungan Bangsa Asia Tenggara (ASEAN), yang beranggotakan 10 negara.
"Penyelidikan Badan Keamanan Siber Singapura (CSA) bersama Sistem
Penerangan Kesehatan Terpadu (IHiS) menunjukkan itu adalah serangan siber
sangat terencana. Itu tidak dilakukan oleh peretas kacangan atau geng
kriminal," kata pernyataan resmi pemerintah, Jumat (20/7).
Sekitar 1,5 juta data dari pasien
yang mengunjungi klinik antara Mei 2015 sampai 4 Juli tahun ini telah disalin
secara ilegal. "Para pelaku secara khusus berulang kali berusaha mencuri
data dan informasi obat-obatan yang digunakan Perdana Menteri Lee Hsien
Loong," kata mereka.
Kementerian Komunikasi dalam
pernyataan terpisah mengatakan sebuah komite penyelidikan akan dibentuk dan
kebijakan akan segera diputuskan untuk memperkuat sistem pemerintahan dalam
menghadapi serangan siber. Kedua kementerian tidak merinci siapa yang diduga
menjadi dalang serangan.
PM Lee, dalam sebuah postingan Facebook
usai terjadinya serangan, mengaku tidak tahu informasi apa yang tengah dicari
pelaku serangan siber. "Data medis saya bukan merupakan suatu yang bisa
saya ceritakan begitu saja pada orang lain, tapi tidak ada yang berbahaya di
dalamnya," kata dia.
Penerapan Algoritma Beaufort cipher
ini pada bagian penyimpanan data pasien, contoh pasien yang berobat dibuatkan
file untuk menyimpan informasi-informasi penyakit yang dialami beserta obat
yang digunakan. File pasien tersebut akan dienkripsi agar hanya pihak rumah
sakit dan pasien sendiri yang tau isi dari file tersebut
Sintaks Algoritma Beaufort Cipher Dengan Menggunakan
Bahasa C# Visual Studio
using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeufortCipher
{
class BeaufortCipher
{
static void Main(string[] args);
public static void Run()
{
Console.WriteLine("BeaufortCipher");
Console.WriteLine();
string clearText = "rendii"; ///ini merupakan Plaintext
Console.readLine("Plain Text: ");
List<char> alphabet =
Enumerable.Range('a', 'z' - 'a' + 1)
.Select(x => (char)x).ToList();
char[][] tabulaRecta = new char['z' - 'a' + 1][];
for (int i = 0; i < tabulaRecta.Length; i++)
{
tabulaRecta[i] = alphabet.ToArray();
var first = alphabet.First();
alphabet.Remove(first);
alphabet.Insert(alphabet.Count, first);
}
string keyword = "landri"; ///ini merupakan Key
Console.WriteLine("Key : " + keyword);
Console.WriteLine();
string cipherText = Cipher(clearText, tabulaRecta, keyword);
Console.WriteLine("Ciphered Text: {0}", cipherText);
string decipherText = Decipher(cipherText, tabulaRecta, keyword);
Console.WriteLine("Deciphered Text: {0}", decipherText);
Console.ReadKey();
}
private static string GrowToTextSize(int length, string keyword)
{
string result = keyword;
int idx = 0;
while (result.Length < length)
{
result += keyword[idx++];
if (idx >= keyword.Length)
{
idx = 0;
}
}
return result;
}
private static int IndexOf(char[] array, char toFind)
{
int result = -1;
for (int i = 0; i < array.Length; i++)
{
if (array[i] == toFind)
{
result = i;
break;
}
}
return result;
}
private static string Cipher(string clearText, char[][] tabulaRecta, string keyword)
{
string result = string.Empty;
keyword = GrowToTextSize(clearText.Length, keyword);
for (int i = 0; i < clearText.Length; i++)
{
int row = keyword[i] - 'a';
char charToCipher = clearText[i];
int idx = IndexOf(tabulaRecta[row], charToCipher);
if (idx == 0)
{
idx = tabulaRecta[row].Length;
}
idx = tabulaRecta[row].Length - idx;
result += tabulaRecta[0][idx];
}
return result;
}
private static string Decipher(string cipherText, char[][] tabulaRecta, string keyword)
{
string result = string.Empty;
result = Cipher(cipherText, tabulaRecta, keyword);
return result;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeufortCipher
{
class BeaufortCipher
{
static void Main(string[] args);
public static void Run()
{
Console.WriteLine("BeaufortCipher");
Console.WriteLine();
string clearText = "rendii"; ///ini merupakan Plaintext
Console.readLine("Plain Text: ");
List<char> alphabet =
Enumerable.Range('a', 'z' - 'a' + 1)
.Select(x => (char)x).ToList();
char[][] tabulaRecta = new char['z' - 'a' + 1][];
for (int i = 0; i < tabulaRecta.Length; i++)
{
tabulaRecta[i] = alphabet.ToArray();
var first = alphabet.First();
alphabet.Remove(first);
alphabet.Insert(alphabet.Count, first);
}
string keyword = "landri"; ///ini merupakan Key
Console.WriteLine("Key : " + keyword);
Console.WriteLine();
string cipherText = Cipher(clearText, tabulaRecta, keyword);
Console.WriteLine("Ciphered Text: {0}", cipherText);
string decipherText = Decipher(cipherText, tabulaRecta, keyword);
Console.WriteLine("Deciphered Text: {0}", decipherText);
Console.ReadKey();
}
private static string GrowToTextSize(int length, string keyword)
{
string result = keyword;
int idx = 0;
while (result.Length < length)
{
result += keyword[idx++];
if (idx >= keyword.Length)
{
idx = 0;
}
}
return result;
}
private static int IndexOf(char[] array, char toFind)
{
int result = -1;
for (int i = 0; i < array.Length; i++)
{
if (array[i] == toFind)
{
result = i;
break;
}
}
return result;
}
private static string Cipher(string clearText, char[][] tabulaRecta, string keyword)
{
string result = string.Empty;
keyword = GrowToTextSize(clearText.Length, keyword);
for (int i = 0; i < clearText.Length; i++)
{
int row = keyword[i] - 'a';
char charToCipher = clearText[i];
int idx = IndexOf(tabulaRecta[row], charToCipher);
if (idx == 0)
{
idx = tabulaRecta[row].Length;
}
idx = tabulaRecta[row].Length - idx;
result += tabulaRecta[0][idx];
}
return result;
}
private static string Decipher(string cipherText, char[][] tabulaRecta, string keyword)
{
string result = string.Empty;
result = Cipher(cipherText, tabulaRecta, keyword);
return result;
}
}
}
untuk
source code nya bisa didownload disini
Referensi
http://repository.usu.ac.id/bitstream/handle/123456789/68673/Chapter%20II.pdf?sequence=4&isAllowed=y
Link Blog Anggota Kelompok 9
https://dwisucir.blogspot.com/2018/12/quis-keamanan-sistem-komputer.html
http://myluckymyaddress.blogspot.com/2018/12/quis-keamanan-sistem-komputer.html
http://myluckymyaddress.blogspot.com/2018/12/quis-keamanan-sistem-komputer.html
B. Analisa Algoritma
Hubungan KSK Terhadap Algoritma Lain (Vigenere Cipher)
Ada beberapa alasan kriptografi
digunakan untuk mengamankan suatu data dalam jaringan, yaitu
1. Rahasia
Semua
sandi dari suatu kriptografi dapat menjagaisi informasi dari siapapun kecuali
orang yang memiliki sandi tersebut untuk melihat informasi yang telah dikunci
tersebut
2. Integritas
Data
kriptografi
berhubungan dengan penjagaan daripada perubahan data secara tidak sah
oleh orang ketiga. Untuk menjaga integritas data, sistem harus bisa mendeteksi
manipulasi dataoleh orang pihak ketiga, seperti penysipan, penghapusan, dan
pensubsitusian data lain kedalam data yang sebenarnya.
3. Autentikasi
Berhubungan
dengan identifikasi atau pengenalan Dua pihak yang saling berkomunikasi harus
saling memerkenalkan diri Hal ini untuk mengecek keaslian, isi datanya, waktu
pengiriman, dll.
4. Non-repudasi
Usaha
mencegah terjadinya penyangkalan terhadap terciptanya suatu informasi.
Sejarah Algoritma
Vigenere Cipher
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.
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.
Enskripsi Vigenere Cipher
Secaramatematis, enkripsi
Vigènere Cipher dengan jumlah karakter sebanyak 26 dapat ditulis dalam bentuk
Ci = (Pi+Kj) mod 26 atau
Ci = (Pi+Kj) mod n (Untuk
Vinegere Cipher dengan jumlah karakter n)
Ket :
•i = 1,2,3,...,(panjang kunci)
•j = ((i-1) mod 25) +1)
Deskripsi
vigenere Cipher
Pi = Ci-Ki (mod100)
Perbedaan
Enkripsi Beaufort Cipher dan Vigenere Cipher
Enkripsi Nama
Plain Text : Rendi Kurniawan
Key : JoeWinz* Sagaru
Proses
Enkripsi Beaufort Cipher
Proses
Enkripsi Vigenere Cipher
Enkripsi NIM
Plain Text: 201731344
Key : RenDi&75#
Proses
Enkripsi Beaufort Cipher
Proses
Enkripsi Vigenere Cipher
Perbedaan
Deskripsi Beaufort Cipher dan Vigenere Cipher
Deskripsi Nama
Cipher Text : |J{}A/paT;|G:RH
key : JoeWinz* Sagaru
Proses
Deskripsi Beaufort Cipher
Deskripsi Nama
Cipher Text : a('z&B9SF586,'[
key : JoeWinz* Sagaru
Proses
Deskripsi Vigenere Cipher
Deskripsi NIM
Cipher Text : !:\s;PEAJ
Key : RenDi&75#
Proses
Deskripsi Beaufort Cipher
Cipher Text : (>| _ VONV
Key : RenDi&75#
Tidak ada komentar:
Posting Komentar