【问题标题】:Which decryption uses a binary public key with variable length?哪种解密使用可变长度的二进制公钥?
【发布时间】:2012-06-28 06:58:09
【问题描述】:

我有一个程序显然是用一个可变长度的公共二进制密钥解密它的数据。

我通过或多或少有根据的猜测得出了这些事实:

  • 逆向工程显示程序需要包含公钥的文件名
  • 在十六进制编辑器中查看这个文件会显示完全随机的二进制数据(没有有趣的模式或任何东西),前缀是文件的长度 - 在一个版本中,文件只有 200 字节长,在另一个版本中大约 2000 字节。
  • 考虑到安全性,我猜程序公司会使用私钥加密数据文件,这样就没有人可以创建自己的数据文件(这将满足程序的需要 - 不允许“修改”,也不允许显示数据在第三方程序中)。
  • 数据文件以人类可读的 64 字节长标头为前缀,其余部分也是完全随机的二进制数据。

如果可以的话,我想为我自己的程序使用相同的系统。 是否有一种能够使用可变长度的二进制密钥进行非对称加密/解密的加密方法,如果有,我该如何实现?

【问题讨论】:

  • 很可能是一个固定长度的密钥和一些其他数据。

标签: encryption public-key private-key


【解决方案1】:

这不是继续的方式。您可以将固定长度的键用于可变长度的数据。由于非对称加密非常慢,通常的方法是生成一个随机对称密钥(例如,128 位 AES 密钥)并使用例如加密数据加密数据。加拿大广播公司。然后对称密钥由非对称公钥加密,比如 RSA 2048 位。解密是指使用私钥解密秘钥,然后使用特定于数据的秘钥解密数据。

如果您不知道如何执行此操作,您可以使用能够创建 CMS(加密消息语法)的库来执行此方案。

注意:一个 2000 字节的非对称密钥对将永远加密某些东西,即使您可以创建一个该大小的密钥对。

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 2021-11-01
    • 2012-09-02
    • 2020-08-11
    • 2013-08-06
    • 2012-04-11
    • 2013-01-26
    • 1970-01-01
    相关资源
    最近更新 更多