Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 13 Oct 2022 11:18:59 +0200
From: Matthias Apitz <>
Subject: using john to decrypt DES hashes


Me and my company are managing large databases wherein the PIN of users
are hashed with UNIX crypt(3) in the old DES form and a fixed salt "xX".
With large I mean some thousands. For data security reasons we want to
move to a better algorithm, "yescrypt", and when the user provides the
PIN in clear, it is checked against the old DES hash, and when correct
the field in the database is updated to "yescrypt" by our software. So
far so good. I also want to update the (remaining) old hashes to "yescrypt"
before some hacker is using them, if he got access to the DES strings.

I compiled john from source (john-1.9.0-jumbo-1.tar.xz) and
investigating it a bit. I prepared an ASCII file with ~4000 lines like


and run it with 'john pins.des'

This works fine and I can watch the results with

$ john --show pins.des

$ john --show d02-des.pins | wc -l

My questions are:

As the salt is fixed and known as "xX" can this provided somehow to john
to speed up the things?

I saw the files below ~/.john and understand what they contain. But,
even if I remove everything there and restart 'john pins.des', it knows
somehow the already cracked PINs , some 3700 and starts working on the
remaining 276, very slowly. One PIN in ~5 minutes. How this is managed,
i.e. where the 3700 are stored?


Matthias Apitz, ‚úČ, +49-176-38902045
Public GnuPG key:

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.