alexa-tracking

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/53c855ebbdcb1796518b45c1/tanya--tentang-algoritma-rsa-di-java
[ TANYA ] Tentang algoritma RSA di JAVA
gini gan,, kan saya nemu script kek gini

Spoiler for Algoritma RSA:


yang ingin saya tanyakan :
1. Kita tau dari mananya kalau itu emang script algoritma RSA
2. terus algoritma RSA diatas itu bitnya yg dipakai 256bit atau brp ?
3. Dan maksud bit yang dipakai itu untuk bagian apanya ? untuk kuncinya kah untuk bilangan primanya kah atau yang lain ?
4. yang paling membedakan algoritma Kriptografi RSA sama Kriptografi yang lainnya itu apanya ?

satu lagi ga, kalo ada referensi lengkap tentang algoritma RSA boleh saya minta.

makasi sebelumnya emoticon-Smilie

tutorial algoritma RSA

Ane nemu yang bahas Enkripsi teks dengan teknik RSA
Kalkaltor RSA
Contoh penggunakan library untuk kalkulator RSA
Code:
public void CaraHitungNilaiRSA()
{
/*penggunaan RSA sangat unik!
* dikarenakan kita menggunakan public key dan private key
* public key yaitu d dan N
* private key yaitu e dan N
* Bagaimana menentukan nilai e,d, dan N?
* maka kita membutuhkan nilai awal
* p,q, dan e yang nilai tersebut bilangan prima!
* jadi pastikan dulu bilangan tersebut PRIMA!
*/
int p = 1301;
int q = 4001;
int e = 98981;
if (!Helper.IsPrime(p))
{
Console.WriteLine("p bukan bilangan prima!");
return;
}
if (!Helper.IsPrime(q))
{
Console.WriteLine("q bukan bilangan prima!");
return;
}
if (!Helper.IsPrime(e))
{
Console.WriteLine("e bukan bilangan prima!");
return;
}
/*setelah semua dipastikan bilangan prima!
* maka gunakan class RSA untuk menghitung nilai d dan N nya
*/
RSA rsa = new RSA(p, q, e);
Console.WriteLine("Public key \n"+
"e : "+e.ToString()+"\n"+
"N : "+rsa.N.ToString()
);

Console.WriteLine("Private key \n" +
"d : " + rsa.D.ToString() + "\n" +
"N : " + rsa.N.ToString()
);

/*setelah mendapatkan nilai e,d, dan N
* maka anda siap gunakan nilai tersebut untuk melakukan proses enkripsi dan dekripsi
* yaitu berupa nilai angka!
*/
int nilaiAwal = 100;
rsa.SetPublicKey(e, int.Parse(rsa.N.ToString())); //set nilai public key nya!
int nilaiEnkripsi = rsa.DoEncrypt(nilaiAwal); //proses enkripsi!
Console.WriteLine(nilaiAwal + " diubah " + nilaiEnkripsi);
/* pasti nilai nya akan berbeda!
* untuk mengubah kembali, gunakan dekripsi
*/
rsa.SetPrivateKey(int.Parse(rsa.D.ToString()), int.Parse(rsa.N.ToString())); //set nilai public key nya!
int nilaiDekripsi = rsa.DoDecrypt(nilaiEnkripsi);
Console.WriteLine(nilaiEnkripsi + " diubah " + nilaiDekripsi);



}

Menghasilkan
[ TANYA ] Tentang algoritma RSA di JAVA
Enkripsi RSA
Contoh penggunakan library untuk Enkripsi RSA
Code:


public void EnkripsiPesanDenganRSA()
{
Console.WriteLine("ENKRIPSI DENGAN RSA");
String rahasia = "ini adalah sebuah pesan rahasia!"; //pesan asli
Console.WriteLine("\nKALIMAT AWAL :\n" + rahasia);
int[] kodeASCII = Helper.Huruf2Angka(rahasia); // string diubah menjadi array ascii
//set kunci public dan private
int e = 79;
int d = 1019;
int N = 3337;
RSA rsa = new RSA(); //panggil class RSA
rsa.SetPublicKey(e, N); //tetapkan kunci RSA nya!
int[] kodeEnkripsi = new int[kodeASCII.GetLength(0)];
for (int i = 0; i < kodeASCII.GetLength(0); i++)
{
kodeEnkripsi[i] = rsa.DoEncrypt(kodeASCII[i]); //lakukan proses enkripsi satu-persatu

}
String paketKalimat = Helper.PaketKalimat(kodeEnkripsi);

String kalimat = Helper.KalimatAngka2Huruf(paketKalimat);
Console.WriteLine("\nKALIMAT HASIL ENKRIPSI :\n" + kalimat);

/* selanjutnya proses dekripsi yaitu
*
*/
int[] code2 = Helper.Huruf2Angka(kalimat); //ubah string menjadi array ascii
paketKalimat = null;
for (int i = 0; i < code2.GetLength(0); i++)
{
paketKalimat += code2[i].ToString();
}
//Console.WriteLine(kalimatAngka);

paketKalimat = Helper.UraiPaket(paketKalimat); //urai paket kebalikan dari proses paket kalimat!

String[] kalimat3 = paketKalimat.Split('#'); //gunakan tanda # untuk split
rsa.SetPrivateKey(d, N); //tetapkan private key
int[] kodeDekripsi = new int[kalimat3.GetLength(0) - 1];
for (int i = 0; i < kodeDekripsi.GetLength(0); i++)
{
kodeDekripsi[i] = rsa.DoDecrypt(int.Parse(kalimat3[i].ToString())); //lakukan proses dekripsi satu - persatu

}

String urai = Helper.Angka2Huruf(kodeDekripsi); //ubah code ascci menjadi string
Console.WriteLine("\nKALIMAT HASIL DEKRIPSI :\n" + urai);
}

Menghasilkan
[ TANYA ] Tentang algoritma RSA di JAVA


Biar lebih jelasnya bisa
http://www.softscients.web.id/2015/0...eknik-rsa.html
Quote:Original Posted By fbu012
gini gan,, kan saya nemu script kek gini

yang ingin saya tanyakan :
1. Kita tau dari mananya kalau itu emang script algoritma RSA
2. terus algoritma RSA diatas itu bitnya yg dipakai 256bit atau brp ?
3. Dan maksud bit yang dipakai itu untuk bagian apanya ? untuk kuncinya kah untuk bilangan primanya kah atau yang lain ?
4. yang paling membedakan algoritma Kriptografi RSA sama Kriptografi yang lainnya itu apanya ?

satu lagi ga, kalo ada referensi lengkap tentang algoritma RSA boleh saya minta.

makasi sebelumnya emoticon-Smilie


1&2) yg ane liat dr spoiler ente itu cuman make RSA (256 bit) saja tapi bukan implementasi algoritma/konsep RSA
3) * bit buat nentuin tingkat kerumitan key sehingga data terenkripsi lebih rumit
4) yg membedakan utk tingkat kerumitan dan waktu untuk dibobol (just simplified explanation lho ya)

refereni ada kok jelasin sampai detail, ente googling aja, dulu ane bikin implementasi RSA jg dari googling utk dapet konsepnya yg jelas
dan kalau ini buat skripsi bisa ditambahin program packer sniffer utk memastikan data telah terenkripsi

buat agan2 yg laen cmiiw ya