Кіріспе
Блок шифрі
блок шифрі алгоритмі
the block cipher algorithm
Криптографияда FROG – Георгудис, Леру және Чавес авторлық құқығына ие блок шифрі. Алгоритм 8 пен 128 байт аралығындағы кез келген блок өлшемімен жұмыс істей алады және 5 пен 125 байт аралығындағы кілт өлшемдерін қолдайды. Алгоритм 8 раундтан тұрады және өте күрделі кілт кестесіне ие. 1998 жылы Коста-Рикалық бағдарламалық қамтамасыз ету компаниясы TecApro оны AES конкурсына Advanced Encryption Standard стандарты болуға үміткер ретінде ұсынды. Вагнер және тағы басқалар (1999) FROG үшін бірнеше әлсіз кілт кластарын анықтады. Басқа мәселелерге кілтті орнатудың өте баяу болуы және салыстырмалы түрде баяу шифрлау кіретін. FROG финалист ретінде таңдалмады.
Georgoudis, Leroux and Chaves. The algorithm can work with any block size between 8 and 128 bytes, and supports key sizes between 5 and 125 bytes. The algorithm consists of 8 rounds and has a very complicated key schedule. It was submitted in 1998 by TecApro, a Costa Rican software company, to the AES competition as a candidate to become the Advanced Encryption Standard. Wagner et al. (1999) found a number of weak key classes for FROG. Other problems included very slow key setup and relatively slow encryption. FROG was not selected as a finalist.
Құрылыс философиясы
Көбінесе блок шифрі ашық мәтін мен құпия кілтке бастапқы математикалық немесе логикалық операторлардың (мысалы, қосу, XOR және т.б.) белгілі бір тізбегін қолданады, нәтижесінде шифрланған мәтін шығарылады. Шабуылшы бұл білімді шифрдегі әлсіз тұстарды іздеу үшін пайдаланады, бұл ашық мәтінді қалпына келтіруге мүмкіндік береді. FROG-тың жобалау философиясы – шифрдің өзі белгілі болғанымен, бастапқы операциялардың нақты тізбегін жасыру. Басқа шифрлер құпия кілтті тек дерек ретінде қолданса (шифрланған мәтін жасау үшін ашық мәтінмен біріктіріледі), FROG кілтті дерек ретінде де, сондай-ақ осы деректерді қалай біріктіру керектігі туралы нұсқау ретінде де пайдаланады. Іс жүзінде FROG кілттің кеңейтілген нұсқасын бағдарлама ретінде қолданады. FROG өзі интерпретатор ретінде жұмыс істейді, ол осы кілтке тәуелді бағдарламаны ашық мәтінге қолданып, шифрланған мәтін шығарады. Шифрды жою шифрланған мәтінге кері бағытта сол бағдарламаны қолдану арқылы жүзеге асырылады.
Сипаттама
FROG кілті кестесі (немесе ішкі кілт) 2304 байтты құрайды. Ол бос қара мәтінге FROG-ты итеративті түрде қолдану арқылы рекурсивті түрде жасалады. Нәтижесіндегі блок 8 жазбасы бар дұрыс форматталған ішкі кілтті алу үшін өңделеді. FROG 8 раундтан тұрады, әр раундтың амалдары ішкі кілттегі бір жазбамен кодталған. Барлық амалдар байттық кеңістікте орындалады және XOR және алмастыру операцияларынан тұрады. FROG-ты іске асыру өте оңай (анықтамалық C нұсқасының коды шамамен 150 жолдан ғана тұрады). FROG-ты іске асыруға қажетті кодтың көп бөлігі құпия ішкі кілтті жасауға жұмсалады; ал ішкі шифрдің өзі өте қысқа кодтан тұрады. FROG шифрлау мен дешифрлеуді толықтай орындайтын, бар болғаны 22 машиналық нұсқаудан тұратын құрастыру процедурасын жазу мүмкін. Бұл орындалу 8 биттік процессорларда жақсы жұмыс істейді, себебі ол тек байт деңгейіндегі нұсқауларды қолданады. Бір биттік операциялар қолданылмайды. Ішкі кілт есептелгеннен кейін алгоритм жеткілікті жылдам: 8086 құрастырғышында іске асырылған нұсқа 200 МГц Pentium компьютерінде секундтына 2,2 мегабайттан астам өңдеу жылдамдығына жетеді.
Қауіпсіздік
FROG-тың дизайн философиясы күтпеген/белгісіз типтегі шабуылдарға қарсы қорғануға бағытталған. Дегенмен, кілт шифрлау бағдарламасы ретінде қолданылуы, кейбір кілттердің әлсіз шифрлау бағдарламаларымен сәйкес келуі мүмкін. Дэвид Вагнер және авторлар тобы кілттердің 2−33 бөлігінің әлсіз екенін және осы жағдайларда кілтті 258 таңдалған ашық мәтін арқылы бұзуға болатындығын анықтады. FROG-тың тағы бір кемшілігі – шифрлау функциясына қарағанда, шифрды ашу функциясының таралуы өте баяу. Бұл жағдайда кілттердің 2−29 бөлігі әлсіз және 236 таңдалған шифрмәтін қолданып бұзуға болады.