| Посл.ответ | Сообщение | 
| 
 Ранг: 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
  | Сообщение посчитали полезным: |