X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=perl%2Frsa.pl;h=7c8b316392cd685556ce94fe6f3ee1d4d1315537;hb=b118cefd1c56620cc1e2af8f4abf526b518b395f;hp=522be22e1a79895d44acff37f5e8074e08e316a7;hpb=ecdf2356b7be385b56c237a07738ce1b895d2756;p=mirrors%2FPrograms.git diff --git a/perl/rsa.pl b/perl/rsa.pl index 522be22..7c8b316 100755 --- a/perl/rsa.pl +++ b/perl/rsa.pl @@ -5,7 +5,7 @@ use bignum; #We'll need bignum for real messages sub rsa { #RSA (de)crypt function (message,modulus,exponent) my ($msg,$m,$e) = @_; - ($msg**$e)%($m); + ($msg**$e)%($m); #TODO: reimplement using chinese remainder theorem (this is too slow!!!) } sub isprime { #Tell if number is prime or not (suboptimal) @@ -40,6 +40,7 @@ print "\t[[[ Harvie's simple RSA demo ]]]\nfor study & testing purposes only (IN print "=== KEYS ===\nPUB: ($n,$e)\nPRV: ($n,$d)\n"; my $msg=1337; +$msg=$n-1; print "=== TEST ===\nMSG: $msg\n"; my $enc=rsa($msg,$n,$e); #encrypt print "ENC: $enc\n";