шифрование на основе not))

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

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    В общем есть элементарная шифровка на основе операции not.
    Можно ли как узнать что файл уже зашифрован через команду not ?
    Файл текстового содержания(Unicode, формат ini файла).
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    старший разряд смотреть
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Тоесть если все слова имеют установленный старший разряд тогда можно предположить что файл уже шифрован?
     
  4. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    А вот когда обычная ASCII то в ней ведь все разряды используются (если использовать руский + англ. текст).
     
  5. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Если это текстовый файл, то для любого языка каждая буква имеет определенную вероятность появления. Самая частая - пробел, потом (для русского текста) О, Е, А, И и т.д.: http://www.aronetis.com/freq.html. Если просто инвертировать биты (и, вообще, при любой моноалфавитной подстановке), частоты появления отдельных байтов, разумеется, останутся прежними.

    Upd: для смеси рус+англ, в принципе, лишь чуть-чуть сложней, т.к. эти наборы знаков группируются в разных районах таблицы кодировки. Разделить на 2 класса, дальше - см. выше.

    Upd2: в английских Unicode-тестах через байт встречаются 0, в русских - 4. Если за-NOP-анно, значит, это будут FF и FB.

    Upd3: есть еще один способ. Про-NOT-ить набор данных и посмотреть глазками. :)
     
  6. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    drmad
    тогда уж можно просто посмотреть без not
     
  7. OLS

    OLS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2005
    Сообщения:
    322
    Адрес:
    Russia
    Есть 2 кодировки Unicode :

    UTF-16 - все символы имеют постоянный размер в 16 бит, поэтому анализировать проще всего старший (каждый второй) байт; в нешифрованном виде у латиницы там будет 0x00, у кириллицы - 0x04 (т.к. у нее коды 0x0410-0x043F);

    UTF-8 - код переменной длины : латиница, цифры, знаки препинания (в общем с 0 по 127-ой) кодируются одним байтом аналогично ASCII - анализируйте старший бит, кириллица попадает в двухбайтовые кодовые комбинации, здесь у нее старший байт чаще всего будет 0xD0 или 0xD1