mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-16 17:42:02 +00:00
blake2b: add personal_len to blake2b_InitPersonal
This commit is contained in:
parent
620902b9b3
commit
669acd7331
@ -131,11 +131,12 @@ int blake2b_Init( blake2b_state *S, size_t outlen )
|
|||||||
return blake2b_init_param( S, P );
|
return blake2b_init_param( S, P );
|
||||||
}
|
}
|
||||||
|
|
||||||
int blake2b_InitPersonal( blake2b_state *S, size_t outlen, const void *personal )
|
int blake2b_InitPersonal( blake2b_state *S, size_t outlen, const void *personal, size_t personal_len)
|
||||||
{
|
{
|
||||||
blake2b_param P[1];
|
blake2b_param P[1];
|
||||||
|
|
||||||
if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1;
|
if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1;
|
||||||
|
if ( ( !personal ) || ( personal_len != BLAKE2B_PERSONALBYTES ) ) return -1;
|
||||||
|
|
||||||
P->digest_length = (uint8_t)outlen;
|
P->digest_length = (uint8_t)outlen;
|
||||||
P->key_length = 0;
|
P->key_length = 0;
|
||||||
|
@ -30,7 +30,7 @@ typedef struct __blake2b_state
|
|||||||
#define BLAKE2B_KEY_LENGTH BLAKE2B_KEYBYTES
|
#define BLAKE2B_KEY_LENGTH BLAKE2B_KEYBYTES
|
||||||
|
|
||||||
int blake2b_Init(blake2b_state *S, size_t outlen);
|
int blake2b_Init(blake2b_state *S, size_t outlen);
|
||||||
int blake2b_InitPersonal(blake2b_state *S, size_t outlen, const void *personal);
|
int blake2b_InitPersonal(blake2b_state *S, size_t outlen, const void *personal, size_t personal_len);
|
||||||
int blake2b_InitKey(blake2b_state *S, size_t outlen, const void *key, size_t keylen);
|
int blake2b_InitKey(blake2b_state *S, size_t outlen, const void *key, size_t keylen);
|
||||||
int blake2b_Update(blake2b_state *S, const void *pin, size_t inlen);
|
int blake2b_Update(blake2b_state *S, const void *pin, size_t inlen);
|
||||||
int blake2b_Final(blake2b_state *S, void *out, size_t outlen);
|
int blake2b_Final(blake2b_state *S, void *out, size_t outlen);
|
||||||
|
8
hasher.c
8
hasher.c
@ -38,16 +38,16 @@ void hasher_Init(Hasher *hasher, HasherType type) {
|
|||||||
groestl512_Init(&hasher->ctx.groestl);
|
groestl512_Init(&hasher->ctx.groestl);
|
||||||
break;
|
break;
|
||||||
case HASHER_OVERWINTER_PREVOUTS:
|
case HASHER_OVERWINTER_PREVOUTS:
|
||||||
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashPrevoutHash");
|
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashPrevoutHash", 16);
|
||||||
break;
|
break;
|
||||||
case HASHER_OVERWINTER_SEQUENCE:
|
case HASHER_OVERWINTER_SEQUENCE:
|
||||||
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashSequencHash");
|
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashSequencHash", 16);
|
||||||
break;
|
break;
|
||||||
case HASHER_OVERWINTER_OUTPUTS:
|
case HASHER_OVERWINTER_OUTPUTS:
|
||||||
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashOutputsHash");
|
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashOutputsHash", 16);
|
||||||
break;
|
break;
|
||||||
case HASHER_OVERWINTER_PREIMAGE:
|
case HASHER_OVERWINTER_PREIMAGE:
|
||||||
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashSigHash\x19\x1b\xa8\x5b"); // BRANCH_ID = 0x5ba81b19
|
blake2b_InitPersonal(&hasher->ctx.blake2b, 32, "ZcashSigHash\x19\x1b\xa8\x5b", 16); // BRANCH_ID = 0x5ba81b19
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user