| author | |
| committer | |
| log | a14352b0b24b295e1857f306de5877680dd80d2b |
| tree | 624889d344658be65ac0ec0b8cfb82818b11a8c1 |
| parent | 369177f0bac119998c573754ad14896a0492d8c7 |
| signature |
Implemented `neg()` method for `AffineCoordinates` struct of p256,
p384 and secp256k1 curves.
Resolves: #20505 (partially)3 files changed, 12 insertions(+), 0 deletions(-)
lib/std/crypto/pcurves/p256.zig+4| ... | ... | @@ -471,6 +471,10 @@ pub const AffineCoordinates = struct { |
| 471 | 471 | /// Identity element in affine coordinates. |
| 472 | 472 | pub const identityElement = AffineCoordinates{ .x = P256.identityElement.x, .y = P256.identityElement.y }; |
| 473 | 473 | |
| 474 | pub fn neg(p: AffineCoordinates) AffineCoordinates { | |
| 475 | return .{ .x = p.x, .y = p.y.neg() }; | |
| 476 | } | |
| 477 | ||
| 474 | 478 | fn cMov(p: *AffineCoordinates, a: AffineCoordinates, c: u1) void { |
| 475 | 479 | p.x.cMov(a.x, c); |
| 476 | 480 | p.y.cMov(a.y, c); |
lib/std/crypto/pcurves/p384.zig+4| ... | ... | @@ -471,6 +471,10 @@ pub const AffineCoordinates = struct { |
| 471 | 471 | /// Identity element in affine coordinates. |
| 472 | 472 | pub const identityElement = AffineCoordinates{ .x = P384.identityElement.x, .y = P384.identityElement.y }; |
| 473 | 473 | |
| 474 | pub fn neg(p: AffineCoordinates) AffineCoordinates { | |
| 475 | return .{ .x = p.x, .y = p.y.neg() }; | |
| 476 | } | |
| 477 | ||
| 474 | 478 | fn cMov(p: *AffineCoordinates, a: AffineCoordinates, c: u1) void { |
| 475 | 479 | p.x.cMov(a.x, c); |
| 476 | 480 | p.y.cMov(a.y, c); |
lib/std/crypto/pcurves/secp256k1.zig+4| ... | ... | @@ -549,6 +549,10 @@ pub const AffineCoordinates = struct { |
| 549 | 549 | /// Identity element in affine coordinates. |
| 550 | 550 | pub const identityElement = AffineCoordinates{ .x = Secp256k1.identityElement.x, .y = Secp256k1.identityElement.y }; |
| 551 | 551 | |
| 552 | pub fn neg(p: AffineCoordinates) AffineCoordinates { | |
| 553 | return .{ .x = p.x, .y = p.y.neg() }; | |
| 554 | } | |
| 555 | ||
| 552 | 556 | fn cMov(p: *AffineCoordinates, a: AffineCoordinates, c: u1) void { |
| 553 | 557 | p.x.cMov(a.x, c); |
| 554 | 558 | p.y.cMov(a.y, c); |