Íà Õàáðàõàáðå óæå ïîðÿäêà 1000 ñòàòåé òàê èëè èíà÷å ñâÿçàííûå ñ øèôðîâàíèåì, íî èíîãäà âîçíèêàåò ñèòóàöèÿ, êîãäà áûñòðî íóæíà èíôîðìàöèÿ ïî òîìó èëè èíîìó àëãîðèòìó.
Âìåñòî ïðåäèñëîâèÿ
Èçíà÷àëüíî ýòî äîëæåí áûë áûòü öèêë èç 3-õ ïóáëèêàöèé, íî âîâðåìÿ ïóáëèêàöèè ïåðâîé è âòîðîé â êîììåíòàðèÿõ ìíå áûëî ïðåäëîæåíî ñäåëàòü îäíó îáùóþ ñòàòüþ.
Ê ñîæàëåíèþ, ïîòðåáîâàëîñü áîëüøå âðåìåíè, íî òåïåðü ïðåäñòàâëÿþ Âàì ñïèñîê èç ïîðÿäêà 50 êðèïòîàëãîðèòìîâ, êîòîðûé ïðåäñòàâëÿåò ñîáîé ñïðàâî÷íèê ñ êðàòêèì îïèñàíèåì àëãîðèòìîâ, à òàêæå ìåñòàìè èõ ðåàëèçàöèåé.
×àñòü àëãîðèòìîâ äîâîëüíà èçâåñòíà, ÷àñòü ÿâëÿåòñÿ îòêðîâåííîé ýêçîòèêîé. Íî ýòî èìåííî òå àëãîðèòìû ïîêàçàëèñü ìíå èíòåðåñíû. Âîçìîæíî ãäå-òî àêöåíò ñäåëàí íå íà ïðèâû÷íûå âñåì âåùè.
, íî êàê ãîâîðèòñÿ íà âêóñ è öâåò âñå ôëîìàñòåðû ðàçíûå. È êîòîðûå òàê èëè èíà÷å èçó÷àëèñü â ïðîôèëüíîì ÂÓÇå è ïî êîòîðûì ÷àùå âñåãî òðåáîâàëàñü èíôîðìàöèÿ. Òàê ñêàçàòü êðàòêèé êîíñïåêò ñòóäåíòà.
Îòäåëüíàÿ áëàãîäàðíîñòü
apashkova çà ïîìîùü è ðåäàêòóðó.
Çàðàíåå áëàãîäàðþ, çà îòçûâû è ïðåäëîæåíèÿ.
Òèïèçàöèÿ ÊÀ
Èòàê, ïðåäñòàâëÿþ âàì ñòàòüþ, â êîòîðîé ñîáðàíû, èçâåñòíûå è íå î÷åíü, êðèïòîãðàôè÷åñêèå àëãîðèòìû. Îãîâîðèìñÿ, ÷òî ñòàòüÿ íå ïðåòåíäóåò íà íîâàòîðñòâî, èëè óíèêàëüíîñòü. Ñêîðåå êðàòêèé ñïðàâî÷íèê, êòî-òî äàæå íàçîâåò ýòî ïðèêðîâàòíûì ÷òèâîì. Ñóùåñòâóþò ðàçëè÷íûå êëàññèôèêàöèè êðèïòîàëãîðèòìîâ, íàïðèìåð, òàêàÿ:
Äëÿ óäîáñòâà ÿ áóäó èñïîëüçîâàòü äåëåíèå íà ãðóïïû ïî êîëè÷åñòâó êëþ÷åé:
Áåñêëþ÷åâûå ÊÀ — íå èñïîëüçóþò â âû÷èñëåíèÿõ íèêàêèõ êëþ÷åé;
Îäíîêëþ÷åâûå ÊÀ — ðàáîòàþò ñ îäíèì êëþ÷åâûì ïàðàìåòðîì (ñåêðåòíûì êëþ÷îì);
Äâóõêëþ÷åâûå ÊÀ — íà ðàçëè÷íûõ ñòàäèÿõ ðàáîòû â íèõ ïðèìåíÿþòñÿ äâà êëþ÷åâûõ ïàðàìåòðà: ñåêðåòíûé è îòêðûòûé êëþ÷è.
Òåðìèíîëîãèÿ:
Áåñêëþ÷åâûå ÊÀ
md2/4/5/6
MD2 — êðèïòîãðàôè÷åñêàÿ õåø-ôóíêöèÿ, ðàçðàáîòàííàÿ Ðîíàëüäîì Ðèâåñòîì â 1989 ãîäó, è îïèñàííàÿ â RFC 1319. Íà âõîäå ñîîáùåíèå ïðîèçâîëüíûé äëèíû. Ðàçìåð õåøà — 128 áèò.
Êàê ïèñàë â ñâîå âðåìÿ
braindamagedman î MD5 è MD6:
Àëãîðèòì MD5 èìåë íåêîãäà áîëüøóþ ïîïóëÿðíîñòü, íî ïåðâûå ïðåäïîñûëêè âçëîìà ïîÿâèëèñü åùå â êîíöå äåâÿíîñòûõ, è ñåé÷àñ åãî ïîïóëÿðíîñòü ñòðåìèòåëüíî ïàäàåò.
Àëãîðèòì MD6 — î÷åíü èíòåðåñíûé ñ êîíñòðóêòèâíîé òî÷êè çðåíèÿ àëãîðèòì. Îí âûäâèãàëñÿ íà êîíêóðñ SHA-3, íî, ê ñîæàëåíèþ, àâòîðû íå óñïåëè äîâåñòè åãî äî êîíäèöèè, è â ñïèñêå êàíäèäàòîâ, ïðîøåäøèõ âî âòîðîé ðàóíä ýòîò àëãîðèòì, îòñóòñòâóåò.
Tiger
Êðèïòîãðàôè÷åñêàÿ õåø-ôóíêöèÿ, ðàçðàáîòàííàÿ Ðîñîì Àíäåðñîíîì è Ýëè Áèõàìîì â 1995 ãîäó. Tiger áûë ïðåäíàçíà÷åí äëÿ îñîáåííî áûñòðîãî âûïîëíåíèÿ íà 64-ðàçðÿäíûõ êîìïüþòåðàõ. Tiger íå èìååò ïàòåíòíûõ îãðàíè÷åíèé, ìîæåò èñïîëüçîâàòüñÿ ñâîáîäíî êàê ñ ýòàëîííîé ðåàëèçàöèåé, òàê è ñ å¸ ìîäèôèêàöèÿìè. Ðàçìåð çíà÷åíèÿ õåøà — 192 áèòà (Tiger/192), õîòÿ èìåþòñÿ òàêæå áîëåå êîðîòêèå âåðñèè äëÿ ñîâìåñòèìîñòè ñ SHA-1 (Tiger/160) è ñ MD4, MD5, RIPEMD, Snefru (Tiger/128). Ñêîðîñòü ðàáîòû — 132 Ìáèò/ñ (ïðîâåðåíî íà îäíîì ïðîöåññîðå Alpha 7000, ìîäåëü 660). Íà ñîâðåìåííûõ ïðîöåññîðàõ çíà÷èòåëüíî áûñòðåå (äàæå ïðè òåñòå íà 32-áèòíîì AMD Sempron 3000+ ñêîðîñòü îêîëî 225 Ìáèò/ñ).
Òàê æå áûëà ðåàëèçîâàíà Âòîðàÿ âåðñèÿ Tiger2 —îòëè÷àåòñÿ îò îñíîâíîé òîëüêî äðóãèì àëãîðèòìîì äîáàâëåíèÿ áèòîâ, ñõîäíûì ñ MD5/SHA-1. Äëÿ Tiger2 äîñòóïíû òåñòîâûå âåêòîðû.
Sha-1/2
Àëãîðèòì êðèïòîãðàôè÷åñêîãî õåøèðîâàíèÿ. Îïèñàí â RFC 3174. Äëÿ âõîäíîãî ñîîáùåíèÿ ïðîèçâîëüíîé äëèíû (ìàêñèìóì 22^64-1 áèò, ÷òî ïðèìåðíî ðàâíî 2 ýêñàáàéòà) àëãîðèòì ãåíåðèðóåò 160-áèòíîå õåø-çíà÷åíèå, íàçûâàåìîå òàêæå äàéäæåñòîì ñîîáùåíèÿ. Èñïîëüçóåòñÿ âî ìíîãèõ êðèïòîãðàôè÷åñêèõ ïðèëîæåíèÿõ è ïðîòîêîëàõ. Òàêæå ðåêîìåíäîâàí â êà÷åñòâå îñíîâíîãî äëÿ ãîñóäàðñòâåííûõ ó÷ðåæäåíèé â ÑØÀ. Ïðèíöèïû, ïîëîæåííûå â îñíîâó SHA-1, àíàëîãè÷íû òåì, êîòîðûå èñïîëüçîâàëèñü Ðîíàëüäîì Ðèâåñòîì ïðè ïðîåêòèðîâàíèè MD4.
SHA-3
Àëãîðèòì õåøèðîâàíèÿ ïåðåìåííîé ðàçðÿäíîñòè, ðàçðàáîòàííûé ãðóïïîé àâòîðîâ âî ãëàâå ñ Éîàíîì Äàéìåíîì, ñîàâòîðîì Rijndael, àâòîðîì øèôðîâ MMB, SHARK, Noekeon, SQUARE è BaseKing. 2 îêòÿáðÿ 2012 ãîäà Keccak ñòàë ïîáåäèòåëåì êîíêóðñà êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ, ïðîâîäèìûì Íàöèîíàëüíûì èíñòèòóòîì ñòàíäàðòîâ è òåõíîëîãèé ÑØÀ. 5 àâãóñòà 2015 ãîäà àëãîðèòì óòâåðæä¸í è îïóáëèêîâàí â êà÷åñòâå ñòàíäàðòà FIPS 202.  ïðîãðàììíîé ðåàëèçàöèè àâòîðû çàÿâëÿþò î 12,5 öèêëàõ íà áàéò ïðè âûïîëíåíèè íà ÏÊ ñ ïðîöåññîðîì Intel Core 2. Îäíàêî â àïïàðàòíûõ ðåàëèçàöèÿõ Keccak îêàçàëñÿ íàìíîãî áûñòðåå, ÷åì âñå äðóãèå ôèíàëèñòû. Àëãîðèòì SHA-3 ïîñòðîåí ïî ïðèíöèïó êðèïòîãðàôè÷åñêîé ãóáêè.
Ripemd
Êðèïòîãðàôè÷åñêàÿ õåø-ôóíêöèÿ, ðàçðàáîòàííàÿ â Êàòîëè÷åñêîì óíèâåðñèòåòå Ëóâåíà Õàíñîì Äîááåðòèíîì (Hans Dobbertin), Àíòîíîì Áîññåëàðñîì (Antoon Bosselaers) è Áàðòîì Ïðåíåëîì (Áàðòîì Ïðåíåëåì). Äëÿ ïðîèçâîëüíîãî âõîäíîãî ñîîáùåíèÿ ôóíêöèÿ ãåíåðèðóåò 160-ðàçðÿäíîå õåø-çíà÷åíèå, íàçûâàåìîå äàéäæåñòîì ñîîáùåíèÿ. RIPEMD-160 ÿâëÿåòñÿ óëó÷øåííîé âåðñèåé RIPEMD, êîòîðàÿ, â ñâîþ î÷åðåäü, èñïîëüçîâàëà ïðèíöèïû MD4 è ïî ïðîèçâîäèòåëüíîñòè ñðàâíèìà ñ áîëåå ïîïóëÿðíîé SHA-1.
Ñóùåñòâóþò òàê æå 128-, 256- 320-áèòíûå âåðñèè àëãîðèòìà, èìåþùèå ñîîòâåòñòâåííûå íàçâàíèÿ.
Haval
Êðèïòîãðàôè÷åñêàÿ õåø-ôóíêöèÿ, ðàçðàáîòàííàÿ Yuliang Zheng, Josef Pieprzyk è Jennifer Seberry â 1992 ãîäó. Äëÿ ïðîèçâîëüíîãî âõîäíîãî ñîîáùåíèÿ ôóíêöèÿ ãåíåðèðóåò õåø-çíà÷åíèå, íàçûâàåìîå äàéäæåñòîì ñîîáùåíèÿ, êîòîðîå ìîæåò èìåòü äëèíó 128, 160, 192, 224 èëè 256 áèò. Êîëè÷åñòâî èòåðàöèé — ïåðåìåííîå, îò 3 äî 5. Êîëè÷åñòâî ðàóíäîâ íà êàæäîé èòåðàöèè — 32. ßâëÿåòñÿ ìîäèôèêàöèåé MD5.
Òåïåðü ïðèøëî âðåìÿ îäíîêëþ÷åâûõ ÊÀ.
Rijndael
Òàê æå èçâåñòíûé êàê Advanced Encryption Standart – ñèììåòðè÷íûé àëãîðèòì áëî÷íîãî øèôðîâàíèÿ. Ðàçìåð îäíîãî áëîêà. 128 áèò, êëþ÷è 128/192/256, ïðèíÿò ñòàíäàðòîì ïðàâèòåëüñòâîì ÑØÀ ïî ðåçóëüòàòàì êîíêóðñà AES.
Ïðèøåë íà ñìåíó àëãîðèòìó DES (î íåì ÷óòü ïîçæå). Ñïåöèôèêàöèÿ áûëà îïóáëèêîâàíà 26 íîÿáðÿ 2001 ãîä. 26 ìàÿ 2002 áûë îáúÿâëåí ñòàíäàðòîì øèôðîâàíèÿ. Ïî ñîñòîÿíèþ íà 2009 ãîä ÿâëÿåòñÿ îäíèì èç ñàìûõ ðàñïðîñòðàíåííûõ àëãîðèòìîâ ñèììåòðè÷íîãî øèôðîâàíèÿ.
Èíòåðåñíûì ôàêò, 128 êëþ÷ îáåñïå÷èâàåò 340 àíäåöèëëèîíîâ âîçìîæíûõ êîìáèíàöèé.
DES
Àëãîðèòì äëÿ ñèììåòðè÷íîãî øèôðîâàíèÿ, ðàçðàáîòàííûé ôèðìîé IBM è óòâåðæä¸ííûé ïðàâèòåëüñòâîì ÑØÀ â 1977 ãîäó êàê îôèöèàëüíûé ñòàíäàðò (FIPS 46-3). Ðàçìåð áëîêà äëÿ DES ðàâåí 64 áèòà.  îñíîâå àëãîðèòìà ëåæèò ñåòü Ôåéñòåëÿ ñ 16-þ öèêëàìè (ðàóíäàìè) è êëþ÷îì, èìåþùèì äëèíó 56 áèò. Àëãîðèòì èñïîëüçóåò êîìáèíàöèþ íåëèíåéíûõ (S-áëîêè) è ëèíåéíûõ (ïåðåñòàíîâêè E, IP, IP-1) ïðåîáðàçîâàíèé. Äëÿ DES ðåêîìåíäîâàíî íåñêîëüêî ðåæèìîâ:
ECB (àíãë. electronic code book) — ðåæèì «ýëåêòðîííîé êîäîâîé êíèãè» (ïðîñòàÿ çàìåíà);
CBC (àíãë. cipher block chaining) — ðåæèì ñöåïëåíèÿ áëîêîâ;
CFB (àíãë. cipher feed back) — ðåæèì îáðàòíîé ñâÿçè ïî øèôðîòåêñòó;
OFB (àíãë. output feed back) — ðåæèì îáðàòíîé ñâÿçè ïî âûõîäó.
Ïðÿìûì ðàçâèòèåì DES â íàñòîÿùåå âðåìÿ ÿâëÿåòñÿ àëãîðèòì Triple DES (3DES).  3DES øèôðîâàíèå/ðàñøèôðîâêà âûïîëíÿþòñÿ ïóò¸ì òðîåêðàòíîãî âûïîëíåíèÿ àëãîðèòìà DES.
MMB-øèôð
Îò àíãë. modular multiplication-based block cipher — ìîäóëüíûé áëî÷íûé øèôð, èñïîëüçóþùèé óìíîæåíèå) — áëî÷íûé àëãîðèòì øèôðîâàíèÿ, îñíîâàííûé íà îïåðàöèè óìíîæåíèÿ â êîíå÷íîé ãðóïïå.
Áëî÷íûé øèôð, îñíîâàííûé íà îïåðàöèè óìíîæåíèÿ â êîíå÷íîé ãðóïïå (MMB) ïðåäñòàâëÿåò ñîáîé áëî÷íûé øèôð, ðàçðàáîòàííûé Éîàí Äàéìåíîì â 1993 ãîäó êàê óëó÷øåíèå øèôðà IDEA. Îñíîâíîå íîâøåñòâî ýòîãî øèôðà çàêëþ÷àåòñÿ â èñïîëüçîâàíèè öèêëè÷åñêîãî óìíîæåíèÿ â ãðóïïå Z2n−1. Ñîçäàòåëè øèôðà ïðåäëàãàëè ñäåëàòü n=32, òàêèì îáðàçîì óìíîæåíèå áóäåò ïðîèçâîäèòüñÿ â ãðóïïå Z4294967295. Òàêæå ñòîèò îòìåòèòü, ÷òî äëèíà ñëîâ, ñ êîòîðûìè áóäóò ïðîèçâîäèòüñÿ îïåðàöèè, ðàâíà n, òî åñòü 32 â äàííîì ñëó÷àå. Îñíîâíàÿ öåëü, êîòîðàÿ ïðåñëåäîâàëàñü ïðè ñîçäàíèè ýòîãî øèôðà — ñîçäàòü øèôð, óñòîé÷èâûé ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Íåäîñòàòêè â êëþ÷åâîì ðàñïèñàíèè áûëè îáíàðóæåíû Ýëè Áèõàìîì, ÷òî, â êîìáèíàöèè ñ òåì ôàêòîì, ÷òî øèôð íå áûë çàùèù¸í îò ëèíåéíîãî êðèïòîàíàëèçà, ïðèâåëî ê èñïîëüçîâàíèþ äðóãèõ øèôðîâ, íàïðèìåð, 3-Way øèôðà.
BaseKing
 êðèïòîãðàôèè BaseKing — áëî÷íûé øèôð, ðàçðàáîòàííûé â 1994 ãîäó Éîàíîì Äýìåíîì (Joan Daemen).
Îí î÷åíü òåñíî ñâÿçàí ñ 3-WAY; äåéñòâèòåëüíî, îíè — âàðèàíòû òîé æå ñàìîé îáùåé òåõíèêè øèôðîâàíèÿ.
Ó BaseKing ðàçìåð áëîêà 192 áèòîâ, ÷òî â äâà ðàçà äëèííåå, ÷åì 3-WAY. Äëèíà êëþ÷à — òàêæå 192 áèòà.
 äèññåðòàöèè Äýåìåí ïðåäñòàâèë îáøèðíóþ òåîðèþ áëî÷íîãî øèôðà, êàê äîâîëüíî îáùèé àëãîðèòì øèôðà, ñîñòàâëåííûé èç ìíîãèõ îáðàòèìûõ ïðåîáðàçîâàíèé, êîòîðûå ìîãóò áûòü âûáðàíû ñî çíà÷èòåëüíîé ñâîáîäîé. Îí îáñóäèë áåçîïàñíîñòü ýòîé îáùåé ñõåìû ïðîòèâ èçâåñòíûõ íàïàäåíèé, è äàëà äâà îïðåäåë¸ííûõ ïðèìåðà øèôðîâ, ñîñòîÿùèõ èç ñïåöèôè÷åñêèõ âûáîðîâ äëÿ ïåðåìåííûõ ïàðàìåòðîâ. Ýòè øèôðû 3-WAY è BaseKing. BaseKing âîñïðèèì÷èâ ê òîìó æå ñàìîìó âèäó íàïàäåíèþ êàê 3-WAY. Daemaen, Peeters, è Âàí Àñø òàêæå äåìîíñòðèðîâàëè ïîòåíöèàëüíóþ óÿçâèìîñòü ê äèôôåðåíöèàëüíîìó àíàëèçó, íàðÿäó ñ íåáîëüøèì êîëè÷åñòâîì ìåòîäîâ, ÷òîáû óâåëè÷èòü ñîïðîòèâëåíèå äàííîãî âûïîëíåíèÿ BaseKing ê òàêîìó íàïàäåíèþ.
NOEKEON
Ñåìåéñòâî èç äâóõ áëî÷íûõ øèôðîâ, ðàçðàáîòàííûõ Éîàíîì Äàéìåíîì, Michaël Peeters, Gilles Van Assche è Âèíñåíòîì Ðýéìåíîì è ïðåäñòàâëåííûõ â èññëåäîâàòåëüñêîì ïðîåêòå NESSIE. Äâà øèôðà ïðåäñòàâëÿþò ñîáîé NOEKEON â ïðÿìîì ðåæèìå (direct mode) è â êîñâåííîì ðåæèìå (indirect mode). Îòëè÷àþòñÿ ðåæèìû òîëüêî ïðîöåäóðîé ðàñøèðåíèÿ êëþ÷à.
Äëèíà êëþ÷à â NOEKEON ðàâíà 128 áèòàì.  êàæäîì ðàóíäå NOEKEON èñïîëüçóåò ïîñëåäîâàòåëüíîñòü ïðåîáðàçîâàíèé, îáðàòíûõ ñàìèì ñåáå, êîòîðûå ñ ëåãêîñòüþ ìîãóò áûòü ðåàëèçîâàíû â àïïàðàòíîì èëè ïðîãðàììíîì îáåñïå÷åíèè, ïðè÷åì äàæå â òàêîì, ãäå ñóùåñòâóåò âîçìîæíîñòü àòàêè ïî ñòîðîííèì êàíàëàì. Øèôð ÿâëÿåòñÿ êîìïàêòíûì â ðåàëèçàöèè íà ðàçëè÷íûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ, áûñòðî ðàáîòàåò íà ðàçëè÷íûõ àïïàðàòíûõ ñðåäñòâàõ è ÿâëÿåòñÿ î÷åíü ýôôåêòèâíûì â øèðîêîì äèàïàçîíå ïëàòôîðì. Îäíàêî, NOEKEON íå îòâå÷àë òðåáîâàíèÿì Wide Trail Design Strategy, ÷òî ïîêàçàë êðèïòîàíàëèç, ïðîâåäåííûé Ëàðñîì Êíóäñåíîì è Håvard Raddum â àïðåëå 2001. Êíóäñåí è Raddum ïîêàçàëè, ÷òî íà äàííûé øèôð âîçìîæíà àòàêà íà îñíîâå ñâÿçàííûõ êëþ÷åé, èç-çà ÷åãî øèôð íå ïðîøåë îòáîð â ïðîåêòå NESSIE.
Íà ðàññìîòðåíèå â ðàìêàõ êîíêóðñà NESSIE áûëè ïðèíÿòû îáà ðåæèìà àëãîðèòìà Noekeon. Îáà ðåæèìà îêàçàëèñü ïîäâåðæåíû àòàêå íà îñíîâå ñâÿçàííûõ êëþ÷åé, êîòîðóþ ïðåäëîæèëè êðèïòîëîãè Ëàðñ Êíóäñåí è Håvard Raddum â ñâîåé ðàáîòå. Êðîìå òîãî, èìè æå áûëî äîêàçàíî, ÷òî êðèòåðèè ñîçäàíèÿ òàáëèö çàìåí â îïåðàöèè Gamma íå ñïîñîáñòâóþò âûñîêîé êðèïòîñòîéêîñòè àëãîðèòìà: ïðè ãåíåðàöèè òàáëèöû çàìåí ðåçóëüòèðóþùèé àëãîðèòì ñ âåðîÿòíîñòüþ ïðèìåðíî 86 % îêàæåòñÿ ïîäâåðæåí ëèíåéíîìó è/èëè äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Òàêæå áûëî ïîêàçàíî, ÷òî ñ áîëüøîé âåðîÿòíîñòüþ âîçìîæíî íàéòè ñâÿçàííûå êëþ÷è. Ýòèõ ïðè÷èí îêàçàëîñü äîñòàòî÷íî äëÿ íåâûõîäà àëãîðèòìà Noekeon âî âòîðîé ðàóíä êîíêóðñà.
DFC
Decorrelated Fast Cipher — áëî÷íûé ñèììåòðè÷íûé êðèïòîàëãîðèòì, ñîçäàííûé â 1998 ãîäó ñîâìåñòíî êðèïòîãðàôàìè Ïàðèæñêîé Âûñøåé íîðìàëüíîé øêîëû, Íàöèîíàëüíîãî öåíòðà íàó÷íûõ èññëåäîâàíèé (CNRS) è òåëåêîììóíèêàöèîííîãî ãèãàíòà France Telecom ïîä ðóêîâîäñòâîì èçâåñòíîãî êðèïòîëîãà Ñåðæà Âîäåíý (àíãë.), ñïåöèàëüíî äëÿ ó÷àñòèÿ â êîíêóðñå AES. Îòíîñèòñÿ ê ñåìåéñòâó PEANUT (Pretty Encryption Algorithm with n-Universal Transformation) øèôðîâ.
Áëî÷íûé øèôð ñ äëèííîãî áëîêà 128 áèò, ïðåäñòàâëÿþùèé 8-ìè ðàóíäîâóþ Ñåòü Ôåéñòåëÿ. Èñïîëüçóåòñÿ 64-áèòîâàÿ ôóíêöèÿ øèôðîâàíèÿ ñ âîñåìüþ ðàçëè÷íûìè ðàóíäîâûìè êëþ÷àìè ïî 128 áèò, ïîëó÷àåìûìè èç îäíîãî èñõîäíîãî êëþ÷à øèôðîâàíèÿ. Êàæäûé ðàóíä ôóíêöèÿ øèôðîâàíèÿ èñïîëüçóåò ëåâóþ ïîëîâèíó èñõîäíîãî òåêñòà (áëîêà) è äâà 64-áèòíûõ êëþ÷à, ÿâëÿþùèõñÿ ïîëîâèíàìè ñîîòâåòñòâóþùåãî ðàóíäîâîãî, äëÿ ïîëó÷åíèÿ 64-áèòíîãî øèôðîâàííîãî òåêñòà. Ïîëó÷åííàÿ çàøèôðîâàííàÿ ëåâàÿ ïîëîâèíà áëîêà ïðèáàâëÿåòñÿ ê ïðàâîé. Çàòåì, ñîãëàñíî èäåå ñåòè Ôåéñòåëÿ, ëåâàÿ è ïðàâàÿ ÷àñòè áëîêà ìåíÿþòñÿ ìåñòàìè. Ðàñøèôðîâûâàíèå ïðîèñõîäèò òàê æå, êàê è øèôðîâàíèå ñ èñïîëüçîâàíèåì ðàóíäîâûõ êëþ÷åé â îáðàòíîì ïîðÿäêå. Äëèíà èñõîäíîãî êëþ÷à øèôðîâàíèÿ íå îãðàíè÷èâàåòñÿ òðåìÿ ôèêñèðîâàííûìè ðàçìåðàìè, ïðåäóñìîòðåííûìè êîíêóðñîì AES (128, 192 è 256 áèòîâ), è ìîæåò áûòü ïåðåìåííîãî ðàçìåðà îò 0 äî 256 áèò.
Ïðèìåð ðåàëèçàöèè íà Àññåìáëåðå:
DECIM
Decim — ïîòîêîâûé øèôð íà îñíîâå ÐÑËÎÑ, ðàçðàáîòàííûé Êîìîì Áåðáàèíîì, Îëèâåðîì Áèëëåòîì, Àíí Êàíòó, Íèêîëÿ Êóðòóà, Áëàíäèíîì Äåáðå, Ãåíðè Ãèëüáåðòîì, Ëóè Ãóáèíîì, Àëèíîì Ãóæå, Ëóè Ãðàíáóëàíîì, Ñåäåðèêîì Ëàðäó, Ìàðèí Ìèíüå, Òîìàñîì Ïîðíèíîì è Ýðâîì Ñèáå. Ñïåöèàëèçèðîâàí äëÿ àïïàðàòíîé ðåàëèçàöèè. Çàïàòåíòîâàí. Áûë ïðåäñòàâëåí â ïðîåêòå eSTREAM, ãäå íå ïðîø¸ë äàëüøå òðåòüåãî ýòàïà.
Ñàìîå ãëàâíîå òðåáîâàíèå ê øèôðàì — óñòîé÷èâîñòü ê ðàçëè÷íûì âèäàì àòàê. Àëãåáðàè÷åñêèå àòàêè — îäíà èç ñàìûõ ñåðü¸çíûõ óãðîç áåçîïàñíîñòè ïîòîêîâûì øèôðàì. Åñëè ñîîòíîøåíèå ìåæäó êîìáèíàöèåé áèòîâ ñåêðåòíîãî êëþ÷à è ïîðîæä¸ííûì å¸ áèòîì ãàììà ÿâëÿåòñÿ ïðîñòûì èëè ëåãêî ïðåäñêàçóåìûì, òî è íàõîæäåíèå àëãåáðàè÷åñêèõ çàâèñèìîñòåé ìåæäó êîìáèíàöèåé áèòîâ ñåêðåòíîãî êëþ÷à è áèòîì êëþ÷åâîãî ïîòîêà (ãàììà) òàê æå ÿâëÿåòñÿ ïðîñòîé çàäà÷åé. Äëÿ óñëîæíåíèÿ ñîîòíîøåíèé ìåæäó êîìáèíàöèåé áèòîâ ñåêðåòíîãî êëþ÷à (èëè êîìáèíàöèåé áèòîâ íà÷àëüíîãî ñîñòîÿíèÿ ÐÑËÎÑ, ïîðîæä¸ííîãî ñåêðåòíûì êëþ÷îì) è áèòîâ êëþ÷åâîãî ïîòîêà (ãàììà) èñïîëüçóþò íåëèíåéíóþ ôèëüòðóþùóþ ôóíêöèþ îò êîìáèíàöèè áèòîâ ñåêðåòíîãî êëþ÷à è ìåõàíèçìû äåñèíõðîíèçàöèè ìåæäó êîìáèíàöèåé áèòîâ ñåêðåòíîãî êëþ÷à è áèòàìè êëþ÷åâîãî ïîòîêà (ãàììà). Îáà ýòèõ ìåõàíèçìà (íåëèíåéíàÿ ôèëüòðóþùàÿ ôóíêöèÿ è ìåõàíèçì äåñèíõðîíèçàöèè ìåæäó êîìáèíàöèåé áèòîâ ÐÑËÎÑ è áèòàìè êëþ÷åâîãî ïîòîêà) ÿâëÿþòñÿ îñíîâîé ðàáîòû è îñíîâíûì ñðåäñòâîì ïðåäîòâðàùåíèÿ êðèïòîàíàëèòè÷åñêèõ àòàê øèôðà Decim.
Íà÷àëî ðàáîòû ïîòîêîâîãî øèôðà Decim íà÷èíàåòñÿ ñ ââîäà 80-áèòíîãî ñåêðåòíîãî êëþ÷à è 64-áèòíîãî îòêðûòîãî êëþ÷à (Initialization Vector). Çàòåì, ñ ïîìîùüþ îïðåäåë¸ííûõ ëèíåéíûõ êîìáèíàöèé áèòîâ Ê è áèòîâ IV, èñïîëüçîâàíèÿ íåëèíåéíîé ôèëüòðóþùåé ôóíêöèè F è ïðèìåíåíèÿ ìåõàíèçìà âûáîðêè ABSG âû÷èñëÿåòñÿ íà÷àëüíîå ñîñòîÿíèå 192 áèòíîãî ÐÑËÎÑ. Ïîñëå âûïîëíåíèÿ âñåõ ýòèõ îïåðàöèé íà÷èíàåòñÿ ãåíåðàöèÿ êëþ÷åâîãî ïîòîêà
z = ( z t ) | t >> 0 è çàïîëíåíèå èì ñïåöèàëüíîãî áóôåðà BUFFER, èñïîëüçóþùåãîñÿ äëÿ îáåñïå÷åíèÿ íåïðåðûâíîé âûäà÷è áèòîâ
z t íà âûõîä øèôðà, ãäå ïðîèñõîäèò èõ ñëîæåíèå ïî ìîäóëþ äâà ñ äâîè÷íîé ïîñëåäîâàòåëüíîñòüþ ñèìâîëîâ îòêðûòîãî òåêñòà.
MICKEY
Àëãîðèòì ïîòîêîâîãî øèôðîâàíèÿ. Ñóùåñòâóåò äâà âàðèàíòà ýòîãî àëãîðèòìà — ñ äëèíîé êëþ÷à 80 áèò (MICKEY) è 128 áèò (MICKEY-128). Îí áûë ðàçðàáîòàí Ñòèâîì Áýááèäæåì è Ìýòüþ Äîääîì â 2005 ãîäó ñ öåëüþ èñïîëüçîâàíèÿ â ñèñòåìàõ ñ îãðàíè÷åííûìè ðåñóðñàìè. Ýòîò àëãîðèòì èìååò ïðîñòóþ àïïàðàòíóþ ðåàëèçàöèþ ïðè âûñîêîé ñòåïåíè çàùèù¸ííîñòè.  í¸ì èñïîëüçóåòñÿ íåðåãóëÿðíîå òàêòèðîâàíèå ñäâèãîâûõ ðåãèñòðîâ, à òàêæå íîâûå ìåòîäû, îáåñïå÷èâàþùèå äîñòàòî÷íî áîëüøîé ïåðèîä è ïñåâäîñëó÷àéíîñòü êëþ÷åâîé ïîñëåäîâàòåëüíîñòè è óñòîé÷èâîñòü ê àòàêàì. Àëãîðèòì MICKEY ó÷àñòâîâàë â êîíêóðñíîì ïðîåêòå eSTREAM, îðãàíèçîâàííûì ñîîáùåñòâîì eCRYPT. Òåêóùàÿ âåðñèÿ àëãîðèòìà — 2.0. Îíà âîøëà â ïîðòôîëèî eCRYPT, êàê ïîòîêîâûé øèôð äëÿ àïïàðàòíîé ðåàëèçàöèè.
Ìàêñèìàëüíàÿ äëèíà êëþ÷åâîé ïîñëåäîâàòåëüíîñòè, ïîëó÷åííîé ñ ïîìîùüþ îäíîé ïàðû (K, IV) ñîñòàâëÿåò 240 áèò. Îäíàêî äîïóñêàåòñÿ ïîëó÷åíèå 240 òàêèõ ïîñëåäîâàòåëüíîñòåé ïðè èñïîëüçîâàíèè îäíîãî K ïðè óñëîâèè, ÷òî IV âûáèðàåòñÿ ðàçíûìè äëÿ êàæäîé íîâîé ïîñëåäîâàòåëüíîñòè.
SC2000
Ñèììåòðè÷íûé áëî÷íûé êðèïòîàëãîðèòì, ðàçðàáîòàííûé ôèðìîé Fujitsu è óíèâåðñèòåòîì ã. Òîêèî â 2000 ãîäó.  àëãîðèòìå èñïîëüçóåòñÿ 128-áèòíûé áëîê è êëþ÷ äëèíîé îò 128 äî 256 áèò (ñîâìåñòèì ñî ñòàíäàðòîì AES è ïîääåðæèâàåò òèïîâûå äëèíû êëþ÷à — 128/192/256). Áûë ðåêîìåíäîâàí êîìèòåòîì CRYPTREC â 2003 ãîäó äëÿ èñïîëüçîâàíèÿ ãîñóäàðñòâåííûìè ó÷ðåæäåíèÿìè ßïîíèè, îäíàêî â 2013 ãîäó áûë ïåðåìåù¸í â ñïèñîê «êàíäèäàòîâ» â ðåêîìåíäîâàííûå øèôðû. Ó÷àñòâîâàë â êîíêóðñå Nessie, íî íå ïîïàë âî âòîðîé ðàóíä, õîòÿ è ïîêàçàë äîñòàòî÷íóþ óñòîé÷èâîñòü ê àòàêàì — ïðè÷èíîé ñòàëà åãî ñëèøêîì ñëîæíàÿ ñòðóêòóðà è îïàñåíèå â âåðîÿòíîñòè ñêðûòûõ óÿçâèìîñòåé.
SC2000 — øèôð ñî ñìåøàííîé ñòðóêòóðîé: çäåñü èñïîëüçóþòñÿ ýëåìåíòû ñåòè Ôåéñòåëÿ è ïîäñòàíîâî÷íî-ïåðåñòàíîâî÷íîé ñåòè. Àëãîðèòì âûïîëíÿåò 6.5 (äëÿ 128-áèòíîãî êëþ÷à) è ëè 7.5 (äëÿ êëþ÷à äëèíîé 192—256 áèò) ðàóíäîâ øèôðîâàíèÿ. Êàæäûé èç ðàóíäîâ ñîñòîèò èç çàïðîñîâ ê òàáëèöå ïîäñòàíîâêè, äîáàâëåíèÿ êëþ÷à è áåñêëþ÷åâîé äâóõðàóíäîâîé ñåòè Ôåéñòåëÿ.
Ïðèìåíÿåòñÿ òðè òàáëèöû çàìåíû: S-Box ðàçìåðîì 4x4 áèò èñïîëüçóåòñÿ â íà÷àëå êàæäîãî ðàóíäà, ðàçìåðîì 5x5 áèò è 6x6 áèò — âíóòðè ñåòè Ôåéñòåëÿ.
Ðàñøèðåíèå êëþ÷à â àëãîðèòìå SC2000 âûïîëíÿåòñÿ â äâà ýòàïà: îñíîâå ñåêðåòíîãî ñèììåòðè÷íîãî êëþ÷à ãåíåðèðóåòñÿ ïðîìåæóòî÷íûé êëþ÷, çàòåì èç ïðîìåæóòî÷íîãî êëþ÷à âû÷èñëÿåòñÿ íóæíîå êîëè÷åñòâî ôðàãìåíòîâ ðàñøèðåííîãî êëþ÷à.
Îäèí ðàóíä øèôðà äîâîëüíî ñëîæåí è ñîñòîèò èç ñëåäóþùèõ îïåðàöèé: Âõîäíîå 128-áèòíîå çíà÷åíèå äåëèòñÿ íà 4 ïîäáëîêà ïî 32 áèòà, íà êàæäûé èç íèõ îïåðàöèåé XOR íàêëàäûâàåòñÿ 32-áèòíûé ôðàãìåíò ðàñøèðåííîãî êëþ÷à. Âûïîëíÿåòñÿ îïåðàöèÿ T, êîòîðàÿ ðàçáèâàåò áëîê äàííûõ íà 32 ïîäáëîêà ïî 4 áèòà êàæäûé.
Êàæäûé 4-áèòíûé ïîäáëîê ïðîõîäèò ÷åðåç òàáëèöó ïîäñòàíîâêè S4, êîòîðàÿ âûãëÿäèò òàê: (2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14)
Äàëåå áëîê äàííûõ ðàçáèâàåòñÿ íà 32-áèòíûå ïîäáëîêè ñ ïîìîùüþ îïåðàöèè T’, îáðàòíîé ê îïåðàöèè T. Âûïîëíÿåòñÿ íàëîæåíèå îïåðàöèåé XOR äðóãèõ ÷åòûð¸õ ôðàãìåíòîâ ðàñøèðåííîãî êëþ÷à. Çíà÷åíèÿ ïåðâîé ïàðû ïîäáëîêîâ ïåðåäàþòñÿ íà âõîä ôóíêöèè F.  ðåçóëüòàòå âûïîëíåíèÿ äàííîé ôóíêöèè ïîëó÷àþòñÿ äâà 32-áèòíûõ çíà÷åíèÿ, êîòîðûå íàêëàäûâàþòñÿ îïåðàöèåé XOR íà äâà ïåðâûõ ïîäáëîêà. Ïåðâàÿ ïàðà ïîäáëîêîâ ìåíÿåòñÿ ìåñòàìè ñ âòîðîé ïàðîé ïîäáëîêîâ, çàòåì âûïîëíÿåòñÿ ïîâòîðíî ïðîøëûé øàã òðàíñôîðìàöèè.
RC4
Òàêæå èçâåñòåí êàê ARC4 èëè ARCFOUR (alleged RC4) — ïîòîêîâûé øèôð, øèðîêî ïðèìåíÿþùèéñÿ â ðàçëè÷íûõ ñèñòåìàõ çàùèòû èíôîðìàöèè â êîìïüþòåðíûõ ñåòÿõ (íàïðèìåð, â ïðîòîêîëàõ SSL è TLS, àëãîðèòìàõ îáåñïå÷åíèÿ áåçîïàñíîñòè áåñïðîâîäíûõ ñåòåé WEP è WPA).
Øèôð ðàçðàáîòàí êîìïàíèåé «RSA Security», è äëÿ åãî èñïîëüçîâàíèÿ òðåáóåòñÿ ëèöåíçèÿ.
Àëãîðèòì RC4, êàê è ëþáîé ïîòîêîâûé øèôð, ñòðîèòñÿ íà îñíîâå ãåíåðàòîðà ïñåâäîñëó÷àéíûõ áèòîâ. Íà âõîä ãåíåðàòîðà çàïèñûâàåòñÿ êëþ÷, à íà âûõîäå ÷èòàþòñÿ ïñåâäîñëó÷àéíûå áèòû. Äëèíà êëþ÷à ìîæåò ñîñòàâëÿòü îò 40 äî 2048 áèò. Ãåíåðèðóåìûå áèòû èìåþò ðàâíîìåðíîå ðàñïðåäåëåíèå.
Îñíîâíûå ïðåèìóùåñòâà øèôðà:
âûñîêàÿ ñêîðîñòü ðàáîòû;
ïåðåìåííûé ðàçìåð êëþ÷à.
RC4 äîâîëüíî óÿçâèì, åñëè:
èñïîëüçóþòñÿ íå ñëó÷àéíûå èëè ñâÿçàííûå êëþ÷è;
îäèí êëþ÷åâîé ïîòîê èñïîëüçóåòñÿ äâàæäû.
Ýòè ôàêòîðû, à òàêæå ñïîñîá èñïîëüçîâàíèÿ ìîãóò ñäåëàòü êðèïòîñèñòåìó íåáåçîïàñíîé (íàïðèìåð, WEP).
Äàëåå ðåàëèçàöèÿ
Illivion .
Ðåàëèçàöèÿ íà C#
RC5
Áëî÷íûé øèôð, ðàçðàáîòàííûé Ðîíîì Ðèâåñòîì èç êîìïàíèè RSA Security Inc. ñ ïåðåìåííûì êîëè÷åñòâîì ðàóíäîâ, äëèíîé áëîêà è äëèíîé êëþ÷à. Ýòî ðàñøèðÿåò ñôåðó èñïîëüçîâàíèÿ è óïðîùàåò ïåðåõîä íà áîëåå ñèëüíûé âàðèàíò àëãîðèòìà.
Ñóùåñòâóåò íåñêîëüêî ðàçëè÷íûõ âàðèàíòîâ àëãîðèòìà, â êîòîðûõ ïðåîáðàçîâàíèÿ â «ïîë-ðàóíäàõ» êëàññè÷åñêîãî RC5 íåñêîëüêî èçìåíåíû.  êëàññè÷åñêîì àëãîðèòìå èñïîëüçóþòñÿ òðè ïðèìèòèâíûõ îïåðàöèè è èõ èíâåðñèè:
ñëîæåíèå ïî ìîäóëþ
ïîáèòîâîå èñêëþ÷àþùåå ÈËÈ (XOR)
îïåðàöèè öèêëè÷åñêîãî ñäâèãà íà ïåðåìåííîå ÷èñëî áèò.
Îñíîâíûì íîâîââåäåíèåì ÿâëÿåòñÿ èñïîëüçîâàíèå îïåðàöèè ñäâèãà íà ïåðåìåííîå ÷èñëî áèò, íå èñïîëüçîâàâøèåñÿ â áîëåå ðàííèõ àëãîðèòìàõ øèôðîâàíèÿ. Ýòè îïåðàöèè îäèíàêîâî áûñòðî âûïîëíÿþòñÿ íà áîëüøèíñòâå ïðîöåññîðîâ, íî â òî æå âðåìÿ çíà÷èòåëüíî óñëîæíÿþò äèôôåðåíöèàëüíûé è ëèíåéíûé êðèïòîàíàëèç àëãîðèòìà.
Øèôðîâàíèå ïî àëãîðèòìó RC5 ñîñòîèò èç äâóõ ýòàïîâ. Ïðîöåäóðà ðàñøèðåíèÿ êëþ÷à è íåïîñðåäñòâåííî øèôðîâàíèå. Äëÿ äåøèôðîâàíèÿ âûïîëíÿåòñÿ ñíà÷àëà ïðîöåäóðà ðàñøèðåíèÿ êëþ÷à, à çàòåì îïåðàöèè, îáðàòíûå ïðîöåäóðå øèôðîâàíèÿ.
Rabbit
Âûñîêîñêîðîñòíîé ïîòî÷íûé øèôð âïåðâûå ïðåäñòàâëåííûé â ôåâðàëå 2003 ãîäà íà 10-ì ñèìïîçèóìå FSE.  ìàå 2005, îí áûë îòïðàâëåí íà êîíêóðñ eStream, öåëüþ êîòîðîãî áûëî ñîçäàíèå åâðîïåéñêèõ ñòàíäàðòîâ äëÿ ïîòî÷íûõ ñèñòåì øèôðîâàíèÿ.
Ðàçðàáîò÷èêàìè Rabbit ÿâëÿþòñÿ Martin Boesgaard, Mette Vesterager, Thomas Pedersen, Jesper Christiansen è Ove Scavenius.
Rabbit èñïîëüçóþò 128-áèòíûé êëþ÷ è 64-áèòíûé èíèöèàëèçèðóþùèé âåêòîð. Øèôð áûë ðàçðàáîòàí ñ öåëüþ èñïîëüçîâàíèÿ â ïðîãðàììíîì îáåñïå÷åíèè, êàê îáëàäàþùèé âûñîêîé ñêîðîñòüþ øèôðîâàíèÿ. Ïðè ýòîì ñêîðîñòü øèôðîâàíèÿ ìîãëà äîñòèãàòü 3.7 öèêëîâ â áàéò(CPB) äëÿ ïðîöåññîðà Pentium 3 è 10.5 öèêëîâ â áàéò äëÿ ARM7. Òåì íå ìåíåå, øèôð òàêæå îêàçàëñÿ áûñòðûì è êîìïàêòíûì ïðè ðåàëèçàöèè â àïïàðàòíîì îáåñïå÷åíèè.
Îñíîâíûì êîìïîíåíòîì øèôðà ÿâëÿåòñÿ ãåíåðàòîð áèòîâîãî ïîòîêà, êîòîðûé øèôðóåò 128 áèòîâ ñîîáùåíèÿ çà èòåðàöèþ. Äîñòîèíñòâî øèôðà â òùàòåëüíîì ïåðåìåøèâàíèè åãî âíóòðåííèõ ñîñòîÿíèé ìåæäó äâóìÿ ïîñëåäîâàòåëüíûìè èòåðàöèÿìè. Ôóíêöèÿ ïåðåìåøèâàíèÿ ïîëíîñòüþ îñíîâàíà íà àðèôìåòè÷åñêèõ îïåðàöèÿõ, äîñòóïíûõ íà ñîâðåìåííûõ ïðîöåññîðàõ, òî åñòü S-áëîêè ïîäñòàíîâîê è ïîèñêîâûå òàáëèöû íå íóæíû äëÿ ðåàëèçàöèè øèôðà.
Àâòîðû øèôðà ïðåäîñòàâèëè ïîëíûé íàáîð òåõíè÷åñêèõ îïèñàíèé íà äîìàøíåé ñòðàíèöå Cryptico. Øèôð òàêæå îïèñàí â RFC 4503. Cryptico îáëàäàëà ïàòåíòîì íà øèôð, è ìíîãèå ãîäû äëÿ èñïîëüçîâàíèÿ øèôðà â êîììåð÷åñêèõ öåëÿõ òðåáîâàëàñü ëèöåíçèÿ. Îäíàêî, 6 îêòÿáðÿ 2008 øèôð ðàçðåøèëè èñïîëüçîâàòü äëÿ ëþáûõ öåëåé áåñïëàòíî.
NewDes
 êðèïòîãðàôèè ñèììåòðè÷íûé áëî÷íûé êðèïòîàëãîðèòì, ðàçðàáîòàííûé Ðîáåðòîì Ñêîòîì â êà÷åñòâå çàìåíû ñòàíäàðòà DES â 1985 ãîäó ñ öåëüþ âíåäðåíèÿ áîëåå íàäåæíîãî øèôðà ñ áåçîïàñíûì ðàçìåðîì êëþ÷à — 120 áèò.
NewDES, õîòÿ è èìååò ïðîèçâîäíîå íàèìåíîâàíèå, èìååò àáñîëþòíî èíóþ ñòðóêòóðó, çíà÷èòåëüíî ïðîùå DES, ëåãêî ðåàëèçóåì ïðîãðàììíî è íå âêëþ÷àåò ïîáèòîâûõ ïåðåñòàíîâîê, âñå îïåðàöèè ïðîèçâîäÿòñÿ ñ áàéòàìè. Àëãîðèòì èñïîëüçóåò òàáëèöó çàìåíû èç 256 ýëåìåíòîâ, â îäíîì ðàóíäå ïðîèçâîäÿòñÿ 8 îïåðàöèé ñëîæåíèÿ ïî ìîäóëþ 2 è ïîäñòàíîâêè ñ èñïîëüçîâàíèåì ôóíêöèè F — çàìåí ñ èñïîëüçîâàíèåì òàáëèöû ïîäñòàíîâîê.
Êëþ÷åâîå ðàñïèñàíèå â ïåðâîé ðåäàêöèè áûëî äîâîëüíî ñëàáûì è áûëî èñïðàâëåíî â ðåäàêöèè NewDES-96. Êàê îêàçàëîñü, àëãîðèòì NewDES ìåíåå óñòîé÷èâ ê êðèïòîàíàëèçó, íåæåëè àëãîðèòì DES, õîòÿ àòàêà ãðóáîé ñèëîé íà NewDES-96 ïðàêòè÷åñêè íåâîçìîæíà è àëãîðèòì â äàííîé ðåäàêöèè çíà÷èòåëüíî áîëåå áåçîïàñåí.
Salsa20
Ñèñòåìà ïîòî÷íîãî øèôðîâàíèÿ, ðàçðàáîòàííàÿ Äàíèýëåì Áåðíøòåéíîì (àíãë.) ðóññê. Àëãîðèòì áûë ïðåäñòàâëåí íà êîíêóðñå «eSTREAM», öåëüþ êîòîðîãî áûëî ñîçäàíèå åâðîïåéñêèõ ñòàíäàðòîâ äëÿ øèôðîâàíèÿ äàííûõ, ïåðåäàâàåìûõ ïî÷òîâûìè ñèñòåìàìè. Àëãîðèòì ñòàë ïîáåäèòåëåì êîíêóðñà â ïåðâîì ïðîôèëå (ïîòî÷íûå øèôðû äëÿ ïðîãðàììíîãî ïðèìåíåíèÿ ñ áîëüøîé ïðîïóñêíîé ñïîñîáíîñòüþ).
Øèôð Salsa20 èñïîëüçóåò ñëåäóþùèå îïåðàöèè:
ñëîæåíèå 32-áèòíûõ ÷èñåë;
ïîáèòîâîå ñëîæåíèå ïî ìîäóëþ 2 (xor);
ñäâèãè áèòîâ.
Àëãîðèòì èñïîëüçóåò õåø-ôóíêöèþ ñ 20 öèêëàìè. Îñíîâíûå å¸ ïðåîáðàçîâàíèÿ íàïîìèíàþò àëãîðèòì AES.
Seal
Ñèììåòðè÷íûé ïîòî÷íûé àëãîðèòì øèôðîâàíèÿ äàííûõ, îïòèìèçèðîâàííûé äëÿ ïðîãðàììíîé ðåàëèçàöèè.
Ðàçðàáîòàí â IBM Ôèëîì Ðîãýâååì (àíãë.) (àíãë. Phil Rogaway) è Äîíîì Êîïïåðñìèòîì (àíãë. Don Coppersmith) â 1993 ãîäó. Àëãîðèòì îïòèìèçèðîâàí è ðåêîìåíäîâàí äëÿ 32-áèòíûõ ïðîöåññîðîâ. Äëÿ ðàáîòû åìó òðåáóåòñÿ êýø-ïàìÿòü íà íåñêîëüêî êèëîáàéò è âîñåìü 32-áèòîâûõ ðåãèñòðîâ. Ñêîðîñòü øèôðîâàíèÿ — ïðèìåðíî 4 ìàøèííûõ òàêòà íà áàéò òåêñòà. Äëÿ êîäèðîâàíèÿ è äåêîäèðîâàíèÿ èñïîëüçóåòñÿ 160-áèòíûé êëþ÷. ×òîáû èçáåæàòü íåæåëàòåëüíîé ïîòåðè ñêîðîñòè ïî ïðè÷èíå ìåäëåííûõ îïåðàöèé îáðàáîòêè êëþ÷à, SEAL ïðåäâàðèòåëüíî âûïîëíÿåò ñ íèì íåñêîëüêî ïðåîáðàçîâàíèé, ïîëó÷àÿ â ðåçóëüòàòå òðè òàáëèöû îïðåäåëåííîãî ðàçìåðà. Íåïîñðåäñòâåííî äëÿ øèôðîâàíèÿ è ðàñøèôðîâàíèÿ òåêñòà âìåñòî ñàìîãî êëþ÷à èñïîëüçóþòñÿ ýòè òàáëèöû.
Àëãîðèòì ñ÷èòàåòñÿ î÷åíü íà䏿íûì, î÷åíü áûñòðûì è çàùèù¸í ïàòåíòîì ÑØÀ ¹ 5454039 ñ äåêàáðÿ 1993 ãîäà.
Sosemanuk
Sosemanuk ÿâëÿåòñÿ íîâûì ñèììåòðè÷íûì ÏÎ – îðèåíòèðîâàííûì ïîòîêîâûì øèôðîì, ñîãëàñíî Profile 1 «ECRYPT call for stream cipher primitives». Äëèíà êëþ÷à êîëåáëåòñÿ îò 128 äî 256 áèò. Íà÷àëüíîå çíà÷åíèå óñòàíàâëèâàåòñÿ îáú¸ìîì 128 áèò. Êàê óòâåðæäàåòñÿ, ëþáàÿ äëèíà êëþ÷à äîñòèãàåò 128-áèòíîé çàùèòû. Øèôð Sosemanuk èñïîëüçóåò êàê îñíîâíûå ïðèíöèïû èç ïîòîêîâîãî øèôðà SNOW 2.0, òàê è íåêîòîðûå ïðåîáðàçîâàíèÿ, âûâåäåííûå èç áëî÷íîãî øèôðà SERPENT. Sosemanuk íàöåëåí íà óëó÷øåíèå SNOW 2.0 êàê â ñìûñëå áåçîïàñíîñòè, òàê è ñìûñëå ýôôåêòèâíîñòè.  ÷àñòíîñòè, îí èñïîëüçóåò áûñòðóþ IV-setup ïðîöåäóðó. Òàê æå íåîáõîäèìî ñíèæåíèå ÷èñëà ñòàòè÷åñêèõ äàííûõ â ïîëüçó óëó÷øåíèÿ ïðîèçâîäèòåëüíîñòè íà íåñêîëüêèõ àðõèòåêòóðàõ(ïëàòôîðìàõ).
Øèôð Sosemanuk èñïîëüçóåò êàê îñíîâíûå ïðèíöèïû ïîòîêîâîãî øèôðà SNOW 2.0 («Snow» – àíãë. «ñíåã»), òàê è íåêîòîðûå òðàíñôîðìàöèè(ïðåîáðàçîâàíèÿ), âûâåäåííûå èç áëî÷íîãî øèôðà SERPENT («SERPENT» – àíãë. «çìåÿ»). Ïî ýòîé ïðè÷èíå åãî íàçâàíèå äîëæíî áûòü ñâÿçàíî è ñî çìå¸é, è ñî ñíåãîì. Îäíàêî õîðîøî èçâåñòíî, ÷òî ñíåæíûõ çìåé íå ñóùåñòâóåò, òàê êàê çìåè ëèáî çàñûïàþò, ëèáî ïåðåáèðàþòñÿ â ò¸ïëûå êðàÿ íà âðåìÿ çèìû. Êðîìå òîãî, Sosemanuk – ïîïóëÿðíûé âèä ñïîðòà, ðàñïðîñòðàíåííûé ñðåäè ïëåì¸í Âîñòî÷íîé Êàíàäû. Èäåÿ èãðû ñîñòîèò â ìåòàíèè äåðåâÿííîé ïàëêè âäîëü ñíåæíîãî áåðåãà íàñòîëüêî, íàñêîëüêî ýòî âîçìîæíî. Íàçâàíèå ïðîèñõîäèò èç íàðå÷èÿ íàðîäîâ è ñîäåðæèò ñðàâíåíèå ïàëêè íà ñíåãó ñî çìå¸é. «Kwakweco-cime win» ÿâëÿåòñÿ îäíèì èç íàçâàíèé ïîäîáíîé èãðû, íî îíî íå çâó÷èò ñîîòâåòñòâóþùå äëÿ íàçâàíèÿ øèôðà.
Trivium
Ñèììåòðè÷íûé àëãîðèòì ñèíõðîííîãî ïîòîêîâîãî øèôðîâàíèÿ, îðèåíòèðîâàííûé, â ïåðâóþ î÷åðåäü, íà àïïàðàòíóþ ðåàëèçàöèþ ñ ãèáêèì ðàâíîâåñèåì ìåæäó ñêîðîñòüþ ðàáîòû è êîëè÷åñòâîì ýëåìåíòîâ, èìåþùèé òàêæå âîçìîæíîñòü äîñòàòî÷íî ýôôåêòèâíîé ïðîãðàììíîé ðåàëèçàöèè.
Øèôð áûë ïðåäñòàâëåí â äåêàáðå 2008 ãîäà êàê ÷àñòü ïîðòôîëèî åâðîïåéñêîãî ïðîåêòà eSTREAM, ïî ïðîôèëþ 2 (àïïàðàòíî îðèåíòèðîâàííûå øèôðû). Àâòîðàìè øèôðà ÿâëÿþòñÿ Êðèñòîô Äå Êàííüåð è Áàðò Ïðåíåë.
Äàííûé ïîòîêîâûé øèôð ãåíåðèðóåò âïëîòü äî
2 64 áèò âûõîäíîãî ïîòîêà èç 80 áèò êëþ÷à è 80 áèò IV (âåêòîðà èíèöèàëèçàöèè). Ýòî — ñàìûé ïðîñòîé øèôð ïðîåêòà eSTREAÌ, êîòîðûé ïîêàçûâàåò îòëè÷íûå ðåçóëüòàòû ïî êðèïòîóñòîé÷èâîñòè.
Trivium âêëþ÷åí â ñòàíäàðò ISO/IEC 29192-3 â êà÷åñòâå ëåãêîâåñíîãî ïîòîêîâîãî øèôðà.
Èçíà÷àëüíîå ñîñòîÿíèå Trivium ïðåäñòàâëÿåò ñîáîé 3 ñäâèãîâûõ ðåãèñòðà ñóììàðíîé äëèíû â 288 áèò. Êàæäûé òàêò ïðîèñõîäèò èçìåíåíèå áèòîâ â ðåãèñòðàõ ñäâèãà ïóò¸ì íåëèíåéíîé êîìáèíàöèè ïðÿìîé è îáðàòíîé ñâÿçè. Äëÿ èíèöèàëèçàöèè øèôðà êëþ÷ K è èíèöèàëèçèðóþùèé âåêòîð IV çàïèñûâàþòñÿ â 2 èç 3õ ðåãèñòðîâ è ïðîèñõîäèò èñïîëíåíèå àëãîðèòìà â òå÷åíèå 4õ288 = 1152 ðàç, ÷òî ãàðàíòèðóåò çàâèñèìîñòü êàæäîãî áèòà íà÷àëüíîãî ñîñòîÿíèÿ îò êàæäîãî áèòà êëþ÷à è êàæäîãî áèòà èíèöèàëèçèðóþùåãî âåêòîðà.
Ïîñëå ïðîõîæäåíèÿ ñòàäèè èíèöèàëèçàöèè êàæäûé òàêò ãåíåðèðóåòñÿ íîâûé ÷ëåí êëþ÷åâîãî ïîòîêà Z, êîòîðûé ïðîõîäèò ïðîöåäóðó XOR ñ ñëåäóþùèì ÷ëåíîì òåêñòà. Ïðîöåäóðà ðàñøèôðîâêè ïðîèñõîäèò â îáðàòíîì ïîðÿäêå — êàæäûé ÷ëåí øèôðîòåêñòà ïðîõîäèò ïðîöåäóðó XOR ñ êàæäûì ÷ëåíîì êëþ÷åâîãî ïîòîêà Z.
VMPC
Ýòî ïîòîêîâûé øèôð, ïðèìåíÿþùèéñÿ â íåêîòîðûõ ñèñòåìàõ çàùèòû èíôîðìàöèè â êîìïüþòåðíûõ ñåòÿõ. Øèôð ðàçðàáîòàí êðèïòîãðàôîì Áàðòîøåì Æóëòàêîì (ïîëüñê. Bartosz Żółtak, àíãë. Bartosz Zoltak) â êà÷åñòâå óñèëåííîãî âàðèàíòà ïîïóëÿðíîãî øèôðà RC4. Àëãîðèòì VMPC ñòðîèòñÿ, êàê è ëþáîé ïîòîêîâûé øèôð íà îñíîâå ïàðàìåòðèçîâàííîãî êëþ÷îì ãåíåðàòîðà ïñåâäîñëó÷àéíûõ áèòîâ. Îñíîâíûå ïðåèìóùåñòâà øèôðà, êàê è RC4 — âûñîêàÿ ñêîðîñòü ðàáîòû, ïåðåìåííûé ðàçìåð êëþ÷à è âåêòîðà èíèöèàëèçàöèè (îò 128 äî 512 áèò âêëþ÷èòåëüíî), ïðîñòîòà ðåàëèçàöèè (áóêâàëüíî íåñêîëüêî äåñÿòêîâ ñòðîê êîäà).
Îñíîâà øèôðà — ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë, áàçîé êîòîðîãî ÿâëÿåòñÿ îäíîñòîðîííÿÿ íåîáðàòèìàÿ ôóíêöèÿ VMPC (àíãë. Variably Modified Permutation Composition).
FROG
Àëãîðèòì ñèììåòðè÷íîãî áëî÷íîãî øèôðîâàíèÿ c íåîðòîäîêñàëüíîé ñòðóêòóðîé, îäèí èç ó÷àñòíèêîâ àìåðèêàíñêîãî êîíêóðñà AES, ðàçðàáîòêà êîñòàðèêàíñêîé êîìïàíèè TecApro Internacional.
Àëãîðèòì FROG áûë ñîçäàí â 1998 òðåìÿ ñïåöèàëèñòàìè êîìïàíèè Tecnologia Apropriada (ÒåñÀðãî) èç íåáîëüøîãî ëàòèíîàìåðèêàíñêîãî ãîñóäàðñòâà Êîñòà-Ðèêà (íåèçâåñòíîãî ðàíåå ñâîèìè ðàçðàáîòêàìè â îáëàñòè êðèïòîãðàôèè): Äèàíåëîñîì Ãåîðãîóäèñîì (Dianelos Georgoudis), Äàìèàíîì Jlepy (Damian Leroux) è Áèëëè Ñèìîíîì ×àâåñîì (Billy Simon Chaves).
Çàÿâëåííûé íà êîíêóðñ âàðèàíò øèôðà ñîîòâåòñòâóåò òðåáîâàíèÿì AES, èìåÿ áëîê, ðàâíûé 128 áèò è êëþ÷ äëèíîé 128, 192 èëè 256 áèò. Ñàì àëãîðèòì, òåîðåòè÷åñêè, äîïóñêàåò êëþ÷è äëèíîé îò 40 äî 1000 áèò.
Øèôð FROG âûñòàâèëà íà êîíêóðñ ìåæäóíàðîäíàÿ êîìïàíèÿ TecApro Internacional, çàðåãèñòðèðîâàííàÿ â Êîñòà-Ðèêå. Ðàçðàáîò÷èêè àëãîðèòìà — Ä. Ãåîðãóäèñ (D. Georgoudis), Ä. Ëåðó (D. Leroux) è Á. Øàâå (B. Chaves) — ëþäè, ìÿãêî ãîâîðÿ, ìàëî èçâåñòíûå â êðèïòîãðàôè÷åñêîì ìèðå. Êàê óòâåðæäàþò àâòîðû, FROG — ýòî «íîâûé øèôð ñ íåîðòîäîêñàëüíîé ñòðóêòóðîé». Îñíîâó ñòîéêîñòè øèôðà ñîñòàâëÿåò ñåêðåòíûé âíóòðåííèé êëþ÷ ñëîæíîé êîíñòðóêöèè, ñàìè æå îïåðàöèè øèôðîâàíèÿ/äåøèôðîâàíèÿ ÷ðåçâû÷àéíî ïðîñòû.
 àâãóñòå êîìàíäà TWOFISH (Âàãíåð, Ôåðãþñîí è Øíàéåð) ïîêàçàëè, ÷òî êëþ÷ øèôðà FROG ìîæíî âñêðûâàòü ïðè òðóäîçàòðàòàõ îêîëî 257.
×òî æå êàñàåòñÿ ñòîéêîñòè øèôðîâ, òî ýòîò ïîêàçàòåëü ïðîâåðèòü çíà÷èòåëüíî ñëîæíåå.  õîäå ýòàïà ïðåäâàðèòåëüíîé îöåíêè ïåðâîãî êðóãà íà web-ñàéòå ÍÈÑÒ è íåïîñðåäñòâåííî íà êîíôåðåíöèè AES2 áûëî ïðåäñòàâëåíî çíà÷èòåëüíîå êîëè÷åñòâî êðèïòîàíàëèòè÷åñêèõ ðåçóëüòàòîâ, òàê èëè èíà÷å «ïîäìî÷èâøèõ» ðåïóòàöèþ ïðàêòè÷åñêè âñåõ øèôðîâ-êàíäèäàòîâ. Îäíàêî, åñëè íå ãîâîðèòü î ÿâíûõ àóòñàéäåðàõ LOKI, FROG, MAGENTA è HPC, òî íèêàêèõ î÷åâèäíûõ ñëàáîñòåé â àëãîðèòìàõ íå îáíàðóæåíî.
NUSH
Áëî÷íûé àëãîðèòì ñèììåòðè÷íîãî øèôðîâàíèÿ, ðàçðàáîòàííûé Àíàòîëèåì Ëåáåäåâûì è Àëåêñååì Âîë÷êîâûì äëÿ ðîññèéñêîé êîìïàíèè LAN Crypto.
NUSH èìååò íåñêîëüêî ðàçëè÷íûõ âàðèàíòîâ, èìåþùèõ ðàçíûé ðàçìåð áëîêà (64, 128, 256 áèò), ðàçëè÷íîå ÷èñëî ðàóíäîâ (â çàâèñèìîñòè îò ðàçìåðà áëîêà ðàâíî 36, 128 èëè 132 ðàóíäà) è èñïîëüçóåò äëèíó êëþ÷à â 128, 192 èëè 256 áèò. Àëãîðèòì íå èñïîëüçóåò S-áëîêè, à òîëüêî òàêèå îïåðàöèè, êàê AND, OR, XOR, ñëîæåíèå ïî ìîäóëþ è öèêëè÷åñêèå ñäâèãè. Ïåðåä ïåðâûì è ïîñëå ïîñëåäíåãî ðàóíäà ïðîâîäèòñÿ «îòáåëèâàíèå» êëþ÷à.
Äàííûé àëãîðèòì áûë âûäâèíóò â ïðîåêòå NESSIE, íî íå áûë âûáðàí, òàê êàê áûëî ïîêàçàíî, ÷òî ëèíåéíûé êðèïòîàíàëèç ìîæåò áûòü ýôôåêòèâíåå, ÷åì àòàêà ïåðåáîðîì.
Íà îñíîâå àëãîðèòìà øèôðîâàíèÿ ìîæíî ïîñòðîèòü è äðóãèå àëãîðèòìû. Íåñêîëüêî èç íèõ èçëîæåíû â íàñòîÿùåé ñòàòüå.
REDOC
Ñèììåòðè÷íûé áëî÷íûé êðèïòîàëãîðèòì, ðàçðàáîòàííûé Ìàéêëîì Âóäîì â 1990 ãîäó äëÿ êîìïàíèè Cryptech è ïîëó÷èâøèé íàèìåíîâàíèå REDOC II. Âñå îïåðàöèè — ïîäñòàíîâêè, ïåðåñòàíîâêè, XOR âûïîëíÿþòñÿ ñ áàéòàìè ÷òî ïîçâîëÿåò åãî ýôôåêòèâíî ðåàëèçîâàòü ïðîãðàììíî. Àëãîðèòì èñïîëüçóåò çàâèñèìûå îò êëþ÷à è èñõîäíîãî îòêðûòîãî òåêñòà íàáîðû òàáëèö (S-áëîêîâ), èñïîëüçóÿ ìåíÿþùèåñÿ òàáëè÷íûå ôóíêöèè. Àëãîðèòì îòëè÷àåò èñïîëüçîâàíèå ìàñîê, ò.å. ÷èñåë, ïîëó÷àåìûõ èç êëþ÷åâîé òàáëèöû. Ìàñêè èñïîëüçóþòñÿ äëÿ âûáîðà òàáëèö êîíêðåòíîé ôóíêöèè êîíêðåòíîãî ðàóíäà. Ïðè ýòîì èñïîëüçóåòñÿ êàê çíà÷åíèå ìàñêè, òàê è çíà÷åíèå äàííûõ.
Íàèáîëåå ýôôåêòèâíûì ñïîñîáîì âñêðûòèÿ êëþ÷à ñ÷èòàåòñÿ ãðóáàÿ ñèëà, äëÿ äîñòèæåíèÿ öåëè ïîòðåáóåòñÿ 2160 îïåðàöèé. Ïðàêòè÷åñêè åäèíñòâåííûì ýôôåêòèâíûì êðèïòîàíàëèçîì áûëî âñêðûòèå îäíîãî èç ðàóíäîâ àëãîðèòìà Òîìàñîì Êóçèêîì, íî ðàñøèðèòü âñêðûòèå íà äàëüíåéøèå ðàóíäû íå óäàëîñü. Ñ ïîìîùüþ 2300 îòêðûòûõ òåêñòîâ áûë ïðîâåäåí êðèïòîàíàëèç îäíîãî èç ðàóíäîâ Øàìèðîì è Áèõàìîì, ïîñëå 4 ðàóíäîâ áûëè ïîëó÷åíû 3 çíà÷åíèÿ ìàñêè, îäíàêî óñïåõîâ êàê òàêîâûõ ýòî íå ïðèíåñëî è íà äàííûé ìîìåíò àëãîðèòì ñ÷èòàåòñÿ êðèïòîñòîéêèì.
Ñóùåñòâóåò òàêæå çíà÷èòåëüíî óïðîùåííàÿ âåðñèÿ àëãîðèòìà — REDOC III, ñîçäàííûé Ìàéêëîì Âóäîì. Èñïîëüçóåòñÿ 80-áèòíûé áëîê, äëèíà êëþ÷à ïåðåìåííà, ìîæåò äîñòèãàòü 20480 áèòîâ. Ïåðåñòàíîâêè è ïîäñòàíîâêè èñêëþ÷åíû, âñå îïåðàöèè íàä áëîêîì è êëþ÷îì îñíîâàíû ëèøü íà ïðèìåíåíèè XOR, çà ñ÷åò ÷åãî çíà÷èòåëüíî óâåëè÷åíà ñêîðîñòü øèôðîâàíèÿ â óùåðá ñòîéêîñòè ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Îñíîâîé àëãîðèòìà ÿâëÿþòñÿ ãåíåðèðîâàííûå íà îñíîâå ñåêðåòíîãî êëþ÷à 256 10-áàéòîâûõ êëþ÷åé, è ïîëó÷åííûå íà îñíîâå XOR 128 10-áàéòîâûõ êëþ÷åé äâà 10-áàéòîâûõ áëîêà ìàñêè. Äëÿ óñïåøíîãî âîññòàíîâëåíèÿ îáåèõ ìàñîê àëãîðèòìà REDOC III òðåáóåòñÿ 223 îòêðûòûõ òåêñòîâ. Ýòîò àëãîðèòì íåñëîæåí è áûñòð. Íà 33 ìåãàãåðöîâîì ïðîöåññîðå 80386 îí øèôðóåò äàííûå ñî ñêîðîñòüþ 2.75 Ìáèò/ñ. Êðèïòîãðàôè÷åñêàÿ ñèñòåìà REDOC II ñïîñîáíà øèôðîâàòü 800 êáèò/ñ ïðè òàêòîâîé ÷àñòîòå 20 ÌÃö.
Àëãîðèòì REDOC II è åãî óïðîùåííàÿ âåðñèÿ çàïàòåíòîâàíû â ÑØÀ.