Определить симметричный алгоритм шифрования

Тема в разделе "WASM.CRYPTO", создана пользователем ochkarik, 12 авг 2010.

  1. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    Добрый день, уважаемые форумчане!

    Ситуация следующая:
    Имеется софт, который хранит некий справочник в БД. Некоторые поля справочника в БД лежат в зашифрованном виде(шестнадцатиричном).
    Строки зашифрованы каким-то симметричным алгоритмом.
    Собственно вопрос: существуют ли инструменты для определения алгоритмов шифрования? или может кто-нибудь подскажет что за алгоритм используется.
    Примеры строк:
    Зашифрованный текст | Нормальный текст
    6A3F34 | вла
    6AEB3F | вал
    63CD64 | лав
    6852D0 | авл
    6830D9 | алв
    633866 | лва
    2853B4FF49 | ааааа
    5FC455D248 | ббббб
    79EF03EF4B | ввввв
    0A343C3E039A0876D5245A1D | Добрый день!
    BFCDE80F02939CAFFA30 | Добрыйдень

    Раньше с криптографией не сталкивался, сейчас учу мат-часть. Параллельно решил спросить на форуме. Задача очень срочная.
    Заранее все спасибо за помощь!
     
  2. expert

    expert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2009
    Сообщения:
    151
    поскань софт криптоанализером из PeID на наличие констант.
     
  3. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Самодельный алгоритм, похоже, что с накоплением (обратной связью).

    b
    bb
    bbb
    bbbb
    c
    cbbb
    bcbb
    bbcb
    bbbc
     
  4. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    Просканил криптоаналайзером из PEiD. Пишет, что крипто сигнатуры не обнаружены.
     
  5. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    Существуют ли алгоритмы определения алгоритма шифрования? )))
     
  6. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    cryptosearcher тоже результата не дал
     
  7. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    зашифруйте строки из 3-го поста
     
  8. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    b | 20
    bb | 549E
    bbb | EA7A69
    bbbb | 04BEB4AA
    c | 21
    cbbb | 4FB95DAB
    bcbb | 8FBF25AA
    bbcb | 05BE1FAA
    bbbc | 04BEB5AA
     
  9. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    PEiD ищет по magic сигнатурам, если их нет то наверное и не найдет
     
  10. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Тут явственно самодельный алгоритм : байты переставлены, используется накопление (chaining mode) размером в 1 байт.
     
  11. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    Спасибо, OLS. Буду курить алгоритм дальше))
     
  12. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    Ещё несколько вопросов.
    Какими данными проще оперировать для определения алгоритма: двоичными, десятичными или шестнадцатеричными?
    Какие комбинации открытого текста лучше использовать (Н-р: а, аа, ааа, аааа или a, ab, abcd, abcde и т.д.)?
     
  13. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Попытаюсь насколько могу формализовать ответ.

    Для решения каждой подзадачи требуется отдельный набор тестов - где-то одинаковой длины,
    отличающиеся на 1 бит, на 1 байт, где-то разной длины.

    1. Для начала наверное придется разобраться с перестановкой байт.
    На 4 символах она легко видна, повторить для других длин и понять общую логику процесса перестановки.

    2. Дальше нужно определить с разрядностью блока - 1 бит, 1 байт, 64 бита и т.п..

    3. Дальше нужно определить используется ли ECB или "chaining mode" (результат шифрования всех последующих байт зависит от текущего) - это проверяется сравнением например E("bcbb") и E("bbbb") - если ECB, то изменение будет ровно в одном втором байте, а если цепочка, то во всех, начиная со второго.

    4. Дальше проверить не является ли операция простейшей + или XOR. Подать на вход пять-шесть пар односимвольных строк, отличающихся на небольшую константу k, и для каждой пары (X;X+k) проверить условия E(X+k)=E(X)+k и E(X XOR k)=E(X) XOR k.

    5. Проверить не является ли chaining-операция обычным битовым сдвигом - для этого я предложил байты, отличающиеся ровно на 1 бит в ASCII-кодах (именно поэтому "bc" а не "ab").

    Дальше по обстоятельствам.
     
  14. ochkarik

    ochkarik New Member

    Публикаций:
    0
    Регистрация:
    12 авг 2010
    Сообщения:
    8
    ок. теперь понял с чего начать. спасибо.