mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
core/crypto/sha3: odinfmt (NFC)
This commit is contained in:
@@ -56,10 +56,15 @@ keccakf :: proc "contextless" (st: ^[25]u64) {
|
|||||||
v: uintptr = ---
|
v: uintptr = ---
|
||||||
for i = 0; i < 25; i += 1 {
|
for i = 0; i < 25; i += 1 {
|
||||||
v := uintptr(&st[i])
|
v := uintptr(&st[i])
|
||||||
st[i] = u64((^u8)(v + 0)^ << 0) | u64((^u8)(v + 1)^ << 8) |
|
st[i] =
|
||||||
u64((^u8)(v + 2)^ << 16) | u64((^u8)(v + 3)^ << 24) |
|
u64((^u8)(v + 0)^ << 0) |
|
||||||
u64((^u8)(v + 4)^ << 32) | u64((^u8)(v + 5)^ << 40) |
|
u64((^u8)(v + 1)^ << 8) |
|
||||||
u64((^u8)(v + 6)^ << 48) | u64((^u8)(v + 7)^ << 56)
|
u64((^u8)(v + 2)^ << 16) |
|
||||||
|
u64((^u8)(v + 3)^ << 24) |
|
||||||
|
u64((^u8)(v + 4)^ << 32) |
|
||||||
|
u64((^u8)(v + 5)^ << 40) |
|
||||||
|
u64((^u8)(v + 6)^ << 48) |
|
||||||
|
u64((^u8)(v + 7)^ << 56)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ package keccak
|
|||||||
This is done because the padding in the SHA3 standard was changed by the NIST, resulting in a different output.
|
This is done because the padding in the SHA3 standard was changed by the NIST, resulting in a different output.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import "core:os"
|
|
||||||
import "core:io"
|
import "core:io"
|
||||||
|
import "core:os"
|
||||||
|
|
||||||
import "../_sha3"
|
import "../_sha3"
|
||||||
|
|
||||||
@@ -56,7 +56,10 @@ hash_string_to_buffer_224 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_224 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_224 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_224, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_224,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_224
|
ctx.mdlen = DIGEST_SIZE_224
|
||||||
ctx.is_keccak = true
|
ctx.is_keccak = true
|
||||||
@@ -138,7 +141,10 @@ hash_string_to_buffer_256 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_256, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_256,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_256
|
ctx.mdlen = DIGEST_SIZE_256
|
||||||
ctx.is_keccak = true
|
ctx.is_keccak = true
|
||||||
@@ -220,7 +226,10 @@ hash_string_to_buffer_384 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_384 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_384 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_384, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_384,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_384
|
ctx.mdlen = DIGEST_SIZE_384
|
||||||
ctx.is_keccak = true
|
ctx.is_keccak = true
|
||||||
@@ -302,7 +311,10 @@ hash_string_to_buffer_512 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_512 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_512 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_512, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_512,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_512
|
ctx.mdlen = DIGEST_SIZE_512
|
||||||
ctx.is_keccak = true
|
ctx.is_keccak = true
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ package sha3
|
|||||||
If you wish to compute a Keccak hash, you can use the keccak package, it will use the original padding.
|
If you wish to compute a Keccak hash, you can use the keccak package, it will use the original padding.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import "core:os"
|
|
||||||
import "core:io"
|
import "core:io"
|
||||||
|
import "core:os"
|
||||||
|
|
||||||
import "../_sha3"
|
import "../_sha3"
|
||||||
|
|
||||||
@@ -54,7 +54,10 @@ hash_string_to_buffer_224 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_224 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_224 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_224, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_224,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_224
|
ctx.mdlen = DIGEST_SIZE_224
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
@@ -133,7 +136,10 @@ hash_string_to_buffer_256 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_256, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_256,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_256
|
ctx.mdlen = DIGEST_SIZE_256
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
@@ -212,7 +218,10 @@ hash_string_to_buffer_384 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_384 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_384 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_384, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_384,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_384
|
ctx.mdlen = DIGEST_SIZE_384
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
@@ -291,7 +300,10 @@ hash_string_to_buffer_512 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_512 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_512 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_512, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_512,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_512
|
ctx.mdlen = DIGEST_SIZE_512
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ package shake
|
|||||||
The SHA3 functionality can be found in package sha3.
|
The SHA3 functionality can be found in package sha3.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import "core:os"
|
|
||||||
import "core:io"
|
import "core:io"
|
||||||
|
import "core:os"
|
||||||
|
|
||||||
import "../_sha3"
|
import "../_sha3"
|
||||||
|
|
||||||
@@ -53,7 +53,10 @@ hash_string_to_buffer_128 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_128 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_128 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_128, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_128,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_128
|
ctx.mdlen = DIGEST_SIZE_128
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
@@ -135,7 +138,10 @@ hash_string_to_buffer_256 :: proc(data: string, hash: []byte) {
|
|||||||
// computed hash into the second parameter.
|
// computed hash into the second parameter.
|
||||||
// It requires that the destination buffer is at least as big as the digest size
|
// It requires that the destination buffer is at least as big as the digest size
|
||||||
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
hash_bytes_to_buffer_256 :: proc(data, hash: []byte) {
|
||||||
assert(len(hash) >= DIGEST_SIZE_256, "Size of destination buffer is smaller than the digest size")
|
assert(
|
||||||
|
len(hash) >= DIGEST_SIZE_256,
|
||||||
|
"Size of destination buffer is smaller than the digest size",
|
||||||
|
)
|
||||||
ctx: _sha3.Sha3_Context
|
ctx: _sha3.Sha3_Context
|
||||||
ctx.mdlen = DIGEST_SIZE_256
|
ctx.mdlen = DIGEST_SIZE_256
|
||||||
_sha3.init(&ctx)
|
_sha3.init(&ctx)
|
||||||
|
|||||||
Reference in New Issue
Block a user