我想签署一个设备,我有64位将我的签名存储在设备中.这个设备有一个MAC地址和一些其他细节(大约30个字节)我可以破坏创建我的签名.
如果可能的话,我希望该方法是单向的,这样我就可以在不知道如何创建有效签名的情况下验证签名是否有效.大多数公钥 - 私钥具有此功能,但它们生成48字节长的签名(我只有8个字节).
在Python中实现是一个优点.
谢谢
编辑:感谢大家的建议.听起来没有安全的方法来做到这一点,只是一种对攻击者来说中度不方便的方式.我可能会使用加密哈希与秘密比特改组相结合.这将与我(非常弱)的"安全"中的任何其他链接一样安全.
散列函数和数字签名是非常不同的东西.
数字签名的大小取决于底层哈希函数和密钥长度.因此从理论上讲,您可以创建一个生成64位签名的RSA实现,但这将是一个非常弱的签名.
对于较小的密钥长度,您可能需要查看椭圆曲线加密.
编辑:是的,我是一名密码学家.
编辑2:然而,如果你只需要哈希函数,你可以看看elf64或RIPEMD-64,正如FernandoMiguélez所建议的那样.
编辑3:做数学运算,你需要在ECC中使用16位密钥来生成64位签名,这非常弱.对于ECC,任何小于128位的内容都可以被认为是弱的.对于RSA,这是1024位.