Commit graph

6 commits

Author SHA1 Message Date
marshmellow42
087c8bf330 fix compile issues on OS X 10.11
OSX 10.11 does not have clock_gettime()
clang <= 8.0.0 has a bug in __builtin_cpu_supports() and it doesn't
function.
see https://llvm.org/bugs/show_bug.cgi?id=25510
2017-06-08 17:07:14 -04:00
pwpiwi
c3d117a8a1 fix MacOS compile errors by replacing memalign() with posix_memalign() 2017-06-08 08:26:20 +02:00
pwpiwi
af7a1f7004 fix compile errors on non-Intel CPUs:
- client/Makefile: don't compile for different SIMD instruction sets if non-Intel
- hardnested cores: provide non-SIMD versions of core functions
2017-06-06 18:38:07 +02:00
marshmellow42
e5baf1ef79 adjust hardnested compiler fix to accurate version
avx512f is only available in gcc 5.3 and above.
2017-06-02 00:17:57 -04:00
marshmellow42
f950ce1cb9 make hardnested compile on gcc 4.9.2
plus add Td to gitignore.
2017-06-01 23:08:01 -04:00
pwpiwi
c48c4d7856 New: implementing hf mf hardnested
This implements the attack described in
	Carlo Meijer, Roel Verdult, "Ciphertext-only Cryptanalysis on Hardened
	Mifare Classic Cards" in Proceedings of the 22nd ACM SIGSAC Conference on
	Computer and Communications Security, 2015
It uses precomputed tables for many bitflip properties (not only two as in the paper)
and is therefore quite efficient. To prevent failing it doesn't do
differential analysis with several nonce bytes' Sum(a8) properties (each of them
may be wrongly guessed) - instead it concentrates on one nonce byte and tries all
Sum(a8) property guesses sequentially (ordered by probability). The brute force phase
makes use of aczid's bit sliced brute forcer (https://github.com/aczid/crypto1_bs).
Includes runtime CPU-detection to leverage modern (and old) SIMD instructions
with a single executable.
2017-05-31 07:30:56 +02:00