我想sign一个设备,我有64位将我的签名存储在设备中。这个设备有一个MAC地址和一些其他的细节(约30字节值),我可以打破我的签名。什么是生成64位签名的有点安全的方法?
如果可能,我希望该方法是单向的,这样我就可以验证签名是否有效,而无需知道如何创建有效签名。大多数公用 - 专用密钥具有此功能,但它们生成长度为48个字节的签名(我只有8个字节)。
在Python中的实现是一个优点。
感谢
编辑: 谢谢你的建议每一个人。这听起来好像没有安全的方式来做到这一点,只是一种对攻击者适中不方便的方式。我可能会使用加密哈希与秘密比特洗牌相结合。这与我的(非常薄弱的)“安全性”中的任何其他链接一样安全。
这个解决方案的问题是,别人很容易找出我使用的哈希算法并创建自己的签名。我正在考虑一个标准的散列,随后进行一些混洗,但它是对称的(测试签名是为了创建签名) – 2008-11-10 22:40:01
您可以使用密钥散列,这种秘密与您同在。因此,HMAC-MD5或HMAC-SHA1可能会被截断。我不知道这个截断的安全性,请关注你。 – 2008-11-10 22:41:53
当然,密钥散列意味着用于签名的密钥也需要与验证者一起(对称)。好吧。也许有办法做非对称密钥哈希。 :-P – 2008-11-10 22:42:55