Mifare Ultralight C 3DES关键变化

时间:2012-12-12 14:01:47

标签: key nfc 3des mifare

我正在尝试更改Ultralight C卡上的3DES键。我可以将值写入地址44-47,就像我在这里找到的一些主题一样。但是我在使用它时无法进行身份验证。如果我回写默认密钥,它可以正常工作。

我认为有些东西我不明白这可能是问题的根源,看看自由报道库的例子,在这个和libnfc论坛的一些帖子中,我发现超轻C的默认密钥是:{{1 } (ASCII“BREAKMEIFYOUCAN!”的十六进制值),但是在客户端解密它时使用的密钥为425245414b4d454946594f5543414e21

我不知道两个键之间的关系是什么,但我认为需要进行一些预先操作才能从另一个生成一个,这就是我失败的原因。有人做运气吗?感谢每一位帮助

对于我的所有代码,我使用了this code as an starting point

1 个答案:

答案 0 :(得分:0)

你有没有设法解决你的问题?您介意与社区分享您的代码吗?

如果你不这样做,这里就是前提:

如果十六进制密钥为:“00 01 02 03 04 05 06 07 08 0A 0B 0C 0D 0E 0F”则必须写入序列“07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08“4页,从第0x2C(44)页到第0x2F(47)。

如果您想要更改需要身份验证的位置(哪些页面),请按以下步骤操作:

  • 0x2A定义身份验证所在的页面地址 需要。例如。如果0x2A = 0x30则不需要认证 内存上升到0x2F。
  • 0x2B定义读/写(0x2B = 0)或者是否需要验证 仅用于写访问(0x2B = 1)