|
|
Message-ID: <3ee03c61ed3a2c7e09c1e5305b33a27e@smtp.hushmail.com>
Date: Sun, 15 Sep 2013 13:45:12 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: HMAC valid (was: 7z valid())
On 15 sep 2013, at 06:13, Solar Designer <solar@...nwall.com> wrote:
> A related issue is that many hmac* formats recognize 7z format's strings
> as valid for them as well. You might want to look into this and see if
> anything (reasonable) can be done about it now.
Can you give a specific example? All hmac formats' valid() does this:
* ciphertext must contain at least one '#'.
* left-side of the [rightmost] '#' is salt and has a max. allowed length.
* right-side of '#' is hash and must have correct length, eg. 40 hex chars for hmac-MD5.
* hash must be [0-9a-fA-F].
A 7z ciphertext does not contain '#' so I can't see how it would pass.
static int valid(char *ciphertext, struct fmt_main *self)
{
int pos, i;
char *p;
p = strrchr(ciphertext, '#'); // allow # in salt
if (!p || p > &ciphertext[strlen(ciphertext)-1]) return 0;
i = (int)(p - ciphertext);
if(i > SALT_SIZE) return 0;
pos = i+1;
if (strlen(ciphertext+pos) != BINARY_SIZE*2) return 0;
for (i = pos; i < BINARY_SIZE*2+pos; i++)
{
if (!( (('0' <= ciphertext[i])&&(ciphertext[i] <= '9')) ||
(('a' <= ciphertext[i])&&(ciphertext[i] <= 'f'))
|| (('A' <= ciphertext[i])&&(ciphertext[i] <= 'F'))))
return 0;
}
return 1;
}
magnum
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.