aboutsummaryrefslogtreecommitdiff
path: root/core/crypto/deoxysii
diff options
context:
space:
mode:
Diffstat (limited to 'core/crypto/deoxysii')
-rw-r--r--core/crypto/deoxysii/deoxysii.odin6
-rw-r--r--core/crypto/deoxysii/deoxysii_impl_ct64.odin27
-rw-r--r--core/crypto/deoxysii/deoxysii_impl_hw_intel.odin5
3 files changed, 18 insertions, 20 deletions
diff --git a/core/crypto/deoxysii/deoxysii.odin b/core/crypto/deoxysii/deoxysii.odin
index 3ebcfea30..829d3d3ad 100644
--- a/core/crypto/deoxysii/deoxysii.odin
+++ b/core/crypto/deoxysii/deoxysii.odin
@@ -8,8 +8,8 @@ package deoxysii
import "base:intrinsics"
import "core:bytes"
+import "core:crypto"
import "core:crypto/aes"
-import "core:mem"
import "core:simd"
// KEY_SIZE is the Deoxys-II-256 key size in bytes.
@@ -142,7 +142,7 @@ open :: proc(ctx: ^Context, dst, iv, aad, ciphertext, tag: []byte) -> bool {
ok = d_ref(ctx, dst, iv, aad, ciphertext, tag)
}
if !ok {
- mem.zero_explicit(raw_data(dst), len(ciphertext))
+ crypto.zero_explicit(raw_data(dst), len(ciphertext))
}
return ok
@@ -151,7 +151,7 @@ open :: proc(ctx: ^Context, dst, iv, aad, ciphertext, tag: []byte) -> bool {
// reset sanitizes the Context. The Context must be
// re-initialized to be used again.
reset :: proc "contextless" (ctx: ^Context) {
- mem.zero_explicit(&ctx._subkeys, len(ctx._subkeys))
+ crypto.zero_explicit(&ctx._subkeys, len(ctx._subkeys))
ctx._is_initialized = false
}
diff --git a/core/crypto/deoxysii/deoxysii_impl_ct64.odin b/core/crypto/deoxysii/deoxysii_impl_ct64.odin
index c4d0edb03..e95eaa678 100644
--- a/core/crypto/deoxysii/deoxysii_impl_ct64.odin
+++ b/core/crypto/deoxysii/deoxysii_impl_ct64.odin
@@ -4,7 +4,6 @@ import "base:intrinsics"
import "core:crypto"
import aes "core:crypto/_aes/ct64"
import "core:encoding/endian"
-import "core:mem"
import "core:simd"
// This uses the bitlsiced 64-bit general purpose register SWAR AES
@@ -149,8 +148,8 @@ bc_absorb :: proc "contextless" (
intrinsics.unaligned_store((^simd.u8x16)(raw_data(dst)), dst_)
- mem.zero_explicit(&tweaks, size_of(tweaks))
- mem.zero_explicit(&tmp, size_of(tmp))
+ crypto.zero_explicit(&tweaks, size_of(tweaks))
+ crypto.zero_explicit(&tmp, size_of(tmp))
return stk_block_nr
}
@@ -214,8 +213,8 @@ bc_encrypt :: proc "contextless" (
nr_blocks -= n
}
- mem.zero_explicit(&tweaks, size_of(tweaks))
- mem.zero_explicit(&tmp, size_of(tmp))
+ crypto.zero_explicit(&tweaks, size_of(tweaks))
+ crypto.zero_explicit(&tmp, size_of(tmp))
return stk_block_nr
}
@@ -295,13 +294,13 @@ e_ref :: proc "contextless" (ctx: ^Context, dst, tag, iv, aad, plaintext: []byte
copy(dst[n*BLOCK_SIZE:], m_star[:])
- mem.zero_explicit(&m_star, size_of(m_star))
+ crypto.zero_explicit(&m_star, size_of(m_star))
}
copy(tag, auth[:])
- mem.zero_explicit(&st.q_stk, size_of(st.q_stk))
- mem.zero_explicit(&st.q_b, size_of(st.q_b))
+ crypto.zero_explicit(&st.q_stk, size_of(st.q_stk))
+ crypto.zero_explicit(&st.q_b, size_of(st.q_b))
}
@(private, require_results)
@@ -336,7 +335,7 @@ d_ref :: proc "contextless" (ctx: ^Context, dst, iv, aad, ciphertext, tag: []byt
copy(dst[n*BLOCK_SIZE:], m_star[:])
- mem.zero_explicit(&m_star, size_of(m_star))
+ crypto.zero_explicit(&m_star, size_of(m_star))
}
// Associated data
@@ -382,7 +381,7 @@ d_ref :: proc "contextless" (ctx: ^Context, dst, iv, aad, ciphertext, tag: []byt
_ = bc_absorb(&st, auth[:], m_star[:], PREFIX_MSG_FINAL, n)
- mem.zero_explicit(&m_star, size_of(m_star))
+ crypto.zero_explicit(&m_star, size_of(m_star))
}
bc_final(&st, auth[:], iv)
@@ -391,9 +390,9 @@ d_ref :: proc "contextless" (ctx: ^Context, dst, iv, aad, ciphertext, tag: []byt
// else return false
ok := crypto.compare_constant_time(auth[:], tag) == 1
- mem.zero_explicit(&auth, size_of(auth))
- mem.zero_explicit(&st.q_stk, size_of(st.q_stk))
- mem.zero_explicit(&st.q_b, size_of(st.q_b))
+ crypto.zero_explicit(&auth, size_of(auth))
+ crypto.zero_explicit(&st.q_stk, size_of(st.q_stk))
+ crypto.zero_explicit(&st.q_b, size_of(st.q_b))
return ok
-}
+} \ No newline at end of file
diff --git a/core/crypto/deoxysii/deoxysii_impl_hw_intel.odin b/core/crypto/deoxysii/deoxysii_impl_hw_intel.odin
index d268009a2..cdad16f42 100644
--- a/core/crypto/deoxysii/deoxysii_impl_hw_intel.odin
+++ b/core/crypto/deoxysii/deoxysii_impl_hw_intel.odin
@@ -4,7 +4,6 @@ package deoxysii
import "base:intrinsics"
import "core:crypto"
import "core:crypto/aes"
-import "core:mem"
import "core:simd"
import "core:simd/x86"
@@ -374,7 +373,7 @@ d_hw :: proc "contextless" (ctx: ^Context, dst, iv, aad, ciphertext, tag: []byte
copy(dst[n*BLOCK_SIZE:], m_star[:])
- mem.zero_explicit(&m_star, size_of(m_star))
+ crypto.zero_explicit(&m_star, size_of(m_star))
}
// Associated data
@@ -428,7 +427,7 @@ d_hw :: proc "contextless" (ctx: ^Context, dst, iv, aad, ciphertext, tag: []byte
intrinsics.unaligned_store((^x86.__m128i)(raw_data(&tmp)), auth)
ok := crypto.compare_constant_time(tmp[:], tag) == 1
- mem.zero_explicit(&tmp, size_of(tmp))
+ crypto.zero_explicit(&tmp, size_of(tmp))
return ok
}