Crypt-Protocol
view release on metacpan or search on metacpan
t/19.spake2plus-P256-SHA256-HKDF.t view on Meta::CPAN
my $w0 = 'e6887cf9bdfb7579c69bf47928a84514b5e355ac034863f7ffaf4390e67d798c';
my $w0_bn = hex2bn( $w0 );
### $w0
my $w1 = '24b5ae4abda868ec9336ffc3b78ee31c5755bef1759227ef5372ca139b94e512';
my $w1_bn = hex2bn( $w1 );
### $w1
my $L_Point = $spake2plus->calc_L($w1_bn);
my $L = point2hex($spake2plus->{curve_name}, $L_Point, 4);
### $L
is($L, '0495645CFB74DF6E58F9748BB83A86620BAB7C82E107F57D6870DA8CBCB2FF9F7063A14B6402C62F99AFCB9706A4D1A143273259FE76F1C605A3639745A92154B9', 'L');
# A : X = x*P + w0*M
my $x = '8b0f3f383905cf3a3bb955ef8fb62e24849dd349a05ca79aafb18041d30cbdb6';
my $x_bn = hex2bn( $x );
my $X_Point = $spake2plus->A_calc_X($w0_bn, $x_bn);
my $X = point2hex($spake2plus->{curve_name}, $X_Point, 4);
### $X
is($X, '04AF09987A593D3BAC8694B123839422C3CC87E37D6B41C1D630F000DD64980E537AE704BCEDE04EA3BEC9B7475B32FA2CA3B684BE14D11645E38EA6609EB39E7E', 'X');
# B : Y = y*P + w0*N
( run in 1.210 second using v1.01-cache-2.11-cpan-e1769b4cff6 )