Blowfish

В криптографията Blowfish е симетричен блоков шифър с ключове, създаден през 1993 г. от Брус Шнайер, който от 1993 г. насам е включен (съставен) в голям брой продукти за криптиране. Blowfish има добър коефициент на криптиране в софтуер и до 2008 г. не е открит модел на криптоаналитична атака срещу него. Въпреки това, алгоритъмът за блоков шифър AES сега се радва на по-голямо внимание.

Шнайер създава Blowfish като алгоритъм с общо предназначение, който да се използва като заместител на стария алгоритъм DES и да отстрани проблемите и трудностите на други алгоритми за криптиране. По времето, когато Blowfish беше пуснат, много други алгоритми бяха патентовани или представляваха тайни. Шнайер заяви, че "Blowfish не е патентован и ще остане такъв във всички страни. С това алгоритъмът се поставя в публичното пространство и може да се използва свободно от всеки".

Основните характеристики на дизайна включват зависими от ключа S-boxes и много сложен график на ключовете. Blowfish е един от най-бързите блокови шифри, използвани от много хора, освен при смяна на ключовете. Всеки нов ключ трябва да бъде предварително обработен, което отнема същото време като криптирането на около 4 килобайта текст, което е много бавно в сравнение с други блокови шифри. Това спира използването му в някои приложения (например в най-малките вградени системи като първите смарткарти), но не е проблем в други приложения. В едно от приложенията това всъщност е добре: методът за криптиране на пароли, използван в OpenBSD, използва алгоритъм, който идва от Blowfish и използва бавния график на ключа; идеята е, че изискваните допълнителни изчислителни усилия дават защита срещу речникови атаки. Вижте укрепване на ключа.

Blowfish има 64-битов размер на блока и променлива дължина на ключа от 0 до 448 бита Той е 16-рундов шифър на Фейстел и използва големи S-боксове, зависещи от ключа. Структурата му е подобна на тази на CAST-128, който използва фиксирани S-боксове.

През 1996 г. Серж Водени открива атака с известен текст, за чието разбиване са необходими 28r + 1 известни открити текста, където r е броят на рундовете. Освен това той открива и клас слаби ключове, които могат да бъдат открити и разбити чрез същата атака само с 24r + 1 известни открити текста. Тази атака не може да се използва срещу обикновения Blowfish; тя предполага познаване на зависимите от ключа S-боксове. Винсент Раймен в своите докторски работи въвежда диференциална атака от втори ред, която може да разбие четири кръга и не повече. Все още не е известен начин за разбиване на пълните 16 кръга, освен търсене с груба сила. През 1996 г. е открита грешка в разширяването на знака в един от публикуваните кодове на C.

До 2008 г. не е известен публично добър криптоанализ на пълната версия на Blowfish. През 2007 г. обаче Брус Шнайер отбелязва, че макар Blowfish все още да се използва, той препоръчва вместо него да се използва новият алгоритъм Twofish

Свързани страници

Въпроси и отговори

В: Какво е Blowfish?


О: Blowfish е симетричен блоков шифър с ключове, създаден през 1993 г. от Брус Шнайер. Оттогава той е включен в много продукти за криптиране.

В: За какво е създаден Blowfish?


О: Blowfish е създаден като алгоритъм с общо предназначение, който да замени стария алгоритъм DES и да отстрани проблемите и трудностите на други алгоритми за криптиране.

В: Колко дълга може да бъде дължината на ключа за Blowfish?


О: Дължината на ключа за Blowfish може да варира от 0 до 448 бита.

В: Какви са някои особености на дизайна на Blowfish?


О: Някои особености на дизайна включват зависими от ключа S-боксове и много сложен график на ключовете.

Въпрос: Известен ли е криптоанализ на версията с пълен кръг на Blowfish?


О: Към 2008 г. не е известен начин за разбиване на пълните 16 кръга, освен търсене с груба сила.

Въпрос: Какъв тип атака срещу Blowfish е открил Серж Водени?


О: Serge Vaudenay откри атака с познат текст, която се нуждае от 28r + 1 познати открити текстове, където r е броят на рундовете. Той също така открива клас слаби ключове, които могат да бъдат открити и разбити чрез същата атака само с 24r + 1 известни открити текста.

Въпрос: Препоръчва ли Брус Шнайер сега да се използва Twofish вместо Blowfish?


О: Да, Брус Шнайер препоръчва сега да се използва Twofish вместо Blowfish поради подобрените му мерки за сигурност в сравнение с по-стари алгоритми като DES или дори по-нови като AES.

AlegsaOnline.com - 2020 / 2023 - License CC3