X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/0ca9bc0e9929ba2f86af29b216b863971056e566..43c3b944e44dd45405e2528185e3f18a314ff9cc:/common/crapto1/crypto1.c?ds=sidebyside diff --git a/common/crapto1/crypto1.c b/common/crapto1/crypto1.c index a3f64a9f..19b71cbb 100644 --- a/common/crapto1/crypto1.c +++ b/common/crapto1/crypto1.c @@ -18,12 +18,14 @@ Copyright (C) 2008-2008 bla */ #include "crapto1.h" + #include +#include "parity.h" #define SWAPENDIAN(x)\ (x = (x >> 8 & 0xff00ff) | (x & 0xff00ff) << 8, x = x >> 16 | x << 16) -#if defined(__arm__) && !defined(__linux__) && !defined(_WIN32) // bare metal ARM lacks malloc()/free() +#if defined(__arm__) && !defined(__linux__) && !defined(_WIN32) && !defined(__APPLE__) // bare metal ARM Proxmark lacks malloc()/free() void crypto1_create(struct Crypto1State *s, uint64_t key) { int i; @@ -73,7 +75,7 @@ uint8_t crypto1_bit(struct Crypto1State *s, uint8_t in, int is_encrypted) feedin ^= !!in; feedin ^= LF_POLY_ODD & s->odd; feedin ^= LF_POLY_EVEN & s->even; - s->even = s->even << 1 | parity(feedin); + s->even = s->even << 1 | evenparity32(feedin); t = s->odd, s->odd = s->even, s->even = t;