-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
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