security - 生成 64 位签名的某种安全方法是什么?

标签 security language-agnostic signature

我想要sign一个设备,我有 64 位来在设备中存储我的签名。该设备有一个 MAC 地址和一些其他详细信息(大约 30 个字节),我可以修改以创建我的签名。

如果可能,我希望该方法是单向的,这样我就可以在不知道如何创建有效签名的情况下验证签名是否有效。大多数公私钥都有此功能,但它们生成的签名长度为 48 字节(我只有 8 字节)。

使用 Python 实现是一个优势。

谢谢

编辑: 谢谢大家的建议。听起来好像没有安全的方法来做到这一点,只有一种对攻击者来说不太方便的方法。我可能会使用加密哈希与 secret 位混洗相结合。这将与我的(非常弱的)“安全性”中的任何其他链接一样安全。

最佳答案

哈希函数和数字签名非常不同。

数字签名的大小取决于底层哈希函数和 key 长度。因此,理论上,您可以创建一个生成 64 位签名的 RSA 实现,但这将是一个极其弱的签名。

对于较小的 key 长度,您可能需要查看椭圆曲线加密技术。

编辑:是的,我是一名密码学家。

编辑2:但是,如果您只需要哈希函数,您可以按照 Fernando Miguélez 的建议查看 elf64 或 RIPEMD-64。

编辑 3:计算一下,您需要使用 ECC 中的 16 位 key 来生成 64 位签名,这是非常弱的。对于 ECC,任何小于 128 位的都可以被认为是弱的。对于 RSA,这是 1024 位。

关于security - 生成 64 位签名的某种安全方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279418/

相关文章:

linux - 如何从 'ps aux' 组的 'users' 输出中隐藏其他用户进程? Debian 挤压

java - JFileChooser 在通过 JS 调用时导致 AccessControlException,在通过小程序调用时有效

java - Spring Security - Thymeleaf - 我可以在秒内评估 SPEL 表达式 :authorize tags?

language-agnostic - 可以在计算之前知道阶乘有多大吗?

language-agnostic - 有没有没有控制结构或操作符的编程语言?

c++ - int32_t main()与int main()

security - secret 计算 : does such an animal exist?

algorithm - 如何计算整数范围内的每个数字?

c++ - 搜索具有特定签名调用的函数?

python - M2Crypto 解密和验证大电子邮件的性能不佳