]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - tools/nonce2key/crapto1.c
ADD: another key found
[proxmark3-svn] / tools / nonce2key / crapto1.c
index e35daac88eaa5e523a08a7b86f7a551b1aaf6a27..8d514a0cdd8ea6d79b92d69d63546c5f9870be28 100644 (file)
@@ -15,7 +15,7 @@
     Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
     Boston, MA  02110-1301, US$\r
 \r
-    Copyright (C) 2008-2008 bla <blapost@gmail.com>\r
+    Copyright (C) 2008-2014 bla <blapost@gmail.com>\r
 */\r
 #include "crapto1.h"\r
 #include <stdlib.h>\r
@@ -107,8 +107,7 @@ extend_table(uint32_t *tbl, uint32_t **end, int bit, int m1, int m2, uint32_t in
 /** extend_table_simple\r
  * using a bit of the keystream extend the table of possible lfsr states\r
  */\r
-static inline void\r
-extend_table_simple(uint32_t *tbl, uint32_t **end, int bit)\r
+static inline void extend_table_simple(uint32_t *tbl, uint32_t **end, int bit)\r
 {\r
        for(*tbl <<= 1; tbl <= *end; *++tbl <<= 1)\r
                if(filter(*tbl) ^ filter(*tbl | 1)) {\r
@@ -416,9 +415,7 @@ uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd)
 /** check_pfx_parity\r
  * helper function which eliminates possible secret states using parity bits\r
  */\r
-static struct Crypto1State*\r
-check_pfx_parity(uint32_t prefix, uint32_t rresp, uint8_t parities[8][8],\r
-          uint32_t odd, uint32_t even, struct Crypto1State* sl)\r
+static struct Crypto1State* check_pfx_parity(uint32_t prefix, uint32_t rresp, uint8_t parities[8][8], uint32_t odd, uint32_t even, struct Crypto1State* sl)\r
 {\r
        uint32_t ks1, nr, ks2, rr, ks3, c, good = 1;\r
 \r
@@ -456,8 +453,7 @@ check_pfx_parity(uint32_t prefix, uint32_t rresp, uint8_t parities[8][8],
  * It returns a zero terminated list of possible cipher states after the\r
  * tag nonce was fed in\r
  */\r
-struct Crypto1State*\r
-lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8])\r
+struct Crypto1State* lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8])\r
 {\r
        struct Crypto1State *statelist, *s;\r
        uint32_t *odd, *even, *o, *e, top;\r
@@ -468,8 +464,9 @@ lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8])
        s = statelist = malloc((sizeof *statelist) << 20);\r
        if(!s || !odd || !even) {\r
                free(statelist);\r
-               statelist = 0;\r
-                goto out;\r
+               free(odd);\r
+               free(even);\r
+               return 0;\r
        }\r
 \r
        for(o = odd; *o + 1; ++o)\r
@@ -481,8 +478,6 @@ lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8])
                        }\r
 \r
        s->odd = s->even = 0;\r
-out:\r
-       free(odd);\r
-       free(even);\r
+\r
        return statelist;\r
 }\r
Impressum, Datenschutz