VIXEP - Make it, Share it, Play it
Welcome to VIXEP CITY :vixep:!

Silahkan Log In terlebih dahulu jika anda sudah memiliki VIXEP Account, supaya anda dapat melakukan posting dan bergabung dengan VIXEP Citizen yang lainnya :D

Jika anda belum memiliki VIXEP Account, silahkan Register terlebih dahulu untuk memulai kehidupan baru di VIXEP CITY :D

- VIXEP Staff -
VIXEP - Make it, Share it, Play it
Welcome to VIXEP CITY :vixep:!

Silahkan Log In terlebih dahulu jika anda sudah memiliki VIXEP Account, supaya anda dapat melakukan posting dan bergabung dengan VIXEP Citizen yang lainnya :D

Jika anda belum memiliki VIXEP Account, silahkan Register terlebih dahulu untuk memulai kehidupan baru di VIXEP CITY :D

- VIXEP Staff -
VIXEP - Make it, Share it, Play it
Would you like to react to this message? Create an account in a few clicks or log in to continue.


VIXEP - Make it, Share it, Play it
 
HomePortalUUDLatest imagesSearchRegisterLog in

Share | 
 

 [GML] RSA Algorithm

View previous topic View next topic Go down 
AuthorMessage
ListRA-92
Adv. Citizen A
Adv. Citizen A
ListRA-92

Lokasi : antara ada dan tiada~ :-
Status : Who says a woman has to be weak?!!
Jumlah Post : 407
Voucher Voucher : 4451
Reppo : 2
Join Date : 2010-10-09

[GML] RSA Algorithm Empty
PostSubject: [GML] RSA Algorithm   [GML] RSA Algorithm EmptyMon 11 Oct 2010, 14:51

Overview:

Script: modX
Code:
//modX(a,b,p) : power(a,b) mod p
if(argument1<=2){
    return power(argument0,argument1) mod argument2;
}else if(argument1 mod 2==0){
    return (modX(argument0,argument1/2,argument2)*modX(argument0,argument1/2,argument2)) mod argument2
}else{
    return (modX(argument0,argument1-1,argument2)*modX(argument0,1,argument2)) mod argument2
}

Script: generatePublicKeys
Code:
//generatePublicKeys(e)
//where e is a public key that is relatively prime to m
a=23
b=11
global.n=a*b
global.m=(a-1)*(b-1)
global.e=argument0
k=1
while((1+k*global.m) mod global.e<>0){
    k+=1
}
global.d=(1+k*global.m)/global.e

Script: encrypt
Code:
//encrypt(input_file,output_file)
fileid=file_bin_open(argument0,0)
fileido=file_bin_open(argument1,1)
file_bin_rewrite(fileido)
if(file_bin_size(fileid) mod 2 !=0){
    ba=file_bin_read_byte(fileid)
    file_bin_write_byte(fileido,~ba)
}
do{
    ba=file_bin_read_byte(fileid)
    bb=file_bin_read_byte(fileid)
    bc=ba mod 16
    ba=(ba div 16)*16+bb div 16
    bb=bc*16+bb mod 16
    ba=modX(ba,global.e,global.n)
    bb=modX(bb,global.e,global.n)
    file_bin_write_byte(fileido,ba)
    file_bin_write_byte(fileido,bb)
}until (file_bin_position(fileid)>file_bin_size(fileid)-1)
file_bin_close(fileid)
file_bin_close(fileido)

Script: decrypt
Code:
//decrypt(input_file,output_file)
fileid=file_bin_open(argument0,0)
fileido=file_bin_open(argument1,1)
file_bin_rewrite(fileido)
if(file_bin_size(fileid) mod 2 !=0){
    ba=file_bin_read_byte(fileid)
    file_bin_write_byte(fileido,~ba)
}
do{
    ba=file_bin_read_byte(fileid)
    bb=file_bin_read_byte(fileid)
    ba=modX(ba,global.d,global.n)
    bb=modX(bb,global.d,global.n)
    bc=ba mod 16
    ba=(ba div 16)*16+bb div 16
    bb=bc*16+bb mod 16
    file_bin_write_byte(fileido,ba)
    file_bin_write_byte(fileido,bb)
}until (file_bin_position(fileid)>file_bin_size(fileid)-1)
file_bin_close(fileid)
file_bin_close(fileido)

Fungsi: mengenkripsi & mendekripsi data ke/dari suatu file input, termasuk utk save game & load game

Cara pemasangan:
- Buat empat script baru, kasi nama modX, generatePublicKeys, encrypt dan decrypt
- Copas masing-masing bagian code di atas ke masing2 script tersebut
- Implementasikan script-script tersebut (kecuali modX) ke action Execute a piece of code seperti contoh di berikut ini (tergantung penggunaan file). Untuk fungsi generatePublicKeys, masukkan suatu nilai kunci publik e dengan syarat e harus relatif prima terhadap m (FPB dari e dan m sama dengan 1).

Implementasi
Contoh:
Misalkan sebuah file terenkripsi bernama f.txt didekripsi dengan file keluaran bernama g.txt, dan isi file g.txt akan ditampung dalam string ss (yang nantinya ditampilkan). Setelah selesai, g.txt akan dihapus untuk menjaga kerahasiaan. Maka di bagian actions tambahkan action Execute a piece of code, dan isi dengan kode sebagai berikut:
Code:
generatePublicKeys(19)
//if(file_exists("e.txt"))encrypt("e.txt","f.txt")
decrypt("f.txt","g.txt")
ss=""
fileid=file_bin_open("g.txt",0)
do{
    ba=file_bin_read_byte(fileid)
    ss+=chr(ba)
}until (file_bin_position(fileid)>file_bin_size(fileid)-1)
file_bin_close(fileid)
file_delete("g.txt")
Di sini kita gunakan kunci public e=19. Sebagai langkah awal, kita buat enkripsi dari file teks yang bernama e.txt, dengan menghilangkan komen pada kode di atas (baris kedua).

Guarantee: Dijamin 99,9% aman dan super too difficult to hack!!! XD

Created by: ListRA-92

Credits
- http://en.wikipedia.org/wiki/RSA
- http://www.givemethecode.com

NB: Lihat konsep dan prinsip Algoritma RSA di: http://prodig.forumotion.net/programming-f28/programming-cryptography-rsa-algorithm-t74.htm :kabur:
Back to top Go down
https://bungatepijalan.wordpress.com
Vsio
[Moderation Advisor][Stitched][Aether][Existence Surfer][Unknown][Undefined]
[Moderation Advisor][Stitched][Aether][Existence Surfer][Unknown][Undefined]
Vsio

Lokasi : Between Existence and Anti-Existence
Status : Infection begins!
Jumlah Post : 505
Voucher Voucher : 5194
Reppo : 12
Join Date : 2010-08-23

[GML] RSA Algorithm Empty
PostSubject: Re: [GML] RSA Algorithm   [GML] RSA Algorithm EmptyTue 12 Oct 2010, 05:12

Waduh... gile nih... ==a

Realisasi algoritmanya bisa dilakukan dengan cukup baik dengan menggunakan bahasa GML... ==a
Back to top Go down
http://www.stitched.netai.net
 

[GML] RSA Algorithm

View previous topic View next topic Back to top 

 Similar topics

-
» [GML] Dijkstra's Algorithm (Beta)
» [RGSS2] RSA Algorithm (Beta)
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
VIXEP - Make it, Share it, Play it :: Bengkel :: Script Lainnya-