Просмотр исходного кода

core/crypto/_fiat/field_poly1305: Use multiply to calculate the mask

Yawning Angel 1 год назад
Родитель
Сommit
36f3001d59
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      core/crypto/_fiat/field_poly1305/field.odin

+ 1 - 1
core/crypto/_fiat/field_poly1305/field.odin

@@ -76,7 +76,7 @@ fe_cond_swap :: #force_no_inline proc "contextless" (
 	out1, out2: ^Tight_Field_Element,
 	arg1: bool,
 ) {
-	mask := -u64(arg1)
+	mask := (u64(arg1) * 0xffffffffffffffff)
 	x := (out1[0] ~ out2[0]) & mask
 	x1, y1 := out1[0] ~ x, out2[0] ~ x
 	x = (out1[1] ~ out2[1]) & mask