RC6 - RC6

RC6
RC6 криптографиялық алгоритмі.JPG
The Фейстель функциясы RC6 алгоритмі.
Жалпы
ДизайнерлерРон Ривест, Мэтт Робшоу, Рэй Сидни, Йикун Лиза Ин
Алғаш жарияланған1998
АладыRC5
СертификаттауAES финалисті
Шифр бөлшектері
Негізгі өлшемдер128, 192 немесе 256 бит
Блок өлшемдері128 бит
ҚұрылымFeistel желісі (2 тип)[1]
Дөңгелек20

Жылы криптография, RC6 (Шифр 6) Бұл симметриялық кілт блоктық шифр алады RC5. Ол жобаланған Рон Ривест, Мэтт Робшоу, Рей Сидни және Йикун Лиза Ин талаптарына сай болу Кеңейтілген шифрлау стандарты (AES) бәсекелестік. Алгоритм бес финалисттің бірі болды, сонымен қатар ұсынылды Несси және CRYPTREC жобалар. Бұл патенттелген патенттелген меншікті алгоритм болды RSA қауіпсіздігі.

RC6 дұрыс а блок өлшемі 128 биттер мен тіректер кілт өлшемдері 128, 192 және 256 биттерден 2040 битке дейін, бірақ, RC5 сияқты, әр түрлі сөздердің ұзындығын, кілт өлшемдерін және раунд санын қолдау параметрі болуы мүмкін. RC6 құрылымы бойынша RC5-ке өте ұқсас, деректерге тәуелді айналуларды қолдана отырып, модульдік қосу, және XOR операциялар; шын мәнінде, RC6 параллельді екі RC5 шифрлау процесінің арасын тоғыстырушы ретінде қарастырылуы мүмкін, дегенмен RC6 айналымды сөздің әр битіне тәуелді ету үшін емес, RC5-те жоқ қосымша көбейту операциясын қолданады, бірақ ең аз емес бірнеше биттер.

Шифрлау / дешифрлеу

Кеңейту алгоритмі RC5 алгоритмімен іс жүзінде бірдей екенін ескеріңіз. Жалғыз айырмашылық - RC6 үшін қосымша сөздер пайдаланушы берген кілттен алынған.

// RC6-w / r / b көмегімен шифрлау / дешифрлау// // Кіріс: A, B, C және D төрт w-биттік енгізу регистрінде сақталған қарапайым мәтін// r - айналым саны// w-биттік дөңгелек пернелер S [0, ..., 2r + 3]// // Шығарылым: A, B, C, D-де сақталған шифрлық мәтін// // '' 'Шифрлау процедурасы:' ''	B = B + S[0]	Д. = Д. + S[1]	үшін мен = 1 дейін р істеу	{		т = (B*(2B + 1)) <<< lg w		сен = (Д.*(2Д. + 1)) <<< lg w		A = ((A  т) <<< сен) + S[2мен]		C = ((C  сен) <<< т) + S[2мен + 1] 		(A, B, C, Д.)  =  (B, C, Д., A)	}	A = A + S[2р + 2]	C = C + S[2р + 3]// '' 'Шифрды ашу процедурасы:' ''	C = C - S[2р + 3]	A = A - S[2р + 2]	үшін мен = р төменге 1 істеу	{		(A, B, C, Д.) = (Д., A, B, C)		сен = (Д.*(2Д. + 1)) <<< lg w		т = (B*(2B + 1)) <<< lg w		C = ((C - S[2мен + 1]) >>> т)  сен		A = ((A - S[2мен]) >>> сен)  т	}	Д. = Д. - S[1]	B = B - S[0]

NSA «имплантаттарында» мүмкін қолдану

2016 жылдың тамызында код танымал болды Теңдеу тобы немесе NSA әр түрлі желілік қауіпсіздік құрылғыларына арналған «импланттар» ашылды.[2] Ілеспе нұсқаулықта аталған бағдарламалардың кейбіреулері желілік коммуникацияның құпиялылығы үшін RC6 қолданатыны анықталды.[3]

Лицензиялау

RC6 таңдалмағандықтан AES, RC6 роялтисіз екеніне кепілдік берілмеген. 2017 жылғы қаңтардағы жағдай бойынша, RC6, RSA Laboratories дизайнерлерінің ресми веб-сайтындағы веб-парақта мыналар көрсетілген:[4]

«Біз бұған баса назар аударамыз егер RC6 AES үшін таңдалған, RSA Security болады емес алгоритмді қолдана отырып өнімдер үшін лицензиялау немесе роялти төлемдерін талап етеді ».

«Егер» деген сөзге баса назар аударсақ, RSA Security Inc компаниясы RC6 алгоритмін қолданатын кез-келген өнім үшін лицензиялау және роялти төлемдерін талап етуі мүмкін дегенді білдіреді. RC6 патенттелген шифрлау алгоритмі болды (АҚШ патенті 5 724 428 және АҚШ патенті 5,835,600 ); дегенмен, патенттердің мерзімі 2015-2017 жылдар аралығында аяқталды.

Ескертулер

  • Паван, Р.Л .; Робшоу, МДж .; Сидни, Р .; Ин., Ю.Л. (1998-08-20). «RC6 блоктық шифры» (PDF). v1.1. Алынған 2015-08-02.

Әдебиеттер тізімі

  1. ^ Хоанг, Вьет-Тунг; Рогауэй, Филлип (2010). «Жалпыланған Фейстель желілері туралы». LNCS 6223. CRYPTO 2010. АҚШ: Springer. 613-630 бет. дои:10.1007/978-3-642-14623-7_33.
  2. ^ «Расталды: хакерлік құралдың ағуы» құдіретті «NSA-мен байланысты топтан келді». Ars Technica. 2016 жылғы 16 тамыз.
  3. ^ «Бұл нұсқаулық NOPEN туннелі арқылы ELIGIBLEBACHELOR көмегімен BLATSTING қондырғысын басшылыққа алады». Алынған 2016-08-16.
  4. ^ «3.6.4 RC5 және RC6 дегеніміз не?». RSA зертханалары. Алынған 2015-08-02.

Сыртқы сілтемелер