Я хочу хранить конфиденциальные данные в файле с цифровой подписью, чтобы я знал, когда его содержимое было изменено.Как предотвратить повреждение файла
Моя первоначальная мысль заключается в том, что данные будут храниться в 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 бит - но это только я)
- Что такое рекомендуемый способ предоставления данных зашифрованных данных, поэтому я могу использовать это значение проверки, чтобы узнать, содержит ли содержимое файла (полезная нагрузка зашифрованные данные) отличается от оригинала.?
Вы хотите, чтобы мы снабдили кодом шифрования, контрольным суммированием, кодом записи файлов? Что-нибудь еще? – 2009-12-15 11:06:09
Не обижайтесь, но это бессмысленная трата времени. Предотвращение кого-либо из воровства или модификации вашей программы является социальной проблемой, не являющейся технической проблемой. По сути, вы не можете защитить что-то там, где оно и средства его защиты, как на машине, которую вы не контролируете. Миллиарды были потрачены впустую на меры по борьбе с пиратством на DVD/Blu-ray, пытаясь игнорировать эту простую истину (и потерпеть неудачу). – cletus
Нейлу: Значит, ты можешь читать мысли теперь? Я не помню, чтобы спрашивать кого-нибудь о подробном коде реализации в моем первоначальном вопросе. Все, что я задал, были некоторыми рекомендациями от тех, кто действительно знал о шифровании. –