]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge branch 'master' of https://github.com/iceman1001/proxmark3
authoriceman1001 <iceman@iuse.se>
Thu, 28 Jul 2016 18:41:54 +0000 (20:41 +0200)
committericeman1001 <iceman@iuse.se>
Thu, 28 Jul 2016 18:41:54 +0000 (20:41 +0200)
client/nonce2key/crypto1_bs.c
client/util.c

index 9a0272dd724f2f61f2030106f96357a552ca0bfb..7fd1b715f90c042798b85303ef1c20ea40b14e4d 100644 (file)
@@ -80,7 +80,9 @@ inline const bitslice_value_t crypto1_bs_lfsr_rollback(const bitslice_value_t in
 // note that bytes are sliced and unsliced with reversed endianness
 inline void crypto1_bs_convert_states(bitslice_t bitsliced_states[], state_t regular_states[]){
     size_t bit_idx = 0, slice_idx = 0;
-    state_t values[MAX_BITSLICES] = {{0x00}};
+       state_t values[MAX_BITSLICES];
+       memset(values, 0x0, sizeof(values));
+       
     for(slice_idx = 0; slice_idx < MAX_BITSLICES; slice_idx++){
         for(bit_idx = 0; bit_idx < STATE_SIZE; bit_idx++){
             bool bit = get_vector_bit(slice_idx, bitsliced_states[bit_idx]);
@@ -90,7 +92,8 @@ inline void crypto1_bs_convert_states(bitslice_t bitsliced_states[], state_t reg
         // swap endianness
         values[slice_idx].value = rev_state_t(values[slice_idx].value);
         // roll off unused bits
-        values[slice_idx].value >>= ((sizeof(state_t)*8)-STATE_SIZE);
+        //values[slice_idx].value >>= ((sizeof(state_t)*8)-STATE_SIZE); // - 48
+               values[slice_idx].value >>= 16;
     }
     memcpy(regular_states, values, sizeof(values));
 }
index 99a26a40ac20160a688139d9a86f59b37a5f4c09..4bbc992e588cfb381d703083b5f976994faae5b5 100644 (file)
@@ -186,19 +186,16 @@ char *sprint_hex_ascii(const uint8_t *data, const size_t len) {
        return buf;
 }
 
-void num_to_bytes(uint64_t n, size_t len, uint8_t* dest)
-{
+void num_to_bytes(uint64_t n, size_t len, uint8_t* dest) {
        while (len--) {
                dest[len] = (uint8_t) n;
                n >>= 8;
        }
 }
 
-uint64_t bytes_to_num(uint8_t* src, size_t len)
-{
+uint64_t bytes_to_num(uint8_t* src, size_t len) {
        uint64_t num = 0;
-       while (len--)
-       {
+       while (len--) {
                num = (num << 8) | (*src);
                src++;
        }
@@ -212,6 +209,7 @@ void num_to_bytebits(uint64_t n, size_t len, uint8_t *dest) {
                n >>= 1;
        }
 }
+
 //least significant bit first
 void num_to_bytebitsLSBF(uint64_t n, size_t len, uint8_t *dest) {
        for(int i = 0 ; i < len ; ++i) {
@@ -220,7 +218,6 @@ void num_to_bytebitsLSBF(uint64_t n, size_t len, uint8_t *dest) {
        }
 }
 
-
 // aa,bb,cc,dd,ee,ff,gg,hh, ii,jj,kk,ll,mm,nn,oo,pp
 // to
 // hh,gg,ff,ee,dd,cc,bb,aa, pp,oo,nn,mm,ll,kk,jj,ii
@@ -549,6 +546,7 @@ void rol(uint8_t *data, const size_t len){
 }
 
 // Swap bit order on a uint32_t value.  Can be limited by nrbits just use say 8bits reversal
+// And clears the rest of the bits.
 uint32_t SwapBits(uint32_t value, int nrbits) {
        uint32_t newvalue = 0;
        for(int i = 0; i < nrbits; i++) {
Impressum, Datenschutz