lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20020827153903.GA1275@insomnia.benzedrine.cx>
From: daniel at benzedrine.cx (Daniel Hartmeier)
Subject: Re: Take the trash-talker challenge!

On Tue, Aug 27, 2002 at 04:35:25AM -0700, aliver@...il.com wrote:

> If my detractors would like to prove what a
> silly ass I am then they should feel free to reverse the encrypted message
> into plaintext.

Your key setup is broken:

   memset(hash,0,16);
   /* lets hash the keys. We get a 256 bit hash    */
   /* from md5, but xxtea takes a 128 bit key so   */
   /* the hash is truncated to the first 128 bits  */
   md5_init(&state);
   md5_append(&state, (const md5_byte_t *) keyphrase, strlen(keyphrase));
   md5_finish(&state, digest);

So far, so good. But

   for (i = 0; i < 8; i++) {
      snprintf(hbuf,3,"%02x",digest[i]);
      memcpy(hash+(i*2),hbuf,2);
   }

Now hash consists of 16 characters 0-9, a-f. That's 16^16 or 2^64
possible hashes. And hash is used as the key. So, effectively, you're
using 64 bit keys.

It's too large a key space to brute-force in 10 minutes for me, but it
should be obvious that it's a severe flaw nonetheless.

Daniel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ