Здравствуйте подскажите, куда лучше спрятать ключ шифрования для DES алгоритма, пока он находиться в одном из .exe файлов: Код (Text): .......................................... static byte des_key[16] = { 0x2A, 0x48, 0x6E, 0x7F, 0xAA, 0x10, 0x43, 0xBC, 0x46, 0x5F, 0x2A, 0x70, 0x47, 0x31, 0x3F, 0x50 }; ............................................ А вообще кто ни будь знает можно ли как то в exe файле потом изменить этот ключ, или вообще его лучше хранить в базе данных, которая защищена паролем, но опять же насколько это безопасно если база данных MS SQL, или Access
SL555 Да никуда ты этот ключ не спрячешь. Я знаю единственный способ сделать так, чтобы противник не смог узнать ключ симметричного шифрования -- это т.н. whitebox-реализации этих алгоритмов. В них ключ "размазывается" по реализации и становится частью алгоритма. Больше информации по теме даст google. А программа будет к этой БД подключаться? Тогда в чем смысл? В том, чтобы из программы вытаскивать не ключ шифрования, а пароль на доступ к БД?
Да согласен это примерно тоже самое, как вариант да я рассматриваю ключ разнести по программе в разные функции, и перед шифрованием его собирать, а может кто нибудь знает как можно в exe, что то дописать без перекомпиляции
Да я смотрел ряд исходников, там суть была добавления jmp и функции к ней или подмене этой метки. Просто если ключ хранить в одном месте, то в принципе в exe файле его можно найти и изменить, а если сделать размазанным по файлу, то все намного сложнее, может кинете ссылку с примером если у кого нибудь есть по этой теме
im1111 Могу помочь только соответствующими научными работами (Whitebox DES & whitebox AES). Открытых реализаций не видел.
Насчет whitebox-реализации DES я думаю все ни так сложно, если есть опыт написания DES. то включить в ключь в алгоритм не сложно,только вопрос в том как потом обновлять ключь, получаеться, что обновлять нужно весь екзешник или dll
SL555 Вклюить-то ключ в реализацию совсем не сложно. Вот тоько есть проблемка -- ключ нужно включить так, чтобы его из этой реализации вытащить нельзя было. А это уже намного сложнее.
im1111 Из свежего: http://eprint.iacr.org/2006/468 Там в ссылках можно найти названия аналогичных работ.