Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 23 Feb 2011 04:13:42 +0300
From: Solar Designer <>
Subject: Re: bitslice DES on AVX

It turned out that Intel's AVX emulator is trivial to install and use,
and it works great under Owl (I had to "rpm -i" an i686 build of glibc
onto my x86_64 Owl userland, though).  So I am testing this myself now -
just not the performance aspect.

On Wed, Feb 23, 2011 at 02:22:54AM +0300, Solar Designer wrote:
> If you get this to fail at runtime with other than "Illegal instruction",
> please try swapping the "a" and "b" arguments to _mm256_blendv_ps().

It did fail self-tests, both with and without "a" and "b" swapped - so I
must have got something else wrong.

> I put them in arbitrary order without bothering to look at the
> documentation and without checking this in any other way, so there's a
> 50% chance I got this wrong. ;-)  If this does not help, please try
> changing DES_BS from 3 to 1.

Changing DES_BS to 1 has helped - self-tests pass now, with 256-bit AVX
vectors, although the performance is awful (which is OK since I am using
an emulator).

solar@owl:~/john/john-1.7.6-avx/src $ ~/avx/sde-ivb-external-3.89-2010-12-23-lin-intel64-and-ia32/sde -- ../run/john -te=1
Benchmarking: Traditional DES [256/256 BS AVX]... DONE
Many salts:     45877 c/s real, 46336 c/s virtual
Only one salt:  45877 c/s real, 46336 c/s virtual

Benchmarking: BSDI DES (x725) [256/256 BS AVX]... DONE
Many salts:     1674 c/s real, 1674 c/s virtual
Only one salt:  1644 c/s real, 1644 c/s virtual

Benchmarking: FreeBSD MD5 [32/64 X2]... DONE
Raw:    9817 c/s real, 9916 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64 X2]... DONE
Raw:    698 c/s real, 698 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short:  346880 c/s real, 346880 c/s virtual
Long:   782194 c/s real, 790016 c/s virtual

Benchmarking: LM DES [256/256 BS AVX]... DONE
Raw:    1016K c/s real, 1016K c/s virtual

Benchmarking: generic crypt(3) [?/64]... DONE
Many salts:     312576 c/s real, 312576 c/s virtual
Only one salt:  310464 c/s real, 310464 c/s virtual

Now I need to figure out how to make DES_BS 3 work.

Tests on real hardware (with DES_BS set to 1 for now) will help.



Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.