|
Message-ID: <20130731223454.GB31179@openwall.com> Date: Thu, 1 Aug 2013 02:34:54 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Parallella: bcrypt Hi Katja, On Wed, Jul 31, 2013 at 11:25:21PM +0200, Katja Malvoni wrote: > Alexander, I'm currently working on everything you mentioned so far. Here's some more work for you: Your source code indentation is currently a bit inconsistent - both within your own code and against the rest of JtR. We're using 8 char tabs in JtR, whereas your parallella_e_bcrypt.S might have been written under a different assumption (judging by how some of the #define's look misaligned against nearby ones when I view this file with 8 char tabs). Also, your assembly instructions are indented by two tabs, whereas we use just one tab for that in the rest of *.S files in JtR. In parallella_e_bcrypt.c: BF_crypt(), in this loop: do { int done; for(i = 0; i < n; i++) { current[i].ctx.s.P[0] ^= current[i].expanded_key[0]; [...] current[i].ctx.s.P[17] ^= current[i].expanded_key[17]; } #ifdef interleave BF_encrypt2(¤t[0].ctx, ¤t[1].ctx); The "done" variable is unused and the code following the for loop (that is, the line BF_encrypt2(...) above and what follows it) are incorrectly indented (should be one tab to the left). Also, in the rest of JtR we place opening curly braces on the same line with "if", "while", "for", "do" (as you can see with "do" above), "struct", "union". The placement on a new line is only for function declarations, as well as when a new block is used inside a function in order to limit variable scope. And we separate "if", "while", "for" from the following opening brace with a space character. In C version of BF_encrypt2() you have this piece of code: L0 = tmpa4 ^ P0[17]; L1 = tmpb4 ^ P1[17]; *ptr = L0; \ *(ptr + 1) = R0; \ *(ptr + (ctx1->s.P - ctx0->s.P)) = L1; \ *(ptr + (ctx1->s.P - ctx0->s.P) + 1) = R1; \ ptr += 2; \ In it, the trailing " \" on some of the lines are not needed - perhaps you moved these lines from a #define and forgot to remove these trailing chars. There are also some empty lines that don't appear to be there on purpose (do not appear to make the code more readable) - although indeed some other empty lines do help. Overall, what I am saying is that some source code cleanup would be nice. Thanks, Alexander
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.