我想将机密数据存储在数字签名文件中,以便知道其内容何时被篡改。
我最初的想法是数据将存储在 NVP(名称值对)中,并带有某种 CRC 或其他校验和来验证内容。
我正在考虑使用 ANSI C++ 实现此类文件的创建(即写入)和验证(读取)。
假设这是我要存储的数据:
//Unencrypted, raw data to be stored in file
struct PrivateInfo {
double age; weight;
FitnessScale fitness;
Location loc;
OtherStuff stuff;
};
//128-bit Encrypted Data (Payload to be stored in file)
struct EncryptedData {
// unknown fields/format ??
};
[在我阅读了对这个问题的一些回复之后]
从我目前收到的评论来看,我担心人们会被“许可”这个词所吸引,这对大多数人来说似乎是一个危险信号。我怀疑可能是这样,但在当今高度安全和普遍紧张的气氛中,我想我最好详细说明我需要“隐藏”的内容,以免有人认为我正在考虑将“Nuke 密码”传递给某些人恐怖分子什么的。我现在将从我的问题中删除“许可证”一词。
更多地将其视为技术问题。想象一下,我是一名学生(我就是这样),并且我正试图找出有关对需要安全的信息进行编码的推荐(或最佳实践)。
考虑到上述情况,我将重新格式化我的问题:
- 给定一个不同数据类型字段的结构,什么是“推荐”算法来给它一个“合理安全”的加密(我仍然更喜欢使用 128 位 - 但这只是我)
- 对加密数据提供ROBUST检查的推荐方法是什么,以便我可以使用该检查值来了解文件的内容(加密数据的有效负载)是否与原始内容不同。?