authorgravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2024-07-23 21:45:24+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-07-23 19:45:24+00:00
log2e8acdf6fa0336809a2ddcd197f99a3548205768
tree843e65cb53b2bf0b12f75bd16bb8cd92d5bb92f1
parentbe1e1fa180f333bb4c0818b988eb30e87773a583
signaturebadge-check Signed by PGP key B5690EEEBB952194

Fix compilation issues in crypto.bccrypt and poly1305 (#20756)


2 files changed, 8 insertions(+), 8 deletions(-)

lib/std/crypto/bcrypt.zig+7-7
...@@ -496,24 +496,24 @@ const pbkdf_prf = struct {...@@ -496,24 +496,24 @@ const pbkdf_prf = struct {
496 hasher: Sha512,496 hasher: Sha512,
497 sha2pass: [Sha512.digest_length]u8,497 sha2pass: [Sha512.digest_length]u8,
498498
499 fn create(out: *[mac_length]u8, msg: []const u8, key: []const u8) void {499 pub fn create(out: *[mac_length]u8, msg: []const u8, key: []const u8) void {
500 var ctx = Self.init(key);500 var ctx = Self.init(key);
501 ctx.update(msg);501 ctx.update(msg);
502 ctx.final(out);502 ctx.final(out);
503 }503 }
504504
505 fn init(key: []const u8) Self {505 pub fn init(key: []const u8) Self {
506 var self: Self = undefined;506 var self: Self = undefined;
507 self.hasher = Sha512.init(.{});507 self.hasher = Sha512.init(.{});
508 Sha512.hash(key, &self.sha2pass, .{});508 Sha512.hash(key, &self.sha2pass, .{});
509 return self;509 return self;
510 }510 }
511511
512 fn update(self: *Self, msg: []const u8) void {512 pub fn update(self: *Self, msg: []const u8) void {
513 self.hasher.update(msg);513 self.hasher.update(msg);
514 }514 }
515515
516 fn final(self: *Self, out: *[mac_length]u8) void {516 pub fn final(self: *Self, out: *[mac_length]u8) void {
517 var sha2salt: [Sha512.digest_length]u8 = undefined;517 var sha2salt: [Sha512.digest_length]u8 = undefined;
518 self.hasher.final(&sha2salt);518 self.hasher.final(&sha2salt);
519 out.* = hash(self.sha2pass, sha2salt);519 out.* = hash(self.sha2pass, sha2salt);
...@@ -521,12 +521,12 @@ const pbkdf_prf = struct {...@@ -521,12 +521,12 @@ const pbkdf_prf = struct {
521521
522 /// Matches OpenBSD function522 /// Matches OpenBSD function
523 /// https://github.com/openbsd/src/blob/6df1256b7792691e66c2ed9d86a8c103069f9e34/lib/libutil/bcrypt_pbkdf.c#L98523 /// https://github.com/openbsd/src/blob/6df1256b7792691e66c2ed9d86a8c103069f9e34/lib/libutil/bcrypt_pbkdf.c#L98
524 fn hash(sha2pass: [Sha512.digest_length]u8, sha2salt: [Sha512.digest_length]u8) [32]u8 {524 pub fn hash(sha2pass: [Sha512.digest_length]u8, sha2salt: [Sha512.digest_length]u8) [32]u8 {
525 var cdata: [8]u32 = undefined;525 var cdata: [8]u32 = undefined;
526 {526 {
527 const ciphertext = "OxychromaticBlowfishSwatDynamite";527 const ciphertext = "OxychromaticBlowfishSwatDynamite";
528 var j: usize = 0;528 var j: usize = 0;
529 for (cdata) |*v| {529 for (&cdata) |*v| {
530 v.* = State.toWord(ciphertext, &j);530 v.* = State.toWord(ciphertext, &j);
531 }531 }
532 }532 }
...@@ -557,7 +557,7 @@ const pbkdf_prf = struct {...@@ -557,7 +557,7 @@ const pbkdf_prf = struct {
557557
558 // zap558 // zap
559 crypto.utils.secureZero(u32, &cdata);559 crypto.utils.secureZero(u32, &cdata);
560 crypto.utils.secureZero(State, @as(*[1]State, &state));560 crypto.utils.secureZero(u32, &state.subkeys);
561561
562 return out;562 return out;
563 }563 }
lib/std/crypto/poly1305.zig+1-1
...@@ -148,7 +148,7 @@ pub const Poly1305 = struct {...@@ -148,7 +148,7 @@ pub const Poly1305 = struct {
148 return;148 return;
149 }149 }
150 @memset(st.buf[st.leftover..], 0);150 @memset(st.buf[st.leftover..], 0);
151 st.blocks(&st.buf);151 st.blocks(&st.buf, false);
152 st.leftover = 0;152 st.leftover = 0;
153 }153 }
154154