Кіріспе

Ағынды шифр. Rabbit – 2003 жылы құрастырылған жоғары жылдамдықты ағынды шифр. Алгоритмі мен бастапқы коды 2008 жылы тегін бағдарламалық қамтамасыз ету ретінде жарияланды.

Тарих

Rabbit алғаш рет 2003 жылдың ақпан айында 10-шы FSE семинарында таныстырылды. 2005 жылдың мамыр айында ол ECRYPT желісінің eSTREAM жобасына жіберілді. Rabbit-ті Мартин Боесгаард, Метте Вестерагер, Томас Педерсен, Джеспер Кристиансен және Ове Скавениус жасаған. Шифрдың авторлары Cryptico веб-сайтында криптоанализ жөніндегі ақ парақтардың толық жиынтығын жариялады. Ол RFC 4503-те де сипатталған. Cryptico алгоритмге патент алған және көп жыл бойы шифрды коммерциялық мақсатта пайдалану үшін лицензиялық төлем қабылдады, бірақ коммерциялық емес пайдалану үшін төлем талап етілмеді. Дегенмен, 2008 жылдың 6 қазанында алгоритм кез келген мақсатта қолдануға тегін берілді. Сондай-ақ, веб-сайтта алгоритм мен оның іске асылуы қоғамдық домендегі бағдарламалық қамтамасы екені және бастапқы кодты тегін жүктеуге болатыны көрсетілген.

Функционалдылығы

Rabbit 128 биттік кілт пен 64 биттік инициализациялық векторды пайдаланады. Шифр бағдарламалық қамтамасызда жоғары өнімділікті ескере отырып жасалған, толықтай оңтайландырылған нұсқалары Pentium 3 процессорда 3,7 cpb-ға дейін, ал ARM7 процессорда 9,7 cpb-ға дейін шифрлау шығындарын қамтамасыз етеді. Алайда, шифр аппараттық құралдарда да өте жылдам және ықшам болып келеді. Шифрдың негізгі құралы – әр итерацияда 128 биттік хабарды шифрлейтін биттік ағын генераторы. Шифрдің қауіпсіздігі екі тізбекті итерация арасындағы ішкі күйдің күшті араласуына негізделген. Араластыру функциясы қазіргі заманғы процессорларда қолжетімді арифметикалық операцияларға толығымен негізделген, яғни шифрды жүзеге асыру үшін S-қораптары немесе іздеу кестелері қажет емес. Араластыру функциясы арифметикалық квадраттауға негізделген g функциясын және ARX операцияларын пайдаланады: логикалық XOR, белгілі бір мөлшерде біттерді айналдыру және 232 модулі бойынша қосу. Rabbit-те қолданылатын g функциясы – 32 биттік санды 64 биттік сан алу үшін квадраттап, содан кейін осы квадратталған санның сол жақ және оң жақ жартыларын XOR арқылы біріктіріп, 32 биттік нәтиже алу – сол квадратталған санның ортаңғы 32 битін пайдаланудан (ортаңғы квадрат әдісі) әлдеқайда жақсы нәтижелер береді.

Қауіпсіздік

Rabbit атаулы кілтті нысанаға алған шабуылшыларға қарсы 128 биттік қауіпсіздікпен қамтамасыз етеді. Егер шабуылшы бірден көптеген кілттерді нысанаға алса және қайсысын бұзатыны маңызды болмаса, кішкентай IV мөлшері қауіпсіздік деңгейін 96 битке дейін төмендетеді. Бұл жалпы TMD шабуылдарының салдарынан туындайды. Rabbit шығысында шамалы қиылыс бар, нәтижесінде Жан Филипп Аумасон 2006 жылдың желтоқсан айында 2247 күрделілігі бар ерекшелендіруді анықтады. Бұл ерекшелендіру 2008 жылы 2158-ге дейін жақсартылғанымен, оның күрделілігі кілт кеңістігінің (2128) күшпен сынаудан әлдеқайда жоғары болғандықтан, Rabbit қауіпсіздігіне қауіп төндірмейді.