Կամելիա (անգլ.՝ Camellia, ճապ.՝ カメリア), 128֊բիթանի սիմետրիկ բանալիով գաղտնագրման ալգորիթմ, ծրագրավորված համատեղ Միցուբիշիի և Ճապոնիայի «Նիպոն հեռագիր և հեռախոս» ընկերության (անգլ.՝ Nippon Telegraph and Telephone) կողմից։ Ալգորիթմը որակավորված է ISO/IEC֊ի, Եվրոպական Միության NESSIE նախագծի և Ճապոնական CRYPTREC նախագծի կողմից։ Ալգորիթմն ունի անվտանգության և գործունեության ունակությաններ համեմատելի AES֊ի հետ (անգլ.՝ Advanced Encryption Standard)[1]:
Կամելիայի բլոկի չափը 16 բայթ է (128 բիթ), և կարող է օգտագործել 128, 192 կամ 256֊բիթանոց բանալի։ Այս բլոկային գաղտնագրման ալգորիթմն նախագծված է այնպես, որ լինի կիրառելի և՛ ծրագրայնապես, և՛ տեխնիկապես, էժան սմարթ քարդերից մինչև գերարագ ցանցային համակարգեր[2]։
Կամելիան Ֆայստելյան ցանցով գաղտնագրման ալգորիթմ է կա՛մ 18 շրջապտույտով (128֊բիթանոց բանալու դեպքում), կա՛մ 24 շրջապտույտով (192 կամ 256֊բիթանոց բանալու դեպքում)։ Ամեն վեցերորդ շրջապտույտին տրամաբանական ձևափոխության շերտն է կիրառվում, այսպես կոչված «FL֊ֆունկցիան» կամ դրա հակադարձը։ Կամելիան օգտագործում է ներածման ու արտածման նմանության ձևափոխոխությունների (անգլ.՝ affine transformations, ռուս.՝ аффинное преобразование) չորս 8 x 8֊բիթանոց S-box֊եր և տրամաբանական գործողություններ։ Այն նույնպես օգտագործում է մուտքի և ելքի key whitening։ Կրիպտոգրաֆիկական դիֆուզիայի շերտը օգտագործում է Մատրիցի վրա հիմնված գծային ձևափոխումներ։
Կամելիան բլոկային գաղտնագրիչ է, որն ամբողջովին հնարավոր է արտահայտել բազմափոփոխական համեմատությունների չառանչվող համակարգերով[3]։
Կամելիայի (ինչպես նաև AES֊ի) S-box֊երը հնարվոր է ներկայացնել 80 համեմատությունների մեջ 23 քառակուսային հավասարումների մի համակարգի տեսքով[4]։
Ենթաբանալիների ստեղծման ալգորիթմը (անգլ.՝ key schedule) հնարավոր է ներկայացնել 768 փոփոխականների մեջ 1120 հավասարումներով օգտագործելով 3328 գծային և քառակուսային համեմատություններ[3]։
Ամբողջ բլոկային գաղտնագրիչը հնարավոր է ներկայացնել 2816 փոփոխականներում 5104 հավասարումներով օգտագործելով 14592 գծային և քառակուսային համեմատություններ[3]։
Հանրագումարում պահանջվում է 6224 հավասարումներ 3584 փոփոխականերում օգտագործելով 17920 գծային և քառակուսային համեմատություններ[3]։
Չորոշված փոփոխականների թվաքանակը լինում է 11696, որը մոտովոր նույնն է ինչ AES֊ի դեպքում։
Թեորիապես այսպիսի տեխնիկական տվյալները հնարավոր են դարձնում ապագայում Կամելիայի (և AES֊ի) ապակոդավորումը օգտագործելով հանրահաշվական հարձակումներից այնպիսին ինչպիսին է XSL֊ը։ Ներկայիս տեխնիկական միջոցներով նման հարձակումը կտևի տարիներ։
Չնայած նրան, որ Կամելիան արտոնագրված է, այն հնարավոր է օգտագործել առանց հեղինակին տուրք վճարելու[5]։ Այս կարգավիճակը (անգլ.՝ royalty-free license) թույլ տվեց նրան 2006 թվականի նայեմբերից դառնալու OpenSSL նախագծի մասը բաց ելակետային կոդով ԾԱ֊ի արտոնագրով (անգլ.՝ open-source license)[6]: Դա նույնպես թույլ է տվել դառնալու Մոզիլայի NSS մոդուլի մասը (անգլ.՝ Network Security Services)[7]:
Կամելիայի աջակցումն ավելացվել է Մոզիլա Ֆայրֆոքս 3֊ի վերջին թողարկման մեջ 2008 թվականին[7]։
Ավելի ուշ այդ տարի, FreeBSD֊ի թողարկումների ինժեներական թիմը հայտարարեց, որ գաղտնագրող ալգորիթմն ընդգրկվել է FreeBSD 6.4 թողարկման մեջ։ Նաև Կամելիայի աջակցումն ավելցվել էր FreeBSD֊ի սկավառակի գաղտնագրման հիշողության կլասի geli֊ին Յոշիսատո Յանագիսավայի կողմից[8]։
2009 թվականի սեպտեմբերին GNU Privacy Guard֊ը տարբերակ 1.4.10֊ում ավելացրեց Կամելիայի աջակցումը[9]։
Բացի այդ, տարբեր հայտնի անվտանգության փաթեթներ, ինչպիսիք են Crypto++֊ը, GnuTLS֊ը, PolarSSL֊ը և OpenSSL֊ը, նայնպես ընդգրկում են Կամելիան։
2013 թվականի մարտի 26֊ին վերընդգրկվել էր Ճապոնիայի էլ֊Կառավարության խորհուրդ տրվող գաղտնագրման ալգորիթմների նոր ցուցակում որպես միակ 128֊բիթային բլոկային գաղտնագրիչ։ Սա զուգադիպել է CRYPTREC֊ի ցուցակի 10 տարին մեկ թարմացվելու հետ։ Ընտրությունը կատարվել է հիմնվելով Կամելիայի հեշտ ձեռք բերման, անվտանգության և արագագործության բարձր հեղինակության համար, որոնք մրցունակ են AES֊ի հետ։ Կամելիան դեռ մնում է անապակոդավորելի իր ամբողջական կիրառմամբ[10]։ Անհնարին դիֆերենցիալ հարձակումը 12 շրջապտույտանի առանց FL/FL−1 շերտերի Կամելիայի վրա գոյություն չունի[11]։
↑RFC 4132 Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
↑ 3,03,13,23,3
Alex Biryukov, Christophe De Canniere (2003), «Block ciphers and systems of quadratic equations», Lecture Notes in Computer Science, proceedings of FSE 2003, Springer-Verlag, էջեր 274–289