Կամելիա (ալգորիթմ)

Կամելիան (, ) 128֊բիթանի սիմետրիկ բանալիով գաղտնագրման ալգորիթմ է, ծրագրավորված համատեղ Միցուբիշիի և Ճապոնիայի «Նիպոն հեռագիր և հեռախոս» ընկերության () կողմից։ Ալգորիթմը որակավորված է ISO/IEC֊ի, Եվրոպական Միության NESSIE նախագծի և Ճապոնական CRYPTREC նախագծի կողմից։ Ալգորիթմն ունի անվտանգության և գործունեության ունակությաններ համեմատելի AES֊ի հետ ():

Կամելիայի բլոկի չափը 16 բայթ է (128 բիթ), և կարող է օգտագործել 128, 192 կամ 256֊բիթանոց բանալի։ Այս բլոկային գաղտնագրման ալգորիթմն նախագծված է այնպես, որ լինի կիրառելի և՛ ծրագրայնապես, և՛ տեխնիկապես, էժան սմարթ քարդերից մինչև գերարագ ցանցային համակարգեր։

Նախագիծ 
Կամելիան Ֆայստելյան ցանցով գաղտնագրման ալգորիթմ է կա՛մ 18 շրջապտույտով (128֊բիթանոց բանալու դեպքում), կա՛մ 24 շրջապտույտով (192 կամ 256֊բիթանոց բանալու դեպքում)։ Ամեն վեցերորդ շրջապտույտին տրամաբանական ձևափոխության շերտն է կիրառվում, այսպես կոչված «FL֊ֆունկցիան» կամ դրա հակադարձը։ Կամելիան օգտագործում է ներածման ու արտածման նմանության ձևափոխոխությունների (, ) չորս 8 x 8֊բիթանոց S-box֊եր և տրամաբանական գործողություններ։ Այն նույնպես օգտագործում է մուտքի և ելքի key whitening։ Կրիպտոգրաֆիկական դիֆուզիայի շերտը օգտագործում է Մատրիցի վրա հիմնված գծային ձևափոխումներ։

Անվտանգության վերլուծություն 
Կամելիան բլոկային գաղտնագրիչ է, որն ամբողջովին հնարավոր է արտահայտել բազմափոփոխական համեմատությունների չառանչվող համակարգերով։

 Կամելիայի (ինչպես նաև AES֊ի) S-box֊երը հնարվոր է ներկայացնել 80 համեմատությունների մեջ 23 քառակուսային հավասարումների մի համակարգի տեսքով։
 Ենթաբանալիների ստեղծման ալգորիթմը () հնարավոր է ներկայացնել 768 փոփոխականների մեջ 1120 հավասարումներով օգտագործելով 3328 գծային և քառակուսային համեմատություններ։
 Ամբողջ բլոկային գաղտնագրիչը հնարավոր է ներկայացնել 2816 փոփոխականներում 5104 հավասարումներով օգտագործելով 14592 գծային և քառակուսային համեմատություններ։
 Հանրագումարում պահանջվում է 6224 հավասարումներ 3584 փոփոխականերում օգտագործելով 17920 գծային և քառակուսային համեմատություններ։
 Չորոշված փոփոխականների թվաքանակը լինում է 11696, որը մոտովոր նույնն է ինչ AES֊ի դեպքում։
Թեորիապես այսպիսի տեխնիկական տվյալները հնարավոր են դարձնում ապագայում Կամելիայի (և AES֊ի) ապակոդավորումը օգտագործելով հանրահաշվական հարձակումներից այնպիսին ինչպիսին է XSL֊ը։ Ներկայիս տեխնիկական միջոցներով նման հարձակումը կտևի տարիներ։

Արտոնագրի կարգավիճակ 
Չնայած նրան, որ Կամելիան արտոնագրված է, այն հնարավոր է օգտագործել առանց հեղինակին տուրք վճարելու։ Այս կարգավիճակը () թույլ տվեց նրան 2006 թվականի նայեմբերից դառնալու OpenSSL նախագծի մասը բաց ելակետային կոդով ԾԱ֊ի արտոնագրով (): Դա նույնպես թույլ է տվել դառնալու Մոզիլայի NSS մոդուլի մասը ():

Յուրացումներ 
Կամելիայի աջակցումն ավելացվել է Մոզիլա Ֆայրֆոքս 3֊ի վերջին թողարկման մեջ 2008 թվականին։

Ավելի ուշ այդ տարի, FreeBSD֊ի թողարկումների ինժեներական թիմը հայտարարեց, որ գաղտնագրող ալգորիթմն ընդգրկվել է FreeBSD 6.4 թողարկման մեջ։ Նաև Կամելիայի աջակցումն ավելցվել էր FreeBSD֊ի սկավառակի գաղտնագրման հիշողության կլասի geli֊ին Յոշիսատո Յանագիսավայի կողմից։

2009 թվականի սեպտեմբերին GNU Privacy Guard֊ը տարբերակ 1.4.10֊ում ավելացրեց Կամելիայի աջակցումը։

Բացի այդ, տարբեր հայտնի անվտանգության փաթեթներ, ինչպիսիք են Crypto++֊ը, GnuTLS֊ը, PolarSSL֊ը և OpenSSL֊ը, նայնպես ընդգրկում են Կամելիան։

2013 թվականի մարտի 26֊ին վերընդգրկվել էր Ճապոնիայի էլ֊Կառավարության խորհուրդ տրվող գաղտնագրման ալգորիթմների նոր ցուցակում որպես միակ 128֊բիթային բլոկային գաղտնագրիչ։ Սա զուգադիպել է CRYPTREC֊ի ցուցակի 10 տարին մեկ թարմացվելու հետ։ Ընտրությունը կատարվել է հիմնվելով Կամելիայի հեշտ ձեռք բերման, անվտանգության և արագագործության բարձր հեղինակության համար, որոնք մրցունակ են AES֊ի հետ։ Կամելիան դեռ մնում է անապակոդավորելի իր ամբողջական կիրառմամբ։ Անհնարին դիֆերենցիալ հարձակումը 12 շրջապտույտանի առանց FL/FL−1 շերտերի Կամելիայի վրա գոյություն չունի։

Ստանդարտացում 
Կամելիան որակավորվել է որպես ստանդարտ գաղտնագրման ալգորիթմ տարբեր ստանդարտացման կազմակերպությաւնների կողմից։
 CRYPTREC
 NESSIE
 IETF
 Ալգորիթմ/Աշխատելակերպ
 RFC 3713։ A Description of the Camellia Encryption Algorithm
 RFC 5528։ Camellia Counter Mode and Camellia Counter with CBC-MAC Mode Algorithms
 S/MIME 
 RFC 3657։ Use of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)
 XML Encryption
 RFC 4051։ Additional XML Security Uniform Resource Identifiers (URIs)
 TLS/SSL
 RFC 4132։ Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
 RFC 5932։ Camellia Cipher Suites for TLS
 RFC 6367։ Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)
 IPsec
 RFC 4312։ The Camellia Cipher Algorithm and Its Use With IPsec
 RFC 5529։ Modes of Operation for Camellia for Use with IPsec
 OpenPGP
 RFC 5581։ The Camellia Cipher in OpenPGP
 RSA-KEM «Cryptographic Message Syntax֊ի» մեջ
 RFC 5990։ Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS)
 Portable Symmetric Key Container (PSKC)
 RFC 6030։ Portable Symmetric Key Container (PSKC)
 Smart Grid
 RFC 6272։ Internet Protocols for the Smart Grid
 ISO/IEC
 ISO/IEC 18033-3:2010 Information technology—Security techniques—Encryption algorithms—Part 3։ Block ciphers
 ITU-T
 security mechanisms and procedures for Next-generation network (Y.2704)
 RSA Լաբորատորիաներ
 հաստատված գաղտնագրիչ PKCS#11֊ում
 «TV-Anytime» ֆորում
 approved cipher in TV-Anytime Rights Management and Protection Information for Broadcast Applications
 approved cipher in Bi-directional Metadata Delivery Protection

Ծանոթագրություններ

Ընդհանուր

Արտաքին հղումներ 
 Կամելիայի անգլերեն էջը Nippon Telegraph and Telephone֊ի կայքում
 256bit Ciphers - CAMELLIA Reference implementation and derived code
 RFC 3657 Use of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)
 RFC 3713 A Description of the Camellia Encryption Algorithm
 RFC 4051 Additional XML Security Uniform Resource Identifiers (URIs)
 RFC 4132 Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
 RFC 4312 The Camellia Cipher Algorithm and Its Use With IPsec
 RFC 5528 Camellia Counter Mode and Camellia Counter with CBC-MAC Mode Algorithms
 RFC 5529 Modes of Operation for Camellia for Use with IPsec
 RFC 5581 Certification of Camellia Cipher as IETF standard for OpenPGP
 RFC 5932 Camellia Cipher Suites for TLS
 RFC 5990 Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS)
 RFC 6030 Portable Symmetric Key Container (PSKC)
 RFC 6272 Internet Protocols for the Smart Grid
 RFC 6367 Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)
 ISO/IEC 18033-3:2010 Information technology—Security techniques—Encryption algorithms—Part 3։ Block ciphers

Գաղտնագրություն
Ալգորիթմներ