Скажем, у меня есть приложение, которое предназначено для чтения и записи файлов, которые защищены хешем (для обнаружения фальсификации и коррупции) и, при необходимости, шифрования с помощью ключа пользователя. Приложение обязательно будет включать скомпилированный код в хэш, шифрование и дешифрование данных.Имеет ли доступ к приложению, которое реализует шифрование и дешифрование, облегчает его взломать?
Предполагая, что мы используем строгие алгоритмы, такие как соленые и растянутые AES-256 и SHA-256, заключается в том, что пользователь имеет приложение в скомпилированной форме (и с некоторыми усилиями, возможно, разрабатывает используемые алгоритмы) делает это любой проще для них взломать шифрование или создать фальшивый хеш?
Если это на самом деле серьезная уязвимость, какие меры кто-либо предложит смягчить уязвимость?
Что значит «скомпилированный код для хэша»? Вы не компилируете код в хэш, но можете сделать что-то вроде создания хеша md5sum из скомпилированного кода. Это то, что вы имели ввиду? О, а также что вы имеете в виду «приложение в скомпилированной форме?» Вы имеете в виду зашифрованную форму? – Eric
КАЖДЫЙ код, который запускается на устройстве пользователя, может быть реинжинирингом, иначе машина не сможет запустить этот код. Однако вы можете сделать трещину как можно труднее, но с достаточным усилием все можно сломать. – MorbZ
Извините @ Эрик, потерянный в переводе. Я имел в виду: «Естественно, приложение должно включать скомпилированный код, необходимый для вычисления хэша данных, а также для шифрования и дешифрования данных». И нет, я не собирался шифровать приложение. «Приложением в скомпилированной форме» я имею в виду файлы EXE приложения и DLL, установленные на компьютере пользователя. – rossmcm