我是加密新手,但一直致力于使用 128 位 RSA 加密卡数据的卡访问系统。
我有一个 1024 位加密数据的示例(来自卡片)。我也有公钥(1024 位),它(相当奇怪地)放置在访问控制硬件中。我 100% 确定它是公钥(不是私钥)。
首次尝试使用带有二进制密钥的 OpenSSL 密钥失败:
➤ openssl rsautl -decrypt -in ptt.enc.key -inkey ptt.pub.key -out ptt.dec.hex 无法加载私钥 ➤ 11636:error:0906D06C:PEM 例程:PEM_read_bio:no start line:pem_lib.c:648:Expecting: ANY PRIVATE KEY
我知道我可能需要格式化/准备密钥,但我不确定如何。
有任何想法吗?
编辑 它的价值:公钥是:
15 77 D0 29 87 C6 3A 95 B5 1A E1 49 43 08 34 AE AF 3F 2E 0F 4C F8 C6 88 7A C6 C8 D7 32 D7 94 82 60 4F C1 8D 6 C 4A E 8D 6 A 4 D 2E 2E E0 4D 16 63 85 6D 76 0E AB EC CF B7 83 BA E1 D4 3E 1E 02 C5 01 1E 82 3B 24 F2 91 8F 98 A4 96 2A 87 5D 0D A 8 A 9 F9 1 9 D 8 F9 3 E 8 F9 6F 99 65 97 ED AD 7F 03 CA B9 15 ED 4B 58 B7 BA AD 28 C0 B6 75 93 CD FC CB 53 99 AB
加密卡值为:
8F 04 8D E0 83 7F 29 C8 03 54 D1 B5 E3 03 27 4E 3F C5 8D 79 75 D6 A1 FE 3B 67 F1 43 99 65 CC EE B1 A8 55 BA E8 8 6 E 8 D 6 E 8 D 6 E 8 D 03 77 1E C3 C0 AE 27 DA 06 3D 8F A5 CC E0 32 3D 65 60 E9 86 A2 65 E2 BB D3 B9 37 4E A6 BF 91 89 02 C5 26 E0 AF FD A8 683 4 2 6 D CA8 683 6 E 6E 84 0A 9D 6C FA BE 85 D3 22 DF 57 61 B9 A8 21 0B A4 6D 89 12 4A 64 25 83 12 60 3D
整体保护工作如下:外部服务可以访问建筑物 - 但每个单独的访问都有时间限制,以防止滥用。卡片必须每天左右刷新。
根据系统文档:
“通过将服务的公钥添加到建筑物的设备中来控制建筑物的访问权限”
和:
“使用 768 或 1024 位私钥的 RSA 加密服务的‘收费设备’允许每天向用户发放徽章”
我同意 - 这似乎是异步密钥系统的反面(分发公钥,然后使用私钥进行加密) - 所以也许他们正在做一些不同的事情(RSA 签名?) - 这就是我试图确定。
这在我看到的硬件代码中得到了证实:
$ PUBKEY = “x31353737443032393837433633413935423531414531343934333038333441454146334632453046344346384336383837414336433844373332443739343832363034464331384441373741394343314635344438303633454145364534324134314232453034443136363338353644373630454142454343464237383342414531443433453145303243353031314538323342323446323931384639384134393632413837354430444639344638303938413141333044433934313330334639384142413139453646393936353937454441443746303343414239313545443442353842374241414432384330423637353933434446434342353339394142”
希望此编辑能够使整个情况更加清晰 - 我感谢您的洞察力和帮助。