| | |
need someone familiar with MD4 and SSE2
Please support our C++ advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Jun 2009
Posts: 33
Reputation:
Solved Threads: 0
hello. I need help implementing an SSE2-accelerated MD4 implementation. I found one that I think may work at http://www.freerainbowtables.com/php...t=904&start=30
it is the post by Corni: but need help implementing it. It is a little over my head. All I want to do is conduct 4 MD4 encryptions simultaneously using SSE2.
I have this, for example:
I believe I need to pad them and append the length, or whatever the MD4 algorithm requires, before feeding them into the compressSse() function which will do the rest of the work to turn them into 4 MD4 hashes.
Maybe somebody knows of a better SSE2-accelerated MD4 routine? Easier/ faster? I also plan to use this for NTLM and MSCACHE, so I would like to retain the flexibility to use or not to use UNICODE conversion. I think the implementation above might include UNICODE conversion. I would like to keep that separate, so I can use it for NTLM and MD4.
here is pseudocode for my planned future implementation in a password brute forcer:
I generate one candidate at a time, and then wait until I have collected 4 candidates and then encrypt them all simultaneously. Then I check the results one-by-one, again.
I think once I can get an SSE2-accelerated MD4 implementation up and running, I should be able to modify it to turn it into an SSE2-accelerated MD5 implementation
it is the post by Corni:
•
•
•
•
“So, I took a crashcourse in how to implement MD4 and in what the hell is SSE2 and how do you use it, and implemented the reference implementation in SSE…”
I have this, for example:
C++ Syntax (Toggle Plain Text)
char candidate0[]="password0"; char candidate1[]="password1"; char candidate2[]="password2"; char candidate3[]="password3";
I believe I need to pad them and append the length, or whatever the MD4 algorithm requires, before feeding them into the compressSse() function which will do the rest of the work to turn them into 4 MD4 hashes.
Maybe somebody knows of a better SSE2-accelerated MD4 routine? Easier/ faster? I also plan to use this for NTLM and MSCACHE, so I would like to retain the flexibility to use or not to use UNICODE conversion. I think the implementation above might include UNICODE conversion. I would like to keep that separate, so I can use it for NTLM and MD4.
here is pseudocode for my planned future implementation in a password brute forcer:
C++ Syntax (Toggle Plain Text)
int cached_hashes=0;//counts how many plaintexts are ready, when 4, compute char candidate[];//the candidate password char plaintexts[4][];//stores all 4 plaintexts unsigned char ready_candidate[16];//plaintexts prepared for the compressSse() function unsigned char encrypted[16];//the encrypted password we are trying to recover while(bruteforcing) { candidate++; memcpy(plaintexts[cached_hashes],candidate,strlen(candidate)); //possibly UNICODE conversion here, depending on hash type prepare candidate- padding, whatever- store in ready_candidate memcpy(input[cached_hashes],ready_candidate,16); cached_hashes++; if(cached_hashes==4)//if 4 candidates ready and stored... { //MD4 encrypt them all simultaneously compressSse(); cached_hashes=0; //I'm assuming that compressSse() writes the MD4 hashes //back into input[] elements, respectively for(int i=0;i<4;i++) if(!memcmp(input[i],encrypted,16) cout<<"plaintext is "<<plaintext[i]<<"!\n"; } }
I generate one candidate at a time, and then wait until I have collected 4 candidates and then encrypt them all simultaneously. Then I check the results one-by-one, again.
I think once I can get an SSE2-accelerated MD4 implementation up and running, I should be able to modify it to turn it into an SSE2-accelerated MD5 implementation
![]() |
Similar Threads
- Partially reverse MD4 (Computer Science)
- MD1 ,MD4 Hash Code,Tiger-192 (VB.NET)
- learning php (PHP)
- I need to read a website. familiar with CA infogetter ?? (C)
- Familiar with language translation & artificial intelligent? (C#)
- Anyone familiar with Website tonight? (Site Layout and Usability)
- Add Familiar Icons Back to Your Desktop (Windows tips 'n' tweaks)
Other Threads in the C++ Forum
- Previous Thread: Trying to read a txt file in c++
- Next Thread: learn MFC
Views: 377 | Replies: 1
| Thread Tools | Search this Thread |
Tag cloud for C++
6 api application array arrays assignment beginner binary bitmap c++ c/c++ calculator char char* class classes code coding compile compiler console conversion convert count data database delete developer display dll email encryption error file format forms fstream function functions game generator getline givemetehcodez graph iamthwee ifstream image input int java lib loop looping loops map math matrix memory multidimensional multiple newbie news node number numbertoword output pointer problem program programming project python random read recursion recursive reference return rpg sort sorting string strings struct template templates text tree url variable vector video visual visualstudio win32 windows winsock word wordfrequency wxwidgets





