Non-optimized reference implementation (not bitslice):   | jh_ref.h
|
Non-optimized 32-bit bit-slice reference implementation:   | jh_bitslice_ref32.h
|
Non-optimized 64-bit bit-slice reference implementation:   | jh_bitslice_ref64.h
|
 
|
Optimized SSE2 implementation for 64-bit Core 2 processor: | jh_sse2_opt64.h | | (January 2011)
|
Optimized SSE2 implementation for 32-bit Core 2 processor: | jh_sse2_opt32.h | | (January 2011)
|
Optimized ANSI C implementation for 64-bit Core 2 processor:     | jh_ansi_opt64.h     |     | (January 2011)
|
Optimized ANSI C implementation for 32-bit Core 2 processor:     | jh_ansi_opt32.h     |     | (January 2011)
|
Optimized ANSI C implementation for 8-bit Core 2 processor:     | jh_opt8.h     |     | (January 2011)
|
Original         | (October 31 2008)       |  
|
 
|
Round 1 Update         | (January 15 2009)       | Remarks: correcting a code error when copying a partial block,
|
| | and the mismatach between the number of padding zeros in code
|
| | and document. These errors were pointed out by Paul Crowley.
|
 
|
Round 2         | (September 15 2009) | Remarks: No tweak to JH. More introduction material and
|
| | cryptanalysis results are added to the document.
|
 
|
Round 3         | (January 16 2011) | Remarks: JH is tweaked: The round number is changed from 35.5 to 42.
|
| | Details of the cryptanalysis are added to the report.
|