Кіріспе

Фейстель желісіне негіделген блок шифрі

Криптографияда Камелия – 128 биттік блок өлшемі және 128, 192 және 256 биттік кілт өлшемдері бар симметриялық кілттік блок шифрі. Ол Mitsubishi Electric және NTT (Жапония) компаниялары бірлесіп әзірлеген. Шифр ISO/IEC, Еуропалық Одақтың NESSIE жобасы және Жапонияның CRYPTREC жобасы қолдануға мақұлданған. Шифрдың қауіпсіздік деңгейі мен өңдеу мүмкіндіктері Advanced Encryption Standard-қа (AES) баламалы. Шифр бағдарламалық және аппараттық жүзеге асырулар үшін, төмен құнмен жасалған смарт-карталардан бастап жоғары жылдамдықты желі жүйелеріне дейін қолайлы болу үшін жобаланған. Ол Интернет сияқты компьютерлік желілерде байланыс қауіпсіздігін қамтамасыз етуге арналған Транспорттық қабаттық қауіпсіздік (TLS) криптографиялық протоколының бір бөлігі болып табылады. Шифр ұзақ өмір сүруімен белгілі және Жапонияда әзірленген Камелия жапоника гүлінің құрметіне аталған.

Дизайн

Камелия – 18 раундтан (128 биттік кілттерді пайдаланғанда) немесе 24 раундтан (192 немесе 256 биттік кілттерді пайдаланғанда) тұратын Фейстель шифры. Әр алты раунд сайын логикалық түрлендіру қабаты қолданылады: «FL функциясы» немесе оның кері функциясы. Камелия кіріс және шығыс аффиндік түрлендірулерімен және логикалық операцияларымен жұмыс жасайтын төрт 8x8 биттік S-қораптарды пайдаланады. Шифр кіріс және шығыс кілттерін ақтартуды да қолданады. Диффузиялық қабатта тармақ саны 5 болатын матрицаға негізделген сызықтық түрлендіру қолданылады.

Қауіпсіздік талдау

Камелия – заманауи, қауіпсіз шифр. Кілттің кіші мөлшері (128 бит) қолданылғанда да, қазіргі технологиямен кілттерге күшпен шабуыл жасау арқылы оны бұзу мүмкін емес деп есептеледі. Шифрды елеулі түрде әлсірететін сәтті шабуылдар белгілі емес. Шифр ISO/IEC, Еуропалық Одақтың NESSIE жобасы және Жапонияның CRYPTREC жобасы қолдануға мақұлданған. Жапон шифры AES/Rijndael шифрымен салыстырылатын қауіпсіздік деңгейі мен өңдеу мүмкіндіктеріне ие. Камелия (сондай-ақ AES) S-қораптарын 80 мүшелі 23 квадраттық теңдеулер жүйесімен сипаттауға болады. Кілт кестесін сызықтық және квадраттық мүшелерді қолдана отырып, 768 айнымалыдағы теңдеулермен сипаттауға болады. Бұл Камелия шифрын 2006 жылдың қарашасынан бастап ашық лицензия бойынша OpenSSL жобасының бөлігіне енгізуге мүмкіндік берді. Ол сондай-ақ Mozilla-ның NSS (желілік қауіпсіздік қызметтері) модуліне қосылды. (Firefox 33 нұсқасында 2014 жылы «Шығындарды өзгерту туралы ұсыныс» аясында әдепкі бойынша өшірілді және 2015 жылғы 37 нұсқасынан алынып тасталды). Pale Moon, Mozilla/Firefox-тың түйінді нұсқасы, Camellia қолдауын жалғастыруда және Galois/Counter режимі (GCM) жиынтықтарын қосу үшін қолдауды кеңейтті, бірақ 27.2.0 нұсқасымен GCM режимдерін қайтадан жойды, оларға қызығушылықтың жоқтығын атап өтті. Кейін 2008 жылы FreeBSD Release Engineering тобы шифрдың FreeBSD 6.4 RELEASE-ке енгізілгенін хабарлады. Сонымен қатар, Камелия шифрына қолдау FreeBSD-дің дискілік шифрлау сақтау класына Йошисато Янагисава қосты. 2009 жылдың қыркүйегінде GNU Privacy Guard 1.4.10 нұсқасында Камелияны қолдады. VeraCrypt (TrueCrypt-тың түйінді нұсқасы) Камелияны өзінің қолдайтын шифрлау алгоритмдерінің бірі ретінде қосты. Сонымен қатар, Crypto++, GnuTLS, mbed TLS және OpenSSL сияқты көптеген танымал қауіпсіздік кітапханалары да Камелияны қолдайды. Thales және Bloombase өздерінің деректерді шифрлау ұсыныстарымен Камелия шифрын қолдайды. 2013 жылдың 26 наурызында Камелия Жапонияда жасалған жалғыз 128 биттік блок шифры ретінде Жапонияның жаңа электрондық үкіметінің ұсынылатын шифрлар тізіміне қайта қабылданып, таңдалды. Бұл CRYPTREC тізімінің 10 жылдан бері алғаш рет жаңартылуымен сәйкес келеді. Таңдау Камелияның сатып алудың қарапайымдығы, қауіпсіздігі және өнімділігі сияқты артықшылықтарына негізделді, олар Advanced Encryption Standard (AES) сияқты деңгейде. Камелия толыққанды іске асырылуында бұзылмаған күйде қалады. FL/FL−1 қабаттары жоқ 12 раундты Камелияға қатысты мүмкін емес дифференциалдық шабуыл бар.

Өнер көрсету

Камелия қолданатын S қораптары AES-тің S қорабымен ұқсас құрылымға ие. Осының нәтижесінде, аффиндік изоморфизмді пайдалану арқылы, AES үшін арналған CPU нұсқаулық жиынтықтарын, мысалы x86 AES NI немесе x86 GFNI, қолданып Camellia бағдарламалық қамтамасын жеделдетуге болады.