< 返回版块

eweca-d 发表于 2021-06-25 21:52

前提是这个程序是一个本地的纯RUST程序,使用release编译。

使用一个"硬编码密钥0"加密一个"可变的密钥1"(每次查改数据的操作均会随机生成"密钥1"并重加密数据),再使用“可变的密钥1”加密数据,把这个“可变的密钥1”和数据一起保存。每次操作均需要得到"硬编码密钥0"的权限去解码"密钥1"从而解密数据。

解密后展示数据时,数据行会进行随机打乱。再次加密并保存时,数据行也会随机打乱。这种情况下可以通过反编译得到"硬编码密钥0"从而攻破这个加密体系得到数据的明文吗?可以通过反编译猜出加密手段吗?

另一种情况下,其他与前者一致,唯一不同是选择直接输入密钥。而不是通过密码获得使用“硬编码密钥0”的权限。是不是安全性能会更好些?

评论区

写评论
Neutron3529 2021-07-07 18:22

这个问题应该看场景吧

如果你不能保证控制数据跟程序,什么算法都白搭

你必须保证至少有一个环节由你控制(其他人不能绕过你做)才能继续考虑加密问题


要不然,别人能拿到程序,别人能拿你的程序解密你的数据(因为密钥是硬编码的),你怎么加密都白搭

作者 eweca-d 2021-06-26 16:39

所以说,加密办法和数据分开保管可以有效提高安全性是吗?

--
👇
Peacess: 只要花时间研究汇编代码,原理上是可以研究出来的, 手动输入密码这个要安全一点,

最安全的方式是使用一个外部设备,像u盘一样的东西,所有的加解密算法都在u盘里,而不在你的代码中,这样会安全一点。

Peacess 2021-06-26 08:10

只要花时间研究汇编代码,原理上是可以研究出来的, 手动输入密码这个要安全一点,

最安全的方式是使用一个外部设备,像u盘一样的东西,所有的加解密算法都在u盘里,而不在你的代码中,这样会安全一点。

1 共 3 条评论, 1 页