SSE2-support in SVN r112

Thanks to a initiative by Nathan Grennan we now have support for SSE2 in svn-revision r112. Get the latest code from trunk and enjoy a ~3x performance increase on recent CPUs. The SSE2-code was originally written by Alvaro Salmador.

In other news: Pyrit no longer uses psyco as it causes problems with SSE2 and Padlock and the project seems to be dead. Goodbye and thanks for all the fish.



  1. […] tool. If you watch the blog, it seems like at least twice a week the author has added some new tweaks and tricks to really make it zing. Report back and let us all know how it goes. […]

  2. Thanks! But SSE2 is not a bit old?

    There are newer versions such as SSE3 and SSE4

    • SSE3 and SSE4 focus on new opcodes that “mutimedia-applications” like video encoding or graphics calculation rely on. There is no use for SSE3 or SSE4 for us.

      • SSE4 introduce opcodes ROUNDPS, ROUNDSS, ROUNDPD, ROUNDSD that can be usefull in SHA1: ROUNDxx can substitute 4 istruction in SSE2.

        this section of code
        movups %xmm0 , %xmm1
        pslld $5 , %xmm0
        psrld $27 , %xmm1
        orps %xmm1 , %xmm0

        can be replaced by a sigle ROUNDxx operation.

        Because this (or rimilar) block of opcodes is present
        80 times in SHA1 algorithm, it could be an appreciable speed up of velocity.
        Unfortunately, at present time there are few CPUs tha support SSE4.

      • The code you mention “emulates” bitwise rotations. As SSE does not support this, we do one shift to the left, one to the right and OR the two values. The ROUNDxx opcodes provide rounding (e.g. 1.54f -> 1.5f). How do you do bitwise rotation by rounding (a float!) ? :-)

      • I review the pdf “intel SSE4 Programming Reference” and I see YOU ARE RIGHT.
        I have to upgrade the bios of my brain because it start to get confused :-(
        I apologize for my mistake.

  3. Now that SSE support goes inside pyrit, to use aircrack-ng could be necessary no longer (under crack viewpoint).

    There are any plan to introduce a .deb package of pyrit/CUDA? it will be like “honey from sky” fome me and all other debian users :-)

    • A .deb package may come with the final version of 0.2.3

  4. hey we have a shitload of old nodes without SSE2, is there an older version we can use?

    • At runtime Pyrit detects if the processor supports SSE2 and falls back to x86 if it does not. You can therefor use the latest version.

Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

  • RSS Unknown Feed

    • An error has occurred; the feed is probably down. Try again later.