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

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -