Rabu, 12 Desember 2018

QUIZ KEAMANAN SISTEM KOMPUTER

Nama             : Nurainy Kafita Walla
NIM                : 201731262
Mata Kuliah  : Keamanan Sistem Komputer
Kelas             : A
Nama Dosen : Desi Rose Hertina, S.T., M.Kom


A. Algoritma


1. Hubungan Keamanan Sistem Komputer dengan Kriptografi RSA

Keamanan komputer merupakan hal terpenting ketika kita mengoperasikan komputer untuk keperluan apapun. Perusahaan besar mestinya memberi porsi lebih untuk meningkatkan keamanan komputer. Alasannya sederhana, apabila keamanan komputer lemah maka hal-hal yang tidak diinginkan pun dapat terjadi dengan mudahnya. Oleh sebab itu, pengguna komputer yang pintar tentu melihat sisi waspada sehingga mengerahkan kemampuan untuk sebisa mungkin keamanan komputer tergolong optimal. Salah satu pengamanannya yaitu dengan menggunakan Algoritma RSA,mengapa?
Karena Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = p × q.
Sekali n berhasil difaktorkan menjadi p dan q, maka φ(n) = (p – 1)x(q – 1) dapat dihitung. Selanjutnya, karena kunci enkrispi PK diumumkan (tidak rahasia), maka kunci dekripsi SK dapat dihitung dari persamaan PK SK 1 (mod φ(n)).
Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit. Dengan demikian hasil kali r = p × q akan berukuran lebih dari 200 digit. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).
Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan untuk menyandikan pesan.

2. Algoritma RSA

Pengertian RSA di bidang kriptografi adalah 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 mengamankan dengan menggunakan kunci yang cukup panjang.
Sejarah Algortima RSA dijabarkan pada tahun 1977 oleh tiga orang : Ron Rivest, Adi Shamir dan Len Adleman dari Massachusetts Institute of Technology. Huruf RSA itu sendiri berasal dari inisial nama mereka (Rivest-Shamir-Adleman).
Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk GCHQ, menjabarkan tentang sistem ekuivalen pada dokumen internal pada tahun 1973. Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan top-secret classification.
Algoritme tersebut dipatenkan oleh Massachusetts Institute of Technology pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4.405.829. Paten tersebut berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan sebagai aplikasi paten, regulasi di sebagian besar negara-negara lain tidak memungkinkan penggunaan paten. Hal ini menyebabkan hasil temuan Clifford Cocks di kenal secara umum, paten di Amerika Serikat tidak dapat mematenkannya.

Proses Pembentukan Kunci :
1.Pilih dua bilangan prima p dan q, (usahakan p > q)
2. hitung n=p x q
3. hitung Φ(n)=(p-1) x (q-1)
4. pilih kunci publik yang relatif prima dengan Φ(n)
5. Hitung kunci private dengan  SK=1+Φ(n)/PK

Proses Enkripsi :
1. Ubahlah plaintext kedalam kode ASCII
2.Karakter ASCII disimpan dalam blok-blok atau byte.
3. Lakukan perkalian dalam tiap blok untuk mendapatkan ciphertext dengan rumus :
C=p^e mod n

Proses Dekripsi :
1. Ubahlah plaintext kedalam kode ASCII
2.Karakter ASCII disimpan dalam blok-blok atau byte.
3. Lakukan perkalian dalam tiap blok untuk mendapatkan plaintext dengan rumus :
P=c^d mod n

FLOWCHART Algoritma RSA

Keterangan :
Mulai,
Pertama, masukkan bilangan prima p dan q, dimana p tidak sama denga q tetapi p>q.
Kedua, hitung n dan Ф(n)
Ketiga,masukkan nilai e atau kunci publik yang relatif prima terhadap
n dimana 1 < e < n-1.
Keempat, hitung d atau kunci pribadi.
Kelima, tentukan kunci publik (e,n) dan kunci pribadi (d,n)
Keenam, masukkan pesan atau plaintext.
Ketujuh,ubah pesan atau plaintext tersebut kedalam kode ASCII
Kedelapan,hitung C dimana akan menghasilkan output cipher text (pada langkah ke9).
Jika pesan atau plaintext yang telah di enkripsi ingin di ubah kembali ke plaintext atau di dekripsi maka dilanjutkan ke langkah ke10 yaitu hitung nilai d dimana akan menghasilkan output plaintext(pada langkah ke11).
Kemudian,selesai.

3. STUDI KASUS yang diambil ialah :

Kasus Peretasan Penjualan Tiket Online Citilink Indonesia
Dalam kasus tersebut Pihak Citilink juga mengalami kerugian sebesar Rp1.973.784.434 karena ada sejumlah orang yang membeli tiket dari sindikat peretas tersebut melakukan pembatalan dan refund.
Ada kemungkinan dari sisi maskapai Citilink sendiri yang rentan seperti belum membatasi penyaringan terhadap special character yang memungkinkan seorang penyerang untuk menarik konten di database dari halaman front end aplikasi (dikenal SQL Injection).
Umumnya dari hasil ini, seseorang dapat mempergunakan data untuk login ke halaman yang lebih tertentu (seperti halaman admin) atau dapat juga untuk mengambil data sensitif pengguna lain.
Namun Taufik menambahkan, bila ditarik dari kesimpulan tersebut, masih terlalu banyak hal yang dapat dijadikan dugaan karena tidak hanya SQL Injection yang dapat membuat seseorang berhasil memperoleh akses masuk.
Peretas tersebut melakukan atau login ke akun maskapai Citilink, kemudian membagikan atau menjual tiket tersebut secara murah ke sosial media Facebook.

Penerapan :
Pada algoritma RSA kami menerapkan keamanan pada saat seseorang berusaha login, misalnya pada kasus diatas, seseorang yang berhasil masuk atau login pada server Citilink karena keamanannya masih kurang. Maka akan diterapkan kunci publik yang dimiliki semua pegawai citilink dimana kunci publik tersebut digunakan untuk membuka pesan yang dikirimkan oleh pegawai lain misalnya A, kemudian si A ini memiliki kunci pribadi yang tidak diketahui orang lain dan hanya dia saja yang tahu.

Nah dari kasus itu misalnya si A login maka akan muncul username dan password beserta kunci pribadi itu. Sehingga seseorang tidak akan bisa masuk dengan mudahnya ke akun citilink.

4. Syntax Program Menggunakan Bahasa Pemrograman C++

#include<iostream>
#include<math.h>
#include<string.h>
#include<stdlib.h>

using namespace std;

long int p, q, n, t, flag, e[100], d[100], temp[100], j, m[100], en[100], i;

string msg;
int prime(long int);
void ce();
long int cd(long int);
void encrypt();
void decrypt();

int prime(long int pr){
            int i ;
            j=sqrt(pr);
           
            for (i=2 ; i<=j ; i++){
                        if (pr%i==0)
                        return 0 ;
            }
            return 1 ;
}

int main (){
            cout<<"\nMASUKKAN ANGKA PRIMA : ";
            cin>>p;
            flag=prime(p);
            if (flag==0){
                        cout<<"\nINPUT SALAH"<<endl;
                        exit(1);
            }
            cout<<"\nMASUKKAN BILANGAN PRIMA LAINNYA : ";
            cin>>q;
            flag=prime(q);
            if (flag==0 || p==q){
                        cout<<"\nINPUT SALAH"<<endl;
                        exit(1);
            }
           
            cout<<"\nMASUKKAN PESAN"<<endl;
           
            fflush(stdin);
            getline(cin,msg);
            for(i=0; msg[i] != '\0'; i++)
            m[i]=msg[i];
           
            n=p*q;
           
            t=(p-1)*(q-1);
           
            ce();
            cout<<"\nANGKA TERSEDIA DARI E DAN D"<<endl;
            for (i=0; i<j -1; i++)
            cout<<e[i]<<"\t"<<d[i]<<"\n";
           
            encrypt();
            decrypt();
            return 0;
}

void ce(){
            int k;
            k=0;
            for(i=2; i<t; i++){
            if(t%i==0)
            continue;
            flag=prime(i);
            if (flag==1 && i !=q){
                        e[k]=i;
                        flag=cd(e[k]);
                        if (flag>0){
                                    d[k]=flag;
                                    k++;
                        }
                        if (k==99)
                        break;
            }
            }
}

long int cd(long int x){
            long int k=1;
            while(1){
                        k=k+t;
                        if(k%x==0)
                        return (k/x);
            }
}

void encrypt(){
            long int pt,ct,key=e[0], k, len;
            i=0;
            len=msg.length();
           
            while(i != len){
                        pt=m[i];
                        pt=pt-96;
                        k=1;
                        for(j=0; j<key; j++){
                                    k=k*pt;
                                    k=k%n;
                        }
                        temp[i]=k;
                        ct=k+96;
                       
                        en[i]=ct;
                        i++;
            }
            en[i]=-1;
            cout<<"\nPESAN ENKRIPSI"<<endl;
            for(i=0; en[i] != -1; i++)
            printf("%c",en[i]);
}

void decrypt(){
            long int pt,ct,key=d[0],k;
            i=0;
            while(en[i] != -1){
                        ct=temp[i];
                        k=1;
                        for(j=0; j<key; j++){
                                    k=k*ct;
                                    k=k%n;
                        }
                        pt=k+96;
                        m[i]=pt;
                        i++;
            }
           
            m[i]=-1;
            cout<<"\nPESAN DEKRIPSI"<<endl;
            for(i=0; m[i] !=-1; i++)
            printf("%c",m[i]);
}


5. LINK BLOG

Kelompok 6 :

6. SUMBER


B.Analisa Algoritma

1. Hubungan Keamanan Sistem Komputer antara RSA dan Block Cipher

Algoritma kriptografi block cipehr beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blik bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali enkripsi (1 karakter sama dengan 8 bit dalam pengkodean ASCII).
Algoritma RSA dan Block Cipher memiliki hubungan dalam keamanan data atau pesan yang diubah kedalam kode ASCII. Dari segi keamanan, algoritma block cipher ini melindungi kerahasiaan data yang dikirim melalui media telekomunikasi dan melindungi kerahasiaan data yang disimpan pada media penyimpanan. Kelemahan dari sistem ini adalah baik pengirim maupun penerima pesan harus memiliki kunci yang sama, sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan kunci kepada penerima pesan.

2.Block Cipher

Blok cipher merupakan algoritma kriptografi simetrik yang mengenkripsi satu blok plaintext dengan jumlah bit tertentu dan menghasilkan blok ciphertext dengan jumlah bit yang sama. Misalkan ukuran blok plaintext yang dienkripsi adalah 64 bit, maka akan menghasilkan ciphertext yang berukuran 64 bit. 

Sejarah : 
Algoritma blok cipher menggabungkan beberapa teknik kriptografi klasik  dalam proses enkripsi. Dengan kata lain, cipher blok dapat diacu sebagai super-enkripsi.
Mode operasi paling awal, ECB, CBC, OFB, dan CFB , tahun 1981 dan ditentukan dalam FIPS 81, Mode DES Operasi. Pada tahun 2001, Lembaga Standar dan Teknologi Nasional AS (NIST) merevisi daftar mode operasi yang disetujui dengan memasukkan AES sebagai chiper block dan menambahkan mode RKPT di SP800-38A, Rekomendasi untuk Blok Cipher Mode Operasi. Akhirnya, pada bulan Januari 2010, NIST menambahkan XTS-AES di SP800-38E, Rekomendasi untuk Blok Cipher Mode Operasi: Mode XTS-AES untuk Kerahasiaan pada Perangkat Penyimpanan. Mode kerahasiaan lainnya ada yang belum disetujui oleh NIST. 

Cara kerja : 
- enkripsi : merubah plaintext menjadi chipertext. dengan menggunakan key yang kita tentukan sebelumnya. dengan key tersebut plaintext di XOR dengan key maka mendapat hasil chipertext yang akan di ganti dengan kode ascii.
- dekripsi : merubah chipertext menjadi plaintext. dengan menggunakan key yang telah di gunakan sebelumnya terhadap proses enkripsi lalu di XOR kembali. maka hasil dari XOR tersebut menjadi plaintext kembali.

3. Pengetesan Algoritma RSA dan Block Cipher

Menggunakan Nama dan NIM
RSA :

Block Cipher : tidak terdapat syntax program pada blog kelompok Kriptografi Block Cipher, sehingga tidak dapat di lakukan pengecekan.

4. Persamaan dan Perbedaan RSA da Block Cipher

Persamaan :
1 Keduanya sama sama mengubah pesan kedalam kode ASCII
   Keduanya merupakan Algoritma Kriptografi Asimetris
  RSA dan Block Cipher sebelum dilakukan enkripsi, plaintext yang ada dibagi bagi menjadi blok-blok yang sama.
Perbedaan :
  RSA memiliki 2 kunci yaitu public key dan private key, sedangka Block Cipher hanya memiliki 1 kunci yaitu public key.
   Keamanan data atau pesan pada RSA lebih terjamin dibandingkan dengan Block Cipher
   RSA sangat sulit dalam enkripsi dan dekripsinya sedangkan Block Cipher mudah.

5. LINK BLOG 
KELOMPOK ALGORITMA KRIPTOGRAFI BLOCK CIPHER
Kelompok 7 :

6. SUMBER

C. KESIMPULAN

Berdasarkan hasil analisis dan perhitungan algoritma RSA dapat disimpulkan bahwa:
• Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini r = p × q.
• Semakin tinggi angka yang digunakan maka akan semakin sulit pula pesan/sandi dapat ditebak oleh pihak ketiga.
• Untuk menjaga keamanan dari serangan maka dapat menggunakan atau menerapkan Algoritma RSA ini dibandingkan dengan Block Cipher yang hanya memiliki 1 key saja yang dapat diketahui banyak orang sehingga sangat mudah untuk seseorang bisa masuk/diretas.



Tidak ada komentar:

Posting Komentar