From 70f47aa93e452109bc06c3c0873ea673229afba8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 11 Mar 2023 12:02:51 +0100 Subject: [PATCH] added a new public key found for MIFARE Plus troika cards --- CHANGELOG.md | 1 + client/src/cmdhfmfp.c | 3 ++- tools/recover_pk.py | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d180053a..3856331b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] + - Added new public key for signature MIFARE Plus Troika (@iceman100) - Fixed the client build on Android (@wh201906) - Added TCP connection support on Windows (@wh201906) - Added `data num` - easy convert between dec/hex/bin (@iceman1001) diff --git a/client/src/cmdhfmfp.c b/client/src/cmdhfmfp.c index fe11836e1..aa7480953 100644 --- a/client/src/cmdhfmfp.c +++ b/client/src/cmdhfmfp.c @@ -171,7 +171,8 @@ static int plus_print_signature(uint8_t *uid, uint8_t uidlen, uint8_t *signature #define PUBLIC_PLUS_ECDA_KEYLEN 57 const ecdsa_publickey_t nxp_plus_public_keys[] = { {"MIFARE Plus EV1", "044409ADC42F91A8394066BA83D872FB1D16803734E911170412DDF8BAD1A4DADFD0416291AFE1C748253925DA39A5F39A1C557FFACD34C62E"}, - {"MIFARE Plus Ev_x", "04BB49AE4447E6B1B6D21C098C1538B594A11A4A1DBF3D5E673DEACDEB3CC512D1C08AFA1A2768CE20A200BACD2DC7804CD7523A0131ABF607"} + {"MIFARE Plus Ev_x", "04BB49AE4447E6B1B6D21C098C1538B594A11A4A1DBF3D5E673DEACDEB3CC512D1C08AFA1A2768CE20A200BACD2DC7804CD7523A0131ABF607"}, + {"MIFARE Plus Trojka", "040F732E0EA7DF2B38F791BF89425BF7DCDF3EE4D976669E3831F324FF15751BD52AFF1782F72FF2731EEAD5F63ABE7D126E03C856FFB942AF"} }; uint8_t i; diff --git a/tools/recover_pk.py b/tools/recover_pk.py index b9f8dde4b..7ef149ceb 100755 --- a/tools/recover_pk.py +++ b/tools/recover_pk.py @@ -158,6 +158,11 @@ def selftests(): # # uses secp256r1?, SHA-256, # 'samples': ["aa", "DF0E506DFF8FCFC4B7B979D917644445F1230D2C7CDC342AFA842CA240C210BE7275F62073A9670F2DCEFC602CBEE771C2B4CD4A04F3D1EA11F49ABDF7E8B721"], # 'pk': ""}, + {'name': "MIFARE Plus Trojka", + # uses secp224r1, None, + 'samples': ["04B59F6A226F82", "6F577EB7F570D74DB6250477427F68A0088762BD318767537122919A7916597149F9D16D8B135E9BF826FB28AE293F3168661CD4A049FAED", + "04B44A82D80F92", "A0868ECF26733D3C3C838D055968B4559F77693CC3E346E3A4741BC826801F8360FD88857BEC440AAD3A21153D64302DEB6F5ED40B15C3F7"], + 'pk': "040F732E0EA7DF2B38F791BF89425BF7DCDF3EE4D976669E3831F324FF15751BD52AFF1782F72FF2731EEAD5F63ABE7D126E03C856FFB942AF"}, ] succeeded = True for t in tests: