![]() |
Matakuliah :
Keamanan Sistem Komputer (2 SKS)
Kode Matakuliah :
-
Dosen :
Desi Rose Hertina, ST., M.Kom
|
NAMA : AGI PRIHARU
"KEAMANAN
SISTEM KOMPUTER PADA BIDANG PENDIDIKAN"
Sistem
informasi akademik merupakan salah satu kebutuhan wajib dan penting yang harus
dipenuhi perguruan tinggi. Kemampuan menyediakan dan mengakses informasi secara
cepat dan akurat menjadi yang diinginkan bagi perguruan tinggi. Sangat
pentingnya informasi tersebut, menyebabkan seringkali informasi yang diinginkan
hanya boleh diakses orang-orang tertentu yang memilki wewenang. Jatuhnya
informasi kepada pihak lain menimbulkan kerugian baik pihak perguruan
tinggi.
tinggi.
Keamanan
sistem (Security System) informasi merupakan hal yang sangat penting dalam mengelola
sistem informasi, tujuannya adalah untuk mencegah ancaman terhadap sistem serta
mendeteksi dan memperbaiki segala kerusakan sistem. Namun, masih banyak kampus
atau instansi tidak terlalu memperhatikan masalah keamanan
A. ALGORITMA
A. ALGORITMA
1. Deskripsikan hubungan KSK dengan
Kriptografi Algoritma Kelompok!
Jawab :
•Security System atau keamanan sistem informasi merupakan hal yang
sangat penting dalam mengelola sistem informasi, tujuannya adalah untuk
mencegah ancaman terhadap sistem serta mendeteksi dan memperbaiki segala
kerusakan sistem. Namun, masih banyak kampus atau instansi tidak terlalu
memperhatikan masalah keamanan ini.
•Semisal : Data akademik yang merupakan data yang sangat penting di dalam perguruan tinggi. Dengan data tersebut akan melancarkan berbagai urusan baik mahasiswa, dosen dan pegawai kampus. Jika dirusak oleh orang yang tidak bertanggung jawab, kampus akan kewalahan dalam memulihkan data tersebut. Bisa jadi data itu akan hilang selamanya tidak bisa diperbaiki kembali.
•Penerapan Keamanan Sistem Komputer
dalam Bidang Pendidikan sampai sekarang masih tergolong lemah, dikarenakan
banyak pengguna yang lalai atau tidak peduli dengan keamanan data mereka di
lingkungan pembelajaran. Hal ini tidak menutup kemungkinan akan adanya
peretasan / pembobolan keamanan jaringan & kemanan data.
•Untuk mencegah hal yang tidak di inginkan maka Diterapkanlah Algoritma Vignere Cipher ke data – data sensitif yang disimpan ke dalam Sistem Komputer. Dengan adanya fungsi Enkripsi dari Algoritma Vignere Cipher ini maka, walaupun data di curi oleh pihak luar, data data tersebut tidak dapat di baca karena masih dalam bentuk Ciphertext. Pengguna lain, selain administrator yang tidak memiliki Key yang dibutuhkan untuk men Dekripsikan data data tersebut tidak akan bisa membaca Data dan Informasi yang sudah di Enkripsi, dengan ini Data dan Informasi masih terjaga kerahasiaanya.
2.
Jelaskan
tentang Algoritma kelompok mulai dari: pengertian, sejarah, cara kerjanya
(proses ekripsi dan proses deskripsi) , gambarkan flowchart
berikan penjelasan!
Jawab :
ALGORITMA
VIGNERE CIPHER :
*PENGERTIAN DAN
SEJARAHNYA :
•Vigenere Cipher adalah suatu algoritma kriptografi klasik yang ditemukan oleh Giovan BattistaBellaso. Beliau menuliskan metodenya tersebut pada bukunya yang berjudul La Cifra del. Sig. GiovanBattista Bellaso pada tahun 1553. Nama vigenere sendiri diambil dari seorang yang bernama Blaisede Vigenere. Nama vigenere diambil sebagai nama algoritma ini karena beliau menemukan kunciyang lebih kuat lagi untuk algoritma ini dengan metode autokey cipher meskipun algoritma dasarnyatelah ditemukan lebih dahulu oleh Giovan Battista Bellaso.Algoritma ini menjadi terkenal karenacukup sulit dipecahkan. Matematikawan Charles LutwidgeDodgson menyatakan bahwa algoritma ini tidak terpecahkan. Pada tahun 1917, ilmuwan Amerikamenyebutkan bahwa Vigenere cipheradalah sesuatu yang tidak mungkin untukditranslasikan.
•Vigenere Cipher adalah suatu algoritma kriptografi klasik yang ditemukan oleh Giovan BattistaBellaso. Beliau menuliskan metodenya tersebut pada bukunya yang berjudul La Cifra del. Sig. GiovanBattista Bellaso pada tahun 1553. Nama vigenere sendiri diambil dari seorang yang bernama Blaisede Vigenere. Nama vigenere diambil sebagai nama algoritma ini karena beliau menemukan kunciyang lebih kuat lagi untuk algoritma ini dengan metode autokey cipher meskipun algoritma dasarnyatelah ditemukan lebih dahulu oleh Giovan Battista Bellaso.Algoritma ini menjadi terkenal karenacukup sulit dipecahkan. Matematikawan Charles LutwidgeDodgson menyatakan bahwa algoritma ini tidak terpecahkan. Pada tahun 1917, ilmuwan Amerikamenyebutkan bahwa Vigenere cipheradalah sesuatu yang tidak mungkin untukditranslasikan.
*CARA KERJA :
• Dalam Vigenere Chiper, digunakan suatu
sistem karakter (Character set) yang digunakan untuk mendefinisikan nilai
karakter-karakter yang digunakan dalam proses enkripsi maupun dekripsi. Sistem
karakter yang umum digunakan yaitu alfabet, dimana huruf A mewakili angka 0, B
mewakili angka 1, dan seterusnya hingga Z mewakili angka 26.
Proses dasar pada Kriptografi :
1.Enkripsi, adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext).
•Ci = (Pi-Ki) mod 26
atau
atau
•Ci = ( Pi + Ki
) – 26, kalau hasil penjumlahan Pi dan Ki lebih dari 26
2.Dekripsi, merupakan proses
kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi
plaintext dengan menggunakan algoritma "pembalik" dan key yang sama
•Pi = (Ci-Ki) mod 26
atau
•Pi = ( Ci – Ki ) + 26, kalau hasil pengurangan Ci dengan Ki minus
•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
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
*FLOWCHART
ENKRIPSI
1.Mulai
2.Input Plaintext dan Key
3.Looping For sebanyak panjang karakter dari Plaintext
4.Jumlahkan Plaintext dan Key pada Index yang sama
5.Jika hasil penjumlahan lebih dari 26, maka hasil dikurangi 26
6.Jika tidak maka lanjutkan Looping
7.Tampilkan Ciphertext
8.Selesai
2.Input Plaintext dan Key
3.Looping For sebanyak panjang karakter dari Plaintext
4.Jumlahkan Plaintext dan Key pada Index yang sama
5.Jika hasil penjumlahan lebih dari 26, maka hasil dikurangi 26
6.Jika tidak maka lanjutkan Looping
7.Tampilkan Ciphertext
8.Selesai
DEKRIPSI
- Mulai
- Input Ciphertext dan Key
- Looping For sebanyak panjang karakter dari
Ciphertext
- Kurangi Ciphertext dan Key pada Index yang sama
- Jika hasil pengurangan kurang dari 0 (negatif), maka
hasil ditambah 26
- Jika tidak maka lanjutkan Looping
- Tampilkan Plaintext
- Selesai
3.
Berikan deskripsi dari study kasus terkait tema kelompok dan pada bagian
mana dari study kasus tersebut Algoritma kelompok diterapkan!
Jawab :
STUDI KASUS :
Pengumuman Hasil Ujian Sistem Penerimaan Mahasiswa Baru (SPMB)
• Pada
setiap awal tahun ajaran, Universitas Indonesia mendapatkan kehormatan untuk
menjadi tempat hosting pengumuman penerimaan mahasiswa baru
seluruh Indonesia. Sebagai sebuah event yang sangat penting,
diperlukan persiapan yang sangat matang. Salah satu persiapan yang terpenting
adalah persiapan jaringan komputer yang akan digunakan untuk menjamin
tersedianya akses yang memadai bagi semua pihak yang berkepentingan dengan
pengumuman tersebut, terutama pada saat-saat puncak, yaitu malam pertama
pengumuman hasil SPMB. Setelah beberapa tahun menjalani peranan tersebut, ada
beberapa permasalahan yang dihadapi ketika acara sedang berlangsung, yaitu:
-
Bandwidth koneksi Internet yang habis didominasi oleh beberapa pihak tertentu
yang melakukan mirroring data. Walaupun hal ini tidak
dilarang, tapi hal ini akan merugikan pengguna-pengguna lain yang tidak dapat
melakukan akses karena bandwidth yang ada sudah habis
digunakan. Seringkali dalam suatu kurun waktu, bandwidth yang
ada habis untuk melayani satu klien saja.
-
Akses data yang membutuhkan waktu
cukup lama, karena terbatasnya sumber daya yang ada dan penggunaan struktur
basis data penyimpanan data yang kompleks.
-
Habisnya sumber daya pada web
server yang digunakan, karena banyaknya request yang
diterima, termasuk didalamnya usaha serangan DoS (Denial of Service),
sedangkan kapasitas web server yang ada tidak sebanding
dengan request yang masuk.
Dengan penggunaan algoritma kriptografi vignere cipher
ini diharapkan bisa menjadi solusi :
•
mencegah
frekuensi huruf - huruf di dalam chiperteks yang memiliki pola tertentu yang
sama, seperti yang terjadi pada chiper abjad - tunggal.
Pada chiper abjad - tunggal, huruf yang paling sering muncul di chiperteks
merupakan substitusi dari huruf yang paling sering muncul di plainteks. Karena
itu, dengan teknik analisis frekuensi, kriptoanalis bisa dengan mudah menebak
huruf tersebut. Namun, pada Vigènere chiper hal tersebut tidak bisa
dilakukan karena satu macam huruf pada plainteks mungkin dienkripsi menjadi
beberapa macam huruf pada chiperteks, seperti pada contoh sebelumnya.
•
Untuk
mencegah hal yang tidak di inginkan maka Diterapkanlah Algoritma Vignere Cipher
ke data – data sensitif yang disimpan ke dalam Sistem Komputer. Dengan adanya
fungsi Enkripsi dari Algoritma Vignere Cipher ini maka, walaupun data di curi
oleh pihak luar, data data tersebut tidak dapat di baca karena masih dalam
bentuk Ciphertext. Pengguna lain, selain administrator yang tidak memiliki Key
yang dibutuhkan untuk men Dekripsikan data data tersebut tidak akan bisa
membaca Data dan Informasi yang sudah di Enkripsi, dengan ini Data dan
Informasi masih terjaga kerahasiaanya.
4.
Berikan sintaks dari algoritma (proses enkripsi dan deskripsi) kelompok
dengan bahasa pemrograman yang dipilih!
Jawab : menggunakan Bahasa pemrograman C++
#include <bits/stdc++.h>
using namespace std;
int main()
{
string
charset="abcdefghijklmnopqrstuvwxyz";
int ukuranCharset
= charset.length();
cout <<
"Keterangan : " << endl << endl
<< "1 : Enkripsi " <<
endl
<< "2 : Dekripsi" <<
endl << endl
<< ">";
int input;
cin >>
input;
if (input==1) //
input 1 berarti untuk enkripsi
{
string
plaintext, key;
cin
>> plaintext >> key ; // input plainteks terlebih dahulu, lalu input
key
char
chipertext[plaintext.length()]; // membuat chiperteks sebagai array berukuran
sama dengan plainteks
for
(int i = 0; i < plaintext.length(); i++)
{
int
indeksPlaintext, indeksKey;
for
(int j=0;j<ukuranCharset;j++)
{
//mencari
nilai dari karakter plainteks
if
(plaintext[i] == charset[j])
indeksPlaintext=j+1;
// karena indeks array basis 0, jadi ditambah 1 agar indeks 1
if
(key[i%key.length()]== charset[j])
indeksKey
= j+1; // karena indeks array basis 0, jadi ditambah 1 agar indeks 1
}
chipertext[i]
= charset[(indeksPlaintext+indeksKey)%ukuranCharset-1];
}
cout
<< chipertext;
}
else if
(input==2) //input 2 berarti untuk dekripsi
{
string
chipertext, key;
cin
>> chipertext >> key; // input chiperteks terlebih dahulu, lalu
input key
char
plaintext[chipertext.length()];
for
(int i=0;i<chipertext.length();i++)
{
int
indeksChipertext, indeksKey;
for
(int j=0;j<ukuranCharset;j++)
{
if
(chipertext[i] == charset[j])
indeksChipertext=j+1;
// karena indeks array basis 0, jadi ditambah 1 agar indeks 1
if
(key[i%key.length()]== charset[j])
indeksKey
= j+1; // karena indeks array basis 0, jadi ditambah 1 agar indeks 1
}
plaintext[i]
= charset[(indeksChipertext-indeksKey + ukuranCharset)%ukuranCharset-1];
//
ditambah ukuranCharset untuk menjamin nilai yang di mod tidak negatif, karena
jika negatif, maka hasil akan berbeda
}
cout
<< plaintext;
}
cin >> input;
// agar program tidak langsung tertutup
return 0;
}
5. Berikan link dari blog anggota kelompok anda!
Jawab :
6. referensi sumber dari materi!
Jawab :
B. ANALISA ALGORITMA
Jawab :
- http://sun-coolin.blogspot.co.id/2012/07/algoritma-kriptografi-klasik-vigenere-cipher.html
- https://id.wikipedia.org/wiki/Sandi_Vigenère
- www.academia.edu/.../Vigenere_Cipher_adalah_suatu_algoritma_kriptografi_klasik
- pendidikan-1993.blogspot.com/2012/01/keamanan-dalam-pendidikan.html
- www.deuhyoedergi.org/index.php/DEUHYOED/article/viewFile/422/422422
B. ANALISA ALGORITMA
1. Deskripsikan hubungan KSK dengan Kriptografi Algoritma Kelompok!
Sebuah algoritma pada enkripsi
public key. RSA merupakan algoritma pertama yang cocok untuk digital signature
seperti halnya ekripsi, dan salah satu yang paling maju dalam bidang
kriptografi public key. RSA masih digunakan secara luas dalam protokol
electronic commerce, dan dipercaya dalam mengamnkan dengan menggunakan kunci
yang cukup panjang
2. Jelaskan tentang Algoritma kelompok mulai dari: pengertian, sejarah,
cara kerjanya (proses ekripsi dan proses deskripsi) , gambarkan flowchart berikan
penjelasan!
Pengertian
RSA adalah
metode yang menggunakan perhitungan matematika yang rumit dandisertai dengan
kunci pengaman awal (dengan private key maupun dengan public key)sehingga amat
sulit untuk ditembus oleh hacker. Adapun prinsip pengamanan metodeini adalah
bagaimana sistem dapat mengamankan proses penyimpanan dan
pengirimandokumen. Mula-mula dokumen dalam bentuk teks dienkripsi dengan metode
RSA.Sehingga dokumen tidak dapat dibaca oleh siapapun, karena teks telah
berubah menjadisusunan huruf yang teracak. Dokumen yang susunan hurufnya telah
teracak tersebut jika ingin dibaca oleh pemilik dokumen, maka dokumen
tersebut harus dibuka dengandekripsi RSA kembali (Supriyono, 2008).
Algoritma RSA
merupakan salah satu algoritma public key yang populer dipakai dan bahkan masih
dipakai hingga saat ini. Kekuatan algoritma ini terletak pada proses
eksponensial, dan pemfaktoran bilangan menjadi 2 bilangan prima yang hingga
kini perlu waktu yang lama untuk melakukan pemfaktorannya.
SEJARAH
Algoritma ini dinamakan sesuai dengan nama
penemunya, Ron Rivest, Adi Shamir dan Adleman(Rivest-Shamir-Adleman) yang
dipublikasikan pada tahun 1977 di MIT, menjawab tantangan yang diberikan
algoritma pertukaran kunci Diffie Hellman.
Skema RSA
sendiri mengadopsi dari skema block cipher, dimana sebelum dilakukan enkripsi,
plainteks yang ada dibagi – bagi menjadi blok – blok dengan panjang yang sama,
dimana plainteks dan cipherteksnya berupa integer(bilangan bulat) antara 1
hingga n, dimana n berukuran biasanya sebesar 1024 bit, dan panjang bloknya
sendiri berukuran lebih kecil atau sama dengan log(n) +1 dengan basis 2.
Fungsi
enkripsi dan dekripsinya dijabarkan dalam fungsi berikut :
C = Me mod n ( fungsi enkripsi )
M = Cd mod n (fungsi dekripsi)
C = Cipherteks
M = Message / Plainteks
e = kunci publik
d= kunci privat
n = modulo pembagi(akan dijelaskan lebih lanjut )
Proses Enkripsi Pesan
Misalkan pada
suatu kasus si A ingin mengirim pesan m kepada si B. A
mengubah m menjadi angka n < N, menggunakan
protokol yang sebelumnya telah disepakati dan dikenal sebagai padding
scheme. Padding scheme harus dibangun secara hati-hati
sehingga tidak ada nilai dari m yang menyebabkan masalah
keamanan. Contohnya, jika kita ambil contoh sederhana dari penampilan ASCII
dari m dan menggabungkan bit-bit secara bersama-sama akan
menghasilkan n, kemudian pessan yang berisi ASCII tunggal karakter
NUL (nilai numeris 0) akan menghasilkan n = 0, yang akan
menghasilkan ciphertext 0 apapun itu nilai dari e dan N yang
digunakan.
Maka A
mempunyai nilai n dan mengetahui N dan e, yang telah diumumkan
oleh B. A kemudian menghitung ciphertext c yang terkait
pada n :
c = ne mod N (1)
Perhitungan
tersebut dapat diselesaikan dengan menggunakan metode exponentation by
squaring, yaitu sebuah algoritma yang dipakai untuk komputasi terhadap sejumlah
nilai integer yang besar dengan cepat. Kemudian A mengirimkan nilai c kepada
B.
Proses Dekripsi Pesan
B sudah
menerima c dari A, dan mengetahui kunci privat yang digunakan
B. B kemudian mengembalikan nilai n dari c dengan
langkah-langkah sebagai berikut :
n = cd mod N (2)
Perhitungan
diatas akan menghasilkan n, dengan begitu B dapat mengembalikan
pesan semula m.
Prosedur dekripsi bekerja karena
Prosedur dekripsi bekerja karena
cd ≡ (n)d ≡ (mod
N) (3)
Kemudian,
karena ed ≡ 1 (mod p-1) dan ed ≡ 1 (mod q-1),
hasil dari Fermat's little theorem.
ned ≡ n (mod p) (4)
dan
ned ≡ n (mod q) (5)
Karena p dan q merupakan bilangan prima yang
berbeda, mengaplikasikan Chinese remainder theorem akan
menghasilkan dua macam kongruen
ned ≡ n (mod pq) (6)
Serta
cd ≡ n (mod N) (7)
FLOWCHART ALGORITMA RSA
3. Berikan deskripsi dari study kasus terkait tema kelompok dan pada
bagian mana dari study kasus tersebut Algoritma kelompok diterapkan!
STUDI KASUS
Pada Mei 2017 di daerah
Palembang terjadi pembobolan rekening bank via internet banking. Pelaku
pembobolan rekening ini dilakukan oleh dua pelaku dengan korban milik nasabah
di sebuah Bank BUMN. Uang milik korban yang dibobol diperkirakan sejumlah 1.2
Miliar. Kedua pelaku ini melakukan modusnya hingga melakukan penggantian nomor
HP korban untuk melakukan verifikasi transaksi ke operator. Pelaku mengganti
nomor HP korban bermodal KTP palsu. Untuk mengatasi ini Bank dapat menggunakan
Algoritma RSA sebagai salah satu cara mengamankan system keamanan bank
4. Berikan sintaks dari algoritma (prosen enkripsi dan deskripsi) kelompok
dengan bahasa pemrograman yang dipilih!
// main.cpp
// RSA
//
// Created by Sergiy on 06.06.17.
#include
<iostream>
#include
<math.h>
#include
<string.h>
#include
<string>
#include
<stdio.h>
#include
<stdlib.h>
#include<conio.h>
bool
isPrime(long int prime);
long
int calculateE( long int t );
long
int greatestCommonDivisor( long int e, long int t );
long
int calculateD( long int e, long int t );
long
int encrypt( long int i, long int e, long int n );
long
int decrypt(long int i, long int d, long int n );
int
main( )
{
long int p, q, n, t, e, d;
long int encryptedText[100];
memset(encryptedText, 0,
sizeof(encryptedText));
long int decryptedText[100];
memset(decryptedText, 0,
sizeof(decryptedText));
bool flag;
std::string msg;
std::cout << "Welcome to RCA
program" << std::endl << std::endl;
// C??????? ????????? ? ?????????? ??????
// 1. ?????????? ??? ????????? ?????????
??????? ????? p ? q ????????? ???????
do
{
std::cout << "Enter a Prime
number p :" << std::endl;
std::cin >> p;
flag = isPrime( p );
if ( flag == false )
{
std::cout << "\nWRONG
INPUT (This number is not Prime. A prime number is a natural number greater
than 1 that has no positive divisors other than 1 and itself)\n" <<
std::endl;
}
} while ( flag == false );
do
{
std::cout << "Enter a Prime
number q :" << std::endl;
std::cin >> q;
flag = isPrime( q );
if ( flag == false )
{
std::cout << "\nWRONG
INPUT (This number is not Prime. A prime number is a natural number greater
than 1 that has no positive divisors other than 1 and itself)\n" <<
std::endl;
}
} while ( flag == false);
// 2. ??????????? ?? ???????????? n = p ·
q, ??????? ?????????? ???????.
n = p * q;
std::cout << "\nResult of
computing n = p*q = " << n << std::endl;
// 3. ??????????? ???????? ??????? ??????
?? ????? n: f(n) = (p-1)·(q-1)
t = ( p - 1 ) * ( q - 1 );
std::cout << "Result of
computing Euler's totient function:\t t = " << t << std::endl;
// 4. ?????????? ????? ????? e ( 1 < e
< f(n) ), ??????? ??????? ?? ????????? ??????? ?????? (t)
// ????? e ?????????? ???????? ???????????
e = calculateE( t );
// 5. ??????????? ????? d, ????????????????
???????? ? ????? e ?? ?????? f(n), ?? ???? ?????, ??????????????? ?????????:
//
d · e = 1 (mod f(n))
d = calculateD( e, t );
// 6. ???? {e, n} ??????????? ? ????????
????????? ????? RSA
std::cout << "\nRSA public key
is (n = " << n << ", e = " << e <<
")" << std::endl;
// 7. ???? {d, n} ?????? ???? ?????????
????? RSA ? ???????? ? ???????
std::cout << "RSA private key is
(n = " << n << ", d = " << d <<
")" << std::endl;
std::cout << "\nEnter Message to
be encryped:" << std::endl;
// there is a newline character left in the
input stream, so we use ignore()
std::cin.ignore();
std::getline( std::cin, msg );
std::cout << "\nThe message is:
" << msg << std::endl;
// encryption
for (long int i = 0; i < msg.length();
i++)
{
encryptedText[i] = encrypt( msg[i], e,
n);
}
std::cout << "\nTHE ENCRYPTED
MESSAGE IS:" << std::endl;
for ( long int i = 0; i < msg.length();
i++ )
{
printf( "%c",
(char)encryptedText[i] );
}
//decryption
for (long int i = 0; i < msg.length();
i++)
{
decryptedText[i] =
decrypt(encryptedText[i], d, n);
}
std::cout << "\n\nTHE DECRYPTED
MESSAGE IS:" << std::endl;
for (long int i = 0; i < msg.length();
i++)
{
printf( "%c",
(char)decryptedText[i] );
}
std::cout << std::endl <<
std::endl;
//system("PAUSE");
return 0;
}
bool
isPrime( long int prime)
{
long int i, j;
j = (long int)sqrt((long double)prime);
for ( i = 2; i <= j; i++)
{
if ( prime % i == 0 )
{
return false;
}
}
return true;
}
long
int calculateE( long int t )
{
// ?????????? ????? ????? e ( 1 < e <
t ) // ??????? ??????? ?? ????????? ??????? ?????? (t)
long int e;
for ( e = 2; e < t; e++ )
{
if (greatestCommonDivisor( e, t ) == 1
)
{
return e;
}
}
return -1;
}
long
int greatestCommonDivisor( long int e, long int t )
{
while ( e > 0 )
{
long int myTemp;
myTemp = e;
e = t % e;
t = myTemp;
}
return t;
}
long
int calculateD( long int e, long int t)
{
// ??????????? ????? d, ????????????????
???????? ? ????? e ?? ?????? f(n), ?? ???? ?????, ??????????????? ?????????:
//
d · e = 1 (mod f(n))
long int d;
long int k = 1;
while ( 1 )
{
k = k + t;
if ( k % e == 0)
{
d = (k / e);
return d;
}
}
}
long
int encrypt( long int i, long int e, long int n )
{
long int current, result;
current = i - 97;
result = 1;
for ( long int j = 0; j < e; j++ )
{
result = result * current;
result = result % n;
}
return result;
}
long
int decrypt(long int i, long int d, long int n)
{
long int current, result;
current = i;
result = 1;
for ( long int j = 0; j < d; j++ )
{
result = result * current;
result = result % n;
}
return result + 97;
getch();
}
5. Berikan link dari blog anggota kelompok anda!
6. Berikan referensi sumber dari materi!
https://gist.github.com/basavesh/3885594 DI akses pada 10 Desember 2018
A. Analisa Algoritma
1. Deskripsikan hubungan KSK dengan Kiriftografi algoritma Kelompok
dan algoritma kelompok lain yang
memiliki kemiripan cara kerja!
2. Jelaskan tentang Algoritma kelompok lain mulai dari: pengertian,
sejarah, cara kerjanya (proses ekripsi dan proses deskripsi), gambarkan
flowchart berikan penjelasan!
3. Lakukan pengetesan kedua algoritma tersebut dengan menggunakan sintaks
bahasa pemrograman yang dipilih! Dengan inputan plantext berupa nama dan NIM
(prosen enkripsi dan deskripsi)!
4. Lakukan perbandingan kedua algoritma tersebut dengan menemukan 3
persamaan dan 3 perbedaan nya!
5. Berikan link dari blog anggota kelompo klain tersebut!
6. Berikan referensi sumber dari materi!
B.
Buat kesimpulan berdasarkan
penemuan persamaan dan perbedaan pada study kasus A dan B
!
Catatan:
Jawaban dimuat dalam blog pribadi dengan mencantumkan
link blog anggota kelompok.





Komentar
Posting Komentar