Skein

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Skein (англ. Skein) — алгоритм хешування змінної розрядності, розроблений групою авторів на чолі з Брюсом Шнайєром.

Хеш функція Skein виконана як універсальний криптографічний примітив, на основі блочного шифру Threefish, що працює в режимі UBI-хешування. Основною концепцією розробки була оптимізація під мінімальне використання пам'яті, криптографічно безпечне хешування невеликих повідомлень, стійкість до всіх відомих атак на хеш-функції, оптимізація під 64-розрядні процесори й активне використання звернень до таблиць.

Skein підтримує розміри внутрішнього стану 256, 512 і 1024 біт і розмір вихідного блоку до 2 64 −1 біт. Автори заявляють про 6.1 такт на байт для будь-якого розміру вихідного блоку на ПК з процесором Intel Core 2 Duo. З числа кандидатів на SHA-3 Skein входить в п'ятірку найшвидших, проте є лідером лише в 64-розрядному варіанті, який перевершує за швидкісними характеристика 32-розрядний у більш ніж чотири рази. Це пояснюється тим, що автори спочатку орієнтувалися на оптимізацію під 64-розрядні процесори.[1]

Skein-512 може бути реалізована з використанням всього 200 байт пам'яті, Skein-256 — 100 байт, що оптимально для апаратної реалізації алгоритму в смарт-картах.[2]

Як заявляють автори, хеш-функція Skein на поширених процесорах працює в середньому два рази швидше SHA-512, Threefish в два рази швидше AES.

Skein захищена від нових видів атак на хеш-функцій — підбору подовжених повідомлень і псевдоколізій.

Threefish, що лежить в основі Skein має дуже просту структуру і може бути використаний для заміни алгоритмів блочного шифрування, будучи швидким і гнучким шифром, що працює в довільному режимі шифрування. Сам Threefish не використовує S-блоки, натомість покладається на комбінації інструкцій XOR, складання і циклічного зсуву.

Примітки[ред.ред. код]

Посилання[ред.ред. код]