Sinople
Розробники | Філіп Пакет |
---|---|
Уперше оприлюднений | 2003 р. |
Раундів | 32 |
Тип | Незбалансована Мережа Фейстеля |
Sinople — симетричний блоковий криптоалгоритм, побудований на основі незбалансованої « мережі Фейстеля». Алгоритм розроблено у 2003 році.
Основні вимоги до алгоритму при його розробці:
- Можливість програмної і апаратної реалізації
- Висока швидкість
- Простота
- Низькі вимоги до пам'яті
- Високий рівень безпеки
Алгоритм заснований на 32-розрядних операціях і має 64 раунду, серед яких два типи — C і D. D раунди спроектовані для досягнення максимальної дифузії, C раунди — для досягнення перемішування. F-функція D раунду використовує один з елементів блоку даних (D [3]) та поточного з'єднання (K [r]) для трансформації 3-х елементів блоку даних. F-функція C раунду, навпаки, використовує перші три елемента блоку даних і поточний з'єднання (K [r]) для трансформації останнього елемента блоку даних (D [3]). Раунди D-типу виконуються до раундів C-типу. Додавання ключів з даними проводиться тільки через таблиці замін. Операції XOR (додавання по модулю 2) обов'язково поєднуються з операціями ADD (додавання по модулю 2 32 ).
Таблиці замін спочатку запозичені з алгоритму MARS і містять 512 32-розрядних елементів, проте були жорстко проаналізовано на предмет посилення.
Ключове розклад було спроектовано з урахуванням вимог:
- Простота
- Використовується та ж процедура, що і при шифруванні та розшифрування
- Установка ключа займає менше часу, ніж зашифрування
- Виключення еквівалентних ключів
- Виключення слабких ключів
Алгоритм, згідно із заявою авторів, стійкий до лінійного і диференціального аналізу.
- Авторське опис шифру [Архівовано 15 липня 2011 у Wayback Machine.]
- Оригінальний текст алгоритму на C
- Оригінальний текст алгоритму на Delphi [Архівовано 4 березня 2016 у Wayback Machine.]