> | r := rand(10^80)(); s := rand(10^80)(); p := nextprime(r); q := nextprime(s); |
> | n := p*q; |
> | m := (p-1)*(q-1); |
> | a := 2^16+1; |
> | isprime(a); gcd(a,m); |
> | b := eval(1/a mod m); |
> | u := (x,a,n) -> Power(x,a) mod n: v := (x,b,n) -> Power(x,b) mod n: |
> | y := u(5,a,n); x :=v(y,b,n); |
> | y := u(5555555,a,n); x :=v(y,b,n); |
> | y := u(19669081321110693270343633073697474256143563558458718976746753830538032062222085,a,n); x :=v(y,b,n); |
> | y := u(0417181903041104171816191819160017030817021604180017,a,n); x :=v(y,b,n); |
> | x := convert("Bom dia, a vossa missão para hoje é codificar esta mensagem.", bytes); |
> | y := u(6611110932100105974432973211811111511597321091051151152271113211297114973210411110610132233329911110010510210599971143210111511697321091011101159710310110946,a,n); |
> | x :=v(y,b,n); |
> | x := convert([66, 111, 109, 32, 100, 105, 97, 44, 32, 97, 32, 118, 111, 115, 115, 97, 32, 109, 105, 115, 115, 227, 111, 32, 112, 97, 114, 97, 32, 104, 111, 106, 101, 32, 233, 32, 99, 111, 100, 105, 102, 105, 99, 97, 114, 32, 101, 115, 116, 97, 32, 109, 101, 110, 115, 97, 103, 101, 109, 46],bytes); |
> |
> |