| ... | @@ -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| { |