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

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search
HS Disambig.svg Անվան այլ կիրառումների համար տե՛ս՝ Կամելիա (այլ կիրառումներ)
Կամելիա
Camellia structure.png
Տեսակblock cipher?


Կամելիան (անգլ.՝ 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]:

Ստանդարտացում[խմբագրել | խմբագրել կոդը]

Կամելիան որակավորվել է որպես ստանդարտ գաղտնագրման ալգորիթմ տարբեր ստանդարտացման կազմակերպությաւնների կողմից։[12]

  • 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

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. «Japan's First 128-bit Block Cipher 'Camellia' Approved as a New Standard Encryption Algorithm in the Internet»։ Phys.Org։ 2005-07-20։ Վերցված է 2013 թ. հունվարի 14 
  2. RFC 4132 Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
  3. 3,0 3,1 3,2 3,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): pp. 274–289 
  4. Nicolas T. Courtois and Josef Pieprzyk (2002), Cryptanalysis of Block Ciphers with Overdefined Systems of Equations, Springer-Verlag, pp. 267–287, http://eprint.iacr.org/2002/044.pdf, վերցված է 2010 թ. օգոստոսի 13–ին 
  5. «Announcement of Royalty-free Licenses for Essential Patents of NTT Encryption and Digital Signature Algorithms»։ NTT։ 2001-04-17։ Վերցված է 2013-01-14 
  6. «The Open Source Community OpenSSL Project Adopts the Next Generation International Standard Cipher "Camellia" Developed in Japan»։ NTT։ 2006-11-08։ Վերցված է 2013-01-14 
  7. 7,0 7,1 Gen Kanai (2007-07-30)։ «Camellia cipher added to Firefox»։ Mozilla 
  8. «FreeBSD System Manager's Manual: GELI(8)»։ 2011-03-09 
  9. «GnuPG 1.4.10 released»։ 2009-09-02 
  10. «Camellia Encryption Algorithm Selected for New e-Government Recommended Ciphers List»։ 2013-03-26 
  11. «Impossible differential cryptanalysis of reduced-round ARIA and Camellia»։ 2007-05-03 
  12. «Camellia Standardization Related Information»։ Վերցված է 2013 թ. նոյեմբերի 30–ին 

Ընդհանուր[խմբագրել | խմբագրել կոդը]

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]