Sunday, May 31, 2009

Multiplicative inverse modulus p

JavaScript snippet that will implement this nicely.

Use approprite html elements that fits the script.

window.onload= initForm;

function initForm(){
document.getElementById("ok").onclick = calcInverse;
}

function calcInverse(){

var n= parseInt(document.getElementById("nn").value);
var p= parseInt(document.getElementById("pp").value);

var x = 1;
var y = 0;
var a=p;
var b=n;
var q,t;
var res;
while (b != 0) {
t = b;
q = Math.floor(a/t);
b = a - q*t;
a = t;
t = x;
x = y - q*t;
y = t;
}
if(y<0){
res= y+p;
}
else{
res=y;
}

document.getElementById("r1").innerHTML="a^-1 er "+res;
return false;

}

No comments: