1
0
mirror of https://github.com/biergaizi/codecrypt synced 2024-06-28 18:03:36 +00:00
Commit Graph

8 Commits

Author SHA1 Message Date
Tom Li
29f7826b1e
cubehash_impl.h: finalize without an incomplete block.
Currently, process_final_incomplete_block() will perform the round
R calculation with the remaining data, then finalize CubeHash. It
is not possible to finalize CubeHash if there's no incomplete block.

Here, we define the call of process_final_incomplete_block(NULL, 0)
as a way to directly finalize CubeHash when input is a multiple of
block size and there is no remaining data for round R.

Also, in this case, any call of process_final_incomplete_block(),
but only with a single NULL pointer, or only with n == 0, is an
indication of bug. We assert both to be zero/nonzero.

Signed-off-by: Tom Li <tomli@tomli.me>
2019-01-03 21:18:21 +08:00
Mirek Kratochvil
213331903e cubehash_impl: fix cubehash implementation mistake
Well, there's a reason for that test vectors are published on wikipedia.

Although this looks scary (like writing past array bounds), cubehash B
parameter is in all cases smaller than 63 (which is the first B value where
this would write behind the array), so no harm is done. For similar reason, the
"misimplemented" cubehash was cryptographically correct (i.e. without
cryptographic weakness), only implemented differently and producing different
results than those prescribed by the standard.

Practical implications of changing the hash functions are:
- everyone gets a new KeyID
- FMTSeq keys that used cubehash are invalid now, users are forced to generate
  new ones
2016-04-28 12:49:13 +02:00
Mirek Kratochvil
f3f1a805ce cubehash_impl: support non-little-endian architectures 2016-04-28 12:49:13 +02:00
Mirek Kratochvil
a09344f034 add proper copyright notices 2016-04-17 15:48:09 +02:00
Mirek Kratochvil
19d59f9ec1 bulk-apply new code styling rules 2015-10-31 22:58:17 +01:00
Mirek Kratochvil
04bbfb49ce cubehash: some basic optimization 2013-09-30 07:21:36 +02:00
Mirek Kratochvil
d48665750a cubehash: remove forgotten debugging 2013-09-29 20:34:05 +02:00
Mirek Kratochvil
20b73496d7 cubehash: new hash algorithm 2013-09-29 19:52:46 +02:00