authorgravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2020-09-29 00:41:37+02:00
committergravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2020-09-29 10:23:00+02:00
log613f8fe83fc2db4bc39f18ad1a8190d33a4a1181
treeed0ef8b55175bba05cd9d3a587fac609842ce4f1
parent868a46eb43e68971634c046c8317c1b83cae21ae

Use mem.copy() instead of manual iterations


1 files changed, 4 insertions(+), 10 deletions(-)

lib/std/crypto/gimli.zig+4-10
...@@ -249,17 +249,13 @@ pub const Aead = struct {...@@ -249,17 +249,13 @@ pub const Aead = struct {
249 in = in[State.RATE..];249 in = in[State.RATE..];
250 out = out[State.RATE..];250 out = out[State.RATE..];
251 }) {251 }) {
252 const d = in[0..State.RATE];252 for (in[0..State.RATE]) |v, i| {
253 for (d) |v, i| {
254 buf[i] ^= v;253 buf[i] ^= v;
255 }254 }
256 for (d) |_, i| {255 mem.copy(u8, out[0..State.RATE], buf[0..State.RATE]);
257 out[i] = buf[i];
258 }
259 state.permute();256 state.permute();
260 }257 }
261 const d = in[0..];258 for (in[0..]) |v, i| {
262 for (d) |v, i| {
263 buf[i] ^= v;259 buf[i] ^= v;
264 out[i] = buf[i];260 out[i] = buf[i];
265 }261 }
...@@ -299,9 +295,7 @@ pub const Aead = struct {...@@ -299,9 +295,7 @@ pub const Aead = struct {
299 for (d) |v, i| {295 for (d) |v, i| {
300 out[i] = buf[i] ^ v;296 out[i] = buf[i] ^ v;
301 }297 }
302 for (d) |v, i| {298 mem.copy(u8, buf[0..State.RATE], d[0..State.RATE]);
303 buf[i] = v;
304 }
305 state.permute();299 state.permute();
306 }300 }
307 for (buf[0..in.len]) |*p, i| {301 for (buf[0..in.len]) |*p, i| {