Посл.ответ |
Сообщение |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:09 · Личное сообщение · #1
Здравствуйте!
Задачка состоит в следущем. шифрование критических мест внутри exe. Вся реализация готова. Но сейчас в качестве шифрования использую: byte xor key.
Естественно это очень просто ломается...
Осталось дело за малым выбрать алгоритм и зашифровать... но посматрел некоторые алгоритмы
Blowfish
DES
Triple DES
Rijndael
и понял что это не то что мне нужно ((. К примеру мне нужно зашифровать 1 байт но результатом работы этих алгоритмов является не 1 байт а больше... Что мне очень мешает...
Подскажите хороший алгоритм шифрования в котором 1 байт шифруется 1 байтом?
| Сообщение посчитали полезным: |
|
Ранг: 19.1 (новичок), 4thx Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:14 · Личное сообщение · #2
Разве Blowfish на выходе выдаёт больше байтиков, чем получил на входе? Сомневаюсь в этом.
Все 4 алгоса довольно много кода "кушают". Лучше юзать XTEA, который прост в реализации.
Да и вообще пофигу какой алгос, самое главное как и где ключик хранить.
| Сообщение посчитали полезным: |
 Ранг: 303.7 (мудрец), 4thx Активность: 0.19↘0 Статус: Участник tPORt Manager
|
Создано: 03 декабря 2008 15:14 · Личное сообщение · #3
смешной ты))) блочными алгоритмами 1 байт в 1 хочешь загнать. можешь цезаря применить)
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:21 · Личное сообщение · #4
> Разве Blowfish на выходе выдаёт больше байтиков, чем получил на входе? Сомневаюсь в этом.
'A' Blowfish Key(11) - _8ґІѕiЖ•
> смешной ты))) блочными алгоритмами 1 байт в 1 хочешь загнать
Может поточный алгорим тогда? Я в них не разбираюсь просто вот приспичело... Поэтому и спрашиваю..
| Сообщение посчитали полезным: |
Ранг: 129.7 (ветеран), 2thx Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:24 · Личное сообщение · #5
Юзай поточные алгоритмы
| Сообщение посчитали полезным: |
 Ранг: 170.1 (ветеран), 96thx Активность: 0.09↘0.01 Статус: Участник
|
Создано: 03 декабря 2008 15:24 · Личное сообщение · #6
123456 пишет:
Я в них не разбираюсь просто
Тогда, лучше, XOR шифруй. Иначе зря время и силы потратишь с той же криптостойкостью (2^8).
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:32 · Личное сообщение · #7
>Тогда, лучше, XOR шифруй. Иначе зря время и силы потратишь с той же криптостойкостью (2^8).
ленивого крякера сразу видно  облегщает себе жизнь ))
| Сообщение посчитали полезным: |
 Ранг: 303.7 (мудрец), 4thx Активность: 0.19↘0 Статус: Участник tPORt Manager
|
Создано: 03 декабря 2008 15:32 · Личное сообщение · #8
шифруй хотяб блоками по 4 байта, тогда нормально будет.
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:38 · Личное сообщение · #9
Bit-hack пишет:
шифруй хотяб блоками по 4 байта, тогда нормально будет.
В тех алгоритмах что я описал.
Количество входных байт не равно количеству выходных. Нужны какие то другие... а вот какие???
| Сообщение посчитали полезным: |
 Ранг: 303.7 (мудрец), 4thx Активность: 0.19↘0 Статус: Участник tPORt Manager
|
Создано: 03 декабря 2008 15:43 · Личное сообщение · #10
накладывай гамму или как это там называется у крутых криптографов)) вобщем добавляй константу или xor на неё каждый блок... А размер не совпадает, потому что у тех алгоритмов есть вполне конкретная длина блока, и кол-во выходных данных будет кратно этому числу.
| Сообщение посчитали полезным: |
Ранг: 129.7 (ветеран), 2thx Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2008 15:46 · Личное сообщение · #11
Загугли "Поточное шифрование" и вдумчиво читай...
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 16:01 · Личное сообщение · #12
Azur1d пишет:
Загугли "Поточное шифрование" и вдумчиво читай...
Загуглил... кроме как на википедии нечего толком не нашел да и то. Там о конкретных реализациях кроме RC4 ни слова...
| Сообщение посчитали полезным: |
Ранг: 19.1 (новичок), 4thx Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 16:19 · Личное сообщение · #13
123456 пишет:
Загуглил... кроме как на википедии нечего толком не нашел да и то. Там о конкретных реализациях кроме RC4 ни слова...
гугли Twofish.
И всё же обрати внимание на XTEA (последние 1-3 байта можно ксорить).
| Сообщение посчитали полезным: |
Ранг: 129.7 (ветеран), 2thx Активность: 0.07↘0 Статус: Участник
|
Создано: 03 декабря 2008 16:28 · Поправил: Azur1d · Личное сообщение · #14
http://www.enlight.ru/crypto/algorithms/algs.htm http://www.enlight.ru/crypto/algorithms/algs.htm
А дальше гуглишь по каждому
| Сообщение посчитали полезным: |
 Ранг: 61.7 (постоянный) Активность: 0.05↘0 Статус: Участник я
|
Создано: 03 декабря 2008 16:38 · Личное сообщение · #15
OSA пишет:
гугли Twofish.
вы видели сколько там кода будет и оно нам надо?)
123456
у меня где то есть сорцы маленького самопального алгоса. ломается говорят тривиально, но всё таки получше всякого ксор будет и тот кто будет ломать прогу врядли будет ломать сам криптоалгоритм. а RC4 всем хорош в данном случае кроме неудобства в том плане что ему требуется временный буфер в памяти в 256 байт
| Сообщение посчитали полезным: |
 Ранг: 312.0 (мудрец), 349thx Активность: 0.46↗0.65 Статус: Участник Advisor
|
Создано: 03 декабря 2008 16:52 · Личное сообщение · #16
123456 пишет:
К примеру мне нужно зашифровать 1 байт
К примеру для этого не надо даже ключ подбирать.....
----- Чтобы юзер в нэте не делал,его всё равно жалко.. | Сообщение посчитали полезным: |
Ранг: 3.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 03 декабря 2008 19:38 · Личное сообщение · #17
123456 пишет:
Подскажите хороший алгоритм шифрования в котором 1 байт шифруется 1 байтом?
если нужен любой блочный, просто можно дополнить случайными данными до длины блока и вставить в конце блока реальную размер данных в блоке, как например это выглядит в sha алгоритмах.
Если иначе - о поточных алгоритмах уже тут ответили.
OSA пишет:
Да и вообще пофигу какой алгос, самое главное как и где ключик хранить.
вобще если подумать, то ключ можно не хранить нигде.
| Сообщение посчитали полезным: |
Ранг: 19.1 (новичок), 4thx Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 20:14 · Личное сообщение · #18
deBator пишет:
вобще если подумать, то ключ можно не хранить нигде.
У меня подозрение что ТС собирается ключик хранить в exe.
| Сообщение посчитали полезным: |
Ранг: 18.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 03 декабря 2008 22:09 · Личное сообщение · #19
Заюзай обычный LFSR. Он некриптостойкий и взламывается решением системы линейных уравнений. Но дает хорошие статистические и свойства и просто реализуется.
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 09:49 · Личное сообщение · #20
Bronco пишет:
К примеру мне нужно зашифровать 1 байт
Это же к примеру! А вообще будет шифроваться процедура! Но нужно чтоб в exe-шнике не было смещений после шифрования.
Wild_One пишет:
У меня подозрение что ТС собирается ключик хранить в exe.
Нет) ключ будет вводить пользователь при запуске.
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 10:01 · Личное сообщение · #21
OSA пишет:
гугли Twofish.
И всё же обрати внимание на XTEA (последние 1-3 байта можно ксорить).
это блочные алгоритмы
Azur1d пишет:
www.enlight.ru/crypto/algorithms/algs.htm
А дальше гуглишь по каждому
Большое спасибо) буду читать
| Сообщение посчитали полезным: |
Ранг: 19.1 (новичок), 4thx Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 10:17 · Личное сообщение · #22
123456 пишет:
это блочные алгоритмы
Да какая х.. разница. Смотри сюда ru.wikipedia.org/wiki/XTEA
Длина выходных данных такая же как и входных. Главное что бы длина входных данных была кратна 4.
| Сообщение посчитали полезным: |
Ранг: 88.3 (постоянный), 3thx Активность: 0.04↘0 Статус: Участник
|
Создано: 04 декабря 2008 10:22 · Личное сообщение · #23
OSA пишет:
Длина выходных данных такая же как и входных. Главное что бы длина входных данных была кратна 4.
Челу то надо один байт закрипровать, а не кратный 4м, тут об этом и идет речь!
123456
Вот нашел то что тебе надо - RC4, от ксора не далеко ушло, но все таки уже и не ксор.
Смотрел шифры из набора DCPcrypt2, все остальные - блочные... 41a4_04.12.2008_CRACKLAB.rU.tgz - DCPrc4.pas
| Сообщение посчитали полезным: |
Ранг: 271.5 (наставник), 12thx Активность: 0.15↘0 Статус: Участник Packer Reseacher
|
Создано: 04 декабря 2008 11:25 · Личное сообщение · #24
123456
Пойми идею архитектуры "Сеть Файстеля", ну и представь один байт как L(4 старших бита) и R(4 младших бита), вот токо для своего алго придется изворачиваться по генерации таблицы замен ;)))
----- My love is very cool girl. | Сообщение посчитали полезным: |
Ранг: 18.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 12:10 · Личное сообщение · #25
123456, тебе зачем шифровать то? Если эти данные будут расшифровываться по ходу использования программы, то использовать сложный криптостойкий алго не имеет особого смысла.
| Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 13:04 · Поправил: 123456 · Личное сообщение · #26
Enigma не поверишь уже до того как прочитать твой ответ уже сделал с помощью этого компонента ) ипользовал RC4. Всем спасибо.
Wild_One пишет:
Если эти данные будут расшифровываться по ходу использования программы, то использовать сложный криптостойкий алго не имеет особого смысла.
это почему это?
| Сообщение посчитали полезным: |
 Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 04 декабря 2008 13:16 · Личное сообщение · #27
123456 пишет:
это почему это?
А потому что всё равно будут дампить и лепить расшифрованные участки на место зашифрованных.
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
Ранг: 10.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 14:33 · Личное сообщение · #28
ARCHANGEL )) в том то и хитрость =)) чтобы сдампить нужно сначала расшифровать а расшифровывается вводом пароля. При вводе пароля программа расшифровывает кусочек себя, причем введенный пользователем пароль и является ключем к расшифровке. Если пароль не верный то значит и расшифровалось не верно поэтому полезут ексепшены, run time error-ы, и т.п.
| Сообщение посчитали полезным: |
Ранг: 18.3 (новичок) Активность: 0.01↘0 Статус: Участник
|
Создано: 04 декабря 2008 15:18 · Личное сообщение · #29
С этого и надо было начать. Поточные шифры можно изучить и скачать исходники тут
www.ecrypt.eu.org/stream/index.html
Опять же, твоя идея имеет смысл, если программа не для массового распространения.
| Сообщение посчитали полезным: |
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 04 декабря 2008 15:45 · Личное сообщение · #30
По XTEA:
code.progler.ru/tags/XTEA-TW
ishodniki.ru/list/info.php?id=7925&cat=18&show=alg-def
sourceforge.net/project/shownotes.php?release_id=627442
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |