|
Message-ID: <51475C61.6060403@openbwall.com> Date: Mon, 18 Mar 2013 14:26:41 -0400 From: Brian Wallace <bwall@...nbwall.com> To: john-dev@...ts.openwall.com Subject: Idea to increase plaintext length for GPU based hashes Hey, One issue I am finding with many of the GPU based formats Jumbo supports is that they have quite small max plain text values. The reason for this is that I think in general, there is a big performance hit when scaling up the max password length because of the additional memory required. I noticed a few design issues when increasing the plain text length of pwsafe-opencl. In my mind, it boils down to two issues, and one I have a proposed solution for. The two issues are required buffer sizes for increase for every plain text to access it per kernel thread, and running multiple transforms when the plain text and possible salt bypasses the length of the hash's block size. The former is what I purpose a solution for, although I have not had the time to implement it yet. For the most part, we use a single buffer to store the plain texts, generally with a static sized char array then a value describing the length. This solution proposes a second buffer be used as well as changing the first buffer. The first will be filled with static sized objects that contain the length of the password and the offset of the password in the other buffer.(Pointer buffer) struct PointerObject{ unsigned int length; unsigned int offset; } The second will have the passwords lined back to back(no need for a terminating null), and will not be a static size(different for each executed kernel.(Data buffer) Each kernel thread will first access the pointer buffer, and get the pointer struct for its index, then use the offset value to find where its password starts in the data buffer. It would then use PointerObject.length bytes for the input to the hashing function. While this may have some overhead compared to small static sized password buffers, it will allow for the password lengths to be scalable with minimal impact to drastically increase the maximum plain text values for more algorithms that implement it. I don't have the time to currently implement this, or to formally test it, but I thought it would be a good idea to mention the design idea for future changes. -Brian Wallace ------ bwall@...nbwall.com - Not to be confused with openwall.com
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.