android - How to calculate IV on AuthenticateISO on DESFire EV1 -
i'm having troubles creating new iv after authenticating. i'm not sure if understanding of concept right, mifare documentation. data on card enciphered.
these steps i'm taking:
- authenticateiso 0 iv (0x1a 3k3des key)
- response card (encrypted randa'):
08 48 cd a3 43 c5 00 fe 1d 78 d1 e5 a9 24 26 5a 91 00
- first 8 bytes should cmac , updated iv(?):
08 48 cd a3 43 c5 00 fe
- create 3k3des session key:
74 ef 23 87 10 e4 3b e6 c8 4c 41 74 03 08 a9 7f f3 fa 59 15 e4 c5 06
- call getvalue:
90 6c 00 00 01 [fileid] 00
- response card:
a2 3c cb 70 4d d5 22 91 00
- decrypt first 8 bytes response session key , updated iv
- decrypted result:
7f 7d 80 f5 [crc32]
after last step, first 4 bytes should value , last 4 crc32. sure i'm not doing right iv, because result isn't correct. should 0f a0 00 00 [crc32]
.
could have pointers i'm doing wrong? i've been trying solve @ least 2 weeks , have come nowhere.
you put android tag in question. suggest use taplinx sdk free of charge , offer java level apis mifare , other nxp cards. makes communication card lot easier , documentation good.
Comments
Post a Comment