Changeset View
Changeset View
Standalone View
Standalone View
sys/crypto/sha2/sha512c.c
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | |||||
/* Copy a vector of bytes into a vector of big-endian uint64_t */ | /* Copy a vector of bytes into a vector of big-endian uint64_t */ | ||||
#define be64dec_vect(dst, src, len) \ | #define be64dec_vect(dst, src, len) \ | ||||
memcpy((void *)dst, (const void *)src, (size_t)len) | memcpy((void *)dst, (const void *)src, (size_t)len) | ||||
#else /* BYTE_ORDER != BIG_ENDIAN */ | #else /* BYTE_ORDER != BIG_ENDIAN */ | ||||
/* | /* | ||||
* Encode a length len/4 vector of (uint64_t) into a length len vector of | * Encode a length (len + 7) / 8 vector of (uint64_t) into a length len | ||||
* (unsigned char) in big-endian form. Assumes len is a multiple of 8. | * vector of (unsigned char) in big-endian form. Assumes len is a | ||||
* multiple of 4. | |||||
*/ | */ | ||||
static void | static inline void | ||||
be64enc_vect(unsigned char *dst, const uint64_t *src, size_t len) | be64enc_vect(unsigned char *dst, const uint64_t *src, size_t len) | ||||
{ | { | ||||
size_t i; | size_t i; | ||||
for (i = 0; i < len / 8; i++) | for (i = 0; i < len / 8; i++) | ||||
be64enc(dst + i * 8, src[i]); | be64enc(dst + i * 8, src[i]); | ||||
if (len % 8 == 4) | |||||
be32enc(dst + i * 8, src[i] >> 32); | |||||
} | } | ||||
/* | /* | ||||
* Decode a big-endian length len vector of (unsigned char) into a length | * Decode a big-endian length len vector of (unsigned char) into a length | ||||
* len/4 vector of (uint64_t). Assumes len is a multiple of 8. | * len/8 vector of (uint64_t). Assumes len is a multiple of 8. | ||||
*/ | */ | ||||
static void | static inline void | ||||
be64dec_vect(uint64_t *dst, const unsigned char *src, size_t len) | be64dec_vect(uint64_t *dst, const unsigned char *src, size_t len) | ||||
{ | { | ||||
size_t i; | size_t i; | ||||
for (i = 0; i < len / 8; i++) | for (i = 0; i < len / 8; i++) | ||||
dst[i] = be64dec(src + i * 8); | dst[i] = be64dec(src + i * 8); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 449 Lines • Show Last 20 Lines |