Skip to content

Tiger192 hashing problem #1

@heliofh

Description

@heliofh

I am performing several tests with the Tiger192 library against the NppCalc implementation.

The library works really well, and faster than I expected. After performing some thousands of tests, I might have found a bug:

Input:
kå�-Ôµ¦¨·G:ípÐ��NT�Hã��Ò
It contains non-printable chars, so it is better to use its hex value:
6BE5192DD4B5A6A8B7473AED70D08B1F4E541248E38C1AD2

Output (gruft 0.2.2):
70d21ab3d715412d582876ce7b373212cd729c85d936a1c4 (BE*)
2d4115d7b31ad2701232377bce762858c4a136d9859c72cd (LE*)

Output (Pascal - NppCalc 1.3 in Notepad++):
434420381EDE8D3815ACEC394A59C99A9B2F56EC09F7CECA (BE)
388DDE1E382044439AC9594A39ECAC15CACEF709EC562F9B (LE converted from BE)

Output (Java - Jacksum 1.7.0):
388dde1e382044439ac9594a39ecac15cacef709ec562f9b (LE) << confirms NppCalc

* BE for Big Endian (MSB-first) and LE for Little Endian.

If I take out the last byte (D2) of the input, the outputs match in these three implementations.

I'm going to run some more tests. If it is really a bug, I don't know if the culprit is gruft-common.js (less likely) or gruft-tiger192.js (those s-boxes in base91 can be tricky). As far as I can tell for now, this bug is really rare to happen and probably has nothing to do with padding. I've tested gruft 0.2.2 with the same results in Firefox and Chrome.

Best regards,
Hélio

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions