Commit graph

11 commits

Author SHA1 Message Date
Oleg Moiseenko
078e2bd238 fix: SIMD instruction set detection on non-x86 hardware
should fix issue #542
2018-01-12 22:04:16 +01:00
merlokk
362d203909 works 2018-01-02 22:28:13 +02:00
merlokk
4a768458d2 hardnested SIMD select 2018-01-02 19:05:12 +02:00
Fl0-0
a2d058f3aa Fix typo and gcc-7 warnings (#401)
* Fix typo in hf mf csave help
* Fix gcc 7 warning: '~' on an expression of type bool [-Wbool-operation], use logical ! not instead of ~
* Fix gcc 7 warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
* Fix gcc 7 warning: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
2017-09-26 16:36:05 +02:00
pwpiwi
de1e68d34b Fix detection of AVX512 support for Apple clang compiler 2017-09-12 09:09:15 +02:00
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