www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - tiger crypto algorithm

reply Regan Heath <regan netwin.co.nz> writes:
I decided to give 'tiger' a crack, basically because the name is kewl.

Sadly I am stuck. My code does not produce the correct output, and neither 
does the sample code I downloaded from here:

http://www.cs.technion.ac.il/~biham/Reports/Tiger/

Can anyone get the sample code to produce the correct output?
I want to use it to debug my code.

I tried the sameples on windows, using MSVC 6.0. The 64bit version 
produces different output to the 32bit version and neither produce the 
correct output.

I managed to get the 64bit version to compile by redefining the typedef to 
__in64 which is a Microsoft 64bit int type and removing all the LL's from 
the constant hex values.

Perhaps it compiles on linux? I don't have a linux box here at home, so 
I'll have to try it at work tomorrow.

Regan.

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jun 10 2004
parent reply Regan Heath <regan netwin.co.nz> writes:
Duh! Cancel that, I have figured it out. The code was never intended to 
work on windows, it has...

/* Big endian:                                         */
#if !(defined(__alpha)||defined(__i386__)||defined(__vax__))
#define BIG_ENDIAN
#endif

Changing it to...

/* Big endian:                                         */
#if 
!(defined(__alpha)||defined(__i386__)||defined(__vax__)||defined(WIN32))
#define BIG_ENDIAN
#endif

Causes the correct behaviour and output.
:0)

Regan


On Fri, 11 Jun 2004 00:27:51 +1200, Regan Heath <regan netwin.co.nz> wrote:
 I decided to give 'tiger' a crack, basically because the name is kewl.

 Sadly I am stuck. My code does not produce the correct output, and 
 neither does the sample code I downloaded from here:

 http://www.cs.technion.ac.il/~biham/Reports/Tiger/

 Can anyone get the sample code to produce the correct output?
 I want to use it to debug my code.

 I tried the sameples on windows, using MSVC 6.0. The 64bit version 
 produces different output to the 32bit version and neither produce the 
 correct output.

 I managed to get the 64bit version to compile by redefining the typedef 
 to __in64 which is a Microsoft 64bit int type and removing all the LL's 
 from the constant hex values.

 Perhaps it compiles on linux? I don't have a linux box here at home, so 
 I'll have to try it at work tomorrow.

 Regan.
-- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jun 10 2004
parent Regan Heath <regan netwin.co.nz> writes:
FYI.. in addition to the big/little endian fix below you have to define..

//typedef unsigned long long int word64;
typedef unsigned __int64 word64;

to get the 64bit version to work.

On Fri, 11 Jun 2004 00:32:00 +1200, Regan Heath <regan netwin.co.nz> wrote:

 Duh! Cancel that, I have figured it out. The code was never intended to 
 work on windows, it has...

 /* Big endian:                                         */
 #if !(defined(__alpha)||defined(__i386__)||defined(__vax__))
 #define BIG_ENDIAN
 #endif

 Changing it to...

 /* Big endian:                                         */
 #if 
 !(defined(__alpha)||defined(__i386__)||defined(__vax__)||defined(WIN32))
 #define BIG_ENDIAN
 #endif

 Causes the correct behaviour and output.
 :0)

 Regan


 On Fri, 11 Jun 2004 00:27:51 +1200, Regan Heath <regan netwin.co.nz> 
 wrote:
 I decided to give 'tiger' a crack, basically because the name is kewl.

 Sadly I am stuck. My code does not produce the correct output, and 
 neither does the sample code I downloaded from here:

 http://www.cs.technion.ac.il/~biham/Reports/Tiger/

 Can anyone get the sample code to produce the correct output?
 I want to use it to debug my code.

 I tried the sameples on windows, using MSVC 6.0. The 64bit version 
 produces different output to the 32bit version and neither produce the 
 correct output.

 I managed to get the 64bit version to compile by redefining the typedef 
 to __in64 which is a Microsoft 64bit int type and removing all the LL's 
 from the constant hex values.

 Perhaps it compiles on linux? I don't have a linux box here at home, so 
 I'll have to try it at work tomorrow.

 Regan.
-- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Jun 10 2004