【发布时间】:2011-07-25 15:46:56
【问题描述】:
我的目标是一种轻量级的消息签名,可与 PGP 相媲美,只是只需要一个私钥,不需要公钥关联。目标仅仅是防止篡改两个受信任实体之间的字符串。它从受信任的来源开始,经过互联网,然后到达另一个受信任的目的地。
我想知道我的幼稚方法是否安全。因为签名算法实际上不会被暴力破解。
1) 源和目标都有一个“私钥”,它只是 uuidgen 生成的一个非常随机的数字。
2) 源有一个要发送到目的地的字符串。
3) Source 将有效负载字符串与私钥连接起来,然后对结果进行 sha1,以生成签名。
4) 生成的纯文本值 + 签名成对发送到目的地。 "你好//SIG:12345ABCDEFG"
5) 目的地接收签名变量,使用其已知的私钥生成签名,并将签名与接收到的数据配对进行比较。如果它们匹配,则被接受。
其中的一个变体将包含一个四舍五入到小时的 unix 时间戳,使签名过期。
我担心的是,在给定一组选择性数据有效负载的情况下,暴力破解私钥是否可行,并使用这种方法分析生成的签名。
谢谢
【问题讨论】:
-
如果您怀疑自己的解决方案,请不要这样做,而是使用已建立的方法,例如 PGP。设置它肯定会比调试自定义解决方案花费更少的时间和精力。
标签: cryptography digital-signature