Jump to content

Elliptic Curve Digital Signature Algorithm: Difference between revisions

(→‎{{header|Raku}}: cleaning, use dynamic variables and FiniteFields module)
(→‎{{header|Raku}}: expand tabs)
Line 2,734:
my $z = :16(sha256-hex $message) % $*n;
loop (my $k = my $s = my $r = 0; $r == 0; ) {
loop ( $r = $s = 0 ; $r == 0 ; ) {
$r = (( $k = (1..^$*n).roll ) * $*G).x % $*n;
}
}
{
{
use FiniteField; my $*modulus = $*n;
$s = ($z + $r*$private-key) / $k;
}
}
}
samewith c => $r, d => $s;
Line 2,748:
my ($u1, $u2);
{
use FiniteField;
my $*modulus = $*n;
my $w = 1/$!d;
($u1, $u2) = $z*$w, $!c*$w;
}
my $p = ($u1 * $*G) + ($u2 * $public-key);
1,934

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.