Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Teknik penerapan enkripsi rsa untuk sekuriti pesan

78 views

Published on

Teknik penerapan enkripsi rsa untuk sekuriti pesan

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Teknik penerapan enkripsi rsa untuk sekuriti pesan

  1. 1. www.softscients.web.id Teknik Penerapan Enkripsi RSA untuk Sekuriti Pesan Oleh : mulkan.ms@gmail.com www.softscients.web.id Melanjutkan tulisan dari http://www.softscients.web.id/2016/12/encrypt-file-using-rsa-java.html Penulis akan membuat pemahaman, mengapa cara menerapkan enkripsi sebuah text dengan teknik RSA RSAOK rsa = new RSAOK(); rsa.RSA(50); System.out.println("Public Key "+rsa.getPublicKey().toString()); System.out.println("Modulus Key "+rsa.getModulus().toString()); System.out.println("Private Key "+rsa.getPrivateKey().toString()); String karakater = "H"; //karakter yang akan di rsa kan BigInteger m = new BigInteger(karakater.getBytes()); BigInteger encode = rsa.encrypt(m); BigInteger decode = rsa.decrypt(encode); System.out.println("m "+m.toString()); System.out.println("encode "+encode.toString()+"; Panjang angka : "+encode.toString().length()); System.out.println("decode "+decode.toString());
  2. 2. www.softscients.web.id Menghasilkan Public Key 65537 Modulus Key 1017697839735491 Private Key 781833889592609 karakter H; ascii :72 encode 739322720308808; Panjang angka : 15 decode 72 Kamu bisa melihat angka 72 telah diubah menjadi 739322720308808 (angka yang cukup besar), bisa juga kita siasati dengan mengubah angka tersebut ke single digit a b c d e f g h i j k 0 1 2 3 4 5 6 7 8 9 Pemisah 1 Sehingga kode 739322720308808 menjadi hdjdcchcadaiiai Bagaimana dengan kata? Kita butuh pemisah misalkan ada sebuah kalimat “ini rahasia” karakter Code ascii encode Hasil akhir i 105 94891177819320 jeijbbhhibjdca n 110 657911426434345 gfhjbbecgededef i 105 94891177819320 jeijbbhhibjdca 32 477045823777987 ehhaeficdhhhjih r 114 169752018055833 bgjhfcabiaffidd a 97 389655121813250 dijgffbcbibdcfa h 104 397620491121233 djhgcaejbbcbcdd a 97 389655121813250 dijgffbcbibdcfa s 115 139588690515134 bdjfiigjafbfbde i 105 94891177819320 jeijbbhhibjdca a 97 389655121813250 dijgffbcbibdcfa Setiap huruf dipisah dengan huruf k sehingga digabung menjadi jeijbbhhibjdcakgfhjbbecgededefkjeijbbhhibjdcakehhaeficdhhhjihkbgjhfcabiaffiddkdijgffbcbibdcfakdjhg caejbbcbcddkdijgffbcbibdcfakbdjfiigjafbfbdekjeijbbhhibjdcakdijgffbcbibdcfak sehingga yang dari semula kata “ini rahasia” terdiri dari 11 karakter (termasuk spasi) menjadi “jeijbbhhibjdcakgfhjbbecgededefkjeijbbhhibjdcakehhaeficdhhhjihkbgjhfcabiaffiddkdijgffbcbibdcfakdjh gcaejbbcbcddkdijgffbcbibdcfakbdjfiigjafbfbdekjeijbbhhibjdcakdijgffbcbibdcfak” menjadi 173 karakater Anda bebas saja menggunakan huruf k atau karakter lainnya dalam memisahkan antar huruf
  3. 3. www.softscients.web.id Untuk split kata tersebut cukup gunakan function string yang ada yaitu (misalkan dalam bahasa java) String [] huruf3 = huruf2.split("k"); Public Key 65537 Modulus Key 1017697839735491 Private Key 781833889592609 Kata : ini rahasia karakter i; ascii :105; encode 94891177819320 ; jeijbbhhibjdca karakter n; ascii :110; encode 657911426434345 ; gfhjbbecgededef karakter i; ascii :105; encode 94891177819320 ; jeijbbhhibjdca karakter ; ascii :32; encode 477045823777987 ; ehhaeficdhhhjih karakter r; ascii :114; encode 169752018055833 ; bgjhfcabiaffidd karakter a; ascii :97; encode 389655121813250 ; dijgffbcbibdcfa karakter h; ascii :104; encode 397620491121233 ; djhgcaejbbcbcdd karakter a; ascii :97; encode 389655121813250 ; dijgffbcbibdcfa karakter s; ascii :115; encode 139588690515134 ; bdjfiigjafbfbde karakter i; ascii :105; encode 94891177819320 ; jeijbbhhibjdca karakter a; ascii :97; encode 389655121813250 ; dijgffbcbibdcfa Enkripsi : jeijbbhhibjdcakgfhjbbecgededefkjeijbbhhibjdcakehhaeficdhhhjihkbgjhfcabiaffiddkdijgffbcbibdcfakdjhg caejbbcbcddkdijgffbcbibdcfakbdjfiigjafbfbdekjeijbbhhibjdcakdijgffbcbibdcfak Dekripsi : ini rahasia Contoh menggunakan karakter selain huruf Public Key 65537 Modulus Key 1017697839735491 Private Key 781833889592609 Kata : !@#$%^&*()_+=~` karakter !; ascii :33; encode 605911738188386 ; gafjbbhdibiidig karakter @; ascii :64; encode 363099641701104 ; dgdajjgebhabbae karakter #; ascii :35; encode 910494409229071 ; jbaejeeajccjahb karakter $; ascii :36; encode 562672661592259 ; fgcghcggbfjccfj
  4. 4. www.softscients.web.id karakter %; ascii :37; encode 946766341700897 ; jeghggdebhaaijh karakter ^; ascii :94; encode 404010906736683 ; eaeabajaghdggid karakter &; ascii :38; encode 26056801614179 ; cgafgiabgbebhj karakter *; ascii :42; encode 522049419583531 ; fccaejebjfidfdb karakter (; ascii :40; encode 880547345554288 ; iiafehdefffecii karakter ); ascii :41; encode 1017273804442548 ; babhchdiaeeecfei karakter _; ascii :95; encode 931117807133367 ; jdbbbhiahbdddgh karakter +; ascii :43; encode 963863169637008 ; jgdigdbgjgdhaai karakter =; ascii :61; encode 505584403865338 ; faffieeadigfddi karakter ~; ascii :126; encode 724932052605477 ; hcejdcafcgafehh karakter `; ascii :96; encode 662787132109618 ; ggchihbdcbajgbi Enkripsi : gafjbbhdibiidigkdgdajjgebhabbaekjbaejeeajccjahbkfgcghcggbfjccfjkjeghggdebhaaijhkeaeabajaghdggid kcgafgiabgbebhjkfccaejebjfidfdbkiiafehdefffeciikbabhchdiaeeecfeikjdbbbhiahbdddghkjgdigdbgjgdhaai kfaffieeadigfddikhcejdcafcgafehhkggchihbdcbajgbik Dekripsi : !@#$%^&*()_+=~` Keterangan: Penulis menggunakan bahasa java, kamu pun bisa menggunakan bahasa selain java seperti C#, Basic yang biasanya secara default sudah ada class yang telah built in, disini penulis hanya menerapkan teknik nya saja. Referensi: https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29 https://id.wikipedia.org/wiki/RSA https://javadigest.wordpress.com/2012/08/26/rsa-encryption-example/ http://www.java2s.com/Tutorial/Java/0490__Security/BasicRSAexample.htm http://www.java2s.com/Code/Java/Security/SimpleRSApublickeyencryptionalgorithmimpleme ntation.htm

×