Алгоритм GTEA - новый симметричный криптоалгоритм

Тема в разделе "WASM.CRYPTO", создана пользователем alexanderwm, 28 фев 2009.

  1. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Алгоритм GTEA является блочным шифром с размером блока 128 бит и переменной длиной ключа 256..4096 бит. Пространство ключей алгоритма - не плоское. Алгоритм использует таблицу замены (S-Box) величиной от 4x256 до 256×256 байтов. Общая структура алгоритма напоминает сеть Фейстеля, но не является ей.

    Описание алгоритма можно найти здесь...

    Исходник алгоритма и всех его модификаций на C прилагается.

    Последняя версия шифра всегда здесь
     
  2. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Статистический тест последней редакции шифра (2.1 от 02.03.2009) утилитой ENT

    Код (Text):
    1. Entropy = 8.000000 bits per byte.
    2.  
    3. Optimum compression would reduce the size
    4. of this 1073741824 byte file by 0 percent.
    5.  
    6. Chi square distribution for 1073741824 samples is 278.32, and randomly
    7. would exceed this value 15.11 percent of the times.
    8.  
    9. Arithmetic mean value of data bytes is 127.4971 (127.5 = random).
    10. Monte Carlo value for Pi is 3.141617340 (error 0.00 percent).
    11. Serial correlation coefficient is -0.000001 (totally uncorrelated = 0.0).
     
  3. um0v

    um0v New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    32
    offtop:
    Cartman Cipher - это ,конечно, здорово :)
     
  4. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Куда же нынче без юмора! Cartman - это больше прикол, чем шифр, своего рода нестандартное явление в сфере крипто, хотя последние редакции показывают хорошие результаты в статистических тестах. GTEA - серьезная идея, при этом - довольно компактная (если не говорить от таблицах подстановки, хотя sbox может быть и довольно компактным)
     
  5. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    alexanderwm
    >> Статистический тест последней редакции шифра
    Насколько я помню, ENT предназначен для оценки качества случайности псевдослучайных генераторов.
    Блочный симметрик конечно можно использовать в качестве генератора, но пардон, этож не поточный шифр.

    Как именно была получена та последовательность, что дала такие забавные результаты в ENT?

    Кстати, у меня он на C2D 2.2 скомпиленный ICC 11.0 выдает просто кошмарно маленькую скорость шифрования: 15Мб/с
    Это так и надо?
     
  6. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    0. ent может показать только грубейшие ошибки, о безопасности блочного шифра (да и поточного) он, конечно, ничего не скажет, но, к примеру, помог выбрать оптимальные константы для сдвигов

    1. тест проведен самым наипростейшим методом, см. прикрепленный файл, OFB даст практически идентичные результаты

    2. на 32 полных циклах она и правда кошмарная (особенность применяемых операций и самой конструкции цикла)
     
  7. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    OFB от IV, сдвиги 6 и 9, FIXED_ROTATE

    Код (Text):
    1. Entropy = 8.000000 bits per byte.
    2.  
    3. Optimum compression would reduce the size
    4. of this 1073741824 byte file by 0 percent.
    5.  
    6. Chi square distribution for 1073741824 samples is 263.92, and randomly
    7. would exceed this value 33.73 percent of the times.
    8.  
    9. Arithmetic mean value of data bytes is 127.5039 (127.5 = random).
    10. Monte Carlo value for Pi is 3.141437185 (error 0.00 percent).
    11. Serial correlation coefficient is 0.000053 (totally uncorrelated = 0.0).
    сдвиги 4 и 5, зависимая от данных ротация (результат лучше, чем у AES в такой же конструкции, хотя это ничего не значит)

    Код (Text):
    1. Entropy = 8.000000 bits per byte.
    2.  
    3. Optimum compression would reduce the size
    4. of this 1073741824 byte file by 0 percent.
    5.  
    6. Chi square distribution for 1073741824 samples is 274.00, and randomly
    7. would exceed this value 19.75 percent of the times.
    8.  
    9. Arithmetic mean value of data bytes is 127.5012 (127.5 = random).
    10. Monte Carlo value for Pi is 3.141497825 (error 0.00 percent).
    11. Serial correlation coefficient is 0.000011 (totally uncorrelated = 0.0).
     
  8. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    У меня получилось примерно так, считалка работает в double precision:
    Код (Text):
    1. Statistics:
    2.         Entropy            : 7.9999998227
    3.         Serial correlation : 0.0000528813
    4.         Arithmetic mean    : 127.50391474 (0.00307%)
    5.         MonteCarlo PI      : 3.1414371846 (0.004949%)
    6.         Monobit delta      : 0.0000148722
    Впрочем о надежности шифра это вообще ничего не скажет.
    Скорость удручает: для практического применения увы, не пригодно.

    AES key:256 CFB 90.224370 Mb/s
    RC6 key:256 CFB 122.398007 Mb/s
    TwoFish key:256 CFB 96.833110 Mb/s
    Serpent key:256 CFB 40.731983 Mb/s
     
  9. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Ага, у меня энт в обычном режиме, с офсайта.

    Скорость конечно.. Тут даже на 16 циклах с state-of-art шифрами не сравниться.
    Но, ведь этот алгоритм - пока просто идея. Как говориться, Таганрог не сразу строился..

    А какая у вас скорость на 16 циклах?
     
  10. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    Ну, удачи.
    Тока тогда наверное сконцентрируйся на анализе криптостойкости а не рандомности.
     
  11. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Спасибо! Это верно, рэндомность она только для генератора важна, а четкую зависимость отследить сложно.

    Вот например, результат для FIXED_ROTATE / 16 cycles / shl = 4, shr = 5 / sizeshift 6


    Код (Text):
    1. Entropy = 8.000000 bits per byte.
    2.  
    3. Optimum compression would reduce the size
    4. of this 1073741824 byte file by 0 percent.
    5.  
    6. Chi square distribution for 1073741824 samples is 258.29, and randomly
    7. would exceed this value 43.07 percent of the times.
    8.  
    9. Arithmetic mean value of data bytes is 127.4991 (127.5 = random).
    10. Monte Carlo value for Pi is 3.141625900 (error 0.00 percent).
    11. Serial correlation coefficient is 0.000005 (totally uncorrelated = 0.0).
    Вот например, результат для FIXED_ROTATE / 16 cycles / shl = 4, shr = 5 / sizeshift 5

    Код (Text):
    1. Entropy = 8.000000 bits per byte.
    2.  
    3. Optimum compression would reduce the size
    4. of this 1073741824 byte file by 0 percent.
    5.  
    6. Chi square distribution for 1073741824 samples is 283.65, and randomly
    7. would exceed this value 10.50 percent of the times.
    8.  
    9. Arithmetic mean value of data bytes is 127.5020 (127.5 = random).
    10. Monte Carlo value for Pi is 3.141444650 (error 0.00 percent).
    11. Serial correlation coefficient is -0.000004 (totally uncorrelated = 0.0).
     
  12. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    моя прога ник фронт ру crc32.rar выдает нормированные энтропию и хи-кавадрат.
    Если отличается сильно от единицы - то значит случаемость плохая.
    Тут наверное 278/256 = 1.09 - хорошая.
     
  13. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Интересно, какая прога?
     
  14. OLS

    OLS New Member

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

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Есть какие-нибудь реальные предложения по атакам? Пока не нашлось никого, кто мог быть предложить что-либо, кроме и так очевидных вещей о скоростных и структурных особенностях :)

    Кстати, спектральный анализ воды может очень многое о примесях сказать, а для специалиста - и цвета достаточно. А серьезно, с нашей коммуналкой и специалистом быть не нужно, чтобы определить наличие извести, масел, частиц железа, а иногда ртути и ПАВ :)
     
  16. OLS

    OLS New Member

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

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    прога с глупым названием CRC32.exe, сначала она вычисляла только CRC32 и отсюда получила свое название. Потом я встявил туда пару других хешей, но название осталось.
    С ключем CRC32 -e она выдает нормированные энтропию и ХИ-КАВАДРАТ, поэтому голова не болит. Интересно, что она легко отличает шифрованные и просто сжатые данные.
    Хотя в обоих случаях энтропия подстать 100% и файлы несжимаемые, но вот ХИ-КАВАДРАТ очень чувствителен, у архивов без шифра он много-много больше единицы. могу еще какой-нить параметр вставить, если знать как считать и для чего он нужен.
     
  18. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Об этом было сказано ни один раз, тесты - не для оценки стойкости или надежности, тесты используются для отладки различных параметров. Думаю, всем известно о правильной интерпретации таких тестов. Тем более, если говорить не просто о эффективности рассеивания, а о таком свойстве, как стойкость. Я думаю, тут вообще ни один из статистических тестов шифра, как поточного, так и блочного в режиме OFB генерации ключевого потока ничего не скажет. Одно дело статистика, другое дело - наличие уязвимостей и потенциальная возможность атак.
     
  19. alexanderwm

    alexanderwm New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    43
    Отличная идея, посмотрю как-нибудь и протестирую некоторые шифры в OFB режиме, попробую найти зависимость.

    P.S. ХИ-КАВАДРАТ в CRC32 действительно вычисляется аналогично ENT, соответственно корректно.
     
  20. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    А можно лог какие именно цифры у вас получились? Мне было бы приятно посмотреть =)))
    GTEA пока не компилил...