Metode RSA

Posted by : Xhion
Kamis, 11 Juli 2019

       Algoritma RSA dibuat oleh tiga orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu Ron Rivest, Adi Shamir dan Leonard Adleman. RSA adalah salah satu teknik kriptografi dimana kunci untuk melakukan enkripsi berbeda dengan kunci untuk melakukan dekripsi. Kunci untuk melakukan enkripsi disebut sebagai kunci publik, sedangkan kunci untuk melakukan dekripsi disebut sebagai kunci privat. Orang yang mempunyai kunci publik dapat melakukan enkripsi tetapi yang dalam melakukan dekripsi hanyalah orang yang memiliki kunci privat. Kunci publik dapat dimiliki oleh sembarang orang, tetapi kunci privat hanya dimiliki oleh orang tertentu saja.

Untuk pembangkitan pasangan kunci RSA, digunakan algoritma sebagai berikut: 
  1. Dipilih dua buah bilangan prima sembarang yang besar, p dan q. Nilai p dan q harus dirahasiakan. 
  2. Dihitung n = p x q. Besaran n tidak perlu dirahasiakan. 
  3. Dihitung m = (p – 1)(q – 1). Besaran m perlu dirahasiakan. 
  4. Dipilih sebuah bilangan bulat sebagai kunci publik, disebut namanya e, yang relatif prima terhadap m. e relatif prima terhadap m artinya faktor pembagi terbesar keduanya adalah 1, secara matematis disebut gcd (e,m) = 1. Untuk mencarinya dapat digunakan algoritma Euclid. Nilai e bersifat tidak rahasia. 
  5. Dihitung kunci privat, disebut namanya d sedemikian agar (d x e) mod m = 1. Untuk mencari nilai d yang sesuai dapat juga digunakan algoritma Extended Euclid. Nilai D bersifat rahasia.
Maka hasil dari algoritma tersebut diperoleh : 
  1. kunci publik adalah pasangan (e,n). Bersifat tidak rahasia. 
  2. kunci private adalah pasangan (d,n). Bersifat rahasia 
Algoritma Enkripsi/Dekripsi 


Enkripsi 
  • Ambil kunci publik penerima pesan, e, dan n 
  • Nyatakan plainteks M menjadi blok-blok M1, M2, …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n – 1]. 
  • Setiap blok Mi dienkripsi menjadi blok Ci dengan rumus Ci = Mi ^ e mod n 
Dekripsi 
  • Setiap blok cipherteks Ci didekripsi kembali menjadi blok Mi dengan rumus Mi = Ci ^ d mod n

Contoh RSA Sederhana 
  1. p = 47 dan q = 71 (keduanya prima). 
  2. n = p ⋅ q = 3337 
  3. m = (p – 1)(q – 1) = 3220 
  4. Pilih e yg relativ prime terhadap m, gcd(e,m) = 1.
    e = 79 => gcd(79, 3337) = 1 
  5. Cari nilai d, d*e = 1 mod (m) 
          d*79 = 1 mod 3220
          d*79 mod 3220 = 1
          d = 1019
    Sehingga didapatkan : 
    1. Public key : (79, 3337) 
    2. Private key : (1019, 3337) 

    Proses Enkripsi
    Setelah didapat perhitungan di atas, maka akan dilakukan enkripsi plaintext M = AKU. Pertama-tama plaintext tersebut diubah menjadi format ASCII sebagai berikut : 

    Karakter          A                K           U 
    ASCII             65               75          85 

    M1 = 657 M2 = 585

    Setelah dibagi perblock, maka akan dihitung menggunakan rumus Ci = Mi ^ e mod n. 
    • C1 = 657 ^ 79 mod 3337 = 2349 
    • C2 = 585 ^ 79 mod 3337 = 685 
    Maka, chipertext yang didapatkan adalah C = 320328

    Proses Dekripsi
    Setelah chipertext dari kata AKU didapat, untuk mengubahnya kembali jadi plaintext menggunakan dekripsi dengan rumus Mi = Ci ^ d mod n. 
    • M1 = 2349 ^ 1019 mod 3337 = 657 
    • M2 = 685 ^ 1019 mod 3337 = 585 
    Maka, setelah di dekripsi hasilnya akan sama. Yaitu 657585.

    Sumber = http://herwingoernia19.blogspot.com/2013/12/kriptografi-rsa.html

    NIM = A11.2016.09563
    NAMA = Happy Niti Noor M

    0 komentar:

    Copyright © 2018 Xhion-Anime | Guilty Crown Theme | Designed by Johanes DJ