|
Message-ID: <4DC6B02C.4070802@bredband.net> Date: Sun, 08 May 2011 17:01:00 +0200 From: magnum <rawsmooth@...dband.net> To: john-dev@...ts.openwall.com Subject: Help! mskrb5 64-32-bit builds crashing hard while native builds does not? I have a weird problem. My mskrb5 format works fine on 64-bit and 32-bit, but not when building a 64-32 target and running it on 64-bit. It smashes the stack. When I trace it, everything is fine until I call RC4_set_key() the first time, after that stack is crap (I can't step inside RC4_set_key, maybe I should look for a debug version of the lib) Is there anything wrong with this code? I can't see what, but maybe it's something really silly as usual. Disregard the OMP pragma, it happens with or without OMP. But why does it NOT happen on a 32-bit machine? Is that a clue? static void crypt_all(int count) { HMACMD5Context ctx; unsigned char K3[KEY_SIZE], cleartext[PLAINTEXT_OFFSET + BINARY_SIZE]; RC4_KEY key; int i; #ifdef _OPENMP #pragma omp parallel for default(none) private(i, ctx, K3, cleartext, key) shared(count, output, saved_key, saltblob) #endif for (i = 0; i < count; i++) { // K1 is stored in saved_key[index] // CHECKSUM and TIMESTAMP are just defines, they are actually // concatenated to saltblob[] // K3 = HMAC-MD5(K1, CHECKSUM) hmac_md5(saved_key[i], CHECKSUM, CHECKSUM_SIZE, K3, &ctx); // RC4(K3, TIMESTAMP) decrypt part of the timestamp RC4_set_key(&key, KEY_SIZE, K3); RC4(&key, PLAINTEXT_OFFSET + BINARY_SIZE, TIMESTAMP, cleartext); // 15th byte and on is our partial binary memcpy(output[i], &cleartext[PLAINTEXT_OFFSET], BINARY_SIZE); } } KEY_SIZE is 16. I have tried defining K3, cleartext, saved_key and output as static and/or double the size they need and this does not change a thing. I just upgraded my Ubuntu for newer gcc and (I guess) openssl and nothing changed. Any hints welcome! This drives me crazy. All other formats works fine. 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.