chg: cleaning out timing.

chg: makefile (piwi)
This commit is contained in:
iceman1001 2017-03-13 09:45:46 +01:00
commit 14d6c4fc34
6 changed files with 15 additions and 35 deletions

View file

@ -6,14 +6,16 @@ LDFLAGS =
OBJS = crapto1.o crypto1.o OBJS = crapto1.o crypto1.o
HEADERS = crapto1.h HEADERS = crapto1.h
EXES = mfkey64 mfkey32 mfkey32v2 EXES = mfkey64 mfkey32 mfkey32v2
WINEXE = mfkey64.exe mfkey32.exe mfkey32v2.exe WINEXE = $(patsubst %, %.exe, $(EXES))
LIBS =
all: $(OBJS) $(EXES) $(LIBS) all: $(OBJS) $(EXES)
% : %.c $(OBJS) %.o : %.c
$(LD) $(CFLAGS) -o $@ $< $(OBJS) $(LDFLAGS) $(CC) $(CFLAGS) -c -o $@ $<
% : %.c
$(LD) $(CFLAGS) -o $@ $(OBJS) $<
clean: clean:
rm -f $(OBJS) $(EXES) $(LIBS) $(WINEXE) rm -f $(OBJS) $(EXES) $(WINEXE)

View file

@ -3,7 +3,6 @@
#include "crapto1.h" #include "crapto1.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <time.h>
int main (int argc, char *argv[]) { int main (int argc, char *argv[]) {
struct Crypto1State *s,*t; struct Crypto1State *s,*t;
@ -44,9 +43,7 @@ int main (int argc, char *argv[]) {
uint32_t p64 = prng_successor(nt, 64); uint32_t p64 = prng_successor(nt, 64);
printf(" nt': %08x\n", p64); printf(" nt': %08x\n", p64);
printf(" nt'': %08x\n", prng_successor(p64, 32)); printf(" nt'': %08x\n", prng_successor(p64, 32));
clock_t t1 = clock();
// Extract the keystream from the messages // Extract the keystream from the messages
printf("\nKeystream used to generate {ar} and {at}:\n"); printf("\nKeystream used to generate {ar} and {at}:\n");
ks2 = ar0_enc ^ p64; ks2 = ar0_enc ^ p64;
@ -66,7 +63,5 @@ int main (int argc, char *argv[]) {
break;} break;}
} }
free(s); free(s);
t1 = clock() - t1;
if ( t1 > 0 ) printf("Time : %.0f ticks \n", (float)t1);
return 0; return 0;
} }

View file

@ -3,7 +3,6 @@
#include "crapto1.h" #include "crapto1.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <time.h>
int main (int argc, char *argv[]) { int main (int argc, char *argv[]) {
struct Crypto1State *s,*t; struct Crypto1State *s,*t;
@ -50,7 +49,6 @@ int main (int argc, char *argv[]) {
printf(" nt': %08x\n", p64); printf(" nt': %08x\n", p64);
printf(" nt'': %08x\n", prng_successor(p64, 32)); printf(" nt'': %08x\n", prng_successor(p64, 32));
clock_t t1 = clock();
// Extract the keystream from the messages // Extract the keystream from the messages
printf("\nKeystream used to generate {ar} and {at}:\n"); printf("\nKeystream used to generate {ar} and {at}:\n");
@ -58,7 +56,6 @@ int main (int argc, char *argv[]) {
printf(" ks2: %08x\n",ks2); printf(" ks2: %08x\n",ks2);
s = lfsr_recovery32(ar0_enc ^ p64, 0); s = lfsr_recovery32(ar0_enc ^ p64, 0);
for(t = s; t->odd | t->even; ++t) { for(t = s; t->odd | t->even; ++t) {
lfsr_rollback_word(t, 0, 0); lfsr_rollback_word(t, 0, 0);
@ -73,7 +70,5 @@ int main (int argc, char *argv[]) {
break;} break;}
} }
free(s); free(s);
t1 = clock() - t1;
if ( t1 > 0 ) printf("Time : %.0f ticks \n", (float)t1 );
return 0; return 0;
} }

View file

@ -61,8 +61,6 @@ int main (int argc, char *argv[]) {
printf(" nt': %08x\n",prng_successor(nt, 64)); printf(" nt': %08x\n",prng_successor(nt, 64));
printf(" nt'': %08x\n",prng_successor(nt, 96)); printf(" nt'': %08x\n",prng_successor(nt, 96));
clock_t t1 = clock();
// Extract the keystream from the messages // Extract the keystream from the messages
printf("\nKeystream used to generate {ar} and {at}:\n"); printf("\nKeystream used to generate {ar} and {at}:\n");
ks2 = ar_enc ^ prng_successor(nt, 64); ks2 = ar_enc ^ prng_successor(nt, 64);
@ -97,8 +95,5 @@ int main (int argc, char *argv[]) {
crypto1_get_lfsr(revstate, &key); crypto1_get_lfsr(revstate, &key);
printf("\nFound Key: [%012" PRIx64 "]\n\n", key); printf("\nFound Key: [%012" PRIx64 "]\n\n", key);
crypto1_destroy(revstate); crypto1_destroy(revstate);
t1 = clock() - t1;
if ( t1 > 0 ) printf("Time : %.0f ticks \n", (float)t1);
return 0; return 0;
} }

View file

@ -6,12 +6,12 @@ LDFLAGS =
OBJS = crypto1.o crapto1.o OBJS = crypto1.o crapto1.o
HEADERS = crapto1.h HEADERS = crapto1.h
EXES = nonce2key EXES = nonce2key
WINEXES = nonce2key.exe WINEXES = $(patsubst %, %.exe, $(EXES))
all: $(OBJS) $(EXES) all: $(OBJS) $(EXES)
%.o : %.c %.o : %.c
$(CC) $(CFLAGS) -o $@ $< $(CC) $(CFLAGS) -c -o $@ $<
% : %.c % : %.c
$(LD) $(LDFLAGS) -o $@ $(OBJS) $< $(LD) $(LDFLAGS) -o $@ $(OBJS) $<

View file

@ -2,14 +2,12 @@
#define __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS
#include <inttypes.h> #include <inttypes.h>
#include <stdio.h> #include <stdio.h>
#include <time.h>
typedef unsigned char byte_t;
int main(const int argc, const char* argv[]) { int main(const int argc, const char* argv[]) {
struct Crypto1State *state; struct Crypto1State *state;
uint32_t pos, uid, nt, nr, rr, nr_diff, ks1, ks2; uint32_t pos, uid, nt, nr, rr, nr_diff;
byte_t bt, i, ks3x[8], par[8][8]; uint8_t bt, i, ks3x[8], par[8][8];
uint64_t key, key_recovered; uint64_t key_recovered;
uint64_t par_info; uint64_t par_info;
uint64_t ks_info; uint64_t ks_info;
nr = rr = 0; nr = rr = 0;
@ -49,16 +47,11 @@ int main(const int argc, const char* argv[]) {
printf("%01x|\n", par[i][7]); printf("%01x|\n", par[i][7]);
} }
printf("+----+--------+---+-----+---------------+\n"); printf("+----+--------+---+-----+---------------+\n");
clock_t t1 = clock();
state = lfsr_common_prefix(nr,rr,ks3x,par); state = lfsr_common_prefix(nr,rr,ks3x,par);
lfsr_rollback_word(state,uid^nt,0); lfsr_rollback_word(state,uid^nt,0);
crypto1_get_lfsr(state,&key_recovered); crypto1_get_lfsr(state,&key_recovered);
printf("\nkey recovered: %012" PRIx64 "\n\n", key_recovered); printf("\nkey recovered: %012" PRIx64 "\n\n", key_recovered);
crypto1_destroy(state); crypto1_destroy(state);
t1 = clock() - t1;
if ( t1 > 0 ) printf("Time in nonce2key: %.0f ticks \n", (float)t1);
return 0; return 0;
} }