Áðþñ Øíàéåð Ïðèêëàäíàÿ êðèïòîãðàôèÿ 2-å èçäàíèå Ïðîòîêîëû, àëãîðèòìû è èñõîäíûå òåêñòû íà ÿçûêå Ñ
ÑÎÄÅÐÆÀÍÈÅ
Óèòôèëä Äèôôè. Ïðåäèñëîâèå
Ââåäåíèå Ãëàâà 1 Îñíîâíûå ïîíÿòèÿ 1.1 Òåðìèíîëîãèÿ 1.2 Ñòåãàíîãðàôèÿ 1.3 Ïîäñòàíîâî÷íûå è ïåðåñòàíîâî÷íûå øèôðû 1.4 Ïðîñòîå XOR 1.5 Îäíîðàçîâûå áëîêíîòû 1.6 Êîìïüþòåðíûå àëãîðèòìû 1.7 Áîëüøèå ÷èñëà
×àñòü 1Êðèïòîãðàôè÷åñêèå ïðîòîêîëû Ãëàâà 2 Ýëåìåíòû ïðîòîêîëîâ 2.1 Ââåäåíèå â ïðîòîêîëû 2.2 Ïåðåäà÷à èíôîðìàöèè ñ èñïîëüçîâàíèåì ñèììåòðè÷íîé êðèïòîãðàôèè 2.3 Îäíîíàïðàâëåííûå ôóíêöèè 2.4 Îäíîíàïðàâëåííûå õýø-ôóíêöèè 2.5 Ïåðåäà÷à èíôîðìàöèè ñ èñïîëüçîâàíèåì êðèïòîãðàôèè ñ îòêðûòûìè êë þ÷àìè 2.6 Öèôðîâûå ïîäïèñè 2.7 Öèôðîâûå ïîäïèñè è øèôðîâàíèå 2.8. Ãåíåðàöèÿ ñëó÷àéíûõ è ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé
Ãëàâà 3 Îñíîâíûå ïðîòîêîëû 3.1 Îáìåí êëþ÷àìè 3.2 Óäîñòîâåðåíèå ïîäëèííîñòè 3.3 Óäîñòîâåðåíèå ïîäëèííîñòè è îáìåí êëþ÷àìè 3.4 Ôîðìàëüíûé àíàëèç ïðîòîêîëîâ ïðîâåðêè ïîäëèííîñòè è îáìåíà êëþ÷àìè 3.5 Êðèïòîãðàôèÿ ñ íåñêîëüêèìè îòêðûòûìè êëþ÷àìè 3.6 Ðàçäåëåíèå ñåêðåòà 3.7 Ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà 3.8 Êðèïòîãðàôè÷åñêàÿ çàùèòà áàç äàííûõ
Ãëàâà 4 Ïðîìåæóòî÷íûå ïðîòîêîëû 4.1 Ñëóæáû ìåòîê âðåìåíè 4.2 Ïîäñîçíàòåëüíûé êàíàë 4.3 Íåîòðèöàåìûå öèôðîâûå ïîäïèñè 4.4 Ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ 4.5 Ïîäïèñè ïî äîâåðåííîñòè 4.6 Ãðóïïîâûå ïîäïèñè 4.7 Ïîäïèñè ñ îáíàðóæåíèåì ïîääåëêè 4.8 Âû÷èñëåíèÿ ñ çàøèôðîâàííûìè äàííûìè 4.9 Âðó÷åíèå áèòîâ 4.10 Ïîäáðàñûâàíèå "÷åñòíîé" ìîíåòû 4.11 Ìûñëåííûé ïîêåð 4.12 Îäíîíàïðàâëåííûå ñóììàòîðû 4.13 Ðàñêðûòèå ñåêðåòîâ "âñå èëè íè÷åãî" 4.14 Óñëîâíîå âðó÷åíèå êëþ÷åé
Ãëàâà 5 Ðàçâèòûå ïðîòîêîëû 5.1 Äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì 5.2 Èñïîëüçîâàíèå äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì äëÿ èäåíòèôèêàöèè 5.3 Ñëåïûå ïîäïèñè 5.4 Ëè÷íîñòíàÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè 5.5 Ðàññåÿííàÿ ïåðåäà÷à 5.6 Ðàññåÿííûå ïîäïèñè 5.7 Îäíîâðåìåííàÿ ïîäïèñü êîíòðàêòà 5.8 Ýëåêòðîííàÿ ïî÷òà ñ ïîäòâåðæäåíèåì 5.9 Îäíîâðåìåííûé îáìåí ñåêðåòàìè
Ãëàâà 6 Ýçîòåðè÷åñêèå ïðîòîêîëû 6.1 Áåçîïàñíûå âûáîðû 6.2 Áåçîïàñíûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè 6.3 Àíîíèìíàÿ øèðîêîâåùàòåëüíàÿ ïåðåäà÷à ñîîáùåíèé 6.4 Ýëåêòðîííûå íàëè÷íûå
×àñòü 11Êðèïòîãðàôè÷åñêèå ìåòîäû Ãëàâà 7 Äëèíà êëþ÷à 7.1 Äëèíà ñèììåòðè÷íîãî êëþ÷à 7.2 Äëèíà îòêðûòîãî êëþ÷à 7.3 Ñðàâíåíèå äëèí ñèììåòðè÷íûõ è î òêðûòûõ êëþ÷åé 7.4 Âñêðûòèå â äåíü ðîæäåíèÿ ïðîòèâ îäíîíàïðàâëåííûõ õýø-ôóíêöèé 7.5 Êàêîâ äîëæíû áûòü äëèíà êëþ÷à ? 7.6 Caveat emptor
Ãëàâà 8 Óïðàâëåíèå êëþ÷àìè 8.1 Ãåíåðàöèÿ êëþ÷åé 8.2 Íåëèíåéíûå ïðîñòðàíñòâà êëþ÷åé 8.3 Ïåðåäà÷à êëþ÷åé 8.4 Ïðîâåðêà êëþ÷åé 8.5 Èñïîëüçîâàíèå êëþ÷åé 8.6 Îáíîâëåíèå êëþ÷åé 8.7 Õðàíåíèå êëþ÷åé 8.8 Ðåçåðâíûå êëþ÷è 8.9 Ñêîìïðîìåòèðîâàííûå êëþ÷è 8.10 Âðåìÿ æèçíè êëþ÷åé 8.11 Ðàçðóøåíèå êëþ÷åé 8.12 Óïðàâëåíèå îòêðûòûìè êëþ÷àìè
Ãëàâà 9 Òèïû àëãîðèòìîâ è êðèïòîãðàôè÷åñêèå ðåæèìû 9.1 Ðåæèì ýëåêòðîííîé øèôðîâàëüíîé êíèãè 9.2 Ïîâòîð áëîêà 9.3 Ðåæèì ñöåïëåíèÿ áëîêîâ øèôðà 9.4 Ïîòîêîâûå øèôðû 9.5 Ñàìîñèíõðîíèçèðóþùèåñÿ ïîòîêîâûå øèôðû 9.6 Ðåæèì îáðàòíîé ñâÿçè ïî øèôðó 9.7 Ñèíõðîííûå ïîòîêîâûå øèôðû 9.8 Ðåæèì âûõîäíîé îáðàòíîé ñâÿçè 9.9 Ðåæèì ñ÷åò÷èêà 9.10 Äðóãèå ðåæèìû áëî÷íûõ øèôðîâ 9.11 Âûáîð ðåæèìà øèôðà 9.12 Ïðîñëàèâàíèå 9.13 Áëî÷íûå øèôðû ïðîòèâ ïîòîêîâûõ øèôðîâ
Ãëàâà 10 (Òåêñò ãëàâû íà àíãëèéñêîì, sorry. Ïåðåâîä÷èê, ïîõîæå, óñòàë :-) Èñïîëüçîâàíèå àëãîðèòìîâ 10.1 Âûáîð àëãîðèòìà 10.2 Êðèïòîãðàôèÿ ñ îòêðûòûì êëþ÷îì ïðîòèâ ñèììåòðè÷íîé êðèïòîãðàôèè
10.3 10.4 10.5 10.6 10.7 10.8 10.9
Øèôðîâàíèå êîììóíèêàöèîííûõ êàíàëîâ Øèôðîâàíèå õðàíèìûõ äàííûõ Àïïàðàòíîå øèôðîâàíèå ïðîòèâ ïðîãðàììíîãî øèôðîâàíèÿ Êîìïðåññèÿ, êîäèðîâàíèå è øèôðîâàíèå Âûÿâëåíèå øèôðîâàíèÿ Ñêðûòèå øèôðòåêñòà â øèôðòåêñòå Ðàçðóøåíèå èíôîðìàöèè
×àñòü 111Êðèïòîãðàôè÷åñêèå àëãîðèòìû Ãëàâà 11 Ìàòåìàòè÷åñêèå îñíîâû 11.1 Òåîðèÿ èíôîðìàöèè 11.2 Òåîðèÿ ñëîæíîñòè 11.3 Òåîðèÿ ÷èñåë 11.4 Ðàçëîæåíèå íà ìíîæèòåëè 11.5 Ãåíåðàöèÿ ïðîñòîãî ÷èñëà 11.6 Äèñêðåòíûå ëîãàðèôìû â êîíå÷íîì ïîëå
Ãëàâà 12 Ñòàíäàðò øèôðîâàíèÿ äàííûõ DES 12.1 Ââåäåíèå 12.2 Îïèñàíèå DES 12.3 Áåçîïàñíîñòü DES 12.4 Äèôôåðåíöèàëüíûé è ëèíåéíûé êðèïòîàíàëèç 12.5 Ðåàëüíûå êðèòåðèè ïðîåêòèðîâàíèÿ 12.6 Âàðèàíòû DES 12.7 Íàñêîëüêî áåçîïàñåí ñåãîäíÿ DES?
Ãëàâà 13 Äðóãèå áëî÷íûå øèôðû 13.1 LUCIFER 13.2 MADRYGA 13.3 NewDES 13.4 FEAL 13.5 REDOC 13.6 LOKI 13.7 KHUFU è KHAFRE 13.8 RC2 13.9 IDEA 13.10 MMB 13.11 CA-1.1 13.12 SKIPJACK
Ãëàâà 14 È åùå î áëî÷íûõ øèôðàõ 14.1 ÃÎÑÒ 14.2 CAST 14.3 BLOWFISH 14.4 SAFER 14.5 3-WAY 14.6 CRAB 14.7 SXAL8/MBAL 14.8 RC5 14.9 Äðóãèå áëî÷íûå àëãîðèòìû 14.10 Òåîðèÿ ïðîåêòèðîâàíèÿ áëî÷íîãî øèôðà 14.11 Èñïîëüçîâàíèå îäíîíàïðàâëåííûõ õýø-ôóíêöèé 14.12 Âûáîð áëî÷íîãî àëãîðèòìà
Ãëàâà 15 Îáúåäèíåíèå áëî÷íûõ øèôðîâ 15.1 Äâîéíîå øèôðîâàíèå 15.2 Òðîéíîå øèôðîâàíèå 15.3 Óäâîåíèå äëèíû áëîêà 15.4 Äðóãèå ñõåìû ìíîãîêðàòíîãî øèôðîâàíèÿ 15.5 Óìåíüøåíèå äëèíû êëþ÷à â CDMF 15.6 Îòáåëèâàíèå 15.7 Ìíîãîêðàòíîå ïîñëåäîâàòåëüíîå èñïîëüçîâàíèå áëî÷íûõ àëãîðèòìîâ 15.8 Îáúåäèíåíèå íåñêîëüêèõ áëî÷íûõ àëãîðèòìîâ
Ãëàâà 16 Ãåíåðàòîðû ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé è ïîòîêîâûå øèôðû 16.1 Ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû 16.2 Ñäâèãîâûå ðåãèñòðû ñ ëèíåéíîé îáðàòíîé ñâÿçüþ 16.3 Ïðîåêòèðîâàíèå è àíàëèç ïîòîêîâûõ øèôðîâ 16.4 Ïîòîêîâûå øèôðû íà áàçå LFSR 16.5 A5 16.6 Hughes XPD/KPD 16.7 Nanoteq 16.8 Rambutan 16.9 Àääèòèâíûå ãåíåðàòîðû 16.10 Gifford 16.11 Àëãîðèòì M 16.12 PKZIP
Ãëàâà 17 Äðóãèå ïîòîêîâûå øèôðû è ãåíåðàòîðû íàñòîÿùèõ ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé 17.1 RC4 17.2 SEAL
17.3 WAKE 17.4 Ñäâèãîâûå ðåãèñòðû ñ îáðàòíîé ñâÿçüþ ïî ïåðåíîñó 17.5 Ïîòîêîâûå øèôðû, èñïîëüçóþùèå FCSR 17.6 Ñäâèãîâûå ðåãèñòðû ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ 17.7 Äðóãèå ïîòîêîâûå øèôðû 17.8 Ñèñòåìíî-òåîðåòè÷åñêèé ïîäõîä ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ 17.9 Ñëîæíîñòíî-òåîðåòè÷åñêèé ïîäõîä ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ 17.10 Äðóãèå ïîäõîäû ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ 17.11 Øèôðû ñ êàñêàäîì íåñêîëüêèõ ïîòîêîâ 17.12 Âûáîð ïîòîêîâîãî øèôðà 17.13 Ãåíåðàöèÿ íåñêîëüêèõ ïîòîêîâ èç îäíîãî ãåíåðàòîðà ïñåâäîñëó÷àéíîé ïîñëåäîâàòåëüíîñòè 17.14 Ãåíåðàòîðû ðåàëüíûõ ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé
Ãëàâà 18 Îäíîíàïðàâëåííûå õýø-ôóíêöèè 18.1 Îñíîâû 18.2 Snefru 18.3 N-õýø 18.4 MD4 18.5 MD5 18.6 MD2 18.7 Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ ( Secure Hash Algorithm, SHA) 18.8 RIPE-MD 18.9 HAVAL 18.10 Äðóãèå îäíîíàïðàâëåííûå õýø-ôóíêöèè 18.11 Îäíîíàïðàâëåííûå õýø-ôóíêöèè , èñïîëüçóþùèå ñèììåòðè÷íûå áëî ÷íûå àëãîðèòìû 18.12 Èñïîëüçîâàíèå àëãîðèòìîâ ñ îòêðûòûì êëþ÷îì 18.13 Âûáîð îäíîíàïðàâëåííîé õýø-ôóíêöèè 18.14 Êîäû ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ
Ãëàâà 19 Àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè 19.1 Îñíîâû 19.2 Àëãîðèòìû ðþêçàêà 19.3 RSA 19.4 Pohlig-Hellman 19.5 Rabin 19.6 ElGamal 19.7 McEliece 19.8 Êðèïòîñèñòåìû ñ ýëëèïòè÷åñêèìè êðèâûìè 19.9 LUC 19.10 Êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì íà áàçå êîíå÷íûõ àâòîìàòîâ
Ãëàâà 20 Àëãîðèòìû öèôðîâîé ïîäïèñè ñ îòêðûòûì êëþ÷îì 20.1 Àëãîðèòì öèôðîâîé ïîäïèñè (DIGITAL SIGNATURE ALGORITHM , DSA) 20.2 Âàðèàíòû DSA 20.3 Àëãîðèòì öèôðîâîé ïîäïèñè ÃÎÑÒ 20.4 Ñõåìû öèôðîâîé ïîäïèñè ñ èñïîëüçîâàíèåì äèñêðåòíûõ ëîãàðèôìîâ
20.5 ONG-SCHNORR-SHAMIR 20.6 ESIGN 20.7 Êëåòî÷íûå àâòîìàòû 20.8 Äðóãèå àëãîðèòìû ñ îòêðûòûì êëþ÷îì
Ãëàâà 21 Ñõåìû èäåíòèôèêàöèè 21.1 FEIGE-FIAT-SHAMIR 21.2 GUILLOU-QUISQUATER 21.3 SCHNORR 21.4 Ïðåîáðàçîâàíèå ñõåì èäåíòèôèêàöèè â ñõåìû ïîäïèñè
Ãëàâà 22 Àëãîðèòìû îáìåíà êëþ÷àìè 22.1 DIFFIE-HELLMAN 22.2 Ïðîòîêîë "òî÷êà-òî÷êà" 22.3 Òðåõïðîõîäíûé ïðîòîêîë Øàìèðà 22.4 COMSET 22.5 Îáìåí çàøèôðîâàííûìè êëþ÷àìè 22.6 Çàùèøåííûå ïåðåãîâîðû î êëþ÷å 22.7 Ðàñïðåäåëåíèå êëþ÷à äëÿ êîíôåðåíöèè è ñåêðåòíàÿ øèðîêîâåùàòåëüíàÿ ïåðåäà÷à
Ãëàâà 23 Ñïåöèàëüíûå àëãîðèòìû äëÿ ïðîòîêîëîâ 23.1 Êðèïòîãðàôèÿ ñ íåñêîëüêèìè îòêðûòûìè êëþ÷àìè 23.2 Àëãîðèòìû ðàçäåëåíèÿ ñåêðåòà 23.3 Ïîäñîçíàòåëüíûé êàíàë 23.4 Íåîòðèöàåìûå öèôðîâûå ïîäïèñè 23.5 Ïîäïèñè, ïîäòâåðæäàåìûå äîâåðåííûì ëèöîì 23.6 Âû÷èñëåíèÿ ñ çàøèôðîâàííûìè äàííûìè 23.7 Áðîñàíèå "÷åñòíîé" ìîíåòû 23.8 Îäíîíàïðàâëåííûå ñóììàòîðû 23.9 Ðàñêðûòèå ñåêðåòîâ "âñå èëè íè÷åãî" 23.10 ×åñòíûå è îòêàçîóñòîé÷èâûå êðèïòîñèñòåìû 23.11 ZERO-KNOWLEDGE PROOFS OF KNOWLEDGE 23.12 Ñëåïûå ïîäïèñè 23.13 Ïåðåäà÷à ñ çàáûâàíèåì 23.14 Áåçîïàñíûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè 23.15 Âåðîÿòíîñòíîå øèôðîâàíèå 23.16 Êâàíòîâàÿ êðèïòîãðàôèÿ
×àñòü 18Ðåàëüíûé ìèð Ãëàâà 24 Ïðèìåðû ðåàëèçàöèé 24.1 Ïðîòîêîë óïðàâëåíèÿ ñåêðåòíûìè êëþ÷àìè êîìïàíèè IBM 24.2 MITRENET 24.3 ISDN 24.4 STU-III 24.5 KERBEROS 24.6 KRYPTOKNIGHT 24.7 SESAME 24.8 Îáùàÿ êðèïòîãðàôè÷åñêàÿ àðõèòåêòóðà IBM 24.9 Ñõåìà ïðîâåðêè ïîäëèííîñòè ISO 24.10 Ïî÷òà ñ ïîâûøåííîé ñåêðåòíîñòüþ PRIVACY-ENHANCED MAIL (PEM) 24.11 Ïðîòîêîë áåçîïàñíîñòè ñîîáùåíèé 24.12 PRETTY GOOD PRIVACY (PGP) 24.13 Èíòåëëåêòóàëüíûå êàðòî÷êè 24.14 Ñòàíäàðòû êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè 24.15 Óíèâåðñàëüíàÿ ñèñòåìà ýëåêòðîííûõ ïëàòåæåé 24.16 CLIPPER 24.17 CAPSTONE 24.18 Áåçîïàñíûé òåëåôîí AT&T MODEL 3600 TELEPHONE SECURITY DEVICE (TSD)
Ãëàâà 25 Ïîëèòèêà 25.1 Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè (NSA) 25.2 Íàöèîíàëüíûé öåíòð êîìïüþòåðíîé áåçîïàñíîñòè (NCSC) 25.3 Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè 25.4 RSA Data Security, Inc. 25.5 PUBLIC KEY PARTNERS 25.6 Ìåæäóíàðîäíàÿ àññîöèàöèÿ êðèïòîëîãè÷åñêèõ èññëåäîâàíèé 25.7 Îöåíêà ïðèìèòèâîâ öåëîñòíîñòè RACE (RIPE) 25.8 Óñëîâíûé äîñòóï äëÿ Åâðîïû (CAFE) 25.9 ISO/lEC 9979 25.10 Ïðîôåññèîíàëüíûå è ïðîìûøëåííûå ãðóïïû, à òàêæå ãðóïïû çàùèòí èêîâ ãðàæäàíñêèõ ñâîáîä 25.11 Sci.crypt 25.12 Øèôðîïàíêè 25.13 Ïàòåíòû 25.14 Ýêñïîðòíîå çàêîíîäàòåëüñòâî ÑØÀ 25.15 Ýêñïîðò è èìïîðò êðèïòîãðàôèè çà ðóáåæîì 25.16 Ïðàâîâûå âîïðîñû
Ìýòò Áëåéç. Ïîñëåñëîâèå
×àñòü 8 Èñõîäíûå êîäû 1. DES 2. LOKI91 3. IDEA 4. GOST 5. BLOWFISH 6. 3-WAY 7. RC5 8. A5 9. SEAL
Áèáëèîãðàôèÿ
Ïðèêëàäíàÿ êðèïòîãðàôèÿ 2-å èçäàíèå Ïðîòîêîëû, àëãîðèòìû è èñõîäíûå òåêñòû íà ÿçûêå Ñ Áðþñ Øíàéåð
Ïðåäèñëîâèå Óèòôèëä Äèôôè Èñòîðèÿ ëèòåðàòóðû ïî êðèïòîãðàôèè äîâîëüíî ëþáîïûòíà . Ñåêðåòíîñòü, êîíå÷íî æå, âñåãäà èãðàëà âàæíóþ ðîëü, íî äî Ïåðâîé ìèðîâîé âîéíû î âàæíûõ ðàçðàáîòêàõ âðåìÿ îò âðåìåíè ñîîáùàëîñü â ïå÷àòè è êðèïòîãð àôèÿ ðàçâèâàëàñü òàêæå, êàê è äðóãèå ñïåöèàëèçèðîâàííûå äèñöèïëèíû.  1918 ãîäó â âèäå íàó÷íîãî îò÷åòà ÷ àñòíîé Ëàáîðàòîðèè Ðèâåðáýíê âûøëà â ñâåò ìîíîãðàôèÿ Âèëüÿìà Ô. Ôðèäìàíà Ïîêàçàòåëü ñîâïàäåíèé è åãî ïðèìåíåíèÿ â êðèïòîãðàôèè (Index of Coincidence and Its Applications in Cryptography ) [577], îäíà èç îïðåäåëÿþùèõ ðàáîò 20-ãî ñòîëåòèÿ. È ýòî íåñìîòðÿ íà âîåííûé çàêàç, ïî êîòîðîìó áûëà ñäåëàíà ýòà ðàáîòà.  òîì æå ãîäó Ýäâàðä Õ. Õåáåðí èç Îêëåíäà, Êàëèôîðíèÿ, ïîëó÷èë ïåðâûé ïàòåíò [710] íà ðîòîðíóþ ìàøèíó, óñòðîéñòâî, íà êîòîðîì îñíîâûâàëàñü âîåííàÿ êðèïòîãðàôèÿ â òå÷åíèå ïî÷òè 50 ëåò. Ïîñëå Ïåðâîé ìèðîâîé âîéíû, îäíàêî, âñå èçìåíèëîñü. Îðãàíèçàöèè àðìèè è ôëîòà Ñîåäèíåííûõ Øòàòîâ, ïîëíîñòüþ çàñåêðåòèâ ñâîè ðàáîòû, äîáèëèñü ôóíäàìåíòàëüíûõ óñïåõîâ â êðèïòîãðàôèè.  òå÷åíèå 30 -õ è 40-õ ãîäîâ â îòêðûòîé ëèòåðàòóðå ïî äàííîìó ïðåäìåòó ïîÿâëÿëèñü òîëüêî îòäåëüíûå îñíîâíûå ðàáîòû è ìîíîãð àôèè, íî ÷åì äàëüøå, òåì ìåíüøå îíè ñîîòâåòñòâîâàëè ðåàëüíîìó ïîëîæåíèþ äåë. Ê êîíöó âîéíû ïåðåõîä ïî ëíîñòüþ çàâåðøèëñÿ. Îòêðûòàÿ ëèòåðàòóðà óìåðëà çà èñêëþ÷åíèåì îäíîãî çàìåòíîãî èñêëþ÷åíèÿ, ðàáîòû Êëîäà Øýííîíà "The Communication Theory of Secrecy systems" ( Òåîðèÿ ñâÿçè ìåæäó ñåêðåòíûìè ñèñòåìàìè ), íàïå÷àòàííîé â 1949 ãîäó â Bell System Technical Journal [1432]. Ýòà ñòàòüÿ, êàê è ðàáîòà Ôðèäìàíà â 1918 ãîäó, ÿâèëàñü ðåçóëüòàòîì èññëåäîâàíèé Øýííîíà âî âðåìÿ âîéíû. Ïîñëå îêîí÷àíèÿ Âòîðîé ìèðîâîé âîéíû îíà áûëà ðàññåêðå÷åíà, âîçìîæíî ïî îøèáêå. Ñ 1949 ïî 1967 ëèòåðàòóðà ïî êðèïòîãðàôèè áûëà áåññîäåðæàòåëüíîé.  1967 ãîäó îíà ïîïîëíèëàñü ðàáîòîé äðóãîãî òèïà, èñòîðèåé Äýâèäà Êàíà Äåøèôðîâùèêè (The Codebreakers) [794].  ýòîé êíèãå íå áûëî íîâûõ èäåé, íî îíà ñîäåðæàëà äîñòàòî÷íî ïîëíóþ èñòîðèþ ïðåäìåòà, âêëþ÷àÿ óïîìèíàíèå î íåêîòîðûõ âåùàõ, âñå åùå çàñåêðå÷åííûõ ïðàâèòåëüñòâîì. Çíà÷åíèå Äåøèôðîâùèêîâ çàêëþ÷àëîñü íå òîëüêî â çíà÷èòåëüíîì îõâàòå ïðåäìåòà, êíèãà èìåëà çàìåòíûé êîììåð÷åñêèé óñïåõ è ïîçíàêîìèëà ñ êðèïòîãðàôèåé òûñÿ÷è ëþäåé, ðàíüøå è íå çàäóìûâàâøèõñÿ î åå ñóùåñòâîâàíèè. Òîíåíüêèì ðó÷åéêîì íà÷àëè ïîÿâëÿòüñÿ íîâûå ðàáîòû ïî êðèïòîãð àôèè. Ïî÷òè â òî æå âðåìÿ Õîðñòà Ôåéñòåëà, ðàíåå ðàáîòàâøåãî íàä ïðèáîðîì "ñâîé/÷óæîé" äëÿ ÂÂÑ, íà âñþ äàëüíåéøóþ æèçíü îõâàòèëà ñòðàñòü ê êðèïòîãðàôèè, è îí ïåðåøåë â Óîòñîíîâñêóþ Ëàáîðàòîðèþ ôèðìû IBM, ðàñïîëîæåííóþ â Éîðêòàóí Õàéòñ, Íüþ-Éîðê. Òàì îí íà÷àë ðàçðàáîòêó òîãî, ÷òî çàòåì ñòàëî ñòàíäàðòîì DES (U.S. Data Encryption Standard , Ñòàíäàðò øèôðîâàíèÿ äàííûõ Ñîåäèíåííûõ Øòàòîâ).  íà÷àëå 70-õ ãîäîâ IBM îïóáëèêîâàëà ðÿä òåõíè÷åñêèõ îò÷åòîâ ïî êðèïòîãðàôèè, âûïîëíåííûõ Ôåéñòåëîì è åãî êîëëåãàìè [1482, 1484, 552]. Òàêîâî áûëî ïîëîæåíèå, êîãäà â êîíöå 1972 ãîäà ÿ íà÷àë ðàáîòàòü â ýòîé îáëàñòè. Ëèòåðàòóðà ïî êðèïò îãðàôèè îáèëüíîé íå áûëà, íî â íåé ìîæíî áûëî íàéòè ðÿä ñâåðêàþùèõ ñàìîðîäêîâ.  êðèïòîãðàôè÷åñêîé íàóêå åñòü îñîáåííîñòü, îòñóòñòâóþùàÿ â îáû÷íûõ àêàäåìè÷åñêèõ äèñöèïëèíàõ: íåî áõîäèìîñòü âçàèìîäåéñòâèÿ êðèïòîãðàôèè è êðèïòîàíàëèçà. Ïðè÷èíîé ýòîãî ÿâëÿåòñÿ îòñóòñòâèå òðåáîâàíèé ê ïåðåäà÷å ðåàëüíîé èíôîðìàöèè, ñëåäîâàòåëüíî, íåòðóäíî ïðåäëîæèòü ñèñòåìó, êîòîðàÿ êàæåòñÿ íåïîãðåøèìîé. Ìíîãèå àêàäåìè÷åñêèå ðàçðàáîòêè íàñòîëüêî ñëîæíû, ÷òî áóäóùèé êðèïòîàíàëèòèê íå çíàåò ñ ÷åãî íà÷àòü. Î áíàðóæèòü äûðû â ýòèõ ïðîåêòàõ íàìíîãî ñëîæíåå, ÷åì ðàçðàáîòàòü èõ.  ðåçóëüòàòå íåâîçìîæíî ñîðåâíîâàíèå, ÿâëÿþùååñÿ îäíèì èç ñèëüíåéøèõ ìîòèâîâ â àêàäåìè÷åñêèõ èññëåäîâàíèé. Êîãäà Ìàðòèí Õåëëìàí è ÿ â 1975 ãîäó ïðåäëîæèëè êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè [496], îäíèì èç êîñâåííûõ àñïåêòîâ íàøåãî ïðåäëîæåíèÿ áûëî ïîÿâëåíèå ïðîáëåìû, ðåøåíèå êîòîðîé íå êàæåòñÿ ïðîñòûì. Òåïåðü ÷åñòîëþáèâûé ïðîåêòèðîâùèê ìîã ñîçäàòü ÷òî-òî - âïîëíå ðàçóìíóþ êðèïòîñèñòåìó, ðåøàþùóþ áîëåå îáøèðíûå çàäà÷è, ÷åì ïðîñòîå ïðåâðàùåíèå çíà÷èìîãî òåêñòà â ÷åïóõó.  ðåçóëüòàòå çíà÷èòåëüíî âîçðîñëî ÷èñëî ëþäåé, çàíèìàþùèõñÿ êðèïòîãðàôèåé, ÷èñëî ïðîâîäèìûõ âñòðå÷ è ÷èñëî îïóáëèêîâàííûõ êíèã è ñòàòåé.  ðå÷è ïî ïîâîäó ïðèñóæäåíèÿ ìíå ñîâìåñòíî ñ Ìàðòèíîì Õåëëìàíîì ïðåìèè Äîíàëüäà Å. Ôèíêà (ïðèñóæäàåìîé çà ëó÷øóþ ïîÿñíèòåëüíóþ ñòàòüþ â æóðíàëå IEEE) ÿ ñêàçàë, ÷òî, íàïèñàâ "Privacy and Authentication" ("Ñåêðåòíîñòü è óäîñòîâåðåíèå ïîäëèííîñòè"), ÿ ïîëó÷èë îïûò, êîòîðûé íåîáû÷åí äàæå äëÿ âûäàþùè õñÿ ó÷åíûõ, ïîëó÷èâøèõ ïðåìèè IEEE. ß íàïèñàë ñòàòüþ, êîòîðóþ ÿ õîòåë áû èçó÷èòü, êîãäà ÿ âïåðâûå ñåðüåçíî çàèíòåðåñîâàëñÿ êðèïòîãðàôèåé, è êîòîðóþ íå ñìîã íàéòè. Åñëè áû ÿ ñåãîäíÿ îòïðàâèëñÿ â Ñòýíôîðäñêóþ áè áëèîòåêó è ñîáðàë áû ñîâðåìåííûå ðàáîòû ïî êðèïòîãðàôèè, ÿ, âîçìîæíî, ïîëó÷èë áû ïðåäñòàâëåíèå î ïðåäìåòå ãîðàçäî ðàíüøå. Íî îñåíüþ 1972 ãîäà áûëè äîñòóïíû òîëüêî íåñêîëüêî êëàññè÷åñêèõ ðàáîò è ðÿä òóìàííûõ òåõíè÷åñêèõ îò÷åòîâ. Ó ñåãîäíÿøíåãî èññëåäîâàòåëÿ íåò òàêîé ïðîáëåìû. Ñåãîäíÿ îñíîâíàÿ ñëîæíîñòü ñîñòîèò â âûáîðå, ñ ÷åãî
íà÷àòü ñðåäè òûñÿ÷ ñòàòåé è äåñÿòêîâ êíèã. À ñåãîäíÿøíèå ïðîãðàììèñòû è èíæåíåðû, êîòîðûå ïðîñòî õîòÿò èñïîëüçîâàòü êðèïòîãðàôèþ? Ê êàêèì èñòî÷íèêàì èì îáðàùàòüñÿ? Äî ñèõ ïîð íåîáõîäèìî áûëî ïðîâîäèòü äîëãèå ÷àñû, âûèñêèâàÿ íàó÷íóþ ëèòåðàòóðó è èçó÷àÿ åå, ïðåæäå ÷åì óäàâàëîñü íà÷àòü ðàçðàáîòêó êðèïòîãð àôè÷åñêèõ ïðèëîæåíèé, òàê ãëàäêî îïèñàííûõ â ïîïóëÿðíûõ ñòàòüÿõ. Èìåííî ýòîò ïðîìåæóòîê è ïðèçâàíà çàïîëíèòü Ïðèêëàäíàÿ êðèïòîãðàôèÿ Áðþñà Øíàéåðà. Íà÷àâ ñ öåëåé çàñåêðå÷èâàíèÿ ïåðåäà÷è äàííûõ è ýëåìåíòàðíûõ ïðèìåðîâ ïðîãðàìì äëÿ äîñòèæåíèÿ ýòèõ öåëåé, Øíàéåð ðà çâîðà÷èâàåò ïåðåä íàìè ïàíîðàìó ðåçóëüòàòîâ 20 ëåò îòêðûòûõ èññëåäîâàíèé. Ñîäåðæàíèå êíèãè ïîëíîñòüþ îïðåäåëÿåòñÿ åå íàçâàíèåì, âû íàéäåòå â íåé îïèñàíèå ðàçëè÷íûõ ïðèëîæåíèé, îò çàñåêðå÷èâàíèÿ òåëåôîííîãî ðàçãîâîðà äî ýëåêòðîííûõ äåíåã è êðèïòîãðàôè÷åñêîãî îáåñïå÷åíèÿ âûáîðîâ. Íå óäîâëåòâîðåííûé ïðîñòûì èçëîæåíèåì àëãîðèòìîâ è îïèñàíèåì êîäà, Øíàéåð âêëþ÷èë â êíèãó îáñó æäåíèå ðàçëè÷íûõ ìèðîâûõ îðãàíèçàöèé, ñâÿçàííûõ ñ ðàçðàáîòêîé è ïðèìåíåíèåì êðèïòîãðàôè÷åñêèõ ñðåäñòâ, îò Ìåæäóíàðîäíîé àññîöèàöèè êðèïòîëîãè÷åñêèõ èññëåäîâàíèé äî NSA (National Security Agency, Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè). Êîãäà íà ðóáåæå 70-õ è 80-õ ãîäîâ âîçðîñ îáùåñòâåííûé èíòåðåñ ê êðèïòîãðàôèè, NSA, îôèöèàëüíûé êðèïòîãðàôè÷åêèé îðãàí ÑØÀ, ïðåäïðèíÿëî ðÿä ïîïûòîê ïîäàâèòü ýòîò èíòåðåñ. Ïåðâîé òàêîé ïîïûòêîé áûëî ïèñüìî ñòàðîãî ñîòðóäíèêà NSA, ïî âèäèìîìó äåéñòâîâàâøåãî ïî ñâîåìó óñìîòðåíèþ. Ïèñüìî áûëî ïîñëàíî â IEEE è ïðåäóïðåæäàëî, ÷òî ïóáëèêàöèÿ ìàòåðèàëîâ ïî êðèïòîãðàôèè ÿâëÿåòñÿ íàðóøåíèåì Ïðàâèë ìåæäóí àðîäíîé ïðîäàæè îðóæèÿ (International Traffic in Arms Regulations, ITAR) . Ýòà òî÷êà çðåíèÿ, êàê îêàçàëîñü, íå ïîääåðæèâàåìàÿ ñàìèìè ïðàâèëàìè, â ÿâíîì âèäå ñîäåðæàùèìè ëüãîòû äëÿ ïóáëèêóåìûõ ìàòåðèàëîâ, ñîçäàëà íåîæèäàííóþ ðåêëàìó èñïîëüçîâàíèþ êðèïòîãðàôèè è Ñåìèíàðó ïî òåîðèè èíôîðìàöèè 1977 ãîäà. Áîëåå ñåðüåçíàÿ ïîïûòêà áûëà ïðåäïðèíÿòà â 1980 ãîäó, êîãäà NSA ôèíàíñèðîâàëî èçó÷åíèå âîïðîñà Àì åðèêàíñêèì ñîâåòîì ïî îáðàçîâàíèþ ñ öåëüþ óáåäèòü Êîíãðåññ óçàêîíèòü êîíòðîëü íàä ïóáëèêàöèÿìè â îáëàñòè êðèïòîãðàôèè. Ðåçóëüòàòû, îêàçàâøèåñÿ äàëåêèìè îò îæèäàíèé NSA, ïðèâåëè ê ïðîãðàììå äîáðîâîëüíîãî ð åöåíçèðîâàíèÿ ðàáîò ïî êðèïòîãðàôèè. Îò èññëåäîâàòåëåé ïîòðåáîâàëè ïåðåä ïóáëèêàöèåé çàïðàøèâàòü ìíåíèå NSA, íå ïðèíåñåò ëè ðàñêðûòèå ðåçóëüòàòîâ èññëåäîâàíèé âðåä íàöèîíàëüíûì èíòåðåñàì. Ê ñåðåäèíå 80-õ ãîäîâ îñíîâíûì îáúåêòîì âíèìàíèÿ ñòàëà íå òåîðèÿ, à ïðàêòèêà êðèïòîãðàôèè. Ñóùåñ òâóþùèå çàêîíû äàþò NSA ïðàâî ñ ïîìîùüþ Ãîñäåïàðòàìåíòà ðåãóëèðîâàòü ýêñïîðò êðèïòîãðàôè÷åñêîãî îá îðóäîâàíèÿ. Òàê êàê áèçíåñ âñå áîëüøå è áîëüøå ïðèíèìàåò ìåæäóíàðîäíûé õàðàêòåð è àìåðèêàíñêàÿ ÷àñòü ì èðîâîãî ðûíêà óìåíüøàåòñÿ, âîçðàñòàåò æåëàíèå èñïîëüçîâàòü åäèíûé ïðîäóêò è äëÿ âíóòðåííåãî, è äëÿ âíåøí åãî ðûíêà. Òàêèå ïðîäóêòû ÿâëÿþòñÿ ñóáúåêòàìè êîíòðîëÿ íàä ýêñïîðòîì, è ïîýòîìó NSA ïîëó÷èëî âîçìîæíîñòü êîíòðîëèðîâàòü íå òîëüêî ýêñïîðòèðóåìûå êðèïòîãðàôè÷åñêèå ïðîäóêòû, íî è ïðîäàâàåìûå â Ñîåäèíåííûõ Øòàòàõ.  òî âðåìÿ, êîãäà ïèñàëèñü ýòè ñòðîêè, âîçíèêëî íîâîå ïðåïÿòñòâèå äëÿ îáùåñòâåííîãî èñïîëüçîâàíèÿ êðè ïòîãðàôèè. Ïðàâèòåëüñòâî äîïîëíèëî øèðîêî îïóáëèêîâàííûé è èñïîëüçóåìûé àëãîðèòì DES çàñåêðå÷åííûì àëãîðèòìîì, ðåàëèçîâàííûì â ìèêðîñõåìàõ ïàìÿòè, íåçàâèñÿùåé îò âðåìåíè. Ýòè ìèêðîñõåìû áóäóò ñîäåðæàòü êîäèôèöèðîâàííûé ìåõàíèçì ïðàâèòåëüñòâåííîãî êîíòðîëÿ. Îòðèöàòåëüíûå àñïåêòû òàêîé ïðîãðà ììû-òðîÿíñêîãî êîíÿ ïðîñòèðàþòñÿ îò ïîòåíöèàëüíî ãóáèòåëüíîãî ðàñêðûòèÿ òàéíû ëè÷ íîñòè äî âûñîêîé ñòîèìîñòè àïïàðàòíîé ìîäåðíèçàöèè ïðîäóêòîâ, ðàíåå ðåàëèçîâàííûõ ïðîãðàììíî. Òàêèì îáðàçîì, ïðåäëàãàåìîå íîâîââåäåíèå íå âûçâàëî ýíòóçèàçìà è ïîäâåðãëîñü øèðîêîé êðèòèêå, îñîáåííî ñî ñòîðîíû íåçàâèñèìûõ êðè ïòîãðàôîâ. Ðÿä ëþäåé, îäíàêî, âèäÿò ñâîå áóäóùåå â ïðîãðàììèðîâàíèè, à íå â ïîëèòèêå è óäâàèâàþò ñâîè óñ èëèÿ, ñòðåìÿñü ïðåäñòàâèòü ìèðó ìîùíûå ñðåäñòâà êðèïòîãðàôèè. Çíà÷èòåëüíîå îòñòóïëåíèå îò âîçìîæíîñòè òîãî, ÷òî çàêîí î êîíòðîëå íàä ýêñïîðòîì îòìåíèò Ïåðâóþ ï îïðàâêó1, êàçàëîñü áûëî ñäåëàí â 1980 ãîäó, êîãäà â îïóáëèêîâàííûå â Federal Register èñïðàâëåíèÿ ITAR âîøëî ñëåäóþùåå ïîëîæåíèå: "...ïîëîæåíèå áûëî äîáàâëåíî ñ öåëüþ ïîêàçàòü, ÷òî ðåãóëèðîâàíèå ýêñïîðòà òåõíè÷ åñêèõ äàííûõ íå ïðèâåäåò ê êîíôëèêòó ñ ïðàâàìè ëè÷íîñòè, îïðåäåëÿåìûìè Ïåðâîé ïîïðàâêîé". Íî òî, ÷òî êî íôëèêò ìåæäó Ïåðâîé ïîïðàâêîé è çàêîíàìè î êîíòðîëå íàä ýêñïîðòîì íå ðàçðåøåí îêîí÷àòåëüíî, äîëæíî áûòü î÷åâèäíî èç çàÿâëåíèé, ñäåëàííûõ íà êîíôåðåíöèè, ïðîâîäèìîé RSA Data Security. Ïðåäñòàâèòåëü NSA èç îòäåëà êîíòðîëÿ íàä ýêñïîðòîì âûðàçèë ìíåíèå, ÷òî ëþäè, ïóáëèêóþùèå êðèïòîãðàôè÷åñêèå ïðîãðàììû, íàõ îäÿòñÿ " â ñåðîé çîíå" ïî îòíîøåíèþ ê çàêîíó. Åñëè ýòî òàê, òî èìåííî ýòó "ñåðóþ çîíó" íåìíîãî îñâåòèëî ïåðâîå èçäàíèå ýòîé êíèãè. Ýêñïîðò ïðèëîæåíèé äëÿ ýòîé êíèãè áûë ðàçðåøåí ñ ïîäòâåðæäåíèåì òîãî, ÷òî îïóáëèê îâàííûå ìàòåðèàëû íå ïîïàäàþò ïîä þðèñäèêöèþ Ñîâåòà ïî êîíòðîëþ íàä âîîðóæåíèåì. Îäíàêî, ýêñïîðòèð îâàòü îïóáëèêîâàííûå ïðîãðàììû íà äèñêå áûëî çàïðåùåíî. Èçìåíåíèå ñòðàòåãèè NSA îò ïîïûòîê êîíòðîëèðîâàòü êðèïòîãðàôè÷åñêèå èññëåäîâàíèÿ ê óñèëåíèþ ðåãóë èðîâàíèÿ â îáëàñòè ðàçðàáîòêè è ðàçâåðòûâàíèÿ êðèïòîãðàôè÷åñêèõ ïðîäóêòîâ ïî âèäèìîìó îáóñëîâëåíî îñî çíàíèåì òîãî, ÷òî âñå âåëè÷àéøèå êðèïòîãðàôè÷åñêèå ðàáîòû íå çàùèòèëè íè îäíîãî áèòà èíôîðìàöèè. Áóäó÷è 1
Ê êîíñòèòóöèè ÑØÀ
ïîñòàâëåí â øêàô, ýòîò òîì íå ñäåëàåò íè÷åãî íîâîãî ïî ñðàâíåíèþ ñ ïðåäøåñòâóþùèìè êíèãàìè è ðàáîòàìè, íî èñïîëüçîâàíèå åãî ñîäåðæàíèÿ íà ðàáî÷åé ñòàíöèè, ãäå ïèøåòñÿ êðèïòîãðàôè÷åñêèé êîä, ìîæåò ïðèâåñòè ê èíîìó ðåçóëüòàòó. Óèòôèëä Äèôôè Ìàóíòýéí Âüþ, Êàëèôîðíèÿ.
Ââåäåíèå Êðèïòîãðàôèÿ áûâàåò äâóõ òèïîâ: êðèïòîãðàôèÿ, êîòîðàÿ ïîìåøàåò ÷èòàòü âàøè ôàéëû âàøåé ìëàäøåé ñ åñòðå, è êðèïòîãðàôèÿ, êîòîðàÿ ïîìåøàåò ÷èòàòü âàøè ôàéëû äÿäÿì èç ïðàâèòåëüñòâà. Ýòà êíèãà î âòîðîì òèïå êðèïòîãðàôèè. Åñëè ÿ áåðó ïèñüìî, êëàäó åãî â ñåéô ãäå-íèáóäü â Íüþ-Éîðêå, çàòåì âåëþ Âàì ïðî÷èòàòü ýòî ïèñüìî, òî ýòî íå áåçîïàñíîñòü. Ýòî íåïîíÿòíî ÷òî. Ñ äðóãîé ñòîðîíû, åñëè ÿ áåðó ïèñüìî è êëàäó åãî â ñåéô, çàòåì ïåðåäàþ ýòîò ñåéô Âàì âìåñòå ñ äåòàëüíûì îïèñàíèåì, ïåðåäàþ òàêæå ñîòíþ ïîäîáíûõ ñåéôîâ ñ èõ êîìáèíàöèÿìè, ÷ò îáû Âû è ëó÷øèå "ìåäâåæàòíèêè" ìèðà ìîãëè èçó÷èòü ñèñòåìó çàìêîâ, à âû âñå ðàâíî íå ñìîæåòå îòêðûòü ñåéô è ïðî÷èòàòü ïèñüìî - âîò ýòî è åñòü áåçîïàñíîñòü.  òå÷åíèå ìíîãèõ ëåò ýòîò òèï êðèïòîãðàôèè èñïîëüçîâàëñÿ èñêëþ÷èòåëüíî â âîåííûõ öåëÿõ. Àãåíòñòâî í àöèîíàëüíîé áåçîïàñíîñòè Ñîåäèíåííûõ Øòàòîâ Àìåðèêè (National Security Agency, NSA) è åãî àíàëîãè â áûâøåì Ñîâåòñêîì Ñîþçå, Àíãëèè, Ôðàíöèè, Èçðàèëå è ïðî÷èõ ñòðàíàõ òðàòèëè ìèëëèàðäû äîëëàðîâ íà î÷åíü ñåðüåçíóþ èãðó â îáåñïå÷åíèå áåçîïàñíîñòè ñîáñòâåííûõ ëèíèé ñâÿçè, îäíîâðåìåííî ïûòàÿñü âçëîìàòü âñå î ñòàëüíûå. Îòäåëüíûå ëè÷íîñòè, îáëàäàþùèå çíà÷èòåëüíî ìåíüøèìè ñðåäñòâàìè è îïûòîì, áûëè áåñïîìîùíû çàùèòèòü ñâîè ñåêðåòû îò ïðàâèòåëüñòâ.  òå÷åíèå ïîñëåäíèõ 20 ëåò çíà÷èòåëüíî âûðîñ îáúåì îòêðûòûõ àêàäåìè÷åñêèõ èññëåäîâàíèé. Ïîêà îáû÷íûå ãðàæäàíå èñïîëüçîâàëè êëàññè÷åñêóþ êðèïòîãðàôèþ, ñî âðåìåí Âòîðîé ìèðîâîé âîéíû êîìïüþòåðíàÿ êðèïò îãðàôèÿ âî âñåì ìèðå ïðèìåíÿëàñü èñêëþ÷èòåëüíî â âîåííîé îáëàñòè. Ñåãîäíÿ èñêóññòâî êîìïüþòåðíîé êðèïò îãðàôèè âûðâàëîñü èç ñòåí âîåííûõ âåäîìñòâ. Íåïðîôåññèîíàëû ïîëó÷èëè âîçìîæíîñòü ñðåäñòâà, ïîçâîëÿþùèå èì îáåçîïàñèòü ñåáÿ îò ìîãóùåñòâåííåéøèõ ïðîòèâíèêîâ, ñðåäñòâà, îáåñïå÷èâàþùèå çàùèòó îò âîåííûõ â åäîìñòâ. À íóæíà ëè îáû÷íîìó ÷åëîâåêó òàêàÿ êðèïòîãðàôèÿ? Äà. Ëþäè ìîãóò ïëàíèðîâàòü ïîëèòè÷åñêóþ êàìïàíèþ, îáñóæäàòü íàëîãè, âåñòè íåçàêîííûå äåéñòâèÿ. Îíè ìîãóò ðàçðàáàòûâàòü íîâûå èçäåëèÿ, îáñóæäàòü ðûíî÷íóþ ïîëèòèêó èëè ïëàíèðîâàòü çàõâàò êîíêóðèðóþùåé ôèðìû. Îíè ìîãóò æèòü â ñòðàíå, êîòîðàÿ íå ñîáëþäàåò ç àïðåòà íà âòîðæåíèå â ëè÷íóþ æèçíü ñâîèõ ãðàæäàí. Îíè ìîãóò äåëàòü ÷òî-ëèáî, ÷òî íå êàæåòñÿ èì íåçàêîííûì, õîòÿ òàêîâûì è ÿâëÿåòñÿ. Ïî ìíîãèì ïðè÷èíàì äàííûå è ëèíèè ñâÿçè äîëæíû áûòü ëè÷íûìè, òàéíûìè è ç àêðûòûìè îò ïîñòîðîííåãî äîñòóïà. Ýòà êíèãà âûõîäèò â ñâåò â áåñïîêîéíîå âðåìÿ.  1994 ãîäó àäìèíèñòðàöèÿ Êëèíòîíà ïðèíÿëà Ñòàíäàðò ó ñëîâíîãî øèôðîâàíèÿ (Escrowed Encryption Standard), âêëþ÷àÿ ìèêðîñõåìó Clipper è ïëàòó Fortezza, è ïðåâðàòèëî Áèëëü î Öèôðîâîé òåëåôîíèè â çàêîí . Ýòè èíèöèàòèâû ïûòàþòñÿ óâåëè÷èòü âîçìîæíîñòè ïðàâèòåëüñòâà ïðîâîäèòü ýëåêòðîííûé êîíòðîëü. Âñòóïàþò â ñèëó íåêîòîðûå îïàñíåéøèå äîìûñëû Îðóýëëà: ïðàâèòåëüñòâî ïîëó÷àåò ïðàâî ïðîñëóøèâàòü ëè÷íûå ïåðåãîâîðû, à ñ ÷åëîâåêîì, ïûòàþùèìñÿ ñêðûòü ñâîè ñåêðåòû îò ïðàâèòåëüñòâà, ìîæåò ÷òî-íèáóäü ñë ó÷èòüñÿ. Çàêîíîäàòåëüñòâî âñåãäà ðàçðåøàëî ñëåæêó ïî ðåøåíèþ ñóäà, íî âïåðâûå ëþäè ñàìè äîëæíû ïðåäïð èíèìàòü êàêèå-òî øàãè, ÷òîáû ñäåëàòüñÿ äîñòóïíûìè äëÿ ñëåæêè. Ýòè èíèöèàòèâû íå ïðîñòî ïðåäëîæåíèÿ ïð àâèòåëüñòâà â íåêîé òóìàííîé ñôåðå, ýòî óïðåæäàþùàÿ è îäíîñòîðîííÿÿ ïîïûòêà ïðèñâîèòü ïðåæäå ïðèíàäë åæàùèå ëþäÿì ïðàâà. Çàêîíîïðîåêòû î ìèêðîñõåìå Clipper è Öèôðîâîé òåëåôîíèè íå ñïîñîáñòâóþò ñîõðàíåíèþ òàéíû, íî áåñïî ÷âåííî çàñòàâëÿþò ëþäåé ñ÷èòàòü, ÷òî ïðàâèòåëüñòâî óâàæàåò èõ òàéíû. Òå æå ñàìûå âëàñòè, êîòîðûå íåçàêîííî çàïèñûâàëè òåëåôîíû Ìàðòèíà Ëþòåðà Êèíãà, ìîãóò ëåãêî ïðîñëóøàòü òåëåôîí, çàùèùåííûé ìèêðîñõåìîé Clipper.  íåäàâíåì ïðîøëîì ïîëèöåéñêèå âëàñòè íà ìåñòàõ áûëè ïðèâëå÷åíû ê ãðàæäàíñêîé èëè óãîëîâíîé îòâåòñòâåííîñòè çà íåçàêîííîå ïðîñëóøèâàíèå âî ìíîãèõ ñóäàõ - â Ìýðèëåíäå, Êîííåêòèêóòå, Âåðìîíòå, Äæîðäæèè, Ìèññóðè è Íåâàäå. Èäåÿ ðàçâåðíóòü òåõíîëîãèþ, êîòîðàÿ ìîæåò ïðèâåñòè ê ïîÿâëåíèþ ïîëèöå éñêîãî ãîñóäàðñòâà - ýòî ïëîõàÿ èäåÿ. Äåëî â òîì, ÷òî íåäîñòàòî÷íî çàùèòèòü ñåáÿ çàêîíàìè, íàì íóæíî çàùèòèòü ñåáÿ ìàòåìàòèêîé. Øèôðîâ àíèå èìååò ñëèøêîì áîëüøîå çíà÷åíèå, ÷òîáû îñòàâèòü åå èñïîëüçîâàíèå òîëüêî ïðàâèòåëüñòâàì . Ýòà êíèãà ñíàáäèò Âàñ èíñòðóìåíòàðèåì, ïîçâîëÿþùèì çàùèòèòü âàøè òàéíû. Ïåðåäà÷à êðèïòîãðàôè÷ åñêèõ ïðîäóêòîâ ìîæåò áûòü îáúÿâëåíà íåçàêîííîé, ïåðåäà÷à èíôîðìàöèè - íèêîãäà .
Êàê ÷èòàòü ýòó êíèãó ß íàïèñàë Ïðèêëàäíóþ êðèïòîãðàôèþ êàê æèâîå ââåäåíèå â êðèïòîãðàôèþ è êàê âñåîáúåìëþùèé ñïð àâî÷íèê. ß ïûòàëñÿ ñî÷åòàòü ÷èòàåìîñòü òåêñòà ñ æåðòâåííîé òî÷íîñòüþ, íî ýòà êíèãà ïèñàëàñü íå êàê ìàòåìàòè÷åñêàÿ ðàáîòà. Õîòÿ ÿ íå èñêàæàë èíôîðìàöèþ óìûøëåííî, òîðîïÿñü, ÿ îïóñêàë òåîðèþ . Äëÿ èíòåðåñóþùèõñÿ òåîðåòè÷åñêèìè âûêëàäêàìè ïðèâåäåíû îáøèðíûå ññûëêè íà àêàäåìè÷åñêóþ ëèòåðàòóðó . Ãëàâà 1 ïðåäñòàâëÿåò ñîáîé ââåäåíèå â êðèïòîãðàôèþ, îïèñûâàåò ìíîæåñòâî òåðìèíîâ, â íåé êðàòêî ðà ñ-
ñìàòðèâàåòñÿ äîêîìïüþòåðíàÿ êðèïòîãðàôèÿ . Ãëàâû ñî 2 ïî 6 (×àñòü I) îïèñûâàþò êðèïòîãðàôè÷åñêèå ïðîòîêîëû - ÷òî ëþäè ìîãóò ñäåëàòü ñ ïîìîùüþ êðèïòîãðàôèè - îò ïðîñòûõ (ïåðåäà÷à øèôðîâàííûõ ñîîáùåíèé îò îäíîãî ÷åëîâåêà äðóãîìó) äî ñëîæíûõ (ùåëêàíüå ìîíåòîé ïî òåëåôîíó) è òàéíûõ (ñåêðåòíîå è àíîíèìíîå îáðàùåíèå ýëåêòðîííûõ äåíåã ). Íåêîòîðûå èç ýòèõ ïðîòîêîëîâ î÷åâèäíû, äðóãèå - óäèâèòåëüíû . Ìíîæåñòâî ëþäåé è íå ïðåäñòàâëÿåò ìíîãèå èç ïðîáëåì, êîòîðûå ìîæåò ðåøèòü êðèïòîãðàôèÿ . Ãëàâû ñ 7 ïî 10 (×àñòü II) ñîäåðæàò îáñóæäåíèå ìåòîäîâ êðèïòîãðàôèè. Âñå ýòè ÷åòûðå ãëàâû âàæíû äëÿ ñàìûõ ðàñïðîñòðàíåííûõ ïðèìåíåíèé êðèïòîãðàôèè.  ãëàâàõ 7 è 8 ðàññêàçûâàåòñÿ î êëþ÷àõ: êàêîâà äîëæíà áûòü äëèíà áåçîïàñíîãî êëþ÷à, êàê ãåíåðèðîâàòü, õðàíèòü è ðàñïðåäåëÿòü êëþ÷è, è ò.ä. Óïðàâëåíèå êëþ÷àìè ïðåäñòàâëÿåò ñîáîé òðóäíåéøóþ ÷àñòü êðèïòîãðàôèè è ÷àñòî ÿâëÿåòñÿ àõèëëåñîâîé ïÿòîé ñèñòåì, áåçîïàñíûõ âî âñåì îñòàëüíîì.  ãëàâå 9 ðàññìàòðèâàþòñÿ ðàçëè÷íûå ñïîñîáû èñïîëüçîâàíèÿ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ, à ãëàâà 10 îïèñûâàåò îñîáåííîñòè è öåëè èñïîëüçîâàíèÿ ýòèõ àëãîðèòìîâ - êàê èõ âûáèðàòü, ðåàëèçîâûâàòü è ïðèìåíÿòü. Ãëàâû ñ 11 ïî 23 (×àñòü III) îïèñûâàþò ýòè àëãîðèòìû. Ãëàâà 11 ïðåäñòàâëÿåò ñîáîé ìàòåìàòè÷åñêóþ áàçó è ÿâëÿåòñÿ îáÿçàòåëüíîé òîëüêî, åñëè âû èíòåðåñóåòåñü àëãîðèòìàìè ñ îòêðûòûìè êëþ÷àìè . Åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü DES (èëè ÷òî-òî ïîõîæåå), åå ìîæíî ïðîïóñòèòü.  ãëàâå 12 îáñóæäàåòñÿ àëãîðèòì DES, åãî èñòîðèÿ, áåçîïàñíîñòü è ðàçíîâèäíîñòè.  ãëàâàõ 13, 14 è 15 ðàññêàçûâàåòñÿ î äðóãèõ áëî÷íûõ àëãîðèòìàõ. Åñëè âàì íóæíî ÷òî-òî áîëåå íàäåæíîå ÷åì DES, ñðàçó ïåðåõîäèòå ê ðàçäåëàì î IDEA è òðîéíîì DES. Ïðè æåëàíèè óçíàòü î ãðóïïå àëãîðèòìîâ, íåêîòîðûå èç êîòîðûõ ìîãóò áûòü áåçîïàñíåå DES, ïðî÷èòàéòå âñþ ãëàâó.  ãëàâàõ 16 è 17 îáñóæäàþòñÿ ïîòîêîâûå àëãîðèòìû .  ãëàâå 18 ïîäðîáíî ðàññìàòðèâàþòñÿ îäíîíàïðàâëåííûå õýø-ôóíêöèè, ñðåäè êîòîðûõ ñàìûìè ÿâëÿþòñÿ MDS è SHA, õîòÿ ÿ îñòàíàâëèâàþñü è íà ìíîãèõ äðóãèõ .  ãëàâå 19 ðàññìàòðèâàþòñÿ àëãîðèòìû øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì , à â ãëàâå 20 - àëãîðèòìû öèôðîâîé ïîäïèñè ñ îòêðûòûì êëþ÷îì.  ãëàâå 21 îáñóæäàþòñÿ àëãîðèòìû èäåíòèôèêàöèè ñ îòêðûòûì êëþ÷îì , à â ãëàâå 22 - àëãîðèòìû îáìåíà ñ îòêðûòûì êëþ÷îì . Ñàìûìè âàæíûìè ÿâëÿþòñÿ àëãîðèòìû RSA, DSA, Ôèàò-Øàìèðà (Fiat-Shamir) è Äèôôè-Õåëìàíà (Diffie-Hellman). Ãëàâà 23 ñîäåðæèò ðÿä ýçîòåðè÷åñêèõ àëãîðèòìîâ è ïðîòîê îëîâ ñ îòêðûòûì êëþ÷îì, ìàòåìàòèêà â ýòîé ãëàâå äîñòàòî÷íî ñëîæíà, òàê ÷òî ïðèñòåãíèòå ðåìíè . Ãëàâû 24 è 25 (×àñòü IV) ïåðåíîñÿò âàñ â ðåàëüíûé ìèð êðèïòîãðàôèè.  ãëàâå 24 îáñóæäàþòñÿ íåêîòîðûå ñîâðåìåííûå ïðèìåíåíèÿ àëãîðèòìîâ è ïðîòîêîëîâ, â òî âðåìÿ êàê ãëàâà 25 êàñàåòñÿ íåêîòîðûõ ïîëèòè÷åñêèõ àñïåêòîâ êðèïòîãðàôèè. Íåñîìíåííî, ýòè ãëàâû íå ÿâëÿþòñÿ âñåîõâàòûâàþùèìè .  êíèãó òàêæå âêëþ÷åíû èñõîäíûå êîäû 10 àëãîðèòìîâ, ðàññìîòðåííûõ â ×àñòè III. ß íå ñìîã âêëþ÷èòü âåñü êîä, êîòîðûé õîòåë, èç-çà åãî áîëüøîãî îáúåìà, êðîìå òîãî, êðèïòîãðàôè÷åñêèå êîäû â ëþáîì ñëó÷àå íåëüçÿ ýêñïîðòèðîâàòü. (Ëþáîïûòíî, ÷òî Ãîñäåïàðòàìåíò ðàçðåøèë ýêñïîðòèðîâàòü ïåðâîå èçäàíèå ýòîé êíèãè ñ è ñõîäíûì êîäîì, íî íå ðàçðåøèë ýêñïîðòèðîâàòü êîìïüþòåðíûé äèñê ñ òåìè æå èñõîäíûìè êîäàìè. Ñìîòðè ð èñóíîê.) Ñîîòâåòñòâóþùèé íàáîð äèñêîâ ñ èñõîäíûì êîäîì ñîäåðæèò ñóùåñòâåííî áîëüøå èñõîäíûõ êîäîâ, ÷åì ÿ ñìîã âêëþ÷èòü â ýòó êíèãó, âîçìîæíî, ýòî ñàìàÿ áîëüøàÿ ïîäáîðêà êðèïòîãðàôè÷åñêèõ èñõîäíûõ êîäîâ, ïî ÿâèâøàÿñÿ çà ïðåäåëàìè âîåííûõ âåäîìñòâ . Ñåé÷àñ ÿ ìîãó ïåðåñëàòü ýòè äèñêè ñ èñõîäíûì êîäîì òîëüêî ãðà æäàíàì ÑØÀ è Êàíàäû, æèâóùèì â ýòèõ ñòðàíàõ, íî, âîçìîæíî, êîãäà-íèáóäü âñå èçìåíèòñÿ. Åñëè âû ñîáèðà åòåñü èñïîëüçîâàòü èëè ïîïðîáîâàòü ýòè àëãîðèòìû, äîáóäüòå äèñê . Ïîäðîáíîñòè íà ïîñëåäíåé ñòðàíèöå êíèãè. . Ê íåäîñòàòêàì ýòîé êíèãè îòíîñèòñÿ òî, ÷òî èç-çà åå ýíöèêëîïåäè÷åñêîé ïðèðîäû ïîñòðàäàëà ÷èòàåìîñòü êíèãè. ß õîòåë íàïèñàòü åäèíûé ñïðàâî÷íèê äëÿ òåõ, êòî ìîã âñòðåòèòüñÿ ñ êàêèì-ëèáî àëãîðèòìîì â àêàäåì è÷åñêîé ëèòåðàòóðå èëè ïðè èñïîëüçîâàíèè êàêîãî-òî ïðîäóêòà , è çàðàíåå èçâèíÿþñü ïåðåä òåìè, êòî ðàçûñêèâàåò ó÷åáíîå ïîñîáèå. Âïåðâûå âñå ìíîæåñòâî ñäåëàííîãî â êðèïòîãðàôèè ñîáðàíî ïîä îäíîé îáëîæêîé . Íåñìîòðÿ íà ýòî, ñîîáðàæåíèÿ îáúåìà çàñòàâèëè ìåíÿ îñòàâèòü ìíîãîå çà ïðåäåëàìè ýòîé êíèãè, ÿ âêëþ÷èë òå òåìû, êîòîðûå ìíå ïîêàçàëèñü âàæíûìè, ïðàêòè÷åñêèìè èëè èíòåðåñíûìè. Åñëè ÿ íå ìîã ïîëíîñòüþ îõâàòèòü òåìó, ÿ ïðèâîäèë ññûëêè íà ñîîòâåòñòâóþùèå ðàáîòû è ñòàòüè . ß ñäåëàë âñå, ÷òî ìîã, ïûòàÿñü âûëîâèòü è èñïðàâèòü âñå îøèáêè â êíèãå, íî ìíîãèå ëþäè óâåðÿëè ìåíÿ, ÷òî ýòî âñå ðàâíî íåâîçìîæíî. Êîíå÷íî, âî âòîðîì èçäàíèè îøèáîê ìåíüøå, ÷åì â ïåðâîì . Ïåðå÷åíü îøèáîê ìîæíî ïîëó÷èòü ó ìåíÿ, îí òàêæå ïåðèîäè÷åñêè ðàññûëàåòñÿ â òåëåêîíôåðåíöèè Usenet sci.crypt. Åñëè êòîíèáóäü èç ÷èòàòåëåé îáíàðóæèò îøèáêó, ïîæàëóéñòà, ïóñòü ñîîáùèò ìíå îá ýòîì. Êàæäîìó, êòî ïåðâûé îáí àðóæèò äàííóþ îøèáêó â êíèãå, ÿ áåñïëàòíî ïîøëþ äèñê ñ èñõîäíûì êîäîì . Áëàãîäàðíîñòè Ïåðå÷åíü ëþäåé, ïðèëîæèâøèõ ðóêó ê ñîçäàíèþ ýòîé êíèãè, ìîæåò ïîêàçàòüñÿ áåñêîíå÷íûì, íî âñå îíè äî ñòîéíû óïîìèíàíèÿ. Ìíå õîòåëîñü áû ïîáëàãîäàðèòü Äîíà Àëüâàðåñà ( Don Alvarez), Ðîññà Àíäåðñîíà (Ross Anderson), Äýéâà Áåéëåíñîíà (Dave Balenson), Êàðëà Áàðìñà (Karl Barms), Ñòèâà Áåëëîâèíà (Steve Bellovin), Äýíà Áåðíñòàéíà (Dan Bernstein), Ýëè Áàéåì (Ell Biham), Äæîàí Áîÿð (Joan Boyar), Êàðåí Êóïåð (Karen Cooper), Âèòà Äèôôè (Whit Diffie), Äæîàí Ôåéãåíáàóì (Joan Feigenbaum), Ôèëà Êàíà (Phil Karn), Íèëà Êîáëèöà (Neal Koblitz), Êñóåéà Ëàé (Xuejia Lai), Òîìà Ëåðàíòà (Tom Leranth), Ìàéêà Ìàðêîâèöà (Mike Markowitz), Ðàëüôà Ìåðêëà (Ralph Merkle), Áèëëà Ïàòòåíà (Bill Patten), Ïèòåðà Ïèðñîíà (Peter Pearson), ×àðëüçà Ïôëåãåðà (Charles
Pfleeger), Êåíà Ïèööèíè (Ken Pizzini), Áàðòà Ïðåíåëà (Bart Preneel), Ìàðêà Ðèîðäàíà (Mark Riordan), Éîàõèìà Øóðìàíà (Joachim Schurman) è Ìàðêà Øâàðöà (Marc Schwartz) çà ÷òåíèå è ðåäàêòèðîâàíèå âñåãî ïåðâîãî è çäàíèÿ èëè åãî ÷àñòåé; Ìàðêà Âîêëåðà (Marc Vauclair) çà ïåðåâîä ïåðâîãî èçäàíèÿ íà ôðàíöóçñêèé ; Ýéáà Àáðàõàìà (Abe Abraham), Ðîññà Àíäåðñîíà (Ross Anderson), Äýéâà Áåíèñàðà (Dave Banisar), Ñòèâà Áåëëîâèíà (Steve Bellovin), Ýëè Áàéåì (Ell Biham), Ìýòòà Áèøîïà (Matt Bishop), Ìýòòà Áëýéçà (Matt Blaze), Ãýðè Êàðòåðà (Gary Carter), Æàíà Êîìåíèøà (Jan Comenisch), Êëîäà Êðåïî (Claude Crepeau), Äæîàí Äýéìîí (Joan Daemon), Õîðõå Äàâèëà (Jorge Davila), Ýäà Äîóñîíà (Ed Dawson), Âèòà Äèôôè (Whit Diffie), Êàðëà Ýëëèñîíà (Carl Ellison), Äæîàí Ôåéãåíáàóì (Joan Feigenbaum), Íèëüñà Ôåðãþñîíà (Niels Ferguson), Ìàòòà Ôðàíêëèíà (Matt Franklin), Ðîçàðèî Ñåííàðî (Rosario Cennaro), Äèòåðà Êîëìàíà (Dieter Collmann), Ìàðêà Ãîðåñêè (Mark Goresky), Ðè÷àðäà Ãðýéâìàíà (Richard Graveman), Ñòþàðòà Õàáåðà (Stuart Haber), Äæèíãìàíà Õå (Jingman He), Áîáà Õýéãà (Bob Hague), Êåííåòà Àéâåðñîíà (Kenneth Iversen), Ìàðêóñà Äæåêîáñîíà (Markus Jakobsson), Áåðòà Êàëèñêè (Burt Kaliski), Ôèëà Êàíà (Phil Karn), Äæîíà Êåëñè (John Kelsey), Äæîíà Êåííåäè (John Kennedy), Ëàðñà Êíóäñåíà (Lars Knudsen), Ïîëà Êî÷åðà (Paul Kocher), Äæîíà Ëýäâèãà (John Ladwig), Êñóåéà Ëàé (Xuejia Lai), Àäæåíà Ëåíñòðû (Arjen Lenstra), Ïîëà Ëåéëàíäà (Paul Leyland), Ìàéêà Ìàðêîâèöà (Mike Markowitz), Äæèìà Ìýññè (Jim Massey), Áðþñà ÌàêÍåéðà (Bruce McNair), Âèëüÿìà Õüþ Ìþððåÿ (William Hugh Murray), Ðîäæåðà Íèäõýìà (Roger Needham), Êëèôà Íåéìàíà (Clif Neuman), Êåéñó Íàéáåðã (Kaisa Nyberg), Ëþêà Î'Êîííîðà (Luke O'Connor), Ïèòåðà Ïèðñîíà (Peter Pearson), Ðåíå Ïåðàëüòà (Rene Peralta), Áàðòà Ïðåíåëà (Bart Preneel), Èçðàèëÿ Ðàäàé (Yisrael Radai), Ìýòòà Ðîáøîó (Matt Robshaw), Ìàéêëà Ðîó (Michael Roe), Ôèëà Ðîãóýÿ (Phil Rogaway), Ýâè Ðóáèíà (Avi Rubin), Ïîëà Ðóáèíà (Paul Rubin), Ñåëâèíà Ðàññåëà (Selwyn Russell), Êàçóå Ñàêî (Kazue Sako), Ìàõìóäà Ñàëìàñèçàäåõà (Mahmoud Salmasizadeh), Ìàðêóñà Ñòàäëåðà (Markus Stadler), Äìèòðèÿ Òèòîâà (Dmitry Titov), Äæèììè Àïòîíà (Jimmy Upton), Ìàðêà Âîêëåðà (Marc Vauclair), Ñåðæà Âîäåíåÿ (Serge Vaudenay), Ãèäåîíà Þâàëà (Gideon Yuval), Ãëåíà Çîðíà (Glen Zorn) è ìíîãèõ áåçûìÿííûõ ïðàâèòåëüñòâåííûõ ñë óæàùèõ çà ÷òåíèå è ðåäàêòèðîâàíèå âñåãî âòîðîãî èçäàíèÿ èëè åãî ÷àñòåé ; Ëîðè Áðàóíà (Lawrie Brown), Ëèçó Êýíäë (Leisa Candle), Äæîàí Äýéìîí (Joan Daemon), Ïèòåðà Ãóòìàíà (Peter Gutmann), Àëàíà Èíñëè (Alan Insley), Êðèñà Äæîíñòîíà (Chris Johnston), Äæîíà Êåëñè (John Kelsey), Êñóåéà Ëàé (Xuejia Lai), Áèëëà Ëåéíèíãåðà (Bill Leininger), Ìàéêà Ìàðêîâèöà (Mike Markowitz), Ðè÷àðäà Àóòáðèäæà (Richard Outerbridge), Ïèòåðà Ïèðñîíà (Peter Pearson), Êåíà Ïèööèíè (Ken Pizzini), Êýëìà Ïëàìáà (Calm Plumb), RSA Data Security, Inc., Ìàéêëà Ðîó (Michael Roe), Ìàéêëà Âóäà (Michael Wood) è Ôèëà Öèììåðìàíà (Phil Zimmermann) çà ïðåäîñòàâëåííûå èñõîäíûå êîäû; Ïîëà ÌàêÍåðëàíäà (Paul MacNerland) çà ñîçäàíèå ðèñóíêîâ ê ïåðâîìó èçäàíèÿ ; Êàðåí Êóïåð (Karen Cooper) çà ðåäàêòèðîâàíèå âòîðîãî èçäàíèÿ ; Áîòà Ôðèäìàíà (Both Friedman) çà ñâåðêó âòîðîãî èçäàíèÿ; Êýðîë Êåííåäè (Êýðîë Kennedy) çà ðàáîòó íàä ïðåäìåòíûì óêàçàòåëåì äëÿ âòîðîãî èçäàíèÿ ; ÷èòàòåëåé sci.crypt è ïî÷òîâîãî ñïèñêà Cypherpunks çà êîììåíòèðîâàíèå èäåé, îòâåòû íà âîïðîñû è ïîèñê îøèáîê ïåðâîãî èçäàíèÿ; Ðýíäè Ñþññ (Randy Seuss) çà ïðåäîñòàâëåíèå äîñòóïà ê Internet; Äæåôôà Äàíòåðìàíà (Jeff Duntemann) è Äæîíà Ýðèêñîíà (Jon Erickson) çà òî, ÷òî ïîìîãëè ìíå íà÷àòü; ñåìüþ Insley (â ïðîèçâîëüíîì ïîðÿäêå) çà ñò èìóëÿöèþ, âîîäóøåâëåíèå, ïîääåðæêó, áåñåäû, äðóæáó è îáåäû ; è AT&T Bell Labs, çàæåãøåé ìåíÿ è ñäåëàâøåé âîçìîæíûì âñå ýòî. Âñå ýòè ëþäè ïîìîãëè ñîçäàòü ãîðàçäî ëó÷øóþ êíèãó, ÷åì ÿ áû ñìîã ñîçäàòü â îäèíî÷êó . Áðþñ Øíàéåð Îàê Ïàðê, Èëëèíîéñ
[email protected]
Îá àâòîðå ÁÐÞÑ ØÍÀÉÅÐ - ïðåçèäåíò Counterpane Systems, Îàê Ïàðê, Èëëèíîéñ, ôèðìà-êîíñóëüòàíò, ñïåöèàëèç èðóþùàÿñÿ â êðèïòîãðàôèè è êîìïüþòåðíîé áåçîïàñíîñòè . Áðþñ òàêæå íàïèñàë E-Mail Security, John Wiley & Sons, 1995, (Áåçîïàñíîñòü ýëåêòðîííîé ïî÷òû ) è Protect Your Macintosh, Peachpit Press, 1994, (Çàùèòè ñâîé Ìàêèíòîø). Îí ÿâëÿåòñÿ àâòîðîì äþæèí ñòàòåé ïî êðèïòîãðàôèè â îñíîâíûõ æóðíàëàõ . Îí òàêæå ñîðåäàêòîð Dr. Dobb's Journal (Æóðíàë äîêòîðà Äîááà), ãäå îí ðåäàêòèðóåò êîëîíêó "Àëëåÿ àëãîðèòìîâ" , è ñîðåäàêòîð Computer and Communications Security Reviews (Îáçîð áåçîïàñíîñòè êîìïüþòåðîâ è ëèíèé ñâÿçè) . Áðþñ âõîäèò â ñîâåò äèðåêòîðîâ Ìåæäóíàðîäíîé Àññîöèàöèè Êðèïòîëîãè÷åñêèõ Èññëåäîâàíèé ( International Association for Cryptologic Research), ÿâëÿåòñÿ ÷ëåíîì Êîíñóëüòàöèîííîãî ñîâåòà Öåíòðà Ñåêðåòíîñòè Ýëåêòðîííîé Èíôîðìàöèè (Electronic Privacy Information Center ) è âõîäèò â êîìèòåò ïðîãðàììû Ñåìèíàðà ïî Íîâûì ïàðàäèãìàì Áåçîïàñíîñòè (New Security Paradigms Workshop ). Ê òîìó æå, îí íàõîäèò âðåìÿ äëÿ ÷àñòûõ ëåêöèé ïî êðèïò îãðàôèè, êîìïüþòåðíîé áåçîïàñíîñòè è ñåêðåòíîñòè .
Ãëàâà 1 Îñíîâíûå ïîíÿòèÿ 1.1 Òåðìèíîëîãèÿ Îòïðàâèòåëü è ïîëó÷àòåëü Ïðåäïîëîæèì, ÷òî îòïðàâèòåëü õî÷åò ïîñëàòü ñîîáùåíèå ïîëó÷àòåëþ . Áîëåå òîãî, ýòîò îòïðàâèòåëü õî÷åò ïîñëàòü ñâîå ñîîáùåíèå áåçîïàñíî : îí õî÷åò áûòü óâåðåí, ÷òî ïåðåõâàòèâøèé ýòî ñîîáùåíèå íå ñìîæåò åãî ïð î÷åñòü. Ñîîáùåíèÿ è øèôðîâàíèå Ñàìî ñîîáùåíèå íàçûâàåòñÿ îòêðûòûì òåêñòîì (èíîãäà èñïîëüçóåòñÿ òåðìèí êëåð ). Èçìåíåíèå âèäà ñîîáùåíèÿ òàê, ÷òîáû ñïðÿòàòü åãî ñóòü íàçûâàåòñÿ øèôðîâàíèåì. Øèôðîâàííîå ñîîáùåíèå íàçûâàåòñÿ øèôðîòåêñòîì. Ïðîöåññ ïðåîáðàçîâàíèÿ øèôðîòåêñòà â îòêðûòûé òåêñò íàçûâàåòñÿ äåøèôðèðîâàíèåì. Ýòà ïîñëåäîâàòåëüíîñòü ïîêàçàíà íà 0th. (Åñëè âû õîòèòå ñëåäîâàòü ñòàíäàðòó ISO 7498-2, òî â àíãëèéñêèõ òåêñòàõ èñïîëüçóéòå òåðìèíû "enchipher" âìåñòî " encrypt" ("çàøèôðîâûâàòü") è "dechipher" âìåñòî " decrypt" ("äåøèôðîâûâàòü")). Èñêóññòâî è íàóêà áåçîïàñíûõ ñîîáùåíèé, íàçûâàåìàÿ êðèïòîãðàôèåé, âîïëîùàåòñÿ â æèçíü êðèïòîãðàôàìè. Êðèïòîàíàëèòèêàìè íàçûâàþòñÿ òå, êòî ïîñòîÿííî èñïîëüçóþò êðèïòîàíàëèç, èñêóññòâî è íàóêó âçëàìûâàòü øèôðîòåêñò, òî åñòü, ðàñêðûâàòü, ÷òî íàõîäèòñÿ ïîä ìàñêîé . Îòðàñëü ìàòåìàòèêè, îõâàòûâàþùàÿ êðèïòîãðàôèþ è êðèïòîàíàëèç, íàçûâàåòñÿ êðèïòîëîãèåé, à ëþäè, êîòîðûå åé çàíèìàþòñÿ, - êðèïòîëîãàìè. Ñîâðåìåííûì êðèïòîëîãàì ïðèõîäèòñÿ íåïëîõî çíàòü ìàòåìàòèêó . Îòêðûòûé òåêñò
Øèôðîâàíèå
Øèôðîòåêñò
Äåøèôðèðîâàíèå
Ïåðâîíà÷àëüíûé îòêðûòûé òåêñò
Ðèñ. 1-1. Øèôðîâàíèå è äåøèôðèðîâàíèå Îáîçíà÷èì îòêðûòûé òåêñò êàê M (îò message, ñîîáùåíèå), èëè P (îò plaintext, îòêðûòûé òåêñò). Ýòî ìîæåò áûòü ïîòîê áèòîâ, òåêñòîâûé ôàéë, áèòîâîå èçîáðàæåíèå, îöèôðîâàííûé çâóê, öèôðîâîå âèäåîèçîáðàæåíèå
äà ÷òî óãîäíî. Äëÿ êîìïüþòåðà M - ýòî ïðîñòî äâîè÷íûå äàííûå. (Âî âñåõ ñëåäóþùèõ ãëàâàõ ýòîé êíèãè ðà ññìàòðèâàþòñÿ òîëüêî äâîè÷íûå äàííûå è êîìïüþòåðíàÿ êðèïòîãðàôèÿ .) Îòêðûòûé òåêñò ìîæåò áûòü ñîçäàí äëÿ õðàíåíèÿ èëè ïåðåäà÷è.  ëþáîì ñëó÷àå , M - ýòî ñîîáùåíèå, êîòîðîå äîëæíî áûòü çàøèôðîâàíî . Îáîçíà÷èì øèôðîòåêñò êàê C (îò ciphertext). Ýòî òîæå äâîè÷íûå äàííûå, èíîãäà òîãî æå ðàçìåðà, ÷òî è M, èíîãäà áîëüøå. (Åñëè øèôðîâàíèå ñîïðîâîæäàåòñÿ ñæàòèåì, C ìîæåò áûòü ìåíüøå ÷åì M. Îäíàêî, ñàìî øèôðîâàíèå íå îáåñïå÷èâàåò ñæàòèå èíôîðìàöèè .) Ôóíêöèÿ øèôðîâàíèÿ E äåéñòâóåò íà M, ñîçäàâàÿ C. Èëè, â ìàòåìàòè÷åñêîé çàïèñè: E(M) = C  îáðàòíîì ïðîöåññå ôóíêöèÿ äåøèôðèðîâàíèÿ D äåéñòâóåò íà C, âîññòàíàâëèâàÿ M: D(C) = M Ïîñêîëüêó ñìûñëîì øèôðîâàíèÿ è ïîñëåäóþùåãî äåøèôðèðîâàíèÿ ñîîáùåíèÿ ÿâëÿåòñÿ âîññòàíîâëåíèå ïå ðâîíà÷àëüíîãî îòêðûòîãî òåêñòà, äîëæíî âûïîëíÿòüñÿ ñëåäóþùåå ðàâåíñòâî : D(E(M)) = M Ïðîâåðêà ïîäëèííîñòè, öåëîñòíîñòü è íåîòðèöàíèå àâòîðñòâà Êðîìå îáåñïå÷åíèÿ êîíôèäåíöèàëüíîñòè êðèïòîãðàôèÿ ÷àñòî èñïîëüçóåòñÿ äëÿ äðóãèõ ôóíêöèé : Ïðîâåðêà ïîäëèííîñòè. Ïîëó÷àòåëü ñîîáùåíèÿ ìîæåò ïðîâåðèòü åãî èñòî÷íèê, çëîóìûøëåííèê íå ñìîæåò çàìàñêèðîâàòüñÿ ïîä êîãî-ëèáî. Öåëîñòíîñòü. Ïîëó÷àòåëü ñîîáùåíèÿ ìîæåò ïðîâåðèòü, íå áûëî ëè ñîîáùåíèå èçìåíåíî â ïðîöåññå äîñòàâêè, çëîóìûøëåííèê íå ñìîæåò ïîäìåíèòü ïðàâèëüíîå ñîîáùåíèå ëîæíûì. Íåîòðèöàíèå àâòîðñòâà. Îòïðàâèòåëü íå ñìîæåò ëîæíî îòðèöàòü îòïðàâêó ñîîáùåíèÿ. Ñóùåñòâóþò æèçíåííî âàæíûå òðåáîâàíèÿ ê îáùåíèþ ïðè ïîìîùè êîìïüþòåðîâ, òàêæå êàê ñóùåñòâóþò àíà-
ëîãè÷íûå òðåáîâàíèÿ ïðè îáùåíèè ëèöîì ê ëèöó. Òî, ÷òî êòî-òî ÿâëÿåòñÿ èìåííî òåì, çà êîãî îí ñåáÿ âûäàåò
÷òî ÷üè-òî äîêóìåíòû - âîäèòåëüñêèå ïðàâà, ìåäèöèíñêàÿ ñòåïåíü èëè ïàñïîðò - íàñòîÿùèå
÷òî äîêóìåíò, ïîëó÷åííûé îò êîãî-òî, ïîëó÷åí èìåííî îò ýòîãî ÷åëîâåêà
Êàê ðàç ýòî îáåñïå÷èâàþò ïðîâåðêà ïîäëèííîñòè, öåëîñòíîñòü è íåîòðèöàíèå àâòîðñòâà . Àëãîðèòìû è êëþ÷è Êðèïòîãðàôè÷åñêèé àëãîðèòì, òàêæå íàçûâàåìûé øèôðîì, ïðåäñòàâëÿåò ñîáîé ìàòåìàòè÷åñêóþ ôóí êöèþ, èñïîëüçóåìóþ äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ . (Îáû÷íî ýòî äâå ñâÿçàííûõ ôóíêöèè: îäíà äëÿ øè ôðîâàíèÿ, à äðóãàÿ äëÿ äåøèôðèðîâàíèÿ .) Åñëè áåçîïàñíîñòü àëãîðèòìà îñíîâàíà íà ñîõðàíåíèè ñàìîãî àëãîðèòìà â òàéíå, ýòî îãðàíè÷åííûé àëãîðèòì. Îãðàíè÷åííûå àëãîðèòìû ïðåäñòàâëÿþò òîëüêî èñòîðè÷åñêèé èíòåðåñ, íî îíè ñîâåðøåííî íå ñîîòâåòñ òâóþò ñåãîäíÿøíèì ñòàíäàðòàì. Áîëüøàÿ èëè èçìåíÿþùàÿñÿ ãðóïïà ïîëüçîâàòåëåé íå ìîæåò èñïîëüçîâàòü òàêèå àëãîðèòìû, òàê êàê âñÿêèé ðàç, êîãäà ïîëüçîâàòåëü ïîêèäàåò ãðóïïó, åå ÷ëåíû äîëæíû ïåðåõîäèòü íà äðóãîé àëãîðèòì. Àëãîðèòì äîëæåí áûòü çàìåíåí è, åñëè êòî-íèáóäü èçâíå ñëó÷àéíî óçíàåò ñåêðåò. ×òî åùå õóæå, îãðàíè÷åííûå àëãîðèòìû íå äîïóñêàþò êà÷åñòâåííîãî êîíòðîëÿ èëè ñòàíäàðòèçàöèè. Ó êà æäîé ãðóïïû ïîëüçîâàòåëåé äîëæåí áûòü ñâîé óíèêàëüíûé àëãîðèòì . Òàêèå ãðóïïû íå ìîãóò èñïîëüçîâàòü î òêðûòûå àïïàðàòíûå èëè ïðîãðàììíûå ïðîäóêòû - çëîóìûøëåííèê ìîæåò êóïèòü òàêîé æå ïðîäóêò è ðàñêðûòü àëãîðèòì. Èì ïðèõîäèòñÿ ðàçðàáàòûâàòü è ðåàëèçîâûâàòü ñîáñòâåííûå àëãîðèòìû. Åñëè â ãðóïïå íåò õîðîøåãî êðèïòîãðàôà, òî êàê åå ÷ëåíû ïðîâåðÿò, ÷òî îíè ïîëüçóþòñÿ áåçîïàñíûì àëãîðèòìîì? Íåñìîòðÿ íà ýòè îñíîâíûå íåäîñòàòêè îãðàíè÷åííûå àëãîðèòìû íåîáû÷àéíî ïîïóëÿðíû äëÿ ïðèëîæåíèé ñ íèçêèì óðîâíåì áåçîïàñíîñòè. Ïîëüçîâàòåëè ëèáî íå ïîíèìàþò ïðîáëåì, ñâÿçàííûõ ñ áåçîïàñíîñòüþ ñâîèõ ñèñòåì, ëèáî íå çàáîòÿòñÿ î íèõ. Ñîâðåìåííàÿ êðèïòîãðàôèÿ ðåøàåò ýòè ïðîáëåìû ñ ïîìîùüþ êëþ÷à K. Òàêîé êëþ÷ ìîæåò áûòü ëþáûì çíà÷åíèåì, âûáðàííûì èç áîëüøîãî ìíîæåñòâà. Ìíîæåñòâî âîçìîæíûõ êëþ÷åé íàçûâàþò ïðîñòðàíñòâîì êëþ÷åé. È øèôðîâàíèå, è äåøèôðèðîâàíèå ýòîò êëþ÷ (òî åñòü, îíè çàâèñÿò îò êëþ÷à, ÷òî îáîçíà÷àåòñÿ èíäå êñîì K), è òåïåðü ýòè ôóíêöèè âûãëÿäÿò êàê : EK(M)=C DK(C)=M Ïðè ýòîì âûïîëíÿåòñÿ ñëåäóþùåå ðàâåíñòâî (ñì -1-é): DK(EK(M))=M Äëÿ íåêîòîðûõ àëãîðèòìîâ ïðè øèôðîâàíèè è äåøèôðèðîâàíèè èñïîëüçóþòñÿ ðàçëè÷íûå êëþ÷è (ñì -2-é). Òî åñòü êëþ÷ øèôðîâàíèÿ, Ê1, îòëè÷àåòñÿ îò ñîîòâåòñòâóþùåãî êëþ÷à äåøèôðèðîâàíèÿ, K2.  ýòîì ñëó÷àå:
E K1 (M)=C DK2 (C)=M DK2 (E K1 (M))=M Áåçîïàñíîñòü ýòèõ àëãîðèòìîâ ïîëíîñòüþ îñíîâàíà íà êëþ÷àõ, à íå íà äåòàëÿõ àëãîðèòìîâ. Ýòî çíà÷èò, ÷òî àëãîðèòì ìîæåò áûòü îïóáëèêîâàí è ïðîàíàëèçèðîâàí. Ïðîäóêòû, èñïîëüçóþùèå ýòîò àëãîðèòì, ìîãóò øèðîêî òèðàæèðîâàòüñÿ. Íå èìååò çíà÷åíèÿ, ÷òî çëîóìûøëåííèêó èçâåñòåí âàø àëãîðèòì, åñëè åìó íå èçâåñòåí êî íêðåòíûé êëþ÷, òî îí íå ñìîæåò ïðî÷åñòü âàøè ñîîáùåíèÿ . Êðèïòîñèñòåìà ïðåäñòàâëÿåò ñîáîé àëãîðèòì ïëþñ âñå âîçìîæíûå îòêðûòûå òåêñòû, øèôðîòåêñòû è êëþ÷è . Êëþ÷ Îòêðûòûé òåêñò
Øèôðîâàíèå
Êëþ÷ Øèôðîòåêñò
Äåøèôðèðîâàíèå
Ïåðâîíà÷àëüíûé îòêðûòûé òåêñò
Ðèñ. 1-2. Øèôðîâàíèå è äåøèôðèðîâàíèå ñ êëþ÷îì
Êëþ÷ øèôðîâàíèÿ Îòêðûòûé òåêñò
Øèôðîâàíèå
Êëþ÷ äåøèôðèðîâàíèÿ Øèôðîòåêñò
Äåøèôðèðîâàíèå
Ïåðâîíà÷àëüíûé îòêðûòûé òåêñò
Ðèñ. 1-3. Øèôðîâàíèå è äåøèôðèðîâàíèå ñ äâóìÿ ðàçëè÷íûìè êëþ÷àìè Ñèììåòðè÷íûå àëãîðèòìû Ñóùåñòâóåò äâà îñíîâíûõ òèïà àëãîðèòìîâ, îñíîâàííûõ íà êëþ÷àõ: ñèììåòðè÷íûå è ñ îòêðûòûì êëþ÷îì . Ñèììåòðè÷íûå àëãîðèòìû, èíîãäà íàçûâàåìûå óñëîâíûìè àëãîðèòìàìè , ïðåäñòàâëÿþò ñîáîé àëãîðèòìû, â êîòîðûõ êëþ÷ øèôðîâàíèÿ ìîæåò áûòü ðàññ÷èòàí ïî êëþ÷ó äåøèôðèðîâàíèÿ è íàîáîðîò .  áîëüøèíñòâå ñèììåòðè÷íûõ àëãîðèòìîâ êëè÷è øèôðîâàíèÿ è äåøèôðèðîâàíèÿ îäíè è òå æå . Ýòè àëãîðèòìû, òàêæå íàçûâàåìûå àëãîðèòìàìè ñ ñåêðåòíûì êëþ÷îì èëè àëãîðèòìàìè ñ îäíèì êëþ÷îì, òðåáóþò, ÷òîáû îòïðàâèòåëü è ïîëó÷àòåëü ñîãëàñîâàëè èñïîëüçóåìûé êëþ÷ ïåðåä íà÷àëîì áåçîïàñíîé ïåðåäà÷è ñîîáùåíèé . Áåçîïàñíîñòü ñèììåòðè÷íîãî àëãîðèòìà îïðåäåëÿåòñÿ êëþ÷îì, ðàñêðûòèå êëþ÷à îçíà÷àåò, ÷òî êòî óãîäíî ñìîæåò øèôðîâàòü è äåøèôðèð îâàòü ñîîáùåíèÿ. Ïîêà ïåðåäàâàåìûå ñîîáùåíèÿ äîëæíû áûòü òàéíûìè, êëþ÷ äîëæåí õðàíèòüñÿ â ñåêðåòå . Øèôðîâàíèå è äåøèôðèðîâàíèå ñ èñïîëüçîâàíèåì ñèììåòðè÷íîãî àëãîðèòìà îáîçíà÷àåòñÿ êàê : EK(M)=C DK(C)=M Ñèììåòðè÷íûå àëãîðèòìû äåëÿòñÿ íà äâå êàòåãîðèè . Îäíè àëãîðèòìû îáðàáàòûâàþò îòêðûòûé òåêñò ïîáèòíî (èíîãäà ïîáàéòíî), îíè íàçûâàþòñÿ ïîòîêîâûìè àëãîðèòìàìè èëè ïîòîêîâûìè øèôðàìè. Äðóãèå ðàáîòàþ ñ ãðóïïàìè áèòîâ îòêðûòîãî òåêñòà. Ãðóïïû áèòîâ íàçûâàþòñÿ áëîêàìè, à àëãîðèòìû - áëî÷íûìè àëãîðèòìàìè èëè áëî÷íûìè øèôðàìè. Äëÿ àëãîðèòìîâ, èñïîëüçóåìûõ â êîìïüþòåðíûõ ìîäåìàõ, òèïè÷íûé ðàçìåð áëîêà ñîñòàâëÿåò 64 áèòà - äîñòàòî÷íî áîëüøîå çíà÷åíèå, ÷òîáû ïîìåøàòü àíàëèçó, è äîñòàòî÷íî íåáîëüøîå è óäîáíîå äëÿ ðàáîòû. (Äî ïîÿâëåíèÿ êîìïüþòåðîâ àëãîðèòìû îáû÷íî îáðàáàòûâàëè îòêðûòûé òåêñò ïîñèìâîëüíî . Òàêîé âàðèàíò ìîæåò ðàññìàòðèâàòüñÿ êàê ïîòîêîâûé àëãîðèòì, îáðàáàòûâàþùèé ïîòîê ñèìâîëîâ .) Àëãîðèòìû ñ îòêðûòûì êëþ÷îì Àëãîðèòìû ñ îòêðûòûì êëþ÷îì (íàçûâàåìûå àñèììåòðè÷íûìè àëãîðèòìàìè ) ðàçðàáîòàíû òàêèì îáðàçîì, ÷òî êëþ÷, èñïîëüçóåìûé äëÿ øèôðîâàíèÿ, îòëè÷àåòñÿ îò êëþ÷à äåøèôðèðîâàíèÿ . Áîëåå òîãî, êëþ÷ äåøèôðèðîâàíèÿ íå ìîæåò áûòü (ïî êðàéíåé ìåðå â òå÷åíèå ðàçóìíîãî èíòåðâàëà âðåìåíè ) ðàññ÷èòàí ïî êëþ÷ó øèôðîâàíèÿ. Àëãîðèòìû íàçûâàþòñÿ "ñ îòêðûòûì êëþ÷îì", ïîòîìó ÷òî êëþ÷ øèôðîâàíèÿ ìîæåò áûòü îòêðûòûì: êòî óãîäíî ìîæåò èñïîëüçîâàòü êëþ÷ øèôðîâàíèÿ äëÿ øèôðîâàíèÿ ñîîáùåíèÿ, íî òîëüêî êîíêðåòíûé ÷ åëîâåê ñ ñîîòâåòñòâóþùèì êëþ÷îì äåøèôðèðîâàíèÿ ìîæåò ðàñøèôðîâàòü ñîîáùåíèå .  ýòèõ ñèñòåìàõ êëþ÷ øèôðîâàíèÿ ÷àñòî íàçûâàåòñÿ îòêðûòûì êëþ÷îì, à êëþ÷ äåøèôðèðîâàíèÿ - çàêðûòûì. Çàêðûòûé êëþ÷ èíîãäà íàçûâàåòñÿ ñåêðåòíûì êëþ÷îì, íî ÷òîáû íå áûëî ïóòàíèöû ñ ñèììåòðè÷íûìè àëãîðèòìàìè, ýòîò òåðìèí íå èñïîëüçóåòñÿ â äàííîé êíèãå. Øèôðîâàíèå ñ îòêðûòûì êëþ÷îì K îáîçíà÷àåòñÿ êàê: EK(M)=C Õîòÿ îòêðûòûé è çàêðûòûé êëþ÷è ðàçëè÷íû, äåøèôðèðîâàíèå ñ ñîîòâåòñòâóþùèì çàêðûòûì êëþ÷îì îá îçíà÷àåòñÿ êàê: DK(C)=M Èíîãäà ñîîáùåíèÿ øèôðóþòñÿ çàêðûòûì êëþ÷îì, à äåøèôðèðóþòñÿ îòêðûòûì, ÷òî èñïîëüçóåòñÿ äëÿ öè ôðîâîé ïîäïèñè (ñì. ðàçäåë 2.6). Íåñìîòðÿ íà âîçìîæíóþ ïóòàíèöó ýòè îïåðàöèè, ñîîòâåòñòâåííî, îáîçíà÷àþ òñÿ êàê: EK(M)=C DK(C)=M Êðèïòîàíàëèç Ñìûñë êðèïòîãðàôèè - â ñîõðàíåíèè îòêðûòîãî òåêñòà (èëè êëþ÷à, èëè è òîãî, è äðóãîãî) â òàéíå îò çë îóìûøëåííèêîâ (òàêæå íàçûâàåìûõ âçëîìùèêàìè , ñîïåðíèêàìè, âðàãàìè, ïåðåõâàò÷èêàìè ). Ïðåäïîëàãàåòñÿ, ÷òî çëîóìûøëåííèêè ïîëíîñòüþ êîíòðîëèðóþò ëèíèè ñâÿçè ìåæäó îòïðàâèòåëåì è ïîëó÷àòåëåì . Êðèïòîàíàëèç - ýòî íàóêà ïîëó÷åíèÿ îòêðûòîãî òåêñòà, íå èìåÿ êëþ÷à . Óñïåøíî ïðîâåäåííûé êðèïòîàíàëèç ìîæåò ðàñêðûòü îòêðûòûé òåêñò èëè êëþ÷ . Îí òàêæå ìîæåò îáíàðóæèòü ñëàáûå ìåñòà â êðèïòîñèñòåìàõ, ÷òî â êîíöå êîíöîâ ïðèâåäåò ê ïðåäûäóùåìó ðåçóëüòàòó . (Ðàñêðûòèå êëþ÷à íå êðèïòîëîãè÷åñêèìè ñïîñîáàìè íàç û-
âàåòñÿ êîìïðîìåòàöèåé.) Ïîïûòêà êðèïòîàíàëèçà íàçûâàåòñÿ âñêðûòèåì. Îñíîâíîå ïðåäïîëîæåíèå êðèïòîàíàëèçà, âïåðâûå ñôî ðìóëèðîâàííîå â äåâÿòíàäöàòîì âåêå Äàò÷ìàíîì À. Êåðêõîôñîì ( Dutchman A. Kerckhoffs), iñîñòîèò â òîì, ÷òî áåçîïàñíîñòü ïîëíîñòüþ îïðåäåëÿåòñÿ êëþ÷îì [794]. Êåðêõîôñ ïðåäïîëàãàåò, ÷òî ó êðèïòîàíàëèòèêà åñòü ïî ëíîå îïèñàíèå àëãîðèòìà è åãî ðåàëèçàöèè . (Êîíå÷íî æå, ó ÖÐÓ íå â îáû÷àå ñîîáùàòü Ìîññàä î ñâîèõ êðèïò îãðàôè÷åñêèõ àëãîðèòìàõ, íî Ìîññàä âîçìîæíî âñå ðàâíî äîáóäåò èõ .) Õîòÿ â ðåàëüíîì ìèðå êðèïòîàíàëèòèêè íå âñåãäà îáëàäàþò ïîäðîáíîé èíôîðìàöèåé, òàêîå ïðåäïîëîæåíèå ÿâëÿåòñÿ õîðîøåé ðàáî÷åé ãèïîòåçîé . Åñëè ïðîòèâíèê íå ñìîæåò âçëîìàòü àëãîðèòì, äàæå çíàÿ, êàê îí ðàáîòàåò, òî òåì áîëåå âðàã íå ñìîæåò âñêðûòü à ëãîðèòì áåç ýòîãî çíàíèÿ. Ñóùåñòâóåò ÷åòûðå îñíîâíûõ òèïà êðèïòîàíàëèòè÷åñêîãî âñêðûòèÿ . Äëÿ êàæäîãî èç íèõ, êîíå÷íî, ïðåäï îëàãàåòñÿ, ÷òî êðèïòîàíàëèòèê îáëàäàåò âñåé ïîëíîòîé çíàíèÿ îá èñïîëüçóåìîì àëãîðèòìå øèôðîâàíèÿ : 1. Âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà. Ó êðèïòîàíàëèòèêà åñòü øèôðîòåêñòû íåñêîë üêèõ ñîîáùåíèé, çàøèôðîâàííûõ îäíèì è òåì æå àëãîðèòìîì øèôðîâàíèÿ . Çàäà÷à êðèïòîàíàëèòèêà ñîñòîèò â ðàñêðûòèè îòêðûòîãî òåêñòà êàê ìîæíî áîëüøåãî ÷èñëà ñîîáùåíèé èëè, ÷òî ëó÷øå, ïîëó÷ åíèè êëþ÷à (êëþ÷åé), èñïîëüçîâàííîãî äëÿ øèôðîâàíèÿ ñîîáùåíèé, äëÿ äåøèôðèðîâàíèè äðóãèõ ñ îîáùåíèé, çàøèôðîâàííûõ òåìè æå êëþ÷àìè . Äàíî: C1=Ek(P1), C2=Ek(P2), . . . Ci =Ek(Pi ) Ïîëó÷èòü: Ëèáî P1, P2, . . . Pi ; k; ëèáî àëãîðèòì, êàê ïîëó÷àòü Pi+1 èç Ci+1=Ek(Pi+1) 2. Âñêðûòèå ñ èñïîëüçîâàíèåì îòêðûòîãî òåêñòà. Ó êðèïòîàíàëèòèêà åñòü äîñòóï íå òîëüêî ê øèôð îòåêñòàì íåñêîëüêèõ ñîîáùåíèé, íî è ê îòêðûòîìó òåêñòó ýòèõ ñîîáùåíèé . Åãî çàäà÷à ñîñòîèò â ïîëó÷åíèè êëþ÷à (èëè êëþ÷åé), èñïîëüçîâàííîãî äëÿ øèôðîâàíèÿ ñîîáùåíèé, äëÿ äåøèôðèðîâàíèè äð óãèõ ñîîáùåíèé, çàøèôðîâàííûõ òåì æå êëþ÷îì (êëþ÷àìè) . Äàíî: P1, C1=Ek(P1), P2, C2=Ek(P2), . . . Pi , Ci =Ek(Pi ) Ïîëó÷èòü: Ëèáî k; ëèáî àëãîðèòì, êàê ïîëó÷àòü Pi+1 èç Ci+1=Ek(Pi+1) 3. Âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà. Ó êðèïòîàíàëèòèêà íå òîëüêî åñòü äîñòóï ê øèôðîòåêñòàì è îòêðûòûì òåêñòàì íåñêîëüêèõ ñîîáùåíèé, íî è âîçìîæíîñòü âûáèðàòü î òêðûòûé òåêñò äëÿ øèôðîâàíèÿ. Ýòî ïðåäîñòàâëÿåò áîëüøå âàðèàíòîâ ÷åì âñêðûòèå ñ èñïîëüçîâàíèåì îòêðûòîãî òåêñòà, òàê êàê êðèïòîàíàëèòèê ìîæåò âûáèðàòü øèôðóåìûå áëîêè îòêðûòîãî òåêñòà, ÷òî ìîæåò äàòü áîëüøå èíôîðìàöèè î êëþ÷å . Åãî çàäà÷à ñîñòîèò â ïîëó÷åíèè êëþ÷à (èëè êëþ÷åé), è ñïîëüçîâàííîãî äëÿ øèôðîâàíèÿ ñîîáùåíèé, èëè àëãîðèòìà, ïîçâîëÿþùåãî äåøèôðèðîâàòü íîâûå ñ îîáùåíèÿ, çàøèôðîâàííûå òåì æå êëþ÷îì (èëè êëþ÷àìè) . Äàíî: P1, C1=Ek(P1), P2, C2=Ek(P2), . . . Pi , Ci =Ek(Pi ) ãäå êðèïòîàíàëèòèê ìîæåò âûáèðàòü P1, P2, . . . Pi Ïîëó÷èòü: Ëèáî k; ëèáî àëãîðèòì, êàê ïîëó÷àòü Pi+1 èç Ci+1=Ek(Pi+1) 4. Àäàïòèâíîå âñêðûòèå ñ èñïîëüçîâàíèåì îòêðûòîãî òåêñòà. Ýòî ÷àñòíûé ñëó÷àé âñêðûòèÿ ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà . Êðèïòîàíàëèòèê íå òîëüêî ìîæåò âûáèðàòü øèôðóåìûé òåêñò, íî òàêæå ìîæåò ñòðîèòü ñâîé ïîñëåäóþùèé âûáîð íà áàçå ïîëó÷åííûõ ðåçóëüòàòîâ øèôðîâàíèÿ. Ïðè âñêðûòèè ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà êðèïòîàíàëèòèê ìîã âûáðàòü äëÿ øèôðîâàíèÿ òîëüêî îäèí áîëüøîé áëîê îòêðûòîãî òåêñòà, ïðè àäàïòèâíîì âñêðûòèè ñ è ñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà îí ìîæåò âûáðàòü ìåíüøèé áëîê îòêðûòîãî òåêñòà, çàòåì âûáðàòü ñëåäóþùèé áëîê, èñïîëüçóÿ ðåçóëüòàòû ïåðâîãî âûáîðà è òàê äàëåå . Ñóùåñòâóåò ïî êðàéíåé ìåðå åøå òðè òèïà êðèïòîàíàëèòè÷åñêîé âñêðûòèÿ . 5. Âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî øèôðîòåêñòà. Êðèïòîàíàëèòèê ìîæåò âûáðàòü ðàçëè ÷íûå øèôðîòåêñòû äëÿ äåøèôðèðîâàíèÿ è èìååò äîñòóï ê äåøèôðèðîâàííûì îòêðûòûì òåêñòàì . Íàïðèìåð, ó êðèïòîàíàëèòèêà åñòü äîñòóï ê "÷åðíîìó ÿùèêó", êîòîðûé âûïîëíÿåò àâòîìàòè÷åñêîå ä åøèôðèðîâàíèå. Åãî çàäà÷à ñîñòîèò â ïîëó÷åíèè êëþ÷à . Äàíî: C1, P1=Dk(C1), C2, P2=Dk(C2), . . . Ci , Pi =Dk(Ci ) Ïîëó÷èòü: k Òàêîé òèï âñêðûòèÿ îáû÷íî ïðèìåíèì ê àëãîðèòìàì ñ îòêðûòûì êëþ÷îì è îáñóæäàåòñÿ â ðàçäåëå 19.3. Âñêðûòèå ñ èñïîëüçîâàíèå âûáðàííîãî øèôðîòåêñòà èíîãäà òàêæå ýôôåêòèâíî ïðîòèâ ñèììå òðè÷íûõ àëãîðèòìîâ. (Èíîãäà âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà è âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî øèôðîòåêñòà âìåñòå íàçûâàþò âñêðûòèåì ñ èñïîëüçîâàíèåì âûáðàííîãî òåêñòà.)
6. Âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî êëþ÷à. Òàêîé òèï âñêðûòèÿ îçíà÷àåò íå òî, ÷òî êðèïòî àíàëèòèê ìîæåò âûáèðàòü êëþ÷, à ÷òî ó íåãî åñòü íåêîòîðàÿ èíôîðìàöèÿ î ñâÿçè ìåæäó ðàçëè÷íûìè êëþ÷àìè. Ýòîò ñòðàííûé, çàïóòàííûé è íå î÷åíü ïðàêòè÷íûé òèï âñêðûòèÿ îáñóæäàåòñÿ â ðàçäåëå 12.4. 7. Áàíäèòñêèé êðèïòîàíàëèç. Êðèïòîàíàëèòèê óãðîæàåò, øàíòàæèðóåò èëè ïûòàåò êîãî-íèáóäü, ïîêà íå ïîëó÷èò êëþ÷. Âçÿòî÷íè÷åñòâî èíîãäà íàçûâàåòñÿ âñêðûòèåì ñ ïîêóïêîé êëþ÷à. Ýòî î÷åíü ìîùíûå ñïîñîáû âñêðûòèÿ, ÷àñòî ÿâëÿþùèåñÿ íàèëó÷øèì ïóòåì âçëîìàòü àëãîðèòì . Âñêðûòèÿ ñ èçâåñòíûì îòêðûòûì òåêñòîì è ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà âñòðå÷àþòñÿ ÷àùå, ÷åì ìîæíî ïîäóìàòü. Íå ÿâëÿåòñÿ íåâîçìîæíûì äëÿ êðèïòîàíàëèòèêà äîáûòü îòêðûòûé òåêñò øèôð îâàííîãî ñîîáùåíèÿ èëè ïîäêóïèòü êîãî-íèáóäü, êòî çàøèôðóåò âûáðàííîå ñîîáùåíèå . Ìîæåò è íå ïîòðåáîâàòüñÿ íèêîãî ïîäêóïàòü - ïåðåäàâ ïèñüìî ïîñëó, âû, âîçìîæíî, îáíàðóæèòå, ÷òî ïèñüìî áóäåò çàøèôðîâàíî è îòïðàâëåíî â åãî ñòðàíó äëÿ èçó÷åíèÿ . Ìíîãèå ñîîáùåíèÿ èìåþò ñòàíäàðòíûå íà÷àëî è îêîí÷àíèå, ÷òî ìîæåò áûòü èçâåñòíî êðèïòîàíàëèòèêó. Îñîáåííî óÿçâèì øèôðîâàííûé èñõîäíûé êîä èç-çà ÷àñòîãî èñïîëüçîâàíèÿ êëþ÷åâûõ ñëîâ: #define, struct, else, return. Òå æå ïðîáëåìû è ó øèôðîâàííîãî èñïîëíèìîãî êîäà : ôóíêöèè, öèêëè÷åñêèå ñòðóêòóðû è òàê äàëåå . Âñêðûòèÿ ñ èçâåñòíûì îòêðûòûì òåêñòîì (è âñêðûòèÿ ñ âûáðàííûì øèôðîòåêñòîì) óñïåøíî èñïîëüçîâàëèñü â áîðüáå ñ íåìöàìè è ÿïîíöàìè â õîäå Âòîðîé ìèðîâîé âîéíû . Èñòîðè÷åñêèå ïðèìåðû âñêðûòèé òàêîãî òèïà ìîæíî íàéòè â êíèãàõ Äýâèäà Êàíà [794,795,796]. È íå çàáûâàéòå î ïðåäïîëîæåíèè Êåðêõîôñà : åñëè ìîùü âàøåé íîâîé êðèïòîñèñòåìû îïèðàåòñÿ íà òî, ÷òî âçëîìùèê íå çíàåò, êàê ðàáîòàåò àëãîðèòì, âû ïðîïàëè . Åñëè âû ñ÷èòàåòå, ÷òî õðàíåíèå ïðèíöèïà ðàáîòû à ëãîðèòìà â ñåêðåòå ëó÷øå çàùèòèò âàøó êðèïòîñèñòåìó, ÷åì ïðåäëîæåíèå àêàäåìè÷åñêîìó ñîîáùåñòâó ïðîàí àëèçèðîâàòü àëãîðèòì, âû îøèáàåòåñü . À åñëè âû äóìàåòå, ÷òî êòî-òî íå ñìîæåò äåçàññåìáëèðîâàòü âàø èñõî äíûé êîä è âîññòàíîâèòü âàø àëãîðèòì, âû íàèâíû . ( 1994 ãîäó òàêîå ïðîèçîøëî ñ àëãîðèòìîì RC4, ñì. ðàçäåë 17.1.) Íàøèìè ëó÷øèìè àëãîðèòìàìè ÿâëÿþòñÿ òå, êîòîðûå áûëè ðàçðàáîòàíû îòêðûòî, ãîäàìè âçëàìûâ àëèñü ëó÷øèìè êðèïòîãðàôàìè ìèðà è âñå åùå íåñîêðóøèìû . (Àãåíòñòâî Íàöèîíàëüíîé Áåçîïàñíîñòè õðàíèò ñâîè àëãîðèòìû â ñåêðåòå, íî ó íèõ ðàáîòàþò ëó÷øèå êðèïòîãðàôû ìèðà, à ó âàñ - íåò. Êðîìå òîãî, îíè îáñó æäàþò ñâîè àëãîðèòìû äðóã ñ äðóãîì, ïîëàãàÿñü íà ñïîñîáíîñòü òîâàðèùà îáíàðóæèòü âñå ñëàáîñòè â ñâîåé ð àáîòå.) Ó êðèïòîàíàëèòèêîâ íå âñåãäà åñòü äîñòóï ê àëãîðèòìàì (íàïðèìåð, âñêðûòèå â õîäå Âòîðîé ìèðîâîé âîéíû Ñîåäèíåííûìè Øòàòàìè ÿïîíñêîãî äèïëîìàòè÷åñêîãî êîäà PURPLE [794]), íî ÷àñòî îíè åãî ïîëó÷àþò. Åñëè àëãîðèòì èñïîëüçóåòñÿ â êîììåð÷åñêîé ïðîãðàììå áåçîïàñíîñòè, òî ýòî ïðîñòî âîïðîñ âðåìåíè è äåíåã, óäàñ òñÿ ëè äåçàññåìáëèðîâàòü ïðîãðàììó è ðàñêðûòü àëãîðèòì . Åñëè æå àëãîðèòì èñïîëüçóåòñÿ â âîåííîé ñèñòåìå ñâÿçè, òî ýòî ïðîñòî âîïðîñ âðåìåíè è äåíåã êóïèòü (èëè óêðàñòü) àïïàðàòóðó è ðåêîíñòðóèðîâàòü àëãîðèòì . Òå, êòî ñòðåìèòñÿ ïîëó÷èòü íåðàñêðûâàåìûé øèôð, ñ÷èòàÿ ýòîò øèôð òàêîâûì òîëüêî ïîòîìó, ÷òî îíè ñàìè íå ñìîãëè åãî âçëîìàòü, ëèáî ãåíèè, ëèáî äóðàêè . Ê íåñ÷àñòüþ, ïîñëåäíèõ â ìèðå äîñòàòî÷íî ìíîãî . Îñòåðåãàéòåñü ëþäåé, ðàñõâàëèâàþùèõ íàäåæíîñòü ñâîèõ àëãîðèòìîâ, íî îòêàçûâàþùèõñÿ èõ îïóáëèêîâàòü. Äîâ åðÿòü òàêèì àëãîðèòìàì íåëüçÿ. Õîðîøèå êðèïòîãðàôû îïèðàþòñÿ íà ìíåíèå äðóãèõ, îòäåëÿÿ õîðîøèå àëãîðèòìû îò ïëîõèõ . Áåçîïàñíîñòü àëãîðèòìîâ Ðàçëè÷íûå àëãîðèòìû ïðåäîñòàâëÿþò ðàçëè÷íûå ñòåïåíè áåçîïàñíîñòè â çàâèñèìîñòè îò òîãî, íàñêîëüêî òðóäíî âçëîìàòü àëãîðèòì. Åñëè ñòîèìîñòü âçëîìà àëãîðèòìà âûøå, ÷åì ñòîèìîñòü çàøèôðîâàííûõ äàííûõ, âû, ñêîðåå âñåãî, â áåçîïàñíîñòè . Åñëè âðåìÿ âçëîìà àëãîðèòìà áîëüøå, ÷åì âðåìÿ, â òå÷åíèå êîòîðîãî çàøè ôðîâàííûå äàííûå äîëæíû ñîõðàíÿòüñÿ â ñåêðåòå, òî âû òàêæå, ñêîðåå âñåãî, â áåçîïàñíîñòè . Åñëè îáúåì äàííûõ, çàøèôðîâàííûõ îäíèì êëþ÷îì, ìåíüøå, ÷åì îáúåì äàííûõ, íåîáõîäèìûé äëÿ âçëîìà àëãîðèòìà, è òîãäà âû, ñêîðåå âñåãî, â áåçîïàñíîñòè . ß ãîâîðþ "ñêîðåå âñåãî", ïîòîìó ÷òî ñóùåñòâóåò âåðîÿòíîñòü íîâûõ ïðîðûâîâ â êðèïòîàíàëèçå . Ñ äðóãîé ñòîðîíû, çíà÷èìîñòü áîëüøèíñòâà äàííûõ ïàäàåò ñî âðåìåíåì . Âàæíî, ÷òîáû çíà÷èìîñòü äàííûõ âñåãäà îñò àâàëàñü ìåíüøå, ÷åì ñòîèìîñòü âçëîìà ñèñòåìû áåçîïàñíîñòè, çàùèùàþùåé äàííûå . Ëàðñ Êíóäñåí (Lars Knudsen) ðàçáèë âñêðûòèÿ àëãîðèòìîâ ïî ñëåäóþùèì êàòåãîðèÿì, ïðèâåäåííûì â ï îðÿäêå óáûâàíèÿ çíà÷èìîñòè [858]: 1. Ïîëíîå âñêðûòèå. Êðèïòîàíàëèòèê ïîëó÷èë êëþ÷, K, òàêîé, ÷òî DK(C) = P. 2. Ãëîáàëüíàÿ äåäóêöèÿ. Êðèïòîàíàëèòèê ïîëó÷èë àëüòåðíàòèâíûé àëãîðèòì, A, ýêâèâàëåíòíûé DK(C) áåç çíàíèÿ K. 3. Ìåñòíàÿ (èëè ëîêàëüíàÿ) äåäóêöèÿ. Êðèïòîàíàëèòèê ïîëó÷èë îòêðûòûé òåêñò äëÿ ïåðåõâà÷åííîãî øèôðîòåêñòà.
4. Èíôîðìàöèîííàÿ äåäóêöèÿ. Êðèïòîàíàëèòèê ïîëó÷èë íåêîòîðóþ èíôîðìàöèþ î êëþ÷å èëè îòêð ûòîì òåêñòå. Òàêîé èíôîðìàöèåé ìîãóò áûòü íåñêîëüêî áèò êëþ÷à, ñâåäåíèÿ î ôîðìå îòêðûòîãî òåêñòà è òàê äàëåå. Àëãîðèòì ÿâëÿåòñÿ áåçóñëîâíî áåçîïàñíûì, åñëè, íåçàâèñèìî îò îáúåìà øèôðîòåêñòîâ ó êðèïòîàíàëèòèêà, èíôîðìàöèè äëÿ ïîëó÷åíèÿ îòêðûòîãî òåêñòà íåäîñòàòî÷íî . Ïî ñóòè, òîëüêî øèôðîâàíèå îäíîðàçîâûìè áëî êíîòàìè (ñì. ðàçäåë 1.5) íåâîçìîæíî âñêðûòü ïðè áåñêîíå÷íûõ ðåñóðñàõ . Âñå îñòàëüíûå êðèïòîñèñòåìû ïî äâåðæåíû âñêðûòèþ ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà ïðîñòûì ïåðåáîðîì âîçìîæíûõ êëþ÷åé è ïðîâå ðêîé îñìûñëåííîñòè ïîëó÷åííîãî îòêðûòîãî òåêñòà . Ýòî íàçûâàåòñÿ âñêðûòèåì ãðóáîé ñèëîé (ñì. ðàçäåë 7.1). Êðèïòîãðàôèÿ áîëüøå èíòåðåñóåòñÿ êðèïòîñèñòåìàìè, êîòîðûå òÿæåëî âçëîìàòü âû÷èñëèòåëüíûì ñïîñîáîì . Àëãîðèòì ñ÷èòàåòñÿ âû÷èñëèòåëüíî áåçîïàñíûì (èëè, êàê èíîãäà íàçûâàþò, ñèëüíûì ), åñëè îí íå ìîæåò áûòü âçëîìàí ñ èñïîëüçîâàíèåì äîñòóïíûõ ðåñóðñîâ ñåé÷àñ èëè â áóäóùåì . Òåðìèí "äîñòóïíûå ðåñóðñû" ÿâë ÿåòñÿ äîñòàòî÷íî ðàñïëûâ÷àòûì. Ñëîæíîñòü âñêðûòèÿ ìîæíî èçìåðèòü (ñì ðàçäåë 11.1) ðàçëè÷íûìè ñïîñîá àìè: 1. Ñëîæíîñòü äàííûõ. Îáúåì äàííûõ, èñïîëüçóåìûõ íà âõîäå îïåðàöèè âñêðûòèÿ . 2. Ñëîæíîñòü îáðàáîòêè. Âðåìÿ, íóæíîå äëÿ ïðîâåäåíèÿ âñêðûòèÿ . ×àñòî íàçûâàåòñÿ êîýôôèöèåíòîì ðàáîòû. 3. Òðåáîâàíèÿ ê ïàìÿòè. Îáúåì ïàìÿòè, íåîáõîäèìûé äëÿ âñêðûòèÿ .  êà÷åñòâå ýìïèðè÷åñêîãî ìåòîäà ñëîæíîñòü âñêðûòèÿ îïðåäåëÿåòñÿ ïî ìàêñèìàëüíîìó èç ýòèõ òðåõ êîýôô èöèåíòîâ. Ðÿä îïåðàöèé âñêðûòèÿ ïðåäïîëàãàþò âçàèìîñâÿçü êîýôôèöèåíòîâ : áîëåå áûñòðîå âñêðûòèå âîçìîæíî çà ñ÷åò óâåëè÷åíèÿ òðåáîâàíèé ê ïàìÿòè . Ñëîæíîñòü âûðàæàåòñÿ ïîðÿäêîì âåëè÷èíû . Åñëè ñëîæíîñòü îáðàáîòêè äëÿ äàííîãî àëãîðèòìà ñîñòàâëÿåò 2128, òî 2128 îïåðàöèé òðåáóåòñÿ äëÿ âñêðûòèÿ àëãîðèòìà . (Ýòè îïåðàöèè ìîãóò áûòü ñëîæíûìè è äëèòåëüíûìè .) Òàê, åñëè ïðåäïîëàãàåòñÿ, ÷òî âàøè âû÷èñëèòåëüíûå ìîùíîñòè ñïîñîáíû âûïîëíÿòü ìèëëèîí îïåðàöèé â ñ åêóíäó, è âû èñïîëüçóåòå äëÿ ðåøåíèÿ çàäà÷è ìèëëèîí ïàðàëëåëüíûõ ïðîöåññîðîâ, ïîëó÷åíèå êëþ÷à çàéìåò ó âàñ ñâûøå 10 19 ëåò, ÷òî â ìèëëèàðä ðàç ïðåâûøàåò âðåìÿ ñóùåñòâîâàíèÿ âñåëåííîé .  òî âðåìÿ, êàê ñëîæíîñòü âñêðûòèÿ îñòàåòñÿ ïîñòîÿííîé (ïîêà êàêîé-íèáóäü êðèïòîàíàëèòèê íå ïðèäóìàåò ëó÷øåãî ñïîñîáà âñêðûòèÿ), ìîùü êîìïüþòåðîâ ðàñòåò . Çà ïîñëåäíèå ïîëâåêà âû÷èñëèòåëüíûå ìîùíîñòè ô åíîìåíàëüíî âûðîñëè, è íåò íèêàêèõ ïðè÷èí ïîäîçðåâàòü, ÷òî ýòà òåíäåíöèÿ íå áóäåò ïðîäîëæåíà . Ìíîãèå êðèïòîãðàôè÷åñêèå âçëîìû ïðèãîäíû äëÿ ïàðàëëåëüíûõ êîìïüþòåðîâ: çàäà÷à ðàçáèâàåòñÿ íà ìèëëèàðäû ìàëåíüêèõ êóñî÷êîâ, ðåøåíèå êîòîðûõ íå òðåáóåò ìåæïðîöåññîðíîãî âçàèìîäåéñòâèÿ . Îáúÿâëåíèå àëãîðèòìà áåçîïàñíûì ïðîñòî ïîòîìó, ÷òî åãî íåëåãêî âçëîìàòü, èñïîëüçóÿ ñîâðåìåííóþ òåõíèêó, â ëó÷øåì ñëó÷àå íåíàäåæíî. Õîð îøèå êðèïòîñèñòåìû ïðîåêòèðóþòñÿ óñòîé÷èâûìè ê âçëîìó ñ ó÷åòîì ðàçâèòèÿ âû÷èñëèòåëüíûõ ñðåäñòâ íà ìíîãî ëåò âïåðåä. Èñòîðè÷åñêèå òåðìèíû Èñòîðè÷åñêè òåðìèí êîä îòíîñèòñÿ ê êðèïòîñèñòåìå, ñâÿçàííîé ñ ëèíãâèñòè÷åñêèìè åäèíèöàìè: ñëîâàìè, ôðàçàìè, ïðåäëîæåíèÿìè è òàê äàëåå. Íàïðèìåð, ñëîâî "ÎÖÅËÎÒ" ìîæåò êîäèðîâàòü öåëóþ ôðàçó "ÏÎÂÎÐÎÒ ÍÀËÅÂÎ ÍÀ 90 ÃÐÀÄÓÑÎÂ", ñëîâî "ËÅÄÅÍÅÖ" - ôðàçó "ÏÎÂÎÐÎÒ ÍÀÏÐÀÂÎ ÍÀ 90 ÃÐÀÄÓÑÎÂ", à ñëîâà "ÏÎÄÑÒÀÂÜ ÓÕÎ" ìîãóò êîäèðîâàòü ñëîâî "ÃÀÓÁÈÖÀ". Êîäû òàêîãî òèïà íå ðàññìàòðèâàþòñÿ â äàííîé êí èãå, ñì. [794,795]. Êîäû ïîëåçíû òîëüêî ïðè îïðåäåëåííûõ îáñòîÿòåëüñòâàõ . Åñëè ó âàñ íåò êîäà äëÿ "ÌÓÐÀÂÜÅÄÛ", âû íå ñìîæåòå ïåðåäàòü ýòî ïîíÿòèå. À èñïîëüçóÿ øèôð ìîæíî ñêàçàòü âñå.
1.2 Ñòåãàíîãðàôèÿ Ñòåãàíîãðàôèÿ ñëóæèò äëÿ ïåðåäà÷è ñåêðåòîâ â äðóãèõ ñîîáùåíèÿõ, òàê ÷òî ñïðÿòàíî ñàìî ñóùåñòâîâàíèå ñåêðåòà. Êàê ïðàâèëî îòïðàâèòåëü ïèøåò êàêîå-íèáóäü íåïðèìåòíîå ñîîáùåíèå, à çàòåì ïðÿ÷åò ñåêðåòíîå ñîî áùåíèå íà òîì æå ëèñòå áóìàãè. Èñòîðè÷åñêèå ïðèåìû âêëþ÷àþò íåâèäèìûå ÷åðíèëà, íåâèäèìûå ïðîñòîìó ãë àçó ïîìåòêè ó áóêâ, ïëîõî çàìåòíûå îòëè÷èÿ â íàïèñàíèè áóêâ, ïîìåòêè êàðàíäàøîì ìàøèíîïèñíûõ ñèìâîëîâ, ðåøåòêè, ïîêðûâàþùèå áîëüøóþ ÷àñòü ñîîáùåíèÿ êðîìå íåñêîëüêèõ ñèìâîëîâ è òîìó ïîäîáíîå. Áëèæå ê ñåãîäíÿøíåìó äíþ ëþäè íà÷àëè ïðÿòàòü ñåêðåòû â ãðàôè÷åñêèõ èçîáðàæåíèÿõ, çàìåíÿÿ ìëàäøèé çíà÷àùèé áèò èçîáðàæåíèÿ áèòîì ñîîáùåíèÿ. Ãðàôè÷åñêîå èçîáðàæåíèå ïðè ýòîì ìåíÿëîñü ñîâñåì íåçàìåòíî áîëüøèíñòâî ãðàôè÷åñêèõ ñòàíäàðòîâ îïðåäåëÿþò áîëüøå öâåòîâûõ ãðàäàöèé, ÷åì ñïîñîáåí ðàçëè÷èòü ÷åëîâ å÷åñêèé ãëàç - è ñîîáùåíèå èçâëåêàëîñü íà ïðîòèâîïîëîæíîì êîíöå . Òàê â ÷åðíî-áåëîé êàðòèíêå 1024õ1024 ïè êñåëà ìîæíî ñïðÿòàòü ìîæíî ñïðÿòàòü ñîîáùåíèå â 64 Êáàéò . Ìíîãèå îáùåäîñòóïíûå ïðîãðàììû ìîãóò ïðîä åëûâàòü ïîäîáíûé ôîêóñ. Èìèòàöèîííûå ôóíêöèè Ïèòåðà Óýéíåðà (Peter Wayner) ìàñêèðóþò ñîîáùåíèÿ. Ýòè ôóíêöèè èçìåíÿþò ñîîáùåíèå òàê, ÷òî åãî ñòàòèñòè÷åñêèé ïðîôèëü ñòàíîâèòñÿ ïîõîæèì íà ÷òî-íèáóäü åùå: ðàçäåë The New York
Times, a ïüåñó Øåêñïèðà èëè òåëåêîíôåðåíöèþ â Internet [1584,1585]. Ýòîò òèï ñòåãàíîãðàôèè íå îäóðà÷èò ÷ åëîâåêà, íî ìîæåò îáìàíóòü áîëüøîé êîìïüþòåð, èùóùèé íóæíóþ èíôîðìàöèþ â Internet.
1.3 Ïîäñòàíîâî÷íûå è ïåðåñòàíîâî÷íûå øèôðû Äî ïîÿâëåíèÿ êîìïüþòåðîâ êðèïòîãðàôèÿ ñîñòîÿëà èç àëãîðèòìîâ íà ñèìâîëüíîé îñíîâå . Ðàçëè÷íûå êðèïòîãðàôè÷åñêèå àëãîðèòìû ëèáî çàìåíÿëè îäíè ñèìâîëû äðóãèìè, ëèáî ïåðåñòàâëÿëè ñèìâîëû. Ëó÷øèå àëãîðèòìû äåëàëè è òî, è äðóãîå, è ïî ìíîãî ðàç. Ñåãîäíÿ âñå çíà÷èòåëüíî ñëîæíåå, íî ôèëîñîôèÿ îñòàåòñÿ ïðåæíåé. Ïåðâîå èçìåíåíèå çàêëþ÷àåòñÿ â òîì, ÷òî àëãîðèòìû ñòàëè ðàáîòàòü ñ áèòàìè, à íå ñèìâîëàìè. Ýòî âàæíî õîòÿ áû ñ òî÷êè çðåíèÿ ðàçìåðà àëôàâèòà ñ 26 ýëåìåíòîâ äî äâóõ. Áîëüøèíñòâî õîðîøèõ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ äî ñèõ ïîð êîìáèíèðóåò ïîäñò àíîâêè è ïåðåñòàíîâêè. Ïîäñòàíîâî÷íûå øèôðû Ïîäñòàíîâî÷íûì øèôðîì íàçûâàåòñÿ øèôð, êîòîðûé êàæäûé ñèìâîë îòêðûòîãî òåêñòà â øèôðîòåêñòå ç àìåíÿåò äðóãèì ñèìâîëîì. Ïîëó÷àòåëü èíâåðòèðóåò ïîäñòàíîâêó øèôðîòåêñòà, âîññòàíàâëèâàÿ îòêðûòûé òåêñò .  êëàññè÷åñêîé êðèïòîãðàôèè ñóùåñòâóåò ÷åòûðå òèïà ïîäñòàíîâî÷íûõ øèôðîâ : Ïðîñòîé ïîäñòàíîâî÷íûé øèôð, èëè ìîíîàëôàâèòíûé øèôð, - ýòî øèôð, êîòîðûé êàæäûé ñèìâîë îòêðûòîãî òåêñòà çàìåíÿåò ñîîòâåòñòâóþùèì ñèìâîëîì øèôðîòåêñòà . Ïðîñòûìè ïîäñòàíîâî÷íûìè øè ôðàìè ÿâëÿþòñÿ êðèïòîãðàììû â ãàçåòàõ . Îäíîçâó÷íûé ïîäñòàíîâî÷íûé øèôð ïîõîæ íà ïðîñòóþ ïîäñòàíîâî÷íóþ êðèïòîñèñòåìó çà èñêëþ÷ åíèåì òîãî, ÷òî îäèí ñèìâîë îòêðûòîãî òåêñòà îòîáðàæàåòñÿ íà íåñêîëüêî ñèìâîëîâ øèôðîòåêñòà . Íàïðèìåð, "A" ìîæåò ñîîòâåòñòâîâàòü 5, 13, 25 èëè 56, "B" - 7, 19, 31 èëè 42 è òàê äàëåå. Ïîëèãðàìíûé ïîäñòàíîâî÷íûé øèôð - ýòî øèôð, êîòîðûé áëîêè ñèìâîëîâ øèôðóåò ïî ãðóïïàì . Íàïðèìåð, "ABA" ìîæåò ñîîòâåòñòâîâàòü "RTQ", "ABB" ìîæåò ñîîòâåòñòâîâàòü "SLL" è òàê äàëåå. Ïîëèàëôàâèòíûé ïîäñòàíîâî÷íûé øèôð ñîñòîèò èç íåñêîëüêèõ ïðîñòûõ ïîäñòàíîâî÷íûõ øèôðîâ . Íàïðèìåð, ìîãóò áûòü èñïîëüçîâàíû ïÿòü ðàçëè÷íûõ ïðîñòûõ ïîäñòàíîâî÷íûõ ôèëüòðîâ ; êàæäûé ñèìâîë îòêðûòîãî òåêñòà çàìåíÿåòñÿ ñ èñïîëüçîâàíèåì îäíîãî êîíêðåòíîãî øèôðà . Çíàìåíèòûé øèôð Öåçàðÿ, â êîòîðîì êàæäûé ñèìâîë îòêðûòîãî òåêñòà çàìåíÿåòñÿ ñèìâîëîì, íàõîäÿùåã îñÿ òðåìÿ ñèìâîëàìè ïðàâåå ïî ìîäóëþ 26 ("A" çàìåíÿåòñÿ íà "D," "B" - íà "E", ... "W" - íà " Z ", "X" - íà "A", "Y" - íà "B", "Z" - íà "C"), ïðåäñòàâëÿåò ñîáîé ïðîñòîé ïîäñòàíîâî÷íûé ôèëüòð . Îí äåéñòâèòåëüíî î÷åíü ïðîñò, òàê êàê àëôàâèò øèôðîòåêñòà ïðåäñòàâëÿåò ñîáîé ñìåùåííûé, à íå ñëó÷àéíî ðàñïðåäåëåííûé àëôàâèò îòêðûò îãî òåêñòà. ROTI3 - ýòî ïðîñòàÿ øèôðîâàëüíàÿ ïðîãðàììà, îáû÷íî ïîñòàâëÿåìàÿ ñ ñèñòåìàìè UNIX. Îíà òàêæå ÿâëÿåòñÿ ïðîñòûì ïîäñòàíîâî÷íûì øèôðîì .  ýòîì øèôðå "A" çàìåíÿåòñÿ íà "N," "B" - íà "O" è òàê äàëåå. Êàæäàÿ áóêâà ñìåùàåòñÿ íà 13 ìåñò. Øèôðîâàíèå ôàéëà ïðîãðàììîé ROTI3 äâàæäû âîññòàíàâëèâàåò ïåðâîíà÷àëüíûé ôàéë. P = ROT13 (ROT13 (P)) ROTI3 íå èñïîëüçóåòñÿ äëÿ áåçîïàñíîñòè, îíà ÷àñòî ïðèìåíÿåòñÿ â ïî÷òå, çàêðûâàÿ ïîòåíöèàëüíî íåïðèÿ òíûé òåêñò, ðåøåíèå ãîëîâîëîìêè è òîìó ïîäîáíîå . Ïðîñòûå ïîäñòàíîâî÷íûå øèôðû ëåãêî ðàñêðûâàþòñÿ, òàê êàê øèôð íå ïðÿ÷åò ÷àñòîòû èñïîëüçîâàíèÿ ðà çëè÷íûõ ñèìâîëîâ â îòêðûòîì òåêñòå . ×òîáû âîññòàíîâèòü îòêðûòûé òåêñò, õîðîøåìó êðèïòîàíàëèòèêó òðåáóå òñÿ òîëüêî çíàòü 26 ñèìâîëîâ àíãëèéñêîãî àëôàâèòà [1434]. Àëãîðèòì âñêðûòèÿ òàêèõ øèôðîâ ìîæíî íàéòè â [578, 587, 1600, 78, 1475, 1236, 880]. Õîðîøèé êîìïüþòåðíûé àëãîðèòì ïðèâåäåí â [703]. Îäíîçâó÷íûå ïîäñòàíîâî÷íûå øèôðû èñïîëüçîâàëèñü óæå â 1401 ãîäó â ãåðöîãñòâå Ìàíòóà [794]. Îíè áîëåå ñëîæíû äëÿ âñêðûòèÿ, ÷åì ïðîñòûå ïîäñòàíîâî÷íûå øèôðû, õîòÿ è îíè íå ñêðûâàþò âñåõ ñòàòèñòè÷åñêèõ ñâîéñòâ ÿçûêà îòêðûòîãî òåêñòà. Ïðè ïîìîùè âñêðûòèÿ ñ èçâåñòíûì îòêðûòûì òåêñòîì ýòè øèôðû ðàñêðûâ àþòñÿ òðèâèàëüíî. Âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà áîëåå òðóäîåìêî, íî è îíî çàíèìàåò íà êî ìïüþòåðå ëèøü íåñêîëüêî ñåêóíä. Ïîäðîáíîñòè ïðèâåäåíû â [1261]. Ïîëèãðàìíûå ïîäñòàíîâî÷íûå øèôðû - ýòî øèôðû, êîòîðûå êîäèðóþò ñðàçó ãðóïïû ñèìâîëîâ . Øèôð Playfair ("×åñòíàÿ èãðà"), èçîáðåòåííûé â 1854 ãîäó, èñïîëüçîâàëñÿ àíãëè÷àíàìè â Ïåðâîé ìèðîâîé âîéíå [794]. Îí øèôðóåò ïàðû ñèìâîëîâ, è åãî êðèïòîàíàëèç îáñóæäàåòñÿ â [587,1475,880]. Äðóãèì ïðèìåðîì ïîëèãðàìíîãî ïîäñòàíîâî÷íîãî øèôðà ÿâëÿåòñÿ øèôð Õèëëà ( Hill) [732]. Èíîãäà ìîæíî âèäåòü êàê âìåñòî øèôðà èñïîëüçóå òñÿ êîäèðîâàíèå ïî Õàôôìàíó (Huffman), ýòî íåáåçîïàñíûé ïîëèãðàìíûé ïîäñòàíîâî÷íûé øèôð . Ïîëèàëôàâèòíûå ïîäñòàíîâî÷íûå øèôðû áûëè èçîáðåòåíû Ëèíîì Áàòòèñòîé ( Lean Battista) â 1568 ãîäó
[794]. Îíè èñïîëüçîâàëèñü àðìèåé Ñîåäèíåííûõ Øòàòîâ â õîäå Ãðàæäàíñêîé âîéíû â Àìåðèêå . Íåñìîòðÿ íà òî, ÷òî îíè ëåãêî ìîãóò áûòü âçëîìàíû [819, 577, 587, 794] (îñîáåííî ñ ïîìîùüþ êîìïüþòåðîâ ), ìíîãèå êîììåð÷åñêèå ïðîäóêòû êîìïüþòåðíîé áåçîïàñíîñòè èñïîëüçóþò òàêèå øèôðû [1387,1390, 1502]. (Ïîäðîáíîñòè òîãî, êàê âñêðûòü ýòó ñõåìó øèôðîâàíèÿ, èñïîëüçóåìóþ ïðîãðàììîé WordPerfect, ìîæíî íàéòè â [135,139].) Øèôð Âèãåíåðà (Vigenere), âïåðâûå îïóáëèêîâàííûé â 1586 ãîäó, è øèôð Áîôîðà (Beaufort) òàêæå ÿâëÿþòñÿ ïðèìåðàìè ïîëèàëôàâèòíûõ ïîäñòàíîâî÷íûõ øèôðîâ . Ó ïîëèàëôàâèòíûõ ïîäñòàíîâî÷íûõ øèôðîâ ìíîæåñòâåííûå îäíîáóêâåííûå êëþ÷è, êàæäûé èç êîòîðûõ è ñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ îäíîãî ñèìâîëà îòêðûòîãî òåêñòà . Ïåðâûì êëþ÷îì øèôðóåòñÿ ïåðâûé ñèìâîë î òêðûòîãî òåêñòà, âòîðûì êëþ÷îì - âòîðîé ñèìâîë, è òàê äàëåå . Ïîñëå èñïîëüçîâàíèÿ âñåõ êëþ÷åé îíè ïîâòîð ÿþòñÿ öèêëè÷åñêè. Åñëè ïðèìåíÿåòñÿ 20 îäíîáóêâåííûõ êëþ÷åé, òî êàæäàÿ äâàäöàòàÿ áóêâà øèôðóåòñÿ òåì æå êëþ÷îì. Ýòîò ïàðàìåòð íàçûâàåòñÿ ïåðèîäîì øèôðà.  êëàññè÷åñêîé êðèïòîãðàôèè øèôðû ñ äëèííûì ïåðèîäîì áûëî òðóäíåå ðàñêðûòü, ÷åì øèôðû ñ êîðîòêèì ïåðèîäîì. Èñïîëüçîâàíèå êîìïüþòåðîâ ïîçâîëÿåò ëåãêî ðàñêðûòü ïîäñòàíîâî÷íûå øèôðû ñ î÷åíü äëèííûì ïåðèîäîì . Øèôð ñ áåãóùèì êëþ÷îì (èíîãäà íàçûâàåìûé êíèæíûì øèôðîì), èñïîëüçóþùèé îäèí òåêñò äëÿ øèôð îâàíèÿ äðóãîãî òåêñòà, ïðåäñòàâëÿåò ñîáîé äðóãîé ïðèìåð ïîäîáíîãî øèôðà . È õîòÿ ïåðèîä ýòîãî øèôðà ðàâåí äëèíå òåêñòà, îí òàêæå ìîæåò áûòü ëåãêî âçëîìàí [576,794]. Ïåðåñòàíîâî÷íûå øèôðû  ïåðåñòàíîâî÷íîì øèôðå ìåíÿåòñÿ íå îòêðûòûé òåêñò, à ïîðÿäîê ñèìâîëîâ.  ïðîñòîì ñòîëáöîâîì ïåðåñòàíîâî÷íîì øèôðå îòêðûòûé òåêñò ïèøåòñÿ ãîðèçîíòàëüíî íà ðàçãðàôëåííîì ëèñòå áóìàãè ôèêñèðîâà ííîé øèðèíû, à øèôðîòåêñò ñ÷èòûâàåòñÿ ïî âåðòèêàëè (ñì. -3-é). Äåøèôðèðîâàíèå ïðåäñòàâëÿåò ñîáîé çàïèñü øèôðîòåêñòà âåðòèêàëüíî íà ëèñòå ðàçãðàôëåííîé áóìàãè ôèêñèðîâàííîé øèðèíû è çàòåì ñ÷èòûâàíèå îòêð ûòîãî òåêñòà ãîðèçîíòàëüíî. Êðèïòîàíàëèç ýòèõ øèôðîâ îáñóæäàåòñÿ â [587,1475]. Òàê êàê ñèìâîëû øèôðîòåêñòà òå æå, ÷òî è â îòêð ûòîì òåêñòå, ÷àñòîòíûé àíàëèç øèôðîòåêñòà ïîêàæåò, ÷òî êàæäàÿ áóêâà âñòðå÷àåòñÿ ïðèáëèçèòåëüíî ñ òîé æå ÷àñòîòîé, ÷òî è îáû÷íî. Ýòî äàñò êðèïòîàíàëèòèêó âîçìîæíîñòü ïðèìåíèòü ðàçëè÷íûå ìåòîäû, îïðåäåëÿÿ ïð àâèëüíûé ïîðÿäîê ñèìâîëîâ äëÿ ïîëó÷åíèÿ îòêðûòîãî òåêñòà . Ïðèìåíåíèå ê øèôðîòåêñòó âòîðîãî ïåðåñòàíîâî ÷íîãî ôèëüòðà çíà÷èòåëüíî ïîâûñèò áåçîïàñíîñòü . Ñóùåñòâóþò è åùå áîëåå ñëîæíûå ïåðåñòàíîâî÷íûå ôèëüòðû, íî êîìïüþòåðû ìîãóò ðàñêðûòü ïî÷òè âñå èç íèõ . Íåìåöêèé øèôð ADFCVX, èñïîëüçîâàííûé â õîäå Ïåðâîé ìèðîâîé âîéíû , ïðåäñòàâëÿë ñîáîé ïåðåñòàíîâî÷íûé ôèëüòð â ñî÷åòàíèè ñ ïðîñòîé ïîäñòàíîâêîé . Ýòîò äëÿ ñâîåãî âðåìåíè î÷åíü ñëîæíûé àëãîðèòì áûë ðàñêðûò Æîðæåì Ïåíâýíîì (Georges Painvin), ôðàíöóçñêèì êðèïòîàíàëèòèêîì [794]. Õîòÿ ìíîãèå ñîâðåìåííûå àëãîðèòìû èñïîëüçóþò ïåðåñòàíîâêó, ñ ýòèì ñâÿçàíà ïðîáëåìà èñïîëüçîâàíèÿ áîëüøîãî îáúåìà ïàìÿòè, à òàêæå èíîãäà òðåáóåòñÿ ðàáîòà ñ ñîîáùåíèÿìè îïðåäåëåííîãî ðàçìåðà . Ïîäñòàíîâêà áîëåå îáû÷íà. Ðîòîðíûå ìàøèíû  1920-õ ãîäàõ äëÿ àâòîìàòèçàöèè ïðîöåññà øèôðîâàíèÿ áûëè èçîáðåòåíû ðàçëè÷íûå ìåõàíè÷åñêèå óñòðî éñòâà. Áîëüøèíñòâî èñïîëüçîâàëî ïîíÿòèå ðîòîðà, ìåõàíè÷åñêîãî êîëåñà, èñïîëüçóåìîãî äëÿ âûïîëíåíèÿ ïî äñòàíîâêè. Ðîòîðíàÿ ìàøèíà, âêëþ÷àþùàÿ êëàâèàòóðó è íàáîð ðîòîðîâ , ðåàëèçóåò âàðèàíò øèôðà Âèãåíåðà . Êàæäûé ðîòîð ïðåäñòàâëÿåò ñîáîé ïðîèçâîëüíîå ðàçìåùåíèå àëôàâèòà, èìååò 26 ïîçèöèé è âûïîëíÿåò ïðîñòóþ ïîäñò àíîâêó. Íàïðèìåð, ðîòîð ìîæåò áûòü èñïîëüçîâàí äëÿ çàìåíû "A" íà " F", "B" íà "U", "C'' íà "I" è òàê äàëåå.  ûõîäíûå øòûðè îäíîãî ðîòîðà ñîåäèíåíû ñ âõîäíûìè øòûðÿìè ñëåäóþùåãî ðîòîðà.
Îòêðûòûé òåêñò:COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST IT'S EXPENSIVE. COMPUTERGR APHICSMAYB ESLOWBUTAT LEASTITSEX PENSIVE
Øèôðîòåêñò:CAELP OPSEE MHLAN PIOSS UCWTI TCBIV EMUTE RATSG YAERB TX Ðèñ. 1-4. Ñòîëáöîâûé ïåðåñòàíîâî÷íûé ôèëüòð. Íàïðèìåð, â ÷åòûðåõðîòîðíîé ìàøèíå ïåðâûé ðîòîð ìîæåò çàìåíÿòü "A" íà " F", âòîðîé - "F" íà "Y", òðåòèé - "Y" íà "E" è ÷åòâåðòûé - "E" íà "C", "C" è áóäåò êîíå÷íûì øèôðîòåêñòîì . Çàòåì íåêîòîðûå ðîòîðû ñìåùàþòñÿ, è â ñëåäóþùèé ðàç ïîäñòàíîâêè áóäóò äðóãèìè .
Èìåííî êîìáèíàöèÿ íåñêîëüêèõ ðîòîðîâ è ìåõàíèçìîâ, äâèæóùèõ ðîòîðàìè, è îáåñïå÷èâàåò áåçîïàñíîñòü ìàøèíû. Òàê êàê ðîòîðû âðàùàþòñÿ ñ ðàçëè÷íîé ñêîðîñòüþ, ïåðèîä äëÿ n-ðîòîðíîé ìàøèíû ðàâåí 26n. Íåêîòîðûå ðîòîðíûå ìàøèíû òàêæå ìîãóò èìåòü ðàçëè÷íûå ïîëîæåíèÿ äëÿ êàæäîãî ðîòîðà, ÷òî äåëàåò êðèïòîàí àëèç åùå áîëåå áåññìûñëåííûì. Ñàìûì èçâåñòíûì ðîòîðíûì óñòðîéñòâî ÿâëÿåòñÿ Ýíèãìà ( Enigma). Ýíèãìà èñïîëüçîâàëàñü íåìöàìè âî Âòîðîé ìèðîâîé âîéíå. Ñàìà èäåÿ ïðèøëà â ãîëîâó Àðòóðó Øåðáèóñó ( Arthur Scherbius) è Àðâèäó Ãåðõàðäó Äàììó (Arvid Gerhard Damm) â Åâðîïå.  Ñîåäèíåííûõ Øòàòàõ îíà áûëà çàïàòåíòîâàíà Àðòóðîì Øåðáèóñîì [1383]. Íåìöû çíà÷èòåëüíî óñîâåðøåíñòâîâàëè áàçîâûé ïðîåêò äëÿ èñïîëüçîâàíèÿ âî âðåìÿ âîéíû . Ó íåìåöêîé Ýíèãìû áûëî òðè ðîòîðà, êîòðîûå ìîæíî áûëî âûáðàòü èç ïÿòè âîçìîæíûõ, êîììóòàòîð, êîò îðûé ñëåãêà òàñîâàë îòêðûòûé òåêñò, è îòðàæàþùèé ðîòîð, êîòîðûé çàñòàâëÿë êàæäûé ðîòîð îáðàáàòûâàòü î òêðûòûé òåêñò êàæäîãî ïèñüìà äâàæäû . Íåñìîòðÿ íà ñëîæíîñòü Ýíèãìû, îíà áûëà âçëîìàíà â òå÷åíèå Âòîðîé ìèðîâîé âîéíû. Ñíà÷àëà ãðóïïà ïîëüñêèõ êðèïòîãðàôîâ âçëîìàëà íåìåöêóþ Ýíèãìó è îáúÿñíèëà ðàñêðûòûé àëãîðèòì àíãëè÷àíàì.  õîäå âîéíû íåìöû ìîäèôèöèðîâàëè Ýíèãìó , à àíãëè÷àíå ïðîäîëæàëè êðèïòîàíàëèç íîâûõ âåðñèé. Îáúÿñíåíèå ðàáîòû ðîòîðíûõ øèôðîâ è ñïîñîáîâ èõ ðàñêðûòèÿ ìîæíî íàéòè â [794, 86, 448, 498, 446, 880, 1315, 1587, 690].  äâóõ ñëåäóþùèõ îò÷åòàõ óâëåêàòåëüíî ðàññêàçûâàåòñÿ î âçëîìå Ýíèãìû [735, 796]. Äëÿ äàëüíåéøåãî ÷òåíèÿ Äàííàÿ êíèãà íå ÿâëÿåòñÿ êíèãîé ïî êëàññè÷åñêîé êðèïòîãðàôèè, ïîýòîìó äàëåå ÿ íå áóäó ïîäðîáíî îñòàíà âëèâàòüñÿ íà ýòèõ ïðåäìåòàõ. Ïðåêðàñíûìè êíèãàìè ïî äîêîìïüþòåðíîé êðèïòîëîãèè ÿâëÿþòñÿ [587, 1475]. [448] ñîäåðæèò ñîâðåìåííûé êðèïòîàíàëèç øèôðîâàëüíûõ ìàøèí . Äîðîòè Äåííèíã (Dorothy Denning) ðàññìàòðèâàåò ìíîãèå èç ýòèõ øèôðîâ â [456], à [880] ñîäåðæèò áåñïðèñòðàñòíûé ñëîæíûé ìàòåìàòè÷åñêèé àíàëèç òåõ æå ñàìûõ øèôðîâ. Äðóãèì îïèñàíèåì ñòàðîé êðèïòîãðàôèè, îïèñûâàþùèì àíàëîãîâóþ êðèïòîãðàôèþ, ÿâëÿå òñÿ [99]. Ïðåêðàñíûé îáçîð âûïîëíåí â ñòàòüå [579]. Âåëèêîëåïíû òàêæå êíèãè ïî èñòîðè÷åñêîé êðèïòîãðàôèè Äýâèäà Êàíà [794, 795, 796].
1.4 Ïðîñòîå XOR XOR ïðåäñòàâëÿåò ñîáîé îïåðàöèþ "èñêëþ÷àþùåå èëè" : '^' â ÿçûêå C èëè Q â ìàòåìàòè÷åñêîé íîòàöèè. Ýòî îáû÷íàÿ îïåðàöèÿ íàä áèòàìè: 0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0 Òàêæå çàìåòèì, ÷òî: a⊕a=0 a⊕b⊕b=a Êàçàëîñü áû, çàïóòàííûé àëãîðèòì ïðîñòîãî XOR ïî ñóòè ÿâëÿåòñÿ íè÷åì èíûì, êàê ïîëèàëôàâèòíûì øè ôðîì Âèãåíåðà. Çäåñü îí óïîìèíàåòñÿ òîëüêî èç-çà ðàñïðîñòðàíåííîñòè â êîììåð÷åñêèõ ïðîãðàììíûõ ïðîäóêòàõ, ïî êðàéíåé ìåðå â ìèðå MS-DOS è Macintosh [1502, 1387]. Ê ñîæàëåíèþ, åñëè î ïðîãðàììå êîìïüþòåðíîé áåçîïàñíîñòè çàÿâëÿåòñÿ, ÷òî ýòî "ïàòåíòîâàííûé" àëãîðèòì øèôðîâàíèÿ, çíà÷èòåëüíî áîëåå áûñòðûé, ÷åì DES, òî ñêîðåå âñåãî èñïîëüçóåòñÿ êàêîé-òî âàðèàíò ñëåäóþùåãî . /* Èñïîëüçîâàíèå: crypto key input_file output_file */ void main (int argc, char *argv[]) { FILE *fl, *fo; char *cp; int c; if ((cp = argv[l]) && *cp!= '\0') { if ((fi = fopen(argvl[2], "rb")) != NULL) { if ((fo = fopen(argv[3], "wb")) != NULL) { while ((c = getc(fi)) != EOF) { if (!*cp) cp = argv[1]; c^= *(cp++); putc(c,fo); } fclose(fo); } fclose(fi); }
}
}
Ýòî ñèììåòðè÷íûé àëãîðèòì. Îòêðûòûé òåêñò ïîäâåðãàåòñÿ îïåðàöèè "èñêëþ÷àþùåå èëè" âìåñòå ñ êëþ÷ åâûì òåêñòîì äëÿ ïîëó÷åíèÿ øèôðîòåêñòà . Òàê êàê ïîâòîðíîå ïðèìåíåíèå îïåðàöèè XOR âîññòàíàâëèâàåò îðèãèíàë äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ èñïîëüçóåòñÿ îäíà è òà æå ïðîãðàììà : P⊕K=C C⊕K=P Íàñòîÿùåé áåçîïàñíîñòè çäåñü íèêîãäà íå áûëî. Ýòîò òèï øèôðîâàíèÿ ëåãêî âñêðûâàåòñÿ, äàæå áåç êîìïü þòåðà [587, 1475]. Åãî âçëîì íà êîìïüþòåðå çàíèìàåò íåñêîëüêî ñåêóíä . Ïðåäïîëîæèì, ÷òî îòêðûòûé òåêñò èñïîëüçóåò àíãëèéñêèé ÿçûê. Áîëåå òîãî, ïóñòü äëèíà êëþ÷à ëþáîå í åáîëüøîå ÷èñëî áàéò. Íèæå îïèñàíî, êàê âçëîìàòü ýòîò øèôð: 1. Îïðåäåëèì äëèíó êëþ÷à ñ ïîìîùüþ ïðîöåäóðû, èçâåñòíîé êàê ïîäñ÷åò ñîâïàäåíèé [577]. Ïðèìåíèì îïåðàöèþ XOR ê øèôðîòåêñòó, èñïîëüçóÿ â êà÷åñòâå êëþ÷à ñàì øèôðîòåêñò ñ ðàçëè÷íûìè ñìåù åíèÿìè, è ïîäñ÷èòàåì ñîâïàäàþùèå áàéòû. Åñëè âåëè÷èíà ñìåùåíèÿ êðàòíà äëèíå êëþ÷à, òî ñîâïàäåò ñâûøå 6 ïðîöåíòîâ áàéòîâ. Åñëè íåò, òî áóäóò ñîâïàäàòü ìåíüøå ÷åì 0.4 ïðîöåíòà (ñ÷èòàÿ, ÷òî îáû÷íûé ASCII òåêñò êîäèðóåòñÿ ñëó÷àéíûì êëþ÷îì, äëÿ äðóãèõ òèïîâ îòêðûòûõ òåêñòîâ ÷èñëà áóäóò äð óãèìè). Ýòî íàçûâàåòñÿ ïîêàçàòåëåì ñîâïàäåíèé. Ìèíèìàëüíîå ñìåùåíèå îò îäíîãî çíà÷åíèÿ, êðà òíîãî äëèíå êëþ÷à, ê äðóãîìó è åñòü äëèíà êëþ÷à . 2. Ñìåñòèì øèôðîòåêñò íà ýòó äëèíó è ïðîâåäåì îïåðàöèþ XOR äëÿ ñìåùåííîãî è îðèãèíàëüíîãî øè ôðîòåêñòîâ. Ðåçóëüòàòîì îïåðàöèè áóäåò óäàëåíèÿ êëþ÷à è ïîëó÷åíèå îòêðûòîãî òåêñòà, ïîäâåðãíóòîãî îïåðàöèè XOR ñ ñàìèì ñîáîé, ñìåùåííûì íà äëèíó êëþ÷à . Òàê êàê â àíãëèéñêîì ÿçûêå íà îäèí áàéò ïðèõîäèòñÿ 1.3 áèòà äåéñòâèòåëüíîé èíôîðìàöèè (ñì ðàçäåë 11.1), ñóùåñòâóþùàÿ çíà÷èòåëüíàÿ èçá ûòî÷íîñòü ïîçâîëÿåò îïðåäåëèòü ñïîñîá øèôðîâàíèÿ . Íåñìîòðÿ íà ýòî, êîëè÷åñòâî ïîñòàâùèêîâ ïðîãðàììíîãî îáåñïå÷åíèÿ, íàâÿçûâàþùèõ ýòîò èãðóøå÷íûé à ëãîðèòì â êà÷åñòâå "ïî÷òè òàêîãî æå áåçîïàñíîãî êàê DES", âïå÷àòëÿåò [1387]. Èìåííî ýòîò àëãîðèòì (ñ 160-áèòíûì ïîâòîðÿþùèìñÿ "êëþ÷îì") NSA â êîíöå êîíöîâ ðàçðåøèëî èñïîëüçîâàòü â öèôðîâûõ òåëåôîííûõ ñîòîâûõ ñåòÿõ äëÿ çàêðûòèÿ ãîëîñà . XOR ìîæåò çàùèòèòü âàøè ôàéëû îò ìëàäøåé ñåñòðû, íî íàñòîÿùåãî êðèïòîàíàëèòèêà çàäåðæèò ëèøü íà ñ÷èòàííûå ñåêóíäû .
1.5 Îäíîðàçîâûå áëîêíîòû Ïîâåðèòå èëè íåò, íî èäåàëüíûé ñïîñîá øèôðîâàíèÿ ñóùåñòâóåò. Îí íàçûâàåòñÿ îäíîðàçîâûì áëîêíîòîì è áûë èçîáðåòåí â 1917 ãîäó Ìýéäæîðîì Äæîçåôîì Ìîáîðíîì ( Major Joseph Mauborgne) è Ãèëáåðòîì Âåðíàìîì (Gilbert Vernam) èç AT&T [794]. (Ôàêòè÷åñêè îäíîðàçîâûé áëîêíîò ïðåäñòàâëÿåò ñîáîé îñîáûé ñëó÷àé ïîðîã îâîé ñõåìû, ñì. ðàçäåë 3.7.)  êëàññè÷åñêîì ïîíèìàíèè îäíîðàçîâûé áëîêíîò ÿâëÿåòñÿ áîëüøîé íåïîâòîðÿþùåéñÿ ïîñëåäîâàòåëüíîñòüþ ñèìâîëîâ êëþ÷à, ðàñïðåäåëåííûõ ñëó÷àéíûì îáðàçîì, íàïèñàííûõ íà êóñî÷êàõ áóìàãè è ïðèêëååííûõ ê ëèñòó áëîêíîòà . Ïåðâîíà÷àëüíî ýòî áûëà îäíîðàçîâàÿ ëåíòà äëÿ òåëåòàéïîâ . Îòïðàâèòåëü èñïîëüçîâàë êàæäûé ñèìâîë êëþ÷à áëîêíîòà äëÿ øèôðîâàíèÿ òîëüêî îäíîãî ñèìâîëà îòêðûòîãî òåêñòà . Øèôðîâàíèå ïðåäñòàâëÿåò ñîáîé ñëîæåíèå ïî ìîäóëþ 26 ñèìâîëà îòêðûòîãî òåêñòà è ñèìâîëà êëþ÷à èç îäí îðàçîâîãî áëîêíîòà. Êàæäûé ñèìâîë êëþ÷à èñïîëüçóåòñÿ òîëüêî åäèíîæäû è äëÿ åäèíñòâåííîãî ñîîáùåíèÿ . Îòïðàâèòåëü øèôðóåò ñîîáùåíèÿ è óíè÷òîæàåò èñïîëüçîâàííûå ñòðàíèöû áëîêíîòà èëè èñïîëüçîâàííóþ ÷àñòü ëåíòû . Ïîëó÷àòåëü, â ñâîþ î÷åðåäü, èñïîëüçóÿ òî÷íî òàêîé æå áëîêíîò, äåøèôðèðóåò êàæäûé ñèìâîë øèôðîòåêñòà . Ðàñøèôðîâàâ ñîîáùåíèå, ïîëó÷àòåëü óíè÷òîæàåò ñîîòâåòñòâóþùèå ñòðàíèöû áëîêíîòà èëè ÷àñòü ëåíòû . Íîâîå ñîîáùåíèå íîâûå ñèìâîëû êëþ÷à. Íàïðèìåð, åñëè ñîîáùåíèåì ÿâëÿåòñÿ: ONETIMEPAD à êëþ÷åâàÿ ïîñëåäîâàòåëüíîñòü â áëîêíîòå: TBFRGFARFM òî øèôðîòåêñò áóäåò âûãëÿäåòü êàê: IPKLPSFHGQ òàê êàê Q + T mod 26 = I N + B mod 26 = P
E + F mod 26 = K è ò.ä.  ïðåäïîëîæåíèè, ÷òî çëîóìûøëåííèê íå ñìîæåò ïîëó÷èòü äîñòóï ê îäíîðàçîâîìó áëîêíîòó, èñïîëüçîâà ííîìó äëÿ øèôðîâàíèÿ ñîîáùåíèÿ, ýòà ñõåìà ñîâåðøåííî áåçîïàñíà. Äàííîå øèôðîâàííîå ñîîáùåíèå íà âèä ñîîòâåòñòâóåò ëþáîìó îòêðûòîìó ñîîáùåíèþ òîãî æå ðàçìåðà. Òàê êàê âñå êëþ÷åâûå ïîñëåäîâàòåëüíîñòè ñîâåðøåííî îäèíàêîâû (ïîìíèòå, ñèìâîëû êëþ÷à ãåíåðèðóþòñÿ ñëó÷àéíûì îáðàçîì), ó ïðîòèâíèêà îòñóòñòâóåò èíôîðìàöèÿ, ïîçâîëÿþùàÿ ïîäâåðãíóòü øèôðîòåêñò êðèïòîàí àëèçó. Êóñî÷åê øèôðîòåêñòà ìîæåò áûòü ïîõîæ íà : POYYAEAAZX ÷òî äåøèôðèðóåòñÿ êàê: SALMONEGGS èëè íà: BXEGBMTMXM ÷òî äåøèôðèðóåòñÿ êàê: GREENFLUID Ïîâòîðþ åùå ðàç: òàê êàê âñå îòêðûòûå òåêñòû ðàâíîâåðîÿòíû , ó êðèïòîàíàëèòèêà íåò âîçìîæíîñòè îïðåä åëèòü, êàêîé èç îòêðûòûõ òåêñòîâ ÿâëÿåòñÿ ïðàâèëüíûì . Ñëó÷àéíàÿ êëþ÷åâàÿ ïîñëåäîâàòåëüíîñòü, ñëîæåííàÿ ñ íåñëó÷àéíûì îòêðûòûì òåêñòîì, äàåò ñîâåðøåííî ñëó÷àéíûé øèôðîòåêñò, è íèêàêèå âû÷èñëèòåëüíûå ìîùí îñòè íå ñìîãóò ýòî èçìåíèòü. Íåîáõîäèìî íàïîìíèòü, ÷òî ñèìâîëû êëþ÷à äîëæíû ãåíåðèðîâàòüñÿ ñëó÷àéíûì îáðàçîì . Ëþáûå ïîïûòêè âñêðûòü òàêóþ ñõåìó ñòàëêèâàþòñÿ ñî ñïîñîáîì, êîòîðûì ñîçäàåòñÿ ïîñëåäîâàòåëüíîñòü ñèìâîëîâ êëþ÷à . Èñïîëüçîâàíèå ãåíåðàòîðîâ ïñåâäîñëó÷àéíûõ ÷èñåë íå ñ÷èòàåòñÿ, ó íèõ âñåãäà íåñëó÷àéíûå ñâîéñòâà . Åñëè âû èñïîëüçóåòå äåéñòâèòåëüíî ñëó÷àéíûé èñòî÷íèê - ýòî íàìíîãî òðóäíåå, ÷åì êàæåòñÿ íà ïåðâûé âçãëÿä, ñì. ðà çäåë 17.14 - ýòî ñîâåðøåííî áåçîïàñíî. Äðóãîé âàæíûé ìîìåíò: êëþ÷åâóþ ïîñëåäîâàòåëüíîñòü íèêîãäà íåëüçÿ èñïîëüçîâàòü âòîðîé ðàç. Äàæå åñëè âû èñïîëüçóåòå áëîêíîò ðàçìåðîì â íåñêîëüêî ãèãàáàéò, òî åñëè êðèïòîàíàëèòèê ïîëó÷èò íåñêîëüêî òåêñòîâ ñ ïåðåêðûâàþùèìèñÿ êëþ÷àìè, îí ñìîæåò âîññòàíîâèòü îòêðûòûé òåêñò . Îí ñäâèíåò êàæäóþ ïàðó øèôðîòåêñòîâ îòíîñèòåëüíî äðóã äðóãà è ïîäñ÷èòàåò ÷èñëî ñîâïàäåíèé â êàæäîé ïîçèöèè. Åñëè øèôðîòåêñòû ñìåùåíû ïð àâèëüíî, ñîîòíîøåíèå ñîâïàäåíèé ðåçêî âîçðàñòåò - òî÷íîå çíà÷åíèå çàâèñèò îò ÿçûêà îòêðûòîãî òåêñòà . Ñ ýòîé òî÷êè çðåíèÿ êðèïòîàíàëèç íå ïðåäñòàâëÿåò òðóäà . Ýòî ïîõîæå íà ïîêàçàòåëü ñîâïàäåíèé, íî ñðàâíèâàþòñÿ äâà ðàçëè÷íûõ "ïåðèîäà" [904]. Íå èñïîëüçóéòå êëþ÷åâóþ ïîñëåäîâàòåëüíîñòü ïîâòîðíî . Èäåÿ îäíîðàçîâîãî áëîêíîòà ëåãêî ðàñøèðÿåòñÿ íà äâîè÷íûå äàííûå. Âìåñòî îäíîðàçîâîãî áëîêíîòà, ñ îñòîÿùåãî èç áóêâ, èñïîëüçóåòñÿ îäíîðàçîâûé áëîêíîò èç áèòîâ . Âìåñòî ñëîæåíèÿ îòêðûòîãî òåêñòà ñ êëþ÷îì îäíîðàçîâîãî áëîêíîòà èñïîëüçóéòå XOR. Äëÿ äåøèôðèðîâàíèÿ ïðèìåíèòå XOR ê øèôðîòåêñòó ñ òåì æå îäíîðàçîâûì áëîêíîòîì. Âñå îñòàëüíîå íå ìåíÿåòñÿ, è áåçîïàñíîñòü îñòàåòñÿ òàêîé æå ñîâåðøåííîé . Âñå ýòî õîðîøî, íî ñóùåñòâóåò íåñêîëüêî ïðîáëåì . Òàê êàê êëþ÷åâûå áèòû äîëæíû áûòü ñëó÷àéíûìè è íå ìîãóò èñïîëüçîâàòüñÿ ñíîâà, äëèíà êëþ÷åâîé ïîñëåäîâàòåëüíîñòè äîëæíà ðàâíÿòüñÿ äëèíå ñîîáùåíèÿ . Îäíîðàçîâûé áëîêíîò óäîáåí äëÿ íåñêîëüêèõ íåáîëüøèõ ñîîáùåíèé, íî åãî íåëüçÿ èñïîëüçîâàòü äëÿ ðàáîòû ïî êàíàëó ñâÿçè ñ ïðîïóñêíîé ñïîñîáíîñòüþ 1.544 Ìáèò/ñ. Âû ìîæåòå õðàíèòü 650 Ìáàéò ñëó÷àéíûõ äàííûõ íà CD-ROM, íî è òóò åñòü ïðîáëåìû. Âî ïåðâûõ, âàì íóæíî òîëüêî äâå êîïèè ñëó÷àéíûõ áèòîâ, íî CD-ROM ýêîíîìè÷íû òîëüêî ïðè áîëüøèõ òèðàæàõ. È âî âòîðûõ, âàì íóæíî óíè÷òîæàòü èñïîëüçîâàííûå áèòû . Äëÿ CD-ROM íåò äðóãîé âîçìîæíîñòè óäàëèòü èíôîðìàöèþ êðîìå êàê ôèçè÷åñêè ðàçðóøèòü âåñü äèñê . Ãîðàçäî áîëüøå ïîäõîäèò öèôðîâàÿ ëåíòà. Äàæå åñëè ïðîáëåìû ðàñïðåäåëåíèÿ è õðàíåíèÿ êëþ÷åé ðåøåíû, âàì ïðèäåòñÿ òî÷íî ñèíõðîíèçèðîâàòü ð àáîòó îòïðàâèòåëÿ è ïîëó÷àòåëÿ. Åñëè ïîëó÷àòåëü ïðîïóñòèò áèò (èëè íåñêîëüêî áèò ïðîïàäóò ïðè ïåðåäà÷å ), ñîîáùåíèå ïîòåðÿåò âñÿêèé ñìûñë . Ñ äðóãîé ñòîðîíû, åñëè íåñêîëüêî áèò èçìåíÿòñÿ ïðè ïåðåäà÷å (è íè îäèí áèò íå áóäåò óäàëåí èëè äîáàâëåí - ÷òî ãîðàçäî áîëüøå ïîõîæå íà âëèÿíèå ñëó÷àéíîãî øóìà ), òî ëèøü ýòè áèòû áóäóò ðàñøèôðîâàíû íåïðàâèëüíî . Íî îäíîðàçîâûé áëîêíîò íå îáåñïå÷èâàåò ïðîâåðêó ïîäëèííîñòè . Îäíîðàçîâûå áëîêíîòû èñïîëüçóþòñÿ è ñåãîäíÿ, ãëàâíûì îáðàçîì äëÿ ñâåðõñåêðåòíûõ êàíàëîâ ñâÿçè ñ íè çêîé ïðîïóñêíîé ñïîñîáíîñòüþ. Ïî ñëóõàì "ãîðÿ÷àÿ ëèíèÿ" ìåæäó Ñîåäèíåííûìè Øòàòàìè è áûâøèì Ñîâå òñêèì Ñîþçîì (à äåéñòâóåò ëè îíà ñåé÷àñ?) øèôðóåòñÿ ñ ïîìîùüþ îäíîðàçîâîãî áëîêíîòà . Ìíîãèå ñîîáùåíèÿ ñîâåòñêèõ øïèîíîâ çàøèôðîâàíû ñ èñïîëüçîâàíèåì îäíîðàçîâûõ áëîêíîòîâ . Ýòè ñîîáùåíèÿ íåðàñêðûòû ñåãîäíÿ è íàâñåãäà îñòàíóòñÿ íåðàñêðûòûìè . Íà ýòîò ôàêò íå ïîâëèÿåò âðåìÿ ðàáîòû ñóïåðêîìïüþòåðîâ íàä ýòîé
ïðîáëåìîé. Äàæå êîãäà âðàãè èç ñîçâåçäèÿ Àíäðîìåäû ïðèçåìëÿò ñâîè òÿæåëûå êîðàáëè ñ êîìïüþòåðàìè í åìûñëèìîé ìîùíîñòè, è îíè íå ñìîãóò ïðî÷åñòü ñîîáùåíèÿ ñîâåòñêèõ øïèîíîâ, çàøèôðîâàííûå ñ ïîìîùüþ î äíîðàçîâûõ (åñëè, êîíå÷íî, îíè íå ñìîãóò âåðíóòüñÿ â ïðîøëîå è äîáûòü íóæíûå îäíîðàçîâûå áëîêíîòû ).
1.6 Êîìïüþòåðíûå àëãîðèòìû Ñóùåñòâóåò ìíîæåñòâî êîìïüþòåðíûõ àëãîðèòìîâ. Ñëåäóþùèå òðè èñïîëüçóþòñÿ ÷àùå âñåãî : DES (Data Encryption Standard , ñòàíäàðò øèôðîâàíèÿ äàííûõ ) - ñàìûé ïîïóëÿðíûé êîìïüþòåðíûé àëã îðèòì øèôðîâàíèÿ, ÿâëÿåòñÿ àìåðèêàíñêèì è ìåæäóíàðîäíûì ñòàíäàðòîì . Ýòî ñèììåòðè÷íûé àëãîðèòì, îäèí è òîò æå êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ . RSA (íàçâàí â ÷åñòü ñîçäàòåëåé - Ðèâåñòà (Rivest), Øàìèðà (Sharnir) è Ýäëìàíà (Adleman)) - ñàìûé ïîïóëÿðíûé àëãîðèòì ñ îòêðûòûì êëþ÷îì . Èñïîëüçóåòñÿ è äëÿ øèôðîâàíèÿ, è äëÿ öèôðîâîé ïîäïèñè . DSA (Digital Signature Algorithm, àëãîðèòì öèôðîâîé ïîäïèñè, èñïîëüçóåòñÿ êàê ÷àñòü ñòàíäàðòà öèôð îâîé ïîäïèñè, Digital Signature Standard) - äðóãîé àëãîðèòì ñ îòêðûòûì êëþ÷îì . Èñïîëüçóåòñÿ òîëüêî äëÿ öèôðîâîé ïîäïèñè, íå ìîæåò áûòü èñïîëüçîâàí äëÿ øèôðîâàíèÿ . Èìåííî ýòè è ïîäîáíûå àëãîðèòìû îïèñûâàþòñÿ â ýòîé êíèãå .
1.7 Áîëüøèå ÷èñëà Íà ïðîòÿæåíèè âñåé êíèãè ÿ èñïîëüçóþ ðàçëè÷íûå áîëüøèå ÷èñëà äëÿ îïèñàíèÿ ðàçëè÷íûõ âåùåé â êðèïò îãðàôèè. Òàê êàê ëåãêî çàáëóäèòüñÿ â ýòèõ ÷èñëàõ è èõ çíà÷åíèÿõ, ôèçè÷åñêèå àíàëîãè íåêîòîðûõ ÷èñåë ïðèâ åäåíû â 0-é. Ýòè ÷èñëà îöåíèâàþòñÿ ïî ïîðÿäêó âåëè÷èíû è áûëè îòîáðàíû èç ðàçëè÷íûõ èñòî÷íèêîâ. Ìíîãèå àñòðîô èçè÷åñêèå çíà÷åíèÿ îáúÿñíÿþòñÿ â ðàáîòå Ôðèìàíà Äàéñîíà ( Freeman Dyson), "Âðåìÿ áåç êîíöà: ôèçèêà è áèîëîãèÿ â îòêðûòîé Âñåëåííîé" ("Time Without End: Physics and Biology in an Open Universe") â Reviews of Modem Physics, v. 52, n. 3, July 1979, pp. 447-460. Ñìåðòíîñòü â ðåçóëüòàòå àâòîêàòàñòðîô ðàññ÷èòàíà ñ ïîìîùüþ ñòàò èñòèêè Ìèíèñòåðñòâà òðàíñïîðòà (163 ñìåðòè ìèëëèîí ÷åëîâåê â 1993 ãîäó è äëÿ ñðåäíåé ïðîäîëæèòåëüíîñòè æèçíè 69.7 ãîäà. Òàáë. 1-1. Áîëüøèå ÷èñëà Ôèçè÷åñêèé àíàëîã
×èñëî
Âåðîÿòíîñòü áûòü óáèòûì ìîëíèåé (â òå÷åíèå äíÿ)
1 èç 9 ìèëëèàðäîâ (2 33)
Âåðîÿòíîñòü âûèãðàòü ãëàâíûé ïðèç â ãîñóäàðñòâåííîé ëîòåðåå ÑØÀ
1 èç 4000000 (2 22)
Âåðîÿòíîñòü âûèãðàòü ãëàâíûé ïðèç â ãîñóäàðñòâåííîé ëîòåðåå ÑØÀ è áûòü óáèòûì ìîëíèåé â òå÷åíèå òîãî æå äíÿ
1 èç261
Âåðîÿòíîñòü óòîíóòü (â ÑØÀ â òå÷åíèå ãîäà)
1 èç 59000 (2 16)
Âåðîÿòíîñòü ïîãèáíóòü â àâòîêàòàñòðîôå (â ÑØÀ â ãîäó)
1 èç 6100 (213)
Âåðîÿòíîñòü ïîãèáíóòü â àâòîêàòàñòðîôå (â ÑØÀ â òå÷åíèå âðåìåíè æèçíè)
1 èç 88 (2 7)
Âðåìÿ äî ñëåäóþùåãî îëåäåíåíèÿ
14000 (214) ëåò
Âðåìÿ äî ïðåâðàùåíèÿ Ñîëíöà â ñâåðõíîâóþ çâåçäó
109 (230) ëåò
Âîçðàñò ïëàíåòû
109 (230) ëåò
Âîçðàñò Âñåëåííîé
1010 (234) ëåò
×èñëî àòîìîâ ïëàíåòû
1051 (2170)
×èñëî àòîìîâ Ñîëíöà
1057 (2190)
×èñëî àòîìîâ ãàëàêòèêè
1067 (2223)
×èñëî àòîìîâ Âñåëåííîé
1077 (2265)
Îáúåì Âñåëåííîé
1084 (2280) ñì 3
Åñëè Âñåëåííàÿ êîíå÷íà:
Ïîëíîå âðåìÿ æèçíè âñåëåííîé
1011 (237) ëåò 1018 (261) ñåêóíä
Åñëè Âñåëåííàÿ áåñêîíå÷íà: Âðåìÿ äî îñòûâàíèÿ ëåãêèõ çâåçä
1014 (247) ëåò
Âðåìÿ äî îòðûâà ïëàíåò îò çâåçä
1015 (250) ëåò
Âðåìÿ äî îòðûâà çâåçä îò ãàëàêòèê
1019 (264) ëåò
Âðåìÿ äî ðàçðóøåíèÿ îðáèò ãðàâèòàöèîííîé ðàäèàöèåé
1020 (267) ëåò
Âðåìÿ äî ðàçðóøåíèÿ ÷åðíûõ äûð ïðîöåññàìè Õîêèíãà
1064 (2213) ëåò
Âðåìÿ äî ïðåâðàùåíèÿ ìàòåðèè â æèäêîñòü ïðè íóëåâîé òåìïåðàòóðå
1065 (2216) ëåò
Âðåìÿ äî ïðåâðàùåíèÿ ìàòåðèè â òâåðäîå òåëî
1010 ëåò
Âðåìÿ äî ïðåâðàùåíèÿ ìàòåðèè â ÷åðíóþ äûðó
1010 ëåò
26
76
×àñòü 1 ÊÐÈÏÒÎÃÐÀÔÈ×ÅÑÊÈÅ ÏÐÎÒÎÊÎËÛ
Ãëàâà 2 Ýëåìåíòû ïðîòîêîëîâ 2.1 Ââåäåíèå â ïðîòîêîëû Ñìûñë êðèïòîãðàôèè - â ðåøåíèè ïðîáëåì . (Ïî ñóòè, â ýòîì ñîñòîèò è ñìûñë èñïîëüçîâàíèÿ êîìïüþòåðîâ, î ÷åì ìíîãèå ïûòàþòñÿ çàáûòü.) Êðèïòîãðàôèÿ ðåøàåò ïðîáëåìû ñåêðåòíîñòè, ïðîâåðêè ïîäëèííîñòè, öåëîñòí îñòè è ÷åëîâå÷åñêîé íå÷åñòíîñòè. Âû ìîæåòå âûó÷èòü âñå î êðèïòîãðàôè÷åñêèõ àëãîðèòìàõ è ìåòîäàõ, íî îíè ïðåäñòàâëÿþò òîëüêî àêàäåìè÷åñêèé èíòåðåñ, åñëè íå èñïîëüçóþòñÿ äëÿ ðåøåíèÿ êàêîé-íèáóäü ïðîáëåìû . Èìåííî ïîýòîìó ìû ñîáèðàåìñÿ ñíà÷àëà âçãëÿíóòü íà ïðîòîêîëû . Ïðîòîêîë - ýòî ïîðÿäîê äåéñòâèé, ïðåäïðèíèìàåìûõ äâóìÿ èëè áîëåå ñòîðîíàìè, ïðåäíàçíà÷åííûé äëÿ ð åøåíèÿ îïðåäåëåííîé çàäà÷è. Ýòî âàæíîå îïðåäåëåíèå. "Ïîðÿäîê äåéñòâèé" îçíà÷àåò, ïðîòîêîë âûïîëíÿåòñÿ â îïðåäåëåííîé ïîñëåäîâàòåëüíîñòè, ñ íà÷àëà äî êîíöà . Êàæäîå äåéñòâèå äîëæíî âûïîëíÿòüñÿ â ñâîþ î÷åðåäü è òîëüêî ïîñëå îêîí÷àíèÿ ïðåäûäóùåãî . "Ïðåäïðèíèìàåìûõ äâóìÿ èëè áîëåå ñòîðîíàìè " îçíà÷àåò, ÷òî äëÿ ðåàëèçàöèè ïðîòîêîëà òðåáóåòñÿ ïî êðàéíåé ìåðå äâà ÷åëîâåêà, îäèí ÷åëîâåê íå ñìîæåò ðåàëèçîâàòü ïðîòîêîë . ×åëîâåê â îäèíî÷êó ìîæåò âûïîëíèòü íåêîòîðûå äåéñòâèÿ, ðåøàÿ çàäà÷ó (íàïðèìåð, ïîêóïàÿ òîðò), íî ýòî íå ïð îòîêîë. (Äëÿ òîãî, ÷òîáû ïîëó÷èëñÿ íàñòîÿùèé ïðîòîêîë, êòî-òî äîëæåí ñúåñòü òîðò .) Íàêîíåö, "ïðåäíàçíà÷åííûé äëÿ ðåøåíèÿ îïðåäåëåííîé çàäà÷è " îçíà÷àåò, ÷òî ïðîòîêîë äîëæåí ïðèâîäèòü ê êàêîìó-òî ðåçóëüòàòó. ×òî-òî, ïîõîæåå íà ïðîòîêîë, íî íå ðåøàþùåå íèêàêîé çàäà÷è - ýòî íå ïðîòîêîë, ýòî ïîòåðÿ âðåìåíè. Ó ïðîòîêîëîâ åñòü òàêæå è äðóãèå õàðàêòåðèñòèêè : Êàæäûé ó÷àñòíèê ïðîòîêîëà äîëæåí çíàòü ïðîòîêîë è ïîñëåäîâàòåëüíîñòü ñîñòàâëÿþùèõ åãî äåéñòâèé . Êàæäûé ó÷àñòíèê ïðîòîêîëà äîëæåí ñîãëàñèòüñÿ ñëåäîâàòü ïðîòîêîëó . Ïðîòîêîë äîëæåí áûòü íåïðîòèâîðå÷èâûì, êàæäîå äåéñòâèå äîëæíî áûòü îïðåäåëåíî òàê, ÷òîáû íå áûëî âîçìîæíîñòè íåïîíèìàíèÿ. Ïðîòîêîë äîëæåí áûòü ïîëíûì, êàæäîé âîçìîæíîé ñèòóàöèè äîëæíî ñîîòâåòñòâîâàòü îïðåäåëåííîå äå éñòâèå.  ýòîé êíèãå êàæäûé ïðîòîêîë îðãàíèçîâàí êàê íåêîòîðûé ïîðÿäîê äåéñòâèé . Âûïîëíåíèå ïðîòîêîëà ïðîèñõîäèò ïî äåéñòâèÿì, ëèíåéíî, ïîêà íå áóäåò êîìàíäû ïåðåéòè ê ñëåäóþùåìó äåéñòâèþ . Êàæäîå äåéñòâèå âêëþ÷àåò ïî êðàéíåé ìåðå îäíî èç äâóõ : âû÷èñëåíèÿ, âûïîëíÿåìûå îäíîé èëè íåñêîëüêèìè ñòîðîíàìè, èëè ñîîáùåíèÿ, êîòîðûìè îáìåíèâàþòñÿ ñòîðîíû . Êðèïòîãðàôè÷åñêèé ïðîòîêîë - ýòî ïðîòîêîë, èñïîëüçóþùèé êðèïòîãðàôèþ . Ñòîðîíû ìîãóò áûòü äðóçüÿìè è ñëåïî äîâåðÿòü äðóã äðóãó èëè âðàãàìè è íå âåðèòü äðóã äðóãó äàæå ïðè ñîîáùåíèè âðåìåíè ñóòîê . Êðèïòîãðàôè÷åñêèé ïðîòîêîë âêëþ÷àåò íåêîòîðûé êðèïòîãðàôè÷åñêèé àëãîðèòì, íî, âîîáùå ãîâîðÿ, ïðåäíàçíà÷åíèå ïðîòîêîëà âûõîäèò çà ðàìêè ïðîñòîé áåçîïàñíîñòè . Ó÷àñòíèêè ïðîòîêîëà ìîãóò çàõîòåòü ïîäåëèòüñÿ ñåêðåòîì äðóã ñ äðóãîì, ñîâìåñòíî ãåíåðèðîâàòü ñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü, ïîäòâåðäèòü äðóã äðóãó ñâîþ ïîäëè ííîñòü èëè ïîäïèñàòü êîíòðàêò â îäèí è òîò æå ìîìåíò âðåìåíè. Ñìûñë èñïîëüçîâàíèÿ êðèïòîãðàôèè â ïðîòîê îëå - â ïðåäîòâðàùåíèè èëè îáíàðóæåíèè âðåäèòåëüñòâà è ìîøåííè÷åñòâà . Åñëè âû íèêîãäà íå ñòàëêèâàëèñü ñ ïîäîáíûìè ïðîòîêîëàìè, îíè ìîãóò ðàäèêàëüíî èçìåíèòü âàøå ïðåäñòàâëåíèå î òîì, ÷òî íåäîâåðÿþùèå äðóã äðóãó ñòîðîíû ìîãóò âûïîëíèòü, èñïîëüçóÿ êîìïüþòåðíóþ ñåòü . Îáùåå ïðàâèëî ìîæíî ñôîðìóëèðîâàòü ñë åäóþùèì îáðàçîì: Íåâîçìîæíî ñäåëàòü èëè óçíàòü áîëüøå, ÷åì îïðåäåëåíî â ïðîòîêîëå . Ýòî ãîðàçäî ñëîæíåå, ÷åì êàæåòñÿ .  ñëåäóþùèõ íåñêîëüêèõ ãëàâàõ ÿ ðàññìàòðèâàþ ìíîæåñòâî ïðîòîêîëîâ .  íåêîòîðûõ èç íèõ îäèí èç ó÷àñòíèêîâ ìîæåò îáìàíóòü äðóãîãî .  äðóãèõ, çëîóìûøëåííèê ìîæåò âçëîìàòü ïðîòîêîë èëè óçíàòü ñåêðåòíóþ èíôîðìàöèþ . Ðÿä ïðîòîêîëîâ ïðîâàëèâàþòñÿ, òàê êàê èõ ðàçðàáîò÷èêè íåäîñò àòî÷íî òùàòåëüíî îïðåäåëÿëè òðåáîâàíèÿ . Äðóãèå ïðîâàëèâàþòñÿ èç-çà òîãî, ÷òî èõ ðàçðàáîò÷èêè íåäîñòàòî÷íî òùàòåëüíî àíàëèçèðîâàëè ñâîè ïðîòîêîëû . Êàê è äëÿ àëãîðèòìîâ, ãîðàçäî ëåã÷å äîêàçàòü âîçìîæíóþ íåáåç îïàñíîñòü ïðîòîêîëà, ÷åì åãî ïîëíóþ áåçîïàñíîñòü . Ñìûñë ïðîòîêîëîâ  ïîâñåäíåâíîé æèçíè ïî÷òè äëÿ âñåãî ñóùåñòâóþò íåôîðìàëüíûå ïðîòîêîëû : çàêàç òîâàðîâ ïî òåëåôîíó, èãðà â ïîêåð, ãîëîñîâàíèå íà âûáîðàõ . Íèêòî íå çàäóìûâàåòñÿ îá ýòèõ ïðîòîêîëàõ, îíè âûðàáàòûâàëèñü â òå÷ åíèå äëèòåëüíîãî âðåìåíè, âñå çíàþò, êàê èìè ïîëüçîâàòüñÿ è îíè ðàáîòàþò äîñòàòî÷íî õîðîøî . Ñåãîäíÿ âñå áîëüøå è áîëüøå ëþäåé îáùàþòñÿ íå ëè÷íî, à èñïîëüçóÿ êîìïüþòåðíóþ ñåòü . Äëÿ òåõ æå âåùåé, êîòîðûå ëþäè äåëàþò íå çàäóìûâàÿñü, êîìïüþòåðàì íóæíû ôîðìàëüíûå ïðîòîêîëû . Êîãäà âû ïåðååçæàåòå èç ãîñóäàðñòâà â ãîñóäàðñòâî è îáíàðóæèâàåòå êàáèíêó, ñîâåðøåííî îòëè÷àþùóþñÿ îò òîé, ê êîòîðîé âû ïð è-
âûêëè, âû ëåãêî àäàïòèðóåòåñü. Êîìïüþòåðû äàëåêî íå òàê ãèáêè . ×åñòíîñòü è áåçîïàñíîñòü ìíîãèõ ïðîòîêîëîâ ÷åëîâå÷åñêîãî îáùåíèÿ îñíîâàíû íà ëè÷íîì ïðèñóòñòâèè . Ðàçâå âû äàäèòå íåçíàêîìöó êó÷ó äåíåã, ÷òîáû îí êóïèë äëÿ âàñ ÷òî-íèáóäü â áàêàëåå ? Ñÿäåòå ëè âû èãðàòü â ïîêåð ñ òåì, êòî æóëüíè÷àåò, ñäàâàÿ êàðòû? Ïîøëåòå ëè âû ñâîé èçáèðàòåëüíûé áþëëåòåíü ïðàâèòåëüñòâó, íå áóäó÷è óâåðåííûì â òàéíîñòè òàêîãî ãîëîñîâàíèÿ? Íàèâíî ñ÷èòàòü, ÷òî ïîëüçîâàòåëè êîìïüþòåðíûõ ñåòåé âñåãäà ÷åñòíû. Òàêæå íàèâíî ñ÷èòàòü, ÷òî âñåãäà ÷ åñòíû ðàçðàáîò÷èêè êîìïüþòåðíûõ ñåòåé. Äëÿ áîëüøèíñòâà èç íèõ ýòî èìåííî òàê, íî äàæå íåñêîëüêî æóëèêîâ ìîãóò ïðèíåñòè ìíîãî âðåäà. Ôîðìàëèçèðóÿ ïðîòîêîëû, ìîæíî ïðîâåðèòü ñïîñîáû, èñïîëüçóåìûå æóëèêàìè äëÿ âçëîìà ïðîòîêîëîâ. Òàê ìû ìîæåì ðàçðàáîòàòü ïðîòîêîëû, óñòîé÷èâûå ê âçëîìó. Êðîìå ôîðìàëèçàöèè äåéñòâèé, ïðîòîêîëû ïîçâîëÿþò àáñòðàãèðîâàòüñÿ ïðè ðåøåíèè çàäà÷è îò ñïîñîáà ð åøåíèÿ. Ïðîòîêîë ñâÿçè îäèí è òîò æå è íà PC, è íà VAX. Ìîæíî ïðîâåðèòü ïðîòîêîë, íå âäàâàÿñü â äåòàëè åãî ðåàëèçàöèè. Êîãäà ìû óáåäèìñÿ â íàäåæíîñòè ïðîòîêîëà, åãî ìîæíî áóäåò ðåàëèçîâàòü ãäå óãîäíî îò êîìïüþò åðîâ äî òåëåôîíîâ è èíòåëëåêòóàëüíûõ òîñòåðîâ . Èãðîêè Äëÿ äåìîíñòðàöèè ðàáîòû ïðîòîêîëîâ ÿ èñïîëüçóþ íåñêîëüêî èãðîêîâ (ñì. 1-é). Ïåðâûå äâîå - ýòî Àëèñà è Áîá. Îíè ó÷àñòâóþò âî âñåõ äâóñòîðîííèõ ïðîòîêîëàõ . Êàê ïðàâèëî, Àëèñà (Alice) íà÷èíàåò âñå ïðîòîêîëû, à Áîá (Bob) îòâå÷àåò. Åñëè äëÿ ïðîòîêîëà íóæíà òðåòüÿ èëè ÷åòâåðòàÿ ñòîðîíà, â èãðó âñòóïàþò Êýðîë (Êýðîë) è Äýéâ (Dave). Äðóãèå èãðîêè èãðàþò ñïåöèàëüíûå âñïîìîãàòåëüíûå ðîëè, îíè áóäóò ïðåäñòàâëåíû ïî çæå. Ïðîòîêîëû ñ ïîñðåäíèêîì Ïîñðåäíèê - ýòî íåçàèíòåðåñîâàííàÿ òðåòüÿ ñòîðîíà, êîòîðîé äîâåðåíî çàâåðøåíèå ïðîòîêîëà (ñì. 1-é (à)). Íåçàèíòåðåñîâàííîñòü îçíà÷àåò, ÷òî ó ïîñðåäíèêà íåò çàèíòåðåñîâàííîñòè â ðåçóëüòàòå ðàáîòû ïðîòîêîëà è ñêëîííîñòè ê îäíîé èç ñòîðîí. "Äîâåðåíî" îçíà÷àåò, ÷òî âñå ó÷àñòíèêè ïðîòîêîëà ïðèíèìàþò âñå, ÷òî ñêàæåò ïîñðåäíèê çà èñòèíó, âñå åãî äåéñòâèÿ - êàê ïðàâèëüíûå, è óâåðåíû â òîì, ÷òî ïîñðåäíèê âûïîëíèò ñâîþ ÷àñòü ïðîòîêîëà. Ïîñðåäíèêè ïîìîãàþò ðåàëèçîâàòü ðàáîòó ïðîòîêîëîâ âçàèìîäåéñòâèÿ íåäîâåðÿþùèõ äðóã äðóãó ñòîðîí.  ðåàëüíîì ìèðå â êà÷åñòâå ïîñðåäíèêîâ ÷àñòî âûñòóïàþò þðèñòû . Íàïðèìåð, Àëèñà ïðîäàåò íåçíàêîìîìó åé Áîáó ìàøèíó. Áîá õî÷åò çàïëàòèòü ÷åêîì, íî ó Àëèñû íåò ñïîñîáà ïðîâåðèòü, äåéñòâèòåëåí ëè ÷åê . Àëèñà õî÷åò, ÷òîáû ðàñ÷åò ïî ÷åêó áûë ïðîèçâåäåí ïðåæäå, ÷åì ïðàâî ñîáñòâåííîñòè ïåðåéäåò ê Áîáó . Áîá, êîòîðûé âåðèò Àëèñå íå áîëüøå, ÷åì îíà åìó , íå õî÷åò ïåðåäàâàòü ÷åê, íå ïîëó÷èâ ïðàâà ñîáñòâåííîñòè . Òàáë. 2-1. Äåéñòâóþùèå ëèöà Àëèñà
Ïåðâûé ó÷àñòíèê âñåõ ïðîòîêîëîâ
Áîá
Âòîðîé ó÷àñòíèê âñåõ ïðîòîêîëîâ
Êýðîë
Òðåòèé ó÷àñòíèê â ïðîòîêîëàõ ñ ó÷àñòèåì òðåõ è ÷åòûðåõ ñòîðîí
Äýéâ
×åòâåðòûé ó÷àñòíèê â ïðîòîêîëàõ ñ ó÷àñòèåì òðåõ è ÷åòûðåõ ñòîðîí
Åâà
Çëîóìûøëåííèê (eavesdropper)
Ìýëëîðè
Âçëîìùèê ïðîòîêîëîâ
Òðåíò
Çàñëóæèâàþùèé äîâåðèÿ ïîñðåäíèê
Óîëòåð
Êîíòðîëåð, çàùèùàåò Àëèñó è Áîáà â ðÿäå ïðîòîêîëîâ
Ïåããè
Ñâèäåòåëü
Âèêòîð
Ïðîâåðÿåò ïîäëèííîñòü
Òðåíò
Áîá
Àëèñà
(à) ïðîòîêîë ñ ïîñðåäíèêîì
Àëèñà
Äîêàçàòåëüñòâî
Áîá
Äîêàçàòåëüñòâî
Òðåíò
ïîñëå ñëó÷èâøåãîñÿ
(á) àðáèòðàæíûé ïðîòîêîë
Áîá
Àëèñà
(â) ñàìîäîñòàòî÷íûé ïðîòîêîë
Ðèñ. 2-1. Òèïû ïðîòîêîëîâ Ïîñðåäíè÷åñòâî þðèñòà óñòðîèò îáîèõ . Ñ åãî ïîìîùüþ Àëèñà è Áîá ìîãóò âûïîëíèòü ñëåäóþùèé ïðîòîêîë, ÷òîáû çàùèòèòü ñåáÿ îò îáìàíà: (1) Àëèñà ïåðåäàåò ïðàâî ñîáñòâåííîñòè þðèñòó. (2) Áîá ïåðåäàåò ÷åê þðèñòó. (3) Àëèñà äåïîíèðóåò ÷åê. (4) Äîæäàâøèñü îïëàòû ÷åêà þðèñò ïåðåäàåò ïðàâî ñîáñòâåííîñòè Áîáó. Åñëè ÷åê íå îïëà÷åí â òå÷åíèå îïð åäåëåííîãî âðåìåíè, Àëèñà äîêàçûâàåò ýòîò ôàêò þðèñòó, è òîò âîçâðàùàåò ïðàâî ñîáñòâåííîñòè Àëèñå.  ýòîì ïðîòîêîëå Àëèñà âåðèò, ÷òî þðèñò íå ïåðåäàñò Áîáó ïðàâî ñîáñòâåííîñòè äî òåõ ïîð, ïîêà ÷åê íå á óäåò îïëà÷åí, è âåðíåò ïðàâî ñîáñòâåííîñòè Àëèñå, åñëè ÷åê îïëà÷åí íå áóäåò. Áîá âåðèò, ÷òî þðèñò áóäåò îáëàäàòü ïðàâîì ñîáñòâåííîñòè äî òåõ ïîð, ïîêà ÷åê íå áóäåò îïëà÷åí, è ïåðåäàñò ïðàâî ñîáñòâåííîñòè Áîáó ñðàçó æå ïîñëå îïëàòû ÷åêà. Þðèñò íå çàáîòèòñÿ îá îïëàòå ÷åêà. Îí â ëþáîì ñëó÷àå âûïîëíèò ñâîþ ÷àñòü ïðîòîêîëà, âåäü åìó çàïëàòÿò â ëþáîì ñëó÷àå .  ýòîì ïðèìåðå þðèñò èãðàåò ðîëü ïîñðåäíèêà . Þðèñòû ÷àñòî âûñòóïàþò â ðîëè ïîñðåäíèêîâ ïðè çàâåù àíèÿõ è èíîãäà ïðè ïåðåãîâîðàõ î êîíòðàêòå . Ðàçëè÷íûå áèðæè âûñòóïàþò â êà÷åñòâå ïîñðåäíèêîâ ìåæäó ïîê óïàòåëÿìè è ïðîäàâöàìè.  êà÷åñòâå ïîñðåäíèêà ìîæåò âûñòóïèòü è áàíê - äëÿ ïîêóïêè ìàøèíû : (1) Áîá çàïîëíÿåò ÷åê è ïåðåäàåò åãî â áàíê. (2) Åñëè íà ñ÷åòó Áîáà äîñòàòî÷íî äåíåã äëÿ ïîêðûòèÿ ÷åêà, áàíê çàâåðÿåò ÷åê è âîçâðàùàåò åãî Áîáó. (3) Àëèñà ïåðåäàåò Áîáó ïðàâî ñîáñòâåííîñòè, à Áîá ïåðåäàåò Àëèñå çàâåðåííûé ÷åê. (4) Àëèñà äåïîíèðóåò ÷åê. Ýòîò ïðîòîêîë ðàáîòàåò, ïîòîìó ÷òî Àëèñà âåðèò áàíêîâñêîìó ñâèäåòåëüñòâó . Àëèñà âåðèò, ÷òî áàíê ñîõðàíèò äåíüãè Áîáà äëÿ íåå è íå èñïîëüçóåò èõ äëÿ ôèíàíñèðîâàíèÿ ñîìíèòåëüíûõ îïåðàöèé ñ íåäâèæèìîñòüþ â
áàíàíîâûõ ðåñïóáëèêàõ. Äðóãèì îáùåïðèíÿòûì ïîñðåäíèêîì ÿâëÿåòñÿ íîòàðèóñ . Êîãäà Áîá ïîëó÷àåò îò Àëèñû çàâåðåííûé íîòàðè óñîì äîêóìåíò, îí óáåæäåí, ÷òî Àëèñà ïîäïèñàëà äîêóìåíò ïî ñâîåìó æåëàíèþ è ñîáñòâåííîðó÷íî . Ïðè íåîáõîäèìîñòè íîòàðèóñ ìîæåò âûñòóïèòü â ñóäå è çàñâèäåòåëüñòâîâàòü ýòîò ôàêò . Ïîíÿòèå ïîñðåäíèêà ñòàðî êàê ìèð. Âñåãäà ñóùåñòâîâàëè îïðåäåëåííûå ëþäè - âîæäè, æðåöû è òîìó ïîäî áíîå - îáëàäàâøèå âëèÿíèåì, ïîçâîëÿþùèì èì äåéñòâîâàòü ñïðàâåäëèâî. Ïîñðåäíèêè èãðàþò îïðåäåëåííóþ ðîëü â íàøåì îáùåñòâå, îáìàí äîâåðèÿ ïîäîðâàë áû çàíèìàåìîå èìè ïîëîæåíèå . Þðèñòû-ïîñðåäíèêè, íàðóøàþùèå ïðàâèëà èãðà, ïîäâåðãàþòñÿ íàêàçàíèþ - íàïðèìåð, èñêëþ÷åíèþ èç êîëëåãèè àäâîêàòîâ . Ýòî èäåàëüíàÿ êàðòèíà, â ðåàëüíîì ìèðå ïîëîæåíèå, ê ñîæàëåíèþ, ìîæåò îòëè÷àòüñÿ îò íåå . Ýòîò èäåàë ìîæíî ïåðåíåñòè íà ìèð êîìïüþòåðîâ, íî ñ êîìïüþòåðíûìè ïîñðåäíèêàìè ñóùåñòâóåò ðÿä ïð îáëåì: Ëåãêî íàéòè íåéòðàëüíóþ òðåòüþ ñòîðîíó, êîòîðîé ìîæíî äîâåðÿòü, åñëè âû çíàåòå ïîñðåäíèêà è ìîæåòå ëè÷íî óâèäåòü åãî. Äâå ñòîðîíû, îòíîñÿùèåñÿ äðóã ê äðóãó ñ ïîäîçðåíèåì, ñ òåì æå ïîäîçðåíèåì îòíåñó òñÿ è ê áåçëèêîìó ïîñðåäíèêó, çàòåðÿííîìó ãäå-òî â ñåòè . Êîìïüþòåðíàÿ ñåòü äîëæíà îáåñïå÷èòü ïîääåðæêó ïîñðåäíèêà. Çàíÿòîñòü þðèñòîâ îáùåèçâåñòíà, íà êîãî â ñåòè ëÿãóò äîïîëíèòåëüíûå íàêëàäíûå ðàñõîäû ? Ñóùåñòâóåò çàäåðæêà, ïðèñóùàÿ âñåì ïðîòîêîëàì ñ ïîñðåäíèêîì . Ïîñðåäíèê äîëæåí ïðèíèìàòü ó÷àñòèå â êàæäîé òðàíçàêöèè, ÿâëÿÿñü óçêèì ìåñòîì â êðóïíîìàñøòàáíûõ ðåàëèçàöèÿõ ëþáîãî ïðîòîêîëà. Ðîñò ÷èñëà ïîñðåäíèêîâ ñìÿã÷èò ýòó ïðîáëåìó, íî âûðàñòåò è öåíà ýòîé óñëóãè. Òàê êàê êàæäûé â ñåòè äîëæåí äîâåðÿòü ïîñðåäíèêó, òî ïîñðåäíèê ïðåäñòàâëÿåò ñîáîé ñëàáîå ìåñòî ñåòè ïðè ïîïûòêå åå âçëîìà. Íåñìîòðÿ íà ýòî ïîñðåäíè÷åñòâî âñå åùå àêòèâíî èñïîëüçóåòñÿ.  ïðîòîêîëàõ ñ èñïîëüçîâàíèåì ïîñðåäíèêà ýòó ðîëü áóäåò èãðàòü Òðåíò. Àðáèòðàæíûå ïðîòîêîëû Èñïîëüçóåìûé èç-çà âûñîêîé ñòîèìîñòè íàéìà ïîñðåäíèêîâ àðáèòðàæíûå ïðîòîêîë ìîæåò áûòü ðàçáèò íà äâà ïîäïðîòîêîëà íèæíåãî óðîâíÿ. Ïåðâûé ïðåäñòàâëÿåò ñîáîé ïðîòîêîë áåç ïîñðåäíèêà, èñïîëüçóåìûé ïðè æåëàíèè ñòîðîí âûïîëíèòü ïðîòîêîë . Äðóãîé ïðåäñòàâëÿåò ñîáîé ïðîòîêîë ñ ïîñðåäíèêîì, ïðèãëàøàåìûì â èñêëþ÷èòåëüíûõ îáñòîÿòåëüñòâàõ - ïðè íàëè÷èè ðàçíîãëàñèé ìåæäó ñòîðîíàìè . Ñîîòâåòñòâóþùèé ñïåöèàëüíûé ïîñðåäíèê íàçûâàåòñÿ àðáèòðîì (ñì. 1-é(á)). Àðáèòð, êàê è ïîñðåäíèê, ïðåäñòàâëÿåò ñîáîé íåçàèíòåðåñîâàííîãî ó÷àñòíèêà ïðîòîêîëà, êîòîðîìó äîâåðÿþò îáå ñòîðîíû.  îòëè÷èå îò ïîñðåäíèêà îí íåïîñðåäñòâåííî íå ïðèíèìàåò ó÷àñòèÿ â êàæäîé îòäåëüíîé ðåàëèç àöèè ïðîòîêîëà è ïðèãëàøàåòñÿ òîëüêî äëÿ ïðîâåðêè ÷åñòíîñòè âûïîëíåíèÿ ïðîòîêîëà ñòîðîíàìè . Ïðîôåññèîíàëüíûìè àðáèòðàìè ÿâëÿþòñÿ ñóäüè.  îòëè÷èå îò íîòàðèóñîâ ê ñóäüÿì îáðàùàþòñÿ òîëüêî ïðè ïîÿâëåíèè ðàçíîãëàñèé. Àëèñà è Áîá ìîãóò çàêëþ÷èòü êîíòðàêò áåç ó÷àñòèÿ ñóäüè . Ñóäüÿ íèêîãäà íå óçíàåò î êîíòðàêòå, åñëè îäíà èç ñòîðîí íå ïîäàñò íà äðóãóþ â ñóä . Ïðîòîêîë ïîäïèñàíèÿ êîíòðàêòà ìîæíî ôîðìàëèç îâàòü ñëåäóþùèì îáðàçîì: Ïîäïðîòîêîë áåç ïîñðåäíèêà (âûïîëíÿåòñÿ âñåãäà) : (1) Àëèñà è Áîá äîãîâàðèâàþòñÿ îá óñëîâèÿõ êîíòðàêòà. (2) Àëèñà ïîäïèñûâàåò êîíòðàêò. (3) Áîá ïîäïèñûâàåò êîíòðàêò. Ïîäïðîòîêîë ñ èñïîëüçîâàíèåì àðáèòðà (âûïîëíÿåòñÿ ïðè íàëè÷èè ðàçíîãëàñèé) : (4) Àëèñà è Áîá ïðåäñòàþò ïåðåä ñóäüåé. (5) Àëèñà ïðåäîñòàâëÿåò ñâîè äîêàçàòåëüñòâà. (6) Áîá ïðåäîñòàâëÿåò ñâîè äîêàçàòåëüñòâà. (7) Ñóäüÿ ïðèíèìàåò ðåøåíèå íà îñíîâàíèè äîêàçàòåëüñòâ. Ðàçëè÷èå èñïîëüçóåìûõ â ýòîé êíèãå ïîíÿòèé ïîñðåäíèêà è àðáèòðà ñîñòîèò â òîì, ÷òî ó÷àñòèå àðáèòðà ïð îèñõîäèò íå âñåãäà. Ñòîðîíû îáðàùàþòñÿ ê ñóäüå òîëüêî ïðè ðàçíîãëàñèÿõ. Åñëè ðàçíîãëàñèé íåò, ñóäüÿ íå í óæåí.
Ñóùåñòâóþò àðáèòðàæíûå êîìïüþòåðíûå ïðîòîêîëû. Îíè ïðåäïîëàãàþò, ÷òî ó÷àñòâóþùèå ñòîðîíû ÷åñòíû, íî ïðè ïîäîçðåíèè î âîçìîæíîì ìîøåííè÷åñòâå ïî ñóùåñòâóþùåìó íàáîðó äàííûõ òðåòüÿ ñòîðîíà, êîòîðîé äîâåðÿþò ó÷àñòíèêè, ñìîæåò îáíàðóæèòü ôàêò ìîøåííè÷åñòâà . Õîðîøèé àðáèòðàæíûé ïðîòîêîë ïîçâîëÿåò à ðáèòðó óñòàíîâèòü è ëè÷íîñòü ìîøåííèêà . Àðáèòðàæíûå ïðîòîêîëû îáíàðóæèâàþò, à íå ïðåäóïðåæäàþò ìîøå ííè÷åñòâî. Íåîòâðàòèìîñòü îáíàðóæåíèÿ âûñòóïàåò â êà÷åñòâå ïðåäóïðåäèòåëüíîé ìåðû, ïðåäîòâðàùàÿ ìîøå ííè÷åñòâî. Ñàìîäîñòàòî÷íûå ïðîòîêîëû Ñàìîäîñòàòî÷íûé ïðîòîêîë ÿâëÿåòñÿ ëó÷øèì òèïîì ïðîòîêîëà . Îí ïîëíîñòüþ îáåñïå÷èâàåò ÷åñòíîñòü ñòîðîí (ñì. 1-é(â)). Äëÿ âûïîëíåíèÿ ïðîòîêîëà íå íóæåí íè ïîñðåäíèê, íå ðåøàþùèé ñïîðû àðáèòð . Ñàìî ïîñòðîåíèå ïðîòîêîëà îáåñïå÷èâàåò îòñóòñòâèå ñïîðîâ. Åñëè îäíà èç ñòîðîí ïîïûòàåòñÿ ñìîøåííè÷àòü, ìîøåíí è÷åñòâî áóäåò íåìåäëåííî îáíàðóæåíî äðóãîé ñòîðîíîé, è ïðîòîêîë ïðåêðàòèò âûïîëíÿòüñÿ. ×åãî áû íå ïûòàëàñü äîáèòüñÿ ìîøåííè÷àþùàÿ ñòîðîíà, ýòîìó íå ñóæäåíî ñëó÷èòüñÿ.  ëó÷øåì ìèðå ëþáîé ïðîòîêîë äîëæåí áûòü ñàìîäîñòàòî÷íûì, íî, ê íåñ÷àñòüþ, íå ñóùåñòâóåò ñàìîäîñò àòî÷íûõ ïðîòîêîëîâ äëÿ êàæäîé ñèòóàöèè . Ïîïûòêè âñêðûòèÿ ïðîòîêîëîâ Êðèïòîãðàôè÷åñêèå ïîïûòêè âçëîìà ìîãóò áûòü íàïðàâëåíû ïðîòèâ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ, è ñïîëüçóåìûõ â ïðîòîêîëàõ, ïðîòèâ êðèïòîãðàôè÷åñêèõ ìåòîäîâ, èñïîëüçóåìûõ äëÿ ðåàëèçàöèè àëãîðèòìîâ è ïðîòîêîëîâ èëè íåïîñðåäñòâåííî ïðîòèâ ïðîòîêîëîâ. Ïîñêîëüêó â ýòîì ðàçäåëå êíèãè îáñóæäàþòñÿ èìåííî ïð îòîêîëû, ÿ ïðåäïîëàãàþ, ÷òî êðèïòîãðàôè÷åñêèå àëãîðèòìû è ìåòîäû áåçîïàñíû , è ðàññìàòðèâàþ òîëüêî ïîïûòêè âñêðûòèÿ ïðîòîêîëîâ. Ëþäè ìîãóò èñïîëüçîâàòü ìíîæåñòâî ñïîñîáîâ âçëîìàòü ïðîòîêîë. Íåêîòîðûå, íå ÿâëÿÿñü ó÷àñòíèêàìè ïð îòîêîëà, ìîãóò "ïîäñëóøèâàòü" êàêóþ-òî ÷àñòü èëè âåñü ïðîòîêîë . Ýòî íàçûâàåòñÿ ïàññèâíûì âñêðûòèåì, òàê êàê âçëîìùèê íå âîçäåéñòâóåò íà ïðîòîêîë . Âñå, ÷òî îí ìîæåò ñäåëàòü - ýòî ïðîñëåäèòü çà ïðîòîêîëîì è ïîï ûòàòüñÿ äîáûòü èíôîðìàöèþ. Ýòîò òèï âñêðûòèÿ ñîîòâåòñòâóåò âñêðûòèþ ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà, îáñóæäàâøåìóñÿ â ðàçäåëå 1.1. Òàê êàê ïàññèâíûå âñêðûòèÿ òðóäíî îáíàðóæèòü, ïðîòîêîëû ñòðåìÿòñÿ ïðåäî òâðàùàòü, à íå îáíàðóæèâàòü èõ.  ýòèõ ïðîòîêîëàõ ðîëü çëîóìûøëåííèêà áóäåò èãðàòü Åâà .  äðóãîì ñëó÷àå âçëîìùèê ìîæåò ïîïûòàòüñÿ èçìåíèòü ïðîòîêîë äëÿ ñîáñòâåííîé âûãîäû . Îí ìîæåò âûäàòü ñåáÿ çà äðóãîãî, ââåñòè íîâûå ñîîáùåíèÿ â ïðîòîêîë, çàìåíèòü îäíî ñîîáùåíèå äðóãèì, ïîâòîðíî ïåðåäàòü ñò àðûå ñîîáùåíèÿ, ðàçîðâàòü êàíàë ñâÿçè èëè èçìåíèòü õðàíÿùóþñÿ â êîìïüþòåðå èíôîðìàöèþ . Òàêèå äåéñòâèÿ íàçûâàþòñÿ àêòèâíûì âñêðûòèåì, òàê êàê îíè òðåáóþò àêòèâíîãî âìåøàòåëüñòâà . Ýòè ôîðìû âñêðûòèÿ çàâèñÿò îò âèäà ñåòè. Ïàññèâíûå âçëîìùèêè ñòàðàþòñÿ ïîëó÷èòü èíôîðìàöèþ îá ó÷àñòíèêàõ ïðîòîêîëà . Îíè ñîáèðàþò ñîîáùåíèÿ, ïåðåäàííûå ðàçëè÷íûìè ñòîðîíàìè, è ïûòàþòñÿ êðèïòîàíàëèçèðîâàòü èõ . Ïîïûòêè àêòèâíîãî âñêðûòèÿ, ñ äðóãîé ñòîðîíû, ïðåñëåäóþò áîëåå øèðîêèé íàáîð öåëåé. Âçëîìùèê ìîæåò áûòü çàèíòåðåñîâàí â ïîëó÷åíèè èíôîðìàöèè, óõóäøåíèè ðàáîòû ñèñòåìû èëè ïîëó÷åíèè íåñàíêöèîíèðîâàííîãî äîñòóïà ê ðåñóðñàì . Àêòèâíûå âñêðûòèÿ áîëåå ñåðüåçíû, îñîáåííî â îòíîøåíèè ïðîòîêîëîâ, â êîòîðûõ ñòîðîíû íå îáÿçàòåëüíî äîâåðÿþò äðóã äðóãó. Âçëîìùèê íå îáÿçàòåëüíî êòî-òî ñîâñåì ïîñòîðîííèé, îí ìîæåò áûòü çàðåãèñòðèðîâàííûì ïîëüçîâàòåëåì ñèñòåìû è äàæå ñèñòåìíûì àäìèíèñòðàòîðîì . Ìîæåò áûòü äàæå íåñêîëüêî àêòèâíûõ âçëîìù èêîâ, ðàáîòàþùèõ âìåñòå.  ýòîé êíèãå ðîëü çëîíàìåðåííîãî àêòèâíîãî âçëîìùèêà áóäåò èãðàòü Ìý ëëîðè. Âçëîìùèêîì ìîæåò áûòü è îäèí èç ó÷àñòíèêîâ ïðîòîêîëà . Îí ìîæåò îáìàíûâàòü, âûïîëíÿÿ ïðîòîêîë, èëè âîâñå íå ñëåäîâàòü ïðàâèëàì ïðîòîêîëà . Òàêîé âçëîìùèê íàçûâàåòñÿ ìîøåííèêîì. Ïàññèâíûå ìîøåííèêè âûïîëíÿþò ïðàâèëà ïðîòîêîëà, íî ñòàðàþòñÿ ïîëó÷èòü áîëüøå èíôîðìàöèè, ÷åì ïðåäóñìîòðåíî ïðîòîêîëîì . Àêòèâíûå ìîøåííèêè íàðóøàþò ðàáîòó ïðîòîêîëà, ïûòàÿñü ñìîøåííè÷àòü . Î÷åíü òðóäíî ïîääåðæèâàòü áåçîïàñíîñòü ïðîòîêîëà, åñëè áîëüøèíñòâî åãî ó÷àñòíèêîâ - àêòèâíûå ìîøå ííèêè, íî èíîãäà àêòèâíîå ìîøåííè÷åñòâî ìîæåò áûòü îáíàðóæåíî çàêîííûìè ó÷àñòíèêàìè . Êîíå÷íî, ïðîòîêîëû äîëæíû áûòü çàùèùåíû è îò ïàññèâíîãî ìîøåííè÷åñòâà .
2.2 Ïåðåäà÷à èíôîðìàöèè ñ èñïîëüçîâàíèåì ñèììåòðè÷íîé êðèïòîãðàôèè Êàê äâóì ñòîðîíàì áåçîïàñíî îáìåíèâàòüñÿ èíôîðìàöèåé? Êîíå÷íî æå, øèôðóþ ñâîè ñîîáùåíèÿ . Ïîñìîòðèì, ÷òî äîëæíî ïðîèçîéòè, êîãäà Àëèñà ïîñûëàåò øèôðîâàííîå ñîîáùåíèå Áîáó (ïîëíûé ïðîòîêîë ãîðàçäî ñëîæíåå). (1) Àëèñà è Áîá âûáèðàþò ñèñòåìó øèôðîâàíèÿ. (2) Àëèñà è Áîá âûáèðàþò êëþ÷.
(3) Àëèñà øèôðóåò îòêðûòûé òåêñò ñâîåãî ñîîáùåíèÿ ñ èñïîëüçîâàíèåì àëãîðèòìà øèôðîâàíèÿ è êëþ÷à, ï îëó÷àÿ øèôðîâàííîå ñîîáùåíèå. (4) Àëèñà ïîñûëàåò øèôðîâàííîå ñîîáùåíèå Áîáó. (5) Áîá äåøèôðèðóåò øèôðîòåêñò ñîîáùåíèÿ ñ èñïîëüçîâàíèåì àëãîðèòìà øèôðîâàíèÿ è êëþ÷à, ïîëó÷àÿ î òêðûòûé òåêñò ñîîáùåíèÿ. ×òî ìîæåò Åâà, íàõîäÿñü ìåæäó Àëèñîé è Áîáîì, óçíàòü, ïîäñëóøèâàÿ ýòîò ïðîòîêîë ? Åñëè îíà ìîæåò ïîäñëóøàòü òîëüêî ïåðåäà÷ó íà ýòàïå (4), åé ïðèäåòñÿ ïîäâåðãíóòü øèôðîòåêñò êðèïòîàíàëèçó . Ýòî ïàññèâíîå âñêðûòèå ïðåäñòàâëÿåò ñîáîé âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà, ïðèìåíÿåìûå àëãîðèòìû óñòî é÷èâû (íàñêîëüêî íàì èçâåñòíî) ïî îòíîøåíèþ ê ëþáûì âû÷èñëèòåëüíûì ìîùíîñòÿì, êîòîðûé ìîæåò çàïîë ó÷èòü Åâà äëÿ ðåøåíèÿ ïðîáëåìû . Åâà, îäíàêî, íå ãëóïà. Îíà ìîæåò òàêæå ïîäñëóøàòü è ýòàïû (1) è (2). Òîãäà åé ñòàíóò èçâåñòíû àëãîðèòì è êëþ÷ - òàêæå êàê è Áîáó. Êîãäà îíà ïåðåõâàòèò ñîîáùåíèå íà ýòàïå (4), òî åé îñòàíåòñÿ òîëüêî äåøèôðîâàòü åãî ñàìîñòîÿòåëüíî.  õîðîøåé êðèïòîñèñòåìå áåçîïàñíîñòü ïîëíîñòüþ çàâèñèò îò çíàíèÿ êëþ÷à è àáñîëþòíî íå çàâèñèò îò çí àíèÿ àëãîðèòìà. Èìåííî ïîýòîìó óïðàâëåíèå êëþ÷àìè òàê âàæíî â êðèïòîãðàôèè . Èñïîëüçóÿ ñèììåòðè÷íûé àëãîðèòì, Àëèñà è Áîá ìîãóò îòêðûòî âûïîëíèòü ýòàï (1), íî ýòàï (2) îíè äîëæíû ñîõðàíèòü â òàéíå . Êëþ÷ äîëæåí îñòàâàòüñÿ â ñåêðåòå ïåðåä, ïîñëå è â òå÷åíèå ðàáîòû ïðîòîêîëà - äî òåõ ïîð, ïîêà äîëæíî îñòàâàòüñÿ â òàéíå ïåðåäàâàåìîå ñîîáùåíèå - â ïðîòèâíîì ñëó÷àå ñîîáùåíèå òóò æå áóäåò ðàñêðûòî . (Î êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè, ðåøàþùåé ýòó ïðîáëåìó èíà÷å, ðàññêàçûâàåòñÿ â ðàçäåëå 2.5 .) Ìýëëîðè, àêòèâíûé âçëîìùèê, ìîæåò ñäåëàòü êîå-÷òî äðóãîå. Îí ìîæåò ïîïûòàòüñÿ íàðóøèòü ëèíèþ ñâÿçè íå ýòàïå (4), ñäåëàâ òàê, ÷òî Àëèñà âîîáùå íå ñìîæåò ïåðåäàâàòü èíôîðìàöèþ Áîáó . Ìýëëîðè òàêæå ìîæåò ïåðåõâàòèòü ñîîáùåíèå Àëèñû è çàìåíèòü åãî ñâîèì ñîáñòâåííûì . Åñëè åìó óäàëîñü óçíàòü êëþ÷ (ïåðåõâàòèâ îáìåí èíôîðìàöèåé íà ýòàïå (2) èëè âçëîìàâ êðèïòîñèñòåìó), îí ñìîæåò çàøèôðîâàòü ñâîå ñîîáùåíèå è îòïð àâèòü åãî Áîáó âìåñòî ïåðåõâà÷åííîãî, è Áîá íå ñìîæåò óçíàòü, ÷òî ñîîáùåíèå îòïðàâëåíî íå Àëèñîé. Åñëè Ìý ëëîðè íå çíàåò êëþ÷à, îí ìîæåò òîëüêî ñîçäàòü ñîîáùåíèå, ïðåâðàùàþùååñÿ ïðè äåøèôðîâêå â áåññìûñëèöó . Áîá, ñ÷èòàÿ, ÷òî ñîîáùåíèå îòïðàâëåíî Àëèñîé, ìîæåò ðåøèòü, ÷òî ëèáî ó Àëèñû, ëèáî â ñåòè âîçíèêëè ñåðüå çíûå ïðîáëåìû. À Àëèñà? ×òî îíà ìîæåò ñäåëàòü, ÷òîáû èñïîðòèòü ïðîòîêîë? Îíà ìîæåò ïåðåäàòü êîïèþ êëþ÷à Åâå, è òîãäà Åâà ñìîæåò ÷èòàòü âñå, ÷òî ãîâîðèò Áîá, è íàïå÷àòàòü åãî ñëîâà â Íüþ-Éîðê Òàéìñ. Ýòî ñåðüåçíî, íî ïðîáëåìà íå â ïðîòîêîëå. Àëèñà è òàê ìîæåò ïåðåäàâàòü Åâå ëþáûå îòêðûòûå òåêñòû, ïåðåäàâàåìûå ñ èñïîëüçîâàíèåì ïðîòîêîëà. Êîíå÷íî, òî æå ñàìîå ìîæåò ñäåëàòü è Áîá. Ïðîòîêîë ïðåäïîëàãàåò, ÷òî Àëèñà è Áîá äîâåðÿþò äðóã äðóãó. Èòàê, ñèììåòðè÷íûì êðèïòîñèñòåìàì ïðèñóùè ñëåäóþùèå ïðîáëåìû : Ðàñïðåäåëåíèå êëþ÷åé äîëæíî ïðîâîäèòüñÿ â ñåêðåòå . Êëþ÷è ñòîëü æå âàæíû, êàê è âñå ñîîáùåíèÿ, ç àøèôðîâàííûå ýòèìè êëþ÷àìè, òàê êàê çíàíèå êëþ÷à ïîçâîëÿåò ðàñêðûòü âñå ñîîáùåíèÿ . Äëÿ ðàñïðîñòðàíåííûõ ñèñòåì øèôðîâàíèÿ çàäà÷à ðàñïðåäåëåíèÿ êëþ÷åé - ñåðüåçíåéøàÿ çàäà÷à . ×àñòî êóðüåðû ëè÷íî äîñòàâëÿþò êëþ÷è ïî íàçíà÷åíèþ . Åñëè êëþ÷ ñêîìïðîìåòèðîâàí (óêðàäåí, ðàçãàäàí, âûïûòàí, ïîëó÷åí çà âçÿòêó è ò.ä. ), òî Åâà ñìîæåò ðàñøèôðîâàòü âñå ñîîáùåíèÿ, çàøèôðîâàííûå ýòèì êëþ÷îì . Îíà ñìîæåò òàêæå âûñòóïèòü â êà÷åñòâå îäíîé èç ñòîðîí è ñîçäàâàòü ëîæíûå ñîîáùåíèÿ, äóðà÷à äðóãóþ ñòîðîíó .  ïðåäïîëîæåíèè, ÷òî êàæäàÿ ïàðà ïîëüçîâàòåëåé ñåòè èñïîëüçóåò îòäåëüíûé êëþ÷, îáùåå ÷èñëî êëþ÷åé áûñòðî âîçðàñòàåò ñ ðîñòîì ÷èñëà ïîëüçîâàòåëåé . Ñåòü èç n ïîëüçîâàòåëåé òðåáóåò n{n - l)/2 êëþ÷åé. Íàïðèìåð, äëÿ îáùåíèÿ 10 ïîëüçîâàòåëåé ìåæäó ñîáîé íóæíî 45 ðàçëè÷íûõ êëþ÷åé, äëÿ 100 ïîëüçîâàòåëåé ïîòðåáóåòñÿ 4950 êëþ÷åé. Ðåøåíèå ïðîáëåìû - â óìåíüøåíèè ÷èñëà ïîëüçîâàòåëåé, íî ýòî íå âñåãäà âî çìîæíî.
2.3 Îäíîíàïðàâëåííûå ôóíêöèè Ïîíÿòèå îäíîíàïðàâëåííîé ôóíêöèè ÿâëÿåòñÿ öåíòðàëüíûì â êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè . Íå ÿâëÿÿñü ïðîòîêîëàìè íåïîñðåäñòâåííî îäíîíàïðàâëåííûå ôóíêöèè ïðåäñòàâëÿþò ñîáîé êðàåóãîëüíûé êàìåíü áîëüøèíñòâà ïðîòîêîëîâ, îáñóæäàåìûõ â ýòîé êíèãå . Îäíîíàïðàâëåííûå ôóíêöèè îòíîñèòåëüíî ëåãêî âû÷èñëÿþòñÿ, íî èíâåðòèðóþòñÿ ñ áîëüøèì òðóäîì . Òî åñòü, çíàÿ x ïðîñòî ðàññ÷èòàòü f(x), íî ïî èçâåñòíîìó f(x) íåëåãêî âû÷èñëèòü x. Çäåñü, "íåëåãêî" îçíà÷àåò, ÷òî äëÿ âû÷èñëåíèÿ x ïî f(x) ìîãóò ïîòðåáîâàòüñÿ ìèëëèîíû ëåò, äàæå åñëè íàä ýòîé ïðîáëåìîé áóäóò áèòüñÿ âñå êîìïü þòåðû ìèðà. Õîðîøèì ïðèìåðîì îäíîíàïðàâëåííîé ôóíêöèè ñëóæèò ðàçáèòàÿ òàðåëêà . Ëåãêî ðàçáèòü òàðåëêó íà òûñÿ÷ó êðîøå÷íûõ êóñî÷êîâ.. Îäíàêî, íåëåãêî ñíîâà ñëîæèòü òàðåëêó èç ýòèõ êóñî÷êîâ .
Ýòî çâó÷èò êðàñèâî, íî òóìàííî è íåïîíÿòíî. Ìàòåìàòè÷åñêè ñòðîãîãî äîêàçàòåëüñòâà ñóùåñòâîâàíèÿ îäí îíàïðàâëåííûõ ôóíêöèé íåò, íåò è ðåàëüíûõ ñâèäåòåëüñòâ âîçìîæíîñòè èõ ïîñòðîåíèÿ [230, 530, 600, 661]. Íåñìîòðÿ íà ýòî, ìíîãèå ôóíêöèè âûãëÿäÿò â òî÷íîñòè êàê îäíîíàïðàâëåííûå : ìû ìîæåì ðàññ÷èòàòü èõ è, äî ñèõ ïîð, íå çíàåì ïðîñòîãî ñïîñîáà èíâåðòèðîâàòü èõ . Íàïðèìåð, â îãðàíè÷åííîé îêðåñòíîñòè ëåãêî âû÷èñëèòü x2, íî íàìíîãî ñëîæíåå x1/2.  îñòàâøåéñÿ ÷àñòè ðàçäåëà ÿ ñîáèðàþñü ïðèòâîðèòüñÿ, ÷òî îäíîíàïðàâëåííûå ôóí êöèè ñóùåñòâóþò. Ìû ïîãîâîðèì îá ýòîì â åùå ðàçäåëå 1 1.2. Èòàê, ÷òî æå õîðîøåãî â îäíîíàïðàâëåííûõ ôóíêöèÿõ ? Íåïîñðåäñòâåííî èõ íåëüçÿ èñïîëüçîâàòü äëÿ øè ôðîâàíèÿ. Ñîîáùåíèå, çàøèôðîâàííîå îäíîíàïðàâëåííîé ôóíêöèåé áåñïîëåçíî - åãî íåâîçìîæíî äåøèôðîâàòü . (Óïðàæíåíèå: íàïèøèòå íà òàðåëêå ÷òî-íèáóäü, ðàçáåéòå òàðåëêó íà êðîøå÷íûå îñêîëêè è çàòåì îòäàéòå èõ ïðèÿòåëþ. Ïîïðîñèòå åãî ïðî÷èòàòü ñîîáùåíèå . Ïîñìîòðèòå, êàê îí áóäåò îçàäà÷åí îäíîíàïðàâëåííîé ôóíêö èåé.) Äëÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè íàì íóæíî ÷òî-òî äðóãîå (õîòÿ ñóùåñòâóþò è íåïîñðåäñòâåííûå êðèïòîãðàôè÷åñêèå ïðèìåíåíèÿ îäíîíàïðàâëåííûõ ôóíêöèé - ñì. ðàçäåë 3.2). Îäíîíàïðàâëåííàÿ ôóíêöèÿ ñ ëþêîì - ýòî îñîáûé òèï îäíîíàïðàâëåííîé ôóíêöèè, ñ ñåêðåòíîé ëàçåéêîé . Åå ëåãêî âû÷èñëèòü â îäíîì íàïðàâëåíèè è òðóäíî - â îáðàòíîì . Íî åñëè âàì èçâåñòåí ñåêðåò, âû ìîæåòå ëåãêî ðàññ÷èòàòü è îáðàòíóþ ôóíêöèþ . Òî åñòü, ëåãêî âû÷èñëèòü f(x) ïî çàäàííîìó x, íî òðóäíî ïî èçâåñòíîìó f(x) âû÷èñëèòü x. Îäíàêî, ñóùåñòâóåò íåáîëüøàÿ ñåêðåòíàÿ èíôîðìàöèÿ , y, ïîçâîëÿþùàÿ, ïðè çíàíèè f(x) è y, ëåãêî âû÷èñëèòü x.  êà÷åñòâå õîðîøåãî ïðèìåðà îäíîíàïðàâëåííîé ôóíêöèè ñ ëþêîì ðàññìîòðèì ÷àñû . Ëåãêî ðàçîáðàòü ÷àñû íà ñîòíè ìàëþñåíüêèõ êóñî÷êîâ è òðóäíî ñíîâà ñîáðàòü èç ýòèõ äåòàëåé ðàáîòàþùèå ÷àñû . Íî, ñ ñåêðåòíîé èíôîðìàöèåé - èíñòðóêöèåé ïî ñáîðêå - íàìíîãî ëåã÷å ðåøèòü ýòó çàäà÷ó .
2.4 Îäíîíàïðàâëåííûå õýø-ôóíêöèè Ó îäíîíàïðàâëåííîé õýø-ôóíêöèè ìîæåò áûòü ìíîæåñòâî èìåí: ôóíêöèÿ ñæàòèÿ, ôóíêöèÿ ñîêðàùåíèÿ contraction function, êðàòêîå èçëîæåíèå, õàðàêòåðíûé ïðèçíàê, êðèïòîãðàôè÷åñêàÿ êîíòðîëüíàÿ ñóììà , êîä öåëîñòíîñòè ñîîáùåíèÿ (message integrity check, MIC) è êîä îáíàðóæåíèÿ ìàíèïóëÿöèè ( manipulation detection code, MDC). Êàê áû îíà íå íàçûâàëàñü ýòà ôóíêöèÿ ÿâëÿåòñÿ öåíòðàëüíîé â ñîâðåìåííîé êðèïòîãðàôèè . Îäíîíàïðàâëåííûå õýø-ôóíêöèè - ýòî äðóãàÿ ÷àñòü ôóíäàìåíòà ìíîãèõ ïðîòîêîëîâ . Õýø-ôóíêöèè, äîëãîå âðåìÿ èñïîëüçóþùèåñÿ â êîìïüþòåðíûõ íàóêàõ, ïðåäñòàâëÿþò ñîáîé ôóíêöèè, ìàò åìàòè÷åñêèå èëè èíûå, êîòîðûå ïîëó÷àþò íà âõîä ñòðîêó ïåðåìåííîé äëèíû (íàçûâàåìóþ ïðîîáðàçîì) è ïðåîáðàçóþò åå â ñòðîêó ôèêñèðîâàííîé, îáû÷íî ìåíüøåé, äëèíû (íàçûâàåìóþ çíà÷åíèåì õýø -ôóíêöèè).  êà÷åñòâå ïðîñòîé õýø-ôóíêöèè ìîæíî ðàññìàòðèâàòü ôóíêöèþ, êîòîðàÿ ïîëó÷àåò ïðîîáðàç è âîçâðàùàåò áàéò, ïðåäñòà âëÿþùèé ñîáîé XOR âñåõ âõîäíûõ áàéòîâ. Ñìûñë õýø-ôóíêöèè ñîñòîèò â ïîëó÷åíèè õàðàêòåðíîãî ïðèçíàêà ïðîîáðàçà - çíà÷åíèÿ, ïî êîòîðîìó àíàë èçèðóþòñÿ ðàçëè÷íûå ïðîîáðàçû ïðè ðåøåíèè îáðàòíîé çàäà÷è . Òàê êàê îáû÷íî õýø-ôóíêöèÿ ïðåäñòàâëÿåò ñîáîé ñîîòíîøåíèå "ìíîãèå ê îäíîìó", íåâîçìîæíî ñî âñåé îïðåäåëåííîñòüþ ñêàçàòü, ÷òî äâå ñòðîêè ñîâïàäàþò, íî èõ ìîæíî èñïîëüçîâàòü, ïîëó÷àÿ ïðèåìëåìóþ îöåíêó òî÷íîñòè . Îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ - ýòî õýø-ôóíêöèÿ, êîòîðàÿ ðàáîòàåò òîëüêî â îäíîì íàïðàâëåíèè : ëåãêî âû÷èñëèòü çíà÷åíèå õýø-ôóíêöèè ïî ïðîîáðàçó, íî òðóäíî ñîçäàòü ïðîîáðàç, çíà÷åíèå õýø -ôóíêöèè êîòîðîãî ðàâíî çàäàííîé âåëè÷èíå. Óïîìèíàâøèåñÿ ðàíåå õýø-ôóíêöèè, âîîáùå ãîâîðÿ, íå ÿâëÿþòñÿ îäíîíàïðàâëåíí ûìè: çàäàâ êîíêðåòíûé áàéò, íå ïðåäñòàâëÿåò òðóäà ñîçäàòü ñòðîêó áàéòîâ, XOR êîòîðûõ äàåò çàäàííîå çíà÷åíèå . Ñ îäíîíàïðàâëåííîé õýø-ôóíêöèåé òàêîãî íå âûéäåò. Õîðîøåé îäíîíàïðàâëåííîé õýø -ôóíêöèåé ÿâëÿåòñÿ õýø-ôóíêöèÿ áåç ñòîëêíîâåíèé - òðóäíî ñîçäàòü äâà ïðîîáðàçà ñ îäèíàêîâûì çíà÷åíèåì õýø -ôóíêöèè. Õýø-ôóíêöèÿ ÿâëÿåòñÿ îòêðûòîé, òàéíû åå ðàñ÷åòà íå ñóùåñòâóåò . Áåçîïàñíîñòü îäíîíàïðàâëåííîé õýø-ôóíêöèåé çàêëþ÷àåòñÿ èìåííî â åå îäíîíàïðàâëåííîñòè. Ó âûõîäà íåò âèäèìîé çàâèñèìîñòè îò âõîäà . Èçìåíåíèå îäíîãî áèòà ïðîîáðàçà ïðèâîäè ê èçìåíåíèþ, â ñðåäíåì, ïîëîâèíû áèòîâ çíà÷åíèÿ õýø -ôóíêöèè. Âû÷èñëèòåëüíî íåâîçìîæíî íàéòè ïðîîáðàç, ñîîòâåòñòâóþùèé çàäàííîìó çíà÷åíèþ õýø -ôóíêöèè. Ïîñìîòðèòå íà ýòî êàê íà ñïîñîá ïîëó÷èòü õàðàêòåðíûå ïðèçíàêè ôàéëîâ . Åñëè âû õîòèòå ïðîâåðèòü, ÷òî ó êîãî-òî åñòü òîò æå ôàéë, ÷òî è ó âàñ, íî âû íå õîòèòå, ÷òîáû ýòîò ôàéë áûë ïåðåäàí âàì, ïîïðîñèòå ïîñëàòü âàì çíà÷åíèå õýø-ôóíêöèè. Åñëè ïðèñëàííîå çíà÷åíèå õýø-ôóíêöèè ñîâïàäåò ñ ðàññ÷èòàííûì âàìè, òî ïî÷òè í àâåðíÿêà ÷óæîé ôàéë ñîâïàäàåò ñ âàøèì . Ýòî îñîáåííî ïîëåçíî ïðè ôèíàíñîâûõ òðàíçàêöèÿõ , êîãäà âû íå õîòèòå ãäå-òî â ñåòè ïðåâðàòèòü ñíÿòèå ñî ñ÷åòà $100 â ñíÿòèå $1000.  îáû÷íûõ óñëîâèÿõ âû ìîæåòå èñïîëüçîâàòü îäíîíàïðàâëåííóþ õýø-ôóíêöèþ áåç êëþ÷à, òàê ÷òî êòî óãîäíî ìîæåò ïðîâåðèòü çíà÷åíèå õýø -ôóíêöèè. Åñëè íóæíî, ÷òîáû ïðîâåðèòü çíà÷åíèå õýø-ôóíêöèè ìîã òîëüêî îäèí ïîëó÷àòåëü, ïðî÷òèòå ñëåäóþùèé ðàçäåë . Êîäû ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ Êîä ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ (message authentication code, MAC), èçâåñòíûé òàêæå êàê êîä ïðî-
âåðêè ïîäëèííîñòè äàííûõ (data authentication code, DAG), ïðåäñòàâëÿåò ñîáîé îäíîíàïðàâëåííóþ õýø-ôóíêöèþ ñ äîáàâëåíèåì ñåêðåòíîãî êëþ÷à (ñì. ðàçäåë 18.14). Çíà÷åíèå õýø-ôóíêöèè ÿâëÿåòñÿ ôóíêöèåé è ïðîîáðàçà, è êëþ÷à. Òåîðèÿ îñòàåòñÿ òîé æå, ÷òî è äëÿ õýø -ôóíêöèé, íî òîëüêî òîò, êòî çíàåò êëþ÷, ìîæåò ïðîâåðèòü çíà÷ åíèå õýø-ôóíêöèè. MAC ìîæíî ñîçäàòü ñ ïîìîùüþ õýø-ôóíêöèè èëè áëî÷íîãî àëãîðèòìà øèôðîâàíèÿ, ñóùåñ òâóþò òàêæå è ñïåöèàëèçèðîâàííûå MAC.
2.5 Ïåðåäà÷à èíôîðìàöèè ñ èñïîëüçîâàíèåì êðèïòîãðàôèè ñ îòêðûòûìè êë þ÷àìè Âçãëÿíèòå íà ñèììåòðè÷íûé àëãîðèòì êàê íà ñåéô. Êëþ÷ ÿâëÿåòñÿ êîìáèíàöèåé. Çíàþùèé êîìáèíàöèþ ÷ åëîâåê ìîæåò îòêðûòü ñåéô, ïîëîæèòü â íåãî äîêóìåíò è ñíîâà çàêðûòü. Êòî-òî äðóãîé ïðè ïîìîùè òîé æå êî ìáèíàöèè ìîæåò îòêðûòü ñåéô è çàáðàòü äîêóìåíò . Òåì, êòî íå çíàåò êîìáèíàöèè, ïðèäåòñÿ íàó÷èòüñÿ âçëàì ûâàòü ñåéôû.  1976 ãîäó Óèòôèëä Äèôôè è Ìàðòèí Õåëëìàí íàâñåãäà èçìåíèëè ýòó ïàðàäèãìó êðèïòîãðàôèè [496]. (NSA çàÿâèëî, ÷òî çíàëî î òàêîé âîçìîæíîñòè åùå â 1966 ãîäó, íî äîêàçàòåëüñòâ íå ïðåäñòàâèëî .) Îíè îïèñàëè êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, èñïîëüçóÿ äâà ðàçëè÷íûõ êëþ÷à - îäèí îòêðûòûé è îäèí çàêðûòûé . Îïðåäåëåíèå çàêðûòîãî êëþ÷à ïî îòêðûòîìó òðåáóåò îãðîìíûõ âû÷èñëèòåëüíûõ çàòðàò. Êòî óãîäíî, èñïîëüçóÿ îòêðûòûé êëþ÷ ìîæåò çàøèôðîâàòü ñîîáùåíèå, íî íå ðàñøèôðîâàòü åãî. Ðàñøèôðîâàòü ñîîáùåíèå ìîæåò òîëüêî âëàäåëåö çàêðûòîãî êëþ÷à . Ýòî ïîõîæå íà ïðåâðàùåíèå êðèïòîãðàôè÷åñêîãî ñåéôà â ïî÷òîâûé ÿùèê . Øèôðîâàíèå ñ îòêðûòûì êëþ÷îì àíàëîãè÷íî îïóñêàíèþ ïèñüìà â ïî÷òîâûé ÿùèê, ëþáîé ìîæåò ñäåëàòü ýòî, îïóñòèâ ïèñüìî â ïðîðåçü ïî÷òîâîãî ÿùèêà . Äåøèôðèðîâàíèå ñ çàêðûòûì êëþ÷îì íàïîìèíàåò èçâëå÷åíèå ïî ÷òû èç ïî÷òîâîãî ÿùèêà. Îáû÷íî ýòî ãîðàçäî ñëîæíåå - âàì ìîæåò ïîíàäîáèòüñÿ ñâàðî÷íûé àãðåãàò . Îäíàêî, åñëè âû çíàåòå ñåêðåò (ó âàñ åñòü êëþ÷ îò ïî÷òîâîãî ÿùèêà ), âû áåç òðóäà äîñòàíåòå âàøó ïî÷òó . Ìàòåìàòè÷åñêîé îñíîâîé ïðîöåññà ÿâëÿþòñÿ ðàíåå îáñóæäàâøèåñÿ îäíîíàïðàâëåííûå õýø-ôóíêöèè ñ ëþêîì. Øèôðîâàíèå âûïîëíÿåòñÿ â ïðÿìîì íàïðàâëåíèè . Óêàçàíèÿ ïî øèôðîâàíèþ îòêðûòû, êàæäûé ìîæåò çàøèôðîâàòü ñîîáùåíèå. Äåøèôðèðîâàíèå âûïîëíÿåòñÿ â îáðàòíîì íàïðàâëåíèè . Îíî íàñòîëüêî òðóäîåìêî, ÷òî, íå çíàÿ ñåêðåòà, äàæå íà êîìïüþòåðàõ Cray çà òûñÿ÷è (è ìèëëèîíû) ëåò íåâîçìîæíî ðàñøèôðîâàòü ñîî áùåíèå. Ñåêðåòîì, èëè ëþêîì, è ñëóæèò çàêðûòûé êëþ÷, îí äåëàåò äåøèôðèðîâàíèå òàêèì æå ïðîñòûì, êàê è øèôðîâàíèå. Âîò êàê, èñïîëüçóÿ êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, Àëèñà ìîæåò ïîñëàòü ñîîáùåíèå Áîáó : (1) Àëèñà è Áîá ñîãëàñîâûâàþò êðèïòîñèñòåìó ñ îòêðûòûìè êëþ÷àìè. (2) Áîá ïîñûëàåò Àëèñå ñâîé îòêðûòûé êëþ÷. (3) Àëèñà øèôðóåò ñâîå ñîîáùåíèå è îòïðàâëÿåò åãî Áîáó. (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. Îáðàòèòå âíèìàíèå, ÷òî êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè óñòðàíÿåò ïðîáëåìó ðàñïðåäåëåíèÿ êëþ÷åé, ïðèñóùóþ ñèììåòðè÷íûì êðèïòîñèñòåìàì . Ðàíüøå Àëèñà è Áîá äîëæíû áûëè òàéíî äîãîâîðèòüñÿ î êëþ÷å . Àëèñà ìîãëà âûáðàòü ëþáîé êëþ÷, íî åé íóæíî áûëî ïåðåäàòü åãî Áîáó. Îíà ìîãëà ñäåëàòü ýòî çàðàíåå, íî ýòî òðåáóåò îò íåå îïðåäåëåííîé ïðåäóñìîòðèòåëüíîñòè . Îíà ìîãëà áû ïîñëàòü êëþ÷ ñ ñåêðåòíûì êóðüåðîì, íî äëÿ ýòîãî íóæíî âðåìÿ. Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè âñå óïðîùàåò. Àëèñà ìîæåò îòïðàâèòü Áîáó ñåêðåòíîå ñîîáùåíèå áåç êàêèõ-ëèáî ïðåäâàðèòåëüíûõ äåéñòâèé . Ó Åâû, ïîäñëóøèâàþùåé àáñîëþòíî âñå, åñòü îòêðûòûé êëþ÷ Áîáà è ñîîáùåíèå, çàøèôðîâàííîå ýòèì êëþ÷îì, íî îíà íå ñìîæåò ïîëó÷èòü íè çàêðûòûé êëþ÷ Áîáà, íè òåêñò ñîîáùåíèÿ. Îáû÷íî öåëàÿ ñåòü ïîëüçîâàòåëåé ñîãëàñîâûâàåò èñïîëüçóåìóþ êðèïòîñèñòåìó . Ó êàæäîãî èç íèõ åñòü îòêðûòûé è çàêðûòûé êëþ÷, îòêðûòûå êëþ÷è ïîìåùàþòñÿ â îáùåäîñòóïíîé áàçå äàííûõ . Òåïåðü ïðîòîêîë âûãëÿäèò åùå ïðîùå: (1) Àëèñà èçâëåêàåò îòêðûòûé êëþ÷ Áîáà èç áàçû äàííûõ. (2) Àëèñà øèôðóåò ñâîå ñîîáùåíèå ñ ïîìîùüþ îòêðûòîãî êëþ÷à Áîáà è ïîñûëàåò åãî Áîáó. (3) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à.  ïåðâîì ïðîòîêîëå Áîá äîëæåí áûë ïîñëàòü Àëèñå åå îòêðûòûé êëþ÷ ïðåæäå, ÷åì îíà ìîãëà îòïðàâèòü åìó ñîîáùåíèå. Âòîðîé ïðîòîêîë áîëüøå ïîõîæ íà îáû÷íóþ ïî÷òó. Áîá íå ó÷àñòâóåò â ïðîòîêîëå äî òåõ ïîð, ïîêà îí íå íà÷íåò ÷èòàòü ñîîáùåíèå. Ñìåøàííûå êðèïòîñèñòåìû Ïåðâûå àëãîðèòìû ñ îòêðûòûì êëþ÷îì ñòàëè èçâåñòíû â òî æå âðåìÿ, êîãäà ïðîõîäèëî DES îáñóæäåíèå êàê ïðåäïîëàãàåìîãî ñòàíäàðòà. Ýòî ïðèâåëî ê èçâåñòíîé ïàðòèçàíùèíå â êðèïòîãðàôè÷åñêîì ñîîáùåñòâå . Êàê ýòî îïèñûâàë Äèôôè [494]:
Ïðåêðàñíûå êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì, îáñóæäàåìûå â ïîïóëÿðíîé è íàó÷íîé ïå÷àòè, òåì íå ìåíåå, íå íàøëè ñîîòâåòñòâóþùåãî îòêëèêà ñðåäè êðèïòîãðàôè÷åñêèõ ÷èíîâíèêîâ .  òîì æå ãîäó, êîãäà áûëà îòêðûòà êðèïòîãðàôèÿ ñ îòêð ûòûìè êëþ÷àìè, Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè ( NSA) ïðåäëîæèëî óäîáíóþ êðèïòîãðàôè÷åñêóþ ñèñòåìó , ðàçðàáîòàííóþ ôèðìîé IBM, â êà÷åñòâå ôåäåðàëüíîãî Ñòàíäàðòà øèôðîâàíèÿ äàííûõ (Data Encryption Standard, DES). Ìàðòè Õåëëìàí è ÿ êðèòèêîâàëè ýòî ïðåäëîæåíèå èç-çà íåäîñòàòî÷íîé äëèíû êëþ÷à, íî ïðîèçâîäèòåëè ïîäãîòîâèëèñü ïîääåðæàòü ñòàíäàðò, è íàøà êðèòèêà áûëà âîñïðèíÿòà ìíîãèìè êàê ïîïûòêà ïîìåøàòü ââåäåíèþ ñòàíäàðòà ðàäè ïðîäâèæåíèÿ íàøåé ñîáñòâåííîé ðàáîòû. Êðèïòîãðàôèÿ ñ îòêðûòûì êëþ÷îì, â ñâîþ î÷åðåäü, òàêæå ïîäâåðãàëàñü êðèòèêå â ïîïóëÿðíîé ëèòåð àòóðå [1125] è òåõíè÷åñêèõ ñòàòüÿõ [849, 1159], ñëîâíî ýòî áûë êîíêóðèðóþùèé ïðîäóêò, à íå íåäàâíåå íàó÷íîå îòêðûòèå . Ýòî, îäíàêî, íå ïîìåøàëî NSA îáúÿâèòü î ñâîèõ çàñëóãàõ â ýòîé îáëàñòè . Åãî äèðåêòîð â îäíîé èç ñòàòåé Encyclopedia Britannica [1461] óêàçàë, ÷òî "äâóõêëþ÷åâàÿ êðèïòîãðàôèÿ áûëà îòêðûòà â Àãåíòñòâå íà äåñÿòü ëåò ðàíüøå ", õîòÿ äîêàçàòåëüñòâà ýòîãî óòâåðæäåíèÿ íå áûëè ïóáëè÷íî ïðåäñòàâëåíû.
 ðåàëüíîì ìèðå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè íå çàìåíÿþò ñèììåòðè÷íûå àëãîðèòìû è èñïîëüçóþòñÿ íå äëÿ øèôðîâàíèÿ ñîîáùåíèé, à äëÿ øèôðîâàíèÿ êëþ÷åé ïî ñëåäóþùèì äâóì ïðè÷èíàì : 1. Àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè ðàáîòàþò ìåäëåííî. Ñèììåòðè÷íûå àëãîðèòìû ïî êðàéíåé ìåðå â 1000 ðàç áûñòðåå, ÷åì àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè . Äà, êîìïüþòåðû ñòàíîâÿòñÿ âñå áûñòðåå è áûñòðåå è ëåò ÷åðåç 15 êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè äîñòèãíåò ñêîðîñòåé, ñðàâíèìûõ ñ ñåã îäíÿøíåé ñêîðîñòüþ ñèììåòðè÷íîé êðèïòîãðàôèè . Íî òðåáîâàíèÿ ê îáúåìó ïåðåäàâàåìîé èíôîðìàöèè òàêæå âîçðàñòàþò, è âñåãäà áóäåò òðåáîâàòüñÿ øèôðîâàòü äàííûå áûñòðåå, ÷åì ýòî ñìîæåò ñäåëàòü êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè. 2. Êðèïòîñèñòåìû ñ îòêðûòûìè êëþ÷àìè óÿçâèìû ïî îòíîøåíèþ ê âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì. Åñëè C = E(P), ãäå P - îòêðûòûé òåêñò èç n âîçìîæíûõ îòêðûòûõ òåêñòîâ, òî êðèïòîàíàëèòèêó íóæíî òîëüêî çàøèôðîâàòü âñå n âîçìîæíûõ îòêðûòûõ òåêñòîâ è ñðàâíèòü ðåçóëüòàòû ñ C (ïîìíèòå, êëþ÷ øèôðîâàíèÿ îáùåäîñòóïåí ). Îí íå ñìîæåò ðàñêðûòü êëþ÷ äåøèôðèðîâàíèÿ, íî îí ñìîæåò îïðåäåëèòü P. Âñêðûòèå ñ âûáðàííûì îòêðûòûì òåêñòîì ìîæåò áûòü îñîáåííî ýôôåêòèâíûì, åñëè ÷èñëî âîçìîæíûõ øèôðîâàííûõ ñîîáùåíèé îòíîñèòåëüíî ìàëî . Íàïðèìåð, åñëè P - ýòî äåíåæíàÿ ñóììà â äîëëàðàõ, ìåíüøàÿ ÷åì $1000000, òî òàêîå âñêðûòèå ñðàáîòàåò, êðèïòîàíàëèòèê ïåðåáåðåò âåñü ìèëëèîí çíà÷åíèé . (Ýòà ïðîáëåìà ðåøàåòñÿ ñ ïîìîùüþ âåðîÿòíîñòíîãî øèôðîâàíèÿ, ñì. ðàçäåë 23.15.) Äàæå åñëè P íå òàê õîðîøî îïðåäåëåíî, òàêîå âñêðûòèå ìîæåò áûòü î÷åíü ýôôåêòèâíî . Ïîëåçíûì ìîæåò áûòü ïðîñòîå çíàíèå, ÷òî øèôðîòåêñò íå ñîî òâåòñòâóåò êîíêðåòíîìó îòêðûòîìó òåêñòó . Ñèììåòðè÷íûå êðèïòîñèñòåìû íå ÷óâñòâèòåëüíû ê âñêðûòèÿì òàêîãî òèïà, òàê êàê êðèïòîàíàëèòèê íå ìîæåò âûïîëíèòü òåñòîâûõ äåøèôðîâîê ñ íåèçâåñòíûì êëþ÷îì .  áîëüøèíñòâå ðåàëèçàöèé êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè èñïîëüçóåòñÿ äëÿ çàñåêðå÷èâàíèÿ è ðàñïð îñòðàíåíèÿ ñåàíñîâûõ êëþ÷åé, êîòîðûå èñïîëüçóþòñÿ ñèììåòðè÷íûìè àëãîðèòìàìè äëÿ çàêðûòèÿ ïîòîêà ñîîáùåíèé [879]. Èíîãäà òàêèå ðåàëèçàöèè íàçûâàþòñÿ ñìåøàííûìè (ãèáðèäíûìè) êðèïòîñèñòåìàìè (1) Áîá ïîñûëàåò Àëèñå ñâîé îòêðûòûé êëþ÷ (2) Àëèñà ñîçäàåò ñëó÷àéíûé ñåàíñîâûé êëþ÷, øèôðóåò åãî ñ ïîìîùüþ îòêðûòîãî êëþ÷à Áîáà è ïåðåäàåò åãî Áîáó. EB(K) (3) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, äëÿ ïîëó÷åíèÿ ñåàíñîâîãî êëþ÷à. DB(EB(K))=K (4) Îáà ó÷àñòíèêà øèôðóþò ñâîè ñîîáùåíèÿ ñ ïîìîùüþ îäíîãî ñåàíñîâîãî êëþ÷à. Èñïîëüçîâàíèå êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè äëÿ ðàñïðåäåëåíèÿ êëþ÷åé ðåøàåò î÷åíü âàæíóþ ïð îáëåìó ðàñïðåäåëåíèÿ êëþ÷åé.  ñèììåòðè÷íîé êðèïòîãðàôèè êëþ÷ øèôðîâàíèÿ äàííûõ, åñëè îí íå èñïîëüç óåòñÿ, âàëÿåòñÿ áåç äåëà. Åñëè Åâà çàïîëó÷èò åãî, îíà ñìîæåò ðàñøèôðîâàòü âñå çàêðûòûå ýòèì êëþ÷îì ñîîáù åíèÿ. Ñ ïîìîùüþ ïðèâåäåííîãî ïðîòîêîëà ïðè íåîáõîäèìîñòè çàøèôðîâàòü ñîîáùåíèÿ ñîçäàåòñÿ ñåàíñîâûé êëþ÷, êîòîðûé óíè÷òîæàåòñÿ ïî îêîí÷àíèè ñåàíñà ñâÿçè . Ýòî çíà÷èòåëüíî óìåíüøàåò ðèñê êîìïðîìåòàöèè ñ åàíñîâîãî êëþ÷à. Êîíå÷íî, ê êîìïðîìåòàöèè ÷óâñòâèòåëåí è çàêðûòûé êëþ÷, íî ðèñêà çíà÷èòåëüíî ìåíüøå, òàê êàê â òå÷åíèå ñåàíñà ýòîò êëþ÷ èñïîëüçóåòñÿ òîëüêî îäèí ðàç äëÿ øèôðîâàíèÿ ñåàíñîâîãî êëþ÷à . Ïîäðîáíî ñâÿçàííûå ñ ýòèì âîïðîñû îáñóæäàþòñÿ â ðàçäåëå 3.1. Ãîëîâîëîìêè Ìåðêëà Ðàëüô Ìåðêë (Ralph Merkle) èçîáðåë ïåðâóþ ñõåìó êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè .  1974 ãîäó îí çàïèñàëñÿ íà êóðñ ïî êîìïüþòåðíîé áåçîïàñíîñòè â Êàëèôîðíèéñêîì óíèâåðñèòåòå, Áåðêëè , êîòîðûé âåë Ëàíñ Õîôôìàí (Lance Hoffman). Òåìîé åãî êóðñîâîé ðàáîòû, ïîäàííîé ðàíüøå ñðîêà, áûëà "Áåçîïàñíàÿ ïåðåäà÷à äàííûõ ïî íåáåçîïàñíûì êàíàëàì " [1064]. Õîôôìàí íå ïîíÿë ïðåäëîæåíèÿ Ìåðêëà, è â êîíöå êîíöîâ Ìåðêë ïðåêðàòèë çàíÿòèÿ. Îí ïðîäîëæàë ðàáîòàòü íàä ïðîáëåìîé íåñìîòðÿ íà ïðîäîëæàþùååñÿ íåïîíèìàíèå åãî ð åçóëüòàòîâ. Òåõíèêà Ìåðêëà îñíîâûâàëàñü íà ãîëîâîëîìêàõ ( "puzzle"), êîòîðûå îòïðàâèòåëþ è ïîëó÷àòåëþ ðåøèòü ëå ã-
÷å ÷åì çëîóìûøëåííèêó. Âîò êàê Àëèñà ìîæåò ïîñëàòü øèôðîâàííîå ñîîáùåíèå Áîáó, íå îáìåíèâàÿñü ñ íèì êëþ÷îì äî òîãî. (1) Áîá ñîçäàåò 2 20 (äðóãèìè ñëîâàìè, áîëüøå ìèëëèîíà) ñîîáùåíèé òèïà: "Ýòî ãîëîâîëîìêà íîìåð x. Ýòî ñåêðåòíûé êëþ÷ íîìåð y.", ãäå x - ñëó÷àéíîå ÷èñëî, à y - ñëó÷àéíûé ñåêðåòíûé êëþ÷. È x, è y îòëè÷àþòñÿ â êàæäîì ñîîáùåíèè. Èñïîëüçóÿ ñèììåòðè÷íûé àëãîðèòì, îí øèôðóåò êàæäîå ñîîáùåíèå ñâîèì 20 áè òíûì êëþ÷îì è âñå èõ îòïðàâëÿåò Àëèñå. (2) Àëèñà âûáèðàåò îäíî ñîîáùåíèå è ïðèñòóïàåò ê âñêðûòèþ ãðóáîé ñèëîé, ïûòàÿñü ïîëó÷èòü îòêðûòûé òåêñò. Ýòà ðàáîòà ÿâëÿåòñÿ îáúåìíîé, íî íå íåâîçìîæíîé. (3) Àëèñà øèôðóåò ñâîå ñåêðåòíîå ñîîáùåíèå ïðè ïîìîùè íåêîòîðîãî ñèììåòðè÷íîãî àëãîðèòìà ïîëó÷åííûì åþ êëþ÷îì è ïîñûëàåò ýòî ñîîáùåíèå Áîáó âìåñòå ñ x. (4) Áîá çíàåò, êàêîé ñåêðåòíûé êëþ÷ y îí èñïîëüçîâàë â ñîîáùåíèè x, ñëåäîâàòåëüíî îí ìîæåò ðàñøèôðîâàòü ñîîáùåíèå Àëèñû. Åâà ìîæåò âçëîìàòü ýòó ñèñòåìó, íî åé ïðèäåòñÿ âûïîëíèòü ãîðàçäî áîëüøå ðàáîòû ÷åì Àëèñå è Áîáó . Äëÿ ðàñêðûòèÿ ñîîáùåíèÿ íà ýòàïå (3) îíà äîëæíà áóäåò âñêðûòü ãðóáîé ñèëîé êàæäîå èç 2 20 ñîîáùåíèé, îòïðàâëåííûõ Áîáîì íà ýòàïå (1). Ñëîæíîñòü ýòîãî âñêðûòèÿ ñîñòàâèò 2 40. Çíà÷åíèÿ x òàêæå íå ïîìîãóò Åâå, âåäü îíè íà ýòàïå (1) ïðèñâîåíû ñëó÷àéíûì îáðàçîì .  îáùåì ñëó÷àå, âû÷èñëèòåëüíûå çàòðàòû Åâû áóäóò ðàâíû âîçâ åäåííûì â êâàäðàò âû÷èñëèòåëüíûì çàòðàòàì Àëèñû . Ýòî âûèãðûø (n ïî îòíîøåíèþ ê n2) íåâåëèê ïî êðèïòîãðàôè÷åñêèì ñòàíäàðòàì, íî ïðè îïðåäåëåííûõ óñë îâèÿõ ìîæåò áûòü äîñòàòî÷åí. Åñëè Àëèñà è Áîá ìîãóò ïðîâåðèòü äåñÿòü òûñÿ÷ êëþ÷åé â ñåêóíäó, êàæäîìó èç íèõ ïîòðåáóåòñÿ ìèíóòà äëÿ âûïîëíåíèÿ ñâîèõ äåéñòâèé è åùå îäíà ìèíóòà äëÿ ïåðåäà÷è ãîëîâîëîìîê îò Áîáà ê Àëèñå ïî ëèíèè ñâÿçè 1.544 Ìáèò/ñ. Åñëè âû÷èñëèòåëüíûå âîçìîæíîñòè Åâû ñðàâíèìû ñ ïðèâåäåííûìè, åé ïîòðåáóåòñÿ îêîëî ãîäà äëÿ âçëîìà ñèñòåìû. Äðóãèå àëãîðèòìû åùå áîëåå óñòîé÷èâû ê âñêðûòèþ .
2.6 Öèôðîâûå ïîäïèñè Ðóêîïèñíûå ïîäïèñè èçäàâíà èñïîëüçóþòñÿ êàê äîêàçàòåëüñòâî àâòîðñòâà äîêóìåíòà èëè, ïî êðàéíåé ìåðå, ñîãëàñèÿ ñ íèì. ×òî æå òàê ïðèòÿãàòåëüíî â ïîäïèñè [1392]? 1. Ïîäïèñü äîñòîâåðíà. Îíà óáåæäàåò ïîëó÷àòåëÿ äîêóìåíòà â òîì, ÷òî ïîäïèñàâøèé ñîçíàòåëüíî ïîäï èñàë äîêóìåíò. 2. Ïîäïèñü íåïîääåëüíà. Îíà äîêàçûâàåò, ÷òî èìåííî ïîäïèñàâøèé, è íèêòî èíîé, ñîçíàòåëüíî ïîäïèñàë äîêóìåíò. 3. Ïîäïèñü íå ìîæåò áûòü èñïîëüçîâàíà ïîâòîðíî. Îíà ÿâëÿåòñÿ ÷àñòüþ äîêóìåíòà, æóëèê íå ñìîæåò ïåðåíåñòè ïîäïèñü íà äðóãîé äîêóìåíò. 4. Ïîäïèñàííûé äîêóìåíò íåëüçÿ èçìåíèòü. Ïîñëå òîãî, êàê äîêóìåíò ïîäïèñàí, åãî íåâîçìîæíî èçì åíèòü. 5. Îò ïîäïèñè íå âîçìîæíî îòðå÷üñÿ. Ïîäïèñü è äîêóìåíò ìàòåðèàëüíû. Ïîäïèñàâøèé íå ñìîæåò âï îñëåäñòâèè óòâåðæäàòü, ÷òî îí íå ïîäïèñûâàë äîêóìåíò.  äåéñòâèòåëüíîñòè, íè îäíî èç ýòèõ óòâåðæäåíèé íå ÿâëÿåòñÿ ïîëíîñòüþ ñïðàâåäëèâûì . Ïîäïèñè ìîæíî ïîääåëàòü, ñâåñòè ñ îäíîãî ëèñòà áóìàãè íà äðóãîé, äîêóìåíòû ìîãóò áûòü èçìåíåíû ïîñëå ïîäïèñàíèÿ . Îäíàêî, ìû ìèðèìñÿ ñ ýòèìè ïðîáëåìàìè èç-çà òîãî, ÷òî ìîøåííè÷åñòâî çàòðóäíèòåëüíî è ìîæåò áûòü îáíàð óæåíî. Õîòåëîñü áû ðåàëèçîâàòü ÷òî-íèáóäü ïîäîáíîå è íà êîìïüþòåðàõ, íî åñòü ðÿä ïðîáëåì . Âî ïåðâûõ, êîìïüþòåðíûå ôàéëû ñêîïèðîâàòü íå ïðîñòî, à î÷åíü ïðîñòî . Äàæå åñëè ïîäïèñü ÷åëîâåêà òðóäíî ïîääåëàòü (íàïðèìåð, ãðàôè÷åñêîå èçîáðàæåíèå ðóêîïèñíîé ïîäïèñè), ìîæíî ëåãêî âûðåçàòü ïðàâèëüíóþ ïîäïèñü èç îäíîãî äîêóìå íòà è âñòàâèòü â äðóãîé. Ïðîñòîå íàëè÷èå òàêîé ïîäïèñè íè÷åãî íå îçíà÷àåò . Âî âòîðûõ, êîìïüþòåðíûå ôàéëû î÷åíü ëåãêî ìîæíî èçìåíèòü ïîñëå òîãî, êàê îíè ïîäïèñàíû, íå îñòàâëÿÿ íè ìàëåéøåãî ñëåäà èçìåíåíèÿ . Ïîäïèñü äîêóìåíòà ñ ïîìîùüþ ñèììåòðè÷íûõ êðèïòîñèñòåì è ïîñðåäíèêà Àëèñà õî÷åò ïîäïèñàòü öèôðîâîå ñîîáùåíèå è îòïðàâèòü åãî Áîáó. Îíà ìîæåò ýòî ñäåëàòü ñ ïîìîùüþ Òðå íòà è ñèììåòðè÷íîé êðèïòîñèñòåìû. Òðåíò - ýòî îáëàäàþùèé âëàñòüþ ïîñðåäíèê, êîòîðîìó äîâåðÿþò . Îí ìîæåò ñâÿçûâàòüñÿ è ñ Àëèñîé, è ñ Á îáîì (è ñî âñåìè äðóãèìè æåëàþùèìè ïîäïèñûâàòü öèôðîâûå äîêóìåíòû ). Îí âûäàåò ñåêðåòíûé êëþ÷, KA, Àëèñå è äðóãîé ñåêðåòíûé êëþ÷, KB, - Áîáó. Ýòè êëþ÷è îïðåäåëÿþòñÿ çàäîëãî äî íà÷àëà äåéñòâèÿ ïðîòîêîëà è ìîãóò áûòü èñïîëüçîâàíû ìíîãîêðàòíî äëÿ ìíîãèõ ïîäïèñåé . (1) Àëèñà øèôðóåò ñâîå ñîîáùåíèå Áîáó êëþ÷îì KA è ïîñûëàåò åãî Òðåíòó.
(2) Òðåíò, çíàÿ êëþ÷ KA, ðàñøèôðîâûâàåò ñîîáùåíèå. (3) Òðåíò äîáàâëÿåò ê ðàñøèôðîâàííîìó ñîîáùåíèþ óòâåðæäåíèå, ÷òî îí ïîëó÷èë ýòî ñîîáùåíèå îò Àëèñû, è øèôðóåò ýòî íîâîå ñîîáùåíèå êëþ÷îì KB. (4) Òðåíò ïîñûëàåò íîâîå ñîîáùåíèå Áîáó. (5) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå êëþ÷îì KB. Îí ìîæåò ïðî÷èòàòü è ñîîáùåíèå Àëèñû, è ïîäòâåðæäåíèå Òðåíòà, ÷òî ñîîáùåíèå îòïðàâëåíî èìåííî Àëèñîé. Îòêóäà Òðåíò óçíàåò, ÷òî ñîîáùåíèå ïðèøëî èìåííî îò Àëèñû, à íå îò êàêîãî-òî ñàìîçâàíöà ? Îí äåëàåò ýòîò âûâîä èç øèôðîâàíèÿ ñîîáùåíèÿ . Òàêæå ëè ýòî õîðîøî, êàê ïîäïèñü íà áóìàãå? Ïîñìîòðèì íà òðåáóåìûå ñâîéñòâà: 1. Ýòà ïîäïèñü äîñòîâåðíà. Òðåíò - ýòî çàñëóæèâàþùèé äîâåðèÿ ïîñðåäíèê, è Òðåíò çíàåò, ÷òî ñîîáù åíèå ïîëó÷åíî îò Àëèñû. Ïîäòâåðæäåíèå Òðåíòà ñëóæèò äîêàçàòåëüñòâîì äëÿ Áîáà. 2. Ýòà ïîäïèñü íåïîääåëüíà. Òîëüêî Àëèñà (è Òðåíò, íî åìó âñå âåðÿò) çíàåò KA, ïîýòîìó òîëüêî Àëèñà ìîãëà ïîñëàòü Òðåíòó ñîîáùåíèå, çàøèôðîâàííîå êëþ÷îì KA. Åñëè êòî-íèáóäü ïîïûòàåòñÿ âûäàòü ñ åáÿ çà Àëèñó, Òðåíò ñðàçó çàìåòèò ýòî íà ýòàïå (2) è íå çàâåðèò ïîäëèííîñòü. 3. Ýòó ïîäïèñü íåëüçÿ èñïîëüçîâàòü ïîâòîðíî. Åñëè Áîá ïîïûòàåòñÿ âçÿòü ïîäòâåðæäåíèå Òðåíòà è ïð èñîåäèíèòü åãî ê äðóãîìó ñîîáùåíèþ, Àëèñà çàêðè÷èò "Êàðàóë!" Ïîñðåäíèê (Òðåíò èëè êòî-òî ñîâñåì äðóãîé, èìåþùèé äîñòóï ê òîé æå èíôîðìàöèè) ïîïðîñèò Áîáà ïðåäúÿâèòü åãî ñîîáùåíèå è øèôð îâàííîå ñîîáùåíèå Àëèñû. Çàòåì ïîñðåäíèê çàøèôðóåò ñîîáùåíèå êëþ÷îì KA è óâèäèò, ÷òî îíî íå ñîîòâåòñòâóåò øèôðîâàííîìó ñîîáùåíèþ, ïåðåäàííîìó Áîáîì . Áîá, êîíå÷íî æå, íå ñìîæåò ñîçäàòü ïð àâèëüíîå øèôðîâàííîå ñîîáùåíèå, ïîòîìó ÷òî îí íå çíàåò êë þ÷à KA. 4. Ïîäïèñàííûé äîêóìåíò íåëüçÿ èçìåíèòü. Åñëè Áîá ïîïûòàåòñÿ, ïîëó÷èâ äîêóìåíò, èçìåíèòü åãî, Òðåíò îáíàðóæèò ìîøåííè÷åñòâî óæå îïèñàííûì ñïîñîáîì. 5. Îò ïîäïèñè íåâîçìîæíî îòêàçàòüñÿ. Åñëè âïîñëåäñòâèè Àëèñà çàÿâèò, ÷òî îíà íèêîãäà íå ïîñûëàëà ñîîáùåíèå, ïîäòâåðæäåíèå Òðåíòà äîêàæåò îáðàòíîå. Ïîìíèòå, âñå äîâåðÿþò Òðåíòó, âñå, ñêàçàííîå èì - èñòèíà. Åñëè Áîá çàõî÷åò ïîêàçàòü Êýðîë äîêóìåíò, ïîäïèñàííûé Àëèñîé, îí íå ñìîæåò ðàñêðûòü åé ñâîé ñåêðåòíûé êëþ÷. Åìó ïðèäåòñÿ ñíîâà îáðàòèòüñÿ ê Òðåíòó: (1) Áîá áåðåò ñîîáùåíèå è óòâåðæäåíèå Òðåíòà, ÷òî ñîîáùåíèå ïîëó÷åíî îò Àëèñû, øèôðóåò èõ êëþ÷îì KB è ïîñûëàåò îáðàòíî Òðåíòó. (2) Òðåíò ðàñøèôðîâûâàåò ïîëó÷åííûé ïàêåò ñ ïîìîùüþ êëþ÷à KB. (3) Òðåíò ïðîâåðÿåò ñâîþ áàçó äàííûõ è ïîäòâåðæäàåò, ÷òî îòïðàâèòåëåì îðèãèíàëüíîãî ñîîáùåíèÿ áûëà Àëèñà. (4) Òðåíò øèôðóåò ïîëó÷åííûé îò Áîáà ïàêåò êëþ÷îì KC, êîòîðûé îí âûäåëèë äëÿ Êýðîë, è ïîñûëàåò Êýðîë øèôðîâàííûé ïàêåò. (5) Òðåíò ðàñøèôðîâûâàåò ïîëó÷åííûé ïàêåò ñ ïîìîùüþ êëþ÷à KC. Òåïåðü îíà ìîæåò ïðî÷èòàòü è ñîîáù åíèå, è ïîäòâåðæäåíèå Òðåíòà, ÷òî ñîîáùåíèå îòïðàâëåíî Àëèñîé. Ýòè ïðîòîêîëû ðàáîòàþò, íî îíè òðåáóþò îò Òðåíòà íåìàëûõ çàòðàò âðåìåíè. Îí äîëæåí öåëûìè äíÿìè ðàñøèôðîâûâàòü è øèôðîâàòü ñîîáùåíèÿ, ïîñðåäíè÷àÿ ìåæäó êàæäîé ïàðîé ëþäåé, êîòîðûå õîòÿò îáìåí èâàòüñÿ ïîäïèñàííûìè äîêóìåíòàìè . Îí äîëæåí õðàíèòü ñîîáùåíèÿ â áàçå äàííûõ (õîòÿ ýòîãî ìîæíî èçáåæàòü, ïîñûëàÿ ïîëó÷àòåëþ êîïèþ øèôðîâàííîãî ñîîáùåíèÿ îòïðàâèòåëÿ ). Îí áóäåò óçêèì ìåñòîì ëþáîé ñèñòåìû ñâÿçè, äàæå åñëè îí - ïðîñòî áåñ÷óâñòâåííàÿ êîìïüþòåðíàÿ ïðîãðàììà. . Òàêîãî ïîñðåäíèêà êàê Òðåíò, êîòîðîìó áóäóò äîâåðÿòü âñå êîððåñïîíäåíòû, òÿæåëî íàéòè è òÿæåëî ñîõð àíèòü. Òðåíò äîëæåí áûòü íåïîãðåøèì, åñëè îí ñäåëàåò õîòÿ áû îäíó îøèáêó íà ìèëëèîí ïîäïèñåé, íèêòî íå áóäåò âåðèòü åìó. Òðåíò äîëæåí áûòü àáñîëþòíî áåçîïàñåí . Åñëè åãî áàçà äàííûõ ñ ñåêðåòíûìè êëþ÷àìè êîãäàíèáóäü ðàñêðîåòñÿ, èëè êòî-íèáóäü ñìîæåò ïåðåïðîãðàììèðîâàòü åãî, âñå ïîäïèñè ñòàíóò áåñïîëåçíûìè . Ïîÿâÿòñÿ äîêóìåíòû áóäòî áû ïîäïèñàííûå ãîäû íàçàä . Ýòî ïðèâåäåò ê õàîñó. Ïðàâèòåëüñòâà ïàäóò, è ñòàíåò ïð àâèòü àíàðõèÿ. Òàêàÿ ñõåìà òåîðåòè÷åñêè ìîæåò ðàáîòàòü, íî îíà íåäîñòàòî÷íî õîðîøà äëÿ ïðàêòè÷åñêîãî ïð èìåíåíèÿ. Äåðåâüÿ öèôðîâûõ ïîäïèñåé Ðàëüô Ìåðêë ïðåäëîæèë ñèñòåìó öèôðîâûõ ïîäïèñåé, îñíîâàííóþ íà êðèïòîãðàôèè ñ ñåêðåòíûì êëþ÷îì, ñîçäàþùåé áåñêîíå÷íîå êîëè÷åñòâî îäíîðàçîâûõ ïîäïèñåé, èñïîëüçóÿ äðåâîâèäíóþ ñòðóêòóðó [1067,1068]. Îñíîâíîé èäååé ýòîé ñõåìû ÿâëÿåòñÿ ïîìåñòèòü êîðåíü äåðåâà â íåêèé îòêðûòûé ôàéë , óäîñòîâåðÿÿ åãî òàêèì îá-
ðàçîì. Êîðåíü ïîäïèñûâàåò îäíî ñîîáùåíèå è óäîñòîâåðÿåò ïîäóçëû äåðåâà . Êàæäûé èç ýòèõ óçëîâ ïîäïèñûâàåò îäíî ñîîáùåíèå è óäîñòîâåðÿåò ñâîè ïîäóçëû, è òàê äàëåå . Ïîäïèñü äîêóìåíòà ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Ñóùåñòâóþò àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè, êîòîðûå ìîæíî èñïîëüçîâàòü äëÿ öèôðîâûõ ïîäïèñåé.  í åêîòîðûõ àëãîðèòìàõ - ïðèìåðîì ÿâëÿåòñÿ RSA (ñì. ðàçäåë 19.3) - äëÿ øèôðîâàíèÿ ìîæåò áûòü èñïîëüçîâàí èëè îòêðûòûé, èëè çàêðûòûé êëþ÷. Çàøèôðóéòå äîêóìåíò ñâîèì çàêðûòûì êëþ÷îì, è âû ïîëó÷èòå íàäåæíóþ öè ôðîâóþ ïîäïèñü.  äðóãèõ ñëó÷àÿõ - ïðèìåðîì ÿâëÿåòñÿ DSA (ñì. ðàçäåë 20.1) - äëÿ öèôðîâûõ ïîäïèñåé èñïîëüçóåòñÿ îòäåëüíûé àëãîðèòì, êîòîðûé íåâîçìîæíî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ . Ýòà èäåÿ âïåðâûå áûëà èçîáðåòåíà Äèôôè è Õåëëìàíîì [496] è â äàëüíåéøåì áûëà ðàñøèðåíà è óãëóáëåíà â äðóãèõ ðàáîòàõ [1282, 1328, 1024, 1283, 426]. Õîðîøèé îáçîð ýòîé îáëàñòè ïðèâåäåí â [1099]. Îñíîâíîé ïðîòîêîë ïðîñò: (1) Àëèñà øèôðóåò äîêóìåíò ñâîèì çàêðûòûì êëþ÷îì, òàêèì îáðàçîì ïîäïèñûâàÿ åãî. (2) Àëèñà ïîñûëàåò ïîäïèñàííûé äîêóìåíò Áîáó. (3) Áîá ðàñøèôðîâûâàåò äîêóìåíò, èñïîëüçóÿ îòêðûòûé êëþ÷ Àëèñû, òàêèì îáðàçîì ïðîâåðÿÿ ïîäïèñü. Ýòîò ïðîòîêîë ãîðàçäî ëó÷øå ïðåäûäóùåãî. Òðåíò íå íóæåí íè äëÿ ïîäïèñè äîêóìåíòîâ, íè äëÿ åå ïðîâåðêè. (Îí íóæåí äëÿ ïîäòâåðæäåíèÿ, ÷òî îòêðûòûé êëþ÷ ïðèíàäëåæèò èìåííî Àëèñå .) Òðåíò íå íóæåí ñòîðîíàì äàæå äëÿ ðàçðåøåíèÿ ñïîðîâ: Åñëè Áîá íå ñìîã îñóùåñòâèòü ýòàï (3), òî îí çíàåò, ÷òî ïîäïèñü íåïðàâèëüíà. Òàêàÿ ïîäïèñü ñîîòâåòñòâóåò âñåì òðåáîâàíèÿì : 1. Ýòà ïîäïèñü äîñòîâåðíà. Êîãäà Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ îòêðûòîãî êëþ÷à Àëèñû, îí çíàåò ÷òî îíà ïîäïèñàëà ýòî ñîîáùåíèå. 2. Ýòà ïîäïèñü íåïîääåëüíà. Òîëüêî Àëèñà çíàåò ñâîé çàêðûòûé êëþ÷. 3. Ýòó ïîäïèñü íåëüçÿ èñïîëüçîâàòü ïîâòîðíî. Ïîäïèñü ÿâëÿåòñÿ ôóíêöèåé äîêóìåíòà è íå ìîæåò áûòü ïåðåíåñåíà íà äðóãîé äîêóìåíò. 4. Ïîäïèñàííûé äîêóìåíò íåëüçÿ èçìåíèòü. Ïîñëå ëþáîãî èçìåíåíèÿ äîêóìåíòà ïîäïèñü íå ñìîæåò áîëüøå ïîäòâåðæäàòüñÿ îòêðûòûì êëþ÷îì Àëèñû. 5. Îò ïîäïèñè íåâîçìîæíî îòêàçàòüñÿ. Áîáó íå òðåáóåòñÿ ïîìîùü Àëèñû ïðè ïðîâåðêå åå ïîäïèñè. Ïîäïèñü äîêóìåíòà è ìåòêè âðåìåíè Íà ñàìîì äåëå, ïðè îïðåäåëåííûõ óñëîâèÿõ Áîá ñìîæåò ñìîøåííè÷àòü . Îí ìîæåò ïîâòîðíî èñïîëüçîâàòü äîêóìåíò è ïîäïèñü ñîâìåñòíî. Ýòî íå èìååò çíà÷åíèÿ, åñëè Àëèñà ïîäïèñàëà êîíòðàêò (îäíîé êîïèåé ïîäïèñàííîãî êîíòðàêòà áîëüøå, îäíîé ìåíüøå ), íî ÷òî åñëè Àëèñà ïîñòàâèëà öèôðîâóþ ïîäïèñü ïîä ÷åêîì? Ïðåäïîëîæèì, ÷òî Àëèñà ïîñëàëà Áîáó ïîäïèñàííûé ÷åê íà $100. Áîá îòíåñ ÷åê â áàíê, êîòîðûé ïðîâåðèë ïîäïèñü è ïåðåâåë äåíüãè ñ îäíîãî ñ÷åòà íà äðóãîé. Áîá, âûñòóïàþùèé â ðîëè æóëèêà, ñîõðàíèë êîïèþ ýëå êòðîííîãî ÷åêà. Íà ñëåäóþùåé íåäåëå îí ñíîâà îòíåñ åãî â ýòîò èëè äðóãîé áàíê . Áàíê ïîäòâåðäèë ïîäïèñü è ïåðåâåë äåíüãè ñ îäíîãî ñ÷åòà íà äðóãîé . Åñëè Àëèñà íå ïðîâåðÿåò ñâîþ ÷åêîâóþ êíèæêó, Áîá ñìîæåò ïðîäåë ûâàòü ýòî ãîäàìè. Ïîýòîìó â öèôðîâûå ïîäïèñè ÷àñòî âêëþ÷àþò ìåòêè âðåìåíè . Äàòà è âðåìÿ ïîäïèñàíèÿ äîêóìåíòà äîáà âëÿþòñÿ ê äîêóìåíòó è ïîäïèñûâàþòñÿ âìåñòå ñî âñåì ñîäåðæàíèåì ñîîáùåíèÿ . Áàíê ñîõðàíÿåò ýòó ìåòêó âðåìåíè â áàçå äàííûõ. Òåïåðü, åñëè Áîá ïîïûòàåòñÿ ïîëó÷èòü íàëè÷íûå ïî ÷åêó Àëèñû âî âòîðîé ðàç, áàíê ïðîâåðèò ìåòêó âðåìåíè ïî ñâîåé áàçå äàííûõ . Òàê êàê áàíê óæå îïëàòèë ÷åê Àëèñû ñ òîé æå ìåòêîé âðåìåíè, òî áóäåò âûçâàíà ïîëèöèÿ. Çàòåì Áîá ïðîâåäåò ëåò 15 â òþðüìå Ëèâåíâîðò, èçó÷àÿ êðèïòîãðàôè÷åñêèå ïðîòîêîëû . Ïîäïèñü äîêóìåíòà ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè è îäíîíàïðàâëåííûõ õýøôóíêöèé Íà ïðàêòèêå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè ÷àñòî íåäîñòàòî÷íî ýôôåêòèâíû äëÿ ïîäïèñè áîëüøèõ äîê óìåíòîâ. Äëÿ ýêîíîìèè âðåìåíè ïðîòîêîëû öèôðîâîé ïîäïèñè íåðåäêî èñïîëüçóþò âìåñòå ñ îäíîíàïðàâëåííûìè õýø-ôóíêöèÿìè [432, 433]. Àëèñà ïîäïèñûâàåò íå äîêóìåíò, à çíà÷åíèå õýø-ôóíêöèè äëÿ äàííîãî äîêóìåíòà .  ýòîì ïðîòîêîëå îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ è àëãîðèòì öèôðîâîé ïîäïèñè ñîãëàñîâûâàþòñÿ çàðàíåå . (1) Àëèñà ïîëó÷àåò çíà÷åíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè äëÿ äîêóìåíòà. (2) Àëèñà øèôðóåò ýòî çíà÷åíèå ñâîèì çàêðûòûì êëþ÷îì, òàêèì îáðàçîì ïîäïèñûâàÿ äîêóìåíò. (3) Àëèñà ïîñûëàåò Áîáó äîêóìåíò è ïîäïèñàííîå çíà÷åíèå õýø-ôóíêöèè. (4) Áîá ïîëó÷àåò çíà÷åíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè äëÿ äîêóìåíòà, ïðèñëàííîãî Àëèñîé. Çàòåì, è ñïîëüçóÿ àëãîðèòì öèôðîâîé ïîäïèñè, îí ðàñøèôðîâûâàåò ïîäïèñàííîå çíà÷åíèå õýø-ôóíêöèè ñ ïîìîùüþ
îòêðûòîãî êëþ÷à Àëèñû. Åñëè ïîäïèñàííîå çíà÷åíèå õýø-ôóíêöèè ñîâïàäàåò ñ ðàññ÷èòàííûì, ïîäïèñü ïðàâèëüíà. Ñêîðîñòü çàìåòíî âîçðàñòàåò è, òàê êàê âåðîÿòíîñòü ïîëó÷èòü äëÿ äâóõ ðàçëè÷íûõ äîêóìåíòîâ îäèíàêîâîå 160-áèòíîå çíà÷åíèå õýø-ôóíêöèè ñîñòàâëÿ åò òîëüêî îäèí øàíñ èç 2 160, ìîæíî áåçîïàñíî ïðèðàâíÿòü ïîäïèñü çíà÷åíèÿ õýø-ôóíêöèè è ïîäïèñü äîêóìåíòà . Äîëæíà èñïîëüçîâàòüñÿ òîëüêî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ, èíà÷å ñîçäàòü ðàçíûå äîêóìåíòû ñ îäíèì è òåì æå çíà÷åíèåì õýø-ôóíêöèè íåòðóäíî, è ïîäïèñü îäíîãî äîê óìåíòà ïðèâåäåò ê îøèáî÷íîé ïîäïèñè ñðàçó ìíîãèõ äîêóìåíòîâ . Ó ïðîòîêîëà åñòü è äðóãèå âûãîäû. Âî ïåðâûõ, ïîäïèñü ìîæåò áûòü îòäåëåíà îò äîêóìåíòà. Âî âòîðûõ, çí à÷èòåëüíî óìåíüøàþòñÿ òðåáîâàíèÿ ê îáúåìó ïàìÿòè ïîëó÷àòåëÿ, â êîòîðîì õðàíÿòñÿ äîêóìåíòû è ïîäïèñè . Àðõèâíàÿ ñèñòåìà ìîæåò èñïîëüçîâàòü ýòîò ïðîòîêîë äëÿ ïîäòâåðæäåíèÿ ñóùåñòâîâàíèÿ äîêóìåíòîâ, íå õðàíÿ èõ ñîäåðæàíèÿ.  öåíòðàëüíîé áàçå äàííûõ ìîãóò õðàíèòüñÿ ëèøü çíà÷åíèÿ õýø-ôóíêöèè äëÿ ôàéëîâ . Âîâñå íå íóæíî ïðîñìàòðèâàòü ôàéëû, ïîëüçîâàòåëè ïîìåùàþò ñâîè çíà÷åíèÿ õýø-ôóíêöèè â áàçó äàííûõ, à áàçà äà ííûõ õðàíèò ýòè çíà÷åíèÿ, ïîìå÷àÿ èõ âðåìåíåì ïîëó÷åíèÿ äîêóìåíòà. Åñëè â áóäóùåì âîçíèêíåò êàêîå-íèáóäü ðàçíîãëàñèå ïî ïîâîäó àâòîðà è âðåìåíè ñîçäàíèÿ äîêóìåíòà, áàçà äàííûõ ñìîæåò ðàçðåøèòü åãî ïðè ïîìîùè õðàíÿùåãîñÿ â íåé çíà÷åíèÿ õýø -ôóíêöèè. Ïîäîáíàÿ ñèñòåìà èìååò áîëüøîå çíà÷åíèå ïðè õðàíåíèè ñåêðåòíîé èíôîðìàöèè: Àëèñà ìîæåò ïîäïèñàòü äîêóìåíò è ñîõðàíèòü åãî â ñåêðåòå . Åé ïîíàäîáèòñÿ îïóáëèêîâàòü äîê óìåíò, òîëüêî åñëè îíà çàõî÷åò äîêàçàòü ñâîå àâòîðñòâî . (Ñì. ðàçäåë 4.1). Àëãîðèòìû è òåðìèíîëîãèÿ Ñóùåñòâóåò ìíîæåñòâî àëãîðèòìîâ öèôðîâîé ïîäïèñè. Âñå îíè ïðåäñòàâëÿþò ñîáîé àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè ñ çàêðûòîé ÷àñòüþ äëÿ ïîäïèñè äîêóìåíòîâ è ñ îòêðûòîé - äëÿ ïðîâåðêè ïîäïèñè . Èíîãäà ïðîöåññ ïîäïèñè íàçûâàþò øèôðîâàíèåì ñ çàêðûòûì êëþ÷îì, à ïðîöåññ ïðîâåðêè ïîäïèñè - äåøèôðèðîâàíèåì ñ îòêðûòûì êëþ÷îì. Ýòî ìîæåò ââåñòè â çàáëóæäåíèå, ÿâëÿÿñü ñïðàâåäëèâûì òîëüêî äëÿ îäíîãî àëãîðèòìà , RSA. Ó äðóãèõ àëãîðèòìîâ - äðóãèå ðåàëèçàöèè . Íàïðèìåð, èñïîëüçîâàíèå îäíîíàïðàâëåííûõ õýø -ôóíêöèé è ìåòîê âðåìåíè èíîãäà ïðèâîäèò ê ïîÿâëåíèþ äîïîëíèòåëüíûõ ýòàïîâ ïðè ïîäïèñàíèè è ïðîâåðêå ïîäïèñè . Ìíîãèå àëãîðèòìû ìîæíî èñïîëüçîâàòü äëÿ öèôðîâîé ïîäïèñè, íî íåëüçÿ äëÿ øèôðîâàíèÿ .  îáùåì ñëó÷àå ÿ áóäó ññûëàòüñÿ íà ïðîöåññû ïîäïèñè è ïðîâåðêè , íå âäàâàÿñü â ïîäðîáíîñòè àëãîðèòìîâ . Ïîäïèñü ñîîáùåíèÿ ñ çàêðûòûì êëþ÷îì K áóäåò îáîçíà÷àòüñÿ êàê: SK(M) à ïðîâåðêà ïîäïèñè ñ ïîìîùüþ ñîîòâåòñòâóþùåãî îòêðûòîãî êëþ÷à êàê : VK(M) Ñòðîêó áèòîâ, ïðèñîåäèíåííóþ ê äîêóìåíòó ïîñëå åãî ïîäïèñàíèÿ (â ïðåäûäóùåì ïðèìåðå, çíà÷åíèå îäí îíàïðàâëåííîé õýø-ôóíêöèè äîêóìåíòà, çàøèôðîâàííîå çàðûòûì êëþ÷îì ), áóäåì íàçûâàòü öèôðîâîé ïîäïèñüþ èëè ïðîñòî ïîäïèñüþ. Âåñü ïðîòîêîë, ñ ïîìîùüþ êîòîðîãî ïîëó÷àòåëü ñîîáùåíèÿ ïðîâåðÿåò ëè÷íîñòü î òïðàâèòåëÿ è öåëîñòíîñòü ñîîáùåíèÿ , íàçûâàåòñÿ óäîñòîâåðåíèåì ïîäëèííîñòè. Áîëåå ïîäðîáíî ýòè ïðîòîêîëû ðàññìàòðèâàþòñÿ â ðàçäåëå 3.2. Íåñêîëüêî ïîäïèñåé Êàê Àëèñå è Áîáó îäíîâðåìåííî ïîäïèñàòü îäèí è òîò æå äîêóìåíò?  îòñóòñòâèå îäíîíàïðàâëåííûõ õýø-ôóíêöèé ñóùåñòâóåò äâå âîçìîæíîñòè. Àëèñà è Áîá ìîãóò ïîäïèñàòü ðàçëè÷íûå êîïèè îäíîãî è òîãî æå äîêóìåíòà. Ïîëó÷åííîå ñîîáùåíèå áóäåò â äâà ðàçà äëèííåå ïåðâîíà÷àëüíîãî äîêóìåíòà . Èëè Àëèñà ïîäïèñûâàåò äîêóìåíò, à çàòåì Áîá ïîäïèñûâàåò ïîäïèñü Àëèñû . Ýòîò ñïîñîá ðàáîòàåò, íî ïðîâåðèòü ïîäïèñü Àëèñû, íå ïðîâåðÿÿ ïðè ýòîì ïîäïèñè Áîáà, íåâîçìîæíî . Ñ ïîìîùüþ îäíîíàïðàâëåííûõ ðåàëèçîâàòü íåñêîëüêî ïîäïèñåé ïðîñòî :
(1) Àëèñà ïîäïèñûâàåò çíà÷åíèå õýø -ôóíêöèè äîêóìåíòà. (2) Áîá ïîäïèñûâàåò çíà÷åíèå õýø-ôóíêöèè äîêóìåíòà. (3) Áîá ïîñûëàåò ñâîþ ïîäïèñü Àëèñå. (4) Àëèñà ïîñûëàåò Êýðîë äîêóìåíò, ñâîþ ïîäïèñü è ïîäïèñü Áîáà. (5) Êýðîë ïðîâåðÿåò ïîäïèñè Àëèñû è Áîáà. Àëèñà è Áîá ìîãóò âûïîëíèòü ýòàïà (1) è (2) èëè ïàðàëëåëüíî, èëè ïîñëåäîâàòåëüíî . Íà ýòàïå (5) Êýðîë ìîæåò ïðîâåðèòü ëþáóþ ïîäïèñü íåçàâèñèìî îò äðóãîé .
Íåâîçìîæíîñòü îòêàçàòüñÿ îò öèôðîâîé ïîäïèñè Àëèñà ìîæåò ñìîøåííè÷àòü ñ öèôðîâûìè ïîäïèñÿìè, è ñ ýòèì íè÷åãî íåëüçÿ ïîäåëàòü. Îíà ìîæåò ïîäï èñàòü äîêóìåíò è çàòåì óòâåðæäàòü, ÷òî îíà ýòîãî íå äåëàëà. Ñíà÷àëà îíà, êàê îáû÷íî, ïîäïèñûâàåò ïèñüìî. Ç àòåì îíà àíîíèìíî ðàñêðûâàåò ñâîé çàêðûòûé êëþ÷ èëè òåðÿåò â ëþäíîì ìåñòå . Òåïåðü Àëèñà óòâåðæäàåò, ÷òî åå ïîäïèñü áûëà ñêîìïðîìåòèðîâàíà è èñïîëüçîâàíà êåì-òî äðóãèì, âûäàþùèì ñåáÿ çà íåå. Îíà äåçàâóèðóåò ñâîþ ïîäïèñü ïîä âñåìè äîêóìåíòàìè, ïîäïèñàííûìè ñ ïîìîùüþ ýòîãî çàêðûòîãî êëþ÷à . Ýòî íàçûâàåòñÿ îòêàç îò ïîäïèñè. Ìåòêè âðåìåíè ìîãóò ñíèçèòü ýôôåêò òàêîãî ìîøåííè÷åñòâà, íî Àëèñà âñåãäà ìîæåò çàÿâèòü, ÷òî åå êëþ÷ áûë ñêîìïðîìåòèðîâàí ðàíüøå. Åñëè Àëèñà ïðàâèëüíî ðàññ÷èòàåò âðåìÿ, îíà ñìîæåò ïîäïèñàòü äîêóìåíò è çàòåì óñïåøíî çàÿâèòü, ÷òî îíà ýòîãî íå äåëàëà . Ïîýòîìó òàê ìíîãî ãîâîðèòñÿ î õðàíåíèè çàêðûòûõ êëþ÷åé â íàäåæíûõ ìåñòàõ - ÷òîáû Àëèñà íå ìîãëà äîáðàòüñÿ äî ñâîåãî è çëîóïîòðåáèòü èì . Õîòÿ ñ ïîäîáíûì çëîóïîòðåáëåíèåì íè÷åãî íåëüçÿ ñäåëàòü, ìîæíî ïðåäïðèíÿòü íåêîòîðûå äåéñòâèÿ, ãàðà íòèðóþùèå òî, ÷òî ñòàðûå ïîäïèñè íå áóäóò ïðèçíàíû íåäîñòîâåðíûìè èç-çà ðàçíîãëàñèé ïî íîâûì ïîäïèñÿì . (Íàïðèìåð, Àëèñà ìîæåò "ïîòåðÿòü" ñâîé êëþ÷, ÷òîáû íå ïëàòèòü Áîáó çà ïîäåðæàííóþ ìàøèíó, êîòîðóþ îí â÷åðà åé ïðîäàë è, â ðåçóëüòàòå, ñäåëàåò íåäåéñòâèòåëüíûì ñâîé áàíêîâñêèé ñ÷åò .) Ïîëó÷àòåëþ íóæíî ïðîñòàâëÿòü ìåòêè âðåìåíè äëÿ ïîëó÷åííûõ äîêóìåíòîâ [453]. Îáùàÿ ñõåìà ïðîòîêîëà ïðèâåäåíà â [2, 8]: (1) Àëèñà ïîäïèñûâàåò ñîîáùåíèå. (2) Àëèñà ñîçäàåò çàãîëîâîê, ñîäåðæàùèé íåêîòîðóþ èäåíòèôèêàöèîííóþ èíôîðìàöèþ. Îíà ïðèñîåäèíÿåò ê çàãîëîâêó ïîäïèñàííîå ñîîáùåíèå, ïîäïèñûâàåò âñå âìåñòå è ïîñûëàåò Òðåíòó. (3) Òðåíò ïðîâåðÿåò âíåøíþþ ïîäïèñü è ïîäòâåðæäàåò èäåíòèôèêàöèîííóþ èíôîðìàöèþ. Îí äîáàâëÿåò ìå òêó âðåìåíè ê ïîäïèñàííîìó ñîîáùåíèþ Àëèñû è èäåíòèôèêàöèîííîé èíôîðìàöèè. Çàòåì îí ïîäïèñûâàåò âñå âìåñòå è ïîñûëàåò ïàêåò Àëèñå è Áîáó. (4) Áîá ïðîâåðÿåò ïîäïèñü Òðåíòà, èäåíòèôèêàöèîííóþ èíôîðìàöèþ è ïîäïèñü Àëèñû. (5) Àëèñà ïðîâåðÿåò ñîîáùåíèå, êîòîðîå Òðåíò ïîñëàë Áîáó. Åñëè îíà íå ïðèçíàåò ñâîå àâòîðñòâî, îíà áûñòðî çàÿâëÿåò îá ýòîì.  äðóãîé ñõåìå Òðåíò èñïîëüçóåòñÿ â êà÷åñòâå àðáèòðà [209]. Ïîëó÷èâ ïîäïèñàííîå ñîîáùåíèå, Áîá ïîñûë àåò êîïèþ Òðåíòó äëÿ ïðîâåðêè. Òðåíò ìîæåò ïîäòâåðäèòü ïîäïèñü Àëèñû . Èñïîëüçîâàíèå öèôðîâûõ ïîäïèñåé Îäíèì èç ñàìûõ ðàííèõ ïðåäëîæåííûõ ïðèìåíåíèé öèôðîâûõ ïîäïèñåé áûëî óïðîùåíèå ïðîâåðêè ñîáë þäåíèÿ äîãîâîðîâ î ÿäåðíûõ èñïûòàíèÿõ [1454, 1467]. Ñîåäèíåííûå Øòàòû è Ñîâåòñêèé Ñîþç (êòî-íèáóäü ïîìíèò Ñîâåòñêèé Ñîþç?) ðàçðåøèëè äðóã äðóãó ðàçìåñòèòü íà ÷óæîé òåððèòîðèè ñåéñìîãðàôû äëÿ ñëåæåíèÿ çà ÿäåðíûìè èñïûòàíèÿìè. Ïðîáëåìà áûëà â òîì, ÷òî êàæäàÿ èç ñòîðîí äîëæíà áûëà óâåðåíà â òîì, ÷òî äðóãàÿ ñòîðîíà íå ïîääåëàëà äàííûå ýòèõ ñåéñìîãðàôîâ . Îäíîâðåìåííî, äðóãàÿ ñòîðîíà äîëæíà áûëà áûòü óâåðåíà, ÷òî ýòè äàò÷èêè ïîñûëàþò òîëüêî òó èíôîðìàöèþ, êîòîðàÿ íóæíà äëÿ ñëåæåíèÿ çà ÿäåðíûìè èñïûòàíèÿìè . Ìåòîä óñëîâíîãî óäîñòîâåðåíèÿ ïîäëèííîñòè ìîæåò ðåøèòü ïåðâóþ ïðîáëåìó, íî òîëüêî öèôðîâûå ïîäïèñè ìîãóò ðåøèòü îáå ïðîáëåìû. Ñòîðîíà, íà òåððèòîðèè êîòîðîé ñòîèò ñåéñìîãðàô, ìîæåò ïðî÷åñòü, íî íå èçì åíèòü äàííûå ñåéñìîãðàôà, à ñëåäÿùàÿ ñòîðîíà çíàåò, ÷òî äàííûå íå áûëè ïîääåëàíû .
2.7 Öèôðîâûå ïîäïèñè è øèôðîâàíèå Îáúåäèíèâ öèôðîâûå ïîäïèñè è êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, ìû ðàçðàáàòûâàåì ïðîòîêîë, êîìá èíèðóþùèé áåçîïàñíîñòü øèôðîâàíèÿ è äîñòîâåðíîñòü öèôðîâûõ ïîäïèñåé . Ñðàâíèòå ñ ïèñüìîì îò âàøåé ìàèû. Ïîäïèñü óäîñòîâåðÿåò àâòîðñòâî à êîíâåðò îáåñïå÷èâàåò òàéíó . (1) Àëèñà ïîäïèñûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. SA(M) (2) Àëèñà øèôðóåò ïîäïèñàííîå ñîîáùåíèå îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî Áîáó. EB (SA(M)) (3) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. DB (EB (SA(M)))= SA(M) (4) Áîá ïðîâåðÿåò ïîäïèñü ñ ïîìîùüþ îòêðûòîãî êëþ÷à Àëèñû è âîññòàíàâëèâàåò ñîîáùåíèå. VA (SA(M))= M
Ïîäïèñü ïåðåä øèôðîâàíèåì âûãëÿäèò åñòåñòâåííî. Êîãäà Àëèñà ïèøåò ïèñüìî, îíà ïîäïèñûâàåò åãî è ç àòåì êëàäåò â êîíâåðò. Åñëè îíà ïîëîæèò ïèñüìî â êîíâåðò íåïîäïèñàííûì, òî Áîá ìîæåò çàáåñïîêîèòüñÿ, âäðóã ïèñüìî áûëî òàéíî ïîäìåíåíî. Åñëè Áîá ïîêàæåò Êýðîë ïèñüìî Àëèñû è êîíâåðò, Êýðîë ìîæåò îáâèíèòü Áîáà, ÷òî îí âðåò î òîì, êàêîå ïèñüìî â êàêîì êîíâåðòå ïðèøëî .  ýëåêòðîííîé êîððåñïîíäåíöèè òî÷íî òàêæå ÿâëÿåòñÿ ðàçóìíûì èñïîëüçîâàíèå ïîäïèñè ïåðåä øèôðîâàí èåì [48]. Ýòî íå òîëüêî áîëåå áåçîïàñíî - âðàã íå ñìîæåò óäàëèòü ïîäïèñü èç øèôðîâàííîãî ñîîáùåíèÿ è äîá àâèòü ñâîþ ñîáñòâåííóþ - íî ñóùåñòâóþò è þðèäè÷åñêèå ñîîáðàæåíèÿ : åñëè ïîäïèñûâàåìûé òåêñò íå âèäåí ïî äïèñûâàþùåìó, êîãäà îí ñòàâèò ïîäïèñü, òî þðèäè÷åñêàÿ ñèëà ïîäïèñè íåâåëèêà [1312]. Ñóùåñòâóþò òàêæå íåêîòîðûå êðèïòîãðàôè÷åñêèå ñïîñîáû âñêðûòèÿ òàêîé ïîñëåäîâàòåëüíîñòè äåéñòâèé, èñïîëüçóþùåé ïîäïèñè RSA (ñì. ðàçäåë 19.3). Äëÿ Àëèñû íå ñóùåñòâóåò ïðè÷èí èñïîëüçîâàòü îäíó ïàðó êëþ÷åé - îòêðûòûé/çàêðûòûé - äëÿ øèôðîâàíèÿ è ïîäïèñè. Ó íåå ìîæåò áûòü äâå ïàðû êëþ÷åé: îäíà äëÿ øèôðîâàíèÿ è îäíà äëÿ ïîäïèñè . Ó òàêîãî ðàçäåëåíèÿ åñòü ñâîè ïðåèìóùåñòâà: Àëèñà ìîæåò ïåðåäàòü ñâîé êëþ÷ øèôðîâàíèÿ ïîëèöèè, íå êîìïðîìåòèðóÿ ñâîþ ïî äïèñü, îäèí êëþ÷ ìîæåò áûòü óñëîâíî ïåðåäàí (ñì. ðàçäåë 4.13), íå âëèÿÿ íà äðóãîé. Ó êëþ÷åé ìîãóò áûòü ðà çëè÷íûå äëèíû è ñðîêè äåéñòâèÿ . Êîíå÷íî æå, äëÿ ïðåäîòâðàùåíèÿ ïîâòîðíîãî èñïîëüçîâàíèÿ ñîîáùåíèé ñ ýòèì ïðîòîêîëîì äîëæíû áûòü èñïîëüçîâàíû ìåòêè âðåìåíè. Ìåòêè âðåìåíè òàêæå ìîãóò çàùèòèòü îò äðóãèõ âîçìîæíûõ ëîâóøåê, ïðèìåð îäíîé èç êîòîðûõ ïðèâåäåí íèæå. Âîçâðàùåíèå ñîîáùåíèÿ ïðè ïðèåìå Ðàññìîòðèì ðåàëèçàöèþ ýòîãî ïðîòîêîëà ñ äîïîëíèòåëüíîé âîçìîæíîñòüþ ïîäòâåðæäåíèÿ ñîîáùåíèé - ï îëó÷èâ ñîîáùåíèå, Áîá îáÿçàòåëüíî âîçâðàùàåò ïîäòâåðæäåíèå ïðèåìà . (1) Àëèñà ïîäïèñûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, øèôðóåò ïîäïèñàííîå ñîîáùåíèå î òêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî Áîáó. EB (SA(M)) (2) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, ïðîâåðÿåò ïîäïèñü ñ ïîìîùüþ î òêðûòîãî êëþ÷à Àëèñû è âîññòàíàâëèâàåò ñîîáùåíèå. VA (DB (EB (SA(M))))= M (3) Áîá ïîäïèñûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, øèôðóåò ïîäïèñàííîå ñîîáùåíèå î òêðûòûì êëþ÷îì Àëèñû è ïîñûëàåò åãî Àëèñå îáðàòíî. EA (SB(M)) (4) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à è ïðîâåðÿåò ïîäïèñü ñ ïîìîùüþ îòêðûòîãî êëþ÷à Áîáà. Åñëè ïîëó÷åííîå ñîîáùåíèå ñîâïàäàåò ñ îòïðàâëåííûì, îíà çíàåò, ÷òî Áîá ïîë ó÷èë ïðàâèëüíîå ñîîáùåíèå. Åñëè äëÿ øèôðîâàíèÿ è ïðîâåðêè öèôðîâîé ïîäïèñè èñïîëüçóåòñÿ îäèí è òîò æå àëãîðèòì, òî ñóùåñòâóåò âîçìîæíîñòü âñêðûòèÿ [506].  òàêèõ ñëó÷àÿõ îïåðàöèÿ öèôðîâîé ïîäïèñè - ïðîòèâîïîëîæíîñòü îïåðàöèè øèôðîâàíèÿ: VX = EX è SX = DX. Ïóñòü Ìýëëîðè - çàðåãèñòðèðîâàííûé ïîëüçîâàòåëü ñî ñâîåé ïàðîé êëþ÷åé: îòêðûòûì è çàêðûòûì . Òåïåðü ïîñìîòðèì, êàê îí ñìîæåò ÷èòàòü ïî÷òó Áîáà. Ñíà÷àëà îí çàïèøåò ñîîáùåíèå Àëèñû Áîáó - ýòàï (1) . Çàòåì, íåìíîãî ïîãîäÿ, îí ïîøëåò ýòî ñîîáùåíèå Áîáó, óòâåðæäàÿ, ÷òî îíî îòïðàâëåíî ñàìèì Ìýëëîðè. Áîá, äóìàÿ, ÷òî ýòî îáû÷íîå ñîîáùåíèå îò Ìýëëîðè, äåøèôðèðóåò ýòî ñîîáùåíèå ñâîèì çàêðûòûì êëþ÷îì è ïûòàåòñÿ ïðîâ åðèòü ïîäïèñü Ìýëëîðè, äåøèôðèðóÿ åå ñ ïîìîùüþ îòêðûòîãî êëþ÷à Ìýëëîðè .  ðåçóëüòàòå ïîëó÷àåòñÿ ïîëíàÿ ÷åïóõà: EA (DB (EB (DA(M))))= EM (DA(M)) Äàæå â ýòîì ñëó÷àå, ñëåäóÿ ïðîòîêîëó, Áîá ïîñûëàåò Ìýëëîðè ïîëó÷åííîå ñîîáùåíèå : EM (DB (EM (DA(M)))) Òåïåðü Ìýëëîðè îñòàåòñÿ òîëüêî ðàñøèôðîâàòü ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, çàøèôð îâàòü åãî îòêðûòûì êëþ÷îì Áîáà, ðàñøèôðîâàòü ñíîâà ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à è çàøèôðîâàòü îòêðûòûì êëþ÷îì Àëèñû. Voilà! Ìýëëîðè ïîëó÷àåò M. Îòíþäü íå ãëóïî ïðåäïîëîæèòü, ÷òî Áîá ìîæåò àâòîìàòè÷åñêè ïîñûëàòü Ìýëëîðè êâèòàíöèþ. Ýòîò ïðîò îêîë, íàïðèìåð, ìîæåò áûòü âñòðîåí â åãî êîììóíèêàöèîííîå ïðîãðàììíîå îáåñïå÷åíèå è ïîñûëàòü êâèòàíöèè àâòîìàòè÷åñêè. Èìåííî ãîòîâíîñòü ñîîáùèòü î ïðèåìå ÷åïóõè è íàðóøàåò áåçîïàñíîñòü . Åñëè Áîá ïðîâåðèò ñîîáùåíèå íà îñìûñëåííîñòü ïåðåä îòïðàâêîé êâèòàíöèè, îí ñìîæåò èçáåæàòü òàêèõ ïðîáëåì ñ áåçîïàñíîñòüþ .
Ñóùåñòâóþò ìîäåðíèçàöèè ýòîãî ñïîñîáà âñêðûòèÿ, ïðåäïîëàãàþùèå, ÷òî Ìýëëîðè ïîøëåò Áîáó ñîîáùåíèå, îòëè÷íîå îò òîãî, êîòîðîå îí æåëàåò ïåðåõâàòèòü . Íèêîãäà íå ïîäïèñûâàéòå ïðîèçâîëüíûõ ñîîáùåíèé îò äðóãèõ ëþäåé è íå ïåðåäàâàéòå ðåçóëüòàòû äåøèôðîâêè ïðîèçâîëüíûõ ñîîáùåíèé èíûì ëþäÿì . Îáíàðóæåíèå âñêðûòèÿ, îñíîâàííîãî íà âîçâðàùåíèè ñîîáùåíèÿ Òîëüêî ÷òî îïèñàííîå âñêðûòèå ðàáîòàåò ïîòîìó, ÷òî îïåðàöèÿ øèôðîâàíèÿ ñîâïàäàåò ñ îïåðàöèåé ïðîâåðêè ïîäïèñè, à îïåðàöèÿ äåøèôðèðîâàíèÿ - ñ îïåðàöèåé ïîäïèñè . Îïåðàöèè øèôðîâàíèÿ è öèôðîâîé ïîäïèñè â áåçîïàñíîì ïðîòîêîëå äîëæíû õîòÿ áû ñëåãêà îòëè÷àòüñÿ . Ïðîáëåìó ðåøàåò èñïîëüçîâàíèå ðàçëè÷íûõ êëþ÷åé äëÿ êàæäîé îïåðàöèè, èëè èñïîëüçîâàíèå äëÿ êàæäîé îïåðàöèè ðàçëè÷íûõ àëãîðèòìîâ, èëè ïðèìåíåíèå ìåòîê âðåìåíè, êîòîðûå äåëàþò ðàçëè÷íûìè ïðèíÿòîå è îòïðàâëÿåìîå ñîîáùåíèÿ, èëè öèôðîâàÿ ïîäïèñü ñ ïîìîùüþ îäíîíàïðàâëåííîé õýø-ôóíêöèè (ñì. ðàçäåë 2.6). Òîãäà, â îáùåì ñëó÷àå, ñëåäóþùèé ïðîòîêîë, èñïîëüçóþùèé àëãîðèòì ñ îòêðûòûì êëþ÷îì, ÿâëÿåòñÿ áåçîïàñíûì : (1) Àëèñà ïîäïèñûâàåò ñîîáùåíèå. (2) Àëèñà øèôðóåò ïîäïèñàííîå ñîîáùåíèå îòêðûòûì êëþ÷îì Áîáà (èñïîëüçóÿ àëãîðèòì, îòëè÷àþùèéñÿ îò àëãîðèòìà öèôðîâîé ïîäïèñè) è ïîñûëàåò åãî Áîáó. (3) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à (4) Áîá ïðîâåðÿåò ïîäïèñü Àëèñû. Âñêðûòèÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Âî âñåõ ïîäîáíûõ ïðîòîêîëàõ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè ÿ íå ðàññêàçàë , êàê Àëèñà ïîëó÷àåò îòêðûòûé êëþ÷ Áîáà. Ïîäðîáíî ýòîò âîïðîñ îïèñàí â ðàçäåëå 3.1, íî î íåì ñòîèò óïîìÿíóòü è çäåñü . Ïðîùå âñåãî óçíàòü ÷åé-òî îòêðûòûé êëþ÷, ñ÷èòàâ åãî îòêóäà-òî èç áåçîïàñíîé áàçû äàííûõ. Ýòà áàçà äàííûõ äîëæíà áûòü îáùåäîñòóïíà, ÷òîáû êàæäûé ìîã ïîëó÷èòü íóæíûé åìó êëþ÷. Áàçà äàííûõ äîëæíà áûòü ç àùèùåíà îò íåñàíêöèîíèðîâàííîé çàïèñè, â ïðîòèâíîì ñëó÷àå Ìýëëîðè ñìîæåò ïîäìåíèòü îòêðûòûé êëþ÷ Áîáà. Ïîñëå ýòîãî Áîá óæå íå ñóìååò ÷èòàòü àäðåñîâàííûå åìó ñîîáùåíèÿ, çàòî ýòî ñìîæåò ñäåëàòü Ìýëëîðè . Äàæå åñëè îòêðûòûå êëþ÷è õðàíÿòñÿ â íàäåæíîé áàçå äàííûõ, Ìýëëîðè ìîæåò ïîäìåíèòü èõ ïðè ïåðåäà÷å . ×òîáû âîñïðåïÿòñòâîâàòü ýòîìó, Òðåíò äîëæåí ïîäïèñûâàòü êàæäûé îòêðûòûé êëþ÷, èñïîëüçóÿ ñâîé ñîáñòâå ííûé çàêðûòûé êëþ÷. Òðåíòà, êîòîðûé äåéñòâóåò ïîäîáíûì îáðàçîì, ÷àñòî íàçûâàþò Îðãàíîì ñåðòèôèêàöèè êëþ÷åé èëè Öåíòðîì ðàñïðåäåëåíèÿ êëþ÷åé (Key Distribution Center, KDC). Íà ïðàêòèêå KDC ïîäïèñûâàåò ñëîæíîå ñîîáùåíèå, ñîñòîÿùåå èç èìåíè ïîëüçîâàòåëÿ, åãî îòêðûòîãî êëþ÷à è äðóãîé èíôîðìàöèè î ïîëüçîâ àòåëå. Ýòî ïîäïèñàííîå ñëîæíîå ñîîáùåíèå è õðàíèòñÿ â áàçå äàííûõ KDC. Êîãäà Àëèñà ïîëó÷àåò êëþ÷ Áîáà, îíà ïðîâåðÿåò ïîäïèñü KDC, óäîñòîâåðÿÿñü â ïðàâèëüíîñòè êëþ÷à. Ïðè îêîí÷àòåëüíîì àíàëèçå âèäíî, ÷òî è ýòî òîëüêî çàòðóäíÿåò, íî íå äåëàåò íåâîçìîæíûì ìîøåííè÷åñòâî Ìýëëîðè. Àëèñà æå äîëæíà îòêóäà-òî ïîëó÷èòü îòêðûòûé êëþ÷ KDC. Ìýëëîðè íóæíî ïîäìåíèòü ýòîò êëþ÷ ñâîèì îòêðûòûì êëþ÷îì, èñïîðòèòü áàçó äàííûõ è çàìåíèòü ïðàâèëüíûå êëþ÷è ñâîèìè (ïîäïèñàííûìè åãî çàêðûòûì êëþ÷îì, êàê åñëè áû îí è áûë KDC), è åãî äåëî ñäåëàíî. Íî, äàæå ïîäïèñè íà áóìàãå ìîãóò áûòü ïîääåëàíû, åñëè Ìýëëîðè âñåðüåç âîçüìåòñÿ çà äåëî. Ïîäðîáíî îáìåí êëþ÷àìè ðàññìàòðèâàåòñÿ â ðàçäåëå 3.1.
2.8. Ãåíåðàöèÿ ñëó÷àéíûõ è ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé Ïî÷åìó äàæå â êíèãå ïî êðèïòîãðàôèè ñíîâà ýòè äîêó÷ëèâûå ðàññóæäåíèÿ î ãåíåðàöèè ñëó÷àéíûõ ÷èñåë? Ãåíåðàòîð ñëó÷àéíûõ ÷èñåë âñòðîåí â êàæäûé êîìïèëÿòîð, îáû÷íûé âûçîâ ôóíêöèè. Ïî÷åìó áû íå èñïîëüç îâàòü åãî? Ê ñîæàëåíèþ, ýòè ãåíåðàòîðû ñëó÷àéíûõ ÷èñåë ïî÷òè íàâåðíÿêà íåäîñòàòî÷íî áåçîïàñíû äëÿ êðèïò îãðàôèè è, âîçìîæíî, äàæå íå ñîâñåì ñëó÷àéíû . Áîëüøèíñòâî èç íèõ âåñüìà ïëîõè . Ãåíåðàòîðû ñëó÷àéíûõ ÷èñåë íà ñàìîì äåëå ñîâñåì íå ñëó÷àéíû, ïîòîìó ÷òî èì è íå íóæíî áûòü òàêèìè . Äëÿ áîëüøèíñòâà ïðèëîæåíèé, íàïðèìåð, êîìïüþòåðíûõ èãð, òðåáóåòñÿ òàê ìàëî ñëó÷àéíûõ ÷èñåë, ÷òî èõ í åñëó÷àéíîñòü âðÿä ëè áóäåò çàìåòíà . Îäíàêî, êðèïòîãðàôèÿ î÷åíü ÷óâñòâèòåëüíà ê ñâîéñòâàì ãåíåðàòîðîâ ñë ó÷àéíûõ ÷èñåë. Ïðèìåíèòå ïëîõîé ãåíåðàòîð, è ó âàñ ïîÿâÿòñÿ òàèíñòâåííûå êîððåëÿöèè è ñòðàííûå ðåçóëüòàòû [1231, 1238]. Åñëè âàøà áåçîïàñíîñòü çàâèñèò îò ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë, òàèíñòâåííûå êîððåëÿöèè è ñòðàííûå ðåçóëüòàòû ÿâëÿþòñÿ àáñîëþòíî íå òåì, ÷åãî áû âû æåëàëè äîáèòüñÿ. Ïðîáëåìà â òîì, ÷òî ãåíåðàòîð ñëó÷àéíûõ ÷èñåë íå ñîçäàåò ñëó÷àéíîé ïîñëåäîâàòåëüíîñòè . Îí, âîçìîæíî, íå âûäàåò íè÷åãî äàæå îòäàëåííî íàïîìèíàþùåãî ñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü . Êîíå÷íî, íåâîçìîæíî ñîçäàâàòü íà êîìïüþòåðå ÷òî-òî ïî íàñòîÿùåìó ñëó÷àéíîå. Äîíàëüä Êíóò ïðèïèñûâàë ôîí Íåéìàíó ñëåäóþùèå ñëîâà: "Êàæäûé, êòî çàíèìàåòñÿ àðèôìåòè÷åñêèìè ìåòîäàìè ïîëó÷åíèÿ ñëó÷àéíûõ ÷èñåë, îïðåäåëåííî ãðåøèò " [863]. Êîìïüþòåðû - ýòî äåòåðìèíèðîâàííûå áåñòèè : çàêëàäûâàåòñÿ èçâåñòíûé ìàòåðèàë, âûïîëíÿþòñÿ ïîëí îñòüþ ïðåäñêàçóåìûå äåéñòâèÿ, è ÷òî-òî îòëè÷íîå âûïîëçàåò ñ äðóãîãî êîíöà. Ïîäà÷à îäíîãî è òîãî æå íà âõîä â äâóõ ðàçëè÷íûõ ñëó÷àÿõ ïðèâåäåò ê îäíîìó è òîìó æå ðåçóëüòàòó . Çàëîæèòå îäèíàêîâûå èñõîäíûå äàííûå â äâà
èäåíòè÷íûõ êîìïüþòåðà, è îáà îíè ïîäñ÷èòàþò îäíî è òî æå. Êîìïüþòåð ìîæåò íàõîäèòüñÿ òîëüêî â îãðàí è÷åííîì ÷èñëå ñîñòîÿíèé (î÷åíü áîëüøîì, íî âñå æå îãðàíè÷åííîì) , è âûäàâàåìûé ðåçóëüòàò âñåãäà áóäåò ñòðîãî îïðåäåëÿòüñÿ èñõîäíûìè äàííûìè è òåêóùèì ñîñòîÿíèåì êîìïüþòåðà . Ýòî çíà÷èò, ÷òî ëþáîé ãåíåðàòîð ñë ó÷àéíûõ ÷èñåë íà êîìïüþòåðå (ïî ìåíüøåé ìåðå, íà êîíå÷íîì àâòîìàòå), ïî îïðåäåëåíèþ, ïåðèîäè÷åí. À âñå, ÷òî ïåðèîäè÷íî, ïî îïðåäåëåíèþ, ïðåäñêàçóåìî . À âñå, ÷òî ïðåäñêàçóåìî, íå ìîæåò áûòü ñëó÷àéíûì . Äëÿ íàñòîÿùåãî ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë íóæíî ïîäàâàòü íà âõîä ÷òî-íèáóäü ñëó÷àéíîå, êîìïüþòåð æå íå ìîæåò îáåñïå÷èòü ýòî òðåáîâàíèå. Ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè Ëó÷øåå, ÷òî ìîæåò ñäåëàòü êîìïüþòåð - ýòî ãåíåðàòîð ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé. ×òî ýòî òàêîå? Ìíîãèå ïûòàëèñü äàòü åãî ôîðìàëüíîå îïðåäåëåíèå, íî ÿ óêëîíþñü îò ýòîãî. Ïñåâäîñëó÷àéíàÿ ïîñëåä îâàòåëüíîñòü - ýòî ÷òî-òî, âûãëÿäÿùåå êàê ñëó÷àéíîå . Ïåðèîä ïîñëåäîâàòåëüíîñòè äîëæåí áûòü äîñòàòî÷íî â åëèê, ïîýòîìó êîíå÷íàÿ ïîñëåäîâàòåëüíîñòü ðàçóìíîé äëèíû - êîòîðàÿ â äåéñòâèòåëüíîñòè è èñïîëüçóåòñÿ - íå ïåðèîäè÷íà. Åñëè âàì íóæåí ìèëëèàðä ñëó÷àéíûõ áèò, íå ïîëüçóéòåñü ãåíåðàòîðîì ïîñëåäîâàòåëüíîñòè, ïîâò îðÿþùåéñÿ êàæäûå øåñòíàäöàòü òûñÿ÷ áèò . Ýòè îòíîñèòåëüíî êîðîòêèå íåïåðèîäè÷åñêèå ïîäïîñëåäîâàòåëüíîñòè äîëæíû áûòü, íàñêîëüêî ýòî âîçìîæíî, íåîòëè÷èìû îò ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé . Íàïðèìåð, â íèõ äîëæíî áûòü ïðèìåðíî îäèíàêîâîå êîëè÷åñòâî åäèíèö è íóëåé, îêîëî ïîëîâèíû ñåðèé (ïîñëåäîâàòåëüíîñòåé îäèíàêîâûõ áèò) äîëæíû áûòü åäèíè÷íîé äëèíû , ÷åòâåðòü - ñîñòîÿòü èç äâóõ áèò, âîñüìàÿ ÷àñòü - èç òðåõ, è ò.ä. Ýòè ïîñëåäîâàòåëüíîñòè äîëæíû áûòü íåñæèìàåìû . Ðàñïðåäåëåíèå äëèí ñåðèé äëÿ íóëåé è åäèíèö äîëæíî áûòü îäèíàêîâûì [643, 863, 99, 1357]. Ýòè ñâîéñòâà ìîãóò áûòü èçìåðåíû îïûòíûì ïóòåì è çàòåì ñðàâíåíû ñ îæèäàåìûìè ñòàòèñòè÷åñêè ñ ïîìîùüþ ñòàòèñòèêè õè-êâàäðàò . Äëÿ íàøèõ öåëåé ãåíåðàòîð ïîñëåäîâàòåëüí îñòè ñ÷èòàåòñÿ ïñåâäîñëó÷àéíûì, åñëè îí îáëàäàåò ñëåäóþùèì ñâîéñòâîì : 1. Îí âûãëÿäèò ñëó÷àéíî. Ýòî îçíà÷àåò, ÷òî îí ïðîõîäèò âñå òåñòû íà ñëó÷àéíîñòü, êîòîðûå íàì óäàëîñü íàéòè. (Íà÷íèòå ñ ïðèâåäåííûõ â [863].) Ìíîæåñòâî óñèëèé áûëî çàòðà÷åíî íà ñîçäàíèå õîðîøèõ ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé íà êîìïü þòåðå. Îáñóæäåíèå ãåíåðàòîðîâ â áîëüøîì êîëè÷åñòâå ìîæíî íàéòè â àêàäåìè÷åñêîé ëèòåðàòóðå âìåñòå ñ ðà çëè÷íûìè òåñòàìè íà ñëó÷àéíîñòü . Âñå ýòè ãåíåðàòîðû ïåðèîäè÷íû (ýòîãî íåâîçìîæíî èçáåæàòü), íî, åñëè èõ ïåðèîä 2256 è âûøå, îíè ìîãóò áûòü èñïîëüçîâàíû â ñàìûõ ñåðüåçíûõ ïðèëîæåíèÿõ . Ïðîáëåìà èìåííî â ýòèõ òàèíñòâåííûõ êîððåëÿöèÿõ è ñòðàííûõ ðåçóëüòàòàõ . Êàæäûé ãåíåðàòîð ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé ñîçäàåò òàêèå ñòðàííîñòè, åñëè âû èñïîëüçóåòå åãî îïðåäåëåííûì îáðàçîì. À ýòî èìåííî òî, ÷òî íóæíî êðèïòîàíàëèòèêó äëÿ âçëîìà ñèñòåìû . Êðèïòîãðàôè÷åñêè áåçîïàñíûå ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè Êðèïòîãðàôè÷åñêèå ïðèëîæåíèÿ ïðåäúÿâëÿþò ê ãåíåðàòîðó ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé áîëåå âûñîêèå òðåáîâàíèÿ ïî ñðàâíåíèþ ñ äðóãèìè ïðèëîæåíèÿìè . Êðèïòîãðàôè÷åñêàÿ ñëó÷àéíîñòü íå îãðàíè÷èâàå òñÿ ñòàòèñòè÷åñêîé ñëó÷àéíîñòüþ, õîòÿ è âêëþ÷àåò åå . ×òîáû ïîñëåäîâàòåëüíîñòü áûëà êðèïòîãðàôè÷åñêè áåçîïàñíîé ïñåâäîñëó÷àéíîé ïîñëåäîâàòåëüíîñòüþ, îíà äîëæíà îáëàäàòü ñëåäóþùèì ñâîéñòâîì : 2. Îíà íåïðåäñêàçóåìà. Äîëæíî áûòü î÷åíü òðóäíî (ñ òî÷êè çðåíèÿ ïðèìåíåíèÿ âû÷èñëèòåëüíûõ ìî ùíîñòåé) ïðåäñêàçàòü, êàêèì áóäåò ñëåäóþùèé ñëó÷àéíûé áèò, äàæå åñëè ïîëíîñòüþ èçâåñòåí àëãîðèòì èëè óñòðîéñòâî, ãåíåðèðóþùåå ïîñëåäîâàòåëüíîñòü, è âñå ïðåäûäóùèå áèòû ïîòîêà. Êðèïòîãðàôè÷åñêè áåçîïàñíûå ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè íå äîëæíû ñæèìàòüñÿ..., åñëè âàì í åèçâåñòåí êëþ÷. Êëþ÷îì îáû÷íî ÿâëÿåòñÿ çàäàííîå íà÷àëüíîå ñîñòîÿíèå ãåíåðàòîðà . Êàê è ëþáîé êðèïòîãðàôè÷åñêèé àëãîðèòì, ãåíåðàòîðû êðèïòîãðàôè÷åñêè áåçîïàñíûõ ïñåâäîñëó÷àéíûõ ï îñëåäîâàòåëüíîñòåé ïðåäñòàâëÿþò ñîáîé ïðåäìåò âñêðûòèÿ . Òàê æå êàê êðèïòîãðàôè÷åñêèé àëãîðèòì, ìîæåò áûòü âçëîìàí è ãåíåðàòîð êðèïòîãðàôè÷åñêè áåçîïàñíûõ ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé . Ñîçäàíèå óñòîé÷èâûõ ê âñêðûòèþ ãåíåðàòîðîâ ÿâëÿåòñÿ îñíîâîé êðèïòîãðàôèè . Íàñòîÿùèå ñëó÷àéíûå ïîñëåäîâàòåëüíîñòè Òåïåðü ìû âòîðãàåìñÿ â îáëàñòü, ïðèíàäëåæàùóþ ôèëîñîôàì . Ñóùåñòâóåò ëè òàêàÿ âåùü êàê ñëó÷àéíîñòü ? ×òî òàêîå ñëó÷àéíàÿ ïîñëåäîâàòåëüíîñòü ? Êàê óçíàòü, ÷òî ïîñëåäîâàòåëüíîñòü ñëó÷àéíà ? ßâëÿåòñÿ ëè "101110100" áîëåå ñëó÷àéíîé ÷åì "l01010101"? Êâàíòîâàÿ ìåõàíèêà óáåæäàåò íàñ â òîì, ÷òî â ðåàëüíîì ìèðå ñóùåñòâóåò íàñòîÿùàÿ ñëó÷àéíîñòü . Íî êàê ñîõðàíèòü ýòó ñëó÷àéíîñòü â ïðåäîïðåäåëåííîì ìèðå êîìïüþòåðíûõ ìèêðîñõåì è êîíå÷íûõ àâòîìàòîâ ?  ñòîðîíó ôèëîñîôèþ, ñ íàøåé òî÷êè çðåíèÿ ãåíåðàòîð ïîñëåäîâàòåëüíîñòè äåéñòâèòåëüíî ñëó÷àåí, åñëè îí îáëàäàåò òðåòüèì ñâîéñòâîì: 3. Ñîçäàâàåìàÿ èì ïîñëåäîâàòåëüíîñòü íå ìîæåò áûòü óâåðåííî âîñïðîèçâåäåíà. Åñëè âû çàïóñêàåòå ã å-
íåðàòîð ñëó÷àéíûõ ÷èñåë äâàæäû ñ îäíèì è òåì æå âõîäîì (ïî êðàéíåé ìåðå, íàñêîëüêî ýòî â ÷åëîâ å÷åñêèõ ñèëàõ), òî âû ïîëó÷èòå äâå ñîâåðøåííî íåçàâèñèìûå ñëó÷àéíûå ïîñëåäîâàòåëüíîñòè. Âûõîä ãåíåðàòîðà, óäîâëåòâîðÿþùåãî âñåì òðåì ïðèâåäåííûì òðåáîâàíèÿì, áóäåò äîñòàòî÷íî õîðîø äëÿ îäíîðàçîâîãî áëîêíîòà, ãåíåðàöèè êëþ÷à è äðóãèõ êðèïòîãðàôè÷åñêèõ ïðèìåíåíèé, òðåáóþùèõ ãåíåðàöèè äå éñòâèòåëüíî ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé . Òðóäíîñòü â òîì, ÷òîáû ïîíÿòü, äåéñòâèòåëüíî ëè ïîñëåäîâàòåë üíîñòü ñëó÷àéíà? Åñëè ÿ ïîâòîðíî çàøèôðóþ ñòðîêó, èñïîëüçóÿ DES è çàäàííûé êëþ÷, ÿ ïîëó÷ó õîðîøèé, âûãëÿäÿùèé ñëó÷àéíûì îáðàçîì ðåçóëüòàò, âû íå ñìîæåòå ñêàçàòü, ÷òî îí íå ñëó÷àåí, ïîêà âû íå íàéìåòå âçëî ìùèêà DES èç NSA.
Ãëàâà 3 Îñíîâíûå ïðîòîêîëû 3.1 Îáìåí êëþ÷àìè Îáùåïðèíÿòîé êðèïòîãðàôè÷åñêîé òåõíèêîé ÿâëÿåòñÿ øèôðîâàíèå êàæäîãî èíäèâèäóàëüíîãî îáìåíà ñîî áùåíèÿìè îòäåëüíûì êëþ÷îì. Òàêîé êëþ÷ íàçûâàåòñÿ ñåàíñîâûì, òàê êàê îí èñïîëüçóåòñÿ äëÿ åäèíñòâåííîãî îòäåëüíîãî ñåàíñà îáìåíà èíôîðìàöèåé .  ðàçäåëå 8.5 ãîâîðèòñÿ î òîì, ÷òî ñåàíñîâûå êëþ÷è ïîëåçíû, òàê êàê âðåìÿ èõ ñóùåñòâîâàíèÿ îïðåäåëÿåòñÿ äëèòåëüíîñòüþ ñåàíñà ñâÿçè . Ïåðåäà÷à ýòîãî îáùåãî ñåàíñîâîãî êëþ÷à â ðóêè îáìåíèâàþùèõñÿ èíôîðìàöèåé ïðåäñòàâëÿåò ñîáîé ñëîæíóþ ïðîáëåìó . Îáìåí êëþ÷àìè ñ ïîìîùüþ ñèììåòðè÷íîé êðèïòîãðàôèè Ýòîò ïðîòîêîë ïðåäïîëàãàåò, ÷òî ïîëüçîâàòåëè ñåòè, Àëèñà è Áîá, ïîëó÷àþò ñåêðåòíûé êëþ÷ îò Öåíòðà ðà ñïðåäåëåíèÿ êëþ÷åé (Key Distribution Center, KDC) [1260] - Òðåíòà íàøèõ ïðîòîêîëîâ. Ïåðåä íà÷àëîì ïðîòîêîëà ýòè êëþ÷è óæå äîëæíû áûòü ó ïîëüçîâàòåëåé . (Ïðîòîêîë èãíîðèðóåò î÷åíü íàñóùíóþ ïðîáëåìó äîñòàâêè ýòèõ ñåêðåòíûõ êëþ÷åé, ïðåäïîëàãàåòñÿ, ÷òî êëþ÷è óæå ó ïîëüçîâàòåëåé, è Ìýëëîðè íå èìååò î íèõ íèêàêîé èíôî ðìàöèè.) (1) Àëèñà îáðàùàåòñÿ ê Òðåíòó è çàïðàøèâàåò ñåàíñîâûé êëþ÷ äëÿ ñâÿçè ñ Áîáîì. (2) Òðåíò ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷. Îí çàøèôðîâûâàåò äâå êîïèè êëþ÷à: îäíó äëÿ Àëèñû, à äðóãóþ - äëÿ Áîáà. Çàòåì Òðåíò ïîñûëàåò îáå êîïèè Àëèñå. (3) Àëèñà ðàñøèôðîâûâàåò ñâîþ êîïèþ ñåàíñîâîãî êëþ÷à. (4) Àëèñà ïîñûëàåò Áîáó åãî êîïèþ ñåàíñîâîãî êëþ÷à. (5) Áîá ðàñøèôðîâûâàåò ñâîþ êîïèþ ñåàíñîâîãî êëþ÷à. (6) Àëèñà è Áîá èñïîëüçóþò ýòîò ñåàíñîâûé êëþ÷ äëÿ áåçîïàñíîãî îáìåíà èíôîðìàöèåé. Ýòîò ïðîòîêîë îñíîâàí íà àáñîëþòíîé íàäåæíîñòè Òðåíòà, äëÿ ðîëè êîòîðîãî áîëüøå ïîäõîäèò çàñëóæ èâàþùàÿ äîâåðèÿ êîìïüþòåðíàÿ ïðîãðàììà, ÷åì çàñëóæèâàþùèé äîâåðèÿ ÷åëîâåê. Åñëè Ìýëëîðè ïîëó÷èò äî ñòóï ê Òðåíòó, ñêîìïðîìåòèðîâàííîé îêàæåòñÿ âñÿ ñåòü.  åãî ðóêàõ îêàæóòñÿ âñå ñåêðåòíûå êëþ÷è, âûäåëåííûå ïîëüçîâàòåëÿì Òðåíòîì, îí ñìîæåò ïðî÷åñòü âñå ïåðåäàííûå ñîîáùåíèÿ, êîòîðûå åìó óäàëîñü ïåðåõâàòèòü, è âñå áóäóùèå ñîîáùåíèÿ. Åìó îñòàíåòñÿ òîëüêî ïîäêëþ÷èòüñÿ ê ëèíèÿì ñâÿçè è ïîäñëóøèâàòü çàøèôðîâàííûé ïîòîê ñîîáùåíèé. Äðóãîé ïðîáëåìîé òàêîé ñèñòåìû ÿâëÿåòñÿ òî, ÷òî Òðåíò ïîòåíöèàëüíî ÿâëÿåòñÿ åå óçêèì ìåñòîì. Îí äîëæåí ó÷àñòâîâàòü â êàæäîì îáìåíå êëþ÷àìè . Åñëè ñ íèì ÷òî-òî ñëó÷èòñÿ, ýòî ðàçðóøèò âñþ ñèñòåìó . Îáìåí êëþ÷àìè, èñïîëüçóÿ êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè Áàçîâàÿ ñìåøàííàÿ êðèïòîñèñòåìà îáñóæäàëàñü â ðàçäåëå 1.5. Äëÿ ñîãëàñîâàíèÿ ñåàíñîâîãî êëþ÷à Àëèñà è Áîá ïðèìåíÿþò êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, à çàòåì èñïîëüçóþò ýòîò ñåàíñîâûé êëþ÷ äëÿ øèôðîâ àíèÿ äàííûõ.  íåêîòîðûõ ðåàëèçàöèÿõ ïîäïèñàííûå êëþ÷è Àëèñû è Áîáà äîñòóïíû â íåêîòîðîé áàçå äàííûõ . Ýòî çíà÷èòåëüíî îáëåã÷àåò ïðîòîêîë, òåïåðü Àëèñà, äàæå åñëè Áîá î íåé íèêîãäà íå ñëûøàë, ìîæåò áåçîïàñíî ïîñëàòü Áîáó ñîîáùåíèå: (1) Àëèñà ïîëó÷àåò îòêðûòûé êëþ÷ Áîáà èç KDC. (2) Àëèñà ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷, çàøèôðîâûâàåò åãî îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî Áîáó. (3) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. (4) Àëèñà è Áîá øèôðóþò ñâîé îáìåí èíôîðìàöèåé ýòèì ñåàíñîâûì êëþ÷îì. Âñêðûòèå "÷åëîâåê-â-ñåðåäèíå"  òî âðåìÿ, êàê Åâà íå ìîæåò ñäåëàòü íè÷åãî ëó÷øåãî, ÷åì ïûòàòüñÿ âçëîìàòü àëãîðèòì ñ îòêðûòûìè êë þ÷àìè èëè âûïîëíèòü âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà , ó Ìýëëîðè ãîðàçäî áîëüøå âîçìîæíîñòåé. Îí íå òîëüêî ìîæåò ïîäñëóøàòü ñîîáùåíèÿ Àëèñû è Áîáà, íî è èçìåíèòü ñîîáùåíèÿ, óäàëèòü ñîîáùåíèÿ è ñîçäàòü ñîâåðøåííî íîâûå . Ìýëëîðè ìîæåò âûäàòü ñåáÿ çà Áîáà, ñîîáùàþùåãî ÷òî-òî Àëèñå, èëè çà Àëèñó, ñîîáùàþùóþ ÷òî-òî Áîáó . Âîò êàê áóäåò âûïîëíåíî âñêðûòèå : (1) Àëèñà ïîñûëàåò Áîáó ñâîé îòêðûòûé êëþ÷. Ìýëëîðè ïåðåõâàòûâàåò åãî è ïîñûëàåò Áîáó ñâîé ñîáñòâå ííûé îòêðûòûé êëþ÷.
(2) Áîá ïîñûëàåò Àëèñå ñâîé îòêðûòûé êëþ÷. Ìýëëîðè ïåðåõâàòûâàåò åãî è ïîñûëàåò Àëèñå Áîáó ñîáñòâå ííûé îòêðûòûé êëþ÷. (3) Êîãäà Àëèñà ïîñûëàåò ñîîáùåíèå Áîáó, çàøèôðîâàííîå îòêðûòûì êëþ÷îì "Áîáà", Ìýëëîðè ïåðåõâàòûâ àåò åãî. Òàê êàê ñîîáùåíèå â äåéñòâèòåëüíîñòè çàøèôðîâàíî åãî ñîáñòâåííûì îòêðûòûì êëþ÷îì, îí ðà ñøèôðîâûâàåò åãî, ñíîâà çàøèôðîâûâàåò îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò Áîáó. (4) Êîãäà Áîá ïîñûëàåò ñîîáùåíèå Àëèñå, çàøèôðîâàííîå îòêðûòûì êëþ÷îì "Àëèñû", Ìýëëîðè ïåðåõâàò ûâàåò åãî. Òàê êàê ñîîáùåíèå â äåéñòâèòåëüíîñòè çàøèôðîâàíî åãî ñîáñòâåííûì îòêðûòûì êëþ÷îì, îí ðàñøèôðîâûâàåò åãî, ñíîâà çàøèôðîâûâàåò îòêðûòûì êëþ÷îì Àëèñû è ïîñûëàåò Àëèñå. Ýòî âñêðûòèå áóäåò ðàáîòàòü, äàæå åñëè îòêðûòûå êëþ÷è Àëèñû è Áîáà õðàíÿòñÿ â áàçå äàííûõ . Ìýëëîðè ìîæåò ïåðåõâàòèòü çàïðîñ Àëèñû ê áàçå äàííûõ è ïîäìåíèòü îòêðûòûé êëþ÷ Áîáà ñâîèì ñîáñòâåííûì . Òî æå ñàìîå îí ìîæåò ñäåëàòü è ñ îòêðûòûì êëþ÷îì Àëèñû . Èëè, åùå ëó÷øå, îí ìîæåò èñïîäòèøêà âçëîìàòü áàçó äàííûõ è ïîäìåíèòü îòêðûòûå êëþ÷è Áîáî è Àëèñû ñâîèì . Òåïåðü îí ìîæåò ïðåóñïåòü, ïðîñòî äîæäàâøèñü, ïîêà Àëèñà è Áîá íà÷íóò îáìåíèâàòüñÿ ñîîáùåíèÿìè, è íà÷àâ ïåðåõâàòûâàòü è èçìåíÿòü ýòè ñîîáùåíèÿ . Òàêîå âñêðûòèå "÷åëîâåê-â-ñåðåäèíå" ðàáîòàåò, òàê êàê ó Àëèñû è Áîáà íåò ñïîñîáà ïðîâåðèòü, äåéñòâ èòåëüíî ëè îíè îáùàþòñÿ èìåííî äðóã ñ äðóãîì . Åñëè âìåøàòåëüñòâî Ìýëëîðè íå ïðèâîäèò ê çàìåòíûì çàäåð æêàì â ñåòè, îáà êîððåñïîíäåíòà è íå ïîäóìàþò, ÷òî êòî-òî, ñèäÿùèé ìåæäó íèìè, ÷èòàåò âñþ èõ ñåêðåòíóþ ïî ÷òó. Ïðîòîêîë "äåðæàñü çà ðóêè" Ïðîòîêîë "äåðæàñü çà ðóêè", èçîáðåòåííûé Ðîíîì Ðèâåñòîì ( Ron Rivest) è Ýäè Øàìèðîì (Adi Shamir) [1327], ïðåäîñòàâëÿåò íåïëîõóþ âîçìîæíîñòü èçáåæàòü âñêðûòèÿ "÷åëîâåê-â-ñåðåäèíå" . Âîò êàê îí ðàáîòàåò: (1) Àëèñà ïîñûëàåò Áîáó ñâîé îòêðûòûé êëþ÷. (2) Áîá ïîñûëàåò Àëèñå ñâîé îòêðûòûé êëþ÷. (3) Àëèñà çàøèôðîâûâàåò ñâîå ñîîáùåíèå îòêðûòûì êëþ÷îì Áîáà. Ïîëîâèíó çàøèôðîâàííîãî ñîîáùåíèÿ îíà îòïðàâëÿåò Áîáó. (4) Áîá çàøèôðîâûâàåò ñâîå ñîîáùåíèå îòêðûòûì êëþ÷îì Àëèñû. Ïîëîâèíó çàøèôðîâàííîãî ñîîáùåíèÿ îí îòïðàâëÿåò Àëèñå. (5) Àëèñà îòïðàâëÿåò Áîáó âòîðóþ ïîëîâèíó çàøèôðîâàííîãî ñîîáùåíèÿ. (6) Áîá ñêëàäûâàåò äâå ÷àñòè ñîîáùåíèÿ Àëèñû è ðàñøèôðîâûâàåò åãî ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. Áîá îòïðàâëÿåò Àëèñå âòîðóþ ïîëîâèíó ñâîåãî çàøèôðîâàííîãî ñîîáùåíèÿ. (7) Àëèñà ñêëàäûâàåò äâå ÷àñòè ñîîáùåíèÿ Áîáà è ðàñøèôðîâûâàåò åãî ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. Èäåÿ â òîì, ÷òî ïîëîâèíà çàøèôðîâàííîãî ñîîáùåíèÿ áåñïîëåçíà áåç âòîðîé ïîëîâèíû, îíà íå ìîæåò áûòü äåøèôðèðîâàíà. Áîá íå ñìîæåò ïðî÷èòàòü íè îäíîé ÷àñòè ñîîáùåíèÿ Àëèñû äî ýòàïà (6), à Àëèñà íå ñìîæåò ïðî÷èòàòü íè îäíîé ÷àñòè ñîîáùåíèÿ Áîáà äî ýòàïà (7). Ñóùåñòâóåò ìíîæåñòâî ñïîñîáîâ ðàçáèòü ñîîáùåíèå íà ÷àñòè: Åñëè èñïîëüçóåòñÿ áëî÷íûé àëãîðèòì øèôðîâàíèÿ, ïîëîâèíà êàæäîãî áëîêà (íàïðèìåð, êàæäûé âòîðîé áèò) ìîæåò áûòü ïåðåäàíà â êàæäîé ïîëîâèíå ñîîáùåíèÿ. Äåøèôðèðîâàíèå ñîîáùåíèÿ ìîæåò çàâèñåòü îò âåêòîðà èíèöèàëèçàöèè (ñì. ðàçäåë 9.3), êîòîðûé ìîæåò áûòü ïåðåäàí âî âòîðîé ÷àñòè ñîîáùåíèÿ. Ïåðâàÿ ïîëîâèíà ñîîáùåíèÿ ìîæåò áûòü îäíîíàïðàâëåííîé õýø -ôóíêöèåé øèôðîâàííîãî ñîîáùåíèÿ (ñì. ðàçäåë 2.4), à âî âòîðàÿ ïîëîâèíà - ñîáñòâåííî øèôðîâàííûì ñîîáùåíèåì. ×òîáû ïîíÿòü, êàê òàêîé ïðîòîêîë ïîìåøàåò Ìýëëîðè, äàâàéòå ðàññìîòðèì åãî ïîïûòêó íàðóøèòü ïðîòîêîë . Êàê è ðàíüøå, îí ìîæåò ïîäìåíèòü îòêðûòûå êëþ÷è Àëèñû è Áîáà ñâîèì íà ýòàïàõ (1) è (2) . Íî òåïåðü, ïåðåõâàòèâ ïîëîâèíó ñîîáùåíèÿ Àëèñû íà ýòàïå (3), îí íå ñìîæåò ðàñøèôðîâàòü åå ñâîèì çàêðûòûì êëþ÷îì è ñí îâà çàøèôðîâàòü îòêðûòûì êëþ÷îì Áîáà . Îí ìîæåò ñîçäàòü ñîâåðøåííî íîâîå ñîîáùåíèå è îòïðàâèòü ïîëîâèíó åãî Áîáó. Ïåðåõâàòèâ ïîëîâèíó ñîîáùåíèÿ Áîáà Àëèñå íà ýòàïå (4), Ìýëëîðè ñòîëêíåòñÿ ñ ýòîé æå ïðîáëåìîé . Îí íå ñìîæåò ðàñøèôðîâàòü åå ñâîèì çàêðûòûì êëþ÷îì è ñíîâà çàøèôðîâàòü îòêðûòûì êëþ÷îì Àëèñû . Åìó ïðèäåòñÿ ñîçäàòü ñîâåðøåííî íîâîå ñîîáùåíèå è îòïðàâèòü ïîëîâèíó åãî Àëèñå . Ê òîìó âðåìåíè, êîãäà îí ïåðåõâàòèò âòîðûå ïîëîâèíû íàñòîÿùèõ ñîîáùåíèé íà ýòàïàõ (5) è (6), ïîäìåíÿòü ñîçäàííûå èì íîâûå ñîîáùåíèÿ áóäåò ñëèøêîì ïîçäíî. Îáìåí äàííûìè ìåæäó Àëèñîé è Áîáîì èçìåíèòñÿ ðàäèêàëüíî . Ìýëëîðè ìîæåò ïîïûòàòüñÿ èçáåæàòü òàêîãî ðåçóëüòàòà. Åñëè îí äîñòàòî÷íî õîðîøî çíàåò îáîèõ êîððåñïî íäåíòîâ, ÷òîáû ñûìèòèðîâàòü èõ ïðè îáìåíå äàííûìè , îíè ìîãóò íèêîãäà íå çàìåòèòü ïîäìåíû . Íî âñå-òàêè ýòî ñëîæíåå, ÷åì ïðîñòî ñèäåòü ìåæäó êîððåñïîíäåíòàìè, ïåðåõâàòûâàÿ è ÷èòàÿ èõ ñîîáùåíèÿ .
Îáìåí êëþ÷àìè ñ ïîìîùüþ öèôðîâûõ ïîäïèñåé Èñïîëüçîâàíèå öèôðîâîé ïîäïèñè â ïðîòîêîëå îáìåíà ñåàíñîâûì êëþ÷îì òàêæå ïîçâîëÿåò èçáåæàòü âñêð ûòèÿ "÷åëîâåê-â-ñåðåäèíå". Òðåíò ïîäïèñûâàåò îòêðûòûå êëþ÷è Àëèñû è Áîáà . Ïîäïèñàííûå êëþ÷è âêëþ÷àþò ïîäïèñàííîå çàâåðåíèå ïîäëèííîñòè . Ïîëó÷èâ êëþ÷è, è Àëèñà, è Áîá ïðîâåðÿþò ïîäïèñü Òðåíòà . Òåïåðü îíè óâåðåíû, ÷òî ïðèñëàííûé îòêðûòûé êëþ÷ ïðèíàäëåæèò èìåííî óêàçàííîìó êîððåñïîíäåíòó . Çàòåì âûïîëíÿåòñÿ ïðîòîêîë îáìåíà êëþ÷àìè. Ìýëëîðè ñòàëêèâàåòñÿ ñ ñåðüåçíûìè ïðîáëåìàìè. Îí íå ìîæåò âûäàòü ñåáÿ çà Àëèñó èëè Áîáà, âåäü îí íå çíàåò èõ çàêðûòûõ êëþ÷åé. Îí íå ìîæåò ïîäìåíèòü èõ îòêðûòûå êëþ÷è ñâîèì, ïîòîìó ÷òî ïðè ïîäïèñè åãî êëþ÷à Òðåíò óêàçàë, ÷òî ýòî êëþ÷ Ìýëëîðè. Âñå, ÷òî åìó îñòàåòñÿ - ýòî ïðîñëóøèâàòü çàøèôðîâàííûé ïîòîê ñîîáùåíèé èëè èñïîðòèòü ëèíèè ñâÿçè, ìåøàÿ îáìåíó èíôîðìàöèè Àëèñû è Áîáà . Òðåíò âûñòóïàåò ó÷àñòíèêîì ýòîãî ïðîòîêîëà, íî ðèñê êîìïðîìåòàöèè KDC ìåíüøå, ÷åì â ïåðâîì ïðîòîêîëå. Åñëè Ìýëëîðè êîìïðîìåòèðóåò Òðåíòà (âçëàìûâàåò KDC), îí ïîëó÷àåò òîëüêî çàêðûòûé êëþ÷ Òðå íòà. Ýòîò êëþ÷ ïîçâîëèò åìó òîëüêî ïîäïèñûâàòü íîâûå êëþ÷è, à íå ðàñøèôðîâûâàòü ñåàíñîâûå êëþ÷è èë ÷ èòàòü ïðîèçâîëüíûé ïîòîê ñîîáùåíèé . Äëÿ ÷òåíèÿ ñîîáùåíèé Ìýëëîðè ïðèäåòñÿ âûäàòü ñåáÿ çà ïîëüçîâàòåëÿ ñåòè è îáìàíûâàòü ÷åñòíûõ ïîëüçîâàòåëåé, øèôðóÿ ñîîáùåíèÿ ñâîèì ïîääåëüíûì îòêðûòûì êëþ÷îì . Ìýëëîðè ìîæåò ïðåäïðèíÿòü òàêîå âñêðûòèå . Èñïîëüçóÿ çàêðûòûé êëþ÷ Òðåíòà, îí ìîæåò ñîçäàòü ïîääåë üíûå ïîäïèñàííûå êëþ÷è, ÷òîáû îáìàíóòü Àëèñó è Áîáà . Çàòåì îí ìîæåò ëèáî ïîäìåíèòü ýòèìè êëþ÷àìè í àñòîÿùèå êëþ÷è â áàçå äàííûõ, ëèáî ïåðåõâàòûâàòü çàïðîñû ïîëüçîâàòåëåé ê áàçå äàííûõ è ïîñûëàòü â îòâåò ïîääåëüíûå êëþ÷è. Ýòî ïîçâîëèò åìó îñóùåñòâèòü âñêðûòèå "÷åëîâåê-â-ñåðåäèíå" è ÷èòàòü ñîîáùåíèÿ ïîëüç îâàòåëåé. Òàêîå âñêðûòèå áóäåò ðàáîòàòü, íî ïîìíèòå, ÷òî äëÿ ýòîãî Ìýëëîðè äîëæåí óìåòü ïåðåõâàòûâàòü è èçìåíÿòü ñîîáùåíèÿ.  ðÿäå ñåòåé ýòî íàìíîãî ñëîæíåå, ÷åì ïðîñòî ïàññèâíî ñèäåòü, ïðîñìàòðèâàÿ ñîîáùåíèÿ â ñåòè ïî ìåðå èõ ïîñòóïëåíèÿ.  øèðîêîâåùàòåëüíûõ êàíàëàõ, òàêèõ êàê ðàäèîñåòü, ïî÷òè íåâîçìîæíî ïîäìåíèòü îäíî ñîîáùåíèå äðóãèì - õîòÿ ìîæíî çàáèòü âñþ ñåòü .  êîìïüþòåðíûõ ñåòÿõ ýòî ìåíåå ñëîæíî è, êàæåòñÿ, ñ êàæäûì äíåì ñòàíîâèòñÿ ïðîùå è ïðîùå. Îáðàòèòå âíèìàíèå íà ïîäìåíó IP-àäðåñà, âñêðûòèå ìàðøðóòèçàòîðà è ò.ï. Àêòèâíîå âñêðûòèå íå îáÿçàòåëüíî îçíà÷àåò, ÷òî êòî-òî çàñîâûâàåò çîíä â ëþê, äà è âûïîëíÿòü èõ òåïåðü ìîãóò íå òîëüêî ïðàâèòåëüñòâåííûå àãåíòñòâà . Ïåðåäà÷à êëþ÷åé è ñîîáùåíèé Àëèñå è Áîáó íå îáÿçàòåëüíî âûïîëíÿòü ïðîòîêîë îáìåíà êëþ÷àìè ïåðåä îáìåíîì ñîîáùåíèÿìè.  ýòîì ïðîòîêîëå Àëèñà îòïðàâëÿåò Áîáó ñîîáùåíèå áåç ïðåäâàðèòåëüíîãî ïðîòîêîëà îáìåíà êëþ÷àìè : (1) Àëèñà ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷, K, è çàøèôðîâûâàåò M ýòèì êëþ÷îì. EK(M) (2) Àëèñà ïîëó÷àåò îòêðûòûé êëþ÷ Áîáà èç áàçû äàííûõ. (3) Àëèñà øèôðóåò K îòêðûòûì êëþ÷îì Áîáà. EB(K) (4) Àëèñà ïîñûëàåò Áîáó øèôðîâàííûå ñîîáùåíèå è ñåàíñîâûé êëþ÷. EK(M), EB(K) Äëÿ äîïîëíèòåëüíîé çàùèòû îò âñêðûòèÿ "÷åëîâåê-â-ñåðåäèíå" Àëèñà ïîäïèñûâàåò ïåðåäà÷ó. (5) Áîá ðàñøèôðîâûâàåò ñåàíñîâûé êëþ÷ Àëèñû, K, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷. (6) Áîá, èñïîëüçóÿ ñåàíñîâûé êëþ÷, ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû. Ïîäîáíàÿ ñìåøàííàÿ ñèñòåìà è óïîòðåáëÿåòñÿ ÷àùå âñåãî â ñèñòåìàõ ñâÿçè . Åå ìîæíî ñîåäèíèòü ñ öèôðîâûìè ïîäïèñÿìè, ìåòêàìè âðåìåíè è äðóãèìè ïðîòîêîëàìè îáåñïå÷åíèÿ áåçîïàñí îñòè. Øèðîêîâåùàòåëüíàÿ ðàññûëêà êëþ÷åé è ñîîáùåíèé Íå ñóùåñòâóåò ïðè÷èí, çàïðåùàþùèõ Àëèñå ïîñûëàòü øèôðîâàííîå ñîîáùåíèå íåñêîëüêèì ëþäÿì .  ñëåäóþùåì ïðèìåðå Àëèñà ïîñûëàåò øèôðîâàííîå ñîîáùåíèå Áîáó, Êýðîë è Äýéâó : (1) Àëèñà ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷, K, è çàøèôðîâûâàåò M ýòèì êëþ÷îì. EK(M) (2) Àëèñà ïîëó÷àåò èç áàçû äàííûõ îòêðûòûå êëþ÷è Áîáà, Êýðîë è Äýéâà. (3) Àëèñà øèôðóåò K îòêðûòûìè êëþ÷àìè Áîáà, Êýðîë è Äýéâà.
EB(K), EC(K), ED(K) (4) Àëèñà øèðîêîâåùàòåëüíî ïîñûëàåò øèôðîâàííîå ñîîáùåíèå è âñå øèôðîâàííûå êëþ÷è ñâîèì êîððå ñïîíäåíòàì. EK(M), EB(K), EC(K), ED(K) (5) Òîëüêî Áîá, Êýðîë è Äýéâ ìîãóò, êàæäûé ïðè ïîìîùè ñâîåãî çàêðûòîãî êëþ÷à, ðàñøèôðîâàòü êëþ÷ K. (6) Òîëüêî Áîá, Êýðîë è Äýéâ ìîãóò ðàñøèôðîâàòü ñîîáù åíèå Àëèñû, èñïîëüçóÿ K. Ýòîò ïðîòîêîë ìîæåò áûòü ðåàëèçîâàí äëÿ ñåòåé ýëåêòðîííîé ïî÷òû . Öåíòðàëüíûé ñåðâåð ìîæåò îòïðàâèòü ñîîáùåíèå Àëèñû Áîáó, Êýðîë è Äýéâó âìåñòå ñ êîíêðåòíûì øèôðîâàííûì êëþ÷îì. Ñåðâåð íå äîëæåí áûòü íàäåæíûì è áåçîïàñíûì, òàê êàê îí íå ìîæåò ðàñøèôðîâàòü íè îäíî èç ñîîáùåíèé.
3.2 Óäîñòîâåðåíèå ïîäëèííîñòè Êîãäà Àëèñà ïîäêëþ÷àåòñÿ ê ãëàâíîìó êîìïüþòåðó (èëè ê àâòîìàòè÷åñêîìó, èëè ê òåëåôîííîé áàíêîâñêîé ñèñòåìå, èëè ê êàêîìó-íèáóäü äðóãîìó òåðìèíàëó ), êàê ãëàâíûé êîìïüþòåð óçíàåò, êòî îíà? Îòêóäà ãëàâíûé êîìïüþòåð óçíàåò, ÷òî ýòî íå Åâà, ïûòàþùàÿñÿ âûäàòü ñåáÿ çà Àëèñó ? Îáû÷íî ýòà ïðîáëåìà ðåøàåòñÿ ñ ïîì îùüþ ïàðîëåé. Àëèñà ââîäèò ñâîé ïàðîëü, è ãëàâíûé êîìïüþòåð ïðîâåðÿåò åãî ïðàâèëüíîñòü . Òàêèì îáðàçîì, è Àëèñå, è ãëàâíîìó êîìïüþòåðó èçâåñòíà íåêîòîðàÿ ñåêðåòíàÿ èíôîðìàöèÿ, êîòîðóþ ãëàâíûé êîìïüþòåð ç àïðàøèâàåò âñÿêèé ðàç, êîãäà Àëèñà ïûò àåòñÿ ïîäêëþ÷èòñÿ. Óäîñòîâåðåíèå ïîäëèííîñòè ñ ïîìîùüþ îäíîíàïðàâëåííûõ ôóíêöèé Ðîäæåð Íååäõýì (Roger Needham) è Ìàéê Ãàé (Mike Guy) ïîêàçàëè, ÷òî ãëàâíîìó êîìïüþòåðó íå íóæíî çíàòü ñàìè ïàðîëè, âïîëíå äîñòàòî÷íî, ÷òîáû ãëàâíûé êîìïüþòåð ìîã îòëè÷àòü ïðàâèëüíûå ïàðîëè îò íåïð àâèëüíûõ. Ýòîãî ëåãêî äîñòè÷ü ñ ïîìîùüþ îäíîíàïðàâëåííûõ ôóíêöèé [1599, 526,1274, 1121]. Ïðè ýòîì íà ãëàâíîì êîìïüþòåðå õðàíÿòñÿ çíà÷åíèÿ îäíîíàïðàâëåííûõ ôóíêöèé ïàðîëåé, à íå ñàìè ïàðîëè . (1) Àëèñà ïîñûëàåò ãëàâíîìó êîìïüþòåðó ñâîé ïàðîëü. (2) Ãëàâíûé êîìïüþòåð âû÷èñëÿåò îäíîíàïðàâëåííóþ ôóíêöèþ ïàðîëÿ. (3) Ãëàâíûé êîìïüþòåð ñðàâíèâàåò ïîëó÷åííîå çíà÷åíèå ñ õðàíÿùèìñÿ. Ðàç ãëàâíûé êîìïüþòåð áîëüøå íå õðàíèò òàáëèöó ïðàâèëüíûõ ïàðîëåé âñåõ ïîëüçîâàòåëåé, ñíèæàåòñÿ ó ãðîçà òîãî, ÷òî êòî-òî ïðîíèêíåò â ãëàâíûé êîìïüþòåð è âûêðàäåò òàáëèöó ïàðîëåé . Ñïèñîê ïàðîëåé, îáðàáîòàííûé îäíîíàïðàâëåííîé ôóíêöèåé, áåñïîëåçåí, òàê êàê îäíîíàïðàâëåííóþ ôóíêöèþ íå óäàñòñÿ èíâåðòèðîâàòü äëÿ ïîëó÷åíèÿ ïàðîëåé. Âñêðûòèÿ ñ ïîìîùüþ ñëîâàðÿ è "ñîëü" Ôàéë ïàðîëåé, çàøèôðîâàííûõ îäíîíàïðàâëåííîé ôóíêöèåé, òåì íå ìåíåå, óÿçâèì. Èìåÿ çàïàñ âðåìåíè, Ìýëëîðè ìîæåò ñîñòàâèòü ñïèñîê èç ìèëëèîíà íàèáîëåå ÷àñòî âñòðå÷àþùèõñÿ ïàðîëåé . Îí îáðàáîòàåò âåñü ìèëëèîí îäíîíàïðàâëåííîé ôóíêöèåé è ñîõðàíèò ðåçóëüòàò . Åñëè êàæäûé ïàðîëü ñîñòîèò èç âîñüìè áàéò, ðà çìåð ïîëó÷èâøåãîñÿ ôàéëà íå ïðåâûñèò 8 Ìáàéò, è ýòîò ôàéë ìîæåò áûòü ðàçìåùåí âñåãî íà íåñêîëüêèõ íà äè ñêåòàõ. Òåïåðü Ìýëëîðè äîáûâàåò øèôðîâàííûé ôàéë ïàðîëåé . Îí ñðàâíèâàåò ýòîò ôàéë ñî ñâîèì ôàéëîì øè ôðîâàííûõ âîçìîæíûõ ïàðîëåé è èùåò ñîâïàäåíèÿ . Ýòî âñêðûòèå ñ ïîìîùüþ ñëîâàðÿ ìîæåò áûòü óäèâèòåëüíî óñïåøíûì (ñì. ðàçäåë 8.1). "Ñîëü" - ýòî ñïîñîá çàòðóäíèòü åãî. "Ñîëü" ïðåäñòàâëÿåò ñîáîé ñëó÷àéíóþ ñòðîêó, äîáàâëÿåìóþ ê ïàðîëÿì ïåðåä îáðàáîòêîé èõ îäíîíàïðàâëåííîé ôóíêöèåé. Çàòåì â áàçå äàííûõ ãëàâíîãî êîìïüþòåðà ñîõðàíÿþòñÿ è çíà÷åíèå "ñîëè", è ð åçóëüòàò îäíîíàïðàâëåííîé ôóíêöèè . Èñïîëüçîâàíèå äîñòàòî÷íî áîëüøîãî ÷èñëà âîçìîæíûõ çíà÷åíèé "ñîëè" ïðàêòè÷åñêè óñòðàíÿåò âîçìîæíîñòü âñêðûòèÿ ñ ïîìîùüþ ñëîâàðÿ, òàê êàê Ìýëëîðè ïðèäåòñÿ âû÷èñëÿòü çíà÷ åíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè äëÿ êàæäîãî âîçìîæíîãî çíà÷åíèÿ "ñîë è". Ýòî ïðîñòåéøèé ïðèìåð èñïîëüçîâàíèå âåêòîðà èíèöèàëèçàöèè (ñì. ðàçäåë 9.3). Èäåÿ ñîñòîèò â òîì, ÷òîáû çàñòàâèòü Ìýëëîðè âûïîëíèòü ïðîáíîå øèôðîâàíèå êàæäîãî ïàðîëÿ èç åãî ñë îâàðÿ ïðè êàæäîé ïîïûòêå óçíàòü ÷åé-òî ÷óæîé ïàðîëü âìåñòî îäíîðàçîâîé îáðàáîòêè âñåõ âîçìîæíûõ ïàðîëåé . Äëÿ ýòîãî íóæíî ìíîãî "ñîëè". Áîëüøèíñòâî UNIX-ñèñòåì èñïîëüçóþò äëÿ "ñîëè" 12 áèò . Íåñìîòðÿ íà ýòî Äýíèåë Êëÿéí (Daniel Klein) íàïèñàë ïðîãðàììó ðàçãàäûâàíèÿ ïàðîëåé, êîòîðàÿ â íåêîòîðûõ ñèñòåìàõ çà íåä åëþ ÷àñòî âñêðûâàëà 40 ïðîöåíòîâ ïàðîëåé [847,848] (ñì. ðàçäåë 8.1). Äýâèä Ôåëüäìàéåð (David Feldmeier) è Ôèëèï Êàí (Philip Karn) ñîñòàâèëè ñïèñîê èç 732000 íàèáîëåå ÷àñòî èñïîëüçóåìûõ ïàðîëåé, ïðèñîåäèíèâ ê ê àæäîìó èç íèõ 4096 âîçìîæíûõ çíà÷åíèé "ñîëè". Ïî èõ îöåíêàì 30 ïðîöåíòîâ ïàðîëåé íà ëþáîì ãëàâíîì êî ìïüþòåðå ìîãóò áûòü âçëîìàíû ñ ïîìîùüþ ýòîãî ñïèñêà [561]. "Ñîëü" íå ÿâëÿåòñÿ ïàíàöååé, óâåëè÷åíèå ÷èñëà áèò "ñîëè" íå ðåøèò âñåõ ïðîáëåì . "Ñîëü" ïðåäîõðàíÿåò
òîëüêî îò ñàìûõ îáû÷íûõ âñêðûòèé ôàéëà ïàðîëåé ñ èñïîëüçîâàíèåì ñëîâàðÿ, à íå îò ñîãëàñîâàííîé àòàêå î äíîãî ïàðîëÿ. Îíà çàùèùàåò ëþäåé, èñïîëüçóþùèõ îäèí è òîò æå ïàðîëü íà ðàçëè÷íûõ ìàøèíàõ, íî íå äåëàåò ëó÷øå ïëîõî âûáðàííûé ïàðîëü . SKEY SKEY - ýòî ïðîãðàììà óäîñòîâåðåíèÿ ïîäëèííîñòè, îáåñïå÷èâàþùàÿ áåçîïàñíîñòü ñ ïîìîùüþ îäíîíàïðà âëåííîé ôóíêöèè. Ýòî ëåãêî îáúÿñíèòü. Ðåãèñòðèðóÿñü â ñèñòåìå, Àëèñà çàäàåò ñëó÷àéíîå ÷èñëî , R. Êîìïüþòåð âû÷èñëÿåò f(R), f(f(R)), f(f(f(R))), è òàê äàëåå, îêîëî ñîòíè ðàç. Îáîçíà÷èì ýòè çíà÷åíèÿ êàê x1, x2, x3, ..., x100. Êîìïüþòåð ïå÷àòàåò ñïèñîê ýòèõ ÷èñåë, è Àëèñà ïðÿ÷åò åãî â áåçîïàñíîå ìåñòî. Êîìïüþòåð òàêæå îòêðûòûì òåêñòîì ñòàâèò â áàçå äàííûõ ïîäêëþ÷åíèÿ ê ñèñòåìå â ñîîòâåòñòâèå Àëèñå ÷èñëî x101. Ïîäêëþ÷àÿñü âïåðâûå, Àëèñà ââîäèò ñâîå èìÿ è x100. Êîìïüþòåð ðàññ÷èòûâàåò f(x100) è ñðàâíèâàåò åãî ñ x101, åñëè çíà÷åíèÿ ñîâïàäàþò, ïðàâà Àëèñû ïîäòâåðæäàþòñÿ . Çàòåì êîìïüþòåð çàìåíÿåò â áàçå äàííûõ x101 íà x100. Àëèñà âû÷åðêèâàåò x100 èç ñâîåãî ñïèñêà. Àëèñà, ïðè êàæäîì ïîäêëþ÷åíèè ê ñèñòåìå, ââîäèò ïîñëåäíåå íåâû÷åðêíóòîå ÷èñëî èç ñâîåãî ñïèñêà: xi . Êîìïüþòåð ðàññ÷èòûâàåò f(xi ) è ñðàâíèâàåò åãî ñ xi+1, õðàíèâøåìñÿ â áàçå äàííûõ. Òàê êàê êàæäûé íîìåð èñïîëüçóåòñÿ òîëüêî îäèí ðàç, Åâà íå ñìîæåò äîáûòü íèêàêîé ïîëåçíîé èíôîðìàöèè . Àíàëîãè÷íî, áàçà äàííûõ áåñïîëåçíà è äëÿ âçëîìùèêà. Êîíå÷íî æå, êàê òîëüêî ñïèñîê Àëèñû èñ÷åðïàåòñÿ åé ïðèäåòñÿ ïåðåðåãèñòðèð îâàòüñÿ â ñèñòåìå. Óäîñòîâåðåíèå ïîäëèííîñòè ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Äàæå ñ èñïîëüçîâàíèåì "ñîëè" ó ïåðâîãî ïðîòîêîëà åñòü ñåðüåçíûå ïðîáëåìû ñ áåçîïàñíîñòüþ . Êîãäà Àëèñà ïîñûëàåò ñâîé ïàðîëü ãëàâíîìó êîìïüþòåðó, ëþáîé, ó êîãî åñòü äîñòóï ïóòè ïåðåäà÷è åå äàííûõ, ìîæåò ïð î÷åñòü ïàðîëü. Îíà ìîæåò ïîëó÷èòü äîñòóï ê ñâîåìó ãëàâíîìó êîìïüþòåðó ïîñðåäñòâîì çàïóòàííîãî ïóòè ïåð åäà÷è èíôîðìàöèè, ïðîëîæèâ åãî ÷åðåç ÷åòûðåõ ïðîìûøëåííûõ êîíêóðåíòîâ, òðè äðóãèõ ñòðàíû è äâà ïåðåä îâûõ óíèâåðñèòåòà. Åâà ìîæåò íàõîäèòüñÿ â ëþáîé èç ýòèõ òî÷åê, ïîäñëóøèâàÿ ïåðåäàâàåìóþ Àëèñîé ïîñëåä îâàòåëüíîñòü. Åñëè ó Åâû åñòü äîñòóï ê îïåðàòèâíîé ïàìÿòè ãëàâíîãî êîìïüþòåðà, îíà ñìîæåò ïîäñìîòðåòü ï àðîëü äî òîãî, êàê ãëàâíûé êîìïüþòåð ñìîæåò åãî õýøèðîâàòü . Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè ìîæåò ðåøèòü ýòó ïðîáëåìó . Ãëàâíûé êîìïüþòåð õðàíèò ôàéë îòêð ûòûõ êëþ÷åé âñåõ ïîëüçîâàòåëåé, à âñå ïîëüçîâàòåëè õðàíÿò ñâîè çàêðûòûå êëþ÷è . Âîò êàê âûãëÿäèò óïðîùåííàÿ ïîïûòêà îðãàíèçîâàòü ïðîòîêîë ïîäêëþ÷åíèÿ : (1) Ãëàâíûé êîìïüþòåð ïîñûëàåò Àëèñå ñëó÷àéíóþ ñòðîêó. (2) Àëèñà øèôðóåò ýòó ñòðîêó ñâîèì çàêðûòûì êëþ÷îì è ïîñûëàåò åå îáðàòíî ãëàâíîìó êîìïüþòåðó âìåñòå ñî ñâîèì èìåíåì. (3) Ãëàâíûé êîìïüþòåð íàõîäèò â áàçå äàííûõ îòêðûòûé êëþ÷ Àëèñû è äåøèôðèðóåò ñîîáùåíèå, èñïîëüçóÿ ýòîò îòêðûòûé êëþ÷. (4) Åñëè îòïðàâëåííàÿ ñíà÷àëà è ðàñøèôðîâàííàÿ ñòðîêè ñîâïàäàþò, ãëàâíûé êîìïüþòåð ïðåäîñòàâëÿåò Àëèñå äîñòóï ê ñèñòåìå Íèêòî äðóãîé íå ìîæåò âîñïîëüçîâàòüñÿ çàêðûòûì êëþ÷îì Àëèñû, ñëåäîâàòåëüíî íèêòî íå ñìîæåò âûäàòü ñåáÿ çà íåå. ×òî áîëåå âàæíî, Àëèñà íèêîãäà íå ïîñûëàåò íà êîìïüþòåð ñâîé çàêðûòûé êëþ÷ . Åâà, ïîäñëóøèâàÿ âçàèìîäåéñòâèå, íå ïîëó÷èò íèêàêèõ ñâåäåíèé , êîòîðûå ïîçâîëèëè áû åé âû÷èñëèòü çàêðûòûé êëþ÷ Àëèñû è âûäàòü ñåáÿ çà íåå. Çàêðûòûé êëþ÷ äîëæåí áûòü äîñòàòî÷íî äëèííûì è íå äîëæåí áûòü ìíåìîíè÷åñêèì. Îí áóäåò àâòîìàòè÷ åñêè îáðàáàòûâàòüñÿ àïïàðàòóðîé ïîëüçîâàòåëÿ èëè ïðîãðàììíûì îáåñïå÷åíèåì ñâÿçè . Ýòî òðåáóåò èñïîëüçîâàíèÿ "óìíîãî" òåðìèíàëà, êîòîðîìó Àëèñà äîâåðÿåò, íî íå ãëàâíûé êîìïüþòåð, íè ëèíèè ñâÿçè íå îáÿçàíû áûòü áåçîïàñíûìè. Ãëóïî øèôðîâàòü ïðîèçâîëüíûå ñòðîêè - íå òîëüêî ïîñëàííûå ïîäîçðèòåëüíûì àâòîðîâ, íî è âîîáùå ëþáûå . Èíà÷å ìîæåò áûòü èñïîëüçîâàíî ñõåìà âñêðûòèÿ, îáñóæäàåìàÿ â ðàçäåëå 19.3. Áåçîïàñíûå èäåíòèôèêàöèîííûå ïðîòîêîëû èìåþò ñëåäóþùóþ, áîëåå ñëîæíóþ ôîðìó : (1) Àëèñà âûïîëíÿåò âû÷èñëåíèå, îñíîâàííîå íà íåêîòîðûõ ñëó÷àéíûõ ÷èñëàõ è ñâîåì çàêðûòîì êëþ÷å, è ï îñûëàåò ðåçóëüòàò íà ãëàâíûé êîìïüþòåð. (2) Ãëàâíûé êîìïüþòåð ïîñûëàåò äðóãîå ñëó÷àéíîå ÷èñëî. (3) Àëèñà âûïîëíÿåò íåêîòîðîå âû÷èñëåíèå, îñíîâàííîå íà ñëó÷àéíûõ ÷èñëàõ (êàê ñîçäàííîì åþ, òàê è ïîë ó÷åííîì îò ãëàâíîãî êîìïüþòåðà) è ñâîåì çàêðûòîì êëþ÷å, è ïîñûëàåò ðåçóëüòàò íà ãëàâíûé êîìïüþòåð.
(4) Ãëàâíûé êîìïüþòåð âûïîëíÿåò íåêîòîðîå âû÷èñëåíèå äëÿ ðàçëè÷íûõ ÷èñåë, ïîëó÷åííûõ îò Àëèñû, è åå îòêðûòîãî êëþ÷à, ïðîâåðÿÿ, ÷òî åé èçâåñòåí åå çàêðûòûé êëþ÷. (5) Åñëè ïðîâåðêà çàâåðøàåòñÿ óñïåøíî, ëè÷íîñòü Àëèñû ïîäòâåðæäàåòñÿ. Åñëè Àëèñû äîâåðÿåò ãëàâíîìó êîìïüþòåðó íå â áîëüøåé ñòåïåíè, ÷åì òîò äîâåðÿåò Àëèñå, òî îíà äîëæíà ïîòðåáîâàòü ïîäòâåðæäåíèÿ ïîäëèííîñòè ãëàâíîãî êîìïüþòåðà àíàëîãè÷íûì îáðàçîì . Ýòàï (1) ìîæåò ïîêàçàòüñÿ íåíóæíûì è çàïóòàííûì, íî îí íåîáõîäèì äëÿ çàùèòû ïðîòîêîëà îò âñêðûòèÿ . Ðàçëè÷íûå ïðîòîêîëû è àëãîðèòìû ïîäòâåðæäåíèÿ ïîäëèííîñòè ìàòåìàòè÷åñêè ïîäðîáíî îïèñûâàþòñÿ â ðà çäåëàõ 21.1 è 21.2. Ñì. òàêæå [935]. Îáîþäíîå óäîñòîâåðåíèå ïîäëèííîñòè ñ èñïîëüçîâàíèåì ïðîòîêîëà "äåðæàñü çà ðóêè" Ïóñòü äâà ïîëüçîâàòåëÿ, Àëèñà è Áîá, õîòÿò ïðîâåðèòü ïîäëèííîñòü äðóã äðóãà . Ó êàæäîãî èç íèõ åñòü ïàðîëü, èçâåñòíûé äðóãîìó ïîëüçîâàòåëþ : PA ó Àëèñû è PB ó Áîáà. Âîò êàê âûãëÿäèò ïðîòîêîë, êîòîðûé íå áóäåò ðàáîòàòü: (1) Àëèñà è Áîá îáìåíèâàþòñÿ îòêðûòûìè êëþ÷àìè. (2) Àëèñà øèôðóåò PA îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî åìó. (3) Áîá øèôðóåò PB îòêðûòûì êëþ÷îì Àëèñû è ïîñûëàåò åãî åé. (4) Àëèñà ðàñøèôðîâûâàåò ïîëó÷åííîå íà ýòàïå (3) è ïîäòâåðæäàåò ïðàâèëüíîñòü ïàðîëÿ. (5) Áîá ðàñøèôðîâûâàåò ïîëó÷åííîå íà ýòàïå (2) è ïîäòâåðæäàåò ïðàâèëüíîñòü ïàðîëÿ. Ìýëëîðè ìîæåò ïðåäïðèíÿòü óñïåøíîå âñêðûòèå "÷åëîâåê-â-ñåðåäèíå" (ñì. ðàçäåë 3.1): (1) Àëèñà è Áîá îáìåíèâàþòñÿ îòêðûòûìè êëþ÷àìè. Ìýëëîðè ïåðåõâàòûâàåò îáà ñîîáùåíèÿ, è ïîñûëàåò îáîèì êîððåñïîíäåíòàì ñâîé ñîáñòâåííûé îòêðûòûé êëþ÷, ïîäìåíèâ èì èõ êëþ÷è. (2) Àëèñà øèôðóåò PA îòêðûòûì êëþ÷îì "Áîáà" è ïîñûëàåò åãî åìó. Ìýëëîðè ïåðåõâàòûâàåò ñîîáùåíèå, ðàñøèôðîâûâàåò PA ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, ñíîâà øèôðóåò PA îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî åìó. (3) Áîá øèôðóåò PB îòêðûòûì êëþ÷îì "Àëèñû" è ïîñûëàåò åãî åé. Ìýëëîðè ïåðåõâàòûâàåò ñîîáùåíèå, ðà ñøèôðîâûâàåò PB ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, ñíîâà øèôðóåò PB îòêðûòûì êëþ÷îì Àëèñû è ïîñûëàåò åãî åé. (4) Àëèñà ðàñøèôðîâûâàåò PB è ïîäòâåðæäàåò åãî ïðàâèëüíîñòü. (5) Áîá ðàñøèôðîâûâàåò PA è ïîäòâåðæäàåò åãî ïðàâèëüíîñòü. Äëÿ Àëèñû è Áîáà íè÷åãî íå èçìåíèëîñü . Îäíàêî, Ìýëëîðè çíàåò è PA, è PB. Äîíàëüä Äýâèñ (Donald Davies) è Âèëüÿì Ïðàéñ (William Price) îïèñûâàþò, êàê ïðîòîêîë "äåðæàñü-çà-ðóêè" (ñì. ðàçäåë 3.1) ïðîòèâîäåéñòâóåò òàêîìó âñêðûòèþ [435]. Ñòèâ Áåëëîâèí (Steve Bellovin) è Ìàéêë Ìåððèòò (Michael Merritt) ðàññìàòðèâàþò ñïîñîáû âñêðûòèÿ ýòîãî ïðîòîêîëà â [110]. Åñëè Àëèñà - ýòî ïîëüçîâàòåëü, à Áîá - õîñò-êîìïüþòåð , Ìýëëîðè ìîæåò ïðåäïî÷åñòü áûòü Áîáîì, âûïîëíèòü ïåðâûå ýòàïà ïðîòîêîëà ñ Àëèñîé è ðàçîðâàòü ñîåäèíåíèå . Ñèìóëèðîâàíèå øóìà íà ëèíèè èëè ñåòåâîãî îòêàçà ïîòðåáóåò îò Ìýëëîðè íàñòîÿùåãî àðòèñòèçìà, íî â ðåçóëüòàòå Ìýëëîðè ïîëó÷èò ïàðîëü Àëèñû. Çàòåì îí ñìîæåò ñîåäèíèòüñÿ ñ Áîáîì è çàâåðøèòü ïðîòîêîë, ïîëó÷àÿ è ïàðîëü Áîáà . Ïðîòîêîë ìîæíî èçìåíèòü òàê, ÷òîáû Áîá ïåðåäàâàë ñâîé ïàðîëü ïåðåä Àëèñîé â ïðåäïîëîæåíèè, ÷òî ï àðîëü ïîëüçîâàòåëÿ áîëåå âàæåí ÷åì ïàðîëü ãëàâíîãî êîìïüþòåðà . Ýòî ïðèâåäåò ê óñëîæíåíèþ ñïîñîáà âñêð ûòèÿ, òàêæå îïèñàííîãî â [110]. SKID SKID2 è SKID3 - ýòî ñèììåòðè÷íûå êðèïòîãðàôè÷åñêèå ïðîòîêîëû èäåíòèôèêàöèè, ðàçðàáîòàííûå äëÿ ïð îåêòà RACE RIPE [1305] (ñì. ðàçäåë 25.7). Îíè èñïîëüçóþò MAC (ñì. ðàçäåë 2.4) äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè è ïðåäïîëàãàþò, ÷òî Àëèñà è Áîá èñïîëüçóþò îáùèé ñåêðåòíûé êëþ÷ , K. SKID2 ïîçâîëÿåò Áîáó äîêàçàòü ñâîþ ïîäëèííîñòü Àëèñå. Âîò ýòîò ïðîòîêîë: (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî, RA. (Äîêóìåíòàìè RIPE îïðåäåëÿåòñÿ 64-áèòîâîå ÷èñëî). Îíà ïîñûëàåò ýòî ÷èñëî Áîáó. (2) Áîá âûáèðàåò ñëó÷àéíîå ÷èñëî, RB. (Äîêóìåíòàìè RIPE îïðåäåëÿåòñÿ 64-áèòîâîå ÷èñëî). Îí ïîñûëàåò Àëèñå. RB, HK(RA, RB, B) HK - ýòî MAC. ( äîêóìåíòàõ RIPE ïðåäëàãàåòñÿ ôóíêöèÿ RIPE-MAC, ñì. ðàçäåë 18.4.) B - ýòî èìÿ Áîáà.
(3) Àëèñà ðàññ÷èòûâàåò HK(RA, RB, B) è ñðàâíèâàåò ðåçóëüòàò ñî çíà÷åíèåì, ïîëó÷åííûì îò Áîáà. Åñëè ð åçóëüòàòû ñîâïàäàþò, Àëèñà óáåæäàåòñÿ â òîì, ÷òî îíà ñîåäèíèëàñü èìåííî ñ Áîáîì. SKID3 îáåñïå÷èâàåò ñîâìåñòíóþ ïðîâåðêó ïîäëèííîñòè Àëèñîé è Áîáîì . Ýòàïû (1) - (3) ñîâïàäàþò ñ ïðîò îêîëîì SKID2, à çàòåì âûïîëíÿþòñÿ ñëåäóþùèå äåéñòâèÿ : (4) Àëèñà ïîñûëàåò Áîáó:
HK(RB, A) A - ýòî èìÿ Àëèñû. (5) Áîá ðàññ÷èòûâàåò HK(RB, A) è ñðàâíèâàåò ðåçóëüòàò ñî çíà÷åíèåì, ïîëó÷åííûì îò Àëèñû. Åñëè ðåçóëüòàòû
ñîâïàäàþò, Áîá óáåæäàåòñÿ â òîì, ÷òî îíà ñîåäèíèëàñü èìåííî ñ Àëèñîé.
Ýòîò ïðîòîêîë íåóñòîé÷èâ ê âñêðûòèþ "÷åëîâåê-â-ñåðåäèíå" .  îáùåì ñëó÷àå, âñêðûòèå "÷åëîâåê-âñåðåäèíå" ìîæåò óãðîæàòü ëþáîìó ïðîòîêîëó, â êîòîðûé íå âõîäèò êàêîé-íèáóäü ñåêðåò . Óäîñòîâåðåíèå ïîäëèííîñòè ñîîáùåíèé Êîãäà Áîá ïîëó÷àåò ñîîáùåíèå îò Àëèñû , êàê åìó óçíàòü, ÷òî ýòî ñîîáùåíèå ïîäëèííî ? Åñëè Àëèñà ïîäïèñàëà ñâîå ñîîáùåíèå, òî âñå ïðîñòî . Öèôðîâàÿ ïîäïèñü Àëèñû äîñòàòî÷íà, ÷òîáû ïîäòâåðäèòü êîìó óãîäíî ïî äëèííîñòü åå ñîîáùåíèÿ. Íåêîòîðóþ ïðîâåðêó ïîäëèííîñòè ïðåäîñòàâëÿþò è ñèììåòðè÷íûå àëãîðèòìû . Êîãäà Áîá ïîëó÷àåò ñîîáùåíèå îò Àëèñû, øèôðîâàííîå èõ îáùèì êëþ÷îì, îí çíàåò, ÷òî ýòî ñîîáùåíèå îò Àëèñû . Íèêòî áîëüøå íå çíàåò èõ êëþ÷à. Îäíàêî, ó Áîáà íåò âîçìîæíîñòè óáåäèòü â ýòîì êîãî-òî åùå . Áîá íå ìîæåò ïîêàçàòü ñîîáùåíèå Òðå íòó è óáåäèòü åãî, ÷òî îíî îòïðàâëåíî Àëèñîé . Òðåíò ìîæåò ñäåëàòü âûâîä, ÷òî ñîîáùåíèå îòïðàâëåíî èëè Àë èñîé, èëè Áîáîì (òàê êàê èõ ñåêðåòíûé êëþ÷ íèêîìó áîëüøå íå ïðèíàäëåæèò ), íî ó íåãî íåò ñïîñîáà îïðåäåëèòü, êòî æå êîíêðåòíî àâòîð ñîîáùåíèÿ. Åñëè ñîîáùåíèå íå øèôðîâàíî, Àëèñà ìîæåò òàêæå èñïîëüçîâàòü MAC. Ýòî òàêæå óáåäèò Áîáà â ïîäëèíí îñòè ñîîáùåíèÿ, íî âîçíèêíóò òå æå ïðîáëåìû, ÷òî è äëÿ ðåøåíèé ñèììåòðè÷íîé êðèïòîãðàôèè .
3.3 Óäîñòîâåðåíèå ïîäëèííîñòè è îáìåí êëþ÷àìè Ýòè ïðîòîêîëû îáúåäèíÿþò óäîñòîâåðåíèå ïîäëèííîñòè è îáìåí êëþ÷àìè äëÿ ðåøåíèÿ îñíîâíîé êîìïü þòåðíîé ïðîáëåìû: Àëèñà è Áîá õîòÿò áåçîïàñíî îáìåíèâàòüñÿ ñîîáùåíèÿìè, íàõîäÿñü íà ðàçëè÷íûõ êîíöàõ ñåòè. Êàê ìîãóò Àëèñà è Áîá îáìåíÿòüñÿ ñåêðåòíûì êëþ÷îì, ïðè ýòîì ñîõðàíÿÿ óâåðåííîñòü, ÷òî îíè îáìåí èâàþòñÿ ñîîáùåíèÿìè äðóã ñ äðóãîì, à íå ñ Ìýëëîðè ?  áîëüøèíñòâå ïðîòîêîëîâ ïðåäïîëàãàåòñÿ, ÷òî êàæäîìó ïîëüçîâàòåëþ Òðåíò âûäåëÿåò îòäåëüíûé ñåêðåòíûé êëþ÷, è ïåðåä íà÷àëîì ðàáîòû ïðîòîêîëà âñå êëþ÷è óæå íàõîäÿòñÿ ó ïîëüçîâàòåëåé. Ñèìâîëû, èñïîëüçóåìûå â ýòèõ ïðîòîêîëàõ, ñâåäåíû â 2-é. Òàáë. 3-1. Ñèìâîëû, èñïîëüçóåìûå â ïðîòîêîëàõ óäîñòîâåðåíèÿ ïîäëèííîñòè è îáìåíà êëþ÷àìè A
Èìÿ Àëèñû
B
Èìÿ Áîáà
EA
Øèôðîâàíèå êëþ÷îì, âûäåëåííîì Òðåíòîì Àëèñå
EB
Øèôðîâàíèå êëþ÷îì, âûäåëåííîì Òðåíòîì Áîáó
I
Ïîðÿäêîâûé íîìåð
K
Ñëó÷àéíîå ñåàíñîâîå ÷èñëî
L
Âðåìÿ æèçíè
TA, TB
Ìåòêè âðåìåíè
RA, R B
Ñëó÷àéíûå ÷èñëà, âûáðàííûå Àëèñîé è Áîáîì, ñîîòâåòñòâåííî
Ëÿãóøêà ñ øèðîêèì ðòîì Ïðîòîêîë "Ëÿãóøêà ñ øèðîêèì ðòîì" ( Wide-Mouth Frog) [283,284], âîçìîæíî, ÿâëÿåòñÿ ïðîñòåéøèì ñè ììåòðè÷íûì ïðîòîêîëîì óïðàâëåíèÿ êëþ÷àìè, â êîòîðîì èñïîëüçóåòñÿ çàñëóæèâàþùèé äîâåðèÿ ñåðâåð . Àëèñà è Áîá äåëÿò ñâîé ñåêðåòíûé êëþ÷ ñ Òðåíòîì . Ýòè êëþ÷è èñïîëüçóþòñÿ òîëüêî äëÿ ðàñïðåäåëåíèÿ êëþ÷åé, à íå äëÿ øèôðîâàíèÿ ïîëüçîâàòåëüñêèõ ñîîáùåíèé. Âîò êàê, èñïîëüçóÿ äâà ñîîáùåíèÿ, Àëèñà ïåðåäàåò Áîáó ñåàíñîâûé
êëþ÷: (1) Àëèñà îáúåäèíÿåò ìåòêó âðåìåíè, èìÿ Áîáà è ñëó÷àéíûé ñåàíñîâûé êëþ÷, çàòåì øèôðóåò ñîçäàííîå ñ îîáùåíèå îáùèì ñ Òðåíòîì êëþ÷îì è ïîñûëàåò åãî Òðåíòó âìåñòå ñî ñâîèì èìåíåì. A, EA(TA, B, K) (2) Òðåíò ðàñøèôðîâûâàåò ñîîáùåíèå îò Àëèñû. Çàòåì îí äîáàâëÿåò íîâóþ ìåòêó âðåìåíè, èìÿ Àëèñû è ñë ó÷àéíûé ñåàíñîâûé êëþ÷, øèôðóåò ïîëó÷åííîå ñîîáùåíèå îáùèì ñ Áîáîì êëþ÷îì. Òðåíò ïîñûëàåò Áîáó: EB(TB, B, K) Íàèáîëüøèì äîïóùåíèåì, ñäåëàííûì â ýòîì ïðîòîêîëå, ÿâëÿåòñÿ òî, ÷òî Àëèñà îáëàäàåò äîñòàòî÷íîé êî ìïåòåíòíîñòüþ äëÿ ãåíåðàöèè õîðîøèõ ñåàíñîâûõ êëþ÷åé . Âñïîìíèòå, ÷òî ñëó÷àéíûå ÷èñëà ãåíåðèðîâàòü ñîâñåì íå ïðîñòî, äëÿ ýòîãî ìîæåò ïîòðåáîâàòüñÿ êòî-íèáóäü ïîíàäåæíåå Àëèñû . Yahalom  ýòîì ïðîòîêîëå Àëèñû è Áîá äåëÿò ñ Òðåíòîì ñåêðåòíûé êëþ÷ [283,284]. (1) Àëèñà îáúåäèíÿåò ñâîå èìÿ è ñëó÷àéíîå ÷èñëî, è îòïðàâëÿåò ñîçäàííîå ñîîáùåíèå Áîáó. A, RA (2) Áîá îáúåäèíÿåò èìÿ Àëèñû, åå ñëó÷àéíîå ÷èñëî, ñâîå ñëó÷àéíîå ÷èñëî, øèôðóåò ñîçäàííîå ñîîáùåíèå î áùèì ñ Òðåíòîì êëþ÷îì è ïîñûëàåò åãî Òðåíòó, äîáàâëÿÿ ñâîå èìÿ: B, EB(A, RA, RB) (3) Òðåíò ñîçäàåò äâà ñîîáùåíèÿ. Ïåðâîå âêëþ÷àåò èìÿ Áîáà, ñëó÷àéíûé ñåàíñîâûé êëþ÷, ñëó÷àéíûå ÷èñëà Áîáà è Àëèñû è øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Òðåíòà è Àëèñû. Âòîðîå ñîñòîèò èç èìåíè Àëèñû, ñë ó÷àéíîãî ñåàíñîâîãî êëþ÷à è øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Òðåíòà è Áîáà. Òðåíò ïîñûëàåò îáà ñîîáù åíèÿ Àëèñå: EA(B, K, RA, RB), EB(A, K) (4) Àëèñà ðàñøèôðîâûâàåò ïåðâîå ñîîáùåíèå, èçâëåêàåò K è óáåæäàåòñÿ, ÷òî RA ñîâïàäàåò ñî çíà÷åíèåì, îòïðàâëåííûì íà ýòàïå (1). Àëèñà ïîñûëàåò Áîáó äâà ñîîáùåíèÿ. Îäíèì ÿâëÿåòñÿ ñîîáùåíèå Òðåíòà, ç àøèôðîâàííîå êëþ÷îì Áîáà. Âòîðîå - ýòî RB, çàøèôðîâàííîå ñåàíñîâûì êëþ÷îì. EB(A, K), EK(RB), (5) Áîá ðàñøèôðîâûâàåò ïåðâîå ñîîáùåíèå, èçâëåêàåò K è óáåæäàåòñÿ, ÷òî RB ñîâïàäàåò ñ îòïðàâëåííûì íà ýòàïå (2).  ðåçóëüòàòå Àëèñà è Áîá óáåæäåíû, ÷òî îíè îáùàþòñÿ èìåííî äðóã ñ äðóãîì, à íå ñ òðåòüåé ñòîðîíîé . Íîâîââåäåíèå ñîñòîèò â òîì, ÷òî èìåííî Áîá ïåðâûì îáðàùàåòñÿ ê Òðåíòó, êîòîðûé òîëüêî ïîñûëàåò îäíî ñîî áùåíèå Àëèñå. Needham-Schroeder  ýòîì ïðîòîêîëå, èçîáðåòåííîì Ðîäæåðîì Íååäõýìîì (Roger Needham) è Ìàéêëîì Øðåäåðîì (Michael Schroeder) [1159], òàêæå èñïîëüçóþòñÿ ñèììåòðè÷íàÿ êðèïòîãðàôèÿ è Òðåíò . (1) Àëèñà ïîñûëàåò Òðåíòó ñîîáùåíèå, ñîäåðæàùåå åå èìÿ, èìÿ Áîáà è ñëó÷àéíîå ÷èñëî. A, B, R A (2) Òðåíò ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷. Îí øèôðóåò ñîîáùåíèå, ñîäåðæàùåå ñëó÷àéíûé ñåàíñîâûé êëþ÷ è èìÿ Àëèñû, ñåêðåòíûì êëþ÷îì, îáùèì äëÿ íåãî è Áîáà. Çàòåì îí øèôðóåò ñëó÷àéíîå ÷èñëî Àë èñû, èìÿ Áîáà, êëþ÷, è øèôðîâàííîå ñîîáùåíèå ñåêðåòíûì êëþ÷îì, îáùèì äëÿ íåãî è Àëèñû. Íàêîíåö, îí îòïðàâëÿåò øèôðîâàííîå ñîîáùåíèå Àëèñå: EA(RA, B, K, E B(K, A)) (3) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå è èçâëåêàåò K. Îíà óáåæäàåòñÿ, ÷òî RA ñîâïàäàåò ñî çíà÷åíèåì, îòïðàâëåííûì Òðåíòó íà ýòàïå (1). Çàòåì îíà ïîñûëàåò Áîáó ñîîáùåíèå, çàøèôðîâàííîå Òðåíòîì êëþ÷îì Áîáà. EB(K, A) (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå è èçâëåêàåò K. Çàòåì îí ãåíåðèðóåò äðóãîå ñëó÷àéíîå ÷èñëî, RB. Îí øèôðóåò ýòî ÷èñëî êëþ÷îì K è îòïðàâëÿåò åãî Àëèñå. EK(RB)
(5) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ êëþ÷à K. Îíà ñîçäàåò ÷èñëî RB-1 è øèôðóåò ýòî ÷èñëî êëþ÷îì K. Çàòåì îíà ïîñûëàåò ýòî ñîîáùåíèå îáðàòíî Áîáó. EK(RB-1) (6) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñ ïîìîùüþ êëþ÷à K è ïðîâåðÿåò çíà÷åíèå RB-1. Âñÿ ýòà âîçíÿ ñ RA, RB, è RB-1 ñëóæèò äëÿ ïðåäîòâðàùåíèÿ âñêðûòèÿ ñ ïîâòîðíîé ïåðåäà÷åé. Ïðè òàêîì ñïîñîáå âñêðûòèÿ Ìýëëîðè ìîæåò çàïèñàòü ñòàðûå ñîîáùåíèÿ è âïîñëåäñòâèè èñïîëüçîâàòü èõ ïðè ïîïûòêå âçëîìàòü ïðîòîêîë. Ïðèñóòñòâèå RA íà ýòàïå (2) óáåæäàåò Àëèñó, ÷òî ñîîáùåíèå Òðåíòà äîñòîâåðíî è íå ÿâëÿå òñÿ ïîâòîðíîé ïåðåäà÷åé îòêëèêà, èñïîëüçîâàííîãî ïðè îäíîì èç ïðåäûäóùèõ ïðèìåíåíèé ïðîòîêîëà . Êîãäà Àëèñà óñïåøíî ðàñøèôðóåò RB è ïåðåäàåò Áîáó RB-1 íà ýòàïå (5), Áîá óáåæäàåòñÿ, ÷òî ñîîáùåíèÿ Àëèñû íå ÿ âëÿåòñÿ ïîâòîðíîé ïåðåäà÷åé ñîîáùåíèé, èñïîëüçîâàííûõ ïðè îäíîì èç ïðåäûäóùèõ ïðèìåíåíèé ïðîòîêîëà . Ãëàâíîé ïðîðåõîé ýòîãî ïðîòîêîëà ÿâëÿåòñÿ âàæíîñòü èñïîëüçîâàííûõ ñåàíñîâûõ êëþ÷åé . Åñëè Ìýëëîðè ïîëó÷èò äîñòóï ê ñòàðîìó K, îí ñìîæåò ïðåäïðèíÿòü óñïåøíîå âñêðûòèå [461]. Åìó íóæíî òîëüêî çàïèñàòü ñîîáùåíèÿ Àëèñû Áîáó íà ýòàïå (3). Òîãäà, èìåÿ K, îí ìîæåò âûäàòü ñåáÿ çà Àëèñó: (1) Ìýëëîðè ïîñûëàåò Áîáó ñëåäóþùåå ñîîáùåíèå: EB(K, A) (2) Áîá èçâëåêàåò K, ãåíåðèðóåò RB è îòïðàâëÿåò Àëèñå: EK(RB) (3) Ìýëëîðè ïåðåõâàòûâàåò ñîîáùåíèå, ðàñøèôðîâûâàåò åãî ñ ïîìîùüþ êëþ÷à K è ïîñûëàåò Áîáó: EK(RB-1) (4) Áîá óáåæäàåòñÿ, ÷òî ñîîáùåíèå "Àëèñû" ñîñòîèò èç RB-1. Òåïåðü Ìýëëîðè óáåäèë Áîá, ÷òî îí è åñòü "Àëèñà". Áîëåå çàùèùåííûé ïðîòîêîë, èñïîëüçóþùèé ìåòêè âðåìåíè, ìîæåò ïðîòèâîñòîÿòü ýòîìó âñêðûòèþ [461,456]. Ìåòêè âðåìåíè äîáàâëÿþòñÿ ê ñîîáùåíèþ Òðåíòà íà ýòàïå (2) è øèôðóþòñÿ êëþ÷îì Áîáà: EB(K, A, T). Ìåòêè âðåìåíè òðåáóþò íàäåæíîé è òî÷íîé ñèñòåìû åäèíîãî âðåìåíè, ÷òî ñàìî ïî ñåáå íåòðèâèàëüíàÿ ïðîáëåìà . Åñëè êëþ÷, îáùèé äëÿ Òðåíòà è Àëèñû áóäåò ñêîìïðîìåòèðîâàí, ïîñëåäñòâèÿ áóäóò äðàìàòè÷íû . Ìýëëîðè ñìîæåò èñïîëüçîâàòü åãî, äëÿ ïîëó÷åíèÿ ñåàíñîâûõ êëþ÷åé äëÿ îáìåíà ñîîáùåíèÿìè ñ Áîáîì (èëè ñ êåì-íèáóäü åùå). Äàæå õóæå, Ìýëëîðè ïðîäîëæàòü ïîäîáíûå äåéñòâèÿ äàæå ïîñëå çàìåíû êëþ÷à Àëèñû [90]. Íååäõýì è Øðåäåð ïûòàëèñü èñïðàâèòü ýòè ïðîáëåìû â ìîäèôèöèðîâàííîé âåðñèè ñâîåãî ïðîòîêîëà [1160]. Èõ íîâûé ïðîòîêîë ïî ñóùåñòâó ñîâïàäàåò ñ ïðîòîêîëîì Îòóýÿ- Ðèñà (Otway-Rees), îïóáëèêîâàííîì â òîì æå âûïóñêå òîãî æå æóðíàëà. Otway-Rees Ýòîò ïðîòîêîë òàêæå èñïîëüçóåò ñèììåòðè÷íóþ êðèïòîãðàôèþ [1224]. (1) Àëèñà ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç ïîðÿäêîâîãî íîìåðà, åå èìåíè, èìåíè Áîáà è ñëó÷àéíîãî ÷èñëà. Ñîîáùåíèå øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Àëèñû è Òðåíòà. Îíà ïîñûëàåò ýòî ñîîáùåíèå Áîáó âìåñòå ñ ïîðÿäêîâûì íîìåðîì, åå è åãî èìåíàìè: I, A, B, E A(RA, I, A, B) (2) Áîá ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç íîâîãî ñëó÷àéíîãî ÷èñëà, ïîðÿäêîâîãî íîìåðà, èìåíè Àëèñû è èì åíè Áîáà. Ñîîáùåíèå øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Àëèñû è Áîáà. Îí ïîñûëàåò ýòî ñîîáùåíèå Òðåíòó âìåñòå øèôðîâàííûì ñîîáùåíèåì Àëèñû, ïîðÿäê îâûì íîìåðîì, åå è åãî èìåíàìè: I, A, B, E A(RA, I, A, B), E B(RB, I, A, B) (3) Òðåíò ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷. Çàòåì îí ñîçäàåò äâà ñîîáùåíèÿ. Îäíî, ñîñòîÿùåå èç ñë ó÷àéíîãî ÷èñëà Àëèñû è ñåàíñîâîãî êëþ÷à, øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ íåãî è Àëèñû. Äðóãîå, ñîñòî ÿùåå èç ñëó÷àéíîãî ÷èñëà Áîáà è ñåàíñîâîãî êëþ÷à, øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ íåãî è Áîáà. Îí î òïðàâëÿåò äâà ýòèõ ñîîáùåíèÿ âìåñòå ñ ïîðÿäêîâûì íîìåðîì Áîáó: I, EA(RA, K), EB(RB, K) (4) Áîá îòïðàâëÿåò Àëèñå ñîîáùåíèå, øèôðîâàííîå åå êëþ÷îì, è ïîðÿäêîâûé íîìåð: I, EA(RA, K) (5) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ ñâîè êëþ÷ è ñëó÷àéíîå ÷èñëî. Àëèñà óáåæäàåòñÿ, ÷òî ïðè â ûïîëíåíèè ïðîòîêîëà îíè íå èçìåíèëèñü Áîá îòïðàâëÿåò Àëèñå ñîîáùåíèå, øèôðîâàííîå åå êëþ÷îì, è ï î-
ðÿäêîâûé íîìåð. Åñëè âñå ñëó÷àéíûå ÷èñëà ïðàâèëüíû, à ïîðÿäêîâûé íîìåð íå èçìåíèëñÿ ïðè âûïîëíåíèè ïðîòîêîëà, Àëèñà è Áîá óáåæäàþòñÿ â ïîäëèííîñòè äðóã äðóãà è ïîëó÷àþò ñåêðåòíûé êëþ÷ äëÿ îáìåíà ñîîáùåíèÿìè . Kerberos Kerberos - âàðèàíò ïðîòîêîëà Needham-Schroeder - ïîäðîáíî îáñóæäàåòñÿ â ðàçäåëå 24.5.  áàçîâîì ïðîòîêîëå Kerberos Version 5 ó Àëèñû è Áîáà îáùèå êëþ÷è ñ Òðåíòîì . Àëèñà õî÷åò ãåíåðèðîâàòü ñåàíñîâûé êëþ÷ äëÿ ñåàíñà ñâÿçè ñ Áîáîì. (1) Àëèñà ïîñûëàåò Òðåíòó ñîîáùåíèå ñî ñâîèì èìåíåì è èìåíåì Áîáà: A, B (2) Òðåíò ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç ìåòêè âðåìåíè, âðåìÿ æèçíè, L, ñëó÷àéíîãî ñåàíñîâîãî êëþ÷à è èìåíè Àëèñû. Îí øèôðóåò ñîîáùåíèå êëþ÷îì, îáùèì äëÿ íåãî è Áîáà. Çàòåì îí îáúåäèíÿåò ìåòêó âð åìåíè, âðåìÿ æèçíè, ñåàíñîâûé êëþ÷, èìÿ Áîáà, è øèôðóåò ïîëó÷åííîå ñîîáùåíèå êëþ÷îì, îáùèì äëÿ í åãî è Àëèñû. Îáà øèôðîâàííûõ ñîîáùåíèÿ îí îòïðàâëÿåò Àëèñå. EA(T, L, K, B), E B(T, L, K, A) (3) Àëèñà ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç åå èìåíè è ìåòêè âðåìåíè, øèôðóåò åãî êëþ÷îì K è îòïðàâëÿåò Áîáó. Àëèñà òàêæå ïîñûëàåò Áîáó ñîîáùåíèå îò Òðåíòà, øèôðîâàííîå êëþ÷îì Áîáà: EA(A, T), EB(T, L, K, A) (4) Áîá ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç ìåòêè âðåìåíè ïëþñ åäèíèöà, øèôðóåò åãî êëþ÷îì K è îòïðàâëÿåò Àëèñå: EK(T+1) Ýòîò ïðîòîêîë ðàáîòàåò, íî òîëüêî åñëè ÷àñû êàæäîãî ïîëüçîâàòåëÿ ñèíõðîíèçèðîâàíû ñ ÷àñàìè Òðåíòà . Íà ïðàêòèêå ýôôåêò äîñòèãàåòñÿ ñèíõðîíèçàöèåé ñ íàäåæíûì ñåðâåðîì âðåìåíè ñ òî÷íîñòüþ â íåñêîëüêî ìèíóò è îáíàðóæåíèåì ïîâòîðíîé ïåðåäà÷è â òå÷åíèå îïðåäåëåííîãî èíòåðâàëà âðåìåíè . Neuman-Stubblebine Èç-çà íåäîñòàòêîâ ñèñòåìû èëè ñàáîòàæà ñèíõðîíèçàöèÿ ÷àñîâ ìîæåò áûòü íàðóøåíà . Åñëè ÷àñû ñáèâàþòñÿ, ïðîòèâ áîëüøèíñòâà ïðîòîêîëîâ ìîæåò áûòü èñïîëüçîâàí îïðåäåëåííûé ñïîñîá âñêðûòèÿ [644]. Åñëè ÷àñû îòïðàâèòåëÿ îïåðåæàþò ÷àñû ïîëó÷àòåëÿ, Ìýëëîðè ìîæåò ïåðåõâàòèòü ñîîáùåíèå îòïðàâèòåëÿ è ïîâòîðíî è ñïîëüçîâàòü åãî ïîçäíåå, êîãäà ìåòêà âðåìåíè ñòàíåò òåêóùåé â ìåñòå íàõîæäåíèÿ ïîëó÷àòåëÿ . Ýòîò ñïîñîá, íàçûâàþùèéñÿ âñêðûòèåì ñ ïîäàâëåíèåì ïîâòîðíîé ïåðåäà÷è, ìîæåò ïðèâåñòè ê íåïðèÿòíûì ïîñëåäñòâèÿì . Ýòîò ïðîòîêîë, âïåðâûå îïóáëèêîâàííûé â [820] è èñïðàâëåí â [1162], ïûòàåòñÿ ïðîòèâîñòîÿòü âñêðûòèþ ñ ïîäàâëåíèåì ïîâòîðíîé ïåðåäà÷è . Ýòîò îòëè÷íûé ïðîòîêîë ÿâëÿåòñÿ óëó÷øåíèåì Yahalom. (1) Àëèñà îáúåäèíÿåò ñâîå èìÿ è ñëó÷àéíîå ÷èñëî, è îòïðàâëÿåò ñîçäàííîå ñîîáùåíèå Áîáó. A, RA (2) Áîá îáúåäèíÿåò èìÿ Àëèñû, åå ñëó÷àéíîå ÷èñëî è ìåòêó âðåìåíè, øèôðóåò ñîçäàííîå ñîîáùåíèå îáùèì ñ Òðåíòîì êëþ÷îì è ïîñûëàåò åãî Òðåíòó, äîáàâëÿÿ ñâîå èìÿ è íîâîå ñëó÷àéíîå ÷èñëî: B, RB, EB(A, RA, TB) (3) Òðåíò ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷. Çàòåì îí ñîçäàåò äâà ñîîáùåíèÿ. Ïåðâîå âêëþ÷àåò èìÿ Á îáà, ñëó÷àéíîå ÷èñëî Àëèñû, ñëó÷àéíûé ñåàíñîâûé êëþ÷, ìåòêó âðåìåíè è øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Òðåíòà è Àëèñû. Âòîðîå ñîñòîèò èç èìåíè Àëèñû, ñåàíñîâîãî êëþ÷à, ìåòêè âðåìåíè è øèôðóåòñÿ êëþ÷îì, îáùèì äëÿ Òðåíòà è Áîáà. Òðåíò ïîñûëàåò îáà ñîîáùåíèÿ Àëèñå âìåñòå ñî ñëó÷àéíûì ÷èñëîì Áîáà: EA(B, RA, K, TB), EB(A, K, TB), RB (4) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå, çàøèôðîâàííîå åå êëþ÷îì, èçâëåêàåò K è óáåæäàåòñÿ, ÷òî RA ñîâïàäàåò ñî çíà÷åíèåì, îòïðàâëåííûì íà ýòàïå (1). Àëèñà ïîñûëàåò Áîáó äâà ñîîáùåíèÿ. Îäíèì ÿâëÿåòñÿ ñ îîáùåíèå Òðåíòà, çàøèôðîâàííîå êëþ÷îì Áîáà. Âòîðîå - ýòî RB, çàøèôðîâàííîå ñåàíñîâûì êëþ÷îì. EB(A, K), EK(RB), (5) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå, çàøèôðîâàííîå åãî êëþ÷îì, èçâëåêàåò K è óáåæäàåòñÿ, ÷òî çíà÷åíèÿ TB è RB òå æå, ÷òî è îòïðàâëåííûå íà ýò àïå (2). Åñëè îáà ñëó÷àéíûõ ÷èñëà è ìåòêà âðåìåíè ñîâïàäàþò , Àëèñà è Áîá óáåæäàþòñÿ â ïîäëèííîñòè äóã äðóãà è ïîëó÷àþò ñåêðåòíûé êëþ÷. Ñèíõðîíèçàöèÿ ÷àñîâ íå òðåáóåòñÿ, òàê êàê ìåòêà âðåìåíè îïðåäåëÿåòñÿ òîëüêî ïî
÷àñàì Áîáà, è òîëüêî Áîá ïðîâåðÿåò ñîçäàííóþ èì ìåòêó âðåìåíè . Ó ýòîãî ïðîòîêîëà åñòü åùå îäíî ïîëåçíîå ñâîéñòâî - Àëèñà ìîæåò èñïîëüçîâàòü ïîëó÷åííîå îò Òðåíòà ñ îîáùåíèå äëÿ ïîñëåäóþùåé ïðîâåðêè ïîäëèííîñòè Áîáà â ïðåäåëàõ íåêîòîðîãî âðåìåíè . Ïðåäïîëîæèì, ÷òî Àëèñà è Áîá âûïîëíèëè ïðèâåäåííûé âûøå ïðîòîêîë, ïðîâåëè è çàâåðøèëè ñåàíñ ñâÿçè . Àëèñà è Áîá ìîãóò ïîâòîðíî ïðîâåðèòü ïîäëèííîñòü äðóã äðóãà, íå îáðàùàÿñü ê Òðåíòó . (1) Àëèñà ïîñûëàåò Áîáó ñîîáùåíèå, ïðèñëàííîå åé Òðåíòîì íà ýòàïå (3) è íîâîå ñëó÷àéíîå ÷èñëî. EB(A, K, TB), R'A (2) Áîá ïîñûëàåò Àëèñå äðóãîå íîâîå ñëó÷àéíîå ÷èñëî è ñëó÷àéíîå ÷èñëî, ïðèñëàííîå Àëèñîé, øèôðóÿ èõ ñ åàíñîâûì êëþ÷îì ñâÿçè. R'B, EK(R'A) (3) Àëèñà ïîñûëàåò Áîáó åãî íîâîå ñëó÷àéíîå ÷èñëî, øèôðóÿ åãî ñåàíñîâûì êëþ÷îì ñâÿçè. EK(R'B) Íîâûå ñëó÷àéíûå ÷èñëà çàùèùàþò îò âñêðûòèÿ ñ ïîâòîðíî ïåðåäà÷åé . DASS Ïðîòîêîëû Ðàñïðåäåëåííîé ñëóæáà áåçîïàñíîñòè è ïðîâåðêè ïîäëèííîñòè ( Distributed Authentication Security Service, DASS), ñîçäàííûå â Digital Equipment Corporation, òàêæå îáåñïå÷èâàþò îáîþäíóþ ïðîâåðêó ïî äëèííîñòè è îáìåí êëþ÷àìè [604, 1519, 1518].  îòëè÷èå îò ïðåäûäóùåãî ïðîòîêîëà DASS èñïîëüçóåò êàê êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, òàê è ñèììåòðè÷íóþ êðèïòîãðàôèþ . È ó Àëèñû, è ó Áîáà åñòü ñâîé çàêðûòûé êëþ÷. Òðåíò ïîäïèñûâàåò êîïèè èõ îòêðûòûõ êë þ÷åé. (1) Àëèñà ïîñûëàåò Òðåíòó ñîîáùåíèå, ñîñòîÿùåå èç èìåíè Áîáà.  (2) Òðåíò ïîñûëàåò Àëèñå îòêðûòûé êëþ÷ Áîáà, KB, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà, T. Ïîäïèñàííîå ñîîáùåíèå ñîäåðæèò èìÿ Áîáà. ST(B, KB) (3) Àëèñà ïðîâåðÿåò ïîäïèñü Òðåíòà, óáåæäàÿñü, ÷òî îíà äåéñòâèòåëüíî ïîëó÷èëà îòêðûòûé êëþ÷ Áîáà. Îíà ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷, K, è ñëó÷àéíóþ ïàðó êëþ÷åé îòêðûòûé/çàêðûòûé, Kp. Îíà øèôðóåò ìåòêó âðåìåíè êëþ÷îì K, à çàòåì ïîäïèñûâàåò âðåìÿ æèçíè, L, ñâîå èìÿ è ñâîèì çàêðûòûì êëþ÷îì, KA. Íàêîíåö, îíà çàøèôðîâûâàåò K îòêðûòûì êëþ÷îì Áîáà è ïîäïèñûâàåò åãî ñ ïîìîùüþ Kp. Âñå ýòî îíà îòïðàâëÿåò Áîáó. EK(TA), S K A (L, A, Kp), S K p ( E K B (K)) (4) Áîá ïîñûëàåò Òðåíòó (ýòî ìîæåò áûòü äðóãîé Òðåíò) ñîîáùåíèå, ñîñòîÿùåå èç èìåíè Àëèñû. À (5) Òðåíò ïîñûëàåò Áîáó îòêðûòûé êëþ÷ Àëèñû, KÀ, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà. Ïîäïèñàííîå ñîîáùåíèå ñîäåðæèò èìÿ Àëèñû. ST(À, KÀ) (6) Áîá ïðîâåðÿåò ïîäïèñü Òðåíòà, óáåæäàÿñü, ÷òî îí äåéñòâèòåëüíî ïîëó÷èëà îòêðûòûé êëþ÷ Àëèñû. Çàòåì îí ïðîâåðÿåò ïîäïèñü Àëèñû è èçâëåêàåò Kp. Áîá èñïîëüçóåò ñâîé çàêðûòûé êëþ÷, èçâëåêàÿ K. Çàòåì îí ðàñøèôðîâûâàåò TA, ïðîâåðÿÿ, ÷òî ýòî ñîîáùåíèå - òåêóùåå. (7) Åñëè òðåáóåòñÿ îáîþäíàÿ ïðîâåðêà ïîäëèííîñòè, Áîá øèôðóåò íîâóþ ìåòêó âðåìåíè êëþ÷îì K è ïîñûëàåò åå Àëèñå. EK(TÂ) (8) Àëèñà ðàñøèôðîâûâàåò T êëþ÷îì K, ïðîâåðÿÿ, ÷òî ýòî ñîîáùåíèå - òåêóùåå. SPX, ïðîäóêò DEC, îñíîâàí íà DASS. Äîïîëíèòåëüíóþ èíôîðìàöèþ ìîæíî íàéòè â [34]. Denning-Sacco  ýòîì ïðîòîêîëå òàêæå èñïîëüçóåòñÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè [461]. Òðåíò âåäåò áàçó äàííûõ, õðàíÿùóþ îòêðûòûå êëþ÷è âñåõ ïîëüçîâàòåëåé .
(1) Àëèñà ïîñûëàåò Òðåíòó ñîîáùåíèå, ñîñòîÿùåå èç åå èìåíè è èìåíè Áîáà. À,  (2) Òðåíò ïîñûëàåò Àëèñå îòêðûòûé êëþ÷ Áîáà, KB, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà, T. Òðåíò òàêæå ïîñûëàåò Àëèñå åå ñîáñòâåííûé îòêðûòûé êëþ÷, KÀ, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà. ST(B, KB), ST(À, KÀ) (3) Àëèñà ïîñûëàåò Áîáó ñëó÷àéíûé ñåàíñîâûé êëþ÷ è ìåòêó âðåìåíè, ïîäïèñàâ èõ ñâîèì çàêðûòûì êëþ÷îì è çàøèôðîâàâ îòêðûòûì êëþ÷îì Áîáà, âìåñòå ñ îáîèìè ïîäïèñàííûìè êëþ÷àìè. ÅÂ(SÀ(K, ÒÀ)), ST(À, KÀ), ST(Â, KÂ) (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à è ïðîâåðÿåò ïîäïèñü Àëèñû ñ ïîìîùüþ åå îòêðûòîãî êëþ÷à. Îí òàêæå óáåæäàåòñÿ, ÷òî ìåòêà âðåìåíè ïðàâèëüíà. Ñ ýòîãî ìîìåíòà Àëèñà è Áîá ïîëó÷èëè K è ìîãóò ïðîâåñòè áåçîïàñíûé ñåàíñ ñâÿçè. Ýòî âûãëÿäè êðàñèâî, íî åñòü îäíà òîíêîñòü - âûïîëíèâ ïðîòîêîë ñ Àëèñîé, Áîá ñìîæåò âûäàòü ñåáÿ çà Àëèñó [5]. Ñìîòðèòå: (1) Áîá ïîñûëàåò Òðåíòó ñâîå èìÿ è èìÿ Êýðîë. Â, Ñ (2) Òðåíò ïîñûëàåò Áîáó ïîäïèñàííûå îòêðûòûå êëþ÷è Áîáà è Êýðîë. ST(B, KB), ST(Ñ, KÑ) (3) Áîá ïîñûëàåò Êýðîë ïîäïèñàííûé ñëó÷àéíûé ñåàíñîâûé êëþ÷ è ìåòêó âðåìåíè, ðàíåå ïîëó÷åííûå îò Àëèñû, çàøèôðîâàâ èõ îòêðûòûì êëþ÷îì Êýðîë, âìåñòå ñ ïîäòâåðæäåíèåì Àëèñû è ïîäòâåðæäåíèåì Ê ýðîë. ÅÑ(SÀ(K, ÒÀ)), ST(À, KÀ), ST(Ñ, KÑ) (4) Êýðîë ðàñøèôðîâûâàåò ñîîáùåíèå Àëèñû ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à è ïðîâåðÿåò ïîäïèñü Àë èñû ñ ïîìîùüþ åå îòêðûòîãî êëþ÷à. Îí òàêæå óáåæäàåòñÿ, ÷òî ìåòêà âðåìåíè ïðàâèëüíà. Òåïåðü Êýðîë ñ÷èòàåò, ÷òî îíà ñîåäèíèëàñü ñ Àëèñîé, Áîá óñïåøíî îäóðà÷èë åå . Äåéñòâèòåëüíî, Áîá ñìîæåò äóðà÷èòü ëþáîãî ïîëüçîâàòåëÿ ñåòè, ïîêà íå çàêîí÷èòñÿ ñðîê äåéñòâèÿ ìåòêè âðåìåíè . Íî ýòî ëåãêî ìîæíî èñïðàâèòü. Ïðîñòî âñòàâüòå èìåíà â øèôðîâàííîå ñîîáùåíèå íà ýòàïå (3) : ÅÂ(SÀ(À, Â, K, ÒÀ)), ST(À, KÀ), ST(Â, KÂ) Òåïåðü Áîá íå ñìîæåò ïîâòîðíî ïîñëàòü Êýðîë ñòàðîå ñîîáùåíèå, ïîòîìó ÷òî îíî ÿâíî ïðåäíàçíà÷åíî äëÿ ñåàíñà ñâÿçè ìåæäó Àëèñîé è Áîáîì . Woo-Lam  ýòîì ïðîòîêîëå òàêæå èñïîëüçóåòñÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè [1610, 1611]: (1) Àëèñà ïîñûëàåò Òðåíòó ñîîáùåíèå, ñîñòîÿùåå èç åå èìåíè è èìåíè Áîáà. À,  (2) Òðåíò ïîñûëàåò Àëèñå îòêðûòûé êëþ÷ Áîáà, KB, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà, T. ST(KB) (3) Àëèñà ïðîâåðÿåò ïîäïèñü Òðåíòà. Çàòåì îíà ïîñûëàåò Áîáó ñâîå èìÿ è ñëó÷àéíîå ÷èñëî, øèôðîâàííîå î òêðûòûì êëþ÷îì Áîáà. À, ÅÂ(RÂ) (4) Áîá ïîñûëàåò Òðåíòó ñâîå èìÿ, èìÿ Àëèñû è ñëó÷àéíîå ÷èñëî Àëèñû, øèôðîâàííîå îòêðûòûì êëþ÷îì Òðåíòà, KÒ. À, Â, E KT (RA) (5) Òðåíò ïîñûëàåò Áîáó îòêðûòûé êëþ÷ Àëèñû, KÀ, ïîäïèñàííûé çàêðûòûì êëþ÷îì Òðåíòà. Îí òàêæå ï îñûëàåò Áîáó ñëó÷àéíîå ÷èñëî Àëèñû, ñëó÷àéíûé ñåàíñîâûé êëþ÷, èìåíà Àëèñû è Áîáà, ïîäïèñàâ âñå ýòî çàêðûòûì êëþ÷îì Òðåíòà è çàøèôðîâàâ îòêðûòûì êë þ÷îì Áîáà. SÒ(KÀ), E KB (SÒ (RA, Ê, À, Â)) (6) Áîá ïðîâåðÿåò ïîäïèñè Òðåíòà. Çàòåì îí ïîñûëàåò Àëèñå âòîðóþ ÷àñòü ñîîáùåíèÿ Òðåíòà, ïîëó÷åííîãî íà ýòàïå (5), è íîâîå ñëó÷àéíîå ÷èñëî, çàøèôðîâàâ âñå îòêðûòûì êëþ÷îì Àëèñû.
E K A (SÒ (RA, Ê, À, Â), RÂ) (7) Àëèñà ïðîâåðÿåò ïîäïèñü Òðåíòà è ñâîå ñëó÷àéíîå ÷èñëî. Çàòåì îíà ïîñûëàåò Áîáó âòîðîå ñëó÷àéíîå ÷è ñëî, øèôðîâàííîå ñåàíñîâûì êëþ÷îì. ÅÊ(RÂ) (8) Áîá ðàñøèôðîâûâàåò ñâîå ñëó÷àéíîå ÷èñëî è ïðîâåðÿåò, ÷òî îíî íå èçìåíèëîñü. Äðóãèå ïðîòîêîëû  ëèòåðàòóðå îïèñàíî ìíîæåñòâî ïðîòîêîëîâ . Ïðîòîêîëû X.509 ðàññìàòðèâàþòñÿ â ðàçäåëå 24.9, KryptoKnight - â ðàçäåëå 24.6, à Øèôðîâàííûé îáìåí êëþ÷àìè ( Encrypted Key Exchange) - â ðàçäåëå 22.5. Äðóãèì íîâûì ïðîòîêîëîì ñ îòêðûòûìè êëþ÷àìè ÿâëÿåòñÿ Kuperee [694]. Âåäåòñÿ ðàáîòà íà ïðîòîêîëàìè, èñïîëüçóþùèìè ìàÿêè - çàñëóæèâàþùèå äîâåðèÿ óçëû ñåòè, êîòîðûå íåïðåðûâíî è øèðîêîâåùàòåëüíî ïåð åäàþò äîñòîâåðíûå ìåòêè âðåìåíè [783]. Âûâîäû Èç ïðèâåäåííûõ ïðîòîêîëîâ, êàê èç òåõ, êîòîðûå âñêðûâàþòñÿ, òàê è èç íàäåæíûõ, ìîæíî èçâëå÷ü ðÿä âà æíûõ óðîêîâ: Ìíîãèå ïðîòîêîëû òåðïÿò íåóäà÷ó, òàê êàê èõ ðàçðàáîò÷èêè ïûòàëèñü áûòü ñëèøêîì óìíûìè. Îíè îïò èìèçèðîâàëè ïðîòîêîëû, óáèðàÿ âàæíûå ýëåìåíòû - èìåíà, ñëó÷àéíûå ÷èñëà è ò.ï. - è ïûòàÿñü ñäåëàòü ïðîòîêîëû êàê ìîæíî áîëåå ïðîçðà÷íûìè [43, 44]. Îïòèìèçàöèÿ - ýòà ìàíÿùàÿ ëîâóøêà - ñèëüíî çàâèñèò îò ñäåëàííûõ ïðåäïîëîæåíèé. Ïðèìåð: íàëè÷èå äîñòîâåðíîãî âðåìåíè ïîçâîëÿåò âàì ðåàëèçîâàòü ìíîãèå âåùè, íåâîçìîæíûå â ïðîòè âíîì ñëó÷àå. Âûáèðàåìûé ïðîòîêîë çàâèñèò îò àðõèòåêòóðû èñïîëüçóåìûõ ñðåäñòâ ñâÿçè. Õîòèòå ëè âû ìèíèìèçèð îâàòü ðàçìåð ñîîáùåíèé èëè èõ êîëè÷åñòâî? Ìîãóò ëè ñòîðîíà âçàèìîäåéñòâîâàòü êàæäûé ñ êàæäûì èëè êðóã èõ îáùåíèÿ áóäåò îãðàíè÷åí? Èìåííî ïîäîáíûå âîïðîñû è ïðèâåëè ê ñîçäàíèþ ôîðìàëüíûõ ìåòîäîâ àíàëèçà ïðîòîêîëîâ .
3.4 Ôîðìàëüíûé àíàëèç ïðîòîêîëîâ ïðîâåðêè ïîäëèííîñòè è îáìåíà êëþ÷àìè Ïðîáëåìà âûäåëåíèÿ áåçîïàñíîãî ñåàíñîâîãî êëþ÷à äëÿ ïàðû êîìïüþòåðîâ (èëè ëþäåé) â ñåòè íàñòîëüêî ôóíäàìåíòàëüíà, ÷òî ñòàëà ïðè÷èíîé ìíîãèõ èññëåäîâàíèé . Íåêîòîðûå èññëåäîâàíèÿ çàêëþ÷àëèñü â ðàçðàáîòêå ïðîòîêîëîâ, ïîäîáíûõ ðàññìàòðèâàåìûì â ðàçäåëàõ 3.1, 3.2 è 3.3. Ýòî, â ñâîþ î÷åðåäü, ïðèâåëî ê ïîÿâëåíèþ áîëåå âàæíîé è èíòåðåñíîé çàäà÷è: ôîðìàëüíîìó àíàëèçó ïðîòîêîëîâ ïðîâåðêè ïîäëèííîñòè è îáìåíà êëþ÷àìè. Èíîãäà ïðîðåõè â ïðîòîêîëàõ, êàæóùèõñÿ âïîëíå íàäåæíûìè, îáíàðóæèâàëèñü ñïóñòÿ ìíîãî ëåò ï îñëå èõ ðàçðàáîòêè, è ðàçðàáîò÷èêàì ïîòðåáîâàëèñü ñðåäñòâà, ïîçâîëÿþùèå ñðàçó æå ïðîâåðÿòü áåçîïàñíîñòü ïðîòîêîëà. Õîòÿ áîëüøàÿ ÷àñòü ýòîãî èíñòðóìåíòàðèÿ ïðèìåíèìà è ê áîëåå îáùèì êðèïòîãðàôè÷åñêèì ïðîò îêîëàì, îñîáîå âíèìàíèå óäåëÿëîñü ïðîâåðêå ïîäëèííîñòè è îáìåíó êëþ÷àìè . Ñóùåñòâóåò ÷åòûðå îñíîâíûõ ïîäõîäà ê àíàëèçó êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ [1045]: 1. Ìîäåëèðîâàíèå è ïðîâåðêà ðàáîòû ïðîòîêîëà ñ èñïîëüçîâàíèåì ÿçûêîâ îïèñàíèÿ è ñðåäñòâ ïðîâåðêè, íå ðàçðàáîòàííûõ ñïåöèàëüíî äëÿ àíàëèçà êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ. 2. Ñîçäàíèå ýêñïåðòíûõ ñèñòåì, ïîçâîëÿþùèõ êîíñòðóêòîðó ïðîòîêîëà ðàçðàáàòûâàòü è èññëåäîâàòü ðàçëè÷íûå ñöåíàðèè. 3. Âûðàáîòêà òðåáîâàíèé ê ñåìåéñòâó ïðîòîêîëîâ, èñïîëüçóÿ íåêóþ ëîãèêó äëÿ àíàëèçà ïîíÿòèé "çíàíèå" è "äîâåðèå". 4. Ðàçðàáîòêà ôîðìàëüíûõ ìåòîäîâ, îñíîâàííûõ íà çàïèñè ñâîéñòâ êðèïòîãðàôè÷åñêèõ ñèñòåì â àëãå áðàè÷åñêîì âèäå. Ïîëíîå îïèñàíèå ýòèõ ÷åòûðåõ ïîäõîäîâ è ñâÿçàííûõ ñ íèìè èññëåäîâàíèé âûõîäèò çà ðàìêè äàííîé êíèãè. Õîðîøåå ââåäåíèå â ýòó òåìó äàíî â [1047, 1355], ÿ æå ñîáèðàþñü êîñíóòüñÿ òîëüêî îñíîâíûõ âîïðîñîâ . Ïåðâûé èç ïîäõîäîâ ïûòàåòñÿ äîêàçàòü ïðàâèëüíîñòü ïðîòîêîëà, ðàññìàòðèâàÿ åãî êàê îáû÷íóþ êîìïüþòå ðíóþ ïðîãðàììó. Ðÿä èññëåäîâàòåëåé ïðåäñòàâëÿþò ïðîòîêîë êàê êîíå÷íûé àâòîìàò [1449, 1565], äðóãèå èñïîëüçóþò ðàñøèðåíèÿ ìåòîäîâ èñ÷èñëåíèÿ ïðåäèêàòà ïåðâîãî ïîðÿäêà [822], à òðåòüè äëÿ àíàëèçà ïðîòîêîëîâ è ñïîëüçóþò ÿçûêè îïèñàíèÿ [1566]. Îäíàêî, äîêàçàòåëüñòâî ïðàâèëüíîñòè îòíþäü íå ÿâëÿåòñÿ äîêàçàòåëüñòâîì áåçîïàñíîñòè, è ýòîò ïîäõîä ïîòåðïåë íåóäà÷ó ïðè àíàëèçå ìíîãèõ "äûðÿâûõ" ïðîòîêîëîâ . È õîòÿ åãî ïðèìåíåíèå ïîíà÷àëó øèðîêî èçó÷àëîñü, ñ ðîñòîì ïîïóëÿðíîñòè òðåòüåãî èç ïîäõîäîâ ðàáîòû â ýòîé îáëàñòè áûëè ï åðåîðèåíòèðîâàíû.
Âî âòîðîì ïîäõîäå äëÿ îïðåäåëåíèÿ òîãî, ìîæåò ëè ïðîòîêîë ïåðåéòè â íåæåëàòåëüíîå ñîñòîÿíèå (íàïðèìåð, ïîòåðÿ êëþ÷à), èñïîëüçóþòñÿ ýêñïåðòíûå ñèñòåìû . Õîòÿ ýòîò ïîäõîä äàåò ëó÷øèå ðåçóëüòàòû ïðè ïîèñêå "äûð", îí íå ãàðàíòèðóåò áåçîïàñíîñòè è íå ïðåäîñòàâëÿåò ìåòîäèê ðàçðàáîòêè âñêðûòèé . Îí õîðîø äëÿ ïðîâåðêè òîãî, ñîäåðæèò ëè ïðîòîêîë êîíêðåòíóþ "äûðó", íî âðÿä ëè ñïîñîáåí îáíàðóæèòü íåèçâåñòíûå "äûðû" â ïðîòîêîëå . Ïðèìåðû òàêîãî ïîäõîäà ìîæíî íàéòè â [987,1521], à â [1092] îáñóæäàåòñÿ ýêñïåðòíàÿ ñèñòåìà, ðàçðàáîòàííàÿ àðìèåé ÑØÀ è íàçâàííàÿ Ñëåäîâàòåëåì ( Interrogator). Òðåòèé ïîäõîä ãîðàçäî ïîïóëÿðíåå. Îí áûë âïåðâûå ââåäåí Ìàéêëîì Áýððîóçîì ( Michael Burrows), Ìàðòèíîì Àáýäè (Martin Abadi) è Ðîäæåðîì Íååäõýìîì. Îíè ðàçðàáîòàëè ôîðìàëüíóþ ëîãè÷åñêóþ ìîäåëü äëÿ àí àëèçà çíàíèÿ è äîâåðèÿ, íàçâàííóþ ÁÀÍ-ëîãèêîé [283, 284]. ÁÀÍ-ëîãèêà ÿâëÿåòñÿ íàèáîëåå øèðîêî ðàñïð îñòðàíåíà ïðè àíàëèçå ïðîòîêîëîâ ïðîâåðêè ïîäëèííîñòè . Îíà ðàññìàòðèâàåò ïîäëèííîñòü êàê ôóíêöèþ îò ö åëîñòíîñòè è íîâèçíû, èñïîëüçóÿ ëîãè÷åñêèå ïðàâèëà äëÿ îòñëåæèâàíèÿ ñîñòîÿíèÿ ýòèõ àòðèáóòîâ íà ïðîòÿæåíèè âñåãî ïðîòîêîëà. Õîòÿ áûëè ïðåäëîæåíû ðàçëè÷íûå âàðèàíòû è ðàñøèðåíèÿ, áîëüøèíñòâî ðàçðàáîò÷èêîâ ïð îòîêîëîâ äî ñèõ ïîð îáðàùàþòñÿ ê îð èãèíàëüíîé ðàáîòå. ÁÀÍ-ëîãèêà íå ïðåäîñòàâëÿåò äîêàçàòåëüñòâî áåçîïàñíîñòè , îíà ìîæåò òîëüêî ðàññóæäàòü î ïðîâåðêå ïîäëèííîñòè. Îíà ÿâëÿåòñÿ ïðîñòîé, ïðÿìîëèíåéíîé ëîãèêîé, ëåãêîé â ïðèìåíåíèè è ïîëåçíîé ïðè ïîèñêå "äûð" . Âîò íåêîòîðûå ïðåäëîæåíèÿ ÁÀÍ-ëîãèêè: Àëèñà ñ÷èòàåò X. (Àëèñà äåéñòâóåò, êàê åñëè áû X ÿâëÿëîñü èñòèíîé.) Àëèñà âèäèò X. (Êòî-òî ïîñëàë ñîîáùåíèå, ñîäåðæàùåå X, Àëèñå, êîòîðàÿ ìîæåò ïðî÷èòàòü è ñíîâà ïåðåäàòü X - âîçìîæíî ïîñëå äåøèôðèðîâàíèÿ.) Àëèñà ñêàçàëà X. ( íåêîòîðûé ìîìåíò âðåìåíè Àëèñà ïîñëàëà ñîîáùåíèå, êîòîðîå ñîäåðæèò ïðåäëîæåíèå X. Íå èçâåñòíî, êàê äàâíî áûëî ïîñëàíî ñîîáùåíèå, è áûëî ëè îíî ïîñëàíî â òå÷åíèè òåêóùåãî âûïîëíåíèÿ ïðîòîêîëà . Èçâåñòíî, ÷òî Àëèñà ñ÷èòàëà X, êîãäà ãîâîðèëà X.) X íîâî. (X íèêîãäà íå áûëî ïîñëàíî â ñîîáùåíèè äî òåêóùåãî âûïîëíåíèÿ ïðîòîêîëà .)
È òàê äàëåå. ÁÀÍ-ëîãèêà òàêæå ïðåäîñòàâëÿåò ïðàâèëà äëÿ ðàññóæäåíèÿ î äîâåðèè ïðîòîêîëó . Äëÿ äîêàçàòåëüñòâà ÷åãî-ëèáî â ïðîòîêîëå èëè äëÿ îòâåòà íà êàêèå-òî âîïðîñû ê ëîãè÷åñêèì ïðåäëîæåíèÿì î ïðîòîêîëå ìîæíî ïðèìåíèòü ýòè ïðàâèëà. Íàïðèìåð, îäíèì èç ïðàâèë ÿâëÿåòñÿ ïðàâèëî î çíà÷åíèè ñîîáùåíèÿ : ÅÑËÈ Àëèñà ñ÷èòàåò, ÷òî ó Àëèñû è Áîáà îáùèé ñåêðåòíûé êëþ÷, K, è Àëèñà âèäèò Õ, øèôðîâàííîå K, è Àëèñà íå øèôðîâàëà X ñ ïîìîùüþ K, ÒÎ Àëèñà ñ÷èòàåò, ÷òî Áîá ñêàçàë X.
Äðóãèì ÿâëÿåòñÿ ïðàâèëî ïîäòâåðæäåíèÿ ìåòêè âðåìåíè : ÅÑËÈ Àëèñà ñ÷èòàåò, ÷òî X ìîãëî áûòü ñêàçàíî òîëüêî íåäàâíî, è, ÷òî Áîá X êîãäà-òî ñêàçàë X, ÒÎ Àëèñà ñ÷èòàåò, ÷òî Áîá ñ÷èòàåò X.
ÁÀÍ-àíàëèç äåëèòñÿ íà ÷åòûðå ýòàïà : (1) Ïðåîáðàçóéòå ïðîòîêîë ê èäåàëüíîé ôîðìå, èñïîëüçóÿ îïèñàííûå âûøå ïðåäëîæåíèÿ. (2) Äîáàâüòå âñå ïðåäïîëîæåíèÿ î íà÷àëüíîì ñîñòîÿíèè ïðîòîêîëà. (3) Ïðèñîåäèíèòå ëîãè÷åñêèå ôîðìóëû ê ïðåäëîæåíèÿì, ïîëó÷àÿ óòâåðæäåíèÿ î ñîñòîÿíèè ñèñòåìû ïîñëå êàæäîãî ïðåäëîæåíèÿ. (4) Ïðèìåíèòå ëîãè÷åñêèå ïîñòóëàòû ê óòâåðæäåíèÿì è ïðåäïîëîæåíèÿì, ÷òîáû ðàñêðûòü ñîñòîÿíèå äîâåðèÿ ó÷àñòíèêîâ ïðîòîêîëà. Àâòîðû ÁÀÍ-ëîãèêè "ðàññìàòðèâàþò èäåàëèçèðîâàííûå ïðîòîêîëû êàê áîëåå ÿñíûå è ïîëíûå îïèñàíèÿ, ÷åì òðàäèöèîííûå, íàéäåííûå â ëèòåðàòóðå ..." [283, 284]. Äðóãèå èññëåäîâàòåëè íå òàê îïòèìèñòè÷íû è ïîäâåðãàþò ýòî äåéñòâèå êðèòèêå, òàê êàê ïðè ýòîì ðåàëüíûé ïðîòîêîë ìîæåò áûòü èñêàæåí [1161, 1612]. Äàëüíåéøèå ñïîðû îòðàæåíû â [221, 1557]. Ðÿä êðèòèêîâ ïûòàåòñÿ ïîêàçàòü, ÷òî ÁÀÍ-ëîãèêà ìîæåò è ïîëó÷èòü î÷åâèäíî í åïðàâèëüíûå õàðàêòåðèñòèêè ïðîòîêîëîâ [1161] - ñì. êîíòðäîâîäû â [285, 1509] - è ÷òî ÁÀÍ-ëîãèêà çàíèìàåòñÿ òîëüêî äîâåðèåì, à íå áåçîïàñíîñòüþ [1509]. Ïîäðîáíîå îáñóæäåíèå ïðèâåäåíî â [1488, 706, 1002]. Íåñìîòðÿ íà ýòó êðèòèêó ÁÀÍ-ëîãèêà äîñòèãëà îïðåäåëåííûõ óñïåõîâ . Åé óäàëîñü îáíàðóæèòü "äûðû" â í åñêîëüêèõ ïðîòîêîëàõ, âêëþ÷àÿ Needham-Schroeder è ðàííþþ ÷åðíîâóþ âåðñèþ ïðîòîêîëà CCITT X.509 [303]. Îíà îáíàðóæèëà èçáûòî÷íîñòü âî ìíîãèõ ïðîòîêîëàõ, âêëþ÷àÿ Yahalom, Needham-Schroeder è Kerberos. Âî ìíîãèõ îïóáëèêîâàííûõ ðàáîòàõ ÁÀÍ-ëîãèêà èñïîëüçóåòñÿ äëÿ çàÿâëåíèÿ ïðåòåíçèè î áåçîïàñíîñòè îïèñûâà åìûõ ïðîòîêîëîâ [40, 1162, 73]. Áûëè îïóáëèêîâàíû è äðóãèå ëîãè÷åñêèå ñèñòåìû, íåêîòîðûå èç íèõ ðàçðàáàòûâàëèñü êàê ðàñøèðåíèÿ ÁÀÍëîãèêè [645, 586, 1556, 828], à äðóãèå îñíîâûâàëèñü íà ÁÀÍ-ëîãèêå äëÿ èñïðàâëåíèÿ îùóòèìûõ ñëàáîñòåé [1488, 1002]. Èç íèõ íàèáîëåå óñïåøíîé îêàçàëàñü CNY [645], õîòÿ ó íåå åñòü ðÿä èçúÿíîâ [40].  [292,474] ê ÁÀÍ-ëîãèêå ñ ïåðåìåííûì óñïåõîì áûëè äîáàâëåíû âåðîÿòíîñòíûå äîâåðèÿ . Äðóãèå ôîðìàëüíûå ëîãèêè îïèñàíû â [156, 798,288]. [1514] ïûòàåòñÿ îáúåäèíèòü ÷åðòû íåñêîëüêèõ ëîãèê . À â [1124, 1511] ïðåäñòàâëåíû ëîãèêè, â êîòîðûõ äîâåðèÿ èçìåíÿþòñÿ ñî âðåìåíåì . ×åòâåðòûé ïîäõîä ê àíàëèçó êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ ïðåäëàãàåò ìîäåëèðîâàòü ïðîòîêîë êàê àëãå áðàè÷åñêóþ ñèñòåìó, âûðàçèòü ñîñòîÿíèå çíàíèÿ ó÷àñòíèêîâ î ïðîòîêîëå è çàòåì ïðîàíàëèçèðîâàòü äîñòèæ è-
ìîñòü îïðåäåëåííûõ ñîñòîÿíèé. Ýòîò ïîäõîä ïîêà íå ïðèâëåê ñòîëüêî âíèìàíèÿ, êàê ôîðìàëüíàÿ ëîãèêà, íî ñîñòîÿíèå äåë ìåíÿåòñÿ. Îí âïåðâûå áûë èñïîëüçîâàí Ìàéêëîì Ìåððèòòîì [1076], êîòîðûé ïîêàçàë, ÷òî äëÿ àíàëèçà êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ ìîæíî èñïîëüçîâàòü àëãåáðàè÷åñêóþ ìîäåëü . Äðóãèå ïîäõîäû ðàññìîòðåíû â [473, 1508, 1530, 1531, 1532, 1510, 1612]. Àíàëèçàòîð ïðîòîêîëîâ Èññëåäîâàòåëüñêîé ëàáîðàòîðèÿ ÂÌÑ ( Navy Research Laboratory, NRL), âîçìîæíî, ÿâëÿåòñÿ íàèáîëåå óñïåøíûì ïðèìåíåíèåì ýòèõ ìåòîäîâ [1512, 823, 1046, 1513]. Îí áûë èñïîëüçîâàí äëÿ ïîèñêà êàê íîâûõ, òàê è èçâåñòíûõ "äûð" âî ìíîæåñòâå ïðîòîêîëîâ [1044, 1045, 1047]. Àíàëèçàòîð ïðîòîêîëîâ îïðåäåëÿåò ñëåäóþùèå äåéñòâèÿ: Ïðèíÿòü (Áîá, Àëèñà, M, N). (Áîá ïðèíèìàåò ñîîáùåíèå M êàê ïðèøåäøåå îò Àëèñû â òå÷åíèå ëîêàëüí îãî ðàóíäà Áîáà N.) Óçíàòü (Åâà, M). (Åâà óçíàåò M.) Ïîñëàòü (Àëèñà, Áîá, Q, M). (Àëèñà ïîñûëàåò M Áîáó â îòâåò íà çàïðîñ, Q.) Çàïðîñèòü (Áîá, Àëèñà, Q, N). (Áîá ïîñûëàåò Q Àëèñå â òå÷åíèå ëîêàëüíîãî ðàóíäà Áîáà N.) Èñïîëüçóÿ ýòè äåéñòâèÿ, ìîæíî çàäàòü òðåáîâàíèÿ . Íàïðèìåð: Åñëè Áîá ïðèíÿë ñîîáùåíèå M îò Àëèñû â êàêîé-òî ïðîøåäøèé ìîìåíò âðåìåíè, òî Åâà íå çíàåò M â êàêîé-òî ïðîøåäøèé ìîìåíò âðåìåíè. Åñëè Áîá ïðèíÿë ñîîáùåíèå M îò Àëèñû â òå÷åíèå ëîêàëüíîãî ðàóíäà Áîáà N, òî Àëèñà ïîñëàëà M Áîáó â îòâåò íà çàïðîñ Áîáà â ëîêàëüíîì ðàóíäå Áîáà N. Äëÿ àíàëèçà Àíàëèçàòîðîì ïðîòîêîëîâ NRL èññëåäóåìûé ïðîòîêîë äîëæåí áûòü îïèñàí ñ ïîìîùüþ ïðèâ åäåííûõ êîíñòðóêöèé. Çàòåì âûïîëíÿþòñÿ ÷åòûðå ôàçû àíàëèçà : îïðåäåëåíèå ïðàâèë ïåðåõîäà äëÿ ÷åñòíûõ ó÷ àñòíèêîâ, îïèñàíèå îïåðàöèé, âîçìîæíûõ è äëÿ ïîëíîñòüþ ÷åñòíûõ, è äëÿ íå÷åñòíûõ ó÷àñòíèêîâ , îïèñàíèå áàçîâûõ áëîêîâ ïðîòîêîëà è îïèñàíèå ïðàâèë ïðåîáðàçîâàíèÿ . Ñìûñë âñåãî ýòîãî â òîì, ÷òîáû ïîêàçàòü, ÷òî äà ííûé ïðîòîêîë óäîâëåòâîðÿåò íåîáõîäèìûì òðåáîâàíèÿìè . Èñïîëüçîâàíèå èíñòðóìåíòîâ, ïîäîáíûõ Àíàëèçàò îðó ïðîòîêîëîâ NRL, â èòîãå ìîãëî áû ïðèâåñòè ê ñîçäàíèþ ïðîòîêîëà, êîòîðûé áûë áû îáîñíîâàííî ïðèçíàí áåçîïàñíûì. Õîòÿ ôîðìàëüíûå ìåòîäû â îñíîâíîì ïðèìåíÿþòñÿ ê óæå ñóùåñòâóþùèì ïðîòîêîëàì, ñåãîäíÿ åñòü òåíäå íöèÿ èñïîëüçîâàòü èõ è ïðè ïðîåêòèðîâàíèè ïðîòîêîëîâ . Ðÿä ïðåäâàðèòåëüíûõ øàãîâ â ýòîì íàïðàâëåíèè ñäåëàí â [711]. Ýòî æå ïûòàåòñÿ ñäåëàòü è àíàëèçàòîð ïðîòîêîëîâ NRL [1512, 222, 1513]. Ïðèìåíåíèå ôîðìàëüíûõ ìåòîäîâ ê êðèïòîãðàôè÷åñêèì ïðîòîêîëàì ïðåäñòàâëÿåò ñîáîé êà÷åñòâåííî íîâóþ èäåþ, è òðóäíî îáðèñîâàòü, ê ÷åìó ìîæåò ïðèâåñòè åå ðåàëèçàöèÿ . Ñ ýòîé òî÷êè çðåíèÿ ñëàáåéøèì çâåíîì ê àæåòñÿ ïðîöåññ ôîðìàëèçàöèè.
3.5 Êðèïòîãðàôèÿ ñ íåñêîëüêèìè îòêðûòûìè êëþ÷àìè Îáû÷íàÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè èñïîëüçóåò äâà êëþ÷à. Ñîîáùåíèå, çàøèôðîâàííîå îäíèì êëþ÷îì, ìîæåò áûòü ðàñøèôðîâàíî äðóãèì . Îáû÷íî îäèí êëþ÷ ÿâëÿåòñÿ çàêðûòûì, à äðóãîé - îòêðûòûì . Ïóñòü, îäèí êëþ÷ íàõîäèòñÿ ó Àëèñû, à äðóãîé - ó Áîáà. Ìû õîòèì ðåàëèçîâàòü ñëåäóþùóþ ñõåìó: Àëèñà ì îæåò çàøèôðîâàòü ñîîáùåíèå òàê, ÷òî òîëüêî Áîá ñìîæåò ðàñøèôðîâàòü åãî, à Áîá ìîæåò çàøèôðîâàòü ñîîáù åíèå òàê, ÷òî òîëüêî Àëèñà ñìîæåò ïðî÷ èòàòü åãî. Ýòà êîíöåïöèÿ áûëà îáîáùåíû Êîííîì Áîéäîì ( Conn Boyd) [217]. Ïðåäñòàâüòå ñåáå âàðèàíò êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè, èñïîëüçóþùèé òðè êëþ÷à : KA, KB è KC, ðàñïðåäåëåíèå êîòîðûõ ïîêàçàíî â 1-é. Àëèñà ìîæåò çàøèôðîâàòü ñîîáùåíèå êëþ÷îì KA òàê, ÷òî Ýëëåí ìîæåò ðàñøèôðîâàòü åãî, èñïîëüçóÿ êëþ÷è KB è Kc. Òî æå ñàìîå, ñãîâîðèâøèñü, ìîãóò ñäåëàòü Áîá è Êýðîë . Áîá ìîæåò çàøèôðîâàòü ñîîáùåíèå òàê, ÷òî Ôðýíê ñìîæåò ïðî÷åñòü åãî à Êýðîë ñìîæåò çàøèôðîâàòü ñîîáùåíèå òàê, ÷òî åãî ñìîæåò ïðî÷åñòü Äýéâ. Äýéâ ìîæåò çàøèôðîâàòü ñîîáùåíèå êëþ÷îì KA òàê, ÷òî Ýëëåí ñìîæåò ïðî÷åñòü åãî, êëþ÷îì KB òàê, ÷òî åãî ñìîæåò ïðî÷åñòü Ôðýíê, èëè îáîèìè êëþ÷àìè, KA è KB, òàê, ÷òî ñîîáùåíèå ñìîæåò ïðî÷åñòü Êýðîë. Àíàëîãè÷íî, Ýëëåí ìîæåò çàøèôðîâàòü ñîîáùåíèå òàê, ÷òî Àëèñà, èëè Äýéâ, èëè Ôðýíê ñìîæåò ïðî÷åñòü åãî. Âñå âîçìîæíûå êî ìáèíàöèè ïîêàçàíû â , äðóãèõ íå ñóùåñòâóåò. Òàáë. 3-2. Ðàñïðåäåëåíèå êëþ÷åé â òðåõêëþ÷åâîé ñèñòåìå. Àëèñà
KA
Áîá
KB
Êýðîë
KÑ
Äýéâ
KA è K B
Ýëëåí
KB è Kc
Ôðàíê
KÑ è K A
Òàêàÿ ñõåìà ìîæåò áûòü ðàñøèðåíà íà n êëþ÷åé. Åñëè äëÿ øèôðîâàíèÿ ñîîáùåíèÿ èñïîëüçóåòñÿ çàäàííîå ïîäìíîæåñòâî êëþ÷åé, òî äëÿ äåøèôðèðîâàíèÿ ñîîáùåíèÿ ïîòðåáóþòñÿ îñòàâøèåñÿ êëþ÷è . Øèðîêîâåùàòåëüíàÿ ïåðåäà÷à ñîîáùåíèÿ Ïðåäñòàâüòå, ÷òî â íåêîåé îïåðàöèè çàíÿòî 100 âàøèõ òàéíûõ àãåíòîâ . Âû õîòèòå èìåòü âîçìîæíîñòü ïîñ ûëàòü ñîîáùåíèÿ ãðóïïàì àãåíòîâ, íî âû íå çíàåòå çàðàíåå ñîñòàâ ãðóïï . Ìîæíî ëèáî øèôðîâàòü ñîîáùåíèå î òäåëüíî äëÿ êàæäîãî êîððåñïîíäåíòà, ëèáî ðàñïðåäåëèòü êëþ÷è äëÿ âñåõ âîçìîæíûõ êîìáèíàöèé àãåíòîâ . Äëÿ ðåàëèçàöèè ïåðâîãî ñïîñîáà ïîòðåáóåòñÿ ìíîæåñòâî ñîîáùåíèé, äëÿ âòîðîãî - ìíîæåñòâî êëþ÷åé . Êðèïòîãðàôèÿ ñ íåñêîëüêèìè êëþ÷àìè ïîçâîëÿåò ðåøèòü ýòó çàäà÷ó íàìíîãî ïðîùå. Ìû áóäåì èñïîëüçîâàòü òðåõ àãåíòîâ: Àëèñó, Áîáà è Êýðîë. Âû âûäàäèòå Àëèñå êëþ÷ KA è KB, Áîáó - KB è KÑ, Êýðîë - KÑ è KA. Òåïåðü âû ñìîæåòå ãîâîðèòü ñ ëþáûì íóæíûì ïîäìíîæåñòâîì àãåíòîâ. Åñëè âû õîòèòå, ÷òîáû ñîîáùåíèå ìîãëà ïð î÷èòàòü òîëüêî Àëèñà, çàøèôðóéòå åãî êëþ÷îì KÑ. Êîãäà Àëèñà ïîëó÷èò ñîîáùåíèå, îíà ðàñøèôðóåò åãî, ïîñë åäîâàòåëüíî èñïîëüçóÿ êëþ÷è KA è KB. Åñëè âû õîòèòå ïîñëàòü ñîîáùåíèå òîëüêî Áîáó, çàøèôðóéòå åãî êëþ÷îì KA, à ñîîáùåíèå äëÿ Êýðîë - êëþ÷îì KB. Åñëè âû õîòèòå, ÷òîáû ïîñëàííîå ñîîáùåíèå ìîãëè ïðî÷èòàòü Àëèñà è Áîá, çàøèôðóéòå åãî êëþ÷àìè KA è KÑ. Äëÿ òðåõ àãåíòîâ ýòî íå ñëèøêîì âïå÷àòëÿåò, íî äëÿ 100 ïðåèìóùåñòâî äîñòàòî÷íî îùóòèìî. Èíäèâèäóàë üíûå ñîîáùåíèÿ îçíà÷àþò èñïîëüçîâàíèå îòäåëüíîãî êëþ÷à äëÿ êàæäîãî àãåíòà (âñåãî 100 êëþ÷åé) è êàæäîãî ñîîáùåíèÿ. Ïåðåäà÷à ñîîáùåíèé âñåì âîçìîæíûì ïîäìíîæåñòâàì îçíà÷àåò èñïîëüçîâàíèå 2 100-2 ðàçëè÷íûõ êëþ÷åé (èñêëþ÷åíû ñëó÷àè ñîîáùåíèÿ âñåì àãåíòàì è íèêîìó èç íèõ) . Äëÿ ñõåìû, èñïîëüçóþùèé êðèïòîãð àôèþ ñ íåñêîëüêèìè îòêðûòûìè êëþ÷àìè, íóæíî òîëüêî îäíî øèôðîâàííîå ñîîáùåíèå è ñòî ðàçëè÷íûõ êëþ÷åé . Íåäîñòàòêîì ýòîé ñõåìû ÿâëÿåòñÿ òî, ÷òî âàì òàêæå ïðèäåòñÿ øèðîêîâåùàòåëüíî ïåðåäàâàòü, êàêîå ïîäìíîæ åñòâî àãåíòîâ ìîæåò ÷èòàòü ñîîáùåíèå, èíà÷å êàæäîìó èõ íèõ ïðèäåòñÿ ïåðåáèðàòü âñå âîçìîæíûå êîìáèíàöèè êëþ÷åé â ïîèñêàõ ïîäõîäÿùåé. Äàæå òîëüêî ïåðå÷èñëåíèå èìåí ïîëó÷àòåëåé ìîæåò áûòü âåñüìà âíóøèòåëüíûì. Êðîìå òîãî, êàæäîìó àãåíòó ïðèäåòñÿ õðàíèòü íåìàëåíüêèé îáúåì èíôîðìàöèè î êëþ÷àõ, ïî êðàéíåé ìåðå ïðè ïðÿìîëèíåéíîé ðåàëèçàöèè ýòîé ñõåìû . Ñóùåñòâóþò è äðóãèå ñïîñîáû øèðîêîâåùàòåëüíîé ïåðåäà÷è , ðÿä èç íèõ ïîçâîëÿåò èçáåæàòü îïèñàííîé ïðîáëåìû. Ýòè ñïîñîáû îáñóæäàþòñÿ â ðàçäåëå 22.7. Òàáë. 3-3. Øèôðîâàíèå ñîîáùåíèÿ â òðåõêëþ÷åâîé ñèñòåìå. Øèôðóåòñÿ êëþ÷àìè
Äîëæíî áûòü ðàñøèôðîâàíî êëþ÷àìè
KA
KB è Kc
KB
KA è K Ñ
KÑ
KA è K B
KA è K B
KÑ
KA è K Ñ
KB
KB è Kc
KA
3.6 Ðàçäåëåíèå ñåêðåòà Âîîáðàçèòå, ÷òî âû èçîáðåëè íîâûé, ñâåðõëèïêóþ, ñâåðõñëàäêóþ ñëèâî÷íóþ òÿíó÷êó èëè ñîóñ äëÿ ãàìáóðã åðîâ, êîòîðûé åùå áåçâêóñíåå, ÷åì ó âàøèõ êîíêóðåíòîâ. Ýòî î÷åíü âàæíî, è âû õîòèòå ñîõðàíèòü èçîáðåòåíèå â ñåêðåòå. Òîëüêî ñàìûì íàäåæíûì ðàáîòíèêàì âû ìîæåòå ñîîáùèòü òî÷íûé ñîñòàâ èíãðåäèåíòîâ , íî âäðóã è êòî-òî èç íèõ ïîäêóïëåí êîíêóðåíòàìè ? Ñåêðåò âûêðàäóò, è íåìíîãî ïîãîäÿ êàæäûé â êâàðòàëå áóäåò äåëàòü ãàìáóðãåðû ñ òàêèì æå áåçâêóñíûì ñîóñîì, êàê âàø. Ïðåäëàãàåìàÿ ñõåìà íàçûâàåòñÿ ðàçäåëåíèåì ñåêðåòà. Åñòü ñïîñîáû âçÿòü ñîîáùåíèå è ðàçäåëèòü åãî íà ÷àñòè [551]. Êàæäàÿ ÷àñòü ñàìà ïî ñåáå íè÷åãî íå çíà÷èò, íî ñëîæèòå èõ - è âû ïîëó÷èòå ñîîáùåíèå . Åñëè ýòî
ðåöåïò, è ó êàæäîãî ðàáîòíèêà íàõîäèòñÿ òîëüêî åãî ÷àñòü, òî ëèøü ñîáðàâøèñü âñå âìåñòå âàøè ñëóæàùèå ñì îãóò ñäåëàòü ñîóñ. Åñëè êòî-íèáóäü èç ðàáîòíèêîâ óâîëèòñÿ, ïðèõâàòèâ ñ ñîáîé ñâîþ ÷àñòü ðåöåïòà, ðàñêðûòàÿ èíôîðìàöèÿ ïî ñåáå áóäåò áåñïîëåçíîé . Ïî ïðîñòåéøåé ñõåìå ñîîáùåíèå äåëèòñÿ ìåæäó äâóìÿ ëþäüìè. Âîò ïðîòîêîë, èñïîëüçóÿ êîòîðûé Òðåíò ä åëèò ñîîáùåíèå ìåæäó Àëèñîé è Áîáîì : (1) Òðåíò ãåíåðèðóåò ñòðîêó ñëó÷àéíûõ áèòîâ, R, òàêîé æå äëèíû, ÷òî è ñîîáùåíèå, M. (2) Òðåíò âûïîëíÿåò "èñêëþ÷àþùåå èëè" ( XOR) íàä M è R, ñîçäàâàÿ S. R⊕M=S (3) Òðåíò ïåðåäàåò Àëèñå R, à Áîáó - S. ×òîáû ïîëó÷èòü ñîîáùåíèå, Àëèñå è Áîáó íóæíî âûïîëíèòü åäèíñòâåííîå äåéñòâèå: (4) Àëèñà è Áîá âûïîëíÿþò îïåðàöèþ íàä èìåþùèìèñÿ ó íèõ ÷àñòÿìè, âîññòàíàâëèâàÿ ñîîáùåíèå.
R⊕S=M Ýòîò ìåòîä ïðè ïðàâèëüíîì âûïîëíåíèè àáñîëþòíî áåçîïàñåí. Êàæäàÿ ÷àñòü â îòäåëüíîñòè àáñîëþòíî áå ññìûñëåííà. ×òî ñóùåñòâåííî, Òðåíò øèôðóåò ñîîáùåíèå îäíîðàçîâûì áëîêíîòîì è äàåò øèôðîòåêñò îäíîìó ÷åëîâåêó, à áëîêíîò - äðóãîìó. Îäíîðàçîâûå áëîêíîòû, îáëàäàþùèå àáñîëþòíîé áåçîïàñíîñòüþ, îáñóæäàþòñÿ â ðàçäåëå 1.5. Íèêàêèå âû÷èñëèòåëüíûå ñðåäñòâà íå ñìîãóò âîññòàíîâèòü ñîîáùåíèå òîëüêî ïî îäíîé åãî ÷àñòè . Ýòó ñõåìó ëåãêî ðàñøèðèòü íà áîëüøåå ÷èñëî ëþäåé . ×òîáû ðàçäåëèòü ñîîáùåíèå ìåæäó áîëåå ÷åì äâóìÿ ëþäüìè, âûïîëíèòå îïåðàöèþ XOR ñ áîëüøèì ÷èñëîì ñòðîê ñëó÷àéíûõ áèòîâ .  ñëåäóþùåì ïðèìåðå Òðåíò äåëèò ñîîáùåíèå íà ÷åòûðå ÷àñòè : (1) Òðåíò ãåíåðèðóåò òðè ñòðîêè ñëó÷àéíûõ áèòîâ, R, S è T, òàêîé æå äëèíû, ÷òî è ñîîáùåíèå, M. (2) Òðåíò âûïîëíÿåò "èñêëþ÷àþùåå èëè" ( XOR) íàä M è ñîçäàííûìè òðåìÿ ñòðîêàìè, ñîçäàâàÿ U. M⊕R⊕S⊕T=U (3) Òðåíò ïåðåäàåò Àëèñå R, Áîáó - S, Êýðîë - T, à Äýéâó - U. Âìåñòå Àëèñà, Áîá, Êýðîë è Äýéâ ìîãóò âîññòàíîâèòü ñîîáùåíèå : (4) Àëèñà, Áîá, Êýðîë è Äýéâ ñîáèðàþòñÿ âìåñòå è âû÷èñëÿþò:
R⊕S⊕T⊕U=M Ýòî àðáèòðàæíûé ïðîòîêîë. Òðåíò îáëàäàåò àáñîëþòíîé âëàñòüþ è ìîæåò äåëàòü âñå, ÷òî îí õî÷åò . Îí ìîæåò ðàçäàòü ÷åïóõó è óòâåðæäàòü, ÷òî ýòî íàñòîÿùèå ÷àñòè ñåêðåòíîé èíôîðìàöèè, íèêòî íå ñìîæåò ýòî ïðîâ åðèòü, ïîêà, ñîáðàâøèñü âìåñòå, ó÷àñòíèêè ïðîòîêîëà íå ïîïðîáóþò ïðî÷èòàòü ïèñüìî . Îí ìîæåò âûäàòü ÷àñòè ñåêðåòà Àëèñå, Áîáó, Êýðîë è Äýéâó è ïîçæå çàÿâèòü âñåì, ÷òî òîëüêî Àëèñà, Êýðîë è Äýéâ íóæíû äëÿ âîññò àíîâëåíèÿ ñåêðåòà, çàñòðåëèâ ïðè ýòîì Áîáà . Íî ýòî íå ÿâëÿåòñÿ ïðîáëåìîé, òàê êàê äåëèìûé ñåêðåò ïðèíàäë åæèò Òðåíòó. Îäíàêî, îäíà ïðîáëåìà ó ýòîãî ïðîòîêîëà ñóùåñòâóåò. Åñëè ëþáàÿ èç ÷àñòåé áóäåò ïîòåðÿíà, à Òðåíòà íå á óäåò ïîáëèçîñòè, ïðîïàäåò è âñå ñîîáùåíèå . Åñëè Êýðîë, îáëàäàÿ ÷àñòüþ ðåöåïòà ñîóñà, ïåðåéäåò ðàáîòàòü ê êî íêóðåíòó, îñòàâèâ ñâîþ ÷àñòü ñåêðåòà ó ñåáÿ, çíà÷èò, îñòàëüíûì íå ïîâåçëî. Îíà íå ñìîæåò âîññòàíîâèòü ðåöåïò, íî íå ñìîãóò, ñîáðàâøèñü, è Àëèñà, Áîá è Äýéâ . Åå ÷àñòü òàêæå êðèòè÷íà äëÿ âîññòàíîâëåíèÿ ñîîáùåíèÿ, êàê è ëþáàÿ äðóãàÿ. Âñå, ÷òî èçâåñòíî Àëèñå, Áîáó è Äýéâó - ýòî äëèíà ñîîáùåíèÿ, è íè÷åãî áîëüøå . Ýòî èñòèííî, òàê êàê ó R, S, T, U è M îäèíàêîâàÿ äëèíà, ñëåäîâàòåëüíî, êàæäîìó èç ó÷àñòíèêîâ èçâåñòíà äëèíà M. Ïîìíèòå, ñîîáùåíèå M äåëèòñÿ íå â îáû÷íîì ñìûñëå ýòîãî ñëîâà, à ïîäâåðãàåòñÿ îïåðàöèè XOR ñî ñëó÷àéíûìè âåëè÷èíàìè.
3.7 Ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà Âû ââîäèòå ïðîãðàììó çàïóñêà ÿäåðíîé ðàêåòû è õîòèòå áûòü óâåðåííûì, ÷òî íèêàêîé ïñèõ â îäèíî÷êó íå ñìîæåò âûçâàòü ïóñê. Âû õîòèòå áûòü óâåðåííûì, ÷òî è äâà ïñèõà íå ñìîãóò âûçâàòü ïóñê . Âû õîòèòå, ÷òîáû ïóñê ïðîèçîøåë òîëüêî, åñëè íå ìåíüøå òðåõ èç ïÿòè îôèöåðîâ áóäóò ïñèõàìè . Ýòà ïðîáëåìà ëåãêî ìîæåò áûòü ðåøåíà. Ñäåëàéòå ìåõàíè÷åñêîå óñòðîéñòâî êîíòðîëÿ çàïóñêà . Âûäàéòå êëþ÷ êàæäîìó èç ïÿòè îôèöåðîâ è ïîòðåáóéòå, ÷òîáû ïî ìåíüøå ìåðå òðè îôèöåðà âñòàâèëè ñâîè êëþ÷è â ñîî òâåòñòâóþùèå ãíåçäà, ïðåæäå ÷åì âû ðàçðåøèòå èì âçîðâàòü òîãî, êîãî ìû âçðûâàåì íà ýòîé íåäåëå . (Åñëè âû äåéñòâèòåëüíî âîëíóåòåñü, ñäåëàéòå ãíåçäà ïîäàëüøå äðóã îò äðóãà è ïîòðåáóéòå, ÷òîáû îôèöåðû âñòàâëÿëè êëþ÷è îäíîâðåìåííî - âû âåäü íå õîòåëè áû, ÷òîáû îôèöåð, âûêðàâøèé íåäîñòàþùóþ ïàðó êëþ÷åé, ñìîã áû èñïåïåëèòü Òîëåäî.)
Ìîæíî ñäåëàòü åùå ñëîæíåå. Ïóñòü òîëüêî ãåíåðàë ó è ïàðå ïîëêîâíèêîâ ðàçðåøåíî çàïóñòèòü ðàêåòó, íî å ñëè ãåíåðàë çàíÿò èãðîé â ãîëüô, òî çàïóñòèòü ðàêåòó èìåþò ïðàâî òîëüêî ïÿòü ïîëêîâíèêîâ . Ñäåëàéòå êîíòðîëüíîå óñòðîéñòâî ñ ïÿòüþ êëþ÷àìè. Âûäàéòå ãåíåðàëó òðè êëþ÷à, à ïîëêîâíèêàì ïî îäíîìó. Ãåíåðàë âìåñòå ñ äâóìÿ ïîëêîâíèêàìè èëè ïÿòü ïîëêîâíèêîâ ñìîãóò çàïóñòèòü ðàêåòó. Îäíàêî íè ãåíåðàë â îäèíî÷êó, íè ÷åòûðå ïîëêîâíèêà íå ñìîãóò ýòîãî ñäåëàòü. Áîëåå ñëîæíàÿ ñõåìà ñîâìåñòíîãî èñïîëüçîâàíèÿ, íàçûâàåìàÿ ïîðîãîâîé ñõåìîé, ìîæåò ðåøèòü è ýòè çàäà÷è, è áîëåå ñëîæíûå - ìàòåìàòè÷åñêè . Íà åå ïðîñòåéøåì óðîâíå âû ìîæåòå âçÿòü ëþáîå ñîîáùåíèå (ñåêðåòíûé ðåöåïò, êîäû çàïóñêà, âàø ñïèñîê äëÿ ïðà÷å÷íîé è ò.ï.) è ðàçäåëèòü åãî íà n ÷àñòåé, íàçûâàåìûõ òåíÿìè èëè äîëÿìè, òàê, ÷òî ïî ëþáûì m èç íèõ ìîæíî âîññòàíîâèòü ñîîáùåíèå. Áîëåå òî÷íî, ýòî íàçûâàåòñÿ (m,n)-ïîðîãîâîé ñõåìîé. Èñïîëüçóÿ (3,4)-ïîðîãîâóþ ñõåìó, Òðåíò ìîæåò ðàçäåëèòü ñâîé ñåêðåòíûé ðåöåïò ìåæäó Àëèñîé, Áîáîì, Ê ýðîë è Äýéâîì òàê, ÷òî ëþáûå òðîå èç íèõ ìîãóò ñëîæèòü ñâîè òåíè âìåñòå è âîññòàíîâèòü ñîîáùåíèå . Åñëè Êýðîë â îòïóñêå, òî Àëèñà, Áîá è Äýéâ ñìîãóò âîññòàíîâèòü ñîîáùåíèå . Åñëè Áîá ïîïàë ïîä àâòîáóñ, òî ñîîáùåíèå ñìîãóò âîññòàíîâèòü Àëèñà, Êýðîë è Äýéâ. Íî åñëè Áîá ïîïàë ïîä àâòîáóñ, à Êýðîë â îòïóñêå, òî Àëèñà è Äýéâ ñàìîñòîÿòåëüíî íå ñìîãóò âîññòàíîâèòü ñîîáùåíèå . Âîîáùå, ïîðîãîâûå ñõåìû ìîãóò áûòü åùå áîëåå ãèáêèìè. Ìîæíî îòìîäåëèðîâàòü ëþáûå ñöåíàðèè ñîâì åñòíîãî èñïîëüçîâàíèÿ, êîòîðûå âû òîëüêî ñìîæåòå âîîáðàçèòü. Ìîæíî ðàçäåëèòü ñîîáùåíèå ìåæäó ëþäüìè â âàøåì çäàíèè òàê, ÷òî äëÿ åãî âîññòàíîâëåíèÿ, åñëè íåò íèêîãî ñ òðåòüåãî ýòàæà, ïîòðåáóåòñÿ ñåìü ÷åëîâåê ñ ïåðâîãî ýòàæà è ïÿòü ñî âòîðîãî, â ïðîòèâíîì ñëó÷àå äîñòàòî÷íî ïðåäñòàâèòåëÿ òðåòüåãî ýòàæà âìåñòå ñ òðåìÿ ÷åëîâåêàìè ñ ïåðâîãî ýòàæà è äâóìÿ ñî âòîðîãî. Åñëè æå åñòü êòî-òî ñ ÷åòâåðòîãî ýòàæà, òî äëÿ âîññòàíîâëåíèÿ ñîîáùåíèÿ äîñòàòî÷íî ýòîãî ÷åëîâåêà è îäíîãî ñ òðåòüåãî ýòàæà èëè ýòîãî ÷åëîâåêà âìåñòå ñ äâóìÿ ñ ïåðâîãî ýòàæà è îäíîãî ñî âòîðîãî. Åñëè æå ... íó âû óëîâèëè èäåþ . Ýòà èäåÿ áûëà íåçàâèñèìî âûäâèíóòà Àäè Øàìèðîì [1414] è Äæîðäæåì Áëýêëè (George Blakley) [182] è èíòåíñèâíî áûëà èçó÷åíà Ãóñîì Ñèììîíñîì ( Gus Simmons) [1466]. Ìíîæåñòâî ðàçëè÷íûõ àëãîðèòìîâ îáñó æäàåòñÿ â ðàçäåëå 23.2. Ñîâìåñòíîå èñïîëüçîâàíèå ñ ìîøåííèêàìè Ñóùåñòâóåò ìíîæåñòâî ñïîñîáîâ îáìàíóòü ïîðîãîâóþ ñõåìó. Âîò òîëüêî íåñêîëüêî èç íèõ. Ñöåíàðèé 1 : Ïîëêîâíèêè Àëèñà, Áîá è Êýðîë ñèäÿò â èçîëèðîâàííîì áóíêåðå ãäå-òî ãëóáîêî ïîä çåìëåé. Îäíàæäû îíè ïîëó÷àþò çàêîäèðîâàííîå ñîîáùåíèå îò ïðåçèäåíòà : "Çàïóñòèòü ðàêåòû. Ìû ñîáèðàåìñÿ ñòåðåòü ñ ëèöà Çåìëè ëþáûå ñë åäû èññëåäîâàíèé ïðîòèâíèêà â îáëàñòè íåéðîííûõ ñåòåé ". Àëèñà, Áîá è Êýðîë îòêðûâàþò ñâîè òåíè, íî Êýðîë ââîäèò ñëó÷àéíîå ÷èñëî. Îí íà ñàìîì äåëå ïàöèôèñò è íå õî÷åò, ÷òîáû ðàêåòû áûëè çàïóùåíû . Ïîñêîëüêó Êýðîë íå ââåëà ïðàâèëüíîå òåíè, ñåêðåòíàÿ èíôîðìàöèÿ, êîòîðóþ îíè õîòåëè ïîëó÷èòü, îêàçàëàñü íåïðàâèëüíîé. Ðàêåòû îñòàëèñü â ñâîèõ øàõòàõ . È ñàìîå ïëîõîå, íèêòî íå çíàåò ïî÷åìó . Äàæå îáúåäèíèâøèñü Àëèñà è Áîá íå ñìîãóò äîêàçàòü, ÷òî òåíü Êýðîë íåïðàâèëüíà. Ñöåíàðèé 2: Ïîëêîâíèêè Àëèñà è Áîá ñèäÿò â áóíêåðå âìåñòå ñ Ìýëëîðè. Ìýëëîðè ëîæíî âûäàåò ñåáÿ çà ïîëêîâíèêà. Îò ïðåçèäåíòà ïðèõîäèò òî æå ñàìîå ñîîáùåíèå è âñå îòêðûâàþò ñâîè òåíè . "Õà-õà-õà!" êðè÷èò Ìýëëîðè. "ß ïîääåëàë ýòî ñîîáùåíèå ïðåçèäåíòà . Òåïåðü ÿ çíàþ îáå âàøèõ äîëè." Îí óáåãàåò ââåðõ ïî ëåñòíèöå è èñ÷åçàåò ïðåæäå, ÷åì åãî óñïåþò ïîéìàòü . Ñöåíàðèé 3: Ïîëêîâíèêè Àëèñà, Áîá è Êýðîë ñèäÿò â áóíêåðå âìåñòå ñ Ìýëëîðè, êîòîðûé ñíîâà çàìàñêèðîâàëñÿ. (Ïîìíèòå, ó Ìýëëîðè íåò ïðàâèëüíîé òåíè.) Îò ïðåçèäåíòà ïðèõîäèò òî æå ñàìîå ñîîáùåíèå è âñå î òêðûâàþò ñâîè òåíè. Ìýëëîðè îòêðûâàåò ñâîþ òåíü, òîëüêî óñëûøàâ âñå îñòàëüíûå . Òàê êàê äëÿ âîññòàíîâëåíèÿ ñåêðåòà òðåáóåòñÿ òîëüêî òðè òåíè , îí ìîæåò áûñòðî ñîçäàòü ïðàâèëüíóþ òåíü è îòêðûòü åå. Èòàê, îí íå òîëüêî çàïîëó÷èë ñåêðåò, íî è íèêòî íå äîãàäàëñÿ, ÷òî îí íå ÿâëÿåòñÿ ÷àñòüþ ýòîé ñèñòåìû . Íåêîòîðûå ïðîòîêîëû, êîòîðûå ïîçâîëÿþò áîðîòüñÿ ñ ïîäîáíûìè ìîøåííèêàìè, ðàññìàòðèâàþòñÿ â ðàçäåëå 23.2. Ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà áåç Òðåíòà Áàíê õî÷åò, ÷òîáû åãî ïîäâàë ìîãëè îòêðûòü òðîå èç ïÿòè îôèöåðîâ, ââåäÿ ñâîè êëþ÷è . Ýòî âûãëÿäèò êàê òèïè÷íàÿ (3,5)-ïîðîãîâàÿ ñõåìà, íî ñ îäíîé òîíêîñòüþ. Íèêòî íå çíàåò ñåêðåòà öåëèêîì. Òðåíòà, êîòîðûå äåëèò ñåêðåò íà ïÿòü ÷àñòåé, íåò. Ñóùåñòâóþò ïðîòîêîëû, èñïîëüçóÿ êîòîðûå ïÿòü îôèöåðîâ ìîãóò ñîçäàòü ñåêðåò è ïîäåëèòü åãî íà ÷àñòè òàê, ÷òî íèêòî èç îôèöåðîâ íå óçíàåò ñåêðåòà, ïîêà îí íå áóäåò âîññòàíîâëåí .  ýòîé êíèãå ÿ íå ðàññìàòðèâàþ ýòè ïðîòîêîëû, ïîäðîáíîñòè ñì. â [756]. Ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà áåç ðàñêðûòèÿ äîëåé Ó ýòèõ ñõåì åñòü îäíà ïðîáëåìà. Êîãäà ó÷àñòíèêè ïðîòîêîëà ñîáèðàþòñÿ, ÷òîáû âîññòàíîâèòü ñåêðåò, îíè îòêðûâàþò ñâîè ÷àñòè. Íî ðàñêðûòèå ñåêðåòà íå âñåãäà æåëàòåëüíî . Åñëè ðàçäåëÿåìûé ñåêðåò ÿâëÿåòñÿ çàêð ûòûì êëþ÷îì (íàïðèìåð, ê öèôðîâîé ïîäïèñè), òî êàæäûé èç n ó÷àñòíèêîâ ìîæåò âûïîëíèòü ÷àñòè÷íóþ ïîäïèñü
äîêóìåíòà. Ïîñëå n-îé ÷àñòè÷íîé ïîäïèñè äîêóìåíò îêàçûâàåòñÿ ïîäïèñàí ñîâìåñòíî èñïîëüçóåìûì çàêðûòûì êëþ÷îì, à íè îäèí èç ó÷àñòíèêîâ íå ìîæåò óçíàòü ñîäåðæàíèÿ ÷àñòè, èñïîëüçóåìîé äðóãèì ó÷àñòíèêîì . Ñìûñë â òîì, ÷òî âû ìîæåòå ïîâòîðíî èñïîëüçîâàòü ñåêðåò, è äëÿ ðàáîòû ñ íèì âàì íå ïîíàäîáèòñÿ íàäåæíûé ïîñðå äíèê. Äàëüíåéøåå ðàçâèòèå ýòà èäåÿ ïîëó÷èëà â ðàáîòàõ Èâî Äåñìåäòà (Yvo Desmedt) è Éåðà Ôðåíêåëÿ (Yair Frankel) [483, 484]. Ïîäòâåðæäàåìîå ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà Òðåíò ïåðåäàåò Àëèñå, Áîáó, Êýðîë è Äýéâó ÷àñòü ñåêðåòà (èëè, ïî êðàéíåé ìåðå, çàÿâëÿåò, ÷òî îí ýòî äåëàåò). Åäèíñòâåííûé ñïîñîá óáåäèòüñÿ, ÷òî èõ ÷àñòè ïðàâèëüíû - ýòî ïîïûòàòüñÿ âîññòàíîâèòü ñåêðåò . Ìîæåò áûòü Òðåíò ïîñëàë Áîáó ïîääåëüíóþ ÷àñòü, èëè ÷àñòü Áîáà ñëó÷àéíî èñïîðòèëàñü ïðè ïåðåäà÷å ïî ëèíèÿì ñâÿçè. Ïîäòâåðæäàåìîå ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà ïîçâîëÿåò êàæäîìó èç ó÷àñòíèêîâ ëè÷íî óáåäèòüñÿ, ÷òî èõ ÷àñòü ïðàâèëüíà, áåç íåîáõîäèìîñòè âîññòàíàâëèâàòü ñåêðåò [558, 1235]. Ñõåìû ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà ñ ìåðàìè ïðåäîõðàíåíèÿ Ñåêðåò äåëèòñÿ ñðåäè 50 ÷åëîâåê òàê, ÷òîáû ëþáûå 10 ìîãëè ñîáðàòüñÿ âìåñòå è âîññòàíîâèòü ñåêðåò . Ýòî íåòðóäíî. Íî, ìîæåì ëè ìû ðåàëèçîâàòü òó æå ñõåìó ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà, äîáàâèâ òðåáîâàíèå, ÷òîáû 20 ÷åëîâåê ìîãëè ñîáðàòüñÿ âìåñòå è ïîìåøàòü îñòàëüíûì, íåçàâèñèìî îò èõ ÷èñëà, âîññòàíîâèòü ñåêðåò? Îêàçûâàåòñÿ, ÷òî äà [153]. Ìàòåìàòèêà äîñòàòî÷íî ñëîæíà, íî îñíîâíàÿ èäåÿ â òîì, ÷òî êàæäûé ïîëó÷àåò äâå ÷àñòè : ÷àñòü "äà" è ÷àñòü "íåò". Êîãäà ïðèõîäèò âðåìÿ âîññòàíîâèòü ñåêðåò, ëþäè ïðåäîñòàâëÿþò îäíó èç ñâîèõ ÷àñòåé . Êàêóþ êîíêðåòíî çàâèñèò îò òîãî, õîòÿò ëè îíè, ÷òîáû ñåêðåò áûë ðàñêðûò. Åñëè ïðåäîñòàâëåíî m èëè áîëüøå äîëåé "äà" è ìåíüøå ÷åì n äîëåé "íåò", òî ñåêðåò ìîæåò áûòü âîññòàíîâëåí .  ïðîòèâíîì ñëó÷àå, ýòî íåâîçìîæíî . Êîíå÷íî æå, íè÷åãî íå ìåøàåò äîñòàòî÷íîìó ÷èñëó ëþäåé "äà" îòîéòè â óãîëîê, óåäèíèâøèñü îò ëþäåé "íåò" (åñëè îíè çíàþò, êòî åñòü êòî) è âîññòàíîâèòü ñåêðåò. Íî ïðè óñëîâèè, ÷òî âñå ïåðåäàþò ñâîè ÷àñòè â öåíòðàë üíûé êîìïüþòåð ýòà ñõåìà áóäåò ðàáîòàòü . Ñîâìåñòíîå èñïîëüçîâàíèå ñåêðåòà ñ âû÷åðêèâàíèåì èç ñïèñêà Âû ñîçäàëè ñèñòåìó ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà è òåïåðü õîòèòå çàñòðåëèòü îäíîãî èç âëàäåëüöåâ ÷àñòè ñåêðåòà. Âû ìîãëè áû ñîçäàòü íîâóþ ñõåìó, èñêëþ÷èâ ýòîãî íåñ÷àñòíîãî, íî âðåìÿ ïîäæèìàåò. Äëÿ ï îäîáíîé ñèñòåìû ñóùåñòâóþò ñïîñîáû êîïèðîâàíèÿ . Îíè ïîçâîëÿþò àêòèâèçèðîâàòü íîâóþ ñõåìó ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà ñðàçó æå ïîñëå òîãî, êàê âû ïåðåñòàëè äîâåðÿòü îäíîìó èç ó÷àñòíèêîâ [1004].
3.8 Êðèïòîãðàôè÷åñêàÿ çàùèòà áàç äàííûõ Áàçà äàííûõ ÷ëåíîâ îðãàíèçàöèè - ýòî âåñüìà âàæíàÿ âåùü. Ñ îäíîé ñòîðîíû âû õîòèòå ïðåäîñòàâèòü ê íå äîñòóï âñåì ÷ëåíàì, æåëàÿ, ÷òîáû îíè îáùàëèñü äðóã ñ äðóãîì, îáìåíèâàëèñü èäåÿìè è äåëèëèñü äðóã ñ äðóãîì áóòåðáðîäàìè. Ñ äðóãîé ñòîðîíû, åñëè âû ïóñòèòå â âàøó áàçó äàííûõ êîãî óãîäíî, ñâåäåíèÿ îáÿçàòåëüíî ïîï àäóò â ðóêè íàäîåäëèâûõ ñòðàõîâûõ àãåíòîâ è äîêó÷ëèâûõ ïîñòàâùèêîâ âñÿêîãî õëàìà ïî ïî÷òå . Êðèïòîãðàôèÿ ìîæåò îáëåã÷èòü ýòó ïðîáëåìó . Ìîæíî çàøèôðîâàòü áàçó äàííûõ òàê, ÷òîáû ïîëó÷èòü àäðåñ îäíîãî ÷åëîâåêà áûëî ëåãêî, à èçâëå÷ü ñïèñîê ïî÷òîâûõ àäðåñîâ âñåõ ÷ëåíîâ - òðóäíî . Ñõåìà, ïðåäëîæåííàÿ â [550, 549], ïðÿìîëèíåéíà. Âûáåðèòå îäíîíàïðàâëåííóþ õýø-ôóíêöèþ è ñèììåòðè ÷íûé àëãîðèòì øèôðîâàíèÿ. Ó êàæäîé çàïèñè â áàçå äàííûõ äâà ïîëÿ. Èíäåêñíûì ïîëåì ÿâëÿåòñÿ ôàìèëèÿ ÷ë åíà, è èìåííî îíî îáðàáàòûâàåòñÿ îäíîíàïðàâëåííîé õýø-ôóíêöèåé . Ïîëå äàííûõ, â êîòîðîì õðàíèòñÿ ïîëíîå èìÿ è àäðåñ ÷ëåíà, øèôðóåòñÿ ñ ïîìîùüþ èñïîëüçóåìîé â êà÷åñòâå êëþ÷à ôàìèëèè . Åñëè âû íå çíàåòå ôàìèëèè, âû íèêîãäà íå ñìîæåòå ðàñøèôðîâàòü ïîëå äàííûõ . Ïîèñê ïî êîíêðåòíîé ôàìèëèè ïðîñò . Ñíà÷àëà õýøèðóåòñÿ ôàìèëèÿ, è âûïîëíÿåòñÿ ïîèñê çíà÷åíèÿ õýøôóíêöèè â áàçå äàííûõ. Íàëè÷èå íåñêîëüêèõ ñîâïàäåíèé îçíà÷àåò, ÷òî áàçà äàííûõ ñîäåðæèò èíôîðìàöèþ î íåñêîëüêèõ ëþäÿõ ñ òàêîé ôàìèëèåé .  [550] àâòîðû èñïîëüçóþò ýòó ñèñòåìó äëÿ çàùèòû ñëîâàðÿ èç 6000 èñïàíñêèõ ñëîâ. Îíè ñîîáùàþò î òîì, ÷òî ïîòåðÿ ïðîèçâîäèòåëüíîñòè, âûçâàííàÿ øèôðîâàíèåì, ìèíèìàëüíà .  áîëåå ñëîæíîé ñõåìå [549] èñïîëüçóåòñÿ ïîèñê ïî íåñêîëüêèì èíäåêñàì, íî èäåÿ îñòàåòñÿ òîé æå . Îñíîâíàÿ ïðîáëåìà, ñâÿçàííàÿ ñ ýòîé ñèñòåìîé, ñîñòîèò â òîì, ÷òî âû íå ñìîæåòå íàéòè ÷åëîâåêà, íå çíàÿ, êàê ïèøåòñÿ åãî ôàìèëèÿ . Ìîæíî ïîïðîáîâàòü íåñêîëüêî âàðèàíòîâ, ïîêà íå áóäåò íàéäåí ïðàâèëüíûé, íî íåóäîáíî ïåðåáèðàòü âñåõ, ÷üè ôàìèëèè íà÷èíàþòñÿ íà "Sch" ïðè ïîèñêå "Schneier." Ýòà çàùèòà íåñîâåðøåííà. Î÷åíü íàçîéëèâûé ñòðàõîâîé àãåíò âîññòàíîâèò áàçó äàííûõ ÷ëåíîâ îðãàíèçàöèè ñ ïîìîùüþ ãðóáîãî âçëîìà, ïåðåáèðàÿ âñå âîçìîæíûå ôàìèëèè . Åñëè ó íåãî åñòü òåëåôîííàÿ áàçà äàííûõ, îí ìîæåò èñïîëüçîâàòü èìåþùèéñÿ â íåé ñïèñîê ôàìèëèé . Ýòî ïåðåæåâûâàíèå íîìåðîâ ìîæåò çàíÿòü íåñêîëüêî
íåäåëü, íî äåëî áóäåò ñäåëàíî. Òåì íå ìåíåå òàêàÿ ñõåìà óñëîæíèò ðàáîòó âçëîìùèêà ( â ìèðå ïðîäàæå âñÿêîé ÷åïóõè ïî ïî÷òå "óñëîæíèò" áûñòðî ïðåâðàùàåòñÿ â "ñäåëàåò ñëèøêîì äîðîãîé". Äðóãîé ïîäõîä, ïðåäëîæåííûé â [185], ïðåäëàãàåò íàáèðàòü ñòàòèñòèêó ïî øèôðîâàííûì äàííûì .
Ãëàâà 4 Ïðîìåæóòî÷íûå ïðîòîêîëû 4.1 Ñëóæáû ìåòîê âðåìåíè Âî ìíîãèõ ñèòóàöèÿõ ëþäÿì íóæíî óáåäèòüñÿ, ÷òî îïðåäåëåííûé äîêóìåíò óæå ñóùåñòâîâàë â îïðåäåëåííûé ìîìåíò âðåìåíè. Ïðèìåðîì ÿâëÿåòñÿ ñïîð îá àâòîðñêèõ ïðàâàõ èëè ïàòåíòå. Äåëî âûèãðûâàåò ñòîðîíà, êîòîðàÿ ïðåäñòàâèò áîëåå ðàííþþ êîïèþ ñïîðíîé ðàáîòû . Áóìàæíûå äîêóìåíòû çàâåðÿþòñÿ íîòàðèóñàìè è õðàíÿòñÿ ó þðèñòîâ. Åñëè âîçíèêàåò ñïîð, íîòàðèóñ èëè þðèñò ñâèäåòåëüñòâóåò, ÷òî ïèñüìî ñóùåñòâîâàëî â îïðåäåëåííûé ìîìåíò âðåìåíè.  öèôðîâîì ìèðå âñå ãîðàçäî ñëîæíåå. Íåò ñïîñîáîâ îáíàðóæèòü ïðèçíàêè ïîääåëêè ýëåêòðîííîãî äîêóìå íòà. Åãî ìîæíî áåñêîíå÷íî êîïèðîâàòü è èçìåíÿòü, íå îñòàâëÿÿ íèêàêèõ ñëåäîâ . Íåñëîæíî è èçìåíèòü âðåìÿ ñîçäàíèÿ êîìïüþòåðíîãî ôàéëà. Íèêòî íå ìîæåò âçãëÿíóòü íà äîêóìåíò è ñ ïîëíîé óâåðåííîñòüþ ñêàçàòü: "Äà, ýòîò äîêóìåíò áûë ñîçäàí ðàíüøå 4 íîÿáðÿ 1952 ãîäà " Ýòîé ïðîáëåìîé çàäàëèñü Ñòþàðò Õàáåð ( Stuart Haber) è Â. Ñêîòò Ñòîðíåòòà (W. Scott Stornetta) èç Bellcore [682, 683, 92]. Èì ïîòðåáîâàëñÿ ïðîòîêîë öèôðîâûõ ìåòîê âðåìåíè ñî ñëåäóþùèìè ñâîéñòâàìè : Ìåòêà âðåìåíè äîëæíà ñóùåñòâîâàòü ñàìà ïî ñåáå, íåçàâèñÿ îò ôèçè÷åñêîé ñðåäû, èñïîëüçóåìîé äëÿ åå õðàíåíèÿ. Äîëæíî áûòü íåâîçìîæíî òàéíî èçìåíèòü íè åäèíîãî áèòà äîêóìåíòà. Äîëæíî áûòü íåâîçìîæíî çàäàòü äëÿ äîêóìåíòà ìåòêó âðåìåíè, îòëè÷íîãî îò òåêóùåãî. Ðåøåíèå ñ ïîñðåäíèêîì  ýòîì ïðîòîêîëå ó÷àñòâóþò Òðåíò, îáëàäàþùèé íàäåæíîé ñëóæáîé ìåòîê âðåìåíè, è Àëèñà, êîòîðàÿ õî÷åò çàäàòü ìåòêó âðåìåíè äëÿ äîêóìåíòà . (1) Àëèñà ïåðåäàåò êîïèþ äîêóìåíòà Òðåíòó. (2) Òðåíò çàïèñûâàåò âðåìÿ è äàòó ïîëó÷åíèÿ äîêóìåíòà, îñòàâëÿÿ ó ñåáÿ êîïèþ äëÿ áåçîïàñíîãî õðàíåíèÿ. Òåïåðü, åñëè êòî-íèáóäü óñîìíèòñÿ â çàÿâëåííîì Àëèñîé âðåìåíè ñîçäàíèÿ äîêóìåíòà, òî Àëèñå ïðîñòî íóæíî îáðàòèòüñÿ ê Òðåíòó. Îí ïðåäîñòàâèò ñâîþ êîïèþ äîêóìåíòà è ïîäòâåðäèò, ÷òî îí ïîëó÷èë äîêóìåíò â óêàçàííûé äåíü è ÷àñ. Ýòîò ïðîòîêîë ðàáîòàåò, íî åñòü ðÿä î÷åâèäíûõ ïðîáëåì. Âî ïåðâûõ, íåâîçìîæíî ñîõðàíèòü òàéíó - Àëèñà äîëæíà ïðåäîñòàâèòü êîïèþ äîêóìåíòà Òðåíòó. Êòî-òî, ïîäñëóøèâàþùèé ëèíèþ ñâÿçè, ñìîæåò ïðî÷åñòü äîê óìåíò. Îíà ìîæåò çàøèôðîâàòü äîêóìåíò ïðè ïåðåäà÷å, íî âåäü îí äîëæåí áóäåò õðàíèòüñÿ â áàçå äàííûõ Òðå íòà. Íàñêîëüêî ýòà áàçà áåçîïàñíà? Âî âòîðûõ, ñàìîé áàçå äàííûõ ïðèäåòñÿ áûòü î÷åíü áîëüøîé . Âåëèêè áóäóò òðåáîâàíèÿ è ê ïðîïóñêíîé ñï îñîáíîñòè ëèíèè ñâÿçè. Òðåòüÿ ïðîáëåìà ñâÿçàíà ñ âîçìîæíûìè îøèáêàìè. Îøèáêè ïðè ïåðåäà÷å èëè ýëåêòðîìàãíèòíàÿ áîìáà, âçîðâàííàÿ ãäå-òî â öåíòðàëüíîì êîìïüþòåðå Òðåíòà ìîãóò ïîëíîñòüþ ñâåñòè íà íåò çàÿâëåíèå Àëèñû î ìåòêå âðåìåíè. È â ÷åòâåðòûõ, ìîæåò îêàçàòüñÿ íåâîçìîæíûì íàéòè òàêîãî ÷åñòíîãî Òðåíòà äëÿ âåäåíèÿ ñëóæáû ìåòîê âðåìåíè. Ìîæåò áûòü, Àëèñà èñïîëüçóåò ìåòêó âðåìåíè Áîáà . Íè÷òî íå îñòàíîâèò Àëèñó è Áîáà îò ñãîâîðà è ïîìåòêè äîêóìåíòà òåì âðåìåíåì, êîòîðîå èì íóæíî . Óëó÷øåííîå ðåøåíèå ñ ïîñðåäíèêîì Áîëüøèíñòâî ýòèõ ïðîáëåì ëåãêî ñíèìàþòñÿ ïðè èñïîëüçîâàíèè îäíîíàïðàâëåííîé õýø-ôóíêöèè è öèôð îâûõ ïîäïèñåé: (1) Àëèñà âû÷èñëÿåò çíà÷åíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè äëÿ äîêóìåíòà. (2) Àëèñà ïåðåäàåò ýòî çíà÷åíèå Òðåíòó. (3) Òðåíò äîáàâëÿåò âðåìÿ è äàòó ïîëó÷åíèÿ ýòîãî çíà÷åíèÿ è çàòåì ïîäïèñûâàåò ðåçóëüòàò öèôðîâîé ïîäï èñüþ. (4) Òðåíò îòïðàâëÿåò ïîäïèñàííîå çíà÷åíèå õýø-ôóíêöèè âìåñòå ñ ìåòêîé âðåìåíè Àëèñå. Ýòî ðåøàåò âñå ïðîáëåìû, êðîìå ïîñëåäíåé. Àëèñå áîëüøå íå íóæíî áåñïîêîèòüñÿ î ðàñêðûòèè ñîäåðæàíèÿ
äîêóìåíòà, èñïîëüçîâàíèå çíà÷åíèÿ õýø-ôóíêöèè âïîëíå äîñòàòî÷íî . Òðåíòó áîëüøå íå íóæíî õðàíèòü êîïèè äîêóìåíòîâ (è äàæå çíà÷åíèÿ õýø-ôóíêöèè), ïîýòîìó ñíèìàþòñÿ ïðîáëåìû áåçîïàñíîñòè è îáúåìà ñîõðàíÿåìûõ äàííûõ (ïîìíèòå, ó îäíîíàïðàâëåííûõ õýø-ôóíêöèé íåò êëþ÷à ). Àëèñà ìîæåò íåìåäëåííî ïðîâåðèòü ïîäï èñàííóþ ìåòêó âðåìåíè, ïîëó÷åííóþ íà ýòàïå (4), è íåìåäëåííî îáíàðóæèòü ëþáûå îøèáêè ïåðåäà÷è . Åäèíñòâåííîé îñòàâøåéñÿ ïðîáëåìîé îñòàåòñÿ ñãîâîð Àëèñû è Òðåíòà ñ öåëüþ ñîçäàíèÿ ïîääåëüíîé ìåòêè âðåìåíè . Ïðîòîêîë ñâÿçè Îäíèì èç ïóòåé ðåøåíèÿ ýòîé ïðîáëåìû ÿâëÿåòñÿ óñòàíîâëåíèå ñâÿçè ìåæäó ìåòêîé âðåìåíè Àëèñû è ìå òêàìè âðåìåíè, ðàíåå ñîçäàííûìè Òðåíòîì . Âåñüìà âåðîÿòíî, ÷òî ýòè ìåòêè áûëè ñîçäàíû íå äëÿ Àëèñû, à äëÿ äðóãèõ ëþäåé. Òàê êàê ïîðÿäîê, â êîòîðîì Òðåíò ïîëó÷àåò ðàçëè÷íûå çàïðîñû î ìåòêàõ âðåìåíè íå ìîæåò áûòü èçâåñòåí çàðàíåå, ïåðåä ìåòêîé âðåìåíè äëÿ Àëèñû äîëæíà áûëà ïîÿâèòüñÿ äðóãàÿ ìåòêà âðåìåíè. È òàê êàê çàïðîñ, ïðèøåäøèé ïîçæå, ñâÿçàí ñ ìåòêîé âðåìåíè Àëèñû, òî åå ìåòêà äîëæíà áûëà ïîÿâèòüñÿ ðàíüøå . Ýòè äâå ìåòêè ñîäåðæàò ìåæäó ñîáîé çàïðîñ Àëèñû êàê áóäòî â ñýíäâè÷å . Åñëè À - ýòî èìÿ Àëèñû, Hn - çíà÷åíèå õýø-ôóíêöèè, äëÿ êîòîðîãî Àëèñà õî÷åò çàôèêñèðîâàòü âðåìÿ, à Tn-1 ïðåäûäóùàÿ ìåòêà âðåìåíè, òî ïðîòîêîë èìååò ñëåäóþùèé âèä : (1) Àëèñà ïîñûëàåò Òðåíòó Hn è À. (2) Òðåíò ïîñûëàåò Àëèñå îáðàòíî: Tn=SK(n,A,Hn,Tn,In-1,Hn-1,Tn-1,Ln) ãäå ñîñòîèò Ln - ýòî èíôîðìàöèÿ î ñëåäóþùåé õýøèðîâàííîé ñâÿçè: Ln =H(In-1,Hn-1,Tn-1,Ln-1) SK óêàçûâàåò, ÷òî ñîîáùåíèå ïîäïèñàíî îòêðûòûì êëþ÷îì Òðåíòà. Èìÿ Àëèñû îïðåäåëÿåò åå êàê îòïð àâèòåëÿ çàïðîñà. Ïàðàìåòð n óêàçûâàåò ïîñëåäîâàòåëüíîñòü çàïðîñîâ. Ýòî n-àÿ ìåòêà âðåìåíè, êîòîðóþ ñîçäàë Òðåíò. Ïàðàìåòð Tn - ýòî âðåìÿ. Äîïîëíèòåëüíî èñïîëüçóåòñÿ èíôîðìàöèÿ îá èäåíòèôèêàòîðå, îð èãèíàëüíîãî çíà÷åíèÿ õýø-ôóíêöèè, âðåìåíè è õýøèðîâàííîé ìåòêà ïðåäûäóùåãî äîêóìåíòà, ïîìå÷åííîãî Òðåíòîì. (3) Êîãäà Òðåíò ïîìå÷àåò ñëåäóþùèé äîêóìåíò, îí ïîñûëàåò Àëèñå èäåíòèôèêàòîð îòïðàâèòåëÿ ýòîãî äîê óìåíòà: In-1. Åñëè êòî-òî îñïàðèâàåò ìåòêó âðåìåíè Àëèñû, åé íàäî òîëüêî ñâÿçàòüñÿ ñ îòïðàâèòåëÿìè ïðåäûäóùåãî è ñëåäóþùåãî äîêóìåíòîâ: In-1 í In+1. Åñëè è èõ ñâèäåòåëüñòâî ïîä âîïðîñîì, ìîæíî îáðàòèòüñÿ ê àâòîðàì äîê óìåíòîâ In-1 í In+1 è ò.ä. Ëþáîé ìîæåò ïîêàçàòü, ÷òî åãî äîêóìåíò áûë ïîìå÷åí ïîñëå îäíîãî äîêóìåíòà è ïåðåä äðóãèì. Ýòîò ïðîòîêîë ìåøàåò Àëèñå è Òðåíòó äîãîâîðèòüñÿ è ñîçäàòü äîêóìåíò ñ âðåìåíåì ñîçäàíèÿ, îòëè÷íûì îò âðåìåíè ñîçäàíèÿ íàñòîÿùåãî äîêóìåíòà . Òðåíò íå ìîæåò èçìåíèòü äàòó äîêóìåíòà Àëèñû íà áîëåå ðàííþþ, òàê êàê äëÿ ýòîãî íóæíî çíàòü çàðàíåå, äëÿ êàêîãî äîêóìåíòà ïåðåä äàííûì áóäåò ïðîñòàâëÿòüñÿ ìåòêà âðåìåíè . Äàæå åñëè îí ñìîæåò ïîääåëàòü ïðåäûäóùèé äîêóìåíò, åìó ïðèäåòñÿ çíàòü, êàêîé äîêóìåíò ïðåäøåñòâîâàë ïðåäûäóùåìó è òàê äàëåå. Òðåíò íå ìîæåò èçìåíèòü äàòó äîêóìåíòà Àëèñû è íà áîëåå ïîçäíþþ, ïîòîìó ÷òî ìåòêà âðåìåíè äîëæíà áûòü âñòàâëåíà ïåðåä ìåòêîé âðåìåíè äîêóìåíòà, çàâåðÿåìîãî ñðàçó æå ïîñëå äàííîãî, à ýòîò äîêóìåíò óæå ñóùåñòâóåò. Åäèíñòâåííûé âîçìîæíûé ñïîñîá ñëîìàòü ýòó ñõåìó - ýòî ââåñòè ôèêòèâíóþ öåïî÷êó äîêóìåíòîâ ïåðåä è ïîñëå äîêóìåíòà Àëèñû, äîñòàòî÷íî äëèííóþ, ÷òîáû ëèøèòü òåðïåíèÿ òîãî, êòî ïðîâåðÿåò ìåòêó âðåìåíè äîêóìåíòà Àëèñû. Ðàñïðåäåëåííûé ïðîòîêîë Ëþäè óìèðàþò, ìåòêè âðåìåíè òåðÿþòñÿ. Ìåæäó ïîìåòêîé äîêóìåíòà è åãî îñïàðèâàíèåì ìîæåò ïðîèçîéòè ìíîãîå, ÷òî ïîìåøàåò Àëèñå ïîëó÷èòü êîïèþ ìåòêè âðåìåíè In-1. Ýòà ïðîáëåìà ìîæåò áûòü ÷àñòè÷íî ñíÿòà âñòàâêîé ìåòîê âðåìåíè ïðåäûäóùèõ 10 ÷åëîâåê â ìåòêó Àëèñû è ïîñëåäóþùåé ïåðåäà÷å Àëèñå èìåí ñëåäó þùèõ 10 ÷åëîâåê. Òàê ó Àëèñû ïîÿâèòñÿ ãîðàçäî áîëüøå âîçìîæíîñòåé íàéòè ëþäåé, âñå åùå õðàíÿùèõ ñâîè ìåòêè âðåìåíè. Ðàçâèâàÿ ýòó èäåþ, ñëåäóþùèé ïðîòîêîë ïîçâîëÿåò îáîéòèñü è áåç Òðåíòà: (1) Èñïîëüçóÿ â êà÷åñòâå âõîäà Hn, Àëèñà ãåíåðèðóåò ïîñëåäîâàòåëüíîñòü ñëó÷àéíûõ ÷èñåë ñ ïîìîùüþ êðè ïòîãðàôè÷åñêè áåçîïàñíîãî ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë. V1, V2, V3, . . . Vk (2) Àëèñà ðàññìàòðèâàåò êàæäîå èç ýòèõ ÷èñåë êàê èäåíòèôèêàòîð , I, äðóãîãî ÷åëîâåêà è ïîñûëàåò êàæäîìó èç ýòèõ ëþäåé Hn. (3) Êàæäûé èç íèõ äîáàâëÿåò âðåìÿ è äàòó ê çíà÷åíèþ õýø-ôóíêöèè, ïîäïèñûâàåò ðåçóëüòàò è îòïðàâëÿåò åãî
îáðàòíî Àëèñå. (4) Àëèñà ñîáèðàåò è õðàíèò âñå ïîäïèñè êàê ìåòêó âðåìåíè. Êðèïòîãðàôè÷åñêè áåçîïàñíûé ãåíåðàòîð ñëó÷àéíûõ ÷èñåë , èñïîëüçóåìûé íà ýòàïå (1), ïîçâîëÿåò Àëèñå èçáåæàòü ïðåäíàìåðåííîãî âûáîðà êîððóìïèðîâàííûõ I â êà÷åñòâå ñâèäåòåëåé. Äàæå åñëè îíà ñäåëàåò ïðîñòåéøèå èçìåíåíèÿ â ñâîåì äîêóìåíòå, ïûòàÿñü ñîçäàòü íàáîð êîððóìïèðîâàííûõ I, åå øàíñû äîáèòüñÿ ýòîãî ïðåíåáðåæèìî ìàëû. Õýø-ôóíêöèÿ ðàíäîìèçèðóåò çíà÷åíèÿ, è Àëèñà íå ìîæåò íà íèõ âîçäåéñòâîâàòü . Ýòîò ïðîòîêîë ðàáîòàåò, ïîòîìó ÷òî ïîääåëàòü ìåòêó âðåìåíè Àëèñà ìîæåò, òîëüêî äîãîâîðèâøèñü î ñ îòðóäíè÷åñòâå ñî âñåìè k ëþäüìè. Òàê êàê íà ýòàïå (1) îíà âûáèðàëà èõ ñëó÷àéíûì îáðàçîì, âåðîÿòíîñòü ýòîãî î÷åíü íèçêà. ×åì êîððóìïèðîâàííåå îáùåñòâî, òåì áîëüøå äîëæíî áûòü ÷èñëî k. Êðîìå òîãî, äîëæåí èñïîëüçîâàòüñÿ íåêîòîðûé ìåõàíèçì, ó÷èòûâàþùèé òî, ÷òî ðÿä ëþäåé íå ñìîãóò âîâð åìÿ âîçâðàòèòü ìåòêó âðåìåíè. Âñå, ÷òî íóæíî äëÿ ïðàâèëüíîé ìåòêè âðåìåíè - ýòî íåêîòîðîå ïîäìíîæåñòâî k. Äåòàëè çàâèñÿò îò ðåàëèçàöèè. Äàëüíåéøàÿ ðàáîòà Äàëüíåéøèå óëó÷øåíèÿ ïðîòîêîëîâ ìåòêè âðåìåíè îïèñàíû â [92]. Àâòîðû èñïîëüçóþò äâîè÷íûå äåðåâüÿ äëÿ óâåëè÷åíèÿ êîëè÷åñòâà ìåòîê âðåìåíè, çàâèñÿùèõ îò äàííîé ìåòêè, óìåíüøàÿ âåðîÿòíîñòü ñîçäàíèÿ öåïî ÷êè ôàëüøèâûõ ìåòîê âðåìåíè. Îíè òàêæå ðåêîìåíäóþò ïóáëèêîâàòü ñïèñîê çíà÷åíèé õýø-ôóíêöèé çà ïðîøå äøèé äåíü â íåêîòîðîì îáùåäîñòóïíîì èñòî÷íèêå, íàïðèìåð ãàçåòå . Ýòî ðàáîòàåò êàê îòïðàâêà çíà÷åíèÿ õýøôóíêöèè ñëó÷àéíûì ëþäÿì â ðàñïðåäåëåííîì ïðîòîêîëå. Äåéñòâèòåëüíî, ìåòêà âðåìåíè ïîÿâëÿåòñÿ â êàæäîì íîìåðå âîñêðåñíîé Íüþ-Éîðê Òàéìñ ñ 1992 ãîäà. Ýòè ïðîòîêîëû ìåòîê âðåìåíè çàïàòåíòîâàíû [684, 685, 686]. Ïàòåíòû ïðèíàäëåæàò äî÷åðíåé êîìïàíèè Bellcore, íàçâàííîé Surety Technologies, êîòîðàÿ ïðîäàåò Ñèñòåìó öèôðîâîãî íîòàðèàòà, ïîääåðæèâàþùóþ ýòè ïðîòîêîëû.  ïåðâîé âåðñèè êëèåíòû ïîñûëàëè çàïðîñû î "çàâåðåíèè" íà öåíòðàëüíûé êîîðäèíèðóþùèé öåíòð . Ñëåäóÿ ìåòîäèêå Ìåðêëà ïî èñïîëüçîâàíèþ õýø-ôóíêöèé äëÿ ïîñòðîåíèÿ äåðåâüåâ [1066], ñåðâåð ñòðîèò äåðåâî çíà÷åíèé õýø-ôóíêöèè, ëèñòüÿ êîòîðîãî ïðåäñòàâëÿþò ñîáîé âñå çàïðîñû, ïîëó÷åííûå â òå÷åíèå äàííîé ñåêó íäû, è ïîñûëàåò êàæäîìó àâòîðó çàïðîñà ñïèñîê çíà÷åíèé õýø-ôóíêöèè, îïèñûâàþùèé ïóòü îò åãî ëèñòà äî êî ðíÿ. Êëèåíòñêàÿ ÷àñòü ïðîãðàììíîãî îáåñïå÷åíèÿ ñîõðàíÿåò ýòîò ñïèñîê è ìîæåò âûäàòü "ñåðòèôèêàò" Öèôðîâ îãî íîòàðèàòà äëÿ ëþáîãî ôàéëà, êîòîðûé áûë ñåðòèôèöèðîâàí . Ïîñëåäîâàòåëüíîñòü êîðíåé ýòèõ äåðåâüåâ îáð àçóåò "Çàïèñü óíèâåðñàëüíîãî ïîäòâåðæäåíèÿ" ( "Universal Validation Record"), êîòîðàÿ áóäåò äîñòóïíà â ýëåêòðîííîì âèäå âî ìíîãèõ õðàíèëèùàõ (è òàêæå âûïóùåíà íà CD-ROM). Êëèåíòñêàÿ ÷àñòü òàêæå ñîäåðæèò ôóí êöèþ "ïîäòâåðæäåíèÿ", ïîçâîëÿþùóþ ïîëüçîâàòåëþ ïðîâåðèòü, áûë ëè çàâåðåíà èìåííî òåêóùàÿ ôîðìà ôàéëà (çàïðîñèâ èç õðàíèëèùà êîðåíü ñîîòâåòñòâóþùåãî äåðåâà è ñðàâíèâ åãî ñî çíà÷åíèåì õýø-ôóíêöèè, ñîîòâåòñ òâóþùèì îáðàçîì ðàññ÷èòàííûì äëÿ ôàéëà, è ñåðòèôèêàòîì ). Çà äàëüíåéøåé èíôîðìàöèåé îáðàùàéòåñü â Surety Technologies, 1 Main St., Chatham, NJ, 07928; (201) 701-0600; Fax: (201) 701-0601.
4.2 Ïîäñîçíàòåëüíûé êàíàë Àëèñà è Áîá áûëè àðåñòîâàíû è îòïðàâëåíû â òþðüìó, îí - â ìóæñêóþ, à îíà - â æåíñêóþ . Óîëòåð, íàäçèðàòåëü, ðàçðåøàåò Àëèñå è Áîáó îáìåíèâàòüñÿ ñîîáùåíèÿìè, íî îí íå ðàçðåøàåò øèôðîâàòü ñîîáùåíèÿ . Óîëòåð ñ÷èòàåò, ÷òî îíè ïëàíèðóþò áåãñòâî, ïîýòîìó îí õî÷åò ÷èòàòü âñå, ÷òî îíè ïèøóò . Óîëòåð íàäååòñÿ òàêæå ñóìåòü îáìàíóòü Àëèñó èëè Áîáà. Îí õî÷åò, ÷òîáû îäèí èç íèõ ïîñ÷èòàë ïðèíÿòîå èì ëîæíîå ñîîáùåíèå íàñòîÿùèì. Àëèñà è Áîá ìèðÿòñÿ ñ ðèñêîì âîçìîæíîãî îáìàíà, èíà÷å îíè âîîáùå íå ñìîãóò îáùàòüñÿ, íî èì íóæíî ñîãëàñîâàòü ñâîè ïëàíû . Äëÿ ýòîãî èì íåîáõîäèìî îáìàíóòü íàäçèðàòåëÿ è íàéòè ñïîñîá ïåðåäàâàòü ñåêðåòíóþ èíôîðìàöèþ . Èì íóæíî ñîçäàòü ïîäñîçíàòåëüíûé êàíàë, ñêðûòûé êàíàë ñâÿçè â îòêð ûòûõ ñîîáùåíèÿõ, õîòÿ ñîîáùåíèÿ ñàìè ïî ñåáå íå ñîäåðæàò ñåêðåòíîé èíôîðìàöèè . Ñ ïîìîùüþ îáìåíà ñîâåðøåííî áåçîáèäíûìè ïîäïèñàííûìè ñîîáùåíèÿìè îíè îáìåíÿþòñÿ ñåêðåòíîé èíôîðìàöèåé è îäóðà÷àò Óîëòåðà, äàæå åñëè îí ïðîñìàòðèâàåò âñå ñîîáù åíèÿ. Ïðîñòûì ïîäñîçíàòåëüíûì êàíàëîì ìîæåò áûòü ÷èñëî ñëîâ â ïðåäëîæåíèè. Íå÷åòíîå ÷èñëî ñëîâ â ïðåäë îæåíèè ìîæåò ñîîòâåòñòâîâàòü "1", à ÷åòíîå ÷èñëî ñëîâ -"0". Òàê, ïîêà âû ÷èòàåòå ýòîò ñàìûé îáû÷íûé àáçàö, ÿ ïåðåäàë âàì ñîîáùåíèå "110". Ïðîáëåìàòè÷íîñòü ýòîãî ìåòîäà â òîì, ÷òî îí ÿâëÿåòñÿ îáû÷íîé ñòåãàíîãðàôèåé (ñì. ðàçäåë 1.2), êëþ÷ íå èñïîëüçóåòñÿ è áåçîïàñíîñòü çàâèñèò îò ñåêðåòíîñòè àëãîðèòìà . Ãóñòàâóñ Ñèììîíñ ïðèäóìàë èäåþ îðãàíèçàöèè ïîäñîçíàòåëüíîãî êàíàëà ñ ïîìîùüþ îáû÷íîãî àëãîðèòìà öèôðîâîé ïîäïèñè [1458, 1473]. Òàê êàê ïîäñîçíàòåëüíûå ñîîáùåíèÿ ñïðÿòàíû â òîì, ÷òî âûãëÿäèò íîðìàë üíûìè öèôðîâûìè ïîäïèñÿìè, ýòî ôîðìà ìàñêèðîâêè . Óîëòåð âèäèò, êàê ïîäïèñàííûå áåçîáèäíûå ñîîáùåíèÿ ïåðåäàþòñÿ òóäà è îáðàòíî, íî ðåàëüíàÿ ïåðåäàâàåìàÿ èíôîðìàöèÿ ïðîõîäèò íåçàìåòíî äëÿ íåãî ïî ïîäñîçí àòåëüíîìó êàíàëó.  äåéñòâèòåëüíîñòè, àëãîðèòì ïîäñîçíàòåëüíîãî êàíàëà â ïîäïèñÿõ íå îòëè÷èì îò íîðìàëüí îãî àëãîðèòìà â ïîäïèñÿõ, ïî êðàéíåé ìåðå äëÿ Óîëòåðà . Åð íå òîëüêî íå ìîæåò ïðî÷èòàòü ñîîáùåíèå, ïåðåä àâàåìîå ïî ïîäñîçíàòåëüíîìó êàíàëó, íî ó íåãî âîîáùå íåò íè ìàëåéøåãî ïðåäñòàâëåíèÿ î ñóùåñòâîâàíèè òàêîãî
ñîîáùåíèÿ.  îáùåì ñëó÷àå ïðîòîêîë âûãëÿäèò ïðèìåðíî òàê: (1) Àëèñà ñîçäàåò áåçîáèäíîå ñîîáùåíèå, âñå ðàâíî êàêîå. (2) Èñïîëüçóÿ îáùèé ñ Áîáîì êëþ÷, Àëèñà ïîäïèñûâàåò áåçîáèäíîå ñîîáùåíèå, ïðÿ÷à ñâîå ïîäñîçíàòåëüíîå ñîîáùåíèå â ïîäïèñè. (Ýòî ñóòü ïîäñîçíàòåëüíîãî ïðîòîêîëà, ñì. ðàçäåë 23.3). (3) Àëèñà ïîñûëàåò ïîäïèñàííîå ñîîáùåíèå Áîáó ÷åðåç Óîëòåðà. (4) Óîëòåð ÷èòàåò áåçîáèäíîå ñîîáùåíèå è ïðîâåðÿåò ïîäïèñü. Íå îáíàðóæèâ íè÷åãî ïîäîçðèòåëüíîãî, îí ï åðåäàåò ïîäïèñàííîå ñîîáùåíèå Áîáó. (5) Áîá ïðîâåðÿåò ïîäïèñü ïîä áåçîáèäíûì ñîîáùåíèåì, óáåæäàÿñü, ÷òî ñîîáùåíèå ïîëó÷åíî îò Àëèñû. (6) Áîá èãíîðèðóåò áåçîáèäíîå ñîîáùåíèå è, èñïîëüçóÿ îáùèé ñ Àëèñîé ñåêðåòíûé êëþ÷, èçâëåêàåò ïîäñîçí àòåëüíîå ñîîáùåíèå. À ìîøåííè÷åñòâî? Óîëòåð íå âåðèò íèêîìó, è íèêòî íå âåðèò Óîëòåðó. Îí âñåãäà ìîæåò ïîìåøàòü ïåðåäà÷å ñîîáùåíèé, íî ó íåãî íåò âîçìîæíîñòè ïîääåëàòü ñîîáùåíèå. Òàê êàê Óîëòåð íå ìîæåò ñîçäàòü ïðàâèëüíîé ïîäïèñè, Áîá îáíàðóæèò ïîääåëêó íà ýòàïå (5). Óîëòåð íå ìîæåò ÷èòàòü ïîäñîçíàòåëüíûå ñîîáùåíèÿ - ó íåãî íåò íóæíîãî êëþ÷à. ×òî åùå âàæíåå, ó íåãî íåò íè ìàëåéøåãî ïðåäñòàâëåíèÿ, ÷òî ïîäñîçíàòåëüíûå ñîîáùåíèÿ ñ óùåñòâóþò. Ïîäïèñàííûå ñîîáùåíèÿ, èñïîëüçóþùèå àëãîðèòì öèôðîâîé ïîäïèñè íà âèä íè÷åì íå îòëè÷àþòñÿ îò ïîäïèñàííûõ ñîîáùåíèé, ñîäåðæàùèõ ïîäñîçíàòåëüíûå ñîîáùåíèÿ â ïîäïèñè . Áîëåå ïðîáëåìàòè÷åí îáìàí ñâîåãî ïàðòíåðà Àëèñîé èëè Áîáîì.  íåêîòîðûõ ðåàëèçàöèÿõ ïîäñîçíàòåëüíîãî êàíàëà ñåêðåòíàÿ èíôîðìàöèÿ, íóæíàÿ Áîáó äëÿ ÷òåíèÿ ïîäñîçíàòåëüíîãî ñîîáùåíèÿ, ñîâïàäàåò ñ èíôîðìàöèåé, íóæíîé Àëèñå äëÿ ïîäïèñè áåçîáèäíîãî ñîîáùåíèÿ. Åñëè ýòî òàê, Áîá ìîæåò âûäàòü ñåáÿ çà Àëèñó. Îí ìîæåò ïîäïèñàòü ñîîáùåíèÿ, âûäàâ èõ çà ïîñëàííûå Àëèñîé, è Àëèñà íè÷åãî íå ñìîæåò ñ ýòèì ïîäåëàòü. Åñëè åé í åîáõîäèìî îòïðàâèòü åìó ïîäñîçíàòåëüíîå ñîîáùåíèå, îíà äîëæíà âåðèòü, ÷òî îí íå áóäåò ìîøåííè÷àòü ñ åå ç àêðûòûì êëþ÷îì.  äðóãèõ ðåàëèçàöèÿõ ïîäñîçíàòåëüíîãî êàíàëà òàêîé ïðîáëåìû íåò. Ñåêðåòíûé êëþ÷, îáùèé äëÿ Àëèñû è Áîáà, ïîçâîëÿåò Àëèñå îòïðàâëÿòü Áîáó ïîäñîçíàòåëüíûå ñîîáùåíèÿ, íî çàêðûòûé êëþ÷ Àëèñû íå ïåðåäàåòñÿ, è Áîá íå ìîæåò ïîäïèñûâàòü ñîîáùåíèÿ åå ïîäïèñüþ . Àëèñå íå íóæíî âåðèòü, ÷òî Áîá íå áóäåò ìîøåííè÷àòü ñ åå çàêðûòûì êëþ÷îì. Ïðèìåíåíèÿ ïîäñîçíàòåëüíîãî êàíàëà Íàèáîëåå î÷åâèäíûì ïðèìåíåíèåì ïîäñîçíàòåëüíîãî êàíàëà ÿâëÿåòñÿ øïèîíñêàÿ ñåòü. Åñëè êòî-òî ïîñûëàåò è ïðèíèìàåò ñîîáùåíèÿ, òî ïåðåäà÷à ñîîáùåíèé ïî ïîäñîçíàòåëüíîìó êàíàëó â ïîäïèñàííûõ äîêóìåíòàõ íå áóäåò âûçûâàòü ïîäîçðåíèé. Êîíå÷íî æå, âðàæåñêèå øïèîíû ìîãóò äåëàòü òî æå ñàìîå. Èñïîëüçóÿ ïîäñîçíàòåëüíûé êàíàë, Àëèñà ìîæåò, äàæå åñëè åé óãðîæàþò, áåçîïàñíî ïîäïèñàòü äîêóìåíò . Ïîäïèñûâàÿ äîêóìåíò, îíà ìîæåò âñòàâèòü ïîäñîçíàòåëüíîå ñîîáùåíèå, íàïèñàâ: "ß àðåñòîâàíà ". Èíûå ïðèìåíåíèÿ íå òàê áðîñàþòñÿ â ãëàçà. Êîìïàíèÿ ìîæåò ïîäïèñàòü äîêóìåíòû è âñòàâèòü ïîäñîçíàòåëüíûå ñîîáùåíèÿ äëÿ îòñëåæèâàíèÿ âðåìåíè äåéñòâèÿ äîêóìåíòîâ . Ïðàâèòåëüñòâî ìîæåò "ïîìåòèòü" ýëåêòðîííûå äåíüãè . Ìîøåííè÷åñêàÿ ïðîãðàììà äëÿ ïîäïèñè äîêóìåíòîâ ìîæåò èñïîëüçîâàòü ïîäñîçíàòåëüíûå ñîîáùåíèÿ â ñîçäàâà åìûõ ïîäïèñÿõ äëÿ îðãàíèçàöèè óòå÷êè ñåêðåòíîé èíôîðìàöèè . Âîçìîæíîñòè áåñêîíå÷íû. Ïîäïèñè, ñâîáîäíûå îò ïîäñîçíàòåëüíîãî êàíàëà Àëèñà è Áîá îáìåíèâàþòñÿ ïîäïèñàííûìè ñîîáùåíèÿìè, îáãîâàðèâàÿ ñðîêè êîíòðàêòà. Îíè èñïîëüçóþò ïðîòîêîë öèôðîâîé ïîäïèñè. Îäíàêî, ýòè ïåðåãîâîðû íà ñàìîì äåëå ìàñêèðóþò øïèîíñêóþ äåÿòåëüíîñòü Àë èñû è Áîáà. Èñïîëüçóÿ àëãîðèòì öèôðîâîé ïîäïèñè, îíè íå âîëíóþòñÿ î ïîäïèñûâàåìûõ èìè ñîîáùåíèÿõ. Äëÿ îáìåíà ñåêðåòíîé èíôîðìàöèåé îíè èñïîëüçóþò ïîäñîçíàòåëüíûé êàíàë â ïîäïèñÿõ ïîä äîêóìåíòàìè . Êîíòððàçâåäêà, îäíàêî, íå çíàåò, ÷òî ïåðåãîâîðû î êîíòðàêòå è èñïîëüçóåìûå ïîäïèñàííûå ñîîáùåíèÿ ÿâëÿþòñÿ òîë üêî ïðèêðûòèåì. Äëÿ ïðîòèâîäåéñòâèÿ ïîäîáíîé ñõåìå áûëè ðàçðàáîòàíû ñõåìû ïîäïèñè, ñâîáîäíîé îò ïîäñî çíàòåëüíîãî êàíàëà. Èñïîëüçóåìûå â ýòèõ ñõåìàõ öèôðîâûå ïîäïèñè íåâîçìîæíî èçìåíèòü äëÿ îðãàíèçàöèè ïîäñîçíàòåëüíîãî êàíàëà. Ïîäðîáíîñòè ñì. â [480, 481].
4.3 Íåîòðèöàåìûå öèôðîâûå ïîäïèñè Îáû÷íûå öèôðîâûå ïîäïèñè ìîãóò áûòü òî÷íî ñêîïèðîâàíû. Èíîãäà ýòî ñâîéñòâî ïîëåçíî, íàïðèìåð, ïðè ðàñïðîñòðàíåíèè ïóáëè÷íûõ çàÿâëåíèé.  äðóãîé ðàç ýòî ìîæåò îêàçàòüñÿ ïðîáëåìîé . Âîîáðàçèòå ëè÷íîå èëè äåëîâîå ïèñüìî, ïîäïèñàííîå öèôðîâîé ïîäïèñüþ . Åñëè ðàñïðîñòðàíÿåòñÿ ìíîæåñòâî êîïèé ýòîãî äîêóìåíòà, êàæäàÿ èç êîòîðûõ ìîæåò áûòü ïðîâåðåíà êåì óãîäíî, òî ýòî ìîæåò ïðèâåñòè ê çàìåøàòåëüñòâó èëè øàíòàæó . Ëó÷øèì ðåøåíèåì ÿâëÿåòñÿ öèôðîâàÿ ïîäïèñü, ïðàâèëüíîñòü êîòîðîé ìîæåò áûòü äîêàçàíà ïîëó÷àòåëþ, íî êîòîðàÿ íå ïîçâîëèò ïîëó÷àòåëþ ïîêàçàòü òðåòüåé ñòîðîíå ïîëó÷åííîå ñîîáùåíèå áåç ñîãëàñèÿ ðàçðåøåíèÿ ë è-
öà, ïîäïèñàâøåãî ñîîáùåíèå. Alice Software Company (Êîìïàíèÿ ïðîãðàììíîãî îáåñïå÷åíèÿ Àëèñû) ðàñïðîñòðàíÿåò ïðîäóêò DEW (DoEverything-Word, Äåëàÿ ñî ñëîâîì ÷òî óãîäíî). Äëÿ ãàðàíòèè îòñóòñòâèÿ âèðóñîâ êàæäàÿ êîïèÿ ñîäåðæèò öè ôðîâóþ ïîäïèñü. Îäíàêî, ñîçäàòåëè õîòÿò, ÷òîáû òîëüêî ëåãàëüíûå ïîêóïàòåëè ïðîäóêòà, à íå êîìïüþòåðíûå ïèðàòû ìîãëè ïðîâåðèòü ïîäïèñü .  òî æå âðåìÿ, åñëè îáíàðóæèâàþòñÿ êîïèè DEW, ñîäåðæàùèå âèðóñ, ó Alice Software Company íå äîëæíî áûòü âîçìîæíîñòè îòðèöàòü ïðàâèëüíóþ ïîäïèñü . Íåîòðèöàåìûå ïîäïèñè [343,327] óäîáíû äëÿ ðåøåíèÿ ïîäîáíûõ çàäà÷ . Êàê è îáû÷íàÿ öèôðîâàÿ ïîäïèñü, íåîòðèöàåìàÿ öèôðîâàÿ ïîäïèñü çàâèñèò îò ïîäïèñàííîãî äîêóìåíòà è çàêðûòîãî êëþ÷à ÷åëîâåêà, ïîäïèñàâø åãî äîêóìåíò. Íî, â îòëè÷èå îò îáû÷íûõ öèôðîâûõ ïîäïèñåé, íåîòðèöàåìàÿ ïîäïèñü íå ìîæåò áûòü ïðîâåðåíà áåç ðàçðåøåíèÿ ïîäïèñàâøåãî. Õîòÿ äëÿ ýòèõ ïîäïèñåé ìîæíî áûëî áû ïîäîáðàòü íàçâàíèå ïîëó÷øå, íàïðèìåð, "íåïåðåäàâàåìûå ïîäïèñè", ñóùåñòâóþùåå íàçâàíèå îáóñëîâëåíî òåì îáñòîÿòåëüñòâîì, ÷òî åñëè Àëèñå ïðèäåòñÿ ëèáî ïîäòâåðäèòü, ëèáî îòðèöàòü ïîäïèñü - ìîæåò áûòü â ñóäå - îíà íå ñìîæåò ëîæíî îòðèöàòü ñâîþ íàñòîÿùóþ ïîäïèñü. Íåñìîòðÿ íà ñëîæíîñòü ìàòåìàòèêè îñíîâíàÿ èäåÿ ïðîñòà : (1) Àëèñà ïðåäúÿâëÿåò Áîáó ïîäïèñü. (2) Áîá ñîçäàåò ñëó÷àéíîå ÷èñëî è ïîñûëàåò åãî Àëèñå. (3) Àëèñà âûïîëíÿåò âû÷èñëåíèÿ, èñïîëüçóÿ ñëó÷àéíîå ÷èñëî è ñâîé çàêðûòûé êëþ÷, è ïîñûëàåò Áîáó ðåçóë üòàò. Àëèñà ìîæåò âûïîëíèòü ýòè âû÷èñëåíèÿ òîëüêî, åñëè ïîäïèñü ïðàâèëüíà. (4) Áîá ïðîâåðÿåò ýòî. Òàêæå ñóùåñòâóåò äîïîëíèòåëüíûé ïðîòîêîë, ïîçâîëÿþùèé Àëèñå äîêàçàòü, ÷òî îíà íå ïîäïèñûâàëà äîê óìåíò, è íå äîïóñêàþùèé âîçìîæíîñòè ëîæíî îòêàçàòüñÿ îò ïîäïèñè . Áîá íå ìîæåò ïîâåðíóòüñÿ è óáåäèòü Êýðîë, ÷òî ïîäïèñü Àëèñû ïðàâèëüíà, ïîòîìó ÷òî Êýðîë íå çíàåò, ÷òî ÷èñëà Áîáà ñëó÷àéíû. Îí ìîæåò ëåãêî áåç ïîìîùè Àëèñû èçëîæèòü ïðîòîêîë íà áóìàãå è ïîñëàòü ðåçóëüòàò Êýðîë. Êýðîë ìîæåò óäîñòîâåðèòüñÿ â ïðàâèëüíîñòè ïîäïèñè Àëèñû òîëüêî, åñëè îíà ñàìà âûïîëíèò ýòîò ïð îòîêîë ñ Àëèñîé. Ñåé÷àñ êàæåòñÿ, ÷òî â ýòîì íåìíîãî ñìûñëà, íî îí ïîÿâèòñÿ, êîãäà âû âçãëÿíåòå íà ìàòåìàòèêó ðàçäåëà 23.4. Ýòî ðåøåíèå íå ñîâåðøåííî. Èâî Äåñìåäò è Ìîòè Þíã (Moti Yung) ïîêàçàëè, ÷òî â íåêîòîðûõ ñëó÷àÿõ Áîá ìîæåò óáåäèòü Êýðîë â ïðàâèëüíîñòè ïîäïèñè Àëèñû [489]. Íàïðèìåð, Áîá ïîêóïàåò ëåãàëüíóþ êîïèþ DEW. Îí ìîæåò ïîäòâåðäèòü ïîäïèñü ïîä ïðîãðàììíûì ïðîäó êòîì, êîãäà çàõî÷åò. Òîãäà, Áîá ìîæåò óáåäèòü Êýðîë, ÷òî îí ðàáîòàåò íà Alice Software Company, è ïðîäàòü åé ïèðàòñêóþ êîïèþ DEW. Êîãäà Êýðîë ïîïûòàåòñÿ ïîäòâåðäèòü ïîäïèñü Áîáà, îí îäíîâðåìåííî ïîäòâåðæäàåò ïîäïèñü ó Àëèñû. Êîãäà Êýðîë ïîñûëàåò åìó ñëó÷àéíîå ÷èñëî, îí îòïðàâëÿåò åãî Àëèñå. Îòâåò Àëèñû îí ïåðåñûëàåò Êýðîë. Êýðîë óáåæäàåòñÿ â òîì, ÷òî îíà - ëåãàëüíûé ïîêóïàòåëü, õîòÿ îíà òàêîâûì íå ÿâëÿåòñÿ . Òàêîå âñêðûòèå ÿâëÿåòñÿ ïðìåðîì ïðîáëåìû âåëèêîãî ãðîññìåéñòåðà è ïîäðîáíî ðàññìàòðèâàåòñÿ â ðàçäåëå 5.2. Íåñìîòðÿ íà ýòî ó íåîòðèöàåìûõ ïîäïèñåé ìíîæåñòâî ïðèìåíåíèé, âî ìíîãèõ ñëó÷àÿõ Àëèñà íå õî÷åò, ÷ò îáû êòî óãîäíî ìîã ïðîâåðèòü åå ïîäïèñü . Îíà ìîæåò íå õîòåòü, ÷òîáû ïîäïèñü ïîä åå ëè÷íîé êîððåñïîíäåíöèåé ìîãëà áûòü ïðîâåðåíà æóðíàëèñòàìè, ÷òîáû åå ïèñüìà áûëè îïóáëèêîâàíû è ïîäòâåðæäåíû íåçàâèñèìî îò êî íòåêñòà, èëè ïðîñòî, ÷òîáû íåëüçÿ áûëî îáíàðóæèòü èçìåíåíèÿ â ïèñüìàõ, ñäåëàííûå åþ ïîçæå . Åñëè îíà ïîäïèñûâàåò èíôîðìàöèþ, êîòîðóþ îíà ïðîäàåò, òî îíà íå õî÷åò, ÷òîáû êòî-òî, íå çàïëàòèâ çà èíôîðìàöèþ, ìîã ïî äòâåðäèòü åå äîñòîâåðíîñòü. Çàùèòèòü ñâîè ïðàâà Àëèñà ìîæåò êîíòðîëèðóÿ òåõ, êòî ïðîâåðÿåò åå ïîäïèñü . Ðÿä âàðèàíòîâ íåîòðèöàåìûõ ïîäïèñåé îòäåëÿåò ñâÿçü ìåæäó ïîäïèñàâøèì è ñîîáùåíèåì îò ñâÿçè ìåæäó ïîäïèñàâøèì è ïîäïèñüþ [910].  îäíîé ñõåìå êòî óãîäíî ìîæåò ïðîâåðèòü, ÷òî ïîäïèñü äåéñòâèòåëüíî áûëà ñîçäàíà åå àâòîðîì, à äëÿ ïðîâåðêè ïðàâèëüíîñòè ïîäïèñè äëÿ äàííîãî ñîîáùåíèÿ òðåáóåòñÿ ñîòðóäíè÷åñòâî ïîäïèñàâøåãî. Áëèçêèì ïîíÿòèåì ÿâëÿåòñÿ äîâåðèòåëüíàÿ íåîòðèöàåìàÿ ïîäïèñü [1229]. Ïðåäñòàâüòå, ÷òî Àëèñà ðàáîòàåò íà Toxins, Inc., è ïåðåäàåò îáëè÷àþùèå äîêóìåíòû â ãàçåòó, èñïîëüçóÿ ïðîòîêîë íåîòðèöàåìîé ïîäïèñè . Àëèñà ìîæåò ïîäòâåðäèòü ñâîþ ïîäïèñü òîëüêî ðåïîðòåðó ãàçåòû è íèêîìó áîëüøå . Îäíàêî, íåãîäÿé Áîá ïîäîçðåâàåò, ÷òî èñòî÷íèêîì äîêóìåíòîâ ÿâëÿåòñÿ Àëèñà . Îí òðåáóåò, ÷òîáû Àëèñà èñïîëüçîâàëà ïðîòîêîë ñíÿòèÿ ïîäï èñè, ÷òîáû î÷èñòèòü ñâîå èìÿ, à Àëèñà îòêàçûâàåòñÿ . Áîá íàñòàèâàåò, ÷òî åäèíñòâåííîé ïðè÷èíîé îòêàçà Àëèñû ÿâëÿåòñÿ åå âèíîâíîñòü, è óáèâàåò åå. Äîâåðèòåëüíûå íåîòðèöàåìûå ïîäïèñè ïîõîæè íà îáû÷íûå íåîòðèöàåìûå ïîäïèñè çà èñêëþ÷åíèåì ïðîò îêîëà ñíÿòèÿ ïîäïèñè, êîòîðûé ìîæåò áûòü çàïóùåí òîëüêî Òðåíòîì . Òîëüêî Òðåíò, à íå Áîá ìîæåò ïîòðåáîâàòü îò Àëèñû èñïîëüçîâàòü ïðîòîêîë ñíÿòèÿ . È åñëè Òðåíò ïðåäñòàâëÿåò ñóäåáíóþ ñèñòåìó, òî îí èñïîëüçóåò ýòîò ïðîòîêîë òîëüêî äëÿ ðàçðåøåíèÿ ôîðìàëüíîãî ñïîðà .
4.4 Ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ Alice Software Company äîáèëàñü áóðíîãî ðîñòà ïðîäàæ, ïðîäàâàÿ DEW - òàêîãî, ÷òî Àëèñà áîëüøóþ ÷àñòü âðåìåíè ïîñâÿùàåò ïîäòâåðæäåíèþ íåîòðèöàåìûõ ïîäïèñåé, à íå ðàáîòå íàä íîâûìè âîçìîæíîñòÿìè. Àëèñå õîòåëîñü áû íàçíà÷èòü íåêîåãî ÷åëîâåêà â êîìïàíèè îòâåòñòâåííûì çà ïîäòâåðæäåíèå ïîäïèñè. Àë èñà, èë ëþáîé äðóãîé ïðîãðàììèñò, ñìîæåò ïîäïèñûâàòü äîêóìåíòû ñ ïîìîùüþ íåîòðèöàåìîãî ïðîòîêîëà. Íî âñå ïîäòâåðæäåíèÿ áóäóò ïðîâîäèòüñÿ òîëüêî Êýðîë. Îêàçûâàåòñÿ, ýòî âîçìîæíî ñ èñïîëüçîâàíèåì ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ [333,1213]. Àëèñà ìîæåò ïîäïèñàòü äîêóìåíò, òàê ÷òî Áîá óáåäèòñÿ, ÷òî ïîäïèñü ïðàâèëüíà, íî íå ñìîæåò óáåäèòü â ýòîì òðåòüå ë èöî.  òî æå âðåìÿ Àëèñà íàçíà÷àåò Êýðîë íà äîëæíîñòü áóäóùåãî ñâèäåòåëÿ ñâîåé . Àëèñå äàæå íå íóæíî çàðàíåå ïðîñèòü ðàçðåøåíèÿ ó Êýðîë , åé òîëüêî íóæíî èñïîëüçîâàòü îòêðûòûé êëþ÷ Êýðîë. È Êýðîë ñìîæåò ïîäòâåðäèòü ïîäïèñü Àëèñû, åñëè Àëèñà óåõàëà èç ãîðîäà, óâîëèëàñü, áûëà ïîâûøåíà èëè óìåðëà . Ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ ïðåäñòàâëÿþò ñîáîé íåêèé êîìïðîìèññ ìåæäó îáû÷íûìè öèôðîâ ûìè ïîäïèñÿìè è íåîòðèöàåìûìè ïîäïèñÿìè . Îïðåäåëåííî ñóùåñòâóþò ñëó÷àè, êîãäà Àëèñà çàõî÷åò îãðàíè÷èòü ÷èñëî òåõ, êòî ìîæåò ïîäòâåðäèòü åå ïîäïèñü . Ñ äðóãîé ñòîðîíû, ïðåäîñòàâëåíèå Àëèñå ïîëíîãî êîíòðîëÿ ïî äðûâàåò ñàì èíñòèòóò ïîäïèñåé - Àëèñà ìîæåò îòêàçàòüñÿ ñîòðóäíè÷àòü è â ïîäòâåðæäåíèè, è â îòðèöàíèè, îíà ìîæåò çàÿâèòü î ïîòåðå êëþ÷åé äëÿ ïîäòâåðæäåíèÿ èëè îòðèöàíèÿ, íàêîíåö, îíà ìîæåò áûòü ïðîñòî íåäîñòóïíà . Ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ ìîãóò ïðåäîñòàâèòü Àëèñå çàùèòó, ñîçäàâàåìóþ íåîòðèöàåìîé ïîäïèñüþ, îäíîâðåìåííî íå ïîçâîëÿÿ åé çëîóïîòðåáëÿòü ýòîé çàùèòîé . Àëèñà äàæå ìîæåò ïðåäïî÷åñòü ýòîò ñïîñîá : ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ ìîãóò ïîìåøàòü ëîæíûì ïðèìåíåíèÿì, çàùèòèòü åå, åñëè îíà äåéñòâèòåëüíî ïîòåðÿëà ñâîé êëþ÷, âûðó÷èòü, åñëè îíà â îòïóñêå, â áîëüíèöå èëè äàæå óìåðëà . Ýòà èäåÿ ìîæåò èìåòü ðàçëè÷íûå ïðèìåíåíèÿ. Íàïðèìåð, Êýðîë ìîæåò ñäåëàòüñÿ ãîñóäàðñòâåííûì íîòàðè óñîì. Îíà îïóáëèêóåò â êàêîì-òî êàòàëîãå ñâîé îòêðûòûé êëþ÷, è ëþäè ïîëó÷àþò âîçìîæíîñòü íàçíà÷àòü åå ñâèäåòåëåì ñâîèõ ïîäïèñåé. Ïîëó÷àÿ íåáîëüøóþ ïëàòó çà ïîäòâåðæäåíèå ïîäïèñåé, îíà ìîæåò æèòü ïðèïåâà þ÷è. Êýðîë ìîæåò áûòü àãåíòñòâîì ïî îõðàíå àâòîðñêèõ ïðàâ, ïðàâèòåëüñòâåííûì àãåíòñòâîì èëè åùå êàêîéíèáóäü îðãàíèçàöèåé. Ýòîò ïðîòîêîë ïîçâîëÿåò îòäåëèòü ëþäåé, ïîäïèñûâàþùèõ äîêóìåíòû, îò ëþäåé, êîòîðûå ïîìîãàþò ïîäòâåðæäàòü ïîäïèñè.
4.5 Ïîäïèñè ïî äîâåðåííîñòè Ïîäïèñè óïîëíîìî÷åííîãî ñâèäåòåëÿ ïîçâîëÿþò ïîäïèñàâøåìó íàçíà÷èòü êîãî-òî äðóãîãî äëÿ ïîäòâåðæä åíèÿ ïîäïèñè. Ïóñòü Àëèñà õî÷åò ïîåõàòü â äåëîâóþ ïîåçäêó â íåêîå ìåñòî, ãäå íåò õîðîøåé êîìïüþòåðíîé ñåòè - â àôðèêàíñêèå äæóíãëè, íàïðèìåð. Èëè îíà íå äååñïîñîáíà ïîñëå òÿæåëîé îïåðàöèè . Îíà îæèäàåò ïîëó÷åíèÿ âàæíîé ýëåêòðîííîé ïî÷òû è èíñòðóêòèðóåò ñâîåãî ñåêðåòàðÿ Áîáà îòâåòèòü ñîîòâåòñòâóþùèì îáðàçîì . Êàê Àëèñà ìîæåò ïåðåäàòü Áîáó ïîëíîìî÷èÿ ïîäïèñûâàòü ñîîáùåíèÿ çà íåå, íå ïåðåäàâàÿ åìó ñâîåãî çàêðûòîãî êëþ÷à? Ðåøåíèåì ýòîãî ÿâëÿþòñÿ ïîäïèñè ïî äîâåðåííîñòè [1001]. Àëèñà ïåðåäàåò Áîáó ïîëíîìî÷èÿ òàê, ÷òîáû èìåëè ìåñòî ñëåäóþùèå ñâîéñòâà : Ðàçëè÷èìîñòü. Êòî óãîäíî ìîæåò îòëè÷èòü ïîäïèñè ïî äîâåðåííîñòè îò îáû÷íûõ ïîäïèñåé. Íåïîääåëüíîñòü. Òîëüêî ñàì ïîäïèñûâàþùèé è íàçíà÷åííûé èì ïîäïèñûâàþùèé ïî äîâåðåííîñòè ì îæåò ñîçäàòü ïðàâèëüíóþ ïîäïèñü ïî äîâåðåííîñòè. Îòëè÷èå ïîäïèñè ïî äîâåðåííîñòè. ïîäïèñûâàþùèé ïî äîâåðåííîñòè íå ìîæåò ñîçäàòü ïðàâèëüíóþ ïîäïèñü ïî äîâåðåííîñòè, êîòîðóþ ìîæíî âûäàòü çà îðèãèíàëüíóþ ïîäïèñü. Ïîäòâåðæäàåìîñòü. Ïî ïîäïèñè ïî äîâåðåííîñòè êîíòðîëåð äîëæåí óáåäèòüñÿ â ñîãëàñèè ïåðâîí à÷àëüíîãî ïîäïèñûâàþùåãî ñ ïîäïèñàííûì ñîîáùåíèåì. Èäåíòèôèöèðóåìîñòü. Ïåðâîíà÷àëüíûé ïîäïèñûâàþùèé ìîæåò îïðåäåëèòü ëè÷íîñòü ïîäïèñûâàþù åãî ïî äîâåðåííîñòè ïî ïîäïèñè ïî äîâåðåííîñòè. Íåîòðèöàåìîñòü. Ïîäïèñûâàþùèé ïî äîâåðåííîñòè íå ìîæåò ñíÿòü èì ïîäïèñü ïî äîâåðåííîñòè, ï îëó÷åííóþ ïîëüçîâàòåëåì  íåêîòîðûõ ñëó÷àÿõ òðåáóåòñÿ ñòðîãàÿ ôîðìà èäåíòèôèöèðóåìîñòè - êòî óãîäíî äîëæåí èìåòü âîçìîæíîñòü îïðåäåëèòü ëè÷íîñòü ïîäïèñûâàþùåãî ïî äîâåðåííîñòè ïî ïîäïèñè ïî äîâåðåííîñòè . Ñõåìû ïîäïèñè ïî äîâåðåííîñòè, îñíîâàííûå íà ðàçëè÷íûõ ñõåìàõ öèôðîâîé ïîäïèñè ïðèâåäåíû â [1001].
4.6 Ãðóïïîâûå ïîäïèñè Ýòà ïðîáëåìà áûëà ââåäåíà Äýâèäîì ×àóìîì ( David Chaum) â [330]: Ó êîìïàíèè åñòü íåñêîëüêî êîìïüþòåðîâ, ïîäñîåäèíåííûõ ê ëîêàëüíîé ñåòè .  êàæäîì îòäåëå êîìïàíèè åñòü ñâîé ïðè íòåð (òàêæå ïðèñîåäèíåííûé ê ñåòè), è òîëüêî îäèí ÷åëîâåê â îòäåëå èìååò ïðàâî ïå÷àòàòü íà ïðèíòåðå ñâîåãî îòäåëà. Ïåðåä ïå÷àòüþ, ñëåäîâàòåëüíî, ïðèíòåð äîëæåí ïðîâåðÿòü, ÷òî äàííûé ñîòðóäíèê ðàáîòàåò â ýòîì îòäåëå  òî æå âðåìÿ, êîìïàíèÿ õî÷åò îáåñïå÷èòü òàéíó, èìÿ ïîëüçîâàòåëÿ íå äîëæíî ðàñêðûâàòüñÿ. Åñëè, îäíàêî, êòî-òî â êîíöå äíÿ îáíàðóæèò, ÷òî ïðèíòåð èñïîëüçóåòñÿ ñëèøêîì ÷àñòî, ó äèðåêòîðà äîëæíà áûòü âîçìîæíîñòü íàéòè òîãî, êòî èñïîëüçóåò ïðèíòåð íå ïî íàçíà÷åíèþ è ïîñëàòü åìó ÷åê.
Ðåøåíèå ýòîé ïðîáëåìû íàçûâàåòñÿ ãðóïïîâîé ïîäïèñüþ. Ãðóïïîâûå ïîäïèñè îáëàäàþò ñëåäóþùèìè ñâî éñòâàìè: Òîëüêî ÷ëåíû ãðóïïû ìîãóò ïîäïèñûâàòü ñîîáùåíèÿ. Ïîëó÷àòåëü ïîäïèñè ìîæåò óáåäèòüñÿ, ÷òî ýòî - ïðàâèëüíàÿ ïîäïèñü ãðóïïû. Ïîëó÷àòåëü ïîäïèñè íå ìîæåò îïðåäåëèòü, êòî èìåííî èç ÷ëåíîâ ãðóïïû ïîäïèñàë äîêóìåíò. ïðè ñïîðå ïîäïèñü áóäåò ðàñêðûòà äëÿ îïðåäåëåíèÿ ëè÷íîñòè ïîäïèñàâøåãî.
Ãðóïïîâûå ïîäïèñè ñ íàäåæíûì ïîñðåäíèêîì Ñëåäóþùèé ïðîòîêîë èñïîëüçóåò çàñëóæèâàþùåãî ïîñðåäíèêà: (1) Òðåíò ñîçäàåò áîëüøóþ êó÷ó ïàð îòêðûòûé êëþ÷/çàêðûòûé êëþ÷ è âûäàåò êàæäîìó ÷ëåíó ãðóïïû èíä èâèäóàëüíûé ñïèñîê óíèêàëüíûõ çàêðûòûõ êëþ÷åé. Îäèíàêîâûõ êëþ÷åé â ñïèñêàõ íåò. (Åñëè â ãðóïïå n ÷ëåíîâ, è êàæäûé èç íèõ ïîëó÷àåò m ïàð êëþ÷åé, òî îáùåå ÷èñëî ïàð êëþ÷åé ñîñòàâèò n*m.) (2) Òðåíò ïóáëèêóåò ãëàâíûé ñïèñîê âñåõ îòêðûòûõ êëþ÷åé äëÿ ãðóïïû â ñëó÷àéíîì ïîðÿäêå, ñîõðàíÿÿ â ñå êðåòå, êàêîé êëþ÷ êîìó ïðèíàäëåæèò. (3) Êîãäà ÷ëåí ãðóïïû õî÷åò ïîäïèñàòü äîêóìåíò, îí ñëó÷àéíûì îáðàçîì âûáèðàåò êëþ÷ èç ñâîåãî ñïèñêà. (4) Êîãäà êòî-òî õî÷åò óáåäèòüñÿ, ÷òî ïîäïèñü ïðèíàäëåæèò ÷ëåíó äàííîé ãðóïïû, îí ïåðåáèðàåò ãëàâíûé ñïèñîê â ïîèñêàõ ïîäõîäÿùåãî îòêðûòîãî êëþ÷à è ïðîâåðÿåò ïîäïèñü. (5)  ñëó÷àå ñïîðîâ îáðàùàþòñÿ ê Òðåíòó, êîòîðûé çíàåò, êàêèå êëþ÷è èñïîëüçóåò êàæäûé ÷ëåí ãðóïïû. Ïðîáëåìà ïðîòîêîëà ñîñòîèò â òîì, ÷òî äëÿ íåãî íåîáõîäèì íàäåæíûé ïîñðåäíèê. Òðåíò çíàåò çàêðûòûå êëþ÷è êàæäîãî è ìîæåò ïîääåëûâàòü ïîäïèñè. Êðîìå òîãî, äîëæíî áûòü äîñòàòî÷íî âåëèêî, ÷òîáû ïîìåøàòü ïîïûòêàì àíàëèçà ñ öåëüþ ïîèñêà âëàäåëüöà êàæäîãî êëþ÷à. ×àóì [330] ïåðå÷èñëèë ðÿä äðóãèõ ïðîòîêîëîâ, â íåêîòîðûõ èç íèõ Òðåíò íå ìîæåò ïîääåëàòü ïîäïèñè, à â äðóãèõ îò è íå íóæåí âîâñå. Åùå îäèí ïðîòîêîë [348] íå òîëüêî ïðÿ÷åò ëè÷íîñòü ïîäïèñûâàþùåãî, íî è ïîçâ îëÿåò äîáàâëÿòü íîâûõ ÷ëåíîâ â ãðóïïó . È åùå îäèí ïðîòîêîë ìîæíî íàéòè â [1230].
4.7 Ïîäïèñè ñ îáíàðóæåíèåì ïîääåëêè Ïóñòü Åâà ÿâëÿåòñÿ ìîãó÷èì ïðîòèâíèêîì. Ó íåå åñòü îáøèðíûå êîìïüþòåðíûå ñåòè è çàëû, íàáèòûå êî ìïüþòåðàìè Êðýé, íà ìíîãî ïîðÿäêîâ áîëåå ìîùíûõ, ÷åì äîñòóïíûå Àëèñå . Âñå ýòè êîìïüþòåðû äíåì è íî÷üþ ïûõòÿò, ïûòàÿñü âçëîìàòü çàêðûòûé êëþ÷ Àëèñû. Íàêîíåö - óñïåõ. Òåïåðü Åâà ìîæåò âûäàâàòü ñåáÿ çà Àëèñó, ïðè æåëàíèè ïîääåëûâàÿ åå ïîäïèñü ïîä äîêóìåíòàìè. Ïîäïèñè ñ îáíàðóæåíèåì ïîääåëêè, ââåäåííûå Áèðæèòîì Ïôèöìàíîì ( Birgit Pfitzmann) è Ìàéêëîì Óýéäíåðîì (Michael Waidner) [1240] ïðåäîòâðàùàþò ïîäîáíîå ìîøåííè÷åñòâî. Åñëè ïîñëå ãðóáîãî âçëîìà Åâà ïîääåëûâàåò ïîäïèñè Àëèñû, Àëèñà ñìîæåò äîêàçàòü ïîäëîã . Åñëè Àëèñà ïîäïèøåò äîêóìåíò, à ïîòîì îáúÿâèò ñâîþ ïîäïèñü ïîäëîæíîé, ïðàâäà ìîæåò áûòü äîêàçàíà ñóäîì . Îñíîâíàÿ èäåÿ, ñòîÿùàÿ çà ïîäïèñÿìè ñ îáíàðóæåíèåì ïîääåëêè, ñîñòîèò â òîì, ÷òî äëÿ êàæäîìó âîçìîæí îìó îòêðûòîìó êëþ÷ó ñîîòâåòñòâóåò ìíîæåñòâî âîçìîæíûõ çàêðûòûõ êëþ÷åé . Êàæäûé èç ýòèõ çàêðûòûõ êëþ÷åé äàåò ìíîæåñòâî ðàçëè÷íûõ öèôðîâûõ ïîäïèñåé . Îäíàêî, ó Àëèñû åñòü òîëüêî îäèí çàêðûòûé êëþ÷, è îíà ì îæåò ðàññ÷èòàòü òîëüêî îäíó ïîäïèñü. Äðóãèå çàêðûòûå êëþ÷è åé íåèçâåñòíû. Åâà õî÷åò âçëîìàòü çàêðûòûé êëþ÷ Àëèñû. (Åâà òàêæå ñìîæåò áûòü Àëèñîé, âû÷èñëèâ äëÿ ñåáÿ âòîðîé ç àêðûòûé êëþ÷.) Îíà ñîáèðàåò ïîäïèñàííûå ñîîáùåíèÿ è, èñïîëüçóÿ ìíîæåñòâî ñâîèõ ñóïåðêîìïüþòåðîâ, ïûò àåòñÿ ðàñêðûòü êëþ÷ Àëèñû. Äàæå åñëè åé óäàñòñÿ ðàñêðûòü ïîäõîäÿùèé çàêðûòûé êëþ÷, òàêèõ êëþ÷åé í àñòîëüêî ìíîãî, ÷òî, ñêîðåå âñåãî, îíà ïîëó÷èò èíîé, ÷åì ó Àëèñû, êëþ÷ . Âåðîÿòíîñòü ðàñêðûòèÿ êëþ÷à, ïðèíà äëåæàùåãî èìåííî Àëèñå, íàñòîëüêî ìàëà, ÷òî åþ ìîæíî ïðåíåáðå÷ü. Òåïåðü, êîãäà Åâà ïîääåëàåò ïîäïèñü ïîä äîêóìåíòîì, èñïîëüçóÿ íàéäåííûé çàêðûòûé êëþ÷, ïîääåëàííàÿ ïîäïèñü áóäåò îòëè÷àòüñÿ îò òîé ïîäïèñè, êîòîðóþ ïîñòàâèëà áû ñàìà Àëèñà. Ïðè îáðàùåíèè â ñóä Àëèñà
ïðåäúÿâèò äâå ðàçëè÷íûõ ïîäïèñè ïîä îäíèì è òåì æå ñîîáùåíèåì è îòêðûòûé êëþ÷ (ñîîòâåòñòâóþùèé åå ç àêðûòîìó êëþ÷ó è çàêðûòîìó êëþ÷ó, íàéäåííîìó Åâîé), ÷òîáû äîêàçàòü ïîäëîã . Ñ äðóãîé ñòîðîíû, åñëè Àëèñà íå ìîæåò ïðåäúÿâèòü äâå ðàçëè÷íûå ïîäïèñè, òî ïîäëîãà íå áûëî è Àëèñà äîëæíà îòâå÷àòü çà ñâîþ ïîäïèñü . Ýòà ñõåìà ïîäïèñåé ïðîòèâîñòîèò âçëîìó Åâîé ïîäïèñè Àëèñû ñ ïîìîùüþ íåîáû÷àéíî ìîùíûõ âû÷èñë èòåëüíûõ ñðåäñòâ. Îíà íè÷åãî íå ñìîæåò ñäåëàòü ñ áîëåå âåðîÿòíîé ïîïûòêîé Ìýëëîðè âëîìèòüñÿ â äîì Àëèñû è ñòàùèòü åå çàêðûòûé êëþ÷ èëè ñ ïîïûòêîé Àëèñû ïîäïèñàòü äîêóìåíò, à çàòåì "ñëó÷àéíî" ïîòåðÿòü ñâîé ç àêðûòûé êëþ÷. ×òîáû çàùèòèòüñÿ îò óïîìÿíóòîé ïîïûòêè Ìýëëîðè, Àëèñå ñòîèò êóïèòü ñåáå õîðîøóþ ñòîðîæ åâóþ ñîáàêó, íî ïîäîáíûå ðåêîìåíäàöèè âûõîäÿò çà ðàìêè êðèïòîãðàôèè . Äîïîëíèòåëüíóþ òåîðèþ è ïðèìåíåíèÿ ïîäïèñåé ñ îáíàðóæåíèåì ïîääåëêè ìîæíî íàéòè â [1239, 1241, 730, 731].
4.8 Âû÷èñëåíèÿ ñ çàøèôðîâàííûìè äàííûìè Àëèñà õî÷åò çíàòü ðåøåíèå äëÿ íåêîòîðîé ôóíêöèè f(x) äëÿ íåêîòîðîãî êîíêðåòíîãî çíà÷åíèÿ x. Ê íåñ÷àñòüþ, åå êîìïüþòåð ñëîìàí. Áîá õî÷åò âû÷èñëèòü äëÿ íåå çíà÷åíèå f(x), íî Àëèñà íå õî÷åò, ÷òîáû Áîá çíàë åå x. Êàê Àëèñå ïîçâîëèòü Áîáó ïðîâåñòè âû÷èñëåíèå f(x)è íå ñîîáùèòü åìó x? Ýòî îáû÷íàÿ ïðîáëåìà âû÷èñëåíèé ñ çàøèôðîâàííûìè äàííûìè, òàêæå èçâåñòíûõ êàê òàéíàÿ èíôîðìàöèÿ ïðîðèöàòåëÿ. (Ïðîðèöàòåëåì ÿâëÿåòñÿ Áîá - îí îòâå÷àåò íà âîïðîñ .) Äëÿ íåêîòîðûõ ôóíêöèé ñóùåñòâ óþò ñïîñîáû ðåøèòü ýòó çàäà÷ó, îíè îáñóæäàþòñÿ â ðàçäåëå 23.6.
4.9 Âðó÷åíèå áèòîâ Àëèñà Âåëèêîëåïíàÿ, âûäàþùàÿñÿ âîëøåáíèöà , ñåé÷àñ ïðîäåìîíñòðèðóåò ìîùü ñâîåãî èñêóññòâà. Îíà óã àäàåò êàðòó, êîòîðóþ âûáåðåò Áîá äî òîãî, êàê îí åå âûáåðåò ! Ñëåäèòå çà òåì, êàê Àëèñà çàïèñûâàåò ñâîå ïðå äñêàçàíèå íà êóñî÷êå áóìàãè. Âîñõèùàéòåñü òåì, êàê Àëèñà êëàäåò ýòîò êóñî÷åê áóìàãè â êîíâåðò è çàïå÷àòûâàåò åãî. Äðîæèòå îò òîãî, êàê Àëèñà îòäàåò çàïå÷àòàííûé êîíâåðò ñëó÷àéíîìó çðèòåëþ . "Âûáåðè êàðòó, Áîá, ëþáóþ êàðòó." Îí ãëÿäèò íà íåå è ïîêàçûâàåò êàðòó Àëèñå è çðèòåëÿì . Ýòî ñåìåðêà áóáåí. Òåïåðü Àëèñà çàáèðàåò êî íâåðò ó çðèòåëÿ è îòêðûâàåò åãî. Ïðåäñêàçàíèå, çàïèñàííîå äî òîãî, êàê Áîá âûáðàë êàðòó, ñîîáùàåò "ñåìåðêà áóáåí"! Àïëîäèñìåíòû. Äëÿ óñïåõà ýòîãî òðþêà Àëèñå íóæíî ïîäìåíèòü êîíâåðò â êîíöå ôîêóñà . Îäíàêî, êðèïòîãðàôè÷åñêèå ïðîòîêîëû ìîãóò îáåñïå÷èòü çàùèòó îò ëþáîé ëîâêîñòè ðóê. À êàêàÿ â ýòîì ïîëüçà? Âîò áîëåå ïðèçåìëåííàÿ èñò îðèÿ. Áèðæåâîé áðîêåð Àëèñà õî÷åò óáåäèòü èíâåñòîðà Áîáà, ÷òî åå ìåòîä îïðåäåëÿòü ïåðñïåêòèâíûå àêöèè ç àñëóæèâàåò âíèìàíèÿ. Áîá:
"Ïîäáåðèòå-êà äëÿ ìåíÿ ïÿòîê àêöèé. Åñëè íà íèõ óäàñòñÿ çàðàáîòàòü, ÿ ïåðåäàì ñâîé áèçíåñ âàì."
Àëèñà:
"Åñëè ÿ ïîäáåðó ïÿòü àêöèé äëÿ âàñ, âû ñìîæåòå âëîæèòü â íèõ äåíüãè, íå çàïëàòèâ ìíå. Ïî÷åìó áû ìíå íå ïîêàçàòü âàì ïÿòü àêöèé, êîòîðûå ÿ ïîäîáðàë â ïðîøëîì ìåñ ÿöå?"
Áîá:
"Îòêóäà ÿ çíàþ, ÷òî âû íå ïîäìåíèëè ðåçóëüòàòû âàøåãî âûáîðà, óçíàâ íàñòîÿùèå. Åñëè âû ñîîáùèòå ìíå î ñâîåì âûáîðå ñåé÷àñ, ÿ áóäó óâåðåí, ÷òî âû íå ïîäìåíèòå ðåçóëüòàò. ß íå áóäó âêëàäûâàòü äåíüãè â ýòè àêöèè, ïîêà ÿ íå îïëà÷ó âàøè óñëóãè. Ïîâåðüòå ìíå."
Àëèñà:
"ß ëó÷øå ïîêàæó âàì ñâîþ ïîäáîðêó àêöèé çà ïðîøëûé ìåñÿö. ß íå ïîäìåíÿëà èõ. Ïîâåðüòå ìíå."
Àëèñà õî÷åò ïåðåäàòü ñâîå ïðåäñêàçàíèå (ò.å., áèò èëè ïîñëåäîâàòåëüíîñòü áèòîâ ), íî íå õî÷åò ðàñêðûâàòü ñâîå ïðåäñêàçàíèå äî íåêîòîðîãî âðåìåíè . Áîá, ñ äðóãîé ñòîðîíû, õî÷åò óäîñòîâåðèòüñÿ, ÷òî Àëèñà íå ñìîæåò èçìåíèòü ñâîå ìíåíèå ïîñëå òîãî, êàê îíà ñäåëàëà ïðåäñêàçàíèå. Âðó÷åíèå áèòîâ ñ ïîìîùüþ ñèììåòðè÷íîé êðèïòîãðàôèè Ýòîò ïðîòîêîë âðó÷åíèÿ áèòîâ èñïîëüçóåò ñèììåòðè÷íóþ êðèïòîãðàôèþ : (1) Áîá ãåíåðèðóåò ñòðîêó ñëó÷àéíûõ áèòîâ, R, è ïîñûëàåò åå Àëèñå. (2) Àëèñà ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç ñâîåãî áèòà, êîòîðûé îíà õî÷åò âðó÷èòü, b (â äåéñòâèòåëüíîñòè, ýòî ìîæåò áûòü è íåñêîëüêî áèòîâ) , è ñëó÷àéíóþ ñòðîêó Áîáà. Îíà øèôðóåò ñîîáùåíèå íåêîòîðûì ñë ó÷àéíûì êëþ÷îì, K, è ïîñûëàåò åãî îáðàòíî Áîáó. EK(R,b) Ýòà ÷àñòü ïðîòîêîëà ïðåäñòàâëÿåò ñîáîé ïðîöåäóðó âðó÷åíèÿ . Áîá íå ìîæåò ðàñøèôðîâàòü ñîîáùåíèå, ï îýòîìó îí íå çíàåò, ÷òî çà áèò ïðèñëàëà Àëèñà . Êîãäà äëÿ Àëèñû ïðèäåò âðåìÿ ðàñêðûòü ñâîé áèò, ïðîòîêîë ïðîäîëæàåòñÿ : (3) Àëèñà ïåðåäàåò Áîáó êëþ÷.
(4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèÿ, óçíàâàÿ áèò. Îí ïðîâåðÿåò ñâîþ ñëó÷àéíóþ ñòðîêó, óáåæäàÿñü â ïð à-
âèëüíîñòè áèòà.
Áåç ñëó÷àéíîé ñòðîêè Áîáà Àëèñà ìîæåò òàéíî ðàñøèôðîâûâàòü ñîîáùåíèå, ïîñëàííîå Áîáó, èñïîëüçóÿ ìíîæåñòâî êëþ÷åé, ïîäáèðàÿ òîò, êîòîðûé ïîçâîëèò ïðè äåøèôðèðîâàíèè îòïðàâëåííîãî ñîîáùåíèÿ èçìåíèòü âðó÷åííûé áèò. Òàê êàê ó áèòà òîëüêî äâà âîçìîæíûõ çíà÷åíèÿ, åå ïîèñêè íàâåðíÿêà óâåí÷àþòñÿ óñïåõîì ïîñëå íåñêîëüêèõ ïîïûòîê. Ñëó÷àéíàÿ ñòðîêà Áîáà íå äàåò åé èñïîëüçîâàòü ýòîò ñïîñîá âñêðûòèÿ, åé ïðèäåòñÿ èñêàòü íîâûé êëþ÷, êîòîðûé íå òîëüêî èíâåðòèðóåò âðó÷åííûé áèò, íî è ñîõðàíèò íåòðîíóòîé ñëó÷àéíóþ ñòðîêó Áîáà . Åñëè èñïîëüçóåòñÿ äîñòàòî÷íî õîðîøèé àëãîðèòì øèôðîâàíèÿ, âåðîÿòíîñòü óäà÷íîãî ïîèñêà ÷ðåçâû÷àéíî ìàëà. Àëèñà íå ìîæåò èçìåíèòü ñâîé áèò ïîñëå åãî âðó÷åíèÿ . Âðó÷åíèå áèòà ñ ïîìîùüþ îäíîíàïðàâëåííûõ ôóíêöèé Ýòîò ïðîòîêîë èñïîëüçóåò îäíîíàïðàâëåííûå ôóíêöèè: (1) Àëèñà ñîçäàåò äâå ñëó÷àéíûõ ñòðîêè áèòîâ, R1 è R2. R1, R2 (2) Àëèñà ñîçäàåò ñîîáùåíèå, ñîñòîÿùåå èç åå ñëó÷àéíûõ ñòðîê è áèòà, êîòîðûé îíà õî÷åò âðó÷èòü (â äåéñòâ èòåëüíîñòè, ýòî ìîæåò áûòü è íåñêîëüêî áèòîâ). (R1, R2, b) (3) Àëèñà âû÷èñëÿåò îäíîíàïðàâëåííóþ ôóíêöèþ äëÿ ñîîáùåíèÿ è ïîñûëàåò ðåçóëüòàò âìåñòå ñ îäíîé èç ñëó÷àéíûõ ñòðîê Áîáó. H(R1, R2, b), R1 Ýòî ñîîáùåíèå Àëèñû ÿâëÿåòñÿ äîêàçàòåëüñòâîì âðó÷åíèÿ. Èñïîëüçîâàíèå îäíîíàïðàâëåííîé ôóíêöèè íà ýòàïå (3) ìåøàåò Áîáó, èíâåðòèðóÿ ôóíêöèþ, îïðåäåëèòü áèò . Êîãäà äëÿ Àëèñû ïðèäåò âðåìÿ ðàñêðûòü ñâîé áèò, ïðîòîêîë ïðîäîëæàåòñÿ : (4) Àëèñà îòïðàâëÿåò Áîáó ïåðâîíà÷àëüíîå ñîîáùåíèå.
(R1, R2, b) (5) Áîá âû÷èñëÿåò îäíîíàïðàâëåííóþ ôóíêöèþ äëÿ ñîîáùåíèÿ è ñðàâíèâàåò åãî è R1 ñî çíà÷åíèåì îäíîíàïðàâëåííîé ôóíêöèè è ñëó÷àéíîé ñòðîêîé, ïîëó÷åííûìè íà ýòàïå (3). Åñëè îíè ñîâïàäàþò, òî áèò ïðàâ èëåí. Ïðåèìóùåñòâî ýòîãî ïðîòîêîëà ïåðåä ïðåäûäóùèì â òîì, ÷òî Áîáó íå íóæíî ïîñûëàòü íèêàêèõ ñîîáùåíèé . Àëèñà ïîñûëàåò Áîáó îäíî ñîîáùåíèå äëÿ âðó÷åíèÿ áèòà, à äðóãîå - äëÿ åãî ðàñêðûòèÿ . Íå íóæíà è ñëó÷àéíàÿ ñòðîêà Áîáà, òàê êàê ðåçóëüòàò Àëèñèíîãî âðó÷åíèÿ - ýòî ñîîáùåíèå, îáðàáîòàííîå îäíîíàïðàâëåííîé ôóíêöèåé. Àëèñà íå ìîæåò ñìîøåííè÷àòü è ïîäîáðàòü äðóãîå ñîîáùåíèå (R1, R2, b'), äëÿ êîòîðîãî H(R1, R2, b')= H(R1, R2, b). Ïîñûëàÿ Áîáó R1, îíà âðó÷àåò çíà÷åíèå b. Åñëè Àëèñà íå ñîõðàíèò â ñåêðåòå R2, òî Áîá ïîëó÷èò âîçìîæíîñòü âû÷èñëèòü H(R1, R2, b') è H(R1, R2, b), ïîëó÷àÿ âîçìîæíîñòü óâèäåòü, ÷òî æå îí ïîëó÷èë îò Àëèñû. Âðó÷åíèå áèòà ñ ïîìîùüþ ãåíåðàòîðà ïñåâäîñëó÷àéíîé ïîñëåäîâàòåëüíîñòè Ýòîò ïðîòîêîë äàæå ïðîùå [1137]: (1) Áîá ñîçäàåò ñòðîêó ñëó÷àéíûõ áèòîâ è ïîñûëàåò åå Àëèñå. R (2) Àëèñà ñîçäàåò ñòàðòîâóþ ïîñëåäîâàòåëüíîñòü äëÿ ãåíåðàòîðà ïñåâäîñëó÷àéíûõ áèòîâ. Çàòåì äëÿ êàæäîãî áèòà â ñòðîêå ñëó÷àéíûõ áèòîâ Áîáà îíà ïîñûëàåò Áîáó ëèáî: (a) âûõîä ãåíåðàòîðà, åñëè áèò Áîáà ðàâåí 0, èëè (b) XOR âûõîäà ãåíåðàòîðà è áèòà Áîáà, åñëè Áèò Áîáà ðàâåí 1. Êîãäà äëÿ Àëèñû ïðèäåò âðåìÿ ðàñêðûòü ñâîé áèò, ïðîòîêîë ïðîäîëæàåòñÿ : (3) Àëèñà ïîñûëàåò Áîáó ñâîþ ñòàðòîâóþ ïîñëåäîâàòåëüíîñòü.
(4) Áîá âûïîëíÿåò ýòàï (2), óáåæäàÿñü, ÷òî Àëèñà äåéñòâóåò ÷åñòíî. Åñëè ñòðîêà ñëó÷àéíûõ áèòîâ äîñòàòî÷íî äëèííà, à ãåíåðàòîð ïñåâäîñëó÷àéíûõ áèòîâ íåïðåäñêàçóåì , ìîøåííè÷åñòâî Àëèñû ïðàêòè÷åñêè íåâîçìîæíî .
Blob-îáúåêòû Ñòðîêè, êîòîðûå Àëèñà ïîñûëàåò Áîáó äëÿ âðó÷åíèÿ áèòà, èíîãäà íàçûâàþò blob-îáúåêòàìè. Blob-îáúåêò ýòî ïîñëåäîâàòåëüíîñòü áèòîâ, õîòÿ ïðîòîêîëû ýòîãî è íå òðåáóþò . Êàê ñêàçàë Æèëü Áðàññàð (Gilles Brassard), "Îíè ìîãëè áû áûòü ñäåëàíû è èç âîëøåáíîé ïûëè, åñëè áû ýòî áûëî ïîëåçíûì " [236]. Blob-îáúåêòû îáëàäàþò ñëåäóþùèìè ÷åòûðüìÿ ñâîéñòâàìè: 1. Àëèñà ìîæåò âðó÷èòü blob-îáúåêòû. Âðó÷àÿ blob-îáúåêò, îíà âðó÷àåò áèò. 2. Àëèñà ìîæåò îòêðûòü ëþáîé blob-îáúåêò, êîòîðûé îíà âðó÷èëà. Êîãäà îíà îòêðûâàåò blob-îáúåêò, îíà ìîæåò óáåäèòü Áîáà â çíà÷åíèè áèòà, êîòîðûé áûë âðó÷åí âìåñòå ñ blob-îáúåêòîì. Ñëåäîâàòåëüíî, îíà íå ìîæåò îòêðûòü ïðîèçâîëüíûé blob-îáúåêò, íàïðèìåð, íîëü èëè åäèíèöó. 3. Áîá íå ìîæåò çíàòü, êàêèì îáðàçîì Àëèñà ìîæåò îòêðûòü blob-îáúåêò, êîòîðûé îíà âðó÷èëà. Ýòî î ñòàåòñÿ ñïðàâåäëèâûì, äàæå êîãäà Àëèñà îòêðîåò äðóãèå blob-îáúåêòû. 4. Blob-îáúåêòû íå íåñóò íèêàêîé èíôîðìàöèè, êðîìå âðó÷àåìîãî Àëèñîé áèòà. Ñàìè ïî ñåáå blobîáúåêòû, òàêæå êàê è ïðîöåññ, ñ ïîìîùüþ êîòîðîãî Àëèñà âðó÷àåò è îòêðûâàåò èõ, íå ñâÿçàíû íå ñ ÷åì äðóãèì, ÷òî Àëèñà õîòåëà áû ñîõðàíèòü â ñåêðåòå îò Áîáà.
4.10 Ïîäáðàñûâàíèå "÷åñòíîé" ìîíåòû Íàñòàëî âðåìÿ ïðîöèòèðîâàòü Äæî Êèëèàíà (Joe Kilian) [831]: Àëèñà è Áîá õîòåëè ñûãðàòü â "îðëà è ðåøêó", íî ìîíåòû ó íèõ íå áûëî. Àëèñà ïðåäëîæèëà ïðîñòîé ñïîñîá ïîäáðàñûâàòü ìîíåòêó ìûñëåííî. "Ñíà÷àëà âû çàäóìûâàåòå ñëó÷àéíûé áèò, çàòåì ÿ çàäóìàþ ñëó÷àéíûé áèò. Çàòåì ìû âûïîëíÿåì íàä áèòàìè "èñêëþ÷àþùåå èëè", - ïðåäëîæèëà îíà. "Íî åñëè îäèí èç íàñ íå áóäåò çàäóìûâàòü áèòû ñëó÷àéíûì îáðàçîì?", - ñïðîñèë Áîá. "Ýòî íå âàæíî. Åñëè õîòÿ áû îäèí èç áèòîâ äåéñòâèòåëüíî ñëó÷àåí, òî è "èñêëþ÷àþùåå èëè" áèòîâ äîëæíî áûòü äåéñòâ èòåëüíî ñëó÷àéíûì", - îòâåòèëà Àëèñà, è ïîñëå ìèíóòíîãî ðàçäóìüÿ Áîá ñîãëàñèëñÿ. Íåìíîãî ñïóñòÿ Àëèñà è Áîá íàòêíóëèñü íà êíèãó ïî èñêóññòâåííîìó èíòåëëåêòó, ëåæàùóþ íà îáî÷èíå äîðîãè. Àëèñà, äîáðîïîðÿäî÷íàÿ ãðàæäàíêà, ñêàçàëà: "Îäèí èç íàñ äîëæåí ïîäîáðàòü ýòó êíèãó è ñäàòü åå â áþðî íàõîäîê". Áîá ñîãëàñèëñÿ, è ïðåäëîæèë èñïîëüçîâàòü èõ ïðîòîêîë ïîäáðàñûâàíèÿ ìîíåòêè, ÷òî áû îïðåäåëèòü, êòî óíåñåò êíèãó. "Åñëè ïîëó÷åííûé áèò áóäåò 0, òî òû âîçüìåøü êíèãó, à åñëè 1 - òî ÿ", - ñêàçàëà Àëèñà. " Êàêîé ó òåáÿ áèò?" Áîá îòâåòèë: "1". "Íó âîò, è ó ìåíÿ òàêîé æå", - ëóêàâî çàìåòèëà Àëèñà. - "ß äóìàþ, ó òåáÿ ñåãîäíÿ íåóäà÷íûé äåíü". Î÷åâèäíî, ó ïðîòîêîëà ïîäáðàñûâàíèÿ ìîíåòêè åñòü ñåðüåçíûé äåôåêò. Õîòÿ ýòî ïðàâäà, ÷òî "èñêëþ÷àþùåå èëè" äåéñ òâèòåëüíî ñëó÷àéíîãî áèòà, x, è ëþáîãî íåçàâèñèìî ðàñïðåäåëåííîãî áèòà , y, äàåò â ðåçóëüòàòå äåéñòâèòåëüíî ñëó÷àéíûé áèò, ïðîòîêîë Àëèñû íå ãàðàíòèðóåò, ÷òî äâà áèòà áóäóò ðàñïðåäåëåíû íåçàâèñèìî. Íà ñàìîì äåëå íåòðóäíî óáåäèòüñÿ, ÷òî íå ñ óùåñòâóåò ìûñëåííîãî ïðîòîêîëà, êîòîðûé ïîçâîëèò äâóì íåçàâèñèìûì ñòîðîíàì ïîäáðàñûâàòü "÷åñòíóþ" ìîíåòêó. Àëèñà è Áîá ãîðåâàëè, ïîêà íå ïîëó÷èëè ïèñüìî îò íåèçâåñòíîãî ñòóäåíòà ñ äèïëîìîì ïî êðèïòîãðàôèè. Èíôîðìàöèÿ â ïèñüìå áûëà ñëèøêîì òåîðåòè÷åñêîé, ÷òîáû åå ìîæíî áûëî ïðèìåíèòü äëÿ ÷åãî-òî çåìíîãî, íî êîíâåðò, â êîòîðîì ïðèøëî ïèñüìî, îêàçà ëñÿ ÷ðåçâû÷àéíî ïîëåçíûì. Êîãäà Àëèñà è Áîá â ñëåäóþùèé ðàç çàõîòåëè ïîäáðîñèòü ìîíåòêó, îíè èçìåíèëè ïåðâîíà÷àëüíûé ïðîòîêîë. Ñíà÷àëà áèò çàäóìàë Áîá, íî âìåñòî òîãî, ÷òîáû îòêðûòü åãî íåìåäëåííî, îí çàïèñûâàåò ñâîé áèò íà ëèñòêå áóìàãè è êëàäåò ëèñòîê â êîíâåðò. Çàòåì Àëèñà îáúÿâëÿåò ñâîé áèò. Íàêîíåö, Àëèñà è Áîá äîñòàþò áèò Áîáà èç êîíâåðòà è âû÷èñëÿþò ñëó÷àéíûé áèò. Ýòîò áèò óæå äåéñòâèòåëüíî ñëó÷àåí, íåçàâèñèìî îò ÷åñòíîñòè èãðàþùèõ. Àëèñà è Áîá ïîëó÷èëè ðàáîòàþùèé ïðîòîêîë, ñ îöèàëüíî çíà÷èìàÿ ìå÷òà êðèïòîãðàôîâ îñóùåñòâèëàñü, è âñå îíè æèëè äîëãî è ñ÷àñòëèâî.
Ýòè êîíâåðòû âûãëÿäÿò âåñüìà ïîõîæèìè íà blob-îáúåêòû âðó÷åíèÿ áèòà. Êîãäà Ìàíóýëü Áëàì (Manuel Blum) ñòîëêíóëñÿ ñ ïðîáëåìîé ïîäáðàñûâàíèÿ "÷åñòíîé" ìîíåòû ïî ìîäåìó [194], îí ðåøèë åå, èñïîëüçóÿ ïðîòîêîë âðó÷åíèÿ áèòà: (1) Àëèñà âðó÷àåò ñëó÷àéíûé áèò, èñïîëüçóÿ ëþáóþ èç ñõåì âðó÷åíèÿ áèòà, îïèñàííóþ â ðàçäåëå 4.9. (2) Áîá çàãàäûâàåò ñâîé áèò. (3) Àëèñà ðàñêðûâàåò áèò Áîáó. Áîá âûèãðûâàåò áðîñîê, åñëè îí ïðàâèëüíî çàãàäàë áèò.  îáùåì ñëó÷àå, íàì íóæåí ïðîòîêîë ñî ñëåäóþùèìè ñâîéñòâàìè : Àëèñà äîëæíà "áðîñèòü ìîíåòó" äî òîãî, êàê Áîá çàãàäàåò ñâîé áèò. Àëèñà íå äîëæíà èìåòü âîçìîæíîñòè èçìåíèòü ðåçóëüòàòû ñâîåãî áðîñêà, óçíàâ áèò Áîáà. Ó Áîáà íå äîëæíî áûòü âîçìîæíîñòè óçíàòü ðåçóëüòàò áðîñêà ïåðåä òåì, êàê îí ñäåëàåò ñâîå ïðåäïîë îæåíèå. Ñóùåñòâóåò íåñêîëüêî âîçìîæíîñòåé âûïîëíèòü ýòî . Áðîñîê ìîíåòû ñ ïîìîùüþ îäíîíàïðàâëåííûõ ôóíêöèé Åñëè Àëèñà è Áîá äîãîâîðÿòñÿ îá îäíîíàïðàâëåííîé ôóíêöèè, ïðîòîêîë ïðîñò : (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî, x. Îíà âû÷èñëÿåò y=f(x), ãäå f(x) - îäíîíàïðàâëåííàÿ ôóíêöèÿ.
(2) Àëèñà ïîñûëàåò y Áîáó. (3) Áîá ïðåäïîëàãàåò, ÷òî x ÷åòíî èëè íå÷åòíî, è ïîñûëàåò ñâîå ïðåäïîëîæåíèå Àëèñå. (4) Åñëè ïðåäïîëîæåíèå Áîáà ïðàâèëüíî, ðåçóëüòàòîì áðîñêà ÿâëÿåòñÿ "îðåë", åñëè íåïðàâèëüíî - òî "ðåøêà". Àëèñà îáúÿâëÿåò ðåçóëüòàò áðîñêà ìîíåòû è ïîñûëàåò x Áîáó. (5) Áîá ïðîâåðÿåò, ÷òî y=f(x). Áåçîïàñíîñòü ýòîãî ïðîòîêîëà îáåñïå÷èâàåòñÿ îäíîíàïðàâëåííîé ôóíêöèåé . Åñëè Àëèñà ñìîæåò íàéòè x è x', òàêèå ÷òî x - ÷åòíî, à x' - íå÷åòíî, è y=f(x)= f(x'), òî îíà êàæäûé ðàç ñìîæåò îáìàíûâàòü Áîáà . Êðîìå òîãî, íàèìåíüøèé çíà÷àùèé áèò f(x) äîëæåí áûòü íåêîððåëèðîâàí ñ x.  ïðîòèâíîì ñëó÷àå Áîá ñìîæåò îáìàíûâàòü Àë èñó, ïî êðàéíåé ìåðå èíîãäà. Íàïðèìåð, åñëè f(x) â 75 ïðîöåíòàõ ñëó÷àåâ ÷åòíà, åñëè x, ó Áîáà áóäåò ïðåèìóùåñòâî. (Èíîãäà íàèìåíüøèé çíà÷àùèé áèò íå ÿâëÿåòñÿ ëó÷øèì âûáîðîì äëÿ èñïîëüçîâàíèÿ â ïðèëîæåíèè, ïîòîìó ÷òî åãî âû÷èñëåíèå ìîæåò îêàçàòüñÿ ñëèøêîì ïðîñòûì .) Áðîñîê ìîíåòû ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Ýòîò ïðîòîêîë ðàáîòàåò êàê ñ êðèïòîãðàôèåé ñ îòêðûòûìè êëþ÷àìè, òàê è ñ ñèììåòðè÷íîé êðèïòîãðàôèåé . Åäèíñòâåííîå óñëîâèå - ïåðåêëþ÷åíèå àëãîðèòìà. Òî åñòü :
DK1 ( E K2 ( E K1 ( M ))) = E K2 ( M )  îáùåì ñëó÷àå ýòî ñâîéñòâî íå âûïîëíÿåòñÿ äëÿ ñèììåòðè÷íûõ àëãîðèòìîâ, íî ñïðàâåäëèâî äëÿ íåêîòîðûõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè (íàïðèìåð, RSA ñ èäåíòè÷íûìè ìîäóëÿìè). Ýòîò ïðîòîêîë: (1) È Àëèñà, è Áîá ñîçäàþò ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷. (2) Àëèñà ñîçäàåò äâà ñîîáùåíèÿ, îäíî äëÿ "îðëà", à âòîðîå - äëÿ "ðåøêè". Ýòè ñîîáùåíèÿ äîëæíû âêëþ÷àòü íåêîòîðóþ ñëó÷àéíóþ ñòðîêó, ÷òîáû îíà ìîãëà ïîäòâåðäèòü èõ ïîäëèííîñòü íà ïîñëåäóþùèõ ýòàïàõ ïð îòîêîëà. Àëèñà øèôðóåò îáà ñîîáùåíèÿ ñâîèì îòêðûòûì êëþ÷îì è ïîñûëàåò èõ Áîáó â ïðîèçâîëüíîì ï îðÿäêå. EA(M1), EA(M2) (3) Áîá, êîòîðûå íå ìîæåò ïðî÷èòàòü íå îäíî ñîîáùåíèå, ñëó÷àéíûì îáðàçîì âûáèðàåò îäíî èç íèõ. (Îí ì îæåò ïîñ÷èòàòü èõ ñ ïîìîùüþ "Ýíèêè-áåíèêè åëè âàðåíèêè", âîñïîëüçîâàòüñÿ êîìïüþòåðîì äëÿ âçëîìà ïðîòîêîëû èëè îáðàòèòüñÿ ê öûãàíêå.) Îí øèôðóåò âûáðàííîå ñîîáùåíèå ñâîèì îòêðûòûì êëþ÷îì è ï îñûëàåò åãî îáðàòíî Àëèñå. EÂ(EA(M)) ãäå M - M1 èëè M2. (4) Àëèñà, êîòîðàÿ íå ìîæåò ïðî÷èòàòü ïîëó÷åííîå ñîîáùåíèå, ðàñøèôðîâûâàåò åãî ñâîèì çàêðûòûì êëþ÷îì è ïîñûëàåò îáðàòíî Áîáó. DA(EÂ(EA(M)))= EÂ(M1), åñëè M = M1, èëè EÂ(M2), åñëè M = M2. (5) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå ñâîèì çàêðûòûì êëþ÷îì, ðàñêðûâàÿ ðåçóëüòàò áðîñêà ìîíåòû, è ïîñûë àåò ðàñøèôðîâàííîå ñîîáùåíèå Àëèñå. DÂ(EÂ(M1)) èëè DÂ(EÂ(M2)) (6) Àëèñà ÷èòàåò ðåçóëüòàò áðîñêà ìîíåòû è ïðîâåðÿåò, ÷òî ñëó÷àéíàÿ ñòðîêà ïðàâèëüíà. (7) Àëèñà è Áîá ðàñêðûâàþò ïàðû ñâîèõ êëþ÷åé, ÷òîáû êàæäûé èç ñòîðîí ìîãëà óáåäèòüñÿ â îòñóòñòâèè ì îøåííè÷åñòâà. Ýòîò ïðîòîêîë ñàìîäîñòàòî÷åí. Ëþáàÿ ñòîðîíà ìîæåò íåìåäëåííî îáíàðóæèòü ìîøåííè÷åñòâî äðóãîé, è íå òðåáóåòñÿ òðåòüÿ ñòîðîíà íè äëÿ ó÷àñòèÿ â ïðîòîêîëå, íè â êà÷åñòâå àðáèòðà ïîñëå çàâåðøåíèÿ ïðîòîêîëà . ×òîáû ïîñìîòðåòü, êàê ýòî ðàáîòàåò, äàâàéòå ïîïûòàåìñÿ ñìîøåííè÷àòü . Åñëè âûèãðàòü, ñìîøåííè÷àâ, õî÷åò Àëèñà, ó íåå åñòü òðè âîçìîæíûõ ïóòè ïîâëèÿòü íà ðåçóëüòàò. Âî ïå ðâûõ, îíà ìîæåò çàøèôðîâàòü äâà ñîîáùåíèÿ äëÿ "îðëà" íà ýòàïå (2). Áîá îáíàðóæèò ýòî, êîãäà Àëèñà ðàñêðîåò ñâîè êëþ÷è íà ýòàïå (7). Âî âòîðûõ, îíà ìîæåò èñïîëüçîâàòü êàêîé-òî äðóãîé êëþ÷ äëÿ ðàñøèôðîâûâàíèÿ ñ îîáùåíèÿ íà ýòàïå (4). Ýòî ïðèâåäåò ê áåññìûñëèöå, êîòîðóþ Áîá è îáíàðóæèò íà ýòàïå (5).  òðåòüèõ, îíà ìîæåò îáúÿâèòü íåïðàâèëüíûì ñîîáùåíèå íà ýòàïå (6). Áîá òàêæå îáíàðóæèò ýòî íà ýòàïå (7), êîãäà Àëèñà íå ñìîæåò äîêàçàòü, íåïðàâèëüíîñòü ñîîáùåíèÿ . Êîíå÷íî, Àëèñà ìîæåò îòêàçàòüñÿ îò ó÷àñòèÿ â ïðîòîêîëå íà ëþáîì ýòàïå, êîãäà æóëüíè÷åñòâî Àëèñû ñòàíåò äëÿ Áîáà î÷åâèäíûì. Åñëè Áîá çàõî÷åò ìîøåííè÷åñêè âûèãðàòü, åãî ïîëîæåíèå íè÷óòü íå ëó÷øå. Îí ìîæåò íåïðàâèëüíî çàøè ôðîâàòü ñîîáùåíèå íà ýòàïå (3), íî Àëèñà îáíàðóæèò îáìàí, âçãëÿíóâ íà çàêëþ÷èòåëüíîå ñîîáùåíèå íà ýòàïå (6).
Îí ìîæåò çàÿâèòü, ÷òî íåïðàâèëüíî âûïîëíèë ýòàï (5) èç-çà êàêîãî-òî ìîøåííè÷åñòâà ñî ñòîðîíû Àëèñû, íî ýòà ôîðìà æóëüíè÷åñòâà âñêðîåòñÿ íà ýòàïå (7) . Íàêîíåö, îí ìîæåò ïîñëàòü Àëèñà ñîîáùåíèå î "ðåøêå" íà ýòàïå (5), íåçàâèñèìî îò ðàñøèôðîâàííîãî ñîîáùåíèÿ, íî Àëèñà ñìîæåò íåìåäëåííî ïðîâåðèòü äîñòîâåðíîñòü ñîî áùåíèÿ íà ýòàïå (6). Áðîñîê ìîíåòû â êîëîäåö Èíòåðåñíî îòìåòèòü, ÷òî âî âñåõ ýòèõ ïðîòîêîëàõ Àëèñà è Áîá óçíàþò ðåçóëüòàò áðîñêà íå îäíîâðåìåííî .  êàæäîì ïðîòîêîëå åñòü ìîìåíò, êîãäà îäíà èç ñòîðîí (Àëèñà â ïåðâûõ äâóõ ïðîòîêîëàõ è Áîá â ïîñëåäíåì) ó çíàåò ðåçóëüòàò áðîñêà, íî íå ìîæåò èçìåíèòü åãî. Ýòà ñòîðîíà ìîæåò, îäíàêî, çàäåðæàòü ðàñêðûòèå ðåçóëüòàòà äëÿ âòîðîé ñòîðîíû. Ýòî íàçûâàåòñÿ áðîñêîì ìîíåò â êîëîäåö. Ïðåäñòàâüòå ñåáå âûñîõøèé êîëîäåö. Àëèñà ñòîèò ðÿäîì ñ êîëîäöåì, À Áîá - íåìíîãî ïîäàëüøå. Áîá áðîñàåò ìîíåòó, è îíà ïàäàåò â êîëîäåö. Àëèñà ìîæåò òåïåðü çàãëÿíóòü â êîëîäåö è óâèäåòü ðåçóëüòàò, íî îíà íå ìîæåò ñïóñòèòüñÿ âíèç è èçìåíèòü åãî . Áîá íå ñìîæåò óâèäåòü ðåçóëüòàò, ïîêà Àëèñà íå ïîçâîëèò åìó ïîäîéòè è çàãëÿíóòü â êîëîäåö . Ãåíåðàöèÿ êëþ÷åé ñ ïîìîùüþ áðîñêà ìîíåòû Ðåàëüíûì ïðèìåíåíèåì ýòîãî ïðîòîêîëà ñëóæèò ãåíåðàöèÿ ñåàíñîâîãî êëþ÷à. Ïðîòîêîëû áðîñêà ìîíåòû ï îçâîëÿþò Àëèñå è Áîáó ñîçäàòü ñëó÷àéíûé ñåàíñîâûé êëþ÷ òàê, ÷òî íèêòî èç íèõ íå ñìîæåò ïîâëèÿòü íà òî, ê àêèì áóäåò ýòîò êëþ÷. Åñëè Àëèñà è Áîá çàøèôðóþò ñâîè ñîîáùåíèÿ, ïðîöåäóðà ãåíåðàöèè êëþ÷à ê òîìó æå ñò àíåò áåçîïàñíîé îò çëîóìûøëåííèêà .
4.11 Ìûñëåííûé ïîêåð Ïðîòîêîë, àíàëîãè÷íûé ïðîòîêîëó áðîñêà ìîíåòû ñ ïîìîùüþ îòêðûòûõ êëþ÷åé, ïîçâîëÿåò Àëèñå è Áîáó è ãðàòü äðóã ñ äðóãîì â ïîêåð ïî ýëåêòðîííîé ïî÷òå . Àëèñà âìåñòî ñîçäàíèÿ è øèôðîâàíèÿ äâóõ ñîîáùåíèé, îäí îãî äëÿ "îðëà", à äðóãîãî - äëÿ "ðåøêè", ñîçäàåò 52 ñîîáùåíèÿ Ì1, Ì2, ..., Ì52, ïî ÷èñëó êàðò â êîëîäå. Áîá ñëó÷àéíûì îáðàçîì âûáèðàåò ïÿòü èç íèõ, øèôðóåò ñâîèì îòêðûòûì êëþ÷îì è ïîñûëàåò îáðàòíî Àëèñå. Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèÿ è ïîñûëàåò èõ îáðàòíî Áîáó, êîòîðûé ðàñøèôðîâûâàåò èõ äëÿ îïðåäåëåíèÿ ñâîåé "ðóêè". Çàòåì îí ñëó÷àéíûì îáðàçîì âûáèðàåò åùå ïÿòü ñîîáùåíèé è, íå èçìåíÿÿ èõ, ïîñûëàåò Àëèñå. Îíà ðàñøèôðîâûâàåò èõ, è ýòè ñîîòâåòñòâóþùèå êàðòû ñòàíîâÿòñÿ åå "ðóêîé".  òå÷åíèå èãðû ýòà æå ïðîöåäóðà ïðèìåíÿåòñÿ äëÿ ñäà÷è èãðîêàì äîïîëíèòåëüíûõ êàðò.  êîíöå èãðû Àëèñà è Áîá ðàñêðûâàþò ñâîè êàðòû è ï àðû êëþ÷åé, ÷òîáû êàæäûé ìîã óáåäèòüñÿ â îòñóòñòâèè ìîøåííè÷åñòâà . Ìûñëåííûé ïîêåð ñ òðåìÿ èãðîêàìè Ïîêåð èíòåðåñíåå, åñëè â èãðå ó÷àñòâóþò íåñêîëüêî ÷åëîâåê. Áàçîâûé ïðîòîêîë ìûñëåííîãî ïîêåðà ëåãêî ìîæåò áûòü ðàñïðîñòðàíåí íà òðåõ è áîëåå èãðîêîâ .  ýòîì ñëó÷àå êðèïòîãðàôè÷åñêèé àëãîðèòì òàêæå äîëæåí áûòü êîììóòàòèâíûì. (1) Àëèñà, Áîá è è Êýðîë ñîçäàþò ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷. (2) Àëèñà ñîçäàåò 52 ñîîáùåíèÿ, ïî îäíîìó äëÿ êàæäîé êàðòû êîëîäû. Ýòè ñîîáùåíèÿ äîëæíû âêëþ÷àòü í åêîòîðóþ óíèêàëüíóþ ñëó÷àéíóþ ñòðîêó, ÷òîáû Àëèñà ìîãëà ïðîâåðèòü èõ ïîäëèííîñòü íà ïîñëåäóþùèõ ýòàïàõ ïðîòîêîëà. Àëèñà øèôðóåò âñå ñîîáùåíèÿ ñâîèì îòêðûòûì êëþ÷îì è ïîñûëàåò èõ Áîáó â ïðîè çâîëüíîì ïîðÿäêå. EA(Mn) (3) Áîá, êîòîðûé íå ìîæåò ïðî÷èòàòü íå îäíî ñîîáùåíèå, ñëó÷àéíûì îáðàçîì âûáèðàåò ïÿòü èç íèõ. Îí øè ôðóåò èõ ñâîèì îòêðûòûì êëþ÷îì è ïîñûëàåò îáðàòíî Àëèñå. EÂ(EA(Mn)) (4) Áîá îòïðàâëÿåò Êýðîë îñòàâøèåñÿ 47 ñîîáùåíèé. EA(Mn) (5) Êýðîë, êîòîðàÿ íå ìîæåò ïðî÷èòàòü íå îäíî ñîîáùåíèå, ñëó÷àéíûì îáðàçîì âûáèðàåò ïÿòü èç íèõ. Îíà øèôðóåò èõ ñâîèì îòêðûòûì êëþ÷îì è ïîñûëàåò Àëèñå. EÑ(EA(Mn)) (6) Àëèñà, êîòîðàÿ íå ìîæåò ïðî÷èòàòü íè îäíî èç ïîëó÷åííûõ ñîîáùåíèé, ðàñøèôðîâûâàåò èõ ñâîèì çàêð ûòûì êëþ÷îì è ïîñûëàåò îáðàòíî Áîáó èëè Êýðîë (â ñîîòâåòñòâèè ñ òåì, îò êîãî îíà èõ ïîëó÷èëà). DA(EÂ(EA(Mn)))= EÂ(Mn) DA(EÑ(EA(Mn)))= EÑ(Mn)
(7) Áîá è Êýðîë ðàñøèôðîâûâàþò ñîîáùåíèÿ ñâîèìè êëþ÷àìè, ÷òîáû óçíàòü ñâîè êàðòû DÂ(EÂ(Mn)) DC(EC(Mn)) (8) Êýðîë ñëó÷àéíûì îáðàçîì âûáèðàåò ïÿòü èç îñòàâøèõñÿ 42 ñîîáùåíèé è ï îñûëàåò Àëèñå. EA(Mn) (9) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèÿ, ÷òîáû óçíàòü ñâîè êàðòû. DA(EA(Mn)) (10)  êîíöå èãðû Àëèñà, Áîá è Êýðîë ðàñêðûâàþò ñâîè êàðòû è ïàðû êëþ÷åé, ÷òîáû êàæäûé ìîã óáåäèòüñÿ â îòñóòñòâèè ìîøåííè÷åñòâà. Äîïîëíèòåëüíûå êàðòû ðàçäàþòñÿ ïîäîáíûì æå îáðàçîì. Åñëè êàðòà íóæíà Áîáó èëè Êýðîë, ëþáîé èç íèõ áåðåò çàøèôðîâàííóþ êîëîäó è ïîâòîðÿåò ïðîòîêîë ñ Àëèñîé, Åñëè êàðòà íóæíà Àëèñå, òî òîò, ó êîãî ñåé÷àñ íàõîäèòñÿ çàøèôðîâàííàÿ êîëîäà, ïîñûëàåò åé ñëó÷àéíóþ êàðòó .  èäåàëå, ýòàï (10) ÿâëÿåòñÿ îáÿçàòåëüíûì. Ñâîè "ðóêè" â êîíöå ïðîòîêîëà äîëæíû îòêðûâàòü íå âñå èãðîêè, à òîëüêî òå, êîòîðûå íå ñïàñîâàëè . Òàê êàê ýòàï (10) â ïðîòîêîë òîëüêî äëÿ êîíòðîëÿ ìîøåííè÷åñòâà, âîçìîæíû êàêèå-íèáóäü óëó÷øåíèÿ.  ïîêåðå èíòåðåñíî òîëüêî, íå ñìîøåííè÷àë ëè ïîáåäèòåëü . Âñå îñòàëüíûå ìîãóò ìîøåííè÷àòü ñêîëüêî âë åçåò, ðàç óæ îíè âñå ðàâíî ïðîèãðûâàþò . ( äåéñòâèòåëüíîñòè ýòî íå ñîâñåì âåðíî. Êòî-òî, ïðîèãðûâàÿ, ìîæåò ñîáèðàòü äàííûå î ñòèëå èãðû â ïîêåð äðóãèõ èãðîêîâ .) Èòàê, âçãëÿíåì íà ñëó÷àè âûèãðûøà ðàçëè÷íûõ èãðîêîâ. Åñëè âûèãðûâàåò Àëèñà, îíà ðàñêðûâàåò ñâîþ "ðóêó" è ñâîè êëþ÷è. Áîá ìîæåò èñïîëüçîâàòü çàêðûòûé êëþ÷ Àëèñû äëÿ ïðîâåðêè ïðàâèëüíîñòè äåéñòâèé Àëèñû íà ýòàïå (2), òî åñòü ïðîâåðèòü, ÷òî êàæäîå èç 52 ñîîáùåíèé ñîîòâåòñòâóåò îòäåëüíîé êàðòå. Êýðîë ìîæåò ïðîâåðèòü, ÷òî Àëèñà íå ëæåò î ñâîåé "ðóêå", øèôðóÿ êàðòû î òêðûòûì êëþ÷îì Àëèñû è ïðîâåðÿÿ, ÷òî îíè ñîîòâåòñòâóþò øèôðîâàííûì ñîîáùåíèÿì, êîòîðûå îíà ïîñëàëà Àëèñå íà ýòàïå (8). Åñëè âûèãðûâàþò Áîá èëè Êýðîë, ïîáåäèòåëü ðàñêðûâàåò ñâîè êàðòû è êëþ÷è. Àëèñà ìîæåò óáåäèòüñÿ â ïðàâèëüíîñòè êàðò, ïðîâåðèâ ñâîè ñëó÷àéíûå ñòðîêè . Îíà ìîæåò òàêæå óáåäèòüñÿ, ÷òî ñäàíû áûëè èìåííî ýòè êàðòû, øèôðóÿ èõ îòêðûòûì êëþ÷îì ïîáåäèòåëÿ è ïðîâåðÿÿ, ÷òî îíè ñîâïàäàþò ñ çàøèôðîâàííûìè ñîîáù åíèÿìè, ïîëó÷åííûìè íà ýòàïàõ (3) èëè (5). Ýòîò ïðîòîêîë íå çàùèùåí îò ñãîâîðà èãðîêîâ-ìîøåííèêîâ. Àëèñà è äðóãîé èãðîê ìîãóò îáúåäèíèòüñÿ è áåçíàêàçàííî âìåñòå íàäóâàòü òðåòüåãî èãðîêà . Ñëåäîâàòåëüíî, âàæíî ïðîâåðÿòü âñå êëþ÷è è ñëó÷àéíûå ñòðîêè êàæäûé ðàç, êîãäà èãðîêè ðàñêðûâàþò ñâîè êàðòû . È åñëè âû ñèäèòå çà âèðòóàëüíûì ñòîëîì ñ äâóìÿ èãðîêàìè, êîòîðûå íèêîãäà îäíîâðåìåííî íå ðàñêðûâàþò ñâîè êàðòû, ïðè÷åì îäèí èç íèõ ñäàåò (â ïðåäûäóùåì ïðîòîêîëå ýòî Àëèñà) êîí÷àéòå èãðó. Âñå ýòî êðàñèâî â òåîðèè, íî ðåàëèçîâàòü âñå ýòî íà êîìïüþòåðå âåñüìà íåïðîñòî.  ðåàëèçàöèè äëÿ òðåõ è ãðîêîâ íà òðåõ ðàçëè÷íûõ Sparc-ñòàíöèÿõ âîñåìü ÷àñîâ òðåáóåòñÿ òîëüêî äëÿ òàñîâàíèÿ êîëîäû, òàê ÷òî ëó÷øå ïîèãðàòü â íàñòîÿùèé ïîêåð [513]. Âñêðûòèÿ ìûñëåííîãî ïîêåðà Êðèïòîãðàôû ïîêàçàëè, ÷òî ïðè èñïîëüçîâàíèè ýòèìè ïðîòîêîëàìè ïîêåðà àëãîðèòìà ñ îòêðûòûìè êëþ÷àìè RSA ïðîèñõîäèò íåáîëüøàÿ óòå÷êà èíôîðìàöèè [453, 573]. Êîíêðåòíî, åñëè äâîè÷íîå ïðåäñòàâëåíèå êàðò ÿâë ÿåòñÿ êâàäðàòè÷íûì îñòàòêîì (ñì ðàçäåë 11.3), òî çàøèôðîâàííûå êàðòû òàêæå ÿâëÿþòñÿ êâàäðàòè÷íûì îñòà òêîì. Ýòî ñâîéñòâî ìîæåò áûòü èñïîëüçîâàíî äëÿ "êðàïëåíèÿ" íåêîòîðûõ êàðò - íàïðèìåð, âñåõ òóçîâ . Ýòî äàñò íå ìíîãî èíôîðìàöèè î ñäà÷àõ, íî â òàêîé èãðå êàê ïîêåð äàæå ÷óòü-÷óòü èíôîðìàöèè äàñò ïðåèìóùåñòâî ïðè äëèòåëüíîé èãðå. Øàôè Ãîëäâàññåð (Shafi Goldwasser) è Ñèëüâèÿ Ìèêàëè (Silvia Micali) [624] ðàçðàáîòàëè ïðîòîêîë óìñòâåííîãî ïîêåðà äëÿ äâóõ èãðîêîâ, êîòîðûé ðåøàåò ýòó ïðîáëåìó, õîòÿ èç-çà ñâîåé ñëîæíîñòè îí ñêîðåå èìååò òîë üêî òåîðåòè÷åñêîå çíà÷åíèå. Îáîáùåííûé ïðîòîêîë ïîêåðà äëÿ n èãðîêîâ, óñòðàíÿþùèé ïðîáëåìó óòå÷êè è íôîðìàöèè, áûë ðàçðàáîòàí â [389]. Ðåçóëüòàòû äðóãèõ èññëåäîâàíèé ïðîòîêîëîâ èãðû â ïîêåð ìîæíî íàéòè â [573, 1634, 389]. Óñëîæíåííûé ïðîòîêîë, ïîçâîëÿþùèé èãðîêàì íå ðàñêðûâàòü ñâîèõ "ðóê", ïðèâåäåí â [390]. Äîí Êîïïåðñìèò (Don Coppersmith) ðàññìàòðèâàåò äâà ñïîñîáà ìîøåííè÷åñòâà â óìñòâåííîì ïîêåðå, èñïîëüçóþùåì àëãîðèòì RSA [370].
Àíîíèìíîå ðàñïðåäåëåíèå êëþ÷åé Õîòÿ íåïîõîæå, ÷òîáû êòî-íèáóäü ñîáèðàëñÿ èñïîëüçîâàòü ýòîò ïðîòîêîë äëÿ èãðû â ïîêåð ïî ìîäåìó , ×àðëüç Ïôëåãåð (Charles Pfleeger) ðàññìàòðèâàåò ñèòóàöèþ, â êîòîðîé ýòîò òèï ïðîòîêîëà ìîæåò îêàçàòüñÿ ï îëåçíûì [1244]. Ðàññìîòðèì ïðîáëåìó ðàñïðåäåëåíèÿ êëþ÷åé. Åñëè ïðåäïîëîæèòü, ÷òî ëþäè íå ìîãóò ñàìè ãåíåðèðîâàòü ñâîè êëþ÷è(êëþ÷è äîëæíû èìåòü îïðåäåëåííóþ ôîðìó, èëè äîëæíû áûòü ïîäïèñàíû íåêîòîðîé îðãàíèçàöèåé, èëè åùå ÷òî-íèáóäü ïîäîáíîå), òî äëÿ ãåíåðàöèè è ðàññûëêè êëþ÷åé ïðèäåòñÿ ñîçäàòü Öåíòð ðàñïðåäåëåíèÿ êëþ÷åé (Key Distribution Center, KDC). Ïðîáëåìà â òîì, ÷òî íóæíî íàéòè òàêîé ñïîñîá ðàñïðåäåëåíèÿ êëþ÷åé, ÷òî íèêòî, âêëþ÷àÿ ñåðâåð, íå ñìîæåò ïîíÿòü, êîìó êàêîé êëþ÷ äîñòàëñÿ . Ñëåäóþùèé ïðîòîêîë ðåøàåò ýòó ïð îáëåìó: (1) Àëèñà ñîçäàåò ïàðó îòêðûòûé êëþ÷/çàêðûòûé êëþ÷.  ýòîì ïðîòîêîëå îíà ñîõðàíÿåò â ñåêðåòå îáà êëþ÷à. (2) KDC ãåíåðèðóåò íåïðåðûâíûé ïîòîê êëþ÷åé. (3) KDC øèôðóåò êëþ÷è, îäèí çà äðóãèì, ñâîèì îòêðûòûì êëþ÷îì. (4) KDC ïåðåäàåò çàøèôðîâàííûå êëþ÷è, îäèí çà äðóãèì, ïî ñåòè. (5) Àëèñà ñëó÷àéíûì îáðàçîì âûáèðàåò êëþ÷. (6) Àëèñà øèôðóåò âûáðàííûé êëþ÷ ñâîèì îòêðûòûì êëþ÷îì. (7) Àëèñà æäåò êàêîå-òî âðåìÿ (äîñòàòî÷íî áîëüøîå, ÷òîáû ñåðâåð íå ìîã îïðåäåëèòü, êàêîé êëþ÷ îíà âûáð àëà) è ïîñûëàåò äâàæäû çàøèôðîâàííûé êëþ÷ â KDC. (8) KDC ðàñøèôðîâûâàåò äâàæäû çàøèôðîâàííûé êëþ÷ ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à, ïîëó÷àÿ êëþ÷, çàøèôðîâàííûé îòêðûòûì êëþ÷îì Àëèñû. (9) Ñåðâåð ïîñûëàåò øèôðîâàííûé êëþ÷ îáðàòíî Àëèñå. (10) Àëèñà ðàñøèôðîâûâàåò êëþ÷ ñ ïîìîùüþ ñâîåãî çàêðûòîãî êëþ÷à. Ó íàõîäÿùåéñÿ ãäå-òî â ñåðåäèíå ïðîòîêîëà Åâû íåò íè ìàëåéøåãî ïðåäñòàâëåíèÿ î âûáðàííîì Àëèñîé êëþ÷å. Îíà âèäèò íåïðåðûâíûé ïîòîê êëþ÷åé, ñîçäàâàåìûõ íà ýòàïå (4). Êîãäà Àëèñà ïîñûëàåò êëþ÷ ñåðâåðó íà ýòàïå (7), îí øèôðóåòñÿ åå îòêðûòûì êëþ÷îì, êîòîðûé òàêæå äëÿ ýòîãî ïðîòîêîëà õðàíèòñÿ â ñåêðåòå . Ñïîñîáà ñâÿçàòü ýòî ñîîáùåíèå ñ ïîòîêîì êëþ÷åé ó Åâû íåò . Êîãäà êëþ÷ âîçâðàùàåòñÿ Àëèñå ñåðâåðîì íà ýòàïå (9), îí òàêæå çàøèôðîâàí îòêðûòûì êëþ÷îì Àëèñû . Êëþ÷ ñòàíîâèòñÿ èçâåñòíûì, òîëüêî êîãäà Àëèñà ðàñøè ôðîâûâàåò åãî íà ýòàïå (10). Åñëè âû èñïîëüçóåòå RSA, â ýòîì ïðîòîêîëå ïðîèñõîäèò óòå÷êà èíôîðìàöèè ñî ñêîðîñòüþ, ïî ìåíüøåé ìåðå, îäèí áèò íà ñîîáùåíèå. Ïðè÷èíîé ýòîãî ñíîâà ÿâëÿþòñÿ êâàäðàòè÷íûå îñòàòêè . Åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü ýòîò ñïîñîá äëÿ ðàñïðåäåëåíèÿ êëþ÷åé, óáåäèòåñü, ÷òî ýòà óòå÷êà íå ïðèâåäåò ê êàêèì-ëèáî ïîñëåäñòâèÿì. Êðîìå òîãî, ïîòîê êëþ÷åé, ñîçäàâàåìûé KDC äîëæåí áûòü äîñòàòî÷íî áîëüøèì, ÷òîáû ïðîòèâîñòîÿòü âñêð ûòèþ ãðóáûì âçëîìîì. Êîíå÷íî æå, åñëè Àëèñà íå ìîæåò âåðèòü KDC, òî îíà íå äîëæíà ïîëüçîâàòüñÿ åãî êë þ÷àìè. Ìîøåííè÷àþùèé KDC ìîæåò ïðåäóñìîòðèòåëüíî çàïèñûâàòü âñå ñîçäàâàåìûå èì êëþ÷è. Òîãäà îí ñì îæåò íàéòè ñðåäè íèõ êëþ÷, âûáðàííûé Àëèñîé . Ýòîò ïðîòîêîë òàêæå ïðåäïîëàãàåò, ÷òî Àëèñà áóäåò äåéñòâîâàòü ÷åñòíî. Ïðè èñïîëüçîâàíèè RSA ñóùåñòâóåò ðÿä äåéñòâèé, êîòîðûå ìîæåò ïðåäïðèíÿòü Àëèñà, ÷òîáû ïîëó÷èòü áîëüøå èíôîðìàöèè, ÷åì åé óäàëîñü áû ïðè äðóãîì ìåòîäå øèôðîâàíèÿ.  íàøåì ñöåíàðèè ýòà ïðîáëåìà íå ñóùåñòâåííà, íî ïðè äðóãèõ îáñòîÿòåëüñ òâàõ îíà ìîæåò ñòàòü âàæíîé.
4.12 Îäíîíàïðàâëåííûå ñóììàòîðû Àëèñà ÿâëÿåòñÿ ÷ëåíîì îðãàíèçàöèè "Çàãîâîðùèêè" . Èíîãäà åé ïðèõîäèòñÿ âñòðå÷àòüñÿ ñ äðóãèìè ÷ëåíàìè â ïëîõî îñâåùåííûõ ðåñòîðàíàõ è øåïòàòü ñåêðåòû íàëåâî è íàïðàâî . Áåäà â òîì, ÷òî ðåñòîðàíû íàñòîëüêî ïëîõî îñâåùåíû, ÷òî îíà íå ìîæåò áûòü óâåðåíà, ÷òî ÷åëîâåê, ñèäÿùèé íàïðîòèâ íåå çà ñòîëîì, òîæå ÷ëåí îðãàíèç àöèè. "Çàãîâîðùèêè" ìîãóò âûáèðàòü èç íåñêîëüêèõ ðåøåíèé . Êàæäûé ìîæåò íîñèòü ñ ñîáîé ñïèñîê ÷ëåíîâ îðã àíèçàöèè. Ýòî âëå÷åò çà ñîáîé äâå ñëåäóþùèõ ïðîáëåìû. Âî ïåðâûõ, òåïåðü êàæäûé äîëæåí íîñèòü ñ ñîáîé áîëüøóþ áàçó äàííûõ, è, âî âòîðûõ, èì ïðèäåòñÿ êàê ñëåäóåò îõðàíÿòü ýòîò ñïèñîê ÷ëåíîâ . Äðóãèì ñïîñîáîì ÿâëÿåòñÿ èñïîëüçîâàíèå èäåíòèôèêàöèîííûõ êàðò, âûïóùåííûõ íàäåæíûì ñåêðåòàðåì . Äîïîëíèòåëüíûì ïðåèìóùåñòâîì ýòîãî ñïîñîáà ÿâëÿåòñÿ òî, ÷òî è ïîñòîðîííèå ñìîãóò ïðîâåðÿòü ÷ëåíîâ îðãàíèçàöèè (âñÿêèå ñêèäêè â ìåñòíîé áàêàëåéíîé ëàâêå), äî äëÿ ýòîãî íóæåí íàäåæíûé ñåêðåòàðü . Íèêîìó èç "çàãîâîðùèêîâ" íåëüçÿ äîâ åðÿòü äî òàêîé ñòåïåíè. Íîâûì ðåøåíèåì ÿâëÿåòñÿ èñïîëüçîâàíèå îäíîíàïðàâëåííîãî ñóììàòîðà [116]. Ýòî ÷òî-òî ïîõîæåå íà îä-
íîíàïðàâëåííûå õýø-ôóíêöèè, äëÿ êîòîðûõ âûïîëíÿåòñÿ òðåáîâàíèå êîììóòàòèâíîñòè. Òî åñòü, ìîæíî õýø èðîâàòü áàçû äàííûõ ÷ëåíîâ îðãàíèçàöèè â ïðîèçâîëüíîì ïîðÿäêå è ïîëó÷àòü îäíî è òî æå çíà÷åíèå . Áîëåå òîãî, ìîæíî äîáàâëÿòü íîâûõ ÷ëåíîâ â õýø-òàáëèöó è ïîëó÷àòü íîâîå õýø-çíà÷åíèå, ñíîâà íå çàâèñÿùåå îò ïîðÿäêà . Èòàê, âîò ÷òî äåëàåò Àëèñà. Îíà âûïîëíÿåò ðàñ÷åò, èñïîëüçóÿ ìíîæåñòâî âñåõ èìåí ÷ëåíîâ îðãàíèçàöèè, î òëè÷íûõ îò íåå. Çàòåì îíà ñîõðàíÿåò ýòî ïîëó÷åííîå çíà÷åíèå âìåñòå ñî ñâîèì èìåíåì. Áîá è äðóãèå ÷ëåíû ä åëàþò òî æå ñàìîå. Òåïåðü, êîãäà Àëèñà è Áîá âñòðå÷àþòñÿ â ïëîõî îñâåùåííîì ðåñòîðàíå, îíè ïðîñòî îáìåí èâàþòñÿ äðóã ñ äðóãîì âû÷èñëåííûìè çíà÷åíèÿìè è èìåíàìè. Àëèñà óáåæäàåòñÿ, ÷òî ðåçóëüòàò, ïîëó÷àåìûé ïðè äîáàâëåíèè èìåíè Áîáà ê çíà÷åíèþ Àëèñû, ñîâïàäàåò ñ ðåçóëüòàòîì, ïîëó÷àåìûì ïðè äîáàâëåíèè èìåíè Àë èñû ê çíà÷åíèþ ðàâíî çíà÷åíèþ Áîáà . Áîá äåëàåò òî æå ñàìîå. Òåïåðü îíè îáà çíàþò, ÷òî ñîáåñåäíèê - òàêæå ÷ëåí îðãàíèçàöèè. È â òî æå âðåìÿ íèêòî íå ñìîæåò îïðåäåëèòü ëè÷íîñòè äðóãèõ ÷ëåíîâ îðãàíèçàöèè . Áîëåå òîãî, ðàññ÷èòàííûå çíà÷åíèÿ êàæäîãî ÷ëåíà ìîãóò áûòü âûäàíû ïîñòîðîííèì. Òîãäà Àëèñà ñìîæåò ïîäòâåðäèòü ñâîå ÷ëåíñòâî ïîñòîðîííåìó (âîçìîæíî, äëÿ ÷ëåíñêîé ñêèäêè â áóôåòå ìåñòíîé êîíòððàçâåäêè ), íå ïîêàçûâàÿ åìó âåñü ñïèñîê ÷ëåíîâ. Íîâûõ ÷ëåíîâ ìîæíî äîáàâèòü ïðîñòî ïîñëàâ ïî êðóãó íîâûå èìåíà. Ê íåñ÷àñòüþ, óäàëèòü ÷ëåíà ìîæíî òîëüêî åäèíñòâåííûì ïóòåì: âñåì ÷ëåíàì ðàññûëàåòñÿ íîâûé ñïèñîê è îíè ïåðåñ÷èòûâàþò ñâîè çíà÷åíèÿ . Íî "çàãîâîðùèêàì" ïðèäåòñÿ âûïîëíÿòü ýòî äåéñòâèå òîëüêî ïðè îòñòàâêå êîãî-òî èç ÷ëåíîâ, ìåðòâûå ÷ëåíû ìîãóò îñòàòüñÿ â ñïèñêå. (Ñòðàííî, íî ýòî íå ñîçäàåò ïðîáëåìû.) Ýòî ðàçóìíàÿ èäåÿ ïðèìåíÿåòñÿ â ðÿäå ïðèëîæåíèé, êîãäà âû õîòèòå äîñòè÷ü ýôôåêòà öèôðîâîé ïîäïèñè áåç èñïîëüçîâàíèÿ öåíòðàëèçîâàííîé ñèñòåìû ïîäïèñåé .
4.13 Ðàñêðûòèå ñåêðåòîâ "âñå èëè íè÷åãî" Ïðåäñòàâüòå ñåáå, ÷òî Àëèñà - áûâøèé àãåíò áûâøåãî Ñîâåòñêîãî Ñîþçà, à òåïåðü áåçðàáîòíàÿ . ×òîáû çàðàáîòàòü, îíà ïðîäàåò ñåêðåòû. Êàæäûé, ãîòîâûé çàïëàòèòü íàçâàííóþ öåíó, ìîæåò êóïèòü ñåêðåò . Ó íåå äàæå åñòü êàòàëîã. Âñå åå ñåêðåòû ñ àïïåòèòíûìè íàçâàíèÿìè óïîðÿäî÷åíû ïî íîìåðàì : "Ãäå Äæèììè Õîôôà?", "Êòî òàéíî êîíòðîëèðóåò Òðåõñòîðîííþþ êîìèññèþ ?", "Ïî÷åìó Áîðèñ Åëüöèí âñåãäà âûãëÿäèò, êàê áóäòî îí ïðîãë îòèë æèâóþ ëÿãóøêó?", è ò.ä. Àëèñà íå õî÷åò îòäàâàòü äâà ñåêðåòà ïî öåíå îäíîãî è íå ïîêàçûâàåò äàæå ÷àñòè èíôîðìàöèè, êàñàþùåéñÿ ëþáîãî èç ñåêðåòîâ. Áîá, ïîòåíöèàëüíûé ïîêóïàòåëü, íå õî÷åò ïëàòèòü çà êîòà â ìåøêå . Îí òàêæå íå õî÷åò ñîîáùàòü Àëèñå, êàêèå èç ñåêðåòîâ åìó íóæíû . Ýòî íå åå äåëî, è, êðîìå òîãî, òîãäà Àëèñà ñìîæåò äîáàâèòü â ñâîé êàòàëîã ïóíêò "Ñåêðåòû, êîòîðûìè èíòåðåñóåòñÿ Áîá" . Ïðîòîêîë ïîêåðà íå ðàáîòàåò â ýòîì ñëó÷àå, òàê êàê â êîíöå ýòîãî ïðîòîêîëà Àëèñà è Áîá äîëæíû ðàñêðûòü ñâîè êàðòû äðóã äðóãó. Ê òîìó æå, ñóùåñòâóþò òðþêè, ñ ïîìîùüþ êîòîðûõ Áîá ìîæåò óçíàòü ñðàçó íåñêîëüêî ñåêðåòîâ. Ðåøåíèå íàçûâàåòñÿ ðàñêðûòèåì ñåêðåòîâ "âñå èëè íè÷åãî" (all-or-nothing disclosure of secrets , ANDOS) [246], ïîòîìó ÷òî åñëè Áîá ïîëó÷èë ëþáóþ èíôîðìàöèþ î ëþáîì èç ñåêðåòîâ Àëèñû, òî îí ïîòåðÿë âîçìîæíîñòü óçíàòü ÷òî-ëèáî åùå î äðóãèõ åå ñåêðåòàõ .  êðèïòîãðàôè÷åñêîé ëèòåðàòóðå ìîæíî íàéòè ðàçëè÷íûå ïðîòîêîëû ANDOS. Íåêîòîðûå èç íèõ îáñóæäàþòñÿ â ðàçäåëå 23.9.
4.14 Óñëîâíîå âðó÷åíèå êëþ÷åé Âîò îòðûâîê èç ââåäåíèÿ â òåìó Ñèëüâèî Ìèêàëè [1084]: Ñåãîäíÿ ïîäñëóøèâàíèå ñ ðàçðåøåíèÿ ñóäà ÿâëÿåòñÿ ýôôåêòèâíûì ìåòîäîì îòäàâàòü ïðåñòóïíèêîâ â ðóêè ïðàâîñóäèÿ . Ïî íàøåìó ìíåíèþ åùå áîëåå âàæíî, ÷òî ýòî òàêæå ïðåäîòâðàùàåò äàëüíåéøåå ðàñïðîñòðàíåíèå ïðåñòóïëåíèÿ, óäåðæèâàÿ îò èñïîëüçîâàíèÿ îáû÷íûõ ñåòåé ñâÿçè ñ íåçàêîííûìè öåëÿìè . Ñëåäîâàòåëüíî, ñóùåñòâóåò îáîñíîâàííîå áåñïîêîéñòâî, ÷òî ðà ñïðîñòðàíåíèå êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè ìîæåò áûòü íà ðóêó ïðåñòóïíûì è òåððîðèñòè÷åñêèì îðãàíèçàöèÿì . Äåéñòâèòåëüíî, âî ìíîãèõ çàêîíàõ ïðåäïîëàãàåòñÿ, ÷òî ñîîòâåòñòâóþùèå ïðàâèòåëüñòâåííûå âåäîìñòâà ïðè îïðåäåëåííûõ óñë îâèÿõ, îãîâîðåííûõ çàêîíîì, äîëæíû èìåòü âîçìîæíîñòü ïîëó÷èòü îòêðûòûé òåêñò ëþáîãî îáìåíà èíôîðìàöèåé ïî îáùåäî ñòóïíûì ñåòÿì.  íàñòîÿùåå âðåìÿ many ýòî ìîæåò áûòü òðàêòîâàòüñÿ, êàê òðåáîâàíèå ê çàêîíîïîñëóøíûì ãðàæäàíàì ëèáî (1) èñïîëüçîâàòü ñëàáûå êðèïòîñèñòåìû - ò.å., êðèïòîñèñòåìû, êîòîðûå ñîîòâåòñòâóþùèå âëàñòè (à òàêæå êòî óãîäíî!) ñì îãóò âñêðûòü ñ ïîìîùüþ óìåðåííûõ óñèëèé, èëè (2) çàðàíåå ñîîáùàòü ñâîè ñåêðåòû âëàñòÿì. Íå óäèâèòåëüíî, ÷òî òàêàÿ àëüòåðíàòèâà çàêîííî âñòðåâîæèëà ìíîãèõ çàèíòåðåñîâàííûõ ãðàæäàí, ñîçäàâàÿ â ðåçóëüòàòå ìíåíèå, ÷òî òàéíà ëè÷íîñòè äîë æíà ñòîÿòü íàä íàöèîíàëüíîé áåçîïàñíîñòüþ è îòïðàâëåíèåì çàêîíà .
Óñëîâíîå âðó÷åíèå êëþ÷åé ÿâëÿåòñÿ ñóòüþ ïðîäâèãàåìûõ ïðàâèòåëüñòâîì ÑØÀ ïðîãðàììû Clipper è Ñòàíäàðòà óñëîâíîãî øèôðîâàíèÿ (Escrowed Encryption Standard). Ïðîáëåìà â òîì, ÷òîáû è îáåñïå÷èòü òàéíó ëè÷í îñòè, è â òî æå âðåìÿ ïîçâîëèòü ðàçðåøåííîå ñóäîì ïîäñëóøèâàíèå . Escrowed Encryption Standard îáåñïå÷èâàåò áåçîïàñíîñòü ñ ïîìîùüþ çàùèùåííîãî îáîðóäîâàíèÿ . Ó êàæäîé ìèêðîñõåìû øèôðîâàíèÿ óíèêàëüíûé èäåíòèôèêàöèîííûé íîìåð ( ID) è ñåêðåòíûé êëþ÷. Ýòîò êëþ÷ äåëèòñÿ íà
äâå ÷àñòè è õðàíèòñÿ, âìåñòå ñ ID, äâóìÿ ðàçëè÷íûìè îðãàíèçàöèÿìè óñëîâíîãî âðó÷åíèÿ . Âñÿêèé ðàç, êîãäà ìèêðîñõåìà øèôðóåò ôàéë äàííûõ, îíà ñíà÷àëà øèôðóåò ñåàíñîâûé êëþ÷ óíèêàëüíûì ñåêðåòíûì êëþ÷îì. Ç àòåì îíà ïåðåäàåò çàøèôðîâàííûé ñåàíñîâûé êëþ÷ è ñâîé ID ïî êàíàëó ñâÿçè. Êîãäà ïðàâîîõðàíèòåëüíûå îðãàíû õîòÿò ðàñøèôðîâàòü ïîòîê èíôîðìàöèè, çàøèôðîâàííîé îäíîé èç ýòèõ ìèêðîñõåì, îíè èçâëåêàþò èç ïîòîêà ID, ïîëó÷àþò ñîîòâåòñòâóþùèå êëþ÷è èç îðãàíèçàöèé óñëîâíîãî âðó÷åíèÿ, îáúåäèíÿþò èõ ñ ïîìîùüþ îïåðàöèè XOR, ðàñøèôðîâûâàþò ñåàíñîâûé êëþ÷ è çàòåì èñïîëüçóþò åãî äëÿ äåøèôðèðîâàíèÿ ïîòîêà ñîîáùåíèé . Äëÿ çàùèòû îò ìîøåííèêîâ â ýòó ñõåìó ââåäåíû äîïîëíèòåëüíûå óñëîæíåíèÿ, ïîäðîáíî îïèñàííûå â ðàçäåëå 24.16. Àíàëîãè÷íàÿ ñõåìà ìîæåò áûòü ðåàëèçîâàíà è ïðîãðàììíî ñ èñïîëüçîâàíèåì êðèïòîãðàôèè ñ îòêðûòûìè êë þ÷àìè [77, 1579, 1580, 1581]. Ìèêàëè íàçûâàåò ñâîþ èäåþ ÷åñòíîé êðèïòîñèñòåìîé [1084,10851. (Ãîâîðÿò, ÷òî ïðàâèòåëüñòâî ÑØÀ ç àïëàòèëî Ìèêàëè $1000000 çà èñïîëüçîâàíèå åãî ïàòåíòîâ [1086, 1087] â ñâîåì ñòàíäàðòå Escrowed Encryption Standard, çàòåì ïàòåíò Ìèêàëè êóïèë Áàíêîâñêèé òðåñò .)  òàêèõ êðèïòîñèñòåìàõ çàêðûòûé êëþ÷ äåëèòñÿ íà ÷àñòè è ðàñïðåäåëÿåòñÿ ñðåäè ðàçëè÷íûõ îðãàíèçàöèé . Êàê è ñõåìà ñ ñîâìåñòíûì èñïîëüçîâàíèåì ñåêðåòà, ýòè îðãàíèçàöèè ìîãóò îáúåäèíèòüñÿ è âîññòàíîâèòü çàêðûòûé êëþ÷. Îäíàêî, ÷àñòè êëþ÷à îáëàäàþò äîïîëíèòåë üíûì ñâîéñòâîì - èõ ïðàâèëüíîñòü ìîæåò áûòü ïðîâåðåíà íåçàâèñèìî áåç âîññòàíîâëåíèÿ çàêðûòîãî êëþ÷à . Àëèñà ìîæåò ñîçäàòü ñâîé ñîáñòâåííûé çàêðûòûé êëþ÷ è ðàñïðåäåëèòü åãî ÷àñòè ñðåäè n äîâåðèòåëüíûõ ñîáñòâåííèêîâ. Íè îäèí èç íèõ íå ìîæåò âîññòàíîâèòü çàêðûòûé êëþ÷ Àëèñû. Îäíàêî êàæäûé ìîæåò ïðîâ åðèòü, ÷òî åãî ÷àñòü - ýòî ïðàâèëüíàÿ ÷àñòü çàêðûòîãî êëþ÷à. Àëèñà íå ìîæåò ïîñëàòü êîìó-òî èç äîâåðèòåëüíûõ ñîáñòâåííèêîâ ñòðîêó ñëó÷àéíûõ áèòîâ è íàäåÿòüñÿ óëèçíóòü. Åñëè ñóäåáíûå âëàñòè ðàçðåøàò ïîäñëóøèâàíèå, ñîîòâåòñòâóþùèå ïðàâîîõðàíèòåëüíûå îðãàíû ñìîãóò âîñïîëüçîâàòüñÿ ïîñòàíîâëåíèåì ñóäà äëÿ òîãî, ÷òîáû n äîâåðèòåëüíûõ ñîáñòâåííèêîâ âûäàëè ñâîè ÷àñòè . Ñîáðàâ âñå n ÷àñòåé, âëàñòè âîññòàíîâÿò çàêðûòûé êëþ÷ è ñìîãóò ïîäñëóøèâàòü ëèíèè ñâÿçè Àëèñû . Ñ äðóãîé ñòîðîíû, ÷òîáû ïîëó÷èòü âîçìîæíîñòü âîññòàíîâèòü êëþ÷ Àëèñû è íàðóøèòü åå òàéíó ëè÷íîñòè, Ìýëëîðè ïðèäåòñÿ êóïèòü âñåõ n äîâåðèòåëüíûõ ñîáñòâåííèêîâ. Âîò êàê ðàáîòàåò ýòîò ïðîòîêîë: (1) Àëèñà ñîçäàåò ïàðó çàêðûòûé êëþ÷/îòêðûòûé êëþ÷. Îíà ðàçáèâàåò çàêðûòûé êëþ÷ íà íåñêîëüêî îòêð ûòûõ è çàêðûòûõ ÷àñòåé. (2) Àëèñà ïîñûëàåò îòêðûòóþ ÷àñòü è ñîîòâåòñòâóþùóþ çàêðûòóþ ÷àñòü êàæäîìó èç äîâåðèòåëüíûõ ñîáñ òâåííèêîâ. Ýòè ñîîáùåíèÿ äîëæíû áûòü çàøèôðîâàíû. Îíà òàêæå ïîñûëàåò îòêðûòûé êëþ÷ â KDC. (3) Êàæäûé èç äîâåðèòåëüíûõ ñîáñòâåííèêîâ íåçàâèñèìî âûïîëíÿåò âû÷èñëåíèÿ íàä ñâîèìè çàêðûòîé è î òêðûòîé ÷àñòÿìè, ÷òîáû óáåäèòüñÿ â èõ ïðàâèëüíîñòè. Êàæäûé äîâåðèòåëüíûé ñîáñòâåííèê õðàíèò çàêð ûòóþ ÷àñòü â êàêîì-íèáóäü íàäåæíîì ìåñòå è îòïðàâëÿåò îòêðûòóþ ÷àñòü â KDC. (4) KDC âûïîëíÿåò èíîå âû÷èñëåíèå äëÿ îòêðûòûõ ÷àñòåé è îòêðûòîãî êëþ÷à. Óáåäèâøèñü, ÷òî âñå ïðàâèë üíî, îí ïîäïèñûâàåò ïóáëè÷íûé êëþ÷ è îòïðàâëÿåò åãî îáðàòíî Àëèñå èëè ïîìåùàåò â êàêóþ-íèáóäü áàçó äàííûõ. Ïðè íàëè÷èè ïîñòàíîâëåíèÿ ñóäà î ïîäñëóøèâàíèè êàæäûé èç äîâåðèòåëüíûõ ñîáñòâåííèêîâ ïåðåäàåò ñâîþ ÷àñòü â KDC, è KDC ïîëó÷àåò âîçìîæíîñòü âîññòàíîâèòü çàêðûòûé êëþ÷ . Äî ýòîé ïåðåäà÷è íè KDC, íè êòîëèáî èç äîâåðèòåëüíûõ ñîáñòâåííèêîâ íå ìîæåò ñàìîñòîÿòåëüíî âîññòàíîâèòü çàêðûòûé êëþ÷, äëÿ âîññòàíî âëåíèÿ êëþ÷à íóæíû âñå äîâåðèòåëüíûå ñîáñòâåííèêè . Ëþáîé àëãîðèòì ñ îòêðûòûìè êëþ÷àìè ìîæíî ñäåëàòü "÷åñòíûì" ïîäîáíûì îáðàçîì . Ðÿä êîíêðåòíûõ àëãîðèòìîâ ðàññìàòðèâàåòñÿ â ðàçäåëå 23.10.  ðàáîòàõ Ìèêàëè [1084, 1085] îáñóæäàþòñÿ ïóòè îáúåäèíåíèÿ îï èñàííîãî ñ ïîðîãîâîé ñõåìîé, ÷òîáû äëÿ âîññòàíîâëåíèÿ çàêðûòîãî êëþ÷à òðåáîâàëîñü íåêîòîðîå ïîäìíîæåñòâî äîâåðèòåëüíûõ ñîáñòâåííèêîâ (íàïðèìåð, òðîå èç ïÿòè). Îí òàêæå ïîêàçûâàåò, êàê îáúåäèíèòü ýòî ñ ðàññåÿííîé ïåðåäà÷åé (ñì. ðàçäåë 5.5) òàê, ÷òîáû äîâåðèòåëüíûå ñîáñòâåííèêè íå çíàëè, ÷åé çàêðûòûé êëþ÷ âîññòàíàâë èâàåòñÿ. "×åñòíûå" êðèïòîñèñòåìû íåñîâåðøåííû . Ïðåñòóïíèê ìîæåò èñïîëüçîâàòü òàêóþ ñèñòåìó, ïðèìåíÿÿ ïîäñî çíàòåëüíûé êàíàë (ñì. ðàçäåë 4.2.), ÷òîáû âñòàâèòü äðóãîé ñåêðåòíûé êëþ÷ â ñâîþ èíôîðìàöèþ. Òàêèì îáðàçîì îí ìîæåò áåçîïàñíî îáìåíèâàòüñÿ èíôîðìàöèåé ñ êåì-íèáóäü åùå, èñïîëüçóÿ ïîäñîçíàòåëüíûé êëþ÷ è ñîâå ðøåííî íå âîëíóÿñü ïî ïîâîäó ðàçðåøåííîãî ñóäîì ïîäñëóøèâàíèÿ . Äàííàÿ ïðîáëåìà ðåøàåòñÿ äðóãèì ïðîòîê îëîì, êîòîðûé íàçûâàåòñÿ îòêàçîóñòîé÷èâûì óñëîâíûì âðó÷åíèåì êëþ÷åé [946, 833]. Ýòîò àëãîðèòì è ïðîòîêîë îïèñûâàåòñÿ â ðàçäåëå 23.10. Ïîëèòèêà óñëîâíîãî âðó÷åíèÿ êëþ÷åé Ïîìèìî ïðàâèòåëüñòâåííûõ ïëàíîâ îòíîñèòåëüíî óñëîâíîãî âðó÷åíèÿ êëþ÷åé ðàñïðîñòðàíÿþòñÿ è êîììå ð÷åñêèå ñèñòåìû ñ óñëîâíûì âðó÷åíèåì êëþ÷åé. Âîçíèêàåò î÷åâèäíûé âîïðîñ: êàêîå ïðåèìóùåñòâî îò óñëîâíîãî âðó÷åíèÿ êëþ÷åé ïîëó÷àåò ïîëüçîâàòåëü? Íó, íà ñàìîì äåëå íèêàêîãî. Ïîëüçîâàòåëü íå ïîëó÷àåò îò óñëîâíîãî âðó÷åíèÿ êëþ÷åé íè÷åãî òàêîãî, ÷åãî îí
è ñàì íå ñìîã áû îáåñïå÷èòü. Îí è ñàì ìîæåò ñîçäàòü ðåçåðâíóþ êîïèþ êëþ÷åé, åñëè çàõî÷åò (ñì. ðàçäåë 8.8). Óñëîâíîå âðó÷åíèå êëþ÷åé ãàðàíòèðóåò, ÷òî ïîëèöèÿ ñìîæåò ïîäñëóøèâàòü åãî ðàçãîâîðû èëè ÷èòàòü ôàéëû äàííûõ, äàæå êîãäà îíè øèôðîâàíû . Îíî ãàðàíòèðóåò, ÷òî NSA ñìîæåò ïîäñëóøèâàòü åãî ìåæäóíàðîäíûå çâîíêè - áåç âñÿêîãî îðäåðà - õîòÿ îíè è øèôðîâàíû. Ìîæåò åìó áóäåò ðàçðåøåíî èñïîëüçîâàòü òàêóþ êðèïò îãðàôèþ ñ òåìè ñòðàíàìè, äëÿ êîòîðûõ ñåé÷àñ óñòàíîâëåíû çàïðåòû, íî ýòî ñîìíèòåëüíîå ïðåèìóùåñòâî . Íåäîñòàòêè óñëîâíîãî âðó÷åíèÿ êëþ÷åé âåñüìà îùóòèìû . Ïîëüçîâàòåëþ ïðèõîäèòñÿ âåðèòü â áåçîïàñíîñòü äåéñòâèÿ îðãàíèçàöèé, çàíÿòûõ óñëîâíûì âðó÷åíèåì êëþ÷åé òàêæå, êàê è â ÷åñòíîñòü çàíÿòûõ ýòèì ëþäåé . Åìó ïðèäåòñÿ âåðèòü, ÷òî ïîëèòèêà ñîîòâåòñòâóþùèõ îðãàíèçàöèé îñòàíåòñÿ íåèçìåííîé, ïðàâèòåëüñòâî íå ïîìåíÿåò çàêîíû, è òå, êòî èìååò ïîëíîìî÷èÿ âñêðûòü åãî êëþ÷, áóäóò äåëàòü ýòî ïî çàêîíó è ñ ïîëíîé îòâåòñòâåííîñòüþ . Âîîáðàçèòå íàïàäåíèå òåððîðèñòîâ íà Íüþ-Éîðê, êàêèå áû îãðàíè÷åíèÿ íå áûëè áû ñìåòåíû ïîëèöèåé, ÷òîáû îñòàíîâèòü ïîñëåäñòâèÿ? Òðóäíî ïðåäñòàâèòü ñåáå, ÷òî ýòè óñëîâíûå ñõåìû øèôðîâàíèÿ, êàê ãîâîðÿò èõ çàùèòíèêè, áóäóò èñïîëüç îâàòüñÿ áåç ïðèíóæäåíèÿ èçâíå. Ñëåäóþùèì î÷åâèäíûì øàãîì áóäåò çàïðåò íà èñïîëüçîâàíèå âñåõ äðóãèõ ñï îñîáîâ øèôðîâàíèÿ. Ýòî, âåðîÿòíî, åäèíñòâåííûé ñïîñîá äîáèòüñÿ êîììåð÷åñêîãî óñïåõà ýòîé ñèñòåìû, è ýòî, îïðåäåëåííî, åäèíñòâåííûé ñïîñîá çàñòàâèòü òåõíè÷åñêè ãðàìîòíûõ ïðåñòóïíèêîâ è òåððîðèñòîâ èñïîëüçîâàòü åå. Ïîêà íå ÿñíî, íàñêîëüêî òðóäíî áóäåò îáúÿâèòü íå-óñëîâíóþ êðèïòîãðàôèþ âíå çàêîíà, èëè êàê ýòî ïîâëèÿåò íà êðèïòîãðàôèþ êàê íà àêàäåìè÷åñêóþ äèñöèïëèíó . Êàê ÿ ìîãó èññëåäîâàòü ïðîãðàììíî îðèåíòèðîâàííûå àëãîðèòìû êðèïòîãðàôèè, íå èìåÿ äîñòóïà ê ïðîãðàììíîìó îáåñïå÷åíèþ óñòðîéñòâ íå-óñëîâíîãî øèôðîâàíèÿ, íóæíà ëè ìíå áóäåò ñïåöèàëüíàÿ ëèöåíçèÿ? È äðóãèå çàêîííûå âîïðîñû. Êàê óñëîâíî âðó÷åííûå êëþ÷è ïîâëèÿþò íà îòâåòñòâåííîñòü ïîëüçîâàòåëåé, äîëæíà ëè ñòàíîâèòüñÿ èçâåñòíîé çàøèôðîâàííàÿ èíôîðìàöèÿ ? Åñëè ïðàâèòåëüñòâî ÑØÀ ïûòàåòñÿ çàùèòèòü îðãàíû óñëîâíîãî âðó÷åíèÿ, íå áóäåò ëè ýòî êîñâåííûì ñâèäåòåëüñòâîì òîãî, ÷òî åñëè ñåêðåò ñêîìïðîìåòèðîâàí ëèáî ïîëüçîâàòåëåì, ëèáî îðãàíàìè óñëîâíîãî âðó÷åíèÿ, òî âèíîâíèêîì áóäåò ïðèçíàí ïîëüçîâ àòåëü? ×òî åñëè áàçà äàííûõ ãëàâíîé ñëóæáû óñëîâíîãî âðó÷åíèÿ êëþ÷åé, âñå ðàâíî ãîñóäàðñòâåííîé èëè êîììå ð÷åñêîé, áóäåò óêðàäåíà? ×òî, åñëè ïðàâèòåëüñòâî ÑØÀ ïîïûòàåòñÿ íåíàäîëãî ñêðûòü ýòîò ôàêò ? ßñíî, ÷òî âñå ýòè âîïðîñû ïîâëèÿþò íà æåëàíèå ïîëüçîâàòåëåé ïîëüçîâàòüñÿ óñëîâíûì âðó÷åíèåì êëþ÷åé . Åñëè èñïîëüçîâàíèå íå áóäåò äîáðîâîëüíûì, òî ïàðà ñêàíäàëîâ âûçîâåò ðîñò ïîëèòè÷åñêîãî äàâëåíèÿ ñ öåëüþ ëèáî ñäåëàòü è ñïîëüçîâàíèå ïîäîáíûõ ñèñòåì äîáðîâîëüíûì, ëèáî ââåñòè íîâûå ñëîæíûå ïðàâèëà â ýòîé îòðàñëè . Åùå áîëåå îïàñíûì áóäåò ñêàíäàë, êîãäà âûÿñíèòñÿ, ÷òî ãîäàìè ïîä íàáëþäåíèåì íàõîäèëñÿ ïîëèòè÷åñêèé îïïîíåíò òåêóùåé àäìèíèñòðàöèè èëè íåêèé ãðîìêîãîëîñûé êðèòèê ñïåöñëóæá è ïîëèöåéñêèõ âåäîìñòâ . Ýòî ñèëüíî íàñòðîèò îáùåñòâåííîå ìíåíèå ïðîòèâ óñëîâíîãî øèôðîâàíèÿ . Åñëè êëþ÷è ïîäïèñåé áóäóò øèôðîâàòüñÿ òåì æå ñïîñîáîì, ÷òî è êëþ÷è øèôðîâàíèÿ, âîçíèêíóò äîïîëí èòåëüíûå ìîìåíòû. Äîïóñòèìî ëè äëÿ âëàñòåé èñïîëüçîâàòü êëþ÷è ïîäïèñåé äëÿ ïðîâåäåíèÿ îïåðàöèè ïðîòèâ ïîäîçðåâàåìîãî ïðåñòóïíèêà? Áóäåò ëè ïðèçíàíà ñóäîì ïîäëèííîñòü ïîäïèñåé, îñíîâàííûõ íà êëþ÷àõ ñ óñëî âíûì âðó÷åíèåì? ×åì â äåéñòâèòåëüíîñòè áóäóò âëàäåòü ïîëüçîâàòåëè, åñëè âëàñòè äåéñòâèòåëüíî èñïîëüçóþò èõ êëþ÷è ïîëüçîâàòåëåé äëÿ ïîäïèñè êàêîãî-òî íåâûãîäíîãî êîíòðàêòà, äëÿ ïîääåðæêè îïðåäåëåííûõ îòðàñëåé ïðîìûøëåííîñòè, èëè ïðîñòî, ÷òîáû óêðàñòü äåíüãè ? Ãëîáàëüíîå ðàñïðîñòðàíåíèå êðèïòîãðàôèè ðîæäàåò äîïîëíèòåëüíûå âîïðîñû. Áóäóò ëè ñõåìû óñëîâíîãî âðó÷åíèÿ êëþ÷åé ñîâìåñòèìû â ðàçëè÷íûõ ñòðàíàõ ? Çàõîòÿò ëè òðàíñíàöèîíàëüíûå êîðïîðàöèè ñìèðèòüñÿ ñ ñóùåñòâîâàíèåì â êàæäîé ñòðàíå ñâîèõ óñëîâíî âðó÷åííûõ êëþ÷åé, ñîâìåñòèìûõ ñ ðàçëè÷íûì ìåñòíûì çàê îíîäàòåëüñòâîì? Áåç îáåñïå÷åíèÿ ñîâìåñòèìîñòè èñ÷åçàåò îäíî èç ïðîïàãàíäèðóåìûõ ïðåèìóùåñòâ ñõåìû ñ ó ñëîâíûì âðó÷åíèåì êëþ÷åé (ìåæäóíàðîäíîå èñïîëüçîâàíèå ìîùíûõ ñðåäñòâ êðèïòîãðàôèè) . ×òî åñëè ðÿä ñòðàí íå ïðèìåò íà âåðó íàäåæíîñòü îðãàíèçàöèé, ñâÿçàííûõ ñ óñëîâíûì âðó÷åíèåì êëþ÷åé? Êàê áóäóò ïîëüçîâàòåëè âåñòè ñâîè äåëà â ýòèõ ñòðàíàõ ? Áóäóò ëè ïðèçíàíû ñóäàìè èõ ýëåêòðîííûå êîíòðàêòû, èëè òîò ôàêò, ÷òî êëþ÷è èõ ïîäïèñåé óñëîâíî õðàíÿòñÿ â ÑØÀ, ïîçâîëèò èì óòâåðæäàòü ãäå-íèáóäü â Øâåéö àðèè, ÷òî ýòîò ýëåêòðîííûé êîíòðàêò ìîã ïîäïèñàòü êòî-òî äðóãîé ? Èëè äëÿ ëþäåé, êîòîðûå âåäóò äåëà â ïîäî áíûõ ñòðàíàõ, áóäóò ñïåöèàëüíûå èñêëþ÷åíèÿ ? À ÷òî äåëàòü ñ ïðîìûøëåííûì øïèîíàæåì? Ãäå ãàðàíòèè, ÷òî ñòðàíû, çàíèìàþùèåñÿ ñåé÷àñ ïðîìûøëå ííûì øïèîíàæåì äëÿ ñâîèõ âàæíåéøèõ èëè ãîñóäàðñòâåííûõ ïðåäïðèÿòèÿ, íå âîñïîëüçóþòñÿ äëÿ ýòîãî ñèñò åìàìè ñ óñëîâíûì âðó÷åíèåì êëþ÷åé?  ñàìîì äåëå, òàê êàê íè îäíà ñòðàíà íå ñîáèðàåòñÿ ïîçâîëÿòü äðóãèì ñòðàíàì ñëåäèòü çà ñâîèìè ðàçâåäûâàòåëüíûìè îïåðàöèÿìè, ðàñïðîñòðàíåíèå óñëîâíîãî øèôðîâàíèÿ âîçìîæíî ïðèâåäåò ê óâåëè÷åíèþ ïîäñëóøèâàíèÿ . Äàæå åñëè ñòðàíû, â êîòîðûõ ñîáëþäàþòñÿ ãðàæäàíñêèå ïðàâà, áóäóò èñïîëüçîâàòü óñëîâíîñòü òàêîãî øè ôðîâàíèÿ òîëüêî äëÿ çàêîííîãî ïðåñëåäîâàíèÿ ïðåñòóïíèêîâ è òåððîðèñòîâ, ãäå-íèáóäü ýòèì îáÿçàòåëüíî âî ñïîëüçóþòñÿ äëÿ âûñëåæèâàíèÿ äèññèäåíòîâ, øàíòàæà ïîëèòè÷åñêèõ îïïîíåíòîâ, è ò.ï. Öèôðîâûå ëèíèè ñâÿçè ïðåäîñòàâëÿþò âîçìîæíîñòü ãîðàçäî áîëåå òùàòåëüíî, ÷åì ýòî áûëî âîçìîæíî â àíàëîãîâîì ìèðå, êîíòðîëèð îâàòü äåéñòâèÿ ãðàæäàí, èõ ìíåíèÿ, Digital communications offer the opportunity to do a much more thorough lob of
monitoring citizens' actions, opinions, äîõîäû è îáúåäèíåíèÿ. Íå ÿñíî, íå áóäåò ëè ÷åðåç 20 ëåò ïðîäàæà ñèñòåìû ñ óñëîâíûì âðó÷åíèåì êëþ÷åé Òóðöèè èëè Êèòàþ ïîõ îäèòü íà ïðîäàæó ýëåêòðè÷åñêèõ äóáèíîê Þæíîé Àôðèêå â 1970 ãîäó èëè íà ñòðîèòåëüñòâî õèìè÷åñêîãî çàâîäà â Èðàêå â 1980 ãîäó. Äàæå õóæå, ëåãêîå è íåçàìåòíîå ïîäñëóøèâàíèå ëèíèé ñâÿçè ìîæåò èñêóñèòü ìíîãèå ïð àâèòåëüñòâà, êîòîðûå ðàíüøå, âîçìîæíî, ýòèì è íå çàíèìàëèñü, ñëåäèòü çà êîððåñïîíäåíöèåé ñâîèõ ãðàæäàí . È íåò ãàðàíòèè, ÷òî ëèáåðàëüíûå äåìîêðàòèè óñòîÿò ïåðåä ïîäîáíûì èñêóøåíèåì .
Ãëàâà 5 Ðàçâèòûå ïðîòîêîëû 5.1 Äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì À âîò äðóãàÿ èñòîðèÿ: Àëèñà: Áîá: Àëèñà: Áîá: Àëèñà: Áîá: Àëèñà: Áîá: Àëèñà:
"ß çíàþ ïàðîëü êîìïüþòåðà Ôåäåðàëüíîé Ðåçåðâíîé Ñèñòåìû, êîìïîíåíòû ñåêðåòíîãî ñîóñà ÌàêÄîíàëüäñ è îäå ðæàíèå 4-ãî òîìà Äîíàëüäà Êíóòà". "Íåò, òû íå çíàåøü". "Íåò, ÿ çíàþ". "Íå çíàåøü". "Íåò, çíàþ". "Äîêàæè". "Õîðîøî, ÿ ñêàæó òåáå". Îíà øåï÷åò Áîáó íà óõî. "Ýòî èíòåðåñíî. Òåïåðü ÿ òîæå ýòî çíàþ è ñîáèðàþñü ðàññêàçàòü ýòî âñå Âàøèíãòîí Ïîñò". "Îîîîé".
Ê íåñ÷àñòüþ, îáû÷íî Àëèñà ìîæåò äîêàçàòü ÷òî-íèáóäü Áîáó, òîëüêî ðàññêàçàâ åìó âñå. Íî òîãäà îí òîæå ïîëó÷èò âñå ñâåäåíèÿ. Çàòåì Áîá ìîæåò âûëîæèòü ïîëó÷åííûå ñâåäåíèÿ êîìó óãîäíî, è Àëèñà íè÷åãî íå ñìîæåò ñ ýòèì ïîäåëàòü. ( ëèòåðàòóðå äëÿ îïèñàíèÿ ýòèõ ïðîòîêîëîâ ÷àñòî èñïîëüçóþòñÿ ðàçëè÷íûå ïåðñîíàæè . Ïåããè îáû÷íî äîêàçûâàåò, à Âèêòîð ïðîâåðÿåò . Èìåííî ýòè èìåíà ïîÿâëÿþòñÿ â èñïîëüçóåìûõ ïðèìåðàõ âìåñòî Àë èñû è Áîáà.) Èñïîëüçóÿ îäíîíàïðàâëåííûå ôóíêöèè, Ïåããè ñìîæåò ïðîâåñòè äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì [626]. Ýòîò ïðîòîêîë äîêàçûâàåò Âèêòîðó, ÷òî ó Ïåããè äåéñòâèòåëüíî åñòü èíôîðìàöèÿ, íî íå äàåò Âèêòîðó íå ìàëå éøåé âîçìîæíîñòè óçíàòü, ÷òî ýòî çà èíôîðìàöèÿ . Ýòè äîêàçàòåëüñòâà ïðèíèìàþò ôîðìó èíòåðàêòèâíîãî ïðîòîêîëà. Âèêòîð çàäàåò Ïåããè ðÿä âîïðîñîâ. Åñëè Ïåããè çíàåò ñåêðåò, òî îíà îòâåòèò íà âñå âîïðîñû ïðàâèëüíî. Åñëè ñåêðåò åé íåèçâåñòåí, ó íåå åñòü íåêîòîðàÿ âåðîÿòíîñòü - 50 ïðîöåíòîâ â ñëåäóþùèõ ïðèìåðàõ - îòâåòèòü ïðàâèëüíî . Ïîñëå ïðèìåðíî 10 âîïðîñîâ Âèêòîð óáåäèòñÿ, ÷òî Ïåããè çíàåò ñåêðåò. Íî íè îäèí èç âîïðîñîâ èëè îòâåòîâ íå äàñò Âèêòîðó íè ìàëåéøèõ ñâåäåíèé îá èíôîðìàöèè Ïåããè, íî äîêàæåò çíàíèå Ïåããè ýòîé èíôîðìàöèè . Áàçîâûé ïðîòîêîë ñ íóëåâûì çíàíèåì Æàí-Æàê Êèñêàòåð (Jean-Jacques Quisquater) è Ëóè Ãèëó (Louis Guillou) ïîÿñíÿþò íóëåâîå çíàíèå èñòîðèåé î ïåùåðå [1281]. Ó ïåùåðû, ïîêàçàííîé íà 4-é, åñòü ñåêðåò. Òîò, êòî çíàåò âîëøåáíûå ñëîâà ìîæåò îòêðûòü ï îòàéíóþ äâåðü ìåæäó C è D. Äëÿ âñåõ îñòàëüíûõ îáà ïðîõîäà âåäóò â òóïèê . À
*
+,
Ðèñ. 5-1. Ïåùåðà íóëåâîãî çíàíèÿ Ïåããè çíàåò ñåêðåò ïåùåðû. Îíà õî÷åò äîêàçàòü ñâîå çíàíèå Âèêòîðó, íî íå õî÷åò ðàñêðûâàòü âîëøåáíûõ ñëîâ. Âîò êàê îíà óáåæäàåò åãî: (1) Âèêòîð íàõîäèòñÿ â òî÷êå À. (2) Ïåããè ïðîõîäèò âåñü ïóòü ïî ïåùåðå, ëèáî äî òî÷êè C, ëèáî äî òî÷êè D.
(3) Ïîñëå òîãî, êàê Ïåããè èñ÷åçíåò â ïåùåðå, Âèêòîð ïåðåõîäèò â òî÷êó Â. (4) Âèêòîð êðè÷èò Ïåããè, ñïðàøèâàÿ åå ëèáî î: (a) èëè âûéòè èç ëåâîãî ïðîõîäà (b) âûéòè èç ïðàâîãî ïðîõîäà. (5) Ïåããè èñïîëíÿåò åãî ïðîñüáó, ïðè íåîáõîäèìîñòè èñïîëüçóÿ âîëøåáíûå ñëîâà, ÷òîáû îòïåðåòü äâåðü. (6) Ïåããè è Âèêòîð ïîâòîðÿþò ýòàïû (1) - (5) n ðàç.
Ïðåäïîëîæèì, ÷òî ó Âèêòîðà åñòü âèäåîêàìåðà, è îí çàïèñûâàåò âñå, ÷òî âèäèò . Îí çàïèñûâàåò, êàê Ïåããè èñ÷åçàåò â ïåùåðå, çàïèñûâàåò, êàê îí ñàì êðè÷èò, óêàçûâàÿ, ãäå Ïåããè äîëæíà ïîÿâèòüñÿ, çàïèñûâàåò êàê Ïåããè ïîÿâëÿåòñÿ. Îí çàïèñûâàåò âñå n òåñòîâ. Åñëè îí ïîêàæåò ýòó âèäåîçàïèñü Êýðîë, ïîâåðèò ëè îíà, ÷òî Ïåããè çí àåò âîëøåáíûå ñëîâà, îòïèðàþùèå äâåðü ? Íåò. À ÷òî åñëè Ïåããè è Âèêòîð çàðàíåå äîãîâîðèëèñü, ÷òî Âèêòîð áóäåò êðè÷àòü, à Ïåããè áóäåò äåëàòü âèä, ÷òî îíà ïðîøëà âåñü ïóòü. Òîãäà îíà áóäåò êàæäûé ðàç âûõîäèòü èç óêàçàííîãî Âèêòîðîì ìåñòà, íå çíàÿ âîëøåáíûõ ñëîâ. Èëè îíè ìîãëè ñäåëàòü ïî äðóãîìó. Ïåããè âõîäèò â îäèí èç ïðîõîäîâ è Âèêòîð ñëó÷àéíûì îáðàçîì âûêðèêèâàåò ñâîè ïðîñüáû . Åñëè Âèêòîð óãàäûâàåò ïðàâèëüíî, õ îðîøî, åñëè íåò - îíè âûðåæóò ýòó ïîïûòêó èç âèäåîçàïèñè .  ëþáîì ñëó÷àå Âèêòîð ìîæåò ïîëó÷èòü âèäåîçàïèñü, ïîêàçûâàþùóþ â òî÷íîñòè òó ïîñëåäîâàòåëüíîñòü, êîòîðàÿ ïîëó÷èëàñü áû, åñëè áû Ïåããè çíàëà âîëøå áíûå ñëîâà. Ýòîò îïûò ïîêàçûâàåò äâå âåùè. Âî ïåðâûõ, Âèêòîð íå ìîæåò óáåäèòü òðåòüþ ñòîðîíó â ïðàâèëüíîñòè äîê àçàòåëüñòâà. È âî âòîðûõ, äàííûé ïðîòîêîë ÿâëÿåòñÿ ïðîòîêîëîì ñ íóëåâûì çíàíèåì . Åñëè Ïåããè íå çíàåò âîëøåáíûõ ñëîâ, òî î÷åâèäíî, ÷òî Âèêòîð íå óçíàåò íè÷åãî èç ïðîñìîòðà âèäåîçàïèñè . Íî òàê êàê íåò ñïîñîáà îòëè÷èòü ðåàëüíóþ âèäåîçàïèñü îò ïîääåëàííîé, òî Âèêòîð íå ìîæåò íè÷åãî óçíàòü èç ðåàëüíîãî äîêàçàòåëüñòâà ýòî è åñòü íóëåâîå çíàíèå. Ìåòîäèêà, èñïîëüçóåìàÿ â ýòîì ïðîòîêîëå, íàçûâàåòñÿ ðàçðåçàòü è âûáðàòü èç-çà òîãî, ÷òî îíà ïîõîæ íà êëàññè÷åñêèé ïðîòîêîë ÷åñòíîãî äåëåíèÿ ÷åãî-ëèáî : (1) Àëèñà äåëèò íåêóþ âåùü ïîïîëàì. (2) Áîá âûáèðàåò îäíó èç ïîëîâèí ñåáå. (3) Àëèñà çàáèðàåò îñòàâøóþñÿ ïîëîâèíó.  èíòåðåñàõ Àëèñû ÷åñòíî ðàçäåëèòü íà ýòàïå (1), ïîòîìó ÷òî Áîá âûáåðåò íà ýòàïå (2) òó ïîëîâèíó, êîòîðàÿ åìó áîëüøå íðàâèòñÿ. Ìàéêë Ðàáèí (Michael Rabin) ïåðâûì èñïîëüçîâàë â êðèïòîãðàôèè òåõíèêó "ðàçðåçàòü è âûáðàòü" [1282]. Ïîíÿòèÿ èíòåðàêòèâíîãî ïðîòîêîëà è íóëåâîãî çíàíèÿ áûëè ôîðìàëèçîâàíû ïîçæå [626, 627]. Ïðîòîêîë "ðàçðåçàòü è âûáðàòü" ðàáîòàåò, ïîòîìó ÷òî Ïåããè íå ìîæåò íåñêîëüêî ðàç ïîäðÿä óãàäûâàòü, îòê óäà Âèêòîð ïîïðîñèò åå âûéòè. Åñëè Ïåããè íå çíàåò ñåêðåòà, îí ìîæåò âûéòè òîëüêî èç òîãî ïðîõîäà, â êîòîðûé îíà çàøëà.  êàæäîì ðàóíäåïðîòîêîëà åå âåðîÿòíîñòü (èíîãäà íàçûâàåìàÿ àêêðåäèòàöèåé) óãàäàòü, ñ êàêîé ñòîðîíû Âèêòîð ïîïðîñèò åå âûéòè, ñîñòàâëÿåò 50 ïðîöåíòîâ , ïîýòîìó åå âåðîÿòíîñòü îáìàíóòü Âèêòîðà òàêæå ðàâíà 50 ïðîöåíòàì. Âåðîÿòíîñòü îáìàíóòü åãî â äâóõ ðàóíäàõ ñîñòàâèò 25 ïðîöåíòîâ , à âî âñåõ n ðàóíäàõ îäèí øàíñ èç 2 n. Ïîñëå 16 ðàóíäîâ ó Ïåããè 1 øàíñ èç 65536 îáìàíóòü Âèêòîðà. Âèêòîð ìîæåò óâåðåííî ïðåäïîëîæèòü, ÷òî åñëè âñå 16 äîêàçàòåëüñòâ Ïåããè ïðàâèëüíû, òî îíà äåéñòâèòåëüíî çíàåò òàéíûå ñëîâà, îòêðûâà þùèå äâåðü ìåæäó òî÷êàìè C è D. (Àíàëîãèÿ ñ ïåùåðîé íåñîâåðøåííà . Ïåããè ìîæåò ïðîñòî âõîäèòü ñ îäíîé ñò îðîíû è âûõîäèòü ñ äðóãîé, ïðîòîêîë "ðàçðåçàòü è âûáðàòü" íå íóæåí . Îäíàêî, îí íåîáõîäèì ñ äëÿ íóëåâîãî çíàíèÿ ñ ìàòåìàòè÷åñêîé òî÷êè çðåíèÿ .) Ïðåäïîëîæèì, ÷òî Ïåããè èçâåñòíà íåêîòîðàÿ èíôîðìàöèÿ, êîòîðàÿ ÿâëÿåòñÿ ðåøåíèåì òðóäíîé ïðîáëåìû . Áàçîâûé ïðîòîêîë íóëåâîãî çíàíèÿ ñîñòîèò èç íåñêîëüêèõ ðàóíäîâ . (1) Ïåããè èñïîëüçóåò ñâîþ èíôîðìàöèþ è ñëó÷àéíîå ÷èñëî äëÿ ïðåîáðàçîâàíèÿ îäíîé òðóäíîé ïðîáëåìû â äðóãóþ, èçîìîðôíóþ îðèãèíàëüíîé ïðîáëåìå . Çàòåì îíà èñïîëüçóåò ñâîþ èíôîðìàöèþ è ñëó÷àéíîå ÷èñëî äëÿ ðåøåíèÿ íîâîé òðóäíîé ïðîáëåìû . (2) Ïåããè âðó÷àåò ðåøåíèå íîâîé ïðîáëåìû, èñïîëüçóÿ ñõåìó âðó÷åíèÿ áèòà. (3) Ïåããè ðàñêðûâàåò Âèêòîðó íîâûé ýêçåìïëÿð ïðîáëåìû. Âèêòîð íå ìîæåò èñïîëüçîâàòü ýòó íîâóþ ïðîáë åìó äëÿ ïîëó÷åíèÿ èíôîðìàöèè î ïåðâîíà÷àëüíîé ïðîáëåìå èëè åå ðåøåíèè. (4) Âèêòîð ïðîñèò Ïåããè ëèáî (a) äîêàçàòü åìó, ÷òî íîâàÿ è ñòàðàÿ ïðîáëåìà èçîìîðôíû (ò.å., äâà ðàçëè÷íûõ ðåøåíèÿ äëÿ äâóõ ñâ ÿçàííûõ ïðîáëåì), ëèáî (b) îòêðûòü ðåøåíèå, ïîëó÷åííîå íà ýòàïå (2) è äîêàçàòü, ÷òî ýòî ðåøåíèå íîâîé ïðîáëåìû.
(5) Ïåããè èñïîëíÿåò åãî ïðîñüáó. (6) Ïåããè è Âèêòîð ïîâòîðÿþò ýòàïû (1) - (5) n ðàç.
Ïîìíèòå âèäåîêàìåðó â ïðîòîêîëå äëÿ ïåùåðû? Çäåñü âû ìîæåòå ñäåëàòü òî æå ñàìîå . Âèêòîð ìîæåò çàïèñàòü îáìåí ìåæäó íèì è Ïåããè. Îí íå ñìîæåò èñïîëüçîâàòü ýòó çàïèñü äëÿ óáåæäåíèÿ Êýðîë, íî îí âñåãäà ì îæåò ñãîâîðèòüñÿ ñ Ïåããè ñ öåëüþ ñîçäàòü èìèòàòîð, êîòîðûé ïîääåëûâàåò èíôîðìàöèþ Ïåããè . Ýòîò àðãóìåíò ìîæåò áûòü èñïîëüçîâàí, ÷òîáû äîêàçàòü, ÷òî èñïîëüçóåòñÿ äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì . Ìàòåìàòè÷åñêàÿ îñíîâà äîêàçàòåëüñòâà ýòîãî òèïà ñëîæíà. Ïðîáëåìû è ñëó÷àéíîå ïðåîáðàçîâàíèå äîëæíû âûáèðàòüñÿ îñòîðîæíî, ÷òîáû Âèêòîð íå ïîëó÷èë íèêàêîé èíôîðìàöèè î ðåøåíèè îðèãèíàëüíîé ïðîáëåìû, äàæå ïîñëå ìíîãèõ ïîâòîðåíèé ïðîòîêîëà . Íå âñå òðóäíûå ïðîáëåìû ìîæíî èñïîëüçîâàòü äëÿ äîêàçàòåëüñòâ ñ íóëåâûì çíàíèåì, íî áîëüøèíñòâî èç íèõ . Èçîìîðôèçì ãðàôà Îáúÿñíåíèå ýòîãî ïîíÿòèÿ, ïðèøåäøåãî èç òåîðèè ãðàôîâ [619, 622], ìîæåò çàíÿòü íåêîòîðîå âðåìÿ. Ãðàô ïðåäñòàâëÿåò ñîáîé ñåòü ëèíèé ,ñîåäèíÿþùèõ ðàçëè÷íûå òî÷êè. Åñëè äâà ãðàôà èäåíòè÷íû âî âñåì, êðîìå èìåí òî÷åê, îíè íàçûâàþòñÿ èçîìîðôíûìè. Äëÿ î÷åíü áîëüøèõ ãðàôîâ äîêàçàòåëüñòâî èõ èçîìîðôíîñòè ìîæåò ï îòðåáîâàòü âåêîâ êîìïüþòåðíîãî âðåìåíè , ýòî îäíà èç òàê íàçûâàåìûõ NP-ïîëíûõ ïðîáëåì, ðàññìàòðèâàåìûõ â ðàçäåëå 11.1. Ïðåäïîëîæèì, ÷òî Ïåããè çíàåò îá èçîìîðôíîñòè äâóõ ãðàôîâ , G1 è G2. Ñëåäóþùèé ïðîòîêîë äîêàæåò Âè êòîðó çíàíèå Ïåããè: (1) Ïåããè ñëó÷àéíûì îáðàçîì òàñóåò G1, ïîëó÷àÿ äðóãîé ãðàô, Í, êîòîðûé èçîìîðôåí G1. Òàê êàê Ïåããè çíàåò îá èçîìîðôèçìå Í è G1, òî åé òàêæå èçâåñòåí èçîìîðôèçì ìåæäó Í è G2. Äëÿ ëþáîãî äðóãîãî ïîèñê èçîìîðôèçìà ìåæäó Í è G1 èëè Í è G2 ÿâëÿåòñÿ òàêîé æå òðóäíîé çàäà÷åé, êàê è ïîèñê èçîìîðôèçìà ìåæäó G1 è G2. (2) Ïåããè ïîñûëàåò Í Âèêòîðó. (3) Âèêòîð ïðîñèò Ïåããè ëèáî (a) äîêàçàòü, ÷òî Í è G1 èçîìîðôíû, ëèáî (b) äîêàçàòü, ÷òî Í è G2 èçîìîðôíû. (4) Ïåããè èñïîëíÿåò åãî ïðîñüáó. Îíà ëèáî:
(a) äîêàçûâàåò, ÷òî Í è G1 èçîìîðôíû, íå äîêàçûâàÿ, ÷òî Í è G2 èçîìîðôíû, ëèáî (b) äîêàçûâàåò, ÷òî Í è G2 èçîìîðôíû, íå äîêàçûâàÿ, ÷òî Í è G1 èçîìîðôíû. (5) Ïåããè è Âèêòîð ïîâòîðÿþò ýòàïû (1) - (4) n ðàç.
Åñëè Ïåããè íå çíàåò îá èçîìîðôèçìå ìåæäó G1 è G2, îíà íå ñìîæåò ñîçäàòü ãðàô Í, èçîìîðôíûé îáîèì ãðàôàì. Îíà ìîæåò ñîçäàòü ëèáî ãðàô, êîòîðûé èçîìîðôåí G1, ëèáî ãðàô, êîòîðûé èçîìîðôåí G2. Êàê è â ïðåäûäóùåì ïðèìåðå ó íåå òîëüêî 50 øàíñîâ èç 100 óãàäàòü, êàêîå äîêàçàòåëüñòâî ïîòðåáóåò îò íåå Âèêòîð íà ýòàïå (3). Ýòîò ïðîòîêîë íå äàåò Âèêòîðó íèêàêîé ïîëåçíîé èíôîðìàöèè, ïîìîãàþùåé åìó èç îòâåòîâ Ïåããè óñòàí îâèòü èçîìîðôèçì ìåæäó G1 è G2. Òàê êàê Ïåããè äëÿ êàæäîãî íîâîãî ðàóíäà ïðîòîêîëà ãåíåðèðóåò íîâûé ãðàô Í, Âèêòîð íå ñìîæåò ïîëó÷èòü èíôîðìàöèþ íåçàâèñèìî îò òîãî, èç ñêîëüêèõ ðàóíäîâ áóäåò ñîñòîÿòü èõ ïðîòîêîë . Îí íå ñìîæåò èç îòâåòîâ Ïåããè óñòàíîâèòü èçîìîðôèçì ìåæäó G1 è G2.  êàæäîì ðàóíäå Âèêòîð ïîëó÷àåò íîâîå ñëó÷àéíîå ïðåîáðàçîâàíèå Í, âìåñòå ñ èçîìîðôèçìîì ìåæäó Í è G1 èëè G2. Âèêòîð ìîæåò òàêæå ñîçäàòü ÷òî-òî ïîäîáíîå ñàìîñòîÿòåëüíî. Òàê êàê Âèêòîð ìîæåò ñîçäàòü èìèòàöèþ ïðîòîêîëà, ýòî äåéñòâèòåëüíî äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì . Ãàìèëüòîíîâû öèêëû Âàðèàíò ýòîãî ïðèìåðà áûë âïåðâûå ïðåäñòàâëåí Ìàíóýëåì Áëþìîì ( Manuel Blum) [196]. Ïåããè çíàåò êðóæíîé, ïðîäîëæèòåëüíûé ïóòü âäîëü ëèíèé ãðàôà, êîòîðûé ïðîõîäèò ÷åðåç êàæäóþ òî÷êó òîëüêî îäèí ðàç . Ýòîò ïóòü íàçûâàåòñÿ ãàìèëüòîíîâûì öèêëîì. Ïîèñê ãàìèëüòîíîâà öèêëà ÿâëÿåòñÿ äðóãîé òÿæåëîé çàäà÷åé . Ó Ïåããè åñòü ýòà èíôîðìàöèÿ - îíà, âîçìîæíî, ïîëó÷èëà åå ñîçäàâ ãðàô ñ êîíêðåòíûì ãàìèëüòîíîâûì öèêëîì è îíà õî÷åò äîêàçàòü Âèêòîðó, ÷òî ýòà èíôîðìàöèÿ åé èçâåñòíà . Ïåããè çíàåò ãàìèëüòîíîâ öèêë ãðàôà , G. Âèêòîðó èçâåñòåí G, íî íå åãî ãàìèëüòîíîâ öèêë. Ïåããè õî÷åò äîêàçàòü Âèêòîðó, ÷òî îíà çíàåò ãàìèëüòîíîâ öèêë, íå ðàñêðûâàÿ ñàìîãî öèêëà . Âîò êàê îíà äîëæíà äåéñòâîâàòü : (1) Ïåããè ñëó÷àéíûì îáðàçîì ïðåîáðàçîâûâàåò G. Îíà ïåðåäâèãàåò òî÷êè è èçìåíÿåò èõ ìåòêè, ñîçäàâàÿ í î-
âûé ãðàô, H. Ïîñêîëüêó G è H òîïîëîãè÷åñêè èçîìîðôíû (ò.å., ýòî îäèí è òîò æå ãðàô), åñëè åé èçâåñòåí ãàìèëüòîíîâ öèêë G, òî îíà ëåãêî ìîæåò íàéòè ãàìèëüòîíîâ öèêë H. Åñëè îíà íå ñàìà ñîçäàåò H, îïðåäåëåíèå èçîìîðôèçìà ìåæäó äâóìÿ ãðàôàìè áóäåò ÿâëÿòüñÿ äðóãîé ñëîæíîé ïðîáëåìîé, ðåøåíèå êîòîðîé òàêæå ïîòðåáóåò âåêîâ êîìïüþòåðíîãî âðåìåíè . Çàòåì îíà øèôðóåò H, ïîëó÷àÿ H'. (Äîëæíî èñïîëüçîâàòüñÿ âåðîÿòíîñòíîå øèôðîâàíèå êàæäîé ñòðî÷êè H, òî åñòü, øèôðîâàííûé 0 èëè øèôðîâàííàÿ 1 äëÿ êàæäîé ëèíèè H.) (2) Ïåããè ïåðåäàåò Âèêòîðó êîïèþ H. (3) Âèêòîð ïðîñèò Ïåããè ëèáî: (a) äîêàçàòü åìó, ÷òî Í' - ýòî çàøèôðîâàííàÿ èçîìîðôíàÿ êîïèÿ G, ëèáî (b) ïîêàçàòü åìó ãàìèëüòîíîâ öèêë äëÿ Í. (4) Ïåããè èñïîëíÿåò åãî ïðîñüáó. Îíà ëèáî:
(a) äîêàçûâàåò, ÷òî Í' - ýòî çàøèôðîâàííàÿ èçîìîðôíàÿ êîïèÿ G, ðàñêðûâàÿ ïðåîáðàçîâàíèÿ è ðàñøè ôðîâûâàÿ âñå, íå ïîêàçûâàÿ ãàìèëüòîíîâ öèêë äëÿ G èëè Í, ëèáî (b) ïîêàçûâàåò ãàìèëüòîíîâ öèêë äëÿ Í, ðàñøèôðîâûâàÿ òîëüêî òå ñòðîêè, êîòîðûå îáðàçóþò ãàìèë üòîíîâ öèêë, íå äîêàçûâàÿ, ÷òî Í è G òîïîëîãè÷åñêè èçîìîðôíû. (5) Ïåããè è Âèêòîð ïîâòîðÿþò ýòàïû (1) - (4) n ðàç.
Åñëè Ïåããè íå îáìàíûâàåò, îíà ñìîæåò ïðåäúÿâèòü Âèêòîðó îäíî èç äîêàçàòåëüñòâ íà ýòàïå (3) . Îäíàêî, åñëè ãàìèëüòîíîâ öèêë äëÿ G åé íåèçâåñòåí, îíà íå ñìîæåò ñîçäàòü çàøèôðîâàííûé ãðàô H', êîòîðûé óäîâëåòâîðÿåò îáîèì äîêàçàòåëüñòâàì. Ëó÷øåå, ÷òî îíà ìîæåò ñäåëàòü - ýòî ñîçäàòü èëè ãðàô, èçîìîðôíûé G, èëè ãðàô ñ òàêèì æå ÷èñëîì òî÷åê è ëèíèé è ïðàâèëüíûì ãàìèëüòîíîâûì öèêëîì . Õîòÿ åå øàíñû óãàäàòü, êàêîå äîêàçàòåë üñòâî ïîòðåáóåò Âèêòîð íà ýòàïå (3), ñîñòàâëÿþò 50 ïðîöåíòîâ, Âèêòîð ìîæåò ïîâòîðèòü ïðîòîêîë äîñòàòî÷íîå ÷èñëî ðàç, óáåæäàÿñü, ÷òî Ïåããè çíàåò ãàìèëüòîíîâ öèêë äëÿ G. Ïàðàëëåëüíûå äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì  áàçîâîì ïðîòîêîëå ñ íóëåâûì çíàíèåì èñïîëüçóåòñÿ n îáìåíîâ èíôîðìàöèåé ìåæäó Ïåããè è Âèêòîðîì . Ïî÷åìó áû íå âûïîëíèòü èõ ïàðàëëåëüíî : (1) Ïåããè èñïîëüçóåò ñâîþ èíôîðìàöèþ è n ñëó÷àéíûõ ÷èñåë äëÿ ïðåîáðàçîâàíèÿ òðóäíîé ïðîáëåìû â n ðàçëè÷íûõ èçîìîðôíûõ ïðîáëåì. Çàòåì îíà ñ ïîìîùüþ ñâîåé èíôîðìàöèè è ñëó÷àéíûõ ÷èñåë ðåøàåò n íîâûõ òðóäíûõ ïðîáëåì. (2) Ïåããè âðó÷àåò ðåøåíèå n íîâûõ òðóäíûõ ïðîáëåì. (3) Ïåããè ðàñêðûâàåò Âèêòîðó ýòè n íîâûõ òðóäíûõ ïðîáëåì. Âèêòîð íå ìîæåò âîñïîëüçîâàòüñÿ ýòèìè íîâ ûìè ïðîáëåìàìè äëÿ ïîëó÷åíèÿ èíôîðìàöèè îá îðèãèíàëüíûõ ïðîáëåìàõ èëè èõ ðåøåíèè. (4) Äëÿ êàæäîé íîâîé òðóäíîé ïðîáëåìû Âèêòîð ïðîñèò Ïåããè ëèáî (a) äîêàçàòü åìó, ÷òî ñòàðàÿ è íîâàÿ ïðîáëåìû èçîìîðôíû, ëèáî (b) ðàñêðûòü ðåøåíèå, âðó÷åííîå íà ýòàïå (2), è äîêàçàòü, ÷òî îíî ÿâëÿåòñÿ ðåøåíèåì äàííîé íîâîé ïðîáëåìû. (5) Ïåããè èñïîëíÿåò åãî ïðîñüáó äëÿ êàæäîé íîâîé ïðîáëåìû.
Ê íåñ÷àñòüþ, âñå íå òàê ïðîñòî. Ýòîò ïðîòîêîë, â îòëè÷èå îò ïðåäûäóùåãî, íå îáëàäàåò òàêèìè æå ñâîéñòâ àìè íóëåâîãî çíàíèÿ. Íà ýòàïå (4) Âèêòîð ìîæåò ïîòðåáîâàòü, ÷òîáû äîêàçàòåëüñòâî áûëî ïðåäñòàâëåíî â âèäå çíà÷åíèÿ îäíîíàïðàâëåííîé õýø-ôóíêöèè âñåõ çíà÷åíèé, âðó÷åííûõ íà ïåðâîì ýòàïå, äåëàÿ íåâîçìîæíûì èì èòàöèþ çàïèñè ïðîòîêîëà. Ýòî òîæå íóëåâîå çíàíèå, íî äðóãîãî ðîäà . Íà ïðàêòèêå îíî ïðåäñòàâëÿåòñÿ áåçîïà ñíûì, íî íèêòî íå çíàåò, êàê ýòî äîêàçàòü . Ìû äåéñòâèòåëüíî çíàåì òîëüêî òî, ÷òî ïðè îïðåäåëåííûõ óñëîâèÿõ îïðåäåëåííûå ïðîòîêîëû äëÿ îïðåäåëåííûõ ïðîáëåì ìîãóò áûòü âûïîëíåíû ïàðàëëåëüíî áåç ïîòåðè ñâîéñòâà íóëåâîãî çíàíèÿ [247, 106, 546, 616]. Íåèíòåðàêòèâíûå äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì Êýðîë íåâîçìîæíî óáåäèòü, ïîòîìó ÷òî îíà íå ó÷àñòâóåò â èíòåðàêòèâíîì ïðîöåññå ïðîòîêîë. Äëÿ óáåæäåíèÿ Êýðîë è äðóãèõ çàèíòåðåñîâàííûõ ëèö íàì íóæåí íåèíòåðàêòèâíûé ïðîòîêîë . Äëÿ íåèíòåðàêòèâíûõ äîêàçàòåëüñòâ ñ íóëåâûì çíàíèåì áûë ïðèäóìàí ðÿä ïðîòîêîëîâ [477, 198, 478, 197], êîòîðûå íå òðåáóþò íåïîñðåäñòâåííîãî âçàèìîäåéñòâèÿ. Ïåããè ìîæåò îïóáëèêîâàòü èõ è, òàêèì îáðàçîì, äîê àçàòü ñâîå çíàíèå âñåì, ó êîãî íàéäåòñÿ âðåìÿ ýòî ïðîâåðèòü Áàçîâûé ïðîòîêîë ïîõîæ íà ïàðàëëåëüíîå äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì, íî ìåñòî Âèêòîðà çàíèìàåò
îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ : (1) Ïåããè èñïîëüçóåò ñâîþ èíôîðìàöèþ è n ñëó÷àéíûõ ÷èñåë äëÿ ïðåîáðàçîâàíèÿ òðóäíîé ïðîáëåìû â n ðàçëè÷íûõ èçîìîðôíûõ ïðîáëåì. Çàòåì îíà ñ ïîìîùüþ ñâîåé èíôîðìàöèè è ñëó÷àéíûõ ÷èñåë ðåøàåò n íîâûõ òðóäíûõ ïðîáëåì. (2) Ïåããè âðó÷àåò ðåøåíèå n íîâûõ òðóäíûõ ïðîáëåì. (3) Ïåããè èñïîëüçóåò âñå ýòè âðó÷åíèÿ â êà÷åñòâå âõîäà äëÿ îäíîíàïðàâëåííîé õýø-ôóíêöèè. ( êîíöå êîíöîâ ýòè âðó÷åíèÿ - íå ÷òî èíîå, êàê ñòðîêè áèòîâ.) Çàòåì îíà ñîõðàíÿåò ïåðâûå n áèòîâ ïîëó÷åííîãî çíà÷åíèÿ îäíîíàïðàâëåííîé õýø-ôóíêöèè. (4) Ïåããè áåðåò n áèòîâ, ïîëó÷åííûõ íà ýòàïå (3). Ïî î÷åðåäè äëÿ êàæäîé n-îé òðóäíîé ïðîáëåìû îíà áåðåò n-ûé áèò è (a) åñëè áèò ðàâåí 0, äîêàçûâàåò, ÷òî ñòàðàÿ è íîâàÿ ïðîáëåìû èçîìîðôíû, ëèáî (b) åñëè áèò ðàâåí 1, ðàñêðûâàåò ðåøåíèå, âðó÷åííîå íà ýòàïå (2), è äîêàçûâàåò, ÷òî îíî ÿâëÿåòñÿ ðåø åíèåì äàííîé íîâîé ïðîáëåìû. (5) Ïåããè îïóáëèêîâûâàåò âñå ðåøåíèÿ, âðó÷åííûå íà ýòàïå (2), è âñå äîêàçàòåëüñòâà, ïîëó÷åííûå íà ýòàïå
(4).
(6) Âèêòîð, Êýðîë è âñå îñòàëüíûå çàèíòåðåñîâàííûå ëèöà ïðîâåðÿþò, ÷òî ýòàïû (1)-(5) âûïîëíåíû ïðàâèë ü-
íî.
Ýòî âïå÷àòëÿåò: Ïåããè ìîæåò îïóáëèêîâàòü íåêîòîðûå äàííûå, êîòîðûå íå ñîäåðæàò íèêàêîé èíôîðìàöèè î åå ñåêðåòå, íî ìîãóò êîãî óãîäíî óáåäèòü â ñóùåñòâîâàíèè ñàìîãî ñåêðåòà . Ýòîò ïðîòîêîë ìîæåò áûòü èñïîëüç îâàí ïðîâåðêà îïðåäåëåíà êàê âû÷èñëåíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè ïåðâîíà÷àëüíûõ ñîîáùåíèé è ïîäï èñûâàåìîãî ñîîáùåíèÿ. Ýòà ñõåìà ðàáîòàåò, ïîòîìó ÷òî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ äåéñòâóåò êàê áåñïðèñòðàñòíûé ãåíåðàòîð ñëó÷àéíûõ áèòîâ. ×òîáû ìîøåííè÷àòü, Ïåããè íóæíî óìåòü ïðåäñêàçûâàòü ðåçóëüòàò îäíîíàïðàâëåííîé õýøôóíêöèè. (Ïîìíèòå, åñëè ðåøåíèå òðóäíîé ïðîáëåìû åé íåèçâåñòíî , îíà ìîæåò ñäåëàòü íà ýòàïå (4) ëèáî (a), ëèáî (b), íî íå îáà äåéñòâèÿ îäíîâðåìåííî .) Åñëè îíà êàêèì-òî îáðàçîì óçíàåò, âûïîëíåíèå êàêîãî äåéñòâèÿ ïîòðåáóåò îò íåå îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ, òî îíà ñìîæåò ñìîøåííè÷àòü . Îäíàêî, Ïåããè íå ñìîæåò çàñòàâèòü îäíîíàïðàâëåííóþ õýø-ôóíêöèþ âûäàòü îïðåäåëåííûé áèò èëè äîãàäàòüñÿ, êàêîé áèò áóäåò ïîëó÷åí . Îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ ïî ñóòè ÿâëÿåòñÿ çàìåíèòåëåì Âèêòîðà â ñëó÷àéíîì âûáîðå îäíîãî èç äâóõ äîêàçàòåëüñòâ íà ýòàïå (4).  íåèíòåðàêòèâíîì ïðîòîêîëå äîëæíî áûòü ãîðàçäî áîëüøå èòåðàöèé â ïîñëåäîâàòåëüíîñòè çàïðîñ/îòâåò . Ïåããè, à íå Âèêòîð, îòáèðàåò òðóäíûå ïðîáëåìû ñ ïîìîùüþ ñëó÷àéíûõ ÷èñåë . Îíà ìîæåò ïîäáèðàòü ðàçëè÷íûå ïðîáëåìû, ñëåäîâàòåëüíî, è ðàçëè÷íûå âåêòîðû âðó÷åíèÿ, äî òåõ ïîð , ïîêà õýø-ôóíêöèÿ íå âûäàñò ÷òî-òî, íó æíîå Ïåããè.  èíòåðàêòèâíîì ïðîòîêîëå 10 èòåðàöèé - âåðîÿòíîñòü ìîøåííè÷åñòâà Ïåããè ñîñòàâèò 1 øàíñ èç 2 10 (1 èç 1024) - ìîæåò áûòü äîñòàòî÷íî. Îäíàêî, äëÿ íåèíòåðàêòèâíûõ äîêàçàòåëüñòâ ñ íóëåâûì çíàíèåì ýòîãî íå õâàòèò. Ïîìíèòå, ÷òî Ìýëëîðè âñåãäà ìîæåò âûïîëíèòü íà ýòàïå (4) ëèáî (a), ëèáî (b). Îí ìîæåò, âûïîëíÿÿ ýòàïû (1)-(3), ïîïûòàòüñÿ äîãàäàòüñÿ, ÷òî åãî ïîïðîñÿò ñäåëàòü, è ïîñìîòðåòü, ïðàâèëüíî ëè åãî ïðåäïîëîæåíèå. Åñëè íåò, îí ïîïðîáóåò ñíîâà è ñíîâà . Ñäåëàòü 1024 ïðåäïîëîæåíèÿ íà êîìïüþòåðå íåòðóäíî . Äëÿ ïðåäîòâðàùåíèÿ òàêîãî âñêðûòèÿ ãðóáûì âçëîìîì äëÿ íåèíòåðàêòèâíûõ ïðîòîêîëîâ íóæíî 64 èëè äàæå 128 èòåðàöèé. Ãëàâíàÿ èäåÿ ñîñòîèò â èñïîëüçîâàíèè îäíîíàïðàâëåííîé õýø-ôóíêöèè - Ïåããè íå ìîæåò ïðåäñêàçàòü âûõîä õýø-ôóíêöèè, ïîòîìó ÷òî îíà íå ìîæåò ïðåäñêàçàòü åå âõîä . Âðó÷åíèÿ, èñïîëüçóåìûå íà âõîäå, ñòàíîâÿòñÿ è çâåñòíû òîëüêî ïîñëå ðåøåíèÿ íîâûõ ïðîáëåì . Îáùèå çàìå÷àíèÿ Áëþì (Blum) äîêàçàë, ÷òî ëþáàÿ ìàòåìàòè÷åñêàÿ òåîðåìà ìîæåò áûòü ïðåîáðàçîâàíà â ãðàô, òàêîé, ÷òî ä îêàçàòåëüñòâî òåîðåìû áóäåò ýêâèâàëåíòíî äîêàçàòåëüñòâó ñóùåñòâîâàíèÿ ãàìèëüòîíîâà öèêëà äëÿ ýòîãî ãðàôà .  îáùåì âèäå òî, ÷òî äëÿ ëþáîãî NP-ïîëíîãî óòâåðæäåíèÿ åñòü äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì, èñïîëüçó þùåå îäíîíàïðàâëåííûå ôóíêöèè è, ñëåäîâàòåëüíî, õîðîøèå àëãîðèòìû øèôðîâàíèÿ, äîêàçàíî â [620]. Ëþáîå ìàòåìàòè÷åñêîå äîêàçàòåëüñòâî ìîæåò áûòü ïðåîáðàçîâàíî â äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì . Èñïîëüçóÿ ýòó ìåòîäèêó, èññëåäîâàòåëü ìîæåò äîêàçàòü ìèðó, ÷òî åìó èçâåñòíî äîêàçàòåëüñòâî êîíêðåòíîé òåîðåìû, íå ðà ñêðûâàÿ ñàìîãî ðåøåíèÿ. Áëþì ìîã îïóáëèêîâàòü ñâîè ðåçóëüòàòû, íå ðàñêðûâàÿ èõ . Òàêæå ñóùåñòâóþò äîêàçàòåëüñòâà ñ ìèíèìàëüíûì ðàñêðûòèåì [590]. Äëÿ äîêàçàòåëüñòâà ñ ìèíèìàë üíûì ðàñêðûòèåì âûïîëíÿþòñÿ ñëåäóþùèå ñâîéñòâà : 1. Ïåããè íå ìîæåò îáìàíóòü Âèêòîðà. Åñëè Ïåããè íå çíàåò äîêàçàòåëüñòâà, åå øàíñû óáåäèòü Âèêòîðà â
òîì, ÷òî äîêàçàòåëüñòâî åé èçâåñòíî, ïðåíåáðåæèìî ìàëû. 2. Âèêòîð íå ìîæåò îáìàíóòü Ïåããè. Îí íå ïîëó÷àåò íè ìàëåéøåãî íàìåêà íà äîêàçàòåëüñòâî êðîìå òîãî ôàêòà, ÷òî äîêàçàòåëüñòâî èçâåñòíî Ïåããè.  ÷àñòíîñòè, Âèêòîð íå ìîæåò ïðîäåìîíñòðèðîâàòü äîêàç àòåëüñòâî íèêîìó äðóãîìó, íå äîêàçàâ âñå ñàì ñ ñàìîãî íà÷àëà. Ó äîêàçàòåëüñòâ ñ íóëåâûì çíàíèåì åñòü äîïîëíèòåëüíîå óñëîâèå : 3. Âèêòîð íå óçíàåò îò Ïåããè íè÷åãî òàêîãî, ÷åãî îí íå ñìîã áû óçíàòü è ñàìîñòîÿòåëüíî êðîìå òîãî ôà êòà, ÷òî äîêàçàòåëüñòâî èçâåñòíî Ïåããè . Ñóùåñòâóåò çàìåòíàÿ ìàòåìàòè÷åñêàÿ ðàçíèöà ìåæäó äîêàçàòåëüñòâàìè ñ ìèíèìàëüíûì ðàñêðûòèåì è äîê àçàòåëüñòâàìè ñ íóëåâûì çíàíèåì . Ýòî ðàçëè÷èå íàõîäèòñÿ âíå ðàìîê äàííîé êíèãè, íî áîëåå èñêóøåííûå ÷èò àòåëè ìîãóò ïðîøòóäèðîâàòü äðóãóþ ëèòåðàòóðó. Ïîíÿòèÿ èçëîæåíû â in [626, 619, 622]. Äàëüíåéøàÿ ïðîðàáîòêà ýòèõ èäåé, îñíîâàííàÿ íà ðàçëè÷íûõ ìàòåìàòè÷åñêèõ ïðåäïîëîæåíèÿõ, âûïîëíåíà â [240, 319, 239]. Ñóùåñòâóþò ðàçëè÷íûå òèïû äîêàçàòåëüñòâ ñ íóëåâûì çíàíèåì : Ñîâåðøåííîå. Ñóùåñòâóåò èìèòàòîð, êîòîðûé ñîçäàåò ñòåíîãðàììû, ïîëíîñòüþ ñîîòâåòñòâóþùèå ðåàë üíûì ñòåíîãðàììàì (ïðèìåðû ñ ãàìèëüòîíîâûì öè êëîì è èçîìîðôèçìîì ãðàôîâ). Ñòàòèñòè÷åñêîå. Ñóùåñòâóåò èìèòàòîð, êîòîðûé ñîçäàåò ñòåíîãðàììû, ïîëíîñòüþ ñîîòâåòñòâóþùèå ð åàëüíûì ñòåíîãðàììàì, êðîìå ôèêñèðîâàííîãî ÷èñëà èñêëþ÷åíèé. Âû÷èñëèòåëüíîå. Ñóùåñòâóåò èìèòàòîð, êîòîðûé ñîçäàåò ñòåíîãðàììû, íåîòëè÷èìûå îò ðåàëüíûõ. Íåèñïîëüçóþùåå. Èìèòàòîðà ìîæåò è íå áûòü, íî ìû ìîæåì äîêàçàòü, ÷òî Âèêòîð íå óçíàåò íèêàêîé èíôîðìàöèè èç äîêàçàòåëüñòâà (ïàðàëëåëüíûé ïðèìåð) Ãîäû òÿæåëîé ðàáîòû, êàê òåîðåòè÷åñêîé, òàê è ïðèêëàäíîé, ïðèñåëè ê ïîÿâëåíèþ äîêàçàòåëüñòâ ñ ìèí èìàëüíûì ðàñêðûòèåì è íóëåâûì çíàíèåì . Ìàéê Áåðìåñòåð (Mike Burmester) è Èâî Äåñìåäò èçîáðåëè øèðîêîâåùàòåëüíî èíòåðàêòèâíîå äîêàçàòåëüñòâî, ãäå âëàäåëåö ñåêðåòà ìîæåò øèðîêîâåùàòåëüíî ïåðåäàâàòü áîëüøîé ãðóïïå êîíòðîëåðîâ èíòåðàêòèâíîå äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì [280]. Êðèïòîãðàôû äîêàçàëè, ÷òî âñå, ÷òî ìîæåò áûòü äîêàçàíî ñ ïîìîùüþ èíòåðàêòèâíîãî äîêàçàòåëüñòâà, ìîæåò áûòü äîêàçàíî è ñ ïîìîùüþ èíò åðàêòèâíîãî äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì [753, 137]. Õîðîøåé îáçîðíîé ñòàòüåé ïî äàííîé òåìå ÿâëÿåòñÿ [548]. Äîïîëíèòåëüíûå ìàòåìàòè÷åñêèå ïîäðîáíîñòè, âàðèàíòû, ïðîòîêîëû è ïðèëîæåíèÿ èùèòå â [590, 619, 240, 319, 620, 113,241, 152, 8, 660, 238, 591, 617, 510, 592, 214, 104, 216, 832, 97, 939, 622, 482, 615, 618, 215, 476, 71]. Ìíîãî ÷åãî áûëî íàïèñàíî ïî ýòîìó âîïðîñó.
5.2 Èñïîëüçîâàíèå äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì äëÿ èäåíòèôèêàöèè  ðåàëüíîì ìèðå äëÿ äîêàçàòåëüñòâ ïîäëèííîñòè ÷àñòî èñïîëüçóþòñÿ ôèçè÷åñêèå ñèìâîëû: ïàñïîðòà, âîä èòåëüñêèå ïðàâà, êðåäèòíûå êàðòî÷êè è ò.ä. Ýòè ñèìâîëû ñîäåðæàò ÷òî-òî, ñâÿçûâàþùåå èõ ñ êîíêðåòíûì ÷åë îâåêîì: îáû÷íî ôîòîãðàôèþ èëè ïîäïèñü, íî ñ òîé æå âåðîÿòíîñòüþ ýòî ìîæåò áûòü îòïå÷àòîê ïàëüöà, ñíèìîê ñåò÷àòêè ãëàçà èëè ðåíòãåíîâñêèé ñíèìîê ÷åëþñòè . Êàê áûëî áû çäîðîâî äåëàòü ÷òî-òî ïîäîáíîå öèôðîâûì îáðàçîì? Èñïîëüçîâàòü äîêàçàòåëüñòâà ñ íóëåâûì çíàíèåì äëÿ äîêàçàòåëüñòâà èäåíòè÷íîñòè áûëî âïåðâûå ïðåäëîæ åíî Óðèåëåì Ôàéãîì (Uriel Feige), Àìîñîì Ôèàòîì (Amos Fiat) è Àäè Øàìèðîì [566, 567]. Çàêðûòûé êëþ÷ Àëèñû ñòàíîâèòñÿ ôóíêöèåé åå "èäåíòè÷íîñòè" . Èñïîëüçóÿ äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì, îíà äîêàçûâàåò, ÷òî îíà çíàåò ñâîé çàêðûòûé êëþ÷ è, òàêèì îáðàçîì, ñâîþ èäåíòè÷íîñòü . Ñîîòâåòñòâóþùèå àëãîðèòìû ìîæíî íàéòè â ðàçäåëå 23.11. Ýòî î÷åíü ìíîãîîáåùàþùàÿ èäåÿ . Îíà ïîçâîëÿåò ÷åëîâåêó äîêàçàòü ñâîþ ëè÷íîñòü áåç èñïîëüçîâàíèÿ ôèç è÷åñêèõ ñèìâîëîâ. Îäíàêî, îíà íå ñîâåðøåííà. Âîò ïðèìåðû âîçìîæíûõ çëîóïîòðåáëåíèé . Ïðîáëåìà ãðîññìåéñòåðà Âîò êàê Àëèñà, äàæå íå çíàÿ ïðàâèë øàõìàò, ìîæåò îáûãðàòü ãðîññìåéñòåðà. (Èíîãäà ýòî íàçûâàåòñÿ ïðîáëåìîé ãðîññìåéñòåðà.) Îíà ïîñûëàåò âûçîâ Ãàððè Êàñïàðîâó è Àíàòîëèþ Êàðïîâó, ïðåäëàãàÿ èãðàòü â îäíî âðåìÿ, â îäíîì è òîì æå ìåñòè, íî â ðàçäåëüíûõ êîìíàòàõ . Îíà èãðàåò áåëûìè ïðîòèâ Êàñïàðîâà è ÷åðíûìè ïðîòèâ Êàðïîâà. Íè îäèí ãðîññìåéñòåð íå çíàåò î äðóãîì . Êàðïîâ, èãðàÿ áåëûìè, äåëàåò ñâîé õîä ïåðâûì . Àëèñà çàïèñûâàåò õîä è èäåò â êîìíàòó ê Êàñïàðîâó. Èãðàÿ áåëûìè, îíà äåëàåò òîò æå õîä íà äîñêå Êàñïàðîâà. Êàñïàðîâ äåëàåò ñâîé ïåðâûé õîä ÷åðíûìè. Àëèñà çàïèñ ûâàåò õîä, èäåò â êîìíàòó ê Êàðïîâó è äåëàåò òîò æå õîä. Ýòî ïðîäîëæàåòñÿ, ïîêà îíà íå âûèãðûâàåò îäíó èç ïàðòèé, ïðîèãðûâàÿ äðóãóþ, èëè îáå ïàðòèè êîí÷àþòñÿ âíè÷üþ . Íà ñàìîì äåëå Êàñïàðîâ èãðàåò ñ Êàðïîâûì, à Àëèñà ïðîñòî ïîñðåäíèê, ïîâòîðÿþùèé õîäû îäíîãî ãðîñ ñ-
ìåéñòåðà íà äîñêå äðóãîãî. Îäíàêî, åñëè Êàðïîâ è Êàñïàðîâ íå çíàþò î ïðèñóòñòâèè äðóã äðóãà, êàæäûé èç íèõ áóäåò ïîðàæåí èãðîé Àëèñû. Ýòîò ñïîñîá ìîøåííè÷åñòâà ìîæåò áûòü èñïîëüçîâàòü ïðîòèâ äîêàçàòåëüñòâà ëè÷íîñòè ñ íóëåâûì çíàíèåì [485, 120]. Êîãäà Àëèñà äîêàçûâàåò ñâîþ ëè÷íîñòü Ìýëëîðè, Ìýëëîðè ìîæåò îäíîâðåìåííî äîêàçàòü Áîáó, ÷òî îí-òî è åñòü Àëèñà. Îáìàí, âûïîëíåííûé ìàôèåé Îáñóæäàÿ ñâîé ïðîòîêîë èäåíòèôèêàöèè ñ íóëåâûì çíàíèåì , Àäè Øàìèð ñêàçàë [1424]: "ß ìîãó õîäèòü â ïðèíàäëåæàùèé ìàôèè ìàãàçèí õîòü ìèëëèîí ðàç ïîäðÿä, à îíè âñå åùå íå ñìîãóò âûäàòü ñåáÿ çà ìåíÿ ." Âîò êàê ìàôèÿ ñìîæåò ýòî ñäåëàòü . Àëèñà åñò â ðåñòîðàí÷èêå Áîáà, ïðèíàäëåæàùåì ìàôèè . Êýðîë äåëàåò ïîêóïêè â äîðîãîì þâåëèðíîì ìàãàçèíå Äýéâà . Áîá è Êýðîë - ìàôèîçè, ïåðåãîâàðèâàþùèåñÿ ïî ïîòàéíîìó ð àäèîêàíàëó. Àëèñà è Äýéâ íå ïîäîçðåâàþò î ìîøåííè÷åñòâå . Êîãäà Àëèñà ïîåëà è ñîáðàëàñü ïëàòèòü è äîêàçûâàòü ñâîþ ëè÷íîñòü Áîáó, Áîá ïîäàåò ñèãíàë Êýðîë, ÷òî ï îðà íà÷èíàòü. Êýðîë âûáèðàåò áðèëëèàíòû ïîäîðîæå è ñîáèðàåòñÿ äîêàçûâàòü ñâîþ ëè÷íîñòü Äýéâó . Òåïåðü, ïîêà Àëèñà äîêàçûâàåò ñâîþ ëè÷íîñòü Áîáó, òîò ïîäàåò ñèãíàë Êýðîë, è òà âûïîëíÿåò òîò æå ïðîòîêîë ñ Äýéâîì. Êîãäà Äýéâ çàäàåò âîïðîñ ïî ïðîòîêîëó, Êýðîë ñîîáùàåò ýòîò âîïðîñ Áîáó, à Áîá çàäàåò åãî Àëèñå . Êîãäà Àëèñà îòâå÷àåò, Áîá ïåðåäàåò ïðàâèëüíûé îòâåò Êýðîë. Ïî ñóòè, Àëèñà ïðîñòî äîêàçûâàåò ñâîþ ëè÷íîñòü Äýéâó, à Áîá è Êýðîë ïðîñòî, íàõîäÿñü âíóòðè ïðîòîêîëà, ïåðåäàþò ñîîáùåíèÿ òóäà-ñþäà . Êîãäà ïðîòîêîë çàâåðøàåòñÿ, Àëèñà äîêàçàëà ñâîþ ëè÷íîñòü Äýéâó è çàïëàòèëà çà äîðîãèå áðèëëèàíòû (ñ êîòîðûìè Êýðîë òåïåðü è èñ÷åçíåò). Îáìàí, âûïîëíåííûé òåððîðèñòàìè Åñëè Àëèñà õî÷åò îáúåäèíèòüñÿ ñ Êýðîë, òî îíè òàêæå ìîãóò ïðîâåñòè Äýéâà.  ýòîì ïðîòîêîëå Êýðîë - è çâåñòíàÿ òåððîðèñòêà. Àëèñà ïîìîãàåò åé âúåõàòü â ñòðàíó . Äýéâ - îôèöåð-ïîãðàíè÷íèê, Àëèñà è Êýðîë îáùàþ òñÿ ïî òàéíîìó ðàäèîêàíàëó. Êîãäà Äýéâ çàäàåò Êýðîë âîïðîñû â ñîîòâåòñòâèè ïî ïðîòîêîëó ñ íóëåâûì çíàíèåì, Êýðîë ïåðåäàåò èõ Àë èñå, êîòîðàÿ è îòâå÷àåò íà âîïðîñû . Êýðîë ïîâòîðÿåò ýòè îòâåòû Äýéâó. Carol recites these answers to Dave. Ïî ñóòè, Ñâîþ ëè÷íîñòü Äýéâó äîêàçûâàåò Àëèñà, à Êýðîë âûñòóïàåò â ðîëè ëèíèè ñâÿçè . Êîãäà ïðîòîêîë çàâåðøàåòñÿ, Äýéâ ñ÷èòàåò, ÷òî Êýðîë - ýòî Àëèñà, è ðàçðåøàåò åé âúåõàòü â ñòðàíó . Ñïóñòÿ òðè äíÿ Êýðîë âñïëûâàåò ó ïðàâèòåëüñòâåííîãî çäàíèÿ âìåñòå ñ ìèêðîàâòîáóñîì, íàáèòîì âçðûâ÷àòêîé . Ïðåäëàãàåìûå ðåøåíèÿ Îáà îïèñàííûõ ìîøåííè÷åñòâà âîçìîæíû, òàê êàê çàãîâîðùèêè èñïîëüçóþò òàéíûé ðàäèîêàíàë. Îäíèì èç ñïîñîáîâ ïðåäîòâðàòèòü ìîøåííè÷åñòâî ÿâëÿåòñÿ ïðîâåäåíèå ïðîöåäóðû èäåíòèôèêàöèè â êëåòêå Ôàðàäåÿ, áë îêèðóþùåé ýëåêòðîìàãíèòíîå èçëó÷åíèå.  ïðèìåðå ñ òåððîðèñòîì ýòî ãàðàíòèðóåò, ÷òî Êýðîë íå ïîëó÷èò îòâ åòîâ îò Àëèñû.  ïðèìåðå ñ ìàôèåé Áîá ìîæåò ïîñòðîèòü ôàëüøèâóþ êëåòêó Ôàðàäåÿ â ñâîåì ðåñòîðàíå, íî ó þâåëèðà-òî êëåòêà áóäåò ðàáîòàòü , è Áîá è Êýðîë íå ñìîãóò îáìåíèâàòüñÿ ñîîáùåíèÿìè . Äëÿ ðåøåíèÿ ïðîáëåìû ãðîññìåéñòåðà Àëèñà äîëæíà ñèäåòü íà ñâîåì ñòóëå äî êîíöà èãðû . Òîòàñ Áîò (Thomas Both) è Èâî Äåñìåäò ïðåäëîæèëè äðóãîå ðåøåíèå, èñïîëüçóþùåå òî÷íûå ÷àñû [148]. Åñëè êàæäûé ýòàï ïðîòîêîëà äîëæåí ïðîèñõîäèòü â çàäàííîå âðåìÿ, ó ìîøåííèêîâ íå îñòàíåòñÿ âðåìåíè äëÿ î áìåíà èíôîðìàöèåé.  ñëó÷àå ñ ïðîáëåìîé ãðîññìåéñòåðà ýòî ñîîòâåòñòâóåò ïðåäëîæåíèþ îãðàíè÷èòü âðåìÿ î áäóìûâàíèÿ õîäà îäíîé ìèíóòîé - ó Àëèñû íå îñòàíåòñÿ âðåìåíè áåãàòü èç êîìíàòû â êîìíàòó .  èñòîðèè ñ ìàôèåé ó Áîá è Êýðîë íå õâàòèò âðåìåíè ïåðåäàâàòü äðóã äðóãó îòâåòû è âîïðîñû . Îáìàí ñ íåñêîëüêèìè ëè÷íîñòÿìè Ñóùåñòâóþò è äðóãèå ñïîñîáû çëîóïîòðåáèòü äîêàçàòåëüñòâàìè èäåíòè÷íîñòè ñ íóëåâûì çíàíèåì, òàêæå ðàññìàòðèâàåìûå â [485, 120].  ðÿäå ðåàëèçàöèé ïðîâåðêà ïðè ðåãèñòðàöèè ÷åëîâåêîì ñâîåãî êëþ÷à íå ïðîè çâîäèòñÿ. Ñëåäîâàòåëüíî, ó Àëèñû ìîæåò áûòü íåñêîëüêî çàêðûòûõ êëþ÷åé è, òàêèì îáðàçîì, íåñêîëüêî ëè÷í îñòåé. Ýòî ìîæåò çäîðîâî ïîìî÷ü åé, åñëè îíà çàõî÷åò ìîøåííè÷àòü ñ íàëîãàìè . Àëèñà òàêæå ìîæåò ñîâåðøèòü ïðåñòóïëåíèå è ñêðûòüñÿ.  ïåðâûõ, îíà ñîçäàåò íåñêîëüêî ëè÷íîñòåé, îäíà èç êîòîðûõ íå èñïîëüçóåòñÿ . Çàòåì, îíà èñïîëüçóåò ýòó ëè÷íîñòü äëÿ ñîâåðøåíèÿ ïðåñòóïëåíèÿ òàê, ÷òîáû ñâèäåòåëü èäåíòèôèöèðîâàë åå êàê ýòó ëè÷íîñòü. Çàòåì, îíà íåìåäëåííî ïðåêðàùàåò ïîëüçîâàòüñÿ ýòîé ëè÷íîñòüþ . Ñâèäåòåëü çíàåò ëè÷íîñòü ïðåñòó ïíèêà, íî Àëèñà íèêîãäà áîëüøå íå áóäåò èñïîëüçîâàòü ýòó ëè÷íîñòü - åå íåâîçìîæíî ïðîñëåäèòü . Äëÿ çàùèòû îò ýòîãî íóæíû ìåõàíèçìû, îáåñïå÷èâàþùèå, ÷òîáû ó êàæäîãî ÷åëîâåêà áûëà òîëüêî îäíà ëè ÷íîñòü.  [120] àâòîðàìè ïðåäëàãàåòñÿ ïðè÷óäëèâàÿ èäåÿ çàùèùåííûõ îò âîðîâñòâà äåòåé, êîòîðûå íå ìîãóò áûòü êëîíèðîâàíû, è ó êîòîðûõ åñòü óíèêàëüíûé íîìåð, ÿâëÿþùèéñÿ ÷àñòüþ èõ ãåíåòè÷åñêîãî êîäà . Îíè òàêæå ïðåäëîæèëè ïðèñâàèâàòü êàæäîìó ðåáåíêó ëè÷íîñòü ïðè ðîæäåíèè . (Äåéñòâèòåëüíî, ðîäèòåëÿì ïðèäåòñÿ ñäå-
ëàòü ýòî, òàê êàê èíà÷å ðåáåíîê ìîæåò áûòü óêðàäåí .) Ýòèì òîæå ëåãêî çëîóïîòðåáèòü - ðîäèòåëè ìîãóò ñîçäàòü äëÿ ðîäèâøåãîñÿ ðåáåíêà íåñêîëüêî ëè÷íîñòåé .  êîíöå êîíöîâ, óíèêàëüíîñòü ëè÷íîñòè îñíîâàíà íà äîâåðèè . Ïðîêàò ïàñïîðòîâ Àëèñà õî÷åò ïîåõàòü â Çàèð, íî ïðàâèòåëüñòâî ýòîé ñòðàíû íå äàåò åé âèçû. Êýðîë ïðåäëàãàåò ñäàòü ñâîþ ëè÷íîñòü Àëèñå "íàïðîêàò". (Ïåðâûì ýòî ïðåäëîæèë Áîá, íî âîçíèê ðÿä î÷åâèäíûõ ïðîáëåì .) Êýðîë ïðîäàåò Àëèñå ñâîé çàêðûòûé êëþ÷ è Àëèñà åäåò â Çàèð, âûäàâàÿ ñåáÿ çà Êýðîë . Êýðîë ïîëó÷àåò íå òîëüêî ïëàòó çà ñâîþ ëè÷íîñòü, íî è èäåàëüíîå àëèáè. Îíà ñîâåðøàåò ïðåñòóïëåíèå, ïîêà Àëèñà íàõîäèòñÿ â Çàèðå. "Êýðîë" äîêàçàëà ñâîþ ëè÷íîñòü â Çàèðå, êàê îíà ìîãëà ñîâåðøèòü ïðåñòóïëåíèå ä îìà? Êîíå÷íî, ðàçâÿçàíû ðóêè è ó Àëèñû. Îíà ìîæåò ñîâåðøèòü ïðåñòóïëåíèå ëèáî ïåðåä îòúåçäîì, ëèáî ñðàçó æå ïîñëå âîçâðàùåíèÿ, îêîëî äîìà Êýðîë . Ñíà÷àëà îíà ïîêàæåò, ÷òî îíà - Êýðîë (èìåÿ çàêðûòûé êëþ÷ Êýðîë, åé íå ñîñòàâèò òðóäà ñäåëàòü ýòî), çàòåì îíà ñîâåðøèò ïðåñòóïëåíèå è óáåæèò. Ïîëèöèÿ áóäåò èñêàòü Êýðîë . Êýðîë áóäåò óòâåðæäàòü, ÷òî ñäàëà ñâîþ ëè÷íîñòü íàïðîêàò Àëèñå, íî êòî ïîâåðèò â òàêóþ íåâåðîÿòíóþ èñò îðèþ? Ïðîáëåìà â òîì, ÷òî Àëèñà äîêàçûâàåò íå ñâîþ ëè÷íîñòü, à òî, ÷òî åé èçâåñòíà íåêîòîðàÿ ñåêðåòíàÿ èíôî ðìàöèÿ. Èìåííî ñâÿçü ìåæäó ýòîé èíôîðìàöèåé è ëè÷íîñòüþ è ñëóæèò ïðåäìåòîì çëîóïîòðåáëåíèÿ . Ðåøåíèå çàùèùåííûõ îò âîðîâñòâà äåòåé çàùèòèëî áû îò òàêîãî ìîøåííè÷åñòâà, êàê è ñîçäàíèå ïîëèöåéñêîãî ãîñóäà ðñòâà, â êîòîðîì âñå ãðàæäàíå äîëæíû î÷åíü ÷àñòî äîêàçûâàòü ñâîþ ëè÷íîñòü (â êîíöå äíÿ, íà êàæäîì óãëó è ò.ä.). Ïîìî÷ü ðåøèòü ýòó ïðîáëåìó ìîãóò áèîìåòðè÷åñêèå ìåòîäû - îòïå÷àòêè ïàëüöåâ, ñíèìêè ñåò÷àòêè ãëàçà, çàïèñü ãîëîñà è ò.ï. Äîêàçàòåëüñòâî ÷ëåíñòâà Àëèñà õî÷åò äîêàçàòü Áîáó, ÷òî îíà ÿâëÿåòñÿ ÷ëåíîì ñóïåðñåêðåòíîé îðãàíèçàöèè, íî íå õî÷åò ðàñêðûâàòü ñâîþ ëè÷íîñòü. Ýòà ïðîáëåìà, áëèçêàÿ ïðîáëåìå äîêàçàòåëüñòâà ëè÷íîñòè, íî îòëè÷àþùàÿñÿ îò íåå, áûëà èç ó÷åíà â [887, 906, 907, 1201, 1445]. Ðÿä ðåøåíèé ñâÿçàí ñ ïðîáëåìîé ãðóïïîâûõ ïîäïèñåé (ñì. ðàçäåë 4.6).
5.3 Ñëåïûå ïîäïèñè Âàæíûì ñâîéñòâîì ïðîòîêîëîâ öèôðîâîé ïîäïèñè ÿâëÿåòñÿ çíàíèå ïîäïèñûâàþùèì ñîäåðæàíèÿ ïîäïèñ ûâàåìîãî äîêóìåíòà. Ýòî õîðîøåå ñâîéñòâî, äàæå êîãäà õî÷åòñÿ îáðàòíîãî . Ìû ìîæåì ïîæåëàòü, ÷òîáû ëþäè ïîäïèñûâàëè äîêóìåíòû, äàæå íå çíàÿ èõ ñîäåðæàíèÿ . Ñóùåñòâóþò ñïîñîáû, êîãäà ïîäïèñûâàþùèé ìîæåò íå òî÷íî, íî ïî÷òè çíàòü, ÷òî îí ïîäïèñûâàåò. Íî âñå ïî ïîðÿäêó. Ïîëíîñòüþ ñëåïûå ïîäïèñè Áîá - ãîñóäàðñòâåííûé íîòàðèóñ. Àëèñà õî÷åò, ÷òîáû îí ïîäïèñàë äîêóìåíò, íå èìåÿ íè ìàëåéøåãî ïðå äñòàâëåíèÿ î åãî ñîäåðæàíèè. Áîá íå îòâå÷àåò çà ñîäåðæàíèå äîêóìåíòà, îí òîëüêî çàâåðÿåò, ÷òî íîòàðèàëüíî çàñâèäåòåëüñòâîâàë åãî â îïðåäåëåííîå âðåìÿ . Îí ñîáèðàåòñÿ äåéñòâîâàòü ïî ñëåäóþùåìó ïëàíó: (1) Àëèñà áåðåò äîêóìåíò è óìíîæàåò åãî íà ñëó÷àéíîå ÷èñëî. Ýòî ñëó÷àéíîå ÷èñëî íàçûâàåòñÿ ìàñêèðóþùèì ìíîæèòåëåì. (2) Àëèñà ïîñûëàåò çàìàñêèðîâàííûé äîêóìåíò Áîáó. (3) Áîá ïîäïèñûâàåò çàìàñêèðîâàííûé äîêóìåíò. (4) Àëèñà óäàëÿåò ìàñêèðóþùèé ìíîæèòåëü, ïîëó÷àÿ îðèãèíàëüíûé äîêóìåíò, ïîäïèñàííûé Áîáîì. Ýòîò ïðîòîêîë ðàáîòàåò òîëüêî, åñëè ôóíêöèÿ ïîäïèñè è óìíîæåíèå êîììóòàòèâíû . Åñëè íåò, òî ïîìèìî óìíîæåíèÿ ñóùåñòâóþò è äðóãèå ñïîñîáû èçìåíèòü äîêóìåíò . Íåñêîëüêî ïîäõîäÿùèõ àëãîðèòìîâ ïðèâåäåíû â ðàçäåëå 23.12. À ñåé÷àñ, äëÿ ïðîñòîòû ìàòåìàòèêè îñòàíîâèìñÿ íà óìíîæåíèè . Ìîæåò ëè áîá ñìîøåííè÷àòü? Ìîæåò ëè îí ïîëó÷èòü êàêóþ-íèáóäü èíôîðìàöèþ î òîì, ÷òî ïîïèñûâàåò ? Åñëè ìíîæèòåëü îñòîðîæíîñòè äåéñòâèòåëüíî ñëó÷àåí è äåëàåò çàìàñêèðîâàííûé äîêóìåíò äåéñòâèòåëüíî ñë ó÷àéíûì, òî íåò. Çàìàñêèðîâàííûé äîêóìåíò, ïîäïèñûâàåìûé Áîáîì íà ýòàïå, (2) íè÷åì íå ïîõîæ íà îðèã èíàëüíûé äîêóìåíò Àëèñû. Çàìàñêèðîâàííûé äîêóìåíò ñ ïîäïèñüþ Áîáà íà íåì íà ýòàïå (3) íè÷åì íå ïîõîæ íà ïîäïèñàííûé äîêóìåíò ýòàïà (4). Äàæå åñëè Áîá çàïîëó÷èò äîêóìåíò ñî ñâîåé ïîäïèñüþ ïîñëå îêîí÷àíèÿ ïð îòîêîëà, îí íå ñìîæåò äîêàçàòü (ñåáå èëè êîìó-òî äðóãîìó), ÷òî îí ïîäïèñàë åãî â ýòîì êîíêðåòíîì ïðîòîêîëå . Îí çíàåò, ÷òî åãî ïîäïèñü ïðàâèëüíà. Îí ìîæåò, êàê è ëþáîé äðóãîé, ïðîâåðèòü ñâîþ ïîäïèñü . Îäíàêî, ó íåãî íåò íèêàêîé âîçìîæíîñòè ñâÿçàòü ïîäïèñàííûé äîêóìåíò è ëþáóþ èíôîðìàöèþ, ïîëó÷åííóþ ïðè âûïîëíåíèè ïðîòîêîëà. Åñëè îí ïîäïèñàë, èñïîëüçóÿ ýòîò ïðîòîêîë, ìèëëèîí äîêóìåíòîâ, ó íåãî íå áóäåò ñïîñîáà óçíàòü êîãäà êàêîé äîêóìåíò îí ïîäïèñàë . Ïîëíîñòüþ ñëåïûå ïîäïèñè îáëàäàþò ñëåäóþùèìè ñâîéñòâàìè :
1. Ïîäïèñü Áîáà ïîä äîêóìåíòîì ïðàâèëüíà è ñëóæèò äîêàçàòåëüñòâîì òîãî, ÷òî Áîá ïîäïèñàë ýòîò ä îêóìåíò. Îíà óáåäèò Áîáà â òîì, ÷òî îí ïîäïèñàë ýòîò äîêóìåíò, êîãäà äîêóìåíò áóäåò âïîñëåäñòâèè ïîêàçàí Áîáó. Îíà òàêæå îáëàäàåò âñåìè ñâîéñòâàìè öèôðîâûõ ïîäïèñåé, îáñóæäàåìûõ â ðàçäåëå 2.6. 2. Áîá íå ìîæåò ñâÿçàòü ïîäïèñàííûé äîêóìåíò ñ ïðîöåññîì ïîäïèñàíèÿ äîêóìåíòà. Äàæå åñëè ó íåãî õðàíÿòñÿ çàïèñè îáî âñåõ ñäåëàííûõ èì ñëåïûõ ïîäïèñÿõ, îí íå ñìîæåò îïðåäåëèòü, êîãäà îí ïîäï èñàë êîíêðåòíûé äîêóìåíò. áà.
Ó Åâû, íàõîäÿùåéñÿ ìåæäó Àëèñîé è Áîáîì è ñëåäÿùåé çà ïðîòîêîëîì, èíôîðìàöèè åùå ìåíüøå, ÷åì ó Á îÑëåïûå ïîäïèñè
Ñ ïîìîùüþ ïðîòîêîëà ïîëíîñòüþ ñëåïûõ ïîäïèñåé Àëèñà ìîæåò çàñòàâèòü Áîáà ïîäïèñàòü ÷òî-íèáóäü âð îäå: "Áîá äîëæåí Àëèñå ìèëëèîí äîëëàðîâ", "Áîá äîëæåí Àëèñå ñâîåãî ïåðâîãî ðåáåíêà", "Áîá äîëæåí Àëèñå ÿùèê øîêîëàäà". Âîçìîæíîñòè áåñêîíå÷íû, è ïîýòîìó âî ìíîãèõ ïðèëîæåíèÿõ ýòîò ïðîòîêîë áåñïîëåçåí. . Îäíàêî, ñóùåñòâóåò ñïîñîá, ñ ïîìîùüþ êîòîðîãî Áîá ìîæåò óçíàòü, ÷òî îí ïîäïèñûâàåò, âìåñòå ñ òåì ñîõð àíÿÿ ïîëåçíûå ñâîéñòâà ñëåïûõ ïîäïèñåé . Öåíòðàëüíûì ìîìåíòîì ýòîãî ïðîòîêîëà ÿâëÿåòñÿ òåõíèêà "ðàçðåçàòü è âûáðàòü". Ðàññìîòðèì ñëåäóþùèé ïðèìåð. Ìíîæåñòâî ëþäåé êàæäûé äåíü âúåçæàþò â íåêóþ ñòðàíó, è Ä åïàðòàìåíò èììèãðàöèè õî÷åò óäîñòîâåðèòüñÿ, ÷òî îíè íå ââîçÿò êîêàèí . Ñëóæàùèå ìîãóò îáûñêèâàòü êàæäîãî, íî âìåñòî ýòîãî èñïîëüçóåòñÿ âåðîÿòíîñòíîå ðåøåíèå - îáûñêèâàåòñÿ êàæäûé äåñÿòûé âúåçæàþùèé . Ïîäâåðãàåòñÿ äîñìîòðó èìóùåñòâî îäíîãî ÷åëîâåêà èç äåñÿòè, îñòàëüíûå äåâÿòü ïðîïóñêàþòñÿ áåñïðåïÿòñòâåííî . Ïîñòîÿííûå êîíòðàáàíäèñòû â áîëüøèíñòâå ñëó÷àåâ ïðîñêàêèâàþò íåçàìå÷åííûìè, íî ñ âåðîÿòíîñòüþ 10 ïðîöåíòîâ èõ ëîâÿò. È åñëè ñóäåáíàÿ ñèñòåìà ðàáîòàåò ýôôåêòèâíî, íàêàçàíèå çà åäèíñòâåííóþ ïîèìêó íà ìåñòå ïðåñòó ïëåíèÿ áîëåå ÷åì ïåðåâåøèâàåò âûãîäû äåâÿòè óäà÷íûõ ïîïûòîê . Åñëè Äåïàðòàìåíò èììèãðàöèè çàõî÷åò ïîâûñèòü âåðîÿòíîñòü ïîèìêè êîíòðàáàíäèñòîâ, ñëóæàùèì ïðèäåòñÿ îáûñêèâàòü áîëüøå ëþäåé, çàõî÷åò ïîíèçèòü âåðîÿòíîñòü - ìîæíî áóäåò îáûñêèâàòü ìåíüøå ëþäåé . Óïðàâëÿÿ âåðîÿòíîñòÿìè, ìîæíî êîíòðîëèðîâàòü ýôôåêòèâíîñòü ïðîòîêîëà ïðè ïîèìêå êîíòðàáàíäèñòîâ . Ïðîòîêîë ñëåïîé ïîäïèñè ðàáîòàåò àíàëîãè÷íûì îáðàçîì. Áîá ïîëó÷àåò áîëüøóþ ïà÷êó ðàçëè÷íûõ çàìàñê èðîâàííûõ äîêóìåíòîâ. Îí îòêðîåò, íàïðèìåð, âñå êðîìå îäíîãî è çàòåì ïîäïèøåò ïîñëåäíèé . Ïîñìîòðèòå íà çàìàñêèðîâàííûé äîêóìåíò êàê íà ëåæàùèé â êîíâåðòå. Ïðîöåññ ìàñêèðîâêè äîêóìåíòà ìîæíî ðàññìàòðèâàòü êàê ïîìåùåíèå äîêóìåíòà â êîíâåðò, à ïðîöåññ óäàëåíèÿ ìíîæèòåëÿ ìàñêèðîâêè - êàê âñêðûòèå êîíâåðòà. Êîãäà äîêóìåíò ñïðÿòàí â êîíâåðò, íèêòî íå ñìîæåò åãî ïðî÷èòàòü . Äîêóìåíò ïîäïèñûâàåòñÿ ñ ïîìîùüþ êóñî÷êà êîïèðîâàëüíîé áóìàãè, ïîìåùåííîé â êîíâåðò : Êîãäà ïîäïèñûâàþùèé ñòàâèò ñâîþ ïî äïèñü íà êîíâåðòå, ñ ïîìîùüþ êóñî÷êà êîïèðîâàëüíîé áóìàãè ýòà ïîäïèñü ñòàâèòñÿ è ïîä äîêóìåíòîì .  ñëåäóþùåì ñöåíàðèè äåéñòâóåò ãðóïïà àãåíòîâ êîíòððàçâåäêè . Èõ ëè÷íîñòè çàñåêðå÷åíû, äàæå ñàìî Óïðàâëåíèå êîíòððàçâåäêè íå çíàåò, êòî îíè òàêèå . Äèðåêòîðà Óïðàâëåíèÿ õî÷åò âûäàòü êàæäîìó àãåíòó ïîäï èñàííûé äîêóìåíò ñëåäóþùåãî ñîäåðæàíèÿ : "Ïîäàòåëü ýòîãî ïîäïèñàííîãî äîêóìåíòà, (âñòàâüòå èìÿ, ïîä êîò îðûì äåéñòâóåò àãåíò), îáëàäàåò ïîëíîé äèïëîìàòè÷åñêîé íåïðèêîñíîâåííîñòüþ ". Ó êàæäîãî èç àãåíòîâ åñòü ñâîé ñïèñîê ïñåâäîíèìîâ, ïîýòîìó Óïðàâëåíèå íå ìîæåò ïðîñòî ðàçäàòü ïîäïèñàííûå äîêóìåíòû . Àãåíòû íå õîòÿò ïåðåäàâàòü ñâîè ïñåâäîíèìû â Óïðàâëåíèå, òàê êàê âðàã ìîã âñêðûòü êîìïüþòåð Óïðàâëåíèÿ . Ñ äðóãîé ñòîðîíû, Óïðàâëåíèå íå õî÷åò ñëåïî ïîäïèñûâàòü äîêóìåíòû, ïðåäîñòàâëåííûå àãåíòîì. Õèòðûé àãåíò ìîæåò ïðåäñòàâèòü ñîîáùåíèå, ïîäîáíîå ñëåäóþùåìó : "Àãåíò (èìÿ) âûøåë â îòñòàâêó, è åìó íàçíà÷åíà åæåãîäíàÿ ïåíñèÿ â ìèëëèîí äîëëàðîâ. Ïîäïèñàíî, Ïðåçèäåíò".  ýòîì ñëó÷àå ìîãóò áûòü ïîëåçíû ñëåïûå ïîäïèñè . Ïðåäïîëîæèì, ÷òî ó êàæäîãî àãåíòà ïî 10 ïñåâäîíèìîâ, âûáðàííûõ èìè ñàìèìè è áîëüøå íèêîìó íåèçâåñ òíûõ. Ïðåäïîëîæèì òàêæå, ÷òî àãåíòàì âñå ðàâíî, ïîä êàêèì èìåíåì îíè ïîëó÷àò äèïëîìàòè÷åñêóþ íåïðèêî ñíîâåííîñòü. Òàêæå ïðåäïîëîæèì, êîìïüþòåð óïðàâëåíèÿ íàçûâàåòñÿ Agency's Large Intelligent Computing Engine (Áîëüøàÿ Èíòåëëåêòóàëüíàÿ Âû÷èñëèòåëüíàÿ Ìàøèíà Óïðàâëåíèÿ), èëè ALICE, à íàøèì êîíêðåòíûì àãåíòîì ÿâëÿåòñÿ Bogota Operations Branch (Ñåêòîð îïåðàöèé â Áîãîòå): BOB. (1) BOB ãîòîâèò n äîêóìåíòîâ, êàæäûé èç êîòîðûõ èñïîëüçóåò ðàçëè÷íûé ïñåâäîíèì , äàþùèõ åìó äèïëîìàòè÷åñêóþ íåïðèêîñíîâåííîñòü. (2) BOB ìàñêèðóåò êàæäûé èç äîêóìåíòîâ îòëè÷íûì ìàñêèðóþùèì ìíîæèòåëåì . (3) BOB îòïðàâëÿåò n äîêóìåíòîâ ALICE. (4) ALICE ñëó÷àéíûì îáðàçîì âûáèðàåò n-1 äîêóìåíò è ïðîñèò BOB'à ïðèñëàòü ìàñêèðóþùèé ìíîæèòåëü äëÿ êàæäîãî èç âûáðàííûõ äîêóìåíòîâ . (5) BOB ïîñûëàåò ALICE ñîîòâåòñòâóþùèå ìàñêèðóþùèå ìíîæèòåëè . (6) ALICE îòêðûâàåò (ò.å., óäàëÿåò ìàñêèðóþùèé ìíîæèòåëü ) n-1 äîêóìåíò è óáåæäàåòñÿ â òîì, ÷òî îíè êî ð-
ðåêòíû - è íå ÿâëÿþòñÿ ðàçðåøåíèåì íà âûïëàòó ïåíñèè . (7) ALICE ïîäïèñûâàåò îñòàâøèéñÿ äîêóìåíò è ïîñûëàåò åãî BOB'ó. (8) Àãåíò óäàëÿåò ìàñêèðóþùèé ìíîæèòåëü è ÷èòàåò ñâîé íîâûé ïñåâäîíèì : "Ìàëèíîâàÿ ïîëîñà." Ïîäïèñàííûé äîêóìåíò äàåò åìó äèïëîìàòè÷åñêóþ íåïðèêîñíîâåííîñòü ïîä ýòèì èìåíåì . Ýòîò ïðîòîêîë íàäåæíî çàùèùåí îò ìîøåííè÷åñòâà BOB'à. ×òîáû ñìîøåííè÷àòü, îí äîëæåí òî÷íî óãàäàòü, êàêîé äîêóìåíò ALICE íå áóäåò ïðîâåðÿòü. Âåðîÿòíîñòü ýòîãî - 1 øàíñ èç n - íå ñëèøêîì âåëèêà. ALICE çíàåò ýòî è ÷óâñòâóåò ñåáÿ óâåðåííî, ïîäïèñûâàÿ äîêóìåíò, êîòîðûé îíà íå ñìîæåò ïðîâåðèòü . Äëÿ ýòîãî äîêóìåíòà ðàññìàòðèâàåìûé ïðîòîêîë ïîëíîñòüþ ñîâïàäàåò ñ ïðåäûäóùèì ïðîòîêîëîì ïîëíîñòüþ ñëåïîé ïîäïèñè, ñîõð àíÿÿ âñå ñâîéñòâà àíîíèìíîñòè. Ñóùåñòâóåò òðþê, êîòîðûé åùå áîëüøå óìåíüøàåò âåðîÿòíîñòü ìîøåííè÷åñòâà BOB'à. Íà ýòàïå (4) ALICE ñëó÷àéíûì îáðàçîì âûáèðàåò n/2 äîêóìåíòîâ äëÿ ïðîâåðêè, è BOB ïðèñûëàåò åé ñîîòâåòñòâóþùèé ìàñêèðó þùèå ìíîæèòåëè íà ýòàïå (5). Íà ýòàïå (7) ALICE ïåðåìíîæàåò âñå íåïðîâåðåííûå äîêóìåíòû è ïîäïèñûâàåò ïîëó÷èâøèéñÿ ìåãàäîêóìåíò. Íà ýòàïå (8) BOB óäàëÿåò âñå ìàñêèðîâî÷íûå ìíîæèòåëè . Ïîäïèñü ALICE áóäåò ïðàâèëüíîé, òîëüêî åñëè åþ ïîäïèñàíî ïðîèçâåäåíèå n/2 èäåíòè÷íûõ äîêóìåíòîâ. ×òîáû ñìîøåííè÷àòü, BOB'ó íóæíî òî÷íî óãàäàòü, êàêîå ïîäìíîæåñòâî äîêóìåíòîâ áóäåò ïðîâåðÿòü ALICE. Âåðîÿòíîñòü ýòîãî ãîðàçäî íèæå, ÷åì âåðîÿòíîñòü óãàäàòü åäèíñòâåííûé äîêóìåíò, êîòîðûé ALICE íå ïðîâåðÿëà. BOB ìîæåò ñìîøåííè÷àòü ïî äðóãîìó . Îí ìîæåò ñîçäàòü äâà ðàçëè÷íûõ äîêóìåíòà, îäèí èç êîòîðûõ ALICE ñîãëàñíà ïîäïèñàòü, à äðóãîé - íåò . Çàòåì îí ìîæåò ïîïûòàòüñÿ íàéòè äâà ðàçëè÷íûõ ìàñêèðóþùèõ ìíîæèòåëÿ, êîòîðûå ïðåîáðàçóþò óêàçàííûå äîêóìåíòû ê îäèíàêîâîìó âèäó. Òàêèì îáðàçîì, åñëè ALICE çàõî÷åò ïðîâåðèòü äîêóìåíò, BOB ïåðåäàñò åé ìàñêèðóþùèé ìíîæèòåëü, ïðåîáðàçóþùèé äîêóìåíò ê íåâèííîìó âèäó . Åñëè ALICE íå çàõî÷åò ïðîñìîòðåòü äîêóìåíò è ïîäïèøåò åãî , îí ïðèìåíèò òîò ìàñêèðóþùèé ìíîæèòåëü, êîòîðûé ïðåîáðàçóåò çàìàñêèðîâàííûé ïîäïèñàííûé äîêóìåíò â äîêóìåíò, ÿâëÿþùèéñÿ öåëüþ ìîøåííè÷åñòâà . Õîòÿ òåîðåòè÷åñêè ýòî è âîçìîæíî, ìàòåìàòèêà êîíêðåòíûõ àëãîðèòìîâ äåëàåò ïðåíåáðåæèìî ìàëîé âåðîÿòíîñòü äëÿ BOB'à íàéòè òàêóþ ïàðó. Äåéñòâèòåëüíî, îíà ìîæåò áûòü ñòîëü íèçêîé, êàê è âåðîÿòíîñòü Áîáà ñîçäàòü íåîáõ îäèìóþ ïîäïèñü ïîä ïðîèçâîëüíûì äîêóìåíòîì ñàìîñòîÿòåëüíî . Ýòîò âîïðîñ îáñóæäàåòñÿ íèæå â ðàçäåëå 23.12. Ïàòåíòû. Âëàäåëüöåì ïàòåíòîâ íà ðÿä îñîáåííîñòåé ñëåïûõ ïîäïèñåé ÿâëÿåòñÿ ×àóì ( Chaum) (ñì. 4-é). Òàáë. 5-1. Ïàòåíòû ×àóìà íà ñëåïûå ïîäïèñè ¹ ïàòåíòà ÑØÀ
Äàòà
Íàçâàíèå
4759063
19.07.88
Blind Signature Systems [323] (Ñèñòåìû ñëåïûõ ïîäïèñåé)
4759064
19.07.88
Blind Unanticipated Signature Systems [324] (Ñèñòåìû ñëåïûõ íåîæèäàííûõ ïîäïèñåé)
4914698
03.03.90
One-Show Blind Signature Systems [326] (Ñèñòåìû ñëåïûõ ïîäïèñåé, ïîêàçûâàåìûõ îäèí ðàç)
4949380
14.08.90
Returned-Value Blind Signature Systems [328] (Ñèñòåìû ñëåïûõ ïîäïèñåé ñ âîçâð àùàåìûì çíà÷åíèåì)
4991210
05.02.91
Unpredictable Blind Signature Systems [331] (Ñèñòåìû íåïðåäñêàçóåìûõ ñëåïûõ ïî äïèñåé)
5.4 Ëè÷íîñòíàÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè Àëèñà õî÷åò îòïðàâèòü Áîáó áåçîïàñíîå ñîîáùåíèå . Îíà íå õî÷åò ïîëó÷àòü ñâîé îòêðûòûé êëþ÷ ñ ñåðâåðà êëþ÷åé, îíà íå õî÷åò ïðîâåðÿòü ïîäïèñü íåêîòîðîé çàñëóæèâàþùåé äîâåðèÿ òðåòüåé ñòîðîíû íà ñåðòèôèêàòå ñâîåãî îòêðûòîãî êëþ÷à, è îíà äàæå íå õî÷åò õðàíèòü îòêðûòûé êëþ÷ Áîáà â ñâîåì êîìïüþòåðå . Îíà õî÷åò ïðîñòî ïîñëàòü åìó áåçîïàñíîå ñîîáùåíèå . Ýòó ïðîáëåìó ðåøàþò ëè÷íîñòíûå êðèïòîñèñòåìû, èíîãäà íàçûâàåìûå ñèñòåìàìè ñ Íåèíòåðàêòèâíûì ðà çäåëåíèåì êëþ÷åé (Non-Interactive Key Sharing, NIKS) [1422]. Îòêðûòûé êëþ÷ Áîáà îñíîâûâàåòñÿ íà åãî èìåíè è ñåòåâîì àäðåñå (òåëåôîííîì íîìåðå, ïî÷òîâîì àäðåñå èëè ÷åì-òî ïîäîáíîì).  îáû÷íîé êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Àëèñå íóæåí ïîäïèñàííûé ñåðòèôèêàò, ñâÿçûâàþùèé ëè÷íîñòü Áîáà è åãî îòêðûòûé êëþ÷ .  ëè÷íîñòíîé êðèïòîãðàôèè îòêðûòûé êëþ÷ Áîáà è åñòü åãî ëè÷íîñòü. Ýòî äåéñòâèòåëüíî ñâåæàÿ èäåÿ ÿâëÿåòñÿ ïî÷òè ñîâåðøåííîé äëÿ ïî÷òîâîé ñèñòåìû - Åñëè Àëèñà çíàåò àäðåñ Áîáà, îíà ìîæåò áåçîïàñíî ïîñûëàòü åìó ïî÷òó, ÷òî äåëàåò êðèïòîãðàôèþ ïðîçðà÷íîé, íàñêîëüêî ýòî âîîáùå âîçìîæíî . Ñèñòåìà îñíîâàíà íà âûäà÷å Òðåíòîì êëþ÷åé ïîëüçîâàòåëÿì â çàâèñèìîñòè îò èõ ëè÷íîñòè . Åñëè çàêðûòûé
êëþ÷ Àëèñû áóäåò ñêîìïðîìåòèðîâàí, åé ïðèäåòñÿ èçìåíèòü îäíî èç ñâîéñòâ, îïðåäåëÿþùèõ åå ëè÷íîñòü . Ñåðüåçíîé ïðîáëåìîé ÿâëÿåòñÿ ïðîåêòèðîâàíèå ñèñòåìû òàêèì îáðàçîì, ÷òîáû ñãîâîð íå÷åñòíûõ ïîëüçîâàòåëåé íå ìîã ïðèâåñòè ê ïîääåëêå êëþ÷à . Ïðè ðàçðàáîòêå ìàòåìàòèêè òàêèõ ñõåì, îáåñïå÷åíèå áåçîïàñíîñòè êîòîðûõ îêàçàëîñü çâåðñêè ñëîæíûì, áûë âûïîëíåí áîëüøîé îáúåì ðàáîòû - ãëàâíûì îáðàçîì â ßïîíèè . Ìíîãèå ïðåäëîæåííûå ðåøåíèÿ ñîäåðæàò âûáîð Òðåíòîì ñëó÷àéíîãî ÷èñëà äëÿ êàæäîãî ïîëüçîâàòåëÿ - ïî ìîåìó, ýòî óãðîæàåò ñàìîé èäåå òàêèõ ñèñòåì . Ðÿä àëãîðèòìîâ, ðàññìàòðèâàåìûõ â ãëàâàõ 19 è 20, ìîãóò áûòü ëè÷íîñòíûìè . Ïîäðîáíîñòè àëãîðèòìîâ è êðèïò îñèñòåì ìîæíî íàéòè â [191, 1422, 891, 1022, 1515, 1202, 1196, 908, 692, 674, 1131, 1023, 1516, 1536, 1544, 63, 1210, 314, 313, 1545, 1539, 1543, 933, 1517, 748, 1228]. Àëãîðèòì, êîòîðûé íå èñïîëüçóåò ñëó÷àéíûõ ÷èñåë, îïèñàí â [1035]. Ñèñòåìà, îáñóæäàåìàÿ â [1546, 1547, 1507], íåíàäåæíà ïðîòèâ âñêðûòèÿ ñ èñïîëüçîâàíèåì â ûáðàííîãî îòêðûòîãî êëþ÷à, òî æå ñàìîå ìîæíî ñêàçàòü è î ñèñòåìå, ïðåäëîæåííîé êàê NIKS-TAS [1542, 1540, 1541, 993, 375, 1538]. Ïî ïðàâäå ãîâîðÿ, ñðåäè ïðåäëîæåííîãî íåò íè÷åãî îäíîâðåìåííî ïðàêòè÷íîãî è áåçîïà ñíîãî.
5.5 Ðàññåÿííàÿ ïåðåäà÷à Êðèïòîãðàô Áîá áåçíàäåæíî ïûòàåòñÿ ðàçëîæèòü íà ìíîæèòåëè 500-áèòîâîå ÷èñëî n. Îí çíàåò, ÷òî îíî ÿâëÿåòñÿ ïðîèçâåäåíèåì ïÿòè 100-áèòîâûõ ÷èñåë, è íè÷åãî áîëüøå . (Âîò ïðîáëåìà. Åñëè îí íå âîññòàíîâèò êëþ÷, åìó ïðèäåòñÿ ðàáîòàòü ñâåðõóðî÷íî, è îí íå ïîïàäåò íà åæåíåäåëüíóþ èãðó ñ Àëèñîé â ìûñëåííûé ïîêåð .) ×òî æå äåëàòü? È âîò ïîÿâëÿåòñÿ Àëèñà: "Ìíå ïîñ÷àñòëèâèëîñü óçíàòü îäèí èç ìíîæèòåëåé ÷èñëà ", - ãîâîðèò îíà, - "è ÿ ïðîäàì åãî òåáå çà 100 äîëëàðîâ . Ïî äîëëàðó çà áèò." Ïîêàçûâàÿ ñâîþ ñåðüåçíîñòü, îíà ñîáèðàåòñÿ èñïîëüçîâàòü ñõåìó âðó÷åíèÿ áèòà, âðó÷àÿ êàæäûé áèò î òäåëüíî. Áîá çàèíòåðåñîâàí, íî òîëüêî çà 50 äîëëàðîâ . Àëèñà íå õî÷åò ñáðàñûâàòü öåíó è ïðåäëàãàåò ïðîäàòü Áîáó ïîëîâèíó áèòîâ çà ïîëîâèíó ñòîèìîñòè. "Ýòî çàìåòíî ñîêðàòèò òåáå ðàáîòó ", -. "Íî êàê ÿ óçíàþ, ÷òî òâîå ÷èñëî äåéñòâèòåëüíî ÿâëÿåòñÿ ìíîæèòåëåì n. Åñëè òû ïîêàæåøü ìíå ÷èñëî è ïîçâîëèøü ìíå óáåäèòüñÿ, ÷òî îíî äåéñòâèòåëüíî ÿâëÿåòñÿ ìíîæèòåëåì, ÿ ñîãëàøóñü ñ òâîèìè óñëîâèÿìè ", - ãîâîðèò Áîá. Îíè â ïàòîâîé ñèòóàöèè. Àëèñà íå ìîæåò óáåäèòü Áîáà â òîì, ÷òî îíà çíàåò ñîìíîæèòåëü n, íå ðàñêðûâ åãî, à Áîá íå õî÷åò ïîêóïàòü 50 áèòîâ, êîòîðûå âïîëíå ìîãóò îêàçàòüñÿ áåñïîëåçíûìè .
Ýòà èñòîðèÿ, óòàùåííàÿ ó Äæî Êèëèàíà [831], ââîäèò ïîíÿòèå ðàññåÿííîé ïåðåäà÷è. Àëèñà ïåðåäàåò Áîáó ãðóïïó ñîîáùåíèé. Áîá ïîëó÷àåò íåêîòîðîå ïîäìíîæåñòâî ýòèõ ñîîáùåíèé, íî Àëèñà íå çíàåò, êàêèå èç ñîîáù åíèé Áîá ïîëó÷èë. Îäíàêî, ýòî íå ïîëíîñòüþ ðåøàåò ïðîáëåìó . Êîãäà Áîá ïîëó÷èò ñëó÷àéíóþ ïîëîâèíó áèòîâ , Àëèñå ïðèäåòñÿ óáåæäàòü åãî, èñïîëüçóÿ äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì, ÷òî îíà ïîñëàëà ÷àñòü ìíîæèòåëÿ n.  ñëåäóþùåì ïðîòîêîëå Àëèñà ïîñûëàåò Áîáó îäíî èç äâóõ ñîîáùåíèé. Áîá ïîëó÷àåò ñîîáùåíèå, íî êàêîå Àëèñà íå çíàåò. (1) Àëèñà ãåíåðèðóåò äâå ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷, âñåãî ÷åòûðå êëþ÷à . Îíà ïîñûëàåò îáà îòêðûòûõ êëþ÷à Áîáó. (2) Áîá âûáèðàåò êëþ÷ ñèììåòðè÷íîãî àëãîðèòìà (íàïðèìåð, DES). Îí âûáèðàåò îäèí èç îòêðûòûõ êëþ÷åé Àëèñû è øèôðóåò ñ åãî ïîìîùüþ ñâîé êëþ÷ DES. Îí ïîñûëàåò øèôðîâàííûé êëþ÷ Àëèñå, íå ñîîáùàÿ, êàêîé èç åå îòêðûòûõ êëþ÷åé îí èñïîëüçîâàë äëÿ øèôðîâàíèÿ . (3) Àëèñà äâàæäû ðàñøèôðîâûâàåò êëþ÷ Áîáà , èñïîëüçóÿ îáà ñâîèõ çàêðûòûõ êëþ÷à .  îäíîì èç ñëó÷àåâ îíà èñïîëüçóåò ïðàâèëüíûé êëþ÷ è óñïåøíî ðàñøèôðîâûâàåò êëþ÷ DES, ïðèñëàííûé Áîáîì.  äðóãîì ñëó÷àå îíà èñïîëüçóåò íåïðàâèëüíûé êëþ÷ è ïîëó÷àåò áåññìûñëåííóþ ïîñëåäîâàòåëüíîñòü áèòîâ, êîòîðàÿ, òåì íå ìåíåå, ïîõîæà íà ñëó÷àéíûé êëþ÷ DES. Òàê êàê åé íåèçâåñòåí ïðàâèëüíûé îòêðûòûé òåêñò, îíà íå ìîæåò óçíàòü, êàêîé èç êëþ÷åé ïðàâèëåí. (4) Àëèñà çàøèôðîâûâàåò êàæäîå èç ñâîèõ ñîîáùåíèé êàæäûì èç êëþ÷åé, ïîëó÷åííûõ åþ íà ïðåäûäóùåì ýòàïå (îäèí èç êîòîðûõ - íàñòîÿùèé, à äðóãîé - áåññìûñëåííûé ), è ïîñûëàåò îáà ñîîáùåíèÿ Áîáó . (5) Áîá ïîëó÷àåò ñîîáùåíèÿ Àëèñû, îäíî èç êîòîðûõ çàøèôðîâàíî ïðàâèëüíûì êëþ÷îì DES, à äðóãîå - áåññìûñëåííûì êëþ÷îì DES. Êîãäà Áîá ðàñøèôðîâûâàåò êàæäîå èç ýòèõ ñîîáùåíèé ñâîèì êëþ÷îì DES, îí ìîæåò ïðî÷èòàòü îäíî èç íèõ, à äðóãîå áóäåò äëÿ íåãî âûãëÿäåòü ïîëíîé áåññìûñëèöåé . Òåïåðü ó Áîáà åñòü äâà ñîîáùåíèÿ Àëèñû, è Àëèñà íå çíàåò, êàêîå èç íèõ Áîáó óäàëîñü óñïåøíî ðàñøèôð îâàòü. Ê íåñ÷àñòüþ, åñëè ïðîòîêîë îñòàíîâèòñÿ íà ýòîì ýòàïå, Àëèñà ñìîæåò ñìîøåííè÷àòü. Íåîáõîäèì åùå îäèí ýòàï. (6) Êîãäà ïðîòîêîë çàâåðøèòñÿ, è ñòàíóò èçâåñòíû îáà âîçìîæíûõ ðåçóëüòàòà ïåðåäà÷è , Àëèñà äîëæíà ïåðå-
äàòü Áîáó ñâîè çàêðûòûå êëþ÷è, ÷òîáû îí óáåäèòüñÿ â îòñóòñòâèè ìîøåííè÷åñòâà .  êîíöå êîíöîâ, îíà ìîãëà çàøèôðîâàòü íà ýòàïå (4) îáîèìè êëþ÷àìè îäíî è òî æå ñîîáùåíèå .
 ýòîò ìîìåíò, êîíå÷íî æå Áîá ñìîæåò óçíàòü è âòîðîå ñîîáùåíèå .
Ïðîòîêîë íàäåæíî çàùèùåí îò âçëîìà ñî ñòîðîíû Àëèñû, ïîòîìó ÷òî ó íåå íåò âîçìîæíîñòè óçíàòü, êàêîé èç äâóõ êëþ÷åé DES ÿâëÿåòñÿ íàñòîÿùèì. Îáà èç íèõ îíà èñïîëüçóåò äëÿ øèôðîâàíèÿ ñâîèõ ñîîáùåíèé, íî Áîá ìîæåò óñïåøíî ðàñøèôðîâàòü òîëüêî îäíî èç íèõ - äî ýòàïà (6) . Ïðîòîêîë çàùèùåí è îò âçëîìà ñî ñòîðîíû Áîáà, ïîòîìó ÷òî äî ýòàïà (6) îí íå ñìîæåò ïîëó÷èòü çàêðûòûé êëþ÷ Àëèñû, ÷òîáû îïðåäåëèòü êëþ÷ DES, êîòîðûì çàøèôðîâàíî äðóãîå ñîîáùåíèå . Íà âèä ýòîò ïðîòîêîë ìîæåò ïîêàçàòüñÿ ïðîñòî óñëîæíåííûì ñïîñîáîì áðîñàòü "÷åñòíóþ" ìîíåòó ïî ìîäåìó , íî îí èíòåíñèâíî èñïîëüçóåòñÿ âî ìíîãèõ ñëîæíûõ ïðîòîêîëàõ . Êîíå÷íî æå, íè÷òî íå ìîæåò ïîìåøàòü Àëèñå ïîñëàòü Áîáó äâà ñîâåðøåííî áåññìûñëåííûõ ñîîáùåíèÿ : "Ìÿó-ìÿó " è "Òû ìîëîêîñîñ". Ýòîò ïðîòîêîë ãàðàíòèðóåò, ÷òî Àëèñà ïåðåäàñò Áîáó îäíî èç äâóõ ñîîáùåíèé, íî íåò íèêàêîé ãàðàíòèè, ÷òî Áîá çàõî÷åò ïîëó÷èòü ëþáîå èç íèõ .  ëèòåðàòóðå ìîæíî íàéòè è äðóãèå ïðîòîêîëû ðàññåÿííîé ïåðåäà÷è . Íåêîòîðûå èç íèõ íåèíòåðàêòèâíû, ò.å. Àëèñà ïóáëèêóåò ñâîè äâà ñîîáùåíèÿ, à Áîá ìîæåò ïðî÷åñòü òîëüêî îäíî èç íèõ . Îí ìîæåò ñäåëàòü ýòî, êîãäà çàõî÷åò, åìó íå íóæíî äëÿ ýòîãî ñâÿçûâàòüñÿ ñ Àëèñîé [105].  äåéñòâèòåëüíîñòè íà ïðàêòèêå íèêòî íå èñïîëüçóåò ïðîòîêîë ðàññåÿííîé ïåðåäà÷è , íî ýòî ïîíÿòèå ÿâëÿåòñÿ âàæíûì áëîêîì ïðè ïîñòðîåíèè äðóãèõ ïðîòîêîëîâ . Õîòÿ ñóùåñòâóåò ìíîãî òèïîâ ðàññåÿííîé ïåðåäà÷è - ó ìåíÿ åñòü äâà ñåêðåòà, à âû ïîëó÷àåòå îäèí, ó ìåíÿ åñòü n ñåêðåòîâ, à âû ïîëó÷àåòå îäèí, ó ìåíÿ åñòü îäèí ñåêðåò, êîòîðûé âû ïîëó÷àåòå ñ âåðîÿòíîñòüþ 1/2 è òàê äàëåå - âñå îíè ýêâèâàëåíòíû [245, 391, 395]. 5.6 Ðàññåÿííûå ïîäïèñè ×åñòíî ãîâîðÿ, ÿ íå ìîãó ïðèäóìàòü, ÷åãî èõ ìîæíî èñïîëüçîâàòü, íî ñóùåñòâóåò äâà òèïà ðàññåÿííûõ ïî äïèñåé [346]: 1. Ó Àëèñû åñòü n ðàçëè÷íûõ ñîîáùåíèé. Áîá ìîæåò âûáðàòü îäíî èç íèõ, ÷òîáû Àëèñà åãî ïîäïèñàëà, è ó Àëèñû íå áóäåò ñïîñîáà óçíàòü, ÷òî æå îíà ïîäïèñàëà . 2. Ó Àëèñû åñòü åäèíñòâåííîå ñîîáùåíèå . Áîá ìîæåò âûáðàòü îäèí èç n êëþ÷åé, êîòîðûì Àëèñà ïîäïèøåò ñîîáùåíèå, è Àëèñà íå ñìîæåò óçíàòü, êàêîé êëþ÷ îíà èñïîëüçîâàëà . Èäåÿ èçÿùíà, ÿ óâåðåí, ÷òî ãäå-íèáóäü îíà íàéäåò ïðèìåíåíèå .
5.7 Îäíîâðåìåííàÿ ïîäïèñü êîíòðàêòà Ïîäïèñü êîíòðàêòà ñ ïîìîùüþ ïîñðåäíèêà Àëèñà è Áîá õîòÿò çàêëþ÷èòü êîíòðàêò . Îíè äîñòèãëè ñîãëàñèÿ íà ñëîâàõ, íî íèêòî íå õî÷åò ñòàâèòü ñâîþ ïîäïèñü, ïîêà íå ïîñòàâëåíà ïîäïèñü äðóãîãî . Ïðè ëè÷íîé âñòðå÷å ýòî íå âûçûâàåò çàòðóäíåíèé - îáà ïîäïèñ ûâàþò âìåñòå. Íà ðàññòîÿíèè îíè ìîãóò îáðàòèòüñÿ ê ïîñðåäíèêó . (1) Àëèñà ïîäïèñûâàåò êîïèþ êîíòðàêòà è ïîñûëàåò åå Òðåíòó . (2) Áîá ïîäïèñûâàåò êîïèþ êîíòðàêòà è ïîñûëàåò åå Òðåíòó . (3) Òðåíò ïîñûëàåò ñîîáùåíèå è Àëèñå, è Áîáó, ñîîáùàþùåå, ÷òî äðóãîé ïàðòíåð ïîäïèñàë êîíòðàêò . (4) Àëèñà ïîäïèñûâàåò äâå êîïèè êîíòðàêòà è ïîñûëàåò èõ Áîáó . (5) Áîá ïîäïèñûâàåò îáå êîïèè êîíòðàêòà, ñîõðàíÿåò îäíó äëÿ ñåáÿ, è ïîñûëàåò äðóãóþ Àëèñå . (6) Àëèñà è Áîá ñîîáùàþò Òðåíòó, ÷òî ó êàæäîãî èç íèõ åñòü ïîäïèñàííàÿ îáîèìè ïàðòíåðàìè êîïèÿ êîíòðà êòà. (7) Òðåíò óíè÷òîæàåò ñâîè äâå êîïèè êîíòðàêòà, ñ åäèíñòâåííîé ïîäïèñüþ ïîä êàæäûì . Ýòîò ïðîòîêîë ðàáîòàåò, ïîòîìó ÷òî Òðåíò çàùèùàåò ëþáóþ èç ñòîðîí îò ìîøåííè÷åñòâà äðóãîé . Åñëè Áîá ïîïûòàåòñÿ îòêàçàòüñÿ îò ïîäïèñè ïîä êîíòðàêòîì íà ýòàïå (5), Àëèñà ìîæåò îáðàòèòüñÿ ê Òðåíòó çà êîïèåé êîíòðàêòà, óæå ïîäïèñàííîãî Áîáîì . Åñëè Àëèñà ïîïûòàåòñÿ îòêàçàòüñÿ îò ïîäïèñè ïîä êîíòðàêòîì íà ýòàïå (4), Áîá ìîæåò ñäåëàòü òî æå ñàìîå. Êîãäà Òðåíò ñîîáùàåò, ÷òî îí ïîëó÷èë îáà êîíòðàêòà íà ýòàïå (3), Àëèñà è Áîá óçíàþò, ÷òî äðóãîé ïàðòíåð óæå ïîäïèñàë êîíòðàêò . Åñëè Òðåíò íå ïîëó÷èò îáà êîíòðàêòà íà ýòàïàõ (1) è (2), îí óíè÷òîæàåò èìåþùóþñÿ ó íåãî êîïèþ, è íè îäíà èç ñòîðîí íå ñâÿçàíà áîëåå îáÿçàòåëüñòâàìè êîíòðàêòà . Îäíîâðåìåííàÿ ïîäïèñü êîíòðàêòà áåç ïîñðåäíèêà (ëèöîì ê ëèöó) Åñëè Àëèñà è Áîá âñòðå÷àþòñÿ ëèöîì ê ëèöó , îíè ìîãóò ïîäïèñàòü êîíòðàêò ñëåäóþùèì îáðàçîì [1244]: (1) Àëèñà ïèøåò ïåðâóþ áóêâó ñâîåãî èìåíè è ïåðåäàåò êîíòðàêò Áîáó. (2) Áîá ïèøåò ïåðâóþ áóêâó ñâîåãî èìåíè è ïåðåäàåò êîíòðàêò Àëèñå.
(3) Àëèñà ïèøåò âòîðóþ áóêâó ñâîåãî èìåíè è ïåðåäàåò êîíòðàêò Áîáó. (4) Áîá ïèøåò âòîðóþ áóêâó ñâîåãî èìåíè è ïåðåäàåò êîíòðàêò Àëèñå. (5) Ýòî ïðîäîëæàåòñÿ äî òåõ ïîð, ïîêà Àëèñà è Áîá íå íàïèøóò ñâîè èìåíà ïîëíîñòüþ. Åñëè ïðåíåáðå÷ü î÷åâèäíîé ïðîáëåìîé ïðîòîêîëà (èìÿ Àëèñû äëèííåå èìåíè Áîáà), òî îí ðàáîòàåò äîñò àòî÷íî õîðîøî. Íàïèñàâ òîëüêî îäíó áóêâó èç ïîäïèñè, Àëèñà çíàåò, ÷òî íèêàêîé ñóäüÿ íå ñòàíåò çàñòàâëÿòü åå âûïîëíÿòü óñëîâèÿ êîíòðàêòà. Íî íàïèñàííàÿ áóêâà - ýòî àêò äîáðîé âîëè, è Áîá îòâå÷àåò àíàëîãè÷íûì äåéñ òâèåì. Êîãäà êàæäàÿ èç ñòîðîí íàïèøåò íåñêîëüêî áóêâ ïîäïèñè, ñóäüÿ âåðîÿòíî ñìîæåò óáåäèòüñÿ, ÷òî îáå ñòîðîíû ïîäïèñàëè êîíòðàêò. Õîòÿ, åñëè âãëÿäåòüñÿ, ñèòóàöèÿ âåñüìà òóìàííà . Êîíå÷íî æå, òî, ÷òî êîíòðàêò íå âñòóïàåò â ñèëó ïîñëå íàïèñàíèÿ ïåðâûõ áóêâ, òàê æå î÷åâèäíî êàê è òî, ÷òî êîíòðàêò ñòàíîâèòñÿ äåéñòâóþùèì ïîñëå òîãî, êàê ñòîðîíû íàïèøóò ñâîè èìåíà .  êàêîì ìåñòå ïðîòîêîëà ñòîðîíû îêàçûâàþòñÿ ñâÿçàííûìè êîíòðàêòîì? Íàïèñàâ ïîëîâèíó ñâîèõ èìåí? Äâå òðåòè? Òðè ÷åòâåðòè? Òàê êàê íè Àëèñà, íè Áîá íå çíàþò òî÷íî, ñ êàêîãî ìîìåíòà íà÷èíàåò äåéñòâîâàòü êîíòðàêò, òî ó êàæäîãî èç íèõ íà ïðîòÿæåíèè âñåãî ïðîòîêîëà åñòü îïàñåíèå, ÷òî äëÿ íåãî èëè äëÿ íåå êîíòðàêò óæå âñòóïèë â ñèëó . Íå ñóùåñòâóåò ýòàïà ïðîòîêîëà, íà êîòîðîì Áîá ñìîã áû ñêàçàòü : "Âû íàïèñàëè ÷åòûðå áóêâû ïîäïèñè, à ÿ òîëüêî òðè. Âû ñâÿçàíû êîíòðàêòîì, à ÿ íåò. " Ó Áîáà íåò ïðè÷èí ïðåêðàùàòü âûïîëíåíèå ïðîòîêîëà . Áîëåå òîãî, ÷åì äîëüøå ñòîðîíû âûïîëíÿþò ïðîòîêîë , òåì áîëüøå âåðîÿòíîñòü òîãî, ÷òî ñóäüÿ ðåøèò, ÷òî êîíòðàêò âñòóïèë â ñèëó. È ñíîâà, íåò ïðè÷èíû ïðåðûâàòü ïðîòîêîë .  êîíöå êîíöîâ, îíè îáà õîòåëè ïîäïèñàòü êîíòðàêò, îíè ïð îñòî íå õîòåëè ïîäïèñûâàòü åãî ðàíüøå äðóãîãî ïàðòíåðà . Îäíîâðåìåííàÿ ïîäïèñü êîíòðàêòà áåç ïîñðåäíèêà (áåç ëè÷íîé âñòðå÷è)  ýòîì ïðîòîêîëå èñïîëüçóåòñÿ òàêàÿ æå íåîïðåäåëåííîñòü [138]. Àëèñà è Áîá ïî î÷åðåäè äâèæóòñÿ äåòñêèìè øàæêàìè ê ïîäïèñàíèþ ïðîòîêîëà .  ýòîì ïðîòîêîëå Àëèñà è Áîá îáìåíèâàþòñÿ ðÿäîì ïîäïèñàííûõ ñîîáùåíèé âèäà : "ß ñîãëàñåí, ÷òî ñ âåðîÿòíîñòüþ p ÿ ñâÿçàí óñëîâèÿìè êîíòðàêòà." Ïîëó÷àòåëü ñîîáùåíèÿ ìîæåò ïðåäúÿâèòü åãî ñóäüå è, ñ âåðîÿòíîñòüþ p, ñóäüÿ ïðèçíàåò êîíòðàêò ïîäïèñà ííûì. (1) Àëèñà è Áîá ñîãëàñîâûâàþò äàòó îêîí÷àíèÿ ïîäïèñàíèÿ êîíòðàêòà . (2) Àëèñà è Áîá äîãîâàðèâàþòñÿ î ðàçëè÷èè âåðîÿòíîñòåé, êîòîðûì îíè ñîáèðàþòñÿ ïîëüçîâàòüñÿ. Íàïðèìåð, Àëèñà ìîæåò ðåøèòü, ÷òî åå âåðîÿòíîñòü áûòü ñâÿçàííîé óñëîâèÿìè êîíòðàêòà íå äîëæíà ïðåâûøàòü â åðîÿòíîñòü Áîáà áîëüøå, ÷åì íà 2 ïðîöåíòà . Îáîçíà÷èì ðàçëè÷èå Àëèñû êàê a, ðàçëè÷èå Áîáà - êàê b. (3) Àëèñà ïîñûëàåò Áîáó ïîäïèñàííîå ñîîáùåíèå ñ âåðîÿòíîñòüþ p = a. (4) Áîá ïîñûëàåò Àëèñå ïîäïèñàííîå ñîîáùåíèå ñ p = a + b. (5) Ïóñòü p - ýòî âåðîÿòíîñòü èç ñîîáùåíèÿ, ïîëó÷åííîãî Àëèñîé îò Áîáà íà ïðåäûäóùåì ýòàïå . Àëèñà ïîñûëàåò Áîáó ïîäïèñàííîå ñîîáùåíèå ñ p' = p + a èëè 1, ñìîòðÿ ÷òî ìåíüøå. (6) Ïóñòü p - ýòî âåðîÿòíîñòü èç ñîîáùåíèÿ, ïîëó÷åííîãî Áîáîì îò Àëèñû íà ïðåäûäóùåì ýòàïå . Áîá ïîñûëàåò Àëèñå ïîäïèñàííîå ñîîáùåíèå ñ p' = p + b èëè 1, ñìîòðÿ ÷òî ìåíüøå. (7) Àëèñà è Áîá ïðîäîëæàþò âûïîëíÿòü ýòàïû (5) è (6) äî òåõ ïîð, ïîêà îíè îáà íå ïîëó÷àò ñîîáùåíèÿ ñ p = 1 èëè ïîêà íå íàñòóïèò ñîãëàñîâàííàÿ íà ýòàïå (1) äàòà . Ïî ìåðå âûïîëíåíèÿ ïðîòîêîëà è Àëèñà, è Áîá ñîãëàøàþòñÿ, ÷òî îíè îêàçûâàþòñÿ ñâÿçàííûìè êîíòðàêòîì ñî âñå áîëüøåé è áîëüøåé âåðîÿòíîñòüþ . Íàïðèìåð, Àëèñà ìîæåò îïðåäåëèòü ñâîå a êàê 2 ïðîöåíòà, à Áîá ñâîå b - êàê 1 ïðîöåíò. (Ëó÷øå áû îíè âûáðàëè áîëüøèå ïðèðàùåíèÿ, à òî ìû çàñòðÿíåì íà ýòîì ìåñòå.)  ïåðâîì ñîîáùåíèè Àëèñà ñîîáùàåò, ÷òî îíà ñâÿçàíà êîíòðàêòîì ñ âåðîÿòíîñòüþ 2 ïðîöåíòà . Áîá ìîæåò îòâåòèòü, ÷òî îí ñâÿçàí êîíòðàêòîì ñ âåðîÿòíîñòüþ 3 ïðîöåíòà . Ñëåäóþùåå ñîîáùåíèå Àëèñû ìîæåò óòâåðæäàòü, ÷òî îíà ñâÿç àíà êîíòðàêòîì ñ âåðîÿòíîñòüþ 5 ïðîöåíòà è òàê äàëåå, ïîêà âåðîÿòíîñòè îáîèõ íå äîñòèãíóò 100 ïðîöåíòîâ . Åñëè è Àëèñà, è Áîá çàâåðøèëè ïðîòîêîë ê îãîâîðåííîé äàòå , òî âñå ïðåêðàñíî.  ïðîòèâíîì ñëó÷àå, ëþáàÿ èç ñòîðîí ìîæåò ïðåäúÿâèòü êîíòðàêò ñóäüå âìåñòå ñ ïîäïèñàííûì ïîñëåäíèì ñîîáùåíèåì äðóãîé ñòîðîíû. Ïðåæäå, ÷åì ïðîñìîòðåòü êîíòðàêò, ñóäüÿ ñëó÷àéíûì îáðàçîì âûáèðàåò ÷èñëî ìåæäó 0 è 1. Åñëè ýòî ÷èñëî ìåíüøå âåðîÿòíîñòè, ïîäïèñàííîé âòîðîé ñòîðîíîé, òî îáå ñòîðîíû ñâÿçàíû êîíòðàêòîì. Åñëè ýòî ÷èñëî áîëüøå âåðîÿòíîñòè, ïîäïèñàííîé âòîðîé ñòîðîíîé, òî îáå ñòîðîíû íå ñâÿçàíû êîíòðàêòîì. (Çàòåì ñóäüÿ ñîõðàíÿåò èñïîëüçîâàííîå ÷èñëî íà ñëó÷àé ðåøåíèÿ äðóãîãî âîïðîñà, êàñàþùåãîñÿ òîãî æå êîíòðàêòà .) Èìåííî ýòî è îçíà÷àåò "áûòü ñâÿçàííûì êîíòðàêòîì ñ âåðîÿòíîñòüþ p". Ýòî áàçîâûé ïðîòîêîë, íî ìîãóò èñïîëüçîâàòüñÿ è äîïîëíèòåëüíûå óñëîæíåíèÿ . Ñóäüÿ ìîæåò ïðèíèìàòü ðå-
øåíèå â îòñóòñòâèå îäíîé èç ñòîðîí . Ðåøåíèå ñóäüè ñâÿçûâàåò êîíòðàêòîì ëèáî îáå ñòîðîíû, ëèáî íè îäíó èç íèõ. Íå ñóùåñòâóåò ñèòóàöèè, êîãäà îäíà èç ñòîðîí ñâÿçàíà êîíòðàêòîì, à äðóãàÿ - íåò . Áîëåå òîãî, ïðîòîêîë çàâåðøèòñÿ, êàê òîëüêî îäíà èç ñòîðîí çàõî÷åò èìåòü õîòü íåìíîãî áîëüøóþ, ÷åì äðóãàÿ, âåðîÿòíîñòü áûòü ñâ ÿçàííîé êîíòðàêòîì. Îäíîâðåìåííàÿ ïîäïèñü êîíòðàêòà áåç ïîñðåäíèêà (ñ ïîìîùüþ êðèïòîãðàôèè) Ýòîò êðèïòîãðàôè÷åñêèé ïðîòîêîë èñïîëüçóåò òîò æå ïðèíöèï äåòñêèõ øàæêîâ [529]. Äëÿ îïðåäåëåííîñòè èñïîëüçóåòñÿ DES, õîòÿ âìåñòî íåãî ìîæåò áûòü ëþáîé ñèììåòðè÷íûé àëãîðèòì . (1) È Àëèñà, è Áîá ñëó÷àéíûì îáðàçîì âûáèðàþò 2n êëþ÷åé DES, ñãðóïïèðîâàííûõ ïîïàðíî.  ïàðàõ íåò íè÷åãî îñîáåííîãî, ýòî ïðîñòî ñïîñîá ãðóïïèðîâêè äëÿ äàííîãî ïðîòîêîëà . (2) È Àëèñà, è Áîá ñîçäàþò n ïàð ñîîáùåíèé, Li è Ri , íàïðèìåð, "Ýòî ëåâàÿ ïîëîâèíà ìîåé i-îé ïîäïèñè" è "Ýòî ïðàâàÿ ïîëîâèíà ìîåé i-îé ïîäïèñè". Èäåíòèôèêàòîð, i, ìåíÿåòñÿ îò 1 äî n.  êàæäîå ñîîáùåíèå, âåðîÿòíî, òàêæå áóäåò âõîäèòü öèôðîâàÿ ïîäïèñü êîíòðàêòà è ìåòêà âðåìåíè . Êîíòðàêò ñ÷èòàåòñÿ ïîäïèñàííûì, åñëè äðóãàÿ ñòîðîíà ìîæåò ïðåäúÿâèòü îáå ïîëîâèíû , Li è Ri , îäíîé ïàðû ïîäïèñåé. (3) È Àëèñà, è Áîá øèôðóþò ñâîè ïàðû ñîîáùåíèé ïàðàìè êëþ÷åé DES, ëåâîå ñîîáùåíèå - ëåâûì êëþ÷îì â ïàðå , à ïðàâîå - ïðàâûì. (4) Àëèñà è Áîá ïîñûëàþò äðóã äðóãó ñâîè ïà÷êè èç 2n øèôðîâàííûõ ñîîáùåíèé, ïîÿñíÿÿ, êàêèå ñîîáùåíèÿ êàêèìè ïîëîâèíàìè êàêèõ ïàð ÿâëÿþòñÿ . (5) Àëèñà è Áîá ïîñûëàþò äðóã äðóãó âñå ïàðû êëþ÷åé, èñïîëüçóÿ ïðîòîêîë ðàññåÿííîé ïåðåäà÷è äëÿ êàæäîé ïàðû. Òî åñòü, Àëèñà ïîñûëàåò Áîáó íåçàâèñèìî äëÿ êàæäîé èç n ïàð êëþ÷åé ëèáî êëþ÷, èñïîëüçîâàííûé äëÿ øèôðîâàíèÿ ëåâîãî ñîîáùåíèÿ, ëèáî êëþ÷, èñïîëüçîâàííûé äëÿ øèôðîâàíèÿ ïðàâîãî ñîîáùåíèÿ . Áîá äåëàåò òî æå ñàìîå. Îíè ìîãóò ïîñûëàòü ñâîè ïîëîâèíêè ïî î÷åðåäè, èëè ñíà÷àëà îäèí ìîæåò ïîñëàòü âñå 100, à ïîòîì äðóãîé - ýòî íå èìååò çíà÷åíèÿ . Òåïåðü è ó Àëèñû, è ó Áîáà åñòü ïî îäíîìó êëþ÷ó èç êàæäîé ïàðû, íî íèêòî íå çíàåò, êàêèå èç ïîëîâèíîê ïîëó÷èë ïàðòíåð . (6) Àëèñà è Áîá, èñïîëüçóÿ ïîëó÷åííûå êëþ÷è, ðàñøèôðîâûâàþò òå ïîëîâèíêè ñîîáùåíèé, êîòîðûå îíè ì îãóò ðàñøèôðîâàòü. Îíè óáåæäàþòñÿ, ÷òî ðàñøèôðîâàííûå ñîîáùåíèÿ ïðàâèëüíû . (7) Àëèñà è Áîá ïîñûëàþò äðóã äðóãó ïåðâûå áèòû âñåõ 2n êëþ÷åé DES. (8) Àëèñà è Áîá ïîâòîðÿþò ýòàï (7) äëÿ âòîðûõ áèòîâ âñåõ 2n êëþ÷åé DES, çàòåì òðåòüèõ áèòîâ è òàê äàëåå, ïîêà âñå áèòû âñåõ êëþ÷åé DES íå áóäóò ïåðåäàíû. (9) Àëèñà è Áîá ðàñøèôðîâûâàþò îñòàâøèåñÿ ïîëîâèíêè ñîîáùåíèé, è êîíòðàêò ïîäïèñàí . (10) Àëèñà è Áîá îáìåíèâàþòñÿ çàêðûòûìè êëþ÷àìè, èñïîëüçîâàííûìè äëÿ ïðîòîêîëà ðàññåÿííîé ïåðåäà÷è íà ýòàïå (5), è êàæäûé èç íèõ óáåæäàåòñÿ â îòñóòñòâèè ìîøåííè÷åñòâà . Ïî÷åìó Àëèñå è Áîáó íóæíî âûïîëíèòü âñþ ýòó íóäíóþ ïîñëåäîâàòåëüíîñòü äåéñòâèé? Ïðåäïîëîæèì, ÷òî Àëèñà õî÷åò ñìîøåííè÷àòü, è ïîñìîòðèì, ÷òî ïîëó÷èòñÿ . Íà ýòàïàõ (4) è (5) Àëèñà ìîãëà áû ðàçðóøèòü ïðîòîêîë, ïîñëàâ Áîáó íè÷åãî íå çíà÷àùèå ñòðîêè . Áîá îáíàðóæèë áû ýòî íà ýòàïå (6) ïðè ïîïûòêå ðàñøèôðîâàòü ïîëó÷åííûå ïîëîâèíêè. Áîá ñ ïîëíîé áåçîïàñíîñòüþ ìîæåò îñòàíîâèòüñÿ äî òîãî, êàê Àëèñà ñìîæåò ðàñøèôð îâàòü ëþáóþ èç ïàð ñîîáùåíèé Áîáà. Åñëè áû Àëèñà áûëà î÷åíü õèòðîé, îíà ìîãëà áû ðàçðóøèòü òîëüêî ïîëîâèíó ïðîòîêîëà . Îíà ìîãëà áû ïîñëàòü îäíó ïîëîâèíêó èç êàæäîé ïàðû ïðàâèëüíî, à âìåñòî âòîðîé îòïðàâèòü áåññìûñëåííûå ñòðîêè . Âåðîÿòíîñòü Áîáà ïîëó÷èòü ïðàâèëüíóþ ïîëîâèíêó ñîñòàâèò òîëüêî 50 ïðîöåíòîâ , ïîýòîìó â ïîëîâèíå ñëó÷àåâ ìîøå ííè÷åñòâî Àëèñû óäàñòñÿ, íî òîëüêî äëÿ îäíîé ïàðû . Åñëè áû èñïîëüçîâàëèñü òîëüêî äâå ïàðû, ýòîò ñïîñîá ì îøåííè÷åñòâà óäàñòñÿ â 25 ïðîöåíòàõ ñëó÷àåâ . Âîò ïî÷åìó n äîëæíî áûòü âåëèêî. Àëèñå íåîáõîäèìî òî÷íî óãàäàòü ðåçóëüòàò n ïðîòîêîëîâ ðàññåÿííîé ïåðåäà÷è, åå âåðîÿòíîñòü äîáèòüñÿ ýòîãî ñîñòàâëÿåò 1 øàíñ èç 2 n. Åñëè n = 10, ó Àëèñû 1 øàíñ èç 1024 îáìàíóòü Áîáà . Àëèñà òàêæå ìîæåò îòïðàâèòü Áîáó ñëó÷àéíûå áèòû íà ýòàïå (8). Âîçìîæíî, Áîá íå óçíàåò, ÷òî îíà ïîñëàëà åìó ñëó÷àéíûå áèòû, ïîêà íå ïîëó÷èò âåñü êëþ÷ è íå ïîïûòàåòñÿ ðàñøèôðîâàòü ïîëîâèíêè ñîîáùåíèÿ . Íî ñíîâà âåðîÿòíîñòü íà ñòîðîíå Áîáà. Îí óæå ïîëó÷èë ïîëîâèíó êëþ÷åé, è Àëèñà íå çíàåò êàêóþ. Åñëè n äîñòàòî÷íî âåëèêî, Àëèñà íàâåðíÿêà ïðèøëåò åìó áåññìûñëåííûé áèò äëÿ êëþ÷à, êîòîðûé ó íåãî óæå åñòü, è îí íåìåäëå ííî óçíàåò, ÷òî îíà ïûòàåòñÿ åãî îáìàíóòü . Âîçìîæíî, Àëèñà áóäåò âûïîëíÿòü ýòàï (8) äî òåõ ïîð, ïîêà îíà íå ïîëó÷èò äîñòàòî÷íî áèòîâ êëþ÷åé äëÿ âñêðûòèÿ ãðóáûì âçëîìîì, è çàòåì ïðåêðàòèò ïåðåäà÷ó áèòîâ . Äëèíà êëþ÷à DES - 56 áèòîâ. Åñëè îíà ïîëó÷èëà 40 èç 56 áèòîâ, åé îñòàíåòñÿ ïåðåáðàòü 2 16, èëè 65536, êëþ÷åé äëÿ äåøèôðîâêè ñîîáùåíèÿ, à ýòà çàäà÷à, îïð åäåëåííî, ïî ñèëàì ñîâðåìåííûì êîìïüþòåðàì . Íî Áîá ïîëó÷èò ðîâíî ñòîëüêî æå áèòîâ åå êëþ÷åé (èëè, â õó äøåì ñëó÷àå, íà îäèí áèò ìåíüøå) , ñëåäîâàòåëüíî, îí ñìîæåò ñäåëàòü òî æå ñàìîå . Ó Àëèñû íåò äðóãîãî âûáîðà, êðîìå êàê ïðîäîëæàòü ñëåäîâàòü ïðîòîêîëó.
Èäåÿ â òîì, ÷òî Àëèñå ïðèäåòñÿ èãðàòü ÷åñòíî, ïîòîìó ÷òî âåðîÿòíîñòü îáìàíóòü Áîáà ñëèøêîì ìàëà .  êîíöå ïðîòîêîëà ó îáåèõ ñòîðîí åñòü n ïîäïèñàííûõ ïàð ñîîáùåíèé, ëþáîå èç êîòîðûõ äîñòàòî÷íî äëÿ ïðàâèëüíîé ïîäïèñè. Ó Àëèñû åñòü òîëüêî îäèí ñïîñîá ñìîøåííè÷àòü - îíà ìîæåò ïîñëàòü Áîáó îäèíàêîâûå ñîîáùåíèÿ íà ýòàïå (5). Áîá íå ñìîæåò îáíàðóæèòü ýòîãî äî îêîí÷àíèÿ ïðîòîêîëà, íî îí ñìîæåò èñïîëüçîâàòü ñòåíîãðàììó ïðîòîê îëà, ÷òîáû óáåäèòü ñóäüþ â äâóëè÷íîñòè Àëèñû . Ïðîòîêîëû ýòîãî òèïà èìåþò äâà ñëàáûõ ìåñòà [138]. Âî ïåðâûõ, ïðîáëåìà âîçíèêàåò, åñëè âû÷èñëèòåëüíàÿ ìîùü îäíîé ñòîðîíû ãîðàçäî áîëüøå, ÷åì ó äðóãîé . Åñëè, íàïðèìåð, Àëèñà ìîæåò âûïîëíèòü âñêðûòèå ãðóáûì âçëîìîì áûñòðåå Áîáà, òî îíà ðàíî ïðåêðàòèò ïåðåäà÷ó áèòîâ íà ýòàïå (8) è ðàñêðîåò êëþ÷è Áîáà ñàìîñòîÿòåë üíî. Áîáó, êîòîðîìó äëÿ òàêèõ æå äåéñòâèé ïðîñòî íå õâàòèò âðåìåíè, íå ïîâåçåò . Âî âòîðûõ, ïðîáëåìà âîçíèêàåò, åñëè îäíà èç ñòîðîí ïðåêðàùàåò ïðîòîêîë ðàíüøå âðåìåíè . Åñëè Àëèñà îáîðâåò âûïîëíåíèå ïðîòîêîëà, îáà ñòîëêíóòñÿ ñ îäèíàêîâûìè âû÷èñëèòåëüíûìè ïðîáëåìàìè, íî ó íå õâàòèò ðåñóðñîâ çàâåðøèòü âû÷èñëåíèÿ ê íóæíîìó ñðîêó . Ïðîáëåìà ïîÿâëÿåòñÿ, ê ïðèìåðó, åñëè êîíòðàêò îïðåäåëÿåò, ÷òî Àëèñà äîëæíà ñäåëàòü ÷òî-òî ÷åðåç íåäåëþ , à îíà ïðåðûâàåò ïðîòîêîë â òîò ìîìåíò, êîãäà Áîáó äëÿ âû÷è ñëåíèÿ åå ïîäïèñè ïîòðåáóåòñÿ öåëûé ãîä ðàñ÷åòîâ . Ðåàëüíàÿ ñëîæíîñòü ïðè ýòîì çàêëþ÷àåòñÿ â áëèçêîé äàòå ïðåäìåòà êîíòðàêòà, ê êîòîðîé ïðîöåññ íå áóäåò çàâåðøåí îäíîé èëè îáåèìè ïîäïèñûâàþùèìè ñòîðîíàìè . Ýòè ïðîáëåìû ñóùåñòâóþò òàêæå äëÿ ïðîòîêîëîâ ðàçäåëîâ 5.8 è 5.9.
5.8 Ýëåêòðîííàÿ ïî÷òà ñ ïîäòâåðæäåíèåì Òàêîé æå ïðîòîêîë îäíîâðåìåííîé ðàññåÿííîé ïåðåäà÷è, èñïîëüçîâàííûé äëÿ ïîäïèñàíèÿ êîíòðàêòà, ñ í åáîëüøèìè èçìåíåíèÿìè èñïîëüçóåòñÿ äëÿ ýëåêòðîííîé ïî÷òû ñ ïîäòâåðæäåíèåì [529]. Ïóñòü Àëèñà õî÷åò ïîñëàòü ñîîáùåíèå Áîáó, íî íå õî÷åò, ÷òîáû îí ïðî÷èòàë åãî, íå ðàñïèñàâøèñü â ïîëó÷åíèè .  ðåàëüíîé æèçíè ýòî îáåñïå÷èâàåòñÿ íåïðèâåòëèâûìè ïî÷òîâûìè ñëóæàùèìè , íî òî æå ñàìîå ìîæåò áûòü ñäåëàíî ïðè ïîìîùè êðèïòîãðàôèè. Ýòó ïðîáëåìó ïåðâûì ðàññìîòðåë Óè òôèëä Äèôôè â [490]. Íà ïåðâûé âçãëÿä, ýòó ïðîáëåìó ìîã áû ðåøèòü ïðîòîêîë îäíîâðåìåííîãî ïîäïèñàíèÿ êîíòðàêòà. Àëèñà ïðîñòî êîïèðóåò ñâîå ñîîáùåíèå êëþ÷îì DES. Åå ïîëîâèíà ïðîòîêîëà âûãëÿäèò ïðèìåðíî òàê : "Ýòî ëåâàÿ ïîëîâèíà êëþ÷à DES: 32f5", à ïîëîâèíà ïðîòîêîëà Áîáà - òàê : "Ýòî ëåâàÿ ïîëîâèíà ìîåé êâèòàíöèè ." Âñå îñòàëüíîå íå ìåíÿåòñÿ. ×òîáû ïîíÿòü, ïî÷åìó ýòî íå ðàáîòàåò, âñïîìíèòå, ÷òî ïðîòîêîë îïèðàåòñÿ íà òî, ÷òî ðàññåÿííàÿ ïåðåäà÷à íà ýòàïå (5) ïðåäîõðàíÿåò îò ìîøåííè÷åñòâà îáå ñòîðîíû . Îáà ïàðòíåðà çíàþò, ÷òî îíè ïîñëàëè äðóãîé ñòîðîíå ïðàâèëüíóþ ïîëîâèíó, íî íèêòî íå çíàåò êàêóþ . Îíè íå ìîøåííè÷àþò íà ýòàïå (8), ïîòîìó ÷òî âåðîÿòíîñòü âûéòè ñóõèì èç âîäû ÷ðåçâû÷àéíî ìàëà . Åñëè Àëèñà ïîñûëàåò Áîáó íå ñîîáùåíèå, à ïîëîâèíó êëþ÷à DES, òî Áîá íå ìîæåò ïðîâåðèòü ïðàâèëüíîñòü êëþ÷à DES íà ýòàïå (6). Àëèñà æå ìîæåò ïðîâåðèòü ïðàâèëüíîñòü êâ èòàíöèè Áîáà, ïîýòîìó Áîáó ïðèäåòñÿ áûòü ÷åñòíûì . Àëèñà ëåãêî ìîæåò îòïðàâèòü Áîáó íåïðàâèëüíûé êëþ÷ à êîãäà îí îáíàðóæèò ýòî, åãî êâèòàíöèÿ óæå áóäåò ó Àëèñû . Âîò íåâåçóõà, Áîá. Ðåøåíèå ýòîé ïðîáëåìû ïîòðåáóåò íåêîòîðîé êîððåêöèè ïðîòîêîëà : (1) Àëèñà øèôðóåò ñâîå ñîîáùåíèå ñëó÷àéíûì êëþ÷îì DES è ïîñûëàåò åãî Áîáó. (2) Àëèñà ñîçäàåò n ïàð êëþ÷åé DES. Ïåðâûé êëþ÷ êàæäîé ïàðû ãåíåðèðóåòñÿ ñëó÷àéíûì îáðàçîì, à âòîðîé ïðåäñòàâëÿåò ñîáîé XOR ïåðâîãî êëþ÷à è êëþ÷à øèôðîâàíèÿ ñîîáùåíèÿ . (3) Àëèñà øèôðóåò ñîîáùåíèå-çàãëóøêó êàæäûì èç ñâîèõ 2n êëþ÷åé. (4) Àëèñà ïîñûëàåò Áîáó âñþ ïà÷êó øèôðîâàííûõ ñîîáùåíèé , ïðîâåðÿÿ, ÷òî îí çíàåò, êàêèå ñîîáùåíèÿ ê àêèìè ïîëîâèíàìè êàêèõ ïàð ÿâëÿþòñÿ . (5) Áîá ñîçäàåò n ïàð ñëó÷àéíûõ êëþ÷åé DES. (6) Áîá ñîçäàåò ïàðó ñîîáùåíèé, îáðàçóþùèõ ïðàâèëüíóþ êâèòàíöèþ . Õîðîøèì âàðèàíòàìè ìîãóò ñëóæèòü "Ýòî ëåâàÿ ïîëîâèíà ìîåé êâèòàíöèè" è "Ýòî ëåâàÿ ïîëîâèíà ìîåé êâèòàíöèè" ñ äîáàâëåíèåì êàêîéíèáóäü ñòðîêè ñëó÷àéíûõ áèòîâ. Îí ñîçäàåò n ïàð êâèòàíöèé, íóìåðóÿ êàæäóþ. Êàê è â ïðåäûäóùåì ïð îòîêîëå êâèòàíöèÿ ñ÷èòàåòñÿ ïðàâèëüíîé, åñëè Àëèñà ìîæåò ïðåäúÿâèòü îáå ïîëîâèíû êâèòàíöèè (ñ îäíèì è òåì æå íîìåðîì) è âñå åå êëþ÷è øèôðîâàíèÿ. (7) Áîá øèôðóåò êàæäóþ ñâîþ ïàðó ñîîáùåíèé ïàðàìè êëþ÷åé DES, i-óþ ïàðó ñîîáùåíèé - i-îé ïàðîé êëþ÷åé, ëåâîå ñîîáùåíèå - ëåâûì êëþ÷îì â ïàðå , à ïðàâîå - ïðàâûì . â ïàðå. (8) Áîá ïîñûëàåò Àëèñå ñâîþ ïà÷êó øèôðîâàííûõ ñîîáùåíèé , ïðîâåðÿÿ, ÷òî îíà çíàåò, êàêèå ñîîáùåíèÿ ê àêèìè ïîëîâèíàìè êàêèõ ïàð ÿâëÿþòñÿ . (9) Àëèñà è Áîá ïîñûëàþò äðóã äðóãó âñå ïàðû êëþ÷åé, èñïîëüçóÿ ïðîòîêîë ðàññåÿííîé ïåðåäà÷è . Òî åñòü,
Àëèñà ïîñûëàåò Áîáó íåçàâèñèìî äëÿ êàæäîé èç n ïàð êëþ÷åé ëèáî êëþ÷, èñïîëüçîâàííûé äëÿ øèôðîâ àíèÿ ëåâîãî ñîîáùåíèÿ, ëèáî êëþ÷, èñïîëüçîâàííûé äëÿ øèôðîâàíèÿ ïðàâîãî ñîîáùåíèÿ . Áîá äåëàåò òî æå ñàìîå. Îíè ìîãóò ïîñûëàòü ñâîè ïîëîâèíêè ïî î÷åðåäè, èëè ñíà÷àëà îäèí ìîæåò ïîñëàòü âñå n, à ïîòîì äðóãîé - ýòî íå èìååò çíà÷åíèÿ. Òåïåðü è ó Àëèñû, è ó Áîáà åñòü ïî îäíîìó êëþ÷ó èç êàæäîé ïàðû , íî íèêòî íå çíàåò, êàêèå èç ïîëîâèíîê ïîëó÷èë ïàðòíåð . (10) Àëèñà è Áîá ðàñøèôðîâûâàþò òå ïîëîâèíêè ñîîáùåíèé, êîòîðûå ìîãóò è óáåæäàþòñÿ, ÷òî ðàñøèôðîâàííûå ñîîáùåíèÿ ïðàâèëüíû. (11) Àëèñà è Áîá ïîñûëàþò äðóã äðóãó ïåðâûå áèòû âñåõ 2n êëþ÷åé DES. (Åñëè îíè áåñïîêîÿòñÿ, ÷òî Åâà ñìîæåò ïðî÷èòàòü ýòè ïî÷òîâûå ñîîáùåíèÿ, òî îíè äîëæíû øèôðîâàòü ñâîé îáìåí áèòàìè). (12) Àëèñà è Áîá ïîâòîðÿþò ýòàï (11) äëÿ âòîðûõ áèòîâ âñåõ 2n êëþ÷åé DES, çàòåì òðåòüèõ áèòîâ è òàê äàëåå, ïîêà âñå áèòû âñåõ êëþ÷åé DES íå áóäóò ïåðåäàíû. (13) Àëèñà è Áîá ðàñøèôðîâûâàþò îñòàâøèåñÿ ïîëîâèíêè ñîîáùåíèé. Àëèñà ïîëó÷àåò ïðàâèëüíóþ êâèòà íöèþ îò Áîáà, à Áîá ìîæåò âûïîëíèòü "èñêëþ÷àþùåå èëè" äëÿ ëþáîé ïàðû êëþ÷åé è ïðîëó÷èòü êëþ÷, ê îòîðûì çàøèôðîâàíî îðèãèíàëüíîå ñîîáùåíèå. (14) Àëèñà è Áîá îáìåíèâàþòñÿ çàêðûòûìè êëþ÷àìè, èñïîëüçîâàííûìè äëÿ ïðîòîêîëà ðàññåÿííîé ïåðåäà÷è, è êàæäûé èç íèõ óáåæäàåòñÿ â îòñóòñòâèè ìîøåííè÷åñòâà . Ýòàïû (5)-(8) äëÿ Áîáà è (9)-(12) äëÿ îáåèõ ñòîðîí íå ìåíÿþòñÿ ïî ñðàâíåíèþ ñ ïðîòîêîëîì ïîäïèñàíèÿ êî íòðàêòà. Îòëè÷èå - â ñîîáùåíèÿõ-çàãëóøêàõ Àëèñû . Îíè ïðåäîñòàâëÿþò Áîáó âîçìîæíîñòü ïðîâåðèòü ïðàâèë üíîñòü åå ðàññåÿííîé ïåðåäà÷è íà ýòàïå (10), ÷òî çàñòàâëÿåò åå îñòàâàòüñÿ ÷åñòíîé íà ýòàïàõ (11)-(13). È, êàê è äëÿ ïðîòîêîëà îäíîâðåìåííîãî ïîäïèñàíèÿ êîíòðàêòà , äëÿ âûïîëíåíèÿ ïðîòîêîëà òðåáóþòñÿ îáå ïîëîâèíû î äíîãî èç ñîîáùåíèé Àëèñû.
5.9 Îäíîâðåìåííûé îáìåí ñåêðåòàìè Àëèñà çíàåò ñåêðåò A, à Áîá - ñåêðåò B. Àëèñà ñîáèðàåòñÿ ñîîáùèòü Áîáó A, åñëè îí ðàññêàæåò åé B. Áîá õî÷åò ñîîáùèòü Àëèñå B, åñëè îíà ðàññêàæåò åìó A. Ñëåäóþùèé ïðîòîêîë, ïîäñëóøàííûé íà øêîëüíîì äâîðå, ðàáîòàòü íå áóäåò: (1) Àëèñà: "ß ñêàæó, åñëè òû ñêàæåøü ìíå ïåðâûì ." (2) Áîá: "ß ñêàæó, åñëè òû ñêàæåøü ìíå ïåðâîé ." (3) Àëèñà: "Íåò, òû ïåðâûé." (4) Áîá: "Íó, õîðîøî.'' Áîá øåï÷åò Àëèñå. (5) Àëèñà: "Õà, à ÿ òåáå íå ñêàæó." (6) Áîá: "Ýòî íå ÷åñòíî." ×åñòíûì ýòî ìîæåò ñäåëàòü êðèïòîãðàôèÿ . Ïðåäûäóùèå äâà ïðîòîêîëà ÿâëÿþòñÿ ðåàëèçàöèÿìè áîëåå îáù åãî ïðîòîêîëà, êîòîðûé è ïîçâîëèò Àëèñå è Áîáó îäíîâðåìåííî îáìåíÿòüñÿ ñåêðåòàìè [529]. ×òîáû íå ïîâòîðÿòü ïîëíîñòüþ âåñü ïðîòîêîë, ÿ íàáðîñàþ íåîáõîäèìûå èçìåíåíèÿ ïðîòîêîëà ïî÷òû ñ ïîäòâåðæäåíèåì . Àëèñà âûïîëíÿåò ýòàïû (1)-(4), èñïîëüçóÿ â êà÷åñòâå ñîîáùåíèÿ A. Áîá âûïîëíÿåò ýòè æå äåéñòâèÿ, èñïîë üçóÿ â êà÷åñòâå ñâîåãî ñîîáùåíèÿ B. Àëèñà è Áîá âûïîëíÿþò ðàññåÿííóþ ïåðåäà÷ó íà ýòàïå (9) , ðàñøèôðîâûâàþò íà ýòàïå (10) òå ïîëîâèíêè, êîòîðûå ìîãóò , è âûïîëíÿþò íåîáõîäèìûå èòåðàöèè íà ýòàïàõ (11) è (12) . ×òîáû çàùèòèòüñÿ îò Åâû, îíè äîëæíû øèôðîâàòü ñâîè ñîîáùåíèÿ . Íàêîíåö, è Àëèñà, è Áîá ðàñøèôðîâûâàþò îñòà âøèåñÿ ïîëîâèíû ïàð ñîîáùåíèÿ è âûïîëíÿþò XOR äëÿ ëþáîé ïàðû êëþ÷åé, ÷òîáû ïîëó÷èòü êëþ÷è, êîòîðûìè çàøèôðîâàíû îðèãèíàëüíûå ñîîáùåíèÿ . Ýòîò ïðîòîêîë ïîçâîëÿåò Àëèñå è Áîáó îäíîâðåìåííî îáìåíèâàòüñÿ ñåêðåòàìè, íî íå ãàðàíòèðóåò êà÷åñòâà ïåðåäàííûõ ñåêðåòîâ. Àëèñà ìîæåò ïîîáåùàòü Áîáó ïëàí ëàáèðèíòà Ìèíîòàâðà è ïðèñëàòü åìó ñõåìó Áîñòî íñêîãî ìåòðî. Áîá ïîëó÷èò òîëüêî òîò ñåêðåò, êîòîðûé Àëèñà ïðèøëåò åìó . Äðóãèå ïðîòîêîëû îïèñàíû â [1286, 195, 991, 1524, 705, 753, 259, 358, 415].
Ãëàâà 6 Ýçîòåðè÷åñêèå ïðîòîêîëû 6.1 Áåçîïàñíûå âûáîðû Êîìïüþòåðíîå ãîëîñîâàíèå íèêîãäà íå áóäåò èñïîëüçîâàíî äëÿ îáû÷íûõ âûáîðîâ, ïîêà íå ïîÿâèòñÿ ïðîò îêîë, êîòîðûé îäíîâðåìåííî ïðåäîõðàíÿåò îò ìîøåííè÷åñòâà è çàùèùàåò òàéíó ëè÷íîñòè. Èäåàëüíûé ïðîòîêîë äîëæåí îáëàäàòü, ïî ìåíüøåé ìåðå, ñëåäóþùèìè øåñòüþ ñâîéñòâàìè : 1. Ãîëîñîâàòü ìîãóò òîëüêî òå, êòî èìååò íà ýòî ïðàâî . 2. Êàæäûé ìîæåò ãîëîñîâàòü íå áîëåå îäíîãî ðàçà . 3. Íèêòî íå ìîæåò óçíàòü, çà êîãî ïðîãîëîñîâàë êîíêðåòíûé èçáèðàòåëü . 4. Íèêòî íå ìîæåò ïðîãîëîñîâàòü âìåñòî äðóãîãî. (Ýòî îêàçûâàåòñÿ ñàìûì òÿæåëûì òðåáîâàíèåì .) 5. Íèêòî íå ìîæåò òàéíî èçìåíèòü ÷åé-òî ãîëîñ . 6. Êàæäûé ãîëîñóþùèé ìîæåò ïðîâåðèòü, ÷òî åãî ãîëîñ ó÷èòûâàëñÿ ïðè ïîäâåäåíèè èòîãîâ ãîëîñîâàíèÿ . Êðîìå òîãî, äëÿ íåêîòîðûõ ñõåì ãîëîñîâàíèÿ ìîæåò ïîíàäîáèòüñÿ ñëåäóþùåå òðåáîâàíèå : 7. Êàæäûé çíàåò, êòî ãîëîñîâàë, à êòî íåò. Ïðåæäå ÷åì îïèñûâàòü ñëîæíûå ïðîòîêîëû, èìåþùèå ïðèâåäåííûå õàðàêòåðèñòèêè, äàâàéòå âçãëÿíåì íà ðàä ïðîòîêîëîâ ïîïðîùå. Óïðîùåííûé ïðîòîêîë ãîëîñîâàíèÿ ¹1 (1) Êàæäûé ãîëîñóþùèé øèôðóåò ñâîé áþëëåòåíü îòêðûòûì êëþ÷îì Öåíòðàëüíîé èçáèðàòåëüíîé êîìèññèè (ÖÈÊ). (2) Êàæäûé ãîëîñóþùèé ïîñûëàåò ñâîé áþëëåòåíü â ÖÈÊ . (3) ÖÈÊ ðàñøèôðîâûâàåò áþëëåòåíè, ïîäâîäèò èòîãè è îïóáëèêîâûâàåò ðåçóëüòàòû ãîëîñîâàíèÿ . Ýòîò ïðîòîêîë ïðîñòî êèøèò ïðîáëåìàìè . ÖÈÊ íå ìîæåò óçíàòü, îòêóäà ïîëó÷åíû áþëëåòåíè, è äàæå, ïð èíàäëåæàò ëè ïðèñëàííûå áþëëåòåíè ïðàâîìî÷íûì èçáèðàòåëÿì . Ó íåå íåò íè ìàëåéøåãî ïðåäñòàâëåíèÿ î òîì, íå ãîëîñîâàëè ëè ïðàâîìî÷íûå èçáèðàòåëè áîëüøå îäíîãî ðàçà . Ïîëîæèòåëüíîé ñòîðîíîé ÿâëÿåòñÿ íåâîçìî æíîñòü èçìåíèòü áþëëåòåíü äðóãîãî ÷åëîâåêà , íî íèêòî è íå áóäåò ïûòàòüñÿ ýòî ñäåëàòü, ïîòîìó ÷òî ãîðàçäî ã îëîñîâàòü ïîâòîðíî, äîáèâàÿñü íóæíûõ ðåçóëüòàòîâ âûáîðîâ . Óïðîùåííûé ïðîòîêîë ãîëîñîâàíèÿ ¹2 (1) Êàæäûé ãîëîñóþùèé ïîäïèñûâàåò ñâîé áþëëåòåíü ñâîèì çàêðûòûì êëþ÷îì . (2) Êàæäûé ãîëîñóþùèé øèôðóåò ñâîé áþëëåòåíü îòêðûòûì êëþ÷îì ÖÈÊ . (3) Êàæäûé ãîëîñóþùèé ïîñûëàåò ñâîé áþëëåòåíü â ÖÈÊ . (4) ÖÈÊ ðàñøèôðîâûâàåò áþëëåòåíè, ïðîâåðÿåò ïîäïèñè, ïîäâîäèò èòîãè è îïóáëèêîâûâàåò ðåçóëüòàòû ã îëîñîâàíèÿ. Ýòîò ïðîòîêîë îáëàäàåò ñâîéñòâàìè 1 è 2 : Òîëüêî ïðàâîìî÷íûå èçáèðàòåëè ìîãóò ãîëîñîâàòü, è íèêòî íå ìîæåò ãîëîñîâàòü áîëåå îäíîãî ðàçà - ÖÈÊ ìîæåò çàïèñûâàòü áþëëåòåíè, ïîëó÷åííûå íà ýòàïå (3). Êàæäûé áþëëåòåíü ïîäïèñàí çàêðûòûì êëþ÷îì ãîëîñóþùåãî, ïîýòîìó ÖÈÊ çíàåò, êòî ãîëîñîâàë, à êòî íåò, è, êàê ãîë îñîâàë êàæäûé èçáèðàòåëü. Åñëè ïîëó÷åí áþëëåòåíü, êîòîðûé íå ïîäïèñàí ïðàâîìî÷íûì ïîëüçîâàòåëåì, èëè áþëëåòåíü, ïîäïèñàííûé èçáèðàòåëåì, êîòîðûé óæå ïðîãîëîñîâàë , òî òàêîé áþëëåòåíü èãíîðèðóåòñÿ êîìèññèåé. Êðîìå òîãî, èç-çà öèôðîâîé ïîäïèñè íèêòî íå ìîæåò èçìåíèòü áþëëåòåíü äðóãîãî èçáèðàòåëÿ, äàæå åñëè ñóìååò ïåðåõâàòèòü åãî íà ýòàïå (2). Ïðîáëåìà ýòîãî ïðîòîêîëà â òîì, ÷òî ïîäïèñü äîáàâëÿåòñÿ ê áþëëåòåíþ, ÖÈÊ çíàåò, êòî çà êîãî ãîëîñîâàë . Øèôðîâàíèå áþëëåòåíåé îòêðûòûì êëþ÷îì ÖÈÊ ìåøàåò ïîñòîðîííèì çëîóïîòðåáëÿòü ïðîòîêîëîì è óçíàâàòü, êòî çà êîãî ãîëîñîâàë, íî âàì ïðèäåòñÿ ïîëíîñòüþ äîâåðÿòü ÖÈÊ Ýòî êàê áóäòî â êàáèíêå äëÿ ãîëîñîâàíèÿ âàì ÷åðåç ïëå÷î çàãëÿäûâàåò ýëåêòðîííûé ñóäüÿ . Äâà ñëåäóþùèõ ïðèìåðà ïîêàçûâàþò, êàê òðóäíî îáåñïå÷èòü õîòÿ áû ïåðâûå òðè òðåáîâàíèÿ ê ïðîòîêîëó áåçîïàñíîãî ãîëîñîâàíèÿ.
Ãîëîñîâàíèå ñî ñëåïûìè ïîäïèñÿìè Íàì íóæíî êàê-òî îòäåëèòü áþëëåòåíü îò ãîëîñóþùåãî, ñîõðàíèâ ïðîöåäóðó èäåíòèôèêàöèè ëè÷íîñòè . Èìåííî ýòî ìîæíî ñäåëàòü ñ ïîìîùüþ ïðîòîêîëà ñëåïîé ïîäïèñè . (1) Êàæäûé èçáèðàòåëü ñîçäàåò 10 íàáîðîâ ñîîáùåíèé , êàæäûé íàáîð ñîäåðæèò ïðàâèëüíûé áþëëåòåíü äëÿ êàæäîãî âîçìîæíîãî ðåçóëüòàòà (íàïðèìåð, åñëè áþëëåòåíåì ÿâëÿåòñÿ îäèí èç îòâåòîâ "äà"-"íåò", òî êà æäûé íàáîð ñîñòîèò èç äâóõ áþëëåòåíåé, îäíîãî äëÿ "äà", à äðóãîãî äëÿ "íåò" ). Êàæäîå ñîîáùåíèå ñîäåðæèò òàêæå ñëó÷àéíûì îáðàçîì ñîçäàííûé èäåíòèôèêàöèîííûé íîìåð, äîñòàòî÷íî áîëüøîé, ÷òîáû èçáåæàòü ïóòàíèöû ñ äðóãèìè èçáèðàòåëÿìè. (2) Êàæäûé èçáèðàòåëü ëè÷íî ìàñêèðóåò âñå ñîîáùåíèÿ (ñì. ðàçäåë 5.3) è ïîñûëàåò èõ â ÖÈÊ âìåñòå ñ ìà ñêèðóþùèì ìíîæèòåëÿìè. (3) ÖÈÊ ïî ñâîåé áàçå äàííûõ ïðîâåðÿåò, ÷òî ïîëüçîâàòåëü íå ïðèñûëàë ðàíüøå äëÿ ïîäïèñàíèÿ ñâîè çàìà ñêèðîâàííûå áþëëåòåíè. ÖÈÊ îòêðûâàåò 9 èç íàáîðîâ, ïðîâåðÿÿ, ÷òî îíè ïðàâèëüíî ñôîðìèðîâàíû . Çàòåì îíà èíäèâèäóàëüíî ïîäïèñûâàåò êàæäîå ñîîáùåíèå íàáîðà è ïîñûëàåò èõ îáðàòíî èçáèðàòåëþ, ñîõðàíÿÿ èìÿ èçáèðàòåëÿ â ñâîåé áàçå äàííûõ. (4) Èçáèðàòåëü ñíèìàåò ìàñêèðîâêó ñ ñîîáùåíèé è ïîëó÷àåò íàáîð áþëëåòåíåé, ïîäïèñàííûõ ÖÈÊ . (Ýòè áþëëåòåíè ïîäïèñàíû, íî íå çàøèôðîâàíû, ïîýòîìó èçáèðàòåëü ëåãêî óâèäèò, êàêîé èç áþëëåòåíåé - "äà", à êàêîé - "íåò". ) (5) Êàæäûé èçáèðàòåëü âûáèðàåò îäèí èç áþëëåòåíåé (î, äåìîêðàòèÿ!) è øèôðóåò åãî îòêðûòûì êëþ÷îì ÖÈÊ. (6) Èçáèðàòåëü îòïðàâëÿåò ñâîé áþëëåòåíü . (7) ÖÈÊ ðàñøèôðîâûâàåò áþëëåòåíè, ïðîâåðÿåò ïîäïèñè, ïðîâåðÿåò ïî áàçå äàííûõ óíèêàëüíîñòü èäåíòèô èêàöèîííîãî íîìåðà, ñîõðàíÿåò ïîñëåäîâàòåëüíûé íîìåð è ïîäâîäèò èòîãè. Îíà îïóáëèêîâûâàåò ðåçóëüò àòû ãîëîñîâàíèÿ âìåñòå ñ êàæäûì ïîñëåäîâàòåëüíûì íîìåðîì è ñîîòâåòñòâóþùèì áþëëåòåíåì . Ìýëëîðè, èçáèðàòåëü-æóëèê, íå ìîæåò îáìàíóòü ýòó ñèñòåìó. Ïðîòîêîë ñëåïîé ïîäïèñè îáåñïå÷èâàåò åäè íñòâåííîñòü åãî áþëëåòåíè. Åñëè îí ïîïûòàåòñÿ îòïðàâèòü òîò æå áþëëåòåíü äâàæäû, ÖÈÊ îáíàðóæèò äóáëèð îâàíèå ïîñëåäîâàòåëüíûõ íîìåðîâ íà ýòàïå (7) è íå áóäåò ó÷èòûâàòü âòîðîé áþëëåòåíü . Åñëè îí ïîïûòàåòñÿ ïîëó÷èòü íåñêîëüêî áþëëåòåíåé íà ýòàïå (2), ÖÈÊ îáíàðóæèò ýòî íà ýòàïå (3). Ìýëëîðè íå ìîæåò ñîçäàòü ñâîè ñîáñòâåííûå áþëëåòåíè, ïîòîìó ÷òî îí íå çíàåò çàêðûòîãî êëþ÷à êîìèññèè . Ïî òîé æå ïðè÷èíå îí íå ìîæåò ïåðåõâàòèòü è èçìåíèòü ÷óæèå áþëëåòåíè. Ïðîòîêîë "ðàçðåçàòü è âûáðàòü" íà ýòàïå (3) äîëæåí îáåñïå÷èòü óíèêàëüíîñòü áþëëåòåíåé. Áåç ýòîãî ýòàïà Ìýëëîðè ìîã áû ñîçäàòü òî÷íî òàêîé æå, çà èñêëþ÷åíèåì èäåíòèôèêàöèîííîãî íîìåðà, íàáîð áþëëåòåíåé è çàâåðèòü èõ âñå â ÖÈÊ. Ìîøåííè÷åñêàÿ ÖÈÊ íå ñìîæåò óçíàòü, êàê ãîëîñîâàë êîíêðåòíûé èçáèðàòåëü. Òàê êàê ïðîòîêîë ñëåïîé ïîäïèñè ìàñêèðóåò ïîñëåäîâàòåëüíûå íîìåðà áþëëåòåíåé äî ìîìåíòà ïîäâåäåíèÿ èòîãîâ , ÖÈÊ íå ñìîæåò óñòàíîâèòü ñâÿçü ìåæäó ïîäïèñàííûì åþ çàìàñêèðîâàííûì áþëëåòåíåì è ïîäûòîæèâàåìûì áþëëåòåíåì . Îïóáëèêîâàíèå ïåðå÷íÿ ïîñëåäîâàòåëüíûõ íîìåðîâ è ñâÿçàííûõ ñ íèìè áþëëåòåíåé ïîçâîëÿåò ïîëüçîâàòåëÿì óáåäèò üñÿ, ÷òî èõ áþëëåòåíè áûëè ïðàâèëüíî ó÷òåíû. Íî ïðîáëåìû âñå åùå îñòàþòñÿ. Åñëè ýòàï (6) íå àíîíèìåí, è ÖÈÊ ìîæåò çàïèñàòü, êòî êàêîé áþëëåòåíü ïðèñëàë, òî îíà ñìîæåò óçíàòü, êòî çà êîãî ãîëîñîâàë . Îäíàêî, ýòî íåâîçìîæíî, åñëè êîìèññèÿ ïîëó÷àåò áþëë åòåíè â çàïå÷àòàííîé óðíå äëÿ ãîëîñîâàíèÿ è ñ÷èòàåò èõ ïîçæå . Õîòÿ ÖÈÊ è íå ñìîæåò óñòàíîâèòü ñâÿçü ìåæäó èçáèðàòåëÿìè è èõ áþëëåòåíÿìè, îíà ñìîæåò ñîçäàòü áîëüøîå êîëè÷åñòâî ïîäïèñàííûõ è ïðàâèëüíûõ áþëë åòåíåé è ñìîøåííè÷àòü, ïðèñëàâ èõ ñàìà ñåáå . È åñëè Àëèñà îáíàðóæèò, ÷òî ÖÈÊ ïîäìåíèëà åå áþëëåòåíü, îíà íå ñìîæåò äîêàçàòü ýòîãî. Àíàëîãè÷íûé ïðîòîêîë, ïûòàþùèéñÿ óñòðàíèòü ýòè ïðîáëåìû, îïèñàí â [1195, 1370]. Ãîëîñîâàíèå ñ äâóìÿ Öåíòðàëüíûìè êîìèññèÿìè Îäíèì èç ðåøåíèé ÿâëÿåòñÿ ðàçäåëèòü ÖÈÊ ïîïîëàì . Íè ó îäíîé èç íèõ íå áóäåò äîñòàòî÷íî âëàñòè, ÷òîáû ñìîøåííè÷àòü ïî ñâîåìó óñìîòðåíèþ .  ñëåäóþùåì ïðîòîêîëå èñïîëüçóåòñÿ Öåíòðàëüíîå óïðàâëåíèå ðåãèñòðàöèè (ÖÓÐ), çàíèìàþùååñÿ ïðîâå ðêîé ïîëüçîâàòåëåé, è îòäåëüíàÿ ÖÈÊ äëÿ ïîäñ÷åòà áþëëåòåíåé [1373]. (1) Êàæäûé èçáèðàòåëü îòïðàâëÿåò ïèñüìî â ÖÓÐ, çàïðàøèâàÿ ðåãèñòðàöèîííûé íîìåð. (2) ÖÓÐ âîçâðàùàåò èçáèðàòåëþ ñëó÷àéíûé ðåãèñòðàöèîííûé íîìåð. ÖÓÐ âåäåò ñïèñîê ðåãèñòðàöèîííûõ íîìåðîâ. Êðîìå òîãî, ÖÓÐ õðàíèò ñïèñîê ïîëó÷àòåëåé ðåãèñòðàöèîííûõ íîìåðîâ íà ñëó÷àé, åñëè êòî-òî ïîïûòàåòñÿ ïðîãîëîñîâàòü äâàæäû. (3) ÖÓÐ îòïðàâëÿåò ñïèñîê ðåãèñòðàöèîííûõ íîìåðîâ â ÖÈÊ.
(4) Êàæäûé èçáèðàòåëü âûáèðàåò ñëó÷àéíûé èäåíòèôèêàöèîííûé íîìåð. Îí ñîçäàåò ñîîáùåíèå ñ ýòèì íîì åðîì, ðåãèñòðàöèîííûì íîìåðîì, ïîëó÷åííûì â ÖÓÐ, è ñâîèì áþëëåòåíåì. Îí ïîñûëàåò ýòî ñîîáùåíèå â ÖÈÊ. (5) ÖÈÊ ïðîâåðÿåò ðåãèñòðàöèîííûå íîìåðà ïî ñïèñêó, ïîëó÷åííîìó îò ÖÓÐ íà ýòàïå (3). Åñëè ðåãèñòðàö èîííûé íîìåð åñòü â ñïèñêå, ÖÈÊ âû÷åðêèâàåò åãî (÷òîáû èçáåæàòü ïîâòîðíîãî ãîëîñîâàíèÿ). ÖÈÊ äîáà âëÿåò èäåíòèôèêàöèîííûé íîìåð ê ñïèñêó òåõ, êòî ïðîãîëîñîâàë çà îïðåäåëåííîãî êàíäèäàòà, è ïðèáàâëÿåò åäèíè÷êó ê ñîîòâåòñòâóþùåìó èòîãîâîìó ÷èñëó. (6) Ïîñëå òîãî, êàê âñå áþëëåòåíè áóäóò ïîëó÷åíû, ÖÈÊ ïóáëèêóåò ðåçóëüòàòû âìåñòå ñî ñïèñêàìè, ñîäåðæ àùèìè èäåíòèôèêàöèîííûå íîìåðà è ñîîòâåòñòâóþùèå áþëëåòåíè. Êàê è â ïðåäûäóùåì ïðîòîêîëå êàæäûé èçáèðàòåëü ìîæåò óâèäåòü ñïèñîê èäåíòèôèêàöèîííûõ íîìåðîâ è íàéòè â íåì ñâîé ñîáñòâåííûé. Òàê îí ìîæåò óáåäèòüñÿ, ÷òî åãî áþëëåòåíü ó÷òåí . Êîíå÷íî, âñå ñîîáùåíèÿ, êîòîðûìè îáìåíèâàþòñÿ ó÷àñòíèêè ïðîòîêîëà äîëæíû áûòü çàøèôðîâàíû è ïîäïèñàíû, ÷òîáû ïîìåøàòü êîìóíèáóäü âûäàòü ñåáÿ çà äðóãîãî èëè ïåðåõâàòèòü ñîîáùåíèÿ . ÖÈÊ íå ìîæåò èçìåíèòü áþëëåòåíè, ïîòîìó ÷òî êàæäûé èçáèðàòåëü áóäåò èñêàòü ñâîé ðåãèñòðàöèîííûé í îìåð. Åñëè èçáèðàòåëü íå íàõîäèò ñâîé ðåãèñòðàöèîííûé íîìåð èëè íàõîäèò åãî â èòîãîâîì ñïèñêå ñ äðóãèì ð åçóëüòàòîì ãîëîñîâàíèÿ, îí íåìåäëåííî óçíàåò, ÷òî ïðîèçîøåë îáìàí. ÖÈÊ íå ìîæåò äîáàâèòü áþëëåòåíü â ó ðíó, êîòîðàÿ íàõîäèòñÿ ïîä íàáëþäåíèåì ÖÓÐ . ÖÓÐ çíàåò, ñêîëüêî èçáèðàòåëåé çàðåãèñòðèðîâàëîñü, èõ ðåãèñ òðàöèîííûå íîìåðà è îáíàðóæèò ëþáûå èçìåíåíèÿ . Ìýëëîðè, íå îáëàäàþùèé èçáèðàòåëüíûìè ïðàâàìè, ìîæåò ïîïûòàòüñÿ ñìîøåííè÷àòü, óãàäàâ ïðàâèëüíûé ðåãèñòðàöèîííûé íîìåð. Óãðîçà ýòîãî ìîæåò áûòü ìèíèìèçèðîâàíà, åñëè ìíîæåñòâî âîçìîæíûõ ðåãèñòðàöèî ííûõ íîìåðîâ íàìíîãî áîëüøå, ÷åì ìíîæåñòâî ðåàëüíûõ ðåãèñòðàöèîííûõ íîìåðîâ : 100-áèòîâîå ÷èñëî äëÿ ìèëëèîíà èçáèðàòåëåé. Êîíå÷íî æå, ðåãèñòðàöèîííûå íîìåðà äîëæíû ãåíåðèðîâàòüñÿ ñëó÷àéíûì îáðàçîì . Íåñìîòðÿ íà ýòî, ÖÓÐ äîëæíà áûòü çàñëóæèâàþùèì äîâåðèÿ îðãàíîì âëàñòè - âåäü îíà ìîæåò çàðåãèñòð èðîâàòü íåïðàâîìî÷íûõ èçáèðàòåëåé . Îíà òàêæå ìîæåò çàðåãèñòðèðîâàòü ïðàâîìî÷íûõ èçáèðàòåëåé íåñêîëüêî ðàç. Ýòîò ðèñê ìîæåò áûòü ñâåäåí ê ìèíèìóìó, åñëè ÖÓÐ îïóáëèêóåò ñïèñîê çàðåãèñòðèðîâàâøèõñÿ èçáèðàò åëåé (íî áåç èõ ðåãèñòðàöèîííûõ íîìåðîâ ). Åñëè ÷èñëî èçáèðàòåëåé â ýòîì ñïèñêå ìåíüøå, ÷åì ÷èñëî ïîäñ÷ èòàííûõ áþëëåòåíåé, òî ÷òî-òî íå òàê. Îäíàêî, åñëè çàðåãèñòðèðîâàëîñü áîëüøå èçáèðàòåëåé, ÷åì áûëî ïðèñëàíî áþëëåòåíåé, òî ýòî, âîçìîæíî, îçíà÷àåò, ÷òî ðÿä çàðåãèñòðèðîâàâøèõñÿ èçáèðàòåëåé íå ïðîãîëîñîâàë . Ìíîãèå, çàðåãèñòðèðîâàâøèñü, íå óòðóæäàþòñÿ áðîñèòü â óðíó ñâîé áþëëåòåíü . Ýòîò ïðîòîêîë áåççàùèòåí ïåðåä ñãîâîðîì ÖÈÊ è ÖÓÐ. Åñëè îíè äåéñòâóþò âìåñòå, îíè ìîãóò îáúåäèíèòü ñâîè áàçû äàííûõ è óçíàòü, êòî çà êîãî ãîëîñóåò . Ãîëîñîâàíèå ñ îäíîé Öåíòðàëüíîé êîìèññèåé ×òîáû èçáåæàòü îïàñíîñòè ñãîâîðà ìåæäó ÖÓÐ è ÖÈÊ ìîæíî èñïîëüçîâàòü áîëåå ñëîæíûé ïðîòîêîë [1373]. Ýòîò ïðîòîêîë èäåíòè÷åí ïðåäûäóùåìó ñ äâóìÿ èçìåíåíèÿìè : ÖÓÐ è ÖÈÊ ÿâëÿþòñÿ åäèíîé îðãàíèçàöèåé, è äëÿ àíîíèìíîãî ðàñïðåäåëåíèÿ ðåãèñòðàöèîííûõ íîìåðîâ íà ýòàïå (2) èñïîëüçóåòñÿ ANDOS (ñì. ðàçäåë 4.13). Òàê êàê ïðîòîêîë àíîíèìíîãî ðàñïðåäåëåíèÿ êëþ÷åé íå ïîçâîëÿåò ÖÈÊ óçíàòü, ó êàêîãî èçáèðàòåëÿ êàêîé ðåãèñòðàöèîííûé íîìåð, Ó ÖÈÊ íåò ñïîñîáà ñâÿçàòü ðåãèñòðàöèîííûå íîìåðà è ïîëó÷åííûå áþëëåòåíè . Íî ÖÈÊ äîëæíà áûòü íàäåæíûì îðãàíîì, ÷òîáû íå âûäàâàòü ðåãèñòðàöèîííûõ íîìåðîâ íåïðàâîìî÷íûì èçáèðàò åëÿì. Ýòó ïðîáëåìó òàêæå ìîæíî ðåøèòü ñ ïîìîùüþ ñëåïûõ ïîäïèñåé . Óëó÷øåííîå ãîëîñîâàíèå ñ îäíîé Öåíòðàëüíîé êîìèññèåé  ýòîì ïðîòîêîëå òàêæå èñïîëüçóåòñÿ ANDOS [1175]. Îí óäîâëåòâîðÿåò âñåì øåñòè òðåáîâàíèÿì õîðîøåãî ïðîòîêîëà ãîëîñîâàíèÿ. Îí íå óäîâëåòâîðÿåò ñåäüìîìó òðåáîâàíèþ, íî îáëàäàåò äâóìÿ ñâîéñòâàìè, äîïîëíÿ þùèìè ïåðå÷èñëåííûå â íà÷àëå ðàçäåëà øåñòü ñâîéñòâ : 7. Èçáèðàòåëü ìîæåò èçìåíèòü ñâîå ìíåíèå (ò.å., àííóëèðîâàòü ñâîé áþëëåòåíü è ïðîãîëîñîâàòü çàíîâî ) â òå÷åíèå çàäàííîãî ïåðèîäà âðåìåíè . 8. Åñëè èçáèðàòåëü îáíàðóæèâàåò, ÷òî åãî áþëëåòåíü ïîñ÷èòàí íåïðàâèëüíî, îí ìîæåò óñòàíîâèòü è è ñïðàâèòü ïðîáëåìó, íå ðèñêóÿ áåçîïàñíîñòüþ ñâîåãî áþëëåòåíÿ . Âîò ýòîò ïðîòîêîë: (1) ÖÈÊ ïóáëèêóåò ñïèñîê âñåõ ïðàâîìî÷íûõ èçáèðàòåëåé . (2)  òå÷åíèå îïðåäåëåííîãî ñðîêà êàæäûé èçáèðàòåëü ñîîáùàåò â ÖÈÊ, ñîáèðàåòñÿ ëè îí ãîëîñîâàòü .
(3) ÖÈÊ ïóáëèêóåò ñïèñîê èçáèðàòåëåé, ó÷àñòâóþùèõ â âûáîðàõ . (4) Êàæäûé èçáèðàòåëü ïîëó÷àåò èäåíòèôèêàöèîííûé íîìåð , I, ñ ïîìîùüþ ïðîòîêîëà ANDOS. (5) Êàæäûé èçáèðàòåëü ãåíåðèðóåò ïàðó îòêðûòûé êëþ÷/çàêðûòûé êëþ÷ : k, d. If Åñëè v - ýòî áþëëåòåíü, òî èçáèðàòåëü ñîçäàåò è ïîñûëàåò â ÖÈÊ ñëåäóþùåå ñîîáùåíèå : I,Ek(I, v) Ýòî ñîîáùåíèå äîëæíî áûòü ïîñëàíî àíîíèìíî . (6) ÖÈÊ ïîäòâåðæäàåò ïîëó÷åíèå áþëëåòåíÿ, ïóáëèêóÿ : Ek(I, v) (7) Êàæäûé èçáèðàòåëü ïîñûëàåò ÖÈÊ : I, d (8) ÖÈÊ ðàñøèôðîâûâàåò áþëëåòåíè.  êîíöå âûáîðîâ îíà ïóáëèêóåò èõ ðåçóëüòàòû è, äëÿ êàæäîãî âàðèàíòà âûáîðà, ñïèñîê ñîîòâåòñòâóþùèé çíà÷ åíèé Ek(I, v). (9) Åñëè èçáèðàòåëü îáíàðóæèâàåò, ÷òî åãî áþëëåòåíü ïîäñ÷èòàí íåïðàâèëüíî, îí ïðîòåñòóåò, ïîñûëàÿ ÖÈÊ : I, Ek(I, v), d (10) Åñëè èçáèðàòåëü õî÷åò èçìåíèòü ñâîé áþëëåòåíü ñ v íà v', îí ïîñûëàåò ÖÈÊ: I, Ek(I, v'), d Äðóãîé ïðîòîêîë ãîëîñîâàíèÿ èñïîëüçóåò âìåñòî ANDOS ñëåïûå ïîäïèñè, íî ïî ñóòè ìàëî ÷åì îòëè÷àåòñÿ [585]. Ýòàïû (1) - (3) ÿâëÿþòñÿ ïðåäâàðèòåëüíûìè. Èõ öåëü ñîñòîèò â òîì, ÷òîáû óçíàòü è îïóáëèêîâàòü âñåõ äåéñòâèòåëüíûõ èçáèðàòåëåé. Õîòÿ íåêîòîðûå èç íèõ, âåðîÿòíî, íå ïðèìóò ó÷àñòè â ãîëîñîâàíèè, ýòî óìåíüøàåò âîçìîæíîñòü ÖÈÊ äîáàâèòü ïîääåëüíûå áþëëåòåíè . Íà ýòàïå (4) äâà èçáèðàòåëÿ ìîãóò ïîëó÷èòü îäèí è òîò æå èäåíòèôèêàöèîííûé íîìåð . Ýòà âîçìîæíîñòü ìîæåò áûòü ìèíèìèçèðîâàíà, åñëè ÷èñëî âîçìîæíûõ èäåíòèôèêàöèîííûõ íîìåðîâ áóäåò ãîðàçäî áîëüøå, ÷åì ÷èñëî ðåàëüíûõ èçáèðàòåëåé. Åñëè äâà èçáèðàòåëÿ ïðèñûëàþò áþëëåòåíè ñ îäèíàêîâûì èäåíòèôèêàòîðîì, ÖÈÊ ãåíåðèðóåò íîâûé èäåíòèôèêàöèîííûé íîìåð, I', âûáèðàåò îäíîãî èç èçáèðàòåëåé è ïóáëèêóåò : I',Ek(I, v) Âëàäåëåö ýòîãî áþëëåòåíÿ óçíàåò î ïðîèçîøåäøåé ïóòàíèöå è ïîñûëàåò ñâîé áþëëåòåíü ñíîâà, ïîâòîðÿÿ ýòàï (5) ñ íîâûì èäåíòèôèêàöèîííûì íîìåðîì . Ýòàï (6) äàåò êàæäîìó èçáèðàòåëþ âîçìîæíîñòü ïðîâåðèòü, ÷òî ÖÈÊ ïðàâèëüíî ïîëó÷èëà åãî áþëëåòåíü . Åñëè åãî áþëëåòåíü íåïðàâèëüíî ïîäñ÷èòàí, îí ìîæåò äîêàçàòü ýòî íà ýòàïå ( 9). Ïðåäïîëàãàÿ, ÷òî áþëëåòåíü èçáèðàòåëÿ íà ýòàïå (6) ïðàâèëåí, ñîîáùåíèå, êîòîðîå îí ïîñûëàåò íà ýòàïå (9) äîêàçûâàåò, ÷òî åãî áþëëåòåíü áûë íåïðàâèëüíî ïîäñ÷èòàí. Îäíîé èç ïðîáëåì ýòîãî ïðîòîêîëà ÿâëÿåòñÿ òî, ÷òî æóëüíè÷åñêàÿ ÖÈÊ ñìîæåò âîñïîëüçîâàòüñÿ ëþäåé, ê îòîðûå ñîîáùèëè î íàìåðåíèè ãîëîñîâàòü íà ýòàïå (2), íî íå ãîëîñîâàëè â äåéñòâèòåëüíîñòè . Äðóãîé ïðîáëåìîé ÿâëÿåòñÿ ñëîæíîñòü ïðîòîêîëà ANDOS. Àâòîðû ðåêîìåíäóþò ðàçáèâàòü èçáèðàòåëåé íà ìåíüøèå ãðóïïû, í àïðèìåð èçáèðàòåëüíûå îêðóãà. Åùå îäíîé, áîëåå ñåðüåçíîé ïðîáëåìîé ÿâëÿåòñÿ òî, ÷òî ÖÈÊ ìîæåò íå ïîäñ÷èòàòü êàêîé-íèáóäü áþëëåòåíü . Ýòà ïðîáëåìà íåðàçðåøèìà: Àëèñà óòâåðæäàåò, ÷òî ÖÈÊ íàìåðåííî ïðåíåáðåã åå áþëëåòåíåì, à ÖÈÊ óòâå ðæäàåò, ÷òî Àëèñà íèêîãäà íå ãîëîñîâàëà . Ãîëîñîâàíèå áåç Öåíòðàëüíîé èçáèðàòåëüíîé êîìèññèè  ñëåäóþùåì ïðîòîêîëå ÖÈÊ íå èñïîëüçóåòñÿ, èçáèðàòåëè ñëåäÿò äðóã çà äðóãîì . Ýòîò ïðîòîêîë, ñîçäàííûé Ìàéêëîì Ìåððèòòîì [452, 1076, 453], íàñòîëüêî ãðîìîçäîê, ÷òî âîçìîæíîñòü åãî ðåàëèçàöèè áîëüøå ÷åì äëÿ ïÿòè ÷åëîâåê ñîìíèòåëüíà, íî âñå æå ïîçíàêîìèòüñÿ ñ íèì áóäåò ïîëåçíî . Àëèñà, Áîá, Êýðîë è Äýéâ ãîëîñóþò (äà/íåò èëè 0/1) ïî êàêîìó-òî âîïðîñó . Ïóñòü ó êàæäîãî èçáèðàòåëÿ åñòü îòêðûòûé è çàêðûòûé êëþ÷è. Ïóñòü òàêæå âñå îòêðûòûå êëþ÷è èçâåñòíû âñåì . (1) Êàæäûé ãîëîñóþùèé ðåøàåò, êàê ãîëîñîâàòü, è äåëàåò ñëåäóþùåå: (a) Äîáàâëÿåò ñëó÷àéíóþ ñòðîêó ê ñâîåìó áþëëåòåíþ. (b) Øèôðóåò ðåçóëüòàò ýòàïà (à) îòêðûòûì êëþ÷îì Äýéâà. (c) Øèôðóåò ðåçóëüòàò ýòàïà (b) îòêðûòûì êëþ÷îì Êýðîë.
(d) Øèôðóåò ðåçóëüòàò ýòàïà (c) îòêðûòûì êëþ÷îì Áîáà. (e) Øèôðóåò ðåçóëüòàò ýòàïà (d) îòêðûòûì êëþ÷îì Àëèñû. (f) Äîáàâëÿåò íîâóþ ñëó÷àéíóþ ñòðîêó ê ðåçóëüòàòó ýòàïà ( e) è øèôðóåò ïîëó÷èâøååñÿ îòêðûòûì êë þ÷îì Äýéâà. Îí çàïèñûâàåò çíà÷åíèå ñëó÷àéíîé ñòðîêè. (g) Äîáàâëÿåò íîâóþ ñëó÷àéíóþ ñòðîêó ê ðåçóëüòàòó ýòàïà ( f) è øèôðóåò ïîëó÷èâøååñÿ îòêðûòûì êë þ÷îì Êýðîë. Îí çàïèñûâàåò çíà÷åíèå ñëó÷àéíîé ñòðîêè. (h) Äîáàâëÿåò íîâóþ ñëó÷àéíóþ ñòðîêó ê ðåçóëüòàòó ýòàïà ( g) è øèôðóåò ïîëó÷èâøååñÿ îòêðûòûì êë þ÷îì Áîáà. Îí çàïèñûâàåò çíà÷åíèå ñëó÷àéíîé ñòðîêè. (i) Äîáàâëÿåò íîâóþ ñëó÷àéíóþ ñòðîêó ê ðåçóëüòàòó ýòàïà ( g) è øèôðóåò ïîëó÷èâøååñÿ îòêðûòûì êë þ÷îì Àëèñû. Îí çàïèñûâàåò çíà÷åíèå ñëó÷àéíîé ñòðîêè. Åñëè E - ýòî ôóíêöèÿ øèôðîâàíèÿ, Ri - ñëó÷àéíàÿ ñòðîêà, à V - áþëëåòåíü , òî åãî ñîîáùåíèå áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì: EA(R5,EB(R4,EC(R3,ED(R2,EA(EB(EC(ED(V,R1 )))))))) Êàæäûé ãîëîñóþùèé ñîõðàíÿåò ïðîìåæóòî÷íûå ðåçóëüòàòû íà êàæäîì ýòàïå âû÷èñëåíèé. Ýòè ðåçóëüòàòû áóäóò èñïîëüçîâàòüñÿ íà äàëüíåéøèõ ýòàïàõ ïðîòîêîëà äëÿ ïîäòâåðæäåíèÿ, ÷òî áþëëåòåíü äàííîãî èçá èðàòåëÿ áóäåò ó÷òåí. (2) Êàæäûé ãîëîñóþùèé îòïðàâëÿåò ñîîáùåíèå Àëèñå. (3) Àëèñà ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, è óäàëÿåò âñå ñëó÷àéíûå ñòðîêè
íà ýòîì óðîâíå.
(4) Àëèñà ïåðåòàñîâûâàåò âñå áþëëåòåíè è ïîñûëàåò ðåçóëüòàò Áîáó.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: EB(R4,EC(R3,ED(R2,EA(EB(EC(ED(V,R1 ))))))) (5) Áîá ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ïðîâåðÿåò, åñòü ëè åãî áþëëåòåíü
ñðåäè ïðèñëàííûõ áþëëåòåíåé, óäàëÿåò âñå ñëó÷àéíûå ñòðîêè íà ýòîì óðîâíå, òàñóåò áþëëåòåíè è ïîñûë àåò ðåçóëüòàò Êýðîë.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: EC(R3,ED(R2,EA(EB(EC(ED(V,R1 )))))) (6) Êýðîë ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ïðîâåðÿåò, åñòü ëè åå áþëëåòåíü
ñðåäè ïðèñëàííûõ áþëëåòåíåé, óäàëÿåò âñå ñëó÷àéíûå ñòðîêè íà ýòîì óðîâíå, òàñóåò áþëëåòåíè è ïîñûë àåò ðåçóëüòàò Äýéâó.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: ED(R2,EA(EB(EC(ED(V,R1 ))))) (7) Äýéâ ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ïðîâåðÿåò, åñòü ëè åãî áþëëåòåíü
ñðåäè ïðèñëàííûõ áþëëåòåíåé, óäàëÿåò âñå ñëó÷àéíûå ñòðîêè íà ýòîì óðîâíå, òàñóåò áþëëåòåíè è ïîñûë àåò ðåçóëüòàò Àëèñå.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: EA(EB(EC(ED(V,R1 )))) (8) Àëèñà ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ïðîâåðÿåò, åñòü ëè åå áþëëåòåíü
ñðåäè ïðèñëàííûõ áþëëåòåíåé, ïîäïèñûâàåò âñå áþëëåòåíè è ïîñûëàåò ðåçóëüòàò Áîáó, Êýðîë è Äýéâó.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: SA (EB(EC(ED(V,R1 )))) (9) Áîá ïðîâåðÿåò è óäàëÿåò ïîäïèñè Àëèñû. Îí ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé
êëþ÷, ïðîâåðÿåò, åñòü ëè åãî áþëëåòåíü ñðåäè ïðèñëàííûõ áþëëåòåíåé, ïîäïèñûâàåò âñå áþëëåòåíè è ï îñûëàåò ðåçóëüòàò Àëèñå, Êýðîë è Äýéâó.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: SB(EC(ED(V,R1 ))) (10) Êýðîë ïðîâåðÿåò è óäàëÿåò ïîäïèñè Áîáà. Îíà ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé
êëþ÷, ïðîâåðÿåò, åñòü ëè åå áþëëåòåíü ñðåäè ïðèñëàííûõ áþëëåòåíåé, ïîäïèñûâàåò âñå áþëëåòåíè è ï îñûëàåò ðåçóëüòàò Àëèñå, Áîáó è Äýéâó. Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: SC(ED(V,R1 )) (11) Äýéâ ïðîâåðÿåò è óäàëÿåò ïîäïèñè Êýðîë. Îí ðàñøèôðîâûâàåò âñå áþëëåòåíè, èñïîëüçóÿ ñâîé çàêðûòûé
êëþ÷, ïðîâåðÿåò, åñòü ëè åãî áþëëåòåíü ñðåäè ïðèñëàííûõ áþëëåòåíåé, ïîäïèñûâàåò âñå áþëëåòåíè è ï îñûëàåò ðåçóëüòàò Àëèñå, Áîáó è Êýðîë.
Òåïåðü êàæäûé áþëëåòåíü áóäåò âûãëÿäåòü ñë åäóþùèì îáðàçîì: SD(V,R1 ) (12) Âñå ïðîâåðÿþò è óäàëÿþò ïîäïèñü Äýéâà. Îíè óáåæäàþòñÿ, ÷òî èõ áþëëåòåíè íàõîäÿòñÿ ñðåäè ïîëó÷å í-
íûõ (íàõîäÿ ñâîþ ñëó÷àéíóþ ñòðîêó).
(13) Âñå óäàëÿþò ñëó÷àéíûå ñòðîêè èç êàæäîãî áþëëåòåíÿ è ñóììèðóåò áþëëåòåíè.
Ýòîò ïðîòîêîë íå òîëüêî ðàáîòàåò, îí ñàì ÿâëÿåòñÿ ñâîèì àðáèòðîì . Àëèñà, Áîá, Êýðîë è Äýéâ íåìåäëåííî óçíàþò, åñëè êòî-íèáóäü èç íèõ ïîïûòàåòñÿ ìîøåííè÷àòü . Íå íóæíî íèêàêèõ ÖÈÊ è ÖÓÐ. ×òîáû óâèäåòü, êàê ýòî ðàáîòàåò, ïîïûòàåìñÿ ñìîøåííè÷àòü . Åñëè êòî-íèáóäü ïûòàåòñÿ äîáàâèòü áþëëåòåíü, Àëèñà îáíàðóæèò ýòó ïîïûòêó íà ýòàïå (3), êîãäà îíà ïîëó÷èò áþëëåòåíåé áîëüøå ÷åì êîëè÷åñòâî ëþäåé, ó÷àñòâóþùèõ â ãîëîñîâàíèè . Åñëè Àëèñà ïîïûòàåòñÿ äîáàâèòü áþëëåòåíü, Áîá îáíàðóæèò ýòî íà ýòàïå (4). Áîëåå ëîâêîé ÿâëÿåòñÿ ïîäìåíà îäíîãî áþëëåòåíÿ äðóãèì . Òàê êàê áþëëåòåíè øèôðóþòñÿ ðàçëè÷íûìè î òêðûòûìè êëþ÷àìè, êàæäûé ìîæåò ñîçäàòü ñòîëüêî ïðàâèëüíûõ áþëëåòåíåé, ñêîëüêî íóæíî . Ïðîòîêîë äåøèôðèðîâàíèÿ ñîñòîèò èç äâóõ ÷àñòåé : ïåðâàÿ âêëþ÷àåò ýòàïû (3)-(7), à âòîðàÿ - ýòàïû (8)-(11). Ïîäìåíà ãîëîñà íà ðàçëè÷íûõ ýòàïàõ îáíàðóæèâàåòñÿ ïî ðàçíîìó. Åñëè êòî-íèáóäü çàìåíèò îäèí áþëëåòåíü äðóãèì âî âòîðîé ÷àñòè, åãî äåéñòâèÿ áóäóò îáíàðóæåíû íåìå äëåííî. Íà êàæäîì ýòàïå áþëëåòåíè ïîäïèñûâàþòñÿ è ïîñûëàþòñÿ âñåì èçáèðàòåëÿì . Åñëè îäèí èçáèðàòåëü (èëè íåñêîëüêî) îáíàðóæèâàåò, ÷òî åãî áþëëåòåíÿ áîëüøå íåò ñðåäè íàáîðà áþëëåòåíåé , îí íåìåäëåííî ïðåêðàùàåò âûïîëíåíèå ïðîòîêîëà. Òàê êàê áþëëåòåíè ïîäïèñûâàþòñÿ íà êàæäîì ýòàïå , è òàê êàê êàæäûé ìîæåò âåðíóòüñÿ âî âòîðîé ÷àñòè ïðîòîêîëà íà íåñêîëüêî øàãîâ íàçàä , òî îáíàðóæèòü ìîøåííèêà, ïîäìåíèâøåãî áþ ëëåòåíè, ëåãêî. Çàìåíà îäíîãî áþëëåòåíÿ äðóãèì â ïåðâîé ÷àñòè ïðîòîêîëà áîëåå òîíêà . Àëèñà íå ìîæåò ñäåëàòü çàìåíó íà ýòàïå (3), ïîòîìó ÷òî Áîá, Êýðîë è Äýéâ îáíàðóæàò ýòî íà ýòàïàõ (5), (6) èëè (7). Áîá ìîæåò ïîïðîáîâàòü íà ýòàïå (5). Åñëè îí çàìåíèò áþëëåòåíè Êýðîë è Äýéâà (ïîìíèòå, îí íå çíàåò, êàêîé áþëëåòåíü ÷åé ), Êýðîë èëè Äýéâ çàìåòÿò ýòî íà ýòàïàõ (6) èëè (7). Îíè íå áóäóò çíàòü, êòî ïîäìåíèë èõ áþëëåòåíè (õîòÿ ýòî äîëæåí áûòü êòî-òî, óæå îáðàáîòàâøèé áþëëåòåíè) , íî îíè áóäóò çíàòü, ÷òî èõ ãîëîñà ïîäìåíåíû . Åñëè Áîáó ïîâåçëî, è åìó óäàëîñü ïîäìåíèòü áþëëåòåíü Àëèñû, îíà íå çàìåòèò ýòîãî äî âòîðîé ÷àñòè ïðîòîêîëà. Òîãäà îíà îáíàðóæèò èñ÷åçíîâåíèå ñâîåãî ãîëîñà íà ýòàïå (8), íî íå ñìîæåò óçíàòü, êòî ïîäìåíèë áþëëåòåíü .  ïåðâîé ÷àñòè áþëëåòåíè ïåðåòàñîâûâàþòñÿ íà êàæäîì ýòàïå è íå ïîäïèñûâàþòñÿ, ïîýòîìó íèêòî íå ñìîæåò îòðàáîòàòü ïðîòîêîë îáðàòíî è îïðåäåëèòü, êòî ïîäìåíèë áþëëåòåíè. Äðóãîé ôîðìîé ìîøåííè÷åñòâà ÿâëÿåòñÿ ïîïûòêà óçíàòü, êòî çà êîãî ïðîãîëîñîâàë . Èç-çà ïåðåòàñîâêè áþëëåòåíåé â ïåðâîé ÷àñòè íèêòî íå ñìîæåò îòðàáîòàòü ïðîòîêîë îáðàòíî è ñâÿçàòü áþëëåòåíè è ãîëîñóþùèõ . Óäàëåíèå ñëó÷àéíûõ ñòðîê â ïåðâîé ÷àñòè òàêæå ÿâëÿåòñÿ ðåøàþùèì äëÿ ñîõðàíåíèÿ àíîíèìíîñòè. Åñëè ñòðîêè íå óäàëÿþòñÿ, ïåðåìåøèâàíèå ãîëîñîâ ìîæåò áûòü èíâåðòèðîâàíî ïðè ïîìîùè ïîâòîðíîãî øèôðîâàíèÿ ïîëó÷à åìûõ ãîëîñîâ îòêðûòûì êëþ÷îì òîãî, êòî èõ òàñîâàë . Êîãäà ïðîòîêîë îñòàíîâèòñÿ, êîíôèäåíöèàëüíîñòü áþëë åòåíåé ñîõðàíèòñÿ. Áîëåå òîãî, èç-çà íà÷àëüíîé ñëó÷àéíîé ñòðîêè , R1, äàæå îäèíàêîâûå áþëëåòåíè øèôðóþòñÿ ïî ðàçíîìó íà êàæäîì ýòàïå ïðîòîêîëà. Íèêòî íå ìîæåò óçíàòü çíà÷åíèå áþëëåòåíÿ äî ýòàïà (11). Êàêîâû ïðîáëåìû ýòîãî ïðîòîêîëà ? Âî ïåðâûõ, äëÿ âûïîëíåíèÿ ïðîòîêîëà íóæíû ãðàíäèîçíûå âû÷èñëåíèÿ .  ïðèâåäåííîì ïðèìåðå â ãîëîñîâàíèè ïðèíèìàþò ó÷àñòèå òîëüêî ÷åòâåðî, íî è îí óæå ñëîæåí. Òàêîé ïðîòîêîë íå ñìîæåò ðàáîòàòü ïðè ðåàëüíûõ âûáîðàõ ñ äåñÿòêàìè òûñÿ÷ ãîëîñóþùèõ . Âî âòîðûõ, Äýéâ óçíàåò ðåçóëüòàòû âûáîðîâ ðàíüøå îñòàëüíûõ . Õîòÿ îí è íå ìîæåò ïîâëèÿòü íà ðåçóëüòàò, îí ïîëó÷àåò îïðåäåëåííîå ïð åèìóùåñòâî. Ñ äðóãîé ñòîðîíû òàêîå òàêæå âîçìîæíî è ïðè öåíòðàëèçîâàííîé ñõåìå ãîëîñîâàíèÿ . Òðåòüÿ ïðîáëåìà çàêëþ÷àåòñÿ â òîì, ÷òî Àëèñà ìîæåò ñêîïèðîâàòü áþëëåòåíü äðóãîãî ó÷àñòíèêà, äàæå íå çíàÿ åãî ñîäåðæàíèÿ çàðàíåå. ×òîáû ïîíÿòü, ïî÷åìó ýòî ìîæåò ñòàòü ïðîáëåìîé, ðàññìîòðèì âûáîðû äëÿ òðåõ ãîëîñóþùèõ - Àëèñû, Áîáà è Åâû . Åâå íå âàæíû ðåçóëüòàòû âûáîðîâ, íî îíà õî÷åò çíàòü, êàê ãîëîñîâàëà Àëèñà . Ïîýòîìó îíà êîïèðóåò áþëëåòåíü Àëèñû, è ðåçóëüòàò âûáîðîâ áóäåò ñîîòâåòñòâîâàòü áþëëåòåíþ Àëèñû .
Äðóãèå ñõåìû ãîëîñîâàíèÿ Áûëî ïðåäëîæåíî ìíîãî ñëîæíûõ áåçîïàñíûõ ïðîòîêîëîâ âûáîðîâ . Èõ ìîæíî ðàçäåëèòü íà äâà òèïà . Ñóùåñòâóþò ïðîòîêîëû ñ ïåðåìåøèâàíèåì , êàê "Ãîëîñîâàíèå áåç Öåíòðàëüíîé èçáèðàòåëüíîé êîìèññèè ", â êîòîðûõ âñå áþëëåòåíè ïåðåìåøèâàþòñÿ, ÷òîáû íèêòî íå ìîã ñâÿçàòü áþëëåòåíü è èçáèð àòåëÿ. Òàêæå ñóùåñòâóþò ïðîòîêîëû ñ ðàçäåëåíèåì , â êîòîðûõ ëè÷íûå áþëëåòåíè äåëÿòñÿ ìåæäó ðàçëè÷íûìè ñ÷åòíûìè êîìèññèÿìè òàê, ÷òî íè îäíà èç íèõ íå ñìîæåò îáìàíóòü èçáèðàòåëåé [360, 359, 118, 115]. Ýòè ïðîòîêîëû Ýòè ïðîòîêîëû çàùèùàþò àíîíèìíîñòü èçáèðàòåëåé òîëüêî, åñëè ðàçëè÷íûå "÷àñòè" ïðàâèòåëüñòâà (èëè êòî áû íå ïðîâîäèë ãîëîñîâàíèå) íå ñãîâàðèâàþòñÿ ïðîòèâ èçáèðàòåëÿ . (Èäåÿ ðàçáèòü öåíòðàëüíûé îðãàí íà íåñêîëüêî ÷àñòåé, êîòîðûå ïîëüçóþòñÿ äîâåðèåì, òîëüêî êîãäà îíè äåéñòâóþò ïàðàëëåëüíî, ïðèøëà èç [316].) Îäèí èç ïðîòîêîëîâ ñ ðàçäåëåíèåì ïðåäëîæåí â [1371]. Îñíîâíàÿ èäåÿ ñîñòîèò â òîì, ÷òî êàæäûé èçáèð àòåëü äåëèò ñâîé áþëëåòåíü íà íåñêîëüêî ÷àñòåé . Íàïðèìåð, åñëè áû áþëëåòåíü ñîäåðæàë "äà" èëè "íåò", 1 îáîçíà÷àëà áû "äà", à 0 - "íåò", èçáèðàòåëü ìîã áû ñîçäàòü íåñêîëüêî ÷èñåë, êîòîðûå â ñóììå äàâàëè áû 0 èëè 1 . Ýòè äîëè ïîñûëàþòñÿ ñ÷åòíûì êîìèññèÿì, êàæäîé ïî îäíîé, è òàêæå øèôðóþòñÿ è ñîõðàíÿþòñÿ . Êàæäûé öåíòð ñóììèðóåò ïîëó÷åííûå äîëè (ñóùåñòâóþò ïðîòîêîëû, îáåñïå÷èâàþùèå ïðàâèëüíîñòü èòîãà ), è îêîí÷àòåëüíûé èòîã ÿâëÿåòñÿ ñóììîé âñåõ ïðîìåæóòî÷íûõ èòîãîâ . Ñóùåñòâóþò òàêæå ïðîòîêîëû, ãàðàíòèðóþùèå, ÷òî äîëè êàæäîãî èçáèðàòåëÿ áóäóò ñëîæåíû äëÿ ïîëó÷åíèÿ 0 èëè 1 . Äðóãîé ïðîòîêîë, ïðåäëîæåííûé Äýâèäîì ×àóìîì [322], ïîçâîëÿåò ïðîñëåäèòü èçáèðàòåëÿ, êîòîðûé ïûòàå òñÿ ìîøåííè÷àòü. Îäíàêî, âûáîðû ïðèäåòñÿ ïðîâîäèòü ïîâòîðíî, èñêëþ÷èâ ìåøàþùåãî ïîëüçîâàòåëÿ. Ýòîò ïî äõîä íå ïðèìåíèì íà ïðàêòèêå äëÿ âûáîðîâ ñ áîëüøèì ÷èñëîì èçáèðàòåëåé . Åùå îäèí, áîëåå ñëîæíûé ïðîòîêîë, ðåøàþùèé íåêîòîðûå èç ýòèõ ïðîáëåì ìîæíî íàéòè â [770, 771]. Ñóùåñòâóåò äàæå ïðîòîêîë, èñïîëüçóþùèé øèôðû ñî ìíîãèìè êëþ÷àìè [219]. Äðóãîé ïðîòîêîë, êîòîðûé, êàê óòâåðæäàåòñÿ, ïîäõîäèò äëÿ êðóïíîìàñøòàáíûõ âûáîðîâ, ïðèâåäåí â [585]. À [347] ïîçâîëÿåò èçáèðàòåëÿì íå ãîëîñîâàòü. Ïðîòîêîëû ãîëîñîâàíèÿ ðàáîòàþò, îíè äàæå îáëåã÷àþò ïðîäàæó è ïîêóïêó ãîëîñîâ . Êîãäà ïîêóïàòåëü ìîæåò áûòü óâåðåí, ÷òî ïðîäàâåö ïðîãîëîñóåò, êàê îáåùàë, ñòèìóë êóïèòü ãîëîñà ñòàíîâèòñÿ åùå ñèëüíåå . Ðÿä ïðîòîêîëîâ áûëè ñïðîåêòèðîâàíû áåç ïîäòâåðæäåíèÿ, íå ïîçâîëÿÿ èçáèðàòåëþ äîêàçàòü êîìó-ëèáî åùå, ÷òî îí ïð îãîëîñîâàë îïðåäåëåííûì îáðàçîì [117, 1170, 1372].
6.2 Áåçîïàñíûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè Áåçîïàñíûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè ïðåäñòàâëÿþò ñîáîé ïðîòîêîë, ñ ïîìîùüþ êîòîð îãî ãðóïïà ëþäåé ìîæåò îïðåäåëåííûì îáðàçîì âû÷èñëèòü ôóíêöèþ ìíîãèõ ïåðåìåííûõ . Êàæäûé â ãðóïïå îáåñïå÷èâàåò îäíó èëè íåñêîëüêî ïåðåìåííûõ . Ðåçóëüòàò âû÷èñëåíèé ñòàíîâèòñÿ èçâåñòíûì êàæäîìó â ãðóïïå, íî íèêîìó íå èçâåñòíû çíà÷åíèÿ , ïðåäîñòàâëåííûå äðóãèìè ÷ëåíàìè ãðóïïû, åñëè ýòî íå ÿâëÿåòñÿ î÷åâèäíûì èç ðåçóëüòàòà âû÷èñëåíèé. Íèæå ïðèâåäåíî íåñêîëüêî ïðèìåðîâ : Ïðîòîêîë ¹l Êàê ìîæåò ãðóïïà ëþäåé âû÷èñëèòü ñâîþ ñðåäíþþ çàðïëàòó áåç òîãî, ÷òîáû çàðïëàòà îäíîãî ñòàëà èçâåñòíà äðóãîìó? (1) Àëèñà äîáàâëÿåò ñåêðåòíîå ñëó÷àéíîå ÷èñëî ê ñóììå ñâîåé çàðïëàòû, øèôðóåò ðåçóëüòàò îòêðûòûì êë þ÷îì Áîáà è ïîñûëàåò åãî Áîáó. (2) Áîá ðàñøèôðîâûâàåò ðåçóëüòàò ñâîèì çàêðûòûì êëþ÷îì. Îí äîáàâëÿåò ñóììó ñâîåé çàðïëàòû ê ïîëó÷å ííîìó îò Àëèñû çíà÷åíèþ, øèôðóåò ðåçóëüòàò îòêðûòûì êëþ÷îì Êýðîë è ïîñûëàåò åãî Êýðîë. (3) Êýðîë ðàñøèôðîâûâàåò ðåçóëüòàò ñâîèì çàêðûòûì êëþ÷îì. Îíà äîáàâëÿåò ñóììó ñâîåé çàðïëàòû ê ïîë ó÷åííîìó îò Áîáà çíà÷åíèþ, øèôðóåò ðåçóëüòàò îòêðûòûì êëþ÷îì Äýéâà è ïîñûëàåò åãî Äýéâó. (4) Äýéâ ðàñøèôðîâûâàåò ðåçóëüòàò ñâîèì çàêðûòûì êëþ÷îì. Îí äîáàâëÿåò ñóììó ñâîåé çàðïëàòû ê ïîë ó÷åííîìó îò Êýðîë çíà÷åíèþ, øèôðóåò ðåçóëüòàò îòêðûòûì êëþ÷îì Àëèñû è ïîñûëàåò åãî Àëèñå. (5) Àëèñà ðàñøèôðîâûâàåò ðåçóëüòàò ñâîèì çàêðûòûì êëþ÷îì. Îíà âû÷èòàåò ñëó÷àéíîå ÷èñëî, ïðèáàâëåííîå íà ýòàïå (1), ïîëó÷àÿ ñóììó âñåõ çàðïëàò. (6) Àëèñà äåëèò ðåçóëüòàò íà ÷èñëî ëþäåé (â äàííîì ñëó÷àå íà ÷åòûðå) è îáúÿâëÿåò ðåçóëüòàò. Ýòîò ïðîòîêîë ïîäðàçóìåâàåò, ÷òî êàæäûé ó÷àñòíèê ÷åñòåí - îíè õîòÿ è ìîãóò ëþáîïûòñòâîâàòü, íî ñëåäóþò ïðîòîêîëó. Åñëè ëþáîé èç ó÷àñòíèêîâ ñîëæåò î ñâîåé çàðïëàòå, ñðåäíÿÿ çàðïëàòà áóäåò ðàññ÷èòàíà íåïðàâèëüíî. Áîëåå ñåðüåçíàÿ ïðîáëåìà ñîñòîèò â òîì, ÷òî Àëèñà ìîæåò èñêàæàòü èòîãîâûé ðåçóëüòàò. Îíà ìîæåò âû÷åñòü íà ýòàïå (5) ëþáîå ÷èñëî, êîòîðîå åå óñòðàèâàåò, è íèêòî îá ýòîì íå óçíàåò. Ïîìåøàòü Àëèñå ñäåëàòü ýòî ìîæíî, ïîòðåáîâàâ îò íåå âðó÷èòü åå ñëó÷àéíîå ÷èñëî ñ ïîìîùüþ îäíîé èç ñõåì âðó÷åíèÿ áèòà èç ðàçäåëà 4.9, íî êîãäà
îíà îòêðîåò ñâîå ñëó÷àéíîå ÷èñëî â êîíöå ïðîòîêîëà Áîá ñìîæåò óçíàòü åå çàðïëàòó. Ïðîòîêîë ¹2 Àëèñà è Áîá âìåñòå â ðåñòîðàíå è ñïîðÿò î òîì, êòî ñòàðøå. Íèêòî, îäíàêî, íå õî÷åò ñîîáùèòü äðóãîìó ñâîé âîçðàñò. Êàæäûé èç íèõ ìîã áû ïðîøåïòàòü ñâîé âîçðàñò íà óøêî äîâåðåííîé íåéòðàëüíîé ñòîðîíå (íàïðèìåð, îôèöèàíòó), êòî ìîã áû ñðàâíèòü ÷èñëà â óìå è îáúÿâèòü ðåçóëüòàò è Àëèñå, è Áîáó. Ó ïðèâåäåííîãî ïðîòîêîëà åñòü äâå ïðîáëåìû. Âî ïåðâûõ, âû÷èñëèòåëüíûå ñïîñîáíîñòè ñðåäíåãî îôèöèàíò íå ïîçâîëÿþ åìó îáðàáîòàòü ñèòóàöèè áîëåå ñëîæíûé ÷åì îïðåäåëåíèå áîëüøåãî èç äâóõ ÷èñåë. È âî âòîðûõ, åñëè áû Àëèñà è Áîá äåéñòâèòåëüíî çàáîòèëèñü î ñîõðàíåíèè ñâîåé èíôîðìàöèè â òàéíå, èì ïðèøëîñü áû óò îïèòü îôèöèàíòà â âàííå ñ ìèíåðàëüíîé âîäîé, ÷òîáû îí íè÷åãî íå ðàçáîëòàë áóôåò÷èêó. Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè ïðåäëàãàåò ñóùåñòâåííî ìåíåå æåñòêîå ðåøåíèå. Ñóùåñòâóåò ïðîò îêîë, â ñîîòâåòñòâèè ñ êîòîðûì Àëèñà, çíàÿ çíà÷åíèå a, è Áîá, çíàÿ b, ìîãóò ñîâìåñòíî îïðåäåëèòü âåðíî ëè, ÷òî a
âñòðå÷àåòñÿ, ÷òîáû òàéíî ïðîãîëîñîâàòü ïî íåêîòîðûì âîïðîñàì. (Âñå â ïîðÿäêå, îíè óïðàâëÿþò ìèðîì - íå ãîâîðèòå íèêîìó, ÷òî ÿ âàì ïðîãîâîðèëñÿ.) Âñå ÷ëåíû ñîâåòà ìîãóò ãîëîñîâàòü "äà" èëè "íåò". Êðîìå òîãî, äâå ñòîðîíû îáëàäàþò "ñóïåð-áþëëåòåíÿìè": 5-äà è 5-íåò. Îíè íå îáÿçàíû èñïîëüçîâàòü ýòè "ñóïåð-áþëëåòåíè" è, åñëè õîòÿò, ìîãóò âîñïîëüçîâàòüñÿ îáû÷íûìè áþëëåòåíÿìè. Åñëè íèêòî íå èñïîëüçóåò "ñóïåð-áþëëåòåíè", òî âîïðîñ ðåøàåòñÿ ïðîñòûì áîëüøèíñòâîì ãîëîñîâ.  ñëó÷àå ïðèìåíåíèÿ îäíîãî èëè äâóõ ýêâèâàëåíòíûõ "ñóïåðáþëëåòåíåé" âñå îáû÷íûå ãîëîñà èãíîðèðóþòñÿ.  ñëó÷àå äâóõ ïðîòèâîðå÷àùèõ âîïðîñ ðåøàåòñÿ áîëüøèíñòâîì îáû÷íûõ ãîëîñîâ. Íàì íóæåí ïðîòîêîë, êîòîðûé íàäåæíî îñóùåñòâëÿåò òàêóþ ôîðìó ãîëîñîâàíèÿ. Ñëåäóþùèå äâà ïðèìåðà èëëþñòðèðóþò ïðîöåññ ãîëîñîâàíèÿ . Ïóñòü ó÷àñòâóþò ïÿòü îáû÷íûõ èçáèðàòåëåé , îò N1 äî N5, è äâà ñóïåðèçáèðàòåëÿ: S1 è S2. Âîò ãîëîñîâàíèå ïî âîïðîñó ¹1: S1
S2
N1
N2
N3
N4
N5
Ñóïåð-äà
íåò
íåò
íåò
íåò
äà
äà
 ýòîì ïðèìåðå äåéñòâóåò òîëüêî îäèí "ñóïåð-áþëëåòåíü" S1, è ðåçóëüòàò ãîëîñîâàíèÿ - "äà". À âîò ãîëîñ îâàíèå ïî âîïðîñó ¹2: S1 Ñóïåð-äà
S2 Ñóïåð-íåò
N1
N2
N3
N4
N5
íåò
íåò
íåò
äà
äà
 ýòîì ïðèìåðå äâà "ñóïåð-áþëëåòåíÿ" íåéòðàëèçóþò äðóã äðóãà, è âîïðîñ ðåøàåòñÿ áîëüøèíñòâîì îáû ÷íûõ "íåò". Åñëè íå òðåáóåòñÿ ñêðûòü èíôîðìàöèþ î òîì, îáû÷íûé èëè ñóïåðáþëëåòåëü áûë ðåøàþùèì, òî ýòî ïðîñòîå ïðèìåíåíèå áåçîïàñíîãî ïðîòîêîëà ãîëîñîâàíèÿ. Ñîêðûòèå ýòîé èíôîðìàöèè ïîòðåáóåò áîëåå ñëîæíîãî áåç îïàñíîãî ïðîòîêîëà âû÷èñëåíèé ñ íåñêîëüêèìè ó÷àñòíèêàìè. Ýòîò âèä ãîëîñîâàíèÿ ìîæåò ïðîèçîéòè â ðåàëüíîé æèçíè. Ýòî ìîæåò áûòü ÷àñòü îðãàíèçàöèîííîé ñòðóêò óðû êîðïîðàöèè, ãäå íåêîòîðûå ëþäè îáëàäàþò áîëüøåé âëàñòüþ ÷åì äðóãèå, èëè ÷àñòü ïðîöåäóðû ÎÎÍ, ãäå îäíè ãîñóäàðñòâà èìåþò áîëüøåå çíà÷åíèå, ÷åì äðóãèå. Áåçóñëîâíûå áåçîïàñíûå ïðîòîêîëû ñ íåñêîëüêèìè ó÷àñòíèêàìè Ýòî òîëüêî ÷àñòíûé ñëó÷àé îáùåé òåîðåìû: ëþáàÿ ôóíêöèÿ ñ n âõîäàìè ìîæåò áûòü âû÷èñëåíà n èãðîêàìè ñïîñîáîì, êîòîðûé ïîçâîëèò âñåì óçíàòü çíà÷åíèå ôóíêöèè, íî ëþáîå êîëè÷åñòâî èãðîêîâ, ìåíüøåå, ÷åì n/2, íå ñìîæåò ïîëó÷èòü íèêàêîé äîïîëíèòåëüíîé èíôîðìàöèè, íå ñëåäóþùåé èç èõ ñîáñòâåííûõ âõîäîâ è ðåçóëüòàòà âû÷èñëåíèé. Ïîäðîáíîñòè ìîæíî íàéòè â [136, 334, 1288, 621]. Áåçîïàñíàÿ îöåíêà ñõåìû Âõîä Àëèñû - a, à Áîáà - b. Îíè âìåñòå õîòÿò âû÷èñëèòü íåêîòîðóþ ôóíêöèþ f(a,b) òàê, ÷òîáû Àëèñà íå ñìîãëà íè÷åãî óçíàòü î âõîäå Áîáà, à Áîá - î âõîäå Àëèñû. Ãëàâíàÿ ïðîáëåìà áåçîïàñíûõ âû÷èñëåíèé ñ í åñêîëüêèìè ó÷àñòíèêàìè òàêæå íàçûâàåòñÿ áåçîïàñíîé îöåíêîé ñõåìû. Àëèñà è Áîá ìîãóò ñîçäàòü ïðîèçâîë üíóþ ëîãè÷åñêóþ ñõåìó. Ýòà ñõåìà ïîëó÷àåò íà âõîä çíà÷åíèÿ Àëèñû è Áîáà è âûäàåò ðåçóëüòàò . Áåçîïàñíàÿ îöåíêà ñõåìû ÿâëÿåòñÿ ïðîòîêîëîì, êîòîðûé ðåàëèçóåò ñëåäóþùèå òðè òðåáîâàíèÿ : 1. Àëèñà ìîæåò ââåñòè ñâîå çíà÷åíèå òàê, ÷òî Áîá íå ñìîæåò åãî óçíàòü . 2. Áîá ìîæåò ââåñòè ñâîå çíà÷åíèå òàê, ÷òî Àëèñà íå ñìîæåò åãî óçíàòü . 3. È Àëèñà, è Áîá ìîãóò âû÷èñëèòü ðåçóëüòàò, ïðè÷åì îáå ñòîðîíû áóäóò óáåæäåíû â òîì, ÷òî ðåçóëüòàò ïðàâèëåí è íå ïîäòàñîâàí íè îäíîé ñòîðîíîé . Äåòàëè ïðîòîêîëà áåçîïàñíîé îöåíêè ñõåìû ìîæíî íàéòè â [831].
6.3 Àíîíèìíàÿ øèðîêîâåùàòåëüíàÿ ïåðåäà÷à ñîîáùåíèé Âàì íå óäàñòñÿ ïîîáåäàòü ñ êîìïàíèåé êðèïòîãðàôîâ è íå îêàçàòüñÿ ñðåäè îæåñòî÷åííîé ïåðåïàëêè .  [321] Äýâèä ×àóì ââîäèò Ïðîáëåìó îáåäàþùèõ êðèïòîãðàôîâ : Òðè êðèïòîãðàôà ñèäÿò çà îáåäîì â ñâîåì ëþáèìîì òðåõçâåçäî÷íîì ðåñòîðàíå . Èõ îôèöèàíò ñîîáùàåò èì, ÷òî ìåòðä îòåëü ïðèíÿë íåîáõîäèìûå ìåðû, ÷òîáû ñ÷åò ìîæíî áûëî áû îïëàòèòü àíîíèìíî . Çà îáåä ìîã áû çàïëàòèòü îäèí èç êðèïò îãðàôîâ èëè NSA. Òðè êðèïòîãðàôà î÷åíü óâàæàþò ïðàâî êàæäîãî èç íèõ çàïëàòèòü àíîíèìíî, íî èì õîòåëîñü áû çíàòü, ç àïëàòèò ëè NSA.
Êàê êðèïòîãðàôàì Àëèñå, Áîáó è Êýðîë óçíàòü, íå çàïëàòèë ëè çà îáåä êòî-íèáóäü èç íèõ, è â òî æå âðåìÿ íå
íàðóøèòü àíîíèìíîñòü ïëàòåëüùèêà ? ×àóì ðåøàåò ïðîáëåìó: Êàæäûé êðèïòîãðàô áðîñàåò íåñìåùåííóþ ìîíåòó, ïðèêðûâøèñü ñâîèì ìåíþ, ìåæäó íèì è êðèïòîãðàôîì ñïðàâà îò í åãî òàê, ÷òî òîëüêî îíè äâîå ìîãóò âèäåòü ðåçóëüòàò. Çàòåì êàæäûé êðèïòîãðàô ãðîìêî îáúÿâëÿåò, óïààëè ëè äâå ìîíåòû - îäíà åãî è îäíà åãî ëåâîãî ñîñåäà - íà îäíó èëè íà ðàçëè÷íûå ñòîðîíû. Åñëè ïëàòåëüùèê - îäèí èç êðèïòîãðàôîâ, òî åãî óòâåðæä åíèå ïðîòèâîïîëîæíî òîìó, ÷òî îí âèäèò. Íå÷åòíîå ÷èñëî çàÿâëåííûõ ðàçëè÷èé çà ñòîëîì óêàçûâàåò, ÷òî îáåä îïëà÷èâàåò êðèïòîãðàô; ÷åòíîå ÷èñëî ðàçëè÷èé - ÷òî NSA (ïðè óñëîâèè, ÷òî îáåä ìîæåò áûòü îïëà÷åí òîëüêî îäèí ðàç). Îäíàêî, åñëè îáåä îïëà÷èâàåò êðèïòîãðàô, íèêòî èç äâóõ äðóãèõ íå óçíàåò èç ñäåëàííûõ çàÿâëåíèé, êòî æå êîíêðåòíî îïë àòèë îáåä.
×òîáû óâèäåòü, êàê ýòî ðàáîòàåò, âîîáðàçèòå, ÷òî Àëèñà ïûòàåòñÿ ïîíÿòü, êòî èç äâóõ äðóãèõ êðèïòîãðàôîâ çàïëàòèë çà îáåä (ïðè óñëîâèè, ÷òî íå îíà è íå NSA). Åñëè îíà âèäèò äâå ðàçëè÷íûõ ìîíåòû, òî ëèáî îáà äðóãèõ êðèïòîãðàôà (Áîá è Êýðîë) ñêàçàëè, "îäèíàêîâûå" èëè îáà ñêàçàëè, "ðàçíûå". (Ïîìíèòå, íå÷åòíîå ÷èñëî êðè ïòîãðàôîâ, ãîâîðÿùèõ "ðàçíûå" óêàçûâàåò, ÷òî îïëàòèë êòî-òî èç íèõ.). Åñëè îáà ñêàçàëè "ðàçíûå", òî ïëàòåë üùèê - êðèïòîãðàô, ñèäÿùèé áëèæå âñåãî ê ìîíåòå, ðåçóëüòàò áðîñêà êîòîðîé òîò æå, ÷òî è ó ñêðûòîé ìîíåòû (áðîøåííîé ìåæäó Áîáîì è Êýðîë). Åñëè îáà ñêàçàëè "îäèíàêîâûå", òî ïëàòåëüùèê - êðèïòîãðàô, ñèäÿùèé áëèæå âñåãî ê ìîíåòå, ðåçóëüòàò áðîñêà êîòîðîé îòëè÷àåòñÿ îò ðåçóëüòàòà áðîñêà ñêðûòîé ìîíåòû. Îäíàêî, åñëè Àëèñà âèäèò äâå îäèíàêîâûõ ìîíåòû, òî èëè Áîá ñêàçàë, "îäèíàêîâûå", à Êýðîë - "ðàçíûå", èëè Áîá ñêàçàë "ðàçíûå", à Êýðîë - "îäèíàêîâûå". Åñëè ëè ñêðûòàÿ ìîíåòà - òàêàÿ æå êàê è âèäèìûå åé äâå ìîíåòû, òî ïë àòåëüùèê - êðèïòîãðàô, êîòîðûé ñêàçàë, "ðàçíûå". Åñëè ñêðûòàÿ ìîíåòà îòëè÷íà îò âèäèìûõ åé äâóõ ìîíåò, òî ïëàòåëüùèê - êðèïòîãðàô, êîòîðûé ñêàçàë "îäèíàêîâûå". ×òîáû îïðåäåëèòü, êòî ïëàòèë, âî âñåõ ýòèõ ñëó÷àÿõ Àëèñà äîëæíà çíàòü ðåçóëüòàò áðîñêà ìîíåòû ìåæäó Áîáîì è Êýðîë. Ýòîò ïðîòîêîë ìîæåò áûòü îáîáùåí íà ëþáîå êîëè÷åñòâî êðèïòîãðàôîâ, êîòîðûå ñèäÿò ïî êðóãó è áðîñàþò ìîíåòû ìåæäó ñîáîé. Êàæäàÿ ïàðà êðèïòîãðàôîâ âûïîëíÿåò ïðîòîêîë . Êîíå÷íî, îíè çíàþò, êòî ïëàòèò, íî êòîòî, íàáëþäàþùèé çà ïðîòîêîëîì ìîæåò ñêàçàòü òîëüêî, ÷òî çàïëàòèë îäèí èç êðèïòîãðàôîâ èëè NSA, íî íå ñîæåò óêàçàòü, êàêîé èç êðèïòîãðàôîâ ïëàòèë . Ïðèìåíåíèå ýòîãî ïðîòîêîëà âûõîäèò äàëåêî çà ïðåäåëû îáåäåííîãî ñòîëà . Âîò ïðèìåð áåçóñëîâíîãî îòïðàâèòåëÿ è íåîòñëåæèâàåìîãî îòïðàâèòåëÿ. Ãðóïïà ïîëüçîâàòåëåé ñåòè ìîæåò èñïîëüçîâàòü ýòîò ïðîòîêîë äëÿ îòïðàâëåíèÿ àíîíèìíûõ ñîîáùåíèé . (1) Ïîëüçîâàòåëè óïîðÿäî÷èâàþòñÿ ïî êðóãó . (2) ×åðåç ðåãóëÿðíûå èíòåðâàëû âðåìåíè ñîñåäíèå ïàðû ïîëüçîâàòåëåé áðîñàþò ìåæäó ñîáîé ìîíåòó, èñïîë üçóÿ êàêîé-íèáóäü áåçîïàñíûé îò çëîóìûøëåííèêîâ ïðîòîêîë áðîñàíèÿ "÷åñòíîé" ìîíåòû . (3) Ïîñëå êàæäîãî áðîñêà êàæäûé ïîëüçîâàòåëü îáúÿâëÿåò ëèáî "îäèíàêîâûå", ëèáî "ðàçíûå" . Åñëè Àëèñà õî÷åò ïåðåäàòü øèðîêîâåùàòåëüíîå ñîîáùåíèå, îíà ïðîñòî íà÷èíàåò èíâåðòèðîâàòü ñâîå óòâå ðæäåíèå â òåõ ðàóíäàõ, êîòîðûå ñîîòâåòñòâóþò 1 â äâîè÷íîì ïðåäñòàâëåíèè åå ñîîáùåíèÿ. Íàïðèìåð, åñëè åå ñîîáùåíèå áûëî "1001", îíà èíâåðòèðóåò åå óòâåðæäåíèå, ñîîáùèò ïðàâäó, ñîîáùèò ïðàâäó, è çàòåì èíâåðòèð óåò ñíîâà óòâåðæäåíèå. Ïðè óñëîâèè, ÷òî ðåçóëüòàòîì åå áðîñêîâ áûëî áûëè "ðàçíûå", "îäèíàêîâûå", "îäèíàêîâûå", "îäèíàêîâûå", îíà áóäåò ãîâîðèòü "îäèíàêîâûå", "îäèíàêîâûå ", "îäèíàêîâûå", "ðàçíûå". Åñëè Àëèñà çàìå÷àåò, ÷òî ïîëíûé ðåçóëüòàò ïðîòîêîëà íå ñîîòâåòñòâóåò ñîîáùåíèþ, êîòîðîå îíà ïðîáóåò ï îñûëàòü, îíà ïîíèìàåò, ÷òî â ýòî æå âðåìÿ êòî-òî åùå ïûòàåòñÿ ïîñûëàòü ñîîáùåíèå. Òîãäà îíà ïðåêðàùàåò ï åðåäà÷ó ñîîáùåíèÿ è âûæèäàåò ñëó÷àéíîå êîëè÷åñòâî ðàóíäîâ ïåðåä î÷åðåäíîé ïîïûòêîé. Òî÷íûå ïàðàìåòðû äîëæíû áûòü âûðàáîòàíû íà îñíîâå òðàôèêà ñîîáùåíèé â ñåòè, íî èäåÿ äîñòàòî÷íî ïîíÿòíà. ×òîáû ñäåëàòü äåëî åùå áîëåå èíòåðåñíûì, ýòè ñîîáùåíèÿ ìîãóò áûòü çàøèôðîâàíû îòêðûòûì êëþ÷îì äð óãîãî ïîëüçîâàòåëÿ. Çàòåì, êîãäà êàæäûé ïðèíèìàåò ñîîáùåíèå (ïðàêòè÷åñêàÿ ðåàëèçàöèÿ äîëæíà âêëþ÷àòü ñòàíäàðòíûå çàãîëîâêè è îêîí÷àíèÿ ñîîáùåíèé), òîëüêî îïðåäåëåííûé ïîëó÷àòåëü ñìîæåò ðàñøèôðîâàòü è ïðî÷åñòü ñîîáùåíèå. Íèêòî äðóãîé íè÷åãî íå óçíàåò ïðî àâòîðà ñîîáùåíèÿ è íå ñìîæåò îïðåäåëèòü ïîëó÷àòåëÿ ñîîáùåíèÿ. Äàæå åñëè óäàñòñÿ ðàñøèôðîâàòü ñàìè ñîîáùåíèÿ, òî àíàëèç òðàôèêà, îòñëåæèâàþùèé è ñîáèðà þùèé ôîðìû ìåæïîëüçîâàòåëüñêîãî îáìåíà, áåñïîëå çåí. Àëüòåðíàòèâîé áðîñàíèþ ìîíåò ìåæäó ñîñåäíèìè ñòîðîíàìè ìîãëî áû áûòü èñïîëüçîâàíèå ôàéëà ñëó÷à éíûõ áèòîâ. Âîçìîæíî, ñòîðîíû ìîãëè áû õðàíèòü ôàéë íà CD-ROM, èëè îäèí ÷ëåí ïàðû ìîã áû ãåíåðèðîâàòü ïà÷êó áèòîâ è ïîñûëàòü èõ äðóãîé ñòîðîíå (êîíå÷íî, â çàøèôðîâàííîì âèäå). Èëè, îíè ìîãëè áû äîãîâîðèòüñÿ èñïîëüçîâàòü ñîâìåñòíî êðèïòîãðàôè÷åñêè áåçîïàñíûé ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë, è êàæäûé èç íèõ ñìîã áû ãåíåðèðîâàòü äëÿ ïðîòîêîëà òó æå ñàìóþ ïîñëåäîâàòåëüíîñòü ïñåâäîñëó÷àéíûõ áèòîâ. Ïðîáëåìîé ýòîãî ïðîòîêîëà ÿâëÿåòñÿ òî, ÷òî õîòÿ ìîøåííè÷àþùèé ó÷àñòíèê è íå ñìîæåò ÷èòàòü íèêàêèõ ñ îîáùåíèé, îí ìîæåò íåçàìåòíî èñïîðòèòü âñþ ñèñòåìó, ïîñòîÿííî îáìàíûâàÿ íà ýòàïå (3). Ñóùåñòâóåò ìîäèôèêàöèÿ ïðåäûäóùåãî ïðîòîêîëà, ïîçâîëÿþùàÿ îáíàðóæèòü âðåäèòåëüñòâî [1578, 1242]. Ýòà ïðîáëåìà íàçûâàåòñÿ "Îáåäàþùèå êðèïòîãðàôû â äèñêîòåêå ".
6.4 Ýëåêòðîííûå íàëè÷íûå Íàëè÷íûå äåíüãè - ýòî ïðîáëåìà. Ðàçäðàæàåò èõ íîñèòü, îíè ñïîñîáñòâóþò ðàñïðîñòðàíåíèþ ìèêðîáîâ, ë þäè ìîãóò êðàñòü èõ ó Âàñ. ×åêè è êðåäèòíûå êàðòî÷êè óìåíüøèëè êîëè÷åñòâî íàëè÷íûõ äåíåã, îáîðà÷èâàþùè õñÿ â îáùåñòâå, íî ïîëíîå óäàëåíèå íàëè÷íûõ äåíåã ôàêòè÷åñêè íåâîçìîæíî. Ýòîãî íèêîãäà íå ïðîèçîéäåò; òî ðãîâöû íàðêîòèêàìè è ïîëèòè÷åñêèå äåÿòåëè íèêîãäà ýòîãî íå äîïóñòÿò. ×åêè è êðåäèòíûå êàðòî÷êè ìîæíî ïð îñëåäèòü, âû íå ìîæåòå ñêðûòüñÿ îò òîãî, êîìó äàëè äåíüãè. Ñ äðóãîé ñòîðîíû, ÷åêè è êðåäèòíûå êàðòî÷êè ïîçâîëÿþò ëþäÿì âòîðãàòüñÿ â âàøó ëè÷íóþ æèçíü êàê íèê îãäà ïðåæäå. Âû íèêîãäà íå äîïóñòèëè áû, ÷òîáû ïîëèöèÿ âñþ æèçíü õîäèëà çà âàìè ïî ïÿòàì, íî ïîëèöåéñêèå ìîãóò ïðîñëåäèòü âàøè ôèíàíñîâûå îïåðàöèè. Îíè ìîãóò âèäåòü, ãäå âû ïîêóïàåòå ãàç, ãäå âû ïîêóïàåòå åäó, êîìó âû çâîíèòå ïî òåëåôîíó, è âñå ýòî íå îòðûâàÿñü îò ñâîèõ êîìïüþòåðíûõ òåðìèíàëîâ. Ëþäè äîëæíû óìåòü çàùèòèòü ñâîþ àíîíèìíîñòü, ÷òîáû çàùèòèòü ñâîè ëè÷íûå òàéíû. Ê ñ÷àñòüþ, ñóùåñòâóåò ñëîæíûé ïðîòîêîë, êîòîðûé ðàçðåøàåò èñïîëüçîâàíèå çàâåðåííûõ, íî íåîòñëåæèâà åìûõ ñîîáùåíèé. Ëîááèñò Àëèñà ìîæåò ïåðåäàòü ýëåêòðîííûå äåíüãè êîíãðåññìåíó Áîáó òàê, ÷òîáû ãàçåòíûé ðåïîðòåð Åâà íè÷åãî íå óçíàëà áû îá Àëèñå. Áîá ìîæåò çàòåì âíîñèòü ýòè ýëåêòðîííûå äåíüãè íà ñâîé áàíêî âñêèé ñ÷åò, äàæå åñëè áàíê íå èìååò îá Àëèñå íèêàêîãî ïðåäñòàâëåíèÿ. Íî åñëè Àëèñà ïðîáóåò ïîêóïàòü êîêàèí íà òó æå ñàìóþ ïîðöèþ ýëåêòðîííûõ äåíåã, êîòîðóþ îíà èñïîëüçîâàëà äëÿ ïîäêóïà Áîáà, îíà áóäåò îáíàðóæåíà áàíêîì. È åñëè Áîá ïðîáóåò âíîñèòü ïîðöèþ ýëåêòðîííûõ äåíåã íà äâà ðàçëè÷íûõ ñ÷åòà, ýòî áóäåò îáíàðóæåíî, íî Áîá, êàê è Àëèñà, îñòàíåòñÿ îí àíîíèìíûì. Èíîãäà ýòî íàçûâàåòñÿ àíîíèìíûìè ýëåêòðîííûìè äåíüãàìè, ÷òîáû ìîæíî áûëî îòëè÷èòü èõ îò îòñëåæèâàåìûõ ýëåêòðîííûõ äåíåã, òèïà êðåäè òíûõ êàðòî÷åê.  ïîäîáíûõ âåùàõ ñóùåñòâóåò áîëüøàÿ îáùåñòâåííàÿ íåîáõîäèìîñòü. Ñ ðîñòîì èñïîëüçîâàíèÿ Internet äëÿ êîììåð÷åñêèõ îïåðàöèé ðàñòåò è ïîòðåáíîñòü â ñåêðåòíîñòè ïåðåäàâàåìîé ïî ñåòè èíôîðìàöèè è àíîíèìíîñòè ïðè âåäåíèè äåë. (Èìååòñÿ íåìàëî ïðè÷èí äëÿ òîãî, ÷òîáû ëþäè îòêàçûâàëèñü ïîñûëàòü íîìåð èõ êðåäèòíîé êàðòî÷êè ïî Internet.) Ñ äðóãîé ñòîðîíû, áàíêè è ïðàâèòåëüñòâà, ïî âèäèìîìó, íå ïîæåëàþò óñòóïèòü êîíòðîëü íàä ñîâðåìåííûìè áàíêîâñêèìè ñèñòåìàìè. Õîòÿ èì ïðèäåòñÿ ýòî ñäåëàòü. Âñå, ÷òî ïîòðåáóåòñÿ, ÷òîáû ýëå êòðîííûå äåíüãè âîøëè â ìîäó, - ýòî ïîÿâëåíèå íåêîòîðîãî çàñëóæèâàþùåãî äîâåðèÿ ó÷ðåæäåíèÿ, æåëàþùåãî ïðåîáðàçîâûâàòü öèôðû â ðåàëüíûå äåíüãè. Ïðîòîêîëû ýëåêòðîííûõ äåíåã î÷åíü ñëîæíû . Äàëüøå ìû øàã çà øàãîì ïîñòðîèì îäèí èç íèõ . Áîëåå ïîäðîáíî îá ýòîì ïðîòîêîëå ìîæíî ïðî÷èòàòü â [318, 339, 325, 335, 340]. Íî ïîìíèòå, ýòî òîëüêî îäèí èç ïðîòîê îëîâ ýëåêòðîííûõ äåíåã, ñóùåñòâóþò è äðóãèå . Ïðîòîêîë ¹1 Ïåðâûå íåñêîëüêî ïðîòîêîëîâ ïðåäñòàâëÿþò ñîáîé ôèçè÷åñêèå àíàëîãè êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ . Ñëåäóþùèé ïðîòîêîë ÿâëÿåòñÿ óïðîùåííûì ôèçè÷åñêèì ïðîòîêîëîì äëÿ àíîíèìíûõ äåíåæíûõ ÷åêîâ : (1) Àëèñà ãîòîâèò 100 àíîíèìíûõ äåíåæíûõ ÷åêîâ ïî $1000 êàæäûé. (2) Àëèñà âêëàäûâàåò êàæäûé èç íèõ è ëèñòîê êîïèðîâàëüíîé áóìàãè â 100 ðàçëè÷íûõ êîíâåðòîâ è îòíîñèò âñå êîíâåðòû â áàíê. (3) Áàíê îòêðûâàåò 99 êîíâåðòîâ è óáåæäàåòñÿ, ÷òî êàæäûé ÷åê âûïèñàí íà $1000. (4) Áàíê ïîäïèñûâàåò åäèíñòâåííûé îñòàâøèéñÿ íåðàñïå÷àòàííûì êîíâåðò . Ñ ïîìîùüþ êîïèðîâàëüíîé áóìàãè ïîäïèñü ïåðåâîäèòñÿ íà ÷åê. Áàíê âîçâðàùàåò íåðàñïå÷àòàííûé êîíâåðò Àëèñå è ñïèñûâàåò $1000 ñ åå ñ÷åòà. (5) Àëèñà âñêðûâàåò êîíâåðò è îòäàåò äåíåæíûé ÷åê ïðîäàâöó . (6) Ïðîäàâåö ïðîâåðÿåò áàíêîâñêóþ ïîäïèñü, óáåæäàÿñü â çàêîííîñòè äåíåæíîãî ÷åêà . (7) Ïðîäàâåö îòíîñèò äåíåæíûé ÷åê â áàíê . (8) Áàíê ïðîâåðÿåò ñâîþ ïîäïèñü è íà÷èñëÿåò $1000 íà ñ÷åò ïðîäàâöà. Ýòîò ïðîòîêîë ðàáîòàåò. Áàíê íå âèäèò äåíåæíûé ÷åê, êîòîðûé îí ïîäïèñûâàåò, ïîýòîìó, êîãäà ïðîäàâåö ïðèíåñåò ÷åê â áàíê, áàíê íèêîãäà íå óçíàåò, ÷òî ýòî ÷åê Àëèñû. Áëàãîäàðÿ ïîäïèñè áàíê óáåæäåí â çàêîííîñòè ÷åêà. À èç-çà ïðîòîêîëà "ðàçðåçàòü è âûáðàòü" (ñì. ðàçäåë 5.1) áàíê óâåðåí, ÷òî íåðàñïå÷àòàííûé äåíåæíûé ÷åê - íà ñóììó $1000 (à íå $100000 èëè $100000000). Îí ïðîâåðÿåò îñòàëüíûå 99 êîíâåðòîâ, ïîýòîìó âåðîÿòíîñòü îáìàíà áàíêà Àëèñîé ñîñòàâëÿåò òîëüêî 1 ïðîöåíò. Êîíå÷íî, áàíê íàçíà÷èò çà îáìàí äîñòàòî÷íî áîëüøîé øòðàô, òàêîé, ÷òîáû íå ñòîèëî ìîøåííè÷àòü. Âåäü åñëè áàíê ïðîñòî îòêàæåòñÿ ïîäïèñàòü ïîñëåäíèé ÷åê (åñëè Àëèñà ïîéìàíà íà îáìàíå), íå øòðàôóÿ Àëèñó, îíà ïðîäîëæèò ñâîè ïîïûòêè, ïîêà åé íå ïîâåçåò. Ëó÷øåå ñðå äñòâî óñòðàøåíèÿ - ýòî òþðåìíîå çàêëþ÷åíèå.
Ïðîòîêîë ¹2 Ïðåäûäóùèé ïðîòîêîë íå äàåò Àëèñå íàïèñàòü ÷åê íà ñóììó, îòëè÷íóþ îò çàÿâëåííîé, íî îí íå ìåøàåò åé îòêñåðîêîïèðîâàòü ÷åê è èñïîëüçîâàòü åãî äâàæäû . Ýòî íàçûâàåòñÿ ïðîáëåìîé ïîâòîðíîé îïëàòû; äëÿ åå ðåøåíèå ïðèäåòñÿ óñëîæíèòü ïðîòîêîë: (1) Àëèñà ãîòîâèò 100 àíîíèìíûõ äåíåæíûõ ÷åêîâ ïî $1000 êàæäûé. Ê êàæäîìó äåíåæíîìó ÷åêó îíà äîáà âëÿåò óíèêàëüíóþ ñòðîêó, âûáðàííóþ ñëó÷àéíûì îáðàçîì è äîñòàòî÷íî äëèííóþ, ÷òîáû âåðîÿòíîñòü è ñïîëüçîâàíèÿ ýòîé ñòðîêè äðóãèì ÷åëîâåêîì áûëà ïðåíåáðåæèìî ìàëà. (2) Àëèñà âêëàäûâàåò êàæäûé èç íèõ è ëèñòîê êîïèðîâàëüíîé áóìàãè â 100 ðàçëè÷íûõ êîíâåðòîâ è îòíîñèò âñå êîíâåðòû â áàíê. (3) Áàíê îòêðûâàåò 99 êîíâåðòîâ è óáåæäàåòñÿ, ÷òî êàæäûé ÷åê âûïèñàí íà $1000. (4) Áàíê ïîäïèñûâàåò åäèíñòâåííûé îñòàâøèéñÿ íåðàñïå÷àòàííûì êîíâåðò . Ñ ïîìîùüþ êîïèðîâàëüíîé áóìàãè ïîäïèñü ïåðåâîäèòñÿ íà ÷åê. Áàíê âîçâðàùàåò íåðàñïå÷àòàííûé êîíâåðò Àëèñå è ñïèñûâàåò $1000 ñ åå ñ÷åòà. (5) Àëèñà âñêðûâàåò êîíâåðò è îòäàåò äåíåæíûé ÷åê ïðîäàâöó . (6) Ïðîäàâåö ïðîâåðÿåò áàíêîâñêóþ ïîäïèñü, óáåæäàÿñü â çàêîííîñòè äåíåæíîãî ÷åêà . (7) Ïðîäàâåö îòíîñèò äåíåæíûé ÷åê â áàíê . (8) Áàíê ïðîâåðÿåò ñâîþ ïîäïèñü è ïî ñâîåé áàçå äàííûõ óáåæäàåòñÿ, ÷òî äåíåæíûé ÷åê ñ òàêîé óíèêàëüíîé ñòðîêîé ðàíåå íå äåïîíèðîâàëñÿ. Åñëè ýòî òàê, áàíê íà÷èñëÿåò $1000 íà ñ÷åò ïðîäàâöà è çàïèñûâàåò óí èêàëüíóþ ñòðîêó â áàçó äàííûõ. (9) Åñëè äåíåæíûé ÷åê óæå áûë äåïîíèðîâàí ðàíåå, áàíê îòêàçûâàåòñÿ ïðèíÿòü åãî. Òåïåðü, åñëè Àëèñà ïîïûòàåòñÿ ðàñïëàòèòüñÿ êñåðîêîïèåé äåíåæíîãî ÷åêà èëè ïðîäàâåö ïîïûòàåòñÿ äåïîí èðîâàòü äåíåæíûé ÷åê ïîâòîðíî, èñïîëüçóÿ êñåðîêîïèþ , áàíê óçíàåò îá ýòîì. Ïðîòîêîë ¹3 Ïðåäûäóùèé ïðîòîêîë çàùèùàåò áàíê îò ìîøåííèêîâ, íî íå óñòàíàâëèâàåò èõ ëè÷íîñòü . Áàíê íå çíàåò, ïîïûòàëñÿ ëè ÷åëîâåê, êîòîðûé ïîëó÷èë ÷åê (áàíê íè÷åãî íå çíàåò îá Àëèñå ), îáìàíóòü ïðîäàâöà, èëè ïðîäàâåö ïûòàåòñÿ îáìàíóòü áàíê. Ýòà íåîäíîçíà÷íîñòü èñïðàâëÿåòñÿ ñëåäóþùèì ïðîòîêîëîì : (1) Àëèñà ãîòîâèò 100 àíîíèìíûõ äåíåæíûõ ÷åêîâ ïî $1000 êàæäûé. Ê êàæäîìó äåíåæíîìó ÷åêó îíà äîáà âëÿåò óíèêàëüíóþ ñòðîêó, âûáðàííóþ ñëó÷àéíûì îáðàçîì è äîñòàòî÷íî äëèííóþ, ÷òîáû âåðîÿòíîñòü è ñïîëüçîâàíèÿ ýòîé ñòðîêè äðóãèì ÷åëîâåêîì áûëà ïðåíåáðåæèìî ìàëà. (2) Àëèñà âêëàäûâàåò êàæäûé èç íèõ è ëèñòîê êîïèðîâàëüíîé áóìàãè â 100 ðàçëè÷íûõ êîíâåðòîâ è îòíîñèò âñå êîíâåðòû â áàíê. (3) Áàíê îòêðûâàåò 99 êîíâåðòîâ è óáåæäàåòñÿ, ÷òî êàæäûé ÷åê âûïèñàí íà $1000, è ÷òî âñå ñëó÷àéíûå ñòðîêè ðàçëè÷íû. (4) Áàíê ïîäïèñûâàåò åäèíñòâåííûé îñòàâøèéñÿ íåðàñïå÷àòàííûì êîíâåðò . Ñ ïîìîùüþ êîïèðîâàëüíîé áóìàãè ïîäïèñü ïåðåâîäèòñÿ íà ÷åê. Áàíê âîçâðàùàåò íåðàñïå÷àòàííûé êîíâåðò Àëèñå è ñïèñûâàåò $1000 ñ åå ñ÷åòà. (5) Àëèñà âñêðûâàåò êîíâåðò è îòäàåò äåíåæíûé ÷åê ïðîäàâöó . (6) Ïðîäàâåö ïðîâåðÿåò áàíêîâñêóþ ïîäïèñü, óáåæäàÿñü â çàêîííîñòè äåíåæíîãî ÷åêà . (7) Ïðîäàâåö ïðîñèò Àëèñó íàïèñàòü ñëó÷àéíóþ èäåíòèôèêàöèîííóþ ñòðîêó íà äåíåæíîì ÷åêå. (8) Àëèñà âûïîëíÿåò ýòî. (9) Ïðîäàâåö îòíîñèò äåíåæíûé ÷åê â áàíê . (10) Áàíê ïðîâåðÿåò ñâîþ ïîäïèñü è ïî ñâîåé áàçå äàííûõ óáåæäàåòñÿ, ÷òî äåíåæíûé ÷åê ñ òàêîé óíèêàëüíîé ñòðîêîé ðàíåå íå äåïîíèðîâàëñÿ. Åñëè ýòî òàê, áàíê íà÷èñëÿåò $1000 íà ñ÷åò ïðîäàâöà è çàïèñûâàåò óí èêàëüíóþ ñòðîêó â áàçó äàííûõ. (11) Åñëè óíèêàëüíàÿ ñòðîêà óæå åñòü â áàçå äàííûõ, áàíê îòêàçûâàåòñÿ ïðèíÿòü äåíåæíûé ÷åê è ñðàâíèâàåò èäåíòèôèêàöèîííóþ ñòðîêó íà äåíåæíîì ÷åêå ñ õðàíèìîé â áàçå äàííûõ. Åñëè îíè ñîâïàäàþò, òî áàíê óáåæäàåòñÿ, ÷òî êîïèÿ áûëà ñíÿòà ñ ÷åêà ïðîäàâöîì. Åñëè èäåíòèôèêàöèîííûå ñòðîêè ðàçëè÷íû, òî áàíê çíàåò, ÷òî ÷åê áûë ñêîïèðîâàí ÷åëîâåêîì, êîòîðûé åãî ãîòîâèë.  ýòîì ïðîòîêîëå ïðåäïîëàãàåòñÿ, ÷òî ïðîäàâåö íå ìîæåò èçìåíèòü èäåíòèôèêàöèîííóþ ñòðîêó ïîñëå òîãî,
êàê Àëèñà íàïèøåò åå íà äåíåæíîì ÷åêå. Íà äåíåæíîì ÷åêå ìîã áû íàõîäèòüñÿ ðÿä íåáîëüøèõ êâàäðàòîâ, êîò îðûå ïî òðåáîâàíèþ òîðãîâöà Àëèñà äîëæíà çàïîëíèòü êðåñòèêàìè èëè íîëèêàìè. Äåíåæíûé ÷åê ìîã áû áûòü ñäåëàí èç áóìàãè, êîòîðàÿ ðâåòñÿ ïðè èñïðàâëåíèÿõ. Òàê êàê ïðîäàâåö è áàíê âçàèìîäåéñòâóþò ïîñëå òîãî, êàê Àëèñà ïîòðàòèò äåíüãè, ïðîäàâöó ìîãóò âñó÷èòü ïëîõîé äåíåæíûé ÷åê. Ïðàêòè÷åñêèå ðåàëèçàöèè ýòîãî ïðîòîêîëà ìîãëè áû ïîòðåáîâàòü îò Àëèñû ïîäîæäàòü ó êàññîâîãî àïïàðàòà, ïîêà ïðîäàâåö áóäåò ðàçáèðàòüñÿ ñ áàíêîì, òî÷íî òàêæå, êàê ýòî ïðîèñõîäèò ñåãîäíÿ ïðè îáðàáîòêå ïëàòåæåé ñ èñïîëüçîâàíèåì êðåäèòíûõ êàðòî÷åê. Àëèñà òàêæå ìîæåò ïðèñïîñîáèòüñÿ è ê ýòîìó. Îíà ìîæåò ïîòðàòèòü êîïèþ äåíåæíîãî ÷åêà âòîðîé ðàç, í àïèñàâ òó æå ñàìóþ èäåíòèôèêàöèîííóþ ñòðîêó íà ýòàïå (7). Åñëè ïðîäàâåö íå âåäåò áàçó äàííûõ óæå ïîëó÷å ííûõ äåíåæíûõ ÷åêîâ, îí áóäåò ââåäåí â çàáëóæäåíèå. Ýòó ïðîáëåìó óñòðàíÿåò ñëåäóþùèé ïðîòîêîë. Ïðîòîêîë ¹4 Åñëè îêàæåòñÿ, ÷òî ÷åëîâåê, âûïèñàâøèé áàíêîâñêèé ÷åê, ïîïûòàëñÿ îáìàíóòü ïðîäàâöà, òî áàíê ìîæåò ç àõîòåòü ëè÷íîñòü ýòîãî ÷åëîâåêà. ×òîáû ñäåëàòü ýòî, ïðèäåòñÿ âåðíóòüñÿ îò ôèçè÷åñêèõ àíàëîãèé â ìèð êðèïò îãðàôèè. ×òîáû ñïðÿòàòü èìÿ Àëèñû â ýëåêòðîííîì ÷åêå, ìîæíî âîñïîëüçîâàòüñÿ ìåòîäèêîé ðàçäåëåíèÿ ñåêðåòà . (1) Àëèñà ãîòîâèò n àíîíèìíûõ äåíåæíûõ ÷åêîâ íà çàäàííóþ ñóììó . Êàæäûé èç ÷åêîâ ñîäåðæèò óíèêàëüíóþ ñòðîêó, X, ïîëó÷åííóþ ñëó÷àéíûì îáðàçîì è äîñòàòî÷íî äëè ííóþ, ÷òîáû âåðîÿòíîñòü ïîÿâëåíèÿ äâóõ îäèíàêîâûõ ñòðîê áûëà ïðåíåáðåæèìî ìàëà . Íà êàæäîì ÷åêå åñòü òàêæå n ïàð áèòîâûõ ñòðîê èäåíòèôèêàöèè, I1, I2, ..., In. (Èìåííî òàê, n ðàçëè÷íûõ ïàð íà êàæäîì ÷åêå.) Êàæäàÿ èç ýòèõ ïàð ãåíåðèðóåòñÿ ñëåäóþùèì îáðàçîì : Àëèñà ñîçäàåò ñòðîêó, ñîäåðæàùóþ åå èìÿ, àäðåñ è ïðî÷èå ñâåäåíèÿ, òðåáóåìûå áàíêîì . Çàòåì îíà äåëèò ýòó ñòðîêó íà äâå ÷àñòè, èñïîëüçóÿ ïðîòîêîë äåëåíèÿ ñåêðåòà (ñì. ðàçäåë 3.6) è âðó÷àåò êàæäóþ ÷àñòü, èñïîëüçóÿ ïðîòîêîë âðó÷ åíèÿ áèòîâ. Íàïðèìåð, I37 ñîñòîèò èç äâóõ ÷àñòåé: I 37 L è I 37 R . Êàæäàÿ ÷àñòü ïðåäñòàâëÿåò ñîáîé ïàêåò âðó÷åííûõ á èòîâ, êîòîðûé Àëèñó ìîãóò ïîïðîñèòü îòêðûòü, è ÷üå îòêðûòîå ñîäåðæàíèå ìîæåò áûòü ìãíîâåííî ïðîâ åðåíî. Ëþáàÿ ïàðà (íàïðèìåð, I 37 L è I 37 R , íî íå I 37 L è I 38 R ), ðàñêðûâàåò ëè÷íîñòü Àëèñû. Êàæäûé èç ÷åêîâ âûãëÿäèò ñëåäóþùèì îáðàçîì: Ñóììà Óíèêàëüíàÿ ñòðîêà: : Ñòðîêè èäåíòèôèêàöèè:
I1 = ( I 1 L , I1 R ) I2 = ( I2 L , I2 R ) ....
I n = ( I nL , I nR ) (2) Àëèñà ìàñêèðóåò âñå n ÷åêîâ ñ ïîìîùüþ ïðîòîêîëà ñëåïîé ïîäïèñè è îòíîñèò ÷åêè â áàíê. (3) Áàíê ïðîñèò Àëèñó ñíÿòü ìàñêèðîâêó ñ n-1 äåíåæíûõ ÷åêîâ è óáåæäàåòñÿ, ÷òî âñå îíè ïðàâèëüíî îôîð ìëåíû. Áàíê ïðîâåðÿåò ñóììó, óíèêàëüíóþ ñòðîêó è ïðîñèò Àëèñó ðàñêðûòü âñå ñòðîêè èäåíòèôèêàöèè. (4) Åñëè áàíê óäîâëåòâîðåí, íå îáíàðóæèâ ïîïûòîê ìîøåííè÷åñòâà, îí ïîäïèñûâàåò îñòàâøèéñÿ çàìàñêèð îâàííûé äåíåæíûé ÷åê. Áàíê âîçâðàùàåò çàìàñêèðîâàííûé ÷åê Àëèñå è ñïèñûâàåò ñóììó ñ åå ñ÷åòà. (5) Àëèñà ñíèìàåò ìàñêèðîâêó ñ ÷åêà è òðàòèò åãî ó ïðîäàâöà. (6) Ïðîäàâåö ïðîâåðÿåò áàíêîâñêóþ ïîäïèñü, óáåæäàÿñü â çàêîííîñòè äåíåæíîãî ÷åêà . (7) Ïðîäàâåö ñëó÷àéíûì îáðàçîì ïðîñèò Àëèñó ðàñêðûòü ëèáî ëåâûå, ëèáî ïðàâûå ïîëîâèíû âñåõ ñòðîê èäåíòèôèêàöèè íà ÷åêå. Ïî ñóòè, ïðîäàâåö âûäàåò Àëèñå ñëó÷àéíóþ n-áèòîâóþ ñòðîêó-ñåëåêòîð, b1, b2, ..., bn. Ëåâóþ èëè ïðàâóþ ïîëîâèíó Ii îòêðîåò Àëèñà, çàâèñèò îò çíà÷åíèÿ bi , 0 èëè 1. (8) Àëèñà âûïîëíÿåò ýòî. (9) Ïðîäàâåö îòíîñèò äåíåæíûé ÷åê â áàíê . (10) Áàíê ïðîâåðÿåò ñâîþ ïîäïèñü è ïî ñâîåé áàçå äàííûõ óáåæäàåòñÿ, ÷òî äåíåæíûé ÷åê ñ òàêîé óíèêàëüíîé ñòðîêîé ðàíåå íå äåïîíèðîâàëñÿ. Åñëè ýòî òàê, áàíê íà÷èñëÿåò óêàçàííóþ ñóììó íà ñ÷åò ïðîäàâöà è çàïè-
ñûâàåò óíèêàëüíóþ ñòðîêó â áàçó äàííûõ. (11) Åñëè óíèêàëüíàÿ ñòðîêà óæå åñòü â áàçå äàííûõ, áàíê îòêàçûâàåòñÿ ïðèíÿòü äåíåæíûé ÷åê è ñðàâíèâàåò èäåíòèôèêàöèîííóþ ñòðîêó íà äåíåæíîì ÷åêå ñ õðàíèìîé â áàçå äàííûõ. Åñëè îíè ñîâïàäàþò, òî áàíê óáåæäàåòñÿ, ÷òî ÷åê áûë ñêîïèðîâàí ïðîäàâöîì. Åñëè èäåíòèôèêàöèîííûå ñòðîêè ðàçëè÷íû, òî áàíê çí àåò, ÷òî ÷åê áûë ñêîïèðîâàí ÷åëîâåêîì, êîòîðûé ãîòîâèë ýòîò äåíåæíûé ÷åê. Òàê êàê âòîðîé ïðîäàâåö, ï îëó÷èâøèé ÷åê, âûäàë Àëèñå äðóãóþ, ÷åì ïåðâûé, ñòðîêó-ñåëåêòîð, áàíê îáíàðóæèò, ÷òî äëÿ êàêîé-òî èç ïîçèöèé Àëèñà îòêðûëà ëåâóþ ïîëîâèíó îäíîìó ïðîäàâöó, à ïðàâóþ - äðóãîìó. Âûïîëíèâ íàä ýòèìè ï îëîâèíàìè ñòðîêè èäåíòèôèêàöèè îïåðàöèþ XOR, áàíê îïðåäåëèò ëè÷íîñòü Àëèñû. Ýòî âåñüìà èíòåðåñíûé ïðîòîêîë, ïîýòîìó ïîñìîòðèì íà íåãî ñ ðàçíûõ ñòîðîí . Ìîæåò ëè Àëèñà ñìîøåííè÷àòü? Åå ýëåêòðîííûå äåíüãè ïðåäñòàâëÿþò ñîáîé ïðîñòî ñòðîêó áèòîâ, êîòîðóþ îíà ëåãêî ìîæåò ñêîïèðîâàòü. Ïîòðàòèòü èõ â ïåðâûé ðàç - íå ïðîáëåìà, îíà ïðîñòî âûïîëíèò ïðîòîêîë, è âñå ïðîéäåò áåç ïðîáëåì. Ïðîäàâåö âûäàñò åé íà ýòàïå (7) ñëó÷àéíóþ n-áèòîâóþ ñòðîêó-ñåëåêòîð, è Àëèñà îòêðîåò ëèáî ëåâóþ, ëèáî ïðàâóþ ïîëîâèíó êàæäîé Ii íà ýòàïå (8). Íà ýòàïå (10) áàíê çàïèøåò âñå ýòè äàííûå âìåñòå ñ óíèêàëüíîé ñòðîêîé äåíåæíîãî ÷åêà . Êîãäà îíà ïîïûòàåòñÿ èñïîëüçîâàòü òå æå ýëåêòðîííûå äåíüãè âòîðîé ðàç, ïðîäàâåö (òîò æå èëè èíîé) âûäàñò åé íà ýòàïå (7) äðóãóþ ñëó÷àéíóþ n-áèòîâóþ ñòðîêó-ñåëåêòîð. Àëèñà äîëæíà âûïîëíèòü ýòàï (8), åå îòêàç íåìåäëåííî âñòðåâîæèò ïðîäàâöà . Òåïåðü, êîãäà ïðîäàâåö ïðèíîñèò äåíüãè â áàíê íà ýòàïå (10) , áàíê íåìåäëåííî çàìåòèò, ÷òî äåíåæíûé ÷åê ñ ýòîé óíèêàëüíîé ñòðîêîé óæå áûë äåïîíèðîâàí . Áàíê ñðàâíèâàåò îòêðûòûå ïîëîâèíû ñòðîê èäåíòèôèêàöèè. Âåðîÿòíîñòü ñîâïàäåíèÿ äâóõ ñëó÷àéíûõ ñòðîê-ñåëåêòîðîâ ñîñòàâëÿåò îäèí øàíñ èç 2n, ýòîãî íå ñëó÷èòñÿ äî ñëåäóþùåãî îëåäåíåíèÿ . Òåïåðü áàíê íàõîäèò ïàðó, ïåðâàÿ ïîëîâèíà êîòîðîé áûëà îòêðûòà â ïåðâûé ðàç, à âòîðàÿ - âî âòîðîé, âûïîëíÿåò íàä ýòèìè ïîëîâèíàìè îïåðàöèþ XOR è èçâëåêàåò èìÿ Àëèñû. Òàê áàíê óçíàåò, êòî ïîïûòàëñÿ âîñïîëüçîâàòüñÿ ÷åêîì äâàæäû . ×òî ýòîò ïðîòîêîë íå ìåøàåò Àëèñå ìîøåííè÷àòü, íî åå ìîøåííè÷åñòâî ïî÷òè íàâåðíÿêà áóäåò îáíàðóæåíî . Ñìîøåííè÷àâ, Àëèñà íå ñìîæåò ñîõðàíèòü â òàéíå ñâîþ ëè÷íîñòü . Îíà íå ìîæåò èçìåíèòü íè óíèêàëüíóþ ñòðîêó, íè êàêóþ-íèáóäü èç ñòðîê èäåíòèôèêàöèè, èíà÷å èñïîðòèòñÿ áàíêîâñêàÿ ïîäïèñü, è ïðîäàâåö íåìåäëå ííî çàìåòèò ýòî íà ýòàïå (6). Àëèñà ìîãëà áû ïîïûòàòüñÿ ïîäñóíóòü áàíêó ïëîõîé äåíåæíûé ÷åê, òàêîé, íà êîòîðîì ñòðîêè èäåíòèôèê àöèè íå ðàñêðûâàþò åå èìåíè, èëè, åùå ëó÷øå, ðàñêðûâàþò èìÿ êîãî-òî åùå . Âåðîÿòíîñòü, ÷òî òàêàÿ óëîâêà ïð îñêî÷èò ìèìî áàíêà íà ýòàïå (3), ñîñòàâëÿåò 1 èç n. Ýòî íå íåâîçìîæíî, íî åñëè øòðàô çà ìîøåííè÷åñòâî äîñò àòî÷íî ñóðîâ, Àëèñà íå áóäåò èñïûòûâàòü ñóäüáó . Èëè âû ìîæåòå óâåëè÷èòü ÷èñëî èçáûòî÷íûõ ÷åêîâ, ïðåäúÿ âëÿåìûõ Àëèñîé íà ýòàïå (1). Ìîæåò ëè ñìîøåííè÷àòü ïðîäàâåö? Åãî øàíñû äàæå õóæå. Îí íå ìîæåò äåïîíèðîâàòü äåíåæíûé ÷åê äâà æäû, áàíê çàìåòèò ïîâòîðíîå èñïîëüçîâàíèå ñòðîêè-ñåëåêòîðà . Îí íå ñìîæåò ìîøåííè÷àòü, îáâèíÿÿ Àëèñó, òàê êàê òîëüêî îíà ìîæåò îòêðûòü ëþáóþ ñòðîêó èäåíòèôèêàöèè . Íå ïîìîæåò îáìàíóòü áàíê è ëþáîé ñãîâîð ìåæäó Àëèñîé è ïðîäàâöîì . Åñëè áàíê ïîäïèñàë äåíåæíûé ÷åê ñ óíèêàëüíîé ñòðîêîé, îí ìîæåò áûòü óâåðåí â òîì, ÷òî ýòîò ÷åê áóäåò îïëà÷åí òîëüêî îäèí ðàç . À êàê íàñ÷åò áàíêà? Ìîæåò ëè îí âû÷èñëèòü, ÷òî äåíåæíûé ÷åê, ïîëó÷åííûé îò ïðîäàâöà, ýòî è åñòü òîò ñ àìûé ÷åê, êîòîðûé áûë ïîäïèñàí äëÿ Àëèñû ? Íà ýòàïàõ (2)-(5) Àëèñà çàùèùåíà ïðîòîêîëîì ñëåïîé ïîäïèñè . Áàíê íå ñìîæåò ñâÿçàòü Àëèñó è ÷åê, äàæå åñëè îí ïîëíîñòüþ ñîõðàíÿåò çàïèñü êàæäîé òðàíçàêöèè . Áîëåå òîãî, äàæå îáúåäèíèâøèñü, áàíê è ïðîäàâåö íå ñìîãóò óñòàíîâèòü ëè÷íîñòü Àëèñû . Àëèñà ìîæåò ïðîéòèñü ïî ìàãàçèíó è, îñòàâàÿñü ïîëíîñòüþ àíîíèìíîé, êóïèòü òî, ÷òî åé íàäî . Ìîæåò ñìîøåííè÷àòü Åâà. Åñëè îíà ñìîæåò ïîäñëóøàòü ëèíèþ ñâÿçè ìåæäó Àëèñîé è ïðîäàâöîì, è åñëè îíà ñìîæåò äîáðàòüñÿ äî áàíêà ðàíüøå ïðîäàâöà, îíà ñìîæåò ïåðâîé äåïîíèðîâàòü ÷åê . Áàíê ïðèìåò åãî è, ÷òî õóæå, êîãäà ïðîäàâåö ïîïûòàåòñÿ äåïîíèðîâàòü ñâîé ÷åê, òî îí áóäåò îáâèíåí â ìîøåííè÷åñòâå . Åñëè Åâà óêðàäåò ýëåêòðîííûå äåíüãè Àëèñû è óñïååò ïîòðàòèòü èõ ïðåæäå Àëèñû, òî â ìîøåííè÷åñòâå áóäåò îáâèíåíà Àëèñà. Íå ñóùåñòâóåò ñïîñîáà ïîìåøàòü ýòîìó, è ýòî ÿâëÿåòñÿ ïðÿìûì ñëåäñòâèåì àíîíèìíîñòè íàëè÷íûõ . È Àëèñà, è ïðîäàâåö äîëæíû çàùèùàòü ñâîè áèòû òàê, êàê îíè çàùèùàëè áû ñâîè äåíüãè . Ìåñòî ýòîãî ïðîòîêîëà ãäå-òî ìåæäó ïðîòîêîëîì ñ ïîñðåäíèêîì è ñàìîäîñòàòî÷íûì ïðîòîêîëîì . È Àëèñà, è ïðîäàâåö äîâåðÿþò áàíêó â òîì, ÷òî êàñàåòñÿ äåíåã, íî Àëèñà íå äîëæíà äîâåðÿòü áàíêó ñâåäåíèÿ î ñâîèõ ï îêóïêàõ. Ýëåêòðîííûå íàëè÷íûå è èäåàëüíîå ïðèâåäåíèå Ó ýëåêòðîííûõ íàëè÷íûõ åñòü è ñâîÿ òåìíàÿ ñòîðîíà . Èíîãäà ëþäÿì íå íóæíî òàê ìíîãî ñåêðåòíîñòè . Ñìîòðèòå, êàê Àëèñà ñîâåðøàåò èäåàëüíîå ïðåñòóïëåíèå [1575]: (1) Àëèñà êðàäåò ðåáåíêà.
(2) Àëèñà ãîòîâèò 10000 àíîíèìíûõ äåíåæíûõ ÷åêîâ ïî $1000 (èëè äðóãîå êîëè÷åñòâî ÷åêîâ íóæíîãî åé äî ñòîèíñòâà). (3) Àëèñà ìàñêèðóåò âñå 10000 äåíåæíûõ ÷åêîâ, èñïîëüçóÿ ïðîòîêîë ñëåïîé ïîäïèñè . Îíà ïîñûëàåò èõ âëàñòÿì ñ óãðîçîé óáèòü ðåáåíêà, åñëè íå áóäóò âûïîëíåíû ñëåäóþùèå èíñòðóêöèè : (a) Âñå 10000 äåíåæíûõ ÷åêîâ äîëæíû áûòü ïîäïèñàíû áàíêîì . (b) Ðåçóëüòàòû äîëæíû áûòü îïóáëèêîâàíû â ãàçåòå . (4) Âëàñòè ñîãëàøàþòñÿ.
(5) Àëèñà ïîêóïàåò ãàçåòó, ñíèìàåò ìàñêèðîâêó ñ äåíåæíûõ ÷åêîâ è íà÷èíàåò òðàòèòü èõ . Íå ñìîãóò íàéòè åå, ïðîñëåäèâ çà äåíåæíûìè ÷åêàìè . (6) Àëèñà îñâîáîæäàåò ðåáåíêà. Çàìåòüòå, ÷òî ýòà ñèòóàöèÿ ãîðàçäî õóæå ÷åì ïðè èñïîëüçîâàíèè ëþáûõ ôèçè÷åñêèõ íîñèòåëåé, íàïðèìåð, íàëè÷íûõ. Áåç ôèçè÷åñêîãî êîíòàêòà ó ïîëèöèè ãîðàçäî ìåíüøå øàíñîâ çàäåðæàòü ïîõèòèòåëÿ . Îäíàêî, â îáùåì ñëó÷àå ýëåêòðîííûå íàëè÷íûå íå ñëèøêîì óäîáíû äëÿ ïðåñòóïíèêîâ . Ïðîáëåìà â òîì, ÷òî àíîíèìíîñòü ðàáîòàåò òîëüêî äëÿ îäíîé ñòîðîíû - ïîêóïàòåëü àíîíèìåí, à ïðîäàâåö íåò . Áîëåå òîãî, ïðîäàâåö íå ñìîæåò ñêðûòü ôàêò ïîëó÷åíèÿ äåíåã . Ýëåêòðîííûå íàëè÷íûå ïîìîãóò ïðàâèòåëüñòâó îïðåäåëèòü, ñêîëüêî äåíåã âû çàðàáàòûâàåòå, íî îïðåäåëèòü, êàê âû èõ òðàòèòå, îñòàíåòñÿ íåâîçìîæíûì . Ðåàëüíûå ýëåêòðîííûå íàëè÷íûå Ãîëëàíäñêàÿ êîìïàíèÿ, DigiCash, âëàäååò áîëüøåé ÷àñòüþ ïàòåíòîâ â îáëàñòè ýëåêòðîííûõ íàëè÷íûõ è ðå àëèçîâàëà ïðîòîêîëû ýëåêòðîííûõ íàëè÷íûõ â ðàáîòàþùèõ ïðîäóêòàõ owns. Åñëè âû çàèíòåðåñîâàëèñü ýòèì, îáðàòèòåñü â DigiCash BV, Kruislaan 419, 1098 VA Amsterdam, Nethe rlands. Äðóãèå ïðîòîêîëû ýëåêòðîííûõ íàëè÷íûõ Ñóùåñòâóþò è äðóãèå ïðîòîêîëû ýëåêòðîííûõ íàëè÷íûõ, ñì. [707, 1554, 734, 1633, 973]. Ðÿä èç íèõ èñïîëüçóåò âåñüìà èçîùðåííóþ ìàòåìàòèêó . Ðàçëè÷íûå ïðîòîêîëû ýëåêòðîííûõ íàëè÷íûõ ìîæíî ðàçäåëèòü íà ðà çëè÷íûå êàòåãîðèè. Äèàëîãîâûå ñèñòåìû òðåáóþò, ÷òîáû ïðîäàâåö ñâÿçûâàëñÿ ñ áàíêîì ïðè êàæäîé ïðîäàæå, ÷òî î÷åíü ïîõîæå íà ñåãîäíÿøíèé ïðîòîêîë äëÿ êðåäèòíûõ êàðòî÷åê . Åñëè âîçíèêàåò êàêàÿ-íèáóäü ïðîáëåìà, áàíê íå ïðèíèìàåò íàëè÷íûå, è Àëèñà íå ìîæåò ñìîøåííè÷àòü. Àâòîíîìíûå ñèñòåìû, ïîäîáíûå ïðîòîêîëó ¹4, íå òðåáóþò ñîåäèíåíèÿ ìåæäó ïðîäàâöîì è áàíêîì äî îêîí÷àíèÿ òðàíçàêöèè ìåæäó ïðîäàâöîì è ïîêóïàòåëåì . Ýòè ñèñòåìû íå ïîìåøàþò Àëèñå ìîøåííè÷àòü, íî âìåñòî ýòîãî îáíàðóæàò åå ìîøåííè÷åñòâî . Ïðîòîêîë ¹4 îáíàðóæèâàåò ìîøåííè÷åñòâî Àëèñû, ðàñêðûâàÿ åå ëè÷íîñòü ïðè ïîïûòêå ìîøåííè÷àòü . Àëèñà çíàåò î ïîñëåäñòâèÿõ è, ïîýòîìó, íå ìîøåííè÷àåò . Äðóãîé ïóòü ñîñòîèò â ñîçäàíèè ñïåöèàëüíîé èíòåëëåêòóàëüíîé êàðòû (ñì. Ðàçäåë 24.13), ñîäåðæàùåé ç àùèùåííóþ ìèêðîñõåìó, íàçûâàåìóþ íàáëþäàòåëåì [332, 341, 387]. Ìèêðîñõåìà-íàáëþäàòåëü õðàíèò ìèíèáàçó äàííûõ âñåõ ÷àñòåé ýëåêòðîííûõ íàëè÷íûõ, ïîòðà÷åííûõ ýòîé èíòåëëåêòóàëüíîé ïëàòîé. Åñëè Àëèñà ï îïûòàåòñÿ ñêîïèðîâàòü êàêèå-òî ýëåêòðîííûå íàëè÷íûå è ïîòðàòèòü èõ äâàæäû, âíåäðåííàÿ ìèêðîñõåìàíàáëþäàòåëü îáíàðóæèëà áû òàêóþ ïîïûòêó è íå ðàçðåøèëà òðàíçàêöèþ. Òàê êàê ìèêðîñõåìà-íàáëþäàòåëü çàùèùåíà îò âìåøàòåëüñòâà èçâíå, Àëèñà íå ñìîæåò ñòåðåòü ìèíè-áàçó äàííûõ áåç ðàçðóøåíèÿ èíòåëëåêòóàë üíîé êàðòû. Íàëè÷íûå äåíüãè ìîãóò îáîðà÷èâàòüñÿ â ýêîíîìèêå, êîãäà îíè, íàêîíåö áóäóò äåïîíèðîâàíû, áàíê ìîæåò ïðîâåðèòü íàëè÷íûå è îïðåäåëèòü ìîøåííèêà, åñëè ïðîèçîøåë îáìàí. Ïðîòîêîëû ýëåêòðîííûõ íàëè÷íûõ ìîæíî ðàçäåëèòü è ïî äðóãîìó ïðèçíàêó . Íîìèíàë ýëåêòðîííûõ ìîíåò ôèêñèðîâàí, ëþäÿì, èñïîëüçóþùèì òàêóþ ñèñòåìó, íóæåí ðÿä ìîíåò ðàçëè÷íûõ íîìèíàëîâ . Ýëåêòðîííûå ÷åêè ìîãóò áûòü èñïîëüçîâàíû äëÿ ëþáûõ ñóìì äî çàäàííîãî ìàêñèìóìà, à íåïîòðà÷åííûé îñòàòîê ìîæåò áûòü âîçâðàùåí íà ñ÷åò. Äâóìÿ îòëè÷íûìè ñîâåðøåííî îòëè÷àþùèìèñÿ äðóã îò äðóãà àâòîíîìíûìè ïðîòîêîëàìè ýëåêòðîííûõ ì îíåò ÿâëÿþòñÿ [225, 226, 227] è [563, 564, 565]. Òàêæå ìîæíî ïðåäëîæèòü ñèñòåìà NetCash (Ñåòåâûå íàëè÷íûå) ñ áîëåå ñëàáûìè ñâîéñòâàìè [1048, 1049]. Äðóãîé íîâîé ñèñòåìîé ÿâëÿåòñÿ [289].  [1211] Òàöóàêè Îêàìîòî (Tatsuaki Okamoto) è Êàçóî Îõòà (Kazuo Ohta) ïåðå÷èñëèëè øåñòü ñâîéñòâ èäåàëüíîé ñèñòåìû ýëåêòðîííûõ íàëè÷íûõ : 1. Íåçàâèñèìîñòü. Áåçîïàñíîñòü ýëåêòðîííûõ íàëè÷íûõ íå çàâèñèò îò ìåñòîíàõîæäåíèÿ . Íàëè÷íûå ìîãóò áûòü ïåðåäàíû ïî êîìïüþòåðíûì ñåòÿì . 2. Áåçîïàñíîñòü. Ýëåêòðîííûå íàëè÷íûå íåëüçÿ ñêîïèðîâàòü è ïîâòîðíî èñïîëüçîâàòü . 3. Òàéíà ëè÷íîñòè (Íåîòñëåæèâàåìîñòü). Òàéíà ëè÷íîñòè ïîëüçîâàòåëÿ çàùèùåíà, ñâÿçü ìåæäó ïîëüç î-
âàòåëåì è åãî ïîêóïêàìè îáíàðóæèòü íåâîçìîæíî. 4. Àâòîíîìíûé ïëàòåæ. Êîãäà ïîëüçîâàòåëü ðàñïëà÷èâàåòñÿ çà ïîêóïêó ýëåêòðîííûìè íàëè÷íûìè, ïð îòîêîë ìåæäó ïîëüçîâàòåëåì è ïðîäàâöîì âûïîëíÿåòñÿ àâòîíîìíî . Òî åñòü, ìàãàçèíó íå íóæíî ñîåäèíÿòüñÿ ñ öåíòðàëüíûì êîìïüþòåðîì äëÿ îáðàáîòêè ïëàòåæà ïîëüçîâàòåëÿ . 5. Ïåðåìåùàåìîñòü. Íàëè÷íûå ìîãóò ïåðåäàâàòüñÿ äðóãèì ïîëüçîâàòåëÿì . 6. Äåëèìîñòü. Çàäàííàÿ ñóììà ýëåêòðîííûõ íàëè÷íûõ ìîæåò áûòü ïîäåëåíà íà ÷àñòè ìåíüøåé ñóììû . (Êîíå÷íî, îáùàÿ ñóììà â êîíöå äîëæíà ñîéòèñü .) Ðàíåå ïðèâåäåííûå ïðîòîêîëû óäîâëåòâîðÿþò òðåáîâàíèÿì 1 , 2, 3 è 4, íî íå óäîâëåòâîðÿþò òðåáîâàíèÿì 5 è 6. Ðÿä äèàëîãîâûõ ñèñòåì ýëåêòðîííûõ íàëè÷íûõ óäîâëåòâîðÿåò âñåì òðåáîâàíèÿì êðîìå 4 [318, 413, 1243]. Ïåðâàÿ àâòîíîìíàÿ ñèñòåìà, óäîâëåòâîðÿþùàÿ òðåáîâàíèÿì 1 , 2, 3 è 4, ïîõîæàÿ íà îäíó èç îïèñàííûõ, áûëà ïðåäëîæåíà [339]. Îêàìîòî è Îõòà ïðåäëîæèëè ñèñòåìó, óäîâëåòâîðÿþùàÿ òðåáîâàíèÿì ñ 1 ïî 5 [1209], îíè òàêæå ïðåäëîæèëè ñèñòåìó, óäîâëåòâîðÿþùóþ òðåáîâàíèÿì ñ 1 ïî 6, îáúåì äàííûõ äëÿ îäíîãî ïëàòåæà ñîñò àâèë ïðèáëèçèòåëüíî 200 ìåãàáàéò. Äðóãàÿ àâòîíîìíàÿ ñèñòåìà ýëåêòðîííûõ ìîíåò ñ âîçìîæíîñòüþ äåëåíèÿ îïèñàíà â [522]. Ñõåìà ýëåêòðîííûõ íàëè÷íûõ, ïðåäëîæåííàÿ òåìè æå àâòîðàìè [1211], óäîâëåòâîðÿåò òðåáîâàíèÿì ñ1 ïî 6 áåç íåîáõîäèìîñòè òàêîãî îãðîìíîãî îáúåìà äàííûõ . Îáùèé îáúåì äàííûõ äëÿ îäíîãî ýëåêòðîííîãî ïëàòåæà ñîñòàâëÿåò îêîëî 20 êèëîáàéò, è ïðîòîêîë ìîæåò áûòü âûïîëíåí çà íåñêîëüêî ñåêóíä . Àâòîðû ðàññìàòðèâàþò ýòó ñõåìó êàê ïåðâóþ èäåàëüíóþ ñèñòåìó íåîòñëåæèâàåìûõ ýëåêòðîííûõ íàëè÷íûõ . Àíîíèìíûå êðåäèòíûå êàðòî÷êè Ýòîò ïðîòîêîë [988] äëÿ çàùèòû ëè÷íîñòè êëèåíòà èñïîëüçóåò íåñêîëüêî ðàçëè÷íûõ áàíêîâ. Êàæäûé êëèåíò èìååò ñ÷åò â äâóõ ðàçëè÷íûõ áàíêàõ. Ïåðâûé áàíê, êîòîðîìó èçâåñòíà ëè÷íîñòü ÷åëîâåêà, ìîæåò çà÷èñëÿòü äåíüãè íà åãî ñ÷åò. Âòîðîé áàíê çíàåò êëèåíòà òîëüêî ïîä ïñåâäîíèìîì (ïîäîáíî íîìåðíîìó ñ÷åòó â øâåéöà ðñêîì áàíêå). Êëèåíò ìîæåò áðàòü äåíüãè èç âòîðîãî áàíêà, äîêàçûâàÿ, ÷òî îí ÿâëÿåòñÿ âëàäåëüöåì ñ÷åòà. Íî, ýòîò áàíê íå çíàåò ëè÷íîñòè ÷åëîâåêà è íå ìîæåò çà÷èñëÿòü äåíüãè íà åãî ñ÷åò. Ïåðâûé áàíê çíàåò êëèåíòà è ïåðå÷èñëÿåò äåíüãè âî âòîðîé áàíê, íå çíàÿ ïñåâäîíèìà. Çàòåì êëèåíò àíîíèìíî òðàòèò ýòè äåíüãè.  êîíöå ìåñÿöà âòîðîé áàíê âûñòàâëÿåò ñ÷åò ïåðâîìó áàíêó, âåðÿ, ÷òî îí åãî îïëàòèò. Ïåðâûé áàíê ïåðåäàåò ñ÷åò êëèåíòó, âåðÿ, ÷òî òîò åãî îïëàòèò. Êîãäà êëèåíò îïëà÷èâàåò ñ÷åò, ïåðâûé áàíê ïåðå÷èñëÿåò äîïîëíèòåëüíûå äåíüãè âî âòîðîé áàíê. Âñå òðàíçàêöèè ïðîâîäÿòñÿ ÷åðåç ïîñðåäíèêà, êîòîðûé äåéñòâóåò ïîäîáíî ýëåêòðîííîìó Ôåäåðàëüíîìó Ðåçåðâó: îïëà÷èâàåò áàíêîâñêèå ñ÷åòà, ðåãèñòðèðóåò ñîîáùåíèÿ è ñîçäàåò êîíòðîëüíûé ñëåä. Îáìåíû ìåæäó êëèåíòîì, ïðîäàâöîì è ðàçëè÷íûìè áàíêàìè îñîáî âûäåëåíû â [988]. Åñëè âñå íå ñãîâàð èâàþòñÿ ïðîòèâ êëèåíòà, åãî àíîíèìíîñòü ãàðàíòèðîâàíà. Îäíàêî, ýòî íå ýëåêòðîííûå íàëè÷íûå, áàíê ñëèøêîì ëåãêî ìîæåò ìîøåííè÷àòü. Ïðîòîêîë ïîçâîëÿåò êëèåíòàì ïîëüçîâàòüñÿ ïðåèìóùåñòâàìè êðåäèòíûõ êàðòî÷åê, íå ðàñêðûâàÿ ñâîåé ëè÷íîñòè.
×àñòü 2 Êðèïòîãðàôè÷åñêèå ìåòîäû
Ãëàâà 7 Äëèíà êëþ÷à 7.1 Äëèíà ñèììåòðè÷íîãî êëþ÷à Áåçîïàñíîñòü ñèììåòðè÷íîé êðèïòîñèñòåìû ÿâëÿåòñÿ ôóíêöèåé äâóõ ôàêòîðîâ: íàäåæíîñòè àëãîðèòìà è äëèíû êëþ÷à. Ïåðâûé áîëåå âàæåí, íî ðîëü âòîðîãî ëåã÷å ïðîäåìîíñòðèðîâàòü . Ïóñòü íàäåæíîñòü àëãîðèòìà ñîâåðøåííà. Íà ïðàêòèêå ýòîãî ÷ðåçâû÷àéíî òðóäíî äîñòèãíóòü, íî â ïðèìåðå äîñòàòî÷íî ëåãêî. Ïî ñîâåðøåíñòâîì ÿ ïîäðàçóìåâàþ îòñóòñòâèå ëó÷øåãî ïóòè âçëîìà êðèïòîñèñòåìû, ÷åì âñêðûòèå ãðóáîé ñèëîé ñ ïîìîùüþ ïåðåáîðà âñåõ âîçìîæíûõ êëþ÷åé . Äëÿ âûïîëíåíèÿ òàêîãî âñêðûòèÿ êðèïòîàíàëèòèêó òðåáóåòñÿ êóñî÷åê øèôðîòåêñòà è ñîîòâåòñòâóþùåãî î òêðûòîãî òåêñòà, âñêðûòèå ãðóáîé ñèëîé ïðåäñòàâëÿåò ñîáîé âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì . Äëÿ áëî÷íîãî øèôðà êðèïòîàíàëèòèêó ïîíàäîáèòñÿ áëîê øèôðîòåêñòà è ñîîòâåòñòâóþùèé îòêðûòûé òåêñò : îáû÷íî 64 áèòà. Çàïîëó÷èòü òàêèå êóñî÷êè îòêðûòîãî òåêñòà è øèôðîòåêñòà ëåã÷å, ÷åì ìîæíî ñåáå ïðåäñòàâèòü . Êðèïòîàíàëèòèê ìîæåò ïîëó÷èòü êàêèì-òî îáðàçîì êîïèþ îòêðûòîãî òåêñòà ñîîáùåíèÿ è ïåðåõâàòèòü ñîîòâåòñòâóþùèé øèôðîòåêñò. Îí ìîæåò çíàòü ÷òî-òî î ôîðìàòå øèôðîòåêñòà : íàïðèìåð, ÷òî ýòî ôàéë â ôîðìàòå WordPerfect, èëè ó íåãî åñòü ñòàíäàðòíûé çàãîëîâîê ñîîáùåíèÿ ýëåêòðîííîé ïî÷òû , èëè ôàéë êàòàëîãà UNIX, èëè èçîáðàæåíèå â ôîðìàòå TIFF, èëè ñòàíäàðòíàÿ çàïèñü â áàçå äàííûõ êëèåíòîâ . Âñå ýòè ôîðìàòû ñîäåðæàò íåêîòîðûå ïðåäîïðåäåëåííûå áàéòû. Êðèïòîàíàëèòèêó äëÿ òàêîãî âñêðûòèÿ íå íóæíî ìíîãî îòêðûòîãî òåêñòà . Ðàññ÷èòàòü ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé íåòðóäíî . Åñëè èñïîëüçóåòñÿ 8-áèòîâûé êëþ÷, òî ñóùåñòâóåò 28, èëè 256, âîçìîæíûõ êëþ÷åé. Ñëåäîâàòåëüíî, äëÿ îáíàðóæåíèÿ ïðàâèëüíîãî êëþ÷à ïîòðåáóåòñÿ, ñàìîå áîë üøåå, 256 ïîïûòîê, ñ 50-ïðîöåíòíîé âåðîÿòíîñòüþ íàéòè íóæíûé êëþ÷ ïîñëå ïîëîâèíû ïîïûòîê . Åñëè äëèíà êëþ÷à ðàâíà 56 áèòàì, òî ñóùåñòâóåò 2 56 âîçìîæíûõ êëþ÷åé. Åñëè êîìïüþòåð ìîæåò ïðîâåðèòü ìèëëèîí êë þ÷åé â ñåêóíäó, ïîèñê íóæíîãî êëþ÷à çàéìåò â ñðåäíåì 2285 ëåò. Åñëè èñïîëüçóåòñÿ 64-áèòîâûé êëþ÷, òî òîìó æå ñóïåðêîìïüþòåðó ïîíàäîáèòñÿ îêîëî 585000 ëåò, ÷òîáû íàéòè ïðàâèëüíûé êëþ÷ ñðåäè 2 64 âîçìîæíûõ êëþ÷åé. Åñëè äëèíà êëþ÷à ðàâíà 128 áèòàì ïîèñê êëþ÷à çàéìåò 1025 ëåò. Âîçðàñò âñåëåííîé ñîñòàâëÿåò âñåãî 1010 ëåò, ïîýòîìó 1025 ëåò - ýòî áîëüøîå âðåìÿ. Ïðè 2048-áèòîâîì êëþ÷å ìèëëèîí êîìïüþòåðîâ, ðàáîòàÿ ïàðàëëåë üíî è ïðîâåðÿÿ ìèëëèîí êëþ÷åé â ñåêóíäó, ïîòðàòÿò 10 587 ëåò â ïîèñêàõ êëþ÷à. Ê ýòîìó âðåìåíè âñåëåííàÿ äàâíî ðàñøèðèòñÿ, ïðåâðàòèâøèñü â íè÷òî èëè ñîæìåòñÿ. Ïðåæäå ÷åì êèäàòüñÿ èçîáðåòàòü êðèïòîñèñòåìó ñ 8-êèëîáàéòíûì êëþ÷îì, âñïîìíèòå, ÷òî äðóãîé ñòîðîíîé ÿâëÿåòñÿ íàäåæíîñòü: àëãîðèòì äîëæåí áûòü íàñòîëüêî áåçîïàñåí, ÷òîáû ëó÷øåãî ñïîñîáà, ÷åì âñêðûâàòü åãî ãðóáîé ñèëîé, íå ñóùåñòâîâàëî. Ýòî íå òàê ïðîñòî, êàê ìîæåò ïîêàçàòüñÿ . Êðèïòîãðàôèÿ - ýòî òîíêîå èñêóññòâî . Âûãëÿäÿùèå ñîâåðøåííûìè êðèïòîñèñòåìû ÷àñòî îêàçûâàþòñÿ ÷ðåçâû÷àéíî ñëàáûìè . Ïàðà èçìåíåíèé, âíåñåííûõ â ñèëüíûå êðèïòîñèñòåìû, ìîæåò ðåçêî îñëàáèòü èõ . Êðèïòîãðàôàì-ëþáèòåëÿì ñëåäóåò ïîäâåðãàòü ïî ÷òè ïàðàíîèäàëüíîìó ñîìíåíèþ êàæäûé íîâûé àëãîðèòì. Ëó÷øå äîâåðÿòü àëãîðèòìàì, íàä êîòîðûìè ãîäàìè áèëèñü ïðîôåññèîíàëüíûå êðèïòîãðàôû, íå ñóìåâ âçëîìàòü èõ, è íå îáîëüùàòüñÿ óòâåðæäåíèÿìè êîíñòðóêòîðîâ àëãîðèòìîâ îá èõ ãðàíäèîçíîé áåçîïàñíîñòè . Âñïîìíèòå âàæíûé ìîìåíò èç ðàçäåëà 1.1: áåçîïàñíîñòü êðèïòîñèñòåì äîëæíà îñíîâûâàòüñÿ íà êëþ÷å, à íå îñîáåííîñòÿõ àëãîðèòìà. Ïðåäïîëîæèì, ÷òî êðèïòîàíàëèòèêó èçâåñòíû âñå ïîäðîáíîñòè âàøåãî àëãîðèòìà . Ïðåäïîëîæèì, ÷òî ó íåãî åñòü ñòîëüêî øèôðîòåêñòà, ñêîëüêî åìó íóæíî, è ÷òî îí ïîïûòàåòñÿ âûïîëíèòü èíòå íñèâíîå âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà . Ïðåäïîëîæèì, ÷òî îí ïîïûòàåòñÿ âûïîëíèòü âñêðûòèå ñ èñïîëüçîâàíèåì îòêðûòîãî òåêñòà, èìåÿ â ñâîåì ðàñïîðÿæåíèè ñòîëüêî äàííûõ, ñêîëüêî åìó íóæíî . Ïðåäïîëîæèì äàæå, ÷òî îí ïîïûòàåòñÿ âûïîëíèòü âñêðûòèå ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà . Åñëè âàøà êðèïòîñèñòåìà îñòàíåòñÿ áåçîïàñíîé äàæå ïåðåä ëèöîì âñåõ ïîäîáíûõ îïàñíîñòåé, òî... ó âàñ äåéñòâèòåëüíî ÷òî-òî åñòü. Íåñìîòðÿ íà ýòî ïðåäóïðåæäåíèå ïðîñòðàíñòâî, ïðåäîñòàâëÿåìîå êðèïòîãðàôèåé äëÿ ìàíåâðà, äîñòàòî÷íî âåëèêî.  äåéñòâèòåëüíîñòè, áåçîïàñíîñòü òàêîãî òèïà âî ìíîãèõ ïðàêòè÷åñêèõ ñèòóàöèÿõ íå íóæíà . Ó áîëüøèíñòâà âðàãîâ íåò òàêèõ çíàíèé è âû÷èñëèòåëüíûõ ñðåäñòâ, êàê ó áîëüøèõ ïðàâèòåëüñòâ, à òåì, êòî îáëàäàåò òàêèìè âîçìîæíîñòÿìè, ìîæåò îêàçàòüñÿ íåíóæíûì âçëàìûâàòü âàøó êðèïòîñèñòåìó . Åñëè âû îðãàíèçóåòå çàãîâîð ñ öåëüþ ñâåðãíóòü áîëüøîå ïðàâèòåëüñòâî, ïðîâåðåííûå è ïðàâèëüíûå àëãîðèòìû, ïðèâåäåííûå â êîíöå ýòîé êíèãè, áóäóò äëÿ âàñ æèçíåííî íåîáõîäèìû. À âñå îñòàëüíûå ïóñòü ïðîñòî ïîëó÷àò óäîâîëüñ òâèå. Îöåíêè âðåìåíè è ñòîèìîñòè âñêðûòèÿ ãðóáîé ñèëîé Âñïîìíèòå, ÷òî âñêðûòèå ãðóáîé ñèëîé îáû÷íî ÿâëÿåòñÿ âñêðûòèåì ñ èñïîëüçîâàíèåì èçâåñòíîãî îòêðûòîãî òåêñòà, äëÿ ýòîãî íóæíî íåìíîãî øèôðîòåêñòà è ñîîòâåòñòâóþùåãî îòêðûòîãî òåêñòà . Åñëè âû ïðåäïîëàãàåòå, ÷òî íàèáîëåå ýôôåêòèâíûì ñïîñîáà âçëîìà àëãîðèòìà ÿâëÿåòñÿ âñêðûòèå ãðóáîé ñèëîé - áîëüøîå äîïóùåíèå òî êëþ÷ äîëæåí áûòü äîñòàòî÷íî äëèííûì, ÷òîáû ñäåëàòü âñêðûòèå íåâîçìîæíûì . Íàñêîëüêî äëèííûì?
Ñêîðîñòü âñêðûòèÿ ãðóáîé ñèëîé îïðåäåëÿåòñÿ äâóìÿ ïàðàìåòðàìè : êîëè÷åñòâîì ïðîâåðÿåìûõ êëþ÷åé è ñêîðîñòüþ ïðîâåðêè îäíîãî êëþ÷à . Áîëüøèíñòâî ñèììåòðè÷íûõ àëãîðèòìîâ â êà÷åñòâå êëþ÷à ìîãóò èñïîëüç îâàòü â êà÷åñòâå êëþ÷à ëþáóþ áèòîâóþ ïîñëåäîâàòåëüíîñòü ôèêñèðîâàííîé äëèíû. Äëèíà êëþ÷à DES ñîñòàâëÿåò 56 áèò, âñåãî ìîæåò áûòü 2 56 âîçìîæíûõ êëþ÷åé. Äëèíà êëþ÷åé äëÿ ðÿäà àëãîðèòìîâ, îáñóæäàåìûõ â ýòîé êíèãå, ðàâíû 64 áèòàì, âñåãî ìîæåò áûòü 2 64 âîçìîæíûõ êëþ÷åé. Äðóãèå àëãîðèòìû èñïîëüçóþò 128-áèòîâûå êëþ÷è. Ñêîðîñòü, ñ êîòîðîé ìîæåò áûòü ïðîâåðåí êàæäûé êëþ÷, èìååò ìåíåå âàæíîå çíà÷åíèå . Äëÿ ïðîâîäèìîãî àíàëèçà ÿ ïðåäïîëàãàþ, ÷òî ñêîðîñòü ïðîâåðêè êëþ÷à äëÿ êàæäîãî àëãîðèòìà ïðèìåðíî îäèíàêîâà.  äåéñòâ èòåëüíîñòè ñêîðîñòü ïðîâåðêè îäíîãî àëãîðèòìà ìîæåò áûòü â äâà, òðè èëè äàæå äåñÿòü ðàç âûøå ÷åì äðóãîãî . Íî òàê êàê äëÿ òåõ äëèí êëþ÷åé, äëÿ êîòîðûõ ìû ïðîâîäèì ïîèñê, âðåìÿ ïîèñêà â ìèëëèîíû ðàç áîëüøå, ÷åì âðåìÿ ïðîâåðêè îäíîãî êëþ÷à, íåáîëüøèå îòëè÷èÿ â ñêîðîñòè ïðîâåðêè íå èìåþò çíà÷åíèÿ .  êðèïòîëîãè÷åñêîé ñðåäå áîëüøèíñòâî ñïîðîâ ïî ïîâîäó âñêðûòèÿ ãðóáîé ñèëîé ñêîíöåíòðèðîâàíû âîêðóã àëãîðèòìà DES.  1977 ãîäó Óèòôèëä Äèôôè è Ìàðòèí Õåëëìàí [497] ñôîðìóëèðîâàëè óñëîâèÿ ñóùåñòâîâàíèÿ ñïåöèàëèçèðîâàííîé ìàøèíû ïî âçëîìó DES. Ýòà ìàøèíà ñîñòîèò èç ìèëëèîíîâ ìèêðîñõåì, êàæäàÿ èç êîò îðûõ ïðîâåðÿåò ìèëëèîí êëþ÷åé â ñåêóíäó . Òàêàÿ ìàøèíà çà äâà ÷àñà ñìîæåò ïðîâåðèòü 256 çà 20 ÷àñîâ. Ïðè âñêðûòèè àëãîðèòìà ñ 64-áèòîâûì êëþ÷îì ïðîâåðêà âñåõ 264 ïîòðåáóåò 214 äíåé. Çàäà÷à âñêðûòèÿ ãðóáîé ñèëîé êàê áóäòî ñïåöèàëüíî ïðèäóìàíà äëÿ ïàðàëëåëüíûõ ïðîöåññîðîâ . Êàæäûé ïðîöåññîð ïðîâåðÿåò ïîäìíîæåñòâî ïðîñòðàíñòâà êëþ÷åé . Ïðîöåññîðàì íå íóæíî îáìåíèâàòüñÿ ìåæäó ñîáîé èíôîðìàöèåé, åäèíñòâåííûì èñïîëüçóåìûì ñîîáùåíèåì áóäåò ñîîáùåíèå, ñèãíàëèçèðóþùåå îá óñïåõå . Íå òðåáóåòñÿ è äîñòóï ê îäíîìó ó÷àñòêó ïàìÿòè . Ñêîíñòðóèðîâàòü ìàøèíó ñ ìèëëèîíîì ïðîöåññîðîâ, êàæäûé èç êîò îðûõ ðàáîòàåò íåçàâèñèìî îò äðóãèõ, íåòðóäíî. Ñêîíñòðóèðîâàòü ìàøèíó äëÿ âçëîìà ãðóáîé ñèëîé Ìàéêë Âèíåð ðåøèë [1597, 1598]. (Îí ñêîíñòðóèðîâàë ìàøèíó äëÿ DES, íî àíàëèç ìîæåò áûòü âûïîëíåí ïî÷òè äëÿ âñåõ àëãîðèòìîâ .) Îí ðàçðàáîòàë ñïåöèàëèçèðîâàííûå ìèêðîñõåìû, ïëàòû è ñòîéêè, îöåíèë çàòðàòû è ñäåëàë âûâîä, ÷òî çà ìèëëèîí äîëëàðîâ ìîæíî ïîñòð îèòü ìàøèíó, êîòîðàÿ ñìîæåò âçëîìàòü 56-áèòíûé êëþ÷ DES key â ñðåäíåì çà 3.5 ÷àñà (è íàâåðíÿêà çà 7 ÷àñîâ). Ñîîòíîøåíèå ñòîèìîñòü/ñêîðîñòü ÿâëÿåòñÿ ëèíåéíûì . Äëÿ ðÿäà äëèí êëþ÷åé ýòè çíà÷åíèÿ îáîáùåíû â 6-é. Âñïîìíèòå î çàêîíå Ìóðà: ìîùü âû÷èñëèòåëüíûõ ñðåäñòâ ïðèáëèçèòåëüíî êàæäûå 18 ìåñÿöåâ . Ýòî îçíà÷àåò, ÷òî çàòðàòû áóäóò óìåíüøàòüñÿ íà ïîðÿäîê êàæäûå ïÿòü ëåò, è òî, ÷òî â 1995 ãîäó ñòîèò ìèëëèîí äîëëàðîâ, â 2000 ãîäó áóäåò ñòîèòü îêîëî 100000 äîëëàðîâ. Åùå áîëåå óïðîñòèòü ïðîöåññ âû÷èñëåíèé ìîãëà áû êîíâåéåð èçàöèÿ [724]. Äëÿ 56-áèòîâûõ êëþ÷åé ýòè ñóììû îêàçûâàþòñÿ âïîëíå ïî êàðìàíó áîëüøèíñòâó êðóïíûõ êîðïîðàöèé è ìíîãèì êðèìèíàëüíûì îðãàíèçàöèÿì . Âîåííûå áþäæåòû áîëüøèíñòâà ïðîìûøëåííî ðàçâèòûõ ñòðàí ìîãóò ïîçâîëèòü âçëàìûâàòü è 64-áèòíûå êëþ÷è. Âñêðûòèå 80-áèòíîãî êëþ÷à âñå åùå çà ïðåäåëàìè âîçìîæíîãî , íî åñëè òåêóùàÿ òåíäåíöèÿ ñîõðàíèòñÿ, òî ÷åðåç êàêèõ-íèáóäü òðèäöàòü ëåò âñå ìîæåò èçìåíèòüñÿ . Êîíå÷íî, íåëåïî ïðîãíîçèðîâàòü êîìïüþòåðíóþ ìîùü íà 35 ëåò âïåðåä . Òåõíîëîãè÷åñêèå ïðîðûâû, ïîïóëÿðíûå â íàó÷íîé ôàíòàñòèêå, ìîãóò ñäåëàòü ýòè ïðîãíîçû ñìåøíûìè . Ñ äðóãîé ñòîðîíû, íåèçâåñòíûå â íàñòîÿùåå âðåìÿ ôèçè÷åñêèå îãðàíè÷åíèÿ ìîãóò ñäåëàòü ýòè ïðîãíîçû íåðåàëüíî îïòèìèñòè÷íûìè .  êðèïòîãðàôèè óìíåå áûòü ïåññèìèñòîì. Ïðèìåíåíèå â àëãîðèòìå 80-áèòíîãî êëþ÷à êàæåòñÿ íåäîñòàòî÷íî äàëüíîâèäíûì . Èñïîëüçóéòå êëþ÷, äëèíà êîòîðîãî, ïî ìåíüøåé ìåðå, 112 áèò. Òàáë. 7-1. Îöåíêè ñðåäíåãî âðåìåíè äëÿ àïïàðàòíîãî âñêðûòèÿ ãðóáîé ñèëîé â 1995 ãîäó. Äëèíà êëþ÷åé â áèòàõ Ñòîèìîñòü
40
56
64
80
112
128
$100 Ê
2 ñåêóíäû
35 ÷àñîâ
1 ãîä
70000 ëåò
1014 ëåò
1019 ëåò
$1 Ì
0.2 ñåêóíäû
3.5 ÷àñà
37 äíåé
7000 ëåò
1013 ëåò
1018 ëåò
$10 M
0.02 ñåêóíäû
21 ìèíóòà
4 äíÿ
700 ëåò
1012 ëåò
1017 ëåò
$100 M
2 ìèëëèñåêóíäû
2 ìèíóòû
9 ÷àñîâ
70 ëåò
1011 ëåò
1016 ëåò
$1 Ã
0.2 ìèëëèñåêóíäû
13
1 ÷àñ
7 ëåò
1010 ëåò
1015 ëåò
$10 Ã
0.02. ìèëëèñåêóíäû
1 ñåêóíäà
5.4 ìèíóòû
245 äíåé
109 ëåò
1014 ëåò
$100 Ã
2 ìèêðîñåêóíäû
0.1 ñåêóíäû
32 ñåêóíä
24 äíÿ
108 ëåò
1013 ëåò
$1 Ò
0.2 ìèêðîñåêóíäû
0.01 ñåêóíäû
3 ñåêóíäû
2.4 äíÿ
107 ëåò
1012 ëåò
$10 Ò
0.02 ìèêðîñåêóíäû
1 ìèëëèñåêóíäà
0.3 ñåêóíäû
6 ÷àñîâ
106 ëåò
1011 ëåò
Åñëè âçëîìùèê î÷åíü ñèëüíî õî÷åò âçëîìàòü êëþ÷, âñå, ÷òî åìó íóæíî, ýòî ïîòðàòèòü äåíüãè . Ñëåäîâàòåëüíî, ñòîèò ïîïûòàòüñÿ îïðåäåëèòü ìèíèìàëüíóþ "öåíó" êëþ÷à: â ïðåäåëàõ êàêîé ñòîèìîñòè ñâåä åíèé ìîæíî ïîëüçîâàòüñÿ îäíèì êëþ÷îì ïðåæäå, ÷åì åãî âñêðûòèå ñòàíåò ýêîíîìè÷åñêè âûãîäíûì ? Êðàéíèé ñëó÷àé: åñëè øèôðîâàííîå ñîîáùåíèå ñòîèò $1.39, òî íåò ôèíàíñîâîãî ñìûñëà óñòàíàâëèâàòü àïïàðàòóðó ñòî èìîñòüþ 10 ìèëëèîíîâ äîëëàðîâ äëÿ âçëîìà ýòîãî êëþ÷à. Ñ äðóãîé ñòîðîíû, åñëè ñòîèìîñòü îòêðûòîãî òåêñòà 100 ìèëëèîíîâ äîëëàðîâ, òî äåøèôðèðîâàíèå ýòîãî îäèíî÷íîãî ñîîáùåíèÿ âïîëíå îêóïèò ñòîèìîñòü àïïàðàò óðû âçëîìà. Êðîìå òîãî, ñòîèìîñòü ìíîãèõ ñîîáùåíèé ñî âðåìåíåì î÷åíü áûñòðî ïàäàåò . Ïðîãðàììíîå âñêðûòèå Áåç ñïåöèàëèçèðîâàííîé àïïàðàòóðû è îãðîìíûõ ïàðàëëåëüíûõ ìàøèí âñêðûòèå ãðóáîé ñèëîé íàìíîãî ñëîæíåå. Ïðîãðàììíîå âñêðûòèå â òûñÿ÷è ðàç ìåäëåííåå, ÷åì àïïàðàòíîå . Ðåàëüíàÿ óãðîçà ïðîãðàììíîãî âñêðûòèÿ ãðóáîé ñèëîé ñòðàøíà íå ñâîåé íåèçáåæíîñòüþ, à òåì, ÷òî òàêîå âñêðûòèå "ñâîáîäíî". Íè÷åãî íå ñòîèò çàãðóçèòü ïðîñòàèâàþùèé ìèêðîêîìïüþòåð ïðîâåðêîé âîçìîæíûõ êë þ÷åé. Åñëè ïðàâèëüíûé êëþ÷ áóäåò íàéäåí - çàìå÷àòåëüíî, åñëè íåò - íè÷åãî íå ïîòåðÿíî . Íè÷åãî íå ñòîèò èñïîëüçîâàòü äëÿ ýòîãî öåëóþ ñåòü ìèêðîêîìïüþòåðîâ .  íåäàâíèõ ýêñïåðèìåíòàõ ñ DES 40 ðàáî÷èõ ñòàíöèé â òå÷åíèå îäíîãî äíÿ ñóìåëè ïðîâåðèòü 2 34 êëþ÷åé [603]. Ïðè ýòîé ñêîðîñòè äëÿ ïðîâåðêè âñåõ êëþ÷åé ïîòðåá óåòñÿ ÷åòûðå ìèëëèîíà äíåé, íî åñëè ïîïûòêè âñêðûòèÿ áóäóò ïðåäïðèíÿòû äîñòàòî÷íûì êîëè÷åñòâîì ëþäåé , òî êîìó-íèáóäü ãäå-íèáóäü ïîâåçåò. Êàê áûëî ñêàçàíî â [603]: Îñíîâíîé óãðîçîé ïðîãðàììíîãî âñêðûòèÿ ÿâëÿåòñÿ ñëåïîå âåçåíèå . Ïðåäñòàâüòå ñåáå óíèâåðñèòåòñêóþ ñåòü èç 512 îáú åäèíåííûõ â ñåòü ðàáî÷èõ ñòàíöèé . Äëÿ íåêîòîðûõ óíèâåðñèòåòñêèõ ãîðîäêîâ ýòî ñåòü âåñüìà ñðåäíåãî ðàçìåðà . Òàêèå ñåòè ìîãóò äàæå ðàñïîëçòèñü ïî âñåìó ìèðó, êîîðäèíèðóÿ ñâîþ äåÿòåëüíîñòü ïî ýëåêòðîííîé ïî÷òå . Ïóñòü êàæäàÿ ðàáî÷àÿ ñòàíöèÿ ñïîñîáíà ðàáîòàòü (ñ àëãîðèòìîì) ñî ñêîðîñòüþ 15000 øèôðîâàíèé â ñåêóíäó. ... Ñ ó÷åòîì íàêëàäíûõ ðàñõîäîâ íà ïðîâåðêó è ñìåíó êëþ÷åé óìåíüøèì ñêîðîñòü äî . . . 8192 ïðîâåðîê â ñåêóíäó íà ìàøèíó . ×òîáû, èñïîëüçóÿ îïèñàííóþ ñèñòåìó, èñ÷å ðïàòü ïðîñòðàíñòâî (56-áèòîâûõ) êëþ÷åé ïîòðåáóåòñÿ 545 ëåò (â ïðåäïîëîæåíèè, ÷òî ñåòü òðàòèò íà ýòó çàäà÷ó 24 ÷àñà â ñóòêè). Çàìåòèì, îäíàêî, ÷òî ñ ïîìîùüþ òàêèõ âû÷èñëåíèé ñòîðîííèêè íàøåãî ñòóäåíòà ïîëó÷àþò îäèí øàíñ èç 200000 ðàñêðûòü êëþ÷ â òå÷åíèå îäíîãî äíÿ . Çà äîëãèé óèêåíä èõ øàíñû âîçðàñòàþò äî îäíîãî èç øåñòèäåñÿòè øåñòè òûñÿ÷ . ×åì áûñòðåå èõ àïïàðàòóðà, èëè ÷åì áîëüøå çàäåéñòâîâàíî ìàøèí, òåì ëó÷øå ñòàíîâÿòñÿ èõ øàíñû . Âåðîÿòíîñòü çàðàáîòàòü íà æèçíü, âûèãðûâàÿ íà ñêà÷êàõ, íåâûñîêà, íî ðàçâå íå ýòè âûèãðûøè çàïîëíÿþò ñîáîé ïðåññ-ðåëèçû . Ê ïðèìåðó, ýòî ãîðàçäî áîëüøàÿ âåðîÿòíîñòü, ÷åì âîçìîæíîñòü âûèãðûøà â ïðàâèòåëüñòâåííûõ ëîòåðåÿõ . "Îäèí íà ìèëëèîí"? "Îäèí ðàç çà òûñÿ÷ó ëåò "? Áîëüøå íåâîçìîæíî ñ ïîëíîé îòâåòñòâåííîñòüþ äåëàòü òàêèå çàÿâëåíèÿ . ßâëÿåòñÿ ëè ïðèåìëåìûì ýòîò ïðîäîëæàþùèéñÿ ðèñê?
Èñïîëüçîâàíèå àëãîðèòìà ñ 64-áèòîâûì êëþ÷îì âìåñòî 56-áèòîâîãî êëþ÷à äåëàåò ýòî âñêðûòèå â 256 ðàç ñëîæíåå. À 40-áèòîâûé êëþ÷ äåëàåò êàðòèíó ïðîñòî áåçðàäîñòíîé . Ñåòü èç 400 êîìïüþòåðîâ ñ ïðîèçâîäèòåëüíîñòüþ 32000 øèôðîâàíèé â ñåêóíäó ìîæåò çà äåíü âûïîëíèòü âñêðûòèå ãðóáûì âçëîìîì 40-áèòîâîãî êëþ÷à . ( 1992 ãîäó àëãîðèòìû RC2 è RC4 áûëî ðàçðåøåíî ýêñïîðòèðîâàòü ñ 40- áèòîâûì êëþ÷îì - ñì. ðàçäåë 13.8.) 128-áèòîâûé êëþ÷ äåëàåò íåëåïîé äàæå ìûñëü î âñêðûòèè ãðóáûì âçëîìîì . Ïî îöåíêå ïðîìûøëåííûõ ýêñïåðòîâ ê 1996 ãîäó â ìèðå áóäåò èñïîëüçîâàòüñÿ 200 ìèëëèîíîâ êîìïüþòåðîâ . Ýòà îöåíêà âêëþ÷àåò âñå - ëò ãèãàíòñêîãî ìýéíôðåéìà Cray äî áëîêíîòíûõ êîìïüþòåðîâ. Äàæå åñëè âñå ýòè êîìïüþòåðû áóäóò áðîøåíû íà âñêðûòèå ãðóáîé ñèëîé, è êàæäûé èç íèõ áóäåò âûïîëíÿòü ìèëëèîí øèôðîâàíèé â ñåêóíäó, âðåìÿ ðàñêðûòèÿ êëþ÷à âñå ðàâíî áóäåò â ìèëëèîí ðàç áîëüøå âðåìåíè ñóùåñòâîâàíèÿ âñåëåííîé . Íåéðîííûå ñåòè Íåéðîííûå ñåòè íå ñëèøêîì ïðèãîäíû äëÿ êðèïòîàíàëèçà, â ïåðâóþ î÷åðåäü èç-çà ôîðìû ïðîñòðàíñòâà ð åøåíèé. Ëó÷øå âñåãî íåéðîííûå ñåòè ðàáîòàþò ñ ïðîáëåìàìè, èìåþùèìè íåïðåðûâíîå ìíîæåñòâî ðåøåíèé, îäíè èç êîòîðûõ ëó÷øå äðóãèõ. Ýòî ïîçâîëÿåò íåéðîííûì ñåòÿì îáó÷àòüñÿ, ïðåäëàãàÿ âñå ëó÷øåå è ëó÷øèå ð åøåíèÿ. Îòñóòñòâèå íåïðåðûâíîñòè â àëãîðèòìå ïî÷òè íå îñòàâëÿåò ìåñòà îáó÷åíèþ : âû ëèáî ðàñêðîåòå êëþ÷, ëèáî íåò. (Ïî êðàéíåé ìåðå, ýòî âåðíî ïðè èñïîëüçîâàíèè ëþáîãî õîðîøåãî àëãîðèòìà .) Íåéðîííûå ñåòè õîðîøî ðàáîòàþò â ñòðóêòóðèðîâàííûõ ñðåäàõ, ãäå îáó÷åíèå âîçìîæíî, íî íå â âûñîêîýíòðîïèéíîì, êàæóùåìñÿ ñëó÷àéíûì ìèðå êðèïòîãðàôèè. Âèðóñû Ñàìàÿ áîëüøàÿ òðóäíîñòü â ïîëó÷åíèè ìèëëèîíîâ êîìïüþòåðîâ äëÿ âñêðûòèÿ ãðóáûì âçëîìîì - ýòî óáåäèòü ìèëëèîíû êîìïüþòåðíûõ âëàäåëüöåâ ïðèíÿòü ó÷àñòèå âî âñêðûòèè. Âû ìîãëè áû âåæëèâî ïîïðîñèòü, íî ýòî òðåáóåò ìíîãî âðåìåíè, è îíè ìîãóò ñêàçàòü íåò. Âû ìîãëè áû ïðîáîâàòü ñèëîé âîðâàòüñÿ â èõ êîìïüþòåðû, íî ýòî ïîòðåáóåò åùå áîëüøå âðåìåíè è ìîæåò çàêîí÷èòüñÿ âàøèì àðåñòîì. Âû ìîãëè áû òàêæå èñïîëüçîâàòü êî ìïüþòåðíûé âèðóñ, ÷òîáû ðàñïðîñòðàíèòü ïðîãðàììó âçëîìà ñðåäè êàê ìîæíî áîëüøåãî êîëè÷åñòâà êîìïüþò åðîâ. Ýòà îñîáåííî êîâàðíàÿ èäåÿ âïåðâûå ïîÿâèëàñü â [1593]. Âçëîìùèê ïèøåò è âûïóñêàåò íà âîëþ êîìïüþòå ðíûé âèðóñ. Ýòîò âèðóñ íå ïåðåôîðìàòèðóåò æåñòêèé äèñê, íå óäàëÿåò ôàéëû, íî âî âðåìÿ ïðîñòîÿ êîìïüþòåðà îí ðàáîòàåò íà êðèïòîàíàëèòè÷åñêîé ïðîáëåìîé ãðóáîãî âçëîìà. Ðàçëè÷íûå èññëåäîâàíèÿ ïîêàçàëè, ÷òî êîìï ü-
þòåð ïðîñòàèâàåò îò 70 äî 90 ïðîöåíòîâ âðåìåíè, òàê ÷òî ó âèðóñà íå áóäåò ïðîáëåì ñ âðåìåíåì äëÿ ðåøåíèÿ ýòîé çàäà÷è. Åñëè îí íåòðåáîâàòåëåí è â äðóãèõ îòíîøåíèÿõ, òî åãî ðàáîòà äàæå íå áóäåò çàìåòíà.  êîíöå êîíöîâ, îäíà èç ìàøèíà íàòêíåòñÿ íà ïðàâèëüíûé êëþ÷.  ýòîò ìîìåíò èìåþòñÿ äâà âàðèàíòà ïð îäîëæåíèÿ. Âî ïåðâûõ, âèðóñ ìîã áû ïîðîäèòü äðóãîé âèðóñ. Îí íå äåëàë áû íè÷åãî, êðîìå ñàìîâîñïðîèçâåäåíèÿ è óäàëåíèÿ âñåõ íàéäåííûõ êîïèé âñêðûâàþùåãî âèðóñà, íî ñîäåðæàë áû èíôîðìàöèþ î ïðàâèëüíîì êëþ÷å. Ýòîò íîâûé âèðóñ ïðîñòî ðàñïðîñòðàíÿëñÿ áû ñðåäè êîìïüþòåðîâ, ïîêà íå äîáðàëñÿ áû äî êîìïüþòåðà ÷åëîâ åêà, êîòîðûé íàïèñàë ïåðâîíà÷àëüíûé âèðóñ. Äðóãèì, òðóñëèâûì ïîäõîäîì áàë áû âûâîä íà ýêðàí ñëåäóþùåãî ñîîáùåíèÿ :  ýòîì êîìïüþòåðå åñòü ñåðüåçíàÿ îøèáêà. Ïîæàëóéñòà ïîçâîíèòå 1-8001234567 è ïðîäèêòóéòå îïåðàòîðó ñëåäóþùåå 64áèòîâîå ÷èñëî: xxxx xxxx xxxx xxxx Ïåðâîìó, êòî ñîîáùèò îá ýòîé îøèáêå áóäåò âûïëà÷åíî âîçíàãðàæäåíèå 100 äîëëàðîâ.
Íàñêîëüêî ýôôåêòèâíî òàêîå âñêðûòèå? Ïóñòü òèïè÷íûé çàðàæåííûé êîìïüþòåð ïðîâåðÿåò òûñÿ÷ó êëþ÷åé â ñåêóíäó. Ýòà ñêîðîñòü íàìíîãî ìåíüøå ïîòåíöèàëüíûõ âîçìîæíîñòåé êîìïüþòåðà, âåäü ìû ïîëàãàåì, ÷òî îí èíîãäà áóäåò äåëàòü è äðóãèå âåùè . Ïðåäïîëîæèì òàêæå, ÷òî òèïè÷íûé âèðóñ èíôèöèðóåò 10 ìèëëèîíîâ ìàøèí. Ýòîò âèðóñ ìîæåò âñêðûòü 56-áèòîâûé êëþ÷ çà 83 äíÿ, à 64 áèòîâûé - çà 58 ëåò. Âàì âîçìîæíî ïðèøëîñü áû ïîäêóïèòü ðàçðàáîò÷èêîâ àíòèâèðóñíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ, íî ýòî óæå âàøè ïðîáëåìû . Ëþáîå óâåëè÷åíèå ñêîðîñòè êîìïüþòåðîâ èëè ðàñïðîñòðàíåíèÿ âèðóñà, êîíå÷íî, ñäåëàëî áû ýòî íàïàäåíèå áîëåå ýôôåêòèâíûì. Êèòàéñêàÿ ëîòåðåÿ Êèòàéñêàÿ Ëîòåðåÿ - ýêëåêòè÷åñêèé, íî âîçìîæíûé ñïîñîá ñîçäàíèÿ ãðîìàäíîé ïàðàëëåëüíîé ìàøèíû äëÿ êðèïòîàíàëèçà [1278]. Âîîáðàçèòå, ÷òî ìèêðîñõåìà, âñêðûâàþùàÿ àëãîðèòì ãðóáîé ñèëîé ñî ñêîðîñòüþ ìèëë èîí ïðîâåðîê â ñåêóíäó, âñòðîåíà â êàæäûé ïðîäàííûé ðàäèîïðèåìíèê è òåëåâèçîð. Êàæäàÿ ìèêðîñõåìà çàïð îãðàììèðîâàíà äëÿ àâòîìàòè÷åñêîé ïðîâåðêè ðàçëè÷íîãî íàáîðà êëþ÷åé ïîñëå ïîëó÷åíèÿ ïàðû îòêðûòûé òåêñò/øèôðîòåêñò ïî ýôèðó. Êàæäûé ðàç êîãäà êèòàéñêîå ïðàâèòåëüñòâî õî÷åò ðàñêðûòü êëþ÷, îíî ïåðåäàåò èñõîäíûå äàííûå ïî ðàäèî. Âñå ðàäèîïðèåìíèêè è òåëåâèçîðû â ñòðàíå íà÷èíàþò ïûõòåòü.  êîíå÷íîì ñ÷åòå, ïðàâèëüíûé êëþ÷ ïîÿâëÿåòñÿ íà ÷üåì-íèáóäü äèñïëåå. Êèòàéñêîå ïðàâèòåëüñòâî ïëàòèò ïðèç òîìó ÷åëîâåêó ýòî ãàðàíòèðóåò, ÷òî ðåçóëüòàò áóäåò ñîîáùåí áûñòðî è ïðàâèëüíî, è òàêæå ñïîñîáñòâóåò ðûíî÷íîìó óñïåõó ð àäèîïðèåìíèêîâ è òåëåâèçîðîâ ñ ìèêðîñõåìàìè âñêðûòèÿ. Åñëè ó êàæäîãî ÷åëîâåêà â Êèòàå, áóäü òî ìóæ÷èíà, æåíùèíà èëè ðåáåíîê, åñòü ðàäèîïðèåìíèê èëè òåëåâ èçîð, òî ïðàâèëüíîå çíà÷åíèå 56-áèòîâîãî êëþ÷à ïîÿâèòñÿ ÷åðåç 61 ñåêóíäó. Åñëè ðàäèîïðèåìíèê èëè òåëåâèçîð åñòü òîëüêî ó êàæäîãî äåñÿòîãî êèòàéöà(÷òî áëèçêî ê äåéñòâèòåëüíîñòè), òî ïðàâèëüíûé êëþ÷ ïîÿâèòñÿ ÷åðåç 10 ìèíóò. Ïðàâèëüíûé 64-áèòîâûé êëþ÷ áóäåò ðàñêðûò ÷åðåç 4.3 ÷àñà (43 ÷àñà, åñëè ðàäèîïðèåìíèê èëè òåëåâèçîð åñòü òîëüêî ó êàæäîãî äåñÿòîãî êèòàéöà) . ×òîáû ñäåëàòü òàêîå âñêðûòèå âîçìîæíûì íà ïðàêòèêå, íåîáõîäèìî ñäåëàòü ðÿä ìîäèôèêàöèé. Âî ïåðâûõ, ïðîùå, ÷òîáû êàæäàÿ ìèêðîñõåìà ïðîâåðÿëà ñëó÷àéíûå, à íå óíèêàëüíûå êëþ÷è . Ýòî ñäåëàåò âñêðûòèå íà 39% ìåäëåííåå, ÷òî íå î÷åíü âàæíî äëÿ ÷èñåë òàêîãî ìàñøòàáà . Çàòåì, Êèòàéñêàÿ êîììóíèñòè÷åñêàÿ ïàðòèÿ äîëæíà ïðèíÿòü ðåøåíèå, ÷òî êàæäûé äîëæåí âêëþ÷àòü ñâîé ïðèåìíèê èëè òåëåâèçîð â îïðåäåëåííîå âðåìÿ, ÷òîáû ãàðàíòèðîâàòü ðàáîòó âñåõ ïðèåìíûõ óñòðîéñòâ âî âðåìÿ ïåðåäà÷è ïàðû îòêðûòûé òåêñò/øèôðîòåêñò . Íàêîíåö, êàæäîìó äîëæíî áûòü ïðèêàçàíî ïîçâîíèòü â Öåíòð - èëè êàê îí òàì íàçûâàåòñÿ - êîãäà êëþ÷ ïîÿâëÿåòñÿ ó íåãî íà ýêðàíå è çà÷èòàòü ñòðîêó ÷èñåë, ïîÿâèâøóþñÿ íà ýêðàíå . Ýôôåêòèâíîñòü Êèòàéñêîé ëîòåðåè äëÿ ðàçëè÷íûõ ñòðàí è ðàçëè÷íûõ äëèí êëþ÷à ïîêàçàíà â 5-é. ßñíî, ÷òî Êèòàé îêàçàëñÿ áû â ëó÷øåì ïîëîæåíèè, åñëè áû ó êàæäîãî êèòàéöà - ìóæ÷èíû, æåíùèíû èëè ðåáåíêà - áàë ñâîé ïðèåìíèê èëè òåëåâèçîð.  Ñîåäèíåííûõ øòàòàõ æèâåò ìåíüøå ëþäåé, íî ãîðàçäî áîëüøå àïïàðàòóðû . Øòàò Âàéîìèíã ñàìîñòîÿòåëüíî ñìîæåò âçëîìàòü 56-áèòîâûé êëþ÷ ìåíüøå, ÷åì çà äåíü .
Òàáë. 7-2. Îöåíêè ñðåäíåãî âðåìåíè âñêðûòèÿ ãðóáîé ñèëîé ïðè êèòàéñêîé ëîòåðåå (Âñå äàííûå âçÿòû èç World Almanac and Book of Facts çà 1995 ãîä.) Âðåìÿ âçëîìà 56 áèò 64 áèòà
Ñòðàíà
Íàñåëåíèå
Êîëè÷åñòâî òåëåâèçîðîâ/ðàäèîïðèåìíèêîâ
Êèòàé
1190431000
257000000
280 ñåêóíä
20 ÷àñîâ
ÑØÀ
260714000
739000000
97 ñåêóíä
6.9 ÷àñà
Èðàê
19890000
4730000
4.2 ÷àñà
44 äíÿ
Èçðàèëü
5051000
3640000
5.5 ÷àñà
58 äíåé
Âàéîìèíã
470000
1330000
15 ÷àñîâ
160 äíåé
Âèííåìóêêà, Íåâàäà
6100
17300
48 äíåé
34 ãîäà
Áèîòåõíîëîãèÿ Åñëè âîçìîæíî ñîçäàíèå áèîìèêðîñõåì, òî áûëî áû ãëóïî íå ïîïûòàòüñÿ èñïîëüçîâàòü èõ â èíñòðóìåíòà êðèïòîàíàëèçà âñêðûòèåì ãðóáîé . Ðàññìîòðèì ãèïîòåòè÷åñêîå æèâîòíîå, íàçûâàåìîå "DESîçàâðîì" [1278]. Îíî ñîñòîèò èç áèîëîãè÷åñêèõ êëåòîê, óìåþùèõ ïðîâåðÿòü âîçìîæíûå êëþ÷è . Ïàðû "îòêðûòûé òåêñò/øèôðîòåêñò" ïîñòóïàþò â êëåòêè ïî íåêîòîðîìó îïòè÷åñêîìó êàíàëó (âèäèòå ëè, âñå ýòè êëåòêè ïðîçðà ÷íû). Ðåøåíèÿ äîñòàâëÿþòñÿ ê îðãàíàì ðå÷è DESîçàâðà ñ ïîìîùüþ ñïåöèàëüíûõ êëåòîê, ïóòåøåñòâóþùèõ ïî êðîâåíîñíîé ñèñòåìå æèâîòíîãî. Òèïè÷íûé äèíîçàâð ñîñòîèò èç 10 14 êëåòîê (áåç áàêòåðèé). Åñëè êàæäàÿ èç íèõ âûïîëíÿåò ìèëëèîí øèôð îâàíèé â ñåêóíäó (íåïëîõîé ðåçóëüòàò), âñêðûòèå 56-áèòîâîãî êëþ÷à çàéìåò ñåìü äåñÿòèòûñÿ÷íûõ ñåêóíäû . Âñêðûòèå 64-áèòîâîãî êëþ÷à ïîòðåáóåò ìåíüøå, ÷åì äâå äåñÿòûõ ñåêóíäû . Âñêðûòèå 8-áèòîâîãî êëþ÷à âñå æå ïðîäëèòñÿ 1011 ëåò. Äðóãîé áèîëîãè÷åñêèé ïîäõîä ñîñòîèò â èñïîëüçîâàíèè ãåíåòè÷åñêè ïðîåêòèðóåìûõ êðèïòîàíàëèòè÷åñêèõ ìîðñêèõ âîäîðîñëåé, êîòîðûå óìåþò âûïîëíÿòü âñêðûòèå êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ ãðóáîé ñèëîé [1278]. Òàêèå îðãàíèçìû, ïîêðûâ áîëüøóþ îáëàñòü, ïîçâîëèëè áû ñîçäàòü ðàñïðåäåëåííóþ ìàøèíó ñ áîëüøèì êîëè÷ åñòâîì ïðîöåññîðîâ. Ïàðà "îòêðûòûé òåêñò/øèôðîòåêñò" ìîãëà áû ïåðåäàâàòüñÿ ïî ðàäèî ÷åðåç ñïóòíèê. Îáí àðóæåíèå ðåçóëüòàòà îðãàíèçìîì ìîãëî áû ñòèìóëèðîâàòü áëèçëåæàùèå ÿ÷åéêè èçìåíèòü öâåò, ñîîáùàÿ ðåøåíèå îáðàòíî íà ñïóòíèê. Ïðåäïîëîæèì, ÷òî òèïè÷íàÿ êëåòêà ìîðñêîé âîäîðîñëè - ýòî êóáèê ñî ñòîðîíîé 10 ìèêðîí (âîçìîæíî, ýòî îöåíêà ñâåðõó, ñëåäîâàòåëüíî 10 15 êëåòîê çàïîëíÿò êóáè÷åñêèé ìåòð. Âûïëåñíèòå èõ â îêåàí, ïîêðûâàÿ 200 êâàäðàòíûõ ìèëü (518 êâàäðàòíûõ êèëîìåòðîâ) íà ãëóáèíó îäèí ìåòð (ýòî âàøè ïðîáëåìû, êàê îñóùåñòâèòü ýòî - ÿ ïîäàþ òîëüêî èäåþ), è ó âàñ áóäåò 10 23 âîäîðîñëåé (áîëåå ÷åì ñîòíåé ìèëëèàðäà ãàëëîíîâ), ïëàâàþùèõ â îêåàíå. (Äëÿ ñðàâíåíèÿ, èç òàíêåðà Valdez âûòåêëî 10 ìèëëèîíîâ ãàëëîíîâ íåôòè.) Åñëè êàæäàÿ èç íèõ ìîæåò ïðîâåðÿòü ìèëëèîí êëþ÷åé â ñåêóíäó, òî äëÿ 128-áèòîâîãî àëãîðèòìà îíè ðàñêðîþò êëþ÷ â òîëüêî ñïóñòÿ 100 ëåò. (Âîçíèêøåå ïðè ýòîì öâåòåíèå ìîðñêèõ âîäîðîñëåé - ýòî âàøà ïðîáëåìà.) Êðóïíûå äîñòèæåíèÿ â áûñòð îäåéñòâèè ìîðñêèõ âîäîðîñëåé, èõ äèàìåòð èëè äàæå ðàçìåðû ïÿòíà â îêåàíå ìîãóò çàìåòíî óìåíüøèòü ýòè çí à÷åíèÿ. Äàæå íå ñïðàøèâàéòå ìåíÿ î íàíîòåõíîëîãèè. Òåðìîäèíàìè÷åñêèå îãðàíè÷åíèÿ Îäíèì èç ñëåäñòâèé çàêîíà âòîðîãî òåðìîäèíàìèêè ÿâëÿåòñÿ òî, ÷òî äëÿ ïðåäñòàâëåíèÿ èíôîðìàöèè íåî áõîäèìî íåêîòîðîå êîëè÷åñòâî ýíåðãèè. Çàïèñü îäèíî÷íîãî áèòà, èçìåíÿþùàÿ ñîñòîÿíèå ñèñòåìû, òðåáóåò êîë è÷åñòâà ýíåðãèè íå ìåíüøå ÷åì kT; ãäå Ò - àáñîëþòíàÿ òåìïåðàòóðà ñèñòåìû è k - ïîñòîÿííàÿ Áîëüöìàíà. (Íå âîëíóéòåñü, óðîê ôèçèêè óæå ïî÷òè çàêîí÷åí .) Ïðèíÿâ, ÷òî k = l.38*10 -16 ýðã/K, è ÷òî òåìïåðàòóðà îêðóæàþùåé âñåëåííîé 3.2K, èäåàëüíûé êîìïüþòåð, ðàáîòàÿ ïðè 3.2K, ïîòðåáëÿë áû 4.4*10-16 ýðãà âñÿêèé ðàç, êîãäà îí óñòàíàâëèâàåò èëè ñáðàñûâàåò áèò . Ðàáîòà êîìïüþòåðà ïðè òåìïåðàòóðå áîëåå íèçêîé, ÷åì òåìïåðàòóðà êîñìè÷åñêîãî ïðîñòðàíñòâà, ïîòðåáîâàëà áû ä îïîëíèòåëüíûõ ðàñõîäîâ ýíåðãèè äëÿ îòâîäà òåïëà . Äàëåå, ýíåðãèÿ, èçëó÷àåìàÿ íàøèì Ñîëíöåì çà ãîä, ñîñòàâëÿåò îêîëî 1.21*1041 ýðãîâ. Ýòî äîñòàòî÷íî äëÿ âûïîëíåíèÿ 2*1056 ïåðåìåí áèòà â íàøåì èäåàëüíîì êîìïüþòåðå, à ýòîãî, â ñâîþ î÷åðåäü, õâàòèò äëÿ òîãî, ÷ò îáû 187-áèòîâûé ñ÷åò÷èê ïðîáåæàë âñå ñâîè çíà÷åíèÿ . Åñëè ìû ïîñòðîèì âîêðóã Ñîëíöà ñôåðó Äàéñîíà è ïåð åõâàòèì áåç âñÿêèõ ïîòåðü âñþ åãî ýíåðãèþ çà 32 ãîäà, ìû ñìîæåì ïîëó÷èòü êîìïüþòåð äëÿ âû÷èñëåíèÿ 2 192 ÷èñåë. Êîíå÷íî, ýíåðãèè äëÿ ïðîâåäåíèÿ êàêèõ-íèáóäü ïîëåçíûõ âû÷èñëåíèé ñ ýòèì ñ÷åò÷èêîì óæå íå
îñòàíåòñÿ. Íî ýòî òîëüêî îäíà æàëêàÿ çâåçäà . Ïðè âçðûâå òèïè÷íîé ñâåðõíîâîé âûäåëÿåòñÿ îêîëî 10 51 ýðãîâ. ( ñòî ðàç áîëüøå ýíåðãèè âûäåëÿåòñÿ â âèäå íåéòðèíî, íî ïóñòü îíè ïîêà ëåòàþò .) Åñëè âñþ ýòó ýíåðãèþ óäàñòñÿ áðîñèòü íà îäíó âû÷èñëèòåëüíóþ îðãèþ, òî âñå ñâîè çíà÷åíèÿ ñìîæåò ïðèíÿòü 219-áèòîâûé ñ÷åò÷èê. Ýòè ÷èñëà íå èìåþò íè÷åãî îáùåãî ñ ñàìîé àïïàðàòóðîé, îíè ïðîñòî ïîêàçûâàþò ìàêñèìàëüíûå çíà÷åíèÿ, îáóñëîâëåííûå òåðìîäèíàìèêîé . Êðîìå òîãî, ýòè ÷èñëà íàãëÿäíî äåìîíñòðèðóþò, ÷òî âñêðûòèå ãðóáîé ñèëîé 256-áèòîâîãî êëþ÷à áóäåò íåâîçìîæíî, ïîêà êîìïüþòåðû ïîñòðîåíû èç îáû÷íîé ìàòåðèè è ðàñïîëàãàþòñÿ â îáû÷íîì ïðîñòðàíñòâå.
7.2 Äëèíà îòêðûòîãî êëþ÷à Îäíîíàïðàâëåííûå ôóíêöèè îáñóæäàëèñü â ðàçäåëå 2.3. Îäíîíàïðàâëåííîé ôóíêöèåé ÿâëÿåòñÿ óìíîæåíèå äâóõ áîëüøèõ ïðîñòûõ ÷èñåë, ïîëó÷èòü ïðîèçâåäåíèå, ïåðåìíîæèâ ÷èñëà, íåòðóäíî, íî íåëåãêî ðàçëîæèòü ïð îèçâåäåíèå íà ìíîæèòåëè è ïîëó÷èòü äâà áîëüøèõ ïðîñòûõ ÷èñëà (ñì. ðàçäåë 11.3). Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè èñïîëüçóåò ýòó èäåþ äëÿ ñîçäàíèÿ îäíîíàïðàâëåííîé ôóíêöèè ñ ëþêîì . Íà ñàìîì äåëå, ýòî ëîæü, íå äîêàçàíî, ÷òî ðàçëîæåíèå íà ìíîæèòåëè ÿâëÿåòñÿ òÿæåëîé ïðîáëåìîé (ñì. ðàçäåë 11.4). Íàñêîëüêî ñåãîäíÿ èçâåñòíî, ýòî ïîõîæå íà ïðàâäó. È äàæå åñëè ýòî òàê, íèêòî íå ìîæåò äîêàçàòü, ÷òî òðóäíûå ïðîáëåìû äåéñòâ èòåëüíî òðóäíû. Âñå ñ÷èòàþò, ÷òî ðàçëîæåíèå íà ìíîæèòåëè ÿâëÿåòñÿ òðóäíîé çàäà÷åé, íî ýòî íèêîãäà íå áûëî äîêàçàíî ìàòåìàòè÷åñêè. Íà ýòîì ñòîèò îñòàíîâèòüñÿ ïîïîäðîáíåå. Ëåãêî ïðåäñòàâèòü, ÷òî ëåò ÷åðåç 50 ìû ñîáåðåìñÿ âìåñòå, âñïîì èíàÿ ñòàðîå äîáðîå âðåìÿ, êîãäà âñå ëþäè ñ÷èòàëè, ÷òî ðàçëîæåíèå íà ìíîæèòåëè áûëî òðóäíûì è ëåæàëî â î ñíîâå êðèïòîãðàôèè, à ðàçëè÷íûå êîìïàíèè äåëàëè èç ýòîãî äåíüãè. Ëåãêî âîîáðàçèòü, ÷òî áóäóùèå äîñòèæåíèÿ â òåîðèè ÷èñåë óïðîñòÿò ðàçëîæåíèå íà ìíîæèòåëè èëè äîñòèæåíèÿ òåîðèè ñëîæíîñòè ñäåëàþò ðàçëîæåíèå íà ìíîæèòåëè òðèâèàëüíûì. Íåò ïðè÷èí âåðèòü â ýòî - è áîëüøèíñòâî ëþäåé, çíàþùèõ äîñòàòî÷íî, ÷òîáû èìåòü ñîáñòâåííîå ìíåíèå, ñêàæåò âàì, ÷òî ïîäîáíîå ðàçâèòèå ñîáûòèé ÿâëÿåòñÿ ìàëîâåðîÿòíûì - íî íåò è ïðè÷èí âåðèòü, ÷òî òàêîãî ïðîðûâà íå ñëó÷èòñÿ.  ëþáîì ñëó÷àå, äîìèíèðóþùèå ñåãîäíÿ àëãîðèòìû øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì îñíîâàíû íà òðóäí îñòè ðàçëîæåíèÿ íà ìíîæèòåëè áîëüøèõ ÷èñåë, êîòîðûå ÿâëÿþòñÿ ïðîèçâåäåíèåì äâóõ áîëüøèõ ïðîñòûõ ÷èñåë. (Äðóãèå àëãîðèòìû îñíîâàíû íà òàê íàçûâàåìîé Äèñêðåòíîé ïðîáëåìîé ëîãàðèôìà, íî ïîêà ïðåäïîëîæèì, ÷òî ê íåé ïðèìåíèìû òå æå ðàññóæäåíèÿ.) Ýòè àëãîðèòìû òàêæå âîñïðèèì÷èâû ê âñêðûòèþ ãðóáîé ñèëîé, íî ïî ðàçíîìó. Âçëîì ýòèõ àëãîðèòìîâ ñîñòîèò íå èç ïåðåáîðà âñåõ âîçìîæíûõ êëþ÷åé, à èç ïîïûòîê ðàçëîæåíèÿ áîëüøèõ ÷èñåë íà ìíîæèòåëè (èëè âçÿòèÿ äèñêðåòíûõ ëîãàðèôìîâ â î÷åíü áîëüøîì êîíå÷íîé îáëàñòè - òî÷íî òàêàÿ æå ïðîáëåìà). Åñëè ÷èñëî ñëèøêîì ìàëî, âû íèêàê íå çàùèùåíû. Åñëè ÷èñëî äîñòàòî÷íî âåëèêî, òî âû íàäåæíî çàùèùåíû ïðîòèâ âñåé âû÷èñëèòåëüíîé ìîùè ìèðà, åñëè îíà áóäåò áèòüñÿ íàä ýòîé çàäà÷åé ñ íàñòî ÿùåãî âðåìåíè äî òåõ ïîð, ïîêà Ñîëíöå íå ñòàíåò ñâåðõíîâîé - òàêîâî ñåãîäíÿøíåå ïîíèìàíèå ìàòåìàòèêè ýòîé ïðîáëåìû.  ðàçäåëå 11.3 ðàçëîæåíèå íà ìíîæèòåëè ðàññìàòðèâàåòñÿ ìàòåìàòè÷åñêè ïîäðîáíî, à çäåñü ÿ îãð àíè÷óñü îöåíêîé âðåìåíè ðàçëîæåíèÿ íà ìíîæèòåëè ÷èñåë ðàçëè÷íîé äëèíû. Ðàçëàãàòü áîëüøèå ÷èñëà íà ìíîæèòåëè íåëåãêî, íî, ê íåñ÷àñòüþ äëÿ ïðîåêòèðîâùèêîâ àëãîðèòìîâ, ýòîò ïðîöåññ ñòàíîâèòñÿ âñå ëåã÷å. ×òî åùå õóæå, îí ñòàíîâèòñÿ ëåã÷å ÷ áîëüøåé ñêîðîñòüþ, ÷åì ïðåäñêàçûâàëîñü ìàòåìàòèêàìè.  1976 ãîäó Ðè÷àðä Ãàé (Richard Guy) ïèñàë: "ß áûë áû íåìàëî óäèâëåí, åñëè áû êòî-íèáóäü íàó÷èëñÿ ðàçëàãàòü íà ìíîæèòåëè ïðîèçâîëüíûå ÷èñëà ïîðÿäêà 10 80 â òå÷åíèå äàííîãî ñòîëåòèÿ" [680].  1977 ãîäó Ðîí Ðèâåñò (Ron Rivest) çàÿâèë, ÷òî ðàçëîæåíèå íà ìíîæèòåëè 125-ðàçðÿäíîãî ÷èñëà ïîòðåáóåò 40 êâà äðèëëèîíîâ ëåò [599].  1994 ãîäó áûëî ðàçëîæåíî íà ìíîæèòåëè 129-ðàçðÿäíîå ÷èñëî [66]. Åñëè èç ýòîãî è ìîæíî ñäåëàòü êàêèå-òî âûâîäû, òî òîëüêî òî, ÷òî ïðåäñêàçûâàòü ãëóïî .  4-é ïðèâåäåíû ðåçóëüòàòû ðàçëîæåíèÿ íà ìíîæèòåëè çà ïîñëåäíþþ äþæèíó ëåò . Ñàìûì áûñòðûì àëãîðèòìîì ðàçëîæåíèÿ íà ìíîæèòåëè ÿâëÿåòñÿ êâàäðàòè÷íîå ðåøåòî (ñì. ðàçäåë 11.3). Ýòè ÷èñëà ñèëüíî ïóãàþò. Ñåãîäíÿ 512-áèòîâûå ÷èñëà óæå èñïîëüçóþòñÿ â îïåðàöèîííûõ ñèñòåìàõ. Ðàçë îæåíèå èõ íà ìíîæèòåëè, è ïîëíàÿ êîìïðîìåòàöèÿ, òàêèì îáðàçîì, ñèñòåìû çàùèòû, âïîëíå ðåàëüíî. ×åðâü â Internet ìîã áû ñäåëàòü ýòî â òå÷åíèå óèêåíäà.
Òàáë. 7-3. Ðàçëîæåíèå íà ìíîæèòåëÿ ñ ïîìîùüþ "êâàäðàòè÷íîãî ðåøåòà" Ãîä
×èñëî äåñÿòè÷íûõ ðàçðÿäîâ â ðàçëîæåííîì ÷èñëå
Âî ñêîëüêî ðàç ñëîæíåå ðàçëîæèòü íà ìíîæèòåëè 512-áèòîâîå ÷èñëî
1983
71
>20 ìèëëèîíîâ
1985
80
>2 ìèëëèîíîâ
1988
90
250000
1989
100
30000
1993
120
500
1994
129
100
Âû÷èñëèòåëüíàÿ ìîùü îáû÷íî èçìåðÿåòñÿ â mips-ãîäàõ: ãîäîâàÿ ðàáîòà êîìïüþòåðà, âûïîëíÿþùåãî ìèëë èîí îïåðàöèé â ñåêóíäó (one-million-instruction-per-second , mips), èëè îêîëî 3*10 13 îïåðàöèé. Ïðèíÿòî, ÷òî ìàøèíà ñ ïðîèçâîäèòåëüíîñòüþ 1 mips-ãîä ýêâèâàëåíòíà VAX 11/780 êîìïàíèè DEC. Òî åñòü, mips-ãîä - ýòî ãîä ðàáîòû êîìïüþòåðà VAX 11/780 èëè ýêâèâàëåíòíîãî. (100 ÌÃö Pentium - ýòî ìàøèíà â 50 mips, à Intel Paragon èç 1800 óçëîâ - ïðèìåðíî 50000 mips.)  1983 ãîäó ðàçëîæåíèå íà ìíîæèòåëè 71-ðàçðÿäíîãî ÷èñëà òðåáîâàëî 0.1 mips-ãîäà, â 1994 ãîäó ðàçëîæåíèå íà ìíîæèòåëè 129-ðàçðÿäíîãî ÷èñëà ïîòðåáîâàëî 5000 mips-ëåò. Òàêîé âçëåò âû÷èñëèòåëüíîé ìîùíîñòè îá óñëîâëåí, â îñíîâíîì, ââåäåíèåì ðàñïðåäåëåííûõ âû÷èñëåíèé, èñïîëüçóþùèõ âðåìÿ ïðîñòîÿ ñåòè ðàáî÷èõ ñòà íöèé. Ýòîò ïîäõîä áûë ïðåäëîæåí Áîáîì Ñèëâåðìàíîì ( Bob Silverman) è ïîëíîñòüþ ðàçðàáîòàí Àðæàíîì Ëå íñòðîé (Arjen Lenstra) è Ìàðêîì Ìàíàññîì (Mark Manasse).  1983 ãîäó ðàçëîæåíèå íà ìíîæèòåëè èñïîëüçîâàëî 9.5 ÷àñîâ ïðîöåññîðíîãî âðåìåíè íà åäèíñòâåííîì êîìïüþòåðå Cray X-MP, â 1994 ãîäó ðàçëîæåíèå íà ìíîæèòåëè çàíÿëî 5000 mips-ëåò è èñïîëüçîâàëî âðåìÿ ïðîñòîÿ 1600 êîìïüþòåðîâ âî âñåì ìèðå â òå÷åíèå ïðèáëèç èòåëüíî âîñüìè ìåñÿöåâ. Ñîâðåìåííûå ìåòîäû ðàçëîæåíèÿ íà ìíîæèòåëè ïîçâîëÿþò èñïîëüçîâàòü ïîäîáíûå ðàñïðåäåëåííûå âû÷èñëåíèÿ. Êàðòèíà äàæå ïðîäîëæàåò óõóäøàòüñÿ . Íîâûé àëãîðèòì ðàçëîæåíèÿ íà ìíîæèòåëè - ðåøåòî îáùåãî ïîëÿ ÷ èñåë - çàìåíèë êâàäðàòè÷íîå ðåøåòî .  1989 ãîäó ìàòåìàòèêè ñêàçàëè áû âàì, ÷òî ðåøåòî îáùåãî ïîëÿ ÷èñåë íèêîãäà íå áóäåò èìåòü ïðàêòè÷åñêîãî çíà÷åíèÿ .  1992 ãîäó îíè ñîîáùèëè áû, ÷òî îíî ðåàëèçóåìî, íî äàåò âûèãðûø ïî ñðàâíåíèþ ñ êâàäðàòè÷íûì ðåøåòîì òîëüêî äëÿ ÷èñåë ñî 130-150 äåñÿòè÷íûìè ðàçðÿäàìè è áîë üøèõ. Ñåãîäíÿ èçâåñòíî, ÷òî ýòîò íîâûé àëãîðèòì áûñòðåå, ÷åì êâàäðàòè÷íîå ðåøåòî, äëÿ ÷èñåë çíà÷èòåëüíî ìåíüøèõ, ÷åì 116-ðàçðÿäíûå [472, 635]. Ðåøåòî îáùåãî ïîëÿ ÷èñåë ìîæåò ðàçëîæèòü íà ìíîæèòåëè 512áèòîâîå ÷èñëî â 10 ðàç áûñòðåå, ÷åì êâàäðàòè÷íîå ðåøåòî . Íà 1800-óçëîâîì êîìïüþòåðå Intel Paragon âûïîëíåíèå ýòîãî àëãîðèòìà çàíÿëî áû ìåíüøå ãîäà .  3rd ïîêàçàíî êîëè÷åñòâî mips-ëåò, êîòîðîå òðåáóåòñÿ äëÿ ðàçëîæåíèÿ ÷èñåë ðàçëè÷íûõ ðàçìåðîâ ïðè èñïîëüçîâàíèè ñîâðåìåííûõ ðåàëèçàöèé ðåøåòà îáùåãî ïîëÿ ÷èñåë [1190]. Òàáë. 7-4. Ðàçëîæåíèå íà ìíîæèòåëè ñ ïîìîùüþ ðåøåòà îáùåãî ïîëÿ ÷èñåë Êîëè÷åñòâî áèò
Ñêîëüêî mips-ëåò íóæíî äëÿ ðàçëîæåíèÿ
512
30000
768
2*108
1024
3*1011
1280
1*1014
1536
3*1016
2048
3*1020
Êðîìå òîãî, ðåøåòî îáùåãî ïîëÿ ÷èñåë ñòàíîâèòñÿ âñå áûñòðåå è áûñòðåå . Ìàòåìàòèêè èçîáðåòàþò íîâûå òðþêè, îïòèìèçàöèè, ìåòîäû, è íåò ïðè÷èí ñ÷èòàòü, ÷òî ýòà òåíäåíöèÿ îáîðâåòñÿ. Áëèçêèé àëãîðèòì, ðåøåòî ñïåöèàëüíîãî ïîëÿ ÷èñåë, óæå ìîæåò ðàçëàãàòü íà ìíîæèòåëè ÷èñëà îïðåäåëåííîé ñïåöèàëèçèðîâàííîé ôîðìû îáû÷íî íå èñïîëüçóåìûå â êðèïòîãðàôèè - ãîðàçäî áûñòðåå, ÷åì ðåøåòî îáùåãî ïîëÿ ÷èñåë ìîæåò ðàçëîæèòü íà
ìíîæèòåëè ëþáûå ÷èñëà òîãî æå ðàçìåðà . Ðàçóìíî ïðåäïîëîæèòü, ÷òî ðåøåòî îáùåãî ïîëÿ ÷èñåë ìîæåò áûòü îïòèìèçèðîâàíî, ÷òîáû äîñòè÷ü òàêîé æå ñêîðîñòè [1190], âîçìîæíî, ÷òî NSA óæå çíàåò, êàê ýòî ñäåëàòü.  2-é ïîêàçàíî êîëè÷åñòâî mips-ëåò, òðåáóåìîå äëÿ ðàçëîæåíèÿ ÷èñåë ðàçëè÷íîé äëèíû ïðè ïîìîùè ðåøåòà ñïåö èàëüíîãî ïîëÿ ÷èñåë [1190]. Òàáë. 7-5. Ðàçëîæåíèå íà ìíîæèòåëè ñ ïîìîùüþ ðåøåòà ñïåöèàëüíîãî ïîëÿ ÷èñåë Êîëè÷åñòâî áèò
Ñêîëüêî mips-ëåò íóæíî äëÿ ðàçëîæåíèÿ
512
<200
768
100000
1024
3*107
1280
3*109
1536
2*1011
2048
4*1014
 1991 ãîäó ó÷àñòíèêè ñåìèíàðà Åâðîïåéñêîãî èíñòèòóòà áåçîïàñíîñòè ñèñòåì ( European Institute for System Security) ñîãëàñèëèñü, ÷òî 1024-áèòîâûõ ìîäóëåé áóäåò äîñòàòî÷íî äëÿ äëèòåëüíîãî õðàíåíèÿ ñåêðåòîâ äî 2002 ãîäà [150]. Îäíàêî, îíè ïðåäóïðåæäàëè: "Õîòÿ ó÷àñòíèêè ýòîãî ñåìèíàðà ÿâëÿþòñÿ ëó÷øèìè ñïåöèàëèñòàìè â ñîîòâåòñòâóþùèõ îáëàñòÿõ, ýòî çàÿâëåíèå (ïî ïîâîäó ñðîêà áåçîïàñíîñòè) äîëæíî áûòü âîñïðèíÿòî ñ îñòîðî æíîñòüþ." Ýòî õîðîøèé ñîâåò. Óìíûé êðèïòîãðàô ñâåðõêîíñåðâàòèâåí ïðè âûáîðå äëèí îòêðûòûõ êëþ÷åé . ×òîáû ïîíÿòü, íàñêîëüêî äëèííûé êëþ÷ âàì íóæåí, âàì ïðèäåòñÿ îöåíèòü íóæíóþ áåçîïàñíîñòü è âðåìÿ æèçíè êëþ÷à, íå çàáûâàÿ î òåêóùåì ñîñòîÿíèè èñêóññòâà ðàçëàãàòü íà ìíîæèòåëè . ×òîáû ïîëó÷èòü òîò æå óðîâåíü áåçîïàñíîñòè, êîòîðûé äàâàëî 512-áèòîâîå ÷èñëî â íà÷àëå âîñüìèäåñÿòûõ, ñåãîäíÿ âàì ïîíàäîáèòñÿ 1024-áèòîâîå ÷èñëî. Åñëè æå âû õîòèòå, ÷òîáû âàøè êëþ÷è îñòàâàëèñü áåçîïàñíûìè â áëèæàéøèå 20 ëåò, 1024-áèòîâîå ÷èñëî, ïî âèäèìîìó, ñëèøêîì êîðîòêî. Äàæå åñëè âàøè êîíêðåòíûå ñåêðåòû íå ñòîÿò óñèëèé, íóæíûõ äëÿ ðàçëîæåíèÿ âàøåãî ìîäóëÿ, âû ìîæåòå îêàçàòüñÿ â îïàñíîñòè. Ïðåäñòàâüòå ñåáå àâòîìàòè÷åñêóþ áàíêîâñêóþ ñèñòåìó, èñïîëüçóþùóþ äëÿ áåçîïàñíîñòè RSA. Ìýëëîðè ìîæåò ïðåäñòàòü ïåðåä ñóäîì è çàÿâèòü : "×èòàëè ëè âû â ãàçåòå çà 1994 ãîä, ÷òî RSA-129 áûë âçëîìàí, è ÷òî 512-áèòîâûå ÷èñëà ìîãóò áûòü ðàçëîæåíû íà ìíîæèòåëè ëþáîé îðãàíèçàöèåé, êîòîðàÿ ìîæåò ïîòðàòèòü íåñêîëüêî ìèëëèîíîâ äîëëàðîâ è ïîäîæäàòü íåñêîëüêî ìåñÿöåâ ? Ìîé áàíê èñïîëüçóåò äëÿ áåçîïàñí îñòè 512-áèòîâûå ÷èñëà è, ìåæäó ïðî÷èì, ýòè ñåìü èçúÿòèé ñäåëàíû íå ìíîé ." Äàæå åñëè Ìýëëîðè ëæåò, ñóäüÿ, âåðîÿòíî, ìîæåò ïîòðåáîâàòü, ÷òîáû áàíê ýòî äîêàçàë . Ïî÷åìó íå èñïîëüçîâàòü 10000-áèòîâûå êëþ÷è ? Êîíå÷íî, ìîæíî, íî ÷åì äëèííåå âàøè êëþ÷è, òåì áîëüøå ñòîèìîñòü âû÷èñëåíèé. Âàì íóæåí êëþ÷, êîòîðûé áûë áû äîñòàòî÷íî äëèííûì äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè, íî äîñòàòî÷íî êîðîòêèì, ÷òîáû åãî ìîæíî áûëî èñïîëüçîâàòü . Ðàíåå â ýòîì ðàçäåëå ÿ íàçûâàë ïðåäñêàçàíèÿ ãëóïîñòüþ . Òåïåðü ÿ ñàì ïîïûòàþñü ïðåäñêàçàòü êîå-÷òî .  1-é ïðèâåäåíû ìîè ðåêîìåíäàöèè ïî âûáîðó äëèí îòêðûòûõ êëþ÷åé â çàâèñèìîñòè îò òîãî, êàêîé ñðîê áåçîïàñí îñòè êëþ÷à âàì íóæåí. Äëÿ êàæäîãî ãîäà ïðèâåäåíû òðè äëèíû êëþ÷à, îäíà äëÿ ÷àñòíîãî ëèöà, îäíà äëÿ êðóïíîé êîðïîðàöèè è îäíà äëÿ ïðàâèòåëüñòâà áîëüøîãî ãîñóäàðñòâà . Âîò íåêîòîðûå ñîîáðàæåíèÿ èç [66]: Ìû ñ÷èòàåì, ÷òî ñìîæåì ïîëó÷èòü äîñòóï ê 100 òûñÿ÷àì êîìïüþòåðîâ áåç ñâåðõ÷åëîâå÷åñêèõ óñèëèé è íåýòè÷íûõ äå éñòâèé. Òî åñòü, ìû íå ñîáèðàåìñÿ âûïóñêàòü â Internet "÷åðâÿ" èëè ðàçðàáàòûâàòü âèðóñ, êîòîðûé áû ïðåäîñòàâèë áû íàì â û÷èñëèòåëüíûå ðåñóðñû. Âî ìíîãèõ îðãàíèçàöèÿõ ìíîãèå òûñÿ÷è ìàøèí ïîäêëþ÷åíû ê ñåòè . Äîñòóï ê èõ âîçìîæíîñòÿì ïîòðåáóåò èñêóñíîé äèïëîìàòèè, íî íå ÿâëÿåòñÿ íåâîçìîæíûì. Ïðèíÿâ ñðåäíþþ ïðîèçâîäèòåëüíîñòü ìàøèíû ðàâíîé 5 mips è âðåìÿ ðàáîòû 1 ãîä, âïîëíå âîçìîæíî îñóùåñòâèòü ïðîåêò, êîòîðûé òðåáóåò ïîëìèëëèîíà mips-ëåò.
Ïðîåêò ðàçëîæåíèÿ íà ìíîæèòåëè 129-ðàçðÿäíîãî ÷èñëà áåç çíà÷èòåëüíûõ óñèëèé ñìîã çàäåéñòâîâàòü 0.03 ïðîöåíòà îöåíî÷íîé ïîëíîé âû÷èñëèòåëüíîé ìîùíîñòè Internet [1190]. Ðàçóìíî ïðåäïîëîæèòü, ÷òî õîðîøî ðà çðåêëàìèðîâàííûé ïðîåêò ïîëó÷èò íà ãîä 2 ïðîöåíòà âñåìèðíîé âû÷èñëèòåëüíîé ìîùíîñòè . Ïðåäïîëîæèì, ÷òî óâëå÷åííûé êðèïòîàíàëèòèê ñìîæåò ïîëó÷èòü â ñâîå ðàñïîðÿæåíèå 10000 mips-ëåò, áîëüøàÿ êîðïîðàöèÿ - 10 7 mips-ëåò, à ïðàâèòåëüñòâî áîëüøîé ñòðàíû - 109 mips-ëåò. Ïðåäïîëîæèì òàêæå, ÷òî âû÷èñëèòåëüíàÿ ìîùü áóäåò âîçðàñòàòü íà ïîðÿäîê êàæäûå ïÿòü ëåò . È , íàêîíåö, ïðåäïîëîæèì òàêæå, ÷òî ó ñ-
ïåõè â ìàòåìàòèêå ðàçëîæåíèÿ íà ìíîæèòåëè ïîçâîëÿò íàì ðàñêëàäûâàòü ëþáûå ÷èñëà ñî ñêîðîñòüþ, ñðàâí èìîé ñ òîé, êîòîðóþ îáåñïå÷èâàåò ðåøåòî ñïåöèàëüíîãî ïîëÿ ÷èñåë . (Ýòî ïîêà íåâîçìîæíî, íî ïðîðûâ ìîæåò ñëó÷èòüñÿ â ëþáîé ìîìåíò.) 1st ðåêîìåíäóåò äëÿ ðàçëè÷íûõ ëåò èñïîëüçîâàòü ñ öåëüþ îáåñïå÷åíèÿ áåçîïàñí îñòè ðàçëè÷íûå äëèíû êëþ÷åé. Òàáë. 7-6. Ðåêîìåíäîâàííûå äëèíû îòêðûòûõ êëþ÷åé â (áèòàõ) Ãîä
×àñòíîå ëèöî
Êîðïîðàöèÿ
Ïðàâèòåëüñòâî
1995
768
1280
1536
2000
1024
1280
1536
2005
1280
1536
2048
2010
1280
1536
2048
2015
1536
2048
2048
Íå çàáûâàéòå ó÷èòûâàòü çíà÷èìîñòü êëþ÷à. Îòêðûòûå êëþ÷è ÷àñòî èñïîëüçóþòñÿ äëÿ äëèòåëüíîé îáåñïå÷ åíèÿ áåçîïàñíîñòè âàæíîé èíôîðìàöèè : ãëàâíûé êëþ÷ áàíêà äëÿ ñèñòåìû ýëåêòðîííûõ íàëè÷íûõ, êëþ÷, è ñïîëüçóåìûé ïðàâèòåëüñòâîì äëÿ ïîäòâåðæäåíèÿ ïàñïîðòîâ, êëþ÷ öèôðîâîé ïîäïèñè ãîñóäàðñòâåííîãî íîòàðè óñà. Âîçìîæíî, íå ñòîèò òðàòèòü ìåñÿöû ìàøèííîãî âðåìåíè íà âñêðûòèå êàêîãî-òî ëè÷íîãî êëþ÷à, íî åñëè ì îæåòå ñ ïîìîùüþ äîáûòîãî êëþ÷à íàïå÷àòàòü ñîáñòâåííûå äåíüãè, òî èäåÿ ñòàíîâèòñÿ âåñüìà çàõâàòûâàþùåé . Äëèíà 1024-áèòîâîãîé êëþ÷à äîñòàòî÷íà äëÿ ïîäïèñè ÷åãî-íèáóäü, ÷òî áóäåò ïðîâåðåíî â òå÷åíèå íåäåëè, ìåñ ÿöà, äàæå íåñêîëüêèõ ëåò . Íî âû æå íå õîòèòå, ïðåäñòàâ ïåðåä ñóäîì ëåò 20 ñïóñòÿ ñ ïîäïèñàííûì ýëåêòðîííûì îáðàçîì äîêóìåíòîì, ñìîòðåòü, êàê ïðîòèâîïîëîæíàÿ ñòîðîíà ïîêàçûâàåò, êàê ïîääåëàòü äîêóìåíòû, èñïîëüçóÿ ýòó æå ïîäïèñü .
Ïðåäñêàçûâàòü áîëåå äàëåêîå áóäóùåå åùå ãëóïåå. Êòî ìîæåò çíàòü, êàêèõ óñïåõîâ ê 2020 ãîäó äîñòèãíåò âû÷èñëèòåëüíàÿ òåõíèêà, ñåòåâûå âû÷èñëåíèÿ è ìàòåìàòèêà ? Îäíàêî, åñëè îêèíóòü âçãëÿäîì âñþ êàðòèíó, ìîæíî çàìåòèòü, ÷òî â êàæäîì ñëåäóþùåì äåñÿòèëåòèè ìû ïîëó÷àåì âîçìîæíîñòü ðàçëàãàòü íà ìíîæèòåëè âäâîå áîëåå äëèííûå ÷èñëà, ÷åì â ïðåäûäóùåì . Ýòî ïîçâîëÿåò ïîñòðîèòü 0-é. Ñ äðóãîé ñòîðîíû, òåõíèêà ðàçëîæåíèÿ íà ìíîæèòåëè ìîæåò äîñòè÷ü ïðåäåëà ñâîèõ âîçìîæíîñòåé çàäîëãî äî 2045. Õîòÿ ÿ äóìàþ, ÷òî ýòî ìàëîâåðîÿòíî. Íå âñå ñîãëàñÿòñÿ ñ ìîèìè ðåêîìåíäàöèÿìè . NSA óñòàíîâèëî äëÿ ñâîåãî Ñòàíäàðòà öèôðîâîé ïîäïèñè (Digital Signature Standard, ñì. ðàçäåë 20.1) äëèíó êëþ÷åé îò 512 äî 1024 áèò - íàìíîãî ìåíüøå, ÷åì ÿ ðåêîìåíäóþ äëÿ äëèòåëüíîé áåçîïàñíîñòè . Ó Pretty Good Privacy ("Âïîëíå íàäåæíûé ñåêðåò", ñì. ðàçäåë 24.12) ìàêñèìàëüíàÿ äëèíà êëþ÷à RSA ñîñòàâëÿåò 2047 áèò. Àðæàí Ëåíñòðà, ëó÷øèé â ìèðå ðàñêëàäûâàòåëü íà ìíîæèòåëè , â òå÷åíèå ïîñëåäíèõ 10 ëåò îòêàçûâàåòñÿ äåëàòü ïðåäñêàçàíèÿ [949].  -1-é ïðèâåäåíû ðåêîìåíäàöèè Ðîíà Ð èâåñòà äëÿ äëèíû êëþ÷åé, êîòîðûå ñäåëàíû â 1990 ãîäó è êàæóòñÿ ìíå ñëèøêîì îïòèìèñòè÷íûìè [1323]. Õîòÿ åãî àíàëèç íà áóìàãå âûãëÿäèò õîðîøî, â íåäàâíåé èñòîðèè ìîæíî íàéòè ïðèìåðû ðåãóëÿðíî ïðîèñõîäÿùèõ ñþðïðèçîâ. ×òîáû ïðåäîõðàíèòü ñåáÿ îò ïîñëåäñòâèÿ ýòèõ ñþðïðèçîâ, åñòü ñìûñë âûáèðàòü êëþ÷è ñ çàïàñîì . Òàáë. 7-7. Äîëãîñðî÷íûé ïðîãíîç ðàçëîæåíèÿ íà ìíîæèòåëè Ãîä
Äëèíà êëþ÷à (â áèòàõ)
1995
1024
2005
2048
2015
4096
2025
8192
2035
16384
2045
32768
Ìèíèìàëüíûå îöåíêè ïðåäïîëàãàþò áþäæåò $25000, àëãîðèòì "êâàäðàòè÷íîå ðåøåòî " è ñêîðîñòü òåõíè÷ åñêîãî ïðîãðåññà 20 ïðîöåíòîâ â ãîä . Ñðåäíèå îöåíêè ïðåäïîëàãàþò áþäæåò 25 ìèëëèîíîâ äîëëàðîâ, àëãîðèòì "ðåøåòî îáùåãî ïîëÿ ÷èñåë" è ñêîðîñòü òåõíè÷åñêîãî ïðîãðåññà 33 ïðîöåíòà â ãîä . Ìàêñèìàëüíûå îöåíêè ïðåäïîëàãàþò áþäæåò 25 ìèëëèàðäîâ äîëëàðîâ, àëãîðèòì "ðåøåòî îáùåãî ïîëÿ ÷èñåë", ðàáîòàþùèé ñî ñêîðîñòüþ
ðåøåòà ñïåöèàëüíîãî ïîëÿ ÷èñåë è ñêîðîñòü òåõíè÷åñêîãî ïðîãðåññà 45 ïðîöåíòîâ â ãîä . Âñåãäà åñòü âåðîÿòíîñòü òîãî, ÷òî óñïåõè â ðàçëîæåíèè íà ìíîæèòåëè áóäóò ïîðàçèòåëüíû è äëÿ ìåíÿ, íî ÿ ïîïûòàëñÿ ó÷åñòü ýòîò ìíîæèòåëü â ñâîèõ ïðîãíîçàõ . Íî ïî÷åìó ìíå íóæíî âåðèòü? ß ëèøü ïðîäåìîíñòðèðîâàë ñîáñòâåííóþ ãëóïîñòü, çàíèìàÿñü ïðåäñêàçàíèÿìè . Òàáë. 7-8. Îïòèìèñòè÷íûå ðåêîìåíäàöèè Ðèâåñòà äëÿ äëèíû êëþ÷åé (â áèòàõ) Ãîä
Ìèíèìàëüíàÿ
Ñðåäíÿÿ
Ìàêñèìàëüíàÿ
1990
398
515
1289
1995
405
542
1399
2000
422
572
1512
2005
439
602
1628
2010
455
631
1754
2015
472
661
1884
2020
489
677
2017
Âû÷èñëåíèå ñ ïîìîùüþ ÄÍÊ Ýòî ïîõîæå íà âîëøåáñòâî.  1994 ãîäó Ëåîíàðä Ýäëìàí (Leonard M. Adleman) ïðîäåìîíñòðèðîâàë ìåòîä ðåøåíèÿ çàäà÷è NP-ïîëíîòû (ñì. ðàçäåë 11.2) â áèîõèìè÷åñêîé ëàáîðàòîðèè, èñïîëüçóÿ ìîëåêóëû ÄÍÊ äëÿ ïðåäñòàâëåíèÿ âîçìîæíûõ ðåøåíèé çàäà÷è [17]. Çàäà÷à, ðåøåííàÿ Ýäëìàíîì, áûëà ÷àñòíûì ñëó÷àåì çàäà÷è íàïðàâëåííîãî ãàìèëüòîíîâà ïóòè : äàíà êàðòà ãîðîäîâ, ñîåäèíåííûõ îäíîíàïðàâëåííûìè äîðîãàìè, íóæíî íà éòè ïóòü èç ãîðîäà A â ãîðîä Z, êîòîðûé ïðîõîäèò ÷åðåç êàæäûé ãîðîä íà êàðòå òîëüêî îäèí ðàç . Êàæäûé ãîðîä áûë ïðåäñòàâëåí ñâîåé ñëó÷àéíîé öåïî÷êîé ÄÍÊ ñ 20 îñíîâàíèÿìè. Ñ ïîìîùüþ îáû÷íûõ ìåòîäîâ ìîëåêóëÿðíîé áèîëîãèè Ýäëìàí ñèíòåçèðîâàë 50 ïèêîìîëåé (30 ìèëëèîíîâ ìèëëèîíîâ ìîëåêóë) öåïî÷êè ÄÍÊ, ïðåäñòàâëÿþùåé êàæäûé ãîðîä. Êàæäàÿ äîðîãà áûëà ïðåäñòàâëåíà öåïî÷êîé ÄÍÊ ñ 20 îñíîâàíèÿìè, íî ýòè öåïî÷êè âûáèðàëèñü íå ñëó÷àéíûì îáðàçîì : îíè óìåëî âûáèðàëèñü òàê, ÷òîáû "íà÷àëî" öåïî÷êè ÄÍÊ, ïðåäñòàâëÿþùåé äîðîãó îò ãîðîäà P ê ãîðîäó K ("Äîðîãà PK") ñòðåìèëàñü áû ñîåäèíèòüñÿ ñî öåïî÷êîé ÄÍÊ, ïðåäñòàâëÿþùåé ãîðîä P, à êîíåö Äîðîãè PK ñòðåìèëñÿ áû ñîåäèíèòüñÿ ñ ãîðîäîì K. Ýäëìàí ñèíòåçèðîâàë 50 ïèêîìîëåé ÄÍÊ, ïðåäñòàâëÿþùèõ êàæäóþ äîðîãó, ñìåøàë èõ âìåñòå ñ ÄÍÊ ãîð îäàìè, ïðåäñòàâëÿþùåé ãîðîäà, è äîáàâèë ôåðìåíò ëèãàçó, êîòîðàÿ ñâÿçûâàåò âìåñòå êîíöû ìîëåêóë ÄÍÊ. Ïðàâèëüíî ïîäîáðàííàÿ ñâÿçü ìåæäó öåïî÷êàìè ÄÍÊ äëÿ äîðîã è öåïî÷êàìè ÄÍÊ äëÿ ãîðîäîâ ïðèâîäèò ê òîìó, ÷òî ëèãàçà ñîåäèíÿåò öåïî÷êè ÄÍÊ äëÿ äîðîã âìåñòå ïðàâèëüíûì îáðàçîì . Òî åñòü, "Âûõîä" äîðîãè PK âñåãäà áóäåò ñîåäèíåí ñî "âõîäîì" êàêîé-ëèáî äîðîãè, íà÷èíàþùåéñÿ â ãîðîäå K, íî íèêîãäà ñ "âûõîäîì" ëþáîé äîðîãè èëè ñî "âõîäîì" äîðîãè, êîòîðàÿ íà÷èíàåòñÿ íå â ãîðîäå K. Ïîñëå òùàòåëüíî îãðàíè÷åííîãî âðåìåíè ðåà êöèè ëèãàçà ñîçäàëà áîëüøîå êîëè÷åñòâî öåïî÷åê ÄÍÊ, ïðåäñòàâëÿþùèõ âîçìîæíûå, íî âñå ðàâíî ñëó÷àéíûå îáúåäèíåíèÿ ïóòåé êàðòû.  ýòîì ñóïå èç ñëó÷àéíûõ ïóòåé Ýäëìàí ìîæåò íàéòè ìàëåéøèé ñëåä - ìîæåò áûòü åäèíñòâåííîé ìîëåêóëû - ÄÍÊ, êîòîðàÿ ÿâëÿåòñÿ îòâåòîì çàäà÷è . Èñïîëüçóÿ îáû÷íûå ìåòîäû ìîëåêóëÿðíîé áèîëîãèè, îí óäàëèë âñå öåïî÷êè ÄÍÊ, ïðåäñòàâëÿâøèå ñëèøêîì êîðîòêèå èëè ñëèøêîì äëèííûå ïóòè . (×èñëî äîðîã â íóæíîì ïóòè äîëæíî ðàâíÿòüñÿ ÷èñëó ãîðîäîâ ìèíóñ îäèí .) Çàòåì îí óäàëèë âñå öåïî÷êè ÄÍÊ, êîòîðûå íå ïðîõîäèëè ÷åðåç ãîðîä A, çàòåì òå, êîòîðûå øëè ìèìî ãîðîäà B, è òàê äàëåå. Ìîëåêóëà ÄÍÊ, ïðîøåäøàÿ ÷åðåç ýòî ñèòî, è ïðå äñòàâëÿåò ñîáîé íóæíóþ ïîñëåäîâàòåëüíîñòü äîðîã, ÿâëÿÿñü ðåøåíèåì çàäà÷è íàïðàâëåííîãî ãàìèëüòîíîâà ïóòè . Ïî îïðåäåëåíèþ ÷àñòíûé ñëó÷àé çàäà÷è NP-ïîëíîòû ìîæåò áûòü ïðåîáðàçîâàí çà ïîëèíîìèàëüíîå âðåìÿ ê ÷àñòíîìó ñëó÷àþ ëþáîé äðóãîé çàäà÷è NP-ïîëíîòû, è, ñëåäîâàòåëüíî, ê çàäà÷å î íàïðàâëåííîì ãàìèëüòîíîâîì ïóòè. Ñ ñåìèäåñÿòûõ ãîäîâ êðèïòîëîãè ïûòàëèñü èñïîëüçîâàòü çàäà÷è NP-ïîëíîòû äëÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè. Õîòÿ ÷àñòíûé ñëó÷àé, ðåøåííûé Ýäëìàíîì, âåñüìà ïðîñò (ñåìü ãîðîäîâ íà êàðòå, ïðîñòûì íàáëþäåíèåì ç àäà÷à ìîåæò áûòü ðåøåíà çà íåñêîëüêî ìèíóò), ýòî íàïðàâëåíèå òîëüêî íà÷àëî ðàçâèâàòüñÿ, è íå ñóùåñòâóåò í èêàêèõ ïðåïÿòñòâèé äëÿ ðàñøèðåíèÿ äàííîé ìåòîäèêè íà áîëåå ñëîæíûå çàäà÷è . Òàêèì îáðàçîì, ðàññóæäåíèÿ î áåçîïàñíîñòè êðèïòîãðàôè÷åñêèõ ïðîòîêîëîâ, îñíîâàííûõ íà çàäà÷àõ NP-ïîëíîòû, ðàññóæäåíèÿ, êîòîðûå äî ñèõ ïîð íà÷èíàëèñü ñëîâàìè, "Ïðåäïîëîæèì, ÷òî ó âðàãà åñòü ìèëëèîí ïðîöåññîðîâ, êàæäûé èç êîòîðûõ â ûïîëíÿåò ìèëëèîí ïðîâåðîê êàæäóþ ñåêóíäó ", ñêîðî, ìîæåò áûòü, áóäóò íà÷èíàòüñÿ ñëîâàìè , "Ïðåäïîëîæèì, ó âðàãà åñòü òûñÿ÷à ôåðìåíòíûõ âàíí, åìêîñòüþ ïî 20000 ëèòðîâ êàæäàÿ ".
Êâàíòîâûå âû÷èñëåíèÿ À òåïåðü åùå áîëüøàÿ ôàíòàñòèêà.  îñíîâå êâàíòîâûõ âû÷èñëåíèé èñïîëüçóåòñÿ äâîéñòâåííàÿ ïðèðîäà ì àòåðèè (è âîëíà, è ÷àñòèöà). Ôîòîí ìîæåò îäíîâðåìåííî íàõîäèòüñÿ â áîëüøîì êîëè÷åñòâå ñîñòîÿíèé. Êëàññè÷ åñêèì ïðèìåðîì ÿâëÿåòñÿ òî, ÷òî ôîòîí âåäåò ñåáÿ êàê âîëíà, âñòðå÷àÿ ÷àñòè÷íî ïðîçðà÷íîå çåðêàëî. Îí îäí îâðåìåííî è îòðàæàåòñÿ è ïðîõîäèò ÷åðåç çåðêàëî ïîäîáíî òîìó, êàê ìîðñêàÿ âîëíà, óäàðÿÿñü î âîëíîëîì ñ í åáîëüøèì îòâåðñòèåì â íåì, îäíîâðåìåííî îòðàçèòñÿ îò ñòåíû è ïðîéäåò ñêâîçü íåå . Îäíàêî, ïðè èçìåðåíèè ôîòîí âåäåò ñåáÿ ïîäîáíî ÷àñòèöå, è òîëüêî îäíî ñîñòîÿíèå ìîæåò áûòü îáíàðóæåíî .  [1443] Ïèòåð Øîð (Peter Shor) î÷åðòèë ïðèíöèïû ïîñòðîåíèÿ ìàøèíû äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè, î ñíîâàííîé íà çàêîíàõ êâàíòîâîé ìåõàíèêè .  îòëè÷èå îò îáû÷íîãî êîìïüþòåðà, êîòîðûé ìîæíî ïðåäñòàâèòü êàê ìàøèíó, èìåþùåå â êàæäûé ìîìåíò âðåìåíè åäèíñòâåííîå ôèêñèðîâàííîå ñîñòîÿíèå, êâàíòîâûé êîìïüþòåð îáëàäàåò âíóòðåííåé âîëíîâîé ôóíêöèåé, ÿâëÿþùåéñÿ ñóïåðïîçèöèåé êîìáèíàöèé âîçìîæíûõ îñíîâíûõ ñ îñòîÿíèé. Âû÷èñëåíèÿ ïðåîáðàçóþò âîëíîâóþ ôóíêöèþ, ìåíÿÿ âåñü íàáîð ñîñòîÿíèé åäèíûì äåéñòâèåì . Òàêèì îáðàçîì, êâàíòîâûé êîìïüþòåð èìååò ïðåèìóùåñòâî íàä êëàññè÷åñêèì êîíå÷íûì àâòîìàòîì : îí èñïîëüçóåò êâàíòîâûå ñâîéñòâà äëÿ ÷èñëà ðàçëîæåíèÿ íà ìíîæèòåëè çà ïîëèíîìèàëüíîå âðåìÿ, òåîðåòè÷åñêè ïîçâîëÿÿ âçëîìàòü êðèïòîñèñòåìû, îñíîâàííûå íà ðàçëîæåíèè íà ìíîæèòåëè èëè çàäà÷å äèñêðåòíîãî ëîãàðèôìà . Îáùåïðèçíàííî, ÷òî êâàíòîâûé êîìïüþòåð íå ïðîòèâîðå÷èò ôóíäàìåíòàëüíûì çàêîíàì êâàíòîâîé ìåõàí èêè. Îäíàêî, íåïîõîæå, ÷òî êâàíòîâàÿ ìàøèíà äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè áóäåò ïîñòðîåíà â îáîçðèìîì á óäóùåì ... åñëè âîîáùå áóäåò ïîñòðîåíà . Îäíèì èç ãëàâíûõ ïðåïÿòñòâèé ÿâëÿåòñÿ ïðîáëåìà íåêîãåðåíòíîñòè , êîòîðàÿ ÿâëÿåòñÿ ïðè÷èíîé ïîòåðè îò÷åòëèâîñòè âîëíîâûìè îãèáàþùèìè è ïðèâîäèò ê ñáîþ êîìïüþòåðà . Èç-çà íåêîãåðåíòíîñòè êâàíòîâûé êîìïüþòåð, ðàáîòàþùèé ïðè 1Ê, áóäåò ñáèâàòüñÿ êàæäóþ íàíîñåêóíäó . Êðîìå òîãî, äëÿ ïîñòðîåíèÿ êâàíòîâîãî óñòðîéñòâà äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè ïîòðåáóåòñÿ îãðîìíîå êîëè÷åñòâî âåíò èëåé, à ýòî ìîæåò íå äàòü ïîñòðîèòü ìàøèíó . Äëÿ ïðîåêòà Øîðà íóæíî ñîâåðøåííîå óñòðîéñòâî äëÿ âîçâåäåíèÿ â ñòåïåíü. Âíóòðåííèå ÷àñû íå èñïîëüçóþòñÿ, ïîýòîìó äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè êðèïòîãðàôè÷åñêè çíà÷ èìûõ ÷èñåë ìîãóò ïîòðåáîâàòüñÿ ìèëëèîíû èëè, âîçìîæíî, ìèëëèàðäû èíäèâèäóàëüíûõ âåíòèëåé . Åñëè ìèíèìàëüíàÿ âåðîÿòíîñòü îòêàçà êàæäîãî èç n êâàíòîâûõ âåíòèëåé ðàâíà p, òî ñðåäíåå êîëè÷åñòâî èñïûòàíèé, íåî áõîäèìîå äëÿ äîñòèæåíèÿ óñïåõà, ñîñòàâèò (1/(1- p))n. ×èñëî íóæíûõ âåíòèëåé, ïî âèäèìîìó, ðàñòåò ïîëèíîì èàëüíî ñ ðîñòîì äëèíû ÷èñëà (â áèòàõ), ïîýòîìó ÷èñëî òðåáóåìûõ ïîïûòîê áóäåò ðàñòè ñ óâåëè÷åíèåì äëèíû èñïîëüçóåìûõ ÷èñåë ñâåðõýêñïîíåíöèàëüíî - õóæå ÷åì ïðè ðàçëîæåíèè äåëåíèåì ! Ïîýòîìó, õîòÿ êâàíòîâîå ðàçëîæåíèå íà ìíîæèòåëè âûçûâàåò âîñõèùåíèå â àêàäåìè÷åñêèõ êðóãàõ, ìàëîâ åðîÿòíî, ÷òî îíî áóäåò èìåòü ïðàêòè÷åñêîå çíà÷åíèå â îáîçðèìîì áóäóùåì . Íî íå ãîâîðèòå ïîòîì, ÷òî ÿ âàñ íå ïðåäóïðåæäàë.
7.3 Ñðàâíåíèå äëèí ñèììåòðè÷íûõ è îòêðûòûõ êëþ÷åé Ñèñòåìà âçëàìûâàåòñÿ îáû÷íî â åå ñëàáåéøåì ìåñòå . Åñëè âû ïðîåêòèðóåòå ñèñòåìó, êîòîðàÿ èñïîëüçóåò è ñèììåòðè÷íóþ êðèïòîãðàôèþ, è êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè, òî äëèíû êëþ÷åé äëÿ êðèïòîãðàôèè êàæäîãî òèïà äîëæíû âûáèðàòüñÿ òàê, ÷òîáû âñêðûòü ëþáîé èç êîìïîíåíòîâ ñèñòåìû áûëî îäèíàêîâî òðóäíî . Áåññìûñëåííî èñïîëüçîâàòü ñèììåòðè÷íûé àëãîðèòì ñî 128-áèòîâûì êëþ÷îì âìåñòå ñ àëãîðèòìîì ñ îòêðûò ûìè êëþ÷àìè, èñïîëüçóþùèì 386-áèòîâûé êëþ÷. Òî÷íî òàê æå áåññìûñëåííî èñïîëüçîâàòü â îäíîé ñèñòåìå ñèììåòðè÷íûé àëãîðèòì ñ 56-áèòîâûì êëþ÷îì è àëãîðèòì ñ îòêðûòûìè êëþ÷àìè, ïðèìåíÿþùèé 1024-áèòîâûé êëþ÷.  -2-é ïåðå÷èñëåíû äëèíû ìîäóëåé îòêðûòûõ êëþ÷åé, òðóäíîñòü ðàçëîæåíèÿ êîòîðûõ íà ìíîæèòåëè ñðà âíèìà ñî ñëîæíîñòüþ âñêðûòèåì ãðóáîé ñèëîé ñîïîñòàâëåííûõ äëèí ïîïóëÿðíûõ ñèììåòðè÷íûõ êëþ÷åé . Òàáë. 7-9. Äëèíû ñèììåòðè÷íûõ è îòêðûòûõ êëþ÷åé ñ àíàëîãè÷íîé óñòîé÷èâîñòüþ ê âñêðûòèþ ãðóáîé ñèëîé Äëèíà ñèììåòðè÷íîãî êëþ÷à (â áèòàõ)
Äëèíà îòêðûòîãî êëþ÷à (â áèòàõ)
56
384
64
512
80
768
112
1792
128
2304
Èç ýòîé òàáëèöà ìîæíî ñäåëàòü âûâîä, ÷òî åñëè âû äîñòàòî÷íî áåñïîêîèòåñü î ñâîåé áåçîïàñíîñòè, ÷òîáû âûáðàòü ñèììåòðè÷íûé àëãîðèòì ñî 112-áèòîâûì êëþ÷îì, âàì ñëåäóåò âûáðàòü äëèíó ìîäóëÿ â âàøåì àëã îðèòìå ñ îòêðûòûìè êëþ÷àìè ïîðÿäêà 1792 áèò. Îäíàêî, â îáùåì ñëó÷àå ñëåäóåò âûáèðàòü äëèíó îòêðûòîãî êëþ÷à áîëåå áåçîïàñíóþ, ÷åì äëèíà âàøåãî ñèììåòðè÷íîãî êëþ÷à . Îòêðûòûå êëþ÷è îáû÷íî èñïîëüçóþòñÿ äîëüøå è ïðèìåíÿþòñÿ äëÿ çàùèòû áîëüøåãî êîëè÷åñòâà èíôîðìàöèè .
7.4 Âñêðûòèå â äåíü ðîæäåíèÿ ïðîòèâ îäíîíàïðàâëåííûõ õýø-ôóíêöèé Ñóùåñòâóåò äâà ñïîñîáà âñêðûòèÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé ãðóáîé ñèëîé . Ïåðâûé íàèáîëåå î÷åâèäåí: äàíî çíà÷åíèå õýø-ôóíêöèè ñîîáùåíèÿ , Í(M), âðàãó õîòåëîñü áû ñóìåòü ñîçäàòü äðóãîé äîêóìåíò, Ì', òàêîé, ÷òî Í(M')=Í(M). Âòîðîé ñïîñîá áîëåå òîíîê: âðàãó õîòåëîñü áû íàéòè äâà ñëó÷àéíûõ ñîîáùåíèÿ , M è Ì', òàêèõ, ÷òî Í(M')=Í(M). Òàêîé ñïîñîá íàçûâàåòñÿ ñòîëêíîâåíèåì è ÿâëÿåòñÿ áîëåå ïðîñòûì, ÷åì ïåðâûé, ñï îñîáîì âñêðûòèÿ. Ïàðàäîêñ äíÿ ðîæäåíèÿ ÿâëÿåòñÿ ñòàíäàðòíîé ñòàòèñòè÷åñêîé ïðîáëåìîé. Ñêîëüêî ÷åëîâåê äîëæíî ñîáðàò üñÿ â îäíîé êîìíàòå, ÷òîáû ñ âåðîÿòíîñòüþ 1/2 õîòÿ áû ó êîãî-íèáóäü èç íèõ áûë áû îáùèé ñ âàìè äåíü ðîæä åíèÿ? Îòâåò - 183. Õîðîøî, à ñêîëüêî ëþäåé äîëæíî ñîáðàòüñÿ, ÷òîáû ñ âåðîÿòíîñòüþ 1/2 õîòÿ áû ó äâîèõ èç íèõ áûë áû îáùèé äåíü ðîæäåíèÿ? Îòâåò óäèâèòåëåí - 23. 23 ÷åëîâåêà, íàõîäÿùèõñÿ â êîìíàòå, îáðàçóþò 253 ðà çëè÷íûõ ïàðû. Íàéòè êîãî-íèáóäü ñ òåì æå äíåì ðîæäåíèÿ - àíàëîãèÿ ñ ïåðâûì ñïîñîáîì âñêðûòèÿ, íàéòè äâóõ ÷åëîâåê ñ ïðîèçâîëüíûì îäèíàêîâûì äíåì ðîæäåíèÿ - àíàëîãèÿ ñî âòîðûì ñïîñîáîì . Âòîðîé ñïîñîá øèðîêî èçâåñòåí êàê âñêðûòèå â äåíü ðîæäåíèÿ. Ïðåäïîëîæèì, ÷òî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ áåçîïàñíà, è ëó÷øèì ñïîñîáîì åå âñêðûòèÿ ÿâëÿåòñÿ âñêðûòèå ãðóáîé ñèëîé. Ðåçóëüòàòîì ôóíêöèè ÿâëÿåòñÿ m-áèòîâîå ÷èñëî. Ïîèñê ñîîáùåíèÿ, õýø-çíà÷åíèå êîò îðîãî ñîâïàäàåò ñ çàäàííûì, â ñðåäíåì ïîòðåáîâàë áû õýøèðîâàíèÿ 2 m ñëó÷àéíûõ ñîîáùåíèé. À äëÿ îáíàðóæåíèÿ äâóõ ñîîáùåíèé ñ îäèíàêîâûì õýø-çíà÷åíèåì ïîòðåáóåòñÿ òîëüêî 2 m/2 ñëó÷àéíûõ ñîîáùåíèé. Êîìïüþòåðó, êîòîðûé õýøèðóåò ìèëëèîí ñîîáùåíèé â ñåêóíäó, ïîòðåáîâàëîñü áû 600000 ëåò, ÷òîáû íàéòè âòîðîå ñîîáùåíèå ñ òåì æå 64-áèòîâûì õýø-çíà÷åíèåì . Òîò æå êîìïüþòåð ñìîæåò íàéòè ïàðó ñîîáùåíèé ñ îáùèì õýø-çíà÷åíèåì ïðèìåðíî çà ÷àñ Ýòî çíà÷èò, ÷òî, åñëè âû îïàñàåòåñü âñêðûòèÿ â äåíü ðîæäåíèÿ, âû äîëæíû âûáèðàòü äëèíó õýø-çíà÷åíèÿ â äâà ðàçà äëèííåå, ÷åì âàì ïîòðåáîâàëîñü áû â ïðîòèâíîì ñëó÷àå . Íàïðèìåð, åñëè âû õîòèòå óìåíüøèòü âåðîÿ òíîñòü âçëîìà âàøåé ñèñòåìû äî 1 øàíñà èç 2 80, èñïîëüçóéòå 160-áèòîâóþ îäíîíàïðàâëåííóþ õýø-ôóíêöèþ .
7.5 Êàêîâ äîëæíû áûòü äëèíà êëþ÷à? Íà ýòîò âîïðîñ íåò åäèíîãî îòâåòà, îòâåò ýòîò çàâèñèò îò ñèòóàöèè . ×òîáû ïîíÿòü, êàêàÿ ñòåïåíü áåçîïàñí îñòè âàì íóæíà, âû äîëæíû çàäàòü ñåáå íåñêîëüêî âîïðîñîâ . Ñêîëüêî ñòîèò âàøà èíôîðìàöèÿ ? Êàê äîëãî îíà äîëæíà áåçîïàñíî õðàíèòüñÿ? Êàêîâû ðåñóðñû âàøèõ âðàãîâ? Ñïèñîê êëèåíòîâ ìîæåò ñòîèòü $1000. Ôèíàíñîâàÿ èíôîðìàöèÿ ïðè íåîæèäàííîì ðàçâîäå ìîãëà áû ñòîèòü $10000. Ðåêëàìà è äàííûå ìàðêåòèíãà äëÿ áîëüøîé êîðïîðàöèè ìîãëè áû ñòîèòü 1 ìèëëèîí äîëëàðîâ . Ãëàâíûé êëþ÷ äëÿ ñèñòåìû ýëåêòðîííûõ íàëè÷íûõ ìîæåò ñòîèòü ìèëëèàðäû .  ìèðå òîðãîâëè ïðåäìåòàìè ïîòðåáëåíèÿ ñåêðåòû äîëæíû òîëüêî ñîõðàíÿòüñÿ â òå÷åíèå íåñêîëüêèõ ìèíóò.  ãàçåòíîì áèçíåñå ñåãîäíÿøíèå ñåêðåòû - ýòî çàâòðàøíèå çàãîëîâêè. Èíôîðìàöèÿ î ðàçðàáîòêå êàêîãî-òî ïð îäóêòà, âîçìîæíî, äîëæíà áóäåò õðàíèòüñÿ â ñåêðåòå â òå÷åíèå ãîäà èëè äâóõ Èçäåëèÿ(ïðîãðàììû) ìîãëà áû áûëà áû äîëæíà îñòàòüñÿ ñåêðåòîì â òå÷åíèå ãîäà èëè äâà. Äàííûå ïåðåïèñè ÑØÀ â ñîîòâåòñòâèè ñ çàêîíîì äîëæíû õðàíèòüñÿ â ñåêðåòå â òå÷åíèå 100 ëåò. Ñïèñîê ãîñòåé, ïðèãëàøåííûõ íà âå÷åð-ñþðïðèç â ÷åñòü äíÿ ðîæäåíèÿ âàøåé ñåñòðû, èíòåðåñåí òîëüêî â àøèì ëþáîïûòíûì ðîäñòâåííèêàì. Òîðãîâûå ñåêðåòû êîðïîðàöèè ïðåäñòàâëÿþò èíòåðåñ äëÿ êîíêóðèðóþùèõ êîìïàíèé. Âîåííûå ñåêðåòû èíòåðåñíû âðàæåñêèì âîåííûì.  ýòèõ òåðìèíàõ äàæå ìîæíî îïðåäåëèòü òðåáîâàíèÿ ê áåçîïàñíîñòè Ìîæíî . Íàïðèìåð: Äëèíà êëþ÷à äîëæíà áûòü òàêîé, ÷òîáû âçëîìùèê, ãîòîâûé ïîòðàòèòü 100 ìèëëèîíîâ äîëëàðîâ, ìîã âçëîìàòü ñèñòåìó â òå÷åíèå ãîäà ñ âåðîÿòíîñòüþ íå áîëåå, ÷åì 1/2 32, äàæå ñ ó÷åòîì ñêîðîñòè òåõíè÷åñêîãî ïðîãðåññà 30 ïðîöåíòîâ â ãîä.
 -3-é, ÷àñòè÷íî âçÿòîé èç [150], ïðèâåäåíû îöåíêè òðåáîâàíèé ê áåçîïàñíîñòè äëÿ ðàçëè÷íîé èíôîðì àöèè: Áóäóùóþ âû÷èñëèòåëüíóþ ìîùü îöåíèòü íåëåãêî, íî âîò ðàçóìíîå ýìïèðè÷åñêîå ïðàâèëî : ýôôåêòèâíîñòü âû÷èñëèòåëüíûõ ñðåäñòâ óäâàèâàåòñÿ êàæäûå 18 ìåñÿöåâ è âîçðàñòàåò íà ïîðÿäîê êàæäûå 5 ëåò . Ñëåäîâàòåëüíî, ÷åðåç 50 ëåò ñàìûå áûñòðûå êîìïüþòåðû áóäóò â 10 ìèëëèàðäîâ áûñòðåå, ÷åì ñåãîäíÿ ! Êðîìå òîãî, íå çàáûâàéòå, ÷òî ýòè ÷èñëà îòíîñÿòñÿ òîëüêî ê óíèâåðñàëüíûì êîìïüþòåðàì, êòî çíàåò, êàêèå ñïåöèàëèçèðîâàííûå óñ òðîéñòâà äëÿ âñêðûòèÿ êðèïòîñèñòåì áóäóò ðàçðàáîòàíû â ñëåäóþùèå 50 ëåò ?
Ïðåäïîëàãàÿ, ÷òî êðèïòîãðàôè÷åñêèé àëãîðèòì áóäåò èñïîëüçîâàòüñÿ â áëèæàéøèå 30 ëåò, âû ìîæåòå ïðå äñòàâèòü ñåáå, íàñêîëüêî îí äîëæåí áûòü áåçîïàñåí . Àëãîðèòì, ñîçäàííûé ñåãîäíÿ, âîçìîæíî íå ñòàíåò øèðîêî èñïîëüçîâàòüñÿ äî 2000 ãîäà, è âñå åùå áóäåò èñïîëüçîâàòüñÿ â 2025 äëÿ øèôðîâàíèÿ ñîîáùåíèé, êîòîðûå äîëæíû îñòàâàòüñÿ â ñåêðåòå äî 2075 ãîäà è ïîçæå. Òàáë. 7-10. Òðåáîâàíèÿ ê áåçîïàñíîñòè ðàçëè÷íîé èíôîðìàöèè Âðåìÿ æèçíè
Ìèíèìàëüíàÿ äëèíà êëþ÷à (â áèòàõ)
ìèíóòû/÷àñû
56-64
äíè/íåäåëè
64
ãîäû
64
äåñÿòèëåòèÿ
112
Ñåêðåòû âîäîðîäíîé áîìáû
>40 ëåò
128
Ëè÷íîñòè øïèîíîâ
>50 ëåò
128
Ëè÷íûå äåëà
>50 ëåò
128
Äèïëîìàòè÷åñêèå êîíôëèêòû
>65 ëåò
128
Äàííûå ïåðåïèñè ÑØÀ
100 ëåò
ïî ìåíüøåé ìåðå 128
Òèïû òðàôèêà Òàêòè÷åñêàÿ âîåííàÿ èíôîðìàöèÿ Îáúÿâëåíèÿ î ïðîäóêòàõ, ñëèÿíèè êîìïàíèé, ïðîöåí òíûõ ñòàâêàõ Äîëãîâðåìåííû áèçíåñ-ïëàíû Òîðãîâûå ñåêðåòû (íàïðèìåð, ðåöåïò êîêà-êîëû)
7.6 Caveat emptor 1 Âñÿ ýòà ãëàâà - ïðîñòî ìíîãî ÷åïóõè. This entire chapter is a whole lot of nonsense. Ñìåøíî ãîâîðèòü äàæå î ñàìîì ïîíÿòèè ïðåäñêàçàíèÿ âû÷èñëèòåëüíîé ìîùè íà 10, à òåì áîëåå íà 50 ëåò âïåðåä . Ýòè ðàñ÷åòû ïðèâåäåíû òîëüêî äëÿ îðèåíòèðîâêè, íè äëÿ ÷åãî áîëüøå . Ýêñòðàïîëèðóÿ ïðîøëîå, ìû ïîëó÷àåì áóäóùåå, êîòîðîå, âîçìîæíî, áóäåò èìåòü ìàëî îáùåãî ñ ãðÿäóùåé ðåàëüíîñòüþ . Áóäüòå êîíñåðâàòîðàìè. Åñëè âàøè êëþ÷è äëèííåå, ÷åì âàì êàæåòñÿ íåîáõîäèìûì, òî ìåíüøåå êîëè÷åñòâî òåõíîëîãè÷åñêèõ ñþðïðèçîâ ñìîæåò ïîâðåäèòü âàì.
1
Äà áóäåò îñìîòðèòåëåí ïîêóïàòåëü (ëàòèí.)
Ãëàâà 8 Óïðàâëåíèå êëþ÷àìè Ó Àëèñû è Áîáà åñòü áåçîïàñíàÿ ñèñòåìà ñâÿçè. Îíè èãðàþò â ìûñëåííûé ïîêåð, îäíîâðåìåííî ïîäïèñûâ àþò êîíòðàêòû è äàæå ìåíÿþò öèôðîâûå íàëè÷íûå. Èõ ïðîòîêîëû áåçîïàñíû. Èõ àëãîðèòìû -ñàìûå ëó÷øèå. Ê íåñ÷àñòüþ, îíè ïîêóïàþò ñâîè êëþ÷è îò "Keys-R-Us" Åâû, ÷åé ëîçóíã - "Âû ìîæåòå äîâåðÿòü íàì: Áåçîïàñíîñòü - ñðåäíåå èìÿ ÷åëîâåêà, êîòîðîãî òóðèñòè÷åñêèé àãåíò íàøåé áûâøåé òåùè âñòðåòèë â "Kwik-E-Mart". Åâà íå íóæíî âñêðûâàòü àëãîðèòìû. Åé íå íóæíî ïîëàãàòüñÿ íà òîíêèå äåôåêòû ïðîòîêîëîâ. Îíà ìîæåò è ñïîëüçîâàòü èõ êëþ÷è äëÿ ÷òåíèÿ âñåõ ñîîáùåíèé Àëèñû è Áîáà, íå ïðèêëàäûâàÿ íèêàêèõ êðèïòîàíàëèòè÷åñêèõ óñèëèé.  ðåàëüíîì ìèðå óïðàâëåíèå êëþ÷àìè ïðåäñòàâëÿåò ñîáîé ñàìóþ òðóäíóþ ÷àñòü êðèïòîãðàôèè. Ïðîåêòèð îâàòü áåçîïàñíûå êðèïòîãðàôè÷åñêèå àëãîðèòìû è ïðîòîêîëû íå ïðîñòî, íî Âû ìîæåòå ïîëîæèòüñÿ íà áîëüøîé îáúåì àêàäåìè÷åñêèõ èññëåäîâàíèé. Ñîõðàíèòü ñåêðåò êëþ÷åé íàìíîãî òðóäíåå. Êðèïòîàíàëèòèêè ÷àñòî âñêðûâàþò è ñèììåòðè÷íûå êðèïòîñèñòåìû, è êðèïòîñèñòåìû ñ îòêðûòûìè êëþ÷ àìè ÷åðåç ðàñïðåäåëåíèå êëþ÷åé. Çà÷åì Åâå áåñïîêîèòüñÿ îá ïðîáëåìå âñêðûòèÿ êðèïòîãðàôè÷åñêîãî àëãîðèòìà öåëèêîì, åñëè îíà ìîæåò âîññòàíîâèòü êëþ÷ èç-çà íåàêêóðàòíîãî õðàíåíèÿ êëþ÷à? Çà÷åì åé òðàòèòü 10 ìè ëëèîíîâ äîëëàðîâ íà ñîçäàíèå ìàøèíà äëÿ êðèïòîàíàëèçà, åñëè îíà ìîæåò ïîäêóïèòü êëåðêà çà 1000 äîëëàðîâ? Ìèëëèîí äîëëàðîâ çà êëåðêà ñâÿçè íà õîðîøåì ìåñòå â äèïëîìàòè÷åñêîì ïîñîëüñòâå ìîæåò áûòü âûãîäíîé ñäåëêîé. Óîëêåðû ãîäàìè ïðîäàâàëè Ñîâåòàì êëþ÷è øèôðîâàíèÿ ÂÌÑ ÑØÀ. Ðóêîâîäèòåëü êîíòððàçâåäêè ÖÐÓ ñòîèë ìåíüøå 2 ìèëëèîíîâ äîëëàðîâ, âêëþ÷àÿ æåíó. Ýòî íàìíîãî äåøåâëå, ÷åì ñòðîèòü îãðîìíûå ìàø èíû âñêðûòèÿ è íàíèìàòü áëåñòÿùèõ êðèïòîàíàëèòèêîâ. Åâà ìîæåò âûêðàñòü êëþ÷è. Îíà ìîæåò àðåñòîâàòü èëè ïîõèùàòü êîãî-òî, êòî çíàåò êëþ÷è. Îíà ìîæåò ñîâðàùàòü êîãî-òî è ïîëó÷àòü êëþ÷è òàêèì îáðàçîì. (Ìîðñêèå ïåõîòèíöû, îõðàíÿâøèå ïîñîëüñòâî ÑØÀ â Ìîñêâå íå óñòîÿëè ïåðåä ïîäîáíîé àòàêîé.) Íàìíîãî ïðîùå íàõ îäèòü äåôåêòû â ëþäÿõ, ÷åì â êðèïòîñèñò åìàõ. Àëèñà è Áîá äîëæíû çàùèùàòü è ñâîé êëþ÷, è â òîé ñòåïåíè øèôðóåìûå èì äàííûå. Åñëè êëþ÷ íå èçìåíÿòü ðåãóëÿðíî, òî êîëè÷åñòâî äàííûõ ìîæåò áûòü îãðîìíî. Ê ñîæàëåíèþ, ìíîãèå êîììåð÷åñêèå ïðîäóêòû ïðîñòî îáúÿâëÿþò "Ìû èñïîëüçóåì DES" è çàáûâàþò îáî âñåì îñòàëüíîì. Ðåçóëüòàòû íå ñëèøêîì âïå÷àòëÿþò. Íàïðèìåð, ïðîãðàììà DiskLock äëÿ Macintosh (âåðñèÿ 2.l), ïðîäàâàâøàÿñÿ â áîëüøèíñòâå ìàãàçèíîâ ïð îãðàììíîãî îáåñïå÷åíèÿ, ïðåòåíäóåò íà áåçîïàñíîå øèôðîâàíèå DES. Îíà øèôðóåò ôàéëû, èñïîëüçóÿ DES. Ðå àëèçàöèÿ DES àëãîðèòìà ïðàâèëüíà. Îäíàêî, DiskLock ñîõðàíÿåò êëþ÷ DES âìåñòå ñ çàøèôðîâàííûì ôàéëîì. Åñëè âû çíàåòå, ãäå èñêàòü êëþ÷, è õîòåòü ïðî÷èòàòü ôàéë, øèôðîâàííûé DiskLock ñ ïîìîùüþ DES, âîññòàí îâèòå êëþ÷ èç øèôðîâàííîãî ôàéëà è çàòåì ðàñøèôðîâûâàòü ôàéë. Íå èìååò çíà÷åíèå, ÷òî ïðîãðàììà èñïîëüç óåò øèôðîâàíèå DES - ðåàëèçàöèÿ àáñîëþòíî íåáåçîïàñíà. Äàëüíåéøóþ èíôîðìàöèþ îòíîñèòåëüíî óïðàâëåíèÿ êëþ÷àìè ìîæíî íàéòè â [457, 98, 1273, 1225, 775, 357].  ñëåäóþùèõ ðàçäåëàõ îáñóæäàþòñÿ íåêîòîðûå èç âîïðîñîâ è ðåøåíèé.
8.1 Ãåíåðàöèÿ êëþ÷åé The security of an algorithm rests in the key. If you're using a cryptographically weak process to generate keys, then your whole system is weak. Eve need not cryptanalyze your encryption algorithm; she can cryptanalyze your key generation algorithm. Áåçîïàñíîñòü àëãîðèòìà ñîñðåäîòî÷åíà â êëþ÷å. Åñëè âû èñïîëüçóåòå êðèïòîãðàôè÷åñêè ñëàáûé ïðîöåññ äëÿ ãåíåðàöèè êëþ÷åé, òî âàøà ñèñòåìà â öåëîì ñëàáà. Åâå íå íóæíî êðèïòîàíàëèçèðîâàòü âàø àëãîðèòì øèôðîâ àíèÿ, îíà ìîæåò êðèïòîàíàëèçèðîâàòü âàø àëãîðèòì ãåíåðàöèè êëþ÷åé. Óìåíüøåííûå ïðîñòðàíñòâà êëþ÷åé DES èñïîëüçóåò 56-áèòîâûé êëþ÷ ñ áèòàìè. Ëþáàÿ ïðàâèëüíî çàäàííàÿ 56-áèòîâàÿ ñòðîêà ìîæåò áûòü êë þ÷îì, ñóùåñòâóåò 2 56 (1016) âîçìîæíûõ êëþ÷åé. Norton Discreet for MS-DOS (âåðñèè 8.0 è áîëåå ðàííèå) ðàçð åøàåò ïîëüçîâàòüñÿ òîëüêî êëþ÷àì ASCII, äåëàÿ ñòàðøèé áèò êàæäîãî áàéòà íîëåì. Ïðîãðàììà òàêæå ïðåîáð àçóåò ñèìâîëû íèæíåãî ðåãèñòðà â âåðõíèé ðåãèñòð (òàê ÷òî ïÿòûé áèò êàæäîãî áàéòà âñåãäà ïðîòèâîïîëîæåí øåñòîìó áèòà) è èãíîðèðóåò áèò ìëàäøåãî ðàçðÿäà êàæäîãî áàéòà, ÷òî ïðèâîäèò ê ïðîñòðàíñòâó â 2 40 âîçìîæíûõ êëþ÷åé. Ýòè óùåðáíûå ïðîöåäóðû ãåíåðàöèè êëþ÷åé ñäåëàëè ñâîþ ðåàëèçàöèþ DES â äåñÿòü òûñÿ÷ ðàç ïðîùå äëÿ âñêðûòèÿ. 7-é ñîäåðæèò ÷èñëî âîçìîæíûõ êëþ÷åé äëÿ ðàçëè÷íûõ îãðàíè÷åíèé íà âõîäíûå ñòðîêè.  6-é ïðèâåäåíî âðåìÿ, òðåáóåìîå äëÿ èñ÷åðïûâàþùåãî ïåðåáîðà âñåõ âîçìîæíûõ êëþ÷åé ïðè ìèëëèîíå ïîïûòîê â ñåêó íäó. Ìîãóò áûòü èñïîëüçîâàíû äëÿ âñêðûòèÿ ãðóáîé ñèëîé ëþáûå ñïåöèàëèçèðîâàííûå àïïàðàòíûå è ïàðàëëåë ü-
íûå ðåàëèçàöèè. Ïðè ïðîâåðêå ìèëëèîíà êëþ÷åé â ñåêóíäó (îäíîé ìàøèíîé èëè íåñêîëüêèìè ïàðàëëåëüíî) ôèçè÷åñêè âîçìîæíî ðàñêîëîòü êëþ÷è èç ñèìâîëîâ íèæíåãî ðåãèñòðà è êëþ÷è èç öèôð è ñèìâîëîâ íèæíåãî ðåãèñòðà äëèíîé äî 8 áàéòîâ, àëôàâèòíî-öèôðîâûå êëþ÷è - äëèíîé äî 7 áàéòîâ, êëþ÷è èç ïå÷àòàåìûõ ñèìâîëîâ è ASCII-ñèìâîëîâ - äëèíîé äî 6 áàéòîâ, â êëþ÷è èç 8-áèòîâûõ ASCII-ñèìâîëîâ - äëèíîé äî 5 áàéòîâ. Òàáë. 8-1. Êîëè÷åñòâî âîçìîæíûõ êëþ÷åé â ðàçëè÷íûõ ïðîñòðàíñòâàõ êëþ÷åé 4 áàéòà
5 áàéòîâ
6 áàéòîâ
7 áàéòîâ
8 áàéòîâ
Ñòðî÷íûå áóêâû (26)
460000
1.2*107
3.1*108
8.0*109
2.1*1011
Ñòðî÷íûå áóêâû è öèôðû (36)
1700000
6.0*107
2.2*109
7.8*1010
2.8*1012
Àëôàâèòíûå è öèôðîâûå ñèìâîëû (62)
1.5*107
9.2*108
5.7*1010
3.5*1012
2.2*1014
Ïå÷àòàåìûå ñèìâîëû (95)
8.1*107
7.7*109
7.4*1011
7.0*1013
6.6*1015
Ñèìâîëû ASCII (128)
2.7*108
3.4*1010
4.4*1012
5.6*1014
7.2*1016
8-áèòîâûå ASCII ñèìâîëû (256)
4.3*109
1.1*1012
2.8*1014
7.2*1016
1.8*1019
Òàáë. 8-2. Âðåìÿ èñ÷åðïûâàþùåãî ïîèñêà ðàçëè÷íûõ ïðîñòðàíñòâà êëþ÷åé (ïðè îäíîì ìèëëèîíå ïðîâåðîê â ñåêóíäó) 4 áàéòà
5 áàéòîâ
6 áàéòîâ
7 áàéòîâ
8 áàéòîâ
Ñòðî÷íûå áóêâû (26)
0.5 ñåêóíäû
12 ñåêóíä
5 ìèíóò
2.2 ÷àñà
2.4 äíÿ
Ñòðî÷íûå áóêâû è öèôðû (36)
1.7 ñåêóíäû
1 ìèíóòà
36 ìèíóò
22 ÷àñà
33 äíÿ
15 ñåêóíä
15 ìèíóò
16 ÷àñîâ
41 äåíü
6.9 ãîäà
Ïå÷àòàåìûå ñèìâîëû (95)
1.4 ìèíóòû
2.1 ÷àñà
8.5 äíÿ
2.2 ãîäà
210 ëåò
Ñèìâîëû ASCII (128)
4.5 ìèíóòû
9.5 ÷àñà
51 äåíü
18 ëåò
2300 ëåò
1.2 ÷àñà
13 äíåé
8.9 ãîäà
2300 ëåò
580000 ëåò
Àëôàâèòíûå è öèôðîâûå ñèìâîëû (62)
8-áèòîâûå ASCII ñèìâîëû (256)
È ïîìíèòå, âû÷èñëèòåëüíàÿ ìîùü óäâàèâàåòñÿ êàæäûå 18 ìåñÿöåâ. Åñëè âû õîòèòå, ÷òîáû âàøè êëþ÷è áûëè óñòîé÷èâû ê âñêðûòèþ ãðóáîé ñèëîé â òå÷åíèå 10 ëåò, âû äîëæíû ñîîòâåòñòâóþùèì îáðàçîì ïëàíèðîâàòü è ñïîëüçîâàíèå êëþ÷åé. Îáåäíåííûé âûáîð êëþ÷åé Êîãäà ëþäè ñàìè âûáèðàþò êëþ÷è, îíè âûáèðàþò óùåðáíûå êëþ÷è. Îíè ñ áîëüøåé âåðîÿòíîñòüþ âûáåðóò "Barney", ÷åì "*9 (hH/A". Ýòî íå âñåãäà ïðîèñõîäèò èç-çà ïëîõîé ïðàêòèêè, ïðîñòî "Barney" ëåã÷å çàïîìíèòü ÷åì "*9 (hH/A". Ñàìûé áåçîïàñíûé àëãîðèòì â ìèðå íå ñèëüíî ïîìîæåò, åñëè ïîëüçîâàòåëè ïî ïðèâû÷êå âûá èðàþò èìåíà ñâîèõ æåí (ìóæåé) äëÿ êëþ÷åé èëè ïèøóò ñâîè êëþ÷è íà íåáîëüøèõ ëèñòî÷êàõ â áóìàæíèêàõ. È íòåëëåêòóàëüíîå âñêðûòèå ãðóáîé ñèëîé íå ïåðåáèðàåò âñå âîçìîæíûå êëþ÷è â ÷èñëîâîì ïîðÿäêå, íî ïðîáóåò ñíà÷àëà î÷åâèäíûå êëþ÷è. Ýòî íàçûâàåòñÿ âñêðûòèåì ñî ñëîâàðåì, ïîòîìó ÷òî íàïàäþùèé èñïîëüçóåò ñëîâàðü îáùèõ êëþ÷åé. Äýí èåë Êëÿéí (Daniel Klein) ñìîã ðàñêîëîòü 40 ïðîöåíòîâ ïàðîëåé íà ñðåäíåì êîìïüþòåðå, èñïîëüçóÿ ýòîò ñïîñîá âñêðûòèÿ [847, 848]. Íåò, îí íå ïåðåáèðàë îäèí ïàðîëü çà äðóãèì, ïûòàÿñü âîéòè â ñèñòåìó. Îí ñêîïèðîâàë ç àøèôðîâàííûé ôàéë ïàðîëåé è ïðåäïðèíÿë âñêðûòèå àâòîíîìíî. Âîò, ÷òî îí ïðîáîâàë: 1.  êà÷åñòâå âîçìîæíîãî ïàðîëÿ èìÿ ïîëüçîâàòåëÿ, èíèöèàëû, èìÿ áþäæåòà è äðóãóþ ñâÿçàííóþ ñ ÷ åëîâåêîì èíôîðìàöèþ.  öåëîì, íà îñíîâå òàêîé èíôîðìàöèè ïðîáîâàëîñü äî 130 ðàçëè÷íûõ ïàðîëåé. Âîò íåêîòîðûå èç ïàðîëåé, ïðîâåðÿâøèõñÿ äëÿ èìåíè áþäæåòà klone è ïîëüçîâàòåëÿ "Daniel V. Klein": klone, klone0, klonel, klonel23, dvk, dvkdvk, dklein, Dklein, leinad, nielk, dvklein, danielk, DvkkvD, DANIEL-KLEIN, (klone), KleinD, è òàê äàëåå. 2. Ñëîâà èç ðàçëè÷íûõ áàç äàííûõ. Èñïîëüçîâàëèñü ñïèñêè ìóæñêèõ è æåíñêèõ èìåí (âñåãî îêîëî 16000), íàçâàíèÿ ìåñò (âêëþ÷àÿ èçìåíåíèÿ, ïîýòîìó ðàññìàòðèâàëèñü è "spain", " Spanish", è "Spaniard"), èìåíà èçâåñòíûõ ëþäåé, ìóëüòôèëüìû è ìóëüòèïëèêàöèîííûå ãåðîè, çàãîëîâêè, ãåðîè è ìåñòà èç ôèëüìîâ è íàó÷íîé ôàíòàñòèêè, ìèôè÷åñêèå ñóùåñòâà (äîáûòûå èç Bullfinch's Mythology è
ñëîâàðåé ìèôè÷åñêèõ æèâîòíûõ), ñïîðò (âêëþ÷àÿ íàçâàíèÿ êîìàíä, ïðîçâèùà è ñïåöèàëüíûå òåðì èíû), ÷èñëà (çàïèñàííûå êàê öèôðàìè - '2001", òàê è áóêâàìè " twelve''), ñòðîêè ñèìâîëîâ è ÷èñåë ("a", "aa", "aaa", "aaaa" è ò.ä.), êèòàéñêèå ñëîãè (èç Piny in Romanization of Chinese, ìåæäóíàðîäíîãî ñòàíäàðòà ïèñüìà ïî êèòàéñêè íà àíãëîÿçû÷íîé êëàâèàòóðå), Áèáëèÿ êîðîëÿ Äæåéìñà; áèîëîãè÷åñêèå òå ðìèíû, ðàçãîâîðíûå è âóëüãàðíûå âûðàæåíèÿ (òèïà "fuckyou", "ibmsux" è "deadhead"), ñòàíäàðòû êë àâèàòóðû (òèïà "qwerty", "asdf" è "zxcvbn"), ñîêðàùåíèÿ (òèïà "roygbiv" - ïåðâûå áóêâû íàçâàíèé öâ åòîâ ðàäóãè ïî àíãëèéñêè - è "ooottafagvah" - ìíåìîíè÷åñêàÿ ñõåìà äëÿ çàïîìèíàíèÿ 12 ÷åðåïíûõ íå ðâîâ), èìåíà êîìïüþòåðîâ (ïîëó÷åííûå èç /etc/hosts), ãåðîè, ïüåñû è ìåñòà äåéñòâèÿ ó Øåêñïèðà, ñ àìûå ðàñïðîñòðàíåííûå ñëîâà ÿçûêà Èäèø, íàçâàíèÿ àñòåðîèäîâ, ñîâîêóïíîñòü ñëîâ èç ðàçëè÷íûõ òå õíè÷åñêèõ ñòàòåé, îïóáëèêîâàííûõ ðàíåå Êëÿéíîì. Èòîãî, äëÿ ïîëüçîâàòåëÿ ðàññìàòðèâàëîñü áîëåå ÷åì 60000 îòäåëüíûõ ñëîâ (ñ îòáðàñûâàíèåì äóáëèêàòîâ â ðàçëè÷íûõ ñëîâàðÿõ). 3. Âàðèàöèè ñëîâ èç ïóíêòà 2. Ýòî âêëþ÷àëî ïåðåâîä ïåðâîãî ñèìâîëà â âåðõíèé ðåãèñòð èëè åãî çàìåíó óïðàâëÿþùèì ñèìâîëîì, ïåðåâîä âñåãî ñëîâà â âåðõíèé ðåãèñòð, èíâåðñèþ ðåãèñòðà ñëîâà (ñ è áåç âûøåóïîìÿíóòîãî èçìåíåíèÿ ðåãèñòðà ïåðâîé áóêâû), çàìåíó áóêâû "o" íà öèôðó "0" (òàê, ÷òîáû ñë îâî "scholar" áûëî òàêæå ïðîâåðåíî êàê "sch0lar"), çàìåíó áóêâû "l" íà öèôðó "1" (òàê, ÷òîáû ñëîâî "scholar" áûëî áû òàêæå ïðîâåðåíî êàê " scho1ar") è âûïîëíåíèå àíàëîãè÷íûõ ìàíèïóëÿöèé ñ áóêâîé "z" è öèôðîé "2", à òàêæå ñ áóêâîé " s" è öèôðîé "5". Äðóãàÿ ïðîâåðêà ñîñòîÿëà èç ïåðåâîäà ñëîâà âî ìíîæåñòâåííîå ÷èñëî (íåçàâèñèìî îò òîãî, áûëî ëè ñëîâî ñóùåñòâèòåëüíûì) ñ ó÷åòîì íåîáõîäèìûõ ïðàâèë, ÷òîáû "dress" çàìåíèëîñü íà "dresses", "house" - íà "houses", à "daisy" - íà "daisies". Õîòÿ Êëÿéí íå æåñòêî ïðèäåðæèâàëñÿ ïðàâèë ïðåîáðàçîâàíèÿ êî ìíîæåñòâåííîìó ÷èñëó, ïîýòîìó "datum" ñòàëà "datums" (à íå "data"), "sphynx" - "sphynxs" (à íå "sphynges"). Àíàëîãè÷íî, äëÿ ïðåîáðàçîâàíèÿ ñëîâ äîáàâëÿëèñü ñóôèêñû "-ed", "-er" è "-ing", ïîäîáíî "phase" â "phased," "phaser" è "phasing". Ýòè äîïîëíèòåëüíûå ïðîâåðêè äîáàâèëè åùå 1000000 ñëîâ ê ñïèñêó âîçìîæíûõ ïàðîëåé, êîòîðûå ïðîâ åðÿëèñü äëÿ êàæäîãî ïîëüçîâàòåëÿ. 4. Ðàçëè÷íûå âàðèàíòû ïðåîáðàçîâàíèÿ ê âåðõíåìó ðåãèñòðó ñëîâ ïóíêòà 2, íå ðàññìàòðèâàâøèõñÿ â ïóíêòå 3. Ñþäà âîøëî ïðåîáðàçîâàíèå ê âåðõíåìó ðåãèñòðó îäèíî÷íûõ ñèìâîëîâ (òàê, ÷òîáû "michael" áûë òàêæå ïðîâåðåí êàê "m Ichael", "miChael", "micHael", "michAel", è ò.ä.), ïðåîáðàçîâàíèå ê âåðõíåìó ðåãèñòðó ïàðû ñèìâîëîâ ( "MIchael", "MiChael", "MicHael", ..., "mIChael", "mIcHael", è ò.ä.), ïðåîáðàçîâàíèå ê âåðõíåìó ðåãèñòðó òðåõ ñèìâîëîâ, è ò.ä. Èçìåíåíèÿ îäèíî÷íîãî ñèìâîëà äîá àâèëè ê ïðîâåðÿåìûì ïðèìåðíî åùå 400000 ñëîâ, à èçìåíåíèÿ ïàðû ñèìâîëîâ - 1500000 ñëîâ. Èçìåí åíèÿ òðåõ ñèìâîëîâ äîáàâëÿëè ïî êðàéíåé ìåðå åùå 3000000 ñëîâ äëÿ êàæäîãî ïîëüçîâàòåëÿ, åñëè äëÿ çàâåðøåíèÿ òåñòèðîâàíèÿ õâàòàëî âðåìåíè. Ïðîâåðêà èçìåíåíèÿ ÷åòûðåõ, ïÿòè è øåñòè ñèìâîëîâ áûëà ïðèçíàíà íåïðàêòè÷íîé, òàê êàê äëÿ èõ ïðîâåðêè íå õâàòàëî âû÷èñëèòåëüíûõ ìîùíîñòåé. 5. 5. Èíîñòðàííûå ñëîâà äëÿ èíîñòðàííûõ ïîëüçîâàòåëåé. Ñïåöèôè÷åñêèé òåñò, êîòîðûé áûë âûïîëíåí, ïðîâåðÿë ïàðîëè èç êèòàéñêîãî ÿçûêà äëÿ ïîëüçîâàòåëåé ñ êèòàéñêèìè èìåíàìè. Äëÿ êèòàéñêèõ ñë îãîâ èñïîëüçîâàëñÿ ñòàíäàðò Pinyin Romanization, ñëîãè îáúåäèíÿëèñü âìåñòå â îäíî-, äâóõ- è òðå õñëîæíûå ñëîâà. Òàê êàê íå áûëî âûïîëíåíî ïðåäâàðèòåëüíîé ïðîâåðêè ñëîâ íà çíà÷èìîñòü, èñïîëüç îâàëñÿ èñ÷åðïûâàþùèé ïåðåáîð. Òàê êàê â ñèñòåìå Pinyin ñóùåñòâóåò 298 êèòàéñêèõ ñëîãîâ, òî èìååòñÿ 158404 ñëîâ ñ äâóìÿ ñëîãàìè, è íåìíîãî áîëüøå 16000000 ñëîâ ñ òðåìÿ ñëîãàìè. Ïîäîáíûé ñïîñîá âñêðûòèÿ ìîã áû áûòü ëåãêî èñïîëüçîâàí è äëÿ àíãëèéñêîãî ÿçûêà, ñ ó÷åòîì ïðàâèë îáðàçîâàíèÿ ïð îèçíîñèìûõ íè÷åãî íå çíà÷àùèõ ñëîâ. 6. Ïàðû ñëîâ. Îáúåì òàêîãî èñ÷åðïûâàþùåãî òåñòà êîëåáëåòñÿ. ×òîáû óïðîñòèòü òåñò, èç /usr/dict/words èñïîëüçîâàëèñü òîëüêî ñëîâà äëèíîé òðè èëè ÷åòûðå ñèìâîëà. Äàæå ïðè ýòîì, ÷èñëî ïàð ñëîâ ñîñò àâèëî ïðèáëèçèòåëüíî äåñÿòü ìèëëèîíîâ. Âñêðûòèå ñî ñëîâàðåì íàìíîãî ìîùíåå, êîãäà îíî èñïîëüçóåòñÿ ïðîòèâ ôàéëà êëþ÷åé, à íå ïðîòèâ îäíîãî êëþ÷à. Îäèíî÷íûé ïîëüçîâàòåëü ìîæåò áûòü äîñòàòî÷íî ðàçóìåí è âûáðàòü õîðîøèå êëþ÷è. Åñëè èç òûñÿ÷è ëþäåé êàæäûé âûáèðàåò ñîáñòâåííûé êëþ÷ êàê ïàðîëü êîìïüþòåðíîé ñèñòåìû, òî âåëèêà âåðîÿòíîñòü òîãî, ÷òî ïî êðàéíåé ìåðå îäèí ÷åëîâåê âûáåðåò êëþ÷, èìåþùèéñÿ â ñëîâàðå âçëîìùèêà. Ñëó÷àéíûå êëþ÷è Õîðîøèìè êëþ÷àìè ÿâëÿþòñÿ ñòðîêè ñëó÷àéíûõ áèòîâ, ñîçäàííûå íåêîòîðûì àâòîìàòè÷åñêèì ïðîöåññîì. Åñëè äëèíà êëþ÷à ñîñòàâëÿåò 64 áèòà, òî âñå âîçìîæíûå 64-áèòîâûå êëþ÷è äîëæíû áûòü ðàâíîâåðîÿòíû. Ãåí åðèðóéòå áèòû êëþ÷åé, ïîëüçóÿñü ëèáî íàäåæíûì èñòî÷íèêîì ñëó÷àéíûõ ÷èñåë (ñì. ðàçäåë 17.14), ëèáî êðèïò îãðàôè÷åñêè áåçîïàñíûì ãåíåðàòîðîì ïñåâäîñëó÷àéíûõ áèòîâ (ñì. ãëàâû 16 è 17.) Åñëè òàêèå àâòîìàòè÷åñêèå ïðîöåññû íåäîñòóïíû, áðîñàéòå ìîíåòêó èëè êîñòè. Ýòî âàæíî, íî íå óâëåêàéòåñü îáñóæäåíèåì òîãî, ÿâëÿåòñÿ ëè øóì èç çâóêîâûõ èñòî÷íèêîâ áîëåå ñëó÷àéíûì, ÷åì øóì èç ðàäèîàêòèâíîãî ðàñïàäà. Íè îäèí èç ýòèõ èñòî÷íèêîâ ñëó÷àéíîãî øóìà íå ñîâåðøåíåí, íî âñå îíè, ñêîðåå âñåãî, áóäóò äîñòàòî÷íî õîðîøè. Äëÿ ãåíåðàöèè êëþ÷åé âàæíî èñïîëüçîâàòü õîðîøèé ãåíåðàòîð ñëó÷à éíûõ ÷èñåë, íî ãîðàçäî âàæíåå èñïîëüçîâàòü õîðîøèå àëãîðèòìû øèôðîâàíèÿ è ïðîöåäóðû óïðàâëåíèÿ êëþ÷ à-
ìè. Åñëè âû áåñïîêîèòåñü î ñëó÷àéíîñòè âàøèõ êëþ÷åé, èñïîëüçóéòå îïèñàííóþ íèæå ìåòîäèêó ïåðåìàëûâàíèÿ êëþ÷à. Íåêîòîðûå àëãîðèòìû øèôðîâàíèÿ èìåþò ñëàáûå êëþ÷è - ñïåöèôè÷åñêèå êëþ÷è, ìåíåå áåçîïàñíûå ÷åì äðóãèå êëþ÷è. ß ñîâåòóþ ïðîâåðÿòü ñëàáîñòü êëþ÷à êëþ÷åé è, îáíàðóæèâ åå, ãåíåðèðîâàòü íîâûé. Ó DES òîë üêî 16 ñëàáûõ êëþ÷åé â ïðîñòðàíñòâå 2 56, òàê ÷òî âåðîÿòíîñòü ïîëó÷èòü îäèí èç ýòèõ êëþ÷åé íåâåðîÿòíî ìàëà. Çàÿâëÿëîñü, ÷òî êðèïòîàíàëèòèê íå áóäåò çíàòü î òîì, ÷òî èñïîëüçóåòñÿ ñëàáûé êëþ÷, è, ñëåäîâàòåëüíî, íå ñì îæåò ïîëó÷èòü íèêàêîé âûãîäû èç èõ ñëó÷àéíîãî èñïîëüçîâàíèÿ. Òàêæå çàÿâëÿëîñü, ÷òî èíôîðìàöèþ êðèïòîàí àëèòèêó äàåò ñîâñåì íå èñïîëüçîâàíèå ñëàáûõ êëþ÷åé. Îäíàêî, ïðîâåðêà íåìíîãèõ ñëàáûõ êëþ÷åé íàñòîëüêî ïðîñòà, ÷òî êàæåòñÿ ãëóïûì ïðåíåáðå÷ü åþ. Ãåíåðàöèÿ êëþ÷åé äëÿ ñèñòåì êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè òÿæåëåå, ïîòîìó ÷òî ÷àñòî êëþ÷è äîë æíû îáëàäàòü îïðåäåëåííûìè ìàòåìàòè÷åñêèìè ñâîéñòâàìè (âîçìîæíî, îíè äîëæíû áûòü ïðîñòûìè ÷èñëàìè, êâàäðàòè÷íûì îñòàòêîì, è ò.ä.). Ìåòîäû ãåíåðàöèè áîëüøèõ ñëó÷àéíûõ ïðîñòûõ ÷èñåë ðàññìàòðèâàþòñÿ â ðà çäåëå 11.5. Âàæíî ïîìíèòü, ÷òî ñ òî÷êè çðåíèÿ óïðàâëåíèÿ êëþ÷àìè ñëó÷àéíûå ñòàðòîâûå ïîñëåäîâàòåëüíîñòè äëÿ òàêèõ ãåíåðàòîðîâ äîëæíû áûòü äåéñòâèòåëüíî ñëó÷àéíû. Ãåíåðàöèÿ ñëó÷àéíîãî êëþ÷à âîçìîæíà íå âñåãäà. Èíîãäà âàì íóæíî ïîìíèòü âàø êëþ÷. (Èíòåðåñíî, ñêîë üêî âðåìåíè âàì ïîíàäîáèòñÿ, ÷òîáû çàïîìíèòü 25e8 56f2 e8ba c820?). Åñëè âàì íàäî ãåíåðèðîâàòü ïðîñòîé äëÿ çàïîìèíàíèÿ êëþ÷, çàìàñêèðóéòå åãî. Èäåàëîì ÿâëÿåòñÿ òî, ÷òî ëåãêî çàïîìíèòü, íî òðóäíî óãàäàòü. Âîò í åñêîëüêî ïðåäëîæåíèé: Ïàðû ñëîâ, ðàçäåëåííûå ñèìâîëîì ïóíêòóàöèè, íàïðèìåð, " turtle*moose" èëè "zorch!splat" Ñòðîêè áóêâ, ÿâëÿþùèåñÿ àêðîíèìàìè äëèííûõ ôðàç, íàïðèìåð, "Mein Luftkissenfahrzeug ist voller Aale!" ñëóæèò äëÿ çàïîìèíàíèÿ êëþ÷à "MLivA!"
Êëþ÷åâûå ôðàçû Ëó÷øèì ðåøåíèåì ÿâëÿåòñÿ èñïîëüçîâàíèå âìåñòî ñëîâà öåëîé ôðàçû è ïðåîáðàçîâàíèå ýòîé ôðàçû â êëþ÷ . Òàêèå ôðàçû íàçûâàþòñÿ êëþ÷åâûìè ôðàçàìè. Ìåòîäèêà ñ íàçâàíèåì ïåðåìàëûâàíèå êëþ÷à ïðåîáðàçóåò ëåãêî çàïîìèíàþùèåñÿ ôðàçû â ñëó÷àéíûå êëþ÷è . Äëÿ ïðåîáðàçîâàíèÿ òåêñòîâîé ñòðîêè ïðîèçâîëüíîé äëèíû â ñòðîêó ïñåâäîñëó÷àéíûõ áèò èñïîëüçóòå îäíîíàïðàâëåííóþ õýø-ôóíêöèþ . Íàïðèìåð, ëåãêî çàïîìèíàþùàÿñÿ òåêñòîâàÿ ñòðîêà: My name is Ozymandias, king of kings. Look on my works, ye mighty, and despair.
1
ìîæåò "ïåðåìîëîòüñÿ" â òàêîé 64-áèòîâûé êëþ÷: e6cl 4398 5ae9 0a9b
Êîíå÷íî, ìîæåò áûòü íåëåãêî ââåñòè â êîìïüþòåð öåëóþ ôðàçó, åñëè ââîäèìûå ñèìâîëû íå îòîáðàæàþòñÿ íà ýêðàíå. Ðàçóìíûå ïðåäëîæåíèÿ ïî ðåøåíèþ ýòîé ïðîáëåìû áóäóò îöåíåíû . Åñëè ôðàçà äîñòàòî÷íî äëèííà, òî ïîëó÷åííûé êëþ÷ áóäåò ñëó÷àåí . Âîïðîñ î òî÷íîì ñìûñëå âûðàæåíèÿ "äîñòàòî÷íî äëèííà" îñòàåòñÿ îòêðûòûì. Òåîðèÿ èíôîðìàöèè óòâåðæäàåò, ÷òî èíôîðìàöèîííàÿ çíà÷èìîñòü ñòàíäàðòíîãî àíãëèéñêîãî ÿçûêà ñîñòàâëÿåò îêîëî 1.3 áèòà íà ñèìâîë (ñì. ðàçäåë 11.1). Äëÿ 64-áèòîâîãî êëþ÷à äîñòàòî÷íîé áóäåò êëþ÷åâàÿ ôðàçà, ñîñòîÿùàÿ ïðèìåðíî èç 49 ñèìâîëîâ, èëè 10 îáû÷íûõ àíãëèéñêèõ ñëîâ.  êà÷åñòâå ýìïèðè÷åñêîãî ïðàâèëà èñïîëüçóéòå ïÿòü ñëîâ äëÿ êàæäûõ 4 áàéòîâ êëþ÷à. Ýòî ïðåäëîæåíèå ðàáîòàåò ñ çàïàñîì, âåäü â íåì íå ó÷èòûâàþòñÿ ðåãèñòð, ïðîáåëû è çíàêè ïóíêòóàöèè . Ýòîò ìåòîä òàêæå ìîæíî èñïîëüçîâàòü äëÿ ãåíåðàöèè çàêðûòûõ êëþ÷åé â êðèïòîãðàôè÷åñêèõ ñèñòåìàõ ñ î òêðûòûìè êëþ÷àìè: òåêñòîâàÿ ñòðîêà ïðåîáðàçóåòñÿ â ñëó÷àéíóþ ñòàðòîâóþ ïîñëåäîâàòåëüíîñòü, à ýòà ïîñëåä îâàòåëüíîñòü ìîæåò áûòü èñïîëüçîâàíà â äåòåðìèíèðîâàííîé ñèñòåìå, ãåíåðèðóþùåé ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷. Âûáèðàÿ êëþ÷åâóþ ôðàçó, èñïîëüçóéòå ÷òî-íèáóäü óíèêàëüíîå è ëåãêî çàïîìèíàþùååñÿ. Íå âûáèðàéòå ôðàçû èç êíèã - ïðèìåð ñ "Ozymandias" â ýòîì ñìûñëå ïëîõ. Ëåãêî äîñòóïíû è ìîãóò áûòü èñïîëüçîâàíû äëÿ âñêðûòèÿ ñî ñëîâàðåì è ñîáðàíèå ñî÷èíåíèé Øåêñïèðà, è äèàëîãè èç Çâåçäíûõ âîéí. Âûáåðèòå ÷òî-íèáóäü òóìàííîå è ëè÷íîå. Íå çàáóäüòå î ïóíêòóàöèè è ïðåîáðàçîâàíèè ðåãèñòðà, åñëè âîçìîæíî âêëþ÷èòå ÷èñëà è íåà ëôàâèòíûå ñèìâîëû. Ïëîõîé èëè èñêàæåííûé àíãëèéñêèé, èëè äàæå ëþáîé èíîñòðàííûé ÿçûê, äåëàåò êëþ÷åâóþ ôðàçó áîëåå óñòîé÷èâîé ê âñêðûòèþ ñî ñëîâàðåì . Îäíèì èç ïðåäëîæåíèé ÿâëÿåòñÿ èñïîëüçîâàíèå ôðàçû, êîò îðàÿ ÿâëÿåòñÿ "ïîòðÿñàþùåé åðóíäîé", ÷åì-òî òàêèì, ÷òî âû âðÿä ëè çàïîìíèòå è âðÿä ëè çàïèøåòå . Íåñìîòðÿ íà âñå íàïèñàííîå çäåñü ìàñêèðîâêà íå çàìåíÿåò èñòèííóþ ñëó÷àéíîñòü. Ëó÷øèìè ÿâëÿþòñÿ ñë ó÷àéíûå êëþ÷è, êîòîðûå òàê òÿæåëî çàïîìíèòü .
1
ß Îçèìàíäèàñ, öàðü öàðåé. Âû, ñèëüíûå ìèðà ñåãî, ñìîòðèòå íà ìîè òðóäû è òðåïåùèòå.
Ñòàíäàðò ãåíåðàöèè êëþ÷åé X9.17 Ñòàíäàðò ANSI X9.17 îïðåäåëÿåò ñïîñîá Ãåíåðàöèè êëþ÷åé (ñì. 7th) [55]. Îí íå ñîçäàåò ëåãêî çàïîìèíàþùèåñÿ êëþ÷è, è áîëüøå ïîäõîäèò äëÿ ãåíåðàöèè ñåàíñîâûõ êëþ÷åé èëè ïñåâäîñëó÷àéíûõ ÷èñåë â ñèñòåìå . Äëÿ ãåíåðàöèè êëþ÷åé èñïîëüçóåòñÿ êðèïòîãðàôè÷åñêèé àëãîðèòì DES, íî îí ìîæåò áûòü ëåãêî çàìåíåí ëþáûì äðóãèì àëãîðèòìîì. Ti
Øèôðîâàòü Øèôðîâàòü
Vi
Øèôðîâàòü
Vi+1
Ri
Ðèñ. 8-1. Ãåíåðàöèÿ êëþ÷åé ANSI X9.17 Ïóñòü EK(X) - ýòî X, çàøèôðîâàííûé DES êëþ÷îì K, ñïåöèàëüíûì êëþ÷îì, ïðåäóñìîòðåííûì äëÿ ãåíåð àöèè ñåêðåòíûõ êëþ÷åé. V0 - ýòî ñåêðåòíàÿ 64-áèòîâàÿ ñòàðòîâàÿ ïîñëåäîâàòåëüíîñòü . T - ýòî ìåòêà âðåìåíè. Äëÿ ãåíåðàöèè ñëó÷àéíîãî êëþ÷à Ri âû÷èñëèì: Ri = EK(EK(Ti ) ⊕ Vi ) Äëÿ ãåíåðàöèè Vi+1, âû÷èñëèì: Vi+1= EK(EK(Ti ) ⊕ Ri ) Äëÿ ïðåâðàùåíèÿ Ri â êëþ÷ DES, ïðîñòî óäàëèòå êàæäûé âîñüìîé áèò . Åñëè âàì íóæåí 64-áèòîâûé êëþ÷, èñïîëüçóéòå êëþ÷ áåç èçìåíåíèÿ . Åñëè âàì íóæåí 128-áèòîâûé êëþ÷, ñîçäàéòå ïàðó êëþ÷åé è îáúåäèíèòå èõ . Ãåíåðàöèÿ êëþ÷åé â ìèíèñòåðñòâå îáîðîíû ÑØÀ Ìèíèñòåðñòâî îáîðîíû ÑØÀ äëÿ ãåíåðàöèè ñëó÷àéíûõ êëþ÷åé ðåêîìåíäóåò èñïîëüçîâàòü DES â ðåæèìå OFB (ñì. ðàçäåë 9.8) [1144]. Ñîçäàâàéòå êëþ÷è DES, èñïîëüçóÿ ñèñòåìíûå âåêòîðà ïðåðûâàíèÿ, ðåãèñòðû ñ îñòîÿíèÿ ñèñòåìû è ñèñòåìíûå ñ÷åò÷èêè . Ñîçäàâàéòå âåêòîð èíèöèàëèçàöèè, èñïîëüçóÿ ñèñòåìíûå ÷àñû, èäåíò èôèêàòîð ñèñòåìû, ñ òàêæå äàòó è âðåìÿ . Äëÿ îòêðûòîãî òåêñòà èñïîëüçóéòå 64-áèòîâûå âåëè÷èíû, ñîçäàííûå êåì-òî äðóãèì, íàïðèìåð, 8 ñèìâîëîâ, ââåäåííûõ ñèñòåìíûì àäìèíèñòðàòîðîì . Èñïîëüçóéòå â êà÷åñòâå ñâîåãî êëþ÷à ðåçóëüòàò.
8.2 Íåëèíåéíûå ïðîñòðàíñòâà êëþ÷åé Âîîáðàçèòå, ÷òî âû - ýòî âîåííàÿ êðèïòîãðàôè÷åñêàÿ îðãàíèçàöèÿ, ñîçäàþùàÿ êðèïòîãðàôè÷åñêèé ìîäóëü äëÿ âàøèõ âîéñê. Âû õîòèòå èñïîëüçîâàòü áåçîïàñíûé àëãîðèòì, íî ÷òî áóäåò, åñëè àïïàðàòóðà ïîïàäåò âî âð àæåñêèå ðóêè? Âåäü âû íå õîòèòå, ÷òîáû âàøè ïðèáîðû èñïîëüçîâàëèñü äëÿ çàùèòû âðàæåñêèõ ñåêðåòîâ. Åñëè âû ìîæåòå ïîìåñòèòü âàø àëãîðèòì â çàùèùåííûé ìîäóëü, òî âîò, ÷òî âû ìîæåòå ñäåëàòü. Ïîòðåáóéòå, ÷òîáû ìîäóëü ïðàâèëüíî ðàáîòàë òîëüêî ñ êëþ÷àìè ñïåöèàëüíîé è ñåêðåòíîé ôîðìû, à ñî âñåìè äðóãèìè êë þ÷àìè äëÿ øèôðîâàíèÿ èñïîëüçîâàëñÿ ñèëüíî îñëàáëåííûé àëãîðèòì. Ìîæíî ñäåëàòü òàê, ÷òîáû âåðîÿòíîñòü òîãî, ÷òî êòî-òî, íå çíàþùèé ýòîé ñïåöèàëüíîé ôîðìû, ñëó÷àéíî íàòêíåòñÿ íà ïðàâèëüíûé êëþ÷, áûëà èñ÷ åçàþùå ìàëîé. Ïîëó÷èâøååñÿ ïðîñòðàíñòâî êëþ÷åé íàçûâàåòñÿ íåëèíåéíûì, ïîòîìó ÷òî êëþ÷è íå ÿâëÿþòñÿ îäèíàêîâî ñèëüíûìè. (Ïðîòèâîïîëîæíûì ÿâëÿåòñÿ ëèíåéíîå, èëè ïëîñêîå, ïðîñòðàíñòâî êëþ÷åé.) Ïðîñòûì ñïîñîáîì ä îáèòüñÿ ýòîãî ìîæíî, ñîçäàâàÿ êëþ÷, ñîñòîÿùèé èç äâóõ ÷àñòåé: íåïîñðåäñòâåííî êëþ÷à è íåêîòîðîé ôèêñèð îâàííîé ñòðîêè, øèôðîâàííîé ýòèì êëþ÷îì. Ìîäóëü ðàñøèôðîâûâàåò ñòðîêó, èñïîëüçóÿ êëþ÷. Åñëè ðåçóëüò àòîì îêàçûâàåòñÿ ôèêñèðîâàííàÿ ñòðîêà, òî êëþ÷ èñïîëüçóåòñÿ êàê îáû÷íî, åñëè íåò, òî èñïîëüçóåòñÿ äðóãîé, ñëàáûé àëãîðèòì. Åñëè àëãîðèòì èìååò 128-áèòîâûé êëþ÷ è 64-áèòîâûé ðàçìåð áëîêà, òî äëèíà ïîëíîãî êëþ÷à - 192 áèòà. Òàêèì îáðàçîì, ó àëãîðèòìà 2 128 ýôôåêòèâíûõ êëþ÷à, íî âåðîÿòíîñòü ñëó÷àéíî âûáðàòü ïðàâèëüíûé ñîñòàâëÿåò îäèí øàíñ èç 2 64. Âû ìîæåòå ñäåëàòü åùå õèòðåå. Ìîæíî ðàçðàáîòàòü òàêîé àëãîðèòì, ÷òî íåêîòîðûå êëþ÷è áóäóò ñèëüíåå äðóãèõ. Ó àëãîðèòìà íå áóäåò ñëàáûõ êëþ÷åé - êëþ÷åé, êîòîðûå ñ î÷åâèäíîñòüþ ÿâëÿþòñÿ íåäîñòàòî÷íî çàù èùåííûìè - è òåì íå ìåíåå ó íåãî áóäåò íåëèíåéíîå ïðîñòðàíñòâî êëþ÷åé. Ýòî ðàáîòàåò òîëüêî, åñëè èñïîëüçóåòñÿ ñåêðåòíûé àëãîðèòì, êîòîðûé âðàã íå ìîæåò ïåðåïðîåêòèðîâàòü, èëè åñëè ðàçëè÷èå â ñèëå êëþ÷åé äîñòàòî÷íî òîíêî, ÷òîáû âðàã íå ñìîã î íåì äîãàäàòüñÿ. NSA ïðîäåëûâàëî ýòî ñ ñåêðåòíûìè àëãîðèòìàìè â ñâîèõ ìîäóëÿõ Overtake (ñì. ðàçäåë 25.1). Äåëàëè ëè îíè òî æå ñàìîå ñ Skipjack (ñì. ðàçäåë 13.12)? Íåèçâåñòíî.
8.3 Ïåðåäà÷à êëþ÷åé Àëèñà è Áîá ñîáèðàþòñÿ äëÿ áåçîïàñíîé ñâÿçè èñïîëüçîâàòü ñèììåòðè÷íûé êðèïòîãðàôè÷åñêèé àëãîðèòì, èì íóæåí îáùèé êëþ÷. Àëèñà ãåíåðèðóåò êëþ÷, èñïîëüçóÿ ãåíåðàòîð ñëó÷àéíûõ êëþ÷åé. Òåïåðü îíà äîëæíà áåçîïàñíî ïåðåäàòü åãî Áîáó. Åñëè Àëèñà ñìîæåò ãäå-òî âñòðåòèòü Áîáà (êàêèå-íèáóäü çàäâîðêè, êîìíàòà áåç îêîí èëè îäíà èç ëóí Þïèòåðà), òî îíà ñìîæåò ïåðåäàòü åìó êîïèþ êëþ÷à.  ïðîòèâíîì ñëó÷àå, ó íèõ åñòü ïð îáëåìà. Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè ðåøàåò ïðîáëåìó ëåãêî è ñ ìèíèìóìîì ïðåäâàðèòåëüíûõ ñîãëàø åíèé, íî ýòè ìåòîäû íå âñåãäà äîñòóïíû (ñì. ðàçäåë 3.1). Íåêîòîðûå ñèñòåìû èñïîëüçóþò àëüòåðíàòèâíûå êàí àëû, ñ÷èòàþùèåñÿ áåçîïàñíûìè. Àëèñà ìîãëà áû ïîñûëàòü Áîáó êëþ÷ ñ äîâåðåííûì ïîñûëüíûì. Îíà ìîãëà áû ïîñëàòü êëþ÷ çàêàçíîé ïî÷òîé èëè íî÷íîé ñëóæáîé äîñòàâêè. Îíà ìîãëà áû óñòàíàâëèâàòü äðóãîé êàíàë ñâÿçè ñ Áîáîì è íàäåÿòüñÿ, ÷òî åãî òî íèêòî íå ïîäñëóøèâàåò. Àëèñà ìîãëà áû ïîñëàòü Áîáó ñèììåòðè÷íûé êëþ÷ ïî èõ êàíàëó ñâÿçè - òîò, êîòîðûé îíè ñîáèðàþòñÿ øè ôðîâàòü. Íî ãëóïî ïåðåäàâàòü êëþ÷ øèôðîâàíèÿ êàíàëà ïî ýòîìó æå êàíàëó â îòêðûòîì âèäå, êòî-òî, ïîäñëóø èâàþùèé êàíàë, íàâåðíÿêà ñìîæåò ðàñøèôð îâûâàòü âñå ñîîáùåíèÿ. Ñòàíäàðò X9.17 [55] îïðåäåëÿåò äâà òèïà êëþ÷åé: êëþ÷è øèôðîâàíèÿ êëþ÷åé è êëþ÷è äàííûõ. Êëþ÷àìè øèôðîâàíèÿ êëþ÷åé ïðè ðàñïðåäåëåíèè øèôðóþòñÿ äðóãèå êëþ÷è. Êëþ÷è äàííûõ øèôðóþò ñàìè ñîîáù åíèÿ. Êëþ÷è øèôðîâàíèÿ êëþ÷åé äîëæíû ðàñïðåäåëÿòüñÿ âðó÷íóþ, (õîòÿ îíè ìîãóò áûòü â áåçîïàñíîñòè â ç àùèùåííîì îò âçëîìà óñòðîéñòâå, òàêîì êàê êðåäèòíàÿ êàðòî÷êà), íî äîñòàòî÷íî ðåäêî. Êëþ÷è äàííûõ ðàñïð åäåëÿþòñÿ ãîðàçäî ÷àùå. Ïîäðîáíîñòè ìîæíî íàéòè â [75]. Ýòà èäåé äâóõñâÿçíûõ êëþ÷åé ÷àñòî èñïîëüçóåòñÿ ïðè ðàñïðåäåëåíèè êëþ÷åé. Äðóãèì ðåøåíèåì ïðîáëåìû ðàñïðåäåëåíèÿ ÿâëÿåòñÿ ðàçáèåíèå êëþ÷à íà íåñêîëüêî ðàçëè÷íûõ ÷àñòåé (ñì. ðàçäåë 3.6) è ïåðåäà÷à èõ ïî ðàçëè÷íûì êàíàëàì. Îäíà ÷àñòü ìîæåò áûòü ïîñëàíà òåëåôîíîì, äðóãàÿ - ïî÷òîé, òðåòüÿ - ñëóæáîé íî÷íîé äîñòàâêè, ÷åòâåðòàÿ - ïî÷òîâûì ãîëóáåì, è òàê äàëåå, (ñì. 6-é). Òàê ïðîòèâíèê ìîæåò ñîáðàòü âñå ÷àñòè, êðîìå îäíîé, è âñå ðàâíî íè÷åãî íå óçíàåò ïðî êëþ÷. Ýòîò ìåòîä áóäåò ðàáîòàòü âî âñåõ ñë ó÷àÿõ, êðîìå êðàéíèõ.  ðàçäåëå 3.6 îáñóæäàþòñÿ ñõåìû ðàçáèåíèÿ êëþ÷à íà íåñêîëüêî ÷àñòåé. Àëèñà ìîãëà áû äàæå ïðèìåíèòü ñõåìó ñîâìåñòíî èñïîëüçóåìîãî ñåêðåòà, (ñì. ðàçäåë 3.7), ÷òî äàñò âîçìîæíîñòü Áîáó âîññò àíàâëèâàòü êëþ÷, åñëè íåêîòîðûå èç ÷àñòåé ïîòåðÿíû ïðè ïåðåä à÷å.
k1 Êóðüåð ÎÒÏÐÀÂÈÒÅËÜ Äåëèò êëþ÷ íà ÷àñòè
Çàêàçíàÿ ïî÷òà
Ôåäåðàëüíàÿ ýêñïðåññ-ïî÷òà
Òåëåôîí Ïî÷òîâûé ãîëóáü
k1
k2
k3
k4
k5
k2
ÏÎËÓ×ÀÒÅËÜ Âîññòàíàâëèâàåò êëþ÷
k3 k4 k5
k2
k5
Ðèñ. 8-2. Ðàñïðåäåëåíèå êëþ÷åé ïî ïàðàëëåëüíûì êàíàëàì. Àëèñà áåçîïàñíî ïåðåäàåò Áîáó êëþ÷ øèôðîâàíèÿ êëþ÷åé èëè ïðè ëè÷íîé âñòðå÷å, èëè ñ ïîìîùüþ òîëüêî ÷òî ðàññìîòðåííîé ìåòîäèêè ðàçáèåíèÿ. Êàê òîëüêî è ó Àëèñû, è ó Áîáà áóäåò êëþ÷ øèôðîâàíèÿ êëþ÷åé, Àë èñà ñìîæåò ïîñûëàòü Áîáó êëþ÷è äàííûõ íà äåíü ïî òîìó æå ñàìîìó êàíàëó ñâÿçè, øèôðóÿ ïðè ýòîì êàæäûé êëþ÷ äàííûõ êëþ÷îì øèôðîâàíèÿ êëþ÷åé. Òàê êàê òðàôèêà, øèôðóåìûé êëþ÷îì øèôðîâàíèÿ êëþ÷åé íåçí à÷èòåëåí, òî ýòîò êëþ÷ ÷àñòî ìåíÿòü íå íóæíî. Îäíàêî, òàê êàê êîìïðîìåòàöèÿ êëþ÷à øèôðîâàíèÿ êëþ÷åé ì îæåò ñêîìïðîìåòèðîâàòü âñå ñîîáùåíèÿ, øèôðîâàííîå èñïîëüçîâàííûìè êëþ÷àìè äàííûõ, êîòîðûå áûëè ç àøèôðîâàí ýòèì êëþ÷îì øèôðîâàíèÿ êëþ÷åé, ýòîò êëþ÷ äîëæåí õðàíèòüñÿ â áåçîïàñíîñòè. Ðàñïðåäåëåíèå êëþ÷åé â áîëüøèõ ñåòÿõ Êëþ÷è øèôðîâàíèÿ êëþ÷åé, îáùèå äëÿ ïàðû ïîëüçîâàòåëåé, õîðîøî èñïîëüçîâàòü â íåáîëüøèõ ñåòÿõ, íî ñ óâåëè÷åíèåì ñåòè òàêàÿ ñèñòåìà áûñòðî ñòàíîâèòñÿ ãðîìîçäêîé. Òàê êàê êàæäàÿ ïàðà ïîëüçîâàòåëåé äîëæíà
îáìåíÿòüñÿ êëþ÷àìè, îáùåå ÷èñëî îáìåíîâ êëþ÷àìè â ñåòè èç n ÷åëîâåê ðàâíî n(n - l)/2.  ñåòè c øåñòüþ ïîëüçîâàòåëÿìè ïîòðåáóåòñÿ 15 îáìåíîâ êëþ÷àìè .  ñåòè èç 1000 ïîëüçîâàòåëåé ïîíàä îáèòñÿ óæå îêîëî 500000 îáìåíîâ êëþ÷àìè .  ýòèõ ñëó÷àÿõ ðàáîòà ñåòè ãîðàçäî áîëåå ýôôåêòèâíà ïðè èñïîëüç îâàíèè öåíòðàëüíîãî ñåðâåðà (èëè ñåðâåðîâ) êëþ÷åé . Êðîìå òîãî, ëþáîé èç ïðîòîêîëîâ ñèììåòðè÷íîé êðèïòîãðàôèè èëè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè, ïðèâåäåííûõ â ðàçäåëå 3.1, ïîäõîäèò äëÿ áåçîïàñíîãî ðàñïðåäåëåíèÿ êëþ÷åé .
8.4 Ïðîâåðêà êëþ÷åé Êàê Áîá óçíàåò, ïîëó÷èâ êëþ÷, ÷òî êëþ÷ ïåðåäàí Àëèñîé, à íå êåì-òî äðóãèì, êòî âûäàåò ñåáÿ çà Àëèñó? Âñå ïðîñòî, åñëè Àëèñà ïåðåäàåò åìó êëþ÷ ïðè ëè÷íîé âñòðå÷å. Åñëè Àëèñà ïîñûëàåò ñâîé êëþ÷ ÷åðåç äîâåðåííîãî êóðüåðà, òî êóðüåðó äîëæåí äîâåðÿòü è Áîá. Åñëè êëþ÷ çàøèôðîâàí êëþ÷îì øèôðîâàíèÿ êëþ÷åé , òî Áîá äîëæåí äîâåðÿòü òîìó, ÷òî ýòîò êëþ÷ øèôðîâàíèÿ êëþ÷åé åñòü òîëüêî ó Àëèñû. Åñëè äëÿ ïîäïèñè êëþ÷à Àëèñà èñïîë üçóåò ïðîòîêîë ýëåêòðîííîé ïîäïèñè, Áîá ïðè ïðîâåðêå ïîäïèñè äîëæåí äîâåðÿòü áàçå äàííûõ îòêðûòûõ êë þ÷åé,. (Åìó òàêæå ïðèäåòñÿ ñ÷èòàòü, ÷òî Àëèñà ñîõðàíèëà ñâîé êëþ÷ â áåçîïàñíîñòè.) Åñëè Öåíòð ðàñïðåäåëåíèÿ êëþ÷åé (Key Distribution Center, KDC) ïîäïèñûâàåò îòêðûòûé êëþ÷ Àëèñû, Áîá äîëæåí ñ÷èòàòü, ÷òî åãî êîïèÿ îòêðûòîãî êëþ÷à KDC íå áûëà ïîäìåíåíà. Íàêîíåö, òîò, êòî óïðàâëÿåò âñåé ñåòüþ âîêðóã Áîáà, ìîæåò çàñòàâèòü åãî äóìàòü âñå, ÷òî åìó õî÷åòñÿ. Ìý ëëîðè ìîæåò ïîñëàòü øèôðîâàííîå è ïîäïèñàííîå ñîîáùåíèå, âûäàâàÿ ñåáÿ çà Àëèñó. Êîãäà Áîá, ïðîâåðÿÿ ïî äïèñü Àëèñû, îáðàòèòñÿ ê áàçå äàííûõ îòêðûòûõ êëþ÷åé, Ìýëëîðè ìîæåò âîçâðàòèòü åìó ñîáñòâåííûé îòêðûòûé êëþ÷. Ìýëëîðè ìîæåò ñîçäàòü ñâîé ñîáñòâåííûé ïîääåëüíûé KDC è ïîäìåíèòü îòêðûòûé êëþ÷ íàñòîÿùåãî KDC êëþ÷îì ñâîåãî ñîáñòâåííîãî èçäåëèÿ. Áîá íèêàê íå ñìîæåò ýòî îáíàðóæèòü. Íåêîòîðûå ëþäè èñïîëüçîâàëè ýòîò àðãóìåíò, óòâåðæäàÿ, ÷òî êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè áåñï îëåçíà. Òàê êàê åäèíñòâåííûé ñïîñîá Àëèñå è Áîáó çíàòü íàâåðíÿêà, ÷òî íèêòî íå âçëîìàë èõ êëþ÷è, - ýòî ëè ÷íàÿ âñòðå÷à, òî êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè âîî áùå íå îáåñïå÷èâàåò áåçîïàñíîñòü. Ýòà òî÷êà çðåíèÿ íàèâíà. Òåîðåòè÷åñêè âñå ïðàâèëüíî, íî äåéñòâèòåëüíîñòü ãîðàçäî ñëîæíåå. Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè, èñïîëüçóåìàÿ âìåñòå ñ ýëåêòðîííûìè ïîäïèñÿìè è íàäåæíûìè KDC, ñèëüíî óñëîæíÿåò ïîäìåíó îäíèì êëþ÷îì äðóãîãî. Áîá íèêîãäà íå ìîæåò áûòü àáñîëþòíî óâåðåí, ÷òî Ìýëëîðè íå êîíòðîëèðóåò åãî ðåàëüíîñòü ïîëíîñòüþ, íî Áîá ìîæåò çíàòü íàâåðíÿêà, ÷òî òàêàÿ ïîäìåíà ðåàëüíîñòè ïîòðåáóåò ãîðàçäî áîëüøå ðåñóðñîâ, ÷åì ñìîæåò çàïîëó÷èòü ðåàëüíûé Ìýëëîðè. Áîá ìîã áû òàêæå ïðîâåðÿòü êëþ÷ Àëèñû ïî òåëåôîíó, ïîëó÷èâ âîçìîæíîñòü óñëûøàòü åå ãîëîñ. Ðàñïîçí àâàíèå ãîëîñà äåéñòâèòåëüíî ÿâëÿåòñÿ õîðîøåé ñõåìîé èäåíòèôèêàöèè ëè÷íîñòè. Åñëè ðå÷ü èäåò îá îòêðûòîì êëþ÷å, îí ìîæåò áåçîïàñíî åãî ïîâòîðèòü åãî äàæå ïðè óãðîçå ïîäñëóøèâàíèÿ. Åñëè ýòî ñåêðåòíûé êëþ÷, îí ìîæåò èñïîëüçîâàòü äëÿ ïðîâåðêè êëþ÷à îäíîñòîðîííþþ õýø-ôóíêöèþ. Îáà TSD PGP (ñì. ðàçäåë 24.12.) è AT$T (ñì. Ðàçäåë 24.18) èñïîëüçóþò ýòîò ñïîñîá ïð îâåðêè êëþ÷åé. Èíîãäà ìîæåò äàæå íå âàæíî òî÷íî ïðîâåðÿòü, êîìó ïðèíàäëåæèò îòêðûòûé êëþ÷. Ìîæåò ïîíàäîáèòüñÿ ïðîâåðèòü, ÷òî îí ïðèíàäëåæèò òîìó æå ÷åëîâåêó, ÷òî è ãîä íàçàä. Åñëè êòî-òî ïîñûëàåò áàíêó ïîäïèñàííîå ñîîáùåíèå î ïåðåâîäå äåíåã, áàíê âîëíóåò íå òî, êòî êîíêðåòíî ñíèìàåò äåíüãè, à òîëüêî òî, ÷òîáû ýòîò ÷åëîâåê áûë òåì, êòî âíåñ äåíüãè â ïåðâûé ðàç. Îáíàðóæåíèå îøèáîê ïðè ïåðåäà÷å êëþ÷åé Èíîãäà êëþ÷è èñêàæàþòñÿ ïðè ïåðåäà÷å. Ýòî ÿâëÿåòñÿ ïðîáëåìîé, òàê êàê èñêàæåííûé êëþ÷ ìîæåò ïðèâå ñòè ê ìåãàáàéòàì íåðàñøèôðîâàííîãî øèôðîòåêñòà. Âñå êëþ÷è äîëæíû ïåðåäàâàòüñÿ ñ îáíàðóæåíèåì îøèáîê è èñïðàâëåíèåì áèòîâ. Òàêèì îáðàçîì îøèáêè ïðè ïåðåäà÷å ìîãóò áûòü ëåãêî îáíàðóæåíû è, åñëè ïîòðåáóåòñÿ, êëþ÷ ìîæåò áûòü ïîñëàí åùå ðàç. Îäíèì èç íàèáîëåå øèðîêî èñïîëüçóåìûõ ìåòîäîâ ÿâëÿåòñÿ øèôðîâàíèå êëþ÷îì íåêîòîðîé ïîñòîÿííîé â åëè÷èíû è ïåðåäà÷à ïåðâûõ 2-4 áàéò ýòîãî øèôðîòåêñòà âìåñòå ñ êëþ÷îì. Ó ïîëó÷àòåëÿ äåëàåòñÿ òî æå ñàìîå. Åñëè øèôðîâàííûå êîíñòàíòû ñîâïàäàþò, òî êëþ÷ áûë ïåðåäàí áåç îøèáêè. Âåðîÿòíîñòü îøèáêè íàõîäèòñÿ â äèàïàçîíå îò 1/216 äî 1/232. Îáíàðóæåíèå îøèáîê ïðè äåøèôðèðîâàíèè Èíîãäà ïîëó÷àòåëü õî÷åò ïðîâåðèòü, ÿâëÿåòñÿ ëè åãî êîíêðåòíûé êëþ÷ ïðàâèëüíûì êëþ÷îì ñèììåòðè÷íîãî äåøèôðèðîâàíèÿ. Åñëè îòêðûòûé òåêñò ñîîáùåíèÿ ïðåäñòàâëÿåò ñîáîé ÷òî-òî ïîõîæåå íà ASCII, îí ìîæåò ïîïûòàòüñÿ ðàñøèôðîâàòü è ïðî÷èòàòü ñîîáùåíèå. Åñëè îòêðûòûé òåêñò ñëó÷àåí , òî ñóùåñòâóþò äðóãèå ïðèåìû. Íàèâíûì ïîäõîäîì ÿâèëîñü áû ïðèñîåäèíåíèå ê îòêðûòîìó òåêñòó äî øèôðîâàíèÿ ïðîâåðî÷íîãî áëîêà èçâåñòíîãî çàãîëîâêà. Ïîëó÷àòåëü Áîá ðàñøèôðîâûâàåò çàãîëîâîê è ïðîâåðÿåò, ÷òî îí ïðàâèëåí . Ýòî ðàáîòàåò, íî äàåò Åâå èçâåñòíûé êóñî÷åê îòêðûòîãî òåêñòà, ÷òî ïîìîãàåò åé êðèïòîàíàëèçèðîâàòü ñèñòåìó . Ýòî òàêæå îá-
ëåã÷àåò âñêðûòèå øèôðîâ ñ êîðîòêèì êëþ÷îì, òàêèõ êàê DES è âñå ýêñïîðòèðóåìûå øèôðû. Ðàññ÷èòàéòå çàðàíåå îäèí ðàç äëÿ êàæäîãî êëþ÷à ïðîâåðî÷íóþ ñóììó, çàòåì èñïîëüçóéòå ýòó ïðîâåðî÷íóþ ñóììó äëÿ îïðåäåë åíèÿ êëþ÷à â ëþáîì ñîîáùåíèè, êîòîðîå âû ïåðåõâàòèëè ïîñëå ýòîãî . Ëþáàÿ ïðîâåðî÷íàÿ ñóììà êëþ÷à, â êîò îðóþ íå âêëþ÷åíû ñëó÷àéíûå èëè, ïî êðàéíåé ìåðå, ðàçëè÷íûå äàííûå, îáëàäàåò ýòèì ñâîéñòâîì . Ïî èäåå ýòî î÷åíü ïîõîæå íà ãåíåðàöèþ êëþ÷åé ïî êëþ÷ åâûì ôðàçàì. Âîò äëÿ ýòîãî ñïîñîá ïîëó÷øå [821]: (1) Ñãåíåðèòå âåêòîð èäåíòèôèêàöèè (îòëè÷íûé îò èñïîëüçóåìîãî â ñîîáùåíèè ). (2) Èñïîëüçóéòå ýòîò âåêòîð èäåíòèôèêàöèè äëÿ ãåíåðàöèè áîëüøîãî áëîêà áèòîâ : ñêàæåì, 512. (3) Õýøèðóéòå ðåçóëüòàò. (4) Èñïîëüçóéòå òå æå ôèêñèðîâàííûå áèòû õýø-çíà÷åíèÿ, ñêàæåì, 32, äëÿ êîíòðîëüíîé ñóììû êëþ÷à .
Ýòî òîæå äàåò Åâå êàêóþ-òî èíôîðìàöèþ, íî î÷åíü íåáîëüøóþ . Åñëè îíà ïîïûòàåòñÿ èñïîëüçîâàòü ìëàäøèå 32 áèòà êîíå÷íîãî õýø-çíà÷åíèÿ äëÿ âñêðûòèÿ ãðóáîé ñèëîé, åé ïðèäåòñÿ äëÿ êàæäîãî âåðîÿòíîãî êëþ÷à âûïî ëíèòü íåñêîëüêî øèôðîâàíèé è õýøèðîâàíèå, âñêðûòèå ãðóáîé ñèëîé ñàìîãî êëþ÷à îêàæåòñÿ áûñòðåå . Îíà íå ïîëó÷èò äëÿ ïðîâåðêè íèêàêèõ èçâåñòíûõ êóñî÷êîâ îòêðûòîãî òåêñòà, è äàæå åñëè îíà ñóìååò ïîäáð îñèòü íàì íàøå æå ñëó÷àéíîå çíà÷åíèå , îíà íèêîãäà íå ïîëó÷èò îò íàñ âûáðàííûé îòêðûòûé òåêñò, òàê êàê îí áóäåò ïðåîáðàçîâàí õýø-ôóíêöèåé ïðåæäå, ÷åì îíà åãî óâèäèò .
8.5 Èñïîëüçîâàíèå êëþ÷åé Ïðîãðàììíîå øèôðîâàíèå ðèñêîâàííî . Óøëè òå äíè, êîãäà ïðîñòûå ìèêðîêîìïüþòåðû ðàáîòàëè ïîä óïðà âëåíèåì åäèíñòâåííîé ïðîãðàììû . Ñåãîäíÿ âðåìÿ Macintosh System 7, Windows NT è UNIX. Íåâîçìîæíî ñêàçàòü, êîãäà îïåðàöèîííàÿ ñèñòåìà îñòàíîâèò ðàáîòàþùóþ ïðîãðàììó øèôðîâàíèÿ , çàïèøåò âñå íà äèñê è ðàçðåøèò âûïîëíÿòüñÿ êàêîé-òî äðóãîé çàäà÷å . Êîãäà îïåðàöèîííàÿ ñèñòåìà, íàêîíåö, âåðíåòñÿ ê øèôðîâàíèþ, ÷òîáû òàì íå øèôðîâàëîñü, êàðòèíêà ìîæåò îêàçàòüñÿ âåñüìà çàáàâíîé. Îïåðàöèîííàÿ ñèñòåìà çàïèñàëà ïð îãðàììó øèôðîâàíèÿ íà äèñê, è êëþ÷ çàïèñàí âìåñòå ñ íåé. Êëþ÷, íåçàøèôðîâàííûé, áóäåò ëåæàòü íà äèñêå, ïîêà êîìïüþòåð íå íàïèøåò ÷òî-íèáóäü â ýòó æå îáëàñòü ïàìÿòè ïîâåðõ . Ýòî ìîæåò ñëó÷èòüñÿ ÷åðåç íåñêîëüêî ìèíóò, à ìîæåò ÷åðåç íåñêîëüêî ìåñÿöåâ . Ýòîãî ìîæåò è íèêîãäà íå ñëó÷èòüñÿ, íî êëþ÷ âñå æå ìîæåò îêàçàòüñÿ íà äèñêå â òîò ìîìåíò, êîãäà æåñòêèé äèñê ãóñòî ïðî÷åñûâàåòñÿ âàøèì ïðîòèâíèêîì .  ïðèîðèòåòíîé, ìíîãîçàäà÷íîé ñðåäå, äëÿ øèôðîâàíèÿ ìîæíî óñòàíîâèòü äîñòàòî÷íî âûñîêèé ïðèîðèòåò, ÷òîáû ýòà îïåðàöèÿ íå ïð åðûâàëàñü. Ýòî ñíèçèëî áû ðèñê . Äàæå ïðè ýòîì ñèñòåìà â öåëîì â ëó÷øåì ñëó÷àå íåíàäåæíà . Àïïàðàòíûå ðåàëèçàöèè áåçîïàñíåå. Ìíîãèå èç óñòðîéñòâ øèôðîâàíèÿ ðàçðàáîòàíû òàê, ÷òîáû ëþáîå âì åøàòåëüñòâî ïðèâîäèëî áû ê óíè÷òîæåíèþ êëþ÷à. Íàïðèìåð, â ïëàòå øèôðîâàíèÿ äëÿ IBM PS/2 çàëèòûé ýïî êñèäíîé ñìîëîé ìîäóëü ñîäåðæèò ìèêðîñõåìó DES, áàòàðåþ è ïàìÿòü. Êîíå÷íî, Âû äîëæíû âåðèòü, ÷òî ïðîè çâîäèòåëü àïïàðàòóðû ïðàâèëüíî ðåàëèçîâàë âñå íåîáõîäèìûå ñâîéñòâà. Ðÿä êîììóíèêàöèîííûõ ïðèëîæåíèé, íàïðèìåð, òåëåôîííûå øèôðàòîðû, ìîãóò èñïîëüçîâàòü ñåàíñîâûå êëþ÷è. Ñåàíñîâûì íàçûâàåòñÿ êëþ÷, êîòîðûé èñïîëüçóåòñÿ òîëüêî äëÿ îäíîãî ñåàíñà ñâÿçè - åäèíñòâåííîãî òåëåôîííîãî ðàçãîâîðà - è çàòåì óíè÷òîæàåòñÿ . Íåò ñìûñëà õðàíèòü êëþ÷ ïîñëå òîãî, êàê îí áûë èñïîëüçîâàí . È åñëè âû èñïîëüçóåòå äëÿ ïåðåäà÷è êëþ÷à îò îäíîãî àáîíåíòà äðóãîìó íåêîòîðûé ïðîòîêîë îáìåíà êëþ÷àìè , òî ýòîò êëþ÷ íå íóæíî õðàíèòü è ïåðåä åãî èñïîëüçîâàíèåì . Ýòî çíà÷èòåëüíî ñíèæàåò âåðîÿòíîñòü êîìïðîìåò àöèè êëþ÷à. Êîíòðîëü èñïîëüçîâàíèÿ êëþ÷åé  íåêîòîðûõ ïðèëîæåíèÿõ ìîæåò ïîòðåáîâàòüñÿ êîíòðîëèðîâàòü ïðîöåññ èñïîëüçîâàíèÿ ñåàíñîâîãî êëþ÷à . Íåêîòîðûì ïîëüçîâàòåëÿì ñåàíñîâûå êëþ÷è íóæíû òîëüêî äëÿ øèôðîâàíèÿ èëè òîëüêî äëÿ äåøèôðèðîâàíèÿ . Ñåàíñîâûå êëþ÷è ìîãóò áûòü ðàçðåøåíû ê èñïîëüçîâàíèþ òîëüêî íà îïðåäåëåííîé ìàøèíå èëè òîëüêî â îïð åäåëåííîå âðåìÿ. Ïî îäíîé èç ñõåì óïðàâëåíèÿ ïîäîáíûìè îãðàíè÷åíèÿìè ê êëþ÷ó äîáàâëÿåòñÿ âåêòîð êîíòðîëÿ (Control Vector, CV), âåêòîð êîíòðîëÿ îïðåäåëÿåò äëÿ ýòîãî êëþ÷à îãðàíè÷åíèÿ åãî èñïîëüçîâàíèÿ (ñì. ðàçäåë 24.1) [1025, 1026]. Ýòîò CV õýøèðóåòñÿ, à çàòåì äëÿ íåãî è ãëàâíîãî êëþ÷à âûïîëíÿåòñÿ îïåðàöèÿ XOR. Ðåçóëüòàò èñïîëüçóåòñÿ êàê êëþ÷ øèôðîâàíèÿ äëÿ øèôðîâàíèÿ ñåàíñîâîãî êëþ÷à . Ïîëó÷åííûé ñåàíñîâûé êëþ÷ çàòåì õðàíèòñÿ âìåñòå ñ CV. Äëÿ âîññòàíîâëåíèÿ ñåàíñîâîãî êëþ÷à íóæíî õýøèðîâàòü CV è âûïîëíèòü äëÿ íåãî è ãëàâíîãî êëþ÷à îïåðàöèþ XOR. Ïîëó÷åííûé ðåçóëüòàò èñïîëüçóåòñÿ äëÿ äåøèôðèðîâàíèÿ øèôðîâàíí îãî ñåàíñîâîãî êëþ÷à. Ïðåèìóùåñòâà ýòîé ñõåìû â òîì, ÷òî äëèíà CV ìîæåò áûòü ïðîèçâîëüíîé, è ÷òî CV âñåãäà õðàíèòñÿ â îòêðûòîì âèäå âìåñòå ñ øèôðîâàííûì êëþ÷îì . Òàêàÿ ñõåìà íå âûäâèãàåò òðåáîâàíèé îòíîñèòåëüíî óñòîé÷èâîñòè àïïàðàòóðû ê âçëîìó è ïðåäïîëàãàåò îòñóòñòâèå íåïîñðåäñòâåííîãî äîñòóïà ïîëüçîâàòåëåé ê êëþ÷àì . Ýòà ñèñòåìà ðàññìàòðèâàåòñÿ íèæå â ðàçäåëàõ 24.1 è 24.8.
8.6 Îáíîâëåíèå êëþ÷åé Ïðåäñòàâüòå ñåáå øèôðîâàííûé êàíàë ïåðåäà÷è äàííûõ, äëÿ êîòîðîãî âû õîòèòå ìåíÿòü êëþ÷è êàæäûé äåíü. Èíîãäà åæåäíåâíîå ðàñïðåäåëåíèå íîâûõ êëþ÷åé ÿâëÿåòñÿ íåëåãêîé çàáîòîé . Áîëåå ïðîñòîå ðåøåíèå - ãåíåðèðîâàòü íîâûé êëþ÷ èç ñòàðîãî, òàêàÿ ñõåìà èíîãäà íàçûâàåòñÿ îáíîâëåíèåì êëþ÷à. Âñå, ÷òî íóæíî - ýòî îäíîíàïðàâëåííàÿ ôóíêöèÿ . Åñëè Àëèñà è Áîá èñïîëüçóþò îáùèé êëþ÷ è ïðèìåíÿþò ê íåìó îäíó è òó æå îäíîíàïðàâëåííóþ ôóíêöèþ, îíè ïîëó÷àò îäèíàêîâûé ðåçóëüòàò . Îíè ìîãóò âûáðàòü èç ðåçóëüòàòà íóæíûå èì áèòû è ñîçäàòü íîâûé êëþ÷ . Îáíîâëåíèå êëþ÷åé ðàáîòàåò, íî ïîìíèòå, ÷òî áåçîïàñíîñòü íîâîãî êëþ÷à îïðåäåëÿåòñÿ áåçîïàñíîñòüþ ñò àðîãî êëþ÷à. Åñëè Åâå óäàñòñÿ çàïîëó÷èòü ñòàðûé êëþ÷, îíà ñìîæåò âûïîëíèòü îáíîâëåíèå êëþ÷åé ñàìîñòî ÿòåëüíî. Îäíàêî, åñëè ñòàðîãî êëþ÷à ó Åâû íåò, è îíà ïûòàåòñÿ âûïî îòíîøåíèþ ê øèôðîâàííîìó òðàôèêó ïî ëíèòü âñêðûòèå ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà , îáíîâëåíèå êëþ÷åé ÿâëÿåòñÿ õîðîøèì ñïîñîáîì çàùèòû äëÿ Àëèñû è Áîáà.
8.7 Õðàíåíèå êëþ÷åé Íàèìåíåå ñëîæíûìè ïðè õðàíåíèè êëþ÷åé ÿâëÿþòñÿ ïðîáëåìû îäíîãî ïîëüçîâàòåëÿ, Àëèñû, øèôðóþùåé ôàéëû äëÿ ïîñëåäóþùåãî èñïîëüçîâàíèÿ . Òàê êàê îíà ÿâëÿåòñÿ åäèíñòâåííûì äåéñòâóþùèì ïîëüçîâàòåëåì ñè ñòåìû, òîëüêî îíà è îòâå÷àåò çà êëþ÷ .  íåêîòîðûõ ñèñòåìàõ èñïîëüçóåòñÿ ïðîñòîé ïîäõîä : êëþ÷ õðàíèòñÿ â ãîëîâå Àëèñû è áîëüøå íèãäå. Ýòî ïðîáëåìû Àëèñû - ïîìíèòü êëþ÷ è ââîäèòü åãî âñÿêèé ðàç, êîãäà åé íóæíî çàøèôðîâàòü èëè ðàñøèôðîâàòü ôàéë . Ïðèìåðîì òàêîé ñèñòåìû ÿâëÿåòñÿ IPS [881]. Ïîëüçîâàòåëè ìîãóò ëèáî ââîäèòü 64-áèòîâûé êëþ÷ íåïîñðå äñòâåííî, ëèáî ââåñòè êëþ÷ êàê áîëåå äëèííóþ ñèìâîëüíóþ ñòðîêó .  ïîñëåäíåì ñëó÷àå ñèñòåìà ãåíåðèðóåò 64áèòîâûé êëþ÷ ïî ñòðîêå ñèìâîëîâ, èñïîëüçóÿ òåõíèêó ïåðåìàëûâàíèÿ êëþ÷à . Äðóãèì ðåøåíèåì ÿâëÿåòñÿ õðàíèòü êëþ÷ â âèäå êàðòî÷êè ñ ìàãíèòíîé ïîëîñêîé, ïëàñòèêîâîãî êëþ÷à ñ âñòðîåííîé ìèêðîñõåìîé ROM (íàçûâàåìîãî ROM-êëþ÷) èëè èíòåëëåêòóàëüíîé êàðòî÷êè [556, 557, 455]. Ïîëüçîâàòåëü ìîæåò ââåñòè ñâîé êëþ÷ â ñèñòåìó, âñòàâèâ ôèçè÷åñêèé íîñèòåëü â ñ÷èòûâàþùåå óñòðîéñòâî, âñòðîåííîå â åãî øèôðîâàòåëü èëè ïîäêëþ÷åííîå ê êîìïüþòåðíîìó òåðìèíàëó . Õîòÿ ïîëüçîâàòåëü ìîæåò èñïîëüçîâàòü êëþ÷, îí íå çíàåò åãî è íå ìîæåò åãî ñêîìïðîìåòèðîâàòü . Îí ìîæåò èñïîëüçîâàòü åãî òîëüêî òåì ñïîñîáîì è òîëüêî äëÿ òåõ öåëåé, êîò îðûå îïðåäåëåíû âåêòîðîì êîíòðîëÿ . ROM-êëþ÷ - ýòî î÷åíü óìíàÿ èäåÿ. Ïðàêòè÷åñêè ëþáîé ñïîñîáåí îñîçíàòü, ÷òî òàêîå ôèçè÷åñêèé êëþ÷, ê àêîâî åãî çíà÷åíèå, è êàê åãî çàùèòèòü . Ïðèäàíèå êðèïòîãðàôè÷åñêîìó êëþ÷ó íåêîòîðîé ôèçè÷åñêîé ôîðìû ä åëàåò õðàíåíèå è çàùèòó òàêîãî êëþ÷à èíòóèòèâíî áîëåå ïîíÿòíûì . Ýòà òåõíèêà ñòàíîâèòñÿ áîëåå áåçîïàñíîé ïðè ðàçáèåíèè êëþ÷à íà äâå ïîëîâèíû, îäíà èç êîòîðûõ õðàíèòñÿ â òåðìèíàëå, à âòîðàÿ - â ROM-êëþ÷å. Òàê ðàáîòàåò áåçîïàñíûé òåëåôîí STU-III ïðàâèòåëüñòâà ÑØÀ. Ïîòåðÿ ROM-êëþ÷à íå êîìïðîìåòèðóåò êðèïòîãðàôè÷åñêèé êëþ÷ - çàìåíèòå ýòîò êëþ÷ è âñå ñíîâà ñòàíåò íîðìàëüíî . Òî æå ïðîèñõîäèò è ïðè ïîòåðå òåðìèíàëà . Ñëåäîâàòåëüíî, êîìïðîìåòàöèÿ ROM-êëþ÷à èëè ñèñòåìû íå êîìïðîìåòèðóåò êðèïòîãðàôè÷åñêèé êëþ÷ key - âðàãó íóæíî çàïîëó÷èòü îáå ÷àñòè . Êëþ÷è, êîòîðûå òðóäíî çàïîìíèòü ìîæíî õðàíèòü çàøèôðîâàííûìè, èñïîëüçóÿ ÷òî-òî ïîõîæåå íà êëþ÷ øèôðîâàíèÿ êëþ÷åé. Íàïðèìåð, çàêðûòûé êëþ÷ RSA ìîæåò áûòü çàøèôðîâàí êëþ÷îì DES è çàïèñàí íà äèñê. Äëÿ âîññòàíîâëåíèÿ êëþ÷à RSA ïîëüçîâàòåëü áóäåò äîëæåí ââåñòè êëþ÷ DES â ïðîãðàììó äåøèôðèðîâàíèÿ. Åñëè êëþ÷è ãåíåðèðóþòñÿ äåòåðìèíèðîâàíî (ñ ïîìîùüþ êðèïòîãðàôè÷åñêè áåçîïàñíîãî ãåíåðàòîðà ïñåâä îñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé ), ìîæåò áûòü ïðè ïîìîùè ëåãêî çàïîìèíàþùåãîñÿ ïàðîëÿ ëåã÷å ãåíåðèðîâàòü êëþ÷è ïîâòîðíî âñÿêèé ðàç, êîãäà îíè ïîíàäîáÿòñÿ .  èäåàëå, êëþ÷ íèêîãäà íå äîëæåí îêàçûâàòüñÿ âíå øèôðîâàëüíîãî óñòðîéñòâà â íåçàøèôðîâàííîì âèäå . Ýòà öåëü íå âñåãäà äîñòèæèìà, íî ê ýòîìó íóæíî ñòðåìèòüñÿ .
8.8 Ðåçåðâíûå êëþ÷è Àëèñà ðàáîòàåò ãëàâíûì ôèíàíñèñòîì â Secrets, Ltd. - "Íàø äåâèç - Ìû òåáå íå ñêàæåì ." Êàê ïðèìåðíûé ñëóæàùèé êîðïîðàöèè îíà â ñîîòâåòñòâèè ñ èíñòðóêöèÿìè ïî áåçîïàñíîñòè øèôðóåò âñå ñâîè äàííûå . Ê íåñ÷àñòüþ, îíà, ïðîèãíîðèðîâàâ èíñòðóêöèè ïî ïåðåõîäó óëèöû, ïîïàëà ïîä ãðóçîâèê . ×òî äåëàòü ïðåçèäåíòó êîìïàíèè Áîáó? Åñëè Àëèñà íå îñòàâèëà êîïèè ñâîåãî êëþ÷à, åìó ïðèäåòñÿ íåñëàäêî. Âåñü ñìûñë øèôðîâàíèÿ ôàéëîâ - â í åâîçìîæíîñòè âîññòàíîâèòü èõ áåç êëþ÷à . Åñëè Àëèñà íå áûëà äóðîé è íå èñïîëüçîâàëà ïëîõèõ øèôðîâàëüíûõ ïðîãðàìì, òî åå ôàéëû ïðîïàëè íàâñåãäà. Ó Áîáà åñòü íåñêîëüêî ñïîñîáîâ èçáåæàòü ýòîãî . Ïðîñòåéøèé èíîãäà íàçûâàþò óñëîâíûì âðó÷åíèåì êëþ-
÷åé (ñì. ðàçäåë 4.14). Îí òðåáóåò, ÷òîáû âñå ñîòðóäíèêè çàïèñàëè ñâîè êëþ÷è íà áóìàæêàõ îòäàëè èõ íà÷àëüíèêó ñëóæáû áåçîïàñíîñòè êîìïàíèè , êîòîðûé çàïðåò èõ ãäå-íèáóäü â ñåéô (èëè çàøèôðóåò èõ ãëàâíûì êëþ÷îì). Òåïåðü, ÷òîáû íå ñëó÷èëîñü ñ Àëèñîé, Áîá óçíàåò åå êëþ÷ ó íà÷àëüíèêà ñëóæáû áåçîïàñíîñòè . Åùå îäíó êîïèþ Áîá òàêæå äîëæåí õðàíèòü â ñâîåì ñåéôå, â ïðîòèâíîì ñëó÷àå, åñëè íà÷àëüíèê ñëóæáû áåçîïàñí îñòè ïîïàäåò ïîä äðóãîé ãðóçîâèê, Áîáó ñíîâà íå ïîâåçåò . Ïðîáëåìà òàêîé ñèñòåìû óïðàâëåíèÿ êëþ÷àìè â òîì, ÷òî Áîá äîëæåí âåðèòü, ÷òî åãî íà÷àëüíèê ñëóæáû áåçîïàñíîñòè íå âîñïîëüçóåòñÿ ÷óæèìè êëþ÷àìè . ×òî åùå ñåðüåçíåå, âñå ñîòðóäíèêè äîëæíû âåðèòü, ÷òî í à÷àëüíèê ñëóæáû áåçîïàñíîñòè íå âîñïîëüçóåòñÿ èõ êëþ÷àìè . Ñóùåñòâåííî ëó÷øèì ðåøåíèåì ÿâëÿåòñÿ èñïîë üçîâàíèå ïðîòîêîëà ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà (ñì. ðàçäåë 3.7). Êîãäà Àëèñà ãåíåðèðóåò êëþ÷, îíà îäíîâðåìåííî äåëèò êëþ÷ íå íåñêîëüêî ÷àñòåé è çàòåì ïîñûëàåò âñå ÷à ñòè - çàøèôðîâàííûå, êîíå÷íî - ðàçëè÷íûì äîëæíîñòíûì ëèöàì êîìïàíèè . Íè îäíà èç ýòèõ ÷àñòåé ñàìà ïî ñåáå íå ÿâëÿåòñÿ êëþ÷îì, íî âñå ýòè ÷àñòè ìîæíî ñîáðàòü âìåñòå è âîññòàíîâèòü êëþ÷ . Òåïåðü Àëèñà çàùèùåíà îò çëîóìûøëåííèêîâ, à Áîá - îò ïîòåðè âñåõ äàííûõ Àëèñû ïîñëå åå ïîïàäàíèÿ ïîä ãðóçîâèê . Èëè, îíà ìîæåò ïðîñòî õðàíèòü ðàçíûå ÷àñòè, çàøèôðîâàííûå îòêðûòûìè êëþ÷àìè ñîîòâåòñòâóþùèõ äîëæíîñòíûõ ëèö êîìïàíèè, íà ñâîåì æåñòêîì äèñêå. Òàêèì îáðàçîì, íèêòî íå ó÷àñòâóåò â óïðàâëåíèè êëþ÷àìè, ïîêà ýòî íå ñòàíåò íåîáõ îäèìûì. Äðóãàÿ ñõåìà ðåçåðâèðîâàíèÿ [188] èñïîëüçóåò äëÿ âðåìåííîãî óñëîâíîãî âðó÷åíèÿ êëþ÷åé èíòåëëåêòóàë üíûå êàðòî÷êè (ñì. ðàçäåë 24.13). Àëèñà ìîæåò ïîìåñòèòü êëþ÷, êîòîðûì çàêðûò åå æåñòêèé äèñê, íà èíòåëëå êòóàëüíóþ êàðòî÷êó è âûäàòü åå Áîáó, ïîêà îíà â îòúåçäå . Áîá ìîæåò èñïîëüçîâàòü êàðòî÷êó äëÿ äîñòóïà ê æåñ òêîìó äèñêó Àëèñû, íî, òàê êàê êëþ÷ õðàíèòñÿ íà êàðòî÷êå, Áîá íå ñìîæåò åãî óçíàòü . Êðîìå òîãî, òàêàÿ ñèñòåìà êîíòðîëèðóåìà ñ îáåèõ ñòîðîí: Áîá ìîæåò ïðîâåðèòü, ÷òî êëþ÷ îòêðûâàåò äèñê Àëèñû, à êîãäà Àëèñà âåðíåòñÿ, îíà ñìîæåò ïðîâåðèòü, èñïîëüçîâàë ëè Áîá ðàç ýòîò êëþ÷, è åñëè äà, òî ñêîëüêî ðàç .  ïîäîáíîé ñõåìå íå íóæíà ïåðåäà÷à äàííûõ. Äëÿ áåçîïàñíîãî òåëåôîíà êëþ÷ äîëæåí ñóùåñòâîâàòü òîëüêî â òå÷åíèå ðàçãîâîðà è íå äîëüøå . Äëÿ õðàíèëèù äàííûõ, êàê áûëî ïîêàçàíî, óñëîâíîå âðó÷åíèå êëþ÷åé ìîæåò áûòü íåïëîõîé èäååé. ß òåðÿþ êëþ÷è ïðèìåðíî ðàç â ïÿòü ëåò, à ìîÿ ïàìÿòü ïîëó÷øå, ÷åì ó ìíîãèõ . Åñëè áû 200 ìèëëèîíîâ ÷åëîâåê ïîëüçîâàëèñü êðèïòîãðàôèåé , ïîäîáíàÿ ÷àñòîòà ïðèâåëà áû ê ïîòåðå 40 ìèëëèîíîâ êëþ÷åé åæåãîäíî. ß õðàíþ êîïèè êëþ÷åé îò ìîåãî äîìà ó ñîñåäà, ïîòîìó ÷òî ÿ ìîãó ïîòåðÿòü ñâîè êëþ÷è . Åñëè áû êëþ÷è îò äîìà áûëè ïîäîáíû êðèïòîãðàôè÷åñêèì êëþ÷àì, òî, ïîòåðÿâ èõ, ÿ íèêîãäà íå ñìîã áû ïîïàñòü âíóòðü è âñòóïèòü â ñâîè ïðàâà âëàäåíèÿ . Òàêæå, êàê ÿ õðàíþ ãäå-òî â äðóãîì ìåñòå êîïèè ñâîèõ äàííûõ, ìíå èìååò ñìûñë õðàíèòü è ðåçåðâíûå êîïèè ìîèõ êëþ÷åé øèôðîâàíèÿ .
8.9 Ñêîìïðîìåòèðîâàííûå êëþ÷è Âñå ïðîòîêîëû, ìåòîäû è àëãîðèòìû ýòîé êíèãè áåçîïàñíû òîëüêî, åñëè êëþ÷ (çàêðûòûé êëþ÷ â ñèñòåìå ñ îòêðûòûìè êëþ÷àìè) îñòàåòñÿ â òàéíå. Åñëè êëþ÷ Àëèñû óêðàäåí, ïîòåðÿí, íàïå÷àòàí â ãàçåòå èëè ñêîìïðîì åòèðîâàí èíûì ñïîñîáîì, òî âñå åå áåçîïàñíîñòü èñ÷åçíåò . Åñëè ñêîìïðîìåòèðîâàííûé êëþ÷ èñïîëüçîâàëñÿ äëÿ ñèììåòðè÷íîé êðèïòîñèñòåìû, Àëèñå ïðèäåòñÿ èçì åíèòü ñâîé êëþ÷ è íàäåÿòüñÿ, ÷òî ñëó÷èâøèéñÿ óùåðá ìèíèìàëåí . Åñëè ýòî çàêðûòûé êëþ÷, åå ïðîáëåìû íàìí îãî áîëüøå, òàê êàê åå îòêðûòûé êëþ÷ ìîæåò õðàíèòüñÿ íà ìíîãèõ ñåðâåðàõ â ñåòè. È åñëè Åâà ïîëó÷èò äîñòóï ê çàêðûòîìó êëþ÷ó Àëèñû, îíà ñìîæåò âûäàòü ñåáÿ çà íåå â ýòîé ñåòè : ÷èòàòü øèôðîâàííóþ ïî÷òó, ïîäïèñûâàòü êîððåñïîíäåíöèþ è êîíòðàêòû, è òàê äàëåå . Åâà äåéñòâèòåëüíî ñìîæåò ñòàòü Àëèñîé. Æèçíåííî íåîáõîäèìî, ÷òîáû èçâåñòèå î êîìïðîìåòàöèè çàêðûòîãî êëþ÷à áûñòðî ðàñïðîñòðàíèëîñü áû ïî ñåòè. Íóæíî íåìåäëåííî èçâåñòèòü âñå áàçû äàííûõ îòêðûòûõ êëþ÷åé î ñëó÷èâøåéñÿ êîìïðîìåòàöèè, ÷òîáû íè÷åãî íå ïîäîçðåâàþùèé ÷åëîâåê íå çàøèôðîâàë ñîîáùåíèå ñêîìïðîìåòèðîâàííûì êëþ÷îì . Õîðîøî, åñëè Àëèñà çíàåò, êîãäà áûë ñêîìïðîìåòèðîâàí åå êëþ÷ . Åñëè êëþ÷ ðàñïðåäåëÿåò KDC, òî Àëèñà äîëæíà ñîîáùèòü åìó î êîìïðîìåòàöèè ñâîåãî êëþ÷à . Åñëè KDC íå èñïîëüçóåòñÿ, òî åé ñëåäóåò èçâåñòèòü âñåõ êîððåñïîíäåíòîâ, êîòîðûå ìîãóò ïîëó÷àòü îò íåå ñîîáùåíèÿ . Êòî-òî äîëæåí îïóáëèêîâàòü òîò ôàêò, ÷òî ëþáîå ñîîáùåíèå, ïîëó÷åííîå ïîñëå ïîòåðè êëþ÷à Àëèñîé, ÿâëÿåòñÿ ïîäîçðèòåëüíûì, è ÷òî íèêòî íå äîëæåí ïîñûëàòü ñîîáùåíèÿ Àëèñå, èñïîëüçóÿ ñîîòâåòñòâóþùèé îòêðûòûé êëþ÷ . Ðåêîìåíäóåòñÿ, ÷òîáû ïðîãðàììíîå îáåñïå÷ åíèå èñïîëüçîâàëî êàêèå-íèáóäü ìåòêè âðåìåíè, òîãäà ïîëüçîâàòåëè ñìîãóò îïðåäåëèòü, êàêèå ñîîáùåíèÿ çàêî ííû, à êàêèå ïîäîçðèòåëüíû. Åñëè Àëèñà íå çíàåò òî÷íî, êîãäà åå êëþ÷ áûë ñêîìïðîìåòèðîâàí, òî äåëî õóæå . Àëèñà ìîæåò çàõîòåòü îòêàçàòüñÿ îò êîíòðàêòà, òàê êàê îí ïîäïèñàí âìåñòî íåå ÷åëîâåêîì, óêðàâøèì ó íåå êëþ÷ . Åñëè ñèñòåìà äàåò òàêóþ âîçìîæíîñòü, òî êòî óãîäíî ñìîæåò îòêàçàòüñÿ îò êîíòðàêòà, óòâåðæäàÿ, ÷òî åãî êëþ÷ áûë ñêîìïðîìåòèðîâàí ïåðåä ïîäïèñàíèåì. Âîïðîñ äîëæåí áûòü ðåøåí àðáèòðîì . Ýòî ñåðüåçíàÿ ïðîáëåìà ïîêàçûâàåò, êàê îïàñíî äëÿ Àëèñû ñâÿçûâàòü ñâîþ ëè÷íîñòü ñ åäèíñòâåííûì êë þ÷îì. Ëó÷øå, ÷òîáû ó Àëèñû áûëè ðàçëè÷íûå êëþ÷è äëÿ ðàçëè÷íûõ ïðèëîæåíèé - òî÷íî òàêæå, êàê îíà äåðæèò â
ñâîåì êàðìàíå ôèçè÷åñêèå êëþ÷è äëÿ ðàçëè÷íûõ çàìêîâ . Äðóãèå ðåøåíèÿ ýòîé ïðîáëåìû âêëþ÷àþò áèîìåòð è÷åñêèå èçìåðåíèÿ, îãðàíè÷åíèÿ âîçìîæíîñòåé èñïîëüçîâàíèÿ êëþ÷à, çàäåðæêè âðåìåíè è âòîðàÿ ïîäïèñü . Ýòè ïðîöåäóðû è ðåêîìåíäàöèè íàâåðíÿêà íå îïòèìàëüíû, íî ýòî ëó÷øåå, ÷òî ìû ìîæåì ïîñîâåòîâàòü . Ìîðàëü - çàùèùàéòå êëþ÷è, è ñèëüíåå âñåãî çàùèùàéòå çàêðûòûå êëþ÷è .
8.10 Âðåìÿ æèçíè êëþ÷åé Íè îäèí êëþ÷ øèôðîâàíèÿ íåëüçÿ èñïîëüçîâàòü áåñêîíå÷íî . Âðåìÿ åãî äåéñòâèÿ äîëæíî èñòåêàòü àâòîìàò è÷åñêè, ïîäðîáíî ïàñïîðòàì è ëèöåíçèÿì . Âîò íåñêîëüêî ïðè÷èí ýòîãî: ×åì äîëüøå èñïîëüçóåòñÿ êëþ÷, òåì áîëüøå âåðîÿòíîñòü åãî êîìïðîìåòàöèè . Ëþäè çàïèñûâàþò êëþ÷è è òåðÿþò èõ. Ïðîèñõîäÿò íåñ÷àñòíûå ñëó÷àè. Åñëè âû èñïîëüçóåòå êëþ÷ â òå÷åíèå ãîäà, òî âåðîÿòíîñòü åãî êîìïðîìåòàöèè ãîðàçäî âûøå, ÷åì åñëè áû âû èñïîëüçîâàëè åãî òîëüêî îäèí äåíü . ×åì äîëüøå èñïîëüçóåòñÿ êëþ÷, òåì áîëüøå ïîòåðè ïðè êîìïðîìåòàöèè êëþ÷à . Åñëè êëþ÷ èñïîëüçóåòñÿ òîëüêî äëÿ øèôðîâàíèÿ îäíîãî ôèíàíñîâîãî äîêóìåíòà íà ôàéë-ñåðâåðå , òî ïîòåðÿ êëþ÷à îçíà÷àåò êîìïðîìåòàöèþ òîëüêî ýòîãî äîêóìåíòà . Åñëè òîò æå ñàìûé êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ âñåé ôèíà íñîâîé èíôîðìàöèè íà ôàéë-ñåðâåðå , òî åãî ïîòåðÿ ãîðàçäî áîëåå ðàçðóøèòåëüíà . ×åì äîëüøå èñïîëüçóåòñÿ êëþ÷, òåì áîëüøå ñîáëàçí ïðèëîæèòü íåîáõîäèìûå óñèëèÿ äëÿ åãî âñêðûòèÿ äàæå ãðóáîé ñèëîé. Âñêðûòèå êëþ÷à, èñïîëüçóåìîãî â òå÷åíèå äíÿ äëÿ ñâÿçè ìåæäó äâóìÿ âîèíñêèìè ïîäðàçäåëåíèÿìè, ïîçâîëèò ÷èòàòü ñîîáùåíèÿ, êîòîðûìè îáìåíèâàþòñÿ ïîäðàçäåëåíèÿ, è ñîçäàâàòü ïî ääåëüíûå. Âñêðûòèå êëþ÷à, èñïîëüçóåìîãî â òå÷åíèå ãîäà âñåé âîåííîé êîìàíäíîé ñòðóêòóðîé, ïîçâîëèëî áû âçëîìùèêó â òå÷åíèå ãîäà ÷èòàòü âñå ñîîáùåíèÿ, öèðêóëèðóþùèå â ýòîé ñèñòåìå ïî âñåìó ìèðó, è ïîääåëûâàòü èõ.  íàøåì ìèðå çàêîí÷èâøåéñÿ õîëîäíûé âîéíû êàêîé êëþ÷ âûáðàëè áû äëÿ âñêðûòèÿ âû? Îáû÷íî íàìíîãî ëåã÷å ïðîâîäèòü êðèïòîàíàëèç, èìåÿ ìíîãî øèôðîòåêñòîâ, øèôðîâàííûõ îäíèì è òåì æå êëþ÷îì. Äëÿ ëþáîãî êðèïòîãðàôè÷åñêîãî ïðèëîæåíèÿ íåîáõîäèìà ñòðàòåãèÿ, îïðåäåëÿþùàÿ äîïóñòèìîå âðåìÿ æè çíè êëþ÷à. Ó ðàçëè÷íûõ êëþ÷åé ìîãóò áûòü ðàçëè÷íûå âðåìåíà æèçíè . Äëÿ ñèñòåì ñ óñòàíîâëåíèåì ñîåäèíåíèÿ, òàêèõ êàê òåëåôîí, èìååò ñìûñë èñïîëüçîâàòü êëþ÷ òîëüêî â òå÷åíèå òåëåôîííîãî ðàçãîâîðà, à äëÿ íîâîãî ðà çãîâîðà - èñïîëüçîâàòü íîâûé êëþ÷ . Äëÿ ñèñòåì, èñïîëüçóþùèõ ñïåöèàëèçèðîâàííûå êàíàëû ñâÿçè, âñå íå òàê î÷åâèäíî . Ó êëþ÷åé äîëæíî áûòü îòíîñèòåëüíî êîðîòêîå âðåìÿ æèçíè, â çàâèñèìîñòè îò çíà÷èìîñòè äàííûõ è êîëè÷åñòâà äàííûõ, çàøèôðîâà ííûõ â òå÷åíèå çàäàííîãî ïåðèîäà . Êëþ÷ äëÿ êàíàëà ñâÿçè ñî ñêîðîñòüþ ïåðåäà÷è 1 Ãèãàáèò â ñåêóíäó âîçìîæíî ïðèäåòñÿ ìåíÿòü ãîðàçäî ÷àùå, ÷åì äëÿ ìîäåìíîãî êàíàëà 9600 áèò/ñ. Åñëè ñóùåñòâóåò ýôôåêòèâíûé ìåòîä ï åðåäà÷è íîâûõ êëþ÷åé, ñåàíñîâûå êëþ÷è äîëæíû ìåíÿòüñÿ õîòÿ áû åæåäíåâíî . Êëþ÷è øèôðîâàíèÿ êëþ÷åé òàê ÷àñòî ìåíÿòü íå íóæíî . Îíè èñïîëüçóþòñÿ ðåäêî (ïðèáëèçèòåëüíî ðàç â äåíü) äëÿ îáìåíà êëþ÷àìè. Ïðè ýòîì øèôðîòåêñòà äëÿ êðèïòîàíàëèòèêà îáðàçóåòñÿ íåìíîãî, à ó ñîîòâåòñòâó þùåãî îòêðûòîãî òåêñòà íåò îïðåäåëåííîé ôîðìû . Îäíàêî, åñëè êëþ÷ øèôðîâàíèÿ êëþ÷åé ñêîìïðîìåòèðîâàí, ïîòåíöèàëüíûå ïîòåðè ÷ðåçâû÷àéíû : âñÿ èíôîðìàöèÿ, çàøèôðîâàííàÿ êëþ÷àìè, çàøèôðîâàííûìè êëþ÷îì øèôðîâàíèÿ êëþ÷åé.  íåêîòîðûõ ïðèëîæåíèÿõ êëþ÷è øèôðîâàíèÿ êëþ÷åé çàìåíÿþòñÿ òîëüêî ðàç â ìåñÿö èëè äàæå ðàç â ãîä. Âàì ïðèäåòñÿ êàê-òî óðàâíîâåñèòü îïàñíîñòü, ñâÿçàííóþ ñ èñïîëüçîâàíèåì îäíîãî è òîãî æå êëþ÷à, è îïàñíîñòü, ñâÿçàííóþ ñ ïåðåäà÷åé íîâîãî êëþ÷à . Êëþ÷è øèôðîâàíèÿ, èñïîëüçóåìûå ïðè øèôðîâàíèè ôàéëîâ äàííûõ äëÿ äëèòåëüíîãî õðàíåíèÿ, íåëüçÿ ì åíÿòü ÷àñòî. Ôàéëû ìîãóò õðàíèòüñÿ íà äèñêå çàøèôðîâàííûìè ìåñÿöàìè èëè ãîäàìè, ïðåæäå ÷åì îíè êîìóíèáóäü ñíîâà ïîíàäîáÿòñÿ. Åæåäíåâíîå äåøèôðèðîâàíèå è ïîâòîðíîå øèôðîâàíèå íîâûì êëþ÷îì íèêàê íå ï îâûñèò áåçîïàñíîñòü, ïðîñòî êðèïòîàíàëèòèê ïîëó÷èò áîëüøå ìàòåðèàëà äëÿ ðàáîòû . Ðåøåíèåì ìîæåò ïîñëóæèòü øèôðîâàíèå êàæäîãî ôàéëà óíèêàëüíûì êëþ÷îì è ïîñëåäóþùåå øèôðîâàíèå êëþ÷åé ôàéëîâ êëþ÷îì øèôðîâàíèÿ êëþ÷åé. Êëþ÷ øèôðîâàíèÿ êëþ÷åé äîëæåí áûòü ëèáî çàïîìíåí, ëèáî ñîõðàíåí â áåçîïàñíîì ìå ñòå, ìîæåò áûòü ãäå-íèáóäü â ñåéôå. Êîíå÷íî æå, ïîòåðÿ ýòîãî êëþ÷à îçíà÷àåò ïîòåðþ âñåõ èíäèâèäóàëüíûõ ôàéëîâûõ êëþ÷åé. Âðåìÿ æèçíè çàêðûòûõ êëþ÷åé äëÿ ïðèëîæåíèé êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè çàâèñèò îò ïðèëîæ åíèÿ. Çàêðûòûå êëþ÷è äëÿ öèôðîâûõ ïîäïèñåé è èäåíòèôèêàöèè ìîãóò èñïîëüçîâàòüñÿ ãîäàìè (äàæå â òå÷åíèå ÷åëîâå÷åñêîé æèçíè). Çàêðûòûå êëþ÷è äëÿ ïðîòîêîëîâ áðîñàíèÿ ìîíåòû ìîãóò áûòü óíè÷òîæåíû ñðàçó æå ï îñëå çàâåðøåíèÿ ïðîòîêîëà. Äàæå åñëè ñ÷èòàåòñÿ, ÷òî âðåìÿ áåçîïàñíîñòè êëþ÷à ïðèìåðíî ðàâíî ÷åëîâå÷åñêîé æèçíè, áëàãîðàçóìíåå ìåíÿòü êëþ÷ êàæäóþ ïàðó ëåò. Âî ìíîãèõ ÷åòÿõ çàêðûòûå êëþ÷è èñïîëüçóþòñÿ òîëüêî äâà ãîäà, çàòåì ïîëüçîâàòåëü äîëæåí ïîëó÷èòü íîâûé çàêðûòûé êëþ÷ . Ñòàðûé êëþ÷, òåì íå ìåíåå, äîëæåí õð àíèòüñÿ â ñåêðåòå íà ñëó÷àé, êîãäà ïîëüçîâàòåëþ áóäåò íóæíî ïîäòâåðäèòü ïîäïèñü, ñäåëàííóþ âî âðåìÿ äåéñ òâèÿ ñòàðîãî êëþ÷à. Íî äëÿ ïîäïèñàíèÿ íîâûõ äîêóìåíòîâ äîëæåí èñïîëüçîâàòüñÿ íîâûé êëþ÷. Òàêàÿ ñõåìà ï î-
çâîëèò óìåíüøèòü êîëè÷åñòâî äîêóìåíòîâ, êîòîðîå êðèïòîàíàëèòèê ñìîæåò èñïîëüçîâàòü äëÿ âñêðûòèÿ .
8.11 Ðàçðóøåíèå êëþ÷åé Ïðèíèìàÿ âî âíèìàíèå, ÷òî êëþ÷è äîëæíû ðåãóëÿðíî ìåíÿòüñÿ, ñòàðûå êëþ÷è íåîáõîäèìî óíè÷òîæàòü. Ñòàðûå êëþ÷è èìåþò îïðåäåëåííîå çíà÷åíèå, äàæå åñëè îíè íèêîãäà áîëüøå íå èñïîëüçóþòñÿ. Ñ èõ ïîìîùüþ âðàã ñìîæåò ïðî÷èòàòü ñòàðûå ñîîáùåíèÿ, çàøèôðîâàííûå ýòèìè êëþ÷àìè [65]. Êëþ÷è äîëæíû óíè÷òîæàòüñÿ íàäåæíî (ñì. ðàçäåë 10.9). Åñëè êëþ÷ çàïèñàí íà áóìàæêå, áóìàæêó íóæíî ðàçðåçàòü è ñæå÷ü. Ïîëüçóéòåñü êà÷åñòâåííûìè óíè÷òîæèòåëÿìè áóìàãè, ðûíîê çàïîëíåí äåôåêòíûìè óñòðî éñòâàìè. Àëãîðèòìû, îïèñàííûå â ýòîé êíèãå, íàäåæíî ïðîòèâîñòîÿò âñêðûòèþ ãðóáîé ñèëîé, ñòîÿùåìó ìèëëè îíû äîëëàðîâ è òðåáóþùåìó ìèëëèîíîâ ëåò . Åñëè âðàã ñìîæåò ðàñêðûòü âàø êëþ÷, äîáûâ ïëîõî èçìåëü÷åííûå äîêóìåíòû èç âàøåãî ìóñîðíèêà è íàíÿâ ñîòíþ áåçðàáîòíûõ â êàêîé-íèáóäü îòñòàëîé ñòðàíå çà 10 öåíòîâ â ÷àñ ñêëåèâàòü âìåñòå êóñî÷êè ðàçðåçàííûõ ñòðàíèö, îí âûãîäíî âëîæèò ïàðó äåñÿòêîâ òûñÿ÷ äîëëàðîâ . Åñëè êëþ÷ - ýòî ìèêðîñõåìà EEPROM, òî êëþ÷ íåîáõîäèìî ïåðåïèñàòü íåñêîëüêî ðàç . Åñëè êëþ÷ - ýòî ìèêðîñõåìà EPROM èëè PROM, òî îíà äîëæíà áûòü ñòåðòà â ïîðîøîê è ðàçâåÿíà âî âñå ñòîðîíû . Åñëè êëþ÷ õðàíèòñÿ íà äèñêå êîìïüþòåðà, äåéñòâèòåëüíûå áèòû ñîîòâåòñòâóþùåãî ó÷àñòêà ïàìÿòè äîëæíû áûòü ïåðåïèñàíû íåñêîëüêî ðàç (ñì. ðàçäåë 10.9) èëè äèñê äîëæåí áûòü óíè÷òîæåí . Âîçìîæíàÿ ïðîáëåìà ñîñòîèò â òîì, ÷òî â êîìïüþòåðå êëþ÷è ìîãóò áûòü ëåãêî ñêîïèðîâàíû è ñîõðàíåíû âî ìíîæåñòâå ìåñò. Ëþáîé êîìïüþòåð, ðåàëèçóþùèé êàêóþ-ëèáî ñõåìó óïðàâëåíèÿ ïàìÿòüþ, ïîñòîÿííî âûãðóæ àåò ïðîãðàììû èç ïàìÿòè è çàãðóæàåò èõ îáðàòíî, óñóãóáëÿÿ ïðîáëåìó . Ñïîñîáà ãàðàíòèðîâàòü íàäåæíîå óíè ÷òîæåíèå êëþ÷à â êîìïüþòåðå íå ñóùåñòâóåò, îñîáåííî êîãäà ïðîöåññ óíè÷òîæåíèÿ êîíòðîëèðóåòñÿ îïåðàöèî ííîé ñèñòåìîé êîìïüþòåðà. Ñàìûì îçàáî÷åííûì íåîáõîäèìî èñïîëüçîâàòü ñïåöèàëüíóþ ïðîãðàììó, êîòîðàÿ íà ôèçè÷åñêîì óðîâíå èñêàëà áû íà äèñêå êîïèþ êëþ÷à äàæå â íåèñïîëüçóåìûõ áëîêàõ è çàòåì ñòèðàëà áû ñîî òâåòñòâóþùèå áëîêè. Íå çàáûâàéòå òàêæå ñòèðàòü âñå âðåìåííûõ ôàéëîâ .
8.12 Óïðàâëåíèå îòêðûòûìè êëþ÷àìè Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè óïðîùàåò óïðàâëåíèå êëþ÷àìè, íî ó íåå åñòü ñâîè ñîáñòâåííûå ïð îáëåìû. Ó êàæäîãî àáîíåíòà, íåçàâèñèìî îò ÷èñëà ëþäåé â ñåòè, åñòü òîëüêî îäèí îòêðûòûé êëþ÷ . Åñëè Àëèñà çàõî÷åò îòïðàâèòü Áîáó ñîîáùåíèå, åé ïðèäåòñÿ ãäå-òî íàéòè îòêðûòûé êëþ÷ Áîáà. Îíà ìîæåò äåéñòâîâàòü íåñêîëüêèìè ñïîñîáàìè: Ïîëó÷èòü êëþ÷ îò Áîáà. Ïîëó÷èòü åãî èç öåíòðàëèçîâàííîé áàçû äàííûõ . Ïîëó÷èòü åãî èç ñâîåé ëè÷íîé áàçû äàííûõ .  ðàçäåëå 2.5 îáñóæäàþòñÿ âîçìîæíûå ñïîñîáû âñêðûòèÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè , îñíîâàííûõ íà ïîäìåíå êëþ÷à Áîáà êëþ÷îì Ìýëëîðè . Èñïîëüçóåòñÿ ñëåäóþùèé ñöåíàðèé: ïóñòü Àëèñà õî÷åò ïîñëàòü ñ îîáùåíèå Áîáó. Îíà îáðàùàåòñÿ ê áàçå äàííûõ îòêðûòûõ êëþ÷åé è ïîëó÷àåò îòêðûòûé êëþ÷ Áîáà . Íî ïîäëûé Ìýëëîðè ïîäìåíÿåò êëþ÷ Áîáà ñâîèì ñîáñòâåííûì . (Åñëè Àëèñà çàïðàøèâàåò êëþ÷ íåïîñðåäñòâåííî ó Áîáà, Ìýëëîðè äëÿ óñïåøíîé ïîäìåíû ïðèäåòñÿ ïåðåõâàòèòü êëþ÷ Áîáà ïðè ïåðåäà÷å .) Àëèñà øèôðóåò ñîîáùåíèå êëþ÷îì Ìýëëîðè è îòïðàâëÿåò åãî Áîáó. Ìýëëîðè ïåðåõâàòûâàåò ñîîáùåíèå, ðàñøèôðîâûâàåò è ÷èòàåò åãî . Çàòåì øèôðóåò îòêðûòûì êëþ÷îì Áîáà è îòïðàâëÿåò ïî íàçíà÷åíèþ. Íè Áîá, íè Àëèñà íè î ÷åì íå äîãàäûâ àþòñÿ. Çàâåðåííûå îòêðûòûå êëþ÷è Çàâåðåííûì îòêðûòûì êëþ÷îì, èëè ñåðòèôèêàòîì, ÿâëÿåòñÿ ÷åé-òî îòêðûòûé êëþ÷, ïîäïèñàííûé çàñë óæèâàþùèì äîâåðèÿ ëèöîì. Çàâåðåííûå êëþ÷è èñïîëüçóþòñÿ, ÷òîáû ïîìåøàòü ïîïûòêàì ïîäìåíû êëþ÷à [879]. Çàâåðåííûé êëþ÷ Áîáà â áàçå äàííûõ îòêðûòûõ êëþ÷åé ñîñòîèò íå òîëüêî èç îòêðûòîãî êëþ÷à Áîáà . Îí ñîäåðæèò èíôîðìàöèþ î Áîáå - åãî èìÿ, àäðåñ, è ò.ä. - è ïîäïèñàí êåì-òî, êîìó Àëèñà äîâåðÿåò - Òðåíòîì (îáû÷íî èçâåñòíûì êàê îðãàí ñåðòèôèêàöèè, certification authority, èëè CA). Ïîäïèñàâ è êëþ÷, è ñâåäåíèÿ î Áîáå , Òðåíò çàâåðÿåò, ÷òî èíôîðìàöèÿ î Áîáå ïðàâèëüíà, è îòêðûòûé êëþ÷ ïðèíàäëåæèò åìó . Àëèñà ïðîâåðÿåò ïîäïèñü Òðåíòà è çàòåì èñïîëüçóåò îòêðûòûé êëþ÷, óáåäèâøèñü â òîì, ÷òî îí ïðèíàäëåæèò Áîáó è íèêîìó äðóãîìó. Çàâåðåííûå êëþ÷è èãðàþò âàæíóþ ðîëü âî ìíîãèõ ïðîòîêîëàõ ñ îòêðûòûìè êëþ÷àìè, íàïðèìåð, PEM [825] (ñì. ðàçäåë 24.10) è X.509 [304] (ñì. ðàçäåë 24.9).  òàêèõ ñèñòåìàõ âîçíèêàåò ñëîæíàÿ ïðîáëåìà, íå èìåþùàÿ ïðÿìîãî îòíîøåíèÿ ê êðèïòîãðàôèè . Êàêîâ ñìûñë ïðîöåäóðû çàâåðåíèÿ? Èëè, èíà÷å ãîâîðÿ, êòî äëÿ êîãî èìååò ïîëíîìî÷èÿ âûäàâàòü ñåðòèôèêàòû ? Êòî óãîäíî ìîæåò çàâåðèò ñâîåé ïîäïèñüþ ÷åé óãîäíî îòêðûòûé êëþ÷, íî äîëæåí æå áûòü êàêîé-òî ñïîñîá îòôèëü òðîâàòü íåíàäåæíûå ñåðòèôèêàòû : íàïðèìåð, îòêðûòûå êëþ÷è ñîòðóäíèêîâ êîìïàíèè, çàâåðåííûå CA äðóãîé êîìïàíèè. Îáû÷íî ñîçäàåòñÿ öåïî÷êà ïåðåäà÷è äîâåðèÿ : îäèí íàäåæíûé îðãàí çàâåðÿåò îòêðûòûå êëþ÷è äîâ å-
ðåííûõ àãåíòîâ, òå ñåðòèôèöèðóþò CA êîìïàíèè, à CA êîìïàíèè çàâåðÿþò îòêðûòûå êëþ÷è ñâîèõ ðàáîòíèêîâ . Âîò åùå âîïðîñû, íàä êîòîðûìè ñòîèò ïîäóìàòü : Êàêîé óðîâåíü äîâåðèÿ ê ÷üåé-òî ëè÷íîñòè îáåñïå÷èâàåò ñåðòèôèêàò ? Êàêîâû âçàèìîîòíîøåíèÿ ìåæäó ÷åëîâåêîì è CA, çàâåðÿþùèì åãî îòêðûòûé êëþ÷, è êàê ýòè îòíîøåíèÿ îòðàæàþòñÿ â ñåðòèôèêàòå? Êîìó ìîæíî äîâåðèòü áûòü "îäíèì íàäåæíûì îðãàíîì", âîçãëàâëÿþùèì ñåðòèôèêàöèîííóþ öåïî÷êó ? Íàñêîëüêî äëèííîé ìîæåò áûòü ñåðòèôèêàöèîííàÿ öåïî÷êà ?  èäåàëå ïðåæäå, ÷åì CA ïîäïèøåò ñåðòèôèêàò Áîáà, Áîáó íóæíî ïðîéòè îïðåäåëåííóþ ïðîöåäóðó àâòîð èçàöèè. Êðîìå òîãî, äëÿ çàùèòû îò ñêîìïðîìåòèðîâàííûõ êëþ÷åé âàæíî èñïîëüçîâàòü êàêèå-íèáóäü ìåòêè âð åìåíè èëè ïðèçíàêè ñðîêà äåéñòâèÿ ñåðòèôèêàòà [461]. Èñïîëüçîâàíèå ìåòîê âðåìåíè íåäîñòàòî÷íî. Êëþ÷è ìîãóò ñòàòü íåïðàâèëüíûìè çàäîëãî äî èñòå÷åíèÿ èõ ñðîêà ëèáî èç-çà êîìïðîìåòàöèè, ëèáî ïî êàêèì-òî àäìèíèñòðàòèâíûì ïðè÷èíàì . Ñëåäîâàòåëüíî, âàæíî, ÷òîáû CA õðàíèë ñïèñîê íåïðàâèëüíûõ çàâåðåííûõ êëþ÷åé, à ïîëüçîâàòåëè ðåãóëÿðíî ñâåðÿëèñü áû ñ ýòèì ñïèñêîì . Ýòà ïðîáëåìà îòìåíû êëþ÷åé âñå åùå òðóäíà äëÿ ðåøåíèÿ . Ê òîìó æå, îäíîé ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷ íåäîñòàòî÷íî . Êîíå÷íî æå, â ëþáàÿ õîðîøàÿ ðåàë èçàöèÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè äîëæíà èñïîëüçîâàòü ðàçíûå êëþ÷è äëÿ øèôðîâàíèÿ è äëÿ öèôð îâûõ ïîäïèñåé. Òàêîå ðàçäåëåíèå ðàçðåøàåò ðàçëè÷íûå Ýòî ðàçäåëåíèå ó÷èòûâàåò ðàçëè÷íûå óðîâíè çàùèòû, ñðîêè äåéñòâèÿ, ïðîöåäóðû ðåçåðâèðîâàíèÿ, è òàê äàëåå . Êòî-òî ìîæåò ïîäïèñûâàòü ñîîáùåíèÿ 2048-áèòîâûì êëþ÷îì, êîòîðûé õðàíèòñÿ íà èíòåëëåêòóàëüíîé êàðòî÷êå è äåéñòâóåò äâàäöàòü ëåò, à êòî-òî ìîæåò èñïîëüç îâàòü äëÿ øèôðîâàíèÿ 768-áèòîâûé êëþ÷, êîòîðûé õðàíèòñÿ â êîìïüþòåðå è äåéñòâóåò øåñòü ìåñÿöåâ . Îäíàêî, îäíîé ïàðû äëÿ øèôðîâàíèÿ è îäíîé äëÿ ïîäïèñè òàêæå íåäîñòàòî÷íî . Çàêðûòûé êëþ÷ ìîæåò èäåíòèôèöèðîâàòü ðîëü ÷åëîâåêà òàêæå, êàê è ëè÷íîñòü, à ó ëþäåé ìîæåò áûòü íåñêîëüêî ðîëåé . Àëèñà ìîæåò õîòåòü ïîäïèñàòü îäèí äîêóìåíò êàê ëè÷íî Àëèñà, äðóãîé - êàê Àëèñà, âèöå-ïðåçèäåíò Monolith, Inc., à òðåòèé - êàê Àëèñà, ãëàâà ñâîåé îáùèíû. Íåêîòîðûå èç ýòèõ êëþ÷åé èìåþò áîëüøåå çíà÷åíèå, ÷åì äðóãèå, ïîýòîìó îíè äîëæíû áûòü ëó÷øå çàùèùåíû. Àëèñå ìîæåò ïîòðåáîâàòüñÿ õðàíèòü ðåçåðâíóþ êîïèþ ñâîåãî ðàáî÷åãî êëþ÷à ó ñîòðóäíèêà îòäåëà áåçîïàñíîñòè, à îíà íå õî÷åò, ÷òîáû ó êîìïàíèè áûëà êîïèÿ êëþ÷à, êîòîðûì îíà ïîäïèñàëà çàêëàäíóþ. Àëèñà ñîáèðàåòñÿ ïîëüçîâàòüñÿ íåñêîëüêèìè êðèïòîãðàôè÷åñêèìè êëþ÷àìè òî÷íî òàêæå, êàê îíà èñïîëüçóåò ñâÿçêó êëþ÷åé èç ñâîåãî êàðìàíà . Ðàñïðåäåëåííîå óïðàâëåíèå êëþ÷àìè  íåêîòîðûõ ñëó÷àÿõ òàêîé ñïîñîá öåíòðàëèçîâàííîãî óïðàâëåíèÿ êëþ÷àìè ðàáîòàòü íå áóäåò . Âîçìîæíî, íå ñóùåñòâóåò òàêîãî CA, êîòîðîìó äîâåðÿëè áû Àëèñà è Áîá . Âîçìîæíî, Àëèñà è Áîá äîâåðÿþò òîëüêî ñâîèì äðóçüÿì. Âîçìîæíî, Àëèñà è Áîá íèêîìó íå äîâåðÿþò. Ðàñïðåäåëåííîå óïðàâëåíèå êëþ÷àìè, èñïîëüçóåìîå â PGP (ñì. ðàçäåë 24.12), ðåøàåò ýòó ïðîáëåìó ñ ïîìîùüþ ïîðó÷èòåëåé. Ïîðó÷èòåëè - ýòî ïîëüçîâàòåëè ñèñòåìû, êîòîðûå ïîäïèñûâàþò îòêðûòûå êëþ÷è ñâîèõ äð óçåé. Íàïðèìåð, êîãäà Áîá ñîçäàåò ñâîé îòêðûòûé êëþ÷, îí ïåðåäàåò êîïèè êëþ÷à ñâîèì äðóçüÿì - Êýðîë è Äý éâó. Îíè çíàþò Áîáà, ïîýòîìó êàæäûé èç íèõ ïîäïèñûâàåò êëþ÷ Áîáà è âûäàåò Áîáó êîïèþ ñâîåé ïîäïèñè . Òåïåðü, êîãäà Áîá ïðåäúÿâëÿåò ñâîé êëþ÷ ÷óæîìó ÷åëîâåêó, Àëèñå, îí ïðåäúÿâëÿåò åãî âìåñòå ñ ïîäïèñÿìè ýòèõ äâóõ ïîðó÷èòåëåé. Åñëè Àëèñà òàêæå çíàåò Êýðîë è äîâåðÿåò åé, ó íåå ïîÿâëÿåòñÿ ïðè÷èíà ïîâåðèòü â ïðàâèë üíîñòü êëþ÷à Áîáà. Åñëè Àëèñà çíàåò Êýðîë è Äýéâà è õîòü íåìíîãî äîâåðÿåò èì, ó íåå òàêæå ïîÿâëÿåòñÿ ïðè÷ èíà ïîâåðèòü â ïðàâèëüíîñòü êëþ÷à Áîáà . Åñëè îíà íå çíàåò íè Êýðîë, íè Äýéâà ó íåå íåò ïðè÷èí äîâåðÿòü êëþ÷ó Áîáà. Ñïóñòÿ êàêîå-òî âðåìÿ Áîá ñîáåðåò ïîäïèñè áîëüøåãî ÷èñëà ïîðó÷èòåëåé . Åñëè Àëèñà è Áîá âðàùàþòñÿ â îäíèõ êðóãàõ, òî ñ áîëüøîé âåðîÿòíîñòüþ Àëèñà áóäåò çíàòü îäíîãî èç ïîðó÷èòåëåé Áîáà . Äëÿ ïðåäîòâðàùåíèÿ ïîäìåíû Ìýëëîðè îäíîãî êëþ÷à äðóãèì ïîðó÷èòåëü äîëæåí áûòü óâåðåí, ïðåæäå ÷åì ïîäïèñûâàòü êëþ÷, ÷òî ýòîò êëþ÷ ïðèíàäëåæèò èìåííî Áîáó . Ìîæåò áûòü, ïîðó÷èòåëü ïîòðåáóåò ïåðåäà÷è êëþ÷à ïðè ëè÷íîé âñòðå÷å èëè ïî òåëåôîíó. Âûãîäà ýòîãî ìåõàíèçìà - â îòñóòñòâèè CA, êîòîðîìó êàæäûé äîëæåí äîâåðÿòü . À îòðèöàòåëüíîé ñòîðîíîé ÿâëÿåòñÿ îòñóòñòâèå ãàðàíòèé òîãî, ÷òî Àëèñà, ïîëó÷èâøàÿ îòêðûòûé êëþ÷ Áîáà, çíàåò êîãî-òî èç ïîðó÷èòåëåé, è, ñëåäîâàòåëüíî, íåò ãàðàíòèé, ÷òî îíà ïîâåðèò â ïðàâèëüíîñòü êëþ÷à .
Ãëàâà 9 Òèïû àëãîðèòìîâ è êðèïòîãðàôè÷åñêèå ðåæèìû Ñóùåñòâóåò äâà îñíîâíûõ òèïà ñèììåòðè÷íûõ àëãîðèòìîâ : áëî÷íûå øèôðû è ïîòîêîâûå øèôðû . Áëî÷íûå øèôðû ðàáîòàþò ñ áëîêàìè îòêðûòîãî òåêñòà è øèôðîòåêñòà - îáû÷íî äëèíîé 64 áèòà, íî èíîãäà äëèííåå. Ïîòîêîâûå øèôðû ðàáîòàþò ñ áèòîâûìè èëè áàéòîâûìè ïîòîêàìè îòêðûòîãî òåêñòà è øèôðîòåêñòà (èíîãäà äàæå ñ ïîòîêàìè 32-áèòíûõ ñëîâ). Áëî÷íûé øèôð, èñïîëüçóþùèé îäèí è òîò æå êëþ÷, ïðè øèôðîâàíèè âñåãäà ïðåâðàùàåò îäèí è òîò æå áëîê îòêðûòîãî òåêñòà â îäèí è òîò æå áëîê øèôðîòåêñòà . Ïîòîêîâûé øèôð ïðè êàæäîì øèôðîâàíèè ïðåâðàùàåò îäèí è òîò æå áèò èëè áàéò îòêðûòîãî òåêñòà â ðàçëè÷íûå áèòû èëè áàéòû øè ôðîòåêñòà. Êðèïòîãðàôè÷åñêèé ðåæèì îáû÷íî îáúåäèíÿåò áàçîâûé øèôð, êàêóþ-òî îáðàòíóþ ñâÿçü è ðÿä ïðîñòûõ îï åðàöèé. Îïåðàöèè ïðîñòû, ïîòîìó ÷òî áåçîïàñíîñòü ÿâëÿåòñÿ ôóíêöèåé èñïîëüçóåìîãî øèôðà, à íå ðåæèìà . Áîëåå òîãî, ðåæèì øèôðà íå äîëæåí êîìïðîìåòèðîâàòü áåçîïàñíîñòü èñïîëüçóåìîãî àëãîðèòìà . Ñóùåñòâóþò è äðóãèå ñîîáðàæåíèÿ áåçîïàñíîñòè : äîëæíà áûòü ñêðûòà ñòðóêòóðà îòêðûòîãî òåêñòà , äîëæåí áûòü ðàíäîìèçèðîâàí ââîä øèôðà, äîëæíî áûòü çàòðóäíåíî ìàíèïóëèðîâàíèå îòêðûòûì òåêñòîì ïîñðåäñòâîì ââîäà îøèáîê â øèôðîòåêñò, äîëæíî áûòü âîçìîæíî øèôðîâàíèå íåñêîëüêèõ ñîîáùåíèé îäíèì êëþ÷îì . Âñå ýòî áóäåò ïîäðîáíî ðàññìàòðèâàòüñÿ â ñëåäóþùèõ ðàçäåëàõ . Äðóãèì âàæíûì ñîîáðàæåíèåì ÿâëÿåòñÿ ýôôåêòèâíîñòü . Ïî ýôôåêòèâíîñòè ðåæèì íå ìîæåò áûòü ñèëüíî õóæå èñïîëüçóåìîãî àëãîðèòìà.  íåêîòîðûõ îáñòîÿòåëüñòâàõ âàæíî, ÷òîáû ðàçìåð øèôðîòåêñòà ñîâïàäàë ñ ðàçìåðîì îòêðûòîãî òåêñòà. Òðåòüèì ñîîáðàæåíèåì ÿâëÿåòñÿ óñòîé÷èâîñòü ê ñáîÿì . Äëÿ ðÿäà ïðèëîæåíèé òðåáóåòñÿ ðàñïàðàëëåëèâàòü øèôðîâàíèå èëè äåøèôðèðîâàíèå, à äðóãèì íóæíà âîçìîæíîñòü âûïîëíèòü êàê ìîæíî áîëüøóþ ïðåäîáðàáîòêó.  òðåòüèõ âàæíî, ÷òîáû ïðîöåññ äåøèôðèðîâàíèÿ óìåë èñïðàâëÿòü ñáîè áèòîâ â ïîòîêå øèôð îòåêñòà, à òàêæå áûë óñòîé÷èâ ê ïîòåðå è äîáàâëåíèþ áèòîâ . Êàê áóäåò ïîêàçàíî, ðàçëè÷íûå ðåæèìû îáëàäàþò ðàçëè÷íûìè ïîäìíîæåñòâàìè ýòèõ õàðà êòåðèñòèê.
9.1 Ðåæèì ýëåêòðîííîé øèôðîâàëüíîé êíèãè Ðåæèì ýëåêòðîííîé øèôðîâàëüíîé êíèãè (electronic codebook, ECB) - ýòî íàèáîëåå î÷åâèäíûé ñïîñîá è ñïîëüçîâàòü áëî÷íûé øèôð: áëîê îòêðûòîãî òåêñòà çàìåíÿåòñÿ áëîêîì øèôðîòåêñòà . Òàê êàê îäèí è òîò æå áëîê îòêðûòîãî òåêñòà çàìåíÿåòñÿ îäíèì è òåì æå áëîêîì øèôðîòåêñòà, òî òåîðåòè÷åñêè âîçìîæíî ñîçäàòü øèôð îâàëüíóþ êíèãó áëîêîâ îòêðûòîãî òåêñòà è ñîîòâåòñòâóþùèõ øèôðîòåêñòîâ . Îäíàêî, åñëè ðàçìåð áëîêà - 64 áèòà, òî êîäîâàÿ êíèãà áóäåò ñîñòîÿòü èç 2 64 çàïèñåé - ñëèøêîì ìíîãî äëÿ ïðåäâàðèòåëüíîãî âû÷èñëåíèÿ è õðàí åíèÿ. È íå çàáûâàéòå, äëÿ êàæäîãî êëþ÷à ïîíàäîáèòñÿ îòäåëüíàÿ øèôðîâàëüíàÿ êíèãà . Ýòî ñàìûé ëåãêèé ðåæèì ðàáîòû . Âñå áëîêè îòêðûòîãî òåêñòà øèôðóþòñÿ íåçàâèñèìî . Íåò íåîáõîäèìîñòè â ïîñëåäîâàòåëüíîì øèôðîâàíèè ôàéëà, ìîæíî çàøèôðîâàòü ñíà÷àëà 10 áëîêîâ èç ñåðåäèíû òåêñòà, çàòåì ï îñëåäíèå áëîêè, è íàêîíåö, ïåðâûå . Ýòî âàæíî äëÿ øèôðîâàííûõ ôàéëîâ ñ ïðîèçâîëüíûì äîñòóïîì, íàïðèìåð, äëÿ áàç äàííûõ. Åñëè áàçà äàííûõ çàøèôðîâàíà â ðåæèìå ECB, òî ëþáàÿ çàïèñü ìîæåò áûòü äîáàâëåíà, óäàë åíà , çàøèôðîâàíà èëè ðàñøèôðîâàíà íåçàâèñèìî îò ëþáîé äðóãîé çàïèñè ( ïðè óñëîâèè, ÷òî êàæäàÿ çàïèñü ñ îñòîèò èç öåëîãî ÷èñëà áëîêîâ øèôðîâàíèÿ) . Êðîìå òîãî, îáðàáîòêà ìîæåò áûòü ðàñïàðàëëåëåíà, åñëè èñïîëüç óþòñÿ íåñêîëüêî øèôðîâàëüíûõ ïðîöåññîðîâ, îíè ìîãóò íåçàâèñèìî äðóã îò äðóãà øèôðîâàòü èëè äåøèôðèð îâàòü ðàçëè÷íûå áëîêè. Ïðîáëåìîé ðåæèìà ECB ÿâëÿåòñÿ òî, ÷òî åñëè ó êðèïòîàíàëèòèêà åñòü îòêðûòûé òåêñò è øèôðîòåêñò äëÿ í åñêîëüêèõ ñîîáùåíèé, îí ìîæåò íà÷àòü ñîñòàâëÿòü øèôðîâàëüíóþ êíèãó, íå çíàÿ êëþ÷à .  áîëüøèíñòâå ðåàëüíûõ ñèòóàöèé ôðàãìåíòû ñîîáùåíèé èìåþò òåíäåíöèþ ïîâòîðÿòüñÿ .  ðàçëè÷íûõ ñîîáùåíèÿõ ìîãóò áûòü îä èíàêîâûå áèòîâûå ïîñëåäîâàòåëüíîñòè . Ó ñîîáùåíèé, êîòîðûå ïîäîáíî ýëåêòðîííîé ïî÷òå ñîçäàþòñÿ êîìïüþò åðîì, ìîæåò áûòü ðåãóëÿðíàÿ ñòðóêòóðà . Ñîîáùåíèÿ ìîãóò èìåòü âûñîêóþ ñòåïåíü èçáûòî÷íîñòè èëè ñîäåðæàòü äëèííûå ñòðîêè íóëåé èëè ïðîáåëîâ. Åñëè êðèïòîàíàëèòèê çíàåò, ÷òî áëîê îòêðûòîãî òåêñòà "5e081bc5" ïðè øèôðîâàíèè ïðåâðàùàåòñÿ â áëîê øèôðîòåêñòà "7ea593a4," òî îí ìîæåò ìãíîâåííî ðàñøèôðîâàòü ýòîò áëîê øèôðîòåêñòà, â êàêîì-áû äðóãîì ñ îîáùåíèè îí íå ïîÿâèëñÿ. Åñëè â øèôðîâàííîì ñîîáùåíèè ìíîãî ïîâòîðîâ, êîòîðûå èìåþò òåíäåíöèþ çàíèìàòü îäèíàêîâîå ìåñòî â ðàçëè÷íûõ ñîîáùåíèÿõ, êðèïòîàíàëèòèê ìîæåò ïîëó÷èòü ìíîãî èíôîðìàöèè . Îí ìîæåò ïîïûòàòüñÿ ñòàòèñòè÷åñêè âñêðûòü èñïîëüçóåìûé îòêðûòûé òåêñò, íåçàâèñèìî îò ñèëû áëî÷íîãî øèôðà . Îñîáåííî óÿçâèìû íà÷àëî è îêîí÷àíèå ñîîáùåíèé, ãäå íàõîäèòñÿ èíôîðìàöèÿ îá îòïðàâèòåëå, ïîëó÷àòåëå äàòå è ò.ä. Ýòà ïðîáëåìà èíîãäà íàçûâàåòñÿ ñòàíäàðòíûìè çàãîëîâêàìè è ñòàíäàðòíûìè îêîí÷àíèÿìè. Ïîëîæèòåëüíîé ñòîðîíîé ÿâëÿåòñÿ âîçìîæíîñòü øèôðîâàòü íåñêîëüêî ñîîáùåíèé îäíèì êëþ÷îì áåç ñíèæ å-
íèÿ áåçîïàñíîñòè. Ïî ñóòè, êàæäûé áëîê ìîæíî ðàññìàòðèâàòü êàê îòäåëüíîå ñîîáùåíèå, øèôðîâàííîå òåì æå ñàìûì êëþ÷îì. Ïðè äåøèôðèðîâàíèè áèòîâûå îøèáêè â øèôðîòåêñòå ïðèâîäÿò ê íåïðàâèëüíîìó äåøèôðèð îâàíèþ ñîîòâåòñòâóþùåãî áëîêà îòêðûòîãî òåêñòà, íî íå âëèÿåò íà îñòàëüíîé îòêðûòûé òåêñò . Îäíàêî, åñëè áèò øèôðîòåêñòà ñëó÷àéíî ïîòåðÿí èëè äîáàâëåí, òî âåñü ïîñëåäóþùèé øèôðîòåêñò áóäåò ðàñøèôðîâàí íåïð àâèëüíî, åñëè äëÿ âûðàâíèâàíèÿ ãðàíèö áëîêîâ íå èñïîëüçóåòñÿ êàêàÿ-íèáóäü êàäðîâàÿ ñòðóêòóðà . Íàáèâêà Áîëüøèíñòâî ñîîáùåíèé òî÷íî íå äåëÿòñÿ íà 64-áèòíûå (èëè ëþáîãî äðóãîãî ðàçìåðà) áëîêè øèôðîâàíèÿ, â êîíöå îáû÷íî îêàçûâàåòñÿ óêîðî÷åííûé áëîê . ECB òðåáóåò èñïîëüçîâàòü 64-áèòíûå áëîêè . Ñïîñîáîì ðåøåíèÿ ýòîé ïðîáëåìû ÿâëÿåòñÿ íàáèâêà. Ïîñëåäíèé áëîê äîïîëíÿåòñÿ (íàáèâàåòñÿ) íåêîòîðûì ðåãóëÿðíûì øàáëîíîì - íóëÿìè, åäèíèöàìè, ÷åð åäóþùèìèñÿ íóëÿìè è åäèíèöàìè - äëÿ ïîëó÷åíèÿ ïîëíîãî áëîêà . Ïðè íåîáõîäèìîñòè óäàëèòü íàáèâêó ïîñëå äåøèôðèðîâàíèÿ çàïèøèòå êîëè÷åñòâî áàéòîâ íàáèâêè â ïîñëåäíèé áàéò ïîñëåäíåãî áëîêà . Íàïðèìåð, ïóñòü ðàçìåð áëîêà - 64 áèòà, è ïîñëåäíèé áëîê ñîñòîèò èç 3 áàéòîâ (24 áèò) . Äëÿ äîïîëíåíèÿ áëîêà äî 64 áèò òðåá óåòñÿ ïÿòü áàéòîâ, äîáàâüòå ÷åòûðå áàéòà íóëåé è ïîñëåäíèé áàéò ñ ÷èñëîì 5. Ïîñëå äåøèôðèðîâàíèÿ óäàëèòå ïîñëåäíèå 5 áàéòîâ ïîñëåäíåãî ðàñøèôðîâàííîãî áëîêà . ×òîáû ýòîò ìåòîä ðàáîòàë ïðàâèëüíî, êàæäîå ñîîáù åíèå äîëæíî áûòü äîïîëíåíî. Äàæå åñëè îòêðûòûé òåêñò ñîäåðæèò öåëîå ÷èñëî áëîêîâ, âàì ïðèäåòñÿ äîáàâèòü îäèí ïîëíûé áëîê. Ñ äðóãîé ñòîðîíû, ìîæíî èñïîëüçîâàòü ñèìâîë êîíöà ôàéëà äëÿ îáîçíà÷åíèÿ ïîñëåäíåãî áàéòà îòêðûòîãî òåêñòà è äîïîëíèòü ýòîò ñèìâîë er. Íà 8-é ïîêàçàí äðóãîé âàðèàíò, íàçûâàåìûé ïîõèùåíèåì øèôðîòåêñòà [402]. Pn-1 - ïîñëåäíèé ïîëíûé áëîê îòêðûòîãî òåêñòà, à Pn - ïîñëåäíèé, êîðîòêèé áëîê îòêðûòîãî òåêñòà . Ñn-1 - ïîñëåäíèé ïîëíûé áëîê øèôðîòåêñòà, è Ñn - ïîñëåäíèé, êîðîòêèé áëîê øèôðîòåêñòà . Ñ' - ýòî ïðîìåæóòî÷íûé ðåçóëüòàò, íå ÿâëÿþùèéñÿ ÷ àñòüþ ïåðåäàííîãî øèôðîòåêñòà. Øèôðîâàíèå Pn-1
Pn
C'
Cn-1
Ek
Ek
Cn
Äåøèôðèðîâàíèå
C'
Cn-1
Cn
Dk
Dk
Pn
C'
C'
Pn-1
Ðèñ. 9-1. Ïîõèùåíèå øèôðîòåêñòà.
9.2 Ïîâòîð áëîêà Áîëåå ñåðüåçíîé ïðîáëåìîé ðåæèìà ECB ÿâëÿåòñÿ òî, ÷òî âðàã ìîæåò èçìåíèòü øèôðîâàííûå ñîîáùåíèÿ, íå çíàÿ êëþ÷à èëè äàæå àëãîðèòìà, ÷òîáû îáìàíóòü ïðåäïîëàãàåìîãî ïîëó÷àòåëÿ . Âïåðâûå ýòà ïðîáëåìû áûëà ðàññìîòðåíà â [291]. Äëÿ èëëþñòðàöèè ýòîé ïðîáëåìû ðàññìîòðèì ñèñòåìó ïåðåäà÷è äåíåã, êîòîðàÿ ïåðåâîäèò äåíüãè èç áàíêà â áàíê. ×òîáû îáëåã÷èòü æèçíü áàíêîâñêèõ êîìïüþòåðîâ , áàíêè ñîãëàñîâàëè ïðèìåðíî ñëåäóþùèé ñòàíäàðòíûé ôîðìàò ñîîáùåíèÿ äëÿ ïåðåäà÷è äåíåã : Áàíê 1: Ïåðåäà÷à Áàíê 2: Ïðèåì Èìÿ âêëàä÷èêà Ñ÷åò âêëàä÷èêà Ñóììà âêëàäà
1.5 áëîêà 1.5 áëîêà 6 áëîêîâ 2 áëîêà 1 áëîê
Áëîê ñîîòâåòñòâóåò 8-áàéòíîìó áëîêó øèôðîâàíèÿ. Ñîîáùåíèÿ øèôðóþòñÿ ñ ïîìîùüþ íåêîòîðîãî áëî÷íîãî àëãîðèòìà â ðåæèìå ECB. Ìýëëîðè, êîòîðûé ïîäñëóøèâàåò ëèíèþ ñâÿçè ìåæäó áàíêàìè, áàíêîì Àëèñû è áàíêîì Áîáà, ìîæåò èñïîë üçîâàòü ýòó èíôîðìàöèþ äëÿ îáîãàùåíèÿ. Ñíà÷àëà, îí ïðîãðàììèðóåò ñâîé êîìïüþòåð äëÿ çàïèñè âñåõ øèôð îâàííûõ ñîîáùåíèé èç áàíêà Àëèñû â áàíê Áîáà . Çàòåì, îí ïåðåâîäèò $100 èç áàíêà Àëèñû íà ñâîé ñ÷åò â áàíê
Áîáà. Ïîçæå, îí ïîâòîðÿåò ýòó îïåðàöèþ åùå ðàç . Ñ ïîìîùüþ ñâîåãî êîìïüþòåðà îí ïðîâåðÿåò çàïèñàííûå ñ îîáùåíèÿ, ðàçûñêèâàÿ ïàðó èäåíòè÷íûõ ñîîáùåíèé . Ýòèìè ñîîáùåíèÿìè ÿâëÿþòñÿ òå ñîîáùåíèÿ, êîòîðûìè îí ïåðåâîäèò $100 íà ñâîé ñ÷åò. Åñëè îí íàõîäèò íåñêîëüêî ïàð îäèíàêîâûõ ñîîáùåíèé (÷òî áîëüøå ïîõîæå íà ðåàëüíóþ æèçíü), îí äåëàåò åùå îäèí äåíåæíûé ïåðåâîä è çàïèñûâàåò ðåçóëüòàò .  êîíöå êîíöîâ îí ñìîæåò âûäåëèòü ñîîáùåíèå, êîòîðûì áûë ïðîâåäåí èìåííî åãî ïåðåâîä . Òåïåðü îí ìîæåò îòïðàâèòü ýòî ñîîáùåíèå ïî êàíàëó ñâÿçè, êîãäà çàõî÷åò . Êàæäîå ñîîáùåíèå ïðèâåäåò ê çà÷èñëåíèþ íà åãî ñ÷åò â áàíêå Áîáà åùå $100. Êîãäà îáà áàíêà ñâåðÿò ñâîè ïåðåâîäû (âîçìîæíî â êîíöå äíÿ), îíè îáíàðóæàò ïåðåâîäû-ïðèçðàêè, íî åñëè Ìýëëîðè äîñòàòî÷íî óìåí, îí óæå ñáåæèò â êàêóþ-íèáóäü áàíàí îâóþ ðåñïóáëèêó áåç äîãîâîðà îá ýêñòðàäèöèè, ïðèõâàòèâ ñ ñîáîé äåíüãè . È ñêîðåå âñåãî îí èñïîëüçóåò ñóììû íåñêîëüêî áîëüøå $100 è ïðîâåðíåò îïåðàöèþ ñðàçó äëÿ íåñêîëüêèõ áàíêîâ . Íà ïåðâûé âçãëÿä áàíêè ìîãóò ëåãêî ïðåñå÷ü ýòî, äîáàâëÿÿ ìåòêè âðåìåíè ê ñâîèì ñîîáùåíèÿì . Ìåòêà äàòû/âðåìåíè Áàíê 1: Ïåðåäà÷à Áàíê 2: Ïðèåì Èìÿ âêëàä÷èêà Ñ÷åò âêëàä÷èêà Ñóììà âêëàäà
1 áëîê 1.5 áëîêà 1.5 áëîêà 6 áëîêîâ 2 áëîêà 1 áëîê
 òàêîé ñèñòåìå äâà èäåíòè÷íûõ ñîîáùåíèÿ áóäóò ëåãêî îáíàðóæåíû . Òåì íå ìåíåå, ñ ïîìîùüþ ìåòîäà, íàçûâàåìîãî ïîâòîðîì áëîêà, Ìýëëîðè âñå æå ñìîæåò îáîãàòèòüñÿ . Íà 7-é ïîêàçàíî, ÷òî Ìýëëîðè ìîæåò ñîáðàòü âîñåìü áëîêîâ øèôðîòåêñòà, ñîîòâåòñòâóþùèõ åãî èìåíè è íîìåðó ñ÷åòà : áëîêè ñ 5 ïî 12.  ýòîò ìîìåíò óìåñòíî äüÿâîëüñêè ðàññìåÿòüñÿ, âåäü Ìýëëîðè óæå â ïîëíîé ãîòîâíîñòè . Íîìåð áëîêà 1 Ìåòêà âðåìåíè
2
3
Áàíê îòïðàâèòåëü
4
5
6
Áàíê ïîëó÷àòåëü
7
8 Èìÿ âêëàä÷èêà
9
10
11
12
Ñ÷åò âêëàä÷èêà
13 Ñóììà
Ïîëå
Ðèñ. 9-2. Áëîêè øèôðîâàíèÿ â çàïèñè ïðèâåäåííîãî ïðèìåðà. Îí ïåðåõâàòûâàåò ñîîáùåíèÿ èç áàíêà Àëèñû â áàíê Áîáà è çàìåíÿåò áëîêè ñ 5 ïî 12 ñîîáùåíèÿ áàéòàìè , ñîîòâåòñòâóþùèìè åãî èìåíè è íîìåðó ñ÷åòà . Çàòåì îí ïîñûëàåò èçìåíåííûå ñîîáùåíèÿ â áàíê Áîáà . Åìó íå íóæíî çíàòü, êòî áûë îòïðàâèòåëåì äåíåã, åìó äàæå íå íóæíî çíàòü ïåðåâîäèìóþ ñóììó (õîòÿ îí ìîæåò ñâÿçàòü ïîäïðàâëåííîå ñîîáùåíèå ñ ñîîòâåòñòâóþùèì óâåëè÷åíèåì ñâîåãî ñ÷åòà è îïðåäåëèòü áëîêè, ñîîòâåòñòâóþùèå îïðåäåëåííûì äåíåæíûì ñóììàì ). Îí ïðîñòî èçìåíÿåò èìÿ è íîìåð ñ÷åòà íà ñâîè ñîáñòâåííûå è ñëåäèò çà ðî ñòîì ñâîèõ äîõîäîâ. (ß ïîìíþ, ÷òî Ìýëëîðè íàäî áûòü îñòîðîæíûì, ÷òîáû íå ìîäèôèöèðîâàòü ñîîáùåíèå î ñíÿòèè äåíåã, íî ïðåäïîëîæèì íà ìèíóòêó, ÷òî ó ýòèõ ñîîáùåíèé äðóãàÿ äëèíà èëè èíîé îòëè÷èòåëüíûé ïð èçíàê.) Äëÿ îáíàðóæåíèÿ òàêîãî ñïîñîáà áàíêàì îäíîãî äíÿ íå õâàòèò. Êîãäà îíè ñâåðÿò ñâîè ïåðåâîäû â êîíöå äíÿ, âñå ñóììû ñîâïàäóò. Âîçìîæíî, ïîêà íàñòîÿùèé âêëàä÷èê íå çàìåòèò, ÷òî åãî âêëàäû íå çà÷èñëÿþòñÿ íà ñ÷åò , èëè ïîêà êòî-íèáóäü íå îáðàòèò âíèìàíèå íà íåîæèäàííóþ àêòèâèçàöèþ ðàáîòû ñî ñ÷åòîì Ìýëëîðè, áàíêè íå ñìîãóò çàìåòèòü íèêàêèõ ñëåäîâ . Ìýëëîðè íå ãëóï è ê ýòîìó âðåìåíè çàêðîåò ñâîé ñ÷åò, èçìåíèò èìÿ è êóïèò âèëëó â Àðãåíòèíå. Áàíêè ìîãóò ìèíèìèçèðîâàòü ýòó ïðîáëåìó, ÷àñòî ìåíÿÿ ñâîè êëþ÷è, íî ýòî îçíà÷àåò òîëüêî, ÷òî Ìýëëîðè ïðèäåòñÿ äåéñòâîâàòü ïîáûñòðåå . Îäíàêî, äîáàâëåíèå MAC òàêæå ðåøèò ïðîáëåìó. Íåñìîòðÿ íà ýòî ðàññìàòðèâàåìàÿ ïðîáëåìà ôóíäàìåíòàëüíà äëÿ ðåæèìà ECB. Ìýëëîðè óäàëÿòü, ïîâòîðÿòü èëè çàìåíÿòü áëîêè ïî ñâîåìó óñìîòðåíèþ. Ðåøåíèåì ÿâëÿåòñÿ ñïîñîá, íàçûâàåìûé ñöåïëåíèåì.
9.3 Ðåæèì ñöåïëåíèÿ áëîêîâ øèôðà Ñöåïëåíèå äîáàâëÿåò ê áëî÷íîìó øèôðó ìåõàíèçì îáðàòíîé ñâÿçè : ðåçóëüòàòû øèôðîâàíèÿ ïðåäûäóùèõ áëîêîâ âëèÿþò íà øèôðîâàíèå òåêóùåãî áëîêà. Äðóãèìè ñëîâàìè, êàæäûé áëîê èñïîëüçóåòñÿ äëÿ èçìåíåíèÿ øèôðîâàíèÿ ñëåäóþùåãî áëîêà. Êàæäûé áëîê øèôðîòåêñòà çàâèñèò íå òîëüêî îò øèôðóåìîãî áëîêà îòêðûòîãî òåêñòà, íî è îò âñåõ ïðåäûäóùèõ áëîêîâ îòêðûòîãî òåêñòà .  ðåæèìå ñöåïëåíèÿ áëîêîâ øèôðà (cipher block chaining, CBC) ïåðåä øèôðîâàíèåì íàä îòêðûòûì òå êñòîì è ïðåäûäóùèì áëîêîì øèôðîòåêñòà âûïîëíÿåòñÿ îïåðàöèÿ XOR. Íà 6-é (à) ïîêàçàíî øèôðîâàíèå CBC â äåéñòâèè. ,Êîãäà áëîê îòêðûòîãî òåêñòà çàøèôðîâàí, ïîëó÷åííûé øèôðîòåêñò ñîõðàíÿåòñÿ â ðåãèñòðå îáðàòíîé ñâÿçè. Ïðåæäå ÷åì áóäåò çàøèôðîâàí ñëåäóþùèé áëîê îòêðûòîãî òåêñòà, îí ïîäâåðãàåòñÿ îïåðàöèè XOR âìåñòå
ñ ñîäåðæèìûì ðåãèñòðà îáðàòíîé ñâÿçè. Òàêèì îáðàçîì ñîçäàþòñÿ âõîäíûå äàííûå äëÿ ñëåäóþùåãî ýòàïà ïð îöåäóðû øèôðîâàíèÿ. Ïîëó÷åííûé øèôðîòåêñò ñíîâà ñîõðàíÿåòñÿ â ðåãèñòðå îáðàòíîé ñâÿçè, ÷òîáû ïîäâåð ãíóòüñÿ îïåðàöèè XOR âìåñòå ñî ñëåäóþùèì áëîêîì îòêðûòîãî òåêñòà, è òàê äî êîíöà ñîîáùåíèÿ . Øèôðîâàíèå êàæäîãî áëîêà çàâèñèò îò âñåõ ïðåäûäóùèõ áëîêîâ . Äåøèôðèðîâàíèå ÿâëÿåòñÿ îáðàòíîé îïåðàöèåé (ñì. Figure 9.3 (á) ). Áëîê øèôðîòåêñòà ðàñøèôðîâûâàåòñÿ êàê îáû÷íî, íî ñîõðàíÿåòñÿ â ðåãèñòðå îáðàòíîé ñâÿçè . Çàòåì ñëåäóþùèé áëîê äåøèôðèðóåòñÿ è ïîäâåðãàåòñÿ îïåðàöèè XOR âìåñòå ñ ñîäåðæèìûì ðåãèñòðà îáðàòíîé ñâÿçè . Òåïåðü ñëåäóþùèé áëîê øèôðîòåêñòà ñîõðàí ÿåòñÿ â ðåãèñòðå îáðàòíîé ñâÿçè, è òàê äàëåå, äî êîíöà ñîîáùåíèÿ . Ìàòåìàòè÷åñêè ýòî âûãëÿäèò ñëåäóþùèì î áðàçîì: Ci = EK(Pi ⊕ Ci-1) Pi = Ci-1 ⊕ DK(Ci ) Pi-1
Pi
Pi+1
Ci-1
Ek
Ek
Ek
Dk
Dk
Dk
C i+1
Pi-1
Pi
Pi+1
Ci-1
Ci àØèôðîâàíèå +*+
Ci
C i+1
áÄåøèôðèðîâàíèå +*+
Ðèñ. 9-3. Ðåæèì ñöåïëåíèÿ áëîêîâ øèôðà. Âåêòîð èíèöèàëèçàöèè  ðåæèìå CBC îäèíàêîâûå áëîêè îòêðûòîãî òåêñòà ïðè øèôðîâàíèè ïåðåõîäÿò â ðàçëè÷íûå áëîêè øèôð îòåêñòà òîëüêî, åñëè îòëè÷àëèñü êàêèå-òî èç ïðåäøåñòâóþùèõ áëîêîâ îòêðûòîãî òåêñòà . Äâà èäåíòè÷íûõ ñîîáùåíèÿ, îäíàêî, áóäóò øèôðîâàòüñÿ êàê îäèí è òîò æå øèôðîòåêñò . ×òî åùå õóæå, äâà îäèíàêîâî íà÷èíàþùèõñÿ ñîîáùåíèÿ áóäóò øèôðîâàòüñÿ îäèíàêîâî, ïîêà íå ïîÿâèòñÿ ïåðâîå ðàçëè÷èå . Ó ðÿäà ñîîáùåíèé ìîæåò áûòü îäèíàêîâûé çàãîëîâîê - òåìà ïèñüìà, ñòðîêà "From'' èëè åùå ÷òî-íèáóäü. Õîòÿ ïîâòîð áëîêà áóäåò íåâîçìîæåí, òàêîå îäèíàêîâîå íà÷àëî ìîæåò ïðåäîñòàâèòü êðèïòîàíàëèòèêó êàêóþíèáóäü ïîëåçíóþ èíôîðìàöèþ. Èçáåæàòü ýòîãî ìîæíî, øèôðóÿ â êà÷åñòâå ïåðâîãî áëîêà êàêèå-òî ñëó÷àéíûå äàííûå . Ýòîò áëîê ñëó÷àéíûõ äàííûõ íàçûâàåòñÿ âåêòîðîì èíèöèàëèçàöèè (initialization vector, IV), èíèöèàëèçèðóþùåé ïåðåìåííîé èëè í à÷àëüíûì çíà÷åíèåì ñöåïëåíèÿ. IV íå èìååò íèêàêîãî ñìûñëîâîãî çíà÷åíèÿ, îí èñïîëüçóåòñÿ òîëüêî äëÿ òîãî, ÷òîáû ñäåëàòü êàæäîå ñîîáùåíèå óíèêàëüíûì . Êîãäà ïîëó÷àòåëü ðàñøèôðîâûâàåò ýòîò áëîê, îí èñïîëüòçóåò åãî òîëüêî äëÿ çàïîëíåíèÿ ðåãèñòðà îáðàòíîé ñâÿçè . Õîðîøèì IV ñëóæèò ìåòêà âðåìåíè. Èëè èñïîëüçóéòå êàêèåíèáóäü ñëó÷àéíûå áèòû. Ñ èñïîëüçîâàíèåì IV ñîîáùåíèÿ ñ èäåíòè÷íûì îòêðûòûì òåêñòîì ïðè øèôðîâàíèè ïåðåõîäÿò â ñîîáùåíèÿ ñ ðàçëè÷íûì øèôðîòåêñòîì. Ñëåäîâàòåëüíî, çëîóìûøëåííèê íå ñìîæåò ïðåäïðèíÿòü ïîâòîð áëîêà, è çàòðó äíèòñÿ ñîçäàíèå øèôðîâàëüíîé êíèãè . Õîòÿ ðåêîìåíäóåòñÿ äëÿ êàæäîãî ñîîáùåíèÿ, øèôðóåìîãî îäíèì è òåì æå êëþ÷îì, âûáèðàòü óíèêàëüíûé IV, ýòî òðåáîâàíèå íå ÿâëÿåòñÿ îáÿçàòåëüíûì . IV íå äîëæåí õðàíèòüñÿ â ñåêðåòå, îí ìîæåò ïåðåäàâàòüñÿ îòêðûòî âìåñòå ñ øèôðîòåêñòîì . Åñëè âû íå ïîíèìàåòå ïî÷åìó, ðàññìîòðèòå ñëåäóþùèé äîâîä . Ïóñòü íàøå ñîîáùåíèå ñîñòîèò èç íåñêîëüêèõ áëîêîâ : B1, B2, ..., Bi . B1 øèôðóåòñÿ âìåñòå ñ IV. B2 øèôðóåòñÿ ñ èñïîëüçîâàíèåì øèôðîòåêñòà B1 â ðîëè IV. B3 øèôðóåòñÿ ñ èñïîëüçîâàíèåì øèôðîòåêñòà B2 â ðîëè IV, è òàê äàëåå. Èòàê, åñëè êîëè÷åñòâî áëîêîâ - n, òî n-1 "âåêòîðîâ èíèöèàëèçàöèè" îòêðûòû, äàæå åñëè ïåðâîíà÷àëüíûé IV õðàíèòñÿ â ñåêðåòå. Ïîýòîìó ïðè÷èí õðàíèòü â ñåêðåòå IV íåò, IV - ýòî ïðîñòî áëîê-çàãëóøêà, ìîæíî ñ÷èòàòü åãî íóëåâûì áëîêîì ñöåïëåíèÿ B0.
Íàáèâêà Íàáèâêà èñïîëüçóåòñÿ òàêæå, êàê è â ðåæèìå ECB, íî â íåêîòîðûõ ïðèëîæåíèÿõ ðàçìåð øèôðîòåêñò äîëæåí â òî÷íîñòè ñîâïàäàòü ñ ðàçìåðîì îòêðûòîãî òåêñòà . Ìîæåò áûòü, çàøèôðîâàííûé ôàéë äîëæåí çàíÿòü â òî÷í îñòè òîò æå îáúåì ïàìÿòè, ÷òî è ôàéë îòêðûòîãî òåêñòà .  ýòîì ñëó÷àå ïîñëåäíèé êîðîòêèé áëîê ïðèäåòñÿ øè ôðîâàòü èíà÷å. Ïóñòü ïîñëåäíèé áëîê ñîñòîèò èç l áèòîâ. Çàøèôðîâàâ ïîñëåäíèé ïîëíûé áëîê, ñíîâà çàøèôðóéòå øèôðîòåêñò, âûáåðèòå ñòàðøèå l áèòîâ è âûïîëíèòå äëÿ íèõ è êîðîòêîãî áëîêà îïåðàöèþ XOR, ñîçäàâàÿ øèôðîòåêñò. Ýòà ïðîöåäóðà ïîêàçàíà íà 5-é. Pn-2
Pn-1
Ek
Ek
P n (j áèòîâ äëèíîé)
Ek
Âûáðàòü ëåâûå j áèòîâ Cn-2
C n-1
C n (j áèòîâ äëèíîé)
Ðèñ. 9-4. Øèôðîâàíèå êîðîòêîãî ïîñëåäíåãî áëîêà â ðåæèìå CBÑ. Ñëàáîñòü ýòîãî ñïîñîáà â òîì, ÷òî õîòÿ Ìýëëîðè íå ñìîæåò ðàñêðûòü ïîñëåäíèé áëîê øèôðîòåêñòà, îí ì îæåò ñèñòåìàòè÷åñêè èçìåíÿòü åãî, ìåíÿÿ îòäåëüíûå áèòû øèôðîòåêñòà . Åñëè ïîñëåäíèå íåñêîëüêî áèòîâ øè ôðîòåêñòà ñîäåðæàò âàæíóþ èíôîðìàöèþ, ýòî îïàñíî. Åñëè ïîñëåäíèå áèòû ïðîñòî ñîäåðæàò ñîâåò ïî äîìîâî äñòâó, òî íè÷åãî ñòðàøíîãî. Ëó÷øèì ñïîñîáîì ÿâëÿåòñÿ ïîõèùåíèå ùèôðîòåêñòà (ñì. 4th) [402]. Pn-1 - ïîñëåäíèé ïîëíûé áëîê îòêðûòîãî òåêñòà, Pn - çàêëþ÷èòåëüíûé, êîðîòêèé áëîê îòêðûòîãî òåêñòà . Ñn-1 - ïîñëåäíèé ïîëíûé áëîê øèôðîòåêñòà , Ñn çàêëþ÷èòåëüíûé, êîðîòêèé áëîê øèôðîòåêñòà . C' - ýòî ïðîñòî ïðîìåæóòî÷íûé ðåçóëüòàò, íå ÿâëÿþùèéñÿ ÷ àñòüþ ïåðåäàííîãî øèôðîòåêñòà. Ïðåèìóùåñòâîì ýòîãî ìåòîäà ÿâëÿåòñÿ òî, ÷òî âñå áèòû îòêðûòîãî òåêñòà ñîî áùåíèÿ ïðîõîäÿò ÷åðåç àëãîðèòì øèôðîâàíèÿ . Pn-1
Pn
Cn
Cn-1
φ
Dk Ek
Dk
Ek Ñn
Cn
C'
C'
Cn-1
Cn-2
φ
Pn
C'
Pn-1
Ðèñ. 9-5. Ïîõèùåíèå øèôðîòåêñòà â ðåæèìå CBÑ. Ðàñïðîñòðàíåíèå îøèáêè Ðåæèì CBC õàðàêòåðèçóåòñÿ ïðÿìîé îáðàòíîé ñâÿçüþ øèôðîòåêñòà ïðè øèôðîâàíèè è èíâåðñíîé îáðàòíîé ñâÿçüþ øèôðîòåêñòà ïðè äåøèôðèðîâàíèè . Ïðè ýòîì ïðèëîæåíèÿ äîëæíû óìåòü áîðîòüñÿ ñ îøèáêàìè . Åäèíñòâåííàÿ áèòîâàÿ îøèáêà â áëîêå îòêðûòîãî òåêñòà ïîâëèÿåò íà äàííûé áëîê øèôðîòåêñòà è âñå ïîñë åäóþùèå áëîêè øèôðîòåêñòà. Ýòî íå âàæíî, ïîòîìó ÷òî äåøèôðèðîâàíèå èíâåðòèðóåò ýòîò ýôôåêò, è âîññòàíî â-
ëåííûé îòêðûòûé òåêñò áóäåò ñîäåðæàòü òó æå åäèíñòâåííóþ îøèáêó . ×àùå âñòðå÷àþòñÿ îøèáêè øèôðîòåêñòà . Îíè ëåãêî ïîÿâëÿþòñÿ èç-çà øóìà ëèíèé ïåðåäà÷è èëè ñáîåâ óñ òðîéñòâ õðàíåíèÿ.  ðåæèìå CBC îøèáêà îäíîãî áèòà øèôðîòåêñòà âëèÿåò íà îäèí áëîê è îäèí áèò âîññòàíî âëåííîãî îòêðûòîãî òåêñòà. Áëîê, ñîîòâåòñòâóþùèé ñîäåðæàùåìó îøèáêó áëîêó øèôðîòåêñòà, èñêàæàåòñÿ ïîëí îñòüþ.  ñëåäóþùåì áëîêå èñêàæàåòñÿ åäèíñòâåííûé áèò, íàõîäÿùèéñÿ â òîé æå ïîçèöèè, ÷òî è îùèáî÷íûé áèò . Ýòî ñâîéñòâî ïðåâðàùåíèÿ ìàëîé îøèáêè øèôðîòåêñòà â áîëüøóþ îøèáêó îòêðûòîãî òåêñòà íàçûâàåòñÿ ðàñïðîñòðàíåíèåì îøèáêè. Ýòî ÿâëÿåòñÿ ãëàâíûì íåäîñòàòêîì. Ýòà îøèáêà íå âëèÿåò íà áëîêè, ðàñïîëîæå ííûå ÷åðåç îäèí îò èñïîð÷åííîãî è äàëåå, ïîýòîìó ðåæèì CBC ÿâëÿåòñÿ ñàìîâîññòàíàâëèâàþùèìñÿ. Îøèáêà âëèÿåò íà äâà áëîêà, íî ñèñòåìà ïðîäîëæàåò ðàáîòàòü ïðàâèëüíî äëÿ âñåõ ïîñëåäóþùèõ áëîêîâ . CBC ïðåäñòàâëÿåò ñîáîé ïðèìåð áëî÷íîãî øèôðà, èñïîëüçóåìîãî â ñàìîñèíõðîíèçèðóþùåéñÿ ìàíåðå, íî òîëüêî íà áëîêîâîì óðîâíå. Õîòÿ ðåæèì CBC áûñòðî âîññòàíàâëèâàåòñÿ îò áèòîâîãî ñáîÿ, îí àáñîëþòíî íå óñòîé÷èâ ê îøèáêàì ñèíõð îíèçàöèè. Åñëè â ïîòîêå øèôðîòåêñòà òåðÿåòñÿ èëè äîáàâëÿåòñÿ áèò , òî ïîëîæåíèå âñåõ ïîñëåäóþùèõ áëîêîâ ñäâèãàþòñÿ íà îäèí áèò, è íà âûõîäå äåøèôðèðîâàíèÿ áóäåò ñïëîøíîé ìóñîð . Ëþáàÿ êðèïòîñèñòåìà, èñïîëüçóþùàÿ ðåæèì CBC äîëæíà îáåñïå÷èâàòü öåëîñòíîñòü áëî÷íîé ñòðóêòóðû ëèáî ïðè ïîìîùè êàäðîâ, ëèáî ñ îõðàíÿÿ äàííûå â ñòðóêòóðû èç íåñêîëüêèõ áëîêîâ. Âîïðîñû áåçîïàñíîñòè Ðÿä âîçìîæíûõ ïðîáëåì îáóñëàâëèâàþòñÿ ñòðóêòóðîé CBC. Âî ïåðâûõ, òàê êàê áëîê øèôðîòåêñòà äîñòàòî ÷íî ïðîñòî âëèÿåò íà ñëåäóþùèé áëîê , Ìýëëîðè ìîæåò òàéíî äîáàâëÿòü áëîêè ê êîíöó çàøèôðîâàííîãî ñîîáù åíèÿ. Êîíå÷íî, ïðè äåøèôðèðîâàíèè îíè ïðåâðàòÿòñÿ â ÷åïóõó, íî â íåêîòîðûõ ñèòóàöèÿõ ýòî íåæåëàòåëüíî . Ïðè èñïîëüçîâàíèè CBC âû äîëæíû ñòðóêòóðèðîâàòü âàø îòêðûòûé òåêñò òàê, ÷òîáû âû çíàëè, ãäå íàõîäÿ òñÿ êîíöû ñîîáùåíèé, è ìîãëè îáíàðóæèòü äîáàâëåíèå ëèøíèõ áëîêîâ . Âî âòîðûõ, Ìýëëîðè ìîæåò èçìåíèòü áëîê øèôðîòåêñòà, èçìåíåíèÿ îïðåäåëåííûì îáðàçîì áëîêè ðàñøè ôðîâàííîãî îòêðûòîãî òåêñòà. Íàïðèìåð, åñëè Ìýëëîðè èçìåíèò îäèí áèò øèôðîòåêñòà, âåñü áëîê áóäåò ðàñøè ôðîâàí íåïðàâèëüíî, à â ñëåäóþùåì áëîêå â ñîîòâåòñòâóþùåé ïîçèöèè áóäåò íåïðàâèëüíûé áèò . Âîçìîæíû ñèòóàöèè, êîãäà ýòî íåæåëàòåëüíî. Îòêðûòîå ñîîáùåíèÿ äîëæíî îáëàäàòü íåêîòîðîé èçáûòî÷íîñòüþ èëè ñðåäñ òâàìè èäåíòèôèêàöèè. Íàêîíåö, õîòÿ ñòðóêòóðà îòêðûòîãî òåêñòà ìàñêèðóåòñÿ ñöåïëåíèåì , ñòðóêòóðà î÷åíü äëèííûõ ñîîáùåíèé âñå ðàâíî áóäåò çàìåòíà. Ïàðàäîêñ äíÿ ðîæäåíèÿ ïðåäñêàçûâàåò, ÷òî ïîñëå 2 m/2 áëîêîâ, ãäå m - ðàçìåð áëîêà, ïîÿâëÿþòñÿ îäèíàêîâûå áëîêè. Äëÿ 64-áèòîâîãî áëîêà äëèíà òàêîãî ñîîáùåíèÿ ïðèìåðíî ðàâíû 32 Ãáàéòàì . Ïîäîáíàÿ ïðîáëåìà âîçíèêàåò òîëüêî äëÿ ñîîáùåíèé íåìàëåíüêîãî ðàçìåðà .
9.4 Ïîòîêîâûå øèôðû Ïîòîêîâûå øèôðû ïðåîáðàçóþò îòêðûòûé òåêñò â øèôðîòåêñò ïî îäíîìó áèòó çà îïåðàöèþ . Ïðîñòåéøàÿ ðåàëèçàöèÿ ïîòîêîâîãî øèôðà ïîêàçàíà íà 3-é. Ãåíåðàòîð ïîòîêà êëþ÷åé (èíîãäà íàçûâàåìûé ãåíåðàòîðîì ñ áåãóùèì êëþ÷îì) âûäàåò ïîòîê áèòîâ: k1, k2, k3, ..., ki . Ýòîò ïîòîê êëþ÷åé (èíîãäà íàçûâàåìûé áåãóùèì êëþ÷îì) è ïîòîê áèòîâ îòêðûòîãî òåêñòà, p1, p2, p3, ..., pi , ïîäâåðãàþòñÿ îïåðàöèè "èñêëþ÷àþùåå èëè", è â ð åçóëüòàòå ïîëó÷àåòñÿû ïîòîê áèòîâ øèôðîòåêñòà . ci =pi ⊕ ki Ïðè äåøèôðèðîâàíèè îïåðàöèÿ XOR âûïîëíÿåòñÿ íàä áèòàìè øèôðîòåêñòà è òåì æå ñàìûì ïîòîêîì êë þ÷åé äëÿ âîññòàíîâëåíèÿ áèòîâ îòêðûòîãî òåêñòà . pi = c i ⊕ k i Òàê êàê pi ⊕ k i ⊕ k i = p i ýòî ðàáîòàåò ïðàâèëüíî. Áåçîïàñíîñòü ñèñòåìû ïîëíîñòüþ çàâèñèò îò ñâîéñòâ ãåíåðàòîðà ïîòîêà êëþ÷åé . Åñëè ãåíåðàòîð ïîòîêà êëþ÷åé âûäàåò áåñêîíå÷íóþ ñòðîêó íóëåé, øèôðîòåêñò áóäåò ñîâïàäàòü ñ îòêðûòûì òåêñòîì, è âñå îïåðàöèÿ áóäåò áåññìûñëåííà. Åñëè ãåíåðàòîð ïîòîêà êëþ÷åé âûïëåâûâàåò ïîâòîðÿþùèéñÿ 16-áèòîâûé øàáëîí, àëãîðèòì á óäåò ÿâëÿòüñÿ ïðîñòûì XOR ñ ïðåíåáðåæèìî ìàëîé áåçîïàñíîñòüþ (ñì. ðàçäåë 1.4). Åñëè ãåíåðàòîð ïîòîêà êëþ÷åé âûïëåâûâàåò áåñêîíå÷íûé ïîòîê ñëó÷àéíûõ (ïî íàñòîÿùåìó, à íå ïñåâäîñëó÷àéíûõ - ñì. ðàçäåë 2.8) áèòîâ, âû ïîëó÷àåòå îäíîðàçîâûé áëîêíîò è èäåàëüíóþ áåçîïàñíîñòü . Íà äåëå áåçîïàñíîñòü ïîòîêîâîãî øèôðà íàõîäèòñÿ ãäå-òî ìåæäó ïðîñòûì XOR è îäíîðàçîâûì áëîêíîòîì.
Ãåíåðàòîð ïîòîêà êëþ÷åé ñîçäàåò áèòîâûé ïîòîê, êîòîðûé ïîõîæ íà ñëó÷àéíûé, íî â äåéñòâèòåëüíîñòè äåòå ðìèíèðîâàí è ìîæåò áûòü áåçîøèáî÷íî âîñïðîèçâåäåí ïðè äåøèôðèðîâàíèè . ×åì áëèæå âûõîä ãåíåðàòîðà ïîòîêà êëþ÷åé ê ñëó÷àéíîìó, òåì áîëüøå âðåìåíè ïîòðåáóåòñÿ êðèïòîàíàëèòèêó, ÷òîáû âçëîìàòü øèôð .
Pi
Ãåíåðàòîð ïîòîêà êëþ÷åé
Ãåíåðàòîð ïîòîêà êëþ÷åé
Ïîòîê êëþ÷åé Ki
Ïîòîê êëþ÷åé Ki Øèôðîòåêñò
Ci
Îòêðûòûé òåêñò
Îòêðûòûé òåêñò
Pi
Äåøèôðèðîâàíèå
Øèôðîâàíèå
Ðèñ. 9-6. Ïîòîêîâûé øèôð Îäíàêî, åñëè ãåíåðàòîð ïîòîêà êëþ÷åé ïðè êàæäîì âêëþ÷åíèè ñîçäàåò îäèí è òîò æå áèòîâûé ïîòîê , òî èñïîëüçóþùóþ åãî êðèïòîñèñòåìó âçëîìàòü íåòðóäíî . Ïîêàæåì íà ïðèìåðå, ïî÷åìó ýòî òàê . Åñëè ê Åâå ïîïàë øèôðîòåêñò è ñîîòâåòñòâóþùèé îòêðûòûé òåêñò, òî îíà, âûïîëíÿÿ îïåðàöèþ XOR íàä îòêðûòûì òåêñòîì è øèôðîòåêñòîì, ðàñêðûâàåò ïîòîê êëþ÷åé . Èëè, åñëè ó íåå åñòü äâà ðàçëè÷íûõ øèôðîòåêñòà, çàøèôðîâàííûõ îäèíàêîâûì êëþ÷îì , îíà ìîæåò âûïîëíèòü íàä íèìè îïåðàöèþ XOR, ïîëó÷àÿ äâà îòêðûòûõ òåêñòà ñîîáùåíèé, íàä êîòîðûìè âûïîëíåíà îïåðàöèÿ XOR. Ýòî íåòðóäíî âçëîìàòü, è çàòåì îíà ìîæåò ïîë ó÷èòü ïîòîê êëþ÷åé, âûïîëíÿÿ îïåðàöèþ XOR íàä îäíèì èç îòêðûòûõ òåêñòîâ è øèôðîòåêñòîì . Òåïåðü, ïåðåõâàòèâ ëþáîå äðóãîå øèôðîâàííîå ñîîáùåíèå, îíà ñìîæåò ðàñøèôðîâàòü åãî, èñïîëüçóÿ ïîë ó÷åííûé ïîòîê êëþ÷åé. Êðîìå òîãî, îíà ìîæåò ðàñøèôðîâàòü è ïðî÷èòàòü ëþáîå èç ðàíåå ïåðåõâà÷åííûõ ñîî áùåíèé. Êîãäà Åâà ïîëó÷èò ïàðó îòêðûòûé òåêñò/øèôðîòåêñò, îíà ñìîæåò ÷èòàòü âñå . Ïîýòîìó äëÿ âñåõ ïîòîêîâûõ øèôðîâ èñïîëüçóþòñÿ êëþ÷è. Âûõîä ãåíåðàòîðà ïîòîêà êëþ÷åé ÿâëÿåòñÿ ôóí êöèåé êëþ÷à. Òåïåðü, åñëè Åâà ïîëó÷èò ïàðó îòêðûòûé òåêñò/øèôðîòåêñò , îíà ñìîæåò ÷èòàòü òîëüêî òå ñîîáù åíèÿ, êîòîðûå çàøèôðîâàíû òåì æå êëþ÷îì . Èçìåíèòå êëþ÷, è ïðîòèâíèêó ïðèäåòñÿ íà÷àòü âñå ñíà÷àëà . Ïîòîêîâûå øèôðû îñîáåííî ïîëåçíû äëÿ øèôðîâàíèÿ áåñêîíå÷íûõ ïîòîêîâ êîììóíèêàöèîííîãî òðàôèêà, íàïð èìåð, êàíàëà Ò1, ñâÿçûâàþùåãî äâà êîìïüþòåðà. Ãåíåðàòîð ïîòîêà êëþ÷åé ñîñòîèò èç òðåõ îñíîâíûõ ÷àñòåé (ñì. 2nd). Âíóòðåííåå ñîñòîÿíèå îïèñûâàåò òåê óùåå ñîñòîÿíèå ãåíåðàòîðà ïîòîêà êëþ÷åé . Äâà ãåíåðàòîðà ïîòîêà êëþ÷åé, ñ îäèíàêîâûì êëþ÷îì è îäèíàêîâûì âíóòðåííèì ñîñòîÿíèåì, âûäàþò îäèíàêîâûå ïîòîêè êëþ÷åé . Ôóíêöèÿ âûõîäà ïî âíóòðåííåìó ñîñòîÿíèþ ãåí åðèðóåò áèò ïîòîêà êëþ÷åé. Ôóíêöèÿ ñëåäóþùåãî ñîñòîÿíèÿ ïî âíóòðåííåìó ñîñòîÿíèþ ãåíåðèðóåò íîâîå âíó òðåííåå ñîñòîÿíèå. Âíóòðåííåå ñîñòîÿíèå Ôóíêöèÿ ñëåäóþùåãî ñîñòîÿíèÿ
ÊËÞ× K
Ôóíêöèÿ âûõîäà
Ki
Ðèñ. 9-7. Óñòðîéñòâî ãåíåðàòîðà ïîòîêà êëþ÷åé.
9.5 Ñàìîñèíõðîíèçèðóþùèåñÿ ïîòîêîâûå øèôðû  ñàìîñèíõðîíèçèðóþùèõñÿ ïîòîêîâûõ øèôðàõ êàæäûé áèò ïîòîêà êëþ÷åé ÿâëÿåòñÿ ôóíêöèåé ôèêñèð îâàííîãî ÷èñëà ïðåäûäóùèõ áèòîâ øèôðîòåêñòà [1378]. Âîåííûå íàçûâàþò ýòîò øèôð àâòîêëþ÷îì øèôðîòåêñòà (ciphertext auto key, CTAK). Îñíîâíàÿ èäåÿ áûëà çàïàòåíòîâàíà â 1946 [667]. Ñàìîñèíõðîíèçèðóþùèéñÿ ïîòîêîâûé øèôð ïîêàçàí íà 1-é. Âíóòðåííåå ñîñòîÿíèå ÿâëÿåòñÿ ôóíêöèåé ïð åäûäóùèõ n áèòîâ øèôðîòåêñòà. Êðèïòîãðàôè÷åñêè ñëîæíîé ÿâëÿåòñÿ âûõîäíàÿ ôóíêöèÿ, êîòîðàÿ èñïîëüçóåò âíóòðåííåå ñîñòîÿíèå äëÿ ãåíåðàöèè áèòà ïîòîêà êëþ÷åé . Âíóòðåííåå ñîñòîÿíèå Ôóíêöèÿ âûõîäà
Âíóòðåííåå ñîñòîÿíèå
K
Ôóíêöèÿ âûõîäà
Ci
Pi
Pi
Ðèñ. 9-8. Ñàìîñèíõðîíèçèðóþùèéñÿ ãåíåðàòîð ïîòîêà êëþ÷åé. Òàê êàê âíóòðåííåå ñîñòîÿíèå ïîëíîñòüþ çàâèñèò îò ïðåäûäóùèõ n øèôðîòåêñòà, äåøèôðèðóþùèé ãåíåðàòîð ïîòîêà êëþ÷åé àâòîìàòè÷åñêè ñèíõðîíèçèðóåòñÿ ñ øèôðóþùèì ãåíåðàòîðîì ïîòîêà êëþ÷åé, ïðèíÿâ n áèòîâ øèôðîòåêñòà.  èíòåëëåêòóàëüíûõ ðåàëèçàöèÿõ ýòîãî ðåæèìà êàæäîå ñîîáùåíèå íà÷èíàåòñÿ ñëó÷àéíûì çàãîëîâêîì äë èíîé n áèòîâ. Ýòîò çàãîëîâîê øèôðóåòñÿ, ïåðåäàåòñÿ è çàòåì ðàñøèôðîâûâàåòñÿ . Ðàñøèôðîâêà áóäåò íåïðàâèëüíîé, íî ïîñëå ýòèõ n áèòîâ îáà ãåíåðàòîðà ïîòîêà êëþ÷åé áóäóò ñèíõðîíèçèðîâàíû . Ñëàáîé ñòîðîíîé ñàìîñèíõðîíèçèðóþùåãîñÿ ïîòîêîâîãî øèôðà ÿâëÿåòñÿ ðàñïðîñòðàíåíèå îøèáêè . Äëÿ êàæäîãî áèòà øèôðîòåêñòà, èñïîð÷åííîãî ïðè ïåðåäà÷å, äåøèôðèðóþùèé ãåíåðàòîð ïîòîêà êëþ÷åé âûäàåò n íåïðàâèëüíûõ áèòîâ ïîòîêà êëþ÷åé . Ñëåäîâàòåëüíî, êàæäîìó íåïðàâèëüíîìó áèòó øèôðîòåêñòà ñîîòâåòñòâóþò n îøèáîê â îòêðûòîì òåêñòå, ïîêà èñïîð÷åííûé áèò íå ïåðåñòàíåò âëèÿòü íà âíóòðåííåå ñîñòîÿíèå . Âîïðîñû áåçîïàñíîñòè Ñàìîñèíõðîíèçèðóþùèåñÿ ïîòîêîâûå øèôðû òàêæå ÷óâñòâèòåëüíû ê âñêðûòèþ ïîâòîðíîé ïåðåäà÷åé . Ñíà÷àëà Ìýëëîðè çàïèñûâàåò íåñêîëüêî áèòîâ øèôðîòåêñòà . Çàòåì, ïîçäíåå, îí âñòàâëÿåò ýòó çàïèñü â òåêóùèé òðàôèê. Ïîñëå âûäà÷è íåêîòîðîé ÷åïóõè, ïîêà ïðèíèìàþùàÿ ñòîðîíà ñèíõðîíèçèðóåòñÿ ñ âñòàâëåííîé çàïèñüþ , ñòàðûé øèôðîòåêñò áóäåò ðàñøèôðîâàí êàê íîðìàëüíûé . Ó ïðèíèìàþùåé ñòîðîíû íåò ñïîñîáà óçíàòü, ÷òî ï îëó÷åííûå äàííûå ÿâëÿþòñÿ ïîâòîðíî ïåðåäàâàåìîé çàïèñüþ . Åñëè íå èñïîëüçóþòñÿ ìåòêè âðåìåíè, Ìýëëîðè ìîæåò óáåäèòü áàíê ñíîâà è ñíîâà çà÷èñëÿòü äåíüãè íà åãî ñ÷åò , ïîâòîðíî ïåðåäàâàÿ îäíî è òî æå ñîîáùåíèå (êîíå÷íî, ïðè óñëîâèè, ÷òî êëþ÷ íå ìåíÿëñÿ ). Äðóãèå ñëàáûå ìåñòà ýòîé ñõåìû ìîãóò ñòàòü çàìåòíû ïðè î÷åíü ÷àñòîé ïåðåñèíõðîíèçàöèè [408].
9.6 Ðåæèì îáðàòíîé ñâÿçè ïî øèôðó Áëî÷íûé øèôð òàêæå ìîæåò áûòü ðåàëèçîâàíû êàê ñàìîñèíõðîíèçèðóþùèéñÿ ïîòîêîâûé øèôð, òàêîé ð åæèì íàçûâàåòñÿ ðåæèìîì îáðàòíîé ñâÿçè ïî øèôðó ( cipher-feedback, CFB).  ðåæèìå CBC øèôðîâàíèå íå ìîãëî íà÷àòüñÿ, ïîêà íå ïîëó÷åí öåëûé áëîê äàííûõ. Ýòî ñîçäàåò ïðîáëåìû äëÿ íåêîòîðûõ ñåòåâûõ ïðèëîæåíèé . Íàïðèìåð, â áåçîïàñíîé ñåòåâîé ñðåäå òåðìèíàë äîëæåí èìåòü âîçìîæíîñòü ïåðåäàâàòü ãëàâíîìó êîìïüþòåðó êàæäûé ñèìâîë ñðàçó, êàê òîëüêî îí ââåäåí . Åñëè äàííûå íóæíî îáðàáàòûâàòü áàéòàìè, ðåæèì CBC òàêæå íå ðàáîòàåò.  ðåæèìå CFB åäèíèöà çàøèôðîâàííûõ äàííûõ ìîæåò áûòü ìåíüøå ðàçìåðà áëîêà .  ñëåäóþùåì ïðèìåðå êàæäûé ðàç øèôðóåòñÿ òîëüêî îäèí ñèìâîë ASCII (ýòî íàçûâàåòñÿ 8-áèòîâûì øèôðîâàíèåì ), íî â ÷èñëå 8 íåò íè÷åãî âîëøåáíîãî. Âû ìîæåòå øèôðîâàòü äàííûå ïî îäíîìó áèòó ñ ïîìîùüþ 1-áèòîâîãî CFB, õîòÿ èñïîëüçîâàíèå äëÿ åäèíñòâåííîãî áèòà ïîëíîãî øèôðîâàíèÿ áëî÷íûì øèôðîì ïîòðåáóåò ìíîãî ðåñóðñîâ, ïîòîêîâûé øèôð â ýòîì ñëó÷àå áûë áû èäååé ïîëó÷øå . (Óìåíüøåíèå êîëè÷åñòâà öèêëîâ áëî÷íîãî ôèëüòðà äëÿ ïîâûøåíèÿ ñêîðîñòè íå ðåêîìåíäóåòñÿ [1269].) Ìîæíî òàêæå èñïîëüçîâàòü 64-áèòîâûé CFB, èëè ëþáîé n-áèòîâûé CFB, ãäå n áîëüøå èëè ðàâíî ðàçìåðó áëîêà .
Íà 0-é ïîêàçàí 8-áèòîâûé ðåæèì CFB, ðàáîòàþùèé ñ 64-áèòîâûì àëãîðèòìîì . Áëî÷íûé àëãîðèòì â ðåæèìå CFB ðàáîòàåò ñ î÷åðåäüþ, ðàçìåð êîòîðîé ðàâåí ðàçìåðó èñïîëüçóåìîãî áëîêà . Ñíà÷àëà î÷åðåäü çàïîëíåíà IV, êàê è â ðåæèìå CBC. Î÷åðåäü øèôðóåòñÿ è äëÿ êðàéíèõ ëåâûõ âîñüìè áèòîâ ðåçóëüòàòà âûïîëíÿåòñÿ XOR ñ ïåðâûìè 8-áèòîâûì ñèìâîëîì îòêðûòîãî òåêñòà äëÿ ïîëó÷åíèÿ ïåðâîãî 8-áèòîâîãî ñèìâîëà øèôðîòåêñòà. Ò åïåðü ýòîò ñèìâîë ïåðåäàåòñÿ. Òå æå âîñåìü áèòîâ òàêæå ïåðåäâèãàþòñÿ íà ìåñòî êðàéíèõ ïðàâûõ âîñüìè áèòîâ î÷åðåäè, à êðàéíèìè ëåâûìè áèòàìè ñòàíîâÿòñÿ ñëåäóþùèå âîñåìü áèòîâ . Êðàéíèå âîñåìü ëåâûõ áèòîâ îòáð àñûâàåòñÿ. Ñëåäóþùèé ñèìâîë îòêðûòîãî òåêñòà øèôðóåòñÿ òåì æå ñïîñîáîì . Äåøèôðèðîâàíèå ÿâëÿåòñÿ îáðà òíûì ïðîöåññîì. È øèôðóþùåé, è äåøèôðèðóþùåé ñòîðîíîé áëî÷íûé àëãîðèòì èñïîëüçóåòñÿ â ðåæèìå øèôð îâàíèÿ. Åñëè ðàçìåð áëîêà àëãîðèòìà - n, òî -áèòîâûé CFB âûãëÿäèò ñëåäóþùèì îáðàçîì (ñì. -1-é): Ci = Pi ⊕Ek(Ci-1) Pi = Ci ⊕Ek(Ci-1) Ñäâèãîâûé ðåãèñòð
Ñäâèãîâûé ðåãèñòð
Øèôðîâàíèå
Êëþ÷ Ê
Ñàìûé ëåâûé áàéò
Øèôðîâàíèå
Êëþ÷ Ê
ki
Ñàìûé ëåâûé áàéò
ci
pi
ki
ci
(à) Øèôðîâàíèå
pi
á) Äåøèôðèðîâàíèå
Ðèñ. 9-9. Ðåæèì 8-áèòîâîé îáðàòíîé ñâÿçè ïî øèôðó. Pn-1
Pn
Ek
Cn-1
Pn+1
Ek
Cn
Cn+1
Ðèñ. 9-10. n-áèòîâûé CBF ñ n-áèòîâûì àëãîðèòìîì. Êàê è ðåæèì CBC, ðåæèì CFB ñâÿçûâàåò âìåñòå ñèìâîëû îòêðûòîãî òåêñòà òàê, ÷òî øèôðîòåêñò çàâèñèò îò âñåãî ïðåäøåñòâóþùåãî îòêðûòîãî òåêñòà . Âåêòîð èíèöèàëèçàöèè Äëÿ èíèöèàëèçàöèè ïðîöåññà CFB â êà÷åñòâå âõîäíîãî áëîêà àëãîðèòìà ìîæåò èñïîëüçîâàòüñÿ âåêòîð èí èöèàëèçàöèè IV. Êàê è â ðåæèìå CBC IV íå íóæíî õðàíèòü â ñåêðåòå. Îäíàêî IV äîëæåí áûòü óíèêàëüíûì. ( îòëè÷èå îò ðåæèìà CBC, ãäå IV íå îáÿçàí áûòü óíèêàëüíûì, õîòÿ ýòî è æåëàòåëüíî.) Åñëè IV â ðåæèìå CFB íå óíèêàëåí, êðèïòîàíàëèòèê ìîæåò ðàñêðûòü ñîîòâåòñòâóþùèé î òêðûòûé òåêñò. IV äîëæåí ìåíÿòüñÿ äëÿ êàæäîãî ñîîáùåíèÿ . Ýòî ìîæåò áûòü ïîñëåäîâàòåëüíûé íîìåð, óâåëè÷ èâàþùèéñÿ äëÿ êàæäîãî íîâîãî ñîîáùåíèÿ è íå ïîâòîðÿþùèéñÿ â òå÷åíèå âðåìåíè æèçíè êëþ÷à . Åñëè äàííûå øèôðóþòñÿ ñ öåëüþ ïîñëåäóþùåãî õðàíåíèÿ, IV ìîæåò áûòü ôóíêöèåé èíäåêñà, èñïîëüçóåìîãî äëÿ ïîèñêà äà ííûõ.
Ðàñïðîñòðàíåíèå îøèáêè  ðåæèìå CFB îøèáêà â îòêðûòîì òåêñòå âëèÿåò íà âåñü ïîñëåäóþùèé øèôðîòåêñò, íî ñàìîóñòðàíÿåòñÿ ïðè äåøèôðèðîâàíèè. Ãîðàçäî èíòåðåñíåå îøèáêà â øèôðîòåêñòå . Ïåðâûì ýôôåêòîì ñáîÿ áèòà øèôðîòåêñòà ÿâë ÿåòñÿ ñáîé îäíîãî áèòà îòêðûòîãî òåêñòà . Çàòåì îøèáêà ïîïàäàåò â ñäâèãîâûé ðåãèñòð , è ïîêà ñáîéíûé áèò íå âûéäåò èç ðåãèñòðà, áóäåò ôîðìèðîâàòüñÿ íåïðàâèëüíûé øèôðîòåêñò .  8-áèòîâîì ðåæèìå CFB èç-çà ñáîÿ åäèíñòâåííîãî áèòà ïîðòÿòñÿ 9 áàéòîâ ðàñøèôðîâàííîãî îòêðûòîãî òåêñòà . Ïîòîì ñèñòåìà âîññòàíàâëèâàåòñÿ, è âåñü ïîñëåäóþùèé øèôðîòåêñò ðàñøèôðîâûâàåòñÿ ïðàâèëüíî .  îáùåì ñëó÷àé â n-áèòîâîì ðåæèìå CFB îäíà îøèáêà øèôðîòåêñòà âëèÿåò íà äåøèôðèðîâàíèå òåêóùåãî è ñëåäóþùèõ m/n-l áëîêîâ, ãäå m - ðàçìåð áëîêà. Áîëåå òîíêîé ïðîáëåìîé, ñâÿçàííîé ñ òàêîãî ðîäà ðàñïðîñòðàíåíèåì îøèáêè, ÿâëÿåòñÿ òî, ÷òî åñëè Ìýëëîðè çíàåò îòêðûòûé òåêñò ñîîáùåíèÿ, îí ìîæåò ïîèãðàòü áèòàìè äàííîãî áëîêà, çàñòàâëÿÿ èõ ðàñøèôðîâûâàòüñÿ â íóæíûå åìó äàííûå. Ñëåäóþùèé áëîê ïðè äåøèôðèðîâàíèè ïðåâðàòèòñÿ â ÷åïóõó , íî âðåä óæå áóäåò ïðè÷èíåí. Ê òîìó æå, îí ìîæåò, îñòàâàÿñü íåîáíàðóæåííûì, ìåíÿòü ïîñëåäíèå áèòû ñîîáùåíèÿ . CFB ñàìîâîññòàíàâëèâàåòñÿ è ïîñëå îøèáîê ñèíõðîíèçàöèè . Îøèáêà ïîïàäàåò â ñäâèãîâûé ðåãèñòð è, ïîêà îíà íàõîäèòñÿ òàì, ïîðòèò 8 áàéòîâ äàííûõ . CFB ïðåäñòàâëÿåò ñîáîé ïðèìåð áëî÷íîãî øèôðà, êîòîðûé ìîæíî èñïîëüçîâàòü êàê ñàìîñèíõðîíèçèðóþùèéñÿ ïîòîêîâûé øèôð (íà óðîâíå áëîêîâ ).
9.7 Ñèíõðîííûå ïîòîêîâûå øèôðû  ñèíõðîííîì ïîòîêîâîì øèôðå ïîòîê êëþ÷åé ãåíåðèðóåòñÿ íåçàâèñèìî îò ïîòîêà ñîîáùåíèÿ . Âîåííûå íàçûâàþò ýòîò øèôð êëþ÷åâûì àâòîêëþ÷îì (Key Auto-Key, KAK). Ïðè øèôðîâàíèè ãåíåðàòîð ïîòîêà êë þ÷åé îäèí çà äðóãèì âûäàåò áèòû ïîòîêà êëþ÷åé . Ïðè äåøèôðèðîâàíèè äðóãîé ãåíåðàòîð ïîòîêà êëþ÷åé îäèí çà äðóãèì âûäàåò èäåíòè÷íûå áèòû ïîòîêà êëþ÷åé . Ýòî ðàáîòàåò, åñëè îáà ãåíåðàòîðà ñèíõðîíèçèðîâàíû . Åñëè îäèí èç íèõ ïðîïóñêàåò îäèí èç öèêëîâ, èëè åñëè áèò øèôðîòåêñòà òåðÿåòñÿ ïðè ïåðåäà÷å , òî ïîñëå îøèáêè êàæäûé ñèìâîë øèôðîòåêñòà áóäåò ðàñøèôðîâàí íåïðàâèëüíî . Åñëè òàêîå ñëó÷àåòñÿ, îòïðàâèòåëü è ïîëó÷àòåëü äîëæíû ïîâòîðíî ñèíõðîíèçèðîâàòü ñâîè ãåíåðàòîðû ïîò îêà êëþ÷åé ïðåæäå, ÷åì ìîæíî áóäåò ïðîäîëæèòü ðàáîòó . ×òî åùå õóæå, îíè äîëæíû âûïîëíèòü ñèíõðîíèçàöèþ òàê, ÷òîáû íè îäíà ÷àñòü ïîòîêà êëþ÷åé íå áûëà ïîâòîðåíà, ïîýòîìó î÷åâèäíîå ðåøåíèå ïåðåâåñòè ãåíåðàòîð â áîëåå ðàííåå ñîñòîÿíèå íå ðàáîòàåò . Ïîëîæèòåëüíàÿ ñòîðîíà ñèíõðîííûõ ôèëüòðîâ - ýòî îòñóòñòâèå ðàñïðîñòðàíåíèÿ îøèáîê . Åñëè ïðè ïåðåäà÷å áèò èçìåíèò ñâîå çíà÷åíèå, ÷òî íàìíîãî âåðîÿòíåå åãî ïîòåðè, òî òîëüêî èñïîð÷åííûé áèò áóäåò äåøèôðîâàí íåïðàâèëüíî. Âñå ïðåäøåñòâóþùèå è ïîñëåäóþùèå áèòû íå èçìåíÿòñÿ . Ãåíåðàòîð äîëæåí âûäàâàòü îäèí è òîò æå ïîòîê êëþ÷åé è äëÿ øèôðîâàíèÿ, è äëÿ äåøèôðèðîâàíèÿ, ñëåä îâàòåëüíî, âûõîä ãåíåðàòîðà äîëæåí áûòü ïðåäîïðåäåëåí . Åñëè îí ðåàëèçóåòñÿ íà êîíå÷íîì àâòîìàòå (ò.å., êî ìïüþòåðå), ïîñëåäîâàòåëüíîñòü ñî âðåìåíåì ïîâòîðèòñÿ . Òàêèå ãåíåðàòîðû ïîòîêà êëþ÷åé íàçûâàþòñÿ ïåðèîäè÷åñêèìè. Çà èñêëþ÷åíèåì îäíîðàçîâûõ áëîêíîòîâ âñå ãåíåðàòîðû ïîòîêà êëþ÷åé ÿâëÿþòñÿ ïåðèîäè÷åñêèìè . Ãåíåðàòîð ïîòîêà êëþ÷åé äîëæåí îáëàäàòü äëèííûì ïåðèîäîì, íàìíîãî áîëåå äëèííûì, ÷åì êîëè÷åñòâî á èòîâ, âûäàâàåìûõ ìåæäó ñìåíîé êëþ÷åé . Åñëè ïåðèîä ìåíüøå, ÷åì ðàçìåð îòêðûòîãî òåêñòà, òî ðàçëè÷íûå ÷àñòè îòêðûòîãî òåêñòà áóäóò çàøèôðîâàíû îäèíàêîâûì îáðàçîì, ÷òî ñèëüíî îñëàáëÿåò áåçîïàñíîñòü ñèñòåìû . Åñëè êðèïòîàíàëèòèêó èçâåñòíà ÷àñòü îòêðûòîãî òåêñòà, îí ìîæåò ðàñêðûòü ÷àñòü ïîòîêà êëþ÷åé è èñïîëüçîâàòü åå äëÿ äàëüíåéøåãî ðàñêðûòèÿ îòêðûòîãî òåêñòà . Äàæå åñëè ó àíàëèòèêà åñòü òîëüêî øèôðîòåêñò , îí ìîæåò âûïîëíèòü XOR íàä ðàçäåëàìè, øèôðîâàííûìè îäèíàêîâûì ïîòîêîì êëþ÷åé, è ïîëó÷èòü XOR ñîîòâåòñòâóþùèõ ó÷àñòêîâ îòêðûòîãî òåêñòà. Ïðè ýòîì èñïîëüçóåìûé àëãîðèòì ïðåâðàùàåòñÿ â ïðîñòîé àëãîðèòì XOR ñ î÷åíü äëèííûì êëþ÷îì. Êîíêðåòíàÿ äëèíà ïåðèîäà çàâèñèò îò ïðèëîæåíèÿ . Ãåíåðàòîð ïîòîêà êëþ÷åé, øèôðóþùèé íåïðåðûâíûé êàíàë T1, áóäåò øèôðîâàòü 2? áèò â äåíü. Ïåðèîä ãåíåðàòîðà äîëæåí áûòü íà íåñêîëüêî ïîðÿäêîâ áîëüøå ýòîãî çíà÷åíèÿ, äàæå åñëè êëþ÷ ìåíÿåòñÿ åæåäíåâíî . Åñëè ïåðèîä èìååò äîñòàòî÷íóþ äëèíó, êëþ÷ ìîæíî áóäåò ì åíÿòü ðàç â íåäåëþ èëè äàæå ðàç â ìåñÿö . Ñèíõðîííûå ïîòîêîâûå øèôðû òàêæå ïðåäîõðàíÿþò îò ëþáûõ âñòàâîê è óäàëåíèé øèôðîòåêñòà , òàê êàê îíè ïðèâîäÿò ê ïîòåðå ñèíõðîíèçàöèè è áóäóò íåìåäëåííî îáíàðóæåíû . Îäíàêî, îíè íå çàùèùàþò ïîëíîñòüþ îò áèòîâûõ ñáîåâ. Êàê è ïðè áëîêîâûõ øèôðàõ â ðåæèìå CFB, Ìýëëîðè ìîæåò èçìåíèòü îòäåëüíûå áèòû ïîòîêà. Åñëè åìó èçâåñòåí îòêðûòûé òåêñò, îí ìîæåò èçìåíèòü ýòè áèòû òàê, ÷òîáû ýòè áèòû äåøèôðèðîâàëèñü òàê, êàê åìó íàäî. Äàëüíåéøèå áèòû ïðè äåøèôðèðîâàíèè ïðåâðàòÿòñÿ â ÷åïóõó (ïîêà ñèñòåìà íå âîññòàíîâèòñÿ) , íî â îïðåäåëåííûõ ïðèëîæåíèÿõ Ìýëëîðè ìîæåò ïðèíåñòè çàìåòíûé óùåðá . Âñêðûòèå âñòàâêîé Ñèíõðîííûå ïîòîêîâûå øèôðû ÷óâñòâèòåëüíû ê âñêðûòèþ âñòàâêîé [93]. Ïóñòü Ìýëëîðè çàïèñàë ïîòîê øèôðîòåêñòà, íî íå çíàåò íè îòêðûòîãî òåêñòà, íè ïîòîêà êëþ÷åé, èñïîëüçîâàííîãî äëÿ øèôðîâàíèÿ îòêðûòîãî
òåêñòà. Îðèãèíàëüíûé îòêðûòûé òåêñò : pl p! p3 Pi Îðèãèíàëüíûé ïîòîê êëþ÷åé: kl k! kj ki Îðèãèíàëüíûé øèôðîòåêñò: cl c! c3 ci
Ìýëëîðè âñòàâëÿåò îäèí èçâåñòíûé åìó áèò , w', â îòêðûòûé òåêñò ïîñëå pl è çàòåì ïûòàåòñÿ ïîëó÷èòü ìîäèôèöèðîâàííûé îòêðûòûé òåêñò, øèôðîâàííûé òåì æå ïîòîêîì êëþ÷åé . Îí çàïèñûâàåò ïîëó÷èâøèéñÿ íîâûé øèôðîòåêñò: Íîâûé îòêðûòûé òåêñò: pl p' pl pi pi Îðèãèíàëüíûé ïîòîê: k. k! k-i ks k!, Îáíîâëåííûé øèôðîòåêñò: cl c'z c'3 c'i c'i
Òàê êàê îí çíàåò çíà÷åíèå p', îí ìîæåò îïðåäåëèòü âåñü îòêðûòûé òåêñò ïîñëå ýòîãî áèòà ïî îðèãèíàëüíîìó è íîâîìó øèôðîòåêñòàì: k! = c'z s p', çàòåì p! = c! s k! kj = c'3 S pt, çàòåì p3 = c3 S fc3 kt = c', S p3, çàòåì p,, = cs S ks
Ìýëëîðè äàæå íå íóæíî çíàòü òî÷íîå ïîëîæåíèå âñòàâëåííîãî áèòà, îí ìîæåò ïðîñòî ñðàâíèòü îðèãèíàë üíûé è îáíîâëåííûé øèôðîòåêñòû, ÷òîáû îáíàðóæèòü, ãäå îíè íà÷èíàþò îòëè÷àòüñÿ . Äëÿ ïðåäîòâðàùåíèÿ òàêîãî âñêðûòèÿ íèêîãäà íå èñïîëüçóéòå îäèí ïîòîê êëþ÷åé äëÿ øèôðîâàíèÿ äâóõ ðàçëè÷íûõ ñîîáùåíèé .
9.8 Ðåæèì âûõîäíîé îáðàòíîé ñâÿçè Ðåæèì âûõîäíîé îáðàòíîé ñâÿçè ( Output-feedback, OFB) ïðåäñòàâëÿåò ñîáîé ìåòîä èñïîëüçîâàíèÿ áëî÷íîãî øèôðà â êà÷åñòâå ñèíõðîííîãî ïîòîêîâîãî øèôðà . Ýòîò ðåæèì ïîõîæ íà CFB çà èñêëþ÷åíèåì òîãî, ÷òî n áèòîâ ïðåäûäóùåãî âûõîäíîãî áëîêà ñäâèãàþòñÿ â êðàéíèå ïðàâûå ïîçèöèè î÷åðåäè (ñì. -2nd). Äåøèôðèðîâàíèå ÿâëÿåòñÿ îáðàòíûì ïðîöåññîì. Òàêîé ðåæèì íàçûâàåòñÿ n-áèòîâûì OFB. È ïðè øèôðîâàíèè, è ïðè äåøèôðèð îâàíèè áëî÷íûé àëãîðèòì ðàáîòàåò â ðåæèìå øèôðîâàíèÿ . Ýòî èíîãäà íàçûâàþò âíóòðåííåé îáðàòíîé ñâÿçüþ, ïîòîìó ÷òî ìåõàíèçì îáðàòíîé ñâÿçè íå çàâèñèò íè îò ïîòîêîâ îòêðûòîãî òåêñòà, íè îò ïîòîêîâ øèôðîòåêñòà [291]. Åñëè ðàçìåð áëîêà àëãîðèòìà n, òî n-áèòîâûé àëãîðèòì OFB âûãëÿäèò, êàê ïîêàçàíî íà : C, = P, © S,! S, = *I, - I,) P, = C, © Sh Si = Ek*Si, I,)
s - ñîñòîÿíèå, íåçàâèñÿùåå íè îò îòêðûòîãî òåêñòà, íè îò øèôðîòåêñòà . Ê ÷èñëó ïîëîæèòåëüíûõ ñâîéñòâ OFB îòíîñèòñÿ òî, ÷òî áîëüøàÿ ÷àñòü ðàáîòû ìîæåò áûòü âûïîëíåíà àâòîíîìíî, äàæå äî òîãî, êàê ïîÿâèòñÿ îòêð ûòûé òåêñò ñîîáùåíèÿ. Êîãäà íàêîíåö ñîîáùåíèå íàêîíåö ïîÿâèòñÿ, äëÿ ïîëó÷åíèÿ øèôðîòåêñòà íàä ñîîáùåíèåì è âûõîäîì àëãîðèòìà íóæíî áóäåò âûïîëíèòü îïåðàöèþ XOR.
Ðèñ. 9-11. 8-áèòîâûé ðåæèì Âåêòîð èíèöèàëèçàöèè  ñäâèãîâûé ðåãèñòð OFB òàêæå ñíà÷àëà äîëæåí áûòü çàãðóæåí IV. Îí äîëæåí áûòü óíèêàëüíûì, íî ñîõð àíÿòü åãî â ñåêðåòå íå îáÿçàòåëüíî . Ðàñïðîñòðàíåíèå îøèáêè  ðåæèìå OFB ðàñïðîñòðàíåíèÿ îøèáêè íå ïðîèñõîäèò. Íåïðàâèëüíûé áèò øèôðîòåêñòà ïðèâîäèò ê íåïð àâèëüíîìó áèòó îòêðûòîãî òåêñòà. Ýòî ìîæåò áûòü ïîëåçíî ïðè öèôðîâîé ïåðåäà÷å àíàëîãîâûõ âåëè÷èí, íàïð èìåð îöèôðîâàííîãî çâóêà èëè âèäåîèçîáðàæåíèÿ , êîãäà ñëó÷àéíûé ñáîé áèòà äîïóñòèì, íî ðàñïðîñòðàíåíèå îøèáêè íåæåëàòåëüíî. Ñ äðóãîé ñòîðîíû, ïîòåðÿ ñèíõðîíèçàöèè ñìåðòåëüíà. Åñëè ñäâèãîâûå ðåãèñòðû ïðè øèôðîâàíèè è ïðè ä åøèôðèðîâàíèè îòëè÷àþòñÿ, òî âîññòàíîâëåííûé îòêðûòûé òåêñò ïðåäñòàâëÿåò ñîáîé áåññìûñëèöó . Ëþáàÿ ñèñòåìà, èñïîëüçóþùàÿ ðåæèì OFB, äîëæíà âêëþ÷àòü ìåõàíèçì îáíàðóæåíèÿ ïîòåðè ñèíõðîíèçàöèè è ìåõàíèçì çàïîëíåíèÿ îáîèõ ñäâèãîâûõ ðåãèñòðîâ íîâûì (èëè îäèíàêîâûì ) IV äëÿ âîññòàíîâëåíèÿ ñèíõðîíèçàöèè .
Ðèñ. 9-12. n-áèòîâûé OFB ñ n-áèòîâûì àëãîðèòìîì. OFB è ïðîáëåìû áåçîïàñíîñòè Àíàëèç ðåæèìà OFB [588, 430, 431, 789] ïîêàçûâàåò, ÷òî OFB ñòîèò èñïîëüçîâàòü òîëüêî, êîãäà ðàçìåð î áðàòíîé ñâÿçè ñîâïàäàåò ñ ðàçìåðîì áëîêà . Íàïðèìåð, 64-áèòîâûé àëãîðèòì íóæíî èñïîëüçîâàòü òîëüêî â 64áèòîâîì ðåæèìå OFB. Íåñìîòðÿ íà òî, ÷òî ïðàâèòåëüñòâî ÑØÀ ðàçðåøàåò äëÿ DES è äðóãèå ðàçìåðû îáðàòíûõ
ñâÿçåé DES [1143], èçáåãàéòå èõ. Ðåæèì OFB âûïîëíÿåò XOR íàä ïîòîêîì êëþ÷åé è òåêñòîì. Ýòîò ïîòîê êëþ÷åé ñî âðåìåíåì ïîâòîðÿåòñÿ . Âàæíî, ÷òîáû îí íå ïîâòîðÿëñÿ äëÿ òîãî æå êëþ÷à, â ïðîòèâíîì ñëó÷àå íàðóøàåòñÿ áåçîïàñíîñòü . Êîãäà ðàçìåð îáðàòíîé ñâÿçè ðàâåí ðàçìåðó áëîêà , áëî÷íûé øèôð ïåðåñòàâëÿåò m-áèòîâûå çíà÷åíèÿ (ãäå m - ýòî ðàçìåð áëîêà), è ñðåäíÿÿ äëèíà öèêëà ñîñòàâëÿåò 2 -1. Ïðè äëèíå áëîêà 64 áèòà ýòî î÷åíü áîëüøîå ÷èñëî . Êîãäà ðàçìåð îáðàòíîé ñâÿçè n ìåíüøå äëèíû áëîêà, ñðåäíÿÿ äëèíà öèêëà ïàäàåò äî ïðèáëèçèòåëüíî 2'"*. Äëÿ 64-áèòíîãî øèôðà ýòî òîëüêî * - ÷òî ÿâíî íåäîñòàòî÷íî. Ïîòîêîâûå øèôðû â ðåæèìå OFB Ïîòîêîâûå øèôðû òàêæå ìîãóò ðàáîòàòü â ðåæèìå OFB.  ýòîì ñëó÷àå êëþ÷ âëèÿåò íà ôóíêöèþ ñëåäóþù åãî ñîñòîÿíèÿ (ñì. -4-é). Ôóíêöèÿ âûõîäà íå çàâèñèò îò êëþ÷à, î÷åíü ÷àñòî îíà ÿâëÿåòñÿ ÷åì-òî ïðîñòûì, íàïð èìåð, îäíèì áèòîì âíóòðåííåãî ñîñòîÿíèÿ èëè ðåçóëüòàòîì XOR íåñêîëüêèõ áèòîâ âíóòðåííåãî ñîñòîÿíèÿ . Êðèïòîãðàôè÷åñêè ñëîæíîé ÿâëÿåòñÿ ôóíêöèÿ ñëåäóþùåãî ñîñòîÿíèÿ, êîòîðàÿ çàâèñèò îò êëþ÷à . Ýòîò ìåòîä òàêæå íàçûâàåòñÿ âíóòðåííåé îáðàòíîé ñâÿçüþ [291], ïîòîìó ÷òî ìåõàíèçì îáðàòíîé ñâÿçè ÿâëÿåòñÿ âëîæåííûì ïî îòíîøåíèþ ê àëãîðèòìó ãåíåðàöèè êëþ÷åé .
Ðèñ. 9-13. Ãåíåðàòîð ïîòîêà êëþ÷åé â ðåæèìå ñ âûõîäíîé îáðàòíîé ñâÿçüþ.  îäíîì èç âàðèàíòîâ ýòîãî ðåæèìà êëþ÷ îïðåäåëÿåò òîëüêî íà÷àëüíîå ñîñòîÿíèå ãåíåðàòîðà ïîòîêà êëþ÷åé . Ïîñëå òîãî, êàê êëþ÷ îïðåäåëèò âíóòðåííåå ñîñòîÿíèå ãåíåðàòîðà, ãåíåðàòîð ðàáîòàåò, íå ïîäâåðãàÿñü âîçäåéñ òâèÿì èçâíå.
9.9 Ðåæèì ñ÷åò÷èêà Áëî÷íûå øèôðû â ðåæèìå ñ÷åò÷èêà èñïîëüçóþò â êà÷åñòâå âõîäîâ àëãîðèòìà ïîñëåäîâàòåëüíûå íîìåðà [824, 498, 715]. Äëÿ çàïîëíåíèÿ ðåãèñòðà èñïîëüçóåòñÿ ñ÷åò÷èê, à íå âûõîä àëãîðèòìà øèôðîâàíèÿ . Ïîñëå øèôðîâàíèÿ êàæäîãî áëîêà ñ÷åò÷èê èíêðåìåíòèðóåòñÿ íà îïðåäåëåííóþ êîíñòàíòó, îáû÷íî åäèíèöó . Äëÿ ýòîãî ðåæèìà ñâîéñòâà ñèíõðîíèçàöèè è ðàñïðîñòðàíåíèÿ îøèáêè òàêèå æå, êàê è äëÿ OFB. Ðåæèì ñ÷åò÷èêà ðåøàåò ïðîáëåìó n-áèòîâîãî âûõîäà ðåæèìà OFB, ãäå n ìåíüøå äëèíû áëîêà. Ê ñ÷åò÷èêó íå ïðåäúÿâëÿåòñÿ íèêàêèõ îñîáûõ òðåáîâàíèé, îí íå äîëæåí ïðîõîäèòü ïî ïîðÿäêó âñå âîçìî æíûå çíà÷åíèÿ.  êà÷åñòâå âõîäà áëî÷íîãî àëãîðèòìà ìîæíî èñïîëüçîâàòü ãåíåðàòîðû ñëó÷àéíûõ ÷èñåë, îïèñà ííûå â ãëàâàõ 16 è 17, íåçàâèñèìî îò òîãî, ÿâëÿþòñÿ ëè îíè êðèïòîãðàôè÷åñêè áåçîïàñíûìè èëè íåò . Ïîòîêîâûå øèôðû â ðåæèìå ñ÷åò÷èêà Ó ïîòîêîâûõ øèôðîâ â ðåæèìå ñ÷åò÷èêà ïðîñòûå ôóíêöèè ñëåäóþùåãî ñîñòîÿíèÿ è ñëîæíûå ôóíêöèè âûõ îäà, çàâèñÿùèå îò êëþ÷à. Ýòîò ìåòîä, ïîêàçàííûé íà -5-é, áûë ïðåäëîæåí â [498, 715]. Ôóíêöèÿ ñëåäóþùåãî ñîñòîÿíèÿ ìîæåò áûòü ÷åì-òî ïðîñòûì, íàïðèìåð, ñ÷åò÷èêîì, äîáàâëÿþùèì åäèíèöó ê ïðåäûäóùåìó ñîñòî ÿíèþ.
Ðèñ. 9-14. Ãåíåðàòîð ïîòîêà êëþ÷åé â ðåæèìå ñ÷åò÷èêà. Ïîòîêîâûé øèôð â ðåæèìå ñ÷åò÷èêà ìîæåò ãåíåðèðîâàòü i-ûé áèò, ki , áåç âûäà÷è âñåõ ïðåäøåñòâóþùèõ êëþ÷åâûõ áèòîâ. Ïðîñòî óñòàíîâèòå ñ÷åò÷èê âðó÷íóþ â i-îå âíóòðåííåå ñîñòîÿíèå è ãåíåðèðóéòå áèò . Ýòî ïîëåçíî äëÿ çàêðûòèÿ ôàéëîâ äàííûõ ñ ïðîèçâîëüíûì äîñòóïîì, ìîæíî ðàñøèôðîâàòü êîíêðåòíûé áëîê äàííûõ íå ðàñøèôðîâûâàÿ öåëûé ôàéë .
9.10 Äðóãèå ðåæèìû áëî÷íûõ øèôðîâ Ðåæèì ñöåïëåíèÿ áëîêîâ Äëÿ èñïîëüçîâàíèÿ áëî÷íîãî àëãîðèòìà â ðåæèìå ñöåïëåíèÿ áëîêîâ (block chaining, BC), ïðîñòî âûïîëíèòå XOR âõîäà áëî÷íîãî øèôðà è ðåçóëüòàòà XOR âñåõ ïðåäûäóùèõ áëîêîâ øèôðîòåêñòà . Êàê è äëÿ CBC èñïîëüçóåòñÿ IV. Ìàòåìàòè÷åñêè ýòî âûãëÿäèò êàê : C, = Ek(P, Q F*; F, I = F, © C, P, = F, © *(C,); Fi* I = F, © Ci
Êàê è CBC, îáðàòíàÿ ñâÿçü ïðîöåññà BC ïðèâîäèò ê ðàñïðîñòðàíåíèþ îøèáêè â îòêðûòîì òåêñòå . Ãëàâíàÿ
ïðîáëåìà BC çàêëþ÷àåòñÿ â òîì, ÷òî èç-çà òîãî, ÷òî äåøèôðèðîâàíèå áëîêà øèôðîòåêñòà çàâèñèò îò âñåõ ïð åäûäóùèõ áëîêîâ øèôðîòåêñòà, åäèíñòâåííàÿ îøèáêà øèôðîòåêñòà ïðèâåäåò ê íåïðàâèëüíîé ðàñøèôðîâêå âñåõ ïîñëåäóþùèõ áëîêîâ øèôðîòåêñòà . Ðåæèì ðàñïðîñòðàíÿþùåãîñÿ ñöåïëåíèÿ áëîêîâ øèôðà Ðåæèì ðàñïðîñòðàíÿþùåãîñÿ ñöåïëåíèÿ áëîêîâ øèôðà (propagating cipher block chaining , PCBC) [1080] ïîõîæ íà ðåæèì CBC çà èñêëþ÷åíèåì òîãî, ÷òî è ïðåäûäóùèé áëîê îòêðûòîãî òåêñòà, è ïðåäûäóùèé áëîê øèôðîòåêñòà ïîäâåðãàþòñÿ îïåðàöèè XOR ñ òåêóùèì áëîêîì îòêðûòîãî òåêñòà ïåðåä øèôðîâàíèåì (èëè ïîñëå øèôðîâàíèÿ) (ñì. -6-é). Ci = E*P, © Ci I © P, I) P* = Cj I © Pi I © a*,)
PCBC èñïîëüçóåòñÿ â Kerberos âåðñèè 4 (ñì. ðàçäåë 24.5) äëÿ âûïîëíåíèÿ çà îäèí ïðîõîä è øèôðîâàíèÿ, è ïðîâåðêè öåëîñòíîñòè.  ðåæèìå PCBC îøèáêà øèôðîòåêñòà ïðèâîäèò ê íåïðàâèëüíîìó äåøèôðèðîâàíèþ âñåõ ïîñëåäóþùèõ áëîêîâ. Ýòî îçíà÷àåò, ÷òî ïðîâåðêà ñòàíäàðòíîãî áëîêà â êîíöå ñîîáùåíèÿ îáåñïå÷èâàåò öåëîñ òíîñòü âñåãî ñîîáùåíèÿ.
Ðèñ. 9-15. Ðåæèì ðàñïðîñòðàíÿþùåãîñÿ ñöåïëåíèÿ áëîêîâ øèôðà. Ê íåñ÷àñòüþ â ýòîì ðåæèìå ñóùåñòâóåò îäíà ïðîáëåìà [875]. Ïåðåñòàíîâêà äâóõ áëîêîâ øèôðîòåêñòà ïðèâ îäèò ê íåïðàâèëüíîé ðàñøèôðîâêå äâóõ ñîîòâåòñòâóþùèõ áëîêîâ îòêðûòîãî òåêñòà , íî èç-çà ïðèðîäû îïåðàöèè XOR íàä îòêðûòûì òåêñòîì è øèôðîòåêñòîì , äàëüíåéøèå îøèáêè êîìïåíñèðóþòñÿ . Ïîýòîìó, åñëè ïðè ïðîâåðêå öåëîñòíîñòè ïðîâåðÿþòñÿ òîëüêî íåñêîëüêî ïîñëåäíèõ áëîêîâ ðàñøèôðîâàííîãî îòêðûòîãî òåêñòà, ìîæíî ïîëó÷èòü ÷àñòè÷íî èñïîð÷åííîå ñîîáùåíèå . Õîòÿ íèêòî äî ñèõ ïîð íå äîäóìàëñÿ, êàê âîñïîëüçîâàòüñÿ ýòîé ñë àáîñòüþ, Kerberos âåðñèè 5 ïîñëå îáíàðóæåíèÿ îøèáêè ïåðåêëþ÷àåòñÿ â ðåæèì CBC. Ñöåïëåíèå áëîêîâ øèôðà ñ êîíòðîëüíîé ñóììîé Ñöåïëåíèå áëîêîâ øèôðà ñ êîíòðîëüíîé ñóììîé (cipher block chaining with checksum , CBCC) ïðåäñòàâëÿåò ñîáîé âàðèàíò CBC [1618]. Ñîõðàíÿéòå çíà÷åíèå XOR âñåõ óæå çàøèôðîâàííûõ áëîêîâ îòêðûòîãî òåêñòà , âûïîëíÿÿ äëÿ êàæäîãî òåêóùåãî áëîêà îòêðûòîãî òåêñòà ïåðåä åãî øèôðîâàíèåì XOR ñ ñîõðàíÿåìûì çíà÷åíèåì. CBCC îáåñïå÷èâàåò, ÷òî ëþáîå èçìåíåíèå ëþáîãî áëîêà øèôðîòåêñòà èçìåíèò ðåçóëüòàò äåøèôðîâêè ï îñëåäíåãî áëîêà. Åñëè ïîñëåäíèé áëîê ñîäåðæèò êàêóþ-íèáóäü êîíñòàíòó èëè ñëóæèò äëÿ ïðîâåðêè öåëîñòíîñòè , òî öåëîñòíîñòü ðàñøèôðîâàííîãî îòêðûòîãî òåêñòà ìîæåò áûòü ïðîâåðåíà ñ ìèíèìàëüíûìè äîïîëíèòåëüíûìè íàêëàäíûìè ðàñõîäàìè. Âûõîäíàÿ îáðàòíàÿ ñâÿçü ñ íåëèíåéíîé ôóíêöèåé Âûõîäíàÿ îáðàòíàÿ ñâÿçü ñ íåëèíåéíîé ôóíêöèåé ( output feedback with a nonlinear function , OFBNLF) [777] ïðåäñòàâëÿåò ñîáîé âàðèàíò è OFB, è ECB, ãäå êëþ÷ èçìåíÿåòñÿ ñ êàæäûì áëîêîì : C, = Ek*P*, K* = Edit, ,1 P, = a*,); Ki = E*K, I)
Îøèáêà îäíîãî áèòà øèôðîòåêñòà ðàñïðîñòðàíÿåòñÿ òîëüêî íà îäèí áëîê îòêðûòîãî òåêñòà . Îäíàêî, åñëè áèò òåðÿåòñÿ èëè äîáàâëÿåòñÿ, òî îøèáêà ðàñïðîñòðàíÿåòñÿ äî áåñêîíå÷íîñòè . Ñ áëî÷íûì àëãîðèòìîì, èñïîëüçó þùèì ñëîæíûé àëãîðèòì ïëàíèðîâàíèÿ êëþ÷åé, ýòîò ðåæèì ðàáîòàåò ìåäëåííî . ß íå çíàþ, êàê âûïîëíÿòü êðèïòîàíàëèç ýòîãî ðåæèìà. Ïðî÷èå ðåæèìû Âîçìîæíû è äðóãèå ðåæèìû, õîòÿ îíè èñïîëüçóþòñÿ íå÷àñòî . Ñöåïëåíèå áëîêîâ îòêðûòîãî òåêñòà ( plaintext block chaining, PBC) ïîõîæå íà CBC çà èñêëþ÷åíèåì òîãî, ÷òî îïåðàöèÿ XOR âûïîëíÿåòñÿ äëÿ ñ áëîêà îòêðûòîãî òåêñòà è äëÿ ïðåäûäóùåãî áëîêà îòêðûòîãî òåêñòà, à íå áëîêà øèôðîòåêñòà . Îáðàòíàÿ ñâÿçü ïî îòêðûòîìó òåêñòó (plaintext feedback, PFB) ïîõîæà íà CFB çà èñêëþ÷åíèåì òîãî, ÷òî äëÿ îáðàòíîé ñâÿçè èñïîëüçóåòñÿ íå øèôðîòåêñò, à îòêðûòûé òåêñò. Ñóùåñòâóåò òàêæå ñöåïëåíèå áëîêîâ øèôðîòåêñòà ïî ðàçëè÷èÿì îòêðûòîãî òå êñòà (cipher block chaining of plaintext difference , CBCPD). ß óâåðåí, ÷òî ìîæíî íàéòè åùå òàèíñòâåííåå . Åñëè ó êðèïòîàíàëèòèêà åñòü ìàøèíà äëÿ ïîèñêà êëþ÷åé ãðóáîé ñèëîé, òî îí ñìîæåò ðàñêðûòü êëþ÷, åñëè óãàäàåò îäèí èç áëîêîâ îòêðûòîãî òåêñòà . Íåêîòîðûå èç óïîìÿíóòûõ ñòðàííûõ ðåæèìîâ, ïî ñóòè, ÿâëÿþòñÿ ä îïîëíèòåëüíûì øèôðîâàíèåì ïåðåä èñïîëüçîâàíèåì àëãîðèòìà øèôðîâàíèÿ : íàïðèìåð, XOR òåêñòà è ôèêñèðîâàííîé ñåêðåòíîé ñòðîêè èëè ïåðåñòàíîâêà òåêñòà . Ïî÷òè âñå îòêëîíåíèÿ îò ñòàíäàðòîâ ïîìåøàþò ïîäîáíîìó êðèïòîàíàëèçó.
9.11 Âûáîð ðåæèìà øèôðà Åñëè âàøåé îñíîâíîé çàáîòîé ÿâëÿþòñÿ ñêîðîñòü è ïðîñòîòà , òî ECB ÿâëÿåòñÿ ñàìûì ïðîñòûì è ñàìûì á ûñòðûì ñïîñîáîì èñïîëüçîâàòü áëî÷íûé øèôð . Ïîìèìî óÿçâèìîñòè ê âñêðûòèþ ïîâòîðîì , àëãîðèòì â ðåæèìå ECB ïðîùå âñåãî êðèïòîàíàëèçèðîâàòü . ß íå ñîâåòóþ èñïîëüçîâàòü ECB äëÿ øèôðîâàíèÿ ñîîáùåíèé. ECB õîðîøî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ ñëó÷àéíûõ äàííûõ, íàïðèìåð, äðóãèõ êëþ÷åé . Òàê êàê äàííûå íåâåëèêè ïî ðàçìåðó è ñëó÷àéíû, íåäîñòàòêè ECB íå ñóùåñòâåííû äëÿ òàêîãî ïðèìåíåíèÿ . Äëÿ îáû÷íîãî îòêðûòîãî òåêñòà èñïîëüçóéòå CBC, CFB èëè OFB. Êîíêðåòíûé ðåæèì çàâèñèò îò âàøèõ òð åáîâàíèé.  ïðèâåäåíû áåçîïàñíîñòü è ýôôåêòèâíîñòü ðàçëè÷íûõ ðåæèìîâ . Äëÿ øèôðîâàíèÿ ôàéëîâ ëó÷øå âñåãî ïîäõîäèò CBC. Çíà÷èòåëüíî óâåëè÷èâàåòñÿ áåçîïàñíîñòü, è ïðè ïîÿ âëåíèè îøèáîê â õðàíèìûõ äàííûõ ïî÷òè íèêîãäà íå áûâàåò ñáîåâ ñèíõðîíèçàöèè . Åñëè âàøå ïðèëîæåíèå ïðîãðàììíîå, òî CBC ïî÷òè âñåãäà áóäåò ëó÷øèì âûáîðîì . Òàáë. 9-1. Êðàòêèé îáçîð ðåæèìîâ ðàáîòû áëî÷íûõ øèôðîâ ECB:
Security: -Plaintext patterns are not concealed. - Input to the block cipher Is not randomlzed; It Is the same as the plaintext. + More than one message can be encrypted with the same - plaintext Is easy to manipulate; blocks can be removed, repeated, or Interchanged. Efficiency: + Speed is the same as the block cipher. - Clphertext Is up to one block longer than the plaintext, due to padding. - No preprocessing is possible. *Processing is paraUelizable.
Fault-tolerance: -A ciphertext error affects one full block of plaintext. - Synchronization error is unrecoverable.
CFB: Security: + Plaintext patterns are concealed. + Input to the block cipher is randomized. + More than one message can be encrypted with the same key, provided that a different IV is used. +/- Plaintext is somewhat difficult to manipulate; blocks call be removed from the beginning and end of the message, bits of the first block can be changed, and repetition allows some controlled changes. Efficiency: + Speed is the same as the block cipher. - Ciphertext is the same size as the plaintext, not counting the IV. +/- Encryption is not paraUelizable; decryption is paral- Idizable and has a random-access property. - Some preprocessing is possible before a block is seen; the Previous ciphertext block can be encrypted. +/- Encryption is not parallelizable; decry ption is paral- felizable and has a random-access property. F'auh-toterance: -A ciphertext error affects the corresponding bit of plaintext and the next full block. + Synchronization errors of full block sizes are recoverable. I. -bit CFB can recover from the addition or loss of single bits.
cbc: Security: + Plaintext patterns are concealed by XORing with previous ciphertext block. + Input to the block cipher is randomized by XORing with the previous ciphertext block. + More than one message can be encrypted with the same key. +/- Plaintext is somewhat difficult to manipulate; blocks can be removed from the beginning and end of the message, bits of the first block can be changed, and repetition allows some controlled changes. Efficiency: + Speed is the same as the block cipher. - Ciphertext is up to one block longer than the plaintext, not counting the IV. - No preprocessing is possible. +/- Encryption is not paraUelizable; decryption is paral- lelizable and has a random-access property. Wau*-toterance: - A ciphertext error affects one full block of plaintext and the corresponding bit in the next block.
- Synchronization error is unrecoverable.
OFB/Counter: Security; + Plaintext patterns are concealed. + Input to the block cipher is randomized. + More than one message can be encrypted with the same key, provided that a different IV is used. - Plaintext is very easy to manipulate; any change in ciphertext directly affects the plaintext. C*lclency: + Speed is the same as the block cipher. - Ciphertext is the same size as the plaintext, not counting the IV. + Processing is possible before the message is seen. -/+ OFB processing is not paraUelizable; counter processing is paraUelizable.
Fau*t-tolerance: + A ciphertext error affects only the corresponding bit of plaintext. - Synchronization error is unrecoverable.
CFB-specifically 8-bit CFB-is generally the mode ol choice for encrypting streams of characters when each cha racter has to be treated individually, as in a link between a terminal and a host. OFB is most often used in high-speed synchronous systems where error propagation is intolerable. OFB is also the mode of choice if preprocessing is r equired. OFB is the mode of choice in a error-prone environment, because it has no error extension. Stay away from the weird modes. One of the four basic modes-ECB, CBC, OFB, and CFB-is suitable for almost any application. These modes are not overly complex and probably do not reduce the security of the system. While it is possible that a complicated mode might increase the security of a system, most likely it just increases the complexity. None of the weird modes has any better error propagation or error recovery characteristics.
9.12 INTERLEAVING With most modes, encryption of a bit (or block) depends on the encryption of the previous bits (or blocks). This can often make it impossible to parallelize encryption. For example, consider a hardware box that does encryption in CBC mode. Even if the box contains four encryption chips, only one can work at any time. The next chip needs the results of the previous chip before it starts working. The solution is to interleave multiple encryption streams. (This is not multiple encryption; that's covered in Se ctions 15.1 and 15.2). Instead of a single CBC chain, use four. The first, fifth, and every fourth block thereafter are e ncrypted in CBC mode with one IV. The second, sixth, and every fourth block thereafter are encrypted in CBC mode with another IV, and so on. The total IV is much longer than it would have been without interleaving. Think of it as encrypting four different messages with the same key and four different IVs. These messages are all i nterleaved. This trick can also be used to increase the overall speed of hardware encryption. If you have three encryption chips, each c apable of encrypting data at 33 megabits/second, you can interleave them to encrypt a single 100 megabit/second data channel. Figure 9.16 shows three parallel streams interleaved in CFB mode. The idea can also work in CBC and OFB modes, and with any number of parallel streams. Just remember that each stream needs its own IV. Don't share.
9.13 BLOCK CIPHERS VERSUS STREAM CIPHERS Although block and stream ciphers are very different, block ciphers can be implemented as stream ciphers and stream ciphers can be implemented as block ciphers. The best definition of the difference I've found is from Ranier Rueppel [1362.]: Block ciphers operate on data with a fixed transformation on large blocks of plaintext data; stream ciphers ope rate with a time-varying transformation on individual plaintext digits. Figure 9.16 Interleavingthtee CFB encryptions. In the real world, block ciphers seem to be more general (i.e., they can be used in any of the four modes) and stream ciphers seem to be easier to analyze mathematically. There is a large body of theoretical work on the analysis and design of stream c iphers-most of it done in Europe, for some reason. They have been used by the world's militaries since the invention of electronics. This seems to be changing; recently a whole slew of theoretical papers have been written on block cipher design. Maybe soon there will be a theory of block cipher design as rich as our current theory of stream cipher d esign. Otherwise, the differences between stream ciphers and block ciphers are in the implementation. Stream ciphers that only e ncrypt and decrypt data one bit at a time are not really suitable for software implementation. Block ciphers can be easier to impl ement in software, because they often avoid time-consuming bit manipulations and they operate on data in computer-sized blocks. On the other hand, stream ciphers can be more suitable for hardware implementation because they can be implemented very eff iciently in silicon. These are important considerations. It makes sense for a hardware encryption device on a digital communications channel to encrypt the individual bits as they go by. This is what the device sees. On the other hand, it makes no sense for a software encry ption device to encrypt each individual bit separately. There are some specific instances where bit- and byte-wise encryption might be necessary in a computer system-encrypting the link between the keyboard and the CPU, for example-but generally the encry ption block should be at least the width of the data bus.
Ãëàâà 10 Using Algorithms Think of security - data security, communications security, information security, whatever - as a chain. The security of the entire system is only as strong as the weakest link. Everything has to be secure: cryptographic algorithms, protocols, key manag ement, and more. If your algorithms are great but your random-number generator stinks, any smart cryptanalyst is going to attack your system through the random-number generation. If you patch that hole but forget to securely erase a memory location that contains the key, a cryptanalyst will break your system via that route. If you do everything right and accidentally e-mail a copy of your secure files to The Wall Street Journal, you might as well not have bothered. It's not fair. As the designer of a secure system, you have to think of every possible means of attack and protect against them all, but a cryptanalyst only has to find one hole in your security and exploit it. Cryptography is only a part of security, and often a very small part. It is the mathematics of making a system secure, which is different from actually making a system secure. Cryptography has its "size queens": people who spend so much time arguing about how long a key should be that they forget about everything else. If the secret police want to know what is on your computer, it is far easier for them to break into your house and install a camera that can record what is on your computer screen than it is for them to cryptanalyze your hard drive. Additionally, the traditional view of computer cryptography as "spy versus spy" technology is becoming increasingly ina ppropriate. Over 99 percent of the cryptography used in the world is not protecting military secrets; it's in applications such as bank cards, pay-TV, road tolls, office building and computer access tokens, lottery terminals, and prepayment electricity meters [43,44]. In these applications, the role of cryptography is to make petty crime slightly more difficult; the paradigm of the well-funded a dversary with a rabbit warren of cryptanalysts and roomsful of computers just doesn't apply. Most of those applications have used lousy cryptography, but successful attacks against them had nothing to do with cry ptanalysts. They involved crooked employees, clever sting operations, stupid implementations, integration blunders, and random idiocies. (I strongly recommend Ross Anderson's paper, "Why Cryptosytems Fail" [44]; it should be required reading for anyone involved in this field.) Even the NSA has admitted that most security failures in its area of interest are due to failures in impl ementation, and not failures in algorithms or protocols [1119]. In these instances it didn't matter how good the cryptography was; the successful attacks bypassed it completely.
10.1 CHOOSING AN ALGORITHM When it comes to evaluating and choosing algorithms, people have several alternatives:
- They can choose a published algorithm, based on the belief that a published algorithm has been scrutinized by many cry ptographers; if no one has broken the algorithm yet, then it must be pretty good. - They can trust a manufacturer, based on the belief that a well-known manufacturer has a reputation to uphold and is u nlikely to risk that reputation by selling equipment or programs with inferior algorithms. - They can trust a private consultant, based on the belief that an impartial consultant is best equipped to make a reliable evaluation of different algorithms. - They can trust the government, based on the belief that the government is trustworthy and wouldn't steer its citizens wrong. - They can write their own algorithms, based on the belief that their cryptographic ability is second-to-none and that they should trust nobody but themselves.
Any of these alternatives is problematic, but the first seems to be the most sensible. Putting your trust in a single manufa cturer, consultant, or government is asking for trouble. Most people who call themselves security consultants (even those from bigname firms usually don't know anything about encryption. Most security product manufacturers are no better. The NSA has some of the world's best cryptographers working for it, but they're not telling all they know. They have their own interests to further which are not congruent with those of their citizens. And even if you're a genius, writing your own algorithm and then using it without any peer review is just plain foolish. The algorithms in this book are public. Most have appeared in the open literature and many have been cryptanalyzed by e xperts in the field. I list all published results, both positive and negative. I don't have access to the cryptanalysts done by any of the myriad military security organizations in the world Which are probably better than the academic institutionsÄthey've been doing it longer and are better funded), so it is possible that these algorithms are easier to break than it appears. Even so, it is far more likely that they are more secure than an algorithm designed and implemented in secret in some corporate basement.
The hole in all this reasoning is that we don't know the abilities of the various military cryptanalysts organizations. What algorithms can the NSA break? For the majority of us, there's really no way of knowing. If you are arrested with a DES-encrypted computer hard drive, the FBI is unlikely to introduce the decrypted plaintext at your trial; the fact that they can break an algorithm is often a bigger secret than any information that is recovered. During WWII, the Allies were forbidden from using decrypted German Ultra traffic unless they could have plausibly gotten the information elsewhere. The only way to get the NSA to admit to the ability to break a given algorithm is to encrypt something so valuable that its public dissemination is worth the admission. Or, better yet, create a really funny joke and send it via encrypted e-mail to shady characters in shadowy countries. NSA employees are people, too; I doubt even they can keep a good joke secret. A good working assumption is that the NSA can read any message that it chooses, but that it cannot read all messages that it chooses. The NSA is limited by resources, and has to pick and choose among its various targets. Another good assumption is that they prefer breaking knuckles to breaking codes; this preference is so strong that they will only resort to breaking codes when they wish to preserve the secret that they have read the message. In any case, the best most of us can do is to choose among public a lgorithms that have withstood a reasonable amount of public scrutiny and cryptanalysts. Algorithms for Export Algorithms for export out of the United States must be approved by the U.S. government (actually, by the NSA (see Section 25.1). It is widely believed that these export-approved algorithms can be broken by the NSA. Although no one has admitted this on the record, these are some of the things the NSA is rumored to privately suggest to companies wishing to export their crypt ographic products: - Leak a key bit once in a while, embedded in the ciphertext. - "Dumb down" the effective key to something in the 30-bit range. For example, while the algorithm might accept a 100-bit key, most of those keys might be equivalent. - Use a fixed IV, or encrypt a fixed header at the beginning of each encrypted message. This facilitates a known-plaintext attack. - Generate a few random bytes, encrypt them with the key, and then put both the plaintext and the ciphertext of those ra ndom bytes at the beginning of the encrypted message. This also facilitates a known- plaintext attack.
NSA gets a copy of the source code, but the algorithm's details remain secret from everyone else. Certainly no one adve rtises any of these deliberate weaknesses, but beware if you buy a U.S. encryption product that has been approved for export.
10.2 PUBLIC-KEY CRYPTOGRAPHY VERSUS SYMMETRIC CRYPTOGRAPHY Which is better, public-key cryptography or symmetric cryptography? This question doesn't make any sense, but has been d ebated since public-key cryptography was invented. The debate assumes that the two types of cryptography can be compared on an equal footing. They can't. Needham and Schroeder [1159] pointed out that the number and length of messages are far greater with public-key alg orithms than with symmetric algorithms. Their conclusion was that the symmetric algorithm was more efficient than the public-key algorithm. While true, this analysis overlooks the significant security benefits of public-key cryptography. Whitfield Diffie writes 492,494]:
In viewing public-key cryptography as a new form of cryptosystem rather than a new form of key management, I set the stage for criticism on grounds of both security and performance. Opponents were quick to point out that the RSA system ran about onethousandth as fast as DES and required keys about ten times as large. Although it had been obvious from the beginning that the use of public key systems could be limited to exchanging keys for conventional [symmetric] cryptography, it was not immediately clear that this was necessary. In this context, the proposal to build hybrid systems [879] was hailed as a discovery in its own right.
Public-key cryptography and symmetric cryptography are different sorts of animals; they solve different sorts of problems. Symmetric cryptography is best for encrypting data. It is orders of magnitude faster and is not susceptible to chosen-ciphertext a ttacks. Public-key cryptography can do things that symmetric cryptography can't; it is best for key management and a myriad of protocols discussed in Part I. Other primitives were discussed in Part I: one-way hash functions, message authentication codes, and so on. Table 10.1 lists different types of algorithms and their properties [804].
10.3 ENCRYPTING COMMUN1CAT10NS CHANNELS This is the classic Alice and Bob problem: Alice wants to send Bob a secure message. What does she do? She encrypts the me ssage.
In theory, this encryption can take place at any layer in the OSI (Open Systems Interconnect) communications model. (See the OSI security architecture standard for more information [305].) In practice, it takes place either at the lowest layers (one and two) or at higher layers. If it takes place at the lowest layers, it is called link-by-link encryption; everything going through a pa rticular data link is encrypted. If it takes place at higher layers, it is called end-to-end encryption; the data are encrypted selectively and stay encrypted until they are decrypted by the intended final recipient. Each approach has its own benefits and drawbacks.
Link-by Link Encryption The easiest place to add encryption is at the physical layer (see Figure 10. 1). This is called link-by-link encryption. The i nterfaces to the physical layer are generally standardized and it is easy to connect hardware encryption devices at this point. These devices encrypt all data passing through them, including data, routing information, and protocol information. They can be used on any type of digital communication link. On the other hand, any intelligent switching or storing nodes between the sender and the receiver need to decrypt the data stream before processing it. This type of encryption is very effective. Because everything is encrypted, a crypt- analyst can get no information about the structure of the information. He has no idea who is talking to whom, how long the messages they are sending are, what times of day they communicate, and so on. This is called traffic-flow security: the enemy is not only denied access to the information, but also access to the knowledge of where and how much information is flowing. Security does not depend on any traffic management techniques. Key management is also simple; only the two endpoints of the line need a common key, and they can change their key independently from the rest of the network.
Imagine a synchronous communications line, encrypted using 1-bit CFB. After initialization, the line can run indefinitely, r e-
covering automatically from bit or synchronization errors. The line encrypts whenever messages are sent from one end to the other; otherwise it just encrypts and decrypts random data. Eve has no idea when messages are being sent and when they are not; she has no idea when messages begin and end. All she sees is an endless stream of random-looking bits. If the communications line is asynchronous, the same 1-bit CFB mode can be used. The difference is that the adversary can get information about the rate of transmission. If this information must be concealed, make some provision for passing dummy messages during idle times. The biggest problem with encryption at the physical layer is that each physical link in the network needs to be encrypted: Leaving any link unencrypted jeopardizes the security of the entire network. If the network is large, the cost may quickly become prohibitive for this kind of encryption. Additionally, every node in the network must be protected, since it processes unencrypted data. If all the network's users trust one another, and all nodes are in secure locations, this may be tolerable. But this is unlikely. Even in a single corporation, information might have to be kept secret within a department. If the network accidentally misroutes information, anyone can read it. Table 10.2 summarizes the pros and cons of link-by-link encryption.
End-to-End Encryption Another approach is to put encryption equipment between the network layer and the transport layer. The encryption device must understand the data according to the protocols up to layer three and encrypt only the transport data units, which are then r ecombined with the unencrypted routing information and sent to lower layers for transmission. This approach avoids the encryption/decryption problem at the physical layer. By providing end-to-end encryption, the data remains encrypted until it reaches its final destination (see Figure 10.2). The primary problem with end-to-end encryption is that the routing information for the data is not encrypted; a good cryptanalyst can learn much from who is talking to whom, at what times and for how long, without ever knowing the contents of those conversations. Key management is also more difficult, since individual users must make sure they have common keys.
Building end-to-end encryption equipment is difficult. Each particular communications system has its own protocols. Som etimes the interfaces between the levels are not well-defined, making the task even more difficult.
If encryption takes place at a high layer of the communications architecture, like the applications layer or the presentation layer, then it can be independent of the type of communication network used. It is still end-to-end encryption, but the encryption implementation does not have to bother about line codes, synchronization between modems, physical interfaces, and so forth. In the early days of electro- mechanical cryptography, encryption and decryption took place entirely offline; this is only one step r emoved from that. Encryption at these high layers interacts with the user software. This software is different for different computer archite ctures, and so the encryption must be optimized for different computer systems. Encryption can occur in the software itself or in specialized hardware. In the latter case, the computer will send the data to the specialized hardware for encryption before sending it to lower layers of the communication architecture for transmission. This process requires some intelligence and is not suitable for dumb terminals. Additionally, there may be compatibility problems with different types of computers. The major disadvantage of end-to-end encryption is that it allows traffic analysis. Traffic analysis is the analysis of encrypted messages: where they come from, where they go to, how long they are, when they are sent, how frequent or infrequent they are, whether they coincide with outside events like meetings, and more. A lot of good information is buried in that data, and a cryptanalyst will want to get his hands on it. Table 10.3 presents the positive and negative aspects of end-to-end encryption.
Combining the Two Table 10.4, primarily from [1244], compares link-by-link and end-to-end encryption. Combining the two, while most expe nsive, is the most effective way of securing a network. Encryption of each physical link makes any analysis of the routing inform ation impossible, while end-to-end encryption reduces the threat of unencrypted data at the various nodes in the network. Key ma nagement for the two schemes can be completely separate: The network managers can take care of encryption at the physical level, while the individual users have responsibility for end-to-end encryption.
10.4 ENCRYPTING DATA FOR STORAGE Encrypting data for storage and later retrieval can also be thought of in the Alice and Bob model. Alice is still sending a me ssage to Bob, but in this case "Bob" is Alice at some future time. However, the problem is fundamentally different. In communic ations channels, messages in transit have no intrinsic value. If Bob doesn't receive a particular message, Alice can always resend it. This is not true for data encrypted for storage. If Alice can't decrypt her message, she can't go back in time and re-encrypt it. She has lost it forever. This means that encryption applications for data storage should have some mechanisms to prevent unrecove rable errors from creeping into the ciphertext. The encryption key has the same value as the message, only it is smaller. In effect, cryptography converts large secrets into smaller ones. Being smaller, they can be easily lost. Key management procedures should assume that the same keys will be used again and again, and that data may sit on a disk for years before being decrypted. Fu rthermore, the keys will be around for a long time. A key used on a communications link should, ideally, exist only for the length of the communication. A key used for data storage might be needed for years, and hence must be stored securely for years.
Other problems particular to encrypting computer data for storage were listed in [357]:
- The data may also exist in plaintext form, either on another disk, in another computer, or on paper. There is much more opportunity for a cryptanalyst to perform a known-plaintext attack. - In database applications, pieces of data may be smaller than the block size of most algorithms. This will cause the ciphe rtext to be considerably larger than the plaintext. - The speed of I/O devices demands fast encryption and decryption, and will probably require encryption hardware. In some applications, special high-speed algorithms may be required. - Safe, long-term storage for keys is required. - Key management is much more complicated, since different people need access to different files, different portions of the same file, and so forth. If the encrypted files are not structured as records and fields, such as text files, retrieval is easier: The entire file is decrypted before use. If the encrypted files are database files, this solution is problematic. Decrypting the entire dat abase to access a single record is inefficient, but encrypting records independently might be susceptible to a block-replay kind of attack. In addition, you must make sure the unencrypted file is erased after encryption (see Section 10.9). For further details and insights, consult [425,569].
Dereferencing Keys When encrypting a large hard drive, you have two options. You can encrypt all the data using a single key. This gives a cryptanalyst a large amount of ciphertext to analyze and makes it impossible to allow multiple users to see only parts of the drive. Or, you can encrypt each file with a different key, forcing users to memorize a different key for each file. The solution is to encrypt each file with a separate key, and to encrypt the keys with another key known by the users. Each user only has to remember that one key. Different users can have different subsets of the file-encryption keys encrypted with their key. And there can even be a master key under which every file-encryption key is encrypted. This is even more secure because the file-encryption keys are random and less susceptible to a dictionary attack.
Driver-Level vs. File-Level Encryption There are two ways to encrypt a hard drive: at the file level and at the driver level. Encryption at the file level means that every file is encrypted separately. To use a file that's been encrypted, you must first decrypt the file, then use it, and then re- e ncrypt it. Driver-level encryption maintains a logical drive on the user's machine that has all data on it encrypted. If done well, this can provide security that, beyond choosing good passwords, requires little worry on the part of the user. The driver must be consider ably more complex than a simple file-encryption program, however, because it must deal with the issues of being an installed d evice driver, allocation of new sectors to files, recycling of old sectors from files, random-access read and update requests for any data on the logical disk, and so on. Typically, the driver prompts the user for a password before starting up. This is used to generate the master decryption key, which may then be used to decrypt actual decryption keys used on different data.
Providing Random Access to an Encrypted Drive Most systems expect to be able to access individual disk sectors randomly. This adds some complication for using many stream ciphers and block ciphers in any chaining mode. Several solutions are possible. Use the sector address to generate a unique IV for each sector being encrypted or decrypted. The drawback is that each se ctor will always be encrypted with the same IV. Make sure this is not a security problem. For the master key, generate a pseudo-random block as large as one sector. You can do this by running an algorithm in OFB mode, for example.) To encrypt any sec- tor, first XOR in this pseudo-random block, then encrypt normally with a block cipher in ECB mode. This is called ECB+OFB (see Section 15.4). Since CBC and CFB are error-recovering modes, you can use all but the first block or two in the sector to generate the IV for that sector. For example, the IV for sector 3001 may be the hash of the all but the first 128 bits of the sector's data. After genera ting the IV, encrypt normally in CBC mode. To decrypt the sector, you use the second 64-bit block of the sector as an IV, and d ecrypt the remainder of the sector. Then, using the decrypted data, you regenerate the IV and decrypt the first 128 bits. You can use a block cipher with a large enough block size that it can encrypt the whole sector at once. Crab See Section 14.6) is an example.
10.5 HARDWARE ENCRYPTION VERSUS SOFTWARE ENCRYPTION Hardware Until very recently, all encryption products were in the form of specialized hardware. These encryption/decryption boxes plugged into a communications line and encrypted all the data going across that line. Although software encryption is becoming more prevalent today, hardware is still the embodiment of choice for military and serious commercial applications. The NSA, for example, only authorizes encryption in hardware. There are several reasons why this is so.
The first is speed. As we will see in Part III, encryption algorithms consist of many complicated operations on plaintext bits. These are not the sorts of operations that are built into your run-of-the-mill computer. The two most common encryption alg orithms, DES and RSA, run inefficiently on general-purpose processors. While some cryptographers have tried to make their alg orithms more suitable for software implementation, specialized hardware will always win a speed race. Additionally, encryption is often a computation-intensive task. Tying up the computer's primary processor for this is ineff icient. Moving encryption to another chip, even if that chip is just another processor, makes the whole system faster. The second reason is security. An encryption algorithm running on a generalized computer has no physical protection. Mallory can go in with various debugging tools and surreptitiously modify the algorithm without anyone ever realizing it. Hardware encryption devices can be securely encapsulated to prevent this. Tamper- proof boxes can prevent someone from modifying a hardware encryption device. Special-purpose VLSI chips can be coated with a chemical such that any attempt to access their interior will result in the destruction of the chip's logic. The U.S. government's Clipper and Capstone chips See Sections 24.16 and 24.171 are designed to be tamperproof. The chips can be designed so that it is impossible for Mallory to read the unencrypted key. IBM developed a cryptographic system for encrypting data and communications on mainframe computers [515,1027]. It i ncludes tamper-resistant modules to hold keys. This system is discussed in Section 24.1. Electromagnetic radiation can sometimes reveal what is going on inside a piece of electronic equipment. Dedicated encry ption boxes can be shielded, so that they leak no compromising information. General-purpose computers can be shielded as well, but it is a far more complex problem. The U.S. military calls this TEMPEST; it's a subject well beyond the scope of this book. The final reason for the prevalence of hardware is the ease of installation. Most encryption applications don't involve ge neral-purpose computers. People may wish to encrypt their telephone conversations, facsimile transmissions, or data links. It is cheaper to put special-purpose encryption hardware in the telephones, facsimile machines, and modems than it is to put in a m icroprocessor and software. Even when the encrypted data comes from a computer, it is easier to install a dedicated hardware encryption device than it is to modify the computer's system software. Encryption should be invisible; it should not hamper the user. The only way to do this in software is to write encryption deep into the operating system. This isn't easy. On the other hand, even a computer neophyte can plug an encryption box between his computer and his external modem. The three basic kinds of encryption hardware on the market today are: self-contained encryption modules (that perform functions such as password verification and key management for banks), dedicated encryption boxes for communications links, and boards that plug into personal computers. Some encryption boxes are designed for certain types of communications links, such as T-1 encryption boxes that are d esigned not to encrypt synchronization bits. There are different boxes for synchronous and asynchronous communications lines. Newer boxes tend to accept higher bit rates and are more versatile. Even so, many of these devices have some incompatibilities. Buyers should be aware of this and be well-versed in their pa r-
ticular needs, lest they find themselves the owners of encryption equipment unable to perform the task at hand. Pay attention to restrictions in hardware type, operating system, applications software, net- work, and so forth. PC-board encryptors usually e ncrypt everything written to the hard disk and can be configured to encrypt everything sent to the floppy disk and serial port as well. These boards are not shielded against electromagnetic radiation or physical interference, since there would be no benefit in pr otecting the boards if the computer remained unaffected. More companies are starting to put encryption hardware into their co mmunications equipment. Secure telephones, facsimile machines, and modems are all available. Internal key management for these devices is generally secure, although there are as many different schemes as there are equipment vendors. Some schemes are more suited for one situation than another, and buyers should know what kind of key management is incorporated into the encryption box and what they are expected to provide themselves.
Software Any encryption algorithm can be implemented in software. The disadvantages are in speed, cost, and ease of modification (or manipulation). The advantages are in flexibility and portability, ease of use, and ease of upgrade. The algorithms written in C at the end of this book can be implemented, with little modification, on any computer. They can be inexpensively copied and i nstalled on many machines. They can be incorporated into larger applications, such as communications programs or word proce ssors. Software encryption programs are popular and are available for all major operating systems. These are meant to protect i ndividual files; the user generally has to manually encrypt and decrypt specific files. It is important that the key management scheme be secure: The keys should not be stored on disk anywhere (or even written to a place in memory from where the processor swaps out to disk). Keys and unencrypted files should be erased after encryption. Many programs are sloppy in this regard, and a user has to choose carefully. Of course, Mallory can always replace the software encryption algorithm with something lousy. But for most users, that isn't a problem. If Mallory can break into our office and modify our encryption program, he can also put a hidden camera on the wall, a wiretap on the telephone, and a TEMPEST detector down the street. If Mallory is that much more powerful than the user, the user has lost the game before it starts.
10.6 COMPRESSION, ENCODING, AND ENCRYPTION Using a data compression algorithm together with an encryption algorithm makes sense for two reasons:
Cryptanalysis relies on exploiting redundancies in the plaintext; com- pressing a file before encryption reduces these redu ndancies. Encryption is time-consuming; compressing a file before encryption speeds up the entire process.
The important thing to remember is to compress before encryption. If the encryption algorithm is any good, the ciphertext will not be compressible; it will look like random data. (This makes a reasonable test of an encryption algorithm; if the ciphertext can be compressed, then the algorithm probably isn't very good.) If you are going to add any type of transmission encoding or error detection and recovery, remember to add that after encry ption. If there is noise in the communications path, decryption's error-extension properties will only make that noise worse. Figure 10.3 summarizes these steps.
10.7 DETECTING ENCRYPTION How does Eve detect an encrypted file? Eve is in the spy business, so this is an important question. Imagine that she's eave sdropping on a network where messages are flying in all directions at high speeds; she has to pick out the interesting ones. E ncrypted files are certainly interesting, but how does she know they are encrypted? Generally, she relies on the fact that most popular encryption programs have well-defined headers. Electronic-mail messages encrypted with either PEM or POP (see Sections 24.10 and 24.12) are easy to identify for that reason.
Other file encryptors just produce a ciphertext file of seemingly random bits. How can she distinguish it from any other file of seemingly random bits? There is no sure way, but Eve can try a number of things:
- Examine the file. ASCII text is easy to spot. Other file formats, such as TIFF, TeX, C, Postscript, G3 facsimile, or Micr osoft Excel, have standard identifying characteristics. Executable code is detectable, as well. UNIX files often have "magic nu mbers" that can be detected. - Try to uncompress the file, using the major compression algorithms. If the file is compressed (and not encrypted), this should yield the original file. - Try to compress the file. If the file is ciphertext (and the algorithm is good), then the probability that the file can be a ppreciably compressed by a general-purpose compression routine is small. (By appreciably, I mean more than 1 or 2 percent.) If it is something else (a binary image or a binary data file, for examples it probably can be compressed.
Any file that cannot be compressed and is not already compressed is probably ciphertext. (Of course, it is possible to specif ically make ciphertext that is compressible.) Identifying the algorithm is a whole lot harder. If the algorithm is good, you can't. If the algorithm has some slight biases, it might be possible to recognize those biases in the file. However, the biases have to be pretty significant or the file has to be pretty big in order for this to work.
10.8 HIDING CIPHERTEXT IN CIPHERTEXT Alice and Bob have been sending encrypted messages to each other for the past year. Eve has been collecting them all, but she cannot decrypt any of them. Finally, the secret police tire of all this unreadable ciphertext and arrest the pair. "Give us your e ncryption keys," they demand. Alice and Bob refuse, but then they notice the thumbscrews. What can they do? Wouldn't it be nice to be able to encrypt a file such that there are two possible decryptions, each with a different key. Alice could encrypt a real message to Bob in one of the keys and some innocuous message in the other key. If Alice were caught, she could surrender the key to the innocuous message and keep the real key secret. The easiest way to do this is with one-time pads. Let P be the plaintext, D the dummy plaintext, C the ciphertext, K the real key, and K' the dummy key. Alice encrypts P:
P ⊕K = C Alice and Bob share K, so Bob can decrypt C:
C⊕K=P If the secret police ever force them to surrender their key, they don't surrender K, but instead surrender:
K'=C ⊕ D The police then recover the dummy plaintext:
C ⊕ K' = D Since these are one-time pads and K is completely random, there is no way to prove that K' was not the real key. To make
matters more convincing, Alice and Bob should concoct some mildly incriminating dummy messages to take the place of the really incriminating real messages. A pair of Israeli spies once did this. Alice could take P and encrypt it with her favorite algorithm and key K to get C. Then she takes C and XORs it with some piece of mundane plaintext - Pride and Prejudice for example, to get K'. She stores both C and the XOR on her hard disk. Now, when the secret police interrogate her, she can explain that she is an amateur cryptographer and that K' is a merely one-time pad for C. The secret police might suspect something, but unless they know K they cannot prove that Alice's explanation isn't valid. Another method is to encrypt P with a symmetric algorithm and K, and D with K'. Intertwine bits (or bytes) of the ciphertext to make the final ciphertexts. If the secret police demand the key, Alice gives them K' and says that the alternating bits (or bytes) are random noise designed to frustrate cryptanalysts. The trouble is the explanation is so implausible that the secret police will probably not believe her (especially considering it is suggested in this book). A better way is for Alice to create a dummy me ssage, D, such that the concatenation of P and D, compressed, is about the same size as D. Call this concatenation P'. Alice then encrypts P' with whatever algorithm she and Bob share to get C. Then she sends C to Bob. Bob decrypts C to get P', and then P and D. Then they both compute C 0 D = K'. This K' becomes the dummy one-time pad they use in case the secret police break their doors down. Alice has to transmit D so that hers and Bob's alibis match. Another method is for Alice to take an innocuous message and run it through some error-correcting code. Then she can i ntroduce errors that correspond to the secret encrypted message. On the receiving end, Bob can extract the errors to reconstruct the secret message and decrypt it. He can also use the error-correcting code to recover the innocuous message. Alice and Bob might be hard pressed to explain to the secret police why they consistently get a 30 percent bit-error rate on an otherwise noise-free co mputer network, but in some circumstances this scheme can work. Finally, Alice and Bob can use the subliminal channels in their digital signature algorithms (see Sections 4.2 and 23.3). This is undetectable, works great, but has the drawback of only allowing 20 or so characters of subliminal text to be sent per signed innocuous message. It really isn't good for much more than sending keys.
10.9 DESTROYING INFORMATION When you delete a file on most computers, the file isn't really deleted. The only thing deleted is an entry in the disk's index file, telling the machine that the file is there. Many software vendors have made a fortune selling file-recovery software that recovers files after they have been deleted. And there's yet another worry: Virtual memory means your computer can read and write memory to disk any time. Even if you don't save it, you never know when a sensitive document you are working on is shipped off to disk. This means that even if you never save your plaintext data, your computer might do it for you. And driver-level compression programs like Stacker and DoubleSpace can make it even harder to predict how and where information is stored on a disk. To erase a file so that file-recovery software cannot read it, you have to physically write over all of the file's bits on the disk. According to the National Computer Security Center [1148]:
Overwriting is a process by which unclassified data are written to storage locations that previously held sensitive data.... To purge the ... storage media, the DoD requires overwriting with a pattern, then its complement, and finally with another pattern; e.g., overwrite first with 0011 0101, followed by 1100 1010, then 1001 0111. The number of times an overwrite must be acco mplished depends on the storage media, sometimes on its sensitivity, and sometimes on different DoD component requirements. In any case, a purge is not complete until a final over- write is made using unclassified data.
You may have to erase files or you may have to erase entire drives. You should also erase all unused space on your hard disk. Most commercial programs that claim to implement the DoD standard over- write three times: first with all ones, then with all zeros, and finally with a repeating one-zero pattern. Given my general level of paranoia, I recommend overwriting a deleted file seven times: the first time with all ones, the second time with all zeros, and five times with a cryptographically secure pseudorandom sequence. Recent developments at the National Institute of Standards and Technology with electron-tunneling microscopes suggest even that might not be enough. Honestly, if your data is sufficiently valuable, assume that it is impossible to erase data completely off magnetic media. Burn or shred the media; it's cheaper to buy media new than to lose your secrets.
×àñòü III Êðèïòîãðàôè÷åñêèå àëãîðèòìû
Ãëàâà 11 Ìàòåìàòè÷åñêèå îñíîâû 11.1 Òåîðèÿ èíôîðìàöèè Ñîâðåìåííàÿ òåîðèÿ èíôîðìàöèè âïåðâûå áûëà îïóáëèêîâàíà â 1948 ãîäó Êëîäîì Ý. Øåííîíîì (Claude Elmwood Shannon) [1431, 1432]. (Åãî ðàáîòû áûëè ïåðåèçäàíû â IEEE Press [1433].) Ñ ìàòåìàòè÷åñêîé òî÷êè çðåíèÿ ýòà òåìà õîðîøî ðàññìîòðåíà â [593].  ýòîé ãëàâå ÿ òîëüêî ñõåì àòè÷íî èçëàãàþ îñíîâíûå èäåè. Ýíòðîïèÿ è íåîïðåäåëåííîñòü Òåîðèÿ èíôîðìàöèè îïðåäåëÿåò êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè êàê ìèíèìàëüíîå êîëè÷åñòâî áèò, íåîáõîäèìîå äëÿ êîäèðîâàíèÿ âñåõ âîçìîæíûõ çíà÷åíèé ñîîáùåíèÿ, ñ÷èòàÿ âñå ñîîáùåíèÿ ðàâíîâåðîÿòíûìè. Íàïðèìåð, äëÿ ïîëÿ äíÿ íåäåëè â áàçå äàííûõ äîñòàòî÷íî èñïîëüçîâàòü òðè áèòà èíôîðìàöèè, òàê êàê âñÿ è íôîðìàöèÿ ìîæåò áûòü çàêîäèðîâàíà 3 áèòàìè: 000 - Âîñêðåñåíüå 001 - Ïîíåäåëüíèê 010 - Âòîðíèê 011 - Ñðåäà 100 - ×åòâåðã 101 - Ïÿòíèöà 110 - Ñóááîòà 111 - Íå èñïîëüçóåòñÿ
Åñëè ýòà èíôîðìàöèÿ áûëà áû ïðåäñòàâëåíà ñîîòâåòñòâóþùèìè ñòðîêàìè ASCII ñèìâîëîâ, îíà çàíÿëà áû áîëüøå ìåñòà â ïàìÿòè, íî íå ñîäåðæàëà áû áîëüøå èíôîðìàöèè. Àíàëîãè÷íî, ïîëå áàçû äàííûõ "ïîë" ñîäå ðæèò òîëüêî îäèí áèò èíôîðìàöèè, õîòÿ ýòà èíôîðìàöèÿ ìîæåò õðàíèòüñÿ êàê îäíî èç äâóõ 7-áàéòîâûõ ASCII ñòðîê: "ÌÓÆ×ÈÍÀ" èëè "ÆÅÍÙÈÍÀ". Ôîðìàëüíî, êîëè÷åñòâî èíôîðìàöèè â ñîîáùåíèè M èçìåðÿåòñÿ ýíòðîïèåé ñîîáùåíèÿ, îáîçíà÷àåìîå êàê H(M). Ýíòðîïèÿ ñîîáùåíèÿ, îïðåäåëÿþùåãî ïîë, ñîñòàâëÿåò1 áèò, à ýíòðîïèÿ ñîîáùåíèÿ, îïðåäåëÿþùåãî äåíü íåäåëè, íåìíîãî ìåíüøå, ÷åì 3 áèòà.  îáùåì ñëó÷àå ýíòðîïèÿ ñîîáùåíèÿ, èçìåðÿåìàÿ â áèòàõ, ðàâíà log 2 n, ãäå n - ýòî êîëè÷åñòâî âîçìîæíûõ çíà÷åíèé. Ïðè ýòîì ïðåäïîëàãàåòñÿ, ÷òî âñå çíà÷åíèÿ ðàâíîâåðîÿòíû. Ýíòðîïèÿ ñîîáùåíèÿ òàêæå ÿâëÿåòñÿ ìåðîé åãî íåîïðåäåëåííîñòè. Ýòî êîëè÷åñòâî áèòîâ îòêðûòîãî òåêñòà, êîòîðîå íóæíî ðàñêðûòü â øèôðîòåêñòå ñîîáùåíèÿ, ÷òîáû óçíàòü âåñü îòêðûòûé òåêñò. Íàïðèìåð, åñëè áëîê øèôðîòåêñòà "QHP*5M '' îçíà÷àåò ëèáî "ÌÓÆ×ÈÍÀ", ëèáî "ÆÅÍÙÈÍÀ", òî íåîïðåäåëåííîñòü ñîîáùåíèÿ ðàâíà 1. Êðèïòîàíàëèòèêó íóæíî óçíàòü òîëüêî îäèí ïðàâèëüíî âûáðàííûé áèò, ÷òîáû ðàñêðûòü ñ îîáùåíèå. Íîðìà ÿçûêà Äëÿ äàííîãî ÿçûêà íîðìà ÿçûêà ðàâíà r = H(M)/N ãäå N - ýòî äëèíà ñîîáùåíèÿ. Ïðè áîëüøèõ N íîðìà îáû÷íîãî àíãëèéñêîãî ÿçûêà ïðèíèìàåò ðàçëè÷íûå çí à÷åíèÿ îò 1.0 áèò/áóêâà äî 1.5 áèò/áóêâà. Øåííîí â [1434] ãîâîðèò, ÷òî ýíòðîïèÿ çàâèñèò îò äëèíû òåêñòà. Êî íêðåòíî îí ïîêàçàë, ÷òî íîðìà äëÿ 8-áóêâåííûõ áëîêîâ ðàâíà 2.3 áèò/áóêâà, íî åå çíà÷åíèå ïàäàåò è íàõîäèòñÿ ìåæäó 1.3 è 1.5 äëÿ 16-áóêâåííûõ áëîêîâ. Òîìàñ Êàâåð (Thomas Cover) èñïîëüçîâàë èãðîâóþ ìåòîäèêó îöåíêè è îáíàðóæèë, ÷òî ýíòðîïèÿ ðàâíà 1.3 áèò/ñèìâîë [386]. ( ýòîé êíèãå ÿ áóäó èñïîëüçîâàòü çíà÷åíèå 1.3.) Àáñîëþòíàÿ íîðìà ÿçûêà ðàâíà ìàêñèìàëüíîìó êîëè÷åñòâó áèòîâ, êîòîðîå ìîæåò áûòü ïåðåäàíî êàæäûì ñèìâîëîì ïðè óñëîâèè, ÷òî âñå ïîñëåäîâàòåëüíîñòè ñèìâîëîâ ðàâíîâåðîÿòíû. Åñëè â ÿçûêå L ñèìâîëîâ, òî àáñîëþòíàÿ íîðìà ðàâíà: R = log2 L Ýòî ìàêñèìóì ýíòðîïèè îòäåëüíûõ ñèìâîëîâ. Äëÿ àíãëèéñêîãî ÿçûêà ñ 26 áóêâàìè àáñîëþòíàÿ íîðìà ðàâíà log 2 26, èëè îêîëî 4.7 áèò/áóêâà. Âàñ íå äîë æíî óäèâëÿòü, ÷òî äåéñòâèòåëüíàÿ íîðìà àíãëèéñêîãî ÿçûêà íàìíîãî ìåíüøå, ÷åì àáñîëþòíàÿ - åñòåñòâåííûå ÿçûêè îáëàäàþò âûñîêîé èçáûòî÷íîñòüþ. Èçáûòî÷íîñòü ÿçûêà, îáîçíà÷àåìàÿ D, îïðåäåëÿåòñÿ êàê: D=R - r Ñ÷èòàÿ, ÷òî íîðìà àíãëèéñêîãî ÿçûêà ðàâíà 1.3, èçáûòî÷íîñòü ñîñòàâèò 3.4 áèò/áóêâà. Ýòî îçíà÷àåò, ÷òî ê àæäàÿ àíãëèéñêàÿ áóêâà ñîäåðæèò 3.4 áèòà èçáûòî÷íîé èíôîðìàöèè. Ó ñîîáùåíèÿ ASCII, ñîñòîÿùåãî òîëüêî èç àíãëèéñêèõ áóêâ, êîëè÷åñòâî èíôîðìàöèè íà êàæäûé áàéò ñ î-
ñòàâëÿåò 1.3 áèòà. Çíà÷èò, â êàæäîì áàéòå ñîäåðæèòñÿ 6.7 áèòà èçáûòî÷íîé èíôîðìàöèè, ÷òî äàåò îáùóþ èçá ûòî÷íîñòü 0.84 áèòà èíôîðìàöèè íà áèò ASCII-òåêñòà è ýíòðîïèþ 0.16 áèòà èíôîðìàöèè íà áèò ASCII-òåêñòà. Òî æå ñîîáùåíèå, íàáðàííîå êîäîì BAUDOT, ñ 5 áèòàìè íà ñèìâîë, èìååò èçáûòî÷íîñòü 0.74 áèòà íà áèò è ýíòð îïèþ 0.26 áèòà íà áèò. Ïðîáåëû, ïóíêòóàöèÿ, ÷èñëà è ôîðìàòèðîâàíèå èçìåíÿþò ýòè ðåçóëüòàòû. Áåçîïàñíîñòü êðèïòîñèñòåìû Øåííîí îïðåäåëèë òî÷íóþ ìàòåìàòè÷åñêóþ ìîäåëü ïîíÿòèÿ áåçîïàñíîñòè êðèïòîñèñòåìû. Ñìûñë ðàáîòû êðèïòîàíàëèòèêà ñîñòîèò â îïðåäåëåíèè êëþ÷à Ê, îòêðûòîãî òåêñòà P èëè è òîãî, è äðóãîãî. Îäíàêî, åãî ìîæåò óñòðîèòü è íåêîòîðàÿ âåðîÿòíîñòíàÿ èíôîðìàöèÿ î P: ÿâëÿåòñÿ ëè ýòîò îòêðûòûé òåêñò îöèôðîâàííûì çâóêîì, íåìåöêèì òåêñòîì, äàííûìè ýëåêòðîííûõ òàáëèö èëè åùå ÷åì-íèáóäü.  ðåàëüíîì êðèïòîàíàëèçå ó êðèïòîàíàëèòèêà åñòü íåêîòîðàÿ âåðîÿòíîñòíàÿ èíôîðìàöèÿ î P åùå äî íà÷àëà ðàáîòû. Îí, ñêîðåå âñåãî, çíàåò ÿçûê îòêðûòîãî òåêñòà. Ýòîò ÿçûê îáëàäàåò îïðåäåëåííîé, ñâÿçàííîé ñ íèì è çáûòî÷íîñòüþ. Åñëè ýòî ñîîáùåíèÿ äëÿ Áîáà, îíî, âîçìîæíî, íà÷èíàåòñÿ ñëîâàìè "Äîðîãîé Áîá". Îïðåäåëåííî, "Äîðîãîé Áîá" íàìíîãî âåðîÿòíåå, ÷åì "e8T&.g [,m". Öåëüþ êðèïòîàíàëèòèêà ÿâëÿåòñÿ èçìåíåíèå âåðîÿòíîñòåé, ñâÿçàííûõ ñ êàæäûì âîçìîæíûì îòêðûòûì òåêñòîì.  êîíöå êîíöîâ, èç ãðóäû âîçìîæíûõ îòêðûòûõ òåêñòîâ áóäåò âûáðàí îäèí êîíêðåòíûé (èëè, ïî êðàéíåé ìåðå, âåñüìà âåðîÿòíûé). Ñóùåñòâóþò êðèïòîñèñòåìû, äîñòèãàþùèå ñîâåðøåííîé áåçîïàñíîñòè. Òàêîé ÿâëÿåòñÿ êðèïòîñèñòåìà, â êîòîðîé øèôðîòåêñò íå äàåò íèêàêîé èíôîðìàöèè îá îòêðûòîì òåêñòå (êðîìå, âîçìîæíî, åãî äëèíû). Øåííîí òåîðåòè÷åñêè ïîêàçàë, ÷òî òàêîå âîçìîæíî òîëüêî, åñëè ÷èñëî âîçìîæíûõ êëþ÷åé òàêæå âåëèêî, êàê è ÷èñëî âîçìîæíûõ ñîîáùåíèé. Äðóãèìè ñëîâàìè, êëþ÷ äîëæåí áûòü íå êîðî÷å ñàìîãî ñîîáùåíèÿ è íå ìîæåò èñïîë üçîâàòüñÿ ïîâòîðíî. Ýòî îçíà÷àåò, ÷òî åäèíñòâåííîé ñèñòåìîé, êîòîðàÿ äîñòèãàåò èäåàëüíîé áåçîïàñíîñòè, ìîæåò áûòü òîëüêî êðèïòîñèñòåìà ñ îäíîðàçîâûì áëîêíîòîì (ñì. ðàçäåë 1.5). Çà èñêëþ÷åíèåì èäåàëüíî áåçîïàñíûõ ñèñòåì, øèôðîòåêñò íåèçáåæíî äàåò îïðåäåëåííóþ èíôîðìàöèþ î ñ îîòâåòñòâóþùåì øèôðîòåêñòå. Õîðîøèé êðèïòîãðàôè÷åñêèé àëãîðèòì ñîõðàíÿåò ìèíèìóì ýòîé èíôîðìàöèè, õîðîøèé êðèïòîàíàëèòèê ïîëüçóåòñÿ ýòîé èíôîðìàöèåé äëÿ îïðåäåëåíèÿ îòêðûòîãî òåêñòà. Êðèïòîàíàëèòèêè èñïîëüçóþò åñòåñòâåííóþ èçáûòî÷íîñòü ÿçûêà äëÿ óìåíüøåíèÿ ÷èñëà âîçìîæíûõ îòêð ûòûõ òåêñòîâ. ×åì èçáûòî÷íåå ÿçûê, òåì ëåã÷å åãî êðèïòîàíàëèçèðîâàòü. Ïî ýòîé ïðè÷èíå ìíîãèå êðèïòîãðàô è÷åñêèå ðåàëèçàöèè ïåðåä øèôðîâàíèåì èñïîëüçóþò ïðîãðàììû ñæàòèÿ äëÿ óìåíüøåíèÿ ðàçìåðà òåêñòà. Ñæàòèå óìåíüøàåò èçáûòî÷íîñòü ñîîáùåíèÿ âìåñòå ñ îáúåìîì ðàáîòû, íåîáõîäèìûì äëÿ åãî øèôðîâàíèÿ è äåøèôð èðîâàíèÿ. Ýíòðîïèÿ êðèïòîñèñòåìû ÿâëÿåòñÿ ìåðîé ðàçìåðà ïðîñòðàíñòâà êëþ÷åé, K. Îíà ïðèáëèçèòåëüíî ðàâíà ëîã àðèôìó ÷èñëà êëþ÷åé ïî îñíîâàíèþ 2: H(Ê) = log2 K Ýíòðîïèÿ êðèïòîñèñòåìû ñ 64-áèòîâûì êëþ÷îì ðàâíà 64 áèòàì, ýíòðîïèÿ êðèïòîñèñòåìû ñ 56-áèòîâûì êëþ÷îì ðàâíà 56 áèòàì.  îáùåì ñëó÷àå ÷åì áîëüøå ýíòðîïèÿ, òåì òÿæåëåå âçëîìàòü êðèïòîñèñòåìó. Ðàññòîÿíèå óíèêàëüíîñòè
Äëÿ ñîîáùåíèÿ äëèíîé n ÷èñëî ðàçëè÷íûõ êëþ÷åé, êîòîðûå ðàñøèôðóþò øèôðîòåêñò ñîîáùåíèÿ â êàêîé-òî îñìûñëåííûé îòêðûòûé òåêñò íà ÿçûêå îðèãèíàëüíîãî îòêðûòîãî òåêñòà (íàïðèìåð, àíãëèéñêîì), îïðåäåëÿåòñÿ ñëåäóþùåé ôîðìóëîé [712, 95]: 2H(K)-nD-1 Øåííîí [1432] îïðåäåëèë ðàññòîÿíèå óíèêàëüíîñòè, U, íàçûâàåìîå òàêæå òî÷êîé óíèêàëüíîñòè, êàê òàêîå ïðèáëèæåííîå êîëè÷åñòâî øèôðîòåêñòà, äëÿ êîòîðîãî ñóììà ðåàëüíîé èíôîðìàöèè (ýíòðîïèÿ) â ñîîòâåòñòâó þùåì îòêðûòîì òåêñòå ïëþñ ýíòðîïèÿ êëþ÷à øèôðîâàíèÿ ðàâíÿåòñÿ ÷èñëó èñïîëüçóåìûõ áèòîâ øèôðîòåêñòà. Çàòåì îí ïîêàçàë, ÷òî èìååò ñìûñë ñ÷èòàòü, ÷òî øèôðîòåêñòû, êîòîðûå äëèííåå ðàññòîÿíèÿ óíèêàëüíîñòè, ìî æíî ðàñøèôðîâàòü òîëüêî îäíèì îñìûñëåííûì ñïîñîáîì. Øèôðîòåêñòû, êîòîðûå çàìåòíî êîðî÷å ðàññòîÿíèÿ óíèêàëüíîñòè, ñêîðåå âñåãî, ìîæíî ðàñøèôðîâàòü íåñêîëüêèìè ñïîñîáàìè, êàæäûé èç êîòîðûõ ìîæåò áûòü ïðàâèëåí, è òàêèì îáðàçîì îáåñïå÷èòü áåçîïàñíîñòü, ïîñòàâèâ ïðîòèâíèêà ïåðåä âûáîðîì ïðàâèëüíîãî îòêð ûòîãî òåêñòà. Äëÿ áîëüøèíñòâà ñèììåòðè÷íûõ êðèïòîñèñòåì ðàññòîÿíèå óíèêàëüíîñòè îïðåäåëÿåòñÿ êàê ýíòðîïèÿ êðèïò îñèñòåìû äåëåííàÿ íà èçáûòî÷íîñòü ÿçûêà. U = H(Ê)/D
Ðàññòîÿíèå óíèêàëüíîñòè ÿâëÿåòñÿ íå òî÷íûì, à âåðîÿòíîñòíûì çíà÷åíèåì. Îíî ïîçâîëÿåò îöåíèòü ìèí èìàëüíîå êîëè÷åñòâî øèôðîòåêñòà, ïðè âñêðûòèè êîòîðîãî ãðóáîé ñèëîé èìååòñÿ, âåðîÿòíî, òîëüêî îäèí ðàçó ìíûé ñïîñîá äåøèôðèðîâàíèÿ. Îáû÷íî ÷åì áîëüøå ðàññòîÿíèå óíèêàëüíîñòè, òåì ëó÷øå êðèïòîñèñòåìà. Äëÿ DES ñ 56-áèòîâûì êëþ÷îì è àíãëîÿçû÷íîãî ñîîáùåíèÿ, çàïèñàííîãî ñèìâîëàìè ASCII, ðàññòîÿíèå óíèêàëüí î-
ñòè ïðèáëèçèòåëüíî ðàâíî 8.2 ñèìâîëà ASCII èëè 66 áèò.  1405-é ïðèâåäåíû ðàññòîÿíèÿ óíèêàëüíîñòè äëÿ ðàçëè÷íûõ äëèí êëþ÷à. Ðàññòîÿíèÿ óíèêàëüíîñòè äëÿ íåêîòîðûõ êëàññè÷åñêèõ êðèïòîñèñòåì ìîæíî íàéòè â [445]. Ðàññòîÿíèå óíèêàëüíîñòè èçìåðÿåò íå êîëè÷åñòâî êðèïòîòåêñòà, íóæíîãî äëÿ êðèïòîàíàëèçà, à êîëè÷åñòâî êðèïòîòåêñòà, íåîáõîäèìîå äëÿ åäèíñòâåííîñòè ðåçóëüòàòà êðèïòîàíàëèçà. Êðèïòîñèñòåìà ìîæåò áûòü âû÷è ñëèòåëüíî íåóÿçâèìà, äàæå åñëè òåîðåòè÷åñêè åå âîçìîæíî âçëîìàòü, èñïîëüçóÿ ìàëîå êîëè÷åñòâî øèôðîòåêñòà. (Óìåñòíî âñïîìíèòü î âåñüìà ýçîòåðè÷åñêîé òåîðèè ðåëÿòèâèñòñêîé êðèïòîãðàôèè [230, 231, 232, 233, 234, 235].) Ðàññòîÿíèå óíèêàëüíîñòè ïðîïîðöèîíàëüíî èçáûòî÷íîñòè. Åñëè èçáûòî÷íîñòü ñòðåìèòñÿ ê íóëþ, äàæå òðèâèàëüíûé øèôð ìîæåò íå ïîääàòüñÿ âñêðûòèþ ñ èñïîëüçîâàíèåì òîëüêî øèôðîòåêñòà. Òàáë. 11-1. Ðàññòîÿíèÿ óíèêàëüíîñòè òåêñòà ASCII, çàøèôðîâàííîãî àëãîðèòìàìè ñ ðàçëè÷íîé äëèíîé êëþ÷à Äëèíà êëþ÷à (â áèòàõ)
Ðàññòîÿíèå óíèêàëüíîñòè (â ñèìâîëàõ)
40
5.9
56
8.2
64
9.4
80
11.8
128
18.8
256
37.6
Øåííîí îïðåäåëèë êðèïòîñèñòåìó ñ áåñêîíå÷íûì ðàññòîÿíèåì óíèêàëüíîñòè, êàê îáëàäàþùóþ èäåàëüíîé òàéíîé. Îáðàòèòå âíèìàíèå, ÷òî èäåàëüíàÿ êðèïòîñèñòåìà íå îáÿçàòåëüíî ÿâëÿåòñÿ ñîâåðøåííîé, õîòÿ ñîâå ðøåííàÿ êðèïòîñèñòåìà îáÿçàòåëüíî áóäåò è èäåàëüíîé. Åñëè êðèïòîñèñòåìà îáëàäàåò èäåàëüíîé òàéíîé, òî äàæå ïðè óñïåøíîì êðèïòîàíàëèçå îñòàíåòñÿ íåêîòîðàÿ íåîïðåäåëåííîñòü, ÿâëÿåòñÿ ëè âîññòàíîâëåííûé îòêðûòûé òåêñò ðåàëüíûì îòêðûòûì òåêñòîì. Ïðàêòè÷åñêîå èñïîëüçîâàíèå òåîðèè èíôîðìàöèè Õîòÿ ýòè ïîíÿòèÿ èìåþò áîëüøîå òåîðåòè÷åñêîå çíà÷åíèå, ðåàëüíûé êðèïòîàíàëèç èñïîëüçóåò èõ äîñòàòî÷íî ðåäêî. Ðàññòîÿíèå óíèêàëüíîñòè ãàðàíòèðóåò íåíàäåæíîñòü ñèñòåìû, åñëè îíî ñëèøêîì ìàëî, íî åãî âûñîêîå çíà÷åíèå íå ãàðàíòèðóåò áåçîïàñíîñòè. Íåñêîëüêî ïðàêòè÷åñêèõ àëãîðèòìîâ àáñîëþòíî íå ïîääàþòñÿ àíàëèçó, ïîâåäåíèå ïàðàìåòðîâ òåîðèè èíôîðìàöèè ìîãëî áû ñïîñîáñòâîâàòü âçëîìó íåêîòîðûõ øèôðîâàííûõ ñîîáù åíèé. Îäíàêî, ïîäîáíûå ñîîáðàæåíèÿ òåîðèè èíôîðìàöèè èíîãäà ïîëåçíû, íàïðèìåð, äëÿ îïðåäåëåíèÿ â êî íêðåòíîì àëãîðèòìå ðåêîìåíäóåìîãî èíòåðâàëà èçìåíåíèÿ êëþ÷åé. Êðèïòîàíàëèòèêè òàêæå èñïîëüçóþò ðÿä òå ñòîâ íå áàçå ñòàòèñòèêè è òåîðèè èíôîðìàöèè, ÷òîáû âûáèðàòü íàèáîëåå ïåðñïåêòèâíûå íàïðàâëåíèÿ àíàëèçà. Ê ñîæàëåíèþ, áîëüøèíñòâî ëèòåðàòóðû ïî ïðèìåíåíèþ òåîðèè èíôîðìàöèè â êðèïòîàíàëèçå îñòàåòñÿ ñåêðåòíîé, âêëþ÷àÿ îñíîâîïîëàãàþùóþ ðàáîòó Àëàíà Òüþðèíãà (Alan Turing), íàïèñà ííóþ â 1940. Ïóòàíèöà è äèôôóçèÿ Äâóìÿ îñíîâíûìè ìåòîäàìè ìàñêèðîâêè èçáûòî÷íîñòè îòêðûòîãî òåêñòà ñîîáùåíèÿ, ñîãëàñíî Øåííîíó, ñëóæàò ïóòàíèöà è äèôôóçèÿ [1432]. Ïóòàíèöà ìàñêèðóåò ñâÿçü ìåæäó îòêðûòûì òåêñòîì è øèôðîòåêñòîì. Îíà çàòðóäíÿåò ïîïûòêè íàéòè â øèôðîòåêñòå èçáûòî÷íîñòü è ñòàòèñòè÷åñêèå çàêîíîìåðíîñòè. Ïðîñòåéøèì ïóòåì ñîçäàòü ïóòàíèöó ÿâëÿåòñÿ ïîäñòàíîâêà.  ïðîñòîì ïîäñòàíîâî÷íîì øèôðå, íàïðèìåð, øèôðå Öåçàðÿ, âñå îäèíàêîâûå áóêâû îòêðûòîãî òåêñòà çàìåíÿþòñÿ äðóãèìè îäèíàêîâûìè áóêâàìè øèôðîòåêñòà. Ñîâðåìåííûå ïîäñòàíîâî÷íûå øèôðû ÿâëÿþ òñÿ áîëåå ñëîæíûìè: äëèííûé áëîê îòêðûòîãî òåêñòà çàìåíÿåòñÿ áëîêîì øèôðîòåêñòà, è ñïîñîá çàìåíû ìåíÿå òñÿ ñ êàæäûì áèòîì îòêðûòîãî òåêñòà èëè êëþ÷à. Òàêîãî òèïà ïîäñòàíîâêè îáû÷íî íåäîñòàòî÷íî - ñëîæíûé à ëãîðèòì íåìåöêîé Ýíèãìû áûë âçëîìàí â õîäå âòîðîé ìèðîâîé âîéíû. Äèôôóçèÿ ðàññåèâàåò èçáûòî÷íîñòü îòêðûòîãî òåêñòà, ðàñïðîñòðàíÿÿ åå ïî âñåìó øèôðîòåêñòó. Êðèïòîàí àëèòèêó ïîòðåáóåòñÿ íåìàëî âðåìåíè äëÿ ïîèñêà èçáûòî÷íîñòè. Ïðîñòåéøèì ñïîñîáîì ñîçäàòü äèôôóçèþ ÿâë ÿåòñÿ òðàíñïîçèöèÿ (òàêæå íàçûâàåìàÿ ïåðåñòàíîâêîé). Ïðîñòîé ïåðåñòàíîâî÷íûé øèôð òîëüêî ïåðåñòàâëÿåò áóêâû îòêðûòîãî òåêñòà. Ñîâðåìåííûå øèôðû òàêæå âûïîëíÿþò òàêóþ ïåðåñòàíîâêó, íî îíè òàêæå èñïîëüçóþò äðóãèå ôîðìû äèôôóçèè, êîòîðûå ïîçâîëÿþò ðàçáðîñàòü ÷àñòè ñîîáùåíèÿ ïî âñåìó ñîîáùåíèþ. Ïîòîêîâûå øèôðû èñïîëüçóþò òîëüêî ïóòàíèöó, õîòÿ ðÿä ñõåì ñ îáðàòíîé ñâÿçüþ äîáàâëÿþò äèôôóçèþ. Áëî÷íûå àëãîðèòìû ïðèìåíÿþò è ïóòàíèöó, è äèôôóçèþ. Êàê ïðàâèëî, äèôôóçèþ ñàìó ïî ñåáå íåñëîæíî âçë î-
ìàòü (õîòÿ øèôðû ñ äâîéíîé ïåðåñòàíîâêîé îêàçûâàþòñÿ ïîóñòîé÷èâåå, ÷åì äðóãèå íåêîìïüþòåðíûå ñèñòåìû).
11.2 Òåîðèÿ ñëîæíîñòè Òåîðèÿ ñëîæíîñòè îáåñïå÷èâàåò ìåòîäîëîãèþ àíàëèçà âû÷èñëèòåëüíîé ñëîæíîñòè ðàçëè÷íûõ êðèïòîãðàôè÷åñêèõ ìåòîäîâ è àëãîðèòìîâ. Îíà ñðàâíèâàåò êðèïòîãðàôè÷åñêèå ìåòîäû è àëãîðèòìû è îïðåäåëÿåò èõ áåçîïàñíîñòü. Òåîðèÿ èíôîðìàöèè ñîîáùàåò íàì î òîì, ÷òî âñå êðèïòîãðàôè÷åñêèå àëãîðèòìû (êðîìå îäíîð àçîâûõ áëîêíîòîâ) ìîãóò áûòü âçëîìàíû. Òåîðèÿ ñëîæíîñòè ñîîáùàåò, ìîãóò ëè îíè áûòü âçëîìàíû äî òåïëîâîé ñìåðòè âñåëåííîé. Ñëîæíîñòü àëãîðèòìîâ Ñëîæíîñòü àëãîðèòìà îïðåäåëÿåòñÿ âû÷èñëèòåëüíûìè ìîùíîñòÿìè, íåîáõîäèìûìè äëÿ åãî âûïîëíåíèÿ. Âû÷èñëèòåëüíàÿ ñëîæíîñòü àëãîðèòìà ÷àñòî èçìåðÿåòñÿ äâóìÿ ïàðàìåòðàìè: T (âðåìåííàÿ ñëîæíîñòü) è S (ïðîñòðàíñòâåííàÿ ñëîæíîñòü, èëè òðåáîâàíèÿ ê ïàìÿòè). È T, è S îáû÷íî ïðåäñòàâëÿþòñÿ â âèäå ôóíêöèé îò n, ãäå n - ýòî ðàçìåð âõîäíûõ äàííûõ. (Ñóùåñòâóþ è äðóãèå ñïîñîáû èçìåðåíèÿ ñëîæíîñòè: êîëè÷åñòâî ñëó÷à éíûõ áèò, øèðèíà êàíàëà ñâÿçè, îáúåì äàííûõ è ò.ï.) Îáû÷íî âû÷èñëèòåëüíàÿ ñëîæíîñòü àëãîðèòìà âûðàæàåòñÿ ñ ïîìîùüþ íîòàöèè "Î áîëüøîãî", ò.å îïèñûâ àåòñÿ ïîðÿäêîì âåëè÷èíû âû÷èñëèòåëüíîé ñëîæíîñòè. Ýòî ïðîñòî ÷ëåí ðàçëîæåíèÿ ôóíêöèè ñëîæíîñòè, áûñòðåå âñåãî ðàñòóùèé ñ ðîñòîì n, âñå ÷ëåíû íèçøåãî ïîðÿäêà èãíîðèðóþòñÿ. Íàïðèìåð, åñëè âðåìåííàÿ ñëîæíîñòü äàííîãî àëãîðèòìà ðàâíà 4n2+7n+12, òî âû÷èñëèòåëüíàÿ ñëîæíîñòü ïîðÿäêà n2, çàïèñûâàåìàÿ êàê O(n2). Âðåìåííàÿ ñëîæíîñòü èçìåðåííàÿ òàêèì îáðàçîì íå çàâèñèò îò ðåàëèçàöèè. Íå íóæíî çíàòü íè òî÷íîå âðåìÿ âûïîëíåíèÿ ðàçëè÷íûõ èíñòðóêöèé, íè ÷èñëî áèòîâ, èñïîëüçóåìûõ äëÿ ïðåäñòàâëåíèÿ ðàçëè÷íûõ ïåðåìåííûõ, íè äàæå ñêîðîñòü ïðîöåññîðà. Îäèí êîìïüþòåð ìîæåò áûòü íà 50 ïðîöåíòîâ áûñòðåå äðóãîãî, à ó òðåòüåãî øèíà äàííûõ ìîæåò áûòü â äâà ðàçà øèðå, íî ñëîæíîñòü àëãîðèòìà, îöåíåííàÿ ïî ïðÿäêó âåëè÷èíû, íå èçìåíèòñÿ. Ýòî íå æóëüíè÷åñòâî, ïðè ðàáîòå ñ àëãîðèòìàìè íàñòîëüêî ñëîæíûìè, êàê îïèñàííûå â ýòîé êíèãå, âñåì ïð î÷èì ìîæíî ïðåíåáðå÷ü (ñ òî÷íîñòüþ äî ïîñòîÿííîãî ìíîæèòåëÿ) â ñðàâíåíèè ñî ñëîæíîñòüþ ïî ïîðÿäêó âåë è÷èíû. Ýòà íîòàöèÿ ïîçâîëÿåò óâèäåòü, êàê îáúåì âõîäíûõ äàííûõ âëèÿåò íà òðåáîâàíèÿ ê âðåìåíè è îáúåìó ïàì ÿòè. Íàïðèìåð, åñëè Ò= O(n), òî óäâîåíèå âõîäíûõ äàííûõ óäâîèò è âðåìÿ âûïîëíåíèÿ àëãîðèòìà. Åñëè Ò=Î(2n), òî äîáàâëåíèå îäíîãî áèòà ê âõîäíûì äàííûì óäâîèò âðåìÿ âûïîëíåíèÿ àëãîðèòìà. Îáû÷íî àëãîðèòìû êëàññèôèöèðóþòñÿ â ñîîòâåòñòâèè ñ èõ âðåìåííîé èëè ïðîñòðàíñòâåííîé ñëîæíîñòüþ. Àëãîðèòì íàçûâàþò ïîñòîÿííûì, åñëè åãî ñëîæíîñòü íå çàâèñèò îò n: O(1). Àëãîðèòì ÿâëÿåòñÿ ëèíåéíûì, åñëè åãî âðåìåííàÿ ñëîæíîñòü O( n). Àëãîðèòìû ìîãóò áûòü êâàäðàòè÷íûìè, êóáè÷åñêèìè è ò.ä. Âñå ýòè àëãîðèòìû - ïîëèíîìèàëüíû, èõ ñëîæíîñòü - O(nm), ãäå m - êîíñòàíòà. Àëãîðèòìû ñ ïîëèíîìèàëüíîé âðåìåííîé ñëîæíîñòüþ íàçûâàþòñÿ àëãîðèòìàìè ñ ïîëèíîìèàëüíûì âðåìåíåì. Àëãîðèòìû, ñëîæíîñòü êîòîðûõ ðàâíà Î( tf(n)), ãäå t - êîíñòàíòà, áîëüøàÿ, ÷åì 1, à f(n) - íåêîòîðàÿ ïîëèíîìèàëüíàÿ ôóíêöèÿ îò n, íàçûâàþòñÿ ýêñïîíåíöèàëüíûìè. Ïîäìíîæåñòâî ýêñïîíåíöèàëüíûõ àëãîðèòìîâ, ñëî æíîñòü êîòîðûõ ðàâíà Î(cf(n)), ãäå ãäå c - êîíñòàíòà, à f(n) âîçðàñòàåò áûñòðåå, ÷åì ïîñòîÿííàÿ, íî ìåäëåííåå, ÷åì ëèíåéíàÿ ôóíêöèÿ, íàçûâàåòñÿ ñóïåðïîëèíîìèàëüíûì.  èäåàëå, êðèïòîãðàô õîòåë áû óòâåðæäàòü, ÷òî àëãîðèòì, ëó÷øèé äëÿ âçëîìà ñïðîåêòèðîâàííîãî àëãîðèòìà øèôðîâàíèÿ, îáëàäàåò ýêñïîíåíöèàëüíîé âðåìåííîé ñëîæíîñòüþ. Íà ïðàêòèêå, ñàìûå ñèëüíûå óòâåðæäåíèÿ, êîòîðûå ìîãóò áûòü ñäåëàíû ïðè òåêóùåì ñîñòîÿíèè òåîðèè âû÷èñëèòåëüíîé ñëîæíîñòè, èìåþò ôîðìó "âñå è çâåñòíûå àëãîðèòìû âñêðûòèÿ äàííîé êðèïòîñèñòåìû îáëàäàþò ñóïåðïîëèíîìèàëüíîé âðåìåííîé ñëîæíîñòüþ". Òî åñòü, èçâåñòíûå íàì àëãîðèòìû âñêðûòèÿ îáëàäàþò ñóïåðïîëèíîìèàëüíîé âðåìåííîé ñëîæíîñòüþ, íî ïîêà íåâîçìîæíî äîêàçàòü, ÷òî íå ìîæåò áûòü îòêðûò àëãîðèòì âñêðûòèÿ ñ ïîëèíîìèàëüíîé âðåìåííîé ñëîæíîñòüþ. Ðàçâèòèå òåîðèè âû÷èñëèòåëüíîé ñëîæíîñòè âîçìîæíî êîãäà-íèáóäü ïîçâîëèò ñîçäàòü àëãîðèòìû, äëÿ êîòîðûõ ñóùåñòâîâàíèå àëãîðèòìîâ ñ ïîëèíîìèàëüíûì âðåìåíåì âñêðûòèÿ ìîæåò áûòü èñêëþ÷åíî ñ ìàòåìàòè÷åñêîé òî÷íîñòüþ. Ñ ðîñòîì n âðåìåííàÿ ñëîæíîñòü àëãîðèòìîâ ìîæåò ñòàòü íàñòîëüêî îãðîìíîé, ÷òî ýòî ïîâëèÿåò íà ïðàêò è÷åñêóþ ðåàëèçóåìîñòü àëãîðèòìà.  9-é ïîêàçàíî âðåìÿ âûïîëíåíèÿ äëÿ ðàçëè÷íûõ êëàññîâ àëãîðèòìîâ ïðè n ðàâíîì îäíîìó ìèëëèîíó.  òàáëèöå èãíîðèðóþòñÿ ïîñòîÿííûå âåëè÷èíû, íî ïîêàçàíî, ïî÷åìó ýòî ìîæíî ä åëàòü. Òàáë. 11-2 Âðåìÿ âûïîëíåíèÿ äëÿ ðàçëè÷íûõ êëàññîâ àëãîðèòìîâ Êëàññ
Ñëîæíîñòü
Êîëè÷åñòâî îïåðàöèé äëÿ n=106
Âðåìÿ ïðè 10 6 îïåðàöèé â ñåêóíäó
Ïîñòîÿííûå
Î(1)
1
1 ìêñ 6
Ëèíåéíûå
Î(n)
10
Êâàäðàòè÷íûå
Î(n2)
1012
3
18
Êóáè÷åñêèå
Î(n )
10
Ýêñïîíåíöèàëüíûå
Î(2n)
10301030
1ñ 11.6 äíÿ 32000 ëåò  10301006 ðàç áîëüøå, ÷åì âðåìÿ ñóùåñòâîâàíèÿ âñåëåííîé
Ïðè óñëîâèè, ÷òî åäèíèöåé âðåìåíè äëÿ íàøåãî êîìïüþòåðà ÿâëÿåòñÿ ìèêðîñåêóíäà, êîìïüþòåð ìîæåò â ûïîëíèòü ïîñòîÿííûé àëãîðèòì çà ìèêðîñåêóíäó, ëèíåéíûé - çà ñåêóíäó, à êâàäðàòè÷íûé - çà 11.6 äíÿ. Âûïîëí åíèå êóáè÷åñêîãî àëãîðèòìà ïîòðåáóåò 32 òûñÿ÷ ëåò, ÷òî â ïðèíöèïå ðåàëèçóåìî, êîìïüþòåð, êîíñòðóêöèÿ êîò îðîãî ïîçâîëèëà áû åìó ïðîòèâîñòîÿòü ñëåäóþùåìó ëåäíèêîâîìó ïåðèîäó, â êîíöå êîíöîâ ïîëó÷èë áû ðåøåíèå. Âûïîëíåíèå ýêñïîíåíöèàëüíîãî àëãîðèòìà òùåòíî, íåçàâèñèìî îò ýêñòðàïîëÿöèè ðîñòà ìîùè êîìïüþòåðîâ, ïàðàëëåëüíîé îáðàáîòêè èëè êîíòàêòîâ ñ èíîïëàíåòíûì ñóïåððàçóìîì. Âçãëÿíåì íà ïðîáëåìó âñêðûòèÿ àëãîðèòìà øèôðîâàíèÿ ãðóáîé ñèëîé. Âðåìåííàÿ ñëîæíîñòü òàêîãî âñêð ûòèÿ ïðîïîðöèîíàëüíà êîëè÷åñòâó âîçìîæíûõ êëþ÷åé, êîòîðîå ýêñïîíåíöèàëüíî çàâèñèò îò äëèíû êëþ÷à. Åñëè n - äëèíà êëþ÷à, òî ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé ðàâíà Î(2 n).  ðàçäåëå 12.3 ðàññìàòðèâàåòñÿ äèñêóññèÿ îá èñïîëüçîâàíèè äëÿ DES 56-áèòîâîãî êëþ÷à âìåñòî 112-áèòîâîãî. Ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé ïðè 56áèòîâîì êëþ÷å ñîñòàâëÿåò 2 56, à ïðè 112-áèòîâîì êëþ÷å - 2 112.  ïåðâîì ñëó÷àå âñêðûòèå âîçìîæíî, à âî âò îðîì - íåò. Ñëîæíîñòü ïðîáëåì Òåîðèÿ ñëîæíîñòè òàêæå êëàññèôèöèðóåò è ñëîæíîñòü ñàìèõ ïðîáëåì, à íå òîëüêî ñëîæíîñòü êîíêðåòíûõ àëãîðèòìîâ ðåøåíèÿ ïðîáëåìû. (Îòëè÷íûì ââåäåíèåì â ýòó òåìó ÿâëÿþòñÿ [600, 211, 1226], ñì. òàêæå [1096, 27, 739].) Òåîðèÿ ðàññìàòðèâàåò ìèíèìàëüíîå âðåìÿ è îáúåì ïàìÿòè, íåîáõîäèìûå äëÿ ðåøåíèÿ ñàìîãî òðóäí îãî âàðèàíòà ïðîáëåìû íà òåîðåòè÷åñêîì êîìïüþòåðå, èçâåñòíîì êàê ìàøèíà Òüþðèíãà. Ìàøèíà Òüþðèíãà ïðåäñòàâëÿåò ñîáîé êîíå÷íûé àâòîìàò ñ áåñêîíå÷íîé ëåíòîé ïàìÿòè äëÿ ÷òåíèÿ-çàïèñè è ÿâëÿåòñÿ ðåàëèñòè÷íîé ìîäåëüþ âû÷èñëåíèé. Ïðîáëåìû, êîòîðûå ìîæíî ðåøèòü ñ ïîìîùüþ àëãîðèòìîâ ñ ïîëèíîìèàëüíûì âðåìåíåì, íàçûâàþòñÿ ð åøàåìûìè, ïîòîìó ÷òî äëÿ ðàçóìíûõ âõîäíûõ äàííûõ îáû÷íî ìîãóò áûòü ðåøåíû çà ðàçóìíîå âðåìÿ. (Òî÷íîå îïðåäåëåíèå "ðàçóìíîñòè" çàâèñèò îò êîíêðåòíûõ îáñòîÿòåëüñòâ.) Ïðîáëåìû, êîòîðûå íåâîçìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ, íàçûâàþòñÿ íåðåøàåìûìè, ïîòîìó ÷òî âû÷èñëåíèå èõ ðåøåíèé áûñòðî ñòàíîâèòñÿ í åâîçìîæíûì. Íåðåøàåìûå ïðîáëåìû èíîãäà íàçûâàþò òðóäíûìè. Ïðîáëåìû, êîòîðûå ìîãóò áûòü ðåøåíû òîëüêî ñ ïîìîùüþ ñóïåðïîëèíîìèàëüíûõ àëãîðèòìîâ, âû÷èñëèòåëüíî íåðåøàåìû, äàæå ïðè îòíîñèòåëüíî ì àëûõ çíà÷åíèÿõ n. ×òî åùå õóæå, Àëàí Òüþðèíã äîêàçàë, ÷òî íåêîòîðûå ïðîáëåìû ïðèíöèïèàëüíî íåðàçðåøèìû. Äàæå îòâëåêàÿñü îò âðåìåííîé ñëîæíîñòè àëãîðèòìà, íåâî çìîæíî ñîçäàòü àëãîðèòì ðåøåíèÿ ýòèõ ïðîáëåì. Ïðîáëåìû ìîæíî ðàçáèòü íà êëàññû â ñîîòâåòñòâèè ñî ñëîæíîñòüþ èõ ðåøåíèÿ. Ñàìûå âàæíûå êëàññû è èõ ïðåäïîëàãàåìûå ñîîòíîøåíèÿ ïîêàçàíû íà 10-é. (Ê íåñ÷àñòüþ, ëèøü ìàëàÿ ÷àñòü ýòèõ óòâåðæäåíèé ìîæåò áûòü äîêàçàíà ìàòåìàòè÷åñêè.)
EXPTIME PSPACE-ïîëíûå PSPACE NP-ïîëíûå NP
P
Ðèñ. 11-1. Êëàññû ñëîæíîñòè Íàõîäÿùèéñÿ â ñàìîì íèçó êëàññ P ñîñòîèò èç âñåõ ïðîáëåì, êîòîðûå ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ. Êëàññ NP - èç âñåõ ïðîáëåì, êîòîðûå ìîæíî ðåøèòü çà ïîëèíîìèàëüíîå âðåìÿ òîëüêî íà íåäåòåðìèí èðîâàííîé ìàøèíå Òüþðèíãà: âàðèàíò îáû÷íîé ìàøèíû Òüþðèíãà, êîòîðàÿ ìîæåò äåëàòü ïðåäïîëîæåíèÿ. Ì àøèíà ïðåäïîëàãàåò ðåøåíèå ïðîáëåìû - ëèáî "óäà÷íî óãàäûâàÿ", ëèáî ïåðåáèðàÿ âñå ïðåäïîëîæåíèÿ ïàðà ëëåëüíî - è ïðîâåðÿåò ñâîå ïðåäïîëîæåíèå çà ïîëèíîìèàëüíîå âðåìÿ. Âàæíîñòü NP â êðèïòîãðàôèè ñîñòîèò â ñëåäóþùåì: ìíîãèå ñèììåòðè÷íûå àëãîðèòìû è àëãîðèòìû ñ î òêðûòûìè êëþ÷àìè ìîãóò áûòü âçëîìàíû çà íåäåòåðìèíèðîâàííîå ïîëèíîìèàëüíîå âðåìÿ. Äëÿ äàííîãî øèôð îòåêñòà C, êðèïòîàíàëèòèê ïðîñòî óãàäûâàåò îòêðûòûé òåêñò, X, è êëþ÷, k, è çà ïîëèíîìèàëüíîå âðåìÿ âûïîëí ÿåò àëãîðèòì øèôðîâàíèÿ ñî âõîäàìè X è k è ïðîâåðÿåò, ðàâåí ëè ðåçóëüòàò C. Ýòî èìååò âàæíîå òåîðåòè÷åñêîå çíà÷åíèå, ïîòîìó ÷òî óñòàíàâëèâàåò âåðõíþþ ãðàíèöó ñëîæíîñòè êðèïòîàíàëèçà ýòèõ àëãîðèòìîâ. Íà ïðàêòèêå, êîíå÷íî æå, ýòî âûïîëíÿåìûé çà ïîëèíîìèàëüíîå âðåìÿ äåòåðìèíèðîâàííûé àëãîðèòì, êîòîðûé è èùåò êðè ïòîàíàëèòèê. Áîëåå òîãî, ýòîò àðãóìåíò íåïðèìåíèì êî âñåì êëàññàì øèôðîâ, êîíêðåòíî, îí íå ïðèìåíèì äëÿ îäíîðàçîâûõ áëîêíîòîâ - äëÿ ëþáîãî C ñóùåñòâóåò ìíîæåñòâî ïàð X, k, äàþùèõ C ïðè âûïîëíåíèè àëãîðèòìà øèôðîâàíèÿ, íî áîëüøèíñòâî ýòèõ X ïðåäñòàâëÿþò ñîáîé áåññìûñëåííûå, íåäîïóñòèìûå îòêðûòûå òåêñòû. Êëàññ NP âêëþ÷àåò êëàññ P, òàê êàê ëþáàÿ ïðîáëåìà, ðåøàåìàÿ çà ïîëèíîìèàëüíîå âðåìÿ íà äåòåðìèíèð îâàííîé ìàøèíå Òüþðèíãà, áóäåò òàêæå ðåøåíà çà ïîëèíîìèàëüíîå âðåìÿ íà íåäåòåðìèíèðîâàííîé ìàøèíå Òüþðèíãà, ïðîñòî ïðîïóñêàåòñÿ ýòàï ïðåäïîë îæåíèÿ. Åñëè âñå NP ïðîáëåìû ðåøàþòñÿ çà ïîëèíîìèàëüíîå âðåìÿ íà äåòåðìèíèðîâàííîé ìàøèíå, òî P = NP. Õîòÿ êàæåòñÿ î÷åâèäíûì, ÷òî íåêîòîðûå NP ïðîáëåìû íàìíîãî ñëîæíåå äðóãèõ (âñêðûòèå àëãîðèòìà øèôðîâàíèÿ ãðóáîé ñèëîé ïðîòèâ øèôðîâàíèÿ ïðîèçâîëüíîãî áëîêà øèôðîòåêñòà), íèêîãäà íå áûëî äîêàçàíî, ÷òî P ≠ NP (èëè ÷òî P = NP). Îäíàêî, áîëüøèíñòâî ëþäåé, ðàáîòàþùèõ íàä òåîðèåé ñëîæíîñòè, óáåæäåíû, ÷òî ýòè êëàññû íåðàâíû. ×òî óäèâèòåëüíî, ìîæíî äîêàçàòü, ÷òî êîíêðåòíûå NP-ïðîáëåìû íàñòîëüêî æå òðóäíû, êàê è ëþáàÿ ïðîáë åìà ýòîãî êëàññà. Ñòèâåí Êóê (Steven Cook) äîêàçàë [365], ÷òî ïðîáëåìà Âûïîëíèìîñòè (Satisfiability problem, äàíî ïðàâèëüíîå ëîãè÷åñêîå âûðàæåíèå, ñóùåñòâóåò ëè ñïîñîá ïðèñâîèòü ïðàâèëüíûå çíà÷åíèÿ âõîäÿùèì â íåãî ïåðåìåííûì òàê, ÷òîáû âñå âûðàæåíèå ñòàëî èñòèíîé?) ÿâëÿåòñÿ NP-ïîëíîé. Ýòî îçíà÷àåò, ÷òî, åñëè ïðîáëåìà Âûïîëíèìîñòè ðåøàåòñÿ çà ïîëèíîìèàëüíîå âðåìÿ, òî P = NP. Íàîáîðîò, åñëè ìîæåò áûòü äîêàçàíî, ÷òî äëÿ ëþáîé ïðîáëåìû êëàññà NP íå ñóùåñòâóåò äåòåðìèíèðîâàííîãî àëãîðèòìà ñ ïîëèíîìèàëüíûì âðåìåíåì ðåøåíèÿ, äîêàçàòåëüñòâî ïîêàæåò, ÷òî è äëÿ ïðîáëåìû Âûïîëíèìîñòè íå ñóùåñòâóåò äåòåðìèíèðîâàííîãî àëã îðèòìà ñ ïîëèíîìèàëüíûì âðåìåíåì ðåøåíèÿ.  NP íåò ïðîáëåìû òðóäíåå, ÷åì ïðîáëåìà Âûïîëíèìîñòè. Ñ òåõ ïîð, êàê îñíîâîïîëàãàþùàÿ ðàáîòà Êóêà áûëà îïóáëèêîâàíà, áûëî ïîêàçàíî, ÷òî ñóùåñòâóåò ìíîæåñ òâî ïðîáëåì, ýêâèâàëåíòíûõ ïðîáëåìå Âûïîëíèìîñòè, ñîòíè èõ ïåðå÷èñëåíû â [600], ðÿä ïðèìåðîâ ïðèâåäåí íèæå. Èç-çà ýêâèâàëåíòíîñòè ÿ ïîëàãàþ, ÷òî ýòè ïðîáëåìû òàêæå ÿâëÿþòñÿ NP-ïîëíûìè, îíè âõîäÿò â êëàññ NP è òàê æå ñëîæíû, êàê è ëþáàÿ ïðîáëåìà êëàññà NP. Åñëè áû áûëà äîêàçàíà èõ ðåøàåìîñòü çà äåòåðìèíèð îâàííîå ïîëèíîìèàëüíîå âðåìÿ, âîïðîñ P ïðîòèâ NP áûë áû ðåøåí. Âîïðîñ, âåðíî ëè P = NP, ÿâëÿåòñÿ öåíòðàëüíûì íåðåøåííûì âîïðîñîì òåîðèè âû÷èñëèòåëüíîé ñëîæíîñòè, è íå îæèäàåòñÿ, ÷òî îí áóäåò ðåøåí â áëèæàéøåå âðåìÿ. Åñëè êòî-òî ïîêàæåò, ÷òî P = NP, òî áîëüøàÿ ÷àñòü ýòîé êíèãè ñòàíåò íåíóæíîé: êàê îáúÿ ñíÿëîñü ðàíåå ìíîãèå êëàññû øèôðîâ òðèâèàëüíî âçëàìûâàþòñÿ çà íåäåòåðìèíèðîâàííîå ïîëèíîìèàëüíîå âð å-
ìÿ. Åñëè P = NP, òî îíè âñêðûâàþòñÿ ñëàáûìè, äåòåðìèíèðîâàííûìè àëãîðèòìàìè. Ñëåäóþùèì â èåðàðõèè ñëîæíîñòè èäåò êëàññ PSPACE. Ïðîáëåìû êëàññà PSPACE ìîãóò áûòü ðåøåíû â ïîëèíîìèàëüíîì ïðîñòðàíñòâå, íî íå îáÿçàòåëüíî çà ïîëèíîìèàëüíîå âðåìÿ. PSPACE âêëþ÷àåò NP, íî ðÿä ïðîáëåì PSPACE êàæóòñÿ ñëîæíåå, ÷åì NP. Êîíå÷íî, è ýòî ïîêà íåäîêàçóåìî. Ñóùåñòâóåò êëàññ ïðîáëåì, òàê íàçûâàåìûõ PSPACE-ïîëíûõ, îáëàäàþùèõ ñëåäóþùèì ñâîéñòâîì: åñëè ëþáàÿ èç íèõ ÿâëÿåòñÿ NPïðîáëåìîé, òî PSPACE = NP, è åñëè ëþáàÿ èç íèõ ÿâëÿåòñÿ P-ïðîáëåìîé, òî PSPACE = P. È íàêîíåö, ñóùåñòâóåò êëàññ ïðîáëåì EXPTIME. Ýòè ïðîáëåìû ðåøàþòñÿ çà ýêñïîíåíöèàëüíîå âðåìÿ. Ì îæåò áûòü äåéñòâèòåëüíî äîêàçàíî, ÷òî EXPTIME-ïîëíûå ïðîáëåìû íå ìîãóò áûòü ðåøåíû çà äåòåðìèíèð îâàííîå ïîëèíîìèàëüíîå âðåìÿ. Òàêæå ïîêàç àíî, ÷òî P íå ðàâíî EXPTIME. NP-ïîëíûå ïðîáëåìû Ìàéêë Êýðè (Michael Carey) è Äýâèä Äæîíñîí (David Johnson) ñîñòàâèëè ñïèñîê áîëåå ÷åì 300 NP-ïîëíûõ ïðîáëåì [600]. Âîò íåêîòîðûå: Ïðîáëåìà ïóòåøåñòâóþùåãî êîììèâîÿæåðà. Ïóòåøåñòâóþùåìó êîììèâîÿæåðó íóæíî ïîñåòèòü ðàçëè ÷íûå ãîðîäà, èñïîëüçóÿ òîëüêî îäèí áàê ñ ãîðþ÷èì (ñóùåñòâóåò ìàêñèìàëüíîå ðàññòîÿíèå, êîòîðîå îí ì îæåò ïðîåõàòü). Ñóùåñòâóåò ëè ìàðøðóò, ïîçâîëÿþùèé åìó ïîñåòèòü êàæäûé ãîëîä òîëüêî îäèí ðàç, è ñïîëüçóÿ ýòîò åäèíñòâåííûé áàê ñ ãîðþ÷èì? (Ýòî îáîáùåíèå ïðîáëåìû ãàìèëüòîíîâà ïóòè - ñì. ðàçäåë 5.1.) Ïðîáëåìà òðîéíîãî áðàêà.  êîìíàòå n ìóæ÷èí, n æåíùèí è n ÷èíîâíèêîâ (ñâÿùåííèêîâ, ðàââèíîâ, êîãî óãîäíî). Åñòü ñïèñîê ðàçðåøåííûõ áðàêîâ, çàïèñè êîòîðîãî ñîñòîÿò èç îäíîãî ìóæ÷èíû, îäíîé æåíùèíû è îäíîãî ðåãèñòðèðóþùåãî ÷èíîâíèêà. Äàí ýòîò ñïèñîê òðîåê, âîçìîæíî ëè ïîñòðîèòü n áðàêîâ òàê, ÷òîáû ëþáîé ëèáî ñî÷åòàëñÿ áðàêîì òîëüêî ñ îäíèì ÷åëîâåêîì èëè ðåãèñòðèðîâàë òîëüêî îäèí áðàê? Òðîéíàÿ âûïîëíèìîñòü. Åñòü ñïèñîê n ëîãè÷åñêèõ âûðàæåíèé, êàæäîå ñ òðåìÿ ïåðåìåííûìè. Íàïðèìåð: åñëè (x è y) òî z, (x è w) èëè (íå z), åñëè ((íå u è íå x) èëè (z è (u èëè íå x))) òî (íå z è u) èëè x), è ò.ä. Ñóùåñòâóåò ëè ïðàâèëüíûå çíà÷åíèÿ âñåõ ïåðåìåííûõ, ÷òîáû âñå óòâåðæäåíèÿ áûëè èñòèííûìè? (Ýòî ÷ àñòíûé ñëó÷àé óïîìÿíóòîé âûøå ïðîáëåìû Âûïîëíèìîñòè.)
11.3 Òåîðèÿ ÷èñåë Ýòî íå êíèãà ïî òåîðèè ÷èñåë, ïîýòîìó ÿ òîëüêî íàáðîñàþ ðÿä èäåé, èñïîëüçóåìûõ â êðèïòîãðàôèè. Åñëè âàì íóæíî ïîäðîáíîå ìàòåìàòè÷åñêîå èçëîæåíèå òåîðèè ÷èñåë, îáðàòèòåñü ê îäíîé èç ýòèõ êíèã: [1430, 72, 1171, 12, 959, 681, 742, 420]. Ìîèìè ëþáèìûìè êíèãàìè ïî ìàòåìàòèêå êîíå÷íûõ ïîëåé ÿâëÿþòñÿ [971, 1042]. Ñì. òàêæå [88, 1157, 1158, 1060]. Àðèôìåòèêà âû÷åòîâ Âû âñå ó÷èëè ìàòåìàòèêó âû÷åòîâ â øêîëå. Èíîãäà åå íàçûâàëè "àðèôìåòèêîé ÷àñîâ". Åñëè Ìèëäðåä ñêàç àëà, ÷òî îíà áóäåò äîìà ê 10:00, è îïîçäàëà íà 13 ÷àñîâ, òî êîãäà îíà ïðèäåò äîìîé, è íà ñêîëüêî ëåò îòåö ëèøèò åå âîäèòåëüñêèõ ïðàâ? Ýòî àðèôìåòèêà ïî ìîäóëþ 12. Äâàäöàòü òðè ïî ìîäóëþ 12 ðàâíî 11. (10 + 13) mod 12 = 23 mod 12 = 11 mod 12 Äðóãèì ñïîñîáîì çàïèñàòü ýòî ÿâëÿåòñÿ óòâåðæäåíèå îá ýêâèâàëåíòíîñòè 23 è 11 ïî ìîäóëþ 12: 10 + 13 ≡ 11 (mod 12)  îñíîâíîì, a ≡ b (mod n), åñëè a = b + kn äëÿ íåêîòîðîãî öåëîãî k. Åñëè a íåîòðèöàòåëüíî è b íàõîäèòñÿ ìåæäó 0 è n, ìîæíî ðàññìàòðèâàòü b êàê îñòàòîê ïðè äåëåíèè a íà n. Èíîãäà, b íàçûâàåòñÿ âû÷åòîì a ïî ìîäóëþ n. Èíîãäà a íàçûâàåòñÿ êîíãðóýíòíûì b ïî ìîäóëþ n (çíàê òðîéíîãî ðàâåíñòâà, ≡, îáîçíà÷àåò êîíãðóýíòíîñòü). Îäíî è òî æå ìîæíî ñêàçàòü ðàçíûìè ñïîñîáàìè. Ìíîæåñòâî ÷èñåë îò 0 äî n-1 îáðàçóåò òî, ÷òî íàçûâàåòñÿ ïîëíûì ìíîæåñòâîì âû÷åòîâ ïî ìîäóëþ n. Ýòî îçíà÷àåò, ÷òî äëÿ ëþáîãî öåëîãî a, åãî îñòàòîê ïî ìîäóëþ n ÿâëÿåòñÿ íåêîòîðûì ÷èñëîì îò 0 äî n-1. Îïåðàöèÿ a mod n îáîçíà÷àåò îñòàòîê îò a, ÿâëÿþùèéñÿ íåêîòîðûì öåëûì ÷èñëîì îò 0 äî n-1. Ýòà îïåðàöèÿ íàçûâàåòñÿ ïðèâåäåíèåì ïî ìîäóëþ. Íàïðèìåð, 5 mod 3 = 2. Ýòî îïðåäåëåíèå mod ìîæåò îòëè÷àòüñÿ îò ïðèíÿòîãî â íåêîòîðûõ ÿçûêàõ ïðîãðàììèðîâàíèÿ. Íàïðèìåð, îïåðàòîð ïîëó÷åíèÿ îñòàòêà â ÿçûêå PASCAL èíîãäà âîçâðàùàåò îòðèöàòåëüíîå ÷èñëî. Îí âîçâðàùàåò ÷èñëî ìåæäó -(n-1) è n-1.  ÿçûêå C îïåðàòîð % âîçâðàùàåò îñòàòîê îò äåëåíèÿ ïåðâîãî âûðàæåíèÿ íà âòîðîå, îíî ìîæåò áûòü îòðèöàòåëüíûì ÷èñëîì, åñëè ëþáîé èç îïåðàíäîâ îòðèöàòåëåí. Äëÿ âñåõ àëãîðèòìîâ â ýòîé êíèãå ïðîâåðÿéòå, ÷òî âû äîáàâëÿåòå n ê ðåçóëüòàòó îïåðàöèè ïîëó÷åíèÿ îñòàòêà, åñëè îíà âîçâðàùàåò îòðèöàòåëüíîå ÷èñëî.
Àðèôìåòèêà îñòàòêîâ î÷åíü ïîõîæà íà îáû÷íóþ àðèôìåòèêó: îíà êîììóòàòèâíà, àññîöèàòèâíà è äèñòðèá óòèâíà. Êðîìå òîãî, ïðèâåäåíèå êàæäîãî ïðîìåæóòî÷íîãî ðåçóëüòàòà ïî ìîäóëþ n äàåò òîò æå ðåçóëüòàò, êàê è âûïîëíåíèå âñåãî âû÷èñëåíèÿ ñ ïîñëåäóþùèì ïðèâåäåíèåì êîíå÷íîãî ðåçóëüòàòà ïî ìîäóëþ n. (a + b) mod n == ((a mod n) + (b mod n)) mod n (a - b) mod n == ((a mod n) - (b mod n)) mod n (a * b) mod n == ((a mod n) * (b mod n)) mod n (a * (b+c)) mod n == (((a*b) mod n) + ((a*c) mod n)) mod n Âû÷èñëåíèå mod n ÷àñòî èñïîëüçóåòñÿ â êðèïòîãðàôèè, òàê êàê âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ è êâà äðàòíûõ êîðíåé mod n ìîæåò áûòü íåëåãêîé ïðîáëåìîé. Àðèôìåòèêà âû÷åòîâ, ê òîìó æå, ëåã÷å ðåàëèçóåòñÿ íà êîìïüþòåðàõ, ïîñêîëüêó îíà îãðàíè÷èâàåò äèàïàçîí ïðîìåæóòî÷íûõ çíà÷åíèé è ðåçóëüòàòà. Äëÿ k-áèòîâûõ âû÷åòîâ n, ïðîìåæóòî÷íûå ðåçóëüòàòû ëþáîãî ñëîæåíèÿ, âû÷èòàíèå èëè óìíîæåíèÿ áóäóò íå äëèííåå, ÷åì 2 k áèò. Ïîýòîìó â àðèôìåòèêå âû÷åòîâ ìû ìîæåì âûïîëíèòü âîçâåäåíèå â ñòåïåíü áåç îãðîìíûõ ïðîìåæóòî÷íûõ ð åçóëüòàòîâ. Âû÷èñëåíèå ñòåïåíè íåêîòîðîãî ÷èñëà ïî ì îäóëþ äðóãîãî ÷èñëà, ax mod n, ïðåäñòàâëÿåò ñîáîé ïðîñòî ïîñëåäîâàòåëüíîñòü óìíîæåíèé è äåëåíèé, íî ñóùåñòâóþò ïðèåìû, óñêîðÿþùèå ýòî äåéñòâèå. Îäèí èç òàêèõ ïðèåìîâ ñòðåìèòñÿ ìèíèìèçèðîâàòü êîëè÷åñòâî óìíîæåíèé ïî ìîäóëþ, äðóãîé îïòèìèçèðîâàòü îòäåëüíûå óìíîæåíèÿ ïî ìîäóëþ. Òàê êàê îïåðàöèè äèñòðèáóòèâíû, áûñòðåå âûïîëíèòü âîçâ åäåíèå â ñòåïåíü êàê ïîòîê ïîñëåäîâàòåëüíûõ óìíîæåíèé, êàæäûé ðàç ïîëó÷àÿ âû÷åòû. Ñåé÷àñ âû íå ÷óâñòâóåòå ðàçíèöû, íî îíà áóäåò çàìåòíà ïðè óìíîæåíèè 200-áèòîâûõ ÷èñåë. Íàïðèìåð, åñëè âû õîòèòå âû÷èñëèòü a8 mod n, íå âûïîëíÿéòå íàèâíî ñåìü óìíîæåíèé è îäíî ïðèâåäåíèå ïî ìîäóëþ: (a * a * a * a * a * a * a * a) mod n Âìåñòî ýòîãî âûïîëíèòå òðè ìåíüøèõ óìíîæåíèÿ è òðè ìåíüøèõ ïðèâåäåíèÿ ïî ì îäóëþ: ((a2 mod n)2 mod n)2 mod n Òî÷íî òàêæå, a16 mod n =(((a2 mod n)2 mod n)2 mod n)2 mod n Âû÷èñëåíèå ax, ãäå x íå ÿâëÿåòñÿ ñòåïåíüþ 2, íåíàìíîãî òðóäíåå. Äâîè÷íàÿ çàïèñü ïðåäñòàâëÿåò x â âèäå ñóììû ñòåïåíåé 2: 25 - ýòî áèíàðíîå 11001, ïîýòîìó 25 = 24 + 23 + 20. Ïîýòîìó a25 mod n = (a*a24) mod n = (a* a8*a16) mod n = = (a*(( a2) 2) 2*((( a2) 2) 2) 2) mod n = (a*((( a*a2) 2) 2) 2) mod n Ñ ïðîäóìàííûì ñîõðàíåíèåì ïðîìåæóòî÷íûõ ðåçóëüòàòîâ âàì ïîíàäîáèòñÿ òîëüêî øåñòü óìíîæåíèé: (((((((a2 mod n)* a)2 mod n)2 mod n)2 mod n)2 mod n)2 *a) mod n Òàêîé ïðèåì íàçûâàåòñÿ öåïî÷êîé ñëîæåíèé [863], èëè ìåòîäîì äâîè÷íûõ êâàäðàòîâ è óìíîæåíèÿ. Îí è ñïîëüçóåò ïðîñòóþ è î÷åâèäíóþ öåïî÷êó ñëîæåíèé, â îñíîâå êîòîðîé ëåæèò äâîè÷íîå ïðåäñòàâëåíèå ÷èñëà. Íà ÿçûêå C ýòî âûãëÿäèò ñëåäóþùèì îáðàçîì: unsigned long qe2(unsigned long x, unsigned long y, unsigned long n) { unsigned long s, t, u; int i; s=1; t=x; u=y; while (u) { if(u&1) s=(s*t)%n; u>>1; t=(t*t)%n; } return(s) }
À âîò äðóãîé, ðåêóðñèâíûé, àëãîðèòì: unsigned long fast_exp(unsigned long x, unsigned long y, unsigned long N) { unsigned long tmp;
if(y==l) return(x % N); if (l^(x&l)) { tmp= fast_exp(x,y/2,N); return ((tmp*tmp)%N); else { tmp = fast_exp(x,(y-1)/2,N); tmp = (tmp*tmp)%N; tmp = (tmp*x)%N; return (tmp); } }
Ýòîò ìåòîä óìåíüøàåò êîëè÷åñòâî îïåðàöèé, â ñðåäíåì, äî 1.5* k îïåðàöèé, ãäå k - äëèíà ÷èñëà x â áèòàõ. Íàéòè ñïîñîá âû÷èñëåíèÿ ñ íàèìåíüøèì êîëè÷åñòâîì îïåðàöèé - òðóäíàÿ ïðîáëåìà (áûëî äîêàçàíî, ÷òî ïîñë åäîâàòåëüíîñòü äîëæíà ñîäåðæàòü íå ìåíüøå k-1 îïåðàöèé), íî íåòðóäíî ñíèçèòü ÷èñëî îïåðàöèé äî 1.1* k èëè äàæå ëó÷øå ïðè áîëüøèõ k. Ýôôåêòèâíûì ñïîñîáîì ìíîãî ðàç âûïîëíÿòü ïðèâåäåíèå ïî ìîäóëþ äëÿ îäíîãî n ÿâëÿåòñÿ ìåòîä Ìîíòãîìåðè [1111]. Äðóãîé ìåòîä íàçûâàåòñÿ àëãîðèòìîì Áàððåòà [87]. Ýôôåêòèâíîñòü îïèñàííîãî àëãîðèòìà è ýòèõ äâóõ ìåòîäîâ ðàññìàòðèâàåòñÿ â [210]: àëãîðèòì, ðàññìîòðåííûé ìíîþ, ÿâëÿåòñÿ íàèëó÷øèì äëÿ åäèíè ÷íîãî ïðèâåäåíèÿ ïî ìîäóëþ, àëãîðèòì Áàððåòà - íàèëó÷øèì äëÿ ìàëûõ àðãóìåíòîâ, à ìåòîä Ìîíòãîìåðè - íà èëó÷øèì äëÿ îáû÷íîãî âîçâåäåíèÿ â ñòåïåíü ïî ìîäóëþ. (Ìåòîä Ìîíòãîìåðè òàêæå èñïîëüçóåò ïðåèìóùåñòâî ìàëûõ ïîêàçàòåëåé ñòåïåíè, èñïîëüçóÿ ïðèåì, íàçûâàþùèéñÿ ñìåøàííîé àðèôìåòèêîé.) Îïåðàöèÿ, îáðàòíàÿ âîçâåäåíèþ â ñòåïåíü ïî ìîäóëþ n, âû÷èñëÿåò äèñêðåòíûé ëîãàðèôì. ß äàëüøå âêðàòöå ðàññìîòðþ ýòó îïåðàöèþ. Ïðîñòûå ÷èñëà Ïðîñòûì íàçûâàåòñÿ öåëîå ÷èñëî, áîëüøåå åäèíèöû, åäèíñòâåííûìè ìíîæèòåëÿìè êîòîðîãî ÿâëÿåòñÿ 1 è îíî ñàìî: îíî íå äåëèòñÿ íè íà îäíî äðóãîå ÷èñëî. Äâà - ýòî ïðîñòîå ÷èñëî. Ïðîñòûìè ÿâëÿþòñÿ è 73, 2521, 2365347734339 è 2 756839-1. Ñóùåñòâóåò áåñêîíå÷íî ìíîãî ïðîñòûõ ÷èñåë. Êðèïòîãðàôèÿ, îñîáåííî êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè, ÷àñòî èñïîëüçóåò áîëüøèå ïðîñòûå ÷èñëà (512 áèò è äàæå áîë üøå). Åâàíãåëîñ Êðàíàêèñ (Evangelos Kranakis) íàïèñàë îòëè÷íóþ êíèãó ïî òåîðèè ÷èñåë, ïðîñòûì ÷èñëàì è èõ ïðèìåíåíèþ â êðèïòîãðàôèè [896]. Ïàóëà Ðèáåíáîéì (Paula Ribenboim) íàïèñàëà äâå îòëè÷íûõ ñïðàâî÷íûõ ðàáîòû ïî ïðîñòûì ÷èñëàì âîîáùå [1307, 1308]. Íàèáîëüøèé îáùèé äåëèòåëü Äâà ÷èñëà íàçûâàþòñÿ âçàèìíî ïðîñòûìè, åñëè ó íèõ íåò îáùèõ ìíîæèòåëåé êðîìå 1. Èíûìè ñëîâàìè, å ñëè íàèáîëüøèé îáùèé äåëèòåëü a è n ðàâåí 1. Ýòî çàïèñûâàåòñÿ êàê: ÍÎÄ(a,n)=1 Âçàèìíî ïðîñòû ÷èñëà 15 è 28. 15 è 27 íå ÿâëÿþòñÿ âçàèìíî ïðîñòûìè, à 13 è 500 - ÿâëÿþòñÿ. Ïðîñòîå ÷èñëî âçàèìíî ïðîñòî ñî âñåìè äðóãèìè ÷èñëàìè, êðîìå ÷ èñåë, êðàòíûõ äàííîìó ïðîñòîìó ÷èñëó. Îäíèì èç ñïîñîáîâ âû÷èñëèòü íàèáîëüøèé îáùèé äåëèòåëü äâóõ ÷èñåë ÿâëÿåòñÿ àëãîðèòì Ýâêëèäà. Ýâêëèä îïèñàë ýòîò àëãîðèòì â ñâîåé êíèãå, Ýëåìåíòû, íàïèñàííîé â 300 ãîäó äî íàøåé ýðû. Îí íå èçîáðåë åãî. Èñòîðèêè ñ÷èòàþò, ÷òî ýòîò àëãîðèòì ëåò íà 200 ñòàðøå. Ýòî ñàìûé äðåâíèé íåòðèâèàëüíûé àëãîðèòì, êîòîðûé äîøåë äî íàøèõ äíåé, è îí âñå åùå õîðîø. Êíóò îïèñàë àëãîðèòì è åãî ñîâðåìåííûå ìîäèôèêàöèè â [863]. Íà ÿçûêå C: /* âîçâðàùàåò ÍÎÄ (gcd) x è y */ int gcd (int x, int y) { int g; if (x < 0) x = -x; if (y < 0) y = -y; if (x + y == 0 ) ERROR ;
g = y; while (x > 0) { g = x; x = y % x; y = g; } return g; }
Ýòîò àëãîðèòì ìîæíî îáîáùèòü äëÿ ïîëó÷åíèÿ ÍÎÄ ìàññèâà m ÷èñåë: /* âîçâðàùàåò ÍÎÄ (gcd) xl, x2...xm */ int multiple_gcd (int m, int *x) { slze_t i; int g; if (m < 1) return 0; g = x [0]; for (i=l; i<m; ++i) { g = gcd(g, x[i]); /* îïòèìèçàöèÿ, òàê êàê äëÿ ñëó÷àéíûõ x[i], g==l â 60% ñëó÷àåâ: */ if (g == 1) return 1; } return g; }
Îáðàòíûå çíà÷åíèÿ ïî ìîäóëþ Ïîìíèòå, ÷òî òàêîå îáðàòíûå çíà÷åíèÿ? Îáðàòíîå çíà÷åíèå äëÿ 4 - 1/4, ïîòîìó ÷òî 4*1/4 =1.  ìèðå âû÷åòîâ ïðîáëåìà óñëîæíÿåòñÿ: 4*x = 1 (mod 7) Ýòî óðàâíåíèå ýêâèâàëåíòíî îáíàðóæåíèþ x è k, òàêèõ ÷òî 4x = 7k + 1 ãäå x è k - öåëûå ÷èñëà. Îáùàÿ çàäà÷à ñîñòîèò â íàõîæäåíèè x, òàêîãî ÷òî 1 = (a*x) mod n Ýòî òàêæå ìîæíî çàïèñàòü êàê a-1 ≡ x (mod n) Ïðîáëåìó îáðàòíûõ çíà÷åíèé ïî ìîäóëþ ðåøèòü íåëåãêî. Èíîãäà ó íåå åñòü ðåøåíèå, èíîãäà íåò. Íàïðèìåð, îáðàòíîå çíà÷åíèå 5 ïî ìîäóëþ 14 ðàâíî 3. Ñ äðóãîé ñòîðîíû ó ÷èñëà 2 íåò îáðàòíîãî çíà÷åíèÿ ïî ìîäóëþ 14.  îáùåì ñëó÷àå ó óðàâíåíèÿ a -1 ≡ x (mod n) ñóùåñòâóåò åäèíñòâåííîå ðåøåíèå, åñëè a è n âçàèìíî ïðîñòû. Åñëè a è n íå ÿâëÿþòñÿ âçàèìíî ïðîñòûìè, òî a -1 ≡ x (mod n) íå èìååò ðåøåíèé. Åñëè n ÿâëÿåòñÿ ïðîñòûì ÷è ñëîì, òî ëþáîå ÷èñëî îò 1 äî n -1 âçàèìíî ïðîñòî ñ n è èìååò â òî÷íîñòè îäíî îáðàòíîå çíà÷åíèå ïî ìîäóëþ n. Òàê, õîðîøî. À òåïåðü êàê âû ñîáèðàåòåñü èñêàòü îáðàòíîå çíà÷åíèå a ïî ìîäóëþ n? Ñóùåñòâóåò äâà ïóòè. Îáðàòíîå çíà÷åíèå a ïî ìîäóëþ n ìîæíî âû÷èñëèòü ñ ïîìîùüþ àëãîðèòìà Ýâêëèäà. Èíîãäà ýòî íàçûâàåòñÿ ðàñøèðåííûì àëãîðèòìîì Ýâêëèäà. Âîò ýòîò àëãîðèòì íà ÿçûêå C++: #define isEven(x) ((x & 0x01) == 0) #define isOdd(x)
(x& 0x01)
#define swap(x,y) (x^= y, y^= x, x^= y) void ExtBinEuclid(int *u, int *v, int *u1, int *u2, int *u3) { // ïðåäóïðåæäåíèå: u è v áóäóò ïåðåñòàâëåíû, åñëè u
if (*u < *v) swap(*u<,*v); for (k = 0; isEven(*u) && isEven(*v); ++k) { *u>>=1; *v >>1; } *u1 = 1; *u2 = 0; *u3 = *u; t1 = *v; t2 = *u - 1; t3 = *v; do { do { if (isEven(*u3)) { if (isOdd(*ul) || isOdd(*u2)) { *u1 += *v; *u2 += *u; } *ul >>* 1; *u2 >>= 1; *u3 >>= 1; } if (isEven(t3) || *u3 < t3) { swap(*ul,tl); smap(*u2,t2); smap(*u3,t3); } } while (isEven(*u3)); while (*ul < tl || *u2 < t2) { *ul += *v; *u2 += *u; } ul -= tl; *u2 -= t2; *u3 -= t3; } while (t3 > 0); while (*ul >= *v && *u2 >= *u) { *ul>l -= *v; *u2 -= *u; } *u <<= k; *v <<= k; *u3 << k; } main(int argc, char **argv) { int a, b, gcd; if (argc < 3) { cerr << "êàê èñïîëüçîâàòü: xeuclid u v" << end1; return -1; } int u = atoi(argv[1]); int v = atoi(argv[2]); if (u <= 0 || v <= 0 ) { cerr << "Àðãóìåíò äîëæåí áûòü ïîëîæèòåëåí!" << end1; return -2; } // ïðåäóïðåæäåíèå: u è v áóäóò ïåðåñòàâëåíû åñëè u < v ExtBinEuclid(&u, &v, &a, &b, &gcd); cout << a <<" * " << u << " + (-" << b << ") * " << v << " = " << gcd << end1; if (gcd == 1) cout << "Îáðàòíîå çíà÷åíèå " << v << " mod " << u << " is: " << u - b << end1; return 0; }
ß íå ñîáèðàþñü äîêàçûâàòü, ÷òî ýòî ðàáîòàåò, èëè ïðèâîäèòü òåîðåòè÷åñêîå îáîñíîâàíèå. Ïîäðîáíîñòè ìî æíî íàéòè â [863] èëè â ëþáîé èç ïðèâåäåííûõ ðàíåå ðàáîò ïî òåîðèè ÷èñåë. Àëãîðèòì èòåðàòèâåí è äëÿ áîëüøèõ ÷èñåë ìîæåò ðàáîòàòü ìåäëåííî. Êíóò ïîêàçàë, ÷òî ñðåäíåå ÷èñëî â û-
ïîëíÿåìûõ àëãîðèòìîì äåëåíèé ðàâíî: 0.843*log 2(n) + 1.47 Ðåøåíèå äëÿ êîýôôèöèåíòîâ Àëãîðèòì Ýâêëèäà ìîæíî èñïîëüçîâàòü è äëÿ ðåøåíèÿ ñëåäóþùèõ ïðîáëåì: äàí ìàññèâ èç m ïåðåìåííûõ x1, x2, ..., xm, íàéòè ìàññèâ m êîýôôèöèåíòîâ, ul, u2, ..., um, òàêèõ ÷òî ul * x1+...+ um * xm, = 1 Ìàëàÿ òåîðåìà Ôåðìà Åñëè m - ïðîñòîå ÷èñëî, è a íå êðàòíî m, òî ìàëàÿ òåîðåìà Ôåðìà óòâåðæäàåò am-1 ≡ 1 (mod m) (Ïüåð äå Ôåðìà (Pierre de Fermat), ôðàíöóçñêèé ìàòåìàòèê, æèë ñ 1601 ïî 1665 ãîä. Ýòà òåîðåìà íå èìååò íè÷åãî îáùåãî ñ åãî çíàìåíèòîé òåîðåìîé.) Ôóíêöèÿ Ýéëåðà Ñóùåñòâóåò äðóãîé ñïîñîá âû÷èñëèòü îáðàòíîå çíà÷åíèå ïî ìîäóëþ n, íî åãî íå âñåãäà âîçìîæíî èñïîëüç îâàòü. Ïðèâåäåííûì ìíîæåñòâîì îñòàòêîâ mod n íàçûâàåòñÿ ïîäìíîæåñòâî ïîëíîãî ìíîæåñòâà îñòàòêîâ, ÷ë åíû êîòîðîãî âçàèìíî ïðîñòû ñ n. Íàïðèìåð, ïðèâåäåííîå ìíîæåñòâî îñòàòêîâ mod 12 - ýòî {1, 5, 7, 11}. Åñëè n ïðîñòîå ÷èñëî, òî ïðèâåäåííîå ìíîæåñòâî îñòàòêîâ mod n - ýòî ìíîæåñòâî âñåõ ÷èñåë îò 1 äî n-1. Äëÿ ëþáîãî n, íå ðàâíîãî 1,÷èñëî 0 íèêîãäà íå âõîäèò â ïðèâåäåííîå ìíîæåñòâî îñòàòêîâ. Ôóíêöèÿ Ýéëåðà, êîòîðóþ òàêæå íàçûâàþò ôóíêöèåé ôè Ýéëåðà è çàïèñûâàþò êàê φ(n), - ýòî êîëè÷åñòâî ýëåìåíòîâ â ïðèâåäåííîì ìíîæåñòâå îñòàòêîâ ïî ìîäóëþ n. Èíûìè ñëîâàìè, φ(n) - ýòî êîëè÷åñòâî ïîëîæèòåëüíûõ öåëûõ ÷èñåë, ìåíüøèõ n è âçàèìíî ïðîñòûõ ñ n (äëÿ ëþáîãî n, áîëüøåãî 1). (Ëåîíàðä Ýéëåð (Leonhard Euler), øâåéöàðñêèé ìàòåìàòèê, æèë ñ 1707 ïî 1783 ãîä.) Åñëè n - ïðîñòîå ÷èñëî, òî φ(n) = n-1. Åñëè n = pq, ãäå p è q -ïðîñòûå ÷èñëà, òî φ(n)= (p - 1)(q - 1). Ýòè ÷èñëà ïîÿâëÿþòñÿ â íåêîòîðûõ àëãîðèòìàõ ñ îòêðûòûìè êëþ÷àìè, è âîò ïî÷åìó.  ñîîòâåòñòâèè ñ îáîáùåíèåì Ýéë åðà ìàëîé òåîðåìû Ôåðìà, åñëè ÍÎÄ(a,n) = 1, òî aφ(n) mod n = 1 Òåïåðü ëåãêî âû÷èñëèòü a-1 mod n: x = aφ(n)-1 mod n Íàïðèìåð, êàêîå ÷èñëî ÿâëÿåòñÿ îáðàòíûì äëÿ 5 ïî ìîäóëþ 7? Òàê êàê 7 - ïðîñòîå ÷èñëî, φ(7) = 7 - 1 = 6. Èòàê, ÷èñëî, îáðàòíîå ê 5 ïî ìîäóëþ 7, ðàâíî 56-1 mod 7 = 5 5 mod 7 = 3 Ýòè ìåòîäû âû÷èñëåíèÿ îáðàòíûõ çíà÷åíèé ìîæíî ðàñøèðèòü äëÿ áîëåå îáùåé ïðîáëåìû íàõîæäåíèÿ x (åñëè ÍÎÄ(a,n) = 1): (a*x) mod n = b Èñïîëüçóÿ îáîáùåíèå Ýéëåðà, ðåøàåì x = (b* aφ(n)-1 ) mod n Èñïîëüçóÿ àëãîðèòì Ýâêëèäà, íàõîäèì x = (b* (a-1 mod n) ) mod n  îáùåì ñëó÷àå äëÿ âû÷èñëåíèÿ îáðàòíûõ çíà÷åíèé àëãîðèòì Ýâêëèäà áûñòðåå, ÷åì îáîáùåíèå Ýéëåðà, îñîáåííî äëÿ ÷èñåë äëèíîé ïîðÿäêà 500 áèò. Åñëè ÍÎÄ( a,n) ≠ 1, íå âñå ïîòåðÿíî.  ýòîì îáùåì ñëó÷àå ( a*x) mod n=b, ìîæåò èìåòü èëè íåñêîëüêî ðåøåíèé, èëè íè îäíîãî. Êèòàéñêàÿ òåîðåìà îá îñòàòêàõ Åñëè èçâåñòíî ðàçëîæåíèå ÷èñëà n íà ïðîñòûå ñîìíîæèòåëè, òî äëÿ ðåøåíèÿ ïîëíîé ñèñòåìû óðàâíåíèé ìîæíî âîñïîëüçîâàòüñÿ Êèòàéñêîé òåîðåìîé îá îñòàòêàõ. Îñíîâíîé âàðèàíò ýòîé òåîðåìû áûë îòêðûò â ïåðâîì âåêå êèòàéñêèì ìàòåìàòèêîì Ñóí Öçå.  îáùåì ñëó÷àå, åñëè ðàçëîæåíèå ÷èñëà n íà ïðîñòûå ñîìíîæèòåëè ïðåäñòàâëÿåò ñîáîé p1*p2*...*pt, òî ñèñòåìà óðàâíåíèé
(x mod pi ) = ai , ãäå i = 1, 2, . . . , t èìååò åäèíñòâåííîå ðåøåíèå, x, ìåíüøåå n. (Îáðàòèòå âíèìàíèå, ÷òî íåêîòîðûå ïðîñòûå ÷èñëà ìîãóò ïîÿ âëÿòüñÿ íåñêîëüêî ðàç. Íàïðèìåð, p1 ìîæåò áûòü ðàâíî p2.) Äðóãèìè ñëîâàìè, ÷èñëî (ìåíüøåå, ÷åì ïðîèçâåäåíèå íåñêîëüêèõ ïðîñòûõ ÷èñåë) îäíîçíà÷íî îïðåäåëÿåòñÿ ñâîèìè îñòàòêàìè îò äåëåíèÿ íà ýòè ïðîñòûå ÷èñëà. Íàïðèìåð, âîçüìåì ïðîñòûå ÷èñëà 3 è 5, è 14 â êà÷åñòâå çàäàííîãî ÷èñëà. 14 mod 3 = 2, è 14 mod 5 = 4. Ñ óùåñòâóåò åäèíñòâåííîå ÷èñëî, ìåíüøåå 3*5 = 15, ñ òàêèìè îñòàòêàìè: 14. Äâà îñòàòêà îäíîçíà÷íî îïðåäåëÿþò ÷èñëî. Ïîýòîìó äëÿ ïðîèçâîëüíîãî a < p è b < q (ãäå p è q - ïðîñòûå ÷èñëà), ñóùåñòâóåò åäèíñòâåííîå ÷èñëî x, ìåíüøåå pq, òàêîå ÷òî x ≡ a (mod p), è x ≡ b (mod q) Äëÿ ïîëó÷åíèÿ x ñíà÷àëà âîñïîëüçóåìñÿ àëãîðèòìîì Ýâêëèäà, ÷òîáû íàéòè u, òàêîå ÷òî u*q ≡ 1 (mod p) Çàòåì âû÷èñëèì: x = (((a - b) *u) mod p) * q + b Âîò êàê âûãëÿäèò Êèòàéñêàÿ òåîðåìà îá îñòàòêàõ íà ÿçûêå C: /* r - ýòî êîëè÷åñòâî ýëåìåíòîâ â ìàññèâàõ m and u; m - ýòî ìàññèâ (ïîïàðíî âçàèìíî ïðîñòûõ) ìîäóëåé u - ýòî ìàññèâ êîýôôèöèåíòîâ âîçâðàùàåò çíà÷åíèå n, òàêîå ÷òî n == u[k]%m[k] (k=0..r-1) è n < [m[0]*m[l]*...*m[r-1] */ /* Ïîëó÷åíèå ôóíêöèè Ýéëåðà (totient) îñòàåòñÿ óïðàæíåíèåì äëÿ ÷èòàòåëÿ. */ int Chinese_remainder (size_t r, int *m, int *u) { size_t i; int modulus; int n; modulus=1; for (i=0; i
Îáðàùåíèå Êèòàéñêîé òåîðåìû îá îñòàòêàõ ìîæåò áûòü èñïîëüçîâàíî äëÿ ðåøåíèÿ ñëåäóþùåé ïðîáëåìû: åñëè p è q - ïðîñòûå ÷èñëà, è p ìåíüøå q, òî ñóùåñòâóåò åäèíñòâåííîå x, ìåíüøåå, ÷åì pq, òàêîå ÷òî a ≡ x (mod p), è b ≡ x (mod q) Åñëè a ≥b mod p, òî x = (((a - (b mod p)) * u) mod p) * q + b Åñëè a < b mod p, òî x = (((a + p - (b mod p))*u) mod p)*q + b Êâàäðàòè÷íûå âû÷åòû Åñëè p - ïðîñòîå ÷èñëî, è a áîëüøå 0, íî ìåíüøå p, òî a ïðåäñòàâëÿåò ñîáîé êâàäðàòè÷íûé âû÷åò ïî ìîäóëþ p, åñëè x2 ≡ a (mod p), äëÿ íåêîòîðûõ x
Íå âñå çíà÷åíèÿ a ñîîòâåòñòâóþò ýòîìó òðåáîâàíèþ. ×òîáû a áûëî êâàäðàòè÷íûì âû÷åòîì ïî n, îíî äîëæíî áûòü êâàäðàòè÷íûì âû÷åòîì ïî ìîäóëþ âñåõ ïðîñòûõ ñîìíîæèòåëåé n. Íàïðèìåð, åñëè p = 7, êâàäðàòè÷íûìè âû÷åòàìè ÿâëÿþòñÿ ÷èñëà 1, 2, è 4: 12 = 1 ≡ 1 (mod 7) 22 = 4 ≡ 4 (mod 7) 32 = 9 ≡ 2 (mod 7) 42 = 16 ≡ 2 (mod 7) 52 = 25 ≡ 4 (mod 7) 62 = 36 ≡ 1 (mod 7) Çàìåòüòå, ÷òî êàæäûé êâàäðàòè÷íûé âû÷åò äâàæäû ïîÿâëÿåòñÿ â ýòîì ñïèñêå. Çíà÷åíèé x, óäîâëåòâîðÿþùèõ ëþáîìó èç ñëåäóþùèõ óðàâíåíèé, íå ñóùåñòâóåò: x2 ≡ 3 (mod 7) x2 ≡ 5 (mod 7) x2 ≡ 6 (mod 7) Ýòè ÷èñëà - 3, 5 è 6 - íå ÿâëÿþòñÿ êâàäðàòè÷íûìè âû÷åòàìè ïî ìîäóëþ 7. Õîòÿ ÿ ýòîãî è íå äåëàþ, íåñëîæíî äîêàçàòü, ÷òî êîãäà p íå÷åòíî, ñóùåñòâóåò â òî÷íîñòè ( p - 1)/2 êâàäðàòè÷íûõ âû÷åòîâ ïî ìîäóëþ p, è ñòîëüêî æå ÷èñåë, íå ÿâëÿþùèõñÿ êâàäðàòè÷íûìè âû÷åòàìè ïî ìîäóëþ p. Êðîìå òîãî, åñëè a - ýòî êâàäðàòè÷íûé âû÷åò ïî ìîäóëþ p, òî ó a â òî÷íîñòè äâà êâàäðàòíûõ êîðíÿ, îäèí ìåæäó 0 è (p-1)/2, à âòîðîé - ìåæäó (p - 1)/2 è (p - 1). Îäèí èç ýòèõ êâàäðàòíûõ êîðíåé îäíîâðåìåííî ÿâëÿåòñÿ êâàäðàòè ÷íûì îñòàòêîì ïî ìîäóëþ p, îí íàçûâàåòñÿ ãëàâíûì êâàäðàòíûì êîðíåì. Åñëè n ÿâëÿåòñÿ ïðîèçâåäåíèåì äâóõ ïðîñòûõ ÷èñåë, p è q, òî ñóùåñòâóåò ðîâíî (p - l)(q - 1)/4 êâàäðàòè÷íûõ âû÷åòîâ ïî ìîäóëþ n. Êâàäðàòè÷íûé âû÷åò ïî ìîäóëþ n ÿâëÿåòñÿ ñîâåðøåííûì êâàäðàòîì ïî ìîäóëþ n, ïîòîìó ÷òî äëÿ òîãî, ÷òîáû áûòü êâàäðàòîì ïî ìîäóëþ n, âû÷åò äîëæåí áûòü êâàäðàòîì ïî ìîäóëþ p è êâàäðàòîì ïî ìîäóëþ q. Íàïðèìåð, ñóùåñòâóåò îäèííàäöàòü êâàäðàòè÷íûõ îñòàòêîâ mod 35: 1, 4, 9, 11, 15, 16, 21, 25, 29 è 30. Ó êàæäîãî êâàäðàòè÷íîãî âû÷åòà ðîâíî ÷åòûðå êâàäðàòíûõ êîðíÿ. Ñèìâîë Ëåæàíäðà Ñèìâîë Ëåæàíäðà, L(a,p), îïðåäåëåí, åñëè a - ýòî ëþáîå öåëîå ÷èñëî, à p - ïðîñòîå ÷èñëî, áîëüøåå, ÷åì 2. Îí ðàâåí 0, 1 èëè -1. L(a,p) = 0, åñëè a äåëèòñÿ íà p. L(a,p) = 1, åñëè a - êâàäðàòè÷íûé âû÷åò ïî ìîäóëþ p. L(a,p) = -1, åñëè a íå ÿâëÿåòñÿ êâàäðàòè÷íûì âû÷åòîì ïî ìîäóëþ p. L(a,p) ìîæíî ðàññ÷èòàòü ñëåäóþùèì îáðàçîì: L(a,p) = a(p-1)/2 mod p Èëè ìîæíî âîñïîëüçîâàòüñÿ ñëåäóþùèì àëãîðèòìîì: 1. Åñëè a = 1, òî L(a,p) = 1 2. Åñëè a ÷åòíî, òî L(a,p) = L(a/2,p) * ( −1) ( ç
2
−1)/ 8
3. Åñëè a íå÷åòíî (è ≠ 1), òî L(a,p)= L(p mod a, p)*(-1)(a-1)(p-1)/4 Îáðàòèòå âíèìàíèå, ÷òî ýòîò ìåòîä òàêæå ÿâëÿåòñÿ ýôôåêòèâíûì ñïîñîáîì îïðåäåëèòü, ÿâëÿåòñÿ ëè a êâàäðàòè÷íûì âû÷åòîì ïî ìîäóëþ p (äëÿ ïðîñòîãî ÷èñëà p). Ñèìâîë ßêîáè Ñèìâîë ßêîáè, J(a,n), ïðåäñòàâëÿåò ñîáîé îáîáùåíèå ñèìâîëà Ëåæàíäðà íà ñîñòàâíûå ìîäóëè, îí îïðåäåë ÿåòñÿ äëÿ ëþáîãî öåëîãî a è ëþáîãî íå÷åòíîãî öåëîãî n. Ôóíêöèÿ óäîáíà ïðè ïðîâåðêå íà ïðîñòîòó. Ñèìâîë ßê îáè ÿâëÿåòñÿ ôóíêöèåé íà ìíîæåñòâå ïîëó÷åííûõ âû÷åòîâ äåëèòåëåé n è ìîæåò áûòü âû÷èñëåí ïî ðàçëè÷íûì ôîðìóëàì [1412]. Âîò îäèí èç ñï îñîáîâ: Îïðåäåëåíèå 1: J(a,n) îïðåäåëåí, òîëüêî åñëè n íå÷åòíî. Îïðåäåëåíèå 2: J(0,n) = 0.
Îïðåäåëåíèå 3: Åñëè n - ïðîñòîå ÷èñëî, òî ñèìâîë ßêîáè J( a,n) = 0, åñëè a äåëèòñÿ íà n. n.
Îïðåäåëåíèå 4: Åñëè n - ïðîñòîå ÷èñëî, òî ñèìâîë ßêîáè J( a,n) = 1, åñëè a - êâàäðàòè÷íûé âû÷åò ïî ìîäóëþ
Îïðåäåëåíèå 5: Åñëè n - ïðîñòîå ÷èñëî, òî ñèìâîë ßêîáè J( a,n) = -1, åñëè a íå ÿâëÿåòñÿ êâàäðàòè÷íûì âû÷ åòîì ïî ìîäóëþ n. Îïðåäåëåíèå 6: Åñëè n - ñîñòàâíîå ÷èñëî, òî ñèìâîë ßêîáè J( a,n) = J(a,p1)* ... * J(a,pm), ãäå p1, ... , pm - ýòî ðàçëîæåíèå n íà ïðîñòûå ñîìíîæèòåëè. Ñëåäóþùèé àëãîðèòì ðåêóðñèâíî ðàññ÷èòûâàåò ñèìâîë ßêîáè: Ïðàâèëî 1: J(1,n) = 1 Ïðàâèëî 2: J(a*b,n) = J(a,n)* J(b,n) Ïðàâèëî 3: J(2,n) =, åñëè (n2-1) /8 íå÷åòíî, è -1 â ïðîòèâíîì ñëó÷àå Ïðàâèëî 4: J(a,n)= J((a mod n),n) Ïðàâèëî 5: J(a, b1*b2) = J(a, b1)* J(a, b2) Ïðàâèëî 6: Åñëè íàèáîëüøèé îáùèé äåëèòåëü a è b = 1, à òàêæå a è b íå÷åòíû: Ïðàâèëî 6a: J(a,b)= J(b, a), åñëè (a - l)(b - 1)/4 ÷åòíî Ïðàâèëî 6b: J(a,b)= -J(b, a), åñëè (a - l)(b - 1)/4 íå÷åòíî Âîò àëãîðèòì íà ÿçûêå C: /* Ýòîò àëãîðèòì ðåêóðñèâíî âû÷èñëÿåò ñèìâîë ßêîáè */ int jacobi(int a, int b) { int g; assert(odd(b)); if (a >= b) a %= b; /* ïî ïðàâèëó 4 */ if (a == 0) return 0; /* ïî îïðåäåëåíèþ 1 */ if (a == 1) return 1; /* ïî ïðàâèëó 1 */ if (a < 0) if ((b-l)/2 % 2 == 0) return jacobi(-a,b); else return -jacobi(-a,b); if (a % 2 == 0) /* a ÷åòíî */ if (((b*b -1)/8) % 2 == 0) return +jacobi(a/2,b); else return -jacobi(a/2,b); /* ïî ïðàâèëàì 3 è 2 */ g = gcd(a,b); assert(odd(a)); /* ýòî îáåñïå÷èâàåòñÿ ïðîâåðêîé (a % 2 == 0) */ if (g == a) /* b äåëèòñÿ íà a */ return 0; /* ïî ïðàâèëó 5 */ else if (g != 1) return jacobi(g,b)*jacobi(a/g,b); /* ïî ïðàâèëó 2 */ else if (((a-l)*(b-l)/4) % 2 == 0) return +jacobi(b,a); /* ïî ïðàâèëó 6a */ else return -jacobi(b,a); /* ïî ïðàâèëó 6b */ }
Åñëè çàðàíåå èçâåñòíî, ÷òî n - ïðîñòîå ÷èñëî, âìåñòî èñïîëüçîâàíèÿ ïðåäûäóùåãî àëãîðèòìà ïðîñòî âû÷è ñëèòå a((n-1)/2) mod n, â ýòîì ñëó÷àå J(a,n) ýêâèâàëåíòåí ñèìâîëó Ëåæàíäðà. Ñèìâîë ßêîáè íåëüçÿ èñïîëüçîâàòü äëÿ îïðåäåëåíèÿ òîãî, ÿâëÿåòñÿ ëè a êâàäðàòè÷íûì âû÷åòîì ïî ìîäóëþ
n (åñëè, êîíå÷íî, n íå ÿâëÿåòñÿ ïðîñòûì ÷èñëîì). Îáðàòèòå âíèìàíèå, ÷òî åñëè J( a,n) = 1 è n - ñîñòàâíîå ÷èñëî, òî óòâåðæäåíèå, ÷òî a ÿâëÿåòñÿ êâàäðàòè÷íûì âû÷åòîì ïî ìîäóëþ n, íå îáÿçàòåëüíî áóäåò èñòèíîé. Íàïðèìåð: J(7,143) = J(7,11)* J(7,13) = (-1)(-1) = 1 Îäíàêî íå ñóùåñòâóåò òàêèõ öåëûõ ÷èñåë x, ÷òî x2 ≡ 7 (mod 143). Öåëûå ÷èñëà Áëþìà Åñëè p è q - äâà ïðîñòûõ ÷èñëà, êîíãðóýíòíûõ 3 ïî ìîäóëþ 4, òî n = pq èíîãäà íàçûâàþò öåëûì ÷èñëîì Áëþìà. Åñëè n - ýòî öåëîå ÷èñëî Áëþìà, ó êàæäîãî êâàäðàòè÷íîãî âû÷åòà ðîâíî ÷åòûðå êâàäðàòíûõ êîðíÿ, îäèí èç êîòîðûõ òàêæå ÿâëÿåòñÿ êâàäðàòîì - ýòî ãëàâíûé êâàäðàòíûé êîðåíü. Íàïðèìåð, ãëàâíûé êâàäðàòíûé êîðåíü 139 mod 437 - ýòî 24. Îñòàëüíûå òðè êîðíÿ - ýòî 185, 252 è 413. Ãåíåðàòîðû Åñëè p - ïðîñòîå ÷èñëî, è g ìåíüøå, ÷åì p, òî g íàçûâàåòñÿ ãåíåðàòîðîì ïî ìîäóëþ p, åñëè äëÿ êàæäîãî ÷èñëà b îò 1 äî p - 1 ñóùåñòâóåò íåêîòîðîå ÷èñëî a, ÷òî ga ≡ b (mod p). Èíûìè ñëîâàìè, g ÿâëÿåòñÿ ïðèìèòèâîì ïî îòíîøåíèþ ê p. Íàïðèìåð, åñëè p = 11, òî 2 - ýòî ãåíåðàòîð ïî ìîäóëþ 11: 210 = 1024 ≡ 1 (mod 11) 21 = 2 ≡ 2 (mod 11) 28 = 256 ≡ 3 (mod 11) 22 = 4 ≡ 4 (mod 11) 24 = 16 ≡ 5 (mod 11) 29 = 512 ≡ 6 (mod 11) 27 = 128 ≡ 7 (mod 11) 23 = 8 ≡ 8 (mod 11) 26 = 64 ≡ 9 (mod 11) 25 = 32 ≡ 10 (mod 11) Êàæäîå ÷èñëî îò 1 äî 10 ìîæåò áûòü ïðåäñòàâëåíî êàê 2 a (mod p). Äëÿ p = 11 ãåíåðàòîðàìè ÿâëÿþòñÿ 2, 6, 7 è 8. Äðóãèå ÷èñëà íå ÿâëÿþòñÿ ãåíåðàòîðàìè. Íàïðèìåð, ãåíåðàòîðîì íå ÿâëÿåòñÿ ÷èñëî 3, ïîòîìó ÷òî íå ñóù åñòâóåò ðåøåíèÿ äëÿ 3a ≡ 2 (mod 11)  îáùåì ñëó÷àå ïðîâåðèòü, ÿâëÿåòñÿ ëè äàííîå ÷èñëî ãåíåðàòîðîì, íåëåãêî. Îäíàêî çàäùà÷à óïðîùàåòñÿ, å ñëè èçâåñòíî ðàçëîæåíèå íà ìíîæèòåëè äëÿ p - 1. Ïóñòü q1, q2, ... , qn - ýòî ðàçëè÷íûå ïðîñòûå ìíîæèòåëè p - 1. ×òîáû ïðîâåðèòü, ÿâëÿåòñÿ ëè ÷èñëî g ãåíåðàòîðîì ïî ìîäóëþ p, âû÷èñëèòå g(p-1)/q mod p äëÿ âñåõ çíà÷åíèé q = q1, q2, ... , qn. Åñëè ýòî ÷èñëî ðàâíî 1 äëÿ íåêîòîðîãî q, òî g íå ÿâëÿåòñÿ ãåíåðàòîðîì. Åñëè äëÿ âñåõ çíà÷åíèé q ðàññ÷èòàííîå çíà÷åíèå íå ðàâíî 1, òî g - ýòî ãåíåðàòîð. Íàïðèìåð, ïóñòü p = 11. Ïðîñòûå ìíîæèòåëè p - 1 = 10 - ýòî 2 è 5. Äëÿ ïðîâåðêè òîãî, ÿâëÿåòñÿ ëè ÷èñëî 2 ãåíåðàòîðîì, âû÷èñëèì: 2(11-1)/5 (mod 11) = 4 2(11-1)/2 (mod 11) = 10 Íè îäèí èç îòâåòîâ íå ðàâåí 1, ïîýòîìó 2 - ýòî ãåíåðàòîð. Ïðîâåðèì, ÿâëÿåòñÿ ãåíåðàòîðîì ëè ÷èñëî 3: 3(11-1)/5 (mod 11) = 9 3(11-1)/2 (mod 11) = 1 Ñëåäîâàòåëüíî, 3 - ýòî íå ãåíåðàòîð.
Ïðè íåîáõîäèìîñòè îáíàðóæèòü ãåíåðàòîð ïî ìîäóëþ p ïðîñòî ñëó÷àéíî âûáèðàéòå ÷èñëî îò 1 äî p - 1 è ïðîâåðÿéòå, íå ÿâëÿåòñÿ ëè îíî ãåíåðàòîðîì. Ãåíåðàòîðîâ äîñòàòî÷íî, ïîýòîìó îäèí èç íèõ âû, ñêîðåå âñåãî, íàéäåòå áûñòðî. Âû÷èñëåíèå â ïîëå Ãàëóà Íå òðåâîæüòåñü, âñå ýòî ìû óæå äåëàëè. Åñëè n - ïðîñòîå ÷èñëî èëè ñòåïåíü áîëüøîãî ïðîñòîãî ÷èñëà, òî ìû ïîëó÷àåì òî, ÷òî ìàòåìàòèêè íàçûâàþò êîíå÷íûì ïîëåì.  ÷åñòü ýòîãî ìû èñïîëüçóåì p âìåñòî n.  äåéñòâèòåëüíîñòè ýòîò òèï êîíå÷íîãî ïîëÿ íàñòîëüêî çàìå÷àòåëåí, ÷òî ìàòåìàòèêè äàëè åìó ñîáñòâåííîå èìÿ - ïîëå Ãàëóà, îáîçíà÷àåìîå êàê GF(p). ( ÷åñòü Ýâàðèñòà Ãàëóà, ôðàíöóçñêîãî ìàòåìàòèêà, æèâøåãî â äåâÿòíàäöàòîì âåêå è óñïåâøåãî çíà÷èòåëüíî ïðîäâèíóòü òåîðèþ ÷èñåë, ïðåæäå ÷åì â 20 ëåò îí áûë óáèò íà äóýëè.)  ïîëå Ãàëóà îïðåäåëåíû ñëîæåíèå, âû÷èòàíèå, óìíîæåíèå è äåëåíèå íà íåíóëåâûå ýëåìåíòû. Ñóùåñòâóåò íåéòðàëüíûé ýëåìåíò äëÿ ñëîæåíèÿ - 0 - è äëÿ óìíîæåíèÿ - 1. Äëÿ êàæäîãî íåíóëåâîãî ÷èñëà ñóùåñòâóåò åäè íñòâåííîå îáðàòíîå ÷èñëî (ýòî íå áûëî áû òàê, åñëè áû p íå áûëî áû ïðîñòûì ÷èñëîì). Âûïîëíÿþòñÿ êîììóò àòèâíûé, àññîöèàòèâíûé è äèñòðèáóòèâíûé çàêîíû. Àðèôìåòèêà ïîëÿ Ãàëóà øèðîêî èñïîëüçóåòñÿ â êðèïòîãðàôèè.  íåì ðàáîòàåò âñÿ òåîðèÿ ÷èñåë, ïîëå ñ îäåðæèò ÷èñëà òîëüêî êîíå÷íîãî ðàçìåðà, ïðè äåëåíèè îòñóòñòâóþò îøèáêè îêðóãëåíèÿ. Ìíîãèå êðèïòîñèñòåìû îñíîâàíû íà GF(p), ãäå p - ýòî áîëüøîå ïðîñòîå ÷èñëî. ×òîáû åùå áîëåå óñëîæíèòü âîïðîñ, êðèïòîãðàôû òàêæå èñïîëüçóþò àðèôìåòèêó ïî ìîäóëþ íåïðèâîäèìûõ ìíîãî÷ëåíîâ ñòåïåíè n, êîýôôèöèåíòàìè êîòîðûõ ÿâëÿþòñÿ öåëûå ÷èñëà ïî ìîäóëþ q, ãäå q - ýòî ïðîñòîå ÷èñëî. Ýòè ïîëÿ íàçûâàþòñÿ GF(qn). Èñïîëüçóåòñÿ àðèôìåòèêà ïî ìîäóëþ p(x), ãäå p(x) - ýòî íåïðèâîäèìûé ìíîãî÷ëåí ñòåïåíè n. Ìàòåìàòè÷åñêàÿ òåîðèÿ, ñòîÿùàÿ çà ýòèì, âûõîäèò äàëåêî çà ðàìêè ýòîé êíèãè, õîòÿ ÿ è îïèøó ðÿä êðèïò îñèñòåì, èñïîëüçóþùèõ åå. Åñëè âû õîòèòå ïîïðîáîâàòü ñ íåïðèâîäèìûìè ìíîãî÷ëåíàìè, òî GF(2 3) âêëþ÷àåò ñëåäóþùèå ýëåìåíòû: 0, 1, x, x + 1, x2, x2 + 1, x2 + x, x2 + x + 1. Óäîáíûé äëÿ ïàðàëëåëüíîé ðåàëèçàöèè àëãîðèòì âû÷èñëåíèÿ îáðàòíûõ çíà÷åíèé â GF(2 n) ïðèâåäåí â [421]. Ïðè îáñóæäåíèè ïîëèíîìîâ òåðìèí "ïðîñòîå ÷èñëî" çàìåíÿåòñÿ òåðìèíîì " íåïðèâîäèìûé ìíîãî÷ëåí". Ï îëèíîì íàçûâàåòñÿ íåïðèâîäèìûì, åñëè åãî íåëüçÿ ïðåäñòàâèòü â âèäå äâóõ äðóãèõ ïîëèíîìîâ (êîíå÷íî æå, êðîìå 1 è ñàìîãî ïîëèíîìà). Ïîëèíîì x2 + 1 íåïðèâîäèì íàä öåëûìè ÷èñëàìè, à ïîëèíîì x3 + 2 x2 + x íå ÿâëÿåòñÿ íåïðèâîäèìûì, îí ìîæåò áûòü ïðåäñòàâëåí êàê x(x + l)(x + 1). Ïîëèíîì, êîòîðûé â äàííîì ïîëå ÿâëÿåòñÿ ãåíåðàòîðîì, íàçûâàåòñÿ ïðèìèòèâíûì èëè áàçîâûì, âñå åãî ê îýôôèöèåíòû âçàèìíî ïðîñòû. Ìû ñíîâà âåðíåìñÿ ê ïðèìèòèâíûì ïîëèíîìàì, êîãäà áóäåì ãîâîðèòü î ñäâèã îâûõ ðåãèñòðàõ ñ ëèíåéíîé îáðàòíîé ñâ ÿçüþ (ñì. ðàçäåë 16.2). Âû÷èñëåíèÿ â GF(2 n) ìîãóò áûòü áûñòðî ðåàëèçîâàíû àïïàðàòíî ñ ïîìîùüþ ñäâèãîâûõ ðåãèñòðîâ ñ ëèíå éíîé îáðàòíîé ñâÿçüþ. Ïî ýòîé ïðè÷èíå âû÷èñëåíèÿ íàä GF(2 n) ÷àñòî áûñòðåå, ÷åì âû÷èñëåíèÿ íàä GF( p). Òàê êàê âîçâåäåíèå â ñòåïåíü â GF(2 n) ãîðàçäî ýôôåêòèâíåå, òî ýôôåêòèâíåå è âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ [180, 181, 368, 379]. Äîïîëíèòåëüíóþ èíôîðìàöèþ îá ýòîì ìîæíî íàéòè â [140]. Äëÿ ïîëÿ Ãàëóà GF(2 n) êðèïòîãðàôû ëþáÿò èñïîëüçîâàòü â êà÷åñòâå ìîäóëåé òðåõ÷ëåíû p(x) = xn + x + 1, òàê êàê äëèííàÿ ñòðîêà íóëåé ìåæäó êîýôôèöèåíòàìè ïðè xn è x ïîçâîëÿåò ïðîñòî ðåàëèçîâàòü áûñòðîå óìíîæåíèå ïî ìîäóëþ [183]. Ïîëèíîì äîëæåí áûòü ïðèìèòèâíûì, â ïðîòèâíîì ñëó÷àå ìàòåìàòèêà íå áóäåò ðàáîòàòü. xn + x + 1 ïðèìèòèâåí äëÿ ñëåäóþùèõ çíà÷åíèé n, ìåíüøèõ ÷åì 1000 [1649, 1648]: 1, 3, 4, 6, 9, 15, 22, 28, 30, 46, 60, 63, 127, 153, 172, 303, 471, 532, 865, 900 Ñóùåñòâóþò àïïàðàòíûå ðåàëèçàöèè GF(2 127), ãäå p(x) = x127 + x + 1 [1631, 1632, 1129]. Ýôôåêòèâíàÿ àðõ èòåêòóðà àïïàðàòóðû âîçâåäåíèÿ â ñòåïåíü äëÿ GF(2 n) ðàññìàòðèâàåòñÿ â [147].
11.4 Ðàçëîæåíèå íà ìíîæèòåëè Ðàçëîæèòü ÷èñëî íà ìíîæèòåëè - çíà÷èò íàéòè åãî ïðîñòûå ñîìíîæèòåëè. 10 = 2*5 60 = 2*2*3*5 252601 = 41*61*101 2113- 1 =3391*23279*65993*1868569*1066818132868207 Ðàçëîæåíèå íà ìíîæèòåëè ÿâëÿåòñÿ îäíîé èç äðåâíåéøèõ ïðîáëåì òåîðèè ÷èñåë. Ýòîò ïðîöåññ íåñëîæåí, íî òðåáóåò âðåìåíè. Ýòî ïîêà îñòàåòñÿ òàê, íî ðÿä ñäâèãîâ â ýòîì èñêóññòâå âñå æå ïðîèçîøåë. Ñåãîäíÿ ñàìûì ëó÷øèì àëãîðèòìîì ÿâëÿåòñÿ:
Ðåøåòî ÷èñëîâîãî ïîëÿ ÷èñåë (Number field sieve, NFS) [953] (ñì. òàêæå [952, 16, 279]). Ðåøåòî îáùåãî ÷èñëîâîãî ïîëÿ - ýòî ñàìûé áûñòðûé èç èçâåñòíûõ àëãîðèòì äëÿ ÷èñåë ðàçìåðîì 110 è áîëåå ðàçðÿäîâ [472, 635].  ñâîåì ïåðâîíà÷àëüíîì âèäå îí áûë íåïðàêòè÷åí, íî çà ïîñëåäíèå íåñêîëüêî ëåò îí áûë ïîñëåäîâàòåëüíî óëó÷øåí [953]. NFS âñå åùå ñëèøêîì íîâ, ÷òîáû áèòü ðåêîðäû ðàçëîæåíèÿ íà ìíîæèòåëè, íî ñêîðî âñå ïåðåì åíèòñÿ. Ðàííÿÿ âåðñèÿ èñïîëüçîâàëàñü äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè äåâÿòîãî ÷èñëà Ôåðìà: 2512 + 1 [955,954]. Äðóãèå àëãîðèòìû, âûòåñíåííûå NFS: Êâàäðàòè÷íîå ðåøåòî (Quadratic sieve, QS) [1257, 1617, 1259]. Ýòî ñàìûé áûñòðûé èç èçâåñòíûõ è ÷àùå âñåãî èñïîëüçîâàâøèéñÿ àëãîðèòì äëÿ ÷èñåë, äëèíà êîòîðûõ ìåíüøå 110 äåñÿòè÷íûõ ðàçðÿäîâ [440]. Áîëåå á ûñòðàÿ âåðñèÿ ýòîãî àëãîðèòìà íàçûâàåòñÿ ìíîæåñòâåííûì ïîëèíîìèàëüíûì êâàäðàòè÷íûì ðåøåòîì [1453, 302]. Ñàìàÿ áûñòðàÿ âåðñèÿ íàçûâàåòñÿ äâîéíîé âàðèàöèåé ìíîæåñòâåííîãî ïîëèíîìèàëüíîãî êâàäðàòè÷íîãî ðåøåòà ñ áîëüøèì ïðîñòûì ÷èñëîì. Ìåòîä ýëëèïòè÷åñêîé êðèâîé (Elliptic curve method, ECM) [957, 1112, 1113]. Ýòîò ìåòîä èñïîëüçîâàëñÿ äëÿ ïîèñêà íå áîëåå, ÷åì 43-ðàçðÿäíûõ ìíîæèòåëåé. Àëãîðèòì Ìîíòå-Êàðëî Ïîëëàðäà (Pollard's Monte Carlo algorithm) [1254, 248]. (Ýòîò àëãîðèòì òàêæå ïðèâåäåí ó Êíóòà â òîìå 2 [863].) Àëãîðèòì íåïðåðûâíûõ äðîáåé (Continued fraction algorithm). Ñì. [1123, 1252, 863]. Ýòîò àëãîðèòì íå ïîäõîäèò ïî âðåìåíè âûïîëíåíèÿ. Ïðîâåðêà äåëåíèåì (Trial division). Ýòîò ñàìûé ñòàðûé àëãîðèòì ðàçëîæåíèÿ íà ìíîæèòåëè ñîñòîèò èç ïðîâåðêè êàæäîãî ïðîñòîãî ÷èñëà, ìåíüøåãî èëè ðàâíîãî êâà äðàòíîìó êîðíþ èç ðàñêëàäûâàåìîãî ÷èñëà.  êà÷åñòâå õîðîøåãî ââåäåíèÿ â ðàçëè÷íûå àëãîðèòìû ðàçëîæåíèÿ íà ìíîæèòåëè, êðîìå NFS, ìîæíî è ñïîëüçîâàòü [251]. NFS ëó÷øå âñåãî ðàññìîòðåí â [953]. Áîëåå ñòàðûìè ðïàáîòàìè ÿâëÿþòñÿ [505, 1602, 1258]. Ñâåäåíèÿ î ïàðàëëåëüíîì ðàçëîæåíèè íà ìíîæèòåëè ìîæíî íàéòè â [250]. Åñëè ÷èñëî n íà ìíîæèòåëè ðàñêëàäûâàåòñÿ, òî ýâðèñòè÷åñêîå âðåìÿ âûïîëíåíèÿ ñàìûõ áûñòðûõ âàðèàíòîâ QS àñèìïòîòè÷åñêè ðàâíî:
e (1+O (1))(ln( n ))
1 1 2 (ln((ln( n ))) 2
NFS íàìíîãî áûñòðåå, îöåíêà åãî ýâðèñòè÷åñêîãî âðåìåíè âûïîëíåíèÿ:
e (1.923+ O (1))(ln( n ))
1 2 3 (ln((ln( n ))) 3
 1970 ãîäó áîëüøîé íîâîñòüþ ñòàëî ðàçëîæåíèå íà ìíîæèòåëè 41-ðàçðÿäíîãî òðóäíîãî ÷èñëà [1123]. ("Òðóäíûì" ÿâëÿåòñÿ òàêîå ÷èñëî, ó êîòîðîãî íåò ìàëåíüêèõ ìíîæèòåëåé, è êîòîðîå íå îáëàäàåò ñïåöèàëüíîé ôîðìîé, ïîçâîëÿþùåé óïðîñòèòü ïðîöåññ.) Äåñÿòü ëåò ñïóñòÿ ðàçëîæåíèå â äâà ðàç áîëåå äëèííîãî ÷èñëà çàíÿëî ëèøü íåñêîëüêî ÷àñîâ íà êîìïüþòåðå Cray [440].  1988 ãîäó Êàðë Ïîìåðàíñ (Carl Pomerance), èñïîëüçóÿ îáû÷íûå ÑÁÈÑ, ñïðîåêòèðîâàë óñòðîéñòâî äëÿ ðà çëîæåíèÿ íà ìíîæèòåëè [1259]. Ðàçìåð ÷èñëà, êîòîðîå ìîæíî áûëî ðàçëîæèòü, çàâèñåë òîëüêî îò ðàçìåðîâ óñ òðîéñòâà, êîòîðîå òàê è íå áûëî ïîñòðîåíî.  1993 ãîäó ñ ïîìîùüþ êâàäðàòè÷íîãî ðåøåòà áûëî ðàçëîæåíî íà ìíîæèòåëè 120-ðàçðÿäíîå òðóäíîå ÷èñëî. Ðàñ÷åò, ïîòðåáîâàâøèé 825 mips-ëåò, áûë âûïîëíåí çà òðè ìåñÿöà ðåàëüíîãî âðåìåíè [463]. Äðóãèå ðåçóëüòàòû ïðèâåäåíû â [504]. Ñåãîäíÿ äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè èñïîëüçóþòñÿ êîìïüþòåðíûå ñåòè [302, 955]. Äëÿ ðàçëîæåíèÿ 116_ðàçðÿäíîãî ÷èñëà Àðæàò Ëåíñòðà (Arjen Lenstra) è Ìàðê Ìàíàññ (Mark Manasse) â òå÷åíèå íåñêîëüêèõ ì åñÿöåâ èñïîëüçîâàëè ñâîáîäíîå âðåìÿ ìàññèâà êîìïüþòåðîâ, ðàçáðîñàííûõ ïî âñåìó ìèðó, - 400 mips-ëåò.  ìàðòå 1994 ãîäà ñ ïîìîùüþ äâîéíîé âàðèàöèè ìíîæåñòâåííîãî ïîëèíîìèàëüíîãî QS [66] êîìàíäîé ì àòåìàòèêîâ ïîä ðóêîâîäñòâîì Ëåíñòðû áûëî ðàçëîæåíî íà ìíîæèòåëè 129-ðàçðÿäíîå (428-áèòîâîå) ÷èñëî.  û÷èñëåíèÿ âûïîëíÿëèñü äîáðîâîëüöàìè â Internet - â òå÷åíèå âîñüìè ìåñÿöåâ òðóäèëèñü 600 ÷åëîâåê è 1600 êî ìïüþòåðîâ, âîçìîæíî, ñàìûé áîëüøîé â èñòîðèè ìíîãîïðîöåññîðíûé êîíãëîìåðàò. Òðóäîåìêîñòü âû÷èñëåíèé áûëà â äèàïàçîíå îò 4000 äî 6000 mips-ëåò. Êîìïüþòåðû ñîåäèíÿëèñü ïî ýëåêòðîííîé ïî÷òå, ïåðåäàâàÿ ñâîè ðåçóëüòàòû â öåíòðàëüíîå õðàíèëèùå, ãäå âûïîëíÿëñÿ îêîí÷àòåëüíûé àíàëèç.  ýòèõ âû÷èñëåíèÿõ èñïîëüçîâ àëèñü QS è òåîðèÿ ïÿòèëåòíåé äàâíîñòè, NFS ìîã áû óñêîðèòü âûïîëíåíèå ðàñ÷åòîâ ðàç â äåñÿòü [949].  ñîî òâåòñòâèè ñ [66]: "Ìû äåëàåì âûâîä, ÷òî øèðîêî èñïîëüçóåìûå 512-áèòîâûå ìîäóëè RSA ìîãóò áûòü âñêðûòû îðãàíèçàöèåé, ãîòîâîé ïîòðàòèòü íåñêîëüêî ìèëëèîíîâ äîëëàðîâ è ïîäîæäàòü íåñêîëüêî ìåñÿöåâ." Ïî îöåíêàì àâòîðîâ ðàçëîæåíèå 512-áèòîâîãî ÷èñëà â 100 ðàç áîëåå òðóäîåìêî ïðè èñïîëüçîâàíèè òîé æå òåõíèêè è òîëüêî â 10 ñëîæíåå ïðè èñïîëüçîâàíèè NFS è ñîâðåìåííîé òåõíèêè [949]. Ñ öåëüþ ðàçâèòèÿ èñêóññòâà ðàçëîæåíèÿ íà ìíîæèòåëè RSA Data Security, Inc. â ìàðòå 1991 ãîäà îáúÿâèëî î
ïðîãðàììå RSA Factoring Challenge (ñîñòÿçàíèå RSA ïî ðàçëîæåíèþ íà ìíîæèòåëè) [532]. Ñîñòÿçàíèå ñîñòîèò â ðàçëîæåíèè íà ìíîæèòåëè ðÿäà òðóäíûõ ÷èñåë, êàæäîå èç êîòîðûõ ÿâëÿåòñÿ ïðîèçâåäåíèåì äâóõ ïðîñòûõ ÷èñåë ïðèìåðíî îäèíàêîâîãî ðàçìåðà. Êàæäîå ïðîñòîå ÷èñëî áûëî âûáðàíî êîíãðóýíòíûì 2 ïî ìîäóëþ 3. Âñåãî áûëî ïðåäëîæåíî 42 ÷èñëà, ïî îäíîìó ÷èñëó â äèàïàçîíå îò 100 äî 500 ðàçðÿäîâ ñ øàãîì 10 ðàçðÿäîâ (ïëþñ îäíî ä îïîëíèòåëüíîå, 129-ðàçðÿäíîå ÷èñëî). Ê ìîìåíòó íàïèñàíèÿ ýòîé êíèãè RSA-100, RSA-110, RSA-120, è RSA-129 áûëè ðàçëîæåíû íà ìíîæèòåëè, âñå ñ ïîìîùüþ QS. Ñëåäóþùèì (ñ ïîìîùüþ NFS) ìîæåò áûòü RSA-130, èëè ÷åìïèîíû ïî ðàçëîæåíèþ íà ìíîæèòåëè ñðàçó âîçüìóòñÿ çà RSA -140. Äàííàÿ îáëàñòü ðàçâèâàåòñÿ áûñòðî. Òåõíèêó ðàçëîæåíèÿ íà ìíîæèòåëè òðóäíî ýêñòðàïîëèðîâàòü, òàê êàê íåâîçìîæíî ïðåäñêàçàòü ðàçâèòèå ìàòåìàòè÷åñêîé òåîðèè. Äî îòêðûòèÿ NFS ìíîãèå ñ÷èòàëè, ÷òî ëþáîé ìåòîä ðàçëîæåíèÿ íà ìíîæèòåëè íå ìîæåò àñèìïòîòè÷åñêè áûòü áûñòðåå QS. Îíè áûëè íåïðàâû. Ïðåäñòîÿùåå ðàçâèòèå NFS, ïî âèäèìîìó, áóäåò ïðîèñõîäèòü â ôîðìå óìåíüøåíèÿ êîíñòàíòû: 1.923. Äëÿ ðÿäà ÷èñåë ñïåöèàëüíîé ôîðìû, òàêèõ êàê ÷èñëà Ôåðìà, êîíñòàíòà ïðèáëèæàåòñÿ ê 1.5 [955, 954]. Åñëè áû äëÿ òðóäíûõ ÷èñåë, èñïîëüçóåìûõ â ñåãîäíÿøíåé êðèïòîãðàôèè, êîíñòàíòó òîæå ìîæíî áûëî ñíèçèòü äî ýòîãî óðîâíÿ, òî 1024-áèòîâûå ÷èñëà ðàñêëàäûâàëèñü áû íà ìíîæèòåëè óæå ñåãîäíÿ. Îäíèì èç ñïîñîáîâ óìåíüøèòü êîíñòàíòó ÿâëÿåòñÿ îáíàðóæåíèå ëó÷øèõ ñïîñîáîâ ïðåäñòàâëåíèÿ ÷èñåë êàê ïîëèíîìîâ ñ ìàëåíüêèìè êîýôô èöèåíòàìè. Ïîêà åùå ïðîáëåìà íå èçó÷àëàñü äîñòàòî÷íî ýôôåêòèâíî, íî âîçìîæíî ðåøàþùèé óñïåõ óæå áëèçîê [949]. Ïîñëåäíèå ðåçóëüòàòû ïðîãðàììû RSA Factoring Challenge ìîæíî óçíàòü, îòïðàâèâ çàïðîñ ïî ýëåêòðîííîé ïî÷òå ïî àäðåñó
[email protected]. Êâàäðàòíûå êîðíè ïî ìîäóëþ n Åñëè n - ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë, òî âîçìîæíîñòü âû÷èñëèòü êâàäðàòíûå êîðíè ïî ìîäóëþ n âû÷èñëèòåëüíî ýêâèâàëåíòíà âîçìîæíîñòè ðàçëîæèòü ÷èñëî n íà ìíîæèòåëè [1283, 35, 36, 193]. Äðóãèìè ñëîâàìè, òîò, êòî çíàåò ïðîñòûå ìíîæèòåëè ÷èñëà n, ìîæåò ëåãêî âû÷èñëèòü êâàäðàòíûå êîðíè ëþáîãî ÷èñëà ïî ìîäóëþ n, íî äëÿ ëþáîãî äðóãîãî âû÷èñëåíèå îêàæåòñÿ òàêèì æå òðóäíûì, êàê è ðàçëîæåíèå íà ïðîñòûå ìíîæèòåëè ÷èñëà n.
11.5 Ãåíåðàöèÿ ïðîñòîãî ÷èñëà Äëÿ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè íóæíû ïðîñòûå ÷èñëà. Èõ íóæíî ìíîæåñòâî äëÿ ëþáîé äîñòàòî÷íî áîëüøîé ñåòè. Ïðåæäå, ÷åì îáñóæäàòü ìàòåìàòèêó ãåíåðàöèè ïðîñòîãî ÷èñëà, ÿ îòâå÷ó íà íåñêîëüêî î÷åâèäíûõ âîïðîñîâ. Åñëè êàæäîìó ïîíàäîáèòñÿ ñâîå ïðîñòîå ÷èñëî, íå èññÿêíåò ëè ó íàñ çàïàñ? Íåò.  äåéñòâèòåëüíîñòè ñóùåñ òâóåò ïðèáëèçèòåëüíî 10151 ïðîñòûõ ÷èñåë äëèíî1 äî 512 áèò âêëþ÷èòåëüíî. Äëÿ ÷èñåë, áëèçêèõ n, âåðîÿòíîñòü òîãî, ÷òî ñëó÷àéíî âûáðàííîå ÷èñëî îêàæåòñÿ ïðîñòûì, ðàâíà 1/ln n. Ïîýòîìó ïîëíîå ÷èñëî ïðîñòûõ ÷èñåë, ìåíüøèõ n, ðàâíî n/(ln n). Âî âñåëåííîé âñåãî 10 77 àòîìîâ. Åñëè áû äëÿ êàæäîãî àòîìà âî âñåëåííîé ñ íà÷àëà âðåìåí êàæäóþ ìèêðîñåêóíäó òðåáîâàëñÿ áû ìèëëèàðä ïðîñòûõ ÷èñåë, ïîíàäîáèëîñü áû òîëüêî 10 109 ïðîñòûõ ÷èñåë, îñòàëîñü áû åùå ïðèìåðíî 10 151 ïðîñòûõ ÷èñåë. ×òî åñëè äâà ÷åëîâåêà ñëó÷àéíî âûáåðóò îäíî è òî æå ïðîñòîå ÷èñëî? Ýòîãî íå ñëó÷èòñÿ. Ïðè âûáîðå èç 10151 ïðîñòûõ ÷èñåë âåðîÿòíîñòü ñîâïàäåíèÿ âûáîðà çíà÷èòåëüíî ìåíüøå, ÷åì âåðîÿòíîñòü, ÷òî âàø êîìïü þòåð ñëó÷àéíî âñïûõíåò â òîò ñàìûé ìîìåíò, êîãäà âû âûèãðàåòå â ëîòåðåþ. Åñëè êòî-òî ñîçäàñò áàçó äàííûõ âñåõ ïðîñòûõ ÷èñåë, íå ñìîæåò ëè îí èñïîëüçîâàòü ýòó áàçó äàííûõ äëÿ âñêðûòèÿ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè? Íåò. Åñëè áû âû õðàíèëè îäèí ãèãàáàéò èíôîðìàöèè íà óñòðî éñòâå, âåñÿùåì îäèí ãðàìì, òî ïåðå÷åíü ïðîñòûõ ÷èñåë ðàçìåðîì äî 512 áèò âêëþ÷èòåëüíî âåñèë áû ñòîëüêî, ÷òî ìàññà õðàíèëèùà ïðåâûñèëà áû ïðåäåë ×àíäðàñåêàðà, è îíî ñêîëëàïñèðîâàëî áû â ÷åðíóþ äûðó ... â ëþáîì ñëó÷àå âû íå ñìîæåòå èçâëå÷ü äàííûå. Íî åñëè òàê òðóäîåìêî ðàçëîæåíèå íà ìíîæèòåëè, êàê ìîæåò áûòü ïðîñòîé ãåíåðàöèÿ ïðîñòûõ ÷èñåë? Ôîêóñ â òîì, ÷òî îòâåòèòü "äà" èëè "íåò" íà âîïðîñ "ßâëÿåòñÿ ëè ÷èñëî n ïðîñòûì?" ãîðàçäî ïðîùå, ÷åì îòâåòèòü íà áîëåå ñëîæíûé âîïðîñ "Êàêîâû ìíîæèòåëè n?" Ãåíåðàöèÿ ñëó÷àéíûõ ÷èñåë ñ ïîñëåäóþùåé ïîïûòêîé ðàçëîæåíèÿ èõ íà ìíîæèòåëè - ýòî íåïðàâèëüíûé ñï îñîá ïîèñêà ïðîñòûõ ÷èñåë. Ñóùåñòâóþò ðàçëè÷íûå âåðîÿòíîñòíûå ïðîâåðêè íà ïðîñòîòó ÷èñåë, îïðåäåëÿþùèå, ÿâëÿåòñÿ ëè ÷èñëî ïðîñòûì, ñ çàäàííîé ñòåïåíüþ äîñòîâåðíîñòè. Ïðè óñëîâèè, ÷òî ýòà "ñòåïåíü äîñòîâåðíîñòè" äîñòàòî÷íà âåëèêà, òàêèå ñïîñîáû ïðîâåðêè äîñòàòî÷íî õîðîøè. ß ñëûøàë, ÷òî ïðîñòûå ÷èñëà, ãåíåðèðîâàííûå òàêèì îáðàçîì íàçûâàþòñÿ "ïðîìûøëåííî ïðîñòûìè ÷èñëàìè": ýòè ÷èñëà âåðîÿòíî ÿâëÿþòñÿ ïðîñòûìè ñ êî íòðîëèðóåìîé âîçìîæíîñòüþ îøèáêè. Ïðåäïîëîæèì, ÷òî îäíà ïðîâåðêà èç 2 50 - îøèáî÷íà. Ýòî îçíà÷àåò, ÷òî ñ âåðîÿòíîñòüþ 1/10 15 ïðîâåðêà îáúÿâèò ïðîñòûì ñîñòàâíîå ÷èñëî. (Ïðîñòîå ÷èñëî íèêîãäà íå áóäåò îáúÿâëåíî ñîñòàâíûì ïðè ïðîâåðêå.) Åñëè ïî
êàêîé-òî ïðè÷èíå ïîíàäîáèòñÿ áîëüøàÿ äîñòîâåðíîñòü ïðîñòîòû ÷èñëà, óðîâåíü îøèáêè ìîæíî ïîíèçèòü. Ñ äðóãîé ñòîðîíû, åñëè âû óñòàíîâèòå âåðîÿòíîñòü òîãî, ÷òî ÷èñëî ÿâëÿåòñÿ ñîñòàâíûì, â 300 ìèëëèîíîâ ðàç ìåíüøåé, ÷åì âåðîÿòíîñòü âûèãðàòü ãëàâíûé ïðèç â ãîñóäàðñòâåííîé ëîòåðåå, âû ìîæåòå áîëüøå îá ýòîì íå âîëíîâàòüñÿ. Îáçîðû íåäàâíèõ èññëåäîâàíèé â ýòîé îáëàñòè ìîæíî íàéòè â [1256, 206]. Äðóãèìè âàæíûìè ðàáîòàìè ÿ âëÿþòñÿ [1490, 384, 11, 19, 626, 651, 911]. Solovay-Strassen Ðîáåðò Ñîëîâýé (Robert Solovay) è Ôîëüêåð Øòðàññåí (Volker Strassen) ðàçðàáîòàëè àëãîðèòì âåðîÿòíîñòíîé ïðîâåðêè ïðîñòîòû ÷èñëà [1490]. Äëÿ ïðîâåðêè ïðîñòîòû ÷èñëà p ýòîò àëãîðèòì èñïîëüçóåò ñèìâîë ßêîáè: (1) Âûáåðèòå ñëó÷àéíî ÷èñëî a, ìåíüøåå p. (2) Åñëè ÍÎÄ(a,p) (1, òî p íå ïðîõîäèò ïðîâåðêó è ÿâëÿåòñÿ ñîñòàâíûì. (3) Âû÷èñëèòå j = a(p-1)/2 mod p. (4) Âû÷èñëèòå ñèìâîë ßêîáè J(a,p). (5) Åñëè j ≠ J(a,p), òî ÷èñëî p íàâåðíÿêà íå ÿâëÿåòñÿ ïðîñòûì. (6) Åñëè j = J(a,p), òî âåðîÿòíîñòü òîãî, ÷òî ÷èñëî p íå ÿâëÿåòñÿ ïðîñòûì, íå áîëüøå 50 ïðîöåíòîâ. ×èñëî a, êîòîðîå íå ïîêàçûâàåò, ÷òî p íàâåðíÿêà íå ÿâëÿåòñÿ ïðîñòûì ÷èñëîì, íàçûâàåòñÿ ñâèäåòåëåì. Åñëè p - ñîñòàâíîå ÷èñëî, âåðîÿòíîñòü ñëó÷àéíîãî ÷èñëà a áûòü ñâèäåòåëåì íå íèæå 50 ïðîöåíòîâ. Ïîâòîðèòå ýòó ïðîâåðêó t ðàç ñ t ðàçëè÷íûìè çíà÷åíèÿìè a. Âåðîÿòíîñòü òîãî, ÷òî ñîñòàâíîå ÷èñëî ïðåîäîëååò âñå t ïðîâåðîê, íå ïðåâûøàåò 1/2 t. Lehmann Äðóãîé, áîëåå ïðîñòîé òåñò áûë íåçàâèñèìî ðàçðàáîòàí Ëåìàííîì (Lehmann) [903]. Âîò ïîñëåäîâàòåëüíîñòü äåéñòâèé ïðè ïðîâåðêå ïðîñòîòû ÷èñëà p: (1) Âûáåðèòå ñëó÷àéíî ÷èñëî a, ìåíüøåå p. (2) Âû÷èñëèòå a(p-1)/2 mod p. (3) Åñëè a(p-1)/2 ≠ 1 èëè -1 (mod p), òî p íå ÿâëÿåòñÿ ïðîñòûì. (4) Åñëè a(p-1)/2 ≡ 1 èëè -1 (mod p), òî âåðîÿòíîñòü òîãî, ÷òî ÷èñëî p íå ÿâëÿåòñÿ ïðîñòûì, íå áîëüøå 50 ïð îöåíòîâ. È ñíîâà, âåðîÿòíîñòü òîãî, ÷òî ñëó÷àéíîå ÷èñëî a áóäåò ñâèäåòåëåì ñîñòàâíîé ïðèðîäû ÷èñëà p, íå ìåíüøå 50 ïðîöåíòîâ. Ïîâòîðèòå ýòó ïðîâåðêó t ðàç. Åñëè ðåçóëüòàò âû÷èñëåíèé ðàâåí 1 èëè -1, íî íå âñåãäà ðàâåí 1, òî p ÿâëÿåòñÿ ïðîñòûì ÷èñëîì ñ âåðîÿòíîñòüþ îøèáêè 1/ 2t. Rabin-Miller Ïîâñåìåñòíî èñïîëüçóåìûì ÿâëÿåòñÿ ïðîñòîé àëãîðèòì, ðàçðàáîòàííûé Ìàéêëîì Ðàáèíîì (Michael Rabin), ÷àñòè÷íî îñíîâàííûì íà èäåÿõ Ãýðè Ìèëëåðà [1093, 1284]. Ïî ñóòè, ýòî óïðîùåííàÿ âåðñèÿ àëãîðèòìà, ðåê îìåíäîâàííîãî â ïðåäëîæåíèè DSS proposal [1149, 1154]. Âûáåðèòå äëÿ ïðîâåðêè ñëó÷àéíîå ÷èñëî p. Âû÷èñëèòå b - ÷èñëî äåëåíèé p - 1 íà 2 (ò.å., 2 b - ýòî íàèáîëüøàÿ ñòåïåíü ÷èñëà 2, íà êîòîðîå äåëèòñÿ p - 1). Çàòåì âû÷èñëèòå m, òàêîå ÷òî p = 1 + 2b * m. (1) Âûáåðèòå ñëó÷àéíîå ÷èñëî a, ìåíüøåå p. (2) Óñòàíîâèòå j = 0 è z = am mod p. (3) Åñëè z = 1 èëè åñëè z = p - 1, òî p ïðîõîäèò ïðîâåðêó è ìîæåò áûòü ïðîñòûì ÷èñëîì. (4) Åñëè j > 0 è z = 1, òî p íå ÿâëÿåòñÿ ïðîñòûì ÷èñëîì. (5) Óñòàíîâèòå j = j + 1. Åñëè j < b è z( p - 1, óñòàíîâèòå z = z2 mod p è âåðíèòåñü íà ýòàï (4). Åñëè z = p - 1, òî p ïðîõîäèò ïðîâåðêó è ìîæåò áûòü ïðîñòûì ÷èñëîì. (6) Åñëè j = b è z ≠ p - 1, òî p íå ÿâëÿåòñÿ ïðîñòûì ÷èñëîì.  ýòîì òåñòå âåðîÿòíîñòü ïðîõîæäåíèÿ ïðîâåðêè ñîñòàâíûì ÷èñëîì óáûâàåò áûñòðåå, ÷åì â ïðåäûäóùèõ. Ãàðàíòèðóåòñÿ, ÷òî òðè ÷åòâåðòè âîçìîæíûõ çíà÷åíèé a îêàæóòñÿ ñâèäåòåëÿìè. Ýòî îçíà÷àåò, ÷òî ñîñòàâíîå ÷èñëî ïðîñêîëüçíåò ÷åðåç t ïðîâåðîê ñ âåðîÿòíîñòüþ íå áîëüøåé (1/4) t, ãäå t - ýòî ÷èñëî èòåðàöèé. Íà ñàìîì äåëå è ýòè îöåíêè ñëèøêîì ïåññèìèñòè÷íû. Äëÿ áîëüøèíñòâà ñëó÷àéíûõ ÷èñåë îêîëî 99.9 ïðîöåíòîâ âîçìî æ-
íûõ çíà÷åíèé a ÿâëÿþòñÿ ñâèäåòåëÿìè [96]. Ñóùåñòâóþò áîëåå òî÷íûå îöåíêè [417]. Äëÿ n-áèòîâîãî êàíäèäàòà â ïðîñòûå ÷èñëà (ãäå n áîëüøå 100), âå(k )
1 2
ðîÿòíîñòü îøèáêè â îäíîì òåñòå ìåíüøå, ÷åì 4n2 2 . È äëÿ 256-áèòîâîãî n âåðîÿòíîñòü îøèáêè â øåñòè òåñòàõ ìåíüøå, ÷åì 1/2 51. Äîïîëíèòåëüíóþ òåîðèþ ìîæíî íàéòè â [418]. Ïðàêòè÷åñêèå ñîîáðàæåíèÿ  ðåàëüíûõ ïðèëîæåíèÿõ ãåíåðàöèÿ ïðîñòûõ ÷èñåë ïðîèñõîäèò áûñòðî. (1) Ñãåíåðèðóéòå ñëó÷àéíîå n-áèòîâîå ÷èñëî p. (2) Óñòàíîâèòå ñòàðøèé è ìëàäøèé áèòû ðàâíûìè 1. (Ñòàðøèé áèò ãàðàíòèðóåò òðåáóåìóþ äëèíó ïðîñòîãî ÷èñëà, à ìëàäøèé áèò îáåñïå÷èâàåò åãî íå÷åòíîñòü.) (3) Óáåäèòåñü, ÷òî p íå äåëèòñÿ íà íåáîëüøèå ïðîñòûå ÷èñëà: 3, 5, 7, 11, è ò.ä. Âî ìíîãèõ ðåàëèçàöèÿõ ïðîâ åðÿåòñÿ äåëèìîñòü p íà âñå ïðîñòûå ÷èñëà, ìåíüøèå 256. Íàèáîëåå ýôôåêòèâíîé ÿâëÿåòñÿ ïðîâåðêà íà ä åëèìîñòü äëÿ âñåõ ïðîñòûõ ÷èñåë, ìåíüøèõ 2000 [949]. Ýòî ìîæåò áûòü ýôôåêòèâíî âûïîëíåíî ñ ïîìîùüþ êîëåñà [863]. (4) Âûïîëíèòå òåñò Rabin-Miller äëÿ íåêîòîðîãî ñëó÷àéíîãî a. Åñëè p ïðîõîäèò òåñò, ñãåíåðèðóéòå äðóãîå ñëó÷àéíîå a è ïîâòîðèòå ïðîâåðêó. Âûáèðàéòå íåáîëüøèå çíà÷åíèÿ a äëÿ óñêîðåíèÿ âû÷èñëåíèé. Âûïî ëíèòå ïÿòü òåñòîâ [651]. (Îäíîãî ìîæåò ïîêàçàòüñÿ äîñòàòî÷íûì, íî âûïîëíèòå ïÿòü.) Åñëè p íå ïðîõîäèò îäíîé èç ïðîâåðîê, ñãåíåðèðóéòå äðóãîå p è ïîïðîáóéòå ñíîâà. Èíà÷å, ìîæíî íå ãåíåðèðîâàòü p ñëó÷àéíûì îáðàçîì êàæäûé ðàç, íî ïîñëåäîâàòåëüíî ïåðåáèðàòü ÷èñëà, í à÷èíàÿ ñî ñëó÷àéíî âûáðàííîãî äî òåõ ïîð, ïîêà íå á óäåò íàéäåíî ïðîñòîå ÷èñëî. Ýòàï (3) íå ÿâëÿåòñÿ îáÿçàòåëüíûì, íî ýòî õîðîøàÿ èäåÿ. Ïðîâåðêà, ÷òî ñëó÷àéíîå íå÷åòíîå p íå äåëèòñÿ íà 3, 5 è 7 îòñåêàåò 54 ïðîöåíòà íå÷åòíûõ ÷èñåë åùå äî ýòàïà (4). Ïðîâåðêà äåëèìîñòè íà âñå ïðîñòûå ÷èñëà, ìåíüøèå 100, óáèðàåò 76 ïðîöåíòîâ íå÷åòíûõ ÷èñåë, ïðîâåðêà äåëèìîñòè íà âñå ïðîñòûå ÷èñëà, ìåíüøèå 256, óáèðàåò 80 ïðîöåíòîâ íå÷åòíûõ ÷èñåë.  îáùåì ñëó÷àå, äîëÿ íå÷åòíûõ êàíäèäàòîâ, êîòîðûå íå äåëÿòñÿ íè íà îäíî ïðîñòîå ÷èñëî, ìåíüøåå n, ðàâíà 1.12/ln n. ×åì áîëüøå ïðîâåðÿåìîå n, òåì áîëüøå ïðåäâàðèòåëüíûõ â û÷èñëåíèé íóæíî âûïîëíèòü äî òåñòà Rabin-Miller. Îäíà èç ðåàëèçàöèé ýòîãî ìåòîäà íà Sparc II ñïîñîáíà íàõîäèòü 256-áèòîâûå ïðîñòûå ÷èñëà â ñðåäíåì çà 2.8 ñåêóíäû, 512-áèòîâûå ïðîñòûå ÷èñëà - â ñðåäíåì çà 24.0 ñåêóíäû, 768-áèòîâûå ïðîñòûå ÷èñëà - â ñðåäíåì çà 2.0 ìèíóòû, à 1024-áèòîâûå ïðîñòûå ÷èñëà - â ñðåäíåì çà 5.1 ìèíóòû [918]. Ñèëüíûå ïðîñòûå ÷èñëà Åñëè n - ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë, p è q, òî ìîæåò ïîíàäîáèòüñÿ èñïîëüçîâàòü â êà÷åñòâå p è q ñèëüíûå ïðîñòûå ÷èñëà. Òàêèå ïðîñòûå ÷èñëà îáëàäàþò ðÿäîì ñâîéñòâ, êîòîðûå óñëîæíÿþò ðàçëîæåíèå ïð îèçâåäåíèÿ n îïðåäåëåííûìè ìåòîäàìè ðàçëîæåíèÿ íà ìíîæèòåëè. Ñðåäè òàêèõ ñâîéñòâ áûëè ïðåäëîæåíû [1328, 651]: Íàèáîëüøèé îáùèé äåëèòåëü p - 1 è q - 1 äîëæåí áûòü íåáîëüøèì. È p - 1, è q - 1 äîëæíû èìåòü ñðåäè ñâîèõ ìíîæèòåëåé áîëüøèå ïðîñòûå ÷èñëà, ñîîòâåòñòâåííî p' è q'. È p' - 1, è q' - 1 äîëæíû èìåòü ñðåäè ñâîèõ ìíîæèòåëåé áîëüøèå ïðîñòûå ÷èñëà. È p + 1, è q + 1 äîëæíû èìåòü ñðåäè ñâîèõ ìíîæèòåëåé áîëüøèå ïðîñòûå ÷èñëà. È (p - 1)/2, è (q - 1)/2 äîëæíû áûòü ïðîñòûìè [182). (Îáðàòèòå âíèìàíèå, ïðè âûïîëíåíèè ýòîãî óñëîâèÿ â ûïîëíÿþòñÿ è äâà ïåðâûõ.) Íàñêîëüêî ñóùåñòâåííî ïðèìåíåíèå èìåííî ñèëüíûõ ïðîñòûõ ÷èñåë, îñòàåòñÿ ïðåäìåòîì ïðîäîëæàþùèõñÿ ñïîðîâ. Ýòè ñâîéñòâà áûëè ðàçðàáîòàíû, ÷òîáû çàòðóäíèòü âûïîëíåíèå ðÿäà ñòàðûõ àëãîðèòìîâ ðàçëîæåíèÿ íà ìíîæèòåëè. Îäíàêî ñàìûå áûñòðûå àëãîðèòìû îäèíàêîâî áûñòðû ïðè ðàçëîæåíèè íà ìíîæèòåëè ëþáûõ ÷èñåë, êàê óäîâëåòâîðÿþùèõ ïðèâåäåííûì óñëîâèÿì, òàê è íåò [831]. ß ïðîòèâ ñïåöèàëüíîé ãåíåðàöèè ñèëüíûõ ïðîñòûõ ÷èñåë. Äëèíà ïðîñòûõ ÷èñåë ãîðàçäî âàæíåå èõ ñòðóêò óðû. Áîëåå òîãî, ñàìà ñòðóêòóðà óìåíüøàåò ñëó÷àéíîñòü ÷è ñëà è ìîæåò ñíèçèòü óñòîé÷èâîñòü ñèñòåìû. Íî âñå ìîæåò èçìåíèòüñÿ. Ìîãóò áûòü ñîçäàíû íîâûå ìåòîäû ðàçëîæåíèÿ íà ìíîæèòåëè, êîòîðûå ëó÷øå ð àáîòàþò ñ ÷èñëàìè, îáëàäàþùèìè îïðåäåëåííûìè ñâîéñòâàìè.  ýòîì ñëó÷àå ñíîâà ìîãóò ïîòðåáîâàòüñÿ ñèë üíûå ïðîñòûå ÷èñëà. Çàãëÿäûâàéòå â æó ðíàëû ïî òåîðåòè÷åñêîé ìàòåìàòèêå.
11.6 Äèñêðåòíûå ëîãàðèôìû â êîíå÷íîì ïîëå  êà÷åñòâå äðóãîé îäíîíàïðàâëåííîé ôóíêöèè â êðèïòîãðàôèè ÷àñòî èñïîëüçóåòñÿ âîçâåäåíèå â ñòåïåíü ïî ìîäóëþ. Ëåãêî âû÷èñëèòü: ax mod n Çàäà÷åé, îáðàòíîé âîçâåäåíèþ â ñòåïåíü ïî ìîäóëþ, ÿâëÿåòñÿ ïîèñê äèñêðåòíîãî ëîãàðèôìà. À ýòî óæå í åëåãêàÿ çàäà÷à: Íàéòè x, äëÿ êîòîðîãî ax ≡ b (mod n). Íàïðèìåð: Åñëè 3x ≡ 15 mod 17, òî x = 6 Ðåøåíèÿ ñóùåñòâóþò íå äëÿ âñåõ äèñêðåòíûõ ëîãàðèôìîâ (ïîìíèòå, ðå÷ü èäåò òîëüêî î öåëî÷èñëåííûõ ð åøåíèÿõ). Ëåãêî çàìåòèòü, ÷òî ñëåäóþùåå óðàâíåíèå íå èìååò ðåøåíèé 3x ≡7 (mod 13) Åùå ñëîæíåå ðåøàòü ýòó çàäà÷ó äëÿ 1024-áèòîâûõ ÷èñåë. Âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ â êîíå÷íîé ãðóïïå Êðèïòîãðàôû èíòåðåñóþòñÿ äèñêðåòíûìè ëîãàðèôìàìè ñëåäóþùèõ òðåõ ãðóïï: Ìóëüòèïëèêàòèâíàÿ ãðóïïà ïîëåé ïðîñòûõ ÷èñåë: GF( p) Ìóëüòèïëèêàòèâíàÿ ãðóïïà êîíå÷íûõ ïîëåé ñòåïåíåé 2: GF(2 n) Ãðóïïû ýëëèïòè÷åñêîé êðèâîé íàä êîíå÷íûìè ïîëÿìè F: EC(F) Áåçîïàñíîñòü ìíîãèõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè îñíîâàíà íà çàäà÷å ïîèñêà äèñêðåòíûõ ëîãàðèôìîâ, ïîýòîìó ýòà çàäà÷à áûëà ãëóáîêî èçó÷åíà. Õîðîøèé ïîäðîáíûé îáçîð ýòîé ïðîáëåìû è åå íàèëó÷øèå ðåøåíèÿ íà ñîîòâåòñòâóþùèé ìîìåíò âðåìåíè ìîæíî íàéòè â [1189, 1039]. Ëó÷øåé ñîâðåìåííîé ñòàòüåé íà ýòó òåìó ÿâëÿåòñÿ [934]. Åñëè p ÿâëÿåòñÿ ïðîñòûì ÷èñëîì è èñïîëüçóåòñÿ â êà÷åñòâå ìîäóëÿ, òî ñëîæíîñòü ïîèñêà äèñêðåòíûõ ëîã àðèôìîâ â GF(p) ïî ñóùåñòâó ñîîòâåòñòâóåò ðàçëîæåíèþ íà ìíîæèòåëè ÷èñëà n òîãî æå ðàçìåðà, ãäå n - ýòî ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë ïðèáëèçèòåëüíî ðàâíîé äëèíû [1378,934]. Òî åñòü:
e (1+O (1))(ln( n ))
1 1 2 (ln((ln( n ))) 2
Ðåøåòî ÷èñëîâîãî ïîëÿ áûñòðåå, îöåíêà åãî ýâðèñòè÷åñêîãî âðåìåíè âûïîëíåíèÿ:
e (1.923+ O (1))(ln( n ))
1 2 3 (ln((ln( n ))) 3
Ñòèâåí Ïîëèã (Stephen Pohlig) è Ìàðòèí Õåëëìàí íàøëè ñïîñîá áûñòðîãî âû÷èñëåíèÿ äèñêðåòíûõ ëîã àðèôìîâ â GF(p) ïðè óñëîâèè, ÷òî p - 1 ðàñêëàäûâàåòñÿ íà ìàëûå ïðîñòûå ìíîæèòåëè [1253]. Ïî ýòîé ïðè÷èíå â êðèïòîãðàôèè èñïîëüçóþòñÿ òîëüêî òàêèå ïîëÿ, äëÿ êîòîðûõ p - 1 îáëàäàåò õîòÿ áû îäíèì áîëüøèì ïðîñòûì ìíîæèòåëåì. Äðóãîé àëãîðèòì [14] âû÷èñëÿåò äèñêðåòíûõ ëîãàðèôì ñî ñêîðîñòüþ, ñðàâíèìîé ñ ðàçëîæåíèåì íà ìíîæèòåëè, îí áûë ðàñøèðåí íà ïîëÿ âèäà GF( pn) [716]. Ýòîò àëãîðèòì áûë ïîäâåðãíóò êðèòèêå â [727] ïî ðÿäó òåîðåòè÷åñêèõ ìîìåíòîâ.  äðóãèõ ñòàòüÿõ [1588] ìîæíî óâèäåòü, íàñêîëüêî íà ñàìîì äåëå òðóäíà ïð îáëåìà â öåëîì. Âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ òåñíî ñâÿçàíî ñ ðàçëîæåíèåì íà ìíîæèòåëè. Åñëè âû ìîæåòå ðåøèòü ïðîáëåìó äèñêðåòíîãî ëîãàðèôìà, òî âû ìîæåòå è ðàçëîæèòü íà ìíîæèòåëè. (Èñòèííîñòü îáðàòíîãî íèêîãäà íå áûëà äîêàçàíà.)  íàñòîÿùåå âðåìÿ ñóùåñòâóåò òðè ìåòîäà âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ â ïîëå ïðîñòîãî ÷èñëà [370, 934, 648]: ëèíåéíîå ðåøåòî, ñõåìà öåëûõ ÷èñåë Ãàóññà è ðåøåòî ÷èñëîâîãî ïîëÿ. Ïðåäâàðèòåëüíîå, îáúåìíîå âû÷èñëåíèå äëÿ ïîëÿ äîëæíî áûòü âûïîëíåíî òîëüêî îäèí ðàç. Çàòåì, áûñòðî ìîæíî âû÷èñëÿòü îòäåëüíûå ëîãàðèôìû. Ýòî ìîæåò ñåðüåçíî óìåíüøèòü áåçîïàñíîñòü ñèñòåì, îñíîâàííûõ íà òàêèõ ïîëÿõ. Âàæíî, ÷òîáû ðàçëè÷íûå ïðèëîæåíèÿ èñïîëüçîâàëè ðàçëè÷íûå ïîëÿ ïðîñòûõ ÷èñåë. Õîòÿ íåñêîë üêî ïîëüçîâàòåëåé îäíîãî ïðèëîæåíèÿ ìîãóò ïðèìåíÿòü îáùåå ïîëå.  ìèðå ðàñøèðåííûõ ïîëåé èññëåäîâàòåëÿìè íå èãíîðèðóþòñÿ è GF(2 n). Àëãîðèòì áûë ïðåäëîæåí â [727]. Àëãîðèòì Êîïïåðñìèòà (Coppersmith) ïîçâîëÿåò çà ïðèåìëåìîå âðåìÿ íàõîäèòü äèñêðåòíûå ëîãàðèôìû â òàêèõ ïîëÿõ êàê GF(2 127) è äåëàåò ïðèíöèïèàëüíî âîçìîæíûì èõ ïîèñê â ïîëÿõ ïîðÿäêà GF(2 400) [368].  åãî îñíîâå ëåæèò [180]. Ó ýòîãî àëãîðèòìà î÷åíü âåëèêà ñòàäèÿ ïðåäâàðèòåëüíûõ âû÷èñëåíèé, íî âî âñåì îñòàëüíîì îí õîðîø è ýôôåêòèâåí. Ðåàëèçàöèÿ ìåíåå ýôôåêòèâíîé âåðñèè ýòîãî æå àëãîðèòìà ïîñëå ñåìè ÷àñîâ ïðåäâàð èòåëüíûõ âû÷èñëåíèé òðàòèëà íà íàõîæäåíèå êàæäîãî äèñêðåòíîãî ëîãàðèôìà â ïîëå GF(2 127) ëèøü íåñêîëüêî
ñåêóíä [1130, 180]. (Ýòî êîíêðåòíîå ïîëå, êîãäà-òî èñïîëüçîâàâøååñÿ â íåêîòîðûõ êðèïòîñèñòåìàõ [142, 1631, 1632], íå ÿâëÿåòñÿ áåçîïàñíûì.) Îáçîð íåêîòîðûõ èç ýòèõ ðåçóëüòàòîâ ìîæíî íàéòè â [1189, 1039]. Ïîçäíåå áûëè âûïîëíåíû ïðåäâàðèòåëüíûå âû÷èñëåíèÿ äëÿ ïîëåé GF(2 227), GF(2313) è GF(2401), óäàëîñü çíà÷èòåëüíî ïðîäâèíóòüñÿ è äëÿ ïîëÿ GF(2 503). Ýòè âû÷èñëåíèÿ ïðîâîäèëèñü íà nCube-2, ìàññèâíîì ïàðàëëåëüíîì êîìïüþòåðå ñ 1024 ïðîöåññîðàìè [649, 650]. Âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ â ïîëå GF(2 593) âñå åùå íàõîäèòñÿ çà ïðåäåëàìè âîçìîæíîãî. Êàê è äëÿ íàõîæäåíèÿ äèñêðåòíûõ ëîãàðèôìîâ â ïîëå ïðîñòîãî ÷èñëà, äëÿ âû÷èñëåíèÿ äèñêðåòíûõ ëîã àðèôìîâ â ïîëèíîìèàëüíîì ïîëå òàêæå òðåáóåòñÿ îäèí ðàç âûïîëíèòü ïðåäâàðèòåëüíûå âû÷èñëåíèÿ. Òàõåð ÝëüÄæàìàëü (Taher EIGamal) [520] ïðèâîäèò àëãîðèòì âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ â ïîëå GF( p2).
Ãëàâà 12 Ñòàíäàðò Standard)
øèôðîâàíèÿ
äàííûõ
DES
(Data
Encryption
12.1 Ââåäåíèå Ñòàíäàðò øèôðîâàíèÿ äàííûõ DES (Data Encryption Standard), êîòîðûé ANSI íàçûâàåò Àëãîðèòìîì øè ôðîâàíèÿ äàííûõ DEA (Data Encryption Algorithm), à ISO - DEA-1, çà 20 ëåò ñòàë ìèðîâûì ñòàíäàðòîì. Õîòÿ íà íåì è ïîÿâèëñÿ íàëåò ñòàðîñòè, îí âåñüìà ïðèëè÷íî âûäåðæàë ãîäû êðèïòîàíàëèçà è âñå åùå îñòàåòñÿ áåçîïà ñíûì ïî îòíîøåíèþ êî âñåì âðàãàì, êðîìå, âîçìîæíî, ñàìûõ ìîãóùåñòâåííûõ. Ðàçðàáîòêà ñòàíäàðòà  íà÷àëå 70-õ ãîäîâ íåâîåííûå êðèïòîãðàôè÷åñêèå èññëåäîâàíèÿ áûëè êðàéíå ðåäêè.  ýòîé îáëàñòè ïî÷òè íå ïóáëèêîâàëîñü èññëåäîâàòåëüñêèõ ðàáîò. Áîëüøèíñòâî ëþäåé çíàëè, ÷òî äëÿ ñâîèõ êîììóíèêàöèé âîåííûå èñïîëüçóþò ñïåöèàëüíóþ àïïàðàòóðó êîäèðîâàíèÿ, íî ìàëî êòî ðàçáèðàëñÿ â êðèïòîãðàôèè êàê â íàóêå. Çàìå òíûìè çíàíèÿìè îáëàäàëî Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè (National Security Agency, NSA), íî îíî äàæå íå ïðèçíàâàëî ïóáëè÷íî ñâîåãî ñîáñòâåííîãî ñóùåñòâîâàíèÿ. Ïîêóïàòåëè íå çíàëè, ÷òî îíè ïîêóïàþò. Ìíîãèå íåáîëüøèå êîìïàíèè èçãîòàâëèâàëè è ïðîäàâàëè êðèïò îãðàôè÷åñêîå îáîðóäîâàíèå, ïðåèìóùåñòâåííî çàîêåàíñêèì ïðàâèòåëüñòâàì. Âñå ýòî îáîðóäîâàíèå îòëè÷àëîñü äðóã îò äðóãà è íå ìîãëî âçàèìîäåéñòâîâàòü. Íèêòî íå çíàë, äåéñòâèòåëüíî ëè êàêîå-ëèáî èç ýòèõ óñòðîéñòâ áåçîïàñíî, íå ñóùåñòâîâàëî íåçàâèñèìîé îðãàíèçàöèè, êîòîðàÿ çàñâèäåòåëüñòâîâàëà áû áåçîïàñíîñòü. Êàê ãîâ îðèëîñü â îäíîì èç ïðàâèòåëüñòâåííûõ äîêëàäîâ [441]: Âëèÿíèå ñîîòâåòñòâóþùåãî èçìåíåíèÿ êëþ÷åé è ïðèíöèïîâ ðàáîòû íà ðåàëüíóþ ìîùü àïïàðàòóðû øèôðîâ àíèÿ/äåøèôðèðîâàíèÿ áûëî (è ôàêòè÷åñêè îñòàëîñü) íåèçâåñòíûì ïî÷òè âñåì ïîêóïàòåëÿì, è áûëî î÷åíü òðóäíî ïðèíèìàòü îáîñíîâàííûå ðåøåíèÿ î ãåíåðàöèè êëþ÷åé, ïðàâèëüíîì äèàëîãîâîì èëè àâòîíîìíîì ðåæèìå, è ò.ä., êîòîðûå îòâå÷àëè áû ïîòðåáíîñòÿì ïîêóïàòåëåé â áåçîïàñíîñòè.
 1972 ãîäó Íàöèîíàëüíîå áþðî ñòàíäàðòîâ (National Bureau of Standards, NBS), òåïåðü íàçûâàþùååñÿ Í àöèîíàëüíûì èíñòèòóòîì ñòàíäàðòîâ è òåõíèêè (National Institute of Standards and Technology, NIST), âûñòóïèëî èíèöèàòîðîì ïðîãðàììû çàùèòû ëèíèé ñâÿçè è êîìïüþòåðíûõ äàííûõ. Îäíîé èç öåëåé ýòîé ïðîãðàììû áûëà ðàçðàáîòêà åäèíîãî, ñòàíäàðòíîãî êðèïòîãðàôè÷åñêîãî àëãîðèòìà. Ýòîò àëãîðèòì ìîã áû áûòü ïðîâåðåí è ñå ðòèôèöèðîâàí, à èñïîëüçóþùèå åãî ðàçëè÷íûå êðèïòîãðàôè÷åñêèå óñòðîéñòâà ìîãëè áû âçàèìîäåéñòâîâàòü. Îí ìîã áû, ê òîìó æå, áûòü îòíîñèòåëüíî íåäîðîãèì è ëåãêî äîñòóïíûì. 15 ìàÿ 1973 ãîäà â Federal Register NBS îïóáëèêîâàëî òðåáîâàíèÿ ê êðèïòîãðàôè÷åñêîìó àëãîðèòìó, êîò îðûé ìîã áû áûòü ïðèíÿò â êà÷åñòâå ñòàíäàðòà. Áûëî ïð èâåäåíî íåñêîëüêî êðèòåðèåâ îöåíêè ïðîåêòà: Àëãîðèòì äîëæåí îáåñïå÷èâàòü âûñîêèé óðîâåíü áåçîïàñíîñòè. Àëãîðèòì äîëæåí áûòü ïîëíîñòüþ îïðåäåëåí è ëåãêî ïîíÿòåí. Áåçîïàñíîñòü àëãîðèòìà äîëæíà îñíîâûâàòüñÿ íà êëþ÷å è íå äîëæíà çàâèñåòü îò ñîõðàíåíèÿ â òàéíå ñ àìîãî àëãîðèòìà. Àëãîðèòì äîëæåí áûòü äîñòóïåí âñåì ïîëüçîâàòåëÿì. Àëãîðèòì äîëæåí ïîçâîëÿòü àäàïòàöèþ ê ðàçëè÷íûì ïðèìåíåíèÿì. Àëãîðèòì äîëæåí ïîçâîëÿòü ýêîíîìè÷íóþ ðåàëèçàöèþ â âèäå ýëåêòðîííûõ ïðèáîðîâ. Àëãîðèòì äîëæåí áûòü ýôôåêòèâíûì â èñïîëüçîâàíèè. Àëãîðèòì äîëæåí ïðåäîñòàâëÿòü âîçìîæíîñòè ïðîâåðêè. Àëãîðèòì äîëæåí áûòü ðàçðåøåí äëÿ ýêñïîðòà. Ðåàêöèÿ îáùåñòâåííîñòè ïîêàçàëà, ÷òî ê êðèïòîãðàôè÷åñêîìó ñòàíäàðòó ñóùåñòâóåò çàìåòíûé èíòåðåñ, íî îïûò â ýòîé îáëàñòè ÷ðåçâû÷àéíî ìàë. Íè îäíî èç ïðåäëîæåíèé íå óäîâëåòâîðÿëî ïðåäúÿâëåííûì òðåáîâàíèÿì. 27 àâãóñòà 1972 ãîäà â Federal Register NBS îïóáëèêîâàëî ïîâòîðíîå ïðåäëîæåíèå. Íàêîíåö, ó Áþðî ïîÿâè ëñÿ ïîäõîäÿùèé êàíäèäàò: àëãîðèòì ïîä èìåíåì Ëþöèôåð, â îñíîâå êîòîðîãî ëåæàëà ðàçðàáîòêà êîìïàíèè IBM, âûïîëíåííàÿ â íà÷àëå 70-õ (ñì. ðàçäåë 13.1).  IBM ñóùåñòâîâàëà öåëàÿ êîìàíäà êðèïòîãðàôîâ, ðàáîòàâøàÿ â Êèíãñòîíå (Kingston) è Éîðêòàóí Õàéòñ (Yorktown Heights), â êîòîðóþ âõîäèëè Ðîé Àäëåð (Roy Adler), Äîí Êîïïåðñìèò (Don Coppersmith), Õîðñò Ôåéñòåëü (Horst Feistel), Ýäíà Êðîññìàí (Edna Crossman), Àëàí Êîíõåéì (Alan Konheim), Êàðë Ìàéåð (Carl Meyer), Áèëë Íîö (Bill Notz), Ëèíí Ñìèò (Lynn Smith), Óîëò Òà÷ìåí (Walt Tuchman) è Áðàéàíò Òàêåðìàí (Bryant Tuckerman). Íåñìîòðÿ íà îïðåäåëåííóþ ñëîæíîñòü àëãîðèòì áûë ïðÿìîëèíååí. Îí èñïîëüçîâàë òîëüêî ïðîñòûå ëîãè÷ å-
ñêèå îïåðàöèè íàä íåáîëüøèìè ãðóïïàìè áèòîâ è ìîã áûòü äîâîëüíî ýôôåêòèâíî ðåàëèçîâàí â àïïàðàòóðå. NBS ïîïðîñèëî NSA ïîìî÷ü îöåíèòü áåçîïàñíîñòü àëãîðèòìà è îïðåäåëèòü, ïîäõîäèò ëè îí äëÿ èñïîëüçîâ àíèÿ â êà÷åñòâå ôåäåðàëüíîãî ñòàíäàðòà. IBM óæå ïîëó÷èëà ïàòåíò [514], íî æåëàëà ñäåëàòü ñâîþ èíòåëëåêò óàëüíóþ ñîáñòâåííîñòü äîñòóïíîé äëÿ ïðîèçâîäñòâà, ðåàëèçàöèè è èñïîëüçîâàíèÿ äðóãèìè êîìïàíèÿìè.  êîíöå êîíöîâ, NBS è IBM âûðàáîòàëè ñîãëàøåíèå, ïî êîòîðîìó NBS ïîëó÷àëî íåèñêëþ÷èòåëüíóþ, áåñïëàòíóþ ë èöåíçèþ èçãîòàâëèâàòü, èñïîëüçîâàòü è ïðîäàâàòü óñòðîéñòâà, ðåàëèçóþùèå ýòîò àëãîðèòì. Íàêîíåö, 17 ìàðòà 1975 ãîäà â Federal Register NBS îïóáëèêîâàëî è ïîäðîáíîñòè àëãîðèòìà, è çàÿâëåíèå IBM î ïðåäîñòàâëåíèè íåèñêëþ÷èòåëüíîé, áåñïëàòíîé ëèöåíçèè íà àëãîðèòì, à òàêæå ïðåäëîæèëî ïðèñûëàòü êîììåíòàðèè ïî ïîâîäó äàííîãî àëãîðèòìà [536].  äðóãîé çàìåòêå â Federal Register, 1 àâãóñòà 1975 ãîäà, ðàçëè÷íûì îðãàíèçàöèÿì è øèðîêîé ïóáëèêå ñíîâà ïðåäëàãàëîñü ïðîêîììåíòèðîâàòü ïðåäëîæåííûé àëãîðèòì. È êîììåíòàðèè ïîÿâèëèñü [721, 497, 1120). Ìíîãèå íàñòîðîæåííî îòíîñèëèñü ê ó÷àñòèþ "íåâèäèìîé ðóêè" NSA â ðàçðàáîòêå àëãîðèòìà. Áîÿëèñü, ÷òî NSA èçìåíèò àëãîðèòì, âñòàâèâ â íåãî ïîòàéíóþ äâåðöó. Æàëîâ àëèñü, ÷òî NSA óìåíüøèëî äëèíó êëþ÷åé ñ ïåðâîíà÷àëüíûõ 128 áèòîâ äî 56 (ñì. ðàçäåë 13.1). Æàëîâàëèñü íà âíóòðåííèå ðåæèìû ðàáîòû àëãîðèòìà. Ìíîãèå ñîîáðàæåíèÿ NSA ñòàëè ÿñíû è ïîíÿòíû â íà÷àëå 90-õ, íî â 70õ îíè êàçàëèñü òàèíñòâåííûìè è òðåâîæíûìè.  1976 ãîäó NBS ïðîâåëî äâà ñèìïîçèóìà ïî îöåíêå ïðåäëîæåííîãî ñòàíäàðòà. Íà ïåðâîì îáñóæäàëèñü ì àòåìàòèêà àëãîðèòìà è âîçìîæíîñòü ïîòàéíîé äâåðöû [1139]. Íà âòîðîì - âîçìîæíîñòè óâåëè÷åíèÿ äëèíû êëþ÷à àëãîðèòìà [229]. Áûëè ïðèãëàøåíû ñîçäàòåëè àëãîðèòìà, ëþäè, îöåíèâàâøèå àëãîðèòì, ðàçðàáîò÷èêè àïïàð àòóðû, ïîñòàâùèêè, ïîëüçîâàòåëè è êðèòèêè. Ïî âñåì îò÷åòàì ñèìïîçèóìû áûëè âåñüìà îæè âëåííûìè [1118]. Íåñìîòðÿ íà êðèòèêó Ñòàíäàðò øèôðîâàíèÿ äàííûõ DES 23 íîÿáðÿ 1976 ãîäà áûë ïðèíÿò â êà÷åñòâå ôåä åðàëüíîãî ñòàíäàðòà [229] è ðàçðåøåí ê èñïîëüçîâàíèþ íà âñåõ íåñåêðåòíûõ ïðàâèòåëüñòâåííûõ êîììóíèêàö èÿõ. Îôèöèàëüíîå îïèñàíèå ñòàíäàðòà, FIPS PUB 46, "Data Encryption Standard", áûëî îïóáëèêîâàíî 15 ÿíâàðÿ 1977 ãîäà è âñòóïèëî â äåéñòâèå øåñòüþ ìåñÿöàìè ïîçæå [1140]. FIPS PUB 81, " Modes of DES Operation" (Ðåæèìû ðàáîòû DES), áûëî îïóáëèêîâàíî â 1980 ãîäó [1143]. FIPS PUB 74, "Guidelines for Implementing and Using the NBS Data Encryption Standard" (Ðóêîâîäñòâî ïî ðåàëèçàöèè è èñïîëüçîâàíèþ Ñòàíäàðòà øèôðîâàíèÿ äàííûõ NBS), ïîÿâèëîñü â 1981 ãîäó [1142]. NBS òàêæå îïóáëèêîâàëî FIPS PUB 112, ñïåöèôèöèðóÿ DES äëÿ øèôðîâàíèÿ ïàðîëåé [1144], è FIPS PUB 113, ñïåöèôèöèðóÿ DES äëÿ ïðîâåðêè ïîäëèííîñòè êîìïüþòåðíûõ äàííûõ [1145]. (FIPS îáîçíà÷àåò Federal Information Processing Standard.) Ýòè ñòàíäàðòû áûëè áåñïðåöåäåíòíûìè. Íèêîãäà äî ýòîãî îöåíåííûé NSA àëãîðèòì íå áûë îïóáëèêîâàí. Âîçìîæíî ýòà ïóáëèêàöèÿ áûëà ñëåäñòâèåì íåïîíèìàíèÿ, âîçíèêøåãî ìåæäó NSA è NBS. NSA ñ÷èòàëî, ÷òî DES áóäåò ðåàëèçîâûâàòüñÿ òîëüêî àïïàðàòíî.  ñòàíäàðòå òðåáîâàëàñü èìåííî àïïàðàòíàÿ ðåàëèçàöèÿ, íî NBS îïóáëèêîâàëî äîñòàòî÷íî èíôîðìàöèè, ÷òîáû ìîæíî áûëî ñîçäàòü è ïðîãðàììíóþ ðåàëèçàöèþ DES. Íå äëÿ ïå÷àòè NSA îõàðàêòåðèçîâàëî DES êàê îäíó èç ñâîèõ ñàìûõ áîëüøèõ îøèáîê. Åñëè áû Àãåíòñòâî ïðåäïîëàã àëî, ÷òî ðàñêðûòûå äåòàëè ïîçâîëÿò ïèñàòü ïðîãðàììíîå îáåñïå÷åíèå, îíî íèêîãäà áû íå ñîãëàñèëîñü íà ýòî. Äëÿ îæèâëåíèÿ êðèïòîàíàëèçà DES ñäåëàë áîëüøå, ÷åì ÷òî-ëèáî äðóãîå. Òåïåðü äëÿ èññëåäîâàíèÿ áûë äîñòóïåí àëãîðèòì, êîòîðûé NSA îáúÿâèëî áåçîïàñíûì. Íå ñëó÷àéíî ñëåäóþùèé ïðàâèòåëüñòâåííûé ñòàíäàðò àëãîðè òìà, Skipjack (ñì. ðàçäåë 13.12.), áûë çàñåêðå÷åí. Ïðèíÿòèå ñòàíäàðòà Àìåðèêàíñêèé íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ (American National Standards Institute, ANSI) îäîáðèë DES â êà÷åñòâå ñòàíäàðòà äëÿ ÷àñòíîãî ñåêòîðà â 1981 ãîäó (ANSI X3.92.) [50], íàçâàâ åãî Àëãîðèòìîì øèôð îâàíèÿ äàííûõ (Data Encryption Algorithm, DEA). ANSI îïóáëèêîâàë ñòàíäàðò ðåæèìîâ ðàáîòû DEA (ANSI X3.106) [52], ïîõîæèé íà äîêóìåíò NBS, è ñòàíäàðò äëÿ øèôðîâàíèÿ â ñåòè, èñïîëüçóþùèé DES (ANSI X3.105) [51]. Äâå äðóãèå ãðóïïû âíóòðè ANSI, ïðåäñòàâëÿþùèå áàíêîâñêèå îïåðàöèè ïðè ðîçíè÷íîé è îïòîâîé òîðãîâëå, ðàçðàáîòàëè ñâîè ñòàíäàðòû íà îñíîâå DES. Áàíêîâñêèå îïåðàöèè ïðè ðîçíè÷íîé òîðãîâëå âêëþ÷àþò òðàíçà êöèè ìåæäó ôèíàíñîâûìè îðãàíèçàöèÿìè è îòäåëüíûìè ëè÷íîñòÿìè, à áàíêîâñêèå îïåðàöèè ïðè îïòîâîé òî ðãîâëå âêëþ÷àþò òðàíçàêöèè ìåæäó ôèíàíñîâûìè îðãàíèçàöèÿìè. Ðàáî÷àÿ ãðóïïà ANSI ïî áåçîïàñíîñòè ôèíàíñîâûõ îðãàíèçàöèé ïðè ðîçíè÷íîé òîðãîâëå ðàçðàáîòàëà ñòà íäàðò äëÿ óïðàâëåíèÿ PIN-êîäàìè è èõ áåçîïàñíîñòüþ (ANSI X9.8) [53] è äðóãîé èñïîëüçóþùèé DES ñòàíäàðò äëÿ ïðîâåðêè ïîäëèííîñòè ôèíàíñîâûõ ñîîáùåíèé î ðîçíè÷íûõ ïðîäàæàõ (ANSI X9.19) [56]. Ýòà ãðóïïà ðà çðàáîòàëà è ïðîåêò ñòàíäàðòà äëÿ áåçîïàñíîãî ðàñïðåäåëåíèÿ êëþ÷åé (ANSI X9.2.4) [58]. Ðàáî÷àÿ ãðóïïà ANSI ïî áåçîïàñíîñòè ôèíàíñîâûõ îðãàíèçàöèé ïðè îïòîâîé òîðãîâëå ðàçðàáîòàëà ñâîé ñî áñòâåííûé íàáîð ñòàíäàðòîâ äëÿ ïðîâåðêè ïîäëèííîñòè ñîîáùåíèé (ANSI X9.9) [54], óïðàâëåíèÿ êëþ÷àìè (ANSIX9.17) [55, 1151], øèôðîâàíèÿ (ANSIX9.2.3) [57] è áåçîïàñíîé ïðîâåðêè ïîäëèííîñòè ëè÷íîñòåé è óçëîâ (ANSI X9.26) [59]. Àìåðèêàíñêàÿ àññîöèàöèÿ áàíêèðîâ ðàçðàáàòûâàåò íåîáÿçàòåëüíûå ñòàíäàðòû äëÿ ôèíàíñîâîé èíäóñòðèè.
Îíè îïóáëèêîâàëè ñòàíäàðò, ðåêîìåíäóþùèé DES äëÿ øèôðîâàíèÿ [1], è äðóãîé ñòàíäàðò äëÿ óïðàâëåíèÿ êðèïòîãðàôè÷åñêèìè êëþ÷àìè [2]. Äî ïîÿâëåíèÿ â 1987 ãîäó Àêòà î êîìïüþòåðíîé áåçîïàñíîñòè (Computer Security Act) the çà ðàçðàáîòêó ô åäåðàëüíûõ ñòàíäàðòîâ â îáëàñòè òåëåêîììóíèêàöèé îòâå÷àëà Àäìèíèñòðàöèÿ îáùèõ ñëóæá (General Services Administration, CSA), à ñ ýòîãî ìîìåíòà îòâåòñòâåííîñòü ïåðåøëà ê NIST. CSA îïóáëèêîâàëà òðè ñòàíäàðòà, èñïîëüçóþùèõ DES: äâà äëÿ òðåáîâàíèé ê îáùåé áåçîïàñíîñòè è âîçìîæíîñòè âçàèìîäåéñòâèÿ (Ôåäåðàëüíûé ñòàíäàðò 1026 [662] è Ôåäåðàëüíûé ñòàíäàðò 1027 [663]) è îäèí äëÿ ôàêñ-àïïàðàòîâ Group 3 (Ôåäåðàëüíûé ñòàíäàðò 1028 [664]). Êàçíà÷åéñòâî èçäàëî ñòðàòåãè÷åñêèå äèðåêòèâû, òðåáóþùèå, ÷òîáû ïîäëèííîñòü âñåõ ñîîáùåíèé î ïåðåâîäå ýëåêòðîííûõ ôèíàíñîâ óäîñòîâåðÿëàñü ñ ïîìîùüþ DES [468, 470]. Îíî òàêæå ðàçðàáîòàëî îñíîâàííûé íà DES êðèòåðèé, êîòîðîìó äîëæíû óäîâëåòâîðÿòü âñå óñòðîéñòâà ïðîâåðêè ïîäëèííîñòè [469]. ISO ñíà÷àëà ïðîãîëîñîâàëà çà ââåäåíèå DES, íàçûâàåìîãî â åå èíòåðïðåòàöèè DEA-1, â êà÷åñòâå ìåæäóí àðîäíîãî ñòàíäàðòà, à çàòåì ïðèíÿëà ðåøåíèå íå çàíèìàòüñÿ ñòàíäàðòèçàöèåé êðèïòîãðàôèè. Îäíàêî â 1987 ãîäó ãðóïïà ISO, çàíèìàþùàÿñÿ ìåæäóíàðîäíûìè ñòàíäàðòàìè â îáëàñòè îïòîâîé òîðãîâëè, ïðèìåíèëà DES â ìå æäóíàðîäíîì ñòàíäàðòå ïðîâåðêè ïîäëèííîñòè [758] è äëÿ óïðàâëåíèÿ êëþ÷àìè [761]. DES òàêæå èñïîëüçóåòñÿ â êà÷åñòâå àâñòðàëèéñêîãî áàíêîâñêîãî ñòàíäàðòà [1497]. Ïðîâåðêà è ñåðòèôèêàöèÿ îáîðóäîâàíèÿ DES ×àñòüþ ñòàíäàðòà DES ÿâëÿåòñÿ ïðîâåðêà NIST ðåàëèçàöèé DES. Ýòà ïðîâåðêà ïîäòâåðæäàåò, ÷òî ðåàëèç àöèÿ ñîîòâåòñòâóåò ñòàíäàðòó. Äî 1994 ãîäà NIST ïðîâåðÿë òîëüêî àïïàðàòíûå è ïðîãðàììíî-àïïàðàòíûå ðåàë èçàöèè - ïîêà ñòàíäàðò çàïðåùàë ïðîãðàììíûå ðåàëèçàöèè. Íà ìàðò 1995 ãîäà 73 ðàçëè÷íûõ ðåàëèçàöèè áûëè ïðèçíàíû ñîîòâåòñòâóþùèìè ñòàíäàðòó. NIST òàêæå ðàçðàáîòàë ïðîãðàììó ñåðòèôèêàöèè óñòðîéñòâ ïðîâåðêè ïîäëèííîñòè íà ñîîòâåòñòâèå ANSI X9.9 è FIPS 113. Íà ìàðò 1995 ãîäà áûëî ñåðòèôèöèðîâàíî 33 ðàçëè÷íûõ ïðîäóêòà. Êàçíà÷åéñòâî èñïîëüçóåò ñâîþ ñîáñòâåííóþ äîïîëíèòåëüíóþ ïðîöåäóðó ñåðòèôèêàöèè. Ó NIST òàêæå åñòü ïðîãðàììà ïðîâåðêè àïïàð àòóðû íà ñîîòâåòñòâèå ANSI X9.17 äëÿ óïðàâëåíèÿ êëþ÷àìè ïðè îïòîâîé òîðãîâëå [1151], Íà ìàðò 1995 ãîäà áûëî ñåðòèôèöèðîâàíî ÷åòûðå ïðîäóêòà. 1987  ñòàíäàðòå DES áûëî îãîâîðåíî, ÷òî îí áóäåò ïåðåñìàòðèâàòüñÿ êàæäûå ïÿòü ëåò.  1983 DES áûë ïîâòî ðíî ñåðòèôèöèðîâàí áåç âñÿêèõ ïðîáëåì. 6 ìàðòà 1987 ãîäà â Federal Register NBS ïîïðîñèëî ïðîêîììåíòèð îâàòü ïðåäëîæåíèå íà ñëåäóþùèå ïÿòü ëåò. NBS ïðåäëîæèëî íà îáñóæäåíèå ñëåäóþùèå òðè àëüòåðíàòèâû [1480, 1481]: âíîâü ïîäòâåðäèòü ñòàíäàðò íà ñëåäóþùèå ïÿòü ëåò, îòêàçàòüñÿ îò ñòàíäàðòà èëè ïåðåñìîòðåòü ïðèìåí èìîñòü ñòàíäàðòà. NBS è NSA ïåðåñìîòðåëè ñòàíäàðò.  ýòîò ðàç NSA áûëî çàäåéñòâîâàíî â áîëüøåé ñòåïåíè. Áëàãîäàðÿ ïî äïèñàííîé Ðåéãàíîì äèðåêòèâå NSDD-145 NSA ïîëó÷èëî ïðàâî âåòî ïî îòíîøåíèþ ê äåÿòåëüíîñòè NBS â îáëà ñòè êðèïòîãðàôèè. Ïåðâîíà÷àëüíî NSA îáúÿâèëî, ÷òî îíî íå ñåðòèôèöèðóåò ñòàíäàðò ïîâòîðíî. Ïðîáëåìà áûëà íå â òîì, ÷òî DES äåéñòâèòåëüíî áûë âçëîìàí, è äàæå íå â òîì, ÷òî îí, ìîæåò áûòü, áûë âçëîìàí. Ïî âèäèì îìó, ïðåäïîëàãàëîñü, ÷òî îí âîò-âîò áóäåò âçëîìàí. Ñàìî ïî ñåáå NSA ïðåäëîæèëî Ïðîãðàììó êîììåð÷åñêîé ïîäïèñè COMSEC (Commercial COMSEC Endorsement Program, CCEP), êîòîðàÿ ïî ñóòè ïðåäñòàâëÿëà ñîáîé íàáîð àëãîðèòìîâ äëÿ çàìåíû DES [85]. Ýòè ðàçðàáîòàííûå NSA àëãîðèòìû íå áûëè îïóáëèêîâàíû è áûëè äîñòóïíû òîëüêî â âèäå çàùèùåííûõ îò âçëîìà ÑÁÈÑ (ñì. ðàçäåë 25.1). Ýòî ïðåäëîæåíèå íå áûëî ïðèíÿòî. Áûëî îòìå÷åíî, ÷òî DES øèðîêî èñïîëüçóåòñÿ â áèçíåñå (îñîáåííî â ô èíàíñàõ), è ÷òî ïðèåìëåìîé àëüòåðíàòèâû íå ñóùåñòâóåò. Îòêàç îò ñòàíäàðòà îñòàâèë áû ìíîãèå îðãàíèçàöèè áåç çàùèòû äàííûõ. Ïîñëå äëèòåëüíûõ ñïîðîâ DES áûë âíîâü óòâåðæäåí â êà÷åñòâå ïðàâèòåëüñòâåííîãî ñòàíäàðòà ÑØÀ äî 1992 ãîäà [1141]. NBS ðåøèëî, ÷òî DES íèêîãäà áîëüøå íå áóäåò ñåðòèôèöèðîâàí ñíîâà [1480]. 1993 Íèêîãäà íå ãîâîðè "íèêîãäà".  1992 ãîäó àëüòåðíàòèâû àëãîðèòìó DES âñå åùå íå áûëî. NBS, íàçûâàåìûé òåïåðü NIST, ñíîâà â Federal Register ïðåäëîæèëî ïð îêîììåíòèðîâàòü DES [540]: Öåëü ýòîãî ïðåäëîæåíèÿ ñîñòîèò â òîì, ÷òîáû îáúÿâèòü î ïðåäñòîÿùåì îöåíèâàíèè àäåêâàòíîñòè ñòàíäàðòà çàäà÷å çàù èòû êîìïüþòåðíûõ äàííûõ íà ñîâðåìåííîì óðîâíå. Ïðîìûøëåííîñòè è øèðîêîé ïóáëèêå ïðåäëàãàþòñÿ òðè ñëåäóþùèõ âàð èàíòà ðåøåíèÿ äëÿ FIPS 46-1. Êîììåíòàðèè äîëæíû ñîäåðæàòü ñòîèìîñòü (ïîñëåäñòâèÿ) è ïðåèìóùåñòâà ýòèõ âàðèà íòîâ: Ïîâòîðíî ïðèíÿòü ñòàíäàðò íà ñëåäóþùèå ïÿòü (5) ëåò. Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíîëîãèè ïðîäîëæèò ñåðòèôèêàöèþ àïïàðàòóðû, ðåàëèçóþùåé ñòàíäàðò. FIPS 46-1 áóäåò è äàëüøå îñòàâàòüñÿ åäèíñòâåííûì ïðèçíàííûì ì åòîäîì çàùèòû íåñåêðåòíûõ êîìïüþòåðíûõ äàííûõ. Îòêàçàòüñÿ îò ñòàíäàðòà. Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíîëîãèè áîëüøå íå áóäåò ïîääåðæèâàòü ñòàíäàðò.
Îðãàíèçàöèè ìîãóò ïðîäîëæàòü èñïîëüçîâàòü ñóùåñòâóþùóþ àïïàðàòóðó, ðåàëèçóþùóþ ñòàíäàðò. Çàìåíÿÿ DES, NIST èçäàñò äðóãèå ñòàíäàðòû. Ïåðåñìîòðåòü ïîëîæåíèÿ ñòàíäàðòà î ïðèìåíèìîñòè è/èëè ïðîâåñòè ðåâèçèþ ðåàëèçàöèè. Òàêàÿ ðåâèçèÿ äîëæíà âêëþ÷àòü èçìåíåíèÿ ñòàíäàðòà, ïîçâîëÿþùèå èñïîëüçîâàòü êàê àïïàðàòíûå, òàê ïðîãðàììíûå è ðåàëèçàöèè DES, è ñïîëüçîâàòü DES èòåðàòèâíî â îïðåäåëåííûõ ïðèëîæåíèÿõ, èñïîëüçîâàòü àëüòåðíàòèâíûå àëãîðèòìû, ïðèçíàííûå è çàð åãèñòðèðîâàííûå NIST.
Ñðîê ïðèíÿòèÿ ïðåäëîæåíèé èñòåê 10 äåêàáðÿ 1992 ãîäà. Ñîãëàñíî Ðýéìîíäó Êàììåðó (Raymond Kammer), â òî âðåìÿ äèðåêòîðó NIST [812]:  ïðîøëîì ãîäó NIST ôîðìàëüíî ïðåäëîæèëî ïðèñûëàòü êîììåíòàðèè ïî ïîâîäó ïîâòîðíîé ñåðòèôèêàöèè DES. Ðà ññìîòðåâ ïðèñëàííûå ïðåäëîæåíèÿ è äðóãèå òåõíè÷åñêèå èñòî÷íèêè, ÿ ñîáèðàþñü ðåêîìåíäîâàòü ìèíèñòðó òîðãîâëè, ÷òîáû îí ïîâòîðíî ñåðòèôèöèðîâàë DES åùå íà ïÿòü ëåò. ß òàêæå ñîáèðàþñü ïðåäëîæèòü ìèíèñòðó, ÷òîáû, îáúÿâëÿÿ î ïîâòîðíîé ñåðòèôèêàöèè, ìû ñôîðìóëèðîâàëè íàøè íàìåðåíèÿ ðàññìîòðåòü â òå÷åíèå ýòèõ ïÿòè ëåò âîçìîæíûå àëüòåðíàòèâû. Äåëàÿ ïîäîáíîå çàÿâëåíèå, ìû íàäååìñÿ äàòü ëþäÿì âîçìîæíîñòü âûñêàçàòüñÿ ïî ïîâîäó ïðåäñòîÿùèõ òåõíîëîãè÷åñêèõ èçìåíåíèé.  òî æå âðåìÿ, íàì íóæíî ó÷èòûâàòü áîëüøîå êîëè÷åñòâî ñèñòåì, èñïîëüçóþùèõ ýòîò îäîáðåííûé ñòà íäàðò.
Íåñìîòðÿ íà òî, ÷òî Óïðàâëåíèå îöåíêè òåõíîëîãèé ññûëàëîñü íà ñëîâà ðàáîòàâøåãî â NIST Äåííèñà Áðà íñòèäà (Dennis Branstead) îò òîì, ÷òî ïîëåçíîå âðåìÿ æèçíè DES çàêîí÷èòñÿ â êîíöå 90-õ [1191], àëãîðèòì áûë ñåðòèôèöèðîâàí ïîâòîðíî íà ñëåäóþùèå ïÿòü ëåò [1150]. Íàêîíåö áûëî ðàçðåøåíî ñåðòèôèöèðîâàòü è ïð îãðàììíûå ðåàëèçàöèè DES. Õîòåëîñü áû çíàòü, ÷òî ñëó÷èòñÿ â 1998 ãîäó?
12.2 Îïèñàíèå DES DES ïðåäñòàâëÿåò ñîáîé áëî÷íûé øèôð, îí øèôðóåò äàííûå 64-áèòîâûìè áëîêàìè. Ñ îäíîãî êîíöà àëã îðèòìà ââîäèòñÿ 64-áèòîâûé áëîê îòêðûòîãî òåêñòà, à ñ äðóãîãî êîíöà âûõîäèò 64-áèòîâûé áëîê øèôðîòåêñòà. DES ÿâëÿåòñÿ ñèììåòðè÷íûì àëãîðèòìîì: äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ èñïîëüçóþòñÿ îäèíàêîâûå àëã îðèòì è êëþ÷ (çà èñêëþ÷åíèåì íåáîëüøèõ ðàçëè÷èé â èñïîëüçîâàíèè êëþ÷à). Äëèíà êëþ÷à ðàâíà 56 áèòàì. (Êëþ÷ îáû÷íî ïðåäñòàâëÿåòñÿ 64-áèòîâûì ÷èñëîì, íî êàæäûé âîñüìîé áèò èñïîëüçóåòñÿ äëÿ ïðîâåðêè ÷åòíîñòè è èãíîðèðóåòñÿ. Áèòû ÷åòíîñòè ÿâëÿþòñÿ íàèìåíüøèìè çíà÷àùèìè áèòàìè áàéòîâ êëþ÷à.) Êëþ÷, êîòîðûé ìîæåò áûòü ëþáûì 56-áèòîâûì ÷èñëîì, ìîæíî èçìåíèòü â ëþáîé ìîìåíò âð åìåíè. Ðÿä ÷èñåë ñ÷èòàþòñÿ ñëàáûìè êëþ÷àìè, íî èõ ìîæíî ëåãêî èçáåæàòü. Áåçîïàñíîñòü ïîëíîñòüþ îïðåäåë ÿåòñÿ êëþ÷îì. Íà ïðîñòåéøåì óðîâíå àëãîðèòì íå ïðåäñòàâëÿåò íè÷åãî áîëüøåãî, ÷åì êîìáèíàöèÿ äâóõ îñíîâíûõ ìåòîäîâ øèôðîâàíèÿ: ñìåùåíèÿ è äèôôóçèè. Ôóíäàìåíòàëüíûì ñòðîèòåëüíûì áëîêîì DES ÿâëÿåòñÿ ïðèìåíåíèå ê òå êñòó åäèíè÷íîé êîìáèíàöèè ýòèõ ìåòîäîâ (ïîäñòàíîâêà, à çà íåé - ïåðåñòàíîâêà), çàâèñÿùåé îò êëþ÷à. Òàêîé áëîê íàçûâàåòñÿ ýòàïîì. DES ñîñòîèò èç 16 ýòàïîâ, îäèíàêîâàÿ êîìáèíàöèÿ ìåòîäîâ ïðèìåíÿåòñÿ ê îòêðûòîìó òåêñòó 16 ðàç (ñì. 11-é).
Îòêðûòûé òåêñò IP L0
R0
f
K1
R1= L0⊕f(R0,K1)
L1=R0
f
K2
R2= L1⊕f(R1,K1)
L2=R1
R15= L14⊕f(R14,K15)
L15=R14
f
K16
R16= L15⊕f(R15,K16)
L16=R15 -1
IP
Øèôðîòåêñò
Ðèñ. 12-1. DES. Àëãîðèòì èñïîëüçóåò òîëüêî ñòàíäàðòíóþ àðèôìåòèêó 64-áèòîâûõ ÷èñåë è ëîãè÷åñêèå îïåðàöèè, ïîýòîìó îí ëåãêî ðåàëèçîâûâàëñÿ â àïïàðàòóðå âòîðîé ïîëîâèíû 70-õ. Èçîáèëèå ïîâòîðåíèé â àëãîðèòìå äåëàåò åãî èä åàëüíûì äëÿ ðåàëèçàöèè â ñïåöèàëèçèðîâàííîé ìèêðîñõåìå. Ïåðâîíà÷àëüíûå ïðîãðàììíûå ðåàëèçàöèè áûëè äîâîëüíî íåóêëþæè, íî ñåãîäíÿøíèå ïðîãðàììû íàìíîãî ëó÷øå. Ñõåìà àëãîðèòìà DES ðàáîòàåò ñ 64-áèòîâûì áëîêîì îòêðûòîãî òåêñòà. Ïîñëå ïåðâîíà÷àëüíîé ïåðåñòàíîâêè áëîê ðàçáèâàåòñÿ íà ïðàâóþ è ëåâóþ ïîëîâèíû äëèíîé ïî 32 áèòà. Çàòåì âûïîëíÿåòñÿ 16 ýòàïîâ îäèíàêîâûõ äåéñòâèé, íàçûâà åìûõ ôóíêöèåé f, â êîòîðûõ äàííûå îáúåäèíÿþòñÿ ñ êëþ÷îì. Ïîñëå øåñòíàäöàòîãî ýòàïà ïðàâàÿ è ëåâàÿ ïîëîâ èíû îáúåäèíÿþòñÿ è àëãîðèòì çàâåðøàåòñÿ çàêëþ÷èòåëüíîé ïåðåñòàíîâêîé (îáðàòíîé ïî îòíîøåíèþ ê ïåðâîí à÷àëüíîé). Íà êàæäîì ýòàïå (ñì. 10-é) áèòû êëþ÷à ñäâèãàþòñÿ, è çàòåì èç 56 áèòîâ êëþ÷à âûáèðàþòñÿ 48 áèòîâ. Ïð àâàÿ ïîëîâèíà äàííûõ óâåëè÷èâàåòñÿ äî 48 áèòîâ ñ ïîìîùüþ ïåðåñòàíîâêè ñ ðàñøèðåíèåì, îáúåäèíÿåòñÿ ï îñðåäñòâîì XOR ñ 48 áèòàìè ñìåùåííîãî è ïåðåñòàâëåííîãî êëþ÷à, ïðîõîäèò ÷åðåç 8 S-áëîêîâ, îáðàçóÿ 32 í îâûõ áèòà, è ïåðåñòàâëÿåòñÿ ñíîâà. Ýòè ÷åòûðå îïåðàöèè è âûïîëíÿþòñÿ ôóíêöèåé f. Çàòåì ðåçóëüòàò ôóíêöèè f îáúåäèíÿåòñÿ ñ ëåâîé ïîëîâèíîé ñ ïîìîùüþ äðóãîãî XOR.  èòîãå ýòèõ äåéñòâèé ïîÿâëÿåòñÿ íîâàÿ ïðàâàÿ ï îëîâèíà, à ñòàðàÿ ïðàâàÿ ïîëîâèíà ñòàíîâèòñÿ íîâîé ëåâîé. Ýòè äåéñòâèÿ ïîâòîðÿþòñÿ 16 ðàç, îáðàçóÿ 16 ýòàïîâ DES.
Li-1
Êëþ÷
Ri-1
Ñäâèã
Ñäâèã
Ïåðåñòàíîâêà ñî ñæàòèåì
Ïåðåñòàíîâêà ñ ðàñøèðåíèåì
Ïîäñòàíîâêà â S-áëîêå Ïåðåñòàíîâêà â P-áëîêå
Li
Êëþ÷
Ri Ðèñ. 12-2. Îäèí ýòàï DES.
Åñëè Bi - ýòî ðåçóëüòàò i-îé èòåðàöèè, Li è Ri - ëåâàÿ è ïðàâàÿ ïîëîâèíû Bi , Ki - 48-áèòîâûé êëþ÷ äëÿ ýòàïà i, à f - ýòî ôóíêöèÿ, âûïîëíÿþùèå âñå ïîäñòàíîâêè, ïåðåñòàíîâêè è XOR ñ êëþ÷îì, òî ýòàï ìîæíî ïðåäñòàâèòü êàê: Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1, Ki ) Íà÷àëüíàÿ ïåðåñòàíîâêà Íà÷àëüíàÿ ïåðåñòàíîâêà âûïîëíÿåòñÿ åùå äî ýòàïà 1, ïðè ýòîì âõîäíîé áëîê ïåðåñòàâëÿåòñÿ, êàê ïîêàçàíî â 11-é. Ýòó è âñå äðóãèå òàáëèöû ýòîé ãëàâû íàäî ÷èòàòü ñëåâà íàïðàâî è ñâåðõó âíèç. Íàïðèìåð, íà÷àëüíàÿ ïåð åñòàíîâêà ïåðåìåùàåò áèò 58 â áèòîâóþ ïîçèöèþ 1, áèò 50 - â áèòîâóþ ïîçèöèþ 2, áèò 42 - â áèòîâóþ ïîçèöèþ 3, è òàê äàëåå. Òàáë. 12-1. Íà÷àëüíàÿ ïåðåñòàíîâêà 58,
50,
42,
34,
26,
18,
10,
2,
60,
52,
44,
36,
28,
20,
12,
4,
62,
54,
46,
38,
30,
22,
14,
6,
64,
56,
48,
40,
32,
24,
16,
8,
57,
49,
41,
33,
25,
17,
9,
1,
59,
51,
43,
35,
27,
19,
11,
3,
61,
53,
45,
37,
29,
21,
13,
5,
63,
55,
47,
39,
31,
23,
15,
7
Íà÷àëüíàÿ ïåðåñòàíîâêà è ñîîòâåòñòâóþùàÿ çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêà íå âëèÿþò íà áåçîïàñíîñòü DES. (Êàê ìîæíî ëåãêî çàìåòèòü, ýòà ïåðåñòàíîâêà â ïåðâóþ î÷åðåäü ñëóæèò äëÿ îáëåã÷åíèÿ ïîáàéòíîé çàãðóçêè äà ííûõ îòêðûòîãî òåêñòà è øèôðîòåêñòà â ìèêðîñõåìó DES. Íå çàáûâàéòå, ÷òî DES ïîÿâèëñÿ ðàíüøå 16- è 32áèòîâûõ ìèêðîïðîöåññîðíûõ øèí.) Òàê êàê ïðîãðàììíàÿ ðåàëèçàöèÿ ýòîé ìíîãîáèòîâîé ïåðåñòàíîâêè íåëåãêà (â îòëè÷èå îò òðèâèàëüíîé àïïàðàòíîé), âî ìíîãèõ ïðîãðàììíûõ ðåàëèçàöèÿõ DES íà÷àëüíàÿ è çàêëþ÷èòåë üíûå ïåðåñòàíîâêè íå èñïîëüçóþòñÿ. Õîòÿ òàêîé íîâûé àëãîðèòì íå ìåíåå áåçîïàñåí, ÷åì DES, îí íå ñîîòâåòñ òâóåò ñòàíäàðòó DES è, ïîýòîìó, íå ìîæåò íàçûâàòüñÿ DES. Ïðåîáðàçîâàíèÿ êëþ÷à Ñíà÷àëà 64-áèòîâûé êëþ÷ DES óìåíüøàåòñÿ äî 56-áèòîâîãî êëþ÷à îòáðàñûâàíèåì êàæäîãî âîñüìîãî áèòà, êàê ïîêàçàíî â 10-é. Ýòè áèòû èñïîëüçóþòñÿ òîëüêî äëÿ êîíòðîëÿ ÷åòíîñòè, ïîçâîëÿÿ ïðîâåðÿòü ïðàâèëüíîñòü êëþ÷à. Ïîñëå èçâëå÷åíèÿ 56-áèòîâîãî êëþ÷à äëÿ êàæäîãî èç 16 ýòàïîâ DES ãåíåðèðóåòñÿ íîâûé 48-áèòîâûé
ïîäêëþ÷. Ýòè ïîäêëþ÷è, Ki , îïðåäåëÿþòñÿ ñëåäóþùèì îáðàçîì. Òàáë. 12-2. Ïåðåñòàíîâêà êëþ÷à 57,
49,
41,
33,
25,
17,
9,
1,
58,
50,
42,
34,
26,
18,
10,
2,
59,
51,
43,
35,
27,
19,
11,
3,
60,
52,
44,
36,
63,
55,
47,
39,
31,
23,
15,
7,
62,
54,
46,
38,
30,
22,
14,
6,
61,
53,
45,
37,
29,
21,
13,
5,
28,
20,
12,
4
Âî ïåðâûõ, 56-áèòîâûé êëþ÷ äåëèòñÿ íà äâå 28-áèòîâûõ ïîëîâèíêè. Çàòåì, ïîëîâèíêè öèêëè÷åñêè ñäâèã àþòñÿ íàëåâî íà îäèí èëè äâà áèòà â çàâèñèìîñòè îò ýòàïà. Ýòîò ñäâèã ïîêàçàí â 9-é. Òàáë. 12-3. ×èñëî áèòîâ ñäâèãà êëþ÷à â çàâèñèìîñòè îò ýòàïà Ýòàï
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
×èñëî
1
1
2
2
2
2
2
2
1
2
2
2
2
2
2
1
Ïîñëå ñäâèãà âûáèðàåòñÿ 48 èç 56 áèòîâ. Òàê êàê ïðè ýòîì íå òîëüêî âûáèðàåòñÿ ïîäìíîæåñòâî áèòîâ, íî è èçìåíÿåòñÿ èõ ïîðÿäîê, ýòà îïåðàöèÿ íàçûâàåòñÿ ïåðåñòàíîâêà ñî ñæàòèåì. Åå ðåçóëüòàòîì ÿâëÿåòñÿ íàáîð èç 48 áèòîâ. Ïåðåñòàíîâêà ñî ñæàòèåì (òàêæå íàçûâàåìàÿ ïåðåñòàâëåííûì âûáîðîì) îïðåäåëåíà â 8-é. Íàïðèìåð, áèò ñäâèíóòîãî êëþ÷à â ïîçèöèè 33 ïåðåìåùàåòñÿ â ïîçèöèþ 35 ðåçóëüòàòà, à 18-é áèò ñäâèíóòîãî êëþ÷à îòáð àñûâàåòñÿ. Òàáë. 12-4. Ïåðåñòàíîâêà ñî ñæàòèåì 14,
17,
11,
2,4,
1,
5,
3,
28,
15,
6,
21,
10,
23,
19,
11,
4,
26,
8,
16,
7,
27,
20,
13,
2,
41,
52,
31,
37,
47,
55,
30,
40,
51,
45,
33,
48,
44,
49,
39,
56,
34,
53,
46,
42,
50,
36,
29,
32
Èç-çà ñäâèãà äëÿ êàæäîãî ïîäêëþ÷à èñïîëüçóåòñÿ îòëè÷íîå ïîäìíîæåñòâî áèòîâ êëþ÷à. Êàæäûé áèò èñïîë üçóåòñÿ ïðèáëèçèòåëüíî â 14 èç 16 ïîäêëþ÷åé, õîòÿ íå âñå áèòû èñïîëüçóþòñÿ â òî÷íîñòè îäèíàêîâîå ÷èñëî ðàç. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì Ýòà îïåðàöèÿ ðàñøèðÿåò ïðàâóþ ïîëîâèíó äàííûõ, Ri , îò 32 äî 48 áèòîâ. Òàê êàê ïðè ýòîì íå ïðîñòî ïîâò îðÿþòñÿ îïðåäåëåííûå áèòû, íî è èçìåíÿåòñÿ èõ ïîðÿäîê, ýòà îïåðàöèÿ íàçûâàåòñÿ ïåðåñòàíîâêîé ñ ðàñøèðåíèåì. Ó íåå äâå çàäà÷è: ïðèâåñòè ðàçìåð ïðàâîé ïîëîâèíû â ñîîòâåòñòâèå ñ êëþ÷îì äëÿ îïåðàöèè XOR è ïîë ó÷èòü áîëåå äëèííûé ðåçóëüòàò, êîòîðûé ìîæíî áóäåò ñæàòü â õîäå îïåðàöèè ïîäñòàíîâêè. Îäíàêî ãëàâíûé êðèïòîãðàôè÷åñêèé ñìûñë ñîâñåì â äðóãîì. Çà ñ÷åò âëèÿíèÿ îäíîãî áèòà íà äâå ïîäñòàíîâêè áûñòðåå âîçðàñòàåò çàâèñèìîñòü áèòîâ ðåçóëüòàòà îò áèòîâ èñõîäíûõ äàííûõ. Ýòî íàçûâàåòñÿ ëàâèííûì ýôôåêòîì. DES ñïðîåêòèðîâàí òàê, ÷òîáû êàê ìîæíî áûñòðåå äîáèòüñÿ çàâèñèìîñòè êàæäîãî áèòà øèôðîòåêñòà îò êàæäîãî áèòà î òêðûòîãî òåêñòà è êàæäîãî áèòà êëþ÷à. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì ïîêàçàíà íà 9-é. Èíîãäà îíà íàçûâàåòñÿ E-áëîêîì (îò expansion). Äëÿ êàæäîãî 4-áèòîâîãî âõîäíîãî áëîêà ïåðâûé è ÷åòâåðòûé áèò ïðåäñòàâëÿþò ñîáîé äâà áèòà âûõîäíîãî áëîêà, à âòîðîé è òðåòèé áèòû - îäèí áèò âûõîäíîãî áëîêà.  7-é ïîêàçàíî, êàêèå ïîçèöèè ðåçóëüòàòà ñîîòâåòñòâóþò êàêèì ïîç èöèÿì èñõîäíûõ äàííûõ. Íàïðèìåð, áèò âõîäíîãî áëîêà â ïîçèöèè 3 ïåðåìåñòèòñÿ â ïîçèöèþ 4 âûõîäíîãî áëîêà, à áèò âõîäíîãî áëîêà â ïîçèöèè 21 - â ïîçèöèè 30 è 32 âûõîäíîãî áëîêà.
1
2 3
4
5
6 7
8
9 10 11 12
13 14 15 16
32
48
1
2 3
4
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Ðèñ. 12-3. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì.
Õîòÿ âûõîäíîé áëîê áîëüøå âõîäíîãî, êàæäûé âõîäíîé áëîê ãåíåðèðóåò óíèêàëüíûé âûõîäíîé áëîê. Òàáë. 12-5. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì 32,
1,
2,
3,
4,
5,
4,
5,
6,
7,
8,
9,
8,
9,
10,
11,
12.,
13,
12,
13,
14,
15,
16,
17,
16,
17,
18,
19,
20,
21,
20,
21,
22,
23,
24,
25,
24,
25,
26,
27,
28,
29,
28,
29,
30,
31,
32,
1
Ïîäñòàíîâêà ñ ïîìîùüþ S-áëîêîâ Ïîñëå îáúåäèíåíèÿ ñæàòîãî áëîêà ñ ðàñøèðåííûì áëîêîì ñ ïîìîùüþ XOR íàä 48-áèòîâûì ðåçóëüòàòîì âûïîëíÿåòñÿ îïåðàöèÿ ïîäñòàíîâêè. Ïîäñòàíîâêè ïðîèçâîäÿòñÿ â âîñüìè áëîêàõ ïîäñòàíîâêè, èëè S-áëîêàõ (îò substitution). Ó êàæäîãî S-áëîêà 6-áèòîâûé âõîä è 4-áèòîâûé âûõîä, âñåãî èñïîëüçóåòñÿ âîñåìü ðàçëè÷íûõ S-áëîêîâ. (Äëÿ âîñüìè S-áëîêîâ DES ïîòðåáóåòñÿ 256 áàéòîâ ïàìÿòè.) 48 áèòîâ äåëÿòñÿ íà âîñåìü 6-áèòîâûõ ïîäáëîêà. Êàæäûé îòäåëüíûé ïîäáëîê îáðàáàòûâàåòñÿ îòäåëüíûì S-áëîêîì: ïåðâûé ïîäáëîê - S-áëîêîì 1, âò îðîé - S-áëîêîì 2, è òàê äàëåå. Ñì. 8-é. 46-áèòîâûé âõîä
S-áëîê 1
S-áëîê 2
S-áëîê 3
S-áëîê 4
S-áëîê 5
S-áëîê 6
S-áëîê 7
S-áëîê 8
32-áèòîâûé âûõîä
Ðèñ. 12-4. Ïîäñòàíîâêà - S-áëîêè. Êàæäûé S-áëîê ïðåäñòàâëÿåò ñîáîé òàáëèöó èç 2 ñòðîê è 16 ñòîëáöîâ. Êàæäûé ýëåìåíò â áëîêå ÿâëÿåòñÿ 4áèòîâûì ÷èñëîì. Ïî 6 âõîäíûì áèòàì S-áëîêà îïðåäåëÿåòñÿ, ïîä êàêèìè íîìåðàìè ñòîëáöîâ è ñòðîê èñêàòü âûõîäíîå çíà÷åíèå. Âñå âîñåìü S-áëîêîâ ïîêàçàíû â 6-é. Òàáë. 12-6. S-áëîêè S-áëîê 1: 14,
4,
13,
1,
2,
15,
11,
8,
3,
10,
6,
12.,
5,
9,
0,
7,
0,
15,
7,
4,
14,
2,
13,
1,
10,
6,
12.,
11,
9,
5,
3,
8,
4,
1,
14,
8,
13,
6,
2,
11,
15,
12,
9,
7,
3,
10,
5,
0,
15,
12,
8,
2,
4,
9,
1,
7,
5,
11,
3,
14,
10,
0,
6,
13,
S-áëîê 2: 15,
1,
8,
14,
6,
11,
3,
4,
9,
7,
2,
13,
12,
0,
5,
10,
3,
13,
4,
7,
15,
2,
8,
14,
12,
0,
1,
10,
6,
9,
11,
5,
0,
14,
7,
11,
10,
4,
13,
1,
5,
8,
12,
6,
9,
3,
2,
15,
13,
8,
10,
1,
3,
15,
4,
2,
11,
6,
7,
12,
0,
5,
14,
9,
S-áëîê 3: 10,
0,
9,
14,
6,
3,
15,
5,
1,
13,
12,
7,
11,
4,
2,
8,
13,
7,
0,
9,
3,
4,
6,
10,
2,
8,
5,
14,
12,
11,
15,
1,
13,
6,
4,
9,
8,
15,
3,
0,
11,
1,
2,
12,
5,
10,
14,
7,
1,
10,
13,
0,
6,
9,
8,
7,
4,
15,
14,
3,
11,
5,
2,
12,
S-áëîê 4: 7,
13,
14,
3,
0,
6,
9,
10,
1,
2,
8,
5,
11,
12,
4,
15,
13,
8,
11,
5,
6.
15,
0,
3,
4,
7,
2,
12,
1,
10,
14,
9,
10,
6,
9,
0,
12,
11,
7,
13,
15,
1,
3,
14,
5,
2,
8,
4,
3,
15,
0,
6,
10,
1,
13,
8,
9,
4,
5,
11,
12,
7,
2,
14,
S-áëîê 5: 2,
12,
4,
1,
7,
10,
11,
6,
8,
5,
3,
15,
13,
0,
14,
9,
14,
11,
2,
12,
4,
7,
13,
1,
5,
0,
15,
10,
3,
9,
8,
6,
4,
2,
1,
11,
10,
13,
7,
8,
15,
9,
12,
5,
6,
3,
0,
14,
11,
8,
12,
7,
1,
14,
2,
13,
6,
15,
0,
9,
10,
4,
5,
3,
S-áëîê 6: 12,
1,
10,
15,
9,
2,
6,
8,
0,
13,
3,
4,
14,
7,
5,
11,
10,
15,
4,
2,
7,
12,
9,
5,
6,
1,
13,
14,
0,
11,
3,
8,
9,
14,
15,
5,
2,
8,
12,
3,
7,
0,
4,
10,
1,
13,
11,
6,
4,
3,
2,
12,
9,
5,
15,
10,
11,
14,
1,
7,
6,
0,
8,
13,
S-áëîê 7: 4,
11,
2,
14,
15,
0,
8,
13,
3,
12,
9,
7,
5,
10,
6,
1,
13,
0,
11,
7,
4,
9,
1,
10,
14,
3,
5,
12,
2,
15,
8,
6,
1,
4,
11,
13,
12,
3,
7,
14,
10,
15,
6,
8,
0,
5,
9,
2,
6,
11,
13,
8,
1,
4,
10,
7,
9,
5,
0,
15,
14,
2,
3,
12,
S-áëîê 8: 13,
2,
8,
4,
6,
15,
11,
1,
10,
9,
3,
14,
5,
0,
12,
7,
1,
15,
13,
8,
10,
3,
7,
4,
12,
5,
6,
11,
0,
14,
9,
2,
7,
11,
4,
1,
9,
12,
14,
2,
0,
6,
10,
13,
15,
3,
5,
8,
2,
1,
14,
7,
4,
10,
8,
13,
15,
12,
9,
0,
3,
5,
6,
11
Âõîäíûå áèòû îñîáûì îáðàçîì îïðåäåëÿþò ýëåìåíò S-áëîêà. Ðàññìîòðèì 6-áèòîâûé âõîä S-áëîêà: b1, b2, b3, b4, b5 è b6. Áèòû b1 è b6 îáúåäèíÿþòñÿ, îáðàçóÿ 2-áèòîâîå ÷èñëî îò 0 äî 3, ñîîòâåòñòâóþùåå ñòðîêå òàáëèöû. Ñðåäíèå 4 áèòà, ñ b2 ïî b5, îáúåäèíÿþòñÿ, îáðàçóÿ 4-áèòîâîå ÷èñëî îò 0 äî 15, ñîîòâåòñòâóþùåå ñòîëáöó òàáë èöû.
Íàïðèìåð, ïóñòü íà âõîä øåñòîãî S-áëîêà (ò.å., áèòû ôóíêöèè XOR ñ 31 ïî 36) ïîïàäàåò 110011. Ïåðâûé è ïîñëåäíèé áèò, îáúåäèíÿÿñü, îáðàçóþò 11, ÷òî ñîîòâåòñòâóåò ñòðîêå 3 øåñòîãî S-áëîêà. Ñðåäíèå 4 áèòà îáðàç óþò 1001, ÷òî ñîîòâåòñòâóåò ñòîëáöó 9 òîãî æå S-áëîêà. Ýëåìåíò S-áëîêà 6, íàõîäÿùèéñÿ íà ïåðåñå÷åíèè ñòðîêè 3 è ñòîëáöà 9, - ýòî 14. (Íå çàáûâàéòå, ÷òî ñòðîêè è ñòîëáöû íóìåðóþòñÿ ñ 0, à íå ñ 1.) Âìåñòî 110011 ïîäñòà âëÿåòñÿ 1110. Êîíå÷íî æå, íàìíîãî ëåã÷å ðåàëèçîâàòü S-áëîêè ïðîãðàììíî â âèäå ìàññèâîâ ñ 64 ýëåìåíòàìè. Äëÿ ýòîãî ïîòðåáóåòñÿ ïåðåóïîðÿäî÷èòü ýëåìåíòû, ÷òî íå ÿâëÿåòñÿ òðóäíîé çàäà÷åé. (Èçìåíèòü èíäåêñû, íå èçìåíÿÿ ïîð ÿäîê ýëåìåíòîâ, íåäîñòàòî÷íî. S-áëîêè ñïðîåêòèðîâàíû î÷åíü òùàòåëüíî.) Îäíàêî òàêîé ñïîñîá îïèñàíèÿ Sáëîêîâ ïîìîãàåò ïîíÿòü, êàê îíè ðàáîòàþò. Êàæäûé S-áëîê ìîæíî ðàññìàòðèâàòü êàê ôóíêöèþ ïîäñòàíîâêè 4áèòîâîãî ýëåìåíòà: b2 ïî b5ÿâëÿþòñÿ âõîäîì, à íåêîòîðîå 4-áèòîâîå ÷èñëî - ðåçóëüòàòîì. Áèòû b1 è b6 îïðåäåëÿþòñÿ ñîñåäíèìè áëîêàìè, îíè îïðåäåëÿþò îäíó èç ÷åòûðåõ ôóíêöèé ïîäñòàíîâêè, âîçìîæíûõ â äàííîì Sáëîêå. Ïîäñòàíîâêà ñ ïîìîùüþ S-áëîêîâ ÿâëÿåòñÿ êëþ÷åâûì ýòàïîì DES. Äðóãèå äåéñòâèÿ àëãîðèòìà ëèíåéíû è ëåãêî ïîääàþòñÿ àíàëèçó. S-áëîêè íåëèíåéíû, è èìåííî îíè â áîëüøåé ñòåïåíè, ÷åì âñå îñòàëüíîå, îáåñïå÷ èâàþò áåçîïàñíîñòü DES.  ðåçóëüòàòå ýòîãî ýòàïà ïîäñòàíîâêè ïîëó÷àþòñÿ âîñåìü 4-áèòîâûõ áëîêîâ, êîòîðûå âíîâü îáúåäèíÿþòñÿ â åäèíûé 32-áèòîâûé áëîê. Ýòîò áëîê ïîñòóïàåò íà âõîä ñëåäóþùåãî ýòàïà - ïåðåñòàíîâêè ñ ïîìîùüþ P-áëîêîâ. Ïåðåñòàíîâêà ñ ïîìîùüþ P-áëîêîâ 32-áèòîâûé âûõîä ïîäñòàíîâêè ñ ïîìîùüþ S-áëîêîâ, ïåðåòàñîâûâàþòñÿ â ñîîòâåòñòâèè ñ P-áëîêîì. Ýòà ï åðåñòàíîâêà ïåðåìåùàåò êàæäûé âõîäíîé áèò â äðóãóþ ïîçèöèþ, íè îäèí áèò íå èñïîëüçóåòñÿ äâàæäû, è íè îäèí áèò íå èãíîðèðóåòñÿ. Ýòîò ïðîöåññ íàçûâàåòñÿ ïðÿìîé ïåðåñòàíîâêîé èëè ïðîñòî ïåðåñòàíîâêîé. Ïîçèöèè, â êîòîðûå ïåðåìåùàþòñÿ áèòû, ïîêàçàíû â 5-é. Íàïðèìåð, áèò 21 ïåðåìåùàåòñÿ â ïîçèöèþ 4, à áèò 4 - â ïîçèöèþ 31. Òàáë. 12-7. Ïåðåñòàíîâêà ñ ïîìîùüþ P-áëîêîâ 16,
7,
20,
21,
29,
12,
28,
17,
1,
15,
23,
26,
5,
18,
31,
10,
2,
8,
24,
14,
32,
27,
3,
9,
19,
13,
30,
6,
22,
11,
4,
25
Íàêîíåö, ðåçóëüòàò ïåðåñòàíîâêè ñ ïîìîùüþ P-áëîêà îáúåäèíÿåòñÿ ïîñðåäñòâîì XOR ñ ëåâîé ïîëîâèíîé ïåðâîíà÷àëüíîãî 64-áèòîâîãî áëîêà. Çàòåì ëåâàÿ è ïðàâàÿ ïîëîâèíû ìåíÿþòñÿ ìåñòàìè, è íà÷èíàåòñÿ ñëåäó þùèé ýòàï. Çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêà Çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêà ÿâëÿåòñÿ îáðàòíîé ïî îòíîøåíèþ ê íà÷àëüíîé ïåðåñòàíîâêè è îïèñàíà â 4-é. Îáðàòèòå âíèìàíèå, ÷òî ëåâàÿ è ïðàâàÿ ïîëîâèíû íå ìåíÿþòñÿ ìåñòàìè ïîñëå ïîñëåäíåãî ýòàïà DES, âìåñòî ýòîãî îáúåäèíåííûé áëîê R16L16 èñïîëüçóåòñÿ êàê âõîä çàêëþ÷èòåëüíîé ïåðåñòàíîâêè.  ýòîì íåò íè÷åãî îñ îáåííîãî, ïåðåñòàíîâêà ïîëîâèíîê ñ ïîñëåäóþùèì öèêëè÷åñêèì ñäâèãîì ïðèâåëà áû ê òî÷íî òàêîìó æå ðåçóë üòàòó. Ýòî ñäåëàíî äëÿ òîãî, ÷òîáû àëãîðèòì ìîæíî áûëî èñïîëüçîâàòü êàê äëÿ øèôðîâàíèÿ, òàê è äëÿ äåøèôð èðîâàíèÿ. Òàáë. 12-8. Çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêà 40,
8,
48,
16,
56,
24,
64,
32,
39,
7,
47,
15,
55,
23,
63,
31,
38,
6,
46,
14,
54,
22,
62,
30,
37,
5,
45,
13,
53,
21,
61,
29,
36,
4,
44,
12,
52,
20,
60,
28,
35,
3,
43,
11,
51,
19,
59,
27,
34,
2,
42,
10,
50,
18,
58,
26,
33,
1,
41,
9,
49,
17,
57,
25
Äåøèôðèðîâàíèå DES Ïîñëå âñåõ ïîäñòàíîâîê, ïåðåñòàíîâîê, îïåðàöèé XOR è öèêëè÷åñêèõ ñäâèãîâ ìîæíî ïîäóìàòü, ÷òî àëã îðèòì äåøèôðèðîâàíèÿ, ðåçêî îòëè÷àÿñü îò àëãîðèòìà øèôðîâàíèÿ, òî÷íî òàêæå çàïóòàí. Íàïðîòèâ, ðàçëè÷íûå êîìïîíåíòû DES áûëè ïîäîáðàíû òàê, ÷òîáû âûïîëíÿëîñü î÷åíü ïîëåçíîå ñâîéñòâî: äëÿ øèôðîâàíèÿ è äåøè ô-
ðèðîâàíèÿ èñïîëüçóåòñÿ îäèí è òîò æå àëãîðèòì. DES ïîçâîëÿåò èñïîëüçîâàòü äëÿ øèôðîâàíèÿ èëè äåøèôðèðîâàíèÿ áëîêà îäíó è òó æå ôóíêöèþ. Åäèíñ òâåííîå îòëè÷èå ñîñòîèò â òîì, ÷òî êëþ÷è äîëæíû èñïîëüçîâàòüñÿ â îáðàòíîì ïîðÿäêå. Òî åñòü, åñëè íà ýòàïàõ øèôðîâàíèÿ èñïîëüçîâàëèñü êëþ÷è K1, K2, K3, ..., K16, òî êëþ÷àìè äåøèôðèðîâàíèÿ áóäóò K16, K15, K14, ..., K1. Àëãîðèòì, êîòîðûé ñîçäàåò êëþ÷ äëÿ êàæäîãî ýòàïà, òàêæå öèêëè÷åí. Êëþ÷ ñäâèãàåòñÿ íàïðàâî, à ÷èñëî ïîç èöèé ñäâèãà ðàâíî 0, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1. Ðåæèìû DES FIPS PUB 81 îïðåäåëÿåò ÷åòûðå ðåæèìà ðàáîòû: ECB, CBC, OFB è CFB (ñì. ãëàâó 9) [1143]. Áàíêîâñêèå ñòàíäàðòû ANSI îïðåäåëÿþò äëÿ øèôðîâàíèÿ ECB è CBC, à äëÿ ïðîâåðêè ïîäëèííîñòè - CBC è n-áèòîâûé CFB [52].  ìèðå ïðîãðàììíîãî îáåñïå÷åíèÿ ñåðòèôèêàöèÿ îáû÷íî íå âàæíà. Èç-çà ñâîåé ïðîñòîòû â áîëüøèíñòâå ñóùåñòâóþùèõ êîììåð÷åñêèõ ïðîãðàìì èñïîëüçóåòñÿ ECB, õîòÿ ýòîò ðåæèì íàèáîëåå ÷óâñòâèòåëåí ê âñêð ûòèþ. CBC èñïîëüçóåòñÿ ðåäêî íåñìîòðÿ íà òî, ÷òî îí ëèøü íåçíà÷èòåëüíî ñëîæíåå, ÷åì ECB, è îáåñïå÷èâàåò áîëüøóþ áåçîïàñíîñòü. Àïïàðàòíûå è ïðîãðàììíûå ðåàëèçàöèè DES Îá ýôôåêòèâíûõ àïïàðàòíûõ è ïðîãðàììíûõ ðåàëèçàöèÿõ àëãîðèòìà ìíîãî ïèñàëîñü [997, 81, 533, 534, 437, 738, 1573, 176, 271, 1572]. Óòâåðæäàåòñÿ, ÷òî ñàìîé áûñòðîé ÿâëÿåòñÿ ìèêðîñõåìà DES, ðàçðàáîòàííàÿ â Digital Equipment Corporation [512]. Îíà ïîääåðæèâàåò ðåæèìû ECB è CBC è îñíîâàíà íà âåíòèëüíîé ìàòðèöå GaAs, ñîñòîÿùåé èç 50000 òðàíçèñòîðîâ. Äàííûå ìîãóò çàøèôðîâûâàòüñÿ è äåøèôðèðîâàòüñÿ ñî ñêîðîñòüþ 1 ãèãàáèò â ñåêóíäó, îáðàáàòûâàÿ 16.8 ìèëëèîíîâ áëîêîâ â ñåêóíäó. Ýòî âïå÷àòëÿåò. Ïàðàìåòðû ðÿäà êîììåð÷åñêèõ ìè êðîñõåì DES ïðèâåäåíû â 3-é. Êàæóùèåñÿ ïðîòèâîðå÷èÿ ìåæäó òàêòîâîé ÷àñòîòîé è ñêîðîñòüþ îáðàáîòêè äà ííûõ îáóñëîâëåíû êîíâåéåðèçàöèåé âíóòðè ìèêðîñõåìû, â êîòîðîé ìîæåò áûòü ðåàëèçîâàíî íåñêîëüêî ðàá îòàþùèõ ïàðàëëåëüíî DES-ìåõàíèçìîâ. Íàèáîëåå âûäàþùåéñÿ ìèêðîñõåìîé DES ÿâëÿåòñÿ 6868 VLSI (ðàíåå íàçûâàâøàÿñÿ "Gatekeeper'' - Âðàòàðü). Îíà íå òîëüêî ìîæåò âûïîëíÿòü øèôðîâàíèå DES çà 8 òàêòîâ (ëàáîðàòîðíûå ïðîòîòèïû ìîãóò äåëàòü ýòî çà 4 òàêòà), íî òàêæå âûïîëíÿòü òðîåêðàòíûé DES â ðåæèìå ECB çà 25 òàêòîâ, à òðîåêðàòíûé DES â ðåæèìàõ OFB èëè CBC - çà 35 àêòîâ. Ìíå ýòî êàæåòñÿ íåâîçìîæíûì, íî óâåðÿþ âàñ, îíà èìåííî òàê è ðàáîòàåò. Ïðîãðàììíàÿ ðåàëèçàöèÿ DES íà ìýéíôðåéìå IBM 3090 ìîæåò âûïîëíèòü 32000 øèôðîâàíèé DES â ñåêó íäó. Íà äðóãèõ ïëàòôîðìàõ ñêîðîñòü íèæå, íî âñå ðàâíî äîñòàòî÷íî âåëèêà.  2-é [603, 793] ïðèâåäåíû äåéñòâèòåëüíûå ðåçóëüòàòû è îöåíêè äëÿ ðàçëè÷íûõ ìè êðîïðîöåññîðîâ Intel è Motorola. Òàáë. 12-9. Êîììåð÷åñêèå ìèêðîñõåìû DES Ïðîèçâîäèòåëü
Ìèêðîñõåìà
Ãîä
Òàêòîâàÿ ÷àñòîòà
Ñêîðîñòü äàííûõ
Äîñòóïíîñòü
AMD
Am9518
1981
3 ÌÃö
l.3 Ìáàéò/ñ
Í
AMD
Am9568
?
4 ÌÃö
l.5 Ìáàéò/ñ
Í
AMD
AmZ8068
1982
4 ÌÃö
l.7 Ìáàéò/ñ
Í
AT&T
T7000A
1985
?
l.9 Ìáàéò/ñ
Í
CE-Infosys
SuperCrypt CE99C003
1992
20 ÌÃö
12.5 Ìáàéò/ñ
Ä
CE-Infosys
SuperCrypt CE99C003A
1994
30 ÌÃö
20.0 Ìáàéò/ñ
Ä
Cryptech
Cry12C102
1989
20 ÌÃö
2.8 Ìáàéò/ñ
Ä
Newbridge
CA20C03A
1991
25 ÌÃö
3.85 Ìáàéò/ñ
Ä
Newbridge
CA20C03W
1992
8 ÌÃö
0.64 Ìáàéò/ñ
Ä
Newbridge
CA95C68/18/0 9
1993
33 ÌÃö
14.67 Ìáàéò/ñ
Ä
Pijnenburg
PCC100
?
?
2.5 Ìáàéò/ñ
Ä
Roadrunner284
?
40 ÌÃö
35.5 Ìáàéò/ñ
Ä
Semaphore Communications
VLSI Technology
VM007
1993
32 ÌÃö
200.0 Ìáàéò/ñ
Ä
VLSI Technology
VM009
1993
33 ÌÃö
14.0
Ä
VLSI Technology
6868
1995
32 ÌÃö
64.0 Ìáàéò/ñ
Ä
WD2001/2002
1984
3 ÌÃö
0.23 Ìáàéò/ñ
Í
Western Digital
Òàáë. 12-10. Ñêîðîñòè DES íà ðàçëè÷íûõ ìèêðîïðîöåññîðàõ è êîìïüþòåðàõ Ïðîöåññîð
Ñêîðîñòü (â ÌÃö)
Áëîêè DES (â ñ)
8088
4.7
370
68000
7.6
900
80286
6
1100
68020
16
3500
68030
16
3900
80386
25
5000
68030
50
10000
68040
25
16000
68040
40
23000
80486
66
43000
Sun ELC
26000
HyperSparc
32000
RS6000-350
53000
Sparc 10/52
84000
DEC Alpha 4000/610
154000
HP9000/887
125
196,000
12.3 Áåçîïàñíîñòü DES Ëþäè äàâíî èíòåðåñóþòñÿ áåçîïàñíîñòüþ DES [458]. Áûëî ìíîãî ðàññóæäåíèé î äëèíå êëþ÷à, êîëè÷åñòâå èòåðàöèé è ñõåìå S-áëîêîâ. S-áëîêè áûëè íàèáîëåå òàèíñòâåííûìè - êàêèå-òî êîíñòàíòû, áåç âèäèìîãî îáúÿ ñíåíèÿ äëÿ ÷åãî è çà÷åì îíè íóæíû. Õîòÿ IBM óòâåðæäàëà, ÷òî ðàáîòà àëãîðèòìà áûëà ðåçóëüòàòîì 17 ÷åëîâåêîëåò èíòåíñèâíîãî êðèïòîàíàëèçà, íåêîòîðûå ëþäè îïàñàëèñü, ÷òî NSA âñòàâèëî â àëãîðèòì ëàçåéêó, êîòîðàÿ ïîçâîëèò àãåíòñòâó ëåãêî äåøèôðèðîâàòü ïåðåõâà÷åííûå ñîî áùåíèÿ. Êîìèòåò ïî ðàçâåäêå Ñåíàòà ÑØÀ ÷ðåçâû÷àéíî òùàòåëüíî ðàññëåäîâàë ýòîò âîïðîñ â 1978 ãîäó. Ðåçóëüòàòû ðàáîòû êîìèòåòà áûëè çàñåêðå÷åíû, íî â îòêðûòûõ èòîãàõ ýòîãî ðàññëåäîâàíèÿ ñ NSA áûëè ñíÿòû âñå îáâèí åíèÿ â íåóìåñòíîì âìåøàòåëüñòâå â ïðîåêòèðîâàíèå àëãîðèòìà [1552]. "Áûëî ñêàçàíî, ÷òî NSA óáåäèëî IBM â äîñòàòî÷íîñòè áîëåå êîðîòêîãî êëþ÷à, êîñâåííî ïîìîãëî ðàçðàáîòàòü ñòðóêòóðû S-áëîêîâ è ïîäòâåðäèëî, ÷òî â îêîí÷àòåëüíîì âàðèàíòå DES, ñ ó÷åòîì âñåõ çíàíèé NSA, îòñóòñòâîâàëè ñòàòèñòè÷åñêèå èëè ìàòåìàòè÷åñêèå áðåøè " [435]. Îäíàêî, òàê êàê ïðàâèòåëüñòâî íå îïóáëèêîâàëî ïîäðîáíîñòè ðàññëåäîâàíèÿ, ìíîãèõ ëþäåé óá åäèòü íå óäàëîñü. Òà÷ìåí (Tuchman) è Ìàéåð (Meyer), ðàçðàáîòàâøèå DES êðèïòîãðàôû IBM, çàÿâèëè, ÷òî NSA íå èçìåíÿëî ïðîåêò [841]: Èõ îñíîâíûì ïîäõîäîì áûë ïîèñê ñèëüíûõ ïîäñòàíîâîê, ïåðåñòàíîâîê è ôóíêöèé ïëàíèðîâàíèÿ êëþ÷åé. . . . IBM ïî ïðîñüáå NSA çàñåêðåòèëî èíôîðìàöèþ, êàñàþùóþñÿ êðèòåðèåâ âûáîðà. ... "NSA ñîîáùèëî íàì, ÷òî ìû ñàìîñòîÿòåëüíî çàí îâî îòêðûëè ðÿä ñåêðåòîâ, èñïîëüçóåìûõ äëÿ ñîçäàíèÿ èõ ñîáñòâåííûõ àëãîðèòìîâ", - îá úÿñíÿåò Òà÷ìåí.
Ïîçæå â îäíîé èç ñòàòåé Òà÷ìåí ïèñàë: "Àëãîðèòì DES áûë ïîëíîñòüþ ðàçðàáîòàí âíóòðè IBM åå ñîòðó äíèêàìè. NSA íå ïðîäèêòîâàëî íè åäèíîé ñâÿçè!" Òà÷ìåí ïîäòâåðäèë ýòî óòâåðæäåíèå â ñâîåì äîêëàäå ïî èñò îðèè DES íà Íàöèîíàëüíîé êîíôåðåíöèè ïî êîìïüþòåðíîé áåçîïàñíîñòè (National Computer Security Conference)
â 1992 ãîäó. Ñ äðóãîé ñòîðîíû, Êîïïåðñìèò ïèñàë [373, 374]: "Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè (NSA) òàêæå ïîì îãàëî IBM òåõíè÷åñêèìè ñîâåòàìè." À Êîíõåéì (Konheim) óòâåðæäàë: "Ìû ïîñëàëè S-áëîêè â Âàøèíãòîí. Îíè âåðíóëèñü ïîëíîñòüþ ïåðåðàáîòàííûìè. Ìû ïðîâåðèëè èõ, è îíè ïðîøëè íàøó ïðîâåðêó." Íà ýòîò ôàêò è ññ ûëàþòñÿ êàê íà äîêàçàòåëüñòâî, ÷òî NSA âñòàâèëî ëàçåéêó â DES. Ïî âîïðîñó î êàêîì-ëèáî ïðåäíàìåðåííîì î ñëàáëåíèè DES NSA çàÿâèëî [363]: Îòíîñèòåëüíî Ñòàíäàðòà øèôðîâàíèÿ äàííûõ (DES) ìû ñ÷èòàåì, ÷òî îòâåò íà âàø âîïðîñ î ðîëè NSA â ðàçðàáîòêå DES ñîäåðæèòñÿ â îïóáëèêîâàííûõ èòîãàõ ðàññëåäîâàíèÿ Êîìèòåòà Ñåíàòà ïî ðàçâåäêå, ïðîâåäåííîãî â 1978 ãîäó.  ñîîáùåíèè Êîìèòåòà óêàçûâàåòñÿ, ÷òî NSA íèêîèì îáðàçîì íå èñêàæàëî àëãîðèòì, è ÷òî áåçîïàñíîñòü, ïðåäîñòàâëÿåìàÿ DES äëÿ íåñå êðåòíûõ äàííûõ, ñ öåëüþ çàùèòû êîòîðûõ îí è áûë ðàçðàáîòàí, áûëà áîëåå ÷åì àäåêâàòíà â òå÷åíèå ïî êðàéíåé ìåðå 5-10 ëåò. Êîðî÷å ãîâîðÿ, NSA íå âíîñèëî è íå ïûòàëîñü âíîñèòü íèêàêèõ îñëàáëåíèé â àëãîðèòì DES.
Òîãäà ïî÷åìó îíè èçìåíèëè S-áëîêè? Ìîæåò áûòü, ÷òîáû ãàðàíòèðîâàòü, ÷òî ëàçåéêà íå áóäåò âñòðîåíà â DES ñàìîé IBM. Ó NSA íå áûëî ïðè÷èí äîâåðÿòü èññëåäîâàòåëÿì IBM, è îíî ìîãëî ðåøèòü, ÷òî íå äî êîíöà èñïîëíèò ñâîé äîëã, åñëè íå îáåñïå÷èò îòñóòñòâèå ëàçååê â DES. Çàäàíèå S-áëîêîâ è ìîãëî áûòü îäíèì èç ñï îñîáîâ ãàðàíòèðîâàòü ýòî. Ñîâñåì íåäàâíî íîâûå ðåçóëüòàòû êðèïòîàíàëèçà ïðîÿñíèëè ýòîò âîïðîñ, êîòîðûé â òå÷åíèå ìíîãèõ ëåò áûë ïðåäìåòîì ñïåêóëÿöèé. Ñëàáûå êëþ÷è Èç-çà òîãî, ÷òî ïåðâîíà÷àëüíûé êëþ÷ èçìåíÿåòñÿ ïðè ïîëó÷åíèè ïîäêëþ÷à äëÿ êàæäîãî ýòàïà àëãîðèòìà, îïðåäåëåííûå ïåðâîíà÷àëüíûå êëþ÷è ÿâëÿþòñÿ ñëàáûìè [721, 427]. Âñïîìíèòå, ïåðâîíà÷àëüíîå çíà÷åíèå ðàñùåïëÿåòñÿ íà äâå ïîëîâèíû, êàæäàÿ èç êîòîðûõ ñäâèãàåòñÿ íåçàâèñèìî. Åñëè âñå áèòû êàæäîé ïîëîâèíû ðàâíû 0 èëè 1, òî äëÿ âñåõ ýòàïîâ àëãîðèòìà èñïîëüçóåòñÿ îäèí è òîò æå êëþ÷. Ýòî ìîæåò ïðîèçîéòè, åñëè êëþ÷ ñîñòîèò èç îäíèõ 1, èç îäíèõ 0, èëè åñëè îäíà ïîëîâèíà êëþ÷à ñîñòîèò èç îäíèõ 1, à äðóãàÿ - èç îäíèõ 0. Êðîìå òîãî, ó äâà ñëàáûõ êëþ÷à îáëàäàþò äð óãèìè ñâîéñòâàìè, ñíèæàþùèìè èõ áåçîïàñíîñòü [427]. ×åòûðå ñëàáûõ êëþ÷à ïîêàçàíû â øåñòíàäöàòèðè÷íîì âèäå â 1-é. (Íå çàáûâàéòå, ÷òî êàæäûé âîñüìîé áèò ýòî áèò ÷åòíîñòè.) Òàáë. 12-11. Ñëàáûå êëþ÷è DES Çíà÷åíèå ñëàáîãî êëþ÷à (ñ áèòàìè ÷åòí îñòè)
Äåéñòâèòåëüíûé êëþ÷
0101
0101
0101
0101
0000000 0000000
1F1F
1F1F
0E0E
0E0E
0000000 FFFFFFF
E0E0
E0E0
F1F1
F1F1
FFFFFFF 0000000
FEFE
FEFE
FEFE
FEFE
FFFFFFF FFFFFFF
Êðîìå òîãî, íåêîòîðûå ïàðû êëþ÷åé ïðè øèôðîâàíèè ïåðåâîäÿò îòêðûòûé òåêñò â èäåíòè÷íûé øèôðîòåêñò. Èíûìè ñëîâàìè, îäèí èç êëþ÷åé ïàðû ìîæåò ðàñøèôðîâàòü ñîîáùåíèÿ, çàøèôðîâàííûå äðóãèì êëþ÷îì ïàðû. Ýòî ïðîèñõîäèò èç-çà ìåòîäà, èñïîëüçóåìîãî DES äëÿ ãåíåðàöèè ïîäêëþ÷åé - âìåñòî 16 ðàçëè÷íûõ ïîäêëþ÷åé ýòè êëþ÷è ãåíåðèðóþò òîëüêî äâà ðàçëè÷íûõ ïîäêëþ÷à.  àëãîðèòìå êàæäûé èç ýòèõ ïîäêëþ÷åé èñïîëüçóåòñÿ âîñåìü ðàç. Ýòè êëþ÷è, íàçûâàåìûå ïîëóñëàáûìè êëþ÷àìè, â øåñòíàäöàòèðè÷íîì âèäå ïðèâåäåíû â 0-é. Òàáë. 12-12. Ïîëóñëàáûå ïàðû êëþ÷åé DES 01FE
01FE
01FE
01FE
è
FE01
FE01
FE01
FE01
1FE0
1FE0
0EF1
0EF1
è
E01F
E01F
F10E
F10E
01E0
01E0
01F1
01F1
è
E001
E001
F101
F101
1FFE
1EEE
0EFE
0EFE
è
FE1F
FE1F
FE0E
FE0E
011F
011F
010E
010E
è
1F01
1F01
0E01
0E01
E0FE
E0FE
F1FE
F1FE
è
FEE0
FEE0
FEE1
FEE1
Ðÿä êëþ÷åé ãåíåðèðóåò òîëüêî ÷åòûðå ïîäêëþ÷à, êàæäûé èç êîòîðûõ ÷åòûðå ðàçà èñïîëüçóåòñÿ â àëãîðèòìå.
Ýòè âîçìîæíî ñëàáûå êëþ÷è ïåðå÷èñëåíû â -1-é. Òàáë. 12-13. Âîçìîæíî ñëàáûå êëþ÷è DES 1F 01 1F 01 E0 FE FE E0 FE E0 E0 FE FE E0 FE E0 01 1F 1F 01 1F 01 01 1F
1F 1F 01 01 E0 FE E0 FE E0 FE E0 FE 1F 1F 01 01 E0 FE E0 FE E0 FE E0 FE
01 1F 01 1F 01 01 1F 1F 01 01 1F 1F E0 FE E0 FE E0 E0 FE FE E0 E0 FE FE
01 01 1F 1F 01 01 01 01 1F 1F 1F 1F 01 01 1F 1F 01 01 01 01 1F 1F 1F 1F
0E 01 0E 01 F1 FE FE F1 FE F1 F1 FE FE F1 FE F1 01 0E 0E 01 0E 01 01 0E
0E 0E 01 01 F1 FE F1 FE F1 FE F1 FE 0E 0E 01 01 F1 FE F1 FE F1 FE F1 FE
01 0E 01 0E 01 01 0E 0E 01 01 0E 0E F1 FE F1 FE F1 F0 FE FE F1 F1 FE FE
01 01 0E 0E 01 01 01 01 0E 0E 0E 0E 01 01 0E 0E 01 01 01 01 0E 0E 0E 0E
E0 FE FE E0 FE E0 E0 FE 1F 01 1F 01 01 1F 1F 01 1F 01 01 1F FE E0 FE E0
01 1F 01 1F 01 1F 01 1F FE FE E0 E0 01 1F 01 1F 01 1F 01 1F FE FE E0 E0
01 01 1F 1F 01 01 1F 1F 01 1F 01 1F E0 E0 FE FE E0 E0 FE FE E0 FE E0 FE
E0 E0 E0 E0 FE FE FE FE E0 E0 FE FE E0 E0 E0 E0 FE FE FE FE E0 E0 FE FE
F1 FE FE F1 FE F1 F1 FE 0E 01 0E 01 01 0E 0E 01 0E 01 01 0E FE F1 FE F1
01 0E 01 0E 01 0E 01 0E FE FE F1 F1 01 0E 01 0E 01 0E 01 0E FE FE F1 F1
01 01 0E 0E 01 01 0E 0E 01 0E 01 0E F1 F1 FE FE F1 F1 FE FE F1 FE F1 FE
F1 F1 F1 F1 FE FE FE FE F1 F1 FE FE F1 F1 F1 F1 FE FE FE FE F1 F1 FE FE
Ïðåæäå, ÷åì ïîðèöàòü DES ñëàáûå êëþ÷è, îáðàòèòå âíèìàíèå íà òî, ÷òî ýòè 64 êëþ÷à - ýòî êðîøå÷íàÿ ÷àñòü ïîëíîãî íàáîðà èç 72057594037927936 âîçìîæíûõ êëþ÷åé. Åñëè âû âûáèðàåòå êëþ÷ ñëó÷àéíî, âåðîÿòíîñòü âûáðàòü îäèí èç ñëàáûõ êëþ÷åé ïðåíåáðåæèìî ìàëà. Åñëè âû íàñòîÿùèé ïàðàíîèê, ìîæåòå âñåãäà ïðîâåðÿòü "íà ñëàáîñòü" ñãåíåðèðîâàííûé êëþ÷. Íåêîòîðûå äóìàþò, ÷òî íå÷åãî è áåñïîêîèòüñÿ íà ýòîò ñ÷åò. Äðóãèå ó òâåðæäàþò, ÷òî ïðîâåðêà î÷åíü ëåãêà, ïî÷åìó áû åå è íå â ûïîëíèòü. Äàëüíåéøèé àíàëèç ñëàáûõ è ïîëóñëàáûõ êëþ÷åé ïðèâåäåí â [1116]. Äðóãèõ ñëàáûõ êëþ÷åé â ïðîöåññå è ññëåäîâàíèé íàéäåíî íå áûëî. Êëþ÷è-äîïîëíåíèÿ Âûïîëíèì ïîáèòíîå äîïîëíåíèå êëþ÷à, çàìåíÿÿ âñå 0 íà 1 è âñå 1 - íà 0. Òåïåðü, åñëè áëîê îòêðûòîãî òåêñòà çàøèôðîâàí îðèãèíàëüíûì êëþ÷îì, òî äîïîëíåíèå êëþ÷à ïðè øèôðîâàíèè ïðåâðàòèò äîïîëíåíèå áëîêà î òêðûòîãî òåêñòà â äîïîëíåíèå áëîêà øèôðîòåêñòà. Åñëè x' îáîçíà÷àåò äîïîëíåíèå x, òî ñëåäóþùåå âåðíî: EK(P) = C EK'(P') = C'  ýòîì íåò íè÷åãî òàèíñòâåííîãî. Íà êàæäîì ýòàïå ïîñëå ïåðåñòàíîâêè ñ ðàñøèðåíèåì ïîäêëþ÷è ïîäâåðã àþòñÿ îïåðàöèè XOR ñ ïðàâîé ïîëîâèíîé. Ïðÿìûì ñëåäñòâèåì ýòîãî ôàêòà è ÿâëÿåòñÿ ïðèâåäåííîå ñâîéñòâî êîìïëèìåíòàðíîñòè. Ýòî îçíà÷àåò, ÷òî ïðè âûïîëíåíèè âñêðûòèÿ DES ñ âûáðàííûì îòêðûòûì òåêñòîì íóæíî ïðîâåðÿòü òîëüêî ïîëîâèíó âîçìîæíûõ êëþ÷åé: 2 55 âìåñòî 256 [1080]. Ýëè Áèõàì (Eli Biham) è Àäè Øàìèð ïîêàçàëè [172], ÷òî ñóùåñòâóåò âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì, èìåþùåå òó æå ñëîæíîñòü, äëÿ êîòîðîãî íóæíî íå ìåíüøå 233 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Îñòàåòñÿ âîïðîñîì, ÿâëÿåòñÿ ëè òàêîå ñâîéñòâî ñëàáîñòüþ, òàê êàê â áîëüøèíñòâå ñîîáùåíèé íåò êîìïë èìåíòàðíûõ áëîêîâ îòêðûòîãî òåêñòà (äëÿ ñëó÷àéíîãî îòêðûòîãî òåêñòà øàíñû "ïðîòèâ" ÷ðåçâû÷àéíî âåëèêè), à ïîëüçîâàòåëåé ìîæíî ïðåäóïðåäèòü íå ïîëüçîâàòüñÿ äîïîëíÿþùèìè. Àëãåáðàè÷åñêàÿ ñòðóêòóðà Âñå âîçìîæíûå 64-áèòîâûå áëîêè îòêðûòîãî òåêñòà ìîæíî îòîáðàçèòü íà 64-áèòîâûå áëîêè øèôðîòåêñòà
264! Ðàçëè÷íûìè ñïîñîáàìè. Àëãîðèòì DES, èñïîëüçóÿ 56-áèòîâûé êëþ÷, ïðåäîñòàâëÿåò íàì 2 56 (ïðèáëèçèòåëüíî 10 17) òàêèõ îòîáðàæåíèé. Èñïîëüçîâàíèå ìíîãîêðàòíîãî øèôðîâàíèÿ íà ïåðâûé âçãëÿä ïîçâ îëÿåò çíà÷èòåëüíî óâåëè÷èòü äîëþ âîçìîæíûõ îòîáðàæåíèé. Íî ýòî ïðàâèëüíî òîëüêî, åñëè äåéñòâèå DES íå îáëàäàåò îïðåäåëåííîé àëãåáðàè÷åñêîé ñòðóêòóðîé. Åñëè áû DES áûë çàìêíóòûì, òî äëÿ ëþáûõ K1 è K2 âñåãäà ñóùåñòâîâàëî áû òàêîå K3, ÷òî
E K2 ( E K1 ( P)) = E K3 ( P ) Äðóãèìè ñëîâàìè, îïåðàöèÿ øèôðîâàíèÿ DES îáðàçîâàëà áû ãðóïïó, è øèôðîâàíèå íàáîðà áëîêîâ îòêðûò îãî òåêñòà ïîñëåäîâàòåëüíî ñ ïîìîùüþ K1 è K2 áûëî áû èäåíòè÷íî øèôðîâàíèþ áëîêîâ êëþ÷îì K3. ×òî åùå õóæå, DES áûë áû ÷óâñòâèòåëåí ê âñêðûòèþ "âñòðå÷à ïîñåðåäèíå" ñ èçâåñòíûì îòêðûòûì òåêñòîì, äëÿ êîòîðîãî ïîòðåáîâàëîñü áû òîëüêî 2 28 ýòàïîâ [807]. Åñëè áû DES áûë ÷èñòûì, òî äëÿ ëþáûõ K1, K2 è K3 âñåãäà ñóùåñòâîâàëî áû òàêîå K4, ÷òî
E K3 ( E K2 ( E K1 ( P ))) = E K 4 ( P ) Òðîéíîå øèôðîâàíèå áûëî áû áåñïîëåçíûì. (Çàìåòüòå, ÷òî çàìêíóòûé øèôð îáÿçàòåëüíî ÿâëÿåòñÿ è ÷è ñòûì, íî ÷èñòûé øèôð íå îáÿçàòåëüíî ÿâëÿåòñÿ çàìêíóòûì.) Ðÿä ïîäñêàçîê ìîæíî íàéòè â ðàííåé òåîðåòè÷åñêîé ðàáîòå Äîíà Êîïïåðñìèòà, íî ýòîãî íåäîñòàòî÷íî [377]. Ðàçëè÷íûå êðèïòîãðàôû ïûòàëèñü ðåøèòü ýòó ïðîáëåìó [588, 427, 431, 527, 723, 789].  ïîâòîðÿþùèõñÿ ýêñï åðèìåíòàõ ñîáèðàëèñü "íåîïðîâåðæèìûå äîêàçàòåëüñòâà" òîãî, ÷òî DES íå ÿâëÿåòñÿ ãðóïïîé [807, 371, 808, 1116, 809], íî òîëüêî â 1992 ãîäó êðèïòîãðàôàì óäàëîñü ýòî äîêàçàòü îêîí÷àòåëüíî [293]. Êîïïåðñìèò óòâå ðæäàåò, ÷òî êîìàíäà IBM çíàëà îá ýòîì ñ ñàìîãî í à÷àëà. Äëèíà êëþ÷à  îðèãèíàëüíîé çàÿâêå ôèðìû IBM â NBS ïðåäïîëàãàëîñü èñïîëüçîâàòü 112-áèòîâûé êëþ÷. Ê òîìó âðåìåíè, êîãäà DES ñòàíäàðòîì, äëèíà êëþ÷à óìåíüøèëàñü äî 56 áèò. Ìíîãèå êðèïòîãðàôû íàñòàèâàëè íà áîëåå äëè ííîì êëþ÷å. Îñíîâíûì èõ àðãóìåíòîì á ûëî âñêðûòèå ãðóáîé ñèëîé (ñì. ðàçäåë 7.1).  1976 è 1977 ãã. Äèôôè è Õåëëìàí óòâåðæäàëè, ÷òî ñïåöèàëèçèðîâàííûé ïàðàëëåëüíûé êîìïüþòåð äëÿ âñêðûòèÿ DES, ñòîÿùèé 20 ìèëëèîíîâ äîëëàðîâ, ñìîæåò ðàñêðûòü êëþ÷ çà äåíü.  1981 ãîäó Äèôôè óâåëè÷èë âðåìÿ ïîèñêà äî äâóõ äíåé, à ñòîèìîñòü - äî 50 ìèëëèîíîâ äîëëàðîâ [491]. Äèôôè è Õåëëìàí óòâåðæäàëè, ÷òî âñêðûòèå â òîò ìîìåíò âðåìåíè íàõîäèëîñü çà ïðåäåëàìè âîçìîæíîñòåé ëþáîé îðãàíèçàöèè, êðîìå ïîäîáíûõ NSA, íî ÷òî ê 1990 ãîäó DES äîëæåí ïîëíîñòüþ óòðàòèòü ñâîþ áåçîïàñíîñòü [714]. Õåëëìàí [716] ïðîäåìîíñòðèðîâàë åùå îäèí àðãóìåíò ïðîòèâ ìàëîãî ðàçìåðà êëþ÷à: ðàçìåíèâàÿ îáúåì ï àìÿòè íà âðåìÿ, ìîæíî óñêîðèòü ïðîöåññ ïîèñêà. Îí ïðåäëîæèë âû÷èñëÿòü è õðàíèòü 2 56 âîçìîæíûõ ðåçóëüòàòîâ øèôðîâàíèÿ êàæäûì âîçìîæíûì êëþ÷îì åäèíñòâåííîãî áëîêà îòêðûòîãî òåêñòà. Òîãäà äëÿ âçëîìà íåèçâåñòí îãî êëþ÷à êðèïòîàíàëèòèêó ïîòðåáóåòñÿ òîëüêî âñòàâèòü áëîê îòêðûòîãî òåêñòà â øèôðóåìûé ïîòîê, âñêðûòü ïîëó÷èâøèéñÿ ðåçóëüòàò è íàéòè êëþ÷. Õåëëìàí îöåíèë ñòîèìîñòü òàêîãî óñòðîéñòâà âñêðûòèÿ â 5 ìèëëèîíîâ äîëëàðîâ. Àðãóìåíòû çà è ïðîòèâ ñóùåñòâîâàíèÿ â êàêîì-íèáóäü òàéíîì áóíêåðå ïðàâèòåëüñòâåííîãî óñòðîéñòâà âñêðûòèÿ DES ïðîäîëæàþò ïîÿâëÿòüñÿ. Ìíîãèå óêàçûâàþò íà òî, ÷òî ñðåäíåå âðåìÿ íàðàáîòêè íà îòêàç äëÿ ìèêðîñõåì DES íèêîãäà íå áûëî áîëüøèì íàñòîëüêî, ÷òîáû îáåñïå÷èâàòü ðàáîòó óñòðîéñòâà.  [1278] áûëî ïîêàçàíî, ÷òî ýòîãî âîçðàæåíèÿ áîëåå ÷åì äîñòàòî÷íî. Äðóãèå èññëåäîâàòåëè ïðåäëàãàþò ñïîñîáû åùå áîëüøå óñêîðèòü ïðîöåññ è óìåíüøèòü ýôôåêò îòêàçà ìèêðîñõåì. Ìåæäó òåì, àïïàðàòíûå ðåàëèçàöèè DES ïîñòåïåííî ïðèáëèçèëèñü ê ðåàëèçàöèè òðåáîâàíèÿ î ìèëëèîíå øèôðîâàíèé â ñåêóíäó, ïðåäúÿâëÿåìîãî ñïåöèàëèçèðîâàííîé ìàøèíîé Äèôôè è Õåëëìàíà.  1984 ãîäó áûëè âûïóùåíû ìèêðîñõåìû DES, ñïîñîáíûå âûïîëíÿòü 256000 øèôðîâàíèÿ â ñåêóíäó [533, 534]. Ê 1987 ãîäó áûëè ðàçðàáîòàíû ìèêðîñõåìû DES, âûïîëíÿþùèå 512000 øèôðîâàíèé â ñåêóíäó, è ñòàëî âîçìîæíûì ïîÿâëåíèå âàðèàíòà, ñïîñîáíîãî ïðîâåðÿòü ñâûøå ìèëëèîíà êëþ÷åé â ñåêóíäó [738, 1573]. À â 1993 Ìàéêë Âèíåð (Michael Wiener) ñïðîåêòèðîâàë ìàøèíó ñòîèìîñòüþ 1 ìèëëèîí äîëëàðîâ, êîòîðàÿ ìîæåò âûïîëíèòü âñêðûòèå DES ãð óáîé ñèëîé â ñðåäíåì çà 3.5 ÷àñà (ñì. ðàçäåë 7.1). Íèêòî îòêðûòî íå çàÿâèë î ñîçäàíèè ýòîé ìàøèíû, õîòå ðàçóìíî ïðåäïîëîæèòü, ÷òî êîìó-òî ýòî óäàëîñü. Ìèëëèîí äîëëàðîâ - ýòî íå ñëèøêîì áîëüøèå äåíüãè äëÿ áîëüøîé è äàæå íå î÷åíü áîëüøîé ñòðàíû.  1990 ãîäó äâà èçðàèëüñêèõ ìàòåìàòèêà, Áèõàì (Biham) è Øàìèð, îòêðûëè äèôôåðåíöèàëüíûé êðèïòîàíàëèç, ìåòîä, êîòîðûé ïîçâîëèë îñòàâèòü â ïîêîå âîïðîñ äëèíû êëþ÷à. Ïðåæäå, ÷åì ìû ðàññìîòðèì ýòîò ìåòîä, âåðíåìñÿ ê íåêîòîðûì äðóãèì êðèò è÷åñêèì çàìå÷àíèÿì â àäðåñ DES.
Êîëè÷åñòâî ýòàïîâ Ïî÷åìó 16 ýòàïîâ? Ïî÷åìó íå 32? Ïîñëå ïÿòè ýòàïîâ êàæäûé áèò øèôðîòåêñòà ÿâëÿåòñÿ ôóíêöèåé âñåõ á èòîâ îòêðûòîãî òåêñòà è âñåõ áèòîâ êëþ÷à [1078, 1080], à ïîñëå âîñüìè ýòàïîâ øèôðîòåêñò ïî ñóòè ïðåäñòàâëÿåò ñîáîé ñëó÷àéíóþ ôóíêöèþ âñåõ áèòîâ îòêðûòîãî òåêñòà è âñåõ áèòîâ êëþ÷à [880]. (Ýòî íàçûâàåòñÿ ëàâèííûì ýôôåêòîì.) Òàê ïî÷åìó íå îñòàíîâèòüñÿ ïîñëå âîñüìè ýòàïîâ?  òå÷åíèå ìíîãèõ ëåò âåðñèè DES ñ óìåíüøåííûì ÷èñëîì ýòàïîâ óñïåøíî âñêðûâàëèñü. DES ñ òðåìÿ è ÷ åòûðüìÿ ýòàïàìè áûë ëåãêî âçëîìàí â 1982 ãîäó [49]. DES ñ øåñòüþ ýòàïàìè ïàë íåñêîëüêèìè ãîäàìè ïîçæå [336]. Äèôôåðåíöèàëüíûé êðèïòîàíàëèç Áèõàìà è Øàìèðà îáúÿñíèë è ýòî: DES ñ ëþáûì êîëè÷åñòâîì ýòàïîâ, ìåíüøèì 16, ìîæåò áûòü âçëîìàí ñ ïîìîùüþ âñêðûòèÿ ñ èçâåñòíûì îòêðûòûì òåêñòîì áûñòðåå, ÷åì ñ ïîì îùüþ âñêðûòèÿ ãðóáîé ñèëîé. Êîíå÷íî ãðóáûé âçëîì ÿâëÿåòñÿ áîëåå âåðîÿòíûì ñïîñîáîì âñêðûòèÿ, íî èíòåð åñåí òîò ôàêò, ÷òî àëãîðèòì ñîäåðæèò ðîâíî 16 ýòàïîâ. Ïðîåêòèðîâàíèå S-áëîêîâ Ïîìèìî óìåíüøåíèÿ äëèíû êëþ÷à NSA òàêæå îáâèíÿþò â èçìåíåíèè ñîäåðæàíèÿ S-áëîêîâ. Íàñòàèâàÿ íà ïîäòâåðæäåíèè ñõåìû S-áëîêîâ, NSA çàÿâèëî, ÷òî äåòàëè àëãîðèòìà ÿâëÿþòñÿ "÷óâñòâèòåëüíûìè" è íå ìîãóò áûòü îïóáëèêîâàíû. Ìíîãèå êðèïòîãðàôû ïîäîçðåâàëè, ÷òî ðàçðàáîòàííûå â NSA S-áëîêè ñîäåðæàò ëàçåéêó, ïîçâîëÿþùóþ NSA ëåãêî âûïîëíÿòü êðèïòîàíàëèç àëãîðèòìà. Ñ ìîìåíòà ïîÿâëåíèÿ àëãîðèòìà äëÿ àíàëèçà ñõåìû è ðàáîòû S-áëîêîâ áûëè ïðåäïðèíÿòû çíà÷èòåëüíûå óñèëèÿ.  ñåðåäèíå 70-õ Lexar Corporation [961, 721] è Bell Laboratories [1120] èññëåäîâàëè ðàáîòó S-áëîêîâ. Íè îäíî èç èññëåäîâàíèé íå îáíàðóæèëî íèêàêèõ ñëàáîñòåé, õîòÿ îáà èññëåäîâàíèÿ îáíàðóæèëè íåïîíÿòíûé ñâî éñòâà. S-áëîêè èìåþò áîëüøå ñâîéñòâ, îáùèõ ñ ëèíåéíûì ïðåîáðàçîâàíèåì, ÷åì ìîæíî áûëî îæèäàòü ïðè èõ ôîðìèðîâàíèè ñëó÷àéíûì îáðàçîì. Êîìàíäà Bell Laboratories êîíñòàòèðîâàëà, ÷òî S-áëîêè ìîãóò ñîäåðæàòü ñêðûòûå ëàçåéêè, à äîêëàä Lexar ç àâåðøàëñÿ ñëåäóþùåé ôðàçîé:  DES áûëè íàéäåíû ñòðóêòóðû, íåñîìíåííî âñòàâëåííûå äëÿ ïîâûøåíèÿ óñòîé÷èâîñòè ñèñòåìû ê îïðåäåëåííûì òèïàì âñêðûòèÿ. Òàêæå áûëè íàéäåíû ñòðóêòóðû, êîò îðûå, ïî âèäèìîìó, îñëàáèëè ñèñòåìó.
Ñ äðóãîé ñòîðîíû ýòîò äîêëàä òàêæå ñîäåðæàë ñëåäóþùåå ïðåäóïðåæäåíèå: ... ïðîáëåìà [ïîèñêà ñòðóêòóð â S-áëîêàõ] óñëîæíÿåòñÿ èç-çà ñïîñîáíîñòè ÷åëîâå÷åñêîãî ñîçíàíèÿ íàõîäèòü â ñëó÷àéíûõ äàííûõ ñòðóêòóðû, êîòîðûå â äåéñòâèòåë üíîñòè âîâñå íå ÿâëÿþòñÿ ñòðóêòóðàìè.
Íà âòîðîì ñèìïîçèóìå ïî DES Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè ðàñêðûëî ðÿä êðèòåðèåâ ïðîåêòèðîâ àíèÿ S-áëîêîâ [229]. Íî ýòî íå ñìîãëî ñíÿòü âñåõ ïîäîçðåíèé, è ñïîð ïðîäîëæèëñÿ [228, 422, 714, 1506, 1551].  ëèòåðàòóðå ïðî S-áëîêè ïèñàëèñü óäèâèòåëüíûå âåùè. Ïîñëåäíèå òðè áèòà ðåçóëüòàòà ÷åòâåðòîãî S-áëîêà ìîãóò áûòü ïîëó÷åíû òåì æå ñïîñîáîì, ÷òî è ïåðâûå, ïðè ïîìîùè äîïîëíåíèÿ íåêîòîðûõ èç âõîäíûõ áèòîâ [436, 438]. Ðàçëè÷íûå, íî òùàòåëüíî ïîäîáðàííûå âõîäíûå äàííûå äëÿ S-áëîêîâ ìîãóò äàâàòü îäèíàêîâûé ð åçóëüòàò [436]. Ìîæíî ïîëó÷èòü ðåçóëüòàò îäíîãî ýòàïà DES, ìåíÿÿ áèòû òîëüêî â òðåõ ñîñåäíèõ S-áëîêàõ [487]. Øàìèð çàìåòèë, ÷òî ýëåìåíòû S-áëîêîâ, êàçàëîñü, áûëè íåñêîëüêî íåóñòîé÷èâû, íî íå ñîáèðàëñÿ èñïîëüçîâàòü ýòó íåóñòîé÷èâîñòü äëÿ âñêðûòèÿ [1423]. (Îí óïîìÿíóë îá îñîáåííîñòè ïÿòîãî S-áëîêà, íî òîëüêî ñïóñòÿ âîñåìü ëåò ëèíåéíûé êðèïòîàíàëèç âîñïîëüçîâàëñÿ ýòîé îñîáåííîñòüþ.) Äðóãèå èññëåäîâàòåëè ïîêàçàëè, ÷òî äëÿ ïîë ó÷åíèÿ S-áëîêîâ ñ íàáëþäàåìûìè õàðàêòåðèñòèêàìè ìîãëè èñïîëüçîâàòüñÿ îáùåèçâåñòíûå ïðèíöèïû ïðîåêò èðîâàíèÿ [266). Äîïîëíèòåëüíûå ðåçóëüòàòû Áûëè ïðåäïðèíÿòû è äðóãèå ïîïûòêè êðèïòîàíàëèçèðîâàòü DES. Îäèí èç êðèïòîãðàôîâ èñêàë çàêîíîìåðí îñòè, èñïîëüçóÿ ñïåêòðàëüíûå òåñòû [559]. Äðóãèå àíàëèçèðîâàëè ïîñëåäîâàòåëüíîñòü ëèíåéíûõ ìíîæèòåëåé, íî èõ âñêðûòèå ïîòåðïåëî íåóäà÷ó ïîñëå âîñüìè ýòàïîâ [1297, 336, 531]. Íåîïóáëèêîâàííîå âñêðûòèå, âûïîëíå ííîå â 1987 ãîäó Äîíàëüäîì Äýâèñîì (Donald Davies), èñïîëüçîâàëî ñïîñîá, ñ ïîìîùüþ êîòîðîãî ïåðåñòàíîâêà ñ ðàñøèðåíèåì ïîâòîðÿåò áèòû â ñîñåäíèõ S-áëîêàõ, ýòî âñêðûòèå òàêæå îêàçàëîñü áåñïîëåçíûì ïîñëå âîñüìè ýòàïîâ [172, 429].
12.4 Äèôôåðåíöèàëüíûé è ëèíåéíûé êðèïòîàíàëèç Äèôôåðåíöèàëüíûé êðèïòîàíàëèç  1990 ãîäó Ýëè Áèõàì è Àäè Øàìèð ââåëè ïîíÿòèå äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà [167, 168, 171, 172]. Ýòî áûë íîâûé, ðàíåå íåèçâåñòíûé ìåòîä êðèïòîàíàëèçà. Èñïîëüçóÿ ýòîò ìåòîä, Áèõàì è Øàìèð íàøëè ñïîñîá âñêðûòèÿ DES ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà, êîòîðûé áûë ýôôåêòèâíåå âñêðûòèÿ ãð óáîé ñèëîé. Äèôôåðåíöèàëüíûé êðèïòîàíàëèç ðàáîòàåò ñ ïàðàìè øèôðîòåêñòîâ, îòêðûòûå òåêñòû êîòîðûõ ñîäåðæàò îïðåäåëåííûå îòëè÷èÿ. Ìåòîä àíàëèçèðóåò ýâîëþöèþ ýòèõ îòëè÷èé â ïðîöåññå ïðîõîæäåíèÿ îòêðûòûõ òåêñòîâ
÷åðåç ýòàïû DES ïðè øèôðîâàíèè îäíèì è òåì æå êëþ÷îì. Ïðîñòî âûáåðåì ïàðó îòêðûòûõ òåêñòîâ ñ ôèêñèðîâàííûì ðàçëè÷èåì. Ìîæíî âûáðàòü äâà îòêðûòûõ òåêñòà ñëó÷àéíûì îáðàçîì, ëèøü áû îíè îòëè÷àëèñü äðóã îò äðóãà îïðåäåëåííûì îáðàçîì, êðèïòîàíàëèòèêó äàæå íå íóæíî çíàòü èõ çíà÷åíèé. (Äëÿ DES òåðìèí "ðàçëè÷èå" îïðåäåëÿåòñÿ ñ ïîìîùüþ XOR. Äëÿ äðóãèõ àëãîðèòìîâ ýòîò òåðìèí ìîæåò îïðåäåëÿòüñÿ ïî äðóãîìó.) Çàòåì, èñïîëüçóÿ ðàçëè÷èÿ â ïîëó÷èâøèõñÿ øèôðîòåêñòàõ, ïð èñâîèì ðàçëè÷íûå âåðîÿòíîñòè ðàçëè÷íûì êëþ÷àì.  ïðîöåññå äàëüíåéøåãî àíàëèçà ñëåäóþùèõ ïàð øèôðîòå êñòîâ îäèí èç êëþ÷åé ñòàíåò íàèáîëåå âåðîÿòíûì. Ýòî è åñòü ïðàâèëüíûé êëþ÷. Ïîäðîáíîñòè ãîðàçäî ñëîæíåå. Íà 7-é ïðåäñòàâëåíà ôóíêöèÿ îäíîãî ýòàïà DES. Ïðåäñòàâüòå ñåáå ïàðó âõ îäîâ, X è X', ñ ðàçëè÷èåì ∆X. Âûõîäû, Y è Y' èçâåñòíû, ñëåäîâàòåëüíî, èçâåñòíî è ðàçëè÷èå ìåæäó íèìè ∆Y. Èçâåñòíû è ïåðåñòàíîâêà ñ ðàñøèðåíèåì, è P-áëîê, ïîýòîìó èçâåñòíû ∆A è ∆C. B è B' íåèçâåñòíû, íî èõ ðàçíîñòü ∆B èçâåñòíà è ðàâíà ∆A. (Ïðè ðàññìîòðåíèè ðàçëè÷èÿ XOR Ki ñ A è A' íåéòðàëèçóþòñÿ.) Ïîêà âñå ïðîñòî. Ôîêóñ âîò â ÷åì: äëÿ ëþáîãî çàäàííîãî ∆A íå âñå çíà÷åíèÿ ∆C ðàâíîâåðîÿòíû. Êîìáèíàöèÿ ∆A è ∆C ïîçâîëÿåò ïðåäïîëîæèòü çíà÷åíèÿ áèòîâ äëÿ A XOR Ki è A' XOR Ki . Òàê êàê A è A' èçâåñòíû, ýòî äàåò íàì èíôîðìàöèþ î Ki . X ,X E
E(X)
Ki
,A ,B S-áëîê ,C P ,Y Y Ðèñ. 12-5. Ôóíêöèÿ ýòàïà DES. Âçãëÿíåì íà ïîñëåäíèé ýòàï DES. (Ïðè äèôôåðåíöèàëüíîì êðèïòîàíàëèçå íà÷àëüíàÿ è çàêëþ÷èòåëüíàÿ ï åðåñòàíîâêè èãíîðèðóþòñÿ. Îíè íå âëèÿþò íà âñêðûòèå, òîëüêî çàòðóäíÿÿ îáúÿñíåíèå.) Åñëè ìû ñìîæåì îïðåä åëèòü K16, òî ìû ïîëó÷èì 48 áèòîâ êëþ÷à. (Íå çàáûâàéòå, íà êàæäîì ýòàïå ïîäêëþ÷ ñîñòîèò èç 48 áèòîâ 56áèòîâîãî êëþ÷à.) Îñòàâøèåñÿ 8 áèòîâ ìû ìîæåì ïîëó÷èòü ãðóáûì âçëîìîì. K16 äàñò íàì äèôôåðåíöèàëüíûé êðèïòîàíàëèç. Îïðåäåëåííûå ðàçëè÷èÿ ïàð îòêðûòûõ òåêñòîâ îáëàäàþò âûñîêîé âåðîÿòíîñòüþ âûçâàòü îïðåäåëåííûå ðà çëè÷èÿ ïîëó÷àåìûõ øèôðîòåêñòîâ. Ýòè ðàçëè÷èÿ íàçûâàþòñÿ õàðàêòåðèñòèêàìè. Õàðàêòåðèñòèêè ðàñïðîñòðàíÿþòñÿ íà îïðåäåëåííîå êîëè÷åñòâî ýòàïîâ è ïî ñóùåñòâó îïðåäåëÿþò ïðîõîæäåíèå ýòèõ ýòàïîâ. Ñóùåñòâóþò âõîäíîå ðàçëè÷èå, ðàçëè÷èå íà êàæäîì ýòàïå è âûõîäíîå ðàçëè÷èå - ñ îïðåäåëåííîé âåðîÿòíîñòüþ. Ýòè õàðàêòåðèñòèêè ìîæíî íàéòè, ñîçäàâ òàáëèöó, ñòðîêè êîòîðîé ïðåäñòàâëÿþò âîçìîæíûå âõîäû XOR (XOR äâóõ ðàçëè÷íûõ íàáîðîâ âõîäíûõ áèòîâ), ñòîëáöû - âîçìîæíûå ðåçóëüòàòû XOR, à ýëåìåíòû - ñêîëüêî ðàç êîíêðåòíûé ðåçóëüòàò XOR âñòðå÷àåòñÿ äëÿ çàäàííîãî âõîäà XOR. Òàêóþ òàáëèöó ìîæíî ñãåíåðèðîâàòü äëÿ êàæäîãî èç âîñüìè S-áëîêîâ DES. Íàïðèìåð, íà 6-éa ïîêàçàíà õàðàêòåðèñòèêà îäíîãî ýòàïà. Âõîäíîå ðàçëè÷èå ñëåâà ðàâíî L, îíî ìîæåò áûòü ïðîèçâîëüíûì. Âõîäíîå ðàçëè÷èå ñïðàâà ðàâíî 0. (Ó äâóõ âõîäîâ îäèíàêîâàÿ ïðàâàÿ ïîëîâèíà, ïîýòîìó èõ ðà çëè÷èå - 0.) Òàê êàê íà âõîäå ôóíêöèè ýòàïà íåò íèêàêèõ ðàçëè÷èé, òî íåò ðàçëè÷èé è íà âûõîäå ôóíêöèè ýòàïà. Ñëåäîâàòåëüíî, âûõîäíîå ðàçëè÷èå ëåâîé ÷àñòè - L ⊕ 0 = L, à âûõîäíîå ðàçëè÷èå ïðàâîé ÷àñòè - 0. Ýòî òðèâ èàëüíàÿ õàðàêòåðèñòèêà, îíà èñòèííà ñ âåðîÿòíîñòüþ 1.
Íà 6-éá ïîêàçàíà ìåíåå î÷åâèäíàÿ õàðàêòåðèñòèêà. Ñíîâà, ðàçëè÷èå L ëåâûõ ÷àñòåé ïðîèçâîëüíî. Âõîäíîå ðàçëè÷èå ïðàâûõ ÷àñòåé ðàâíî 0x60000000, äâà âõîäà îòëè÷àþòñÿ òîëüêî ïåðâûì è òðåòüèì áèòàìè. Ñ âåðîÿ òíîñòüþ 14/64 ðàçëè÷èå íà âûõîäå ôóíêöèè ýòàïà ðàâíî L ⊕ 0x00808200. Ýòî îçíà÷àåò, ÷òî âûõîäíîå ðàçëè÷èå ëåâûõ ïîëîâèí ðàâíî L ⊕ 0x00808200, à âûõîäíîå ðàçëè÷èå ïðàâûõ ïîëîâèí - 0x60000000 (ñ âåðîÿòíîñòüþ 14/64) ∆=L
∆=0
Ki
∆=0
f
∆=L
∆=0
∆=L⊕0
Ki f
∆=Y
∆=X
∆=L⊕0
∆=0
∆=X
∆=X X = 0x60000000 Y = 0x00808200
Ñ âåðîÿòíîñòüþ 1
Ñ âåðîÿòíîñòüþ 14/64
(a)
(b) Ðèñ. 12-6. Õàðàêòåðèñòèêè DES.
Ðàçëè÷íûå õàðàêòåðèñòèêè ìîæíî îáúåäèíÿòü. Òàêæå, ïðè óñëîâèè, ÷òî ýòàïû íåçàâèñèìû, âåðîÿòíîñòè ì îãóò ïåðåìíîæàòüñÿ. Íà 5-é îáúåäèíÿþòñÿ äâå ðàíåå îïèñàííûõ õàðàêòåðèñòèêè. Âõîäíîå ðàçëè÷èå ñëåâà ðàâíî 0x00808200, à ñïðàâà - 0x60000000.  êîíöå ïåðâîãî ýòàïà âõîäíîå ðàçëè÷èå è ðåçóëüòàò ôóíêöèè ýòàïà íåéòð àëèçóþò äðóã äðóãà, è âûõîäíîå ðàçëè÷èå ðàâíî 0. Ýòî ðàçëè÷èå ïîñòóïàåò íà âõîä âòîðîãî ýòàïà, îêîí÷àòåëüíîå âûõîäíîå ðàçëè÷èå ñëåâà ðàâíî 0x60000000, à ñïðàâà - 0. Âåðîÿòíîñòü ýòîé äâóõýòàïíîé õàðàêòåðèñò èêè - 14/64. ∆=Y
∆=X
Ki
∆=Y
f
∆=X
∆=X
∆=X Ki+1 ∆=0
f
∆=0
∆=X
∆=Y X = 0x60000000 Y = 0x00808200
Ñ âåðîÿòíîñòüþ 14/64 (b)
Ðèñ. 12-7. Äâóõýòàïíàÿ õàðàêòåðèñòèêà DES. Ïàðà îòêðûòûõ òåêñòîâ, ñîîòâåòñòâóþùèõ õàðàêòåðèñòèêå, íàçûâàåòñÿ ïðàâèëüíîé ïàðîé, à ïàðà îòêðûòûõ òåêñòîâ, íåñîîòâåòñòâóþùèõ õàðàêòåðèñòèêå - íåïðàâèëüíîé ïàðîé. Ïðàâèëüíàÿ ïàðà ïîäñêàçûâàåò ïðàâèëüíûé êëþ÷ ýòàïà (äëÿ ïîñëåäíåãî ýòàïà õàðàêòåðèñòèêè), íåïðàâèëüíàÿ ïàðà - ñëó÷àéíûé êëþ÷ ýòàïà. ×òîáû íàéòè ïðàâèëüíûé êëþ÷ ýòàïà, íóæíî ïðîñòî ñîáðàòü äîñòàòî÷íîå êîëè÷åñòâî ïðåäïîëîæåíèé. Îäèí
èç ïîäêëþ÷åé áóäåò âñòðå÷àòüñÿ ÷àùå, ÷åì âñå îñòàëüíûå. Ôàêòè÷åñêè, ïðàâèëüíûé ïîäêëþ÷ âîçíèêíåò èç âñåõ ñëó÷àéíûé âîçìîæíûõ ïîäêëþ÷åé. Èòàê, äèôôåðåíöèàëüíîå îñíîâíîå âñêðûòèå n-ýòàïíîãî DES äàåò 48-áèòîâûé ïîäêëþ÷, èñïîëüçóåìûé íà ýòàïå n, à îñòàâøèåñÿ 8 áèòîâ êëþ÷à ïîëó÷àþòñÿ ñ ïîìîùüþ ãðóáîãî âçëîìà. Íî ðÿä çàìåòíûõ ïðîáëåì âñå æå îñòàåòñÿ. Âî ïåðâûõ, ïîêà âû íå ïåðåéäåòå ÷åðåç íåêîòîðîå ïîðîãîâîå çí à÷åíèå, âåðîÿòíîñòü óñïåõà ïðåíåáðåæèìî ìàëà. Òî åñòü, ïîêà íå áóäåò íàêîïëåíî äîñòàòî÷íîå êîëè÷åñòâî äà ííûõ, âûäåëèòü ïðàâèëüíûé ïîäêëþ÷ èç øóìà íåâîçìîæíî. Êðîìå òîãî, òàêîå âñêðûòèå íå ïðàêòè÷íî. Äëÿ õð àíåíèÿ âåðîÿòíîñòåé 2 48 âîçìîæíûõ êëþ÷åé íåîáõîäèìî èñïîëüçîâàòü ñ÷åò÷èêè, è ê òîìó æå äëÿ âñêðûòèÿ ï îòðåáóåòñÿ ñëèøêîì ìíîãî äàííûõ. Áèõàì è Øàìèð ïðåäëîæèëè ñâîé ñïîñîá âñêðûòèÿ. Âìåñòî èñïîëüçîâàíèÿ 15-ýòàïíîé õàðàêòåðèñòèêè 16ýòàïíîãî DES, îíè èñïîëüçîâàëè 13-ýòàïíóþ õàðàêòåðèñòèêó è ðÿä ïðèåìîâ äëÿ ïîëó÷åíèÿ ïîñëåäíèõ íåñêîë üêèõ ýòàïîâ. Áîëåå êîðîòêàÿ õàðàêòåðèñòèêà ñ áîëüøåé âåðîÿòíîñòüþ áóäåò ðàáîòàòü ëó÷øå. Îíè òàêæå èñïîë üçîâàëè íåêîòîðûå ñëîæíûå ìàòåìàòè÷åñêèå ïðèåìû äëÿ ïîëó÷åíèÿ âåðîÿòíûõ 56-áèòîâûõ êëþ÷åé, êîòîðûå è ïðîâåðÿëèñü íåìåäëåííî, òàêèì îáðàçîì óñòðàíÿëàñü ïîòðåáíîñòü â ñ÷åò÷èêàõ. Òàêîå âñêðûòèå äîñòèãàåò óñï åõà, êàê òîëüêî íàõîäèòñÿ ïðàâèëüíàÿ ïàðà. Ýòî ïîçâîëÿåò èçáåæàòü ïîðîãîâîãî ýôôåêòà è ïîëó÷èòü ëèíåéíóþ çàâèñèìîñòü äëÿ âåðîÿòíîñòè óñïåõà. Åñëè ó âàñ â 1000 ðàç ìåíüøå ïàð, òî âåðîÿòíîñòü óñïåõà â 1000 ðàç ìåí üøå. Ýòî çâó÷èò óæàñíî, íî ýòî íàìíîãî ëó÷øå, ÷åì ïîðîã. Âñåãäà åñòü íåêîòîðàÿ âåðîÿòíîñòü íåìåäëåííîé óä à÷è. Ðåçóëüòàòû ÿâëÿþòñÿ âåñüìà èíòåðåñíûìè.  -2-é ïðîâåäåí îáçîð ëó÷øèõ äèôôåðåíöèàëüíûõ âñêðûòèé DES ñ ðàçëè÷íûì êîëè÷åñòâîì ýòàïîâ [172]. Ïåðâûé ñòîëáåö ñîäåðæèò êîëè÷åñòâî ýòàïîâ. Ýëåìåíòû ñëåäóþùèõ äâóõ ñòîëáöà ïðåäñòàâëÿþò ñîáîé êîëè÷åñòâî âûáðàííûõ èëè èçâåñòíûõ îòêðûòûõ òåêñòîâ, êîòîðûå äîëæíû áûòü ïðîâåðåíû äëÿ âñêðûòèÿ, à ÷åòâåðòûé ñòîëáåö ñîäåðæèò êîëè÷åñòâî äåéñòâèòåëüíî ïðîàíàëèçèðîâàííûõ îòêðûòûõ òåêñòîâ.  ïîñëåäíåì ñòîëáöå ïðèâåäåíà ñëîæíîñòü àíàëèçà, ïîñëå îáíàðóæåíèÿ òðåáóåìîé ïàðû. Òàáë. 12-14. Âñêðûòèå ñ ïîìîùüþ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà Êîëè÷åñòâî ýòàïîâ
Âûáðàííûå îòêðûòûå òåêñòû
Èçâåñòíûå îòêðûòûå òåêñòû
Ïðîàíàëèçèðîâàííûå îòêðûòûå òåêñòû
Ñëîæíîñòü àíàëèçà
8
214
238
4
29
9
224
244
2
232
10
224
243
214
215
11
231
247
2
232
12
231
247
221
221
13
239
252
2
232
14
239
251
229
229
15
247
256
27
237
16
247
255
236
237
Ñëîæíîñòü àíàëèçà äëÿ ýòèõ âàðèàíòîâ ìîæåò áûòü çíà÷èòåëüíî óìåíüøåíà çà ñ÷åò èñïîëüçîâàíèÿ ïðèìåðíî â ÷åòûðå ðàçà áîëüøåãî êîëè÷åñòâî îòêðûòûõ òåêñòîâ è ìåòîäà ãðóïïèðîâîê.
Íàèëó÷øåå âñêðûòèå ïîëíîãî 16-ýòàïíîãî DES òðåáóåò 2 47 âûáðàííûõ îòêðûòûõ òåêñòîâ. Ìîæíî ïðåîáðàç îâàòü åãî ê âñêðûòèþ ñ èçâåñòíûì îòêðûòûì òåêñòîì, íî äëÿ íåãî ïîòðåáóåòñÿ óæå 2 55 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Ïðè àíàëèçå ïîòðåáóåòñÿ 2 37 îïåðàöèé DES. Äèôôåðåíöèàëüíûé êðèïòîàíàëèç ýôôåêòèâåí ïðîòèâ DES è àíàëîãè÷íûõ àëãîðèòìîâ ñ ïîñòîÿííûìè Sáëîêàìè. Ýôôåêòèâíîñòü âñêðûòèå ñèëüíî çàâèñèò îò ñòðóêòóðû S-áëîêîâ, áëîêè DES ïî ñ÷àñòëèâîé ñëó÷àéí îñòè áûëè îïòèìèçèðîâàíû ïðîòèâ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà. Äëÿ âñåõ ðåæèìîâ ðàáîòû DES - ECB, CBC, CFB è OFB - âñêðûòèå ñ äèôôåðåíöèàëüíûì êðèïòîàíàëèçîì èìååò îäèíàêîâóþ ñëîæíîñòü [172]. Óñòîé÷èâîñòü DES ìîæåò áûòü ïîâûøåíà ïóòåì óâåëè÷åíèÿ êîëè÷åñòâà ýòàïîâ. Äèôôåðåíöèàëüíûé êðè ïòîàíàëèç ñ âûáðàííûì îòêðûòûì òåêñòîì äëÿ DES ñ 17 èëè 18 ýòàïàìè ïîòðåáóåò ñòîëüêî æå âðåìåíè, ñêîëüêî íóæíî äëÿ âñêðûòèÿ ãðóáîé ñèëîé [160]. Ïðè 19 è áîëåå ýòàïàõ äèôôåðåíöèàëüíûé êðèïòîàíàëèç ñòàíîâèòñÿ íåâîçìîæíûì, òàê êàê äëÿ íåãî ïîòðåáóåòñÿ áîëåå, ÷åì 2 64 âûáðàííûõ îòêðûòûõ òåêñòîâ - íå çàáóäüòå, DES è ñïîëüçóåò áëîêè ðàçìåðîì 64 áèòîâ, ïîýòîìó äëÿ íåãî ñóùåñòâóåò òîëüêî 2 64 âîçìîæíûõ îòêðûòûõ òåêñòîâ. ( îáùåì ñëó÷àå, âû ìîæåòå äîêàçàòü óñòîé÷èâîñòü àëãîðèòìà ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó, ïîêàçàâ, ÷òî êîëè÷åñòâî îòêðûòûõ òåêñòîâ, íåîáõîäèìûõ äëÿ âûïîëíåíèÿ âñêðûòèÿ, ïðåâûøàåò êîëè÷åñòâî âîçìîæíûõ î òêðûòûõ òåêñòîâ.)
Íóæíî îòìåòèòü ðÿä âàæíûõ ìîìåíòîâ. Âî ïåðâûõ, ýòî âñêðûòèå â çíà÷èòåëüíîé ñòåïåíè òåîðåòè÷åñêîå. Î ãðîìíûå òðåáîâàíèÿ ê âðåìåíè è îáúåìó äàííûõ, íåîáõîäèìûõ äëÿ âûïîëíåíèÿ âñêðûòèÿ ñ ïîìîùüþ äèôô åðåíöèàëüíîãî êðèïòîàíàëèçà, íàõîäÿòñÿ ïî÷òè äëÿ âñåõ âíå ïðåäåëîâ äîñÿãàåìîñòè. ×òîáû ïîëó÷èòü íóæíûå äàííûå äëÿ âûïîëíåíèÿ òàêîãî âñêðûòèÿ ïîëíîãî DES, âàì ïðèäåòñÿ ïî÷òè òðè ãîäà øèôðîâàòü ïîòîê âûáðà ííûõ øèôðîòåêñòîâ 1.5 Ìåãàáèò/ñ. Âî âòîðûõ, ýòî â ïåðâóþ î÷åðåäü âñêðûòèå ñ âûáðàííûì îòêðûòûì òåêñòîì. Îíî ìîæåò áûòü ïðåîáðàçîâàíî ê âñêðûòèþ ñ èçâåñòíûì îòêðûòûì òåêñòîì, íî âàì ïðèäåòñÿ ïðîñìîòðåòü âñå ïàðû "îòêðûòûé òåêñò/øèôðîòåêñò" â ïîèñêàõ ïîëåçíûõ.  ñëó÷àå ïîëíîãî 16-ýòàïíîãî DES ýòî äåëàåò âñêð ûòèå ÷óòü ìåíåå ýôôåêòèâíûì ïî ñðàâíåíèþ ñ ãðóáîé ñèëîé (âñêðûòèå äèôôåðåíöèàëüíûì êðèïòîàíàëèçîì òð åáóåò 255.1 îïåðàöèé, à âñêðûòèå ãðóáîé ñèëîé - 2 55). Òàêèì îáðàçîì, ïðàâèëüíî ðåàëèçîâàííûé DES ñîõðàíÿåò óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Ïî÷åìó DES òàê óñòîé÷èâ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó? Ïî÷åìó S-áëîêè îïòèìèçèðîâàíû òàê, ÷òî óñëîæíÿþò òàêîå âñêðûòèå íàñêîëüêî âîçìîæíî? Ïî÷åìó èñïîëüçóåòñÿ ðîâíî ñòîëüêî, à íå áîëüøå ýòàïîâ? Ï îòîìó ÷òî ñîçäàòåëè DES çíàëè î äèôôåðåíöèàëüíîì àíàëèçå. Äîí Êîïïåðñìèò èç IBM íåäàâíî ïèñàë [373, 374]: Ïðè ïðîåêòèðîâàíèè èñïîëüçîâàëèñü ïðåèìóùåñòâà îïðåäåëåííûõ êðèïòîàíàëèòè÷åñêèõ ìåòîäîâ, îñîáåííî ìåòîäà "äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà", êîòîðûé íå áûë îïóáëèêîâàí â îòêðûòîé ëèòåðàòóðå. Ïîñëå äèñêóññèé ñ NSA áûëî ð åøåíî, ÷òî ðàñêðûòèå ïðîöåññà ïðîåêòèðîâàíèÿ ðàñêðîåò è ìåòîä äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà, ìîùü êîòîðîãî ìîæåò áûòü èñïîëüçîâàíà ïðîòèâ ìíîãèõ øèôðîâ. Ýòî, â ñâîþ î÷åðåäü, ñîêðàòèëî áû ïðåèìóùåñòâî Ñîåäèíåííûõ Øòàòîâ ïåðåä äðóãèìè ñòðàíàìè â îáëàñòè êðèïòîãðàôèè.
Àäè Øàìèð îòêëèêíóëñÿ, ïðåäëîæèâ Êîïïåðñìèòó ïðèçíàòüñÿ, ÷òî ñ òåõ ïîð åìó íå óäàëîñü íàéòè ýôôå êòèâíîãî ñïîñîáà âñêðûòèÿ DES. Êîïïåðñìèò ïðåäïî÷åë îòìîë÷àò üñÿ [1426]. Êðèïòîàíàëèç ñî ñâÿçàííûìè êëþ÷àìè  9-é ïîêàçàíî êîëè÷åñòâî áèòîâ, íà êîòîðûå öèêëè÷åñêè ñìåùàåòñÿ êëþ÷ DES íà êàæäîì ýòàïå: íà 2 áèòà íà êàæäîì ýòàïå, êðîìå ýòàïîâ 1, 2, 9 è 16, êîãäà êëþ÷ ñäâèãàåòñÿ íà 1 áèò. Ïî÷åìó? Êðèïòîàíàëèç ñî ñâÿçàííûìè êëþ÷àìè ïîõîæ íà äèôôåðåíöèàëüíûé êðèïòîàíàëèç, íî îí èçó÷àåò ðàçë è÷èå ìåæäó êëþ÷àìè. Âñêðûòèå îòëè÷àåòñÿ îò ëþáîãî èç ðàíåå ðàññìîòðåííûõ: êðèïòîàíàëèòèê âûáèðàåò ñâÿçü ìåæäó ïàðîé êëþ÷åé, íî ñàìè êëþ÷è îñòàþòñÿ åìó íåèçâåñòíû. Äàííûå øèôðóþòñÿ îáîèìè êëþ÷àìè.  âàð èàíòå ñ èçâåñòíûì îòêðûòûì òåêñòîì êðèïòîàíàëèòèêó èçâåñòíû îòêðûòûé òåêñò è øèôðîòåêñò äàííûõ, øèôð îâàííûõ äâóìÿ êëþ÷àìè.  âàðèàíòå ñ âûáðàííûì îòêðûòûì òåêñòîì êðèïòîàíàëèòèê ïûòàåòñÿ âûáðàòü îòêð ûòûé òåêñò, çàøèôðîâàííûé äâóìÿ êëþ÷àìè. Ìîäèôèöèðîâàííûé DES, â êîòîðîì êëþ÷ ñäâèãàåòñÿ íà äâà áèòà ïîñëå êàæäîãî ýòàïà, ìåíåå áåçîïàñåí. Êðèïòîàíàëèç ñî ñâÿçàííûìè êëþ÷àìè ìîæåò âçëîìàòü òàêîé âàðèàíò àëãîðèòìà, èñïîëüçîâàâ òîëüêî 2 17 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé èëè 2 33 èçâåñòíûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé [158, 163]. Òàêîå âñêðûòèå òàêæå íå ðåàëèçóåìî íà ïðàêòèêå, íî îíî èíòåðåñíî ïî òðåì ïðè÷èíàì. Âî ïåðâûõ, ýòî ïå ðâàÿ ïîïûòêà êðèïòîàíàëèòè÷åñêîãî âñêðûòèÿ àëãîðèòìà ãåíåðàöèè ïîäêëþ÷åé â DES. Âî âòîðûõ, ýòî âñêðûòèå íå çàâèñèò îò êîëè÷åñòâà ýòàïîâ êðèïòîãðàôè÷åñêîãî àëãîðèòìà, îí îäèíàêîâî ýôôåêòèâåí ïðîòèâ DES ñ 16, 32 èëè 1000 ýòàïàìè. È â òðåòüèõ, DES íåâîñïðèèì÷èâ ê òàêîìó âñêðûòèþ. Èçìåíåíèå êîëè÷åñòâà áèòîâ öèêëè÷ åñêîãî ñäâèãà ìåøàåò êðèïòîàíàëèçó ñî ñâÿçàííûìè êëþ÷àìè. Ëèíåéíûé êðèïòîàíàëèç Ëèíåéíûé êðèïòîàíàëèç ïðåäñòàâëÿåò ñîáîé äðóãîé òèï êðèïòîàíàëèòè÷åñêîãî âñêðûòèÿ, èçîáðåòåííûé Ìèöóðó Ìàöóè (Mitsuru Matsui) [1016, 1015, 1017]. Ýòî âñêðûòèå èñïîëüçóåò ëèíåéíûå ïðèáëèæåíèÿ äëÿ îï èñàíèÿ ðàáîòû áëî÷íîãî øèôðà (â äàííîì ñëó÷àå DES.) Ýòî îçíà÷àåò, ÷òî åñëè âû âûïîëíèòå îïåðàöèþ XOR íàä íåêîòîðûìè áèòàìè îòêðûòîãî òåêñòà, çàòåì íàä íåêîòîðûìè áèòàìè øèôðîòåêñòà, à çàòåì íàä ðåçóëüòàòàìè, âû ïîëó÷èòå áèò, êîòîðûé ïðåäñòàâëÿåò ñîáîé XOR íåêîòîðûõ áèòîâ êëþ÷à. Ýòî íàçûâàåòñÿ ëèíåéíûì ïðèáëèæåíèåì, êîòîðîå ìîæåò áûòü âåðíûì ñ íåêîò îðîé âåðîÿòíîñòüþ p. Åñëè p ≠ 1/2, òî ýòî ñìåùåíèå ìîæíî èñïîëüçîâàòü. Èñïîëüçóéòå ñîáðàííûå îòêðûòûå òå êñòû è ñâÿçàííûå øèôðîòåêñòû äëÿ ïðåäïîëîæåíèÿ î çíà÷åíèÿõ áèòîâ êëþ÷à. ×åì áîëüøå ó âàñ äàííûõ, òåì âåðíåå ïðåäïîëîæåíèå. ×åì áîëüøå ñìåùåíèå, òåì á ûñòðåå âñêðûòèå óâåí÷àåòñÿ óñïåõîì. Êàê îïðåäåëèòü õîðîøåå ëèíåéíîå ïðèáëèæåíèå äëÿ DES? Íàéäèòå õîðîøèå îäíîýòàïíûå ëèíåéíûå ïð èáëèæåíèÿ è îáúåäèíèòå èõ. (Íà÷àëüíàÿ è çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêè ñíîâà èãíîðèðóþòñÿ, òàê êàê îíè íå âëèÿþò íà âñêðûòèå.) Âçãëÿíèòå íà S-áëîêè. Ó íèõ 6 âõîäíûõ áèòîâ è 4 âûõîäíûõ. Âõîäíûå áèòû ìîæíî îáú åäèíèòü ñ ïîìîùüþ îïåðàöèè XOR 63 ñïîñîáàìè (2 6 - 1), à âûõîäíûå áèòû - 15 ñïîñîáàìè. Òåïåðü äëÿ êàæäîãî S-áëîêà ìîæíî îöåíèòü âåðîÿòíîñòü òîãî, ÷òî äëÿ ñëó÷àéíî âûáðàííîãî âõîäà âõîäíàÿ êîìáèíàöèÿ XOR ðàâíà íåêîòîðîé âûõîäíîé êîìáèíàöèè XOR. Åñëè ñóùåñòâóåò êîìáèíàöèÿ ñ äîñòàòî÷íî áîëüøèì ñìåùåíèåì, òî ë èíåéíûé êðèïòîàíàëèç ìîæåò ñðàáîòàòü. Åñëè ëèíåéíûå ïðèáëèæåíèÿ íå ñìåùåíû, òî îíè áóäóò âûïîëíÿòüñÿ äëÿ 32 èç 64 âîçìîæíûõ âõîäîâ. ß è ç-
áàâëþ âàñ îò äëèòåëüíîãî èçó÷åíèÿ òàáëèö, íàèáîëåå ñìåùåííûì S-áëîêîì ÿâëÿåòñÿ ïÿòûé S-áëîê. Äåéñòâ èòåëüíî, äëÿ 12 âõîäîâ âòîðîé âõîäíîé áèò ðàâåí XOR âñåõ ÷åòûðåõ âûõîäíûõ áèòîâ. Ýòî ñîîòâåòñòâóåò âåðîÿ òíîñòè 3/16 èëè ñìåùåíèþ 5/16, ÷òî ÿâëÿåòñÿ ñàìûì áîëüøèì ñìåùåíèåì äëÿ âñåõ S-áëîêîâ. (Øàìèð ïèñàë îá ýòîì â [1423], íî íå ñìîã íàéòè ñïîñîáà èñïîëüçîâàòü.) Íà 4-é ïîêàçàíî, êàê âîñïîëüçîâàòüñÿ ýòèì äëÿ âñêðûòèÿ ôóíêöèè ýòàïà DES. b26 - ýòî âõîäíîé áèò S-áëîêà 5. (ß íóìåðóþ áèòû ñëåâà íàïðàâî îò 1 äî 64. Ìàöóè èãíîðèðóåò ýòî ïðèíÿòîå äëÿ DES ñîãëàøåíèå è íóìåðóåò ñâîè áèòû ñïðàâà íàëåâî è îò 0 äî 63. Ýòîãî õâàòèò, ÷òîáû ñâåñòè âàñ ñ óìà.) c17, c18, c19, c20 - ýòî 4 âûõîäíûõ áèòà S-áëîêà 5. Ìû ìîæåì ïðîñëåäèòü b26 â îáðàòíîì íàïðàâëåíèè îò âõîäà â S-áëîê. Äëÿ ïîëó÷åíèÿ b26 áèò îáúåäèíÿåòñÿ ñ ïîìîùüþ XOR ñ áèòîì ïîäêëþ÷à Ki,26. À áèò X17 ïðîõîäèò ÷åðåç ïîäñòàíîâêó ñ ðàñøèðåíèåì, ÷òîáû ïðåâðàòèòüñÿ â a26. Ïîñëå S-áëîêà 4 âûõîäíûõ áèòà ïðîõîäÿò ÷åðåç P-áëîê, ïðåâðàùàÿñü â ÷åòûðå âûõî äíûõ áèòà ôóíêöèè ýòàïà: Y3, Y8, Y14 è Y25. Ýòî îçíà÷àåò, ÷òî ñ âåðîÿòíîñòüþ 1/2 - 5/6: X17 ⊕ Y3 ⊕ Y8 ⊕ Y14 ⊕ Y25 = Ki,26 X X17 E
E(X)
Ki Ki,26
a26 b26 S-áëîê c17,c18,c19, c20 P
Y Y3, Y8, Y14, Y25
Ðèñ. 12-8. 1-ýòàïíîå ëèíåéíîå ïðèáëèæåíèå äëÿ DES. Ñïîñîá, êîòîðûì ìîæíî îáúåäèíèòü ëèíåéíûå ïðèáëèæåíèÿ äëÿ ðàçëè÷íûõ ýòàïîâ, ïîõîæ íà òîò, êîòîðûé îáñóæäàëñÿ äëÿ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà. Íà 3-é ïîêàçàíî 3-ýòàïíîå ëèíåéíîå ïðèáëèæåíèå ñ âåð îÿòíîñòüþ 1/2+0.0061. Êà÷åñòâî îòäåëüíûõ ïðèáëèæåíèé ðàçëè÷íî: ïîñëåäíåå î÷åíü õîðîøî, ïåðâîå äîñòàòî÷íî õîðîøî, à ñðåäíåå - ïëîõî. Íî âìåñòå ýòè òðè 1-ýòàïíûõ ïðèáëèæåíèÿ äàþò î÷åíü õîðîøåå òðåõýòàïíîå ïð èáëèæåíèå.
Ki-1,26 B
f
17
B
17
17
B 17
f
3
17
A
A
17 f
A
Ki,26
Ki+1,26
17
17
A=[3, 8, 14, 25]
B=[8, 14, 25]
Ñ âåðîÿòíîñòüþ 1/2+6.1*10-3 Ðèñ. 12-9. 3-ýòàïíîå ëèíåéíîå ïðèáëèæåíèå DES. Áàçîâîå âñêðûòèå äîëæíî èñïîëüçîâàòü íàèëó÷øåå ëèíåéíîå ïðèáëèæåíèå äëÿ 16-ýòàïíîãî DES. Äëÿ íåãî òðåáóåòñÿ 247 èçâåñòíûõ îòêðûòûõ áëîêîâ, à ðåçóëüòàòîì âñêðûòèÿ ÿâëÿåòñÿ 1 áèò êëþ÷à. Ýòî íå î÷åíü ïîëåçíî. Åñëè âû ïîìåíÿåòå ìåñòàìè îòêðûòûé òåêñò è øèôðîòåêñò è èñïîëüçóåòå äåøèôðèðîâàíèå âìåñòå ñ øèôðîâ àíèåì, âû ñìîæåòå ïîëó÷èòü 2 áèòà. Ýòî âñå åùå íå î÷åíü ïîëåçíî. Ñóùåñòâóåò ðÿä òîíêîñòåé. Èñïîëüçóéòå 14-ýòàïíîå ëèíåéíîå ïðèáëèæåíèå äëÿ ýòàïîâ ñ 2 ïî 15. Ïîïðîáóåì óãàäàòü 6 áèòîâ ïîäêëþ÷à äëÿ S-áëîêà 5 ïåðâîãî è ïîñëåäíåãî ýòàïîâ (âñåãî, òàêèì îáðàçîì, 12 áèòîâ êëþ÷à). Äëÿ ýôôåêòèâíîñòè âûïîëíÿåì ëèíåéíûé êðèïòîàíàëèç ïàðàëëåëüíî 2 12 ðàç è âûáèðàåì ïðàâèëüíûé âàðèàíò, îñíîâûâàÿñü íà âåðîÿòíîñòÿõ. Ýòî ðàñêðûâàåò 12 áèòîâ è b26, à ïîìåíÿâ ìåñòàìè îòêðûòûé òåêñò è øèôðîòåêñò ìû ïîëó÷èì åùå 13 áèòîâ. Äëÿ ïîëó÷åíèÿ îñòàâøèõñÿ 30 áèòîâ èñïîëüçóéòå èñ÷åðïûâàþùèé ïîèñê. Ñóùåñòâ óþò è äðóãå ïðèåìû, íî îïèñàííûé ÿâëÿåòñÿ îñíîâíûì. Ïðè âñêðûòèè òàêèì îáðàçîì ïîëíîãî 16 ýòàïíîãî DES êëþ÷ áóäåò ðàñêðûò â ñðåäíåì ñ ïîìîùüþ 2 43 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Ïðîãðàììíàÿ ðåàëèçàöèè ýòîãî âñêðûòèÿ, ðàáîòàÿ íà 12 ðàáî÷èõ ñòàíöèÿõ HP9735, ðàñêðûëà êëþ÷ DES çà 50 äíåé [1019].  ìîìåíò íàïèñàíèÿ ýòîé êíèãè ýòî íàèáîëåå ýôôåêòèâíûé ñïîñîá âñêðûòèÿ DES. Ëèíåéíûé êðèïòîàíàëèç ñèëüíî çàâèñèò îò ñòðóêòóðû S-áëîêîâ, îêàçàëîñü, ÷òî S-áëîêè DES íå îïòèìèçèð îâàíû ïðîòèâ òàêîãî ñïîñîáà âñêðûòèÿ. Äåéñòâèòåëüíî, ñìåùåíèå â S-áëîêàõ, âûáðàííûõ äëÿ DES, íàõîäèòñÿ ìåæäó 9 è 16 ïðîöåíòàìè, ÷òî íå îáåñïå÷èâàåò íàäåæíîé çàùèòû ïðîòèâ ëèíåéíîãî êðèïòîàíàëèçà [1018]. Ñ îãëàñíî Äîíó Êîïïåðñìèòó [373, 374] óñòîé÷èâîñòü ê ëèíåéíîìó êðèïòîàíàëèçó "íå âõîäèëî â ÷èñëî êðèòåðèåâ ïðîåêòèðîâàíèÿ DES". Ëèáî ðàçðàáîò÷èêàì íå áûëî èçâåñòíî î ëèíåéíîì êðèïòîàíàëèçå, ëèáî ïðè ïðîåêòèð îâàíèè îíè îòäàëè ïðåèìóùåñòâî óñòîé÷èâ îñòè ïðîòèâ èçâåñòíîãî èì åùå áîëåå ìîùíîãî ñðåäñòâà âñêðûòèÿ. Ëèíåéíûé êðèïòîàíàëèç íîâåå, ÷åì äèôôåðåíöèàëüíûé, è â áëèæàéøåå âðåìÿ âîçìîæíî äàëüíåéøåå ïð îäâèæåíèå â ýòîì íàïðàâëåíèè. Íåêîòîðûå èäåè âûäâèíóòû â [1270, 811], íî íå ÿñíî, ìîæíî ëè èõ ýôôåêòèâíî ïðèìåíèòü ïðîòèâ ïîëíîãî DES. Îäíàêî îíè î÷åíü õîðîøî ðàáîòàþò ïðîòèâ âàðèàíòîâ ñ óìåíüøåííûì ÷èñëîì ýòàïîâ.
Äàëüíåéøèå íàïðàâëåíèÿ Áûë ïðåäïðèíÿò ðÿä ïîïûòîê ðàñøèðèòü êîíöåïöèþ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà íà äèôôåðåíöèàëû áîëåå âûñîêèõ ïîðÿäêîâ [702, 161, 927, 858, 860]. Ëàðñ Êíóäñåí (Lars Knudsen) èñïîëüçóåò íå÷òî, íàçûâàåìîå ÷àñòè÷íûìè äèôôåðåíöèàëàìè äëÿ âñêðûòèÿ 6-ýòàïíîãî DES. Ýòîò ìåòîä òðåáóåò 32 âûáðàííûõ îòêðûòûõ òå êñòà è 20000 øèôðîâàíèé [860]. Íî ýòîò ìåòîä ñëèøêîì íîâ, ÷òîáû ìîæíî áûëî óòâåðæäàòü, ÷òî îí îáëåã÷èò âñêðûòèå ïîëíîãî 16-ýòàïíîãî DES. Äðóãèì ñïîñîáîì âñêðûòèÿ ÿâëÿåòñÿ äèôôåðåíöèàëüíî-ëèíåéíûé êðèïòîàíàëèç - îáúåäèíåíèå äèôôåðåíö èàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà. Ñüþçåí Ëàíãôîðä (Susan Langford) è Õåëëìàí ïðåäëàãàþò âñêðûòèå 8-ýòàïíîãî DES, êîòîðîå ðàñêðûâàåò 10 áèòîâ êëþ÷à ñ âåðîÿòíîñòüþ óñïåõà 80 ïðîöåíòîâ, èñïîëüçóÿ 512 â ûáðàííûõ îòêðûòûõ òåêñòîâ, è ñ âåðîÿòíîñòüþ óñïåõà 95 ïðîöåíòîâ, èñïîëüçóÿ 768 âûáðàííûõ îòêðûòûõ òåêñòîâ [938]. Ïîñëå âñêðûòèÿ íåîáõîäèì ïîèñê ãðóáîé ñèëîé â îñòàâøåìñÿ ïðîñòðàíñòâå êëþ÷åé (2 46 âîçìîæíûõ êëþ÷åé). Õîòÿ ïî âðåìåíè ýòî âñêðûòèå ñðàâíèìî ñ ïðåäûäóùèìè ñïîñîáàìè, äëÿ íåãî òðåáóåòñÿ íàìíîãî ìåíüøå îòêðûòûõ òåêñòîâ. Îäíàêî ðàñøèðåíèå ýòîãî ìåòîäà íà áîëüøåå êîëè÷åñòâî ýòàïîâ ëåãêèì íå êàæåòñÿ. Íî ýòîò ìåòîä íîâ, è ðàáîòà ïðîäîëæàåòñÿ.  áëèæàéøèå ãîäû âîçìîæíû çàìåòíûå óñïåõè. Ìîæåò áûòü ó ñïåõà äîáüåòñÿ ñî÷åòàíèå ýòîãî âñêðûòèÿ ñ äèôôåðåíöèàëüíûì êðèïòîàíàëèçîì áîëåå âûñîêèõ ïîðÿäêîâ. Êòî çíàåò?
12.5 Ðåàëüíûå êðèòåðèè ïðîåêòèðîâàíèÿ Ïîñëå ïîÿâëåíèÿ ïóáëèêàöèé î äèôôåðåíöèàëüíîì êðèïòîàíàëèçå IBM ðàñêðûëà êðèòåðèè ïðîåêòèðîâàíèÿ S-áëîêîâ è P-áëîêà [373, 374]. Êðèòåðèÿìè ïðîåêòèðîâàíèÿ S-áëîêîâ ÿâëÿëèñü: Ó êàæäîãî S-áëîêà 6 âõîäíûõ áèòîâ è 4 âûõîäíûõ áèòà. (Ýòî ñàìûé áîëüøîé ðàçìåð, êîòîðûé ìîã áûòü ðåàëèçîâàí â îäíîé ìèêðîñõåìå ïî òåõíîëîãèè 1974 ãîäà.) Íè îäèí âûõîäíîé áèò S-áëîêà íå äîëæåí áûòü ñëèøêîì áëèçîê ê ëèíåéíîé ôóíêöèè âõîäíûõ áèòîâ. Åñëè çàôèêñèðîâàòü êðàéíèå ëåâûé è ïðàâûé áèòû S-áëîêà, èçìåíÿÿ 4 ñðåäíèõ áèòà, òî êàæäûé âîçìî æíûé 4-áèòîâûé ðåçóëüòàò ïîëó÷àåòñÿ òîëüêî îäèí ðàç. Åñëè äâà âõîäà S-áëîêà îòëè÷àþòñÿ òîëüêî îäíèì áèòîì, ðåçóëüòàòû äîëæíû îòëè÷àòüñÿ ïî êðàéíåé ìåðå íà 2 áèòà. Åñëè äâà âõîäà S-áëîêà îòëè÷àþòñÿ òîëüêî äâóìÿ öåíòðàëüíûìè áèòàìè, ðåçóëüòàòû äîëæíû îòëè÷àòüñÿ ïî êðàéíåé ìåðå íà 2 áèòà. Åñëè äâà âõîäà S-áëîêà îòëè÷àþòñÿ äâóìÿ ïåðâûìè áèòàìè, à ïîñëåäíèå èõ ïîñëåäíèå 2 áèòà ñîâïàäàþò, ðåçóëüòàòû íå äîëæíû áûòü îäèíàêîâûìè. Äëÿ ëþáîãî íåíóëåâîãî 6-áèòîâîãî îòëè÷èÿ ìåæäó âõîäàìè, íå áîëåå, ÷åì 8 èç 32 ïàð âõîäîâ ìîãóò ïð èâîäèòü íà âûõîäå ê îäèíàêîâîìó ðàçëè÷èþ. Àíàëîãè÷íûé ïðåäûäóùåìó êðèòåðèé, íî äëÿ ñëó÷àÿ òðåõ àêòèâíûõ S-áëîêîâ. Êðèòåðèÿìè ïðîåêòèðîâàíèÿ P-áëîêà ÿâëÿëèñü: 4 âûõîäíûõ áèòà êàæäîãî S-áëîêà íà ýòàïå i ðàñïðåäåëåíû òàê, ÷òîáû 2 èç íèõ âëèÿþò íà ñðåäíèå áèòû S-áëîêîâ íà ýòàïå i + 1, à äðóãèå 2 áèòà âëèÿþò íà ï îñëåäíèå áèòû. 4 âûõîäíûõ áèòà êàæäîãî S-áëîêà âëèÿþò íà øåñòü ðàçëè÷íûõ S-áëîêîâ, íèêàêèå 2 íå âëèÿþò íà îäèí è òîò æå S-áëîê. Åñëè âûõîäíîé áèò îäíîãî S-áëîêà âëèÿåò íà ñðåäíèå áèòû äðóãîãî S-áëîêà, òî âûõîäíîé áèò ýòîãî äð óãîãî S-áëîêà íå ìîæåò âëèÿòü íà ñðåäíèå áèòû ïåðâîãî S-áëîêà. Ýòà ðàáîòà ïðîäîëæàëà îáñóæäåíèå êðèòåðèåâ. Ñåãîäíÿ ñîâñåì íåòðóäíî ãåíåðèðîâàòü S-áëîêè, íî â íà÷àëå 70-õ ýòî áûëî íåëåãêîé çàäà÷åé. Òà÷ìåí ãîâîðèë, ÷òî ïðîãðàììû, ãîòîâèâøèå S-áëîêè, ðàáîòàëè ìåñÿöàìè.
12.6 Âàðèàíòû DES Ìíîãîêðàòíûé DES  ðÿäå ðåàëèçàöèé DES èñïîëüçóåòñÿ òðåõêðàòíûé DES (ñì. 2-é) [55]. Òàê êàê DES å ÿâëÿåòñÿ ãðóïïîé, ï îëó÷åííûé øèôðîòåêñò ãîðàçäî ñëîæíåå âñêðûòü, èñïîëüçóÿ èñ÷åðïûâàþùèé ïîèñê: 2 112 ïîïûòîê âìåñòî 2 56. Ïîäðîáíîñòè ìîæíî íàéòè â ðàçäåëå 15.2.
Øèôðîâàíèå
Îòêðûòûé òåêñò
DES
DES-1
DES
K1
K2
K3
DES-1
DES
DES-1
Øèôðîòåêñò
Äåøèôðèðîâàíèå
Ðèñ. 12-10. Òðåõêðàòíûé DES. DES ñ íåçàâèñèìûìè ïîäêëþ÷àìè Äðóãîé âîçìîæíîñòüþ ÿâëÿåòñÿ èñïîëüçîâàíèå ðàçëè÷íûõ ïîäêëþ÷åé íà êàæäîì ýòàïå, íå ñîçäàâàÿ èõ èç îäíîãî 56-áèòîâîãî êëþ÷à [851]. Òàê êàê íà êàæäîì èç 16 ýòàïîâ èñïîëüçóåòñÿ 48 áèòîâ êëþ÷à, òî äëèíà êëþ÷à äëÿ òàêîãî âàðèàíòà ñîñòàâèò 768 áèòîâ. Òàêîé âàðèàíò ðåçêî óâåëè÷èâàåò ñëîæíîñòü âñêðûòèÿ àëãîðèòìà ãð óáîé ñèëîé, ñëîæíîñòü òàêîãî âñêðûòèÿ ñîñòàâèò 2 768. Îäíàêî âîçìîæíî èñïîëüçîâàíèå âñêðûòèÿ "âñòðå÷à ïîñåðåäèíå" (ñì. ðàçäåë 15.1). Ñëîæíîñòü òàêîãî âñêð ûòèÿ óìåíüøàåòñÿ äî 2 384, ÷òî, òåì íå ìåíåå, âïîëíå äîñòàòî÷íî äëÿ îáåñïå÷åíèÿ ëþáîé ìûñëèìîé áåçîïàñí îñòè. Õîòÿ íåçàâèñèìûå ïîäêëþ÷è ìåøàþò ëèíåéíîìó êðèïòîàíàëèçó, ýòîò âàðèàíò ÷óâñòâèòåëåí ê äèôôåðåíö èàëüíîìó êðèïòîàíàëèçó è ìîæåò áûòü âñêðûò ñ ïîìîùüþ 2 61 âûáðàííûõ îòêðûòûõ òåêñòîâ (ñì. -3-é) [167, 172]. Ïî âèäèìîìó, íèêàêàÿ ìîäèôèêàöèÿ ðàñïðåäåëåíèÿ êëþ÷åé íå ñìîæåò í àìíîãî óñèëèòü DES. DESX DESX - ýòî âàðèàíò DES, ðàçðàáîòàííûé RSA Data Security, Inc., è âêëþ÷åííûé â 1986 ãîäó â ïðîãðàììó îáåñïå÷åíèÿ áåçîïàñíîñòè ýëåêòðîííîé ïî÷òû MailSafe, à â 1987 ãîäó â íàáîð BSAFE. DESX èñïîëüçóåò ìåòîä, íàçûâàåìûé îòáåëèâàíèåì (ñì. ðàçäåë 15.6), äëÿ ìàñêèðîâêè âõîäîâ è âûõîäîâ DES. Êðîìå 56-áèòîâîãî êëþ÷à DES â DESX èñïîëüçóåòñÿ äîïîëíèòåëüíûé 64-áèòîâûé êëþ÷ îòáåëèâàíèÿ. Ýòè 64 áèòà èñïîëüçóþòñÿ äëÿ â ûïîëíåíèÿ îïåðàöèè XOR ñ áëîêîì îòêðûòîãî òåêñòà ïåðåä ïåðâûì ýòàïîì DES. Äîïîëíèòåëüíûå 64 áèòà, ÿ âëÿþùèåñÿ ðåçóëüòàòîì ïðèìåíåíèÿ îäíîíàïðàâëåííîé ôóíêöèè ê ïîëíîìó 120-áèòîâîìó êëþ÷ó DESX, èñïîë üçóþòñÿ äëÿ âûïîëíåíèÿ XOR ñ øèôðîòåêñòîì, ïîëó÷åííûì â ðåçóëüòàòå ïîñëåäíåãî ýòàïà [155]. Ïî ñðàâíåíèþ ñ DES îòáåëèâàíèå çíà÷èòåëüíî ïîâûøàåò óñòîé÷èâîñòü DESX ê âñêðûòèþ ãðóáîé ñèëîé, âñêðûòèå òðåáóåò (2120)/n îïåðàöèé ïðè n èçâåñòíûõ îòêðûòûõ òåêñòàõ. Òàêæå ïîâûøàåòñÿ óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó, äëÿ âñêðûòèÿ ïîòðåáóåòñÿ 2 61 âûáðàííûõ è 2 60 èçâåñòíûõ îòêðûòûõ òåêñòîâ, ñîî òâåòñòâåííî [1338]. CRYPT(3) CRYPT(3) ïðåäñòàâëÿåò ñîáîé âàðèàíò DES, èñïîëüçóåìûé â ñèñòåìàõ UNIX. Îí â îñíîâíîì èñïîëüçóåòñÿ â êà÷åñòâå îäíîíàïðàâëåííîé ôóíêöèè äëÿ ïàðîëåé, íî èíîãäà ìîæåò áûòü èñïîëüçîâàí è äëÿ øèôðîâàíèÿ. Ðà çëè÷èå ìåæäó CRYPT(3) è DES ñîñòîèò â òîì, ÷òî â CRYPT(3) âêëþ÷åíà íåçàâèñèìàÿ îò êëþ÷à ïåðåñòàíîâêà ñ ðàñøèðåíèåì ñ 2 12 âàðèàíòàìè. Ýòî ñäåëàíî äëÿ òîãî, ÷òîáû äëÿ ñîçäàíèÿ àïïàðàòíîãî óñòðîéñòâà âñêðûòèÿ ïàðîëåé íåëüçÿ áûëî èñïîëüçîâàòü ïðîìûøëåííûå ìèêðîñõåìû DES. Îáîáùåííûé DES Îáîáùåííûé DES (Generalized DES, GDES) áûë ñïðîåêòèðîâàí äëÿ óñêîðåíèÿ DES è ïîâûøåíèÿ óñòîé÷ èâîñòè àëãîðèòìà [1381, 1382]. Îáùèé ðàçìåð áëîêà óâåëè÷èëñÿ, à êîëè÷åñòâî âû÷èñëåíèé îñòàëîñü íåèçìå ííûì. Íà 1-é ïîêàçàíà ïîáëî÷íàÿ äèàãðàììà GDES. GDES ðàáîòàåò ñ áëîêàìè îòêðûòîãî òåêñòà ïåðåìåííîé äë èíû. Áëîêè øèôðîâàíèÿ äåëÿòñÿ íà q 32-áèòîâûõ ïîäáëîêîâ, òî÷íîå ÷èñëî êîòîðûõ çàâèñèò îò ïîëíîãî ðàçìåðà áëîêà (êîòîðûé ïî èäåå ìîæåò ìåíÿòüñÿ, íî ôèêñèðîâàí äëÿ êîíêðåòíîé ðåàëèçàöèè).  îáùåì ñëó÷àå q ðàâíî ðàçìåðó áëîêà, äåëåííîìó íà 32.
Îòêðûòûé òåêñò
(1)
B0
(2)
B0
(3)
B0
( -1)
B0 q
( )
B0 q F
K1 (1)
B1
(2)
B1
(3)
B1
( -1)
B1 q
( )
B1 q F
K2 (1)
B2
(2)
B2
(3)
B2
( -1)
B2 q
( )
B2 q F
Ki Bn-1
(1)
B n-1
(2)
(3)
B n-1
( -1)
B n-1 q
( )
B n-1 q F
Kn (1)
Bn
(2)
Bn
(3)
Bn
( -1)
Bn q
( )
Bn q
Øèôðîòåêñò
Ðèñ. 12-11. GDES. Ôóíêöèÿ f äëÿ êàæäîãî ýòàïà ðàññ÷èòûâàåòñÿ îäèí ðàç äëÿ êðàéíåãî ïðàâîãî áëîêà. Ðåçóëüòàò ïðè ïîìîùè îïåðàöèè XOR îáúåäèíÿåòñÿ ñî âñåìè îñòàëüíûìè ÷àñòÿì, êîòîðûå çàòåì öèêëè÷åñêè ñìåùàþòñÿ íàïðàâî. GDES èñïîëüçóåò ïåðåìåííîå ÷èñëî ýòàïîâ n.  ïîñëåäíèé ýòàï âíåñåíî íåçíà÷èòåëüíîå èçìåíåíèå, ÷òîáû ïð îöåññû øèôðîâàíèÿ è äåøèôðèðîâàíèÿ îòëè÷àëèñü òîëüêî ïîðÿäêîì ïîäêëþ÷åé (òî÷íî òàêæå, êàê â DES). Äå éñòâèòåëüíî, åñëè q = 2 è n = 16, òî îïèñàííûé àëãîðèòì ïðåâðàùàåòñÿ â DES. Áèõàì è Øàìèð [167, 168] ïîêàçàëè, ÷òî äèôôåðåíöèàëüíûé êðèïòîàíàëèç âñêðûâàåò GDES ñ q = 8 è n = 16 ñ ïîìîùüþ âñåãî øåñòè âûáðàííûõ îòêðûòûõ òåêñòîâ. Ïðè èñïîëüçîâàíèè íåçàâèñèìûõ ïîäêëþ÷åé òðåáóåòñÿ 16 âûáðàííûõ îòêðûòûõ òåêñòîâ. GDES ñ q = 8 è n = 22 âñêðûâàåòñÿ ñ ïîìîùüþ âñåãî 48 âûáðàííûõ îòêðûòûõ òåêñòîâ, à äëÿ âñêðûòèÿ GDES ñ q = 8 è n = 31 òðåáóåòñÿ âñåãî 500000 âûáðàííûõ îòêðûòûõ òåêñòîâ. Äàæå GDES ñ q = 8 è n = 64 ñëàáåå, ÷åì DES - äëÿ åãî âñêðûòèÿ íóæíî òîëüêî 249 âûáðàííûõ îòêðûòûõ òåêñòîâ. Äåéñòâèòåëüíî, ëþáàÿ áîëåå áûñòðàÿ, ÷åì DES, ñõåìà GDES ÿâëÿåòñÿ òàêæå è ìåíåå áåçîïàñíîé (ñì. -3-é). Íåäàâíî ïîÿâèëñÿ åùå îäèí âàðèàíò ýòîé ñõåìû [1591]. Âîçìîæíî îí íå áîëåå áåçîïàñåí, ÷åì îðèãèíàëüíûé GDES. Îáùåì ñëó÷àå ëþáîé âàðèàíò DES ñ áîëüøèìè áëîêàìè, êîòîðûé áûñòðåå DES, ñêîðåå âñåãî ìåíåå áåçîïàñåí ïî ñðàâíåíèþ ñ DES. DES ñ èçìåíåííûìè S-áëîêàìè Äðóãèå ìîäèôèêàöèè DES ñâÿçàíû ñ S-áëîêàìè.  íåêîòîðûõ ïðîåêòàõ èñïîëüçóåòñÿ ïåðåìåííûé ïîðÿäîê S-áëîêîâ. Äðóãèå ðàçðàáîò÷èêè ìåíÿþò ñîäåðæàíèå ñàìèõ S -áëîêîâ. Áèõàì è Øàìèð ïîêàçàëè [170,172], ÷òî ïîñòðîåíèå S-áëîêîâ è äàæå èõ ïîðÿäîê îïòèìàëüíû ñ òî÷êè çðåíèÿ óñòîé÷èâîñòè ê äèôôåðåíöèàëüíîìó êðè ïòîàíàëèçó: Èçìåíåíèå ïîðÿäêà âîñüìè S-áëîêîâ DES (áåç èçìåíåíèÿ èõ çíà÷åíèé) òàêæå çíà÷èòåëüíî îñëàáëÿåò DES: DES ñ 16 ýò àïàìè è êîíêðåòíûì èçìåíåííûì ïîðÿäêîì âñêðûâàåòñÿ ïðèìåðíî çà 2 38 øàãîâ. ... Äîêàçàíî, ÷òî DES ñî ñëó÷àéíûìè Sáëîêàìè âñêðûòü î÷åíü ëåãêî. Äàæå ìèíèìàëüíîå èçìåíåíèå îäíîãî èç ýëåìåíòîâ S_áëîêîâ DES ìîæåò ñíèçèòü óñòîé÷ è-
âîñòü DES ê âñêðûòèþ.
S-áëîêè DES íå áûëè îïòèìèçèðîâàíû ïðîòèâ ëèíåéíîãî êðèïòîàíàëèçà. Ñóùåñòâóþò è ëó÷øèå S-áëîêè, ÷åì ïðåäëàãàåìûå â DES, íî áåçäóìíàÿ çàìåíà S-áëîêîâ íîâûìè - íå ñàìàÿ ëó÷øàÿ èäåÿ.  -3-é [167, 169] ïåðå÷èñëåíû íåêîòîðûå ìîäèôèêàöèè DES è êîëè÷åñòâî âûáðàííûõ îòêðûòûõ òåêñòîâ, íóæíîå äëÿ âûïîëíåíèÿ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà.  òàáëèöó íå âêëþ÷åíà îäíà èç ìîäèôèêàöèé, îá úåäèíÿþùàÿ ëåâóþ è ïðàâóþ ïîëîâèíû ñ ïîìîùüþ ñëîæåíèÿ ïî ìîäóëþ 24 âìåñòî XOR, åå â 2 17 ðàç òðóäíåå âñêðûòü, ÷åì DES [689]. RDES RDES - ýòî ìîäèôèêàöèÿ, â êîòîðîé â êîíöå êàæäîãî ýòàïà îáìåíèâàþòñÿ ìåñòàìè ïðàâàÿ è ëåâàÿ ïîëîâèíû ñ èñïîëüçîâàíèåì çàâèñèìîé îò êëþ÷à ïåðåñòàíîâêè [893]. Îáìåíû ìåñòàìè ôèêñèðîâàíû è çàâèñÿò òîëüêî îò êëþ÷à. Ýòî îçíà÷àåò, ÷òî ìîæåò áûòü 15 îáìåíîâ, çàâèñèìûõ îò êëþ÷à, è 2 15 âîçìîæíûõ âàðèàíòîâ, à òàêæå ÷òî ýòà ìîäèôèêàöèÿ íå óñòîé÷èâà ïî îòíîøåíèþ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó [816, 894, 112]. Ó RDES áîëüøîå êîëè÷åñòâî ñëàáûõ êëþ÷åé. Äåéñòâèòåëüíî, ïî÷òè êàæäûé êëþ÷ ñëàáåå, ÷åì òèïè÷íûé êëþ÷ DES. È ñïîëüçîâàòü ýòó ìîäèôèêàöèþ íåëüçÿ. Ëó÷øåé ÿâëÿåòñÿ èäåÿ âûïîëíÿòü îáìåí ìåñòàìè òîëüêî â ïðåäåëàõ ïðàâîé ïîëîâèíû è â íà÷àëå êàæäîãî ýòàïà. Äðóãîé õîðîøåé èäååé ÿâëÿåòñÿ âûïîëíåíèå îáìåíà â çàâèñèìîñòè îò âõîäíûõ äàííûõ, à íå êàê ñòàòè÷ åñêîé ôóíêöèè êëþ÷à. Ñóùåñòâóåò ìíîæåñòâî âîçìîæíûõ âàðèàíòîâ [813, 815].  RDES-1 èñïîëüçóåòñÿ çàâèñ ÿùàÿ îò äàííûõ ïåðåñòàíîâêà 16-áèòîâûõ ñëîâ â íà÷àëå êàæäîãî ýòàïà.  RDES-2 ïðèìåíÿåòñÿ çàâèñÿùàÿ îò äàííûõ ïåðåñòàíîâêà áàéòîâ â íà÷àëå êàæäîãî ýòàïà ïîñëå 16-áèòîâûõ ïåðåñòàíîâîê, àíàëîãè÷íûõ RDES-1. Ðàçâèòèåì ýòîé èäåè ÿâëÿåòñÿ RDES-4, è ò.ä. RDES-1 óñòîé÷èâ è ê äèôôåðåíöèàëüíîìó [815], è ê ëèíåéíîìó êðèïòîàíàëèçó [1136]. Ïî âèäèìîìó, RDES-2 è ïîñëåäóþùèå âàðèàíòû äîñòàòî÷íî õîðîøè. Òàáë. 12-15. Âñêðûòèÿ âàðèàíòîâ DES ñ ïîìîùüþ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà Èçìåíåíèå ðàáîòû
Êîëè÷åñòâî âûáðàííûõ îòêðûòûõ òåêñòîâ 247
Ïîëíûé DES (áåç èçìåíåíèé) P-ïåðåñòàíîâêà
Íå ìîæåò óñèëèòü 219
Òîæäåñòâåííàÿ ïåðåñòàíîâêà
238
Ïîðÿäîê S-áëîêîâ
239, 231
Çàìåíà XOR ñëîæåíèÿìè S-áëîêè Ñëó÷àéíûå
218 - 220
Ñëó÷àéíûå ïåðåñòàíîâêè
233 - 241
Îäíîýëåìåíòíûå
233
Îäíîðîäíûå òàáëèöû
226
Óäàëåíèå E-ðàñøèðåíèÿ
226
Ïîðÿäîê E-ðàñøèðåíèÿ è XOR ïîäêëþ÷à
244
GDES (øèðèíà q=8) 16 ýòàïîâ 64 ýòàïà
6, 16 49
2 (íåçàâèñèìûé êëþ÷)
snDES Ãðóïïà êîðåéñêèõ èññëåäîâàòåëåé ïîä ðóêîâîäñòâîì Êâàíäæî Êèìà (Kwangjo Kim) ïîïûòàëàñü íàéòè íàáîð S-áëîêîâ, îïòèìàëüíî óñòîé÷èâûõ è ïðîòèâ äèôôåðåíöèàëüíîãî, è ïðîòèâ ëèíåéíîãî êðèïòîàíàëèçà. Èõ ïåðâàÿ ïîïûòêà, èçâåñòíàÿ êàê s2DES, ïðåäñòàâëåííàÿ â [834], îêàçàëàñü, êàê áûëî ïîêàçàíî â [855, 858], ìåíåå óñòî é÷èâîé, ÷åì DES, ïðîòèâ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà. Ñëåäóþùèé âàðèàíò, s3DES, áûë ïðåäñòàâëåí â [839] è îêàçàëñÿ ìåíåå óñòîé÷èâ, ÷åì DES, ê ëèíåéíîìó êðèïòîàíàëèçó [856, 1491, 1527, 858, 838]. Áèõàì ïðå ä-
ëîæèë íåçíà÷èòåëüíî èçìåíèòü àëãîðèòì, ÷òîáû ñäåëàòü s3DES áåçîïàñíûì ïî îòíîøåíèþ è ê äèôôåðåíöèàë üíîìó, è ê ëèíåéíîìó êðèïòîàíàëèçó [165]. Èññëåäîâàòåëè âåðíóëèñü ê ñâîèì êîìïüþòåðàì è ðàçðàáîòàëè óëó ÷øåííóþ òåõíèêó ïðîåêòèðîâàíèÿ S-áëîêîâ [835, 837]. Îíè ïðåäëîæèëè s4DES [836], à çàòåì s5DES [838, 944].  -4-é ïðèâåäåíû äëÿ s3DES (ñ îáðàùåííûìè S -áëîêàìè 1 è 2), êîòîðûå áåçîïàñíû ïî îòíîøåíèþ ê îáîèì âèäàì êðèïòîàíàëèçà. Èñïîëüçîâàíèå ýòîãî âàðèàíòà âìåñòå ñ òðåõêðàòíûì DES íàâåðíÿêà ïîìåøàåò êðèïòî àíàëèçó. DES ñ S-áëîêàìè, çàâèñÿùèìè îò êëþ÷à Ëèíåéíûé è äèôôåðåíöèàëüíûé êðèïòîàíàëèç ðàáîòàþò òîëüêî, åñëè àíàëèòèêó èçâåñòíî ñòðîåíèå S-áëîêîâ. Åñëè S-áëîêè çàâèñÿò îò êëþ÷à è âûáèðàþòñÿ êðèïòîãðàôè÷åñêè ñèëüíûì ìåòîäîì, òî ëèíåéíûé è äèôôåðå íöèàëüíûé êðèïòîàíàëèç çíà÷èòåëüíî óñëîæíÿòñÿ. Õîòÿ íàäî ïîìíèòü, ÷òî äàæå ó õðàíÿùèõñÿ â ñåêðåòå ñëó÷à éíî ñîçäàííûõ S-áëîêîâ î÷åíü ïëîõèå äèôôåðåíöèàëüíûå è ëèíåéíûå õàðàêòåðèñòèêè. Òàáë. 12-16. S-áëîêè s3DES (ñ îáðàùåííûìè S-áëîêàìè 1 è 2) S-áëîê 1: 13
14
0
3
10
4
7
9
11
8
12
6
1
15
2
5
8
2
11
13
4
1
14
7
5
15
0
3
10
6
9
12
14
9
3
10
0
7
13
4
8
5
6
15
11
12
1
2
1
4
14
7
11
13
8
2
6
3
5
10
12
0
15
9
S-áëîê 2: 15
8
3
14
4
2
9
5
0
11
10
1
13
7
6
12
6
15
9
5
3
12
10
0
13
8
4
11
14
2
1
7
9
14
5
8
2,
4
15
3
10
7
6
13
1
11
12
0
10
5
3
15
12
9
0
6
1
2
8
4
11
14
7
13
S-áëîê 3: 13
3
11
5
14
8
0
6
4
15
1
12
7
2
10
9
4
13
1
8
7
2
14
11
15
10
12
3
9
5
0
6
6
5
8
11
13
14
3
0
9
2
4
1
10
7
15
12
1
11
7
2
8
13
4
14
6
12
10
15
3
0
9
5
S-áëîê 4: 9
0
7
11
12,
5
10
6
15
3
1
14
2
8
4
13
5
10
12
6
0
15
3
9
8
13
11
1
7
2
14
4
10
7
9
12
5
0
6
11
3
14
4
2
8
13
15
1
3
9
15
0
6
10
5
12
14
2
1
7
13
4
8
11
S-áëîê 5: 5
15
9
10
0
3
14
4
2
12
7
1
13
6
8
11
6
9
3
15
5
12
0
10
8
7
13
4
2
11
14
1
15
0
10
9
3
5
4
14
8
11
1
7
6
12
13
2
12
5
0
6
15
10
9
3
7
2
14
11
8
1
4
13
S-áëîê 6: 4
3
7
10
9
0
14
13
15
5
12
6
2
11
1
8
14
13
11
4
2
7
1
8
9
10
5
3
15
0
12
6
13
0
10
9
4
3
7
14
1
15
6
12
8
5
11
2
1
7
4
14
11
8
13
2
10
12
3
5
6
15
0
9
S-áëîê 7: 4
10
15
12
2
9
1
6
11
5
0
3
7
14
13
8
10
15
6
0
5
3
12
9
1
8
11
13
14
4
7
2
2
12
9
6
15
10
4
1
5
11
3
0
8
7
14
13
12
6
3
9
0
5
10
15
2
13
4
14
7
11
1
8
S-áëîê 8: 13
10
0
7
3
9
14
4
2
15
12
1
5
6
11
8
2
7
13
1
4
14
11
8
15
12
6
10
9
5
0
3
4
13
14
0
9
3
7
10
1
8
2
11
15
5
12
6
8
11
7
14
2
4
13
1
6
5
9
0
12
15
3
10
Âîò êàê ìîæíî èñïîëüçîâàòü 48 äîïîëíèòåëüíûõ áèòîâ êëþ÷à äëÿ ñîçäàíèÿ S-áëîêîâ, óñòîé÷èâûõ êàê ê ë èíåéíîìó, òàê è ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó [165]. (1) Èçìåíèòü ïîðÿäîê S-áëîêîâ DES: 24673158. (2) Âûáðàòü 16 èç îñòàâøèõñÿ áèòîâ êëþ÷à. Åñëè ïåðâûé áèò 1, îáìåíÿòü ìåñòàìè ïåðâûå è ïîñëåäíèå äâà ðÿäà S-áëîêà 1. Åñëè âòîðîé áèò 1, îáìåíÿòü ìåñòàìè ïåðâûå è ïîñëåäíèå âîñåìü ñòîëáöîâ S-áëîêà 1. Ï îâòîðèòü òî æå ñàìîå äëÿ òðåòüåãî è ÷åòâåðòîãî áèòîâ è S-áëîêà 2. Ïîâòîðèòü òî æå ñàìîå äëÿ S-áëîêîâ ñ 3 ïî 8. (3) Âçÿòü îñòàâøèåñÿ 32 áèòà êëþ÷à. Âûïîëíèòü XOR ïåðâûõ ÷åòûðåõ áèòîâ ñ êàæäûì ýëåìåíòîì S-áëîêà 1, XOR ñëåäóþùèõ ÷åòûðåõ áèòîâ ñ êàæäûì ýëåìåíòîì S-áëîêà 2, è òàê äàëåå. Ñëîæíîñòü âñêðûòèÿ òàêîé ñèñòåìû ñ ïîìîùüþ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà ñîñòàâèò 251, ñ ïîì îùüþ ëèíåéíîãî êðèïòîàíàëèçà - 2 53. Ñëîæíîñòü èñ÷åðïûâàþùåãî ïåðåáîðà ñîñòàâèò 2102. ×òî õîðîøî â ýòîì âàðèàíòå DES òàê ýòî òî, ÷òî îí ìîæåò áûòü ðåàëèçîâàí â ñóùåñòâóþùåé àïïàðàòóðå. Ðàçëè÷íûå ïîñòàâùèêè ìèêðîñõåì DES ïðîäàþò ìèêðîñõåìû DES ñ âîçìîæíîñòüþ çàãðóçêè S-áëîêîâ. Ìîæíî ðåàëèçîâàòü ëþáîé ñïîñîá ãåíåðàöèè S-áëîêîâ âíå ìèêðîñõåìû è çàòåì çàãðóçèòü èõ â íåå. Äëÿ äèôôåðåíö èàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà íóæíî òàê ìíîãî èçâåñòíûõ èëè âûáðàííûõ îòêðûòûõ òåêñòîâ, ÷òî ýòè ñï îñîáû âñêðûòèÿ ñòàíîâÿòñÿ íåîñóùåñòâèìûìè. Âñêðûòèå ãðóáîé ñèëîé òàêæå òðóäíî ñåáå ïðåäñòàâèòü, íå ïîì îæåò íèêàêîå óâåëè÷åíèå ñêîðîñòè.
12.7 Íàñêîëüêî áåçîïàñåí ñåãîäíÿ DES? Îòâåò îäíîâðåìåííî è ïðîñò, è òðóäåí. Ïðè ïðîñòîì îòâåòå ó÷èòûâàåòñÿ òîëüêî äëèíà êëþ÷à (ñì. ðàçäåë 7.1). Ìàøèíà äëÿ âñêðûòèÿ DES ãðóáîé ñèëîé, ñïîñîáíàÿ íàéòè êëþ÷ â ñðåäíåì çà 3.5 ÷àñà, â 1993 ãîäó ñòîèëà 1 ìèëëèîí äîëëàðîâ [1597, 1598]. DES èñïîëüçóåòñÿ î÷åíü øèðîêî, è íàèâíî áûëî áû ïðåäïîëàãàòü, ÷òî NSA è àíàëîãè÷íûå îðãàíèçàöèè â äðóãèõ ñòðàíàõ íå ïîñòðîèëè ïî òàêîìó óñòðîéñòâó. È íå çàáûâàéòå, ÷òî ñòîèìîñòü óìåíüøàåòñÿ â 5 ðàç êàæäûå 10 ëåò. Ñ òå÷åíèåì âðåìåíè DES áóäåò ñòàíîâèòüñÿ âñå ìåíåå è ìåíåå áåçîïàñíûì. Äëÿ òðóäíîãî îòâåòà íóæíî ïîïûòàòüñÿ îöåíèòü êðèïòîàíàëèòè÷åñêèå ìåòîäû. Äèôôåðåíöèàëüíûé êðèïòî àíàëèç áûë èçâåñòåí â NSA çàäîëãî äî ñåðåäèíû 70-õ, êîãäà DES âïåðâûå ñòàë ñòàíäàðòîì. Íàèâíî ñ÷èòàòü, ÷òî ñ òåõ ïîð òåîðåòèêè NSA íè÷åãî íå äåëàëè, ïî÷òè íàâåðíÿêà îíè ðàçðàáîòàëè íîâûå êðèïòîàíàëèòè÷åñêèå ìåò îäû, êîòîðûå ìîæíî èñïîëüçîâàòü ïðîòèâ DES. Íî ôàêòîâ ó íàñ íåò, îäíè ñëóõè. Âèíí Øâàðöòàó (Winn Schwartau) ïèøåò, ÷òî NSA ïîñòðîèëî îãðîìíóþ ïàðàëëåëüíóþ ìàøèíó äëÿ âñêð ûòèÿ DES óæå â ñåðåäèíå 80-õ [1404]. Ïî êðàéíåé ìåðå îäíà òàêàÿ ìàøèíà áûëà ïîñòðîåíà â Harris Corp. Ñ è ñïîëüçîâàíèåì Cray Y-MP. Ïðåäïîëîæèòåëüíî ñóùåñòâóåò ðÿä àëãîðèòìîâ, êîòîðûå íà íåñêîëüêî ïîðÿäêîâ óìåíüøàþò ñëîæíîñòü âñêðûòèÿ DES ãðóáîé ñèëîé. Êîíòåêñòíûå àëãîðèòìû, îñíîâàííûå íà âíóòðåííåé ðàáîòå DES, ïîçâîëÿþò îòáðîñèòü ðÿä êëþ÷åé, èñïîëüçóÿ ÷àñòè÷íûå ðåøåíèÿ. Ñòàòèñòè÷åñêèå àëãîðèòìû óìåíüøàþò ýôôåêòèâíóþ äëèíó êëþ÷à åùå ñèëüíåå. Äðóãèå àëãîðèòìû òàêæå ïðîâåðÿþò âåðîÿòíûå êëþ÷è - ñëîâà, ïå÷ àòàåìûå ïîñëåäîâàòåëüíîñòè ASCII, è ò.ä. (ñì. ðàçäåë 8.1). Ïî ñëóõàì NSA ìîæåò âñêðûòü DES çà âðåìÿ îò 3 äî 15 ìèíóò, â çàâèñèìîñòè îò òîãî êîêîâ áóäåò âûïîëíåííûé îáúåì ïðåäâàðèòåëüíîé îáðàáîòêè. È êàæäàÿ òàêàÿ ìàøèíà ñòîèò ïîðÿäêà 50000 äîëëàðîâ. Ñîãëàñíî äðóãèì ñëóõàì, åñëè ó NSA åñòü áîëüøîå êîëè÷åñòâî îòêðûòûõ òåêñòîâ è øèôðîòåêñòîâ, åãî ýê ñïåðòû ìîãóò âûïîëíèòü íåêîòîðûå ñòàòèñòè÷åñêèå ðàñ÷åòû è çàòåì ñ÷èòàòü êëþ÷ èç àðõèâà íà îïòè÷åñêèõ äè ñêàõ.
È òî, ÷òî ýòî òîëüêî ñëóõè, íå äàåò ìíå ÷óâñòâî óâåðåííîñòè â DES. Ýòîò àëãîðèòì î÷åíü äîëãî áûë î÷åíü áîëüøîé ìèøåíüþ. Ïî÷òè ëþáîå èçìåíåíèå DES ïîñëóæèò äîïîëíèòåëüíîé çàùèòîé, ìîæåò áûòü ïîëó÷èâøè éñÿ øèôð è áóäåò ìåíåå óñòîé÷èâ ê âñêðûòèþ, íî ó NSA ìîæåò íå îêàçàòüñÿ ñðåäñòâ ðåøåíèÿ ýòîé êîíêðåòíîé çàäà÷è. ß ðåêîìåíäóþ èñïîëüçîâàòü ñõåìó Áèõàìà äëÿ çàâèñÿùèõ îò êëþ÷à S-áëîêîâ. Îíà ìîæåò áûòü ëåãêî ðåàë èçîâàíà ïðîãðàììíî èëè àïïàðàòíî (ñ ïîìîùüþ ìèêðîñõåì ñ çàãðóæàåìûìè S-áëîêàìè), è íå ïðèâîäèò ê ïîòåðå ýôôåêòèâíîñòè ïî ñðàâíåíèþ ñ DES. Ýòà ñõåìà ïîâûøàåò óñòîé÷èâîñòü àëãîðèòìà ê âñêðûòèþ ãðóáîé ñèëîé, óñëîæíÿåò äèôôåðåíöèàëüíûé è ëèíåéíûé êðèïòîàíàëèç è çàñòàâëÿåò NSA ñòîëêíóòüñÿ ñ àëãîðèòìîì, ïî êðà éíåé ìåðå òàêèì æå ñèëüíûì êàê DES, íî äðóãèì.
Ãëàâà 13 Äðóãèå áëî÷íûå øèôðû 13.1 LUCIFER  êîíöå 60-õ IBM íà÷àëà âûïîëíåíèå èññëåäîâàòåëüñêîé ïðîãðàììû ïî êîìïüþòåðíîé êðèïòîãðàôèè, íàç ûàííîé Ëþöèôåðîì (Lucifer) è ðóêîâîäèìîé ñíà÷àëà Õîðñòîì Ôåéñòåëåì (Horst Feistel), à çàòåì Óîëòîì Òà÷ì åíîì (Walt Tuchman). Ýòî æå íàçâàíèå - Lucifer - ïîëó÷èë áëî÷íûé àëãîðèòì, ïîÿâèâøèéñÿ â ðåçóëüòàòå ýòîé ïðîãðàììûâ íà÷àëå 70-õ [1482, 1484].  äåéñòâèòåëüíîñòè ñóùåñòâóåò ïî ìåíüøåé ìåðå äâà ðàçëè÷íûõ àëã îðèòìà ñ òàêèì èìåíåì [552, 1492]. [552] ñîäåðæèò ðÿä ïðîáåëîâ â ñïåöèôèêàöèè àëãîðèòìà. Âñå ýòî ïðèâåëî ê çàìåòíîé ïóòàíèöå. Lucifer - ýòî íàáîð ïåðåñòàíîâîê è ïîäñòàíîâîê, åãî áëîêè ïîõîæè íà áëîêè DES.  DES ðåçóëüòàò ôóíêöèè f îáúåäèíÿåòñÿ ñ ïîìîùüþ XOR ñî âõîäîì ïðåäûäóùåãî ýòàïà, îáðàçóÿ âõîä ñëåäóþùåãî ýòàïà. Ó S-áëîêîâ àëã îðèòìà Lucifer 4-áèòîâûå âõîäû è 4-áèòîâûå âûõîäû, âõîä S-áëîêîâ ïðåäñòàâëÿåò ñîáîé ïåðåòàñîâàííûé âûõîä S_áëîêîâ ïðåäûäóùåãî ýòàïà, âõîäîì S-áëîêîâ ïåðâîãî ýòàïà ÿâëÿåòñÿ îòêðûòûé òåêñò. Äëÿ âûáîðà èñïîëüçó åìîãî S-áëîêà èç äâóõ âîçìîæíûõ ïðèìåíÿåòñÿ áèò êëþ÷à. (Lucifer ðåàëèçóåò ýòî, êàê îäèí T-áëîê ñ 9 áèòàìè íà âõîäå è 8 áèòàìè íà âûõîäå.)  îòëè÷èå îò DES ïîëîâèíû áëîêà ìåæäó ýòàïàìè íå ïåðåñòàâëÿþòñÿ è âîîáùå ïîíÿòèå ïîëîâèíû áëîêà íå èñïîëüçóåòñÿ â àëãîðèòìå Lucifer. Ó ýòîãî àëãîðèòìà 16 ýòàïîâ, 128-áèòîâûå áëîêè è áîëåå ïðîñòîå, ÷åì â DES, ðàñïðåäåëåíèå êëþ÷åé. Ïðèìåíèâ äèôôåðåíöèàëüíûé êðèïòîàíàëèç ê ïåðâîé ðåàëèçàöèè Lucifer'à, Áèõàì è Øàìèð [170, 172] ïîê àçàëè, ÷òî Lucifer ñ 32-áèòîâûìè áëîêàìè è 8 ýòàïàìè ìîæåò áûòü âçëîìàí ñ ïîìîùüþ 40 âûáðàííûõ îòêðûòûõ òåêñòîâ çà 2 39 øàãîâ, òîò æå ñïîñîá ïîçâîëèò âñêðûòü Lucifer ñ 128-áèòîâûìè áëîêàìè è 8 ýòàïàìè ñ ïîìîùüþ 60 âûáðàííûõ îòêðûòûõ òåêñòîâ çà 2 53 øàãîâ. 18-ýòàïíûé, 128-áèòîâûé Lucifer âñêðûâàåòñÿ äèôôåðåíöèàë üíûì êðèïòîàíàëèçîì ñ ïîìîùüþ 24 âûáðàííûõ îòêðûòûõ òåêñòîâ çà 2 21 øàãîâ. Âñå ýòè âñêðûòèÿ èñïîëüçîâàëè ñèëüíûå S-áëîêè DES. Ïðèìåíèâ äèôôåðåíöèàëüíûé êðèïòîàíàëèç ïðîòèâ âòîðîé ðåàëèçàöèè Lucifer, Áèõàì è Øàìèð îáíàðóæèëè, ÷òî S-áëîêè íàìíîãî ñëàáåå, ÷åì â DES. Äàëüíåéøèé àíàëèç ïîêàçàë, ÷òî áîëåå ïîëîâèíû âîçìîæíûõ êëþ÷åé íå ÿâëÿþòñÿ áåçîïàñíûìè [112]. Êðèïòîàíàëèç ñî ñâÿçàííûìè êëþ÷àìè ìîæåò âçëîìàòü 128-áèòîâûé Lucifer ñ ëþáûì ÷èñëîì ýòàïîâ ñ ïîìîùüþ 2 33 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êë þ÷åé èëè 265 èçâåñòíûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé [158]. Âòîðàÿ ðåàëèçàöèÿ Lucifer åùå ñëàáåå [170, 172, 112]. Íåêîòîðûå äóìàþò, ÷òî Lucifer áåçîïàñíåå, ÷åì DES, èç-çà áîëüøåé äëèíû êëþ÷à è ìàëîãî êîëè÷åñòâà îïó áëèêîâàííûõ ñâåäåíèé. Íî î÷åâèäíî, ÷òî ýòî íå òàê. Lucifer ÿâëÿåòñÿ îáúåêòîì íåñêîëüêèõ ïàòåíòîâ ÑØÀ: [553, 554, 555, 1483]. Ñðîêè äåéñòâèÿ âñåõ ýòèõ ï àòåíòîâ èñòåêëè.
13.2 MADRYGA Â.Å. Ìàäðèãà (W. E. Madryga) ïðåäëîæèë ýòîò áëî÷íûé àëãîðèòì â 1984 ãîäó [999]. Îí ìîæåò áûòü ýôôå êòèâíî ðåàëèçîâàí êàê ïðîãðàììà: â íåì íåò íàäîåäëèâûõ ïåðåñòàíîâîê, è âñå îïåðàöèè âûïîëíÿþòñÿ íàä áà éòàìè. Ñòîèò ïåðå÷èñëèòü çàäà÷è, êîòîðûå ðåøàë àâòîð ïðè ïðîåêòèðîâàíèè àëãîðèòìà: 1. Îòêðûòûé òåêñò íåëüçÿ ïîëó÷èòü èç øèôðîòåêñòà áåç ïîìîùè êëþ÷à. (Ýòî îçíà÷àåò òîëüêî òî, ÷òî à ëãîðèòì áåçîïàñåí.) 2. Êîëè÷åñòâî îïåðàöèé, íóæíîå äëÿ îïðåäåëåíèÿ êëþ÷à ïî èìåþùèìñÿ øèôðîòåêñòó è îòêðûòîìó òå êñòó, äîëæíî áûòü ñòàòèñòè÷åñêè ðàâíî ïðîèçâåäåíèþ êîëè÷åñòâà îïåðàöèé ïðè øèôðîâàíèè íà ÷èñëî âîçìîæíûõ êëþ÷åé. (Ýòî îçíà÷àåò, ÷òî íèêàêîå âñêðûòèå ñ îòêðûòûì òåêñòîì íå ìîæåò áûòü ëó÷øå, ÷åì âñêðûòèå ãðóáîé ñèëîé.) 3. Èçâåñòíîñòü àëãîðèòìà íå âëèÿåò íà ñèëó øèôðà. (Áåçîïàñíîñòü ïîëíîñòüþ îïð åäåëÿåòñÿ êëþ÷îì.) 4. Èçìåíåíèå îäíîãî áèòà êëþ÷à äîëæíî âûçûâàòü äëÿ òîãî æå îòêðûòîãî òåêñòà ðàäèêàëüíîå èçìåíåíèå øèôðîòåêñòà, è Èçìåíåíèå îäíîãî áèòà îòêðûòîãî òåêñòà äîëæíî âûçûâàòü äëÿ òîãî æå êëþ÷à ðàä èêàëüíîå èçìåíåíèå øèôðîòåêñòà. (Ýòî ëàâèííûé ý ôôåêò.) 5. Àëãîðèòì äîëæåí ñîäåðæàòü íåêîììóòàòèâíóþ êîìáèíàöèþ ïîäñòàíîâîê è ïåðåñòàí îâîê. 6. Ïîäñòàíîâêè è ïåðåñòàíîâêè, èñïîëüçóåìûå â àëãîðèòìå, äîëæíû îïðåäåëÿòüñÿ è âõîäíûìè äàííûìè, è êëþ÷îì. 7. Èçáûòî÷íûå ãðóïïû áèòîâ îòêðûòîãî òåêñòà äîëæíû áûòü ïîëíîñòüþ çàìàñêèðîâàíû â øèôðîòåêñòå. 8. Äëèíà øèôðîòåêñòà äîëæíà ðàâíÿòüñÿ äëèíå îòêðûòîãî òåêñòà.
9. Íå äîëæíî áûòü ïðîñòûõ âçàèìîñâÿçåé ìåæäó ëþáûìè âîçìîæíûìè êëþ÷àìè è îñîáåííîñòÿìè øè ôðîòåêñòà. 10. Âñå âîçìîæíûå êëþ÷è äîëæíû äàâàòü ñèëüíûé øèôð. (Íå äîëæíî áûòü ñëàáûõ êë þ÷åé.) 11. Äëèíà êëþ÷à è òåêñòà ìîãóò ðåãóëèðîâàòüñÿ äëÿ ðåàëèçàöèè ðàçëè÷íûõ òðåáîâàíèé ê áåçîïàñíîñòè. 12. Àëãîðèòì äîëæåí ïîçâîëÿòü ýôôåêòèâíóþ ïðîãðàììíóþ ðåàëèçàöèþ íà áîëüøèõ ìýéíôðåéìàõ, ì èíèêîìïüþòåðàõ, ìèêðîêîìïüþòåðàõ è ñ ïîìîùüþ äèñêðåòíîé ëîãèêè. (Ïî ñóòè èñïîëüçóåìûå â àëã îðèòìå ôóíêöèè îãðàíè÷åíû XOR è áèòîâûì ñäâèãîì.) DES óäîâëåòâîðÿë ïåðâûì äåâÿòè òðåáîâàíèÿì, íî ïîñëåäíèå òðè áûëè íîâûìè.  ïðåäïîëîæåíèè, ÷òî ëó ÷øèì ñïîñîáîì âñêðûòèÿ àëãîðèòìà ÿâëÿåòñÿ ãðóáàÿ ñèëà, ïåðåìåííàÿ äëèíà êëþ÷à, êîíå÷íî æå, çàñòàâèò ç àìîë÷àòü òåõ, êòî ñ÷èòàåò, ÷òî 56 áèòîâ - ýòî ñëèøêîì ìàëî. Òàêèå ëþäè ìîãóò ðåàëèçîâàòü ýòîò àëãîðèòì ñ ë þáîé íóæíîé èì äëèíîé êëþ÷à. À ëþáîé, êòî êîãäà-íèáóäü ïûòàëñÿ ðåàëèçîâàòü DES ïðîãðàììíî, îáðàäóåòñÿ àëãîðèòìó, êîòîðûé ó÷èòûâàåò âîçìîæíîñòè ïðîãðàììíûõ ðåàë èçàöèé. Îïèñàíèå Madryga Madryga ñîñòîèò èç äâóõ âëîæåííûõ öèêëîâ. Âíåøíèé öèêë ïîâòîðÿåòñÿ âîñåìü ðàç (íî ýòî êîëè÷åñòâî ì îæåò áûòü óâåëè÷åíî äëÿ ïîâûøåíèÿ) è ñîäåðæèò ïðèìåíåíèå âíóòðåííåãî öèêëà ê îòêðûòîìó òåêñòó. Âíóòðå ííèé öèêë ïðåâðàùàåò îòêðûòûé òåêñò â øèôðîòåêñò, ïîâòîðÿÿñü äëÿ êàæäîãî 8-áèòîâîãî áëîêà (áàéòà) îòêðûò îãî òåêñòà. Ñëåäîâàòåëüíî, âåñü îòêðûòûé òåêñò âîñåìü ðàç ïîñëåäîâàòåëüíî îáðàáàòûâàåòñÿ à ëãîðèòìîì. Èòåðàöèÿ âíóòðåííåãî öèêëà îïåðèðóåò ñ 3-áàéòîâûì îêíîì äàííûõ, íàçûâàåìûì ðàáî÷èì êàäðîì (ñì. 12é). Ýòî îêíî ñìåùàåòñÿ íà 1 áàéò çà èòåðàöèþ. (Ïðè ðàáîòå ñ ïîñëåäíèìè 2 áàéòàìè äàííûå ñ÷èòàþòñÿ öèêë è÷åñêè çàìêíóòûìè.) Ïåðâûå äâà áàéòà ðàáî÷åãî êàäðà öèêëè÷åñêè ñäâèãàþòñÿ íà ïåðåìåííîå ÷èñëî ïîçèöèé, à äëÿ ïîñëåäíåãî áàéòà âûïîëíÿåòñÿ XOR ñ íåêîòîðûìè áèòàìè êëþ÷à. Ïî ìåðå ïðîäâèæåíèÿ ðàáî÷åãî êàäðà âñå áàéòû ïîñëåäîâàòåëüíî "âðàùàþòñÿ" è ïîäâåðãàþòñÿ îïåðàöèè XOR ñ ÷àñòÿìè êëþ÷à. Ïîñëåäîâàòåëüíûå âð àùåíèÿ ïåðåìåøèâàþò ðåçóëüòàòû ïðåäûäóùèõ îïåðàöèé XOR è âðàùåíèÿ, à ðåçóëüòàò XOR âëèÿåò íà âðàù åíèå. Ýòî äåëàåò âåñü ïðîöåññ îáðàòèìûì. Òåêñò
1
2
3
4
Äâèæóùèéñÿ ðàáî÷èé êàäð
WF(1) WF(2) 8 áèòîâ 8 áèòîâ
Öèêëè÷åñêèé ñäâèã
ROT Îáúåêò ñäâèãà
5
6
...
TL-2
TL-1
TL
WF(3) 8 áèòîâ Ñ÷åò÷èê ñäâèãà 3 áèòà
Ïðåîáðàçîâàíèå
Êëþ÷
Îáúåêò ïðåîáðàçîâàíèÿ 8 áèòîâ XOR 1
2
3
...
KL
...
KL
XOR Õýø-çíà÷åíèå êëþ÷à
1
2
3
Ðèñ. 13-1. Îäíà èòåðàöèÿ Madryga. Òàê êàê êàæäûé áàéò äàííûõ âëèÿåò íà äâà áàéòà ñëåâà îò ñåáÿ è íà îäèí áàéò ñïðàâà, ïîñëå âîñüìè ïðîõ îäîâ êàæäûé áàéò øèôðîòåêñòà çàâèñèò îò 16 áàéòîâ ñëåâà è îò âîñüìè áàéòîâ ñïðàâà. Ïðè øèôðîâàíèè êàæäàÿ èòåðàöèÿ âíóòðåííåãî öèêëà óñòàíàâëèâàåò ðàáî÷èé êàäð íà ïðåäïîñëåäíèé áàéò îòêðûòîãî òåêñòà è öèêëè÷åñêè ïåðåìåùàåò åãî ê áàéòó îòêðûòîãî òåêñòà, òðåòüåìó ñëåâà îò ïîñëåäíåãî. Ñíà÷ à-
ëà âåñü êëþ÷ ïîäâåðãàåòñÿ îïåðàöèè XOR ñî ñëó÷àéíîé êîíñòàíòîé è çàòåì öèêëè÷åñêè ñìåùàåòñÿ âëåâî íà 3 áèòà. Ìëàäøèå òðè áèòà ìëàäøåãî áàéòà ðàáî÷åãî êàäðà ñîõðàíÿþòñÿ, îíè îïðåäåëÿþò âðàùåíèå îñòàëüíûõ äâóõ áàéòîâ. Çàòåì äëÿ ìëàäøåãî áàéòà ðàáî÷åãî êàäðà âûïîëíÿåòñÿ îïåðàöèÿ XOR ñ ìëàäøèì áàéòîì êëþ÷à. Äàëåå îáúåäèíåíèå äâóõ ñòàðøèõ áàéòîâ öèêëè÷åñêè ñìåùàåòñÿ âëåâî íà ïåðåìåííîå ÷èñëî áèòîâ (îò 0 äî 7). Íàêîíåö ðàáî÷èé êàäð ñìåùàåòñÿ âïðàâî íà îäèí áàéò è âåñü ïðîöåññ ïîâòîðÿåòñÿ. Ñìûñë ñëó÷àéíîé êîíñòàíòû â òîì, ÷òîáû ïðåâðàòèòü êëþ÷ â ïñåâäîñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü. Äëèíà êîíñòàíòû äîëæíà áûòü ðàâíà äëèíå êëþ÷à. Ïðè îáìåíå äàííûìè àáîíåíòû äîëæíû ïîëüçîâàòüñÿ êîíñòàíòîé îäèíàêîâîé äëèíû. Äëÿ 64-áèòîâîãî êëþ÷à Ìàäðèãà ðåêîìåíäóåò êîíñòàíòó 0x0f1e2d3c4b5a6978. Ïðè äåøèôðèðîâàíèè ïðîöåññ èíâåðòèðóåòñÿ. Ïðè êàæäîé èòåðàöèè âíóòðåííåãî öèêëà ðàáî÷èé êàäð óñò àíàâëèâàåòñÿ íà áàéò, òðåòèé ñëåâà îò ïîñëåäíåãî áàéòà øèôðîòåêñòà, è öèêëè÷åñêè ïåðåìåùàåòñÿ â îáðàòíîì íàïðàâëåíèè äî áàéòà, êîòîðûé íàõîäèòñÿ íà 2 áàéòà ëåâåå ïîñëåäíåãî áàéòà øèôðîòåêñòà. È êëþ÷, è 2 áàéòà øèôðîòåêñòà â ïðîöåññå öèêëè÷åñêè ñìåùàþòñÿ íàïðàâî, à XOR âûïîëíÿåòñÿ ïåðåä öèêëè÷åñêèìè ñäâèãàìè. Êðèïòîàíàëèç è Madryga Èññëåäîâàòåëè èç Òåõíè÷åñêîãî óíèâåðñèòåòà â Êâèíñëàíäå (Queensland University of Technology) [675] è ññëåäîâàëè Madryga âìåñòå ñ íåêîòîðûìè äðóãèìè áëî÷íûìè øèôðàìè. Îíè îáíàðóæèëè, ÷òî â ýòîì àëãîðèòìå íå ïðîÿâëÿåòñÿ ëàâèííûé ýôôåêò äëÿ ïðåîáðàçîâàíèÿ îòêðûòîãî òåêñòà â øèôðîòåêñò. Êðîìå òîãî, âî ìíîãèõ øèôðîòåêñòàõ ïðîöåíò åäèíèö áûë âûøå, ÷åì ïðîöåíò íóëåé. Õîòÿ ó ìåíÿ íåò ñâåäåíèé î ïðîâåäåíèè ôîðìàëüíîãî àíàëèçà ýòîãî àëãîðèòìà, îí íå ïðîèçâîäèò âïå÷àòë åíèå ñóïåðíàäåæíîãî. Ïðè ïîâåðõíîñòíîì çíàêîìñòâå ñ íèì Ýëè Áèõàì ïðèøåë ê ñëåäóþùèì âûâîäàì [160]: Àëãîðèòì ñîñòîèò òîëüêî èç ëèíåéíûõ îïåðàöèé (öèêëè÷åñêîå ñìåùåíèå è XOR), íåçíà÷èòåëüíî èçìåíÿåìûõ â çàâèñ èìîñòè îò äàííûõ.  ýòîì íåò íè÷åãî ïîõîæåãî íà ìîùü S-áëîêîâ DES. ×åòíîñòü âñåõ áèòîâ øèôðîòåêñòà è îòêðûòîãî òåêñòà íåèçìåííà è çàâèñèò òîëüêî îò êëþ÷à. Ïîýòîìó, îáëàäàÿ îòêðûòûì òåêñòîì è ñîîòâåòñòâóþùèì øèôðîòåêñòîì, ìîæíî ïðåäñêàçàòü ÷åòíîñòü øèôðîòåêñòà äëÿ ëþáîãî îòêðûòîãî òåêñòà.
Ïî îòäåëüíîñòè íè îäíî èç ýòèõ çàìå÷àíèé íå ÿâëÿþòñÿ êðèòè÷åñêèìè, íî ýòîò àëãîðèòì íå âûçûâàåò ó ìåíÿ ïîëîæèòåëüíûõ ýìîöèé. ß íå ðåêîìåíäóþ èñïîëüçîâàòü Madryga.
13.3 NewDES NewDES (íîâûé DES) áûë ñïðîåêòèðîâàí â 1985 ãîäó Ðîáåðòîì Ñêîòòîì (Robert Scott) êàê âîçìîæíàÿ çàì åíà DES [1405, 364]. Àëãîðèòì íå ÿâëÿåòñÿ ìîäèôèêàöèåé DES, êàê ìîæåò ïîêàçàòüñÿ èç åãî íàçâàíèÿ. Îí îï åðèðóåò 64-áèòîâûìè áëîêàìè øèôðîòåêñòà, íî èñïîëüçóåò 120-áèòîâûé êëþ÷. NewDES ïðîùå, ÷åì DES, â íåì íåò íà÷àëüíîé è çàêëþ÷èòåëüíîé ïåðåñòàíîâîê. Âñå îïåðàöèè âûïîëíÿþòñÿ íàä öåëûìè áàéòàìè. (Íà ñàìîì äåëå NewDES íè êîèì îáðàçîì íå ÿâëÿåòñÿ íîâîé âåðñèåé DES, íàçâàíèå áûëî âûáðàíî íåóäà÷íî.) Áëîê îòêðûòîãî òåêñòà äåëèòñÿ íà âîñåìü 1-áàéòîâûõ ïîäáëîêîâ: B0, B1, . . ., B6, B7. Çàòåì ïîäáëîêè ïðîõîäÿò ÷åðåç 17 ýòàïîâ.  êàæäîì ýòàïå âîñåìü äåéñòâèé.  êàæäîì äåéñòâèè îäèí èç ïîäáëîêîâ ïîäâåðãàåòñÿ îïåð àöèè XOR ñ ÷àñòüþ êëþ÷à (åñòü îäíî èñêëþ÷åíèå), çàìåíÿåòñÿ äðóãèì áàéòîì ñ ïîìîùüþ ôóíêöèè f è çàòåì ïîäâåðãàåòñÿ îïåðàöèè XOR ñ äðóãèì ïîäáëîêîì, êîòîðûé è çàìåíÿåòñÿ ðåçóëüòàòîì. 120-áèòîâûé êëþ÷ äåëè òñÿ íà 15 ïîäáëîêîâ êëþ÷à: K0, K1, . . ., K13, K14. Ïðîöåññ ëåã÷å ïîíÿòü, óâèäåâ åãî ñõåìó, ÷åì ïðî÷èòàâ åãî îï èñàíèå. Àëãîðèòì øèôðîâàíèÿ NewDES ïîêàçàí íà 11-é.
Ýòàï 1 K0
B0
B1 B2
B4
B3
B5
B6
B7
f
K1
f
K2
f
K3
f
Ýòàï 2
K4 f f
K5 f
K6 f
Ýòàïû 3-15 Ýòàï 16
K8 f f
K9 f
Ýòàï 17
K10 f
K11
f
K12
f
K13
f
K14
f B0
B1 B2
B3
B4
B5
B6
B7
Ðèñ. 13-2. NewDES. Ôóíêöèÿ f âûâîäèòñÿ èç Äåêëàðàöèè íåçàâèñèìîñòè. Ïîäðîáíîñòè ìîæíî íàéòè â [1405]. Ñêîòò ïîêàçàë, ÷òî êàæäûé áèò áëîêà îòêðûòîãî òåêñòà âëèÿåò íà êàæäûé áèò øèôðîòåêñòà óæå ïîñëå 7 ýò àïîâ. Îí òàêæå ïðîàíàëèçèðîâàë ôóíêöèþ f è íå íàøåë êàêèõ-ëèáî î÷åâèäíûõ ïðîáëåì. NewDES îáëàäàåò òîé æå êîìïëèìåíòàðíîñòüþ, ÷òî è DES [364]: åñëè EK(P} = C, òî EK'(P'} = C'. Ýòî óìåíüøàåò îáúåì ðàáîòû, íåî áõîäèìîé äëÿ âñêðûòèÿ ãðóáîé ñèëîé, ñ 2 110 äåéñòâèé äî 2 119. Áèõàì çàìåòèë, ÷òî ëþáîå èçìåíåíèå ïîëíîãî áà éòà, ïðèìåíåííîå êî âñåì áàéòàì êëþ÷à è äàííûõ, òàêæå ïðèâîäèò ê êîìïëèìåíòàðíîñòè [160]. Ýòî óìåíüøàåò îáúåì ãðóáîãî âñêðûòèÿ äî 2 112 äåéñòâèé. Ýòî íå ÿâëÿåòñÿ êðèòè÷íûì, íî ïðåäëîæåííîå Áèõàìîì êðèïòîàíàëèòè÷åñêîå âñêðûòèå ñî ñâÿçàííûìè êë þ÷àìè ìîæåò âñêðûòü NewDES ñ ïîìîùüþ 2 33 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé çà 2 48 äåéñòâèé [160]. Õîòÿ òàêîå âñêðûòèå òðåáóåò ìíîãî âðåìåíè è â áîëüøîé ñòåïåíè ÿâëÿåòñÿ òåîðåòè÷åñêèì, îíî ï îêàçûâàåò, ÷òî NewDES ñëàáåå, ÷åì DES.
13.4 FEAL FEAL áûë ïðåäëîæåí Àêèõèðî Øèìóçó (Akihiro Shimizu) Øîäæè Ìèÿãó÷è (Shoji Miyaguchi) èç NTT Japan [1435].  íåì èñïîëüçóþòñÿ 64-áèòîâûé áëîê è 64-áèòîâûé êëþ÷. Åãî èäåÿ ñîñòîèò â òîì, ÷òîáû ñîçäàòü àëã îðèòì, ïîäîáíûé DES, íî ñ áîëåå ñèëüíîé ôóíêöèåé ýòàïà. Èñïîëüçóÿ ìåíüøå ýòàïîâ, ýòîò àëãîðèòì ìîã áû ð àáîòàòü áûñòðåå. Ê íåñ÷àñòüþ äåéñòâèòåëüíîñòü îêàçàëàñü äàëåêà îò öåëåé ïðîåêòà. Îïèñàíèå FEAL Íà 10-é ïðåäñòàâëåíà áëîê-ñõåìà îäíîãî ýòàïà FEAL.  êà÷åñòâå âõîäà ïðîöåññà øèôðîâàíèÿ èñïîëüçóåòñÿ 64-áèòîâûé áëîê îòêðûòîãî òåêñòà. Ñíà÷àëà áëîê äàííûõ ïîäâåðãàåòñÿ îïåðàöèè XOR ñ 64 áèòàìè êëþ÷à. Ç à-
òåì áëîê äàííûõ ðàñùåïëÿåòñÿ íå ëåâóþ è ïðàâóþ ïîëîâèíû. Îáúåäèíåíèå ëåâîé è ïðàâîé ïîëîâèí ñ ïîìîùüþ XOR îáðàçóåò íîâóþ ïðàâóþ ïîëîâèíó. Ëåâàÿ ïîëîâèíà è íîâàÿ ïðàâàÿ ïîëîâèíà ïðîõîäÿò ÷åðåç n ýòàïîâ (ïåðâîíà÷àëüíî ÷åòûðå). Íà êàæäîì ýòàïå ïðàâàÿ ïîëîâèíà îáúåäèíÿåòñÿ ñ ïîìîùüþ ôóíêöèè f ñ øåñòíàäöàòüþ áèòàìè êëþ÷à è ñ ïîìîùüþ XOR - ñ ëåâîé ïîëîâèíîé, ñîçäàâàÿ íîâóþ ïðàâóþ ïîëîâèíó. Èñõîäíàÿ ïðàâàÿ ï îëîâèíà (íà íà÷àëî ýòàïà) ñòàíîâèòñÿ íîâîé ëåâîé ïîëîâèíîé. Ïîñëå n ýòàïîâ (íå çàáûâàéòå, ÷òî ëåâàÿ è ïðàâàÿ ïîëîâèíû íå ïåðåñòàâëÿþòñÿ ïîñëå n-ãî ýòàïà) ëåâàÿ ïîëîâèíà ñíîâà îáúåäèíÿåòñÿ ñ ïîìîùüþ XOR ñ ïðàâîé ïîëîâèíîé, îáðàçóÿ íîâóþ ïðàâóþ ïîëîâèíó, çàòåì ëåâàÿ è ïðàâàÿ ñîåäèíÿþòñÿ âìåñòå â 64-áèòîâîå öåëîå. Áëîê äàííûõ îáúåäèíÿåòñÿ ñ ïîìîùüþ XOR ñ äðóãèìè 64 áèòàìè êëþ÷à, è àëãîðèòì çàâåðøàåòñÿ. Îòêðûòûé òåêñò 64 áèòà
(K8, K9, K10, K11) {(K12, K13, K14, K15)} 32 áèòà
64 áèòà
32 áèòà L0 {R8}
R0 {L8} K0 {K7}
L0 {R8} f
R0 {L8}
K1 {K6}
L1 {R7}
f
R1 {L7}
K7 {K0}
L7 {R1}
f
R7 {L1}
R8 {L0}
L8 {R0} 64 áèòà Øèôðîòåêñò
(K12, K13, K14, K15) {(K8, K9, K10, K11)} {}: Äåøèôðèðîâàíèå
Ðèñ. 13-3. Îäèí ýòàï FEAL. Ôóíêöèÿ f áåðåò 32 áèòà äàííûõ è 16 áèòîâ êëþ÷à è ñìåøèâàåò èõ âìåñòå. Ñíà÷àëà áëîê äàííûõ ðàçáèâàåòñÿ íà 8-áèòîâûå êóñî÷êè, êîòîðûå çàòåì îáúåäèíÿþòñÿ ñ ïîìîùüþ XOR è çàìåíÿþò äðóã äðóãà. Áëîê-ñõåìà ôóí êöèè f ïðåäñòàâëåíà íà 9-é. Äâå ôóíêöèè S0è S1 îïðåäåëÿþòñÿ ñëåäóþùèì îáðàçîì: S0(a,b) = öèêëè÷åñêèé ñäâèã âëåâî íà äâà áèòà (( a + b) mod 256) S1(a,b) = öèêëè÷åñêèé ñäâèã âëåâî íà äâà áèòà(( a + b + 1) mod 256) b 16 áèòîâ
b0
S0
a0
f(a,b)
S1 S0 S1
a1 a2
a 32 áèòà
a3 Ðèñ. 13-4. Ôóíêöèÿ f.
Òîò æå àëãîðèòì ìîæåò áûòü èñïîëüçîâàí äëÿ äåøèôðèðîâàíèÿ. Åäèíñòâåííûì îòëè÷èåì ÿâëÿåòñÿ òî, ÷òî ïðè äåøèôðèðîâàíèè ïîðÿäîê èñïîëüçîâàíèÿ ÷àñòåé êëþ÷à ìåíÿåòñÿ íà îáðàòíûé. Íà 8-é ïðåäñòàâëåíà áëîê-ñõåìà ôóíêöèè ãåíåðàöèè êëþ÷à. Ñíà÷àëà 64-áèòîâûé êëþ÷ äåëèòñÿ íà äâå ïîë î-
âèíû, ê êîòîðûì ïðèìåíÿþòñÿ îïåðàöèè XOR è ôóíêöèè fk, êàê ïîêàçàíî íà ñõåìå. Íà 7-é ïîêàçàíà áëîê-ñõåìà ôóíêöèè fk. Äâà 32-áèòîâûõ âõîäà ðàçáèâàþòñÿ íà 8-áèòîâûå áëîêè, îáúåäèíÿåìûå è çàìåíÿåìûå â ñîîòâåòñ òâèè ñî ñõåìîé. S0 è S1 îïðåäåëÿþòñÿ, êàê ïîêàçàíî íà ðèñóíêå. Çàòåì â àëãîðèòìå øèôðîâàíèÿ/äåøèôðèðîâàíèÿ èñïîëüçóþòñÿ 16-áèòîâûå áëîêè êëþ÷à. Íà ìèêðîïðîöåññîðå 80286/10 ÌÃö àññåìáëåðíàÿ ðåàëèçàöèÿ FEAL-32 ìîæåò øèôðîâàòü äàííûå ñî ñêîð îñòüþ 220 Êáèò/ñ. FEAL-64 ìîæåò øèôðîâàòü äàííûå ñî ñêîðîñòüþ 120 Êáèò/ñ [1104]. Áëîê êëþ÷à 64 áèòà
32 áèòà
32 áèòà
A0
B0 fK
K0, K1
A1 fK
K2, K3
A7 K14, K15
B1
D1
B7
D7
fK
32 áèòà
Ðèñ. 13-5. Îáðàáîòêà êëþ÷à â FEAL. a a0
a1
32 áèòà a2
a3 b0
S1
b1 S0
b2
X1
b3 S0
Y
b 32 áèòà
S1
X2
ai, bi - 8 áèò 32 áèòà fK(a,b)
Y=S0(X1,X2)=Rot2((X1+X2) mod 256) Y=S1(X1,X2)=Rot2((X1+X2+1) mod 256) Y: âûõîäíûå 8 áèòîâ, X1,X2 (8 áèòîâ): âõîäû Rot2(Y): öèêëè÷åñêèé ñäâèã âëåâî íà 2 áèòà 8-áèòîâûõ äàííûõ Y Ðèñ. 13-6. Ôóíêöèÿ fK. Êðèïòîàíàëèç FEAL Óñïåøíûé êðèïòîàíàëèç FEAL-4, FEAL ñ ÷åòûðüìÿ ýòàïàìè, áûë âûïîëíåí ñ ïîìîùüþ âñêðûòèÿ ñ âûáðà ííûìè îòêðûòûìè òåêñòàìè [201], à ïîçæå ñëàáîñòü ýòîãî àëãîðèòìà áûëà ïîêàçàíà â [1132]. Ïîñëåäíåå âñêð ûòèå, âûïîëíåííîå Ñèíîì Ìåðôè (Sean Murphy), áûëî ïåðâûì îïóáëèêîâàííûì âñêðûòèåì, èñïîëüçîâàâøèì äèôôåðåíöèàëüíûé êðèïòîàíàëèç, è äëÿ íåãî ïîòðåáîâàëîñü òîëüêî 20 âûáðàííûõ îòêðûòûõ òåêñòîâ. Îòâåòîì ðàçðàáîò÷èêîâ ñòàë 8-ýòàïíûé FEAL [1436, 1437, 1108], êðèïòîàíàëèç êîòîðîãî áûë ïðåäñòàâëåí Áèõàìîì è
Øàìèðîì íà êîíôåðåíöèè SECURICOM '89 [1424]. Äëÿ âñêðûòèÿ FEAL-8 ñ âûáðàííûìè îòêðûòûìè òåêñòàìè ïîòðåáîâàëîñü òîëüêî 10000 áëîêîâ [610], ÷òî çàñòàâèëî ðàçðàáîò÷èêîâ àëãîðèòìà çàñó÷èòü ðóêàâà è îïðåä åëèòü FEAL-N [1102, 1104], àëãîðèòì ñ ïåðåìåííûì ÷èñëîì ýòàïîâ (êîíå÷íî æå, áîëüøèì 8). Áèõàì è Øàìèð ïðèìåíèëè ïðîòèâ FEAL-N äèôôåðåíöèàëüíûé êðèïòîàíàëèç, õîòÿ îíè ìîãëè áû åùå á ûñòðåå âñêðûòü åãî ãðóáîé ñèëîé (ñ ïîìîùüþ ìåíåå, ÷åì 2 64 øèôðîâàíèé âûáðàííîãî îòêðûòîãî òåêñòà) äëÿ N , ìåíüøåãî 32. [169]. Äëÿ âñêðûòèÿ FEAL-16 íóæíî 2 28 âûáðàííûõ èëè 2 46.5 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Äëÿ âñêðûòèÿ FEAL-8 òðåáóåòñÿ 2000 âûáðàííûõ èëè 2 37.5 èçâåñòíûõ îòêðûòûõ òåêñòîâ. FEAL-4 ìîæåò áûòü âñêðûò ñ ïîìîùüþ âñåãî 8 ïðàâèëüíî âûáðàííûõ îòêðûòûõ òåêñòîâ. Ðàçðàáîò÷èêè FEAL îïðåäåëèëè òàêæå ìîäèôèêàöèþ FEAL - FEAL-NX, â êîòîðîé èñïîëüçóåòñÿ 128áèòîâûé êëþ÷ (ñì. 6-é) [1103, 1104]. Áèõàì è Øàìèð ïîêàçàëè, ÷òî äëÿ ëþáîãî çíà÷åíèÿ N FEAL-NX ñî 128áèòîâûì êëþ÷îì âçëàìûâàòü íå ñëîæíåå, ÷åì FEAL-N ñ 64-áèòîâûì êëþ÷îì [169]. Íåäàâíî áûë ïðåäëîæåí FEAL-N(X)S, óñèëèâàþùèé FEAL çà ñ÷åò äèíàìè÷åñêîé ôóí êöèè îáìåíà ìåñòàìè [1525]. Áëîê êëþ÷à (KL|KR): 128 áèòîâ Îáðàáîòêà áèòà ÷åòíîñòè
32 áèòà
KR
KL
A0
B0 Q1
fK
K0, K1
D1
A1
Q2
fK
K2, K3
D2
A2 K4, K5
KN+4, KN+5
B2 Q3
fK
DN/2+2
AN/2+2
BN/2+2
fK
QN/2+3
BN/2+3
DN/2+3
AN/2+3 KN+6, KN+7
B1
fK
32 áèòà
QN/2+4 KR1
KR2 KR1 KR2
K2(r-1): ëåâàÿ ïîëîâèíà Br (16 áèòîâ) K2(r-1)+1: ïðàâàÿ ïîëîâèíà Br (16 áèòîâ) ×èñëî èòåðàöèé: N/2+4
Qr=KR1 ⊕ KR2, Qr=KR1, Qr=KR2,
r=1, 4, 7, ... r=2, 5, 8, ... r=3, 6, 9, ...
Ðèñ. 13-7. Îáðàáîòêà êëþ÷à â FEAL-NX. Áîëåå òîãî.  [1520] áûëî ïðåäñòàâëåíî äðóãîå âñêðûòèå FEAL-4, òðåáóþùåå òîëüêî 1000 èçâåñòíûõ îòêð ûòûõ òåêñòîâ, è FEAL-8, äëÿ êîòîðîãî íóæíî òîëüêî 20000 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Äðóãèå âñêðûòèÿ ïðèâ åäåíû â [1549, 1550]. Íàèëó÷øèì ÿâëÿåòñÿ âûïîëíåííîå Ìèöóðó Ìàöóè (Mitsuru Matsui) è Àòøóèðî ßìàãèøè
(Atshuiro Yamagishi) [1020]. Ýòî áûëî ïåðâîå ïðèìåíåíèå ëèíåéíîãî êðèïòîàíàëèçà, è îíî ïîçâîëèëî âñêðûòü FEAL-4 ñ ïîìîùüþ 5 èçâåñòíûõ îòêðûòûõ òåêñòîâ, FEAL-6 - ñ ïîìîùüþ 100 èçâåñòíûõ îòêðûòûõ òåêñòîâ, à FEAL-8 - ñ ïîìîùüþ 2 15 èçâåñòíûõ îòêðûòûõ òåêñòîâ. Äàëüíåéøèå óòî÷íåíèÿ ìîæíî íàéòè â [64]. Äèôôåðå íöèàëüíûé êðèïòîàíàëèç ïîçâîëÿåò âñêðûâàòü FEAL-8, èñïîëüçóÿ òîëüêî 12 âûáðàííûõ îòêðûòûõ òåêñòîâ [62]. Êòî áû íå èçîáðåë íîâûé ìåòîä êðèïòîàíàëèòè÷åñêîãî âñêðûòèÿ, êàæåòñÿ, ÷òî îí âñåãäà ñíà÷àëà ïðîáóåò åãî íà FEAL. Ïàòåíòû FEAL çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [1438], ñîîòâåòñòâóþùèå ïàòåíòû ïðèíÿòû ê ðàññìîòðåíèþ â Àíãëèè, Ôðàíöèè è Ãåðìàíèè. Æåëàþùèé ëèöåíçèðîâàòü èñïîëüçîâàíèå àëãîðèòìà äîëæåí ñâÿçàòüñÿ ñ Äåðà ïòàìåíòîì èíòåëëåêòóàëüíîé ñîáñòâåííîñòè (Intellectual Property Department), NTT, 1-6 Uchisaiwai-cho, 1-chome, Chiyada-ku, 100 Japan.
13.5 REDOC REDOC II ïðåäñòàâëÿåò ñîáîé äðóãîé áëî÷íûé àëãîðèòì, ðàçðàáîòàííûé Ìàéêëîì Âóäîì (Michael Wood) äëÿ Cryptech, Inc. [1613, 400].  íåì èñïîëüçóþòñÿ 20-áàéòîâûé (160-áèòîâûé) êëþ÷ è 80-áèòîâûé áëîê. REDOC II âûïîëíÿåò âñå ìàíèïóëÿöèè - ïåðåñòàíîâêè, ïîäñòàíîâêè è XOR ñ êëþ÷îì - ñ áàéòàìè, ýòîò à ëãîðèòì ýôôåêòèâåí ïðè ïðîãðàììíîé ðåàëèçàöèè. REDOC II èñïîëüçóåò ìåíÿþùèåñÿ òàáëè÷íûå ôóíêöèè.  îòëè÷èå îò DES, èìåþùåãî ôèêñèðîâàííûé (õîòÿ è îïòèìèçèðîâàííûõ äëÿ áåçîïàñíîñòè) íàáîð òàáëèö ïîäñò àíîâîê è ïåðåñòàíîâîê REDOC II èñïîëüçóåò çàâèñèìûå îò êëþ÷à è îòêðûòîãî òåêñòà íàáîðû òàáëèö (ïî ñóòè Sáëîêîâ). Ó REDOC II 10 ýòàïîâ, êàæäûé ýòàï ïðåäñòàâëÿåò ñîáîé ñëîæíóþ ïîñëåäîâàòåëüíîñòü ìàíèïóëÿöèé ñ áëîêîì. Äðóãîé óíèêàëüíîé îñîáåííîñòüþ ÿâëÿåòñÿ èñïîëüçîâàíèå ìàñîê, êîòîðûå ÿâëÿþòñÿ ÷èñëàìè, ïîëó÷åííûìè èç òàáëèöû êëþ÷åé, è èñïîëüçóþòñÿ äëÿ âûáîðà òàáëèö äàííîé ôóíêöèè äëÿ äàííîãî ýòàïà. Äëÿ âûáîðà òàáëèö ôóíêöèè èñïîëüçóþòñÿ êàê çíà÷åíèå äàííûõ, òàê è ìàñêè. Ïðè óñëîâèè, ÷òî ñàìûì ýôôåêòèâíûì ñðåäñòâîì âñêðûòèÿ ýòîãî àëãîðèòìà ÿâëÿåòñÿ ãðóáàÿ ñèëà, REDOC II î÷åíü íàäåæåí: äëÿ âñêðûòèÿ êëþ÷à òðåáóåòñÿ 2 160 îïåðàöèé. Òîìàñ Êóçèê (Thomas Cusick) âûïîëíèë êðèïòî àíàëèç îäíîãî ýòàïà REDOC II, íî åìó íå óäàëîñü ðàñøèðèòü âñêðûòèå íà íåñêîëüêî ýòàïîâ [400]. Èñïîëüçóÿ äèôôåðåíöèàëüíûé êðèïòîàíàëèç, Áèõàì è Øàìèð äîñòèãëè óñïåõà â êðèïòîàíàëèçå îäíîãî ýòàïà REDOC II ñ ïîìîùüþ 2300 âûáðàííûõ îòêðûòûõ òåêñòîâ [170]. Îíè íå ñìîãëè ðàñøèðèòü ýòî âñêðûòèå íà íåñêîëüêî ýò àïîâ, íî èì óäàëîñü ïîëó÷èòü òðè çíà÷åíèÿ ìàñêè ïîñëå 4 ýòàïîâ. Î äðóãèõ ïîïûòêàõ êðèïòîàíàëèçà ìíå íå è çâåñòíî. REDOC III REDOC ïðåäñòàâëÿåò ñîáîé óïðîùåííóþ âåðñèþ REDOC II, òàêæå ðàçðàáîòàííóþ Ìàéêëîì Âóäîì [1615]. Îí ðàáîòàåò ñ 80-áèòîâûì áëîêîì. Äëèíà êëþ÷à ìîæåò ìåíÿòüñÿ è äîñòèãàòü 2560 áàéòîâ (20480 áèòîâ). Àëã îðèòì ñîñòîèò òîëüêî èç îïåðàöèé XOR äëÿ áàéòîâ êëþ÷à è îòêðûòîãî òåêñòà, ïåðåñòàíîâêè èëè ïîäñòàíîâêè íå èñïîëüçóþòñÿ. (1) Ñîçäàòü òàáëèöó êëþ÷åé èç 256 10-áàéòîâûõ êëþ÷åé, èñïîëüçóÿ ñåêðåòíûé êëþ÷. (2) Ñîçäàòü 2 10-áàéòîâûõ áëîêà ìàñêè M1 è M2. M1 ïðåäñòàâëÿåò ñîáîé XOR ïåðâûõ 128 10-áàéòîâûõ êë þ÷åé, à M2 - XOR âòîðûõ 128 10-áàéòîâûõ êëþ÷åé. (3) Äëÿ øèôðîâàíèÿ 10-áàéòîâîãî áëîêà: (a) Âûïîëíèòü XOR äëÿ ïåðâîãî áàéòà áëîêà äàííûõ è ïåðâîãî áàéòà M1. Âûáðàòü êëþ÷ èç òàáëèöû êëþ÷åé, ðàññ÷èòàííîé íà ýòàïå (1). Èñïîëüçîâàòü âû÷èñëåííîå çíà÷åíèå XOR â êà÷åñòâå èíäåêñà òàáëèöû. Âûïîëíèòü XOR êàæäîãî, êðîìå ïåðâîãî, áàéòà áëîêà äàííûõ ñ ñîîòâåòñòâóþùèì áàéòîì âûáðàííîãî êëþ÷à. (b) Âûïîëíèòü XOR äëÿ âòîðîãî áàéòà áëîêà äàííûõ è âòîðîãî áàéòà M1. Âûáðàòü êëþ÷ èç òàáëèöû êëþ÷åé, ðàññ÷èòàííîé íà ýòàïå (1). Èñïîëüçîâàòü âû÷èñëåííîå çíà÷åíèå XOR â êà÷åñòâå èíäåêñà òàáëèöû. Âûïîëíèòü XOR êàæäîãî, êðîìå âòîðîãî, áàéòà áëîêà äàííûõ ñ ñîîòâåòñòâóþùèì áàéòîì âûáðàííîãî êëþ÷à. (c) Ïðîäîëæàòü äëÿ âñåãî áëîêà äàííûõ (äëÿ áàéòîâ ñ 3 ïî 10), ïîêà êàæäûé áàéò íå áóäåò èñïîëüçîâàí äëÿ âûáîðà êëþ÷à èç òàáëèöû ïîñëå âûïîëíåíèÿ äëÿ íåãî XOR ñ ñîîòâåòñòâóþùèì çíà÷åíèåì M1. Çàòåì âûïîëíèòü XOR ñ êëþ÷îì äëÿ êàæäîãî, êðîìå èñïîëüçîâàííîãî äëÿ âûáîðà êëþ÷à, áàéòà. (d) Ïîâòîðèòü äëÿ M2 ýòàïû (a)-(c). Ýòîò àëãîðèòì íåñëîæåí è áûñòð. Íà 33 ìåãàãåðöîâîì ïðîöåññîðå 80386 îí øèôðóåò äàííûå ñî ñêîðîñòüþ
2.75 Ìáèò/ñ. Âóä îöåíèë, ÷òî êîíâåéåðèçèðîâàííàÿ ðåàëèçàöèÿ íà ÑÁÈÑ ñ 64 áèòîâîé øèíîé äàííûõ ìîãëà áû øèôðîâàòü äàííûå ñî ñêîðîñòüþ ñâûøå 1.28 Ãáèò/ñ ïðè òàêòîâîé ÷àñòîòå 20 ÌÃö. REDOC III íå áåçîïàñåí [1440]. Îí ÷óâñòâèòåëåí ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Äëÿ âîññòàíîâëåíèÿ îáåèõ ìàñîê íóæíî âñåãî ïðèìåðíî 223 âûáðàííûõ îòêðûòûõ òåêñòîâ. Ïàòåíòû è ëèöåíçèè Îáå âåðñèè REDOC çàïàòåíòîâàíû â Ñîåäèíåííûõ øòàòàõ [1614]. Ðàññìàòðèâàþòñÿ è èíîñòðàííûå ïàòåíòû. Ïðè çàèíòåðåñîâàííîñòè â REDOC II èëè REDOC III îáðàùàéòåñü ê Ìàéêëó Âóäó (Michael C. Wood, Delta Computec, Inc., 6647 Old Thompson Rd., Syracuse, NY 13211).
13.6 LOKI LOKI ðàçðàáîòàí â Àâñòðàëèè è âïåðâûå áûë ïðåäñòàâëåí â 1990 ãîäó â êà÷åñòâå âîçìîæíîé àëüòåðíàòèâû DES [273].  íåì èñïîëüçóþòñÿ 64-áèòîâûé áëîê è 64-áèòîâûé êëþ÷. Îáùàÿ ñòðóêòóðà àëãîðèòìà è èñïîëüç îâàíèÿ êëþ÷à îïèñàíà â [274, 275], à ñõåìà S-áëîêîâ - â [1247]. Èñïîëüçóÿ äèôôåðåíöèàëüíûé êðèïòîàíàëèç, Áèõàì è Øàìèð ñìîãëè âçëîìàòü LOKI ñ 11 è ìåíåå ýòàïàìè áûñòðåå, ÷åì ãðóáîé ñèëîé [170]. Áîëåå òîãî, àëãîðèòì îáëàäàåò 9-áèòîâîé êîìïëèìåíòàðíîñòüþ, ÷òî óìåíüø àåò ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé â 256 ðàç [170, 916, 917]. Ëàðñ Êíóäñåí (Lars Knudsen) ïîêàçàë, ÷òî LOKI ñ 14 è ìåíåå ýòàïàìè ÷óâñòâèòåëåí ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó [852, 853]. Êðîìå òîãî, åñëè â LOKI èñïîëüçóþòñÿ àëüòåðíàòèâíûå S-áëîêè, ïîëó÷àþùèéñÿ øèôð âåðîÿòíî òàêæå áóäåò ÷óâñòâèòåëåí ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. LOKI91  îòâåò íà ýòè âñêðûòèÿ ðàçðàáîò÷èêè LOKI âåðíóëèñü çà ÷åðòåæíóþ äîñêó è ïåðåñìîòðåëè ñâîé àëãîðèòì. Ðåçóëüòàòîì áûëî ïîÿâëåíèå LOKI91 [272]. (Ïðåäûäóùàÿ âåðñèÿ LOKI áûëà ïåðåèìåíîâàíà â LOKI89.) ×òîáû ïîâûñèòü óñòîé÷èâîñòü àëãîðèòìà ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó è èçáàâèòüñÿ îò êîìïëèìå íòàðíîñòè, â îðèãèíàëüíûé ïðîåêò áûëè âíåñåíû ñëåäóþùèå èçìåíåíèÿ: 1. Àëãîðèòì ãåíåðàöèè ïîäêëþ÷åé áûë èçìåíåí òàê, ÷òîáû ïîëîâèíû ïåðåñòàâëÿëèñü íå ïîñëå êàæäîãî, à ïîñëå êàæäîãî âòîðîãî ýòàïà. 2. Àëãîðèòì ãåíåðàöèè ïîäêëþ÷åé áûë èçìåíåí òàê, ÷òîáû êîëè÷åñòâî ïîçèöèé öèêëè÷åñêîãî ñäâèãà ë åâîãî ïîäêëþ÷à áûëî ðàâíî òî 12, òî 13 áèòàì. 3. Áûëè óñòðàíåíû íà÷àëüíàÿ è çàêëþ÷èòåëüíàÿ îïåðàöèè XOR áëîêà è êëþ÷à. 4. Áûëà èçìåíåíà ôóíêöèÿ S-áëîêà ñ öåëüþ ñãëàäèòü XOR ïðîôèëè S-áëîêîâ (÷òîáû ïîâûñèòü èõ óñòî é÷èâîñòü ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó), è íå äîïóñòèòü, ÷òîáû äëÿ êàêîãî-òî çíà÷åíèÿ âûïî ëíÿëîñü f(x) = 0, ãäå f - ýòî êîìáèíàöèÿ E-, S- è P-áëîêîâ. Îïèñàíèå LOKI91 Ìåõàíèçì LOKI91 ïîõîæ íà DES (ñì. Ðèñ. 13-8). Áëîê äàííûõ äåëèòñÿ íà ëåâóþ è ïðàâóþ ïîëîâèíû è ïð îõîäèò ÷åðåç 16 ýòàïîâ, ÷òî î÷åíü ïîõîäå íà DES. Íà êàæäîì ýòàïå ïðàâàÿ ïîëîâèíà ñíà÷àëà ïîäâåðãàåòñÿ îï åðàöèè XOR ñ ÷àñòüþ êëþ÷à, à çàòåì íàä íåé âûïîëíÿåòñÿ ïåðåñòàíîâêà ñ ðàñøèðåíèåì (ñì. Òàáë. 13-1).
Îòêðûòûé òåêñò L 32
Êëþ÷ Ê R 32
P
S
P
P
K(3) 32
ROL 13
K(15) 32
E
S
ROL 12
K(4) 32
E
S
P
ROL 13
E
S
P
K(2) 32
E
S
KR 32
ROL 12
E
S
P
KL 32
ROL 12
K(16) 32
E
ROL 13
Øèôðîòåêñò Ðèñ. 13-8. LOKI91. Òàáë. 13-1. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì 4,
3,
2,
1,
32,
31,
20,
29,
28,
27,
26,
25,
28,
27,
26,
25,
24,
23,
22,
21,
20,
19,
18,
17,
20,
19,
18,
17,
16,
15,
14,
13,
12,
11,
10,
9,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1
48-áèòîâûé ðåçóëüòàò äåëèòñÿ íà ÷åòûðå 12-áèòîâûõ áëîêà, äëÿ êàæäîãî èç êîòîðûõ âûïîëíÿåòñÿ ñëåäóþùàÿ ïîäñòàíîâêà ñ èñïîëüçîâàíèåì S-áëîêà: áåðåòñÿ êàæäûé 12-áèòîâûé âõîä, ïî 2 êðàéíèõ ëåâûõ è êðàéíèõ ïð àâûõ áèòà èñïîëüçóþòñÿ äëÿ ïîëó÷åíèÿ íîìåðà r, â 8 öåíòðàëüíûõ áèò îáðàçóþò íîìåð c. Ðåçóëüòàòîì S-áëîêà O - ÿâëÿåòñÿ ñëåäóþùåå çíà÷åíèå: O(r,c) = (c + ((r* 17) ⊕ 0xff) & 0xff)31 mod Pr Pr ïðèâåäåíî â Òàáë. 13-2. Òàáë. 13-2. Pr r: Pr:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
375,
279,
391,
395,
397,
415,
419,
425,
433,
445,
451,
463,
471,
477,
487,
488
Çàòåì ÷åòûðå 8-áèòîâûõ ðåçóëüòàòà ñíîâà îáúåäèíÿþòñÿ, îáðàçóÿ 32-áèòîâîå ÷èñëî, êîòîðîå ïîäâåðãàåòñÿ îïåðàöèè ïåðåñòàíîâêè, îïèñàííîé â Òàáë. 13-3. Íàêîíåö äëÿ ïîëó÷åíèÿ íîâîé ëåâîé ïîëîâèíû âûïîëíÿåòñÿ XOR ïðàâîé ïîëîâèíû ñ ïðåæíåé ëåâîé ïîëîâèíîé, à ëåâàÿ ïîëîâèíà ñòàíîâèòñÿ íîâîé ïðàâîé ïîëîâèíîé. Ï îñëå 16 ýòàïîâ äëÿ ïîëó÷åíèÿ îêîí÷àòåëüíîãî øèôðîòåêñòà ñíîâà âûïîëíÿåòñÿ XOR áëîêà è êëþ÷à. Òàáë. 13-3. Ïåðåñòàíîâêà ñ ïîìîùüþ P-áëîêà 32,
24,
16,
8,
31,
23,
15,
7,
30,
22,
14,
6,
29,
21,
13,
5,
28,
20,
12,
4,
27,
19,
11,
3,
26,
18,
10,
2,
25,
17,
9,
1
Ïîäêëþ÷è èç êëþ÷à âûäåëÿþòñÿ äîñòàòî÷íî ïðÿìîëèíåéíî. 64-áèòîâûé êëþ÷ ðàçáèâàåòñÿ íà ëåâóþ è ïð àâóþ ïîëîâèíû. Íà êàæäîì ýòàïå ïîäêëþ÷îì ÿâëÿåòñÿ ëåâàÿ ïîëîâèíà. Äàëåå îíà öèêëè÷åñêè ñäâèãàåòñÿ âëåâî íà 12 èëè 13 áèòîâ, çàòåì ïîñëå êàæäûõ äâóõ ýòàïîâ ëåâàÿ è ïðàâàÿ ïîëîâèíû ìåíÿþòñÿ ìåñòàìè. Êàê è â DES äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ èñïîëüçóåòñÿ îäèí è òîò æå àëãîðèòì ñ íåêîòîðûìè èçìåíåíèÿìè â èñïîë üçîâàíèè ïîäêëþ÷åé. Êðèïòîàíàëèç LOKI91 Êíóäñåí ïðåäïðèíÿë ïîïûòêó êðèïòîàíàëèçà LOKI91 [854, 858], íî íàøåë, ÷òî ýòîò àëãîðèòì óñòîé÷èâ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Îäíàêî åìó óäàëîñü îáíàðóæèòü, ÷òî âñêðûòèå ñî ñâÿçàííûìè êëþ÷àìè äëÿ âûáðàííûõ îòêðûòûõ òåêñòîâ óìåíüøàåò ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé ïî÷òè â÷åòâåðî. Ýòî âñêðûòèå èñïîëüçóåò ñëàáîñòü èñïîëüçîâàíèÿ êëþ÷à è ìîæåò áûòü òàêæå ïðèìåíåíî, åñëè àëãîðèòì èñïîëüçóåòñÿ â êà÷ åñòâå îäíîíàïðàâëåííîé õýø-ôóíêöèè (ñì. ðàçäåë 18.11). Äðóãîå âñêðûòèå ñî ñâÿçàííûìè êëþ÷àìè ìîæåò âñêðûòü LOKI91 ñ ïîìîùüþ 2 32 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé èëè ñ ïîìîùüþ 2 48 èçâåñòíûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé [158]. Ýòî âñêðûòèå íå çàâèñèò îò ÷èñëà ýòàïîâ àëãîðèòìà. ( òîé æå ðàáîòå Áèõàì âñêðûâàåò LOKI89, èñïîëüçóÿ êðè ïòîàíàëèç ñî ñâÿçàííûìè êëþ÷àìè, ñ ïîìîùüþ 2 17 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé èëè ñ ïîìîùüþ 233 èçâåñòíûõ îòêðûòûõ òåêñòîâ äëÿ âûáðàííûõ êëþ÷åé.) Íåñëîæíî ïîâûñèòü óñòîé÷èâîñòü LOKI91 ê âñêðûòèþ òàêîãî òèïà, óñëîæíèâ ñõåìó èñïîëüçîâàíèÿ êëþ÷à. Ïàòåíòû è ëèöåíçèè LOKI íå çàïàòåíòîâàí. Êòî óãîäíî ìîæåò ðåàëèçîâàòü àëãîðèòì è èñïîëüçîâàòü åãî. Èñõîäíûé êîä, ïðèâ åäåííûé â ýòîé êíèãå, íàïèñàí â Óíèâåðñèòåòå Íîâîãî Þæíîãî Óýëüñà. Ïðè æåëàíèè èñïîëüçîâàòü ýòó ðåàëèç àöèþ (èëè äðóãèå ðåàëèçàöèè, êîòîðûå íà íåñêîëüêî ïîðÿäêîâ áûñòðåå) â êîììåð÷åñêîì ïðîäóêòå îáðàùàéòåñü ê Äèðåêòîðó CITRAD, Ôàêóëüòåò êîìïüþòåðíûõ íàóê, Óíèâåðñèòåòñêèé êîëëåäæ, Óíèâåðñèòåò Íîâîãî Þæíîãî Óýëüñà, Àêàäåìèÿ àâñòðàëèéñêèõ âîîðóæåííûõ ñèë, Êàíáåððà, Àâñòðàëèÿ (Director CITRAD, Department of Computer Science, University College, UNSW, Australian Defense Force Academy, Canberra ACT 2600, Australia; FAX: +61 6 268 8581.
13.7 KHUFU è KHAFRE  1990 ãîäó Ðàëüô Ìåðêë (Ralph Merkle) ïðåäëîæèë äâà àëãîðèòìà.  îñíîâå èõ ïðîåêòèðîâàíèÿ ëåæàëè ñëåäóþùèå ïðèíöèïû [1071]: 1. 56-áèòîâûé ðàçìåð êëþ÷à DES ñëèøêîì ìàë. Òàê êàê ñòîèìîñòü óâåëè÷åíèÿ ðàçìåðà êëþ÷à ïðåíå áðåæèìî ìàëà (êîìïüþòåðíàÿ ïàìÿòü íåäîðîãà è äîñòóïíà), îí äîëæåí áûòü óâåëè÷åí. 2. Èíòåíñèâíîå èñïîëüçîâàíèå ïåðåñòàíîâîê â DES õîòÿ è óäîáíî äëÿ àïïàðàòíûõ ðåàëèçàöèé, ÷ðåçâ û÷àéíî çàòðóäíÿåò ïðîãðàììíûå ðåàëèçàöèè. Íàèáîëåå áûñòðûå ðåàëèçàöèè DES âûïîëíÿþò ïåðåñò àíîâêè òàáëè÷íûì îáðàçîì. Ïðîñìîòð òàáëèöû ìîæåò îáåñïå÷èòü òå æå õàðàêòåðèñòèêè "ðàññåÿíèÿ", ÷òî è ñîáñòâåííî ïåðåñòàíîâêè, è ìîæåò ñäåëàòü ðåàëèçàöèþ íàìíîãî áîëåå ãèáêîé. 3. S-áëîêè DES, âñåãî ñ 64 4-áèòîâûìè ýëåìåíòàìè, ñëèøêîì ìàëû. Òåïåðü ñ óâåëè÷åíèåì ïàìÿòè äîëæíû óâåëè÷èòüñÿ è S-áëîêè. Áîëåå òîãî, âñå âîñåìü S-áëîêîâ èñïîëüçóþòñÿ îäíîâðåìåííî. Õîòÿ ýòî è óäîáíî äëÿ àïïàðàòóðû, äëÿ ïðîãðàììíîé ðåàëèçàöèè ýòî êàæåòñÿ íåíóæíûì îãðàíè÷åíèåì. Äîëæíû áûòü ðåàëèçîâàíû áîëüøèé ðàçìåð S-áëîêîâ è ïîñëåäîâàòåëüíîå (à íå ïàðàëëåëüíîå) èõ è ñïîëüçîâàíèå. 4. Øèðîêî ïðèçíàíî, ÷òî íà÷àëüíàÿ è çàêëþ÷èòåëüíàÿ ïåðåñòàíîâêè êðèïòîãðàôè÷åñêè áåññìûñëåííû, ïîýòîìó îíè äîëæíû áûòü óñòðàíåíû.
5. Âñå áûñòðûå ðåàëèçàöèè DES çàðàíåå ðàññ÷èòûâàþò êëþ÷è äëÿ êàæäîãî ýòàïà. Ïðè äàííîì óñëîâèè íåò ñìûñëà óñëîæíÿòü ýòè âû÷èñëåíèÿ. 6.  îòëè÷èå îò DES êðèòåðèè ïðîåêòèðîâàíèÿ S-áëîêîâ äîëæíû áûòü îáùåäîñòóïíû. Ê ýòîìó ïåðå÷íþ Ìåðêë, âîçìîæíî, òåïåðü äîáàâèë áû "óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó", âåäü â òî âðåìÿ ýòè ñïîñîáû âñêðûòèÿ íå áûëè èçâåñòíû. Khufu Khufu - ýòî 64-áèòîâûé áëî÷íûé øèôð. 64-áèòîâûé îòêðûòûé òåñò ñíà÷àëà ðàçáèâàåòñÿ íà äâå 32-áèòîâûå ïîëîâèíû, L è R. Íàä îáåèìè ïîëîâèíàìè è îïðåäåëåííûìè ÷àñòÿìè êëþ÷à âûïîëíÿåòñÿ îïåðàöèÿ XOR. Çàòåì, àíàëîãè÷íî DES, ðåçóëüòàòû ïðîõîäÿò ÷åðåç íåêîòîðóþ ïîñëåäîâàòåëüíîñòü ýòàïîâ. Íà êàæäîì ýòàïå ìëàäøèé çíà÷àùèé áàéò L èñïîëüçóåòñÿ â êà÷åñòâå âõîäíûõ äàííûõ S-áëîêà. Ó êàæäîãî S-áëîêà 8 âõîäíûõ áèòîâ è 32 âûõîäíûõ áèòà. Äàëåå âûáðàííûé â S-áëîêå 32-áèòîâûé ýëåìåíò ïîäâåðãàåòñÿ îïåðàöèè XOR ñ R. Çàòåì L öèêëè÷åñêè ñäâèãàåòñÿ íå íåñêîëüêî èç âîñüìè áèòîâ, L è R ìåíÿþòñÿ ìåñòàìè, è ýòàï çàêàí÷èâàåòñÿ. Ñàì S-áëîê íå ÿâëÿåòñÿ ñòàòè÷åñêèì, íî ìåíÿåòñÿ êàæäûå âîñåìü ýòàïîâ. Íàêîíåö ïîñëå ïîñëåäíåãî ýòàïà íàä L è R âûïîëíÿåòñÿ îïåðàöèÿ XOR ñ äðóãèìè ÷àñòÿìè êëþ÷à, è ïîëîâèíû îáúåäèíÿþòñÿ, îáðàçóÿ áëîê øèôðîòåêñòà. Õîòÿ ÷àñòè êëþ÷à èñïîëüçóþòñÿ äëÿ XOR ñ áëîêîì øèôðîâàíèÿ â íà÷àëå è â êîíöå àëãîðèòìà, ãëàâíàÿ öåëü êëþ÷à -ãåíåðàöèÿ S-áëîêîâ. Ýòè S-áëîêè - ñåêðåòíû, ïî ñóòè ÿâëÿþòñÿ îíè ÿâëÿþòñÿ ÷àñòüþ êëþ÷à. Ïîëíûé ðàçìåð êëþ÷à Khufu ðàâåí 512 áèòàì (64 áàéòàì), àëãîðèòì ïðåäîñòàâëÿåò ñïîñîá ãåíåðàöèè S-áëîêîâ ïî êë þ÷ó. Êîëè÷åñòâî ýòàïîâ àëãîðèòìà îñòàåòñÿ îòêðûòûì. Ìåðêë óïîìÿíóë, ÷òî 8-ýòàïíûé Khufu ÷óâñòâèòåëåí ê âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì è ðåêîìåíäóåò 16, 24 èëè 32 ýòàïà [1071]. (Îí îãðàíè÷èâàåò âûáîð êîëè÷åñòâà ýòàïîâ ÷èñëàìè, êðàòíûìè âîñüìè.) Òàê êàê â Khufu èñïîëüçóþòñÿ çàâèñèìûå îò êëþ÷à è ñåêðåòíûå S-áëîêè, îí óñòîé÷èâ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Ñóùåñòâóåò äèôôåðåíöèàëüíîå âñêðûòèå 16-ýòàïíîãî Khufu, êîòîðîå ðàñêðûâàåò êëþ÷ ïîñëå 2 31 âûáðàííûõ îòêðûòûõ òåêñòîâ [611], íî åãî íå óäàëîñü ðàñøèðèòü íà áîëüøåå êîëè÷åñòâî ýòàïîâ. Åñëè ëó÷øèì ñïîñîáîì âñêðûòü Khufu ÿâëÿåòñÿ ãðóáàÿ ñèëà, òî åãî íàäåæíîñòü ïðîèçâîäèò ñèëüíîå âïå÷àòëåíèå. 512-áèòîâûé êëþ÷ îáåñïå÷èâàåò ñëîæíîñòü 2 512 - îãðîìíîå ÷èñëî ïðè ëþáûõ óñëîâèÿõ. Khafre Khafre - ýòî âòîðàÿ èç êðèïòîñèñòåì, ïðåäëîæåííûõ Ìåðêëîì [1071]. (Khufu (Õóôó) è Khafre (Õàôð) - ýòî èìåíà åãèïåòñêèõ ôàðàîíîâ.) Ïî êîíñòðóêöèè ýòîò àëãîðèòì ïîõîæ íà Khufu, íî îí ñïðîåêòèðîâàí äëÿ ïðèë îæåíèé, íå èñïîëüçóþùèõ ïðåäâàðèòåëüíûõ âû÷èñëåíèé. S-áëîêè íå çàâèñÿò îò êëþ÷à. Âìåñòî ýòîãî Khafre è ñïîëüçóåò ôèêñèðîâàííûå S-áëîêè. Áëîê øèôðîâàíèÿ ïîäâåðãàåòñÿ îïåðàöèè XOR ñ êëþ÷îì íå òîëüêî ïåðåä ïåðâûì ýòàïîì è ïîñëå ïîñëåäíåãî, íî è ïîñëå êàæäûõ 8 ýòàïîâ øèôðîâàíèÿ. Ìåðêë ïðåäïîëîæèë, ÷òî ñ Khafre äîëæíû èñïîëüçîâàòüñÿ 64- èëè 128-áèòîâûå êëþ÷è, è ÷òî äëÿ Khafre ï îòðåáóåòñÿ áîëüøå ýòàïîâ, ÷åì äëÿ Khufu. Ýòî íàðÿäó ñ òåì, ÷òî êàæäûé ýòàï Khafre ñëîæíåå ýòàïà Khufu, äåëàåò Khafre áîëåå ìåäëåííûì. Çàòî äëÿ Khafre íå íóæíû íèêàêèå ïðåäâàðèòåëüíû ðàñ÷åòû, ÷òî ïîçâîëÿåò áûñòðåå øèôðîâàòü íåáîëüøèå ïîðöèè äàííûõ.  1990 ãîäó Áèõàì è Øàìèð ïðèìåíèëè ñâîé ìåòîä äèôôåðåíöèàëüíîãî àíàëèçà ïðîòèâ Khafre [170]. Èì óäàëîñü âçëîìàòü 16-ýòàïíûé Khafre ñ ïîìîùüþ âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì ïîñëå 1500 ðàçëè ÷íûõ øèôðîâàíèé. Íà èõ ïåðñîíàëüíîì êîìïüþòåðå ýòî çàíÿëî îêîëî ÷àñà. Ïðåîáðàçîâàíèå ýòîãî âñêðûòèÿ âî âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì ïîòðåáóåò îêîëî 238 øèôðîâàíèé. Khafre ñ 24 ýòàïàìè ìîæåò áûòü âñêðûò ñ ïîìîùüþ âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì çà 253 øèôðîâàíèÿ, à ñ ïîìîùüþ âñêðûòèÿ ñ è çâåñòíûì îòêðûòûì òåêñòîì - çà 259 øèôðîâàíèÿ. Ïàòåíòû È Khufu, è Khafre çàïàòåíòîâàíû [1072]. Èñõîäíûé êîä ýòèõ àëãîðèòìîâ ñîäåðæèòñÿ â ïàòåíòå. Ïðè æåëàíèè ïîëó÷èòü ëèöåíçèþ íà ëþáîé èëè îáà àëãîðèòìà ñëåäóåò îáðàòèòüñÿ ê äèðåêòîðó ïî ëèöåíçèðîâàíèþ êîðïîð àöèè Xerox (Director of Licensing, Xerox Corporation, P.0. Box 1600, Stamford, CT, 06904-1600).
13.8 RC2 RC2 ïðåäñòàâëÿåò ñîáîé àëãîðèòì ñ ïåðåìåííîé äëèíîé êëþ÷à, ñïðîåêòèðîâàííûé Ðîíîì Ðèâåñòîì (Ron Rivest) äëÿ RSA Data Security, Inc. (RSADSI). Î÷åâèäíî "RC" - ýòî ñîêðàùåííîå "Ron's Code'' ("Êîä Ðîíà"), õîòÿ îôèöèàëüíî ýòî "Rivest Cipher'' ("Øèôð Ðèâåñòà"). (RC3 áûë âçëîìàí â RSADSI â ïðîöåññå ðàçðàáîòêè, RC1 íå âûøåë çà ïðåäåëû çàïèñíîé êíèæêè Ðèâåñòà.) Îí ïðåäñòàâëÿåò ñîáîé ÷àñòíóþ ñîáñòâåííîñòü, è åãî äåòàëè íå áûëè îïóáëèêîâàíû. Íå äóìàéòå íè ìèíóòû, ÷òî ýòî óâåëè÷èâàåò åãî áåçîïàñíîñòü. RC2 óæå ïîÿâèëñÿ â êî ììåð÷åñêèõ ïðîäóêòàõ. Íàñêîëüêî ìíå èçâåñòíî, RC2 íå áûë çàïàòåíòîâàí è çàùèùåí òîëüêî êàê òîðãîâûé ñå êðåò.
RC2 - ýòî øèôð ñ 64-áèòîâûì áëîêîì è ïåðåìåííîé äëèíîé êëþ÷à, ïðåäíàçíà÷åííûé çàìåíèòü DES.  ñîî òâåòñòâèè ñ óòâåðæäåíèÿìè êîìïàíèè ïðîãðàììíûå ðåàëèçàöèè RC2 â òðè ðàçà áûñòðåå DES. Àëãîðèòì ìîæåò èñïîëüçîâàòü êëþ÷ ïåðåìåííîé äëèíû, îò 0 áàéòîâ äî ìàêñèìàëüíîé äëèíû ñòðîêè, ïîääåðæèâàåìîé êîìïü þòåðíîé ñèñòåìîé, ñêîðîñòü øèôðîâàíèÿ íå çàâèñèò îò ðàçìåðà êëþ÷à. Ýòîò êëþ÷ ïðåäâàðèòåëüíî èñïîëüçóåòñÿ äëÿ çàïîëíåíèÿ 128-áàéòîâîé òàáëèöû, çàâèñÿùåé îò êëþ÷à. Ïîýòîìó ìíîæåñòâî äåéñòâèòåëüíî ðàçëè÷íûõ êëþ÷åé ñîñòàâëÿåò 21024. RC2 íå èñïîëüçóåò S-áëîêîâ [805], èñïîëüçóþòñÿ äâå îïåðàöèè - "ñìåøèâàíèå" è "ïåðåìåøèâàíèå" ("mix" è "mash"), äëÿ êàæäîãî ýòàïà âûáèðàåòñÿ îäíà èç íèõ.  ñîîòâåòñòâèè ñ ëèòåðàòóðîé [1334]: . . . RC2 íå ÿâëÿåòñÿ èòåðàòèâíûì áëî÷íûì øèôðîì. Ýòî ïðåäïîëàãàåò, ÷òî RC2 áîëåå óñòîé÷èâ ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó, ÷åì äðóãèå áëî÷íûå øèôðû, áåçîïàñíîñòü êîòîðûõ îïèðàåòñÿ íà êîïèðîâàíèå ñõåìû DES.
Îòêàç RSADSI îïóáëèêîâàòü RC2 çàñòàâëÿåò ñîìíåâàòüñÿ â íàìåðåíèÿõ ýòîé êîìïàíèè. Îíà îáåùàåò ïð åäîñòàâèòü äåòàëè àëãîðèòìà âñåì, êòî ïîäïèøåò ñîãëàøåíèå î íåðàñïðîñòðàíåíèè èíôîðìàöèè, è óòâåðæäàåò, ÷òî ïîçâîëèò êðèïòîàíàëèòèêàì îïóáëèêîâàòü ëþáûå îáíàðóæåííûå íåãàòèâíûå ðåçóëüòàòû. Ìíå íåèçâåñòíî íè îá îäíîì êðèïòîàíàëèòèêå, íå ðàáîòàþùåì â ýòîé êîìïàíèè, êòî áû èññëåäîâàë àëãîðèòì, òàê êàê ýòî ïî ñóòè îçíà÷àëî áû âûïîëíèòü ðàáîòó ïî àíàëèçó äëÿ êîìïàíèè. Òåì íå ìåíåå, Ðîí Ðèâåñò - íå øàðëàòàí. Îí óâàæàåìûé è êîìïåòåíòíûé êðèïòîãðàô. ß ëè÷íî â çíà÷èòåë üíîé ñòåïåíè âåðþ â ýòîò àëãîðèòì, õîòÿ ÿ ëè÷íî è íå âèäåë êîäà. RC4, òàêæå ÿâëÿþùèéñÿ èíòåëëåêòóàëüíîé ñîáñòâåííîñòüþ RSADSI, áûë îïóáëèêîâàí â Internet (ñì. ðàçäåë 17.1), è, âåðîÿòíî, îïóáëèêîâàíèå RC2 ÿâëÿå òñÿ òîëüêî âîïðîñîì âðåìåíè. Ïî ñîãëàøåíèþ ìåæäó Àññîöèàöèåé èçäàòåëåé ïðîãðàììíîãî îáåñïå÷åíèÿ (Software Publishers Association, SPA) è ïðàâèòåëüñòâîì ÑØÀ RC2 è RC4 (ñì. ðàçäåë 17.1) ïîëó÷èëè ñïåöèàëüíûé ýêñïîðòíûé ñòàòóñ (ñì. ðà çäåë 25.14). Ïðîöåññ ïîëó÷åíèÿ ðàçðåøåíèÿ íà ýêñïîðò ïðîäóêòîâ, ðåàëèçóþùèõ îäèí èç ýòèõ äâóõ àëãîðèòìîâ, çíà÷èòåëüíî óïðîùåí ïðè óñëîâèè, ÷òî äëèíà êëþ÷à íå ïðåâûøàåò 40 áèòîâ. Äîñòàòî÷åí ëè 40-áèòîâûé êëþ÷? Ñóùåñòâóåò âñåãî îäèí òðèëëèîí âîçìîæíûõ êëþ÷åé. Ïðè óñëîâèè, ÷òî íàèáîëåå ýôôåêòèâíûì ìåòîäîì êðèïòîàíàëèçà ÿâëÿåòñÿ âñêðûòèå ãðóáîé ñèëîé (áîëüøîå äîïóùåíèå, âåäü à ëãîðèòì íèêîãäà íå áûë îïóáëèêîâàí), è ÷òî ìèêðîñõåìà ãðóáîãî âñêðûòèÿ ìîæåò ïðîâåðèòü ìèëëèîí êëþ÷åé â ñåêóíäó, ïîèñê ïðàâèëüíîãî êëþ÷à çàéìåò 12.7 äíåé. Òûñÿ÷à ìàøèí, ðàáîòàþùèõ ïàðàëëåëüíî, ñìîãóò ðà ñêðûòü êëþ÷ çà äâàäöàòü ìèíóò. RSA Data Security, Inc., óòâåðæäàåò, ÷òî, õîòÿ øèôðîâàíèå è äåøèôðèðîâàíèÿ âûïîëíÿþòñÿ äëÿ áûñòðî, è ñ÷åðïûâàþùåãî ïîèñêà ïîòðåáóåòñÿ íàìíîãî áîëüøå âðåìåíè. Çàìåòíîå êîëè÷åñòâî âðåìåíè òðàòèòñÿ íà ôîðì èðîâàíèå ïëàíà èñïîëüçîâàíèÿ êëþ÷à. Õîòÿ ýòî âðåìÿ ïðåíåáðåæèìî ìàëî ïðè øèôðîâàíèè è äåøèôðèðîâàíèè ñîîáùåíèé, ýòî íå òàê ïðè ïðîâåðêå êàæäîãî âîçìîæíîãî êëþ÷à. Ïðàâèòåëüñòâî ÑØÀ íèêîãäà íå ïîçâîëèëî áû ýêñïîðòèðîâàòü ëþáîé àëãîðèòì, êîòîðûé îíî, ïî êðàéíåé ìåðå â òåîðèè, íå ñìîãëî áû âñêðûòü. Îíî ìîæåò ñîçäàòü ìàãíèòíóþ ëåíòó èëè CD ñ êîíêðåòíûì áëîêîì î òêðûòîãî òåêñòà, çàøèôðîâàííûì êàæäûì âîçìîæíûì êëþ÷îì. Äëÿ âñêðûòèÿ ñîîáùåíèÿ îñòàåòñÿ òîëüêî âñò àâèòü ëåíòó è ñðàâíèòü áëîêè øèôðîòåêñòà â ñîîáùåíèè ñ áëîêàìè øèôðîòåêñòà íà ëåíòå. Ïðè ñîâïàäåíèè ìî æíî ïðîâåðèòü âîçìîæíûé êëþ÷ è ïîñìîòðåòü, èìååò ëè ñîîáùåíèå êàêîé-íèáóäü ñìûñë. Åñëè îíè âûáåðóò ÷àñòî âñòðå÷àþùèéñÿ áëîê (âñå íóëè, ASCII-ñèìâîëû ïðîáåëà, è ò.ä.), ýòîò ìåòîä áóäåò ðàáîòàòü. Îáúåì äàííûõ, íóæíûé äëÿ õðàíåíèÿ ðåçóëüòàòîâ øèôðîâàíèÿ 64-áèòîâîãî áëîêà îòêðûòîãî òåêñòà âñåìè 10 12 âîçìîæíûìè êëþ÷àìè, ñîñòàâëÿåò 8 òåðàáàéòîâ - âïîëíå ðåàëüíî. Ïî ïîâîäó ëèöåíçèðîâàíèÿ RC2 îáðàùàéòåñü â RSADSI (ñì. ðàçäåë 25.4).
13.9 IDEA Ïåðâûé âàðèàíò øèôðà IDEA, ïðåäëîæåííûé Êñóåäæà Ëàé (Xuejia Lai) è Äæåéìñîì Ìàññè (James Massey), ïîÿâèëñÿ â 1990 ãîäó [929]. Îí íàçûâàëñÿ PES (Proposed Encryption Standard, ïðåäëîæåííûé ñòàíäàðò øèôð îâàíèÿ).  ñëåäóþùåì ãîäó, ïîñëå äåìîíñòðàöèè Áèõàìîì è Øàìèðîì âîçìîæíîñòåé äèôôåðåíöèàëüíîãî êðè ïòîàíàëèçà, àâòîðû óñèëèëè ñâîé øèôð ïðîòèâ òàêîãî âñêðûòèÿ è íàçâàëè íîâûé àëãîðèòì IPES (Improved Proposed Encryption Standard, óëó÷øåííûé ïðåäëîæåííûé ñòàíäàðò øèôðîâàíèÿ) [931, 924].  1992 ãîäó íàçâ àíèå IPES áûëî èçìåíåíî íà IDEA (International Data Encryption Algorithm, ìåæäóíàðîäíûé àëãîðèòì øèôðîâ àíèÿ äàííûõ) [925]. IDEA îñíîâûâàåòñÿ íà íåêîòîðûõ âïå÷àòëÿþùèõ òåîðåòè÷åñêèõ ïîëîæåíèÿõ è, õîòÿ êðèïòîàíàëèç äîáèëñÿ íåêîòîðûõ óñïåõîâ â îòíîøåíèè âàðèàíòîâ ñ óìåíüøåííûì êîëè÷åñòâîì ýòàïîâ, àëãîðèòì âñå åùå êàæåòñÿ ñèëüíûì. Ïî ìîåìó ìíåíèþ ýòî ñàìûé ëó÷øèé è ñàìûé áåçîïàñíûé áëî÷íûé àëãîðèòì, îïóáëèêîâàííûé ñåã îäíÿ. Áóäóùåå IDEA ïîêà íåÿñíî. Ïîïûòîê çàìåíèòü èì DES ïðåäïðèíÿòî íå áûëî, ÷àñòè÷íî ïîòîìó, ÷òî îí çàï àòåíòîâàí è äîëæåí áûòü ëèöåíçèðîâàí äëÿ êîììåð÷åñêèõ ïðèëîæåíèé, è ÷àñòè÷íî ïîòîìó, ÷òî ëþäè ïîêà âñå åùå æäóò, íàáëþäàÿ íàñêîëüêî õîðîøî ïîâåäåò ñåáÿ àëãîðèòì â ïðåäñòîÿùèå ãîäû êðèïòîàíàëèçà. Åãî ñåã î-
äíÿøíÿÿ èçâåñòíîñòü îáúÿñíÿåòñÿ òåì, ÷òî îí ÿâëÿåòñÿ ÷àñòüþ PGP (ñì. ðàçäåë 24.12). Îáçîð IDEA IDEA ÿâëÿåòñÿ áëî÷íûì øèôðîì, îí ðàáîòàåò ñ 64-áèòîâûìè áëîêàìè îòêðûòîãî òåêñòà. Äëèíà êëþ÷à - 128 áèòîâ. Äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ èñïîëüçóåòñÿ îäèí è òîò æå àëãîðèòì. Êàê è äðóãèå, óæå ðàññìîòðåííûå áëî÷íûå øèôðû IDEA èñïîëüçóåò è çàïóòûâàíèå, è ðàññåÿíèå. Ôëîñîôèÿ, ëåæàùàÿ â îñíîâå ïðîåêòà, ïðåäñòàâëÿåò ñîáîé "îáúåäèíåíèå îïåðàöèé èç ðàçëè÷íûõ àëãåáðàè÷åñêèõ ãðóïï". Ñìåøèâàþòñÿ òðè àëãåáðàè÷åñêèå ãðóïïû, è âñå îíè ìîãóò áûòü ëåãêî ðåàëèçîâàíû êàê àïïàðàòíî, òàê è ïð îãðàììíî: XOR Ñëîæåíèå ïî ìîäóëþ 2 16 Óìíîæåíèå ïî ìîäóëþ 2 16 + 1. (Ýòî îïåðàöèþ ìîæíî ðàññìàòðèâàòü êàê S-áëîê IDEA.) Âñå ýòè îïåðàöèè (à â àëãîðèòìå èñïîëüçóþòñÿ òîëüêî îíè, ïåðåñòàíîâêè íà áèòîâîì óðîâíå íå ïðèìåíÿþ òñÿ) ðàáîòàþò ñ 16-áèòîâûìè ïîäáëîêàìè. Ýòîò àëãîðèòì äàæå ýôôåêòèâíåå íà 16-áèòîâûõ ïðîöåññîðàõ. Îïèñàíèå IDEA Ñõåìà IDEA ïðåäñòàâëåíà íà Ðèñ. 13-9. 64-áèòîâûé áëîê äàííûõ äåëèòñÿ íà ÷åòûðå 16-áèòîâûõ ïîäáëîêà: X1, X2, X3 è X4. Ýòè ÷åòûðå ïîäáëîêà ñòàíîâÿòñÿ âõîäíûìè äàííûìè äëÿ ïåðâîãî ýòàïà àëãîðèòìà. Âñåãî â àëã îðèòìå âîñåìü ýòàïîâ. Íà êàæäîì ýòàïå ÷åòûðå ïîäáëîêà ïîäâåðãàþòñÿ îïåðàöèÿì XOR, ñëîæåíèÿì è óìíîæ åíèÿì äðóã ñ äðóãîì è ñ øåñòüþ 16-áèòîâûìè ïîäêëþ÷àìè. Ìåæäó ýòàïàìè îáìåíèâàþòñÿ ìåñòàìè âòîðîé è òðåòèé ïîäáëîêè. Íàêîíåö ÷åòûðå ïîäáëîêà îáúåäèíÿþòñÿ ñ ÷åòûðüìÿ ïîäêëþ÷àìè â îêîí÷àòåëüíîì ïðåîáðàç îâàíèè. Íà êàæäîì ýòàïå ñîáûòèÿ ïðîèñõîäÿò â ñëåäóþùåé ïîñëåäîâàòåëüíîñòè: (1) Ïåðåìíîæàþòñÿ X1 è ïåðâûé ïîäêëþ÷. (2) Ñêëàäûâàþòñÿ X2 è âòîðîé ïîäêëþ÷. (3) Ñêëàäûâàþòñÿ X3 è òðåòèé ïîäêëþ÷. (4) Ïåðåìíîæàþòñÿ X4 è ÷åòâåðòûé ïîäêëþ÷. (5) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (1) è (3). (6) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (2) è (4). (7) Ïåðåìíîæàþòñÿ ðåçóëüòàòû ýòàïà (5) è ïÿòûé ïîäêëþ÷. (8) Ñêëàäûâàþòñÿ ðåçóëüòàòû ýòàïîâ (6) è (7). (9) Ïåðåìíîæàþòñÿ ðåçóëüòàòû ýòàïà (8) è øåñòîé ïîäêëþ÷. (10) Ñêëàäûâàþòñÿ ðåçóëüòàòû ýòàïîâ (7) è (9). (11) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (1) è (9). (12) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (3) è (9). (13) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (1) è (10). (14) Âûïîëíÿåòñÿ XOR íàä ðåçóëüòàòàìè ýòàïîâ (4) è (10).
X1
X2
X3
Z2(1)
Z1(1)
Z3(1)
îäèí ýòàï
X4 Z4(1)
Z5(1) Z6(1)
åùå ñåìü ýòàï
Z1(
9)
Z2( Y1
9)
Âûõîä
Z3(
Y2
9)
Z4( Y3
9)
Y4
Xi : 16-áèòîâûé ïîäáëîê îòêðûòîãî òåêñòà Yi : 16-áèòîâûé ïîäáëîê øèôðîòåêñòà Zi(r) : 16-áèòîâûé ïîäáëîê êëþ÷à : ïîáèòîâîå "èñêëþ÷àþùåå èëè" (XOR) 16-áèòîâûõ ïîäáëîêîâ : ñëîæåíèå ïî ìîäóëþ 216 16-áèòîâûõ öåëûõ 16 : óìíîæåíèå ïî ìîäóëþ 2 +1 16-áèòîâûõ öåëûõ ïðè óñëîâèè, ÷òî íóëåâîé ïîäáëîê ñîîòâåòñòâóåò 216 Ðèñ. 13-9. IDEA. Âûõîäîì ýòàïà ÿâëÿþòñÿ ÷åòûðå ïîäáëîêà - ðåçóëüòàòû äåéñòâèé (11), (12), (13) è (14). Ïîìåíÿéòå ìåñòàìè äâà âíóòðåííèõ ïîäáëîêà (íî íå â ïîñëåäíåì ýòàïå), è âû ïîëó÷èòå èñõîäíûå äàííûå äëÿ ñëåäóþùåãî ýòàïà. Ïîñëå âîñüìîãî ýòàïà âûïîëíÿåòñÿ çàêëþ÷èòåëüíîå ïðåîáðàçîâàíèå: (1) Ïåðåìíîæàþòñÿ Xl è ïåðâûé ïîäêëþ÷. (2) Ñêëàäûâàþòñÿ X2 è âòîðîé ïîäêëþ÷. (3) Ñêëàäûâàþòñÿ X3 è òðåòèé ïîäêëþ÷. (4) Ïåðåìíîæàþòñÿ X4 è ÷åòâåðòûé ïîäêëþ÷. Íàêîíåö ÷åòûðå ïîäáëîêà ñíîâà ñîåäèíÿþòñÿ, îáðàçóÿ øèôðîòåêñò. Òàêæå íåñëîæíî ñîçäàâàòü ïîäêëþ÷è. Àëãîðèòì èñïîëüçóåò 52 èç íèõ (øåñòü äëÿ êàæäîãî èç âîñüìè ýòàïîâ è åùå ÷åòûðå äëÿ çàêëþ÷èòåëüíîãî ïðåîáðàçîâàíèÿ). Ñíà÷àëà 128-áèòîâûé êëþ÷ äåëèòñÿ íà âîñåìü 16-áèòîâûõ ïîäêëþ÷åé. Ýòî ïåðâûå âîñåìü ïîäêëþ÷åé àëãîðèòìà (øåñòü äëÿ ïåðâîãî ýòàïà è äâà - äëÿ âòîðîãî). Çàòåì êëþ÷ öèêëè÷åñêè ñäâèãàåòñÿ íàëåâî íà 25 áèòîâ è ñíîâà äåëèòñÿ íà âîñåìü ïîäêëþ÷åé. Ïåðâûå ÷åòûðå èñïîëüçóþòñÿ íà ýòàïå 2, à îñòàâøèåñÿ ÷åòûðå - íà ýòàïå 3. Êëþ÷ öèêëè÷åñêè ñäâèãàåòñÿ íàëåâî íà 25 áèòîâ äëÿ ïîëó÷åíèÿ ñëåäóþùèõ âîñüìè ïîäêëþ÷åé, è òàê äî êîíöà àëãîðèòìà. Äåøèôðèðîâàíèå âûïîëíÿåòñÿ òî÷íî òàêæå çà èñêëþ÷åíèåì òîãî, ÷òî ïîäêëþ÷è èíâåðòèðóþòñÿ è ñëåãêà è çìåíÿþòñÿ. Ïîäêëþ÷è ïðè äåøèôðèðîâàíèè ïðåäñòàâëÿþò ñîáîé îáðàòíûå çíà÷åíèÿ êëþ÷åé øèôðîâàíèÿ ïî îòíîøåíèþ ê îïåðàöèÿì ëèáî ñëîæåíèÿ, ëèáî óìíîæåíèÿ. (Äëÿ IDEA ïîäáëîêè, ñîñòîÿùèå èç îäíèõ íóëåé, ñ÷èòàþòñÿ ðàâíûìè 2 16 = -1 äëÿ óìíîæåíèÿ ïî ìîäóëþ 2 16 + 1, ñëåäîâàòåëüíî, îáðàòíûì çíà÷åíèåì 0 îòíîñ èòåëüíî óìíîæåíèÿ ÿâëÿåòñÿ 0.) Ýòè âû÷èñëåíèÿ ìîãóò çàíÿòü íåêîòîðîå âðåìÿ, íî èõ íóæíî âûïîëíèòü îäèí ðàç äëÿ êàæäîãî êëþ÷à äåøèôðèðîâàíèÿ.  Òàáë. 13-4 ïðåäñòàâëåíû ïîäêëþ÷è øèôðîâàíèÿ è ñîîòâåòñòâóþùèå
ïîäêëþ÷è äåøèôðèðîâàíèÿ. Òàáë. 13-4. Ïîäêëþ÷è øèôðîâàíèÿ è äåøèôðèðîâàíèÿ IDEA Ýòàï
Ïîäêëþ÷è øèôðîâàíèÿ
Ïîäêëþ÷è äåøèôðèðîâàíèÿ
1
Z1(1)
Z2(1)
Z3(1)
Z4(1)
Z5(1)
Z6(1)
Z1(9)-1 -Z2(9)
-Z3(9)
Z4(9)-1 Z5(8)
Z6(8)
2
Z1(2)
Z2(2)
Z3(2)
Z4(2)
Z5(2)
Z6(2)
Z1(8)-1 -Z2(8)
-Z3(8)
Z4(8)-1 Z5(7)
Z6(7)
3
Z1(3)
Z2(3)
Z3(3)
Z4(3)
Z5(3)
Z6(3)
Z1(7)-1 -Z2(7)
-Z3(7)
Z4(7)-1 Z5(6)
Z6(6)
4
Z1(4)
Z2(4)
Z3(4)
Z4(4)
Z5(4)
Z6(4)
Z1(6)-1 -Z2(6)
-Z3(6)
Z4(6)-1 Z5(5)
Z6(5)
5
Z1(5)
Z2(5)
Z3(5)
Z4(5)
Z5(5)
Z6(5)
Z1(5)-1 -Z2(5)
-Z3(5)
Z4(5)-1 Z5(4)
Z6(4)
6
Z1(6)
Z2(6)
Z3(6)
Z4(6)
Z5(6)
Z6(6)
Z1(4)-1 -Z2(4)
-Z3(4)
Z4(4)-1 Z5(3)
Z6(3)
7
Z1(7)
Z2(7)
Z3(7)
Z4(7)
Z5(7)
Z6(7)
Z1(3)-1 -Z2(3)
-Z3(3)
Z4(3)-1 Z5(2)
Z6(2)
8
Z1(8)
Z2(8)
Z3(8)
Z4(8)
Z5(8)
Z6(8)
Z1(2)-1 -Z2(2)
-Z3(2)
Z4(2)-1 Z5(1)
Z6(1)
çàêëþ÷èòåëüíîå ïðåîáðàçîâàíèå
Z1(9)
Z2(9)
Z3(9)
Z4(9)
Z1(1)-1 -Z2(1)
-Z3(1)
Z4(1)-1
Ñêîðîñòü IDEA Ñîâðåìåííûå ïðîãðàììíûå ðåàëèçàöèè IDEA ïðèìåðíî â äâà ðàçà áûñòðåå, ÷åì DES. Íà êîìïüþòåðå ñ i386/33 ÌÃö IDEA øèôðóåò äàííûå ñî ñêîðîñòüþ 880 Êáèò/ñ, à íà êîìïüþòåðå ñ i486/33 ÌÃö - ñî ñêîðîñòüþ 2400 Êáèò/ñ. Âû ìîãëè ïîäóìàòü, ÷òî IDEA äîëæåí áûë áûòü ïîáûñòðåå, íî óìíîæåíèÿ - íåäåøåâîå óäîâîëüñ òâèå. Óìíîæåíèå äâóõ 32-áèòîâûõ ÷èñåë íà ïðîöåññîðå i486 çàíèìàåò 40 òàêòîâ (10 íà ïðîöåññîðå Pentium). Ðåàëèçàöèÿ PES íà áàçå ÑÁÈÑ øèôðóåò äàííûå ñî ñêîðîñòüþ 55 Ìáèò/ñ ïðè òàêòîâîé ÷àñòîòå 25 ÌÃö [208,398]. Äðóãàÿ ÑÁÈÑ, ðàçðàáîòàííàÿ ETH Zurich è ñîñòîÿùàÿ èç of 251000 òðàíçèñòîðîâ íà êðèñòàëëå ïë îùàäüþ 107.8 ìì 2, øèôðóåò äàííûå ñ ïîìîùüþ àëãîðèòìà IDEA ñî ñêîðîñòüþ 177 Ìáèò/ñ ïðè òàêòîâîé ÷àñòîòå 25 ÌÃö [926, 207, 397]. Êðèïòîàíàëèç IDEA Äëèíà êëþ÷à IDEA ðàâíà 128 áèòàì - áîëåå ÷åì â äâà ðàçà äëèííåå êëþ÷à DES. Ïðè óñëîâèè, ÷òî íàèáîëåå ýôôåêòèâíûì ÿâëÿåòñÿ âñêðûòèå ãðóáîé ñèëîé, äëÿ âñêðûòèÿ êëþ÷à ïîòðåáóåòñÿ 2 128 (1038) øèôðîâàíèé. Ñîçäàéòå ìèêðîñõåìó, êîòîðàÿ ìîæåò ïðîâåðÿòü ìèëëèàðä êëþ÷åé â ñåêóíäó, îáúåäèíèòå ìèëëèàðä òàêèõ ìèêð îñõåì, è âàì ïîòðåáóåòñÿ 10 13 ëåò äëÿ ðåøåíèÿ ïðîáëåìû - ýòî áîëüøå, ÷åì âîçðàñò âñåëåííîé. 10 24 òàêèõ ìèêðîñõåì ìîãóò íàéòè êëþ÷ çà äåíü, íî âî âñåëåííîé íå íàéäåòñÿ ñòîëüêî àòîìîâ êðåìíèÿ, ÷òîáû ïîñòðîèòü òàêóþ ìàøèíó. Íàêîíåö ìû ÷åãî-òî äîñòèãëè, õîòÿ â íåêîòîðûõ òåìíûõ âîïðîñàõ ÿ ëó÷øå îñòàíóñü ñòîðîííèì íàáë þäàòåëåì. Ìîæåò áûòü âñêðûòèå ãðóáîé ñèëîé - íå ëó÷øèé ñïîñîá âñêðûòèÿ IDEA. Àëãîðèòì âñå åùå ñëèøêîì íîâ, ÷òîáû ìîæíî áûëî ãîâîðèòü î êàêèõ-òî êîíêðåòíûõ êðèïòîãðàôè÷åñêèõ ðåçóëüòàòàõ. Ðàçðàáîò÷èêè ñäåëàëè âñå âîçìîæíîå, ÷òîáû ñäåëàòü àëãîðèòì óñòîé÷èâûì ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Îíè îïðåäåëèëè ïîí ÿòèå ìàðêîâñêîãî øèôðà è ïðîäåìîíñòðèðîâàëè, ÷òî óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó ìîæåò áûòü ïðîìîäåëèðîâàíà è îöåíåíà êîëè÷åñòâåííî [931, 925]. (Äëÿ ñðàâíåíèÿ ñ àëãîðèòìîì IDEA, óñòîé÷èâîñòü êîòîðîãî ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó áûëà óñèëåíà, è êîòîðûé ïîêàçàí íà Ðèñ. 13-9, íà Ðèñ. 13-10 ïðèâåäåí ïåðâîíà÷àëüíûé àëãîðèòì PES. Óäèâèòåëüíî, êàê òàêèå íåçíà÷èòåëüíûå èçìåíåíèÿ ìîãóò ïðèâåñòè ê ñòîëü áîëüøèì ðàçëè÷èÿì.)  [925] Ëàé (Lai) óòâåðæäàë (îí ïðèâåë ïîäòâåðæäåíèå, íî íå äîêàçàòåëüñòâî), ÷òî IDEA óñòîé÷èâ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèç óæå ïîñëå 4 èç 8 ýòàïîâ. Ñîãëàñíî Áèõàìó, åãî ïîïûòêà âñêðûòü IDEA ñ ïîìîùüþ êðèïòîàíàëèçà ñî ñâÿçàííûìè êë þ÷àìè òàêæå íå óâåí÷àëàñü óñïåõîì [160].
X1
X2
X3
Z2(1)
Z1(1)
îäèí ýòàï
Z3(1)
X4 Z4(1)
Z5(1) Z6(1)
åùå ñåìü ýòàï
Z1(
9)
Z2(
9)
Y1
Âûõîä Y2
Z3(
9)
Z4( Y3
9)
Y4
Xi : 16-áèòîâûé ïîäáëîê îòêðûòîãî òåêñòà Yi : 16-áèòîâûé ïîäáëîê øèôðîòåêñòà Zi(r) : 16-áèòîâûé ïîäáëîê êëþ÷à : ïîáèòîâîå "èñêëþ÷àþùåå èëè" (XOR) 16-áèòîâûõ ïîäáëîêîâ : ñëîæåíèå ïî ìîäóëþ 216 16-áèòîâûõ öåëûõ 16 : óìíîæåíèå ïî ìîäóëþ 2 +1 16-áèòîâûõ öåëûõ ïðè óñëîâèè, ÷òî íóëåâîé ïîäáëîê ñîîòâåòñòâóåò 216 Ðèñ. 13-10. PES. Âèëëè Ìàéåð (Willi Meier) èññëåäîâàë òðè àëãåáðàè÷åñêèõ îïåðàöèè IDEA è ïîêàçàë, ÷òî, õîòÿ îíè íåñ îâìåñòèìû, åñòü ñëó÷àè, êîãäà ýòè îïåðàöèè ìîæíî óïðîñòèòü òàê, ÷òîáû â íåêîòîðîé ñòåïåíè îáëåã÷èòü [1050]. Åãî âñêðûòèå 2-ýòàïíîãî IDEA îêàçàëîñü ýôôåêòèâíåå âñêðûòèÿ ãðóáîé ñèëîé (2 42 îïåðàöèé), íî äëÿ IDEA ñ 3 è áîëåå ýòàïàìè ýôôåêòèâíîñòü ýòîãî âñêðûòèÿ áûëà íèæå âñêðûòèÿ ãðóáîé ñèëîé. Áåçîïàñíîñòü ïîëíîãî 8ýòàïíîãî IDEA îñòàëàñü íåïîêîëåáèìîé. Äæîàí Äýéìåí (Joan Daemen) îòêðûëà êëàññ ñëàáûõ êëþ÷åé IDEA [405, 409]. Ýòè êëþ÷è íå ÿâëÿþòñÿ ñë àáûìè â òîì ñìûñëå, â êîòîðîì ñëàáû íåêîòîðûå êëþ÷è DES, äëÿ êîòîðûõ ôóíêöèÿ øèôðîâàíèÿ îáðàòíà ñàìîé ñåáå. Ñëàáîñòü ýòèõ êëþ÷åé ñîñòîèò â òîì, ÷òî âçëîìùèê ìîæåò ëåãêî îïðåäåëèòü èõ ñ ïîìîùüþ âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì. Íàïðèìåð, ñëàáûì ÿâëÿåòñÿ ñëåäóþùèé êëþ÷ (â øåñòíàäöàòèðè÷íîé çàïèñè): 0000,0000,0x00,0000,0000,000x,xxxx,x000  ïîçèöèè "x" ìîæåò ñòîÿòü ëþáàÿ öèôðà. Ïðè èñïîëüçîâàíèè òàêîãî êëþ÷à ïîáèòîâîå XOR îïðåäåëåííûõ ïàð îòêðûòûõ òåêñòîâ ðàâíî ïîáèòîâîìó XOR ïîëó÷èâøèõñÿ ïàð øèôðîòåêñòîâ.  ëþáîì ñëó÷àå âåðîÿòíîñòü ñëó÷àéíîé ãåíåðàöèè îäíîãî èç òàêèõ ñëàáûõ êëþ÷åé î÷åíü ìàëà: 1/2 96. Îïàñíîñòü ñëó÷àéíî âûáðàòü òàêîé êëþ÷ ïðàêòè÷åñêè íå ñóùåñòâóåò. Ê òîìó æå, íåñëîæíî ìîäèôèöèðîâàòü IDEA òàê, ÷òîáû èñêëþ÷èòü íàëè÷èå ñëàáûõ êëþ÷åé - äîñòàòî÷íî âûïîëíèòü XOR êàæäîãî ïîäêëþ÷à ñ ÷èñëîì 0x0dae [409]. Õîòÿ ïîïûòîê âûïîëíèòü êðèïòîàíàëèç IDEA áûëî ìíîãî, ìíå íåèçâåñòíî íè îá îäíîé óñïåøíîé. Ðåæèìû ðàáîòû è âàðèàíòû IDEA IDEA ìîæåò ðàáîòàòü â ëþáîì èç ðåæèìîâ ðàáîòû áëî÷íîãî øèôðà, îïèñàííûõ â ãëàâå 9. Ïðîòèâ äâîéíûõ ðåàëèçàöèé IDEA ìîæåò áûòü ïðåäïðèíÿòî òî æå âñêðûòèå "âñòðå÷à ïîñåðåäèíå", ÷òî è ïðîòèâ DES (ñì. ðàçäåë
15.1). Îäíàêî, òàê êàê êëþ÷ IDEA áîëåå ÷åì â äâà ðàçà äëèííåå êëþ÷à DES, ýòî âñêðûòèå íåïðàêòè÷íî. Îáúåì íóæíîé äëÿ òàêîãî âñêðûòèÿ ïàìÿòè ñîñòàâèò 64*2 128 áèòîâ, èëè 10 39 áàéòîâ. Ìîæåò áûòü âî âñåëåííîé è äîñò àòî÷íî ìàòåðèè, ÷òîáû ïîñòðîèòü òàêîå õðàíèëèùå, íî ÿ â ýòîì ñîìíåâàþñü. Åñëè âû ó÷èòûâàåòå âîçìîæíîñòü èñïîëüçîâàíèÿ ïàðàëëåëüíîé âñåëåííîé, èñïîëüçóéòå óòðîåííóþ ðåàëèç àöèþ IDEA (ñì. ðàçäåë 15.2):
C = E K3 ( DK2 ( E K1 ( P))) Òàêàÿ ðåàëèçàöèÿ óñòîé÷èâà ïðîòèâ âñêðûòèÿ "âñòðå÷à ïîñåðåäèíå". Êðîìå òîãî, ïî÷åìó áû âàì íå ðåàëèçîâàòü IDEA íåçàâèñèìûìè ïîäêëþ÷àìè, îñîáåííî åñëè âàøè ñðåäñòâà ðàñïðåäåëåíèÿ êëþ÷åé ïîçâîëÿþò ðàáîòàòü ñ äëèííûìè êëþ÷àìè. Äëÿ IDEA íóæíî âñåãî 52 16-áèòîâûõ êëþ÷à, îáùåé äëèíîé 832 áèòîâ. Ýòîò âàðèàíò îïðåäåëåííî áåçîïàñíåé, íî íèêòî íå ñìîæåò ñêàçàòü íàñêîëüêî.  íàèâíîé ìîäèôèêàöèè ìîæåò áûòü óâåëè÷åí âäâîå ðàçìåð áëîêà. Àëãîðèòì òàêæå ïðåêðàñíî ðàáîòàë áû ñ 32-áèòîâûìè ïîäáëîêàìè âìåñòî 16-áèòîâûõ è ñ 256-áèòîâûì êëþ÷îì. Øèôðîâàíèå âûïîëíÿëîñü áû áûñòðåå, è áåçîïàñíîñòü âîçðîñëà áû â 2 32 ðàçà. Èëè íåò? Òåîðèÿ, íà êîòîðîé îñíîâàí àëãîðèòì, îïèðàåòñÿ íà òî, ÷òî 216+1 ÿâëÿåòñÿ ïðîñòûì ÷èñëîì. À 2 32 + 1 ïðîñòûì ÷èñëîì íå ÿâëÿåòñÿ. Ìîæåò áûòü àëãîðèòì è ìîæíî èçì åíèòü òàê, ÷òîáû îí ðàáîòàë, íî åãî áåçîïàñíîñòü áóäåò ñîâñåì èíîé. Ëàé ãîâîðèò, ÷òî çàñòàâèòü ðàáîòàòü òàêîé àëãîðèòì áóäåò íåëåãêî [926]. Õîòÿ IDEA êàæåòñÿ íàìíîãî áåçîïàñíåå DES, íå âñåãäà ìîæíî ëåãêî çàìåíèòü îäèí àëãîðèòì äðóãèì â ñ óùåñòâóþùåì ïðèëîæåíèè. Åñëè âàøà áàçà äàííûõ è øàáëîíû ñîîáùåíèé ìîãóò ðàáîòàòü ñ 64-áèòîâûì êë þ÷îì, ðåàëèçàöèÿ 128-áèòîâîãî êëþ÷à IDEA ìîæåò áûòü âîçìîæíîé. Äëÿ òàêèõ ïðèëîæåíèé ñîçäàéòå 128-áèòîâûé êëþ÷, îáúåäèíèâ 64-áèòîâûé êëþ÷ ñàì ñ ñîáîé. Íå çàáûâàéòå, ÷òî ýòà ìîäèôèêàöèÿ çàìåòíî îñëàáëÿåò IDEA. Åñëè âàñ áîëüøå âîëíóåò ñêîðîñòü ðàáîòû, à íå áåçîïàñíîñòü, ïîïðîáóéòå âàðèàíò IDEA ñ ìåíüøèì ÷èñëîì ýòàïîâ. Ñåãîäíÿ ëó÷øåå âñêðûòèå IDEA áûñòðåå âñêðûòèÿ ãðóáîé ñèëîé òîëüêî äëÿ 2.5 è ìåíåå ýòàïîâ [1050], 4-ýòàïíûé IDEA áóäåò â äâà ðàçà áûñòðåå è, íàñêîëüêî ìíå èçâåñòíî, åãî áåçîïàñíîñòü íå óìåíüøèòñÿ. Caveat Emptor1 IDEA - ýòî îòíîñèòåëüíî íîâûé àëãîðèòì, ìíîãèå âîïðîñû ïîêà îñòàþòñÿ îòêðûòûìè. Îáðàçóåò ëè IDEA ãðóïïó? (Ëàé äóìàåò, ÷òî íåò [926].) Íå ñóùåñòâóåò ëè ïîêà íå îòêðûòûõ ñïîñîáîâ âñêðûòèÿ ýòîãî øèôðà? Ó IDEA òâåðäàÿ òåîðåòè÷åñêàÿ îñíîâà, íî ñíîâà è ñíîâà êàçàâøèåñÿ áåçîïàñíûìè àëãîðèòìû êàïèòóëèðóþò ïåðåä íîâûìè ôîðìàìè êðèïòîàíàëèçà. Ðÿä ãðóïï àêàäåìè÷åñêèõ è âîåííûõ èññëåäîâàòåëåé íå îïóáëèêîâàëè ñâîè ðåçóëüòàòû êðèïòîàíàëèçà IDEA. Âîçìîæíî, êòî-íèáóäü óæå äîáèëñÿ èëè êîãäà-íèáóäü äîáüåòñÿ óñïåõà. Ïàòåíòû è ëèöåíçèè IDEA çàïàòåíòîâàí â Åâðîïå è Ñîåäèíåííûõ Øòàòàõ [1012, 1013]. Ïàòåíò ïðèíàäëåæèò Ascom-Tech AG. Äëÿ íåêîììåð÷åñêîãî èñïîëüçîâàíèÿ ëèöåíçèðîâàíèå íå íóæíî. Ïðè çàèíòåðåñîâàííîñòè â ëèöåíçèè äëÿ êî ììåð÷åñêîãî ïðèìåíåíèÿ àëãîðèòìà ñëåäóåò îáðàòèòüñÿ ïî àäðåñó Ascom Systec AG, Dept CMVV, Cewerbepark, CH-5506, Mgenwil, Switzerland; +41 64 56 59 83; Fax: +41 64 56 59 90;
[email protected].
13.10 MMB Íåäîâîëüñòâî èñïîëüçîâàíèåì â IDEA 64-áèòîâîãî áëîêà øèôðîâàíèÿ ïðèâåëî ê ñîçäàíèþ Äæîíîì Äýéì îíîì àëãîðèòìà ïîä íàçâàíèåì MMB (Modular Multiplication-based Block cipher, ìîäóëüíûé áëî÷íûé øèôð, è ñïîëüçóþùèé óìíîæåíèÿ) [385, 405, 406].  îñíîâå MMB ëåæèò òåîðèÿ, èñïîëüçóåìàÿ è â IDEA: ïåðåìåøèâà þùèå îïåðàöèè èç ðàçëè÷íûõ ãðóïï. MMB - ýòî èòåðàòèâíûé àëãîðèòì, ãëàâíûì îáðàçîì ñîñòîÿùèé èç ëèíå éíûõ äåéñòâèé (XOR è èñïîëüçîâàíèå êëþ÷à) è ïàðàëëåëüíîå èñïîëüçîâàíèå ÷åòûðåõ áîëüøèõ íåëèíåéíûõ è çìåíÿþùèõ îáû÷íûé ïîðÿäîê ïîäñòàíîâîê. Ýòè ïîäñòàíîâêè îïðåäåëÿþòñÿ ñ ïîìîùüþ óìíîæåíèÿ ïî ìîäóëþ 232-1 ñ ïîñòîÿííûìè ìíîæèòåëÿìè. Ðåçóëüòàòîì ïðèìåíåíèÿ ýòèõ äåéñòâèé ÿâëÿåòñÿ àëãîðèòì, èñïîëüçóþùèé è 128-áèòîâûé êëþ÷ è 128-áèòîâûé áëîê. MMB îïåðèðóåò 32-áèòîâûìè ïîäáëîêàìè òåêñòà ( x0, x1, x2, x3) è 32-áèòîâûìè ïîäáëîêàìè êëþ÷à ( k0, k1, k2, k3). Ýòî äåëàåò óäîáíûì ðåàëèçàöèþ àëãîðèòìà íà ñîâðåìåííûõ 32-áèòîâûõ ïðîöåññîðàõ. ×åðåäóÿñü ñ XOR, øåñòü ðàç èñïîëüçóåòñÿ íåëèíåéíàÿ ôóíêöèÿ f. Âîò ýòîò àëãîðèòì (âñå îïåðàöèè ñ èíäåêñàìè âûïîëíÿþòñÿ ïî ìîäóëþ 3): xi = xi ⊕ ki , äëÿ i = 0 äî 3 1
Ïðåäóïðåæäåíèå ïîêóïàòåëþ
f(x0, x1, x2, x3) xi = xi ⊕ ki+1, äëÿ i = 0 äî 3 f(x0, x1, x2, x3) xi = xi ⊕ ki+2, äëÿ i = 0 äî 3 f(x0, x1, x2, x3) xi = xi ⊕ ki , äëÿ i = 0 äî 3 f(x0, x1, x2, x3) xi = xi ⊕ ki+1, äëÿ i = 0 äî 3 f(x0, x1, x2, x3) xi = xi ⊕ ki+2, äëÿ i = 0 äî 3 f(x0, x1, x2, x3) Ó ôóíêöèè f òðè ýòàïà: (1) x1 = ci * xi , äëÿ i = 0 äî 3 (Åñëè íà âõîäå óìíîæåíèÿ îäíè åäèíèöû, òî íà âûõîäå - òîæå îäíè åäèíèöû.) (2) Åñëè ìëàäøèé çíà÷àùèé áèò x0 = 1, òî x0 = x0 ⊕ C. Åñëè ìëàäøèé çíà÷àùèé áèò x3 = 0, òî x3 = x3 ⊕ C. (3) xi = xi-1 ⊕ xi ⊕ xi+1, äëÿ i = 0 äî 3 Âñå îïåðàöèè ñ èíäåêñàìè âûïîëíÿþòñÿ ïî ìîäóëþ 3. Îïåðàöèÿ óìíîæåíèÿ íà ýòàïå (1) âûïîëíÿåòñÿ ïî ì îäóëþ 232-1.  äàííîì àëãîðèòìå åñëè âòîðîé îïåðàíä - ýòî 2 32-1, òî ðåçóëüòàò òàêæå ðàâåí 2 32-1.  àëãîðèòìå èñïîëüçóþòñÿ ñëåäóþùèå êîíñòàíòû: C = 2aaaaaaa c0 = 025f1cdb cl = 2 * c0 c2= 23 * c0 c3 = 27 * c0 Êîíñòàíòà C - ýòî "ïðîñòåéøàÿ" êîíñòàíòà ñ âûñîêèì òðîè÷íûì âåñîì, íóëåâûì ìëàäøèì çíà÷àùèì áèòîì è áåç êðóãîâîé ñèììåòðèè. Ó êîíñòàíòû c0 íåñêîëüêî èíûå õàðàêòåðèñòèêè. Êîíñòàíòû c l, c2 è c3 ÿâëÿþòñÿ ñìåùåííûìè âåðñèÿìè c 0, è èñïîëüçóþòñÿ äëÿ ïðåäîòâðàùåíèÿ âñêðûòèé îñíîâàííûõ íà ñèììåòðèè. Ïîäðîáíîñòè ìîæíî íàéòè â [405]. Äåøèôðèðîâàíèå ÿâëÿåòñÿ îáðàòíûì ïðîöåññîì. Ýòàïû (2) è (3) çàìåíÿþòñÿ íà ñâîþ èíâåðñèþ. Íà ýòàïå (1) âìåñòî ci -1 èñïîëüçóåòñÿ c i . ci -1 = 0dad4694. Áåçîïàñíîñòü MMB Ñõåìà MMB îáåñïå÷èâàåò íà êàæäîì ýòàïå çíà÷èòåëüíîå è íåçàâèñèìîå îò êëþ÷à ðàññåÿíèå.  IDEA ðà ññåÿíèå äî îïðåäåëåííîé ñòåïåíè çàâèñèò îò êîíêðåòíûõ ïîäêëþ÷åé.  îòëè÷èå îò IDEA ó MMB íåò ñëàáûõ êëþ÷åé. Ê ñîæàëåíèþ MMB - ýòî óìåðøèé àëãîðèòì [402]. Ýòî óòâåðæäåíèå ñïðàâåäëèâî ïî ìíîãèì ïðè÷èíàì, õîòÿ êðèïòîàíàëèç MMB è íå áûë îïóáëèêîâàí. Âî ïåðâûõ, îí ïðîåêòèðîâàëñÿ áåç ó÷åòà òðåáîâàíèé óñòîé÷èâîñòè ê ëèíåéíîìó êðèïòîàíàëèçó. Âûáîð ìóëüòèïëèêàòèâíûõ ìíîæèòåëåé îáåñïå÷èë óñòîé÷èâîñòü ê äèôôåðåíöèàë üíîìó êðèïòîàíàëèçó, íî î ëèíåéíîì êðèïòîàíàëèçå àâòîðàì àëãîðèòìà áûëî åùå íåèçâåñòíî. Âî âòîðûõ, Ýëè Áèõàì ðåàëèçîâàë ýôôåêòèâíîå âñêðûòèå ñ âûáðàííûì êëþ÷îì [160], èñïîëüçóþùååå òîò ôàêò, ÷òî âñå ýòàïû èäåíòè÷íû, à êëþ÷ ïðè èñïîëüçîâàíèè ïðîñòî öèêëè÷åñêè ñäâèãàåòñÿ íà 32 áèòà.  òðåòüèõ, íåñìîòðÿ íà òî, ÷òî ïðîãðàììíûå ðåàëèçàöèè MMB áûëè áû î÷åíü ýôôåêòèâíû, â àïïàðàòíîì èñïîëíåíèè à ëãîðèòì ìåíåå ýôôåêòèâåí, ÷åì DES. Äýéìîí ïðåäëàãàåò, ÷òî òîò, êòî çàõî÷åò óëó÷øèòü MMB, äîëæåí ñíà÷àëà ïðîàíàëèçèðîâàòü óìíîæåíèå ïî ìîäóëþ ñ ïîìîùüþ ëèíåéíîãî êðèïòîàíàëèçà è ïîäîáðàòü íîâûé ìíîæèòåëü, à çàòåì ñäåëàòü êîíñòàíòó C ðà çëè÷íîé äëÿ êàæäîãî ýòàïà [402]. Çàòåì, óëó÷øèâ èñïîëüçîâàíèå êëþ÷à, äîáàâëÿÿ ê êëþ÷àì ýòàïîâ êîíñòàíòû ñ öåëüþ óñòðàíåíèÿ ñìåùåíèÿ. Íî ñàì íå ñòàë çàíèìàòüñÿ ýòèì è ðàçðàáîòàë 3-Way (ñì. ðàçäåë 14.5).
13.11 CA-1.1 CA - ýòî áëî÷íûé øèôð, îñíîâàííûé íà êëåòî÷íûõ àâòîìàòàõ è ðàçðàáîòàííûé Ãîâàðäîì Ãóòîâèöîì (Howard Gutowitz) [677, 678, 679]. Îí øèôðóåò 384-áèòîâûå áëîêè îòêðûòîãî òåêñòà 1088-áèòîâûì êëþ÷îì (íà ñàìîì äåëå èñïîëüçóåòñÿ äâà êëþ÷à - 1024-áèòîâûé è 64- áèòîâûé). Èç-çà ïðèðîäû êëåòî÷íûõ àâòîìàòîâ àëã îðèòì íàèáîëåå ýôôåêòèâåí ïðè ðåàëèçàöèè â áîëüøèõ ïàðàëëåëüíûõ èíòåãðèðîâàííûõ ñõåìàõ. CA-1.1 èñïîëüçóåò êàê îáðàòèìûå, òàê è íåîáðàòèìûå ïðàâèëà êëåòî÷íîãî àâòîìàòà. Ïðè îáðàòèìîì ïðàâ èëå êàæäîå ñîñòîÿíèå ñòðóêòóðû ïîëó÷àåòñÿ èç åäèíñòâåííîãî ïðåäøåñòâóþùåãî ñîñòîÿíèÿ, à ïðè íåîáðàòèìîì ïðàâèëå ó êàæäîãî ñîñòîÿíèÿ ìîæåò áûòü íåñêîëüêî ïðåäøåñòâåííèêîâ. Ïðè øèôðîâàíèè íåîáðàòèìûå ïðàâèëà ïîøàãîâî îáðàùàþòñÿ âî âðåìåíè. Äëÿ ïðîäâèæåíèÿ îáðàòíî îò òåêóùåãî ñîñòîÿíèÿ ñëó÷àéíûì îáðàçîì äîë æíî âûáèðàòüñÿ îäíî èç ñîñòîÿíèé-ïðåäøåñòâåííèêîâ. Ýòîò ïðîöåññ ìíîãîêðàòíî ïîâòîðÿåòñÿ. Òàêèì îáðàçîì, îáðàòíàÿ èòåðàöèÿ ñëóæèò äëÿ ñìåøèâàíèÿ ñëó÷àéíîé èíôîðìàöèè ñ èíôîðàìàöèåé ñîîáùåíèÿ. CA-1.1 èñïîë üçóåò îñîáûé ñîðò ÷àñòè÷íî ëèíåéíîãî íåîáðàòèìîãî ïðàâèëà, òàêîãî, ÷òî äëÿ ëþáîãî äàííîãî ñîñòîÿíèÿ ìîæåò áûòü áûñòðî ïîñòðîåíî ñëó÷àéíîå ñîñòîÿíèå-ïðåäøåñòâåííèê. Íà íåêîòîðûõ ñòàäèÿõ øèôðîâàíèÿ èñïîëüçóþòñÿ è îáðàòèìûå ïðàâèëà. Îáðàòèìûå ïðàâèëà (ïðîñòûå ïàðàëëåëüíûå ïåðåñòàíîâêè ïîäáëîêîâ ñîñòîÿíèÿ) íåëèíåéíû. Íåîáðàòèìûå ïðàâèëà ïîëíîñòüþ îïðåäåëÿþòñÿ êëþ÷îì, à îáðàòèìûå çàâèñÿò êàê îò êëþ÷à, òàê è îò ñëó÷àéíîé èíôîðìàöèè, âñòàâëåííîé â õîäå øèôðîâàíèÿ íåîáðàòèìûìè ïðàâèëàìè. CA-1.1 îñíîâàí íà ñòðóêòóðå áëî÷íûõ ñâÿçåé. Òî åñòü, îáðàáîòêà áëîêà ñîîáùåíèÿ ÷àñòè÷íî îòäåëåíà îò î áðàáîòêè ïîòîêà ñëó÷àéíîé èíôîðìàöèè, âñòàâëåííîé ïðè øèôðîâàíèè. Ýòà ñëó÷àéíàÿ èíôîðìàöèÿ ñëóæèò äëÿ ñâÿçè äðóã ñ äðóãîì ñòàäèé øèôðîâàíèÿ. Îíà òàêæå ìîæåò áûòü èñïîëüçîâàíà äëÿ ñâÿçè ñ ïîòîêîì øèôðîòå êñòà. Èíôîðìàöèÿ ñâÿçè ãåíåðèðóåòñÿ êàê ÷àñòü øèôðîâàíèÿ. Òàê êàê CA-1.1 ïðåäñòàâëÿåò ñîáîé íîâûé àëãîðèòì, ñëèøêîì ðàíî äåëàòü êàêèå-ëèáî çàÿâëåíèÿ î åãî áåç îïàñíîñòè. Ãóòîâèö óïîìèíàåò íåêîòîðûå âîçìîæíûå âñêðûòèÿ, âêëþ÷àÿ äèôôåðåíöèàëüíûé êðèïòîàíàëèç, íî åìó íå óäàëîñü âñêðûòü àëãîðèòì.  êà÷åñòâå ñòèìóëà Ãóòîâèö ïðåäëîæèë íàãðàäó â 1000 äîëëàðîâ äëÿ "ïåðâîãî ÷åëîâåêà, êîòîðûé ðàçðàáîòàåò äîñòóïíóþ ïðîöåäóðó âñêðûòèÿ CA-1.1." CA-l.1 çàïàòåíòîâàí [678], íî äîñòóïåí äëÿ íåêîììåð÷åñêîãî èñïîëüçîâàíèÿ. Ïðè íåîáõîäèìîñòè ïîëó÷èòü ëèöåíçèþ íà àëãîðèòì èëè îáúÿâëåííóþ íàãðàäó çà êðèïòîàíàëèç îáðàùàéòåñü ê Ãîâàðäó Ãóòîâèöó ïî àäðåñó Howard Cutowitz, ESPCI, Laboratorie d'Electronique, 10 rue Vauquelin, 75005 Paris, France.
13.12 SKIPJACK Skipjack ðàçðàáîòàí NSA â êà÷åñòâå àëãîðèòìà øèôðîâàíèÿ äëÿ ìèêðîñõåì Clipper è Capstone (ñì. ðàçäåëû 24.16 è 24.17). Òàê êàê ýòîò àëãîðèòì îáúÿâëåí ñåêðåòíûì, åãî ïîäðîáíîñòè íèêîãäà íå ïóáëèêîâàëèñü. Îí á óäåò ðåàëèçîâàí òîëüêî êàê çàùèùåííàÿ îò âçëîìà àïïàðàòóðà. Ýòîò àëãîðèòì îáúÿâëåí ñåêðåòíûì íå ïîòîìó, ÷òî ýòî ïîâûøàåò åãî íàäåæíîñòü, à ïîòîìó ÷òî NSA íå õ î÷åò, ÷òîáû Skipjack èñïîëüçîâàëñÿ áåç ìåõàíèçìà óñëîâíîãî âðó÷åíèÿ êëþ÷åé Clipper. Àãåíòñòâî íå õî÷åò, ÷ò îáû ïðîãðàììíûå ðåàëèçàöèè àëãîðèòìà ðàñïðîñòðàíèëèñü ïî âñåìó ìèðó. Áåçîïàñåí ëè Skipjack? Åñëè NSA çàõî÷åò ñîçäàòü áåçîïàñíûé àëãîðèòì, îíî, ñêîðåå âñåãî, ýòî ñäåëàåò. Ñ äðóãîé ñòîðîíû, åñëè NSA çàõî÷åò ñîçäàòü àëãîðèòì ñ ëàçåéêîé, òî îíî ñìîæåò ñäåëàòü è ýòî. Âîò ÷òî áûëî îïóáëèêîâàíî [1154, 462]. Ýòî èòåðàòèâíûé áëî÷íûé øèôð. Ðàçìåð áëîêà - 64 áèòà. Àëãîðèòì èñïîëüçóåò 80-áèòîâûé êëþ÷. Îí ìîæåò áûòü èñïîëüçîâàí â ðåæèìàõ ECB, CBC, 64-áèòîâûé OFB, ëèáî 1-, 8-, 16-, 32- èëè 64-áèòîâûé CFB. Îïåðàöèÿ øèôðîâàíèÿ èëè äåøèôðèðîâàíèÿ ñîñòîèò èç 32 ýòàïîâ. NSA íà÷àëî ðàáîòó íàä íèì â 1985 è çàâåðøèëî ïðîâåðêó â 1990.  äîêóìåíòàöèè íà ìèêðîñõåìó Mykotronx Clipper óòâåðæäàåòñÿ, ÷òî çàäåðæêà â âûäà÷å ðåçóëüòàòà, ïðèñ óùàÿ àëãîðèòìó Skipjack, ñîñòàâëÿåò 64 òàêòà. Ýòî îçíà÷àåò, ÷òî íà êàæäûé ýòàï ïðèõîäèòñÿ äâà òàêòà: îäèí ïðåäïîëîæèòåëüíî äëÿ ïîäñòàíîâêè ñ ïîìîùüþ S-áëîêà, à äðóãîé - äëÿ çàêëþ÷èòåëüíîãî XOR â êîíöå êàæäîãî ýòàïà. (Íå çàáûâàéòå, ïåðåñòàíîâêè ïðè àïïàðàòíûõ ðåàëèçàöèÿõ íå çàíèìàþò âðåìåíè.)  äîêóìåíòàöèè Mykotronx ýòà äâóõòàêòíàÿ îïåðàöèÿ íàçûâàåòñÿ "G-áëîêîì", à âñå âìåñòå - "ñäâèãîì". (×àñòü G-áëîêà íîñèò íàçâàíèå "F-òàáëèöû" è ÿâëÿåòñÿ òàáëèöåé êîíñòàíò, à ìîæåò áûòü òàáëèöåé ôóíêöèé.) Ïî îäíèì ñëóõàì Skipjack èñïîëüçóåò 16 S-áëîêîâ, à ïî äðóãèì äëÿ õðàíåíèÿ S-áëîêîâ íóæíî âñåãî 128 áàéò
ïàìÿòè. Íåïîõîæå, ÷òîáû îáà ýòèõ ñëóõà áûëè ïðàâäîé. Åùå îäèí ñëóõ óòâåðæäàåò, ÷òî ýòàïû Skipjack, â îòëè÷èå îò DES, ðàáîòàþò íå ñ ïîëîâèíîé áëîêà. Ýòî âì åñòå ñ çàìå÷àíèåì î "ñäâèãàõ" è ñëó÷àéíîì çàÿâëåíèè íà Crypto '94 î òîì, ÷òî â Skipjack ïðèìåíÿåòñÿ "48áèòîâàÿ âíóòðåííÿÿ ñòðóêòóðà", ïîçâîëÿåò ñäåëàòü âûâîä, ÷òî àëãîðèòì ïî ñâîåé ñõåìå ïîõîæ íà SHA (ñì. ðà çäåë 18.7), íî èñïîëüçóåò ÷åòûðå 16-áèòîâûõ ïîäáëîêà. Òðè ïîäáëîêà, îáðàáîòàííûå çàâèñÿùåé îò êëþ÷à îäí îíàïðàâëåííîé ôóíêöèåé, äàþò 16 áèòîâ, êîòîðûå ïîäâåðãàþòñÿ îïåðàöèè XOR ñ îñòàâøèìñÿ ïîäáëîêîì. Çàòåì âåñü áëîê öèêëè÷åñêè ñäâèãàåòñÿ íà 16 áèòîâ è ïîñòóïàåò íà âõîä ñëåäóþùåãî ýòàïà, èëè ñäâèãà. Ïðè ýòîì òà êæå èñïîëüçóþòñÿ 128 áàéòîâ äàííûõ S-áëîêà. ß ïîäîçðåâàþ, ÷òî S-áëîêè çàâèñÿò îò êëþ÷à. Ïî ñâîåé ñòðóêòóðå Skipjack âåðîÿòíî ïîõîæ íà DES. NSA ïîíèìàåò, ÷òî åãî çàùèùåííàÿ îò âçëîìà àïïàð àòóðà â êîíöå êîíöîâ áóäåò âñêðûòà è èññëåäîâàíà, îíè íå áóäóò ðèñêîâàòü íèêàêèìè ïåðåäîâûìè êðèïòîãðàô è÷åñêèìè ìåòîäàìè. Òî, ÷òî NSA ïëàíèðóåò èñïîëüçîâàòü àëãîðèòì Skipjack äëÿ øèôðîâàíèÿ ñâîåé Ñèñòåìû çàùèòû ñîîáùåíèé (Defense Messaging System, DMS), ñâèäåòåëüñòâóåò î áåçîïàñíîñòè àëãîðèòìà. ×òîáû óáåäèòü ñêåïòèêîâ, NIST ðàçðåøèë êîìèññèè "óâàæàåìûõ íåïðàâèòåëüñòâåííûõ ýêñïåðòîâ . . . ïîëó÷èòü äîñòóï ê êîíôèäåíöèàëüíûì ïîäðîáíîñòÿì àëãîðèòìà, ÷òîáû îíè èññëåäîâàëè åãî âîçìîæíîñòè è îïóáëèêîâàëè ðåçóëüòàòû ñâîèõ èññëåä îâàíèé " [812].  ïðåäâàðèòåëüíîì îò÷åòå ýòîé êîìèññèè ýêñïåðòîâ [262] (îêîí÷àòåëüíîãî îò÷åòà íå áûëî, è âîçìîæíî íèê îãäà íå áóäåò) ñîîáùàëîñü: Ïðèíèìàÿ âî âíèìàíèå, ÷òî ñòîèìîñòü âû÷èñëèòåëüíûõ ìîùíîñòåé óìåíüøàåòñÿ â äâà ðàçà êàæäûå 18 ìåñÿöåâ, ñëî æíîñòü âñêðûòèÿ Skipjack ñðàâíÿåòñÿ ñ ñåãîäíÿøíåé ñëîæíîñòüþ âñêðûòèÿ DES òîëüêî ÷åðåç 36 ëåò. Ñëåäîâàòåëüíî, ðèñê, ÷òî Skipjack áóäåò âçëîìàí â áëèæàéøèå 30-40 ëåò, íåçíà÷èòåëåí. Íåçíà÷èòåëåí è ðèñê âçëîìà Skipjack ñ ïîìîùüþ áîëåå áûñòðûõ ñïîñîáîâ âñêðûòèÿ, âêëþ÷àÿ äèôôåðåíöèàëüíûé êðè ïòîàíàëèç. Ó àëãîðèòìà íå ñëàáûõ êëþ÷åé, îòñóòñòâóåò è ñâîéñòâî êîìïëèìåíòàðíîñòè. Ýêñïåðòû â îòñóòñòâèå âðåìåíè äëÿ ñàìîñòîÿòåëüíîãî áîëüøîãî èññëåäîâàíèÿ àëãîðèòìà èçó÷èëè ïðåäñòàâëåííîå NSA îïèñàíèå ðàçðàáîòêè è ïðîâåðêè àëã îðèòìà Óñòîé÷èâîñòü Skipjack ê êðèïòîàíàëèçó íå çàâèñèò îò õðàíåíèÿ â òàéíå ñàìîãî àëãîðèòìà.
Èòàê, ó÷àñòíèêè äèñêóññèè íå ñìîãëè ïîðàáîòàòü ñ àëãîðèòìîì äîñòàòî÷íî äîëãî, ÷òîáû ïðèéòè ê êàêèìíèáóäü âûâîäàì ñàìîñòîÿòåëüíî. Âñå, ÷òî îíè ñìîãëè ñäåëàòü - ýòî âçãëÿíóòü íà ðåçóëüòàòû, ïîêàçàííûå èì NSA. Îñòàëñÿ áåç îòâåòà âîïðîñ, ÿâëÿåòñÿ ëè ïëîñêèì ïðîñòðàíñòâî êëþ÷åé Skipjack (ñì. ðàçäåë 8.2). Äàæå åñëè ó Skipjack íåò êëþ÷åé, ñëàáûõ â ñìûñëå DES, ðÿä îñîáåííîñòåé ïðîöåññà èñïîëüçîâàíèÿ êëþ÷à ìîæåò ñäåëàòü îäíè êëþ÷è ñèëüíåå äðóãèõ. Ó Skipjack ìîæåò áûòü 2 70 ñèëüíûõ êëþ÷åé, ãîðàçäî áîëüøå ÷åì ó DES, âåðîÿ òíîñòü ñëó÷àéíî âûáðàòü îäèí èç ýòèõ ñèëüíûõ êëþ÷åé áóäåò ïðèáëèçèòåëüíî 1 ê 1000. Ëè÷íî ÿ äóìàþ, ÷òî ïð îñòðàíñòâî êëþ÷åé Skipjack - ïëîñêîå, íî òî, ÷òî îá ýòîì íèêòî íå çàÿâèë ïóáëè÷íî, âûçûâàåò òðåâîãó. Skipjack çàïàòåíòîâàí, íî â ñîîòâåòñòâèè ñ ñîãëàøåíèåì î ñåêðåòíîñòè ïàòåíòà [1122] ýòîò ïàòåíò õðàíèòñÿ â òàéíå. Ïàòåíò áóäåò îïóáëèêîâàí òîãäà è òîëüêî òîãäà, êîãäà àëãîðèòì Skipjack áóäåò óñïåøíî âîññòàíîâëåí êåì-òî ïîñòîðîííèì. Ýòî äàåò âîçìîæíîñòü ïðàâèòåëüñòâó âîñïîëüçîâàòüñÿ è ïðåèìóùåñòâîì çàùèòû ïàòåíòîì, è ïðåèìóùåñòâîì êîíôåäåíöèàëüíîñòè òîðãîâîãî ñåêðåòà.
Ãëàâà 14 È åùå î áëî÷íûõ øèôðàõ 14.1 ÃÎÑÒ ÃÎÑÒ - ýòî áëî÷íûé àëãîðèòì, ðàçðàáîòàííûé â áûâøåì Ñîâåòñêîì Ñîþçå [655, 1393]. Íàçâàíèå "ÃÎÑÒ" ÿâëÿåòñÿ ñîêðàùåíèåì îò "Ãîñóäàðñòâåííûé ñòàíäàðò", íå÷òî ïîõîæåå íà FIPS çà èñêëþ÷åíèåì òîãî, ÷òî ýòî íàçâàíèå ìîãóò íîñèòü ñòàíäàðòû ïðàêòè÷åñêè ëþáîãî òèïà. (Ïîëíûì íàçâàíèåì ÿâëÿåòñÿ "Ãîñóäàðñòâåííûé ñòàíäàðò Ñîþçà ÑÑÐ", èëè "Ãîñóäàðñòâåííûé ñòàíäàðò Ñîþçà Ñîâåòñêèõ Ñîöèàëèñòè÷åñêèõ Ðåñïóáëèê".) Í îìåð äàííîãî ñòàíäàðòà - 28147-89. Âñå ýòè ñòàíäàðòû óòâåðæäàþòñÿ Ãîñóäàðñòâåííûì êîìèòåòîì ïî ñòàíäàðòàì Ñîþçà ÑÑÐ. ß íå çíàþ, èñïîëüçîâàëñÿ ëè ÃÎÑÒ 28147-89 äëÿ çàñåêðå÷åííîãî òðàôèêà èëè òîëüêî äëÿ ãðàæäàíñêîãî øèôðîâàíèÿ. Çàìå÷àíèå â íà÷àëå ñòàíäàðòà ãëàñèò, ÷òî àëãîðèòì "óäîâëåòâîðÿåò âñåì êðèïòîãðàôè÷åñêèì òð åáîâàíèÿì, à ñòåïåíü çàùèùàåìîé èíôîðìàöèè íå îãðàíè÷èâàåòñÿ". ß ñëûøàë óòâåðæäåíèÿ, ÷òî ýòîò àëãîðèòì ïåðâîíà÷àëüíî èñïîëüçîâàëñÿ òîëüêî äëÿ î÷åíü âàæíûõ ëèíèé ñâÿçè, âêëþ÷àÿ ñåêðåòíûå âîåííûå êîììóíèê àöèè, íî ó ìåíÿ íåò ïîäòâåðæäåíèé. Îïèñàíèå ÃÎÑÒ ÃÎÑÒ ÿâëÿåòñÿ 64-áèòîâûì àëãîðèòìîì ñ 256-áèòîâûì êëþ÷îì. ÃÎÑÒ òàêæå èñïîëüçóåò äîïîëíèòåëüíûé êëþ÷, êîòîðûé ðàññìàòðèâàåòñÿ íèæå.  ïðîöåññå ðàáîòû àëãîðèòìà íà 32 ýòàïàõ ïîñëåäîâàòåëüíî âûïîëíÿåòñÿ ïðîñòîé àëãîðèòì øèôðîâàíèÿ. Äëÿ øèôðîâàíèÿ òåêñò ñíà÷àëà ðàçáèâàåòñÿ íà ëåâóþ ïîëîâèíó L è ïðàâóþ ïîëîâèíó R. Íà ýòàïå i èñïîëüçóåòñÿ ïîäêëþ÷ Ki . Íà ýòàïå i àëãîðèòìà ÃÎÑÒ âûïîëíÿåòñÿ ñëåäóþùåå: Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1, Ki ) Ýòàï ÃÎÑÒ ïîêàçàí íà Ðèñ. 14-1. Ôóíêöèÿ f ïðîñòà. Ñíà÷àëà ïðàâàÿ ïîëîâèíà è i-ûé ïîäêëþ÷ ñêëàäûâàþòñÿ ïî ìîäóëþ 2 32. Ðåçóëüòàò ðàçáèâàåòñÿ íà âîñåìü 4-áèòîâûõ êóñî÷êîâ, êàæäûé èç êîòîðûõ ïîñòóïàåò íà âõîä ñâ îåãî S-áëîêà. ÃÎÑÒ èñïîëüçóåò âîñåìü ðàçëè÷íûõ S-áëîêîâ, ïåðâûå 4 áèòà ïîïàäàþò â ïåðâûé S-áëîê, âòîðûå 4 4 áèòà - âî âòîðîé S-áëîê, è ò.ä. Êàæäûé S-áëîê ïðåäñòàâëÿåò ñîáîé ïåðåñòàíîâêó ÷èñåë îò 0 äî 15. Íàïðèìåð, S-áëîê ìîæåò âûãëÿäåòü êàê: 7, 10, 2, 4, 15, 9, 0, 3, 6, 12, 5, 13, 1, 8, 11 Li-1
Ri-1
Âûáîð ïîäêëþ÷à
Ïîäñòàíîâêà S-áëîêîì Öèêëè÷åñêèé ñäâèã âëåâî
Li-1
Ri-1 Ðèñ. 14-1. Ýòàï ÃÎÑÒ.
 ýòîì ñëó÷àå, åñëè íà âõîäå S-áëîêà 0, òî íà âûõîäå 7. Åñëè íà âõîäå 1, íà âûõîäå 10, è ò.ä. Âñå âîñåìü S-áëîêîâ ðàçëè÷íû, îíè ôàêòè÷åñêè ÿâëÿþòñÿ äîïîëíèòåëüíûì êëþ÷åâûì ìàòåðèàëîì. S-áëîêè äîëæíû õð àíèòüñÿ â ñåêðåòå. Âûõîäû âñåõ âîñüìè S-áëîêîâ îáúåäèíÿþòñÿ â 32-áèòîâîå ñëîâî, çàòåì âñå ñëîâî öèêëè÷åñêè ñäâèãàåòñÿ âëåâî íà 11 áèòîâ. Íàêîíåö ðåçóëüòàò îáúåäèíÿåòñÿ ñ ïîìîùüþ XOR ñ ëåâîé ïîëîâèíîé, è ïîëó÷àåòñÿ íîâàÿ ïðàâàÿ ïîëîâèíà, à ïðàâàÿ ïîëîâèíà ñòàíîâèòñÿ íîâîé ëåâîé ïîëîâèíîé. Âûïîëíèòå ýòî 32 ðàçà, è âñå â ïîðÿ ä-
êå. Ãåíåðàöèÿ ïîäêëþ÷åé ïðîñòà. 256-áèòîâûé êëþ÷ ðàçáèâàåòñÿ íà âîñåìü 32-áèòîâûõ áëîêîâ: k1, k2, . . .k8. Íà êàæäîì ýòàïå èñïîëüçóåòñÿ ñâîé ïîäêëþ÷, êàê ïîêàçàíî â Òàáë. 14-1. Äåøèôðèðîâàíèå âûïîëíÿåòñÿ òàêæå, êàê è øèôðîâàíèå, íî èíâåðòèðóåòñÿ ïîðÿäîê ïîäêëþ÷åé ki . Ñòàíäàðò ÃÎÑÒ íå îïðåäåëÿåò ñïîñîá ãåíåðàöèè S-áëîêîâ, ãîâîðèòñÿ òîëüêî, ÷òî áëîêè äîëæíû áûòü ïð åäîñòàâëåíû êàêèì-òî îáðàçîì [655]. Ýòî ïîðîäèëî äîìûñëû î òîì, ÷òî ñîâåòñêèé ïðîèçâîäèòåëü ìîæåò ïîñòà âëÿòü õîðîøèå S-áëîêè "õîðîøèì" îðãàíèçàöèÿì è ïëîõèå S-áëîêè òåì îðãàíèçàöèÿì, êîòîðûõ ïðîèçâîäèòåëü ñîáèðàåòñÿ íàäóòü. Ýòî âïîëíå ìîæåò áûòü òàê, íî íåîôèöèàëüíûå ïåðåãîâîðû ñ ðîññèéñêèì ïðîèçâîäèòåëåì ìèêðîñõåì ÃÎÑÒ âûÿâèëè äðóãóþ àëüòåðíàòèâó. Ïðîèçâîäèòåëü ñîçäàåò ïåðåñòàíîâêè S-áëîêà ñàìîñòîÿòåëüíî ñ ïîìîùüþ ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë. Òàáë. 14-1. Èñïîëüçîâàíèå ïîäêëþ÷åé íà ðàçëè÷íûõ ýòàïàõ ÃÎÑÒ Ýòàï:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ïîäêëþ÷:
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1
2
3
4
5
6
7
8
8
7
6
5
4
3
2
1
Ýòàï: Ïîäêëþ÷:
Ñîâñåì íåäàâíî ñòàë èçâåñòíûì íàáîð S-áëîêîâ, èñïîëüçóåìûõ â ïðèëîæåíèÿõ Öåíòðàëüíîãî Áàíêà ÐÔ. Ýòè S-áëîêè òàêæå èñïîëüçóþòñÿ â îäíîíàïðàâëåííîé õýø-ôóíêöèè ÃÎÑÒ (ñì. ðàçäåë 18.11) [657]. Îíè ïåðå÷èñë åíû â Òàáë. 14-2. Êðèïòîàíàëèç ÃÎÑÒ Âîò ãëàâíûå ðàçëè÷èÿ ìåæäó DES è COST. DES èñïîëüçóåò ñëîæíóþ ïðîöåäóðó äëÿ ãåíåðàöèè ïîäêëþ÷åé èç êëþ÷åé.  ÃÎÑÒ ýòà ïðîöåäóðà î÷åíü ïðîñòà.  DES 56-áèòîâûé êëþ÷, à â ÃÎÑÒ - 256-áèòîâûé. Åñëè äîáàâèòü ñåêðåòíûå ïåðåñòàíîâêè S-áëîêîâ, òî ïîëíûé îáúåì ñåêðåòíîé èíôîðìàöèè ÃÎÑÒ ñîñòàâèò ïðèìåðíî 610 áèòîâ. Ó S-áëîêîâ DES 6-áèòîâûå âõîäû è 4-áèòîâûå âûõîäû, à ó S-áëîêîâ ÃÎÑÒ 4-áèòîâûå âõîäû è âûõîäû.  îáîèõ àëãîðèòìàõ èñïîëüçóåòñÿ ïî âîñåìü S-áëîêîâ, íî ðàçìåð S-áëîêà ÃÎÑÒ ðàâåí îäíîé ÷åòâåðòîé ðàçìåðà S-áëîêà DES.  DES èñïîëüçóþòñÿ íåðåãóëÿðíûå ïåðåñòàíîâêè, íàçâàííûå P-áëîêîì, à â ÃÎÑÒ èñïîëüçóåòñÿ 11áèòîâûé öèêëè÷åñêèé ñäâèã âëåâî.  DES 16 ýòàïîâ, à â ÃÎÑÒ - 32. Òàáë. 14-2. S-áëîêè ÃÎÑÒ S-áëîê 1: 4
10
9
2
13
8
0
14
6
11
1
12
7
15
5
3
4
12
6
13
15
10
2
3
8
1
0
7
5
9
1
13
10
3
4
2
14
15
12
7
6
0
9
11
10
1
0
8
9
15
14
4
6
12
11
2
5
3
7
1
5
15
13
8
4
10
9
14
0
3
11
2
S-áëîê 2: 14
11 S-áëîê 3:
5
8 S-áëîê 4:
7
13 S-áëîê 5:
6
12 S-áëîê 6:
4
11
10
0
7
2
1
13
3
6
8
5
9
12
15
14
4
1
3
15
5
9
0
10
14
7
6
8
2
12
13
0
5
7
10
4
9
2
3
14
6
11
8
12
S-áëîê 7: 13
11 S-áëîê 8:
1
15
Åñëè ëó÷øèì ñïîñîáîì âñêðûòèÿ ÃÎÑÒ ÿâëÿåòñÿ ãðóáàÿ ñèëà, òî ýòî î÷åíü áåçîïàñíûé àëãîðèòì. ÃÎÑÒ è ñïîëüçóåò 256-áèòîâûé êëþ÷, à åñëè ó÷èòûâàòü ñåêðåòíûå S-áëîêè, òî äëèíà êëþ÷à âîçðàñòàåò. ÃÎÑÒ, ïî âèä èìîìó, áîëåå óñòîé÷èâ ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó, ÷åì DES. Õîòÿ ñëó÷àéíûå S-áëîêè ÃÎÑÒ âîçìîæíî ñëàáåå ôèêñèðîâàííûõ S-áëîêîâ DES, èõ ñåêðåòíîñòü óâåëè÷èâàåò óñòîé÷èâîñòü ÃÎÑÒ ê äè ôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó. Ê òîìó æå, ýòè ñïîñîáû âñêðûòèÿ ÷óâñòâèòåëüíû ê êîëè÷åñòâó ýòàïîâ - ÷åì áîëüøå ýòàïîâ, òåì òðóäíåå âñêðûòèå. ÃÎÑÒ èñïîëüçóåò â äâà ðàçà áîëüøå ýòàïîâ, ÷åì DES, îäíî ýòî âîçìîæíî äåëàåò íåñîñòîÿòåëüíûìè è äèôôåðåíöèàëüíûé, è ëèíåéíûé êðèïòîàíàëèç. Äðóãèå ÷àñòè ÃÎÑÒ òàêèå æå, êàê â DES, èëè ñëàáåå. ÃÎÑÒ íå èñïîëüçóåò ñóùåñòâóþùóþ â DES ïåðåñò àíîâêó ñ ðàñøèðåíèåì. Óäàëåíèå ýòîé ïåðåñòàíîâêè èç DES îñëàáëÿåò åãî èç-çà óìåíüøåíèÿ ëàâèííîãî ýôôåêòà, ðàçóìíî ñ÷èòàòü, ÷òî îòñóòñòâèå òàêîé îïåðàöèè â ÃÎÑÒ îñëàáëÿåò ýòîò àëãîðèòì. Ñëîæåíèå, èñïîëüçóåìîå â ÃÎÑÒ, íå ìåíåå áåçîïàñíî, ÷åì èñïîëüçóåìàÿ â DES îïåðàöèÿ XOR. Ñàìûì áîëüøèì ðàçëè÷èåì ïðåäñòàâëÿåòñÿ èñïîëüçîâàíèå â ÃÎÑÒ öèêëè÷åñêîãî ñäâèãà âìåñòî ïåðåñòàíî âêè. Ïåðåñòàíîâêà DES óâåëè÷èâàåò ëàâèííûé ýôôåêò.  ÃÎÑÒ èçìåíåíèå îäíîãî âõîäíîãî áèòà âëèÿåò íà îäèí S-áëîê îäíîãî ýòàïà, êîòîðûé çàòåì âëèÿåò íà äâà S-áëîêà ñëåäóþùåãî ýòàïà, òðè áëîêà ñëåäóþùåãî ýòàïà, è ò.ä..  ÃÎÑÒ ïîòðåáóåòñÿ 8 ýòàïîâ ïðåæäå, ÷åì èçìåíåíèå îäíîãî âõîäíîãî áèòà ïîâëèÿåò íà êàæäûé áèò ð åçóëüòàòà, àëãîðèòìó DES äëÿ ýòîãî íóæíî òîëüêî 5 ýòàïîâ. Ýòî, êîíå÷íî æå, ñëàáîå ìåñòî. Íî íå çàáûâàéòå: ÃÎÑÒ ñîñòîèò èç 32 ýòàïîâ, à DES òîëüêî èç 16. Ðàçðàáîò÷èêè ÃÎÑÒ ïûòàëèñü äîñòèãíóòü ðàâíîâåñèÿ ìåæäó áåçîïàñíîñòüþ è ýôôåêòèâíîñòüþ. Îíè èçì åíèëè èäåîëîãèþ DES òàê, ÷òîáû ñîçäàòü àëãîðèòì, êîòîðûé áîëüøå ïîäõîäèò äëÿ ïðîãðàììíîé ðåàëèçàöèè. Îíè, ïî âèäèìîìó, ìåíåå óâåðåíû â áåçîïàñíîñòè ñâîåãî àëãîðèòìà è ïîïûòàëèñü ñêîìïåíñèðîâàòü ýòî î÷åíü áîëüøîé äëèíîé êëþ÷à, ñîõðàíåíèåì â ñåêðåòå S-áëîêîâ è óäâîåíèåì êîëè÷åñòâà èòåðàöèé. Âîïðîñ, óâåí÷àëèñü ëè èõ óñèëèÿ ñîçäàíèåì áîëåå áåçîïàñíîãî, ÷åì DES, àëãîðèòìà, îñòàåòñÿ îòêðûòûì.
14.2 CAST CAST áûë ðàçðàáîòàí â Êàíàäå Êàðëàéñëîì Àäàìñîì (Carlisle Adams) è Ñòàôôîðäîì Òàâàðåñîì (Stafford Tavares) [10, 7]. Îíè óòâåðæäàþò, ÷òî íàçâàíèå îáóñëîâëåíî õîäîì ðàçðàáîòêè è äîëæíî íàïîìèíàòü î âåðîÿ òíîñòíîì õàðàêòåðå ïðîöåññà, à íå îá èíèöèàëàõ àâòîðîâ. Îïèñûâàåìûé àëãîðèòì CAST èñïîëüçóåò 64-áèòîâûé áëîê è 64-áèòîâûé êëþ÷. CAST èìååò çíàêîìóþ ñòðóêòóðó. Àëãîðèòì èñïîëüçóåò øåñòü S-áëîêîâ ñ 8-áèòîâûì âõîäîì è 32-áèòîâûì âûõîäîì. Ðàáîòà ýòèõ S-áëîêîâ ñëîæíà è çàâèñèò îò ðåàëèçàöèè, ïîäðîáíîñòè ìîæíî íàéòè â ëèòåðàòóðå. Äëÿ øèôðîâàíèÿ ñíà÷àëà áëîê îòêðûòîãî òåêñòà ðàçáèâàåòñÿ íà ëåâóþ è ïðàâóþ ïîëîâèíû. Àëãîðèòì ñîñò îèò èç 8 ýòàïîâ. Íà êàæäîì ýòàïå ïðàâàÿ ïîëîâèíà îáúåäèíÿåòñÿ ñ ÷àñòüþ êëþ÷à ñ ïîìîùüþ ôóíêöèè f, à çàòåì XOR ðåçóëüòàòà è ëåâîé ïîëîâèíû âûïîëíÿåòñÿ äëÿ ïîëó÷åíèÿ íîâîé ïðàâîé ïîëîâèíû. Ïåðâîíà÷àëüíàÿ (äî ýòàïà) ïðàâàÿ ïîëîâèíà ñòàíîâèòñÿ íîâîé ëåâîé ïîëîâèíîé. Ïîñëå 8 ýòàïîâ (íå ïåðåñòàâüòå ëåâóþ è ïðàâóþ ï îëîâèíû ïîñëå âîñüìîãî ýòàïà) äâå ïîëîâèíû îáúåäèíÿþòñÿ, îáðàçóÿ øèôðîòåêñò. Ôóíêöèÿ f ïðîñòà: (1) Ðàçáåéòå 32-áèòîâûé âõîä íà ÷åòûðå 8-áèòîâûõ ÷àñòè: a, b, c, d. (2) Ðàçáåéòå 16-áèòîâûé ïîäêëþ÷ íà äâå 8-áèòîâûõ ïîëîâèíû: e, f. (3) Ïîäàéòå a íà âõîä S-áëîêà 1, b - íà âõîä S-áëîêà 2, c - íà âõîä S-áëîêà 3, d - íà âõîä S-áëîêà 4, e - íà âõîä S-áëîêà 5 è f - íà âõîä S-áëîêà 6. (4) Âûïîëíèòå XOR øåñòè âûõîäîâ S-áëîêîâ, ïîëó÷àÿ 32-áèòîâûé ðåçóëüòàò. Èíà÷å, 32-áèòîâûé âõîä ìîæåò áûòü îáúåäèíåí ñ ïîìîùüþ XOR ñ 32 áèòàìè êëþ÷à, ðàçáèò íà ÷åòûðå 8áèòîâûõ ÷àñòè, êîòîðûå îáðàáàòûâàþòñÿ S-áëîêàìè è çàòåì îáúåäèíÿþòñÿ ñ ïîìîùüþ XOR [7]. Áåçîïàñíîñòü N ýòàïîâ, îðãàíèçîâàííûõ òàêèì îáðàçîì, ïî âèäèìîìó, ñîîòâåòñòâóåò N + 2 ýòàïàì äðóãîãî âàðèàíòà. 16-áèòîâûå ïîäêëþ÷è ýòàïîâ ëåãêî ïîëó÷àþòñÿ èç 64-áèòîâîãî êëþ÷à. Åñëè k1, k2, . . .k8 - ýòî 8 áàéòîâ êëþ÷à, òî íà ýòàïàõ àëãîðèòìà èñïîëüçóþòñÿ ñëåäóþùèå ïîäêëþ÷è: Ýòàï 1: k1, k2
Ýòàï 2: k3, k4 Ýòàï 3: k5, k6 Ýòàï 4: k7, k8 Ýòàï 5: k4, k3 Ýòàï 6: k2, k1 Ýòàï 7: k8, k7 Ýòàï 8: k6, k5 Ñèëà ýòîãî àëãîðèòìà çàêëþ÷åíà â åãî S-áëîêàõ. Ó CAST íåò ôèêñèðîâàííûõ S-áëîêîâ, äëÿ êàæäîãî ïðèë îæåíèÿ îíè êîíñòðóèðóþòñÿ çàíîâî. Êðèòåðèè ïðîåêòèðîâàíèÿ îïèñàíû â [10], èçîãíóòûìè ôóíêöèÿìè ÿâëÿþòñÿ ñòîëáöû S-áëîêîâ, îáåñïå÷èâàþùèå íåîáõîäèìûå ñâîéñòâà S-áëîêîâ (ñì. ðàçäåë 14.10). Ñîçäàííûé äëÿ äàííîé ðåàëèçàöèè CAST S-áëîêîâ óæå áîëüøå íèêîãäà íå ìåíÿåòñÿ. S-áëîêè çàâèñÿò îò ðåàëèçàöèè, à íå îò êëþ÷à.  [10] áûëî ïîêàçàíî, ÷òî CAST óñòîé÷èâ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó, à â [728] - ÷òî CAST óñòî é÷èâ è ê ëèíåéíîìó êðèïòîàíàëèçó. Íåèçâåñòíî èíîãî, ÷åì ãðóáàÿ ñèëà, ñïîñîáà âñêðûòü CAST. Northern Telecom èñïîëüçóåò CAST â ñâîåì ïàêåòå ïðîãðàìì Entrust äëÿ êîìïüþòåðîâ Macintosh, PC è ð àáî÷èõ ñòàíöèé UNIX. Âûáðàííûå èìè S-áëîêè íå îïóáëèêîâàíû. Êàíàäñêîå ïðàâèòåëüñòâî ñ÷èòàåò CAST í îâûì ñòàíäàðòîì øèôðîâàíèÿ. Ïàòåíòíàÿ çàÿâêà íà CAST íàõîäèòñÿ â ïðîöåññå ðàññìîòðåíèÿ.
14.3 BLOWFISH Blowfish - ýòî àëãîðèòì, ðàçðàáîòàííûé ëè÷íî ìíîé äëÿ ðåàëèçàöèè íà áîëüøèõ ìèêðîïðîöåññîðàõ [1388, 1389]. Àëãîðèòì íåçàïàòåíòîâàí, è åãî êîä íà ÿçûêå C ïðèâåäåí â êîíöå ýòîé êíèãè äëÿ øèðîêîãî ïîëüçîâàíèÿ. Ïðè ïðîåêòèðîâàíèè Blowfish ÿ èñïîëüçîâàë ñëåäóþùèå êðèòåðèè: 1. Ñêîðîñòü. Blowfish øèôðóåò äàííûå íà 32-áèòîâûõ ìèêðîïðîöåññîðàõ ñî ñêîðîñòüþ 26 òàêòîâ íà áàéò. 2. Êîìïàêòíîñòü. Blowfish ìîæåò ðàáîòàòü ìåíåå, ÷åì â 5 Êáàéò ïàìÿòè. 3. Ïðîñòîòà. Blowfish èñïîëüçóåò òîëüêî ïðîñòûå îïåðàöèè: ñëîæåíèå, XOR è âûáîðêà èç òàáëèöû ïî 32áèòîâîìó îïåðàíäó. Àíàëèç åãî ñõåìû íåñëîæåí, ÷òî äåëàåò ïðè ðåàëèçàöèè àëãîðèòìà óìåíüøàåò ê îëè÷åñòâî îøèáîê [1391]. 4. Íàñòðàèâàåìàÿ áåçîïàñíîñòü. Äëèíà êëþ÷à Blowfish ïåðåìåííà è ìîæåò äîñòèãàòü 448 áèòîâ. Blowfish îïòèìèçèðîâàí äëÿ òåõ ïðèëîæåíèé, â êîòîðûõ íåò ÷àñòîé ñìåíû êëþ÷åé, òàêèõ êàê ëèíèè ñâÿçè èëè ïðîãðàììà àâòîìàòè÷åñêîãî øèôðîâàíèÿ ôàéëîâ. Ïðè ðåàëèçàöèè íà 32-áèòîâûõ ìèêðîïðîöåññîðàõ ñ áîëüøèì êýøåì äàííûõ, òàêèõ êàê Pentium è PowerPC, Blowfish çàìåòíî áûñòðåå DES. Blowfish íå ïîäõîäèò äëÿ èñïîëüçîâàíèÿ â ïðèëîæåíèÿõ ñ ÷àñòîé ñìåíîé êëþ÷åé, íàïðèìåð, ïðè êîììóòàöèè ïàêåòîâ, èëè äëÿ è ñïîëüçîâàíèÿ â êà÷åñòâå îäíîíàïðàâëåííîé õýø-ôóíêöèè. Áîëüøèå òðåáîâàíèÿ ê ïàìÿòè äåëàþò íåâîçìîæíûì èñïîëüçîâàíèå ýòîãî àëãîðèòìà â èíòåëëåêòóàëüíûõ ïëàòàõ. Îïèñàíèå Blowfish Blowfish ïðåäñòàâëÿåò ñîáîé 64-áèòîâûé áëî÷íûé øèôð ñ êëþ÷îì ïåðåìåííîé äëèíû. Àëãîðèòì ñîñòîèò èç äâóõ ÷àñòåé: ðàçâåðòûâàíèå êëþ÷à è øèôðîâàíèå äàííûõ. Ðàçâåðòûâàíèå êëþ÷à ïðåîáðàçóåò êëþ÷ äëèíîé äî 448 áèòîâ â íåñêîëüêî ìàññèâîâ ïîäêëþ÷åé, îáùèì îáúåìîì 4168 áàéòîâ. Øèôðîâàíèå äàííûõ ñîñòîèò èç ïðîñòîé ôóíêöèè, ïîñëåäîâàòåëüíî âûïîëíÿåìîé 16 ðàç. Êàæäûé ýòàï ñ îñòîèò èç çàâèñèìîé îò êëþ÷à ïåðåñòàíîâêè è çàâèñèìîé îò êëþ÷à è äàííûõ ïîäñòàíîâêè. Èñïîëüçóþòñÿ òîëüêî ñëîæåíèÿ è XOR 32-áèòîâûõ ñëîâ. Åäèíñòâåííûìè äîïîëíèòåëüíûìè îïåðàöèÿìè íà êàæäîì ýòàïå ÿâëÿþòñÿ ÷åòûðå èçâëå÷åíèÿ äàííûõ èç èíäåêñèðîâàííîãî ìàññèâà.  Blowfish èñïîëüçóåòñÿ ìíîãî ïîäêëþ÷åé. Ýòè ïîäêëþ÷è äîëæíû áûòü ðàññ÷èòàíû äî íà÷àëà øèôðîâàíèÿ èëè äåøèôðèðîâàíèÿ äàííûõ. P-ìàññèâ ñîñòîèò èç 18 32-áèòîâûõ ïîäêëþ÷åé: P1, P2, . . ., P18 Êàæäûé èç ÷åòûðåõ 32-áèòîâûõ S-áëîêîâ ñîäåðæèò 256 ýëåìåíòîâ: S1,0, S1,1, . . ., S1,255 S2,0, S2,2, . . ., S2,255
S3,0, S3,3, . . ., S3,255 S4,0, S4,4, . . ., S4,255 Òî÷íûé ìåòîä, èñïîëüçóåìûé ïðè âû÷èñëåíèè ýòèõ ïîäêëþ÷åé îïèñàí â ýòîì ðàçäåëå íèæå. Îòêðûòûé òåêñò 64 áèòà
32 áèòà
P1
32 áèòà
32 áèòà 32 áèòà
F
32 áèòà
P2 F Åùå 13 èòåðàöèé
P16 F P18
P17 32 áèòà
64 áèòà
32 áèòà
Øèôðîòåêñò Ðèñ. 14-2. Blowfish. Blowfish ÿâëÿåòñÿ ñåòüþ Ôåéñòåëà (Feistel) (ñì. ðàçäåë 14.10), ñîñòîÿùåé èç 16 ýòàïîâ. Íà âõîä ïîäàåòñÿ 64áèòîâûé ýëåìåíò äàííûõ x. Äëÿ øèôðîâàíèÿ: Ðàçáåéòå x íà äâå 32-áèòîâûõ ïîëîâèíû: xL, xR Äëÿ i = 1 ïî 16: xL = xL ⊕ P18 xR = F(xL) ⊕ xR Ïåðåñòàâèòü xL è xR (êðîìå ïîñëåäíåãî ýòàïà.) xR = xR ⊕ P17 xL = xL ⊕ P18 Îáúåäèíèòü xL è xR
8 áèòîâ
8 áèòîâ
S-áëîê 1
S-áëîê 2
32 áèòà 8 áèòîâ
S-áëîê 3 32 áèòà
8 áèòîâ
S-áëîê 4 Ðèñ. 14-3. Ôóíêöèÿ F.
Ôóíêöèÿ F ïðåäñòàâëÿåò ñîáîé ñëåäóþùåå (ñì. Ðèñ. 14-3): Ðàçäåëèòü xL íà ÷åòûðå 8-áèòîâûõ ÷àñòè: a, b, c è d F(xL) = ((S1,a + S2,b mod 232) ⊕ S3,c)+ S4,d mod 232 Äåøèôðèðîâàíèå âûïîëíÿåòñÿ òî÷íî òàêæå, êàê è øèôðîâàíèå, íî P1, P2, . . ., P18 èñïîëüçóþòñÿ â îáðàòíîì ïîðÿäêå.  ðåàëèçàöèÿõ Blowfish, äëÿ êîòîðûõ òðåáóåòñÿ î÷åíü áîëüøàÿ ñêîðîñòü, öèêë äîëæåí áûòü ðàçâåðíóò, à âñå êëþ÷è äîëæíû õðàíèòüñÿ â êýøå. Ïîäðîáíîñòè ïðèâåäåíû â [568]. Ïîäêëþ÷è ðàññ÷èòûâàþòñÿ ñ ïîìîùüþ ñïåöèàëüíîãî àëãîðèòìà. Âîò êàêîâà òî÷íàÿ ïîñëåäîâàòåëüíîñòü äå éñòâèé. (1) Ñíà÷àëà P-ìàññèâ, à çàòåì ÷åòûðå S-áëîêà ïî ïîðÿäêó èíèöèàëèçèðóþòñÿ ôèêñèðîâàííîé ñòðîêîé. Ýòà ñòðîêà ñîñòîèò èç øåñòíàäöàòèðè÷íûõ öèôð π. (2) Âûïîëíÿåòñÿ XOR P1 ñ ïåðâûìè 32 áèòàìè êëþ÷à, XOR P2 ñî âòîðûìè 32 áèòàìè êëþ÷à, è òàê äàëåå äëÿ âñåõ áèòîâ êëþ÷à (äî P18). Èñïîëüçóåòñÿ öèêëè÷åñêè, ïîêà äëÿ âñåãî P-ìàññèâà íå áóäåò âûïîëíåíà îïåð àöèÿ XOR ñ áèòàìè êëþ÷à. (3) Èñïîëüçóÿ ïîäêëþ÷è, ïîëó÷åííûå íà ýòàïàõ (1) è (2), àëãîðèòìîì Blowfish øèôðóåòñÿ ñòðîêà èç îäíèõ íóëåé. (4) P1 è P2 çàìåíÿþòñÿ ðåçóëüòàòîì ýòàïà (3). (5) Ðåçóëüòàò ýòàïà (3) øèôðóåòñÿ ñ ïîìîùüþ àëãîðèòìà Blowfish è èçìåíåííûõ ïîäêëþ÷åé. (6) P3 è P4 çàìåíÿþòñÿ ðåçóëüòàòîì ýòàïà (5). (7) Äàëåå â õîäå ïðîöåññà âñå ýëåìåíòû P-ìàññèâà è çàòåì ïî ïîðÿäêó âñå ÷åòûðå S-áëîêà çàìåíÿþòñÿ âûõ îäîì ïîñòîÿííî ìåíÿþùåãîñÿ àëãîðèòìà Blowfish. Âñåãî äëÿ ãåíåðàöèè âñåõ íåîáõîäèìûõ ïîäêëþ÷åé òðåáóåòñÿ 521 èòåðàöèÿ. Ïðèëîæåíèÿ ìîãóò ñîõðàíÿòü ïîäêëþ÷è - íåò íåîáõîäèìîñòè âûïîëíÿòü ïðîöåññ èõ ïîëó÷åíèÿ ìíîãîêðàòíî. Áåçîïàñíîñòü Blowfish Ñåðæ Âîäåíý (Serge Vaudenay) èññëåäîâàë Blowfish ñ èçâåñòíûìè S-áëîêàìè è r ýòàïàìè, äèôôåðåíöèàë üíûé êðèïòîàíàëèç ìîæåò ðàñêðûòü P-ìàññèâ ñ ïîìîùüþ 2 8r+1 âûáðàííûõ îòêðûòûõ òåêñòîâ [1568]. Äëÿ íåêîò îðûõ ñëàáûõ êëþ÷åé, êîòîðûå ãåíåðèðóþò ïëîõèå S-áëîêè (âåðîÿòíîñòü âûáîðà òàêîãî êëþ÷à ñîñòàâëÿåò 1 ê 2 14), ýòî æå âñêðûòèå ðàñêðûâàåò P-ìàññèâ ñ ïîìîùüþ âñåãî 2 4r+1. Ïðè íåèçâåñòíûõ S-áëîêàõ ýòî âñêðûòèå ìîæåò îáíàðóæèòü èñïîëüçîâàíèå ñëàáîãî êëþ÷à, íî íå ìîæåò îïðåäåëèò ñàì êëþ÷ (íè S-áëîêè, íè P-ìàññèâ). Ýòî âñêðûòèå ýôôåêòèâíî òîëüêî ïðîòèâ âàðèàíòîâ ñ óìåíüøåííûì ÷èñëîì ýòàïîâ è ñîâåðøåííî áåñïîëåçíî ïðîòèâ 16-ýòàïíîãî Blowfish. Êîíå÷íî, âàæíî è ðàñêðûòèå ñëàáûõ êëþ÷åé, äàæå õîòÿ îíè ñêîðåå âñåãî íå áóäóò èñïîëüçîâàòüñÿ. Ñëàáûì ÿâëÿåòñÿ êëþ÷, äëÿ êîòîðîãî äâà ýëåìåíòà äàííîãî S-áëîêà èäåíòè÷íû. Äî âûïîëíåíèÿ ðàçâåðòûâàíèÿ êëþ÷à íåâîçìîæíî îïðåäåëèòü, ÿâëÿåòñÿ ëè îí ñëàáûì. Åñëè âû áåñïîêîèòåñü îá ýòîì, âàì ïðèäåòñÿ âûïîëíèòü ðà ç-
âåðòûâàíèå êëþ÷à è ïðîâåðèòü, íåò ëè â S-îäèíàêîâûõ ýëåìåíòîâ. Õîòÿ ÿ íå äóìàþ, ÷òî ýòî òàê óæ íåîáõîäèìî. Ìíå íåèçâåñòíî îá óñïåøíîì êðèïòîàíàëèçå Blowfish. Äëÿ áåçîïàñíîñòè íå ðåàëèçóéòå Blowfish ñ óìåí üøåííûì ÷èñëîì ýòàïîâ. Kent Marsh Ltd. âñòðîèëà Blowfish â ñâîé ïðîäóêò îáåñïå÷åíèÿ áåçîïàñíîñòè FolderBolt, ïðåäíàçíà÷åííûé äëÿ Microsoft Windows è Macintosh. Àëãîðèòì òàêæå âõîäèò â Nautilus è PGPfone.
14.4 SAFER SAFER K-64 îçíà÷àåò Secure And Fast Encryption Routine with a Key of 64 bits - Áåçîïàñíàÿ è áûñòðàÿ ïðîö åäóðà øèôðîâàíèÿ ñ 64-áèòîâûì êëþ÷îì [1009]. Ýòîò íå ÿâëÿþùèéñÿ ÷àñòíîé ñîáñòâåííîñòüþ àëãîðèòì, ðàçð àáîòàííûé Äæåéìñîì Ìàññååì (James Massey) äëÿ Cylink Corp., èñïîëüçóåòñÿ â íåêîòîðûõ èç ïðîäóêòîâ ýòîé êîìïàíèè. Ïðàâèòåëüñòâî Ñèíãàïóðà ñîáèðàåòñÿ èñïîëüçîâàòü ýòîò àëãîðèòì - ñ 128-áèòîâûì êëþ÷îì [1010] äëÿ øèðîêîãî ñïåêòðà ïðèëîæåíèé. Åãî èñïîëüçîâàíèå íå îãðàíè÷åíî ïàòåíòîì, àâòîðñêèìè ïðàâàìè èëè äð óãèìè îãðàíè÷åíèÿìè. Àëãîðèòì ðàáîòàåò ñ 64-áèòîâûì áëîêîì è 64-áèòîâûì êëþ÷îì.  îòëè÷èå îò DES îí ÿâëÿåòñÿ íå ñåòüþ Ôåéñòåëà (ñì. ðàçäåë 14.10), à èòåðàòèâíûì áëî÷íûì øèôðîì: äëÿ íåêîòîðîãî êîëè÷åñòâà ýòàïîâ ïðèìåíÿåòñÿ îäíà è òà æå ôóíêöèÿ. Íà êàæäîì ýòàïå èñïîëüçóþòñÿ äâà 64-áèòîâûõ ïîäêëþ÷à. Àëãîðèòì îïåðèðóåò òîëüêî áàéòàìè. Îïèñàíèå SAFER K-64 Áëîê îòêðûòîãî òåêñòà äåëèòñÿ íà âîñåìü áàéòîâûõ ïîäáëîêîâ: B1, B2, . . . , B7, B8. Çàòåì ïîäáëîêè îáðàáàòûâàþòñÿ â õîäå r ýòàïîâ. Íàêîíåö ïîäáëîêè ïîäâåðãàþòñÿ çàêëþ÷èòåëüíîìó ïðåîáðàçîâàíèþ. Íà êàæäîì ýòàïå èñïîëüçóåòñÿ äâà ïîäêëþ÷à: K2r-1 è K2r. Íà Ðèñ. 14-4 ïîêàçàí îäèí ýòàï SAFER K-64. Ñíà÷àëà íàä ïîäáëîêàìè âûïîëíÿåòñÿ ëèáî îïåðàöèÿ XOR, ë èáî ñëîæåíè ñ áàéòàìè ïîäêëþ÷à K2r-1. Çàòåì âîñåìü ïîäáëîêîâ ïîäâåðãàþòñÿ îäíîìó èç äâóõ íåëèíåéíûõ ïð åîáðàçîâàíèé: y = 45x mod 257. (Åñëè x = 0, òî y = 0.) y = log45 x. (Åñëè x = 0, òî y = 0.)
Âõîä ýòàïà (8 áàéòîâ) 4 5
1
2
3
xor
add
add
xor
45(.)
log45
log45
add
xor
xor
1
6
7
8
xor
add
add
xor
45(.)
45(.)
log45
log45
45(.)
add
add
xor
xor
add
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2-PHT
2
3
4 5 Âûõîä ýòàïà (8 áàéòîâ)
6
7
K2i-1
K2i
8
Ðèñ. 14-4. Îäèí ýòàï SAFER. Ýòî îïåðàöèè â êîíå÷íîì ïîëå GF(257), à 45 - ýëåìåíò ïîëÿ, ÿâëÿþùèéñÿ ïðèìèòèâîì.  ðåàëèçàöèÿõ SAFER K-64 áûñòðåå âûïîëíÿòü ïîèñê â òàáëèöå, ÷åì âñå âðåìÿ ðàññ÷èòûâàòü íîâûå ðåçóëüòàòû. Çàòåì ïîäáëîêè ëèáî ïîäâåðãàþòñÿ XOR, ëèáî ñêëàäûâàþòñÿ ñ áàéòàìè ïîäêëþ÷à K2r. Ðåçóëüòàò ýòîãî äåéñòâèÿ ïðîõîäèò ÷åðåç òðè óðîâíÿ ëèíåéíûõ îïåðàöèé, öåëüþ êîòîðûõ ÿâëÿåòñÿ óâåëè÷åíèå ëàâèííîãî ýôôåêòà. Êàæäàÿ îïåðàöèÿ íàçûâàåòñÿ ïñåâäîàäàìàðîâûì ïðåîáðàçîâàíèåì (Pseudo-Hadamard Transform, PHT). Åñëè íà âõîäå PHT a1 è a2, òî íà âûõîäå: b1 = (2a1 + a2) mod 256 b2 = (a1 + a2) mod 256 Ïîñëå r ýòàïîâ âûïîëíÿåòñÿ çàêëþ÷èòåëüíîå ïðåîáðàçîâàíèå. Îíî ñîâïàäàåò ñ ïðåîáðàçîâàíèåì, ÿâëÿþùè ìñÿ ïåðâûì äåéñòâèåì êàæäîãî ýòàïà. Íàä B1, B4, B5 è B8 âûïîëíÿåòñÿ XOR ñ ñîîòâåòñòâóþùèìè áàéòàìè ï îñëåäíåãî ïîäêëþ÷à, à B2, B3, B6 è B7 ñêëàäûâàþòñÿ ñ ñîîòâåòñòâóþùèìè áàéòàìè ïîñëåäíåãî ïîäêëþ÷à.  ð åçóëüòàòå è ïîëó÷àåòñÿ øèôðîòåêñò. Äåøèôðèðîâàíèå ïðåäñòàâëÿåò ñîáîé îáðàòíûé ïðîöåññ: ñíà÷àëà çàêëþ÷èòåëüíîå ïðåîáðàçîâàíèå (ñ âû÷ èòàíèåì âìåñòî ñëîæåíèÿ), çàòåì r èíâåðòèðîâàííûõ ýòàïîâ. Îáðàòíîå PHT (Inverse PHT, IPHT) - ýòî: a1 = (b1 - b2) mod 256 a2 = (-b1 + 2b2) mod 256 Ìàññåé ðåêîìåíäóåò èñïîëüçîâàòü 6 ýòàïîâ, íî äëÿ áîëüøåé áåçîïàñíîñòè êîëè÷åñòâî ýòàïîâ ìîæíî óâåë è÷èòü. Ãåíåðèðîâàòü ïîäêëþ÷è ñîâñåì íå òðóäíî. Ïåðâûé ïîäêëþ÷, K1, - ýòî ïðîñòî êëþ÷ ïîëüçîâàòåëÿ. Ïîñë åäóþùèå êëþ÷è ãåíåðèðóþòñÿ â ñîîòâåòñòâèè ñî ñëåäóþùåé ïðîöåäóðîé: Ki+1 = (Ki <<<3i) + ci Ñèìâîë "<<<" îáîçíà÷àåò öèêëè÷åñêèé ñäâèã íàëåâî. Ñäâèã âûïîëíÿåòñÿ ïîáàéòíî, à ci ÿâëÿåòñÿ êîíñòàíòîé ýòàïà. Åñëè cij - ýòî j-ûé áàéò êîíñòàíòû i-ãî ýòàïà, òî ìîæíî ðàññ÷èòàòü âñå êîíñòàíòû ýòàïîâ ïî ñëåäóþùåé
ôîðìóëå cij = 4545^((9i+j) mod 256)
mod 257
mod 257
Îáû÷íî ýòè çíà÷åíèÿ õðàíÿòñÿ â òàáëèöå. SAFER K-128 Ýòîò àëüòåðíàòèâíûé ñïîñîá èñïîëüçîâàíèÿ êëþ÷à áûë ðàçðàáîòàí Ìèíèñòåðñòâîì âíóòðåííèõ äåë Ñèíã àïóðà, à çàòåì áûë âñòðîåí Ìàññååì â SAFER [1010].  ýòîì ñïîñîáå èñïîëüçóþòñÿ äâà êëþ÷à, Ka è Kb, ïî 64 áèòà êàæäûé. Ïðèåì ñîñòîèò â òîì, ÷òîáû ãåíåðèðîâàòü ïàðàëëåëüíî äâå ïîñëåäîâàòåëüíîñòè ïîäêëþ÷åé, à ç àòåì ÷åðåäîâàòü ïîäêëþ÷è èç êàæäîé ïîñëåäîâàòåëüíîñòè. Ýòî îçíà÷àåò, ÷òî ïðè âûáîðå Ka = Kb 128-áèòîâûé êëþ÷ ñîâìåñòèì ñ 64-áèòîâûì êëþ÷îì Ka. Áåçîïàñíîñòü SAFER K-64 Ìàññåé ïîêàçàë, ÷òî SAFER K-64 ïîñëå 6 ýòàïîâ àáñîëþòíî çàùèùåí îò äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà ïîñëå 8 ýòàïîâ è äîñòàòî÷íî áåçîïàñåí. Óæå ïîñëå 3 ýòàïîâ ïðîòèâ ýòîãî àëãîðèòìà ñòàíîâèòñÿ íåýôôåêòèâíûì è ëèíåéíûé êðèïòîàíàëèç [1010]. Êíóäñåí (Knudsen) îáíàðóæèë ñëàáîå ìåñòî â ðàñïðåäåëåíèè êëþ÷åé: ïðàêòè÷åñêè äëÿ êàæäîãî êëþ÷à ñóù åñòâóåò íå ìåíüøå îäíîãî (à èíîãäà äàæå äåâÿòü) äðóãîãî êëþ÷à, êîòîðûé ïðè øèôðîâàíèè êàêîãî-òî äðóãîãî îòêðûòîãî òåêñòà ïðåâðàùàåò åãî â òîò æå øèôðîòåêñò [862]. ×èñëî ðàçëè÷íûõ îòêðûòûõ òåêñòîâ, êîòîðûå øèôðóþòñÿ îäèíàêîâûìè øèôðîòåêñòàìè, íàõîäèòñÿ â ïðîìåæóòêå îò 2 22 äî 228. Õîòÿ òàêîå âñêðûòèå íå ìîæåò ïîâëèÿòü íà áåçîïàñíîñòü SAFER êàê àëãîðèòìà øèôðîâàíèÿ, îíî çíà÷èòåëüíî óìåíüøàåò åãî íàäåæíîñòü ïðè èñïîëüçîâàíèè â êà÷åñòâå îäíîíàïðàâëåííîé õýø-ôóíêöèè.  ëþáîì ñëó÷àå Êíóäñåí ðåêîìåíäóåò èñïîëüçîâàòü íå ìåíüøå 8 ýòàïîâ. SAFER áûë ñïðîåêòèðîâàí äëÿ Cylink, à Cylink áûëè ïðåäúÿâëåíû ðàçëè÷íûå îáâèíåíèÿ ñî ñòîðîíû NSA [80]. ß ðåêîìåíäîâàë áû ïîòðàòèòü íåñêîëüêî ëåò íà èíòåíñèâíûé êðèïòîàíàëèç ïðåæäå, ÷åì êàê-ëèáî èñïîë üçîâàòü SAFER.
14.5 3-WAY 3-Way - ýòî áëî÷íûé øèôð, ðàçðàáîòàííûé Äæîíîì Äýéìåíîì (Joan Daemen) [402, 410]. Îí èñïîëüçóåò áëîê è êëþ÷ äëèíîé 96 áèò, è åãî ñõåìà ïðåäïîëàãàåò î÷åíü ýôôåêòèâíóþ àïïàðàòíóþ ðåàëèçàöèþ. 3-Way ÿâëÿåòñÿ íå ñåòüþ Ôåéñòåëà, à èòåðàòèâíûì áëî÷íûì øèôðîì. Ó 3-Way ìîæåò áûòü n ýòàïîâ, Äý éìåí ðåêîìåíäóåò 11. Îïèñàíèå S-Way Ýòîò àëãîðèòì îïèñàòü íåñëîæíî. Äëÿ øèôðîâàíèÿ áëîêà îòêðûòîãî òåêñòà x: For i = 0 to n - 1 x = x XOR Ki x = theta (x) x = pi - 1 (x) x = gamma (x) x = pi - 2 (x) x = x ⊕ Kn+1 x = theta (x) Ïðè ýòîì èñïîëüçóþòñÿ ñëåäóþùèå ôóíêöèè: theta(x) - ôóíêöèÿ ëèíåéíîé ïîäñòàíîâêè, â îñíîâíîì íàáîð öèêëè÷åñêèõ ñäâèãîâ è XOR. pi - 1 (x) è pi - 2 (x) - ïðîñòûå ïåðåñòàíîâêè. gamma (x) - ôóíêöèÿ íåëèíåéíîé ïîäñòàíîâêè. Èìåííî ýòî äåéñòâèå è äàëî èìÿ âñåìó àëãîðèòìó, îíî ïðåäñòàâëÿåò ñîáîé ïàðàëëåëüíîå âûïîëíåíèå ïîäñòàíîâêè 3-áèòîâûõ äàííûõ. Äåøèôðèðîâàíèå àíàëîãè÷íî øèôðîâàíèþ çà èñêëþ÷åíèåì òîãî, ÷òî íóæíî èçìåíèòü íà îáðàòíûé ïîðÿäîê áèòîâ èñõîäíûõ äàííûõ è ðåçóëüòàòà. Èñõîäíûé êîä, ðåàëèçóþùèé 3-Way, ìîæíî íàéòè â êîíöå ýòîé êíèãè. Ïîêà îá óñïåøíîì êðèïòîàíàëèçå 3-Way íåèçâåñòíî. Àëãîðèòì íåçàïàòåíòîâàí.
14.6 CRAB Ýòîò àëãîðèòì áûë ðàçðàáîòàí Áåðòîì Êàëèñêè [Burt Kaliski] è Ìýòòîì Ðîáøîó [Matt Robshaw] èç RSA Laboratories [810].  îñíîâå Crab ëåæèò èäåÿ èñïîëüçîâàòü ìåòîäû îäíîíàïðàâëåííûõ õýø-ôóíêöèé äëÿ ñîçä àíèÿ áûñòðîãî àëãîðèòìà øèôðîâàíèÿ. Ñëåäîâàòåëüíî, Crab î÷åíü ïîõîæ íà MD5, è â ýòîì ðàçäåëå ïðåäïîëàã àåòñÿ, ÷òî âû çíàêîìû ñ ìàòåðèàëîì ðàçäåëà 18.5. Ó Crab î÷åíü áîëüøîé áëîê: 1024 áàéòà. Òàê êàê Crab áûë ïðåäñòàâëåí ñêîðåå êàê ìàòåðèàë äëÿ èññëåäîâ àíèÿ, à íå ðåàëüíûé àëãîðèòì, êîíêðåòíîé ïðîöåäóðû ãåíåðàöèè êëþ÷åé íå áûëî ïðåäëîæåíî. Àâòîðû ðàññìî òðåëè ìåòîä, êîòîðûé ïîçâîëÿåò ïðåâðàòèòü 80-áèòîâûé êëþ÷ â òðè âñïîìîãàòåëüíûõ ïîäêëþ÷à, õîòÿ àëãîðèòì ïîçâîëÿåò ëåãêî èñïîëüçîâàòü êëþ÷è ïåðåìåííîé äëèíû.  Crab èñïîëüçóåòñÿ äâà íàáîðà áîëüøèõ ïîäêëþ÷åé: Ïåðåñòàíîâêà ÷èñåë ñ 0 äî 255: P0, P1, P2, ..., P255. Ìàññèâ èç 2048 32-áèòîâûõ ÷èñåë: S0, S1, S2,..., S2047. Âñå ýòè ïîäêëþ÷è äîëæíû áûòü âû÷èñëåíû äî øèôðîâàíèÿ èëè äåøèôðèðîâàíèÿ. Äëÿ øèôðîâàíèÿ 1024áàéòîâîãî áëîêà X: (1) Ðàçäåëèòå X íà 256 32-áèòîâûõ ïîäáëîêîâ: X0, X1, X2, ..., X255. (2) Ïåðåñòàâüòå ïîäáëîêè X â ñîîòâåòñòâèè ñ P. (3) For r=0 to 3 For g = 0 to 63 A = X(4g) <<< 2r B = X(4g+1) <<< 2r C = X(4g+2) <<< 2r D = X(4g+3) <<< 2r For step s = 0 to 7 A = A ⊕ (B + fr(B, C, D) + S512r+8g+s) TEMP = D D=C C=B B = A <<< 5 A = TEMP X(4g) <<< 2r = A X(4g+1) <<< 2r = B X(4g+2) <<< 2r = C X(4g+3) <<< 2r = D (4) Ñíîâà îáúåäèíèòü X0, X1, X2, ..., X255, ïîëó÷àÿ øèôðîòåêñò. Ôóíêöèè fr(B, C, D) àíàëîãè÷íû èñïîëüçóåìûì â MD5: f0(B, C, D) = (B ∧ C) ∨ ((¬ B) ∧ D) f1(B, C, D) = (B ∧ D) ∨ (C ∧ (¬ D)) f2(B, C, D) = B ⊕ C ⊕ D f3(B, C, D) = C ⊕ (B ∨ (¬ D)) Äåøèôðèðîâàíèå ïðåäñòàâëÿåò ñîáîé îáðàòíûé ïðîöåññ. Ãåíåðèðîâàíèå ïîäêëþ÷åé ÿâëÿåòñÿ íåïðîñòîé ç àäà÷åé. Âîò êàê ïî 80-áèòîâîìó êëþ÷ó K ìîæåò áûòü ñãåíåðèðîâàí ìàññèâ ïåðåñòàíîâîê P. (1) Ïðîèíèöèàëèçèðóéòå K0, K1, K2, ..., K9 10 áàéòàìè K. (2) For i=10 to 255 Ki = Ki-2 ⊕ Ki-6 ⊕ Ki-7 ⊕ Ki-10 (3) For i=10 to 255, Pi = i
(4) m=0 (5) For j=0 to 1 For i = 256 to 1 step -1 m = (K256-i + K257-i ) mod i K257-i = K257-i <<< 3 Ïåðåñòàâèòü Pi è Pi-1 S-ìàññèâ èç 2048 32-áèòîâûõ ñëîâ ìîæåò áûòü ñãåíåðèðîâàí àíàëîãè÷íûì îáðàçîì ëèáî ïî òîìó æå 80_áèòîâîìó êëþ÷ó, ëèáî ïî äðóãîìó êëþ÷ó. Àâòîðû ïðåäóïðåæäàþò, ÷òî ýòè äåòàëè äîëæíû "ðàññìàòðèâàòüñÿ òîëüêî â êà÷åñòâå ìîòèâàöèè, ìîãóò áûòü è äðóãèå ýôôåêòèâíûå ñõåìû, îáåñïå÷èâàþùèå ëó÷øóþ áåçîïàñíîñòü" [810]. Crab áûë ïðåäëîæåí êàê èñïûòàòåëüíûé ñòåíä äëÿ íîâûõ èäåé, à íå êàê ðàáî÷èé àëãîðèòì. Âî ìíîãîì îí èñïîëüçóåò òå æå ïðèåìû, ÷òî è MD5. Áèõàì çàìåòèë, ÷òî î÷åíü áîëüøîé áëîê óïðîùàåò êðèïòîàíàëèç àëã îðèòìà [160]. Ñ äðóãîé ñòîðîíû Crab ìîæåò ïîçâîëÿòü ýôôåêòèâíî èñïîëüçîâàòü î÷åíü áîëüøîé êëþ÷.  ýòîì ñëó÷àå "óïðîùåíèå êðèïòîàíàëèçà" ìîæåò íè÷åãî íå çíà÷èòü.
14.7 SXAL8/MBAL Ýòî 64-áèòîâûé áëî÷íûé àëãîðèòì èç ßïîíèè [769]. SXAL8 - ýòî îñíîâíîé àëãîðèòì, à MBAL ïðåäñòàâëÿåò ñîáîé ðàñøèðåííóþ âåðñèþ ñ ïåðåìåííîé äëèíîé áëîêà. Òàê êàê âíóòðè MBAL âûïîëíÿåòñÿ ðÿä óìíûõ äåéñ òâèé, àâòîðû óòâåðæäàþò, ÷òî îíè ìîãóò îáåñïå÷èòü äîñòàòî÷íóþ áåçîïàñíîñòü çà ìàëîå ÷èñëî ýòàïîâ. Ïðè äëèíå áëîêà 1024 áàéòà MBAL ïðèìåðíî â 70 ðàç áûñòðåå, ÷åì DES. Ê íåñ÷àñòüþ â [1174] ïîêàçàíî, ÷òî MBAL ÷ó âñòâèòåëåí ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó, à â [865] - ÷òî îí ÷óâñòâèòåëåí è ê ëèíåéíîìó êðèïòîàíàë èçó.
14.8 RC5 RC5 ïðåäñòàâëÿåò ñîáîé áëî÷íûé ôèëüòð ñ áîëüøèì ÷èñëîì ïàðàìåòðîâ: ðàçìåðîì áëîêà, ðàçìåðîì êëþ÷à è êîëè÷åñòâîì ýòàïîâ. Îí áûë èçîáðåòåí Ðîíîì Ðèâåñòîì è ïðîàíàëèçèðîâàí â RSA Laboratories [1324, 1325]. Èñïîëüçóåòñÿ òðè äåéñòâèÿ: XOR, ñëîæåíèå è öèêëè÷åñêèå ñäâèãè. Íà áîëüøèíñòâå ïðîöåññîðîâ îïåðàöèè öèêëè÷åñêîãî ñäâèãà âûïîëíÿþòñÿ çà ïîñòîÿííîå âðåìÿ, ïåðåìåííûå öèêëè÷åñêèå ñäâèãè ÿâëÿþòñÿ íåëèíåéíîé ôóíêöèåé. Ýòè öèêëè÷åñêèå ñäâèãè, çàâèñÿùèå è îò êëþ÷à, è îò äàííûõ, ïðåäñòàâëÿþò ñîáîé èíòåðåñíóþ îï åðàöèþ. RC5 èñïîëüçóåò áëîê ïåðåìåííîé äëèíû, íî â ïðèâîäèìîì ïðèìåðå ìû îñòàíîâèìñÿ íà 64-áèòîâîì áëîêå äàííûõ. Øèôðîâàíèå èñïîëüçóåò 2 r+2 çàâèñÿùèõ îò êëþ÷à 32-áèòîâûõ ñëîâ - S0, S1, S2, ... S2r+1 - ãäå r - ÷èñëî ýòàïîâ. Ýòè ñëîâà ìû ñãåíåðèðóåì ïîçäíåå. Äëÿ øèôðîâàíèÿ ñíà÷àëà ðàçäåëèì áëîê îòêðûòîãî òåêñòà íà äâà 32-áèòîâûõ ñëîâà: A è B. (RC5 ïðåäïîëàãàåò ñëåäóþùåå ñîãëàøåíèå ïî óïàêîâêå áàéòîâ â ñëîâà: ïåðâûé áàéò çàíèìàåò ìëàäøèå áèòû ðåãèñòðà A, è ò.ä.) Çàòåì: A = A + S0 B = B + S1 For i = 1 to r: A = ((A ⊕ B) <<< B) + S2i B = ((B ⊕ A) <<< A) + S2i+1 Ðåçóëüòàò íàõîäèòñÿ â ðåãèñòðàõ A è B. Äåøèôðèðîâàíèå òàêæå ïðîñòî. Ðàçáåéòå áëîê îòêðûòîãî òåêñòà íà äâà ñëîâà, A è B, à çàòåì: For i = r down to 1: B = ((B - S2i+1) >>> A) ⊕ A A = ((A - S2i ) >>> B) ⊕ B B = B - S1 A = A - S0 Ñèìâîë ">>>" îáîçíà÷àåò öèêëè÷åñêèé ñäâèã íàïðàâî. Êîíå÷íî æå, âñå ñëîæåíèÿ è âû÷èòàíèÿ âûïîëíÿþòñÿ ïî ìîäóëþ 2 32.
Ñîçäàíèå ìàññèâà êëþ÷åé áîëåå ñëîæíî, íî òàêæå ïðÿìîëèíåéíî. Ñíà÷àëà, áàéòû êëþ÷à êîïèðóþòñÿ â ìà ññèâ L èç c 32-áèòîâûõ ñëîâ, äîïîëíÿÿ ïðè íåîáõîäèìîñòè çàêëþ÷èòåëüíîå ñëîâî íóëÿìè. Çàòåì ìàññèâ S èíèöèàëèçèðóåòñÿ ïðè ïîìîùè ëèíåéíîãî êîíãðóýíòíîãî ãåíåðàòîðà ïî ìîäóëþ 2 32: S0 = P for i = 1 to 2(r + 1) - 1: Si = (Si-1 + Q) mod 2 32 P = 0xb7e15163 è Q = 0x9e3779b9, ýòè êîíñòàíòû îñíîâûâàþòñÿ íà äâîè÷íîì ïðåäñòàâëåíèè e è phi. Íàêîíåö, ïîäñòàâëÿåì L â S: i=j=0 A=B=0 âûïîëíèòü n ðàç (ãäå n - ìàêñèìóì 2(r + 1) è c): A = Si = (Si + A + B) <<< 3 B = Li = (Li + A + B) <<< (A + B) i = (i + 1) mod 2(r + 1) j = (j + 1 ) mod c Ïî ñóòè, RC5 ïðåäñòàâëÿåò ñîáîé ñåìåéñòâî àëãîðèòìîâ. Òîëüêî ÷òî ìû îïðåäåëèëè RC5 ñ 32-áèòîâûì ñë îâîì è 64-áèòîâûì áëîêîì, íå ñóùåñòâóå ïðè÷èí, çàïðåùàþùèõ èñïîëüçîâàòü òîò æå àëãîðèòì ñ 64-áèòîâûì ñëîâîì è 128-áèòîâûì. Äëÿ w = 64, P è Q ðàâíû 0xb7e151628aed2a6b è 0x9e3779b97f4a7c15, ñîîòâåòñòâåííî. Ðèâåñò îáîçíà÷èë ðàçëè÷íûå ðåàëèçàöèè RC5 êàê RC5- w/r/b, ãäå w - ýòî ðàçìåð ñëîâà, r - ÷èñëî ýòàïîâ, à b äëèíà êëþ÷à â áàéòàõ. RC5 ÿâëÿåòñÿ íîâûì àëãîðèòìîì, íî RSA Laboratories ïîòðïòèëà äîñòàòî÷íî ìíîãî âðåìåíè, àíàëèçèðóÿ åãî ðàáîòó ñ 64-áèòîâûì áëîêîì. Ïîñëå 5 ýòàïîâ ñòàòèñòèêà âûãëÿäèò î÷åíü õîðîøî. Ïîñëå 8 ýòàïîâ êàæäûé áèò îòêðûòîãî òåêñòà âëèÿåò ïî êðàéíåé ìåðå íà îäèí öèêëè÷åñêèé ñäâèã. Äèôôåðåíöèàëüíîå âñêðûòèå òðåáóåò 2 24 âûáðàííûõ îòêðûòûõ òåêñòîâ äëÿ 5 ýòàïîâ, 2 45 äëÿ 10 ýòàïîâ, 2 53 äëÿ 12 ýòàïîâ è 2 68 äëÿ 15 ýòàïîâ. Êîíå÷íî æå, ñóùåñòâóåò òîëüêî 2 64 âîçìîæíûõ îòêðûòûõ òåêñòîâ, ïîýòîìó òàêîå âñêðûòèå íåïðèìåíèìî ïðîòèâ àëãîðèòìà ñ 15 è áîëåå ýòàïàìè. Îöåíêà äëÿ ëèíåéíîãî êðèïòîàíàëèçà ïîêàçûâàåò, ÷òî àëãîðèòì áåçîïàñåí ïîñëå 6 ýòàïîâ. Ðèâåñò ðåêîìåíäóåò èñïîëüçîâàòü íå ìåíüøå 12 ýòàïîâ, à ëó÷øå 16 [1325]. Ýòî ÷èñëî ìîæåò ìåíÿòüñÿ. RSADSI â íàñòîÿùåå âðåìÿ ïàòåíòóåò RC5, à ýòî íàçâàíèÿ çàÿâëåíî, êàê òîðãîâàÿ ìàðêà. Êîìïàíèÿ óòâå ðæäàåò, ÷òî ïëàòà çà ëèöåíçèðîâàíèå áóäåò î÷åíü ìàëà, íî ýòî ëó÷øå ïðîâåðèòü.
14.9 Äðóãèå áëî÷íûå àëãîðèòìû Ñóùåñòâóåò àëãîðèòì, íàçûâàåìûé â ëèòåðàòóðå CRYPTO-MECCANO [301], íî îí íå ÿâëÿåòñÿ áåçîïàñíûì. ×åòûðå ÿïîíñêèõ êðèïòîãðàôà íà Eurocrypt '91 ïðåäñòàâèëè àëãîðèòì, îñíîâàííûé íà õàîòè÷íûõ îòîáðàæåíèÿõ [687, 688], Áèõàì âûïîëíèë êðèïòîàíàëèç ýòîãî àëãîðèòìà íà òîé æå êîíôåðåíöèè [157]. Äðóãîé àëãîðèòì îï èðàåòñÿ íà ïîäìíîæåñòâà íåêîòîðîãî ìíîæåñòâà ñëó÷àéíûõ êîäîâ [693]. Ñóùåñòâóåò ìíîæåñòâî àëãîðèòìîâ, î ñíîâàííûõ íà òåîðèè êîäîâ, èñïðàâëÿþùèõ îøèáêè: âàðèàíò àëãîðèòìà ÌàêÝëàéñà (McEliece) (ñì. ðàçäåë 19.7) [786, 1290], àëãîðèòì Rao-Nam [1292, 733, 1504, 1291, 1056, 1057, 1058, 1293], âàðèàíòû àëãîðèòìà Rao-Nam [464, 749, 1503] è àëãîðèòì Li-Wang [964, 1561] - âñå îíè íåáåçîïàñíû. CALC òàêæå íåáåçîïàñåí [1109]. Àëã îðèòì TEA (Tiny Encryption Algorithm, Êðîøå÷íûé àëãîðèòì øèôðîâàíèÿ) ñëèøêîì íîâ, ÷òîáû åãî êîììåíò èðîâàòü [1592]. Äðóãèì àëãîðèòìîì ÿâëÿåòñÿ Vino [503]. MacGuffin, áëî÷íûé àëãîðèòì, ïðåäëîæåííûé Ìýòòîì Áëýéçîì è ìíîé, òàêæå íåáåçîïàñåí [189], îí áûë âçëîìàí íà òîé æå êîíôåðåíöèè, íà êîòîðîé îí áûë ïðåäë îæåí. BaseKing, ïîõîæèé ïî ôèëîñîôèè íà 3-way, íî èñïîëüçóþùèé 192-áèòîâûé áëîê [385], ñëèøêîì íîâ, ÷ò îáû åãî êîììåíòèðîâàòü. Êðîìå òîãî, ñóùåñòâóåò ìíîæåñòâî áëî÷íûõ àëãîðèòìîâ, ðàçðàáîòàííûõ âíå êðèïòîãðàôè÷åñêîãî ñîîáùåñ òâà. Íåêîòîðûå èç íèõ èñïîëüçóþòñÿ ðàçëè÷íûìè âîåííûìè è ïðàâèòåëüñòâåííûìè îðãàíèçàöèÿìè. Ó ìåíÿ íåò äàííûõ î òàêèõ àëãîðèòìàõ. Ñóùåñòâóþò òàêæå äåñÿòêè ÷àñòíûõ êîììåð÷åñêèõ àëãîðèòìîâ. Íåêîòîðûå èç íèõ ìîãóò áûòü õîðîøè, íåêîòîðûå íåò. Åñëè êîìïàíèÿ ïðåäïîëàãàåò, ÷òî îïóáëèêîâàíèå åå àëãîðèòìîâ íå áóäåò ñëóæèòü èíòåðåñàì êîìïàíèè, òî ëó÷øå ñîãëàñèòüñÿ ñ íåé è íå èñïîëüçîâàòü ýòè àëãîðèòìû.
14.10 Òåîðèÿ ïðîåêòèðîâàíèÿ áëî÷íîãî øèôðà  ðàçäåë 11.1 ÿ îïèñûâàë ïðèíöèïû Øåííîíà äëÿ ñìåøåíèÿ è ðàññåÿíèÿ. Ñïóñòÿ ïÿòüäåñÿò ëåò ïîñëå òîãî, êàê ýòè ïðèíöèïû áûëè âïåðâûå ñôîðìóëèðîâàíû, îíè îñòàþòñÿ êðàåóãîëüíûì êàìíåì ïðîåêòèðîâàíèÿ õîð î-
øåãî áëî÷íîãî øèôðà. Ñìåøåíèå ñëóæèò äëÿ ìàñêèðîâêè âçàèìîñâÿçåé ìåæäó îòêðûòûì òåêñòîì, øèôðîòåêñòîì è êëþ÷îì. Ïî ìíèòå, êàê äàæå íåçíà÷èòåëüíàÿ çàâèñèìîñòü ìåæäó ýòèìè òðåìÿ âåùàìè ìîæåò áûòü èñïîëüçîâàíà ïðè äèôô åðåíöèàëüíîì è ëèíåéíîì êðèïòîàíàëèçå? Õîðîøåå ñìåøåíèå íàñòîëüêî óñëîæíÿåò ñòàòèñòèêó âçàèìîñâÿçåé, ÷òî íå ðàáîòàþò äàæå ìîùíûå êðèïòîãðàôè÷åñêèå ñðåäñòâà. Äèôôóçèÿ ðàñïðîñòðàíÿåò âëèÿíèå îòäåëüíûõ áèòîâ îòêðûòîãî òåêñòà íà êàê ìîæíî áîëüøåå êîëè÷åñòâî øèôðîòåêñòà. Ýòî òàêæå ìàñêèðóåò ñòàòèñòè÷åñêèå âçàèìîñâÿçè è óñëîæíÿåò êðèïòîàíàëèç. Äëÿ áåçîïàñíîñòè äîñòàòî÷íî îäíîãî ñìåøåíèÿ. Àëãîðèòì, ñîñòîÿùèé èç åäèíñòâåííîé çàâèñÿùåé îò êëþ÷à òàáëèöû ñîîòâåòñòâèÿ 64 áèòîâ îòêðûòîãî òåêñòà 64 áèòàì øèôðîòåêñòà áûë áû äîñòàòî÷íî ñèëüíûì. Ïðîáëåìà â òîì, ÷òî äëÿ òàêîé òàáëèöû ïîòðåáîâàëîñü áû ñëèøêîì ìíîãî ïàìÿòè: 1020 áàéòîâ. Ñìûñë ñîçäàíèÿ áëî÷íîãî øèôðà è ñîñòîèò â ñîçäàíèè ÷åãî-òî ïîõîæåãî íà òàêóþ òàáëèöó, íî ïðåäúÿâëÿþùåãî ê ïàìÿòè áîëåå óìåðåííûå òðåáîâàíèÿ. Ïðèåì ñîñòîèò â òîì, ÷òîáû â îäíîì øèôðå â ðàçëè÷íûõ êîìáèíàöèÿõ ïåðèîäè÷åñêè ïåðåìåæàòü ñìåøèâ àíèå (ñ ãîðàçäî ìåíüøèìè òàáëèöàìè) è äèôôóçèþ. Ýòî íàçûâàåòñÿ ðåçóëüòèðóþùèì øèôðîì. Èíîãäà áëî÷íûé øèôð, êîòîðûé âêëþ÷àåò ïîñëåäîâàòåëüíûå ïåðåñòàíîâêè è ïîäñòàíîâêè, íàçûâàþò ñåòüþ ïåðåñòàíîâîêïîäñòàíîâîê (substitution-permutation network), èëè SP-ñåòüþ. Âçãëÿíèòå ñíîâà íà ôóíêöèþ f â DES. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì è P-áëîê ðåàëèçóþò äèôôóçèþ, à Sáëîêè - ñìåøåíèå. Ïåðåñòàíîâêà ñ ðàñøèðåíèåì è P-áëîê ëèíåéíû, S-áëîêè - íåëèíåéíû. Êàæäàÿ îïåðàöèÿ ñàìà ïî ñåáå î÷åíü ïðîñòà, íî âìåñòå îíè ðàáîòàþò î÷åíü õîðîøî. Íà ïðèìåðå DES òàêæå ìîæíî ïîêàçàòü åùå íåñêîëüêî ïðèíöèïîâ ïðîåêòèðîâàíèÿ áëî÷íîãî øèôðà. Ïåðâûì ÿâëÿåòñÿ èäåÿ èòåðàòèâíîãî áëî÷íîãî øèôðà. Ïðè ýòîì ïðåäïîëàãàåòñÿ, ÷òî ïðîñòàÿ ôóíêöèÿ ýòàïà áóäåò ï îñëåäîâàòåëüíî èñïîëüçîâàíà íåñêîëüêî ðàç. Äâóõýòàïíûé DES íå î÷åíü ñèëåí, ÷òîáû âñå áèòû ðåçóëüòàòà çàâ èñåëè îò âñåõ áèòîâ êëþ÷à è âñåõ áèòîâ èñõîäíûõ äàííûõ, íóæíî 5 ýòàïîâ [1078, 1080]. 16-ýòàïíûé DES - ýòî ñèëüíûé àëãîðèòì, 32-ýòàïíûé DES åùå ñèëüíåå. Ñåòè Ôåéñòåëà Áîëüøèíñòâî áëî÷íûõ àëãîðèòìîâ ÿâëÿþòñÿ ñåòÿìè Ôåéñòåëà (Felstel networks). Ýòà èäåÿ äàòèðóåòñÿ íà÷ àëîì 70-õ ãîäîâ [552, 553]. Âîçüìèòå áëîê äëèíîé n è ðàçäåëèòå åãî íà äâå ïîëîâèíû äëèíîé n/2: L è R. Êîíå÷íî, n äîëæíî áûòü ÷åòíûì. Ìîæíî îïðåäåëèòü èòåðàòèâíûé áëî÷íûé øèôð, â êîòîðîì ðåçóëüòàò j-ãî ýòàïà îïðåäåëÿåòñÿ ðåçóëüòàòîì ïðåäûäóùåãî ýòàïà: Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1, Ki ) Ki - ýòî ïîäêëþ÷, èñïîëüçóåìûé íà j-îì ýòàïå, à f - ýòî ïðîèçâîëüíàÿ ôóíêöèÿ ýòàïà. Ýòó êîíöåïöèþ ìîæíî óâèäåòü â DES, Lucifer, FEAL, Khufu, Khafre, LOKI, COST, CAST, Blowfish è äðóãèõ àëãîðèòìàõ. Ïî÷åìó ýòî òàê âàæíî? Ãàðàíòèðóåòñÿ, ÷òî ýòà ôóíêöèÿ ÿâëÿåòñÿ îáðàùàåìîé. Òàê êàê äëÿ îáúåä èíåíèÿ ëåâîé ïîëîâèíû ñ ðåçóëüòàòîì ôóíêöèè ýòàïà èñïîëüçóåòñÿ XOR, ñëåäóþùåå âûðàæåíèå îáÿçàòåëüíî ÿ âëÿåòñÿ èñòèííûì: Li-1 ⊕ f(Ri-1, Ki ) ⊕ f(Ri-1, Ki )= Li-1 Ãàðàíòèðóåòñÿ, ÷òî øèôð, èñïîëüçóþùèé òàêóþ êîíñòðóêöèþ, îáðàòèì, åñëè ìîæíî âîññòàíîâèòü èñõîäíûå äàííûå f íà êàæäîì ýòàïå. Ñàìà ôóíêöèÿ f íåâàæíà, îí íå îáÿçàíà áûòü îáðàòèìîé. Ìû ìîæåì ñïðîåêòèðîâàòü f íàñòîëüêî ñëîæíîé, íàñêîëüêî çàõîòèì, è íàì íå ïîòðåáóåòñÿ ðåàëèçîâûâàòü äâà ðàçëè÷íûõ àëãîðèòìà - îäèí äëÿ øèôðîâàíèÿ, à äðóãîé äëÿ äåøèôðèðîâàíèÿ. Ñòðóêòóðà ñåòè Ôåéñòåëà àâòîìàòè÷åñêè ïîçàáîòèòñÿ îá ýòîì. Ïðîñòûå ñîîòíîøåíèÿ DES îáëàäàåò ñëåäóþùèì ñâîéñòâîì: åñëè EK(P) = C, òî EK'(P') = C', ãäå P', C' è K' - ïîáèòîâûå äîïîëíåíèÿ P, C è K. Ýòî ñâîéñòâî âäâîå óìåíüøàåò ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé. Ñâîéñòâà êîìïëèìåíòàðíîñòè àëã îðèòìà LOKI óìåíüøàþò ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé â 256 ðàç. Ïðîñòîå ñîîòíîøåíèå ìîæíî îïðåäåëèòü êàê [857]: Åñëè EK(P) = C, òî Ef(K) (g(P,K)) = h(C,K) ãäå f, g è h - ïðîñòûå ôóíêöèè. Ïîä "ïðîñòûìè ôóíêöèÿìè" ÿ ïîäðàçóìåâàþ ôóíêöèè, êîòîðûå âû÷èñëÿþòñÿ ëåãêî, íàìíîãî ëåã÷å, ÷åì âûïîëíåíèå èòåðàöèè áëî÷íîãî øèôðà.  DES f ïðåäñòàâëÿåò ñîáîé ïîáèòîâîå ë îïîëíåíèå K, g - ïîáèòîâîå äîïîëíåíèå P, à h - ïîáèòîâîå äîïîëíåíèå C. Ýòî ÿâëÿåòñÿ ðåçóëüòàòîì âêðàïëåíèÿ êëþ÷à â ÷àñòü òåêñòà ñ ïîìîùüþ XOR.
Äëÿ õîðîøåãî áëî÷íîãî øèôðà íå ñóùåñòâóåò ïðîñòûõ ñîîòíîøåíèé. Ìåòîäû ïîèñêà íåêîòîðûõ èç ïîäîáíûõ ñëàáûõ ìåñò ìîæíî íàéòè â [917]. Ãðóïïîâàÿ ñòðóêòóðà Ïðè èçó÷åíèè àëãîðèòìà âîçíèêàåò âîïðîñ, íå îáðàçóåò ëè îí ãðóïïó. Ýëåìåíòàìè ãðóïïû ÿâëÿþòñÿ áëîêè øèôðîòåêñòà äëÿ êàæäîãî âîçìîæíîãî êëþ÷à, à ãðóïïîâîé îïåðàöèåé ÿâëÿåòñÿ êîìïîçèöèÿ. Èçó÷åíèå ãðóïïîâîé ñòðóêòóðû àëãîðèòìà ïðåäñòàâëÿåò ñîáîé ïîïûòêó ïîíÿòü, íàñêîëüêî óâåëè÷èâàåòñÿ ïðîñòðàíñòâî øèôðîâàíèÿ ïðè ìíîæåñòâåííîì øèôðîâàíèè. Ïîëåçíûì, îäíàêî, ÿâëÿåòñÿ íå âîïðîñ î òîì, äåéñòâèòåëüíî ëè àëãîðèòì ÿâëÿåòñÿ ãðóïïîé, à î òîì, íàñêîë üêî îí áëèçîê ê ãðóïïå. Åñëè íå õâàòàåò òîëüêî îäíîãî ýëåìåíòà, òî àëãîðèòì íå îáðàçóåò ãðóïïó, íî äâîéíîå øèôðîâàíèå áûëî áû - ñòàòèñòè÷åñêè ãîâîðÿ - ïðîñòî ïîòåðåé âðåìåíè. Ðàáîòà íàä DES ïîêàçàëà, ÷òî DES î÷åíü äàëåê îò ãðóïïû. Ñóùåñòâóåò òàêæå ðÿä èíòåðåñíûõ âîïðîñîâ î ïîëóãðóïïå, ïîëó÷àåìîé ïðè øèôðîâàíèè DES. Ñîäåðæèò ëè îíà òîæäåñòâî, òî åñòü, íå îáðàçóåò ëè îíà ãðóïïó? Èíûìè ñëîâàìè, íå ãåíåðèðóåò ëè êîãäàíèáóäü íåêîòîðàÿ êîìáèíàöèÿ îïåðàöèé øèôðîâàíèÿ (íå äåøèôðèðîâàíèÿ) òîæäåñòâåííóþ ôóíêöèþ? Åñëè òàê, íàñêîëüêî äëèííà ñàìàÿ êîðîòêàÿ òàêàÿ êîìáèíàöèÿ? Öåëüþ èññëåäîâàíèÿ ÿâëÿåòñÿ îöåíêà ïðîñòðàíñòâà êëþ÷åé äëÿ òåîðåòè÷åñêîãî âñêðûòèÿ ãðóáîé ñèëîé, à ð åçóëüòàò ïðåäñòàâëÿåò ñîáîé íàèáîëüøóþ íèæíþþ ãðàíèöó ýíòðîïèè ïðîñòðàíñòâà êëþ÷åé. Ñëàáûå êëþ÷è  õîðîøåì áëî÷íîì øèôðå âñå êëþ÷è îäèíàêîâî ñèëüíû. Îáû÷íî íåò ïðîáëåì è ïðè àëãîðèòìå ñ ìàëûì êîëè÷åñòâîì ñëàáûõ êëþ÷åé, òàêîì êàê DES. Âåðîÿòíîñòü ñëó÷àéíî âûáðàòü îäèí èç íèõ î÷åíü ìàëà, òàêîé êëþ÷ ëåãêî ïðîâåðèòü è ïðè íåîáõîäèìîñòè îòáðîñèòü. Îäíàêî, èíîãäà ýòè ñëàáûå êëþ÷è ìîãóò áûòü çàäåéñ òâîâàíû, åñëè áëî÷íûé ôèëüòð èñïîëüçóåòñÿ êàê îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ (ñì. ðàçäåë 18.11). Óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó Èññëåäîâàíèå äèôôåðåíöèàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà çíà÷èòåëüíî ïðîÿñíèëî òåîðèþ ïðîåêòèðîâ àíèÿ õîðîøåãî áëî÷íîãî øèôðà. Àâòîðû IDEA ââåëè ïîíÿòèå äèôôåðåíöèàëîâ, îáîáùåíèå îñíîâíîé èäåè õàðàêòåðèñòèê [931]. Îíè óòâåðæäàëè, ÷òî ìîæíî ñîçäàâàòü áëî÷íûå øèôðû, óñòîé÷èâûå ê âñêðûòèÿì òàêîãî ò èïà. Ðåçóëüòàòîì ïîäîáíîãî ïðîåêòèðîâàíèÿ è ÿâëÿåòñÿ IDEA [931]. Ïîçäíåå ýòî ïîíÿòèå áûëî ôîðìàëèçîâàíî â [1181, 1182], êîãäà Êàéñà Íèáåðã (Kaisa Nyberg) è Ëàðñ Êíóäñåí (Lars Knudsen) ïîêàçàëè, êàê ñîçäàâàòü áëî ÷íûå øèôðû äîêàçóåìî áåçîïàñíûå ïî îòíîøåíèþ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó. Ýòà òåîðèÿ áûëà ðà ñøèðåíà íà äèôôåðåíöèàëû âûñøèõ ïîðÿäêîâ [702, 161, 927, 858, 860] è ÷àñòè÷íûå äèôôåðåíöèàëû [860]. Ê àæåòñÿ, ÷òî äèôôåðåíöèàëû âûñøèõ ïîðÿäêîâ ïðèìåíèìû òîëüêî ê øèôðàì ñ ìàëûì ÷èñëîì ýòàïîâ, íî ÷àñòè ÷íûå äèôôåðåíöèàëû ïðåêðàñíî îáúåäèíÿþòñÿ ñ äèôôåðåíöèàëàìè. Ëèíåéíûé êðèïòîàíàëèç íîâåå, è îí âñå åùå ñîâåðøåíñòâóåòñÿ. Áûëè îïðåäåëåíû ïîíÿòèÿ êëàññèôèêàöèè êëþ÷åé [1019] è íåñêîëüêèõ ïðèáëèæåíèé [811, 812]. Åùå îäíî ðàñøèðåíèå êðèïòîàíàëèçà ìîæíî íàéòè â [1270].  [938] áûëà ïðåäïðèíÿòà ïîïûòêà îáúåäèíèòü äèôôåðåíöèàëüíûé è ëèíåéíûé êðèïòîàíàëèç â îäíîì âñêðûòèè. Ïîêà íåÿñíî, êàêàÿ ìåòîäèêà ïðîåêòèðîâàíèÿ ñìîæåò ïðîòèâîñòîÿòü ïîäîáíûì âñêðûòèÿì. Êíóäñåí äîáèëñÿ íåêîòîðîãî óñïåõà, ðàññìàòðèâàÿ íåêîòîðûå íåîáõîäèìûå (íî, âîçìîæíî, íå äîñòàòî÷íûå) êðèòåðèè òîãî, ÷òî îí íàçâàë ïðàêòè÷åñêè áåçîïàñíûìè ñåòÿìè Ôåéñòåëà - øèôðîâ, óñòîé÷èâûõ êàê ê äèôôåðåíöèàëüíîìó, òàê è ê ëèíåéíîìó êðèïòîàíàëèçó [857]. Íèáåðã ââåë äëÿ ëèíåéíîãî êðèïòîàíàëèçà àíàëîã ïîíÿòèÿ äèôôåðåíöèàëîâ â äèôôåðåíöèàëüíîì êðèïòîàíàëèçå [1180]. Äîñòàòî÷íî èíòåðåñíîé êàæåòñÿ äâîéñòâåííîñòü äèôôåðåíöèàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà. Ýòà äâî éñòâåííîñòü ñòàíîâèòñÿ î÷åâèäíîé êàê ïðè ðàçðàáîòêå ìåòîäèêè ñîçäàíèÿ õîðîøèõ äèôôåðåíöèàëüíûõ õàðàêò åðèñòèê è ëèíåéíûõ ïðèáëèæåíèé [164, 1018], òàê è ïðè ðàçðàáîòêå êðèòåðèÿ ïðîåêòèðîâàíèÿ, îáåñïå÷èâàþùåãî óñòîé÷èâîñòü àëãîðèòìîâ ê îáîèì òèïàì âñêðûòèÿ [307]. Ïîêà òî÷íî íåèçâåñòíî, êóäà çàâåäåò ýòî íàïðàâëåíèå èññëåäîâàíèé. Äëÿ íà÷àëà Äýéìåí ðàçðàáîòàë ñòðàòåãèþ ïðîåêòèðîâàíèÿ àëãîðèòìà, îñíîâàííóþ íà äèôôåðå íöèàëüíîì è ëèíåéíîì êðèïòîàíàëèçå [402]. Ïðîåêòèðîâàíèå S-áëîêîâ Ñèëà áîëüøèíñòâà ñåòåé Ôåéñòåëà - è îñîáåííî èõ óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðè ïòîàíàëèçó - íåïîñðåäñòâåííî ñâÿçàíà ñ èõ S-áëîêàìè. Ýòî ÿâèëîñü ïðè÷èíîé ïîòîêà èññëåäîâàíèé, ÷òî æå îáð àçóåò õîðîøèé S-áëîê. S-áëîê - ýòî ïðîñòî ïîäñòàíîâêà: îòîáðàæåíèå m-áèòîâûõ âõîäîâ íà n-áèòîâûå âûõîäû. Ðàíåå ÿ óïîìèíàë îá îäíîé áîëüøîé òàáëèöå îòîáðàæåíèÿ 64-áèòîâûõ âõîäîâ íà 64-áèòîâûå âûõîäû, òàêàÿ òàáëèöà ïðåäñòàâëÿëà áû ñîáîé S-áëîê ðàçìåðîì 64*64 áèòà. S-áëîê ñ m-áèòîâûì âõîäîì è n-áèòîâûì âûõîäîì íàçûâàåòñÿ m*náèòîâûì S-áëîêîì. S-áëîêè îáû÷íî ÿâëÿþòñÿ åäèíñòâåííûì íåëèíåéíûì äåéñòâèåì â àëãîðèòìå, èìåííî îíè
îáåñïå÷èâàþò áåçîïàñíîñòü áëî÷íîãî øèôðà.  îáùåì ñëó÷àå ÷åì S-áëîêè áîëüøå, òåì ëó÷øå.  DES âîñåìü ðàçëè÷íûõ 6*4-áèòîâûõ S-áëîêîâ.  Khufu è Khafre åäèíñòâåííûé 8*32-áèòîâûé S-áëîê, â LOKI 12*8-áèòîâûé S-áëîê, à â Blowfish è CAST 8*32-áèòîâûå S-áëîêè.  IDEA S-áëîêîì ïî ñóòè ÿâëÿåòñÿ óìíîæåíèå ïî ìîäóëþ, ýòî 16*16-áèòîâûé S-áëîê. ×åì áîëüøå S-áëîê, òåì òðóäíåå îáíàðóæèòü ñòàòèñòè÷åñêèå îòêëîíåíèÿ, íóæíûå äëÿ âñêðûòèÿ ñ èñïîëüçîâàíèåì ëèáî äèôôåðåíöèàëüíîãî, ëèáî ëèíåéíîãî êðèïòîàíàëèçà [653, 729, 1626]. Êðîìå òîãî, õîòÿ ñëó÷àéíûå S-áëîêè îáû÷íî íå îïòèìàëüíû ñ òî÷êè çðåíèÿ óñòîé÷èâîñòè ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó, ñèëüíûå S-áëîêè ëåã÷å íàéòè ñðåäè S-áëîêîâ áîëüøåãî ðà çìåðà. Áîëüøèíñòâî ñëó÷àéíûõ S-áëîêîâ íåëèíåéíû, íåâûðîæäåíû è îáëàäàþò ñèëüíîé óñòîé÷èâîñòüþ ê ëèíå éíîìó êðèïòîàíàëèçó - è ñ óìåíüøåíèåì ÷èñëà âõîäíûõ áèòîâ ýòà äîëÿ ñíèæàåòñÿ ìåäëåííî [1185, 1186, 1187]. Ðàçìåð m âàæíåå ðàçìåðà n. Óâåëè÷åíèå ðàçìåðà n ñíèæàåò ýôôåêòèâíîñòü äèôôåðåíöèàëüíîãî êðèïòîàí àëèçà, íî çíà÷èòåëüíî ïîâûøàåò ýôôåêòèâíîñòü äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà. Äåéñòâèòåëüíî, åñëè n≥2m-m, òî íàâåðíÿêà ñóùåñòâóåò ëèíåéíàÿ çàâèñèìîñòü äëÿ âõîäíûõ è âûõîäíûõ áèòîâ S-áëîêà. È åñëè n≥2m, òî ëèíåéíàÿ çàâèñèìîñòü ñóùåñòâóåò òîëüêî äëÿ âûõîäíûõ áèòîâ [164]. Çàìåòíîé ÷àñòüþ ðàáîòû ïî ïðîåêòèðîâàíèþ S-áëîêîâ ÿâëÿåòñÿ èçó÷åíèå ëîãè÷åñêèõ ôóíêöèé [94, 1098, 1262, 1408]. Äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè áóëåâû ôóíêöèè, èñïîëüçóåìûå â S-áëîêàõ, äîëæíû îòâå÷àòü îïð åäåëåííûì óñëîâèÿì. Îíè íå äîëæíû áûòü íè ëèíåéíûìè, íè àôôèííûìè, íè äàæå áûòü áëèçêèìè ê ëèíåéíûì èëè àôôèííûì [9, 1177, 1178, 1188]. Êîëè÷åñòâî íóëåé è åäèíèö äîëæíî áûòü ñáàëàíñèðîâàííûì, è íå äîëæíî áûòü íèêàêèõ êîððåëÿöèé ìåæäó ðàçëè÷íûìè êîìáèíàöèÿìè áèòîâ. Ïðè èçìåíåíèè íà ïðîòèâîïîëîæíûé ë þáîãî âõîäíîãî áèòà âûõîäíûå áèòû äîëæíû âåñòè ñåáÿ íåçàâèñèìî. Ýòè êðèòåðèè ïðîåêòèðîâàíèÿ òàêæå ñâÿç àíû ñ èçó÷åíèåì ôóíêöèé èçãèáà: ôóíêöèé, êîòîðûå, êàê ìîæåò áûòü ïîêàçàíî, ÿâëÿþòñÿ îïòèìàëüíî íåëèíå éíûìè. Õîòÿ îíè îïðåäåëåíû ïðîñòî è åñòåñòâåííî, èõ èçó÷åíèå î÷åíü íåëåãêî [1344, 1216, 947, 905, 1176, 1271, 295, 296, 297, 149, 349, 471, 298]. Î÷åíü âàæíûì ñâîéñòâîì ïðåäñòàâëÿåòñÿ ëàâèííûé ýôôåêò: ñêîëüêî âûõîäíûõ áèòîâ S-áëîêà èçìåíÿåòñÿ ïðè èçìåíåíèè íåêîòîðîãî ïîäìíîæåñòâà âûõîäíûõ áèòîâ. Íåòðóäíî çàäàòü äëÿ áóëåâûõ ôóíêöèé óñëîâèÿ, â ûïîëíåíèå êîòîðûõ îáåñïå÷èâàåò îïðåäåëåííûé ëàâèííûé ýôôåêò, íî ïðîåêòèðîâàíèå òàêèõ ôóíêöèé ÿâëÿåòñÿ áîëåå ñëîæíîé çàäà÷åé. Ñòðîãèé ëàâèííûé êðèòåðèé (strict avalanche criteria, SAC) îáåñïå÷èâàåò, ÷òî ñ èçì åíåíèåì îäíîãî âõîäíîãî áèòà èçìåíÿåòñÿ ðîâíî ïîëîâèíà âûõîäíûõ áèòîâ [1586]. Ñì. òàêæå [982, 571, 1262, 399].  îäíîé èç ðàáîò ýòè êðèòåðèè ðàññìàòðèâàþòñÿ â òåðìèíàõ óòå÷êè èíôîðìàöèè [1640]. Íåñêîëüêî ëåò íàçàä êðèïòîãðàôû ïðåäëîæèëè âûáèðàòü S-áëîêè òàê, ÷òîáû òàáëèöà ðàñïðåäåëåíèÿ ðàçë è÷èé äëÿ êàæäîãî S-áëîêà áûëà îäíîðîäíîé. Ýòî îáåñïå÷èëî áû óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó êðèïòîàí àëèçó çà ñ÷åò ñãëàæèâàíèÿ äèôôåðåíöèàëîâ íà ëþáîì îòäåëüíîì ýòàïå [6, 443, 444, 1177]. Ïðèìåðîì òàêîãî ïðîåêòèðîâàíèÿ ÿâëÿåòñÿ LOKI. Îäíàêî òàêîé ïîäõîä èíîãäà ñïîñîáñòâóåò äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó [172]. Äåéñòâèòåëüíî, ëó÷øèì ïîäõîäîì ÿâëÿåòñÿ ìèíèìèçèðîâàíèå ìàêñèìàëüíîãî äèôôåðåíöèàëà. Êâàíäæî Êèì (Kwangjo Kim) âûäâèíóë ïÿòü êðèòåðèåâ ïðîåêòèðîâàíèÿ S-áëîêîâ [834], ïîõîæèõ íà êðèòåðèè ïðîåêòèð îâàíèÿ S-áëîêîâ DES. Âûáîð õîðîøèõ S-áëîêîâ - íå ïðîñòàÿ çàäà÷à, ñóùåñòâóåò ìíîæåñòâî ðàçëè÷íûõ èäåé, êàê ëó÷øå ñäåëàòü ýòî. Ìîæíî âûäåëèòü ÷åòûðå ãëàâíûõ ïîäõîäà. 1. Ñëó÷àéíî âûáðàòü. ßñíî, ÷òî íåáîëüøèå ñëó÷àéíûå S-áëîêè íåáåçîïàñíû, íî áîëüøèå ñëó÷àéíûå S-áëîêè ìîãóò îêàçàòüñÿ äîñòàòî÷í î õîðîøè. Ñëó÷àéíûå S-áëîêè ñ âîñåìüþ è áîëåå âõîäàìè äîñò àòî÷íî ñèëüíû [1186, 1187]. Åùå ëó÷øå 12-áèòîâûå S-áëîêè. Óñòîé÷èâîñòü S-áëîêîâ âîçðàñòàåò, åñëè îíè îäíîâðåìåííî ÿâëÿþòñÿ è ñëó÷àéíûìè, è çàâèñÿùèìè îò êëþ÷à.  IDEA èñïîëüçóþòñÿ áîëüøèå çàâèñÿùèå îò êëþ÷à S-áëîêè. 2. Âûáðàòü è ïðîâåðèòü.  íåêîòîðûõ øèôðàõ ñâîéñòâà S-áëîêîâ, ãåíåðèðîâàííûõ ñëó÷àéíûì îáðàçîì, ïðîâåðÿþòñÿ. Ïðèìåðû òàêîãî ïîäõîäà ñîäåðæàòñÿ â [9, 729]. 3. Ðàçðàáîòàòü âðó÷íóþ. Ïðè ýòîì ìàòåìàòè÷åñêèé àïïàðàò èñïîëüçóåòñÿ êðàéíå íåçíà÷èòåëüíî: S-áëîêè ñîçäàþòñÿ ñ èñïîëüçîâàíèåì èíòóèòèâíûõ ïðèåìîâ. Áàðò Ïðåíåë (Bart Preneel) çàÿâèë, ÷òî "... òåîð åòè÷åñêè èíòåðåñíûå êðèòåðèè íåäîñòàòî÷íû [äëÿ âûáîðà áóëåâûõ ôóíêöèé S-áëîêîâ] ...", è ÷òî "... í åîáõîäèìû ñïåöèàëüíûå êðèòåðèè ïðîåêòèðîâàíèÿ" [1262]. 4. Ðàçðàáîòàòü ìàòåìàòè÷åñêè. S-áëîêè ñîçäàþòñÿ â ñîîòâåòñòâèè ñ ìàòåìàòè÷åñêèìè çàêîíàìè, ïîýòîìó îíè îáëàäàþò ãàðàíòèðîâàííîé íàäåæíîñòüþ ïî îòíîøåíèþ ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó, à òàêæå õîðîøèìè äèôôóçíûìè ñâîéñòâàìè. Ïðåêðàñíûé ïðèìåð òàêîãî ïîäõîäà ìîæíî íàéòè â [1179]. Ñóùåñòâóåò ðÿä ïðèçûâîâ îáúåäèíèòü "ìàòåìàòè÷åñêèé" è "ðó÷íîé" ïîäõîäû [1334], íî ðåàëüíî, ïî âèä èìîìó, êîíêóðèðóþò ñëó÷àéíî âûáðàííûå S-áëîêè è S-áëîêè ñ îïðåäåëåííûìè ñâîéñòâàìè. Êîíå÷íî ïðåèìóù åñòâîì ïîñëåäíåãî ïîäõîäà ÿâëÿåòñÿ îïòèìèçàöèÿ ïðîòèâ èçâåñòíûõ ìåòîäîâ âñêðûòèÿ - äèôôåðåíöèàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà - íî îáåñïå÷èâàåìàÿ ýòèì ïîäõîäîì ñòåïåíü çàùèòû îò íåèçâåñòíûõ ìåòîäîâ âñêð û-
òèÿ òàêæå íåèçâåñòíà. Ðàçðàáîò÷èêàì DES áûëî èçâåñòíî î äèôôåðåíöèàëüíîì êðèïòîàíàëèçå, è åãî S-áëîêè áûëè îïòèìèçèðîâàíû ñîîòâåòñòâóþùèì îáðàçîì. Ñêîðåå âñåãî, î ëèíåéíîì êðèïòîàíàëèçå îíè íå çíàëè, è Sáëîêè DES î÷åíü ñëàáû ïî îòíîøåíèþ ê òàêîìó ñïîñîáó âñêðûòèÿ [1018]. Ñëó÷àéíî âûáðàííûå S-áëîêè â DES áûëè áû ñëàáåå ïðîòèâ äèôôåðåíöèàëüíîãî êðèïòîàíàëèçà, íî ñèëüíåå ïðîòèâ ëèíåéíîãî êðèïòîàíàëèçà. Ñ äðóãîé ñòîðîíû ñëó÷àéíûå S-áëîêè ìîãóò íå áûòü îïòèìàëüíûìè ïî îòíîøåíèþ ê äàííûì ñïîñîáàì âñêðûòèÿ, íî îíè ìîãóò áûòü äîñòàòî÷íî áîëüøèìè è, ñëåäîâàòåëüíî, äîñòàòî÷íî íàäåæíûìè. Êðîìå òîãî, îíè, ñêîðåå âñåãî, áóäóò äîñòàòî÷íî óñòîé÷èâû è ïðîòèâ íåèçâåñòíûõ ñïîñîáîâ âñêðûòèÿ. Ñïîð âñå åùå êèïèò, íî ëè÷íî ìíå êàæåòñÿ, ÷òî S-áëîêè äîëæíû áûòü òàêèìè áîëüøèìè, íàñêîëüêî ýòî âîçìîæíî, ñëó÷àéíûìè è çàâ èñåòü îò êëþ÷à. Ïðîåêòèðîâàíèå áëî÷íîãî øèôðà Ïðîåêòèðîâàòü áëî÷íûé øèôð íåòðóäíî. Åñëè âû ðàññìàòðèâàåò 64-áèòîâûé áëî÷íûé øèôð êàê ïåðåñòàíî âêó 64-áèòîâûõ ÷èñåë, ÿñíî, ÷òî ïî÷òè âñå ýòè ïåðåñòàíîâêè áåçîïàñíû. Òðóäíîñòü ñîñòîèò â ïðîåêòèðîâàíèè áëî÷íîãî øèôðà, êîòîðûé íå òîëüêî áåçîïàñåí, íî òàêæå ìîæåò áûòü ëåãêî îïèñàí è ïðîñòî ðåàëèçîâàí. Ëåãêî ìîæíî ñïðîåêòèðîâàòü áëî÷íûé øèôð, åñëè âû èñïîëüçóåòå ïàìÿòü, äîñòàòî÷íóþ äëÿ ðàçìåùåíèÿ Sáëîêîâ 48*32. Òðóäíî ñïðîåêòèðîâàòü íåáåçîïàñíûé âàðèàíò DES, åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü â íåì 128 ýòàïîâ. Ïðè äëèíå êëþ÷à 512 áèòîâ íå ñòîèò áåñïîêîèòüñÿ î òîì, íåò ëè êàêîé-ëèáî çàâèñÿùåé îò êëþ÷à êî ìïëèìåíòàðíîñòè.
14.11 Èñïîëüçîâàíèå îäíîíàïðàâëåííûõ õýø-ôóíêöèé Ñûìûì ïðîñòûì ñïîñîáîì èñïîëüçîâàòü äëÿ øèôðîâàíèÿ îäíîíàïðàâëåííóþ õýø-ôóíêöèþ ÿâëÿåòñÿ õýø èðîâàíèå ïðåäûäóùåãî áëîêà øèôðîòåêñòà, îáúåäèíåííîãî ñ êëþ÷îì, à çàòåì âûïîëíåíèå XOR ðåçóëüòàòà ñ ò åêóùèì áëîêîì îòêðûòîãî òåêñòà: Ci = Pi ⊕ H(K, Ci-1) Pi = Ci ⊕ H(K, Pi-1) Óñòàíîâèòå äëèíó áëîêà ðàâíîé äëèíå ðåçóëüòàòà îäíîíàïðàâëåííîé õýø-ôóíêöèè. Ïî ñóòè ýòî ïðèâîäèò ê èñïîëüçîâàíèþ îäíîíàïðàâëåííîé õýø-ôóíêöèè êàê áëî÷íîãî øèôðà â ðåæèìå CFB. Ïðè ïîìîùè àíàëîãè÷íîé êîíñòðóêöèè ìîæíî èñïîëüçîâàòü îäíîíàïðàâëåííóþ õýø-ôóíêöèþ è â ðåæèìå OFB: Ci = Pi ⊕ Si ; Si = H(K, Ci-1) Pi = Ci ⊕ Si = H(K, Ci-1) Íàäåæíîñòü òàêîé ñõåìû îïðåäåëÿåòñÿ áåçîïàñíîñòüþ îäíîíàïðàâëåííîé õýø-ôóíêöèè. Karn Ýòîò ìåòîä, èçîáðåòåííûé Ôèëîì Êàðíîì (Phil Karn) è îòêðûòûé èì äëÿ ñâîáîäíîãî èñïîëüçîâàíèÿ, ñîçäàåò îáðàòèìûé àëãîðèòì øèôðîâàíèÿ èç îïðåäåëåííûõ îäíîíàïðàâëåííûõ õýø-ôóíêöèé. Àëãîðèòì ðàáîòàåò ñ 32-áàéòîâûìè áëîêàìè îòêðûòîãî òåêñòà è øèôðîòåêñòà. Äëèíà êëþ÷à ìîæåò áûòü ïðîèçâîëüíîé, õîòÿ îïðåäåëåííûå äèíû êëþ÷åé áîëåå ýôôåêòèâíû äëÿ êîíêðåòíûõ îäíîíàïðàâëåííûõ õýøôóíêöèé. Äëÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé MD4 è MD5 ëó÷øå âñåãî ïîäõîäÿò 96-áàéòîâûå êëþ÷è. Äëÿ øèôðîâàíèÿ ñíà÷àëà ðàçáåéòå îòêðûòûé òåêñò íà äâå 16-áàéòîâûõ ïîëîâèíû: Pl è Pr. Çàòåì ðàçáåéòå íà äâå 48-áàéòîâûõ ïîëîâèíû êëþ÷: Kl è Kr. P= Pl , Pr, K = Kl , Kr Äîáàâüòå Kl ê Pl è âûïîëíèòå õýøèðîâàíèå îäíîíàïðàâëåííîé õýø-ôóíêöèåé, çàòåì âûïîëíèòå XOR ðåçóë üòàòà ñ Pr, ïîëó÷àÿ Cr, ïðàâóþ ïîëîâèíó øèôðîòåêñòà. Çàòåì, äîáàâüòå Kr ê Cr âûïîëíèòå õýøèðîâàíèå îäíîíàïðàâëåííîé õýø-ôóíêöèåé. Âûïîëíèòå XOR ðåçóëüòàòà ñ Pl , ïîëó÷àÿ Cl. Íàêîíåö, îáúåäèíèòå Cr è Cl , ïîëó÷àÿ øèôðîòåêñò. Cr = Pr ⊕ H(Pl, Kl) Cl = Pl ⊕ H(Cr, Kr) C = Cl , Cr Äëÿ äåøèôðèðîâàíèÿ ïðîñòî èíâåðòèðóéòå ïðîöåññ. Äîáàâüòå Kr ê Cr, âûïîëíèòå õýøèðîâàíèå è XOR ð åçóëüòàòà ñ Cl , ïîëó÷àÿ Pl. Äîáàâüòå Kl ê Pl, âûïîëíèòå õýøèðîâàíèå è XOR ðåçóëüòàòà ñ Cr , ïîëó÷àÿ Pr.
Pl = Cl ⊕ H(Cr, Kr) Pr = Cr ⊕ H(Pl, Kl) P = Pl, Pr Îáùàÿ ñòðóêòóðà Karn ñîâïàäàåò ñ ñòðóêòóðîé ìíîæåñòâà äðóãèõ áëî÷íûõ àëãîðèòìîâ, ðàññìîòðåííûõ â ýòîì ðàçäåëå. Ó àëãîðèòìà òîëüêî äâà ýòàïà, òàê êàê åãî ñëîæíîñòü îïðåäåëÿåòñÿ îäíîíàïðàâëåííîé õýøôóíêöèåé. À, òàê êàê êëþ÷ èñïîëüçóåòñÿ òîëüêî êàê âõîä õýø-ôóíêöèè, îí íå ìîæåò áûòü ðàñêðûò äàæå ïðè ïîìîùè âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì, åñëè, êîíå÷íî, áåçîïàñíà èñïîëüçóåìàÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ. Luby-Rackoff Ìàéêë Ëþáû (Michael Luby) è ×àðëüç Ðàêîôô (Charles Rackoff) ïîêàçàëè, ÷òî Karn íå ÿâëÿåòñÿ áåçîïàñíûì [992]. Ðàññìîòðèì äâà îäíîáëî÷íûõ ñîîáùåíèÿ: AB è AC. Åñëè êðèïòîàíàëèòèêó èçâåñòíû îòêðûòûé òåêñò è øèôðîòåêñò ïåðâîãî ñîîáùåíèÿ, à òàêæå ïåðâàÿ ïîëîâèíà îòêðûòîãî òåêñòà âòîðîãî ñîîáùåíèÿ, òî îí ìîæåò ëåãêî âû÷èñëèòü âñå âòîðîå ñîîáùåíèå. Õîòÿ òàêîå âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì ðàáîòàåò òîëüêî ïðè îïðåäåëåííûõ óñëîâèÿõ, îíî ïðåäñòàâëÿåò ñîáîé ãëàâíóþ ïðîáëåìó â áåçîïàñíîñòè àëãîðèòìà. Åå óäàåòñÿ èçáåæàòü ïðè ïîìîùè òðåõýòàïíîãî àëãîðèòìà øèôðîâàíèÿ [992,1643,1644]. Îí èñïîëüçóåò òðè ðàçëè÷íûõ õýø-ôóíêöèè: H1, H2 è H3. Äàëüíåéøèå èññëåäîâàíèÿ ïîêàçàëè, ÷òî H1 ìîæåò ñîâïàäàòü ñ H2, èëè H2 ìîæåò ñîâïàäàòü ñ H3, íî íå îäíîâðåìåííî [1193]. Êðîìå òîãî, H1, H2 è H3 íå ìîãóò áûòü îñíîâàíû íà èòåðàö èÿõ îäíîé è òîé æå áàçîâîé ôóíêöèè [1643].  ëþáîì ñëó÷àå ïðè óñëîâèè, ÷òî H(k,x) âåäåò ñåáÿ êàê ïñåâäîñëó÷àéíàÿ ôóíêöèÿ, òðåõýòàïíàÿ âåðñèÿ âûãëÿäèò ñëåäóþùèì îáðàçîì: (1) Ðàçäåëèòå êëþ÷ íà äâå ïîëîâèíû: Kl è Kr. (2) Ðàçäåëèòå áëîê îòêðûòîãî òåêñòà íà äâå ïîëîâèíû: L0 è R0. (3) Îáúåäèíèòå Kl è L0 è âûïîëíèòå õýøèðîâàíèå. Âûïîëíèòå XOR ðåçóëüòàòà õýøèðîâàíèÿ ñ R0, ïîëó÷àÿ R1: R1= R0 ⊕ H(Kl, L0) (4) Îáúåäèíèòå Kr è R1 è âûïîëíèòå õýøèðîâàíèå. Âûïîëíèòå XOR ðåçóëüòàòà õýøèðîâàíèÿ ñ L0, ïîëó÷àÿ L1 L1 = L0 ⊕ H(Kr, R1) (5) Îáúåäèíèòå Kl è L1 è âûïîëíèòå õýøèðîâàíèå. Âûïîëíèòå XOR ðåçóëüòàòà õýøèðîâàíèÿ ñ R1, ïîëó÷àÿ R2: R2= R1 ⊕ H(Kl, L1) (6) Îáúåäèíèòå L1 è R2, ïîëó÷àÿ ñîîáùåíèå. Øèôð êðàòêîãî ñîäåðæàíèÿ ñîîáùåíèÿ Øèôð êðàòêîãî ñîäåðæàíèÿ ñîîáùåíèÿ(Message Digest Cipher, M DC), èçîáðåòåííûé Ïèòåðîì Ãóòìàííîì (Peter Cutmann) [676], ïðåäñòàâëÿåò ñîáîé ñïîñîá ïðåâðàòèòü îäíîíàïðàâëåííûå õýø-ôóíêöèè â áëî÷íûé øèôð, ðàáîòàþùèé â ðåæèìå CFB. Øèôð ðàáîòàåò ïî÷òè òàêæå áûñòðî, êàê è õýø-ôóíêöèÿ, è ïî êðàéíåé ìåðå í àñòîëüêî æå áåçîïàñåí. Îñòàâøàÿñÿ ÷àñòü ýòîãî ðàçäåëà ïðåäïîëàã àåò çíàêîìñòâî ñ ãëàâîé 18. Õýø ôóíêöèè, íàïðèìåð MD5 è SHA, èñïîëüçóþò 512-áèòîâûé òåêñòîâûé áëîê äëÿ ïðåîáðàçîâàíèÿ âõîäí îãî çíà÷åíèÿ (128 áèòîâ â MD5, è 160 áèòîâ â SHA) â ðåçóëüòàò òîãî æå ðàçìåðà. Ýòî ïðåîáðàçîâàíèå íåîáðàò èìî, íî ïðåêðàñíî ïîäõîäèò äëÿ ðåæèìà CFB: è äëÿ øèôðîâàíèÿ, è äëÿ äåøèôðèðîâàíèÿ èñïîëüçóåòñÿ îäíà è òà æå îïåðàöèÿ. Ðàññìîòðèì MDC ñ SHA. MDC èñïîëüçóåò 160-áèòîâûé áëîê è 512-áèòîâûé êëþ÷. Èñïîëüçóåòñÿ ïîáî÷íûé ýôôåêò õýø-ôóíêöèè, êîãäà â êà÷åñòâå ïðåæíåãî õýø-çíà÷åíèÿ áåðåòñÿ âõîäíîé áëîê îòêðûòîãî òåêñòà (160 á èòîâ), à 512-áèòîâûé âõîä õýø-ôóíêöèè èãðàåò ðîëü êëþ÷à (ñì. Ðèñ 14.5). Îáû÷íî ïðè èñïîëüçîâàíèè õýøôóíêöèè äëÿ õýøèðîâàíèÿ íåêîòîðîãî âõîäà 512-áèòîâûé âõîä ìåíÿåòñÿ ïðè õýøèðîâàíèè êàæäîãî íîâîãî 512áèòîâîãî áëîêà. Íî â äàííîì ñëó÷àå 512-áèòîâûé âõîä ñòàíîâèòñÿ íåèçìåíÿåìûì êëþ÷îì. MDC ìîæíî èñïîëüçîâàòü ñ ëþáîé îäíîíàïðàâëåííîé õýø-ôóíêöèåé: MD4, MD5, Snefru, è ò.ä. Îí íåçàï àòåíòîâàí è ìîæåò áûòü ñîâåðøåííî áåñïëàòíî èñïîëüçîâàí êåì óãîäíî êîãäà óãîäíî è äëÿ ÷åãî óãîäíî [676 ]. Îäíàêî ëè÷íî ÿ íå âåðþ â ýòó ñõåìó. Ìîæíî ïîäîáðàòü òàêîé ñïîñîá âçëîìà, íà ïðîòèâîñòîÿíèå êîòîðîìó õýø-ôóíêöèÿ íå áûëà ðàññ÷èòàíà. Õýø-ôóíêöèè íå îáÿçàíû ïðîòèâîñòîÿòü âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì, êîãäà êðèïòîàíàëèòèê âûáèðàåò íåêîòîðûå íà÷àëüíûå 160-áèòîâûå çíà÷åíèÿ, ïîëó÷àåò èõ "çàøèôðîâàííûìè" îäíèì è òåì æå 512-áèòîâûì "êëþ÷îì" è ïîëüçóåòñÿ ýòèì äëÿ ïîëó÷åíèÿ íåêîòîðîé è íôîðìàöèè îá èñïîëüçóåìîì 512-áèòîâîì êëþ÷å. Òàê êàê ðàçðàáîò÷èêè õýø-ôóíêöèé íå äîëæíû áåñïîêîèòüñÿ î òàêîé âîçìîæíîñòè, ñ÷èòàòü âàø øèôð áåçîïàñíûì ïî îòíîøåíèþ ê ïðèâåäåííîìó ñïîñîáó âñêðûòèÿ - íå ëó ÷-
øàÿ èäåÿ. Áåçîïàñíîñòü øèôðîâ, îñíîâàííûõ íà îäíîíàïðàâëåííûõ õýø-ôóíêöèÿõ Õîòÿ ýòè êîíñòðóêöèè è ìîãóò áûòü áåçîïàñíûìè, îíè çàâèñÿò îò èñïîëüçóåìîé îäíîíàïðàâëåííîé õýøôóíêöèè. Õîðîøàÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ íå îáÿçàòåëüíî äàåò áåçîïàñíûé àëãîðèòì øèôðîâàíèÿ. Ñóùåñòâóþò ðàçëè÷íûå êðèïòîãðàôè÷åñêèå òðåáîâàíèÿ. Íàïðèìåð, ëèíåéíûé êðèïòîàíàëèç áåñïîëåçåí ïðîòèâ îäíîíàïðàâëåííûõ õýø-ôóíêöèÿõ, íî äåéñòâåíåí ïðîòèâ àëãîðèòìîâ øèôðîâàíèÿ. Îäíîíàïðàâëåííàÿ õýøôóíêöèÿ, òàêàÿ êàê SHA, ìîæåò îáëàäàòü îïðåäåëåííûìè ëèíåéíûìè õàðàêòåðèñòèêàìè, êîòîðûå, íå âëèÿÿ íà åå áåçîïàñíîñòü êàê îäíîíàïðàâëåííîé õýø-ôóíêöèè, ìîãóò ñäåëàòü íåáåçîïàñíûì åå èñïîëüçîâàíèå â òàêîì àëãîðèòìå øèôðîâàíèÿ, êàê MDC. Ìíå íåèçâåñòíî íè î êàêèõ ðåçóëüòàòàõ êðèïòîàíàëèçà èñïîëüçîâàíèÿ êî íêðåòíîé îäíîíàïðàâëåííîé õýø-ôóíêöèè â êà÷åñòâå áëî÷íîãî øèôðà. Ïðåæäå ÷åì èñïîëüçîâàòü èõ äîæäèòåñü ïðîâåäåíèÿ ïîäîáíîãî àíàëèçà.
Áëîê ñîîáùåíèÿ
Âûõîäíîå çíà÷åíèå
Õýøôóíêöèÿ
Êëþ÷
Õýøôóíêöèÿ
Âûõîäíîå çíà÷åíèå Îòêðûòûé òåêñò
(a) Õýø-ôóíêöèÿ
Øèôðîòåêñò
(b) Õýø-ôóíêöèÿ êàê áëî÷íûé øèôð â ðåæèìå CFB
Ðèñ. 14-5. Øèôð êðàòêîãî ñîäåðæàíèÿ ñîîáùåíèÿ (MDC).
14.12 Âûáîð áëî÷íîãî àëãîðèòìà Ýòî î÷åíü òðóäíîå ðåøåíèå. DES ïî÷òè íàâåðíÿêà íåáåçîïàñåí ïðè èñïîëüçîâàíèè ïðîòèâ ïðàâèòåëüñòâ â åëèêèõ äåðæàâ, åñëè òîëüêî âû íå øèôðóåòå îäíèì êëþ÷îì î÷åíü ìàëûå ïîðöèè äàííûõ. Âîçìîæíî ýòîò àëã îðèòì ïîêà íåïëîõ ïðîòèâ êîãî-íèáóäü äðóãîãî, íî âñêîðå è ýòî èçìåíèòñÿ. Ìàøèíû äëÿ âñêðûòèÿ êëþ÷à DES ãðóáîé ñèëîé ñêîðî ñòàíóò ïî êàðìàíó âñåì îðãàíèçàöèÿì. Ïðåäëîæåííûå Áèõàìîì çàâèñèìûå îò êëþ÷à S-áëîêè DES áóäóò áåçîïàñíû â òå÷åíèå ïî êðàéíåé ìåðå í åñêîëüêèõ ëåò, ìîæåò áûòü çà èñêëþ÷åíèåì èñïîëüçîâàíèÿ ïðîòèâ ñàìûõ õîðîøî îáåñïå÷åííûõ ïðîòèâíèêîâ. Åñëè íåîáõîäèìàÿ áåçîïàñíîñòü äîëæíà áûòü îáåñïå÷åíà íà äåñÿòèëåòèÿ, èëè âû îïàñàåòåñü êðèïòîàíàëèòè÷ åñêèõ óñèëèé ïðàâèòåëüñòâ âåëèêèõ äåðæàâ, âîñïîëüçóéòåñü òðîéíûì DES ñ òðåìÿ íåçàâèñèìûìè êëþ÷àìè. Íåáåïîëåçíû è äðóãèå àëãîðèòìû. Ìíå íðàâèòñÿ Blowfish, ïîòîìó ÷òî îí áûñòð, è ïîòîìó ÷òî ÿ åãî ïðèä óìàë. Íåïëîõî âûãëÿäèò 3-WAY, âîçìîæíî âñå â ïîðÿäêå è ñ ÃÎÑÒîì. Ïðîáëåìà ïîñîâåòîâàòü ÷òî-íèáóäü ñ îñòîèò â òîì, ÷òî NSA ïî÷òè íàâåðíÿêà îáëàäàåò íàáîðîì ýôôåêòèâíûõ êðèïòîàíàëèòè÷åñêèõ ïðèåìîâ, êîòîðûå äî ñèõ ïîð çàñåêðå÷åíû, è ÿ íå çíàþ, êàêèå àëãîðèòìû ìîãóò áûòü âñêðûòû.  Òàáë. 14.3 äëÿ ñðàâíåíèÿ ïðèâ åäåíû âðåìåííûå ñîîòíîøåíèÿ äëÿ íåêîòîðûõ àëãîðèòìîâ. Ìîé ëþáèìûé àëãîðèòì - IDEA. Åãî 128-áèòîâûé êëþ÷ â ñî÷åòàíèè ñ óñòîé÷èâîñòüþ ê îáùåèçâåñòíûì ñðåäñòâàì êðèïòîàíàëèçà - âîò èñòî÷íèêè ìîåãî òåïëîãî è íåæíîãî ÷óâñòâà ê ýòîìó àëãîðèòìó. Ýòîò àëãîðèòì àíàëèçèðîâàëñÿ ðàçëè÷íûìè ãðóïïàìè, è íèêàêèõ ñåðüåçíûõ çàìå÷àíèé íå áûëî îïóáëèêîâàíî.  îòñóòñòâèå íåîáû÷àéíûõ êðèïòîàíàëèòè÷åñêèõ ïðîðûâîâ ÿ ñåãîäíÿ ñòàâëþ íà IDEA. Òàáë. 14-3. Ñêîðîñòè øèôðîâàíèÿ äëÿ íåêîòîðûõ áëî÷íûõ øèôðîâ íà i486SX/33 ÌÃö Àëãîðèòì Blowfish (12 ýòàïîâ)
Ñêîðîñòü øèôðîâàíèÿ (Êáàéò/ñ) 182
Àëãîðèòì MDC (ñ MD4)
Ñêîðîñòü øèôðîâàíèÿ (Êáàéò/ñ) 186
Blowfish (16 ýòàïîâ) Blowfish (20 ýòàïîâ) DES FEAL-8 FEAL-16 FEAL-32 ÃÎÑÒ IDEA Khufu (16 ýòàïîâ) Khufu (24 ýòàïîâ) Khufu (32 ýòàïîâ) Luby-Rackoff (ñ MD4) Luby-Rackoff (ñ MD5) Luby-Rackoff (ñ SHA) Lucifer
135 110 35 300 161 91 53 70 221 153 115 47 34 11 52
MDC (ñ MD5) MDC (ñ SHA) NewDES REDOC II REDOC III RC5-32/8 RC5-32/12 RC5-32/16 RC5-32/20 SAFER (6 ýòàïîâ) SAFER (8 ýòàïîâ) SAFER (10 ýòàïîâ) SAFER (12 ýòàïîâ) 3-Way Òðîéíîé DES
135 23 233 1 78 127 86 65 52 81 61 49 41 25 12
Ãëàâà 15 Îáúåäèíåíèå áëî÷íûõ øèôðîâ Ñóùåñòâóåò ìíîæåñòâî ñïîñîáîâ îáúåäèíÿòü áëî÷íûå àëãîðèòìû äëÿ ïîëó÷åíèÿ íîâûõ àëãîðèòìîâ. Ñòèìóëîì ñîçäàâàòü ïîäîáíûå ñõåìû ÿâëÿåòñÿ æåëàíèå ïîâûñèòü áåçîïàñíîñòü, íå ïðîáèðàÿñü ÷åðåç òåðíèè ñîçäàíèÿ íîâîãî àëãîðèòìà. DES ÿâëÿåòñÿ áåçîïàñíûì àëãîðèòìîì, îí ïîäâåðãàëñÿ êðèïòîàíàëèçó äîáðûõ 20 ëåò è, òåì íå ìåíåå, íàèëó÷øèì ñïîñîáîì âñêðûòèÿ îñòàåòñÿ ãðóáàÿ ñèëà . Îäíàêî êëþ÷ ñëèøêîì êîðîòîê. Ðàçâå íå ïëîõî áûëî áû èñïîëüçîâàòü DES â êà÷åñòâå êîìïîíåíòà äðóãîãî àëãîðèòìà ñ áîëåå äëèííûì êëþ÷îì ? Ýòî ïîçâîëèëî áû ïîëó÷èòü ïðåèìóùåñòâà äëèííîãî êëþ÷à ñ ãàðàíòèåé äâóõ äåñÿòèëåòèé êðèïòîàíàëèçà . Îäíèì èç ñïîñîáîâ îáúåäèíåíèÿ ÿâëÿåòñÿ ìíîãîêðàòíîå øèôðîâàíèå - äëÿ øèôðîâàíèÿ îäíîãî è òîãî æå áëîêà îòêðûòîãî òåêñòà àëãîðèòì øèôðîâàíèÿ èñïîëüçóåòñÿ íåñêîëüêî ðàç ñ íåñêîëüêèìè êëþ÷àìè . Øèôðîâàíèå êàñêàäîì ïîõîæå íà ìíîãîêðàòíîå øèôðîâàíèå, íî èñïîëüçóåò ðàçëè÷íûå àëãîðèòìû . Ñóùåñòâóþò è äðóãèå ìåòîäû. Ïîâòîðíîå øèôðîâàíèå áëîêà îòêðûòîãî òåêñòà îäíèì è òåì æå êëþ÷îì ñ ïîìîùüþ òîãî æå èëè äðóãîãî à ëãîðèòìà íåðàçóìíî. Ïîâòîðíîå èñïîëüçîâàíèå òîãî æå àëãîðèòìà íå óâåëè÷èâàåò ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé. (Íå çàáûâàéòå, ìû ïðåäïîëàãàåì, ÷òî àëãîðèòì, âêëþ÷àÿ êîëè÷åñòâî øèôðîâàíèé, èçâåñòåí êðèïòîàí àëèòèêó.) Ïðè ðàçëè÷íûõ àëãîðèòìàõ ñëîæíîñòü âñêðûòèÿ ãðóáîé ñèëîé ìîæåò âîçðàñòàòü, à ìîæåò è îñòàòüñÿ íåèçìåííîé. Åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü ìåòîäû, îïèñàííûå â ýòîé ãëàâå, óáåäèòåñü, ÷òî êëþ÷è äëÿ ï îñëåäîâàòåëüíûõ øèôðîâàíèé ðàçëè÷íû è íåçàâèñèìû .
15.1 Äâîéíîå øèôðîâàíèå Íàèâíûì ñïîñîáîì ïîâûñèòü áåçîïàñíîñòü àëãîðèòìà ÿâëÿåòñÿ øèôðîâàíèå áëîêà äâàæäû ñ äâóìÿ ðàçëè ÷íûìè êëþ÷àìè. Ñíà÷àëà áëîê øèôðóåòñÿ ïåðâûì êëþ÷îì, à çàòåì ïîëó÷èâøèéñÿ øèôðîòåêñò øèôðóåòñÿ âò îðûì êëþ÷îì. Äåøèôðèðîâàíèå ÿâëÿåòñÿ îáðàòíûì ïðîöåññîì .
C = E K2 ( E K1 ( P )) P = DK1 ( DK2 (C )) Åñëè áëî÷íûé àëãîðèòì îáðàçóåò ãðóïïó (ñì. ðàçäåë 11.3), òî âñåãäà ñóùåñòâóåò K3, äëÿ êîòîðîãî
C = E K2 ( E K1 ( P )) = E K3 ( P ) Åñëè àëãîðèòì íå îáðàçóåò ãðóïïó, òî ïðè ïîìîùè èñ÷åðïûâàþùåãî ïîèñêà âçëîìàòü ïîëó÷àþùèéñÿ äâàæäû çàøèôðîâàííûé áëîê øèôðîòåêñòà íàìíîãî ñëîæíåå . Âìåñòî 2n (ãäå n - äëèíà êëþ÷à â áèòàõ), ïîòðåáóåòñÿ 2 2n ïîïûòîê. Åñëè àëãîðèòì èñïîëüçóåò 64-áèòîâûé êëþ÷ , äëÿ îáíàðóæåíèÿ êëþ÷åé, êîòîðûìè äâàæäû çàøèôð îâàí øèôðîòåêñò, ïîòðåáóåòñÿ 2 128 ïîïûòîê. Íî ïðè âñêðûòèè ñ èçâåñòíûì îòêðûòûì òåêñòîì ýòî íå òàê . Ìåðêë è Õåëëìàí [1075] ïðèäóìàëè ñïîñîá îáìåíÿòü ïàìÿòü íà âðåìÿ, êîòîðûé ïîçâîëÿåò âñêðûòü òàêóþ ñõåìó äâîéíîãî øèôðîâàíèÿ çà 2n+1 øèôðîâàíèé, à íå çà 22n. (Îíè èñïîëüçîâàëè ýòó ñõåìó ïðîòèâ DES, íî ðåçóëüòàòû ìîæíî îáîáùèòü íà âñå áëî÷íûå àëãîðèòìû.) Ýòî âñêðûòèå íàçûâàåòñÿ "âñòðå÷à ïîñåðåäèíå", ñ îäíîé ñòîðîíû âûïîëíÿåòñÿ øèôðîâàíèå à ñ äðóãîé - äåøèôðèðîâàíèå, ïîëó÷èâøèåñÿ ïîñåðåäèíå ðåçóëüòàòû ñðàâíèâàþòñÿ .  ýòîì âñêðûòèè êðèïòîàíàëèòèêó èçâåñòíû P1, C1, P2 è C2, òàêèå ÷òî
C1 = E K2 ( E K1 ( P1 )) C2 = E K2 ( E K1 ( P2 )) Äëÿ êàæäîãî âîçìîæíîãî K (èëè K1, èëè K2), êðèïòîàíàëèòèê ðàññ÷èòûâàåò EK(P1) è ñîõðàíÿåò ðåçóëüòàò â ïàìÿòè. Ñîáðàâ âñå ðåçóëüòàòû, îí äëÿ êàæäîãî K âû÷èñëÿåò DK(C1) è èùåò â ïàìÿòè òàêîé æå ðåçóëüòàò . Åñëè òàêîé ðåçóëüòàò îáíàðóæåí, òî âîçìîæíî, ÷òî òåêóùèé êëþ÷ - K2, à êëþ÷ äëÿ ðåçóëüòàòà â ïàìÿòè - K1. Çàòåì êðèïòîàíàëèòèê øèôðóåò P1 ñ ïîìîùüþ K1 è K2. Åñëè îí ïîëó÷àåò C2, òî îí ìîæåò ãàðàíòèðîâàòü (ñ âåðîÿòíîñòüþ óñïåõà 1 ê 2 2n-2m, ãäå m - ðàçìåð áëîêà), ÷òî îí óçíàë è K1, è K2. Åñëè ýòî íå òàê, îí ïðîäîëæàåò ïîèñê . Ìàêñèìàëüíîå êîëè÷åñòâî ïîïûòîê øèôðîâàíèÿ, êîòîðîå åìó , âîçìîæíî, ïðèäåòñÿ ïðåäïðèíÿòü, ðàâíî 2*2n, èëè 2n+1. Åñëè âåðîÿòíîñòü îøèáêè ñëèøêîì âåëèêà, îí ìîæåò èñïîëüçîâàòü òðåòèé áëîê øèôðîòåêñòà, îáåñï å÷èâàÿ âåðîÿòíîñòü óñïåõà 1 ê 2 2n-3m. Ñóùåñòâóþò è äðóãèå ñïîñîáû îïòèìèçàöèè [912]. Äëÿ òàêîãî âñêðûòèÿ íóæåí áîëüøîé îáúåì ïàìÿòè: 2 n áëîêîâ. Äëÿ 56-áèòîâîãî êëþ÷à íóæíî õðàíèòü 2 56 64áèòîâûõ áëîêîâ, èëè 10 17 áàéòîâ. Òàêîé îáúåì ïàìÿòè ïîêà åùå òðóäíî ñåáå ïðåäñòàâèòü, íî ýòîãî õâàòàåò, ÷ò îáû óáåäèòü ñàìûõ ïàðàíîèäàëüíûõ êðèïòîãðàôîâ â òîì, ÷òî äâîéíûì øèôðîâàíèåì ïîëüçîâàòüñÿ íå ñòîèò .
Ïðè 128-áèòîâîì êëþ÷å äëÿ õðàíåíèÿ ïðîìåæóòî÷íûõ ðåçóëüòàòîâ ïîòðåáóåòñÿ 10 39 áàéòîâ. Åñëè ïðåäïîëîæèòü, ÷òî åñòü ñïîñîá õðàíèòü áèò èíôîðìàöèè, èñïîëüçóÿ åäèíñòâåííûé àòîì àëþìèíèÿ , óñòðîéñòâî ïàìÿòè, íóæíîå äëÿ âûïîëíåíèÿ òàêîãî âñêðûòèÿ, áóäåò ïðåäñòàâëÿòü ñîáîé àëþìèíèåâûé êóá ñ ðåáðîì, äëèíîé 1 êì . Êðîìå òîãî, âàì ïîíàäîáèòñÿ êóäà-òî åãî ïîñòàâèòü ! Âñêðûòèå "âñòðå÷à ïîñåðåäèíå" êàæåòñÿ íåâîçìîæíûì äëÿ êëþ÷åé òàêîãî ðàçìåðà. Äðóãèì ñïîñîáîì äâîéíîãî øèôðîâàíèÿ, êîòîðûé èíîãäà íàçûâàþò Davies-Price, ÿâëÿåòñÿ âàðèàíòîì CBC [435].
Ci = E K1 ( P1 ⊕ E K2 (Ci −1 )) Pi = DK1 ( Ci ) ⊕ E K2 (Ci −1 )) Óòâåðæäàåòñÿ, ÷òî "ó ýòîãî ðåæèìà íåò íèêàêèõ îñîáûõ äîñòîèíñòâ ", ê òîìó æå îí, ïî âèäèìîìó, òàê æå ÷ó âñòâèòåëåí êî âñêðûòèþ "âñòðå÷à ïîñåðåäèíå" êàê è äðóãèå ðåæèìû äâîéíîãî øèôðîâàíèÿ .
15.2 Òðîéíîå øèôðîâàíèå ñ äâóìÿ êëþ÷àìè  áîëåå èíòåðåñíîì ìåòîäå, ïðåäëîæåííîì Òà÷ìåíîì â [1551], áëîê îáðàáàòûâàåòñÿ òðè ðàçà ñ ïîìîùüþ äâóõ êëþ÷åé: ïåðâûì êëþ÷îì, âòîðûì êëþ÷îì è ñíîâà ïåðâûì êëþ÷îì . Îí ïðåäëàãàåò, ÷òîáû îòïðàâèòåëü ñíà÷àëà øèôðîâàë ïåðâûì êëþ÷îì, çàòåì äåøèôðèðîâàë âòîðûì, è îêîí÷àòåëüíî øèôðîâàë ïåðâûì êëþ÷îì . Ïîëó÷àòåëü ðàñøèôðîâûâàåò ïåðâûì êëþ÷îì, çàòåì øèôðóåò âòîðûì è, íàêîíåö, äåøèôðèðóåò ïåðâûì .
C = E K1 ( DK2 ( E K1 ( P ))) P = DK1 ( E K2 ( DK1 (C ))) Èíîãäà òàêîé ðåæèì íàçûâàþò øèôðîâàíèå-äåøèôðèðîâàíèå-øèôðîâàíèå (encrypt-decrypt-encrypt, EDE) [55]. Åñëè áëî÷íûé àëãîðèòì èñïîëüçóåò n-áèòîâûé êëþ÷, òî äëèíà êëþ÷à îïèñàííîé ñõåìû ñîñòàâëÿåò 2n áèò. Ëþáîïûòíûé âàðèàíò ñõåìû øèôðîâàíèå-äåøèôðèðîâàíèå-øèôðîâàíèå áûë ðàçðàáîòàí â IBM äëÿ ñîâìåñòèìîñòè ñ ñóùåñòâóþùèìè ðåàëèçàöèÿìè àëãîðèòìà : çàäàíèå äâóõ îäèíàêîâûõ êëþ÷åé ýêâèâàëåíòíî îäèíàðíîìó øèôðîâàíèþ. ýòèì êëþ÷îì. Ñõåìà øèôðîâàíèå-äåøèôðèðîâàíèå-øèôðîâàíèå ñàìà ïî ñåáå íå îáëàäàåò íèê àêîé áåçîïàñíîñòüþ, íî ýòîò ðåæèì áûë èñïîëüçîâàí äëÿ óëó÷øåíèÿ àëãîðèòìà DES â ñòàíäàðòàõ X9.17 è ISO 8732 [55, 761]. K1 è K2 ÷åðåäóþòñÿ äëÿ ïðåäîòâðàùåíèÿ îïèñàííîãî âûøå âñêðûòèÿ "âñòðå÷à ïîñåðåäèíå" . Åñëè
C = E K1 ( E K1 ( E K1 ( P ))) , òî êðèïòîàíàëèòèê äëÿ ëþáîãî âîçìîæíîãî K1 ìîæåò çàðàíåå âû÷èñëèòü E K1 ( E K1 ( P ))
è çàòåì âûïîëíèòü âñêðûòèå. Äëÿ ýòîãî ïîòðåáóåòñÿ òîëüêî 2n+2 øèôðîâàíèé.
Òðîéíîå øèôðîâàíèå ñ äâóìÿ êëþ÷àìè óñòîé÷èâî ê òàêîìó âñêðûòèþ . Íî Ìåðêë è Õåëëìàí ðàçðàáîòàëè äðóãîé ñïîñîá ðàçìåíà ïàìÿòè íà âðåìÿ, êîòîðûé ïîçâîëÿåò âçëîìàòü ýòîò ìåòîä øèôðîâàíèÿ çà 2n-1 äåéñòâèé, èñïîëüçóÿ 2n áëîêîâ ïàìÿòè [1075]. Äëÿ êàæäîãî âîçìîæíîãî K2 ðàñøèôðóéòå 0 è ñîõðàíèòå ðåçóëüòàò . Çàòåì ðàñøèôðóéòå 0 äëÿ êàæäîãî âîçìîæíîãî K1, ÷òîáû ïîëó÷èòü P. Âûïîëíèòå òðîéíîå øèôðîâàíèå P, ÷òîáû ïîëó÷èòü C, è çàòåì ðàñøèôðóéòå C êëþ÷îì K1. Åñëè ïîëó÷åííîå çíà÷åíèå ñîâïàäàåò ñ çíà÷åíèåì (õðàíÿùåìñÿ â ïàìÿòè), ïîëó÷åííûì ïðè äåøè ôðèðîâàíèè 0 êëþ÷îì K2, òî ïàðà K1 K2 ÿâëÿåòñÿ âîçìîæíûì ðåçóëüòàòîì ïîèñêà . Ïðîâåðüòå, òàê ëè ýòî. Åñëè íåò, ïðîäîëæàéòå ïîèñê. Âûïîëíåíèå ýòîãî âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì òðåáóåò îãðîìíîãî îáúåìà ïàìÿòè . Ïîíàäîáèòñÿ 2n âðåìåíè è ïàìÿòè, à òàêæå 2m âûáðàííûõ îòêðûòûõ òåêñòîâ. Âñêðûòèå íå î÷åíü ïðàêòè÷íî, íî âñå æå ÷ó âñòâèòåëüíîñòü ê íåìó ÿâëÿåòñÿ ñëàáîñòüþ àëãîðèòìà . Ïàóëü âàí Îîðñ÷îò (Paul van Oorschot) è Ìàéêë Âèíåð (Michael Wiener) ïðåîáðàçîâàëè ýòî âñêðûòèå êî âñêðûòèþ ñ èçâåñòíûì îòêðûòûì òåêñòîì , äëÿ êîòîðîãî íóæíî p èçâåñòíûõ îòêðûòûõ òåêñòîâ.  ïðèìåðå ïðåäïîëàãàåòñÿ, ÷òî èñïîëüçóåòñÿ ðåæèì EDE. (1) Ïðåäïîëîæèòü ïåðâîå ïðîìåæóòî÷íîå çíà÷åíèÿ a. (2) Èñïîëüçóÿ èçâåñòíûé îòêðûòûé òåêñò, ñâåñòè â òàáëèöó äëÿ êàæäîãî âîçìîæíîãî K1 âòîðîå ïðîìåæóòî÷íîå çíà÷åíèå b, ïðè ïåðâîì ïðîìåæóòî÷íîì çíà÷åíèè, ðàâíîì a: b = DK1 (C ) ãäå C - ýòî øèôðîòåêñò, ïîëó÷åííûé ïî èçâåñòíîìó îòêðûòîìó òåêñòó . (3) Äëÿ êàæäîãî âîçìîæíîãî K2 íàéòè â òàáëèöå ýëåìåíòû ñ ñîâïàäàþùèì âòîðûì ïðîìåæóòî÷íûì çíà÷åíèå
b: b = E K2 ( a ) (4) Âåðîÿòíîñòü óñïåõà ðàâíî p/m, ãäå p - ÷èñëî èçâåñòíûõ îòêðûòûõ òåêñòîâ, à m - ðàçìåð áëîêà. Åñëè ñîâïàäåíèÿ íå îáíàðóæåíû, âûáåðèòå äðóãîå a è íà÷íèòå ñíà÷àëà. Âñêðûòèå òðåáóåò 2 n+m/p âðåìåíè è p - ïàìÿòè. Äëÿ DES ýòî ðàâíî 2120/p [1558]. Äëÿ p, áîëüøèõ 256, ýòî âñêðûòèå áûñòðåå, ÷åì èñ÷åðïûâàþùèé ïîèñê . Òðîéíîå øèôðîâàíèå ñ òðåìÿ êëþ÷àìè Åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü òðîéíîå øèôðîâàíèå , ÿ ðåêîìåíäóþ òðè ðàçëè÷íûõ êëþ÷à . Îáùàÿ äëèíà êëþ÷à áîëüøå, íî õðàíåíèå êëþ÷à îáû÷íî íå ÿâëÿåòñÿ ïðîáëåìîé . Áèòû äåøåâû.
C = E K3 ( DK2 ( E K1 ( P ))) P = DK1 ( E K2 ( DK3 (C))) Äëÿ íàèëó÷øåãî âñêðûòèÿ ñ ðàçìåíîì ïàìÿòè íà âðåìÿ, êîòîðûì ÿâëÿåòñÿ "âñòðå÷à ïîñåðåäèíå", ïîòðåáóåòñÿ 22n äåéñòâèé è 2 n áëîêîâ ïàìÿòè [1075]. Òðîéíîå øèôðîâàíèå ñ òðåìÿ íåçàâèñèìûìè êëþ÷àìè áåçîïàñíî í àñòîëüêî, íàñêîëüêî íà ïåðâûé âçãëÿä êàæåòñÿ áåçîïàñíûì äâîéíîå øèôðîâàíèå . Òðîéíîå øèôðîâàíèå ñ ìèíèìàëüíûì êëþ÷îì (TEMK) Ñóùåñòâóåò áåçîïàñíûé ñïîñîá èñïîëüçîâàòü òðîéíîå øèôðîâàíèå ñ äâóìÿ êëþ÷àìè, ïðîòèâîñòîÿùèé îïèñàííîìó âñêðûòèþ è íàçûâàåìûé Òðîéíûì øèôðîâàíèåì ñ ìèíèìàëüíûì êëþ÷îì (Triple Encryption with Minimum Key, TEMK) [858]. Ôîêóñ â òîè, ÷òîáû ïîëó÷èòü òðè êëþ÷à èç: X1 è X2.
K1 = E X1 ( DX 2 ( E X1 (T1 ))) K2 = E X1 ( DX 2 ( E X1 (T2 ))) K3 = E X 1 ( DX 2 ( E X1 (T3 ))) T1, T2 è T3 ïðåäñòàâëÿþò ñîáîé êîíñòàíòû, êîòîðûå íåîáÿçàòåëüíî õðàíèòü â ñåêðåòå . Ýòà ñõåìà ãàðàíòèðóåò, ÷òî äëÿ ëþáîé êîíêðåòíîé ïàðû êëþ÷åé íàèëó÷øèì áóäåò âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì . Ðåæèìû òðîéíîãî øèôðîâàíèÿ Íåäîñòàòî÷íî ïðîñòî îïðåäåëèòü òðîéíîå øèôðîâàíèå, íóæíî âûáðàòü îäèí èç ñïîñîáîâ åãî èñïîëüçîâàíèÿ . Ðåøåíèå çàâèñèò îò òðåáóåìûõ áåçîïàñíîñòè è ýôôåêòèâíîñòè . Âîò äâà âîçìîæíûõ ðåæèìà òðîéíîãî øèôðîâ àíèÿ: Âíóòðåííèé CBC: Ôàéë òðè ðàçà øèôðóåòñÿ â ðåæèìå CBC (ñì. 14tha). Äëÿ ýòîãî íóæíî òðè ðàçëè÷íûõ IV.
Ci = E K3 ( Si ⊕ Ci −1 ); Si = DK2 ( Ti ⊕ Si −1 ); Ti = E K1 ( Pi ⊕ Ti −1 ) Pi = Ti −1 ⊕ DK1 (Ti ); Ti = Si −1 ⊕ E K2 ( Si ); Si = Ci −1 ⊕ DK3 (Ci ) C0, S0 è T0 ÿâëÿþòñÿ IV. Âíåøíèé CBC: Ôàéë òðîåêðàòíî øèôðóåòñÿ â ðåæèìå CBC (ñì. 14thb). Äëÿ ýòîãî íóæåí îäèí IV.
Ci = E K3 ( DK2 ( E K1 ( Pi ⊕ Ci −1 ))) Pi = Ci −1 ⊕ DK1 ( E K2 ( DK3 (Ci )))
E K1
E K1
E K1
E K1
E K1
E K1
DK2
DK2
DK2
DK2
DK2
DK2
E K3
E K3
E K3
E K3
E K3
E K3
(à) Âíóòðåííèé CBC
(b) Âíåøíèé CBC
Ðèñ. 15-1. Òðîéíîå øèôðîâàíèå â ðåæèìå CBC. Äëÿ îáîèõ ðåæèìîâ íóæíî áîëüøå ðåñóðñîâ, ÷åì äëÿ îäíîêðàòíîãî øèôðîâàíèÿ: áîëüøå àïïàðàòóðû èëè áîëüøå âðåìåíè. Îäíàêî ïðè òðåõ øèôðóþùèõ ìèêðîñõåìàõ ïðîèçâîäèòåëüíîñòü âíóòðåííåãî CBC íå ìåíüøå, ÷åì ïðè îäíîêðàòíîì øèôðîâàíèè . Òàê êàê òðè øèôðîâàíèÿ CBC íåçàâèñèìû, òðè ìèêðîñõåìû ìîãóò áûòü çàãðóæåíû ïîñòîÿííî, ïîäàâàÿ ñâîé âûõîä ñåáå íà âõîä . Íàïðîòèâ âî âíåøíåì CBC îáðàòíàÿ ñâÿçü íàõîäèòñÿ ñíàðóæè ïî îòíîøåíèþ ê òðåì øèôðîâàíèÿì . Ýòî îçíà÷àåò, ÷òî äàæå ñ òðåìÿ ìèêðîñõåìàìè ïðîèçâîäèòåëüíîñòü áóäåò ðàâíà òîëüêî îäíîé òðåòè ïðîèçâîäèòåëüí îñòè ïðè îäíîêðàòíîì øèôðîâàíèè . ×òîáû ïîëó÷èòü òó æå ïðîèçâîäèòåëüíîñòü äëÿ âíåøíåãî CBC, ïîòðåáóåòñÿ ÷åðåäîâàíèå IV (ñì. ðàçäåë 9.12):
Ci = E K3 ( DK2 ( E K1 ( Pi ⊕ Ci − 3 )))  ýòîì ñëó÷àå C0, C-1 è C-2 ÿâëÿþòñÿ IV. Ýòî íå ïîìîæåò ïðè ïðîãðàììíîé ðåàëèçàöèè, ðàçâå òîëüêî ïðè è ñïîëüçîâàíèè ïàðàëëåëüíîãî êîìïüþòåðà. Ê ñîæàëåíèþ ìåíåå ñëîæíûé ðåæèì ÿâëÿåòñÿ òàêæå è ìåíåå áåçîïàñíûì . Áèõàì ïðîàíàëèçèðîâàë ðàçëè÷íûå ðåæèìû ïî îòíîøåíèþ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó è îáíàðóæèë, ÷òî áåçîïàñíîñòü âíóòðåííåãî CBC ïî ñðàâíåíèþ ñ îäíîêðàòíûì øèôðîâàíèåì óâåëè÷èâàåòñÿ íåçíà÷èòåëüíî . Åñëè ðàññìàòðèâàòü òðîéíîå øèôðîâàíèå êàê åäèíûé áîëüøîé àëãîðèòì , òî âíóòðåííèå îáðàòíûå ñâÿçè ïîçâîëÿþò ââîäèòü âíåøíþþ è è çâåñòíóþ èíôîðìàöèþ âíóòðü àëãîðèòìà, ÷òî îáëåã÷àåò êðèïòîàíàëèç . Äëÿ äèôôåðåíöèàëüíûõ âñêðûòèé íóæíî îãðîìíîå êîëè÷åñòâî âûáðàííûõ øèôðîòåêñòîâ, ÷òî äåëàåò ýòè âñêðûòèÿ íå ñëèøêîì ïðàêòè÷íûìè, íî ýòèõ ðåçóëüòàòîâ äîëæíî õâàòèòü, ÷òîáû íàñòîðîæèòü ïàðàíîèäàëüíûõ ïîëüçîâàòåëåé . Àíàëèç óñòîé÷èâîñòè àëãîðèòìîâ ê âñêðûòèÿì ãðóáîé ñèëîé è "âñòðå÷åé ïîñåðåäèíå" ïîêàçàë, ÷òî îáà âàðèàíòà îäèíàêîâî áåçîïàñíû [806]. Êðîìå ýòèõ ñóùåñòâóþò è äðóãèå ðåæèìû . Ìîæíî çàøèôðîâàòü ôàéë îäèí ðàç â ðåæèìå ECB, çàòåì äâàæäû â CBC, èëè îäèí ðàç â CBC, îäèí â ECB è åùå ðàç â CBC, èëè äâàæäû â CBC è îäèí ðàç â ECB. Áèõàì ïîêàçàë, ÷òî ýòè âàðèàíòû íå áåçîïàñíåå, ÷åì îäíîêðàòíûé DES, ïðîòèâ âñêðûòèÿ äèôôåðåíöèàëüíûì êðèïòîàíàëèçîì ñ âûáðàííûì îòêðûòûì òåêñòîì [162]. Îí íå îñòàâèë áîëüøèõ íàäåæä è äëÿ äðóãèõ âàðèàíòîâ . Åñëè âû ñîáèðàåòåñü ïðèìåíÿòü òðîéíîå øèôðîâàíèå, èñïîëüçóéòå âíåøíþþ îáðàòíóþ ñâÿçü . Âàðèàíòû òðîéíîãî øèôðîâàíèÿ Ïðåæäå, ÷åì ïîÿâèëèñü äîêàçàòåëüñòâà òîãî, ÷òî DES íå îáðàçóåò ãðóïïó, äëÿ ìíîãîêðàòíîãî øèôðîâàíèÿ ïðåäëàãàëèñü ðàçëè÷íûå ñõåìû . Îäíèì èç ñïîñîáîâ îáåñïå÷èòü òî, ÷òî òðîéíîå øèôðîâàíèå íå âûðîäèòñÿ â îäíîêðàòíîå, áûëî èçìåíåíèå ýôôåêòèâíîé äèíû áëîêà . Ïðîñòûì ìåòîäîì ÿâëÿåòñÿ äîáàâëåíèå áèòàçàïîëíèòåëÿ. Ìåæäó ïåðâûì è âòîðûì, à òàêæå ìåæäó âòîðûì è òðåòüèì øèôðîâàíèÿìè òåêñò äîïîëíÿåòñÿ
ñòðîêîé ñëó÷àéíûõ áèòîâ (ñì. Ðèñ. 15.2). Åñëè PP - ýòî ôóíêöèÿ äîïîëíåíèÿ, òî:
C = E K3 ( PP ( E K2 ( PP ( E K1 ( P ))))) Ýòî äîïîëíåíèå íå òîëüêî ðàçðóøàåò øàáëîíû, íî òàêæå îáåñïå÷èâàåò ïåðåêðûòèå áëîêîâ øèôðîâàíèÿ, êàê êèðïè÷åé â ñòåíå. Ê äëèíå ñîîáùåíèÿ äîáàâëÿåòñÿ òîëüêî îäèí áëîê .
....
Îòêðûòûé òåêñò Øèôðîâàíèå
....
Çàïî ëíèò åëü
Øèôðîâàíèå
....
Çàïî ëíèò åëü
Øèôðîâàíèå
Øèôðîòåêñò
....
Ðèñ. 15-2. Òðîéíîå øèôðîâàíèå ñ çàïîëíåíèåì. Äðóãîé ìåòîä, ïðåäëîæåííûé Êàðëîì Ýëëèñîíîì ( Carl Ellison), èñïîëüçóåò íåêîòîðóþ ôóíêöèþ íåçàâèñ èìîé îò êëþ÷à ïåðåñòàíîâêè ìåæäó òðåìÿ øèôðîâàíèÿìè . Ïåðåñòàíîâêà äîëæíà ðàáîòàòü ñ áîëüøèìè áëîêàìè 8 Êáàéò èëè îêîëî ýòîãî, ÷òî äåëàåò ýôôåêòèâíûé ðàçìåð áîêà äëÿ ýòîãî âàðèàíòà ðàâíûì 8 Êáàéòàì . Ïðè óñëîâèè, ÷òî ïåðåñòàíîâêà âûïîëíÿåòñÿ áûñòðî, ýòîò âàðèàíò íåíàìíîãî ìåäëåííåå, ÷åì áàçîâîå òðîéíîå øèôð îâàíèå.
C = E K3 (T ( E K2 (T ( E K1 ( P))))) T ñîáèðàåò âõîäíûå áëîêè (äî 8 Êáàéò â äëèíó) è èñïîëüçóåò ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë äëÿ èõ ïåð åìåøèâàíèÿ. Èçìåíåíèå îäíîãî áèòà âõîäà ïðèâîäèò ê èçìåíåíèþ 8 áàéòîâ ðåçóëüòàòà ïåðâîãî øèôðîâàíèÿ, ê èçìåíåíèþ äî 64 áàéòîâ ðåçóëüòàòà âòîðîãî øèôðîâàíèÿ è ê èçìåíåíèþ äî 512 áàéòîâ ðåçóëüòàòà òðåòüåãî øèôðîâàíèÿ. Åñëè êàæäûé áëî÷íûé àëãîðèòì ðàáîòàåò â ðåæèìå CBC, êàê áûëî ïåðâîíà÷àëüíî ïðåäëîæåíî , òî èçìåíåíèå åäèíè÷íîãî áèòà âõîäà ñêîðåå âñåãî ïðèâåäåò ê èçìåíåíèþ âñåãî 8-êèëîáàéòîâîãî áëîêà, äàæå åñëè ýòîò áëîê íå ÿâëÿåòñÿ ïåðâûì. Ñàìûé ïîñëåäíèé âàðèàíò ýòîé ñõåìû îòâå÷àåò íà âñêðûòèå âíóòðåííåãî CBC, âûïîëíåííîå Áèõàìîì, äîáàâëåíèåì ïðîöåäóðû îòáåëèâàíèÿ, ÷òîáû çàìàñêèðîâàòü ñòðóêòóðó îòêðûòûõ òåêñòîâ . Ýòà ïðîöåäóðà ïðåäñòàâëÿåò ñîáîé ïîòîêîâóþ îïåðàöèþ XOR ñ êðèïòîãðàôè÷åñêè áåçîïàñíûì ãåíåðàòîðîì ïñåâäîñëó÷àéíûõ ÷èñåë è íèæå îáîçíà÷åíà êàê R. T ìåøàåò êðèïòîàíàëèòèêó îïðåäåëèòü a priori, êàêîé êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâ àíèÿ ëþáîãî çàäàííîãî áàéòà âõîäà ïîñëåäíåãî øèôðîâàíèÿ . Âòîðîå øèôðîâàíèå îáîçíà÷åíî nE (øèôðîâàíèå ñ öèêëè÷åñêèì èñïîëüçîâàíèåì n ðàçëè÷íûõ êëþ÷åé):
C = E K3 ( R (T (nE K2 ( T ( E K1 ( P )))))) Âñå øèôðîâàíèÿ âûïîëíÿþòñÿ â ðåæèìå ECB, èñïîëüçóåòñÿ íå ìåíüøå n+2 êëþ÷åé øèôðîâàíèÿ è êðèïòîãðàôè÷åñêè áåçîïàñíûé ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë . Ýòà ñõåìà áûëà ïðåäëîæåíà äëÿ èñïîëüçîâàíèÿ âìåñòå ñ DES, íî îíà ðàáîòàåò ñ ëþáûì áëî÷íûì àëãîðè òìîì. Ðåçóëüòàòû êðèïòîàíàëèçà òàêîé ñõåìû ìíå íåèçâåñòíû .
15.3 Óäâîåíèå äëèíû áëîêà  àêàäåìè÷åñêîì ñîîáùåñòâå äàâíî ñïîðÿò íà òåìó, äîñòàòî÷íà ëè 64-áèòîâàÿ äëèíà áëîêà . Ñ îäíîé ñòîðîíû 64-áèòîâûé áëîê îáåñïå÷èâàåò äèôôóçèþ îòêðûòîãî òåêñòà òîëüêî â 8 áàéòàõ øèôðîòåêñòà . Ñ äðóãîé ñòîðîíû áîëåå äëèííûé áëîê çàòðóäíÿåò áåçîïàñíóþ ìàñêèðîâêó ñòðóêòóðû, êðîìå òîãî, áîëüøå âîçìîæíîñòåé îøèáèò ü-
ñÿ. Ñóùåñòâóþò ïðåäëîæåíèÿ óäâàèâàòü äëèíó áëîêà àëãîðèòìà ñ ïîìîùüþ ìíîãîêðàòíîãî øèôðîâàíèÿ [299]. Ïðåæäå, ÷åì ðåàëèçîâûâàòü îäíî èç íèõ, îöåíèòå âîçìîæíîñòü âñêðûòèÿ "âñòðå÷à ïîñåðåäèíå" . Ñõåìà Ðè÷àðäà Àóòáðèäæà (Richard Outerbridge) [300], ïîêàçàííàÿ íà 12-é, íå áîëåå áåçîïàñíà, ÷åì òðîéíîå øèôðîâàíèå ñ îä èíàðíûì áëîêîì è äâóìÿ êëþ÷àìè [859]. Îòêðûòûé òåêñò
E K1 Ëåâàÿ ïîëîâèíà
E K1
Ïðàâàÿ ïîëîâèíà
Ëåâàÿ ïîëîâèíà
E K2 Ëåâàÿ ïîëîâèíà
Ïðàâàÿ ïîëîâèíà
E K2
Ïðàâàÿ ïîëîâèíà
Ëåâàÿ ïîëîâèíà
E K1
Ïðàâàÿ ïîëîâèíà
E K1 Øèôðîòåêñò
Ðèñ. 15-3. Óäâîåíèå äëèíû áëîêà. Îäíàêî ÿ íå ðåêîìåíäóþ èñïîëüçîâàòü ïîäîáíûé ïðèåì . Îí íå áûñòðåå îáû÷íîãî òðîéíîãî øèôðîâàíèÿ : äëÿ øèôðîâàíèÿ äâóõ áëîêîâ äàííûõ âñå òàêæå íóæíî øåñòü øèôðîâàíèé . Õàðàêòåðèñòèêè îáû÷íîãî òðîéíîãî øèôðîâàíèÿ èçâåñòíû, à çà íîâûìè êîíñòðóêöèÿìè ÷àñòî ïðÿ÷óòñÿ íîâûå ïðîáëåìû .
15.4 Äðóãèå ñõåìû ìíîãîêðàòíîãî øèôðîâàíèÿ Ïðîáëåìîé òðîéíîãî øèôðîâàíèÿ ñ äâóìÿ êëþ÷àìè ÿâëÿåòñÿ òî, ÷òî äëÿ óâåëè÷åíèÿ âäâîå ïðîñòðàíñòâà êëþ÷åé íóæíî âûïîëíÿòü òðè øèôðîâàíèÿ êàæäîãî áëîêà îòêðûòîãî òåêñòà . Ðàçâå íå çäîðîâî áûëî áû íàéòè êàêîé-íèáóäü õèòðûé ñïîñîá îáúåäèíèòü äâà øèôðîâàíèÿ, êîòîðûå óäâîèëè áû ïðîñòðàíñòâî êëþ÷åé ? Äâîéíîé OFB/ñ÷åò÷èê Ýòîò ìåòîä èñïîëüçóåò áëî÷íûé àëãîðèòì äëÿ ãåíåðàöèè äâóõ ïîòîêîâ êëþ÷åé, êîòîðûå èñïîëüçóþòñÿ äëÿ øèôðîâàíèÿ îòêðûòîãî òåêñòà.
Si = E K1 ( Si −1 ⊕ I1 ); I1 = I1 + 1 Ti = E K2 (Ti −1 ⊕ I 2 ); I 2 = I 2 + 1 Ci = Pi ⊕ Si ⊕ Ti Si è Ti - âíóòðåííèå ïåðåìåííûå, à I1 è I2 - ñ÷åò÷èêè. Äâå êîïèè áëî÷íîãî àëãîðèòìà ðàáîòàþò â íåêîòîðîì ãèáðèäíîì ðåæèìå OFB/ñ÷åò÷èê, à îòêðûòûé òåêñò, Si è Ti îáúåäèíÿþòñÿ ñ ïîìîùüþ XOR. Êëþ÷è K1 è K2 íåçàâèñèìû. Ðåçóëüòàòû êðèïòîàíàëèçà ýòîãî âàðèàíòà ìíå íåèçâåñòíû . ECB + OFB Ýòîò ìåòîä áûë ðàçðàáîòàí äëÿ øèôðîâàíèÿ íåñêîëüêèõ ñîîáùåíèé ôèêñèðîâàííîé äëèíû, íàïðèìåð, áë îêîâ äèñêà [186, 188]. Èñïîëüçóþòñÿ äâà êëþ÷à: K1 è K2. Ñíà÷àëà äëÿ ãåíåðàöèè ìàñêè äëÿ áëîêà íóæíîé äëèíû èñïîëüçóåòñÿ âûáðàííûé àëãîðèòì è êëþ÷ . Ýòà ìàñêà áóäåò èñïîëüçîâàíà ïîâòîðíî äëÿ øèôðîâàíèÿ ñîîáùåíèé òåìè æå êëþ÷àìè. Çàòåì âûïîëíÿåòñÿ XOR îòêðûòîãî òåêñòà ñîîáùåíèÿ è ìàñêè . Íàêîíåö ðåçóëüòàò XOR øèôðóåòñÿ ñ ïîìîùüþ âûáðàííîãî àëãîðèòìà è êëþ÷à K2 â ðåæèìå ECB.
Àíàëèç ýòîãî ìåòîäà ïðîâîäèëñÿ òîëüêî â òîé ðàáîòå, â êîòîðîé îí è áûë îïóáëèêîâàí . Ïîíÿòíî, ÷òî îí íå ñëàáåå îäèíàðíîãî øèôðîâàíèÿ ECB è âîçìîæíî òàêæå ñèëåí, êàê è äâîéíîå ïðèìåíåíèå àëãîðèòìà . Âåðîÿòíî, êðèïòîàíàëèòèê ìîæåò âûïîëíÿòü ïîèñê êëþ÷åé íåçàâèñèìî, åñëè îí ïîëó÷èò íåñêîëüêî îòêðûòûõ òåêñòîâ ôà éëîâ, çàøèôðîâàííûõ îäíèì êëþ÷îì . ×òîáû çàòðóäíèòü àíàëèç èäåíòè÷íûõ áëîêîâ â îäíèõ è òåõ æå ìåñòàõ ðàçëè÷íûõ ñîîáùåíèé, ìîæíî èñïîë üçîâàòü IV.  îòëè÷èè îò èñïîëüçîâàíèÿ IV â äðóãèõ ðåæèìàõ â äàííîì ñëó÷àå ïåðåä øèôðîâàíèåì ECB âûïîëíÿåòñÿ XOR êàæäîãî áëîêà ñîîáùåíèÿ ñ IV. Ìýòò Áëýéç (Matt Blaze) ðàçðàáîòàë ýòîò ðåæèì äëÿ ñâîåé UNIX Cryptographic File System (CFS , êðèïòîãðàôè÷åñêàÿ ôàéëîâàÿ ñèñòåìà). Ýòî õîðîøèé ðåæèì, ïîñêîëüêó ñêðûòûì ñîñòîÿíèåì ÿâëÿåòñÿ òîëüêî îäíî øè ôðîâàíèå â ðåæèìå ECB, ìàñêà ìîæåò áûòü ñãåíåðèðîâàíà òîëüêî îäèí ðàç è ñîõðàíåíà .  CFS â êà÷åñòâå áëî÷íîãî àëãîðèòìà èñïîëüçóåòñÿ DES. xDESi  [1644, 1645] DES èñïîëüçóåòñÿ êàê êîìïîíåíò ðÿäà áëî÷íûõ àëãîðèòìîâ ñ óâåëè÷åííûìè ðàçìåðàìè êë þ÷åé è áëîêîâ. Ýòè ñõåìû íèêàê íå çàâèñÿò îò DES, è â íèõ ìîæåò èñïîëüçîâàòüñÿ ëþáîé áëî÷íûé àëãîðèòì . Ïåðâûé, xDES1, ïðåäñòàâëÿåò ñîáîé ïðîñòî ñõåìó Luby-Rackoff ñ áëî÷íûì øèôðîì â êà÷åñòâå áàçîâîé ôóíêöèè (ñì. ðàçäåë 14.11). Ðàçìåð áëîêà â äâà ðàçà áîëüøå ðàçìåðà áëîêà èñïîëüçóåìîãî áëî÷íîãî ôèëüòðà, à ðàçìåð êëþ÷à â òðè ðàçà áîëüøå, ÷åì ó èñïîëüçóåìîãî áëî÷íîãî ôèëüòðà .  êàæäîì èç 3 ýòàïîâ ïðàâàÿ ïîëîâ èíà øèôðóåòñÿ áëî÷íûì àëãîðèòìîì è îäíèì èç êëþ÷åé, çàòåì âûïîëíÿåòñÿ XOR ðåçóëüòàòà è ëåâîé ïîëîâèíû, è ïîëîâèíû ïåðåñòàâëÿþòñÿ. Ýòî áûñòðåå, ÷åì îáû÷íîå òðîéíîå øèôðîâàíèå , òàê êàê òðåìÿ øèôðîâàíèÿìè øèôðóåòñÿ áëîê, äëèíà êîò îðîãî â äâà ðàçà áîëüøå äëèíû áëîêà èñïîëüçóåìîãî áëî÷íîãî àëãîðèòìà . Íî ïðè ýòîì ñóùåñòâóåò ïðîñòîå âñêðûòèå "âñòðå÷à ïîñåðåäèíå", êîòîðîå ïîçâîëÿåò íàéòè êëþ÷ ñ ïîìîùüþ òàáëèöû ðàçìåðîì 2 k, ãäå k - ýòî ðàçìåð êëþ÷à áëî÷íîãî àëãîðèòìà . Ïðàâàÿ ïîëîâèíà áëîêà îòêðûòîãî òåêñòà øèôðóåòñÿ ñ ïîìîùüþ âñåõ âî çìîæíûõ çíà÷åíèé K1, âûïîëíÿåòñÿ XOR ñ ëåâîé ïîëîâèíîé îòêðûòîãî òåêñòà è ïîëó÷åííûå çíà÷åíèÿ ñîõðàí ÿþòñÿ â òàáëèöå. Çàòåì ïðàâàÿ ïîëîâèíà øèôðîòåêñòà øèôðóåòñÿ ñ ïîìîùüþ âñåõ âîçìîæíûõ çíà÷åíèé K3, è âûïîëíÿåòñÿ ïîèñê ñîâïàäåíèé â òàáëèöå . Ïðè ñîâïàäåíèè ïàðà êëþ÷åé K1 è K3 - âîçìîæíûé âàðèàíò ïðàâîãî êëþ÷à. Ïîñëå íåñêîëüêèõ ïîâòîðåíèé âñêðûòèÿ îñòàíåòñÿ òîëüêî îäèí êàíäèäàò. Òàêèì îáðàçîì, xDES1 íå ÿâëÿåòñÿ èäåàëüíûì ðåøåíèåì. Äàæå õóæå, ñóùåñòâóåò âñêðûòèå ñ âûáðàííûì îòêðûòûì òåêñòîì, äîêàçûâàþùåå, ÷òî xDES1 íå íàìíîãî ñèëüíåå èñïîëüçóåìîãî â íåì áëî÷íîãî àëãîðèòìà [858].  xDES2 ýòà èäåÿ ðàñøèðÿåòñÿ äî 5-ýòàïíîãî àëãîðèòìà, ðàçìåð áëîêà êîòîðîãî â 4 ðàçà, à ðàçìåð êëþ÷à â 10 ðàç ïðåâûøàþò ðàçìåðû áëîêà è êëþ÷à èñïîëüçóåìîãî áëî÷íîãî øèôðà . Íà 11th ïîêàçàí îäèí ýòàï xDES2, êàæäûé èç ÷åòûðåõ ïîäáëîêîâ ïî ðàçìåðó ðàâåí áëîêó èñïîëüçóåìîãî áëî÷íîãî øèôðà, à âñå 10 êëþ÷åé íåçàâèñèìû.
E K1
E K2
Ðèñ. 15-4. Îäèí ýòàï xDES2. Ê òîìó æå, ýòà ñõåìà áûñòðåå, ÷åì òðîéíîå øèôðîâàíèå : äëÿ øèôðîâàíèÿ áëîêà, êîòîðûé â ÷åòûðå ðàçà áîëüøå áëîêà èñïîëüçóåìîãî áëî÷íîãî øèôðà, íóæíî 10 øèôðîâàíèé . Îäíàêî ýòîò ìåòîä ÷óâñòâèòåëåí ê äè ôôåðåíöèàëüíîìó êðèïòîàíàëèçó [858] è èñïîëüçîâàòü åãî íå ñòîèò. Òàêàÿ ñõåìà îñòàåòñÿ ÷óâñòâèòåëüíîé ê äè ôôåðåíöèàëüíîìó êðèïòîàíàëèçó, äàæå åñëè èñïîëüçóåòñÿ DES ñ íåçàâèñèìûìè êëþ÷àìè ýòàïîâ . Äëÿ i ≥ 3 xDESi âåðîÿòíî ñëèøêîì âåëèê, ÷òîáû èñïîëüçîâàòü åãî â êà÷åñòâå áëî÷íîãî àëãîðèòìà . Íàïðèìåð, ðàçìåð áëîêà äëÿ xDES3 â 6 ðàç áîëüøå, ÷åì ó ëåæàùåãî â îñíîâå áëî÷íîãî øèôðà, êëþ÷ â 21 ðàç äëèííåå, à äëÿ øèôðîâàíèÿ áëîêà, êîòîðûé â 6 ðàç äëèííåå áëîêà ëåæàùåãî â îñíîâå áëî÷íîãî øèôðà, íóæíî 21 øèôðîâàíèå .
Ýòî ìåäëåííåå, ÷åì òðîéíîå øèôðîâàíèå . Ïÿòèêðàòíîå øèôðîâàíèå Åñëè òðîéíîå øèôðîâàíèå íåäîñòàòî÷íî áåçîïàñíî - ìîæåò áûòü, âàì íóæíî øèôðîâàòü êëþ÷è òðîéíîãî øèôðîâàíèÿ, èñïîëüçóÿ åùå áîëåå ñèëüíûé àëãîðèòì - òî êðàòíîñòü øèôðîâàíèÿ ìîæíî óâåëè÷èòü . Î÷åíü óñòîé÷èâî ê âñêðûòèþ "âñòðå÷à ïîñåðåäèíå" ïÿòèêðàòíîå øèôðîâàíèå . (Àðãóìåíòû, àíàëîãè÷íûå ðàññìîòðåííûì äëÿ äâîéíîãî øèôðîâàíèÿ, ïîêàçûâàþò, ÷òî ÷åòûðåõêðàòíîå øèôðîâàíèå ïî ñðàâíåíèþ ñ òðîéíûì ëèøü íåçí à÷èòåëüíî ïîâûøàåò íàäåæíîñòü.)
C = E K1 ( DK2 ( E K3 ( DK2 ( E K1 ( P ))))) P = DK1 ( E K2 ( DK3 ( E K2 ( DK1 ( C))))) Ýòà ñõåìà îáðàòíî ñîâìåñòèìà ñ òðîéíûì øèôðîâàíèåì, åñëè K1 = K2, è ñ îäíîêðàòíûì øèôðîâàíèåì, åñëè K1 = K2 = K3. Êîíå÷íî, îíà áóäåò åùå íàäåæíåé, åñëè èñïîëüçîâàòü ïÿòü íåçàâèñèìûõ êëþ÷åé .
15.5 Óìåíüøåíèå äëèíû êëþ÷à â CDMF Ýòîò ìåòîä áûë ðàçðàáîòàí IBM äëÿ ïðîäóêòà CDMF (Commercial Data Masking Facility , Êîììåð÷åñêîå ñðåäñòâî ìàñêèðîâàíèÿ äàííûõ) (ñì. ðàçäåë 24.8), ÷òîáû ïðåâðàòèòü 56-áèòîâûé êëþ÷ DES â 40-áèòîâûé, ðàçðåøåííûé äëÿ ýêñïîðòà [785]. Ïðåäïîëàãàåòñÿ, ÷òî ïåðâîíà÷àëüíûé êëþ÷ DES ñîäåðæèò áèòû ÷åòíîñòè. (1) Îáíóëÿþòñÿ áèòû ÷åòíîñòè: áèòû 8, 16, 24, 32, 40, 48, 56, 64. (2) Ðåçóëüòàò ýòàïà (1) øèôðóåòñÿ ñ ïîìîùüþ DES êëþ÷îì 0xc408b0540ba1e0ae, ðåçóëüòàò øèôðîâàíèÿ îá úåäèíÿåòñÿ ïîñðåäñòâîì XOR ñ ðåçóëüòàòîì ýòàïà (1). (3)  ðåçóëüòàòå ýòàïà (2) îáíóëÿþòñÿ ñëåäóþùèå áèòû: 1, 2, 3, 4, 8, 16, 17, 18, 19, 2.0, 2.4, 32, 33, 34, 35, 36, 40, 48, 49, 50, 51, 52, 56, 64. (4) Ðåçóëüòàò ýòàïà (3) øèôðóåòñÿ ñ ïîìîùüþ DES êëþ÷îì 0xef2c041ce6382fe6. Ïîëó÷åííûé êëþ÷ èñïîëüç óåòñÿ äëÿ øèôðîâàíèÿ ñîîáùåíèÿ. Íå çàáûâàéòå, ÷òî ýòîò ìåòîä óêîðà÷èâàåò êëþ÷ è, ñëåäîâàòåëüíî, îñëàáëÿåò àëãîðèòì .
15.6 Îòáåëèâàíèå Îòáåëèâàíèåì (whitening) íàçûâàåòñÿ ñïîñîá, ïðè êîòîðîì âûïîëíÿåòñÿ XOR ÷àñòè êëþ÷à ñ âõîäîì áëî÷íîãî àëãîðèòìà è XOR äðóãîé ÷àñòè êëþ÷à ñ âûõîäîì áëî÷íîãî àëãîðèòìà . Âïåðâûå ýòîò ìåòîä áûë ïðèìåíåí äëÿ âàðèàíòà DESX, ðàçðàáîòàííîãî RSA Data Security, Inc., à çàòåì (ïî-âèäèìîìó, íåçàâèñèìî) â Khufu è Khafre. (Ðèâåñò è äàë èìÿ ýòîìó ìåòîäó, ýòî íåîáû÷íîå èñïîëüçîâàíèå ñëîâà .) Ñìûñë ýòèõ äåéñòâèé â òîì, ÷òîáû ïîìåøàòü êðèïòîàíàëèòèêó ïîëó÷èòü ïàðó "îòêðûòûé òåêñò/øèôðîòåêñò" äëÿ ëåæàùåãî â îñíîâå áëî÷íîãî àëãîðèòìà . Ìåòîä çàñòàâëÿåò êðèïòîàíàëèòèêà óãàäûâàòü íå òîëüêî êëþ÷ àëã îðèòìà, íî è îäíî èç çíà÷åíèé îòáåëèâàíèÿ . Òàê êàê XOR âûïîëíÿåòñÿ è ïåðåä, è ïîñëå áëî÷íîãî àëãîðèòìà, ñ÷èòàåòñÿ, ÷òî ýòîò ìåòîä óñòîé÷èâ ïðîòèâ âñêðûòèÿ "âñòðå÷à ïîñåðåäèíå" .
C = K3 ⊕ E K2 ( P ⊕ K1 ) P = K1 ⊕ DK2 (C ⊕ K3 ) Åñëè K1 = K2, òî äëÿ âñêðûòèÿ ãðóáîé ñèëîé ïîòðåáóåòñÿ 2 n+m/p äåéñòâèé, ãäå n - ðàçìåð êëþ÷à, m - ðàçìåð áëîêà, è p - êîëè÷åñòâî èçâåñòíûõ îòêðûòûõ òåêñòîâ . Åñëè K1 è K2 ðàçëè÷íû, òî äëÿ âñêðûòèÿ ãðóáîé ñèëîé ñ òðåìÿ èçâåñòíûìè îòêðûòûìè òåêñòàìè ïîòðåáóåòñÿ 2 n+m+1 äåéñòâèé. Ïðîòèâ äèôôåðåíöèàëüíîãî è ëèíåéíîãî êðèïòîàíàëèçà, òàêèå ìåðû îáåñïå÷èâàþò çàùèòó òîëüêî äëÿ íåñêîëüêèõ áèòîâ êëþ÷à. Íî ñ âû÷èñëèòåëüíîé òî÷êè çðåíèÿ ýòî î÷åíü äåøåâûé ñïîñîá ïîâûñèòü áåçîïàñíîñòü áëî÷íîãî àëãîðèòìà .
15.7 Ìíîãîêðàòíîå ïîñëåäîâàòåëüíîå èñïîëüçîâàíèå áëî÷íûõ àëãîðèòìîâ À êàê íàñ÷åò øèôðîâàíèÿ ñíà÷àëà àëãîðèòìîì À è êëþ÷îì ÊÀ, à çàòåì åùå ðàç àëãîðèòìîì  è êëþ÷îì ÊÂ? Ìîæåò áûòü ó Àëèñû è Áîáà ðàçëè÷íûå ïðåäñòàâëåíèÿ î òîì, êàêîé àëãîðèòì áåçîïàñíåå : Àëèñà õî÷åò ïîëüçîâàòüñÿ àëãîðèòìîì À, à Áîá - àëãîðèòìîì  . Ýòîò ïðèåì, èíîãäà íàçûâàåìûé ïîñëåäîâàòåëüíûì èñïîëüçîâàíèåì (cascading), ìîæíî ðàñïðîñòðàíèòü è íà áîëüøåå êîëè÷åñòâî àëãîðèòìîâ è êëþ÷åé . Ïåññèìèñòû óòâåðæäàëè, ÷òî ñîâìåñòíîå èñïîëüçîâàíèå äâóõ àëãîðèòìîâ íå ãàðàíòèðóåò ïîâûøåíèÿ áåç îïàñíîñòè. Àëãîðèòìû ìîãóò âçàèìîäåéñòâîâàòü êàêèì-òî õèòðûì ñïîñîáîì, ÷òî íà ñàìîì äåëå äàæå óìåíüøèò. Äàæå òðîéíîå øèôðîâàíèå òðåìÿ ðàçëè÷íûìè àëãîðèòìàìè ìîæåò íå áûòü íàñòîëüêî áåçîïàñíûì, íàñêîëüêî
âàì ýòî êàæåòñÿ. Êðèïòîãðàôèÿ - äîñòàòî÷íî òåìíîå èñêóññòâî, åñëè âû íå ñîâñåì ïîíèìàåòå, ÷òî äåëàåòå, òî ìîæåòå ëåãêî ïîïàñòü â áåäó. Äåéñòâèòåëüíîñòü íàìíîãî ñâåòëåå . Óïîìÿíóòûå ïðåäîñòåðåæåíèÿ âåðíû, òîëüêî åñëè ðàçëè÷íûå êëþ÷è ç àâèñÿò äðóã îò äðóãà. Åñëè âñå èñïîëüçóåìûå êëþ÷è íåçàâèñèìû, òî ñëîæíîñòü âçëîìà ïîñëåäîâàòåëüíîñòè àëã îðèòìîâ ïî êðàéíåé ìåðå íå ìåíüøå, ÷åì ñëîæíîñòü âçëîìà ïåðâîãî èç ïðèìåíÿåìûõ àëãîðèòìîâ [1033]. Åñëè âòîðîé àëãîðèòì ÷óâñòâèòåëåí ê âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì, òî ïåðâûé àëãîðèòì ìîæåò îáëå ã÷èòü ýòî âñêðûòèå è ïðè ïîñëåäîâàòåëüíîì èñïîëüçîâàíèè ñäåëàòü âòîðîé àëãîðèòì ÷óâñòâèòåëüíûì ê âñêð ûòèþ ñ èçâåñòíûì îòêðûòûì òåêñòîì . Òàêîå âîçìîæíîå îáëåã÷åíèå âñêðûòèÿ íå îãðàíè÷èâàåòñÿ òîëüêî àëãîðè òìàìè øèôðîâàíèÿ: åñëè âû ïîçâîëèòå êîìó-òî äðóãîìó îïðåäåëèòü ëþáîé èç àëãîðèòìîâ, äåëàþùèõ ÷òî-òî ñ âàøèì ñîîáùåíèåì äî øèôðîâàíèÿ, ñòîèò óäîñòîâåðèòüñÿ, ÷òî âàøå øèôðîâàíèå óñòîé÷èâî ïî îòíîøåíèþ ê âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì . (Îáðàòèòå âíèìàíèå, ÷òî íàèáîëåå ÷àñòî èñïîëüçóåìûì àëãîðèòìîì äëÿ ñæàòèÿ è îöèôðîâêè ðå÷è äî ìîäåìíûõ ñêîðîñòåé, ïðèìåíÿåìûì ïåðåä ëþáûì àëãîðèòìîì øèôðîâàíèÿ, ÿâëÿåòñÿ CELP, ðàçðàáîòàííûé NSA.) Ýòî ìîæíî ñôîðìóëèðîâàòü è èíà÷å : Ïðè èñïîëüçîâàíèè âñêðûòèÿ ñ âûáðàííûì îòêðûòûì òåêñòîì ïîñë åäîâàòåëüíîñòü øèôðîâ âçëîìàòü íå ëåã÷å, ÷åì ëþáîé èç øèôðîâ ïîñëåäîâàòåëüíîñòè [858]. Ðÿä ðåçóëüòàòîâ ïîêàçàë, ÷òî ïîñëåäîâàòåëüíîå øèôðîâàíèå âçëîìàòü ïî êðàéíåé ìåðå íå ëåã÷å, ÷åì ñàìûé ñèëüíûé èç øèôðîâ ïîñëåäîâàòåëüíîñòè, íî â îñíîâå ýòèõ ðåçóëüòàòîâ ëåæàò íåêîòîðûå íåñôîðìóëèðîâàííûå ïðåäïîëîæåíèÿ [528]. Òîëüêî åñëè àëãîðèòìû êîììóòàòèâíû , êàê â ñëó÷àå êàñêàäíûõ ïîòîêîâûõ øèôðîâ (èëè áëî÷íûõ øèôðîâ â ð åæèìå OFB), íàäåæíîñòü èõ ïîñëåäîâàòåëüíîñòè íå ìåíüøå, ÷åì ó ñèëüíåéøåãî èç èñïîëüçóåìûõ àëãîðèòìîâ . Åñëè Àëèñà è Áîá íå äîâåðÿþò àëãîðèòìàì äðóã äðóãà , îíè ìîãóò èñïîëüçîâàòü èõ ïîñëåäîâàòåëüíî . Äëÿ ïîòîêîâûõ àëãîðèòìîâ èõ ïîðÿäîê íå èìååò çíà÷åíèÿ . Ïðè èñïîëüçîâàíèè áëî÷íûõ àëãîðèòìîâ Àëèñà ìîæåò ñí à÷àëà èñïîëüçîâàòü àëãîðèòì A, à çàòåì àëãîðèòì B. Áîá, êîòîðûé áîëüøå äîâåðÿåò àëãîðèòìó B, ìîæåò èñïîëüçîâàòü àëãîðèòì B ïåðåä àëãîðèòìîì A. Ìåæäó àëãîðèòìàìè îíè ìîãóò âñòàâèòü õîðîøèé ïîòîêîâûé øèôð. Ýòî íå ïðè÷èíèò âðåäà è ìîæåò çíà÷èòåëüíî ïîâûñèòü áåçîïàñíîñòü . Íå çàáóäüòå, ÷òî êëþ÷è äëÿ êàæäîãî àëãîðèòìà ïîñëåäîâàòåëüíîñòè äîëæíû áûòü íåçàâèñèìûìè . Åñëè àëãîðèòì A èñïîëüçóåò 64-áèòîâûé êëþ÷, à àëãîðèòì B - 128-áèòîâûé êëþ÷, òî ïîëó÷èâøàÿñÿ ïîñëåäîâàòåëüíîñòü äîëæíà èñïîëüçîâàòü 192-áèòîâûé êëþ÷ . Ïðè èñïîëüçîâàíèè çàâèñèìûõ êëþ÷åé ó ïåññèìèñòîâ ãîðàçäî áîëüøå øàíñîâ îêàçàòüñÿ ïðàâûìè.
15.8 Îáúåäèíåíèå íåñêîëüêèõ áëî÷íûõ àëãîðèòìîâ Âîò äðóãîé ñïîñîá îáúåäèíèòü íåñêîëüêî áëî÷íûõ àëãîðèòìîâ , áåçîïàñíîñòü êîòîðîãî ãàðàíòèðîâàíî áóäåò ïî êðàéíåé ìåðå íå ìåíüøå, ÷åì áåçîïàñíîñòü îáîèõ àëãîðèòìîâ . Äëÿ äâóõ àëãîðèòìîâ (è äâóõ íåçàâèñèìûõ êëþ÷åé): (1) Ãåíåðèðóåòñÿ ñòðîêà ñëó÷àéíûõ áèòîâ R òîãî æå ðàçìåðà, ÷òî è ñîîáùåíèå Ì. (2) R øèôðóåòñÿ ïåðâûì àëãîðèòìîì. (3) Ì ⊕ R øèôðóåòñÿ âòîðûì àëãîðèòìîì. (4) Øèôðîòåêñò ñîîáùåíèÿ ÿâëÿåòñÿ îáúåäèíåíèåì ðåçóëüòàòîâ ýòàïîâ (2) è (3). Ïðè óñëîâèè, ÷òî ñòðîêà ñëó÷àéíûõ áèòîâ äåéñòâèòåëüíî ñëó÷àéíà , ýòîò ìåòîä øèôðóåò M ñ ïîìîùüþ îäíîðàçîâîãî áëîêíîòà, à çàòåì ñîäåðæèìîå áëîêíîòà è ïîëó÷èâøååñÿ ñîîáùåíèå øèôðóþòñÿ êàæäûì èç äâóõ àëã îðèòìîâ. Òàê êàê è òî, è äðóãîå íåîáõîäèìî äëÿ âîññòàíîâëåíèÿ M, êðèïòîàíàëèòèêó ïðèäåòñÿ âçëàìûâàòü îáà àëãîðèòìà. Íåäîñòàòêîì ÿâëÿåòñÿ óäâîåíèå ðàçìåðà øèôðîòåêñòà ïî ñðàâíåíèþ ñ îòêðûòûì òåêñòîì . Ýòîò ìåòîä ìîæíî ðàñøèðèòü äëÿ íåñêîëüêèõ àëãîðèòìîâ, íî äîáàâëåíèå êàæäîãî àëãîðèòìà óâåëè÷èâàåò øèôðîòåêñò. Ñàìà ïî ñåáå èäåé õîðîøà, íî, êàê ìíå êàæåòñÿ, íå î÷åíü ïðàêòè÷íà .
Ãëàâà 16 Ãåíåðàòîðû ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé è ïîòîêîâûå øèôðû 16.1 Ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû Ëèíåéíûìè êîíãðóýíòíûìè ãåíåðàòîðàìè ÿâëÿþòñÿ ãåíåðàòîðû ñëåäóþùåé ôîðìû Xn = (aXn-1 + b) mod m â êîòîðûõ Xn - ýòî n-ûé ÷ëåí ïîñëåäîâàòåëüíîñòè, à Xn-1 - ïðåäûäóùèé ÷ëåí ïîñëåäîâàòåëüíîñòè . Ïåðåìåííûå a, b è m - ïîñòîÿííûå: a - ìíîæèòåëü, b - èíêðåìåíò, è m - ìîäóëü. Êëþ÷îì, èëè çàòðàâêîé, ñëóæèò çíà÷åíèå X0. Ïåðèîä òàêîãî ãåíåðàòîðà íå áîëüøå, ÷åì m. Åñëè a, b è m âûáðàíû ïðàâèëüíî, òî ãåíåðàòîð áóäåò ãåíåðàòîðîì ñ ìàêñèìàëüíûì ïåðèîäîì (èíîãäà íàçûâàåìûì ìàêñèìàëüíîé äëèíîé ), è åãî ïåðèîä áóäåò ðàâåí m. (Íàïðèìåð, b äîëæíî áûòü âçàèìíî ïðîñòûì ñ m.) Ïîäðîáíîå îïèñàíèå âûáîðà êîíñòàíò äëÿ ïîëó÷åíèÿ ìàêñ èìàëüíîãî ïåðèîäà ìîæíî íàéòè â [863, 942]. Åùå îäíîé õîðîøåé ñòàòüåé ïî ëèíåéíûì êîíãðóýíòíûì ãåíåðàò îðàì è èõ òåîðèè ÿâëÿåòñÿ [1446].  15-é, âçÿòîé èç [1272,], ïåðå÷èñëÿþòñÿ õîðîøèå êîíñòàíòû ëèíåéíûõ êîíãðóýíòíûõ ãåíåðàòîðîâ . Âñå îíè îáåñïå÷èâàþò ãåíåðàòîðû ñ ìàêñèìàëüíûì ïåðèîäîì è, ÷òî äàæå áîëåå âàæíî, óäîâëåòâîðÿþò ñïåêòðàëüíîìó òåñòó íà ñëó÷àéíîñòü äëÿ ðàçìåðíîñòåé 2, 3, 4, 5 è 6 [385, 863]. Òàáëèöà îðãàíèçîâàíà ïî ìàêñèìàëüíîìó ïðîè çâåäåíèþ, êîòîðîå íå âûçûâàåò ïåðåïîëíåíèÿ â ñëîâå óêàçàííîé äëèíû . Ïðåèìóùåñòâîì ëèíåéíûõ êîíãðóýíòíûõ ãåíåðàòîðîâ ÿâëÿåòñÿ èõ áûñòðîòà çà ñ÷åò ìàëîãî êîëè÷åñòâà îï åðàöèé íà áèò. Ê íåñ÷àñòüþ ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû íåëüçÿ èñïîëüçîâàòü â êðèïòîãðàôèè, òàê êàê îíè ïðåäñê àçóåìû. Âïåðâûå ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû áûëè âçëîìàíû Äæèìîì Ðèäñîì (Jim Reeds) [1294, 1295, 1296], à çàòåì Äæîàí Áîÿð (Joan Boyar) [1251]. Åé óäàëîñü òàêæå âñêðûòü êâàäðàòè÷íûå ãåíåðàòîðû : Xn = (aXn-12 + bXn-1 + c) mod m è êóáè÷åñêèå ãåíåðàòîðû: Xn = (aXn-13 + bXn-12 + c Xn-1+ d) mod m Äðóãèå èññëåäîâàòåëè ðàñøèðèëè èäåè Áîÿð, ðàçðàáîòàâ ñïîñîáû âñêðûòèÿ ëþáîãî ïîëèíîìèàëüíîãî ãåí åðàòîðà [923, 899, 900]. Áûëè âçëîìàíû è óñå÷åííûå ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû [581, 705, 580], è óñå÷åííûå ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû ñ íåèçâåñòíûìè ïàðàìåòðàìè [1500, 212]. Òàêèì îáðàçîì áûëà äîêàçàíà áåñïîëåçíîñòü êîíãðóýíòíûõ ãåíåðàòîðîâ äëÿ êðèïòîãðàôèè. Òàáë. 16-1. Êîíñòàíòû äëÿ ëèíåéíûõ êîíãðóýíòíûõ ãåíåðàòîðîâ Ïåðåïîëíÿåòñÿ ïðè 220 221 222 223
224
225
226
a 106 211 421 430 936 1366 171 859 419 967 141 625 1541 1741 1291 205 421 1255
b 1283 1663 1663 2531 1399 1283 11213 2531 6173 3041 28411 6571 2957 2731 4621 29573 17117 6173
m 6075 7875 7875 11979 6655 6075 53125 11979 29282 14406 134456 31104 14000 12960 21870 139968 81000 29282
227
228
229
230
231
232 233 234 235
281 1093 421 1021 1021 1277 741 2041 2311 1807 1597 1861 2661 4081 3661 3877 3613 1366 8121 4561 7141 9301 4096 2416 17221 36261 84589
28411 18257 54773 24631 25673 24749 66037 25673 25367 45289 51749 49297 36979 25673 30809 29573 45289 150889 28411 51349 54773 49297 150889 374441 107839 66037 45989
134456 86436 259200 116640 121500 117128 312500 121500 120050 214326 244944 233280 175000 121500 145800 139968 214326 714025 134456 243000 259200 233280 714025 1771875 510300 312500 217728
Îäíàêî, ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû ñîõðàíÿþò ñâîþ ïîëåçíîñòü äëÿ íåêðèïòîãðàôè÷åñêèõ ïðèë îæåíèé, íàïðèìåð, äëÿ ìîäåëèðîâàíèÿ. Îíè ýôôåêòèâíû è â áîëüøèíñòâå èñïîëüçóåìûõ ýìïèðè÷åñêèõ òåñòàõ äåìîíñòðèðóþò õîðîøèå ñòàòèñòè÷åñêèå õàðàêòåðèñòèêè. Âàæíóþ èíôîðìàöèþ î ëèíåéíûõ êîíãðóýíòíûõ ã åíåðàòîðàõ è èõ òåîðèè ìîæíî íàéòè â [942]. Îáúåäèíåíèå ëèíåéíûõ êîíãðóýíòíûõ ãåíåðàòîðîâ Áûë ïðåäïðèíÿò ðÿä ïîïûòîê îáúåäèíåíèÿ ëèíåéíûõ êîíãðóýíòíûõ ãåíåðàòîðîâ [1595, 941]. Êðèïòîãðàôè÷åñêàÿ áåçîïàñíîñòü ïîëó÷åííûõ ðåçóëüòàòîâ íå ïîâûøàåòñÿ, íî îíè îáëàäàþò áîëåå äëèííûìè ïåðèîäàìè è ëó÷øèìè õàðàêòåðèñòèêàìè â íåêîòîðûõ ñòàòèñòè÷åñêèõ òåñòàõ . Äëÿ 32-áèòîâûõ êîìïüþòåðîâ ìîæíî èñïîë üçîâàòü ñëåäóþùèé ãåíåðàòîð [941]: static long sl = 1 ; /* "long" äîëæíî áûòü 32-áèòîâûì öåëûì. */ static long s2 = 1 ; #define MODMULT(a,b,c,m,s) q = s/a; s = b*(s-a*q) - c*q; if (s<0) s+=m ; /* MODMIJLT(a,b,c,nl,s) ðàññ÷èòûâàåò s*b mod m ïðè óñëîâèè, ÷òî m=a*b+c è 0 <= c < m. */ /* combinedLCG âîçâðàùàåò äåéñòâèòåëüíîå ïñåâäîñëó÷àéíîå çíà÷åíèå â äèàïàçîíå * (0,1). Îíà îáúåäèíÿåò ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû ñ ïåðèîäàìè * 231-85 è 231-249, è åå ïåðèîä ðàâåí ïðîèçâåäåíèþ ýòèõ äâóõ ïðîñòûõ ÷èñåë. */ double combinedLCG ( void ) { long q ; long z ; MODMULT ( 53668, 40014, 12211, 2147483563L, s1 ) MODMULT ( 52774, 40692, 3791, 2147483399L, s2 ) z = s1 - s2 ; if ( z < 1 ) z += 2147483562 ; return z * 4.656613e-10 ; } /*  îáùåì ñëó÷àå ïåðåä èñïîëüçîâàíèåì combinedLCG âûçûâàåòñÿ initLCG. */ void initLCG( long InitS1, long InitS2 ) { sl = InitS1; s2 = InitS2; }
Ýòîò ãåíåðàòîð ðàáîòàåò ïðè óñëîâèè, ÷òî êîìïüþòåð ìîæåò ïðåäñòàâèòü âñå öåëûå ÷èñëà ìåæäó -231+85 è 2 -249. Ïåðåìåííûå s1 è s2 ãëîáàëüíû è ñîäåðæàò òåêóùåå ñîñòîÿíèå ãåíåðàòîðà . Ïåðåä ïåðâûì âûçîâîì èõ íåîáõîäèìî ïðîèíèöèàëèçèðîâàòü . Äëÿ ïåðåìåííîé s1 íà÷àëüíîå çíà÷åíèå äîëæíî ëåæàòü â äèàïàçîíå ìåæäó 1 31
è 2147483562, äëÿ ïåðåìåííîé s2 - ìåæäó 1 è 2147483398. Ïåðèîä ãåíåðàòîðà áëèçîê ê 1018. Íà 16-áèòîâîì êîìïüþòåðå èñïîëüçóéòå äðóãîé ãåíåðàòîð : static int sl = 1 ; /* "int" äîëæíî áûòü 16-áèòîâûì öåëûì. */ static int s2 = 1 ; static int s3 = 1 ; #define MODMULT(a,b,c,m,s) q = s/a; s = b*(s-a*q) - c*q; if (s<0) s+=m ; /* combinedLCG âîçâðàùàåò äåéñòâèòåëüíîå ïñåâäîñëó÷àéíîå çíà÷åíèå â äèàïàçîíå * (0,1). Îíà îáúåäèíÿåò ëèíåéíûå êîíãðóýíòíûå ãåíåðàòîðû ñ ïåðèîäàìè 215-405, * 215-1041 è 215-1111, è åå ïåðèîä ðàâåí ïðîèçâåäåíèþ ýòèõ òðåõ ïðîñòûõ ÷èñåë. */ double combinedLCG ( void ) { long q ; long z ; MODMULT ( 206, 157, 21, 32363, sl ) MODMULT ( 217, 146, 45, 31727, s2 ) MODMULT ( 222, 142, 133, 31657, s3 ) z = s1 - s2 ; if ( z < 1 ) z -= 32362 ; z += s3 ; if ( z < 1 ) z += 32362 ; return z * 3.0899e-5 ; } /*  îáùåì ñëó÷àå ïåðåä èñïîëüçîâàíèåì combinedLCG âûçûâàåòñÿ initLCG. */ void initLCG( long InitS1, long InitS2, long InitS3) { sl = InitS1; s2 = InitS2; s3 = InitS3; }
Ýòîò ãåíåðàòîð ðàáîòàåò ïðè óñëîâèè, ÷òî êîìïüþòåð ìîæåò ïðåäñòàâèòü âñå öåëûå ÷èñëà ìåæäó -32363 è 32363. Ïåðåìåííûå s1, s2 è s3 ãëîáàëüíû è ñîäåðæàò òåêóùåå ñîñòîÿíèå ãåíåðàòîðà . Ïåðåä ïåðâûì âûçîâîì èõ íåîáõîäèìî ïðîèíèöèàëèçèðîâàòü . Äëÿ ïåðåìåííîé s1 íà÷àëüíîå çíà÷åíèå äîëæíî ëåæàòü â äèàïàçîíå ìåæäó 1 è 32362, äëÿ ïåðåìåííîé s2 - ìåæäó 1 è 31726, äëÿ ïåðåìåííîé s3 - ìåæäó 1 è 31656. Ïåðèîä ãåíåðàòîðà ðàâåí 1.6*1013. Äëÿ îáîèõ ãåíåðàòîðîâ êîíñòàíòà b ðàâíà 0.
16.2 Ñäâèãîâûå ðåãèñòðû ñ ëèíåéíîé îáðàòíîé ñâÿçüþ Ïîñëåäîâàòåëüíîñòè ñäâèãîâûõ ðåãèñòðîâ èñïîëüçóþòñÿ êàê â êðèïòîãðàôèè, òàê è â òåîðèè êîäèðîâàíèÿ . Èõ òåîðèÿ ïðåêðàñíî ïðîðàáîòàíà, ïîòîêîâûå øèôðû íà áàçå ñäâèãîâûõ ðåãèñòðîâ ÿâëÿëèñü ðàáî÷åé ëîøàäêîé âîåííîé êðèïòîãðàôèè çàäîëãî äî ïîÿâëåíèÿ ýëåêòðîíèêè . Ñäâèãîâûé ðåãèñòð ñ îáðàòíîé ñâÿçüþ ñîñòîèò èç äâóõ ÷àñòåé: ñäâèãîâîãî ðåãèñòðà è ôóíêöèè îáðàòíîé ñâÿçè (ñì. 15th). Ñäâèãîâûé ðåãèñòð ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü áèòîâ . (Êîëè÷åñòâî áèòîâ îïðåäåëÿåòñÿ äëèíîé ñäâèãîâîãî ðåãèñòðà. Åñëè äëèíà ðàâíà n áèòàì, òî ðåãèñòð íàçûâàåòñÿ n-áèòîâûì ñäâèãîâûì ðåãèñòðîì.) Âñÿêèé ðàç, êîãäà íóæíî èçâëå÷ü áèò, âñå áèòû ñäâèãîâîãî ðåãèñòðà ñäâèãàþòñÿ âïðàâî íà 1 ïîç èöèþ. Íîâûé êðàéíèé ëåâûé áèò ÿâëÿåòñÿ ôóíêöèåé âñåõ îñòàëüíûõ áèòîâ ðåãèñòðà . Íà âûõîäå ñäâèãîâîãî ðåãèñòðà îêàçûâàåòñÿ îäèí, îáû÷íî ìëàäøèé çíà÷àùèé, áèò . Ïåðèîäîì ñäâèãîâîãî ðåãèñòðà íàçûâàåòñÿ äëèíà ï îëó÷àåìîé ïîñëåäîâàòåëüíîñòè äî íà÷àëà åå ïîâòîðåíèÿ . bn
bn -1
....
b4
b3
b2
b1
Ôóíêöèÿ îáðàòíîé ñâÿçè
Ðèñ. 16-1. Ñäâèãîâûé ðåãèñòð ñ îáðàòíîé ñâÿçüþ Êðèïòîãðàôàì íðàâèëèñü ïîòîêîâûå øèôðû íà áàçå ñäâèãîâûõ ðåãèñòðîâ : îíè ëåãêî ðåàëèçîâûâàëèñü ñ ïîìîùüþ öèôðîâîé àïïàðàòóðû. ß ëèøü ñëåãêà çàòðîíó ìàòåìàòè÷åñêóþ òåîðèþ .  1965 ãîäó Ýðíñò Ñåëìåð (Ernst Selmer), ãëàâíûé êðèïòîãðàô íîðâåæñêîãî ïðàâèòåëüñòâà , ðàçðàáîòàë òåîðèþ ïîñëåäîâàòåëüíîñòè ñäâ èãîâûõ ðåãèñòðîâ [1411]. Ñîëîìîí Ãîëîìá (Solomon Golomb), ìàòåìàòèê NSA, íàïèñàë êíèãó, èçëàãàþùèå åíåêîòîðûå ñâîè ðåçàëüòàòû è ðåçóëüòàòû Ñåëìåðà [643]. Ñì. òàêæå [970, 971, 1647].
Ïðîñòåéøèì âèäîì ñäâèãîâîãî ðåãèñòðà ñ îáðàòíîé ñâÿçüþ ÿâëÿåòñÿ ëèíåéíûé ñäâèãîâûé ðåãèñòð ñ îáðàòíîé ñâÿçüþ (linear feedback shift register, èëè LFSR) (ñì. 14th). Îáðàòíàÿ ñâÿçü ïðåäñòàâëÿåò ñîáîé ïðîñòî XOR íåêîòîðûõ áèòîâ ðåãèñòðà, ïåðå÷åíü ýòèõ áèòîâ íàçûâàåòñÿ îòâîäíîé ïîñëåäîâàòåëüíîñòüþ (tap sequence). Èíîãäà òàêîé ðåãèñòð íàçûâàåòñÿ êîíôèãóðàöèåé Ôèááîíà÷è. Èç-çà ïðîñòîòû ïîñëåäîâàòåëüíîñòè îáðàòíîé ñâÿçè äëÿ àíàëèçà LFSR ìîæíî èñïîëüçîâàòü äîâîëüíî ðàçâèòóþ ìàòåìàòè÷åñêóþ òåîðèþ . Êðèïòîãðàôû ëþáÿò àíàëèçèðîâàòü ïîñëåäîâàòåëüíîñòè, óáåæäàÿ ñåáÿ, ÷òî ýòè ïîñëåäîâàòåëüíîñòè äîñòàòî÷íî ñëó÷à éíû, ÷òîáû áûòü áåçîïàñíûìè. LFSR ÷àùå äðóãèõ ñäâèãîâûõ ðåãèñòðîâ èñïîëüçóþòñÿ â êðèïòîãðàôèè. bn
....
bn -1
b4
b3
b2
b1 Âûõîäíîé áèò
....
Ðèñ. 16-2. Ñäâèãîâûé ðåãèñòð ñ ëèíåéíîé îáðàòíîé ñâÿçüþ. Íà 13-é ïîêàçàí 4-áèòîâûé LFSR ñ îòâîäîì îò ïåðâîãî è ÷åòâåðòîãî áèòîâ . Åñëè åãî ïðîèíèöèàëèçèðîâàòü çíà÷åíèåì 1111, òî äî ïîâòîðåíèÿ ðåãèñòð áóäåò ïðèíèìàòü ñëåäóþùèå âíóòðåííèå ñîñòîÿíèÿ : 1111 0111 1011 0101 1010 1101 0110 0011 1001 0100 0010 0001 1000 1100 1110 b4
b3
b2
b1 Âûõîäíîé áèò
Ðèñ. 16-3. 4-áèòîâûé LFSR. Âûõîäíîé ïîñëåäîâàòåëüíîñòüþ áóäåò ñòðîêà ìëàäøèõ çíà÷àùèõ áèòîâ : 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0. . . . n-áèòîâûé LFSR ìîæåò íàõîäèòüñÿ â îäíîì èç 2 n-1 âíóòðåííèõ ñîñòîÿíèé. Ýòî îçíà÷àåò, ÷òî òåîðåòè÷åñêè òàêîé ðåãèñòð ìîæåò ãåíåðèðîâàòü ïñåâäîñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü ñ ïåðèîäîì 2n-1 áèòîâ. (×èñëî âíóòðåííèõ ñîñòîÿíèé è ïåðèîä ðàâíû 2 n-1, ïîòîìó ÷òî çàïîëíåíèå LFSR íóëÿìè, ïðèâåäåò ê òîìó, ÷òî ñäâèãîâûé ðåãèñòð áóäåò âûäàâàòü áåñêîíå÷íóþ ïîñëåäîâàòåëüíîñòü íóëåé, ÷òî àáñîëþòíî áåñïîëåçíî .) Òîëüêî ïðè îïðåäåëåííûõ îòâîäíûõ ïîñëåäîâàòåëüíîñòÿõ LFSR öèêëè÷åñêè ïðîéäåò ÷åðåç âñå 2 n-1 âíóòðåííèõ ñîñòîÿíèé, òàêèå
LFSR ÿâëÿþòñÿ LFSR ïîñëåäîâàòåëüíîñòüþ.
ñ
ìàêñèìàëüíûì
ïåðèîäîì.
Ïîëó÷èâøèéñÿ
ðåçóëüòàò
íàçûâàåòñÿ
Ì-
Äëÿ òîãî, ÷òîáû êîíêðåòíûé LFSR èìåë ìàêñèìàëüíûé ïåðèîä, ìíîãî÷ëåí, îáðàçîâàííûé èç îòâîäíîé ï îñëåäîâàòåëüíîñòè è êîíñòàíòû 1, äîëæåí áûòü ïðèìèòèâíûì ïî ìîäóëþ 2. Ñòåïåíü ìíîãî÷ëåíà ÿâëÿåòñÿ äëèíîé ñäâèãîâîãî ðåãèñòðà. Ïðèìèòèâíûé ìíîãî÷ëåí ñòåïåíè n - ýòî íåïðèâîäèìûé ìíîãî÷ëåí, êîòîðûé ÿâëÿåòñÿ n −1 äåëèòåëåì x 2 + 1 , íî íå ÿâëÿåòñÿ äåëèòåëåì xd+1 äëÿ âñåõ d, ÿâëÿþùèõñÿ äåëèòåëÿìè 2 n-1 (ñì. ðàçäåë 11.3). Ñîîòâåòñòâóþùóþ ìàòåìàòè÷åñêóþ òåîðèþ ìîæíî íàéòè â [643, 1649, 1648].  îáùåì ñëó÷àå íå ñóùåñòâóåò ïðîñòîãî ñïîñîáà ãåíåðèðîâàòü ïðèìèòèâíûå ìíîãî÷ëåíû äàííîé ñòåïåíè ïî ìîäóëþ 2. Ïðîùå âñåãî âûáèðàòü ìíîãî÷ëåí ñëó÷àéíûì îáðàçîì è ïðîâåðÿòü, íå ÿâëÿåòñÿ ëè îí ïðèìèòèâíûì . Ýòî íåëåãêî - è ÷åì-òî ïîõîæå íà ïðîâåðêó, íå ÿâëÿåòñÿ ëè ïðîñòûì ñëó÷àéíî âûáðàííîå ÷èñëî - íî ìíîãèå ì àòåìàòè÷åñêèå ïàêåòû ïðîãðàìì óìåþò ðåøàòü òàêóþ çàäà÷ó . Ðÿä ìåòîäîâ ïðèâåäåí â [970, 971]. Íåêîòîðûå, íî, êîíå÷íî æå, íå âñå, ìíîãî÷ëåíû ðàçëè÷íûõ ñòåïåíåé, ïðèìèòèâíûå ïî ìîäóëþ 2, ïðèâåäåíû â 14-é [1583, 643, 1649, 1648, 1272, 691]. Íàïðèìåð, çàïèñü (32, 7, 5, 3, 2, 1, 0) îçíà÷àåò, ÷òî ñëåäóþùèé ìíîãî÷ëåí ïðèìèòèâåí ïî ìîäóëþ 2: x32 + x7 +x5 + x3 + x2 + x + 1 Ýòî ìîæíî ëåãêî îáîáùèòü äëÿ LFSR ñ ìàêñèìàëüíûì ïåðèîäîì. Ïåðâûì ÷èñëîì ÿâëÿåòñÿ äëèíà LFSR. Ïîñëåäíåå ÷èñëî âñåãäà ðàâíî 0, è åãî ìîæíî îïóñòèòü . Âñå ÷èñëà, çà èñêëþ÷åíèåì 0, çàäàþò îòâîäíóþ ïîñëåäîâ àòåëüíîñòü, îòñ÷èòûâàåìóþ îò ëåâîãî êðàÿ ñäâèãîâîãî ðåãèñòðà . Òî åñòü, ÷ëåíû ìíîãî÷ëåíà ñ ìåíüøåé ñòåïåíüþ ñîîòâåòñòâóþò ïîçèöèÿì áëèæå ê ïðàâîìó êðàþ ðåãèñòðà . Ïðîäîëæàÿ ïðèìåð, çàïèñü (32, 7, 5, 3, 2, 1, 0) îçíà÷àåò, ÷òî äëÿ âçÿòîãî 32-áèòîâîãî ñäâèãîâîãî ðåãèñòðà í îâûé áèò íîâûé áèò ãåíåðèðóåòñÿ ñ ïîìîùüþ XOR òðèäöàòü âòîðîãî, ñåäüìîãî, ïÿòîãî, òðåòüåãî, âòîðîãî è ïå ðâîãî áèòîâ (ñì. 12th), ïîëó÷àþùèéñÿ LFSR áóäåò èìåòü ìàêñèìàëüíóþ äëèíó, öèêëè÷åñêè ïðîõîäÿ äî ïîâòîð åíèÿ ÷åðåç 2 32-1 çíà÷åíèé. Êîä äëÿ ýòîãî LFSR íà ÿçûêå C âûãëÿäèò ñëåäóþùèì îáðàçîì: int LFSR ( ) { static unsigned long ShiftRegister = 1; /* Âñå, êðîìå 0. */ ShiftRegister = ((((ShiftRegister >> 31) ^(ShiftRegister >> 6) ^(ShiftRegister >> 4) ^(ShiftRegister >> 2) ^(ShiftRegister >> 1) ^ShiftRegister)) & 0x00000001) <<31) | (ShiftRegister >> 1) ; return ShiftRegister & 0x00000001; }
Åñëè ñäâèãîâûé ðåãèñòð äëèííåå êîìïüþòåðíîãî ñëîâà, êîä óñëîæíÿåòñÿ, íî íå íàìíîãî . b32
....
b7
....
b6
b5
b4
b3
b2
b1 Âûõîäíîé áèò
Ðèñ. 16-4. 32-áèòîâûé LFSR ñ ìàêñèìàëüíîé äëèíîé. Òàáë. 16-2. Íåêîòîðûå ïðèìèòèâíûå ìíîãî÷ëåíû ïî ìîäóëþ 2 (1, 0) (2, 1, 0) (3, 1, 0) (4, 1, 0) (5, 2, 0) (6, 1, 0) (7, 1, 0)
(7, 3, 0) (8, 4, 3, 2, 0) (9, 4, 0) (10, 3, 0) (11, 2, 0) (12, 6, 4, 1, 0) (13, 4, 3, 1, 0)
(14, 5, 3, 1, 0) (15, 1, 0) (16, 5, 3.2, 0) (17, 3, 0) (17, 5, 0) (17, 6, 0) (18, 7, 0)
(18, 5, 2, 1, 0) (19, 5, 2, 1, 0) (20, 3, 0) (21, 2, 0) (22, 1, 0) (23, 5, 0) (24, 4, 3, 1, 0)
(25, 3, 0) (26, 6, 2, 1, 0) (27, 5, 2, 1, 0) (28, 3, 0) (29, 2, 0) (30, 6, 4, 1.0) (31, 3, 0) (31, 6, 0) (31, 7, 0) (31, 13, 0) (32, 7, 6, 2, 0) (32, 7, 5, 3, 2, 1, 0) (33, 13, 0) (33, 16, 4, 1, 0) (34, 8, 4, 3, 0) (34, 7, 6, 5, 2, 1, 0) (35, 2, 0) (135, 11, 0) (135, 16, 0) (135, 22, 0) (136, 8, 3, 2, 0) (137, 21, 0) (138, 8, 7, 1, 0) (139, 8, 5, 3, 0) (140, 29, 0) (141, 13, 6, 1, 0) (142, 21, 0) (143, 5, 3, 2, 0) (144, 7, 4, 2, 0) (145, 52, 0) (145, 69, 0) (146, 5, 3, 2, 0) (147, 11, 4, 2, 0) (148, 27, 0) (149, 10, 9, 7, 0) (150, 53, 0) (151, 3, 0) (151, 9, 0) (151, 15, 0) (151, 31, 0) (151, 39, 0) (151, 43, 0) (151, 46, 0) (151, 51, 0) (151, 63, 0) (151, 66, 0) (151, 67, 0) (151, 70, 0) (36, 11, 0) (36, 6, 5, 4, 2, 1, 0) (37, 6, 4, 1, 0) (37, 5, 4, 3, 2, 1, 0) (38, 6, 5, 1, 0) (39, 4, 0) (40, 5, 4, 3, 0) (41, 3, 0) (42, 7, 4, 3, 0) (42, 5, 4, 3, 2, 1, 0) (43, 6, 4, 3, 0) (44, 6, 5, 2, 0) (45, 4, 3, 1, 0) (46, 8, 7, 6, 0)
(46, 8, 5, 3, 2, 1, 0) (47, 5, 0) (48, 9, 7, 4, 0) (48, 7, 5, 4, 2, 1, 0) (49, 9, 0) (49, 6, 5, 4, 0) (50, 4, 3, 2, 0) (51, 6, 3, 1, 0) (52, 3, 0) (53, 6, 2, 1, 0) (54, 8, 6, 3, 0) (54, 6, 5, 4, 3, 2, 0) (55, 24, 0) (55, 6, 2, 1, 0) (56, 7, 4, 2, 0) (57, 7, 0) (57, 5, 3, 2, 0) (58, 19.0) (58, 6, 5, 1, 0) (59, 7, 4, 2, 0) (59, 6, 5, 4, 3, 1, 0) (60, 1, 0) (61, 5, 2, 1, 0) (62, 6, 5, 3, 0) (63, 1, 0) (64, 4, 3, 1, 0) (65, 18, 0) (65, 4, 3, 1, 0) (66, 9, 8, 6, 0) (66, 8, 6, 5, 3, 2, 0) (67, 5, 2, 1, 0) (152, 6, 3, 2, 0) (153, 1, 0) (153, 8, 0) (154, 9, 5, 1, 0) (155, 7, 5, 4, 0) (156, 9, 5, 3, 0) (157, 6, 5, 2, 0) (158, 8, 6, 5, 0) (159, 31, 0) (159, 34, 0) (159, 40, 0) (160, 5, 3, 2, 0) (161, 18, 0) (161, 39, 0) (161, 60, 0) (162, 8, 7, 4, 0) (163, 7, 6, 3, 0) (164, 12, 6, 5, 0) (165, 9, 8, 3, 0) (166, 10, 3, 2, 0) (167, 6, 0) (170, 23, 0) (172, 2, 0) (174, 13, 0) (175, 6, 0) (175, 16, 0) (175, 18, 0) (175, 57, 0) (177, 8, 0) (177, 22, 0) (1 77, 88, 0)
(68, 9, 0) (68, 7, 5, 1, 0) (69, 6, 5, 2, 0) (70, 5, 3, 1, 0) (71, 6, 0) (71, 5, 3, 1, 0) (72, 10, 9, 3, 0) (72, 6, 4, 3, 2, 1, 0) (73, 25, 0) (73, 4, 3, 2, 0) (74, 7, 4, 3, 0) (75, 6, 3, 1, 0) (76, 5, 4, 2, 0) (77, 6, 5, 2, 0) (78, 7, 2, 1, 0) (79, 9, 0) (79, 4, 3, 2, 0) (80, 9, 4, 2, 0) (80, 7, 5, 3, 2, 1, 0) (81, 4, 0) (82, 9, 6, 4, 0) (82, 8, 7, 6, 1, 0) (83, 7, 4, 2, 0) (84, 13, 0) (84, 8, 7, 5, 3, 1, 0) (85, 8, 2, 1, 0) (86, 6, 5, 2, 0) (87, 13, 0) (87, 7, 5, 1, 0) (88, 11, 9, 8, 0) (88, 8, 5, 4, 3, 1, 0) (89, 38, 0) (89, 51, 0) (89, 6, 5, 3, 0) (90, 5, 3, 2, 0) (91, 8, 5, 1, 0) (91, 7, 6, 5, 3, 2, 0) (92, 6, 5, 2, 0) (93, 2, 0) (94, 21, 0) (94, 6, 5, 1, 0) (95, 11, 0) (95, 6, 5, 4, 2, 1, 0) (96, 10, 9, 6, 0) (96, 7, 6, 4, 3, 2, 0) (178, 87, 0) (183, 56, 0) (194, 87, 0) (198, 65, 0) (201, 14, 0) (201, 17, 0) (201, 59, 0) (201, 79, 0) (202, 55, 0) (207, 43, 0) (212, 105, 0) (218, 11, 0) (218, 15, 0) (218, 71, 0) (218.83, 0) (225, 32, 0) (225, 74, 0)
(225, 88, 0) (225, 97, 0) (225, 109, 0) (231, 26, 0) (231, 34, 0) (234, 31, 0) (234, 103, 0) (236, 5, 0) (250, 103, 0) (255, 52, 0) (255, 56, 0) (255, 82, 0) (258, 83, 0) (266, 47, 0) (97, 6, 0) (98, 11, 0) (98, 7, 4, 3, 1, 0) (99, 7, 5, 4, 0) (100, 37, 0) (100, 8, 7, 2, 0) (101, 7, 6, 1, 0) (102, 6, 5, 3, 0) (103, 9, 9) (104, 11, 10, 1, 0) (105, 16, 0) (106, 15, 0) (107, 9, 7, 4, 0) (108, 31, 0) (109, 5, 4, 2.0) (110, 6, 4, 1, 0) (111, 10, 0) (111, 49, 0) (113, 9, 0) (113, 15, 0) (113, 30, 0) (114, 11, 2, 1, 0) (115, 8, 7, 5, 0) (116, 6, 5, 2, 0) (117, 5, 2, 1, 0) (118, 33, 0) (119, 8, 0) (119, 45, 0) (120, 9, 6, 2, 0) (121, 18, 0) (122, 6, 2, 1, 0) (123, 2, 0) (124, 37, 0) (125, 7, 6, 5, 0) (126, 7, 4, 2, 0) (127, 1, 0) (127, 7, 0) (127, 63, 0) (128, 7, 2, 1, 0) (129, 5, 0) (130, 3, 0) (131, 8, 3, 2, 0) (132, 29, 0) (133, 9, 8, 2, 0) (134, 57, 0) (270, 133, 0) (282, 35, 0) (282, 43, 0)
(286, 69, 0) (286, 73, 0) (294, 61, 0) (322, 67, 0) (333, 2, 0) (350, 53, 0) (366, 29, 0)
(378, 43, 0) (378, 107, 0) (390, 89, 0) (462, 73, 0) (521, 32, 0) (521, 48, 0) (521, 158, 0)
(521, 168, 0) (607, 105, 0) (607, 147, 0) (607, 273, 0) (1279, 216, 0) (1279, 418, 0) (2281, 715, 0)
(2281, 915, 0) (2281, 1029, 0) (3217, 67, 0) (3217, 576, 0) (4423, 271, 0) (9689, 84, 0)
Îáðàòèòå âíèìàíèå, ÷òî ó âñåõ ýëåìåíòîâ òàáëèöû íå÷åòíîå ÷èñëî êîýôôèöèåíòîâ . ß ïðèâåë òàêóþ äëèííóþ òàáëèöó, òàê êàê LFSR ÷àñòî èñïîëüçóþòñÿ äëÿ êðèïòîãðàôèè ñ ïîòîêîâûìè øèôðàìè, è ÿ õîòåë, ÷òîáû ðàçíûå ëþäè ìîãëè ïîäîáðàòü ðàçëè÷íûå ïðèìèòèâíûå ìíîãî÷ëåíû . Åñëè p(x) ïðèìèòèâåí, òî ïðèìèòèâåí è xnp(1/x), ïîýòîìó êàæäûé ýëåìåíò òàáëèöû íà ñàìîì äåëå îïðåäåëÿåò äâà ïðèìèòèâíûõ ìíîãî÷ëåíà . Íàïðèìåð, åñëè (a, b, 0) ïðèìèòèâåí, òî ïðèìèòèâåí è (a, a - b, 0). Åñëè ïðèìèòèâåí (a, b, c, d, 0), òî ïðèìèòèâåí è (a, a - d, a - c, a - b, 0). Ìàòåìàòè÷åñêè: åñëè ïðèìèòèâåí xa + xb + 1, òî ïðèìèòèâåí è xa + xa - b + 1 åñëè ïðèìèòèâåí xa + xb + xc + xd + 1, òî ïðèìèòèâåí è xa + xa-d + xa-c + xa-b + 1 Áûñòðåå âñåãî ïðîãðàììíî ðåàëèçóþòñÿ ïðèìèòèâíûå òðåõ÷ëåíû, òàê êàê äëÿ ãåíåðàöèè íîâîãî áèòà òóæíî âûïîëíÿòü XOR òîëüêî äâóõ áèòîâ ñäâèãîâîãî ðåãèñòðà . Äåéñòâèòåëüíî, âñå ìíîãî÷ëåíû îáðàòíîé ñâÿçè, ïð èâåäåííûå â 14-é, ÿâëÿþòñÿ ðàçðåæåííûìè, òî åñòü, ó íèõ íåìíîãî êîýôôèöèåíòîâ . Ðàçðåæåííîñòü âñåãäà ïðåäñòàâëÿåò ñîáîé èñòî÷íèê ñëàáîñòè, êîòîðîé èíîãäà äîñòàòî÷íî äëÿ âñêðûòèÿ àëãîðèòìà . Äëÿ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ ãîðàçäî ëó÷øå èñïîëüçîâàòü ïëîòíûå ïðèìèòèâíûå ìíîãî÷ëåíû, òå, ó êîòîðûõ ìíîãî êîýôôèöèå íòîâ. Ïðèìåíÿÿ ïëîòíûå ìíîãî÷ëåíû, îñîáåííî â êà÷åñòâå ÷àñòè êëþ÷à, ìîæíî èñïîëüçîâàòü çíà÷èòåëüíî áîëåå êîðîòêèå LFSR. Ãåíåðèðîâàòü ïëîòíûå ïðèìèòèâíûå ìíîãî÷ëåíû ïî ìîäóëþ 2 íåëåãêî .  îáùåì ñëó÷àå äëÿ ãåíåðàöèè ïð èìèòèâíûõ ìíîãî÷ëåíîâ ñòåïåíè k íóæíî çíàòü ðàçëîæåíèå íà ìíîæèòåëè ÷èñëà 2 k-1. Ïðèìèòèâíûå ìíîãî÷ëåíû ìîæíî íàéòè â ñëåäóþùèõ òðåõ õîðîøèõ ðàáîòàõ: [652, 1285, 1287]. Ñàìè ïî ñåáå LFSR ÿâëÿþòñÿ õîðîøèìè ãåíåðàòîðàìè ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé, íî îíè îáë àäàþò íåêîòîðûìè íåæåëàòåëüíûìè íåñëó÷àéíûìè ñâîéñòâàìè . Ïîñëåäîâàòåëüíûå áèòû ëèíåéíû, ÷òî äåëàåò èõ áåñïîëåçíûìè äëÿ øèôðîâàíèÿ. Äëÿ LFSR äëèíû n âíóòðåííåå ñîñòîÿíèå ïðåäñòàâëÿåò ñîáîé ïðåäûäóùèå n âûõîäíûõ áèòîâ ãåíåðàòîðà. Äàæå åñëè ñõåìà îáðàòíîé ñâÿçè õðàíèòñÿ â ñåêðåòå, îíà ìîæåò áûòü îïðåäåëåíà ïî 2n âûõîäíûì áèòàì ãåíåðàòîðà ñ ïîìîùüþ âûñîêî ýôôåêòèâíîãî àëãîðèòìà Berlekamp-Massey [1082,1083]: ñì. ðàçäåë 16.3. Êðîìå òîãî, áîëüøèå ñëó÷àéíûå ÷èñëà, ãåíåðèðóåìûå ñ èñïîëüçîâàíèåì èäóùèõ ïîäðÿä áèòîâ ýòîé ïîñëåä îâàòåëüíîñòè, ñèëüíî êîððåëèðîâàííû è äëÿ íåêîòîðûõ òèïîâ ïðèëîæåíèé âîâñå íå ÿâëÿþòñÿ ñëó÷àéíûìè . Íåñìîòðÿ íà ýòî LFSR ÷àñòî èñïîëüçóþòñÿ äëÿ ñîçäàíèÿ àëãîðèòìîâ øèôðîâàíèÿ . Ïðîãðàììíàÿ ðåàëèçàöèÿ LFSR Ïðîãðàììíûå ðåàëèçàöèè LFSR ìåäëåííû è áûñòðåå ðàáîòàþò, åñëè îíè íàïèñàíû íà àññåìáëåðå, à íå íà C. Îäíèì èç ðåøåíèé ÿâëÿåòñÿ èñïîëüçîâàíèå ïàðàëëåëüíî 16 LFSR (èëè 32, â çàâèñèìîñòè îò äëèíû ñëîâà âàøåãî êîìïüþòåðà).  ýòîé ñõåìå èñïîëüçóåòñÿ ìàññèâ ñëîâ, ðàçìåð êîòîðîãî ðàâåí äëèíå LFSR, à êàæäûé áèò ñëîâà ìàññèâà îòíîñèòñÿ ê ñâîåìó LFSR. Ïðè óñëîâèè, ÷òî èñïîëüçóþòñÿ îäèíàêîâûå ìíîãî÷ëåíû îáðàòíîé ñâÿçè , ýòî ìîæåò äàòü çàìåòíûé âûèãðûø ïðîèçâîäèòåëüíîñòè . Âîîáùå, ëó÷øèì ñïîñîáîì îáíîâëÿòü ñäâèãîâûå ðåãèñòðû ÿâëÿåòñÿ óìíîæåíèå òåêóùåãî ñîñòîÿíèÿ íà ïîäõîäÿùèå äâîè÷íûå ìàòðèöû [901]. Ñõåìó îáðàòíîé ñâÿçè LFSRìîæíî ìîäèôèöèðîâàòü. Ïîëó÷àþùèéñÿ ãåíåðàòîð íå áóäåò êðèïòîãðàôè÷åñêè áîëåå íàäåæíûì, íî îí âñå åùå áóäåò îáëàäàòü ìàêñèìàëüíûì ïåðèîäîì, è åãî ëåã÷å ðåàëèçîâàòü ïðîãðàììíî [1272]. Âìåñòî èñïîëüçîâàíèÿ äëÿ ãåíåðàöèè íîâîãî êðàéíåãî ëåâîãî áèòà áèòîâ îòâîäíîé ïîñëåäîâàòåëüíîñòè âûïîëíÿåòñÿ XOR êàæäîãî áèòà îòâîäíîé ïîñëåäîâàòåëüíîñòè ñ âûõîäîì ãåíåðàòîðà è çàìåíà åãî ðåçóëüòàòîì ýòîãî äåéñòâèÿ, çàòåì ðåçóëüòàò ãåíåðàòîðà ñòàíîâèòñÿ íîâûì êðàéíèì ëåâûì áèòîì (ñì. 11th). Èíîãäà ýòó ìîäèôèêàöèþ íàçûâàþò êîíôèãóðàöèåé Ãàëóà. Íà ÿçûêå C ýòî âûãëÿäèò ñëåäóþùèì îáðàçîì : #define mask 0x80000057 static unsigned long ShiftRegister=1; void seed_LFSR (unsigned long seed) { if (seed == 0) /* âî èçáåæàíèå áåäû */ seed = 1 ; ShiftRegister = seed; } int modified_LFSR (void)
{
}
if (ShiftRegister & 0x00000001) { ShiftRegister = (ShiftRegister ^ mask >> 1) | 0x8000000 ; return 1; } else { ShiftRegister >>= 1; return 0; }
b32
....
Âûõîäíîé áèò b7
b6
b5
b4
b3
b2
b1
Ðèñ. 16-5. LFSR Ãàëóà. Âûèãðûø ñîñòîèò â òîì, ÷òî âñå XOR ìîæíî ñäåëàòü çà îäíó îïåðàöèþ . Ýòà ñõåìà òàêæå ìîæåò áûò ðàñï àðàëëåëåíà, à ïîëèíîìû ðàçëè÷íûõ îáðàòíûõ ñâÿçåé ìîãóò áûòü ðàçëè÷íû . Òàêàÿ êîíôèãóðàöèÿ Ãàëóà ìîæåò äàòü âûèãðûø è ïðè àïïàðàòíîé ðåàëèçàöèè, îñîáåííî â âèäå ÑÁÈÑ . Âîîáùå, ïðè èñïîëüçîâàíèè àïïàðàòóðû, êîòîðàÿ õîðîøî âûïîëíÿåò ñäâèãè ïðèìåíÿéòå êîíôèãóðàöèþ Ôèááîíà÷è, åñëè åñòü âîçìîæíîñòü èñïîëüçîâàòü ïàðàëëåëèçì, ïðèìåíÿéòå êîíôèãóðàöèþ Ãàëóà .
16.3 Ïðîåêòèðîâàíèå è àíàëèç ïîòîêîâûõ øèôðîâ Áîëüøèíñòâî ðåàëüíûõ ïîòîêîâûõ øèôðîâ îñíîâàíû íà LFSR. Äàæå â ïåðâûå äíè ýëåêòðîíèêè ïîñòðîèòü èõ áûëî íåñëîæíî. Ñäâèãîâûé ðåãèñòð íå ïðåäñòàâëÿåò èç ñåáÿ íè÷åãî áîëüøåãî, ÷åì ìàññèâ áèòîâ, à ïîñëåäîâ àòåëüíîñòü îáðàòíîé ñâÿçè - íàáîð âåíòèëåé XOR. Äàæå ïðè èñïîëüçîâàíèè ÑÁÈÑ ïîòîêîâûé øèôð íà áàçå LFSR îáåñïå÷èâàåò íåìàëóþ áåçîïàñíîñòü ñ ïîìîùüþ íåñêîëüêèõ ëîãè÷åñêèõ âåíòèëåé . Ïðîáëåìà LFSR ñîñòîèò â òîì, ÷òî èõ ïðîãðàììíàÿ ðåàëèçàöèÿ î÷åíü íåýôôåêòèâíà . Âàì ïðèõîäèòñÿ èçáåãàòü ðàçðåæåííûõ ìíîãî÷ëåíîâ îáðàòíîé ñâÿçè - îíè îáëåã÷àþò êîððåëÿöèîííûå âñêðûòèÿ [1051, 1090, 350] - à ïëîòíûå ìíîãî÷ëåíû îáðàòíîé ñâÿçè íåýôôåêòèâíû . Âûõîä ëþáîãî ïîòîêîâîãî øèôðà ÿâëÿåòñÿ ïîáèòîâûì, äëÿ øèôðîâàíèÿ òîãî, ÷òî ìîæíî âûïîëíèòü çà îäíó èòåðàöèþ DES, íåîáõîäèìî âûïîëíèòü 64 èòåðàöèè ïîòîêîâ îãî àëãîðèòìà. Äåéñòâèòåëüíî, ïðîãðàììíàÿ ðåàëèçàöèÿ ïðîñòîãî àëãîðèòìà LFSR, ïîäîáíîãî îïèñûâàåìîìó íèæå ñæèìàþùåìó ãåíåðàòîðó, íå áûñòðåå, ÷åì DES. Ýòà îòðàñëü êðèïòîãðàôèè áûñòðî ðàçâèâàåòñÿ è very politically charged. Áîëüøèíñòâî ðàçðàáîòîê çàñåêðå÷ åíû - ìíîæåñòâî èñïîëüçóåìûõ ñåãîäíÿ âîåííûõ ñèñòåì øèôðîâàíèÿ îñíîâàíû íà LFSR. Äåéñòâèòåëüíî, ó áîëüøèíñòâà êîìïüþòåðîâ Cray (Cray 1, Cray X-MP, Cray Y-MP) åñòü âåñüìà ëþáîïûòíàÿ èíñòðóêöèÿ, îáû÷íî íàçûâàåìàÿ êàê "ñ÷åò÷èê ñîâîêóïíîñòè" (population count). Îíà ïîäñ÷èòûâàåò êîëè÷åñòâî åäèíèö â ðåãèñòðå è ìîæåò áûòü èñïîëüçîâàíà êàê äëÿ ýôôåêòèâíîãî âû÷èñëåíèÿ ðàññòîÿíèÿ Õýììèíãà ìåæäó äâóìÿ äâîè÷íûìè ñëîâàìè è äëÿ ðåàëèçàöèè âåêòîðèçèðîâàííîé âåðñèè LFSR. ß ñëûøàë, ÷òî ýòà èíñòðóêöèÿ ñ÷èòàåòñÿ êàíîíè÷ åñêîé èíñòðóêöèåé NSA, îáÿçàòåëüíî ôèãóðèðóþùåé ïî÷òè âî âñåõ êîíòðàêòàõ, êàñàþùèõñÿ êîìïüþòåðîâ . Ñ äðóãîé ñòîðîí áûëî âçëîìàíî óäèâèòåëüíî áîëüøîå ÷èñëî êàçàâøèõñÿ ñëîæíûìè ãåíåðàòîðîâ íà áàçå ñäâèãîâûõ ðåãèñòðîâ. È, êîíå÷íî æå, ÷èñëî òàêèõ ãåíåðàòîðîâ, âçëîìàííûõ âîåííûìè êðèïòîàíàëèòè÷åñêèìè ó÷ðåæäåíèÿìè, òàêèìè êàê NSA, åùå áîëüøå. Èíîãäà óäèâëÿåøüñÿ òîìó, ÷òî ñàìûå ïðîñòûå èç íèõ ïðåäëàã àþòñÿ ñíîâà è ñíîâà. Ëèíåéíàÿ ñëîæíîñòü Àíàëèçèðîâàòü ïîòîêîâûå øèôðû ÷àñòî ïðîùå, ÷åì áëî÷íûå . Íàïðèìåð, âàæíûì ïàðàìåòðîì, èñïîëüçóåìûì äëÿ àíàëèçà ãåíåðàòîðîâ íà áàçå LFSR, ÿâëÿåòñÿ ëèíåéíàÿ ñëîæíîñòü (linear complexity), èëè ëèíåéíûé èíòåðâàë. Îíà îïðåäåëÿåòñÿ êàê äëèíà n ñàìîãî êîðîòêîãî LFSR, êîòîðûé ìîæåò èìèòèðîâàòü âûõîä ãåíåðàòîðà. Ëþáàÿ ïîñëåäîâàòåëüíîñòü, ãåíåðèðîâàííàÿ êîíå÷íûì àâòîìàòîì íàä êîíå÷íûì ïîëåì, èìååò êîíå÷íóþ ëèíåéíóþ ñëîæíîñòü [1006]. Ëèíåéíàÿ ñëîæíîñòü âàæíà, ïîòîìó ÷òî ñ ïîìîùüþ ïðîñòîãî àëãîðèòìà, íàçûâà åìîãî àëãîðèòìîì Berlekamp-Massey, ìîæíî îïðåäåëèòü ýòîò LFSR, ïðîâåðèâ òîëüêî 2n áèòîâ ïîòîêà êëþ÷åé [1005]. Âîññîçäàâàÿ íóæíûé LFSR, âû âçëàìûâàåòå ïîòîêîâûé øèôð . Ýòà èäåÿ ìîæíî ðàñøèðèòü ñ ïîëåé íà êîëüöà [1298] è íà ñëó÷àè, êîãäà âûõîäíàÿ ïîñëåäîâàòåëüíîñòü ðà ññìàòðèâàåòñÿ êàê ÷èñëà â ïîëå íå÷åòíîé õàðàêòåðèñòèêè [842]. Äàëüíåéøåå ðàñøèðåíèå ïðèâîäèò ê ââîäó ïîí ÿòèÿ ïðîôèëÿ ëèíåéíîé ñëîæíîñòè, êîòîðûé îïðåäåëÿåò ëèíåéíóþ ñëîæíîñòü ïîñëåäîâàòåëüíîñòè ïî ìåðå åå óäëèíåíèÿ [1357, 1168, 411, 1582]. Äðóãîé àëãîðèòì âû÷èñëåíèÿ ëèíåéíîé ñëîæíîñòè ïðîñò òîëüêî â î÷åíü ñï å-
öèôè÷åñêèõ óñëîâèÿõ [597, 595, 596, 1333]. Îáîáùåíèå ïîíÿòèÿ ëèíåéíîé ñëîæíîñòè âûïîëíåíî â [776]. Ñóùåñòâóþ òàêæå ïîíÿòèÿ ñôåðè÷åñêîé è êâàäðàòè÷íîé ñëîæíîñòè [844].  ëþáîì ñëó÷àå ïîìíèòå, ÷òî âûñîêàÿ ëèíåéíàÿ ñëîæíîñòü íå îáÿçàòåëüíî ãàðàíòèðóåò áåçîïàñíîñòü ãåíåð àòîðà, íî íèçêàÿ ëèíåéíàÿ ñëîæíîñòü óêàçûâàåò íà íåäîñòàòî÷íóþ áåçîïàñíîñòü ãåíåðàòîðà [1357, 12.49]. Êîððåëÿöèîííàÿ íåçàâèñèìîñòü Êðèïòîãðàôû ïûòàþòñÿ ïîëó÷èòü âûñîêóþ ëèíåéíóþ ñëîæíîñòü, íåëèíåéíî îáúåäèíÿÿ ðåçóëüòàòû íåêîò îðûõ âûõîäíûõ ïîñëåäîâàòåëüíîñòåé . Ïðè ýòîì îïàñíîñòü ñîñòîèò â òîì, ÷òî îäíà èëè íåñêîëüêî âíóòðåííèõ âûõîäíûõ ïîñëåäîâàòåëüíîñòåé - ÷àñòî ïðîñòî âûõîäû îòäåëüíûõ LFSR - ìîãóò áûòü ñâÿçàíû îáùèì êëþ÷åâûì ïîòîêîì è âñêðûòû ïðè ïîìîùè ëèíåéíîé àëãåáðû . ×àñòî òàêîå âñêðûòèå íàçûâàþò êîððåëÿöèîííûì âñêðûòèåì èëè âñêðûòèåì ðàçäåëÿé-è-âëàñòâóé . Òîìàñ Ñèãåíòàëåð (Thomas Siegenthaler) ïîêàçàë, ÷òî ìîæíî òî÷íî îïðåäåëèòü êîððåëÿöèîííóþ íåçàâèñèìîñòü, è ÷òî ñóùåñòâóåò êîìïðîìèññ ìåæäó êîððåëÿöèîííîé íåçàâèñ èìîñòüþ è ëèíåéíîé ñëîæíîñòüþ [1450]. Îñíîâíîé èäååé êîððåëÿöèîííîãî âñêðûòèÿ ÿâëÿåòñÿ îáíàðóæåíèå íåêîòîðîé êîððåëÿöèè ìåæäó âûõîäîì ãåíåðàòîðà è âûõîäîì îäíîé èç åãî ñîñòàâíûõ ÷àñòåé . Òîãäà, íàáëþäàÿ âûõîäíóþ ïîñëåäîâàòåëüíîñòü , ìîæíî ïîëó÷èòü èíôîðìàöèþ îá ýòîì ïðîìåæóòî÷íîì âûõîäå . Èñïîëüçóÿ ýòó èíôîðìàöèþ è äðóãèå êîððåëÿöèè, ìî æíî ñîáèðàòü äàííûå î äðóãèõ ïðîìåæóòî÷íûõ âûõîäàõ äî òåõ ïîð, ïîêà ãåíåðàòîð íå áóäåò âçëîìàí . Ïðîòèâ ìíîãèõ ãåíåðàòîðîâ ïîòîêîâ êëþ÷åé íà áàçå LFSR óñïåøíî èñïîëüçîâàëèñü êîððåëÿöèîííûå âñêð ûòèÿ è èõ âàðèàöèè, òàêèå êàê áûñòðûå êîððåëÿöèîííûå âñêðûòèÿ, ïðåäëàãàþùèå êîìïðîìèññ ìåæäó âû÷èñë èòåëüíîé ñëîæíîñòüþ è ýôôåêòèâíîñòüþ [1451, 278, 1452, 572, 1636, 1051, 1090, 350, 633, 1054, 1089, 995]. Ðÿä èíòåðåñíûõ íîâûõ èäåé â ýòîé îáëàñòè ìîæíî íàéòè â [46, 1641]. Äðóãèå âñêðûòèÿ Ñóùåñòâóþò è äðóãèå ñïîñîáû âñêðûòèÿ ãåíåðàòîðîâ ïîòîêîâ êëþ÷åé . Òåñò íà ëèíåéíóþ êîððåêòíîñòü (linear consistency) ïûòàåòñÿ íàéòè íåêîòîðîå ïîäìíîæåñòâî êëþ÷à øèôðîâàíèÿ ñ ïîìîùüþ ìàòðè÷íîé òåõíèêè [1638]. Ñóùåñòâóåò è âñêðûòèå êîððåêòíîñòè "âñòðå÷åé ïîñåðåäèíå" (meet-in-the-middle consistency attack ) [39, 41]. Àëãîðèòì ëèíåéíîãî ñèíäðîìà (linear syndrome algorithm) îñíîâàí íà âîçìîæíîñòè çàïèñàòü ôðà ãìåíò âûõîäíîé ïîñëåäîâàòåëüíîñòè â âèäå ëèíåéíîãî óðàâíåíèÿ [1636, 1637]. Ñóùåñòâóåò âñêðûòèå ëó÷øèì àôôèííûì ïðèáëèæåíèåì (best afflne approximation attack ) [502] è âñêðûòèå âûâåäåííûì ïðåäëîæåíèåì (derived sequence attack) [42]. Ê ïîòîêîâûì øèôðàì ìîæíî ïðèìåíèòü òàêæå ìåòîäû äèôôåðåíöèàëüíîãî [501] è ëèíåéíîãî [631] êðèïòîàíàëèçà.
16.4 Ïîòîêîâûå øèôðû íà áàçå LFSR Îñíîâíîé ïîäõîä ïðè ïðîåêòèðîâàíèè ãåíåðàòîðà ïîòîêà êëþ÷åé íà áàçå LFSR ïðîñò. Ñíà÷àëà áåðåòñÿ îäèí èëè íåñêîëüêî LFSR, îáû÷íî ñ ðàçëè÷íûìè äëèíàìè è ðàçëè÷íûìè ìíîãî÷ëåíàìè îáðàòíîé ñâÿçè . (Åñëè äëèíû âçàèìíî ïðîñòû, à âñå ìíîãî÷ëåíû îáðàòíîé ñâÿçè ïðèìèòèâíû, òî ó îáðàçîâàííîãî ãåíåðàòîðà áóäåò ìàêñ èìàëüíàÿ äëèíà.) Êëþ÷ ÿâëÿåòñÿ íà÷àëüíûì ñîñòîÿíèåì ðåãèñòðîâ LFSR. Êàæäûé ðàç, êîãäà íåîáõîäèì íîâûé áèò, ñäâèíüòå íà áèò ðåãèñòðû LFSR (ýòî èíîãäà íàçûâàþò òàêòèðîâàíèåì (clocking)). Áèò âûõîäà ïðåäñòàâëÿåò ñîáîé ôóíêöèþ, æåëàòåëüíî íåëèíåéíóþ, íåêîòîðûõ áèòîâ ðåãèñòðîâ LFSR. Ýòà ôóíêöèÿ íàçûâàåòñÿ êîìáèíèðóþùåé ôóíêöèåé, à ãåíåðàòîð â öåëîì - êîìáèíàöèîííûì ãåíåðàòîðîì. (Åñëè áèò âûõîäà ÿâëÿåòñÿ ôóíêöèåé åäèíñòâåííîãî LFSR, òî ãåíåðàòîð íàçûâàåòñÿ ôèëüòðóþùèì ãåíåðàòîðîì.) Áîëüøàÿ ÷àñòü òåîðèè ïîäîáíîãî ðîäà óñòðîéñòâ ðàçðàáîòàíà Ñåëìåðîì ( Selmer) è Íèëîì Öèðëåðîì (Neal Zierler) [1647]. Ìîæíî ââåñòè ðÿä óñëîæíåíèé.  íåêîòîðûõ ãåíåðàòîðàõ äëÿ ðàçëè÷íûõ LFSR èñïîëüçóåòñÿ ðàçëè÷íàÿ òàêòîâàÿ ÷àñòîòà, èíîãäà ÷àñòîòà îäíîãî ãåíåðàòîðà çàâèñèò îò âûõîäà äðóãîãî . Âñå ýòî ýëåêòðîííûå âåðñèè èäåé øèôðîâàëüíûõ ìàøèí, ïîÿâèâøèõñÿ äî Âòîðîé ìèðîâîé âîéíû, êîòîðûå íàçûâàþòñÿ ãåíåðàòîðàìè ñ óïðàâëåíèåì òàêòîâîé ÷àñòîòîé (clock-controlled genelators) [641]. Óïðàâëåíèå òàêòîâîé ÷àñòîòîé ìîæåò áûòü ñ ïð ÿìîé ñâÿçüþ, êîãäà âûõîä îäíîãî LFSR óïðàâëÿåò òàêòîâîé ÷àñòîòîé äðóãîãî LFSR, èëè ñ îáðàòíîé ñâÿçüþ, êîãäà âûõîä îäíîãî LFSR óïðàâëÿåò åãî ñîáñòâåííîé òàêòîâîé ÷àñòîòîé . Õîòÿ âñå ýòè ãåíåðàòîðû ÷óâñòâèòåëüíû, ïî êðàéíåé ìåðå òåîðåòè÷åñêè, ê âñêðûòèÿì âëîæåíèåì è âåðîÿòíîé êîððåëÿöèåé [634, 632], ìíîãèå èç íèõ áåçîïàñíû äî ñèõ ïîð . Äîïîëíèòåëüíóþ òåîðèþ ñäâèãîâûõ ðåãèñòðîâ ñ óïðàâëÿåìîé òàêòîâîé ÷àñòîòîé ìî æíî íàéòè â [89]. ßí Êàññåëëñ (Ian Cassells), ðàíåå âîçãëàâëÿâøèé êàôåäðó ÷èñòîé ìàòåìàòèêè â Êåìáðèäæå è ðàáîòàâøèé êðèïòîàíàëèòèêîì â Bletchly Park, ñêàçàë, ÷òî "êðèïòîãðàôèÿ - ýòî ñìåñü ìàòåìàòèêè è ïóòàíèöû , è áåç ïóòàíèöû ìàòåìàòèêà ìîæåò áûòü èñïîëüçîâàíà ïðîòèâ âàñ ." Îí èìåë â âèäó, ÷òî â ïîòîêîâûõ øèôðàõ äëÿ îáåñïå÷ åíèÿ ìàêñèìàëüíîé äëèíû è äðóãèõ ñâîéñòâ íåîáõîäèìû îïðåäåëåííûå ìàòåìàòè÷åñêèå ñòðóêòóðû, òàêèå êàê LFSR, íî, ÷òîáû ïîìåøàòü êîìó-òî ïîëó÷èòü ñîäåðæàíèå ðåãèñòðà è âñêðûòü àëãîðèòì, íåîáõîäèìî âíåñòè í åêîòîðûé ñëîæíûé íåëèíåéíûé áåñïîðÿäîê . Ýòîò ñîâåò ñïðàâåäëèâ è äëÿ áëî÷íûõ àëãîðèòìîâ .
Ïîýòîìó íå ñòîèò ñåðüåçíî óâëåêàòüñÿ ãåíåðàòîðàìè ïîòîêà êëþ÷åé íà áàçå LFSR, îïèñàíèÿ êîòîðûõ ïîÿâèëèñü â ëèòåðàòóðå. ß íå çíàþ, èñïîëüçóåòñÿ ëè õîòü îäèí èç íèõ â ðåàëüíûõ êðèïòîãðàôè÷åñêèõ ïðîäóêòàõ . Áîëüøåé ÷àñòüþ îíè ïðåäñòàâëÿþò ëèøü òåîðåòè÷åñêèé èíòåðåñ . Íåêîòîðûå áûëè âçëîìàíû, íåêîòîðûå ìîãëè îñòàòüñÿ áåçîïàñíûìè. Òàê êàê øèôðû íà áàçå LFSR îáû÷íî ðåàëèçóþòñÿ àïïàðàòíî , íà ðèñóíêàõ èñïîëüçóþòñÿ ñèìâîëû ýëåêòðî ííîé ëîãèêè.  òåêñòå, ⊕ îçíà÷àåò XOR, ∧ - AND, ∨ - OR, è ¬ - NOT. Ãåíåðàòîð Ãåôôà  ýòîì ãåíåðàòîðå ïîòîêà êëþ÷åé èñïîëüçóþòñÿ òðè LFSR, îáúåäèíåííûå íåëèíåéíûì îáðàçîì (ñì. 10th) [606]. Äâà LFSR ÿâëÿþòñÿ âõîäàìè ìóëüòèïëåêñîðà , à òðåòèé LFSR óïðàâëÿåò âûõîäîì ìóëüòèïëåêñîðà . Åñëè a1, a2 è a3 - âûõîäû òðåõ LFSR, âûõîä ãåíåðàòîðà Ãåôôà (Geffe) ìîæíî îïèñàòü êàê: b = (a1 ∧ a2) ⊕((¬a1) ∧ a3) Ìóëüòèïëåêñîð 2â1 LFSR-2
b(t) LFSR-3 Âûáîð LFSR-1
Ðèñ. 16-6. Ãåíåðàòîð Ãåôôà. Åñëè äëèíû LFSR ðàâíû n1, n2 è n3, ñîîòâåòñòâåííî, òî ëèíåéíàÿ ñëîæíîñòü ãåíåðàòîðà ðàâíà (n1 + 1) n2 + n1n3, Ïåðèîä ãåíåðàòîðà ðàâåí íàèìåíüøåìó îáùåìó äåëèòåëþ ïåðèîäîâ òðåõ ãåíåðàòîðîâ . Ïðè óñëîâèè, ÷òî ñòåïåíè òðåõ ïðèìèòèâíûõ ìíîãî÷ëåíîâ îáðàòíîé ñâÿçè âçàèìíî ïðîñòû, ïåðèîä ýòîãî ãåíåðàòîðà áóäåò ðàâåí ïðîèçâåäåíèþ ïåðèîäîâ òðåõ LFSR. Õîòÿ ýòîò ãåíåðàòîð íåïëîõî âûãëÿäèò íà áóìàãå , îí êðèïòîãðàôè÷åñêè ñëàá è íå ìîæåò óñòîÿòü ïðîòèâ êî ððåëÿöèîííîãî âñêðûòèÿ [829, 1638].  75 ïðîöåíòàõ âðåìåíè âûõîä ãåíåðàòîðà ðàâåí âûõîäó LFSR-2. Ïîýòîìó, åñëè èçâåñòíû îòâîäíûå ïîñëåäîâàòåëüíîñòè îáðàòíîé ñâÿçè , ìîæíî äîãàäàòüñÿ î íà÷àëüíîì çíà÷åíèè LFSR-2 è ñãåíåðèðîâàòü âûõîäíóþ ïîñëåäîâàòåëüíîñòü ýòîãî ðåãèñòðà . Òîãäà ìîæíî ïîäñ÷èòàòü, ñêîëüêî ðàç âûõîä LFSR ñîâïàäàåò ñ âûõîäîì ãåíåðàòîðà . Åñëè íà÷àëüíîå çíà÷åíèå îïðåäåëåíî íåâåðíî, äâå ïîñëåäîâàòåëüíîñòè áóäóò ñîãëàñîâûâàòüñÿ â 50 ïðîöåíòàõ âðåìåíè, à åñëè ïðàâèëüíî, òî â 75 ïðîöåíòàõ âðåìåíè . Àíàëîãè÷íî, âûõîä ãåíåðàòîðà ðàâåí âûõîäó LFSR â 75 ïðîöåíòàõ âðåìåíè. Ñ òàêèìè êîððåëÿöèÿìè ãåíåðàòîð ïîòîêà êëþ÷åé ìîæåò áûòü ëåãêî âçëîìàí . Íàïðèìåð, åñëè ïðèìèòèâíûå ìíîãî÷ëåíû ñîñòîÿò òîëüêî èç òðåõ ÷ëåíîâ, è äëèíà ñàìîãî áîëüøîãî LFSR ðàâíà n, äëÿ âîññòàíîâëåíèÿ âíóòðåííèõ ñîñòîÿíèé âñåõ òðåõ LFSR íóæåí ôðàãìåíò âûõîäíîé ïîñëåäîâàòåëüíîñòè äëèíîé 37n áèòîâ [1639]. Îáîáùåííûé ãåíåðàòîð Ãåôôà Âìåñòî âûáîðà ìåæäó äâóìÿ LFSR â ýòîé ñõåìå âûáèðàåòñÿ îäèí èç k LFSR, ãäå k ÿâëÿåòñÿ ñòåïåíüþ 2. Âñåãî èñïîëüçóåòñÿ k + 1 LFSR (ñì. 9th). Òàêòîâàÿ ÷àñòîòà LFSR-l äîëæíà áûòü â log2 k ðàç âûøå, ÷åì ó îñòàëüíûõ k LFSR.
LFSR-n+1 Ìóëüòèïëåêñîð nâ1
LFSR-3
b(t)
Âûáîð
LFSR-2
LFSR-1
Ðèñ. 16-7. Îáîáùåííûé ãåíåðàòîð Ãåôôà. Íåñìîòðÿ íà òî, ÷òî ýòà ñõåìà ñëîæíåå ãåíåðàòîðà Ãåôôà , äëÿ âçëîìà ìîæíî èñïîëüçîâàòü òî æå êîððåëÿö èîííîå âñêðûòèå. Íå ðåêîìåíäóþ ýòîò ãåíåðàòîð. Ãåíåðàòîð Äæåííèíãñà
a LFSR-2  ýòîé ñõåìå ìóëüòèïëåêñîð èñïîëüçóåòñÿ äëÿ îáúåäèíåíèÿ äâóõ LFSR [778, 779, 780]. Ìóëüòèïëåêñîð, a óïðàâëÿåìûé LFSR-1 LFSR-l, âûáèðàåò 1 áèò LFSR-2 â êà÷åñòâå î÷åðåäíîãî âûõîäíîãî áèòà . Êðîìå òîãî, èñïîëüçóåòñÿ ôóíêöèÿ, êîòîðàÿ îòîáðàæàåò âûõîä LFSR-2 íà âõîä ìóëüòèïëåêñîðà (ñì. 8th). b LFSR-3
φ Òàêòèðîâàí
LFSR-1
a  û á î ð
θ
Ìóëüòèïëåêñîð
b(t)
0 1 ... n-1 K1
...
K2 K3
LFSR-2
Ðèñ. 16-8. Ãåíåðàòîð Äæåííèíãñà. Êëþ÷îì ÿâëÿåòñÿ íà÷àëüíîå ñîñòîÿíèå äâóõ LFSR è ôóíêöèè îòîáðàæåíèÿ. Õîòÿ ó ýòîãî ãåíåðàòîðà çàìå÷àòåëüíûå ñòàòèñòè÷åñêèå ñâîéñòâà, îí ïàë ïåðåä âûïîëíåííûì Ðîññîì Àíäåðñîíîì (Ross Anderson) âñêðûòèåì êîððåêòíîñòè âñòðå÷åé ïîñåðåäèíå [39] è âñêðûòèåì ëèíåéíîé êîððåêòíîñòè [1638,442]. Íå èñïîëüçóéòå ýòîò ãåíåðàòîð. Ãåíåðàòîð "ñòîï-ïîøåë" (Stop-and-Go) Both-Piper Ýòîò ãåíåðàòîð, ïîêàçàííûé íà 7th, èñïîëüçóåò âûõîä îäíîãî LFSR äëÿ óïðàâëåíèÿ òàêòîâîé ÷àñòîòîé äðóã îãî LFSR [151]. Òàêòîâûé âõîä LFSR-2 óïðàâëÿåòñÿ âûõîäîì LFSR-l, òàê ÷òî LFSR-2 ìîæåò èçìåíÿòü ñâîå ñîñòîÿíèå â ìîìåíò âðåìåíè t òîëüêî, åñëè âûõîä LFSR-l â ìîìåíò âðåìåíè t - 1 áûë ðàâåí 1.
LFSR-2
a2(t)
a1(t)
LFSR-1
b(t) LFSR-3
a3(t)
φ
Òàêòèðîâàíèå
Ðèñ. 16-9. Ãåíåðàòîð "ñòîï-ïîøåë" Beth-Piper. Íèêîìó íå óäàëîñü ïðèâåñòè äëÿ îáùåãî ñëó÷àÿ äîñòîâåðíûå äàííûå î ëèíåéíîé ñëîæíîñòè ýòîãî ãåíåðàòîðà. Îäíàêî îí íå óñòîÿë ïåðåä êîððåëÿöèîííûì âñêðûòèåì [1639]. ×åðåäóþùèéñÿ ãåíåðàòîð "ñòîï-ïîøåë"  ýòîì ãåíåðàòîðå èñïîëüçóþòñÿ òðè LFSR ðàçëè÷íîé äëèíû. LFSR-2 òàêòèðóåòñÿ, êîãäà âûõîä LFSR-l ðàâåí 1, LFSR-3 òàêòèðóåòñÿ, êîãäà âûõîä LFSR-l ðàâåí 0. Âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ XOR LFSR-2 è LFSR-3 (ñì. Ðèñ. 16.10) [673]. LFSR-2 LFSR-1
a1(t) b(t)
LFSR-3
φ(t)
Ðèñ. 16-10. ×åðåäóþùèéñÿ ãåíåðàòîð "ñòîï-ïîøåë" Ó ýòîãî ãåíåðàòîðà áîëüøîé ïåðèîä è áîëüøàÿ ëèíåéíàÿ ñëîæíîñòü . Àâòîðû ïîêàçàëè ñïîñîá êîððåëÿöèî ííîãî âñêðûòèÿ LFSR-1, íî ýòî íå ñèëüíî îñëàáëÿåò ãåíåðàòîð . Áûëè ïðåäëîæåíû è äðóãèå ãåíåðàòîðû òàêîãî òèïà [1534, 1574, 1477]. Äâóñòîðîííèé ãåíåðàòîð "ñòîï-ïîøåë"  ýòîì ãåíåðàòîðå èñïîëüçóåòñÿ äâà LFSR ñ îäèíàêîâîé äëèíîé n (ñì. Ðèñ. 16.11) [1638]. Âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ XOR âûõîäîâ êàæäîãî LFSR. Åñëè âûõîä LFSR-l â ìîìåíò âðåìåíè t-1 ðàâåí 0, à â ìîìåíò âðåìåíè t-2 - 1, òî LFSR-2 íå òàêòèðóåòñÿ â ìîìåíò âðåìåíè t. Íàîáîðîò, åñëè âûõîä LFSR-2 â ìîìåíò âðåìåíè t-1 ðàâåí 0, à â ìîìåíò âðåìåíè t-2 - 1, è åñëè LFSR-2 òàêòèðóåòñÿ â ìîìåíò âðåìåíè t, òî LFSR-l íå òàêòèðóåòñÿ â ìîìåíò âðåìåíè t.
φ(t)
φA(t)
a(t+n-1)
a(t+n-2)
...
a(t)
n-ýòàïíûé LFSR-2 ñ(t) n-ýòàïíûé LFSR-1 b(t+n-1)
b(t+n-2)
...
b(t)
φB(t)
φ(t)
Ðèñ. 16-11. Äâóñòîðîííèé ãåíåðàòîð "ñòîï-ïîøåë". Ëèíåéíàÿ ñëîæíîñòü òàêîé ñèñòåìû ïðèìåðíî ðàâíà åå ïåðèîäó. Ñîãëàñíî [1638], "â òàêîé ñèñòåìå íå î÷åâèäíàÿ èçáûòî÷íîñòü êëþ÷à íå íàáëþäàåòñÿ ". Ïîðîãîâûé ãåíåðàòîð Ýòîò ãåíåðàòîð ïûòàåòñÿ îáîéòè ïðîáëåìû áåçîïàñíîñòè, õàðàêòåðíûå äëÿ ïðåäûäóùèõ ãåíåðàòîðîâ, ñ ï îìîùüþ ïåðåìåííîãî ÷èñëà LFSR [277]. Ïî òåîðèè ïðè èñïîëüçîâàíèè áîëüøåãî êîëè÷åñòâà LFSR âñêðûòü øèôð ñëîæíåå. Ýòîò ãåíåðàòîð ïîêàçàí íà 4-é. Âîçüìèòå âûõîä áîëüøîãî ÷èñëà LFSR (èñïîëüçóÿ íå÷åòíîå ÷èñëî ðåãèñòðîâ ). Äëÿ ïîëó÷åíèÿ ìàêñèìàëüíîãî ïåðèîäà óáåäèòåñü, ÷òî äëèíû âñåõ LFSR âçàèìíî ïðîñòû, à ìíîãî÷ëåíû îáðà òíîé ñâÿçè - ïðèìèòèâíû.. Åñëè áîëåå ïîëîâèíû âûõîäíûõ áèòîâ LFSR - 1, òî âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ 1. Åñëè áîëåå ïîëîâèíû âûõîäíûõ áèòîâ LFSR - 0, òî âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ 0. LFSR-1 LFSR-2 LFSR-3
Ôóíêöèÿ ìàæîðèðîâàíèÿ
b(t)
LFSR-n Ðèñ. 16-12. Ïîðîãîâûé ãåíåðàòîð. Äëÿ òðåõ LFSR âûõîä ãåíåðàòîðà ìîæíî ïðåäñòàâèòü êàê : b = (a1 ∧ a2) ⊕ (a1 ∧ a3) ⊕ (a2 ∧ a3) Ýòî î÷åíü ïîõîæå íà ãåíåðàòîð Ãåôôà çà èñêëþ÷åíèåì òîãî, ÷òî ïîðîãîâûé ãåíåðàòîð îáëàäàåò áîëüøåé ë èíåéíîé ñëîæíîñòüþ n1 n2 + n1 n3 + n2 n3 ãäå n1, n2 è n3 - äëèíû ïåðâîãî, âòîðîãî è òðåòüåãî LFSR. Ýòîò ãåíåðàòîð íå ñëèøêîì õîðîø. Êàæäûé âûõîäíîé áèò äàåò íåêîòîðóþ èíôîðìàöèþ î ñîñòîÿíèè LFSR òî÷íåå 0.189 áèòà - è ãåíåðàòîð â öåëîì íå ìîæåò óñòîÿòü ïåðåä êîððåëÿöèîííûì âñêðûòèåì . ß íå ñîâåòóþ èñïîëüçîâàòü òàêîé ãåíåðàòîð.
Ñàìîïðîðåæèâàþùèå (Self-Decimated) ãåíåðàòîðû Ñàìîïðîðåæèâàþùèìè íàçûâàþòñÿ ãåíåðàòîðû, êîòîðûå óïðàâëÿþò ñîáñòâåííîé òàêòîâîé ÷àñòîòîé . Áûëî ïðåäëîæåíî äâà òèïà òàêèõ ãåíåðàòîðîâ, îäèí Ðýéíåðîì Ðþïïåëîì ( Ranier Rueppel) (ñì. 3-é) [1359] äðóãîé Áèëëîì ×àìáåðñîì (Bill Chambers) è Äèòåðîì Êîëëìàíîì (Dieter Collmann) [308] (ñì. 2nd).  ãåíåðàòîðå Ðþïïåëà åñëè âûõîä LFSR ðàâåí 0, LFSR òàêòèðóåòñÿ d ðàç. Åñëè âûõîä LFSR ðàâåí 0, LFSR òàêòèðóåòñÿ k ðàç. Ãåíåðàòîð ×àìáåðñà è Êîëëìàíà ñëîæíåå, íî èäåÿ îñòàåòñÿ òîé æå . Ê ñîæàëåíèþ îáà ãåíåðàòîðà íå áåçîïàñíû [1639], õîòÿ áûë ïðåäëîæåí ðÿä ìîäèôèêàöèé, êîòîðûå ìîãóò èñïðàâèòü âñòðå÷àþùèåñÿ ïðîáëåìû [1362.]. 0: Òàêòèðîâàíèå d ðàç
φ
1: Òàêòèðîâàíèå k ðàç
b(t)
LFSR
Ðèñ. 16-13. Ñàìîïðîðåæèâàþùèé ãåíåðàòîð Ðþïïåëà. 0: Òàêòèðîâàíèå d ðàç
φ
1: Òàêòèðîâàíèå k ðàç
b(t)
LFSR z ... 2 1
Ðèñ. 16-14. Ñàìîïðîðåæèâàþùèé ãåíåðàòîð ×àìáåðñà è Ãîëëìàíà. Ìíîãîñêîðîñòíîé ãåíåðàòîð ñ âíóòðåííèì ïðîèçâåäåíèåì (inner-product) Ýòîò ãåíåðàòîð, ïðåäëîæåííûé Ìàññååì ( Massey) è Ðþïïåëîì [1014], èñïîëüçóåò äâà LFSR ñ ðàçíûìè òàêòîâûìè ÷àñòîòàìè (ñì. 1st). Òàêòîâàÿ ÷àñòîòà LFSR-2 â d ðàç áîëüøå, ÷åì ó LFSR-l. Îòäåëüíûå áèòû ýòèõ LFSR îáúåäèíÿþòñÿ îïåðàöèåé AND, à çàòåì äëÿ ïîëó÷åíèÿ âûõîäíîãî áèòà ãåíåðàòîðà îíè îáúåäèíÿþòñÿ ïîñðåäñ òâîì XOR.
φ
l-ýòàïíûé LFSR-1
b(t)
d*φ
n-ýòàïíûé LFSR-2
Ðèñ. 16-15. Ìíîãîñêîðîñòíîé ãåíåðàòîð ñ âíóòðåííèì ïðîèçâåäåíèåì. Õîòÿ ýòîò ãåíåðàòîð îáëàäàåò âûñîêîé ëèíåéíîé ñëîæíîñòüþ è âåëèêîëåïíûìè ñòàòèñòè÷åñêèìè õàðàêòåð èñòèêàìè, îí âñå æå íå ìîæåò óñòîÿòü ïåðåä âñêðûòèåì ëèíåéíîé ñîãëàñîâàííîñòè [1639]. Åñëè n1 - äëèíà LFSRl, n2 - äëèíà LFSR-2, à d - îòíîøåíèå òàêòîâûõ ÷àñòîò, òî âíóòðåííåå ñîñòîÿíèå ãåíåðàòîðà ìîæåò áûòü ïîëó÷åíî ïî âûõîäíîé ïîñëåäîâàòåëüíîñòè äëèíîé n2+ n2 + log2d Ñóììèðóþùèé ãåíåðàòîð Åùå îäíî ïðåäëîæåíèå Ðýéíåð Ðþïïåëà , ýòîò ãåíåðàòîð ñóììèðóåò âûõîäû äâóõ LFSR (ñ ïåðåíîñîì) [1358, 1357]. Ýòî â âûñîêîé ñòåïåíè íåëèíåéíàÿ îïåðàöèÿ .  êîíöå 80-õ ýòîò ãåíåðàòîð áûë ëèäåðîì â îòíîøåíèè áåçîïàñíîñòè, íî îí ïàë ïåðåä êîððåëÿöèîííûì âñêðûòèåì [1053, 1054, 1091]. Êðîìå òîãî, áûëî ïîêàçàíî, ÷òî ýòîò ãåíåðàòîð ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì îáðàòíîé ñâÿçè, èñïîëüçóþùåé ñäâèãîâûé ðåãèñòð ñ ïåðåíîñîì (ñì.
ðàçäåë 17.4), è ìîæåò áûòü âçëîìàí [844]. DNRSG Ýòî îçíà÷àåò "äèíàìè÷åñêèé ãåíåðàòîð ñëó÷àéíîé ïîñëåäîâàòåëüíîñòè" ( "dynamic random-sequence gener ator") [1117]. Èäåÿ ñîñòîèò â òîì, ÷òîáû âçÿòü äâà ðàçëè÷íûõ ôèëüòðóåìûõ ãåíåðàòîðà - ïîðîãîâûõ, ñóììèðó þùèõ, è ò.ï. - èñïîëüçóþùèõ îäèí íàáîð LFSR, à óïðàâëÿåìûõ äðóãèì LFSR. Ñíà÷àëà òàêòèðóþòñÿ âñå LFSR. Åñëè âûõîäîì LFSR-0 ÿâëÿåòñÿ 1, òî âû÷èñëÿåòñÿ âûõîä ïåðâîãî ôèëü òðóþùåãî ãåíåðàòîðà. Åñëè âûõîäîì LFSR-0 ÿâëÿåòñÿ 0, òî âû÷èñëÿåòñÿ âûõîä âòîðîãî ôèëüòðóþùåãî ãåíåðàò îðà. Îêîí÷àòåëüíûì ðåçóëüòàòîì ÿâëÿåòñÿ XOR âûõîäîâ ïåðâîãî è âòîðîãî ãåíåðàòîðîâ . Êàñêàä Ãîëëìàííà Êàñêàä Ãîëëìàííà (ñì. 0-é), îïèñàííûé â [636, 309], ïðåäñòàâëÿåò ñîáîé óñèëåííóþ âåðñèþ ãåíåðàòîðà "ñòîï-ïîøåë". Îí ñîñòîèò èç ïîñëåäîâàòåëüíîñòè LFSR, òàêòèðîâàíèå êàæäîãî èç êîòîðûõ óïðàâëÿåòñÿ ïðåä ûäóùèì LFSR. Åñëè âûõîäîì LFSR-l â ìîìåíò âðåìåíè t ÿâëÿåòñÿ 1, òî òàêòèðóåòñÿ LFSR-2. Åñëè âûõîäîì LFSR-2 â ìîìåíò âðåìåíè t ÿâëÿåòñÿ 1, òî òàêòèðóåòñÿ LFSR-3, è òàê äàëåå. Âûõîä ïîñëåäíåãî LFSR è ÿâëÿåòñÿ âûõîäîì ãåíåðàòîðà. Åñëè äëèíà âñåõ LFSR îäèíàêîâà è ðàâíà n, ëèíåéíàÿ ñëîæíîñòü ñèñòåìû èç k LFSR ðàâíà n(2n - 1)k-1 1
LFSR-1
LFSR-2
LFSR-3
φ Ðèñ. 16-16. Êàñêàä Ãîëëìàííà. Ýòî äåðçêàÿ èäåÿ: êîíöåïòóàëüíî îíè î÷åíü ïðîñòû è ìîãóò áûòü èñïîëüçîâàíû äëÿ ãåíåðàöèè ïîñëåäîâ àòåëüíîñòåé ñ îãðîìíûìè ïåðèîäàìè, îãðîìíûìè ëèíåéíûìè ñëîæíîñòÿìè è õîðîøèìè ñòàòèñòè÷åñêèìè ñâî éñòâàìè. Îíè ÷óâñòâèòåëüíû ê âñêðûòèþ, íàçûâàåìîìó çàïèðàíèåì (lock-in) [640] è ïðåäñòàâëÿþùåìó ìåòîä, ñ ïîìîùüþ êîòîðîãî ñíà÷àëà êðèïòîàíàëèòèê âîññòàíàâëèâàåò âõîä ïîñëåäíåãî ñäâèãîâîãî ðåãèñòðà â êàñêàäå , à çàòåì âçëàìûâàåò âåñü êàñêàä, ðåãèñòð çà ðåãèñòðîì .  íåêîòîðûõ ñëó÷àÿõ ýòî ïðåäñòàâëÿåò ñîáîé ñåðüåçíóþ ïðîáëåìó è óìåíüøàåò ýôôåêòèâíóþ äëèíó êëþ÷à àëãîðèòìà , íî äëÿ ìèíèìèçàöèè âîçìîæíîñòè òàêîãî âñêð ûòèÿ ìîæíî ïðåäïðèíÿòü ðÿä îïðåäåëåííûõ ìåð. Äàëüíåéøèé àíàëèç ïîêàçàë, ÷òî ñ ðîñòîì k ïîñëåäîâàòåëüíîñòü ïðèáëèæàåòñÿ ê ñëó÷àéíîé [637, 638, 642, 639]. Íà îñíîâàíèè íåäàâíèõ âñêðûòèé êîðîòêèõ êàñêàäîâ Ãîëëìàííà [1063], ÿ ñîâåòóþ èñïîëüçîâàòü k íå ìåíüøå 15. Ëó÷øå èñïîëüçîâàòü áîëüøå êîðîòêèõ LFSR, ÷åì ìåíüøå äëèííûõ LFSR. Ïðîðåæèâàåìûé ãåíåðàòîð Ïðîðåæèâàåìûé (shrinking) ãåíåðàòîð [378] èñïîëüçóåò äðóãóþ ôîðìó óïðàâëåíèÿ òàêòèðîâàíèåì . Âîçüìåì äâà LFSR: LFSR-l è LFSR -2. Ïîäàäèì òàêòîâûé èìïóëüñ íà îáà ðåãèñòðà . Åñëè âûõîäîì LFSR-l ÿâëÿåòñÿ 1, òî âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ âûõîä LFSR-2. Åñëè âûõîä LFSR-l ðàâåí 0, îáà áèòà ñáðàñûâàþòñÿ, LFSR òàêòèðóþòñÿ çàíîâî è âñå ïîâòîðÿåòñÿ. Èäåÿ ïðîñòà, äîñòàòî÷íî ýôôåêòèâíà è êàæåòñÿ áåçîïàñíîé . Åñëè ìíîãî÷ëåíû îáðàòíîé ñâÿçè ïðîðåæåíû, ãåíåðàòîð ÷óâñòâèòåëåí ê âñêðûòèþ, íî äðóãèõ ïðîáëåì îáíàðóæåíî íå áûëî . Õîòÿ ýòîò òèï ãåíåðàòîðà äîñòàòî÷íî íîâ. Îäíà èç ïðîáëåì ðåàëèçàöèè ñîñòîèò â òîì, ÷òî ñêîðîñòü âûäà÷è ðåçóëüòàòà íå ïîñòîÿííà, åñëè LFSR-l ãåíåðèðóåò äëèííóþ ïîñëåäîâàòåëüíîñòü íóëåé, òî íà âûõîäå ãåíåðàòîðà íè÷åãî íåò . Äëÿ ðåøåíèÿ ýòîé ïðîáëåìû àâòîðû ïðåäëàãàþò èñïîëüçîâàòü áóôåðèçàöèþ [378]. Ïðàêòè÷åñêàÿ ðåàëèçàöèÿ ïðîðåæèâàåìîãî ã åíåðàòîðà ðàññìàòðèâàåòñÿ â [901]. Ñàìîïðîðåæèâàåìûé ãåíåðàòîð Ñàìîïðîðåæèâàåìûé (self-shrinking) ãåíåðàòîð [1050] ÿâëÿåòñÿ âàðèàíòîì ïðîðåæèâàåìîãî ãåíåðàòîðà . Âìåñòî äâóõ LFSR èñïîëüçóåòñÿ ïàðà áèòîâ îäíîãî LFSR. Ïðîòàêòèðóéòå LFSR äâàæäû. Åñëè ïåðâûì áèòîì ïàðû áóäåò 1, òî âòîðîé áèò áóäåò âûõîäîì ãåíåðàòîðà . Åñëè ïåðâûé áèò - 0, ñáðîñüòå îáà áèòà è ïîïðîáóéòå ñíîâà . Õîòÿ äëÿ ñàìîïðîðåæèâàåìîãî ãåíåðàòîðà íóæíî ïðèìåðíî â äâà ðàçà ìåíüøå ïàìÿòè, ÷åì äëÿ ïðîðåæèâàåì î-
ãî, îí ðàáîòàåò â äâà ðàçà ìåäëåííåå . Õîòÿ ñàìîïðîðåæèâàåìûé ãåíåðàòîð òàêæå êàæåòñÿ áåçîïàñíûì, îí ìîæåò âåñòè ñåáÿ íåïðåäñêàçóåìûì î áðàçîì è îáëàäàòü íåèçâåñòíûìè ñâîéñòâàìè . Ýòî î÷åíü íîâûé ãåíåðàòîð, äàéòå åìó íåìíîãî âðåìåíè .
16.5 A5 A5 - ýòî ïîòîêîâûé øèôð, èñïîëüçóåìûé äëÿ øèôðîâàíèÿ GSM (Group Special Mobile). Ýòî åâðîïåéñêèé ñòàíäàðò äëÿ öèôðîâûõ ñîòîâûõ ìîáèëüíûõ òåëåôîíîâ . Îí èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ êàíàëà "òåëåôîíáàçîâàÿ ñòàíöèÿ". Îñòàâøàÿñÿ ÷àñòü êàíàëà íå øèôðóåòñÿ, òåëåôîííàÿ êîìïàíèÿ ìîæåò ëåãêî ñäåëàòü ÷òîíèáóäü ñ âàøèìè ðàçãîâîðàìè. Âîêðóã ýòîãî ïðîòîêîëà âåäóòñÿ ñòðàííûå ïîëèòè÷åñêèå èãðû . Ïåðâîíà÷àëüíî ïðåäïîëàãàëîñü, ÷òî êðèïò îãðàôèÿ GSM ïîçâîëèò çàïðåòèòü ýêñïîðò òåëåôîíîâ â íåêîòîðûå ñòðàíû . Òåïåðü ðÿä ÷èíîâíèêîâ îáñóæäàåò, íå ïîâðåäèò ëè A5 ýêñïîðòíûì ïðîäàæàì íåñìîòðÿ íà òî, ÷òî îí òàê ñëàá, ÷òî âðÿä ëè ñìîæåò ñëóæèòü ïðåïÿòñ òâèåì. Ïî ñëóõàì â ñåðåäèíå 80-õ ðàçëè÷íûå ñåêðåòíûå ñëóæáû ÍÀÒÎ ñöåïèëèñü ïî âîïðîñó, äîëæíî ëè øèôð îâàíèå GSM áûòü ñèëüíûì èëè ñëàáûì. Íåìöàì áûëà íóæíà ñèëüíàÿ êðèïòîãðàôèÿ, òàê êàê ðÿäîì ñ íèìè íàõ îäèëñÿ Ñîâåòñêèé Ñîþç. Âçÿëà âåðõ äðóãàÿ òî÷êà çðåíèÿ, è A5 ïðåäñòàâëÿåò ñîáîé ôðàíöóçñêóþ ðàçð àáîòêó. Áîëüøèíñòâî äåòàëåé íàì èçâåñòíî . Áðèòàíñêàÿ òåëåôîííàÿ êîìïàíèÿ ïåðåäàëà âñþ äîêóìåíòàöèþ Áðý äôîðäñêîìó óíèâåðñèòåòó (Bradford University), íå çàñòàâèâ ïîäïèñàòü ñîãëàøåíèå î íåðàçãëàøåíèè . Èíôîðìàöèÿ ãäå-òî ïðîñî÷èëàñü è íàêîíåö áûëà îïóáëèêîâàíà â Internet. A5 îïèñûâàåòñÿ â [1622], òàêæå â êîíöå ýòîé êíèãè ïðèâåäåí êîä ýòîãî ïðîòîêîëà . A5 ñîñòîèò èç òðåõ LFSR äëèíîé 19, 22 è 23, âñå ìíîãî÷ëåíû îáðàòíîé ñâÿçè - ïðîðåæåíû . Âûõîäîì ÿâëÿåòñÿ XOR òðåõ LFSR.  A5 èñïîëüçóåòñÿ èçìåíÿåìîå óïðàâëåíèå òàêòèðîâàíèåì . Êàæäûé ðåãèñòð òàêòèðóåòñÿ â çàâèñèìîñòè îò ñâîåãî ñðåäíåãî áèòà, çàòåì âûïîëíÿåòñÿ XOR ñ îáðàòíîé ïîðîãîâîé ôóíêöèåé ñðåäíèõ áèòîâ âñåõ òðåõ ðåãèñòðîâ. Îáû÷íî íà êàæäîì ýòàïå òàêòèðóåòñÿ äâà LFSR. Ñóùåñòâóåò òðèâèàëüíîå âñêðûòèå, òðåáóþùåå 2 40 øèôðîâàíèé: ïðåäïîëîæèòå ñîäåðæàíèå ïåðâûõ äâóõ LFSR è ïîïûòàéòåñü îïðåäåëèòü òðåòèé LFSR ïî ïîòîêó êëþ÷åé. (Äåéñòâèòåëüíî ëè òàêîé ñïîñîá âñêðûòèÿ âîçìîæåí, îñòàåòñÿ ïîä âîïðîñîì, êîòîðûé ñêîðî áóäåò ðàçðåøåí ðàçðàáàòûâàåìîé ìàøèíîé äëÿ àïïàðàòíîãî ïîèñêà êëþ÷åé [45].) Òåì íå ìåíåå, ñòàíîâèòñÿ ÿñíî, ÷òî èäåè, ëåæàùèå â îñíîâå A5, íåïëîõè. Àëãîðèòì î÷åíü ýôôåêòèâåí. Îí óäîâëåòâîðÿåò âñåì èçâåñòíûì ñòàòèñòè÷åñêèì òåñòàì, åäèíñòâåííîé åãî ñëàáîñòüþ ÿâëÿåòñÿ òî, ÷òî åãî ðåãèñ òðû ñëèøêîì êîðîòêè, ÷òîáû ïðåäîòâðàòèòü ïîèñê êëþ÷à ïåðåáîðîì . Âàðèàíòû A5 ñ áîëåå äëèííûìè ñäâèãîâûìè ðåãèñòðàìè è áîëåå ïëîòíûìè ìíîãî÷ëåíàìè îáðàòíîé ñâÿçè äîëæíû áûòü áåçîïàñíû .
16.6 Hughes XPD/KPD Ýòîò àëãîðèòì áûë ïðåäëîæåí Hughes Aircraft Corp. Ýòà ôèðìà âñòðîèëà åãî â àðìåéñêèå òàêòè÷åñêèå ðàöèè è îáîðóäîâàíèå ïîèñêà íàïðàâëåíèÿ äëÿ ïðîäàæè çà ãðàíèöó. Àëãîðèòì áûë ðàçðàáîòàí â 1986 ãîäó è ïîëó÷èë íàçâàíèå XPD, ñîêðàùåíèå îò Exportable Protection Device - Ýêñïîðòèðóåìîå óñòðîéñòâî çàùèòû . Ïîçäíåå îí áûë ïåðåèìåíîâàí â KPD - Óñòðîéñòâî êèíåòè÷åñêîé çàùèòû - è ðàññåêðå÷åí [1037, 1036]. Àëãîðèòì èñïîëüçóåò 61-áèòîâûé LFSR. Ñóùåñòâóåò 210 ðàçëè÷íûõ ïðèìèòèâíûõ ìíîãî÷ëåíà îáðàòíîé ñâ ÿçè, îäîáðåííûõ NSA. Êëþ÷ âûáèðàåò îäèí èç ýòèõ ìíîãî÷ëåíîâ (õðàíÿùèõñÿ ãäå-òî â ÏÇÓ), à òàêæå íà÷àëüíîå ñîñòîÿíèå LFSR.  àëãîðèòìå âîñåìü ðàçëè÷íûõ íåëèíåéíûõ ôèëüòðîâ , êàæäûé èç êîòîðûõ èñïîëüçóåò øåñòü îòâîäîâ LFSR, âûäàâàÿ îäèí áèò. Îáúåäèíÿÿñü, ýòè áèòû îáðàçóþò áàéò, êîòîðûé è ïðèìåíÿåòñÿ äëÿ øèôðîâàíèÿ èëè äåøè ôðèðîâàíèÿ ïîòîêà äàííûõ. Ýòîò àëãîðèòì âûãëÿäèò î÷åíü ïðèâëåêàòåëüíî, íî ó ìåíÿ åñòü îïðåäåëåííûå ñîìíåíèÿ . NSA ðàçðåøèëî åãî ýêñïîðò, ñëåäîâàòåëüíî äîëæåí áûòü ñïîñîá âñêðûòèÿ ïîðÿäêà, íå áîëüøåãî ÷åì 2 40. Íî êàêîé?
16.7 Nanoteq Nanoteq - ýòî þæíîàôðèêàíñêàÿ ýëåêòðîííàÿ êîìïàíèÿ . Èìåííî ýòîò àëãîðèòì èñïîëüçóåòñÿ þæíîàôðèêà íñêîé ïîëèöèåé ïðè øèôðîâàíèè ïåðåäà÷è ôàêñîâ, à âîçìîæíî è äëÿ ïðî÷èõ íóæä . Áîëåå èëè ìåíåå ýòîò àëãîðèòì îïèñàí â [902, 903]. Îí èñïîëüçóåò 127-áèòîâûé LFSR ñ ôèêñèðîâàííûì ìíîãî÷ëåíîì îáðàòíîé ñâÿçè, êëþ÷ ïðåäñòàâëÿåò ñîáîé íà÷àëüíîå ñîñòîÿíèå ðåãèñòðà . Ïðè ïîìîùè 25 ýëåìåíòàðíûõ ÿ÷ååê 127 áèòîâ ðåãèñòðà ïðåâðàùàþòñÿ â îäèí áèò ïîòîêà êëþ÷åé . Ó êàæäîé ÿ÷åéêè 5 âõîäîâ è îäèí âûõîä: f(xl, x2, x3, x4, x5) = xl + x2 + (xl + x3) (x2+ x4 + x5) + (xl + x4) (x2 + x3) + x5
Êàæäûé âûõîä ôóíêöèè ïîäâåðãàåòñÿ îïåðàöèè XOR ñ íåêîòîðûì áèòîì êëþ÷à. Êðîìå òîãî, ñóùåñòâóåò ñåêðåòíàÿ ïåðåñòàíîâêà, çàâèñÿùàÿ îò êîíêðåòíîé ðåàëèçàöèè è íå îïèñàííàÿ â ñòàòüÿõ ïîäðîáíî . Ýòîò àëãîðèòì äîñòóïåí òîëüêî â àïïàðàòíîì âèäå . Áåçîïàñåí ëè îí? ß íå óâåðåí. Ðÿä èíòåðåñíûõ ôàêñîâ, ïåðåäàâàåìûõ ìåæäó ïîëèöåéñêèìè ó÷àñòêàìè, èí îãäà ïîÿâëÿëñÿ â ëèáåðàëüíûõ ãàçåòàõ . Ýòî âïîëíå ìîãëî áûòü ðåçóëüòàòîì àìåðèêàíñêîé, àíãëèéñêîé èëè ñîâå òñêîé ðàçâåäûâàòåëüíîé äåÿòåëüíîñòè . Ðîññ Àíäåðñîí (Ross Anderson) ïðåäïðèíÿë ðÿä ïåðâûõ øàãîâ, êðèïòî àíàëèçèðóÿ ýòîò àëãîðèòì â [46], ÿ äóìàþ, ÷òî ñêîðî ïîÿâÿòñÿ íîâûå ðåçóëüòàòû.
16.8 Rambutan Rambutan - ýòî àíãëèéñêèé àëãîðèòì, ðàçðàáîòàííûé Communications Electronics Security Croup ( Ãðóïïà ïî áåçîïàñíîñòè ýëåêòðîííûõ êîììóíèêàöèé, îäíî èç îáúåäèíåíèé, èñïîëüçîâàííîå CCHQ). Îí ïðîäàåòñÿ òîëüêî â âèäå àïïàðàòíîãî ìîäóëÿ è îäîáðåí äëÿ çàùèòû äîêóìåíòîâ âïëîòü äî ãðèôà "Êîíôèäåíöèàëüíî" . Ñàì àëãîðèòì çàñåêðå÷åí, è ìèêðîñõåìà íå ïðåäíàçíà÷åíà äëÿ øèðîêîé êîììåð÷åñêîé ïðîäàæè . Rambutan èñïîëüçóåò 112-áèòîâûé êëþ÷ (ïëþñ áèòû ÷åòíîñòè) è ìîæåò ðàáîòàòü òðåõ ðåæèìàõ : ECB, CBC, è 8-áèòîâûé CFB. Ýòî ñèëüíûé àðãóìåíò â ïîëüçó òîãî, ÷òî ýòîò àëãîðèòì - áëî÷íûé, íî ñëóõè óòâåðæäàþò èíîå. Ïðåäïîëîæèòåëüíî ýòî ïîòîêîâûé øèôð ñ LFSR. Ó íåãî ïÿòü ïðèáëèçèòåëüíî 80-áèòîâûõ ñäâèãîâûõ ð åãèñòðîâ ðàçëè÷íîé äëèíû. Ïîëèíîìû îáðàòíîé ñâÿçè çíà÷èòåëüíî ïðîðåæåíû, â êàæäîì èç íèõ âñåãî ëèøü 10 îòâîäîâ. Êàæäûé ñäâèãîâûé ðåãèñòð îáåñïå÷èâàåò ÷åòûðå âõîäà äëÿ î÷åíü áîëüøîé è ñëîæíîé íåëèíåéíîé ôóíêöèè, êîòîðàÿ è âûäàåò åäèíñòâåííûé áèò . Ïî÷åìó Rambutan? Âîçìîæíî èç-çà ôðóêòà, êîòîðûé êîëþ÷èé è íåïðèñòóïíûé ñíàðóæè, íî ìÿãêèé è íå æíûé âíóòðè. Íî ñ äðóãîé ñòîðîíû íèêàêîé ïðè÷èíû ìîæåò è íå áûòü .
16.9 Àääèòèâíûå ãåíåðàòîðû Àääèòèâíûå ãåíåðàòîðû (èíîãäà íàçûâàåìûå çàïàçäûâàþùèìè ãåíåðàòîðàìè Ôèááîíà÷è ) î÷åíü ýôôåêòèâíû, òàê êàê èõ ðåçóëüòàòîì ÿâëÿþòñÿ ñëó÷àéíûå ñëîâà, à íå ñëó÷àéíûå áèòû [863]. Ñàìè ïî ñåáå îíè íå áåçîïàñíû, íî èõ ìîæíî èñïîëüçîâàòü â êà÷åñòâå ñîñòàâíûõ áëîêîâ äëÿ áåçîïàñíûõ ãåíåðàòîðîâ . Íà÷àëüíîå ñîñòîÿíèå ãåíåðàòîðà ïðåäñòàâëÿåò ñîáîé ìàññèâ n-áèòîâûõ ñëîâ: 8-áèòîâûõ ñëîâ, 16-áèòîâûõ ñëîâ, 32-áèòîâûõ ñëîâ, è ò.ä.: X1, X2, X3, ..., Xm. Ýòî ïåðâîíà÷àëüíîå ñîñòîÿíèå è ÿâëÿåòñÿ êëþ÷îì . i-îå ñëîâî ãåíåðàòîðà ïîëó÷àåòñÿ êàê Xi = (Xi-a + Xi-b + Xi-c + + Xi-m) mod 2n Ïðè ïðàâèëüíîì âûáîðå êîýôôèöèåíòîâ a, b, c, . . . , m ïåðèîä ýòîãî ãåíåðàòîðà íå ìåíüøå 2n-1. Îäíèì èç òðåáîâàíèé ê êîýôôèöèåíòàì ÿâëÿåòñÿ òî, ÷òî ìëàäøèé çíà÷àùèé áèò îáðàçóåò LFSR ìàêñèìàëüíîé äëèíû. Íàïðèìåð, (55,24,0) - ýòî ïðèìèòèâíûé ìíîãî÷ëåí mod 2 èç 14-é. Ýòî îçíà÷àåò, ÷òî äëèíà ñëåäóþùåãî àää èòèâíîãî ãåíåðàòîðà ìàêñèìàëüíà . Xi = (Xi-55 +Xi-24) mod 2n Ýòî ðàáîòàåò, òàê êàê ó ïðèìèòèâíîãî ìíîãî÷ëåíà òðè êîýôôèöèåíòà . Åñëè áû èõ áûëî áîëüøå, äëÿ ïîëó÷ åíèÿ ìàêñèìàëüíîé äëèíû ïîòðåáîâàëèñü áû äîïîëíèòåëüíûå óñëîâèÿ . Ïîäðîáíîñòè ìîæíî íàéòè â [249]. Fish Fish - ýòî àääèòèâíûé ãåíåðàòîð, îñíîâàííûé íà ìåòîäàõ, èñïîëüçóåìûõ â ïðîðåæèâàåìîì ãåíåðàòîðå [190]. Îí âûäàåò ïîòîê 32-áèòîâûõ ñëîâ, êîòîðûå ìîãóò áûòü èñïîëüçîâàíû (ñ ïîìîùüþ XOR) ñ ïîòîêîì îòêðûòîãî òåêñòà äëÿ ïîëó÷åíèÿ øèôðîòåêñòà èëè ñ ïîòîêîì øèôðîòåêñòà äëÿ ïîëó÷åíèÿ îòêðûòîãî òåêñòà . Íàçâàíèå àëãîðèòìà ïðåäñòàâëÿåò ñîáîé ñîêðàùåíèå îò Fibonacci shrinking generator - ïðîðåæèâàåìûé ãåíåðàòîð Ôèááîíà÷è . Âî ïåðâûõ èñïîëüçóéòå äâà ñëåäóþùèõ àääèòèâíûõ ãåíåðàòîðà . Êëþ÷îì ÿâëÿåòñÿ íà÷àëüíûå ñîñòîÿíèÿ ýòèõ ãåíåðàòîðîâ. Ai = (Ai-55 +Ai-24) mod 232 Bi = (Bi-52 +Bi-19) mod 232 Ýòè ïîñëåäîâàòåëüíîñòè ïðîðåæèâàþòñÿ ïîïàðíî â çàâèñèìîñòè îò ìëàäøåãî çíà÷àùåãî áèòà Bi : åñëè åãî çíà÷åíèå ðàâíî 1, òî ïàðà èñïîëüçóåòñÿ, åñëè 0 - èãíîðèðóåòñÿ . Cj - ýòî ïîñëåäîâàòåëüíîñòü èñïîëüçóåìûõ ñëîâ Ai, à Dj - ýòî ïîñëåäîâàòåëüíîñòü èñïîëüçóåìûõ ñëîâ Bi . Äëÿ ãåíåðàöèè äâóõ 32-áèòîâûõ ñëîâ-ðåçóëüòàòîâ K2j è K2j+1 ýòè ñëîâà èñïîëüçóþòñÿ ïàðàìè - C2j, C2j+1, D2j, D2j+1. E2j = C2j ⊕ (D2j, ∧ D2j+1)
F2j = D2j+1 ∧ (Ej, ∧ C2j+1) K2j = E2j ⊕ F2j K2j+1 = C2j+1 ⊕ F2j Ýòîò àëãîðèòì áûñòð. íà ïðîöåññîðå i486/33 ðåàëèçàöèÿ Fish íà ÿçûêå C øèôðóåò äàííûå ñî ñêîðîñòüþ 15-Ìáèò/ñ. Ê ñîæàëåíèþ îí òàêæå íå áåçîïàñåí, ïîðÿäîê âñêðûòèÿ ñîñòàâëÿåò îêîëî 240 [45]. Pike Pike - ýòî îáåäíåííàÿ è óðåçàííàÿ âåðñèÿ Fish, ïðåäëîæåííàÿ Ðîññîì Àíäåðñîíîì , òåì, êòî âçëîìàë Fish [45]. Îí èñïîëüçóåò òðè àääèòèâíûõ ãåíåðàòîðà . Íàïðèìåð: Ai = (Ai-55 +Ai-24) mod 232 Bi = (Bi-57 +Bi-7 ) mod 232 Ci = (Ci-58 +Ci-19) mod 232 Äëÿ ãåíåðàöèè ñëîâà ïîòîêà êëþ÷åé âçãëÿíèòå íà áèòû ïåðåíîñà ïðè ñëîæåíèè . Åñëè âñå òðè îäèíàêîâû (âñå íóëè èëè âñå åäèíèöû), òî òàêòèðóþòñÿ âñå òðè ãåíåðàòîðà. Åñëè íåò, òî òàêòèðóþòñÿ òîëüêî äâà ñîâïàäàþùèõ ãåíåðàòîðà. Ñîõðàíèòå áèòû ïåðåíîñà äëÿ ñëåäóþùåãî ðàçà. Îêîí÷àòåëüíûì âûõîäîì ÿâëÿåòñÿ XOR âûõîäîâ òðåõ ãåíåðàòîðîâ. Pike áûñòðåå Fish, òàê êàê â ñðåäíåì äëÿ ïîëó÷åíèÿ ðåçóëüòàòà íóæíî 2.75 äåéñòâèÿ, à íå 3. Îí òàêæå ñëèøêîì íîâ, ÷òîáû åìó äîâåðÿòü, íî âûãëÿäèò î÷åíü íåïëîõî. Mush Mush ïðåäñòàâëÿåò ñîáîé âçàèìíî ïðîðåæèâàþùèé ãåíåðàòîð . Åãî ðàáîòó îáúÿñíèòü ëåãêî [1590]. Âîçüìåì äâà àääèòèâíûõ ãåíåðàòîðà: A è B. Åñëè áèò ïåðåíîñà A óñòàíîâëåí, òàêòèðóåòñÿ B. Åñëè áèò ïåðåíîñà B óñòàíîâëåí, òàêòèðóåòñÿ A. Òàêòèðóåì A è ïðè ïåðåïîëíåíèè óñòàíàâëèâàåì áèò ïåðåíîñà. Òàêòèðóåì B è ïðè ïåðåïîëíåíèè óñòàíàâëèâàåì áèò ïåðåíîñà. Îêîí÷àòåëüíûì âûõîäîì ÿâëÿåòñÿ XOR âûõîäîâ A è B. Ïðîùå âñåãî èñïîëüçîâàòü òå æå ãåíåðàòîðû, ÷òî è â Fish: Ai = (Ai-55 +Ai-24) mod 232 Bi = (Bi-52 +Bi-19) mod 232  ñðåäíåì äëÿ ãåíåðàöèè îäíîãî âûõîäíîãî ñëîâà íóæíî òðè èòåðàöèè ãåíåðàòîðà . È åñëè êîýôôèöèåíòû àääèòèâíîãî ãåíåðàòîðà âûáðàíû ïðàâèëüíî è ÿâëÿþòñÿ âçàèìíî ïðîñòûìè, äëèíà âûõîäíîé ïîñëåäîâàòåëüí îñòè áóäåò ìàêñèìàëüíà. Ìíå íåèçâåñòíî îá óñïåøíûõ âñêðûòèÿõ, íî íå çàáûâàéòå, ÷òî ýòîò àëãîðèòì î÷åíü íîâ .
16.10 Gifford Äýâèä Äæèôôîðä (David Gifford) èçîáðåë ïîòîêîâûé øèôð è èñïîëüçîâàë åãî äëÿ øèôðîâàíèÿ ñâîäîê íîâ îñòåé â ðàéîíå Áîñòîíà ñ 1984 ïî 1988 ãîä [608, 607, 609]. Àëãîðèòì èñïîëüçóåò åäèíñòâåííûé 8-áàéòîâûé ð åãèñòð: b0, b1, . . . , b7. Êëþ÷îì ÿâëÿåòñÿ íà÷àëüíîå ñîñòîÿíèå ðåãèñòðà . Àëãîðèòì ðàáîòàåò â ðåæèìå OFB, îòêðûòûé òåêñò àáñîëþòíî íå âëèÿåò íà ðàáîòó àëãîðèòìà . (Ñì. -1-é).
Ñäâèã âïðàâî íà 1 áèò "ñ ïðèêëåèâà íèåì"
Ñäâèã âëåâî íà 1 áèò
Ñáðîñ
Ôóíêöèÿ âûõîäà K
P
C
Ðèñ. 16-17. Gifford. Äëÿ ãåíåðàöèè áàéòà êëþ÷à ki îáúåäèíèì b0 è b1, à òàêæå îáúåäèíèì b4 è b7. Ïåðåìíîæèì ïîëó÷åííûå ÷èñëà, ïîëó÷àÿ 32-áèòîâîå ÷èñëî. Òðåòüèì ñëåâà áàéòîì è áóäåò ki . Äëÿ îáíîâëåíèÿ ðåãèñòðà âîçüìåì b1 è ñäâèíåì âïðàâî "ñ ïðèêëåèâàíèåì" íà 1 áèò ñëåäóþùèì îáðàçîì: êðàéíèé ëåâûé áèò îäíîâðåìåííî è ñäâèãàåòñÿ, è îñòàåòñÿ íà ìåñòå . Âîçüìåì b7 è ñäâèíåì åãî íà îäèí áèò âëåâî, â êðàéíåé ïðàâîé ïîçèöèè äîëæåí ïîÿâèòüñÿ 0 . Âûïîëíèì XOR èçìåíåííîãî b1, èçìåíåííîãî b7 è b0. Ñäâèíåì ïåðâîíà÷àëüíûé áàéò ðåãèñòðà íà 1 áèò âïðàâî è ïîìåñòèì ýòîò áàéò â êðàéíþþ ëåâóþ ïîçèöèþ .  òå÷åíèå âñåãî âðåìåíè èñïîëüçîâàíèÿ ýòîò àëãîðèòì îñòàâàëñÿ áåçîïàñíûì, íî îí áûë âçëîìàí â 1994 ãîäó [287]. Îêàçàëîñü, ÷òî ìíîãî÷ëåí îáðàòíîé ñâÿçè íå áûë ïðèìèòèâíûì è, òàêèì îáðàçîì, ìîã áûòü âñêðûò .
16.11 Àëãîðèòì M Ýòî íàçâàíèå äàíî Êíóòîì [863]. Àëãîðèòì ïðåäñòàâëÿåò ñîáîé ñïîñîá îáúåäèíèòü íåñêîëüêî ïñåâäîñëó÷à éíûõ ïîòîêîâ, óâåëè÷èâàÿ èõ áåçîïàñíîñòü . Âûõîä îäíîãî ãåíåðàòîðà èñïîëüçóåòñÿ äëÿ âûáîðà îòñòàþùåãî â ûõîäà äðóãîãî ãåíåðàòîðà [996, 1003]. Íà ÿçûêå C: #define ARR_SIZE (8192) /* íàïðèìåð - ÷åì áîëüøå, òåì ëó÷øå */ static unsigned char delay[ ARRSIZE ] ; unsigned char prngA( void ) long prngB( void ) ; void init_algM( void ) { long i ; for ( i = 0 ; i < ARR_SIZE ; i++ ) delay[i] = prngA() ; } /* lnlt_algM */ unsigned char alglM( void ) { long j,v ; j = prngB() % ARR_SIZE ; /* ïîëó÷èòü èíäåêñ delay[]*/ v = delay[j] ; /* ïîëó÷èòü âîçâðàùàåìîå çíà÷åíèå */ delay[j] = prngA() ; /* çàìåíèòü åãî */ return ( v ) ; } /* algM */
Ñìûñë ñîñòîèò â òîì, ÷òî åñëè prngA - äåéñòâèòåëüíî ñëó÷àéíî, íåâîçìîæíî íè÷åãî óçíàòü î prngB (è, ñëåäîâàòåëüíî, íåâîçìîæíî âûïîëíèòü êðèïòîàíàëèç ). Åñëè prngA èìååò òàêîé âèä, ÷òî åãî êðèïòîàíàëèç ìîæåò áûòü âûïîëíåí òîëüêî, åñëè åãî âûõîä äîñòóïåí â ñâîþ î÷åðåäü (ò.å., òîëüêî åñëè ñíà÷àëà áûë âûïîëíåí êðè ï-
òîàíàëèç prngB), à â ïðîòèâíîì ñëó÷àå îíî ïî ñóòè äåéñòâèòåëüíî ñëó÷àéíî, òî ýòà êîìáèíàöèÿ äîëæíà áûòü áåçîïàñíîé.
16.12 PKZIP Àëãîðèòì øèôðîâàíèÿ, âñòðîåííûé â ïðîãðàììó ñæàòèÿ äàííûõ PKZIP, áûë ðàçðàáîòàí Ðîäæåðîì Ùëàôëû (Roger Schlafly). Ýòî ïîòîêîâûé øèôð, øèôðóþùèé äàííûå ïîáàéòíî . Ïî êðàéíåé ìåðå ýòîò àëãîðèòì èñïîë üçóåòñÿ â âåðñèè 2.04g. ß íå ìîãó íè÷åãî ñêàçàòü î áîëåå ïîçäíèõ âåðñèÿõ, íî åñëè íå áûëî ñäåëàíî íèêàêèõ ç àÿâëåíèé îá îáðàòíîì, ìîæíî ñ÷èòàòü ñ áîëüøîé âåðîÿòíîñòüþ, ÷òî àëãîðèòì íå èçìåíèëñÿ . Àëãîðèòì èñïîëüçóåò òðè 32-áèòîâûõ ïåðåìåííûõ, èíèöèàëèçèðîâàííûõ ñëåäóþùèì îáðàçîì : K0 = 305419896 K1 = 591751049 K2 = 878082192 Èñïîëüçóåòñÿ 8-áèòîâûé êëþ÷ K3, ïîëó÷åííûé èç K2. Âîò ýòîò àëãîðèòì (â ñòàíäàðòíîé íîòàöèè C): Ci =Pi ^ K3 K0= crc32 (K0, Pi ) K1= K1+ (K0 & 0x000000ff) K1 = K1*134775813 + 1 K2 = crc32 (K2, K1 >> 24) K3 = ((K2 | 2)* ((K2 | 2)^1)) >> 8 Ôóíêöèÿ crc32 áåðåò ñâîå ïðåäûäóùåå çíà÷åíèå è áàéò, âûïîëíÿåò èõ XOR è âû÷èñëÿåò ñëåäóþùåå çíà÷åíèå ñ ïîìîùüþ ìíîãî÷ëåíà CRC, îïðåäåëåííîãî 0xedb88320. Íà ïðàêòèêå 256-ýëåìåíòíàÿ òàáëèöà ìîæåò áûòü ðà ññ÷èòàíà çàðàíåå, è âû÷èñëåíèå crc32 ïðåâðàùàåòñÿ â: crc32 (a, b) = (a >> 8) ^ table [(a & 0xff) ⊕ b ] Òàáëèöà ðàññ÷èòûâàåòñÿ â ñîîòâåòñòâèè ñ ïåðâîíà÷àëüíûì îïðåäåëåíèåì crc32: table [i] = crc32 (i, 0) Äëÿ øèôðîâàíèÿ ïîòîêà îòêðûòîãî òåêñòà ñíà÷àëà äëÿ îáíîâëåíèÿ êëþ÷åé çàöèêëèì áàéòû êëþ÷à â àëã îðèòìå øèôðîâàíèÿ. Ïîëó÷åííûé øèôðîòåêñò íà ýòîì ýòàïå èãíîðèðóåòñÿ . Çàòåì ïîáàéòíî çàøèôðóåì îòêð ûòûé òåêñò. Îòêðûòîìó òåêñòó ïðåäøåñòâóþò äâåíàäöàòü ñëó÷àéíûõ áàéòîâ, íî ýòî íà ñàìîì äåëå íåâàæíî . Äåøèôðèðîâàíèå ïîõîæå íà øèôðîâàíèå çà èñêëþ÷åíèåì òîãî, ÷òî âî âòîðîì äåéñòâèè àëãîðèòìà âìåñòî Pi èñïîëüçóåòñÿ Ci . Áåçîïàñíîñòü PKZIP Ê ñîæàëåíèþ îíà íå ñëèøêîì âåëèêà . Äëÿ âñêðûòèÿ íóæíî îò 40 äî 2000 áàéòîâ èçâåñòíîãî îòêðûòîãî òå êñòà, âðåìåííàÿ ñëîæíîñòü âñêðûòèÿ ñîñòàâèò îêîëî 227 [166]. Íà âàøåì ïåðñîíàëüíîì êîìïüþòåðå ýòî ìîæíî ñäåëàòü çà íåñêîëüêî ÷àñîâ. Åñëè â ñæàòîì ôàéëå èñïîëüçóþòñÿ êàêèå-íèáóäü ñòàíäàðòíûå çàãîëîâêè, ïîëó÷ åíèå èçâåñòíîãî îòêðûòîãî òåêñòà íå ïðåäñòàâëÿåò ñîáîé ïðîáëåìû . Íå èñïîëüçóéòå âñòðîåííîå â PKZIP øèôðîâàíèå.
Ãëàâà 17 Äðóãèå ïîòîêîâûå øèôðû è ãåíåðàòîðû íàñòîÿùèõ ñëó÷àéíûõ ï îñëåäîâàòåëüíîñòåé 17.1 RC4 RC4 - ýòî ïîòîêîâûé øèôð ñ ïåðåìåííûì ðàçìåðîì êëþ÷à, ðàçðàáîòàííûé â 1987 ãîäó Ðîíîì Ðèâåñòîì äëÿ RSA Data Security, Inc.  òå÷åíèå ñåìè ëåò îí íàõîäèëñÿ â ÷àñòíîé ñîáñòâåííîñòè , è ïîäðîáíîå îïèñàíèå àëãîðèòìà ïðåäîñòàâëÿëîñü òîëüêî ïîñëå ïîäïèñàíèÿ ñîãëàøåíèÿ î íåðàçãëàøåíèè .  ñåíòÿáðå 1994 êòî-òî àíîíèìíî îïóáëèêîâàë èñõîäíûé êîä â ñïèñêå ðàññûëêè "Êèáåðïàíêè" (Cypherpunks). Îí áûñòðî ðàñïðîñòðàíèëñÿ â òåëåêîíôåðåííöèè Usenet sci.crypt è ÷åðåç Internet ïî ðàçëè÷íûì ftp-ñåðâåðàì âî âñåì ìèðå. Îáëàäàòåëè ëåãàëüíûõ êîïèé RC4 äîñòîâåðíîñòü ýòîãî êîäà. RSA Data Security, Inc. ïîïûòàëàñü çàãíàòü äæèííà îáðàòíî â áóòûëêó, óòâåðæäàÿ, ÷òî íåñìîòðÿ íà îïóáëèêîâàíèå àëãîðèòì îñòàåòñÿ òîðãîâûì ñåêðåòîì, áûëî ñëèøêîì ïîçäíî . Ñ òåõ ïîð àëãîðèòì îáñóæäàëñÿ è èçó÷àëñÿ â Usenet, ðàñïðîñòðàíÿëñÿ íà êîíôåðåíöèÿõ è ñëóæèë â êà÷åñòâå ó÷åáíîãî ïîñîáèÿ íà êóðñàõ ïî êðèïòîãðàôèè . Îïèñûâàòü RC4 ïðîñòî. Àëãîðèòì ðàáîòàåò â ðåæèìå OFB: ïîòîê êëþ÷åé íå çàâèñèò îò îòêðûòîãî òåêñòà . Èñïîëüçóåòñÿ S-áëîê ðàçìåðîì 8*8: S0, S1, . . . , S255. Ýëåìåíòû ïðåäñòàâëÿþò ñîáîé ïåðåñòàíîâêó ÷èñåë îò 0 äî 255, à ïåðåñòàíîâêà ÿâëÿåòñÿ ôóíêöèåé êëþ÷à ïåðåìåííîé äëèíû .  àëãîðèòìå ïðèìåíÿþòñÿ äâà ñ÷åò÷èêà, i è j, ñ íóëåâûìè íà÷àëüíûìè çíà÷åíèÿìè. Äëÿ ãåíåðàöèè ñëó÷àéíîãî áàéòà âûïîëíÿåòñÿ ñëåäóþùåå : i = (i + 1) mod 256 j = (j + Si ) mod 256 ïîìåíÿòü ìåñòàìè Si è Sj t = (Si + Sj) mod 256 K = St Áàéò K èñïîëüçóåòñÿ â îïåðàöèè XOR ñ îòêðûòûì òåêñòîì äëÿ ïîëó÷åíèÿ øèôðîòåêñòà èëè â îïåðàöèè XOR ñ øèôðîòåêñòîì äëÿ ïîëó÷åíèÿ îòêðûòîãî òåêñòà . Øèôðîâàíèå âûïîëíÿåòñÿ ïðèìåðíî â 10 ðàç áûñòðåå, ÷åì DES. Òàêæå íåñëîæíà è èíèöèàëèçàöèÿ S-áëîêà. Ñíà÷àëà çàïîëíèì åãî ëèíåéíî: S0 = 0, S1 = 1, . . . , S255 = 255. Çàòåì çàïîëíèì êëþ÷îì äðóãîé 256-áàéòîâûé ìàññèâ, ïðè íåîáõîäèìîñòè äëÿ çàïîëíåíèÿ âñåãî ìàññèâà ïîâòîðÿÿ êëþ÷: K0, K1, . . . , K255. Óñòàíîâèì çíà÷åíèå èíäåêñà j ðàâíûì 0. Çàòåì: for i = 0 to 255: j = (j + Si + Ki ) mod 256 ïîìåíÿòü ìåñòàìè Si è Sj È ýòî âñå. RSADSI óòâåðæäàåò, ÷òî àëãîðèòì óñòîé÷èâ ê äèôôåðåíöèàëüíîìó è ëèíåéíîìó êðèïòîàíàëèçó , ÷òî, ïî-âèäèìîìó, â íåì íåò íèêàêèõ êîðîòêèõ öèêëîâ, è ÷òî îí â âûñîêîé ñòåïåíè íåëèíååí . (Îïóáëèêîâàííûõ êðèïòîàíàëè÷åñêèõ ðåçóëüòàòîâ íåò. RC4 ìîæåò íàõîäèòüñÿ â ïðèìåðíî 21700 (256! * 2562) âîçìîæíûõ ñîñòîÿíèé: íåâåðîÿòíîå ÷èñëî.) S-áëîê ìåäëåííî èçìåíÿåòñÿ ïðè èñïîëüçîâàíèè : i îáåñïå÷èâàåò èçìåíåíèå êàæäîãî ýëåìåíòà, à j - ÷òî ýëåìåíòû èçìåíÿþòñÿ ñëó÷àéíûì îáðàçîì . Àëãîðèòì íàñòîëüêî íåñëîæåí, ÷òî áîëüøèíñòâî ïðîãðàììèñòîâ ìîãóò çàêîäèðîâàòü åãî ïðîñòî ïî ïàìÿòè . Ýòó èäåþ ìîæíî îáîáùèòü íà S-áëîêè è ñëîâà áîëüøèõ ðàçìåðîâ. Âûøå áûëà îïèñàíà 8-áèòîâàÿ âåðñèÿ RC4. Íåò ïðè÷èí, ïî êîòîðûì íåëüçÿ áû áûëî îïðåäåëèòü 16-áèòîâûé RC4 ñ 16*16 S-áëîêîì (100 K ïàìÿòè) è 16-áèòîâûì ñëîâîì. Íà÷àëüíàÿ èòåðàöèÿ çàéìåò íàìíîãî áîëüøå âðåìåíè - äëÿ ñîõðàíåíèÿ ïðèâåäåííîé ñõåìû íóæíî çàïîëíèòü 65536-ýëåìåíòíûé ìàññèâ - íî ïîëó÷èâøèéñÿ àëãîðèòì äîëæåí áûòü áûñòðåå . RC4 ñ êëþ÷îì äëèíîé íå áîëåå 40 áèòîâ îáëàäàåò ñïåöèàëüíûì ýêñïîðòíûì ñòàòóñîì (ñì. ðàçäåë 13.8). Ýòîò ñïåöèàëüíûé ñòàòóñ íèêàê íå âëèÿåò íà áåçîïàñíîñòü àëãîðèòìà, õîòÿ â òå÷åíèå ìíîãèõ ëåò RSA Data Security, Inc. íàìåêàëî íà îáðàòíîå. Íàçâàíèå àëãîðèòìà ÿâëÿåòñÿ òîðãîâîé ìàðêîé, ïîýòîìó êàæäûé, êòî íàïèøåò ñîáñ òâåííûé êîä, äîëæåí íàçâàòü åãî êàê-òî èíà÷å . Ðàçëè÷íûå âíóòðåííèå äîêóìåíòû RSA Data Security, Inc. äî ñèõ ïîð íå áûëè îïóáëèêîâàíû [1320, 1337]. Èòàê, êàêîâà æå ñèòóàöèÿ âîêðóã àëãîðèòìà RC4? Îí áîëüøå íå ÿâëÿåòñÿ òîðãîâûì ñåêðåòîì, ïîýòîìó êòî óãîäíî èìååò âîçìîæíîñòü âîñïîëüçîâàòüñÿ èì . Îäíàêî RSA Data Security, Inc. ïî÷òè íàâåðíÿêà âîçáóäèò äåëî ïðîòèâ êàæäîãî, êòî ïðèìåíèò íåëèöåíçèðîâàííûé RC4 â êîììåð÷åñêîì ïðîäóêòå. Âîçìîæíî èì è íå óäàñòñÿ
âûèãðàòü ïðîöåññ, íî ïî÷òè íàâåðíÿêà äëÿ äðóãîé êîìïàíèè äåøåâëå êóïèòü ëèöåíçèþ, ÷åì ñóäèòüñÿ . RC4 âõîäèò â äåñÿòêè êîììåð÷åñêèõ ïðîäóêòîâ, âêëþ÷àÿ Lotus Notes, AOCE êîìïàíèè Apple Computer è and Oracle Secure SQL. Ýòîò àëãîðèòì òàêæå ÿâëÿåòñÿ ÷àñòüþ ñïåöèôèêàöèè Ñîòîâîé öèôðîâîé ïàêåòíîé ïåðåäà÷è äàííûõ (Cellular Digital Packet Data) [37].
17.2 SEAL SEAL - ýòî ïðîãðàììíî ýôôåêòèâíûé ïîòîêîâûé øèôð, ðàçðàáîòàííûé â IBM Ôèëîì Ðîãýâýåì (Phil Rogaway) è Äîíîì Êîïïåðñìèòîì (Don Coppersmith) [1340]. Àëãîðèòì îïòèìèçèðîâàí äëÿ 32-áèòîâûõ ïðîöåññîðîâ : Äëÿ íîðìàëüíîé ðàáîòû åìó íóæíî âîñåìü 32-áèòîâûõ ðåãèñòðîâ è êýø-ïàìÿòü íà íåñêîëüêî êèëîáàéò . ×òîáû èçáåæàòü âëèÿíèÿ èñïîëüçîâàíèÿ ìåäëåííûõ îïåðàöèé SEAL âûïîëíÿåò ðÿä ïðåäâàðèòåëüíûõ äåéñòâèé ñ êë þ÷îì, ñîõðàíÿÿ ðåçóëüòàòû â íåñêîëüêèõ òàáëèöàõ . Ýòè òàáëèöû èñïîëüçóþòñÿ äëÿ óñêîðåíèÿ øèôðîâàíèÿ è ä åøèôðèðîâàíèÿ. Ñåìåéñòâî ïñåâäî ñëó÷àéíûõ ôóíêöèé Îñîáåííîñòüþ SEAL ÿâëÿåòñÿ òî, ÷òî îí â äåéñòâèòåëüíîñòè ÿâëÿåòñÿ íå òðàäèöèîííûì ïîòîêîâûì øèôðîì, à ïðåäñòàâëÿåò ñîáîé ñåìåéñòâî ïñåâäîñëó÷àéíûõ ôóíêöèé. Ïðè 160-áèòîâîì êëþ÷å k è 32-áèòîâîì n SEAL ðàñòÿãèâàåò n â L-áèòîâóþ ñòðîêó k(n). L ìîæåò ïðèíèìàòü ëþáîå çíà÷åíèå, ìåíüøåå 64 Êáàéò . SEAL, ïî âèäèìîìó, èñïîëüçóåò ñëåäóþùåå ñâîéñòâî: åñëè k âûáèðàåòñÿ ñëó÷àéíûì îáðàçîì , òî k(n) äîëæíî áûòü âû÷èñëèòåëüíî íåîòëè÷èìî îò ñëó÷àéíîé L-áèòîâîé ôóíêöèè n. Ïðàêòè÷åñêèé ýôôåêò òîãî, ÷òî SEAL ÿâëÿåòñÿ ñåìåéñòâîì ïñåâäîñëó÷àéíûõ ôóíêöèé, ñîñòîèò â òîì, ÷òî îí óäîáåí â ðÿäå ïðèëîæåíèé, ãäå íåïðèìåíèìû òðàäèöèîííûå ïîòîêîâûå øèôðû . Èñïîëüçóÿ áîëüøèíñòâî ïîòîêîâûõ øèôðîâ, âû ñîçäàåòå îäíîíàïðàâëåííóþ ïîñëåäîâàòåëüíîñòü áèòîâ : åäèíñòâåííûì ñïîñîáîì îïðåäåëèòü i-ûé áèò, çíàÿ êëþ÷ è ïîçèöèþ i, ÿâëÿåòñÿ ãåíåðèðîâàíèå âñåõ áèòîâ âïëîòü äî i-îãî. Îòëè÷èå ñåìåéñòâà ïñåâäîñëó÷àéíûõ ôóíêöèé ñîñòîèò â òîì, ÷òî âû ìîæåòå ëåãêî ïîëó÷èòü äîñòóï ê ëþáîé ïîçèöèè ïîòîêà êëþ÷åé . Ýòî î÷åíü ïîëåçíî. Ïðåäñòàâèì ñåáå, ÷òî âàì íóæíî "çàêðûòü" æåñòêèé äèñê . Âû õîòèòå çàøèôðîâàòü êàæäûé 512-áàéòîâûé ñåêòîð. Èñïîëüçóÿ ñåìåéñòâî ïñåâäîñëó÷àéíûõ ôóíêöèé, ïîäîáíîå SEAL, ñîäåðæèìîå ñåêòîðà n ìîæíî çàøèôðîâàòü, âûïîëíèâ åãî XOR ñ k(n). Ýòî òî æå ñàìîå, êàê åñëè áû áûëà âûïîëíåíà îïåðàöèÿ XOR âñåãî äèñêà ñ äëèííîé ïñåâäîñëó÷àéíîé ôóíêöèåé , è ëþáàÿ ÷àñòü ýòîé äëèííîé ñòðîêè ìîæåò áûòü íåçàâèñèìî âû÷èñëåíà áåç âñÿêèõ ïðîáëåì. Ñåìåéñòâî ïñåâäîñëó÷àéíûõ ôóíêöèé òàêæå óïðîùàåò ïðîáëåìó ñèíõðîíèçàöèè, âñòðå÷àþùóþñÿ â ñòà íäàðòíûõ ïîòîêîâûõ øèôðàõ. Ïðåäïîëîæèì, ÷òî âû ïîñûëàåòå øèôðîâàííûå ñîîáùåíèÿ ïî êàíàëó, â êîòîðîì äàííûå èíîãäà òåðÿþòñÿ. Ñ ïîìîùüþ ñåìåéñòâà ïñåâäîñëó÷àéíûõ ôóíêöèé ìîæíî çàøèôðîâàòü êëþ÷îì k n-îå ïåðåäàâàåìîå ñîîáùåíèå, xn, âûïîëíèâ XOR xn and k(n). Ïîëó÷àòåëþ íå íóæíî õðàíèòü ñîñòîÿíèå øèôðà äëÿ âîññòàíîâëåíèÿ xn, åìó íå ïðèõîäèòñÿ áåñïîêîèòüñÿ è î ïîòåðÿííûõ ñîîáùåíèÿõ, âëèÿþùèõ íà ïðîöåññ äåøè ôðèðîâàíèÿ. Îïèñàíèå SEAL Âíóòðåííèé öèêë SEAL ïîêàçàí íà 16th. Àëãîðèòì óïðàâëÿåòñÿ òðåìÿ ïîëó÷åííûìè èç êëþ÷à òàáëèöàìè: R, S è T. Ïðåäâàðèòåëüíàÿ îáðàáîòêà îòîáðàæàåò êëþ÷ k íà ýòè òàáëèöû ñ ïîìîùüþ ïðîöåäóðû, îñíîâàííîé íà SHA (ñì. ðàçäåë 18.7). 2-êèëîáàéòíàÿ òàáëèöà T ïðåäñòàâëÿåò ñîáîé S-áëîê 9*32 áèòîâ.
…
T a
160
Ñîçäàíèå òàáëèö (SHA)
R S l
n
6
Èíèöèàëèçàöèÿ
M1
M2
M3
… …
M64
32
… B1
B2
B3
B63
B64
… Ðèñ. 17-1. Âíóòðåííèé öèêë SEAL. SEAL òàêæå èñïîëüçóåò ÷åòûðå 32-áèòîâûõ ðåãèñòðà , A, B, C è D, íà÷àëüíûå çíà÷åíèÿ êîòîðûõ îïðåäåëÿþ òñÿ n è ïîëó÷åííûìè ïî k òàáëèöàìè R è T. Ýòè ðåãèñòðû èçìåíÿþòñÿ â õîäå èòåðàöèé, êàæäàÿ èç êîòîðûõ ñ îñòîèò èç âîñüìè ýòàïîâ. Íà êàæäîì ýòàïå 9 áèòîâ ïåðâîãî ðåãèñòðà (âñå ðàâíî A, B, C èëè D) èñïîëüçóþòñÿ â êà÷åñòâå èíäåêñà òàáëèöû T. Çàòåì âûáðàííîå èç T çíà÷åíèå ñêëàäûâàåòñÿ ñî âòîðûì ðåãèñòðîì (ñíîâà îäíîìó èç A, B, C èëè D) èëè îáúåäèíÿåòñÿ ñ åãî ñîäåðæèìûì ñ ïîìîùüþ XOR. Ïîòîì ïåðâûé ðåãèñòð öèêëè÷åñêè ñäâèãàåòñÿ íà 9 ïîçèöèé. Íà íåêîòîðûõ ýòàïàõ âòîðîé ðåãèñòð äàëåå ìîäèôèöèðóåòñÿ ñ ïîìîùüþ ñëîæåíèÿ èëè XOR ñ ñîäåðæèìûì ïåðâîãî ðåãèñòðà (óæå ñäâèíóòûì) . Ïîñëå 8 òàêèõ ýòàïîâ A, B, C è D äîáàâëÿþòñÿ ê ïîòîêó êëþ÷åé, ïðè ýòîì êàæäûé èç íèõ ìàñêèðóåòñÿ ñëîæåíèåì èëè XOR ñ îïðåäåëåííûì ñëîâîì èç S. Èòåðàöèÿ çàâåðøàåòñÿ ïðèáàâëåíèåì ê A è C äîïîëíèòåëüíûõ çíà÷åíèé, çàâèñÿùèõ îò n, n1, n2, n3, n4, âûáîð êîíêðåòíîãî çíà÷åíèÿ îïðåäåëÿåòñÿ ÷åòíîñòüþ íîìåðà èòåðàöèè . Ïî âèäèìîìó, ïðè ðàçðàáîòêå ýòîé ñõåìû ãëàâíûìè áûëè ñëåäóþùèå èäåè: 1. Èñïîëüçîâàíèå áîëüøîãî, ñåêðåòíîãî, ïîëó÷àåìîãî èç êëþ÷à S-áëîêà (Ò). 2. ×åðåäóþùèåñÿ íåêîììóòèðóåìûå àðèôìåòè÷åñêèå îïåðàöèè (ñëîæåíèå è XOR). 3. Èñïîëüçîâàíèå âíóòðåííåãî ñîñòîÿíèÿ, ïîääåðæèâàåìîãî øèôðîì, êîòîðîå íå ïðîÿâëÿåòñÿ ÿâíî â ï îòîêå äàííûõ (çíà÷åíèÿ ni, êîòîðûå ìîäèôèöèðóþò A è C â êîíöå êàæäîé èòåðàöèè). 4. Èçìåíåíèå ôóíêöèè ýòàïà â ñîîòâåòñòâèè ñ íîìåðîì ýòàïà è èçìåíåíèå ôóíêöèè èòåðàöèè â ñîîòâå òñòâèè ñ íîìåðîì èòåðàöèè. Äëÿ øèôðîâàíèÿ êàæäîãî áàéòà òåêñòà SEAL òðåáóåò îêîëî ïÿòè ýëåìåíòàðíûõ îïåðàöèé . Íà 50ìåãàãåðöîâîì ïðîöåññîðå i486 îí ðàáîòàåò ñî ñêîðîñòüþ 58 Ìáèò/ñ . SEAL âîçìîæíî ÿâëÿåòñÿ ñàìûì áûñòðûì èç îïèñàííûõ â ýòîé êíèãå. Ñ äðóãîé ñòîðîíû SEAL äîëæåí âûïîëíèòü ïðåäâàðèòåëüíóþ îáðàáîòêó, çàïîëíÿÿ âíóòðåííèå òàáëèöû . Ðàçìåð ýòèõ òàáëèö ñîñòàâëÿåò ïðèìåðíî 3 Êáàéò , à äëÿ èõ ðàñ÷åòà íóæíî ïðèìåðíî 200 âû÷èñëåíèé SHA. Òàêèì îáðàçîì, SEAL íå ïîäõîäèò äëÿ òåõ ñëó÷àåâ, êîãäà íå õâàòàåò âðåìåíè äëÿ îáðàáîòêè êëþ÷à èëè ïàìÿòè äëÿ õðàíåíèÿ òàáëèö. Áåçîïàñíîñòü SEAL SEAL äîñòàòî÷íî íîâûé àëãîðèòì, åìó åùå ïðåäñòîèò ïðîéòè ÷åðåç ãîðíèëî îòêðûòîãî êðèïòîàíàëèçà . Ýòî âûçûâàåò îïðåäåëåííóþ íàñòîðîæåííîñòü . Îäíàêî SEAL êàæåòñÿ õîðîøî ïðîäóìàííûì àëãîðèòìîì . Åãî îñîáåííîñòè, â êîíå÷íîì ñ÷åòå, íàïîëíåíû ñìûñëîì . Ê òîìó æå Äîí Êîïïåðñìèò ñ÷èòàåòñÿ ëó÷øèì êðèïòîàíàë èòèêîì â ìèðå. Ïàòåíòû è ëèöåíçèè SEAL çàïàòåíòîâàí [380]. Ïî ïîâîäó ëèöåíçèðîâàíèÿ íóæíî îáðàùàòüñÿ ê Óïðàâëÿþùåìó ïî ëèöåíçèÿì IBM ( Director of Licenses, IBM Corporation, 500 Columbus Ave., Thurnwood, NY, 10594 ).
17.3 WAKE WAKE - ñîêðàùåíèå îò Word Auto Key Encryption (Àâòîìàòè÷åñêîå øèôðîâàíèå ñëîâ êëþ÷îì)- ýòî àëã îðèòì, ïðèäóìàííûé Äýâèäîì Óèëåðîì (David Wheeler) [1589]. Îí âûäàåò ïîòîê 32-áèòîâûõ ñëîâ, êîòîðûå ñ ïîìîùüþ XOR ìîãóò áûòü èñïîëüçîâàíû äëÿ ïîëó÷åíèÿ øèôðîòåêñòà èç îòêðûòîãî òåêñòà èëè îòêðûòîãî òåêñòà èç øèôðîòåêñòà. Ýòî áûñòðûé àëãîðèòì. WAKE ðàáîòàåò â ðåæèìå CFB, äëÿ ãåíåðàöèè ñëåäóþùåãî ñëîâà êëþ÷à èñïîëüçóåòñÿ ïðåäûäóùåå ñëîâî øèôðîòåêñòà. Àëãîðèòì òàêæå èñïîëüçóåò S-áëîê èç 256 32-áèòîâûõ çíà÷åíèé. Ýòîò S-áëîê îáëàäàåò îäíèì îñîáûì ñâîéñòâîì: Ñòàðøèé áàéò âñåõ ýëåìåíòîâ ïðåäñòàâëÿåò ñîáîé ïåðåñòàíîâêó âñåõ âîçìîæíûõ áàéòîâ, à 3 ìëàäøèõ áàéòà ñëó÷àéíû. Ñíà÷àëà ïî êëþ÷ó ñãåíåðèðóåì ýëåìåíòû S-áëîêà, Si . Çàòåì ïðîèíèöèàëèçèðóåì ÷åòûðå ðåãèñòðà ñ èñïîë üçîâàíèåì òîãî æå èëè èíîãî êëþ÷à : a0, b0, c0 è d0. Äëÿ ãåíåðàöèè 32-áèòîâîãî ñëîâà ïîòîêà êëþ÷åé Ki . Ki = di Ñëîâî øèôðîòåêñòà Ci ïðåäñòàâëÿåò ñîáîé XOR ñëîâà îòêðûòîãî òåêñòà Pi ñ Ki . Çàòåì îáíîâèì ÷åòûðå ðåãèñòðà: ai+1 = M(ai ,di ) bi+1 = M(bi ,ai+1) ci+1 = M(ci ,bi+1) di+1 = M(di ,ci+1) Ôóíêöèÿ M ïðåäñòàâëÿåò ñîáîé M(x,y) = (x + y) >> 8 ⊕ S(x + y)^255 Ñõåìà àëãîðèòìà ïîêàçàíà íà 15-é. Çíàê >> îáîçíà÷àåò îáû÷íûé, íå öèêëè÷åñêèé ñäâèã âïðàâî . Ìëàäøèå 8 áèòîâ x+y ÿâëÿþòñÿ âõîäîì S-áëîêà. Óèëåð ïðèâîäèò ïðîöåäóðó ãåíåðàöèè S-áëîêà, íî íà ñàìîì äåëå îíà íåïîëíà. Áóäåò ðàáîòàòü ëþáîé àëãîðèòì ãåíåðàöèè ñëó÷àéíûõ áàéòîâ è ñëó÷àéíîé ïåðåñòàíîâêè .
D
M
C
M
B
M
A
M
K C
P Ðèñ. 17-2. WAKE.
Ñàìûì öåííûì êà÷åñòâîì WAKE ÿâëÿåòñÿ åãî ñêîðîñòü. Îäíàêî îí ÷óâñòâèòåëåí ê âñêðûòèþ ñ âûáðàííûì îòêðûòûì òåêñòîì èëè âûáðàííûì øèôðîòåêñòîì . Ýòîò àëãîðèòì èñïîëüçîâàëñÿ â ïðåäûäóùåé âåðñèè àíòèâ èðóñíîé ïðîãðàììû ä-ðà Ñîëîìîíà .
17.4 Ñäâèãîâûå ðåãèñòðû ñ îáðàòíîé ñâÿçüþ ïî ïåðåíîñó Ñäâèãîâûé ðåãèñòð ñ îáðàòíîé ñâÿçüþ ïî ïåðåíîñó , èëè FCSR (feedback with carry shift register ), ïîõîæ íà LFSR. Â îáîèõ åñòü ñäâèãîâûé ðåãèñòð è ôóíêöèÿ îáðàòíîé ñâÿçè, ðàçíèöà â òîì, ÷òî â FCSR åñòü òàêæå ðåãèñòð ïåðåíîñà (ñì. 14-é). Âìåñòî âûïîëíåíèÿ XOR íàä âñåìè áèòàìè îòâîäíîé ïîñëåäîâàòåëüíîñòè ýòè áèòû ñêë à-
äûâàþòñÿ äðóã ñ äðóãîì è ñ ñîäåðæèìûì ðåãèñòðà ïåðåíîñà . Ðåçóëüòàò mod 2 è ñòàíîâèòñÿ íîâûì áèòîì. Ðåçóëüòàò, äåëåííûé íà 2, ñòàíîâèòñÿ íîâûì ñîäåðæèìûì ðåãèñòðà ïåðåíîñà . Ñäâèãîâûé ðåãèñòð Ñóììà mod 2
bn
bn-1
...
b3
b4
b2
b1
Âûõîäíîé áèò
Ñóììà
Ñóììà div 2
Ðèñ. 17-3. Ñäâèãîâûé ðåãèñòð ñ îáðàòíîé ñâÿçüþ ïî ïåðåíîñó. Íà 13-é ïðèâåäåí ïðèìåð 3-áèòîâîãî FCSR ñ îòâåòâëåíèÿìè â ïåðâîé è âòîðîé ïîçèöèÿõ . Ïóñòü åãî íà÷àëüíîå çíà÷åíèå 001, à íà÷àëüíîå ñîäåðæèìîå ðåãèñòðà ïåðåíîñà ðàâíî 0. Âûõîäîì áóäåò ÿâëÿåòñÿ êðàéíèé ïðàâûé áèò ñäâèãîâîãî ðåãèñòðà. Ñäâèãîâûé ðåãèñòð
Ðåãèñòð ïåðåíîñà
001
0
100
0
010
0
101
0
110
0
111
0
011
1
101
1
010
1
001
1
000
1
100
0 Ñóììà mod 2
b3
b2
b1
Âûõîäíîé áèò
Ñóììà
Ñóììà div 2
Ðèñ. 17-4. 3-áèòîâûé FCSR. Çàìåòèì, ÷òî êîíå÷íîå âíóòðåííåå ñîñòîÿíèå (âêëþ÷àÿ ñîäåðæèìîå ðåãèñòðà ïåðåíîñà ) ñîâïàäàåò ñî âòîðûì âíóòðåííèì ñîñòîÿíèåì. Ñ ýòîãî ìîìåíòà ïîñëåäîâàòåëüíîñòü öèêëè÷åñêè ïîâòîðÿåòñÿ ñ ïåðèîäîì, ðàâíûì 10 . Ñòîèò óïîìÿíóòü è åùå î íåñêîëüêèõ ìîìåíòàõ . Âî ïåðâûõ, ðåãèñòð ïåðåíîñà ÿâëÿåòñÿ íå áèòîì, à ÷èñëîì . Ðàçìåð ðåãèñòðà ïåðåíîñà äîëæåí áûòü íå ìåíüøå log2t, ãäå t - ýòî ÷èñëî îòâåòâëåíèé.  ïðåäûäóùåì ïðèìåðå
òîëüêî òðè îòâåòâëåíèÿ, ïîýòîìó ðåãèñòð ïåðåíîñà îäíîáèòîâûé . Åñëè áû áûëî ÷åòûðå îòâåòâëåíèÿ, òî ðåãèñòð ïåðåíîñà ñîñòîÿë áû èç äâóõ áèòîâ è ìîã ïðèíèìàòü çíà÷åíèÿ 0, 1, 2 èëè 3. Âî âòîðûõ, ñóùåñòâóåò íà÷àëüíàÿ çàäåðæêà ïðåæäå, ÷åì FCSR ïåðåéäåò â öèêëè÷åñêèé ðåæèì.  ïðåäûäóùåì ïðèìåðå íèêîãäà íå ïîâòîðÿåòñÿ òîëüêî îäíî ñîñòîÿíèå . Äëÿ áîëüøèõ è áîëåå ñëîæíûõ FCSR çàäåðæêà ìîæåò áûòü áîëüøå.  òðåòüèõ, ìàêñèìàëüíûé ïåðèîä FCSR íå 2n-1, ãäå n - äëèíà ñäâèãîâîãî ðåãèñòðà. Ìàêñèìàëüíûé ïåðèîä ðàâåí q-1, ãäå q - ýòî öåëîå ÷èñëî ñâÿçè. Ýòî ÷èñëî çàäàåò îòâåòâëåíèÿ è îïðåäåëÿåòñÿ êàê : q = 2ql + 22q2 + 23q3 + . . . + 2 nqn-1 (Äà, qi îòñ÷èòûâàþòñÿ ñëåâà íàïðàâî.) È äàæå õóæå, q äîëæíî áûòü ïðîñòûì ÷èñëîì, äëÿ êîòîðîãî 2 ÿâëÿå òñÿ ïðèìèòèâíûì êîðíåì.  äàëüíåéøåì ïðåäïîëàãàåòñÿ, ÷òî q óäîâëåòâîðÿåò ýòîìó óñëîâèþ.  ïðèâåäåííîì ïðèìåðå q = 2*0 + 4*1 + 8*1 - 1 == 11. 11 - ýòî ïðîñòîå ÷èñëî, ïðèìèòèâíûì êîðíåì êîòîð îãî ÿâëÿåòñÿ 2. Ðîýòîìó ìàêñèìàëüíûé ïåðèîä ðàâåí 10. Íå âñå íà÷àëüíûå ñîñòîÿíèÿ äàþò ìàêñèìàëüíûé ïåðèîä . Íàïðèìåð, ðàññìîòðèì FCSR ñ íà÷àëüíûì çíà÷åíèåì 101 è ðåãèñòðîì ïåðåíîñà, óñòàíîâëåííûì â 4. Ñäâèãîâûé ðåãèñòð
Ðåãèñòð ïåðåíîñà
101
4
110
2
111
1
111
1
Ñ ýòîãî ìîìåíòà ðåãèñòð âûïëåâûâàåò áåñêîíå÷íóþ ïîñëåäîâàòåëüíîñòü åäèíèö . Ëþáîå íà÷àëüíîå ñîñòîÿíèå ïðèâîäèò ê îäíîé èç ÷åòûðåõ ñèòóàöèé . Âî ïåðâûõ, îíî ìîæåò áûòü ÷àñòüþ ìàêñèìàëüíîãî ïåðèîäà. Âî âòîðûõ, îíî ìîæåò ïåðåéòè â ïîñëåäîâàòåëüíîñòü ìàêñèìàëüíîãî ïåðèîäà ïîñëå í à÷àëüíîé çàäåðæêè.  òðåòüèõ, ïîñëå íà÷àëüíîé çàäåðæêè îíî ìîæåò ïîðîäèòü áåñêîíå÷íóþ ïîñëåäîâàòåëüíîñòü íóëåé.  ÷åòâåðòûõ, ïîñëå íà÷àëüíîé çàäåðæêè îíî ìîæåò ïîðîäèòü áåñêîíå÷íóþ ïîñëåäîâàòåëüíîñòü åäèíèö . Äëÿ îïðåäåëåíèÿ, ÷åì çàêîí÷èòñÿ êîíêðåòíîå íà÷àëüíîå ñîñòîÿíèå, ñóùåñòâóåò ìàòåìàòè÷åñêàÿ ôîðìóëà, íî íàìíîãî ïðîùå ïðîâåðèòü ýòî îïûòíûì ïóòåì. Çàïóñòèòå íà íåêîòîðîå âðåìÿ FCSR. (Åñëè m - ýòî íà÷àëüíûé îáúåì ïàìÿòè, à t - êîëè÷åñòâî îòâåòâëåíèé, òî äîñòàòî÷íî log2(t) + log2(m) +1 òàêòîâ.) Åñëè âûõîäíîé ïîòîê âûðîæäàåòñÿ â áåñêîíå÷íóþ ïîñëåäîâàòåëüíîñòü íóëåé èëè åäèíèö çà n áèòîâ, ãäå n - ýòî äëèíà FCSR, íå èñïîëüçóéòå ýòî íà÷àëüíîå ñîñòîÿíèå.  ïðîòèâíîì ñëó÷àå åãî ìîæíî èñïîëüçîâàòü . Òàê êàê íà÷àëüíîå ñîñòîÿíèå FCSR ñîîòâåòñòâóåò êëþ÷ó ïîòîêîâîãî øèôðà , ýòî îçíà÷àåò, ÷òî ðÿä êëþ÷åé ãåíåðàòîðà íà áàçå FCSR áóäóò ñëàáûìè.  16-é ïåðå÷èñëåíû âñå öåëûå ÷èñëà ñâÿçè, ìåíüøèå 10000, äëÿ êîòîðûõ 2 ÿâëÿåòñÿ ïðèìèòèâíûì êîðíåì . Äëÿ âñåõ ýòèõ ÷èñåë ìàêñèìàëüíûé ïåðèîä ðàâåí q-1. ×òîáû ïîëó÷èòü ïî îäíîìó èç ýòèõ ÷èñåë ïîñëåäîâàòåë üíîñòü îòâåòâëåíèé, ðàññ÷èòàåì áèíàðíûé ñîñòàâ q+1. Íàïðèìåð, 9949 äàåò ïîñëåäîâàòåëüíîñòü îòâåòâëåíèé â ïîçèöèÿõ 1, 2, 3, 4, 6, 7, 9, 10 è 13, òàê êàê 9950 = 213 + 210 + 29 + 27 + 26 + 24 + 23 + 22 + 21  15-é ïåðå÷èñëåíû âñå îòâîäíûå ïîñëåäîâàòåëüíîñòè èç ÷åòûðåõ îòâåòâëåíèé, êîòîðûå äàþò FCSR ìàêñèìàëüíîé äëèíû äëÿ ñäâèãîâûõ ðåãèñòðîâ ñ äëèíîé 32 áèòà, 64 áèòà è 128 áèòîâ . q, ïðîñòîå ÷èñëî, ïðèìèòèâíûì êîðíåì êîòîðîãî ÿâëÿåòñÿ 2, ïîëó÷àåòñÿ îáúåäèíåíèåì âñåõ ÷åòûðåõ çíà÷åíèé , a, b, c è d. q = 2a + 2b + 2c + 2d - 1 Äëÿ ñîçäàíèÿ FCSR ñ ïåðèîäîì q - 1 ìîæíî èñïîëüçîâàòü ëþáóþ èç ýòèõ ïîñëåäîâàòåëüíîñòåé . Èäåÿ èñïîëüçîâàòü â êðèïòîãðàôèè FCSR âñå åùå ÿâëÿåòñÿ î÷åíü íîâîé, âïåðâûå îíà áûëà âûäâèíóòà Ýíäè Êëàïïåðîì (Andy Klapper) è Ìàðêîì Ãîðåñêè (Mark Goresky) [844, 845, 654, 843, 846]. Òàêæå, êàê àíàëèç LFSR îñíîâàí íà ñëîæåíèè ïðèìèòèâíûõ ìíîãî÷ëåíîâ mod 2, àíàëèç FCSR îñíîâàí íà ñëîæåíèè íåêèõ ÷èñåë, íàçûâàåìûõ 2-adic. Ñîîòâåòñòâóþùàÿ òåîðèÿ âûõîäèò äàëåêî çà ïðåäåëû ýòîé êíèãè, íî â ìèðå 2-adic ÷èñåë ñóùåñòâóþò àíàëîãè äëÿ âñåãî. Òî÷íî òàêæå, êàê îïðåäåëÿåòñÿ ëèíåéíàÿ ñëîæíîñòü, ìîæíî îïðåäåëèòü è 2-adic ñëîæíîñòü. Ñóùåñòâóåò 2-adic àíàëîã è äëÿ àëãîðèòìà Berlekamp-Massey. Ýòî îçíà÷àåò, ÷òî ïåðå÷åíü âîçìîæíûõ ïîòîêîâûõ øèôðîâ ïî êðàéíåé ìåðå óäâîèëñÿ . Âñå, ÷òî ìîæíî äåëàòü ñ LFSR, ìîæíî äåëàòü è ñ FCSR. Ñóùåñòâóþò ðàáîòû, ðàçâèâàþùèå ýòó èäåþ è ðàññìàòðèâàþùèå íåñêîëüêî ðåãèñòðîâ ïåðåíîñà . Àíàëèç ýòèõ ãåíåðàòîðîâ ïîñëåäîâàòåëüíîñòåé îñíîâàí íà ñëîæåíèè ðàçâåòâëåííûõ ðàñøèðåíèé 2-adic ÷èñåë [845, 846].
17.5 Ïîòîêîâûå øèôðû, èñïîëüçóþùèå FCSR Ïîòîêîâûå øèôðû íà áàçå FCSR íå îïèñàíû â ëèòåðàòóðå, òåîðèÿ âñå åùå ñëèøêîì íîâà . ×òîáû êàê-òî "ïîãíàòü çàéöà äàëüøå" ÿ ïðåäëîæó çäåñü íåñêîëüêî âàðèàíòîâ . ß îõâàòûâàþ äâà íàïðàâëåíèÿ: ïðåäëàãàþ ïîòîêîâûå øèôðû íà áàçå FCSR, êîòîðûå ñîâïàäàþò ñ ðàíåå ïðåäëîæåííûìè ãåíåðàòîðàìè LFSR, à òàêæå ïðåäëàãàþ ïîòîêîâûå øèôðû, èñïîëüçóþùèå FCSR è LFSR îäíîâðåìåííî. Áåçîïàñíîñòü ïåðâîãî âàðèàíòà âîçìîæíî ìîæåò áûòü ïðîàíàëèçèðîâàíà ñ ïîìîùüþ 2-adic ÷èñåë, ãåíåðàòîðû âòîðîãî âàðèàíòà íå ìîãóò áûòü ïðîàíàë èçèðîâàíû ñ èñïîëüçîâàíèåì àëãåáðàè÷åñêèõ ìåòîäîâ - âîçìîæíî èõ àíàëèç ìîæåò áûòü âûïîëíåí òîëüêî êîñâåííûì îáðàçîì.  ëþáîì ñëó÷àå, âàæíî âûáèðàòü LFSR è FCSR ñ âçàèìíî ïðîñòûìè ïåðèîäàìè . Âñå ïðèäåò ïîòîì. Ñåé÷àñ ìíå íåèçâåñòíî íè î ðåàëèçàöèè, íè îá àíàëèçå íè îäíîé èç ýòèõ èäåé . Ïîäîæäèòå íåñêîëüêî ëåò è ïðîñìàòðèâàéòå ëèòåðàòóðó, ïðåæäå ÷åì âû ïîâåðèòå â îäíó èç ýòèõ èäåé . Êàñêàäíûå ãåíåðàòîðû Ñóùåñòâóåò äâà ñïîñîáà èñïîëüçîâàòü FCSR â êàñêàäíûõ ãåíåðàòîðàõ: Êàñêàä FCSR. Êàñêàä Ãîëëìàííà ñ FCSR âìåñòî LFSR. Êàñêàä LFSR/FCSR. Êàñêàä Ãîëëìàííà ñ ãåíåðàòîðàìè, ìåíÿþùèìè LFSR íà FCSR è íàîáîðîò. Êîìáèíèðîâàííûå ãåíåðàòîðû FCSR Ýòè ãåíåðàòîðû èñïîëüçóþò ïåðåìåííîå êîëè÷åñòâî LFSR è/èëè FCSR è ìíîæåñòâî ôóíêöèé, îáúåäèíÿþùèõ ðåãèñòðû. Îïåðàöèÿ XOR ðàçðóøàåò àëãåáðàè÷åñêèå ñâîéñòâà FCSR, ïîýòîìó èìååò ñìûñë èñïîëüçîâàòü ýòó îïåðàöèþ äëÿ èõ îáúåäèíåíèÿ . Ãåíåðàòîð, ïîêàçàííûé íà 12th, èñïîëüçóåò ïåðåìåííîå ÷èñëî FCSR. Åãî âûõîäîì ÿâëÿåòñÿ XOR âûõîäîâ îòäåëüíûõ FCSR. Äðóãèìè ãåíåðàòîðàìè, ÿâëÿþùèìèñÿ ðàçâèòèåì àíàëîãè÷íûõ ëèíèé, ÿâëÿþòñÿ : Ãåíåðàòîð ÷åòíîñòè FCSR. Âñå ðåãèñòðû - FCSR, à îáúåäèíÿþùàÿ ôóíêöèÿ - XOR. Ãåíåðàòîð ÷åòíîñòè LFSR/FCSR. Èñïîëüçóåòñÿ ñìåñü LFSR è FCSR, îáúåäèíÿåìûõ ñ ïîìîùüþ XOR. Ïîðîãîâûé ãåíåðàòîð FCSR. Âñå ðåãèñòðû - FCSR, à îáúåäèíÿþùåé ôóíêöèåé ÿâëÿåòñÿ ìàæîðèðîâàíèå . Ïîðîãîâûé ãåíåðàòîð LFSR/FCSR. Èñïîëüçóåòñÿ ñìåñü LFSR è FCSR, îáúåäèíÿåìûõ ñ ïîìîùüþ ìàæ îðèðîâàíèÿ. Ñóììèðóþùèé ãåíåðàòîð FCSR. Âñå ðåãèñòðû - FCSR, à îáúåäèíÿþùàÿ ôóíêöèÿ - ñëîæåíèå ñ ïåðåíîñîì. Ñóììèðóþùèé ãåíåðàòîð LFSR/FCSR. Èñïîëüçóåòñÿ ñìåñü LFSR è FCSR, îáúåäèíÿåìûõ ñ ïîìîùüþ ñëîæåíèÿ ñ ïåðåíîñîì. Òàáë. 17-1. Öåëûå çíà÷åíèÿ ñâÿçè äëÿ FCSR ñ ìàêñèìàëüíûì ïåðèîäîì 2 5 11 13 19 29 37 53 59 61 67 83 101 107 131 139 149 163 173 179 181 197
211 227 269 293 317 347 349 373 379 389 419 421 443 461 467 491 509 523 541 547 557 563
587 613 619 653 659 661 677 701 709 757 773 787 797 821 827 829 853 859 877 883 907 941
947 1019 1061 1091 1109 1117 1123 1171 1187 1213 1229 1237 1259 1277 1283 1291 1301 1307 1373 1381 1427 1451
1453 1483 1493 1499 1523 1531 1549 1571 1619 1621 1637 1667 1669 1693 1733 1741 1747 1787 1861 1867 1877 1901 1907 1931 1949 1973 1979 1987 1997 2027 2029 2053 2069 2083 2099 2131 2141 2213 2221 2237 2243 2267 2269 2293 2309 2333 2339 2357 2371 2389 2437 2459 2467 2477 2531 2539 2549 2557 2579 2621 2659 2677
2683 2693 2699 2707 2741 2789 2797 2803 2819 2837 2843 2851 2861 2909 2939 2957 2963 3011 3019 3037 3067 3083 3187 3203 3253 3299 3307 3323 3347 3371 3413 3461 3467 3469 3491 3499 3517 3533 3539 3547 3557 3571 3581 3613 3637 3643 3659 3677 3691 3701 3709 3733 3779 3797 3803 3851 3853 3877 3907 3917 3923 3931
3947 3989 4003 4013 4019 4021 4091 4093 4099 4133 4139 4157 4219 4229 4243 4253 4259 4261 4283 4349 4357 4363 4373 4397 4451 4483 4493 4507 4517 4547 4603 4621 4637 4691 4723 4787 4789 4813 4877 4933 4957 4973 4987 5003 5011 5051 5059 5077 5099 5107 5147 5171 5179 5189 5227 5261 5309 5333 5387 5443 5477 5483
5501 5507 5557 5563 5573 5651 5659 5683 5693 5701 5717 5741 5749 5779 5813 5827 5843 5851 5869 5923 5939 5987 6011 6029 6053 6067 6101 6131 6173 6197 6203 6211 6229 6269 6277 6299 6317 6323 6373 6379 6389 6397 6469 6491 6547 6619 6637 6653 6659 6691 6701 6709 6733 6763 6779 6781 6803 6827 6829 6869 6883 6899
6907 6917 6947 6949 6971 7013 7019 7027 7043 7069 7109 7187 7211 7219 7229 7237 7243 7253 7283 7307 7331 7349 7411 7451 7459 7477 7499 7507 7517 7523 7541 7547 7549 7573
7589 7603 7621 7643 7669 7691 7717 7757 7789 7829 7853 7877 7883 7901 7907 7933 7949 8053 8069 8093 8117 8123 8147 8171 8179 8219 8221 8237 8243 8269 8291 8293 8363 8387
8429 8443 8467 8539 8563 8573 8597 8627 8669 8677 8693 8699 8731 8741 8747 8803 8819 8821 8837 8861 8867 8923 8933 8963 8971 9011 9029 9059 9173 9181 9203 9221 9227 9283
9293 9323 9341 9349 9371 9397 9419 9421 9437 9467 9491 9533 9539 9547 9587 9613 9619 9629 9643 9661 9677 9733 9749 9803 9851 9859 9883 9901 9907 9923 9941 9949
Òàáë. 17-2. Îòâîäíûå ïîñëåäîâàòåëüíîñòè äëÿ FCSR ìàêñèìàëüíîé äëèíû (32, 6, 3, 2) (32, 7, 5, 2) (32, 8, 3, 2) (32, 13, 8, 2) (32, 13, 12, 2) (32, 15, 6, 2) (32, 16, 2, 1) (32, 16, 3, 2) (32, 16, 5, 2) (32, 17, 5, 2) (32, 19, 2, 1) (32, 19, 5, 2) (32, 19, 9, 2) (32, 19, 12, 2) (32, 19, 17, 2) (32, 20, 17, 2) (32, 21, 9, 2) (32, 21, 15, 2) (32,23,8,2) (32, 23, 21, 2) (32, 25, 5, 2) (32, 25, 12, 2) (32,27,25,2)
(32, 29, 19, 2) (32, 29, 20, 2) (32, 30, 3, 2) (32, 30, 7, 2) (32, 31, 5, 2) (32, 31, 9, 2) (32, 31, 30, 2) (64, 3, 2, 1) (64,14,3,2) (64,15,8,2) (64, 17, 2, 1) (64, 17, 9, 2) (64, 17, 16, 2) (64, 19, 2, 1) (64, 19, 18, 2) (64, 24, 19, 2) (64, 25, 3, 2) (64,25,4,2) (64, 25, 1 1, 2) (64, 25, 19, 2) (64, 27, 5, 2) (64, 27, 16, 2)
(64, 27, 22, 2) (64, 28, 19, 2) (64, 28, 25, 2) (64, 29, 16, 2) (64, 29, 28, 2) (64, 31, 12, 2) (64, 32, 21, 2) (64, 35, 29, 2) (64, 36, 7, 2) (64, 37, 2, 1) (64, 37, 1 1, 2) (64,39,4,2) (64, 39, 25, 2) (64, 41, 5, 2) (64, 41, 1 1, 2) (64,41,27,2) (64, 43, 21, 2) (64, 43, 28, 2) (64, 45, 28, 2) (64, 45, 41, 2) (64, 47, 5, 2) (64, 47, 21, 2) (64, 47, 30, 2)
(64, 49, 19, 2) (64, 49, 20, 2) (64,52,29,2) (64,53,8,2) (64, 53, 43, 2) (64, 56, 39, 2) (64, 56, 45, 2) (64, 59, 5, 2) (64, 59, 8, 2) (64, 59, 28, 2) (64, 59, 38, 2) (64,59,44,2) (64, 60, 49, 2) (64, 61, 51, 2) (64, 63, 8, 2) (64, 63, 13, 2) (64, 63, 61, 2) (96, 15, 5. 2) (96, 21, 17, 2) (96, 25, 19, 2) (96, 25, 20, 2) (96, 29, 15, 2)
(96, 29, 17, 2) (96, 30, 3, 2) (96, 32, 21, 2) (96, 32, 27, 2) (96,33,5,2) (96, 35, 17, 2) (96, 35, 33, 2) (96, 39, 21, 2) (96,40,25,2) (96, 41, 12, 2) (96, 41, 27, 2) (96, 41, 35, 2) (96, 42, 35, 2) (96, 43, 14, 2) (96, 44, 23, 2) (96, 45, 41, 2) (96, 47, 36, 2) (96, 49, 31, 2) (96,51,30,2) (96,53,17,2) (96, 53, 19, 2) (96, 53, 32, 2) (96, 53, 48, 2) (96, 54, 15, 2) (96, 55, 44, 2) (96, 55, 53, 2) (96, 56, 9, 2) (96,56,51,2) (96, 57, 3, 2) (96, 57, 17, 2) (96, 57, 47, 2) (96, 58, 35, 2) (96, 59, 46, 2) (96, 60, 29, 2) (96, 60, 41, 2) (96, 60, 45, 2) (96, 61, 17, 2) (96, 63, 20, 2) (96, 65, 12, 2) (96, 65, 39, 2) (96, 65, 51, 2) (96, 67, 5, 2) (96, 67, 25, 2) (96,67,34,2) (96, 68, 5, 2) (96, 68, 19, 2) (96, 69, 17, 2) (96,69,36,2) (96, 70, 23, 2) (96, 71, 6, 2) (96, 71, 40, 2) (96, 72, 53, 2) (96, 73, 32, 2) (96, 77, 27, 2)
(96, 77, 31, 2) (96, 77, 32, 2) (96, 77, 33, 2) (96,77,71,2) (96,78,39,2) (96, 79, 4, 2) (96, 81, 80, 2) (96, 83, 14, 2) (96, 83, 26, 2) (96, 83, 54, 2) (96, 83, 60, 2) (96, 83, 65, 2) (96, 83, 78, 2) (96, 84, 65, 2) (96, 85, 17, 2) (96, 85, 31, 2) (96, 85, 76, 2) (96,85,79,2) (96,86,39,2) (96,86,71,2) (96, 87, 9, 2) (96, 87, 44, 2) (96, 87, 45, 2) (96, 88, 19, 2) (96, 88, 35, 2) (96, 88, 43, 2) (96,88,79,2) (96, 89, 35, 2) (96, 89, 51, 2) (96, 89, 69, 2) (96, 89, 87, 2) (96, 92, 51, 2) (96,92,71,2) (96, 93, 32, 2) (96, 93, 39, 2) (96, 94, 35, 2) (96, 95, 4, 2) (96, 95, 16, 2) (96, 95, 32, 2) (96, 95, 44, 2) (96, 95, 45, 2) (128, 5, 4, 2) (128, 15, 4, 2) (128, 21, 19, 2) (128, 25, 5, 2) (128, 26, 11, 2) (128,27,25,2) (128, 31, 25, 2) (128, 33, 21, 2) (128, 35, 22, 2) (128, 37, 8, 2) (128, 41, 12, 2) (128, 42, 35, 2)
(128, 43, 25, 2) (128,43,42,2) (128,45,17,2) (128,45,27,2) (128, 49, 9, 2) (128, 51, 9, 2) (128, 54, 51, 2) (128, 55, 45, 2) (128, 56, 15, 2) (128, 56, 19, 2) (128,56,55,2) (128, 57, 21, 2) (128, 57, 37, 2) (128, 59, 29, 2) (128, 59, 49, 2) (128, 60, 57, 2) (128,61,9,2) (128, 61, 23, 2) (128, 61, 52, 2) (128, 63, 40, 2) (128, 63, 62, 2) (128, 67, 41, 2) (128, 69, 33, 2) (128, 71, 53, 2) (128, 72, 15, 2) (128,72,41,2) (128, 73, 5, 2) (128, 73, 65, 2) (128, 73, 67, 2) (128, 75, 13, 2) (128, 80, 39, 2) (128,80,53,2) (128, 81, 55, 2) (128, 82, 67, 2) (128, 83, 60, 2) (128, 83, 61, 2) (128, 83, 77, 2) (128, 84, 15, 2) (128, 84, 43, 2) (128,85,63,2) (128,87,57,2) (128,87,81,2) (128, 89, 81, 2) (128, 90, 43, 2) (128, 91, 9, 2) (128, 91, 13, 2) (128, 91, 44, 2) (128, 92, 35, 2) (128,95,94,2) (128, 96, 23, 2) (128, 96, 61, 2) (128, 97, 25, 2) (128, 97, 68, 2) (128, 97, 72, 2)
(128,97,75,2) (128, 99, 13, 2) (128, 99, 14, 2) (128, 99, 26, 2) (128, 99, 54, 2) (128, 99, 56, 2) (128, 99, 78, 2) (128, 100, 13, 2) (128, 100, 39, 2) (128,101,44,2) (128, 101, 97, 2) (128, 103, 46, 2) (128, 104, 13, 2) (128, 104, 19, 2) (128, 104, 35, 2) (128,105,7,2) (128, 105, 11, 2) (128, 105, 31, 2) (128, 105, 48, 2) (128, 107, 40, 2) (128, 107, 62, 2) (128, 107, 102, 2) (128, 108, 35, 2) (128,108,73,2) (128,108,75,2) (128,108,89,2) (128, 109, 1 1, 2) (128, 109, 108, 2) (128, 1 10, 23, 2) (128, Ill, 61, 2) (128, 113, 59, 2) (128, 114, 83, 2) (128,115,73,2) (128, 117, 105, 2) (128, 119, 30, 2) (128, 119, 101, 2) (128, 120, 9, 2) (128, 120, 27, 2) (128,120,37,2) (128, 120, 41, 2) (128, 120, 79, 2) (128, 120, 81, 2) (128, 121, 5, 2) (128, 121, 67, 2) (128, 121, 95, 2) (128, 121, 96, 2) (128, 123, 40, 2) (128,123,78,2) (128, 124, 41, 2) (128, 124, 69, 2) (128, 124, 81, 2) (128, 125, 33, 2) (128, 125, 43, 2) (128,127,121,2)
Ðåãèñòð-1 Ðåãèñòð-2 Ðåãèñòð-3
Îáúåäèíÿþùàÿ ôóíêöèÿ
Ðåãèñòð-n
Ðèñ. 17-5. Êîìáèíèðîâàííûå ãåíåðàòîðû. Êàñêàä LFSR/FCSR ñ ñóììèðîâàíèåì/÷åòíîñòüþ Ïî òåîðèè ñëîæåíèå ñ ïåðåíîñîì ðàçðóøàåò àëãåáðàè÷åñêèå ñâîéñòâà LFSR, à XOR ðàçðóøàåò àëãåáðàè÷åñêèå ñâîéñòâà FCSR. Äàííûé ãåíåðàòîð îáúåäèíÿåò ýòè èäåè , èñïîëüçóåìûå â ïåðå÷èñëåííûõ ñóììèðóþùåì ãåíåðàòîðå LFSR/FCSR è ãåíåðàòîðå ÷åòíîñòè LFSR/FCSR, ñ êàñêàäîì Ãîëëìàííà. Ãåíåðàòîð ïðåäñòàâëÿåò ñîáîé ïîñëåäîâàòåëüíîñòü ìàññèâîâ ðåãèñòðîâ , òàêòèðîâàíèå êàæäîãî ìàññèâà îïð åäåëÿåòñÿ âûõîäîì ïðåäûäóùåãî ìàññèâà . Íà 11-é ïîêàçàí îäèí ýòàï òàêîãî ãåíåðàòîðà . Òàêòèðóåòñÿ ïåðâûé ìàññèâ LFSR, è ðåçóëüòàòû îáúåäèíÿþòñÿ ñëîæåíèåì ñ ïåðåíîñîì . Åñëè âûõîä ôóíêöèè îáúåäèíåíèÿ ðàâåí 1, òî òàêòèðóåòñÿ ñëåäóþùèé ìàññèâ (èç FCSR), è âûõîä ýòèõ FCSR îáúåäèíÿåòñÿ ñ âûõîäîì ïðåäûäóùåé ôóí êöèè îáúåäèíåíèÿ ñ ïîìîùüþ XOR. Åñëè âûõîä ïåðâîé ôóíêöèè îáúåäèíåíèÿ ðàâåí 0, òî ìàññèâ FCSR íå òàêòèðóåòñÿ, è âûõîä ïðîñòî ñêëàäûâàåòñÿ ñ ïåðåíîñîì, ïîëó÷åííûì íà ïðåäûäóùåì ýòàïå Åñëè âûõîä ýòîé âòîðîé ôóíêöèè îáúåäèíåíèÿ ðàâåí 1, òî òàêòèðóåòñÿ òðåòèé ìàññèâ (èç LFSR), è ò.ä. LFSR
FCSR
LFSR LFSR
Ñóììàòîð ñ ïåðåíîñîì
LFSR
FCSR FCSR
XOR
FCSR
Ðèñ. 17-6. Ïðèäóìàííûé ãåíåðàòîð. Ãåíåðàòîð èñïîëüçóåò ìíîãî ðåãèñòðîâ: n*m, ãäå n - êîëè÷åñòâî ýòàïîâ, à m - êîëè÷åñòâî ðåãèñòðîâ íà ýòàïå. ß ðåêîìåíäóþ n = 10 è m = 5. ×åðåäóþùèåñÿ ãåíåðàòîðû "ñòîï-ïîøåë" Ýòè ãåíåðàòîðû èñïîëüçóþ FCSR âìåñòî íåêîòîðûõ LFSR. Êðîìå òîãî, îïåðàöèÿ XOR ìîæåò áûòü çàìåíåíà ñëîæåíèåì ñ ïåðåíîñîì (ñì. 10-é). Ãåíåðàòîð "ñòîï-ïîøåë" FCSR. Ðåãèñòð-1, Ðåãèñòð-2 è Ðåãèñòð-3 - ýòî FCSR. Îáúåäèíÿþùàÿ ôóíêöèÿ XOR. Ãåíåðàòîð "ñòîï-ïîøåë" FCSR/LFSR. Ðåãèñòð-1 - FCSR, à Ðåãèñòð-2 è Ðåãèñòð-3 - LFSR. Îáúåäèíÿþùàÿ ôóíêöèÿ - ñëîæåíèå ñ ïåðåíîñîì.
Ãåíåðàòîð "ñòîï-ïîøåë" LFSR/FCSR. Ðåãèñòð-1 - LFSR, à Ðåãèñòð-2 è Ðåãèñòð-3 - FCSR. Îáúåäèíÿþùàÿ ôóíêöèÿ - XOR. Ðåãèñòð-2 Ðåãèñòð-1 Îáúåäèíÿþùàÿ ôóíêöèÿ Ðåãèñòð-3 Ðèñ. 17-7. ×åðåäóþùèéñÿ ãåíåðàòîð "ñòîï-ïîøåë" Ïðîðåæèâàåìûå ãåíåðàòîðû Ñóùåñòâóåò ÷åòûðå îñíîâíûõ òèïà ãåíåðàòîðîâ, èñïîëüçóþùèõ FCSR: Ïðîðåæèâàåìûé ãåíåðàòîð FCSR. Ïðîðåæèâàåìûé ãåíåðàòîð ñ FCSR âìåñòî LFSR. Ïðîðåæèâàåìûé ãåíåðàòîð FCSR/LFSR. Ïðîðåæèâàåìûé ãåíåðàòîð ñ LFSR, ïðîðåæèâàþùèì FCSR. Ïðîðåæèâàåìûé ãåíåðàòîð LFSR/FCSR. Ïðîðåæèâàåìûé ãåíåðàòîð ñ FCSR, ïðîðåæèâàþùèì LFSR. Ñàìîïðîðåæèâàåìûé ãåíåðàòîð FCSR. Ñàìîïðîðåæèâàåìûé ãåíåðàòîð ñ FCSR âìåñòî LFSR.
17.6 Ñäâèãîâûå ðåãèñòðû ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ Íåòðóäíî ïðåäñòàâèòü áîëåå ñëîæíóþ, ÷åì èñïîëüçóåìàÿ â LFSR èëè FCSR, ïîñëåäîâàòåëüíîñòü îáðàòíîé ñâÿçè. Ïðîáëåìà â òîì, ÷òî íå ñóùåñòâóåò ìàòåìàòè÷åñêîãî àïïàðàòà, ïîçâîëÿþùåãî ïðîâåñòè àíàëèç òàêèõ ï îñëåäîâàòåëüíîñòåé. ×òî-òî ïîëó÷èòñÿ, íî êòî çíàåò ÷òî? Âîò íåêîòîðûå èç ïðîáëåì, ñâÿçàííûõ ñî ñäâèãîâûìè ðåãèñòðàìè ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ .  âûõîäíîé ïîñëåäîâàòåëüíîñòè ìîãóò áûòü ñìåùåíèÿ, íàïðèìåð, åäèíèö ìîæåò áûòü áîëüøå, ÷åì íóëåé. Ìàêñèìàëüíûé ïåðèîä ïîñëåäîâàòåëüíîñòè ìîæåò áûòü ìåíüøå, ÷åì îæèäàëîñü . Ïåðèîä ïîñëåäîâàòåëüíîñòè äëÿ ðàçëè÷íûõ íà÷àëüíûõ çíà÷åíèé ìîæåò áûòü ðàçëè÷íûì . Ïîñëåäîâàòåëüíîñòü êàêîå-òî âðåìÿ ìîæåò âûãëÿäåòü êàê ñëó÷àéíàÿ, à ïîòîì "ñêàòûâàòüñÿ" ê åäèíñòâå ííîìó çíà÷åíèþ. (Ýòî ìîæíî ëåãêî óñòðàíèòü, âûïîëíÿÿ XOR êðàéíåãî ïðàâîãî áèòà ñ íåëèíåéíîé ôóí êöèåé.) Ïëþñîì ÿâëÿåòñÿ òî, ÷òî èç-çà îòñóòñòâèÿ òåîðèè àíàëèçà ñäâèãîâûõ ðåãèñòðîâ ñ íåëèíåéíîé îáðàòíîé ñâ ÿçüþ ñóùåñòâóåò íåìíîãî ñïîñîáîâ êðèïòîàíàëèçèðîâàòü ïîòîêîâûå øèôðû, îñíîâàííûå íà òàêèõ ðåãèñòðàõ . Èñïîëüçîâàòü ñäâèãîâûå ðåãèñòðû ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ ìîæíî, íî î÷åíü îñòîðîæíî .  ñäâèãîâîì ðåãèñòðå ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ ôóíêöèÿ îáðàòíîé ñâÿçè ìîæåò áûòü ïðîèçâîëüíîé (íàïðèìåð, êàê íà ).
∨
+ •
∧ • + Ðèñ. 17-8. Ñäâèãîâûé ðåãèñòð ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ (âîçìîæíî íåáåçîïàñíûé). b3
b2
b1
• Ðèñ. 17-9. 3-áèòîâûé ñäâèãîâûé ðåãèñòð ñ íåëèíåéíîé îáðàòíîé ñâÿçüþ. Íà 8-é ïîêàçàí 3-áèòîâûé ãåíåðàòîð ñî ñëåäóþùåé îáðàòíîé ñâÿçüþ: íîâûì áèòîì ÿâëÿåòñÿ ïðîèçâåäåíèå ïåðâîãî è âòîðîãî áèòîâ. Åñëè åãî ïðîèíèöèàëèçèðîâàòü çíà÷åíèåì 110, òî ïîñëåäîâàòåëüíîñòü âíóòðåííèõ ñ îñòîÿíèé áóäåò ñëåäóþùåé: 110 011 101 010 001 000 000 È òàê äî áåñêîíå÷íîñòè. Âûõîäîì ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòü ìëàäøèõ çíà÷àùèõ áèòîâ : 0 1 1 0 1 0 0 0 0 0 0 0. . . . Ýòî íå ñëèøêîì ïîëåçíî. Ìîæåò áûòü è õóæå. Åñëè íà÷àëüíîå çíà÷åíèå 100, òî ñëåäóþùèìè ñîñòîÿíèÿìè ÿâëÿþòñÿ 010, 001, à çàòåì âñåãäà 000. Åñëè íà÷àëüíûì çíà÷åíèåì ÿâëÿåòñÿ 111 , òî îíî áóäåò ïîâòîðÿòüñÿ âñåãäà è ñ ñàìîãî íà÷àëà . Áûëà ïðîäåëàíà îïðåäåëåííàÿ ðàáîòà ïî âû÷èñëåíèþ ëèíåéíîé ñëîæíîñòè ïðîèçâåäåíèÿ äâóõ LFSR [1650, 726, 1364, 630, 658, 659]. Êîíñòðóêöèÿ, âêëþ÷àþùàÿ âû÷èñëåíèå LFSR íàä ïîëåì íå÷åòíûõ õàðàêòåðèñòèê [310] íå ÿâëÿåòñÿ áåçîïàñíîé [842.].
17.7 Äðóãèå ïîòîêîâûå øèôðû  ëèòåðàòóðå îïèñûâàëèñü è äðóãèå ïîòîêîâûå øèôðû . Âîò íåêîòîðûå èç íèõ. Ãåíåðàòîð Ïëåññà (Pless) Ýòîò ãåíåðàòîð èñïîëüçóåò ñâîéñòâà J-K òðèããåðîâ [1250]. Âîñåìü LFSR óïðàâëÿþò ÷åòûðüìÿ J-K òðèããåðàìè; êàæäûé òðèããåð íåëèíåéíî îáúåäèíÿåò äâà LFSR. ×òîáû èçáåæàòü ïðîáëåìû, ÷òî âûõîä òðèããåðà îïðåäåëÿåò è èñòî÷íèê, è çíà÷åíèå ñëåäóþùåãî âûõîäíîãî áèòà, ïîñëå òàêòèðîâàíèÿ ÷åòûðåõ òðèããåðîâ èõ â ûõîäû ïåðåìåøèâàþòñÿ äëÿ ïîëó÷åíèÿ îêîí÷àòåëüíîãî ïîòîêà êëþ÷åé . Ýòîò àëãîðèòì áûë êðèïòîàíàëèòè÷åñêè âçëîìàí ñ ïîìîùüþ âñêðûòèÿ êàæäîãî òðèããåðà â îòäåëüíîñòè
[1356]. Ê òîìó æå, îáúåäèíåíèå J-K òðèããåðîâ ñëàáî êðèïòîãðàôè÷åñêè; ãåíåðàòîðû òàêîãî òèïà íå óñòîÿò ïåðåä êîððåëÿöèîííûì âñêðûòèåì [1451]. Ãåíåðàòîð íà áàçå êëåòî÷íîãî àâòîìàòà  [1608, 1609], Ñòèâ Âîëüôðàì (Steve Wolfram) ïðåäëîæèë èñïîëüçîâàòü â êà÷åñòâå ãåíåðàòîðà ïñåâäîñë ó÷àéíûõ ÷èñåë îäíîìåðíûé êëåòî÷íûé àâòîìàò . Ðàññìîòðåíèå êëåòî÷íîãî àâòîìàòà íå ÿâëÿåòñÿ ïðåäìåòîì ýòîé êíèãè, íî ãåíåðàòîð Âîëüâðàìà ñîñòîèò èç îäíîìåðíîãî ìàññèâà áèòîâ a1, a2, a3, ... , ak, ..., an è ôóíêöèè îáíîâëåíèÿ: ak'= ak-1 ⊕ (ak ∨ ak+1) Áèò èçâëåêàåòñÿ èç îäíîãî èç çíà÷åíèé ak, ðåàëüíî âñå ðàâíî êàêîãî. Ãåíåðàòîð âåäåò ñåáÿ êàê âïîëíå ñëó÷àéíûé . Îäíàêî äëÿ ýòèõ ãåíåðàòîðîâ ñóùåñòâóåò óñïåøíîå âñêðûòèå ñ èçâåñòíûì îòêðûòûì òåêñòîì [1052]. Ýòî âñêðûòèå âûïîëíèìî íà PC ñî çíà÷åíèÿìè n âïëîòü äî 500 áèòîâ. Êðîìå òîãî, Ïîë Áàðäåëë (Paul Bardell) äîêàçàë, ÷òî âûõîä êëåòî÷íîãî àâòîìàòà ìîæåò áûòü òàêæå ñãåíåðèð îâàí ñ ïîìîùüþ ñäâèãîâîãî ðåãèñòðà ñ ëèíåéíîé îáðàòíîé ñâÿçüþ òîé æå äëèíû è, ñëåäîâàòåëüíî, íå äàåò áîë üøåé áåçîïàñíîñòè [83]. Ãåíåðàòîð 1/p Ýòîò ãåíåðàòîð áûë ïðåäëîæåí è ïîäâåðãíóò êðèïòîàíàëèçó â [193]. Åñëè âíóòðåííåå ñîñòîÿíèå ãåíåðàòîðà â ìîìåíò âðåìåíè t ðàâíî xt, òî xt+1 = bxt mod p Âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ ìëàäøèé çíà÷àùèé áèò xt div p, ãäå div - ýòî öåëî÷èñëåííîå äåëåíèå ñ óñå÷ åíèåì. Äëÿ ìàêñèìàëüíîãî ïåðèîäà êîíñòàíòû b è p äîëæíû áûòü âûáðàíû òàê, ÷òî p - ïðîñòîå ÷èñëî, à b - ïðèìèòèâíûé êîðåíü mod p. Ê ñîæàëåíèþ, ýòîò ãåíåðàòîð íå áåçîïàñåí. (Çàìåòèì, ÷òî äëÿ b = 2 FCSR öåëûìè ÷èñëàìè ñâÿçè âûäàåò ïîñëåäîâàòåëüíîñòü, îáðàòíóþ äàííîé .) crypt(1) Îðèãèíàëüíûé àëãîðèòì øèôðîâàíèÿ UNIX, crypt(1), ïðåäñòàâëÿåò ñîáîé ïîòîêîâûé øèôð, èñïîëüçóþùèé òå æå èäåè, ÷òî è Ýíèãìà. Ýòî 256-ýëåìåíòíûé, îäíîðîòîðíûé ïîäñòàíîâî÷íûé øèôð ñ îòðàæàòåëåì . È ðîòîð, è îòðàæàòåëü ïîëó÷àþòñÿ èç êëþ÷à . Ýòîò àëãîðèòì íàìíîãî ïðîùå, ÷åì íåìåöêàÿ Ýíèãìà âðåìåí âòîðîé ìèðîâîé âîéíû, è êâàëèôèöèðîâàííîìó êðèïòîàíàëèòèêó íåñëîæíî åãî âçëîìàòü [1576, 1299]. Äëÿ âñêðûòèÿ ôàéëîâ, çàøèôðîâàííûõ crypt(1), ìîæíî èñïîëüçîâàòü ñâîáîäíî äîñòóïíóþ ïðîãðàììó UNIX, íàçûâàåìóþ Crypt Breakers Workbench (CBW, èíñòðóìåíò âçëîìùèêà øèôðîâ ). Äðóãèå ñõåìû Åùå îäèí ãåíåðàòîð îñíîâàí íà ïðîáëåìå ðþêçàêà (ñì. ðàçäåë 19.2) [1363]. CRYPTO-LEGGO íåáåçîïàñåí [301]. Äæîàí Äýéìåí (Joan Daemen) ðàçðàáîòàëà SubStream, Jam è StepRightUp [402], íî îíè ñëèøêîì íîâû, ÷òîáû èõ êîììåíòèðîâàòü. Ìíîæåñòâî äðóãèõ àëãîðèòìîâ îïèñàíî â ëèòåðàòóðå, íî åùå áîëüøå õðàíèòñÿ â ñå êðåòå è âñòðîåíî â àïïàðàòóðó.
17.8 Ñèñòåìíî-òåîðåòè÷åñêèé ïîäõîä ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ Íà ïðàêòèêå, ïðîåêòèðîâàíèå ïîòîêîâîãî øèôðà âî ìíîãîì ïîõîæå ïðîåêòèðîâàíèå áëî÷íîãî øèôðà .  ýòîì ñëó÷àå èñïîëüçóåòñÿ áîëüøå ìàòåìàòè÷åñêîé òåîðèè, íî â êîíöå êîíöîâ êðèïòîãðàô ïðåäëàãàåò êàêóþ-òî ñõåìó è çàòåì ïûòàåòñÿ âûïîëíèòü åå àíàëèç . Ñîãëàñíî Ðàéíåðó Ðþïïåëó ñóùåñòâóåò ÷åòûðå ðàçëè÷íûõ ïîäõîäà ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ [1360, 1362]: Ñèñòåìíî-òåîðåòè÷åñêèé ïîäõîä . Èñïîëüçóÿ ðÿä ôóíäàìåíòàëüíûõ êðèòåðèåâ è çàêîíîâ ïðîåêòèðîâàíèÿ, ïûòàåòñÿ óäîñòîâåðèòüñÿ, ÷òî êàæäàÿ ñõåìà ñîçäàåò ñëîæíóþ è íåèçâåñòíóþ ïðîáëåìó äëÿ êðèïòîàíàë èòèêà,. Èíôîðìàöèîííî-òåîðåòè÷åñêèé ïîäõîä . Ïûòàåòñÿ ñîõðàíèòü îòêðûòûé òåêñò â òàéíå îò êðèïòîàíàëèòèêà. Íåçàâèñèìî îò òîãî, êàê ìíîãî äåéñòâèé âûïîëíèò êðèïòîàíàëèòèê, îí íèêîãäà íå ïîëó÷èò îäíîçíà÷íîãî ðåøåíèÿ. Ñëîæíîñòíî-òåîðåòè÷åñêèé ïîäõîä . Ïûòàåòñÿ èñïîëüçîâàòü â êà÷åñòâå îñíîâàíèÿ äëÿ êðèïòîñèñòåìû í åêîòîðóþ èçâåñòíóþ è ñëîæíóþ ïðîáëåìó, òàêóþ êàê ðàçëîæåíèå íà ìíîæèòåëè èëè âçÿòèå äèñêðåòíûõ ëîãàðèôìîâ, èëè ñäåëàòü êðèïòîñèñòåìó ýêâèâàëåíòíîé ýòîé ïðîáëåìå .
Ðàíäîìèçèðîâàííûé ïîäõîä. Ïûòàåòñÿ ñîçäàòü ÷ðåçâû÷àéíî áîëüøóþ ïðîáëåìó, çàñòàâëÿÿ êðèïòîàíàë èòèêà ïðîâåðèòü ìíîæåñòâî áåññìûñëåííûõ äàííûõ â õîäå ïîïûòîê êðèïòîàíàëèçà . Ýòè ïîäõîäû îòëè÷àþòñÿ ïðåäïîëîæåíèÿìè î âîçìîæíîñòÿõ è ñïîñîáíîñòÿõ êðèïòîàíàëèòèêà, îïðåäåëåíèåì óñïåõà êðèïòîàíàëèçà è ïîíèìàíèåì áåçîïàñíîñòè . Áîëüøèíñòâî èññëåäîâàíèé â ýòîé îáëàñòè - òåîðåòè÷åñêèå, íî ñðåäè áåñïîëåçíûõ ïîòîêîâûõ øèôðîâ åñòü è âïîëíå ïðèëè÷íûå . Ñèñòåìíî-òåîðåòè÷åñêèé ïîäõîä èñïîëüçîâàëñÿ âî âñåõ ðàíåå ïðèâåäåííûõ ïîòîêîâûõ øèôðàõ, ðåçóëüòàòîì åãî ïðèìåíåíèÿ ÿâëÿþòñÿ áîëüøèíñòâî èñïîëüçóåìûõ â ðåàëüíîì ìèðå ïîòîêîâûõ øèôðîâ . Êðèïòîãðàô ðàçðàáàòûâàåò ãåíåðàòîðû ïîòîêà êëþ÷åé, îáëàäàþùèå ïðîâåðÿåìûìè õàðàêòåðèñòèêàìè áåçîïàñíîñòè - ïåðèîäîì, ðàñïðåäåëåíèåì áèòîâ, ëèíåéíîé ñëîæíîñòüþ è ò.ä. - à íå øèôðû, îñíîâàííûå íà ìàòåìàòè÷åñêîé òåîðèè . Êðèïòîãðàô òàêæå èçó÷àåò ðàçëè÷íûå ìåòîäû êðèïòîàíàëèçà ýòèõ ãåíåðàòîðîâ è ïðîâåðÿåò, óñòîé÷èâû ëè ãåí åðàòîðû ïî îòíîøåíèþ ê ýòèì ñïîñîáàì âñêðûòèÿ . Ñî âðåìåíåì ýòîò ïîäõîä ïðèâåë ê ïîÿâëåíèþ íàáîðà êðèòåðèåâ ïðîåêòèðîâàíèÿ ïîòîêîâûõ øèôðîâ [1432, 99, 1357, 1249]. Îíè ðàññìàòðèâàëèñü Ðþïïåëîì â [1362], ãäå îí ïîäðîáíî ïðèâîäèò òåîðåòè÷åñêèå îñíîâû ýòèõ êðèòåðèåâ. Äëèííûé ïåðèîä áåç ïîâòîðåíèé . Êðèòåðèé ëèíåéíîé ñëîæíîñòè - áîëüøàÿ ëèíåéíàÿ ñëîæíîñòü , ëèíåéíûé ïðîôèëü ñëîæíîñòè, ëîêàëüíàÿ ëèíåéíàÿ ñëîæíîñòü è ò.ä. Ñòàòèñòè÷åñêèå êðèòåðèè, íàïðèìåð, èäåàëüíûå k-ìåðíûå ðàñïðåäåëåíèÿ. Ïóòàíèöà - êàæäûé áèò ïîòîêà êëþ÷åé äîëæåí áûòü ñëîæíûì ïðåîáðàçîâàíèåì âñåõ èëè áîëüøèíñòâà áèòîâ êëþ÷à. Äèôôóçèÿ - èçáûòî÷íîñòü â ïîäñòðóêòóðàõ äîëæíà ðàññåèâàòüñÿ, ïðèâîäÿ ê áîëåå "ðàçìàçàííîé" ñòàò èñòèêå. Êðèòåðèè íåëèíåéíîñòè äëÿ ëîãè÷åñêèõ ôóíêöèé, òàêèå êàê îòñóòñòâèå êîððåëÿöèè m-ãî ïîðÿäêà, ðàññòîÿíèå äî ëèíåéíûõ ôóíêöèé, ëàâèííûé êðèòåðèé, è ò.ä. Ýòîò ïåðå÷åíü êðèòåðèåâ ïðîåêòèðîâàíèÿ íå óíèêàëåí äëÿ ïîòîêîâûõ øèôðîâ, ðàçðàáîòàííûõ ñ ïîìîùüþ ñèñòåìíî-òåîðåòè÷åñêîãî ïîäõîäà, îí ñïðàâåäëèâ äëÿ âñåõ ïîòîêîâûõ øèôðîâ . Ýòî ñïðàâåäëèâî è äëÿ âñåõ áëî÷íûõ øèôðîâ. Îñîáåííîñòüþ ñèñòåìíî-òåîðåòè÷åñêîãî ïîäõîäà ÿâëÿåòñÿ òî, ÷òî ïîòîêîâûå øèôðû íåï îñðåäñòâåííî ðàçðàáàòûâàþòñÿ, ÷òîáû óäîâëåòâîðèòü ýòèì êðèòåðèÿì . Ãëàâíîé ïðîáëåìîé òàêèõ êðèïòîñèñòåì ÿâëÿåòñÿ íåâîçìîæíîñòü äîêàçàòü èõ áåçîïàñíîñòü, íèêîãäà íå áûëî äîêàçàíî, ÷òî ýòè êðèòåðèè ïðîåêòèðîâàíèÿ íåîáõîäèìû èëè äîñòàòî÷íû äëÿ áåçîïàñíîñòè . Ãåíåðàòîð ïîòîêà êëþ÷åé ìîæåò óäîâëåòâîðÿòü âñåì ïðàâèëàì ðàçðàáîòêè, íî òåì íå ìåíåå îêàçàòüñÿ íåáåçîïàñíûì . Äðóãîé ìîæåò îêàçàòüñÿ áåçîïàñíûì. Ýòîì ïðîöåññå âñå åùå îñòàåòñÿ ÷òî-òî ìàãè÷åñêîå . Ñ äðóãîé ñòîðîíû âñêðûòèå ëþáîãî èç ýòèõ ãåíåðàòîðîâ ïîòîêà êëþ÷åé ïðåäñòàâëÿåò ñîáîé îòëè÷íóþ ïð îáëåìó äëÿ êðèïòîàíàëèòèêà. Åñëè áóäåò ðàçðàáîòàíî äîñòàòî÷íî ðàçëè÷íûõ ãåíåðàòîðîâ , ìîæåò îêàçàòüñÿ, ÷òî êðèïòîàíàëèòèê íå ñòàíåò òðàòèòü âðåìÿ, âçëàìûâàÿ êàæäûé èç íèõ . Ìîæåò, åãî áîëüøå çàèíòåðåñóåò âîçìî æíîñòü ïðîñëàâèòüñÿ, äîñòèãíóâ óñïåõà, ðàçëàãàÿ íà ìíîæèòåëè áîëüøèå ÷èñëà èëè âû÷èñëÿÿ äèñêðåòíûå ëîã àðèôìû.
17.9 Ñëîæíîñòíî-òåîðåòè÷åñêèé ïîäõîä ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ Ðþïïåë òàêæå î÷åðòèë ñëîæíîñòíî-òåîðåòè÷åñêèé ïîäõîä ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ .  ñîîòâåòñòâèè ñ íèì êðèïòîãðàô ïûòàåòñÿ èñïîëüçîâàòü òåîðèþ ñëîæíîñòè, ÷òîáû äîêàçàòü åãî ãåíåðàòîðû áåçîïàñíû . Ñëåäîâàòåëüíî, ãåíåðàòîðû äîëæíû áûòü êàê ìîæíî áîëüøå ñëîæíåå, îñíîâûâàÿñü íà òåõ æå òðóäíûõ ïðîáë åìàõ, ÷òî è êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè . È, òàêæå êàê àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè, îíè îêàçûâ àþòñÿ ìåäëåííûìè è ãðîìîçäêèìè . Ãåíåðàòîð ïñåâäîñëó÷àéíûõ ÷èñåë Øàìèðà Ýäè Øàìèð èñïîëüçîâàë â êà÷åñòâå ãåíåðàòîðà ïñåâäîñëó÷àéíûõ ÷èñåë àëãîðèòì RSA [1417]. Õîòÿ Øàìèð ïîêàçàë, ÷òî ïðåäñêàçàíèå âûõîäà ãåíåðàòîðà ïñåâäîñëó÷àéíûõ ÷èñåë ðàâíîñèëüíî âçëîìó RSA, ïîòåíöèàëüíîå ñìåùåíèå âûõîäà áûëà ïðîäåìîíñòðèðîâàíà â [1401, 200]. Ãåíåðàòîð Blum-Micali Áåçîïàñíîñòü ýòîãî ãåíåðàòîðà îïðåäåëÿåòñÿ òðóäíîñòüþ âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ [200]. Ïóñòü g - ïðîñòîå ÷èñëî, à p - åùå îäíî ïðîñòîå ÷èñëî. Êëþ÷ x0 íà÷èíàåò ïðîöåññ: xi+1 = gxi mod p
Âûõîäîì ãåíåðàòîðà ÿâëÿåòñÿ 1, åñëè xi < (p - 1)/2, è 0 â ïðîòèâíîì ñëó÷àå. Åñëè p äîñòàòî÷íî âåëèêî, ÷òîáû âû÷èñëåíèå äèñêðåòíûõ ëîãàðèôìîâ mod p ñòàëî ôèçè÷åñêè íåâîçìîæíûì, òî ýòîò ãåíåðàòîð áåçîïàñåí. Äîïîëíèòåëüíûå òåîðåòè÷åñêèå ðåçóëüòàòû ìîæíî íàéòè â [1627, 986, 985, 1237, 896, 799]. RSA Ýòîò ãåíåðàòîð RSA [35, 36] ÿâëÿåòñÿ ìîäèôèêàöèåé [200]. Íà÷àëüíûå ïàðàìåòðû - ìîäóëü N, ïðîèçâåäåíèå äâóõ áîëüøèõ ïðîñòûõ ÷èñåë p è q, è öåëîå ÷èñëî e, îòíîñèòåëüíî ïðîñòîå ñ (p-1)(q-1), à òàêæå ñòàðòîâîå ñëó÷àéíîå ÷èñëî x0, ìåíüøåå N. xi+1 = xei mod N Âûõîä ãåíåðàòîðà ïðåäñòàâëÿåò ñîáîé ìëàäøèé çíà÷àùèé áèò xi . Áåçîïàñíîñòü ýòîãî ãåíåðàòîðà îïèðàåòñÿ íà ñëîæíîñòü âñêðûòèÿ RSA. Åñëè N äîñòàòî÷íî âåëèêî, òî ãåíåðàòîð áåçîïàñåí. Äîïîëíèòåëüíàÿ òåîðèÿ ïðèâåäåíà â [1569, 1570, 1571, 30, 354]. Blum, Blum, and Shub Ïðîñòåéøèé è íàèáîëåå ýôôåêòèâíûé ãåíåðàòîð, èñïîëüçóþùèé ñëîæíîñòíî-òåîðåòè÷åñêèé ïîäõîä, â ÷åñòü ñâîèõ àâòîðîâ íàçûâàåòñÿ Blum, Blum, and Shub. Ìû ñîêðàòèì åãî íàçâàíèå äî BBS, õîòÿ èíîãäà åãî íàçûâàþò ãåíåðàòîðîì ñ êâàäðàòè÷íûì îñòàòêîì [193]. Òåîðèÿ ãåíåðàòîðà BBS èñïîëüçóåò êâàäðàòè÷íûå îñòàòêè ïî ìîäóëþ n (ñì. ðàçäåë 11.3). Âîò êàê îí ðàáîòàåò. Ñíà÷àëà íàéäåì äâà ïðîñòûõ ÷èñëà , p è q, êîòîðûå êîíãðóýíòíû 3 modulo 4. Ïðîèçâåäåíèå ýòèõ ÷èñåë, n, ÿâëÿåòñÿ öåëûì ÷èñëîì Áëþìà (Blum). Âûáåðåì äðóãîå ñëó÷àéíîå öåëîå ÷èñëî x, âçàèìíî ïðîñòîå ñ n. Âû÷èñëèì x0 = x2 mod n Ýòî ñòàðòîâîå ÷èñëî ãåíåðàòîðà. Òåïåðü ìîæíî íà÷àòü âû÷èñëÿòü áèòû . i-ûì ïñåâäîñëó÷àéíûì áèòîì ÿâëÿåòñÿ ìëàäøèé çíà÷àùèé áèò xi , ãäå xi = xi-12 mod n Ñàìûì èíòðèãóþùèì ñâîéñòâîì ýòîãî ãåíåðàòîðà ÿâëÿåòñÿ òî, ÷òî äëÿ ïîëó÷åíèÿ i-ãî áèòà íå íóæíî âû÷èñëÿòü ïðåäûäóùèå i-1 áèòû. Åñëè âàì èçâåñòíû p è q, âû ìîæåòå âû÷èñëèòü i-ûé áèò íåïîñðåäñòâåííî. i
bi - ýòî ìëàäøèé çíà÷àùèé áèò xi , ãäå xi = x0 ( 2 ) mod(( p −1)( q −1)) Ýòî ñâîéñòâî îçíà÷àåò, ÷òî âû ìîæåòå èñïîëüçîâàòü ýòîò êðèïòîãðàôè÷åñêè ñèëüíûé ãåíåðàòîð ïñåâäîñë ó÷àéíûõ ÷èñåë â êà÷åñòâå ïîòîêîâîé êðèïòîñèñòåìû äëÿ ôàéëà ñ ïðîèçâîëüíûì äîñòóïîì . Áåçîïàñíîñòü ýòîé ñõåìû îñíîâàíà íà ñëîæíîñòè ðàçëîæåíèÿ n íà ìíîæèòåëè. Ìîæíî îïóáëèêîâàòü n, òàê ÷òî êòî óãîäíî ìîæåò ãåíåðèðîâàòü áèòû ñ ïîìîùüþ ãåíåðàòîðà . Îäíàêî ïîêà êðèïòîàíàëèòèê íå ñìîæåò ðà çëîæèòü n íà ìíîæèòåëè, îí íèêîãäà íå ñìîæåò ïðåäñêàçàòü âûõîä ãåíåðàòîðà - íè äàæå óòâåðæäàòü ÷òî-íèáóäü âðîäå: "Ñëåäóþùèé áèò ñ âåðîÿòíîñòüþ 51 ïðîöåíò áóäåò åäèíèöåé ". Áîëåå òîãî, ãåíåðàòîð BBS íåïðåäñêàçóåì â ëåâîì íàïðàâëåíèè è íåïðåäñêàçóåì â ïðàâîì íàïðàâëåíèè . Ýòî îçíà÷àåò, ÷òî ïîëó÷èâ ïîñëåäîâàòåëüíîñòü, âûäàííóþ ãåíåðàòîðîì, êðèïòîàíàëèòèê íå ñìîæåò ïðåäñêàçàòü íè ñëåäóþùèé, íè ïðåäûäóùèé áèò ïîñëåäîâàòåëüíîñòè . Ýòî âûçâàíî íå áåçîïàñíîñòüþ, îñíîâàííîé íà êàêîìòî íèêîìó íå ïîíÿòíîì ñëîæíîì ãåíåðàòîðå áèòîâ, à ìàòåìàòèêîé ðàçëîæåíèÿ n íà ìíîæèòåëè. Ýòîò àëãîðèòì ìåäëåíåí, íî åñòü ñïîñîáû åãî óñêîðèòü . Îêàçûâàåòñÿ, ÷òî â êà÷åñòâå ïñåâäîñëó÷àéíûõ áèòîâ ìîæíî èñïîëüçîâàòü íåñêîëüêî êàæäîãî xi .  ñîîòâåòñòâèè ñ [1569, 1570, 1571, 35, 36] åñëè n - äëèíà xi , ìîæíî èñïîëüçîâàòü log2n ìëàäøèõ çíà÷àùèõ áèòîâ xi . Ãåíåðàòîð BBS ñðàâíèòåëüíî ìåäëåííûé è íå ïîäõîäèò äëÿ ïîòîêîâûõ øèôðîâ. Îäíàêî äëÿ âûñîêîíàäåæíûõ ïðèëîæåíèé, òàêèõ êàê ãåíåðàöèÿ êëþ÷åé, ýòîò ãåíåðàòîð ëó÷øå ìíîãèõ äðóãèõ.
17.10 Äðóãèå ïîäõîäû ê ïðîåêòèðîâàíèþ ïîòîêîâûõ øèôðîâ Ïðè èíôîðìàöèîííî-òåîðåòè÷åñêîì ïîäõîäå ê ïîòîêîâûì øèôðàì ïðåäïîëàãàåòñÿ, ÷òî êðèïòîàíàëèòèê î áëàäàåò íåîãðàíè÷åíûìè âðåìåíåì è âû÷èñëèòåëüíîé ìîùíîñòüþ . Åäèíñòâåííûì ïðàêòè÷åñêè ðåàëèçîâàííûì ïîòîêîâûì øèôðîì, çàùèùåííûì îò òàêîãî ïðîòèâíèêà, ÿâëÿåòñÿ îäíîðàçîâûé áëîêíîò (ñì. ðàçäåë 1.5). Òàê êàê ïèñàòü áèòû â áëîêíîòå íå î÷åíü óäîáíî, åãî èíîãäà íàçûâàþò îäíîðàçîâîé ëåíòîé. Íà äâóõ ìàãíèòíûõ ëåíòàõ, íà îäíîé äëÿ øèôðîâàíèÿ, à íà äðóãîé äëÿ äåøèôðèðîâàíèÿ, äîëæåí áûòü çàïèñàí èäåíòè÷íûé ïîòîê êëþ÷åé. Äëÿ øèôðîâàíèÿ ïðîñòî âûïîëíÿåòñÿ XOR îòêðûòîãî òåêñòà ñ áèòàìè ëåíòû . Äëÿ äåøèôðèðîâàíèÿ
âûïîëíÿåòñÿ XOR øèôðîòåêñòà ñ áèòàìè äðóãîé, èäåíòè÷íîé ëåíòû . Îäèí è òîò æå ïîòîê êëþ÷åé íåëüçÿ è ñïîëüçîâàòü äâàæäû. Òàê êàê áèòû ïîòîêà êëþ÷åé äåéñòâèòåëüíî ñëó÷àéíû, ïðåäñêàçàòü ïîòîê êëþ÷åé íåâî çìîæíî. Åñëè ñæèãàòü ëåíòû ïîñëå èñïîëüçîâàíèÿ, òî áåçîïàñíîñòü áóäåò àáñîëþòíîé (ïðè óñëîâèè, ÷òî ó êîãî-òî äðóãîãî íåò êîïèè ëåíòû). Äðóãîé èíôîðìàöèîííî-òåîðåòè÷åñêèé ïîòîêîâûé øèôð, ðàçðàáîòàííûõ Êëàóñîì Øíîððîì ( Claus Schnorr) ïðåäïîëàãàåò, ÷òî êðèïòîàíàëèòèê èìååò äîñòóï òîëüêî ê îãðàíè÷åííîìó ÷èñëó áèòîâ øèôðîòåêñòà [1395]. Ðåçóëüòàòû ÿâëÿþòñÿ ñëèøêîì òåîðåòè÷åñêèìè results è íå èìåþò ïðàêòè÷åñêîãî çíà÷åíèÿ. Ïîäðîáíîñòè ìîæíî íàéòè [1361, 1643,1193]. Ñ ïîìîùüþ ðàíäîìèçèðîâàííîãî ïîòîêîâîãî øèôðà êðèïòîãðàô ïûòàåòñÿ ñäåëàòü ðåøåíèå ïðîáëåìû, ñòî ÿùåé ïåðåä êðèïòîàíàëèòèêîì, ôèçè÷åñêè íåâîçìîæíûì . Äëÿ ýòîãî, ñîõðàíÿÿ íåáîëüøîé ðàçìåð ñåêðåòíîãî êëþ÷à, êðèïòîãðàô çíà÷èòåëüíî óâåëè÷èâàåò êîëè÷åñòâî áèòîâ, ñ êîòîðûìè ïðèäåòñÿ èìåòü äåëî êðèïòîàíàë èòèêó. Ýòî ìîæåò áûòü ñäåëàíî çà ñ÷åò èñïîëüçîâàíèÿ ïðè øèôðîâàíèè è äåøèôðèðîâàíèè áîëüøîé îïóáëèê îâàííîé ñëó÷àéíîé ñòðîêè. Êëþ÷ æå óêàçûâàåò, êàêèå ÷àñòè ñòðîêè áóäóò èñïîëüçîâàíû ïðè øèôðîâàíèè è ä åøèôðèðîâàíèè. Êðèïòîàíàëèòèêó, íå çíàþùåìó êëþ÷à, ïðèäåòñÿ ïåðåáèðàòü ñëó÷àéíûå êîìáèíàöèè ÷àñòåé ñòðîêè. Áåçîïàñíîñòü òàêîãî øèôðà ìîæíî âûðàçèòü ñ ïîìîùüþ ñðåäíåãî ÷èñëà áèòîâ, êîòîðûå äîëæåí ïðîâ åðèòü êðèïòîàíàëèòèê ïðåæäå, ÷åì âåðîÿòíîñòüîïðåäåëèòü êëþ÷ çíà÷èòåëüíî óäó÷øèòñÿ ïî ñðàâíåíèþ ñ âåðîÿ òíîñòüþ ïðîñòîãî óãàäûâàíèÿ. Øèôð "Ðèï âàí Âèíêëü" Äæåéìñ Ìàññåé (James Massey) è Èíãåìàð Èíãåìàðñîí (Ingemar Ingemarsson) ïðåäëîæèëè øèôð "Ðèï âàí Âèíêëü" [1011], íàçâàííûé òàê, ïîòîìó ÷òî ïîëó÷àòåëü, ÷òîáû íà÷àòü äåøèôðèðîâàíèå, äîëæåí ïîëó÷èòü 2n áèòîâ øèôðîòåêñòà. Àëãîðèòì, ïîêàçàííûé íà 7-é, ïðîñò â ðåàëèçàöèè, ãàðàíòèðîâàíî áåçîïàñåí è ñîâåðøåííî íåïðàêòè÷åí. Ïðîñòî âûïîëíèòå XOR îòêðûòîãî òåêñòà ñ ïîòîêîì êëþ÷åé è çàäåðæèòå ïîòîê êëþ÷åé íà âðåìÿ îò 0 äî 20 ëåò - òî÷íàÿ çàäåðæêà ÿâëÿåòñÿ ÷àñòüþ êëþ÷à . Ïî ñëîâàì Ìàññåÿ: "Ìîæíî ëåãêî äîêàçàòü, ÷òî âðàæ åñêîìó êðèïòîàíàëèòèêó äëÿ âñêðûòèÿ øèôðà ïîíàäîáÿòñÿ òûñÿ÷è ëåò, åñëè êòî-òî ñîãëàñèòñÿ ïîäîæäàòü ñ ÷ò åíèåì îòêðûòîãî òåêñòà ìèëëèîíû ëåò ." Ðàçâèòèå ýòîé èäåè ìîæíî íàéòè â [1577, 755]. Êàíàë
Ïîòîê ñëó÷àéíûõ áèòîâ Ïîòîê áèòîâ îòêðûòîãî òåêñòà
Çàäåðæêà
Çàäåðæêà
(ìóëüòèïëåêñèðîâàííûé)
Îòêðûòûé òåêñò
0-20 ëåò (Äëèíà çàñåêðå÷åíà è çàâèñèò îò êëþ÷à)
Ðèñ. 17-10. Øèôð "Ðèï âàí Âèíêëü". Ðàíäîìèçèðîâàííûé ïîòîêîâûé øèôð Äèôôè Ýòà ñõåìà âïåðâûå áûëà ïðåäëîæåíà Óèòôèëäîì Äèôôè [1362]. Èñïîëüçóåòñÿ 2n ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé. Êëþ÷ ïðåäñòàâëÿåò ñîáîé ñëó÷àéíóþ n-áèòîâóþ ñòðîêó. Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ Àëèñà èñïîëüçóåò k-óþ ñëó÷àéíóþ ñòðîêó êàê îäíîðàçîâûé áëîêíîò . Çàòåì îíà îòïðàâëÿåò øèôðîòåêñò è 2n ñëó÷àéíûõ ñòðîê ïî 2n+1 ðàçëè÷íûì êàíàëàì ñâÿçè. Áîá çíàåò k-, ïîýòîìó îí ìîæåò ëåãêî âûáðàòü, êàêîé èç îäíîðàçîâûõ áëîêíîòîâ èñïîëüçîâàòü äëÿ äåøèôð èðîâàíèÿ ñîîáùåíèÿ. Åâå îñòàåòñÿ òîëüêî ïåðåáèðàòü ñëó÷àéíûå ïîñëåäîâàòåëüíîñòè, ïîêà îíà íå íàéäåò ïð àâèëüíûé îäíîðàçîâûé áëîêíîò. Äëÿ âñêðûòèÿ ïîòðåáóåòñÿ ïðîâåðèòü íåêîòîðîå ÷èñëî áèòîâ, ïî ïîðÿäêó ðàâíîå O(2n). Ðþïïåë óêàçàë, ÷òî, åñëè âû îòïðàâëÿåòå n ñëó÷àéíûõ ñòðîê âìåñòî2n, è åñëè êëþ÷ èñïîëüçóåòñÿ äëÿ çàäàíèÿ ëèíåéíîé êîìáèíàöèè ýòèõ ñëó÷àéíûõ ñòðîê, áåçîïàñíîñòü îñòàåòñÿ íà ïðåæíåì óðîâíå . Ðàíäîìèçèðîâàííûé ïîòîêîâûé øèôð Ìàóðåðà Óåëè Ìàóðåð (Ueli Maurer) îïèñàë ñõåìó, îñíîâàííóþ íà âûïîëíåíèè XOR îòêðûòîãî òåêñòà ñ íåñêîëüêèìè áîëüøèìè îòêðûòûìè ïîñëåäîâàòåëüíîñòÿìè ñëó÷àéíûõ áèòîâ [1034, 1029, 1030]. Êëþ÷ ÿâëÿåòñÿ íàáîðîì ñòàðòîâûõ ïîçèöèé â êàæäîé ïîñëåäîâàòåëüíîñòè . Ìîæíî äîêàçàòü, ÷òî òàêîé øèôð ïî÷òè áåçîïàñåí, ñ âåðîÿ òíîñòü âçëîìà îïðåäåëÿåòñÿ îáúåìîì ïàìÿòè, èìåþùåéñÿ â ðàñïîðÿæåíèè âçëîìùèêà, íåçàâèñèìî îò äîñòóïíîé åìó âû÷èñëèòåëüíîé ìîùíîñòè. Ìàóðåð óòâåðæäàåò, ÷òî ýòà ñõåìà ñòàíîâèòñÿ ïðàêòè÷íîé ïðè 100 ðàçëè÷íûõ ïîñëåäîâàòåëüíîñòÿõ äëèíîé 10 20 ñëó÷àéíûõ áèòîâ êàæäàÿ. Îäíèì èç ñïîñîáîâ ïîëó÷èòü ðàê ìíîãî áèòîâ ÿâë ÿ-
åòñÿ îöèôðîâêà ïîâåðõíîñòè Ëóíû .
17.11 Øèôðû ñ êàñêàäîì íåñêîëüêèõ ïîòîêîâ Åñëè ïðîèçâîäèòåëüíîñòü íå âàæíà, òî íåò ïðè÷èí âûáèðàòü íåñêîëüêî ïîòîêîâûõ øèôðîâ è îáúåäèíÿòü èõ â êàñêàä. Äëÿ ïîëó÷åíèÿ øèôðîòåêñòà ïðîñòî âûïîëíèòå XOR âûõîäà êàæäîãî ãåíåðàòîðà ñ îòêðûòûì òåêñòîì . Ðåçóëüòàò Óåëè Ìàóðåðà (ñì. ðàçäåë 15.7) ïîêàçûâàåò, ÷òî åñëè ãåíåðàòîðû èñïîëüçóþò íåçàâèñèìûå êëþ÷è, òî áåçîïàñíîñòü êàñêàäà ïî êðàéíåé ìåðå íå ìåíüøå áåçîïàñíîñòè ñàìîãî ñèëüíîãî àëãîðèòìà êàñêàäà, à ñêîðåå âñåãî è íàìíîãî áîëüøå. Ïîòîêîâûå øèôðû îáúåäèíÿþòñÿ òåìè æå ñïîñîáàìè, ÷òî è áëîêîâûå (ñì. ãëàâó 15). Ïîòîêîâûå øèôðû ìîæíî îáúåäèíèòü â êàñêàä (ñì. ðàçäåë 15.7) ñ äðóãèìè ïîòîêîâûìè øèôðàìè èëè ñ áëî÷íûìè øèôðàìè . Ëîâêèì òðþêîì ÿâëÿåòñÿ èñïîëüçîâàíèå îäãîãî àëãîðèòìà, ïîòîêîâîãî èëè áëî÷íîãî, äëÿ ÷àñòîãî îáíîâë åíèÿ êëþ÷à áûñòðîãî ïîòîêîâîãî àëãîðèòìà (êîòîðûì ìîæåò áûòü è áëî÷íûé àëãîðèòì â ðåæèìå OFB). Áûñòðûé àëãîðèòì ìîæåò áûòü ñëàáûì, òàê êàê êðèïòîàíàëèòèê íèêîãäà íå ïîëó÷èò äîñòàòî÷íî îòêðûòîãî òåêñòà, ç àøèôðîâàííîãî îäíèì êëþ÷îì. Ñóùåñòâóåò ñïîñîá ðàçìåíÿòü ðàçìåð âíóòðåííåãî ñîñòîÿíèÿ áûñòðîãî àëãîðèòìà (êîòîðûé ìîæåò âëèÿòü íà áåçîïàñíîñòü) íà ÷àñòîòó ñìåíû êëþ÷à. Ñìåíà êëþ÷à äîëæíà áûòü îòíîñèòåëüíî ÷àñòîé, íå ñòîèò èñïîëüçîâàòü äëÿ ýòîãî àëãîðèòìû ñ äëèííîé ïðîöåäóðîé óñòàíîâêè êëþ÷à . Êðîìå òîãî, ñìåíà êëþ÷à íå äîëæíà çàâèñåòü îò âíóòðåííåãî ñîñòîÿíèÿ áûñòðîãî àëãîðèòìà .
17.12 Âûáîð ïîòîêîâîãî øèôðà Åñëè èçó÷åíèå ïîòîêîâûõ øèôðîâ è äàåò êàêîé-ëèáî ðåçóëüòàò, òàê ýòî ïîÿâëåíèå ñ ïóãàþùåé ðåãóëÿðí îñòüþ âñå íîâûõ ñïîñîáîâ âñêðûòèÿ . Òðàäèöèîííî ïîòîêîâûå øèôðû îïèðàëèñü íà áîëüøóþ ìàòåìàòè÷åñêóþ òåîðèþ. Ýòó òåîðèþ ìîæíî áûëî èñïîëüçîâàòü äëÿ äîêàçàòåëüñòâà ïîëîæèòåëüíûõ êà÷åñòâ øèôðà, íî åå æå ìîæíî áûëî èñïîëüçîâàòü äëÿ ïîèñêà íîâûõ ñïîñîáîâ âñêðûòèÿ øèôðà . Ïî ýòîé ïðè÷èíû ëþáîé ïîòîêîâûé øèôð, îñíîâàííûé òîëüêî íà LFSR, âûçûâàåò ìîå áåñïîêîéñòâî. ß ïðåäïî÷èòàþ ïîòîêîâûå øèôðû, ñïðîåêòèðîâàííûå ïîäîáíî áëî÷íûì øèôðàì : íåëèíåéíûå ïðåîáðàçîâàíèÿ, áîëüøèå S-áëîêè, è ò.ä. Áîëüøå âñåãî ìíå íðàâèòñÿ RC4, à çàòåì SEAL. Ìíå áû î÷åíü õîòåëîñü óâèäåòü ðåçóëüòàòû êðèïòîàíàëèçà ïðåäëîæåííûõ ìíîé ãåíåðàòîðîâ, îáúåäèíÿþùèõ LFSR è FCSR. Ýòà îáëàñòü êàæåòñÿ âåñüìà ïðèâëåêàòåëüíîé äëÿ èçó÷åíèÿ âîçìîæíîñòè èñïîëüçîâàíèÿ â ðåàëüíûõ ðàçðàáîòêàõ . Èëè äëÿ ïîëó÷åíèÿ ïîòîêîâîãî øèôðà ìîæíî èñïîëüçîâàòü áëî÷íûé øèôð â ðåæèìå OFB èëè CFB.  14-é äëÿ ñðàâíåíèÿ ïðèâåäåíû âðåìåííûå ñîîòíîøåíèÿ äëÿ íåêîòîðûõ àëãîðèòìîâ . Òàáë. 17-3. Ñêîðîñòè øèôðîâàíèÿ íåñêîëüêèõ ïîòîêîâûõ øèôðîâ íà i486SX/33 ÌÃö Àëãîðèòì
Ñêîðîñòü øèôðîâàíèÿ (Ìáàéò/ñ)
A5
5
PIKE
62
RC4
164
SEAL
381
17.13 Ãåíåðàöèÿ íåñêîëüêèõ ïîòîêîâ èç îäíîãî ãåíåðàòîðà ïñåâäîñëó÷àéíîé ïîñëåäîâàòåëüíîñòè Åñëè íóæíî çàøèôðîâàòü íåñêîëüêî êàíàëîâ ñâÿçè ïðè ïîìîùè îäíîãî áëîêà - íàïðèìåð, ìóëüòèïëåêñîðà ïðîñòûì ðåøåíèåì ÿâëÿåòñÿ èñïîëüçîâàíèå äëÿ êàæäîãî ïîòîêà ñâîåãî ãåíåðàòîðà ïñåâäîñëó÷àéíîé ïîñëåäîâ àòåëüíîñòè. Ïðè ýòîì âîçíèêàþò äâå ñëåäóþùèõ ïðîáëåìû : íóæíà äîïîëíèòåëüíàÿ àïïàðàòóðà, è âñå ãåíåðàòîðû äîëæíû áûòü ñèíõðîíèçèðîâàíû . Ïðîùå áûëî áû èñïîëüçîâàòü îäèí ãåíåðàòîð . Îäíî èç ðåøåíèé - òàêòèðîâàòü ãåíåðàòîð íåñêîëüêî ðàç . Åñëè íóæíî òðè íåçàâèñèìûõ ïîòîêà, òàêòèðóéòå ãåíåðàòîð òðè ðàçà è îòïðàâüòå ïî îäíîìó áèòó â êàæäûé ïîòîê . Ýòîò ìåòîä ðàáîòàåò, íî ìîãóò áûòü ñëîæíîñòè ïðè ïîëó÷åíèè áîëüøîé ÷àñòîòû . Íàïðèìåð, åñëè âû ìîæåòå òàêòèðîâàòü ãåíåðàòîð òîëüêî â òðè ðàçà áûñòðåå òàêòèðîâàíèÿ ïîòîêà äàííûõ, âû ñìîæåòå ñîçäàòü òîëüêî òðè ïîòîêà . Äðóãèì ñïîñîáîì ÿâëÿåòñÿ èñïîëüçîâàíèå îäíîé è òîé æå ïîñëåäîâàòåëüíîñòè äëÿ êàæäîãî êàíàëà, âîçìîæíî ñ ïåðåìåííîé âðåìåííîé çàäåðæêîé . Ýòî íåáåçîïàñíî.
Äåéñòâèòåëüíî óäà÷íàÿ èäåÿ [1489], çàïàòåíòîâàííàÿ NSA, ïîêàçàíà íà 6-é. Çàïèñûâàéòå âûõîä âàøåãî ëþáèìîãî ãåíåðàòîðà â ïðîñòîé m-áèòîâûé ñäâèãîâûé ðåãèñòð. Ïî êàæäîìó òàêòîâîìó èìïóëüñó ñäâèãàéòå ðåãèñòð íà îäèí áèò âïðàâî. Çàòåì äëÿ êàæäîãî âûõîäíîãî ïîòîêà âûïîëíèòå AND ðåãèñòðà ñ äðóãèì m-áèòîâûì âåêòîðîì, ðàññìàòðèâàåìûì êàê óíèêàëüíûé èäåíòèôèêàòîð äëÿ âûáðàííîãî âûõîäíîãî ïîòîêà, çàòåì îáúåäèíèòå ñ ïîìîùüþ XOR âñå áèòû, ïîëó÷àÿ âûõîäíîé áèò äëÿ ýòîãî ïîòîêà . Åñëè òðåáóåòñÿ ïîëó÷èòü ïàðàëëåëüíî í åñêîëüêî âûõîäíûõ ïîòîêîâ, äëÿ êàæäîãî âûõîäíîãî ïîòîêà íóæíî èñïîëüçîâàòü îòäåëüíûé âåêòîð è ëîãè÷åñêèé ìàññèâ XOR/AND. Ãåíåðàòîð ... m-áèòîâûé âûõîä Âåêòîð 1
Âåêòîð 2
Âåêòîð n
Ïîáèòîâîå AND
Ïîáèòîâîå AND
Ïîáèòîâîå AND
Ïîáèòîâîå XOR
Ïîáèòîâîå XOR
Ïîáèòîâîå XOR
Ïîòîê 1
Ïîòîê 2
Ïîòîê n
Ðèñ. 17-11. Ãåíåðàòîð íåñêîëüêèõ áèòîâ. Ñóùåñòâóåò ðÿä âåùåé, êîòîðûå íóæíî îòñëåæèâàòü . Åñëè ëþáîé èç ýòèõ ïîòîêîâ ÿâëÿåòñÿ ëèíåéíîé êîìá èíàöèåé äðóãèõ ïîòîêîâ, òî ñèñòåìà ìîæåò áûòü âçëîìàíà . Íî åñëè âû äîñòàòî÷íî àêêóðàòíû, îïèñàííûé ñïîñîá ÿâëÿåòñÿ ïðîñòûì è áåçîïàñíûì ñïîñîáîì ðåøåíèÿ ïðîáëåìû .
17.14 Ãåíåðàòîðû ðåàëüíûõ ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé Èíîãäà êðèïòîãðàôè÷åñêè áåçîïàñíûå ïñåâäîñëó÷àéíûå ïîñëåäîâàòåëüíîñòè íåäîñòàòî÷íî õîðîøè .  êðèïòîãðàôèè âàì ìîãóò ïîíàäîáèòüñÿ äåéñòâèòåëüíî ñëó÷àéíûå ÷èñëà . Ïåðâîå, ÷òî ïðèõîäèò â ãîëîâó - ýòî ãåíåð àöèÿ êëþ÷åé. Ïðåêðàñíî ìîæíî ãåíåðèðîâàòü ñëó÷àéíûå êðèïòîãðàôè÷åñêèå êëþ÷è, èñïîëüçóÿ ãåíåðàòîð ïñåâä îñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé, íî åñëè âðàã äîáóäåò êîïèþ ýòîãî ãåíåðàòîðà è ãëàâíûé êëþ÷, îí ñìîæåò ñî çäàòü òå æå êëþ÷è è âçëîìàòü âàøó êðèïòîñèñòåìó , íåçàâèñèìî îò íàäåæíîñòè âàøèõ àëãîðèòìîâ . Ïîñëåäîâàòåëüíîñòü, âûäàâàåìóþ ãåíåðàòîðîì ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé, âîñïðîèçâåñòè íåâîçìîæíî . Íèêòî, äàæå âû ñàìè, íå ñìîæåò âîñïðîèçâåñòè ïîñëåäîâàòåëüíîñòü áèòîâ, âûäàâàåìóþ ýòèìè ãåíåðàòîðàìè . Êðóïíîé ôèëîñîôñêîé ïðîáëåìîé ÿâëÿåòñÿ âîïðîñ î òîì, äàþò ëè ýòè ìåòîäû äåéñòâèòåëüíî ñëó÷àéíûå áèòû. ß íå ñîáèðàþñü ââÿçûâàòüñÿ â ýòîò ñïîð . Çäåñü ÿ ðàññìàòðèâàþ âûäà÷ó áèòîâ, êîòîðûå íåâîçìîæíî âî ñïðîèçâåñòè, è ó êîòîðûõ ñòàòèñòè÷åñêèå ñâîéñòâà êàê ó ñëó÷àéíûõ áèòîâ . Äëÿ ëþáîãî ãåíåðàòîðà äåéñòâèòåëüíî ñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé âàæíûì âîïðîñîì ÿâëÿåòñÿ åãî ïð îâåðêà. Íà ýòó òåìó ñóùåñòâóåò ìíîæåñòâî ëèòåðàòóðû . Òåñòû íà ñëó÷àéíîñòü ìîæíî íàéòè â [863, 99]. Ìàóðåð ïîêàçàë, ÷òî âñå ýòè òåñòû ìîæíî ïîëó÷èòü èç ïîïûòêè ñæàòü ïîñëåäîâàòåëüíîñòü [1031, 1032]. Åñëè ñëó÷àéíàÿ ïîñëåäîâàòåëüíîñòü ñæèìàåòñÿ, òî îíà íå ÿâëÿåòñÿ ïî íàñòîÿùåìó ñëó÷àéíîé .  ëþáîì ñëó÷àå, âñå, ÷òî ìû èìååì â ýòîé îáëàñòè, âî ìíîãîì îòíîñèòñÿ ê ÷åðíîé ìàãèè . Ãëàâíûì ìîìåíòîì ÿâëÿåòñÿ ãåíåðàöèÿ ïîñëåäîâàòåëüíîñòè áèòîâ, êîòîðóþ íå ñìîæåò óãàäàòü âàø ïðîòèâíèê . Ýòî ãîðàçäî áîëåå òðóäíàÿ çàäà÷à, ÷åì êàæåòñÿ . ß íå ìîãó äîêàçàòü, ÷òî ëþáîé èç îïèñàííûõ ìåòîäîâ ãåíåðèðóåò ñëó÷àéíûå áèòû. Ðåçóëüòàòîì èõ ðàáîòû ÿâëÿþòñÿ ïîñëåäîâàòåëüíîñòè áèòîâ, êîòîðûå íåâîçìîæíî ëåãêî âîñïðîèçâåñòè . Ïîäðîáíîñòè ìîæíî íàéòè â [1375, 1376, 511]. Òàáëèöû RAND Äàâíûì äàâíî, â 1955 ãîäó, êîãäà êîìïüþòåðû âñå åùå áûëè â íîâèíêó , Rand Corporation èçäàëà êíèãó, ñîäåðæàâøóþ ìèëëèîí ñëó÷àéíûõ öèôð [1289]. Èõ ìåòîä îïèñûâàëñÿ òàê:
Ñëó÷àéíûå öèôðû ýòîé êíèãè áûëè ïîëó÷åíû ïðè ïîìîùè ðàíäîìèçàöèè îñíîâíîé òàáëèöû, ñãåíåðèðîâàííîé ýëå êòðîííîé ðóëåòêîé. Âêðàòöå, èñòî÷íèê èìïóëüñîâ, âûäàþùèé èõ ñî ñëó÷àéíîé ÷àñòîòîé â ñðåäíåì îêîëî 100000 èìïóëüñîâ â ñåêóíäó, îòêðûâàëñÿ ðàç â ñåêóíäó èìïóëüñîì ïîñòîÿííîé ÷àñòîòû . Öåïè íîðìàëèçàöèè èìïóëüñà ïðîïóñêàëè èìïóëüñû ÷ åðåç 5-ðàçðÿäíûé áèíàðíûé ñ÷åò÷èê . Ïî ñóòè ìàøèíà ÿâëÿëàñü êîëåñîì ðóëåòêè ñ 32-ïîçèöèÿìè, êîòîðîå â ñðåäíåì äåëàëî îêîëî 3000 îáîðîòîâ çà âûáîðêó è âûäàâàëî îäíî ÷èñëî â ñåêóíäó . Èñïîëüçîâàëñÿ äâîè÷íî-äåñÿòè÷íûé ïðåîáðàçîâàòåëü, ê îòîðûé ïðåîáðàçîâûâàë 20 èç 32 ÷èñåë (îñòàâøèåñÿ äâåíàäöàòü îòáðàñûâàþòñÿ ) è îñòàâëÿë òîëüêî ïîñëåäíþþ öèôðó äâóçíà ÷íûõ ÷èñåë. Ýòè ïîñëåäíèå öèôðû ïîïàäàëè â êîìïîñòåð IBM, îáðàçóÿ â êîíöå êîíöîâ òàáëèöó ïðîáèòûõ êàðòî÷åê ñëó÷àéíûõ öèôð.
 êíèãå ðàññìàòðèâàëèñü è ðåçóëüòàòû ðàçëè÷íûõ ïðîâåðîê äàííûõ íà ñëó÷àéíîñòü .  íåé òàêæå ïðåäëàãàëñÿ ñïîñîá, êàê èñïîëüçîâàòü ýòó êíèãó äëÿ âûáîðà ñëó÷àéíîãî ÷èñëà : Ñòðîêè òàáëèöû öèôð íóìåðóþòñÿ îò 00000 äî 19999. Ïðè èñïîëüçîâàíèè òàáëèöû íóæíî ñíà÷àëà âûáðàòü ñëó÷àéíóþ ñòàðòîâóþ ïîçèöèþ. Îáû÷íîé ïðîöåäóðîé äëÿ ýòîãî ÿâëÿåòñÿ ñëåäóþùåå: îòêðîéòå ýòó êíèãó íà ïðîèçâîëüíîé ñòðàíèöå òà áëèöû öèôð è, çàêðûâ ãëàçà, âûáåðèòå ïÿòèðàçðÿäíîå ÷èñëî. Ýòî ÷èñëî ïîñëå çàìåíû ïåðâîé öèôðû îñòàòêîì îò äåëåíèÿ åå íà 2 îïðåäåëÿåò ñòàðòîâóþ ñòðîêó. Îñòàòîê îò äåëåíèÿ äâóõ öèôð ñïðàâà îò ïåðâîíà÷àëüíî âûáðàííîãî ïÿòèðàçðÿäíîãî ÷èñëà íà 50 çàäàåò ñòàðòîâûé ñòîëáåö â ñòàðòîâîé ñòðîêå . ×òîáû çàùèòèòüñÿ îò îòêðûòèÿ êíèãè âñå âðåìÿ íà îäíîé ñòðàíèöå è åñòåñ òâåííîãî ñòðåìëåíèÿ âûáðàòü ÷èñëî ïîáëèæå ê öåíòðó ñòðàíèöû, êàæäîå èñïîëüçîâàííîå äëÿ îïðåäåëåíèÿ ñòàðòîâîé ïîçèöèè ïÿòèðàçðÿäíîå ÷èñëî äîëæíî áûòü ïîìå÷åíî è íå äîëæíî áîëüøå èñïîëüçîâàòüñÿ äëÿ ýòîé ö åëè.
Ãëàâíûì ñîäåðæàíèåì ýòîé êíèãè áûëà "Òàáëèöà ñëó÷àéíûõ öèôð". Öèôðû ïðèâîäèëèñü ïÿòè ðàçðÿäíûìè ãðóïïàìè - "10097 32533 76520 13586 . . .'' - ïî 50 â ñòðîêå è ïî ïÿòüäåñÿò ñòðîê íà ñòðàíèöå . Òàáëèöà çàíèìàëà 400 ñòðàíèö è, çà èñêëþ÷åíèåì îñîáåííî âûäàþùåéñÿ ãðóïïû íà ñòðàíèöå 283, âûãëÿäåâøåé êàê "69696", áûëà äîñòàòî÷íî ñêó÷íûì ÷òèâîì.  êíèãó òàêæå âõîäèëà òàáëèöà 100000 íîðìàëüíûõ îòêëîíåíèé . Èíòåðåñíûì â êíèãå RAND ÿâëÿþòñÿ íå ìèëëèîíû ñëó÷àéíûõ öèôð, à òî, ÷òî îíè áûëè ñîçäàíû äî êîìïü þòåðíîé ðåâîëþöèè. Âî ìíîãèõ êðèïòîãðàôè÷åñêèõ àëãîðèòìàõ èñïîëüçóþòñÿ ïðîèçâîëüíûå êîíñòàíòû - òàê í àçûâàåìûå "ìàãè÷åñêèå ÷èñëà". Âûáîð ìàãè÷åñêèõ ÷èñåë èç òàáëèö RAND ãàðàíòèðîâàë, ÷òî îíè íå áûëè â ûáðàíû ñïåöèàëüíî ïî êàêèì-òî æóëüíè÷åñêèì ïðè÷èíàì . Òàê, íàïðèìåð, áûëî ñäåëàíî â Khafre. Èñïîëüçîâàíèå ñëó÷àéíîãî øóìà Ëó÷øèì ñïîñîáîì ïîëó÷èòü áîëüøîå êîëè÷åñòâî ñëó÷àéíûõ áèòîâ ÿâëÿåòñÿ èçâëå÷åíèå èõ èç åñòåñòâåííîé ñëó÷àéíîñòè ðåàëüíîãî ìèðà. ×àñòî òàêîé ìåòîä òðåáóåò ñïåöèàëüíîé àïïàðàòóðû, íî ýòîò òðþê ìîæíî ïðèì åíèòü è â êîìïüþòåðàõ. Íàéäèòå ñîáûòèå, êîòîðîå ñëó÷àåòñÿ ðåãóëÿðíî, íî ñëó÷àéíî: àòìîñôåðíûé øóì, ïðåîäîëåâàþùèé êàêîé-òî ïîðîã, ðåáåíîê, ïàäàþùèé, ó÷àñü õîäèòü . Èçìåðüòå èíòåðâàë ìåæäó îäíèì ïîäîáíûì ñîáûòèåì è ñîáûòèåì, ñëåäóþùèì çà íèì. Çàïèøèòå. Èçìåðüòå âðåìåííîé èíòåðâàë ìåæäó âòîðûì è òðåòüèì ñîáûòèÿìè . Ñíîâà çàïèøèòå. Åñëè ïåðâûé âðåìåííîé èíòåðâàë áîëüøå âòîðîãî, âûõîäíûì áèòîì áóäåò 1 . Åñëè âòîðîé èíòåðâàë áîëüøå ïåðâîãî, òî âûõîäîì ñîáûòèÿ áóäåò 0 . Ñäåëàéòå ýòî ñíîâà äëÿ ñëåäóþùåãî ñîá ûòèÿ. Áðîñüòå ñòðåëó äàðòñ â ïåðå÷åíü êîòèðîâîê Íüþ-Éîðêñêîé ôîíäîâîé áèðæå â ìåñòíîé ãàçåòå . Ñðàâíèòå êîòèðîâêó àêöèè, â êîòîðóþ âû ïîïàëè, ñ êîòèðîâêîé àêöèè ïðÿìî íàä íåé . Åñëè áîëüøå òà, â êîòîðóþ âû ïîïàëè, âûõîä ðàâåí 0, à åñëè ìåíüøå - 1 . Ïîäêëþ÷èòå ê êîìïüþòåðó ñ÷åò÷èê Ãåéãåðà , ïîäñ÷èòàéòå êîëè÷åñòâî èìïóëüñîâ çà ôèêñèðîâàííûé èíòåðâàë âðåìåíè è âîçüìèòå ìëàäøèé áèò . Èëè èçìåðüòå âðåìÿ ìåæäó ïîñëåäîâàòåëüíûìè òèêàìè ticks. (Òàê êàê ðàäèîàêòèâíûé èñòî÷íèê ðàñïàäàåòñÿ , ñðåäíåå âðåìÿ ìåæäó ïîñëåäîâàòåëüíûìè òèêàìè íåïðåðûâíî óâåëè÷èâàåòñÿ . ×òîáû ýòîãî èçáåæàòü, íàäî âûáèðàòü èñòî÷íèê ñ äîñòàòî÷íî äëèííûì ïåðèîäîì ïîëóðàñïàäà - òàêîé êàê ïë óòîíèé. Åñëè âû áåñïîêîèòåñü î ñâîåì çäîðîâüå , ìîæåòå âíåñòè ñîîòâåòñòâóþùèå ñòàòèñòè÷åñêèå ïîïðàâêè .) Äæ. Á. Ýãíüþ (G. B. Agnew) ïðåäëîæèë ãåíåðàòîð ðåàëüíî ñëó÷àéíûõ áèòîâ, êîòîðûé ìîæíî èíòåãðèðîâàòü â ÑÁÈÑ [21]. Ýòî êîíäåíñàòîð ìåòàëë-èçîëÿòîð-ïîëóïðîâîäíèê (metal insulator semiconduction capacitor , MISC). Äâà òàêèõ êîíäåíñàòîðà ïîìåùàþòñÿ ðÿäîì äðóã ñ äðóãîì, à ñëó÷àéíûé áèò ÿâëÿåòñÿ ôóíêöèåé ðàçíîñòè çàð ÿäîâ ýòèõ êîíäåíñàòîðîâ. Äðóãîé ãåíåðàòîð ñëó÷àéíûõ ÷èñåë ãåíåðèðóåò ïîòîê ñëó÷àéíûõ áèòîâ, èñïîëüçóÿ í åñòàáèëüíîñòü ÷àñòîòû ñâîáîäíî êîëåáëþùåãîñÿ îñöèëëÿòîðà [535]. Êîììåð÷åñêàÿ ìèêðîñõåìà îò AT&T ãåíåðèðóåò ñëó÷àéíûå ÷èñëà, îïèðàÿñü èìåííî íà ýòî ÿâëåíèå [67]. Ì. Ãüþä (M. Gude) ïîñòðîèë ãåíåðàòîð ñëó÷àéíûõ ÷èñåë, ñîáèðàþùèé ñëó÷àéíûå áèòû èç ôèçè÷åñêèõ ÿâëåíèé, íàïðèìåð, ðàäèîàêòèâíîãî ðàñïàäà [668, 669]. Ìàíôèëä Ðèõòåð (Manfield Richter) ðàçðàáîòàë ãåíåðàòîð ñëó÷àéíûõ ÷èñåë íà áàçå òåìïåðàòóðíîãî øóìà ïîë óïðîâîäíèêîâîãî äèîäà [1309]. Ïðåäïîëîæèòåëüíî ñëó÷àéíû âðåìåííûå èíòåðâàëû ìåæäó ïîñëåäîâàòåëüíûìè 2e4 èçëó÷åíèÿìè ñâåòà ðàñïàäàþùåãîñÿ àòîìà ðòóòè. Èñïîëüçóéòå. À ëó÷øå íàéäèòå ïîëóïðîâîäíèêîâóþ ôèðìó, êîòîðàÿ èçãîòàâëèâàåò ìèêðîñõåìû ãåíåðàòîðîâ ñëó÷àéíûõ ÷èñåë, èõ äîñòàòî÷íî ìíîãî . Ñóùåñòâóåò òàêæå ãåíåðàòîð ñëó÷àéíûõ ÷èñåë, èñïîëüçóþùèé äèñê êîìïüþòåðà [439]. Îí èçìåðÿåò âðåìÿ, íóæíîå äëÿ ÷òåíèÿ áëîêà äèñêà, è èñïîëüçóåò èçìåíåíèÿ ýòîãî âðåìåíè â êà÷åñòâå èñòî÷íèêà ñëó÷àéíûõ ÷èñåë . Äàííûå ôèëüòðóþòñÿ, ÷òîáû óäàëèòü ñòðóêòóðó, âûçâàííóþ êâàíòîâàíèåì, çàòåì ê âåêòîðàì ÷èñåë ïðèìåíÿåòñÿ áûñòðîå ïðåîáðàçîâàíèå Ôóðüå. Ýòî óñòðàíÿåò ñìåùåíèå è êîððåëÿöèþ . Íàêîíåö, â êà÷åñòâå ñëó÷àéíûõ áèòîâ èñïîëüçóþòñÿ ñïåêòðàëüíûå óãëû äëÿ ÷àñòîò â äèàïàçîíå (0, π), íîðìàëèçîâàííûå íà åäèíè÷íûé èíòåðâàë .
Áîëüøàÿ ÷àñòü èçìåíåíèé ñêîðîñòè âðàùåíèÿ äèñêà âûçâàíà òóðáóëåíòíîñòüþ âîçäóõà, êîòîðàÿ è ÿâëÿåòñÿ è ñòî÷íèêîì ñëó÷àéíîñòè â ñèñòåìå . Õîòÿ íàäî ó÷åñòü ñëåäóþùåå. Åñëè âû âûäàåòå íà âûõîä ñëèøêîì ìíîãî á èòîâ, òî âû èñïîëüçóåòå â êà÷åñòâå ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë áûñòðîå ïðåîáðàçîâàíèå Ôóðüå è ðèñêóåòå ïîë ó÷èòü îïðåäåëåííóþ ïðåäñêàçóåìîñòü . È ëó÷øå ñíîâà è ñíîâà ÷èòàòü îäèí è òîò æå äèñêîâûé áëîê, ÷òîáû âàì íå ïðèøëîñü ôèëüòðîâàòü ñòðóêòóðó, èñòî÷íèêîì êîòîðîé ÿâëÿåòñÿ ïëàíèðîâùèê äèñêà . Ðåàëèçàöèÿ òàêîé ñèñòåìû ïîçâîëÿëà ïîëó÷àòü îêîëî 100 áèòîâ â ìèíóòó [439]. Èñïîëüçîâàíèå òàéìåðà êîìïüþòåðà Åñëè âàì íóæåí îäèí ñëó÷àéíûé áèò (èëè äàæå íåñêîëüêî), âîñïîëüçóéòåñü ìëàäøèì çíà÷àùèì áèòîì ë þáîãî ðåãèñòðà òàéìåðà.  ñèñòåìå UNIX îí ìîæåò áûòü íå ñëèøêîì ñëó÷àéíûì èç-çà ðàçëè÷íîé âîçìîæíîé ñèíõðîíèçàöèè, íî íà íåêîòîðûõ ïåðñîíàëüíûõ êîìïüþòåðàõ ýòî ðàáîòàåò . Íå ñòîèò èçâëåêàòü òàêèì îáðàçîì ñëèøêîì ìíîãî áèòîâ . Âûïîëíåíèå ìíîãî ðàç îäíîé è òîé æå ïðîöåäóðû ïîñëåäîâàòåëüíî ìîæåò ëåãêî ñìåñòèòü áèòû, ãåíåðèðîâàííûå ýòèì ñïîñîáîì . Íàïðèìåð, åñëè âûïîëíåíèå êàæäîé ïðîöåäóðû ãåíåðàöèè áèòà çàíèìàåò ÷åòíîå ÷èñëî òèêîâ òàéìåðà, íà âûõîäå âàøåãî ãåíåðàòîðà áóäåò áå ñêîíå÷íàÿ ïîñëåäîâàòåëüíîñòü îäèíàêîâûõ áèòîâ . Åñëè âûïîëíåíèå êàæäîé ïðîöåäóðû ãåíåðàöèè áèòà çàíèìàåò íå÷åòíîå ÷èñëî òèêîâ òàéìåðà, íà âûõîäå âàøåãî ãåíåðàòîðà áóäåò áåñêîíå÷íàÿ ïîñëåäîâàòåëüíîñòü ÷åðåäó þùèõñÿ áèòîâ. Äàæå åñëè çàâèñèìîñòü íå òàê î÷åâèäíà , ïîëó÷àþùèéñÿ áèòîâûé ïîòîê áóäåò äàëåê îò ñëó÷àéíîãî . Îäèí ãåíåðàòîð ñëó÷àéíûõ ÷èñåë ðàáîòàåò ñëåäóþùèì îáðàçîì [918]: Íàø ãåíåðàòîð äåéñòâèòåëüíî ñëó÷àéíûõ ÷èñåë . . . ðàáîòàåò, óñòàíàâëèâàÿ áóäèëüíèê è çàòåì áûñòðî èíêðåìåíòèðóÿ ð åãèñòð ñ÷åò÷èêà ïðîöåññîðà äî òåõ ïîð, ïîêà íå ïðîèçîéäåò ïðåðûâàíèå . Äàëåå âûïîëíÿåòñÿ XOR ñîäåðæèìîãî ðåãèñòðà è ñîäåðæèìîãî áàéòà âûõîäíîãî áóôåðà (äàííûå ðåãèñòðà óñåêàþòñÿ äî 8 áèòîâ ). Ïîñëå òîãî, êàê áóäåò çàïîëíåí êàæäûé áàéò âûõîäíîãî áóôåðà, áóôåð ïîäâåðãàåòñÿ äàëüíåéøåé îáðàáîòêå öèêëè÷åñêèì ñäâèãîì êàæäîãî ñèìâîëà âïðàâî íà äâà áèòà . Ýòî ïðèâîäèò ê ýôôåêòó ïåðåìåùåíèÿ íàèáîëåå àêòèâíûõ (è ñëó÷àéíûõ) ìëàäøèõ çíà÷àùèõ áèòîâ â ñòàðøèå çíà÷àùèå ï îçèöèè. Çàòåì âåñü ïðîöåññ ïîâòîðÿåòñÿ òðè ðàçà . Íàêîíåö ïîñëå ïðåðûâàíèé äâà ñàìûõ ñëó÷àéíûõ áèòà ðåãèñòðà ñ÷åò÷èêà ï îâëèÿþò íà êàæäûé ñèìâîë áóôåðà . Òî åñòü ïðîèñõîäèò 4n ïðåðûâàíèé, ãäå n - ÷èñëî íóæíûõ ñëó÷àéíûõ áèòîâ.
Ýòîò ìåòîä î÷åíü ÷óâñòâèòåëåí ê ñëó÷àéíîñòè ñèñòåìíûõ ïðåðûâàíèé è êâàíòîâàííîñòè òàéìåðà . Ïðè òåñòèðîâàíèè íà ðåàëüíûõ UNIX-ìàøèíàõ ðåçóëüòàò áûë î÷åíü íåïëîõ . Èçìåðåíèå ñêðûòîãî ñîñòîÿíèÿ êëàâèàòóðû Ïðîöåññ ïå÷àòàíèÿ è ñëó÷àåí, è íåñëó÷àåí . Îí äîñòàòî÷íî íåñëó÷àåí, ÷òîáû åãî ìîæíî áûëî èñïîëüçîâàòü äëÿ èäåíòèôèêàöèè ïå÷àòàþùåãî ÷åëîâåêà, íî îí äîñòàòî÷íî ñëó÷àåí, ÷òîáû åãî ìîæíî áûëî èñïîëüçîâàòü äëÿ ãåíåðàöèè ñëó÷àéíûõ áèòîâ. Èçìåðüòå âðåìÿ ìåæäó ïîñëåäîâàòåëüíûìè íàæàòèÿìè êëàâèø, çàòåì âîñïîëüçó éòåñü ìëàäøèìè çíà÷àùèìè áèòàìè ýòèõ èçìåðåíèé . Ýòè áèòû îêàçûâàþòñÿ äîñòàòî÷íî ñëó÷àéíûìè . Ýòîò ìåòîä íå ðàáîòàåò íà UNIX-òåðìèíàëàõ, òàê êàê íàæàòèÿ êëàâèø ïðåæäå, ÷åì îíè áóäóò ïåðåäàíû âàøåé ïðîãðàììå, ïðîõîäÿò ÷åðåç ôèëüòðû è äðóãèå ìåõàíèçìû, íî ýòî áóäåò ðàáîòàòü íà áîëüøèíñòâå ïåðñîíàëüíûõ êîìïüþò åðîâ.  èäåàëå âû äîëæíû ïî êàæäîìó íàæàòèþ êëàâèøè ãåíåðèðîâàòü òîëüêî îäèí áèò . Èñïîëüçîâàíèå áîëüøåãî êîëè÷åñòâà áèòîâ ìîæåò ñìåñòèòü ðåçóëüòàòû â çàâèñèìîñòè îò íàâûêîâ ìàøèíèñòêè . Îäíàêî ýòîò ìåòîä èìååò ðÿä îãðàíè÷åíèé. Õîòÿ íåòðóäíî ïîñàäèòü çà êëàâèàòóðó ÷åëîâåêà, ïå÷àòàþùåãî ñî ñêîðîñòüþ 100 ñëîâ â ìèíóòó èëè îêîëî òîãî, åñëè åñòü âðåìÿ äëÿ ãåíåðàöèè êëþ÷à, ãëóïî ïðîñèòü ìàøèíèñòêó ïå÷àòàòü òåêñò èç 100000 ñëîâ, ÷òîáû èñïîëüçîâàòü ðåçóëüòàò ðàáîòû ãåíåðàòîðà â êà÷åñòâå îäíîðàçîâîãî áëîêíîòà . Ñìåùåíèÿ è êîððåëÿöèè Ãëàâíîé ïðîáëåìîé ïîäîáíûõ ñèñòåì ÿâëÿþòñÿ âîçìîæíûå çàêîíîìåðíîñòè â ãåíåðèðóåìîé ïîñëåäîâàòåë üíîñòè. Èñïîëüçóåìûå ôèçè÷åñêèå ïðîöåññû ìîãóò áûòü ñëó÷àéíû, íî ìåæäó ôèçè÷åñêèì ïðîöåññîì è êîìïü þòåðîì íàõîäÿòñÿ ðàçëè÷íûå èçìåðèòåëüíûå èíñòðóìåíòû . Ýòè èíñòðóìåíòû ìîãóò ëåãêî ïðèâåñòè ê ïîÿâëåíèþ ïðîáëåì. Ñïîñîáîì óñòðàíèòü ñìåùåíèå, èëè îòêëîíåíèå, ÿâëÿåòñÿ XOR íåñêîëüêèõ áèòîâ äðóã ñ äðóãîì. Åñëè ñëó÷àéíûé áèò ñìåùåí ê 0 íà âåëè÷èíó e, òî âåðîÿòíîñòü 0 ìîæíî çàïèñàòü êàê: P(0) = 0.5 + e XOR äâóõ èç òàêèõ áèòîâ äàåò: P(0) = (0.5 + e)2 + (0.5 - e)2 = 0.5 + 2e2 Òå æå âû÷èñëåíèÿ äëÿ XOR 4 áèòîâ äàþò: P(0) = 0.5 + 8e4 XOR m áèòîâ ýêñïîíåíöèàëüíî ñõîäèòñÿ ê ðàâíîé âåðîÿòíîñòè 0 è 1 . Åñëè èçâåñòíî ìàêñèìàëüíîå ñìåùåíèå, êîòîðîå äîïóñòèìî â âàøåì ïðèëîæåíèè , âû ìîæåòå âû÷èñëèòü, ñêîëüêî áèòîâ âàì íóæíî îáúåäèíèòü ñ ïîì îùüþ XOR, ÷òîáû óìåíüøèòü ñìåùåíèå äî ýòîãî çíà÷åíèÿ .
Åùå ëó÷øå ðàññìàòðèâàòü áèòû ïîïàðíî . Åñëè 2 áèòà îäèíàêîâû îòáðîñüòå èõ è âçãëÿíèòå íà ñëåäóþùóþ ïàðó. Åñëè 2 áèòà ðàçëè÷íû, èñïîëüçóéòå ïåðâûé áèò â êà÷åñòâå âûõîäà ãåíåðàòîðà . Ýòî ïîëíîñòüþ óñòðàíÿåò ñìåùåíèå. Äðóãèå ìåòîäû óìåíüøåíèÿ ñìåùåíèÿ èñïîëüçóþò ðàñïðåäåëåíèå ïåðåõîäîâ ñæàòèå è áûñòðîå ïð åîáðàçîâàíèå Ôóðüå [511]. Ïîòåíöèàëüíîé ïðîáëåìîé îáîèõ ìåòîäîâ ÿâëÿåòñÿ òî, ÷òî ïðè íàëè÷èè êîððåëÿöèè ìåæäó ñîñåäíèìè áèòàìè ýòè ìåòîäû óâåëè÷èâàþò ñìåùåíèå . Îäíèì èç ñïîñîáîâ èñïðàâèòü ýòî ÿâëÿåòñÿ èñïîëüçîâàíèå íåñêîëüêèõ ñëó÷àéíûõ èñòî÷íèêîâ. Âîçüìèòå ÷åòûðå ñëó÷àéíûõ èñòî÷íèêà è âûïîëíèòå XOR áèòîâ äðóã ñ äðóãîì èëè âîçüìèòå äâà ñëó÷àéíûõ èñòî÷íèêà è âçãëÿíèòå íà èõ áèòû ïîïàðíî . Íàïðèìåð, âîçüìèòå ðàäèîàêòèâíûé èñòî÷íèê è ïðèñîåäèíèòå ñ÷åò÷èê Ãåéãåðà ê âàøåìó êîìïüþòåðó . Âîçüìèòå ïàðó øóìÿùèõ äèîäîâ è çàïèñûâàéòå â êà÷åñòâå ñîáûòèÿ êàæäîå ïðåâûøåíèå îïðåäåëåííîãî çíà÷åíèÿ . Èçìåðüòå àòìîñôåðíûé øóì. Èçâëåêèòå èç êàæäîãî èñòî÷íèêà ñëó÷àéíûé áèò è âûïîëíèòå èõ XOR äðóã ñ äðóãîì, ïîëó÷àÿ ñëó÷àéíûé áèò. Âîçìîæíîñòè áåñêîíå÷íû. Îäíî òî, ÷òî ãåíåðàòîð ñëó÷àéíûõ ÷èñåë ñìåùåí íå îáÿçàòåëüíî îçíà÷àåò åãî áåñïîëåçíîñòü . Ýòî òîëüêî îçíà÷àåò, ÷òî îí ìåíåå áåçîïàñåí. Íàïðèìåð, ðàññìîòðèì ïðîáëåìó Àëèñû, ãåíåðèðóþùåé 168-áèòîâûé êëþ÷ äëÿ òðîéíîãî DES. A âñå, ÷òî ó íåå åñòü, - ýòî ãåíåðàòîð ñëó÷àéíûõ áèòîâ ñî ñìåùåíèåì ê 0 : ñ âåðîÿòíîñòüþ 55 ïðîöåíòîâ îí âûäàåò íóëè è ñ âåðîÿòíîñòüþ 45 ïðîöåíòîâ - åäèíèöû . Ýòî îçíà÷àåò, ÷òî ýíòðîïèÿ íà áèò êëþ÷à ñ îñòàâèò òîëüêî 0.99277 (äëÿ èäåàëüíîãî ãåíåðàòîðà îíà ðàâíà 1). Ìýëëîðè, ïûòàÿñü ðàñêðûòü êëþ÷, ìîæåò îïòèìèçèðîâàòü âûïîëíÿåìîå âñêðûòèå ãðóáîé ñèëîé, ïðîâåðÿÿ ñíà÷àëà íàèáîëåå âåðîÿòíûå êëþ÷è (000 . . . 0) è äâèãàÿñü ê íàèìåíåå âåðîÿòíîìó êëþ÷ó (111 . . . 1). Èç-çà ñìåùåíèÿ Ìýëëîðè ìîæåò îæèäàòü, ÷òî åìó óäàñòñÿ îáíàðóæèòü êëþ÷ çà 2 109 ïîïûòîê. Ïðè îòñóòñòâèè ñìåùåíèÿ Ìýëëîðè ïîòðåáóåòñÿ 2 111 ïîïûòîê. Ïîëó÷åííûé êëþ÷ ìåíåå áåçîïàñåí, íî ýòî ïðàêòè÷åñêè íåîùóòèìî . Èçâëå÷åííàÿ ñëó÷àéíîñòü  îáùåì ñëó÷àå ëó÷øèé ñïîñîá ãåíåðèðîâàòü ñëó÷àéíûå ÷èñëà - íàéòè áîëüøîå êîëè÷åñòâî êàæóùèõñÿ ñë ó÷àéíûìè ñîáûòèé è èçâëå÷ü ñëó÷àéíîñòü èç íèõ . Ýòà ñëó÷àéíîñòü ìîæåò õðàíèòüñÿ â íàêîïèòåëå è èçâëåêàòüñÿ ïðè íåîáõîäèìîñòè. .Îäíîíàïðàâëåííûå õýø-ôóíêöèè ïðåêðàñíî ïîäõîäÿò äëÿ ýòîãî. Îíè áûñòðû, ïîýòîìó âû ìîæåòå ïðîïóñêàòü áèòû ÷åðåç íèõ, íå ñëèøêîì çàáîòÿñü î ïðîèçâîäèòåëüíîñòè èëè äåéñòâèòåëüíîé ñëó÷àéí îñòè êàæäîãî íàáëþäåíèÿ. Ïîïðîáóéòå õýøèðîâàòü ïî÷òè âñå, ÷òî âàì êàæåòñÿ õîòü ÷óòü-÷óòü ñëó÷àéíûì. Í àïðèìåð: Êîïèÿ êàæäîãî íàæàòèÿ íà êëàâèøè Êîìàíäû ìûøè Íîìåð ñåêòîðà, âðåìÿ äíÿ è çàäåðæêà ïîèñêà äëÿ êàæäîé äèñêîâîé îïåðàöèè Äåéñòâèòåëüíîå ïîëîæåíèå ìûøè Íîìåð òåêóùåé ñòðîêè ðàçâåðòêè ìîíèòîðà Ñîäåðæàíèå äåéñòâèòåëüíî âûâîäèìîãî íà ýêðàí èçîáðàæåíèÿ Ñîäåðæàíèå FAT-òàáëèö, òàáëèö ÿäðà, è ò.ä. Âðåìåíà äîñòóïà/èçìåíåíèÿ /dev/tty Çàãðóçêà ïðîöåññîðà Âðåìåíà ïîñòóïëåíèÿ ñåòåâûõ ïàêåòîâ Âûõîä ìèêðîôîíà /dev/audio áåç ïðèñîåäèíåííîãî ìèêðîôîíà Åñëè âàøà ñèñòåìà èñïîëüçóåò ðàçëè÷íûå êðèñòàëëû-îñöèëëÿòîðû äëÿ ñâîåãî ïðîöåññîðà è ÷àñîâ , ïîïûòàéòåñü ñ÷èòûâàòü âðåìÿ äíÿ â ïëîòíîì öèêëå .  íåêîòîðûõ (íî íå âñåõ) ñèñòåìàõ ýòî ïðèâåäåò ê ñëó÷àéíûì êîëåáàíèÿì ôàçû ìåæäó äâóìÿ îñöèëëÿòîðàìè . Òàê êàê ñëó÷àéíîñòü â ýòèõ ñîáûòèÿõ îïðåäåëÿåòñÿ ñèíõðîíèçàöèåé îñöèëëÿòîðîâ, èñïîëüçóéòå ÷àñû ñ êàê ìîæíî ìåíüøèì êâàíòîì âðåìåíè .  ñòàíäàðòíîì PC èñïîëüçóåòñÿ ìèêðîñõåìà òàéìåðà Intel 8254 (èëè ýêâèâàëåíòíàÿ), ðàáîòàþùàÿ íà òàêòîâîé ÷àñòîòå 1.1931818 ÌÃö, ïîýòîìó íåïîñðåäñòâåííîå ñ÷èòûâàíèå ðåãèñòðà ñ÷åò÷èêà äàñò ðàçðåøåíèå â 838 íàíîñåêóíä. ×òîáû èçáåæàòü ñìåùåíèÿ ðåçóëüòàòîâ , íå èñïîëüçóéòå â êà÷åñòâå èñòî÷íèêà ñîáûòèé ïðåðûâàíèå òàéìåðà . Âîò êàê âûãëÿäèò ýòîò ïðîöåññ íà ÿçûêå C ñ MD5 (ñì. ðàçäåë 18.5) â êà÷åñòâå õýø-ôóíêöèè: char Randpool[16]; /* ×àñòî âûçûâàåòñÿ äëÿ øèðîêîãî ìíîæåñòâà ñëó÷àéíûõ èëè ïîëóñëó÷àéíûõ ñèñòåìíûõ ñîáûòèé äëÿ to churn the randomness pool . Òî÷íûé ôîðìàò è äëèíà randevent íå èìååò çíà÷åíèÿ, ïîêà åãî ñîäåðæàíèå
ÿâëÿåòñÿ â íåêîòîðîé ìåðå ÷åì-òî íåïðåäñêàçóåìûì. */ void churnrand(char *randevent,unsigned lnt randlen) { MD5_CTX md5; MD5Init(&md5); MD5Update(&md5, Randpool , sizeof(Randpool)); MD5Update(&md5 , randevent , randlen ); MD5Final(Randpool,&md5); }
Ïîñëå äîñòàòî÷íûõ âûçîâîâ churnrand() íàêîïëåíèÿ äîñòàòî÷íîé ñëó÷àéíîñòè â Randpool, ìîæíî ãåíåðèðîâàòü èç ýòîãî ñëó÷àéíûå áèòû. MD5 ñíîâà ñòàíîâèòñÿ ïîëåçíîé, â ýòîò ðàç â êà÷åñòâå ãåíåðàòîðà ïñåâäîñëó÷à éíîãî áàéòîâîãî ïîòîêà, ðàáîòàþùåãî â ðåæèìå ñ÷åò÷èêà . long Randcnt; void genrand(char *buf,unsigned int buflen) { MD5_CTX md5; char tmp[16]; unsigned int n; while(buflen != 0) { /* Ïóë õýøèðóåòñÿ ñ÷åò÷èêîì */ MD5Init(&md5); MD5Update(&md5, Randpool, sizeof(Randpool)); MD5Update(&md5,(unsigned char *)&Randcnt,sizeof(Randcnt)); MD5Final(tmp,&md5); Randcnt++; /* Èíêðåìåíòèðóåì ñ÷åò÷èê */ /*Êîïèðóåì 16 ïîëüçîâàòåëÿ*/
èëè
çàïðîøåííîå
÷èñëî
áàéòîâ,
åñëè
îíî
ìåíüøå
16,
â
áóôåð
n = (buflen < 16) ? buflen : 16; memcpy(buf, tmp, n); buf += n ; buflen -= n; } }
Ïî ìíîãèì ïðè÷èíàì õýø-ôóíêöèÿ èìååò êëþ÷åâîå çíà÷åíèå . Âî ïåðâûõ îíà îáåñïå÷èâàåò ïðîñòîé ñïîñîá ãåíåðèðîâàòü ïðîèçâîëüíîå êîëè÷åñòâî ïñåâäîñëó÷àéíûõ äàííûõ , íå âûçûâàÿ âñÿêèé ðàç churnrand(). Íà äåëå, êîãäà çàïàñ â íàêîïèòåëå ïîäõîäèò ê êîíöó, ñèñòåìà ïîñòåïåííî ïåðåõîäèò îò ñîâåðøåííîé ñëó÷àéíîñòè ê ïðà êòè÷åñêîé.  ýòîì ñëó÷àå ñòàíîâèòñÿ òåîðåòè÷åñêè âîçìîæíûì èñïîëüçîâàòü ðåçóëüòàò âûçîâà genrand() äëÿ îïðåäåëåíèÿ ïðåäûäóùåãî èëè ïîñëåäóþùåãî ðåçóëüòàòà . Íî äëÿ ýòîãî ïîòðåáóåòñÿ èíâåðòèðîâàòü MD5, ÷òî âû÷èñëèòåëüíî íåâîçìîæíî. Ýòî âàæíî, òàê êàê ïðîöåäóðå íåèçâåñòíî, ÷òî äåëàåòñÿ ïîòîì ñî ñëó÷àéíûìè äàííûìè, êîòîðûå îíà âîçâð àùàåò. Îäèí âûçîâ ïðîöåäóðû ìîæåò ãåíåðèðîâàòü ñëó÷àéíîå ÷èñëî äëÿ ïðîòîêîëà, êîòîðîå ïîñûëàåòñÿ â ÿâíîì âèäå, âîçìîæíî â îòâåò íà ïðÿìîé çàïðîñ âçëîìùèêà . À ñëåäóþùèé âûçîâ ìîæåò ãåíåðèðîâàòü ñåêðåòíûé êëþ÷ äëÿ ñîâñåì äðóãîãî ñåàíñà ñâÿçè, â ñóòü êîòîðîãî è õî÷åò ïðîíèêíóòü âçëîìùèê . Î÷åâèäíà âàæíîñòü òîãî, ÷òîáû âçëîìùèê íå ñìîã ïîëó÷èòü ñåêðåòíûé êëþ÷, èñïîëüçóÿ ïîäîáíóþ ñõåìó äåéñòâèé . Íî îñòàåòñÿ îäíà ïðîáëåìà. Ïðåæäå, ÷åì â ïåðâûé ðàç áóäåò âûçâàíà genrand() â ìàññèâå Randpool[] äîëæíî áûòü íàêîïëåíî äîñòàòî÷íî ñëó÷àéíûõ äàííûõ . Åñëè ñèñòåìà êàêîå-òî âðåìÿ ðàáîòàëà ñ ëîêàëüíûì ïîëüçîâàòåëåì, ÷òî-òî ïå÷àòàþùèì íà êëàâèàòóðå, òî ïðîáëåì íåò . Íî êàê íàñ÷åò íåçàâèñèìîé ñèñòåìû, êîòîðàÿ ïåðåãð óæàåòñÿ àâòîìàòè÷åñêè, íå îáðàùàÿ âíèìàíèÿ íè íà êàêèå äàííûå êëàâèàòóðû èëè ìûøè ? Íî åñòü îäíà òðóäíîñòü.  êà÷åñòâå ÷àñòè÷íîãî ðåøåíèÿ ìîæíî ïîòðåáîâàòü, ÷òîáû ïîñëå ñàìîé ïåðâîé ç àãðóçêè îïåðàòîð êàêîå-òî âðåìÿ ïîðàáîòàë íà êëàâèàòóðå è ñîçäàë íà äèñêå ñòàðòîâûé ôàéë ïåðåä âûãðóçêîé îïåðàöèîííîé ñèñòåìû, ÷òîáû â õîäå ïåðåçàãðóçîê èñïîëüçîâàëèñü ñëó÷àéíûå äàííûå, ïåðåäàííûå â Randseed[]. Íî íå ñîõðàíÿéòå íåïîñðåäñòâåííî ñàì Randseed[]. Âçëîìùèê, êîòîðîìó óäàñòñÿ çàïîëó÷èòü ýòîò ôàéë, ñìîæåò îïðåäåëèòü âñå ðåçóëüòàòû genrand() ïîñëå ïîñëåäíåãî îáðàùåíèÿ ê churnrand() ïðåæäå, ÷åì ýòîò ôàéë áóäåò ñîçäàí. Ðåøåíèåì ýòîé ïðîáëåìû ÿâëÿåòñÿ õýøèðîâàíèå ìàññèâà Randseed[] ïåðåä åãî ñîõðàíåíèåì, ìîæåò äàæå âûçîâîì genrandO. Ïðè ïåðåçàãðóçêå ñèñòåìû âû ñ÷èòûâàåòå äàííûå èç ñòàðòîâîãî ôàéëà, ïåðåäàåòå èõ
churnrand(), à çàòåì íåìåäëåííî ñòèðàåòå èõ . Ê ñîæàëåíèþ ýòî íå óñòðàíÿåò óãðîçû òîãî, ÷òî çëîóìûøëåííèê äîáóäåò ôàéë ìåæäó ïåðåçàãðóçêàìè è èñïîëüçóåò åãî äëÿ ïðåäñêàçàíèÿ áóäóùèõ çíà÷åíèé ôóíêöèè genrand(). ß íå âèæó èíîãî ðåøåíèÿ ýòîé ïðîáëåìû êðîìå, êàê ïîäîæäàòü íàêîïëåíèÿ äîñòàòî÷íîãî êîëè÷åñòâà ñëó÷àéíûõ ñîáûòèé, ñëó÷èâøèõñÿ ïîñëå ïåðåçàãðóçêè, ïðåæäå, ÷åì ïîçâîëèòü genrand() âûäàâàòü ðåçóëüòàòû.
Ãëàâà 18 Îäíîíàïðàâëåííûå õýø-ôóíêöèè 18.1 Îñíîâû Îäíîíàïðàâëåííàÿ ôóíêöèÿ H(M) ïðèìåíÿåòñÿ ê ñîîáùåíèþ ïðîèçâîëüíîé äëèíû M è âîçâðàùàåò çíà÷åíèå ôèêñèðîâàííîé äëèíû h. h = H(M), ãäå h èìååò äëèíó m Ìíîãèå ôóíêöèè ïîçâîëÿþò âû÷èñëÿòü çíà÷åíèå ôèêñèðîâàííîé äëèíû ïî âõîäíûì äàííûì ïðîèçâîëüíîé äëèíû, íî ó îäíîíàïðàâëåííûõ õýø-ôóíêöèé åñòü äîïîëíèòåëüíûå ñâîéñòâà, äåëàþùèå èõ îäíîíàïðàâëåííûìè [1065]: Çíàÿ M, ëåãêî âû÷èñëèòü h. Çíàÿ H, òðóäíî îïðåäåëèòü M, äëÿ êîòîðîãî H(M)=h. Çíàÿ M, òðóäíî îïðåäåëèòü äðóãîå ñîîáùåíèå, M', äëÿ êîòîðîãî H(M)= H(M'). Åñëè áû Ìýëëîðè óìåë äåëàòü òðóäíûå âåùè, îí ñìîã áû ðàçðóøèòü áåçîïàñíîñòü ëþáîãî ïðîòîêîëà, è ñïîëüçóþùåãî îäíîíàïðàâëåííóþ õýø-ôóíêöèþ . Ñìûñë îäíîíàïðàâëåííûõ õýø-ôóíêöèé è ñîñòîèò â îáåñïå÷ åíèè äëÿ M óíèêàëüíîãî èäåíòèôèêàòîðà ("îòïå÷àòêà ïàëüöà") . Åñëè Àëèñà ïîäïèñàëà M ñ ïîìîùüþ àëãîðèòìà öèôðîâîé ïîäïèñè íà áàçå H(M), à Áîá ìîæåò ñîçäàòü M', äðóãîå ñîîáùåíèå, îòëè÷íîå îò M, äëÿ êîòîðîãî H(M)= H(M'), òî Áîá ñìîæåò óòâåðæäàòü, ÷òî Àëèñà ïîäïèñàëà M'.  íåêîòîðûõ ïðèëîæåíèÿõ îäíîíàïðàâëåííîñòè íåäîñòàòî÷íî, íåîáõîäèìî âûïîëíåíèå äðóãîãî òðåáîâàíèÿ, íàçûâàåìîãî óñòîé÷èâîñòüþ ê ñòîëêíîâåíèÿì. Äîëæíî áûòü òðóäíî íàéòè äâà ñëó÷àéíûõ ñîîáùåíèÿ, M è M', äëÿ êîòîðûõ H(M)= H(M'). Ïîìíèòå âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ èç ðàçäåëà 7.4? Îíî îñíîâàíî íå íà ïîèñêå äðóãîãî ñîîáùåíèÿ M', äëÿ êîòîðîãî H(M)= H(M'), à íà ïîèñêå äâóõ ñëó÷àéíûõ ñîîáùåíèé , M è M', äëÿ êîòîðûõ H(M)= H(M'). Ñëåäóþùèé ïðîòîêîë, âïåðâûå îïèñàííûé Ãèäåîíîì Þâàëîì ( Gideon Yuval) [1635], ïîêàçûâàåò, êàê, åñëè ïðåäûäóùåå òðåáîâàíèå íå âûïîëíÿåòñÿ, Àëèñà ìîæåò èñïîëüçîâàòü âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ äëÿ îáì àíà Áîáà. (1) Àëèñà ãîòîâèò äâå âåðñèè êîíòðàêòà: îäíó, âûãîäíóþ äëÿ Áîáà, è äðóãóþ, ïðèâîäÿùóþ åãî ê áàíêðîòñòâó (2) Àëèñà âíîñèò íåñêîëüêî íåçíà÷èòåëüíûõ èçìåíåíèé â êàæäûé äîêóìåíò è âû÷èñëÿåò õýø-ôóíêöèè .
(Ýòèìè èçìåíåíèÿìè ìîãóò áûòü äåéñòâèÿ, ïîäîáíûå ñëåäóþùèì : çàìåíà ÏÐÎÁÅËÀ êîìáèíàöèåé ÏÐ ÎÁÅË-ÇÀÁÎÉ-ÏÐÎÁÅË, âñòàâêà îäíîãî-äâóõ ïðîáåëîâ ïåðåä âîçâðàòîì êàðåòêè, è ò.ä. Äåëàÿ èëè íå äåëàÿ ïî îäíîìó èçìåíåíèþ â êàæäîé èç 32 ñòðîê, Àëèñà ìîæåò ëåãêî ïîëó÷èòü 2 32 ðàçëè÷íûõ äîêóìåíòîâ.)
(3) Àëèñà ñðàâíèâàåò õýø-çíà÷åíèÿ äëÿ êàæäîãî èçìåíåíèÿ â êàæäîì èç äâóõ äîêóìåíòîâ , ðàçûñêèâàÿ ïàðó,
äëÿ êîòîðîé ýòè çíà÷åíèÿ ñîâïàäàþò . (Åñëè âûõîäîì õýø-ôóíêöèè ÿâëÿåòñÿ âñåãî ëèøü 64-ðàçðÿäíîå çí à÷åíèå, Àëèñà, êàê ïðàâèëî, ñìîæåò íàéòè ñîâïàäàþùóþ ïàðó ñðàâíèâ 2 32 âåðñèé êàæäîãî äîêóìåíòà.) Îíà âîññòàíàâëèâàåò äâà äîêóìåíòà, äàþùèõ îäèíàêîâîå õýø-çíà÷åíèå .
(4) Àëèñà ïîëó÷àåò ïîäïèñàííóþ Áîáîì âûãîäíóþ äëÿ íåãî âåðñèþ êîíòðàêòà, èñïîëüçóÿ ïðîòîêîë, â êîòîðîì
îí ïîäïèñûâàåò òîëüêî õýø-çíà÷åíèå .
(5) Ñïóñòÿ íåêîòîðîå âðåìÿ Àëèñà ïîäìåíÿåò êîíòðàêò, ïîäïèñàííûé Áîáîì, äðóãèì, êîòîðûé îí íå ïîäïèñ û-
âàë. Òåïåðü îíà ìîæåò óáåäèòü àðáèòðà â òîì, ÷òî Áîá ïîäïèñàë äðóãîé êîíòðàêò .
Ýòî çàìåòíàÿ ïðîáëåìà. (Îäíèì èç ñîâåòîâ ÿâëÿåòñÿ âíåñåíèå êîñìåòè÷åñêèõ èñïðàâëåíèé â ïîäïèñûâàåìûé äîêóìåíò.) Ïðè âîçìîæíîñòè óñïåøíîãî âñêðûòèÿ ìåòîäîì äíÿ ðîæäåíèÿ, ìîãóò ïðèìåíÿòüñÿ è äðóãèå ñïîñîáû âñêð ûòèÿ. Íàïðèìåð, ïðîòèâíèê ìîæåò ïîñûëàòü ñèñòåìå àâòîìàòè÷åñêîãî êîíòðîëÿ (ìîæåò áûòü ñïóòíèêîâîé) ñëó÷àéíûå ñòðîêè ñîîáùåíèé ñî ñëó÷àéíûìè ñòðîêàìè ïîäïèñåé .  êîíöå êîíöîâ ïîäïèñü ïîä îäíèì èç ýòèõ ñë ó÷àéíûõ ñîîáùåíèé îêàæåòñÿ ïðàâèëüíîé . Âðàã íå ñìîæåò óçíàòü, ê ÷åìó ïðèâåäåò ýòà êîìàíäà, íî, åñëè åãî åäèíñòâåííîé öåëüþ ÿâëÿåòñÿ âìåøàòåëüñòâî â ðàáîòó ñïóòíèêà, îí ñâîåãî äîáüåòñÿ . Äëèíû îäíîíàïðàâëåííûõ õýø-ôóíêöèé 64-áèòîâûå õýø-ôóíêöèè ñëèøêîì ìàëû, ÷òîáû ïðîòèâîñòîÿòü âñêðûòèþ ìåòîäîì äíÿ ðîæäåíèÿ . Áîëåå ïðàêòè÷íû îäíîíàïðàâëåííûå õýø-ôóíêöèè, âûäàþùèå 128-áèòîâûå õýø-çíà÷åíèÿ . Ïðè ýòîì, ÷òîáû íàéòè äâà
äîêóìåíòà ñ îäèíàêîâûìè õýø-çíà÷åíèÿìè, äëÿ âñêðûòèÿ ìåòîäîì äíÿ ðîæäåíèÿ ïðèäåòñÿ õýøèðîâàòü 264 ñëó÷àéíûõ äîêóìåíòîâ, ÷òî, âïðî÷åì, íåäîñòàòî÷íî, åñëè íóæíà äëèòåëüíàÿ áåçîïàñíîñòü . NIST â ñâîåì Ñòàíäàðòå áåçîïàñíîãî õýøèðîâàíèÿ (Secure Hash Standard, SHS), èñïîëüçóåò 160-áèòîâîå õýø-çíà÷åíèå. Ýòî åùå ñèëüíåå óñëîæíÿåò âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ, äëÿ êîòîðîãî ïîíàäîáèòñÿ 280 õýøèðîâàíèé. Äëÿ óäëèíåíèÿ õýí-çíà÷åíèé, âûäàâàåìûõ êîíêðåòíîé õýø-ôóíêöèåé, áûë ïðåäëîæåí ñëåäóþùèé ìåòîä . (1) Äëÿ ñîîáùåíèÿ ñ ïîìîùüþ îäíîé èç óïîìÿíóòûõ â ýòîé êíèãå îäíîíàïðàâëåííûõ õýø-ôóíêöèé ãåíåðèð ó-
åòñÿ õýø-çíà÷åíèå.
(2) Õýø çíà÷åíèå äîáàâëÿåòñÿ ê ñîîáùåíèþ . (3) Ãåíåðèðóåòñÿ õýø-çíà÷åíèå îáúåäèíåíèÿ ñîîáùåíèÿ è õýø-çíà÷åíèÿ ýòàïà (1) . (4) Ñîçäàåòñÿ áîëüøåå õýø-çíà÷åíèå, ñîñòîÿùåå èç îáúåäèíåíèÿ õýø-çíà÷åíèÿ ýòàïà (1) è õýø-çíà÷åíèÿ ýòàïà
(3).
(5) Ýòàïû (1)-(4) ïîâòîðÿþòñÿ íóæíîå êîëè÷åñòâî ðàç äëÿ îáåñïå÷åíèÿ òðåáóåìîé äëèíû õýø-çíà÷åíèÿ .
Õîòÿ íèêîãäà íå áûëà äîêàçàíà áåçîïàñíîñòü èëè íåáåçîïàñíîñòü ýòîãî ìåòîäà, óðÿä ëþäåé ýòîò ìåòîä âûç ûâàåò îïðåäåëåííûå ñîìíåíèÿ [1262,859]. Îáçîð îäíîíàïðàâëåííûõ õýø-ôóíêöèé Íå ëåãêî ïîñòðîèòü ôóíêöèþ, âõîä êîòîðîé èìååò ïðîèçâîëüíûé ðàçìåð, à òåì áîëåå ñäåëàüòü åå îäíîí àïðàâëåííîé.  ðåàëüíîì ìèðå îäíîíàïðàâëåííûå õýø-ôóíêöèè ñòðîÿòñÿ íà èäåå ôóíêöèè ñæàòèÿ. Òàêàÿ îäíîíàïðàâëåííàÿ ôóíêöèÿ âûäàåò õýø-çíà÷åíèå äëèíû n ïðè çàäàííûõ âõîäíûõ äàííûõ áîëüøåé äëèíû m [1069, 414]. Âõîäàìè ôóíêöèè ñæàòèÿ ÿâëÿþòñÿ áëîê ñîîáùåíèÿ è âûõîä ïðåäûäóùåãî áëîêà òåêñòà (ñì. 17-é). Âûõîä ïðåäñòàâëÿåò ñîáîé õýø-çíà÷åíèå âñåõ áëîêîâ äî ýòîãî ìîìåíòà . Òî åñòü, õýø-çíà÷åíèå áëîêà Mi ðàâíî hi = f(Mi , hi-1) Ýòî õýø-çíà÷åíèå âìåñòå ñî ñëåäóþùèì áëîêîì ñîîáùåíèÿ ñòàíîâèòñÿ ñëåäóþùèì âõîäîì ôóíêöèè ñæàòèÿ . Õýø-çíà÷åíèåì âñåãî ñîîáùåíèÿ ÿâëÿåòñÿ õýø-çíà÷åíèå ïîñëåäíåãî áëîêà . Mi hi-1
Îäíîíàïðàâëåííàÿ ôóíêöèÿ
hi
Ðèñ. 18-1. Îäíîíàïðàâëåííàÿ ôóíêöèÿ Õýøèðóåìûé âõîä äîëæåí êàêèì-òî ñïîñîáîì ñîäåðæàòü áèíàðíîå ïðåäñòàâëåíèå äëèíû âñåãî ñîîáùåíèÿ . Òàêèì îáðàçîì ïðåîäîëåâàåòñÿ ïîòåíöèàëüíàÿ ïðîáëåìà, âûçâàííàÿ òåì, ÷òî ñîîáùåíèÿ ðàçëè÷íîé äëèíû ìîãóò äàâàòü îäíî è òî æå õýø-çíà÷åíèå [1069, 414]. Èíîãäà òàêîé ìåòîä íàçûâàåòñÿ MD-óñèëåíèåì [930]. Ðàçëè÷íûå èññëåäîâàòåëè âûäâèãàëè ïðåäïîëîæåíèÿ, ÷òî åñëè ôóíêöèÿ ñæàòèÿ áåçîïàñíà, òî ýòîò ìåòîä õ ýøèðîâàíèÿ èñõîäíûõ äàííûõ ïðîèçâîëüíîé äëèíû òàêæå áåçîïàñåí - íî íè÷åãî íå áûëî äîêàçàíî [1138, 1070, 414]. Íà òåìó ïðîåêòèðîâàíèÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé íàïèñàíî ìíîãî. Áîëåå ïîäðîáíóþ ìàòåìàòè÷åñêóþ èíôîðìàöèþ ìîæíî íàéòè [1028, 793, 791, 1138, 1069, 414, 91, 858, 1264]. Âîçìîæíî ñàìûì òîëêîâîé èíòåðïðåòàöèåé îäíîíàïðàâëåííûõ õýø-ôóíêöèé ÿâëÿþòñÿ òåçèñû Áàðòà Ïðåíåëà ( Bart Preneel) [1262].
18.2 Snefru Snefru - ýòî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ, ðàçðàáîòàííàÿ Ðàëüôîì Ìåðêëîì [1070]. (Snefru, òàêæå êàê Khufu è Khafre, áûë åãèïåòñêèì ôàðàîíîì.) Snefru õýøèðóåò ñîîáùåíèÿ ïðîèçâîëüíîé äëèíû, ïðåâðàùàÿ èõ â 128-áèòîâûå 256-áèòîâûå çíà÷åíèÿ . Ñíà÷àëà ñîáùåíèå ðàçáèâàåòñÿ íà êóñî÷êè äëèíîé ïî 512-m. (Ïåðåìåííàÿ m ÿâëÿåòñÿ äëèòíîé õýøçíà÷åíèÿ.) Åñëè âûõîä - ýòî 128-áèòîâîå çíà÷åíèå, òî äëèíà êóñî÷êîâ ðàâíà 384 áèòàì, à åñëè âûõîä 128-áèòîâîå çíà÷åíèå, òî äëèíà êóñî÷êîâ - 256 áèòîâ. Ñåðäöåì àëãîðèòìà ñëóæèò ôóíêöèÿ H, õýøèðóþùàÿ 512-áèòîâîå çíà÷åíèå â m-áèòîâîå. Ïåðâûå m áèòîâ âûõîäà H ÿâëÿþòñÿ õýø-çíà÷åíèåì áëîêà, îñòàëüíûå îòáðàñûâàþòñÿ . Ñëåäóþùèé áëîê äîáàâëÿåòñÿ ê õýøçíà÷åíèþ ïðåäûäóùåãî áëîêà è ñíîâà õýøèðóåòñÿ . (Ê ïåðâîíà÷àëüíîìó áëîêó äîáàâëÿåòñÿ ñòðîêà íóëåé .) Ïîñëå ïîñëåäíåãî áëîêà (åñëè ñîîáùåíèå ñîñòîèò íå èç öåëîãî ÷èñëà áëîêîâ, ïîñëåäíèé áëîê äîïîëíÿåòñÿ íóëÿìè ) ïåðâûå m áèòîâ äîáàâëÿþòñÿ ê áèíàðíîìó ïðåäñòàâëåíèþ äëèíû ñîîáùåíèÿ è õýøèðóþòñÿ ïîñëåäíèé ðàç . Ôóíêöèÿ H îñíîâûâàåòñÿ íà E, îáðàòèìîé ôóíêöèè áëî÷íîãî øèôðîâàíèÿ, ðàáîòàþùåé ñ 512 áèòîâûìè
áëîêàìè. H - ýòî ïîñëåäíèå m áèòîâ âûõîäà E, îáúåäèíåííûå ïîñðåäñòâîì XOR ñ ïåðâûìè m áèòàìè âõîäà E. Áåçîïàñíîñòü Snefru îïèðàåòñÿ íà ôóíêöèþ E, êîòîðàÿ ðàíäîìèçèðóåò äàííûå çà íåñêîëüêî ïðîõîäîâ . Êàæäûé ïðîõîä ñîñòîèò èç 64 ðàíäîìèçèðóþùèõ ýòàïîâ.  êàæäîì ýòàïå â êà÷åñòâå âõîäà S-áëîêà èñïîëüçóåòñÿ äðóãîé áàéò äàííûõ. Âûõîäíîå ñëîâî ïîäâåðãàåòñÿ îïåðàöèè XOR ñ äâóìÿ ñîñåäíèìè ñëîâàìè ñîîáùåíèÿ . Ïîñòðîåíèå S-áëîêîâ àíàëîãè÷íî ïîñòðîåíèþ S-áëîêîâ â Khafre (ñì. ðàçäåë 13.7). Êðîìå òîãî, âûïîëíÿåòñÿ ðÿä öèêëè÷åñêèõ ñäâèãîâ. Îðèãèíàëüíûé Snefru ñîñòîÿë èç äâóõ ïðîõîäîâ. Êðèïòîàíàëèç Snefru Èñïîëüçóÿ äèôôåðåíöèàëüíûé êðèïòîàíàëèç, Áèõàì è Øàìèð ïîêàçàëè íåáåçîïàñíîñòü äâóõïðîõîäíîãî Snefru (ñ 128-áèòîâûì õýø-çíà÷åíèåì) [172]. Èõ ñïîñîá âñêðûòèÿ çà íåñêîëüêî ìèíóò îáíàðóæèâàåò ïàðó ñîî áùåíèé ñ îäèíàêîâûì õýø-çíà÷åíèåì . Äëÿ 128-áèòîâîãî Snefru èõ âñêðûòèÿ ðàáîòàþò ëó÷øå, ÷åì âñêðûòèå ãðóáîé ñèëîé äëÿ ÷åòûðåõ è ìåíåå ïð îõîäîâ. Âñêðûòèå Snefru ìåòîäîì äíÿ ðîæäåíèÿ òðåáóåò 2 64 îïåðàöèé; äèôôåðåíöèàëüíûé êðèïòîàíàëèç ìîæåò íàéòè ïàðó ñîîáùåíèé ñ îäèíàêîâûì õýø-çíà÷åíèåì çà 228.5 îïåðàöèé äëÿ òðåõïðîõîäíîãî Snefru è çà 244.5 îïåðàöèé äëÿ ÷åòûðåõïðîõîäíîãî Snefru. Íàõîæäåíèå ñîîáùåíèÿ, õýø-çíà÷åíèå êîòîðîãî ñîâïàäàåò ñ çàäàííûì, ïðè èñïîëüçîâàíèè ãðóáîé ñèëû òðåáóåò 2 128 îïåðàöèé, ïðè äèôôåðåíöèàëüíîì êðèïòîàíàëèçå äëÿ ýòîãî íóæíî 256 îïåðàöèé äëÿ òðåõïðîõîäíîãî è 288 îïåðàöèé äëÿ ÷åòûðåõïðîõîäíîãî Snefru. Õîòÿ Áèõàì è Øàìèð íå àíàëèçèðîâàëè 256-áèòîâûå õýø-çíà÷åíèÿ, îíè ïðîâåëè àíàëèç âïëîòü äî 224áèòîâûõ õýø-çíà÷åíèé.  ñðàâíåíèè ñ âñêðûòèåì ìåòîäîì äíÿ ðîæäåíèÿ, òðåáóþùèì 2 112 îïåðàöèé îíè ìîãóò íàéòè ñîîáùåíèÿ ñ îäèíàêîâûì õýø-çíà÷åíèåì çà 212.5 îïåðàöèé äëÿ äâóõïðîõîäíîãî Snefru, çà 233 îïåðàöèé äëÿ òðåõïðîõîäíîãî Snefru è çà äëÿ 281 îïåðàöèé äëÿ ÷åòûðåõïðîõîäíîãî Snefru.  íàñòîÿùåå âðåìÿ Ìåðêë ðåêîìåíäóåò èñïîëüçîâàòü Snefru ïî êðàéíåé ìåðå ñ âîñåìüþ ïðîõîäàìè [1073]. Îäíàêî ñ òàêèì êîëè÷åñòâîì ïðîõîäîâ àëãîðèòì ñòàíîâèòñÿ íàìíîãî ìåäëåííåå, ÷åì MD5 èëè SHA.
18.3 N-õýø N-õýø - ýòî àëãîðèòì, ïðèäóìàííûé â 1990 ãîäó èññëåäîâàòåëÿìè Nippon Telephone and Telegraph , òåìè æå ëþäüìè, êîòîðûå èçîáðåëè FEAL [1105, 1106]. N-õýø èñïîëüçóåò 128-áèòîâûå áëîêè ñîîáùåíèÿ, ñëîæíóþ ðà íäîìèçèðóþùóþ ôóíêöèþ, ïîõîæóþ íà FEAL, è âûäàåò 128-áèòîâîå õýø-çíà÷åíèå. Õýø-çíà÷åíèå êàæäîãî 128-áèòîâîãî áëîêà ÿâëÿåòñÿ ôóíêöèåé áëîêà è õýø-çíà÷åíèÿ ïðåäûäóùåãî áëîêà . H0 = I, ãäå I - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Hi = g(Mi , Hi-1) ⊕ Mi ⊕ Hi-1 Õýø-çíà÷åíèå âñåãî ñîîáùåíèÿ ïðåäñòàâëÿåò ñîáîé õýø-çíà÷åíèå ïîñëåäíåãî áëîêà ñîîáùåíèÿ . Ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå I ìîæåò áûòü ëþáûì ÷èñëîì, îïðåäåëåííûì ïîëüçîâàòåëåì (äàæå îäíèìè íóëÿìè). Ôóíêöèÿ g äîñòàòî÷íî ñëîæíà. Ñõåìà àëãîðèòìà ïðèâåäåíà íà 16-é. Ñíà÷àëà ïåðåñòàâëÿþòñÿ ëåâàÿ è ïðàâàÿ 64-áèòîâûå ïîëîâèíû 128-áèòîâîãî õýø-çíà÷åíèÿ ïðåäûäóùåãî áëîêà Hi-1, à çàòåì âûïîëíÿåòñÿ XOR ñ ïîâòîðÿþùèìñÿ øàáëîíîì (128-áèòîâûì) è XOR ñ òåêóùèì áëîêîì ñîîáùåíèÿ Mi . Äàëåå ýòî çíà÷åíèå êàñêàäíî ïð åîáðàçóåòñÿ â N (íà ðèñóíêàõ N= 8) ñòàäèé îáðàáîòêè. Äðóãèì âõîäîì ñòàäèè îáðàáîòêè ÿâëÿåòñÿ ïðåäûäóùåå õýø-çíà÷åíèå, ïîäâåðãíóòîå XOR ñ îäíîé èç âîñüìè äâîè÷íûõ êîíñòàíò .
Mi 128 áèòîâ
EXG: ïåðåñòàíîâêà ëåâîé è ïðàâîé ÷àñòåé n: 1010 ... 1010 (äâîè÷íîå, 128 áèòîâ)
g
PS: ñòàäèÿ îáðàáîòêè (processing stage)
EXG
Vj=õ||Aj1 õ||Aj2 õ||Aj3 õ||Aj4
n
V1
||: êîíêàòåíàöèÿ
PS
õ: 000 ... 0 (äâîè÷íîå, 24 áèò) Ajk=4*(j-1)+k(k=1,2,3,4, Ajk - 8 áèòîâ â äëèíó)
V2 PS
Hi = g(Mi, Hi-1) ⊕ Mi ⊕ Hi-1
V3 PS V4 PS hi=1 128 áèòîâ
V5 PS
hi 128 áèòîâ
V6 PS V7 PS V8 PS
Ðèñ. 18-2. Ñõåìà N-õýø. Îäíà ñòàäèÿ îáðàáîòêè ïîêàçàíà íà 15-é. Áëîê ñîîáùåíèÿ ðàçáèâàåòñÿ íà ÷åòûðå 32-áèòîâûõ çíà÷åíèÿ . Ïðåäûäóùåå õýø-çíà÷åíèå òàêæå ðàçáèâàåòñÿ íà ÷åòûðå 32-áèòîâûõ çíà÷åíèÿ . Ôóíêöèÿ f ïðåäñòàâëåíà íà 14th. Ôóíêöèè S0 è S1 òå æå ñàìûå, ÷òî è â FEAL. S0(a,b) = öèêëè÷åñêèé ñäâèã âëåâî íà äâà áèòà (( a + b) mod 256) S1(a,b) = öèêëè÷åñêèé ñäâèã âëåâî íà äâà áèòà(( a + b + 1) mod 256)
Âõîä: X= X1||X2||X3||X4 X1
P= P1||P2||P3||P4
X2
32 áèòà
X3
32 áèòà
32 áèòà
P1 32 áèòà
Y1
P2 32 áèòà
P3 32 áèòà
32 áèòà
P4 32 áèòà
P1
B
P2
B
P3
B
P4
B
Âûõîä: Y= Y1||Y2||Y3||Y4
Y2
X4
Y3
Y4
Y=PS(X,P)
Ðèñ. 18-3. Îäíà ñòàäèÿ îáðàáîòêè N-õýø. Âûõîä îäíîé ñòàäèè îáðàáîòêè ñòàíîâèòñÿ âõîäîì ñëåäóþùåé ñòàäèè îáðàáîòêè . Ïîñëå ïîñëåäíåé ñòàäèè îáðàáîòêè âûïîëíÿåòñÿ XOR âûõîäà ñ Mi è Hi-1, à çàòåì ê õýøèðîâàíèþ ãîòîâ ñëåäóþùèé áëîê . N P
32 áèòà
8 áèòîâ 8 áèòîâ
32 áèòà
8 áèòîâ
8 áèòîâ
S1 S0
S0
S1
32 áèòà f (N,2) Y=S0(X1,X2)=Rot2((X1+X2) mod 256) Y=S1(X1,X2)=Rot2((X1+X2+1) mod 256) Y: âûõîäíûå 8 áèòîâ, X1,X2 (8 áèòîâ): âõîäû Rot2(Y): öèêëè÷åñêèé ñäâèã âëåâî íà 2 áèòà 8-áèòîâûõ äàííûõ Y Ðèñ. 18-4. Ôóíêöèÿ f.
Êðèïòîàíàëèç N-õýø Áåðò äåí Áîåð (Bert den Boer) îòêðûë ñïîñîá ñîçäàâàòü ñòîëêíîâåíèÿ â ôóíêöèè ýòàïà N-õýø [1262]. Áèõàì è Øàìèð ïðèìåíèëè äèôôåðåíöèàëüíûé êðèïòîàíàëèç äëÿ âñêðûòèÿ 6-ýòàïíîé N-õýø [169, 172]. Êîíêðåòíîå âûïîëíåííîå èìè âñêðûòèå (êîíå÷íî æå, ìîãëè áûòü è äðóãèå ) ðàáîòàåò äëÿ ëþáîãî N, äåëÿùåãîñÿ íà 3, è ýôôåêòèâíåå âñêðûòèÿ ìåòîäîì äíÿ ðîæäåíèÿ äëÿ ëþáîãî N, ìåíüøåãî 15. Òî æå ñàìîå âñêðûòèå ìîæåò îáíàðóæèâàòü ïàðû ñîîáùåíèé ñ îäèíàêîâûì õýø-çíà÷åíèåì äëÿ 12-ýòàïíîé N-õýø çà 256 îïåðàöèé (äëÿ âñêðûòèÿ ãðóáîé ñèëîé íóæíî 2 64 îïåðàöèé). N-õýø ñ 15 ýòàïàìè áåçîïàñíà ïî îòíîøåíèþ ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó : äëÿ âñêðûòèÿ ïîòðåáóåòñÿ 2 72 îïåðàöèé. Ðàçðàáîò÷èêè àëãîðèòìà ðåêîìåíäóþò èñïîëüçîâàòü N-õýø íå ìåíüøå, ÷åì ñ 8 ýòàïàìè [1106]. Ñ ó÷åòîì äîêàçàííîé íåáåçîïàñíîñòè N-õýø è FEAL (è åå ñêîðîñòè ïðè 8 ýòàïàõ) ÿ ðåêîìåíäóþ ïîëíîñòüþ îòêàçàòüñÿ îò ýòîãî àëãîðèòìà.
18.4 MD4 MD4 - ýòî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ, èçîáðåòåííàÿ Ðîíîì Ðèâåñòîì [1318, 1319, 1321]. MD îáîçíà÷àåò Message Digest (êðàòêîå èçëîæåíèå ñîîáùåíèÿ), àëãîðèòì äëÿ âõîäíîãî ñîîáùåíèÿ âûäàåò 128-áèòîâîå õýøçíà÷åíèå, èëè êðàòêîå èçëîæåíèå ñîîáùåíèÿ.  [1319] Ðèâåñò îïèñàë öåëè, ïðåñëåäóåìûå èì ïðè ðàçðàáîòêå àëãîðèòìà : Áåçîïàñíîñòü. Âû÷èñëèòåëüíî íåâîçìîæíî íàéòè äâà ñîîáùåíèÿ ñ îäèíàêîâûì õýø-çíà÷åíèåì . Âñêðûòèå ãðóáîé ñèëîé ÿâëÿåòñÿ ñàìûì ýôôåêòèâíûì . Ïðÿìàÿ áåçîïàñíîñòü. Áåçîïàñíîñòü MD4 íå îñíîâûâàåòñÿ íà êàêèõ-ëèáî äîïóùåíèÿõ, íàïðèìåð, ïðåäï îëîæåíèè î òðóäíîñòè ðàçëîæåíèÿ íà ìíîæèòåëè . Ñêîðîñòü. MD4 ïîäõîäèò äëÿ âûñîêîñêîðîñòíûõ ïðîãðàììíûõ ðåàëèçàöèé . Îíà îñíîâàíà íà ïðîñòîì íàáîðå áèòîâûõ ìàíèïóëÿöèé ñ 32-áèòîâûìè îïåðàíäàìè. Ïðîñòîòà è êîìïàêòíîñòü. MD4 ïðîñòà, íàñêîëüêî ýòî âîçìîæíà, è íå ñîäåðæèò áîëüøèõ ñòðóêòóð äàííûõ èëè ñëîæíûõ ïðîãðàììíûõ ìîäóëåé . Óäà÷íà àðõèòåêòóðà. MD4 îïòèìèçèðîâàíà äëÿ ìèêðîïðîöåññîðíîé àðõèòåêòóðû (îñîáåííî äëÿ ìèêðîïðîöåññîðîâ Intel), äëÿ áîëåå êðóïíûõ è áûñòðûõ êîìïüþòåðîâ ìîæíî âûïîëíèòü ëþáûå íåîáõîäèìûå èçìåíåíèÿ . Ïîñëå ïåðâîãî ïîÿâëåíèÿ àëãîðèòìà Áåðò äåí Áîåð è Àíòîí Áîññåëàåðñ (Antoon Bosselaers) äîñòèãëè óñïåõà ïðè êðèïòîàíàëèçå ïîñëåäíèõ äâóõ èç òðåõ ýòàïîâ àëãîðèòìà [202]. Ðàëüôó Ìåðêëó ñîâåðøåííî íåçàâèñèìî óäàëîñü âñêðûòü ïåðâûå äâà ýòàïà [202]. Ýëè Áèõàì ðàññìîòðåë èñïîëüçîâàíèå äèôôåðåíöèàëüíîãî êðèïòîàí àëèçà ïðîòèâ ïåðâûõ äâóõ ýòàïîâ MD4 [159]. Õîòÿ âñå ýòè âñêðûòèÿ íå áûëè ðàñïðîñòðàíåíû íà ïîëíûé àëã îðèòì, Ðèâåñò óñèëèë ñâîþ ðàçðàáîòêó.  ðåçóëüòàòå ïîÿâèëàñü MD5.
18.5 MD5 MD5 - ýòî óëó÷øåííàÿ âåðñèÿ MD4 [1386, 1322]. Õîòÿ îíà ñëîæíåå MD4, èõ ñõåìû ïîõîæè, è ðåçóëüòàòîì MD5 òàêæå ÿâëÿåòñÿ 128-áèòîâîå õýø-çíà÷åíèå . Îïèñàíèå MD5 Ïîñëå íåêîòîðîé ïåðâîíà÷àëüíîé îáðàáîòêè MD5 îáðàáàòûâàåò âõîäíîé òåêñò 512-áèòîâûìè áëîêàìè, ðàçáèòûìè íà 16 32-áèòîâûõ ïîäáëîêîâ. Âûõîäîì àëãîðèòìà ÿâëÿåòñÿ íàáîð èç ÷åòûðåõ 32-áèòîâûõ áëîêîâ, êîòîðûå îáúåäèíÿþòñÿ â åäèíîå 128-áèòîâîå õýø-çíà÷åíèå . Âî ïåðâûõ, ñîîáùåíèå äîïîëíÿåòñÿ òàê, ÷òîáû åãî äëèíà áûëà íà 64 áèòà êîðî÷å ÷èñëà, êðàòíîãî 512. Ýòèì äîïîëíåíèåì ÿâëÿåòñÿ 1, çà êîòîðîé âïëîòü äî êîíöà ñîîáùåíèÿ ñëåäóåò ñòîëüêî íóëåé, ñêîëüêî íóæíî . Çàòåì, ê ðåçóëüòàòó äîáàâëÿåòñÿ 64-áèòîâîå ïðåäñòàâëåíèå äëèíû ñîîáùåíèÿ (èñòèííîé, äî äîïîëíåíèÿ). Ýòè äâà äåéñòâèÿ ñëóæàò äëÿ òîãî, ÷òîáû äëèíà ñîîáùåíèÿ áûëà êðàòíà 512 áèòàì (÷òî òðåáóåòñÿ äëÿ îñòàâøåéñÿ ÷àñòè àëã îðèòìà), è ÷òîáû ãàðàíòèðîâàòü, ÷òî ðàçíûå ñîîáùåíèÿ íå áóäóò âûãëÿäåòü îäèíàêîâî ïîñëå äîïîëíåíèÿ . Èíèöèàëèçèðóþòñÿ ÷åòûðå ïåðåìåííûõ : A = 0x01234567 B = 0x89abcdef C = 0xfedcba98 D = 0x76543210 Îíè íàçûâàþòñÿ ïåðåìåííûìè ñöåïëåíèÿ.
Òåïåðü ïåðåéäåì ê îñíîâíîìó öèêëó àëãîðèòìà . Ýòîò öèêë ïðîäîëæàåòñÿ, ïîêà íå èñ÷åðïàþòñÿ 512-áèòîâûå áëîêè ñîîáùåíèÿ. ×åòûðå ïåðåìåííûõ êîïèðóþòñÿ â äðóãèå ïåðåìåííûå : A â a, B â b, C â c è D â d. Ãëàâíûé öèêë ñîñòîèò èç ÷åòûðåõ î÷åíü ïîõîæèõ ýòàïîâ (ó MD4 áûëî òîëüêî òðè ýòàïà). Íà êàæäîì ýòàïå 16 ðàç èñïîëüçóþòñÿ ðàçëè÷íûå îïåðàöèè . Êàæäàÿ îïåðàöèÿ ïðåäñòàâëÿåò ñîáîé íåëèíåéíóþ ôóíêöèþ íàä òð åìÿ èç a, b, c è d. Çàòåì îíà äîáàâëÿåò ýòîò ðåçóëüòàò ê ÷åòâåðòîé ïåðåìåííîé, ïîäáëîêó òåêñòà è êîíñòàíòå. Ä àëåå ðåçóëüòàò öèêëè÷åñêè ñäâèãàåòñÿ âïðàâî íà ïåðåìåííîå ÷èñëî áèòîâ è äîáàâëÿåò ðåçóëüòàò ê îäíîé èç ïåð åìåííûõ a, b, c è d. Íàêîíåö ðåçóëüòàò çàìåíÿåò îäíó èç ïåðåìåííûõ a, b, c è d. Ñì. 13-é è 12-é. Ñóùåñòâóþò ÷åòûðå íåëèíåéíûõ ôóíêöèè, èñïîëüçóåìûå ïî îäíîé â êàæäîé îïåðàöèè (äëÿ êàæäîãî ýòàïà - äðóãàÿ ôóí êöèÿ).
Áëîê ñîîáùåíèÿ
A B Ñ D
Ýòàï 1
Ýòàï 2
Ýòàï 3
Ýòàï 4
A B Ñ D
Ðèñ. 18-5. Ãëàâíûé öèêë MD5.
Mj
=
ti
> ?
Íåëèíåéíàÿ ôóíêöèÿ
<<<S
@
Ðèñ. 18-6. Îäíà îïåðàöèÿ MD5. F(X,Y,Z) = (X ∧ Y) ∨ ((¬X) ∧ Z) G(X,Y,Z) = (X ∧ Z) ∨ (Y ∧ (¬Z)) H(X,Y,Z) = X ⊕ Y ⊕ Z I(X,Y,Z) = Y ⊕ (X ∨ (¬Z)) (⊕ - ýòî XOR, ∧ - AND, ∨ - OR, à ¬ - NOT.) Ýòè ôóíêöèè ñïðîåêòèðîâàíû òàê, ÷òîáû, åñëè ñîîòâåòñòâóþùèå áèòû X, Y è Z íåçàâèñèìû è íåñìåùåíû, êàæäûé áèò ðåçóëüòàòà òàêæå áûë áû íåçàâèñèìûì è íåñìåùåííûì . Ôóíêöèÿ F - ýòî ïîáèòîâîå óñëîâèå: åñëè X, òî Y, èíà÷å Z. Ôóíêöèÿ H - ïîáèòîâàÿ îïåðàöèÿ ÷åòíîñòè. Åñëè Mj îáîçíà÷àåò j-ûé ïîäáëîê ñîîáùåíèÿ (îò 0 äî 15), à <<<s îáîçíà÷àåò öèêëè÷åñêèé ñäâèã âëåâî íà s
áèòîâ, òî èñïîëüçóþòñÿ ñëåäóþùèå ÷åòûðå îïåðàöèè : FF(a,b,c,d,Mj,s,ti ) îçíà÷àåò a = b + ((a + F(b,c,d) + Mj + ti ) <<<s) GG(a,b,c,d,Mj,s,ti ) îçíà÷àåò a = b + ((a + G(b,c,d) + Mj + ti ) <<<s) HH(a,b,c,d,Mj,s,ti ) îçíà÷àåò a = b + ((a + H(b,c,d) + Mj + ti ) <<<s) II(a,b,c,d,Mj,s,ti ) îçíà÷àåò a = b + ((a + I(b,c,d) + Mj + ti ) <<<s) ×åòûðå ýòàïà (64 äåéñòâèÿ âûãëÿäÿò ñëåäóþùèì îáðàçîì) : Ýòàï 1: FF(a, b, c, d, M0, 7, 0xd76aa478) FF(d, a, b, c, M1, 12, 0xe8c7b756) FF(c, d, a, b, M2, 17, 0x242070db) FF(b, c, d, a, M3, 22, 0xc1bdceee) FF(a, b, c, d, M4, 7, 0xf57c0faf) FF(d, a, b, c, M5, 12, 0x4787c62a) FF(c, d, a, b, M6, 17, 0xa8304613) FF(b, c, d, a, M7, 22, 0xfd469501) FF(a, b, c, d, M8, 7, 0x698098d8) FF(d, a, b, c, M9, 12, 0x8b44f7af) FF(c, d, a, b, M10, 17, 0xffff5bb1) FF(b, c, d, a, M11, 22, 0x895cd7be) FF(a, b, c, d, M12, 7, 0x6b901122) FF(d, a, b, c, M13, 12, 0xfd987193) FF(c, d, a, b, M14, 17, 0xa679438e) FF(b, c, d, a, M15, 22, 0x49b40821) Ýòàï 2: GG(a, b, c, d, M1, 5, 0xf61e2562) GG(d, a, b, c, M6, 9, 0xc040b340) GG(c, d, a, b, M11, 14, 0x265e5a51) GG(b, c, d, a, M0, 20, 0xe9b6c7aa) GG(a, b, c, d, M5, 5, 0xd62fl05d) GG(d, a, b, c, M10, 9, 0x02441453) GG(c, d, a, b, M15, 14, 0xd8ale681) GG(b, c, d, a, M4, 20, 0xe7d3fbc8) GG(a, b, c, d, M9, 5, 0x2,lelcde6) GG(d, a, b, c, M14, 9, 0xc33707d6) GG(c, d, a, b, M3, 14, 0xf4d50d87) GG(b, c, d, a, M8, 20, 0x455al4ed) GG(a, b, c, d, M13, 5, 0xa9e3e905) GG(d, a, b, c, M2, 9, 0xfcefa3f8) GG(c, d, a, b, M7, 14, 0x676f02d9) GG(b, c, d, a, M12, 20, 0x8d2a4c8a) Ýòàï 3:
HH(a, b, c, d, M5, 4, 0xfffa3942) HH(d, a, b, c, M8, 11, 0x8771f681) HH(c, d, a, b, M11, 16, 0x6d9d6122) HH(b, c, d, a, M14, 23, 0xfde5380c) HH(a, b, c, d, M1, 4, 0xa4beea44) HH(d, a, b, c, M4, 11, 0x4bdecfa9) HH(c, d, a, b, M7, 16, 0xf6bb4b60) HH(b, c, d, a, M10, 23, 0xbebfbc70) HH(a, b, c, d, M13, 4, 0x289b7ec6) HH(d, a, b, c, M0, 11, 0xeaa127fa) HH(c, d, a, b, M3, 16, 0xd4ef3085) HH(b, c, d, a, M6, 23, 0x04881d05) HH(a, b, c, d, M9, 4, 0xd9d4d039) HH(d, a, b, c, M12, 11, 0xe6db99e5) HH(c, d, a, b, M15, 16, 0x1fa27cf8) HH(b, c, d, a, M2, 23, 0xc4ac5665) Ýòàï 4: II(a, b, c, d, M0, 6, 0xf4292244) II(d, a, b, c, M7, 10, 0x432aff97) II(c, d, a, b, M14, 15, 0xab9423a7) II(b, c, d, a, M5, 21, 0xfc93a039) II(a, b, c, d, M12, 6, 0x655b59c3) II(d, a, b, c, M3, 10, 0x8f0ccc92) II(c, d, a, b, M10, 15, 0xffeff47d) II(b, c, d, a, M1, 21, 0x85845ddl) II(a, b, c, d, M8, 6, 0x6fa87e4f) II(d, a, b, c, M15, 10, 0xfe2ce6e0) II(c, d, a, b, M6, 15, 0xa3014314) II(b, c, d, a, M13, 21, 0x4e081lal) II(a, b, c, d, M4, 6, 0xf7537e82) II(d, a, b, c, M11, 10, 0xbd3af235) II(c, d, a, b, M2, 15, 0x2ad7d2bb) II(b, c, d, a, M9, 21, 0xeb86d391) Ýòè êîíñòàíòû, ti , âûáèðàëèñü ñëåäóþùèì îáðàçîì : Íà i-îì ýòàïå ti ÿâëÿåòñÿ öåëîé ÷àñòüþ 232*abs(sin(i)), ãäå i èçìåðÿåòñÿ â ðàäèàíàõ. Ïîñëå âñåãî ýòîãî a, b, c è d äîáàâëÿþòñÿ ê A, B, C è D, ñîîòâåòñòâåííî, è àëãîðèòì ïðîäîëæàåòñÿ äëÿ ñë åäóþùåãî áëîêà äàííûõ. Îêîí÷àòåëüíûì ðåçóëüòàòîì ñëóæèò îáúåäèíåíèå A, B, C è D. Áåçîïàñíîñòü MD5 Ðîí Ðèâåñò ïðèâåë ñëåäóþùèå óëó÷øåíèÿ MD5 â ñðàâíåíèè ñ MD4 [1322]: 1. Äîáàâèëñÿ ÷åòâåðòûé ýòàï. 2. Òåïåðü â êàæäîì äåéñòâèè èñïîëüçóåòñÿ óíèêàëüíàÿ ïðèáàâëÿåìàÿ êîíñòàíòà .
3. Ôóíêöèÿ G íà ýòàïå 2 ñ ((X∧Y)∨(X∧Z)∨(Y∧Z)) áûëà èçìåíåíà íà (X∧Z)∨(Y∧(¬Z)), ÷òîáû ñäåëàòü G ìåíåå ñèììåòðè÷íîé. 4. Òåïåðü êàæäîå äåéñòâèå äîáàâëÿåòñÿ ê ðåçóëüòàòó ïðåäûäóùåãî ýòàïà . Ýòî îáåñïå÷èâàåò áîëåå áûñòðûé ëàâèííûé ýôôåêò. 5. Èçìåíèëñÿ ïîðÿäîê, â êîòîðîì èñïîëüçîâàëèñü ïîäáëîêè ñîîáùåíèÿ íà ýòàïàõ 2 è 3 , ÷òîáû ñäåëàòü øàáëîíû ìåíåå ïîõîæèìè. 6. Çíà÷åíèÿ öèêëè÷åñêîãî ñäâèãà âëåâî íà êàæäîì ýòàïå áûëè ïðèáëèæåííî îïòèìèçèðîâàíû äëÿ óñê îðåíèÿ ëàâèííîãî ýôôåêòà. ×åòûðå ñäâèãà, èñïîëüçóåìûå íà êàæäîì ýòàïå, îòëè÷àþòñÿ îò çíà÷åíèé, èñïîëüçóåìûõ íà äðóãèõ ýòàïàõ. Òîì Áåðñîí (Tom Berson) ïîïûòàëñÿ ïðèìåíèòü äèôôåðåíöèàëüíûé êðèïòîàíàëèç ê îäíîìó ýòàïó MD5 [144], íî åãî âñêðûòèå íå îêàçàëîñü ýôôåêòèâíûì íè äëÿ îäíîãî èç ÷åòûðåõ ýòàïîâ . Áîëåå óñïåøíîå âñêðûòèå äåí Áîåðà è Áîññåëàåðñà, èñïîëüçóþùåå ôóíêöèþ ñæàòèÿ, ïðèâåëî ê îáíàðóæåíèþ ñòîëêíîâåíèé â MD5 [203, 1331, 1336]. Ñàìî ïî ñåáå ýòî âñêðûòèå íåâîçìîæíî äëÿ âñêðûòèÿ MD5 â ïðàêòè÷åñêèõ ïðèëîæåíèÿõ, îíî íå âëèÿåò è íà èñïîëüçîâàíèå MD5 â àëãîðèòìàõ øèôðîâàíèÿ, ïîäîáíûõ Luby-Rackoff (ñì. ðàçäåë 14.11). Óñïåõ ýòîãî âñêðûòèÿ îçíà÷àåò òîëüêî, ÷òî îäíà èç îñíîâíûõ öåëåé ïðîåêòèðîâàíèÿ MD5- ñîçäàòü óñòîé÷èâóþ ê ñòîëêíîâåíèÿì ôóíêöèþ ñæàòèÿ - íå áûëà äîñòèãíóòà . Õîòÿ ñïðàâåäëèâî, ÷òî "êàæåòñÿ, ÷òî ó ôóíêöèè ñæàòèÿ åñòü ñëàáîå ìåñòî, íî ýòî ïðàêòè÷åñêè íå âëèÿåò íà áåçîïàñíîñòü õýø-ôóíêöèè " [1336], ÿ îòíîøóñü ê èñïîëüçîâàíèþ MD5 î÷åíü îñòîðîæíî.
18.6 MD2 MD2 - ýòî äðóãàÿ 128-áèòîâàÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ, ðàçðàáîòàííàÿ Ðîíîì Ðèâåñòîì [801, 1335]. Îíà, âìåñòå ñ MD5, èñïîëüçóåòñÿ â ïðîòîêîëàõ PEM (ñì. ðàçäåë 24.10). Áåçîïàñíîñòü MD2 îïèðàåòñÿ íà ñëó÷àéíóþ ïåðåñòàíîâêó áàéòîâ. Ýòà ïåðåñòàíîâêà ôèêñèðîâàíà è çàâèñèò îò ðàçðÿäîâ π. S0, S1, S2, . . . , S255 è ÿâëÿþòñÿ ïåðåñòàíîâêîé. ×òîáû âûïîëíèòü õýøèðîâàíèå ñîîáùåíèÿ M: (1) Äîïîëíèòå ñîîáùåíèå i áàéòàìè, çíà÷åíèå i äîëæíî áûòü òàêèì, ÷òîáû äëèíà ïîëó÷åííîãî ñîîáùåíèÿ á û-
ëà êðàòíà 16 áàéòàì.
(2) Äîáàâüòå ê ñîîáùåíèþ 16 áàéòîâ êîíòðîëüíîé ñóììû . (3) Ïðîèíèöèàëèçèðóéòå 48-áàéòîâûé áëîê : X0, X1, X2, . . ., X47. Çàïîëíèòå ïåðâûå 16 áàéòîâ X íóëÿìè, âî
âòîðûå 16 áàéòîâ X ñêîïèðóéòå ïåðâûå 16 áàéòîâ ñîîáùåíèÿ , à òðåòüè 16 áàéòîâ X äîëæíû áûòü ðàâíû XOR ïåðâûõ è âòîðûõ 16 áàéòîâ X.
(4) Âîò êàê âûãëÿäèò ôóíêöèÿ ñæàòèÿ :
t=0 For j = 0 to 17 For k = 0 to 47 t = Xt XOR St Xk = t t = (t + j) mod 256 (5) Ñêîïèðóéòå âî âòîðûå 16 áàéòîâ X âòîðûå 16 áàéòîâ ñîîáùåíèÿ, à òðåòüè 16 áàéòîâ X äîëæíû áûòü ðàâíû
XOR ïåðâûõ è âòîðûõ 16 áàéòîâ X. Âûïîëíèòå ýòàï (4). Ïîâòîðÿéòå ýòàïû (5) è (4) ïî î÷åðåäè äëÿ êà æäûõ 16 áàéòîâ ñîîáùåíèÿ.
(6) Âûõîäîì ÿâëÿþòñÿ ïåðâûå 16 áàéòîâ X.
Õîòÿ â MD2 ïîêà íå áûëî íàéäåíî ñëàáûõ ìåñò (ñì. [1262]), îíà ðàáîòàåò ìåäëåííåå áîëüøèíñòâà äðóãèõ ïðåäëàãàåìûõ õýø-ôóíêöèé.
18.7 Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ (Secure Hash Algorithm, SHA) NIST, âìåñòå ñ NSA, äëÿ Ñòàíäàðòà öèôðîâîé ïîäïèñè ( Digital Signature Standard, ñì. Ðàçäåë 20.2) ðàçðàáîòàë Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ ( Secure Hash Algorithm, SHA) [1154 (Digital Signature Standard]. (Ñàì ñòàíäàðò íàçûâàåòñÿ Ñòàíäàðò áåçîïàñíîãî õýøèðîâàíèÿ ( Secure Hash Standard, SHS), à SHA - ýòî àëãîðèòì, èñïîëüçóåìûé â ñòàíäàðòå.) Â ñîîòâåòñòâèè ñ Federal Register [539]: Ïðåäëàãàåòñÿ Ôåäåðàëüíûé ñòàíäàðò îáðàáîòêè èíôîðìàöèè (Federal Information Processing Standard , FIPS) äëÿ Ñòàíäàðòà áåçîïàñíîãî õýøèðîâàíèÿ (Secure Hash Standard, SHS). Ýòîò ïðåäëîæåíèå îïðåäåëÿåò Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ (Secure Hash Algorithm, SHA) äëÿ èñïîëüçîâàíèÿ âìåñòå ñî Ñòàíäàðòîì öèôðîâîé ïîäïèñè ( Digital Signature Standard) . . ..
Êðîìå òîãî, äëÿ ïðèëîæåíèé, â êîòîðûõ íå òðåáóåòñÿ öèôðîâàÿ ïîäïèñü , SHA äîëæåí èñïîëüçîâàòüñÿ âî âñåõ Ôåäåðàëüíûõ ïðèëîæåíèÿõ, â êîòîðûõ ïîíàäîáèòñÿ àëãîðèòì áåç îïàñíîãî õýøèðîâàíèÿ.
È Ýòîò Ñòàíäàðò îïðåäåëÿåò Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ ( Secure Hash Algorithm, SHA), íåîáõîäèìûé äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè Àëãîðèòìà öèôðîâîé ïîäïèñè ( Digital Signature Algorithm, DSA). Äëÿ ëþáîãî âõîäíîãî ñîîáùåíèÿ äë èíîé ìåíüøå 2 64 áèòîâ SHA âûäàåò 160-áèòîâûé ðåçóëüòàò, íàçûâàåìûé êðàòêèì ñîäåðæàíèåì ñîîáùåíèÿ . Äàëåå, êðàòêîå ñîäåðæàíèå ñîîáùåíèÿ ñòàíîâèòñÿ âõîäîì DSA, êîòîðûé âû÷èñëÿåò ïîäïèñü äëÿ ñîîáùåíèÿ . Ïîäïèñûâàíèå êðàòêîãî ñîäåðæ àíèÿ âìåñòî âñåãî ñîîáùåíèÿ ÷àñòî ïîâûøàåò ýôôåêòèâíîñòü ïðîöåññà, òàê êàê êðàòêîå ñîäåðæàíèå ñîîáùåíèÿ íàìíîãî ìåíüøå, ÷åì ñàìî ñîîáùåíèå. Òî æå êðàòêîå ñîäåðæàíèå ñîîáùåíèÿ äîëæíî áûòü ïîëó÷åíî òåì, êòî ïðîâåðÿåò ïîäïèñü, åñëè ïðèíÿòàÿ èì âåðñèÿ ñîîáùåíèÿ èñïîëüçóåòñÿ â êà÷åñòâå âõîäà SHA. SHA íàçûâàåòñÿ áåçîïàñíûì, òàê êàê îí ðàçðàáîòàí òàê, ÷òîáû áûëî âû÷èñëèòåëüíî íåâîçìîæíî íàéòè ñîîáùåíèå, ñîîòâåòñòâóþùåå äàííîìó êðàòêîìó ñîäåðæàíèþ ñîîáùåíèÿ èëè íàéòè äâà ðàçëè÷íûõ ñîîáùåíèÿ ñ îäèíàêîâûì êðàòêèì ñîäåðæàíèåì ñîîáùåíèÿ . Ëþáûå èçìåíåíèÿ, ïðîèçîøåäøèå ïðè ï åðåäà÷å ñîîáùåíèÿ, ñ î÷åíü âûñîêîé âåðîÿòíîñòüþ ïðèâåäóò ê èçìåíåíèþ êðàòêîãî ñîäåðæàíèÿ ñîîáùåíèÿ, è ïîäïèñü íå ïðîéäåò ïðîâåðêó. Ïðèíöèïû, ëåæàùèå â îñíîâå SHA, àíàëîãè÷íû èñïîëüçîâàííûì ïðîôåññîðîì Ðîíàëüäîì Ë. Ðèâåñòîì èç MIT ïðè ïðîåêòèðîâàíèè àëãîðèòìà êðàòêîãî ñîäåðæàíèÿ ñîîáùåíèÿ MD4 [1319]. SHA ðàçðàáîòàí ïî îáðàçöó óïîìÿíóòîãî àëãîðèòìà.
SHA âûäàåò 160-áèòîâîå õýø-çíà÷åíèå, áîëåå äëèííîå, ÷åì ó MD5. Îïèñàíèå SHA Âî ïåðâûõ, ñîîáùåíèå äîïîëíÿåòñÿ, ÷òîáû åãî äëèíà áûëà êðàòíîé 512 áèòàì . Èñïîëüçóåòñÿ òî æå äîïîëíåíèå, ÷òî è â MD5: ñíà÷àëà äîáàâëÿåòñÿ 1, à çàòåì íóëè òàê, ÷òîáû äëèíà ïîëó÷åííîãî ñîîáùåíèÿ áûëà íà 64 áèòà ìåíüøå ÷èñëà, êðàòíîãî 512 , à çàòåì äîáàâëÿåòñÿ 64-áèòîâîå ïðåäñòàâëåíèå äëèíû îðèãèíàëüíîãî ñîîáù åíèÿ. Èíèöèàëèçèðóþòñÿ ïÿòü 32-áèòîâûõ ïåðåìåííûõ (â MD5 èñïîëüçóåòñÿ ÷åòûðå ïåðåìåííûõ, íî ðàññìàòð èâàåìûé àëãîðèòì äîëæåí âûäàâàòü 160-áèòîâîå õýø-çíà÷åíèå ): A = 0x67452301 B = 0xefcdab89 C = 0x98badcfe D = 0x10325476 E = 0xc3d2e1fO Çàòåì íà÷èíàåòñÿ ãëàâíûé öèêë àëãîðèòìà . Îí îáðàáàòûâàåò ñîîáùåíèå 512-áèòîâûìè áëîêàìè è ïðîäî ëæàåòñÿ, ïîêà íå èñ÷åðïàþòñÿ âñå áëîêè ñîîáùåíèÿ . Ñíà÷àëà ïÿòü ïåðåìåííûõ êîïèðóþòñÿ â äðóãèå ïåðåìåííûå : A â a, B â b, C â c, D â d è E â e. Ãëàâíûé öèêë ñîñòîèò èç ÷åòûðåõ ýòàïîâ ïî 20 îïåðàöèé â êàæäîì (â MD5 ÷åòûðå ýòàïà ïî 16 îïåðàöèé â êàæäîì). Êàæäàÿ îïåðàöèÿ ïðåäñòàâëÿåò ñîáîé íåëèíåéíóþ ôóíêöèþ íàä òðåìÿ èç a, b, c, d è e, à çàòåì âûïîëíÿåò ñäâèã è ñëîæåíèå àíàëîãè÷íî MD5.  SHA èñïîëüçóåòñÿ ñëåäóþùèé íàáîð íåëèíåéíûõ ôóíêöèé : ft(X,Y,Z) = (X ∧ Y) ∨ ((¬X) ∧ Z) , äëÿ t=0 äî 19 ft(X,Y,Z) = X ⊕ Y ⊕ Z , äëÿ t=20 äî 39 ft(X,Y,Z) = (X ∧ Y) ∨(X ∧ Z) ∨ (Y ∧ Z) , äëÿ t=40 äî 59 ft(X,Y,Z) = X ⊕ Y ⊕ Z , äëÿ t=60 äî 79 â àëãîðèòìå èñïîëüçóþòñÿ ñëåäóþùèå ÷åòûðå êîíñòàíòû: Kt = 0x5a827999, äëÿ t=0 äî 19 Kt = 0x6ed9eba1 , äëÿ t=20 äî 39 Kt = 0x8flbbcdc, äëÿ t=40 äî 59 Kt = 0xca62c1d6, äëÿ t=60 äî 79 (Åñëè èíòåðåñíî, êàê ïîëó÷åíû ýòè ÷èñëà, òî :0x5a827999 = 2 1/2/4, 0x6ed9eba1 = 31/2/4, 0x8flbbcdc = 51/2/4, 0xca62c1d6 = 101/2/4.) Áëîê ñîîáùåíèÿ ïðåâðàùàåòñÿ èç 16 32-áèòîâûõ ñëîâ (M0 ïî M15) â 80 32-áèòîâûõ ñëîâ (W0 ïî W79) ñ ïîìîùüþ ñëåäóþùåãî àëãîðèòìà: Wt = Mt , äëÿ t = 0 ïî 15 Wt = (Wt-3 ⊕ Wt-8 ⊕ Wt-14 ⊕ Wt-16) <<< 1, äëÿ t = 16 ïî 79 ( êà÷åñòâå èíòåðåñíîãî çàìå÷àíèÿ , â ïåðâîíà÷àëüíîé ñïåöèôèêàöèè SHA íå áûëî öèêëè÷åñêîãî ñäâèãà âë å-
âî. Èçìåíåíèå "èñïðàâëÿåò òåõíè÷åñêèé èçúÿí, êîòîðûé äåëàë ñòàíäàðò ìåíåå áåçîïàñíûì, ÷åì ïðåäïîëàãàëîñü " 1543]. NSA îòêàçàëîñü óòî÷íèòü èñòèííóþ ïðè÷èíó èçúÿíà.) Åñëè t - ýòî íîìåð îïåðàöèè (îò 1 äî 80), Wt ïðåäñòàâëÿåò ñîáîé t-ûé ïîäáëîê ðàñøèðåííîãî ñîîáùåíèÿ, à <<<s - ýòî öèêëè÷åñêèé ñäâèã âëåâî íà s áèòîâ, òî ãëàâíûé öèêë âûãëÿäèò ñëåäóþùèì îáðàçîì : FOR t = 0 to 79 TEMP = (a <<< 5) + ft(b,c,d) + e + Wt + Kt e=d d=c c = b <<< 30 b=a a = TEMP Íà 11-é ïîêàçàíà îäíà îïåðàöèÿ. Ñäâèã ïåðåìåííûõ âûïîëíÿåò òó æå ôóíêöèþ, êîòîðóþ â MD5 âûïîëíÿåò èñïîëüçîâàíèå â ðàçëè÷íûõ ìåñòàõ ðàçëè÷íûõ ïåðåìåííûõ . Wj
Kt
=E-1
=E
>E-1
>E
?E-1
Íåëèíåéíàÿ ôóíêöèÿ
<<<30
@E-1 AE-1
?E
<<<5
@E AE
Ðèñ. 18-7. Îäíà îïåðàöèÿ SHA. Ïîñëå âñåãî ýòîãî a, b, c, d è e äîáàâëÿþòñÿ ê A, B, C D è E, ñîîòâåòñòâåííî, è àëãîðèòì ïðîäîëæàåòñÿ äëÿ ñëåäóþùåãî áëîêà äàííûõ. Îêîí÷àòåëüíûì ðåçóëüòàòîì ñëóæèò îáúåäèíåíèå A, B, C D è E. Áåçîïàñíîñòü SHA SHA î÷åíü ïîõîæà íà MD4, íî âûäàåò 160-áèòîâîå õýø-çíà÷åíèå. Ãëàâíûì èçìåíåíèåì ÿâëÿåòñÿ ââåäåíèå ðàñøèðÿþùåãî ïðåîáðàçîâàíèÿ è äîáàâëåíèå âûõîäà ïðåäûäóùåãî øàãà â ñëåäóþùèé ñ öåëüþ ïîëó÷åíèÿ áîëåå áûñòðîãî ëàâèííîãî ýôôåêòà. Ðîí Ðèâåñò îïóáëèêîâàë öåëè, ïðåñëåäóåìûå èì ïðè ïðîåêòèðîâàíèè MD5, íî ðàçðàáîò÷èêè SHA ýòîãî íå ñäåëàëè. Âîò óëó÷øåíèÿ, âíåñåííûå Ðèâåñòîì â MD5 îòíîñèòåëüíî MD4, è èõ ñðàâíåíèå ñ SHA: 1. "Äîáàâèëñÿ ÷åòâåðòûé ýòàï."  SHA òîæå. Îäíàêî â SHA íà ÷åòâåðòîì ýòàïå èñïîëüçóåòñÿ òà æå ôóíêöèÿ f, ÷òî è íà âòîðîì ýòàïå. 2. "Òåïåðü â êàæäîì äåéñòâèè èñïîëüçóåòñÿ óíèêàëüíàÿ ïðèáàâëÿåìàÿ êîíñòàíòà ." SHA ïðèäåðæèâàåòñÿ ñõåìû MD4, ïîâòîðíî èñïîëüçóÿ êîíñòàíòû äëÿ êàæäîé ãðóïïû èõ 20 ýòàïîâ. 3. "Ôóíêöèÿ G íà ýòàïå 2 ñ ((X∧Y)∨(X∧Z)∨(Y∧Z)) áûëà èçìåíåíà íà (X∧Z)∨(Y∧(¬Z)), ÷òîáû ñäåëàòü G ìåíåå ñèììåòðè÷íîé."  SHA èñïîëüçóåòñÿ âåðñèÿ ôóíêöèè èç MD4: (X ∧ Y) ∨(X ∧ Z) ∨ (Y ∧ Z). 4. "Òåïåðü êàæäîå äåéñòâèå äîáàâëÿåòñÿ ê ðåçóëüòàòó ïðåäûäóùåãî ýòàïà . Ýòî îáåñïå÷èâàåò áîëåå áûñòðûé ëàâèííûé ýôôåêò." Ýòî èçìåíåíèå áûëî âíåñåíî è â SHA. Îòëè÷èå ñîñòîèò â òîì, ÷òî â SHA äîáàâëåíà ïÿòàÿ ïåðåìåííàÿ ê b, c è d, êîòîðûå óæå èñïîëüçóþòñÿ â ft. Ýòî íåçíà÷èòåëüíîå èçìåíåíèå äåëàåò ïðèìåíåíèÿ âñêðûòèÿ MD5 äåí Áîåðîì è Áîññåëàåðñîì íåâîçìîæíûì ïî îòíîøåíèþ ê SHA. 5. "Èçìåíèëñÿ ïîðÿäîê, â êîòîðîì èñïîëüçîâàëèñü ïîäáëîêè ñîîáùåíèÿ íà ýòàïàõ 2 è 3 , ÷òîáû ñäåëàòü
øàáëîíû ìåíåå ïîõîæèìè." SHA â ýòîì ìåñòå ñîâåðøåííî îòëè÷àåòñÿ, òàê êàê èñïîëüçóåò öèêëè÷ åñêèé êîä èñïðàâëåíèÿ îøèáîê. 6. "Çíà÷åíèÿ öèêëè÷åñêîãî ñäâèãà âëåâî íà êàæäîì ýòàïå áûëè ïðèáëèæåííî îïòèìèçèðîâàíû äëÿ óñê îðåíèÿ ëàâèííîãî ýôôåêòà. ×åòûðå ñäâèãà, èñïîëüçóåìûå íà êàæäîì ýòàïå, îòëè÷àþòñÿ îò çíà÷åíèé, èñïîëüçóåìûõ íà äðóãèõ ýòàïàõ." SHA íà êàæäîì ýòàïå èñïîëüçóåò ïîñòîÿííîå çíà÷åíèå ñäâèãà. Ýòî çíà÷åíèå - âçàèìíî ïðîñòîå ÷èñëî ñ ðàçìåðîì ñëîâà, êàê è â MD4. Ýòî ïðèâîäèò ê ñëåäóþùåìó çàêëþ÷åíèþ : SHA - ýòî MD4 ñ äîáàâëåíèåì ðàñøèðÿþùåãî ïðåîáðàçîâàíèÿ, äîïîëíèòåëüíîãî ýòàïà è óëó÷øåííûì ëàâèííûì ýôôåêòîì. MD5 - ýòî MD4 ñ óëó÷øåííûì áèòîâûì õýøèðîâ àíèåì, äîïîëíèòåëüíûì ýòàïîì è óëó÷øåííûì ëàâèííûì ýôôåêòîì . Ñâåäåíèÿ îá óñïåøíûõ êðèïòîãðàôè÷åñêèõ âñêðûòèÿõ SHA îòñóòñòâóþò. Òàê êàê ýòà îäíîíàïðàâëåííàÿ õýøôóíêöèÿ âûäàåò 160-õýø-çíà÷åíèå, îíà óñòîé÷èâåå ê âñêðûòèþ ãðóáîé ñèëîé (âêëþ÷àÿ âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ), ÷åì 128-áèòîâûå õýø-ôóíêöèè, ðàññìàòðèâàåìûå â ýòîé ãëàâå .
18.8 RIPE-MD RIPE-MD áûëà ðàçðàáîòàíà äëÿ ïðîåêòà RIPE Åâðîïåéñêîãî ñîîáùåñòâà [1305] (ñì. ðàçäåë 25.7). Ýòîò àëãîðèòì ïðåäñòàâëÿåò ñîáîé âàðèàíò MD4, ðàçðàáîòàííûé òàê, ÷òîáû ïðîòèâîñòîÿòü èçâåñòíûì ìåòîäàì êðèïò îãðàôè÷åñêîãî âñêðûòèÿ, è âûäàåò 128-áèòîâîå õýø-çíà÷åíèå . Âíåñåíû èçìåíåíèÿ â öèêëè÷åñêèå ñäâèãè è ïîð ÿäîê ñëîâ ñîîáùåíèÿ. Êðîìå òîãî, ïàðàëëåëüíî ðàáîòàþò äâå êîïèè àëãîðèòìà, îòëè÷àþùèåñÿ êîíñòàíòàìè . Ïîñëå êàæäîãî áëîêà ðåçóëüòàò îáîèõ êîïèé äîáàâëÿåòñÿ ê ïåðåìåííûì ñöåïëåíèÿ . Ïî âèäèìîìó, ýòî ïîâûøàåò óñòîé÷èâîñòü àëãîðèòìà ê êðèïòîàíàëèçó .
18.9 HAVAL HAVAL - ýòî îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ ïåðåìåííîé äëèíû [1646]. Îíà ÿâëÿåòñÿ ìîäèôèêàöèåé MD5. HAVAL îáðàáàòûâàåò ñîîáùåíèå áëîêàìè ïî 1024 áèòà, â äâà ðàçà áîëüøèìè, ÷åì â MD5. Èñïîëüçóåòñÿ âîñåìü 32-áèòîâûõ ïåðåìåííûõ ñöåïëåíèÿ , â äâà ðàçà áîëüøå, ÷åì â MD5, è ïåðåìåííîå ÷èñëî ýòàïîâ, îò òðåõ äî ïÿòè (â êàæäîì 16 äåéñòâèé). Ôóíêöèÿ ìîæåò âûäàâàòü õýø-çíà÷åíèÿ äëèíîé 128, 160, 192, 224 èëè 256 áèòîâ. HAVAL çàìåíÿåò ïðîñòûå íåëèíåéíûå ôóíêöèè MD5 íà ñèëüíî íåëèíåéíûå ôóíêöèè 7 ïåðåìåííûõ , êàæäàÿ èç êîòîðûõ óäîâëåòâîðÿåò ñòðîãîìó ëàâèííîìó êðèòåðèþ . Íà êàæäîì ýòàïå èñïîëüçóåòñÿ îäíà ôóíêöèÿ, íî ïðè êàæäîì äåéñòâèè âõîäíûå ïåðåìåííûå ïåðåñòàâëÿþòñÿ ðàçëè÷íûì îáðàçîì . Èñïîëüçóåòñÿ íîâûé ïîðÿäîê ñîîáùåíèÿ, è ïðè êàæäîì ýòàïå (êðîìå ïåðâîãî ýòàïà) èñïîëüçóåòñÿ ñâîÿ ïðèáàâëÿåìàÿ êîíñòàíòà .  àëãîðèòìå òàêæå èñïîëüçóåòñÿ äâà öèêëè÷åñêèõ ñäâèãà . ßäðîì àëãîðèòìà ÿâëÿþòñÿ ñëåäóþùèå äåéñòâèÿ: TEMP = (f(j,A,B,C,D,E,F,G) <<<7) + (H <<<11) + M[i][r(j)+K(j)] H = G; G = F; F = E; E = D; D = C; C = B; B = A; A = TEMP Ïåðåìåííîå êîëè÷åñòâî ýòàïîâ è ïåðåìåííàÿ äëèíà âûäàâàåìîãî çíà÷åíèÿ îçíà÷àþò, ÷òî ñóùåñòâóåò 15 âå ðñèé àëãîðèòìà. Âñêðûòèå MD5, âûïîëíåííîå äåí Áîåðîì è Áîññåëàåðñîì [203], íåïðèìåíèìî ê HAVAL èç-çà öèêëè÷åñêîãî ñäâèãà H.
18.10 Äðóãèå îäíîíàïðàâëåííûå õýø-ôóíêöèè MD3 ÿâëÿåòñÿ åùå îäíîé õýø-ôóíêöèåé, ïðåäëîæåííîé Ðîíîì Ðèâåñòîì . Îíà èìåëà ðÿä íåäîñòàòêîâ è íèê îãäà íå âûõîäèëà çà ïðåäåëû ëàáîðàòîðèè, õîòÿ åå îïèñàíèå íåäàâíî áûëî îïóáëèêîâàíî â [1335]. Ãðóïïà èññëåäîâàòåëåé èç Óíèâåðñèòåòà Âàòåðëîî ïðåäëîæèëà îäíîíàïðàâëåííóþ õýø-ôóíêöèþ íà áàçå èòåðàòèâíîãî âîçâåäåíèÿ â ñòåïåíü â GF(2593) [22]. Ïî ýòîé ñõåìå ñîîáùåíèå ðàçáèâàåòñÿ íà 593-áèòîâûå áëîêè. Íà÷èíàÿ ñ ïåðâîãî áëîêà áëîêè ïîñëåäîâàòåëüíî âîçâîäÿòñÿ â ñòåïåíü . Ïîêàçàòåëü ñòåïåíè - ýòî ðåçóëüòàò â û÷èñëåíèé äëÿ ïðåäûäóùåãî áëîêà, ïåðâûé ïîêàçàòåëü çàäàåòñÿ ñ ïîìîùüþ IV. Àéâýí Äàìãàðä (Ivan Damgård) ðàçðàáîòàë îäíîíàïðàâëåííóþ õýø-ôóíêöèþ, îñíîâàííóþ íà ïðîáëåìå ðþ êçàêà (ñì. ðàçäåë 19.2) [414], îíà ìîæåò áûòü âçëîìàíà ïðèìåðíî çà 2 32 îïåðàöèé [290, 1232, 787].  êà÷åñòâå îñíîâû äëÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé ïðåäëàãàëñÿ è êëåòî÷íûé àâòîìàò Ñòèâà Âîëüôðàìà [1608]. Ðàííÿÿ ðåàëèçàöèÿ [414] íåáåçîïàñíà [1052,404]. Äðóãàÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ , Cellhash [384, 404], è óëó÷øåííàÿ âåðñèÿ, Subbash [384,402, 405], òàêæå îñíîâàíû íà êëåòî÷íûõ àâòîìàòàõ è ïðåäíàçíà÷åíû äëÿ àïïàðàòíîé ðåàëèçàöèè. Boognish îáúåäèíèë ïðèíöèïû Cellhash è MD4 [402, 407]. StepRightUp òàêæå ìîæåò áûòü ðåàëèçîâàíà êàê õýø-ôóíêöèÿ [402]. Ëåòîì 1991 ãîäà Êëàóñ Øíîðð ( Claus Schnorr) ïðåäëîæèë îäíîíàïðàâëåííóþ õýø-ôóíêöèþ íà áàçå äèñ-
êðåòíîãî ïðåîáðàçîâàíèÿ Ôóðüå, íàçâàííóþ FFT-Hash [1399]. ×åðåç íåñêîëüêî ìåñÿöåâ îíà áûëà âçëîìàíà äâ óìÿ íåçàâèñèìûìè ãðóïïàìè [403, 84]. Øíîðð ïðåäëîæèë íîâóþ âåðñèþ, FFT-Hash II (ïðåäûäóùàÿ áûëà ïåðåèìåíîâàíà â FFT-Hash I) [1400], êîòîðàÿ áûëà âçëîìàíà ÷åðåç íåñêîëüêî íåäåëü [1567]. Øíîðð ïðåäëîæèë äàëüíåéøèå ìîäèôèêàöèè [1402, 1403] íî, ïðè äàííûõ îáñòîÿòåëüñòâàõ, îíè íàìíîãî ìåäëåííåå, ÷åì äðóãèå àëãîðèòìû ýòîé ãëàâû. Åùå îäíà õýø-ôóíêöèÿ, SL2 [1526], íåáåçîïàñíà [315]. Äîïîëíèòåëüíóþ èíôîðìàöèþ ïî òåîðèè ïðîåêòèðîâàíèÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé èç îäíîíàïðà âëåííûõ ôóíêöèé è îäíîíàïðàâëåííûõ ïåðåñòàíîâîê ìîæíî íàéòè â [412, 1138, 1342].
18.11 Îäíîíàïðàâëåííûå õýø-ôóíêöèè, èñïîëüçóþùèå ñèììåòðè÷íûå áëî÷íûå àëãîðèòìû  êà÷åñòâå îäíîíàïðàâëåííûõ õýø-ôóíêöèé ìîæíî èñïîëüçîâàòü ñèììåòðè÷íûå áëî÷íûå àëãîðèòìû øè ôðîâàíèÿ. Èäåÿ â òîì, ÷òî åñëè áåçîïàñåí áëî÷íûé àëãîðèòì, òî è îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ áóäåò áåç îïàñíîé. Ñàìûì î÷åâèäíûì ñïîñîáîì ÿâëÿåòñÿ øèôðîâàíèå ñîîáùåíèÿ â ðåæèìå CBC èëè CFB ñ ïîìîùüþ ôèêñèðîâàííîãî êëþ÷à è IV, õýø-çíà÷åíèåì áóäåò ïîñëåäíèé áëîê øèôðîòåêñòà . Ýòè ìåòîäû îïèñàíû â ðàçëè÷íûõ ñòàíäàðòàõ, èñïîëüçóþùèõ DES: îáà ðåæèìà â [1143], CBC â [1145], CFB â [55, 56, 54]. Ýòîò ñïîñîá íå ñëèøêîì ïîäõîäèò äëÿ îäíîíàïðàâëåííûõ õýø-ôóíêöèé , õîòÿ îí áóäåò ðàáîòàòü äëÿ MAC (ñì. ðàçäåë 18.14) [29]. Ñïîñîá ïîóìíåå èñïîëüçóåò â êà÷åñòâå êëþ÷à áëîê ñîîáùåíèÿ , ïðåäûäóùåå õýø-çíà÷åíèå â êà÷åñòâå âõîäà, à òåêóùåå õýø-çíà÷åíèå ñëóæèò âûõîäîì . Äåéñòâèòåëüíûå õýø-ôóíêöèè äàæå åùå ñëîæíåå. Ðàçìåð áëîêà îáû÷íî ñîâïàäàåò ñ äëèíîé êëþ÷à, è ðàçì åðîì õýø-çíà÷åíèÿ áóäåò äëèíà áëîêà . Òàê êàê áîëüøèíñòâî áëî÷íûõ àëãîðèòìîâ 64-áèòîâûå , ñïðîåêòèðîâàí ðÿä ñõåì, äàþùèõ õýø-çíà÷åíèå â äâà ðàçà áîëüøåå äëèíû áëîêà . Ïðè óñëîâèè, ÷òî õýø-ôóíêöèÿ ïðàâèëüíà , áåçîïàñíîñòü ýòîé ñõåìû îñíîâàíà íà áåçîïàñíîñòè èñïîëüçóåìîé áëî÷íîé ôóíêöèè. Îäíàêî åñòü è èñêëþ÷åíèÿ. Äèôôåðåíöèàëüíûé êðèïòîàíàëèç ëó÷øå ðàáîòàåò ïðîòèâ áëî ÷íûõ ôóíêöèé â õýø-ôóíêöèÿõ, ÷åì ïðîòèâ áëî÷íûõ ôóíêöèé, èñïîëüçóåìûõ äëÿ øèôðîâàíèÿ : êëþ÷ èçâåñòåí, ïîýòîìó ìîæíî èñïîëüçîâàòü ðàçëè÷íûå ïðèåìû. Äëÿ óñïåõà íóæíà òîëüêî îäíà ïðàâèëüíàÿ ïàðà, è ìîæíî ã åíåðèðîâàòü ñòîëüêî âûáðàííîãî îòêðûòîãî òåêñòà, ñêîëüêî íóæíî . Ýòî íàïðàâëåíèå îñâåùàåòñÿ â [1263, 858, 1313]. Íèæå ïðèâåäåí îáçîð ðàçëè÷íûõ õýø-ôóíêöèé, îïèñàííûõ â ëèòåðàòóðå [925, 1465, 1262]. Âûâîäû î âîçìîæíîñòè âñêðûòèÿ ïðåäïîëàãàþò, ÷òî èñïîëüçóåìûé áëî÷íûé àëãîðèòì áåçîïàñåí, è ëó÷øèì âñêðûòèåì ÿâë ÿåòñÿ âñêðûòèå ãðóáîé ñèëîé. Ïîëåçíîé ìåðîé äëÿ õýø-ôóíêöèé, îñíîâàííûõ íà áëî÷íûõ øèôðàõ, ÿâëÿåòñÿ ñêîðîñòü õýøèðîâàíèÿ, èëè êîëè÷åñòâî n-áèòîâûõ áëîêîâ ñîîáùåíèÿ (n - ýòî ðàçìåð áëîêà àëãîðèòìà), îáðàáàòûâàåìûõ ïðè øèôðîâàíèè . ×åì âûøå ñêîðîñòü õýøèðîâàíèÿ, òåì áûñòðåå àëãîðèòì . (Äðóãîå îïðåäåëåíèå ýòîãî ïàðàìåòðà äàåòñÿ â [1262], íî îïðåäåëåíèå, ïðèâåäåííîå ìíîé, áîëåå èíòóèòèâíî è øèðå èñïîëüçóåòñÿ . Ýòî ìîæåò çàïóòàòü.) Ñõåìû, â êîòîðûõ äëèíà õýø-çíà÷åíèÿ ðàâíà äëèíå áëîêà Âîò îáùàÿ ñõåìà (ñì. 10-é): H0 = IH, , ãäå IH - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Hi = EA(B) ⊕ C ãäå A, B è C ìîãóò áûòü ëèáî Mi , Hi-1, (Mi ⊕ Hi-1), ëèáî êîíñòàíòû (âîçìîæíî ðàâíûå 0). H0 - ýòî íåêîòîðîå ñëó÷àéíîå íà÷àëüíîå ÷èñëî IH. Ñîîáùåíèå ðàçáèâàåòñÿ íà ÷àñòè â ñîîòâåòñòâèè ñ ðàçìåðîì áëîêà , Mi , îáðàáàòûâàåìûå îòäåëüíî. Êðîìå òîãî, èñïîëüçóåòñÿ âàðèàíò MD-óñèëåíèÿ, âîçìîæíî òà æå ïðîöåäóðà äîïîëíåíèÿ, ÷òî è â MD5 è SHA. A B
C Êëþ÷ Øèôðîâàíèå
Ðèñ. 18-8. Îáîáùåííàÿ õýø-ôóíêöèÿ, ó êîòîðîé äëèíà õýø-çíà÷åíèÿ ðàâíà äëèíå áëîêà. Òàáë. 18-1. Áåçîïàñíûå õýø-ôóíêöèè, ó êîòîðûõ
äëèíà õýø-çíà÷åíèÿ ðàâíà äëèíå áëîêà Hi = E Hi −1 ( M i ) ⊕ M i H i = E Hi − 1 ( M i ⊕ Hi −1 ) ⊕ M i ⊕ H i −1 H i = E H i − 1 ( M i ) ⊕ H i −1 ⊕ M i H i = E H i − 1 ( M i ⊕ H i −1 ) ⊕ M i Hi = E Mi ( Hi −1 ) ⊕ Hi −1 Hi = E M i ( Mi ⊕ Hi −1 ) ⊕ M i ⊕ Hi −1 Hi = E M i ( Hi −1 ) ⊕ Mi ⊕ Hi −1 Hi = E M i ( Mi ⊕ Hi −1 ) ⊕ Hi −1 Hi = E M i ⊕ Hi −1 ( Mi ) ⊕ M i Hi = E M i ⊕ Hi −1 ( Hi −1 ) ⊕ Hi −1 Hi = E M i ⊕ Hi −1 ( M i ) ⊕ Hi −1 Hi = E M i ⊕ Hi −1 ( Hi −1 ) ⊕ M i
Òðè ðàçëè÷íûå ïåðåìåííûå ìîãóò ïðèíèìàòü îäíî èç ÷åòûðåõ âîçìîæíûõ çíà÷åíèé, ïîýòîìó âñåãî ñóùåñ òâóåò 64 âàðèàíòà ñõåì ýòîãî òèïà . Îíè âñå áûëè èçó÷åíû Áàðòîì Ïðåíåëîì ( Bart Preneel) [1262]. Ïÿòíàäöàòü èç íèõ òðèâèàëüíî ñëàáû, òàê êàê ðåçóëüòàò íå çàâèñèò îò îäíîãî èç âõîäîâ . Òðèäöàòü ñåìü íåáåçîïàñíû ïî áîëåå òîíêèì ïðè÷èíàì .  17-é ïåðå÷èñëåíû îñòàâøèåñÿ 12 áåçîïàñíûõ ñõåì : ïåðâûå ÷åòûðå áåçîïàñíû ïðîòèâ âñåõ âñêðûòèé (ñì. 9th), à ïîñëåäíèå 8 áåçîïàñíû ïðîòèâ âñåõ òèïîâ âñêðûòèé, êðîìå âñêð ûòèÿ ñ ôèêñèðîâàííîé òî÷êîé, î êîòîðîì â ðåàëüíûõ óñëîâèÿõ íå ñòîèò áåñïîêîèòüñÿ . Mi Hi-1
Hi-1 Êëþ÷ Øèôðîâàíèå
Hi
Hi-1 Mi
Mi
Êëþ÷ Øèôðîâàíèå
Hi
Êëþ÷ Øèôðîâàíèå
Hi
Hi-1 Êëþ÷ Øèôðîâàíèå
Hi
Mi
Ðèñ. 18-9. ×åòûðå áåçîïàñíûõ õýø-ôóíêöèè, ó êîòîðûõ äëèíà õýø-çíà÷åíèÿ ðàâíà äëèíå áëîêà. Ïåðâàÿ ñõåìà áûëà îïèñàíà â [1028]. Òðåòüÿ ñõåìà áûëà îïèñàíà â [1555, 1105, 1106] è ïðåäëàãàëàñü â êà÷åñòâå ñòàíäàðòà ISO [766]. Ïÿòàÿ ñõåìà áûëà ïðåäëîæåíà Êàðëîì Ìàéåðîì (Carl Meyer), íî â ëèòåðàòóðå îáû÷íî íàçûâàåòñÿ Davies-Meyer [1606, 1607, 434, 1028]. Äåñÿòàÿ ñõåìà áûëà ïðåäëîæåíà â êà÷åñòâå ðåæèìà õýøôóíêöèè äëÿ LOKI [273]. Ñêîðîñòü õýøèðîâàíèÿ ïåðâîé, âòîðîé, òðåòüåé, ÷åòâåðòîé, ïÿòîé è îäèííàäöàòîé ñõåì ðàâíà 1 - äëèíà êë þ÷à ðàâíà äëèíå áëîêà. Ñêîðîñòü õýøèðîâàíèÿ äðóãèõ ñõåì ñîñòàâëÿåò k/n, ãäå k -äëèíà êëþ÷à. Ýòî îçíà÷àåò, ÷òî åñëè äëèíà êëþ÷à êîðî÷å äëèíû áëîêà, òî áëîê ñîîáùåíèÿ äîëæåí áûòü ïî äëèíå ðàâåí êëþ÷ó . Íå ðåêîìåíäóåòñÿ, ÷òîáû áëîê ñîîáùåíèÿ áûë äëèííåå êëþ÷à, äàæå åñëè äëèíà êëþ÷à àëãîðèòìà øèôðîâàíèÿ áîëüøå, ÷åì äëèíà áëîêà. Åñëè áëî÷íûé àëãîðèòì ïîäîáíî DES îáëàäàåò ñâîéñòâîì êîìïëèìåíòàðíîñòè è ñëàáûìè êëþ÷àìè , äëÿ âñåõ 12 ñõåì ñóùåñòâóåò âîçìîæíîñòü äîïîëíèòåëüíîãî âñêðûòèÿ . Îíî íå ñëèøêîì îïàñíî è â äåéñòâèòåëüíîñòè íå ñòîèò îá ýòî ì áåñïîêîèòüñÿ. Îäíàêî âû ìîæåòå îáåçîïàñèòü ñåáÿ îò òàêîãî âñêðûòèÿ , çàôèêñèðîâàâ çíà÷åíèå âòîðîãî è òðåòüåãî áèòîâ êëþ÷à, ðàâíîå ''01" èëè ''10" [1081,1107]. Êîíå÷íî æå ýòî óìåíüøèò äëèíó k ñ 56 áèòîâ äî 54 áèòîâ (äëÿ DES) è óìåíüøèò ñêîðîñòü õýøèðîâàíèÿ . Áûëî ïîêàçàíî, ÷òî ñëåäóþùèå ñõåìû, îïèñàííûå â ëèòåðàòóðå, íåáåçîïàñíû . Ýòà ñõåìà [1282] áûëà âçëîìàíà â [369]: H i = E M i ( H i −1 )
Äýâèñ (Davies) è Ïðàéñ (Price) ïðåäëîæèëè âàðèàíò, â êîòîðîì âñå ñîîáùåíèå öèêëè÷åñêè îáðàáàòûâàåòñÿ àëãîðèòìîì äâàæäû [432, 433]. Âñêðûòèå Êîïïåðñìèòà âçëàìûâàåò òàêóþ ñõåìó äàæå ïðè íåáîëüøîé âû÷èñë èòåëüíîé ìîùíîñòè [369].  [1606] áûëà ïîêàçàíà íåáåçîïàñíîñòü åùå îäíîé ñõåìû [432, 458]:
H i = E M i ⊕ Hi −1 ( H i −1 )
 [1028] áûëà ïîêàçàíà íåáåçîïàñíîñòü ñëåäóþùåé ñõåìû (c - êîíñòàíòà): H i = E ñ ( M i ⊕ H i −1 ) ⊕ M i ⊕ H i −1
Ìîäèôèêàöèÿ ñõåìû Davies-Meyer Ëàé (Lai) è Ìàññåé (Massey) ìîäèôèöèðîâàëè ìåòîä Davies-Meyer, ÷òîáû ìîæíî áûëî èñïîëüçîâàòü øèôð IDEA [930, 925]. IDEA èñïîëüçóåò 64-áèòîâûé áëîê è 128-áèòîâûé êëþ÷ . Âîò ïðåäëîæåííàÿ èìè ñõåìà: H0 = IH, , ãäå IH - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Hi = E Hi −1 , Mi ( Hi −1 )
Ýòà ôóíêöèÿ õýøèðóåò ñîîáùåíèå 64-áèòîâûìè áëîêàìè è âûäàåò 64-áèòîâîå çíà÷åíèå (ñì. 8-é). Áîëåå ïðîñòîå âñêðûòèå ýòîé ñõåìû, ÷åì ìåòîä ãðóáîé ñèëû, íåèçâåñòíî . Mi
Hi-1
Êëþ÷ Øèôðîâàíèå
Hi
Ðèñ. 18-10. Ìîäèôèêàöèÿ ñõåìû Davies-Meyer. Preneel-Bosselaers-Govaerts-Vandewalle Ýòà õýø-ôóíêöèÿ, âïåðâûå ïðåäëîæåííàÿ â [1266], âûäàåò õýø-çíà÷åíèå, â äâà ðàçà áîëüøåå äëèíû áëîêà àëãîðèòìà øèôðîâàíèÿ: ïðè 64-áèòîâîì àëãîðèòìå ïîëó÷àåòñÿ 128-áèòîâîå õýø-çíà÷åíèå . Ïðè 64-áèòîâîì áëî÷íîì àëãîðèòìå ñõåìà âûäàåò äâà 64-áèòîâûõ õýø-çíà÷åíèÿ , Gi è Hi , îáúåäèíåíèå êîòîðûõ è äàåò 128-áèòîâîå õýø-çíà÷åíèå. Ó áîëüøèíñòâà áëî÷íûõ àëãîðèòìîâ äëèíà áëîêà ðàâíà 64 áèòàì . Äâà ñîñåäíèõ áëîêà, Li è Ri , ðàçìåð êàæäîãî ðàâåí ðàçìåðó áëîêà , õýøèðóþòñÿ âìåñòå. G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Gi = E Li ⊕ Hi −1 ( Ri ⊕ Gi −1 ) ⊕ Ri ⊕ Gi −1 ⊕ Hi −1 Hi = E Li ⊕ Ri ( Hi −1 ⊕ Gi −1 ) ⊕ Li ⊕ Gi −1 ⊕ Hi −1
Ëàé ïðèâîäèò âñêðûòèå ýòîé ñõåìû, êîòîðîå â íåêîòîðûõ ñëó÷àÿõ äåëàåò âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ òðèâèàëüíûì [925, 926]. Ïðåíåë (Preneel) [1262] è Êîïïåðñìèò (Coppersmith0 [372] òàêæå óñïåøíî âçëîìàëè ýòó ñõåìó. Íå èñïîëüçóéòå åå. Quisquater-Girault Ýòà ñõåìà, âïåðâûå ïðåäëîæåííàÿ â [1279], ãåíåðèðóåò õýø-çíà÷åíèå, â äâà ðàçà áîëüøåå äëèíû áëîêà. Åå ñêîðîñòü õýøèðîâàíèÿ ðàâíà 1. Îíà èñïîëüçóåò äâà õýø-çíà÷åíèÿ , Gi è Hi , è õýøèðóåò âìåñòå äâà áëîêà, Li è Ri . G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Wi = E Li (Gi −1 ⊕ Ri ) ⊕ Ri ⊕ Hi −1 Gi = E Ri (Wi ⊕ Li ) ⊕ Gi − 1 ⊕ Hi −1 ⊕ Li Hi = Wi ⊕ Gi −1
Ýòà ñõåìà ïîÿâèëàñü â 1989 ãîäó â ïðîåêòå ñòàíäàðòà ISO [764], íî áûëà çàìåíåíà áîëåå ïîçäíåé âåðñèåé [765]. Ïðîáëåìû áåçîïàñíîñòè ýòîé ñõåìû áûëè îïèñàíû â [1107, 925, 1262, 372]. ( äåéñòâèòåëüíîñòè, âåðñèÿ, îïèñàííàÿ â ìàòåðèàëàõ êîíôåðåíöèè, áûëà ïîñëå òîãî, êàê âåðñèÿ, ïðåäñòàâëåííàÿ íà êîíôåðåíöèè, áûëà âñêðûòà.)  ðÿäå ñëó÷àåâ ñëîæíîñòü âñêðûòèÿ ìåòîäîì äíÿ ðîæäåíèÿ èìååò ðàâíà 2 39, à íå 264, êàê ó âñêðûòèÿ ãðóáîé. Íå èñïîëüçóéòå ýòó ñõåìó. LOKI ñ óäâîåííûì áëîêîì Ýòîò àëãîðèòì ïðåäñòàâëÿåò ñîáîé ìîäèôèêàöèþ Quisquater-Cirault, ñïåöèàëüíî ñïðîåêòèðîâàííóþ äëÿ ð à-
áîòû ñ LOKI [273]. Âñå ïàðàìåòðû - òå æå, ÷òî è â Quisquater-Girault. G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Wi = E Li ⊕ Gi −1 (Gi −1 ⊕ Ri ) ⊕ Ri ⊕ Hi −1 Gi = E Ri ⊕ Hi −1 (Wi ⊕ Li ) ⊕ Gi −1 ⊕ Hi − 1 ⊕ Li Hi = Wi ⊕ Gi −1
È ñíîâà â íåêîòîðûõ ñëó÷àÿõ âñêðûòèå ìåòîäîì äíÿ ðîæäåíèÿ îêàçûâàåòñÿ òðèâèàëüíûì [925, 926, 1262, 372, 736]. Íå èñïîëüçóéòå ýòó ñõåìó. Ïàðàëëåëüíàÿ ñõåìà Davies-Meyer Ýòî åùå îäíà ïîïûòêà ñîçäàòü àëãîðèòì ñî ñêîðîñòüþ õýøèðîâàíèÿ 1, êîòîðûé âûäàåò õýø-çíà÷åíèå, â äâà ðàçà áîëüøåå äëèíû áëîêà. [736]. G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Gi = E Li ⊕ Ri (Gi −1 ⊕ Li ) ⊕ Li ⊕ Hi −1 Hi = E Li ( Hi − 1 ⊕ Ri ) ⊕ Ri ⊕ Hi −1
Ê ñîæàëåíèþ ýòà ñõåìà òîæå íåáåçîïàñíà [928, 861]. Îêàçûâàåòñÿ, ÷òî õýø-ôóíêöèÿ óäâîåííîé äëèíû ñî ñêîðîñòüþ õýøèðîâàíèÿ, ðàâíîé 1, íå ìîæåò áûòü áåçîïàñíåå, ÷åì Davies-Meyer [861]. Òàíäåìíàÿ (Tandem) è îäíîâðåìåííàÿ (Abreast) ñõåìû Davies-Meyer Äðóãîé ñïîñîá îáîéòè îãðàíè÷åíèÿ, ïðèñóùèå áëî÷íûì øèôðàì ñ 64-áèòîâûì êëþ÷îì, èñïîëüçóåò àëã îðèòì, ïîäîáíûé IDEA (ñì. ðàçäåë 13.9), ñ 64-áèòîâûì áëîêîì è 128-áèòîâûì êëþ÷îì. Ñëåäóþùèå äâå ñõåìû âûäàþò 128-áèòîâõýø-çíà÷åíèå, à èõ ñêîðîñòü õýøèðîâàíèÿ ðàâíà 1/2 [930, 925].
Hi-1
Gi-1
Øèôðîâàíèå Êëþ÷ Mi Êëþ÷ Øèôðîâàíèå
Hi Wi Gi
Ðèñ. 18-11. Òàíäåìíàÿ (Tandem) ñõåìà Davies-Meyer.  ïåðâîé ñõåìå äâå ìîäèôèöèðîâàííûå ôóíêöèè Davies-Meyer ðàáîòàþò òàíäåìîì, êîíâåéåðíî (ñì. 7-é). G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Wi = E Gi −1 , M i ( Hi − 1 ) Gi = Gi −1 ⊕ E M i ,Wi (Gi −1 ) Hi = Wi ⊕ Hi −1
 ñëåäóþùåé ñõåìå èñïîëüçóþòñÿ äâå ìîäèôèöèðîâàííûå ôóíêöèè, ðàáîòàþùèå îäíîâðåìåííî (ñì. 6-é). G0 = IG, ãäå IG - ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå H0 = IH, , ãäå IH - äðóãîå ñëó÷àéíîå íà÷àëüíîå çíà÷åíèå Gi = Gi −1 ⊕ E M i , Hi −1 ( ¬Gi −1 ) Hi = Hi − 1 ⊕ E Gi −1 , M i ( Hi −1 )
Hi-1
Øèôðîâàíèå Êëþ÷
Hi Mi
Gi-1
Êëþ÷ Øèôðîâàíèå
Gi
Ðèñ. 18-12. Îäíîâðåìåííàÿ (Abreast) ñõåìà Davies-Meyer.  îáåèõ ñõåìàõ äâà 64-áèòîâûõ çíà÷åíèÿ , Gi è Hi , îáúåäèíÿþòñÿ, îáðàçóÿ åäèíîå 128-áèòîâîå õýø-çíà÷åíèå . Íàñêîëüêî èçâåñòíî, áåçîïàñíîñòü 128-áèòîâîé õýø-ôóíêöèè ýòèõ àëãîðèòìîâ èäåàëüíà : äëÿ îáíàðóæåíèÿ ñîîáùåíèÿ ñ çàäàííûì õýø-çíà÷åíèåì òðåáóåòñÿ 2 128 ïîïûòîê, à äëÿ íàõîæäåíèÿ äâóõ ñëó÷àéíûõ ñîîáùåíèé ñ îäèíàêîâûì õýø-çíà÷åíèåì - 2 64 ïîïûòîê, ïðè óñëîâèè, ÷òî ëó÷øèì ñïîñîáîì âñêðûòèÿ ÿâëÿåòñÿ ïðèìåíåíèå ãðóáîé ñèëû. MDC-2 è MDC-4 MDC-2 è MDC-4 ðàçðàáîòàíû â IBM [1081, 1079].  íàñòîÿùåå âðåìÿ èçó÷àåòñÿ âîïðîñ èñïîëüçîâàíèÿ MDC-2, èíîãäà íàçûâàåìîé Meyer-Schilling, â êà÷åñòâå ñòàíäàðòà ANSI è ISO [61, 765], ýòîò âàðèàíò áûë ïðåäëîæåí â [762]. MDC-4 îïðåäåëåíà äëÿ ïðîåêòà RIPE [1305] (ñì. ðàçäåë 25.7). Ñïåöèôèêàöèÿ èñïîëüçóåò DES â êà÷åñòâå áëî÷íîé ôóíêöèè, õîòÿ òåîðåòè÷åñêè ìîæåò áûòü èñïîëüçîâàí ëþáîé áëî÷íûé àëãîðèòì . Ñêîðîñòü õýøèðîâàíèÿ MDC-2 ðàâíà 1/2, äëèíà õýø-çíà÷åíèÿ ýòîé ôóíêöèè â äâà ðàçà áîëüøå ðàçìåðà áëîêà.Åå ñõåìà ïîêàçàíà íà 5-é. MDC-4 òàêæå âûäàåò õýø-çíà÷åíèå â äâà ðàçà áîëüøåå ðàçìåðà áëîêà, à åå ñê îðîñòü õýøèðîâàíèÿ ðàâíà 1/4 (ñì. 4-é). Gi-1 Êëþ÷ Øèôðîâàíèå
Gi
Øèôðîâàíèå Êëþ÷
Hi
Mi
Hi-1
Ðèñ. 18-13. MDC-2.
Gi-1 Êëþ÷ Øèôðîâàíèå
Êëþ÷ Øèôðîâàíèå
Gi
Øèôðîâàíèå Êëþ÷
Øèôðîâàíèå Êëþ÷
Hi
Mi
Hi-1 Ðèñ. 18-14. MDC-4. Ýòè ñõåìû áûëè ïðîàíàëèçèðîâàíû â [925, 1262]. Îíè áåçîïàñíû ñ ó÷åòîì ñåãîäíÿøíèõ âîçìîæíîñòåé â û÷èñëèòåëüíîé òåõíèêè, íî èõ íàäåæíîñòü íå òàê âåëèêà, êàê õîòåëîñü ðàçðàáîò÷èêàì . Èõ óñòîé÷èâîñòü ê äèôôåðåíöèàëüíîìó êðèïòîàíàëèçó ïðè DES â êà÷åñòâå áëî÷íîãî àëãîðèòìà áûëà ðàññìîòðåíà â [1262]. MDC-2 è MDC-4 çàïàòåíòîâàíû [223]. Õýø-ôóíêöèÿ AR Õýø-ôóíêöèÿ AR áûëà ðàçðàáîòàíà Algorithmic Research, Ltd. è çàòåì ðàñïðîñòðàíåíà ISO òîëüêî äëÿ èíôîðìàöèè [767]. Åå áàçîâàÿ ñòðóêòóðà ÿâëÿåòñÿ âàðèàíòîì èñïîëüçóåìîãî áëî÷íîãî øèôðà (DES â óïîìÿíóòîé ñòàòüå) â ðåæèìå CBC. Âûïîëíÿåòñÿ XOR ïîñëåäíèõ äâóõ áëîêîâ øèôðîòåêñòà, êîíñòàíòû è òåêóùåãî áëîêà ñîîáùåíèÿ, ðåçóëüòàò øèôðóåòñÿ àëãîðèòìîì . Õýø-çíà÷åíèåì ÿâëÿþòñÿ ïîñëåäíèå âû÷èñëåííûå äâà áëîêà øèôðîòåêñòà. Ñîîáùåíèå îáðàáàòûâàåòñÿ äâàæäû, äâóìÿ ðàçëè÷íûìè êëþ÷àìè, ïîýòîìó ñêîðîñòü õýøèðîâàíèÿ ðàâíà 1/2. Ïåðâûì êëþ÷îì ñëóæèò 0x0000000000000000, âòîðûì - 0x2a41522f4446502a, à çíà÷åíèå êîíñòàíòû c ðàâíî 0x0123456789abcdef. Ðåçóëüòàò ñæèìàåòñÿ äî îäíîãî 128-áèòîâîãî õýø-çíà÷åíèÿ . Ïîäðîáíîñòè ïðèâåäåíû â [750]. Hi = EK(Mi ⊕ Hi-1 ⊕ Hi-2 ⊕ c) ⊕ Mi Ôóíêöèÿ âûãëÿäèò ïðèâëåêàòåëüíîé, íî íå ÿâëÿåòñÿ áåçîïàñíîé . Ïîñëå íåêîòîðîé çíà÷èòåëüíîé ïðåäîáð àáîòêè ñòàíîâèòñÿ âîçìîæíûì ëåãêî íàõîäèòü ñîîáùåíèÿ ñ îäèíàêîâûì õýø-çíà÷åíèåì [416]. Õýø-ôóíêöèÿ ÃÎÑÒ Ýòà õýø-ôóíêöèÿ ïîÿâèëàñü â Ðîññèè è îïðåäåëåíà â ñòàíäàðòå ÃÎÑÒ Ð 34.11.94 [657].  íåé èñïîëüçóåòñÿ áëî÷íûé àëãîðèòì ÃÎÑÒ (ñì. ðàçäåë 14.1), õîòÿ òåîðåòè÷åñêè ìîæåò èñïîëüçîâàòüñÿ ëþáîé áëî÷íûé àëãîðèòì ñ 64-áèòîâûì áëîêîì è 256-áèòîâûì êëþ÷îì . Ôóíêöèÿ âûäàåò 256-áèòîâîå õýø-çíà÷åíèå . Ôóíêöèÿ ñæàòèÿ, Hi = f(Mi ,Hi-1) (îáà îïåðàíäà - 256-áèòîâûå âåëè÷èíû ) îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì : (1) Ïðè ïîìîùè ëèíåéíîãî ñìåøèâàíèÿ Mi , Hi-1 è íåêîòîðûõ êîíñòàíò ãåíåðèðóåòñÿ ÷åòûðå êëþ÷à øèôðîâ à-
íèÿ ÃÎÑÒ.
(2) Êàæäûé êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ îòëè÷íûõ 64 áèòîâ Hi-1 â ðåæèìå ECB. Ïîëó÷åííûå 256 áè-
òîâ ñîõðàíÿþòñÿ âî âðåìåííîé ïåðåìåííîé S.
(3) Hi ÿâëÿåòñÿ ñëîæíîé, õîòÿ è ëèíåéíîé ôóíêöèåé S, Mi è Hi-1.
Õýø-çíà÷åíèå ïîñëåäíåãî áëîêà ñîîáùåíèÿ íå ÿâëÿåòñÿ åãî îêîí÷àòåëüíûì õýø-çíà÷åíèåì . Íà äåëå èñïîëüçóåòñÿ òðè ïåðåìåííûå ñöåïëåíèÿ : Hn - ýòî õýø-çíà÷åíèå ïîñëåäíåãî áëîêà, Z - ýòî XOR âñåõ áëîêîâ ñîîáùåíèÿ, à L - äëèíà ñîîáùåíèÿ. Ñ èñïîëüçîâàíèåì ýòèõ ïåðåìåííûõ è äîïîëíåííîãî ïîñëåäíåãî áëîêà M', îêîí÷àòåëüíîå õýø-çíà÷åíèå ðàâíî: H = f(Z ⊕ M',f(L,f(M', Hn)))
Äîêóìåíòàöèÿ íåìíîãî çàïóòàíà (è íà ðóññêîì ÿçûêå), íî ÿ äóìàþ, ÷òî ïîíÿë âñå ïðàâèëüíî . Âî âñÿêîì ñëó÷àå ýòà õýø-ôóíêöèÿ îïðåäåëåíà êàê ÷àñòü ðîññèéñêîãî Ñòàíäàðòà öèôðîâîé ïîäïèñè (ñì. ðàçäåë 20.3). Äðóãèå ñõåìû Ðàëüô Ìåðêë ïðåäëîæèë ñõåìó, èñïîëüçóþùóþ DES, íî îíà ìåäëåííà - îáðàáàòûâàåò òîëüêî ñåìü áèòîâ ñ îîáùåíèÿ çà èòåðàöèþ, è êàæäàÿ èòåðàöèÿ ñîñòîèò èç äâóõ øèôðîâàíèé DES [1065, 1069]. Äðóãàÿ ñõåìà [1642, 1645] íåáåçîïàñíà [1267], êîãäà-òî îíà ïðåäëàãàëàñü â êà÷åñòâå ñòàíäàðòà ISO.
18.12 Èñïîëüçîâàíèå àëãîðèòìîâ ñ îòêðûòûì êëþ÷îì  êà÷åñòâå îäíîíàïðàâëåííîé õýø-ôóíêöèè ìîæíî èñïîëüçîâàòü è àëãîðèòì øèôðîâàíèÿ ñ îòêðûòûì êë þ÷îì â ðåæèìå ñöåïëåíèÿ áëîêîâ . Åñëè çàòåì âûáðîñèòü ëè÷íûé êëþ÷, òî âçëîìàòü õýø-ôóíêöèþ áóäåò òàêæå òðóäíî, êàê è ïðî÷èòàòü ñîîáùåíèå áåç ëè÷íîãî êëþ÷à . Âîò ïðèìåð, èñïîëüçóþùèé RSA. Åñëè M - ýòî õýøèðóåìîå ñîîáùåíèå, n - ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë p è q, à e - äðóãîå áîëüøîå ÷èñëî, âçàèìíî ïðîñòîå ñ (p - l)(q - 1), òî õýø-ôóíêöèÿ, H(M), áóäåò ðàâíà H(M) = Me mod n Åùå ïðîùå èñïîëüçîâàòü îäíî ñèëüíîå ïðîñòîå ÷èñëî â êà÷åñòâå ìîäóëÿ p. Òîãäà: H(M) = Me mod p Âñêðûòèå ýòîé ïðîáëåìû âîçìîæíî íå ëåã÷å, ÷åì ïîèñê äèñêðåòíîãî ëîãàðèôìà e. Ïðîáëåìà ýòîãî àëãîðèòìà ñîñòîèò â òîì, ÷òî îí íàìíîãî ìåäëåííåå, ÷åì äðóãèå îáñóæäàåìûå àëãîðèòìû . Ïî ýòîé ïðè÷èíå ÿ íå ñîâåòóþ åãî.
18.13 Âûáîð îäíîíàïðàâëåííîé õýø-ôóíêöèè Ëó÷øèìè êàæóòñÿ SHA, MD5 è ñõåìû, îñíîâàííûå íà áëî÷íûõ øèôðàõ. Äðóãèå íà ñàìîì äåëå íå áûëè è ññëåäîâàíû â äîñòàòî÷íîé ñòåïåíè . ß ãîëîñóþ çà SHA. Ó íåå áîëåå äëèííîå õýø-çíà÷åíèå, ÷åì ó MD5, îíà áûñòðåå, ÷åì ìíîãèå ñõåìû ñ áëî÷íûìè øèôðàìè, è ðàçðàáîòàíà NSA. ß âåðþ â êðèïòîàíàëèòè÷åñêèå âîçìîæíîñòè NSA, äàæå åñëè îíè íå ïóáëèêóþò ñâîè ðåçóëüòàòû .  16-é äëÿ ñðàâíåíèÿ ïðèâåäåíû âðåìåííûå ñîîòíîøåíèÿ äëÿ íåêîòîðûõ õýø-ôóíêöèé . They are meant for comparison purposes only. Òàáë. 18-2. Ñêîðîñòè øèôðîâàíèÿ íåêîòîðûõ õýø-ôóíêöèé íà i486SX/33 ÌÃö Àëãîðèòì
Äëèíà õýø-çíà÷åíèÿ
Ñêîðîñòü øèôðîâàíèÿ (Êáàéò/ñ)
Îäíîâðåìåííàÿ ñõåìà Davies-Meyer (ñ IDEA)
128
22
Davies-Meyer (ñ DES)
64
9
Õýø-ôóíêöèÿ ÃÎÑÒ
256
11
HAVAL (3 ïðîõîäà)
ïåðåìåííàÿ
168
HAVAL (4 ïðîõîäà)
ïåðåìåííàÿ
118
HAVAL (5 ïðîõîäà)
ïåðåìåííàÿ
95
MD2
128
23
MD4
128
236
MD5
128
174
N-õýø (12 ýòàïîâ)
128
29
N-õýø (15 ýòàïîâ)
128
24
RIPE-MD
128
182
SHA
160
75
Snerfu (4 ïðîõîäà)
128
48
Snerfu (8 ïðîõîäîâ)
128
23
18.14 Êîäû ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ Êîä ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ ( message authentication code, MAC ) - ýòî çàâèñÿùàÿ îò êëþ÷à îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ. Êîäû MAC îáëàäàþò òåìè æå ñâîéñòâàìè, ÷òî è ðàññìîòðåííûå ðàíåå õýø-ôóíêöèè, íî îíè, êðîìå òîãî, âêëþ÷àþò êëþ÷ . (Ýòî íå îçíà÷àåò, ÷òî âû ìîæåòå îïóáëèêîâàòü êëþ÷ MAC è èñïîëüçîâàòü MAC êàê îäíîíàïðàâëåííóþ õýø-ôóíêöèþ .) Òîëüêî âëàäåëåö èäåíòè÷íîãî êëþ÷à ìîæåò ïðîâåðèòü õýøçíà÷åíèå. Êîäû MAC î÷åíü ïîëåçíû äëÿ îáåñïå÷åíèÿ ïðîâåðêè ïîäëèííîñòè áåç íàðóøåíèÿ áåçîïàñíîñòè . Êîäû MAC ìîãóò áûòü èñïîëüçîâàíû äëÿ ïðîâåðêè ïîäëèííîñòè ôàéëîâ, êîòîðûìè îáìåíèâàþòñÿ ïîëüçîâ àòåëè. Òàêæå îíè ìîãóò áûòü èñïîëüçîâàíû îäíèì ïîëüçîâàòåëåì äëÿ ïðîâåðêè, íå èçìåíèëèñü ëè åãî ôàéëû, ìîæåò áûòü èç-çà âèðóñà. Ïîëüçîâàòåëü ìîæåò âû÷èñëèòü MAC åãî ôàéëîâ è ñîõðàíèòü ýòè çíà÷åíèÿ â òàáëèöå . Åñëè ïîëüçîâàòåëü âîñïîëüçóåòñÿ âìåñòî MAC îäíîíàïðàâëåííîé õýø-ôóíêöèåé, òî âèðóñ ìîæåò âû÷èñëèòü íîâûå õýø-çíà÷åíèÿ ïîñëå çàðàæåíèÿ ôàéëîâ è çàìåíèòü ýëåìåíòû òàáëèöû . Ñ MAC âèðóñ íå ñìîæåò ýòîãî äîáèòüñÿ, òàê êàê êëþ÷ âèðóñó íåèçâåñòåí . Ïðîñòûì ñïîñîáîì ïðåîáðàçîâàòü îäíîíàïðàâëåííóþ õýø-ôóíêöèþ â MAC ÿâëÿåòñÿ øèôðîâàíèå õýøçíà÷åíèÿ ñèììåòðè÷íûì àëãîðèòìîì . Ëþáîé MAC ìîæåò áûòü ïðåîáðàçîâàí â îäíîíàïðàâëåííóþ õýøôóíêöèþ ñ ïîìîùüþ ðàñêðûòèÿ êëþ÷à. CBC-MAC Ïðîñòåéøèé ñïîñîá ñîçäàòü çàâèñÿùóþ îò êëþ÷à îäíîíàïðàâëåííóþ õýø-ôóíêöèþ - øèôðîâàíèå ñîîáùåíèÿ áëî÷íûì àëãîðèòìîì â ðåæèìàõ CBC èëè CFB. Õýø-çíà÷åíèåì ÿâëÿåòñÿ ïîñëåäíèé øèôðîâàííûé áëîê , çàøèôðîâàííûé â ðåæèìàõ CBC èëè CFB. Ìåòîä CBC îïðåäåëåí â ANSI X9.9 [54], ANSI X9.19 [56], ISO 8731-1 [759], ISO 9797 [763] è àâñòðàëèéñêîì ñòàíäàðòå [1496]. Äèôôåðåíöèàëüíûé êðèïòîàíàëèç ìîæåò âñêðûòü ýòó ñõåìó, åñëè â êà÷åñòâå áëî÷íîãî àëãîðèòìà èñïîëüçóåòñÿ DES ñ óìåíüøåííûì ÷èñëîì ýòàïîâ èëè FEAL [1197]. Ïîòåíöèàëüíàÿ ïðîáëåìà, ñâÿçàííàÿ ñ áåçîïàñíîñòüþ ýòîãî ìåòîäà, ñîñòîèò â òîì, ÷òî ïîëó÷àòåëü äîëæåí çíàòü êëþ÷, è ýòîò êëþ÷ ïîçâîëÿåò åìó ãåíåðèðîâàòü ñîîáùåíèÿ ñ òåì æå õýø-çíà÷åíèåì, ÷òî è ó ïðèñëàííîãî ñîîáùåíèÿ, ñ ïîìîùüþ äåøèôðèðîâàíèÿ â îáðàòíîì íàïðàâëåíèè . Àëãîðèòì ïðîâåðêè ïîäëèííîñòè ñîîáùåíèÿ (Message Authenticator Algorithm, MAA) Ýòîò àëãîðèòì ÿâëÿåòñÿ ñòàíäàðòîì ISO [760]. Îí âûäàåò 32-áèòîâîå õýø-çíà÷åíèå è áûë ñïðîåêòèðîâàí äëÿ ìýéíôðåéìîâ ñ áûñòðûìè èíñòðóêöèÿìè óìíîæåíèÿ [428]. v = v <<< 1 e=v⊕w x = ((((e + y) mod 232) ∨ A ∧ C) * (x ⊕ Mi )) mod 232-1 y = ((((e + x) mod 232) ∨ B ∧ D) * (y ⊕ Mi )) mod 232-1 Ýòè äåéñòâèÿ ïîâòîðÿþòñÿ äëÿ êàæäîãî áëîêà ñîîáùåíèÿ , Mi , è ðåçóëüòèðóþùåå õýø-çíà÷åíèå ïîëó÷àåòñÿ ñ ïîìîùüþ XOR x è y. Ïåðåìåííûå v è e çàâèñÿò îò êëþ÷à. A, B, C è D ÿâëÿþòñÿ êîíñòàíòàìè. Âîçìîæíî, ýòîò àëãîðèòì øèðîêî èñïîëüçóåòñÿ , íî ÿ íå âåðþ, ÷òî îí äîñòàòî÷íî áåçîïàñåí . Îí áûë ðàçðàáîòàí äàâíûì äàâíî è íå ñëèøêîì ñëîæåí . Äâóíàïðàâëåííûé MAC Ýòîò MAC âûäàåò õýø-çíà÷åíèå, êîòîðîå â äâà ðàçà äëèííåå áëîêà àëãîðèòìà [978). Ñíà÷àëà äëÿ ñîîáùåíèÿ âû÷èñëÿåòñÿ CBC-MAC. Çàòåì âû÷èñëÿåòñÿ CBC-MAC ñîîáùåíèÿ ñ îáðàòíûì ïîðÿäêîì áëîêîâ . Äâóíàïðàâëåííûé MAC ïðîñòî ÿâëÿåòñÿ îáúåäèíåíèåì ýòèõ äâóõ çíà÷åíèé . Ê ñîæàëåíèþ ýòà ñõåìà íåáåçîïàñíà [1097]. Ìåòîäû Äæóíåìàíà Ýòîò MAC òàêæå íàçûâàþò êâàäðàòè÷íûì êîíãðóýíòíûì êîäîì îáíàðóæåíèÿ ìàíèïóëÿöèè ( quadratic congruential manipulation detection code , QCMDC) [792, 789]. Ñíà÷àëà ðàçäåëèì ñîîáùåíèå íà m-áèòîâûå áëîêè. Çàòåì: H0 = IH, , ãäå IH - ñåêðåòíûé êëþ÷ Hi = (Hi-1 + Mi )2 mod p, ãäå p - ïðîñòîå ÷èñëî, ìåíüøåå 2m-1, à + îáîçíà÷àåò öåëî÷èñëåííîå ñëîæåíèå. Äæóíåìàí (Jueneman) ïðåäëàãàåò n = 16 è p = 231-1.  [792] îí òàêæå ïðåäëàãàåò, ÷òîáû H1 èñïîëüçîâàëñÿ â êà÷åñòâå äîïîëíèòåëüíîãî êëþ÷à , à äåéñòâèòåëüíîå ñîîáùåíèå íà÷èíàëîñü áû ñ H2. Èç-çà ìíîæåñòâà âñêðûòèé òèïà äíÿ ðîæäåíèÿ, âûïîëíåííûõ â ñîòðóäíè÷åñòâå ñ Äîíîì Êîïïåðñìèòîì , Äæóíåìàí ïðåäëîæèë âû÷èñëÿòü QCMDC ÷åòûðå ðàçà, èñïîëüçóÿ ðåçóëüòàò îäíîé èòåðàöèè â êà÷åñòâå IV äëÿ
ñëåäóþùåé èòåðàöèè, à çàòåì ðåçóëüòàòû îáúåäèíÿþòñÿ â 128-áèòîâîå õýø-çíà÷åíèå [793].  äàëüíåéøåì ýòà èäåÿ áûëà óñèëåíà çà ñ÷åò ïàðàëëåëüíîãî âûïîëíåíèÿ ÷åòûðåõ èòåðàöèé ñ ïîïåðå÷íûìè ñâÿçÿìè ìåæäó íèìè [790, 791]. Ýòà ñõåìà áûëà âçëîìàíà Êîïïåðñìèòîì [376].  äðóãîì âàðèàíòå [432, 434] îïåðàöèÿ ñëîæåíèÿ çàìåíåíà XOR, è èñïîëüçóþòñÿ áëîêè ñîîáùåíèÿ, íàìíîãî ìåíüøèå p. Êðîìå òîãî, áûë çàäàí H0, ÷òî ïðåâðàòèëî àëãîðèòì â îäíîíàïðàâëåííóþ õýø-ôóíêöèþ áåç êëþ÷à . Ïîñëå òîãî, êàê ýòà ñõåìà áûëà âñêðûòà [612], îíà áûëà óñèëåíà äëÿ èñïîëüçîâàíèÿ â êà÷åñòâå ÷àñòè ïðîåêòà European Open Shop Information-TeleTrust [1221], ïðîöèòèðîâàíà â CCITT X.509 [304] è ïðèíÿòà ISO â 10118 [764, 765]. Ê ñîæàëåíèþ Êîïïåðñìèò âçëîìàë è ýòó ñõåìó [376].  ðÿäå èññëåäîâàíèé èçó÷àëàñü âîçìîæíîñòü èñïîëüçîâàòü îòëè÷íûå îò 2 îñíîâàíèÿ ýêñïîíåíòû [603], íî íè îäíî íå îêàçàëîñü ïåðñïåêòèâíûì . RIPE-MAC RIPE-MAC áûë èçîáðåòåí Áàðòîì Ïðåíåëîì [1262] è èñïîëüçîâàí â ïðîåêòå RIPE [1305] (ñì. ðàçäåë 18.8). Îí îñíîâàí íà ISO 9797 [763] è èñïîëüçóåò DES â êà÷åñòâå ôóíêöèè áëî÷íîãî øèôðîâàíèÿ . Ñóùåñòâóåò äâà âàðèàíòà RIPE-MAC: îäèí, êîòîðûé èñïîëüçóåò îáû÷íûé DES, íàçûâàåòñÿ RIPE-MAC1, à äðóãîé, èñïîëüçóþùèé äëÿ åùå áîëüøåé áåçîïàñíîñòè òðîéíîé DES, íàçûâàåòñÿ RIPE-MAC3. RIPE-MAGI èñïîëüçóåò îäíî øèôðîâàíèå DES íà 64-áèòîâûé áëîê ñîîáùåíèÿ, à RIPE-MAC3 - òðè. Àëãîðèòì ñîñòîèò èç òðåõ ÷àñòåé . Âî ïåðâûõ, ñîîáùåíèå óâåëè÷èâàåòñÿ òàê, ÷òîáû åãî äëèíà áûëà êðàòíà 64 áèòàì. Çàòåì, óâåëè÷åííîå ñîîáùåíèå ðàçáèâàåòñÿ íà 64-áèòîâûå áëîêè. Äëÿ õýøèðîâàíèÿ ýòèõ áëîêîâ â îäèí áëîê èñïîëüçóåòñÿ ôóíêöèÿ ñæàòèÿ, çàâèñÿùàÿ îò ñåêðåòíîãî êëþ÷à . Íà ýòîì ýòàïå èñïîëüçóåòñÿ ëèáî DES, ëèáî òðîéíîé DES. Íàêîíåö, âûõîä ýòîé ôóíêöèè ñæàòèÿ ïîäâåðãàåòñÿ åùå îäíîìó DES-øèôðîâàíèþ ñ äðóãèì êëþ÷îì, ïîëó÷åííûì èç êëþ÷à, èñïîëüçóåìîãî ïðè ñæàòèè . Ïîäðîáíîñòè ìîæíî íàéòè â [1305]. IBC-õýø IBC-õýø - ýòî åùå îäèí MAC, èñïîëüçóåìûé â ïðîåêòå RIPE [1305] (ñì. ðàçäåë 18.8). Îí èíòåðåñåí ïîòîìó, ÷òî åãî áåçîïàñíîñòü äîêàçàíà, âåðîÿòíîñòü óñïåøíîãî âñêðûòèÿ ìîæåò áûòü îöåíåíà êîëè÷åñòâåííî . Ê ñîæàëåíèþ êàæäîå ñîîáùåíèå äîëæíî õýøèðîâàòüñÿ íîâûì êëþ÷îì . Âûáðàííûé óðîâåíü áåçîïàñíîñòè îãðàíè÷èâàåò ìàêñèìàëüíûé ðàçìåð õýøèðóåìîãî ñîîáùåíèÿ, ÷åãî íå äåëàåò íè îäíà äðóãàÿ èç ðàññìîòðåííûõ â ýòîé ãëàâå ôóíêöèÿ. Ñ ó÷åòîì ýòèõ ñîîáðàæåíèé â îò÷åòå RIPE ðåêîìåíäóåòñÿ, ÷òîáû IBC-õýø èñïîëüçîâàëàñü áû òîëüêî äëÿ äëèííûõ, ðåäêî ïîñûëàåìûõ ñîîáùåíèé. ßäðîì ôóíêöèè ÿâëÿåòñÿ hi = ((Mi mod p) + v) mod 2n Ñåêðåòíûé êëþ÷ ïðåäñòàâëÿåò ñîáîé ïàðó p è v, ãäå p - n-áèòîâîå ïðîñòîå ÷èñëî, à v - ñëó÷àéíîå ÷èñëî, ìåíüøåå 2n. Çíà÷åíèÿ Mi ïîëó÷àþòñÿ ñ ïîìîùüþ ñòðîãî îïðåäåëåííîé ïðîöåäóðû äîïîëíåíèÿ . Âåðîÿòíîñòè âñêðûòü êàê îäíîíàïðàâëåííîñòü, òàê è óñòîé÷èâîñòü ê ñòîëêíîâåíèÿì, ìîãóò áûòü îöåíåíû êîëè÷åñòâåííî, è ïîëüçîâàòåëè, ìåíÿÿ ïàðàìåòðû, ìîãóò âûáðàòü íóæíûé óðîâåíü áåçîïàñíîñòè . Îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ MAC  êà÷åñòâå MAC ìîæåò áûòü èñïîëüçîâàíà è îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ [1537]. Ïóñòü Àëèñà è Áîá èñïîëüçóþò îáùèé êëþ÷ K, è Àëèñà õî÷åò îòïðàâèòü Áîáó MAC ñîîáùåíèÿ M. Àëèñà îáúåäèíÿåò K è M, è âû÷èñëÿåò îäíîíàïðàâëåííóþ õýø-ôóíêöèþ îáúåäèíåíèÿ: H(K,M). Ýòî õýø-çíà÷åíèå è ÿâëÿåòñÿ êîäîì MAC. Òàê êàê Áîá çíàåò K, îí ìîæåò âîñïðîèçâåñòè ðåçóëüòàò Àëèñû, à Ìýëëîðè, êîòîðîìó êëþ÷ íåèçâåñòåí, íå ñìîæåò ýòî ñäåëàòü. Ñî ìåòîäàìè MD-óñèëåíèÿ ýòîò ñïîñîá ðàáîòàåò, íî åñòü ñåðüåçíûå ïðîáëåìû. Ìýëëîðè âñåãäà ìîæåò äîáàâèòü íîâûå áëîêè ê êîíöó ñîîáùåíèÿ è âû÷èñëèòü ïðàâèëüíûé MAC. Ýòî âñêðûòèå ìîæåò áûòü ïðåäîòâðàùåíî, åñëè ê íà÷àëó ñîîáùåíèÿ äîáàâèòü åãî äëèíó , íî Ïðåíåë ñîìíåâàåòñÿ â ýòîé ñõåìå [1265]. Ëó÷øå äîáàâëÿòü êëþ÷ ê êîíöó ñîîáùåíèÿ, H(M,K), íî ïðè ýòîì òàêæå âîçíèêàþò ïðîáëåìû [1265]. Åñëè H îäíîíàïðàâëåííàÿ ôóíêöèÿ, êîòîðàÿ íå çàùèùåíà îò ñòîëêíîâåíèé , Ìýëëîðè ìîæåò ïîääåëûâàòü ñîîáùåíèÿ. Åùå ëó÷øå H(K,M,K) èëè H(Kl,M,K2), ãäå Kl è K2 ðàçëè÷íû [1537]. Ïðåíåë íå óâåðåí è â ýòîì [1265]. Áåçîïàñíûìè êàæóòñÿ ñëåäóþùèå êîíñòðóêöèè : H(Kl, H(K2, M)) H(K, H(K,M)) H(K, p,M,K)), ãäå p äîïîëíÿåò K äî ïîëíîãî áëîêà ñîîáùåíèÿ. Ëó÷øèì ïîäõîäîì ÿâëÿåòñÿ îáúåäèíåíèå ñ êàæäûì áëîêîì ñîîáùåíèÿ ïî êðàéíåé ìåðå 64 áèòîâ êëþ÷à. Ýòî äåëàåò îäíîíàïðàâëåííóþ ôóíêöèþ ìåíåå ýôôåêòèâíîé, òàê êàê óìåíüøàþòñÿ áëîêè ñîîáùåíèÿ, íî òàê îíà ñòàíîâèòñÿ íàìíîãî áåçîïàñíåå [1265]. Èëè èñïîëüçóéòå îäíîíàïðàâëåííóþ õýø-ôóíêöèþ è ñèììåòðè÷íûé àëãîðèòì . Ñíà÷àëà õýøèðóéòå ôàéë,
ïîòîì çàøèôðóéòå õýø-çíà÷åíèå . Ýòî áåçîïàñíåå, ÷åì ñíà÷àëà øèôðîâàòü ôàéë, à çàòåì õýøèðîâàòü çàøèôð îâàííûé ôàéë, íî ýòà ñõåìà ÷óâñòâèòåëüíà ê òîìó æå âñêðûòèþ, ÷òî è êîíñòðóêöèÿ H(M,K) [1265]. MAC ñ èñïîëüçîâàíèåì ïîòîêîâîãî øèôðà Ýòà ñõåìà MAC èñïîëüçóåò ïîòîêîâûå øèôðû (ñì. 3-é) [932]. Êðèïòîãðàôè÷åñêè áåçîïàñíûé ãåíåðàòîð ïñåâäîñëó÷àéíûõ áèòîâ äåìóëüòèïëåêñèðóåò ïîòîê ñîîáùåíèÿ íà äâà ïîäïîòîêà . Åñëè íà âûõîäå ãåíåðàòîðà áèòîâ ki åäèíèöà, òî òåêóùèé áèò ñîîáùåíèÿ mi îòïðàâëÿåòñÿ â ïåðâûé ïîäïîòîê, åñëè íîëü, òî mi îòïðàâëÿåòñÿ âî âòîðîé ïîäïîòîê. Êàæäûé ïîäïîòîê îòïðàâëÿåòñÿ íà ñâîé LFSR (ðàçäåë 16.2). Âûõîäîì MAC ïðîñòî ÿâëÿåòñÿ êîíå÷íîå ñîñòîÿíèå îáîèõ ðåãèñòðîâ . Ê íåñ÷àñòüþ ýòîò ìåòîä íåáåçîïàñåí ïî îòíîøåíèþ ê íåáîëüøèì èçìåíåíèÿì â ñîîáùåíèè [1523]. Íàïðèìåð, åñëè èçìåíèòü ïîñëåäíèé áèò ñîîáùåíèÿ, òî äëÿ ñîçäàíèÿ ïîääåëüíîãî MAC íóæíî áóäåò èçìåíèòü òîëüêî 2 áèòà ñîîòâåòñòâóþùåãî MAC; ýòî ìîæåò áûòü âûïîëíåíî ñ çàìåòíîé âåðîÿòíîñòüþ . Àâòîð ïðåäëàãàåò áîëåå áåçîïàñíûé, è áîëåå ñëîæíûé, âàðèàíò .
CSPRNG
Ñäâèãîâûé ðåãèñòð 1 Ïîòîê ñîîáùåíèÿ
Ïåðåêëþ÷àòåëü Ñäâèãîâûé ðåãèñòð 1
Ðèñ. 18-15. MAC ñ èñïîëüçîâàíèåì ïîòîêîâîãî øèôðà.
Ãëàâà 19 Àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè 19.1 Îñíîâû Êîíöåïöèÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè áûëà âûäâèíóòà Óèòôèëäîì Äèôôè ( Whitfield Diffie) è Ìàðòèíîì Õåëëìàíîì (Martin Hellman), è íåçàâèñèìî Ðàëüôîì Ìåðêëîì (Ralph Merkle). Èõ âêëàäîì â êðèïòîãðàôèþ áûëî óáåæäåíèå, ÷òî êëþ÷è ìîæíî èñïîëüçîâàòü ïàðàìè - êëþ÷ øèôðîâàíèÿ è êëþ÷ äåøèôðèðîâàíèÿ è ÷òî ìîæåò áûòü íåâîçìîæíî ïîëó÷èòü îäèí êëþ÷ èç äðóãîãî (ñì. Ðàçäåë 2.5). Äèôôè è Õåëëìàí âïåðâûå ïðåäñòàâèëè ýòó èäåþ íà Íàöèîíàëüíîé êîìïüþòåðíîé êîíôåðåíöèè ( National Computer Conference) 1976 ãîäà [495], ÷åðåç íåñêîëüêî ìåñÿöåâ áûëà îïóáëèêîâàíà èõ îñíîâîïîëàãàþùàÿ ðàáîòà "New Directions in Cryptography'' ("Íîâûå íàïðàâëåíèÿ â êðèïòîãðàôèè") [496]. (Èç-çà áåññòðàñòíîãî ïðîöåññà ïóáëèêàöèè ïåðâûé âêëàä Ìåðêëà â ýòó îáëàñòü âûøåë ïîÿâèëñÿ òîëüêî â 1978 ãîäó [1064].) Ñ 1976 ãîäà áûëî ïðåäëîæåíî ìíîæåñòâî êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè . Ìíîãèå èç íèõ íåáåçîïàñíû. Èç òåõ, êîòîðûå ÿâëÿþòñÿ áåçîïàñíûìè, ìíîãèå íåïðèãîäíû äëÿ ïðàêòè÷åñêîé ðåàëèçàöèè . Ëèáî îíè èñïîëüçóþò ñëèøêîì áîëüøîé êëþ÷, ëèáî ðàçìåð ïîëó÷åííîãî øèôðîòåêñòà íàìíîãî ïðåâûøàåò ðà çìåð îòêðûòîãî òåêñòà. Íåìíîãèå àëãîðèòìû ÿâëÿþòñÿ è áåçîïàñíûìè, è ïðàêòè÷íûìè . Îáû÷íî ýòè àëãîðèòìû îñíîâàíû íà îäíîé èç òðóäíûõ ïðîáëåì, ðàññìîòðåííûõ â ðàçäåëå 11.2. Íåêîòîðûå èç ýòèõ áåçîïàñíûõ è ïðàêòè÷íûõ àëãîðèòìîâ ïîäõîäÿò òîëüêî äëÿ ðàñïðåäåëåíèÿ êëþ÷åé . Äðóãèå ïîäõîäÿò äëÿ øèôðîâàíèÿ (è äëÿ ðàñïðåäåëåíèÿ êëþ÷åé) . Òðåòüè ïîëåçíû òîëüêî äëÿ öèôðîâûõ ïîäïèñåé . Òîëüêî òðè àëãîðèòìà õîðîøî ðàáîòàþò êàê ïðè øèôðîâàíèè, òàê è äëÿ öèôðîâîé ïîäïèñè: RSA, EIGamal è Rabin. Âñå ýòè àëãîðèòìû ìåäëåííû. Îíè øèôðóþò è äåøèôðèðóþò äàííûå íàìíîãî ìåäëåííåå, ÷åì ñèììåòðè÷íûå àëãîðèòìû. Îáû÷íî èõ ñêîðîñòü íåäîñòàòî÷íà äëÿ øèôð îâàíèÿ áîëüøèõ îáúåìîâ äàííûõ . Ãèáðèäíûå êðèïòîñèñòåìû (ñì. ðàçäåë 2.5) ïîçâîëÿþò óñêîðèòü ñîáûòèÿ: äëÿ øèôðîâàíèÿ ñîîáùåíèÿ èñïîëüçóåòñÿ ñèììåòðè÷íûé àëãîðèòì ñî ñëó÷àéíûì êëþ÷îì, à àëãîðèòì ñ îòêðûòûì êëþ÷îì ïðèìåíÿåòñÿ äëÿ øèôðîâàíèÿ ñëó÷àéíîãî ñåàíñîâîãî êëþ÷à. Áåçîïàñíîñòü àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè Òàê êàê ó êðèïòîàíàëèòèêà åñòü äîñòóï ê îòêðûòîìó êëþ÷ó, îí âñåãäà ìîæåò âûáðàòü äëÿ øèôðîâàíèÿ ëþáîå ñîîáùåíèå. Ýòî îçíà÷àåò, ÷òî êðèïòîàíàëèòèê ïðè çàäàííîì C = EK(P) ìîæåò ïîïðîáîâàòü óãàäàòü çíà÷åíèå P è ëåãêî ïðîâåðèòü ñâîþ äîãàäêó. Ýòî ÿâëÿåòñÿ ñåðüåçíîé ïðîáëåìîé, åñëè êîëè÷åñòâî âîçìîæíûõ îòêðûòûõ òå êñòîâ íàñòîëüêî ìàëî, ÷òî äåëàåò âîçìîæíûì èñ÷åðïûâàþùèé ïîèñê, íî ýòó ïðîáëåìó ëåãêî ìîæíî ðåøèòü, ä îïîëíÿÿ ñîîáùåíèÿ ñòðîêîé ñëó÷àéíûõ áèòîâ . Ýòî ïðèâîäèò ê òîìó, ÷òî èäåíòè÷íûì îòêðûòûì òåêñòàì ñîîòâå òñòâóþò ðàçëè÷íûå øèôðîòåêñòû . (Áîëåå ïîäðîáíî ýòà èäåÿ îïèñàíà â ðàçäåëå 23.15.) Ýòî îñîáåííî âàæíî, åñëè àëãîðèòì ñ îòêðûòûì êëþ÷îì èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ ñåàíñîâîãî êëþ÷à . Åâà ìîæåò ñîçäàòü áàçó äàííûõ âñåõ âîçìîæíûõ ñåàíñîâûõ êëþ÷åé, çàøèôðîâàííûõ îòêðûòûì êëþ÷îì Áîáà . Êîíå÷íî, ýòî ïîòðåáóåò ìíîãî âðåìåíè è ïàìÿòè, íî âçëîì ãðóáîé ñèëîé ðàçðåøåííîãî ê ýêñïîðòó 40-áèòîâîãî êëþ÷à èëè 56-áèòîâîãî êëþ÷à DES ïîòðåáóåò íàìíîãî áîëüøå âðåìåíè è ïàìÿòè . Êàê òîëüêî Åâà ñîçäàñò òàêóþ áàçó äàííûõ, îíà ïîëó÷èò êëþ÷ Áîáà è ñìîæåò ÷èòàòü åãî ïî÷òó . Àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè ñïðîåêòèðîâàíû òàê, ÷òîáû ïðîòèâîñòîÿòü âñêðûòèÿì ñ âûáðàííûì î òêðûòûì òåêñòîì. Èõ áåçîïàñíîñòü îñíîâàíà êàê íà òðóäíîñòè ïîëó÷åíèÿ ñåêðåòíîãî êëþ÷à ïî îòêðûòîìó, òàê è íà òðóäíîñòè ïîëó÷èòü îòêðûòûé òåêñò ïî øèôðîòåêñòó . Îäíàêî áîëüøèíñòâî àëãîðèòìîâ ñ îòêðûòûì êëþ÷îì îñîáåííî ÷óâñòâèòåëüíû ê âñêðûòèþ ñ âûáðàííûì øèôðîòåêñòîì (ñì. ðàçäåë 1.1).  ñèñòåìàõ, â êîòîðûõ îïåðàöèÿ, îáðàòíàÿ øèôðîâàíèþ, èñïîëüçóåòñÿ äëÿ öèôðîâîé ïîäïèñè, ýòî âñêðûòèå íåâîçìîæíî ïðåäîòâðàòèòü, åñëè äëÿ øèôðîâàíèÿ è ïîäïèñåé èñïîëüçîâàòü îäèíàêîâûå êëþ÷è . Ñëåäîâàòåëüíî, âàæíî óâèäåòü âñþ ñèñòåìó öåëèêîì, à íå òîëüêî ñîñòàâíûå ÷àñòè . Õîðîøèå ïðîòîêîëû ñ îòêðûòûìè êëþ÷àìè ñïðîåêòèðîâàíû òàêèì îáðàçîì, ÷òîáû ðàçëè÷íûå ñòîðîíû íå ìîãëè ðàñøèôðîâàòü ïðîè çâîëüíûå ñîîáùåíèÿ, ãåíåðèðîâàííûå äðóãèìè ñòîðîíàìè, - õîðîøèì ïðèìåðîì ÿâëÿþòñÿ ïðîòîêîëû äîêàç àòåëüñòâà èäåíòè÷íîñòè (ñì. ðàçäåë 5.2).
19.2 Àëãîðèòìû ðþêçàêà Ïåðâûì àëãîðèòìîì äëÿ îáîáùåííîãî øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì ñòàë àëãîðèòì ðþêçàêà, ðàçðàá îòàííûé Ðàëüôîì Ìåðêëîì è Ìàðòèíîì Õåëëìàíîì [713, 1074]. Îí ìîã áûòü èñïîëüçîâàí òîëüêî äëÿ øèôðîâ àíèÿ, õîòÿ ïîçäíåå Àäè Øàìèð àäàïòèðîâàë ñèñòåìó äëÿ öèôðîâîé ïîäïèñè [1413]. Áåçîïàñíîñòü àëãîðèòìîâ ðþêçàêà îïèðàåòñÿ íà ïðîáëåìó ðþêçàêà , NP-ïîëíóþ ïðîáëåìó. Õîòÿ ïîçæå áûëî îáíàðóæåíî, ÷òî ýòîò àëã îðèòì íåáåçîïàñåí, åãî ñòîèò èçó÷èòü, òàê êàê îí äåìîíñòðèðóåò âîçìîæíîñòü ïðèìåíåíèÿ NP-ïîëíîé ïðîáëåìû
â êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè . Ïðîáëåìà ðþêçàêà íåñëîæíà. Äàíà êó÷à ïðåäìåòîâ ðàçëè÷íîé ìàññû, ìîæíî ëè ïîëîæèòü íåêîòîðûå èç ýòèõ ïðåäìåòîâ â ðþêçàê òàê, ÷òîáû ìàññà ðþêçàêà ñòàëà ðàâíà îïðåäåëåííîìó çíà÷åíèþ ? Áîëåå ôîðìàëüíî, äàí íàáîð çíà÷åíèé Ml, M2, . . . , Mn è ñóììà S, âû÷èñëèòü çíà÷åíèÿ bi , òàêèå ÷òî S = bl M 1 + b2 M 2 + . . . + bn M n bi ìîæåò áûòü ëèáî íóëåì, ëèáî åäèíèöåé . Åäèíèöà ïîêàçûâàåò, ÷òî ïðåäìåò êëàäóò â ðþêçàê, à íîëü - ÷òî íå êëàäóò. Íàïðèìåð, ìàññû ïðåäìåòîâ ìîãóò èìåòü çíà÷åíèÿ 1 , 5, 6, 11, 14 è 20. Âû ìîæåòå óïàêîâàòü ðþêçàê òàê, ÷òîáû åãî ìàññà ñòàëà ðàâíà 22, èñïîëüçîâàâ ìàññû 5, 6 è 11. Íåâîçìîæíî óïàêîâàòü ðþêçàê òàê, ÷òîáû åãî ìà ññà áûëà ðàâíà 24.  îáùåì ñëó÷àå âðåìÿ, íåîáõîäèìîå äëÿ ðåøåíèÿ ýòîé ïðîáëåìû, ñ ðîñòîì êîëè÷åñòâà ïðå äìåòîâ â êó÷å ðàñòåò ýêñïîíåíöèàëüíî .  îñíîâå àëãîðèòìà ðþêçàêà Ìåðêëà-Õåëëìàíà ëåæèò èäåÿ øèôðîâàòü ñîîáùåíèå êàê ðåøåíèå íàáîðà ïð îáëåì ðþêçàêà. Ïðåäìåòû èç êó÷è âûáèðàþòñÿ ñ ïîìîùüþ áëîêà îòêðûòîãî òåêñòà, ïî äëèíå ðàâíîãî êîëè÷åñòâó ïðåäìåòîâ â êó÷å (áèòû îòêðûòîãî òåêñòà ñîîòâåòñòâóþò çíà÷åíèÿì b), à øèôðîòåêñò ÿâëÿåòñÿ ïîëó÷åííîé ñó ììîé. Ïðèìåð øèôðîòåêñòà, çàøèôðîâàííîãî ñ ïîì îùüþ ïðîáëåìû ðþêçàêà, ïîêàçàí íà . Îòêðûòûé òåêñò
111 0 0 1
010 1 1 0
000 0 0 0
011 0 0 0
Ðþêçàê
1 5 6 11 14 20
1 5 6 11 14 20
1 5 6 11 14 20
1 5 6 11 14 20
Øèôðîòåêñò
1+5+6+20=32
5+11+14=30
0=0
5+6=11
Ðèñ. 19-1. Øèôðîâàíèå ñ ðþêçàêàìè Ôîêóñ â òîì, ÷òî íà ñàìîì äåëå ñóùåñòâóþò äâå ðàçëè÷íûå ïðîáëåìû ðþêçàêà , îäíà ðåøàåòñÿ çà ëèíåéíîå âðåìÿ, à äðóãàÿ, êàê ñ÷èòàåòñÿ, - íåò . Ëåãêóþ ïðîáëåìó ìîæíî ïðåâðàòèòü â òðóäíóþ . Îòêðûòûé êëþ÷ ïðåäñòàâëÿåò ñîáîé òðóäíóþ ïðîáëåìó, êîòîðóþ ëåãêî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ, íî íåâîçìîæíî äëÿ äåøèôðèðîâ àíèÿ ñîîáùåíèé. Çàêðûòûé êëþ÷ ÿâëÿåòñÿ ëåãêîé ïðîáëåìîé, äàâàÿ ïðîñòîé ñïîñîá äåøèôðèðîâàòü ñîîáùåíèÿ . Òîìó, êòî íå çíàåò çàêðûòûé êëþ÷, ïðèäåòñÿ ïîïûòàòüñÿ ðåøèòü òðóäíóþ ïðîáëåìó ðþêçàêà . Ñâåðõâîçðàñòàþùèå ðþêçàêè ×òî òàêîå ëåãêàÿ ïðîáëåìà ðþêçàêà ? Åñëè ïåðå÷åíü ìàññ ïðåäñòàâëÿåò ñîáîé ñâåðõâîçðàñòàþùóþ ïîñëåäîâàòåëüíîñòü, òî ïîëó÷åííóþ ïðîáëåìó ðþêçàêà ëåãêî ðåøèòü. Ñâåðõâîçðàñòàþùàÿ ïîñëåäîâàòåëüíîñòü - ýòî ïîñëåäîâàòåëüíîñòü, â êîòîðîé êàæäîé ÷ëåí áîëüøå ñóììû âñåõ ïðåäûäóùèõ ÷ëåíîâ . Íàïðèìåð, ïîñëåäîâàòåëüíîñòü {1,3,6,13,27,52} ÿâëÿåòñÿ ñâåðõâîçðàñòàþùåé, à {1,3,4,9, 15,25} - íåò. Ðåøåíèå ñâåðõâîçðàñòàþùåãî ðþêçàêà íàéòè ëåãêî. Âîçüìèòå ïîëíûé âåñ è ñðàâíèòå åãî ñ ñàìûì áîë üøèì ÷èñëîì ïîñëåäîâàòåëüíîñòè . Åñëè ïîëíûé âåñ ìåíüøå, ÷åì ýòî ÷èñëî, òî åãî íå êëàäóò â ðþêçàê . Åñëè ïîëíûé âåñ áîëüøå èëè ðàâåí ýòîìó ÷èñëó, òî îíî êëàäåòñÿ â ðþêçàê . Óìåíüøèì ìàññó ðþêçàêà íà ýòî çíà÷åíèå è ïåðåéäåì ê ñëåäóþùåìó ïî âåëè÷èíå ÷èñëó ïîñëåäîâàòåëüíîñòè . Áóäåì ïîâòîðÿòü, ïîêà ïðîöåññ íå çàêîí÷èòñÿ . Åñëè ïîëíûé âåñ óìåíüøèòñÿ äî íóëÿ, òî ðåøåíèå íàéäåíî.  ïðîòèâíîì ñëó÷àå , there isn't. Íàïðèìåð, ïóñòü ïîëíûé âåñ ðþêçàêà - 70, à ïîñëåäîâàòåëüíîñòü âåñîâ {2,3,6, 13,27,52}. Ñàìûé áîëüøîé âåñ, 52, ìåíüøå 70, ïîýòîìó êëàäåì 52 â ðþêçàê. Âû÷èòàÿ 52 èç 70, ïîëó÷àåì 18. Ñëåäóþùèé âåñ, 27, áîëüøå 18, ïîýòîìó 27 â ðþêçàê íå êëàäåòñÿ. âåñ, 13,ìåíüøå 18, ïîýòîìó êëàäåì 13 â ðþêçàê. Âû÷èòàÿ 13 èç 18, ïîëó÷àåì 5. Ñëåäóþùèé âåñ, 6, áîëüøå 5, ïîýòîìó 6 íå êëàäåòñÿ â ðþêçàê. Ïðîäîëæåíèå ýòîãî ïðîöåññà ïîêàæåò, ÷òî è 2, è 3 êëàäóòñÿ â ðþêçàê, è ïîëíûé âåñ óìåíüøàåòñÿ äî 0, ÷òî ñîîáùàåò î íàéäåííîì ðåøåíèè . Åñëè áû ýòî áûë áëîê øèôðîâàíèÿ ìåòîäîì ðþêçàêà Ìåðêëà-Õåëëìàíà , îòêðûòûé òåêñò, ïîëó÷åííûé èç çíà÷åíèÿ øèôð îòåêñòà 70, áûë áû ðàâåí 110101. Íå ñâåðõâîçðàñòàþùèå, èëè íîðìàëüíûå, ðþêçàêè ïðåäñòàâëÿþò ñîáîé òðóäíóþ ïðîáëåìó - áûñòðîãî àëã îðèòìà äëÿ íèõ íå íàéäåíî. Åäèíñòâåííûì èçâåñòíûì ñïîñîáîì îïðåäåëèòü, êàêèå ïðåäìåòû êëàäóòñÿ â ðþêçàê, ÿâëÿåòñÿ ìåòîäè÷åñêàÿ ïðîâåðêà âîçìîæíûõ ðåøåíèé, ïîêà âû íå íàòêíåòåñü íà ïðàâèëüíîå . Ñàìûé áûñòðûé àëãîðèòì, ïðèíèìàÿ âî âíèìàíèå ðàçëè÷íóþ ýâðèòñèêó , èìååò ýêñïîíåíöèàëüíóþ çàâèñèìîñòü îò ÷èñëà âî çìîæíûõ ïðåäìåòîâ. Äîáàâüòå ê ïîñëåäîâàòåëüíîñòè âåñîâ åùå îäèí ÷ëåí, è íàéòè ðåøåíèå ñòàíåò âäâîå òðóäíåå. Ýòî íàìíîãî òðóäíåå ñâåðõâîçðàñòàþùåãî ðþêçàêà, ãäå, åñëè âû äîáàâèòå îäèí ïðåäìåò ê ïîñëåäîâ àòåëüíîñòè, ïîèñê ðåøåíèÿ óâåëè÷èòñÿ íà îäíó îïåðàöèþ . Àëãîðèòì Ìåðêëà-Õåëëìàíà îñíîâàí íà ýòîì ñâîéñòâå . Çàêðûòûé êëþ÷ ÿâëÿåòñÿ ïîñëåäîâàòåëüíîñòüþ âåñîâ ïðîáëåìû ñâåðõâîçðàñòàþùåãî ðþêçàêà. Îòêðûòûé êëþ÷ - ýòî ïîñëåäîâàòåëüíîñòü âåñîâ ïðîáëåìû íîðìàëüíîãî ðþêçàêà ñ òåì æå ðåøåíèåì. Ìåðêë è Õåëëìàí, èñïîëüçóÿ ìîäóëüíóþ àðèôìåòèêó, ðàçðàáîòàëè ñïîñîá ïð åîáðàçîâàíèÿ ïðîáëåìû ñâåðõâîçðàñòàþùåãî ðþêçàêà â ïðîáëåìó íîðìàëüíîãî ðþêçàêà.
Ñîçäàíèå îòêðûòîãî êëþ÷à èç çàêðûòîãî Ðàññìîòðèì ðàáîòó àëãîðèòìà, íå óãëóáëÿÿñü â òåîðèþ ÷èñåë : ÷òîáû ïîëó÷èòü íîðìàëüíóþ ïîñëåäîâàòåë üíîñòü ðþêçàêà, âîçüìåì ñâåðõâîçðàñòàþùóþ ïîñëåäîâàòåëüíîñòü ðþêçàêà, íàïðèìåð, {2,3,6,13,27,52}, è óìíîæèì ïî ìîäóëþ m âñå çíà÷åíèÿ íà ÷èñëî n. Çíà÷åíèå ìîäóëÿ äîëæíî áûòü áîëüøå ñóììû âñåõ ÷èñåë ïîñëåäîâ àòåëüíîñòè, íàïðèìåð, 105. Ìíîæèòåëü äîëæåí áûòü âçàèìíî ïðîñòûì ÷èñëîì ñ ìîäóëåì, íàïðèìåð, 31. Íîðìàëüíîé ïîñëåäîâàòåëüíîñòüþ ðþêçàêà áóäåò 2*31 mod 105 = 62 3*31 mod 105 = 93 6*31 mod 105 = 81 13*31 mod 105 = 88 27*31 mod 105 = 102 52*31 mod 105 = 37 Èòîãî - {62,93,81,88,102,37}. Ñâåðõâîçðàñòàþùàÿ ïîñëåäîâàòåëüíîñòü ðþêçàêà ÿâëÿåòñÿ çàêðûòûì êëþ÷îì, à íîðìàëüíàÿ ïîñëåäîâàòåë üíîñòü ðþêçàêà - îòêðûòûì. Øèôðîâàíèå Äëÿ øèôðîâàíèÿ ñîîáùåíèå ñíà÷àëà ðàçáèâàåòñÿ íà áëîêè, ðàâíûå ïî äëèíå ÷èñëó ýëåìåíòîâ ïîñëåäîâ àòåëüíîñòè ðþêçàêà. Çàòåì, ñ÷èòàÿ, ÷òî åäèíèöà óêàçûâàåò íà ïðèñóòñòâèå ÷ëåíà ïîñëåäîâàòåëüíîñòè, à íîëü - íà åãî îòñóòñòâèå, âû÷èñëÿåì ïîëíûå âåñà ðþêçàêîâ - ïî îäíîìó äëÿ êàæäîãî áëîêà ñîîáùåíèÿ . Íàïðèìåð, åñëè ñîîáùåíèå â áèíàðíîì âèäå âûãëÿäèò êàê 011000110101101110, øèôðîâàíèå, èñïîëüçóþùåå ïðåäûäóùóþ ïîñëåäîâàòåëüíîñòü ðþêçàêà, áóäåò ïðîèñõîäèòü ñëåäóþùèì îáðàçîì : ñîîáùåíèå = 011000 110101 101110 011000 ñîîòâåòñòâóåò 93 + 81 = 174 110101 ñîîòâåòñòâóåò 62 + 93 + 88 + 37 = 280 101110 ñîîòâåòñòâóåò 62 + 81 + 88 + 102 = 333 Øèôðîòåêñòîì áóäåò ïîñëåäîâàòåëüíîñòü 174,280,333 Äåøèôðèðîâàíèå Çàêîííûé ïîëó÷àòåëü äàííîãî ñîîáùåíèÿ çíàåò çàêðûòûé êëþ÷: îðèãèíàëüíóþ ñâåðõâîçðàñòàþùóþ ïîñë åäîâàòåëüíîñòü, à òàêæå çíà÷åíèÿ n è m, èñïîëüçîâàííûå äëÿ ïðåâðàùåíèÿ åå â íîðìàëüíóþ ïîñëåäîâàòåëüíîñòü ðþêçàêà. Äëÿ äåøèôðèðîâàíèÿ ñîîáùåíèÿ ïîëó÷àòåëü äîëæåí ñíà÷àëà îïðåäåëèòü n-1, òàêîå ÷òî n(n-1)≡1 (mod m). Êàæäîå çíà÷åíèå ùèôðîòåêñòà óìíîæàåòñÿ íà n-1 mod m, à çàòåì ðàçäåëÿåòñÿ ñ ïîìîùüþ çàêðûòîãî êëþ÷à, ÷òîáû ïîëó÷èòü çíà÷åíèÿ îòêðûòîãî òåêñòà .  íàøåì ïðèìåðå ñâåðõâîçðàñòàþùàÿ ïîñëåäîâàòåëüíîñòü - {2,3,6,13,27,52), m ðàâíî 105, à n - 31. Øèôðîòåêñòîì ñëóæèò 174,280,333.  ýòîì ñëó÷àå n-1 ðàâíî 61, ïîýòîìó çíà÷åíèÿ øèôðîòåêñòà äîëæíû áûòü óìíîæ åíû íà 61 mod 105. 174*61 mod 105 = 9 = 3 + 6, ÷òî ñîîòâåòñòâóåò 011000 280*61 mod 105 = 70 = 2 + 3 + 13 + 52, ÷òî ñîîòâåòñòâóåò 110101 333*61 mod 105 = 48 = 2 + 6 + 13 + 27, ÷òî ñîîòâåòñòâóåò 101110 Ðàñøèôðîâàííûì îòêðûòûì òåêñòîì ÿâëÿåòñÿ 011000 110101 101110. Ïðàêòè÷åñêèå ðåàëèçàöèè Äëÿ ïîñëåäîâàòåëüíîñòè èç øåñòè ýëåìåíòîâ íåòðóäíî ðåøèòü çàäà÷ó ðþêçàêà, äàæå åñëè ïîñëåäîâàòåë üíîñòü íå ÿâëÿåòñÿ ñâåðõâîçðàñòàþùåé . Ðåàëüíûå ðþêçàêè äîëæíû ñîäåðæàòü íå ìåíåå 250 ýëåìåíòîâ . Äëèíà êàæäîãî ÷ëåíà ñâåðõâîçðàñòàþùåé ïîñëåäîâàòåëüíîñòè äîëæíà áûòü ãäå-òî ìåæäó 200 è 400 áèòàìè , à äëèíà ìîäóëÿ äîëæíà áûòü îò 100 äî 200 áèòîâ . Äëÿ ïîëó÷åíèÿ ýòèõ çíà÷åíèé ïðàêòè÷åñêèå ðåàëèçàöèè èñïîëüçóþò ãåíåðàòîðû ñëó÷àéíîé ïîñëåäîâàòåëüíîñòè . Âñêðûâàòü ïîäîáíûå ðþêçàêè ïðè ïîìîùè ãðóáîé ñèëû áåñïîëåçíî . Åñëè êîìïüþòåð ìîæåò ïðîâåðÿòü ìè ëëèîí âàðèàíòîâ â ñåêóíäó, ïðîâåðêà âñåõ âîçìîæíûõ âàðèàíòîâ ðþêçàêà ïîòðåáóåò ñâûøå 10 46 ëåò. Äàæå ìèë-
ëèîí ìàøèí, ðàáîòàþùèõ ïàðàëëåëüíî, íå óñïååò ðåøèòü ýòó çàäà÷ó äî ïðåâðàùåíèÿ ñîëíöà â ñâåðõíîâóþ çâå çäó. Áåçîïàñíîñòü ìåòîäà ðþêçàêà Âçëîìàëè êðèïòîñèñòåìó, îñíîâàííóþ íà ïðîáëåìå ðþêçàêà, íå ìèëëèîí ìàøèí, à ïàðà êðèïòîãðàôîâ . Ñíà÷àëà áûë ðàñêðûò åäèíñòâåííûé áèò îòêðûòîãî òåêñòà [725]. Çàòåì Øàìèð ïîêàçàë, ÷òî â îïðåäåëåííûõ îáñòî ÿòåëüñòâàõ ðþêçàê ìîæåò áûòü âçëîìàí [1415, 1416]. Áûëè è äðóãèå äîñòèæåíèÿ - [1428, 38, 754, 516, 488] - íî íèêòî íå ìîã âçëîìàòü ñèñòåìó Ìàðòèíà-Õåëëìàíà â îáùåì ñëó÷àå . Íàêîíåö Øàìèð è Öèïïåë (Zippel) [1418, 1419, 1421] îáíàðóæèëè ñëàáûå ìåñòà â ïðåîáðàçîâàíèè, ÷òî ïîçâîëèëî èì âîññòàíîâèòü ñâåðõâîçðàñòàþùóþ ïîñëåäîâàòåëüíîñòü ðþêçàêà ïî íîðìàëüíîé . Òî÷íûå äîêàçàòåëüñòâà âûõîäÿò çà ðàìêè ýòîé êíèãè, íî èõ õîð îøèé îáçîð ìîæíî íàéòè â [1233, 1244]. Íà êîíôåðåíöèè, ãäå äîêëàäûâàëèñü ýòè ðåçóëüòàòû, âñêðûòèå áûëî ïðîäåìîíñòðèðîâàíî ïî ñòàäèÿì íà êîìïüþòåðå Apple II [492, 494]. Âàðèàíòû ðþêçàêà Ïîñëå âñêðûòèÿ îðèãèíàëüíîé ñõåìû Ìåðêëà-Õåëëìàíà áûëî ïðåäëîæåíî ìíîæåñòâî äðóãèõ ñèñòåì íà ïðèíöèïå ðþêçàêà: íåñêîëüêî ïîñëåäîâàòåëüíûõ ðþêçàêîâ, ðþêçàêè Ãðýì-Øàìèðà (Graham-Shamir), è äðóãèå. Âñå îíè áûëè ïðîàíàëèçèðîâàíû è âçëîìàíû , êàê ïðàâèëî, ñ èñïîëüçîâàíèåì îäíèõ è òåõ æå êðèïòîãðàôè÷ åñêèõ ìåòîäîâ, è èõ îáëîìêè áûëè ñìåòåíû ñî ñêîðîñòíîãî øîññå êðèïòîãðàôèè [260, 253, 269, 921, 15, 919, 920, 922, 366, 254, 263, 255]. Õîðîøèé îáçîð ýòèõ ñèñòåì è èõ êðèïòîàíàëèç ìîæíî íàéòè â [267, 479, 257, 268]. Áûëè ïðåäëîæåíû è äðóãèå àëãîðèòìû, èñïîëüçóþùèå ïîõîæèå èäåè, íî âñå îíè òîæå áûëè âçëîìàíû . Êðèïòîñèñòåìà Lu-Lee [990, 13] áûëà âçëîìàíà â [20, 614, 873], åå ìîäèôèêàöèÿ [507] òàêæå îêàçàëàñü íåáåçîïàñíîé [1620]. Âñêðûòèÿ êðèïòîñèñòåìû Goodman-McAuley ïðèâåäåíû â [646, 647, 267, 268]. Êðèïòîñèñòåìà Pieprzyk [1246] áûëà âçëîìàíà àíàëîãè÷íûì îáðàçîì . Êðèïòîñèñòåìà Niemi [1169], îñíîâàííàÿ íà ìîäóëüíûõ ðþêçàêàõ, âçëîìàíà â [345, 788]. Íîâûé, ìíîãîñòàäèéíûé ðþêçàê [747] ïîêà åùå íå áûë âçëîìàí, íî ÿ íå îïòèìèñòè÷åí. Äðóãèì âàðèàíòîì ÿâëÿåòñÿ [294]. Õîòÿ âàðèàíò àëãîðèòìà ðþêçàêà â íàñòîÿùåå âðåìÿ áåçîïàñåí - àëãîðèòì ðþêçàêà Char-Rivest [356], íåñìîòðÿ íà "ñïåöèàëèçèðîâàííîå âñêðûòèå" [743] - êîëè÷åñòâî íåîáõîäèìûõ âû÷èñëåíèé äåëàåò åãî íàìíîãî ìåíåå ïîëåçíûì, ÷åì äðóãèå ðàññìîòðåííûå çäåñü àëãîðèòìû . Âàðèàíò, íàçâàííûé Powerline System (ñèñòåìà ýëåêòðîïèòàíèÿ) íåáåçîïàñåí [958]. Áîëåå òîãî, ó÷èòûâàÿ ëåãêîñòü ñ êîòîðîé ïàëè âñå îñòàëüíûå âàðèàíòû, ä îâåðÿòü óñòîÿâøèì ïîêà âàðèàíòîì, ïî âèäèìîìó, íåîñòîðîæíî . Ïàòåíòû Îðèãèíàëüíûé àëãîðèòì Ìåðêëà-Õåëëìàíà çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [720] è â îñòàëüíîì ìèðå (ñì. 18th). Public Key Partners (PKP) ïîëó÷èëà ëèöåíçèþ íà ïàòåíò âìåñòå ñ äðóãèìè ïàòåíòàìè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè (ñì. ðàçäåë 25.5). Âðåìÿ äåéñòâèÿ ïàòåíòà ÑØÀ èñòå÷åò 19 àâãóñòà 1997 ãîäà. Òàáë. 19-1. Èíîñòðàííûå ïàòåíòû íà àëãîðèòì ðþêçàêà ÌåðêëàÕåëëìàíà Ñòðàíà
Íîìåð
Äàòà ïîëó÷åíèÿ
Áåëüãèÿ
871039
5 àïðåëÿ 1979 ãîäà
Íèäåðëàíäû
7810063
10 àïðåëÿ 1979 ãîäà
Âåëèêîáðèòàíèÿ
2006580
2 ìàÿ 1979 ãîäà
Ãåðìàíèÿ
2843583
10 ìàÿ 1979 ãîäà
Øâåöèÿ
7810478
14 ìàÿ 1979 ãîäà
Ôðàíöèÿ
2405532
8 èþíÿ 1979 ãîäà
Ãåðìàíèÿ
2843583
3 ÿíâàðÿ 1982 ãîäà
Ãåðìàíèÿ
2857905
15 èþëÿ 1982 ãîäà
Êàíàäà
1128159
20 èþëÿ 1982 ãîäà
Âåëèêîáðèòàíèÿ
2.006580
18 àâãóñòà 1982 ãîäà
Øâåéöàðèÿ
63416114
14 ÿíâàðÿ 1983 ãîäà
Èòàëèÿ
1099780
28 ñåíòÿáðÿ 1985 ãîäà
19.3 RSA Âñêîðå ïîñëå àëãîðèòìà ðþêçàêà Ìåðêëà ïîÿâèëñÿ ïåðâûé ïîëíîöåííûé àëãîðèòì ñ îòêðûòûì êëþ÷îì , êîòîðûé ìîæíî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ è öèôðîâûõ ïîäïèñåé : RSA [1328, 1329]. Èç âñåõ ïðåäëîæåííûõ çà ýòè ãîäû àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè RSA ïðîùå âñåãî ïîíÿòü è ðåàëèçîâàòü . (Ìàðòèí Ãàðäíåð (Martin Gardner) îïóáëèêîâàë ðàííåå îïèñàíèå àëãîðèòìà â ñâîåé êîëîíêå "Ìàòåìàòè÷åñêèå èãðû" â Scientific American [599].) Îí òàêæå ÿâëÿåòñÿ ñàìûì ïîïóëÿðíûì . Íàçâàííûé â ÷åñòü òðåõ èçîáðåòàòåëåé - Ðîíà Ðèâåñòà (Ron Rivest), Àäè Øàìèðà (Adi Shamir) è Ëåîíàðäà Ýäëìàíà (Leonard Adleman) - ýòîò àëãîðèòì ìíîãèå ãîäû ïðîò èâîñòîèò èíòåíñèâíîìó êðèïòîàíàëèçó . Õîòÿ êðèïòîàíàëèç íè äîêàçàë, íè îïðîâåðã áåçîïàñíîñòü RSA, îí, ïî ñóòè, îáîñíîâûâàåò óðîâåíü äîâåðèÿ ê àëãîðèòìó . Áåçîïàñíîñòü RSA îñíîâàíà íà òðóäíîñòè ðàçëîæåíèÿ íà ìíîæèòåëè áîëüøèõ ÷èñåë . Îòêðûòûé è çàêðûòûé êëþ÷è ÿâëÿþòñÿ ôóíêöèÿìè äâóõ áîëüøèõ (100 - 200 ðàçðÿäîâ èëè äàæå áîëüøå) ïðîñòûõ ÷èñåë. Ïðåäïîëàãàåòñÿ, ÷òî âîññòàíîâëåíèå îòêðûòîãî òåêñòà ïî øèôðîòåêñòó è îòêðûòîìó êëþ÷ó ýêâèâàëåíòíî ðàçëîæåíèþ íà ìíîæèòåëè äâóõ áîëüøèõ ÷èñåë. Äëÿ ãåíåðàöèè äâóõ êëþ÷åé èñïîëüçóþòñÿ äâà áîëüøèõ ñëó÷àéíûõ ïðîñòûõ ÷èñëà , p è q. Äëÿ ìàêñèìàëüíîé áåçîïàñíîñòè âûáèðàéòå p è q ðàâíîé äëèíû. Ðàññ÷èòûâàåòñÿ ïðîèçâåäåíèå: n=pq Çàòåì ñëó÷àéíûì îáðàçîì âûáèðàåòñÿ êëþ÷ øèôðîâàíèÿ e, òàêîé ÷òî e è (p-1)(q-1) ÿâëÿþòñÿ âçàèìíî ïðîñòûìè ÷èñëàìè. Íàêîíåö ðàñøèðåííûé àëãîðèòì Ýâêëèäà èñïîëüçóåòñÿ äëÿ âû÷èñëåíèÿ êëþ÷à äåøèôðèðîâ àíèÿ d, òàêîãî ÷òî ed = 1 (mod (p-1)(q-1)) Äðóãèìè ñëîâàìè d = e-1 mod ((p-1)(q-1)) Çàìåòèì, ÷òî d è n òàêæå âçàèìíî ïðîñòûå ÷èñëà. ×èñëà e è n - ýòî îòêðûòûé êëþ÷, à ÷èñëî d - çàêðûòûé. Äâà ïðîñòûõ ÷èñëà p è q áîëüøå íå íóæíû. Îíè äîëæíû áûòü îòáðîøåíû, íî íå äîëæíû áûòü ðàñêðûòû . Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ m îíî ñíà÷àëà ðàçáèâàåòñÿ íà öèôðîâûå áëîêè, ìåíüøèå n (äëÿ äâîè÷íûõ äàííûõ âûáèðàåòñÿ ñàìàÿ áîëüøàÿ ñòåïåíü ÷èñëà 2, ìåíüøàÿ n). Òî åñòü, åñëè p è q - 100-ðàçðÿäíûå ïðîñòûå ÷èñëà , òî n áóäåò ñîäåðæàòü îêîëî 200 ðàçðÿäîâ, è êàæäûé áëîê ñîîáùåíèÿ mi äîëæåí áûòü îêîëî 200 ðàçðÿäîâ â äëèíó. (Åñëè íóæíî çàøèôðîâàòü ôèêñèðîâàííîå ÷èñëî áëîêîâ, èõ ìîæíî äîïîëíèòü íåñêîëüêèìè íóëÿìè ñë åâà, ÷òîáû ãàðàíòèðîâàòü, ÷òî áëîêè âñåãäà áóäóò ìåíüøå n. Çàøèôðîâàííîå ñîîáùåíèå c áóäåò ñîñòîÿòü èç áëîêîâ ci òîé æå ñàìîé äëèíû. Ôîðìóëà øèôðîâàíèÿ âûãëÿäèò òàê ci = mi e mod n Äëÿ ðàñøèôðîâêè ñîîáùåíèÿ âîçüìèòå êàæäûé çàøèôðîâàííûé áëîê ci è âû÷èñëèòå mi = ci d mod n Òàê êàê ci d = (mi e)d = mi ed = mi k(p-1)(q-1)+1 = mi mi k(p-1)(q-1) = mi *1 = mi ; âñå (mod n) ôîðìóëà âîññòàíàâëèâàåò ñîîáùåíèå . Ýòî ñâåäåíî â 17-é. Òàáë. 19-2. Øèôðîâàíèå RSA Îòêðûòûé êëþ÷: n ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë p è q (p è q äîëæíû õðàíèòüñÿ â ñåêðåòå) e ÷èñëî, âçàèìíî ïðîñòîå ñ (p-1)(q-1) Çàêðûòûé êëþ÷: d e-1 mod ((p-1)(q-1)) Øèôðîâàíèå: c = me mod n Äåøèôðèðîâàíèå: m = cd mod n Òî÷íî òàêæå ñîîáùåíèå ìîæåò áûòü çàøèôðîâàíî ñ ïîìîùüþ d, à çàøèôðîâàíî ñ ïîìîùüþ e, âîçìîæåí ëþáîé âûáîð. ß óáåðåãó âàñ îò òåîðèè ÷èñåë, äîêàçûâàþùåé, ïî÷åìó ýòîò àëãîðèòì ðàáîòàåò.  áîëüøèíñòâå
êíèã ïî êðèïòîãðàôèè ýòîò âîïðîñ ïîäðîáíî ðàññìîòðåí . Êîðîòêèé ïðèìåð âîçìîæíî ïîìîæåò ïîÿñíèòü ðàáîòó àëãîðèòìà . Åñëè p = 47 è q = 71, òî n = pq = 3337 Êëþ÷ e íå äîëæåí èìåòü îáùèõ ìíîæèòåëåé (p-1)(q-1)= 46*70 =3220 Âûáåðåì (ñëó÷àéíî) e ðàâíûì 79.  ýòîì ñëó÷àå d = 79-1 mod 3220 = 1019 Ïðè âû÷èñëåíèè ýòîãî ÷èñëà èñïîëüçîâàí ðàñøèðåííûé àëãîðèòì Ýâêëèäà (ñì. ðàçäåë 11.3). Îïóáëèêóåì e è n, ñîõðàíèâ â ñåêðåòå d. Îòáðîñèì p è q. Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ m = 6882326879666683 ñíà÷àëà ðàçäåëèì åãî íà ìàëåíüêèå áëîêè . Äëÿ íàøåãî ñëó÷àÿ ïîäîéäóò òðåõáóêâåííûå áëîêè . Ñîîáùåíèå ðàçáèâàåòñÿ íà øåñòü áëîêîâ mi : ml = 688 m2 = 232 m3 = 687 m4 = 966 m5 = 668 m6 = 003 Ïåðâûé áëîê øèôðóåòñÿ êàê 68879 mod 3337 = 1570 = cl Âûïîëíÿÿ òå æå îïåðàöèè äëÿ ïîñëåäóþùèõ áëîêîâ, ñîçäàåò øèôðîòåêñò ñîîáùåíèÿ : c = 1570 2756 2091 2276 2423 158 Äëÿ äåøèôðèðîâàíèå íóæíî âûïîëíèòü òàêîå æå âîçâåäåíèå â ñòåïåíü, èñïîëüçóÿ êëþ÷ äåøèôðèðîâàíèÿ 1019: 15701019 mod 3337 = 688 = ml Àíàëîãè÷íî âîññòàíàâëèâàåòñÿ îñòàâøàÿñÿ ÷àñòü ñîîáùåíèÿ . Àïïàðàòíûå ðåàëèçàöèè RSA Ñóùåñòâóåò ìíîãî ïóáëèêàöèé, çàòðàãèâàþùèõ òåìó àïïàðàòíûõ ðåàëèçàöèé RSA [1314, 1474, 1456, 1316, 1485, 874, 1222, 87, 1410, 1409, 1343, 998, 367, 1429, 523, 772]. Õîðîøèìè îáçîðíûìè ñòàòüÿìè ñëóæàò [258, 872]. Øèôðîâàíèå RSA âûïîëíÿåòñÿ ìíîãèìè ìèêðîñõåìàìè [1310, 252, 1101, 1317, 874, 69, 737, 594, 1275, 1563, 509, 1223]. ×àñòè÷íûé ñïèñîê äîñòóïíûõ â íàñòîÿùåå âðåìÿ ìèêðîñõåì RSA, âçÿòûé èç [150, 258], ïðèâåäåí â 16th. Íå âñå èç íèõ äîñòóïíû â ñâîáîäíîé ïðîäàæå . Òàáë. 19-3. Ñóùåñòâóþùèå ìèêðîñõåìû RSA Êîìïàíèÿ
Òàêòîâàÿ ÷àñòîòà
Alpha Techn. AT&T British Telecom Business Sim. Ltd. CalmosSyst-Inc. CNET Cryptech Cylink GEC Marconi Pijnenburg Sandia Siemens
25 ÌÃö 15 ÌÃö 10 ÌÃö 5 ÌÃö 20 ÌÃö 25 ÌÃö 14 ÌÃö 30 ÌÃö 25 ÌÃö 25 ÌÃö 8 ÌÃö 5 ÌÃö
Ñêîðîñòü ïåðåäà÷è â Áîäàõ íà 512 áèò 13K 19K 5.IK 3.8K 2.8K 5.3K 17K 6.8K 10.2K 50K IOK 8.5K
Òàêòîâûå öèêëû äëÿ øèôðîâàíèÿ 512 áèò 0.98 Ì 0.4 Ì 1Ì 0.67 Ì 0.36 Ì 2.3 Ì 0.4 Ì 1.2 Ì 0.67 Ì 0.256 Ì 0.4 Ì 0.03 Ì
Òåõíîëîãèÿ
Áèòîâ íà ìèêðîñõåìó
2 ìèêðîíà 1.5 ìèêðîíà 2.5 ìèêðîíà Âåíòèëüíàÿ ìàòðèöà 2 ìèêðîíà 1 ìèêðîí Âåíòèëüíàÿ ìàòðèöà 1.5 ìèêðîíà 1.4 ìèêðîíà 1 ìèêðîí 2 ìèêðîíà 1 ìèêðîí
1024 298 256 32 593 1024 120 1024 512 1024 272 512
Êîëè÷åñòâî òðàíçèñòîðîâ 180000 100000 --------95000 100000 33000 150000 160000 400000 86000 60000
Ñêîðîñòü RSA Àïïàðàòíî RSA ïðèìåðíî â 1000 ðàç ìåäëåííåå DES. Ñêîðîñòü ðàáîòû ñàìîé áûñòðîé ÑÁÈÑ-ðåàëèçàöèè RSA ñ 512-áèòîâûì ìîäóëåì - 64 êèëîáèòà â ñåêóíäó [258]. Ñóùåñòâóþò òàêæå ìèêðîñõåìû, êîòîðûå âûïîëí ÿ-
þò 1024-áèòîâîå øèôðîâàíèå RSA.  íàñòîÿùåå âðåìÿ ðàçðàáàòûâàþòñÿ ìèêðîñõåìû, êîòîðûå, èñïîëüçóÿ 512áèòîâûé ìîäóëü, ïðèáëèçÿòñÿ ê ðóáåæó 1 Ìáèò/ñ. Âîçìîæíî, îíè ïîÿâÿòñÿ â 1995 ãîäó. Ïðîèçâîäèòåëè òàêæå ïðèìåíÿþò RSA â èíòåëëåêòóàëüíûõ êàðòî÷êàõ, íî ýòè ðåàëèçàöèè ìåäëåííåå . Ïðîãðàììíî DES ïðèìåðíî â 100 ðàç áûñòðåå RSA. Ýòè ÷èñëà ìîãóò íåçíà÷èòåëüíî èçìåíèòüñÿ ïðè èçìåí åíèè òåõíîëîãèè, íî RSA íèêîãäà íå äîñòèãíåò ñêîðîñòè ñèììåòðè÷íûõ àëãîðèòìîâ .  15-é ïðèâåäåíû ïðèìåðû ñêîðîñòåé ïðîãðàììíîãî øèôðîâàíèÿ RSA [918]. Òàáë. 19-4. Ñêîðîñòè RSA äëÿ ðàçëè÷íûõ äëèí ìîäóëåé ïðè 8-áèòîâîì îòêðûòîì êëþ÷å (íà SPARC II) Øèôðîâàíèå Äåøèôðèðîâàíèå Ïîäïèñü Ïðîâåðêà
512 áèòîâ 0.03 ñ 0.16 ñ 0.16 ñ 0.02 ñ
768 áèòîâ 0.05 ñ 0.48 ñ 0.52 ñ 0.07 ñ
1024 áèòà 0.08 ñ 0.93 ñ 0.97 ñ 0.08 ñ
Ïðîãðàììíûå Speedups Øèôðîâàíèå RSA âûïîëíÿåòñÿ íàìíîãî áûñòðåé, åñëè âû ïðàâèëüíî âûáåðåòå çíà÷åíèå e. Òðåìÿ íàèáîëåå ÷àñòûìè âàðèàíòàìè ÿâëÿþòñÿ 3, 17 è 65537 (216 + 1). (Äâîè÷íîå ïðåäñòàâëåíèå 65537 ñîäåðæèò òîëüêî äâå åäèíèöû, ïîýòîìó äëÿ âîçâåäåíèÿ â ñòåïåíü íóæíî âûïîëíèòü òîëüêî 17 óìíîæåíèé .) X.509 ñîâåòóåò 65537 [304], PEM ðåêîìåíäóåò 3 [76], à PKCS #l (ñì. ðàçäåë 24.14) - 3 èëè 65537 [1345]. Íå ñóùåñòâóåò íèêàêèõ ïðîáëåì áåçîïàñíîñòè, ñâÿçàííûõ ñ èñïîëüçîâàíèåì â êà÷åñòâå e ëþáîãî èç ýòèõ òðåõ çíà÷åíèé (ïðè óñëîâèè, ÷òî âû äîïîëíÿåòå ñîîáùåíèÿ ñëó÷àéíûìè ÷èñëàìè - ñì. ðàçäåë íèæå), äàæå åñëè îäíî è òî æå çíà÷åíèå e èñïîëüçóåòñÿ öåëîé ãðóïïîé ïîëüçîâàòåëåé . Îïåðàöèè ñ çàêðûòûì êëþ÷îì ìîæíî óñêîðèòü ïðè ïîìîùè êèòàéñêîé òåîðåìû îò îñòàòêàõ, åñëè âû ñîõð àíèëè çíà÷åíèÿ p è q, à òàêæå äîïîëíèòåëüíûå çíà÷åíèÿ: d mod (p - 1), d mod (q - 1) è q-1 mod p [1283, 1276]. Ýòè äîïîëíèòåëüíûå ÷èñëà ìîæíî ëåãêî âû÷èñëèòü ïî çàêðûòîìó è îòêðûòîìó êëþ÷àì . Áåçîïàñíîñòü RSA Áåçîïàñíîñòü RSA ïîëíîñòüþ çàâèñèò îò ïðîáëåìû ðàçëîæåíèÿ íà ìíîæèòåëè áîëüøèõ ÷èñåë . Òåõíè÷åñêè, ýòî óòâåðæäåíèå î áåçîïàñíîñòè ëæèâî . Ïðåäïîëàãàåòñÿ, ÷òî áåçîïàñíîñòü RSA çàâèñèò îò ïðîáëåìû ðàçëîæåíèÿ íà ìíîæèòåëè áîëüøèõ ÷èñåë . Íèêîãäà íå áûëî äîêàçàíî ìàòåìàòè÷åñêè, ÷òî íóæíî ðàçëîæèòü n íà ìíîæèòåëè, ÷òîáû âîññòàíîâèòü m ïî c è e. Ïîíÿòíî, ÷òî ìîæåò áûòü îòêðûò ñîâñåì èíîé ñïîñîá êðèïòîàíàëèçà RSA. Îäíàêî, åñëè ýòîò íîâûé ñïîñîá ïîçâîëèò êðèïòîàíàëèòèêó ïîëó÷èòü d, îí òàêæå ìîæåò áûòü èñïîëüçîâàí äëÿ ðàçëîæåíèÿ íà ìíîæèòåëè áîëüøèõ ÷èñåë . ß íå ñëèøêîì âîëíóþñü îá ýòîì. Òàêæå ìîæíî âñêðûòü RSA, óãàäàâ çíà÷åíèå (p-1)(q-1). Ýòî âñêðûòèå íå ïðîùå ðàçëîæåíèÿ n íà ìíîæèòåëè [1616]. Äëÿ ñâåðõñêåïòèêîâ: äîêàçàíî, ÷òî íåêîòîðûå âàðèàíòû RSA òàêæå ñëîæíû, êàê è ðàçëîæåíèå íà ìíîæèòåëè (ñì. ðàçäåë 19.5). Çàãëÿíèòå òàêæå â [361, ãäå ïîêàçàíî, ÷òî ðàñêðûòèå äàæå íåñêîëüêèõ áèòîâ èíôîðìàöèè ïî çàøèôðîâàííîìó RSA øèôðîòåêñòó íå ëåã÷å, ÷åì äåøèôðèðîâàíèå âñåãî ñîîáùåíèÿ . Ñàìûì î÷åâèäíûì ñðåäñòâîì âñêðûòèÿ ÿâëÿåòñÿ ðàçëîæåíèå n íà ìíîæèòåëè. Ëþáîé ïðîòèâíèê ñìîæåò ïîëó÷èòü îòêðûòûé êëþ÷ e è ìîäóëü n. ×òîáû íàéòè êëþ÷ äåøèôðèðîâàíèÿ d, ïðîòèâíèê äîëæåí ðàçëîæèòü n íà ìíîæèòåëè. Ñîâðåìåííîå ñîñòîÿíèå òåõíîëîãèè ðàçëîæåíèÿ íà ìíîæèòåëè ðàññìàòðèâàëîñü â ðàçäåëå 11.4.  íàñòîÿùåå âðåìÿ ïåðåäíèì êðàåì ýòîé òåõíîëîãèè ÿâëÿåòñÿ ÷èñëî, ñîäåðæàùåå 129 äåñÿòè÷íûõ öèôð . Çíà÷èò, n äîëæíî áûòü áîëüøå ýòîãî çíà÷åíèÿ . Ðåêîìåíäàöèè ïî âûáîðó äëèíû îòêðûòîãî êëþ÷à ïðèâåäåíû â ðàçäåëå 7.2. Êîíå÷íî, êðèïòîàíàëèòèê ìîæåò ïåðåáèðàòü âñå âîçìîæíûå d, ïîêà îí íå ïîäáåðåò ïðàâèëüíîå çíà÷åíèå . Íî òàêîå âñêðûòèå ãðóáîé ñèëîé äàæå ìåíåå ýôôåêòèâíî, ÷åì ïîïûòêà ðàçëîæèòü n íà ìíîæèòåëè. Âðåìÿ îò âðåìåíè ïîÿâëÿþòñÿ çàÿâëåíèÿ î òîì, ÷òî íàéäåí ïðîñòîé ñïîñîá âñêðûòèÿ RSA, íî ïîêà íè îäíî èç ïîäîáíûõ çàÿâëåíèé íå ïîäòâåðäèëîñü . Íàïðèìåð, â 1993 ãîäó â ÷åðíîâèêå ñòàòüè Âèëüÿìà Ïåéíà ( William Payne) áûë ïðåäëîæåí ìåòîä, îñíîâàííûé íà ìàëîé òåîðåìå Ôåðìà [1234]. Ê ñîæàëåíèþ, ýòîò ìåòîä îêàçàëñÿ ìåäëåííåå ðàçëîæåíèÿ íà ìíîæèòåëè Ñóùåñòâóåò åùå îäèí ïîâîä äëÿ áåñïîêîéñòâà . Áîëüøèíñòâî îáùåïðèíÿòûõ àëãîðèòìîâ âû÷èñëåíèÿ ïðîñòûõ ÷èñåë p è q âåðîÿòíîñòíû, ÷òî ïðîèçîéäåò, åñëè p èëè q îêàæåòñÿ ñîñòàâíûì? Íó, âî ïåðâûõ, ìîæíî ñâåñòè âåðîÿòíîñòü òàêîãî ñîáûòèÿ äî íóæíîãî ìèíèìóìà . È äàæå åñëè ýòî ïðîèçîéäåò, ñêîðåå âñåãî òàêîå ñîáûòèå áóäåò
ñðàçó æå îáíàðóæåíî - øèôðîâàíèå è äåøèôðèðîâàíèå íå áóäóò ðàáîòàòü . Ñóùåñòâóåò ðÿä ÷èñåë, íàçûâàåìûõ ÷èñëàìè Êàðìàéêëà (Carmichael), êîòîðûå íå ìîãóò îáíàðóæèòü îïðåäåëåííûå âåðîÿòíîñòíûå àëãîðèòìû ïîè ñêà ïðîñòûõ ÷èñåë. Îíè íåáåçîïàñíû, íî ÷ðåçâû÷àéíî ðåäêè [746]. ×åñòíî ãîâîðÿ, ìåíÿ áû ýòî íå îáå ñïîêîèëî. Âñêðûòèå ñ âûáðàííûì øèôðîòåêñòîì ïðîòèâ RSA Íåêîòîðûå âñêðûòèÿ ðàáîòàþò ïðîòèâ ðåàëèçàöèé RSA. Îíè âñêðûâàþò íå ñàì áàçîâûé àëãîðèòì, à íà äñòðîåííûé íàä íèì ïðîòîêîë. Âàæíî ïîíèìàòü, ÷òî ñàìî ïî ñåáå èñïîëüçîâàíèå RSA íå îáåñïå÷èâàåò áåçîïàñíîñòè. Äåëî â ðåàëèçàöèè. Ñöåíàðèé 1: Åâå, ïîäñëóøàâøåé ëèíèè ñâÿçè Àëèñû , óäàëîñü ïåðåõâàòèòü ñîîáùåíèå c, øèôðîâàííîå ñ ïîìîùüþ RSA îòêðûòûì êëþ÷îì Àëèñû. Åâà õî÷åò ïðî÷èòàòü ñîîáùåíèå. Íà ÿçûêå ìàòåìàòèêè, åé íóæíî m, äëÿ êîòîðîãî m = cd Äëÿ ðàñêðûòèÿ m îíà ñíà÷àëà âûáèðàåò ïåðâîå ñëó÷àéíîå ÷èñëî r, ìåíüøåå n. Îíà äîñòàåò îòêðûòûé êëþ÷ Àëèñû e. Çàòåì îíà âû÷èñëÿåò x = re mod n y = xc mod n t = r-1 mod n Åñëè x = re mod n, òî r = xd mod n. Òåïåðü ïðîñèò Àëèñó ïîäïèñàòü y åå çàêðûòûì êëþ÷îì, òàêèì îáðàçîì ðàñøèôðîâàâ y. (Àëèñà äîëæíà ïîäïèñàòü ñîîáùåíèå, à íå åãî õýø ñóììó .) Íå çàáûâàéòå, Àëèñà íèêîãäà ðàíüøå íå âèäåëà y. Àëèñà ïîñûëàåò Åâå u = yd mod n Òåïåðü Åâà âû÷èñëÿåò tu mod n = r-1 yd mod = r-1xdcd mod n = cd mod n = m È Åâà ïîëó÷àåò m. Ñöåíàðèé 2: Òðåíò - ýòî êîìïüþòåð-íîòàðèóñ . Åñëè Àëèñà õî÷åò çàâåðèòü äîêóìåíò, îíà ïîñûëàåò åãî Òðåíòó. Òðåíò ïîäïèñûâàåò åãî öèôðîâîé ïîäïèñüþ RSA è îòïðàâëÿåò îáðàòíî. (Îäíîíàïðàâëåííûå õýøôóíêöèè íå èñïîëüçóþòñÿ, Òðåíò øèôðóåò âñå ñîîáùåíèå ñâîèì çàêðûòûì êëþ÷îì .) Ìýëëîðè õî÷åò, ÷òîáû Òðåíò ïîäïèñàë òàêîå ñîîáùåíèå, êîòîðîå â îáû÷íîì ñëó÷àå îí îí íèêîãäà íå ïîäï èøåò. Ìîæåò áûòü ýòî ôàëüøèâàÿ âðåìåííàÿ ìåòêà, ìîæåò áûòü àâòîðîì ýòîãî ñîîáùåíèÿ ÿâëÿåòñÿ äðóãîå ëèöî . Êàêîé áû íè áûëà ïðè÷èíà, Òðåíò íèêîãäà íå ïîäïèøåò ýòî ñîîáùåíèå, åñëè ó íåãî áóäåò âîçìîæíîñòü âûáîðà . Íàçîâåì ýòî ñîîáùåíèå m'. Ñíà÷àëà Ìýëëîðè âûáèðàåò ïðîèçâîëüíîå çíà÷åíèå x è âû÷èñëÿåò y = xe mod n. e îí ìîæåò ïîëó÷èòü áåç òðóäà - ýòî îòêðûòûé êëþ÷ Òðåíòà, êîòîðûé äîëæåí áûòü îïóáëèêîâàí, ÷òîáû ìîæíî áûëî ïðîâåðÿòü ïîäïèñè Òðåíòà. Òåïåðü Ìýëëîðè âû÷èñëÿåò m = ym' mod n è ïîñûëàåò m Òðåíòó íà ïîäïèñü. Òðåíò âîçâðàùàåò md mod n. Now Ìýëëîðè âû÷èñëÿåò (md mod n)x-1 mod n, êîòîðîå ðàâíî n'd mod n è ÿâëÿåòñÿ ïîäïèñüþ m'. Íà ñàìîì äåëå Ìýëëîðè ìîæåò èñïîëüçîâàòü ìíîæåñòâî ñïîñîáîâ ðåøèòü ïîäîáíóþ çàäà÷ó [423, 458, 486]. Ñëàáûì ìåñòîì, êîòîðîå èñïîëüçóþò òàêèå âñêðûòèÿ, ÿâëÿåòñÿ ñîõðàíåíèå ìóëüòèïëèêàòèâíîé ñòðóêòóðû âõîäà ïðè âîçâåäåíèè â ñòåïåíü. Òî åñòü: (xm)d mod n = x dmd mod n Ñöåíàðèé!: Åâà õî÷åò, ÷òîáû Àëèñà ïîäïèñàëà m3. Îíà ñîçäàåò äâà ñîîáùåíèÿ, ml è m2, òàêèå ÷òî m3 = m1m2 (mod n) Åñëè Åâà ñìîæåò çàñòàâèòü Àëèñó ïîäïèñàòü ml è m2, îíà ìîæåò âû÷èñëèòü ïîäïèñü äëÿ m3: m3d = (mld mod n) (m2d mod n) Ìîðàëü: Íèêîãäà íå ïîëüçóéòåñü àëãîðèòìîì RSA äëÿ ïîäïèñè ñëó÷àéíûõ äîêóìåíòîâ, ïîäñóíóòûõ âàì ï îñòîðîííèìè. Âñåãäà ñíà÷àëà âîñïîëüçóéòåñü îäíîíàïðàâëåííîé õýø-ôóíöèåé . Ôîðìàò áëîêîâ ISO 9796 ïðåäîòâðàùàåò ýòî âñêðûòèå. Âñêðûòèå îáùåãî ìîäóëÿ RSA Ïðè ðåàëèçàöèè RSA ìîæíî ïîïðîáîâàòü ðàçäàòü âñåì ïîëüçîâàòåëÿì îäèíàêîâûé ìîäóëü n, íî êàæäîìó ñâîè çíà÷åíèÿ ïîêàçàòåëåé ñòåïåíè e è d. Ê ñîæàëåíèþ, ýòî íå ðàáîòàåò. Íàèáîëåå î÷åâèäíàÿ ïðîáëåìà â òîì,
÷òî åñëè îäíî è òî æå ñîîáùåíèå êîãäà-íèáóäü øèôðîâàëîñü ðàçíûìè ïîêàçàòåëÿìè ñòåïåíè (ñ îäíèì è òåì æå ìîäóëåì), è ýòè äâà ïîêàçàòåëÿ - âçàèìíî ïðîñòûå ÷èñëà (êàê îáû÷íî è áûâàåò), òî îòêðûòûé òåêñò ìîæåò áûòü ðàñêðûò, äàæå íå çíàÿ íè îäíîãî êëþ÷à ä åøèôðèðîâàíèÿ [1457]. Ïóñòü m - îòêðûòûé òåêñò ñîîáùåíèÿ. Äâà êëþ÷à øèôðîâàíèÿ - e1 è e2. Îáùèé ìîäóëü - n. Øèôðîòåêñòàìè ñîîáùåíèÿ ÿâëÿþòñÿ: c1 = me1 mod n c2 = me2 mod n
Êðèïòîàíàëèòèê çíàåò n, e1, e2, c1 è c2. Âîò êàê îí óçíàåò m. Òàê êàê e1 è e2 - âçàèìíî ïðîñòûå ÷èñëà, òî ñ ïîìîùüþ ðàñøèðåííîãî àëãîðèòìà Ýâêëèäà r è s, äëÿ êîòîðûõ re1 + se2 = 1 Ñ÷èòàÿ r îòðèöàòåëüíûì (èëè r, èëè s äîëæíî áûòü îòðèöàòåëüíûì, ïóñòü îòðèöàòåëüíûì áóäåò r), òî ñíîâà ìîæíî âîñïîëüçîâàòüñÿ ðàñøèðåííûì àëãîðèòìîì äëÿ âû÷èñëåíèÿ c1-1. Çàòåì (c1-1)-r * c2s = m mod n Ñóùåñòâóåò äâà äðóãèõ, áîëåå òîíêèõ âñêðûòèÿ ñèñòåì òàêîãî òèïà . Îäíî èñïîëüçóåò âåðîÿòíîñòíûé ìåòîä äëÿ ðàçëîæåíèÿ n íà ìíîæèòåëè. Äðóãîé - äåòåðìèíèðîâàííûé àëãîðèòì âû÷èñëåíèÿ êàêîãî-íèáóäü ñåêðåòíîãî êëþ÷à áåç ðàçëîæåíèÿ ìîäóëÿ íà ìíîæèòåëè . Îáà âñêðûòèÿ ïîäðîáíî îïèñàíû â [449]. Ìîðàëü: Íå äåëàéòå n îáùèì äëÿ ãðóïïû ïîëüçîâàòåëåé . Âñêðûòèå ìàëîãî ïîêàçàòåëÿ øèôðîâàíèÿ RSA Øèôðîâàíèå è ïðîâåðêà ïîäïèñè RSA âûïîëíÿåòñÿ áûñòðåå, åñëè äëÿ e èñïîëüçóåòñÿ íåáîëüøîå çíà÷åíèå , íî ýòî òàêæå ìîæåò áûòü íåáåçîïàñíûì [704]. Åñëè e(e + 1)/2 ëèíåéíî çàâèñÿùèõ ñîîáùåíèé ñ ðàçëè÷íûìè î òêðûòûìè êëþ÷àìè øèôðóþòñÿ îäíèì è òåì æå çíà÷åíèåì e, ñóùåñòâóåò ñïîñîá âñêðûòü òàêóþ ñèñòåìó . Åñëè ñîîáùåíèé íå òàê ìíîãî, èëè åñëè ñîîáùåíèÿ íå ñâÿçàíû, òî ïðîáëåì íåò. Åñëè ñîîáùåíèÿ îäèíàêîâû, òî äîñò àòî÷íî e ñîîáùåíèé. Ïðîùå âñåãî äîïîëíÿòü ñîîáùåíèÿ íåçàâèñèìûìè ñëó÷àéíûìè ÷èñëàìè . Ýòî òàêæå ãàðàíòèðóåò, ÷òî me mod n ≠ me. Òàê äåëàåòñÿ â áîëüøèíñòâå ïðàêòè÷åñêèõ ðåàëèçàöèé RSA, íàïðèìåð, â PEM è PGP (ñì. ðàçäåëû 24.10 è 24.12). Ìîðàëü: Äîïîëíÿéòå ñîîáùåíèÿ ïåðåä øèôðîâàíèåì ñëó÷àéíûìè çíà÷åíèÿìè, óáåäèòåñü, ÷òî ðàçìåð m ïðèìåðíî ðàâåí n. Âñêðûòèå ìàëîãî ïîêàçàòåëÿ äåøèôðèðîâàíèÿ RSA Äðóãèì âñêðûòèåì, ïðåäëîæåííûì Ìàéêë Âèíåð (Michael Wiener), ðàñêðûâàåò d, ãäå d íå ïðåâûøàåò ÷åòâåðòè ðàçìåðà n, à e ìåíüøå n [1596]. Ïðè ñëó÷àéíîì âûáîðå e è d ýòî âñòðå÷àåòñÿ ðåäêî, è íèêîãäà íå ïðîèçîéäåò, åñëè çíà÷åíèå e ìàëî. Ìîðàëü: Âûáèðàéòå áîëüøîå çíà÷åíèå d. Ïîëó÷åííûå óðîêè Äæóäèò Ìóð (Judith Moore) íà îñíîâàíèè ïåðå÷èñëåííûõ âñêðûòèé ïðèâîäèò ñëåäóþùèå îãðàíè÷åíèÿ RSA [1114, 1115]: Çíàíèå îäíîé ïàðû ïîêàçàòåëåé øèôðîâàíèÿ/äåøèôðèðîâàíèÿ äëÿ äàííîãî ìîäóëÿ ïîçâîëÿåò âçëîìùèêó ðàçëîæèòü ìîäóëü íà ìíîæèòåëè . Çíàíèå îäíîé ïàðû ïîêàçàòåëåé øèôðîâàíèÿ/äåøèôðèðîâàíèÿ äëÿ äàííîãî ìîäóëÿ ïîçâîëÿåò âçëîìùèêó âû÷èñëèòü äðóãèå ïàðû ïîêàçàòåëåé, íå ðàñêëàäûâàÿ ìîäóëü íà ìíîæèòåëè.  ïðîòîêîëàõ ñåòåé ñâÿçè, ïðèìåíÿþùèõ RSA, íå äîëæåí èñïîëüçîâàòüñÿ îáùèé ìîäóëü . (Ýòî ÿâëÿåòñÿ áûòü î÷åâèäíûì ñëåäñòâèåì ïðåäûäóùèõ äâóõ ïóíêòîâ .) Äëÿ ïðåäîòâðàùåíèÿ âñêðûòèÿ ìàëîãî ïîêàçàòåëÿ øèôðîâàíèÿ ñîîáùåíèÿ äîëæíû áûòü äîïîëíåíû ñë ó÷àéíûìè çíà÷åíèÿìè. Ïîêàçàòåëü äåøèôðèðîâàíèÿ äîëæåí áûòü áîëüøèì . Íå çàáûâàéòå, íåäîñòàòî÷íî èñïîëüçîâàòü áåçîïàñíûé êðèïòîãðàôè÷åñêèé àëãîðèòì, äîëæíû áûòü áåçîïà ñíûìè âñÿ êðèïòîñèñòåìà è êðèïòîãðàôè÷åñêèé ïðîòîêîë . Ñëàáîå ìåñòî ëþáîãî èç òðåõ ýòèõ êîìïîíåíòîâ ñäåë àåò íåáåçîïàñíîé âñþ ñèñòåìó.
Âñêðûòèå øèôðîâàíèÿ è ïîäïèñè ñ èñïîëüçîâàíèåì RSA Èìååò ñìûñë ïîäïèñûâàòü ñîîáùåíèå ïåðåä øèôðîâàíèåì (ñì. ðàçäåë 2.7), íî íà ïðàêòèêå íèêòî íå âûïîëíÿåò ýòîãî. Äëÿ RSA ìîæíî âñêðûòü ïðîòîêîëû, øèôðóþùèå ñîîáùåíèå äî åãî ïîäïèñàíèÿ [48]. Àëèñà õî÷åò ïîñëàòü ñîîáùåíèå Áîáó. Ñíà÷àëà îíà øèôðóåò åãî îòêðûòûì êëþ÷îì Áîáà, à çàòåì ïîäïèñûâàåò ñâîèì çàêðûòûì êëþ÷îì. Åå çàøèôðîâàííîå è ïîäïèñàííîå ñîîáùåíèå âûãëÿäèò òàê : me B mod nB ) d A mod n A
Âîò êàê Áîá ìîæåò äîêàçàòü, ÷òî Àëèñà ïîñëàëà åìó m', à íå m. Òàê êàê Áîáó èçâåñòíî ðàçëîæåíèå íà ìíîæèòåëè nB (ýòî åãî ñîáñòâåííûé ìîäóëü), îí ìîæåò âû÷èñëèòü äèñêðåòíûå ëîãàðèôìû ïî îñíîâàíèþ nB. Ñëåäîâàòåëüíî, åìó íóæíî òîëüêî íàéòè x, äëÿ êîòîðîãî m'x = m mod nB Òîãäà, åñëè îí ìîæåò îïóáëèêîâàòü xeB â êà÷åñòâå ñâîåãî íîâîãî îòêðûòîãî ïîêàçàòåëÿ ñòåïåíè è ñîõðàíèòü ñâîé ïðåæíèé ìîäóëü nB, îí ñìîæåò óòâåðæäàòü, ÷òî Àëèñà ïîñëàëà åìó ñîîáùåíèå m', çàøèôðîâàííîå ýòèì íîâûì ïîêàçàòåëåì.  íåêîòîðûõ ñëó÷àÿõ ýòî îñîáåííî íåïðèÿòíîå âñêðûòèå . Çàìåòèì, ÷òî õýø-ôóíêöèè íå ðåøàþò ïðîáëåìó. Îäíàêî îíà ðåøàåòñÿ ïðè èñïîëüçîâàíèè äëÿ êàæäîãî ïîëüçîâàòåëÿ ôèêñèðîâàííîãî ïîêàç àòåëÿ øèôðîâàíèÿ. Ñòàíäàðòû RSA de facto ÿâëÿåòñÿ ñòàíäàðòîì ïî÷òè ïî âñåìó ìèðó . ISO ïî÷òè, but not quite, created an RSA digitalsignature standard; RSA ñëóæèò èíôîðìàöèîííûì äîïîëíåíèåì ISO 9796 [762.]. Ôðàíöóçñêîå áàíêîâñêîå ñîîáùåñòâî ïðèíÿëî RSA â êà÷åñòâå ñòàíäàðòà [525], òàê æå ïîñòóïèëè è àâñòðàëèéöû [1498].  Ñîåäèíåííûõ Øòàòàõ èç-çà äàâëåíèÿ NSA è ïàòåíòíûõ âîïðîñîâ â íàñòîÿùåå âðåìÿ íåò ñòàíäàðòà äëÿ øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì. Ìíîãèå àìåðèêàíñêèå êîìïàíèè èñïîëüçóþò PKCS (ñì. ðàçäåë 24.14), íàïèñàííûé RSA Data Security, Inc. RSA îïðåäåëåí è â êà÷åñòâå ÷åðíîâîãî áàíêîâñêîãî ñòàíäàðòà ANSI [61]. Ïàòåíòû Àëãîðèòì RSA çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [1330], íî íè âîäíîé äðóãîé ñòðàíå. PKP ïîëó÷èëà ëèöåíçèþ âìåñòå ñ äðóãèìè ïàòåíòàìè â îáëàñòè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè (ðàçäåë 25.5). Ñðîê äåéñòâèÿ ïàòåíòà ÑØÀ èñòåêàåò 20 ñåíòÿáðÿ 2000 ãîäà.
19.4 Pohlig-Hellman Ñõåìà øèôðîâàíèÿ Pohlig-Hellman [1253] ïîõîæà íà RSA. Ýòî íå ñèììåòðè÷íûé àëãîðèòì, òàê êàê äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ èñïîëüçóþòñÿ ðàçëè÷íûå êëþ÷è . Ýòî íå ñõåìà ñ îòêðûòûì êëþ÷îì, ïîòîìó ÷òî êëþ÷è ëåãêî ïîëó÷àþòñÿ îäèí èç äðóãîãî, è êëþ÷ øèôðîâàíèÿ, è êëþ÷ äåøèôðèðîâàíèÿ äîëæíû õðàíèòüñÿ â ñåêðåòå. Êàê è â RSA, C = Pe mod n P = Cd mod n ãäå ed º 1 (mod êàêîå-íèáóäü ñîñòàâíîå ÷èñëî)  îòëè÷èå îò RSA n íå îïðåäåëÿåòñÿ ñ ïîìîùüþ äâóõ ïðîñòûõ ÷èñåë è îñòàåòñÿ ÷àñòüþ çàêðûòîãî êëþ÷à . Åñëè ó êîãî-íèáóäü åñòü e è n, îí ìîæåò âû÷èñëèòü d. Íå çíàÿ e èëè d, ïðîòèâíèê áóäåò âûíóæäåí âû÷èñëèòü e = logpC mod n Ìû óæå âèäåëè, ÷òî ýòî ÿâëÿåòñÿ òðóäíîé ïðîáëåìîé . Ïàòåíòû Àëãîðèòì Pohlig-Hellman çàïàòåíòîâàí â ÑØÀ [722] è â Êàíàäå. PKP ïîëó÷èëà ëèöåíçèþ âìåñòå ñ äðóãèìè ïàòåíòàìè â îáëàñòè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè (ñì. ðàçäåë 25.5).
19.5 Rabin Áåçîïàñíîñòü ñõåìû Ðàáèíà (Rabin) [1283, 1601] îïèðàåòñÿ íà ñëîæíîñòü ïîèñêà êâàäðàòíûõ êîðíåé ïî ì îäóëþ ñîñòàâíîãî ÷èñëà. Ýòà ïðîáëåìà àíàëîãè÷íà ðàçëîæåíèþ íà ìíîæèòåëè . Âîò îäíà èç ðåàëèçàöèé ýòîé ñõåìû.
Ñíà÷àëà âûáèðàþòñÿ äâà ïðîñòûõ ÷èñëà p è q, êîíãðóýíòíûõ 3 mod 4. Ýòè ïðîñòûå ÷èñëà ÿâëÿþòñÿ çàêð ûòûì êëþ÷îì, à èõ ïðîèçâåäåíèå n =pq - îòêðûòûì êëþ÷îì. Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ M (M äîëæíî áûòü ìåíüøå n), ïðîñòî âû÷èñëÿåòñÿ C = M2 mod n Äåøèôðèðîâàíèå ñîîáùåíèÿ òàêæå íåñëîæíî, íî íåìíîãî ñêó÷íåå . Òàê êàê ïîëó÷àòåëü çíàåò p è q, îí ìîæåò ðåøèòü äâå êîíãðóýíòíîñòè ñ ïîìîùüþ êèòàéñêîé òåîðåìû îá îñòàòêàõ . Âû÷èñëÿåòñÿ m1 = C(p+1)/4 mod p m2 = (p - C(p+1)/4) mod p m3 = C(q+1)/4 mod q m4 = (G - C(q+1)/4) mod q Çàòåì âûáèðàåòñÿ öåëûå ÷èñëà a = q(q-1 mod p) è b = p(p-1 mod q). ×åòûðüìÿ âîçìîæíûìè ðåøåíèÿìè ÿâë ÿþòñÿ: M1 = (am1 + bm3) mod n M2 = (am1 + bm4) mod n M3 = (am2 + bm3) mod n M4 = (am2 + bm4) mod n Îäèí èç ÷åòûðåõ ðåçóëüòàòîâ, M1, M2, M3 è M4, ðàâíî M. Åñëè ñîîáùåíèå íàïèñàíî ïî àíãëèéñêè, âûáðàòü ïðàâèëüíîå Mi íåòðóäíî. Ñ äðóãîé ñòîðîíû, åñëè ñîîáùåíèå ÿâëÿåòñÿ ïîòîêîì ñëó÷àéíûõ áèòîâ (ñêàæåì, äëÿ ãåíåðàöèè êëþ÷åé èëè öèôðîâîé ïîäïèñè ), ñïîñîáà îïðåäåëèòü, êàêîå Mi - ïðàâèëüíîå, íåò. Îäíèì èç ñïîñîáîâ ðåøèòü ýòó ïðîáëåìó ñëóæèò äîáàâëåíèå ê ñîîáùåíèþ ïåðåä øèôðîâàíèåì èçâåñòíîãî çàãîëîâêà . Williams Õüþ Âèëüÿìñ (Hugh Williams) ïåðåîïðåäåëèë ñõåìó Ðàáèíà, ÷òîáû óñòðàíèòü ýòè íåäîñòàòêè [1601].  åãî ñõåìå p è q âûáèðàþòñÿ òàê, ÷òîáû p ≡ 3 mod 8 q ≡ 7 mod 8 è N = pq Êðîìå òîãî, èñïîëüçóåòñÿ íåáîëüøîå öåëîå ÷èñëî , S, äëÿ êîòîðîãî J(S,N) = -1. (J - ýòî ñèìâîë ßêîáè - ñì. ðàçäåë I I .3). N è S îïóáëèêîâûâàþòñÿ. Ñåêðåòíûì êëþ÷îì ÿâëÿåòñÿ k, äëÿ êîòîðîãî k = 1/2 (1/4 (p - 1) (q - 1) + 1) Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ M âû÷èñëÿåòñÿ c1, òàêîå ÷òî J(M,N) = (−1) c . Çàòåì âû÷èñëÿåòñÿ M' = ( S c *M) mod N. Êàê è â ñõåìå Ðàáèíà, C = M'2 mod N. È c2 = M' mod 2. Îêîí÷àòåëüíûì øèôðîòåêñòîì ñîîáùåíèÿ ÿâë ÿåòñÿ òðîéêà: 1
1
(C, cl, c2) Äëÿ äåøèôðèðîâàíèÿ C, ïîëó÷àòåëü âû÷èñëÿåò M" ñ ïîìîùüþ Ck ≡± M" (mod N) Ïðàâèëüíûé çíàê M" îïðåäåëÿåò c2. Íàêîíåö M= ( S c * (−1) c *M") mod N 1
1
Âïîñëåäñòâèè Âèëüÿìñ óëó÷øèë ýòó ñõåìó â [1603, 1604, 1605]. Âìåñòî âîçâåäåíèÿ â êâàäðàò îòêðûòîãî òå êñòà ñîîáùåíèÿ, âîçâåäèòå åãî â òðåòüþ ñòåïåíè . Áîëüøèå ïðîñòûå ÷èñëà äîëæíû áûòü êîíãðóýíòíû 1 ïî ìîäóëþ 3, èíà÷å îòêðûòûé è çàêðûòûé êëþ÷è îêàæóòñÿ îäèíàêîâûìè . Äàæå ëó÷øå, ñóùåñòâóåò òîëüêî îäíà óíèêàëüíàÿ ðàñøèôðîâêà êàæäîãî øèôðîâàíèÿ . Ïðåèìóùåñòâî ñõåì Ðàáèíà è Âèëüÿìñà ïåðåä RSA â òîì, ÷òî äîêàçàíî, ÷òî îíè òàêæå áåçîïàñíû, êàê è ðà çëîæåíèå íà ìíîæèòåëè. Îäíàêî ïåðåä âñêðûòèåì ñ âûáðàííûì øèôðîòåêñòîì îíè ñîâåðøåííî áåççàùèòíû . Åñëè âû ñîáèðàåòåñü èñïîëüçîâàòü ýòè ñõåìû äëÿ ñëó÷àåâ, êîãäà âçëîìùèê ìîæåò âûïîëíèòü òàêîå âñêðûòèå (íàïðèìåð, àëãîðèòì öèôðîâîé ïîäïèñè, êîãäà âçëîìùèê ìîæåò âûáèðàòü ïîäïèñûâàåìûå ñîîáùåíèÿ ), íå çà-
áûâàéòå èñïîëüçîâàòü ïåðåä ïîäïèñàíèåì îäíîíàïðàâëåííóþ õýø-ôóíêöèþ . Ðàáèí ïðåäëîæèë äðóãîé ñïîñîá çàùèòèòüñÿ îò òàêîãî âñêðûòèÿ: ê êàæäîìó ñîîáùåíèþ ïåðåä õýøèðîâàíèåì è ïîäïèñàíèåì äîáàâëÿåòñÿ óí èêàëüíàÿ ñëó÷àéíàÿ ñòðîêà. Ê íåñ÷àñòüþ, ïîñëå äîáàâëåíèÿ îäíîíàïðàâëåííîé õýø-ôóíêöèåé òîò ôàêò, ÷òî ñè ñòåìà ñòîëü æå áåçîïàñíà, êàê è ðàçëîæåíèå íà ìíîæèòåëè, áîëüøå íå ÿâëÿåòñÿ äîêàçàííûì [628]. Õîòÿ ñ ïðàêòè÷åñêîé òî÷êè çðåíèÿ äîáàâëåíèå õýøèð îâàíèÿ íå ìîæåò îñëàáèòü ñèñòåìó . Äðóãèìè âàðèàíòàìè ñõåìû Ðàáèíà ÿâëÿþòñÿ [972, 909, 696, 697, 1439, 989]. Äâóìåðíûé âàðèàíò îïèñàí â [866, 889].
19.6 ElGamal Ñõåìó EIGamal [518,519] ìîæíî èñïîëüçîâàòü êàê äëÿ öèôðîâûõ ïîäïèñåé, òàê è äëÿ øèôðîâàíèÿ, åãî áåç îïàñíîñòü îñíîâàíà íà òðóäíîñòè âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ â êîíå÷íîì ïîëå . Äëÿ ãåíåðàöèè ïàðû êëþ÷åé ñíà÷àëà âûáèðàåòñÿ ïðîñòîå ÷èñëî p è äâà ñëó÷àéíûõ ÷èñëà, g è x, îáà ýòè ÷èñëà äîëæíû áûòü ìåíüøå p. Çàòåì âû÷èñëÿåòñÿ y = gx mod p Îòêðûòûì êëþ÷îì ÿâëÿþòñÿ y, g è p. È g, è p ìîæíî ñäåëàòü îáùèìè äëÿ ãðóïïû ïîëüçîâàòåëåé . Çàêðûòûì êëþ÷îì ÿâëÿåòñÿ x. Ïîäïèñè ElGamal ×òîáû ïîäïèñàòü ñîîáùåíèå M, ñíà÷àëà âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî k, âçàèìíî ïðîñòîå ñ p-1. Çàòåì âû÷èñëÿåòñÿ a = gk mod p è ñ ïîìîùüþ ðàñøèðåííîãî àëãîðèòìà Ýâêëèäà íàõîäèòñÿ b â ñëåäóþùåì óðàâíåíèè: M = (xa + kb) mod (p - 1) Ïîäïèñüþ ÿâëÿåòñÿ ïàðà ÷èñåë: a è b. Ñëó÷àéíîå çíà÷åíèå k äîëæíî õðàíèòüñÿ â ñåêðåòå. Äëÿ ïðîâåðêè ïîäïèñè íóæíî óáåäèòüñÿ, ÷òî yaab mod p = gM mod p Êàæäàÿ ïîäïèñü èëè øèôðîâàíèå EIGamal òðåáóåò íîâîãî çíà÷åíèÿ k, è ýòî çíà÷åíèå äîëæíî áûòü âûáðàíî ñëó÷àéíûì îáðàçîì. Åñëè êîãäà-íèáóäü Åâà ðàñêðîåò k, èñïîëüçóåìîå Àëèñîé, îíà ñìîæåò ðàñêðûòü çàêðûòûé êëþ÷ Àëèñû x. Åñëè Åâà êîãäà-íèáóäü ñìîæåò ïîëó÷èòü äâà ñîîáùåíèÿ, ïîäïèñàííûå èëè çàøèôðîâàííûå ñ ïîìîùüþ îäíîãî è òîãî æå k, òî îíà ñìîæåò ðàñêðûòü x, äàæå íå çíàÿ çíà÷åíèå k. Îïèñàíèå ElGamal ñâåäåíî â 14-é. Òàáë. 19-5. Ïîäïèñè ElGamal Îòêðûòûé êëþ÷: p
ïðîñòîå ÷èñëî (ìîæåò áûòü îáùèì äëÿ ãðóïïû ïîëüçîâàòåëåé)
g
y
=gx mod p Çàêðûòûé êëþ÷:
x
k
âûáèðàåòñÿ ñëó÷àéíûì îáðàçîì, âçàèìíî ïðîñòîå ñ p-1
a
(ïîäïèñü) =gk mod p
b
(ïîäïèñü), òàêîå ÷òî M = (xa + kb) mod (p - 1) Ïðîâåðêà:
Ïîäïèñü ñ÷èòàåòñÿ ïðàâèëüíîé, åñëè yaab mod p = gM mod p Íàïðèìåð, âûáåðåì p = 11 è g = 2, à çàêðûòûé êëþ÷ x = 8. Âû÷èñëèì
y = gx mod p = 28 mod 11 = 3 Îòêðûòûì êëþ÷îì ÿâëÿþòñÿ y = 3, g = 2 è p = 11. ×òîáû ïîäïèñàòü M = 5, ñíà÷àëà âûáåðåì ñëó÷àéíîå ÷èñëî k=9. Óáåæäàåìñÿ, ÷òî gcd(9, 10)= 1. Âû÷èñëÿåì a = gk mod p = 29 mod 11 = 6 è ñ ïîìîùüþ ðàñøèðåííîãî àëãîðèòìà Ýâêëèäà íàõîäèì b: M = (xa + kb) mod (p - 1) 5 = (8*6 + 9*b) mod 10 Ðåøåíèå: b = 3, à ïîäïèñü ïðåäñòàâëÿåò ñîáîé ïàðó : a = 6 è b = 3. Äëÿ ïðîâåðêè ïîäïèñè óáåäèìñÿ, ÷òî yaab mod p = gM mod p 3663 mod 11 = 25 mod 11 Âàðèàíò EIGamal, èñïîëüçóåìûé äëÿ ïîäïèñåé, îïèñàí â [1377]. Òîìàñ Áåò (Thomas Beth) èçîáðåë âàðèàíò ñõåìû EIGamal, ïîäõîäÿùèé äëÿ äîêàçàòåëüñòâà èäåíòè÷íîñòè [146]. Ñóùåñòâóþò âàðèàíòû äëÿ ïðîâåðêè ïî äëèííîñòè ïàðîëÿ [312] è äëÿ îáìåíà êëþ÷àìè [773]. È åùå òûñÿ÷è è òûñÿ÷è äðóãèõ (ñì. ðàçäåë 20.4). Øèôðîâàíèå ElGamal Ìîäèôèêàöèÿ EIGamal ïîçâîëÿåò øèôðîâàòü ñîîáùåíèÿ . Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ M ñíà÷àëà âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî k, âçàèìíî ïðîñòîå ñ p - 1. Çàòåì âû÷èñëÿþòñÿ a = gk mod p b = yk M mod p Ïàðà (a,b) ÿâëÿåòñÿ øèôðîòåêñòîì. Îáðàòèòå âíèìàíèå, ÷òî øèôðîòåêñò â äâà ðàçà äëèííåå îòêðûòîãî òå êñòà. Äëÿ äåøèôðèðîâàíèÿ (a,b) âû÷èñëÿåòñÿ M = b/ax mod p Òàê êàê ax ≡ gkx (mod p) è b/ax ≡ yk M/ax ≡ gxk M/ gkx = M (mod p), òî âñå ðàáîòàåò (ñì. 13-é). Ïî ñóòè ýòî òî æå ñàìîå, ÷òî è îáìåí êëþ÷àìè Äèôôè-Õåëëìàíà (ñì. ðàçäåë 22.1) çà èñêëþ÷åíèåì òîãî, ÷òî y - ýòî ÷àñòü êëþ÷à, à ïðè øèôðîâàíèè ñîîáùåíèå óìíîæàåòñÿ íà yk. Òàáë. 19-6. Øèôðîâàíèå ElGamal Îòêðûòûé êëþ÷: p
ïðîñòîå ÷èñëî (ìîæåò áûòü îáùèì äëÿ ãðóïïû ïîëüçîâàòåëåé)
g
y
=gx mod p Çàêðûòûé êëþ÷:
x
k
âûáèðàåòñÿ ñëó÷àéíûì îáðàçîì, âçàèìíî ïðîñòîå ñ p-1
a
(øèôðîòåêñò) =gk mod p
b
(øèôðîòåêñò)= yk M mod p Äåøèôðèðîâàíèå:
M (îòêðûòûé òåêñò) = b/ax mod p
Ñêîðîñòü Íåêîòîðûå ïðèìåðû ñêîðîñòè ðàáîòû ïðîãðàììíûõ ðåàëèçàöèé EIGamal ïðèâåäåíû â 12-é [918]. Òàáë. 19-7.
Ñêîðîñòè EIGamal äëÿ ðàçëè÷íûõ äëèí ìîäóëåé ïðè 160-áèòîâîì ïîêàçàòåëå ñòåïåíè (íà SPARC II) 512 áèòîâ
768 áèòîâ
1024 áèòîâ
Øèôðîâàíèå
0.33 ñ
0.80 ñ
1.09 ñ
Äåøèôðèðîâàíèå
0.24 ñ
0.58 ñ
0.77 ñ
Ïîäïèñü
0.25 ñ
0.47 ñ
0.63 ñ
Ïðîâåðêà
l.37 ñ
5.12 ñ
9.30 c
Ïàòåíòû ElGamal íåçàïàòåíòîâàí. Íî, ïðåæäå ÷åì äâèãàòüñÿ âïåðåä è ðåàëèçîâûâàòü àëãîðèòì, íóæíî çíàòü, ÷òî PKP ñ÷èòàåò, ÷òî ýòîò àëãîðèòì ïîïàäàåò ïîä äåéñòâèå ïàòåíòà Äèôôè-Õåëëìàíà [718]. Îäíàêî ñðîê äåéñòâèÿ ïàòåíòà Äèôôè-Õåëëìàíà çàêàí÷èâàåòñÿ 29 àïðåëÿ 1997 ãîäà , ÷òî äåëàåò ElGamal ïåðâûì êðèïòîãðàôè÷åñêèì ïëã îðèòìîì ñ îòêðûòûìè êëþ÷àìè, ïðèãîäíûì äëÿ øèôðîâàíèÿ è öèôðîâûõ ïîäïèñåé è íåñâÿçàííûì â Ñîåäèíå ííûõ Øòàòàõ ïàòåíòàìè. ß íå ìîãó äîæäàòüñÿ ýòîãî ìîìåíòà .
19.7 McEliece  1978 ãîäó Ðîáåðò ÌàêÝëèñ (Robert McEliece) ðàçðàáîòàë êðèïòîñèñòåìó ñ îòêðûòûìè êëþ÷àìè íà îñíîâå òåîðèè àëãåáðàè÷åñêîãî êîäèðîâàíèÿ [1041]. Ýòîò àëãîðèòì èñïîëüçóåò ñóùåñòâîâàíèå îïðåäåëåííîãî êëàññà èñïðàâëÿþùèõ îøèáêè êîäîâ, íàçûâàåìûõ êîäàìè Ãîïïà (Goppa). Îí ïðåäëàãàë ñîçäàòü êîä Ãîïïà è çàìàñê èðîâàòü åãî êàê îáû÷íûé ëèíåéíûé êîä . Ñóùåñòâóåò áûñòðûé àëãîðèòì äåêîäèðîâàíèÿ êîäîâ Ãîïïà , íî îáùàÿ ïðîáëåìà íàéòè ñëîâî êîäà ïî äàííîìó âåñó â ëèíåéíîì äâîè÷íîì êîäå ÿâëÿåòñÿ NP-ïîëíîé. Õîðîøåå îïèñàíèå ýòîãî àëãîðèòìà ìîæíî íàéòè â [1233], ñì. òàêæå [1562]. Íèæå ïðèâåäåí òîëüêî êðàòêèé îáçîð . Ïóñòü dH(x,y) îáîçíà÷àåò ðàññòîÿíèå Õýììèíãà ìåæäó x è y. ×èñëà n, k è t ñëóæàò ïàðàìåòðàìè ñèñòåìû. Çàêðûòûé êëþ÷ ñîñòîèò èç òðåõ ÷àñòåé : G' - ýòî ìàòðèöà ãåíåðàöèè ãîäà Ãîïïà, èñïðàâëÿþùåãî t îøèáîê. P ýòî ìàòðèöà ïåðåñòàíîâîê ðàçìåðîì n*n. S - ýòî nonsingular ìàòðèöà ðàçìåðîì k*k. Îòêðûòûì êëþ÷îì ñëóæèò ìàòðèöà G ðàçìåðîì k*n: G = SG'P. Îòêðûòûé òåêñò ñîîáùåíèé ïðåäñòàâëÿåò ñîáîé ñòðîêó k áèòîâ â âèäå k-ýëåìåíòíîãî âåêòîðà íàä ïîëåì GF(2). Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ ñëó÷àéíûì îáðàçîì âûáèðàåòñÿ n-ýëåìåíòíûé âåêòîð z íàä ïîëåì GF(2), äëÿ êîòîðîãî ðàññòîÿíèå Õýììèíãà ìåíüøå èëè ðàâíî t. c = mG + z Äëÿ äåøèôðèðîâàíèÿ ñîîáùåíèÿ ñíà÷àëà âû÷èñëÿåòñÿ c' = cP-1. Çàòåì ñ ïîìîùüþ äåêîäèðóþùåãî àëãîðèòìà äëÿ êîäîâ Ãîïïà íàõîäèòñÿ m' , äëÿ êîòîðîãî dH(m'G,c) ìåíüøå èëè ðàâíî t. Íàêîíåö âû÷èñëÿåòñÿ m = m'S-1.  ñâîåé îðèãèíàëüíîé ðàáîòå ÌàêÝëèñ ïðåäëîæèë çíà÷åíèÿ n = 1024, t = 50 è k = 524. Ýòî ìèíèìàëüíûå çíà÷åíèÿ, òðåáóåìûå äëÿ áåçîïàñíîñòè . Õîòÿ ýòîò àëãîðèòì áûë îäíèì èç ïåðâûõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè, è âíå ïîÿâëÿëîñü ïóáëèêàöèé î åãî óñïåøíîì êðèïòîàíàëèòè÷åñêîì âñêðûòèè, îí íå ïîëó÷èë øèðîêîãî ïðèçíàíèÿ â êðèïòîãðàôè÷åñêîì ñ îîáùåñòâå. Ñõåìà íà äâà-òðè ïîðÿäêà áûñòðåå, ÷åì RSA, íî ó íåå åñòü ðÿä íåäîñòàòêîâ. Îòêðûòûé êëþ÷ îãðîìåí: 219 áèòîâ. Ñèëüíî óâåëè÷èâàåòñÿ îáúåì äàííûõ - øèôðîòåêñò â äâà ðàçà äëèííåå îòêðûòîãî òåêñòà . Ðÿä ïîïûòîê êðèïòîàíàëèçà ýòîé ñèñòåìû ìîæíî íàéòè â [8, 943, 1559, 306]. Íè îäíà èç íèõ íå äîñòèãëà óñïåõà äëÿ îáùåãî ñëó÷àÿ, õîòÿ ñõîäñòâî ìåæäó àëãîðèòìîì ÌàêÝëèñà è àëãîðèòìîì ðþêçàêà íåìíîãî âîëíóåò.  1991 äâà ðóññêèõ êðèïòîãðàôà çàÿâèëè, ÷òî âçëîìàëè ñèñòåìó ÌàêÝëèñà ñ íåêîòîðûìè ïàðàìåòðàìè [882].  èõ ñòàòüå ýòî óòâåðæäåíèå íå áûëî îáîñíîâàíî , è áîëüøèíñòâî êðèïòîãðàôîâ íå ïðèíÿëè âî âíèìàíèå ýòîò ðåçóëüòàò. Åùå îäíî âûïîëíåííîå ðóññêèìè âñêðûòèå, êîòîðîå íåëüçÿ íåïîñðåäñòâåííî èñïîëüçîâàòü ïðîòèâ ñèñòåìû ÌàêÝëèñà, îïèñàíî â [1447, 1448]. Ðàñøèðåíèÿ McEliece ìîæíî íàéòè â [424, 1227, 976]. Äðóãèå àëãîðèòìû, îñíîâàííûå íà ëèíåéíûõ êîäàõ, èñïðàâëÿþùèõ îøèáêè Àëãîðèòì Íèäåððåéòåðà (Niederreiter) [1167] î÷åíü áëèçîê ê àëãîðèòìó ÌàêÝëèñà è ñ÷èòàåò, ÷òî îòêðûòûé êëþ÷ - ýòî ñëó÷àéíàÿ ìàòðèöà ïðîâåðêè ÷åòíîñòè êîäà, èñïðàâëÿþùåãî îøèáêè . Çàêðûòûì êëþ÷îì ñëóæèò ýôôåêòèâíûé àëãîðèòì äåêîäèðîâàíèÿ ýòîé ìàòðèöû . Äðóãîé àëãîðèòì, èñïîëüçóåìûé äëÿ èäåíòèôèêàöèè è öèôðîâûõ ïîäïèñåé, îñíîâàí íà äåêîäèðîâàíèè
ñèíäðîìà [1501], ïîÿñíåíèÿ ñì. â [306]. Àëãîðèòì [1621], èñïîëüçóþùèé êîäû, èñïðàâëÿþùèå îøèáêè, íåáåç îïàñåí [698, 33, 31, 1560, 32].
19.8 Êðèïòîñèñòåìû ñ ýëëèïòè÷åñêèìè êðèâûìè Ýëëèïòè÷åñêèå êðèâûå èçó÷àëèñü ìíîãèå ãîäû, è ïî ýòîìó âîïðîñó ñóùåñòâóåò îãðîìíîå êîëè÷åñòâî ëèòåð àòóðû.  1985 ãîäó Íèë Êîáëèö (Neal Koblitz) è Â.Ñ. Ìèëëåð (V. S. Miller) íåçàâèñèìî ïðåäëîæèëè èñïîëüçîâàòü èõ äëÿ êðèïòîñèñòåì ñ îòêðûòûìè êëþ÷àìè [867, 1095]. Îíè íå èçîáðåëè íîâîãî êðèïòîãðàôè÷åñêîãî àëãîðè òìà, èñïîëüçóþùåãî ýëëèïòè÷åñêèå êðèâûå íàä êîíå÷íûìè ïîëÿìè, íî ðåàëèçîâàëè ñóùåñòâóþùèå àëãîðèòìû, ïîäîáíûå Diffie-Hellman, ñ ïîìîùüþ ýëëèïòè÷åñêèõ êðèâûõ . Ýëëèïòè÷åñêèå êðèâûå âûçûâàþò èíòåðåñ, ïîòîìó ÷òî îíè îáåñïå÷èâàþò ñïîñîá êîíñòðóèðîâàíèÿ "ýëåìåíòîâ" è "ïðàâèë îáúåäèíåíèÿ", îáðàçóþùèõ ãðóïïû . Ñâîéñòâà ýòèõ ãðóïï èçâåñòíû äîñòàòî÷íî õîðîøî, ÷òîáû èñïîëüçîâàòü èõ äëÿ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ , íî ó íèõ íåò îïðåäåëåííûõ ñâîéñòâ, îáëåã÷àþùèõ êðèïòîàíàëèç. Íàïðèìåð, ïîíÿòèå "ãëàäêîñòè" íåïðèìåíèìî ê ýëëèïòè÷åñêèì êðèâûì . Òî åñòü, íå ñóùåñòâóåò òàêîãî ìíîæåñòâà íåáîëüøèõ ýëåìåíòîâ, èñïîëüçóÿ êîòîðûå ñ ïîìîùüþ ïðîñòîãî àëãîðèòìà ñ âûñîêîé âåðîÿ òíîñòüþ ìîæíî âûðàçèòü ñëó÷àéíûé ýëåìåíò . Ñëåäîâàòåëüíî, àëãîðèòìû âû÷èñëåíèÿ äèñêðåòíîãî ëîãàðèôìà ïîêàçàòåëÿ ñòåïåíè íå ðàáîòàþò work. Ïîäðîáíîñòè ñì. â [1095]. Îñîáåííî èíòåðåñíû ýëëèïòè÷åñêèå êðèâûå íàä ïîëåì GF(2n). Äëÿ n â äèàïàçîíå îò 130 äî 200 íåñëîæíî ðàçðàáîòàòü ñõåìó è îòíîñèòåëüíî ïðîñòî ðåàëèçîâàòü àðèôìåòè÷åñêèé ïðîöåññîð äëÿ èñïîëüçóåìîãî ïîëÿ . Òàêèå àëãîðèòìû ïîòåíöèàëüíî ìîãóò ïîñëóæèòü îñíîâîé äëÿ áîëåå áûñòðûõ êðèïòîñèñòåì ñ îòêðûòûìè êëþ÷àìè è ìåíüøèìè ðàçìåðàìè êëþ÷åé . Ñ ïîìîùüþ ýëëèïòè÷åñêèõ êðèâûõ íàä êîíå÷íûìè ïîëÿìè ìîãóò áûòü ðåàë èçîâàíû ìíîãèå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè , òàêèå êàê Diffie-Hellman, EIGamal è Schnorr. Ñîîòâåòñòâóþùàÿ ìàòåìàòèêà ñëîæíà è âûõîäèò çà ðàìêè ýòîé êíèãè . Èíòåðåñóþùèìñÿ ýòîé òåìîé ÿ ïðå äëàãàþ ïðî÷èòàòü äâå âûøåóïîìÿíóòûå ðàáîòû è îòëè÷íóþ êíèãó Àëüôðåäà Ìåíåçåñà ( Alfred Menezes) [1059]. Ýëëèïòè÷åñêèå êðèâûå èñïîëüçóþòñÿ äâóìÿ àíàëîãàìè RSA [890, 454]. Äðóãèìè ðàáîòàìè ÿâëÿþòñÿ [23, 119, 1062, 869, 152, 871, 892, 25, 895, 353, 1061, 26, 913, 914, 915]. Êðèïòîñèñòåìû ñ êëþ÷àìè íåáîëüøîé äëèíû íà áàçå ýëëèïòè÷åñêèõ êðèâûõ ðàññìàòðèâàþòñÿ â [701]. Àëãîðèòì Fast Elliptic Encryption (FEE, áûñòðîå ýëëèïòè÷åñêîå øèôðîâàíèå) êîìïàíèè Next Computer Inc. òàêæå èñïîëüçóåò ýëëèïòè÷åñêèå êðèâûå [388]. Ïðèÿòíîé îñîáåííîñòüþ FEE ÿâëÿåòñÿ òî, ÷òî çàêðûòûé êëþ÷ ìîæåò áûòü ëþáîé ëåãêî çàïîìèíàþùåéñÿ ñòðîêîé . Ïðåäëàãàþòñÿ è êðèïòîñèñòåìû, èñïîëüçóþùèå ãèïåðýëëèïòè÷åñêèå êðèâûå [868, 870, 1441, 1214].
19.9 LUC Íåêîòîðûå êðèïòîãðàôû ðàçðàáîòàëè îáîáùåííûå ìîäèôèêàöèè RSA, êîòîðûå èñïîëüçóþò ðàçëè÷íûå ïåð åñòàíîâî÷íûå ìíîãî÷ëåíû âìåñòî âîçâåäåíèÿ â ñòåïåíü . Âàðèàíò, íàçûâàþùèéñÿ Kravitz-Reed è èñïîëüçóþùèé íåïðèâîäèìûå äâîè÷íûå ìíîãî÷ëåíû [898], íåáåçîïàñåí [451, 589]. Âèíôðèä Ìþëëåð (Winfried Müller) è Âèëôðèä Íîáàóåð (Wilfried Nöbauer) èñïîëüçóþò ïîëèíîìû Äèêñîíà (Dickson) [1127, 1128, 965]. Ðóäîëüô Ëèäë (Rudolph Lidl) è Ìþëëåð îáîáùèëè ýòîò ïîäõîä â [966, 1126] (ýòîò âàðèàíò íàçâàí ñõåìîé Réidi), è Íîáàóåð ïðîàíàëèçèðîâàë åãî áåçîïàñíîñòü â [1172, 1173]. (Ñîîáðàæåíèÿ ïî ïîâîäó ãåíåðàöèè ïðîñòûõ ÷èñåë ñ ïîì îùüþ ôóíêöèé Ëóêàñà (Lucas) ìîæíî íàéòè â [969, 967, 968, 598].) Íåñìîòðÿ íà âñå ïðåäûäóùèå ðàçðàáîòêè ãðóïïå èññëåäîâàòåëåé èç Íîâîé Çåëàíäèè óäàëîñü çàïàòåíòîâàòü ýòó ñõåìó â 1993 ãîäó, íàçâàâ åå LUC [1486, 521, 1487]. n-îå ÷èñëî Ëóêàñà, Vn(P,1), îïðåäåëÿåòñÿ êàê Vn(P,1) = PVn-1(P,1)- Vn-2(P,1) Òåîðèÿ ÷èñåë Ëóêàñà äîñòàòî÷íî âåëèêà, è ÿ åå ïðîïóùó . Òåîðèÿ ïîñëåäîâàòåëüíîñòåé Ëóêàñà õîðîøî èçë îæåíà â [1307, 1308]. Îñîáåííî õîðîøî ìàòåìàòèêà LUC îïèñàíà â [1494, 708].  ëþáîì ñëó÷àå äëÿ ãåíåðàöèè ïàðû îòêðûòûé êëþ÷/çàêðûòûé êëþ÷ ñíà÷àëà âûáèðàþòñÿ äâà áîëüøèõ ÷è ñëà p è q. Âû÷èñëÿåòñÿ n, ïðîèçâåäåíèå p è q. Êëþ÷ øèôðîâàíèÿ e - ýòî ñëó÷àéíîå ÷èñëî, âçàèìíî ïðîñòîå ñ p-1, q-1, p+1 è q+1. Ñóùåñòâóåò ÷åòûðå âîçìîæíûõ êëþ÷à äåøèôðèðîâàíèÿ , d = e-1 mod (ÍÎÊ(p+1), (q+1))) d = e-1 mod (ÍÎÊ(p+1), (q-1))) d = e-1 mod (ÍÎÊ(p-1), (q+1))) d = e-1 mod (ÍÎÊ(p-1), (q-1))) ãäå ÍÎÊ îçíà÷àåò íàèìåíüøåå îáùåå êðàòíîå . Îòêðûòûì êëþ÷îì ÿâëÿþòñÿ d è n; çàêðûòûì êëþ÷îì - e è n. p è q îòáðàñûâàþòñÿ.
Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ P (P äîëæíî áûòü ìåíüøå n) âû÷èñëÿåòñÿ C = Ve(P,1) (mod n) À äëÿ äåøèôðèðîâàíèÿ: P = Vd(P, 1) (mod n), ñ ñîîòâåòñòâóþùèì d  ëó÷øåì ñëó÷àå LUC íå áåçîïàñíåå RSA. À íåäàâíèå, òîëüêî ÷òî îïóáëèêîâàííûå ðåçóëüòàòû ïîêàçûâàþò, êàê âçëîìàòü LUC ïî êðàéíåé ìåðå â íåñêîëüêèõ ðåàëèçàöèÿõ . ß íå äîâåðÿþ ýòîìó àëãîðèòìó.
19.10 Êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì íà áàçå êîíå÷íûõ àâòîìàòîâ Êèòàéñêèé êðèïòîãðàô Òàî Ðåíæè ðàçðàáîòàë àëãîðèòì ñ îòêðûòûì êëþ÷îì, îñíîâàííûé íà èñïîëüçîâàíèè êîíå÷íûõ àâòîìàòîâ [1301, 1302, 1303, 1300, 1304, 666]. Òàêîé æå ñëîæíîé çàäà÷åé, êàê è ðàçëîæåíèå íà ìí îæèòåëè ïðîèçâåäåíèÿ äâóõ áîëüøèõ ïðîñòûõ ÷èñåë, ÿâëÿåòñÿ çàäà÷à ðàçëîæåíèÿ íà ñîñòàâëÿþùèå ïðîèçâåäåíèÿ äâóõ êîíå÷íûõ àâòîìàòîâ. Ýòî òåì áîëåå âåðíî, åñëè îäèí èç àâòîìàòîâ íåëèíååí . Áîëüøàÿ ÷àñòü ðàáîòû â ýòîé îáëàñòè áûëà âûïîëíåíà â Êèòàå â 80-õ ãîäàõ è îïóáëèêîâàíà íà êèòàéñêîì ÿçûêå. Ðåíæè íà÷àë ïèñàòü ïî àíãëèéñêè . Åãî ãëàâíûì ðåçóëüòàòîì áûëî òî, ÷òî îáðàòíîå çíà÷åíèå íåêîòîðûõ íåëèíåéíûõ (êâàçèëèíåéíûõ) àâòîìàòîâ ÿâëÿåòñÿ ñëàáûì òîãäà è òîëüêî òîãäà, êîãäà ýòè àâòîìàòû îáëàäàþò îïðåäåëåííîé ñòóïåí÷àòîé ìàòðè÷íîé ñòðóêòóðîé . Ýòî ñâîéñòâî èñ÷åçàåò, åñëè îíè îáúåäèíåíû ñ äðóãèì àâò îìàòîì (õîòÿ áû ëèíåéíûì).  àëãîðèòìå ñ îòêðûòûì êëþ÷îì ñåêðåòíûé êëþ÷ ÿâëÿåòñÿ èíâåðòèðóåìûì êâàçèëèíåéíûì àâòîìàòîì, à ñîîòâåòñòâóþùèé îòêðûòûé êëþ÷ ìîæåò áûòü ïîëó÷åí ñ ïîìîùüþ èõ ïî÷ëåííîãî ïåð åìíîæåíèÿ. Äàííûå øèôðóþòñÿ, ïðîõîäÿ ÷åðåç ëèíåéíûé àâòîìàò, à äåøèôðèðóþòñÿ, ïðîõîäÿ ÷åðåç îáðàòíûå çíà÷åíèÿ êîìïîíåíòîâ àëãîðèòìà (â íåêîòîðûõ ñëó÷àÿõ àâòîìàòû äîëæíû áûòü óñòàíîâëåíû â ïîäõîäÿùåå í à÷àëüíîå çíà÷åíèå). Ýòà ñõåìà ðàáîòàåò è äëÿ øèôðîâàíèÿ, è äëÿ öèôðîâûõ ïîäï èñåé. Î ïðîèçâîäèòåëüíîñòè òàêèõ ñèñòåì âêðàòöå ìîæíî ñêàçàòü ñëåäóþùåå: îíè, êàê è ñèñòåìà McEliece, íàìíîãî áûñòðåå RSA, íî òðåáóþò èñïîëüçîâàíèÿ áîëåå äëèííûõ êëþ÷åé . Äëèíà êëþ÷à, îáåñïå÷èâàþùàÿ, êàê äóì àþò, áåçîïàñíîñòü, àíàëîãè÷íóþ 512-áèòîâîìó RSA, ðàâíà 2792 áèòàì, à 1024-áèòîâîìó RSA - 4152 áèòàì.  ïåðâîì ñëó÷àå ñèñòåìà øèôðóåò äàííûå ñî ñêîðîñòüþ 20869 áàéò/ñ è äåøèôðèðóåò äàííûå ñî ñêîðîñòüþ1 7117 áàéò/ñ, ðàáîòàÿ íà 80486/33 ÌÃö. Ðåíæè îïóáëèêîâàë òðè àëãîðèòìà . Ïåðâûì áûë FAPKC0. Ýòà ñëàáàÿ ñèñòåìà èñïîëüçóåò ëèíåéíûå êîìï îíåíòû è, ãëàâíûì îáðàçîì, ÿâëÿåòñÿ èëëþñòðàòèâíîé . Êàæäàÿ èç äâóõ ñåðüåçíûõ ñèñòåì , FAPKC1 è FAPKC2, èñïîëüçóåò îäèí ëèíåéíûé è îäèí íåëèíåéíûé êîìïîíåíò . Ïîñëåäíÿÿ ñëîæíåå, îíà áûëà ðàçðàáîòàíà äëÿ ïî ääåðæêè îïåðàöèè ïðîâåðêè ïîäëèííîñòè . ×òî êàñàåòñÿ èõ íàäåæíîñòè, â Êèòàå íåìàëî çàíèìàëèñü ýòîé ïðîáëåìîé (ãäå ñåé÷àñ ñâûøå 30 èíñòèòóòîâ, ïóáëèêóþùèõ ðàáîòû ïî êðèïòîãðàôèè è áåçîïàñíîñòè ). Èç äîñòàòî÷íîãî êîëè÷åñòâà èñòî÷íèêîâ íà êèòàéñêîì ÿçûêå ìîæíî âèäåòü, ÷òî ïðîáëåìà áûëà èçó÷åíà . Ïðèâëåêàòåëüíîé îñîáåííîñòüþ FAPKC1 è FAPKC2 ÿâëÿåòñÿ òî, ÷òî îíè íå îãðàæäåíû íèêàêèìè ïàòåíòàìè ÑØÀ. Ñëåäîâàòåëüíî, òàê êàê ñðîê äåéñòâèÿ ïàòåíòà íà àëãîðèòì Diffie-Hellman èñòåêàåò â 1997 ãîäó, ýòè àëãîðèòìû íåñîìíåííî ÿâëÿþòñÿ î÷åíü èíòåðåñíûìè .
Ãëàâà 20 Àëãîðèòìû öèôðîâîé ïîäïèñè ñ îòêðûòûì êëþ÷îì 20.1 Àëãîðèòì öèôðîâîé ïîäïèñè (DIGITAL SIGNATURE ALGORITHM, DSA)  àâãóñòå 19991 ãîäà Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè (National Institute of Standards and Tec hnology, NIST) ïðåäëîæèë äëÿ èñïîëüçîâàíèÿ â ñâîåì Ñòàíäàðòå öèôðîâîé ïîäïèñè ( Digital Signature Standard, DSS) Àëãîðèòì öèôðîâîé ïîäïèñè (Digital Signature Algorithm, DSA). Ñîãëàñíî Federal Register [538]: Ïðåäëàãàåòñÿ Ôåäåðàëüíûé ñòàíäàðò îáðàáîòêè èíôîðìàöèè ( Federal Information Processing Standard , FIPS) äëÿ Ñòàíäàðòà öèôðîâîé ïîäïèñè (Digital Signature Standard, DSS).  ýòîì ñòàíäàðòå îïðåäåëÿåòñÿ àëãîðèòì öèôðîâîé ïîäïèñè ñ îòêðûòûì êëþ÷îì (DSA), ïðèãîäíûé äëÿ ôåäåðàëüíûõ ïðèìåíåíèé, òðåáóþùèõ öèôðîâîé ïîäïèñè . Ïðåäëîæåííûé DSS èñïîëüçóåò îòêðûòûé êëþ÷ äëÿ ïðîâåðêè ïîëó÷àòåëåì öåëîñòíîñòè ïîëó÷åííûõ äàííûõ è ëè÷íîñòè îòïðàâèòåëÿ . DSS òàêæå ìîæåò áûòü èñïîëüçîâàí òðåòüåé ñòîðîíîé äëÿ ïðîâåðêè ïðàâèë üíîñòè ïîäïèñè è ñâÿçàííûõ ñ íåé äàííûõ .  ýòîì ñòàíäàðòå ïðèíèìàåòñÿ ñõåìà ïîäïèñè ñ îòêðûòûì êëþ÷îì, èñïîëüçóþùàÿ ïàðó ïðåîáðàçîâàíèé äëÿ ñîçäàíèÿ è ïðîâåðêè öèôðîâîãî çíà÷åíèÿ, íàçûâàåìîãî ïîäïèñüþ .
È: Ïðåäëîæåííûé ñòàíäàðò ïðåäñòàâëÿåò ñîáîé ðåçóëüòàò îöåíêè ðàçëè÷íûõ ìåòîäèê öèôðîâîé ïîäïèñè . Ïðèíèìàÿ ðåøåíèå, NIST ñëåäîâàë ïîëîæåíèþ ðàçäåëà 2 Àêòà î êîìïüþòåðíîé áåçîïàñíîñòè ( Computer Security Act) 1987 ãîäà î òîì, ÷òî NIST ðàçðàáàòûâàåò ñòàíäàðòû," . . . îáåñïå÷èâàþùèå ðåíòàáåëüíûå áåçîïàñíîñòü è ñåêðåòíîñòü Ôåäåðàëüíîé èíôîðìàöèè, âûáèðàÿ èç òåõíîëîãèé, ïðåäëàãàþùèõ ñðàâíèìóþ ñòåïåíü çàùèòû, òó, êîòîðàÿ îáëàäàåò íàèáîëåå ïîäõîäÿùèìè ðàáî÷èìè è ýêñïëóàòàöèîííûìè õàðàêòåðèñòèêàìè" . Ñðåäè ôàêòîðîâ, ðàññìîòðåííûõ â ïðîöåññå ïðèíÿòèÿ ðåøåíèÿ áûëè óðîâåíü îáåñïå÷èâàåìîé áåçîïàñíîñòè, ïðîñòîòà à ïïàðàòíîé è ïðîãðàììíîé ðåàëèçàöèè, ïðîñòîòà ýêñïîðòà çà ïðåäåëû ÑØÀ, ïðèìåíèìîñòü ïàòåíòîâ, âëèÿíèå íà íàöèîíàë üíóþ áåçîïàñíîñòü è îáåñïå÷åíèå ïðàâîïîðÿäêà, à òàêæå ñòåïåíü ýôôåêòèâíîñòèêàê ôóíêöèè ïîäïèñè, òàê è ôóíêöèè ïðîâå ðêè. Êàçàëîñü, ÷òî îáåñïå÷èòü ñîîòâåòñòâóþùóþ çàùèòó Ôåäåðàëüíûì ñèñòåìàì ìîæíî ìíîãèìè ñïîñîáàìè. Âûáðàííûé óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: NIST îæèäàåò, ÷òî åãî ìîæíî áóäåò èñïîëüçîâàòü áåñïëàòíî. Øèðîêîå èñïîëüçîâàíèå ýòîé òåõíîëîãèè, îáóñëîâëåííîé åãî äîñòóïíîñòüþ, ïîñëóæèò ê ýêîíîìè÷åñêîé âûãîäå ïðàâèòåëüñòâà è îáùåñòâà. Âûáðàííàÿ òåõíîëîãèÿ îáåñïå÷èâàåò ýôôåêòèâíîå èñïîëüçîâàíèå îïåðàöèé ïîäïèñè â ïðèëîæåíèÿõ, ñâÿçàííûõ ñ è ñïîëüçîâàíèåì èíòåëëåêòóàëüíûõ êàðòî÷åê .  ýòèõ ïðèëîæåíèÿõ îïåðàöèè ïîäïèñè âûïîëíÿþòñÿ â ñëàáîé âû÷èñëèòåëüíîé ñðåäå èíòåëëåêòóàëüíûõ êàðòî÷åê, à ïðîöåññ ïðîâåðêè ðåàëèçóåòñÿ â áîëåå ìîùíîé âû÷èñëèòåëüíîé ñðåäå, íàïðèìåð, íà ïå ðñîíàëüíîì êîìïüþòåðå, â àïïàðàòíîì êðèïòîãð àôè÷åñêîì ìîäóëå èëè íà êîìïüþòåðå-ìýéíôðåéìå .
Ïðåæäå, ÷åì âñå ñîâñåì çàïóòàåòñÿ, ïîçâîëüòå ìíå ðàçîáðàòüñÿ ñ íàçâàíèÿìè : DSA - ýòî àëãîðèòì, à DSS ñòàíäàðò. Ñòàíäàðò èñïîëüçóåò àëãîðèòì. Àëãîðèòì ÿâëÿåòñÿ ÷àñòüþ ñòàíäàðòà. Ðåàêöèÿ íà çàÿâëåíèå Çàÿâëåíèå NIST âûçâàëî ïîòîê êðèòè÷åñêèõ çàìå÷àíèé è îáâèíåíèé . Ê ñîæàëåíèþ, îíè áûëè ñêîðåå ïîëèò è÷åñêèìè, ÷åì íàó÷íûìè. RSA Data Security, Inc., ïðîäàþùàÿ àëãîðèòì RSA, âîçãëàâèëà êðèòèêîâ DSS. Îíè òðåáîâàëè, ÷òîáû â ñòàíäàðò èñïîëüçîâàëñÿ àëãîðèòì RSA. RSADSI ïîëó÷èëî íåìàëî äåíåã çà ëèöåíçèðîâàíèå àëãîðèòìà RSA, è ñòàíäàðò áåñïëàòíîé öèôðîâîé ïîäïèñè ïðÿìî ïîâëèÿë áû íà ñàìóþ ñóòü åå êîììåð÷åñêèõ óñïåõîâ. (Ïðèìå÷àíèå: DSA íåîáÿçàòåëüíî íå íàðóøàåò ïàòåíòû, ìû ðàññìîòðèì ýòó òåìó ïîçäíåå .) Äî çàÿâëåíèÿ î ïðèíÿòèè àëãîðèòìà RSADSI âåëî êîìïàíèþ ïðîòèâ "îáùåãî ìîäóëÿ,'' êîòîðûé, âîçìîæíî, ïîçâîëèò ïðàâèòåëüñòâó ïîääåëûâàòü ïîäïèñè . Êîãäà áûëî îáúÿâëåíî, ÷òî àëãîðèòì íå èñïîëüçóåò îáùèé ì îäóëü, êðèòèêà áûëà ïðîäîëæåíà ñ äðóãèõ ïîçèöèé [154], êàê ñ ïîìîùüþ ïèñåì â NIST, òàê è ñ ïîìîùüþ çàÿâëåíèé â ïðåññå. (×åòûðå ïèñüìà â NIST ïîÿâèëîñü â [1326]. ×èòàÿ èõ, íå çàáûâàéòå, ÷òî ïî êðàéíåé ìåðå äâà àâò îðà, Ðèâåñò è Õåëëìàí, áûëè ôèíàíñîâî çàèíòåðåñîâàíû â òîì, ÷òîáû DSS íå áûë ïðèíÿò.) Ìíîãèå áîëüøèå êîìïàíèè, ðàçðàáàòûâàþùèå ïðîãðàììíîå îáåñïå÷åíèå, êîòîðûå óæå ëèöåíçèðîâàëè àëã îðèòì RSA, òàêæå âûñòóïèëè ïðîòèâ DSS.  1982 ãîäó ïðàâèòåëüñòâî ïîïðîñèëî ïðåäîñòàâèòü åìó àëãîðèòìû ñ îòêðûòûì êëþ÷îì äëÿ âûáîðà îäíîãî èç íèõ â êà÷åñòâå ñòàíäàðòà [537]. Ïîñëå ýòîãî â òå÷åíèå äåâÿòè ëåò îò NIST íå áûëî íèêàêèõ èçâåñòèé. Òàêèå êîìïàíèè, êàê IBM, Apple, Novell, Lotus, Northern Telecom, Microsoft, DEC è Sun ïîòðàòèëè ìíîãî äåíåã, ðåàëèçóÿ àëãîðèòì RSA. Îíè íå áûëè çàèíòåðåñîâàíû â ïîòåðå èíâ åñòèöèé. Âñåãî ê êîíöó ïåðâîãî ïåðèîäà îáñóæäåíèÿ(28 ôåâðàëÿ 1992 ãîäà) NIST ïîëó÷èë 109 çàìå÷àíèé. Ðàññìîòðèì ïî ïîðÿäêó êðèòè÷åñêèå çàìå÷àíèÿ â àäðåñ DSA. 1. DSA íåëüçÿ èñïîëüçîâàòü äëÿ øèôðîâàíèÿ èëè ðàñïðåäåëåíèÿ êëþ÷åé . Ïðàâèëüíî, íî ñòàíäàðò è íå òðåáóåò íàëè÷èÿ ýòèõ âîçìîæíîñòåé. Ýòî ñòàíäàðò ïîäïèñè . NIST ïîäãîòîâèòü ñòàíäàðò øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì . NIST ñîâåðøàåò áîëüøóþ îøèáêó, îñòàâëÿÿ àìåðèêàíñêèé íàðîä áåç ñòàíäàðòà øèôðîâàíèÿ ñ îòêðûòûì êëþ÷îì . Ïî âñåé âåðîÿòíîñòè ïðåäëîæåííûé ñòàíäàðò öèôðîâîé ïîäï èñè áóäåò íåâîçìîæíî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ . (Íî îêàçûâàåòñÿ, ÷òî âîçìîæíî - ñì. ðàçäåë 23.3.) Ýòî íå îçíà÷àåò, ÷òî ñòàíäàðò ïîäïèñè áåñïîë åçåí. 2. DSA áûë ðàçðàáîòàí NSA, è â àëãîðèòìå ìîãóò áûòü ñïåöèàëüíûå ëàçåéêè .
Áîëüøèíñòâî ïåðâîíà÷àëüíûõ êîììåíòàðèåâ áûëè ïðîñòî ïàðàíîèäàëüíûìè : "Îòðèöàíèå NIST ñóùåñòâóþùèõ àëãîðèòìîâ áåç âèäèìûõ ïðè÷èí íå âíóøàåò äîâåðèÿ ê DSS, à óñèëèâàåò ïîäîçðåíèå, ÷òî ñóùåñòâóåò òà éíàÿ ïðîãðàììà, ñòðåìÿùàÿñÿ ïîçâîëèòü NIST è/èëè NSA âñêðûâàòü íàöèîíàëüíóþ êðèïòîñèñòåìó ñ îòêðûòûì êëþ÷îì" [154]. Ñåðüåçíûé âîïðîñ îòíîñèòåëüíî áåçîïàñíîñòè DSA áûë çàäàí Àðæàíîì Ëåíñòðîé (Arjen Lenstra) è Ñòþàðòîì Õàáåðîì (Stuart Haber) èç Bellcore. Îí áóäåò ðàññìîòðåí íèæå. 3. DSA ìåäëåííåå RSA [800]. Áîëåå èëè ìåíåå ñïðàâåäëèâî. Ñêîðîñòè ãåíåðàöèè ïîäïèñè ïðèìåðíî îäèíàêîâû, íî ïðîâåðêà ïîäïèñè ñ ïîìîùüþ DSA îò 10 äî 40 ðàç ìåäëåííåå. Îäíàêî ãåíåðàöèÿ êëþ÷åé áûñòðåå . Íî ýòà îïåðàöèÿ íåèíòåðåñíà, ïîëüçîâàòåëü ðåäêî ïðèìåíÿåò åå . Ñ äðóãîé ñòîðîíû ïðîâåðêà ïîäïèñè - ýòî íàèáîëåå ÷àñòàÿ îïåð àöèÿ. Ïðîáëåìà êðèòèêè â òîì, ÷òî ñóùåñòâóåò ìíîãî ñïîñîáîâ ïîèãðàòü ïàðàìåòðàìè òåñòèðîâàíèÿ, äîáèâàÿñü íóæíûõ ðåçóëüòàòîâ. Ïðåäâàðèòåëüíûå âû÷èñëåíèÿ ìîãóò óñêîðèòü ãåíåðàöèþ ïîäïèñè DSA, íî îíè íå âñåãäà âîçìîæíû. Ñòîðîííèêè RSA ïîäáèðàÿò ÷èñëà òàê, ÷òîáû âûäåëèòü ïðåèìóùåñòâà ñâîåãî àëãîðèòìà, à ñòîðî ííèêè DSA èñïîëüçóþò ñâîé ñïîñîá îïòèìèçàöèè .  ëþáîì ñëó÷àå êîìïüþòåðû ñòàíîâÿòñÿ âñå áûñòðåå è áûñ òðåå. Õîòÿ ðàçíèöà â ñêîðîñòè è ñóùåñòâóåò, â áîëüøèíñòâå ïðèëîæ åíèé îíà íå áóäåò çàìåòíà. 4. RSA - ýòî ñòàíäàðò de facto. Âîò äâà ïðèìåðà ïîäîáíûõ æàëîá . Ïèñüìî Ðîáåðòà Ôîëëåòà (Robert Follett), äèðåêòîðà ïðîãðàììû ñòàíäàðòèçàöèè êîìïàíèè IBM [570]: IBM ñ÷èòàåò, ÷òî NIST ïðåäëîæèë ñòàíäàðò ñõåìû öèôðîâîé ïîäïèñè, îòëè÷àþùèéñÿ îò ïðèíèìàåìûõ ìåæäóíàðîäíûõ ñòàíäàðòîâ. Ïîëüçîâàòåëè è îðãàíèçàöèè ïîëüçîâàòåëåé óáåäèëè íàñ â òîì, ÷òî ïîääåðæêà ìåæäóíàðîäíûõ ñòàíäàðòîâ, è ñïîëüçóþùèõ RSA, â ñàìîì áëèæàéøåì áóäóùåì ñòàíåò íåîáõîäèìûì óñëîâèåì ïðîäàæè ñðåäñòâ îáåñïå÷åíèÿ áåç îïàñíîñòè.
Ïèñüìî Ëåñà Øðîåðà (Les Shroyer), âèöå-ïðåçèòåíòà è äèðåêòîðà êîìïàíèè Motorola [1444]: Ó íàñ äîëæåí áûòü åäèíûé, íàäåæíûé, ïðèçíàííûé âñåìè àëãîðèòì öèôðîâîé ïîäïèñè, êîòîðûé ìîæíî èñïîëüçîâàòü ïî âñåìó ìèðó êàê ìåæäó àìåðèêàíñêèìè è íåàìåðèêàíñêèìè îáúåêòàìè, òàê è ìåæäó ñèñòåìàìè êîìïàíèè Motorola è ñèñòåìàìè äðóãèõ ïðîèçâîäèòåëåé. Îòñóòñòâèå äðóãèõ æèçíåñïîñîáíûõ òåõíîëîãèé öèôðîâîé ïîäïèñè çà ïîñëåäíèå âîñåìü ëåò ñä åëàëî RSA ôàêòè÷åñêèì ñòàíäàðòîì. . . . Motorola è ìíîãèå äðóãèå êîìïàíèè. . . âëîæèëè â RSA ìèëëèîíû äîëëàðîâ. Ìû ñîìíåâàåìñÿ âî âçàèìîäåéñòâèè è âîçìîæíîñòè ïîääåðæêè äâóõ ðàçëè÷íûõ ñòàíäàðòîâ , òàêîå ïîëîæåíèå ïðèâåäåò ê ðîñòó ðà ñõîäîâ, çàäåðæåê ðàçâåðòûâàíèÿ è óñëîæíåíèþ ñèñòåì. . . .
Ìíîãèì êîìïàíèÿì õîòåëîñü, ÷òîáû NIST ïðèíÿë ISO 9796, ìåæäóíàðîäíûé ñòàíäàðò öèôðîâîé ïîäïèñè, èñïîëüçóþùèé RSA [762.]. Õîòÿ ýòî è ñåðüåçíûé àðãóìåíò, îí íåäîñòàòî÷åí, ÷òîáû ïðèíÿòü ìåæäóíàðîäíûé ñòàíäàðò â êà÷åñòâå íàöèîíàëüíîãî . Áåñïëàòíûé ñòàíäàðò ëó÷øå îòâå÷àë áû îáùåñòâåííûì èíòåðåñàì Ñîåä èíåííûõ Øòàòîâ. 5. Âûáîð íàöèîíàëüíîãî àëãîðèòìà íå áûë îòêðûòûì, íå áûëî äàíî äîñòàòî÷íî âðåìåíè äëÿ àíàëèçà . Ñíà÷àëà NIST óòâåðæäàë, ÷òî ðàçðàáîòàë DSA ñàìîñòîÿòåëüíî, çàòåì ïðèçíàë ïîìîùü NSA. Íàêîíåö NIST ïîäòâåðäèë, ÷òî NSA ÿâëÿåòñÿ àâòîðîì àëãîðèòìà. Ýòî ìíîãèõ îáåñïîêîèëî - NSA íå âíóøàåò ëþäÿì äîâåðèå. Äàæå òàê, àëãîðèòì áûë îïóáëèêîâàí è äîñòóïåí äëÿ àíàëèçà, êðîìå òîãî, NIST ïðîäëèë âðåìÿ àíàëèçà è êîììåíòèðîâàíèÿ àëãîðèòìà. 6. DSA ìîæåò íàðóøàòü äðóãèå ïàòåíòû . Ýòî òàê. Ýòîò âîïðîñ áóäåò ðàññìîòðåí â ðàçäåëå, ðàññìàòðèâà þùèì ïàòåíòû. 7. Ðàçìåð êëþ÷à ñëèøêîì ìàë. Ýòî åäèíñòâåííî ñïðàâåäëèâàÿ êðèòèêà DSS. Ïåðâîíà÷àëüíî ïðåäëàãàëîñü èñïîëüçîâàòü ìîäóëü äëèíîé 512 áèòîâ [1149]. Òàê êàê áåçîïàñíîñòü àëãîðèòìà îïðåäåëÿåòñÿ ñëîæíîñòüþ âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ ïî çàäàííîìó ìîäóëþ, ýòîò âîïðîñ âîëíîâàë ìíîãèõ êðèïòîãðàôîâ . Ñ òåõ ïîð âû÷èñëåíèå äèñêðåòíûõ ëîãàðè ôìîâ â êîíå÷íîì ïîëå äîñòèãëî îïðåäåëåííûõ óñïåõîâ, è 512 áèòîâ ñëèøêîì ìàëî äëÿ äîëãîâðåìåííîé ïîäïèñè (ñì. ðàçäåë 7.2). Ñîãëàñíî Áðàÿíó ËàÌà÷÷èà (Brian LaMacchia) è Ýíäðþ Îäëûæêî (Andrew Odlyzko), " . . . äàæå áåçîïàñíîñòü, îáåñïå÷èâàåìàÿ 512-áèòîâûìè ïðîñòûìè ÷èñëàìè, ïî âèäèìîìó, íàõîäèòñÿ íà ïðåäåëå . . . " [934].  îòâåò íà ýòè çàìå÷àíèÿ NIST ñäåëàë äëèíó êëþ÷à ïåðåìåííîé, îò 512 äî 1024 áèòîâ. Íåìíîãî, íî âñåòàêè ïîëó÷øå. 19 ìàÿ 1994 ãîäà áûë èçäàí îêîí÷àòåëüíûé âàðèàíò ñòàíäàðòà [1154]. Ïðè ýòîì áûëî ñêàçàíî [542]: Ýòîò ñòàíäàðò ìîæåò ïðèìåíÿòüñÿ âñåìè Ôåäåðàëüíûìè äåïàðòàìåíòàìè è óïðàâëåíèÿìè äëÿ çàùèòû íåñåêðåòíîé è íôîðìàöèè. . . . Ýòîò ñòàíäàðò áóäåò èñïîëüçîâàí ïðè ïðîåêòèðîâàíèè è ðåàëèçàöèè ñõåì ïîäïèñè ñ îòêðûòûìè êëþ÷àìè, ê îòîðûå ðàçðàáàòûâàþò Ôåäåðàëüíûå äåïàðòàìåíòû è óïðàâëåíèÿ, èëè êîòîðûå ðàçðàáàòûâàþòñÿ ïî èç çàêàçó . ×àñòíûå è êîììåð÷åñêèå îðãàíèçàöèè ìîãóò ïðèíÿòü è è ñïîëüçîâàòü ýòîò ñòàíäàðò.
Ïðåæäå ÷åì ïîëüçîâàòüñÿ ýòèì ñòàíäàðòîì è ðåàëèçîâûâàòü åãî, ïðî÷òèòå íèæå ðàçäåë î ïàòå íòàõ. Îïèñàíèå DSA DSA, ïðåäñòàâëÿþùèé ñîáîé âàðèàíò àëãîðèòìîâ ïîäïèñè Schnorr è EIGamal, ïîëíîñòüþ îïèñàí â [1154].
Àëãîðèòì èñïîëüçóåò ñëåäóþùèå ïàðàìåòðû : p = ïðîñòîå ÷èñëî äëèíîé L áèòîâ, ãäå L ïðèíèìàåò çíà÷åíèå, êðàòíîå 64, â äèàïàçîíå îò 512 äî 1024. ( ïåðâîíà÷àëüíîì ñòàíäàðòå ðàçìåð p áûë ôèêñèðîâàí è ðàâåí 512 áèòàì [1149]. Ýòî âûçâàëî ìíîæåñòâî êðèòè÷åñêèõ çàìå÷àíèé, è NIST ýòîò ïóíêò àëãîðèòìà [1154].) q = 160-áèòîâîé ïðîñòîå ÷èñëî - ìíîæèòåëü p-1. g = h(p-1)/q mod p, ãäå h - ëþáîå ÷èñëî, ìåíüøåå p-1, äëÿ êîòîðîãî h(p-1)/q mod p áîëüøå 1. x = ÷èñëî, ìåíüøåå q. y = gN mod p.  àëãîðèòìå òàêæå èñïîëüçóåòñÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ : H(m). Ñòàíäàðò îïðåäåëÿåò èñïîëüçîâàíèå SHA, ðàññìîòðåííîãî â ðàçäåëå 18.7. Ïåðâûå òðè ïàðàìåòðà, p, q è g, îòêðûòû è ìîãóò áûòü îáùèìè äëÿ ïîëüçîâàòåëåé ñåòè . Çàêðûòûì êëþ÷îì ÿâëÿåòñÿ x, à îòêðûòûì - y. ×òîáû ïîäïèñàòü ñîîáùåíèå, m: (1) Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî k, ìåíüøåå q (2) Àëèñà ãåíåðèðóåò
r = (gk mod p) mod q s = (k-1 (H(m) + xr)) mod q Åå ïîäïèñüþ ñëóæàò ïàðàìåòðû r è s, îíà ïîñûëàåò èõ Áîáó. (3) Áîá ïðîâåðÿåò ïîäïèñü, âû÷èñëÿÿ
w = s-1 mod q u1 = (H(m) * w) mod q u2 = (rw) mod q v = (( g u1 * y u2 ) mod p) mod q Åñëè v = r, òî ïîäïèñü ïðàâèëüíà. Äîêàçàòåëüñòâà ìàòåìàòè÷åñêèõ ñîîòíîøåíèé ìîæíî íàéòè â [1154]. 19th ïðåäñòàâëÿåò ñîáîé êðàòêîå îïèñàíèå àëãîðèòìà. Òàáë. 20-1. Ïîäïèñè DSA Îòêðûòûé êëþ÷: p
ïðîñòîå ÷èñëî äëèíîé îò 512 äî 1024 áèòîâ (ìîæåò èñïîëüçîâàòüñÿ ãðóïïîé ïîëüçîâàòåëåé)
q
160-áèòîâûé ïðîñòîé ìíîæèòåëü p-1 (ìîæåò èñïîëüçîâàòüñÿ ãðóïïîé ïîëüçîâàòåëåé)
g
= h(p-1)/q mod p, ãäå h - ëþáîå ÷èñëî, ìåíüøåå p-1, äëÿ êîòîðîãî h(p-1)/q mod p > 1 (ìîæåò èñïîëüçîâàòüñÿ ãðóïïîé ïîëüçîâàòåëåé)
y
= gN mod p (p-áèòîâîå ÷èñëî) Çàêðûòûé êëþ÷:
x
< q (160-áèòîâîå ÷èñëî) Ïîäïèñü:
k
âûáèðàåòñÿ ñëó÷àéíî, ìåíüøåå q
r
(ïîäïèñü) = (gk mod p) mod q
s
(ïîäïèñü) = (k-1 (H(m) + xr)) mod q Ïðîâåðêà:
w
= s-1 mod q
u1
= (H(m) * w) mod q
u2
= (rw) mod q
v
= (( g u1 * y u2 ) mod p) mod q
Åñëè v = r, òî ïîäïèñü ïðàâèëüíà. Óñêîðÿþùèå ïðåäâàðèòåëüíûå âû÷èñëåíèÿ  18-é ïðèâåäåíû ïðèìåðû ñêîðîñòè ðàáîòû ïðîãðàììíûõ ðåàëèçàöèé DSA [918]. Òàáë. 20-2. Ñêîðîñòü DSA äëÿ ðàçëè÷íûõ äëèí ìîäóëåé ñ 160-áèòîâûì ïîêàçàòåëåì ñòåïåíè (íà SPARC II) 512 áèòîâ
768 áèòîâ
1024 áèòà
Ïîäïèñü
0.20 ñ
0.43 ñ
0.57 ñ
Ïðîâåðêà
0.35 ñ
0.80 ñ
1.27 ñ
Ïðàêòè÷åñêèå ðåàëèçàöèè DSA ÷àñòî ìîæíî óñêîðèòü ñ ïîìîùüþ ïðåäâàðèòåëüíûõ âû÷èñëåíèé . Îáðàòèòå âíèìàíèå, ÷òî çíà÷åíèå r íå çàâèñèò îò ñîîáùåíèÿ. Ìîæíî ñîçäàòü ñòðîêó ñëó÷àéíûõ çíà÷åíèé k, è çàòåì ðàññ÷èòàòü çíà÷åíèÿ r äëÿ êàæäîãî èç íèõ. Ìîæíî òàêæå âû÷èñëèòü k-1 äëÿ êàæäîãî èç ýòèõ çíà÷åíèé k. Çàòåì, êîãäà ïðèõîäèò ñîîáùåíèå, ìîæíî âû÷èñëèòü s äëÿ çàäàííûõ r è k-1. Ýòè ïðåäâàðèòåëüíûå âû÷èñëåíèÿ çàìåòíî óñêîðÿþò DSA.  17-é ïðèâåäåíû ñðàâíåíèÿ âðåìåíè âû÷èñëåíèÿ DSA è RSA äëÿ êîíêðåòíîé ðåàëèçàöèè èíòåëëåêòóàëüíîé êàðòî÷êè [1479]. Òàáë. 20-3. Ñðàâíåíèå âðåìåíè âû÷èñëåíèé RSA è DSA DSA
RSA
DSA ñ îáùèìè p, q, g
Off-card (P)
N/A
Off-card (P)
Ãåíåðàöèÿ êëþ÷à
14 ñ
Off-card (S)
4ñ
Ïðåäâàðèòåëüíûå âû÷èñëåíèÿ
14 ñ
N/A
4ñ
Ïîäïèñü
0.03 ñ
15 ñ
0.03 ñ
Ïðîâåðêà
16 ñ
l.5 ñ
10 ñ
1-5 ñ off-card (P)
1-3 ñ off-card (P)
Ãëîáàëüíûå âû÷èñëåíèÿ
Âû÷èñëåíèÿ âíå êàðòî÷êè (off-card) âûïîëíÿëèñü íà ïåðñîíàëüíîì êîìïüþòåðå i80386/33 ÌÃö. (P) óêàçûâàåò îòêðûòûå ïàðàìåòðû off-card, à (S) - íà çàêðûòûå ïàðàìåòðû off-card.  îáîèõ àëãîðèòìàõ èñïîëüçóåòñÿ 512áèòîâûé ìîäóëü. Ãåíåðàöèÿ ïðîñòûõ ÷èñåë DSA Ëåíñòðà è Õàáåð óêàçàëè, ÷òî âçëîìàòü íåêîòîðûå ìîäóëè íàìíîãî ëåã÷å, ÷åì äðóãèå [950]. Åñëè êòî-íèáóäü çàñòàâèò ïîëüçîâàòåëåé ñåòè èñïîëüçîâàòü îäèí èç òàêèõ ñëàáûõ ìîäóëåé, òî èõ ïîäïèñè áóäåò ëåã÷å ïîääåëàòü . Òåì íå ìåíåå ýòî íå ïðåäñòàâëÿåò ïðîáëåìû ïî äâóì ïðè÷èíàì: òàêèå ìîäóëè ëåãêî îáíàðóæèòü, è îíè òàê ðå äêè, ÷òî âåðîÿòíîñòü ñëó÷àéíî èñïîëüçîâàòü îäíîãî èç íèõ ïðåíåáðåæèìî ìàëà , ìåíüøå, ÷åì âåðîÿòíîñòü ñëó÷àéíî ïîëó÷èòü ñîñòàâíîå ÷èñëî íà âûõîäå âåðîÿòíîñòíîé ïðîöåäóðû ãåíåðàöèè ïðîñòûõ ÷èñåë .  [1154] NIST ðåêîìåíäîâàë êîíêðåòíûé ìåòîä ãåíåðàöèè äâóõ ïðîñòûõ ÷èñåë , p è q, ãäå q ÿâëÿåòñÿ äåëèòåëåì p-1. Äëèíà ïðîñòîãî ÷èñëà p - ìåæäó 512 è 1024 è êðàòíà 64 -áèòàì. Ïóñòü L-1= 160n+b, ãäå L - ýòî äëèíà p, à n è b - äâà ÷èñëà, ïðè÷åì b ìåíüøå 160. (1) Âûáåðåì ïðîèçâîëüíóþ ïîñëåäîâàòåëüíîñòü, ïî êðàéíåé ìåðå, 160 áèòîâ è íàçîâåì åå S. Ïóñòü g - ýòî
äëèíà S â áèòàõ.
(2) Âû÷èñëèì U = SHA(S) ⊕ SHA((S + 1) mod 2g), ãäå SHA îïèñàí â ðàçäåëå 18.7. (3) Îáðàçóåì q, óñòàíîâèâ íàèáîëüøèé è íàèìåíüøèé çíà÷àùèå áèòû U â 1. (4) Ïðîâåðèì, ÿâëÿåòñÿ ëè q ïðîñòûì. (5) Åñëè q íå ÿâëÿåòñÿ ïðîñòûì, òî âåðíåìñÿ íà ýòàï (1) .
(6) Ïóñòü C=0 è N=2. g
(7) Äëÿ k=0,l,...,n, ïóñòü Vk=SHA((S+N+k) mod 2 ) (8) Ïóñòü W - öåëîå ÷èñëî
W = V0 + 2160V1 +. . .+ 2160(n-1) Vn-1 + 2160 (Vn mod 2b) è ïóñòü X = W + 2L-1 Îáðàòèòå âíèìàíèå, ÷òî X - ýòî L-áèòîâîå ÷èñëî. (9) Ïóñòü p = X - ((X mod 2q) - 1). Îáðàòèòå âíèìàíèå, ÷òî p êîíãðóýíòíî 1 mod 2q. (10) Åñëè p < 2
L-1
, òî ïåðåéäåì íà ýòàï (13).
(11) Ïðîâåðèì, ÿâëÿåòñÿ ëè p ïðîñòûì ÷èñëîì. (12) Åñëè p - ïðîñòîå, ïåðåéäåì ê ýòàïó (15). (13) Ïóñòü C=C+1 è N=N+n+l. (14) Åñëè C = 4096, âåðíåìñÿ ê ýòàïó (1).  ïðîòèâíîì ñëó÷àå ïåðåéäåì íà ýòàï (7). (15) Ñîõðàíèì çíà÷åíèÿ S è C, èñïîëüçîâàííûå äëÿ ãåíåðàöèè p è q.
 [1154] ïåðåìåííàÿ S íàçûâàåòñÿ ñòàðòîâîé, ïåðåìåííàÿ C - ñ÷åò÷èêîì, à N - ñìåùåíèåì. Ñìûñë ýòîãî óïðàæíåíèÿ â òîì, ÷òî îíî ÿâëÿåòñÿ îïóáëèêîâàííûì ñïîñîáîì ãåíåðàöèè p è q. Äëÿ âñåõ ïðàêòè÷åñêèõ ïðèìåíåíèé ýòîò ìåòîä ïîçâîëÿåò èçáåæàòü ñëàáûõ çíà÷åíèé p è q. Åñëè êòî-òî âðó÷èò âàì êàêèå-òî p è q, âàñ ìîæåò çàèíòåðåñîâàòü, êàê ïîëó÷åíû ýòè ÷èñëà . Îäíàêî, åñëè âû ïîëó÷èòå çíà÷åíèÿ S è C, èñïîëüçîâàííûå ïðè ãåíåðàöèè ñëó÷àéíûõ p è q, âû ñìîæåòå ïîâòîðèòü âñþ ïðîöåäóðó ñàìîñòîÿòåëüíî . Èñïîëüçîâàíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè (â ñòàíäàðòå èñïîëüçóåòñÿ SHA) íå ïîçâîëÿåò ïîëó÷èòü S è C ïî çíà÷åíèÿì p è q. Ýòà áåçîïàñíîñòü ëó÷øå, ÷åì îáåñïå÷èâàåìàÿ RSA.  RSA ïðîñòûå ÷èñëà õðàíÿòñÿ â ñåêðåòå . Ëþáîé ìîæåò ãåíåðèðîâàòü ôàëüøèâîå ïðîñòîå ÷èñëî èëè ÷èñëî, ôîðìà êîòîðîãî óïðîùàåò ðàçëîæåíèå íà ìíîæèòåëè . Íå çíàÿ çàêðûòîãî êëþ÷à, ýòî íèêîãäà íå ïðîâåðèøü .  DSA, äàæå åñëè çàêðûòûé êëþ÷ íåèçâåñòåí, ìîæíî óá åäèòüñÿ, ÷òî p è q ãåíåðèðîâàëèñü ñëó÷àéíûì îáðàçîì . Øèôðîâàíèå ElGamal ñ DSA Óòâåðæäàëîñü, ÷òî DSA òàê íðàâèòñÿ ïðàâèòåëüñòâó, ïîòîìó ÷òî åãî íåëüçÿ èñïîëüçîâàòü â êà÷åñòâå àëã îðèòìà øèôðîâàíèÿ. Îäíàêî ìîæíî èñïîëüçîâàòü âûçîâ ôóíêöèè DSA äëÿ øèôðîâàíèÿ EIGamal. Ïóñòü àëãîðèòì ðåàëèçîâàí êàê âûçîâ îäíîé ôóíêöèè DSAsign(p,q,g,k,x,h,r,s)
Çàäàâ âõîäíûå çíà÷åíèÿ p, q, g, k, x è h, ìîæíî ïîëó÷èòü ïàðàìåòðû ïîäïèñè : r è s. Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ m àëãîðèòìîì EIGamal ñ ïîìîùüþ îòêðûòîãî êëþ÷à y âûáåðåì ñëó÷àéíîå ÷èñëî k è âûçîâåì DSAsign(p,p,g,k,0,0,r,s)
Âîçâðàùåííîå çíà÷åíèå r è áóäåò a èç ñõåìû EIGamal. Îòáðîñèì s. Çàòåì âûçîâåì, call DSAsign(p,p,y,k,0,0,r,s)
Ïåðåèìåíóåì çíà÷åíèå r â u, îòáðîñèì s. Âûçîâåì DSAsign(p,p,m,1,u,0,r,s)
Îòáðîñèì r. Âîçâðàùåííîå çíà÷åíèå s è áóäåò b â ñõåìå EIGamal. Òåïåðü ó âàñ åñòü øèôðîòåêñò, a è b. Äåøèôðèðîâàíèå òàêæå ïðîñòî. Èñïîëüçóÿ çàêðûòûé êëþ÷ x è øèôðîòåêñò ñîîáùåíèé, a è b, âûçîâåì DSAsign(p,p,a,x,0,0,r,s)
Çíà÷åíèå r - ýòî ax mod p. Íàçîâåì åãî e. Çàòåì âûçîâåì DSAsign(p,p,1,e,b,0,r,s)
Çíà÷åíèå s è áóäåò îòêðûòûì òåêñòîì ñîîáùåíèÿ , m. Ýòîò ñïîñîá ðàáîòàåò íå ñî âñåìè ðåàëèçàöèÿìè DSA - â íåêîòîðûõ èç íèõ ìîãóò áûòü çàôèêñèðîâàíû çí à÷åíèÿ p è q èëè äëèíû íåêîòîðûõ äðóãèõ ïàðàìåòðîâ . Òåì íå ìåíåå, åñëè ðåàëèçàöèÿ ÿâëÿåòñÿ äîñòàòî÷íî î áùåé, òî ìîæíî øèôðîâàòü ñîîáùåíèå, íå èñïîëüçóÿ íè÷åãî, êðîìå ôóíêöèè öèôðîâîé ïîäïèñè .
Øèôðîâàíèå RSA ñ DSA Øèôðîâàíèå RSA åùå ïðîùå. Èñïîëüçóÿ ìîäóëü n, ñîîáùåíèå m è îòêðûòûé êëþ÷ e, âûçîâåì DSAsign(n,n,m,e,0,0,r,s)
Âîçâðàùåííîå çíà÷åíèå r è åñòü øèôðîòåêñò. Äåøèôðèðîâàíèå RSA ÿâëÿåòñÿ òî÷íî òàêèì æå. Åñëè d - çàêðûòûé êëþ÷, òî DSAsign(n,n,m,d,0,0,r,s)
âîçâðàùàåò îòêðûòûé òåêñò êàê çíà÷åíèå r. Áåçîïàñíîñòü DSA Ñ 512 áèòàìè DSA íåäîñòàòî÷íî íàäåæåí äëÿ äëèòåëüíîé áåçîïàñíîñòè, íî îí âïîëíå íàäåæåí ïðè 1024 á èòàõ.  ñâîåì ïåðâîì çàÿâëåíèè íà ýòó òåìó NSA òàê êîììåíòèðîâàëî óòâåðæäåíèå Äæî Ýáåðíåòè ( Joe Abernathy) èç The Houston Chronicle ïî ïîâîäó ëàçåéêè â DSS [363]: ×òî êàñàåòñÿ ïðåäïîëàãàåìîé ëàçåéêè â DSS. Ìû ñ÷èòàåì, ÷òî òåðìèí "ëàçåéêà" ââîäèò â çàáëóæäåíèå, òàê îí ïðåäïîë àãàåò, ÷òî ÷åðåç ëàçåéêó ìîæíî êàê-òî ðàñøèôðîâàòü (ïðî÷èòàòü) çàøèôðîâàííûå ñîîáùåíèÿ, ïîäïèñûâàåìûå ñ ïîìîùüþ DSS, áåç ðàçðåøåíèÿ îòïðàâèòåëÿ. DSS íå øèôðóåò íèêàêèõ äàííûõ. Ïî ñóòè âîïðîñîì ÿâëÿåòñÿ, íå ìîæåò ëè êòî-òî ïðè ïîìîùè DSS ïîääåëàòü ïîäïèñü, è, òàêèì îáðàçîì, äèñêðåäèòèðîâàòü âñþ ñèñòåìó . Ìû êàòåãîðè÷åñêè çàÿâëÿåì, ÷òî âåðîÿòíîñòü, ÷òî êòî-íèáóäü - âêëþ÷àÿ NSA ñìîæåò ïîääåëàòü ïîäïèñü DSS, ïðè ïðàâèëüíîì èñïîëüçîâàíèè ñòàíäàðòà áåñêîíå÷íî ìàëà. Áîëåå òîãî, ïðåäïîëîæåíèå î ÷óâñòâèòåëüíîñòè ê ëàçåéêå ñïðàâåäëèâî äëÿ ëþáîé ñèñòåìû ïðîâåðêè ïîäëèííîñòè ñ î òêðûòûìè êëþ÷àìè, âêëþ÷àÿ RSA. Óòâåðæäåíèå, ÷òî ýòî âëèÿåò òîëüêî íà DSS (àðãóìåíò, ïîïóëÿðíûé â ïðåññå ), ïîëíîñòüþ íåâåðíî. Âîïðîñ â ðåàëèçàöèè è ñïîñîáå âûáîðà ïðîñòûõ ÷èñåë . Ìû ïðèçûâàåì âàñ óäåëèòü âíèìàíèå íåäàâíåé êîíôåðåíöèè EUROCRYPT, ãäå "çà êðóãëûì ñòîëîì" îáñóæäàëñÿ âîïðîñ ëàçååê â DSS. Îäíèì èç ó÷àñòíèêîâ îáñóæäåíèÿ áûë îäèí èç è ññëåäîâàòåëåé èç Bellcore, óòâåðæäàâøèé î âîçìîæíîñòè ëàçåéêè , è ïî íàøåìó ïîíèìàíèþ ó÷àñòíèêè äèñêóññèè - âêëþ÷àÿ ýòîãî èññëåäîâàòåëÿ èç Bellcore - ïðèøëè ê âûâîäó, ÷òî âîïðîñ î ëàçåéêå â DSS íå ïðåäñòàâëÿåò ïðîáëåìû. Áîëåå òîãî, âñåìè áûëî ïðèçíàíî, ÷òî âîïðîñ î ëàçåéêå ÿâëÿåòñÿ òðèâèàëüíûì è áûë ðàçäóò ïðåññîé . Îäíàêî, ïûòàÿñü ïî ïðîñüáå NIST îòâåòèòü íà îáâèíåíèå î ëàçåéêå, ìû ðàçðàáîòàëè ïðîöåññ ãåíåðàöèè ïðîñòûõ ÷èñåë, ïîçâîëÿþùèé èçáåæàòü âûáîðà îäíîãî èç îòíîñ èòåëüíî íåáîëüøîãî ÷èñëà ñëàáûõ ïðîñòûõ ÷èñåë, èñïîëüçîâàíèå êîòîðûõ îñëàáëÿåò DSS. Êðîìå òîãî, NIST íàñòàèâàåò íà èñïîëüçîâàíèè ìîäóëåé áîëüøåé äëèíû, âïëîòü äî 1024, ÷òî ïîçâîëÿåò íå ïîëüçîâàòüñÿ ðàçðàáîòàííûì ïðîöåññîì ãåíåðàöèè ïðîñòûõ ÷èñåë, èçáåãàÿ ñëàáûõ ïðîñòûõ ÷èñåë . Î÷åíü âàæíûì äîïîëíèòåëüíûì ìîìåíòîì, íà êîòîðûé ÷àñòî íå îáðàùàþò âíèìàíèå, ÿâëÿåòñÿ òî, ÷òî ïðè èñïîëüçîâàíèè DSS ïðîñòûå ÷èñëà îáùåäîñòóïíû è, ñëåäîâàòåëüíî, ìîãóò áûòü ïðåäìåòîì îòêðûòîãî èçó÷åíèÿ. Íå âñå ñèñòåìû ñ îòêðûòûìè êëþ÷àìè ñïîñîáíû ïðîéòè ïîäîáíóþ ïðîâåðêó . Öåëîñòíîñòü ëþáîé ñèñòåìû çàùèòû èíôîðìàöèè òðåáóåò îáðàòèòü âíèìàíèå íà ðåàëèçàöèþ. Ó÷èòûâàÿ óÿçâèìîñòü ñè ñòåì ñ ìèëëèîíàìè ðàâíîïðàâíûõ ïîëüçîâàòåëåé , NSA ïî òðàäèöèè íàñòàèâàåò íà èñïîëüçîâàíèè öåíòðàëèçîâàííûõ äîâåðå ííûõ öåíòðîâ êàê íà ñïîñîáå ìèíèìèçèðîâàòü ðèñê â ñèñòåìå . Õîòÿ ìû ïî ïðîñüáå NIST è ðàçðàáîòàëè ðÿä òåõíè÷åñêèõ ìîä èôèêàöèé DSS, ïîçâîëÿþùèõ ðåàëèçîâàòü ìåíåå öåíòðàëèçîâàííûé ïîäõîä, âñå æå íóæíî âûäåëèòü òó ÷àñòü îáúÿâëåíèÿ î DSS â Federal Register, â êîòîðîé ãîâîðèòñÿ: "Õîòÿ ýòîò ñòàíäàðò äîëæåí îáåñïå÷èòü îáùèå òðåáîâàíèÿ áåçîïàñíîñòè ãåíåðàöèè öèôðîâûõ ïîäïèñåé , ñîîòâåòñòâèå ñòàíäàðòó íå îáåñïå÷èâàåò áåçîïàñíîñòü êîíêðåòíîé ðåàëèçàöèè . Îòâåòñòâåííîå ëèöî â êàæäîì äåïàðòàìåíòå èëè óïðàâë åíèè äîëæíî ãàðàíòèðîâàòü, ÷òî îáùàÿ ðåàëèçàöèÿ ãàðàíòèðóåò ïðèåìëåìûé óðîâåíü áåçîïàñíîñòè . NIST ïðîäîëæèò ðàáîòó ñ ïðàâèòåëüñòâåííûìè ïîëüçîâàòåëÿìè, îáåñïå÷èâàÿ ïðàâèëüíîñòü ðåàëèç àöèé." Íàêîíåö ìû èçó÷èëè âñå óòâåðæäåíèÿ î íåáåçîïàñíîñòè DSS, è îíè íàñ íå óáåäèëè. DSS áûë òùàòåëüíî èçó÷åí â NSA, ÷òî ïîçâîëèëî íàøåìó Äèðåêòîðó ïî áåçîïàñíîñòè èíôîðìàöèîííûõ ñèñòåì ðàçðåøèòü èñïîëüçîâàòü ýòîò ñòàíäàðò äëÿ ïî äïèñè íåñåêðåòíûõ äàííûõ, îáðàáàòûâàåìûõ â îïðåäåëåííûõ ðàçâåäûâàòåëüíûõ ñèñòåìàõ, è äàæå äëÿ ïîäïèñè ñåêðåòíûõ äà ííûõ â ðÿäå ñèñòåì. Ìû ñ÷èòàåì, ÷òî ïîäîáíîå ïðèçíàíèå ñâèäåòåëüñòâóåò î íåâîçìîæíîñòè êàêîãî-ëèáî âåðîÿòíîãî âñêðûòèÿ áåçîïàñíîñòè, îáåñïå÷èâàåìîé DSS ïðè åãî ïðàâèëüíûõ ðåàëèçàöèè è èñïîëüçîâàíèè. Îñíîâûâàÿñü íà òðåáîâàíèÿõ ïðàâ èòåëüñòâà ÑØÀ ê òåõíèêå è áåçîïàñíîñòè öèôðîâûõ ïîäïèñåé , ìû ñ÷èòàåì, ÷òî DSS ÿâëÿåòñÿ ëó÷øèì âûáîðîì.  äåéñòâèòåëüíîñòè, DSS âûñòóïàåò â êà÷åñòâå ïèëîòíîãî ïðîåêòà Ñèñòåìû çàùèòû ñîîáùåíèé (Defense Message System), ïðèçâàííîãî ãàðàíòèðîâàòü ïîäëèííîñòü ýëåêòðîííûõ ñîîáùåíèé äëÿ æèçíåííî âàæíûõ êîìàíä è êîíòðîëüíîé èíôîðìàöèè . Ýòà íà÷àëüíàÿ äåìîíñòðàöèÿ âêëþ÷àåò ó÷àñòèå Êîìèòåòà íà÷àëüíèêîâ øòàáîâ , âîåííûõ ñëóæá è îáîðîííûõ âåäîìñòâ è ïðîâîäèòñÿ â êîîïåðàöèè ñ NIST.
ß íå ñîáèðàþñü êîììåíòèðîâàòü èñòèííîñòü çàÿâëåíèÿ NSA. Ïðèíèìàòü åãî íà âðó èëè íåò - çàâèñèò îò â àøåãî ê íåìó îòíîøåíèÿ. Âñêðûòèÿ k Äëÿ êàæäîé ïîäïèñè íóæíî íîâîå çíà÷åíèå k, êîòîðîå äîëæíî âûáèðàòüñÿ ñëó÷àéíûì îáðàçîì . Åñëè Åâà óçíàåò k, êîòîðîå Àëèñà èñïîëüçîâàëà äëÿ ïîäïèñè ñîîáùåíèÿ , ìîæåò áûòü âîñïîëüçîâàâøèñü íåêîòîðûìè ñâî éñòâàìè ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë, êîòîðûé âûäàåò k, îíà ñìîæåò ðàñêðûòü çàêðûòûé êëþ÷ Àëèñû, x. Åñëè Åâà äîáóäåò äâà ñîîáùåíèÿ, ïîäïèñàííûõ ñ ïîìîùüþ îäíîãî è òîãî æå k, òî, äàæå íå çíàÿ çíà÷åíèå k, îíà ñìîæåò ðàñêðûòü x. À ñ ïîìîùüþ x Åâà ñìîæåò òàéíî ïîääåëûâàòü ïîäïèñü Àëèñû.  ëþáîé ðåàëèçàöèè DSA äëÿ áåçîïàñíîñòè ñèñòåìû î÷åíü âàæåí õîðîøèé ãåíåðàòîð ñëó÷àéíûõ ÷èñåë [1468]. Îïàñíîñòè îáùåãî ìîäóëÿ Õîòÿ DSS íå îïðåäåëÿåò ïðèìåíåíèå ïîëüçîâàòåëÿìè îáùåãî ìîäóëÿ, ðàçëè÷íûå ðåàëèçàöèè ìîãóò âîñïîë üçîâàòüñÿ òàêîé âîçìîæíîñòüþ. Íàïðèìåð, Íàëîãîâîå óïðàâëåíèå ðàññìàòðèâàåò èñïîëüçîâàíèå DSS äëÿ ýëåêòðîííîé íàëîãîâ. ×òî åñëè ýòà îðãàíèçàöèÿ ïîòðåáóåò, ÷òîáû âñå íàëîãîïëàòåëüùèêè ñòðàíû èñïîëüçîâàëè î áùèå p è q? Îáùèé ìîäóëü ñëèøêîì ëåãêî ñòàíîâèòñÿ ìèøåíüþ äëÿ êðèïòîàíàëèçà . Ïîêà ñëèøêîì ðàíî îáñóæäàòü ðàçëè÷íûå ðåàëèçàöèè DSS, íî ïðè÷èíû äëÿ áåñïîêîéñòâà åñòü .
Ïîäñîçíàòåëüíûé êàíàë â DSA Ãóñ Ñèììîíñ (Gus Simmons) îòêðûë â DSA ïîäñîçíàòåëüíûé êàíàë [1468, 1469] (ñì. ðàçäåë 23.3). Ýòîò ïîäñîçíàòåëüíûé êàíàë ïîçâîëÿåò âñòðàèâàòü â ïîäïèñü òàéíîå ñîîáùåíèå, êîòîðîå ìîæåò áûòü ïðî÷èòàíî òîëüêî òåì, ó êîãî åñòü êëþ÷. Ñîãëàñíî Ñèììîíñó, ýòî "çàìå÷àòåëüíîå ñîâïàäåíèå", ÷òî "âñå î÷åâèäíûå íåäîñòàòêè ïîäñîçíàòåëüíûõ êàíàëîâ, èñïîëüçóþùèõ ñõåìó ElGamal, ìîãóò áûòü óñòðàíåíû" â DSS, è ÷òî DSS "íà ñåãîäíÿ îáåñïå÷èâàåò íàèáîëåå ïîäõîäÿùóþ ñðåäó äëÿ ïîäñîçíàòåëüíûõ êîììóíèêàöèé ". NIST è NSA íå êîììåíòèðîâàëè ýòîò ïîäñîçíàòåëüíûé êàíàë, íèêòî äàæå íå çíàåò, äîãàäûâàëèñü ëè îíè î òàêîé âîçìîæíîñòè . Òàê êàê ýòîò ïîäñîçíàòåëüíûé êàíàë ïîçâîëÿåò ïðè íåäîáðîñîâåñòíîé ðåàëèçàöèè DSS ïåðåäàâàòü ñ êàæäîé ïîäïèñüþ ÷àñòü çàêðûòîãî êëþ÷à. Íèêîãäà íà ïîëüçóéòåñü ðåàëèçàöèåé DSS, åñëè âû íå äîâåðÿåòå ðàçðàáîò÷èêó ðåàëèç àöèè. Ïàòåíòû Äýâèä Êðàâèö (David Kravitz), ðàíåå ðàáîòàâøèé â NSA, âëàäååò ïàòåíòîì DSA [897]. Ñîãëàñíî NIST [538]: NIST â èíòåðåñàõ îáùåñòâà ñòðåìèòñÿ ñäåëàòü òåõíîëîãèþ DSS äîñòóïíîé áåñïëàòíî ïî âñåìó ìèðó . Ìû ñ÷èòàåì, ÷òî ýòà òåõíîëîãèÿ ìîæåò áûòü çàïàòåíòîâàíà, è ÷òî íèêàêèå äðóãèå ïàòåíòû íå ïðèìåíèìû ê DSS, íî ìû íå ìîæåì äàòü òâåðäûõ ãàðàíòèé ýòîãî äî ïîëó÷åíèÿ ïàòåíòà.
Íåñìîòðÿ íà ýòî, òðè âëàäåëüöà ïàòåíòîâ óòâåðæäàþò, ÷òî DSA íàðóøàåò èõ ïàòåíòû: Diffie-Hellman (ñì. ðàçäåë 2.2.1) [718], Merkle-Hellman (ñì. ðàçäåë 19.2.) [720] è Schnorr (ñì. ðàçäåë 21.3) [1398]. Ïàòåíò Schnorr ÿâëÿåòñÿ èñòî÷íèêîì íàèáîëüøèõ ñëîæíîñòåé . Ñðîê äåéñòâèÿ äâóõ äðóãèõ ïàòåíòîâ èñòåêàåò 1997 ãîäó, à ïàòåíò Schnorr äåéñòâèòåëåí äî 2008 ãîäà. Àëãîðèòì Schnorr áûë ðàçðàáîòàí íå íà ïðàâèòåëüñòâåííûå äåíüãè.  îòë è÷èå îò ïàòåíòîâ PKP ó ïðàâèòåëüñòâà ÑØÀ íåò ïðàâ íà ïàòåíò Schnorr, è Øíîðð çàïàòåíòîâàë ñâîé àëãîðèòì ïî âñåìó ìèðó. Äàæå åñëè ñóäû ÑØÀ âûíåñóò ðåøåíèå â ïîëüçó DSA, íåÿñíî, êàêîå ðåøåíèå ïðèìóò ñóäû â äð óãèõ ñòðàíàõ. Ñìîæåò ëè ìåæäóíàðîäíàÿ êîðïîðàöèÿ ïðèíÿòü ñòàíäàðò, êîòîðûé çàêîíåí â îäíèõ ñòðàíàõ è í àðóøàåò ïàòåíòíîå çàêîíîäàòåëüñòâî â äðóãèõ ? Íóæíî âðåìÿ, ÷òîáû ðåøèòü ýòó ïðîáëåìó, ê ìîìåíòó íàïèñàíèÿ ýòîé êíèãè ýòîò âîïðîñ íå ðåøåí äàæå â Ñîåäèíåííûõ Øòàòàõ .  èþíå 1993 ãîäà NIST ïðåäëîæèë âûäàòü PKP èñêëþ÷èòåëüíóþ ïàòåíòíóþ ëèöåíçèþ íà DSA [541]. Ñîãëàøåíèå ïðîâàëèëîñü ïîñëå ïðîòåñòîâ îáùåñòâåííîñòè è ñòàíäàðò âûøåë â ñâåò áåç âñÿêèõ ñîãëàøåíèé . NIST çàÿâèë [542]: • . . NIST ðàññìîòðåë çàÿâëåíèÿ î âîçìîæíîì íàðóøåíèè ïàòåíòîâ è ñäåëàë âûâîä, ÷òî ýòè çàÿâëåíèÿ íåñïðàâåäëèâû .
Èòàê ñòàíäàðò îôèöèàëüíî ïðèíÿò, â âîçäóõå ïàõíåò ñóäåáíûìè ïðîöåññàìè , è íèêòî íå çíàåò, ÷òî äåëàòü. NIST çàÿâèë, ÷òî îí ïîìîæåò çàùèòèòüñÿ ëþäÿì, îáâèíåííûì â íàðóøåíèè ïàòåíòíîãî çàêîíîäàòåëüñòâà ïðè èñïîëüçîâàíèè DSA â ðàáîòå ïî ïðàâèòåëüñòâåííîìó êîíòðàêòó . Îñòàëüíûå, ïî âèäèìîìó, äîëæíû çàáîòèòüñÿ î ñåáå ñàìè. Ïðîåêò áàíêîâñêîãî ñòàíäàðòà, èñïîëüçóþùåãî DSA, âûäâèíóò ANSI [60]. NIST ðàáîòàåò íàä ââåäåíèåì ñòàíäàðòà DSA â ïðàâèòåëüñòâåííîì àïïàðàòå. Shell Oil ñäåëàëà DSA ñâîèì ìåæäóíàðîäíûì ñòàíäàðòîì . Î äðóãèõ ïðåäëîæåííûõ ñòàíäàðòàõ DSA ìíå íåèçâåñòíî.
20.2 Âàðèàíòû DSA Ýòîò âàðèàíò äåëàåò ïðîùå âû÷èñëåíèÿ, íåîáõîäèìûå äëÿ ïîäïèñè, íå çàñòàâëÿÿ âû÷èñëÿòü k-1 [1135]. Âñå èñïîëüçóåìûå ïàðàìåòðû - òàêèå æå, êàê â DSA. Äëÿ ïîäïèñè ñîîáùåíèÿ m Àëèñà ãåíåðèðóåò äâà ñëó÷àéíûõ ÷èñëà, k è d, ìåíüøèå q. Ïðîöåäóðà ïîäïèñè âûãëÿäèò òàê r = (gk mod p) mod q s = (H(m) + xr) * d mod q t = kd mod q Áîá ïðîâåðÿåò ïîäïèñü, âû÷èñëÿÿ w = t/s mod q u1 = (H(m) * w) mod q u2 = (rw) mod q Åñëè r = (( g u1 * y u2 ) mod p) mod q, òî ïîäïèñü ïðàâèëüíà. Ñëåäóþùèé âàðèàíò óïðîùàåò âû÷èñëåíèÿ ïðè ïðîâåðêå ïîäïèñè [1040, 1629]. Âñå èñïîëüçóåìûå ïàðàìåòðû - òàêèå æå, êàê â DSA. Äëÿ ïîäïèñè ñîîáùåíèÿ m Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî k, ìåíüøåå q. Ïðîöåäóðà ïîäïèñè âûãëÿäèò òàê r = (gk mod p) mod q s = k (H(m) + xr)-1 mod q
Áîá ïðîâåðÿåò ïîäïèñü, âû÷èñëÿÿ u1 = (H(m) *s) mod q u2 = (sr) mod q Åñëè r = (( g u1 * y u2 ) mod p) mod q, òî ïîäïèñü ïðàâèëüíà. Åùå îäèí âàðèàíò DSA ðàçðåøàåò ïàêåòíóþ ïðîâåðêó, Áîá ìîæåò ïðîâåðÿòü ïîäïèñè ïàêåòàìè [1135]. Åñëè âñå ïîäïèñè ïðàâèëüíû, òî ðàáîòà Áîáà çàêîí÷åíà. Åñëè îäíà èç íèõ íåïðàâèëüíà, òî åìó åùå íóæíî ïîíÿòü, êàêàÿ. Ê íåñ÷àñòüþ, ýòî íåáåçîïàñíî. Ëèáî ïîäïèñûâàþùèé, ëèáî ïðîâåðÿþùèé ìîæåò ëåãêî ñîçäàòü íàáîð ôàëüøèâûõ ïîäïèñåé, êîòîðûé óäîâëåòâîðÿåò êðèòåðèþ ïðîâåðêè ïàêåòà ïîäïèñåé [974]. Ñóùåñòâóåò òàêæå âàðèàíò ãåíåðàöèè ïðîñòûõ ÷èñåë äëÿ DSA, êîòîðûé âêëþ÷àåò q è èñïîëüçóåìûå äëÿ ãåíåðàöèè ïðîñòûõ ÷èñåë ïàðàìåòðû âíóòðü p. Âëèÿåò ëè ýòà ñõåìà íà áåçîïàñíîñòü DSA, âñå åùå íåèçâåñòíî. (1) Âûáåðåì ïðîèçâîëüíóþ ïîñëåäîâàòåëüíîñòü, ïî êðàéíåé ìåðå, 160 áèòîâ è íàçîâåì åå S. Ïóñòü g - ýòî
äëèíà S â áèòàõ.
(2) Âû÷èñëèì U = SHA(S) ⊕ SHA((S + 1) mod 2g), ãäå SHA îïèñàí â ðàçäåëå 18.7. (3) Îáðàçóåì q, óñòàíîâèâ íàèáîëüøèé è íàèìåíüøèé çíà÷àùèå áèòû U â 1. (4) Ïðîâåðèì, ÿâëÿåòñÿ ëè q ïðîñòûì. (5) Ïóñòü p - ýòî îáúåäèíåíèå q, S, C è SHA(S ). C ïðåäñòàâëÿåò ñîáîé 32 íóëåâûõ áèòà . (6) p=p-(p mod q)+l. (7) p=p+q. (8) Åñëè C â p ðàâíî 0x7fffffff, âåðíåìñÿ íà ýòàï (1). (9) Ïðîâåðèì, ÿâëÿåòñÿ ëè p ïðîñòûì. (10) Åñëè p - ñîñòàâíîå, âåðíåìñÿ íà ýòàï (7).
Ïðåèìóùåñòâîì ýòîãî âàðèàíòà ÿâëÿåòñÿ òî, ÷òî âàì íå íóæíî õðàíèòü çíà÷åíèÿ C è S, èñïîëüçîâàííûå äëÿ ãåíåðàöèè p è q. Îíè âêëþ÷åíû â ñîñòàâ p. Äëÿ ïðèëîæåíèé, ðàáîòàþùèõ â óñëîâèÿõ íåõâàòêè ïàìÿòè, íàïð èìåð, äëÿ èíòåëëåêòóàëüíûõ êàðòî÷åê, ýòî ìîæåò áûòü âàæíî .
20.3 Àëãîðèòì öèôðîâîé ïîäïèñè ÃÎÑÒ Ýòî ðóññêèé ñòàíäàðò öèôðîâîé ïîäïèñè , Îôèöèàëüíî íàçûâàåìûé ÃÎÑÒ Ð 34.10-94 [656]. Àëãîðèòì î÷åíü ïîõîæ íà DSA, è èñïîëüçóåò ñëåäóþùèå ïàðàìåòðû p = ïðîñòîå ÷èñëî, äëèíà êîòîðîãî ëèáî ìåæäó 509 è 512 áèòàìè, ëèáî ìåæäó 1020 è 1024 áèòàìè. q = ïðîñòîå ÷èñëî - ìíîæèòåëü p-1, äëèíîé îò 254 äî 256 áèòîâ. a = ëþáîå ÷èñëî, ìåíüøåå p-1, äëÿ êîòîðîãî aq mod p = 1. x = ÷èñëî, ìåíüøåå q. y = ax mod p. Ýòîò àëãîðèòì òàêæå èñïîëüçóåò îäíîíàïðàâëåííóþ õýø-ôóíêöèþ : H(x). Ñòàíäàðò îïðåäåëÿåò èñïîëüçîâàíèå õýø-ôóíêöèè ÃÎÑÒ Ð 34.1 1-94 (ñì. ðàçäåë 18.1 1), îñíîâàííîé íà ñèììåòðè÷íîì àëãîðèòìå ÃÎÑÒ (ñì. ðàçäåë 14.1) [657]. Ïåðâûå òðè ïàðàìåòðà, p, q è a, îòêðûòû è ìîãóò èñïîëüçîâàòüñÿ ñîâìåñòíî ïîëüçîâàòåëÿìè ñåòè . Çàêðûòûì êëþ÷îì ñëóæèò x, à îòêðûòûì - y. ×òîáû ïîäïèñàòü ñîîáùåíèå m (1) Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî k, ìåíüøåå q (2) Àëèñà ãåíåðèðóåò I = (a* mod p) mod q s = (ct + k(H(m))) mod q
r = (ak mod p) mod q s = (xr + k(H(m))) mod q Åñëè H(m) mod q =0, òî çíà÷åíèå õýø-ôóíêöèè óñòàíàâëèâàåòñÿ ðàâíûì 1. Åñëè r =0, òî âûáåðèòå äðóãîå çíà÷åíèå k è íà÷íèòå ñíîâà. Ïîäïèñüþ ñëóæàò äâà ÷èñëà: r mod 2256 è s mod 2256, Àëèñà ïîñûëàåò èõ Áîáó. (3) Áîá ïðîâåðÿåò ïîäïèñü, âû÷èñëÿÿ
v = H(m)q-2 mod q
z1 = (sv) mod q z2 = ((q-r)*v) mod q u = (( a z1 * y z2 ) mod p) mod q Åñëè u = r, òî ïîäïèñü ïðàâèëüíà. Ðàçëè÷èå ìåæäó ýòîé ñõåìîé è DSA â òîì, ÷òî â DSA s = (k-1 (H(m) + xr)) mod q, ÷òî äàåò äðóãîå óðàâíåíèå ïðîâåðêè. Ëþáîïûòíî, îäíàêî, ÷òî äëèíà q ðàâíà 256 áèòàì. Áîëüøèíñòâó çàïàäíûõ êðèïòîãðàôîâ êàæåòñÿ äîñòàòî÷íûì q ïðèìåðíî 160 áèòîâ äëèíîé. Ìîæåò áûòü ýòî ïðîñòî ñëåäñòâèå ðóññêîé ïðèâû÷êè èãðàòü â ñâåðõáåçîïàñíîñòü. Ñòàíäàðò èñïîëüçóåòñÿ ñ íà÷àëà 1995 ãîäà è íå çàêðûò ãðèôîì "Äëÿ ñëóæåáíîãî ïîëüçîâàíèÿ", ÷òî áû ýòî íå çíà÷èëî.
20.4 Ñõåìû öèôðîâîé ïîäïèñè ñ èñïîëüçîâàíèåì äèñêðåòíûõ ëîãàðèôìîâ Ñõåìû ïîäïèñè ElGamal, Schnorr (ñì. ðàçäåë 21.3) è DSA î÷åíü ïîõîæè. Ïî ñóòè, âñå îíè ÿâëÿþòñÿ òðåìÿ ïðèìåðàìè îáùåé ñõåìû öèôðîâîé ïîäïèñè, èñïîëüçóþùåé ïðîáëåìó äèñêðåòíûõ ëîãàðèôìîâ . Âìåñòå ñ òûñÿ÷àìè äðóãèõ ñõåì ïîäïèñåé îíè ÿâëÿþòñÿ ÷àñòüþ îäíîãî è òîãî æå ñåìåéñòâà [740, 741, 699, 1184]. Âûáåðåì p, áîëüøîå ïðîñòîå ÷èñëî, è q, ðàâíîå ëèáî p-1, ëèáî áîëüøîìó ïðîñòîìó ìíîæèòåëþ p-1. Çàòåì âûáåðåì g, ÷èñëî ìåæäó 1 è p, äëÿ êîòîðîãî gq ≡ 1 (mod p). Âñå ýòè ÷èñëà îòêðûòû, è ìîãóò áûòü ñîâìåñòíî èñïîëüçîâàíû ãðóïïîé ïîëüçîâàòåëåé . Çàêðûòûì êëþ÷îì ÿâëÿåòñÿ x, ìåíüøåå q. Îòêðûòûì êëþ÷îì ñëóæèò y =gx mod q. ×òîáû ïîäïèñàòü ñîîáùåíèå m, ñíà÷àëà âûáåðåì ñëó÷àéíîå çíà÷åíèå k, ìåíüøåå q è âçàèìíî ïðîñòîå ñ íèì. Åñëè q òîæå ïðîñòîå ÷èñëî, òî áóäåò ðàáîòàòü ëþáîå k, ìåíüøåå q. Ñíà÷àëà âû÷èñëèì r = gk mod p Îáîáùåííîå óðàâíåíèå ïîäïèñè ïðèìåò âèä ak = b + cx mod q Êîýôôèöèåíòû a, b è c ìîãóò ïðèíèìàòü ðàçëè÷íûå çíà÷åíèÿ . Êàæäàÿ ñòðîêà 16th ïðåäîñòàâëÿåò øåñòü âîçìîæíîñòåé. Ïðîâåðÿÿ ïîäïèñü, ïîëó÷àòåëü äîëæåí óáåäèòüñÿ, ÷òî ra = gbyc mod p Ýòî óðàâíåíèå íàçûâàåòñÿ óðàâíåíèåì ïðîâåðêè. Òàáë. 20-4. Âîçìîæíûå ïåðåñòàíîâêè a, b è c (r'= r mod q) ± r
±s
m
± r m
±s
1
± r m
± ms
1
± m r
± r s
1
± ms
± r s
1
 15th ïåðå÷èñëåíû âîçìîæíûå âàðèàíòû ïîäïèñè è ïðîâåðêè, ïîëó÷åííûå òîëüêî èç ïåðâîé ñòðîêè âîçìîæíûõ çíà÷åíèé a, b è c áåç ó÷åòà ýôôåêòîâ ±. Òàáë. 20-5. Ñõåìû öèôðîâîé ïîäïèñè ñ èñïîëüçîâàíèåì äèñêðåòíûõ ëîãàðèôìîâ Óðàâíåíèå ïîäïèñè
Óðàâíåíèå ïðîâåðêè
(1) r'k=s+mx mod q
rr'=gsym mod p
(2) r'k=m+sx mod q
rr'=gmys mod p
(3) sk= r'+mx mod q
rs=gr'ym mod p
(4) sk= m+ r'x mod q
rs=gmyr' mod p
(5) mk= s+ r'x mod q
rm=gsyr' mod p
(6) mk= r'+sx mod q
rm=gr'ys mod p
Ýòî øåñòü ðàçëè÷íûõ ñõåì öèôðîâûõ ïîäïèñåé . Äîáàâëåíèå ìèíóñà óâåëè÷èâàåò èõ êîëè÷åñòâî äî 24. Ïðè èñïîëüçîâàíèè âñåõ âîçìîæíûõ çíà÷åíèÿ a, b è c ÷èñëî ñõåì äîõîäèò 120. EIGamal [518, 519] è DSA [1154] ïî ñóùåñòâó îñíîâàíû íà óðàâíåíèè (4). Äðóãèå ñõåìû - íà óðàâíåíèè (2) [24, 1629]. Schnorr [1396, 1397] , êàê è äðóãàÿ ñõåìà [1183], òåñíî ñâÿçàí ñ óðàâíåíèåì (5). À óðàâíåíèå (1) ìîæíî èçìåíèòü òàê, ÷òîáû ïîëó÷èòü ñõåìó, ïðåäëîæåííóþ â [1630]. Îñòàâøèåñÿ óðàâíåíèÿ - íîâûå. Äàëåå. Ëþáóþ èç ýòèõ ñõåì ìîæíî ñäåëàòü áîëåå DSA-ïîäîáíîé, îïðåäåëèâ r êàê r = (gk mod p) mod q Èñïîëüçóéòå òî æå óðàâíåíèå ïîäïèñè è ñäåëàéòå óðàâíåíèåì ïðîâåðêè u1 = a-1b mod q u2 = a-1c mod q v = (( g u1 * y u2 ) mod p) mod q (r mod q)a = gbyc mod p Ñóùåñòâóþò è äâå äðóãèå âîçìîæíîñòè ïîäîáíûõ ïðåîáðàçîâàíèé [740, 741]. Òàêèå îïåðàöèè ìîæíî ïðîäåëàòü ñ êàæäîé èç 120 ñõåì, äîâåäÿ îáùåå ÷èñëî ñõåì öèôðîâîé ïîäïèñè, èñïîëüçóþùèõ äèñêðåòíûå ëîãàðèôìû, äî 480. Íî è ýòî åùå íå âñå. Äîïîëíèòåëüíûå îáîáùåíèÿ è èçìåíåíèÿ ïðèâîäÿò áîëåå, ÷åì ê 13000 âàðèàíòàì (íå âñå èç íèõ äîñòàòî÷íî ýôôåêòèâíû ) [740, 741]. Îäíîé èç ïðèÿòíûõ ñòîðîí èñïîëüçîâàíèÿ RSA äëÿ öèôðîâîé ïîäïèñè ÿâëÿåòñÿ ñâîéñòâî, íàçûâàåìîå âîññòàíîâëåíèåì ñîîáùåíèÿ. Êîãäà âû ïðîâåðÿåòå ïîäïèñü RSA, âû âû÷èñëÿåòå m. Çàòåì âû÷èñëåííîå m ñðàâíèâàåòñÿ ñ ñîîáùåíèåì è ïðîâåðÿåòñÿ, ïðàâèëüíà ëè ïîäïèñü ñîîáùåíèÿ .  ïðåäûäóùèõ ñõåìàõ âîññòàíîâèòü m ïðè âû÷èñëåíèè ïîäïèñè íåâîçìîæíî, âàì ïîòðåáóåòñÿ âåðîÿòíîå m, êîòîðîå è èñïîëüçóåòñÿ â óðàâíåíèè ïð îâåðêè. Íî, îêàçûâàåòñÿ, ìîæíî ïîñòðîèòü âàðèàíò ñ âîññòàíîâëåíèåì ñîîáùåíèÿ äëÿ âñåõ âûøåïðèâåäåííûõ ñõåì. Äëÿ ïîäïèñè ñíà÷àëà âû÷èñëèì r = mgk mod p è çàìåíèì m åäèíèöåé â óðàâíåíèè ïîäïèñè. Çàòåì ìîæíî âîññòàíîâèò óðàâíåíèå ïðîâåðêè òàê, ÷òîáû m ìîãëî áûòü âû÷èñëåíî íåïîñðåäñòâåííî . Òî æå ñàìîå ìîæíî ïðåäïðèíÿòü äëÿ DSA-ïîäîáíûõ ñõåì: r = (mgk mod p) mod q Áåçîïàñíîñòü âñåõ âàðèàíòîâ îäèíàêîâà, ïîýòîìó èìååò ñìûñë âûáèðàòü ñõåìó ïî ñëîæíîñòè âû÷èñëåíèÿ . Áîëüøèíñòâî ñõåì çàìåäëÿåò íåîáõîäèìîñòü âû÷èñëÿòü îáðàòíûå çíà÷åíèÿ . Êàê îêàçûâàåòñÿ, îäíà èç ýòèõ ñõåì ïîçâîëÿåò âû÷èñëÿòü è óðàâíåíèå ïîäïèñè, è óðàâíåíèå ïðîâåðêè áåç èñïîëüçîâàíèÿ îáðàòíûõ çíà÷åíèé, ïðè ýòîì åùå è âîññòàíàâëèâàÿ ñîîáùåíèå . Îíà íàçûâàåòñÿ ñõåìîé p-NEW [1184]. r = mg-k mod p s = k - r'x mod q m âîññòàíàâëèâàåòñÿ (è ïðîâåðÿåòñÿ ïîäïèñü) ñ ïîìîùüþ âû÷èñëåíèÿ m = gsyr'r mod p  ðÿäå âàðèàíòîâ îäíîâðåìåííî ïîäïèñûâàåòñÿ ïî äâà-òðè áëîêà ñîîáùåíèÿ [740], äðóãèå âàðèàíòû ìîæíî èñïîëüçîâàòü äëÿ ñëåïûõ ïîäïèñåé [741]. Ýòî çíà÷èòåëüíàÿ îáëàñòü äëÿ èçó÷åíèÿ. Âñå ðàçëè÷íûå ñõåìû öèôðîâîé ïîäïèñè ñ èñïîëüçîâàíèåì äè ñêðåòíûõ ëîãàðèôìîâ áûëè îáúåäèíåíû ëîãè÷åñêèì êàðêàñîì . Ëè÷íî ÿ ñ÷èòàþ, ÷òî ýòî îêîí÷àòåëüíî ïîëîæèò êîíåö ñïîðàì ìåæäó Schnorr [1398] è DSA [897]: DSA íå ÿâëÿåòñÿ íè ïðîèçâîäíîé Schnorr, ðàâíî êàê è EIGamal. Âñå òðè àëãîðèòìà ÿâëÿþòñÿ ÷àñòíûìè ñëó÷àÿìè îïèñàííîé îáùåé ñõåìû, è ýòà îáùàÿ ñõåìà íåçàïàòåíò îâàíà.
20.5 ONG-SCHNORR-SHAMIR Ýòà ñõåìà ïîäïèñè èñïîëüçóåò ìíîãî÷ëåíû ïî ìîäóëþ n [1219, 1220]. Âûáèðàåòñÿ áîëüøîå öåëîå ÷èñëî (çíàòü ðàçëîæåíèå n íà ìíîæèòåëè íå îáÿçàòåëüíî). Çàòåì âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî k, âçàèìíî ïðîñòîå ñ n, è âû÷èñëÿåòñÿ h, ðàâíîå h = -k-2 mod n = -(k-1)2 mod n Îòêðûòûì êëþ÷îì ñëóæàò h è n; à çàêðûòûì - k. ×òîáû ïîäïèñàòü ñîîáùåíèå M, ñíà÷àëà ãåíåðèðóåòñÿ ñëó÷àéíîå ÷èñëî r, âçàèìíî ïðîñòîå ñ n. Çàòåì âû÷èñëÿåòñÿ: S1 = 1/2 (M/H +r) mod n S2 = 1/2 (M/H -r) mod n Ïàðà ÷èñåë S1 è S2 ïðåäñòàâëÿåò ñîáîé ïîäïèñü. Ïðîâåðÿÿ ïîäïèñü, óáåæäàþòñÿ, ÷òî S12 + h*S22≡ M (mod n) Îïèñàííûé çäåñü âàðèàíò ñõåìû îñíîâàí íà êâàäðàòè÷íûõ ìíîãî÷ëåíàõ . Ïðè åãî îïóáëèêîâàíèè â [1217] çà óñïåøíûé êðèïòîàíàëèç áûëî ïðåäëîæåíî âîçíàãðàæäåíèå â $100. Íåáåçîïàñíîñòü ñõåìû áûëà äîêàçàíà [1255, 18], íî ýòî íå îñòàíîâèëî åå àâòîðîâ. Îíè ïðåäëîæèëè ìîäèôèêàöèþ àëãîðèòìà, îñíîâàííóþ íà êóáè÷åñêèõ ìíîãî÷ëåíàõ, òàêæå îêàçàâøóþñÿ íåáåçîïàñíîé [1255]. Àâòîðû ïðåäëîæèëè âåðñèþ íà áàçå ìíîãî÷ëåíîâ ÷å òâåðòîé ñòåïåíè, íî áûëà âçëîìàíà è îíà [524, 1255]. Âàðèàíò, ðåøàþùèé ýòè ïðîáëåìû, îïèñàí â [1134].
20.6 ESIGN ESICN -ýòî ñõåìà öèôðîâîé ïîäïèñè, ðàçðàáîòàííàÿ NTT Japan [1205, 583]. Óòâåðæäàëîñü, ÷òî îíà íå ìåíåå áåçîïàñíà, ÷åì RSA èëè DSA, è íàìíîãî áûñòðåå ïðè òåõ æå ðàçìåðàõ êëþ÷à è ïîäïèñè . Çàêðûòûì êëþ÷îì ñëóæèò ïàðà áîëüøèõ ïðîñòûõ ÷èñåë p è q. Îòêðûòûì êëþ÷îì ÿâëÿåòñÿ n, äëÿ êîòîðîãî n = p2*q H - ýòî õýø-ôóíêöèÿ, ïðèìåíÿåìàÿ ê ñîîáùåíèþ m, ïðè÷åì çíà÷åíèå H(m) íàõîäèòñÿ â ïðåäåëàõ îò 0 äî n-1. Èñïîëüçóåòñÿ òàêæå ïàðàìåòð áåçîïàñíîñòè k, êîòîðûé áóäåò âêðàòöå ðàññìîòðåí . (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî x, ìåíüøåå pq. (2) Àëèñà âû÷èñëÿåò:
w, íàèìåíüøåå öåëîå, êîòîðîå áîëüøå èëè ðàâíî (H(m) - xk mod n)/pq s = x + ((w/kxk-1 mod p) pq (3) Àëèñà ïîñûëàåò s Áîáó. (4) Äëÿ ïðîâåðêè ïîäïèñè Áîá âû÷èñëÿåò sk mod n. Êðîìå ýòîãî, îí âû÷èñëÿåò a, íàèìåíüøåå öåëîå, êîòîðîå
áîëüøå èëè ðàâíî óäâîåííîìó ÷èñëó áèòîâ n, äåëåííîìó íà 3. Åñëè H(m) ìåíüøå èëè ðàâíà sk mod n, è åñëè sk mod n ìåíüøå H(m)+2a, òî ïîäïèñü ñ÷èòàåòñÿ ïðàâèëüíîé .
Âûïîëíèâ ðÿä ïðåäâàðèòåëüíûõ âû÷èñëåíèé, ýòîò àëãîðèòì ìîæíî óñêîðèòü . Ýòè âû÷èñëåíèÿ ìîãóò áûòü âûïîëíåíû â ïðîèçâîëüíûé ìîìåíò âðåìåíè è íèêàê íå ñâÿçàíû ñ ïîäïèñûâàåìûì ñîîáùåíèåì . Âûáðàâ x, Àëèñà ìîæåò ðàçáèòü ýòàï (2) íà äâà ïîäýòàïà. Ñíà÷àëà. (2a) Àëèñà âû÷èñëÿåò: u = xk mod n v = l/(kxk-1) mod p (2b) Àëèñà âû÷èñëÿåò: w= íàèìåíüøåå öåëîå, êîòîðîå áîëüøå èëè ðàâíî (H(m) - u)/pq s = x + ((wv mod p) pq Äëÿ îáû÷íî èñïîëüçóåìûõ ðàçìåðîâ ÷èñåë ïðåäâàðèòåëüíûå âû÷èñëåíèÿ óñêîðÿþò ïðîöåññ ïîäïèñè íà ï îðÿäîê. Ïî÷òè âñÿ òðóäíàÿ ðàáîòà âûïîëíÿåòñÿ èìåííî íà ñòàäèè ïðåäâàðèòåëüíûõ âû÷èñëåíèé . Îáñóæäåíèå äåéñòâèé ìîäóëüíîé àðèôìåòèêè, âûïîëíÿåìûõ ïðè óñêîðåíèè ESIGN, ìîæíî íàéòè â [1625, 1624]. Ýòîò àëãî-
ðèòì ìîæíî ðàñøèðèòü äëÿ ðàáîòû ñ ýëëèïòè÷åñêèìè êðèâûìè [1206]. Áåçîïàñíîñòü ESIGN Êîãäà ýòîò àëãîðèòì áûë âïåðâûå ïðåäëîæåí , k áûëî âûáðàíî ðàâíûì 2 [1215]. Òàêàÿ ñõåìà áûñòðî áûëà âçëîìàíà Ýðíè Áðèêåëëîì (Ernie Brickell) è Äæîíîì ÄåËàóðåíòèñîì [261], êîòîðûå ðàñïðîñòðàíèëè ñâîå âñêðûòèå è íà ñëó÷àé k = 3. Ìîäèôèöèðîâàííàÿ âåðñèÿ ýòîãî àëãîðèòìà [1203] áûëà âçëîìàíà Øàìèðîì [1204]. Âàðèàíò, ïðåäëîæåííûé â [1204], áûë âçëîìàí â [1553]. ESIGN - ýòî ñåãîäíÿøíÿÿ ðåèíêàðíàöèÿ àëãîðèòìîâ èç ýòîãî ñåìåéñòâà. Ïîïûòêà âñêðûòü ESIGN [963] îêàçàëàñü áåçðåçóëüòàòíîé.  íàñòîÿùåå âðåìÿ àâòîðû ðåêîìåíäóþò èñïîëüçîâàòü ñëåäóþùèå çíà÷åíèÿ k: 8, 16, 32, 64, 128, 256, 512 è 1024. Îíè òàêæå ðåêîìåíäóþò, ÷òîáû p è q áûëè íå ìåíüøå 192 áèòîâ êàæäîå , îáðàçóÿ n íå ìåíåå, ÷åì 576 áèòîâ â äëèíó. (ß äóìàþ, ÷òî n äîëæíî áûòü åùå â äâà ðàçà áîëüøå .) Àâòîðû ñ÷èòàþò, ÷òî ñ òàêèìè çíà÷åíèÿìè ïàðàìåòðîâ, áåçîïàñíîñòü ESIGN ðàâíà áåçîïàñíîñòè RSA èëè Rabin. È âûïîëíåííûé èìè àíàëèç ïîêàçûâàåò, ÷òî ñêîðîñòü ESIGN íàìíîãî âûøå, ÷åì ó RSA, EIGamal è DSA [582]. Ïàòåíòû ESICN çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [1208], Êàíàäå, Àíãëèè, Ôðàíöèè, Ãåðìàíèè è Èòàëèè. Ëþáîé, êòî õî÷åò ïîëó÷èòü ëèöåíçèþ íà àëãîðèòì, äîëæåí îáðàòèòüñÿ â Îòäåë èíòåëëåêòóàëüíîé ñîáñòâåííîñòè NTT (Intellectual Property Department, NTT, 1-6Uchisaiwai-cho, 1-chome, Chiyada-ku, 100 Japan ).
20.7 Êëåòî÷íûå àâòîìàòû Ñîâåðøåííî íîâàÿ èäåÿ, èçó÷åííàÿ Ïàïóà Ãóàìîì ( Papua Guam) [665], ñîñòîèò â èñïîëüçîâàíèè â êðèïòîñ èñòåìàõ ñ îòêðûòûìè êëþ÷àìè êëåòî÷íûõ àâòîìàòîâ. Ýòà ñèñòåìà âñå åùå ñëèøêîì íîâà è íå ïðîøëà ÷åðåç òùàòåëüíîå èçó÷åíèå, íî ïðåäâàðèòåëüíîå èññëåäîâàíèå ïîêàçàëî, ÷òî ó íåå ìîæåò áûòü òàêîå æå êðèïòîãðàôè÷åñêè ñëàáîå ìåñòî, êàê è ó äðóãèõ ñèñòåì [562]. Òåì íå ìåíåå, ýòî ìíîãîîáåùàþùàÿ îáëàñòü èññëåäîâàíèé . Ñâîéñòâîì êëåòî÷íûõ àâòîìàòîâ ÿâëÿåòñÿ òî, ÷òî äàæå åñëè îíè èíâåðòèðóåìû, íåâîçìîæíî âû÷èñëèòü ïðåäêà ïðîè çâîëüíîãî ñîñòîÿíèÿ, èíâåðòèðîâàâ ïðàâèëî íàõîæäåíèÿ ïîòîìêà . Ýòî âûãëÿäèò î÷åíü ïîõîæå íà îäíîíàïðà âëåííóþ õýø-ôóíêöèþ ñ ëàçåéêîé .
20.8 Äðóãèå àëãîðèòìû ñ îòêðûòûì êëþ÷îì Çà ýòè ãîäû áûëî ïðåäëîæåíî è âñêðûòî ìíîæåñòâî äðóãèõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè. Àëãîðèòì Matsumoto-lmai [1021] áûë âñêðûò â [450]. Àëãîðèòì Cade áûë âïåðâûå ïðåäëîæåí â 1985 ãîäó, âçëîìàí â 1986 [774], è çàòåì äîðàáîòàí â òîì æå ãîäó [286]. Ïîìèìî ýòèõ âñêðûòèé, ñóùåñòâóþò îáùèå âñêðûòèÿ, ðàñêëàä ûâàþùèå ìíîãî÷ëåíû íàä êîíå÷íûìè ïîëÿìè [605]. Ê ëþáîìó àëãîðèòìó, áåçîïàñíîñòü êîòîðîãî îïðåäåëÿåòñÿ êîìïîçèöèåé ìíîãî÷ëåíîâ íàä êîíå÷íûìè ïîëÿìè, íóæíî îòíîñèòüñÿ ñî ñêåïòèöèçìîì, åñëè íå ñ îòêðîâåííûì ïîäîçðåíèåì. Àëãîðèòì Yagisawa îáúåäèíÿåò âîçâåäåíèå â ñòåïåíü mod p ñ àðèôìåòèêîé mod p-1 [1623], îí áûë âçëîìàí â [256]. Äðóãîé àëãîðèòì ñ îòêðûòûì êëþ÷îì , Tsujii-Kurosawa-Itoh-Fujioka-Matsumoto [1548] , òàêæå îêàçàëñÿ íåáåçîïàñíûì [948]. Íåáåçîïàñíîé [717] áûëà è òðåòüÿ ñèñòåìà, Luccio-Mazzone [993]. Ñõåìà ïîäïèñè íà áàçå birational ïåðåñòàíîâîê [1425] áûëà âçëîìàíà íà ñëåäóþùèé äåíü ïîñëå åå ïðåäñòàâëåíèÿ [381]. Íåñêîëüêî ñõåì ïîäïèñåé ïðåäëîæèë Òàöóàêè Îêàìîòî ( Tatsuaki Okamoto): áûëî äîêàçàíî, ÷òî îäíà èç íèõ òàê æå áåçîïàñíà, êàê ïðîáëåìà äèñêðåòíîãî ëîãàðèôìà, à äðóãàÿ - êàê ïðîáëåìà äèñêðåòíîãî ëîãàðèôìà è ïðîáëåìà ðàçëîæåíèÿ íà ìíîæèòåëè [1206]. Àíàëîãè÷íûå ñõåìû ïðåäñòàâëåíû â [709]. Ãóñòàâóñ Ñèììîíñ (Gustavus Simmons) ïðåäëîæèë èñïîëüçîâàòü â êà÷åñòâå îñíîâû àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè J-àëãåáðó [1455, 145]. Îò ýòîé èäåè ïðèøëîñü îòêàçàòüñÿ ïîñëå èçîáðåòåíèÿ ýôôåêòèâíûõ ìåòîäîâ ðàçëîæåíèÿ ìíîãî÷ëåíîâ íà ìíîæèòåëè [951]. Òàêæå áûëè èçó÷åíû è ñïåöèàëüíûå ïîëóãðóïïû ìíîãî÷ëåíîâ [1619, 962], íî è ýòî íè÷åãî íå äàëî. Õàðàëüä Íèäåððåéòåð (Harald Niederreiter) ïðåäëîæèë àëãîðèòì ñ îòêðûòûì êëþ÷îì íà áàçå ïîñëåäîâàòåëüíîñòåé ñäâèãîâûõ ðåãèñòðîâ [1166]. Äðóãîé àëãîðèòì èñïîëüçîâàë ñëîâà Ëèíäîíà (Lyndon) [1476], à òðåòèé - prepositional èñ÷èñëåíèå [817]. Áåçîïàñíîñòü îäíîãî èç íåäàâíèõ àëãîðè òìîâ ñ îòêðûòûìè êëþ÷àìè îñíîâûâàëàñü íà ïðîáëåìå matrix cover [82]. Òàöóàêè Îêàìîòî è Êàçóî Îòà (Kazuo Ohta) ïðîâåëè ñðàâíåíèå ðÿäà ñõåì öèôðîâîé ïîäïèñè â [1212]. Ïåðñïåêòèâû ñîçäàíèÿ ðàäèêàëüíî íîâûõ è ðàçëè÷íûõ àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè íåÿñíû .  1988 ãîäó Óèòôèëä Äèôôè îòìåòèë, ÷òî áîëüøèíñòâî àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè îñíîâàíû íà îäíîé èç òðåõ òðóäíûõ ïðîáëåì [492, 494]: 1. Ðþêçàê: Äàíî ìíîæåñòâî óíèêàëüíûõ ÷èñåë, íàéòè ïîäìíîæåñòâî, ñóììà êîòîðîãî ðàâíà N. 2. Äèñêðåòíûé ëîãàðèôì: Åñëè p - ïðîñòîå ÷èñëî, à g è M - öåëûå, íàéòè x, äëÿ êîòîðîãî âûïîëíÿåòñÿ gx≡M (mod p).
3. Ðàçëîæåíèå íà ìíîæèòåëè: Åñëè N - ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë, òî ëèüî (a) ðàçëîæèòü N íà ìíîæèòåëè, (b) äëÿ çàäàííûõ öåëûõ ÷èñåë M è C íàéòè d, äëÿ êîòîðîãî Md ≡ C (mod N), (c) äëÿ çàäàííûõ öåëûõ ÷èñåë e è C íàéòè M, äëÿ êîòîðîãî Me ≡ C (mod N), (d) äëÿ çàäàííîãî öåëîãî ÷èñëà x îïðåäåëèòü, ñóùåñòâóåò ëè öåëîå ÷èñëî y, äëÿ êîòîðîãî x ≡ y2 (mod N). Ñîãëàñíî Äèôôè [492, 494], ïðîáëåìà äèñêðåòíûõ ëîãàðèôìîâ áûëà ïðåäëîæåíà Äæ. Ãèëëîì ( J. Gill), ïðîáëåìà ðàçëîæåíèÿ íà ìíîæèòåëè - Êíóòîì , à ïðîáëåìà ðþêçàêà - ñàìèì Äèôôè . Ýòà óçîñòü ìàòåìàòè÷åñêèõ îñíîâ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè íåìíîãî áåñïîêîèò . Ïðîðûâ â ðåøåíèè ëèáî ïðîáëåìû äèñêðåòíûõ ëîãàðèôìîâ, ëèáî ïðîáëåìû ðàçëîæåíèÿ íà ìíîæèòåëè ñäåëàåò íåáåçîïàñíûìè öåëûå êëàññû àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè . Äèôôè ïîêàçàë [492, 494], ÷òî ïîäîáíûé ðèñê ñìÿã÷àåòñÿ äâóìÿ ôàêòîðàìè: 1. Âñå îïåðàöèè, íà êîòîðûå ñåé÷àñ îïèðàåòñÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè - óìíîæåíèå, âîçâåäåíèå â ñòåïåíü è ðàçëîæåíèå íà ìíîæèòåëè - ïðåäñòàâëÿþò ñîáîé ôóíäàìåíòàëüíûå àðèôìåòè÷åñêèå ÿâëåíèÿ . Âåêàìè îíè áûëè ïðåäìåòîì èíòåíñèâíîãî ìàòåìàòè÷åñêîãî èçó÷åíèÿ, è ðîñò âíèìàíèÿ ê íèì, âûçâàííûé ïðèìåíåíèåì â êðèïòîñèñòåìàõ ñ îòêðûòûìè êëþ÷àìè, óâåëè÷èë, à íå óìåíüøèë í àøå äîâåðèå. 2. Íàøà âîçìîæíîñòü âûïîëíÿòü áîëüøèå àðèôìåòè÷åñêèå âû÷èñëåíèÿ ðàñòåò ðàâíîìåðíî è ñåé÷àñ ïîçâîëÿåò íàì ðåàë èçîâûâàòü ñèñòåìû ñ ÷èñëàìè òàêîãî ðàçìåðà, ÷òîáû ýòè ñèñòåìû áûëè ÷óâñòâèòåëüíû òîëüêî ê äåéñòâèòåëüíî ðàäèêàëüíûì ïðîðûâàì â ðàçëîæåíèè íà ìíîæèòåëè, äèñêðåòíûõ ëîãàðèôìàõ èëè èçâëå÷åíèè êîðíåé .
Êàê ìû óæå âèäåëè, íå âñå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè, îñíîâàííûå íà ýòèõ ïðîáëåìàõ, áåçîïàñíû . Ñèëà ëþáîãî àëãîðèòìà ñ îòêðûòûì êëþ÷îì çàâèñèò íå òîëüêî îò âû÷èñëèòåëüíîé ñëîæíîñòè ïðîáëåìû, ëåæ àùåé â îñíîâå àëãîðèòìà. Òðóäíàÿ ïðîáëåìà íåîáÿçàòåëüíî ðåàëèçóåòñÿ â ñèëüíîì àëãîðèòìå . Àäè Øàìèð îáúÿñíÿåò ýòî òðåìÿ ïðè÷èíàìè [1415]: 1. Òåîðèÿ ñëîæíîñòè îáû÷íî ñâÿçàíà ñ îòäåëüíûìè ÷àñòíûìè ñëó÷àÿìè ïðîáëåìû. Êðèïòîàíàëèòèê æå ÷àñòî ïîëó÷àåò áîëüøîé íàáîð ñòàòèñòè÷åñêè ñâÿçàííûõ ïðîáëåì - ðàçëè÷íûå øèôðîòåêñòû, çàøè ôðîâàííûå îäíèì è òåì æå êëþ÷îì. 2. Âû÷èñëèòåëüíàÿ ñëîæíîñòü ïðîáëåìû îáû÷íî èçìåðÿåòñÿ äëÿ õóäøåãî èëè ñðåäíåãî ñëó÷àåâ . ×òîáû áûòü ýôôåêòèâíîé â êà÷åñòâå ñïîñîáà øèôðîâàíèÿ, ïðîáëåìà äîëæíà áûòü òðóäíîé äëÿ ðåøåíèÿ ïî ÷òè âî âñåõ ñëó÷àÿõ. 3. Ïðîèçâîëüíóþ ñëîæíóþ ïðîáëåìó íåîáÿçàòåëüíî ìîæíî ïðåîáðàçîâàòü â êðèïòîñèñòåìó, ê òîìó æå ïðîáëåìà äîëæíà ïîçâîëèòü âñòðîèòü â íåå ëàçåéêó, çíàíèå êîòîðîé è òîëüêî îíî äåëàåò âîçìîæíûì ïðîñòîå ðåøåíèå ïðîáëåìû.
Ãëàâà 21 Ñõåìû èäåíòèôèêàöèè 21.1 FEIGE-FIAT-SHAMIR Ñõåìà öèôðîâîé ïîäïèñè è ïðîâåðêè ïîäëèííîñòè, ðàçðàáîòàííàÿ Àìîñîì Ôèàòîì ( Amos Fiat) è Àäè Øàìèðîì (Adi Shamir), ðàññìàòðèâàåòñÿ â [566, 567]. Óðèåëü Ôåéãå (Uriel Feige), Ôèàò è Øàìèð ìîäèôèöèðîâàëè àëãîðèòì, ïðåâðàòèâ åãî â äîêàçàòåëüñòâî ïîäëèííîñòè ñ íóëåâûì çíàíèåì [544, 545]. Ýòî ëó÷øåå äîêàçàòåëüñòâî ïîäëèííîñòè ñ íóëåâûì çíàíèåì . 9 èþëÿ 1986 ãîäà òðè àâòîðà ïîäàëè çàÿâêó íà ïîëó÷åíèå ïàòåíòà ÑØÀ [1427]. Èç-çà âîçìîæíîãî âîåííîãî ïðèìåíåíèÿ çàÿâêà áûëà ðàññìîòðåíà âîåííûìè . Âðåìÿ îò âðåìåíè ðåçóëüòàòîì ðàáîòû Ïàòåíòíîå áþðî ÿâë ÿåòñÿ íå âûäà÷à ïàòåíòà, à íå÷òî, íàçûâàåìîå ñåêðåòíûì ðàñïîðÿæåíèåì . 6 ÿíâàðÿ 1987 ãîäà, çà òðè äíÿ äî èñò å÷åíèÿ øåñòèìåñÿ÷íîãî ïåðèîäà, ïî ïðîñüáå àðìèè Ïàòåíòíîå áþðî èçäàëî òàêîå ðàñïîðÿæåíèå . Çàÿâèëî, ÷òî " . . . ðàñêðûòèå èëè ïóáëèêàöèÿ ïðåäìåòà çàÿâêè . . . ìîæåò ïðè÷èíèòü óùåðá íàöèîíàëüíîé áåçîïàñíîñòè . . ." Àâòîðàì áûëî ïðèêàçàíî óâåäîìèòü âñåõ ãðàæäàí ÑØÀ, êîòîðûå ïî òåì èëè èíûì ïðè÷èíàì óçíàëè î ïðîâ îäèìûõ èññëåäîâàíèÿõ, ÷òî íåñàíêöèîíèðîâàííîå ðàñêðûòèå èíôîðìàöèè ìîæåò çàêîí÷èòüñÿ äâóìÿ ãîäàìè ò þðåìíîãî çàêëþ÷åíèÿ, øòðàôîì $10,000 èëè òåì è äðóãèì îäíîâðåìåííî. Áîëåå òîãî, àâòîðû äîëæíû áûëè ñîîáùèòü Óïîëíîìî÷åííîìó ïî ïàòåíòàì è òîðãîâûì çíàêàì îáî âñåõ èíîñòðàííûõ ãðàæäàíàõ, êîòîðûå ïîëó÷èëè äîñòóï ê ýòîé èíôîðìàöèè. Ýòî áûëî íåëåïî.  òå÷åíèå âòîðîé ïîëîâèíû 1986 ãîäà àâòîðû ïðåäñòàâëÿëè ñâîþ ðàáîòó íà êîíôåðåíöèÿõ â Èçðàèëå, Åâðîïå è Ñîåäèíåííûõ Øòàòàõ . Îíè äàæå íå áûëè àìåðèêàíñêèì ãðàæäàíàìè, è âñÿ ðàáîòà áûëà âûïîëíåíà â Èíñòèòóòå Âåéöìàíà ( Weizmann) â Èçðàèëå. Ñëóõè îá ýòîì ñòàëè ðàñïðîñòðàíÿòüñÿ â íàó÷íîì ñîîáùåñòâå è ïðåññå .  òå÷åíèå äâóõ äíåé ñåêðåòíîå ðà ñïîðÿæåíèå áûëî àííóëèðîâàíî. Øàìèð è åãî êîëëåãè ñ÷èòàþò, ÷òî çà îòìåíîé ñåêðåòíîãî ðàñïîðÿæåíèÿ ñòîÿëî NSA, õîòÿ íèêàêèõ îôèöèàëüíûõ êîììåíòàðèåâ íå áûëî . Äàëüíåéøèå ïîäðîáíîñòè ýòîé ïðè÷óäëèâîé èñòîðèè ïðèâåäåíû â [936]. Óïðîùåííàÿ ñõåìà èäåíòèôèêàöèè Feige-Fiat-Shamir Ïåðåä âûäà÷åé ëþáûõ çàêðûòûõ êëþ÷åé àðáèòð âûáèðàåò ñëó÷àéíûé ìîäóëü , n, êîòîðûé ÿâëÿåòñÿ ïðîèçâåäåíèåì äâóõ áîëüøèõ ïðîñòûõ ÷èñåë .  ðåàëüíîé æèçíè äëèíà n äîëæíà áûòü íå ìåíüøå 512 áèòîâ è ëó÷øå êàê ìîæíî áëèæå ê 1024 áèòàì. n ìîæåò îáùèì äëÿ ãðóïïû êîíòðîëåðîâ . (Èñïîëüçîâàíèå ÷èñåë Áëþìà (Blum) îáëåã÷èò âû÷èñëåíèÿ, íî íå ÿâëÿåòñÿ îáÿçàòåëüíûì äëÿ áåçîïàñíîñòè .) Äëÿ ãåíåðàöèè îòêðûòîãî è çàêðûòîãî êëþ÷åé Ïåããè äîâåðåííûé àðáèòð âûáèðàåò ÷èñëî v, ÿâëÿþùååñÿ êâàäðàòè÷íûì îñòàòêîì mod n. Äðóãèìè ñëîâàìè âûáèðàåòñÿ v òàê, ÷òîáû óðàâíåíèå x2 ≡ v (mod n) èìåëî ðåøåíèå, è ñóùåñòâîâàëî v-1 mod n. Ýòî v è áóäåò îòêðûòûì êëþ÷îì Ïåããè . Çàòåì âû÷èñëÿåòñÿ íàèìåíüøåå s, äëÿ êîòîðîãî s ≡ sqrt (v-1) (mod n). Ýòî áóäåò çàêðûòûé êëþ÷ Ïåããè . Èñïîëüçóåòñÿ ñëåäóþùèé ïðîòîêîë èäåíòèô èêàöèè. (1) Ïåããè âûáèðàåò ñëó÷àéíîå r, ìåíüøåå n. Çàòåì îíà âû÷èñëÿåò x =-r2 mod n è ïîñûëàåò x Âèêòîðó. (2) Âèêòîð ïîñûëàåò Ïåããè ñëó÷àéíûé áèò b. (3) Åñëè b = 0, òî Ïåããè ïîñûëàåò Âèêòîðó r. Åñëè b = 1, òî Ïåããè ïîñûëàåò Âèêòîðó y = r*s mod n. (4) Åñëè b = 0, Âèêòîð ïðîâåðÿåò, ÷òî x = -r2 mod n, óáåæäàÿñü, ÷òî Ïåããè çíàåò çíà÷åíèå sqrt(x). Åñëè b = 1, Âèêòîð ïðîâåðÿåò, ÷òî x = y2*v mod n, óáåæäàÿñü, ÷òî Ïåããè çíàåò çíà÷åíèå sqrt(v-1). Ýòî îäèí ýòàï ïðîòîêîëà, íàçûâàåìûé àêêðåäèòàöèåé. Ïåããè è Âèêòîð ïîâòîðÿþò ýòîò ïðîòîêîë t ðàç, ïîêà Âèêòîð íå óáåäèòñÿ, ÷òî Ïåããè çíàåò s. Ýòî ïðîòîêîë "ðàçðåçàòü è âûáðàòü". Åñëè Ïåããè íå çíàåò s, îíà ìîæåò ïîäîáðàòü r òàê, ÷òî îíà ñìîæåò îáìàíóòü Âèêòîðà, åñëè îí ïîøëåò åé 0, èëè îíà ìîæåò ïîäîáðàòü r òàê, ÷òî îíà ñìîæåò îáìàíóòü Âèêòîðà, åñëè îí ïîøëåò åé 1 . Îíà íå ìîæåò ñäåëàòü îäíîâðåìåííî è òî, è äðóãîå. Âåðîÿòíîñòü, ÷òî åé óäàñòñÿ îáìàíóòü Âèêòîðà îäèí ðàç, ðàâíà 50 ïðîöåíòàì . Âåðîÿòíîñòü, ÷òî åé óäàñòñÿ îáìàíóòü åãî t ðàç, ðàâíà 1/2 t. Âèêòîð ìîæåò ïîïðîáîâàòü âñêðûòü ïðîòîêîë, âûäàâàÿ ñåáÿ çà Ïåããè . Îí ìîæåò íà÷àòü âûïîëíåíèå ïðîò îêîëà ñ ñ äðóãèì êîíòðîëåðîì, Âàëåðèåé. Íà øàãå (1) âìåñòî âûáîðà ñëó÷àéíîãî r åìó îñòàíåòñÿ ïðîñòî èñïîëüçîâàòü çíà÷åíèå r, êîòîðîå Ïåããè èñïîëüçîâàëî â ïðîøëûé ðàç . Îäíàêî, âåðîÿòíîñòü òîãî, ÷òî Âàëåðèÿ íà øàãå (2) âûáåðåò òî æå çíà÷åíèå b, êîòîðîå Âèêòîð èñïîëüçîâàë â ïðîòîêîëå ñ Ïåããè, ðàâíà 1/2 . Ñëåäîâàòåëüíî, âåðîÿòíîñòü, ÷òî îí îáìàíåò Âàëåðèþ, ðàâíà 50 ïðîöåíòàì . Âåðîÿòíîñòü, ÷òî åìó óäàñòñÿ îáìàíóòü åå t ðàç, ðàâíà 1/2t.
×òîáû ýòîò ïðîòîêîë ðàáîòàë, Ïåããè íèêîãäà íå äîëæíà èñïîëüçîâàòü r ïîâòîðíî.  ïðîòèâíîì ñëó÷àå, åñëè Âèêòîð íà øàãå (2) ïîøëåò Ïåããè äðóãîé ñëó÷àéíûé áèò, òî îí ïîëó÷èò îáà îòâåòà Ïåããè . Òîãäà äàæå ïî îäíîìó èç íèõ îí ñìîæåò âû÷èñëèòü s, è äëÿ Ïåããè âñå çàêîí÷èòñÿ. Ñõåìà èäåíòèôèêàöèè Feige-Fiat-Shamir  ñâîèõ ðàáîòàõ [544, 545], Ôåéãå, Ôèàò è Øàìèð ïîêàçàëè, êàê ïàðàëëåëüíàÿ ñõåìà ìîæåò ïîâûñèòü ÷èñëî àêêðåäèòàöèé íà ýòàï è óìåíüøèòü âçàèìîäåéñòâèÿ Ïåããè è Âèêòîðà . Ñíà÷àëà, êàê è â ïðåäûäóùåì ïðèìåðå, ãåíåðèðóåòñÿ n, ïðîèçâåäåíèå äâóõ áîëüøèõ ïðîñòûõ ÷èñåë . Äëÿ ãåíåðàöèè îòêðûòîãî è çàêðûòîãî êëþ÷åé Ïåããè ñíà÷àëà âûáèðàåòñÿ k ðàçëè÷íûõ ÷èñåë: v1, v2, . . . vk, ãäå êàæäîå vi ÿâëÿåòñÿ êâàäðàòè÷íûì îñòàòêîì mod n. Èíûìè ñëîâàìè, vi âûáèðàþòñÿ òàê, ÷òîáû x2 ≡ vi (mod n) èìåëî ðåøåíèå, è ñóùåñòâîâàëî vi -1 mod n. Ñòðîêà, v1, v2, . . . vk, ñëóæèò îòêðûòûì êëþ÷îì. Çàòåì âû÷èñëÿþòñÿ íàèìåíüøèå si , äëÿ êîòîðûõ si ≡ sqrt (vi -1) (mod n). Ñòðîêà s1, s2, . . . sk, ñëóæèò çàêðûòûì êëþ÷îì. Âûïîëíÿåòñÿ ñëåäóþùèé ïðîòîêîë : (1) Ïåããè âûáèðàåò ñëó÷àéíîå r, ìåíüøåå n. Çàòåì îíà âû÷èñëÿåò x =-r2 mod n è ïîñûëàåò x Âèêòîðó. (2) Âèêòîð ïîñûëàåò Ïåããè ñòðîêó èç k ñëó÷àéíûõ áèòîâ: b1, b2, . . . bk. (3) Ïåããè âû÷èñëÿåò y = r *( s1b1 * s2 b2 *K*sk bk )mod n. (Îíà ïåðåìíîæàåò âìåñòå çíà÷åíèÿ si , ñîîòâåòñòâóþùèå bi =1. Åñëè ïåðâûì áèòîì Âèêòîðà áóäåò 1, òî s1 âîéäåò â ïðîèçâåäåíèå, à åñëè ïåðâûì áèòîì áóäåò 0, òî íåò, è ò.ä.) Îíà ïîñûëàåò y Âèêòîðó. (4) Âèêòîð ïðîâåðÿåò, ÷òî x = y2*( v1 b1 * v2 b2 *K*vk bk ) mod n. (Îí ïåðåìíîæàåò âìåñòå çíà÷åíèÿ vi , îñíîâûâàÿñü ãà ñëó÷àéíîé äâîè÷íîé ñòðîêå. Åñëè åãî ïåðâûì áèòîì ÿâëÿåòñÿ 1 , òî v1 âîéäåò â ïðîèçâåäåíèå, à åñëè ïåðâûì áèòîì áóäåò 0, òî íåò, è ò.ä.) Ïåããè è Âèêòîð ïîâòîðÿþò ýòîò ïðîòîêîë t ðàç, ïîêà Âèêòîð íå óáåäèòñÿ, ÷òî Ïåããè çíàåò s1, s2, . . . sk. Âåðîÿòíîñòü, ÷òî Ïåããè óäàñòñÿ îáìàíóòü Âèêòîð t ðàç, ðàâíà 1/2 kt. Àâòîðû ðåêîìåíäóþò èñïîëüçîâàòü âåð îÿòíîñòü ìîøåííè÷åñòâà 1/2 20 è ïðåäëàãàþò çíà÷åíèÿ k = 5 è t = 4. Åñëè ó âàñ ñêëîííîñòü ê ìàíèè ïðåñëåäîâ àíèÿ, óâåëè÷üòå ýòè çíà÷åíèÿ. Ïðèìåð Âçãëÿíåì íà ðàáîòó ýòîãî ïðîòîêîëà íåáîëüøèõ ÷èñëàõ . Åñëè n = 35 (äâà ïðîñòûõ ÷èñëà - 5 è 7), òî âîçìîæíûìè êâàäðàòè÷íûìè îñòàòêàìè ÿâëÿþòñÿ : 1: x2 ≡ 1 (mod 35) èìååò ðåøåíèÿ: x = 1, 6, 29, 34. 4: x2 ≡ 4 (mod 35) èìååò ðåøåíèÿ: x = 2, 12, 23, 33. 9: x2 ≡ 9 (mod 35) èìååò ðåøåíèÿ: x = 3, 17, 18, 32. 11: x2 ≡ 11 (mod 35) èìååò ðåøåíèÿ: x = 9, 16, 19, 26. 14: x2 ≡ 14 (mod 35) èìååò ðåøåíèÿ: x = 7, 28. 15: x2 ≡ 15 (mod 35) èìååò ðåøåíèÿ: x = 15, 20. 16: x2 ≡ 16 (mod 35) èìååò ðåøåíèÿ: x = 4, 11, 24, 31. 21: x2 ≡ 21 (mod 35) èìååò ðåøåíèÿ: x = 14, 21. 25: x2 ≡ 25 (mod 35) èìååò ðåøåíèÿ: x = 5, 30. 29: x2 ≡ 29 (mod 35) èìååò ðåøåíèÿ: x = 8, 13, 22, 27. 30: x2 ≡ 30 (mod 35) èìååò ðåøåíèÿ: x = 10, 25. Îáðàòíûìè çíà÷åíèÿìè (mod 35) è èõ êâàäðàòíûìè êîðíÿìè ÿâëÿþòñÿ : v
v-1
s=sqrt(v-1)
1
1
1
4
9
3
9
4
2
11
16
4
16
11
9
29
29
8
Îáðàòèòå âíèìàíèå, ÷òî ó ÷èñåë 14, 15, 21, 25 è 30 íåò îáðàòíûõ çíà÷åíèé mod 35, òàê êàê îíè íå âçàèìíî ïðîñòû ñ 35. Ýòî èìååò ñìûñë, òàê êàê äîëæíî áûòü (5 - 1) * (7 - 1)/4 êâàäðàòè÷íûõ îñòàòêîâ mod 35, âçàèìíî ïðîñòûõ ñ 35: ÍÎÄ(x, 35) = 1 (ñì. ðàçäåë 11.3). Èòàê, Ïåããè ïîëó÷àåò îòêðûòûé êëþ÷ , ñîñòîÿùèé èç k = 4 çíà÷åíèé: {4,11,16,29}. Ñîîòâåòñòâóþùèì çàêðûòûì êëþ÷îì ÿâëÿåòñÿ {3,4,9,8}. Âîò îäèí ýòàï ïðîòîêîëà. (1) Ïåããè âûáèðàåò ñëó÷àéíîå r=16, âû÷èñëÿåò 162 mod 35 = 11 è ïîñûëàåò åãî Âèêòîðó. (2) Âèêòîð ïîñûëàåò Ïåããè ñòðîêó ñëó÷àéíûõ áèòîâ: {1, 1, 0, 1} (3) Ïåããè âû÷èñëÿåò 16*(31*41*90*81) mod 35 = 31 è ïîñûëàåò åãî Âèêòîðó. (4) Âèêòîð ïðîâåðÿåò, ÷òî 312*(41*111*160*291) mod 35 =11. Ïåããè è Âèêòîð ïîâòîðÿþò ýòîò ïðîòîêîë t ðàç, êàæäûé ðàç ñ íîâûì ñëó÷àéíûì r, ïîêà Âèêòîð áóäåò óáåæäåí. Íåáîëüøèå ÷èñëà, ïîäîáíûå èñïîëüçîâàííûì â ïðèìåðå, íå îáåñïå÷èâàþò ðåàëüíîé áåçîïàñíîñòè . Íî êîãäà äëèíà n ðàâíà 512 è áîëåå áèòàì, Âèêòîð íå ñìîæåò óçíàòü î çàêðûòîì êëþ÷å Ïåããè íè÷åãî êðîìå òîãî ôàêòà, ÷òî Ïåããè äåéñòâèòåëüíî çíàåò åãî . Óëó÷øåíèÿ  ïðîòîêîë ìîæíî âñòðîèòü èäåíòèôèêàöèîííûå äàííûå . Ïóñòü I - ýòî äâîè÷íàÿ ñòðîêà, ïðåäñòàâëÿþùàÿ èäåíòèôèêàòîð Ïåããè: èìÿ, àäðåñ, íîìåð ñîöèàëüíîãî ñòðàõîâàíèÿ , ðàçìåð ãîëîâíîãî óáîðà, ëþáèìûé ñîðò ïðîõëàäèòåëüíîãî íàïèòêà è äðóãàÿ ëè÷íàÿ èíôîðìàöèÿ . Èñïîëüçóåì îäíîíàïðàâëåííóþ õýø-ôóíêöèþ H(x) äëÿ âû÷èñëåíèÿ H(I,j), ãäå j - íåáîëüøîå ÷èñëî, äîáàâëåííîå ê I. Íàéäåì íàáîð j, äëÿ êîòîðûõ H(I,j) - ýòî êâàäðàòè÷íûé îñòàòîê ïî ìîäóëþ n. Ýòè çíà÷åíèÿ H(I,j) ñòàíîâÿòñÿ v1, v2, . . . vk (j íå îáÿçàíû áûòü êâàäðàòè÷íûìè îñòà òêàìè). Òåïåðü îòêðûòûì êëþ÷îì Ïåããè ñëóæèò I è ïåðå÷åíü j. Ïåããè ïîñûëàåò I è ïåðå÷åíü j Âèêòîðó ïåðåä øàãîì (1) ïðîòîêîëà (èëè Âèêòîð çàãðóæàåò ýòè çíà÷åíèÿ ñ êàêîé-òî îòêðûòîé äîñêè îáúÿâëåíèé ), È Âèêòîð ãåíåðèðóåò v1, v2, . . . vk èç H(I,j). Òåïåðü, ïîñëå òîãî, êàê Âèêòîð óñïåøíî çàâåðøèò ïðîòîêîë ñ Ïåããè, îí áóäåò óáåæäåí, ÷òî Òðåíò, êîòîðîìó èçâåñòíî ðàçëîæåíèå ìîäóëÿ íà ìíîæèòåëè, ñåðòèôèöèðîâàë ñâÿçü ìåæäó I è Ïåããè, âûäàâ åé êâàäðàòíûå êîðíè èç vi , ïîëó÷åííûå èç I. (Ñì. ðàçäåë 5.2.) Ôåéãå, Ôèàò è Øàìèð äîáàâèëè ñëåäóþùèå çàìå÷àíèÿ [544, 545]: Äëÿ íåèäåàëüíûõ õýø-ôóíêöèé ìîæíî ïîñîâåòîâàòü ðàíäîìèçèðîâàòü I, äîáàâëÿÿ ê íåìó äëèííóþ ñëó÷àéíóþ ñòðîêó R. Ýòà ñòðîêà âûáèðàåòñÿ àðáèòðîì è îòêðûâàåòñÿ Âèêòîðó âìåñòå ñ I.  òèïè÷íûõ ðåàëèçàöèÿõ k äîëæíî áûòü îò 1 äî 18. Áîëüøèå çíà÷åíèÿ k ìîãóò óìåíüøèòü âðåìÿ è òðóäíîñòè ñâÿçè, óìåíüøàÿ êîëè÷åñòâî ýòàïîâ. Äëèíà n äîëæíà áûòü íå ìåíüøå 512 áèòîâ . (Êîíå÷íî, ñ òåõ ïîð ðàçëîæåíèå íà ìíîæèòåëè çàìåòíî ïðîäâèíóëîñü .) Åñëè êàæäûé ïîëüçîâàòåëü âûáåðåò ñâîå ñîáñòâåííîå n è îïóáëèêóåò åãî â ôàéëå îòêðûòûõ êëþ÷åé, òî ìîæíî îáîéòèñü è áåç àðáèòðà. Îäíàêî òàêîé RSA-ïîäîáíûé âàðèàíò äåëàåò ñõåìó çàìåòíî ìåíåå óäîáíîé .
Ñõåìà ïîäïèñè Fiat-Shamir Ïðåâðàùåíèå ýòîé ñõåìû èäåíòèôèêàöèè â ñõåìó ïîäïèñè - ýòî, ïî ñóòè, âîïðîñ ïðåâðàùåíèÿ Âèêòîðà â õýø-ôóíêöèèþ. Ãëàâíûì ïðåèìóùåñòâîì ñõåìû öèôðîâîé ïîäïèñè Fiat-Shamir ïî ñðàâíåíèþ ñ RSA ÿâëÿåòñÿ åå ñêîðîñòü: äëÿ Fiat-Shamir íóæíî âñåãî ëèøü îò 1 äî 4 ïðîöåíòîâ ìîäóëüíûõ óìíîæåíèé, èñïîëüçóåìûõ â RSA.  ýòîì ïðîòîêîëå ñíîâà âåðíåìñÿ ê Àëèñå è Áîáó . Ñìûñë ïåðåìåííûõ - òàêîé æå, êàê è â ñõåìå èäåíòèôèêàöèè . Âûáèðàåòñÿ n - ïðîèçâåäåíèå äâóõ áîëüøèõ ïðîñòûõ ÷èñåë. Ãåíåðèðóåòñÿ îòêðûòûé êëþ÷, v1, v2, . . . vk, è çàêðûòûé êëþ÷, s1, s2, . . . sk, ãäå si ≡ sqrt (vi -1) (mod n). (1) Àëèñà âûáèðàåò t ñëó÷àéíûõ öåëûõ ÷èñåë â äèàïàçîíå îò 1 äî n - r1, r2, . . ., rt - è âû÷èñëÿåò x1, x2, . . . xt, òàêèå ÷òî xi = ri 2 mod n. (2) Àëèñà õýøèðóåò îáúåäèíåíèå ñîîáùåíèÿ è ñòðîêè xi , ñîçäàâàÿ áèòîâûé ïîòîê: H(m, x1, x2, . . . xt). Îíà èñïîëüçóåò ïåðâûå k*t áèòîâ ýòîé ñòðîêè â êà÷åñòâå çíà÷åíèé bij, ãäå i ïðîáåãàåò îò1 äî t, à j îò 1 äî k. (3) Àëèñà âû÷èñëÿåò y1, y2, . . . yt,, ãäå yi = ri *( s1bi 1 * s2bi 2 *K*sk bik ) mod n (Äëÿ êàæäîãî i îíà ïåðåìíîæàåò âìåñòå çíà÷åíèÿ si , â çàâèñèìîñòè îò ñëó÷àéíûõ çíà÷åíèé bij. Åñëè bij=1, òî si ó÷àñòâóåò â âû÷èñëåíèÿõ, åñëè bij=0, òî íåò.) (4) Àëèñà ïîñûëàåò Áîáó m, âñå áèòû bij, è âñå çíà÷åíèÿ yi . Ó Áîáà óæå åñòü îòêðûòûé êëþ÷ Àëèñû : v1, v2, . . . v k.
(5) Áîá âû÷èñëÿåò z1, z2, . . . zt, ãäå zi = y2*( v1bi 1 * v2 bi 2 *K*vk bik ) mod n (È ñíîâà Áîá âûïîëíÿåò óìíîæåíèå â çàâèñèìîñòè îò çíà÷åíèé bij.) Òàêæå îáðàòèòå âíèìàíèå, ÷òî zi äîëæíî áûòü ðàâíî xi . (6) Áîá ïðîâåðÿåò, ÷òî ïåðâûå k*t áèòîâ H(m, z1, z2, . . . zt) - ýòî çíà÷åíèÿ bij, êîòîðûå ïðèñëàëà åìó Àëèñà. Êàê è â ñõåìå èäåíòèôèêàöèè áåçîïàñíîñòü ñõåìû ïîäïèñè ïðîïîðöèîíàëüíà l/2kt. Îíà òàêæå çàâèñèò îò ñëîæíîñòè ðàçëîæåíèÿ n íà ìíîæèòåëè. Ôèàò è Øàìèð ïîêàçàëè, ÷òî ïîääåëêà ïîäïèñè îáëåã÷àåòñÿ, åñëè ñëîæíîñòü ðàçëîæåíèÿ n íà ìíîæèòåëè çàìåòíî ìåíüøå 2kt. Êðîìå òîãî, èç-çà âñêðûòèÿ ìåòîäîì äíÿ ðîæäåíèÿ (ñì. ðàçäåë 18.1), îíè ðåêîìåíäóþò ïîâûñèòü k*t îò 20 ïî êðàéíåé ìåðå äî 72, ïðåäëàãàÿ k = 9 è t = 8. Óëó÷øåííàÿ ñõåìà ïîäïèñè Fiat-Shamir Ñèëüâèÿ Ìèêàëè (Silvia Micali) è Àäè Øàìèð óëó÷øèëè ïðîòîêîë Fiat-Shamir [1088]. Îíè âûáèðàëè v1, v2, . . . vk òàê, ÷òîáû îíè áûëè ïåðâûìè k ïðîñòûìè ÷èñëàìè. Òî åñòü v1= 1, v2= 3, v3= 5, è ò.ä. êàê
Ýòî îòêðûòûé êëþ÷. Çàêðûòûì êëþ÷îì, s1, s2, . . . sk, ñëóæàò ñëó÷àéíûå êâàäðàòíûå êîðíè , îïðåäåëÿåìûå si = sqrt (vi -1) (mod n)
 ýòîé âåðñèè ó êàæäîãî ó÷àñòíèêà äîëæåí áûòü ñâîé n. Òàêàÿ ìîäèôèêàöèÿ îáëåã÷àåò ïðîâåðêó ïîäïèñåé , íå âëèÿÿ íà âðåìÿ ãåíåðàöèè ïîäïèñåé è èõ áåçîïàñíîñòü. Äðóãèå óëó÷øåíèÿ Íà îñíîâå àëãîðèòìà Fiat-Shamir ñóùåñòâóåò è N-ñòîðîííÿÿ ñõåìà èäåíòèôèêàöèè [264]. Äâà äðóãèõ óëó÷øåíèÿ ñõåìû Fiat-Shamir â [1218]. Åùå îäèí âàðèàíò - â [1368]. Ñõåìà èäåíòèôèêàöèè Ohta-Okamoto Ýòîò ïðîòîêîë ÿâëÿåòñÿ âàðèàíòîì ñõåìû èäåíòèôèêàöèè Feige-Fiat-Shamir, åãî áåçîïàñíîñòü îñíîâàíà íà òðóäíîñòè ðàçëîæåíèÿ íà ìíîæèòåëè [1198, 1199]. Ýòè æå àâòîðû ðàçðàáîòàëè ñõåìó ñ íåñêîëüêèìè ïîäïèñÿìè (ñì. ðàçäåë 23.1), ñ ïîìîùüþ êîòîðîé ðàçëè÷íûå ëþäè ìîãóò ïîñëåäîâàòåëüíî ïîäïèñûâàòü [1200]. Ýòà ñõåìà áûëà ïðåäëîæåíà äëÿ ðåàëèçàöèè íà èíòåëëåêòóàëüíûõ êàðòî÷êàõ [850]. Ïàòåíòû Fiat-Shamir çàïàòåíòîâàí [1427]. Ïðè æåëàíèè ïîëó÷èòü ëèöåíçèþ íà àëãîðèòì ñâÿæèòåñü ñ Yeda Research and Development, The Weizmann Institute of Science, Rehovot 76100, Israel.
21.2 GUILLOU-QUISQUATER Feige-Fiat-Shamir áûë ïåðâûì ïðàêòè÷åñêèì ïðîòîêîëîì èäåíòèôèêàöèè . Îí ìèíèìèçèðîâàë âû÷èñëåíèÿ, óâåëè÷èâàÿ ÷èñëî èòåðàöèé è àêêðåäèòàöèé íà èòåðàöèþ . Äëÿ ðÿäà ðåàëèçàöèé, íàïðèìåð, äëÿ èíòåëëåêòóàë üíûõ êàðòî÷åê, ýòî íå ñëèøêîì ïîäõîäèò . Îáìåíû ñ âíåøíèì ìèðîì òðåáóþò âðåìåíè, à õðàíåíèå äàííûõ äëÿ êàæäîé àêêðåäèòàöèè ìîæåò áûñòðî èñ÷åðïàòü îãðàíè÷åííûå âîçìîæíîñòè êàðòî÷êè . Ëóè Ãèëëó (Louis Guillou) è Æàí-Æàê Êèñêàòð (Jean-Jacques Quisquater) ðàçðàáîòàëè àëãîðèòì èäåíòèôèê àöèè ñ íóëåâûì çíàíèåì, êîòîðûé áîëüøå ïîäõîäèò äëÿ ïîäîáíûõ ïðèëîæåíèé [670, 1280]. Îáìåíû ìåæäó Ïåããè è Âèêòîðîì, à òàêæå ïàðàëëåëüíûå àêêðåäèòàöèè â êàæäîì îáìåíå ñâåäåíû ê àáñîëþòíîìó ìèíèìóìó : äëÿ êàæäîãî äîêàçàòåëüñòâà ñóùåñòâóåò òîëüêî îäèí îáìåí, â êîòîðîì - òîëüêî îäíà àêêðåäèòàöèÿ . Äëÿ äîñòèæåíèÿ òîãî æå óðîâíÿ áåçîïàñíîñòè ïðè èñïîëüçîâàíèè ñõåìû Guillou-Quisquater ïîòðåáóåòñÿ âûïîëíèòü â òðè ðàçà áîëüøå âû÷èñëåíèé, ÷åì ïðè Feige-Fiat-Shamir. È, êàê è Feige-Fiat-Shamir, ýòîò àëãîðèòì èäåíòèôèêàöèè ìî æíî ïðåâðàòèòü â àëãîðèòì öèôðîâîé ïîäïèñè . Ñõåìà èäåíòèôèêàöèè Guillou-Quisquater Ïåããè - ýòî èíòåëëåêòóàëüíàÿ êàðòî÷êà, êîòîðàÿ ñîáèðàåòñÿ äîêàçàòü ñâîþ ïîäëèííîñòü Âèêòîðó . Èäåíòèôèêàöèÿ Ïåããè ïðîâîäèòñÿ ïî ðÿäó àòðèáóòîâ, ïðåäñòàâëÿþùèõ ñîáîé ñòðîêó äàííûõ ñîäåðæàùèõ íàçâàíèå êà ðòî÷êè, ïåðèîä äåéñòâèÿ, íîìåð áàíêîâñêîãî ñ÷åòà è äðóãèå, ïîäòâåðæäàåìûå åå ïðèìåíèìîñòü, äàííûå . Ýòà áèòîâàÿ ñòðîêà íàçûâàåòñÿ J. ( ðåàëüíîñòè ñòðîêà àòðèáóòîâ ìîæåò áûòü î÷åíü äëèííîé, è â êà÷åñòâå J èñïîëüçóåòñÿ åå õýø-çíà÷åíèå. Ýòî óñëîæíåíèå íèêàê íå âëèÿåò íà ïðîòîêîë .) Ýòà ñòðîêà àíàëîãè÷íà îòêðûòîìó êëþ÷ó . Äðóãîé îòêðûòîé èíôîðìàöèåé, îáùåé äëÿ âñåõ "Ïåããè", êîòîðûå ìîãóò èñïîëüçîâàòü ýòî ïðèëîæåíèå, ÿâëÿåòñÿ ïîêàçàòåëü ñòåïåíè v è ìîäóëü n, ãäå n - ýòî ïðîèçâåäåíèå äâóõ õðàíÿùèõñÿ â ñåêðåòå ïðîñòûõ ÷èñåë . Çàêðûòûì
êëþ÷îì ñëóæèò B, ðàññ÷èòûâàåìîå òàê, ÷òîáû JBv ≡ 1 (mod n). Ïåããè ïîñûëàåò Âèêòîðó ñâîè àòðèáóòû J. Òåïåðü îíà õî÷åò äîêàçàòü Âèêòîðó , ÷òî ýòî èìåííî åå àòðèáóòû. Äëÿ ýòîãî îíà äîëæíà óáåäèòü Âèêòîðà, ÷òî åé èçâåñòíî B. Âîò ýòîò ïðîòîêîë: (1) Ïåããè âûáèðàåò ñëó÷àéíîå öåëîå r, íàõîäÿùååñÿ â äèàïàçîíå îò 1 äî n-1. Îíà âû÷èñëÿåò T = rv mod n è îòïðàâëÿåò åãî Âèêòîðó. (2) Âèêòîð âûáèðàåò ñëó÷àéíîå öåëîå d, íàõîäÿùååñÿ â äèàïàçîíå îò 0 äî v-1. Îí ïîñûëàåò d Ïåããè. (3) Ïåããè âû÷èñëÿåò D = rBd mod n è ïîñûëàåò åãî Âèêòîðó. (4) Âèêòîð âû÷èñëÿåò T = DvJd mod n. Åñëè T ≡ T' (mod n), òî ïîäëèííîñòü Ïåããè äîêàçàíà. Ìàòåìàòèêà íå ñëèøêîì ñëîæíà :
T = DvJd = (rBd)vJd = rvBdvJd = rv(BvJ)d = rv = r' ≡T (mod n), òàê êàê JBv ≡ 1 (mod n) Ñõåìà ïîäïèñè Guillou-Quisquater
Ýòó ñõåìó èäåíòèôèêàöèè ìîæíî ïðåâðàòèòü â ñõåìó ïîäïèñè, òàêæå ïðèãîäíóþ äëÿ ðåàëèçàöèè â èíòåëëå êòóàëüíûõ êàðòî÷êàõ [671, 672]. Îòêðûòûé è çàêðûòûé êëþ÷è íå ìåíÿþòñÿ . Âîò êàê âûãëÿäèò ïðîòîêîë: (1) Àëèñà âûáèðàåò ñëó÷àéíîå öåëîå r, íàõîäÿùååñÿ â äèàïàçîíå îò 1 äî n-1. Îíà âû÷èñëÿåò T = rv mod n. (2) Àëèñà âû÷èñëÿåò d = H(M,T), ãäå M - ïîäïèñûâàåìîå ñîîáùåíèå, à H(x) - îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ . Çíà÷åíèå d, ïîëó÷åííîå ñ ïîìîùüþ õýø-ôóíêöèè, äîëæíî áûòü â äèàïàçîíå îò 0 äî v-1 [1280]. Åñëè âûõîä õýø-ôóíêöèè âûõîäèò çà ýòîò äèàïàçîí, îí äîëæåí áûòü ïðèâåäåí ïî ìîäóëþ v. (3) Àëèñà âû÷èñëÿåò D = rBd mod n. Ïîäïèñü ñîñòîèò èç ñîîáùåíèÿ M, äâóõ âû÷èñëåííûõ çíà÷åíèé, d and D, è åå àòðèáóòîâ J. Îíà ïîñûëàåò ïîäïèñü Áîáó. (4) Áîá âû÷èñëÿåò T = DvJd mod n. Çàòåì îí âû÷èñëÿåò d' = H(M,T'). Åñëè d ≡ d', òî Àëèñà çíàåò B, è åå ïîäïèñü äåéñòâèòåëüíà. Íåñêîëüêî ïîäïèñåé ×òî åñëè íåñêîëüêî ÷åëîâåê çàõîòÿò ïîäïèñàòü îäèí è òîò æå äîêóìåíò ? Ïðîùå âñåãî, ÷òîáû îíè ïîäïèñàëè åãî ïîðîçíü, íî ðàññìàòðèâàåìàÿ ñõåìà ïîäïèñè äåëàåò ýòî ëó÷øå . Ïóñòü Àëèñà è Áîá ïîäïèñûâàþò äîêóìåíò, à Êýðîë ïðîâåðÿåò ïîäïèñè, íî â ïðîöåññ ïîäïèñàíèÿ ìîæåò áûòü âîâëå÷åíî ïðîèçâîëüíîå êîëè÷åñòâî ëþäåé . Êàê è ðàíüøå, Àëèñà è Áîá îáëàäàþò óíèêàëüíûìè çíà÷åíèÿìè J è B: (JA,BA) è (JB,BB). Çíà÷åíèÿ n è v ÿâëÿþòñÿ îáùèìè äëÿ âñåé ñèñòåìû. (1) Àëèñà âûáèðàåò ñëó÷àéíîå öåëîå rÀ, íàõîäÿùååñÿ â äèàïàçîíå îò 1 äî n-1. Îíà âû÷èñëÿåò TÀ = rÀv mod n è ïîñûëàåò TÀ Áîáó. (2) Áîá âûáèðàåò ñëó÷àéíîå öåëîå r*, íàõîäÿùååñÿ â äèàïàçîíå îò 1 äî n-1. Îí âû÷èñëÿåò T* = r*v mod n è ïîñûëàåò T* Àëèñå. (3) Àëèñà è Áîá, êàæäûé âû÷èñëÿåò T = (TÀ*T*) mod n. (4) Àëèñà è Áîá, êàæäûé âû÷èñëÿåò d = H(M,T), ãäå M - ïîäïèñûâàåìîå ñîîáùåíèå, à H(x) - îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ. Çíà÷åíèå d, ïîëó÷åííîå ñ ïîìîùüþ õýø-ôóíêöèè, äîëæíî áûòü â äèàïàçîíå îò 0 äî v-1 [1280]. Åñëè âûõîä õýø-ôóíêöèè âûõîäèò çà ýòîò äèàïàçîí, îí äîëæåí áûòü ïðèâåäåí ïî ìîäóëþ v. (5) Àëèñà âû÷èñëÿåò DA = rABAd mod n è ïîñûëàåò DA Áîáó. (6) Áîá âû÷èñëÿåò DB = rBBBd mod n è ïîñûëàåò DB Àëèñå. (7) Àëèñà è Áîá, êàæäûé âû÷èñëÿåò D = DA DB mod n. Ïîäïèñü ñîñòîèò èç ñîîáùåíèÿ M, äâóõ âû÷èñëåííûõ çíà÷åíèé, d and D, è àòðèáóòîâ îáîèõ ïîäïèñûâàþùèõ: JA è JB. (8) Êýðîë âû÷èñëÿåò J = JA JB mod n. (9) Êýðîë âû÷èñëÿåò T = DvJd mod n. Çàòåì îíà âû÷èñëÿåò d' = H(M,T'). Åñëè d ≡ d', òî ìíîæåñòâåííàÿ ïîäïèñü äåéñòâèòåëüíà. Ýòîò ïðîòîêîë ìîæåò áûòü ðàñøèðåí íà ëþáîå êîëè÷åñòâî ëþäåé . Äëÿ ýòîãî ïîäïèñûâàþùèå ñîîáùåíèå ëþäè äîëæíû ïåðåìíîæèòü ñâîè çíà÷åíèÿ Ti íà ýòàïå (3), è ñâîè çíà÷åíèÿ Di íà ýòàïå (7). ×òîáû ïðîâåðèòü ìíîæåñòâåííóþ ïîäïèñü, íóæíî íà ýòàïå (8) ïåðåìíîæèòü çíà÷åíèÿ Ji ïîäïèñûâàþùèõ (8). Ëèáî âñå ïîäïèñè ïðàâèëüíû, ëèáî ñóùåñòâóåò ïî êðàéíåé ìåðå îäíà íåïðàâèëüíàÿ ïîäïèñü .
21.3 SCHNORR Áåçîïàñíîñòü ñõåìû ïðîâåðêè ïîäëèííîñòè è ïîäïèñè Êëàóñà Øíîððà [1396,1397] îïèðàåòñÿ íà òðóäíîñòü âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ . Äëÿ ãåíåðàöèè ïàðû êëþ÷åé ñíà÷àëà âûáèðàþòñÿ äâà ïðîñòûõ ÷èñëà , p è q òàê, ÷òîáû q áûëî ñîìíîæèòåëåì p-1. Çàòåì âûáèðàåòñÿ a, íå ðàâíîå 1, òàêîå ÷òî aq ≡ 1 (mod p). Âñå ýòè ÷èñëà ìîãóò áûòü ñâîáîäíî îïóáëèêîâàíû è èñïîëüçîâàòüñÿ ãðóïïîé ïîëüçîâàòåëåé . Äëÿ ãåíåðàöèè êîíêðåòíîé ïàðû êëþ÷åé âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî, ìåíüøåå q. Îíî ñëóæèò çàêðûòûì êëþ÷îì, s. Çàòåì âû÷èñëÿåòñÿ îòêðûòûé êëþ÷ v = a-s mod p. Ïðîòîêîë ïðîâåðêè ïîäëèííîñòè (1) Ïåããè âûáèðàåò ñëó÷àéíîå ÷èñëî r, ìåíüøåå q, è âû÷èñëÿåò x = ar mod p. Ýòè âû÷èñëåíèÿ ÿâëÿþòñÿ ïðåäâàðèòåëüíûìè è ìîãóò áûòü âûïîëíåíû çàäîëãî äî ïîÿâëåíèÿ Âèêòîðà . (2) Ïåããè ïîñûëàåò x Âèêòîðó. (3) Âèêòîð ïîñûëàåò Ïåããè ñëó÷àéíîå ÷èñëî e, èç äèàïàçîíà îò 0 äî 2t-1. (×òî òàêîå t, ÿ îáúÿñíþ ÷óòü ïîçæå.) (4) Ïåããè âû÷èñëÿåò y = (r + se) mod q è ïîñûëàåò y to Âèêòîðó. (5) Âèêòîð ïðîâåðÿåò, ÷òî x = ayve mod p. Áåçîïàñíîñòü àëãîðèòìà çàâèñèò îò ïàðàìåòðà t. Ñëîæíîñòü âñêðûòèÿ àëãîðèòìà ïðèìåðíî ðàâíà 2t. Øíîðð ñîâåòóåò èñïîëüçîâàòü p îêîëî 512 áèòîâ, q - îêîëî 140 áèòîâ è t - 72. Ïðîòîêîë öèôðîâîé ïîäïèñè Àëãîðèòì Schnorr òàêæå ìîæíî èñïîëüçîâàòü è â êà÷åñòâå ïðîòîêîëà öèôðîâîé ïîäïèñè ñîîáùåíèÿ M. Ïàðà êëþ÷åé èñïîëüçóåòñÿ òà æå ñàìàÿ, íî äîáàâëÿåòñÿ îäíîíàïðàâëåííàÿ õýø-ôóíêöèÿ H(M). (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî r, ìåíüøåå q, è âû÷èñëÿåò x = ar mod p. Ýòî ñòàäèÿ ïðåäâàðèòåëüíûõ âû÷èñëåíèé. (2) Àëèñà îáúåäèíÿåò M è x è õýøèðóåò ðåçóëüòàò: e = H(M,x) (3) Àëèñà âû÷èñëÿåò y = (r + se) mod q. Ïîäïèñüþ ÿâëÿþòñÿ çíà÷åíèÿ e è y, îíà ïîñûëàåò èõ Áîáó. (4) Áîá âû÷èñëÿåò x' = ayve mod p. Çàòåì îí ïðîâåðÿåò, ÷òî õýø-çíà÷åíèå äëÿ îáúåäèíåíèÿ M è x' ðàâíî e. e = H(M,x') Åñëè ýòî òàê, òî îí ñ÷èòàåò ïîäïèñü âåðíîé.  ñâîåé ðàáîòå Øíîðð ïðèâîäèò ñëåäóþùèå íîâûå ñâîéñòâà ñâîåãî àëãîðèòìà : Áîëüøàÿ ÷àñòü âû÷èñëåíèé, íóæíûõ äëÿ ãåíåðàöèè ïîäïèñè è íåçàâèñÿùèõ îò ïîäïèñûâàåìîãî ñîîáùåíèÿ, ìîæåò áûòü âûïîëíåíà íà ñòàäèè ïðåäâàðèòåëüíûõ âû÷èñëåíèé . Ñëåäîâàòåëüíî, ýòè âû÷èñëåíèÿ ìîãóò áûòü âûïîëíåíû âî âðåìÿ ïð îñòîÿ è íå âëèÿþò íà ñêîðîñòü ïîäïèñàíèÿ . Âñêðûòèå, íàïðàâëåííîå ïðîòèâ ñòàäèè ïðåäâàðèòåëüíûõ âû÷èñëåíèé, ðàññìàòð èâàåòñÿ â [475], ÿ íå äóìàþ, ÷òî îíî èìååò ïðàêòè÷åñêóþ öåííîñòü . Ïðè îäèíàêîâîì óðîâíå áåçîïàñíîñòè äëèíà ïîäïèñåé äëÿ Schnorr êîðî÷å, ÷åì äëÿ RSA. Íàïðèìåð, ïðè 140-áèòîâîì q äëèíà ïîäïèñåé ðàâíà âñåãî ëèøü 212 áèòàì , ìåíüøå ïîëîâèíû äëèíû ïîäïèñåé RSA. Ïîäïèñè Schnorr òàêæå íàìíîãî êîðî÷å ïîäïèñåé EIGamal.
Êîíå÷íî, èç ïðàêòè÷åñêèõ ñîîáðàæåíèé êîëè÷åñòâî áèòîâ, èñïîëüçóåìûõ â ýòîé ñõåìå, ìîæåò áûòü óìåí üøåíî: íàïðèìåð, äëÿ ñõåìû èäåíòèôèêàöèè, â êîòîðîé ìîøåííèê äîëæåí âûïîëíèòü äèàëîãîâîå âñêðûòèå âñåãî ëèøü çà íåñêîëüêî ñåêóíä (ñðàâíèòå ñî ñõåìîé ïîäïèñè, êîãäà ìîøåííèê ìîæåò ãîäàìè âåñòè ðàñ÷åòû, ÷òîáû âûïîëíèòü ïîäëîã). Ìîäèôèêàöèÿ, âûïîëíåííàÿ Ýðíè Áðèêåëëîì (Ernie Brickell) è Êåâèíîì ÌàêÊåðëè (Kevin McCurley), ïîâûñèëà áåçîïàñíîñòü ýòîãî àëãîðèòìà [265]. Ïàòåíòû Schnorr çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [1398] è ìíîãèõ äðóãèõ ñòðàíàõ.  1993 ãîäó PKP ïðèîáðåëî îáùå ìèðîâûå ïðàâà íà ýòîò ïàòåíò (ñì. ðàçäåë 25.5). Ñðîê äåéñòâèÿ ïàòåíòà ÑØÀ èñòåêàåò 19 ôåâðàëÿ 2008 ãîäà.
21.4 Ïðåîáðàçîâàíèå ñõåì èäåíòèôèêàöèè â ñõåìû ïîäïèñè Âîò ñòàíäàðòíûé ìåòîä ïðåîáðàçîâàíèÿ ñõåìû èäåíòèôèêàöèè â ñõåìó ïîäïèñè : Âèêòîð çàìåíÿåòñÿ îäíîíàïðàâëåííîé õýø-ôóíêöèåé. Ïåðåä ïîäïèñàíèåì ñîîáùåíèå íå õýøèðóåòñÿ, âìåñòî ýòîãî õýøèðîâàíèå âñòðàèâ à-
åòñÿ â àëãîðèòì ïîäïèñè. Â ïðèíöèïå, òàêóþ ìàíèïóëÿöèþ ìîæíî ïðîäåëàòü ñ ëþáîé ñõåìîé èäåíòèôèêàöèè .
Ãëàâà 22 Àëãîðèòìû îáìåíà êëþ÷àìè 22.1 DIFFIE-HELLMAN Diffie-Hellman, ïåðâûé â èñòîðèè àëãîðèòì ñ îòêðûòûì êëþ÷îì, áûë èçîáðåòåí 1976 ãîäó [496]. Åãî áåçîïàñíîñòü îïèðàåòñÿ íà òðóäíîñòü âû÷èñëåíèÿ äèñêðåòíûõ ëîãàðèôìîâ â êîíå÷íîì ïîëå (â ñðàâíåíèè ñ ëåãê îñòüþ âîçâåäåíèÿ â ñòåïåíü â òîì æå ñàìîì ïîëå . Diffie-Hellman ìîæåò áûòü èñïîëüçîâàí äëÿ ðàñïðåäåëåíèÿ êëþ÷åé - Àëèñà è Áîá ìîãóò âîñïîëüçîâàòüñÿ ýòèì àëãîðèòìîì äëÿ ãåíåðàöèè ñåêðåòíîãî êëþ÷à - íî åãî íåëüçÿ èñïîëüçîâàòü äëÿ øèôðîâàíèÿ è äåøèôðèðîâàíèÿ ñîîáùåíèé . Ìàòåìàòèêà íåñëîæíà. Ñíà÷àëà Àëèñà è Áîá âìåñòå âûáèðàþò áîëüøèå ïðîñòûå ÷èñëà n è g òàê, ÷òîáû g áûëî ïðèìèòèâîì mod n. Ýòè äâà öåëûõ ÷èñëà õðàíèòü â ñåêðåòå íåîáÿçàòåëüíî, Àëèñà è Áîá ìîãóò äîãîâîðèòüñÿ îá èç èñïîëüçîâàíèè ïî íåñåêðåòíîìó êàíàëó . Ýòè ÷èñëà äàæå ìîãóò ñîâìåñòíî èñïîëüçîâàòüñÿ ãðóïïîé ïîë üçîâàòåëåé. Áåç ðàçíèöû. Çàòåì âûïîëíÿåòñÿ ñëåäóþùèé ïðîòîêîë : (1) Àëèñà âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî x è ïîñûëàåò Áîáó X = gx mod n (2) Áîá âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî y è ïîñûëàåò Àëèñå Y = gy mod n (3) Àëèñà âû÷èñëÿåò k = Yx mod n (4) Áîá âû÷èñëÿåò k' = Xy mod n È k, è k' ðàâíû gxy mod n. Íèêòî èç ïîäñëóøèâàþùèõ ýòîò êàíàë íå ñìîæåò âû÷èñëèòü ýòî çíà÷åíèå, èì è çâåñòíî òîëüêî n, g, X è Y. Ïîêà îíè íå ñìîãóò âû÷èñëèòü äèñêðåòíûé ëîãàðèôì è ðàñêðûòü x èëè y, îíè íå ñìîãóò ðåøèòü ïðîáëåìó. Ïîýòîìó, k - ýòî ñåêðåòíûé êëþ÷, êîòîðûé Àëèñà è Áîá âû÷èñëÿþò íåçàâèñèìî . Âûáîð g è n ìîæåò çàìåòíî âëèÿòü íà áåçîïàñíîñòü ñèñòåìû . ×èñëî (n-1)/2 òàêæå äîëæíî áûòü ïðîñòûì [1253]. È, ñàìîå ãëàâíîå, n äîëæíî áûòü áîëüøèì: áåçîïàñíîñòü ñèñòåìû îñíîâàíà íà ñëîæíîñòè ðàçëîæåíèÿ íà ìíîæèòåëè ÷èñåë òîãî æå ðàçìåðà, ÷òî è n. Ìîæíî âûáèðàòü ëþáîå g, êîòîðîå ÿâëÿåòñÿ ïðèìèòèâîì mod n; íåò ïðè÷èí, ïî êîòîðûì íåëüçÿ áûëî áû âûáðàòü íàèìåíüøåå âîçìîæíîå g - îáû÷íî îäíîðàçðÿäíîå ÷èñëî. (Ê òîìó æå, íà ñàìîì äåëå, g íå äîëæíî äàæå áûòü ïðèìèòèâîì, îíî òîëüêî äîëæíî ãåíåðèðîâàòü äîñòàòî÷íî áîëüøóþ ïîäãðóïïó ìóëüòèïëèêàòèâíîé ãðóïïû mod n.) Diffie-Hellman ñ òðåìÿ è áîëåå ó÷àñòíèêàìè * Ïðîòîêîë îáìåíà êëþ÷àìè Diffie-Hellman ëåãêî ìîæíî ðàñøèðèòü íà ñëó÷àé ñ òðåìÿ è áîëåå ó÷àñòíèêàìè .  ïðèâîäèìîì ïðèìåðå Àëèñà, Áîá è Êýðîë âìåñòå ãåíåðèðóþò ñåêðåòíûé êëþ÷ . (1) Àëèñà âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî x è âû÷èñëÿåò X = gx mod n (2) Áîá âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî y è ïîñûëàåò Êýðîë Y = gy mod n (3) Êýðîë âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî z è ïîñûëàåò Àëèñå Z = gz mod n (4) Àëèñà ïîñûëàåò Áîáó Z'=Zx mod n (5) Áîá ïîñûëàåò Êýðîë * X'=Xy mod n (6) Êýðîë ïîñûëàåò Àëèñå Y'=Yzmod n (7) Àëèñà âû÷èñëÿåò k = Y'x mod n
(8) Áîá âû÷èñëÿåò k = Z'y mod n (9) Êýðîë âû÷èñëÿåò k = :'z mod n Ñåêðåòíûé êëþ÷ k ðàâåí gxyz mod n, è íèêòî èç ïîäñëóøèâàþùèõ êàíàëû ñâÿçè íå ñìîæåò âû÷èñëèòü ýòî çíà÷åíèå. Ïðîòîêîë ìîæíî ëåãêî ðàñøèðèòü äëÿ ÷åòâåðûõ è áîëåå ó÷àñòíèêîâ, ïðîñòî äîáàâëÿþòñÿ ó÷àñòíèêè è ýòàïû âû÷èñëåíèé. Ðàñøèðåííûé Diffie-Hellman Diffie-Hellman òàêæå ðàáîòàåò â êîììóòàòèâíûõ êîëüöàõ [1253]. Ç. Øìóëè (Z. Shmuley) è Êåâèí ÌàêÊåðëè (Kevin McCurley) èçó÷èëè âàðèàíò àëãîðèòìà, â êîòîðîì ìîäóëü ÿâëÿåòñÿ ñîñòàâíûì ÷èñëîì [1441, 1038]. Â.Ñ. Ìèëëåð (V. S. Miller) è Íèë Êîáëèö (Neal Koblitz) ðàñøèðèëè ýòîò àëãîðèòì, èñïîëüçóÿ ýëëèïòè÷åñêèå êðèâûå [1095, 867]. Òàõåð ÝëüÄæàìàëü (Taher ElGamal) èñïîëüçîâàë îñíîâîïîëàãàþùóþ èäåþ äëÿ ðàçðàáîòêè àëã îðèòìà øèôðîâàíèÿ è öèôðîâîé ïîäïèñè (ñì. ðàçäåë 19.6). Ýòîò àëãîðèòì òàêæå ðàáîòàåò â ïîëå Ãàëóà GF(2k) [1442, 1038].  ðÿäå ðåàëèçàöèé èñïîëüçóåòñÿ èìåííî ýòîò ïîäõîä [884, 1631, 1632], òàê êàê âû÷èñëåíèÿ âûïîëíÿþòñÿ íàìíîãî áûñòðåå . Íî è êðèïòîàíàëèòè÷åñêèå âû÷èñëåíèÿ âûïîëíÿþòñÿ íàìíîãî áûñòðåå , ïîýòîìó âàæíî òùàòåëüíî âûáèðàòü ïîëå, äîñòàòî÷íî áîëüøîå, ÷òîáû îáåñïå÷èòü íóæíóþ áåçîïàñíîñòü . Hughes Ýòîò âàðèàíò àëãîðèòìà Diffie-Hellman ïîçâîëÿåò Àëèñå ãåíåðèðîâàòü êëþ÷ è ïîñëàòü åãî Áîáó [745]. (1) Àëèñà âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî x è ãåíåðèðóåò k = gx mod n (2) Áîá âûáèðàåò ñëó÷àéíîå áîëüøîå öåëîå ÷èñëî y è ïîñûëàåò Àëèñå Y = gy mod n (3) Àëèñà ïîñûëàåò Áîáó X = Yx mod n (4) Áîá âû÷èñëÿåò z = y-1 k' = Xz mod n Åñëè âñå âûïîëíåíî ïðàâèëüíî, k = k'. Ïðåèìóùåñòâîì ýòîãî ïðîòîêîëà íàä Diffie-Hellman ñîñòîèò â òîì, ÷òî k ìîæíî âû÷èñëèòü çàðàíåå, äî âçà èìîäåéñòâèÿ, è Àëèñà ìîæåò øèôðîâàòü ñîîáùåíèÿ ñ ïîìîùüþ k çàäîëãî äî óñòàíîâëåíèÿ ñîåäèíåíèÿ ñ Áîáîì. Îíà ìîæåò ïîñëàòü ñîîáùåíèå ñðàçó ìíîæåñòâó ëþäåé, à ïåðåäàòü êëþ÷ ïîçäíåå êàæäîìó ïî îòäåëüíîñòè . Îáìåí êëþ÷îì áåç îáìåíà êëþ÷îì Åñëè ó âàñ ñîîáùåñòâî ïîëüçîâàòåëåé, êàæäûé ìîæåò îïóáëèêîâàòü îòêðûòûé êëþ÷ , X = gx mod n, â îáùåé áàçå äàííûõ. Åñëè Àëèñà çàõî÷åò óñòàíîâèòü ñâÿçü ñ Áîáîì , åé ïîíàäîáèòñÿ òîëüêî ïîëó÷èòü îòêðûòûé êëþ÷ Áîáà è ãåíåðèðîâàòü èõ îáùèé ñåêðåòíûé êëþ÷ . Îíà ìîæåò çàøèôðîâàòü ñîîáùåíèå ýòèì êëþ÷îì è ïîñëàòü åãî Áîáó. Áîá èçâëå÷åò îòêðûòûé êëþ÷ Àëèñû è âû÷èñëèò îáùèé ñåêðåòíûé êëþ÷ . Êàæäàÿ ïàðà ïîëüçîâàòåëåé ìîæåò èñïîëüçîâàòü óíèêàëüíûé ñåêðåòíûé êëþ÷ , íå òðåáóåòñÿ íèêàêèõ ïðåäâàðèòåëüíûõ îáìåíîâ äàííûìè ìåæäó ïîëüçîâàòåëÿìè . Îòêðûòûå êëþ÷è äîëæíû ïðîéòè ñåðòèôèêàöèþ, ÷òîáû ïðåäîòâðàòèòü ìîøåííè÷åñêèå âñêðûòèÿ, è äîëæíû ðåãóëÿðíî ìåíÿòüñÿ, íî â ëþáîì ñëó÷àå ýòî î÷åíü óìíàÿ èäåÿ Ïàòåíòû Àëãîðèòì îáìåíà êëþ÷àìè Diffie-Hellman çàïàòåíòîâàí â Ñîåäèíåííûõ Øòàòàõ [718] è Êàíàäå [719]. Ãðóïïà, íàçûâàþùàÿñÿ Public Key Partners (PKP, Ïàðòíåðû ïî îòêðûòûì êëþ÷àì ), ïîëó÷èëà âìåñòå ñ äðóãèìè ïàòåíòàìè â îáëàñòè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè ïîëó÷èëà ëèöåíçèþ íà ýòîò ïàòåíò (ñì. ðàçäåë 25.5). Ñðîê äåéñòâèÿ ïàòåíòà ÑØÀ èñòåêàåò 29 àïðåëÿ 1997 ãîäà .
22.2 Ïðîòîêîë "òî÷êà-òî÷êà" Îáìåí êëþ÷àìè Diffie-Hellman ÷óâñòâèòåëåí ê âñêðûòèþ "÷åëîâåê â ñåðåäèíå" . Îäíèì èç ñïîñîáîâ ïðåäîòâðàòèòü ýòî, ÿâëÿåòñÿ íåîáõîäèìîñòü äëÿ Àëèñû è Áîáà ïîäïèñûâàòü ñîîáùåíèÿ, êîòîðûå îíè ïîñûëàþò äðóã äðóãó [500]. Ýòîò ïðîòîêîë ïðåäïîëàãàåò, ÷òî ó Àëèñû åñòü ñåðòèôèöèðîâàííûé îòêðûòûé êëþ÷ Áîáà, à ó Áîáà åñòü ñå ðòèôèöèðîâàííûé îòêðûòûé êëþ÷ Àëèñû . Ýòè ñåðòèôèêàòû ïîäïèñàíû íåêîòîðûì çàñëóæèâàþùèì äîâåðèÿ îðãàíîì âëàñòè, íåïîñðåäñòâåííî íå ó÷àñòâóþùèì â ïðîòîêîëå . Âîò êàê Àëèñà è Áîá ãåíåðèðóþò ñåêðåòíûé êëþ÷ k. (1) Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî x è ïîñûëàåò åãî Áîáó. (2) Áîá ãåíåðèðóåò ñëó÷àéíîå ÷èñëî y. Èñïîëüçóÿ ïðîòîêîë Diffie-Hellman, îí âû÷èñëÿåò îáùèé êëþ÷ k íà áàçå x è y. Îí ïîäïèñûâàåò x è y è øèôðóåò ïîäïèñü êëþ÷îì k. Çàòåì îí ïîñûëàåò ïîëó÷èâøååñÿ âìåñòå ñ y Àëèñå. y,Ek(SB(x,y)) (3) Àëèñà òàêæå âû÷èñëÿåò k. Îíà ðàñøèôðîâûâàåò îñòàâøóþñÿ ÷àñòü ñîîáùåíèÿ Áîáà è ïðîâåðÿåò åãî ïîäïèñü. Çàòåì îíà ïîñûëàåò Áîáó ïîäïèñàííîå ñîîáùåíèå, ñîñòîÿùåå èç x è y, çàøèôðîâàííûõ îáùèì êëþ÷îì k. Ek(SA(x,y)) (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå è ïðîâåðÿåò ïîäïèñü Àëèñû.
22.3 Òðåõïðîõîäíûé ïðîòîêîë Øàìèðà Ýòîò èçîáðåòåííûé Àäè Øàìèðîì íî íèêîãäà íå îïóáëèêîâàííûé ïðîòîêîë ïîçâîëÿåò Àëèñå è Áîáó áåçîïàñíî îáìåíèâàòüñÿ èíôîðìàöèåé, íå èñïîëüçóÿ ïðåäâàðèòåëüíîãî îáìåíà íè ñåêðåòíûìè, íè îòêðûòûìè êë þ÷àìè [1008]. Îí ïðåäïîëàãàåò èñïîëüçîâàíèå êîììóòàòèâíîãî ñèììåòðè÷íîãî øèôðà , äëÿ êîòîðîãî: EA(EB(P)) = EB(EA(P)) Ñåêðåòíûé êëþ÷ Àëèñû - A, à Áîáà - B. Àëèñà õî÷åò ïîñëàòü ñîîáùåíèå M Áîáó. Âòî ýòîò ïðîòîêîë. (1) Àëèñà øèôðóåò M ñâîèì êëþ÷îì è ïîñûëàåò åãî Áîáó C1 = EA(M) (2) Áîá øèôðóåò C1 ñâîèì êëþ÷îì è ïîñûëàåò Àëèñå C2 = EB(EA(M)) (3) Àëèñà ðàñøèôðîâûâàåò C2 ñâîèì êëþ÷îì è ïîñûëàåò Áîáó C3 = DA(EB(EA(M))) = DA(EA(EB(M))) = EB(M) (4) Áîá ðàñøèôðîâûâàåò C3 ñâîèì êëþ÷îì, ïîëó÷àÿ M. Êîììóòàòèâíû è îáëàäàþò ñîâåðøåííîé áåçîïàñíîñòüþ îäíîðàçîâûå áëîêíîòû, íî ñ ýòèì ïðîòîêîëîì îíè ðàáîòàòü íå áóäóò. Ïðè èñïîëüçîâàíèè îäíîðàçîâîãî áëîêíîòà òðè øèôðîòåêñòà áóäóò âûãëÿäåòü ñëåäóþùèì îáðàçîì be: C1 = M ⊕ A C2 = M ⊕ A ⊕ B C3 = M ⊕ B Åâà, çàïèñàâ ýòè òðè ñîîáùåíèÿ, êîòîðûìè îáìåíèâàþòñÿ Àëèñà è Áîá, ïðîñòî âûïîëíèò XOR âñåõ ýòèõ øèôðîòåêñòîâ è âîññòàíîâèò ñîîáùåíèå : C1 ⊕ C2 ⊕ C3 =(M ⊕ A) ⊕ (M ⊕ A ⊕ B) ⊕ (M ⊕ B) = M Î÷åâèäíî, ÷òî òàêîé ñïîñîá ðàáîòàòü íå áóäåò . Øàìèð (è íåçàâèñèìî Äæèì Îìóðà (Jim Omura)) îïèñàë ïîõîæèé íà RSA àëãîðèòì øèôðîâàíèÿ, êîòîðûé áóäåò ðàáîòàòü ñ ýòèì ïðîòîêîëîì. Ïóñòü p áóäåò áîëüøèì áîëüøèì ïðîñòûì ÷èñëîì, ïðè÷åì ìíîæèòåëü p-1 ÿâëÿåòñÿ áîëüøèì ïðîñòûì. Âûáåðåì êëþ÷ øèôðîâàíèÿ e, âçàèìíî ïðîñòîé ñ p-1. Âû÷èñëèì d, äëÿ êîòîðîãî âûïîëíÿåòñÿ de = 1 (mod p - 1). Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ âû÷èñëÿåì C = Me mod p
Äëÿ äåøèôðèðîâàíèÿ ñîîáùåíèÿ âû÷èñëÿåì M = Cd mod p Ïî âèäèìîìó, ó Åâû íåò ñïîñîáà ïîëó÷èòü M, íå ðåøèâ ïðîáëåìó äèñêðåòíîãî ëîãàðèôìà, íî ýòî íèêîãäà íå áûëî äîêàçàíî. Êàê è Diffie-Hellman, ýòîò ïðîòîêîë ïîçâîëÿåò Àëèñå íà÷àòü ñåêðåòíûé îáìåí èíôîðìàöèåé ñ Áîáîì, íå çíàÿ íè îäíîãî èç åãî êëþ÷åé. Ïðè èñïîëüçîâàíèè àëãîðèòìà ñ îòêðûòûì êëþ÷îì Àëèñà äîëæíà çíàòü îòêðûòûé êëþ÷ Áîáà. Ïðèìåíÿÿ òðåõïðîõîäíûé àëãîðèòì Øàìèðà, îíà ïðîñòî ïîñûëàåò Áîáó øèôðîòåêñò ñîîáùåíèÿ . Òî æå äåéñòâèå ñ ïîìîùüþ àëãîðèòìà ñ îòêðûòûì êëþ÷îì âûãëÿäèò ñëåäóþùèì îáðàçîì : (1) Àëèñà çàïðàøèâàåò ó Áîáà (èëè ó KDC) åãî îòêðûòûé êëþ÷. (2) Áîá (èëè KDC) ïîñûëàåò Àëèñå ñâîé îòêðûòûé êëþ÷. (3) Àëèñà øèôðóåò M îòêðûòûì êëþ÷îì Áîáà è ïîñûëàåò åãî Áîáó. Òðåõïðîõîäíûé àëãîðèòì Øàìèðà íå ìîæåò óñòîÿòü ïåðåä âñêðûòèåì "÷åëîâåê â ñåðåäèíå" .
22.4 COMSET COMSET (COMmunications SETup , óñòàíîâëåíèå ñâÿçè) ýòî ïðîòîêîë îäíîâðåìåííîé èäåíòèôèêàöèè è î áìåíà êëþ÷îì, ðàçðàáîòàííûé äëÿ ïðîåêòà RIPE [1305] (ñì. ðàçäåë 25.7). Ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûò ûìè êëþ÷àìè îí ïîçâîëÿåò Àëèñå è Áîáó èäåíòèôèöèðîâàòü äðóã äðóãà, ïðè ýòîì îáìåíèâàÿñü ñåêðåòíûì êë þ÷îì. Ìàòåìàòè÷åñêîé îñíîâîé COMSET ñëóæèò ñõåìà Rabin [1283] (ñì. ðàçäåë 19.5). Ñàìà ñõåìà âïåðâûå áûëà ïðåäëîæåíà â [224]. Ñì. ïîäðîáíîñòè â [1305].
22.5 Îáìåí çàøèôðîâàííûìè êëþ÷àìè Ïðîòîêîë îáìåíà çàøèôðîâàííûìè êëþ÷àìè (Encrypted Key Exchange, EKE) áûë ðàçðàáîòàí Ñòèâîì Áåëëîâèíîì (Steve Bellovin) è Ìàéêëîì Ìåððèòòîì (Michael Merritt) [109]. Îí îáåñïå÷èâàåò áåçîïàñíîñòü è ïð îâåðêó ïîäëèííîñòè â êîìïüþòåðíûõ ñåòÿõ , ïî íîâîìó èñïîëüçóÿ è ñèììåòðè÷íóþ êðèïòîãðàôèþ, è êðèïòîãð àôèþ ñ îòêðûòûìè êëþ÷àìè: îáùèé ñåêðåòíûé êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ ãåíåðèðîâàííîãî ñëó÷à éíûì îáðàçîì îòêðûòîãî êëþ÷à. Áàçîâûé ïðîòîêîë EKE Àëèñà è Áîá (äâà ïîëüçîâàòåëÿ, êëèåíò è ñåðâåð, èëè êòî óãîäíî) èìåþò îáùèé ïàðîëü P. Èñïîëüçóÿ ñëåäóþùèé ïðîòîêîë, îíè ìîãóò ïðîâåðèòü ïîäëèííîñòü äðóã äðóãà è ãåíåðèðîâàòü îáùèé ñåàíñîâûé êëþ÷ K. (1) Àëèñà Ñëó÷àéíûì îáðàçîì ãåíåðèðóåò ïàðó "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷" . Îíà øèôðóåò îòêðûòûé êëþ÷ K' ñ ïîìîùüþ ñèììåòðè÷íîãî àëãîðèòìà, èñïîëüçóÿ P â êà÷åñòâå êëþ÷à: EP(K'). Îíà ïîñûëàåò Áîáó A, EP(K') (2) Áîá çíàåò P. Îí ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ K'. Çàòåì îí ãåíåðèðóåò ñëó÷àéíûé ñåàíñîâûé êëþ÷ K øèôðóåò åãî îòêðûòûì êëþ÷îì, êîòîðûé îí ïîëó÷èë îò Àëèñû, à çàòåì èñïîëüçóÿ P êà÷åñòâå êëþ÷à. Îí ïîñûëàåò Àëèñå EP(EK'(K) (3) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ K. Îíà ãåíåðèðóåò ñëó÷àéíóþ ñòðîêó RA, øèôðóåò åå ñ ïîìîùüþ K è ïîñûëàåò Áîáó EK(RA) (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ RA. Îí ãåíåðèðóåò äðóãóþ ñëó÷àéíóþ ñòðîêó, RB, øèôðóåò îáå ñòðîêè êëþ÷îì K è ïîñûëàåò Àëèñå ðåçóëüòàò. EK(RA,RB) (5) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ RA è RB. Åñëè ñòðîêà RA, ïîëó÷åííàÿ îò Áîáà, - ýòî òà ñàìàÿ ñòðîêà, êîòîðóþ îíà ïîñëàëà Áîáó íà ýòàïå (3), îíà, èñïîëüçóÿ K, øèôðóåò RB è ïîñûëàåò åå Áîáó. EK(RB) (6) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ RB. Åñëè ñòðîêà RB, ïîëó÷åííàÿ îò Àëèñû, - ýòî òà ñàìàÿ ñòðîêà, êîòîðóþ îí ïîñëàë åé íà ýòàïå (4), çàâåðøåí. Òåïåðü îáå ñòîðîíû ìîãóò îáìåíèâàòüñÿ èíôîðìàöèåé, è ñïîëüçóÿ K â êà÷åñòâå ñåàíñîâîãî êëþ÷à.
Íà ýòàïå (3) è Àëèñà, è Áîá çíàþò K' è K. K - ýòî ñåàíñîâûé êëþ÷, îí ìîæåò áûòü èñïîëüçîâàí äëÿ øèôðîâ àíèÿ âñåõ äðóãèõ ñîîáùåíèé, êîòîðûìè îáìåíèâàþòñÿ Àëèñà è Áîá. Åâà, ñèäÿ ìåæäó Àëèñîé è Áîáîì, çíàåò òîëüêî EP(K'), EP(EK'(K) è íåñêîëüêî ñîîáùåíèé, çàøèôðîâàííûõ K.  äðóãèõ ïðîòîêîëàõ Åâà ìîãëà áû ïîïðîáîâàòü óãàäàòü P (ëþäè âñå âðåìÿ ëþáÿò âûáèðàòü ïëîõèå ïàðîëè , è åñëè Åâà äîñòàòî÷íî óìíà, îíà ìîæåò ýòîò ïàðîëü) è çàòåì ïðîâåðèòü ñâîè ïðåäïîëîæåíèÿ .  ðàññìàòðèâàåìîì ïðîòîêîëå Åâà íå ìîæåò ïðîâåðÿòü ñâîè ïðåäïîëîæåíèÿ, íå âñêðûâ ïðè ýòîì è àëãîðèòì ñ îòêðûòûì êëþ÷îì . È, åñëè K' è K âûáèðàþòñÿ ñëó÷àéíûì îáðàçîì, òî ýòà ïðîáëåìà áóäåò íåïðåîäîëèìîé . Îòâåòíàÿ ÷àñòü ïðîòîêîëà, ýòàïû (3) - (6), îáåñïå÷èâàåò ïîäòâåðæäåíèå. Ýòàïû (3) - (5) äîêàçûâàþò Àëèñå, ÷òî Áîá çíàåò K, ýòàïû (4) - (6) äîêàçûâàþò Áîáó, ÷òî Àëèñà çíàåò K. Îáìåí ìåòêàìè âðåìåíè, èñïîëüçóåìûé â ïðîòîêîëå Kerberos, ðåøàåò òó æå çàäà÷ó. EKE ìîæåò áûòü ðåàëèçîâàí ñ ìíîæåñòâîì àëãîðèòìîâ ñ îòêðûòûìè êëþ÷àìè : RSA, ElGamal, DiffieHellman. Ïðîáëåìû ñ áåçîïàñíîñòüþ âîçíèêàþò ïðè ðåàëèçàöèè EKE ñ àëãîðèòìîì ðþêçàêà (äàæå áåç ó÷åòà ïðîáëåì áåçîïàñíîñòè, ïðèñóùèõ ñàìèì àëãîðèòìàì ðþêçàêà ): íîðìàëüíîå ðàñïðåäåëåíèå øèôðîòåêñòà ñîî áùåíèé ñâîäèò íà íåò ïðåèìóùåñòâà EKE. Ðåàëèçàöèÿ EKE ñ ïîìîùüþ RSA Àëãîðèòì RSA êàæåòñÿ èäåàëüíûì äëÿ òàêîãî èñïîëüçîâàíèÿ, íî åñòü ðÿä òîíêèõ ïðîáëåì . Àâòîðû ðåêîìåíäóþò øèôðîâàòü íà ýòàïå (1) òîëüêî ïîêàçàòåëü ñòåïåíè, ïîñûëàÿ ìîäóëü . Îáúÿñíåíèå ýòîãî ñîâåòà è äðóãèå òîíêîñòè, ñâÿçàííûå ñ èñïîëüçîâàíèåì RSA, ìîæíî íàéòè [109]. Ðåàëèçàöèÿ EKE ñ ïîìîùüþ ElGamal Ðåàëèçàöèÿ EKE íà áàçå àëãîðèòìà ElGamal ïðîñòà, ìîæíî äàæå óïðîñòèòü îñíîâíîé ïðîòîêîë . Èñïîëüçóÿ îáîçíà÷åíèÿ èç ðàçäåëà 19.6, g è p ñëóæàò ÷àñòÿìè îòêðûòîãî êëþ÷à, îáùèìè äëÿ âñåõ ïîëüçîâàòåëåé . Çàêðûòûì êëþ÷îì ÿâëÿåòñÿ ñëó÷àéíîå ÷èñëî r. Îòêðûòûì - gr mod p. Íà ýòàïå (1) Àëèñà ïîñûëàåò Áîáó ñëåäóþùåå ñîîáùåíèå Àëèñà, gr mod p Îáðàòèòå âíèìàíèå, ÷òî ýòîò îòêðûòûé êëþ÷ íå íóæíî øèôðîâàòü ñ ïîìîùüþ P.  îáùåì ñëó÷àå ýòî íåâåðíî, íî ýòî òàê äëÿ àëãîðèòìà ElGamal algorithm. Ïîäðîáíîñòè â [109]. Áîá âûáèðàåò ñëó÷àéíîå ÷èñëî R (äëÿ àëãîðèòìà ElGamal, íåçàâèñèìî îò äðóãèõ ñëó÷àéíûõ ÷èñåë, âûáèðà åìûõ äëÿ EKE), è ñîîáùåíèå, êîòîðîå îí ïîñûëàåò Àë èñå íà ýòàïå (2), âûãëÿäèò òàê EP(gR mod p, KgrR mod p) Ñóùåñòâóþùèå îãðàíè÷åíèÿ íà âûáîð ïåðåìåííûõ äëÿ ElGamal áûëè ïðèâåäåíû â ðàçäåëå 19.6. Ðåàëèçàöèÿ EKE ñ ïîìîùüþ Diffie-Hellman Ïðè èñïîëüçîâàíèè ïðîòîêîëà Diffie-Hellman K ãåíåðèðóåòñÿ àâòîìàòè÷åñêè. Îêîí÷àòåëüíûé ïðîòîêîë åùå ïðîùå. Çíà÷åíèÿ g è n îïðåäåëÿþòñÿ äëÿ âñåõ ïîëüçîâàòåëåé ñåòè . (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî rA è ïîñûëàåò Áîáó A, g rA mod n Ïðè èñïîëüçîâàíèè Diffie-Hellman Àëèñå íå íóæíî øèôðîâàòü ñ ïîìîùüþ P ñâîå ïåðâîå ñîîáùåíèå. (2) Áîá âûáèðàåò ñëó÷àéíîå ÷èñëî rB è âû÷èñëÿåò K= g r A *rB mod n Îí ãåíåðèðóåò ñëó÷àéíóþ ñòðîêó RB, çàòåì âû÷èñëÿåò è ïîñûëàåò Àëèñå : EÐ( g rB mod n),EK(RB) (3) Àëèñà ðàñøèôðîâûâàåò ïåðâóþ ïîëîâèíó ñîîáùåíèÿ Áîáà, ïîëó÷àÿ g rB mod n. Çàòåì îíà âû÷èñëÿåò K è èñïîëüçóåò åãî äëÿ øèôðîâàíèÿ RB. Îíà ãåíåðèðóåò äðóãóþ ñëó÷àéíóþ ñòðîêó RA,, øèôðóåò îáå ñòðîêè êëþ÷îì K è ïîñûëàåò ðåçóëüòàò Áîáó. EK(RA,,RB) (4) Áîá ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ RA, è RB. Åñëè ïîëó÷åííàÿ îò Àëèñû ñòðîêà RB ñîâïàäàåò ñ òîé, êîòîðóþ îí ïîñûëàë åé íà ýòàïå (2), îí øèôðóåò RA êëþ÷îì K è ïîñûëàåò ðåçóëüòàò Àëèñå. EK(RA)
(5) Àëèñà ðàñøèôðîâûâàåò ñîîáùåíèå, ïîëó÷àÿ RA. Åñëè ïîëó÷åííàÿ îò Áîáà ñòðîêà RA ñîâïàäàåò ñ òîé, êîòîðóþ îíà ïîñûëàëà Áîáó íà ýòàïå (3), ïðîòîêîë çàâåðøàåòñÿ. Òåïåðü ñòîðîíû ìîãóò îáìåíèâàòüñÿ ñîîáùåíèÿìè, èñïîëüçóÿ K â êà÷åñòâå ñåàíñîâîãî êëþ÷à . Óñèëåíèå EKE Áåëëîâèí (Bellovin) è Ìåððèòò (Merritt) ïðåäëîæèëè óëó÷øåíèå çàïðîñíî-îòâåòíîé ÷àñòè àëãîðèòìà , êîòîðîå ïîçâîëÿåò èçáåæàòü âîçìîæíîãî âñêðûòèÿ ïðè îáíàðóæåíèè êðèïòîàíàëèòèêîì ñòà ðîãî çíà÷åíèÿ K. Íà áàçîâûé ïðîòîêîë EKE. Íà ýòàïå (3) Àëèñà ãåíåðèðóåò äðóãîå ñëó÷àéíîå ÷èñëî SA è ïîñûëàåò Áîáó EK(RA, SA) Íà ýòàïå (4), Áîá ãåíåðèðóåò äðóãîå ñëó÷àéíîå ÷èñëî SB è ïîñûëàåò Àëèñå EK(RA,,RB,SB) Òåïåðü Àëèñà è Áîá ìîãóò âû÷èñëèòü èñòèííûé ñåàíñîâûé êëþ÷ , SA ⊕ SB. Ýòîò êëþ÷ â äàëüíåéøåì èñïîëüçóåòñÿ äëÿ ñîîáùåíèé, êîòîðûìè îáìåíèâàþòñÿ Àëèñà è Áîá, K èñïîëüçóåòñÿ â êà÷åñòâå êëþ÷à îáìåíà êëþ÷àìè. Ïîñìîòðèì íà óðîâíè çàùèòû, ïðåäîñòàâëÿåìûå EKE. Âîññòàíîâëåííîå çíà÷åíèå S íå äàåò Åâå íèêàêîé èíôîðìàöèè î P, òàê êàê P íèêîãäà íå èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ ÷åãî-òî òàêîãî, ÷òî âåäåò íåïîñðåäñòâåííî ê S. Êðèïòîàíàëèòè÷åñêîå âñêðûòèå K òàêæå íåâîçìîæíî, K èñïîëüçóåòñÿ òîëüêî äëÿ øèôðîâàíèÿ ñëó÷àéíûõ äàííûõ, à S íèêîãäà íå øèôðóåòñÿ îòäåëüíî. Ðàñøèðåííûé EKE Ïðîòîêîë EKE ñòðàäàåò îäíèì ñåðüåçíûì íåäîñòàòêîì : îí òðåáóåò, ÷òîáû îáå ñòîðîíû çíàëè P.  áîëüøèíñòâå ñèñòåì àâòîðèçàöèè äîñòóïà õðàíÿòñÿ çíà÷åíèÿ îäíîíàïðàâëåííîé õýø-ôóíêöèè ïàðîëåé ïîëüçîâàòåëåé, à íå ñàìè ïàðîëè (ñì. ðàçäåë 3.2). Ïðîòîêîë Ðàñøèðåííûé EKE (Augmented EKE, A-EKE) èñïîëüçóåò â âàðèàíòå EKE íà áàçå Diffie-Hellman çíà÷åíèå îäíîíàïðàâëåííîé õýø-ôóíêöèè ïàðîëÿ ïîëüçîâàòåëÿ â êà÷åñòâå êëþ÷à ñâåðõøèôðîâàíèÿ. Çàòåì ïîëüçîâàòåëü ïîñûëàåò äîïîëíèòåëüíîå ñîîáùåíèå, îñíîâàííîå íà ðåàëüíîì ïàðîëå, ýòî ñîîáùåíèå óäîñòîâåðÿåò çàíîâî âûáðàííûé ñåàíñîâûé êëþ÷ . Âîò êàê ýòî ðàáîòàåò. Êàê è îáû÷íî, Àëèñà è Áîá õîòÿò ïðîâåðèòü ïîäëèííîñòü äðóã äðóãà è ãåíåðèðîâàòü îáùèé êëþ÷. Îíè âûáèðàþò êàêóþ-íèáóäü ñõåìó öèôðîâîé ïîäïèñè, â êîòîðîé â êà÷åñòâå çàêðûòîãî êëþ÷à ìîæåò èñïîëüçîâàòüñÿ ëþáîå ÷èñëî , à îòêðûòûé êëþ÷ ïîëó÷àåòñÿ èç çàêðûòîãî, à íå ãåíåðèðóåòñÿ îòäåëüíî . Ïðåêðàñíî ïîäõîäÿò àëãîðèòìû ElGamal è DSA. Ïàðîëü Àëèñû P (èëè, ìîæåò áûòü, êàêîå-íèáóäü ïðîñòîå õýøçíà÷åíèå ýòîãî ïàðîëÿ) áóäåò èñïîëüçîâàòüñÿ â êà÷åñòâå çàêðûòîãî êëþ÷à è êàê P'. (1) Àëèñà âûáèðàåò ñëó÷àéíûé ïîêàçàòåëü ñòåïåíè Ra è îòïðàâëÿåò EÐ( g rB mod n) (2) Áîá, êîòîðûé çíàåò òîëüêî P' è íå ìîæåò ïîëó÷èòü èç íåãî P, âûáèðàåò Rb è ïîñûëàåò EÐ( g rB mod n) (3) Àëèñà è Áîá âû÷èñëÿþò îáùèé ñåàíñîâûé êëþ÷ K= g r A *rB mod n. Íàêîíåö Àëèñà äîêàçûâàåò, ÷òî îíà ñàìà çíàåò P, à íå òîëüêî P', ïîñûëàÿ EK(SP(K)) Áîá, êîòîðûé çíàåò K è P', ìîæåò ðàñøèôðîâàòü è ïðîâåðèòü ïîäïèñü . Òîëüêî Àëèñà ìîãëà ïðèñëàòü ýòî ñîîáùåíèå, òàê êàê òîëüêî îíà çíàåò P. Ñàìîçâàíåö, äîáûâøèé êîïèþ ôàéëà ïàðîëåé Áîáà, ìîæåò ïîïûòàòüñÿ P, íî îí íå ñìîæåò ïîäïèñàòü ñåàíñîâûé êëþ÷ . Ñõåìà A-EKE íå ðàáîòàåò ñ âàðèàíòîì EKE, èñïîëüçóþùèì îòêðûòûå êëþ÷è , òàê êàê â ýòîì ïðîòîêîëå îäíà ñòîðîíà âûáèðàåò ñåàíñîâûé êëþ÷ è íàâÿçûâàåò åãî äðóãîé . Ýòî ïîçâîëÿåò âçëîìùèêó, çàïîëó÷èâøåìó Ð', âûïîëíèòü âñêðûòèå "÷åëîâåê â ñåðåäèíå" . Ïðèìåíåíèÿ EKE Áåëëîâèí è Ìåððèòò ïðåäëàãàþò èñïîëüçîâàòü ýòîò ïðîòîêîë äëÿ áåçîïàñíîé òåëåôîííîé ñâÿçè [109]: Ïðåäïîëîæèì, ÷òî ðàçâåðíóòà ñåòü øèôðóþùèõ òåëåôîííûõ àïïàðàòîâ . Åñëè êòî-íèáóäü õî÷åò âîñïîëüçîâàòüñÿ òàêèì òåëåôîíîì, òî ïîíàäîáèòñÿ îïðåäåëåííàÿ êëþ÷åâàÿ èíôîðìàöèÿ . Îáùåïðèíÿòûå ðåøåíèÿ. . . òðåáóþò, ÷òîáû ó çâîíÿùåãî áûë ôèçè÷åñêèé êëþ÷. Âî ìíîãèõ ñèòóàöèÿõ ýòî íåæåëàòåëüíî . EKE ïîçâîëÿåò èñïîëüçîâàòü êîðîòêèé, ââîäèìûé ñ êëàâèàò óðû ïàðîëü, îáåñïå÷èâàÿ ãîðàçäî áîëåå äëèííûé ñåàíñîâûé êëþ÷ . EKE ìîã áû áûòü ïîëåçåí è äëÿ ñîòîâîé ñâÿçè . Ìîøåííè÷åñòâî ïðåäñòàâëÿåò ñîáîé áîëüøóþ ïðîáëåìó ñîòîâîé òåëåô îíèè, EKE ìîæåò ïîìî÷ü çàùèòèòüñÿ îò íåãî (è îáåñïå÷èòü çàêðûòîñòü çâîíêà ) çà ñ÷åò ïðîäàæè òåëåôîíîâ, áåñïîëåçíûõ áåç
ââåäåíèÿ PIN-êîäà. Òàê êàê PIN-êîä íå õðàíèòñÿ â òåëåôîíå, åãî íåâîçìîæíî èçâëå÷ü èç óêðàäåííîãî ýêçåìïëÿðà.
Ãëàâíàÿ ñèëà EKE ñîñòîèò â òîì, ÷òî êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè è ñèììåòðè÷íàÿ êðèïòîãðàôèÿ îáúåäèíÿþòñÿ è óñèëèâàþò äðóã äðóãà :  îáùåé ïåðñïåêòèâå EKE ðàáîòàåò êàê óñèëèòåëü ñåêðåòíîñòè. Òî åñòü, åãî ìîæíî èñïîëüçîâàòü äëÿ óñèëåíèÿ ñðàâí èòåëüíî ñëàáûõ ñèììåòðè÷íûõ è àñèììåòðè÷íûõ ñèñòåì, èñïîëüçóåìûõ âìåñòå . Ðàññìîòðèì, íàïðèìåð, ðàçìåð êëþ÷à, íåîáõîäèìûé äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè ïðè èñïîëüçîâàíèè îáìåíà êëþ÷îì - ïîêàçàòåëåì ñòåïåíè . Êàê ïîêàçàëè ËàÌà÷÷à (LaMacchia) è Îäëûæêî (Odlyzko) [934], äàæå ìîäóëè ñ ðàçìåðàìè, ñ÷èòàâøèìèñÿ áåçîïàñíûìè, (à èìåííî, 192 áèòà) ÷óâñòâèòåëüíû ê âñêðûòèþ, çàíèìàþùåìó íåñêîëüêî ìèíóò êîìïüþòåðíîãî âðåìåíè . Íî èõ âñêðûòèå ñòàíîâèòñÿ íåâîçìîæíûì, åñëè íåîáõîäèìî ïåðåä ïðèìåíåíèåì âñêðûòèÿ óãàäàòü ï àðîëü. Ñ äðóãîé ñòîðîíû, ñëîæíîñòü âñêðûòèÿ îáìåíà êëþ÷àìè - ïîêàçàòåëÿìè ñòåïåíè ìîæåò áûòü èñïîëüçîâàíà äëÿ ñðûâà ï îïûòîê óãàäàòü ïàðîëü. Âîçìîæíîñòü âñêðûòèÿ óãàäûâàíèåì ïàðîëÿ çàâèñèò îò ñêîðîñòè ïðîâåðêè êàæäîãî ïðåäïîëîæåíèÿ . Åñëè äëÿ âûïîëíåíèÿ òàêîé ïðîâåðêè íåîáõîäèìî âûïîëíèòü îáìåí êëþ÷àìè - ïîêàçàòåëÿìè ñòåïåíè , òî îáùåå âðåìÿ ýôôåêòíî âîçðàñòàåò.
EKE çàïàòåíòîâàí [111].
22.6 Çàùèøåííûå ïåðåãîâîðû î êëþ÷å Ýòà ñõåìà òàêæå çàùèùàåò ïåðåãîâîðû î êëþ÷å îò ïëîõîãî âûáîðà ïàðîëåé è âñêðûòèé "÷åëîâåê â ñåðåäèíå" [47, 983].  íåé èñïîëüçóåòñÿ õýø-ôóíêöèÿ äâóõ ïåðåìåííûõ, îáëàäàþùàÿ îñîáåííûì ñâîéñòâîì : îíà ÷àñòî ïðèâîäèò ê ñòîëêíîâåíèÿì ïî ïåðâîé ïåðåìåííîé, è ïðàêòè÷åñêè íèêîãäà - ïî âòîðîé . H'(x,y) = H(H(k,x) mod 2m, x), ãäå H(k,x) - îáû÷íàÿ ôóíêöèÿ k è x Âîò êàê âûãëÿäèò ýòîò ïðîòîêîë. Àëèñà è Áîá èñïîëüçóþò îáùèé ñåêðåòíûé ïàðîëü P è óæå îáìåíÿëèñü ñåêðåòíûì êëþ÷îì K, èñïîëüçóÿ îáìåí êëþ÷îì Dime-Hellman. Îíè èñïîëüçóþò P äëÿ ïðîâåðêè, ÷òî èõ ñåàíñîâûå êëþ÷è îäèíàêîâû (è ÷òî Åâà íå ïðåäïðèíÿëà âñêðûòèå "÷åëîâåê â ñåðåäèíå" ), íå ïîçâîëÿÿ Åâå ïîëó÷èòü P. (1) Àëèñà ïîñûëàåò Áîáó H'(P,K) (2) Áîá âû÷èñëÿåò H'(P,K) è ñðàâíèâàåò ðåçóëüòàò ñî çíà÷åíèåì, ïðèñëàííûì Àëèñîé . Åñëè îíè ñîâïàäàþò, îí ïîñûëàåò Àëèñå H'(H(P,K)) (3) Àëèñà âû÷èñëÿåò H'(H(P,K)) è ñðàâíèâàåò ðåçóëüòàò ñî çíà÷åíèåì, ïîëó÷åííûì îò Áîáà . Åñëè Åâà ïûòàåòñÿ âûïîëíèòü âñêðûòèå "÷åëîâåê â ñåðåäèíå", îíà èñïîëüçóåò îäèí êëþ÷, K1, îáùèé ñ Àëèñîé, è äðóãîé, K2, îáùèé ñ Áîáîì. ×òîáû îáìàíóòü Áîáà íà ýòàïå (2), åé ïðèäåòñÿ âû÷èñëèòü îáùèé ïàðîëü è çàòåì ïîñëàòü Áîáó H'(P,K2). Ïðè èñïîëüçîâàíèè îáû÷íîé õýø-ôóíêöèè îíà ìîæåò ïåðåáèðàòü ÷àñòî âñòðå÷à þùèåñÿ ïàðîëè, ïîêà íå óãàäàåò ïðàâèëüíûé , è çàòåì óñïåøíî ïðîíèêíóòü â ïðîòîêîë . Íî ïðè èñïîëüçîâàíèè ïðåäëàãàåìîé õýø-ôóíêöèè, ìíîãèå ïàðîëè äàþò îäíî è òî æå çíà÷åíèå ïðè õýøèðîâàíèè ñ êëþ÷îì K1. Ïîýòîìó, êîãäà îíà íàõîäèò ñîâïàäåíèå, òî ñêîðåå âñåãî ýòî íåïðàâèëüíûé ïàðîëü, è â ýòîì ñëó÷àå Áîáà îáìàíóòü íå óäàñòñÿ.
22.7 Ðàñïðåäåëåíèå êëþ÷à äëÿ êîíôåðåíöèè è ñåêðåòíàÿ øèðîêîâåùàòåëüíàÿ ïåðåäà÷à Àëèñà õî÷åò ïåðåäàòü ñîîáùåíèå M ñðàçó íåñêîëüêèì ïîëó÷àòåëÿì. Îäíàêî îíà ñîâñåì íå õî÷åò, ÷òîáû êòî óãîäíî ñìîã ïðî÷åñòü åãî.  äåéñòâèòåëüíîñòè, åé íóæíî, ÷òîáû òîëüêî ïîëó÷àòåëè èç îïðåäåëåííîãî ïîäìíîæ åñòâà ìîãëè ïðàâèëüíî ðàñêðûòü M. Ó âñåõ îñòàëüíûõ äîëæíà ïîëó÷èòüñÿ ÷åïóõà . Àëèñà ìîæåò èñïîëüçîâàòü äëÿ êàæäîãî ïîëó÷àòåëÿ îòëè÷íûé êëþ÷ (ñåêðåòíûé èëè îòêðûòûé) . Îíà øèôðóåò ñîîáùåíèå êàêèì-íèáóäü ñëó÷àéíûì êëþ÷îì K. Çàòåì îíà øèôðóåò êîïèþ K êàæäûì èç êëþ÷åé âûáðàííûõ ïîëó÷àòåëåé ñîîáùåíèÿ. Íàêîíåö îíà øèðîêîâåùàòåëüíî ïîñûëàåò çàøèôðîâàííîå ñîîáùåíèå , à çàòåì âñå çàøèôðîâàííûå K. Ñëóøàþùèé ïåðåäà÷ó Áîá ëèáî ïûòàåòñÿ ðàñøèôðîâàòü âñå K ñâîèì ñåêðåòíûì êëþ÷îì, ïûòàÿñü íàéòè ïðàâèëüíûé, ëèáî, åñëè Àëèñà íå çàáûëà ïåðå÷èñëèòü ïîëó÷àòåëåé ñâîåãî ñîîáùåíèÿ, îí èùåò ñâîå èìÿ, ñîïðîâîæäàåìîå çàøèôðîâàííûì êëþ÷îì . Òàêæå áóäåò ðàáîòàòü è ðàíåå ðàññìîòðåííàÿ êðèïòîãðàôèÿ ñ íåñêîëüêèìè êëþ÷àìè. Äðóãîé ñïîñîá ïðåäëàãàåòñÿ â [352]. Ñíà÷àëà êàæäûé èç ïîëó÷àòåëåé äîãîâàðèâàåòñÿ ñ Àëèñîé îá îáùåì äëÿ íèõ äâîèõ êëþ÷å, êîòîðûé äëèííåå ëþáîãî âîçìîæíîãî øèôðîâàííîãî ñîîáùåíèÿ . Âñå ýòè êëþ÷è äîëæíû áûòü âçàèìíî ïðîñòûìè. Îíà øèôðóåò ñîîáùåíèå ñëó÷àéíûì êëþ÷îì K. Çàòåì îíà âû÷èñëÿåò îäíî öåëîå ÷èñëî R, êîòîðîå ïî ìîäóëþ ñåêðåòíîãî êëþ÷à êîíãðóýíòíî K, åñëè ýòîò ñåêðåòíûé êëþ÷ ïðåäïîëàãàåòñÿ èñïîëüçîâàòü äëÿ ðàñøèôðîâêè ñîîáùåíèÿ, è êîíãðóýíòíî íóëþ â ïðîòèâíîì ñë ó÷àå. Íàïðèìåð, åñëè Àëèñà õî÷åò, ÷òîáû ñåêðåò ïîëó÷èëè Áîá, Êýðîë è Ýëëåí, íî íå Äýéâ è Ôðýíê, îíà øèôðóåò
ñîîáùåíèå êëþ÷îì K è çàòåì âû÷èñëÿåò òàêîå R, ÷òî R ≡ K (mod KB) R ≡ K (mod KC) R ≡ 0 (mod KD) R ≡ K (mod KE) R ≡ 0 (mod KF) Ýòî ïðîñòàÿ àëãåáðàè÷åñêàÿ ïðîáëåìà, êîòîðàÿ ëåãêî ìîæåò áûòü ðåøåíà Àëèñîé . Êîãäà ýòî ñîîáùåíèå áóäåò ïðèíÿòî ïîëó÷àòåëÿìè, îíè âû÷èñëÿò çíà÷åíèå ïîëó÷åííîãî êëþ÷à ïî ìîäóëþ èõ ñåêðåòíîãî êëþ÷à . Òå, êîìó ïðåäíàçíà÷àëîñü ýòî ñîîáùåíèå, â ðåçóëüòàòå âû÷èñëåíèÿ ïîëó÷àò íóæíûé êëþ÷.  ïðîòèâíîì ñëó÷àå ð åçóëüòàòîì áóäåò 0. Åùå îäèí, òðåòèé, ïóòü, èñïîëüçóþùèé ïîðîãîâóþ ñõåìó (ñì. ðàçäåë 3.7), ïðåäëàãàåòñÿ â [141]. Êàê è â äðóãèõ ñïîñîáàõ êàæäûé ïîòåíöèàëüíûé ïîëó÷àòåëü ïîëó÷àåò ñåêðåòíûé êëþ÷ . Ýòîò êëþ÷ ÿâëÿåòñÿ òåíüþ â åùå íå ñîçäàííîé ïîðîãîâîé ñõåìå. Àëèñà ñîõðàíÿåò ðÿä ñåêðåòíûõ êëþ÷åé äëÿ ñåáÿ, âíîñÿ íåêîòîðóþ íåïðåäñêàçó åìîñòü â ñèñòåìó. Ïóñòü âñåãî ñóùåñòâóåò k âîçìîæíûõ ïîëó÷àòåëåé. Òîãäà äëÿ øèðîêîâåùàòåëüíîé ïåðåäà÷è M Àëèñà øèôðóåò M êëþ÷îì K è äåëàåò ñëåäóþùåå. (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî j. Ýòî ÷èñëî ïðèçâàíî çàìàñêèðîâàòü êîëè÷åñòâî ïîëó÷àòåëåé ñîîáùåíèÿ. Îíî íå äîëæíî áûòü ñëèøêîì áîëüøèì è äàæå ìîæåò ðàâíÿòüñÿ íóëþ . (2) Àëèñà ñîçäàåò ïîðîãîâóþ ñõåìó (k + j + 1, 2k + j + 1), â êîòîðîé: K - ýòî ñåêðåò. Ñåêðåòíûå êëþ÷è àäðåñàòîâ ñîîáùåíèÿ ñëóæàò òåíÿìè . Ñåêðåòíûå êëþ÷è ïîëüçîâàòåëåé, êîòîðûõ íåò ñðåäè ïîëó÷àòåëåé ñîîáùåíèÿ, íå ÿâëÿþòñÿ òåíÿìè . j òåíåé âûáèðàþòñÿ ñëó÷àéíûì îáðàçîì, íå ñîâïàäàÿ íè ñ îäíèì ñåêðåòíûì êëþ÷îì. (3) Àëèñà øèðîêîâåùàòåëüíî ïåðåäàåò k + j ñëó÷àéíî âûáðàííûõ òåíåé, íè îäíà èç êîòîðûõ íå ñîâïàäàåò ñ òåíÿìè ýòàïà (2). (4) Êàæäûé èç ñëóøàòåëåé, ïðèíÿâøèõ øèðîêîâåùàòåëüíîå ñîîáùåíèå, äîáàâëÿåò ñâîþ òåíü ê ïîëó÷åííûì k + j òåíÿì. Åñëè äîáàâëåíèå ñâîåé òåíè ïîçâîëÿåò ïîëüçîâàòåëþ âû÷èñëèòü ñåêðåò, òî åìó óäàëîñü îòêðûòü êëþ÷.  ïðîòèâíîì ñëó÷àå - íå óäàëîñü . Äðóãîé ïîäõîä ìîæíî íàéòè â [885, 886, 1194]. È åùå îäèí - â [1000]. Ðàñïðåäåëåíèå êëþ÷åé äëÿ êîíôåðåíöèè Ýòîò ïðîòîêîë ïîçâîëÿåò ãðóïïå èç n ïîëüçîâàòåëåé äîãîâîðèòüñÿ î ñåêðåòíîì êëþ÷å, èñïîëüçóÿ òîëüêî í åñåêðåòíûå êàíàëû. Ãðóïïà èñïîëüçóåò äâà îáùèõ áîëüøèõ ïðîñòûõ ÷èñëà p è q, à òàêæå ãåíåðàòîð g òîé æå äëèíû, ÷òî è q. (1) Ïîëüçîâàòåëü i, ãäå i îò 1 äî n, âûáèðàåò ñëó÷àéíîå ÷èñëî ri , ìåíüøåå q, è øèðîêîâåùàòåëüíî îòïðàâëÿåò zi = g ri mod p (2) Êàæäûé ïîëüçîâàòåëü ïðîâåðÿåò, ÷òî zi q ≡ 1 (mod p) äëÿ âñåõ i îò 1 äî n. (3) i-ûé ïîëüçîâàòåëü øèðîêîâåùàòåëüíî ïåðåäàåò xi = (zi+1/zi-1) ri mod p (4) i-ûé ïîëüçîâàòåëü âû÷èñëÿåò K = (zi-1)
nri
*xi n-1*xi+1n-2* . . . *xi-2 mod p
Âñå âû÷èñëåíèÿ èíäåêñîâ â ïðèâåäåííîì ïðîòîêîëå - i-1, i-2 è i+1 - ïðîâîäÿòñÿ mod n. Ïî îêîí÷àíèè ïðîòîêîëà ó âñåõ ÷åñòíûõ ïîëüçîâàòåëåé îêàæåòñÿ îäèí è òîò æå K. À âñå îñòàëüíûå íè÷åãî íå ïîëó÷àò . Îäíàêî ýòîò ïðîòîêîë íå ìîæåò óñòîÿòü ïåðåä âñêðûòèåì "÷åëîâåê â ñåðåäèíå" . Äðóãîé ïðîòîêîë, íå òàêîé õîðîøèé, ïðèâåäåí â [757]. Tateboyashi-Matsuzaki-Newman Ýòîò ïðîòîêîë ðàñïðåäåëåíèÿ êëþ÷åé ïîäõîäèò äëÿ èñïîëüçîâàíèÿ â ñåòÿõ [1521]. Àëèñà õî÷åò ñ ïîìîùüþ Òðåíòà, KDC, ãåíåðèðîâàòü êëþ÷ äëÿ ñåàíñà ñâÿçè ñ Áîáîì. Âñåì ó÷àñòíèêàì èçâåñòåí îòêðûòûé êëþ÷ Òðåíòà
n. Òðåíòó èçâåñòíû äâà ïðîñòûõ ìíîæèòåëÿ n, è, ñëåäîâàòåëüíî, îí ìîæåò ëåãêî âû÷èñëÿòü êâàäðàòíûå êîðíè ïî ìîäóëþ n. Ñëåäóþùèé ïðîòîêîë íå ñîäåðæèò íåêîòîðûõ äåòàëåé, íî ïîçâîëÿåò ïîëó÷èòü îáùåå ïðåäñòàâëåíèå . (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî rA è ïîñûëàåò Òðåíòó rA3 mod n (2) Òðåíò ñîîáùàåò Áîáó, ÷òî êòî-òî õî÷åò îáìåíÿòüñÿ ñ íèì êëþ÷îì . (3) Áîá âûáèðàåò ñëó÷àéíîå ÷èñëî r è ïîñûëàåò Òðåíòó rÂ3 mod n (4) Òðåíò, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ðàñøèôðîâûâàåò rA è rÂ. Îí ïîñûëàåò Àëèñå rA ⊕ r (5) Àëèñà âû÷èñëÿåò (rA ⊕ rÂ) ⊕ rA = r Îíà èñïîëüçóåò r äëÿ áåçîïàñíîãî ñåàíñà ñâÿçè ñ Áîáîì . Ïðîòîêîë âûãëÿäèò õîðîøî, íî ñîäåðæèò çàìåòíûé èçúÿí. Êýðîë ìîæåò ïîäñëóøàòü ýòàï(3) è èñïîëüçîâàòü ýòó èíôîðìàöèþ, âîñïîëüçîâàâøèñü ïîìîùüþ äîâåð÷èâîãî Òðåíòà è ñâîåãî ñîîáùíèêà Äýéâà, ÷òîáû ðàñêðûòü [1472]. (1) Êýðîë âûáèðàåò ñëó÷àéíîå ÷èñëî rÑ è ïîñûëàåò Òðåíòó rÂ3 rÑ3 mod n (2) Òðåíò ñîîáùàåò Äýéâó, ÷òî êòî-òî õî÷åò îáìåíÿòüñÿ ñ íèì êëþ÷îì . (3) Äýéâ âûáèðàåò ñëó÷àéíîå ÷èñëî r, è ïîñûëàåò Òðåíòó r,3 mod n (4) Òðåíò, èñïîëüçóÿ ñâîé çàêðûòûé êëþ÷, ðàñøèôðîâûâàåò rÑ è r,. Îí ïîñûëàåò Êýðîë (r rC mod n) ⊕ r, (5) Äýéâ ïîñûëàåò r, Êýðîë. (6) Êýðîë èñïîëüçóåò rC è r, äëÿ ïîëó÷åíèÿ rÂ. Îíà èñïîëüçóåò r äëÿ ðàñøèôðîâûâàíèÿ ïåðåãîâîðîâ Àëèñû è Áîáà. Ýòî ïëîõî.
Ãëàâà 23 Ñïåöèàëüíûå àëãîðèòìû äëÿ ïðîòîêîëîâ 23.1 Êðèïòîãðàôèÿ ñ íåñêîëüêèìè îòêðûòûìè êëþ÷àìè Ýòî îáîáùåíèå RSA (ñì. ðàçäåë 19.3) [217, 212]. Ìîäóëü n ÿâëÿåòñÿ ïðîèçâåäåíèåì äâóõ ïðîñòûõ ÷èñåë p è q. Îäíàêî âìåñòî e è d, äëÿ êîòîðûõ ed ≡ 1 mod ((p-1)(q-1)), âûáèðàåòñÿ t êëþ÷åé Ki , äëÿ êîòîðûõ âûïîëíÿåòñÿ K1* K2*. . . *Kt ≡ 1 mod ((p-1)(q-1)) Òàê êàê
M K1 * K2 *...* Kt = M òî ýòà ñõåìà îêàçûâàåòñÿ ñõåìîé ñ íåñêîëüêèìè êëþ÷àìè, îïèñàííàÿ â ðàçäåëå 3.5. Åñëè, íàïðèìåð, èñïîëüçóåòñÿ ïÿòü êëþ÷åé, òî ñîîáùåíèå, çàøèôðîâàííîå êëþ÷àìè K3 è K5, ìîæåò áûòü ðàñøèôðîâàíî ñ ïîìîùüþ K1, K2 è K4. C = M K3 * K5 mod n M = C K1 * K2 * K 4 mod n Îäíèì èç ïðèìåíåíèé ýòîé ñõåìû ÿâëÿåòñÿ ïîäïèñàíèå äîêóìåíòà íåñêîëüêèìè ëþäüìè . Ïðåäñòàâèì ñèòóàöèþ, êîãäà äëÿ òîãî, ÷òîáû äîêóìåíò áûë äåéñòâèòåëåí, îí äîëæåí áûòü ïîäïèñàí è Àëèñîé, è Áîáîì . Èñïîëüçóþòñÿ òðè êëþ÷à: K1, K2 è K3. Àëèñà è Áîá ïîëó÷àþò ïî îäíîìó êëþ÷ó èç ïåðâûõ äâóõ , à òðåòèé îïóáëèêîâûâàåòñÿ. (1) Ñíà÷àëà Àëèñà ïîäïèñûâàåò M è ïîñûëàåò åãî Áîáó. M' = M K1 mod n (2) Áîá ìîæåò âîññòàíîâèòü M ïî M'. M = M ' K3 * K5 mod n (3) Îí ìîæåò òàêæå äîáàâèòü ñâîþ ïîäïèñü . M'' = M ' K 2 mod n (4) Ïðîâåðèòü ïîäïèñè ìîæíî ïðè ïîìîùè îòêðûòîãî êëþ÷à K3. M = M ' ' K3 mod n Îáðàòèòå âíèìàíèå, ÷òî äëÿ ðàáîòîñïîñîáíîñòè ýòîé ñèñòåìû íóæíà çàñëóæèâàþùàÿ äîâåðèÿ ñòîðîíà, êîò îðàÿ óñòàíîâèëà áû ñèñòåìó è âûäàëà êëþ÷è Àëèñå è Áîáó . Òà æå ïðîáëåìà ñóùåñòâóåò è â ñõåìå [484]. Áîëåå òîíêàÿ ñõåìà îïèñàíà â [695, 830, 700], Íî óñèëèÿ, ïðåäïðèíèìàåìûå äëÿ ïðîâåðêè, ïðîïîðöèîíàëüíû êîëè÷ åñòâó ïîäïèñûâàþùèõ. Íîâûå ñõåìû [220, 1200], îñíîâàííûå íà ñõåìàõ èäåíòèôèêàöèè ñ íóëåâûì çíàíèåì, ïðåîäîëåâàþò ýòè íåäîñòàòêè ïðåäøåñòâóþùèõ ñè ñòåì.
23.2 Àëãîðèòìû ðàçäåëåíèÿ ñåêðåòà  ðàçäåëå 3.7 ÿ ðàññìàòðèâàë èäåþ, èñïîëüçóåìóþ â ñõåìàõ ðàçäåëåíèÿ ñåêðåòà . ×åòûðå ïðèâåäåííûõ íèæå ðàçëè÷íûõ àëãîðèòìà ïðåäñòàâëÿþò ñîáîé ÷àñòíûå ñëó÷àè îáùåãî òåîðåòè÷åñêîãî ïîäõîäà [883]. Ñõåìà èíòåðïîëÿöèîííûõ ìíîãî÷ëåíîâ Ëàãðàíæà Äëÿ ñîçäàíèÿ ïîðîãîâîé ñõåìà Àäè Øàìèð âîñïîëüçîâàëñÿ óðàâíåíèÿìè äëÿ ìíîãî÷ëåíîâ â êîíå÷íîì ïîëå [1414]. Âûáåðåì ïðîñòîå ÷èñëî p, êîòîðîå áîëüøå êîëè÷åñòâà âîçìîæíûõ òåíåé è áîëüøå ñàìîãî áîëüøîãî èç âîçìîæíûõ ñåêðåòîâ. ×òîáû ñäåëàòü ñåêðåò îáùèì, ñãåíåðèðóåì ïðîèçâîëüíûé ìíîãî÷ëåí ñòåïåíè m-1. Íàïðèìåð, åñëè íóæíî ñîçäàòü ïîðîãîâóþ ñõåìó (3,n) (äëÿ âîññòàíîâëåíèÿ M ïîòðåáóåòñÿ òðè òåíè), ãåíåðèðóåòñÿ êâàäðàòè÷íûé ìíîãî÷ëåí (ax2 + bx + M) mod p ãäå p - ýòî ñëó÷àéíîå ïðîñòîå ÷èñëî, áîëüøåå ëþáîãî èç êîýôôèöèåíòîâ . Êîýôôèöèåíòû a è b âûáèðàþòñÿ ñëó÷àéíûì îáðàçîì, îíè õðàíÿòñÿ â òàéíå è îòáðàñûâàþòñÿ ïîñëå òîãî, êàê ðàñïðåäåëÿþòñÿ òåíè . M - ýòî ñîîáùåíèå. Ïðîñòîå ÷èñëî äîëæíî áûòü îïóáëèêîâàíî . Òåíè ïîëó÷àþòñÿ ñ ïîìîùüþ âû÷èñëåíèÿ ìíîãî÷ëåíà â n ðàçëè÷íûõ òî÷êàõ:
ki =F(xi ) Äðóãèìè ñëîâàìè, ïåðâîé òåíüþ ìîæåò áûòü çíà÷åíèå ìíîãî÷ëåíà ïðè x = 1, âòîðîé òåíüþ - çíà÷åíèå ìíîãî÷ëåíà ïðè x = 2, è ò.ä. Òàê êàê â êâàäðàòè÷íûõ ìíîãî÷ëåíàõ òðè íåèçâåñòíûõ êîýôôèöèåíòà , a, b è M, äëÿ ñîçäàíèÿ òðåõ óðàâíåíèé ìîæíî èñïîëüçîâàòü ëþáûå òðè öåëè . Îäíîé èëè äâóõ òåíåé íå õâàòèò, à ÷åòûðåõ èëè ïÿòè òåíåé áóäåò ìíîãî . Íàïðèìåð, ïóñòü M ðàâíî 11. ×òîáû ñîçäàòü ïîðîãîâóþ ñõåìó (3, 5), â êîòîðîé ëþáûå òðîå èç ïÿòè ÷åëîâåê ìîãóò âîññòàíîâèòü M, ñíà÷àëà ïîëó÷èì êâàäðàòè÷íîå óðàâíåíèå (7 è 8 - ñëó÷àéíî âûáðàííûå ÷èñëà chosen randomly): F(x) = (7x 2 + 5x + 11) mod 13 Ïÿòüþ òåíÿìè ÿâëÿþòñÿ: k1 = F(1) = 7 + 8 + 11≡ 0 (mod 13) k2 = F(2) = 28 + 16 + 11≡ 3 (mod 13) k3 = F(3) = 63 + 24 + 11≡ 7 (mod 13) k4 = F(4) = 112 + 32 + 11≡ 12 (mod 13) k5 = F(5) = 175 + 40 + 11≡ 5 (mod 13) ×òîáû âîññòàíîâèòü M ïî òðåì òåíÿì, íàïðèìåð, k2, k3 è k5, ðåøàåòñÿ ñèñòåìà ëèíåéíûõ óðàâíåíèé : a*22 + b*2 + M = 3 (mod 13) a*32 + b*3 + M = 7 (mod 13) a*52 + b*5 + M = 5 (mod 13) Ðåøåíèåì áóäóò a = 7, b = 8 è M = 11. Èòàê, M ïîëó÷åíî. Ýòó ñõåìó ðàçäåëåíèÿ ìîæíî ëåãêî ðåàëèçîâàòü äëÿ áîëüøèõ ÷èñåë . Åñëè âû õîòèòå ðàçáèòü ñîîáùåíèå íà 30 ðàâíûõ ÷àñòåé òàê, ÷òîáû âîññòàíîâèòü ñîîáùåíèå ìîæíî áûëî, îáúåäèíèâ ëþáûå øåñòü èç íèõ , âûäàéòå êàæäîìó èç 30 ÷åëîâåê çíà÷åíèÿ ìíîãî÷ëåíà ïÿòîé ñòåïåíè . F(x) = ax5 + bx4 + cx3 + dx2 + ex + M (mod p) Øåñòü ÷åëîâåê ìîãóò øåñòü íåèçâåñòíûõ (âêëþ÷àÿ M), íî ïÿòåðûì íå óäàñòñÿ óçíàòü íè÷åãî îá M. Íàèáîëåå âïå÷àòëÿþùèì ìîìåíòîì ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà ÿâëÿåòñÿ òî, ÷òî, åñëè êîýôôèöèå íòû âûáðàíû ñëó÷àéíûì îáðàçîì, ïÿòü ÷åëîâåê äàæå ïðè ïîìîùè áåñêîíå÷íûõ âû÷èñëèòåëüíûõ ìîùíîñòåé íå ñìîãóò óçíàòü íè÷åãî, êðîìå äëèíû ñîîáùåíèÿ (êîòîðàÿ è òàê èì èçâåñòíà) . Ýòî òàêæå áåçîïàñíî, êàê îäíîðàç îâûé áëîêíîò, ïîïûòêà âûïîëíèòü èñ÷åðïûâàþùèé ïîèñê (òî åñòü, ïåðåáîð âñåõ âîçìîæíûõ øåñòûõ òåíåé ) ïîêàæåò, ÷òî ëþáîå âîçìîæíîå ñîîáùåíèå îñòàíåòñÿ ñåêðåòíûì . Ýòî ñïðàâåäëèâî äëÿ âñåõ ïðåäñòàâëåííûõ â ýòîé êíèãå ñõåì ðàçäåëåíèÿ ñåêðåòà. Âåêòîðíàÿ ñõåìà Äæîðäæ Áëýêëè (George Blakley) èçîáðåë ñõåìó, èñïîëüçóþùóþ ïîíÿòèå òî÷åê â ïðîñòðàíñòâå [182]. Ñîîáùåíèå îïðåäåëÿåòñÿ êàê òî÷êà â m-ìåðíîì ïðîñòðàíñòâå. Êàæäàÿ òåíü - ýòî óðàâíåíèå (m-1)-ìåðíîé ãèïåðïëîñêîñòè, ñîäåðæàùåé ýòó òî÷êó. Íàïðèìåð, åñëè äëÿ âîññòàíîâëåíèÿ ñîîáùåíèÿ íóæíû òðè òåíè, òî îíî ÿâëÿåòñÿ òî÷êîé â òðåõìåðíîì ïð îñòðàíñòâå. Êàæäàÿ òåíü ïðåäñòàâëÿåò ñîáîé èíóþ ïëîñêîñòü . Çíàÿ îäíó òåíü, ìîæíî óòâåðæäàòü, ÷òî òî÷êà íàõ îäèòñÿ ãäå-òî íà ïëîñêîñòè. Çíàÿ äâå òåíè - ÷òî îíà íàõîäèòñÿ ãäå-òî íà ëèíèè ïåðåñå÷åíèÿ äâóõ ïëîñêîñòåé . Çíàÿ òðè òåíè, ìîæíî òî÷íî îïðåäåëèòü, ÷òî òî÷êà íàõîäèòñÿ íà ïåðåñå÷åíèè òðåõ ïëîñêîñòåé . Asmuth-Bloom  ýòîé ñõåìå èñïîëüçóþòñÿ ïðîñòûå ÷èñëà [65]. Äëÿ (m, n)-ïîðîãîâîé ñõåìû âûáèðàåòñÿ áîëüøîå ïðîñòîå ÷èñëî p, áîëüøåå M. Çàòåì âûáèðàþòñÿ ÷èñëà, ìåíüøèå p - d1, d2, . . . dn, äëÿ êîòîðûõ: 1. Çíà÷åíèÿ di óïîðÿäî÷åíû ïî âîçðàñòàíèþ, di < di+1 2. Êàæäîå di âçàèìíî ïðîñòî ñ ëþáûì äðóãèì di 3. d1*d2* . . .*dm > p*dn-m+2*dn-m+3*. . .*dn ×òîáû ðàñïðåäåëèòü òåíè, ñíà÷àëà âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî r è âû÷èñëÿåòñÿ
M' = M + rp Òåíÿìè, ki , ÿâëÿþòñÿ ki = M' mod di Îáúåäèíèâ ëþáûå m òåíåé, ìîæíî âîññòàíîâèòü M, èñïîëüçóÿ êèòàéñêóþ òåîðåìó îá îñòàòêàõ , íî ýòî íåâîçìîæíî ñ ïîìîùüþ ëþáûõ m-1 òåíåé. Ïîäðîáíîñòè ïðèâåäåíû â [65]. Karnin-Greene-Hellman  ýòîé ñõåìå èñïîëüçóåòñÿ ìàòðè÷íîå óìíîæåíèå [818]. Âûáèðàåòñÿ n+1 m-ìåðíûõ âåêòîðîâ, V0, V1, . . . Vn, òàê, ÷òî ðàíã ëþáîé ìàòðèöû ðàçìåðîì m*m, îáðàçîâàííîé èç ýòèõ âåêòîðîâ, ðàâåí m. Âåêòîð U - ýòî âåêòîð ðàçìåðíîñòè m+1. M - ýòî ìàòðè÷íîå ïðîèçâåäåíèå U·V0. Òåíÿìè ÿâëÿþòñÿ ïðîèçâåäåíèÿ U·Vi , ãäå i ìåíÿåòñÿ îò 1 äî n. Ëþáûå m òåíåé ìîæíî èñïîëüçîâàòü äëÿ ðåøåíèÿ ñèñòåìû ëèíåéíûõ óðàâíåíèé ðàçìåðíîñòè m*m, íåèçâåñòíûìè ÿâëÿþòñÿ êîýôôèöèåíòû U. U·V0 ìîæíî âû÷èñëèòü ïî U. Èñïîëüçóÿ ëþáûå m-1 òåíåé, ðåøèòü ñèñòåìó óðàâíåíèé è, òàêèì îáðàçîì, âîññòàíîâèòü ñåêðåò íåâîçìîæíî . Áîëåå ñëîæíûå ïîðîãîâûå ñõåìû  ïðåäûäóùèõ ïðèìåðàõ ïîêàçàíû òîëüêî ïðîñòåéøèå ïîðîãîâûå ñõåìû : ñåêðåò äåëèòñÿ íà n òåíåé òàê, ÷òîáû, îáúåäèíèâ ëþáûå m èç íèõ, ìîæíî áûëî ðàñêðûòü ñåêðåò . Íà áàçå ýòèõ àëãîðèòìîâ ìîæíî ñîçäàòü íàìíîãî áîëåå ñëîæíûå ñõåìû.  ñëåäóþùèõ ïðèìåðàõ áóäåò èñïîëüçîâàòüñÿ àëãîðèòì Øàìèðà, õîòÿ áóäóò ðàáîòàòü è âñå îñòàëüíûå. ×òîáû ñîçäàòü ñõåìó, â êîòîðîé îäèí èç ó÷àñòíèêîâ âàæíåå äðóãèõ, åìó âûäàåòñÿ áîëüøå òåíåé . Åñëè äëÿ âîññòàíîâëåíèÿ ñåêðåòà íóæíî ïÿòü òåíåé, è ó êîãî-òî åñòü òðè òåíè, à ó âñåõ îñòàëüíûõ - ïî îäíîé , ýòîò ÷åëîâåê âìåñòå ñ ëþáûìè äâóìÿ äðóãèìè ìîæåò âîññòàíîâèòü ñåêðåò . Áåç åãî ó÷àñòèÿ äëÿ âîññòàíîâëåíèÿ ñåêðåòà ïîòð åáóåòñÿ ïÿòü ÷åëîâåê. Ïî íåñêîëüêî òåíåé ìîãóò ïîëó÷èòü äâà ÷åëîâåêà è áîëåå . Êàæäîìó ÷åëîâåêó ìîæåò áûòü âûäàíî îòëè÷íîå ÷èñëî òåíåé. Íåçàâèñèìî îò òîãî, ñêîëüêî òåíåé áûëî ðîçäàíî, äëÿ âîññòàíîâëåíèÿ ñåêðåòà ïîòðåáóåòñÿ ëþáûå m èç íèõ. Íè îäèí ÷åëîâåê, íè öåëàÿ ãðóïïà íå ñìîãóò âîññòàíîâèòü ñåêðåò, îáëàäàÿ òîëüêî m-1 òåíÿìè. Äëÿ äðóãèõ ñõåì ïðåäñòàâèì ñöåíàðèé ñ äâóìÿ âðàæäåáíûìè äåëåãàöèÿìè . Ìîæíî ðàñïðåäåëèòü ñåêðåò òàê, ÷òîáû äëÿ åãî âîññòàíîâëåíèÿ ïîòðåáîâàëîñü äâîå èç 7 ó÷àñòíèêîâ äåëåãàöèè A è òðîå èç 12 ó÷àñòíèêîâ äåëåãàöèè B. Ñîçäàåòñÿ ìíîãî÷ëåí ñòåïåíè 3, êîòîðûé ÿâëÿåòñÿ ïðîèçâåäåíèåì ëèíåéíîãî è êâàäðàòíîãî âûðàæåíèé . Êàæäîìó ó÷àñòíèêó äåëåãàöèè A âûäàåòñÿ òåíü, êîòîðàÿ ÿâëÿåòñÿ çíà÷åíèåì ëèíåéíîãî âûðàæåíèÿ, à ó÷àñòí èêàì äåëåãàöèè B âûäàþòñÿ çíà÷åíèÿ êâàäðàòè÷íîãî âûðàæåíèÿ . Äëÿ âîññòàíîâëåíèÿ ëèíåéíîãî âûðàæåíèÿ äîñòàòî÷íû ëþáûå äâå òåíè ó÷àñòíèêîâ äåëåãàöèè A, íî íåçàâèñèìî îò òîãî, ñêîëüêî äðóãèõ òåíåé åñòü ó äåëåãàöèè , åå ó÷àñòíèêè íå ñìîãóò íè÷åãî óçíàòü î ñåêðåòå . Àíàëîãè÷íî äëÿ äåëåãàöèè B: åå ó÷àñòíèêè ìîãóò ñëîæèòü òðè òåíè, âîññòàíàâëèâàÿ êâàäðàòíîå âûðàæåíèå, íî äðóãóþ èíôîðìàöèþ, íåîáõîäèìóþ äëÿ âîññòàíîâëåíèÿ ñåêðåòà â öåëîì, îíè ïîëó÷èòü íå ñìîãóò . Òîëüêî ïåðåìíîæèâ ñâîè âûðàæåíèÿ, ó÷àñòíèêè äâóõ äåëåãàöèé ñìîãóò âîññòàíîâèòü ñåêðåò .  îáùåì ñëó÷àå, ìîæåò áûòü ðåàëèçîâàíà ëþáàÿ ìûñëèìàÿ ñõåìà ðàçäåëåíèÿ ñåêðåòà . Ïîòðåáóåòñÿ òîëüêî íàïèñàòü ñèñòåìó óðàâíåíèé, ñîîòâåòñòâóþùèõ êîíêðåòíîé ñèñòåìå. Âîò íåñêîëüêî ïðåêðàñíûõ ñòàòåé íà òåìó îáîáùåííûõ ñõåì ðàçäåëåíèÿ ñå êðåòà [1462, 1463, 1464]. Ðàçäåëåíèå ñåêðåòà ñ ìîøåííèêàìè Ýòîò àëãîðèòì èçìåíÿåò ñòàíäàðòíóþ ïîðîãîâóþ ñõåìó (m, n) äëÿ îáíàðóæåíèÿ ìîøåííèêîâ [1529]. ß ïîêàæó åãî èñïîëüçîâàíèå íà áàçå ñõåìû Ëàãðàíæà , íî àëãîðèòì ðàáîòàåò è ñ äðóãèìè ñõåìàìè . Âûáèðàåòñÿ ïðîñòîå ÷èñëî p, áîëüøåå n è áîëüøåå (s - 1)(m - 1)/e + m ãäå s - ýòî ñàìûé áîëüøîé âîçìîæíûé ñåêðåò, à e - âåðîÿòíîñòü óñïåõà ìîøåííè÷åñòâà . e ìîæíî ñäåëàòü íàñòîëüêî ìàëûì, íàñêîëüêî ýòî íåîáõîäèìî, ýòî ïðîñòî óñëîæíèò âû÷èñëåíèÿ . Ïîñòðîéòå òåíè êàê ðàíüøå, íî âìåñòî èñïîëüçîâàíèÿ 1, 2, 3, . . . , n äëÿ xi , âûáåðèòå ñëó÷àéíûì îáðàçîì ÷èñëà èç äèàïàçîíà îò 1 äî p-1. Òåïåðü, åñëè Ìýëëîðè ïðè âîññòàíîâëåíèè ñåêðåòà çàìåíèò ñâîþ ÷àñòü ïîääåëêîé , åãî òåíü ñ âûñîêîé âåðîÿòíîñòüþ îêàæåòñÿ íåâîçìîæíîé . Íåâîçìîæíûé ñåêðåò, êîíå÷íî æå, îêàæåòñÿ ïîääåëàííûì ñåêðåòîì . Ìàòåìàòèêà ýòîé ñõåìû ïðèâåäåíà â [1529]. Ê ñîæàëåíèþ, õîòÿ ìîøåííè÷åñòâî Ìýëëîðè è áóäåò îòêðûòî, åìó óäàñòñÿ óçíàòü ñåêðåò (ïðè óñëîâèè, ÷òî âñå îñòàëüíûå íóæíûå òåíè ïðàâèëüíû ). Îò ýòîãî çàùèùàåò äðóãîé ïðîòîêîë, îïèñàííûé â [1529, 975]. Îñíîâ-
íîé èäååé ÿâëÿåòñÿ èñïîëüçîâàíèå íàáîðà èç k ñåêðåòîâ, òàê ÷òîáû íèêòî èç ó÷àñòíèêîâ çàðàíåå íå çíàë, êàêîé èç íèõ ïðàâèëüíûé. Êàæäûé ñåêðåò, çà èñêëþ÷åíèåì íàñòîÿùåãî, áîëüøå ïðåäûäóùåãî. Ó÷àñòíèêè îáúåäèíÿþò ñâîè òåíè, ïîëó÷àÿ îäèí ñåêðåò çà äðóãèì, ïîêà îíè íå ïîëó÷àò íàèìåíüøåå çíà÷åíèå ñåêðåòà . Ýòîò ñåêðåò è áóäåò ïðàâèëüíûì.  ýòîé ñõåìå ìîøåííèêè ëåãêî âûÿâëÿþòñÿ åùå äî ïîëó÷åíèÿ êîíå÷íîãî ñåêðåòà . Ñóùåñòâóåò îïðåäåëåííûå ñëîæíîñòè, åñëè ó÷àñòíèêè ïðåäúÿâëÿþò ñâîè òåíè ïî î÷åðåäè, ïîäðîáíîñòè ìîæíî íàéòè â ëèòåðàòóðå .  ñëåäóþùèõ ðàáîòàõ òàêæå ðàññìàòðèâàþòñÿ îáíàðóæåíèå è ïðåäîòâðàùåíèå ìîøåííè÷åñòâà â ïîðîãîâûõ ñõåìàõ [355, 114, 270].
23.3 Ïîäñîçíàòåëüíûé êàíàë Ong-Schnorr-Shamir Ýòîò ïîäñîçíàòåëüíûé êàíàë (ñì. ðàçäåë 4.2), ðàçðàáîòàííûé Ãóñòàâóñîì Ñèììîíñîì (Gustavus Simmons) [1458, 1459, 1460], èñïîëüçóåò ñõåìó èäåíòèôèêàöèè Ong-Schnorr-Shamir (ñì. ðàçäåë 20.5). Êàê è â îðèãèíàëüíîé ñõåìå îòïðàâèòåëü (Àëèñà) âûáèðàåò îáùåäîñòóïíûé ìîäóëü n è çàêðûòûé êëþ÷ k òàê, ÷òîáû n è k áûëè âçàèìíî ïðîñòûìè ÷èñëàìè.  îòëè÷èè îò îðèãèíàëüíîé ñõåìû k èñïîëüçóåòñÿ ñîâìåñòíî Àëèñîé è Áîáîì, ïîëó÷àòåëåì â ïîäñîçíàòåëüíîì êàíàëå . Îòêðûòûé êëþ÷ âû÷èñëÿåòñÿ ñëåäóþùèì îáðàçîì : h = -k2 mod n Åñëè Àëèñå íóæíî îòïðàâèòü ïîäñîçíàòåëüíîå ñîîáùåíèå M â áåçîáèäíîì ñîîáùåíèè M', îíà ñíà÷àëà ïðîâåðÿåò, ÷òî ïàðû M' è n, à òàêæå M è n ÿâëÿþòñÿ âçàèìíî ïðîñòûìè ÷èñëàìè . Àëèñà âû÷èñëÿåò S1 = 1/2*((M'/M + M)) mod n S2 = 1/2*((M'/M - M)) mod n Ïàðà ÷èñåë S1 è S2 ïðåäñòàâëÿåò ñîáîé ïîäïèñü â òðàäèöèîííîé ñõåìå Ong-Schnortr-Shamir è îäíîâðåìåííî ÿâëÿåòñÿ íîñèòåëåì ïîäñîçíàòåëüíîãî ñîîáùåíèÿ . Òþðåìùèê Óîëòåð (ïîìíèòå òàêîãî?) ìîæåò ïðîâåðèòü ïîäëèííîñòü ñîîáùåíèÿ, êàê ýòî ïðèíÿòî â OngSchnorr-Shamir, íî Áîá ìîæåò ñäåëàòü åùå êîå-÷òî. Îí ìîæåò ïðîâåðèòü ïîäëèííîñòü ñîîáùåíèÿ (Âñåãäà âîçìîæíî, ÷òî Óîëòåð ïîïûòàåòñÿ åìó ïîäñóíóòü ïîääåëüíîå ñîîáùåíèå ). Îí ïðîâåðÿåò, ÷òî S12 - S22 ≡ M' (mod n) Åñëè ïîäëèííîñòü ñîîáùåíèÿ äîêàçàíà, ïîëó÷àòåëü ìîæåò èçâëå÷ü è ïîäñîçíàòåëüíîå ñîîáùåíèå, èñïîëüçóÿ ñëåäóþùóþ ôîðìóëó: M=M'/(S1+ S2k-1) mod n Ýòî ðàáîòàåò, íî íå çàáûâàéòå, ÷òî ñàìà ñõåìà Ong-Schnorr-Shamir áûëà âçëîìàíà. ElGamal Äðóãîé ïðåäëîæåííûé Ñèììîíñîì ïîäñîçíàòåëüíûé êàíàë [1459], îïèñàííûé â [1407, 1473], îñíîâàí íà ñõåìå ïîäïèñè ElGamal ñì. ðàçäåë 19.6). Ãåíåðàöèÿ êëþ÷à âûïîëíÿåòñÿ òàêæå, êàê è â îñíîâíîé ñõåìå ïîäïèñè ElGamal. Ñíà÷àëà âûáèðàåòñÿ ïðîñòîå ÷èñëî p è äâà ñëó÷àéíûõ ÷èñëà, g è r, ìåíüøèå p. Çàòåì âû÷èñëÿåòñÿ K = gr mod p Îòêðûòûì êëþ÷îì ñëóæàò K, g è p. Çàêðûòûì êëþ÷îì ÿâëÿåòñÿ r. Ïîìèìî Àëèñû r èçâåñòíî è Áîáó, ýòî ÷èñëî èñïîëüçóåòñÿ íå òîëüêî äëÿ ïîäïèñè áåçîáèäíîãî ñîîáùåíèÿ, íî è â êà÷åñòâå êëþ÷à äëÿ îòïðàâêè è ÷ò åíèÿ ïîäñîçíàòåëüíîãî ñîîáùåíèÿ . ×òîáû ïîñëàòü ïîäñîçíàòåëüíîå ñîîáùåíèå M â áåçîáèäíîì ñîîáùåíèè, M', M è p äîëæíû áûòü ïîïàðíî âçàèìíî ïðîñòûìè, êðîìå òîãî, âçàèìíî ïðîñòûìè äîëæíû áûòü M è p-1. Àëèñà âû÷èñëÿåò X = gM mod p è ðåøàåò ñëåäóþùåå óðàâíåíèå äëÿ Y (ñ ïîìîùüþ ðàñøèðåííîãî àëãîðèòìà Ýâêëèäà ): M' = rX+ MY mod (p-1) Êàê è â áàçîâîé ñõåìå ElGamal, ïîäïèñüþ ÿâëÿåòñÿ ïàðà ÷èñåë: X è Y. Óîëòåð ìîæåò ïðîâåðèòü ïîäïèñü ElGamal. Îí óáåæäàåòñÿ, ÷òî KXXY ≡ gM' (mod p)
Áîá ìîæåò âîññòàíîâèòü ïîäñîçíàòåëüíîå ñîîáùåíèå . Ñíà÷àëà îí óáåæäàåòñÿ, ÷òî (gr)XXY ≡ gM' (mod p) Åñëè ýòî òàê, îí ñ÷èòàåò ñîîáùåíèå ïîäëèííûì (íå ïîääåëàííûì Óîëòåðîì) . Çàòåì äëÿ âîññòàíîâëåíèÿ M îí âû÷èñëÿåò M = (Y-1 (M' - rX)) mod (p - 1) Íàïðèìåð, ïóñòü p = 11, à g = 2. Çàêðûòûé êëþ÷ r âûáèðàåòñÿ ðàâíûì 8. Ýòî îçíà÷àåò, ÷òî îòêðûòûì êëþ÷îì, êîòîðûé Óîëòåð ìîæåò èñïîëüçîâàòü äëÿ ïðîâåðêè ïîäïèñè, áóäåò gr mod p = 28 mod 11 = 3. ×òîáû îòïðàâèòü ïîäñîçíàòåëüíîå ñîîáùåíèå M = 9, èñïîëüçóÿ áåçîáèäíîå ñîîáùåíèå M' = 5, Àëèñà ïðîâåðÿåò, ÷òî 9 è 11, à òàêæå 5 è 11 ïîïàðíî âçàèìíî ïðîñòû . Îíà òàêæå óáåæäàåòñÿ, ÷òî âçàèìíî ïðîñòû 9 è 11-1=10. Ýòî òàê, ïîýòîìó îíà âû÷èñëÿåò X = gM' (mod p) = 29 mod 11 = 6 Çàòåì îíà ðåøàåò ñëåäóþùåå óðàâíåíèå äëÿ Y: 5 = 8 6 + 9 Y mod 10 Y= 3, ïîýòîìó ïîäïèñüþ ñëóæèò ïàðà ÷èñåë 6 è 3 ( X è Y). Áîá óáåæäàåòñÿ, ÷òî (gr)XXY ≡ gM' (mod p) (28)663 ≡ 25 (mod 11) Ýòî òàê (âûïîëíèòå àðèôìåòè÷åñêèå äåéñòâèÿ ñàìîñòîÿòåëüíî, åñëè âû ìíå íå âåðèòå ), ïîýòîìó îí ìîæåò ðàñêðûòü ïîäñîçíàòåëüíîå ñîîáùåíèå, âû÷èñëÿÿ M = (Y-1 (M' - rX)) mod (p - 1)= 3-1(5 - 8*6) mod 10 = 7(7) mod 10 = 49 mod 10 = 9 ESIGN Ïîäñîçíàòåëüíûé êàíàë ìîæíî äîáàâèòü è ê ESIGN [1460] (ñì. ðàçäåë 20.6).  ESIGN ñåêðåòíûé êëþ÷ ÿâëÿåòñÿ ïàðîé áîëüøèõ ïðîñòûõ ÷èñåë p è q, à îòêðûòûì êëþ÷îì ñëóæèò n = p2q. Èñïîëüçîâàíèè ïîäñîçíàòåëüíîãî êàíàëà çàêðûòûì êëþ÷îì ÿâëÿþòñÿ òðè ïðîñòûõ ÷èñëà p, q è r, à îòêðûòûì êëþ÷îì - n, òàêîå ÷òî n = p2qr Ïåðåìåííàÿ r - ýòî äîïîëíèòåëüíûå äàííûå, íóæíûå Áîáó äëÿ ïðî÷òåíèÿ ïîäñîçíàòåëüíîãî ñîîáùåíèÿ . ×òîáû ïîäïèñàòü îáû÷íîå ñîîáùåíèå, Àëèñà ñíà÷àëà âûáèðàåò ñëó÷àéíîå ÷èñëî x, ìåíüøåå pqr, è âû÷èñëÿåò: w, íàèìåíüøåå öåëîå, êîòîðîå áîëüøå èëè ðàâíî (H(m) - xk mod n)/pq s = x + ((w/kxk-1 mod p) pq H(m) - ýòî õýø-çíà÷åíèå ñîîáùåíèÿ, à k - ïàðàìåòð áåçîïàñíîñòè. Ïîäïèñüþ ÿâëÿåòñÿ çíà÷åíèå s. Äëÿ ïðîâåðêè ïîäïèñè Áîá âû÷èñëÿåò sk mod n. Êðîìå ýòîãî, îí âû÷èñëÿåò a, íàèìåíüøåå öåëîå, êîòîðîå áîëüøå èëè ðàâíî óäâîåííîìó ÷èñëó áèòîâ n, äåëåííîìó íà 3. Åñëè H(m) ìåíüøå èëè ðàâíà sk mod n, è åñëè sk mod n ìåíüøå H(m)+2a, òî ïîäïèñü ñ÷èòàåòñÿ ïðàâèëüíîé . Äëÿ îòïðàâêè ïîäñîçíàòåëüíîãî ñîîáùåíèÿ M ñ ïîìîùüþ áåçîáèäíîãî ñîîáùåíèÿ M' Àëèñà âû÷èñëÿåò s, èñïîëüçóÿ M âìåñòî of H(m). Ýòî îçíà÷àåò, ÷òî ñîîáùåíèå äîëæíî áûòü ìåíüøå, ÷åì p2qr. Çàòåì îíà âûáèðàåò ñëó÷àéíîå ÷èñëî u è âû÷èñëÿåò x' = M' + ur Çàòåì ýòî çíà÷åíèå x' èñïîëüçóåòñÿ â êà÷åñòâå "ñëó÷àéíîãî ÷èñëà" x ïðè ïîäïèñè M'. Ñîîòâåòñòâóþùåå çíà÷åíèå s ïîñûëàåòñÿ â êà÷åñòâå ïîäïèñè. Óîëòåð ìîæåò ïðîâåðèòü, ÷òî s (âòîðîå s) ÿâëÿåòñÿ ïðàâèëüíîé ïîäïèñüþ M' Òî÷íî òàêæå ïðîâåðèòü ïîäëèííîñòü ñîîáùåíèÿ ìîæåò è Áîá. Íî, òàê êàê åìó èçâåñòíî è r, îí ìîæåò âû÷èñëèòü s = x' + ypqr = M + ur + ypqr ≡ M (mod r) Ýòà ðåàëèçàöèÿ ïîäñîçíàòåëüíîãî êàíàëà íàìíîãî ëó÷øå äâóõ ïðåäûäóùèõ .  âàðèàíòàõ Ong-SchnorrShamir è ElGamal ó Áîáà äîëæåí áûòü çàêðûòûé êëþ÷ Àëèñû. Áîá ñìîæåò íå òîëüêî ÷èòàòü ïîäñîçíàòåëüíûå ñîîáùåíèÿ Àëèñû, íî è âûäàâàòü ñåáÿ çà Àëèñó, ïîäïèñûâàÿ îáû÷íûå äîêóìåíòû . Àëèñà íè÷åãî ñ ýòèì íå ñìîæåò ïîäåëàòü, óñòàíàâëèâàÿ òàêîé ïîäñîçíàòåëüíûé êàíàë, åé ïðèäåòñÿ äîâåðèòüñÿ Áîáó . Ñõåìà ESICN ñòðàäàåò îò ýòîé ïðîáëåìû. Çàêðûòûì êëþ÷îì Àëèñû ñëóæèò íàáîð òðåõ ïðîñòûõ ÷èñåë : p, q
è r. Ñåêðåòíûì êëþ÷îì Áîáà ÿâëÿåòñÿ òîëüêî r. Îí çíàåò n = p2qr, íî, ÷òîáû ðàñêðûòü p è q, åìó ïîíàäîáèòñÿ ðàçëîæèòü íà ìíîæèòåëè ýòî ÷èñëî . Åñëè ïðîñòûå ÷èñëà äîñòàòî÷íî âåëèêè, Áîáó áóäåò òàê æå òðóäíî âûäàòü ñåáÿ çà Àëèñó, êàê è Óîëòåðó èëè êîìó-íèáóäü åùå . DSA Ïîäñîçíàòåëüíûé êàíàë ñóùåñòâóåò è â DSA (ñì. ðàçäåë 20.1) [1468, 1469, 1473]. Íà ñàìîì äåëå èõ äàæå ìîæåò áûòü íåñêîëüêî. Ïðîñòåéøèé ïîäñîçíàòåëüíûé êàíàë âêëþ÷àåò âûáîð k. Ïðåäïîëàãàåòñÿ, ÷òî ýòî áóäåò 160-áèòîâîå ÷èñëî. Îäíàêî, åñëè Àëèñà âûáèðàåò êîíêðåòíîå k, òî Áîá, çíàÿ çàêðûòûé êëþ÷ Àëèñû, ñìîæåò ðàñêðûòü ýòî k. Àëèñà ïîñûëàòü Áîáó 160-áèòîâîå ïîäñîçíàòåëüíîå ñîîáùåíèå â êàæäîé ïîäïèñè DSA, à âñå îñòàëüíûå áóäóò òîëüêî ïðîâåðÿòü ïîäïèñü Àëèñû . Äîïîëíèòåëüíîå óñëîæíåíèå: Òàê êàê k äîëæíî áûòü ñëó÷àéíûì, Àëèñà è Áîá äîëæíû èñïîëüçîâàòü îáùèé îäíîðàçîâûé áëîêíîò è øèôðîâàòü ïîäñîçíàòåëüíîå ñîî áùåíèå ñ ïîìîùüþ ýòîãî áëîêíîòà, ãåíåðèðóÿ k.  DSA åñòü ïîäñîçíàòåëüíûå êàíàëû, íå òðåáóþùèå ïåðåäàâàòü Áîáó çàêðûòûé êëþ÷ Àëèñû . Îíè òàêæå ïîäðàçóìåâàþò âûáîð êîíêðåòíûõ çíà÷åíèé k, íî íå ìîãóò ïåðåäàâàòü ïî 160 áèòîâ èíôîðìàöèè. Ñëåäóþùàÿ ñõåìà, ïðåäñòàâëåííàÿ â [1468, 1469], ïîçâîëÿåò Àëèñå è Áîáó îáìåíèâàòüñÿ â êàæäîé ïîäïèñè îäíèì áèòîì ïîäñîçíàòåëüíîé èíôîðìàöèè. (1) Àëèñà è Áîá âûáèðàþò ñëó÷àéíîå ïðîñòîå ÷èñëî P (îòëè÷àþùååñÿ îò ïàðàìåòðà p â ñõåìå ïîäïèñè). Ýòî ñåêðåòíûé êëþ÷ äëÿ ïîäñîçíàòåëüíîãî êàíàëà . (2) Àëèñà ïîäïèñûâàåò áåçîáèäíîå ñîîáùåíèå M. Åñëè îíà õî÷åò îòïðàâèòü Áîáó ïîäñîçíàòåëüíûé áèò 1 , îíà óáåæäàåòñÿ, ÷òî ïàðàìåòð r ïîäïèñè ÿâëÿåòñÿ êâàäðàòè÷íûì îñòàòêîì ïî ìîäóëþ P. Åñëè îíà õî÷åò îòïðàâèòü åìó 0, îíà ïðîâåðÿåò, ÷òî ïàðàìåòð r ïîäïèñè íå ÿâëÿåòñÿ êâàäðàòè÷íûì îñòàòêîì ïî ìîäóëþ P. Îíà äîáèâàåòñÿ ýòîãî, ïîäïèñûâàÿ ñîîáùåíèå ñ ïîìîùüþ ñëó÷àéíûõ çíà÷åíèé k, ïîêà îíà íå ïîëó÷èò ïîäïèñü ñ íóæíûì åé ñâîéñòâîì äëÿ r. Òàê êàê ÷èñëà, ÿâëÿþùèåñÿ êâàäðàòè÷íûìè îñòàòêàìè è íå ÿâëÿþùèåñÿ èìè, ðàâíîâåðîÿòíû, òî ýòî íå äîëæíî áûòü ñëèøêîì ñëîæíî . (3) Àëèñà ïîñûëàåò Áîáó ïîäïèñàííîå ñîîáùåíèå . (4) Áîá ïðîâåðÿåò ïîäïèñü, óáåæäàÿñü â ïîäëèííîñòè ñîîáùåíèÿ . Çàòåì îí ïðîâåðÿåò, ÿâëÿåòñÿ ëè r êâàäðàòè÷íûì îñòàòêîì ïî ìîäóëþ P è âîññòàíàâëèâàåò ïîäñîçíàòåëüíûé áèò . Ïåðåäà÷à òàêèì îáðàçîì íåñêîëüêèõ áèòîâ ïîäðàçóìåâàåò ïîäáîð òàêîãî r, êîòîðîå ÿâëÿåòñÿ èëè íå ÿâëÿåòñÿ êâàäðàòè÷íûì îñòàòêîì ïî íåñêîëüêèì ìîäóëÿì . Ïîäðîáíîñòè ïðèâåäåíû â [1468, 1469]. Ýòà ñõåìà ìîæåò áûòü ëåãêî ðàñøèðåíà äëÿ ïåðåäà÷è íåñêîëüêèõ ïîäñîçíàòåëüíûõ áèòîâ íà ïîäïèñü . Åñëè Àëèñà è Áîá âûáèðàþò äâà ñëó÷àéíûõ ÷èñëà P è Q, òî Àëèñà ìîæåò ïîñûëàòü äâà áèòà, âûáèðàÿ ñëó÷àéíîå k òàê, ÷òîáû r ÿâëÿëîñü èëè íå ÿâëÿëîñü êâàäðàòè÷íûì îñòàòêîì mod P, à òàêæå ÿâëÿëîñü èëè íå ÿâëÿëîñü êâàäð àòè÷íûì îñòàòêîì mod Q. Ñëó÷àéíîå çíà÷åíèå k ñ âåðîÿòíîñòüþ 25 ïðîöåíòîâ ïîçâîëèò ïîëó÷èòü r ñ íóæíûìè ñâîéñòâàìè. Âîò êàê Ìýëëîðè, íå÷åñòíûé ðåàëèçàòîð DSA, ìîæåò ñîçäàòü àëãîðèòì, èçâëåêàþùèé ïî 10 áèòîâ çàêðûòîãî êëþ÷à Àëèñû èç êàæäîé åå ïîäïèñè . (1) Ìýëëîðè ñòðîèò ñâîþ ðåàëèçàöèþ DSA áàçå óñòîé÷èâîé ê âçëîìó ÑÁÈÑ , ÷òîáû íèêòî íå ñìîã ïðîâåðèòü, êàê îíà ðàáîòàåò. Îí ñîçäàåò 14 ïîäñîçíàòåëüíûõ êàíàëîâ â ñâîåé ðåàëèçàöèè DSA. Òî åñòü, îí âûáèðàåò 14 ñëó÷àéíûõ ïðîñòûõ ÷èñåë è èñïîëüçóåò ìèêðîñõåìó, êîòîðàÿ âûáèðàåò çíà÷åíèå k òàê, ÷òîáû r ÿâëÿëîñü èëè íå ÿâëÿëîñü êâàäðàòè÷íûì îñòàòêîì ïî ìîäóëþ êàæäîãî èç ýòèõ 14 ïðîñòûõ ÷èñåë , â çàâèñèìîñòè îò ïîäñîçíàòåëüíîãî ñîîáùåíèÿ. (2) Ìýëëîðè âûäàåò ìèêðîñõåìû Àëèñå, Áîáó è îñòàëüíûì æåëàþùèì. (3) Àëèñà îáû÷íûì îáðàçîì ïîäïèñûâàåò ñîîáùåíèå , èñïîëüçóÿ ñâîé çàêðûòûé 160-áèòîâûé êëþ÷ x. (4) Ìèêðîñõåìà ñëó÷àéíûì îáðàçîì âûáèðàåò 10-áèòîâûé áëîê x: ïåðâûå 10 áèòîâ, âòîðûå 10 áèòîâ, è ò.ä. Òàê êàê ñóùåñòâóåò 16 âîçìîæíûõ 10-áèòîâûõ áëîêîâ , òî íîìåð áëîêà âûðàæàåòñÿ 4-áèòîâûì ÷èñëîì . Ýòîò 4-áèòîâûé èäåíòèôèêàòîð è 10 áèòîâ êëþ÷à è áóäóò 14-áèòîâûì ïîäñîçíàòåëüíûì ñîîáùåíèåì . (5) Ìèêðîñõåìà ïåðåáèðàåò ñëó÷àéíûå çíà÷åíèÿ k, ïîêà íå óäàñòñÿ íàéòè òî, êîòîðîå îáëàäàåò ïðàâèëüíûìè êâàäðàòè÷íûìè îñòàòêàìè, íóæíûìè äëÿ ïåðåäà÷è ïîäñîçíàòåëüíîãî . Âåðîÿòíîñòü ñëó÷àéíîãî k îáëàäàòü ïðàâèëüíîé ôîðìîé ðàâíà 1/16384. Åñëè ìèêðîñõåìà ìîæåò ïðîâåðèòü 10000 çíà÷åíèé k â ñåêóíäó, íóæíîå çíà÷åíèå áóäåò íàéäåíî ìåíüøå, ÷åì çà ïàðó ñåêóíä . Ýòè âû÷èñëåíèÿ íå çàâèñÿò îò ñîîáùåíèÿ è ìîãóò áûòü âû÷èñëåíû çàðàíåå, äî òîãî, êàê Àëèñà çàõî÷åò ïîäïèñàòü ñîîáùåíèå. (6) Ìèêðîñõåìà îáû÷íûì îáðàçîì ïîäïèñûâàåò ñîîáùåíèå, èñïîëüçóÿ âûáðàííîå íà ýòàïå (5) çíà÷åíèå k. (7) Àëèñà ïîñûëàåò öèôðîâóþ ïîäïèñü Áîáó, èëè îïóáëèêîâûâàåò åå â ñåòè, èëè åùå ÷òî-íèáóäü äåëàåò. (8) Ìýëëîðè ðàñêðûâàåò r è, òàê êàê îí çíàåò 14 ïðîñòûõ ÷èñåë, ðàñøèôðîâûâàåò ïîäñîçíàòåëüíîå
ñîîáùåíèå. Ñòðàøíåå âñåãî, ÷òî, äàæå åñëè Àëèñà çíàåò, ÷òî ïðîèñõîäèò, îíà íè÷åãî íå ñìîæåò äîêàçàòü . Ïîêà 14 ïðîñòûõ ÷èñåë õðàíÿòñÿ â ñåêðåòå, Ìýëëîðè â áåçîïàñíîñòè. Óíè÷òîæåíèå ïîäñîçíàòåëüíîãî êàíàëà â DSA Ïîäñîçíàòåëüíûé êàíàë îïèðàåòñÿ íà òî, ÷òî Àëèñà ìîæåò âûáèðàòü k äëÿ ïåðåäà÷è ïîäñîçíàòåëüíîé è íôîðìàöèè. ×òîáû ñäåëàòü ïîäñîçíàòåëüíûé êàíàë íåâîçìîæíûì, Àëèñå íå äîëæíî áûòü ïîçâîëåíî âûáèðàòü k. Îäíàêî, âûáîð k äîëæåí áûòü çàïðåùåí è äëÿ âñåõ äðóãèõ. Åñëè êîìó-òî äðóãîìó áóäåò ïîçâîëåíî âûáèðàòü k, òî ýòîò ÷åëîâåê ïîëó÷èò âîçìîæíîñòü ïîääåëàòü ïîäïèñü Àëèñû . Åäèíñòâåííûì ðåøåíèåì äëÿ Àëèñû ÿâëÿåòñÿ ïðîâåäåíèå ãåíåðàöèè k âìåñòå ñ äðóãîé ñòîðîíîé, Áîáîì, òàê, ÷òîáû Àëèñà íå ìîãëà êîíòðîëèðîâàòü íè îäèí áèò k, à Áîá íå ìîã îïðåäåëèòü íè îäèí áèò k. Íà äðóãîé ñòîðîíå ïðîòîêîëà ó Áîáà äîëæíà áûòü âîçìîæíîñòü ïðîâåðèòü, ÷òî Àëèñà èñïîëüçîâàëà èìåííî ñîâìåñòíî ñîçäàííîå k. Âîò ýòîò ïðîòîêîë [1470, 1472, 1473] (1) Àëèñà âûáèðàåò k' è ïîñûëàåò Áîáó u = gk' mod p (2) Áîá âûáèðàåò k" è ïîñûëàåò åãî Àëèñå. (3) Àëèñà âû÷èñëÿåò k = k'k" mod (p - 1). Îíà èñïîëüçóåò k, ÷òîáû ïîäïèñàòü ñâîå ñîîáùåíèå M, èñïîëüçóÿ DSA, è ïîñûëàåò Áîáó ñâîþ ïîäïèñü: r è s. (4) Áîá ïðîâåðÿåò, ÷òî ((u = gk' mod p) mod q) = r Åñëè ýòî òàê, òî îí çíàåò, ÷òî äëÿ ïîäïèñè M èñïîëüçîâàëîñü k. Ïîñëå ýòàïà (4) Áîá çíàåò, ÷òî â r íå áûëî âêëþ÷åíî íèêàêîé ïîäñîçíàòåëüíîé èíôîðìàöèè . Åñëè îí ÿâëÿåòñÿ äîâåðåííîé ñòîðîíîé, îí ìîæåò ïðîâåðèòü, ÷òî â ïîäïèñè Àëèñû íåò ïîäñîçíàòåëüíîé èíôîðìàöèè . Äðóãèì ïðèäåòñÿ ïîâåðèòü åãî çàÿâëåíèþ, Áîá íå ñì îæåò äîêàçàòü ýòîò ôàêò òðåòüåé ñòîðîíå, âîñïðîèçâåäÿ ïðîòîêîë . Óäèâèòåëüíî òî, ÷òî Áîá, åñëè çàõî÷åò, ìîæåò èñïîëüçîâàòü ýòîò ïðîòîêîë äëÿ ñîçäàíèÿ ñîáñòâåííîãî ïî äñîçíàòåëüíîãî êàíàëà. Áîá ìîæåò âêëþ÷èòü ïîäñîçíàòåëüíóþ èíôîðìàöèþ â îäíó èç ïîäïèñåé Àëèñû, âûáðàâ k" ñ îïðåäåëåííûìè õàðàêòåðèñòèêàìè . Êîãäà Ñèììîíñ îòêðûë òàêóþ âîçìîæíîñòü , îí íàçâàë åå "Êàíàëîì êóêóøêè". Ïîäðîáíîñòè ðàáîòû Êàíàëà êóêóøêè , è ìåøàþùèé ýòîìó òðåõïðîõîäíûé ïðîòîêîë ãåíåðàöèè k, ðàññìàòðèâàþòñÿ â [1471, 1473]. Äðóãèå ñõåìû Ïîäñîçíàòåëüíûé êàíàë ìîæíî îðãàíèçîâàòü äëÿ ëþáîé ñõåìû ïîäïèñè [1458, 1460, 1406]. Îïèñàíèå ïðîòîêîëà âñòðàèâàíèÿ ïîäñîçíàòåëüíîãî êàíàëà â ñõåìû Fiat-Shamir è Feige-Fiat-Shamir âìåñòå ñ âîçìîæíûìè çëîóïîòðåáëåíèÿìè ìîæíî íàéòè â [485].
23.4 Íåîòðèöàåìûå öèôðîâûå ïîäïèñè Àâòîðîì ýòîãî àëãîðèòìà íåîòðèöàåìîé ïîäïèñè (ñì. ðàçäåë 4.3) ÿâëÿåòñÿ Äýâèä ×àóì (David Chaum) [343,327]. Ñíà÷àëà îïóáëèêîâûâàþòñÿ áîëüøîå ïðîñòîå ÷èñëî p è ïðèìèòèâíûé ýëåìåíò g, êîòîðûå áóäóò ñîâìåñòíî èñïîëüçîâàòüñÿ ãðóïïîé ïîäïèñûâàþùèõ . Ó Àëèñû åñòü çàêðûòûé êëþ÷ x è îòêðûòûé êëþ÷ gx mod p. ×òîáû ïîäïèñàòü ñîîáùåíèå, Àëèñà âû÷èñëÿåò z = mx mod p. Ýòî âñå, ÷òî åé íóæíî ñäåëàòü. Ïðîâåðêà ïîäïèñè íåìíîãî ñëîæíåå. (1) Áîá âûáèðàåò äâà ñëó÷àéíûõ ÷èñëà, a è b, ìåíüøèå p, è îòïðàâëÿåò Àëèñå: c = za(gx)b mod p (2) Àëèñà âû÷èñëÿåò t=x-1 mod (p-1), è îòïðàâëÿåò Áîáó: d = ct mod p (3) Áîá ïðîâåðÿåò, ÷òî d ≡ magb (mod p) Åñëè ýòî òàê, îí ñ÷èòàåò ïîäïèñü èñòèííîé. Ïðåäñòàâèì, ÷òî Àëèñà è Áîá âûïîëíèëè ýòîò ïðîòîêîë, è Áîá òåïåðü ñ÷èòàåò, ÷òî Àëèñà ïîäïèñàëà ñîîáùåíèå. Áîá õî÷åò óáåäèòü â ýòîì Êýðîë, ïîýòîìó îí ïîêàçûâàåò åé çàïèñü ïðîòîêîëà . Äýéâ, îäíàêî, õî÷åò óáåäèòü Êýðîë, ÷òî äîêóìåíò ïîäïèñàí êåì-òî äðóãèì . Îí ñîçäàåò ïîääåëüíóþ çàïèñü ïðîòîêîëà . Ñíà÷àëà îí ãåíåðèðóåò ñîîáùåíèå íà ýòàïå (1). Çàòåì íà ýòàïå (3) îí ãåíåðèðóåò d è ëîæíóþ ïåðåäà÷ó îò äðóãîãî ÷åëîâåêà íà ýòàïå (2).
Íàêîíåö, îí ñîçäàåò ñîîáùåíèå ýòàïà (2). Äëÿ Êýðîë çàïèñè Áîáà è Äýéâà îäèíàêîâû. Åå íåâîçìîæíî óáåäèòü â ïðàâèëüíîñòè ïîäïèñè, ïîêà îíà íå âûïîëíèò ïðîòîêîë ñàìîñòîÿòåëüíî . Êîíå÷íî, åñëè áû îíà ñëåäèëà èç-çà ïëå÷à Áîáà çà òåì, êàê îí âûïîëíÿåò ïðîòîêîë, îíà áûëà áû óáåæäåíà . Êýðîë íóæíî óâèäåòü âûïîëíåíèå ýòàïîâ ïî ïîðÿäêó, òàê, êàê ýòî äåëàë Áîá . Èñïîëüçóÿ ýòó ñõåìó ïîäïèñè, ìîæíî ñòîëêíóòüñÿ ñ ïðîáëåìîé, íî ÿ íå çíàþ ïîäðîáíîñòåé . Ïðåæäå, ÷åì âîñïîëüçîâàòüñÿ ýòîé ñõåìîé, ïðîñìîòðèòå ëèòåðàòóðó . Äðóãîé ïðîòîêîë âêëþ÷àåò íå òîëüêî ïðîòîêîë ïîäòâåðæäåíèÿ - Àëèñà ìîæåò óáåäèòü Áîáà â ïðàâèëüíîñòè ñâîåé ïîäïèñè - íî è ïðîòîêîë îòðèöàíèÿ. Àëèñà ìîæåò ñ ïîìîùüþ èíòåðàêòèâíîãî ïðîòîêîëà ñ íóëåâûì çí àíèåì óáåäèòü Áîáà, ÷òî åå ïîäïèñü íåïðàâèëüíà, åñëè ýòî òàê [329]. Êàê è ïðåäûäóùèé ïðîòîêîë ãðóïïà ïîäïèñûâàþùèõ èñïîëüçóåò îáùåäîñòóïíîå áîëüøîå ïðîñòîå ÷èñëî p è ïðèìèòèâíûé ýëåìåíò g. Ó Àëèñû åñòü çàêðûòûé êëþ÷ x è îòêðûòûé êëþ÷ gx mod p. ×òîáû ïîäïèñàòü ñîîáùåíèå, Àëèñà âû÷èñëÿåò z = mx mod p. ×òîáû ïðîâåðèòü ïîäïèñü: (1) Áîá âûáèðàåò äâà ñëó÷àéíûõ ÷èñëà, a è b, ìåíüøèå p, è îòïðàâëÿåò Àëèñå: c = magb mod p (2) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî q, ìåíüøåå p, à çàòåì âû÷èñëÿåò è îòïðàâëÿåò Áîáó: s1 = cgq mod p, s2 = (cgq)x mod p (3) Áîá ïîñûëàåò Àëèñå a è b, ÷òîáû Àëèñà ìîãëà óáåäèòüñÿ, ÷òî Áîá íå ìîøåííè÷àë íà ýòàïå (1). (4) Àëèñà ïîñûëàåò Áîáó q, ÷òîáû îí ìî âîñïîëüçîâàòüñÿ mx è âîññòàíîâèòü s1 è s2. Åñëè s1 ≡ cgq mod p s2 ≡ (gx)b+qza (mod p) òî ïîäïèñü ïðàâèëüíà. Àëèñà ìîæåò òàêæå îòêàçàòüñÿ îò ïîäïèñè z ïîä ñîîáùåíèåì m. Ïîäðîáíîñòè ïðèâåäåíû â [329]. Äîïîëíèòåëüíûå ïðîòîêîëû äëÿ íåîòðèöàåìûõ ïîäïèñåé ìîæíî íàéòè â [584, 344]. Ëåéí Õàðí (Lein Harn) è Øóáàî ßíã (Shoubao Yang) ïðåäëîæèëè ñõåìó ãðóïïîâûõ íåîòðèöàåìûõ ïîäïèñåé [700]. Ïðåîáðàçóåìûå íåîòðèöàåìûå ïîäïèñè Àëãîðèòì äëÿ ïðåîáðàçóåìûõ íåîòðèöàåìûõ ïîäïèñåé, êîòîðûå ìîæíî ïðîâåðÿòü, îòìåíÿòü è ïðåîáðàç îâûâàòü â îáû÷íûå íåîòðèöàåìûå ïîäïèñè, ïðèâåäåí â [213]. Îí îñíîâàí íà àëãîðèòìå öèôðîâûõ ïîäïèñåé ElGamal. Êàê è â ElGamal, ñíà÷àëà âûáèðàþòñÿ äâà ïðîñòûõ ÷èñëà, p è q, òàê, ÷òîáû q áûëî äåëèòåëåì p-1. Òåïåðü íóæíî ñîçäàòü ÷èñëî g, ìåíüøåå q.  äèàïàçîíå îò 2 äî p-1 âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî h è âû÷èñëÿåòñÿ g=h(p-1)/q mod p Åñëè g ðàâíî 1, âûáèðàåòñÿ äðóãîå ñëó÷àéíîå h. Åñëè íåò, èñïîëüçóåòñÿ ïîëó÷åííîå çíà÷åíèå g. Çàêðûòûìè êëþ÷àìè ñëóæàò äâà ðàçëè÷íûõ ñëó÷àéíûõ ÷èñëà , x è z, ìåíüøèå q. Îòêðûòûìè êëþ÷àìè ÿâëÿþòñÿ p, q, g, y è u, ãäå y = gx mod p u=gÿmod p Äëÿ âû÷èñëåíèÿ ïðåîáðàçóåìîé íåîòðèöàåìîé ïîäïèñè ñîîáùåíèÿ m (êîòîðîå â äåéñòâèòåëüíîñòè ÿâëÿåòñÿ õýø-çíà÷åíèåì ñîîáùåíèÿ), ñíà÷àëà äèàïàçîíå îò 1 äî q-1 âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî t. Çàòåì âû÷èñëÿåòñÿ T = gr mod p è m' = Ttzm mod q. Òåïåðü âû÷èñëÿåòñÿ îáû÷íàÿ ïîäïèñü ElGamal äëÿ m'. Âûáèðàåòñÿ ñëó÷àéíîå ÷èñëî R, ìåíüøåå p-1 è âçàèìíî ïðîñòîå ñ íèì. Çàòåì âû÷èñëÿåòñÿ r = gR mod p è, ñ ïîìîùüþ ðàñøèðåííîãî àëãîðèòìà Ýâêëèäà, â û÷èñëÿåòñÿ s, äëÿ êîòîðîãî m' ≡ rx + Rs (mod q) Ïîäïèñüþ ñëóæàò ïîäïèñü ElGamal (r, s) è T. Âîò êàê Àëèñà ïîäòâåðæäàåò ñâîþ ïîäïèñü Áîáó:
(1) Áîá ãåíåðèðóåò äâà ñëó÷àéíûõ ÷èñëà , a è b, è âû÷èñëÿåò c = TTmagb mod p è ïîñûëàåò ðåçóëüòàò Àëèñå. (2) Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî k è âû÷èñëÿåò h1 = cgk mod p è h2 = h1z mod p, à çàòåì ïîñûëàåò îáà ÷èñëà Áîáó. (3) Áîá ïîñûëàåò Àëèñå a è b. (4) Àëèñà ïðîâåðÿåò, ÷òî c = TTmagb mod p. Îíà ïîñûëàåò k Áîáó. (5) Áîá ïðîâåðÿåò, ÷òî h1 = TTmagb+k mod p, è ÷òî h2 = yrarsaub+k mod p. Àëèñà ìîæåò ïðåîáðàçîâàòü âñå ñâîè íåîòðèöàåìûå ïîäïèñè â îáû÷íûå, îïóáëèêîâàâ z. Òåïåðü ëþáîé ìîæåò ïðîâåðèòü åå ïîäïèñü áåç åå ïîìîùè . Ñõåìû íåîòðèöàåìûõ ïîäïèñåé ìîæíî îáúåäèíèòü ñî ñõåìàìè ðàçäåëåíèÿ ñåêðåòà, ñîçäàâ ðàñïðåäåëåííûå ïðåîáðàçóåìûå íåîòðèöàåìûå ïîäïèñè [1235]. Êòî-íèáóäü ìîæåò ïîäïèñàòü ñîîáùåíèå, à çàòåì ðàñïðåäåëèòü âîçìîæíîñòü ïîäòâåðæäåíèÿ ïðàâèëüíîñòè ïîäïèñè . Îí ìîæåò, íàïðèìåð, ïîòðåáîâàòü, ÷òîáû â ïðîòîêîëå óá åæäåíèÿ Áîáà â ïðàâèëüíîñòè ïîäïèñè ó÷àñòâîâàëè òðîå èç ïÿòè îáëàäàòåëåé âîçìîæíîñòü ïîäòâåðæäåíèÿ ïð àâèëüíîñòè.  [700, 1369] ïðåäëîæåíû óëó÷øåíèÿ, ïîçâîëÿþùèå îòêàçàòüñÿ îò íåîáõîäèìîñòè äîâåðåííîãî ëèöà - ðàñïðåäåëèòåëÿ.
23.5 Ïîäïèñè, ïîäòâåðæäàåìûå äîâåðåííûì ëèöîì Âîò êàê Àëèñà ìîæåò ïîäïèñàòü ñîîáùåíèå, à Áîá ïðîâåðèòü åãî òàê , ÷òîáû è Êýðîë íåìíîãî ïîçæå ìîãëà äîêàçàòü Äýéâó ïðàâèëüíîñòü ïîäïèñè Àëèñû (ñì. ðàçäåë 4.4) [333]. Ñíà÷àëà îïóáëèêîâûâàþòñÿ áîëüøîå ïðîñòîå ÷èñëî p è ïðèìèòèâíûé ýëåìåíò g, êîòîðûå áóäóò ñîâìåñòíî èñïîëüçîâàòüñÿ ãðóïïîé ïîëüçîâàòåëåé . Òàêæå îïóáëèêîâûâàåòñÿ n, ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë . Ó Êýðîë åñòü çàêðûòûé êëþ÷ z è îòêðûòûé êëþ÷ h = gx mod p.  ýòîì ïðîòîêîëå Àëèñà ìîæåò ïîäïèñàòü m òàê, ÷òîáû Áîá ìîã ïðîâåðèòü ïðàâèëüíîñòü åå ïîäïèñè, íî íå ìîã óáåäèòü â ýòîì òðåòüþ ñòîðîíó . (1) Àëèñà âûáèðàåò ñëó÷àéíîå x è âû÷èñëÿåò a = gx mod p b = hx mod p Îíà âû÷èñëÿåò õýø-çíà÷åíèå m, H(m), è õýø-çíà÷åíèå îáúåäèíåíèÿ a è b, H(a,b), à çàòåì j = (H(m) ⊕ H(a,b))1/3 mod n è ïîñûëàåò a, b è j Áîáó. (2) Áîá âûáèðàåò äâà ñëó÷àéíûõ ÷èñëà, s è t, ìåíüøèõ p, è ïîñûëàåò Àëèñå c = gsht mod p (3) Àëèñà âûáèðàåò ñëó÷àéíîå q, ìåíüøåå p, è ïîñûëàåò Áîáó d = gq mod p e = (cd)x mod p (4) Áîá ïîñûëàåò Àëèñå s è t. (5) Àëèñà ïðîâåðÿåò, ÷òî gsht ≡ c (mod p) çàòåì îíà ïîñûëàåò Áîáó q. (6) Áîá ïðîâåðÿåò d ≡ gq mod p e/aq ≡ asbt (mod p) (H(m) ⊕ H(a,b)) = j1/3 mod n Åñëè âñå òîæäåñòâà âûïîëíÿþòñÿ, òî Áîá ñ÷èòàåò ïîäïèñü èñòèííîé . Áîá íå ìîæåò èñïîëüçîâàòü çàïèñü ýòîãî äîêàçàòåëüñòâà äëÿ óáåæäåíèÿ Äýéâà â èñòèííîñòè ïîäïèñè , íî Äýéâ ìîæåò âûïîëíèòü ïðîòîêîë ñ äîâåðåííûì ëèöîì Àëèñû, Êýðîë. Âîò êàê Êýðîë óáåæäàåò Äýéâà â òîì, ÷òî a è b îáðàçóþò ïðàâèëüíóþ ïîäïèñü.
(1) Äýéâ âûáèðàåò ñëó÷àéíûå u è v, ìåíüøèå p, è ïîñûëàåò Êýðîë k = guav mod p (2) Êýðîë âûáèðàåò ñëó÷àéíîå w, , ìåíüøåå p, è ïîñûëàåò Äýéâó l = gw mod p y = (kl)z mod p (3) Äýéâ ïîñûëàåò Êýðîë u è v. (4) Êýðîë ïðîâåðÿåò, ÷òî gK=v ≡ k (mod p) Çàòåì îíà ïîñûëàåò Äýéâó w. (5) Äýéâ ïðîâåðÿåò, ÷òî gw ≡ l (mod p) y/hw ≡ hK>v (mod p) Åñëè âñå òîæäåñòâà âûïîëíÿþòñÿ, òî Äýéâ ñ÷èòàåò ïîäïèñü èñòèííîé.  äðóãîì ïðîòîêîëå Êýðîë ìîæåò ïðåîáðàçîâàòü ïðîòîêîë äîâåðåííîãî ëèöà â îáû÷íóþ öèôðîâóþ ïîäïèñü . Ïîäðîáíîñòè â [333].
23.6 Âû÷èñëåíèÿ ñ çàøèôðîâàííûìè äàííûìè Ïðîáëåìà äèñêðåòíîãî ëîãàðèôìà Ñóùåñòâóåò áîëüøîå ïðîñòîå ÷èñëî p è ãåíåðàòîð g. Àëèñà õî÷åò äëÿ êîíêðåòíîãî x íàéòè òàêîå e, äëÿ êîòîðîãî ge ≡ x (mod p) Ýòî òðóäíàÿ ïðîáëåìà, è Àëèñå íå õâàòàåò âû÷èñëèòåëüíûõ ìîùíîñòåé äëÿ âû÷èñëåíèÿ ðåçóëüòàòà . Ó Áîáà åñòü òàêèå âîçìîæíîñòè - îí ïðåäñòàâëÿåò ïðàâèòåëüñòâî, èëè ìîùíûé âû÷èñëèòåëüíûé öåíòð, èëè åùå êàêóþíèáóäü âëèÿòåëüíóþ îðãàíèçàöèþ . Âîò êàê Àëèñà ìîæåò ïîëó÷èòü ïîìîùü Áîáà, íå ðàñêðûâ åìó x [547, 4]: (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî r, ìåíüøåå p. (2) Àëèñà âû÷èñëÿåò x' = xgr mod p (3) Àëèñà ïðîñèò Áîáà ðåøèòü ge' ≡ x' (mod p) (4) Áîá âû÷èñëÿåò e' è ïîñûëàåò åãî Àëèñå. (5) Àëèñà âîññòàíàâëèâàåò e, âû÷èñëÿÿ e = (e' - r) mod (p - 1) Àíàëîãè÷íûå ïðîòîêîëû äëÿ ïðîáëåì êâàäðàòè÷íûõ îñòàòêîâ è ïðèìèòèâíûõ êîðíåé ïðèâåäåíû â [3, 4]. (Ñì. òàêæå ðàçäåë 4.8.)
23.7 Áðîñàíèå "÷åñòíîé" ìîíåòû Ñëåäóþùèå ïðîòîêîëû ïîçâîëÿþò Àëèñå è Áîáó áðîñàòü ÷åñòíóþ ìîíåòó â ñåòè ïåðåäà÷è äàííûõ (ñì. ðàçäåë 4.9) [194]. Ýòî ïðèìåð áðîñàíèÿ ìîíåòû â êîëîäåö (ñì. ðàçäåë 4.10). Ñíà÷àëà òîëüêî Áîá óçíàåò ðåçóëüòàò áðîñêà è ñîîáùàåò åãî Àëèñå. Çàòåì Àëèñà ìîæåò ïðîâåðèòü, ÷òî Áîá ñîîáùèë ïðàâèëüíûé ðåçóëüòàò áðîñêà . Áðîñàíèå "÷åñòíîé" ìîíåòû ñ ïîìîùüþ êâàäðàòíûõ êîðíåé Ïîäïðîòîêîë áðîñàíèÿ ÷åñòíîé ìîíåòû : (1) Àëèñà âûáèðàåò äâà áîëüøèõ ïðîñòûõ ÷èñëà, p è q, è ïîñûëàåò èõ ïðîèçâåäåíèå n Áîáó. (2) Áîá âûáèðàåò ñëó÷àéíîå ïîëîæèòåëüíîå öåëîå ÷èñëî r, ìåíüøåå n/2. Áîá âû÷èñëÿåò z = r2 mod n
è ïîñûëàåò z Àëèñå. (3) Àëèñà âû÷èñëÿåò ÷åòûðå êâàäðàòíûõ êîðíÿ z (mod n). Îíà ìîæåò ñäåëàòü ýòî, òàê êàê îíà çíàåò ðàçëîæ åíèå n íà ìíîæèòåëè. Íàçîâåì èõ +x, -x, +y è -y. Îáîçíà÷èì êàê x' ìåíüøåå èç ñëåäóþùèõ äâóõ ÷èñåë : x mod n -x mod n Àíàëîãè÷íî, îáîçíà÷èì êàê y' ìåíüøåå èç ñëåäóþùèõ äâóõ ÷èñåë : y mod n -y mod n Îáðàòèòå âíèìàíèå, ÷òî r ðàâíî ëèáî x', ëèáî y'. (4) Àëèñà äåëàåò ïûòàåòñÿ óãàäàòü, êàêîå èç çíà÷åíèé ðàâíî r - x' èëè y', è ïîñûëàåò ñâîþ äîãàäêó Áîáó. (5) Åñëè äîãàäêà Àëèñû ïðàâèëüíà, ðåçóëüòàòîì áðîñêà ìîíåòû ÿâëÿåòñÿ "îðåë", à åñëè íåïðàâèëüíà "ðåøêà". Áîá îáúÿâëÿåò ðåçóëüòàò áðîñêà ìîíåòû . Ïîäïðîòîêîë ïðîâåðêè: (6) Àëèñà ïîñûëàåò p è q Áîáó. (7) Áîá âû÷èñëÿåò x' è y' è ïîñûëàåò èõ Àëèñå. (8) Àëèñà âû÷èñëÿåò r. Ó Àëèñû íåò âîçìîæíîñòè óçíàòü r, ïîýòîìó îíà äåéñòâèòåëüíî óãàäûâàåò . Îíà íà ýòàïå (4) ñîîáùàåò Áîáó òîëüêî îäèí áèò ñâîåé äîãàäêè, íå äàâàÿ Áîáó ïîëó÷èòü è x', è y'. Åñëè Áîá ïîëó÷èò îáà ýòèõ ÷èñëà, îí ñìîæåò èçìåíèòü r ïîñëå ýòàïà (4). Áðîñàíèå "÷åñòíîé" ìîíåòû ñ ïîìîùüþ âîçâåäåíèÿ â ñòåïåíü ïî ìîäóëþ F  ýòîì ïðîòîêîëå â êà÷åñòâå îäíîíàïðàâëåííîé ôóíêöèè èñïîëüçóåòñÿ âîçâåäåíèå â ñòåïåíü ïî ìîäóëþ ïð îñòîãî ÷èñëà p [1306]: Ïîäïðîòîêîë áðîñàíèÿ ÷åñòíîé ìîíåòû : (1) Àëèñà âûáèðàåò ïðîñòîå ÷èñëî p òàê, ÷òîáû ìíîæèòåëè p-1 áûëè èçâåñòíû, è ñðåäè íèõ áûëî ïî êðàéíåé ìåðå îäíî áîëüøîå ïðîñòîå ÷èñëî. (2) Áîá âûáèðàåò äâà ïðèìèòèâíûõ ýëåìåíòà , h è t, â GF(p). Îí ïîñûëàåò èõ Àëèñå. (3) Àëèñà óáåæäàåòñÿ, ÷òî h è t ÿâëÿþòñÿ ïðèìèòèâíûìè ýëåìåíòàìè, è çàòåì âûáèðàåò ñëó÷àéíîå ÷èñëî x, âçàèìíî ïðîñòîå ñ p-1. Çàòåì îíà âû÷èñëÿåò îäíî èç äâóõ çíà÷åíèé : y = hx mod p, èëè y = tx mod p Îíà ïîñûëàåò y Áîáó. (4) Áîá ïûòàåòñÿ óãàäàòü, âû÷èñëèëà Àëèñà y êàê ôóíêöèþ h èëè êàê ôóíêöèþ t, è ïîñûëàåò ñâîå ïðåäïîëîæåíèå Àëèñå. (5) Åñëè äîãàäêà Áîáà ïðàâèëüíà, ðåçóëüòàòîì áðîñàíèÿ ìîíåòû ÿâëÿåòñÿ "îðåë", â ïðîòèâíîì ñëó÷àå "ðåøêà". Àëèñà îáúÿâëÿåò ðåçóëüòàò áðîñêà ìîíåòû . Ïîäïðîòîêîë ïðîâåðêè: (6) Àëèñà ðàñêðûâàåò Áîáó çíà÷åíèå x. Áîá âû÷èñëÿåò hx mod p è tx mod p, óáåæäàÿñü, ÷òî Àëèñà èãðàëà ÷åñòíî è ïðîâåðÿÿ ðåçóëüòàò áðîñêà. Îí òàêæå ïðîâåðÿåò, ÷òî x è p-1 - âçàèìíî ïðîñòûå ÷èñëà. ×òîáû Àëèñà ìîãëà ñìîøåííè÷àòü, îíà äîëæíà çíàòü äâà öåëûõ ÷èñëà , x è x', äëÿ êîòîðûõ âûïîëíÿåòñÿ hx≡tx' mod p. Äëÿ òîãî, ÷òîáû óçíàòü ýòè çíà÷åíèÿ, åé íóæíî âû÷èñëèòü : logth =xx-1 mod p-1 è logth =xx'-1 mod p-1. Ýòî òðóäíûå ïðîáëåìû. Àëèñà ñìîãëà áû ñäåëàòü ýòî, åñëè áû îíà çíàëà logth, íî Áîá âûáèðàåò h è t íà ýòàïå (2). Ó Àëèñû íåò äðóãîãî ñïîñîáà êðîìå, êàê ïîïûòàòüñÿ âû÷èñëèòü äèñêðåòíûé ëîãàðèôì . Àëèñà ìîæåò òàêæå ïîïûòàòüñÿ ñìîøåííè÷àòü, âûáðàâ x, êîòîðîå íå ÿâëÿåòñÿ âçàèìíî ïðîñòûì ñ p-1, íî Áîá îáíàðóæèò ýòî íà ýòàïå (6). Áîá ìîæåò ñìîøåííè÷àòü, åñëè h è t íå ÿâëÿþòñÿ ïðèìèòèâíûìè ýëåìåíòàìè â ïîëå in GF(p), íî Àëèñà ñìîæåò ëåãêî ïðîâåðèòü ýòî ïîñëå ýòàïà ( 2), òàê êàê åé èçâåñòíî ðàçëîæåíèå p-1 íà ïðîñòûå ìíîæèòåëè.
Óäà÷íûì â ýòîì ïðîòîêîëå ÿâëÿåòñÿ òî, ÷òî åñëè Àëèñà è Áîá çàõîòÿò áðîñèòü íåñêîëüêî ìîíåò , îí7è ñìîãóò èñïîëüçîâàòü îäíè è òå æå çíà÷åíèÿ p, h è t. Àëèñà ïðîñòî ãåíåðèðóåò íîâîå x, è ïðîòîêîë ïðîäîëæàåòñÿ ñ ýòàïà (3). Áðîñàíèå "÷åñòíîé" ìîíåòû ñ ïîìîùüþ öåëûõ ÷èñåë Áëþìà  ïðîòîêîëå áðîñàíèÿ ìîíåòû ìîæíî èñïîëüçîâàòü ÷åëûå ÷èñëà Áëþìà . (1) Àëèñà ãåíåðèðóåò öåëîå ÷èñëî Áëþìà n, ñëó÷àéíîå x, âçàèìíî ïðîñòîå ñ n, x0 = x2 mod n è x1 = x02 mod n. Îíà ïîñûëàåò Áîáó n è x1. (2) Áîá óãàäûâàåò, ÷åòíûì èëè íå÷åòíûì ÿâëÿåòñÿ x0. (3) Àëèñà ïîñûëàåò x Áîáó. (4) Áîá ïðîâåðÿåò, ÷òî n ÿâëÿåòñÿ öåëûì ÷èñëîì Áëþìà (Àëèñà íóæíî ïåðåäàòü Áîáó ìíîæèòåëè n è äîêàçàòåëüñòâà òîãî, ÷òî îíè ÿâëÿþòñÿ ïðîñòûìè , èëè âûïîëíèòü íåêîòîðûé ïðîòîêîë ñ íóëåâûì çíàíèåì, óáå æäàþùèé Áîáà, ÷òî n - ýòî öåëîå ÷èñëî Áëþìà), è ÷òî x0 = x2 mod n è x1 = x02 mod n. Åñëè âñå ïðîâåðêè âûïîëíÿþòñÿ, è Áîá óãàäàë ïðàâèëüíî, îí âûèãðûâàåò áðîñîê . Ýòî âàæíî, ÷òîáû n áûëî ÷èñëîì Áëþìà. Èíà÷å Àëèñà ñìîæåò íàéòè òàêîå x'0, ÷òî x'02 mod n = x02 mod n=x1, ãäå x'0 òàêæå ÿâëÿåòñÿ êâàäðàòè÷íûì îñòàòêîì . Åñëè áû x0 áûë ÷åòíûì, à x'0 - íå÷åòíûì (èëè íàîáîðîò), Àëèñà ìîãëà áû ìîøåííè÷àòü.
23.8 Îäíîíàïðàâëåííûå ñóììàòîðû Ñóùåñòâóåò ïðîñòàÿ ôóíêöèÿ îäíîíàïðàâëåííîãî ñóììàòîðû [116] (ñì. ðàçäåë 4.12.): A(xi , y) = xi-1y mod n ×èñëà n (ÿâëÿþùååñÿ ïðîèçâåäåíèåì äâóõ ïðîñòûõ ÷èñåë ) è x0 äîëæíû áûòü çàðàíåå ñîãëàñîâàíû . Òîãäà ñóììèðîâàíèåì y1, y2 è y3 áóäåò
(( x0 yq mod n) y2 mod n ) y3 mod n Ýòî âû÷èñëåíèå íå çàâèñèò îò ïîðÿäêà y1, y2 è y3.
23.9 Ðàñêðûòèå ñåêðåòîâ "âñå èëè íè÷åãî" Ýòîò ïðîòîêîë ïîçâîëÿåò íåñêîëüêèì ñòîðîíàì (äëÿ ðàáîòû ïðîòîêîëà íóæíî íå ìåíüøå äâóõ ó÷àñòíèêîâ ) ïîêóïàòü ðàçëè÷íûå ñåêðåòû ó îäíîãî ïðîäàâöà (ñì. ðàçäåë 4.13) [1374, 1175]. Íà÷íåì ñ îïðåäåëåíèÿ. Âîçüìåì äâå ñòðîêè áèòîâ, x è y. Ôèêñèðîâàííûì áèòîâûì èíäåêñîì ( fixed bit index, FBI) x è y íàçûâàåòñÿ ïîñëåäîâàòåëüíîñòü íîìåðîâ ñîâïàäàþùèõ áèòîâ ýòèõ ñòðîê. Íàïðèìåð: x = 110101001011 y = 101010000110 FBI(x, y) = {1, 4, 5, 11} (Ìû ÷èòàåì áèòû ñïðàâà íàëåâî, ñ÷èòàÿ íóëåâûì êðàéíèé ïðàâûé áèò .) Òåïåðü âîò êàê âûãëÿäèò ïðîòîêîë . Àëèñà áóäåò ïðîäàâöîì. Áîá è Êýðîë - ïîêóïàòåëÿìè. Ó Àëèñû åñòü k náèòîâûõ ñåêðåòîâ: S1, S2, . . . Sk. Áîá õî÷åò êóïèòü ñåêðåò Sb, Êýðîë - ñåêðåò Sc. (1) Àëèñà ãåíåðèðóåò ïàðó "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷"è ñîîáùàåò Áîáó (íî íå Êýðîë) îòêðûòûé êëþ÷. Îíà ãåíåðèðóåò äðóãóþ ïàðó "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷"è ñîîáùàåò Êýðîë (íî íå Áîáó) îòêðûòûé êëþ÷. (2) Áîá ãåíåðèðóåò k n-áèòîâûõ ñëó÷àéíûõ ÷èñåë, B1, B2, . . . Bk, è ñîîáùàåò èõ Êýðîë. Êýðîë ãåíåðèðóåò k náèòîâûõ ñëó÷àéíûõ ÷èñåë, C1, C2, . . . Ck, è ñîîáùàåò èõ Áîáó. (3) Áîá øèôðóåò Cb (íàïîìíèì, îí õî÷åò êóïèòü ñåêðåò Sb) îòêðûòûì êëþ÷îì, ïîëó÷åííûì îò Àëèñû . Îí âû÷èñëÿåò FBI äëÿ Cb è òîëüêî ÷òî çàøèôðîâàííîãî ðåçóëüòàòà . Îí ïîñûëàåò ýòîò FBI Êýðîë. Êýðîë øèôðóåò Bc (íàïîìíèì, îíà õî÷åò êóïèòü ñåêðåò Sc) îòêðûòûì êëþ÷îì, ïîëó÷åííûì îò Àëèñû . Îíà âû÷èñëÿåò FBI äëÿ Bc è òîëüêî ÷òî çàøèôðîâàííîãî ðåçóëüòàòà . Îíà ïîñûëàåò ýòîò FBI Áîáó. (4) Áîá áåðåò êàæäîå èç n-áèòîâûõ ÷èñåë B1, B2, . . . Bk è çàìåíÿåò êàæäûé áèò, íîìåðà êîòîðîãî íåò â FBI, ïîëó÷åííîì îò Êýðîë, åãî äîïîëíåíèåì. Îí ïîñûëàåò ýòîò íîâûé ñïèñîê n-áèòîâûõ ÷èñåë B'1, B'2, . . . B'k
Àëèñå. Êýðîë áåðåò êàæäîå èç n-áèòîâûõ ÷èñåë C1, C2, . . . Ck è çàìåíÿåò êàæäûé áèò, íîìåðà êîòîðîãî íåò â FBI, ïîëó÷åííîì îò Áîáà, åãî äîïîëíåíèåì. Îíà ïîñûëàåò ýòîò íîâûé ñïèñîê n-áèòîâûõ ÷èñåë C'1, C'2, . . . C'k Àëèñå. (5) Àëèñà ðàñøèôðîâûâàåò âñå C'i çàêðûòûì êëþ÷îì Áîáà, ïîëó÷àÿ k n-áèòîâûõ ÷èñåë C"1, C"2, . . . C"k. Îíà âû÷èñëÿåò Si ⊕ C"i äëÿ i = 1, . . . k, è ïîñûëàåò ðåçóëüòàòû Áîáó. Àëèñà ðàñøèôðîâûâàåò âñå B'i çàêðûòûì êëþ÷îì Êýðîë, ïîëó÷àÿ k n-áèòîâûõ ÷èñåë B"1, B"2, . . . B"k. Îíà âû÷èñëÿåò Si ⊕ B"i äëÿ i = 1, . . . k, è ïîñûëàåò ðåçóëüòàòû Êýðîë. (6) Áîá âû÷èñëÿåò Sb, âûïîëíÿÿ XOR Cb è b-ãî ÷èñëà, ïîëó÷åííîãî îò Àëèñû. Êýðîë âû÷èñëÿåò Sc, âûïîëíÿÿ XOR Bc è c-ãî ÷èñëà, ïîëó÷åííîãî îò Àëèñû.. Âñå òàê ñëîæíî. Ïîÿñíèì ýòè äîëãèå äåéñòâèÿ íà ïðèìåðå . Ó Àëèñû åñòü äëÿ ïðîäàæè âîñåìü 12-áèòîâûõ ñåêðåòîâ : S1 = 1990, S2 = 471, S3 = 3860, S4 = 1487, S5 = 2235, S6 = 3751, S7 = 2546 è S8 = 4043. Áîá õî÷åò êóïèòü S7, à Êýðîë - S2. (1) Àëèñà èñïîëüçóåò àëãîðèòì RSA.  äèàëîãå ñ Áîáîì îíà èñïîëüçóåò ñëåäóþùóþ ïàðó êëþ÷åé : n = 7387, e = 5145 è d = 777, à â äèàëîãå ñ Êýðîë - n = 2747, e = 1421 è d = 2261. Îíà ñîîáùàåò Áîáó è Êýðîë èõ îòêðûòûå êëþ÷è. (2) Áîá ãåíåðèðóåò âîñåìü 12-áèòîâûõ ÷èñåë, B1= 743, B2= 1988, B3= 4001, B4= 2942, B5= 3421, B6= 2210, B7=2306 è B8= 222, è ñîîáùàåò èõ Êýðîë. Êýðîë ãåíåðèðóåò âîñåìü 12-áèòîâûõ ÷èñåë, C1= 1708, C2 = 711, C3= 1969, C4 = 3112, C5 = 4014, C6 = 2308, C7 = 2212 è C8 = 222, è ñîîáùàåò èõ Áîáó. (3) Áîá õî÷åò êóïèòü S7, ïîýòîìó îí îòêðûòûì êëþ÷îì, âûäàííûì Àëèñîé, øèôðóåò C7. 22125145 mod 7387 = 5928 Òåïåðü: 2212 = 0100010100100 5928 = 1011100101000 Ñëåäîâàòåëüíî, FBI ýòèõ äâóõ ÷èñåë ðàâåí {0, 1, 4, 5, 6}. Îí ïîñûëàåò åãî Êýðîë. Êýðîë õî÷åò êóïèòü S2, ïîýòîìó îíà îòêðûòûì êëþ÷îì, âûäàííûì Àëèñîé, øèôðóåò B2 è âû÷èñëÿåò FBI B2 è ðåçóëüòàòà øèôðîâàíèÿ. Îíà ïîñûëàåò Áîáó {0, 1, 2, 6, 9, 10}. (4) Áîá áåðåò B1, B2, . . . B8 è çàìåíÿåò êàæäûé áèò, èíäåêñ êîòîðîãî îòñóòñòâóåò â íàáîðå {0, 1, 2, 6, 9, 10} åãî äîïîëíåíèåì. Íàïðèìåð: B2= 111111000100 = 1988 B2 = 011001111100 = 1660 Îí ïîñûëàåò B'1, B'2, . . . B'8 Àëèñå. Êýðîë áåðåò C1, C2, . . . C8 è çàìåíÿåò êàæäûé áèò, èíäåêñ êîòîðîãî îòñóòñòâóåò â íàáîðå {0, 1, 4, 5, 6}åãî äîïîëíåíèåì. Íàïðèìåð: C7 = 0100010100100 = 2212 C'7 = 1011100101000 = 5928 Îíà ïîñûëàåò C'1, C'2, . . . C'8 Àëèñå. (5) Àëèñà ðàñøèôðîâûâàåò âñå C'i çàêðûòûì êëþ÷îì Áîáà è âûïîëíÿåò XOR ðåçóëüòàòîâ ñ Si . Íàïðèìåð, äëÿ i = 7: 5928777 mod 7387 = 2212; 2546 ⊕ 2212 = 342 Îíà ïîñûëàåò ðåçóëüòàò Áîáó. Àëèñà ðàñøèôðîâûâàåò âñå B'i çàêðûòûì êëþ÷îì Êýðîë è âûïîëíÿåò XOR ðåçóëüòàòîâ ñ Si . Íàïðèìåð, äëÿ i = 2: 16602261 (mod 2747) = 1988; 471 ⊕ 1988 = 1555 Îíà ïîñûëàåò ðåçóëüòàò Êýðîë. (6) Áîá âû÷èñëÿåò S7, âûïîëíÿÿ XOR C7 è ñåäüìîãî ÷èñëà, ïîëó÷åííîãî èì îò Àëèñû :
2212 ⊕ 342=2546 Êýðîë âû÷èñëÿåò S2, âûïîëíÿÿ XOR B2 è âòîðîãî ÷èñëà, ïîëó÷åííîãî åé îò Àëèñû . 1988 ⊕ 1555 = 471
Ïðîòîêîë ðàáîòàåò äëÿ ëþáîãî êîëè÷åñòâà ïîêóïàòåëåé . Åñëè Áîá, Êýðîë è Äýéâ õîòÿò êóïèòü ñåêðåòû, Àë èñà âûäàåò êàæäîìó ïîêóïàòåëþ äâà îòêðûòûõ êëþ÷à, ïî îäíîìó íà êàæäîãî äðóãîãî ïîêóïàòåëÿ . Êàæäûé ïîêóïàòåëü ïîëó÷àåò íàáîð ÷èñåë îò êàæäîãî äðóãîãî ïîêóïàòåëÿ . Çàòåì îíè âûïîëíÿþò ïðîòîêîë ñ Àëèñîé äëÿ êàæäîãî èç ñâîèõ íàáîðîâ íîìåðîâ è âûïîëíÿþò XOR âñåõ ïîëó÷åííûõ îò Àëèñû ðåçóëüòàòîâ, ïîëó÷àÿ ñâîè ñåêð åòû. Áîëåå ïîäðîáíî ýòî îïèñàíî â [1374, 1175]. Ê ñîæàëåíèþ, ïàðà íå÷åñòíûõ ó÷àñòíèêîâ ìîãóò ñìîøåííè÷àòü . Àëèñà è Êýðîë, äåéñòâóÿ íà ïàðó, ìîãóò ëåãêî ïîíÿòü, êàêîé ñåêðåò ïîëó÷èë Áîá : åñëè îíè çíàþò FBI Cb è àëãîðèòì øèôðîâàíèÿ Áîáà, îíè ìîãóò ïîäûñêàòü òàêîå b, ÷òî ó Cb áóäåò ïðàâèëüíûé FBI. À Áîá è Êýðîë, äåéñòâóÿ âìåñòå, ìîãóò ëåãêî çàïîëó÷èòü âñå ñåêðåòû Àëèñû. Åñëè âû ñ÷èòàåòå, ÷òî ó÷àñòíèêè ÷åñòíû, ìîæíî èñïîëüçîâàòü ïðîòîêîë ïîïðîùå [389]. (1) Àëèñà øèôðóåò âñå ñåêðåòû RSA è ïîñûëàåò èõ Áîáó: Ci = Si A mod n (2) Áîá âûáèðàåò ñâîé ñåêðåò Cb, ãåíåðèðóåò ñëó÷àéíîå ÷èñëî r è ïîñûëàåò Àëèñå. C' = Cbre mod n (3) Àëèñà ïîñûëàåò Áîáó^ P' = C'@ mod n (4) Áîá âû÷èñëÿåò P' Sb = P'r-1 mod n Åñëè ó÷àñòíèêè ìîãóò æóëüíè÷àòü, Áîá ìîæåò äîêàçàòü ñ íóëåâûì çíàíèåì, ÷òî îí çíàåò íåêîòîðîå r, òàêîå ÷òî C' = Cbre mod n, è õðàíèòü â b ñåêðåòå, ïîêà Àëèñà íå ïåðåäàñò åìó íà ýòàïå (3) P' [246).
23.10 ×åñòíûå è îòêàçîóñòîé÷èâûå êðèïòîñèñòåìû ×åñòíàÿ ñõåìà Diffie-Hellman ×åñòíûå êðèïòîñèñòåìû ïðåäñòàâëÿþò ñîáîé ïðîãðàììíûé ñïîñîá óñëîâíîãî âðó÷åíèÿ äîêóìåíòîâ (ñì. ðàçäåë 4.14). Ýòîò ïðèìåð âçÿò èç ðàáîò Ñèëüâèè Ìèêàëè ( Silvia Micali) [1084, 1085]. Îí çàïàòåíòîâàí [1086, 1087].  áàçîâîé ñõåìå Diffie-Hellman ãðóïïà ïîëüçîâàòåëåé èñïîëüçóåò îáùåå ïðîñòîå ÷èñëî p è ãåíåðàòîð g. Çàêðûòûì êëþ÷îì Àëèñû ÿâëÿåòñÿ s, à åå îòêðûòûì êëþ÷îì t = gs mod p. Âîò êàê ñäåëàòü ñõåìó Diffie-Hellman ÷åñòíîé (â ýòîì ïðèìåðå èñïîëüçóåòñÿ ïÿòü äîâåðåííûõ ëèö ). (1) Àëèñà âûáèðàåò ïÿòü öåëûõ ÷èñåë, s1, s2, s3, s4, s5, ìåíüøèõ p-1. Çàêðûòûì êëþ÷îì Àëèñû ÿâëÿåòñÿ s = (s1+ s2+ s3+ s4+ s5) mod p-1 à åå îòêðûòûì êëþ÷îì t = gs mod p Àëèñà òàêæå âû÷èñëÿåò ti = g si mod p, äëÿ i = 1, . . . 5. Îòêðûòûìè ÷àñòÿìè Àëèñû ÿâëÿþòñÿ ti , à çàêðûòûìè - si . (2) Àëèñà ïîñûëàåò çàêðûòóþ è ñîîòâåòñòâóþùóþ îòêðûòóþ ÷àñòè êàæäîìó äîâåðåííîìó ëèöó . Íàïðèìåð, îíà ïîñûëàåò s1 è t2 äîâåðåííîìó ëèöó 1. Îíà ïîñûëàåò t â KDC. (3) Êàæäîå äîâåðåííîå ëèöî ïðîâåðÿåò, ÷òî ti = g si mod p Åñëè ýòî òàê, äîâåðåííîå ëèöî ïîäïèñûâàåò ti è ïîñûëàåò åãî â KDC. Äîâåðåííîå ëèöî ñîõðàíÿåò si â áåçîïàñíîì ìåñòå. (4) Ïîëó÷èâ âñå ïÿòü îòêðûòûõ ÷àñòåé , KDC ïðîâåðÿåò, ÷òî
t=(t1* t2* t3* t4* t5) mod p Åñëè ýòî òàê, KDC ïðèçíàåò îòêðûòûé êëþ÷.  ýòîò ìîìåíò KDC çíàåò, ÷òî ó êàæäîãî äîâåðåííîãî ëèöà åñòü ïðàâèëüíàÿ ÷àñòü, è ÷òî îíè ïðè íåîáõîä èìîñòè ñìîãóò âîññòàíîâèòü çàêðûòûé êëþ÷ . Îäíàêî íè KDC, íè ëþáûå ÷åòûðå äîâåðåííûõ ëèöà íå ìîãóò âîññòàíîâèòü çàêðûòûé êëþ÷ Àëèñû . Ðàáîòû Ìèêàëè [1084, 1085] òàêæå ñîäåðæàò ïîñëåäîâàòåëüíîñòü äåéñòâèÿ äëÿ ñîçäàíèÿ ÷åñòíîãî RSA è äëÿ îáúåäèíåíèÿ ïîðîãîâîé ñõåìû ñ ÷åñòíîé êðèïòîñèñòåìîé , ïîçâîëÿþùåé m äîâåðåííûì ëèöàì èç n âîññòàíîâèòü çàêðûòûé êëþ÷. Îòêàçîóñòîé÷èâàÿ ñõåìà Diffie-Hellman Êàê è â ïðåäûäóùåì ïðîòîêîëå ó ãðóïïû ïîëüçîâàòåëåé åñòü îáùèå ïðîñòîå ÷èñëî p è ãåíåðàòîð g. Çàêðûòûì êëþ÷îì Àëèñû ÿâëÿåòñÿ s, à åå îòêðûòûì êëþ÷îì t = gs mod p. (1) KDC âûáèðàåò ñëó÷àéíîå ÷èñëî B èç äèàïàçîíà îò 0 äî p-2 è âðó÷àåò B ñ ïîìîùüþ ïðîòîêîëà âðó÷åíèÿ áèòîâ (ñì. ðàçäåë 4.9). Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî A èç äèàïàçîíà îò 0 äî p-2. Îíà ïîñûëàåò KDC gA mod p. (2) Ïîëüçîâàòåëü "ðàçäåëÿåò" A ñ êàæäûì äîâåðåííûì ëèöîì, èñïîëüçóÿ ñõåìó ïîäòâåðæäàåìîãî ñîâìåñòíîãî èñïîëüçîâàíèÿ ñåêðåòà (ñì. ðàçäåë 3.7). (3) KDC ðàñêðûâàåò B Àëèñå. (4) Àëèñà ïðîâåðÿåò âðó÷åíèå ýòàïà (1). Çàòåì îíà óñòàíàâëèâàåò ñâîé îòêðûòûé êëþ÷ ðàâíûì t = gA gB mod p à çàêðûòûé êëþ÷ ðàâíûì s = (A + B) mod (p-1) Äîâåðåííûå ëèöà ìîãóò âîññòàíîâèòü A. Òàê êàê KDC çíàåò B, ýòîãî äîñòàòî÷íî äëÿ âîññòàíîâëåíèÿ s. È Àëèñà íå ñìîæåò èñïîëüçîâàòü íèêàêèõ ïîäñîçíàòåëüíûõ êàíàëîâ äëÿ ïåðåäà÷è íåñàíêöèîíèðîâàííîé èíôîðìàöèè. Ýòîò ïðîòîêîë, ðàññìîòðåííûé â [946, 833] â íàñòîÿùåå âðåìÿ ïàòåíòóåòñÿ.
23.11 ZERO-KNOWLEDGE PROOFS OF KNOWLEDGE Äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì äëÿ äèñêðåòíîãî ëîãàðèôìà Ïåããè õî÷åò äîêàçàòü Âèêòîðó, ÷òî åé èçâåñòíî x, ÿâëÿþùååñÿ ðåøåíèåì Ax ≡ B (mod p) ãäå p - ïðîñòîå ÷èñëî, à x - ïðîèçâîëüíîå ÷èñëî, âçàèìíî ïðîñòîå ñ p-1. ×èñëà A, B è p îáùåäîñòóïíû, à x õðàíèòñÿ â ñåêðåòå. Âîò êàê Ïåããè, íå ðàñêðûâàÿ çíà÷åíèÿ x, ìîæåò äîêàçàòü, ÷òî îíî åé èçâåñòíî (ñì. ðàçäåë 5.1) [338, 337]. (1) Ïåããè ãåíåðèðóåò t ñëó÷àéíûõ ÷èñåë, rl, r2, . . . rt, ïðè÷åì âñå ri ìåíüøå p-1. (2) Ïåããè âû÷èñëÿåò hi = Ari mod p äëÿ âñåõ çíà÷åíèé i è ïîñûëàåò èõ Âèêòîðó. (3) Ïåããè è Âèêòîð, âîñïîëüçîâàâøèñü ïðîòîêîëîì áðîñàíèÿ ìîíåòû ãåíåðèðóþò t áèòîâ: b1, b2, . . . bt. (4) Äëÿ âñåõ t áèòîâ Ïåããè âûïîëíÿåò îäíó èç ñëåäóþùèõ îïåðàöèé : a) Åñëè bi = 0, îíà ïîñûëàåò Âèêòîðó ri b) Åñëè bi = 1, îíà ïîñûëàåò Âèêòîðó si = (ri - rj) mod (p-1), ãäå j - íàèìåíüøåå çíà÷åíèå èíäåêñà, ïðè êîò îðîì bj = 1 (5) Äëÿ âñåõ t áèòîâ Âèêòîð ïðîâåðÿåò îäíî èç ñëåäóþùèõ óñëîâèé : a) Ïðè bi = 0 ÷òî A ri ≡ hi (mod p) b) Ïðè bi = 1 ÷òî A si ≡ hi hj-1 (mod p) (6) Ïåããè ïîñûëàåò Âèêòîðó Z, ãäå Z = (x - rj) mod (p-1) (7) Âèêòîð ïðîâåðÿåò, ÷òî AZ ≡ Bhj-1 (mod p)
t
Âåðîÿòíîñòü óäà÷íîãî ìîøåííè÷åñòâà Ïåããè ðàâíà 1/2 .
Äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì äëÿ âîçìîæíîñòè âñêðûòü RSA Àëèñà çíàåò çàêðûòûé êëþ÷ Êýðîë. Ìîæåò áûòü îíà âçëîìàëà RSA, à ìîæåò îíà âçëîìàëà äâåðü êâàðòèðû Êýðîë è âûêðàëà êëþ÷. Àëèñà õî÷åò óáåäèòü Áîáà, ÷òî åé èçâåñòåí êëþ÷ Êýðîë. Îäíàêî îíà íå õî÷åò íè ñîîáùàòü Áîáó êëþ÷, íè äàæå ðàñøèôðîâàòü äëÿ Áîáà îäíî èç ñîîáùåíèé Êýðîë . Äàëåå ïðèâåäåí ïðîòîêîë ñ íóëåâûì çíàíèåì, ñ ïîìîùüþ êîòîðîãî Àëèñà óáåæäàåò Áîáà, ÷òî îíà çíàåò çàêðûòûé êëþ÷ Êýðîë [888]. Ïóñòü îòêðûòûé êëþ÷ Êýðîë - e, åå çàêðûòûé êëþ÷ - d, à ìîäóëü RSA - n. (1) Àëèñà è Áîá âûáèðàþò ñëó÷àéíîå k è m, äëÿ êîòîðûõ km ≡ e (mod n) ×èñëà îíè äîëæíû âûáèðàòü ñëó÷àéíûì îáðàçîì, èñïîëüçóÿ äëÿ ãåíåðàöèè k ïðîòîêîë áðîñàíèÿ ìîíåòû, à çàòåì âû÷èñëÿÿ m. Åñëè è k, è m áîëüøå 3, ïðîòîêîë ïðîäîëæàåòñÿ.  ïðîòèâíîì ñëó÷àå ÷èñëà âûáèðàþ òñÿ çàíîâî. (2) Àëèñà è Áîá ãåíåðèðóþò ñëó÷àéíûé øèôðîòåêñò C. È ñíîâà îíè äîëæíû âîñïîëüçîâàòüñÿ ïðîòîêîëîì áð îñàíèÿ ìîíåòû. (3) Àëèñà, èñïîëüçóÿ çàêðûòûé êëþ÷ Êýðîë, âû÷èñëÿåò M = Cd mod n Çàòåì îíà âû÷èñëÿåò X = Mk mod n è ïîñûëàåò X Áîáó. (4) Áîá ïðîâåðÿåò, ÷òî Xm mod n = C. Åñëè ýòî òàê, òî îí óáåæäàåòñÿ â ïðàâèëüíîñòè çàÿâëåíèÿ Àëèñû . Àíàëîãè÷íûé ïðîòîêîë ìîæíî èñïîëüçîâàòü äëÿ äåìîíñòðàöèè âîçìîæíîñòè âñêðûòèÿ ïðîáëåìû äèñêðåòí îãî ëîãàðèôìà [888]. Äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì òîãî, ÷òî n ÿâëÿåòñÿ ÷èñëîì Áëþìà Ïîêà íåèçâåñòíî íèêàêèõ äåéñòâèòåëüíî ïðàêòè÷íûõ äîêàçàòåëüñòâ òîãî, ÷òî n =pq, ãäå p è q - ïðîñòûå ÷èñëà, êîíãðóýíòíûå 3 ïî ìîäóëþ 4. Îäíàêî åñëè n èìååò ôîðìó prqs, ãäå r è s íå÷åòíû, òî ó ÷èñëà n ñîõðàíÿþòñÿ ñâîéñòâà, êîòîðûå äåëàþò ÷èñëà Áëþìà ïîëåçíûìè äëÿ êðèïòîãðàôèè . È òîãäà ñóùåñòâóåò äîêàçàòåëüñòâî ñ íóëåâûì çíàíèåì òîãî, ÷òî n èìååò òàêóþ ôîðìó. Ïðåäïîëîæèì, ÷òî Àëèñå èçâåñòíî ðàçëîæåíèå íà ìíîæèòåëè ÷èñëà Áëþìà n, ãäå n îáëàäàåò ðàññìîòðåííîé âûøå ôîðìîé. Âîò êàê îíà ìîæåò äîêàçàòü Áîáó, ÷òî n èìååò òàêóþ ôîðìó [660]. (1) Àëèñà ïîñûëàåò Áîáó ÷èñëî u, ÷åé ñèìâîë ßêîáè ðàâåí -1 ïî ìîäóëþ n. (2) Àëèñà è Áîá ñîâìåñòíî âûáèðàþò ñëó÷àéíûå áèòû : b1, b2, . . . bk. (3) Àëèñà è Áîá ñîâìåñòíî âûáèðàþò ñëó÷àéíûå ÷èñëà : x1, x2, . . . xk. (4) Äëÿ êàæäîãî i = 1, 2, . . . k Àëèñà ïîñûëàåò Áîáó êâàäðàòíûé êîðåíü ïî ìîäóëþ n äëÿ îäíîãî èç ÷åòûðåõ ÷èñåë: xi , -xi , uxi , - uxi . Ñèìâîë ßêîáè êâàäðàòíîãî êîðíÿ äîëæåí áûòü ðàâåí bi . Âåðîÿòíîñòü óäà÷íîãî ìîøåííè÷åñòâà Àëèñû ðàâíà 1/2 k.
23.12 Ñëåïûå ïîäïèñè Ïîíÿòèå ñëåïûõ ïîäïèñåé (ñì. ðàçäåë 5.3) áûëî ïðèäóìàíî Äýâèäîì ×àóìîì (David Chaum) [317, 323], êîòîðûé òàêæå ïðåäëîæèë è ïåðâóþ ðåàëèçàöèþ ýòîãî ïîíÿòèÿ [318]. Îíà èñïîëüçóåò àëãîðèòì RSA. Ó Áîáà åñòü îòêðûòûé êëþ÷ e, çàêðûòûé êëþ÷ d è îòêðûòûé ìîäóëü n. Àëèñà õî÷åò, ÷òîáû Áîá âñëåïóþ, íå ÷èòàÿ, ïîäïèñàë ñîîáùåíèå m. (1) Àëèñà âûáèðàåò ñëó÷àéíîå ÷èñëî k èç äèàïàçîíà îò 1 äî n. Çàòåì îíà ìàñêèðóåò m, âû÷èñëÿÿ t = mke mod n (2) Áîá ïîäïèñûâàåò t td = (mke)d mod n (3) Àëèñà ñíèìàåò ìàñêèðîâêó ñ td, âû÷èñëÿÿ
s = td/k mod n (4) Ðåçóëüòàòîì ÿâëÿåòñÿ s = md mod n Ýòî ìîæíî ëåãêî ïîêàçàòü td ≡ (mke)d ≡ mdk (mod n), ïîýòîìó td/k = mdk/k ≡ md (mod n). ×àóì ïðèäóìàë öåëîå ñåìåéñòâî áîëåå ñëîæíûõ àëãîðèòìîâ ñëåïîé ïîäïèñè [320, 324], íàçûâàåìûõ íåîæèäàííûìè ñëåïûìè ïîäïèñÿìè. Ñõåìû ýòèõ ïîäïèñåé ñëîæíåå, íî îíè äàþò áîëüøå âîçìîæíîñòåé .
23.13 Ïåðåäà÷à ñ çàáûâàíèåì  ýòîì ïðîòîêîëå, ïðåäëîæåííîì Ìàéêëîì Ðàáèíîì ( Michael Rabin) [1286], Àëèñà ñ âåðîÿòíîñòüþ 50 ïðîöåíòîâ óäàåòñÿ ïåðåäàòü Áîáó äâà ïðîñòûõ ÷èñëà, p è q. Àëèñà íå çíàåò, óñïåøíî ëè ïðîøëà ïåðåäà÷à (Ñì. ðàçäåë 5.5.) (Ýòîò ïðîòîêîë ìîæíî èñïîëüçîâàòü äëÿ ïåðåäà÷è Áîáó ëþáîãî ñîîáùåíèÿ ñ 50-ïðîöåíòíîé âåðîÿòíîñòüþ óñïåøíîé ïåðåäà÷è, åñëè p è q ðàñêðûâàþò çàêðûòûé êëþ÷ RSA.) (1) Àëèñà ïîñûëàåò Áîáó ïðîèçâåäåíèå äâóõ ïðîñòûõ ÷èñåë : n = pq. (2) Áîá âûáèðàåò ñëó÷àéíîå ÷èñëî x, ìåíüøåå n è âçàèìíî ïðîñòîå ñ n. Îí ïîñûëàåò Àëèñå: a = x2 mod n (3) Àëèñà, çíàÿ p è q, âû÷èñëÿåò ÷åòûðå êâàäðàòíûõ êîðíÿ a: x, n-x, y è n-y. Îíà ñëó÷àéíûì îáðàçîì âûáèðàåò ëþáîé èç ýòèõ êîðíåé è ïîñûëàåò åãî Áîáó . (4) Åñëè Áîá ïîëó÷àåò y èëè n-y, îí ìîæåò âû÷èñëèò íàèáîëüøèé îáùèé äåëèòåëü x+y è n, êîòîðûì áóäåò ëèáî p, ëèáî q. Çàòåì, êîíå÷íî æå, n/p = q. Åñëè Áîá ïîëó÷àåò x èëè n-x, îí íå ìîæåò íè÷åãî âû÷èñëèòü. Ó ýòîãî ïðîòîêîëà ìîæåò áûòü ñëàáîå ìåñòî : âîçìîæíà ñèòóàöèÿ, êîãäà Áîá ìîæåò âû÷èñëèòü òàêîå ÷èñëî a, ÷òî ïðè èçâåñòíîì êâàäðàòíîì êîðíå a îí ñìîæåò âñå âðåìÿ ðàñêëàäûâàòü n íà ìíîæèòåëè.
23.14 Áåçîïàñíûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè Ýòîò ïðîòîêîë âçÿò èç [1373]. Àëèñà çíàåò öåëîå ÷èñëî i, à Áîá - öåëîå ÷èñëî j. Àëèñà è Áîá âìåñòå õîòÿò óçíàòü, ÷òî ïðàâèëüíî - i≤j èëè i>j, íî íè Àëèñà, íè Áîá íå õî÷åò ðàñêðûòü ñâîå ÷èñëî ïàðòíåðó. Ýòîò îñîáûé ñëó÷àé áåçîïàñíûõ âû÷èñëåíèé ñ íåñêîëüêèìè ó÷àñòíèêàìè (ñì. ðàçäåë 6.2) èíîãäà íàçûâàþò ïðîáëåìîé ìèëëèîíåðà ßî [162, 7].  ïðèâîäèìîì ïðèìåðå ïðåäïîëàãàåòñÿ, ÷òî i è j âûáèðàþòñÿ èç äèàïàçîíà îò 1 äî 100. Ó Áîáà åñòü îòêðûòûé è çàêðûòûé êëþ÷è. (1) Àëèñà âûáèðàåò áîëüøîå ñëó÷àéíîå ÷èñëî x è øèôðóåò åãî îòêðûòûì êëþ÷îì Áîáà. c = EB(x) (2) Àëèñà âû÷èñëÿåò c-j è ïîñûëàåò ðåçóëüòàò Áîáó. (3) Áîá âû÷èñëÿåò ñëåäóþùèå 100 ÷èñåë: yu = DB(c-i+u), äëÿ 1≤u≤100 DB îáîçíà÷àåò äåøèôðèðîâàíèå çàêðûòûì êëþ÷îì Áîáà. Îí âûáèðàåò áîëüøîå ñëó÷àéíîå ÷èñëî p. (Ðàçìåð p äîëæåí áûòü íåìíîãî ìåíüøå x. Áîá íå çíàåò x, íî Àëèñà ìîæåò ëåãêî ñîîáùèòü åìó ðàçìåð x.) îí âû÷èñëÿåò ñëåäóþùèå 100 ÷èñåë: zu = (yu mod p), äëÿ 1≤u≤100 Äàëåå îí ïðîâåðÿåò, ÷òî äëÿ âñåõ u≠v |zu - zì| ≥ 2 è ÷òî äëÿ âñåõ u 0 < zu < p-1 Åñëè ýòî íå òàê, òî Áîá âûáèðàåò äðóãîå ïðîñòîå ÷èñëî è ïðîáóåò ñíîâà. (4) Áîá ïîñûëàåò Àëèñå ýòó ïîñëåäîâàòåëüíîñòü ÷èñåë, ñîáëþäàÿ èõ òî÷íûé ïîðÿäîê: zl, z2, . . . zj, zj+1+1, zj+2+1, . . . z100+1, p
(5) Àëèñà ïðîâåðÿåò, êîíãðóýíòåí ëè i-ûé ÷ëåí ïîñëåäîâàòåëüíîñòè x mod p. Åñëè ýòî òàê, îíà äåëàåò âûâîä, ÷òî i≤j.  ïðîòèâíîì ñëó÷àå îíà ðåøàåò, ÷òî i> j. (6) Àëèñà ñîîáùàåò Áîáó ñâîè âûâîäû. Ïðîâåðêà, êîòîðóþ Áîá âûïîëíÿåò íà ýòàïå (3), äîëæíà ãàðàíòèðîâàòü, ÷òî íè îäíî ÷èñëî íå ïîÿâèòñÿ äâà æäû â ïîñëåäîâàòåëüíîñòè, ãåíåðèðîâàííîé íà ýòàïå (4).  ïðîòèâíîì ñëó÷àå, åñëè za = zb, Àëèñà óçíàåò, ÷òî a ≤ j < b. Íåäîñòàòêîì ýòîãî ïðîòîêîëà ÿâëÿåòñÿ òî, ÷òî Àëèñà óçíàåò ðåçóëüòàòû âû÷èñëåíèé ðàíüøå Áîáà . Íè÷òî íå ïîìåøàåò åé çàâåðøèòü ïðîòîêîë íà ýòàïå (5), îòêàçàâøèñü ñîîáùàòü Áîáó ðåçóëüòàòû . Îíà äàæå ìîæåò ñîëãàòü Áîáó íà ýòàïå (6). Ïðèìåð ïðîòîêîëà Ïóñòü îíè èñïîëüçóþò RSA. Îòêðûòûì êëþ÷îì Áîáà ÿâëÿåòñÿ 7, à çàêðûòûì - 23. n = 55. Ñåêðåòíîå ÷èñëî Àëèñû, i, ðàâíî 4, ñåêðåòíîå ÷èñëî Áîáà, j - 2. (Ïðåäïîëîæèì, ÷òî ÷èñëà i è j ìîãóò ïðèíèìàòü òîëüêî çíà÷åíèÿ 1, 2, 3 è 4.) (1) Àëèñà âûáèðàåò x = 39 è c = EB(39) = 19. (2) Àëèñà âû÷èñëÿåò c-i=19-4=15. Îíà ïîñûëàåò 15 Áîáó. (3) Áîá âû÷èñëÿåò ñëåäóþùèå ÷åòûðå ÷èñëà : y1 = DB{15+l) =26 y2 = DB{15+2) = 18 y3 = DB{15+3) =2 y4 = DB{15+4) = 39 Îí âûáèðàåò p = 31 è âû÷èñëÿåò: z1 = (26 mod 31) = 26 z2 = (18 mod 31) =18 z3 = (2 mod 31) = 2 z4 = (39 mod 31) = 8 Îí âûïîëíÿåò âñå ïðîâåðêè è óáåæäàåòñÿ, ÷òî ïîñëåäîâàòåëüíîñòü ïðàâèëüíà . (4) Áîá ïîñûëàåò Àëèñå ýòó ïîñëåäîâàòåëüíîñòü ÷èñåë, ñîáëþäàÿ èõ ïîðÿäîê : 26, 18, 2+1, 8+1, 31, ò.å., 26, 18, 3, 9, 31 (5) Àëèñà ïðîâåðÿåò, êîíãðóýíòíî ëè ÷åòâåðòîå ÷èñëî X mod p. Òàê êàê 9 ≠ 39 (mod 31 ), òî i > j. (6) Àëèñà ñîîáùàåò îá ýòîì Áîáó. Ýòîò ïðîòîêîë ìîæíî èñïîëüçîâàòü äëÿ ñîçäàíèÿ íàìíîãî áîëåå ñëîæíûõ ïðîòîêîëîâ . Ãðóïïà ëþäåé ìîæåò ïðîâîäèòü ñåêðåòíûé àóêöèîí ïî ñåòè . Îíè ëîãè÷åñêè óïîðÿäî÷èâàþò ñåáÿ ïî êðóãó è, ñ ïîìîùüþ ïîïàðíûõ ñðàâíåíèé, îïðåäåëÿþò, êòî ïðåäëîæèë áîëüøóþ öåíó . ×òîáû ïîìåøàòü ëþäÿì óæå èçìåíÿòü ñäåëàííûå ïðåäëîæåíèÿ â ñåðåäèíå àóêöèîíà äîëæåí èñïîëüçîâàòüñÿ êàêîé-òî ïðîòîêîë âðó÷åíèÿ áèòîâ. Åñëè àóêöèîí ïðîâîäèòñÿ ïî ãîëëàíäñêîé ñèñòåìå, òî ïðåäëîæèâøèé íàèâûñøóþ öåíó ïîëó÷àåò ïðåäìåò çà ïðåäëîæåííóþ öåíó . Åñëè àóêöèîí ïðîâîäèòñÿ ïî àíãëèéñêîé ñèñòåìå, òî îí ïîëó÷àåò ïðåäìåò çà âòîðóþ âûñøóþ öåíó. (Ýòî ìîæåò áûòü âûÿñíåíî âî âðåìÿ âòîðîãî êðóãà ïîïàðíûõ ñðàâíåíèé .) Àíàëîãè÷íûå èäåè ïðèìåíèìû ïðè çàêëþ÷åíèè ñäåëîê, ïåðåãîâîðàõ è àðáèòðàæå.
23.15 Âåðîÿòíîñòíîå øèôðîâàíèå Ïîíÿòèå âåðîÿòíîñòíîãî øèôðîâàíèÿ áûëî èçîáðåòåíî Øàôè Ãîëäâàññåðîì (Shafi Goldwasser) è Ñèëüâèåé Ìèêàëè [624]. Õîòÿ èõ òåîðèÿ ïîçâîëÿåò ñîçäàòü ñàìóþ áåçîïàñíóþ èç èçîáðåòåííûõ êðèïòîñèñòåì , ðàííÿÿ ðåàëèçàöèè áûëà íåýôôåêòèâíîé [625]. Íî áîëåå ïîçäíèå ðåàëèçàöèè âñå èçìåíèëè . Èäååé âåðîÿòíîñòíîãî øèôðîâàíèÿ ÿâëÿåòñÿ óñòðàíåíèå óòå÷êè èíôîðìàöèè â êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè. Òàê êàê êðèïòîàíàëèòèê âñåãäà ìîæåò ðàñøèôðîâàòü ñëó÷àéíûå ñîîáùåíèÿ îòêðûòûì êëþ÷îì, îí ìîæåò ïîëó÷èòü íåêîòîðóþ èíôîðìàöèþ . Ïðè óñëîâèè, ÷òî ó íåãî åñòü øèôðîòåêñò C = EK(M), è îí ïûòàåòñÿ ïîëó÷èòü îòêðûòûé òåêñò M, îí ìîæåò âûáðàòü ñëó÷àéíîå ñîîáùåíèå M' è çàøèôðîâàòü åãî: C' = EK(M'). Åñëè C' = C, òî îí óãàäàë ïðàâèëüíûé îòêðûòûé òåêñò.  ïðîòèâíîì ñëó÷àå îí äåëàåò ñëåäóþùóþ ïîïûòêó .
Êðîìå òîãî, âåðîÿòíîñòíîå øèôðîâàíèå ïîçâîëÿåò èçáåæàòü äàæå ÷àñòè÷íîé óòå÷êè èíôîðìàöèè îá îðèã èíàëüíîì ñîîáùåíèè. Ïðè èñïîëüçîâàíèè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè êðèïòîàíàëèòèê èíîãäà ìîæåò óçíàòü êîå-÷òî î áèòàõ: XOR 5-ãî, 17-ãî è 39-ãî áèòîâ ðàâíî 1 , è ò.ï.. Ïðè âåðîÿòíîñòíîì øèôðîâàíèè îñòàåòñÿ ñêðûòîé è òàêàÿ èíôîðìàöèÿ. Òàêèì ñïîñîáîì ìîæíî èçâëå÷ü íå ìíîãî èíôîðìàöèè, íî ïîòåíöèàëüíî âîçìîæíîñòü êðèïòîàíàëèòèêà ðàñøèôðîâûâàòü ñëó÷àéíûå ñîîáùåíèÿ âàøèì îòêðûòûì êëþ÷îì ìîæåò ñîçäàòü îïðåäåëåííûå ïðîáëåìû . Êàæäûé ðàç, øèôðóÿ ñîîáùåíèå, êðèïòîàíàëèòèê ìîæåò èçâëå÷ü íåìíîãî èíôîðìàöèè . Íèêòî íå çíàåò, íàñêîëüêî çíà÷èòåëüíà ýòà èíôîðìàöèÿ. Âåðîÿòíîñòíîå øèôðîâàíèå ïûòàåòñÿ óñòðàíèòü ýòó óòå÷êó . Öåëü ýòîãî ìåòîäà ñîñòîèò â òîì, ÷òîáû íè â û÷èñëåíèÿ, ïðîâîäèìûå íàä øèôðîòåêñòîì, íè ïðîâåðêà ëþáûõ äðóãèõ îòêðûòûõ òåêñòîâ íå ñìîãëè äàòü êðè ïòîàíàëèòèêó íèêàêîé èíôîðìàöèè î ñîîòâåòñòâóþùåì îòêð ûòîì òåêñòå. Ïðè âåðîÿòíîñòíîì øèôðîâàíèè àëãîðèòì øèôðîìàíèÿ ÿâëÿåòñÿ âåðîÿòíîñòíûì, à íå äåòåðìèíèðîâàííûì . Äðóãèìè ñëîâàìè, ìíîãèå øèôðîòåêñòû ïðè ðàñøèôðîâêå äàþò äàííûé îòêðûòûé òåêñò , è êîíêðåòíûé øèôðîòåêñò, èñïîëüçóåìûé â ëþáîì êîíêðåòíîì øèôðîâàíèè, âûáèðàåòñÿ ñëó÷àéíûì îáðàçîì . C1 = EK(M), C2 = EK(M), C3 = EK(M), . . . Ci = EK(M) M = DK(C1) = DK(C2) = DK(C3) = . . . = DK(Ci ) Ïðè âåðîÿòíîñòíîì øèôðîâàíèè êðèïòîàíàëèòèêó áîëüøå íå óäàñòñÿ øèôðîâàòü ïðîèçâîëüíûå îòêðûòûå òåêñòû â ïîèñêàõ ïðàâèëüíîãî øèôðîòåêñòà . Äëÿ èëëþñòðàöèè ïóñòü ó êðèïòîàíàëèòèêà åñòü øèôðîòåêñò Ci = EK(M). Äàæå åñëè îí ïðàèëüíî óãàäàåò M, ïîëó÷åííûé ïðè øèôðîâàíèè EK(M) ðåçóëüòàò áóäåò ñîâåðøåííî äðóãèì øèôðîòåêñòîì C: Cj. Ñðàâíèâàÿ Ci è Cj, îí íå ìîæåò ïî èõ ñîâïàäåíèþ îïðåäåëèòü ïðàâèëüíîñòü ñâîåé ä îãàäêè. Ýòî ïîðàçèòåëüíî. Äàæå åñëè ó êðèïòîàíàëèòèêà åñòü îòêðûòûé êëþ÷ øèôðîâàíèÿ, îòêðûòûé òåêñò è øè ôðîòåêñò, îí íå ìîæåò áåç çàêðûòîãî êëþ÷à äåøèôðèðîâàíèÿ äîêàçàòü, ÷òî øèôðîòåêñò ÿâëÿåòñÿ ðåçóëüòàòîì øèôðîâàíèÿ êîíêðåòíîãî îòêðûòîãî òåêñòà . Äàæå âûïîëíèâ èñ÷åðïûâàþùèé ïîèñê, îí ìîæåò äîêàçàòü òîëüêî, ÷òî êàæäûé âîçìîæíûé îòêðûòûé òåêñò ÿâëÿåòñÿ âîçìîæíûì îòêðûòûì òåêñòîì .  ýòîé ñõåìå øèôðîòåêñò âñåãäà áóäåò áîëüøå îòêðûòîãî òåêñòà . Ýòîãî íåâîçìîæíî èçáåæàòü, ýòî ÿâëÿåòñÿ ðåçóëüòàòîì òîãî, ÷òî ìíîãèå øèôðîòåêñòû ðàñøèôðîâûâàþòñÿ â îäèí è òîò æå îòêðûòûé òåêñò .  ïåðâîé ñõåìå âåðîÿòíîñòíîãî øèôðîâàíèÿ [625] øèôðîòåêñò ïîëó÷àëñÿ íàñòîëüêî áîëüøå îòêðûòîãî òåêñòà, ÷òî îí áûë áå ñïîëåçíûì. Îäíàêî Ìàíóýëü Áëþì (Manual Blum) è Ãîëäâàññåð (Goldwasser) ïîëó÷èëè ýôôåêòèâíóþ ðåàëèçàöèþ âåð îÿòíîñòíîãî øèôðîâàíèÿ ñ ïîìîùüþ ãåíåðàòîðà ïñåâäîñëó÷àéíûõ áèòîâ Blum Blum Shub (BBS), îïèñàííîãî â ðàçäåëå 17.9 [199]. Ãåíåðàòîð BBS îñíîâàí íà òåîðèè êâàäðàòè÷íûõ îñòàòêîâ . Ñóùåñòâóþò äâà ïðîñòûõ ÷èñëà, p è q, êîíãðóýíòíûõ 3 ïî ìîäóëþ 4. Ýòî çàêðûòûé êëþ÷. Èõ ïðîèçâåäåíèå, pq = n, ÿâëÿåòñÿ îòêðûòûì êëþ÷îì. (Çàïîìíèòå ñâîè p è q, áåçîïàñíîñòü ñõåìû îïèðàåòñÿ íà ñëîæíîñòü ðàçëîæåíèÿ n íà ìíîæèòåëè.) Äëÿ øèôðîâàíèÿ ñîîáùåíèÿ M ñíà÷àëà âûáèðàåòñÿ ñëó÷àéíîå x, âçàèìíî ïðîñòîå ñ n. Çàòåì âû÷èñëÿåòñÿ x0 = x2 mod n x0 ñëóæèò ñòàðòîâîé ïîñëåäîâàòåëüíîñòüþ äëÿ ãåíåðàòîðà ïñåâäîñëó÷àéíûõ áèòîâ BBS, à âûõîä ãåíåðàòîðà èñïîëüçóåòñÿ â êà÷åñòâå ïîòîêîâîãî øèôðà . Ïîáèòíî âûïîëíÿåòñÿ XOR M ñ âûõîäîì ãåíåðàòîðà. Ãåíåðàòîð âûäàåò áèòû bi (ìëàäøèé çíà÷àùèé áèò xi , ãäå xi = xi-12 mod n), ïîýòîìó M=M1, M2, M3, . . . Mt c = M 1 ⊕ b1 , M 2 ⊕ b2 , M 3 ⊕ b3 , . . . M t ⊕ bt ãäå t - ýòî äëèíà îòêðûòîãî òåêñòà Äîáàâüòå ïîñëåäíåå âû÷èñëåííîå çíà÷åíèå, xt, ê êîíöó ñîîáùåíèÿ, è äåëî ñäåëàíî . Ðàñøèôðîâàòü ýòî ñîîáùåíèå ìîæíî òîëüêî îäíèì ñïîñîáîì - ïîëó÷èòü x0 è ñ ýòîé ñòàðòîâîé ïîñëåäîâàòåëüíîñòüþ çàïóñòèòü ãåíåðàòîð BBS, âûïîëíÿÿ XOR âûõîäà ñ øèôðîòåêñòîì. Òàê êàê ãåíåðàòîð BBS áåçîïàñåí âëåâî, çíà÷åíèå xt áåñïîëåçíî äëÿ êðèïòîàíàëèòèêà . Òîëüêî òîò, êîìó èçâåñòíû p è q, ìîæåò ðàñøèôðîâàòü ñîîáùåíèå. Âîò êàê íà ÿçûêå C âûãëÿäèò àëãîðèòì ïîëó÷åíèÿ x0 èç xt: int xO (int p, int q, int n, int t, int xt) { int a, b, u, v, w, z; /* ìû óæå çíàåì, ÷òî ÍÎÄ(p,q) == 1 */ (void)extended_euclidian(p, q, &a, &b);
u = modexp ((p+l)/4, t, p-l); v = modexp ((q+l)/4, t, q-l); w = modexp (xt%p, u, p); z = modexp (xt%p, v, q); return (b*q*w + a*p*z) % n; }
Ïðè íàëè÷èè x0 äåøèôðèðîâàíèå íåñëîæíî. Ïðîñòî çàäàéòå ñòàðòîâóþ ïîñëåäîâàòåëüíîñòü ãåíåðàòîðà BBS è âûïîëíèòå XOR ðåçóëüòàòà ñ øèôðîòåêñòîì. Ýòó ñõåìó ìîæíî ñäåëàòü åùå áûñòðåå, èñïîëüçóÿ âñå èçâåñòíûå áåçîïàñíûå áèòû xi , à íå òîëüêî ìëàäøèé çíà÷àùèé áèò. Ñ òàêèì óëó÷øåíèåì âåðîÿòíîñòíîå øèôðîâàíèå Blum-Goldwasser îêàçûâàåòñÿ áûñòðåå RSA è íå äîïóñêàåò óòå÷êè èíôîðìàöèè îá îòêðûòîì òåêñòå . Êðîìå òîãî, ìîæíî äîêàçàòü, ÷òî ñëîæíîñòü âñêðûòèÿ ýòîé ñõåìû ðàâíà ñëîæíîñòè ðàçëîæåíèÿ n íà ìíîæèòåëè. Ñ äðóãîé ñòîðîíû, ýòà ñõåìà ñîâåðøåííî íåáåçîïàñíà ïî îòíîøåíèþ ê âñêðûòèþ ñ âûáðàííûì øèôðîòå êñòîì. Ïî ìëàäøèì çíà÷àùèì áèòàì ïðàâèëüíûõ êâàäðàòè÷íûõ îñòàòêîâ ìîæíî âû÷èñëèòü êâàäðàòíûé êîðåíü ëþáîãî êâàäðàòè÷íîãî îñòàòêà. Åñëè ýòî óäàñòñÿ, òî óäàñòñÿ è ðàçëîæåíèå íà ìíîæèòåëè . Ïîäðîáíîñòè ìîæíî íàéòè â [1570, 1571, 35, 36].
23.16 Êâàíòîâàÿ êðèïòîãðàôèÿ Êâàíòîâàÿ êðèïòîãðàôèÿ ââîäèò åñòåñòâåííóþ íåîïðåäåëåííîñòü êâàíòîâîãî ìèðà . Ñ åå ïîìîùüþ ìîæíî ñîçäàâàòü ëèíèè ñâÿçè, êîòîðûå íåâîçìîæíî ïîñëóøàòü, íå âíîñÿ ïîìåõ â ïåðåäà÷ó . Çàêîíû ôèçèêè íàäåæíî çàùèùàþò òàêîé êâàíòîâûé êàíàë, äàæå åñëè ïîäñëóøèâàþùèé ìîæåò ïðåäïðèíèìàòü ëþáûå äåéñòâèÿ, äàæå åñëè îí èìååò äîñòóï ê íåîãðàíè÷åííîé âû÷èñëèòåëüíîé ìîùíîñòè, äàæå åñëè P = NP. Øàðëü Áåííå (Charles Bennett), Æèëü Áðàññàð (Gilles Brassard), Êëîä Êðåïî (Claude Crepeau) è äðóãèå ðàñøèðèëè ýòó èäåþ, îïèñàâ êâàíòîâîå ðàñïðåäåëåíèå êëþ÷åé, êâàíòîâîå áðîñàíèå ìîíåòû, êâàíòîâîå âðó÷åíèå áèòà , êâàíòîâóþ ïåðåäà÷ó ñ çàáûâàíèåì è êâàíòîâûå âû÷èñëåíèÿ ñ íåñêîëüêèìè ó÷àñòíèêàìè . Îïèñàíèå èõ ðåçóëüòàòîâ ìîæíî íàéòè â [128, 129, 123, 124, 125, 133, 126, 394, 134, 392, 243, 517, 132, 130, 244, 393, 396]. Ëó÷øèì îáçîðîì ïî êâàíòîâîé êðèïòîãðàôèè ÿâëÿåòñÿ [131]. Äðóãèì õîðîøèì íåòåõíè÷åñêèì îáçîðîì ìîæåò ñëóæèòü [1651]. Ïîëíóþ áèáëèîãðàôèþ ïî êâàíòîâîé êðèïòîãðàôèè ìîæíî íàéòè â [237]. Ýòè èäåè òàê è îñòàëèñü áû ïðåäìåòîì îáñóæäåíèÿ ôàíàòèêîâ êðèïòîãðàôèè , íî Áåííå è Áðàññàð ðàçðàáîòàëè äåéñòâóþùóþ ìîäåëü [127, 121, 122]. Òåïåðü ó íàñ åñòü ýêñïåðèìåíòàëüíàÿ êâàíòîâàÿ êðèïòîãðàôèÿ. Èòàê óñòðîéòåñü ïîóäîáíåå, íàëåéòå ñåáå ÷åãî-íèáóäü âûïèòü è ðàññëàáüòåñü. ß ïîïðîáóþ îáúÿñíèòü âàì, ÷òî ýòî òàêîå.  ñîîòâåòñòâèè ñ çàêîíàìè êâàíòîâîé ìåõàíèêè ÷àñòèöû íà ñàìîì äåëå íå íàõîäÿòñÿ â îäíîì ìåñòå, à ñ î ïðåäåëåííîé âåðîÿòíîñòüþ ñóùåñòâóþò ñðàçó âî ìíîãèõ ìåñòàõ . Îäíàêî ýòî òàê òîëüêî äî òåõ ïîð, ïîêà íå ïð èõîäèò ó÷åíûé è íå îáìåðÿåò ÷àñòèöó, "îêàçàâøóþñÿ" â äàííîì êîíêðåòíîì ìåñòå . Íî èçìåðèòü âñå ïàðàìåòðû ÷àñòèöû (íàïðèìåð, êîîðäèíàòû è ñêîðîñòü) îäíîâðåìåííî íåâîçìîæíî. Åñëè èçìåðèòü îäíó èç ýòèõ äâóõ âåë è÷èí, ñàì àêò èçìåðåíèÿ óíè÷òîæàåò âñÿêóþ âîçìîæíîñòü èçìåðèòü äðóãóþ âåëè÷èíó. Íåîïðåäåëåííîñòü ÿâëÿåòñÿ ôóíäàìåíòàëüíûì ñâîéñòâîì êâàíòîâîãî ì èðà, è íèêóäà îò ýòîãî íå äåíåøüñÿ . Ýòó íåîïðåäåëåííîñòü ìîæíî èñïîëüçîâàòü äëÿ ãåíåðàöèè ñåêðåòíîãî êëþ÷à . Ïóòåøåñòâóÿ, ôîòîíû êîëåáëþòñÿ â îïðåäåëåííîì íàïðàâëåíèè, ââåðõ-âíèç, âëåâî-âïðàâî, èëè, ÷òî áîëåå âåðîÿòíî, ïîä êàêèì-òî óãëîì . Îáû÷íûé ñîëíå÷íûé ñâåò íåïîëÿðèçîâàí, ôîòîíû êîëåáëþòñÿ âî âñåõ âîçìîæíûõ íàïðàâëåíèÿõ . Êîãäà íàïðàâëåíèå êîëåáàíèé ìíîãèõ ôîòîíîâ ñîâïàäàåò, îíè ÿâëÿþòñÿ ïîëÿðèçîâàííûìè. Ïîëÿðèçàöèîííûå ôèëüòðû ïðîïóñêàþò òîëüêî òå ôîòîíû, êîòîðûå ïîëÿðèçîâàíû â îïðåäåëåííîì íàïðàâëåíèè, à îñòàëüíûå áëîêèðóþòñÿ . Íàïðèìåð, ãîðèçîíòàëüíûé ïîëÿðèçàöèîííûé ôèëüòð ïðîïóñêàåò òîëüêî ôîòîíû ñ ãîðèçîíòàëüíîé ïîëÿðèçàö èåé. Ïîâåðíåì ýòîò ôèëüòð íà 90 ãðàäóñîâ , è òåïåðü ñêâîçü íåãî áóäóò ïðîõîäèòü òîëüêî âåðòèêàëüíî ïîëÿðèç îâàííûå ôîòîíû. Ïóñòü ó âàñ åñòü èìïóëüñ ãîðèçîíòàëüíî ïîëÿðèçîâàííûõ ôîòîíîâ . Åñëè îíè ïîïðîáóþò ïðîéòè ÷åðåç ãîð èçîíòàëüíûé ôèëüòð, òî ó íèõ ó âñåõ ïðåêðàñíî ïîëó÷èòñÿ . Åñëè ìåäëåííî ïîâîðà÷èâàòü ôèëüòð íà 90 ãðàäóñîâ, êîëè÷åñòâî ïðîïóñêàåìûõ ôîòîíîâ áóäåò ñòàíîâèòüñÿ âñå ìåíüøå è ìåíüøå, è íàêîíåö íè îäèí ôîòîí íå ïðî éäåò ÷åðåç ôèëüòð. Ýòî ïðîòèâîðå÷èò çäðàâîìó ñìûñëó . Êàæåòñÿ, ÷òî äàæå íåçíà÷èòåëüíûé ïîâîðîò ôèëüòðà äîëæåí îñòàíîâèòü âñå ôîòîíû, òàê êàê îíè ãîðèçîíòàëüíî ïîëÿðèçîâàíû . Íî â êâàíòîâîé ìåõàíèêå êàæäàÿ ÷à ñòèöà ñ îïðåäåëåííîé âåðîÿòíîñòüþ ìîæåò èçìåíèòü ñâîþ ïîëÿðèçàöèþ è ïðîñêî÷èòü ÷åðåç ôèëüòð . Åñëè óãîë îòêëîíåíèÿ ôèëüòðà íåâåëèê, ýòà âåðîÿòíîñòü âûñîêà, à åñëè îí ðàâåí 90 ãðàäóñàì, òî âåðîÿòíîñòü ðàâíà íóëþ . À åñëè óãîë ïîâîðîòà ôèëüòðà ðàâåí 45 ãðàäóñàì , âåðîÿòíîñòü ôîòîíà ïðîéòè ôèëüòð ðàâíà 50 ïðîöåíòàì . Ïîëÿðèçàöèþ ìîæíî èçìåðèòü â ëþáîé ñèñòåìå êîîðäèíàò: äâóõ íàïðàâëåíèÿõ, ðàñõîäÿùèõñÿ ïîä ïðÿìûì óãëîì. Ïðèìåðàìè ñèñòåì êîîðäèíàò ÿâëÿþòñÿ ïðÿìîóãîëüíàÿ - ãîðèçîíòàëüíîå è âåðòèêàëüíîå íàïðàâëåíèÿ - è
äèàãîíàëüíàÿ - ëåâàÿ è ïðàâàÿ äèàãîíàëè . Åñëè èìïóëüñ ôîòîíîâ ïîëÿðèçîâàí â çàäàííîé ñèñòåìå êîîðäèíàò, òî ïðè èçìåðåíèè â òîé æå ñèñòåìå êîîðäèíàò âû óçíàåòå ïîëÿðèçàöèþ . Ïðè èçìåðåíèè â íåïðàâèëüíîé ñèñòåìå êîîðäèíàò, âû ïîëó÷èòå ñëó÷àéíûé ðåçóëüòàò . Ìû ñîáèðàåìñÿ èñïîëüçîâàòü ýòî ñâîéñòâî äëÿ ãåíåðàöèè ñåêðå òíîãî êëþ÷à: (1) Àëèñà ïîñûëàåò Áîáó ïîñëåäîâàòåëüíîñòü ôîòîííûõ èìïóëüñîâ . Êàæäûé èç èìïóëüñîâ ñëó÷àéíûì îáð àçîì ïîëÿðèçîâàí â îäíîì èç ÷åòûðåõ íàïðàâëåíèé: ãîðèçîíòàëüíîì, âåðòèêàëüíîì, ëåâî- è ïðàâîäèàã îíàëüíîì. Íàïðèìåð, Àëèñà ïîñûëàåò Áîáó: ||/\|/ (2) Ó Áîáà åñòü äåòåêòîð ïîëÿðèçàöèè . Îí ìîæåò íàñòðîèòü ñâîé äåòåêòîð íà èçìåðåíèå ïðÿìîóãîëüíîé èëè äèàãîíàëüíîé ïîëÿðèçàöèè. Îäíîâðåìåííî ìåðèòü è òó, è äðóãóþ ó íåãî íå ïîëó÷èòñÿ, åìó íå ïîçâîëèò êâàíòîâàÿ ìåõàíèêà. Èçìåðåíèå îäíîé ïîëÿðèçàöèè íå äàñò èçìåðèòü äðóãóþ . Èòàê, îí óñòàíàâëèâàåò ñâîè äåòåêòîðû ïðîèçâîëüíûì îáðàçîì : X++XXX+X++ Òåïåðü, åñëè Áîá ïðàâèëüíî íàñòðîèò ñâîé äåòåêòîð , îí çàðåãèñòðèðóåò ïðàâèëüíóþ ïîëÿðèçàöèþ . Åñëè îí íàñòðîèò äåòåêòîð íà èçìåðåíèå ïðÿìîóãîëüíîé ïîëÿðèçàöèè, è èìïóëüñ áóäåò ïîëÿðèçîâàí ïðÿìîóãîëüíî , îí óçíàåò, êàêóþ ïîëÿðèçàöèþ ôîòîíîâ âûáðàëà Àëèñà. Åñëè îí íàñòðîèò äåòåêòîð íà èçìåðåíèå äèàã îíàëüíîé ïîëÿðèçàöèè, à èìïóëüñ áóäåò ïîëÿðèçîâàí ïðÿìîóãîëüíî, òî ðåçóëüòàò èçìåðåíèÿ áóäåò ñëó÷à éíûì. Áîá íå ñìîæåò îïðåäåëèòü ðàçíèöó.  ïðèâåäåííîì ïðèìåðå îí ìîæåò ïîëó÷èòü ñëåäóþùèé ðåçóë üòàò: /|\/\/| (3) Áîá ñîîáùàåò Àëèñå ïî íåçàùèùåííîìó êàíàëó, êàêèå íàñòðîéêè îí èñïîëüçîâàë . (4) Àëèñà ñîîáùàåò Áîáó, êàêèå íàñòðîéêè áûëè ïðàâèëüíûìè .  íàøåì ïðèìåðå äåòåêòîð áûë ïðàâèëüíî óñòàíîâëåí äëÿ èìïóëüñîâ 2, 6, 7 è 9. (5) Àëèñà è Áîá îñòàâëÿþò òîëüêî ïðàâèëüíî èçìåðåííûå ïîëÿðèçàöèè.  íàøåì ïðèìåðå îíè îñòàâëÿþò: *|***\** Ñ ïîìîùüþ çàðàíåå ïðèãîòîâëåííîãî êîäà Àëèñà è Áîá ïðåîáðàçóþò â áèòû ýòè ðåçóëüòàòû èçìåðåíèé ïîëÿðèçàöèè. Íàïðèìåð, ãîðèçîíòàëüíàÿ è ëåâîäèàãîíàëüíàÿ ìîãóò îçíà÷àòü åäèíèöó, à âåðòèêàëüíàÿ è ïðàâîäèàãîíàëüíàÿ - íîëü.  íàøåì ïðèìåðå îíè îáà ïîëó÷àò: 0011 Èòàê, Àëèñà è Áîá ïîëó÷èëè ÷åòûðå áèòà. Ñ ïîìîùüþ ýòîé ñèñòåìû îíè ìîãóò ãåíåðèðîâàòü ñòîëüêî áèòîâ, ñêîëüêî èì íóæíî.  ñðåäíåì Áîá ïðàâèëüíî óãàäûâàåò â 50 ïðîöåíòàõ ñëó÷àåâ , ïîýòîìó äëÿ ãåíåðàöèè n áèòîâ Àëèñå ïðèäåòñÿ ïîñëàòü 2n ôîòîííûõ èìïóëüñîâ. Îíè ìîãóò èñïîëüçîâàòü ýòè áèòû êàê ñåêðåòíûé êëþ÷ ñè ììåòðè÷íîãî àëãîðèòìà èëè îáåñïå÷èòü àáñîëþòíóþ áåçîïàñíîñòü, ïîëó÷èâ äîñòàòî÷íî áèòîâ äëÿ èñïîëüçîâàíèÿ â êà÷åñòâå îäíîðàçîâîãî áëîêíîòà . Çàìå÷àòåëüíûì ÿâëÿåòñÿ òî, ÷òî Åâà íå ñìîæåò ïîäñëóøàòü. Êàê è Áîáó, åé íóæíî óãàäàòü òèï èçìåðÿåìîé ïîëÿðèçàöèè, è, êàê è ó Áîáà, ïîëîâèíà åå äîãàäîê áóäåò íåïðàâèëüíîé . Òàê êàê íåïðàâèëüíûå èçìåðåíèÿ èçì åíÿþò ïîëÿðèçàöèþ ôîòîíîâ, òî ïðè ïîäñëóøèâàíèè îíà íåìèíóåìî âíîñèò îøèáêè â ïåðåäà÷ó . Åñëè ýòî òàê, Àëèñà è Áîá ïîëó÷àò ðàçëè÷íûå áèòîâûå ïîñëåäîâàòåëüíîñòè . Èòàê, Àëèñà è Áîá çàêàí÷èâàþò ïðîòîêîë ïîäîáíûìè äåéñòâèÿìè: (6) Àëèñà è Áîá ñðàâíèâàþò íåñêîëüêî áèòîâ ñâîèõ ñòðîê . Ïî íàëè÷èþ ðàñõîæäåíèé îíè óçíàþò î ïîäñë óøèâàíèè. Åñëè ñòðîêè íå îòëè÷àþòñÿ, òî îíè îòáðàñûâàþò èñïîëüçîâàííûå äëÿ ñðàâíåíèÿ áèòû è è ñïîëüçóþò îñòàâøèåñÿ. Óëó÷øåíèÿ ýòîãî ïðîòîêîëà ïîçâîëÿþò Àëèñå è Áîá èñïîëüçîâàòü ñâîè áèòû äàæå â ïðèñóòñòâèè Åâû [133, 134, 192]. Îíè ìîãóò ñðàâíèâàòü òîëüêî ÷åòíîñòü áèòîâûõ ïîäìíîæåñòâ. Òîãäà, åñëè íå îáíàðóæåíî ðàñõîæä åíèé, èì ïðèäåòñÿ îòáðîñèòü òîëüêî îäèí áèò ïîäìíîæåñòâà. Ýòî îáíàðóæèâàåò ïîäñëóøèâàíèå ñ âåðîÿòíîñòüþ 50 ïðîöåíòîâ, íî åñëè îíè ñâåðÿò òàêèì îáðàçîì n ðàçëè÷íûõ áèòîâûõ ïîäìíîæåñòâ, âåðîÿòíîñòü Åâû ïîäñë óøàòü è îñòàòüñÿ íåçàìå÷åííîé áóäåò ðàâíà 1/2 n.  êâàíòîâîì ìèðå íå áûâàåò ïàññèâíîãî ïîäñëóøèâàíèÿ. Åñëè Åâà ïîïûòàåòñÿ ðàñêðûòü âñå áèòû, îíà îá ÿçàòåëüíî ðàçðóøèò êàíàë ñâÿçè. Áåííå è Áðàññàð ïîñòðîèëè ðàáîòàþùóþ ìîäåëü êâàíòîâîãî ðàñïðåäåëåíèÿ êëþ÷åé è îáìåíÿëèñü áåçîïà ñíûìè áèòàìè íà îïòè÷åñêîé ñêàìüå. Ïîñëåäíåå, ÷òî ÿ ñëûøàë, áûëî ñîîáùåíèå î òîì, ÷òî â British Telecom ïî-
ñûëàëè áèòû ïî 10-êèëîìåòðîâîìó îïòîâîëîêíó [276, 1245, 1533]. Îíè ñ÷èòàþò, ÷òî äîñòèæèìî è ðàññòîÿíèå â 50 êèëîìåòðîâ. Ýòî ïîðàæàåò âîîáðàæåíèå.
×àñòü 18 Ðåàëüíûé ìèð
Ãëàâà 24 Ïðèìåðû ðåàëèçàöèé Îäíî äåëî ðàçðàáàòûâàòü ïðîòîêîëû è àëãîðèòìû, è ñîâñåì äðóãîå äåëî âñòðàèâàòü èõ â îïåðàöèîííûå ñè ñòåìû.  òåîðèè ïðàêòèêà è òåîðèÿ íå îòëè÷èìû, íî íà ïðàêòèêå ìåæäó íèìè îãðîìíûå ðàçëè÷èÿ . ×àñòî èäåè çàìå÷àòåëüíî âûãëÿäÿò íà áóìàãå, íî íå ðàáîòàþò â ðåàëüíîé æèçíè . Ìîæåò áûòü ñëèøêîì âåëèêè òðåáîâàíèÿ ê ñêîðîñòè êàíàëà, ìîæåò áûòü ïðîòîêîë ñëèøêîì ìåäëèòåëåí . Íåêîòîðûå èç âîïðîñîâ èñïîëüçîâàíèÿ êðèïòîãð àôèè ðàññìàòðèâàþòñÿ â ãëàâå 10, â ýòîé ãëàâå îáñóæäàþòñÿ ïðèìåðû òîãî, êàê êðèïòîãðàôè÷åñêèå àëãîðèòìû ðåàëèçóþòñÿ íà ïðàêòèêå.
24.1 Ïðîòîêîë óïðàâëåíèÿ ñåêðåòíûìè êëþ÷àìè êîìïàíèè IBM  êîíöå 70-õ ãîäîâ IBM, èñïîëüçóÿ òîëüêî ñèììåòðè÷íóþ êðèïòîãðàôèþ, ðàçðàáîòàëà çàêîí÷åííóþ ñèñòåìó óïðàâëåíèÿ êëþ÷àìè äëÿ ïåðåäà÷è äàííûõ è áåçîïàñíîñòè ôàéëîâ â êîìïüþòåðíûõ ñåòÿõ [515, 1027]. Íå òàê âàæíû ðåàëüíûå ìåõàíèçìû ïðîòîêîëà, êàê åãî îáùàÿ ôèëîñîôèÿ : çà ñ÷åò àâòîìàòèçàöèè ãåíåðàöèè, ðàñïðåä åëåíèÿ, óñòàíîâêè, õðàíåíèÿ, èçìåíåíèÿ è ðàçðóøåíèÿ êëþ÷åé ýòîò ïðîòîêîë äàëåêî ïðîäâèíóëñÿ, îáåñïå÷èâàÿ áåçîïàñíîñòü ëåæàùèõ â åãî îñíîâå êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ . Ýòîò ïðîòîêîë îáåñïå÷èâàåò òðè âåùè : áåçîïàñíóþ ñâÿçü ìåæäó ñåðâåðîì è ðàçëè÷íûìè òåðìèíàëàìè , áåçîïàñíîå õðàíåíèå ôàéëîâ íà ñåðâåðå è áåçîïàñíóþ ñâÿçü ìåæäó ñåðâåðàìè . Ïðîòîêîë íå îáåñïå÷èâàåò íàñòîÿùåãî ïðÿìîãî ñîåäèíåíèÿ òåðìèíàë-òåðìèíàë, õîòÿ åãî ìîäèôèêàöèÿ ìîæåò ðåàëèçîâàòü òàêóþ âîçìîæíîñòü . Êàæäûé ñåðâåð ñåòè ïîäêëþ÷åí ê êðèïòîãðàôè÷åñêîé àïïàðàòóðå , êîòîðàÿ âûïîëíÿåò âñå øèôðîâàíèå è ä åøèôðèðîâàíèå. Ó êàæäîãî ñåðâåðà åñòü Ãëàâíûé êëþ÷ (Master Key), KM0, è äâà âàðèàíòà, KM1 è KM2, êîòîðûå ÿâëÿþòñÿ óïðîùåííûìè âàðèàíòàìè KM0. Ýòè êëþ÷è èñïîëüçóþòñÿ äëÿ øèôðîâàíèÿ äðóãèõ êëþ÷åé è äëÿ ãåíåðàöèè íîâûõ êëþ÷åé. Ó êàæäîãî òåðìèíàëà åñòü Ãëàâíûé êëþ÷ òåðìèíàëà (Master Terminal Key), KMT, êîòîðûé èñïîëüçóåòñÿ äëÿ îáìåíà êëþ÷àìè ñ äðóãèìè òåðìèí àëàìè. KMT õðàíÿòñÿ íà ñåðâåðàõ, çàøèôðîâàííûå êëþ÷îì KM1. Âñå îñòàëüíûå êëþ÷è, íàïðèìåð, èñïîëüçóåìûå äëÿ øèôðîâàíèÿ ôàéëîâ êëþ÷åé (îíè íàçûâàþòñÿ KNF), õðàíÿòñÿ â çàøèôðîâàííîé ôîðìå, çàêðûòûå êëþ÷îì KM2. Ãëàâíûé êëþ÷ KM0 õðàíèòñÿ â ýíåðãîíåçàâèñèìîì ìîäóëå áåçîïàñíîñòè . Ñåãîäíÿ ýòî ìîæåò áûòü ëèáî êëþ÷ â ÏÇÓ, ëèáî ìàãíèòíàÿ êàðòî÷êà, èëè êëþ÷ ìîæåò ââîäèòüñÿ ïîëüçîâàòåëåì ñ êëàâèàòóðû (âîçìîæíî êàê òåêñòîâàÿ ñòðîêà, ïðåîáðàçóåìàÿ â êëþ÷ ). KM1 è KM2 íå õðàíÿòñÿ ãäå-íèáóäü â ñèñòåìå, à, êîãäà ïîíàäîáèòñÿ, âû÷èñëÿþòñÿ ïî KM0. Ñåàíñîâûå êëþ÷è äëÿ ñâÿçè ìåæäó ñåðâåðàìè ãåíåðèðóþòñÿ íà ñåðâåðå ñ ïîìîùüþ ïñå âäîñëó÷àéíîãî ïðîöåññà. Àíàëîãè÷íûì îáðàçîì ãåíåðèðóþòñÿ êëþ÷è äëÿ øèôðîâàíèÿ õðàíèìûõ ôàéëîâ (KNF). Ñåðäöåì ïðîòîêîëà ñëóæèò óñòîé÷èâûé ê âñêðûòèþ ìîäóëü, íàçûâàåìûé êðèïòîãðàôè÷åñêîé àïïàðàòóðîé (cryptographic facility). È íà ñåðâåðå, è íà òåðìèíàëå âñå øèôðîâàíèå è äåøèôðèðîâàíèå ïðîèñõîäè èìåííî â ýòîì ìîäóëå.  ýòîì ìîäóëå õðàíÿòñÿ ñàìûå âàæíûå êëþ÷è, èñïîëüçóåìûå äëÿ ãåíåðàöèè äåéñòâèòåëüíûõ êëþ÷åé øèôðîâàíèÿ. Ïîñëå òîãî, êàê ýòè êëþ÷è çàïèñàíû, ñ÷èòàòü èõ ñòàíîâèòñÿ íåâîçìîæíûì . Êðîìå òîãî, îíè ïîìå÷åíû äëÿ êîíêðåòíîãî èñïîëüçîâàíèÿ : êëþ÷, ïðåäíàçíà÷åííûé äëÿ ðåøåíèÿ îäíîé çàäà÷è, íå ìîæåò ñëó÷àéíî áûòü èñïîëüçîâàí äëÿ ðåøåíèÿ äðóãîé . Ýòà êîíöåïöèÿ âåêòîðîâ óïðàâëåíèÿ êëþ÷àìè âîçìîæíî ÿâëÿåòñÿ ñàìûì çíà÷èòåëüíûì äîñòèæåíèåì ýòîé ñèñòåìû . Äîíàëüä Äýâèñ (Donald Davies) Âèëüÿì Ïðàéñ (William Price) ïîäðîáíî ðàññìàòðèâàþò ýòîò ïðîòîêîë óïðàâëåíèÿ êëþ÷àìè â [435]. Ìîäèôèêàöèÿ Ìîäèôèêàöèþ ýòîé ñõåìû ãëàâíîãî è ñåàíñîâûõ êëþ÷åé ìîæíî íàéòè â [1478]. Îíà ïîñòðîåíà íà áàçå ñåòåâûõ óçëîâ ñ àïïàðàòóðîé ïðîâåðêè ïîäëèííîñòè êëþ÷åé, êîòîðàÿ îáñëóæèâàåò ëîêàëüíûå òåðìèíàëû . Ýòà ìîäèôèêàöèÿ áûëà ðàçðàáîòàíà, ÷òîáû : Îáåçîïàñèòü äóïëåêñíûé êàíàë ìåæäó äâóìÿ ïîëüçîâàòåëüñêèìè òåðìèíàëàìè . Îáåçîïàñèòü ñâÿçü ñ ïîìîùüþ øèôðîâàííîé ïî÷òû . Îáåñïå÷èòü çàùèòó ëè÷íûõ ôàéëîâ . Îáåñïå÷èòü âîçìîæíîñòü öèôðîâîé ïîäïèñè . Äëÿ ñâÿçè è ïåðåäà÷è ôàéëîâ ìåæäó ïîëüçîâàòåëÿìè â ýòîé ñõåìå èñïîëüçóþòñÿ êëþ÷è, ãåíåðèðîâàííûå â àïïàðàòóðå ïðîâåðêè ïîäëèííîñòè êëþ÷åé, îòïðàâëÿåìûå ïîëüçîâàòåëÿì ïîñëå øèôðîâàíèÿ ñ ïîìîùüþ ãëàâí îãî êëþ÷à. Èíôîðìàöèÿ î ëè÷íîñòè ïîëüçîâàòåëÿ âñòðàèâàåòñÿ â êëþ÷, ïðåäîñòàâëÿÿ äîêàçàòåëüñòâî òîãî, ÷òî ñåàíñîâûé êëþ÷ èñïîëüçóåòñÿ êîíêðåòíîé ïàðîé ïîëüçîâàòåëåé . Âîçìîæíîñòü ïðîâåðêè ïîäëèííîñòè êëþ÷åé ÿâëÿåòñÿ ãëàâíîé â ýòîé ñèñòåìå . Õîòÿ â ñèñòåìå íå èñïîëüçóåòñÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè , îíà ïîääåðæèâàåò âîçìîæíîñòü, ïîõîæóþ íà öèôðîâóþ ïîäïèñü : êëþ÷ ìîæåò áûòü ïðèñëàí òîëüêî èç êîíêðåòíîãî è ñòî÷íèêà è ïðî÷èòàí òîëüêî â êîíêðåòíîì ìåñòå íàçíà÷åíèÿ .
24.2 MITRENET Îäíîé èç ñàìûõ ðàííèõ ðåàëèçàöèé êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè áûëà ýêñïåðèìåíòàëüíàÿ ñèñòåìà MEMO (MITRE Encrypted Mail Office , Øèôðîâàííîå ïî÷òîâîå îòäåëåíèå ). MITRE - ýòî áûëà êîìàíäà óìíûõ ïàðíåé, ðàáîòàþùàÿ ïî çàêàçó Ìèíèñòåðñòâà îáîðîíû . MEMO ñëóæèëà ñèñòåìîé áåçîïàñíîé ýëåêòðîííîé ïî ÷òû äëÿ ïîëüçîâàòåëåé ñåòè MITRENET è èñïîëüçîâàëà êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè äëÿ îáìåíà êë þ÷àìè è DES äëÿ øèôðîâàíèÿ ôàéëîâ.  ñèñòåìå MEMO âñå îòêðûòûå êëþ÷è õðàíÿòñÿ â Öåíòðå ðàñïðåäåëåíèÿ îòêðûòûõ êëþ÷åé (Public Key Distribution Center), êîòîðûé ÿâëÿåòñÿ îòäåëüíûì óçëîì ñåòè . Êëþ÷è õðàíÿòñÿ â ñòèðàåìîì ïåðåïðîãðàììèðóåìîì ÏÇÓ, ÷òîáû íå äàòü èçìåíèòü èõ . Çàêðûòûå êëþ÷è ãåíåðèðóþòñÿ ïîëüçîâàòåëÿìè ñèñòåìû . ×òîáû ïîëüçîâàòåëü ìîã îòïðàâëÿòü áåçîïàñíûå ñîîáùåíèÿ , ñèñòåìà ñíà÷àëà óñòàíàâëèâàåò áåçîïàñíîå ñ îåäèíåíèå ñ Öåíòðîì ðàñïðåäåëåíèÿ îòêðûòûõ êëþ÷åé . Ïîëüçîâàòåëü çàïðàøèâàåò â Öåíòðå ôàéë âñåõ îòêðûòûõ êëþ÷åé. Åñëè ïîëüçîâàòåëü ïðîõîäèò èäåíòèôèêàöèþ ñ èñïîëüçîâàíèåì åãî çàêðûòîãî êëþ÷à, Öåíòð ïåðåñûë àåò çàïðîøåííûé ñïèñîê íà ðàáî÷óþ ñòàíöèþ ïîëüçîâàòåëÿ . Äëÿ îáåñïå÷åíèÿ öåëîñòíîñòè ñïèñîê øèôðóåòñÿ ñ ïîìîùüþ DES. Äëÿ øèôðîâàíèÿ ñîîáùåíèé èñïîëüçóåòñÿ DES. Äëÿ øèôðîâàíèÿ ôàéëîâ ñèñòåìà ãåíåðèðóåò ñëó÷àéíûé êëþ÷ DES, ïîëüçîâàòåëü øèôðóåò ôàéë êëþ÷îì DES, à êëþ÷ DES - îòêðûòûì êëþ÷îì ïîëó÷àòåëÿ. Çàøèôðîâàííûé ôàéë è êëþ÷ îòïðàâëÿþòñÿ ïîëó÷àòåëþ . MEMO íå ïðåäóñìàòðèâàåò ìåð ïðåäîñòîðîæíîñòè ïðîòèâ ïîòåðü êëþ÷åé . Ñóùåñòâóþò íåêîòîðûå ñðåäñòâà ïðîâåðêè öåëîñòíîñòè ñîîáùåíèé ñ èñïîëüçîâàíèåì êîíòðîëüíûõ ñóìì .  ñèñòåìó íå âñòðîåíû ñðåäñòâà ïð îâåðêè ïîäëèííîñòè. Ïðåæäå, ÷åì ñèñòåìà áûëà ðåàëèçîâàíà, áûëà äîêàçàíà íåáåçîïàñíîñòü êîíêðåòíîé ðåàëèçàöèè ñèñòåìû î òêðûòûõ êëþ÷åé â MEMO - îáìåíà êëþ÷àìè ïî ñõåìå Diffie-Hellman íàä GF(2127) (ñì. ðàçäåë 11.6), õîòÿ íåòðóäíî èçìåíèòü ñèñòåìó, ÷òîáû ìîæíî áûëî èñïîëüçîâàòü áîëüøèå ÷èñëà . MEMO áûëà èçîáðåòåíà ãëàâíûì îáðàçîì äëÿ ýêñïåðèìåíòàëüíûõ öåëåé è íèêîãäà íå èñïîëüçîâàëàñü â ðåàëüíîé ñèñòåìå MITRENET.
24.3 ISDN Bell-Northern Research ðàçðàáîòàëà ïðîòîòèï áåçîïàñíîãî òåëåôîííîãî òåðìèíàëà ISDN (Integrated Services Digital Network, Öèôðîâàÿ ñåòü ñ èíòåãðèðîâàíèåì óñëóã) [499, 1192, 493, 500]. Êàê òåëåôîííûé àïïàðàò, òåðìèíàë îñòàëñÿ íà óðîâíå ïðîòîòèïà .  ðåçóëüòàòå ïîÿâèëñÿ Óðîâåíü áåçîïàñíîñòè ïàêåòîâ äàííûõ ( Packet Data Security Overlay). Òåðìèíàë èñïîëüçóåò ñõåìó îáìåíà êëþ÷àìè Diffie-Hellman, öèôðîâûå ïîäïèñè RSA è DES äëÿ øèôðîâàíèÿ äàííûõ. Îí ìîæåò ïåðåäàâàòü è ïðèíèìàòü ðå÷ü è äàííûå ñî ñê îðîñòüþ 64 Êáèò/ñ. Êëþ÷è  òåëåôîí âñòðîåíà ïàðà "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷" äëÿ äëèòåëüíîãî èñïîëüçîâàíèÿ . Çàêðûòûé êëþ÷ õðàíèòñÿ â óñòîé÷èâîì îò âñêðûòèÿ ìîäóëå òåëåôîíà . Îòêðûòûé êëþ÷ ñëóæèò äëÿ èäåíòèôèêàöèè òåëåôîíà . Ýòè êëþ÷è ÿâëÿþòñÿ ÷àñòüþ ñàìîãî òåëåôîííîãî àïïàðàòà è íå ìîãóò áûòü èçìåíåíû . Êðîìå òîãî, â òåëåôîíå õðàíÿòñÿ åùå äâà îòêðûòûõ êëþ÷à . Îäíèì èç íèõ ÿâëÿåòñÿ îòêðûòûé êëþ÷ âëàäåë üöà àïïàðàòà. Ýòîò êëþ÷ èñïîëüçóåòñÿ äëÿ ïðîâåðêè ïîäëèííîñòè êîìàíä âëàäåëüöà, îí ìîæåò áûòü èçìåíåí ïî êîìàíäå, ïîäïèñàííîé âëàäåëüöåì . Òàê ïîëüçîâàòåëü ìîæåò ïåðåäàòü êîìó-òî äðóãîìó ïðàâî âëàäåíèÿ àïïàð àòîì.  òåëåôîíå òàêæå õðàíèòñÿ îòêðûòûé êëþ÷ ñåòè . Îí èñïîëüçóåòñÿ äëÿ ïðîâåðêè ïîäëèííîñòè êîìàíä àïï àðàòóðû óïðàâëåíèÿ ñåòüþ è ïðîâåðêè ïîäëèííîñòè âûçîâîâ îò äðóãèõ ïîëüçîâàòåëåé ñåòè . Ýòîò êëþ÷ òàêæå ìîæíî èçìåíèòü êîìàíäîé, ïîäïèñàííîé âëàäåëüöåì . Ýòî ïîçâîëÿåò âëàäåëüöó ìåíÿòü ñåòü, ê êîòîðîé ïîäêë þ÷åí åãî àïïàðàò. Ýòè êëþ÷è ðàññìàòðèâàþòñÿ êàê êëþ÷è äëèòåëüíîãî ïîëüçîâàíèÿ - îíè ìåíÿþòñÿ ðåäêî, åñëè âîîáùå ìåí ÿþòñÿ.  òåëåôîíå òàêæå õðàíèòñÿ ïàðà "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷" äëÿ êðàòêîñðî÷íîãî èñïîëüçîâàíèÿ . Îíè âñòðîåíû â ñåðòèôèêàò, ïîäïèñàííûé öåíòðîì óïðàâëåíèÿ êëþ÷àìè . Äâà òåëåôîíà îáìåíèâàþòñÿ ñåðòèô èêàòàìè ïðè óñòàíîâëåíèè ñîåäèíåíèÿ . Ïîäëèííîñòü ýòèõ ñåðòèôèêàòîâ óäîñòîâåðÿåòñÿ îòêðûòûì êëþ÷îì ñåòè . Îáìåí ñåðòèôèêàòàìè è èõ ïðîâåðêà âûïîëíÿþòñÿ òîëüêî ïðè óñòàíîâëåíèè áåçîïàñíîãî ñîåäèíåíèÿ ìåæäó àïïàðàòàìè. Äëÿ óñòàíîâëåíèÿ áåçîïàñíîãî ñîåäèíåíèÿ ìåæäó ëþäüìè ïðîòîêîë ñîäåðæèò äîïîëíèòåëüíûé êîìïîíåíò.  àïïàðàòíîì êëþ÷å çàæèãàíèÿ, êîòîðûé âñòàâëÿåòñÿ â òåëåôîí âëàäåëüöåì, õðàíèòñÿ çàêðûòûé êëþ÷ âëàäåëüöà, çàøèôðîâàííûé ñåêðåòíûì ïàðîëåì, èçâåñòíûì òîëüêî âëàäåëüöó (åãî íå çíàåò íè òåëåôîííûé àïïàðàò, íè öåíòð óïðàâëåíèÿ ñåòüþ, íè åùå êòî-íèáóäü) . Êëþ÷ çàæèãàíèÿ òàêæå ñîäåðæèò ñåðòèôèêàò, ïîäï èñàííûé öåíòðîì óïðàâëåíèÿ ñåòüþ, â êîòîðûé âêëþ÷åíû îòêðûòûé êëþ÷ âëàäåëüöà è íåêîòîðàÿ èäåíòèôèêàö èîííàÿ èíôîðìàöèÿ (èìÿ, êîìïàíèÿ, ñïåöèàëüíîñòü, ñòåïåíü äîïóñêà, ëþáèìûå ñîðòà ïèööû, ñåêñóàëüíàÿ îðèåíòàöèÿ è ïðî÷åå). Âñå ýòî òàêæå çàøèôðîâàíî. Äëÿ äåøèôðèðîâàíèÿ ýòîé èíôîðìàöèè è ââîäà åå â òåëåôîí
ïîëüçîâàòåëü ââîäèò ñâîé ñåêðåòíûé ïàðîëü ñ êëàâèàòóðû àïïàðàòà . Òåëåôîííûé àïïàðàò èñïîëüçóåò ýòó è íôîðìàöèþ äëÿ ñîåäèíåíèÿ, íî îíà óäàëÿåòñÿ ïîñëå òîãî, êàê ïîëüçîâàòåëü èçâëå÷åò ñâîé êëþ÷ çàæèãàíèÿ .  òåëåôîíå òàêæå õðàíèòñÿ íàáîð ñåðòèôèêàòîâ, âûäàííûõ öåíòðîì óïðàâëåíèÿ ñåòüþ . Ýòè ñåðòèôèêàòû óäîñòîâåðÿþò ïðàâî êîíêðåòíûõ ïîëüçîâàòåëåé ïîëüçîâàòüñÿ êîíêðåòíûìè òåëåôîííûìè àïïàðàòàìè . Âûçîâ Âûçîâ Áîáà Àëèñîé ïðîèñõîäèò ñëåäóþùèì îáðàçîì . (1) Àëèñà âñòàâëÿåò â òåëåôîí ñâîé êëþ÷ çàæèãàíèÿ è ââîäèò ñâîé ïàðîëü . (2) Òåëåôîí îïðàøèâàåò êëþ÷ çàæèãàíèÿ, ÷òîáû îïðåäåëèòü ëè÷íîñòü Àëèñû è âûäàòü åé ñèãíàë "ëèíèÿ ñâîáîäíà". (3) Òåëåôîí ïðîâåðÿåò ñâîé íàáîð ñåðòèôèêàòîâ, ïðîâåðÿÿ, ÷òî Àëèñà èìååò ïðàâî èñïîëüçîâàòü ýòîò àïïàðàò . (4) Àëèñà íàáèðàåò íîìåð, òåëåôîí îïðåäåëÿåò àäðåñàòà çâîíêà . (5) Äâà òåëåôîíà èñïîëüçóþò ïðîòîêîë îáìåíà êëþ÷àìè íà áàçå êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè, ÷òîáû ãåíåðèðîâàòü óíèêàëüíûé è ñëó÷àéíûé ñåàíñîâûé êëþ÷ . Âñå ïîñëåäóþùèå ýòàïû ïðîòîêîëà øèôðóþòñÿ ñ ïîìîùüþ ýòîãî êëþ÷à. (6) Òåëåôîí Àëèñû ïåðåäàåò ñâîé ñåðòèôèêàò è èäåíòèôèêàòîð ïîëüçîâàòåëÿ . (7) Òåëåôîí Áîáà ïðîâåðÿåò ïîäïèñè ñåðòèôèêàòà è èäåíòèôèêàòîðà ïîëüçîâàòåëÿ, èñïîëüçóÿ îòêðûòûé êëþ÷ ñåòè. (8) Òåëåôîí Áîáà èíèöèèðóåò ïîñëåäîâàòåëüíîñòü çàïðîñîâ/îòâåòîâ . Äëÿ ýòîãî íåîáõîäèìî â ðåàëüíîì âð åìåíè (íå ïîçäíåå çàäàííîé çàäåðæêè) îòïðàâëÿòü ïîäïèñàííûå îòâåòû íà çàïðîñû . (Ýòî ïîìåøàåò çëîóìûøëåííèêó èñïîëüçîâàòü ñåðòèôèêàòû, ñêîïèðîâàííûå èç ïðåäûäóùåãî îáìåíà .) Îäèí îòâåò äîëæåí áûòü ïîäïèñàí çàêðûòûì êëþ÷îì òåëåôîíà Àëèñû, à äðóãîé - çàêðûòûì êëþ÷îì Àëèñû . (9) Åñëè Áîáà íåò ó òåëåôîíà, òî åãî òåëåôîí çâîíèò . (10) Åñëè Áîá äîìà, îí âñòàâëÿåò â òåëåôîí ñâîé êëþ÷ çàæèãàíèÿ . Åãî òåëåôîí îïðàøèâàåò êëþ÷ çàæèãàíèÿ è ïðîâåðÿåò ñåðòèôèêàò Áîáà, êàê íà ýòàïàõ (2) è (3). (11) Áîá ïåðåäàåò ñâîé ñåðòèôèêàò è èäåíòèôèêàòîð ïîëüçîâàòåëÿ . (12) Òåëåôîí Àëèñû ïðîâåðÿåò ïîäïèñè Áîáà, êàê íà ýòàïå (7) è èíèöèèðóåò ïîñëåäîâàòåëüíîñòü çàïð îñîâ/îòâåòîâ, êàê íà ýòàïå (8). (13) Îáà òåëåôîíà âûâîäÿò íà ñâîè ýêðàíû ëè÷íîñòü è íîìåð òåëåôîíà äðóãîãî ïîëüçîâàòåëÿ . (14) Íà÷èíàåòñÿ áåçîïàñíûé ðàçãîâîð . (15) Êîãäà îäíà èç ñòîðîí âåøàåò òðóáêó, óäàëÿþòñÿ ñåàíñîâûé êëþ÷, à òàêæå ñåðòèôèêàòû, êîòîðûå òåëåôîí Áîáà ïîëó÷èë îò òåëåôîíà Àëèñû, è ñåðòèôèêàòû, êîòîðûå òåëåôîí Àëèñû ïîëó÷èë îò òåëåôîíà Áîáà . Êàæäûé êëþ÷ DES óíèêàëåí äëÿ êàæäîãî çâîíêà. Îí ñóùåñòâóåò òîëüêî âíóòðè äâóõ òåëåôîííûõ àïïàðàòîâ è òîëüêî â òå÷åíèå ðàçãîâîðà, à ïîñëå åãî îêîí÷àíèÿ íåìåäëåííî óíè÷òîæàåòñÿ. Åñëè çëîóìûøëåííèê äîáóäåò îäèí èëè îáà ó÷àñòâîâàâøèõ â ðàçãîâîðå àïïàðàòà, îí íå ñìîæåò ðàñøèôðîâàòü íè îäèí ïðåäøåñòâóþùèé ðà çãîâîð, â êîòîðîì ó÷àñòâîâàëè ýòè äâà àïïàðàòà .
24.4 STU-III STU îáîçíà÷àåò "Secure Telephone Unit" (Áåçîïàñíûé òåëåôîííûé ìîäóëü), ðàçðàáîòàííûé â NSA áåçîïàñíûé òåëåôîí. Ïî ðàçìåðàì è ôîðìå ýòîò ìîäóëü ïî÷òè òàêîé æå, êàê è îáû÷íûé òåëåôîí, è ìîæåò áûòü èñïîë üçîâàí òàêæå, êàê è îáû÷íûé òåëåôîí . Àïïàðàòû óñòîé÷èâû ê âçëîìó, áåç êëþ÷à îíè ðàáîòàþò êàê íåñåêðåòíûå . Îíè òàêæå âêëþ÷àþò ïîðò ïåðåäà÷è äàííûõ è ïîìèìî ïåðåäà÷è ðå÷è ìîãóò áûòü èñïîëüçîâàíû äëÿ áåçîïàñíîé ïåðåäà÷è äàííûõ ïî ìîäåìíîìó êàíàëó [1133]. Óèòôèëä Äèôôè îïèñàë STU-III â [494]: ×òîáû ïîçâîíèòü, èñïîëüçóÿ STU-III, çâîíÿùèé ñíà÷àëà îáû÷íûì îáðàçîì çâîíèò íà äðóãîé STU-III, çàòåì âñòàâëÿåò ïîõîæåå íà êëþ÷ óñòðîéñòâî, ñîäåðæàùåå êðèïòîãðàôè÷åñêóþ ïåðåìåííóþ, è íàæèìàåò êíîïêó "ñåêðåòíûå ïåðåãîâîðû" ( "go secure"). Ñïóñòÿ ïðèìåðíî 15 ñåêóíä çàäåðæêè, íóæíîé äëÿ êðèïòîãðàôè÷åñêîé íàñòðîéêè , êàæäûé òåëåôîí âûâîäèò íà ýêðàí èíôîðìàöèþ î ëè÷íîñòè è äîïóñêå äðóãîé ñòîðîíû, è ðàçãîâîð ìîæåò íà÷èíàòüñÿ . Áåñïðåöåäåíòíûì øàãîì áûë îáúÿâëåíèå Óîëòåðà Äèëè (Walter Deeley), çàìåñòèòåëÿ äèðåêòîðà NSA ïî áåçîïàñíîñòè êîììóíèêàöèé, î STU-III èëè áóäóùåé ñèñòåìå áåçîïàñíîé ãîëîñîâîé ñâÿçè â ýêñêëþçèâíîì èíòåðâüþ, äàííîì The New York Times [282]. Ãëàâíîé öåëüþ íîâîé ñèñòåìû áûëî ïðåäîñòàâèòü Ìèíèñòåðñòâó îáîðîíû ÑØÀ è åãî ïîäðÿä÷èêàì ñðåäñòâà áåçîïàñíîé ïåðåäà÷è ðå÷è è áåçîïàñíîé íèçêîñêîðîñòíîé ïåðåäà÷è äàííûõ.  èíòåðâüþ íå áûëî ìíîãî ñêàçàíî î ðàáîòå ñè ñòåìû, íî ïîñòåïåííî èíôîðìàöèÿ íà÷àëà ïîÿâëÿòüñÿ.  íîâîé ñèñòåìå èñïîëüçóþòñÿ îòêðûòûå êëþ÷è.
Î íîâîì ïîäõîäå ê ðàñïðåäåëåíèþ êëþ÷åé áûëî ðàññêàçàíî â [68], â îäíîé ñòàòüå ãîâîðèëîñü î òåëåôîíàõ, "ïåðåïðîãðàììèðóåìûõ ðàç â ãîä ïî áåçîïàñíîìó òåëåôîííîìó êàíàëó ", ÷òî âåñüìà âåðîÿòíî ïðåäïîëàãàåò èñïîëüçîâàíèå ïðîòîêîëà ïðîâåðêè ñåðòèôèêàòîâ , àíàëîãè÷íîãî îïèñàííîìó [â ðàçäåëå 24.3], êîòîðûé ìèíèìèçèðóåò äëÿ òåëåôîíîâ íåîáõ îäèìîñòü îáùàòüñÿ ñ öåíòðîì óïðàâëåíèÿ êëþ÷àìè . Ïîñëåäíèå èçâåñòèÿ áûëè áîëåå èíôîðìàòèâíûìè , â íèõ ðàññêàçûâàëîñü î ñèñòåìå óïðàâëåíèÿ êëþ÷àìè, íàçâàííîé FIREFLY, êîòîðàÿ [1341] "ðàçðàáîòàíà íà áàçå òåõíîëîãèè îòêðûòûõ êëþ÷åé è èñïîëüçóåòñÿ äëÿ ðàñïðåäåëåíèÿ êëþ÷åé øèôðîâàíèÿ ïîïàðíîãî òðàôèêà". È ýòî îïèñàíèå, è ñâèäåòåëüñêèå ïîêàçàíèÿ, äàííûå Êîíãðåññó ÑØÀ Ëè Íüþâèðòîì ( Lee Neuwirth) èç Cylink [1164] ïðåäïîëàãàþò èñïîëüçîâàíèå êîìáèíàöèè îáìåíà êëþ÷àìè è ñåðòèôèêàòàìè, àíàëîãè÷íîãî èñïîëüçóåìîìó â áåçîïàñíûõ òåëåôîíàõ ISDN. Âåñüìà âåðîÿòíî, ÷òî FIREFLY òàêæå îñíîâàíà íà âîçâåäåíèè â ñòåïåíü.
STU-III ïðîèçâîäÿòñÿ AT&T è GE. Çà 1994 ãîä áûëî âûïóùåíî 300000-400000 øòóê . Íîâàÿ âåðñèÿ, Secure Terminal Equipment (STE, Áåçîïàñíûé òåðìèíàë), áóäåò ðàáîòàòü ïî ëèíèÿì ISDN.
24.5 KERBEROS Kerberos ïðåäñòàâëÿåò ñîáîé ðàçðàáîòàííûé äëÿ ñåòåé TCP/IP ïðîòîêîë ïðîâåðêè ïîäëèííîñòè ñ äîâåðåííîé òðåòüåé ñòîðîíîé. Ñëóæáà Kerberos, ðàáîòàþùàÿ â ñåòè, äåéñòâóåò êàê äîâåðåííûé ïîñðåäíèê, îáåñïå÷èâàÿ áåçîïàñíóþ ñåòåâóþ ïðîâåðêó ïîäëèííîñòè, äàþùóþ ïîëüçîâàòåëþ âîçìîæíîñòü ðàáîòàòü íà íåñêîëüêèõ ìàø èíàõ ñåòè. Kerberos íà ñèììåòðè÷íîé êðèïòîãðàôèè (ðåàëèçîâàí DES, íî âìåñòî íåãî ìîæíî èñïîëüçîâàòü è äð óãèå àëãîðèòìû). Ïðè îáùåíèè ñ êàæäûì îáúåêòîì ñåòè Kerberos èñïîëüçóåò îòëè÷íûé îáùèé ñåêðåòíûé êëþ÷, è çíàíèå ýòîãî ñåêðåòíîãî êëþ÷à ðàâíîñèëüíî èäåíòèôèêàöèè îáúåêòà . Kerberos áûë ïåðâîíà÷àëüíî ðàçðàáîòàí â ÌÒÈ äëÿ ïðîåêòà Àôèíà . Ìîäåëü Kerberos îñíîâàíà íà ïðîòîêîëå Needham-Schroeder ñ äîâåðåííîé òðåòüåé ñòîðîíîé (ñì. ðàçäåë 3.3) [1159]. Îðèãèíàëüíàÿ âåðñèÿ Kerberos, Âåðñèÿ 4, îïðåäåëåíà â [1094, 1499]. (Âåðñèè ñ 1 ïî 3 áûëè âíóòðåííèìè ðàáî÷èìè âåðñèÿìè .) Âåðñèÿ 5, ìîäèôèêàöèÿ Âåðñèè 4, îïðåäåëåíà â [876, 877, 878]. Ëó÷øèì îáçîðîì ïî Kerberos ÿâëÿåòñÿ [1163]. Äðóãèå îáçîðíûå ñòàòüè - [1384, 1493], èñïîëüçîâàíèå Kerberos â ðåàëüíîì ìèðå õîðîøî îïèñàíî â [781, 782]. Ìîäåëü Kerberos Áàçîâûé ïðîòîêîë Kerberos áûë ñõåìàòè÷íî îïèñàí â ðàçäåëå 3.3.  ìîäåëè Kerberos ñóùåñòâóþò ðàñïîëîæåííûå â ñåòè îáúåêòû - êëèåíòû è ñåðâåðû . Êëèåíòàìè ìîãóò áûòü ïîëüçîâàòåëè, íî ìîãóò è íåçàâèñèìûå ïð îãðàììû, âûïîëíÿþùèå ñëåäóþùèå äåéñòâèÿ : çàãðóçêó ôàéëîâ, ïåðåäà÷ó ñîîáùåíèé, äîñòóï ê áàçàì äàííûõ, äîñòóï ê ïðèíåðàì, ïîëó÷åíèå àäìèíèñòðàòèâíûõ ïðèâèëåãèé , è ò.ï. Kerberos õðàíèò áàçó äàííûõ êëèåíòîâ è èõ ñåêðåòíûõ êëþ÷åé . Äëÿ ïîëüçîâàòåëåé-ëþäåé ñåêðåòíûé êëþ÷ ÿâëÿåòñÿ çàøèôðîâàííûì ïàðîëåì . Ñåòåâûå ñëóæáû, òðåáóþùèå ïðîâåðêè ïîäëèííîñòè, è êëèåíòû, êîòîðûå õîòÿò èñïîëüçîâàòü ýòè ñëóæáû, ðåãèñòðèðóþò â Kerberos ñâîè ñåêðåòíûå êëþ÷è. Òàê êàê Kerberos çíàåò âñå ñåêðåòíûå êëþ÷è, îí ìîæåò ñîçäàâàòü ñîîáùåíèÿ, óáåæäàþùèå îäèí îáúåêò â ïîäëèííîñòè äðóãîãî. Kerberos òàêæå ñîçäàåò ñåàíñîâûå êëþ÷è, êîòîðûå âûäàþòñÿ êëèåíòó è ñåðâåðó (èëè äâóì êëèåíòàì) è íèêîìó áîëüøå. Ñåàíñîâûé êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ ñîîáùåíèé, êîòîðûìè îáìåíèâ àþòñÿ äâå ñòîðîíû, è óíè÷òîæàåòñÿ ïîñëå îêîí÷àíèÿ ñåàíñà . Äëÿ øèôðîâàíèÿ Kerberos èñïîëüçóåò DES. Kerberos âåðñèè 4 îáåñïå÷èâàë íåñòàíäàðòíûé, ñëàáûé ðåæèì ïðîâåðêè ïîäëèííîñòè - îí íå ìîã îïðåäåëèòü îïðåäåëåííûé èçìåíåíèÿ øèôðîòåêñòà (ñì. ðàçäåë 9.10). Kerberos âåðñèè 5 èñïîëüçóåò ðåæèì CBC.
Kerberos
TGS
1
2
1. 2. 3. 4. 5.
Çàïðîñ ìàíäàòà íà âûäåëåíèå ìàíäàòà Ìàíäàò âûäåëåíèÿ ìàíäàòà Çàïðîñ ìàíäàòà ñåðâåðà Ìàíäàò ñåðâåðà Çàïðîñ óñëóãè
3 4 Êëèåíò
5
Ñåðâåð
Ðèñ. 24-1. Ýòàïû ïðîâåðêè ïîäëèííîñòè Kerberos Êàê ðàáîòàåò Kerberos  ýòîì ðàçäåëå ðàññìàòðèâàåòñÿ Kerberos âåðñèè 5. Íèæå ÿ îáðèñóþ ðàçëè÷èÿ ìåæäó âåðñèÿìè 4 è 5 . Ïðîòîêîë Kerberos ïðîñò (ñì. 23rd). Êëèåíò çàïðàøèâàåò ó Kerberos ìàíäàò íà îáðàùåíèå ê Ñëóæáå âûäåëåíèÿ ìàíäàòîâ (Ticket-Granting Service, TGS). Ýòîò ìàíäàò, çàøèôðîâàííûé ñåêðåòíûì êëþ÷îì êëèåíòà, ïîñûëàåòñÿ
êëèåíòó. Äëÿ èñïîëüçîâàíèÿ êîíêðåòíîãî ñåðâåðà êëèåíò çàïðàøèâàåò ó TGS ìàíäàò íà îáðàùåíèå ê ñåðâåðó. Åñëè âñå â ïîðÿäêå, TGS ïîñûëàåò ìàíäàò êëèåíòó. Çàòåì êëèåíò ïðåäúÿâëÿåò ñåðâåðó ýòîò ìàíäàò âìåñòå ñ óä îñòîâåðåíèåì. È ñíîâà, åñëè àòðèáóòû êëèåíòà ïðàâèëüíû , ñåðâåð ïðåäîñòàâëÿåò êëèåíòó äîñòóï ê óñëóãå . Òàáë. 24-1. Òàáëèöà ñîêðàùåíèé Kerberos c s a v t Kx Kx,y (m)Kx Tx,y Ax,y
= êëèåíò = ñåðâåð = ñåòåâîé àäðåñ êëèåíòà = íà÷àëî è îêîí÷àíèå âðåìåíè äåéñòâèÿ ìàíäàòà = ìåòêà âðåìåíè = ñåêðåòíûé êëþ÷ x = ñåàíñîâûé êëþ÷ äëÿ x è y = m, øèôðîâàííîå ñåêðåòíûì êëþ÷îì x = ìàíäàò x íà èñïîëüçîâàíèå y = óäîñòîâåðåíèå x äëÿ y
Àòðèáóòû Kerberos èñïîëüçóåò äâà òèïà àòðèáóòîâ: ìàíäàòû è óäîñòîâåðåíèÿ. ( äàëüíåéøåì â ýòîì ðàçäåëå áóäåò èñïîëüçîâàòüñÿ íîòàöèÿ, èñïîëüçóåìàÿ â äîêóìåíòàõ Kerberos - ñì. 23-é.) Ìàíäàò èñïîëüçóåòñÿ äëÿ áåçîïàñíîé ïåðåäà÷è ñåðâåðó ëè÷íîñòè êëèåíòà, êîòîðîìó âûäàí ýòîò ìàíäàò .  íåì òàêæå ñîäåðæèòñÿ èíôîðìàöèÿ, êîò îðóþ ñåðâåð ìîæåò èñïîëüçîâàòü äëÿ ïðîâåðêè òîãî, ÷òî êëèåíò, èñïîëüçóþùèé ìàíäàò, - ýòî èìåííî òîò êëèåíò, êîòîðîìó ýòîò ìàíäàò áûë âûäàí . Óäîñòîâåðåíèå - ýòî äîïîëíèòåëüíûé àòðèáóò, ïðåäúÿâëÿåìûé âìåñòå ñ ìà íäàòîì. Ìàíäàò Kerberos èìååò ñëåäóþùóþ ôîðìó: Tc,s = s, {c, a, v, Kc,s}Ks. Ìàíäàò õîðîø äëÿ îäíîãî ñåðâåðà è îäíîãî êëèåíòà . Îí ñîäåðæèò èìÿ êëèåíòà, åãî ñåòåâîé àäðåñ, èìÿ ñå ðâåðà, ìåòêó âðåìåíè è ñåàíñîâûé êëþ÷ . Ýòà èíôîðìàöèÿ øèôðóåòñÿ ñåêðåòíûì êëþ÷îì ñåðâåðà . Åñëè êëèåíò ïîëó÷èë ìàíäàò, îí ìîæåò èñïîëüçîâàòü åãî äëÿ äîñòóïà ê ñåðâåðó ìíîãî ðàç - ïîêà íå èñòå÷åò ñðîê äåéñòâèÿ ìàíäàòà. Íå ìîæåò ðàñøèôðîâàòü ìàíäàò (îí íå çíàåò ñåêðåòíîãî êëþ÷à ñåðâåðà ), íî îí ìîæåò ïðåäúÿâèòü åãî ñåðâåðó â çàøèôðîâàííîé ôîðìå . Ïðî÷èòàòü èëè èçìåíèòü ìàíäàò ïðè ïåðåäà÷å åãî ïî ñåòè íåâîçìîæíî . Óäîñòîâåðåíèå Kerberos èìååò ñëåäóþùóþ ôîðìó: Ac,s = {c, t, êëþ÷}Kc,s Êëèåíò ñîçäàåò åãî êàæäûé ðàç, êîãäà åìó íóæíî âîñïîëüçîâàòüñÿ óñëóãàìè ñåðâåðà . Óäîñòîâåðåíèå ñîäåðæèò èìÿ êëèåíòà, ìåòêó âðåìåíè è íåîáÿçàòåëüíûé äîïîëíèòåëüíûé ñåàíñîâûé êëþ÷ , âñå ýòè äàííûå øèôðóþòñÿ ñåàíñîâûì êëþ÷îì, îáùèì äëÿ êëèåíòà è ñåðâåðà .  îòëè÷èå îò ìàíäàòà óäîñòîâåðåíèå èñïîëüçóåòñÿ òîëüêî îäèí ðàç. Îäíàêî ýòî íå ïðîáëåìà, òàê êàê êëèåíò ìîæåò ãåíåðèðîâàòü óäîñòîâåðåíèÿ ïî ìåðå íàäîáíîñòè (åìó èçâåñòåí îáùèé ñåêðåòíûå êëþ÷) . Èñïîëüçîâàíèå óäîñòîâåðåíèÿ ïðåñëåäóåò äâå öåëè . Âî ïåðâûõ, îíî ñîäåðæèò íåêîòîðûé îòêðûòûé òåêñò, çàøèôðîâàííûé ñåàíñîâûì êëþ÷îì . Ýòî äîêàçûâàåò, ÷òî êëèåíòó èçâåñòåí êëþ÷ . ×òî íå ìåíåå âàæíî, çàøèôðîâàííûé îòêðûòûé òåêñò âêëþ÷àåò ìåòêó âðåìåíè . Çëîóìûøëåííèê, êîòîðîìó óäàëîñü çàïèñàòü è ìàíäàò, è óäîñòîâåðåíèå, íå ñìîæåò èñïîëüçîâàòü èõ ñïóñòÿ äâà äíÿ . Ñîîáùåíèÿ Kerberos âåðñèè 5  Kerberos âåðñèè 5 èñïîëüçóåòñÿ ïÿòü ñîîáùåíèé (ñì. 23-é): 1. Êëèåíò-Kerberos: c,tgs 2. Kerberos-êëèåíò: {Kc,tgs}Kc, {Tc,tgs}Ktgs 3. Êëèåíò-TGS: {Ac,s}Kc,tgs{Tc,tgs} Ktgs,s 4. TGS-êëèåíò: {Kc,s}Kc,tgs{Tc,s}Ks 5. Êëèåíò-ñåðâåð: {Ac,s}Kc,s {Tc,s}Ks Òåïåðü ðàññìîòðèì èñïîëüçîâàíèå ýòèõ ñîîáùåíèé ïîäðîáíî . Ïîëó÷åíèå ïåðâîíà÷àëüíîãî ìàíäàòà Ó êëèåíòà åñòü ÷àñòü èíôîðìàöèè, äîêàçûâàþùåé åãî ëè÷íîñòü - åãî ïàðîëü . Ïîíÿòíî, ÷òî íå õî÷åòñÿ çàñòàâëÿòü êëèåíòà ïåðåäàâàòü ïàðîëü ïî ñåòè . Ïðîòîêîë Kerberos ìèíèìèçèðóåò âåðîÿòíîñòü êîìïðîìåòàöèè ï àðîëÿ, íî ïðè ýòîì íå ïîçâîëÿåò ïîëüçîâàòåëþ ïðàâèëüíî èäåíòèôèöèðîâàòü ñåáÿ, åñëè îí íå çíàåò ïàðîëÿ .
Êëèåíò ïîñûëàåò ñîîáùåíèå, ñîäåðæàùåå åãî èìÿ è èìÿ åãî ñåðâåðà TGS íà ñåðâåð ïðîâåðêè ïîäëèííîñòè Kerberos. (ìîæåò áûòü íåñêîëüêî ñåðâåðîâ TGS.) Íà ïðàêòèêå ïîëüçîâàòåëü, ñêîðåå âñåãî, ïðîñòî ââîäèò ñâîå èìÿ è ïðîãðàììà âõîäà â ñèñòåìó ïîñûëàåò çàïðîñ . Ñåðâåð ïðîâåðêè ïîäëèííîñòè Kerberos èùåò äàííûå î êëèåíòå â ñâîåé áàçå äàííûõ . Åñëè èíôîðìàöèÿ î êëèåíòå åñòü â áàçå äàííûõ, Kerberos ãåíåðèðóåò ñåàíñîâûé êëþ÷, êîòîðûé áóäåò èñïîëüçîâàòüñÿ äëÿ îáìåíà äàííûìè ìåæäó êëèåíòîì è TGS. Îí íàçûâàåòñÿ Ìàíäàòîì íà âûäåëåíèå ìàíäàòà (Ticket Granting Ticket, TGT). Kerberos øèôðóåò ýòîò ñåàíñîâûé êëþ÷ ñåêðåòíûì êëþ÷îì êëèåíòà . Çàòåì îí ñîçäàåò äëÿ êëèåíòà TGT, äîêàçûâàþùèé ïîäëèííîñòü êëèåíòà TGS, è øèôðóåò åãî ñåêðåòíûì êëþ÷îì TGS. Ñåðâåð ïðîâåðêè ïîäëèííîñòè ïîñûëàåò ýòè äâà çàøèôðîâàííûõ ñîîáùåíèÿ êëèåíòó . Òåïåðü êëèåíò ðàñøèôðîâûâàåò ïåðâîå ñîîáùåíèå è ïîëó÷àåò ñåàíñîâûé êëþ÷ . Ñåêðåòíûé êëþ÷ ÿâëÿåòñÿ îäíîíàïðàâëåííîé õýø-ôóíêöèåé êëèåíòñêîãî ïàðîëÿ , ïîýòîìó ó çàêîííîãî ïîëüçîâàòåëÿ íå áóäåò íèêàêèõ ïð îáëåì. Ñàìîçâàíåö íå çíàåò ïðàâèëüíîãî ïàðîëÿ è, ñëåäîâàòåëüíî, íå ìîæåò ðàñøèôðîâàòü îòâåò ñåðâåðà ïð îâåðêè ïîäëèííîñòè. Äîñòóï çàïðåùàåòñÿ, è ñàìîçâàííûé êëèåíò íå ìîæåò ïîëó÷èòü ìàíäàò èëè ñåàíñîâûé êëþ÷. Êëèåíò ñîõðàíÿåò TGT è ñåàíñîâûé êëþ÷, ñòèðàÿ ïàðîëü è õýø-çíà÷åíèå . Ýòà èíôîðìàöèÿ óíè÷òîæàåòñÿ äëÿ óìåíüøåíèÿ âåðîÿòíîñòè êîìïðîìåòàöèè . Åñëè âðàã ïîïûòàåòñÿ ñêîïèðîâàòü ïàìÿòü êëèåíòà, îí ïîëó÷èò òîëüêî TGT è ñåàíñîâûé êëþ÷. Ýòè äàííûå âàæíû, íî òîëüêî íà âðåìÿ æèçíè TGT. Êîãäà ñðîê äåéñòâèÿ TGT èñòå÷åò, ýòè ñâåäåíèÿ ñòàíóò áåññìûñëåííûìè . Òåïåðü â òå÷åíèå âðåìåíè æèçíè TGT êëèåíò ìîæåò äîêàçûâàòü TGS ñâîþ ïîäëèííîñòü. Ïîëó÷åíèå ñåðâåðíûõ ìàíäàòîâ Êëèåíòó òðåáóåòñÿ ïîëó÷èòü îòäåëüíûé ìàíäàò äëÿ êàæäîé íóæíîé åìó óñëóãè . TGS âûäåëÿåò ìàíäàòû äëÿ îòäåëüíûõ ñåðâåðîâ. Êîãäà êëèåíòó íóæåí ìàíäàò, êîòîðîãî ó íåãî ïîêà íåò, îí ïîñûëàåò çàïðîñ ê TGS. (Íà ïðàêòèêå ïðîãðàììà, ñêîðåå âñåãî, äåëàåò ýòî àâòîìàòè÷åñêè è íåçàìåòíî äëÿ ïîëüçîâàòåëÿ .) TGS, ïîëó÷èâ çàïðîñ, ðàñøèôðîâûâàåò TGT ñâîèì ñåêðåòíûì êëþ÷îì. Çàòåì TGS èñïîëüçóåò âêëþ÷åííûé â TGT ñåàíñîâûé êëþ÷, ÷òîáû ðàñøèôðîâàòü óäîñòîâåðåíèå . Íàêîíåö TGS ñðàâíèâàåò èíôîðìàöèþ óäîñòîâåð åíèÿ ñ èíôîðìàöèåé ìàíäàòà, ñåòåâîé àäðåñ êëèåíòà ñ àäðåñîì îòïðàâèòåëÿ çàïðîñà è ìåòêó âðåìåíè ñ òåêóùèì âðåìåíåì. Åñëè âñå ñîâïàäàåò, TGS ðàçðåøàåò âûïîëíåíèå çàïðîñà. Ïðîâåðêà ìåòîê âðåìåíè ïðåäïîëàãàåò, ÷òî ÷àñû âñåõ êîìïüþòåðîâ ñèíõðîíèçèðîâàíû, ïî êðàéíåé ìåðå ñ òî÷íîñòüþ äî íåñêîëüêèõ ìèíóò. Åñëè âðåìÿ, óêàçàííîå â çàïðîñå, îòñòîèò îò òåêóùåãî ìîìåíòà ñëèøêîì äàë åêî â ïðîøëîå èëè â áóäóùåå, TGS ñ÷èòàåò çàïðîñ ïîïûòêîé ïîâòîðåíèÿ ïðåäûäóùåãî çàïðîñà . TGS äîëæíà òàêæå îòñëåæèâàòü ïðàâèëüíîñòü ñðîêîâ äåéñòâèÿ óäîñòîâåðåíèé , òàê êàê óñëóãè ñåðâåðà ìîãóò çàïðàøèâàòüñÿ í åñêîëüêî ðàç ïîñëåäîâàòåëüíî ñ îäíèì ìàíäàòîì, íî ðàçíûìè óäîñòîâåðåíèÿìè . Äðóãîé çàïðîñ ñ òåì æå ìàíäàòîì è óæå èñïîëüçîâàííîé ìåòêîé âðåìåíè óäîñòîâåð åíèÿ áóäåò îòâåðãíóò.  îòâåò íà ïðàâèëüíûé çàïðîñ TGS âîçâðàùàåò ïðàâèëüíûé ìàíäàò, êîòîðûé êëèåíò ìîæåò ïðåäúÿâèòü ñå ðâåðó. TGS òàêæå ñîçäàåò íîâûé ñåàíñîâûé êëþ÷ äëÿ êëèåíòà è ñåðâåðà , çàøèôðîâàííûé ñåàíñîâûì êëþ÷îì, îáùèì äëÿ êëèåíòà è TGS. Îáà ýòèõ ñîîáùåíèÿ îòïðàâëÿþòñÿ êëèåíòó . Êëèåíò ðàñøèôðîâûâàåò ñîîáùåíèå è èçâëåêàåò ñåàíñîâûé êëþ÷. Çàïðîñ óñëóãè Òåïåðü êëèåíò ìîæåò äîêàçàòü ñâîþ ïîäëèííîñòü ñåðâåðó . Îí ñîçäàåò ñîîáùåíèå, î÷åíü ïîõîæåå íà òî, êîò îðîå ïîñûëàëîñü TGS (è ýòî ïîíÿòíî, òàê êàê TGS - òîæå óñëóãà). Êëèåíò ñîçäàåò óäîñòîâåðåíèå, ñîñòîÿùåå èç åãî èìåíè, ñåòåâîãî àäðåñà è ìåòêè âðåìåíè, çàøèôðîâàííîå ñåàíñîâûì êëþ÷îì, êîòîðûé áûë ãåíåðèðîâàí TGS äëÿ ñåàíñà êëèåíòà è ñåðâåðà. Çàïðîñ ñîñòîèò èç ìàíäàòà, ïîëó÷åííîãî îò Kerberos (óæå çàøèôðîâàííîãî ñåêðåòíûì êëþ÷îì ñåðâåðà ) è çàøèôðîâàííîãî èäåíòèôèêàòîðà . Ñåðâåð ðàñøèôðîâûâàåò è ïðîâåðÿåò ìàíäàò è óäîñòîâåðåíèå, êàê óæå îáñóæäàëîñü, à òàêæå ïðîâåðÿåò àäðåñ êëèåíòà è ìåòêó âðåìåíè. Åñëè âñå â ïîðÿäêå, òî ñåðâåð óâåðåí, ÷òî, ñîãëàñíî Kerberos, êëèåíò - èìåííî òîò, çà êîãî îí ñåáÿ âûäàåò. Åñëè ïðèëîæåíèå òðåáóåò âçàèìíîé ïðîâåðêè ïîäëèííîñòè, ñåðâåð ïîñûëàåò êëèåíòó ñîîáùåíèå, ñîñòîÿùåå èç ìåòêè âðåìåíè, çàøèôðîâàííîé ñåàíñîâûì êëþ÷îì . Ýòî äîêàçûâàåò, ÷òî ñåðâåðó èçâåñòåí ïðàâèëüíûé ñå êðåòíûé êëþ÷, è îí ìîæåò ðàñøèôðîâàòü ìàíäàò è óäîñòîâåðåíèå . Ïðè íåîáõîäèìîñòè êëèåíò è ñåðâåð ìîãóò øèôðîâàòü äàëüíåéøèå ñîîáùåíèÿ îáùèì êëþ÷îì . Òàê êàê ýòîò êëþ÷ èçâåñòåí òîëüêî èì, îíè îáà ìîãóò áûòü óâåðåíû, ÷òî ïîñëåäíåå ñîîáùåíèå, çàøèôðîâàííîå ýòèì êëþ÷îì, îòïðàâëåíî äðóãîé ñòîðîíîé.
Kerberos âåðñèè 4  ïðåäûäóùèõ ðàçäåëàõ ðàññìàòðèâàëñÿ Kerberos âåðñèè 5. Âåðñèÿ 4 íåìíîãî îòëè÷àåòñÿ ñîîáùåíèÿìè è êîíñòðóêöèåé ìàíäàòîâ è óäîñòîâåðåíèé .  Kerberos âåðñèè 4 èñïîëüçóþòñÿ ñëåäóþùèå ïÿòü ñîîáùåíèé : 1. Êëèåíò-Kerberos: c,tgs 2. Kerberos-êëèåíò: {Kc,tgs{Tc,tgs}Ktgs}Kc, 3. Êëèåíò-TGS: {Ac,s}Kc,tgs{Tc,tgs} Ktgs,s 4. TGS-êëèåíò: {Kc,s{Tc,s}Ks}Kc,tgs 5. Êëèåíò-ñåðâåð: {Ac,s}Kc,s {Tc,s}Ks Tc,s = {s, c, a, v, l, Kc,s}Ks Ac,s = {c, a, t} Kc,s Ñîîáùåíèÿ 1,3 è 5 íå èçìåíèëèñü . Äâîéíîå øèôðîâàíèå ìàíäàòà íà ýòàïàõ 2 è 4 â âåðñèè 5 áûëî óñòðàíåíî. Ìàíäàòû âåðñèè 5 äîïîëíèòåëüíî âêëþ÷àþò âîçìîæíîñòü èñïîëüçîâàòü íåñêîëüêî àäðåñîâ, à ïîëå "âðåìÿ æè çíè", l, çàìåíåíî âðåìåíåì íà÷àëà è îêîí÷àíèÿ .  óäîñòîâåðåíèå âåðñèè ïÿòü äîáàâëåíà âîçìîæíîñòü âêëþ÷åíèÿ äîïîëíèòåëüíîãî êëþ÷à. Áåçîïàñíîñòü Kerberos Ñòèâ Áåëëîâèí (Steve Bellovin) è Ìàéêë Ìåððèòò (Michael Merritt) ïðîàíàëèçèðîâàëè íåêîòîðûå ïîòåíö èàëüíûå óÿçâèìûå ìåñòà Kerberos [108]. Õîòÿ ýòà ðàáîòà áûëà íàïèñàíà ïðî ïðîòîêîëû âåðñèè 4, ìíîãèå åå çàìå÷àíèÿ ïðèìåíèìû è ê âåðñèè 5 . Âîçìîæíî êýøèðîâàíèå è ïîâòîðíîå èñïîëüçîâàíèå ñòàðûõ óäîñòîâåðåíèé . Õîòÿ ìåòêè äîëæíû ïðåäîòâðàòèòü èàêóþ âîçìîæíîñòü, óäîñòîâåðåíèÿ ìîãóò èñïîëüçîâàòüñÿ ïîâòîðíî â òå÷åíèå âðåìåíè æèçíè ìàíäàòà . Ïðåäïîëàãàåòñÿ, ÷òî ñåðâåðû õðàíÿò âñå ïðàâèëüíûå ìàíäàòû, ÷òîáû îáíàðóæèòü ïîâòîðû, íî ýòî íå âñåãäà âîçìîæíî. Êðîìå òîãî, âðåìÿ æèçíè áûâàåò äîñòàòî÷íî áîëüøèì, ÷àñòî äî âîñüìè ÷àñîâ . Èñïîëüçîâàíèå óäîñòîâåðåíèé îñíîâàíû íà òîì, ÷òî âñå ÷àñû ñåòè áîëåå èëè ìåíåå ñèíõðîíèçèðîâàíû . Åñëè âðåìÿ êîìïüþòåðà áóäåò óñòàíîâëåíî íåïðàâèëüíî , òî ñòàðîå óäîñòîâåðåíèå ìîæåò áûòü èñïîëüçîâàíî áåç ïð îáëåì. Áîëüøèíñòâî ñåòåâûõ ïðîòîêîëîâ ïîääåðæêè åäèíîãî âðåìåíè íåáåçîïàñíû, ïîýòîìó òàêàÿ âîçìîæíîñòü ïðåäñòàâëÿåò ñîáîé ñåðüåçíóþ ïðîáëåìó . Kerberos òàêæå ÷óâñòâèòåëåí ê âñêðûòèÿì ñ óãàäûâàíèåì ïàðîëÿ . Çëîóìûøëåííèê ìîæåò çàïèñàòü ìàíäàòû è çàòåì ïîïûòàòüñÿ èõ ðàñøèôðîâàòü . Íå çàáóäåì, ÷òî ñðåäíèé ïîëüçîâàòåëü ðåäêî âûáèðàåò õîðîøèé ïàðîëü . Åñëè Ìýëëîðè äîáóäåò äîñòàòî÷íî ìàíäàòîâ, ó íåãî ïîÿâÿòñÿ íåïëîõèå øàíñû ðàñêðûòü ïàðîëü . Âîçìîæíî ñàìûì îïàñíûì ÿâëÿåòñÿ âñêðûòèå, èñïîëüçóþùåå ñïåöèàëüíîå ïðîãðàììíîå îáåñïå÷åíèå . Ïðîòîêîëû Kerberos ïîäðàçóìåâàþò, ÷òî ïðîãðàììíîìó îáåñïå÷åíèþ ìîæíî äîâåðÿòü . Íåò ñïîñîáà ïîìåøàòü Ìýëëîðè èñïîäòèøêà çàìåíèòü âñå êëèåíòñêîå ïðîãðàììíîå îáåñïå÷åíèå Kerberos òàêîé âåðñèåé, êîòîðàÿ ïîìèìî âûïîëíåíèÿ ïðîòîêîëîâ Kerberos çàïèñûâàåò ïàðîëè. Ýòî ÿâëÿåòñÿ ïðîáëåìîé äëÿ ëþáîãî êðèïòîãðàôè÷åñêîãî ïðîãðàììíîãî ïàêåòà, ðàáîòàþùåãî íà íåáåçîïàñíîì êîìïüþòåðå , íî øèðîêî ðàñïðîñòðàíåííîå èñïîëüçîâàíèå Kerberos â ïîäîáíûõ ñðåäàõ äåëàåò åãî îñîáåííî ïðèâëåêàòåëüíîé ìèøåíüþ . Âåäóòñÿ ðàáîòû íàä óëó÷øåíèåì Kerberos, âêëþ÷àÿ ìîäåðíèçàöèþ óïðàâëåíèÿ êëþ÷àìè ñ ïîìîùüþ êðèïò îãðàôèè ñ îòêðûòûìè êëþ÷àìè è èíòåðôåéñà èíòåëëåêòóàëüíûõ êàðòî÷åê . Ëèöåíçèè Kerberos íå ÿâëÿåòñÿ îáùåäîñòóïíûì, íî êîä ÌÒÈ äîñòóïåí ñâîáîäíî . Äåéñòâèòåëüíàÿ ðåàëèçàöèÿ â ðàá îòàþùèõ ñèñòåìàõ UNIX - ýòî ñîâñåì äðóãàÿ èñòîðèÿ. Ðÿä êîìïàíèé ïðîäàåò âåðñèè Kerberos, íî ìîæíî ïîëó÷èòü õîðîøóþ âåðñèþ áåñïëàòíî îò Cygnus Support, 814 University Ave., Pale Alto, CA, 94301; (415) 32,2.-3811; fax: (415) 32.2.-3270.
24.6 KRYPTOKNIGHT KryptoKnight (ÊðèïòîÐûöàðü) ÿâëÿåòñÿ ñèñòåìîé ïðîâåðêè ïîäëèííîñòè è ðàñïðåäåëåíèÿ êëþ÷åé, ðàçðàá îòàííîé â IBM. Ýòî ïðîòîêîë ñ ñåêðåòíûì êëþ÷îì, èñïîëüçóþùèé ëèáî DES â ðåæèìå CBC (ñì. ðàçäåë 9.3) èëè ìîäèôèöèðîâàííóþ âåðñèþ MD5 (ñì. ðàçäåë 18.5). KryptoKnight ïîääåðæèâàåò ÷åòûðå ñåðâèñà áåçîïàñíîñòè : Ïðîâåðêà ïîäëèííîñòè ïîëüçîâàòåëÿ (íàçûâàåìàÿ åäèíñòâåííîé ïîäïèñüþ - single sign-on) Äâóñòîðîííÿÿ ïðîâåðêà ïîäëèííîñòè Ðàñïðåäåëåíèå êëþ÷åé
Ïðîâåðêà ïîäëèííîñòè ñîäåðæàíèÿ è ïðîèñõîæäåíèÿ äàííûõ Ñ òî÷êè çðåíèÿ ïîëüçîâàòåëÿ, KryptoKnight ïîõîæ íà Kerberos. Âîò íåêîòîðûå îòëè÷èÿ: Äëÿ ïðîâåðêè ïîäëèííîñòè è øèôðîâàíèÿ ìàíäàòîâ KryptoKnight èñïîëüçóåò õýø-ôóíêöèþ. KryptoKnight íå èñïîëüçóåò ñèíõðîíèçèðîâàííûõ ÷àñîâ, èñïîëüçóþòñÿ òîëüêî òåêóùèå çàïðîñû (ñì. ðàçäåë 3.3). Åñëè Àëèñå íóæíî ñâÿçàòüñÿ ñ Áîáîì, îäíà èç îïöèé KryptoKnight ïîçâîëÿåò Àëèñå ïîñëàòü ñîîáùåíèå Áîáó, à çàòåì ïîçâîëÿåò Áîáó íà÷àòü ïðîòîêîë îáìåíà êëþ÷àìè . KryptoKnight, êàê è Kerberos, èñïîëüçóåò ìàíäàòû è óäîñòîâåðåíèÿ . Îí ñîäåðæèò è TGS, íî â KryptoKnight íàçûâàþòñÿ ñåðâåðàìè ïðîâåðêè ïîäëèííîñòè . Ðàçðàáîò÷èêè KryptoKnight ïîòðàòèëè íåìàëî óñèëèé, ìèíèì èçèðóÿ êîëè÷åñòâî ñîîáùåíèé, èõ ðàçìåð è îáúåì øèôðîâàíèÿ . Î KryptoKnight ÷èòàéòå â [1110, 173, 174, 175].
24.7 SESAME SESAME îçíà÷àåò Secure European System for Applications in a Multivendor Environment - Áåçîïàñíàÿ åâðîïåéñêàÿ ñèñòåìà äëÿ ïðèëîæåíèé â íåîäíîðîäíûõ ñðåäàõ . Ýòî ïðîåêò Åâðîïåéñêîãî ñîîáùåñòâà , íà 50 ïðîöåíòîâ ôèíàíñèðóåìûé RACE (ñì. ðàçäåë 25.7), ãëàâíîé öåëüþ êîòîðîé ÿâëÿåòñÿ ðàçðàáîòêà òåõíîëîãèè äëÿ ïð îâåðêè ïîäëèííîñòè ïîëüçîâàòåëÿ ïðè ðàñïðåäåëåííîì êîíòðîëå äîñòóïà . Ýòó ñèñòåìó ìîæíî ðàññìàòðèâàòü êàê åâðîïåéñêèé âàðèàíò Kerberos. Ïðîåêò ñîñòîèò èç äâóõ ÷àñòåé: íà ïåðâîé ñòàäèè ðàçðàáàòûâàåòñÿ áàçîâàÿ àðõ èòåêòóðà, à âòîðàÿ ñòàäèÿ ïðåäñòàâëÿåò ñîáîé ðÿä êîììåð÷åñêèõ ïðîåêòîâ . Ñëåäóþùèå òðè êîìïàíèè ïðèíèìàþò íàèáîëüøåå ó÷àñòèå â ðàçðàáîòêå ñèñòåìû - ICL â Âåëèêîáðèòàíèè, Siemens â Ãåðìàíèè è Bull âî Ôðàíöèè. SESAME ïðåäñòàâëÿåò ñîáîé ñèñòåìó ïðîâåðêè ïîäëèííîñòè è îáìåíà êëþ÷àìè [361, 1248, 797, 1043]. Îíà èñïîëüçóåò ïðîòîêîë Needham-Schroeder, ïðèìåíÿÿ êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè äëÿ ñâçè ìåæäó ðà çëè÷íûìè áåçîïàñíûìè äîìåíàìè .  ñèñòåìå åñòü ðÿä ñåðüåçíûõ èçúÿíîâ . Âìåñòî èñïîëüçîâàíèÿ íàñòîÿùåãî àëãîðèòìà øèôðîâàíèÿ â ýòîé ñèñòåìå ïðèìåíÿåòñÿ XOR ñ 64-áèòîâûì êëþ÷îì. ×òî åùå õóæå, â SESAME èñïîëüçóåòñÿ XOR â ðåæèìå CBC, êîòîðûé îñòàâëÿåò íåçàøèôðîâàííûì ïîëîâèíó îòêðûòîãî òåêñòà .  çàùèòó ðàçðàáîò÷èêîâ íàäî ñêàçàòü, ÷òî îíè ñîáèðàëèñü èñïîëüçîâàòü DES, íî ôðàíöóçñêîå ïðàâèòåëüñòâî âûðàçèëî íåóäîâîëüñòâèå ïî ýòîìó ïîâîäó. Îíè óòâåðäèëè êîä ñ DES, íî çàòåì óáðàëè åãî. Ýòà ñèñòåìà ìåíÿ íå âïå÷àòëèëà. Îòîæäåñòâëåíèå â SESAME ÿâëÿåòñÿ ôóíêöèåé ïåðâîãî áëîêà, à íå âñåãî ñîîáùåíèÿ .  ðåçóëüòàòå ýòîãî òîæäåñòâåííîñòü ñîîáùåíèé áóäåò ïðîâåðåíà ïî ñëîâàì "Dear Sir'', à íå ïî âñåìó ñîäåðæàíèþ ñîîáùåíèé . Ãåíåðàöèÿ êëþ÷åé ñîñòîèò èç äâóõ âûçîâîâ ôóíêöèè rand îïåðàöèîííîé ñèñòåìû UNIX, êîòîðàÿ ñîâñåì íå ñëó÷àéíà.  êà÷åñòâå îäíîíàïðàâëåííûõ õýø-ôóíêöèé SESAME èñïîëüçóåò crc32 è MD5. È êîíå÷íî, SESAME ïîäîáíî Kerberos ÷óâñòâèòåëüíà ê óãàäûâàíèþ ïàðîëåé.
24.8 Îáùàÿ êðèïòîãðàôè÷åñêàÿ àðõèòåêòóðà IBM Îáùàÿ êðèïòîãðàôè÷åñêàÿ àðõèòåêòóðà ( Common Cryptographic Architecture , CCA) áûëà ðàçðàáîòàíà êîìïàíèåé IBM, ÷òîáû îáåñïå÷èòü êðèïòîãðàôè÷åñêèå ïðèì èòèâû äëÿ êîíôèäåíöèàëüíîñòè, öåëîñòíîñòè, óïðàâë åíèÿ êëþ÷àìè è îáðàáîòêè ïåðñîíàëüíîãî èäåíòèôèêàöèîííîãî êîäà (PIN) [751, 784, 1025, 1026, 940, 752]. Óïðàâëåíèå êëþ÷àìè ïðîèñõîäèò ñ ïîìîùüþ âåêòîðîâ óïðàâëåíèÿ ( control vector, CV) (ñì. ðàçäåë 8.5). Êàæäîìó êëþ÷ó ñîîòâåòñòâóåò CV, ñ êîòîðûì êëþ÷ îáúåäèíåí îïåðàöèåé XOR. Êëþ÷ è CV ðàçäåëÿþòñÿ òîëüêî â áåçîïàñíîì àïïàðàòíîì ìîäóëå. CV ïðåäñòàâëÿåò ñîáîé ñòðóêòóðó äàííûõ, îáåñïå÷èâàþùóþ èíòóèòèâíîå ï îíèìàíèå ïðèâèëåãèé, ñâÿçàííûõ ñ êîíêðåòíûì êëþ÷îì . Îòäåëüíûå áèòû CV îáëàäàþò êîíêðåòíûì ñìûñëîì ïðè èñïîëüçîâàíèè êàæäîãî êëþ÷à, ïðèìåíÿåìîãî â CGA. CV ïåðåäàþòñÿ âìåñòå ñ çàøèôðîâàííûì êëþ÷îì â ñòðóêòóðàõ äàííûõ, íàçûâàåìûõ êëþ÷åâûìè ìàðê åðàìè (key token). Âíóòðåííèå êëþ÷åâûå ìàðêåðû èñïîëüçóþòñÿ ëîêàëüíî è ñîäåðæàò êëþ÷è, øèôðîâàííûå ë îêàëüíûì ãëàâíûì êëþ÷îì (master key, MK). Âíåøíèå êëþ÷åâûå ìàðêåðû èñïîëüçóþòñÿ äëÿ øèôðîâàííûìè êëþ÷àìè ìåæäó ñèñòåìàìè. Êëþ÷è âî âíåøíèõ êëþ÷åâûõ ìàðêåðàõ çàøèôðîâàíû êëþ÷àìè øèôðîâàíèÿ êë þ÷åé (key-encrypting key, KEK). Óïðàâëåíèå KEK îñóùåñòâëÿåòñÿ ñ ïîìîùüþ âíóòðåííèõ êëþ÷åâûõ ìàðêåðîâ . Êëþ÷è ðàçäåëÿþòñÿ íà ãðóïïû â ñîîòâåòñòâèè ñ èõ èñïîëüçîâàíèåì . Äëèíà êëþ÷à òàêæå çàäàåòñÿ ïðè ïîìîùè áèòîâ CV. Êëþ÷è îäèíàðíîé äëèíû - 56-áèòîâûå - èñïîëüçóþòñÿ äëÿ òàêèõ ôóíêöèé, êàê îáåñïå÷åíèå êîíôèäåíöèàëüíîñòè è ñîîáùåíèé. Êëþ÷è äâîéíîé äëèíû - 112-áèòîâûå ïðèìåíÿþòñÿ äëÿ óïðàâëåíèÿ êëþ÷àìè, ôóíêöèé PIN è äðóãèõ ñïåöèàëüíûõ öåëåé. Êëþ÷è ìîãóò áûòü DOUBLE-ONLY (òîëüêî äâîéíûå), ïðàâûå è ëåâûå ïîëîâèíû êîòîðûõ äîëæíû áûòü ðàçëè÷íû , DOUBLE (äâîéíûå) ïîëîâèíû êîòîðûõ ìîãóò ñëó÷àéíî ñîâïàñòü , SINGLE-REPLICATED (îäèíàðíûå-ïîâòîðåííûå), â êîòîðûõ ïð àâûå è ëåâûå ïîëîâèíû ðàâíû, èëè SINGLE (îäèíàðíûå), ñîäåðæàùèå òîëüêî 56 áèòîâ. CGA îïðåäåëÿåò àïïàðàòíóþ ðåàëèçàöèþ îïðåäåëåííûõ òèïîâ êëþ÷åé, èñïîëüçóåìûõ äëÿ íåêîòîðûõ îïåðàöèé .
CV ïðîâåðÿåòñÿ â áåçîïàñíîì àïïàðàòíîì ìîäóëå : äëÿ êàæäîé ôóíêöèè CGA âåêòîð äîëæåí ñîîòâåòñòâîâàòü îïðåäåëåííûì ïðàâèëàì. Åñëè CV óñïåøíî ïðîõîäèò ïðîâåðêó, òî ïðè ïîìîùè XOR KEK èëè MK ñ CV ïîëó÷àåòñÿ âàðèàíò KEK èëè MK, è èçâëå÷åííûé êëþ÷ äëÿ äåøèôðèðîâàíèÿ îòêðûòîãî òåêñòà ñîîáùåíèÿ èñïîëüç óåòñÿ òîëüêî ïðè âûïîëíåíèè ôóíêöèè CGA. Ïðè ãåíåðàöèè íîâûõ êëþ÷åé CV çàäàåò ñïîñîá èñïîëüçîâàíèÿ ñîçäàííîãî êëþ÷à. Êîìáèíàöèè òèïîâ êëþ÷åé, êîòîðûå ìîãóò áûòü èñïîëüçîâàíû äëÿ âñêðûòèÿ ñèñòåìû, íå ñî çäàþòñÿ â CGA-ñîâìåñòèìûõ ñèñòåìàõ è íå èìïîðòèð óþòñÿ â íèõ. Äëÿ ðàñïðåäåëåíèÿ êëþ÷åé CGA ïðèìåíÿåò êîìáèíàöèþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè è êðèïòîãð àôèè ñ ñåêðåòíûìè êëþ÷àìè. KDC øèôðóåò ñåàíñîâûé êëþ÷ äëÿ ïîëüçîâàòåëÿ ñåêðåòíûì ãëàâíûì êëþ÷îì, ðà çäåëÿåìûì ñ ýòèì ïîëüçîâàòåëåì . Ðàñïðåäåëåíèå ãëàâíûõ êëþ÷åé ïðîèñõîäèò ñ ïîìîùüþ êðèïòîãðàôèè ñ î òêðûòûìè êëþ÷àìè. Ðàçðàáîò÷èêè ñèñòåìû âûáðàëè òàêîé ãèáðèäíûé ïîäõîä ïî äâóì ïðè÷èíàì . Ïåðâîé èç íèõ ÿâëÿåòñÿ ýôôåêòèâíîñòü. Êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè òðåáóåò áîëüøèõ âû÷èñëèòåëüíûõ ðåñóðñîâ, åñëè ñåàíñîâûå êëþ÷è ðàñïðåäåëÿþòñÿ ñ ïîìîùüþ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè, ñèñòåìà ìîæåò ïîâèñíóòü. Âòîðîé ïðè÷èíîé ÿâëÿåòñÿ îáðàòíàÿ ñîâìåñòèìîñòü, ñèñòåìà ìîæåò áûòü ñ ìèíèìàëüíûìè ïîñëåäñòâèÿìè óñòàíîâëåíà ïîâåðõ ñóùåñòâóþùèõ ñõåì ñ ñåêðåòíûìè êëþ÷àìè . CGA-ñèñòåìû ïðîåêòèðîâàëèñü òàê, ÷òîáû îíè ìîãëè âçàèìîäåéñòâîâàòü ñ ðàçëè÷íûìè äðóãèìè ñèñòåìàìè . Ïðè êîíòàêòå ñ íåñîâìåñòèìûìè ñèñòåìàìè ôóíêöèÿ òðàíñëÿöèè âåêòîðà óïðàâëåíèÿ (Control Vector Translate, CVXLT) ïîçâîëÿåò ñèñòåìàì îáìåíèâàòüñÿ êëþ÷àìè . Èíèöèàëèçàöèÿ ôóíêöèè CVXLT òðåáóåò êîíòðîëÿ ñ îáåèõ ñòîðîí. Êàæäàÿ èç íèõ äîëæíà íåçàâèñèìî óñòàíîâèòü íóæíûå òàáëèöû òðàíñëÿöèè . Òàêîé äâîéíîé êîíòðîëü îáåñïå÷èâàåò âûñîêóþ ñòåïåíü íàäåæíîñòè, êàñàþùåéñÿ öåëîñòíîñòè è ïðîèñõîæäåíèÿ êëþ÷åé, èìïîðòèðóåìûõ â ñèñòåìó. Òèï êëþ÷à DATA ïîääåðæèâàåòñÿ äëÿ ñîâìåñòèìîñòè ñ äðóãèìè ñèñòåìàìè . Êëþ÷ òèïà DATA õðàíèòñÿ âìåñòå ñ ñîîòâåòñòâóþùèì CV, óêàçûâàþùèì, ÷òî ýòî êëþ÷ òèïà DATA. Êëþ÷è òèïà DATA ìîãóò èñïîëüçîâàòüñÿ äîñòàòî÷íî øèðîêî, è ïîýòîìó ê íèì íóæíî îòíîñèòüñÿ ñ ïîäîçðåíèåì è èñïîëüçîâàòü èõ ñ îñòîðîæí îñòüþ. Êëþ÷è òèïà DATA íåëüçÿ èñïîëüçîâàòü íè äëÿ êàêèõ ôóíêöèé óïðàâëåíèÿ êëþ÷ àìè. Àïïàðàòóðà çàêðûòèÿ êîììåð÷åñêèõ äàííûõ (Commercial Data Masking Facility , CDMF) ïðåäñòàâëÿåò ñîáîé ýêñïîðòèðóåìóþ âåðñèþ CGA. Åå îñîáåííîñòüþ ÿâëÿåòñÿ óìåíüøåíèå ýôôåêòèâíîé äëèíû êëþ÷åé DES äî ðàçðåøåííûõ ê ýêñïîðòó 40 áèòîâ (ñì. ðàçäåë 15.5) [785].
24.9 Ñõåìà ïðîâåðêè ïîäëèííîñòè ISO Äëÿ èñïîëüçîâàíèÿ â ñõåìå ïðîâåðêè ïîäëèííîñòè ISO, òàêæå èçâåñòíîé êàê ïðîòîêîëû X.509, ðåêîìåíäóåòñÿ êðèïòîãðàôèÿ ñ îòêðûòûìè êëþ÷àìè [304]. Ýòà ñõåìà îáåñïå÷èâàåò ïðîâåðêó ïîäëèííîñòè ïî ñåòè . Õîòÿ êîíêðåòíûé àëãîðèòì íå îïðåäåëåí íè äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè, íè äëÿ ïðîâåðêè ïîäëèííîñòè, ñïåöèô èêàöèÿ ðåêîìåíäóåò èñïîëüçîâàòü RSA. Îäíàêî âîçìîæíî èñïîëüçîâàíèå íåñêîëüêèõ àëãîðèòìîâ è õýø-ôóíêöèé . Ïåðâîíà÷àëüíûé âàðèàíò X.509 áûë âûïóùåí â 1988 ã. Ïîñëå îòêðûòîãî èçó÷åíèÿ è êîììåíòèðîâàíèÿ îí áûë ïåðåñìîòðåí â 1993 ãîäó, ÷òîáû èñïðàâèòü íåêîòîðûå èçúÿíû â áåçîïàñíîñòè [1100, 750]. Âåðñèÿ Ïîñëåäîâàòåëüíûé íîìåð Èäåíòèôèêàòîð àëãîðèòìà - Àëãîðèòì - Ïàðàìåòðû Âûäàâøàÿ îðãàíèçàöèÿ Âðåìÿ äåéñòâèÿ - íà÷àëî äåéñòâèÿ - ãîíåö äåéñòâèÿ Ñóáúåêò Îòêðûòûé êëþ÷ ñóáúåêòà - Àëãîðèòì - Ïàðàìåòðû - Îòêðûòûé êëþ÷
Ïîäïèñü Ðèñ. 24-2. Ñåðòèôèêàò X.509. Ñåðòèôèêàòû Íàèáîëåå âàæíîé ÷àñòüþ X.509 èñïîëüçóåìàÿ èì ñòðóêòóðà ñåðòèôèêàòîâ îòêðûòûõ êëþ÷åé . Èìåíà âñåõ ïîëüçîâàòåëåé ðàçëè÷íû. Äîâåðåííûé Îðãàí ñåðòèôèêàöèè ( Certification Authority, CA) ïðèñâàèâàåò êàæäîìó ïîëüçîâàòåëþ óíèêàëüíîå èìÿ è âûäàåò ïîäïèñàííûé ñåðòèôèêàò, ñîäåðæàùèé èìÿ è îòêðûòûé êëþ÷ ïîëüçîâ àòåëÿ. Ñòðóêòóðà ñåðòèôèêàòà X.509 ïîêàçàíà íà 22-é [304]. Ïîëå âåðñèè îïðåäåëÿåò ôîðìàò ñåðòèôèêàòà . Ïîñëåäîâàòåëüíûé íîìåð óíèêàëåí äëÿ êîíêðåòíîãî CA. Ñëåäóþùåå ïîëå îïðåäåëÿåò àëãîðèòì, èñïîëüçîâàííûé äëÿ ïîäïèñè ñåðòèôèêàòà , âìåñòå ñî âñåìè íåîáõîäèìûìè ïàðàìåòðàìè. Âûäàâøåé îðãàíèçàöèåé ÿâëÿåòñÿ CA. Ñðîê äåéñòâèÿ ïðåäñòàâëÿåò ñîáîé ïàðó äàò, ñåðòèôèêàò äåéñòâèòåëåí â ïðîìåæóòêå ìåæäó ýòèìè äâóìÿ äàòàìè . Ñóáúåêò - ýòî èìÿ ïîëüçîâàòåëÿ. Èíôîðìàöèÿ îá îòêðûòîì êëþ÷å âêëþ÷àåò íàçâàíèå àëãîðèòìà, âñå íåîáõîäèìûå ïàðàìåòðû è îòêðûòûé êëþ÷ . Ïîñëåäíèì ïîëåì ÿâëÿåòñÿ ïîäïèñü CA. Åñëè Àëèñà õî÷åò ñâÿçàòüñÿ ñ Áîáîì, îíà ñíà÷àëà èçâëåêàåò èç áàçû äàííûõ åãî ñåðòèôèêàò è ïðîâåðÿåò åãî äîñòîâåðíîñòü. Åñëè ó íèõ îáùèé CA, òî âñå ïðîñòî. Àëèñà ïðîâåðÿåò ïîäïèñü CA íà ñåðòèôèêàòå Áîáà. Åñëè îíè ïîëüçóþòñÿ ðàçëè÷íûìè CA, òî âñå ãîðàçäî ñëîæíåå. Ïðåäñòàâüòå ñåáå äðåâîâèäíóþ ñòðóêòóðó, â êîòîðîé îäíè CA ñåðòèôèöèðóþò äðóãèå CA è ïîëüçîâàòåëåé. Íà ñàìîì âåðõó íàõîäèòñÿ ãëàâíûé CA. Ó êàæäîãî CA åñòü ñåðòèôèêàòû, ïîäïèñàííûå âûøåñòîÿùèì CA è íèæåñòîÿùèì CA. Ïðè ïðîâåðêå ñåðòèôèêàòà Áîáà Àëèñà èñïîëüçóåò ýòè ñåðòèôèêàòû. Òàêàÿ ñõåìà ïðîäåìîíñòðèðîâàíà íà 21-é. Ñåðòèôèêàò Àëèñû çàâåðåí CAÀ, ñåðòèôèêàò Áîáà çàâåðåí CAÂ. Àëèñà çíàåò îòêðûòûé êëþ÷ CAÀ. Ó CAC åñòü ñåðòèôèêàò, ïîäïèñàííûé CAÀ, ïîýòîìó Àëèñà ìîæåò ïðîâåðèòü ýòî. Ó CAÑ åñòü ñåðòèôèêàò, ïîäïèñàííûé CAD. È ñåðòèôèêàò Áîáà ïîäïèñàí CAD. Ïîäûìàÿñü ïî äåðåâó ñåðòèôèêàöèè äî îáùåé òî÷êè, â äàííîì ñëó÷àå CAD, Àëèñà ìîæåò ïðîâåðèòü ñåðòèôèêàò Áîáà. +)-
+),
+)+
+))
+)*
Áîá
Àëèñà Ðèñ. 24-3. Ïðèìåð èåðàðõèè ñåðòèôèêàöèè. Ñåðòèôèêàòû ìîãóò õðàíèòüñÿ â áàçàõ äàííûõ íà ðàçëè÷íûõ óçëàõ ñåòè . Ïîëüçîâàòåëè ìîãóò ïîñûëàòü èõ äðóã äðóãó. Èñòå÷åíèè ñðîêà äåéñòâèÿ ñåðòèôèêàòà îí äîëæåí áûòü óäàëåí èç âñåõ îáùåäîñòóïíûõ êàòàëîãîâ . Îäíàêî CA, âûäàâøèé ñåðòèôèêàò, äîëæåí ïðîäîëæàòü õðàíèòü åãî êîïèþ, êîòîðàÿ ìîæåò ïîòðåáîâàòüñÿ ïðè ðàçðåøåíèè âîçìîæíûõ ñïîðîâ. Ñåðòèôèêàòû òàêæå ìîãóò áûòü îòîçâàíû, ëèáî èç-çà êîìïðîìåòàöèè êëþ÷à ïîëüçîâàòåëÿ, ëèáî èç-çà òîãî, ÷òî CA áîëüøå íå õî÷åò ïîäòâåðæäàòü ñåðòèôèêàò äàííîãî ïîëüçîâàòåëÿ . Êàæäûé CA äîëæåí ïîääåðæèâàòü ñïèñîê âñåõ îòîçâàííûõ ñåðòèôèêàòîâ, ñðîê äåéñòâèÿ êîòîðûõ åùå íå çàêîí÷èëñÿ . Êîãäà Àëèñà ïîëó÷àåò íîâûé ñåðòèôèêàò, îíà äîëæíà ïðîâåðèòü, íå áûë ëè îí îòîçâàí . Îíà ìîæåò ïðîâåðèòü áàçó äàííûõ îòîçâàííûõ êë þ÷åé ïî ñåòè, íî ñêîðåé âñåãî îíà ïðîâåðèò ëîêàëüíî êýøèðóåìûé ïåðå÷åíü îòîçâàííûõ ñåðòèôèêàòîâ .  òàêîé ñèñòåìå îïðåäåëåííî âåðîÿòíû çëîóïîòðåáëåíèÿ, îòçûâ ñåðòèôèêàòîâ âîçìîæíî ÿâëÿåòñÿ ñàìîé ñëàáîé ÷àñòüþ
ýòîé ñõåìû. Ïðîòîêîëû ïðîâåðêè ïîäëèííîñòè Àëèñå íóæíî ñâÿçàòüñÿ ñ Áîáîì. Ñíà÷àëà îíà èçâëåêàåò èç áàçû äàííûõ ïîñëåäîâàòåëüíîñòü ñåðòèôèêàöèè îò Àëèñû äî Áîáà è îòêðûòûé êëþ÷ Áîáà.  ýòîò ìîìåíò Àëèñà ìîæåò èíèöèèðîâàòü îäíîïðîõîäíûé, äâóõïðîõîäíûé èëè òðåõïðîõîäíûé ïðîòîêîë ïðîâåðêè ïîäëèííîñòè . Îäíîïðîõîäíûé ïðîòîêîë ïðåäñòàâëÿåò ñîáîé ïðîñòóþ ïåðåäà÷ó äàííûõ Áîáó Àëèñîé. Ïðîòîêîë óñòàíàâëèâàåò ëè÷íîñòè è Àëèñû, è Áîáà, à òàêæå öåëîñòíîñòü èíôîðìàöèè, ïåðåäàâàåìîé Áîáó Àëèñîé . Êðîìå òîãî, îí îáåñïå÷èâàåò çàùèòó îò âñêðûòèÿ ëèíèè ñâÿçè ñ ïîìîùüþ ïîâòîðà .  äâóõïðîõîäíîì ïðîòîêîëå äîáàâëåí îòâåò Áîáà . Ïðîòîêîë óñòàíàâëèâàåò, ÷òî èìåííî Áîá, à íå êàêîé-òî ñàìîçâàíåö, ïîñûëàåò îòâåò. Îí òàêæå îáåñïå÷èâàåò áåçîïàñíîñòü îáåèõ ïåðåäà÷ è çàùèùàåò îò âñêðûòèÿ ï îâòîðîì. È â îäíîïðîõîäíûõ, è â äâóõïðîõîäíûõ àëãîðèòìàõ èñïîëüçóþòñÿ ìåòêè âðåìåíè .  òðåõïðîõîäíîì ïðîòîêîëå äîáàâëÿåòñÿ åùå îäíî ñîîáùåíèå Àëèñû Áîáó è ïîçâîëÿåò èçáåæàòü ìåòîê âðåìåíè (è, ñëåäîâàòåëüíî, ïð àâèëüíîãî åäèíîãî âðåìåíè). Îäíîïðîõîäíûé ïðîòîêîë: (1) Àëèñà ãåíåðèðóåò ñëó÷àéíîå ÷èñëî RA. (2) Àëèñà ñîçäàåò ñîîáùåíèå, M = (TA, RA, IB, d), ãäå TA - ìåòêà âðåìåíè Àëèñû, IB - èäåíòèôèêàòîð Áîáà, d ïðîèçâîëüíûå äàííûå. Äëÿ áåçîïàñíîñòè äàííûå ìîãóò áûòü çàøèôðîâàíû îòêðûòûì êëþ÷îì Áîáà EB. (3) Àëèñà ïîñûëàåò Áîáó (CA, DA(M)). (CA - ýòî ñåðòèôèêàò Àëèñû, DA - ýòî îáùèé óçåë äåðåâà ñåðòèôèêàöèè .) (4) Áîá ïðîâåðÿåò CA è ïîëó÷àåò EA. Îí ïðîâåðÿåò, ÷òî ñðîê äåéñòâèÿ ýòèõ êëþ÷åé åùå íå èñòåê . (EA - ýòî îòêðûòûé êëþ÷ Àëèñû.) (5) Áîá èñïîëüçóåò EA äëÿ äåøèôðèðîâàíèÿ DA(M). Ýòèì äåéñòâèåì îí ïðîâåðÿåò è ïîäïèñü Àëèñû, è öåëîñ òíîñòü ïîäïèñàííîé èíôîðìàöèè. (6) Áîá äëÿ òî÷íîñòè ïðîâåðÿåò IB â M. (7) Áîá ïðîâåðÿåò TA â M è óáåæäàåòñÿ, ÷òî ñîîáùåíèå ÿâëÿåòñÿ òåêóùèì . (8) Äîïîëíèòåëüíî Áîá ìîæåò ïðîâåðèòü RA â M ïî áàçå äàííûõ ñòàðûõ íîìåðîâ, ÷òîáû óáåäèòüñÿ, ÷òî ñîî áùåíèå íå ÿâëÿåòñÿ ïîâòîðÿåìûì ñòàðûì ñîîáùåíèåì . Äâóõïðîõîäíûé ïðîòîêîë ñîñòîèò èç îäíîïðîõîäíîãî ïðîòîêîëà è ïîñëåäóþùåãî àíàëîãè÷íîãî îäíîïðîõî äíîãî ïðîòîêîëà îò Áîáà ê Àëèñå. Ïîñëå âûïîëíåíèÿ ýòàïîâ (1)-(8) îäíîïðîõîäíîãî ïðîòîêîëà äâóõïðîõîäíûé ïðîòîêîë ïðîäîëæàåòñÿ ñëåäóþùèì îáðàçîì : (9) Áîá ãåíåðèðóåò ñëó÷àéíîå ÷èñëî RB. (10) Áîá ñîçäàåò ñîîáùåíèå M' = (TB, RB, IA, RA, d), ãäå TB - ìåòêà âðåìåíè Áîáà, IA- èäåíòèôèêàòîð Àëèñû, à d - ïðîèçâîëüíûå äàííûå. Äëÿ áåçîïàñíîñòè äàííûå ìîãóò áûòü çàøèôðîâàíû îòêðûòûì êëþ÷îì Àëèñû EÀ. RA - ñëó÷àéíîå ÷èñëî Àëèñû, ñîçäàííîå íà ýòàïå (1). (11) Áîá ïîñûëàåò Àëèñå sends DÂ(M'). (12) Àëèñà èñïîëüçóåò EB, ÷òîáû ðàñøèôðîâàòü DÂ(M'). Òàêèì îáðàçîì îäíîâðåìåííî ïðîâåðÿþòñÿ ïîäïèñü Áîáà è öåëîñòíîñòü ïîäïèñàííîé èíôîðìàöèè . (13) Àëèñà äëÿ òî÷íîñòè ïðîâåðÿåò IA â M'. (14) Àëèñà ïðîâåðÿåò T â M' è óáåæäàåòñÿ, ÷òî ñîîáùåíèå ÿâëÿåòñÿ òåêóùèì . (15) Äîïîëíèòåëüíî Àëèñà ìîæåò ïðîâåðèòü R â M', ÷òîáû óáåäèòüñÿ, ÷òî ñîîáùåíèå íå ÿâëÿåòñÿ ïîâòîðÿ åìûì ñòàðûì ñîîáùåíèåì. Òðåõïðîõîäíûé ïðîòîêîë ðåøàåò òó æå ñàìóþ çàäà÷ó, íî áåç ìåòîê âðåìåíè . Ýòàïû (1) - (15) òàêèå æå, êàê â äâóõïðîõîäíîì àëãîðèòìå, íî TA = T = 0. (16) Àëèñà ñâåðÿåò ïîëó÷åííóþ âåðñèþ RA ñ RA, êîòîðîå áûëî îòïðàâëåíî Áîáó íà ýòàïå ( 3). (17) Àëèñà ïîñûëàåò Áîáó DA(RÂ). (18) Áîá èñïîëüçóåò EÀ, ÷òîáû ðàñøèôðîâàòü DÀ(RÂ). Òàêèì îáðàçîì îäíîâðåìåííî ïðîâåðÿþòñÿ ïîäïèñü Àëèñû è öåëîñòíîñòü ïîäïèñàííîé èíôîðìàöèè . (19) Àëèñà ñâåðÿåò ïîëó÷åííóþ âåðñèþ R ñ RÂ, êîòîðîå áûëî îòïðàâëåíî Àëèñå íà ýòàïå (10 ).
24.10 Ïî÷òà ñ ïîâûøåííîé ñåêðåòíîñòüþ PRIVACY-ENHANCED MAIL (PEM) Ïî÷òà ñ ïîâûøåííîé ñåêðåòíîñòüþ ( Privacy-Enhanced Mail, PEM) ïðåäñòàâëÿåò ñîáîé ñòàíäàðò Internet äëÿ ïî÷òû ñ ïîâûøåííîé ñåêðåòíîñòüþ, îäîáðåííûé Ñîâåòîì ïî àðõèòåêòóðå Internet (Internet Architecture Board, IAB) äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè ýëåêòðîííîé ïî÷òû â Internet. Ïåðâîíà÷àëüíûé âàðèàíò áûë ðàçðàáîòàí Ãðóïïîé ñåêðåòíîñòè è áåçîïàñíîñòè ( Privacy and Security Research Group , PSRG) Internet Resources Task Force (IRTF), à çàòåì èõ ðàçðàáîòêà áûëà ïåðåäàíà â Ðàáî÷óþ ãðóïïó PEM Internet Engineering Task Force (IETF) PEM Working Group. Ïðîòîêîëû PEM ïðåäíàçíà÷åíû äëÿ øèôðîâàíèÿ, ïðîâåðêè ïîäëèííîñòè, ïðîâåðêè öåë îñòíîñòè ñîîáùåíèÿ è óïðàâëåíèÿ êëþ÷àìè . Ïîëíîñòüþ ïðîòîêîëû PEM ñíà÷àëà áûëè äåòàëüíî îïèñàíû â ðÿäå RFC (Requests for Comment, Çàïðîñû êîììåíòàðèåâ) â [977] è çàòåì ïåðåñìîòðåíû â [978]. Òðåòüÿ èòåðàöèÿ ïðîòîêîëîâ [979, 827, 980] ñâåäåíà â [177, 178]. Ïðîòîêîëû áûëè èçìåíåíû è óëó÷øåíû, è îêîí÷àòåëüíûå ïðîòîêîëû äåòàëüíî îïèñûâàþòñÿ â äð óãîì íàáîðå RFC [981, 825, 76, 802].  äðóãîé ñòàòüå Ìýòüþ Áèøîïà ( Matthew Bishop) [179] ïîäðîáíî îïèñàíû âñå èçìåíåíèÿ. Ïîïûòêè ðåàëèçàöèè PEM ðàññìàòðèâàþòñÿ â [602, 1505, 1522, 74, 351, 1366, 1367]. Ñì. òàêæå [1394]. PEM ÿâëÿåòñÿ ðàñøèðÿåìûì ñòàíäàðòîì . Ïðîöåäóðû è ïðîòîêîëû PEM ðàçðàáîòàíû òàê, ÷òîáû áûòü ñîâìåñòèìûìè ñî ìíîæåñòâîì ïîäõîäîâ ê óïðàâëåíèþ êëþ÷àìè , âêëþ÷àÿ ñèììåòðè÷íóþ ñõåìó è èñïîëüçîâàíèå îòêðûòûõ êëþ÷åé äëÿ øèôðîâàíèÿ êëþ÷åé øèôðîâàíèÿ äàííûõ . Ñèììåòðè÷íàÿ êðèïòîãðàôèÿ ïðèìåíÿåòñÿ äëÿ øèôðîâàíèÿ òåêñòà ñîîáùåíèé. Äëÿ êîíòðîëÿ öåëîñòíîñòè ñîîáùåíèÿ èñïîëüçóþòñÿ êðèïòîãðàôè÷åñêèå ñïîñ îáû õýøèðîâàíèÿ. Äðóãèå äîêóìåíòû ïîääåðæèâàþò ìåõàíèçìû óïðàâëåíèÿ êëþ÷àìè ñ ïîìîùüþ ñåðòèôèêàòîâ îòêðûòûõ êëþ÷åé, àëãîðèòìîâ, ðåæèìîâ è ñâÿçàííûõ èäåíòèôèêàòîðîâ, à òàêæå è ýëåêòðîííûå ïîäðîáíîñòè, èíôðàñòðóêòóðó è ïðîöåäóðû óïðàâëåíèÿ êëþ÷àìè. PEM ïîääåðæèâàåò òîëüêî îïðåäåëåííûå àëãîðèòìû, íî ïîçâîëÿåò äîáàâëÿòü è áîëåå ïîçäíèå àëãîðèòìû . Ñîîáùåíèÿ øèôðóþòñÿ àëãîðèòìîì DES â ðåæèìå CBC. Ïðîâåðêà ïîäëèííîñòè, îáåñïå÷èâàåìàÿ ñðåäñòâîì Ïðîâåðêè öåëîñòíîñòè ñîîáùåíèÿ (Message Integrity Check, MIC), èñïîëüçóåò MD2 èëè MD5. Ñèììåòðè÷íîå óïðàâëåíèå êëþ÷àìè ìîæåò ïðèìåíÿòü ëèáî DES â ðåæèìå , ëèáî òðîéíîé DES ñ äâóìÿ êëþ÷àìè (òàê íàçûâàåìûé ðåæèì EDE). Äëÿ óïðàâëåíèÿ êëþ÷àìè PEM òàêæå ïîääåðæèâàåò ñåðòèôèêàòû îòêðûòûõ êëþ÷åé, èñïîë üçóÿ RSA (äëèíà êëþ÷à äî 1024 áèòîâ) è ñòàíäàðò X.509 äëÿ ñòðóêòóðû ñåðòèôèêàòîâ. PEM îáåñïå÷èâàåò òðè ñåðâèñà ïîâûøåíèÿ ñåêðåòíîñòè: êîíôèäåíöèàëüíîñòü, ïðîâåðêà ïîäëèííîñòè è êî íòðîëü öåëîñòíîñòè ñîîáùåíèé. Ê ýëåêòðîííîé ïîñòîâîé ñèñòåìå íå ïðåäúÿâëÿåòñÿ íèêàêèõ ñïåöèàëüíûõ òðåá îâàíèé. PEM ìîæåò áûòü âñòðîåíû âûáîðî÷íî, â îïðåäåëåííûå óçëû èëè ó îïðåäåëåííûõ ïîëüçîâàòåëåé, íå âë èÿÿ íà ðàáîòó îñòàëüíîé ñåòè. Äîêóìåíòû PEM PEM îïðåäåëÿåòñÿ â ñëåäóþùèõ ÷åòûðåõ äîêóìåíòàõ : RFC 1421: ×àñòü I, Ïðîöåäóðû øèôðîâàíèÿ è ïðîâåðêè ïîäëèííîñòè ñîîáùåíèé .  ýòîì äîêóìåíòå îïðåäåëÿþòñÿ ïðîöåäóðû øèôðîâàíèÿ è ïðîâåðêè ïîäëèííîñòè ñîîáùåíèé, êîòîðûå äîëæíû îáåñïå÷èòü ôóíêöèè ïî÷òû ñ ïîâûøåííîé ñåêðåòíîñòüþ äëÿ ïåðåäà÷è ýëåêòðîííîé ïî÷òû â Internet. RFC 1422: ×àñòü II, Óïðàâëåíèå êëþ÷àìè ñ ïîìîùüþ ñåðòèôèêàòîâ .  ýòîì äîêóìåíòå îïðåäåëÿåòñÿ à ðõèòåêòóðà è èíôðàñòðóêòóðà óïðàâëåíèÿ êëþ÷àìè, êîòîðûå îñíîâàíû íà ìåòîäå ñåðòèôèêàòîâ îòêðûòûõ êëþ÷åé, ïðåäîñòàâëÿþùèõ èíôîðìàöèþ î êëþ÷àõ îòïðàâèòåëÿì è ïîëó÷àòåëÿì ñîîáùåíèé . RFC 1423: ×àñòü III, Àëãîðèòìû, ðåæèìû è èäåíòèôèêàòîðû. Ýòîò äîêóìåíò ñîäåðæèò îïðåäåëåíèÿ, ôîðìàòû, ññûëêè è öèòàòû äëÿ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ, ðåæèìîâ èñïîëüçîâàíèÿ è ñâÿçàííûõ èäåíòèôèêàòîðîâ è ïàðàìåòðîâ. RFC 1424: ×àñòü IV, Ñåðòèôèêàöèÿ êëþ÷åé è ðîäñòâåííûå ôóíêöèè .  ýòîì äîêóìåíòå îïèñûâàþòñÿ òðè òèïà ôóíêöèé, ïîääåðæèâàåìûõ PEM: ñåðòèôèêàöèÿ êëþ÷åé, õðàíåíèå è èçâëå÷åíèå ñïèñêà îòîçâàííûõ ñåðòèôèêàòîâ (certificate revocation list, CRL). Ñåðòèôèêàòû PEM ñîâìåñòèì ñî ñõåìîé ïðîâåðêè ïîäëèííîñòè, îïèñàííîé â [304], ñì. òàêæå [826]. PEM ïðåäñòàâëÿåò ñîáîé íàäìíîæåñòâî X.509, îïðåäåëÿÿ ïðîöåäóðû è ñîãëàøåíèÿ äëÿ èíôðàñòðóêòóðû óïðàâëåíèÿ êëþ÷àìè, è ñïîëüçóåìîé ñ PEM è â áóäóùåì äðóãèìè ïðîòîêîëàìè (âêëþ÷àÿ ñòåêè TCP/IP è OSI). Èíôðàñòðóêòóðà óïðàâëåíèÿ êëþ÷àìè èñïîëüçóåò îáùèé êîðåíü äëÿ âñåé ñåðòèôèêàöèè Internet. Öåíòð ðåãèñòðàöèîííîé ïîëèòèêè (Internet Policy Registration Authority , IPRA) îïðåäåëÿåò ãëîáàëüíóþ ñòðàòåãèþ, ïðèì åíèìóþ êî âñåé èåðàðõèè. Íèæå êîðíÿ - IPRA - íàõîäÿòñÿ Öåíòðû ñåðòèôèêàöèîííîé ïîëèòèêè ( Policy Certification Authorities, PCA), êàæäûé èç êîòîðûõ îïðåäåëÿåò è îïóáëèêîâûâàåò ñâîþ ñòðàòåãèþ ðåãèñòðàöèè ïîëüçîâ àòåëåé è îðãàíèçàöèé. Êàæäûé PCA ñåðòèôèöèðîâàí IPRA. Ñëåäîì çà PCA èäóò CA, ñåðòèôèöèðóþùèå ïîëüçî-
âàòåëåé è è óïðàâëÿþùèå îðãàíèçàöèîííûìè ïîäðàçäåëåíèÿìè (äåïàðòàìåíòàìè, îôèñàìè, äî÷åðíèìè êîìï àíèÿìè). Ïåðâîíà÷àëüíî ïðåäïîëàãàëîñü, ÷òî áîëüøèíñòâî ïîëüçîâàòåëåé áóäåò ðåãèñòðèðîâàòüñÿ â êà÷åñòâå ÷ëåíîâ îðãàíèçàöèé. Êàê îæèäàåòñÿ, ðÿä PCA áóäåò îáåñïå÷èâàòü ñåðòèôèêàöèþ ïîëüçîâàòåëåé, íå âõîäÿùèõ íè â îäíó îðãàíèç àöèþ. Ïðåäïîëàãàåòñÿ âûäåëèòü îäèí èëè íåñêîëüêî PCA äëÿ ðåãèñòðàöèè ïîëüçîâàòåëåé, æåëàþùèõ âîñïîëüç îâàòüñÿ ïðåèìóùåñòâàìè ñåêðåòíîñòè PEM è ñîõðàíèòü àíîíèìíîñòü. Ñòðàòåãèÿ ýòèõ PCA áóäåò ïîçâîëÿòü ðåãèñòðèðîâàòü ïîëüçîâàòåëåé, íå æåëàþùèõ ðàñêðûâàòü ñâîè ëè÷íîñòè . Ñîîáùåíèÿ PEM Ñåðäöåì PEM ÿâëÿåòñÿ ôîðìàò ñîîáùåíèé. Íà 20-é ïîêàçàíî çàøèôðîâàííîå ñîîáùåíèå ïðè ñèììåòðè÷íîì óïðàâëåíèè êëþ÷àìè. Íà 19-é ïîêàçàíî ïîäïèñàííîå è çàøèôðîâàííîå ñîîáùåíèå ïðè óïðàâëåíèè êëþ÷àìè íà áàçå îòêðûòûõ êëþ÷åé, è íà Figure 24.6 ïîêàçàíî ïîäïèñàííîå (íî íåçàøèôðîâàííîå) ñîîáùåíèå ïðè óïðàâë åíèè êëþ÷àìè íà áàçå îòêðûòûõ êëþ÷åé . -----BEGIN PRIVACY-ENHANCED MESSAGE----Proc-Type: 4,ENCRYPTED Content-Domain: RFC822 DEK-Info: DES-CBC,F8143EDE5960C597 Originator-ID-Symmetric:
[email protected],, Recipient-ID-Symmetric:
[email protected],ptf-kmc,3 Key-Info DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,B70665BB9BF7CBCDA60195DB94F727D3 Recipient-lD-Symmetric:
[email protected],ptf-kmc,4 Key-Info : DES-ECB,RSA-MD2,161A3F75DC82EF26,E2EF532C65CBCFF79F83A2658132DB47 LLrHBOeJzyhP+/fSStdH8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoHlnvNSIHE9M 8tEjmF/zxB+bATMtPjCUHbz8Er9wloxIkjHUlBEpvXROUrUzYbkNpkOagV2IzUpk J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlKlZ6720dcBHGGsDLpTpSCnpot dXd/H5LMDHnonNvPCmQUHt== -----END PRIVACY ENHANCED MESSAGE-----
:
Ðèñ. 24-4. Ïðèìåð âñòðîåííîãî ñîîáùåíèÿ (ñèììåòðè÷íûé ñëó÷àé) -----BEGIN PRIVACY-ENHANCED MESSAGE----Proc-Type: 4,ENCRYPTED ContentDomain: RFC822 DEK-Info: DESCBC,BFF968AA74691AC1 0riginator - Certificate : MIIBlTCCAScCAWuwDQYJKoZIhvcNAQECBQAwUTELMAkGAlUEBhMCVVMxIDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEmZCZXRhIDExDzAN BgNVBAsTBk5PVEESWTAeFw05MTA5MDQxODM4MTdaFmO5MzA5MDMxODM4MTZaMEUx CzAJBgNVBAYTAlVTMSAmHgYDVQQKExdSUOEgRGFOYSBTZWNlcmlOeSwgSW5jLjEU MBIGAIUEAxMLVGVzdCBVc2VyIDEmHTAKBgRVCAEBAglCAANLADBIAkEAwHZHI7i+ yJcqDtjJComzTdBJrdAiLAnSC+CnnjOJEEyuQiBgkGrgIh3j8/xOfM+YrsyFlu3F LZPVtzlrldhYFJQI DAQABMAOGCSqGSIb3DQEBAgUAAIkACKrOPqphJYwlj+YPtc iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2mfX5byMp2X3U/ 5XIJXGx7qlJsDgHQGs7Jk9H8CHlfuSHUgN4w== Key-Info: RSA, I3rRIGXUGWAF8js5wCzRTkdh034PTHdRZY9Tuvm03M+NM7fx6qc5uIxps2LrlgO+ wGrtiUm/ovtKdlnzeZQ/aQ== Issuer-Certificate: MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGAIUEBhMCVVMxIDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8mDQYDVQQEEwZCZXRhIDExDTAE BgNVBAsTBFRMQOEwHhcNOTEmOTAxMDgwMDAwWhcNOTlwOTAxMDclOTU5HjBRMQsw CQYDVQQGEwJVUzEgMB4GAIUEChMXUINBIERhdGEgU2VjdXJpdHksIEIuYy4xDzAN BgNVBAsTBkJIdGEgMTEPMAOGAIUECxMGTk9UQVJZMHAmCgYEVQgBAQICArmDYgAm XwJYCsnp61QCxYykNIODwutF7jMJ3kE+3PjYyHOwk+79rLg6X65B/ED4bJHt05XH cqAz/7R7XhjYCmOPcqbdzoACZtIIETrKrcJiDYoP+DkZ8klgCk7hQHpbImIDAQAB MAOGCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx dD2jMZ/3HsyWKHgSFOeH7AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUHRBcXUpE+x EREZd9++32ofGBIXaIaInOgVUnOOzSYgugiQO77nJLDUjOhQehCizEs5wUJ35a5h MIC-Info: RSA-MD5,RSA, UdFJR8u/TIGhfH651eeme210H4tooa3vZCvVNGBZirf/7nrgzHDABz8m9NsXSexv AjRFbHoNPzBuxwnlOAFeAOHJszE4yBvhG Recipient-ID-Asymmetric : MFExCzAJBgNVBAYTAIVTMSAmHgYDVQQKExdSUOEgRGFOYSBTZHNlcmIOeSwgSH5j LjEPMAOGAIUECxMGQftiVOYSAxMQ81tfDQYDVQQLEwZOTIRBUIk=, 66 Key-Info: RSA, 06BSIww9CTyHPtS3bMLD+EOhejdvX6QvlHK2ds2sQPEaXhX8EhvVphHYTjmekdHv 7xOZ3Jx2vTAhOYHMcqqCjA== qeWlj/YJ2Uf5ng9yznPbtDOmYloSwIuV9FRYx+gzY+81Xd/NQrXHfi6/MhPfPF3d jIqCJAxvld2xgqQimUzoSla4r7kQQ5c/Iua4LqKeq3clFzEv7MbZhA== -----END PRIVACY ENHANCED MESSAGE-----
Ðèñ. 24-5. Ïðèìåð âñòðîåííîãî øèôðîâàííîãî (ENCRYPTED) ñîîáùåíèÿ (àñèììåòðè÷íûé ñëó÷àé). Ïåðâûì ïîëåì ÿâëÿåòñÿ "Proc-Type", èäåíòèôèêàòîð òèïà îáðàáîòêè, êîòîðîé ïîäâåðãëîñü ñîîáùåíèå . Ñóùåñòâóåò òðè âîçìîæíûõ òèïà ñîîáùåíèé . Ñïåöèôèêàòîð "ENCRYPTED" îáîçíà÷àåò, ÷òî ñîîáùåíèå çàøèôð î-
âàíî è ïîäïèñàíî. Ñïåöèôèêàòîð "MIC-ONLY" è "MIC-CLEAR" óêàçûâàþò, ÷òî ñîîáùåíèå ïîäïèñàíî, íî íå çàøèôðîâàíî. Ñîîáùåíèÿ MIC-CLEAR íå êîäèðóþòñÿ è ìîãóò áûòü ïðî÷èòàíû ñ ïîìîùüþ äðóãîãî, íå âõîä ÿùåãî â PEM ïðîãðàììíîãî îáåñïå÷åíèÿ. Äëÿ ïðåîáðàçîâàíèÿ ñîîáùåíèé MIC-ONLY â óäîáî÷èòàåìóþ ôîðìó íåîáõîäèìî ïðîãðàììíîå îáåñïå÷åíèå PEM. Ñîîáùåíèå PEM ïîäïèñûâàåòñÿ âñåãäà, à øèôðîâàíèå íå ÿâëÿåòñÿ îáÿçàòåëüíûì. Ñëåäóþùåå ïîëå, "Content-Domain", çàäàåò òèï ïî÷òîâîãî ñîîáùåíèÿ . Îíî íå âëèÿåò íà áåçîïàñíîñòü. Ïîëå "DEK-Info" ñîäåðæèò èíôîðìàöèþ î êëþ÷å îáìåíà äàííûìè (Data Exchange Key, DEK), àëãîðèòìå, èñïîëüçóåìîì äëÿ øèôðîâàíèÿ òåêñòà, è ïàðàìåòðàõ, ñâÿçàííûõ ñ àëãîðèòìîì øèôðîâàíèÿ .  íàñòîÿùåå âðåìÿ îïðåäåëåí åäèíñòâåííûé àëãîðèòì - DES â ðåæèìå CBC, "DES-CBC" Âòîðîå ïîäïîëå ñîäåðæèò IV.  áóäóùåì äëÿ PEM ìîãóò áûòü îïðåäåëåíû è äðóãèå àëãîðèòìû, èõ èñïîëüçîâàíèå áóäåò çàïðîòîêîëèðîâàíî â ïîëå DEK-Info è äðóãèõ ïîëÿõ, îïðåäåëÿþùèõ àëãîðèòì .  ñîîáùåíèÿõ ñ ñèììåòðè÷íûì óïðàâëåíèåì êëþ÷àìè (ñì. 20th) ñëåäóþùèì ïîëåì áóäåò "Originator-IDSymmetric" ñ òðåìÿ ïîäïîëÿìè. Ïåðâîå ïîäïîëå ñ ïîìîùüþ óíèêàëüíîãî àäðåñà ýëåêòðîííîé ïî÷òû îïðåäåëÿåò îòïðàâèòåëÿ. Âòîðîå ïîëå íå ÿâëÿåòñÿ îáÿçàòåëüíûì è îïðåäåëÿåò îðãàí, âûäàâøèé çàìåíÿåìûé êëþ÷ . Òðåòüèì ÿâëÿåòñÿ íåîáÿçàòåëüíîå ïîäïîëå Âåðñèÿ/Îêîí÷àíèå ñðîêà . Äàëåå, ïðè èñïîëüçîâàíèè ñèììåòðè÷íîãî óïðàâëåíèÿ êëþ÷àìè, ó êàæäîãî ïîëó÷àòåëÿ åñòü äâà ïîëÿ : "Recipient-ID-Symmetric" è "Key-Info." Ïîëå "Recipient-ID-Symmetric" ñîäåðæèò òðè ïîäïîëÿ, êîòîðûå îïðåä åëÿþò ïîëó÷àòåëÿ òàêæå, êàê ïîäïîëÿ ïîëÿ "Originator- ID-Symmetric" îïðåäåëÿþò îòïðàâèòåëÿ. Ïîëå "Key-Info" çàäàåò ïàðàìåòðû óïðàâëåíèÿ êëþ÷àìè . Ó ýòîãî ïîëÿ ÷åòûðå ïîäïîëÿ. Ïåðâîå îïðåäåëÿåò àëãîðèòì, èñïîëüçîâàííûé äëÿ øèôðîâàíèÿ DEK. Òàê êàê â ðàññìàòðèâàåìîì ñîîáùåíèè ïðèìåíÿåòñÿ ñèììå òðè÷íîå óïðàâëåíèå êëþ÷àìè, òî îòïðàâèòåëü è ïîëó÷àòåëü èñïîëüçóþò îáùèé êëþ÷ . Îí íàçûâàåòñÿ çàìåíÿåìûì êëþ÷îì (Interchange Key, IK) è èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ DEK. DEK ìîæåò áûòü çàøèôðîâàí ëèáî ñ ïîìîùüþ DES â ðåæèìå ECB (ýòîò ñïîñîá îáîçíà÷àåòñÿ "DES-ECB"), ëèáî òðîéíûì DES ("DES-EDE"). Âòîðîå ïîäïîëå îïðåäåëÿåò àëãîðèòì MIC. Ìîæåò èñïîëüçîâàòüñÿ MD2 (îáîçíà÷àåòñÿ "RSA-MD2") èëè MD5 ("RSAMD5"). Òðåòüå ïîäïîëå, DEK, è ÷åòâåðòîå ïîäïîëå, MIC, øèôðóþòñÿ ñ ïîìîùüþ IK. Íà 19-é è 18-é ïîêàçàíû ñîîáùåíèÿ, â êîòîðûõ èñïîëüçóåòñÿ óïðàâëåíèå êëþ÷àìè ñ ïîìîùüþ îòêðûòûõ êëþ÷åé (â ïåðå÷íå PEM òàêîé ñïîñîá íàçûâàåòñÿ àñèììåòðè÷íûì ). Çàãîëîâêè èçìåíÿþòñÿ.  ñîîáùåíèÿõ ENCRYPTED ïîñëå ïîëÿ "DEK-Info" èäåò ïîëå "Originator-Certificate". Ôîðìà ñåðòèôèêàòà ñîîòâåòñòâóåò ñòàíäà ðòó X.509 (ñì. ðàçäåë 24.9). Ñëåäóþùèì ïîëåì ÿâëÿåòñÿ "Key-Info" ñ äâóìÿ ïîäïîëÿìè. Ïåðâîå ïîäïîëå îïðåäåëÿåò àëãîðèòì ñ îòêðûòûì êëþ÷îì, èñïîëüçîâàííûé äëÿ øèôðîâàíèÿ DEK, â íàñòîÿùåå âðåìÿ ïîääåðæèâàåòñÿ òîëüêî RSA. Ñëåäóþùåå ïîäïîëå - DEK, çàøèôðîâàííûé îòêðûòûì êëþ÷îì îòïðàâèòåëÿ . Ýòî íåîáÿçàòåëüíîå ïîëå, êîòîðîå ïîçâîëÿåò îòïðàâèòåëþ ðàñøèôðîâàòü ñâîå ñîáñòâåííîå ñîîáùåíèå, âîçâðàùåííîå ïî÷òîâîé ñè ñòåìîé. Ñëåäóþùèì ïîëåì ÿâëÿåòñÿ "Issuer-Certificate", ñåðòèôèêàò îðãàíèçàöèè, ïîäïèñàâøåé ñåðòèôèêàò î òïðàâèòåëÿ ("Originator-Certificate"). Äàëåå ïðè àñèììåòðè÷íîì óïðàâëåíèè êëþ÷àìè ñëåäóåò ïîëå "MIC-Info". Ïåðâîå ïîäïîëå çàäàåò àëãîðèòì âû÷èñëåíèÿ MIC, à âòîðîå - àëãîðèòì, èñïîëüçîâàííûé äëÿ ïîäïèñè MIC. Òðåòüå ïîäïîëå ñîäåðæèò MIC, ïîäïèñàííûé çàêðûòûì êëþ÷îì îòïðàâèòåëÿ .
-----BEGIN PRIVACY-ENHANCED MESSAGE----Proc-Type: 4,MIC-ONLY Content-Domain: RFC822 0riginator - Certificate : MIIBITCCAScCAHUwDQYJKoZIhvcNAQECBQAwTzELMAkGAIUEBhMCVVMxlDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN BgNVBAsTBk5PVEFSHTAeEw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx CzAJBgNVBAYTAIVTMSAwHgYDVQQKExdSUOEgRGFOYSBTZMNlcmlOeSwgSW5jLjEU MEIGAIUEAxMLVGVzdCBVc2VylDEwHTAKBgRVCAEBAgICAANLADBIAkEAmHZHI71+ yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/xOfM+YrsyFlu3F LZPVtzlndhYFJQIDAQABMAOGCSqGSIb3DQEBAgUAAIkACKrOPqphJYwlj+YPtcIq ItJIFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2mfX5bMp2X3U/ 5XUXGx7qusDgHQGs7Jk9W8CW1fuSI4UgN4w== Issuer-Certificate: MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAkTzELMAkGAIUEBhMCVVMxlDAeBgNV BAoTFIJTQSBEYXRhIFNIY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEIZCZXRhIDExDTAE BgNVBAsTBFRMQOEwHhcNOTEwOTAxMDgwMDAmkmcNOTImOTAxMDclOTU5HjBRMQsw CQYDVQQGEwJVUzEgMB4GAIUEChMXUINBIERhdGEgU2VjdXJpdHksIEIuYywxDzAN BgNVBAsTBkJIdGEgMTEPMAOGAIUECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw XwJYCsnpelQCxYkNIODwlltF/jMJ3kE+3PjYjHOwk+/9rEg6X65B7LD4bJHt05XH cqAz77R7XhjYCmOPcqbdzoACZIlETrKrcJIDYoP+DkZ8klgCk7hQHpbltflDAQAB MAOGCSqGSIb3DQEBAgUAA38AAICPv4f9Gx7tY4+p+4DB7MV+tKZrlvBo8zgoMGOx dD2jMZ73Hs*kl4gSFOeH7AJB3qr9zosG47pyMnTf3aS2nBO7CMxpUkfRBcXUpE+x EREZd9++32otGBIXaIalnOgVUnOOzSYgljglQO77nJEDUOhQehCizEs5mUJ35a5h MIC-Info: RSA-MD5,RSA, jV20fH+nnXHU8bnE8kPAad7mSQITDZIbVuxvZAOVRZ5q5+EjI5bQvqNeqOUNQjr6 EtE7K2QDeVMCj/XsdJIA8fA== LSBBIGIIc3NhZ2UgZrti9lHVzZSBpbBOZXNOaH5nLgOKESBGb2xsb3dpbmcgaXMg YSBibGFuaj/Bsakf51OgOKDQpUaGIzIGIzIHRoZSBIbrnQuDQo= -----END PRIVACY-ENHANCED MESSAGE-----
Ðèñ. 24-6. Ïðèìåð âñòðîåííîãî MIC-ONLY ñîîáùåíèÿ (àñèììåòðè÷íûé ñëó÷àé). Ñëåäóþùèå ïîëÿ ñâÿçàíû ñ ïîëó÷àòåëÿìè. Êàæäîìó ïîëó÷àòåëþ ñîîòâåòñòâóþò äâà ïîëÿ : "Recipient-IDAsymmetric" è "Key-Info". Ó ïîëÿ"Recipient-ID-Asymmetric" äâà ïîäïîëÿ. Ïåðâîå îïðåäåëÿåò îðãàí, âûäàâøèé îòêðûòûé êëþ÷ ïîëó÷àòåëÿ, à âòîðûì ÿâëÿåòñÿ íåîáÿçàòåëüíîå ïîäïîëå Âåðñèÿ/Îêîí÷àíèå ñðîêà . Ïîëå "KeyInfo'' çàäàåò ïàðàìåòðû óïðàâëåíèÿ êëþ÷àìè : ïåðâîå ïîäïîëå îïðåäåëÿåò àëãîðèòì, èñïîëüçîâàííûé äëÿ øè ôðîâàíèÿ ñîîáùåíèÿ, à âòîðûì ïîäïîëåì ñëóæèò DEK, çàøèôðîâàííûé îòêðûòûì êëþ÷îì ïîëó÷àòåëÿ. Áåçîïàñíîñòü PEM Äëèíà êëþ÷åé RSA, èñïîëüçóåìûõ â PEM, ìîæåò ìåíÿòüñÿ â äèàïàçîíå îò 508 äî 1024 áèòîâ. Ýòîãî äîñòàòî÷íî ïðàêòè÷åñêè äëÿ ëþáîãî óðîâíÿ áåçîïàñíîñòè . Áîëåå âåðîÿòíî, ÷òî âñêðûòèå áóäåò íàïðàâëåíî ïðîòèâ ïðîòîêîëîâ óïðàâëåíèÿ êëþ÷àìè . Ìýëëîðè ìîæåò óêðàñòü âàø çàêðûòûé êëþ÷ - íå çàïèñûâàéòå åãî íèãäå - èëè ïîïûòàòüñÿ ïîäñóíóòü âàì ôàëüøèâûé îòêðûòûé êëþ÷ . Ïðîöåäóðû ñåðòèôèêàöèè êëþ÷åé â PEM äåëàþò ýòî íåâîçìîæíûì, åñëè âñå ïîëüçîâàòåëè ñòðîãî ñëåäóþò ñîîòâåòñòâóþùèì ïðîöåäóðàì , íî, êàê èçâåñòíî, ëþäè ÷àñòî íåàêêóðàòíû. Ìýëëîðè ìîæåò ïîñòóïèòü õèòðåå è ìîäèôèöèðîâàòü ðåàëèçàöèþ PEM, ðàáîòàþùóþ â âàøåé ñèñòåìå. Ýòà èçìåíåííàÿ âåðñèÿ ìîæåò òàéêîì ïåðåñûëàòü Ìýëëîðè âñþ âàøó ïî÷òó, çàøèôðîâàâ åå åãî îòêðûòûì êëþ÷îì . Åìó ìîæåò áûòü ïîñëàíà äàæå êîïèÿ âàøåãî çàêðûòîãî êëþ÷à . Åñëè èçìåíåííàÿ ðåàëèçàöèÿ áóäåò ðàáîòàòü õ îðîøî, òî âû íèêîãäà íå óçíàåòå, ÷òî ñëó÷èëîñü . Ðåàëüíîãî ñïîñîáà ïðåäîòâðàòèòü òàêîå âñêðûòèå íå ñóùåñòâóåò . Âû ìîæåòå èñïîëüçîâàòü îäíîíàïðàâëå ííóþ õýø-ôóíêöèþ è ïîëó÷èòü êîíòðîëüíóþ ñóììó èñïîëíÿåìîãî êîäà PEM. Çàòåì, ïðè êàæäîì çàïóñêå ïðîãðàììíîãî îáåñïå÷åíèÿ âû ìîæåòå ïðîâåðÿòü êîíòðîëüíóþ ñóììó, ÷òîáû âîâðåìÿ îáíàðóæèòü èçìåíåíèÿ . Íî Ìýëëîðè òî÷íî òàêæå ìîæåò èçìåíèòü è êîä êîíòðîëüíîé ñóììû ïðè èçìåíåíèè êîäà PEM. Ìîæíî ñîõðàíèòü êîíòðîëüíóþ ñóììó êîíòðîëüíîé ñóììû, íî Ìýëëîðè ìîæåò èçìåíèòü è åå. Åñëè ó Ìýëëîðè åñòü äîñòóï ê âàøåìó êîìïüþòåðó, îí ìîæåò ðàçðóøèòü áåçîïàñíîñòü PEM. Ìîðàëü â òîì, ÷òî âû íå äîëæíû äîâåðÿòü íèêàêîìó ýëåìåíòó ïðîãðàììíîãî îáåñïå÷åíèÿ, åñëè âû íå ìîæ åòå äîâåðÿòü àïïàðàòóðå, íà êîòîðîé ðàáîòàåò ýòî ïðîãðàììíîå îáåñïå÷åíèå . Äëÿ áîëüøèíñòâà òàêèå îïàñåíèÿ ïîêàæóòñÿ íåîáîñíîâàííûìè. Íî äëÿ íåêîòîðûõ ëþäåé îíè âïîëíå ðåàëüíû . TIS/PEM Äîâåðåííûå èíôîðìàöèîííûå ñèñòåìû ( TIS, Trusted Information Systems), ÷àñòè÷íî ïîääåðæèâàåìûå Óïðàâëåíèåì ïî ïåðåäîâûì íàó÷íûì ïðîåêòàì ïðàâèòåëüñòâà Ñîåäèíåííûõ Øòàòîâ , âêëþ÷àþò ðåàëèçàöèþ PEM (TIS/PEM). Ðàçðàáîòàííûå äëÿ ïëàòôîðì UNIX, îíè áûëè òàêæå ïåðåíåñåíû íà VMS, DOS è Windows. Õîòÿ ñïåöèôèêàöèè PEM îïðåäåëÿþò äëÿ Internet îäèí ãëàâíûé ñåðòèôèêàöèîííûé öåíòð , TIS/PEM ïîääåðæèâàåò ñóùåñòâîâàíèå íåñêîëüêèõ èåðàðõèé ñåðòèôèêàöèè . Óçëû ìîãóò îïðåäåëèòü íàáîð ñåðòèôèêàòîâ, êîòîðûå áóäóò ñ÷èòàòüñÿ äåéñòâèòåëüíûìè , âêëþ÷àÿ âñå ñåðòèôèêàòû, âûäàííûå óçëàìè . Äëÿ òîãî, ÷òîáû ïîëüçîâàòüñÿ TIS/PEM óçëó íå íóæíî ïðèñîåäèíÿòüñÿ ê èåðàðõèè Internet.
Âñå îðãàíèçàöèè è ãðàæäàíå ÑØÀ è Êàíàäû ïðè æåëàíèè ìîãóò ïîëó÷èòü äîñòóï ê TIS/PEM, êîòîðàÿ ðàñïðîñòðàíÿåòñÿ â âèäå èñõîäíîãî êîäà. Çàèíòåðåñîâàííûå ëèöà äîëæíû îáðàùàòüñÿ ïî ñëåäóþùåìó àäðåñó : Privacy-Enhanced Mail, Trusted Information Systems, Inc., 3060 Washington Road IRte. 97), Glenwood, MD 2,1738; (301) 854-6889; fax: (301) 854-5363; Inte rnet:
[email protected]. RIPEM RIPEM - ýòî ïðîãðàììà, íàïèñàííàÿ Ìàðêîì Ðèîðäàíîì ( Mark Riordan) è ðåàëèçóþùàÿ ïðîòîêîëû PEM. Õîòÿ ýòà ïðîãðàììà íå ÿâëÿåòñÿ ñâîáîäíî äîñòóïíîé, åé ìîæíî âîñïîëüçîâàòüñÿ áåñïëàòíî äëÿ ÷àñòíîãî, í åêîììåð÷åñêîãî èñïîëüçîâàíèÿ. Ëèöåíçèÿ íà åå èñïîëüçîâàíèå âõîäèò â äîêóìåíòàöèþ . Êîä íå ìîæåò áûòü ýêñïîðòèðîâàí . Êîíå÷íî, çàêîíû ïðàâèòåëüñòâà ÑØÀ íå äåéñòâóþò çà ïðåäåëàìè Ñîåä èíåííûõ Øòàòîâ, è ðÿä ëþäåé èãíîðèðóåò ýêñïîðòíûå îãðàíè÷åíèÿ . Êîä RIPEM äîñòóïåí ïî âñåìó ìèðó íà ýëåêòðîííûõ äîñêàõ îáúÿâëåíèé. Ðàçðåøåíà äëÿ ýêñïîðòà âåðñèÿ, íàçûâàåìàÿ RIPEM/SIC, ðåàëèçóþùàÿ òîëüêî öèôðîâûå ïîäïèñè. Ê ìîìåíòó íàïèñàíèÿ ýòèõ ñòðîê RIPEM íå ïîëíîñòüþ ðåàëèçîâàëà ïðîòîêîëû PEM, â íåé íåò âîçìîæíîñòè èñïîëüçîâàòü ñåðòèôèêàòû ïðîâåðêè ïîäëèííîñòè êëþ÷åé. Äî RIPEM Ðèîðäàí íàïèñàë ïîõîæóþ ïðîãðàììó RPEM. Ïîäðàçóìåâàëîñü, ÷òî ýòî áóäåò îáùåäîñòóïíàÿ ïðîãðàììà ýëåêòðîííîé ïî÷òû. Ïûòàÿñü îáîéòè ïàòåíòíûå ïðîáëåìû, Ðèîðäàí èñïîëüçîâàë àëãîðèòì Rabin (ñì. ðàçäåë 19.5). Public Key Partners çàÿâèëà, ÷òî èõ ïàòåíòû ðàñïðîñòðàíÿþòñÿ íà âñþ êðèïòîãðàôèþ ñ îòêðûòûìè êëþ÷àìè. Ïîä óãðîçîé ñóäåáíîãî ïðîöåññà Ðèîðäàí ïðåêðàòèë ðàñïðîñòðàíåíèå ïðîãðàììû . Ñåé÷àñ RPEM íå èñïîëüçóåòñÿ. Îíà íå ñîâìåñòèìà ñ RIPEM. Òàê êàê ìîæíî èñïîëüçîâàòü RIPEM, íå âñòðå÷àÿ ïðåïÿòñòâèé ñî ñòîðîíû Public Key Partners, íåò ïîâîäà âîçâðàùàòüñÿ ê RPEM.
24.11 Ïðîòîêîë áåçîïàñíîñòè ñîîáùåíèé Ïðîòîêîë áåçîïàñíîñòè ñîîáùåíèé ( Message Security Protocol, MSP) - ýòî âîåííûé ýêâèâàëåíò PEM. Îí áûë ðàçðàáîòàí NSA â êîíöå 80-õ ãîäîâ ïðè ðàáîòå ïî ïðîãðàììå ñîçäàíèÿ Áåçîïàñíîé ñèñòåìû ïåðåäà÷è äàííûõ ïî ñåòè (Secure Data Network System, SDNS) program. Ýòî ñîâìåñòèìûé ñ X.400 ïðîòîêîë óðîâíÿ ïðèëîæåíèÿ äëÿ çàêðûòèÿ ýëåêòðîííîé ïî÷òû. MSP ïëàíèðóåòñÿ èñïîëüçîâàòü â ðàçðàáàòûâàåìîé ñåòè îáîðîííûõ ñîîáùåíèé (Defense Message System, DMS) Ìèíèñòåðñòâà îáîðîíû. Ïðåäâàðèòåëüíûé ïðîòîêîë áåçîïàñíîñòè ñîîáùåíèé (Preliminary Message Security Protocol , PMSP), êîòîðûé ïðåäïîëàãàåòñÿ èñïîëüçîâàòü äëÿ "íåñåêðåòíûõ, íî âàæíûõ" ñîîáùåíèé , ïðåäñòàâëÿåò ñîáîé àäàïòèðîâàííóþ äëÿ èñïîëüçîâàíèÿ ñ X.400 è TCP/IP âåðñèþ MSP. Ýòîò ïðîòîêîë òàêæå íàçûâàþò Mosaic. Êàê è PEM, ïðîãðàììíûå ðåàëèçàöèè MSP è PMSP äîñòàòî÷íî ãèáêè, èõ êîíñòðóêöèÿ ïîçâîëÿåò ïîäñòð îèòüñÿ ïîä èñïîëüçîâàíèå ðàçëè÷íûõ àëãîðèòìîâ äëÿ îñóùåñòâëåíèÿ ôóíêöèé áåçîïàñíîñòè, òàêèõ êàê ïîäïèñü, õýøèðîâàíèå è øèôðîâàíèå. PSMP áóäåò ðàáîòàòü ñ ìèêðîñõåìîé Capstone (ñì. ðàçäåë 24.17).
24.12 PRETTY GOOD PRIVACY (PGP) Pretty Good Privacy (PGP, âåñüìà õîðîøàÿ ñåêðåòíîñòü) - ýòî ñâîáîäíî ðàñïðîñòðàíÿåìàÿ ïðîãðàììà áåçîïà ñíîé ýëåêòðîííîé ïî÷òû, ðàçðàáîòàííàÿ Ôèëèïîì Öèììåðìàííîì ( Philip Zimmermann) [1652]. Äëÿ øèôðîâàíèÿ äàííûõ îíà èñïîëüçóåò IDEA, äëÿ óïðàâëåíèÿ êëþ÷àìè è öèôðîâîé ïîäïèñè - RSA (äëèíà êëþ÷à äî 2047 áèòîâ), à äëÿ îäíîíàïðàâëåííîãî õýøèðîâàíèÿ - MD5. Äëÿ ïîëó÷åíèÿ ñëó÷àéíûõ îòêðûòûõ êëþ÷åé PGP èñïîëüçóåò âåðîÿòíîñòíóþ ïðîâåðêó ÷èñåë íà ïðîñòîòó, èñïîëüçóÿ äëÿ ïîëó÷åíèÿ ñòàðòîâûõ ïîñëåäîâàòåëüíîñòåé èíòåðâàëû ìåæäó íàæàòèÿìè ïîëüçîâàòåëåì êëàâèø íà êëàâèàòóðå. PGP ãåíåðèðóåò ñëó÷àéíûå êëþ÷è IDEA ñ ïîìîùüþ ìåòîäà, â ANSI X9.17, Appendix C (ñì. ðàçäåë 8.1) [55], èñïîëüçóÿ âìåñòî DES â êà÷åñòâå ñèììåòðè÷íîãî àëãîðèòìà IDEA. PGP òàêæå øèôðóåò çàêðûòûé êëþ÷ ïîëüçîâàòåëÿ ñ ïîìîùüþ õýøèðîâàííîé ïàðîëüíîé ôðàçû, à íå ïàðîëÿ íåïîñðåäñòâåííî . Ñîîáùåíèÿ, çàøèôðîâàííûå PGP, èìåþò íåñêîëüêî óðîâíåé áåçîïàñíîñòè . Åäèíñòâåííàÿ âåùü, èçâåñòíàÿ êðèïòîàíàëèòèêó î çàøèôðîâàííîì ñîîáùåíèè, - ýòî ïîëó÷àòåëü ñîîáùåíèÿ ïðè óñëîâèè, ÷òî êðèïòîàíàëèòèêó èçâåñòåí ID êëþ÷à ïîëó÷àòåëÿ. Òîëüêî ðàñøèôðîâàâ ñîîáùåíèå, ïîëó÷àòåëü óçíàåò, êåì îíî ïîäïèñàíî, åñëè îíî ïîäïèñàíî. Ýòî ðåçêî îòëè÷àåòñÿ îò ñîîáùåíèÿ PEM, â çàãîëîâêå êîòîðîãî íåìàëî èíôîðìàöèè îá îòïðàâ èòåëå, ïîëó÷àòåëå è ñàìîì ñîîáùåíèè õðàíèòñÿ â íåçàøèôðîâàííîì âèäå . Ñàìîé èíòåðåñíîé îñîáåííîñòüþ PGP ÿâëÿåòñÿ ðàñïðåäåëåííûé ïîäõîä ê óïðàâëåíèþ êëþ÷àìè (ñì. ðàçäåë 8.12). Öåíòðîâ ñåðòèôèêàöèè êëþ÷åé íåò, âìåñòî ýòîãî â PGP ïîääåðæèâàåòñÿ "ñåòü äîâåðèÿ". Êàæäûé ïîëüçîâàòåëü ñàì ñîçäàåò è ðàñïðîñòðàíÿåò ñâîé îòêðûòûé êëþ÷ . Ïîëüçîâàòåëè ïîäïèñûâàþò êëþ÷è äðóã äðóãà, ñî çäàâàÿ âçàèìîñâÿçàííîå ñîîáùåñòâî ïîëüçîâàòåëåé PGP. Íàïðèìåð, Àëèñà ìîæåò ôèçè÷åñêè ïåðåäàòü Áîáó ñâîè îòêðûòûé êëþ÷ . Áîá ëè÷íî çíàåò Àëèñó, ïîýòîìó îí
ïîäïèñûâàåò åå îòêðûòûé êëþ÷. Îäíó ïîäïèñàííóþ êîïèþ îí âîçâðàùàåò Àëèñå, à äðóãóþ îñòàâëÿåò . Êîãäà Àëèñå íóæíî ñâÿçàòüñÿ ñ Êýðîë, îíà ïîñûëàåò Êýðîë ïîäïèñàííóþ Áîì êîïèþ êëþ÷à. Êýðîë, ó êîòîðîé êàêèìòî îáðàçîì óæå åñòü êëþ÷ Áîáà (îíà ïîëó÷èëà åãî ðàíüøå), è êîòîðàÿ äîâåðÿåò Áîáó çàâåðèòü êëþ÷ äðóãîãî ÷ åëîâåêà, ïðîâåðÿåò åãî ïîäïèñü ïîä êëþ÷îì Àëèñû è óáåæäàåòñÿ, ÷òî îíà ïðàâèëüíà . Òàêèì îáðàçîì, Áîá çíàêîìèò Àëèñó è Êýðîë. PGP íå îïðåäåëÿåò ñòðàòåãèþ óñòàíîâêè äîâåðèòåëüíûõ ñâÿçåé, ïîëüçîâàòåëè ñàìè ðåøàþò, êîìó âåðèòü, à êîìó íåò. PGP îáåñïå÷èâàåò ìåõàíèçìû äëÿ ïîääåðæêè àññîöèàòèâíîãî äîâåðèÿ îòêðûòûì êëþ÷àì è äëÿ è ñïîëüçîâàíèÿ äîâåðèÿ. Êàæäûé ïîëüçîâàòåëü õðàíèò íàáîð ïîäïèñàííûõ îòêðûòûõ êëþ÷åé â âèäå ôàéëà êîëüöà îòêðûòûõ êëþ÷åé (public-key ring). Êàæäûé êëþ÷ êîëüöà îáëàäàåò ïîëåì çàêîííîñòè êëþ÷à, îïðåäåëÿþùèì óðîâåíü äîâåðèÿ ê êëþ÷ó êîíêðåòíîãî ïîëüçîâàòåëÿ . ×åì áîëüøå óðîâåíü äîâåðèÿ, òåì áîëüøå ïîëüçîâàòåëü óâåðåí â çàêîííîñòè êëþ÷à. Ïîëå äîâåðèÿ ê ïîäïèñè èçìåðÿåò, íàñêîëüêî ïîëüçîâàòåëü âåðèò òîìó, êòî ïîäï èñàë îòêðûòûå êëþ÷è äðóãèõ ïîëüçîâàòåëåé . È íàêîíåö ïîëå äîâåðèÿ ê âëàäåëüöó êëþ÷à çàäàåò óðîâåíü, îïðåä åëÿþùèé, íàñêîëüêî êîíêðåòíûé ïîëüçîâàòåëü âåðèò âëàäåëüöó êëþ÷à, ïîäïèñàâøåìó äðóãèå îòêðûòûå êëþ÷è. Ýòî ïîëå âðó÷íóþ óñòàíàâëèâàåòñÿ ïîëüçîâàòåëåì . PGP íåïðåðûâíî îáíîâëÿåò ýòè ïîëÿ ïî ìåðå ïîÿâëåíèÿ í îâîé èíôîðìàöèè. Íà 17-é ïîêàçàíî, êàê âûãëÿäèò ýòà ìîäåëü äëÿ êîíêðåòíîãî ïîëüçîâàòåëÿ , Àëèñû. Êëþ÷ Àëèñû íàõîäèòñÿ â ñàìîì âåðõó èåðàðõèè, âëàäåëåö êëþ÷à àáñîëþòíî íàäåæåí . Àëèñà ïîäïèñûâàåò êëþ÷è Áîáà, Êýðîë, Äýéâà, Ýëåí è Ôðýíêà. Îíà äîâåðÿåò Áîáó è Êýðîë ïîäïèñûâàòü îòêðûòûå êëþ÷è äðóãèõ ëþäåé, êðîìå òîãî, îíà ÷à ñòè÷íî äîâåðÿåò Äýéâó è Ýëåí ïîäïèñûâàòü îòêðûòûå êëþ÷è äðóãèõ ëþäåé . È îíà äîâåðÿåò Ãåéë ïîäïèñûâàòü îòêðûòûå êëþ÷è äðóãèõ ëþäåé, õîòÿ ñàìà íå ïîäïèñûâàëà êëþ÷ Ãåéë . Äâóõ ÷àñòè÷íî äîâåðÿåìûõ ïîäïèñåé ìîæåò îêàçàòüñÿ äîñòàòî÷íûì äëÿ ñåðòèôèêàöèè êëþ÷à . Àëèñà ñ÷èòàåò, ÷òî êëþ÷ Êóðòà çàêîíåí, òàê êàê Äýéâ è Ýëåí ïîäïèñàëè åãî . Óðîâåíü äîâåðèÿ óñòàíàâëèâàåòñÿ â PGP âðó÷íóþ, Àëèñà ìîæåò âûáðàòü óñòðàèâàþùóþ åå ñòåïåíü ïàðàíîéè . Àëèñà íå äîëæíà àâòîìàòè÷åñêè äîâåðÿòü êëþ÷àì äðóãèõ ëþäåé òîëüêî ïîòîìó, ÷òî îíè ïîäïèñàíû êëþ÷îì, êîòîðûé îíà ñ÷èòàåò ïðàâèëüíûì . Àëèñà Îíà íå äîâåðÿåò Ôðýíêó Îíà ïîäïèñûâàòü äðóãèå êëþ÷è, õîòÿ îíà ñîáñòâåííîðó÷íî ïîäïèñûâàëà åãî êëþ÷ . Êðîìå òîãî, îíà íå äîâåðÿåò ïîäïèñè Èâàíà ïîä êëþ÷îì Ìàðòèíà èëè ïîäïèñè Êóðòà ïîä êëþ÷îì. Êëþ÷ Îóýíà âîîáùå íà âõîäèò â ñåòü, ìîæåò áûòü, Àëèñà ïîëó÷èëà åãî îò ñåðâåðà . PGP íå ñ÷èòàåò êëþ÷ àâòîìàòè÷åñêè ïðàâèëüíûì, Àëèñà äîëæíà ëèáî îáúÿâèòü î ïðàâèëüíîñòè êëþ÷à, ëèáî ðåøèòüñÿ ïîâåðèòü îäíîìó èç òåõ, êòî ïîäïèñàë êëþ÷. Êîíå÷íî, íè÷òî íå ìåøàåò Àëèñå èñïîëüçîâàòü êëþ÷è, êîòîðûì îíà íå äîâåðÿåò . Çàäà÷à PGP - ïðåäóïðåäèòü Àëèñó î ïîäîçðèòåëüíîñòè êëþ÷à, à íå ïîìåøàòü åé óñòàíàâëèâàòü ñîåäèíåíèÿ . Ñàìûì ñëàáûì çâåíîì ýòîé ñèñòåìû ÿâëÿåòñÿ îòçûâ êëþ÷åé : ãàðàíòèðîâàòü, ÷òî êòî-íèáóäü íå âîñïîëüçóå òñÿ ñêîìïðîìåòèðîâàííûì êëþ÷îì, íåâîçìîæíî . Åñëè çàêðûòûé êëþ÷ Àëèñû óêðàäåí, îíà ìîæåò ïîñëàòü íåêèé ñåðòèôèêàò îòçûâà êëþ÷à (key revocation certificate), íî, òàê êàê íåêîå ðàñïðåäåëåíèå êëþ÷åé óæå ïðîèçîøëî, íåëüçÿ ãàðàíòèðîâàòü, ÷òî ýòî ñîîáùåíèå áóäåò ïîëó÷åíî âñåìè, èñïîëüçóþùèìè åå îòêðûòûé êëþ÷ â ñâîåì êîëüöå êëþ÷åé. È òàê êàê Àëèñà äîëæíà áóäåò ïîäïèñàòü ñâîé ñåðòèôèêàò îòçûâà êëþ÷à ñâîèì çàêðûòûì êë þ÷îì, òî åñëè îíà ïîòåðÿåò êëþ÷, îíà íå ñìîæåò è îòîçâàòü åãî .
x
Àëèñà äîâåðÿåò âëàäåëüöó êëþ÷à ïðàâî ïîäïèñûâàòü äðóãèå êëþ÷è
x ïîäïèñûâàåò êëþ÷ y
Àëèñà ÷àñòè÷íî äîâåðÿåò âëàäåëüöó êëþ÷à ïðàâî ïîäïèñûâàòü äðóãèå êëþ÷è
y Àëèñà ñ÷èòàåò êëþ÷ çàêîííûì
Àëèñà ñ÷èòàåò êëþ÷ íåçàêîííûì
Àëèñà ?
? Áîá
Êýðîë
?
Äýéâ
Ôðýíê
Ýëåí
? Èâàí
Ãåéë
Äæåííèôåð
Êóðò
Ëèíäà ?
Ìàðòèí
Íýíñè
? Îóýí
Ðèñ. 24-7. Ìîäåëü äîâåðèÿ â PGP. Òåêóùåé âåðñèåé PGP ÿâëÿåòñÿ 2.6.2. Ïîÿâëåíèå íîâîé âåðñèè, PGP 3.0, îæèäàåòñÿ ê êîíöó 1995 ãîäà.  3.0 âêëþ÷åíû îïöèè òðîéíîãî DES, SHA, äðóãèå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè , ðàçäåëåíèå ïàð "îòêðûòûé êëþ÷/çàêðûòûé êëþ÷" äëÿ øèôðîâàíèÿ è äëÿ ïîäïèñè , ðàñøèðåííûå ïðîöåäóðû îòçûâà êëþ÷åé , óëó÷øåííûå ôóíêöèè óïðàâëåíèÿ êîëüöîì êëþ÷åé, API äëÿ èíòåãðèðîâàíèÿ PGP â äðóãèå ïðîãðàììû è ïîëíîñòüþ ïåðåï èñàííûå èñïîëíÿåìûå ìîäóëè. PGP äîñòóïíà äëÿ MS-DOS, UNIX, Macintosh, Amiga è Atari.  ëè÷íûõ, íåêîììåð÷åñêèõ öåëÿõ åå ìîæíî èñïîëüçîâàòü ñâîáîäíî, ñêà÷àâ ñî ìíîãèõ óçëîâ ftp â Internet. ×òîáû ñêîïèðîâàòü PGP ñ óçëà MIT ñ ïîìîùüþ telnet ïîäêëþ÷èòåñü ê net-dist.mit.edu, âîéäèòå â ñèñòåìó êàê getpgp, îòâåòüòå íà âîïðîñû, çàòåì èñïîëüçóéòå ftp äëÿ ñîåäèíåíèÿ ñ net-dist.mit.edu è ïåðåéäèòå â êàòàëîã, óêàçàííûé â ñåññèè telnet. Ýòó ïðîãðàììó òàêæå ìîæíî ïîëó÷èòü ftp.ox.ac.uk, ftp.dsi.unimi.it, ftp.funet.fi, ftp.demon.co.uk, CompuServe, AOL, è ò.ï. Äëÿ êîììåð÷åñêîãî èñïîëüçîâàíèÿ â ÑØÀ PGP ìîæíî ïðèîáðåñòè - ïîëíîñòüþ, âìåñòå ñ ëèöåíçèÿìè - ïðèìåðíî çà 100 äîëëàðîâ â êîìïàíèè ViaCrypt, 9033 N 24th Ave., Phoenix, AZ, 85021; (602) 944-0773;
[email protected]. Ñóùåñòâóþò ðàçëè÷íûå ñðåäñòâà, ïîìîãàþùèå èíòåãðèðîâàòü PGP â MS-DOS, Microsoft Windows, Maci ntosh è UNIX. Î PGP íàïèñàíî íåñêîëüêî êíèã [601,1394,1495]. Èñõîäíûé êîä áûë äàæå îïóáëèêîâàí â ïå÷àòíîì âèäå â [1653] ïðè ïîïûòêå îáîéòè Ãîñäåïàðòàìåíò ÑØÀ, êîòîðûé ïðîäîëæàåò ñ÷èòàòü, ÷òî èñõîäíûé êîä ìîæíî ýê ñïîðòèðîâàòü òîëüêî â áóìàæíîì, à íå â ýëåêòðîííîì âèäå . Åñëè âû äîâåðÿåòå IDEA, PGP ïîçâîëèò âàì ïðèáëèçèòüñÿ ê âîåííîìó óðîâíþ øèôðîâàíèÿ .
24.13 Èíòåëëåêòóàëüíûå êàðòî÷êè Èíòåëëåêòóàëüíàÿ êàðòî÷êà ïðåäñòàâëÿåò ñîáîé ïëàñòèêîâóþ êàðòî÷êó, ïî ðàçìåðó è ôîðìå êàê êðåäèòíàÿ êàðòî÷êà, ñ âñòðîåííîé êîìïüþòåðíîé ìèêðîñõåìîé . Èäåÿ ñòàðà - ïåðâûå ïàòåíòû áûëè âûäàíû ëåò 20 òîìó íàçàä - íî èç-çà ïðàêòè÷åñêèõ îãðàíè÷åíèé âîçìîæíîñòü ðåàëèçîâàòü òàêèå êàðòî÷êè ïîÿâèëàñü òîëüêî ïðèìå ðíî ïÿòü ëåò íàçàä. Ñ òåõ ïîð îíè ñòàëè ïîïóëÿðíû, ãëàâíûì îáðàçîì â Åâðîïå . Âî ìíîãèõ ñòðàíàõ èíòåëëåêòóàëüíûå êàðòî÷êè èñïîëüçóþòñÿ äëÿ îïëàòû çà òåëåôîíû . Ñóùåñòâóþò èíòåëëåêòóàëüíûå êðåäèòíûå êàðòî÷êè, èíòåëëåêòóàëüíûå äåáèòíûå êàðòî÷êè, èíòåëëåêòóàëüíûå êàðòî÷êè äëÿ ÷åãî óãîäíî. Àìåðèêàíñêèå êîìïàíèè ïî âûïóñêó êðåäèòíûõ êàðòî÷åê ðàáîòàþò íàä òåõíîëîãèåé, è ÷åðåç íåñêîëüêî ëåò äàæå çàõóäàëûå àìåðèêàíöû áóäóò íîñèòü èíòåëëåêòóàëüíûå êàðòî÷êè â ñâîèõ áóìàæíèêàõ . Èíòåëëåêòóàëüíàÿ êàðòî÷êà ñîäåðæèò ìàëåíüêèé êîìïüþòåð (îáû÷íî 8-áèòîâûé ìèêðîïðîöåññîð), ÎÇÓ (÷åòâåðòü êèëîáàéòà), ÏÇÓ (ïðèìåðíî 6-8 êèëîáàéò), è íåñêîëüêî êèëîáàéò ëèáî EPROM (ñòèðàåìîå ïðîãðàììèðóåìîå ÏÇÓ) èëè EEPROM (ýëåêòðîííî ñòèðàåìîå ïðîãðàììèðóåìîå ÏÇÓ ). Îáúåì ïàìÿòè â èíòåëëåêòóàëü-
íûõ êàðòî÷êàõ ñëåäóþùåãî ïîêîëåíèÿ íàâåðíÿêà âîçðàñòåò, íî îïðåäåëåííûå ôèçè÷åñêèå îãðàíè÷åíèÿ çàòðó äíÿò òàêèå ðàñøèðåíèÿ. Êàðòî÷êà èñïîëüçóåò ñâîþ îïåðàöèîííóþ ñèñòåìó, ïðîãðàììû è äàííûå . (×åãî â íåé íåò, òàê ýòî èñòî÷íèêà ïèòàíèÿ, ýëåêòðîýíåðãèÿ ïîäàåòñÿ, êîãäà êàðòî÷êó âñòàâëÿþò â ñ÷èòûâàòåëü .) Êàðòî÷êà áåçîïàñíà.  íàøåì ìåíÿþùåìñÿ ìèðå, êîãäà íåëüçÿ äîâåðÿòü ÷óæîìó êîìïüþòåðó, òåëåôîíó, äà ÷åìó óãîäíî, âû ìîæåòå áûòü óâåðåíû â ñâîåé êàðòî÷êå, êîòîðàÿ õðàíèòñÿ â âàøåì áóìàæíèêå .  èíòåëëåêòóàëüíûõ êàðòî÷êàõ ìîãóò èñïîëüçîâàòüñÿ ðàçëè÷íûå êðèïòîãðàôè÷åñêèå ïðîòîêîëû è àëãîðèòìû. Îíè ìîãóò áûòü ýëåêòðîííûì êîøåëüêîì, äàâàÿ âîçìîæíîñòü òðàòèòü è ïîëó÷àòü ýëåêòðîííûå í àëè÷íûå. Êàðòî÷êè ìîãóò èñïîëüçîâàòüñÿ â ïðîòîêîëàõ ïðîâåðêè ïîäëèííîñòè ñ íóëåâûì çíàíèåì, îíè ìîãóò îáëàäàòü ñîáñòâåííûìè êëþ÷àìè øèôðîâàíèÿ . Âîçìîæíî, îíè ïîçâîëÿþò ïîäïèñûâàòü äîêóìåíòû èëè ñíèìàòü áëîêèðîâêó ñ êîìïüþòåðíûõ ïðîãðàìì . Íåêîòîðûå èíòåëëåêòóàëüíûå êàðòî÷êè ñ÷èòàþòñÿ óñòîé÷èâûìè ê âçëîìó, òàêèì îáðàçîì ñåáÿ ÷àñòî çàù èùàþò îðãàíèçàöèè, ýìèòèðîâàâøèå êàðòî÷êè . Áàíê âîâñå íå õî÷åò, ÷òîáû âû ìîãëè âëåçòü â èõ èíòåëëåêòóàë üíóþ êàðòî÷êó è íà÷èñëèòü ñåáå ïîáîëüøå äåíåã . Èíòåëëåêòóàëüíûå êàðòî÷êè - ýòî î÷åíü èíòåðåñíàÿ òåìà, íà êîòîðóþ íàïèñàíî ìíîæåñòâî ëèòåðàòóðû . Õîðîøåé îáçîðíîé ñòàòüåé ïî êðèïòîãðàôèè â èíòåëëåêòóàëüíûõ êàðòî÷êàõ ìîæåò ñëóæèòü [672]. Åæåãîäíî ïðîâîäÿòñÿ êîíôåðåíöèè: CARTES â îêòÿáðå â Ïàðèæå è CardTech â àïðåëå â Âàøèíãòîíå, îêðóã Êîëóìáèÿ. Òðóäû äâóõ äðóãèõ êîíôåðåíöèé ïî èíòåëëåêòóàëüíûì êàðòî÷êàì ìîæíî íàéòè â [342, 382].  îáëàñòè èíòåëëåêòóàëüíûõ êàðòî÷åê ñóùåñòâóþò ñîòíè ïàòåíòîâ , ÷àñòüþ ïðèíàäëåæàùèå åâðîïåéñêèì êîìïàíèÿì . Èíòåðåñíûå âîïðîñû áóäóùåãî èñïîëüçîâàíèÿ èíòåëëåêòóàëüíûõ êàðòî÷åê - ïðîâåðêà öåëîñòíîñòè, àóäèòîðñêèé êîíòðîëü, çàùèòà îò êîïèðîâàíèÿ, ýëåêòðîííûå íàëè÷íûå, îïëàòà ïî÷òîâûõ ðàñõîäîâ - îïèñàíû â [1628].
24.14 Ñòàíäàðòû êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè Ñòàíäàðòû êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè ( Public-Key Cryptography Standards , PKCS) - ýòî ïîïûòêà êîìïàíèè RSA Data Security, Inc îáåñïå÷èòü ïðîìûøëåííûé ñòàíäàðò äëÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè. Ïî òðàäèöèè òàêèìè äåëàìè çàíèìàëñÿ ANSI, íî, ó÷èòûâàÿ òåêóùóþ ñèòóàöèþ â êðèïòîãðàôè÷åñêîé ïîëèòèêå, RSADSI ðåøèëà, ÷òî ëó÷øå îíè âñå ñäåëàþò ñàìè . Ðàáîòàÿ ñî ìíîæåñòâîì êîìïàíèé, RSADSI ðàçðàáîòàëà íàáîð ñòàíäàðòîâ. Íåêîòîðûå èç íèõ ñîâìåñòèìû ñ äðóãèìè ñòàíäàðòàìè, à íåêîò îðûå - íåò. Ýòè ñòàíäàðòû íå ÿâëÿþòñÿ ñòàíäàðòàìè â îáùåïðèíÿòîì ñìûñëå ýòîãî ñëîâà, íèêòî íå ñîáèðàëñÿ è íå ãîë îñîâàë çà PKCS. Ïî ñâîèì ñîáñòâåííûì ñëîâàì RSADSI "áóäåò åäèíñòâåííîé îðãàíèçàöèåé, ïðàâîìî÷íîé ïð èíèìàòü ðåøåíèÿ î êàæäîì ñòàíäàðòå, è áóäåò ïåðåñìàòðèâàòü ýòè ñòàíäàðòû ïî ìåðå íåîáõîäèìîñòè " [803]. Äàæå ýòî óæå ñîâñåì. Åñëè âû íåóâåðåíû, êàêèå ñòðóêòóðû äàííûõ è ñèíòàêñèñ èñïîëüçîâàòü ïðè ïðîãðà ììèðîâàíèè êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè , ýòè ñòàíäàðòû íå õóæå êàêèõ-ëèáî äðóãèõ . Ê òîìó æå, òàê êàê ýòî íå íàñòîÿùèå ñòàíäàðòû, âû ìîæåòå ïîäñòðîèòü èõ ïîä ñâîè íóæäû . Äàëåå ïðèâåäåíî êðàòêîå îïèñàíèå êàæäîãî PKCS (PKCS #2 è PKCS #4 áûëè âêëþ÷åíû â PKCS #l). PKCS #l [1345] îïèñûâàåò ñïîñîá øèôðîâàíèÿ è äåøèôðèðîâàíèÿ RSA, ãëàâíûì îáðàçîì äëÿ ñîçäàíèÿ öè ôðîâûõ ïîäïèñåé è öèôðîâûõ êîíâåðòîâ, îïèñàííûõ â PKCS #7. Äëÿ öèôðîâûõ ïîäïèñåé ñîîáùåíèå õýøèðóåòñÿ, à çàòåì õýø-çíà÷åíèå øèôðóåòñÿ çàêðûòûì êëþ÷îì ïîäïèñûâàþùåãî . Ñîâìåñòíîå ïðåäñòàâëåíèå ñîîáùåíèÿ è õýø-çíà÷åíèÿ ïîäðîáíî îïèñàíî â in PKCS #7. Äëÿ öèôðîâûõ êîíâåðòîâ (øèôðîâàííûå ñîîáùåíèÿ) ñîîáùåíèå ñíà÷àëà øèôðóåòñÿ ñèììåòðè÷íûì àëãîðèòìîì, à çàòåì êëþ÷ ñîîáùåíèé øèôðóåòñÿ îòêðûòûì êëþ÷îì ïîëó÷ àòåëÿ. Ñîâìåñòíîå ïðåäñòàâëåíèå øèôðîâàííîãî ñîîáùåíèÿ è øèôðîâàííîãî êëþ÷à äîëæíî ñîîòâåòñòâîâàòü PKCS #7. Ýòè äâà ìåòîäà ñîâìåñòèìû ñî ñòàíäàðòàìè PEM. Äëÿ ñòðóêòóðû ñåðòèôèêàòîâ (èëè èõ ïîäîáèÿ) î òêðûòûõ è çàêðûòûõ êëþ÷åé RSA è òðåõ àëãîðèòìîâ ïîäïèñè - MD2 è RSA, MD4 è RSA, MD5 è RSA - PKCS #l òàêæå îïèñûâàåò ñèíòàêñèñ, èäåíòè÷íûé ñèíòàêñèñó X.509 è PEM. PKCS #3 [1346] îïèñûâàåò ñïîñîá ðåàëèçàöèè îáìåíà êëþ÷àìè ïî ñõåìå Diffie-Hellman. PKCS #5 [1347) îïèñûâàåò ñïîñîá øèôðîâàíèÿ ñîîáùåíèé ñåêðåòíûì êëþ÷îì, ïîëó÷åííûì èç ïàðîëÿ . Ñòàíäàðò èñïîëüçóåò MD2 èëè MD5 äëÿ ïîëó÷åíèÿ êëþ÷à èç ïàðîëÿ è øèôðóåò ñîîáùåíèÿ ñ ïîìîùüþ DES â ðåæèìå CBC. Ýòîò ìåòîä ïðåäíàçíà÷åí ãëàâíûì îáðàçîì äëÿ øèôðîâàíèÿ çàêðûòûõ êëþ÷åé ïðè èõ ïåðåäà÷å îò îäíîé êîìïüþòåðíîé ñèñòåìû äðóãîé, íî ìîæåò áûòü èñïîëüçîâàí è äëÿ øèôðîâàíèÿ ñîîáùåíèé . PKCS #6 [1348] îïèñûâàåò ñòàíäàðòíûé ñèíòàêñèñ ñåðòèôèêàòîâ îòêðûòûõ êëþ÷åé . Ñèíòàêñèñ ÿâëÿåòñÿ íàäìíîæåñòâîì ñåðòèôèêàòà X.509, ïðè íåîáõîäèìîñòè ìîæíî èçâëå÷ü è ñåðòèôèêàò X.509. Äîïîëíèòåëüíûå àòðèáóòû íå îãðàíè÷èâàþò ïðîöåññ ñåðòèôèêàöèè òîëüêî îòêðûòûì êëþ÷îì. Îíè ñîäåðæàò è äðóãóþ èíôîðì àöèþ, íàïðèìåð, àäðåñ ýëåêòðîííîé ïî÷òû . PKCS # 7 [1349] ïðåäñòàâëÿåò ñîáîé îáùèé ñèíòàêñèñ äëÿ ïîäïèñûâàåìûõ èëè øèôðóåìûõ äàííûõ, íàïð èìåð, öèôðîâûõ ïîäïèñåé èëè öèôðîâûõ êîíâåðòîâ . Ñèíòàêñèñ ÿâëÿåòñÿ ðåêóðñèâíûì, ïîýòîìó ìîæíî îðãàíèç îâàòü âëîæåííîñòü êîíâåðòîâ èëè ïîñòàâèòü ÷üþ-òî ïîäïèñü ïîä ðàíåå çàøèôðîâàííûìè äàííûìè . Ñèíòàêñèñ òàêæå ðàçðåøàåò âìåñòå ñ ñîäåðæàíèåì ñîîáùåíèÿ ïðîâåðêó ïîäëèííîñòè äðóãèõ àòðèáóòîâ, íàïðèìåð, ìåòîê
âðåìåíè. PKCS #7 ñ PEM, ïîýòîìó ïîäïèñàííûå è çàøèôðîâàííûå ñîîáùåíèÿ ìîãóò áûòü ïðåîáðàçîâàíû â ñ îîáùåíèÿ PEM, è íàîáîðîò, áåç äîïîëíèòåëüíûõ êðèïòîãðàôè÷åñêèõ îïåðàöèé . Äëÿ óïðàâëåíèÿ êëþ÷àìè ñ ïîìîùüþ ñåðòèôèêàòîâ PKCS #7 ìîæåò ïîääåðæèâàòü ìíîæåñòâî àðõèòåêòóð - îäíîé èç íèõ ÿâëÿåòñÿ PEM. PKCS #8 [1350] îïèñûâàåò ñèíòàêñèñ èíôîðìàöèè î çàêðûòûõ êëþ÷àõ, âêëþ÷àÿ çàêðûòûé êëþ÷ è íàáîð à òðèáóòîâ, è ñèíòàêñèñ øèôðîâàííûõ çàêðûòûõ êëþ÷åé . Äëÿ øèôðîâàíèÿ èíôîðìàöèè î çàêðûòûõ êëþ÷àõ ìîæíî èñïîëüçîâàòü PKCS #5. PKCS #9 [1351] îïðåäåëÿåò èçáðàííûå òèïû àòðèáóòîâ äëÿ ðàñøèðåííûõ ñåðòèôèêàòîâ PKCS #6, ñîîáùåíèé ñ öèôðîâîé ïîäïèñüþ PKCS #7 è èíôîðìàöèè î çàêðûòûõ êëþ÷àõ PKCS #8. PKCS #10 [1352,] îïèñûâàåò ñòàíäàðòíûé ñèíòàêñèñ çàïðîñîâ ñåðòèôèêàöèè . Ñåðòèôèêàöèÿ âêëþ÷àåò èíäèâèäóàëüíîå èìÿ, îòêðûòûé êëþ÷ è (íåîáÿçàòåëüíî) íàáîð àòðèáóòîâ , êîòîðûå ïîäïèñàíû ëèöîì, ïðèñëàâøèì çàïðîñ. Çàïðîñû ñåðòèôèêàöèè ïðèñûëàþòñÿ â ñåðòèôèöèðóþùèé îðãàí , êîòîðûé ïðåîáðàçóåò çàïðîñ ëèáî â ñåðòèôèêàò îòêðûòîãî êëþ÷à X.509, ëèáî â ñåðòèôèêàò PKCS #6. PKCS #11 [1353], Ñòàíäàðò API êðèïòîãðàôè÷åñêîé ìåòêè (Cryptographic Token API Standard ) , îïðåäåëÿåò èíòåðôåéñ ïðîãðàììèðîâàíèÿ, íàçûâàåìûé "Cryptoki", äëÿ ïîðòàòèâíûõ êðèïòîãðàôè÷åñêèõ óñòðîéñòâ âñåõ òèïîâ. Cryptoki ïðåäñòàâëÿåò ñîáîé îáîáùåííóþ ëîãè÷åñêóþ ìîäåëü , ïîçâîëÿþùóþ ïðèëîæåíèÿì âûïîëíÿòü êðèïòîãðàôè÷åñêèå îïåðàöèè íà ïîðòàòèâíûõ óñòðîéñòâàõ, íå çíàÿ äåòàëåé èñïîëüçóåìîé òåõíîëîãèè . Ýòîò ñòàíäàðò òàêæå îïðåäåëÿåò ïðîôèëè ïðèëîæåíèÿ : íàáîðû àëãîðèòìîâ, êîòîðûå ìîæåò ïîääåðæèâàòü óñòðîéñòâî . PKCS #12 [1354] îïèñûâàåò ñèíòàêñèñ õðàíåíèÿ â ïðîãðàììíîì îáåñïå÷åíèè îòêðûòûõ êëþ÷åé ïîëüçîâàò åëåé, çàùèùåííûõ çàêðûòûõ êëþ÷åé, ñåðòèôèêàòîâ è äðóãîé ñâÿçàííîé êðèïòîãðàôè÷åñêîé èíôîðìàöèè . Öåëüþ ýòîãî ÿâëÿåòñÿ ñòàíäàðòèçàöèÿ åäèíîãî ôàëà êëþ÷åé, èñïîëüçóåìîãî ìíîãèìè ïðèëîæåíèÿìè . Ýòè ñòàíäàðòû âñåñòîðîííè, íî íå âñåîáúåìëþùè . Ìíîãèå âîïðîñû îñòàëèñü çà ïðåäåëàìè ýòèõ ñòàíäàðòîâ : ïðîáëåìà ïðèñâîåíèÿ èìåí, íåêðèïòîãðàôè÷åñêèå âîïðîñû, êàñàþùèåñÿ ñåðòèôèêàöèè, äëèíû êëþ÷åé è óñë îâèÿ äëÿ ðàçëè÷íûõ ïàðàìåòðîâ . PKCS ïðèçâàíû îáåñïå÷èòü ôîðìàò ïåðåäà÷è äàííûõ, îñíîâàííîé íà êðèïò îãðàôèè ñ îòêðûòûìè êëþ÷àìè, è èíôðàñòðóêòóðó, ïîääåðæèâàþùóþ òàêóþ ïåðåäà÷ó .
24.15 Óíèâåðñàëüíàÿ ñèñòåìà ýëåêòðîííûõ ïëàòåæåé Óíèâåðñàëüíàÿ ñèñòåìà ýëåêòðîííûõ ïëàòåæåé ( Universal Electronic Payment System , UEPS) ïðåäñòàâëÿåò ñîáîé áàíêîâñêîå ïðèëîæåíèå, èñïîëüçóþùåå èíòåëëåêòóàëüíûå êàðòî÷êè, ïåðâîíà÷àëüíî ðàçðàáîòàííîå äëÿ ñåëüñêîé Þæíîé Àôðèêè, íî ïîçäíåå ïðèíÿòîå îñíîâíûìè áàíêîâñêèìè ãðóïïàìè ýòîé ñòðàíû . Ê íà÷àëó 1995 ãîäà â ÞÀÐ áûëî âûïóùåíî îêîëî 2 ìèëëèîíîâ êàðòî÷åê . Ýòà ñèñòåìà òàêæå ïðèíÿòà â Íàìèáèè, è ðàçâåðò ûâàåòñÿ ïî êðàéíåé ìåðå îäíèì ðîññèéñêèì áàíêîì . Ñèñòåìà ïîçâîëÿåò èñïîëüçîâàòü áåçîïàñíûå äåáèòíûå êàðòî÷êè, ïîäõîäÿùèå äëÿ ðåãèîíîâ, â êîòîðûõ ïë îõàÿ òåëåôîííàÿ ñåòü äåëàåò íåâîçìîæíîé äèàëîãîâóþ ïðîâåðêó . Êàðòî÷êè åñòü è ïîêóïàòåëåé, è ó ïðîäàâöîâ, ïîêóïàòåëè ìîãóò èñïîëüçîâàòü ñâîè êàðòî÷êè äëÿ ïåðåâîäà äåíåã ïðîäàâöàì . Ïðîäàâåö ìîæåò âîñïîëüçîâàòüñÿ ñâîåé êàðòî÷êîé, ÷òîáû ïîçâîíèòü â áàíê è ïîìåñòèòü äåíüãè íà ñâîé áàíêîâñêèé ñ÷åò, ïîêóïàòåëü ìîæåò âî ñïîëüçîâàòüñÿ ñâîåé êàðòî÷êîé, ÷òîáû ïîçâîíèòü â áàíê è ïåðåâåñòè äåíüãè íà ñâîþ êàðòî÷êó . Íåò íåîáõîäèìîñòè çàáîòèòüñÿ îá àíîíèìíîñòè, íóæíî îáåñïå÷èòü òîëüêî çàùèòó îò ìîøåííè÷åñòâà . Âîò êàê âûãëÿäèò ïðîòîêîë ñâÿçè ìåæäó ïîêóïàòåëåì Àëèñîé è ïðîäàâöîì Áîáîì ( äåéñòâèòåëüíîñòè, Àëèñà è Áîá ïðîñòî âñòàâëÿþò ñâîè êàðòî÷êè â ìàøèíó è îæèäàþò âûïîëíåíèÿ òðàíçàêöèè .) Êîãäà Àëèñà âïåðâûå ïîëó÷àåò ñâîþ êàðòî÷êó, îíà ïîëó÷àåò è ïàðó êëþ÷åé, K1 è K2, áàíê âû÷èñëÿåò èõ, èñïîëüçóÿ åå èìÿ è íåêîò îðóþ ñåêðåòíóþ ôóíêöèþ. Òîëüêî â êàðòî÷êè ïðîäàâöîâ âñòðîåíû ñåêðåòíûå ñðåäñòâà, íåîáõîäèìûå äëÿ âû÷è ñëåíèÿ êëþ÷åé ïîëüçîâàòåëåé. (1) Àëèñà ïîñûëàåò Áîáó ñâîå èìÿ, A, åãî èìÿ, B, è ñëó÷àéíîå ÷èñëî RA, øèôðóÿ èõ ñ ïîìîùüþ DES: ñíà÷àëà êëþ÷îì K2, çàòåì K1. Îíà òàêæå ïîñûëàåò ñâîå èìÿ îòêðûòûì òåêñòîì . A, E K ( E K (A,B,RA)) 1
2
(2) Áîá âû÷èñëÿåò K1 è K2 ïî èìåíè Àëèñû. Îí ðàñøèôðîâûâàåò ñîîáùåíèå, óáåæäàåòñÿ, ÷òî A è B ïðàâèëüíû, çàòåì øèôðóåò íåçàøèôðîâàííóþ âòîðóþ ïîëîâèíó ñîîáùåíèÿ Àëèñû êëþ÷îì K2.
E K2 (A,B,RA) Áîá íå ïîñûëàåò ýòî ñîîáùåíèå Àëèñå, 56 áèòîâ øèôðîòåêñòà ñòàíîâÿòñÿ êëþ÷îì K3. Áîá ïîñûëàåò Àëèñå ñâîå èìÿ, åå èìÿ è ñëó÷àéíîå ÷èñëî, RB, øèôðóÿ èõ ñ ïîìîùüþ DES: ñíà÷àëà êëþ÷îì K3, çàòåì K1.
E K1 ( E K 3 (B,A,RÂ)) (3) Àëèñà àíàëîãè÷íûì îáðàçîì âû÷èñëÿåò K3 è ðàñøèôðîâûâàåò ñîîáùåíèå Áîáà , óáåæäàÿñü, ÷òî A è B ïðà-
âèëüíû, çàòåì øèôðóåò íåçàøèôðîâàííóþ âòîðóþ ïîëîâèíó ñîîáùåíèÿ Áîáà êëþ÷îì K3.
E K 3 (B,A,RÂ) Àëèñà íå ïîñûëàåò ýòî ñîîáùåíèå Áîáó, 56 áèòîâ øèôðîòåêñòà ñòàíîâÿòñÿ êëþ÷îì K4. Çàòåì Àëèñà ïîñûëàåò Áîáó ñâîå èìÿ, åãî èìÿ ïðîâåðî÷íîå çíà÷åíèå C. Ýòî ïðîâåðî÷íîå çíà÷åíèå ñîäåðæèò èìåíà îòïð àâèòåëÿ è ïîëó÷àòåëÿ, äàòó, êîíòðîëüíóþ ñóììó, êîëè÷åñòâî è äâà MAC. Âñå ýòî øèôðóåòñÿ DES: ñíà÷àëà êëþ÷îì K4, çàòåì K1. Îäèí èç MAC ìîæåò áûòü ïðîâåðåí áàíêîì Àëèñû , à âòîðîé ìîæåò áûòü ïðîâåðåí òîëüêî ðàñ÷åòíî-êàññîâûì öåíòðîì . Àëèñà óìåíüøàåò ñâîé ñ÷åò íà ñîîòâåòñòâóþùåå çíà÷åíèå .
E K1 ( E K4 (A,B,Ñ)) (4) Áîá àíàëîãè÷íûì îáðàçîì âû÷èñëÿåò K4. Ïðè óñëîâèè, ÷òî âñå èìåíà ñîâïàäàþò, è ïðàâèëüíî âûïîëíåíà ïðîâåðêà, îí ïðèíèìàåò ïëàòåæ . Âåëèêîëåïíûì íîâîââåäåíèåì â ýòîì ïðîòîêîëå ÿâëÿåòñÿ òî, ÷òî êàæäîå ñîîáùåíèå çàâèñèò îò ïðåäûäóùåãî . Êàæäîå ñîîáùåíèå âûñòóïàåò óäîñòîâåðåíèåì âñåõ ïðåäûäóùèõ ñîîáùåíèé. Ýòî îçíà÷àåò, ÷òî ïîâòîðèòü ñòàðîå ñîîáùåíèå íèêîìó íå óäàñòñÿ, ïîëó÷àòåëü ïðîñòî íèêîãäà íå ðàñøèôðóåò åãî . Ìíå íðàâèòñÿ ýòà èäåÿ, è ÿ óâåðåí, ÷òî îíà ïîëó÷èò øèðîêîå ïðèìåíåíèå, êàê òîëüêî ñòàíåò øèðîêî èçâåñ òíà. Äðóãîé ðàçóìíîé âåùüþ â ýòîì ïðîòîêîëå - íàâÿçûâàíèå ïðàâèëüíîé ðåàëèçàöèè . Åñëè ðàçðàáîò÷èê ïðèëîæåíèÿ íåïðàâèëüíî ðåàëèçóåò ïð îòîêîë, îí ïðîñòî íå áóäåò ðàáîòàòü . Îáå êàðòî÷êè ñîõðàíÿþò çàïèñè êàæäîé òðàíçàêöèè . Êîãäà êàðòî÷êè ðàíî èëè ïîçäíî óñòàíîâÿò äèàëîãîâîå ñîåäèíåíèå ñ áàíêîì (ïðîäàâåö - ïîëîæèòü äåíüãè íà ñ÷åò, à ïîêóïàòåëü - ñíÿòü ñî ñ÷åòà), áàíê èçâëå÷åò ýòè ç àïèñè äëÿ ïîñëåäóþùåãî êîíòðîëÿ . Àïïàðàòóðà èçãîòàâëèâàåòñÿ óñòîé÷èâîé ê âçëîìó, ÷òîáû ïîìåøàòü ëþáîìó èç ó÷àñòíèêîâ èñïîðòèòü äà ííûå. Àëèñà íå ñìîæåò èçìåíèòü çíà÷åíèå ñâîåé êàðòî÷êè . Ïîäðîáíàÿ çàïèñü îáåñïå÷èâàåò äàííûå äëÿ îáíàð óæåíèÿ è çàïðåùåíèÿ ìîøåííè÷åñêèõ òðàíçàêöèé .  êàðòî÷êàõ èñïîëüçóþòñÿ óíèâåðñàëüíûå ñåêðåòû - êëþ÷è MAC â êàðòî÷êàõ ïîêóïàòåëåé, ôóíêöèè äëÿ ïðåîáðàçîâàíèÿ èìåí ïîëüçîâàòåëåé â K1 è K2 - íî ñ÷èòàåòñÿ, ÷òî ðåøåíèå îáðàòíîé çàäà÷è äëÿ ýòèõ ñåêðåòîâ äîñòàòî ÷íî òðóäíî. Ýòà ñõåìà, êîíå÷íî æå, íåñîâåðøåííà, íî îíà áåçîïàñíåå áóìàæíûõ ÷åêîâ è îáû÷íûõ äåáèòíûõ êàðòî÷åê . Èñòî÷íèêîì óãðîçû ìîøåííè÷åñòâà ÿâëÿþòñÿ íå âîåííûå âðàãè, à ïîêóïàòåëè è ïðîäàâöû . UEPS ïðåäîñòàâëÿåò çàùèòó îò òàêèõ çëîóïîòðåáëåíèé . Îáìåí ñîîáùåíèÿ ÿâëÿåòñÿ ïðåêðàñíûì ïðèìåðîì óñòîé÷èâîãî ïðîòîêîëà:  êàæäîì ñîîáùåíèè ïðèñóòñòâóþ èìåíà îáåèõ ñòîðîí, âêëþ÷àÿ èíôîðìàöèþ, óíèêàëüíóþ äëÿ ñîîáùåíèÿ, êàæäîå ñîîáùåíèå ÿâíûì îáðàçîì çàâèñèò îò âñåõ ïðåäûäóùèõ.
24.16 CLIPPER Ìèêðîñõåìà Clipper (èçâåñòíàÿ òàêæå êàê MYK-78T) - ýòî ðàçðàáîòàííàÿ â NSA, óñòîé÷èâàÿ ê âçëîìó ìèêðîñõåìà, ïðåäíàçíà÷åííàÿ äëÿ øèôðîâàíèÿ ïåðåãîâîðîâ ãîëîñîì. Ýòî îäíà èç äâóõ ñõåì, ðåàëèçóþùèõ ïðàâ èòåëüñòâåííûé Ñòàíäàðò óñëîâíîãî øèôðîâàíèÿ (Escrowed Encryption Standard, EES) [1153]. VLSI Technologies, Inc. èçãîòîâèëà ìèêðîñõåìó, à Mykotronx, Inc. çàïðîãðàììèðîâàëà åå. Ñíà÷àëà âñå ìèêðîñõåìû Clipper áóäóò âõîäèòü â Áåçîïàñíîå òåëåôîííîå óñòðîéñòâî Model 3600 AT&T (ñì. ðàçäåë 24.18). Ìèêðîñõåìà ðåàëèçóåò àëãîðèòì øèôðîâàíèÿ Skipjack (ñì. ðàçäåë 13.12,), ðàçðàáîòàííûé NSA ñåêðåòíûé àëãîðèòì ñ øèôðîâàíèåì ñå êðåòíûì êëþ÷îì, òîëüêî â ðåæèìå OFB. Ñàìûì ïðîòèâîðå÷èâûì ìîìåíòîì ìèêðîñõåìû Clipper, è EES â öåëîì, ÿâëÿåòñÿ ïðîòîêîë óñëîâíîãî âðó÷ åíèÿ êëþ÷åé (ñì. ðàçäåë 4.14). Ó êàæäîé ìèêðîñõåìû åñòü ñïåöèàëüíûé, íåíóæíûé äëÿ ñîîáùåíèé, êëþ÷ . Ýòîò êëþ÷ èñïîëüçóåòñÿ äëÿ øèôðîâàíèÿ êîïèè êëþ÷à ñîîáùåíèé êàæäîãî ïîëüçîâàòåëÿ .  õîäå ïðîöåññà ñèíõðîíèçàöèè ïåðåäàþùàÿ ìèêðîñõåìà Clipper ãåíåðèðóåò è ïîñûëàåò ïðèíèìàþùåé Ïîëå äîñòóïà äëÿ âûïîëíåíèÿ ç àêîíà (Law Enforcement Access Field, LEAF). LEAF ñîäåðæèò êîïèþ òåêóùåãî ñåàíñîâîãî êëþ÷à, çàøèôðîâàíí îãî ñïåöèàëüíûì êëþ÷îì (íàçûâàåìûì êëþ÷îì ìîäóëÿ). Ýòî ïîçâîëÿåò ïðàâèòåëüñòâåííûì ïðîñëóøèâàòåëÿì ïîëó÷èòü ñåàíñîâûé êëþ÷ è ðàñêðûòü îòêðûòûé òåêñò ðàçãîâîðà . Ïî ñëîâàì äèðåêòîðà NIST [812]: Ïðåäóñìàòðèâàåòñÿ, ÷òî ñèñòåìà "ñ óñëîâíî âðó÷åííûì êëþ÷îì" îáåñïå÷èò èñïîëüçîâàíèå ìèêðîñõåìû Clipper äëÿ çàùèòû çàêîíîïîñëóøíûõ àìåðèêàíöåâ .  êàæäîì óñòðîéñòâå, ñîäåðæàùåì ìèêðîñõåìó áóäåò äâà óíèêàëüíûõ "êëþ÷à", äâà ÷èñëà, êîòîðûå ïîíàäîáÿòñÿ óïîëíîìî÷åííûì ïðàâèòåëüñòâåííûì îðãàíàì äëÿ ä åøèôðèðîâàíèÿ ñîîáùåíèé, çàøèôðîâàííûõ óñòðîéñòâîì . Ïðè èçãîòîâëåíèè óñòðîéñòâà îáà êëþ÷à áóäóò ïîì åùåíû ïîðîçíü â äâóõ áàçàõ äàííûõ " óñëîâíî âðó÷åííûõ êëþ÷åé", êîíòðîëèðóåìûõ Ãåíåðàëüíûì ïðîêóðîðîì . Äîñòóï ê ýòèì êëþ÷àì áóäåò ðàçðåøåí òîëüêî ïðàâèòåëüñòâåííûì ÷èíîâíèêàì ñ çàêîííûì ðàçðåøåíèåì ïî äêëþ÷èòü ïîäñëóøèâàþùåå óñòðîéñòâî .
Ïðàâèòåëüñòâî òàêæå ñîáèðàåòñÿ ïîîùðÿòü øèðîêîå ðàñïðîñòðàíåíèå òàêèõ òåëåôîííûõ àïïàðàòîâ, íî íèêòî íå çíàåò, ÷òî ìîæåò ïðîèçîéòè ñ á àçàìè äàííûõ óñëîâíî âðó÷åííûõ êëþ÷åé . Ïîìèìî ïîëèòè÷åñêèõ àñïåêòîâ, ñòîèò ïîãîâîðèòü è î âíóòðåííåé ñòðóêòóðå LEAF [812, 1154, 1594, 459, 107, 462]. LEAF - ýòî ñòðîêà, âêëþ÷àþùàÿ äîñòàòî÷íî èíôîðìàöèè, ÷òîáû ïðè îáåñïå÷åíèè ïðàâîïîðÿäêà ìîæíî áûëî ðàñêðûòü ñåàíñîâûé êëþ÷ Ks ïðè óñëîâèè, ÷òî äâà óñëîâíî ïîëó÷èâøèõ êëþ÷è ó÷ðåæäåíèÿ áóäóò äåéñòâîâàòü ñîîáùà. LEAF ñîäåðæèò 32-áèòîâûé èäåíòèôèêàòîð ìîäóëÿ U, óíèêàëüíûé äëÿ êàæäîé ìèêðîñõ åìû Clipper. Îíî òàêæå ñîäåðæèò òåêóùèé 80-áèòîâûé ñåàíñîâûé êëþ÷, çàøèôðîâàííûé óíèêàëüíûì êëþ÷îì ìîäóëÿ ìèêðîñõåìû KU, è 16-áèòîâóþ êîíòðîëüíóþ ñóììó C, íàçûâàåìóþ èäåíòèôèêàòîðîì óñëîâíîãî âðó÷ åíèÿ. Êîíòðîëüíàÿ ñóììà ïðåäñòàâëÿåò ñîáîé ôóíêöèþ ñåàíñîâîãî êëþ÷à, IV è âîçìîæíî äðóãîé èíôîðìàöèè . Ýòè òðè ïîëÿ øèôðóþòñÿ ôèêñèðîâàííûì îáùèì êëþ÷îì KF, îáùèì äëÿ âñåõ âçàèìîäåéñòâóþùèõ ìèêðîñõåì Clipper. Îáùèé êëþ÷, èñïîëüçóåìûå ðåæèìû øèôðîâàíèÿ, äåòàëè êîíòðîëüíîé ñóììû è òî÷íàÿ ñòðóêòóðà LEAF çàñåêðå÷åíû. Âîçìîæíî ýòî ïîëå ïîõîæå íà ÷òî-òî ïîäîáíîå :
E KF ( E KU ( K s ,U , C)) KU ââîäèòñÿ â ìèêðîñõåìû Clipper ïðè èçãîòîâëåíèè. Ýòîò êëþ÷ çàòåì ðàçäåëÿåòñÿ (ñì. ðàçäåë 3.5) è õðàíèòñÿ â äâóõ áàçàõ äàííûõ óñëîâíî âðó÷åííûõ êëþ÷åé , îõðàíÿåìûõ äâóìÿ ðàçëè÷íûìè ó÷ðåæäåíèÿìè . ×òîáû Åâà ìîãëà èçâëå÷ü Ks èç LEAF, îíà äîëæíà ñíà÷àëà ðàñøèôðîâàòü LEAF êëþ÷îì KF è ïîëó÷èòü U. Çàòåì îíà äîëæíà ïîëó÷èòü ïîñòàíîâëåíèå ñóäà äëÿ êàæäîãî èç ó÷ðåæäåíèé óñëîâíîãî âðó÷åíèÿ, êàæäîå èç ê îòîðûõ âîçâðàùàåò ïîëîâèíó KU äëÿ äàííîãî U. Åâà âûïîëíÿåò XOR îáåèõ ïîëîâèí è ïîëó÷àåò KU, çàòåì îíà èñïîëüçóåò KU äëÿ ïîëó÷åíèÿ Ks, è Ks - äëÿ ïîäñëóøèâàíèÿ ðàçãîâîðà. Êîíòðîëüíàÿ ñóììà äîëæíà ïîìåøàòü íàðóøåíèþ ýòîé ñõåìû, ïðèíèìàþùàÿ ìèêðîñõåìà Clipper íå ìîæåò âûïîëíèòü äåøèôðèðîâàíèå, åñëè êîíòðîëüíàÿ ñóììà íåïðàâèëüíà . Îäíàêî ñóùåñòâóåò ëèøü 2 16 âîçìîæíûõ çíà÷åíèé êîíòðîëüíîé ñóììû, è ôàëüøèâîå LEAF ñ ïðàâèëüíîé êîíòðîëüíîé ñóììîé, íî íåïðàâèëüíûì êë þ÷îì, ìîæåò áûòü íàéäåíî ïðèìåðíî çà 42 ìèíóòû [187]. Íî ýòî íå î÷åíü ïîìîæåò ïîäñëóøàòü ðàçãîâîð, âåä óùèéñÿ ñ ïîìîùüþ Clipper. Òàê êàê ïðîòîêîë îáìåíà êëþ÷àìè íå ÿâëÿåòñÿ ÷àñòüþ ìèêðîñõåìû Clipper, 42ìèíóòíîå âñêðûòèå ãðóáîé ñèëîé äîëæíî áûòü âûïîëíåíî ïîñëå îáìåíà êëþ÷àìè, îíî íå ìîæåò áûòü âûïîëí åíî äî òåëåôîííîãî çâîíêà. Òàêîå âñêðûòèå ìîæåò ðàáîòàòü ïðè ïåðåäà÷å ôàêñîâ èëè ïðè èñïîëüçîâàíèè êàðòî ÷êè Fortezza (ñì. ðàçäåë 24.17). Ïðåäïîëîæèòåëüíî ìèêðîñõåìà Clipper äîëæíà ïðîòèâîñòîÿòü èíæåíåðíîìó âñêðûòèþ, âûïîëíåííîìó "èçîùðåííûì, õîðîøî" [1154], íî ïî ñëóõàì â Sandia National Laboratories óñïåøíî ïðîâåëè èññëåäîâàíèå î äíîé èç ìèêðîñõåì. Äàæå åñëè ýòè ñëóõè ëîæíû, ÿ ïîäîçðåâàþ, ÷òî ñàìûì êðóïíûì ìèðîâûì ïðîèçâîäèòåëÿì òàêîå èíæåíåðíîå âñêðûòèå âïîëíå ïî ñèëàì, è åãî ñðîê ÿâëÿåòñÿ òîëüêî âîïðîñîì ðåñóðñîâ è ìîðàëè . Ñ ýòîé òåìîé ñâÿçàíî ìíîæåñòâî âîïðîñîâ î òàéíå ëè÷íîñòè . Ìíîãî÷èñëåííûå ãðóïïû çàùèòû ãðàæäàíñêèõ ñâîáîä âåäóò àêòèâíóþ êîìïàíèþ ïðîòèâ ëþáîãî ìåõàíèçìà óñëîâíîãî âðó÷åíèÿ êëþ÷åé, êîòîðûé äàñò ïðàâ èòåëüñòâó ïðàâî ïîäñëóøèâàòü ãðàæäàí . Âñÿ ïîäëîñòü â òîì, ÷òî, õîäÿ ýòà ñõåìà íèêîãäà íå ïðîõîäèëà ÷åðåç Êîíãðåññ, NIST îïóáëèêîâàë EES â êà÷åñòâå FIPS [1153], îáîéäÿ áîëåçíåííûé çàêîíîäàòåëüíûé ïðîöåññ. Ñåé÷àñ âñå âûãëÿäèò, êàê åñëè áû EES òèõî è ìåäëåííî óìèðàë, íî ñòàíäàðòû ñïîñîáíû ïðîäîëæàòü ñâîþ ïîëçó÷óþ äåÿòåëüíîñòü.  22-é ïåðå÷èñëåíû ðàçëè÷íûå îðãàíèçàöèè, ó÷àñòâóþùèå â ýòîé ïðîãðàììå . Êàê íàñ÷åò èäåè, ÷òîáû îáà ó÷ðåæäåíèÿ óñëîâíîãî âðó÷åíèÿ îòíîñèëèñü òîëüêî ê èñïîëíèòåëüíîé âåòâè âëàñòè? ×òî âû ñêàæåòå îá ó÷ðå æäåíèÿõ óñëîâíîãî âðó÷åíèÿ, êîòîðûå ïî ñóòè íè÷åãî íå çíàþò î çàÿâêàõ íà ïîäñëóøèâàíèå è ìîãóò òîëüêî ñëåïî îäîáðÿòü èõ? È ÷òî íàñ÷åò èäåå î ïðèíÿòèè ïðàâèòåëüñòâîì ñåêðåòíîãî àëãîðèòìà â êà÷åñòâå êîììåð÷åñêîãî ñòàíäàðòà? Òàáë. 24-2. Îðãàíèçàöèè, ó÷àñòâóþùèå â --5. Ìèíèñòåðñòâî þñòèöèè - Ñïîíñîð ñèñòåìû, âëàäåëåö îáùåãî êëþ÷à NIST - Ðóêîâîäñòâî ïðîãðàììîé, õðàíèòåëü óñëîâíî âðó÷åííîé ÷àñòè êëþ÷à FBI - Ïîëüçîâàòåëü-äåøèôðîâùèê, âëàäåëåö îáùåãî êëþ÷à Ìèíèñòåðñòâî ôèíàíñîâ - Õðàíèòåëü óñëîâíî âðó÷åííîé ÷àñòè êëþ÷à NSA - Ðàçðàáîò÷èê ïðîãðàììû  ëþáîì ñëó÷àå, èñïîëüçîâàíèå Clipper ïîðîäèò íåìàëî ïðîáëåì ïðè îáðàùåíèè â ñóä . Íå çàáûâàéòå, Clipper ðàáîòàåò òîëüêî â ðåæèìå OFB. ×òî áû âàì èíîå íå ãîâîðèëè, ýòîò ðåæèì íå îáåñïå÷èâàåò öåëîñòíîñòè èëè ïðîâåðêå ïîäëèííîñòè. Ïðåäïîëîæèì, ÷òî Àëèñà ïðåäñòàëà ïåðåä ñóäîì, è ÷àñòüþ äîêàçàòåëüñòâ ÿâëÿåòñÿ òåë åôîííûé ðàçãîâîð, çàøèôðîâàííûé ìèêðîñõåìîé Clipper. Àëèñà óòâåðæäàåò, ÷òî îíà íèêîãäà íå çâîíèëà, è ãîëîñ - íå åå. Àëãîðèòì ñæàòèÿ ðå÷è íàñòîëüêî ïëîõ, ÷òî îïîçíàòü ãîëîñ Àëèñû òðóäíî , íî îáâèíåíèå óòâåðæäàåò, ÷òî, òàê êàê ðàñøèôðîâàòü ðàçãîâîð ìîæíî òîëüêî ñ ïîìîùüþ óñëîâíî âðó÷åííîãî êëþ÷à Àëèñû, ýòîò çâîíîê áûë
ñäåëàí ñ åå òåëåôîíà. Àëèñà çàÿâëÿåò, ÷òî ðàçãîâîð áûë ïîääåëàí â ñîîòâåòñòâèè ñ [984, 1339]: äàíû øèôðîòåêñò è îòêðûòûé òåêñò, îáúåäèíèâ èõ ñ ïîìîùüþ XOR, ìîæíî ïîëó÷èòü êëþ÷åâîé ïîòîê . Çàòåì ýòîò êëþ÷åâîé ïîòîê ìîæíî îá úåäèíèòü ñ ïîìîùüþ XOR ñ àáñîëþòíî äðóãèì îòêðûòûì òåêñòîì, ïîëó÷àÿ ôàëüøèâûé øèôðîòåêñò, êîòîðûé çàòåì ìîæåò áûòü ïðåîáðàçîâàí â ôàëüøèâûé îòêðûòûé òåêñò, êîòîðûé ïîäàåòñÿ íà äåøèôðàòîð ìèêðîñõåìû . Ïðàâäèâ îí èëè íåò, ýòîò äîâîä ìîæåò ëåãêî ïîñåÿòü ñîìíåíèå â æþðè ïðèñÿæíûõ, êîòîðûå íå ñî÷òóò òåëåôî ííûé ðàçãîâîð äîêàçàòåëüñòâîì. Äðóãîé ñïîñîá âñêðûòèÿ, íàçûâàåìûé Âòèñêèâàíèåì ( Squeeze), ïîçâîëÿåò Àëèñå âûäàòü ñåáÿ çà Áîáà. Âîò êàê ýòî ïðîèñõîäèò [575]: Àëèñà çâîíèò Áîáó, èñïîëüçóÿ Clipper. Îíà ñîõðàíÿåò êîïèþ åãî LEAF âìåñòå ñ ñåàíñîâûì êëþ÷îì. Çàòåì îíà çâîíèò Êýðîë (ïðî êîòîðóþ èçâåñòíî, ÷òî åå ïîäñëóøèâàþò ). Ïðè óñòàíîâêå êëþ÷à Àëèñà äåëàåò ñåàíñîâûé êëþ÷ èäåíòè÷íûì òîìó, êîòîðûé îíà èñïîëüçîâàëà äëÿ ðàçãîâîðà ñ Áîáîì. Äëÿ ýòîãî ïîòðåáóåòñÿ âçëîìàòü òåëåôîí, íî ýòî íåòðóäíî . Çàòåì âìåñòî òîãî, ÷òîáû ïîñëàòü ñâîå LEAF, îíà ïîñûëàåò LEAF Áîáà. Ýòî ïðàâèëüíîå LEAF, ïîýòîìó òåëåôîí Êýðîë íè÷åãî íå çàìåòèò. Òåïåðü îíà ìîæåò ãîâîðèòü Êýðîë âñå, ÷òî çàõî÷åò - êîãäà ïîëèöèÿ ðàñøèôðóåò LEAF, îíà îáíàðóæèò, ÷òî îíî ïðèíàäëåæèò Áîáó . Äàæå åñëè Àëèñå íå óäàñòñÿ âûäàòü ñåáÿ çà Áîáà, åìó ïðèäåòñÿ äîêàçûâàòü ñâîþ íåâèíîâíîñòü â ñóäå, ÷òî âïîëíå ìîæåò îïðàâäàòü ïðèìåíåíèå ïîäîáíîé ñõåìû. Îðãàíû îõðàíû ïðàâîïîðÿäêà Ñîåäèíåííûõ Øòàòîâ íå äîëæíû òðàòèòü ñâîå âðåìÿ, çàíèìàÿñü ñáîðîì è íôîðìàöèè â óãîëîâíûõ ðàññëåäîâàíèÿõ, êîòîðóþ íåëüçÿ èñïîëüçîâàòü â ñóäå . Äàæå åñëè óñëîâíîå âðó÷åíèå êëþ÷åé è ÿâëÿëîñü áû íåïëîõîé èäååé, Clipper - ýòî íå ëó÷øèé ñïîñîá ðåàëèçàöèè ýòîé èäåè .
24.17 CAPSTONE Capstone (èçâåñòíûé òàêæå êàê MYK-80) - ýòî äðóãàÿ ðàçðàáîòàííàÿ NSA ÑÁÈÑ, ðåàëèçóþùàÿ Ñòàíäàðò ó ñëîâíîãî øèôðîâàíèÿ ïðàâèòåëüñòâà ÑØÀ [1153]. Capstone ðåàëèçóåò ñëåäóþùèå ôóíêöèè [1155, 462]: Àëãîðèòì Skipjack â ëþáîì èç ÷åòûðåõ îñíîâíûõ ðåæèìîâ : ECB, CBC, CFB è OFB. Àëãîðèòì îáìåíà êëþ÷àìè (Key Exchange Algorithm, KEA) íà áàçå îòêðûòûõ êëþ÷åé, ñêîðåå âñåãî Diffie-Hellman. Àëãîðèòì öèôðîâîé ïîäïèñè (Digital Signature Algorithm, DSA). * Àëãîðèòì áåçîïàñíîãî õýøèðîâàíèÿ (Secure Hash Algorithm, SHA). j Àëãîðèòì âîçâåäåíèÿ â ñòåïåíü äëÿ îáùåãî íàçíà÷åíèÿ . Ãåíåðàòîð ñëó÷àéíûõ ÷èñåë ñ èñïîëüçîâàíèåì èñòèííî øóìîâîãî èñòî÷íèêà . Capstone îáåñïå÷èâàåò êðèïòîãðàôè÷åñêèå âîçìîæíîñòè, íåîáõîäèìûå äëÿ áåçîïàñíîé ýëåêòðîííîé òîðãîâëè è äðóãèõ êîìïüþòåðíûõ ïðèëîæåíèé . Ïåðâûì ïðèìåíåíèåì Capstone ÿâëÿåòñÿ êàðòî÷êà PCMCIA, íàçâàííàÿ Fortezza. (Ñíà÷àëà îíà íàçûâàëàñü Tessera, ïîêà íà ýòî íå ïîæàëîâàëàñü êîìïàíèÿ Tessera, Inc..) NSA èçó÷èëî âîçìîæíîñòü óäëèíåíèÿ êîíòðîëüíîé ñóììû LEAF â Capstone â âåðñèÿõ äëÿ êàðòî÷åê äëÿ òîãî, ÷òîáû ïîìåøàòü ðàíåå ðàññìîòðåííîìó âñêðûòèþ LEAF. Âìåñòî ýòîãî áûëà äîáàâëåíà âîçìîæíîñòü âûïîëíÿòü ïåðåçàïóñê êàðòî÷êè ïîñëå 10 íåïðàâèëüíûõ LEAF. Ìåíÿ ýòî íå âïå÷àòëèëî - âðåìÿ ïîèñêà ïðàâèëüíîãî LEAF òîëüêî íà 10 ïðîöåíòîâ, äî 46 ìèíóò.
24.18 Áåçîïàñíûé òåëåôîí AT&T MODEL 3600 TELEPHONE SECURITY DEVICE
(TSD)
Áåçîïàñíûé òåëåôîí AT&T (Telephone Security Device, TSD) - ýòî òåëåôîí ñ ìèêðîñõåìîé Clipper. Íà ñàìîì äåëå ñóùåñòâóåò ÷åòûðå ìîäåëè TSD. Îäíà ñîäåðæèò ìèêðîñõåìó Clipper, äðóãàÿ - ýêñïîðòèðóåìûé ôèðìåííûé àëãîðèòì øèôðîâàíèÿ AT&T òðåòüÿ - ôèðìåííûé àëãîðèòì äëÿ èñïîëüçîâàíèÿ âíóòðè ñòðàíû ïëþñ ýêñïîðò èðóåìûé àëãîðèòì, à ÷åòâåðòàÿ âêëþ÷àåò Clipper, âíóòðåííèé è ýêñïîðòèðóåìûé àëãîðèòìû . Äëÿ êàæäîãî òåëåôîííîãî çâîíêà TSD èñïîëüçóþò îòëè÷íûé ñåàíñîâûé êëþ÷ . Ïàðà TSD ãåíåðèðóåò ñåàíñîâûé êëþ÷ ñ ïîìîùüþ ñõåìû îáìåíà êëþ÷àìè Diffie-Hellman, íåçàâèñÿùåé îò ìèêðîñõåìû Clipper. Òàê êàê Diffie-Hellman íå âêëþ÷àåò ïðîâåðêè ïîäëèííîñòè , TSD èñïîëüçóåò äâà ìåòîäà äëÿ ïðåäîòâðàùåíèÿ âñêðûòèÿ "÷åëîâåê â ñåðåäèíå". Ïåðâûì ÿâëÿåòñÿ ýêðàí. TSD õýøèðóåò ñåàíñîâûé êëþ÷ è âûâîäèò õýø-çíà÷åíèå íà ìàëåíüêîì ýêðàíå â â èäå ÷åòûðåõ øåñòíàäöàòèðè÷íûõ öèôð . Ñîáåñåäíèêè ïðîâåðÿþò, ÷òî íà èõ ýêðàíû âûâåäåíû îäèíàêîâûå öèôðû . Êà÷åñòâî ãîëîñà äîñòàòî÷íî õîðîøî, ÷òîáû îíè ìîãëè óçíàòü äðóã äðóãà ïî ãîëîñó . Âñå æå Åâà ìîæåò âñêðûòü ýòó ñõåìó . Ïóñòü åé óäàëîñü âêëèíèòüñÿ â ëèíèþ ìåæäó Áîáîì è Àëèñîé . Îíà èñïîëüçóåò TSD íà ëèíèè ñ Àëèñîé è ìîäèôèöèðîâàííûé TSD íà ëèíèè ñ Áîáîì. Ïîñåðåäèíå îíà ñîïðÿãàåò äâà
òåëåôîííûõ çâîíêà. Àëèñà ïûòàåòñÿ ñäåëàòü ðàçãîâîð áåçîïàñíûì . Îíà îáû÷íûì îáðàçîì ãåíåðèðóåò êëþ÷, íî îáùàåòñÿ ñ Åâîé, âûäàþùåé ñåáÿ çà Áîáà . Åâà ðàñêðûâàåò êëþ÷ è ñ ïîìîùüþ ìîäèôèöèðîâàííîãî TSD äåëàåò òàê, ÷òîáû êëþ÷, êîòîðûé îíà ñãåíåðèðîâàëà äëÿ Áîáà, èìåë òàêîå æå õýø-çíà÷åíèå . Ýòî âñêðûòèå íà âèä íå î÷åíü ðåàëüíî, íî äëÿ åãî ïðåäîòâðàùåíèÿ â TSD èñïîëüçóåòñÿ áëîêèðîâêà. TSD ãåíåðèðóåò ñëó÷àéíûå ÷èñëà, èñïîëüçóÿ èñòî÷íèê øóìà è õàîòè÷íûé óñèëèòåëü ñ öèôðîâîé îáðàòíîé ñâÿçüþ. Îí ãåíåðèðóåò áèòîâûé ïîòîê, êîòîðûé ïðîïóñêàåòñÿ ÷åðåç ïîñòîòáåëèâàþùèé ôèëüòð íà áàçå öèôð îâîãî ïðîöåññîðà. Íåñìîòðÿ íà âñå ýòî â ñïðàâî÷íîì ðóêîâîäñòâå TSD íåò íè ñëîâà î áåçîïàñíîñòè. Íà ñàìîì äåëå òàì íàïèñ àíî [70]: AT&T íå ãàðàíòèðóåò, ÷òî TSD çàùèòèò îò âñêðûòèÿ çàøèôðîâàííîé ïåðåäà÷è ïðàâèòåëüñòâåííûì ó÷ðåæäåíèåì, åãî àãåíòàìè èëè òðåòüåé ñòîðîíîé . Áîëåå òîãî, AT&T íå ãàðàíòèðóåò, ÷òî TSD çàùèòèò îò âñêðûòèÿ ïåðåäàâàåìîé èíôîðìàöèè ñ ïîìîùüþ ìåòîäîâ, îáõîäÿùèõ øèôðîâàíèå .
Ãëàâà 25 Ïîëèòèêà 25.1 Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè (NSA) NSA - ýòî Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè (National Security Agency, êîãäà-òî ðàñøèôðîâûâàëîñü øóòíèêàìè êàê "No Such Agency" (íèêàêîå àãåíòñòâî) èëè "Never Say Anything" (íèêîãäà íè÷åãî íå ñêàæó), íî òåïåðü îíè áîëåå îòêðûòû), îôèöèàëüíûé îðãàí ïðàâèòåëüñòâà ÑØÀ ïî âîïðîñàì áåçîïàñíîñòè . Àãåíòñòâî áûëî ñîçäàíî â 1952 ãîäó ïðåçèäåíòîì Ãàððè Òðóìåíîì â ïîä÷èíåíèè Ìèíèñòåðñòâà áåçîïàñíîñòè , è ìíîãèå ãîäû â ñåêðåòå õðàíèëîñü ñàì ôàêò åãî ñóùåñòâîâàíèÿ . NSA âîñïðèíèìàëîñü êàê ýëåêòðîííàÿ ðàçâåäêà, â åãî çàäà÷è âõîäèëî ïîäñëóøèâàòü è ðàñøèôðîâûâàòü âñå èíîñòðàííûå ëèíèè ñâÿçè â èíòåðåñàõ Ñîåäèíåííûõ Øòàòîâ . Ñëåäóþùèå àáçàöû âçÿòû èç îðèãèíàëüíîãî ïîëîæåíèÿ î NSA, ïîäïèñàííîãî â 1952 ãîäó ïðåçèäåíòîì Òð óìåíîì è ðàññåêðå÷åííîãî ñïóñòÿ ìíîãî ëåò [1535]:  çàäà÷è COMINT Àãåíòñòâà íàöèîíàëüíîé áåçîïàñíîñòè (NSA) äîëæíû âõîäèòü ýôôåêòèâíûå îðãàíèçàöèÿ è óïðàâë åíèå ðàçâåäûâàòåëüíîé äåÿòåëüíîñòè Ñîåäèíåííûõ Øòàòîâ â îáëàñòè òåëåêîììóíèêàöèé, ïðîâîäèìîé ïðîòèâ èíîñòðàííûõ ïðàâèòåëüñòâ, ÷òîáû îáåñïå÷èòü öåëîñòíóþ äåéñòâåííóþ ïîëèòèêó è ñîîòâåòñòâóþùèå ìåðû . Èñïîëüçóåìûé â ýòîé äèðåêòèâå òåðìèí "ýëåêòðîííàÿ ðàçâåäêà" ( "communications intelligence") èëè "COMINT" îáîçíà÷àåò âñå äåéñòâèÿ è ìåòîäû, èñïîë üçóåìûå äëÿ ïåðåõâàòà òåëåêîììóíèêàöèé, èñêëþ÷àÿ çàðóáåæíûå ïðåññó è ðàäèîâåùàíèå, è ïîëó÷åíèÿ èíôîðìàöèè, ïðåäí àçíà÷åííîé äëÿ ïðèåìà äðóãèì ïîëó÷àòåëåì , íî èñêëþ÷àåò öåíçóðó, à òàêæå ïðîèçâîäñòâî è ðàñïðîñòðàíåíèå ïîëó÷åííîé ðà çâåäûâàòåëüíîé èíôîðìàöèè. Ñïåöèàëüíàÿ ïðèðîäà äåéñòâèé COMINT òðåáóåò, ÷òîáû îíè âî âñåõ îòíîøåíèÿõ ïðîâîäèëèñü îòäåëüíî îò äðóãîé èëè îáùåé ðàçâåäûâàòåëüíîé äåÿòåëüíîñòè . Ïðèêàçû, äèðåêòèâû, óêàçàíèÿ èëè ðåêîìåíäàöèè ëþáîãî îðãàíà èñïîëíèòåëüíîé âëàñòè, êàñàþùèåñÿ ñáîðà, ïîëó÷åíèÿ, áåçîïàñíîñòè, îáðàáîòêè, ðàñïðîñòðàíåíèÿ èëè èñïîëüçîâàíèÿ ðàçâåäûâàòåëüíîé è íôîðìàöèè íåïðèìåíèìû â îòíîøåíèè äåéñòâèé COMINT, åñëè ýòî íå îãîâîðåíî îñîáî, è äîêóìåíòû íå áóäóò èçäàíû êîìï åòåíòíûì ïðåäñòàâèòåëåì àãåíòñòâà, âõîäÿùèì â ïðàâèòåëüñòâî . Äðóãèå äèðåêòèâû Íàöèîíàëüíîãî ñîâåòà áåçîïàñíîñòè ä èðåêòîðó ÖÐÓ è ñâÿçàííûå äèðåêòèâû, èçäàííûå äèðåêòîðîì ÖÐÓ, íå äîëæíû ïðèìåíÿòüñÿ ê äåéñòâèÿì COMINT, åñëè ýòî íå áóäåò ñïåöèàëüíàÿ äèðåêòèâà Íàöèîíàëüíîãî ñîâåòà áåçîïàñíîñòè, êàñà þùàÿñÿ COMINT.
NSA âåäåò èññëåäîâàíèÿ â îáëàñòè êðèïòîëîãèè, çàíèìàÿñü êàê ðàçðàáîòêîé áåçîïàñíûõ àëãîðèòìîâ äëÿ ç àùèòû êîììóíèêàöèé Ñîåäèíåííûõ Øòàòîâ, òàê è êðèïòîàíàëèòè÷åñêèå ìåòîäû äëÿ ïðîñëóøèâàíèÿ êîììóí èêàöèé çà ïðåäåëàìè ÑØÀ research. Èçâåñòíî, ÷òî NSA ÿâëÿåòñÿ êðóïíåéøèì â ìèðå ðàáîòîäàòåëåì äëÿ ìàòåì àòèêîâ. Îíî òàêæå ÿâëÿåòñÿ êðóïíåéøèì â ìèðå ïîêóïàòåëåì êîìïüþòåðíîé àïïàðàòóðû . Âîçìîæíî êðèïòîãðàôè÷åñêèé îïûò NSA íà ìíîãî ëåò îòîðâàëñÿ îò ñîñòîÿíèÿ äåë â îòêðûòîé íàóêå (â ÷àñòè àëãîðèòìîâ, íî âðÿä ëè â ÷àñòè ïðîòîêîëîâ). Íåñîìíåííî Àãåíòñòâî ìîæåò âçëîìàòü ìíîãèå èç èñïîëüçóåìûõ ñåãîäíÿ ñèñòåì . Íî, èç ñîîáðàæåíèé íàöèîíàëüíîé áåçîïàñíîñòè , ïî÷òè âñÿ èíôîðìàöèÿ î NSA - äàæå åå áþäæåò - çàñåêðå÷åíà. (Ïî ñëóõàì áþäæåò Àãåíòñòâà ñîñòàâëÿåò îêîëî 13 ìèëëèàðäîâ äîëëàðîâ â ãîä - âêëþ÷àÿ âîåííîå ôèíàíñèðîâàíèå ïðîåêòîâ NSA è îïëàòó ïåðñîíàëà - è, ïî ñëóõàì, â íåì ðàáîòàåò 16 òûñÿ÷ ÷åëîâåê .) NSA èñïîëüçóåò ñâîþ âëàñòü, ÷òîáû îãðàíè÷èòü îòêðûòóþ äîñòóïíîñòü êðèïòîãðàôèè è ïîìåøàòü íàöè îíàëüíûì âðàãàì èñïîëüçîâàòü ñëèøêîì ñèëüíûå ìåòîäû øèôðîâàíèÿ, ÷òîáû Àãåíòñòâî ìîãëî èõ âçëîìàòü . Äæåéìñ Ìàññåé (James Massey) àíàëèçèðóåò ýòó áîðüáó ìåæäó íàó÷íûìè è âîåííûìè èññëåäîâàíèÿìè â êðè ïòîãðàôèè [1007]: Åñëè ñ÷èòàòü, ÷òî êðèïòîëîãèÿ ÿâëÿåòñÿ ïðåðîãàòèâîé ïðàâèòåëüñòâà, òî, êîíå÷íî, áîëüøàÿ ÷àñòü êðèïòîëîãè÷åñêèõ è ññëåäîâàíèé äîëæíà âåñòèñü çà çàêðûòûìè äâåðÿìè . Áåç âñÿêîãî ñîìíåíèÿ êîëè÷åñòâî ëþäåé, çàíÿòûõ ñåãîäíÿ êðèïòîëîãè÷ åñêèìè èññëåäîâàíèÿìè, íàìíîãî áîëüøå, ÷åì êîëè÷åñòâî ëþäåé, ðàáîòàþùèõ â îòêðûòîé êðèïòîëîãèè . Îòêðûòûå êðèïòîëîãè÷åñêèå èññëåäîâàíèÿ øèðîêî âåäóòñÿ òîëüêî ïîñëåäíèå 10 ëåò . Ìåæäó ýòèìè äâóìÿ èññëåäîâàòåëüñêèìè ñîîáùåñòâàìè á ûëè è áóäóò êîíôëèêòû. Îòêðûòûå èññëåäîâàíèÿ ïðåäñòàâëÿþò ñîáîé îáû÷íûé ïîèñê çíàíèÿ, äëÿ êîòîðîãî æèçíåííî âàæåí îòêðûòûé îáìåí èäåÿìè ñ ïîìîùüþ êîíôåðåíöèé, ïðåçåíòàöèé è ïóáëèêàöèé â íàó÷íûõ æóðíàëàõ . Íî ìîæåò ëè ïðàâèòåëüñòâåííàÿ îðãàíèçàöèÿ, îòâåòñòâåííàÿ çà âñêðûòèå øèôðîâ äðóãèõ ãîñóäàðñòâ, ïðèâåòñòâîâàòü ïóáëèêàöèþ øèôðà, êîòîðûé íåëüçÿ âçëîìàòü? Ìîæåò ëè èññëåäîâàòåëü ñ ÷èñòîé ñîâåñòüþ ïóáëèêîâàòü ïîäîáíûé øèôð, êîòîðûå ìîæåò ñâåñòè íà íåò âñå óñèëèÿ âçëîìùèêîâ êîäà, íàõîäÿùèõñÿ íà ñëóæáå åãî ïðàâèòåëüñòâà ? Ìîæíî íàñòàèâàòü, ÷òî ïóáëèêàöèÿ äîêàçàíî áåçîïà ñíîãî øèôðà çàñòàâèò âñå ïðàâèòåëüñòâà âåñòè ñåáÿ ïîäîáíî "äæåíòëüìåíàì" Ñòèìñîíà , íî íåîáõîäèìî ïîìíèòü, ÷òî îòêð ûòûå èññëåäîâàíèÿ â êðèïòîãðàôèè ïîëíû ïîëèòè÷åñêèõ è ýòè÷åñêèõ ìîòèâîâ ãîðàçäî áîëåå ñåðüåçíûõ, ÷åì âî ìíîãèõ äðóãèõ îáëàñòÿõ íàóêè. Óäèâëÿòüñÿ íàäî íå òîìó, ÷òî ïðàâèòåëüñòâåííûå îðãàíèçàöèè íà ïî÷âå êðèïòîëîãèè êîíôëèêòóþò ñ íåçàâ èñèìûìè èññëåäîâàòåëÿìè, à òîìó, ÷òî ýòè êîíôëèêòû (ïî êðàéíåé ìåðå òå, î êîòîðûõ íàì èçâåñòíî) òàê íåçíà÷èòåëüíû è òàê ñãëàæåíû.
Äæåéìñ Áýìôîðä (James Bamford) íàïèñàë óâëåêàòåëüíóþ êíèãó ïðî NSA: The Puzzle Palace [79], (Äâîðåö ãîëîâîëîìîê), íåäàâíî äîðàáîòàííóþ âìåñòå ñ Âýéíîé Ìåäñåí ( Wayne Madsen) [80]. Êîììåð÷åñêàÿ ïðîãðàììà ñåðòèôèêàöèè êîìïüþòåðíîé áåçîïàñíîñòè Êîììåð÷åñêàÿ ïðîãðàììà ñåðòèôèêàöèè êîìïüþòåðíîé áåçîïàñíîñòè (Commercial COMSEC Endorsement Program (CCEP)), êîäîâîå èìÿ Overtake, - ýòî ïðåäëîæåíèå, ñäåëàííîå NSA â 1984 ãîäó è ïðèçâàííîå îáëåã÷èòü ðàçðàáîòêó êîìïüþòåðîâ è ñðåäñòâ ñâÿçè ñ âñòðîåííûìè êðèïòîãðàôè÷åñêèìè âîçìîæíîñòÿìè [85, 1165]. Îáû÷íî âñþ ðàçðàáîòêó òàêèõ èçäåëèé îïëà÷èâàëè âîåííûå, è ýòî îáõîäèëîñü èì íåäåøåâî . NSA ïîñ÷èòàëî, ÷òî åñëè êîìïàíèè ìîãóò ïðîäàâàòü àïïàðàòóðó è àðìèè, è êîðïîðàöèÿì, äàæå èíîñòðàííûì, ýòî ïîçâîëèò óìåíüøèòü ðàñõîäû ê âñåîáùåé âûãîäå . Àãåíòñòâó áîëüøå íå òðåáîâàëîñü áû ïðîâåðÿòü ñîâìåñòèìîñòü îáîð ó-
äîâàíèÿ ñ Ôåäåðàëüíûì ñòàíäàðòîì 102.7, è çàòåì CCEP ïðåäîñòàâèëà áû äîñòóï ê îäîáðåííîìó ïðàâèòåëüñ òâîì êðèïòîãðàôè÷åñêîìó îáîðóäîâàíèþ [419]. NSA ðàçðàáîòàëî ðÿä êðèïòîãðàôè÷åñêèõ ìîäóëåé ðàçëè÷íîãî íàçíà÷åíèÿ .  ýòèõ ìîäóëÿõ äëÿ ðàçëè÷íûõ ïðèëîæåíèé èñïîëüçóþòñÿ ðàçëè÷íûå àëãîðèòìû , è ïðîèçâîäèòåëè ïîëó÷àþò âîçìîæíîñòü èçâëå÷ü îäèí ìîäóëü è âñòàâèòü äðóãîé â çàâèñèìîñòè îò æåëàíèé êëèåíòà . Ñóùåñòâóþò ìîäóëè äëÿ âîåííîãî èñïîëüçîâàíèÿ (Òèï I), ìîäóëè äëÿ "íåñåêðåòíîãî, íî âàæíîãî" ïðàâèòåëüñòâåííîãî èñïîëüçîâàíèÿ (Òèï II), ìîäóëè äëÿ êîðïîðàòèâíîãî èñïîëüçîâàíèÿ (Òèï III) è ìîäóëè äëÿ ýêñïîðòèðîâàíèÿ (Òèï IV). Ðàçëè÷íûå ìîäóëè, èõ ïðèìåíåíèå è íàçâàíèÿ ñâåäåíû â 24-é. Òàáë. 25-1. Ìîäóëè CCEP Ïðèìåíåíèå Ðå÷ü/íèçêîñêîðîñòíàÿ ïåðåäà÷à äàííûõ Êîìïüþòåð Âûñîêîñêîðîñòíàÿ ïåðåäà÷à äàííûõ Ñëåäóþùåå ïîêîëåíèå
Òèï I
Winster Tepache Foresee Countersign I
Òèï II
Edgeshot Bulletproof Brushstroke Countersign II
Ýòà ïðîãðàììà âñå åùå äåéñòâóåò, íî îíà íå âûçâàëà ýíòóçèàçìà íè ó êîãî êðîìå ïðàâèòåëüñòâà . Âñå ìîäóëè áûëè çàùèùåíû îò âñêðûòèÿ, âñå àëãîðèòìû áûëè çàñåêðå÷åíû, à ïîëüçîâàòåëè äîëæíû áûëè ïîëó÷àòü êëþ÷è îò NSA. Êîðïîðàöèè íèêîãäà ðåàëüíî íå âåðèëè â èäåþ èñïîëüçîâàíèÿ ñåêðåòíûõ àëãîðèòìîâ, íàâÿçàííûõ ïð àâèòåëüñòâîì. Êàçàëîñü áû, NSA ïîëó÷èëî çàìåòíûé óðîê, ÷òîáû áîëüøå íå äîêó÷àòü ïðèìåíåíèåì Clipper, Skipjack è ìèêðîñõåì øèôðîâàíèÿ ñ óñëîâíûì âðó÷åí èåì êëþ÷åé.
25.2 Íàöèîíàëüíûé öåíòð êîìïüþòåðíîé áåçîïàñíîñòè (NCSC) Íàöèîíàëüíûé öåíòð êîìïüþòåðíîé áåçîïàñíîñòè ( National Computer Security Center , NCSC), îòäåëåíèå NSA, îòâå÷àåò çà äîâåðåííóþ ïðàâèòåëüñòâåííóþ êîìïüþòåðíóþ ïðîãðàììó .  íàñòîÿùåå âðåìÿ öåíòð ïðîâîäèò îöåíêó ïðîäóêòîâ êîìïüþòåðíîé áåçîïàñíîñòè (ïðîãðàììíûõ è àïïàðàòíûõ), ôèíàíñèðóåò èññëåäîâàíèÿ è ïóáëèêóåò èõ ðåçàóëüòàòû, ðàçðàáàòûâàåò òåõíè÷åñêèå ðóêîâîäñòâà è îáåñïå÷èâàåò îáùóþ ïîääåðæêó è îáó÷ åíèå. NCSC èçäàåò ñêàíäàëüíî èçâåñòíóþ "Îðàíæåâóþ êíèãó" [465]. Åå íàñòîÿùåå íàçâàíèå - Department of Defense Trusted Computer System Evaluation Criteria (Êðèòåðèè îöåíêè äåïàðòàìåíòà îáîðîííûõ äîâåðåííûõ êîìïüþòåðíûõ ñèñòåì), íî ýòî òàê òðóäíî âûãîâàðèâàòü, è ê òîìó æå ó êíèãè îðàíæåâàÿ îáëîæêà . Îðàíæåâàÿ êíèãà ïûòàåòñÿ îïðåäåëèòü òðåáîâàíèÿ ê áåçîïàñíîñòè, äàåò ïðîèçâîäèòåëÿì êîìïüþòåðîâ îáúåêòèâíûé ñïîñîá èçìåðèòü áåçîïàñíîñòü èõ ñèñòåì è óêàçûâàåò èì, ÷òî íåîáõîäèìî âñòðàèâàòü â áåçîïàñíûå ïðîäóêòû . Êíèãà ïîñâÿùåíà êîìïüþòåðíîé áåçîïàñíîñòè, î êðèïòîãðàôèè â íåé ïî ñóòè ã îâîðèòñÿ íå î÷åíü ìíîãî. Îðàíæåâàÿ êíèãà îïðåäåëÿåò ÷åòûðå øèðîêèõ êàòåãîðèè çàùèòû áåçîïàñíîñòè .  íåé òàêæå îïðåäåëÿþòñÿ êëàññû çàùèòû âíóòðè íåêîòîðûõ èç ýòèõ êàòåãîðèé . Îíè ñâåäåíû â 23-é. Òàáë. 25-2. Êëàññèôèêàöèÿ Îðàíæåâîé êíèãè D: Minimal Security (Ìèíèìàëüíàÿ áåçîïàñíîñòü) C: Discretionary Protection (Çàùèòà ïî óñìîòðåíèþ) C1: Discretionary Security Protection ( Çàùèòà áåçîïàñíîñòè ïî óñìîòðåíèþ) C2: Controlled Access Protection (Çàùèòà óïðàâëÿåìîãî äîñòóïà) B: Îáÿçàòåëüíàÿ çàùèòà B1: Labeled Security Protection B2: Structured Protection (Ñòðóêòóðíàÿ çàùèòà) B3: Security Domains (Îáëàñòè áåçîïàñíîñòè) A: Verified Protection (Äîñòîâåðíàÿ çàùèòà) A1: Verified Design (Äîñòîâåðíàÿ ðàçðàáîòêà) Èíîãäà ïðîèçâîäèòåëè ëþáÿò ãîâîðèòü "ìû îáåñïå÷èâàåì áåçîïàñíîñòü C2".  âèäó îíè èìåþò êëàññèôèêàöèþ Îðàíæåâîé êíèãè. Çà áîëåå ïîäðîáíîé èíôîðìàöèåé îáðàùàéòåñü ê [1365]. Ìîäåëü êîìïüþòåðíîé áåçîïàñíîñòè, èñïîëüçóåìàÿ â ýòèõ êðèòåðèÿõ, íàçûâàåòñÿ ìîäåëüþ Bell-LaPadula [100, 101, 102, 103]. NCSC èçäàë öåëóþ ñåðèþ êíèã ïî êîìïüþòåðíîé áåçîïàñíîñòè, èíîãäà íàçûâàåìóþ Ðàäóãîé êíèã (âñå îáëîæêè èìåþò ðàçëè÷íûå öâåòà). Íàïðèìåð, Trusted Network Interpretation of the Trusted Computer System Evaluation Criteria [1146] (Èíòåðïðåòàöèÿ êðèòåðèåâ îöåíêè äîâåðåííûõ êîìïüþòåðíûõ ñèñòåì â îòíîøåíèè
äîâåðåííûõ ñåòåé), èíîãäà íàçûâàåìàÿ Êðàñíîé êíèãîé , òîëêóåò ïîëîæåíèÿ Îðàíæåâîé êíèãè ïî îòíîøåíèþ ê ñåòÿì è ñåòåâîìó îáîðóäîâàíèþ. Trusted Database Management System Interpretation of the Trusted Computer System Evaluation Criteria [1147] (Èíòåðïðåòàöèÿ êðèòåðèåâ îöåíêè äîâåðåííûõ êîìïüþòåðíûõ ñèñòåì â îòí îøåíèè ñèñòåì óïðàâëåíèÿ áàçàìè äàííûõ) - ÿ äàæå íå ïûòàþñü îïèñàòü öâåò îáëîæêè - äåëàåò òî æå ñàìîå äëÿ áàç äàííûõ. Ñåãîäíÿ ñóùåñòâóåò ñâûøå 30 òàêèõ êíèã, öâåò îáëîæåê íåêîòîðûõ èç íèõ îòâðàòèòåëåí . Çà ïîëíûì êîìïëåêòîì Ðàäóãè êíèã îáðàùàéòåñü ïî àäðåñó Director, National Security Agency, INFOSEC Awareness, Attention: C81, 9800 Savage Road, Fort George G. Meade, MD 2,0755-6000; (301 ) 766-8729. Íå ãîâîðèòå èì, ÷òî âàñ ïîñëàë ÿ.
25.3 Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè NIST - ýòî Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè (National Institute of Standards and Technology ), ïîäðàçäåëåíèå Ìèíèñòåðñòâà òîðãîâëè ÑØÀ . Ðàíåå îí íàçûâàëñÿ Íàöèîíàëüíûì áþðî ñòàíäàðòîâ ( NBS, National Bureau of Standards) è èçìåíèë èìÿ â 1988 ãîäó. Ñ ïîìîùüþ ñâîåé Ëàáîðàòîðèè êîìïüþòåðíûõ ñèñòåì (Computer Systems Laboratory, CSL), NIST ïðîäâèãàë îòêðûòûå ñòàíäàðòû âçàèìîäåéñòâèÿ, êîòîðûå, êàê îí í àäåÿëñÿ, óñêîðÿò ðàçâèòèå îñíîâàííûõ íà êîìïüþòåðàõ îòðàñëÿõ ïðîìûøëåííîñòè . Ê íàñòîÿùåìó âðåìåíè NIST âûïóñòèë ñòàíäàðòû è ðóêîâîäñòâà, êîòîðûå, êàê îí ñ÷èòàåò, áóäóò ïðèíÿòû âñåìè êîìïüþòåðíûìè ñèñòåìàìè Ñîåäèíåííûõ Øòàòîâ. Îôèöèàëüíûå ñòàíäàðòû îïóáëèêîâàíû êàê èçäàíèÿ FIPS (Ôåäåðàëüíûå ñòàíäàðòû îáðàáîòêè èíôîðìàöèè. Åñëè âàì íóæíû êîïèè ëþáîãî èç FIPS (èëè äðóãèõ èçäàíèé NIST), ñâÿæèòåñü ñ Íàöèîíàëüíîé ñëóæáîé òåõíè÷åñêîé èíôîðìàöèè Ìèíèñòåðñòâà òîðãîâëè ÑØÀ - National Technical Information Service (NTIS), U.S. Department of Commerce, 5285 Port Royal Road, Springfield, VA 22161; (703) 487-4650; èëè ïîñåòèòå gopher://csrc.ncsl.nist.go* Êîãäà â 1987 ãîäó Êîíãðåññ ïðèíÿë Àêò î êîìïüþòåðíîé áåçîïàñíîñòè ( Computer Security Act), NIST áûë óïîëíîìî÷åí îïðåäåëÿòü ñòàíäàðòû, îáåñïå÷èâàþùèå áåçîïàñíîñòü âàæíîé, íî íå ñåêðåòíîé èíôîðìàöèè â ïð àâèòåëüñòâåííûõ êîìïüþòåðíûõ . (Ñåêðåòíàÿ èíôîðìàöèÿ è äàííûå Ïðåäóïðåæäàþùåé ïîïðàâêè íàõîäÿòñÿ â ñôåðå þðèñäèêöèè NSA.) Àêò ðàçðåøàåò NIST â õîäå îöåíêè ïðåäëàãàåìûõ òåõíè÷åñêèõ ñòàíäàðòîâ ñîòðóäí è÷àòü ñ äðóãèìè ïðàâèòåëüñòâåííûìè îðãàíèçàöèÿìè è ÷àñòíûìè ïðåäïðèÿòèÿìè . NIST èçäàåò ñòàíäàðòû êðèïòîãðàôè÷åñêèõ ôóíêöèé . Îðãàíèçàöèè ïðàâèòåëüñòâà ÑØÀ îáÿçàíû èñïîëüç îâàòü èõ äëÿ âàæíîé, íî íåñåêðåòíîé èíôîðìàöèè . ×àñòî ýòè ñòàíäàðòû ïðèíèìàþòñÿ è ÷àñòíûì ñåêòîðîì . NIST âûïóñòèë DES, DSS, SHS è EES. Âñå ýòè àëãîðèòìû ðàçðàáîòàíû ñ íåêîòîðîé ïîìîùüþ NSA, íà÷èíàÿ îò àíàëèçà DES äî ïðîåêòèðîâàíèÿ DSS, SHS è àëãîðèòìà Skipjack â EES. Íåêîòîðûå êðèòèêóþò NIST çà òî, ÷òî NSA â áîëüøîé ñòåïåíè ìîæåò êîíòðîëèðîâàòü ýòè ñòàíäàðòû, õîòÿ èíòåðåñû NSA ìîãóò íå ñîâïàäàòü ñ èíòåðåñàìè NIST. Íåÿñíî, êàê äåéñòâèòåëüíî NSA ìîæåò ïîâëèÿòü íà ïðîåêòèðîâàíèå è ðàçðàáîòêó àëãîðèòìîâ . Íî ïðè îãðàíè÷åíèÿõ íà ïåðñîíàë, áþäæåò è ðåñóðñû NIST ïðèâëå÷åíèå NSA êàæåòñÿ ðàçóìíûì. NSA îáëàäàåò áîëüøèìè âîçìîæíîñòÿìè, âêë þ÷àÿ ëó÷øóþ â ìèðå êîìïüþòåðíûå ñðåäñòâà . Îôèöèàëüíûé "Ìåìîðàíäóì î âçàèìîïîíèìàíèè" ( "Memorandum of Understanding" , MOU) ìåæäó äâóìÿ îðãàíèçàöèÿìè ãëàñèò: ÌÅÌÎÐÀÍÄÓÌ Î ÂÇÀÈÌÎÏÎÍÈÌÀÍÈÈ ÌÅÆÄÓ ÄÈÐÅÊÒÎÐÎÌ ÍÀÖÈÎÍÀËÜÍÎÃÎ ÈÍÑÒÈÒÓÒÀ ÑÒÀÍÄÀ ÐÒÎÂ È ÒÅÕÍÈÊÈ È ÄÈÐÅÊÒÎÐÎÌ ÀÃÅÍÒÑÒÂÀ ÍÀÖÈÎÍÀËÜÍÎÉ ÁÅÇÎÏÀÑÍÎÑÒÈ ÎÒÍÎÑÈÒÅËÜÍÎ ÏÐÈÌÅÍ ÅÍÈß ÏÓÁËÈ×ÍÎÃÎ ÇÀÊÎÍÀ 100-235 Ñîçíàâàÿ, ÷òî: A.  ñîîòâåòñòâèè ñ ðàçäåëîì 2 Àêòà î êîìïüþòåðíîé áåçîïàñíîñòè îò 1987 ãîäà (Ïóáëè÷íûé çàêîí 100-235), (Àêò), íà Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè (NIST) êàê ÷àñòü Ôåäåðàëüíîãî ïðàâèòåëüñòâà âîçëàãàåòñÿ îòâåòñòâåííîñòü çà: 1. Ðàçðàáîòêó òåõíè÷åñêèõ , àäìèíèñòðàòèâíûõ, ôèçè÷åñêèõ ñòàíäàðòîâ, ñòàíäàðòîâ óïðàâëåíèÿ è ðóêîâîäñòâ äëÿ ðåíò àáåëüíûõ áåçîïàñíîñòè è çàùèùåííîñòè âàæíîé èíôîðìàöèè Ôåäåðàëüíûõ êîìïüþòåðíûõ ñè ñòåì, îïðåäåëåííûõ â Àêòå; è, 2. Ðàçðàáîòêó ðóêîâîäñòâ ïî òåõíè÷åñêîé áåçîïàñíîñòè ñîîòâåòñòâóþùèõ êîìïüþòåðíûõ ñèñòåì Àãåíòñòâà íàöèîíàëüíîé áåçîïàñíîñòè (NSA). B.  ñîîòâåòñòâèè ñ ðàçäåëîì 2 Àêòà NIST îáÿçàí ðàáîòàòü â òåñíîì âçàèìîäåéñòâèè ñ äðóãèìè îðãàíèçàöèÿìè, âêëþ÷àÿ NSA, îáåñïå÷èâàÿ: 1. Ìàêñèìàëüíîå èñïîëüçîâàíèå âñåõ ñóùåñòâóþùèõ è ïëàíèðóåìûõ ïðîãðàìì, ìàòåðèàëîâ, èññëåäîâàíèé è îò÷åòîâ, ê àñàþùèõñÿ áåçîïàñíîñòè è çàùèùåííîñòè êîìïüþòåðíûõ ñèñòåì, ÷òîáû èçáåæàòü íåäóæíîãî è äîðîãîãî äóáëèðîâàíèÿ ðàáîò ; è, 2. Ýòè ñòàíäàðòû, ðàçðàáîòàííûå NIST â ñîîòâåòñòâèè ñ Àêòîì, â ìàêñèìàëüíî âîçìîæíîé ñòåïåíè äîëæíû áûòü ñîãë àñîâàíû è ñîâìåñòèìû ñî ñòàíäàðòàìè è ïðîöåäóðàìè, ðàçðàáîòàííûìè äëÿ çàùèòû ñåêðåòíîé èíôîðìàöèè â Ôåäåðàëüíûõ êîìïüþòåðíûõ ñèñòåìàõ. C.  ñîîòâåòñòâèè ñ Àêòîì â îáÿçàííîñòè Ìèíèñòðà òîðãîâëè, êîòîðûå îí ïåðåïîðó÷àåò NIST, âõîäèò íàçíà÷åíèå ÷ëåíîâ Êîíñóëüòàòèâíîãî êîìèòåòà ïî áåçîïàñíîñòè è çàùèùåííîñòè êîìïüþòåðíûõ ñèñòåì ( Computer System Security and Privacy Advisory Board), ïî êðàéíåé ìåðå ÷ëåíà, ïðåäñòàâëÿ þùåãî NSA. Ñëåäîâàòåëüíî, äëÿ îáåñïå÷åíèÿ öåëåé äàííîãî MOU Äèðåêòîð NIST è Äèðåêòîð NSA íàñòîÿùèì ïðèçíàþò ñëåäóþùåå : I. NIST áóäåò: 1. Íàçíà÷àòü â Êîíñóëüòàòèâíûé êîìèòåò ïî áåçîïàñíîñòè è çàùèùåííîñòè êîìïüþòåðíûõ ñèñòåì ïî êðàéíåé ìåðå îäí îãî ïðåäñòàâèòåëÿ, çàìåùàþùåãî Äèðåêòîðà NSA.
2. Îïèðàòüñÿ íà ðàçðàáîòàííûå NSA ðóêîâîäñòâà ïî òåõíè÷åñêîé áåçîïàñíîñòè êîìïüþòåðíûõ ñèñòåì äî òîé ñòåïåíè, â êîòîðîé NIST îïðåäåëÿåò, ÷òî ýòè ðóêîâîäñòâà îòâå÷àþò òðåáîâàíèÿì, ïðåäúÿâëÿåìûì ê çàùèòå âàæíîé èíôîðìàöèè â Ôåä åðàëüíûõ êîìïüþòåðíûõ ñèñòåìàõ . 3. Ïðèçíàâàòü ñåðòèôèöèðîâàííûé NSA ðåéòèíã äîâåðåííûõ ñèñòåì â ñîîòâåòñòâèè ñ Ïðîãðàììîé êðèòåðèåâ îöåíêè áåçîïàñíîñòè äîâåðåííûõ êîìïüþòåðîâ áåç äîïîëíèòåëüíîé ýêñïåðòèçû . 4. Ðàçðàáàòûâàòü ñòàíäàðòû áåçîïàñíîñòè òåëåêîììóíèêàöèé äëÿ çàùèòû âàæíûõ íåñåêðåòíûõ êîìïüþòåðíûõ äàííûõ , ìàêñèìàëüíî îïèðàÿñü íà ðåçóëüòàòû ýêñïåðòèçû è ðàçðàáîòêè Àãåíòñòâà íàöèîíàëüíîé áåçîïàñíîñòè , ÷òîáû âûïîëíÿòü ýòè îáÿçàííîñòè ñâîåâðåìåííî è ýôôåêòèâíî . 5. Ïî âîçìîæíîñòè èçáåãàòü äóáëèðîâàíèÿ, ðàçãðàíè÷èâ ñîâìåñòíûå ðàáîòû ñ NSA äëÿ ïîëó÷åíèÿ ïîìîùè NSA. 6. Çàïðàøèâàòü ïîìîùè NSA ïî âñåì âîïðîñàì, ñâÿçàííûì ñ êðèïòîãðàôè÷åñêèìè àëãîðèòìàìè è êðèïòîãðàôè÷åñêèìè ìåòîäàìè, âêëþ÷àÿ èññëåäîâàíèÿ, îöåíêó ðàçðàáîòêè, îäîáðåíèå, íî íå îãðàíè÷èâàÿñü ýòèìè äåéñòâèÿìè . II. NSA áóäåò: 1. Îáåñïå÷èâàòü NIST òåõíè÷åñêèìè ðóêîâîäñòâàìè ïî äîâåðåííûì òåõíîëîãèÿì, áåçîïàñíîñòè òåëåêîììóíèêàöèé è èäåíòèôèêàöèè ëè÷íîñòè, êîòîðûå ìîãóò áûòü èñïîëüçîâàíû â ðåíòàáåëüíûõ ñèñòåìàõ çàùèòû âàæíûõ êîìïüþòåðíûõ äà ííûõ. 2. Ïðîâîäèòü èëè èíèöèèðîâàòü èññëåäîâàòåëüñêèå è ïðîåêòíûå ïðîãðàììû ïî äîâåðåííûì òåõíîëîãèÿì, áåçîïàñíîñòè òåëåêîììóíèêàöèé, êðèïòîãðàôè÷åñêèì ìåòîäàì è ìåòîäàì èäåíòèôèêàöèè ëè÷íîñòè . 3. Ïî ïðîñüáàì NIST îêàçûâàòü ïîìîùü â îòíîøåíèè âñåõ âîïðîñîâ, ñâÿçàííûõ ñ êðèïòîãðàôè÷åñêèìè àëãîðèòìàìè è êðèïòîãðàôè÷åñêèìè ìåòîäàìè, âêëþ÷àÿ èññëåäîâàíèÿ, îöåíêó ðàçðàáîòêè, îäîáðåíèå, íî íå îãðàíè÷èâàÿñü ýòèìè äåéñòâè ÿìè. 4. Óñòàíàâëèâàòü ñòàíäàðòû è îäîáðÿòü èçäåëèÿ äëÿ ïðèìåíåíèÿ â áåçîïàñíûõ ñèñòåìàõ, îõâàòûâàåìûõ 10 USC ðàçäåë 2315 (Ïîïðàâêà Óîðíåðà). 5. Ïî òðåáîâàíèþ ôåäåðàëüíûõ îðãàíèçàöèé, èõ ïîäðÿä÷èêîâ è äðóãèõ ôèíàíñèðóåìûõ ïðàâèòåëüñòâîì ñóáúåêòîâ ïð îâîäèòü îöåíêó âîçìîæíîñòè âðàæåñêîé ðàçâåäûâàòåëüíîé äåÿòåëüíîñòè â îòíîøåíèè ôåäåðàëüíûõ èíôîðìàöèîííûõ ñèñòåì , à òàêæå îáåñïå÷èâàòü òåõíè÷åñêîå ñîäåéñòâèå è ðåêîìåíäîâàòü èçäåëèÿ, îäîáðåííûå äëÿ ïðèìåíåíèÿ â áåçîïàñíûõ ñèñòåìàõ, ÷òîáû ïðîòèâîñòîÿòü òàêîé óãð îçå. III. NIST è NSA áóäóò: 1. Êîîðäèíèðîâàòü ñâîè ïëàíû ïî îáåñïå÷åíèþ áåçîïàñíîñòè è çàùèùåííîñòè êîìïüþòåðíûõ ñèñòåì, çà êîòîðûå NIST è NSA íåñóò îòâåòñòâåííîñòü â ñîîòâåòñòâèè ñ ðàçäåëîì 6(b) Àêòà. 2. Îáìåíèâàòüñÿ òåõíè÷åñêèìè ñòàíäàðòàìè è ðóêîâîäñòâàìè, åñëè ýòî íåîáõîäèìî äëÿ äîñòèæåíèÿ öåëåé Àêòà . 3. Ñîâìåñòíî ðàáîòàòü íàä äîñòèæåíèåì öåëåé ýòîãî ìåìîðàíäóìà ñ ìàêñèìàëüíîé ýôôåêòèâíîñòüþ, èçáåãàÿ íåíóæíîãî äóáëèðîâàíèÿ óñèëèé. 4. Ïîääåðæèâàòü íåïðåðûâíûé äèàëîã, ãàðàíòèðóþùèé, ÷òî êàæäàÿ èç îðãàíèçàöèé áóäåò íàõîäèòüñÿ íà îäèíàêîâîì óðîâíå ñîâðåìåííûõ òåõíîëîãèé è âîïðîñîâ, âëèÿþùèõ íà áåçîïàñíîñòü àâòîìàòèçèðîâàííûõ èíôîðìàöèîííûõ êîìïüþòå ðíûõ ñèñòåì. 5. Îðãàíèçîâûâàòü òåõíè÷åñêóþ ðàáî÷óþ ãðóïïó äëÿ îáçîðà è àíàëèçà îáëàñòåé ñîâìåñòíûõ èíòåðåñîâ, êàñàþùèõñÿ ç àùèòû ñèñòåì, îáðàáàòûâàþùèõ âàæíóþ èëè äðóãóþ íåñåêðåòíóþ èíôîðìàöèþ . Ýòà Ãðóïïà áóäåò ñîñòîÿòü èç øåñòè ôåä åðàëüíûõ ñëóæàùèõ, ïî òðîå îò NIST è NSA, è ïðè íåîáõîäèìîñòè ìîæåò áûòü óâåëè÷åíà çà ñ÷åò ïðåäñòàâèòåëåé äðóãèõ îðã àíèçàöèé. Òåìû ðàáîòû ãðóïïû ìîãóò îïðåäåëÿòüñÿ ëèáî çàìåñòèòåëåì äèðåêòîðà NSA ïî èíôîðìàöèîííîé áåçîïàñíîñòè, ë èáî çàìåñòèòåëåì äèðåêòîðà NIST, ëèáî ìîãóò èíèöèèðîâàòüñÿ ñàìîé ãðóïïîé ñ ïîñëåäóþùèì îäîáðåíèåì çàìåñòèòåëåì ä èðåêòîðà NSA ïî èíôîðìàöèîííîé áåçîïàñíîñòè èëè çàìåñòèòåëåì äèðåêòîðà NIST.  òå÷åíèå íåñêîëüêèõ äíåé ïîñëå ïîñò àíîâêè ïåðåä Ãðóïïîé âîïðîñà ëèáî çàìåñòèòåëåì äèðåêòîðà NSA ïî èíôîðìàöèîííîé áåçîïàñíîñòè, ëèáî çàìåñòèòåëåì ä èðåêòîðà NIST Ãðóïïà äîëæíà ïðåäñòàâèòü îò÷åò î âûïîëíåíèè ðàáîò ïî ýòîìó âîïðîñó è, ïðè íåîáõîäèìîñòè, ïëàí äàëüíå éøåãî àíàëèçà. 6. Íà åæåãîäíîé îñíîâå îáìåíèâàòüñÿ ïëàíàìè ðàáîòû ïî âñåì èññëåäîâàòåëüñêèì è êîíñòðóêòîðñêèì ïðîåêòàì, ñâÿçà ííûì ñ çàùèòîé ñèñòåì, îáðàáàòûâàþùèõ âàæíóþ èëè äðóãóþ íåñåêðåòíóþ èíôîðìàöèþ , âêëþ÷àÿ äîâåðåííûå òåõíîëîãèè, çàùèòó öåëîñòíîñòè è äîñòóïíîñòè äàííûõ , áåçîïàñíîñòè òåëåêîììóíèêàöèé è ìåòîäîâ èäåíòèôèêàöèè ëè÷íîñòè . Îáìåí èíôîðìàöèåé ïî ïðîåêòàì äîëæåí ïðîèñõîäèòü åæåêâàðòàëüíî , è îáçîð ñîñòîÿíèÿ ïðîåêòîâ äîëæåí ëþáîé èç ñòîðîí ïðåäî ñòàâëÿòüñÿ ïî çàïðîñó äðóãîé ñòîðîíû . 7. Ïðîâåðÿòü îáçîðû òåõíè÷åñêîé ðàáî÷åé ãðóïïû äî îïóáëèêîâàíèÿ âñåõ âîïðîñîâ, êàñàþùèõñÿ òåõíèêè îáåñïå÷åíèÿ áåçîïàñíîñòè ñèñòåì, ðàçðàáàòûâàåìûõ äëÿ èñïîëüçîâàíèÿ ïðè çàùèòå âàæíîé èíôîðìàöèè â ôåäåðàëüíûõ êîìïüþòåðíûõ ñèñòåìàõ, ÷òîáû ãàðàíòèðîâàòü ñîâìåñòèìîñòü ðàñêðûòèÿ ýòèõ òåì ñ íàöèîíàëüíîé áåçîïàñíîñòüþ Ñîåäèíåííûõ Øòàòîâ. Å ñëè NIST è NSA íå ñìîãóò ðåøèòü ïîäîáíûé âîïðîñ â òå÷åíèå 60 äíåé, ëþáàÿ èç îðãàíèçàöèé ìîæåò ïîäíÿòü ýòîò âîïðîñ ï åðåä Ìèíèñòðîì îáîðîíû è Ìèíèñòðîì òîðãîâëè. Ïðèçíàåòñÿ, ÷òî äàííûé âîïðîñ ñ ïîìîùüþ NSC ìîæåò áûòü ïåðåäàí äëÿ ðåøåíèÿ Ïðåçèäåíòó. Íèêàêèå äåéñòâèÿ íå äîëæíû ïðåäïðèíèìàòüñÿ äî îêîí÷àòåëüíîãî ðåøåíèÿ â îïðîñà. 8. Îïðåäåëÿòü äîïîëíèòåëüíûå ðàáî÷èå ñîãëàøåíèÿ, çàêëþ÷åííûå ìåæäó NSA è NIST, êàê ïðèëîæåíèÿ ê ýòîìó MOU. IV. Ëþáàÿ èç ñòîðîí ìîæåò ïðåêðàòèòü äåéñòâèå ýòîãî MOU ïèñüìåííûì óâåäîìëåíèåì, íàïðàâëåííûì çà øåñòü ìåñÿöåâ äî ïðåêðàùåíèÿ äåéñòâèÿ. Ýòîò MOU ñ÷èòàåòñÿ äåéñòâèòåëüíûì ïðè íàëè÷èè îáåèõ ïîäïèñåé . /ïîäïèñàíî/ ÐÝÉÌÎÍÄ. ÄÆ. ÊÀÌÌÅÐ Èñïîëíèòåëüíûé Äèðåêòîð, Íàöèîíàëüíûé èíñòèòóò ñòàíäàðòîâ è òåõíèêè , 24 ìàðòà 1989 ãîäà Ó. Î. ÑÒÜÞÄÌÅÍ Âèöå-àäìèðàë, ÂÌÑ ÑØÀ, Äèðåêòîð, Àãåíòñòâî íàöèîíàëüíîé áåçîïàñíîñòè , 23 ìàðòà 1989 ãîäà
25.4 RSA Data Security, Inc. RSA Data Security, Inc. (RSADSI) áûëà îñíîâàíà â 1982 ãîäó äëÿ ðàçðàáîòêè, ëèöåíçèðîâàíèÿ è êîììåð÷ åñêîãî èñïîëüçîâàíèÿ ïàòåíòà RSA. Ó êîìïàíèè åñòü ðÿä êîììåð÷åñêèõ ïðîäóêòîâ, âêëþ÷àÿ îòäåëüíûé ïàêåò áåçîïàñíîñòè ýëåêòðîííîé ïî÷òû , è ðàçëè÷íûå êðèïòîãðàôè÷åñêèå áèáëèîòåêè (äîñòóïíûå â âèäå èñõîäíûõ òåêñòîâ èëè îáúåêòíîãî êîäà). RSADSI òàêæå ïðåäëàãàåò íà ðûíêå ñèììåòðè÷íûå àëãîðèòìû RC2 è RC4 (ñì. ðàçäåë 11.8). RSA Laboratories, èññëåäîâàòåëüñêàÿ ëàáîðàòîðèÿ, ñâÿçàííàÿ ñ RSADSI, âûïîëíÿåò ôóíäàìåíòàëüíûå êðèïòîãðàôè÷åñêèå èññëåäîâàíèÿ è îêàçûâàåò êîíñóëüòàöèîííûå óñëóãè . Ïðè çàèíòåðåñîâàííîñòè â ëèöåíçèÿõ èëè ïðîäóêòàõ íóæíî îáðàùàòüñÿ ê äèðåêòîðó ïî ïðîäàæàì ( Director of Sales, RSA Data Security, Inc., 100 Marine Parkway, Redwood City, CA 94065; (415) 595-8782; ôàêñ: (415) 5951873).
25.5 PUBLIC KEY PARTNERS Ïÿòü ïàòåíòîâ, ïåðå÷èñëåííûõ â 22-é, ïðèíàäëåæàò Public Key Partners (PKP) èç Ñàííèâýéëà (Sunnyvale), Êàëèôîðíèÿ, ïàðòíåðñòâó RSADSI è Care-Kahn, Inc. - ðîäèòåëüñêîé êîìïàíèè Cylink. (RSADSI ïîëó÷àåò 65 ïðîöåíòîâ ïðèáûëè, à Care-Kahn 35 ïðîöåíòîâ.) PKP óòâåðæäàåò, ÷òî ýòè ïàòåíòû è 4218582 îñîáåííî ïðèìåíèìû êî âñåì ñïîñîáàì èñïîëüçîâàíèÿ êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè . Òàáë. 25-3. Ïàòåíòû Public Key Partners ¹ ïàòåíòà 4200770 4218582 4405829 4424414 4995082
Äàòà 29.3.80 19.8.80 20.9.83 3.3.84 19.2.91
Èçîáðåòàòåëè Hellman, Diffie, Merkle Hellman, Merkle Rivest, Shamir, Adleman Hellman, Pohlig Schnorr
Íàçâàíèå ïàòåíòà Îáìåí êëþ÷àìè Diffie-Hellman Ðþêçàêè Merkle-Hellman RSA Pohlig-Hellman Ïîäïèñè Schnorr
 [574], PKP ïèñàëà: Ýòè ïàòåíòû [4200770, 4218582, 4405829 è 4424414] îõâàòûâàþò âñå èçâåñòíûå ìåòîäû èñïîëüçîâàíèÿ èñêóññòâà îòêð ûòûõ êëþ÷åé, âêëþ÷àÿ âàðèàíòû, îáîáùåííî èçâåñòíûå êàê ElGamal. Áëàãîäàðÿ øèðîêîìó ðàñïðîñòðàíåíèþ öèôðîâûõ ïîäïèñåé RSA â ìåæäóíàðîäíîì ñîîáùåñòâå Public Key Partners ðåøèòåëüíî îäîáðÿåò èõ âêëþ÷åíèå â ñòàíäàðò öèôðîâîé ïîäïèñè . Ìû çàâåðÿåì âñå çàèíòåðåñîâàííûå ñòîðîíû, ÷òî Public Key Partners ïîä÷èíèòñÿ âñåì ðåøåíèÿì ANSI è IEEE, êàñàþùèìñÿ äîñòóïíîñòè ëèöåíçèðîâàíèÿ ýòîãî èñêóññòâà . Îñîáåííî äëÿ ïîääåðæêè ëþáûõ ïðèíèìàåìûõ ñòàíäàðòîâ, èñïîëüçóþùèõ öèôðîâóþ ïîäïèñü RSA. Public Key Partners íàñòîÿùèì çàâåðÿåò, ÷òî ëèöåíçèè íà èñïîëüçîâàíèå ïîäïèñåé RSA áóäóò ïðåäîñòàâëÿòüñÿ â ðàçóìíûå ñðîêè, íà ðàçóìíûõ óñëîâèÿõ è áåç ê àêîé-ëèáî äèñêðèìèíàöèè.
Ïðàâäà ëè ýòî, çàâèñèò îò òîãî, ñ êåì âû ãîâîðèòå . Ëèöåíçèè PKP, êàê ïðàâèëî, ñåêðåòíû, ïîýòîìó ñïîñîáà ïðîâåðèòü, îòëè÷àåòñÿ ëè äàííàÿ ëèöåíçèÿ îò äðóãèõ, íå ñóùåñòâóåò . Õîòÿ êîìïàíèÿ óòâåðæäàåò, ÷òî íèêîìó íå îòêàçàëà â âûäà÷å ëèöåíçèè, ïî êðàéíåé ìåðå äâå êîìïàíèè ãîâîðÿò î òîì, ÷òî èì ëèöåíçèÿ âûäàíà íå áûëà . PKP òùàòåëüíî îõðàíÿåò ñâîè ïàòåíòû , óãðîæàÿ âñåì, êòî èñïîëüçóåò áåç ëèöåíçèðîâàíèÿ êðèïòîãðàôèþ ñ î òêðûòûìè êëþ÷àìè. ×àñòè÷íî ýòî ðåàêöèÿ íà ïàòåíòíîå çàêîíîäàòåëüñòâî ÑØÀ . Åñëè âëàäåëüöó ïàòåíòà íå óäàåòñÿ íàêàçàòü íàðóøèòåëÿ ïàòåíòà , îí ìîæåò ïîòåðÿòü ñâîé ïàòåíò. Áûëî ìíîãî ðàçãîâîðîâ î çàêîííîñòè ýòèõ ïàòåíòîâ, íî äàëüøå ðàçãîâîðîâ äåëî íå ïîøëî . Âñå çàêîííûå ïðåòåíçèè ê ïàòåíòàì PKP áûëè óðåãóëèðîâàíû äî ñóäà. ß íå ñîáèðàþñü â ýòîé êíèãå äàâàòü þðèäè÷åñêèå ñîâåòû . Ìîæåò áûòü ïàòåíò RSA íå óñòîèò ïåðåä ñóäîì. Ìîæåò áûòü ýòè ïàòåíòû íå ïðèìåíèìû êî âñåé êðèïòîãðàôèè ñ îòêðûòûìè êëþ÷àìè . (×åñòíî ãîâîðÿ, ÿ íå ïîíèìàþ, êàê îíè îõâàòûâàþò ElGamal èëè êðèïòîñèñòåìû ñ ýëëèïòè÷åñêèìè êðèâûìè .) Ìîæåò êîìó-òî óäàñòñÿ âûèãðàòü ïðîöåññ ïðîòèâ PKP èëè RSADSI. Íî íå çàáûâàéòå, ÷òî êîðïîðàöèè ñ îãðîìíûìè þðèäè÷åñêèìè î òäåëàìè, íàïðèìåð, IBM, Microsoft, Lotus, Apple, Novell, Digital, National Semiconductor, AT&T è Sun, ëèöåíçèðîâàëè RSA äëÿ èñïîëüçîâàíèÿ â ñâîèõ ïðîäóêòàõ, à íå îáðàùàëèñü â ñóä . Boeing, Shell Oil, DuPont, Raytheon è Citicorp - âñå ëèöåíçèðîâàëè RSA äëÿ ñâîåãî âíóòðåííåãî èñïîëüçîâàíèÿ .  îäíîì ñëó÷àå PKP âîçáóäèëî ïðîöåññ ïðîòèâ TRW Corporation ïî ïîâîäó èñïîëüçîâàíèÿ áåç ëèöåíçèðîâ àíèÿ àëãîðèòìà ElGamal. TRW óòâåðæäàëà, ÷òî åé íå íóæíà ëèöåíçèÿ . PKP è TRW äîñòèãëè ñîãëàøåíèÿ â èþíå 1992. Ïîäðîáíîñòè óðåãóëèðîâàíèÿ êîíôëèêòà íåèçâåñòíû, íî ñðåäè íèõ - ñîãëàñèå TRW ïîëó÷èòü ëèöåíçèþ íà ïàòåíòû. Ýòî íå ïðåäâåùàåò íè÷åãî õîðîøåãî . TRW ìîãëà ïîçâîëèòü ñåáå õîðîøèõ þðèñòîâ. ß ìîãó òîëüêî ïðåäïîëîæèòü, ÷òî, åñëè áû TRW áûëà óâåðåíà, ÷òî ñìîæåò âûèãðàòü ïðîöåññ, íå ïîòðàòèâ íåâåðîÿòíîãî êîë è÷åñòâà äåíåã, îíà áû íå îòêàçàëàñü îò áîðüáû. Òåì íå ìåíåå â PKP ñóùåñòâóþò ñâîè âíóòðåííèå ïðîáëåìû .  èþíå 1994 ãîäà Care-Kahn ïîäàëà â ñóä íà RSADSI, çàÿâèâ, ñðåäè âñåãî îñòàëüíîãî, ÷òî ïàòåíò RSA íåïðàâèëåí è íåïðèìåíèì [401]. Îáà ïàðòíåðà ïîïûòàëèñü ðàçîðâàòü ñâîå ïàðòíåðñòâî. Çàêîííû ïàòåíòû èëè íåò? Íóæíî ëè áóäåò ïîëüçîâàòåëÿì ïîëó÷àòü ëèöå íçèþ îò Care-Kahn, ÷òîáû ïîëüçîâàòüñÿ àëãîðèòìîì RSA? Êîìó áóäåò ïðèíàäëåæàòü ïàòåíò Schnorr? Âîçìîæíî ýòî äåëî áóäåò óðåãóëèðîâàíî ê ìîìåíòó âûõîäà ýòîé êíèãè . Ïàòåíòû äåéñòâèòåëüíû ëèøü â òå÷åíèå Patents 17 ëåò è íå ìîãóò áûòü âîçîáíîâëåíû . 29 ìàðòà 1997 ãîäà îáìåí êëþ÷àìè Diffie-Hellman (è àëãîðèòì ElGamal) ñòàíóò îáùåäîñòóïíûìè. 20 ñåíòÿáðÿ 2000 ãîäà ñòàíåò îáùåäîñòóïíûì è RSA. Ïîìåòüòå íà ñâîèõ êàëåíäàðÿõ.
25.6 Ìåæäóíàðîäíàÿ àññîöèàöèÿ êðèïòîëîãè÷åñêèõ èññëåäîâàíèé Ìåæäóíàðîäíàÿ àññîöèàöèÿ êðèïòîëîãè÷åñêèõ èññëåäîâàíèé ( International Association for Cryptologic R esearch, IACR) - ýòî âñåìèðíàÿ êðèïòîãðàôè÷åñêàÿ èññëåäîâàòåëüñêàÿ îðãàíèçàöèÿ . Åå öåëüþ ÿâëÿåòñÿ ðàçâèòèå òåîðèè è ïðàêòèêè êðèïòîëîãèè è ñâÿçàííûõ îáëàñòåé . Åå ÷ëåíîì ìîæåò ñòàòü ëþáîé. Àññîöèàöèÿ âûñòóïàåò
ñïîíñîðîì äâóõ åæåãîäíûõ êîíôåðåíöèé , Crypto (ïðîâîäèòñÿ â àâãóñòå â Ñàíòà-Áàðáàðå ) è Eurocrypt (ïðîâîäèòñÿ â â Åâðîïå), è åæåêâàðòàëüíî èçäàåò The Journal of Cryptology è IACR Newsletter. Àäðåñ øòàá-êâàðòèðû IACR ìåíÿåòñÿ âìåñòå ñî ñìåíîé ïðåçèäåíòà . Òåêóùèé àäðåñ: IACR Business Office, Aarhus Science Park, Custav Wieds Vej 10, DK-8000 Aarhus C, Denmark.
25.7 Îöåíêà ïðèìèòèâîâ öåëîñòíîñòè RACE (RIPE) Ïðîãðàììà èññëåäîâàíèÿ è ðàçâèòèÿ ïåðåäîâûõ ñðåäñòâ ñâÿçè â Åâðîïå ( Research and Development in A dvanced Communication Technologies in Europe , RACE) áûëà èíèöèèðîâàíà Åâðîïåéñêèì ñîîáùåñòâîì äëÿ ïî ääåðæêè ïðåäâàðèòåëüíîé ïðîðàáîòêè òåëåêîììóíèêàöèîííûõ ñòàíäàðòîâ è òåõíîëîãèé, ïîääåðæèâàþùèõ È íòåãðèðîâàííûå âûñîêîñêîðîñòíûå ñðåäñòâà ñâÿçè ( Integrated Broadband Communication , IBC).  êà÷åñòâå ÷àñòè ýòîé ðàáîòû RACE ó÷ðåäèëî êîíñîðöèóì äëÿ Îöåíêè ïðèìèòèâîâ öåëîñòíîñòè RACE (RACE Integrity Primitives Evaluation, RIPE), ÷òîáû ñîáðàòü â îäíî öåëîå ïàêåò òåõíîëîãèé, ñîîòâåòñòâóþùèõ âîçìîæíûì òðåáîâàíèÿì ê áåçîïàñíîñòè IBC. Êîíñîðöèóì RIPE îáðàçîâàëè øåñòü âåäóùèõ åâðîïåéñêèõ êðèïòîãðàôè÷åñêèõ èññëåäîâàòåëüñêèõ ãðóïï : Öåíòð ïî ìàòåìàòèêå è êîìïüþòåðíûì íàóêàì ( Center for Mathematics and Computer Science ), Àìñòåðäàì; Siemens AG; Philips Crypto BV; Royal PTT Nederland NV, PTT Research; Katholieke Univesiteit Leuven è Aarhus Universitet. Ïîñëå îáúÿâëåíèé î ïðèåìå àëãîðèòìîâ â 1989 è 1991 ãîäàõ [1564], ïîäà÷è 32 çàÿâîê, ïðèñëàííûõ ñî âñåãî ìèðà, è ñîáñòâåííî îöåíèâàþùåãî ïðîåêòà äëèòåëüíîñòüþ 350 ÷åëîâåêî-ìåñÿöåâ, êîíñîðöèóì îïóáëèêîâàë RIPE Integrity Primitives [1305, 1332]. Îò÷åò ñîäåðæèò ââåäåíèå, íåñêîëüêî îñíîâíûõ êîíöåïöèé öåëîñ òíîñòè è èõ ïðèìèòèâû: MDC-4 (ñì. ðàçäåë 14.11), RIPE-MD (ñì. ðàçäåë 14.8), RIPE-MAG (ñì. ðàçäåë 14.14), IBC-HASH, SKID (ñì. ðàçäåë 3.2), RSA, COMSET (ñì. ðàçäåë 16.1) è ãåíåðàöèþ êëþ÷åé RSA.
25.8 Óñëîâíûé äîñòóï äëÿ Åâðîïû (CAFE) Óñëîâíûé äîñòóï äëÿ Åâðîïû (Conditional Access for Europe, CAFE) - ýòî ïðîåêò â ðàìêàõ ïðîãðàììû ESPRIT Åâðîïåéñêîãî ñîîáùåñòâà [204, 205]. Ðàáîòà íà÷àëàñü â äåêàáðå 1992 ãîäà è ïî ïëàíó äîëæíà çàêîí÷èòüñÿ ê êîíöó 1995 ãîäà. Îáðàçîâàííûé êîíñîðöèóì ñîñòîèò èç ãðóï ñîöèàëüíûõ èññëåäîâàíèé è èññëåäîâàíèé ðûíêà (Cardware, Institut fur Sozialforschung), èçãîòîâèòåëåé ïðîãðàììíîãî îáåñïå÷åíèÿ è àïïàðàòóðû (DigiCash, Cemplus, Ingenico, Siemens), à òàêæå êðèïòîãðàôîâ (CWI Amsterdam, PTT Research Netherlands, SPET, Sintef Delab Trondheim, Universities of Arhus, Hildesheim and Leuven). Öåëüþ ïðîåêòà ÿâëÿåòñÿ ðàçðàáîòêà ñèñòåìû óñëîâíîãî äîñòóïà, îñîáåííî äëÿ öèôðîâûõ ïëàòåæíûõ ñèñòåì . Ïëàòåæíûå ñèñòåìû äîëæíû îáåñïå÷èâàòü íàäåæíîñòü äëÿ êàæäîãî ïîëüçîâàòåëÿ è òðåáîâàòü êàê ìîæíî ìåí üøå âåðû â ñåáÿ - íàäåæíîñòü íå äîëæíà çàâèñåòü îò óñòîé÷èâîñòè óñ òðîéñòâ ê âçëîìó. Îñíîâíûì óñòðîéñòâîì CAFE ñëóæèò ýëåêòðîííûé áóìàæíèê: ìàëåíüêèé êîìïüþòåð, î÷åíü ïîõîæèé íà êàðìàííûé êàëüêóëÿòîð. Ó íåãî åñòü áàòàðåéêà, êëàâèàòóðà, ýêðàí è èíôðàêðàñíûé êàíàë äëÿ ñâÿçè ñ äðóãèìè áóìàæíèêàìè. Ó êàæäîãî ïîëüçîâàòåëÿ ñâîé ñîáñòâåííûé áóìàæíèê , êîòîðûé îáåñïå÷èâàåò åãî ïðàâà è ãàðàíòèðóåò åãî áåçîïàñíîñòü. Ó óñòðîéñòâà ñ êëàâèàòóðîé è ýêðàíîì åñòü îïðåäåëåííîå ïðåèìóùåñòâî ïåðåä èíòåëëåêòóàëüíîé êàðòîé îíî ìîæåò ðàáîòàòü íåçàâèñèìî îò òåðìèíàëà . Ïîëüçîâàòåëü ìîæåò íåïîñðåäñòâåííî ââåñòè ñâîé ïàðîëü è ñó ììó ïëàòåæà. Îòëè÷èå îò êðåäèòíîé êàðòû ïîëüçîâàòåëþ íå íóæíî îòäàâàòü ñâîé áóìàæíèê êîìó-òî, ÷òîáû â ûïîëíèòü òðàíçàêöèþ. Äîïîëíèòåëüíûìè âîçìîæíîñòÿìè ÿâëÿþòñÿ : Àâòîíîìíûå òðàíçàêöèè. Ñèñòåìà ïðåäíàçíà÷åíà äëÿ çàìåíû îáðàùåíèÿ íåáîëüøèõ ñóìì íàëè÷íûõ, äèàëîãîâàÿ ñèñòåìà áûëà áû ñëèøêîì ãðîìîçäêà . Óñòîé÷èâîñòü ê ïîòåðÿì. Åñëè ïîëüçîâàòåëü ïîòåðÿåò ñâîé áóìàæíèê, èëè áóìàæíèê ñëîìàåòñÿ, èëè åãî óêðàäóò, ïîëüçîâàòåëü íå ïîòåðÿåò ñâîè äåíüãè . Ïîääåðæêà ðàçëè÷íûõ âàëþò. Îòêðûòàÿ àðõèòåêòóðà è îòêðûòàÿ ñèñòåìà . Ïîëüçîâàòåëü äîëæåí èìåòü âîçìîæíîñòü çàïëàòèòü çà ïðîè çâîëüíûå óñëóãè, íàïðèìåð, ïîêóïêè â ìàãàçèíå, òåëåôîí, îáùåñòâåííûé òðàíñïîðò, ïðåäîñòàâëÿåìûå ðàçëè÷íûìè ïîñòàâùèêàìè. Ñèñòåìà äîëæíà îáåñïå÷èâàòü âçàèìîäåéñòâèå ëþáîãî êîëè÷åñòâà ýìèòåíòîâ ýëåêòðîííûõ äåíåã, à òàêæå âçàèìîäåéñòâèå áóìàæíèêîâ ðàçëè÷íûõ òèïîâ è ïðîèçâîäèòåëåé . Íèçêàÿ ñòîèìîñòü. Ê ìîìåíòó íàïèñàíèÿ ýòîé êíèãè ñóùåñòâóåò òîëüêî ïðîãðàììíàÿ âåðñèÿ ñèñòåìû, è êîíñîðöèóì ïëîòíî ð àáîòàåò íàä àïïàðàòíûì ïðîòîòèïîì .
25.9 ISO/lEC 9979  ñåðåäèíå 80-õ ISO ñòàíäàðòèçèðîâàòü DES, êîòîðûé óæå èñïîëüçîâàëñÿ â êà÷åñòâå FIPS è ñòàíäàðòà ANSI. Ïîñëå íåêîòîðîé ïîëèòè÷åñêîé âîçíè ISO ðåøèëî íå ñòàíäàðòèçèðîâàòü êðèïòîãðàôè÷åñêèå àëãîðèòìû, à ðåã èñòðèðîâàòü èõ. Çàðåãèñòðèðîâàòü ìîæíî òîëüêî àëãîðèòìû øèôðîâàíèÿ, ðåãèñòðèðîâàòü õýø-ôóíêöèè è ñõåìû ïîäïèñè íåëüçÿ. Çàðåãèñòðèðîâàòü àëãîðèòì ìîæåò ëþáàÿ íàöèîíàëüíàÿ îðãàíèçàöèÿ .  íàñòîÿùåå âðåìÿ ïîäàíû çàÿâêè íà ðåãèñòðàöèþ òðåõ àëãîðèòìîâ (ñì. 21-é). Ïîäà÷à çàÿâêè âêëþ÷àåò èíôîðìàöèþ îá èñïîëüçîâàíèè, ïàðàìåòðàõ, ðåàëèçàöèÿõ, ðåæèìàõ è òåñòîâûõ âåêòîðàõ . Ïîäðîáíîå îïèñàíèå íåîáÿçàòåëüíî, ìîæíî ïîäàâàòü íà ðåãèñòðàöèþ è ñåêðåòíûå àëãîðèòìû . Ôàêò ðåãèñòðàöèè àëãîðèòìà íè÷åãî íå ãîâîðèò î åãî êà÷åñòâå. Ðåãèñòðàöèÿ íå ÿâëÿåòñÿ è îäîáðåíèåì àëã îðèòìà ISO/IEC, îíà ïðîñòî ïîêàçûâàåò, ÷òî îäíà èç íàöèîíàëüíûõ îðãàíèçàöèé õî÷åò çàðåãèñòðèðîâàòü àëã îðèòì, íåçàâèñèìî îò êðèòåðèåâ, èñïîëüçóåìûõ äàííîé îðãàíèçàöèåé . Ìåíÿ íå âïå÷àòëèëà ýòà èäåÿ. Ðåãèñòðàöèÿ ìåøàåò ïðîöåññó ñòàíäàðòèçàöèè . Âìåñòî òîãî, ÷òîáû ïðèíÿòü íåñêîëüêî àëãîðèòìîâ, ISO ðåãèñòðèðóåò ëþáîé àëãîðèòì. Ïðè òàêîì êîíòðîëå ìîæíî çàðåãèñòðèðîâàòü âñå, ÷òî óãîäíî, è äàëåå ñ ïîëíûì ïðàâîì ñîïðîâîæäàòü ñâîé àëãîðèòì çâó÷íîé äîáàâêîé "Çàðåãèñòðèðîâàí ISO/IEC 9979 ".  ëþáîì ñëó÷àå ðååñòð âåäåò National Computer Centre Ltd., Oxford Road, Manchester, MI 7ED, United Kingdom. Òàáë. 25-4. Çàðåãèñòðèðîâàííûå àëãîðèòìû ISO/IEC 9979 Ðåãèñòðàöèîííûé íîìåð 0001 0002 0003
Íàçâàíèå B-CRYPT IDEA LUC
25.10 Ïðîôåññèîíàëüíûå è ïðîìûøëåííûå ãðóïïû, à òàêæå ãðóïïû çàùèòí èêîâ ãðàæäàíñêèõ ñâîáîä Èíôîðìàöèîííûé öåíòð ïî ýëåêòðîííîé òàéíå ëè÷íîñòè (EPIC) Èíôîðìàöèîííûé öåíòð ïî ýëåêòðîííîé òàéíå ëè÷íîñòè ( Electronic Privacy Information Center , EPIC) áûë ó÷ðåæäåí â 1994 ãîäó äëÿ ïðèâëå÷åíèÿ îáùåñòâåííîãî âíèìàíèÿ ê âîçíèêàþùèì âîïðîñàì òàéí ëè÷íîñòè, ñâ ÿçàííûì ñ Íàöèîíàëüíîé èíôîðìàöèîííîé èíôðàñòðóêòóðîé , òàêèõ êàê ìèêðîñõåìû Clipper, ïðåäëîæåíèÿ ïî öèôðîâîé òåëåôîíèè, íàöèîíàëüíûå ñèñòåìû èäåíòèôèêàöèîííûõ íîìåðîâ, òàéíû èñòîðèé áîëåçíè è ïðîäàæà ñâåäåíèé î ïîòðåáèòåëÿõ. EPIC âåäåò ñóäåáíûå ïðîöåññû, ñïîíñèðóåò êîíôåðåíöèè, ïóáëèêóåò îò÷åòû, èçäàåò EPIC Alert è ïðîâîäèò êàìïàíèè ïî âîïðîñàì òàéíû ëè÷íîñòè . Æåëàþùèå ïðèñîåäèíèòüñÿ ìîãóò îáðàòèòüñÿ ïî àäðåñó Anyone interested in joining should contact Electronic Privacy Information Center, 666 Pennsylvania Avenue SE, Suite 301, Washington, D.C. 20003 (202,) 544-9240; ôàêñ: (202) 547-5482; Internet:
[email protected]. Ôîíä ýëåêòðîííîãî ôðîíòèðà (EFF) Ôîíä ýëåêòðîííîãî ôðîíòèðà (Electronic Frontier Foundation, EFF) ïîñâÿòèë ñåáÿ çàùèòå ãðàæäàíñêèõ ïðàâ â êèáåðïðîñòðàíñòâå. Ðàññìàòðèâàÿ êðèïòîãðàôè÷åñêóþ ïîëèòèêó ÑØÀ, EFF ñ÷èòàåò, ÷òî èíôîðìàöèÿ è äîñòóï ê êðèïòîãðàôèè ÿâëÿþòñÿ ôóíäàìåíòàëüíûìè ïðàâàìè, è ïîýòîìó ñ íèõ äîëæíû áûòü ñíÿòû ïðàâèòåëüñòâåííûå îãðàíè÷åíèÿ. Ôîíä îðãàíèçîâàë ðàáî÷óþ ãðóïïó ïî öèôðîâîé áåçîïàñíîñòè è òàéíå ëè÷íîñòè (Digital Privacy and Security Working Croup), êîòîðàÿ ÿâëÿåòñÿ êîàëèöèåé 50 îðãàíèçàöèé. Ãðóïïà ïðîòèâîäåéñòâóåò çàêîíó î öèôðîâîé òåëåôîíèè è èíèöèàòèâå Clipper. EFF òàêæå ñîäåéñòâóåò âåäåíèþ ïðîöåññîâ ïðîòèâ êîíòðîëÿ çà ýê ñïîðòîì êðèïòîãðàôèè [143]. Æåëàþùèå ïðèñîåäèíèòüñÿ ê EFF ìîãóò ñâÿçàòüñÿ ñ Electronic Frontier Foundation, 1001 C Street NW, Suite 950E, Washington, D.C. 20001; (202) 347 5400, ôàêñ: (202) 393-5509; Internet:
[email protected]. Àññîöèàöèÿ ïî âû÷èñëèòåëüíîé òåõíèêå (ACM) Àññîöèàöèÿ ïî âû÷èñëèòåëüíîé òåõíèêå ( Association for Computing Machinery , ACM) - ýòî ìåæäóíàðîäíàÿ êîìïüþòåðíàÿ ïðîìûøëåííàÿ îðãàíèçàöèÿ .  1994 ãîäó Êîìèòåò îáùåñòâåííîé ïîëèòèêè ACM ÑØÀ ïðåäñòàâèë ïðåêðàñíûé îò÷åò î êðèïòîãðàôè÷åñêîé ïîëèòèêå ÑØÀ [935]. Åãî ñòîèò ïðî÷èòàòü êàæäîìó, êòî èíòåðåñ óåòñÿ ïîëèòèêîé â êðèïòîãðàôèè. Åãî ìîæíî ïîëó÷èòü ñ ïîìîùüþ àíîíèìíîãî ftp ñ info.acm.org â /reports/acm. crypt_study/acm_crypto_study.ps.
Èíñòèòóò èíæåíåðîâ ïî ýëåêòðè÷åñòâó è ðàäèîýëåêòðîíèêå (IEEE) Èíñòèòóò èíæåíåðîâ ïî ýëåêòðè÷åñòâó è ðàäèîýëåêòðîíèêå ( Institute of Electrical and Electronics Engineers , IEEE) - ýòî äðóãàÿ ïðîôåññèîíàëüíàÿ îðãàíèçàöèÿ . Îòäåëåíèå â ÑØÀ èçó÷àåò âîïðîñû, ñâÿçàííûå ñ òàéíîé ëè÷íîñòè, âêëþ÷àÿ êðèïòîãðàôè÷åñêóþ ïîëèòèêó, èäåíòèôèêàöèîííûå íîìåðà, è çàùèòà òàéí â Internet, è ðàçðàáàòûâàåò ñîîòâåòñòâóþùèå ðåêîìåíäàöèè . Àññîöèàöèÿ ïðîèçâîäèòåëåé ïðîãðàììíîãî îáåñïå÷åíèÿ (SPA) Àññîöèàöèÿ ïðîèçâîäèòåëåé ïðîãðàììíîãî îáåñïå÷åíèÿ ( Software Publishers Association, SPA) - ýòî òîðãîâàÿ àññîöèàöèÿ, â êîòîðóþ âõîäÿò ñâûøå 1000 êîìïàíèé, ðàçðàáàòûâàþùèõ ïðîãðàììíîå îáåñïå÷åíèå äëÿ ïåðñ îíàëüíûõ êîìïàíèé. Îíè âûñòóïàþò çà îñëàáëåíèå ýêñïîðòíîãî êîíòðîëÿ â êðèïòîãðàôèè è ïîääåðæèâàþò ïåð å÷åíü êîììåð÷åñêè äîñòóïíûõ çàðóáåæíûõ ïðîäóêòîâ .
25.11 Sci.crypt Sci.crypt - ýòî òåëåêîíôåðåíöèÿ Usenet ïî êðèïòîëîãèè. Åå ÷èòàþò ïðèìåðíî 100000 ÷åëîâåê ïî âñåìó ìèðó . Áîëüøèíñòâî ñîîáùåíèé - îáû÷íàÿ ÷åïóõà, ïåðåáðàíêà ëè è òî, è äðóãîå îäíîâðåìåííî. Íåêîòîðûå ñîîáùåíèÿ êàñàþòñÿ ïîëèòèêè, à áîëüøèíñòâî îñòàëüíûõ - ïðîñüáû ïðåäîñòàâèòü ñâåäåíèÿ èëè îáùèå . Èíîãäà â ýòîé òåëåêîíôåðåíöèè ñëó÷àéíî ïîïàäàþòñÿ ðàçëè÷íûå ñàìîðîäêè è íåêîòîðàÿ ïîëåçíàÿ èíôîðìàöèÿ . Åñëè ÷èòàòü sci.crypt ðåãóëÿðíî, ìîæíî óçíàòü, êàê èñïîëüçîâàòü íå÷òî, íàçûâàåìîå ôàéëîì-óáèéöåé . Äðóãîé òåëåêîíôåðåíöèåé Usenet ÿâëÿåòñÿ sci.crypt.research, áîëåå óìåðåííàÿ òåëåêîíôåðåíöèÿ, ïîñâÿùåííàÿ îáñóæäåíèþ êðèïòîëîãè÷åñêèõ èññëåäîâàíèé .  íåé ìåíüøå ñîîáùåíèé, è îíè ãîðàçäî èíòåðåñíåå .
25.12 Øèôðîïàíêè Øèôðîïàíêè (Cypherpunks) - ýòî íåôîðìàëüíàÿ ãðóïïà ëþäåé, çàèíòåðåñîâàííûõ â îáó÷åíèè è èçó÷åíèè êðèïòîãðàôèè. Îíè òàêæå ýêñïåðèìåíòèðóþò ñ êðèïòîãðàôèåé, ïûòàÿñü ââåñòè åå â îáèõîä . Ïî èõ ìíåíèþ âñå êðèïòîãðàôè÷åñêèå èññëåäîâàíèÿ íå ïðèíåñëè îáùåñòâó íè÷åãî õîðîøåãî, òàê êàê îíî íå âîñïîëüçîâàëîñü äî ñòèæåíèÿìè êðèïòîãðàôèè.  "Ìàíèôåñòå øèôðîïàíêîâ" Ýðèê Õüþç (Eric Hughes) ïèøåò [744]: Ìû, Øèôðîïàíêè, ñòðåìèìñÿ ñîçäàòü àíîíèìíûå ñèñòåìû . Ìû çàùèùàåì íàøè òàéíû ñ ïîìîùüþ êðèïòîãðàôèè, ñ ï îìîùüþ ñèñòåì àíîíèìíîé îòïðàâêè ïî÷òû, ñ ïîìîùüþ öèôðîâûõ ïîäïèñåé è ýëåêòðîííûõ äåíåã . Øèôðîïàíêè ïèøóò êîä. Ìû çíàåì, ÷òî êòî-òî äîëæåí íàïèñàòü ïðîãðàììíîå îáåñïå÷åíèå, çàùèùàþùåå òàéíû ëè÷í îñòè, è òàê êàê ïîêà ýòî íå ñäåëàíî, ìû íå ñìîæåì îáåñïå÷èòü ñîõðàíåíèå ñâîèõ òàéí, ìû ñîáèðàåìñÿ íàïèñàòü òàêèå ïðîãðà ììû. Ìû ïóáëèêóåì íàø êîä, ÷òîáû íàøè äðóçüÿ Øèôðîïàíêè ìîãëè ïîïðàêòèêîâàòüñÿ è ïîèãðàòü ñ íèì . Íàø êîä ñâîáîäíî ìîæåò èñïîëüçîâàòü êòî óãîäíî è ãäå óãîäíî . Íàñ íå î÷åíü âîëíóåò, íðàâÿòñÿ ëè âàì ïðîãðàììû, êîòîðûå ìû ïèøåì . Ìû çíàåì, ÷òî ïðîãðàììíîå îáåñïå÷åíèå íåâîçìîæíî ðàçðóøèòü, è ÷òî íåâîçìîæíî ïðåêðàòèòü ðàáîòó ðàññåÿííûõ ñèñòåì .
Òå, êòî õî÷åò ïðèñîåäèíèòüñÿ ê ñïèñêó ðàññûëêè øèôðîïàíêîâ â Internet, äîëæíû îòïðàâëÿòü ïî÷òó â àäðåñ
[email protected]. Ñïèñîê ðàññûëêè õðàíèòñÿ íà ftp.csua.berkeley.edu â /pub/cypherpunks.
25.13 Ïàòåíòû Âîïðîñ î ïðîãðàììíûõ ïàòåíòàõ íåâîçìîæíî âòèñíóòü â ðàìêè ýòîé êíèãè . Õîðîøè îíè èëè íåò, îíè ñóùåñòâóþò.  Ñîåäèíåííûõ Øòàòàõ ìîæíî ïàòåíòîâàòü àëãîðèòìû , â òîì ÷èñëå è êðèïòîãðàôè÷åñêèå . IBM âëàäååò ïàòåíòàìè DES [514]. IDEA çàïàòåíòîâàí. Çàïàòåíòîâàíû ïî÷òè âñå àëãîðèòìû ñ îòêðûòûìè êëþ÷àìè . NIST äàæå çàïàòåíòîâàë DSA. Äåéñòâèå ðÿäà êðèïòîãðàôè÷åñêèõ ïàòåíòîâ áûëî áëîêèðîâàíî âìåøàòåëüñòâîì NSA, â ñîîòâåòñòâèè ñ Àêòîì î ñåêðåòíîñòè èçîáðåòåíèé ( Invention Secrecy Act) îò 1940 ãîäà è Àêòîì î íàöèîíàëüíîé áåçîïàñíîñòè (National Security Act) îò 1947 ãîäà. Ýòî îçíà÷àåò, ÷òî âìåñòî ïàòåíòà èçîáðåòàòåëü ïîëó÷àåò ñå êðåòíîå ïîñòàíîâëåíèå, è åìó çàïðåùàåòñÿ îáñóæäàòü åãî èçîáðåòåíèå ñ êåì-íèáóäü åùå . Ó NSA åñòü îñîáûå âîçìîæíîñòè ïðè ïàòåíòîâàíèè . Àãåíòñòâî ìîæåò îáðàòèòüñÿ çà ïàòåíòîì è çàòåì áë îêèðîâàòü åãî âûäà÷ó. Ñíîâà ïîÿâëÿåòñÿ ñåêðåòíîå ïîñòàíîâëåíèå, íî òåïåðü NSA îäíîâðåìåííî è èçîáðåòàòåëü, è èçäàòåëü ïîñòàíîâëåíèÿ. Êîãäà ñïóñòÿ íåêîòîðîå âðåìÿ ñåêðåòíîå ïîñòàíîâëåíèå îòìåíÿåòñÿ , ðåãèñòðàöèîííàÿ êîíòîðà âûäàåò ïàòåíò, äåéñòâóþùèé ñòàíäàðòíûå 17 ëåò years. Ýòî áîëåå ÿâíî çàùèùàåò èçîáðåòåíèå, ÷åì õðàíåíèå åãî â ñåêðåòå. Åñëè êîìó-íèáóäü óäàñòñÿ èçîáðåñòè òî æå ñàìîå , NSA óæå ïîäàëî çàÿâêó íà ïàòåíò. Åñëè íèêîìó äðóãîìó íå óäàñòñÿ èçîáðåñòè òî æå ñàìîå, èçîáðåòåíèå îñòàåòñÿ ñå êðåòíûì. Íåñìîòðÿ íà òî, ÷òî ïðîöåññ ïàòåíòîâàíèÿ äîëæåí íå òîëüêî çàùèùàòü èçîáðåòåíèÿ, íî è ðàñêðûâàòü èõ, áëàãîäàðÿ ýòîé óëîâêå NSA ìîæåò äåðæàòü ïàòåíò äîëüøå 17 ëåò. Îòñ÷åò 17-ëåòíåãî ñðîêà íà÷èíàåòñÿ ñ ìîìå íòà âûäà÷è ïàòåíòà, à íå ïîäà÷è çàÿâêè . Ïîêà íåÿñíî, êàê âñå ìîæåò èçìåíèòüñÿ â ñâÿçè ñ ðàòèôèêàöèåé äîãîâîðà î GATT Ñîåäèíåííûìè Øòàòàìè.
25.14 Ýêñïîðòíîå çàêîíîäàòåëüñòâî ÑØÀ Ñîãëàñíî ïðàâèòåëüñòâó ÑØÀ êðèïòîãðàôèÿ îòíîñèòñÿ ê âîåííîìó ñíàðÿæåíèþ . Ýòî îçíà÷àåò, ÷òî êðèïòîãðàôèÿ ïîä÷èíÿåòñÿ òåì æå çàêîíàì, ÷òî è ðàêåòà TOW èëè òàíê Ì1 Àáðàìñ. Åñëè âû ïðîäàåòå êðèïòîãðàôè÷ åñêèé ïðîäóêò áåç ñîîòâåòñòâóþùåé ýêñïîðòíîé ëèöåíçèè, òî âû - ìåæäóíàðîäíûé êîíòðàáàíäèñò îðóæèåì . Åñëè âû íå õîòèòå èñïîðòèòü âàøå ðåçþìå ñòðîêîé î ïðåáûâàíèè â ôåäåðàëüíîé òþðüìå, îáðàòèòå âíèìàíèå íà çàê îíîäàòåëüñòâî. Ñ íà÷àëîì â 1949 ãîäó õîëîäíîé âîéíû âñå ñòðàíû ÍÀÒÎ (êðîìå Èñëàíäèè), à çàòåì Àâñòðàëèÿ, ßïîíèÿ è Èñïàíèÿ, îáðàçîâàëè ÊÎÊÎÌ - Êîîðäèíàöèîííûé êîìèòåò äëÿ ìíîãîñòîðîííåãî êîíòðîëÿ çà ýêñïîðòîì (CoCom, Coordinating Committee for Multilateral Export Controls ). Ýòî íåîôèöèàëüíàÿ îðãàíèçàöèÿ, ïðèçâàííàÿ êîîðäèíèðîâàòü íàöèîíàëüíûå îãðàíè÷åíèÿ, êàñàþùèåñÿ ýêñïîðòà âàæíûõ âîåííûõ òåõíîëîãèé â Ñîâåòñêèé Ñîþç, äðóãèå ñòðàíû Âàðøàâñêîãî Äîãîâîðà è Êèòàéñêóþ Íàðîäíóþ Ðåñïóáëèêó . Ïðèìåðàìè êîíòðîëèðóåìûõ òåõíîëîãèé ÿâëÿþòñÿ êîìïüþòåðû, ñòàíêè äëÿ ìåòàëëîïðîêàòà è êðèïòîãðàôèÿ . Öåëüþ ýòîé îðãàíèçàöèè ÿâëÿëîñü çàìåäëåíèå ïåðåäà÷è òåõíîëîãèé â óêàçàííûå ñòðàíû, è ñäåðæèâàíèå, òàêèì îáðàçîì, èõ âîåííîãî ïîòå íöèàëà. Ñ êîíöîì õîëîäíîé âîéíû ñòðàíû ÊÎÊÎÌ îñîçíàëè, ÷òî âûïîëíÿåìûé èìè êîíòðîëü áîëüøåé ÷àñòüþ óñò àðåë.  íàñòîÿùåå âðåìÿ, ïî âèäèìîìó, èäåò ïðîöåññ ôîðìèðîâàíèÿ "Íîâîãî ôîðóìà", äðóãîé ìåæäóíàðîäíîé îðãàíèçàöèè, êîòîðàÿ ñîáèðàåòñÿ îñòàíîâèòü ïîòîê âîåííûõ òåõíîëîãèé â ñòðàíû, êîòîðûå íå íðàâÿòñÿ ÷ëåíàì îðãàíèçàöèè.  ëþáîì ñëó÷àå ýêñïîðòíàÿ ïîëèòèêà ÑØÀ â îòíîøåíèè ñòðàòåãè÷åñêèõ òîâàðîâ ðåãóëèðóåòñÿ Ïðàâèòåëüñ òâåííûì àêòîì îá ýêñïîðòå (Export Administration Act), Àêòîì î êîíòðîëå íàä ýêñïîðòîì âîîðóæåíèÿ (Arms Export Control Act), Àêòîì îá àòîìíîé ýíåðãèè (Atomic Energy Act) è Àêòîì î íåðàñïðîñòðàíåíèè ÿäåðíûõ âîîð óæåíèé (Nuclear Non-Proliferation Act). Êîíòðîëü, óñòàíîâëåííûé ýòèì çàêîíîäàòåëüñòâîì, ðåàëèçóåòñÿ ñ ïîì îùüþ ìíîãèõ ïîäçàêîííûõ àêòîâ , íè îäèí èç íèõ íå êîîðäèíèðóåò äðóãîé . Ñâûøå äþæèíû îðãàíèçàöèé, âêë þ÷àÿ âîåííûå ñëóæáû, îñóùåñòâëÿþò êîíòðîëü, ÷àñòî èõ äåÿòåëüíîñòü ïåðåêðûâàåòñÿ è êîíôëèêòóåò . Ïîäêîíòðîëüíûå òåõíîëîãèè ôèãóðèðóþò â íåñêîëüêèõ ñïèñêàõ . Êðèïòîãðàôèÿ, ïî òðàäèöèè îòíîñÿùàÿñÿ ê âîîðóæåíèþ, ïîÿâëÿåòñÿ â Ïåðå÷íå âîîðóæåíèé ÑØÀ ( U.S. Munitions List, USML), Ìåæäóíàðîäíîì ïåðå÷íå âîîðóæåíèé (International Munitions List, IML), Ïåðå÷íå êîíòðîëÿ çà òîðãîâëåé (Commerce Control List, CCL) è Ìåæäóíàðîäíîì ïðîìûøëåííîì ïåðå÷íå ( International Industrial List, IIL). Ãîñäåïàðòàìåíò îòâå÷àåò çà USML, îí ïóáëèêóåòñÿ êàê ÷àñòü Ðåãóëèðîâàíèÿ ìåæäóíàðîäíîãî òðàôèêà îðóæèÿ ( International Traffic in Arms Regul ations, ITAR) [466, 467]. Ýêñïîðò êðèïòîãðàôèè â ÑØÀ êîíòðîëèðóåòñÿ äâóìÿ ïðàâèòåëüñòâåííûìè îðãàíèçàöèÿìè . Îäíîé ÿâëÿåòñÿ Êîìèòåò ïî óïðàâëåíèþ ýêñïîðòîì ( Bureau of Export Administration , BXA) â Ìèíèñòåðñòâå òîðãîâëè, óïîëíîìî÷åííûé Ïðàâèëàìè ðåãóëèðîâàíèÿ ýêñïîðòà ( Export Administration Regulations , EAR). Äðóãàÿ - ýòî Óïðàâëåíèå ïî ðåãóëèðîâàíèþ ïðîäàæè ñðåäñòâ îáîðîíû (Office of Defense Trade Controls, DTC) â Ãîñóäàðñòâåííîì äåïàðòàìåíòå, óïîëíîìî÷åííîå ITAR. Ïî îïûòó òðåáîâàíèÿ BXA èç Ìèíèñòåðñòâà òîðãîâëè ìåíåå ñòðîãè , íî ñíà÷àëà âåñü êðèïòîãðàôè÷åñêèé ýêñïîðò ïðîñìàòðèâàåòñÿ DTC èç Ãîñäåïàðòàìåíòà (êîòîðîå ïîëó÷àåò ñîâåòû ïî òåõíèêå è íàöèîíàëüíîé áåçîïàñíîñòè îò NSA è, êàæåòñÿ, âñåãäà ñëåäóåò ýòèì ñîâåòàì ), êîòîðîå ìîæåò îòêàçàòü ïåðåäàòü ïðàâî ðåøåíèÿ BXA. ITAR ðåãóëèðóåò ýòîò ïðîöåññ. (Äî 1990 ãîäà Óïðàâëåíèå DTC íàçûâàëîñü Óïðàâëåíèåì ïî êîíòðîëþ íàä âîîðóæåíèåì, âîçìîæíî, ýòè óñèëèÿ â îáëàñòè "ïàáëèê ðèëåéøíç" íàïðàâëåíû íà òî, ÷òîáû ìû çàáûëè, ÷òî ìû èìååì äåëî ñ áîìáàìè è ïóøêàìè .) Èñòîðè÷åñêè DTC ñîïðîòèâëÿëîñü âûäà÷å ýêñïîðòíûõ ëèöåíçèé íà ñðåäñòâà øèôðîâàíèÿ ñèëüíåå îïðåäåëåííîãî óðîâíÿ - õîòÿ î òîì, êàêîâ ýòîò óðîâåíü, íèêîãäà íå ñîîáùàëîñü . Ñëåäóþùèå ðàçäåëû âçÿòû èç ITAR [466, 467]: § 120.10 Òåõíè÷åñêèå äàííûå. Òåõíè÷åñêèå äàííûå - ýòî, â íàñòîÿùåì ïîäïóíêòå : (1) Èíôîðìàöèÿ, îòëè÷íàÿ îò ïðîãðàììíîãî îáåñïå÷åíèÿ , îïðåäåëåííîãî â 120.10(d), êîòîðàÿ íóæíà äëÿ ïðîåêòèðîâàíèÿ, ðàçðàáîòêè, ïðîèçâîäñòâà, îáðàáîòêè, èçãîòîâëåíèÿ, ñáîðêè, ðàáîòû, ðåìîíòà, ïîääåðæêè èëè ìîäèôèêàöèè ñðåäñòâ îáîðîíû . Ýòî, íàïðèìåð, èíôîðìàöèÿ â ôîðìå ñâåòîêîïèé, ÷åðòåæåé, ôîòîãðàôèé, ïëàíîâ, èíñòðóêöèé è äîêóìå íòàöèè; (2) Ñåêðåòíàÿ èíôîðìàöèÿ, êàñàþùàÿñÿ ñðåäñòâ îáîðîíû è îáîðîííîé äåÿòåëüíîñòè ; (3) Èíôîðìàöèÿ, îõâàòûâàåìàÿ ïîñòàíîâëåíèåì î çàñåêðå÷èâàíèè èçîáðåòåíèÿ ; (4) Ïðîãðàììíîå îáåñïå÷åíèå, îïðåäåëåííîå â ðàçäåëå 121.8(f) è íåïîñðåäñòâåííî ñâÿçàííîå ñî ñðåäñòâàìè îáîðîíû (5) Ýòî îïðåäåëåíèå íå âêëþ÷àåò èíôîðìàöèþ, êàñàþùóþñÿ îáùåíàó÷íûõ, ìàòåìàòè÷åñêèõ èëè èíæåíåðíûõ ïðèíö èïîâ, îáû÷íî èçó÷àåìûõ â îáùåäîñòóïíûõ øêîëàõ, êîëëåäæàõ è óíèâåðñèòåòàõ, êàê îïðåäåëåíî â § 120.11. Îíî òàêæå íå âêëþ÷àåò áàçîâóþ ðûíî÷íóþ èíôîðìàöèþ î ôóíêöèè, íàçíà÷åíèè èëè îáùåñèñòåìíîì îïèñàíèè ñðåäñòâ îáîðîíû . § 120.11 Îòêðûòûé äîñòóï. Îòêðûòûé äîñòóï îáîçíà÷àåò èíôîðìàöèþ, êîòîðàÿ îïóáëèêîâûâàåòñÿ è ìîæåò áûòü îáùåäîñòóïíîé : (1) Ñ ïîìîùüþ ïðîäàæè â êèîñêàõ è êíèæíûõ ìàãàçèíàõ ; (2) Ñ ïîìîùüþ ïîäïèñêè, êîòîðàÿ äîñòóïíà áåç îãðàíè÷åíèé äëÿ ëþáîãî, êòî õî÷åò ïîëó÷èòü èëè ïðèîáðåñòè îïóáëèê îâàííóþ èíôîðìàöèþ; (3) Ñ ïîìîùüþ ïî÷òîâûõ ïðèâèëåãèé âòîðîãî êëàññà, âûäàííûõ ïðàâèòåëüñòâîì ÑØÀ ; (4)  áèáëèîòåêàõ, îòêðûòûõ äëÿ ïóáëèêè, èëè â êîòîðûõ ïóáëèêà ìîæåò ïîëó÷èòü äîêóìåíòû ; (5) Ñ ïîìîùüþ ïàòåíòîâ, äîñòóïíûõ â ëþáîé ïàòåíòíîé êîíòîðå ;
(6) Ñ ïîìîùüþ íåîãðàíè÷åííîãî ðàñïðîñòðàíåíèÿ íà êîíôåðåíöèè, âñòðå÷å, ñåìèíàðå, ïðåçåíòàöèè èëè âûñòàâêå, äî ñòóïíûõ îáû÷íîé ïóáëèêå â Ñîåäèíåííûõ Øòàòàõ ; (7) Ñ ïîìîùüþ ñîîáùåíèé äëÿ ïå÷àòè (ò.å., íåîãðàíè÷åííîå ðàñïðîñòðàíåíèå ) â ëþáîé ôîðìå (íàïðèìåð, íåîáÿçàòåëüíî îïóáëèêîâàííîé), îäîáðåííûõ êîìïåòåíòíûìè îðãàíàìè ÑØÀ (ñì. òàêæå § 125.4(b)(13)). (8) Ñ ïîìîùüþ ôóíäàìåíòàëüíûõ èññëåäîâàíèé â íàóêå è òåõíèêå â àêêðåäèòîâàííûõ âûñøèõ ó÷åáíûõ çàâåäåíèÿõ ÑØÀ, ãäå ïîëó÷åííàÿ èíôîðìàöèÿ îáû÷íî ïóáëèêóåòñÿ è øèðîêî ðàñïðîñòðàíÿåòñÿ â íàó÷íîì ñîîáùåñòâå . Ôóíäàìåíòàëüíûìè íàçûâàþòñÿ áàçîâûå è ïðèêëàäíûå èññëåäîâàíèÿ â íàóêå è òåõíèêå, êîãäà ïîëó÷åííàÿ èíôîðìàöèÿ îáû÷íî ïóáëèêóå òñÿ è øèðîêî ðàñïðîñòðàíÿåòñÿ â íàó÷íîì ñîîáùåñòâå â îòëè÷èå îò èññëåäîâàíèé, ðåçóëüòàòû êîòîðûõ íå ðàçãëàøàþòñÿ èç-çà ïðàâ ñîáñòâåííîñòè èëè îïðåäåëåííîãî êîíòðîëÿ äîñòóïà è ðàñïðîñòðàíåíèÿ ïðàâèòåëüñòâîì ÑØÀ . Óíèâåðñèòåòñêèå èññëåäîâàíèÿ íå ñ÷èòàþòñÿ ôóíäàìåíòàëüíûìè, åñëè : (i) Óíèâåðñèòåò èëè åãî èññëåäîâàòåëè ñîãëàøàþòñÿ ñ äðóãèìè îãðàíè÷åíèÿìè íà ïóáëèêàöèþ íàó÷íî-òåõíè÷åñêîé è íôîðìàöèè, ïîëó÷åííîé â ðåçóëüòàòå ðàáîòû íàä ïðîåêòîì, èëè (ii) Èññëåäîâàíèÿ ôèíàíñèðóþòñÿ ïðàâèòåëüñòâîì ÑØÀ, à äîñòóï ê ðåçóëüòàòàì èññëåäîâàíèé è èõ ðàñïðîñòðàíåíèå í àõîäèòñÿ îãðàíè÷åíû ñ öåëüþ çàùèòû èíôîðìàöèè . § 120.17 Ýêñïîðò. Ïîä ýêñïîðòîì ïîíèìàåòñÿ: (1) Ïåðåäà÷à èëè âûâîç ñðåäñòâ îáîðîíû çà ïðåäåëû Ñîåäèíåííûõ Øòàòîâ ëþáûì ñïîñîáîì, êðîìå ïóòåøåñòâèÿ çà ïð åäåëû Ñîåäèíåííûõ Øòàòîâ ëèöà, ÷üè ëè÷íûå çíàíèÿ âêëþ÷àþò òåõíè÷åñêèå äàííûå ; èëè (2) Ïåðåäà÷à èíîñòðàííîìó ëèöó ïðàâ ðåãèñòðàöèè, óïðàâëåíèÿ èëè ñîáñòâåííîñòè íà ëþáîé ñàìîëåò, ñóäíî èëè ñïó òíèê, ïðèñóòñòâóþùèé â Ïåðå÷íå âîîðóæåíèé ÑØÀ, â Ñîåäèíåííûõ Øòàòàõ èëè çà èõ ïðåäåëàìè ; èëè (3) Ðàñêðûòèå (â òîì ÷èñëå óñòíîå èëè âèçóàëüíîå ) èëè ïåðåäà÷à â Ñîåäèíåííûõ Øòàòàõ ëþáûõ ñðåäñòâ îáîðîíû ïîñîë üñòâó, ó÷ðåæäåíèþ èëè ïîäðàçäåëåíèþ èíîñòðàííîãî ïðàâèòåëüñòâà (íàïðèìåð, äèïëîìàòè÷åñêèì ìèññèÿì ); èëè (4) Ðàñêðûòèå (â òîì ÷èñëå óñòíîå èëè âèçóàëüíîå ) èëè ïåðåäà÷à òåõíè÷åñêèõ äàííûõ èíîñòðàííîìó ëèöó â Ñîåäèíåííûõ Øòàòàõ èëè çà èõ ïðåäåëàìè; èëè (5) Âûïîëíåíèå îáîðîííîé äåÿòåëüíîñòè îò èìåíè èëè äëÿ âûãîäû èíîñòðàííîãî ëèöà â Ñîåäèíåííûõ Øòàòàõ èëè çà èõ ïðåäåëàìè. (6) Çàïóñêàåìûé àïïàðàò èëè ïîëåçíàÿ íàãðóçêà íå äîëæíû, ïðè çàïóñêå òàêîãî àïïàðàòà, ðàññìàòðèâàòüñÿ êàê ýêñïîðò. Îäíàêî äëÿ îïðåäåëåííûõ öåëåé (ñì § 126.1 ýòîãî ïîäïóíêòà), ïîëîæåíèÿ ýòîãî ïîäïóíêòà ïðèìåíèìû ê ïðîäàæàì è äðóãèì ñïîñîáàì ïåðåäà÷è ñðåäñòâ îáîðîíû èëè ïðîäóêòîâ îáîðîíèòåëüíîé äåÿòåëüíîñòè . ×àñòü 121- Ïåðå÷åíü âîîðóæåíèé ÑØÀ § 121.1 Îáùèå ïîëîæåíèÿ. Ïåðå÷åíü âîîðóæåíèé ÑØÀ Category XIIIÄîïîëíèòåëüíîå âîåííîå ñíàðÿæåíèå (1) Êðèïòîãðàôè÷åñêèå (âêëþ÷àÿ óïðàâëåíèå êëþ÷àìè) ñèñòåìû , àïïàðàòóðà, êîíñòðóêöèè, ìîäóëè, èíòåãðàëüíûå ñõåìû, êîìïîíåíòû èëè ïðîãðàììíîå îáåñïå÷åíèå ñ âîçìîæíîñòüþ ïîääåðæêè ñåêðåòíîñòè èëè êîíôèäåíöèàëüíîñòè èíôîðìàöèè èëè èíôîðìàöèîííûõ ñèñòåì, êðîìå ñëåäóþùåãî êðèïòîãðàôè÷åñêîãî îáîðóäîâàíèÿ è ïðîãðàììíîãî îáåñïå÷åíèÿ : (i)Ñïåöèàëüíî ñïðîåêòèðîâàííîå äëÿ âûïîëíåíèÿ çàùèùåííûì îò êîïèðîâàíèÿ ïðîãðàììíûì îáåñïå÷åíèåì òîëüêî ôóíêöèé äåøèôðèðîâàíèÿ ïðè óñëîâèè, ÷òî óïðàâëåíèå äåøèôðèðîâàíèåì íåäîñòóïíî ïîëüçîâàòåëþ . (ii) Ñïåöèàëüíî ñïðîåêòèðîâàííîå, ðàçðàáîòàííîå èëè ìîäèôèöèðîâàííîå äëÿ èñïîëüçîâàíèÿ â ìàøèíàõ äëÿ áàíêîâñêèõ îïåðàöèé èëè äåíåæíûõ òðàíçàêöèé, êîòîðîå ìîæíî èñïîëüçîâàòü òîëüêî äëÿ òàêèõ òðàíçàêöèé . Ìàøèíû äëÿ áàíêîâñêèõ îïåðàöèé èëè äåíåæíûõ òðàíçàêöèé âêëþ÷àþò àâòîìàòè÷åñêèå êàññîâûå àïïàðàòû , ñàìîîáñëóæèâàåìûå ïå÷àòàþùèå óñ òðîéñòâà, òîðãîâûå òåðìèíàëû èëè îáîðóäîâàíèå äëÿ øèôðîâàíèÿ ìåæáàíêîâñêèõ òðàíçà êöèé. (iii) Èñïîëüçóþùåå òîëüêî àíàëîãîâûå ìåòîäû äëÿ êðèïòîãðàôè÷åñêîé îáðàáîòêè, êîòîðàÿ îáåñïå÷èâàåò áåçîïàñíîñòü èíôîðìàöèè â ñëåäóþùèõ ïðèëîæåíèÿõ . . . . (iv) Ïåðñîíàëüíûå èíòåëëåêòóàëüíûå êàðòî÷êè, èñïîëüçîâàíèå êîòîðûõ âîçìîæíî òîëüêî â îáîðóäîâàíèè èëè ñèñòåìàõ, íå ïîïàäàþùèõ ïîä ðåãóëèðîâàíèå USML. (v) Ñ îãðàíè÷åíèåì äîñòóïà, òàêèå êàê àâòîìàòè÷åñêèå êàññîâûå àïïàðàòû , ñàìîîáñëóæèâàåìûå ïå÷àòàþùèå óñòðîéñòâà èëè òîðãîâûå òåðìèíàëû, êîòîðûå îáåñïå÷èâàþò çàùèòó ïàðîëåé èëè ïåðñîíàëüíûõ èäåíòèôèêàöèîííûõ íîìåðîâ (PIN) èëè àíàëîãè÷íûõ äàííûõ, ÷òîáû ïðåäîòâðàòèòü íåñàíêöèîíèðîâàííûé äîñòóï ê ñðåäñòâàì, íî íå ìîãóò øèôðîâàòü ôàéëû èëè òåêñòû, íå ïîñðåäñòâåííî íå ñâÿçàííûå ñ çàùèòîé ïàðîëåé èëè PIN. (vi) Îñóùåñòâëÿþùåå òîëüêî ïðîâåðêó ïîäëèííîñòè äàííûõ ñ ïîìîùüþ âû÷èñëåíèÿ êîäà ïðîâåðêè ïîäëèííîñòè ñîî áùåíèÿ (MAC) èëè àíàëîãè÷íîé ôóíêöèè äëÿ ïðîâåðêè, ÷òî â òåêñò íå áûëî âíåñåíî èçìåíåíèé, èëè äëÿ ïðîâåðêè ïîäëèíí îñòè ïîëüçîâàòåëåé, íî êîòîðîå íåëüçÿ èñïîëüçîâàòü äëÿ øèôðîâàíèÿ äàííûõ, òåêñòà èëè äðóãîé èíôîðìàöèè ïîìèìî íåîáõ îäèìîé äëÿ ïðîâåðêè ïîäëèííîñòè . (vii) Èñïîëüçóþùåå òîëüêî ôèêñèðîâàííûå ìåòîäû ñæàòèÿ è êîäèðîâàíèÿ äàííûõ . (viii) Èñïîëüçóåìîå òîëüêî äëÿ ðàäèîâåùàíèÿ, ïëàòíîãî òåëåâèäåíèÿ èëè àíàëîãè÷íûõ òåëåâèçèîííûõ ñèñòåì ñ îãðàí è÷åííîé àóäèòîðèåé, áåç öèôðîâîãî øèôðîâàíèÿ, è â êîòîðûõ öèôðîâîå äåøèôðèðîâàíèå îãðàíè÷åíî òîëüêî âèäåî- è àóäè îôóíêöèÿìè èëè óïðàâëåíèåì. (ix) Ïðîãðàììíîå îáåñïå÷åíèå, ñïðîåêòèðîâàííîå èëè ìîäèôèöèðîâàííîå äëÿ çàùèòû îò çëîóìûøëåííûõ êîìïüþòåðíûõ ïîâðåæäåíèé, (íàïðèìåð, âèðóñîâ). (2) Êðèïòîãðàôè÷åñêèå (âêëþ÷àÿ óïðàâëåíèå êëþ÷àìè) ñèñòåìû , àïïàðàòóðà, êîíñòðóêöèè, ìîäóëè, èíòåãðàëüíûå ñõåìû, êîìïîíåíòû èëè ïðîãðàììíîå îáåñïå÷åíèå ñ âîçìîæíîñòüþ ãåíåðàöèè ðàñïðîñòðàíÿåìûõ êîäîâ äëÿ áîëüøîãî êîëè÷åñòâà ñèñòåì èëè óñòðîéñòâ: (3) Êðèïòîãðàôè÷åñêèå ñèñòåìû, àïïàðàòóðà, êîíñòðóêöèè, ìîäóëè, èíòåãðàëüíûå ñõåìû, êîìïîíåíòû èëè ïðîãðàììíîå îáåñïå÷åíèå. § 125.2 Ýêñïîðò íåñåêðåòíûõ òåõíè÷åñêèõ äàííûõ . (a) Îáùèå ïîëîæåíèÿ. Äëÿ ýêñïîðòà íåñåêðåòíûõ òåõíè÷åñêèõ äàííûõ íåîáõîäèìà ëèöåíçèÿ (DSP-5), åñëè ýòè äàííûå íå èñêëþ÷åíû èç ëèöåíçèðóþùèõ òðåáîâàíèé äàííîãî ïîäïóíêòà .  ñëó÷àå ïëàíîâîãî âèçèòà äåòàëè ïðåäïîëàãàåìûõ äèñêó ññèé äîëæíû áûòü ïåðåäàíû â Óïðàâëåíèå ïî ðåãóëèðîâàíèþ ïðîäàæè ñðåäñòâ îáîðîíû äëÿ ýêñïåðòèçû òåõíè÷åñêèõ äàííûõ . Äîëæíî áûòü ïðåäîñòàâëåíî ñåìü êîïèé òåõíè÷åñêèõ äàííûõ èëè òåì äè ñêóññèé. (b) Ïàòåíòû. Ïðè ýêñïîðòå òåõíè÷åñêèõ äàííûõ òðåáóåòñÿ ëèöåíçèÿ, âûäàííàÿ Óïðàâëåíèåì ïî ðåãóëèðîâàíèþ ïðîäàæè ñðåäñòâ îáîðîíû, åñëè äàííûå ïðåâûøàþò íåîáõîäèìûå äëÿ çàïîëíåíèÿ âíóòðåííåé ïàòåíòíîé çàÿâêè èëè äëÿ çàïîëíåíèÿ èíîñòðàííîé ïàòåíòíîé çàÿâêè, åñëè âíóòðåííÿÿ çàÿâêà íå áûëà çàïîëíåíà . Çàÿâêè íà ïàòåíòîâàíèå çà ðóáåæîì, âûïîëíåíèå â òàêèõ ïàòåíòàõ óëó÷øåíèé, ìîäèôèêàöèé èëè äîïîëíåíèé äîëæíû ðåãóëèðîâàòüñÿ Óïðàâëåíèåì ïî ïàòåíòàì è òîðãîâûì çíàêàì ÑØÀ â ñîîòâåòñòâèè ñ 37 CFR, ÷àñòü 5. Ýêñïîðò òåõíè÷åñêèõ äàííûõ, íåîáõîäèìûõ äëÿ ïàòåíòîâàíèÿ â äðóãèõ ñòð àíàõ, ÿâëÿåòñÿ ñóáúåêòîì íîðì, èçäàâàåìûõ Óïðàâëåíèåì ïî ïàòåíòàì è òîðãîâûì çíàêàì ÑØÀ, â ñîîòâåòñòâèè ñ 35 U.S.C. 184. (c) Ðàñêðûòèÿ. Äëÿ óñòíîãî, âèçóàëüíîãî èëè äîêóìåíòàëüíîãî ðàñêðûòèÿ òåõíè÷åñêèõ äàííûõ ãðàæäàíàìè ÑØÀ èí îñòðàííûì ëèöàì òðåáóåòñÿ ëèöåíçèÿ, åñëè â äàííîì ïîäïóíêòå íå îãîâîðåíî èíîå . Ëèöåíçèÿ òðåáóåòñÿ íåçàâèñèìî îò ôîðìû ïåðåäà÷è òåõíè÷åñêèõ äàííûõ (íàïðèìåð, ëè÷íî, ïî òåëåôîíó, â ïåðåïèñêå, ýëåêòðîííûìè ñðåäñòâàìè, è ò.ä.). Ëèöåíçèÿ òðå-
áóåòñÿ äëÿ òàêèõ ðàñêðûòèé, äåëàåìûõ ãðàæäàíàìè ÑØÀ ïðè ïîñåùåíèè èíîñòðàííûõ äèïëîìàòè÷åñêèõ ìèññèé è êî íñóëüñòâ.
È òàê äàëåå.  ýòîì äîêóìåíòå íàìíîãî áîëüøå èíôîðìàöèè. Åñëè âû ñîáèðàåòåñü ýêñïîðòèðîâàòü êðèïò îãðàôèþ, ÿ ñîâåòóþ âàì äîáûòü åãî êîïèþ è âîñïîëüçîâàòüñÿ óñëóãàìè þðèñòà, êîòîðûé âî âñåì ýòîì ðàçáèðàå òñÿ.  äåéñòâèòåëüíîñòè ýêñïîðò êðèïòîãðàôè÷åñêèõ ïðîäóêòîâ êîíòðîëèðóåòñÿ NSA. Åñëè âàì íóæíî ïîëó÷èòü ñâèäåòåëüñòâî î ïðèçíàíèè âàøåãî ïðîäóêòà ïðåäìåòîì îáùåãî ïîòðåáëåíèÿ ( Commodity Jurisdiction, CJ), âû äîëæíû ïðåäñòàâèòü âàø ïðîäóêò íà îäîáðåíèå â NSA è ïîäàòü â Ãîñóäàðñòâåííûé äåïàðòàìåíò çàÿâêó íà ï îëó÷åíèå CJ. Ïîñëå îäîáðåíèÿ â Ãîñäåïàðòàìåíòå äåëî ïîïàäàåò ïîä þðèñäèêöèþ Ìèíèñòåðñòâà òîðãîâëè , êîòîðîå íèêîãäà îñîáåííî íå èíòåðåñîâàëîñü êðèïòîãðàôèåé . Îäíàêî Ãîñóäàðñòâåííûé äåïàðòàìåíò íèêîãäà íå â ûäàñò CJ áåç îäîáðåíèÿ NSA.  1977 ãîäó Äæîçåô À. Ìåéåð (Joseph A. Meyer), ñëóæàùèé NSA, íàïèñàë ïèñüìî - íåñàíêöèîíèðîâàííîå, â ñîîòâåòñòâèè ñ îôèöèàëüíîé èñòîðèåé èíöèäåíòà - â IEEE, ïðåäóïðåæäàþùåå, ÷òî ïëàíèðóåìîå ïðåäñòàâëåíèå îðèãèíàëüíîé ðàáîòû RSA íàðóøèò ITAR. Èç The Puzzle Palace: Âîò åãî òî÷êà çðåíèÿ. ITAR îõâàòûâàåò âñþ "íåñåêðåòíóþ èíôîðìàöèþ, êîòîðàÿ ìîæåò áûòü èñïîëüçîâàíà, èëè àäàïò èðîâàíà äëÿ èñïîëüçîâàíèÿ, ïðè ïðîåêòèðîâàíèè, ïðîèçâîäñòâå, èçãîòîâëåíèè, ðåìîíòå, êàïèòàëüíîì ðåìîíòå, ïåðåðàáîòêå, êîíñòðóèðîâàíèè, ðàçðàáîòêå, äåéñòâèè, ïîääåðæêå èëè âîññòàíîâëåíèè " ïåðå÷èñëåííûõ ìàòåðèàëîâ, òàêæå êàê è "ëþáóþ òåõíîëîãèþ, êîòîðàÿ ðàçâèâàåò îïðåäåëåííîå óìåíèå èëè ñîçäàåò íîâîå â îáëàñòè, êîòîðàÿ èìååò âàæíîå âîåííîå ïðèìåíåíèå â Ñîåäèíåííûõ Øòàòàõ." È ýêñïîðò äåéñòâèòåëüíî âêëþ÷àë ïåðåäà÷ó èíôîðìàöèè êàê â ïèñüìåííîì âèäå, òàê è ñ ïîìîùüþ óñòíûõ èëè âèçóàëüíûõ ñðåäñòâ , âêëþ÷àÿ êðàòêèå îáñóæäåíèÿ è ñèìïîçèóìû, íà êîòîðûõ áûëè ïðåäñòàâëåíû èíîñòðà íöû. Íî, áóêâàëüíî ñëåäóÿ òóìàííîìó, ÷àñòî ñëèøêîì ïðîñòðàííîìó çàêîíîäàòåëüñòâó, êàæåòñÿ, òðåáóåòñÿ, ÷òîáû êàæäûé, êòî ñîáèðàåòñÿ íàïèñàòü èëè çàÿâèòü ÷òî-òî íà òåìó , êàñàþùóþñÿ Ïåðå÷íÿ âîîðóæåíèé, ñíà÷àëà ïîëó÷èë áû îäîáðåíèå Ãîñóäà ðñòâåííîãî äåïàðòàìåíòà - ýòà óíûëàÿ ïåðñïåêòèâà ÿâíî ïðîòèâîðå÷èò Ïåðâîé ïîïðàâêå è òðåáóåò ïîäòâåðæäåíèÿ Âåðõîâíûì ñóäîì.
 êîíöå êîíöîâ NSA ïðèçíàëî äåéñòâèÿ Ìåéåðà íåñàíêöèîíèðîâàííûìè, è ðàáîòà ïî RSA áûëà îïóáëèêîâàíà, êàê ïëàíèðîâàëîñü. Ïðîòèâ èçîáðåòàòåëåé íå áûëî ïðåäïðèíÿòî íèêàêèõ äåéñòâèé , õîòÿ ìîæåò áûòü äîêàçàíî, ÷òî èõ ðàáîòà óâåëè÷èëà âîçìîæíîñòè çàðóáåæíîé êðèïòîãðàôèè ãîðàçäî áîëüøå, ÷åì ÷òî-íèáóäü, îïó áëèêîâàííîå äî òîãî. Ýêñïîðò êðèïòîãðàôèè îáñóæäàåòñÿ â ñëåäóþùåì çàÿâëåíèè NSA [363]: Êðèïòîãðàôè÷åñêèå òåõíîëîãèè ñ÷èòàþòñÿ æèçíåííî âàæíûìè äëÿ èíòåðåñîâ íàöèîíàëüíîé áåçîïàñíîñòè, âêëþ÷àÿ ýê îíîìè÷åñêèå èíòåðåñû, âîåííûå èíòåðåñû è èíòåðåñû âíåøíåé ïîëèòèêè . Ìû íå ñîãëàñíû ñ çàÿâëåíèÿìè, ñäåëàííûìè 7 ìàÿ 1992 ãîäà íà ñëóøàíèÿõ Ñóäåáíîãî êîìèòåòà, è ïîñëåäíèìè ãàçåòí ûìè ñòàòüÿìè, êîòîðûå çàÿâëÿþò, ÷òî ýêñïîðòíûå çàêîíû ÑØÀ ìåøàþò àìåðèêàíñêèì ôèðìàì èçãîòàâëèâàòü è èñïîëüçîâàòü ñîâðåìåííîå øèôðîâàëüíîå îáîðóäîâàíèå . Íàì íåèçâåñòíî íè îá îäíîì ñëó÷àå, êîãäà èç-çà ýêñïîðòíûõ îãðàíè÷åíèé ÑØÀ àìåðèêàíñêîé ôèðìå ïîìåøàëè èçãîòàâëèâàòü è èñïîëüçîâàòü àïïàðàòóðó øèôðîâàíèÿ âíóòðè ñòðàíû, èëè àìåðèêàíñêîé ôèðìå ëèáî åå äî÷åðíåé êîìïàíèè ïîìåøàëè èñïîëüçîâàòü àïïàðàòóðó øèôðîâàíèÿ çà ïðåäåëàìè ÑØÀ .  äåéñòâèòåëüíîñòè, NSA âñåãäà ïîääåðæèâàëî èñïîëüçîâàíèå øèôðîâàíèÿ â àìåðèêàíñêîì áèçíåñå äëÿ çàùèòû âàæíîé èíôîðìàöèè êàê äîìà, òàê è çà ãðàíèöåé. Äëÿ ýêñïîðòà â äðóãèå ñòðàíû NSA, ÿâëÿþùååñÿ ÷àñòüþ Ìèíèñòåðñòâà îáîðîíû, (âìåñòå ñ Ãîñóäàðñòâåííûì äåïàðòàìå íòîì è Ìèíèñòåðñòâîì òîðãîâëè ïðîñìàòðèâàåò ýêñïîðòíûå ëèöåíçèè â ïîèñêàõ òåõíîëîãèé èíôîðìàöèîííîé áåçîïàñíîñòè, ïîïàäàþùèõ ïîä äåéñòâèå Ýêñïîðòíîãî ïðàâèòåëüñòâåííîãî çàêîíîäàòåëüñòâà èëè Ðåãóëèðîâàíèÿ ìåæäóíàðîäíîãî òðàôèêà îðóæèÿ. Àíàëîãè÷íàÿ ñèñòåìà êîíòðîëÿ ýêñïîðòà äåéñòâóåò âî âñåõ ñòðàíàõ ÊÎÊÎÌ è âî ìíîãèõ äðóãèõ ñòðàíàõ, òàê êàê ýòè òåõíîëîãèè ïîâñåìåñòíî ñ÷èòàþòñÿ âàæíûìè . Íå ñóùåñòâóåò îáùåãî çàïðåòà íà ýêñïîðò ïîäîáíûõ òåõíîëîãèé, êàæäûé ñë ó÷àé ðàññìàòðèâàåòñÿ îòäåëüíî. Ïðè ýòîì ìîæåò ïîòðåáîâàòüñÿ ïîëó÷èòü ëèöåíçèè íà òàêèå ñèñòåìû, ïðè ïîëó÷åíèè êîòîðûõ àíàëèçèðóåòñÿ âëèÿíèå ýêñïîðòà ýòîé ñèñòåìû íà èíòåðåñû íàöèîíàëüíîé áåçîïàñíîñòè - âêëþ÷àÿ èíòåðåñû ýêîíîìè÷åñêîé, âîåííîé è ïîëèòè÷åñêîé áåçîïàñíîñòè . Ýêñïîðòíûå ëèöåíçèè âûäàþòñÿ èëè íå âûäàþòñÿ â çàâèñèìîñòè îò òèïà çàäåéñòâ îâàííîãî îáîðóäîâàíèÿ, ïðåäïîëàãàåìîãî èñïîëüçîâàíèÿ è ïðåäïîëàãàåì îãî ïîëüçîâàòåëÿ. Íàø àíàëèç ïîêàçûâàåò, ÷òî ÑØÀ ëèäèðóåò â ìèðîâîì ïðîèçâîäñòâå è ýêñïîðòå òåõíîëîãèé èíôîðìàöèîííîé áåçîïà ñíîñòè. NSA îäîáðÿåò äëÿ ýêñïîðòà ñâûøå 90% êðèïòîëîãè÷åñêèõ ïðîäóêòîâ, íàïðàâëåííûõ â NSA Ãîñóäàðñòâåííûì äåïàðòàìåíòîì äëÿ ëèöåíçèðîâàíèÿ . Ýêñïîðòíûå ëèöåíçèè íà ïðîäóêòû èíôîðìàöèîííîé áåçîïàñíîñòè, ïîïàäàþùèå ïîä þðè ñäèêöèþ Ìèíèñòåðñòâà òîðãîâëè, âûäàþòñÿ áåç ó÷àñòèÿ NSA èëè Ìèíèñòåðñòâà îáîðîíû. Ñðåäè íèõ - ïðîäóêòû, èñïîëüçó þùèå òàêèå ìåòîäû, êàê DSS è RSA, îáåñïå÷èâàþùèå ïðîâåðêó ïîäëèííîñòè è êîíòðîëü äîñòóïà ê êîìïüþòåðàì è ñåòÿì . Íà ñàìîì äåëå, â ïðîøëîì NSA èãðàëî ãëàâíóþ ðîëü â óñïåøíîì îòñòàèâàíèè îñëàáëåíèÿ ýêñïîðòíîãî êîíòðîëÿ íàä RSA è áëèçêèìè òåõíîëîãèÿìè äëÿ ïðîâåðêè ïîäëèííîñòè . Ýòè ìåòîäû îñîáåííî âàæíû ïðè ðåøåíèè ïðîáëåìû õàêåðîâ è íåñàí êöèîíèðîâàííîãî èñïîëüçîâàíèÿ ðåñóðñîâ.
Èòàê, çàÿâëåíî, ÷òî NSA îãðàíè÷èâàåò ýêñïîðò òîëüêî ïðîäóêòîâ øèôðîâàíèÿ, íî íå ïðîâåðêè ïîäëèííîñòè . Åñëè âû ñîáèðàåòåñü ýêñïîðòèðîâàòü ïðîäóêò òîëüêî äëÿ ïðîâåðêè ïîäëèííîñòè , ïîëó÷åíèå ðàçðåøåíèå îãðàíè÷èòñÿ äåìîíñòðàöèåé òîãî, ÷òî âàø ïðîäóêò íåëüçÿ áåç çíà÷èòåëüíûõ ïåðåäåëîê èñïîëüçîâàòü äëÿ øèôðîâàíèÿ . Áîëåå òîãî, áþðîêðàòè÷åñêàÿ ïðîöåäóðà äëÿ ïðîäóêòîâ ïðîâåðêè ïîäëèííîñòè íàìíîãî ïðîùå, ÷åì äëÿ ïðîäó êòîâ øèôðîâàíèÿ. Äëÿ ñèñòåìû ïðîâåðêè ïîäëèííîñòè ïîëó÷àòü îäîáðåíèå Ãîñäåïàðòàìåíòà ( CJ), ñèñòåìà øèôðîâàíèÿ òðåáóåò ïîâòîðíîãî îäîáðåíèÿ äëÿ êàæäîé âåðñèè ïðîäóêòà èëè äàæå ïðè êàæäîé ïðîäàæå . Áåç CJ âàì ïðèäåòñÿ çàïðàøèâàòü ðàçðåøåíèå íà ýêñïîðò âñÿêèé ðàç, êîãäà âû çàõîòèòå ýêñïîðòèðîâàòü ïð îäóêò. Ãîñóäàðñòâåííûé äåïàðòàìåíò íå ðàçðåøàåò ýêñïîðòèðîâàòü ïðîäóêòû ñ ñèëüíûì øèôðîâàíèåì, äàæå èñïîëüçóþùèå DES. Îòäåëüíûå èñêëþ÷åíèÿ áûëè ñäåëàíû äëÿ äî÷åðíèõ ôèðì àìåðèêàíñêèõ êîìïàíèé äëÿ âîçìîæíîñòè çàêðûòîé ñâÿçè ñ, äëÿ íåêîòîðûõ áàíêîâñêèõ ïðèëîæåíèé è ýêñïîðò äëÿ âîåííûõ ïîëüçîâàòåëåé ÑØÀ. Àññîöèàöèÿ ïðîèçâîäèòåëåé ïðîãðàììíîãî îáåñïå÷åíèÿ (SPA) âåëà ïåðåãîâîðû ñ ïðàâèòåëüñòâîì îá î ñëàáëåíèè îãðàíè÷åíèé íà ýêñïîðòíûå . Ñîãëàøåíèå, çàêëþ÷åííîå SPA è Ãîñäåïàðòàìåíòîì â 1992 ãîäó, îáëåã-
÷èëî ïðàâèëà âûäà÷è ýêñïîðòíûõ ëèöåíçèé äëÿ äâóõ àëãîðèòìîâ , RC2 è RC4, ïðè óñëîâèè, ÷òî äëèíà èñïîëüçóåìîãî êëþ÷à íå ïðåâûñèò 40 áèòîâ . Ïîäðîáíîñòè ìîæíî íàéòè â ðàçäåëå 7.1.  1993 ãîäó â Ïàëàòå ïðåäñòàâèòåëåé Ìàðèÿ Êàíòâåëë ( Maria Cantwell) (D-WA) ïî ïðîñüáå êîìïàíèéðàçðàáîò÷èêîâ ïðîãðàììíîãî îáåñïå÷åíèÿ âíåñëà çàêîíîïðîåêò, îñëàáëÿþùèé ýêñïîðòíûé êîíòðîëü çà ïð îãðàììàìè. Ñåíàòîð Ïýòòè Ìþððåé (Patty Murray) (D-WA) âíåñëà ñîîòâåòñòâóþùèé áèëëü â ñåíàòå . Çàêîíîïðîåêò Êàíòâåëë áûë äîáàâëåí ê îáùåìó çàêîíó î êîíòðîëå íàä ýêñïîðòîì, ïðîõîäÿùåìó ÷åðåç Êîíãðåññ , íî áûë óäàëåí Êîìèòåòîì ïî ðàçâåäêå ïîä ñèëüíûì äàâëåíèåì NSA. Êîãäà NSA ÷òî-íèáóäü äåëàåò, îíî ïðèêëàäûâàåò âñå óñèëèÿ - êîìèòåò åäèíîäóøíî ïðîãîëîñîâàë çà óäàëåíèå ôîðìóëèðîâêè. Çà ïîñëåäíåå âðåìÿ ÿ íå ïðèïîìíþ äðóãîãî ñëó÷àÿ, ÷òîáû ãðóïïà çàêîíîäàòåëåé ÷òî-òî ñäåëàëà åäèíîäóøíî.  1995 ãîäó Äàí Áåðíøòåéí (Dan Bernstein) ïðè ïîääåðæêå EFF ïîäàë â ñóä íà ïðàâèòåëüñòâî ÑØÀ , ïûòàÿñü ïîìåøàòü ïðàâèòåëüñòâó îãðàíè÷èâàòü ïóáëèêàöèè êðèïòîãðàôè÷åñêèõ äîêóìåíòîâ è ïðîãðàììíîãî îáåñï å÷åíèÿ [143].  èñêå óòâåðæäàëîñü, ÷òî çàêîíû îá ýêñïîðòíîì êîíòðîëå íåêîíñòèòóöèîííû è âíîñÿò "íåïîçâîëèòåëüíûå àïðèîðíûå îãðàíè÷åíèÿ âûñêàçûâàíèé â íàðóøåíèå Ïåðâîé ïîïðàâêè". Êîíêðåòíî â èñêå óòâåðæäàëîñü, ÷òî ñîâðåìåííûé ïðîöåññ êîíòðîëÿ íàä ýêñïîðòîì : Ïîçâîëÿåò áþðîêðàòàì îãðàíè÷èâàòü ïóáëèêàöèè áåç ðåøåíèÿ ñóäà. Îáåñïå÷èâàåò ñëèøêîì ìàëî ïðîöåäóðíûõ âîçìîæíîñòåé çàùèòû ïðàâ â ñîîòâåòñòâèè ñ Ïåðâîé ïîïðà âêîé. Òðåáóåò îò èçäàòåëåé ðåãèñòðèðîâàòüñÿ â ïðàâèòåëüñòâå, ñîçäàâàÿ ýôôåêò "ëèöåíçèðîâàííîé ïðåññû ". Îòêàçûâàåò â îáùèõ ïóáëèêàöèÿõ, òðåáóÿ èäåíòèôèöèðîâàòü êàæäîãî ïîëó÷àòåëÿ . Äîñòàòî÷íî çàïóòàí, ÷òîáû ïðîñòûå ëþäè íå ìîãëè çíàòü, êàêîå ïîâåäåíèå ïðàâèëüíî, à êàêîå - íåò . Ñëèøêîì ïðîñòðàíåí, òàê êàê çàïðåùàåò ïîâåäåíèå, êîòîðîå ÿâíî çàùèùàåòñÿ (íàïðèìåð, ðàçãîâîð ñ èíîñòðàíöàìè âíóòðè Ñîåäèíåííûõ Øòàòîâ ). Ïðèìåíÿåòñÿ ñëèøêîì øèðîêî, çàïðåùàÿ ýêñïîðò ïðîãðàììíîãî îáåñïå÷åíèÿ íå ñîäåðæàùåãî êðèïò îãðàôèè, èñõîäÿ èç ñîîáðàæåíèé, ÷òî êðèïòîãðàôèÿ ìîæåò áûòü äîáàâëåíà ïîçæå . ßâíî íàðóøàåò Ïåðâóþ ïîïðàâêó, çàïðåùàÿ ÷àñòíûå áåñåäû ïî êðèïòîãðàôèè, òàê êàê ïðàâèòåëüñòâî æ åëàåò âìåñòî ýòîãî íàâÿçûâàòü ïóáëèêå ñâîè êðèïòîãðàôè÷åñêèå âçãëÿäû . Ìíîãèìè ñïîñîáàìè ïðåâûøàåò ïîëíîìî÷èÿ, ïðåäîñòàâëåííûå êàê Êîíãðåññîì â ýêñïîðòíîì çàêîíîä àòåëüñòâå, òàê è Êîíñòèòóöèåé. Ìîæíî ïðåäâèäåòü, ÷òî ðåøåíèå ýòîãî äåëà çàéìåò íåñêîëüêî ëåò , íî ïðåäâèäåòü, ÷åì îíî çàêîí÷èòñÿ, í åâîçìîæíî. Òåì íå ìåíåå, Êîíñóëüòàòèâíûé êîìèòåò ïî áåçîïàñíîñòè è çàùèùåííîñòè (Computer Security and Privacy Advisory Board), îôèöèàëüíûé êîíñóëüòàíò NIST, â ìàðòå 1992 ãîäà ïðîãîëîñîâàë çà òî, ÷òîáû ïåðåñìîòðåòü â íàöèîíàëüíîé ïîëèòèêå êðèïòîãðàôè÷åñêèå âîïðîñû, âêëþ÷àÿ ýêñïîðòíóþ ïîëèòèêó . Áûëî çàÿâëåíî, ÷òî ýêñïîðòíàÿ ïîëèòèêà îïðåäåëÿåòñÿ òîëüêî îðãàíèçàöèÿìè, îòâå÷àþùèìè çà íàöèîíàëüíóþ áåçîïàñíîñòü, áåç ó÷åòà òî÷êè çðåíèÿ îðãàíèçàöèé, ñâÿçàííûõ ñ ðàçâèòèåì òîðãîâëè . Ýòè ñâÿçàííûå ñ íàöèîíàëüíîé áåçîïàñíîñòüþ î ðãàíèçàöèè äåëàþò âñå âîçìîæíî, ÷òîáû íè÷åãî íå èçìåíèëîñü, íî íåîáõîäèìîñòü ïåðåìåí óæå íàçðåëà .
25.15 Ýêñïîðò è èìïîðò êðèïòîãðàôèè çà ðóáåæîì  äðóãèõ ñòðàíàõ ñóùåñòâóåò ñâîå ýêñïîðòíîå è èìïîðòíîå ïðàâî [311]. Ïðèâåäåííûé îáçîð íåïîëîí è âî çìîæíî óñòàðåë. Ñòðàíû ìîãóò èçäàòü çàêîíû è íå îáðàùàòü íà íèõ âíèìàíèÿ, èëè íå èìåòü çàêîíîâ, íî êàêèìòî îáðàçîì îãðàíè÷èâàòü ýêñïîðò, èìïîðò è èñïîëüçîâàíèå . Àâñòðàëèÿ òðåáóåò íàëè÷èÿ ñåðòèôèêàòà ó èìïîðòèðóåìîãî êðèïòîãðàôè÷åñêîãî ïðîäóêòà òîëüêî ïî òð åáîâàíèþ ñòðàíû-ýêñïîðòåðà.  Êàíàäå íåò êîíòðîëÿ èìïîðòà, à êîíòðîëü ýêñïîðòà àíàëîãè÷åí àìåðèêàíñêîìó . Ýêñïîðò ïðîäóêòîâ èç Êàíàäà ìîæåò áûòü îãðàíè÷åí, åñëè îíè âêëþ÷åíû â Ïåðå÷åíü êîíòðîëÿ ýêñïîðòà, ñîîòâåòñòâóþùèé À êòó ðàçðåøåíèé ýêñïîðòà è èìïîðòà .  îòíîøåíèè êðèïòîãðàôè÷åñêèõ òåõíîëîãèé Êàíàäà ñëåäóåò îãðàí è÷åíèÿì ÊÎÊÎÌ. Øèôðîâàëüíûå óñòðîéñòâà îïèñàíû ïîä êàòåãîðèåé ïÿòü , ÷àñòè äâà êàíàäñêèõ ïðàâèë ýêñïîðòà. These provisions àíàëîãè÷íû êàòåãîðèè ïÿòü â Ïðàâèòåëüñòâåííûõ ïðàâèëàõ ýê ñïîðòà â ÑØÀ. Êèòàé èñïîëüçóåò ñõåìó ëèöåíçèðîâàíèÿ èìïîðòèðóåìûõ ïðîäóêòîâ, ýêñïîðòåðû äîëæíû çàïîëíèòü çàÿ âêó â Ìèíèñòåðñòâå çàðóáåæíîé òîðãîâëè . Íà îñíîâå êèòàéñêîãî Ïåðå÷íÿ çàïðåùåííîãî è îãðàíè÷åííîãî ýêñïîðòà è èìïîðòà, ïðèíÿòîãî â 1987 ãîäó , Êèòàé îãðàíè÷èâàåò èìïîðò è ýêñïîðò óñòðîéñòâ êîäèðîâ àíèÿ ðå÷è. Âî Ôðàíöèè íåò ñïåöèàëüíîãî çàêîíîäàòåëüñòâà îòíîñèòåëüíî èìïîðòà êðèïòîãðàôèè, íî ñóùåñòâóþò ç à-
êîíû, êàñàþùèåñÿ ïðîäàæè è èñïîëüçîâàíèÿ êðèïòîãðàôèè â ñòðàíå . Ïðîäóêòû äîëæíû áûòü ñåðòèôèö èðîâàíû: ëèáî îíè äîëæíû ñîîòâåòñòâîâàòü îïóáëèêîâàííûì ñïåöèôèêàöèÿì, ëèáî ôèðìåííàÿ ñïåöèô èêàöèÿ êîìïàíèè äîëæíà áûòü ïðåäîñòàâëåíà ïðàâèòåëüñòâó . Ïðàâèòåëüñòâî ìîæåò òàêæå çàòðåáîâàòü äâà óñòðîéñòâà äëÿ ñîáñòâåííîãî èñïîëüçîâàíèÿ . Ó êîìïàíèé äîëæíà áûòü ëèöåíçèÿ íà ïðîäàæó êðèïòîãð àôèè âî Ôðàíöèè, â ëèöåíçèè óêàçûâàåòñÿ ðûíî÷íîå íàçíà÷åíèå . Ó ïîëüçîâàòåëåé äîëæíà áûòü ëèöåíçèÿ íà ïîêóïêó è èñïîëüçîâàíèå êðèïòîãðàôèè, â ëèöåíçèþ âêëþ÷åíî ïîëîæåíèå î òîì, ÷òî ïîëüçîâàòåëè äîëæíû áûòü ãîòîâû ïåðåäàòü ñâîè êëþ÷è ïðàâèòåëüñòâó â òå÷åíèå ÷åòûðåõ ìåñÿöåâ ïîñëå èñïîëüçîâ àíèÿ. Ýòî îãðàíè÷åíèå èíîãäà äîïóñêàåò èñêëþ÷åíèÿ : áàíêîâ, áîëüøèõ êîìïàíèé, è ò.ä. Äëÿ êðèïòîãðàôèè, ýêñïîðòèðóåìîé èç ÑØÀ, ëèöåíçèîííûå òðåáîâàíèÿ îòñóòñòâóþò . Ãåðìàíèÿ ñëåäóåò ïîëîæåíèÿì ÊÎÊÎÌ , òðåáóÿ ëèöåíçèðîâàòü ýêñïîðò êðèïòîãðàôèè . Ïðîâîäèòñÿ ñïåöèàëüíûé êîíòðîëü îáùåäîñòóïíîãî êðèïòîãðàôè÷åñêîãî ïðîãðàììíîãî îáåñïå÷åíèÿ .  Èçðàèëå åñòü îãðàíè÷åíèÿ èìïîðòà, íî, ïî âèäèìîìó, íèêòî íå çíàåò êàêèå . Áåëüãèÿ, Èòàëèÿ, ßïîíèÿ, Íèäåðëàíäû è Âåëèêîáðèòàíèÿ ñëåäóþò ïîëîæåíèÿì ÊÎÊÎÌ , òðåáóÿ ëèöåíçèðîâàòü ýêñïîðò êðèïòîãðàôèè .  Áðàçèëèè, Èíäèè, Ìåêñèêå, Ðîññèè, Ñàóäîâñêîé Àðàâèè, Èñïàíèè, Þæíîé Àôðèêå, Øâåöèè è Øâå éöàðèè êîíòðîëü ýêñïîðòà èëè èìïîðòà êðèïòîãðàôèè îòñóòñòâóåò .
25.16 Ïðàâîâûå âîïðîñû ßâëÿþòñÿ ëè öèôðîâûå ïîäïèñè íàñòîÿùèìè ïîäïèñÿìè ? Áóäóò ëè îíè ïðèçíàíû ñóäîì? Íåêîòîðûå ïðåäâàðèòåëüíûå ïðàâîâûå èññëåäîâàíèÿ ïðèâåëè ê ìíåíèþ, ÷òî öèôðîâûå ïîäïèñè áóäóò ñîîòâåòñòâîâàòü òðåáîâàí èÿì çàêîííûõ îáÿçóþùèõ ïîäïèñåé äëÿ áîëüøåé ÷àñòè ïðèìåíåíèé , âêëþ÷àÿ êîììåð÷åñêîå èñïîëüçîâàíèå, î ïðåäåëåííîå â Åäèíîì ñâîäå çàêîíîâ î òîðãîâëå (Uniform Commercial Code, UCC). Ðåøåíèå Óïðàâëåíèÿ ïî îáùåé áóõãàëòåðèè (GAD, General Accounting Office), âûíåñåííîå ïî ïðîñüáå NIST, óòâåðæäàåò, ÷òî öèôðîâûå ïîäïèñè ñîîòâåòñòâóþò ïðàâîâûì ñòàíäàðòàì äëÿ ðóêîïèñíûõ ïîäïèñåé [362]. Àêò î öèôðîâûõ ïîäïèñÿõ øòàòà Þòà âñòóïèë â äåéñòâèå 1 ìàÿ 1995 ãîäà , îáåñïå÷èâàÿ çàêîííóþ îñíîâó èñïîëüçîâàíèÿ öèôðîâûõ ïîäïèñåé â ñèñòåìå ñóäîïðîèçâîäñòâà . Êàëèôîðíèÿ ðàññìàòðèâàåò ñîîòâåòñòâóþùèé çàêîíîïðîåêò, à â Îðåãîíå è Âàøèíãòîíå ðàçðàáàòûâàþò ñâîè çàêîíû . Òåõàñ è Ôëîðèäà äûøàò èì â çàòûëîê . Ê ìîìåíòó èçäàíèÿ êíèãè áîëüøèíñòâî øò àòîâ ïðîéäåò ýòîò ïóòü. Àìåðèêàíñêàÿ þðèäè÷åñêàÿ àññîöèàöèÿ (Îòäåë EDI è èíôîðìàöèîííûõ òåõíîëîãèé ñåêöèè íàóêè è òåõíèêè ) ðàçðàáîòàëà îáðàçåö àêòà, êîòîðûé ìîæåò áûòü èñïîëüçîâàí øòàòàìè â ïðîöåññå çàêîíîòâîð÷åñòâà . Àêò ïûòàåòñÿ âïèñàòü öèôðîâûå ïîäïèñè â ñóùåñòâóþùóþ äëÿ ïîäïèñåé ïðàâîâóþ èíôðàñòðóêòóðó : Åäèíûé ñâîä çàêîíîâ î òîðãîâëå, Çàêîíû Ôåäåðàëüíîé ðåçåðâíîé ñèñòåìû Ñîåäèíåííûõ Øòàòîâ , îáùåå ïðàâî î êîíòðàêòàõ è ïîäï èñÿõ, Êîíâåíöèÿ ÎÎÍ ïî êîíòðàêòàì äëÿ ìåæäóíàðîäíîé ïðîäàæè òîâàðîâ è Êîíâåíöèÿ ÎÎÍ ïî ìåæäóíàðîäíûì çàêîíàì î êîìèòåòàõ ïî áèðæàì è äîëãîâûì îáÿçàòåëüñòâàì .  àêò âêëþ÷åíû ïîëîæåíèÿ îá îòâåòñòâåíí îñòè è îáÿçàííîñòÿõ ñåðòèôèöèðóþùèõ îðãàíîâ, âîïðîñû îòâåòñòâåííîñòè , à òàêæå îãðàíè÷åíèÿ è ïîëèòèêà.  Ñîåäèíåííûõ Øòàòàõ çàêîíû î ïîäïèñÿõ, êîíòðàêòàõ è òîðãîâûõ îïåðàöèÿõ íàõîäÿòñÿ â þðèñäèêöèè øò àòîâ, ïîýòîìó ýòîò àêò-îáðàçåö ðàçðàáîòàí äëÿ øòàòîâ . Îêîí÷àòåëüíîé öåëüþ ÿâëÿåòñÿ ôåäåðàëüíûé àêò, íî åñëè âñå íà÷èíàåòñÿ íà óðîâíå øòàòîâ, ó NSA ìåíüøå âîçìîæíîñòåé âñå èñïîãàíèòü . Äàæå ïðè ýòîì, ïîêà ïðàâèëüíîñòü öèôðîâûõ ïîäïèñåé íå áóäåò îñïîðåíà â ñóäå, èõ ïðàâîâîé ñòàòóñ îñò àíåòñÿ íåîïðåäåëåííûì. Äëÿ òîãî, ÷òîáû öèôðîâûå ïîäïèñè îáëàäàëè òåìè æå èäåíòèôèêàöèîííûìè âîçìîæí îñòÿìè, ÷òî è ðóêîïèñíûå ïîäïèñè , îíè ñíà÷àëà äîëæíû áûòü èñïîëüçîâàíû äëÿ ïîäïèñàíèÿ çàêîííîãî , çàòåì îñïîðåíû â ñóäå îäíîé èç ñòîðîí. Òîãäà ñóä ðàññìîòðèò áåçîïàñíîñòü ñõåìû ïîäïèñè è âûíåñåò ðåøåíèå . Ñïóñòÿ íåêîòîðîå âðåìÿ, êîãäà ïîâòîðèòñÿ ïîäîáíûé ñëó÷àé , ðåøåíèÿ î òîì, êàêèå ìåòîäû öèôðîâîé ïîäïèñè è êàêèå ðàçìåðû êëþ÷åé ïîíàäîáÿòñÿ, ÷òîáû öèôðîâàÿ ïîäïèñü áûëà ïðèçíàíà çàêîííîé, áóäåò âûíåñåíî íà îñíîâå ïðåäûäóùèõ ðåøåíèé. Âîçìîæíî äëÿ ýòîãî ïîòðåáóþòñÿ ãîäû . Äî òåõ ïîð, åñëè äâà ÷åëîâåêà õîòÿò èñïîëüçîâàòü öèôðîâûå ïîäïèñè äëÿ êîíòðàêòà(äëÿ çàÿâîê íà ïîêóïêó, äëÿ ïðèêàçîâ ïî ðàáîòå, è ò.ä.), ðåêîìåíäóåòñÿ, ÷òîáû îíè ïîäïèñàëè íà áóìàãå êîíòðàêò, ñ êîòîðîì îíè ñîãë àøàþòñÿ â áóäóùåì ïðèçíàâàòü ëþáûå äîêóìåíòû, ïîäïèñàííûå èõ öèôðîâûìè ïîäïèñÿìè [1099].  ýòîì äîêóìåíòå äîëæíû îïðåäåëÿòüñÿ àëãîðèòì, ðàçìåð êëþ÷à è âñå îñòàëüíûå ïàðàìåòðû.  íåì äîëæåí, ê òîìó æå, áûòü îïðåäåëåí ñïîñîá ðàçðåøåíèÿ ñïîðîâ .
Ïîñëåñëîâèå Ìýòòà Áëåéçà Îäíèì èç ñàìûõ îïàñíûõ ìîìåíòîâ êðèïòîëîãèè (è, ñëåäîâàòåëüíî, äàííîé êíèãè ), ÿâëÿåòñÿ òî, ÷òî âàì ïî÷òè óäàåòñÿ èçìåðèòü åå. Çíàíèå äëèíû êëþ÷åé, ñïîñîáîâ ðàçëîæåíèÿ íà ìíîæèòåëè è êðèïòîàíàëèòè÷åñêèõ ì åòîäîâ ïîçâîëÿåò îöåíèòü (â îòñóòñòâèè íàñòîÿùåé òåîðèè ïðîåêòèðîâàíèÿ øèôðîâ ) " êîýôôèöèåíò ðàáîòû", íåîáõîäèìûé äëÿ âñêðûòèÿ êîíêðåòíîãî øèôðà . Ñëèøêîì âåëèê ñîáëàçí íåïðàâèëüíî èñïîëüçîâàòü ýòè îöåíêè â êà÷åñòâå îáùåé ìåðû áåçîïàñíîñòè ñèñòåì .  ðåàëüíîì ìèðå ó âçëîìùèêà åñòü êóäà áîëüøå âîçìîæíîñòåé, ÷åì èñïîëüçîâàíèå îäíîãî êðèïòîàíàëèçà . ×àñòî óñïåõ äîñòèãàåòñÿ ñ ïîìîùüþ âñêðûòèé ïðîòîêîëîâ, òðîÿíñêèõ êîíåé, âèðóñîâ, ýëåêòðîìàãíèòíîãî êîíòðîëÿ, ôèçè÷åñêîé êîìïðîìåòàöèè, øàíòàæà è çàïóãèâàíèÿ âëàäåëüöåâ êëþ÷à, îøèáîê îïåðàöèîííîé ñèñòåìû è ïðèêëàäíûõ ïðîãðàìì , àïïàðàòíûõ îøèáîê, îøèáîê ïîëüçîâàòåëåé, ôèçè÷åñêîãî ïîäñëóøèâàíèÿ, ïðèêëàäíîé ñîöèîëîãèè, àíàëèç ñîäåðæèìîãî ñâàëîê, è ýòî äàëåêî íå âñå. Âûñîêîêà÷åñòâåííûå øèôðû è ïðîòîêîëû ÿâëÿþòñÿ âàæíûìè ñðåäñòâàìè, íî ñàìè ïî ñåáå îíè íå çàìåíÿþò ðåàëèñòè÷íûõ, êðèòè÷åñêèõ ðàçìûøëåíèé î òîì, ÷òî äåéñòâèòåëüíî íóæíî çàùèòèòü, è êàê ìîãóò áûòü âçëîì àíû ðàçëè÷íûå óðîâíè îáîðîíû (âçëîìùèêè, â êîíöå êîíöîâ, ðåäêî îãðàíè÷èâàþòñÿ ÷èñòûìè, õîðîøî îïðåä åëåííûìè ìîäåëÿìè íàó÷íîãî ìèðà ). Ðîññ Àíäåðñîí (Ross Anderson) ïðèâîäèò ïðèìåðû êðèïòîãðàôè÷åñêè ñèë üíûõ ñèñòåì (â áàíêîâñêîé èíäóñòðèè), êîòîðûå íå óñòîÿëè ïåðåä óãðîçàìè ðåàëüíîãî ìèðà [43, 44]. Äàæå êîãäà ó âçëîìùèêà åñòü äîñòóï òîëüêî ê øèôðîòåêñòó , ÷åðåç êàæóùèåñÿ íåçíà÷èòåëüíûìè áðåøè â äðóãèõ ÷àñòÿõ ñè ñòåìû ìîæåò ïðîñî÷èòüñÿ äîñòàòî÷íî èíôîðìàöèè, ÷òîáû ñäåëàòü õîðîøóþ êðèïòîñèñòåìó áåñïîëåçíîé . Ñîþçíèêè âî âòîðîé ìèðîâîé âîéíå âçëîìàëè òðàôèê íåìåöêîé Ýíèãìû, ãëàâíûì îáðàçîì òùàòåëüíî èñïîëüçóÿ îøèáêè îïåðàòîðîâ [1587]. NSA â îòâåò íà âîïðîñ, ìîæåò ëè ïðàâèòåëüñòâî âñêðûâàòü DES, ÿçâèòåëüíî çàìåòèëî, ÷òî ðåàëüíûå ñèñò åìû íàñòîëüêî íåáåçîïàñíû, ÷òî îá ýòîì äàæå íå ñòîèò áåñïîêîèòüñÿ . Ê ñîæàëåíèþ, íå ñóùåñòâóåò ïðîñòûõ ðåöåïòîâ, êàê ñäåëàòü ñèñòåìó áåçîïàñíîé , çàìåíèòü òùàòåëüíîå ïðîåêòèðîâàíèå è êðèòè÷åñêèé àíàëèç íåâîçìî æíî. Õîðîøèå êðèïòîñèñòåìû äåëàþò æèçíü âçëîìùèêà íàìíîãî òðóäíåå, ÷åì æèçíü çàêîííîãî ïîëüçîâàòåëÿ, íî ýòî íå òàê â îòíîøåíèè ïî÷òè âñåõ îñòàëüíûõ àñïåêòîâ áåçîïàñíîñòè êîìïüþòåðîâ è ñèñòåì ñâÿçè . Ðàññìîòðèì ñëåäóþùèå (íàâåðíÿêà íå âñå) "Äåñÿòü ãëàâíûõ óãðîç áåçîïàñíîñòè ðåàëüíûõ ñèñòåì ", êàæäóþ èç êîòîðûõ ëåã÷å îñóùåñòâèòü, ÷åì ïðåäîòâðàòèòü. 1. Ïå÷àëüíîå ñîñòîÿíèå ïðîãðàììíîãî îáåñïå÷åíèÿ . Âñåì èçâåñòíî, ÷òî íèêòî íå çíàåò, êàê ïèñàòü ïð îãðàììíîå îáåñïå÷åíèå. Ñîâðåìåííûå ñèñòåìû ñëîæíû, âêëþ÷àþò ñîòíè òûñÿ÷ ñòðîê êîäà, ëþáàÿ èç íèõ ìîæåò ïîâðåäèòü áåçîïàñíîñòè . Èç ïðîãðàììíûõ ìîäóëåé, ñâÿçàííûõ ñ áåçîïàñíîñòüþ èçâëåêàòü îøèáêè åùå òðóäíåå. 2. Íåýôôåêòèâíàÿ çàùèòà ïðîòèâ âñêðûòèé ñ îòêàçîì îò óñëóã .  íåêîòîðûõ êðèïòîãðàôè÷åñêèõ ïðîò îêîëàõ äîïóñêàåòñÿ àíîíèìíîñòü. Èñïîëüçîâàíèå àíîíèìíûõ ïðîòîêîëîâ ìîæåò áûòü îñîáåííî îïà ñíûì, åñëè îíè óâåëè÷èâàþò âîçìîæíîñòü íåîïîçíàííîãî âàíäàëà íàðóøèòü ïðåäîñòàâëåíèå óñëóãè Ïîýòîìó àíîíèìíûå ñèñòåìû äîëæíû áûòü îñîáåííî óñòîé÷èâû ê âñêðûòèÿì ñ îòêàçîì îò óñëóã .  óñòîé÷èâûõ ñåòÿõ ïîääåðæèâàòü àíîíèìíîñòü ìîæåò áûòü ëåã÷å - âåäü âðÿä ëè êîãî-òî ñèëüíî âîëíóåò íàëè÷èå ìèëëèîíîâ àíîíèìíûõ âõîäíûõ òî÷åê â áîëüøèíñòâå óñòîé÷èâûõ ñåòåé, òàêèõ êàê òåëåôî ííàÿ ñåòü èëè ïî÷òîâàÿ ñèñòåìà, ãäå îòäåëüíîìó ïîëüçîâàòåëþ îòíîñèòåëüíî òðóäíî (èëè äîðîãî) âûçâàòü êðóïíîìàñøòàáíûå àâàðèè. 3. Íåò ìåñòà äëÿ õðàíåíèÿ ñåêðåòîâ . Êðèïòîñèñòåìû çàùèùàþò áîëüøèå ñåêðåòû ìàëûìè (êëþ÷àìè) . Ê ñîæàëåíèþ, ñîâðåìåííûå êîìïüþòåðû íå îñîáåííî õîðîøè äëÿ çàùèòû äàæå ìàëåíüêèõ ñåêðåòîâ . Ìíîãîïîëüçîâàòåëüñêèå ñåòåâûå ðàáî÷èå ñòàíöèè ìîãóò áûòü âçëîìàíû, à èõ ïàìÿòü - ñêîìïðîìåò èðîâàíà. Îòäåëüíî ñòîÿùèå, îäíîïîëüçîâàòåëüñêèå ìàøèíû ìîãóò áûòü óêðàäåíû èëè ñêîìïðîìåòèð îâàíû âèðóñàìè, êîòîðûå îðãàíèçóþò àñèíõðîííóþ óòå÷êó ñåêðåòîâ . Óäàëåííûå ñåðâåðû, ãäå ìîæåò è íå áûòü ïîëüçîâàòåëÿ, ââîäÿùåãî ïàðîëüíóþ ôðàçó (íî ñì. óãðîçó ¹5), ïðåäñòàâëÿþò ñîáîé îñîáåííî òðóäíóþ ïðîáëåìó. 4. Ïëîõàÿ ãåíåðàöèÿ ñëó÷àéíûõ ÷èñåë . Äëÿ êëþ÷åé è ñåàíñîâûõ ïåðåìåííûõ íóæíû õîðîøèå èñòî÷íèêè íåïðåäñêàçóåìûõ áèòîâ. Ýíòðîïèÿ ðàáîòàþùåãî êîìïüþòåðà âåëèêà, íî ðåäêîå ïðèëîæåíèå â ñîñòî ÿíèè ïðàâèëüíî èñïîëüçîâàòü åå. Áûëî ïðåäëîæåíî ìíîæåñòâî ìåòîäîâ ïîëó÷àòü èñòèííî ñëó÷àéíûå ÷èñëà ïðîãðàììíûì îáðàçîì (èñïîëüçóþòñÿ íåïðåäñêàçóåìîñòü âðåìåíè âûïîëíåíèÿ îïåðàöèé ââîäà âûâîäà, ðàñõîæäåíèÿ òàêòîâîé ÷àñòîòû è òàéìåðà , è äàæå òóðáóëåíòíîñòü âîçäóõà âíóòðè êîðïóñà òâåðäîãî äèñêà), íî âñå îíè î÷åíü ÷óâñòâèòåëüíû ê íåçíà÷èòåëüíûì èçìåíåíèÿì ñðåä, â êîòîðûõ îíè èñïîëüçóþòñÿ. 5. Ñëàáûå ïàðîëüíûå ôðàçû. Áîëüøèíñòâî êðèïòîãðàôè÷åñêîãî ïðîãðàììíîãî îáåñïå÷åíèÿ ðåøàåò ïð îáëåìû õðàíåíèÿ è ãåíåðàöèè êëþ÷åé íà îñíîâå ñîçäàâàåìûõ ïîëüçîâàòåëåì ïàðîëüíûõ ôðàç , êîòîðûå ñ÷èòàþòñÿ äîñòàòî÷íî íåïðåäñêàçóåìûìè äëÿ ãåíåðàöèè õîðîøåãî êëþ÷åâîãî ìàòåðèàëà, è êîòîðûå òàêæå ëåãêî çàïîìèíàþòñÿ è ïîýòîìó íå òðåáóþò áåçîïàñíîãî õðàíåíèÿ .  òî âðåìÿ, êàê ñëîâàðíûå âñêðûòèÿ ÿâëÿþòñÿ õîðîøî èçâåñòíîé ïðîáëåìîé äëÿ êîðîòêèõ ïàðîëåé , î ñïîñîáàõ âñêðûòèÿ êëþ÷åé,
ñîçäàííûõ íà îñíîâå âûáðàííûõ ïîëüçîâàòåëÿìè ïàðîëüíûõ ôðàç, èçâåñòíî ìàëî . Øåííîí ïîêàçàë, ÷òî ýíòðîïèÿ àíãëèéñêîãî òåêñòà ÷óòü áîëüøå 1 áèòà íà ñèìâîë , ÷òî, ïî âèäèìîìó, ïîçâîëÿåò èñïîë üçîâàòü ïðîòèâ ïàðîëüíûõ ôðàç ãðóáóþ ñèëó . Îäíàêî ïîêà íå âïîëíå ïîíÿòíî, äëÿ ýòîãî êàê óïîðÿä î÷èâàòü ïàðîëüíûå ôðàçû. Ïîêà ìû íå ðàçáåðåìñÿ êàê ñëåäóåò, êàê âñêðûâàòü ïàðîëüíûå ôðàçû, ìû íå ïîéìåì, íàñêîëüêî îíè ñëàáû èëè ñèëüíû. 6. Íåïðàâèëüíîå äîâåðèå. Ïî÷òè âñå äîñòóïíîå êðèïòîãðàôè÷åñêîå ïðîãðàììíîå îáåñïå÷åíèå ïðåäïîë àãàåò, ÷òî ïîëüçîâàòåëü íàõîäèòñÿ â íåïîñðåäñòâåííîì êîíòàêòå ñ ñèñòåìîé ëè ïîëüçóåòñÿ íàäåæíûì ñïîñîáîì äîñòóïà. Íàïðèìåð, èíòåðôåéñû ê ïðîãðàììàì, ïîäîáíûì PGP, ïðåäïîëàãàþò, ÷òî èõ ïàðîëüíûå ôðàçû ïîñòóïàþò îò ïîëüçîâàòåëÿ ïî íàäåæíîìó ïóòè, íàïðèìåð, ñ ëîêàëüíîé êîíñîëè . Íî ýòî íå âñåãäà òàê, ðàññìîòðèì ïðîáëåìó ÷òåíèÿ âàìè øèôðîâàííîé ïî÷òû ïðè ïîäêëþ÷åíèè ïî ñåòè . Òî, ÷òî ïðîåêòèðîâùèê ñèñòåìû ñ÷èòàåò íàäåæíûì, ìîæåò íå ñîîòâåòñòâîâàòü ïîòðåáíîñòÿì èëè îæ èäàíèÿì ðåàëüíûõ ïîëüçîâàòåëåé , îñîáåííî êîãäà ïðîãðàììíûì îáåñïå÷åíèåì ìîæíî óïðàâëÿòü óä àëåííî ïî íåáåçîïàñíûì êàíàëàì . 7. Ïëîõî ïîíèìàåìîå âçàèìîäåéñòâèå ïðîòîêîëîâ è óñëóã . Ñ ðîñòîì è óñëîæíåíèåì ñèñòåì ÷àñòî ïðîè ñõîäÿò ñòðàííûå âåùè, è áûâàåò òðóäíî ÷òî-íèáóäü ïîíÿòü ÷òî-íèáóäü, äàæå êîãäà ïðîèçîéäåò êàêàÿíèáóäü àâàðèÿ. ×åðâü Internet ðàñïðîñòðàíÿëñÿ ñ ïîìîùüþ òóìàííîãî è ñ âèäó âïîëíå íåâèííîãî ñðå äñòâà ïðîãðàììû ïåðåäà÷è ïî÷òû. Ñêîëüêî åùå âîçìîæíîñòåé è â êàêîì êîëè÷åñòâå ïðîãðàìì îáëàä àþò íåîæèäàííûìè ñëåäñòâèÿìè, êîòîðûå òîëüêî æäóò ñâîåãî î òêðûòèÿ? 8. Íåðåàëèñòè÷íàÿ îöåíêà óãðîçû è ðèñêà . Ýêñïåðòû ïî áåçîïàñíîñòè ñòðåìÿòñÿ ñêîíöåíòðèðîâàòü ñâîè óñèëèÿ íà óãðîçàõ, êîòîðûå èçâåñòíî êàê ìîäåëèðîâàòü è ïðåäîòâðàùàòü . Ê ñîæàëåíèþ, âçëîìùèêè âûïîëíÿþò âñêðûòèÿ íà áàçå ñîáñòâåííûõ çíàíèé, è äâå ýòè îáëàñòè ðåäêî ñîâïàäàþò . Ñëèøêîì ìíîãî "áåçîïàñíûõ" ñèñòåì áûëî ñïðîåêòèðîâàíî áåç ó÷åòà ðåàëüíî âîçìîæíûõ äåéñòâèé âçëîìùèêà . 9. Èíòåðôåéñû, êîòîðûå äåëàþò áåçîïàñíîñòü äîðîãîé è íåóäîáíîé . Åñëè íóæíî èñïîëüçîâàòü ñðåäñòâà îáåñïå÷åíèÿ áåçîïàñíîñòè, òî îíè äîëæíû áûòü óäîáíûìè è äîñòàòî÷íî ïðîçðà÷íûìè, ÷òîáû ëþäè äåéñòâèòåëüíî ïîëüçîâàëèñü èìè . Íåòðóäíî ñïðîåêòèðîâàòü ìåõàíèçìû øèôðîâàíèÿ, êîòîðûå ðàá îòàþò òîëüêî çà ñ÷åò ïðîèçâîäèòåëüíîñòè èëè ïðîñòîòû èñïîëüçîâàíèÿ , è åùå ëåã÷å ñîçäàòü ìåõàíèçì, êîòîðûé ïðîâîöèðóåò îøèáêè. Áåçîïàñíîñòü äîëæíî áûòü òðóäíåå âûêëþ÷èòü, ÷åì âêëþ÷èòü ; ê íåñ÷àñòüþ, ëèøü íåìíîãèå ñèñòåìû äåéñòâèòåëüíî òàê ð àáîòàþò. 10. Ñëèøêîì âñåîáúåìëþùèå òðåáîâàíèÿ ê áåçîïàñíîñòè . Ýòà ïðîáëåìà õîðîøî èçâåñòíà ïî÷òè âñåì, ÷üå ñ÷àñòüå ñâÿçàíî ñ ïðîäàæåé ïðîäóêòîâ è óñëóã áåçîïàñíîñòè . Ïîêà ñóùåñòâóåò øèðîêî ðàñïðîñòðàíå ííîå òðåáîâàíèå âñåîáúåìëþùåé áåçîïàñíîñòè , ñðåäñòâà è èíôðàñòðóêòóðà, îáåñïå÷èâàþùèå åãî ðå àëèçàöèþ, áóäóò äîðîãè è íåäîñòóïíû äëÿ ìíîãèõ ïðèëîæåíèé . ×àñòè÷íî ýòî ïðîáëåìà ïîíèìàíèÿ è ðàñêðûòèÿ óãðîç è îïàñíîñòåé â ðåàëüíûõ ïðèëîæåíèÿõ, à ÷àñòè÷íî ïðîáëåìà ïðîåêòèðîâàíèÿ ñèñòåì, â êîòîðûõ áåçîïàñíîñòü íå çàêëàäûâàåòñÿ èçíà÷àëüíî, à äîáàâëÿåòñÿ ïîçæå . Áîëåå ïîëíûé ñïèñîê è îáñóæäåíèå ïîäîáíûõ óãðîç ìîæåò ëåãêî çàïîëíèòü êíèãó òàêîãî æå ðàçìåðà, ïðè ýòîì ïðîáëåìà áóäåò ëèøü åäâà çàòðîíóòà . ×òî äåëàåò èõ îñîáåííî òðóäíûìè è îïàñíûìè, òàê ýòî òî, ÷òî íå ñóùåñòâóåò íèêàêîãî ìàãè÷åñêîãî ñïîñîáà èçáàâèòüñÿ îò íèõ, êðîìå õîðîøåãî àíàëèçà è õîðîøåé èíæåíåðíîé ðàáîòû. ×åñòîëþáèâûé êðèïòîãðàô äîëæåí îùóùàòü ãðàíèöû èñêóññòâà . Ìýòò Áëåéç Íüþ-Éîðê
References 1. ABA Bank Card Standard, "Management and Use of Personal Information Numbers, " Aids from ABA, Catalog no. 207213, American Bankers Association, 1979. 2. ABA Document 4.3, "Key Management Standard," American Bankers Association, 1980. 3. M. Abadi, J. Feigenbaum, and J. Kilian, "On Hiding Information from an Oracle," Proceedings of the 19th ACM Symposium on the Theory of Computing, 1987, pp. 195-203. 4. M. Abadi, J. Feigenbaum, and J. Kilian, "On Hiding Information from an Oracle," Journal of Computer and System Sciences, v.39, n.1, Aug 1989, pp.21-50. 5. M. Abadi and R. Needham, "Prudent Engineering Practice for Cryptographic Protocols," Research Report 125, Digital Equipment Corp Systems Research Center, Jun 1994. 6. C.M. Adams, "On Immunity Against Biham and Shamir's Differential Cryptanalysis,' " Information Processing Letters, v. 41, 14 Fob 1992, pp. 77-80. 7. C.M. Adams, "Simple and Effective Key Scheduling for Symmetric Ciphers, " Workshop on Selected Areas in Cryptography Workshop Record, Kingston, Ontario, 5-6 May 1994, pp.129-133. 8. C.M. Adams and H. Mailer, "Security Related Comments Regarding McEliece's Public-Key Cryptosystem, " Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 224-230. 9. C.M. Adams and S.E. Tavares, "The Structured Design of Cryptographically Good SBoxes," journal of Cryptology v. 3, n. 1, 1990, pp. 27-41. 10. C.M. Adams and S.E. Tavares, "Designing S-Boxes for Ciphers Resistant to Differential Cryptanalysis," Proceedings of the 3rd Symposium on State and Progress of Research in Cryptography Rome, Italy, 15-16 Feh 1993, pp. 181-190. 11. W. Adams and D. Shanks, "Strong Primality Tests That Are Not Sufficient, " Mathematics of Computation, v. 39, 1982, pp. 255-300. 12. W.W Adams and L.J. Goldstein, Introduction to Number Theory, Englewood Cliffs, N.J.: Prentice-Hall, 1976. 13. B.S. Adiga and P. Shankar, "Modified LuLee Cryptosystem," Electronics Letters, v 21, n. 18, 29 Aug 1985, pp. 794-795.
14. L.M. Adleman, "A Subexponential Algorithm for the Discrete Logarithm Problem with Applications to Cryptography," Proceedings of the IEEE 20th Annual Symposium of Foundations of Computer Science, 1979, pp.55-60. 15. L.M. Adleman, "On Breaking Generalized Knapsack Public Key Cryptosystems, " Proceedings of the 15th ACM Symposium on Theory of Computing, 1983, pp. 402412. 16. L.M. Adleman, "Factoring Numbers Using Singular Integers," Proceedings of the 23rd Annual ACM Symposium on the Theory of Computing, 1991, pp. 64 71. 17. L.M. Adleman, "Molecular Computation of Solutions to Combinatorial Problems," Science, v. 266, n. 11, Nov 1994, p. 1021. 18.
L.M. Adleman, D. Estes, and K. McCurley, "Solving Bivariate Quadratic Congruences in Random Polynomial Time," Mathematics of Computation, v. 48, n. 177, Jan 1987, pp. 1728.
19. L.M. Adleman, C. Pomerance, and R.S. Rumeley, "On Distinguishing Prime Numbers from Composite Numbers, " Annals of Mathematics, v. 117, n. 1, 1983, pp. 173-206. 20. L.M. Adleman and R.L. Rivest, "How to Break the Lu-Lee {COMSAT) Public-Key Cryptosystem, " MIT Laboratory for Computer Science, Jul 1979. 21. G.B. Agnew, "Random Sources for Cryptographic Systems, " Advances in Cryptology EUROCRYPT '8 7 Proceedings, Springer-Verlag, 1988, pp. 77-81. 22. G.B. Agnew, R.C. Mullin, I.M. Onyszchuk, and S.A. Vanstone, "An Implementation for a Fast Public-Key Cryptosystem," Journal of Cryptology, v. 3, n. 2, 1991, pp. 63-79. 23.
G.B. Agnew, R.C. Mullin, and S.A. Vanstone, "A Fast Elliptic Curve Cryptosystem," Advances in Cryptology EUROCRYPT '89 Proceedings, Spnnger-Verlag, 1990, pp. 706708.
24. G.B. Agnew, R.C. Mullin, and S.A. Vanstone, "Improved Digital Signature Scheme Based on Discrete Exponentiation, " Electronics Letters, v. 26, n. 14, 5 Jul 1990, pp. 1024 1025. 25. G.B. Agnew, R.C. Mullin, and S.A. Vanstone, "On the Development of a Fast Elliptic Curve Cryptosystem," Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 482 26. G.B. Agnew, R.C. Mullin, and S.A. Vanstone, "An Implementation of Elliptic Curve Cryptosystems over F:155," IEEE Selected Areas of Communications, v. 11, n. 5, Jun 1993, pp. 804-813. 27. A. Aho, J. Hopcroft, and J. Ullman. The 40. Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.
28. S.G. Akl, "Digital Signatures: A Tutorial Survey." Computer, v. 16, n. 2, Feb 1983, pp. 15-24. 29. S.G. Akl, "On the Security of Compressed Encodings," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 209-230. 30. S.G. Akl and H. Meijer, "A Fast Pseudo-Random Permutation Generator with Applications to Cryptology," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 269-275. 31. M. Alabbadi and S.B. Wicker, "Security of Xinmei Digital Signature Scheme," Electronics Letters, v. 28, n. 9, 23 Apr 1992, pp. 890-89 1. 32. M. Alabbadi and S.B. Wicker, "Digital Signature Schemes Based on Error-Correcting Codes," Proceedings of the 1993 IEEE-ISIT, IEEE Press, 1993, p. 199. 33. M. Alabbadi and S.B. Wicker, "Cryptanalysis of the Harn and Wang Modification of the Xinmei Digital Signature Scheme, " Electronics Letters, v. 28, n. 18, 27 Aug 1992, pp. 1756-1758. 34. K. Alagappan and J. Tardo, "SPX Guide: Prototype Public Key Authentication Service, " Digital Equipment Corp.. May 1991. 35. W. Alexi, B.-Z. Chor, O. Goldreich, and C.R Schnorr, "RSA and Rabin Functions: Certain Parts Are as Hard as the Whole," Proceedings of the 25th IEEE Symposium on the Foundations of Computer Science, 1984, pp. 449-457. 36. W. Alexi, B.-Z. Chor, O. Goldreich, and C.R Schnorr, "RSA and Rabin Functions: Certain Parts are as Hard as the Whole," SIAM 1ournal on Computing, v. 17, n. 2, Apr 1988, pp. 194 209. 37. Ameritech Mobile Communications et al., "Cellular Digital Packet Data System Specifications: Part 406: Airlink Security," CDPD Industry Input Coordinator. Costa Mesa, Calif.. Jul 1993. 38. H.R. Amirazizi, E.D. Karnin, and J.M. Reyneri, "Compact Knapsacks are Polynomial Solvable," ACM SIGACT News, v.15, 1983, pp. 20-22. 39. R.J. Anderson, "Solving a Class of Stream Ciphers," Cryptologia, v. 14, n. 3, Jul 1990, pp. 285-288. 40. R.J. Anderson, "A Second Generation Electronic Wallet," ESORICS 92, Proceedings of the Second European Symposium on Research in Computer Security, Springer 54. Verlag, 1992, pp. 411 418. 41. R.J. Anderson, "Faster Attack on Certain Stream Ciphers, " Electronics Letters, v. 29, n. 15, 22 Jul 1993, pp. 1322-1323.
42. R.J. Anderson! "Derived Sequence Attacks on Stream Ciphers, " presented at the rump session of CRYPTO '93, Aug 1993. 43. R.J. Anderson, "Why Cryptosystems Fail," lst ACM Conference on Computer and Communications Security ACM Press, 1993, pp. 215-227. 44. R.J. Anderson, "Why Cryptosystems Fail," Communications of the ACM, v. 37, n. 11, 1994, pp. 32 40.
Nov
45. R.J. Anderson, "On Fibonacci Keystream 58. Generators, " K. U. Lezzven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 46. R.J. Anderson, "Searching for the Optimum Correlation Attack, " K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995. to appear. 47. R.J. Anderson and T.M.A. Lomas, "Fortifying Key Negotiation Schemes with Poorly Chosen Passwords," Electronics Letters, v. 30, n. 13, 23 Jun 1994, pp. 1040-1041. 48. R.J. Anderson and R. Needham, "Robustness Principles for Public Key Protocols," Advances in Cryptology CRYPTO '95 Proceedings, Springer-Verlag, 1995, to appear, 49. D. Andleman and J. Reeds, "On the Cryptanalysis of Rotor Machines and SubstitutionPermutation Networks," IEEE Trans actions on Information Theory, v. IT-28, n. 4, Jul 1982, pp. 578-584. 50. ANSI X3.92, "American National Standard for Data Encryption Algorithm Ameriean National Standards Institute, 1981.
(DEA ),"
51. ANSI X3.105, "American National Standard for Information Systems Data Link " Ameriean National Standards Institute, 1983.
Encryption,
52. ANSI X3.106, "American National Standard for Information Systems Data Encryption Algorithm Modes of Operation," Ameriean National Standards Institute, 1 983. 53.
ANSI X9.8, "American National Standard for Personal Information Number (PIN ) Management and Security, " American Bankers Association, 1982.
54.
ANSI X9.9 (Revised, "American National Standard for Financial Institution Message Authentication (Wholesales), " American Bankers Association, 1986.
55. ANSI X9.17 (Revised. "American National Standard for Financial Institution Key Management (Wholesales)" American Bankers Assoeiation, 1985. 56. ANSI X9.19, "American National Standard for Retail Message Authentication," Ameriean Bankers Assoeiation, 1985.
57. ANSI X9.23, "American National Standard for Financial Institution Message Encryption, " American Bankers Assoeiation, 1988. 58. ANSI X9.24, "Draft Proposed Ameriean National Standard for Retail Key Management," Ameriean Bankers Assoeiation, 1988. 59. ANSI X9.26 (Revised). "American National Standard for Financial Institution Sign-On Authentication for Wholesale Financial Transaction," American Bankers Association, 1990. 60. ANSI X9.30, "Working Draft: Public Key Cryptography Using irreversible Algorithms for the Financial Services Industry''' Ameriean Bankers Association, Aug 1994. 61. ANSI X9.31, "Working Draft: Public Key Cryptography Using Reversible Algorithms for the Financial Services Industry," Ameriean Bankers Association, Mar 1993. 62. K. Aoki and K. Ohta, "Differential-Linear Cryptanalysis of FEAL-8," Proceedings of the 1995 Symposium on Cryptography and Information Security (SCIS by), Innyama, Japan, 24-27 Jan 1995, pp. A3.4.1-11. (In Japanese) 63. K. Araki and T. Sekine, "On the Conspiracy Problem of the Generalized Tanaka's Cryptosystem," IEICE Transactions, v. E74, n. 8, Aug 1991, pp. 2176-2178. 64. S. Araki, K. Aoki, and K. Ohta, "The Best Linear Expression Search for FEAL," Proceedings of the 1995 Symposium on Cryptography and Information Security (SCIS 95), Inuyama, Japan, 24-27 Jan 1995, pp. A4.4.1-10. 65. C. Asmuth and J. Bloom, "A Modular Approach to Key Safeguarding," IE EE Transactions on Information Theory, v. IT- 29, n. 2, Mar 1983, pp. 208 210. 66. D. Atkins, M. Graff, A.K. Lenstra, and RC. Leyland, "The Magic Words are Squeamish Ossifrage, " Advances in Cryptology ASIA CRYPT '94 Proceedings, Springer- Verlag, 1995, pp. 263-277. 67. AT&T, "T7001 Random Number Generator," Data Sheet, Aug 1986. 68. AT<, "ATTEST Readying New Spy-Proof Phone for Big Military and Civilian Markets," The Report on ATTEST, 2 Jun 1986, pp. 6-7. 69. AT&T, "T7002/T7003 Bit Slice Multiplier," product announcement, 1987. 70. AT&T, "Telephone Security Device TSD 3600 User's Manual, " ATTEST, 20 Sep 1992. 71. Y. Aumann and U. Feige, "On Message Proof Systems with Known Space Verifiers," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 85-99.
72. R.G. Ayoub, An Introduction to the Theory of Numbers, Providence, Rl: American Mathematical Society, 1963. 73. A. Aziz and W. Diffie, "Privacy and Authentication for Wireless Local Area Networks," IEEE Personal Communications, v. l, n. 1, 1994, pp. 25-31. 74. A. Bahreman and J.D. Tygar, "Certified Electronic Mail," Proceedings of the Internet Society 1994 Workshop on Network and Distributed System Secunty, The Internet Society, 1994, pp. 3-19. 75. D. Balenson, "Automated Distribution of Cryptographic Keys Using the Financial Institution Key Management Standard, " IEEE Communications Magazine, v. 23, n. 9. Sep 1985, pp. 41-46. 76. D. Balenson, "Privacy Enhancement for Internet Electronic Mail: Part 111: Algo 91. rithms, Modes, and Identifiers, " RFC 1423, Feb 1993. 77. D. Balenson, C.M. Ellison, S.B. Lipner, and S.T. Walker, "A New Approach to Software Key Escrow Encryption," TIS Report #520, Trusted Information Systems, Aug 94 78. R. Ball, Mathematical Recreations and
Essays, New York: MacMillan, 1960.
79. J. Bamford, The Puzzle Palace, Boston: 93. 80. J. Bamford and W. Madsen, The Puzzle
Houghton Mifflin, 1982.
Palace, Second Edition, Penguin Books,
1995.
81. S.K. Banerjee, "High Speed Implementa- tion of DES," Computers ed Security, v. l, 1982, pp. 261-267. 82. Z. Baodong, "MC-Veiled Linear Transform Public Key Cryptosystem," Acta Electron- ica Sinica, v. 20, n. 4, Apt 1992, pp. 21-24. {In Chinese 1 83. P.H. Bardell, "Analysis of Cellular Automata Used as Pseudorandom Pattern Generators," Proceedings of 1990 Interna- tional Test Conference, pp. 762-768. 84. T. Baritaud, H. Gilbert, and M. Girault, "FFT Hashing is not Collision-Free, " Advances in Cryptology EUR OCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 35-44. 85. C. Barker, "An Industry Perspective of the CCEP, " 2nd Annual AIAA Computer Security Conference Proceedings, 1986. 86. W.G. Barker, Cryptanalysis of the Hagelin Cryptograph, Aegean Park Press, 1977. 87. R Barrett, "Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp 311-323.
88. T.C. Bartee and D.l. Schneider, "Computation with Finite Fields," Information and Control, v. 6, n. 2, Jun 1963, pp. 79-98. 89. U. Baum and S. Blackburn, "Clock Controlled Pseudorandom Generators on Finite Groups," K.U Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 90. K.R. Bauer, T.A. Bersen, and R.J. Feiertag, "A Key Distribution Protocol Using Event Markers," ACM Transactions on Computer Systems, v. 1, n. 3, 1983, pp. 249-255. 91. F. Bauspiess and F. Damm, "Requirements for Cryptographic Hash Functions," Computers Security, v. l l, n. 5, Sep 1992, pp. 427 437. 92. D. Bayer, S. Haber, and W.S. Stornetta, "Improving the Efficiency and Reliability of Digital Time-Stamping, " Sequences '91: Methods in Communication, Security, and Computer Science, Springer-Verlag, 1992, pp. 329-334. 93. R. Bayer and J.K. Metzger, "On the Encipherment of Search Trees and Random Access Files," ACM Transactions on Data base Systems, v. l, n. 1, Mar 1976, pp. 37-52. 94. M. Beale and M.F. Monaghan, "Encrytion Using Random Boolean Functions," Cryptography and Coding, H.J. Beker and F.C. Piper, eds., Oxford: Clarendon Press, 1989, pp. 219-230. 95. P. Beauchemin and G. Brassard, "A Gener- alization of Hellman's Extension to Shannon's Approach to Cryptography," lournal of Cryptology, v. 1, n. 2, 1988, pp. 129-132. 96. R Beauchemin, G. Brassard, C. Crepeau, C. Goutier, and C. Pomerance, "The Generation of Random Numbers that are Probably Prime, " Journal of Cryptology, v. 1, n. 1, 1988, pp. 53-64. 97. D. Beaver, J. Feigenbaum, and V Shoup, "Fliding Instances in Zero-Knowledge Proofs, " Advances in Cryptology CR YPTO '90 Proceedings, Springer-Verlag, 1991, pp. 326338. 98. H. Beker, J. Friend, and P. Halliden, "Simplifying Key Management in Electronic Funds Transfcr Points of Sale Systems," Electronics Letters, v. 19, n. 12, Jun 1983, pp. 442 444. 99. H. Beker and F. Piper, Cipher Systems: The Protection of Communications, London: Northwood Books, 1982. 100. D.E. Bell and L.J. LaPadula, "Secure Computer Systems: Mathematical Foundations, " Report ESD-TR-73-275, MITRE Corp., 1973. 101. D.E. Bell and L.J. LaPadula, "Secure Computer Systems: A Mathematical Model," Report MTR-2547, MITRE Corp., 1973.
102. D.E. Bell and L.J. LaPadula, "Secure Computer Systems: A Refinement of the Mathematical Model," Report ESD-TR-73-278, MITRE Corp., 1974. 103. D.E. Bell and L.J. LaPadula. "Secure Com- puter Systems: Unified Exposition and Multics Interpretation," Report ESD-TR- 75-306, MITRE Corp., 1976. 104. M. Bellare and S. Goldwasser, "New Paradigms for Digital Signatures and Message Authentication Based on Non-interactive Zero Knowledge Proofs, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 194-211. 105. M. Bellare and S. Micali, "Non-interactive Oblivious Transfer and Applications, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp.547-557. 106. M. Bellare, S. Micali, and R. Ostrovsky, "Perfect Zero-Knowledge in Constant Rounds," Proceedings of the 22nd ACM Symposium on the Theory of Computing, 1990, pp. 482493. 107. S.M. Bellovin, "A Preliminary Technical Analysis of Clipper and Skipjack," unpublished manuscript, 20 Apr 1993. 108. S.M. Bellovin and M. Merritt, "Limitations of the Kerberos Protocol, " Winter 1991 USENIX Conference Proceedings, USENIX Association, 1991, pp. 253-267. 109. S.M. Bellovin and M. Merritt, "Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks," Pro ceedings of the 1992 IEEE Computer Society Conference on Research in Security and Privacy, 1992, pp. 72-84. 110. S.M. Bellovin and M. Merritt, "An Attack on the Interlock Protocol When Used for Authentication, " IEEE Transactions on Information Theory, v. 40, n. 1, Jan 1994, pp. 273-275. 111. S.M. Bellovin and M. Merritt, "Cryptographic Protocol for Secure Communications, " U.S. Patent #5,241,599, 31 Aug 93. 112. J. Ben-Aroya and E. Biham, "Differential Cryptanalysis of Lucifer, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 187-199. 113. J.C. Benaloh, "Cryptographic Capsules: A Disjunctive Primitive for Interactive Protocols," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, 213-222. 114. J.C. Benaloh, "Secret Sharing Homorphisms: Keeping Shares of a Secret Secret, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987. pp. 251-260. 115. J.C. Benaloh, "Verifiable Secret-Ballot Elections, " Ph.D. dissertation, Yale University, YALEU/DCS/TR-561, Dec 1987.
116. J.C. Benaloh and M. de Mare, "One-Way Accumulators: A Decentralized Alternative to Digital Signatures," Advances in Cryptology EUROCRYPT '93 Proceedings, SpringerVerlag, 1994, pp. 274 285. 117. J.C. Benaloh and D. Tuinstra, "Receipt Free Secret Ballot Elections," Proceedings of the 26th ACM Symposium on the Theory of Computing, 1994, pp. 544-553. 118. J.C. Benaloh and M. Yung, "Distributing the Power of a Government to Enhance the Privacy of Voters, " Proceedings of the 130. 5th ACM Symposium on the Principles in Distributed Computing, 1986, pp. 52-62. 119. A. Bender and G. Castagnoli, "On the Implementation of Elliptic Curve Cryptosystems, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 186-192. 120. S. Bengio, G. Brassard, Y.G. Desmedt, C. Goutier, and J.-J. Quisquater, "Secure Implementation of Identification Systems, " Journal of Cryptology, v. 4, n. 3, 1991, pp. 175-184. 121. C.H. Bennett, F. Bessette, G. Brassard, L. Salvail, and J. Smolin, "Experimental Quantum Cryptography, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 253-265. 122. C.H. Bennett, F. Bessette, G. Brassard, L. Salvail, and J. Smolin, "Experimental Quantum Cryptography, "Journal of Cryptology, v. 5, n. 1, 1992, pp. 3-28. 123. C.H. Bennett and G. Brassard, "Quantum Cryptography: Public Key Distribution and Coin Tossing, " Proceedings of the IEEE International Conference on Computers, Systems, and Signal Processing, Banjalore, India, Dec 1984, pp. 175-179. 124. C.H. Bennett and G. Brassard, "An Update on Quantum Cryptography," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 475-480. 125. C.H. Bennett and G. Brassard, "Quantum Public-Key Distribution System, " IBM Technical Disclosure Bulletin, v. 28, 1985, pp. 3153-3163. 126. C.H. Bennett and G. Brassard, "Quantum Public Key Distribution Reinvented, " S IGACT News, v. 18, n.4, 1987, pp. 51-53. 127. C.H. Bennett and G. Brassard, "The Dawn of a New Era for Quantum Cryptography: The Expenmental Prototype is Working!" SIGACT News, v. 20, n. 4, Fall 1989, pp. 78-82. 128. C.H. Bennett, G. Brassard, and S. Breidbart, Quantum Cryptography 11: How to Re-Use a One-Time Pad Safely Even if P=NP, unpublished manuscript, Nov 1982. 129. C.H. Bennett, G. Brassard, S. Breidbart, and S. Weisner, "Quantum Cryptography, or Unforgeable Subway Tokens," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 267-275.
130. C.H. Bennett, G. Brassard, C. Crepeau, and M.-H. Skubiszewska, "Practical Quantum Oblivious Transfer, " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 351-366. 131. C.H. Bennett, G. Brassard, and A.K. Ekert, "Quantum Cryptography," Scientific American, v. 267, n.4, Oct 1992, pp. 50-57. 132. C.H. Bennett, G. Brassard, and N.D. Mermin, "Quantum Cryptography Without Bell's Theorem, " Physical Review Letters, v.68, n.5, 3 Feb 1992, pp. 557-559. 133. C.H. Bennett, G. Brassard, and J.-M. Robert, "How to Reduce Your Enemy's Information," Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 468-476. 134. C.H. Bennett, G. Brassard, and J.-M. Robert, "Privacy Amplification by Public Discussion," SIAM Journal on Computing, v. 17, n.2, Apr 1988, pp. 210-229. 135. J. Bennett, "Analysis of the Encryption Algorithm Used in WordPerfect Word Processing Program," Cryptologia, v. l l, n. 4, Oct 1987, pp. 206-210. 136. M. Ben-Or, S. Goldwasscr, and A. Wigderson, "Completeness Theorems for NonCryptographic Fault-Tolerant Distributed Computation, " Proceedings of the 20th ACM Symposium on the Theory of Computing, 1988, pp. 1-10. 137. M. Ben-Or, O. Goldreich, S. Goldwasser, J. Hastad, J. Kilian, S. Micali, and R Rogaway, "Everything Provable is Provable in Zero-Knowledge," Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 37-56. 138. M. Ben-Or, O. Goldreich, S. Micali, and R.L. Rivest, "A Fair Protocol for Signing Contracts," IEEE Transactions on Information Theory, v. 36, n. 1, Jan 1990, pp. 40 46. 139. H.A. Bergen and W.J. Caelli, "File Security in WordPerfect 5.0," Cryptologia, v. 15, n. 1, Jan 1991, pp. 57-66. 140. E.R. Berlekamp, Algebraic Coding Theory, Aegean Park Press, 1984. 141. S. Berkovits, "How to Broadcast a Secret," Advances i n Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 535-541. 142. S. Berkovits, J. Kowalchuk, and B. Schanning, "Implementing Public-Key Scheme, " IEEE Communications Magazine, v. 17, n. 3, May 1979, pp. 2-3. 143. D.J. Bernstein, Bernstein vs. U.S. Depart- ment of State et al., Civil Action No. C950582-MHP, United States District Court for the Northern District of California, 21 Feb 1995.
144. T. Berson, "Differential Cryptanalysis Mod 232 with Applications to MD5, " Advances in Cryptology EUROCRYPT '92 Proceedings, 1992, pp. 71-80. 145. T. Beth, Verfahren der schnellen Fourier-Transformation, Teubner, Stuttgart, 1984. (In German.) 146. T. Beth, "Efficient Zero-Knowledge Identification Scheme for Smart Cards," Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 77-84. 147. T. Beth, B.M. Cook, and D. Gollmann, "Architectures for Exponentiation in GF|2n|," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 302-310. 148. T. Beth and Y. Desmedt, "Identification Tokens or: Solving the Chess Grandmastcr Problem," Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 169-176. 149. T. Beth and C. Ding, "On Almost Nonlinear Permutations, " Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 65-76. 150. T. Beth, M. Frisch, and G.J. Simmons, eds., Lecture Notes in Computer Science 578; Public Key Cryptography: State of the Art and Future Directions, Springer-Verlag, 1992. 151. T. Beth and F.C. Piper, "The Stop-and-Go Generator," Advances in Cryptology: Procedings of EUROCRYPT 84, Springer-Verlag, 1984, pp. 88-92. 152. T. Beth and F. Schaefer, "Non Supersingular Elliptic Curves for Public Key Cryptosystems," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 316327. 153. A. Beutelspacher, "How to Say 'No', " Advances in Cryptology EUROCRYPT Proceedings, Springer-Verlag, 1990, pp. 491-96.
'89
154. J. Bidzos, letter to NIST regarding DSS, 20 Sep 1991. 155. J. Bidzos, personal communication, 1993. 169. 156. R Bieber, "A Logic of Communication in a Hostile Environment," Proceedings of the Computer Security Foundations Workshop, IEEE Computer Society Press, 1990, pp. 1422. 157. E. Biham, "Cryptanalysts of the Chaotic- Map Cryptosystem Suggested at EUROCRYPT '91, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 532-534. 158. E. Biham, "New Types of Cryptanalytic Attacks Using Related Keys, " Technical Report #753, Computer Science Department, Technion Israel Institute of Technology, Sep 1992.
159. E. Biham, "On the Applicability of Differential Cryptanalysis to Hash Functions," lecture at EIES Workshop on Cryptographic Hash Functions, Mar 1992. 160. E. Biham, personal communication, 1993. 161. E. Biham, "Higher Order Differential Cryptanalysis, " unpublished manuscript, Jan 1994. 162. E. Biham, "On Modes of Operation," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994,pp. 116-120. 163. E. Biham, "New Types of Cryptanalytic Attacks Using Related Keys," Jo urnal of Cryptology, v. 7, n. 4, 1994, pp. 229-246. 164. E. Biham, "On Matsui's Linear Cryptanalysis, " Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 398 -412. 165. E. Biham and A. Biryukov, "How to Strengthen DES Using Existing Hardware, " Advances in Cryptology ASIACKYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 166. E. Biham and P.C. Kocher, "A Known Plaintext Attack on the PKZIP Encryption," K.U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 167. E. Biham and A. Shamir, "Differential Cryptanalysis of DES-like Cryptosystems," Advances in Cryptology- CRYPTO 90 Proceedings, Springer- Verlag, 1991, pp. 2-21. 168. E. Biham and A. Shamir, "Differential Cryptanalysis of DES-like Cryptosystems," Journal of Cryptology, v. 4, n. 1, 1991, pp 3-72. 169. E. Biham and A. Shamir, "Differential Cryptanalysis of Feal and N-Hash, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 181. 1-16. 170. E. Biham and A. Shamir, "Differential Cryptanalysis of Snefru, Khafre, REDOC- II, LOKI, and Lucifer," Advances in Cryptology CRYPTO '91 Proceedings, 1992, pp. 156-171. 171. E. Biham and A. Shamir, "Differential Cryptanalysis of the Full 16-Round DES," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, 487- 496. 172. E. Biham and A. Shamir, Differential Cryptanalysis of the Data Encryption Standard, Springer-Verlag, 1993. 173. R. Bird, I. Gopal, A. Herzberg, R Janson, S. Kutten, R. Molva, and M. Yung, "Systematic Design of Two-Party Authentication Protocols, " Advances in Cryptology CRYPTO'91 Proceedings, Springer-Verlag, 1992, pp. 44-61. 174. R. Bird, I. Gopal, A. Herzberg, P. Janson, S. Kutten, R. Molva, and M. Yung, "Systematic Design of a Family of Attack-Resistant Authentication Protocols, " IEEE journal of Selected Areas in Communication, to appear.
175. R. Bird, I. Gopal, A. Herzberg R Janson, S. Kutten, R. Molva, and M. Yung, "A Modular Family of Secure Protocols for Authentication and Key Distribution," IEEE/ACM Transactions on Networking, to appear. 176. M. Bishop, "An Application for a Fast Data Encryption Standard Implementation, " Computing Systems, v. 1, n. 3, 1988, pp. 221-254. 177. M. Bishop, "Privacy-Enhanced Electronic Mail," Distributed Computing and Cryptography, J. Feigenbaum and M. Merritt, eds., American Mathematical Society, 1991, pp. 93-106. 178. M. Bishop, "Privacy-Enhanced Electronic Mail, " Internetworking: Research and Experience, v. 2, n. 4, Dec 1991, pp. 199-233. 179. M. Bishop, "Recent Changes to Privacy Enhanced Electronic Mail," Internetworking: Research and Experience, v. 4, n. 1, Mar 1993, pp. 47-59. 180. I.F. Blake, R. Fuji-Hara, R.C. Mullin, and S.A. Vanstone, "Computing Logarithms in Finite Fields of Characteristic Two, " SIAM Journal on Algebraic Discrete Methods, v. 5, 1984, pp. 276-285. 181. I.F. Blake, R.C. Mullin, and S.A. Vanstone, "Computing Logarithms in GF (2n), " Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 73-82. 182. G.R. Blakley, "Safeguarding Cryptographic Keys," Proceedings of the National Computer Conference, 1979, American Federation of Information Processing Societies, v. 48. 1979, pp. 313-317. 183. G.R. Blakley, "One-Time Pads ar e Key Safeguarding Schemes, Not Cryptosystems Fast Key Safeguarding Schemes (Threshold Schemes Exist ), " Proceedings of the 1980 Symposium on Security and Privacy, IEEE Computer Society. Apr 1980, pp. 108-113. 184. G.R. Blakley and I. Borosh, "Rivest-Shamir-Adleman Public Key Cryptosystems Do Not Always Conceal Messages," Computers and Mathematics with Applications, v. 5, n. 3, 1979, pp. 169-178. 185. G.R. Blakley and C. Meadows, "A Database Encryption Scheme which Allows the Computation of Statistics Using Encrypted Data," Proceedings of the 1985 Symposium on Security and Privacy, IEEE Computer Society, Apr 1985, pp. 116-122. 186. M. Blaze, "A Cryptographic File System for UNIX," 1st ACM Conference on Computer and Communications Security, ACM Press, 1993, pp. 9-16. 187. M. Blaze, "Protocol Failure in the Escrowed Encryption Standard, " 2nd ACM Conference on Computer and Communications security, ACM Press, 1994, pp. 59-67.
188. M. Blaze, "Key Management in an Encrypting File System, " Proceedings of the Summer 94 USENIX Conference, USENIX Association, 1994, pp. 27-35. 189. M. Blaze and B. Schneier, "The MacGuffin Block Cipher Algorithm, " K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 190. U. Blocher and M. Dichtl, "Fish: A Fast Software Stream Cipher," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 4144. 191. R. Blom, "Non-Public Key Distribution," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 231-236. 192. K.J. Blow and S.J.D. Phoenix, "On a Fundamental Theorem of Quantum Cryptography, " Journal of Modern Optics, v. 40, n. 1, Jan 1993, pp. 33-36. 193. L. Blum, M. Blum, and M. Shub, "A Simple Unpredictable Pseudo-Random Number Generator," SIAM Journal on Computing, v. 15, n. 2, 1986, pp. 364-383. 194. M. Blum, "Coin Flipping by Telephone: A Protocol for Solving Impossible Problems,'' Proceedings of the 24th IEEE Computer Conference (CompCon), 1982, pp. 133-137. 195. M. Blum, "How to Exchange Secret Keys, " ACM Transactions on Computer Systems, v. 1, n. 2, May 1983, pp. 175-193. 196. M. Blum, "How to Prove a Theorem So No Onc Else Can Claim It," Proceedings of International Congress of Mathematicians, Berkeley, CA, 1986, pp. 1444-1451.
the
197. M. Blum, A. De Santis, S. Micali, and G. Persiano, "Noninteractive Zero-Knowledge, " SIAM Journal on Computing, v. 20, n. 6, Dec 1991. pp. 1084-1118. 198. M. Blum, P. Feldman, and S. Micali, "Non Interactivc Zero-Knowledge and Its Applications, " Proceedings of the 20th ACM Symposilzm on Theory of Computing, 1988, pp. 103-112. 199. M. Blum and S. Goldwasser, "An Efficient Probabilistic Public-Key Encryption Scheme Which Hides All Partial Information," Advances in Cryptology: Proceedings of C RYPTO 84, Springer-Verlag, 1985, pp. 289-299. 200. M. Blum and S. Micali, "How to Generate Cryptographically-Strong Sequences of PseudoRandom Bits," SIAM Journal on Computing, v. 13, n. 4, Nov 1984, pp. 850-864. 201. B. den Boer. "Cryptanalysts of F.E.A.L.," Advances in Cryptology E UROCRYPT Proceeding.s, Springer-Verlag, 1988, pp. 293-300.
'88
202. B. den Boer and A. Bosselaers, "An Attack on the Last Two Rounds of MD4, " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 1 94-203.
203. B. den Boer and A. Bosselaers, "Collisions for the Compression Function of M D5," Advances in Cryptology EUROCRYPT 93 Proceedings, Springer-Verlag, 1994, pp. 293 204. J.-P. Boly, A. Bosselaers, R. Cramer, R. Michelsen, S. Mjolsnes, F. Muller, T. Pedersen, B. Pfitzmann, R de Rooij, B. Schoenmakers, M. Schunter, L. Vallee, and M. Waidner, "Digital Payment Systems in the ESPRIT Project CAFE, " Securicom 94, Paris, France, 26 Jan 1994, pp. 35-45. 205. J.-R Boly, A. Bosselaers, R. Cramer, R. Michelsen, S. Mjolsnes, F. Muller, T. Pcdersen, B. Pfitzmann, P. de Rooij, B. Schoen makers, M. Schunter, L. Vallee, and M. Waidner, "The ESPRIT Project CAFE High Security Digital Payment System," Computer Security ESORICS 94, Springer-Verlag, 1994, pp. 217-230. 206. D.J. Bond, "Practical Primality Testing," Proceedings of IKE International Conference on Secure Communications Systems, 22-23 Feb 1984, pp. 50-53. 207. H. Bonnenberg, Secure Testing of VSLI Cryptographic Equipment, Series in Microelectronics, Vol. 25, Konstanz: Hartung Gorre Verlag, 1993. 208. H. Bonnenberg, A. Curiger, N. Felber, H. Kacslin, and X. Lai, "VLSI Implementation of a New Block Cipher," Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers and Processors (ICCD 91), Oct 1991, pp. 510 -513. 209. K.S. Booth, "Authentication of Signatures Using Public Key Encryption," Commu nications of the ACM, v. 24, n. 11, Nov 1981, pp. 772-774, 210. A. Bosselaers, R. Govaerts, and J. Vanderwalle, Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 175-186. 211. D.R Bovet and P. Crescenzi, Introduction to the Theory of CompiexiLy, Englewood Cliffs, N.J.: Prenticc-Hall, 1994. 212. J. Boyar, "Inferring Scqucnccs Produced by a Linear Congruential Generator Missing Low-Order Bits." Journal of Cryptology, v. 1, n. 3, 1989, pp. 177-184. 213. J. Boyar, D. Chaum, and I. Damgard, "Convertible Undeniable Signatures," Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 189-205. 214. J. Boyar, K. Fricdl, and C. Lund, " Practical Zero-Knowledge Proofs: Giving Hints and Using Deficiencies, " Advances in Cryptology EUROCRYPT '89 Proceedings, SpringerVerlag, 1990, pp. 155-172. 215. J. Boyar, C. Lund, and R. Peralta, "On the Communication Complexity of Zero Knowledge Proofs, " Journal of Cryptology, v.6, n.2, 1993, pp.65-85.
216. J. Boyar and R. Peralta, "On the Concrete Complexity of Zero-Knowledge Proofs, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag 1990, pp. 507-525. 217. C. Boyd, "Some Applications of Multiple Key Ciphers," Advances in Cryptology EUROCRYPT '88 Proceedings, Springer Verlag, 1988, pp. 455-467. 218. C. Boyd, "Digital Multisignatures," Cryptography and Coding, H.J. Beker and F.C. Piper, eds., Oxford: Clarendon Press, 1989, pp. 241-246. 219. C. Boyd, "A New Multiple Key Cipher and an Improved Voting Scheme," Advances in Cryptology EUROCRYPT '89 Proceed ings, Springer-Verlag, 1990, pp. 617 625. 220. C. Boyd, "Multisignatures Revisited," Cryptography and Coding, M.J. Ganley, Oxford: Clarendon Press, 1993, pp. 21-30.
ed.,
221. C. Boyd and W. Mao, "On the Limitation of BAN Logic, " Advances in Cryptology EUROCRYPT '93 Proceedings, Springer Verlag, 1994, pp. 240-247. 222. C. Boyd and W. Mao, "Designing Secure Key Exchange Protocols," Computer Secu rity ESORICS 94, Springer-Verlag, 1994, pp. 217-230. 223. B. O. Brachtl, D. Coppersmith, M.M. Hyden, S.M. Matyas, C.H. Meyer, J. Oseas, S. Pilpel, and M. Schilling, "Data Authentication Using Modification Detection Codes Based on a Public One Way Function," U.S. Patent #4,908,861, 13 Mar 1990. 224. J. Brandt, I.B. Damgard, R Landrock, and T. Pederson, "Zero-Knowledge Authentication Scheme with Secret Key Exchange," Advances in Cryptology CRYPTO '88, SpringerVerlag, 1990, pp. 583-588. 225. S.A. Brands, "An Efficient Off-Line Electronic Cash System Based on the Representation Problem," Report CS-R9323, Computer Science / Department of Algorithms and Architecture, CWI, Mar 1993. 226. S.A. Brands, "Untraceable Off-line Cash in Wallet with Observers," Advances Cryptology CRYPTO '93, Springer Verlag, 1994, pp. 302-318.
in
227. S.A. Brands, "Electronic Cash on the Internet," Proceedings of the Internet Society Symposium on Network and Distributed Systems Secunty, IEEE Computer Society Press 1995, pp 64-84. 228. D.K. Branstad, "Hellman's Data Does Not Support His Conclusion," IEEE Spectrum, v. 16, n. 7, Jul 1979, p. 39. 229. D.K. Branstad, J. Gait, and S. Katzke, "Report on the Workshop on Cryptography in Support of Computer Security, " NBSIR 77-1291, National Bureau of Standards, Sep 2122, 1976, September 1977.
230. G. Brassard, "A Note on the Complexity of Cryptography, " IEEE Transactions on Information Theory, v. IT-25, n. 2, Mar 1979, pp. 232-233. 231. G. Brassard, "Relativized Cryptography," Proceedings of the IEEE 20th Annual Symposium on the Foundations of Computer S cience, 1979, pp. 383-391. 232. G. Brassard, "A Time-Luck Trade -off in Relativized Cryptography, " Proceedings of the IEEE 21st Annual Symposium on the Foundations of Computer Science, 1980, pp. 380386. 233. G. Brassard, "A Time-Luck Tradeoff in Relativized Cryptography," Journal Of Computer and System Sciences, v. 22, n.3, Jun 1981, pp. 280-311. 234. G. Brassard, "An Optimally Secure Relativized Cryptosystem," SIGACT News, v. 15, n. 1, 1983, pp. 28-33. 235. G. Brassard, "Relativized Cryptography," IEEE Transactions on Information Theory, v. IT-29, n. 6, Nov 1983, pp. 877-894. 236. G. Brassard, Modern Cryptology: A Tuto rial, Springer-Verlag, 1988. 237. G. Brassard, "Quantum Cryptography: A Bibliography," SIGACT News, v. 24, n. 3, Oct 1993, pp. 16-20. 238. G. Brassard, D. Chaum, and C. Crepeau, "An Introduction to Minimum Disclosure," CWI Quarterly v. 1, 1988, pp. 3-17. 239. G. Brassard, D. Chaum, and C. Crepeau, "Minimum Disclosure Proofs of Knowledge," Journal of Computer and System Sciences, v. 37, n.2, Oct 1988, pp. 156-189. 240. G. Brassard and C. Crepeau, "Non-Transitive Transfer of Confidence: A Perfect ZeroKnowledge Interactive Protocol for SAT and Beyond," Proceedings of the 27th IEEE Symposium on Foundations of Computer Science, 1986, pp. 188-195. 241. G. Brassard and C. Crepeau, "Zero- Knowledge Simulation of Boolean Circuits," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 22 5-233. 242. G. Brassard and C. Crcpeau, "Sorting Out Zcro-Knowlcdge, " Advances in Cryptology EUROCRYPT '89 Proceedings, Springcr-Vcrlag, 1990, pp. 181-191. 243. G. Brassard and C. Crcpcau, "Quantum Bit Commitment and Coin Tossing Protocols, " Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 49-61. 244. G. Brassard, C. Crepeau, R. Jozsa, and D. Langlois, "A Quantum Bit Commitment Schcmc Provably Unbreakable by Both Parties, " Proceedings of the 34th IEEE Symposium on Foundations of comp uter Science, 1993, pp. 362-371.
245. G. Brassard, C. Crepeau, and J.-M. Robert, ''Information Theoretic Reductions Among Disclosure Problems, " Proceedings of the 27th IEEE Symposium on Foundations of Computer Science, 1986, pp. 168-173. 246. G. Brassard, C. Crcpeau, and J.-M. Robert, "All-or-Nothing Disclosure of Secrets, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 234-238. 247. G. Brassard, C. Crepeau, and M. Yung, "Everything in NP Can Be Argued in Perfect ZeroKnowledge in a Bounded Number of Rounds," Proceedings on the 16th Inter national Colloquium on Automata, Languages, and Programming, Springer-Verlag, 1989, pp. 123136. 248. R.P. Brent, "An Improved Monte-Carlo Factorization Algorithm," BIT v. 20, n. 2, 1980, pp. 176-184. 249. R.P. Brent, "On the Periods of Generalized 261. Fibonacci Recurrences, Mathematics of Computation, v 63, n. 207, Jul 1994, pp. 389-401. 250. R.R Brent, "Parallel Algorithms for Integer Factorization," Research Report CMA-R49-89, Computer Science Laboratory The Australian National University, Oct 1989. 251. D.M. Bressotid, Factorization and Primality Testing, Springer-Verlag, 1989. 252. E.F. Brickcll, "A Fast Modular Multiplication Algorithm with Applications to Two Key Cryptography," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1982, pp. 51-60. 253. E.F. Brickell, "Are Most Low Density Polynomial Knapsacks Solvable in Polynomial Timer" Proceedings of the 14th Southeastern Conference on Combinatorics, Graph Theory, and Computing, 1983. 254. E.F. Brickell, "Solving Low Density Knapsacks," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 25 -37. 255. E.F. Brickell, "Breaking Iterated Knapsacks," Advances in Cryptology: Proceedings of Crypto 84, Springer-Verlag, 1985, pp. 342-358. 256. E.F. Brickell, "Cryptanalysts of the Uagisawa Public Key Cryptosystem," Abstracts of Papers, EUROCRYPT '86, 20-22 May 1986. 257. E.F. Brickell, "The Cryptanalysis of Knapsack Cryptosystems, " Applications of Discrete Mathematics, R.D. Ringeisen and F.S. Roberts, eds., Society for Industrial and Applied Mathematics, Philadelphia, 1988, pp. 3-23. 258. E.F. Brickell, "Survey of Hardware Implementations of RSA, " Advances in Cryptology CRYPTO '89 Proceedings, Springcr-Verlag, 1990, pp. 368-370.
259. E.F. Brickell, D. Chaum, I.B. Damgard, and J. van de Graff, "Gradual and Verifiable Release of a Secret," Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 156-166. 260. E.F. Brickell, J.A. Davis, and G.J. Simmons, "A Preliminary Report on the Cryptanalysis of Merkle-Hellman Knapsack, " Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 289-303. 261. E.F. Brickell and J. DeLaurentis, "An Attack on a Signature Scheme Proposed by Okamoto and Shiraishi, " Advances in Cryptology CRYPTO '85 Proceedings, SpringerVerlag, 1986, pp. 28-32. 262. E.F. Brickell, D.E. Denning, S.T. Kent, D.R Maher, and W. Tuchman, "SKIPJACK Review Interim Report, " unpublished manuscript, 28 Jul 1993. 263. E.F. Brickell, J.C. Lagarias, and A.M. Odlyzko, "Evaluation of the Adleman Attack of Multiple Iterated Knapsack Cryptosystems," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 39-42. 264. E.F. Brickell, RJ. Lee, and Y. Yacobi, "Secure Audio Teleconference," Advances Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 418 426.
in
265 . E. F. Brickell and K. S. McCurley, "An Interactive Identification Scheme Based on Discrete Logarithms and Factoring, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 63-71. 266. E.F. Brickell, J.H. Moore, and M.R. Purtill, "Structure in the S-Boxes of the DES," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 3-8. 267. E.F. Brickell and A.M. Odlyzko, "Crypt analysis: A Survey of Recent Results," Pro ceedings of the IEEE, v. 76, n. 5, May 1988, 279. pp. 578-593. 268. E.F. Brickell and A.M. Odlyzko, "Crypt analysis: A Survey of Recent Results," Contemporary Cryptology: The Science of Information Integnty, G.J. Simmons, ed., IEEE Press, 1991, pp. 501-540. 269. E.F. Brickell and G.J. Simmons, "A Status Report on Knapsack Based Public Key Cryptosystems, " Congressus Numeran tium, v. 7, 1983, pp. 3-72. 270. E.F. Brickell and D.R. Stinson, "The Detection of Cheaters in Threshold Schemes," Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 564577. 271. A.G. Broscius and J.M. Smith, "Exploiting Parallelism in Hardware Implementation of the DES, " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 367-376.
272. L. Brown, M. Kwan, J. Pieprzyk, and J. Seberry, "Improving Resistancc to Differential Cryptanalysis and the Redesign of LOKI, " Advances in Cryptology ASIACRYPT '91 Proceedings, Springer-Verlag, 1993, pp. 36-50. 273. L. Brown, J. Pieprzyk, and J. Seberry, "LOKI: A Cryptographic Primitive for Authentication and Secrecy Applications," Advances in Cryptology AUSCRYPT ' 90 Proceedings, Springer Verlag, 1990, pp. 229-236. 274. L. Brown, J. Pieprzyk, and J. Seberry, "Key Scheduling in DES Type Cryptosystems," Advances in Cryptology A IJSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 221228. 275. L. Brown and J. Seberry, "On the Design of Permutation P in DES Type Cryptosystems," Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 696705. 276. W. Brown, "A Quantum Leap in Secret Communications, " New Scientist, n. 1585, 30 Jan 1993, p. 21. 277. J.O. Bruer, "On Pseudo Random Sequences as Crypto Generators," Proceedings of the International Zurich Seminar on Digital Communication, Switzerland, 1984. 278. L. Brynielsson "On the Linear Complexity of Combined Shift Register Sequences," Advances in Cryptology EUROCRYPT '85, Springer-Verlag, 1986, pp. 156-166. 279. J. Buchmann, J. Loho, and J. Zayer, "An Implementation of thc General Number Field Sieve, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 159-165. 280. M. Burmester and Y. Desmedt, "Broadcast Interactive Proofs," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 81-95. 281. M. Burmester and Y. Desmedt, "A Secure and Efficient Conference Key Distribution System, " Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 282. D. Burnham, "NSA Seeking 500,000 'Secure' Telephones," The New York Times, 6 Oct 1994. 283. M. Burrows, M. Abadi, and R. Needham, "A Logic of Authentication, " Research Report 39, Digital Equipment Corp. Sys- tems Research Center, Feb 1989. 284. M. Burrows, M. Abadi, and R. Needham, "A Logic of Authentication," ACM Transactions on Computer Systems, v. 8, n. 1, Feb 1990, pp. 18-36. 285. M. Burrows, M. Abadi, and R. Needham, "Rejoinder to Nessett," Operating System Review, v. 20, n. 2, Apr 1990, pp. 39 40.
286. J.J. Cadc, "A Modification of a Broken Pu blic-Key Cipher," Advances in Cryptology CRYPTO '86 Proceedillgs, Springer- Verlag, 1987, pp. 64-83. 287. T.R. Cain and A.T. Sherman, "How to Break Gifford's Cipher, " P roceedings of the 2nd Annual ACM Conference Computer and Communications Security 300 ACM Press, 1994, pp. 198-209. 288. C. Calvelli and V Varadharajan, "An Analysis of Some Delegation Protocols for Distributed Systems, " Proceedings of the Computer Security Foundations Workshop V, IEEE Computer Society Press, 1992, pp. 92-110. 289. J.L. Camenisch, J.-M. Piveteau, and M.A . Stadler, "An Efficient Electronic Payment System Protecting Privacy," Computer Security ESOR ICS 94, Springer-Verlag, 1994, pp. 207-215, 290. P. Camion and J. Patarin, "The Knapsack Hash Function Proposed at Crypto '89 Can Be Broken," Advances in Cryptology EUROCRYPT '91, Springer-Verlag, 1991, pp. 3953. 291. C.M. Campbell, "Design and Specification of Cryptographic Capabilities," IEEE Computer Society Magazine, v. 16, n. 6, Nov 1978, pp. 15 19. 292. E.A. Campbell, R. Safavi-Naini, and PA. Pleasants, "Partial Belief and Probabilistic Reasoning in the Analysis of Secure Protocols," Proceedings of the Computer Security Foundations Workshop V, IEEE Computer Society Press, 1992, pp. 92-110. 293. K.W. Campbell and M.J. Wiener, "DES Is Not a Group," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, pp. 512-520. 294. Z.F. Cao and G. Zhao, "Some New MC Knapsack Cryptosystems, " CHINACRYPT 307 . '94, Xidian, China, 11-15 Nov 1994, pp. 70-75. (In Chinese.) 295. C. Carlet, "Partially-Bent Functions, " Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 280 -291. 296. C. Carlet, "Partially Bent Functions," 135-145.
Designs, Codes and Cryptography. v. 3,
1993, pp.
297. C. Carlet, "Two New Classes of Bent Functions" Advances in Cryptology EU ROCRYPT '93 Proceedings, Springer Vcrlag, 1994, pp. 77-101. 298. C. Carlet, J. Seberry, and X.M. Zhang, "Comments on Generating and Counting Binary Bent Sequences,' " IEEE Transac tions on Information Theory v. IT-40, n. 2, Mar 1994, p. 600. 299. J.M. Carroll, Computer Security, 2nd cdition, Butterworths 1987.
300. J.M. Carroll, "The Three Faces of Information Security," Advances in Cryptology AUSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 433 -450. 301. J.M. Carroll, "'Do-it-yourself' Cryptography," Computers & Security v. 9, n. 7, Nov 1990, pp. 613-619. 302. T.R. Caron and R.D. Silverman, "Parallel Implementation of the Quadratic Scheme," Journal of Supercomputing, v. 1, n. 3, 1988, pp. 273-290. 303. CCITT, Draft Recommendation X.509, "The Directory Authentication Framework," Consultation Committee, International Telephone and Telegraph, International Telecommunications Union, Geneva, 1987. 304. CCITT, Recommendation X.509, "The Directory Authentication Framework, " Consultation Committee, International Telephone and Telegraph, International Telecommunications Union, Geneva, 1989. 305. CCITT, Recommendation X.800, "Security Architecture for Open Systems Interconnection for CCITT Applications, " International Telephone and Telegraph. International Telecommunications Union, Geneva, 1991. 306. F. Chabaud, "On the Security of Some Cryptosystems Based on Error-Correcting Codes," Advances in Cryptology EURO- CRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 307. F. Chabaud and S. Vaudenay, "Links Between Differential and Linear Cryptanalysis, " Advances in Cryptology- EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 308. W.G. Chambers and D. Gollmann, "Generators for Sequences with Near-Maximal Linear Equivalence," IKE l'roceedings, V. 135, Pt. E, n. 1, Jan 1988, pp. 67-69. 309. W.G. Chambers and D. Gollmann, "Lock-In Effect in Cascades of Clock-Controlled Shi ft Registers, " Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 331-343. 310. A. Chan and R. Games, "On the Linear Span of Binary Sequences from Finite Geometries, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 405417. 311. J.R Chandler, D.C. Arrington, D.R. Berkel- hammer, and W.L. Gill, "Identification and Analysis of Foreign Laws and Regulations Pertaining to the Use of Commercial Encryption Products for Voice and Data Communications, " National Intellectual Property Law Institute, George Washing- ton University, Washington, D.C., Jan 1994.
312. C.C. Chang and S.J. Hwang, "Cryptographic Authentication of Passwords, " Proceedings of the 25th Annual 1991 IEEE International Carnahan Conference on Security Technology, Taipei, Taiwan, 1-3 Oct 1991, pp. 126-130. 313. C.C. Chang and S.J. Hwang, "A Strategy for Transforming Public-Key Cryptosystems into Identity-Based Cryptosystems." Proceedings of the 25th Annual 1991 IEEE International Carnahan Conference on Security Technology, Taipei, Taiwan, 1-3 Oct 1991, pp. 68-72. 314. C.C. Chang and C.H. Lin, "An ID-Based Signature Scheme Based upon Rabin's Public Key Cryptosystem, " Proceedings of the 25th Annual 1991 IEEE International Carahan Conference on Secunty Technology, Taipei, Taiwan, 1-3 Oct 1991, pp. 139-141. 315. C. Charnes and J. Pieprzyk, "Attacking the SL2 Hashing Scheme," Advances in Cryptology ASIACRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 322-330. 316. D. Chaum, "Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, " Communications of the ACM,v.24,n.2,Febl981,pp.84 88. 317. D. Chaum, "Blind Signatures for Untraceable Payments," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 199-203. 318. D. Chaum, "Security Without Identification: Transaction Systems to Make Big Brother Obsolete, " Communications of the ACM, v. 28, n. 10, Oct 1985, pp. 1030-1044. 319. D. Chaum, "Demonstrating that a Public Predicate Can Be Satisfied without Revealing Any Information about How, " Advances in Cryptology CRYPTO '86 Proceedings, SpringerVerlag, 1987, pp. 159-199. 320. D. Chaum, "Blinding for Unanticipated Signatures," Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Vcrlag, 1988, pp. 227-233. 321. D. Chaum, "The Dining Cryptographers Problem: Unconditional Sender and Receiver Untraceability, " Journal of Cryptology, v. 1, n. 1, 1988, pp. 65-75. 322. D. Chaum, "Elections with Unconditionally Secret Ballots and Disruptions Equivalent to Breaking RSA," Advances in Cryptology EUROCRYPT '88 Proceedings. Springer-Verlag, 1988, pp. 177-181. 323. D. Chaum, "Blind Signature Systems, " U.S. Patent #4,759,063, 19 Jul 1988. 324. D. Chaum, "Blind Unanticipated Signature Systems," U.S. Patent #4,759,064, 19 Jul 1988. 325. D. Chaum, "Online Cash Checks, " Advances in Cryptology EUROCRYPT '89 Proceedings, Springcr-Verlag, 1990, pp. 288-293. 326. D. Chaum, "One-Show Blind Signature Systems," U.S. Patent #4,914,698, 3 Apr 1990.
327. D. Chaum, "Undeniable Signature Systems," U.S. Patent #4,947,430, 7 Aug 1990. 328. D. Chaum, "Returned-Value Blind Signature Systems," U.S. Patent #4,949,380, 14 Aug 1990. 329. D. Chaum, "Zero-Knowledge Undeniable Signatures, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 458-464. 330. D. Chaum, "Group Signatures," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 2.57-265. 331. D. Chaum, "Unpredictable Blind Signature Systems," U.S. Patent #4,991,210, 5 Feb 1991. 332. D. Chaum, "Achieving Electronic Privacy," Scientific American, v. 267, n. 2, Aug 1992, pp. 96-101. 333. D. Chaum, "Designated Confirmer Signatures," Advances in Cryptology E UROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 334. D. Chaum, C. Crepeau, and I.B. Damgard, "Multiparty Unconditionally Secure Protocols, " Proceedings of the 20th ACM Symposium on the Theory of Computing, 1988, pp. 11-19. 335. D. Chaum, B. den Boer, E. van Heyst, S. Mjolsnes, and A. Steenbeek, "Efficient Offline Electronic Checks," Advances in Cryptology E UK OCRYPT '89 Proceedings, SpringerVerlag, 1990, pp. 2Y4-301. 336. D. Chaum and J.-H. Evertse, "Cryptanalysis of DES with a Reduced Number of Rounds; Scqucnces of Linear Factors in Block Ciphers, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 192-211. 337. D. Chaum, J.-H. Evertse, and J. van de Graff, "An Improved Protocol for Demonstrating Possession of Discrete Logarithms and Some Generalizations, " Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp. 127 141. 338. D. Chaum, J.-H. Evertse, J. van de Graff, and R. Peralta, "Demonstrating Possession of a Discrete Logarithm without Revealing It, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 200-212. 339. D. Chaum, A. Fiat, and M. Naor, "Untraceable Electronic Cash," Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 319-327. 340. D. Chaum and T. Pedersen, "Transferred Cash Grows in Size," Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 391-407. 341. D. Chaum and T. Pedersen, "Wallet Databases with Observers," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 89-105.
342. D. Chaum and J. Schaumuller-Bichel, eds., Smart Card 2000, North Holland: Elsevier Science Publishers, 1989. 343. 1). Chaum and H. van Antwcrpen, "Und eniable Signaturcs," Advances in Cryptology CRYPTO '89 Proceedings, Springcr-Verlag, 1990, pp. 212-216. 344. D. Chaum, E. van Heijst, and B. Pfitzmann, "Cryptographically Strong Undeniab le Signatures, Unconditionally Secure for thc Signer, " Advances in Cryptology CRYPTO '91 Proceedings. Springer-Verlag, 1992, pp. 470-484. 345. T.M. Chee, "The Cryptanalysis of a New Public-Key Cryptosystem Based on Modular Knapsacks, " Advances in Cryptology CKYP TO '91 Proceedings, Springer-Verlag, 1992, pp. 204-212. 346. L Chen, "Oblivious Signatures," Computer Security ESORICS 94, Springcr-Verlag, 19 94, pp. 161-172, 347. L. Chen and M. Burminster, "A Practical Secret Voting Scheme which Allows Voters to Abstain," CHINACRYPT '94, Xidian, China, 11-15 Nov 1994, pp. 100-107. 348. L. Chen and T.P Pedersen "New Group Signature Schemes, " Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 349. J. Chenhui, "Spectral Characteristics of Partially-Bent Functions," CHINACRYPT '94, Xidian, China, 11-15 Nov 1994, pp. 48-51. 350. V. Chepyzhov and B. Smeets, "On a Fast Correlation Attack on Certain Stream Ciphers," Advances in Cryptology EUR OCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 176185. 351. T.C. Cheung, "Management of PEM Public Key Certificates Using X.500 Directory Service: Some Problems and Solutions," Proceedings of the lnternet Society 1994 Workshop on Network and Distnhuted System Security. The Internet Society, 1994, pp. 35 42. 352. G.C. Chiou and W.C. Chen, "Secure Broadcasting Using the Secure Lock, " IEEE Transactions on Software Engineenng, v. SE-15, n. 8, Aug 1989, pp. 929-934. 353. Y.J. Choie and H.S. Hwoang, "On the Cryptosystem Using Elliptic Curves, " Proceedings of the 1993 Korea-Japan Workshop on Information Security and Cryp tography, Seoul, Korca, 24-26 Oct 1993, pp. 105-113. 354. B. Chor and O. Goldreich, "RSA/Rabin Least Significant Bits are 1/2+1/ ... Secure, " Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 303313.
355. B. Chor, S. Goldwasser, S. Micali, and B. Awerbuch, "Verifiable Secret Sharing and Achieving Simultaneity in the Presence of Faults," Proceedings of the 26th Amlual IEEE Symposium on the Foundations of Computer Science, 1985, pp. 383-395. 356. B. Chor and R.L. Rivcst, "A Knapsack Typc Public Key Cryptosystem Based on Arithmctic in Finitc Fields," Advallces ill Cryptology: Proceedings of CRYPTO 84, SpringerVerlag, 1985, pp. 54-65. 357. R Christoffersson, S.-A. Ekahll, V. Fak, S. Herda, R Mattila, W. Price, and H.-O. Widman, Crypto Users Handbook: A Guide for Implementors of Cryptograp hic Protection in Computer Systems, North Holland Elscvicr Scicncc Publishcrs, 1988. 358. R. Cleve, "Controlled Gradual Disclosure Schemes for Random Bits and Their Applications, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 572-588. 359. J.D. Cohen, "Improving Privacy in Cryptographic Elections," Yale University Computer Science Department Technical Report YALEU/DCS/TR-454, Feb 1986. 360. J.D. Cohen and M.H. Fischer, "A Robust and Verifiable Cryptographically Secure Election Scheme, " Proceedings of the 26th Annual IEEE Symposium on the Foundations of Computer Science, 1985. pp. 372-382. 361. R. Cole, "A Model for Security in Dis tributed Systems," Computers and Secu rity, v.9 , n.4, Apr 1990, pp.319-330. 362. Comptroller General of the United States, "Matter of National Institute of Standards Technology Use of Electronic Data Interchange Technology to Create Valid Obligations," File B-245714, 13 Dec 1991.
and
363. M.S. Conn, letter to Joe Abernathy, National Security Agency, Ser: Q43-111 92, 10 Jun 1992. 364. C. Connell, "An Analysis of NewDES: A n. 3, Jul 1990, pp. 217-223.
Modified Version of DES," Cryptologia, v.
14,
365. S.A. Cook, "The Complexity of Theorem Proving Procedures," Proceedings of the 3rd Annual ACM Symposium on the The oryofComputing, 1971,pp. 151-158. 366. R.H. Cooper and W. Patterson, "A Generalization of the Knapsack Method Using Fields," Cryptologia, v. 8, n. 4, Oct 1984, pp. 343-347.
Galois
367. R.H. Cooper and W. Patterson, "RSA as a Benchmark for Multiprocessor Machines, " Advances in Cryptology AUSCRYPT'90 Proceedings, Springer-Verlag, 1990, pp. 356359.
368. D. Coppersmith, "Fast Evaluation of Logarithms in Fields of Characteristic Two," Transactions on Information Theory, v.30,n.4,Jull984,pp.587-594.
IEEE
369. D. Coppersmith, "Another Birthday Attack, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 14-17. 370. D. Coppersmith, "Cheating at Mental Poker, " Advances in Cryptology Proceedings, Springer-Verlag, 1986, pp. 104-107.
CRYPTO '85
371. D. Coppersmith, "The Real Reason for Rivest's Phenomenon, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 535-536. 372. D. Coppersmith, "Two Broken Hash Functions," Research Report RD 18397, IBM T.J. Watson Center, Oct 1992. 373. D. Coppersmith, "The Data Encryption Standard (DES) and Its Strength against Attacks," Technical Report RC 18613, IBM T.J. Watson Center, Dec 1992. 374. D. Coppersmith, "The Data Encryption Standard (DES) and its Strength against Attacks, " IBM /ournal of Research and Development, v. 38, n. 3, May 1994, pp. 243-250. 375. D. Coppersmith, "Attack on the Cryptographic Scheme NIKS-TAS," Advances in Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 294-307. 376. D. Coppersmith, personal communication, 1994. 377. D. Coppersmith and E. Grossman, "Generators for Certain Alternating Groups with Applications to Cryptography, " SIAM Journal on Applied Mathematics, v. 29, n. 4, Dec 1975, pp. 624-627. 378. D. Coppersmith, H. Krawczyk, and Y. Mansour, "The Shrinking Generator, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 22-39. 379. D. Coppersmith, A. Odlykzo, and R. Schroeppel, "Discrete Logarithms in GF (p),'' Algorithmica, v. 1, n. 1, 1986, pp. 1-16. 380. D. Coppersmith and R Rogaway, "Software Efficient Pseudo Random Function and the Use Thereof for Encryption," U.S. Patent pending, 1995. 381. D. Coppersmith, J. Stern, and S. Vaudenay, "Attacks on the Birational Signature Schemes, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 435443. 382. V. Cordonnier and J.-J. Quisquater, eds.. CARD1S '94 Proceedings of the First Smart Card Research and Advanced Application Conference, Lille, France, 24-26 Oct 1994.
383. C. Couvreur and J.-J. Quisquater, "An Introduction to Fast Generation of Large Prime Numbers," Philips /ournal Research, v. 37. n. 5 6, 1982, pp. 231-264. 384. C. Couvreur and J.-J. Quisquater, "An Introduction to Fast Generation of Large Prime Numbers," Philips journal Research, v. 38, 1983, i' 77 385. C. Coveyou and R.D. MacPherson, "Fourier Analysis of Uniform Random Number Gcncrators," lournal of the ACM, v. 14, n. 1, 1967, pp. 100-119. 386. T.M. Cover and R.C. King, "A Convergent Gambling Estimate of the Entropy of English," IEEE Tran.saction.s on Informa- tion Theory, v. IT-24, n. 4, Jul 1978, pp. 413-421. 387. R.J.F. Cramer and T.R Pedersen, "Improved Privacy in Wallets with Observers," Advances in Cryptology EZJROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 329-343. 388. R.E. Crandell, "Method and Apparatus for Public Key Exchange in a Cryptographic System," U.S. Patent #5,159,632, 27 Oct 1992. 389. C. Crepeau, "A Secure Poker Protocol That Minimizes the Effect of Player Coalitions," Advances in Cryptology CKYP'I'O '85 Proceedings, Springer-Verlag, 1986, pit. 73-86. 390. C. Crepcau, "A Zcro-Knowlcdge Poker Protocol that Achieves Confidentiality of the Players' Strategy, or How to Achieve an Electronic Poker Face, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 23Y-247, 391. C. Crepeau, "Equivalence Between Two Flavours of Oblivious Transfer," Advances in Cryptology CRYPTO 87 Proceedings, Springer-Ver lag, 1988, pp. 350-354. 392. C. Crepeau, "Correct and Private Reductions among Oblivious Transfers," Ph.D. dissertation, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1990. 393. C. Crcpcau, "Quantum Oblivious Transfcr, " journal of Modern Optics, v. 41, n. 12, Dec 1994, pp. 2445-2454. 394. C. Crepeau and J. Kilian, "Achieving Oblivious Transfer Using Weakened Security Assumptions, " Proceedings of the 29th Amllzal Symposiurn on the Foundatijns of Computer Science, 1988, pp. 42-.32. 395. C. Crepeau and J. Kilian, "Weakening Security Assumptions and Oblivious Transfer, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 2-7. 396. C. Crepeau and L. Salvail, "Quantum Obliv ious Mutual Identification, " Advances in Cryptology EUROCRYPT '95 Proceed- ings, Springer-Verlag 1995, pp. 133-146.
397. A. Curiger, H. Bonnenberg, R. Zimmermann, N. Felber, H. Kaeslin and W. Fichtner, "VINCI: VLSI Implementation of the New Block Cipher IDEA," Proceedings of IEEE CICC '93, San Diego, CA, May 1993, pp. 15.5.1-15.5.4. 398. A. Curiger and B. Stuber, "Specification for the IDEA Chip, " Technical Report No. 92/03, Institut fur Integrierte Systeme, ETH Zurich, Feb 1992. 399. T. Cusick, "Boolean Functions Satisfying a Higher Order Strict Avalanche Criterion," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 102117. 400. T.W. Cusick and M.C. Wood, "The REDOC-II Cryptosystem," Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 545-563. 401. Cylink Corporation, Cylink Corporation vs. RSA Data Security, Inc., Civil Action No. C94-02332-CW, United States District Court for the Northern District of Califor- nia, 30 Jun 1994. 402. J. Daeman, "Cipher and Hash Function Design, " Ph.D. Thesis, Katholieke Univer- siteit Leuven, Mar 95. 403. J. Daeman, A. Bosselaers, R. Govaerts, and J. Vandewalle, "Collisions for Schnorr's Hash Function FFT-Hash Presented at Crypto '91," Advances in Cryptology ASIA CRYPT '91 Proceedings, Springer- Verlag, 1993, pp. 477-480. 404. J. Daeman, R. Govaerts, and J. Vandewalle, "A Framework for the Design of One-Way Hash Functions Including Cryptanalysis of Damgard's Onc-Way Function Based on Cellular Automata, " Advances in Cryp- tology ASIA CRYPT '91 Proceedings, SpringerVerlag, 1993, pp. 82-96. 405. J. Daeman, R. Govaerts, and J. Vandewalle, "A Hardware Design Model for Cryptographic Algorithms, " ESORICS 92, Pro- ceedings of the Second European Sympo- sium on Research in Computer Security, Springer-Verlag, 1992, pp. 419 434. 406. J. Daemcn, R. Govacrts, and J. Vandewalle, "Block Ciphers Based on Modular Arithmetic, " Proceedings of the 3rd Symposium on State and Progress of Research in Cryptography, Rome, Italy, 15-16 Feb 1993, pp. 418. 80-89. 407. J. Daemen, R. Govaerts. and J. Vandewalle, "Fast Hashing Both in Hardware and Soft ware," presented at the rump session of CRYPTO '93, Aug 1993. 408. J. Daeman, R. Govaerts, and J. Vandewalle, "Resynchronization Weaknesses in Syn chronous Stream Ciphers," Advances in Cryptology E UR O CRYPT '93 Proceed ings, Springer-Verlag, 1994, pp. 159-167. 409. J. Daeman, R. Govaerts, and J. Vandewalle, "Weak Keys for IDEA, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 224-230.
410. J. Daemen, R. Govaerts, and J. Vandewalle, "A New Approach to Block Cipher Design," Fast Software Encryption, Cam bridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 18-32. 411. Z.-D. Dai, "Proof of Rueppel's Linear Complexity Conjecture," IEEE Transactions on Information Theory, v. IT-32, n. 3, May 1986, pp. 440 443. 412. I.B. Damgard, "Collision Free Hash Functions and Public Key Signature Schemes," Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp. 203-216. 413. I.B. Damgard, "Payment Systems and Credential Mechanisms with Provable Secu rity Against Abuse by Individuals, " Advances in Cryptology CRYPTO '88 I'roceedings, Springer-Verlag, 1990, pp. 328-335 414. I.B. Damgard, "A Design Principle for Hash Functions, " Advances in Cryptol428. CRYPTO '89 Proceedings, Springer Verlag, 1990, pp. 416 427. 415. I.B. Damgard, "Practical and Provably Signatures, " Advances in Cryptology 1994, pp. 200-217.
ogy
Secure Release of a Secret and Exchangc of EUROCRYPT '93 Proceedings, Springer Verlag,
416. 1.B. Damgard and L.R. Knudsen, "The Rreaking of the AR Hash Function, " Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 286-292. 417. I.B. Damgard and R Landrock, "Improved Bounds for the Rabin Primality Test, " 431. Cryptography and Coding III, M.J. Ganley, e d., Oxford: Clarendon Press, 1993, pp. 117128. 418. I.B. Damgard, P. Landrock and C. Pomerance, "Average Case Error Estimates for the Strong Probablc Prime Test," Mathematics of Computation, v. 61, n. 203, Jul 1993, pp. 177-194. 419. H.E. Daniels, Jr., letter to Datapro Research Corporation regarding CCEP, 23 Dec 1985. 420. H. Davenport, The Higher Arithmetic, Dover Books, 1983. 421. G.I. Davida, "Inverse of Elements of a Galois Field," Electronics Letters, v. 8, n. 21, 19 Oct 1972, pp. 518-520. 422. G.I. Davida, "Hellman's Scheme Breaks DES in Its Basic Form," IEEE Spectrum, v. 16, n. 7, Jul 1979, p. 39. 423. G.I. Davida, "Chosen Signature Cryptanalysis of the RSA iMITJ Public Key Cryptosystem," Technical Report TR-CS-82-2, Department of EECS, University of Wis- consin, 1982.
424. G.I. Davida and G.G. Walter, "A Public Key Analog Cryptosystem," Advances in Cryptology E UR O CRYPT '8 7 Proceedings, Springer-Verlag, 1988, pp. 143-147. 425. G.I. Davida, D. Wells, and J. Kam, "A Database Encryption System with Subkeys," ACM Transactions on Database Systems,v.6,n.2,Junl981,pp.312-328. 426. D.W. Davies, "Applying the RSA Digital Signature to Electronic Mail," Computer, v. 16, n. 2, Feb 1983, pp. 55-62. 427. D.W. Davies, "Some Regular Properties of the DES," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 89-96. 428. D.W. Davics, "A Message Authentication Algorithm Suitable for a Mainframe Computer," Advances in Cryptology: Proceed- ings of Crypto 82, Springer-Verlag, 1985, pp. 393 400. 429. D.W. Davies and S. Murphy, "Pairs and Triplets of DES S-boxes, " Cryptologia, v. 8, n. 1, 1995, pp. 1-25. 430. D.W. Davies and G.I.P. Parkin, "The Average Size of thc Key Stream in Output Feedback Encipherment, " Cryptography Proceedings of the Workshop of cryplograpy Burg Feuer.stein, Germany, March 29-April 2, 1982, Springer-Verlag, 1983, pp. 263-279. 431 D.W. Davies and G.I.R Parkin, "The Averag e Size of the Key Stream in Output Feedback Mode, " Advances in Cryptology: Pro ceedings of Crypto 82, Plenum Press, 1983, pp. 9798. 432. D.W. Davies and W. L. Price, "The Applica tion of Digital Signatures Based on Public- Key Cryptosystems, " Proceedings of the Fifth International Computer Communications Conference, Oct 1980, pp. 525-530. 433. D.W. Davies and W.L. Price, "The Applica- tion of Digital Signatures Based on PublicKey Cryptosystems, " National Physical Laboratory Report DNACS 39/80, Dec 1980. 434. D.W. Davies and W.L. Price, "Digital Sig- nature An Update," Proceedings of International Conference on Computer Com- munications, Sydney, Oct 1984, North Holland: Elsevier, 1985, pp. 843-847. 435. D.W. Davies and W.L. Price, Security for Computer Networks, second edition, John Wiley & Sons, 1989. 436. M. Davio, Y. Desmedt, M. Fosseprez, R. Govaerts, J. Hulsbrosch, R Neutjens, R Piret, J l Quisquater, J Vandewalle, and S. Wouters, "Analytical Characteristics of the Data Encryption Standard," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 171-202.
437. M. Davio, Y. Desmedt, l Goubert, F. Hoor- naert, and l -J Quisquater, "Efficient Hardware and Software Implementation of the DES," Advances in Cryptology: Proceed- ings of CRYPTO 84, Springer-Verlag, 1985, pp. 144 146. 438. M. Davio, Y. Desmedt, and l-l Quisquater, "Propagation Characteristics of the DES, " Advances in Cryptology: Pro- ceedings of EUROCRYPT 84, Springer- Verlag, 1985, 6273. 439. D. Davis, R. Ihaka, and R Fenstermacher, "Cryptographic Randomness from Air Turbulence in Disk Drives," Advances in Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 114 120. 440. J.A. Davis, D. B. Holdbridge, and G.l. Sim- mons, "Status Report on Factoring tat the Sandia National Laboratoriesi," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 183-215. 441. R.M. Davis, "The Data Encryption Stan- dard in Perspective," Computer Secunty and the Data Encryption Standard, National Bureau of Standards Special Pub- lication 500-27, Feb 1978. 442. E. Dawson and A. Clark, "Cryptanalysts of Universal Logic Sequences," Advances in Cryptology EUROCRYPT '93 Proceed- ings, Springer-Verlag, to appear. 443. M.H. Dawson and S.E. Tavares, "An Expanded Set of Design Criteria for Substi- tution Boxes and Their Use in Strengthen- ing DES-Like Cryptosystems, " IEEE Pacific Rim Conference on Communica- tions, Computers, and Signal Processing, Victoria, BC, Canada, 9-10 May 1991, pp. 191-195. 444. M.H. Dawson and S.E. Tavares, "An Expanded Set of S-Box Design Criteria Based on Information Theory and Its Relation to Differential-like Attacks," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 352-367. 445. C.A. Deavours, "Unicity Points in Cryptanalysis," Cryptologia, v. 1, n. 1, 1977, pp. 46-68. 446. C.A. Deavours, "The Black Chamber: A Column; How the British Broke Enigma." Cryptologia, v. 4, n. 3, lU1 1980, pp. 129- 132. 447. C.A. Deavours, "The Black Chamber: A Column; La Methode des Batons," Cryp- tologia, v. 4, n. 4, Oct 1980, pp. 240-247. 448. C.A. Deavours and L. Kruh, Machine Cryptography and Modern Cryptanalysis, Norwood MA: Artech House, 1985. 449. l.M. DeLaurentis, "A Further Weakness in the Common Modulus Protocol for the RSA Cryptosystem," Cryptologia, v. 8, n. 3, lul 1984, pp. 253-259.
450. R Delsarte, Y. Desmedt, A. Odlyzko, and P. Piret, "Fast Cryptanalysis of the Matsumotolmai Public-Key Scheme, " Advances in Cryptology: Proceedings of EUROCRYPT 84, Spunger-Verlag, 1985, pp. 142-149. 451. R Delsarte and R Piret, "Comment on 'Extension of RSA Cryptostructure: A Galois Approach'," Electronics Letters, v. 18, n. 13, 24 Jun 1982, pp. 582-583. 452. R. DeMillo, N. Lynch, and M. Merritt, "Cryptographic Protocols," Proceedings of the 14th Annual Symposium on the The- ory of Computing, 1982, pp. 383-400. 453. R. DeMillo and M. Merritt, "Protocols for Data Security," Computer, v. 16, n. 2, Feb 1983, pp. 39-50. 454. N. Demytko, "A New Elliptic Curve Based Analogue of RSA," Advances in Cryptolgy EUROCRYPT 93 Proceedings, Springer-Verlag, 1994, pp. 40-49. 455. D.E. Denning, "Secure Personal Comput- ing in an Insecure Network," Communi- cations of the ACM, v. 22, n. 8, Aug 1979, pp. 476-482. 456. D.E. Denning, Cryptography and Data Security, Addison-Wesley, 1982. 457. D.E. Denning, "Protecting Public Keys and Signature Keys," Computer. v. 16, n. 2, Feb 1983, pp. 27-35. 458. D.E. Denning, "Digital Signatures with RSA and Other Public-Key Cryptosys471. tems," Communications of the ACM, v. 27, n. 4, Apr 1984, pp. 388-392. 459. D.E. Denning, "The Data Encryption Standard: Fifteen Years of Public Scrutiny, " Proceedings of the Sixth Annual Com puter Security Applications Conference, IEEE Computer Society Press, 1990. 460. D.E. Denning, "The Clipper Chip: A Tech nical Summary, " unpublished manuscript, Apr 1993.
21
461. D.E. Denning and G.M. Sacco, "Time stamps in Key Distribution Protocols, " Communications of the ACM, v. 24, n. 8, Aug 1981, pp. 533-536. 462. D.E. Denning and M. Smid, "Key Escrow ing Today," IEEE Communications Maga zine, v. 32, n. 9, Sep 1994, pp. 58-68. 463. T. Denny, B. Dodson, A.K. Lenstra, and M.S. Manasse, "On the Factorization of RSA120," Advances in Cryptology CRYPTO 93 Proceedings, Springer-Verlag, 1994, pp. 166-174. 464. W.F. Denny, "Encryptions Using Linear and Non-Linear Codes: Implementations and Security Considerations," Ph.D. dis sertation, The Center for Advanced Com puter Studies, University of Southern Louisiana, Spring 1988.
465. Department of Defense, "Department of Defense Trusted Computer System Evalu478. ation Criteria," DOD 5200.28-STD, Dec 1985. 466. Department of State, "International Traf fic in Arms Regulations SITARS," 22 CFR 130, Office of Munitions Control, 479. Nov 1989. 467. Department of State, "Defense Trade Reg ulations," 22 CFR 120-130, Office of Trade Controls, May 1992.
120-
Defense
468. Department of the Treasury, "Electronic Funds and Securities Transfer Policy, " Department of the Treasury Directives Manual, Chapter TD 81, Section 80, Department of the Treasury, 16 Aug 1984. 469. Department of the Treasury, "Criteria and Procedures for Testing, Evaluating, and Certifying Message Authentication Deci- sions for Federal E.F.T. Use," Department of the Treasury, 1 May 198.~. 470. Department of the Treasury, "Electronic Funds and Securitics Transfer Policy Message Authentication and Enhanced Security," Order No. 106-09, Department of the Treasury, 2 Oct 1986. 471. H. Dobbertin, "A Survey on the Construc- tion of Bent Functions," K.U. Le uven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 472. B. Dodson and A.K. Lenstra, "NFS with Four Large Primes: An Explosive Experiment," draft manuscript. 473. D. Dolev and A. Yao, "On the Security of Public-Key Protocols, " Communications of the ACM, v. 29, n. 8, Aug 1983, pp. 198-208. 474. J. Domingo-Ferrer, "Probabilistic Authentication Analysis," CARDIS 94 Proceed- ings of the First Smart Card Research and Applications Conference, Lille, France, 24-26 Oct 1994, pp. 49-60. 475. R de Rooij, "On the Security of the Schnorr Scheme Using Preprocessing, " Advances in Cryptology EUR(9CRYPT 91 I'roceed- ings, Springer-Verlag, 1991, pp. 71-80. 476. A. De Santis, G. Di Crescenzo, and G. Per- siano, "Secret Sharing and Perfect Zero Knowledge, " Advances in Cryptology CKYPTO 93 I'roceedings, Springer-Verlag, 1994, pp. 73-84. 477. A. De Santis, S. Micali, and G. Persiano, "Non-interactive Zero-Knowledge Proof Systems," Advances in Cryptology CRYPTO '87 Pro cee dings , Springer Verlag, 1988, pp. 52-72.
478. A. De Santis, S. Micali, and G. Persiano, "Non-Interactive Zero-Knowledge with Preprocessing," Advances in Cryptology CRYPTO 88 Proceedings, Springer-Verlag, 1990, pp. 269-282. 479. Y. Desmedt, "What Happened with Knapsack Cryptographic Schemes" Performance limits in Communication, Theory and P'ractice, NATO ASI Series E: Applied Sciences, v. 142, Kluwer Academic Publishers, 1988, pp. 113-134. 480. Y. Desmedt, "Subliminal-Free Authentication and Signature," Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 23-33. 481. Y. Desmedt, "Abuses in Cryptography and How to Fight Them," Advances in Cryptology CRYPTO '8~3 Proceedings, Springer Verlag, 1990, pp.375-389. 482. Y. Desmedt and M. Burmester, "An Effi cient Zero-Knowledge Scheme for the Discrete Logarithm Based on Smooth Numbers, " Advances in Cryptology ASIA CRYPT '91 Proceedings, Springer Verlag, 1993, pp. 360-367. 483. Y. Desmedt and Y. Frankel, "Threshold 496. Cryptosystems, " Advances in Cryptol ogy CRYPTO '89 Proceedings, Springer Verlag, 1990, pp. 307-315. 484. Y. Desmedt and Y. Frankel, "Shared Gen eration of Authentication and Signatures, " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 457 469. 485. Y. Desmedt, C. Goutier, and S. Bengio, "Special Uses and Abuses of the Fiat Shamir Passport Protocol," Advances in Cryptology CRYPTO '87 Proceedings, SpringerVerlag, 1988, pp. 21-39. 486. Y. Desmedt and A.M. Odlykzo, "A Chosen Text Attack on the RSA Cryptosystem and Some Discrete Logarithm Problems, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 516-522. 487. Y. Dcsmedt, J.-J. Quisquater, and M. Davio, "Dependence of Output on Input in DES: Small Avalanche Characteristics," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 359-376. 488. Y. Desmedt, J. Vandewalle, and R. Go vaerts, "Critical Analysis of the Security of Knapsack Public Key Algorithms," IEEE Transactions on Information Theory, v. IT 30,n.4,Jull984,pp.601-611. 489. Y. Desmedt and M. Yung, "Weaknesses of Undeniable Signature Schemes, " Ad vances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 205-220. 490. W. Diffie, lecture at IEEE Information The ory Workshop, Ithaca, N.Y., 1977. 491. W. Diftie, "Cryptographic Technology: Fif teen Year Forecast," BNR Inc., Jan 1981.
492. W. Diffie, "The First Ten Years of Public Key Cryptography, " Proceedings of the v 76, n. 5, May 1988, pp. 560-577.
IEEE,
493. W. Diffie, "Authenticated Key Exchange and Secure Interactive Communication," Proceedings of SECURICOM'90, 1990. 494. W. Diffie, "The First Ten Years of Public- Key Cryptography, " in Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons. ed., IEEE Press, 1992, pp. 135-175. 495. W. Diffie and M.E. Hellman, "Multiuser Cryptographic Techniques, " Proceedings of AFIPS National Computer Conference, 1976, pp. 109-112. 496. W. Diffie and M.E. Hellman, "New Direc- tions in Cryptography, " IEEE Transactions on Information Theory, v. IT-22, n. 6, Nov 1976, pp. 644~54. 497. W. Diffie and M.E. Hellman, "Exhaustive Cryptanalysis of the NBS Data Encryption Standard," Computer, v. 10, n. 6, Jun 1977, pp. 74-84. 498. W. Diffie and M.E. Hellman, "Privacy and Authentication: An Introduction to Cryptography," Proceedings of the IEEE, v. 67, n. 3, Mar 1979, pp. 397-427. 499. W. Diffie, L. Strawczynski, B. O'Higgins, and D. Steer, "An ISDN Secure Telephone Unit," Proceedings of the National Tele- communications Forum, v 41, n. 1, 1987, pp. 473 477. 500. W. Diffie, RC. van Oorschot, and M.J. Wiener, "Authentication and Authenti- cated Key Exchanges," Designs, Codes and Cryptography, v. 2, 1992, 107-125. 501. C. Ding, "The Differential Cryptanalysis and Design of Natural Stream Ciphers," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer- Verlag, 1994, pp. 101-115. 502. C. Ding, G. Xiao, and W. Shan, The Stahility Theory of Stream Ciphers, Springer- Verlag, 1991. 503. A. Di Porto and W. Wolfewicz, "VINO: A Block Cipher Including Variable Permutations, " Fast Software Encryption, Cambridge Secunty Workshop l'roceedings, SpringerVerlag, 1994, pp. 205-210. 504. B. Dixon and A.K. Lenstra, "Factoring Inte- gers Using SIMD Sieves, " Advances in Cryptology E UR O CRYPT '93 Proceed- ings, Springer-Verlag, 1994, pp. 28-39. 505. J.D. Dixon, "Factorization and Primality Tests," American Mathematical Monthly, v.91,n.6, 1984,pp.333-352.
506. D. Dolev and A. Yao, "On the Security of Public Key Protocols," Proceedings ol the 22nd Annual Symposium on the Founda- tions of Computer Science, 1981, pp. 350- 357. 507. L.X. Duan and C.C. Nian, "Modified Lu- Lee Cryptosystems," Electronics Letters, v. 25, n. 13, 22 Jun 1989, p. 826. 508. R. Durstenfeld, "Algorithm 235: Random Permutation, " Communications of the ACM, v. 7, n. 7, Jul 1964, p. 420. 509. S. Dusse and B. Kaliski, Jr., "A Cryptographic Library for the Motorola DSP56000, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer- Verlag, 1991, pp. 230-244. 510. C. Dwork and L. Stockmeyer, "Zero- Knowledge with Finite State Verifiers, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 71-75. 511. D.E. Eastlake, S.D. Crocker, and J.I. Schiller, "Randomness Requirements for Security," RFC 1750, Dec 1994. 512. H. Eberle, "A High-Speed DES Implementation for Network Applications, " Cryptology CRYPTO '92 Proceedings, Springer-Verlag, pp. 521-539.
Advances in
513. T. Edwards, "Implementing Electronic Poker: A Practical Exercise in Zero Knowledge Interactive Proofs, " Master's thesis, Department of Computer Science, University of Kentucky, May 1994. 514. W.F. Ehrsam, C.H.W. Meyer, R.L. Powers, J L. Smith, and W.L. Tuchman, "Product Block Cipher for Data Security, " U.S. Patent #3,962,539, 8 Jun 1976. 515. W.F. Ehrsam, C.H.W. Meyer, and W.L. Tuchman, "A Cryptographic Key Manage ment Scheme for Implementing the Data Encryption Standard," IBM Systems lour nal, v. 17, n. 2, 1978, pp. 106-125. 516. R. Eier and H. Lagger, "Trapdoors in Knap sack Cryptosystems, " Lecture Notes in Computer Science 149; Cryptography Proceedings, Burg Feuerstein 1982, SpringerVerlag, 1983, pp. 316-322. 517. A.K. Ekert, "Quantum Cryptography Based on Bell's Theorem, " Physical Letters, v. 67, n. 6, Aug 1991, pp. 529. 661-663.
Review
518. T. ElGamal, "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, " Advances in Cryptology: Proceedings of CRYPTO 84, Springer" Verlag, 1985, pp. 1~18. 519. T. ElGamal, "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Infor- mation Theory, v. IT-31, n. 4, 1985, pp. 469472.
520. T. ElGamal, "On Computing Logarithms Over Finite Fields," Advances in Cryptol- ogy CR YP TO '85 Pro cee dings, Springe r - Verlag, 1986, pp. 396 402. 521. T. ElGamal and B. Kaliski, letter to the edi- tor regarding LUC, Dr. Dobb's /ournal, v. 18,n.5,Mayl993,p. 10. 522. T. Eng and T. Okamoto, "Single-Term Divisible Electronic Coins," Advances in Cryptology EUROCRYPT '94 Proceed- ings, Springer-Verlag, 1995, to appear. 523. M.H. Er, D.J. Wong, A.A. Sethu, and K.S. Ngeow, "Design and Implementation of RSA Cryptosystem Using Multiple DSP Chips," 1991 IEEE International Sympo- sium on Circuits and Systems, v. 1, Singa- pore, 11-14 Jun 1991, pp. 49-52. 524. D. Estes, L.M. Adleman, K. Konpella, K.S. McCurley, and G.L. Miller, "Breaking the Ong-Schnorr-Shamir Signature Schemes for Quadratic Number Fields," Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 3-13. 525. ETEBAC, "Echanges Telematiques Entre Les Banques et Leurs Clients," Standard ETEBAC 5, Comite Fran,cais d'Organisa- tion et de Normalisation Bancaires, Apr 1989. IIn French.~ 526. A. Evans, W. Kantrowitz, and E. Weiss, "A User Identification Scheme Not Requiring Secrecy in the Computer," Communica- tions of the ACM, v. 17, n. 8, Aug 1974, pp. 437-472. 527. S. Even and O. Goldreich, "DES-Like Functions Can Generate the Alternating Group, " IEEE Transactions on Informa- tion Theory, v. IT-29, n. 6, Nov 1983, pp. 863-865. 528. S. Even and O. Goldreich, "On the Power of Cascade Ciphers," ACM Transactions on Computer Systems, v. 3, n. 2, May 1985, pp. 108-116. 529. S. Even, O. Goldreich, and A. Lempel, "A Randomizing Protocol for Signing Contracts," Communications of the ACM, v. 28, n. 6, [un 1985, pp. 637-647. 530. S. Even and Y. Yacobi, "Cryptography and NP-Completeness," I'roceedings of the 7th International CoRoquium on Automata, Languages, and Programming, Springer -Verlag, 1980, pp. 195-207. 531. H.-H. Evertse, "Linear Structures in Block Ciphers, " Advances in Cryptology EUROCRYPT '87 Proceedings, Springer Verlag, 1988, pp. 249-266. 532. R Fahn and M.J.B. Robshaw, "Results from the RSA Factoring Challenge," Technical Report TR-501, Version 1.3, RSA Laboratories, Jan 1995.
533. R.C. Fairfield, A. Matusevich, and J. Plany, "An LSI Digital Encryption Processor (DEP)," Advances in Cryptology: Proceed ings of CRYPTO 84, Springer-Verlag 1985, pp. 115-143. 534. R.C. Fairfield, A. Matusevich, and J. Plany, "An LSI Digital Encryption Processor (DEPJ," IEEE Communications, v. 23. n. 7, Jul 1985, pp. 30-41. 535. R.C. Fairfield, R.L. Mortenson, and K.B. Koulthart, "An LSI Random Number Gen erator (RNG~," Advances in Cryptology: Proceedings of CRYPTO 84, Springer Verlag, 1985, pp. 203-230. 536. "International Business Machines Corp. n. 52, 17 Mar 1975, p. 12067.
License Under Patents," Federal Register,
537. "Solicitation for Public Key Cryptographic 30 Jun 1982, p. 28445.
v. 40,
Algorithms," Federal Register, v. 47, n.
126,
538. "Proposed Federal Information Processing Standard for Digital Signature Standard (DSSi," Federal Register, v. 56, n. 169, 30 Aug 1991, pp. 42980-42982. 539. "Proposed Federal Information Processing Standard for Secure Hash Standard," Fed eral Register, v. 57, n. 21, 31 Jan 1992, pp. 3747-3749. 540. "Proposed Reaffirmation of Federal Infor mation Processing Standard (FIPS) 46-1, Data Encryption Standard (DES)," Federal Register, v. 57, n. 177, 11 Sep 1992, p. 41727. 541. "Notice of Proposal for Grant of Exclusive 108, 8 Jun 1993, pp. 23105-23106.
Patent License," [ederal Register, v. 58, n.
542. "Approval of Federal Information Process ing Standards Publication 186, Digital Sig nature Standard (DSS)," Federal Register, v. 58, n. 96, 19 May 1994, pp. 26208-26211. 543. "Proposed Revision of Federal Information Processing Standard (FIPS) 180, Secure Hash Standard, " Federal Register, v. 59, n. 131, 11 Jul 1994, pp. 35317-35318. 544. U. Feige, A. Fiat, and A. Shamir, "Zero Knowledge Proofs of Identity," Proceed- ings of the lPth Annual ACM Symposium on the Theory of Computing, 1987, pp. 210-217. 545. U. Feige, A. Fiat, and A. Shamir, "Zero Knowledge Proofs of Identity," Journal of Cryptology v. 1, n. 2, 1988, pp. 77-94. 546. U. Feige and A. Shamir, "Zero Knowledge Proofs of Knowledge in Two Rounds, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 526-544. 547. J. Feigenbaum, "Encrypting Problem Instances, or, ..., Can You Take Advan- tage of Someone Without Having to Trust Him, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 477-488.
548. J. Feigenbaum, "Overview of Interactive Proof Systems and Zero-Knowledge, " in Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons, ed., IEEE Press, 1992, pp. 423 439. 549. J. Feigenbaum, M.Y. Liberman, E. Grosse, and J.A. Reeds, "Cryptographic Protection of Membership Lists," Newsletter of the International Association of Cryptologic Research, v. 9, 1992, pp. 16-20. 550. J. Feigenbaum, M.Y. Liverman, and R.N. Wright, "Cryptographic Protection of Databases and Software, " Distnbuted Computing and Cryptography, 1 Feigen- baum and M. Merritt, eds., American Mathematical Society, 1991, pp. 161-172. 551. H. Feistel, "Cryptographic Coding for Data-Bank Privacy," RC 2827, Yorktown Heights, NY: IBM Research, Mar 1970. 552. H. Feistel, "Cryptography and Computer Privacy, " Scientific American, v. 228, n. 5, May 1973, pp. 15-23. 553. H. Feistel, "Block Cipher Cryptographic System," U.S. Patent #3,798,359, 19 Mar 1974. 554. H. Feistel, "Step Code Ciphering System," U.S. Patent #3,798,360, 19 Mar 1974. 555. H. Feistel, "Centralized Verification Sys- tem," U.S. Patent #3,798,605, 19 Mar 1974. 556. H. Feistel, W.A. Notz, and J.L. Smith, "Cryptographic Techniques for Machine to Machine Data Communications," RC 3663, Yorktown Heights, N.Y.: IBM Research, Dec 1971. 557. H. Feistel, W.A. Notz, and J.L. Smith, "Some Cryptographic Techniques for Machine to Machine Data Communica tions," Proceedings of the IEEE, v. 63, n. 11, Nov 1975, pp. 1545-1554. 558. R Feldman, "A Practical Scheme for Non interactive Verifiable Secret Sharing," Proceedings of the 28th Annual Symposium on the Foundations of Computer Science, 1987, pp. 427 437. 559. R.A. Feldman, "Fast Spectral Test for Mea suring Nunrandomness and the DES, " Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 243254. 560. R.A. Feldman, "A New Spectral Test for Nonrandomness and the DES, " IEEE 573. Transactions on Software Engineering, v. 16, n. 3, Mar 1990, pp. 261-267. 561. D.C. Feldmeier and RR. Karn, "UNIX Password Security Ten Years Later, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 44-63.
562. H. Fell and W. Diffie, "Analysis of a Public Key Approach Based on Polynomial Sub stitution, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 427-437. 563. N.T. Ferguson, "Single Term Off-Line Coins," Report CS-R9318, Computer Sci577. ence/Department of Algorithms and Architecture, CWI, Mar 1993. 564. N.T. Ferguson, "Single Term Off-Line Coins," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 318-328. 565. N.T. Ferguson, "Extensions of Single-term Coins," Advances in Cryptology 579. CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 292-301. 566. A. Fiat and A. Shamir, "How to Prove Yourself: Practical Solutions to Idcntifica tion and Signature Problems," Advances in Cryptology C RYPTO '86 Proceedings, SpringerVerlag, 1987, pp. 186-194. 567. A. Fiat and A. Shamir, "Unforgeable Proofs Paris, 1987, pp. 147-15~3.
of Identity," Proceedings of sec uricom 87,
568. P. Finch, "A Study of the Blowfish Encryp tion Algorithm," Ph.D. dissertation, Department of Computer Science, City University of New York Graduate School University Center, Feb 1995.
and
569. R. Flynn and A.S. Campasano, "Data Dependent Keys for Selective Encryption Terminal," Proceedings of NCC, vol. 47, AFIPS Press, 1978, pp. 1127-1129. 570. R.H. Follett, letter to NIST regarding DSS, 25 Nov 1991. 571. R. Forre, "The Strict Avalanche Criterion: Spectral Properties and an Extended D efinition, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 450-468. 572. R. Forre, "A Fast Correlation Attack or Nonlinearity Feedforward Filtered Shift Register Sequences, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 568-595. 573. S. Fortune and M. Merritt, "Poker Protocols," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 454-464. 574. R.B. Fougner, "Public Key Standards and Licenses," RFC 1170, Jan 1991. 575. Y. Frankel and M. Yung, "Escrowed Encryption Systems Visited: Threats. Attacks, Analysis and Designs," Advances in Cryptology CKYPTO '95 Proceedings'. SpringerVerlag, 1995, to appear.
576. W.F. Friedman, Methods for the Solution of Running-Key Ciphers, Riverbank Publication No. 16, Riverbank Labs, 1918. 577. W.F. Friedman, The Index of Coincidence and Its Applications in Cryptography, Riverbank Publication No. 22, Rivcrhank Labs, 1920. Reprinted by Aegean Park Press, 1987. 578. W.F. Friedman, Elements of Cryptanalysis, Laguna Hills, CA: Aegean Park Press, 1976. 579. W.F. Friedman, "Cryptology," Encyclopedia Britannica, v. 6, pp. 844-851, 1967. 580. A.M. Frieze, J. Hastad, R. Kannan, J.C. Lagarias, and A. Shamir, "Reconstructing Truncated Integer Variables Satisfying Linear Congru enccs," SIAM Journal on Computing, v. 17, n. 2, Apr 1988, pp. 262-280. 581. A.M. Frieze, R. Kannan, and J.C. Lagarias, "Linear Congruential Generators loo not Produce Random Sequences," Proceedings of the 25th IEEE Symposium on Foundations of Computer Science, 1984, pp. 480 484. 582. E. Fujiaski and T. Okamoto, "On Comparison of Practical Digitial Signature Schemes," Proceedings of the l992 Symposium on Cryptography and Information Security (SCIS 92), Tateshina, Japan, 2 4 Apr 1994, pp. lA.1-12. 583. A. Fujioka, T. Okamoto, and S. Miyaguchi, "ESIGN: An Efficient Digital Signature Implementation for Smart Cards, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 446 457. 584. A. Fujioka, T. Okamoto, and K. Ohta, "Interactive Bi-Proof Systems and Undeniable Signature Schemes," Advances in Cryptology EU ROCRYPT '91 Proceedings, SpringerVerlag, 1991, pp. 243-256. 585. A. Fujioka, T. Okamoto, and K. Ohta, "A Practical Secret Voting Scheme for Large Scale Elections, " Advances in Cryptology AUSCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 244-251. 586. K. Gaardner and E. Snekkenes, "Applying a Formal Analysis Technique to the CCITT X.509 Strong Two-Way Authentication Protocol," lournal of Cryptology v. 3,n.2, l991,pp.81-98. 587. H.E Gaines, Cryptanalysis, American Photographic Press, 1937. Reprintcd by Dover Publications, 1956. 588. J. Gait, "A New Nonlinear Pseudorandom Number Generator, " IEEE Transactions on Software Engineering, v. SE-3, n. 5, Sep 1977, pp. 359-363. 589. J. Gait, "Short Cycling in the Kravitz-Reed Public Key Encryption System," Electron- ics Letters, v. 18, n. 16, 5 Aug 1982, pp. 706-707.
590. Z. Galil, S. Haber, and M. Yung, "A Private Interactive Test of a Boolean Predicate and Minimum-Knowledge Public-Key Cryp- tosystems," Proceedings of the 26th IEEE Symposium on Foundations of Computer Science, 1985, pp. 360-371. 591. Z. Galil, S. Haber, and M. Yung, "Crypto- graphic Computation: Secure Fault- Tolerant Protocols and the Public-Key Model, " Advances in Cryptology CRYPTO '87Proceedings, Springer-Verlag, 1988, pp. 135-155. 592. Z. Galil, S. Haber, and M. Yung, "Mini- mum-Knowledge Interactive Proofs for Decision Problems, " SIAM lournal on Computing, v. 18, n. 4, 1989, pp. 711-739. 593. R.G. Gallager, Information Theory and Reliable Communications, New York:John Wiley & Sons, 1968. 594. P. Gallay and E. Depret, "A Cryptography Microprocessor," 1988 IEEE International Solid-State Circuits Conference Digest of Technical Papers, 1988, pp. 148-149. 595. R.A. Games, "There are no de Bruijn Sequences of Span n with Complexity 2n + n + 1," Journal of Combinatorical Theory, Series A, v. 34, n. 2, Mar 1983, pp. 248-251. 596. R.A. Games and A.H. Chan, "A Fast Algo- rithm for Determining the Complexity of a Binary Sequence with 2n,'t IEEE Transactions on Information Theory, v. IT-29, n. 1, Jan 1983, pp. 144-146. 597. R.A. Games, A.H. Chan, and E.L. Key, "On the Complexity of de Brui jn Sequences," ournal of Combinatorical Theory, Series A, v. 33, n. 1, Nov 1982, pp. 233-246. 598. S.H. Gao and G.L. Mullen, "Dickson Polynomials and Irreducible Polynomials over Finite Fields," Journal of Number Theory, v. 49, n. 1, Oct 1994, pp. 18-132. 599. M. Gardner, "A New Kind of Cipher That Would Take Millions of Years to Break," Scientific American, v. 237, n. 8, Aug 1977, pp. 120-124. 600. M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Co., 1979. 601. S.L. Garfinkel, POP: Pretty Good Privacy, Sebastopol, CA: O'Reilly and Associates, 1995. 602. C.W. Gardiner, "Distributed Public Key Certificate Management," Proceedings of the Privacy and Security Research Group 1993 Workshop on Network and Distributed System Security, The Internet Society, 1993, pp. 69-73. 603. G. Garon and R. Outerbridge, "DES Watch: An Examination of the Sufficiency of the Data Encryption Standard for Finan- cial Institution Information Security in the 1990's," Cryptologia, v. 15, n. 3, Jul 1991, pp. 177-193.
604. M. Gasser, A. Goldstein, C. Kaufman, and B. Lampson, "The Digital Distributed Systems Security Architecture," Proceedings of the 12th National Computer Seezznty Conference, NIST, 1989, pp. 305-319. 605. J. von zur Gathen, D. Kozen, and S. Lan- dau, "Functional Decomposition of Polynomials, " Proceedings of the 28tl1 IEEE Symposium on the Poundations of Computer Science, IEEE Press, 1987, pp. 127617. 131. 606. RR. Geffe, "How to Protect Data With Ciphers That are Really Hard to Break," Electronics, v. 46, n. 1, Jan 1973, pp. 99-101. 607. D.K. Gifford, D. Heitmann, D.A. Segal, R.G. Cote, K. Tanacea, and D.E. Burmas- ter, "Boston Community Information Sys- tem 1986 Experimental Test Results, " MIT/LCS/TR-397, MIT Laboratory for Computer Science, Aug 1987. 608. D.K. Gifford, J.M. Lucassen, and S.T. Berlin, "The Application of Digital Broadcast Communication to Large Scale Information Systems, " IEEE Journal on Selected Areas in Communications, v. 3, n. 3, May 1985, pp. 457-467. 609. D.K. Gifford and D.A. Segal, "Boston Community Information System 1987-1988 Experimental Test Results," MIT/LCS/ TR-422, MIT Laboratory for Computer Science, May 1989. 610. H. Gilbert and G. Chase, "A Statistical Attack on the Feal-8 Cryptosystem, " Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 22-33 611. H. Gilbert and R Chauvaud, "A Chosen Plaintext Attack of the 16-Round Khufu Cryptosystem," Advances in Cryptol- ogy CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 259-268. 612. M. Girault, "Hash-Functions Using Mod- ulo-N Operations," Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp. 217-226. 613. J. Gleick, "A New Approach to Protecting Secrets is Discovered, " The New York Times, 18 Feb 1987, pp. C1 and C3. 614. J.-M. Goethals and C. Couvreur, "A Crypt analytic Attack on the Lu-Lee Public-Key Cryptosystem, " Philips lournal of Re search, v. 35, 1980, pp. 301-306. 615. O. Goldreich, "A Uniform-Complexity Treatment of Encryption and Zero Knowledge, Journal of Cryptology, v. 6, n. 1, 1993, pp. 21-53. 616. O. Goldreich and H. Krawczyk, "On the Composition of Zero Knowledge Proof Systems," Proceedings on the 17th Inter national Colloquium on Automata, Languages, and Programming, Springer" Verlag, 1990, pp. 268-282.
617. O. Goldreich and E. Kushilevitz, "A Perfect Zero-Knowledge Proof for a Problem Equivalent to Discrete Logarithm, " Advances in Cryptology CRYPTO '88 I'roceedings, Springer-Verlag, 1990, pp. 58-70. 618. O. Goldreich and E. Kushilevitz, "A Per- fect Zero-Knowledge Proof for a Problem Equivalent to Discrete Logarithm," lour- nal of Cryptology, v. 6, n. 2, law, pp. 97-116. 619. O. Goldreich, S. Micali, and A. Wigderson, "Proofs That Yield Nothing but Their Validity and a Methodology of Cryptographic Protocol Design," Proceedings of the 27th IEEE Symposium on the Foundations of Computer Science, 1 986, pp. 174-187. 620. O. Goldreich, S. Micali, and A. Wigderson, "How to Prove All NP Statements in Zero Knowledge and a Methodology of Cryptographic Protocol Design, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 171-185. 621. O. Goldreich, S. Micali, and A. Wigderson, "How to Play Any Mental Game," Proceedings of the 19th ACM Symposium on the Theory of Computing, 1987, pp. 218-229. 622. O. Goldreich, S. Micali, and A. Wigdcrson, "Proofs That Yield Nothing but Their Validity and a Methodology of Crypto- graphic Protocol Design," Journal of the ACM, v. 38, n. 1, Jul 1991, pp. 691-729. 623. S. Goldwasser and J. Kilian, "Almost All Primes Can Be Quickly Certified, " Pro- ceedings of the 18th ACM Symposium on the Theory of Computing, 1986, pp. 316- 329. 624. S. Goldwasser and S. Micali, "Probabilistic Encryption and How to Play Mental Poker Keeping Secret All Partial Information," Proceedings of the 14th ACM Symposium on the Theory of Computing, 1982, pp. 270-299. 625. S. Goldwasser and S. Micali, "Probabilistic Encryption," Journal of Computer and System Sciences. v. 28, n. 2, Apr 1984, pp. 270-299. 626. S. Goldwasscr, S. Micali, and C. Rackoff, "The Knowledge Complexity of Interac- tive Proof Systems, " Proceedings of the 17th ACM Symposium on Theory of Com- puting, 1985, pp. 291-304. 627. S.Goldwasser, S. Micali, and C. Rackoff, "The Knowledge Complexity of Interac tive Proof Systems, " SIAM lournal on Computing, v. 18, n. 1, Feb 1989, pp. 186 208. 628. S. Goldwasser, S. Micali, and R.L. Rivest, "A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks," SIAM lournal on Computing, v. 17,n.2,Aprl988,pp.281-308. 629. S. Goldwasser, S. Micali, and A.C. Yao, "On Signatures and Authentication," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 211-215.
630. J.D. Golic, "On the Linear Complexity of Functions of Periodic GFIq~ Sequences," IEEE Transactions on Information Theory, v. IT-35, n. 1. Jan 1989, pp. 69-75. 631. J.D. Golic, "Linear Cryptanalysis of Stream Ciphers," K.U. Le uven Workshop on Cryptographic Algorithms, Springer Verlag, 1995, pp. 262-282. 632. J.D. Golic, "Towards Fast Correlation Attacks on Irregularly Clocked Shift Registers," Advances in Cryptology EURO CRYPT '95 Proceedings, Springer-Verlag, 1995, to appear. 633. J.D. Golic and M.J. Mihajlevic, "A Gener alized Correlation Attack on a Class of Stream Ciphers Based on the Levenshtein Distance, " journal of Cryptology, v. 3, n.3, 1991, pp. 201-212. 634. J.D. Golic and L. O'Connor, "Embedding and Probabilistic Correlation Attacks on ClockControlled Shift Registers," Advances in Cryptology EUROCRYPT '94 I'roceedings, Springer-Verlag, 1995, to appear. 635. R. Golliver, A.K. Lenstra, K.S. McCurley, "Lattice Sieving and Trial Division," Pro ceedings of the Algorithmic Number Theory Symposium, Cornell, 1994, to appear. 636. D. Gollmann, "Kaskadenschaltungen takt gesteuerter Schicberegister als Pseudozu fallszahlengencratoren," Ph.D. disserta tion, Universitat Linz, 1983. (In German ). 637. D. Gollmann, "Pseudo Random Properties of Cascade Connections of Clock Con trolled Shift Registers," Advances in Cryp tology: Proceedings of EUROCRYPT 84, SpringerVerlag, 1985, pp. 93-98. 638. D. Gollmann, "Correlation Analysis of Cascaded Sequences," Cryptography and Coding, H.J. Beker and F.C. Piper, eds., Oxford: Clarendon Press, 1989, pp. 289-297. 639. D. Gollmann, "Transformation Matrices of Clock-Controlled Shift Registers, " Cryptography and Coding 111, M.J. Ganley, e d., Oxford: Clarendon Press, 1993, pp. 197-210. 640. D. Gollmann and W.G. Chambers, "Lock-In Effect in Cascades of Clock-Controlled ShiftRegisters, " Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 331-343. 641. D. Gollmann and WG. Chambers, "Clock-Controlled Shift Registers: A Review, " IEEE lournal on Selected Areas in Communications, v. 7, n. 4, May 1989, pp. 525-533. 642. D. Gollmann and W.G. Chambers, "A Cryptanalysis of Step~-cascades," Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 680-687. 643. S.W. Golomb, Shift Register Sequences, San Francisco: Holden-Day, 1967. (Reprinted by Aegean Park Press, 1982.
644. L. Gong, "A Security Risk of Depending on Synchronized Clocks, " Operating Systems Review, v. 26, n. 1, Jan 1992, pp. 49-53. 645. L. Gong, R. Needham, and R. Yahalom, "Reasoning About Belief in Cryptographic Protocols," Proceedings of the 1991 IEEE Computer Society Symposium on Research in Security and Privacy, 1991, pp. 234-248. 646. R.M. Goodman and A.J. McAuley, "A New Trapdoor Knapsack Public Key Cryptosystem," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, pp. 150-158. 647. R.M. Goodman and A.J. McAuley, "A New Trapdoor Knapsack Public Key Cryptosystem," IKE Proceedings, v. 132, pt. E, n. 6, Nov 1985, pp. 289-292. 648. D.M. Gordon, "Discrete Logarithms Using the Number Field Sieve," Preprint, 28 Mar 1991. 649. D.M. Gordon and K.S. McCurley, "Computation of Discrete Logarithms in Fields of Characteristic Two," presented at the rump session of CRYPTO'91, Aug 1991. 650. D.M. Gordon and K.S. McCurley, "Massively Parallel Computation of Discrete Logarithms, " Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 661. 1993, pp. 312-323. 651. J.A. Gordon, "Strong Primes are Easy to Find," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, pp. 216-223. 652. J.A. Gordon, "Very Simple Method to Find the Minimal Polynomial of an Arbitrary NonZero Element of a Finite Field, " Electronics Letters, v. 12, n. 25, 9 Dec 1976, pp. 663664. 653. J.A. Gordon and R. Retkin, "Are Big S- Boxes Best7" Cryptograph y Proceedings of the Workshop on Cryptography, Burg Feuerstein, Germany, March 29-April 2, 1982, Springer-Verlag, 1983, pp. 257-262. 654. M. Goresky and A. Klapper, "Feedback Registers Based on Ramified Extension of the 2adic Numbers," Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 655. GOST, Gosudarstvennyi Standard 28147-89, "Cryptographic Protection for Data Processing Systems," Government Committee of the USSR for Standards, 1989. ( in Russian.} 656. GOST R 34.10-94, Gosudarstvennyi Standard of Russian Federation, "Information technology. Cryptographic Data Security. Produce and check procedures of Electronic
Digital Signature based on Asymmetric Cryptographic Algorithm. " Government Committee of the Russia for Standards, 1994. (In Russian. ) 657. GOST R 34.11-94, Gosudarstvennyi Standard of Russian Federation, " Information technology. Cryptographic Data Security. Hashing function." Government Committee of the Russia for Standards, 1994. (In Russian.) 658. R. Gottfert and H. Niederreiter, "On the Linear Complexity of Products of Shift-Register Sequences," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 151-158. 659. R. Gottfert and H. Niederreiter, "A General Lower Bound for the Linear Complexity of the Product of Shift-Register Sequences, " Advances in Cryptology EUROCRYPT '94 Proceedings, Springer- Verlag, 1995, to appear. 660. J. van de Graaf and R. Peralta, "A Simple and Secure Way to Show the Validity of Your Public Key," Advances in Cryptology CRYPTO '87 Proceedings, Springer- Verlag, 1988, pp. 128-134. 661. J. Grollman and A.L. Selman, "Complexity Measures for Public-Key Cryptosystems," Proceedings of the 25th IEEE Symposium on the Foundations of Computer Science, 1984, pp. 495-503 662. GSA Federal Standard 1026, "Telecommunications: General Security Requirements for Equipment Using the Data Encryption Standard, " General Services Administration, Apr 1982. 663. GSA Federal Standard 1027, ''Telecommunications: Interoperability and Security Requirements for Use of the Data Encryption Standard in the Physical and Data Link Layers of Data Communications, " General Services Administration, Jan 1983. 664. GSA Federal Standard 1028, "Intcroperability and Security Requirements for Use of the Data Encryption Standard with CCITT Group 3 Facsimile Equipment, " General Services Administration, Apr 1985. 665. R Guam, "Cellular Automaton Public Key Cryptosystems," Complex Systems, v. 1, 1987, pp. 51-56. 666. H. Guan, "An Analysis of the Finite Automata Public Key Algorithm, " CHINACRYPT'94, Xidian, China, 11-15 Nov 1994, pp. 120-126. (In Chinese) 667. G. Guanella, "Means for and Method for Secret Signalling," U.S. Patent #2,405,500, 6 Aug 1946. 668. M. Gude, "Concept for a High-Performance Random Number Generator Based on Physical Random Phenomena," Frequenz, v. 39, 1985, pp. 187-190.
669. M. Gude, "Ein quasi-idealer Gleichverteil-ungsgenerator basierend auf physikalischen Zufallsphinomenen," Ph.D. dissertation, Aachen University of Technology, 1987. (In German.) 670. L.C. Guillou and J.-J. Quisquater, "A Practical Zero-Knowledge Protocol Fitted to Security Microprocessor Minimizing Both Transmission and Memory," Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 123-128. 671. L.C. Guillou and J. Quisquater, "A 'Paradoxical' Identity-Based Signature Scheme Resulting from Zero-Knowledge," Advances in Cryptology CRYPTO '88 Proceedings, SpringerVerlag, 1990, pp. 216- 231. 672. L.C. Guillou, M. Ugon, and J. -J. Quisquater, "The Smart Card: A Standardized Security Device Dedicated to Public Cryptology," contemporary Cryptology: The Science of Information Integrity G. Simmons, e d., IEEE Press, 1992, pp. 561-613. 673. C.G. Gunther, "Alternating Step Generators Controlled by de Bruijn Sequences," Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp. 5-14. 674. C.G. Gunther, "An Identity-based Key-exchange Protocol, " Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 29-37. 675. H. Gustafson, E. Dawson, and B. Caelli, "Comparison of Block Ciphers, " Advances in Cryptology AUSCRYPT '90 Proceed- ings, Springer-Verlag, 1990, pp. 208-220. 676. P. Gutmann, personal communication, 1993. 677. H. Gutowitz, "A Cellular Automaton Cryptosystem: Specification and Call for Attack," unpublished manuscript, Aug 1992. 678. H. Gutowitz, "Method and Apparatus for Encryption, Decryption, and Authentication Using Dynamical Systems," U.S. Patent #5,365,589, 15 Nov 1994. 679. H. Gutowitz, "Cryptography with Dynamical Systems, " Cellular Automata and Cooperative Phenomenon, Kluwer Academic Press, 1993. 680. R.K. Guy, "How to Factor a Number, " Fifth Manitoba Conference on Numeral Mathematics Congressus Numerantium, v. 16, 1976, pp. 49-89. 681. R.K. Guy, Unsolved Problems in Number Theory, Springer-Verlag, 1981. 682. S. Haber and W.S. Stornetta, "How to Time-Stamp a Digital Document, " Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 437-455. 683. S. Haber and W.S. Stornetta, "How to Time-Stamp a Digital Document, " journal of Cryptology, v. 3, n. 2, 1991, pp. 99-112.
684. S. Haber and W.S. Stornetta, "Digital Document Time-Stamping with Catenate Certificate," U.S. Patent #5,136,646, 4 Aug 1992. 685. S. Haber and W.S. Stornetta, "Method for Secure Time-Stamping of Digital Documents," U.S. Patent #5,136,647, 4 Aug 1992. 686. S. Haber and W.S. Stornetta, "Method of Extending the Validity of a Cryptographic Certificate," U.S. Patent #5,373,561, 13 Dec 1994. 687. T. Habutsu, Y. Nishio, I. Sasase, and S. Mori, "A Secret Key Cryptosystem by Iterating a Chaotic Map," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. E73, n. 7,1ul 1990, pp. 1041-1044. 688. T. Habutsu, Y. Nishio, I. Sasase, and S. Mori, "A Secret Key Cryptosystem by Iterating a Chaotic Map, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 127-140. 689. S. Hada and H. Tanaka, "An Improvement Scheme of DES against Differential Cryptanalysis," Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS 94), Lake Biwa, Japan, 27-29 Jan 1994, pp 14A. I-l l. fin Japanese. l 690. B.C.W. Hagelin, "The Story of the Hagelin Cryptos," Cryptologia, v. 18, n.3, Jul 1994, pp. 204-242. 691. T. Hansen and G.L. Mullen, "Primitive Polynomials over Finite Fields," Mathematics of Computation, v. 59, n. 200, Oct 1992, pp. 639-643. 692. S. Harada and S. Kasahara, "An ID-Based Key Sharing Scheme Without Preliminary Communication," IEICE Japan, Technical Report, ISEC89-38, 1989. (In Japanese ). 693. S. Harari, "A Correlation Cryptographic Scheme," EUROCODE '90 International Symposium on Coding Theory, Springer-Verlag, 1991, pp. 180-192. 694. T. Hardjono and J. Seberry, "Authentication via Multi-Service Tickets in the Kuperee Server, " Computer Security ESORICS 94, Springer-Verlag, 1994, pp. 144 160. 695. L. Harn and T. Kiesler, "New Scheme for Digital Multisignatures," Electronics Letters, v. 25, n. 15, 20 Jul 198Y, pp. 1002- 1003. 696. L. Harn and T. Kiesler, ''Improved Rabin's Scheme with High Efficiency, " Electronics Letters, v. 25, n. 15, 20 Jul 1989, p. 1016. 697. L. Harn and T. Kiesler, "Two New Efficient Cryptosystems Based on Rabin's Scheme, " Fifth Annual Computer Secunty Applications Conference, IEEE Computer Society Press, 1990, pp. 263-270.
698. L. Harn and D.-C. Wang "Cryptanalysts and Modification of Digital Signature Scheme Based on Error-Correeting Codes, " Electronics Letters, v. 28. n. 2, 10 Jan 1992, p. 157159. 699. L. Harn and Y. Xu, "Design of Generalized ElGamal Type Digital Signature Schemes Based on Discrete Logarithm, " Electronics Letters, v. 30, n. 24. 24 Nov 1994, p. 20252026. 700. L. Harn and S. Yang, "Group-Oriented Undeniable Signature Schemes without the Assistance of a Mutually Trusted Party," Advances in Cryptology AUSCRYPT '92 Proceedings, Springer- Verlag, 1993, pp. 133-142. 701. G. Harper, A. Menezes, and S. Vanstone, "Public-Key Cryptosystems with Very Small Key Lengths," Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag 1993, pp. 163-173. 702. C. Harpes, "Notes on High Order Differen- tial Cryptanalysis of DES, " internal report, Signal and Information Processing Labora- tory, Swiss Federal Institute of Technology, Aug 1993. 703. G.W. Hart, "To Decode Short Cryptograms," Communications of the ACM, 717. 9, Sep 1994, pp. 102-108.
v. 37, n.
704. J. Hastad, "On Using RSA with Low Exponent in a Public Key Network," Advances Cryptology CRYPTO '85 Proceedings, Springer-Verlag 1986, pp. 403-408.
in
705 1 Hastad and A. Shamir, "The Cryptographic Secunty of Truncated Linearly Related Variables, " Proceedings of the 1 7th Annual ACM Symposium on the Theory of Computing, 1985, pp. 356-362. 706. R.C. Hauser and E.S. Lee, "Verification and Modelling of Authentication Protocols, " ESORICS 92, Proceedings of the Second European Symposium on Research in Computer Security, Springer-Verlag 1992, pp. 131-154. 707. B. Hayes, "Anonymous One-Time Signatures and Flexible Untraceable Electronic Cash," Advances in Cryptology AUSCRYPT '90 Proceedings, Springer Verlag, 1990, pp. 294305. 708. D.K. He, "LUC Public Key Cryptosystem and its Properties," CHINACRYPT '94, China, 11-15 Nov 1994, pp. 60-69. (In Chinese.)
Xidian,
709. J. He and T. Kiesler, "Enhancing the Security of ElGamal's Signature Scheme," IKE Proceedings on Computers and Digital Techniques, v. 141, n.3, 1994. pp.193-195. 710. E.H. Hebern, "Electronic Coding Machine, "
U.S. Patent #1,510,441, 30 Sep 1924.
711. N. Heintze and J.D. Tygar, "A Model for Secure Protocols and their Compositions, "
Proceedings of the 1994 IEEE Computer Society Symposium on Research in Secu rity and Privacy 1994, pp. 2-13. 712. M.E. Hellman, "An Extension of the Shannon Theory Approach to Cryptography," IEEE Transactions on Information Theory, v. IT-23, n. 3, May 1977, pp. 289-294. 713. M.E. Hellman, "The Mathematics of Public-Key Cryptography," Scientihc American, v. 241, n. 8, Aug 1979, pp. 146-157. 714. M.E. Hellman, "DES Will Be Totally Insecure within Ten Years, " IEEE Spectrum, v. 16, n. 7, Jul 1979, pp. 32-39. 715. M.E. Hellman, "On DES-Based Synchronous Encryption," Dept. of Electrical Engineering Stanford University, 1980. 716. M.E. Hellman, "A Cryptanalytic Time- Memory Trade Off," IEEE Transactions on Information Theory, v. 26, n. 4, Jul 1980, pp. 401-406. 717. M.E. Hellman, "Another Cryptanalytic Attack on Cryptosystem for Multiple Communications', " Information Processing Letters, v. 12, 1981. pp. 182-183. 718. M.E. Hellman, W. Diffie, and R.C. Merkle, "Cryptographic Apparatus and Method," U.S. Patent #4,200,770, 29 Apr 1980. 719. M.E. Hellman, W. Diffie, and R.C. Merkle, "Cryptographic Apparatus and Method," Canada Patent #1,121,480, 6 Apr 1982. 720. M.E. Hellman and R.C. Merkle, "Public Key Cryptographic Apparatus and Method," U.S. Patent #4,218,582, 19 Aug 1980. 721. M.E. Hellman, R. Merkle, R. Schroeppel, L. Washington, W. Diffie, S. Pohlig, and R Schweitzer, "Results of an Initial Attempt to Cryptanalyze the NBS Data Encryption Standard," Technical Report SEL 76-042, Information Systems Lab, Department of Electrical Engineering Stanford University, 1976. 722. M.E. Hellman and S.C. Pohlig, "Exponentiation Cryptographic Apparatus and Method," U.S. Patent #4,424,414, 3 Jan 1984. 723. M.E. Hellman and J.M. Reyneri, "Distribution of Drainage in the DES," Advances in Cryptology: Proceedings of Crypto 82, Plenum Prcss, 1983, pp. 129-131. 724. E Hendessi and M.R. Arcf, "A Successful Attack Against the DES, " Third Canadian Workshop on Information Theory and Applications, Springer-Verlag, 1994, pp. 78-90. 725. T. Herlestam, "Critical Remarks on Some 738. 1978, pp. 493-496.
Public-Key Cryptosystems, " BIT, v. 18,
726. T. Herlestam, "On Ftmctions of Linear Shift Register Sequences", Advances in Cryptology EUROCRYPT '85, Springer Verlag, 1986, pp. 119-129. 727. T. Herlestam and R. Iohannesson, "On v. 21, 1981, pp. 326-334.
Computing Logarithms over GF (2P),'' BIT, 740.
728. H.M. Heys and S.E. Tavares, "On thc Security of the CAST Encryption Algorithm," Proceedings of the Canadian Conference on Electrical and Computer Engineenng, Halifax, Nova Scotia, Sep 1994, pp. 332-335. 729. H.M. Heys and S.E. Tavares, "The Design of Substitution-Permutation Networks Resistant to Differential and Linear Cryptanalysis," Proceedings of the 2nd Annual ACM Conference on Computer and Communications Security, ACM Press, 1994, pp. 148-155. 730. E. Heyst and T.P. Pederson, "How to Make Fail-Stop Signatures," Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag 1993, pp. 366-377. 731. E. Heyst, T.R Pederson, and B. Pfitzmann, "New Construction of Fail-Stop Signatures and Lower Bounds," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag 1993, pp. 15-30. 732. L.S. Hill, "Cryptography in an Algebraic Alphabet," American Mathematical Monthly, v. 36, Jun-Jul 1929, pp. 306-312. 733. P.J.M. Hin, "Channel-Error-Correcting Privacy Cryptosystems," Ph.D. dissertation, University of Technology, 1986. (In Dutch ).
Delft
734. R. Hirschield, "Making Elcctronic Refunds Safer, " Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 106 -112. 735. A. Hodges, Alan Turing: The Enigma of Intelligence, Simon and Schuster, 1983. 736. W. Hohl, X. Lai, T. Meier, and C. Waldvogel, "Security of Iterated Hash Functions Based on Block Ciphers, " Advances in Cryptology CRYPTO '93 Proceedings, SpringerVerlag, 1994, pp. 379-390. 737. F. Hoornaert, M. Decroos, J. Vandewalle, and R. Govaerts, "Fast RSA-Hardware: Dream or Reality?" Advances in Cryptology E UROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 257-264. 738. F. Hoornaert, J. Goubert, and Y. Desmedt, "Efficient Hardware Implementation of the DES," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 147-173. 739. E. Horowitz and S. Sahni, Fundamentals of Computer Algonthms, Rockville, MD: Computer Science Press, 1978.
740. R Horster, H. Petersen, and M. Michels, "Meta-EIGamal Signature Schemes," Proceedings of the 2nd Annual ACM Conference on Computer and Communications Security, ACM Press, 1994, pp. 96-107. 741. R Horster, H. Petersen, and M. Michels, "Meta Message Recovery and Meta Blind Signature Schemes Based on the Discrete Logarithm Problem and their Applications, " Advances in Cryptology ASIACRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 224237. 742. L.K. Hua, Introduction to Number Theory, Springer-Verlag, 1982. 743. K. Huber, "Specialized Attack on Chor-Rivest Public Key Cryptosystem, " Electronics Letters, v.27, n. 23, 7 Nov 1991, pp. 2130-2131. 744. E. Hughes, "A Cypherpunk's Manifesto, " 9 Mar 1993. 745. E. Hughes, "An Encrypted Key Transmission Protocol," presented at the rump s ession of CRYPTO '94, Aug 1994. 746. H. Hule and W.B. Muller, "On the RSA- Cryptosystem with Wrong Keys," Contributions to General Algebra 6, Vienna: Verlag Holder-Pichler-Tempsky, 1988, pp. 103-109. 747. H.A. Hussain, J.W.A. Sada, and S.M. Kalipha, "New Multistage Knapsack Public-Key Cryptosystem," International Journal of Systems Science, v. 22, n. 11, Nov 1991, pp. 2313-2320. 748. T. Hwang, "Attacks on Okamoto and Tanaka's One-Way ID-Based Key Distribution System," Information Processing Letters,v.43,n.2,Augl992, pp.83-86. 749. T. Hwang and T.R.N. Rao, "Secret Error- Correcting Codes (SECC )." Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 540-563. 750. C. Ianson and C. Mitchell, "Security Defects in CCITT Recommendation X.509 the Directory Authentication Framework," Computer Communications Review, v. 20, n. 2, Apr 1990, pp. 30-34. 751. IBM, "Common Cryptographic Architecture: Cryptographic Application Programming Interface Reference," SC40-1675-1, IBM Corp., Nov 1990. 752. IBM, "Common Cryptographic Architecture: Cryptographic Application Programming Interface Reference Public Key Algorithm," IBM Corp., Mar 1993. 753. R. Impagliazzo and M. Yung, "Direct Minimum-Knowledge Computations, " Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 40-51.
754. I. Ingemarsson, "A New Algorithm for the Solution of the Knapsack Problem," Lecture Notes in Computer Science 149; Cryptography: Proceedings of the Workshop on Cryptography, Springer-Verlag, 1983, pp. 309-315. 755. I. Ingemarsson, "Delay Estimation for Truly Random Binary Sequences or How to Measure the Length of Rip van Winkle's Sleep," Communications and Cryptography: Two Sides of One Tapestry, R.E. Blahut ct al., eds., Kluwer Adademic Pub- lishcrs, 1994, pp. 179-186. 756. I. Ingemarsson and G.J. Simmons, "A Protocol to Set Up Shared Secret Schemes without the Assistance of a Mutually Trusted Party," Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 266-282. 757. I. Ingemarsson, D.T. Tang, and C.K. Wong, "A Conference Key Distribution System," IEEE Transactions on Information Theory, v. IT-28, n. 5, Sep 1982, pp. 714-720. 758. ISO DIS 8730, "Banking Requirements for Message Authentication Wholesale," Association for Payment Clearing Services, London, Jul 1987. 759. ISO DIS 8781-1, "Banking Approved Algorithms for Message Authentication Part 1: DEA" Association for Payment Clearing Services, London, 1987. 760. ISO DIS 8731-2, "Banking Approved Algorithms for Message Authentication Part 2: Message Authenticator Algorithm, " Association for Payment Clearing Services, London, 1987. 761. ISO DIS 8732, "Banking Key Management (Wholesaled ) " Association for Payment Clearing Services, London, Dec 1987. 762. ISO/IEC 9796, "Information Technology Security Techniques . Digital Signature Scheme Giving Message Recovery," International Organization for Standardization, Jul 1991. 763. ISO/IEC 9797, "Data Cryptographic Techniques . Data Integrity Mechanism Using a Cryptographic Check Function Employing a Block Cipher Algorithm," International Organization for Standardization, 1989. 764. ISO DIS 10118 DRAFT, "Information Technology Security Techniques . Hash Functions" International Organization for Standardization, 1989. 765. ISO DIS 10118 DRAFT, "Information Technology Security Techniques . Hash Functions" International Organization for Standardization, April 1991. 766. ISO N98, "Hash Functions Using a Pseudo Random Algorithm,'' working document, ISOIEC/JTC 1 /SC27/WG2, International Organization for Standardization, 1992. 767. ISO N179, "AR Fingerprint Function," working document, ISO-IEC/JTC1/SC27/ WG2, International Organization for Standardization, 1992.
768. ISO/IEC 10118, "Information Technology Security Techniques . Hash Functions Part 1: General and Part 2: Hash-Functions Using an e-Bit Block Cipher Algorithm, " International Organization for Standardization, 1993. 769. K. Ito, S. Kondo, and Y. Mitsuoka, "SXAL8/MBAL Algorithm," Technical Report, ISEC93-68, IEICE Japan, 1993. (In Japancsc. ) 770. K.R. Iversen, "The Application of Cryptographic Zero-Knowledge Techniques in Computerized Secret Ballot Election Schemes, " Ph.D. dissertation, IDT-report 1991:3, Norwegian Institute of Technology, Feb 1991. 771. K.R. Iversen, "A Cryptographic Scheme for Computerized General Elections, " Advances in Cryptology CRYPTO '91 Proceedings, Springcr-Vcrlag, 1992, pp. 405 -419. 772. K. Iwamura, T. Matsumoto, and H. Imai, "An Implcmcutation Method for RSA Cryptosystem with Parallel Processing ", Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J75-A, n. 8, Aug 1992, pp. 1301-1311. 773. W.J. Jaburek, "A Generalization of ElGamal's Public Key Cryptosystem, " Advances in Cryptology EUROCRYPT '89 Proceedings, 1990, Springer-Verlag, pp. 23-28. 774. N.S. James, R. Lidl, and H. Niederreiter, "Breaking the Cade Cipher," Advances in Cryptology CRYPTO '86 Proceedings, 1987, Springer-Verlag, pp. 60-63. 775. C.J.A. Jansen, "On the Key Storage Requirements for Secure Terminals'" Security, v. 5, n. 2, Jun 788. 1986, pp. 145-149.
Computers and
776. C.J.A. Jansen, "Investigations on Nonlin ear Strcamcipher Systems: Construction Evaluation Methods," Ph.D. dissertation, Technical University of Delft, 1989.
and
777. C.J.A. Jansen and D.E. Boekee, "Modes of Blockcipher Algorithms and their Protection against Active Eavesdropping, " Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1988, pp. 281-286. 778. S.M. Jennings, "A Special Class of Binary Sequences," Ph.D. dissertation, University of London, 1980. 779. S.M. Jennings, "Multiplexed Sequences: Some Properties of the Minimum Polynomial," Lecture Notes in Computer Science 149; Cryptography: Proceedings of the Workshop on Cryptography, Springer-Verlag, 1983, pp. 189-206. 780. S.M. Jennings, "Autocorrelation Function of the Multiplexed Sequence, " IKE Pro ceedings, v. 131, n. 2, Apr 1984, pp. 169-172. 781. T. Jin, "Care and Feeding of Your Three Headed Dog, " Document Number IAG-90 -011, Hewlett-Packard, May 1990.
782. T. Jin, "Living with Your Three-Headed Dog," Document Number IAG-90-012, Packard, May 1990.
Hewlett-
783. A. Jiwa, J. Seberry. and Y. Zheng, "Beacon Based Authentication," Computer Security ESORICS 94, Springer-Verlag, 1994, pp. 125-141. 784. D.B. Johnson, G.M. Dolan, M.J. Kelly, A.V . Le, and S.M. Matyas, "Common Cryptographic Architecture. Cryptographic Application Programming Interface," IBM Systems journal, v. 30, n.2, 1991, pp.130-150. 785. D.B. Johnson, S.M. Matyas, A.V. Le. and J.D. Wilkins, "Design of the Commercial Data Masking Facility Data Privacy Algorithm," 1st ACM Conference on Computer and Communications Security, ACM Press, 1993, pp. 93-96. 786. J.R Jordan, "A Variant of a Public-Key Cryptosystem Based on Goppa Codes," Sigact News, v. 15, n. 1, 1983, pp. 61-66. 787. A. Joux and L. Granboulan, "A Practical Attack Against Knapsack Based Hash Functions" Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 788. A. Joux and J. Stern, "Cryptanalys is of Another Knapsack Cryptosystem, " Advances in Cryptology ASIACRYPT '91 Proceedings, Springer-Verlag, 1993, pp. 470-476. 789. R.R. Jueneman, "Analysis of Certain Aspects of Output-Feedback Mode, " Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp.99-127. 790. R.R. Jueneman, "Electronic Document Authentication, " IEEE Network Magazine, v. 1, n.2, Apr 1978, pp. 17-23. 791. R.R. Jueneman, "A High Speed Manipulation Detection Code," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 327-346. 792. R.R. Jueneman, S.M. Matyas, and C.H. Meyer, "Message Authentication with Manipulation Detection Codes," Proceedings of the 1983 IEEE Computer Society Symposium on Research in Security and Privacy, 1983, pp. 733-54. 793. R.R. Jucncman, S.M. Matyas, and C.H. Meyer, "Message Authentication, " IEEE Communications Magazine, v. 23, n. 9, Sep 1985, pp. 29 40. 794. D. Kahn, The Codebreakers: The Story of Secret Writing, New York: Macmillan Publishing Co., 1967. 795. D. Kahn, Kahn on Codes, New York: Macmillan Publishing Co., 1983. 796. D. Kahn, Seizing the Enigma, Boston: Houghton Mifflin Co., 1991.
797. P. Kaijser, T. Parker, and D. Pinkas, "SESAME: The Solution to Security for Open Distributed Systems," Journal of Computer communications , V. 17, n. 4, Jul 1994, pp. 501-518. 798. R. Kailar and V.D. Gilgor, "On Belief Evolution in Authentication Protocols," Proceedings of the Computer Security Foundations Workshop IV, IEEE Computer Society Press, 1991, pp. 102-116. 799. B.S. Kaliski, "A Pseudo Random Bit Generator Based on Elliptic Logarithms," Master's thesis, Massachusetts Institute of Technology, 1987. 800. B.S. Kaliski, letter to NIST regarding DSS, 4 Nov 1991. 801. B.S. Kaliski, "The MD2 Message Digest Algorithm," RFC 1319, Apr 1992. 802. B.S. Kaliski, "Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certificates and Related Services," RFC 1424, Feb 1993. 803. B.S. Kaliski, "An Overview of the PKCS Standards," RSA Laboratories, Nov 1993. 804. B.S. Kaliski, "A Survey of Encryption Standards, IEEE Micro, v. 13, n. 6, Dec 1993, pp. 74-81. 805. B.S. Kaliski, personal communication, 1993. 806. B.S. Kaliski, "On the Security and Performance of Several Triple-DES Modes," RSA Laboratories, draft manuscript, Jan 1994. 807. B.S. Kaliski, R.L. Rivest, and A.T. Sherman, "Is the Data Encryption Standard a Group?", Advances in Cryptology EUROCRYPT '85, Springer-Verlag, 1986, pp. 81-95. 808. B.S. Kaliski, R.L. Rivest, and A.T. Sherman, "Is the Data Encryption Standard a Pure Cipher? Results of More Cycling Experiments in DESK, " Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 212-226. 809. B.S. Kaliski, R.L. Rivest, and A.T. Sherman, "Is the Data Encryption Standard a Group? (Results of Cycling Experiments on DESK," Journal of Cryptology v. 1, n. 1, 1988, pp. 336. 810. B.S. Kaliski and M.J.B. Robshaw, "Fast Block Cipher Proposal," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 33 40. 811. B.S. Kaliski and M.J.B. Robshaw, "Linear Cryptanalysis Using Multiple Approximations," Advances in Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 26-39.
812. B.S. Kaliski and M.J.B. Robshaw, "Linear Cryptanalysis Using Multiple Approximations and PEAL," K.U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 813. R.G. Kammer, statement before the U.S. government Subcommittee on Telecommunications and Finance, Committee on Energy and Commerce, 29 Apr 1993. 814. T. Kaneko, K. Koyama, and R. Terada, "Dynamic Swapping Schemes and Differential Cryptanalysis, Proceedings of the 1993 Korea- Japan Workshop on Information Security and Cryptography Seoul, Korea, 24-26 Oct 1993, pp. 292-301. 815. T. Kaneko, K. Koyama, and R. Terada, "Dynamic Swapping Schemes and Differential Cryptanalysis," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. E77-A, n. 8, Aug 1994, pp. 1328-1336. 816. T. Kaneko and H. Miyano, "A Study on the Strength Evaluation of Randomized DESLike Cryptosystems against Chosen Plaintext Attacks, " Proceedings of the 1993 Symposium on Cryptography and Information Security (SCIS 93), Shozenji, Japan, 28-30 Jan 1993, pp. 15C.1-10. 817. J. Karl, "A Cryptosystem Based on Propositional Logic," Machines, Languages, and Complexity: 5th International Meeting of Young Computer Scientists, Selected Contributions, Springer-Verlag, 1989, pp. 210-219. 818. E.D. Karnin, J.W. Greene, and M.E. Hellman, "On Sharing Secret Systems," IEEE Transactions on Information Theory v. IT- 29, 1983, pp. 35 41. 819. F.W Kasiski, Die Geheimschriften and die Dechiffrir-kunst, E.S. Miller und Sohn, 1863. In German. 820. A. Kehne, J. Schonwalder, and H. Langendorfer, "A Nonce-Based Protocol for Multiple Authentications," Operating Systems Review, v. 26, n. 4, Oct 1992, pp. 84-89. 821. J. Kelsey, personal communication, 1994. 822. R. Kemmerer, "Analyzing Encryption Protocols Using Formal Verification Techniques, " IEEE Journal on Selected Areas in Communications, v. 7, n. 4, May 1989, pp. 448 457. 823. R. Kemmerer, C.A. Meadows, and J. Millen, "Three Systems for Cryptographic Protocol Analysis," Journal of Cryptology v. 7, n. 2, 1994, pp. 79-130. 824. S.T. Kent, "Encryption-Based Protection Protocols for Interactive User-Computer Communications, " MIT/LCS/TR162, MIT Laboratory for Computer Science, May 1976. 825. S.T. Kent, "Privacy Enhancement for Internct Electronic Mail: Part II: Certificate Based Key Management," RFC 1422, Feb 1993.
826. S.T. Kent, "Understanding the Internet Certification System, " Proceedings of The Internet Society, 1993, pp. BAB 1 -BAB 10.
INET '93,
827. S.T. Kent and J. Linn, "Privacy Enhaneement for Internet Electronic Mail: Part II: Certificate-Based Key Management," RFC 1114, Aug 1989. 828. V. Kessler and G. Wedel, "AUTOLOG An Advanced Logic of Authentication," Proceedings of the Computer Security Foundations Workshop, IEEE Computer Society Press, 1994, pp. 90-99. 829. E.L. Key, "An Analysis of the Structure and Complexity of Nonlinear Binary Sequence Generators," IEEE Transactions on Information Theory v. IT-22, n. 6, Nov 1976, pp. 732736. 830. T. Kiesler and L. Harn, "RSA Blocking and Multisignature Schemes with No Bit Expansion," Electronics Letters, v. 26, n. 18, 30 Aug 1990, pp. 1490-1491. 831. J. Kilian, Crises of Randomness in Algorithms and Protocols, MIT Press, 1990. 832. J. Kilian, "Achieving Zero-Knowledge Robustly, " Advances in Cryptology CRYPTO 90 Proceedings, Springer-Verlag, 1991, pp. 313-325. 833. J. Kilian and T. Leighton, "Failsafe Key Escrow," MIT/LCS/TR-636, MIT Laboratory for Computer Science, Aug 1994. 834. K. Kim, "Construction of DES-Like S -Boxes Based on Boolean Functions Satisfying the SAC, " Advances in Cryptology, ASIACRYPT 91 Proceedings, Springer -Verlag, 1993, pp. 59-72. 835. K. Kim, S. Lee, and S. Park, "Necessary Conditions to Strengthen DES S-Boxes Against Linear Cryptanalysis," Proceedings of the 1994 Symposium on Cryptography and Information Secunty (SCIS 94), Lake Biwa, Japan, 27-29 Jan 1994, pp. 15D.1-9. 836. K. Kim, S. Lee, and S. Park, "How to Strengthen DES against Differential Attack, " unpublished manuscript, 1994. 837. K. Kim, S. Lee, S. Park, and D. Lee, "DES Can Be Immune to Differential Cryptanalysis, " Workshop on Selected Areas in Cryptography Workshop Record, Kingston, Ontario, 5-6 May 1994, pp. 70-81. 838. K. Kim, S. Park, and S. Lee, "How to Strengthen DES against Two Robust Attacks," Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography Inuyama, Japan, 24-27 Jan 1995, 173-182. 839. K. Kim, S. Park, and S. Lee, "Reconstruction of s2DES S-Boxes and their Immunity to Differential Cryptanalysis, " Proceedings of the 1993 Korea- Japan Workshop on Information Security and Cryptography, Seoul, Korea, 24-26 Oct l 993, pp.282-291.
840. S. Kim and B.S. Um, "A Multipurpose Membership Proof System Based on Discrete Logarithm," Proceedings of the 1993 Korea- Japan Workshop on Information Security and Cryptography, Seoul, Korea, 24-26 Oct 1993, pp. 177-183. 841. P. Kinnucan, "Data Encryption Gurus: Tuchman and Meyer," Cryptologia, v. 2, n. 4, Oct 1978. 842. A. Klapper, "The Vulnerability of Geometric Sequences Based on Fields of Odd Characteristic," Journal of cryptology v. 7, n. 1, 1994, pp. 33-52. 843. A. Klapper, "Feedback with Carry Shift Registers over Finite Fields," K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 844. A. Klapper and M. Goresky, "2-adic Shift Registers, " Fast Software Encryption, Cambridge Security Workshop l'roceed- ings, Springer-Verlag, 1994, pp. 174-178. 845. A. Klapper and M. Goresky, "2-adic Shift Registers," Technical Report #239-93, Department of Computer Science, University of Kentucky, 19 Apr 1994. 846. A. Klapper and M. Goresky, "Large Period Nearly de Bruijn FCSR Sequences, " Advances in Cryptology EUROCRYPT 95 Proceedings, Springer-Verlag, 1995, pp. 263-273. 847. D.V. Klein, "'Foiling the Cracker: A Survey of, and Implications to, Password Security," Proceedings of the USENIX UNIX Security Workshop, Aug 1990, pp. 5-14. 848. D.V Klein, personal communication, 1994. 849. C.S. Kline and G.J. Popek, "Public Key vs. Conventional Key Cryptosystems," Proceedings of AFIPS National Computer Conference, pp. 831-837. 850. H.-J. Knobloch, "A Smart Card Implementation of the Fiat-Shamir Identification Scheme," Advances in Cryptology EUROCRPYT '88 Proceedings, Springer-Verlag, 1988, pp. 8795. 851. T. Knoph, J. Fropl, W. Beller, and T.Giesler, "A Hardware Implementation of a Modified DES Algorithm," Microprocessing and Microprogramming, v. 30, 1990, pp. 59-66. 852. L.R. Knudsen, "Cryptanalysts of LOKI," Advances in Cryptology ASIACRYPT '91 Proceedings, Springer-Verlag, 1993, pp. 22-35. 853. L.R. Knudsen, "Cryptanalysts of LOKI," Cryptography and Coding 111, M.J. Ganley, ed., Oxford: Clarendon Press, 1993, pp. 223-236. 854. L.R. Knudsen, "Cryptanalysts of LOKI91," Advances in Cryptology AUSCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 196-208.
855. L.R. Knudsen, "Iterative Characteristics of DES and sZDES," Advances in Cryptology CRYPTO '92, Springer-Verlag, 1993, pp. 497-511. 856. L.R. Knudsen, "An Analysis of Kim, Park and Lee's DES-Like S-Boxes," unpublished manuscript, 1993. 857. L.R. Knudsen, "Practically Secure Feistel Ciphers," Fast Software Encryption, Cambridge Secunty Workshop Proceedings, Springer-Verlag, 1994, pp. 211-221. 858. L.R. Knudsen, "Block Ciphers Analysis, Design, Applications," Ph.D. dissertation, Aarhus University, Nov 1994. 859. L.R. Knudsen, personal communication, 1994. 860. L.R. Knudsen, "Applications of Higher Order Differentials and Partial Differentials, " K. U Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 861. L.R. Knudsen and X. Lai, "New Attacks on All Double Block Length Hash Functions of Hash Rate 1, Including the Parallel-DM," Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 862. L.R. Knudsen, "A Weakness in SAFER K-64, " Advances in Cryptology-CRYPT O '95 Proceedings, Springer-Verlag, 1995, to appear. 863. D. Knuth, The Art of Computer Programming: Volume 2, Seminumerical Algo rithms, 2nd edition, Addison-Wesley, 1981. 864. D. Knuth, "Deciphering a Linear Congruential Encryption," IEEE Transactions on Information Theory, v. IT-31, n. 1, Jan 1985, pp. 49-52. 865. K. Kobayashi and L. Aoki, "On Linear Cryptanalysis of MBAL, " Proceedings of the 1995 Symposium on Cryptography and Information Security (SCIS 95, Innyama, Japan, 24-27 Jan 1995, pp. A4.2.1-9. 866. K. Kobayashi, K. Tamura, and Y. Nemoto, "Two-dimensional Modified Rabin Cryptosystem," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J72-D, n. 5, May 1989, pp. 850-851. (In Japanese. ) 867. N. Koblitz, "Elliptic Curve Cryptosystems, " Mathematics of Computation, v. 48, n. 177, 1987, pp. 203-209. 868. N. Koblitz, "A Family of Jacobians Suitable for Discrete Log Cryptosystems, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag 1990, pp. 94 -99. 869. N. Koblitz, "Constructing Elliptic Curve Cryptosystems in Characteristic 2," Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag 1991, pp. 15 6-167.
870. N. Koblitz, "Hyperelliptic Cryptosystems," Journal of Cryptology, v. 1, n. 3, 1989, pp. 129-150. 871. N. Koblitz, "CM-Curves with Good Cryptographic Properties, " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 279-287. 872. C.K. Koc, "High-Speed RSA Implementation," Version 2.0, RSA Laboratories, Nov 1994. 873. M.J. Kochanski, "Remarks on Lu and Lee's Proposals," Crypto logia, v. 4, n. 4, 1980, pp. 204-207. 874. M.J. Kochanski, "Developing an RSA Chip," Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 350-357. 875. J.T. Kohl, "The Use of Encryption in Kerberos for Network Authentication," Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp.35 -43. 876. J.T. Kohl, "The Evolution of the Kerberos Authentication Service," Eur opean Conference Proceedings, May 1991, pp. 295-313. 877. J.T. Kohl and B.C. Neuman, "The Kerberos 1510, Sep 1993.
Network Authentication Service, " RFC
878. J.T. Kohl, B.C. Neuman, and T. Ts'o, "The Evolution of the Kerberos Authentication System," Distributed Open Systems, IEEE Computer Society Press, 1994, pp. 78-94. 879. Kohnfelder, "Toward a Practical Public Key Cryptosystem, " Bachelor's thesis, Department of Electrical Engineering, May 1978. 880. A. G. Konheim, Cryptography: A Primer,
MIT
New York: John Wiley & Sons, 1981.
881. A.G. Konheim, M.H. Mack, R.K. McNeill, B. Tuckerman, and G. Waldbaum, "The Cryptographic Programs," IBM Systems journal, v. 19, n. 2, 1980, pp. 253-283.
IPS
882. V.I. Korzhik and A.I. Turkin, "Cryptanalysis of McEliece's Public-Key Cryptosystem," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 6870. 883. S.C. Kothari, "Generalized Linear Threshold Scheme," Advances in Cryptology: Proceedings of CRYPTO 84, Springer -Verlag, 1985, pp. 231-241. 884. J. Kowalchuk, B.R Schanning, and S. Powers, "Communication Privacy: Integration of Public and Secret Key Cryptography," Proceedings of the National Telecommunication Conference, IEEE Press, 1980, pp. 49.1.1 49.1.5.
885. K. Koyama, "A Master Key for the RSA Public-Key Cryptosystem," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J65-D, n. 2, Feb 1982, pp. 163-170. 886. K. Koyama, "A Cryptosystem Using the Master Key for Multi-Address Communications," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J65-D, n. 9, Sep 1982, pp. 1151-1158. 887. K. Koyama, "Demonstrating Membership of a Group Using the Shizuya-Koyama -Itoh (SKI) Protocol," Proceedings of the 1989 Symposium on Cryptography and Information Security ( SCIS 89), Gotenba, Japan, 1989. 888. K. Koyama, "Direct Demonstration of the Power to Break Public-Key Cryptosystems, " Advances in Cryptology AUSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 14-21. 889. K. Koyama, "Security and Unique Decipherability of Two-dimensional Public Key Cryptosystems," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. E73, n. 7, Jul 1990, pp. 1057-1067. 890. K. Koyama, U.M. Maurer, T. Okamoto, and S.A. Vanstone, "New Public-Key Schemes Based on Elliptic Curves over the Ring Zn " Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 252-266. 891. K. Koyama and K. Ohta, "Identity-based Conference Key Dist ribution System," Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp.175-184. 892. K. Koyama and T. Okamoto, "Elliptic Curve Cryptosystems and Their Applications, " IEICE Transactions on Information and Systems, v. E75-D, n. 1, Jan 1992, pp. 50-57. 893.
K. Koyama and R. Terada, " How to Strengthen DES-Like Cryptosystems against Differential Cryptanalysis," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. E76-A, n. 1, Jan 1993, pp. 63-69.
894. K. Koyama and R. Terada, "Probabilistic Swapping Schemes to Strengthen DES against Differential Cryptanalysis, " Proceedings of the 1993 Symposium on Cryptography and Information Security (SCIS 93), Shuzenji, Japan, 28-30 Jan 1993, pp. 15D.1-12. 895. K. Koyama and Y. Tsuruoka, "Speeding up Elliptic Cryptosystems Using a Singled Binary Window Method, " Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 345-357. 896. E. Kranakis, Pnmality and Cryptography, Wiler-Teubner Series in Computer Science, 1986. 897. D. Kravitz, "Digital Signature Algorithm," U.S. Patent #5,231,668, 27 Jul 1993. 898. D. Kravitz and L. Reed, "Extension of RSA Cryptostructure: A Galois Approach, " Electronics Letters, v. 18, n. 6, 18 Mar 1982, pp. 255-256.
899. H. Krawczyk, "How to Predict Congruential Generators," Advances in Cryptology CRYPTO'89 Proceedings, Springer- Verlag, 1990, pp. 138-153. 900. H. Krawczyk, "How to Predict Congruential Generators," Journal of Algorithms, v. 13, n. 4, Dec 1992, pp. 527-545. 901. H. Krawczyk, "The Shrinking Generator: Some Practical Considerations," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 45 46. 902. G.J. Kuhn, "Algorithms for Self-Synchronizing Ciphers," Proceedings of COMSIG 88, 1988. 903. G.J. Kuhn, F. Bruwer, and W. Smit, "'n Vinnige Veeldoelige Enkripsievlokkie, " Proceedings of Infosec 90, 1990. (In Afrikaans.) 904. S. Kullback, Statistical Methods in Cryptanalysis, U.S. Government Printing Office, 1935. Reprinted by Aegean Park Press, 1976. 905. RV. Kumar, R.A. Scholtz, and L.R. Welch, "Generalized Bent Functions and their Properties," Journal of Combinational Theory, Series A, v. 40, n. 1, Sep 1985, pp. 90-107. 906. M. Kurosaki, T. Matsumoto, and H. Imai, "Simple Methods for Multipurpose Certification," Proceedings of the 1989 Symposium on Cryptography and Information Security (SCIS 89), Gotenba, Japan, 1989. 907. M. Kurosaki, T. Matsumoto, and H. Imai, "Proving that You Belong to at Least One of the Specified Groups," Proceedings of the 1990 Symposium on Cryptography and Information Security (SCIS 90), Hihondaira, Japan, 1990. 908. K. Kurosawa, "Key Changeable ID-Based Cryptosystem," Electronics Letters, v. 25, n. 9, 27 Apr 1989, pp. 577-578. 909. K. Kurosawa, T. Ito, and M. Takeuchi, "Public Key Cryptosystem Using a Reciprocal Number with the Same Intractability as Factoring a Large Number," Cryptologia, v. 12, n. 4, Oct 1988, pp. 225-233. 910. K. Kurosawa, C. Park, and K. Sakano, "Group Signer/Verifier Separation Scheme," Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography, Inuyama, Japan, 24-27 Jan 1995, 134-143. 911. G.C. Kurtz, D. Shanks, and H.C. Williams, "Fast Primality Tests for Numbers Less than 50*10" Mathematics of Computation, v. 46, n. 174, Apr 1986, pp. 691-701. 912. K. Kusuda and T. Matsumoto, "Optimization of the Time-Memory Trade-Off Cryptanalysis and Its Application to Block Ciphers, " Proceedings of the 1995 Symposium on
Cryptography and Information Security (SCIS 95 ), Inuyama, Japan, 24-27 Jan 1995, pp. A3.2.1-11. (In Japanese.) 913. H. Kuwakado and K. Koyama, "Security of RSA-Type Cryptosystems Over Elliptic Curves against Hastad Attack," Electronics Letters, v. 30, n. 22, 27 Oct 1994, pp. 18431844. 914. H. Kuwakado and K. Koyama, "A Ncw RSA-Type Cryptosystem over Singular Elliptic Curves, " IMA Conference on Applications of Finite Fields, Oxford University Press, to appear. 915. H. Kuwakado and K. Koyama, "A New RSA-Type Scheme Based on Singular Cubic Curves," Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography, Inuyama, Japan, 24-27 Jan 1995, pp. 144-151. 916. M. Kwan, "An Eight Bit Weakness in the LOKI Cryptosystem, " technical report, Australian Dcfensc Force Academy, Apr 1991. 917. M. Kwan and J. Pieprzyk, "A General Purpose Technique for Locating Key Scheduling Weakness in DES-Like Cryptosystcms, " Advances in Cryptology ASIACRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 237-246. 918. J.B. Lacy, D.P. Mitchell, and W.M. Schell, "CryptoLib: Cryptography in Software," UNIX Security Symposium Proceedings, USENIX Association, 1993, pp. 1-17. 919. J.C. Lagarias, "Knapsack Public Key Cryptosystems and Diophantine Approximations," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 3-23. 920. J.C. Lagarias, "Performance Analysis of Shamir's Attack on the Basic Merkle-Hellman Knapsack Cryptosystem, " Lec- ture Notes in Computer Science 172; Proceedings of the 11 th International Colloquium on Automata, Languages, and Programming (ICALP ), Springer- Verlag, 1984, pp. 312-323. 921. J.C. Lagarias and A.M. Odlyzko, "Solving Low-Density Subset Sum Problems," Proceedings of the 24th IEEE Symposium on Foundations of Computer Science, I 983, pp. 1-10. 922. J.C. Lagarias and A.M. Odlyzko, "Solving Low-Density Subset Sum Problems," Journal of the ACM, v. 32, n. 1, Jan 1985, pp. 229-246. 923. J.C. Lagarias and J. Reeds, "Unique Extraporation of Polynomial Recurrences, " SIAM Journal on Computing, v. 17, n. 2, Apr 1988, pp. 342-362. 924. X. Lai, Detailed Description and a Software Implementation of the IPES Cipher, unpublished manuscript, 8 Nov 1991. 925. X. Lai, On the Design and Secunty of Block Ciphers, ETH Series in Information Processing, v. 1, Konstanz: Hartung-Gorre Verlag, 1992.
926. X. Lai, personal communication, 1993. 927. X. Lai, "Higher Order Derivatives and Differential Cryptanalysis," Communications and Cryptography: Two Sides of One Tapestry, R.E. Blahut et al., eds., Kluwer Adademic Publishers, 1994, pp. 227-233. 928. X. Lai and L. Knudsen, "Attacks on Double Block Length Hash Functions," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 157165. 929. X. Lai and J. Massey, "A Proposal for a New Block Encryption Standard, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 389 404. 930. X. Lai and J. Massey, "Hash Functions Based on Block Ciphers, " Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag, 1992, pp. 55-70. 931. X. Lai, J. Massey, and S. Murphy, "Markov Ciphers and Differential Cryptanalysis," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 17-38. 932. X. Lai, R.A. Rueppel, and J. Woollven, "A Fast Cryptographic Checksum Algorithm Based on Stream Ciphers," Advances in Cryptology AUSCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 339-348. 933. C.S. Laih, J.Y. Lee, C.H. Chen, and L. Harn, "A New Scheme for ID-based Cryptosys tems .md Signatures," Tournal of the Chinese Institute of Engineers, v. 15, n. 2, Sep 1992, pp. 605-610. 934. B.A. LaMacchia and A.M. Odlyzko, "Computation of Discrete Logarithms in Prime Fields, " Designs, Codes, and Cryptography, v. 1, 1991, pp. 46-62. 935. L. Lamport, "Password Identification with Insecure Communications," Communications of the ACM, v. 24, n. 11, Nov 1981, pp. 770-772. 936. S. Landau, "Zero-Knowledge and the Department of Defense," Notices of the American Mathematical Society, v. 35, n. 1, Jan 1988, pp. 5-12. 937. S. Landau, S. Kent, C. Brooks, S. Charney, D. Denning, W. Diffie, A. Lauck, D. Mikker, P. Neumann, and D. Sobel, "Codes, Keys, and Conflicts: Issues in U.S. Crypto Policy," Report of a Special Panel of the ACM U.S. Public Policy Committee (USACM), Association for Computing Machinery, Jun 1994. 938. S.K. Langford and M.E. Hellman, "Cryptanalysis of DES," presented at 1994 RSA Data Security conference, Redwood Shores, CA, 12-14 Jan 1994. 939. D. Lapidot and A. Shamir, "Publicly Verifiable Non-Interactive Zero-Knowledge Proofs, " Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 353-365.
940. A.V. Le. S.M. Matyas, D.B. Johnson, and J.D. Wilkins, "A Public-Key Extension to the Common Cryptographic Architecture, " IBM Systems Journal, v. 32, n. 3, 1993, pp. 461 485. 941. P. L'Ecuyer, "Efficient and Portable Combined Random Number Generators, " Communications of the ACM, v. 31, n. 6, Jun 1988, pp. 742-749, 774. 942. R L'Ecuyer, "Random Numbers for Simulation," Communications of the ACM, v. 33, n. 10, Oct 1990, pp. 85-97. 943. P.J. Lee and E.E Brickcll, "An Observation on the Security of McEliece's Public-Key Cryptosystem," Advances in Cryptology EUROCRYPT '88 Proceedings, Springer-Verlag, 1988, pp. 275-280. 944. S. Lee, S. Sung, and K. Kim, "An Efficient Method to Find the Linear Expressions for Linear Cryptanalysis," Proceedings of the 1995 Korea- Japan Workshop on Information Security and Cryptography, Inuyama, Japan, 24-26 Jan 1995, pp. 183-190. 945. D.J. Lehmann, "On Primality Tests, " SIAM lournal on Computing, v. 11, n. 2, May 1982, pp. 374-375. 946. T. Leighton, "Failsafe Key Escrow Systems, " Technical Memo 483, MIT Laboratory for Computer Science, Aug 1994. 947. A. Lcmpel and M. Cohn, "Maximal Families of Bent Sequences," IEEE Transactions Information 'Fheory, v. IT-28, n. 6, Nov 963. 1982, pp. 865-868. 948. A. K. Lenstra. " Factoring Multivariate Polynomials Over Finite Fields," Journal Computer System Science, v. 30, n. 2, 964. Apr 1985, pp. 235 -248.
on
of
949. A.K. Lenstra, personal communication, 1995. 950. A.K. Lenstra and S. Haber, letter to NIST Regarding DSS, 26 Nov 1991. 951, A.K. Lcnstra, H.W. Lenstra Jr., and L.Lovacz, "Factoring Polynomials with Coefficients," Mathematische Annalen, v. 261, n. 4, 1982, pp. 515-534.
Rational
952. A.K. Lenstra, H.W. Lenstra, Jr., M.S. Manasse, and J.M. Pollard, "The Number Field Sieve," Proceedings of the 22nd ACM Symposium on the Theory of Computing, 1990, pp. 574-672. 953. A.K. Lenstra and H.W. Lenstra, Jr., eds., Lecture Notes in Mathematics 1554: The 967. Development of the Number Field Sieve, Springer-Verlag, 1993. 954. A.K. Lenstra, H.W. Lcnstra, Jr., M.S. Manasse, and J.M. Pollard' "The Factorization of the Ninth Fermat Number," Mathematics of Computation. v. 61, n. 203, 1993, pp. 319-349.
955. A.K. Lenstra and M.S. Manasse, "Factoring by Electronic Mail," Advances in Cryptology EUROCRYPT '89 Proceedings, Springcr-Verlag, 1990, pp. 355-371. 956. A.K. Lenstra and M.S. Manasse, "Factoring with Two Large Primes," Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 72-82. 957. H.W. Lenstra Jr. "Elliptic Curves and N umber-Theoretic Algorithms, " Report Mathematisch Instituut, Universiteit van Amsterdam, 1986.
86-19,
958. H.W. Lenstra Jr. "On the Chor-Rivest Knapsack Cryptosystem, " Journal of Cryptology, v. 3, n. 3, 1991, pp. 149-155. 959. W.J. LeVequc, Fundamentals of Number Theory, Addison-Wesley. 1 977. 960. L.A. Levin, "One-Way Functions and Pseudo-Randolll Generators." Proceedi ngs of the 17th ACM Symposium on Theory of Comp uting, 1985, pp. 363-365. 961. Lexar Corporation, "An Evaluation of thc DES," Scp 1976. 962. D.-X. Li, "Cryptanalysts of Public-Kcy Distribution Systcms Based on Dickson Polynomials," Electronics Letters, v. 27, n. 3, 1991, pp. 228-229. 963. F. -X. Li, "How to Break Okamoto's Cryptosystems by Continued Fraction Algorithm," ASIACRYPT '91 Abstracts, 1991, pp. 285-289. 964. Y.X. Li and X.M. Wang, "A Coins Authcntication and Encryption Schemc Bascd on Algebraic Coding Theory," Applied Algebra, Algebraic Algonthms and Error Correcting Codes 9, Springer-Vcrlag, 1991, pp. 241-245. 965. R. Lidl, G.L. Mullen, and G. Turwald, Pitman Monographs and Surveys in Pure and Applied Mathematics 65: Dickson Polynomials, London: Longman Scicntific and Technical, 1993. 966. R. Lidl and W.B. Muller, "Permutation Polynomials in RSA-Cryptosystems, " Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 293-301. 967. R. Lidl and W.B. Mullcr, "Generalizations of the Fibonacci Pseudoprimes Test," Discrete Mathematics, v. 92, 1991, pp. 211-220. 968. R. Lidl and W.B. Muller, "Primality Testing with Lucas Functions," Advances in Cryptology A USCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 539-542. 969. R. Lidl, W.B. Muller, and A. Oswald, "Some Remarks on Strong Fibonacci Pscudoprimes," Applicable Algebra in Engineering, Communication and Computing, v. 1, n. 1, 1990, pp. 59 65.
970. R. Lidl and H. Niederreiter, "Finite Fields," Encyclopedia of Mathematics and its Application.s, v. 20, Addison-Wesley, 1983. 971. R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their Applicatio ns. London: Cambridge Univcrsity Press, 1986. 972. K. Lieberherr, "Unifonn Complexity and Digital Signaturcs," Theoretical Computer Science, v. 16, n. 1, Oct 1981, pp. Y9-] 10. 973. C.H. Lim and RJ. Lee, "A Practical Electronic Cash System for Smart Cards," Proceedings of the 1993 Korea-Japan Workshop on Informatio n Security and Cryptography Seoul, Korea, 24-26 Oct 1993, pp. 34 -47. 974. C.H. Lim and P.J. Lee, "Security of interactive RSA Batch Verification," Electronics Letters, v. 30, n. 19, 15 Sep 1994, pp. 1592-1593. 975. H.-Y. Lin and L. Harn, "A Generalized Secret Sharing Scheme with Cheater Detection," Advances in Cryptology ASIACRYPT '91 Proceedings, Springer -Verlag, 1993, pp. 149158. 976. M.-C. Lin, T.-C. Chang, and H.-L. Fu, "Information Rate of McEliece's Public key Cryptosystem," Electronics Letters, v. 990. 26, n. 1, 4 Jan 1990, pp. 16-18. 977. J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part I Message Encipherment and Authentication Procedures, " RFC 989, Feb 1987. 978. J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part I Message Encipherment and Authentication Procedures, " RFC 1040, Jan 1988. 979. J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part I Message Encipher ment and Authentication Procedures, " RFC 1113, Aug 1989. 980. J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part III Algorithms, Modes, and Identifiers," RFC 1115, Aug 1989. 981. J. Linn, " Privacy Enhancement for Internet Electronic Mail: Part I Message Encipherment and Authentication Procedures, " RFC 1421, Feb 1993. 982. S. Lloyd, "Counting Binary Functions with Certain Cryptographic Properties, " Journal of Cryptology, v. 5, n. 2, 1992, pp. 107-131. 983. T.M.A. Lomas, "Collision-Freedom, Considered Harmful, or How to Boot a Computer," Proceedings of the 1995 Korea-Japan Workshop on Information Secu rity and Cryptography, Inuyama, Japan, 24-26 Jan 1995, pp. 35-42. 984. T.M.A. Lomas and M. Roe, "Forging a Clipper Message, " Communications of the ACM, v. 37, n. 12, 1994, p. 12.
985. D.L. Long, "The Security of Bits in the Discrete Logarithm, " Ph.D. dissertation, University, Jan 1984.
Princeton
986. D.L. Long and A. Wigderson, "How Discrete Is the Discrete Log," Proceedings of the 15th Annual ACM Syposium on the Theory of Computing, Apr 1983. 987. D. Longlcy and S. Rigby, "An Automatic Search for Security Flaws in Key Management Schemes," Computers and Security v. 11, n. 1, Jan 1992. pp. 75-89. 988. S.H. Low, N.F. Maxemchuk, and S. Paul, "Anonymous Credit Cards," Proceedings of the 2nd Annual ACM Conference on Computer and Communications Security, ACM Press, 1994, pp. 108-117. 989. J.H. Loxton, D.S.P Khoo, G.J. Bird, and J. Seberry, "A Cubic RSA Code Equivalent to Factorization," Journal of Cryptology, v. 5, n. 2, 1992, pp. 139-150. 990. S.C. Lu and L.N. Lee, "A Simple and Effective Public-Key Cryptosystem," COMSAT Technical Review, 1979, pp. 15-24. 991. M. Luby, S. Micali and C. Rackoff, "How to Simultaneously Exchange a Secret Bit by Flipping a Symmetrically-Biased Coin, " Proceedings of the 24nd Annual Symposium on the Foundations of Computer Science, 1983, pp. 11-22. 992. M. Luby and C. Rackoff, "How to Construct Pseudo-Random Permutations from Pseudorandom Functions," SIAM lournal on Computing, Apr 1988, pp. 373-386. 993. F. Luccio and S. Mazzone, "A Cryptosystem for Multiple Communications, " Information Processing Letters, v. 10, 1980, pp. 180-183. 994. V Luchangco and K. Koyama, "An Attack on an ID-Based Key Sharing System, Proceedings of the 1993 Korea-Japan Workshop on Information Security and Cryptography, Seoul, Korea, 24-26 Oct 1993, pp. 262-271. 995. D.J.C. MacKay, "A Free Energy Minimization Framework for Inferring the State of a Shift Register Given the Noisy Output Sequence, " K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 996. M.D. MacLaren and G. Marsaglia, "Uniform Random Number Generators," Journal of the ACM v. 12, n. 1, Jan 1965, pp. 83-89. 997. D. MacMillan, "Single Chip Encrypts Data at 14M b/s," Electronics, v. 54, n. 12, 16 June 1981, pp. 161-165. 998. R. Madhavan and L.E. Peppard, "A Multiprocessor GaAs RSA Cryptosystem," Proceedings CCVLSI-89: Canadian Conference on Very Large Scale Integration, Vancouver, BC, Canada, 22-24 Oct 1989, pp. 115-122.
999. W.E. Madryga, "A High Performance Encryption Algorithm," Computer Secu rity: A Global Challenge, Elsevier Science Publishers, 1984, pp. 557-570. 1000. M. Mambo, A. Nishikawa, S. Tsujii, and E. Okamoto, "Efficient Secure Broadcast Communication System," Proceedings of the 1993 Korea- Japan Workshop on Information Security and Cryptography, Seoul, Korea, 24-26 Oct 1993, pp. 23 -33. 1001. M. Mambo, K. Usuda, and E. Okamoto, "Proxy Signatures," Proceedings of the 1995 Sympusium on Cryptography and Information Secunty (SCIS 95), Inuyama, Japan, 24-27 Jan 1995, pp. B1.1.1-17. 1002. W. Mao and C. Boyd, "Towards Formal Analysis of Security Protocols," Proceedings of the Computer Security Foundations Workshop Vl, IEEE Computer Society Press, 1993, pp. 147-158. 1003. G. Marsaglia and T.A. Bray, "On-Line Random Number Generators and their Use in Combinations, " Communications of the ACM, v. 11, n. 11, Nov 1968, p. 757-759. 1004. K.M. Martin, "Untrustworthy Participants in Perfect Secret Sharing Schemes," Cryptography and Coding 111, M.J. Ganley, ed., Oxford: Clarendon Press, 1993, pp. 255-264. 1005. J.L. Massey, "Shift-Register Synthesis and BCH Decoding," IEEE Transactions on Information Theory, v. IT-15, n. 1, Jan 1969, pp. 122-127. 1006. J.L. Massey, "Cryptography and System Theory," Proceedings of the 24th Allerton Conference on Communication, Control, and Computers, 1-3 Oct 1986, pp. 1-8. 1007. J.L. Massey, "An Introduction to Contemporary Cryptology, " Proceedings of the IEEE, v. 76, n. 5., May 1988, pp. 533-549. 1008. J.L. Massey, "Contemporary Cryptology: An Introduction," in Contemporary Cryptology: The Science of Information Integrity , G.J. Simmons, ed., IEEE Press, 1992, pp. 1-39. 1009. J.L. Massey, "SAFER K-64: A Byte-Oriented Block-Ciphering Algorithm," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 1-17. 1010. J.L. Massey, "SAFER K-64: One Year Later," K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 1011. J.L. Massey and I. Ingemarsson, "The Rip Van Winkle Cipher A Simple and Provably Computationally Secure Cipher with a Finite Key," IEEE International Symposium on Information Theory, Brighton, UK, May 1985. 1012. J.L. Massey and X. Lai, "Device for Converting a Digital Block and the Use Thereof, " International Patent PCT/ CH91/00117, 28 Nov 1991.
1013. J.L. Massey and X. Lai, "Device for the Conversion of a Digital Block and Usc of Same," U.S. Patent #5,214,703, 25 May 1993. 1014. J.L. Massey and R.A. Rueppel, "Linear Ciphers and Random Sequence Generators with Multiple Clocks, " Advances in Cryptology: Proceedings of EUROCRYPT 84, SpringerVerlag, 1985, pp. 74-87. 1015. M. Matsui, "Linear Cryptanalysis Method for DES Cipher, " Advances in C ryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 386-397. 1016. M. Matsui, "Linear Cryptanalysis of DES Cipher," Proceedings of the 1993 Symposium on Cryptography and Information Security (SCIS 93), Shuzenji, Japan, 28-30 Jan 1993, pp. 3C.1-14. (In Japanese.) 1017. M. Matsui, "Linear Cryptanalysis Method for DES Cipher " Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS 94), Lake Biwa, Japan, 2729 Jan 1994, pp. 4A.1-11. (In Japanese.) 1018. M. Matsui, "On Correlation Between the Order of the S-Boxes and the Strength of DES," Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-V erlag, 1995, to appear. 1019. M. Matsui, "The First Experimental Cryptanalysis of thc Data Encryption Standard," Advances in Cryptology CRYPTO ' 94 Proceedings , Springer -Verlag, 1994, pp. 1-11. 1020. M. Matsui and A. Yamagishi, "A New Method for Known Plaintext Attack of FEAL Cipher," Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 81 -91. 1021. T. Matsumoto and H. Imai, "A Class of Asymmetric Crypto-Systems Based on Polynomials Over Finite Rings, " IEEE International Symposium on Information Theory, 1983, pp. 131-132. 1022. T. Matsumoto and H. Imai, "On the Key Production System: A Practical Solution to the Key Distribution Problem,'' Advances in Cryptology CRYPTO '87 Proceedings, SpringerVerlag, 1988, pp. 185-193. 1023. T. Matsumoto and H. Imai, "On the Security of Some Key Sharing Schemes (Part 2)," IEICE Japan, Technical Report, ISEC90-28, 1990. 1024. S.M. Matyas, "Digital Signatures . An Overview, " Computer Networks, v. 3, n.2, Apr 1979, pp. 87-94. 1025. S.M. Matyas, "Key Handling with Control Vectors," IBM Systems journal, v. 30, n. 2, 1991, pp. 151-174.
1026. S.M. Matyas, A.V. Le. and D.G. Abraham, "A Key Management Scheme Based on Control Vectors," IBM Systems journal, v .30, n. 2, 1991, pp. 175-191. 1027. S.M. Matyas and C.H. Meyer, "Generation, Distribution, and Installation of Cryptographic Keys," IBM Systems Journal, v. 17, n. 2, 1978, pp. 126-137. 1028. S.M. Matyas, C.H. Meyer, and J. Oseas, "Generating Strong One-Way Functions with Cryptographic Algorithm, " IBM Technical Disclosure Bulletin, v. 27, n. 10A, Mar 1985, pp. 5658-5659. 1029. U.M. Maurer, "Provable Security in Cryptography," Ph.D. dissertation, ETH No. 9260, Swiss Federal Institute of Technology, Zurich, 1990. 1030. U.M. Maurer, "A Provable-Secure Strongly-Randomized Cipher," Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 361-373. 1031. U.M. Maurer, "A Universal Statistical Test for Random Bit Generators, " Advances in Cryptology CRYPTO '90, Proceedings, Springer-Verlag, 1991, pp. 409-420. 1032. U.M. Maurer, "A Universal Statistical Test for Random Bit Generators," Journal Cryptology, v. 5, n. 2, 1992, pp. 89-106.
of
1033. U.M. Maurer and J.L. Massey, "Cascade Ciphers: The Importance of Being First," Journal of Cryptology, v. 6, n. 1, 1993, pp. 55-61. 1034. U.M. Maurer and J.L. Massey, "Perfect Local Randomness in Pseudo-Random Sequences, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 110-112. 1035. U.M. Maurer and Y. Yacobi, "Non interactive Public Key Cryptography, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 498-507. 1036. G. Mayhew, "A Low Cost, High Speed Encryption System and Method," Proceedings of the 1994 IEEE Computer Society Symposium on Research in Security and Privacy, 1994, pp. 147-154. 1037. G. Mayhew, R. Frazee, and M. Bianco, "The Kinetic Protection Device, " Proceedings of the 15th National Computer Security Conference, NIST, 1994, pp. 147-154. 1038. K.S. McCurley, "A Key Distribution System Equivalent to Factoring," Journal of Cryptology, v. 1, n. 2, 1988, pp. 95-106. 1039. K.S. McCurley, "The Discrete Logarithm Problem," Cryptography and Computational Number Theory (Proceedings of the Symposium on Applied Mathematics ), American Mathematics Society, 1990, pp. 49-74.
1040. K.S. McCurley, open letter from the Sandia National Laboratories on the DSA of the NIST, 7 Nov 1991. 1041. R.J. McEliece, "A Public-Key Cryptosystem Based on Algebraic Coding Theory," Deep Space Network Progress Report 42-44, Jet Propulsion Laboratory, California Institute of Technology, 1978, pp. 114-116. 1042. R.J. McEliece, Finite Fields for Computer Scientists and Engineers, Boston: Kluwer Academic Publishers, 1987. 1043. P. McMahon, "SESAME V2 Public Key and Authorization Extensions to Kerberos, " Proceedings of the Internet Society 1Y95 Symposium on Network and Distributed Systems Security, IEEE Computer Society Press, 1995, pp. 114-131. 1044. C.A. Meadows, "A System for the Specification and Analysis of Key Management Protocols," Proceedings of the 1991 IEEE Computer Society Symposium on Research in Security and Privacy, 1991, pp. 182-195. 1045. C.A. Meadows, "Applying Formal Methods to the Analysis of a Key Management Protocol," Journal of Computer Security. v. I, n. 1, 1992,pp.5-35. 1046. C.A. Meadows, "A Model of Computation for the NRL Protocol Analyzer, " Proceedings of the Computer Security Foundations Workshop VII, IEEE Computer Society Press, 1994, pp. 84-89. 1047. C.A. Meadows, "Formal Verification of Cryptographic Protocols: A Survey," Advances in Cryptology ASIACRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 133-150. 1048. G. Medvinsky and B.C. Neuman, "Net Cash: A Design for Practical Electronic Currency on the Internet," Proceedings of the 1st Annual ACM Conference on Computer and Communications Security, ACM Press, 1993, pp. 102-106. 1049. G. Medvinsky and B.C. Neuman, "Electronic Currency for the Internet," Electro nic Markets, v 3, n. 9/10, Oct 1993, pp. 23-24. 1050. W. Meier, "On the Security of the IDEA Block Cipher," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer -Verlag, 1994, pp. 371-385. 1051. W. Meier and O. Staffelbach, "Fast Correlation Attacks on Stream Ciphers," Journal of Cryptology v I n. 3, 1989, pp. 159-176. 1052. W. Meier and O. Staffelbach, "Analysis of Pseudo Random Sequences Generated by Cellular Automata, " Advances in Cryptology EUROCRYPT '91 Proceedings, SpringerVerlag, 1991, pp. 186-199.
1053. W. Meier and O. Staffelbach, "Correlation Properties of Combiners with Memory in Stream Ciphers, " Advances in Cryptology EUROCRYPT '90 Proceedings, SpringerVerlag, 1991, pp. 204-213. 1054. W. Meier and O. Staffelbach, "Correlation Properties of Combiners with Memory in Stream Ciphers, " Journal of Cryptology, v. 5, n. 1, 1992, pp. 67-86. 1055. W. Meier and O. Staffelbach, "The Self -Shrinking Generator," Communications and Cryptography: Two Sides of One Tapestry R.E. Blahut et al., eds., Kluwer Adademic Publishers, 1994, pp. 287-295. 1056. J. Meijers, "Algebraic-Coded Cryptosystems," Master's thesis, Technical University Eindhoven, 1990. 1057. J. Meijers and J. van Tilburg, "On the Rao -Nam Private-Key Cryptosystem Using Linear Codes," International Symposium on Information Theory, Budapest, Hun gary, 1991. 1058. J. Meijers and J. van Tilburg, "An Improved 5T-Attack on the Rao-Nam Private-Key Cryptosystem," International Conference on Finite Fields, Coding Theory, and Advances in Communications and Computing, Las Vegas, NV, 1991. 1059. A. Menezes, Elliptic Curve Public Key Cryptosystems, Kluwer Academic Pub lishers, 1993. 1060. A. Menezes, ed., Applications of Finite Fields, Kluwer Academic Publishers, 1993. 1061. A. Menezes and S.A. Vanstone, "Elliptic Curve Cryptosystems and Their Implementations," Journal of Cryptology, v. 6, n. 4, 1993, pp. 209-224. 1062. A. Menezes and S.A. Vanstone, "The Implementation of Elliptic Curve Cryptosystems, " Advances in Cryptology AUSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 2-13. 1063. R. Menicocci, "Short Gollmann Cascade Generators May Be Insecure," Codes and Ciphers, Institute of Mathematics and its Applications, 1995, pp. 281-297. 1064. R.C. Merkle, "Secure Communication Over Insecure Channels," Communications of the ACM, v. 21, n. 4, 1978, pp. 294-299. 1065. R.C. Merkle, "Secrecy, Authentication, and Public Key Systems," Ph.D. dissertation, Stanford University, 1979. 1066. R.C. Merkle, "Method of Providing Digital Signatures," U.S. Patent #4,309,569, 5 Jan 1982 1067. R.C. Merkle, "A Digital Signature Based on a Conventional Encryption Function," Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 369-378.
1068. R.C. Merkle, "A Certified Digital Signature," Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 218-238. 1069. R.C. Merkle, "One Way Hash Functions and DES, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 428 446. 1070. R.C. Merkle, "A Fast Software One-Way Hash Function," Journal of Cryptology, v. 3, n. 1, 1990, pp. 43-58. 1071. R.C. Merkle, "Fast Software Encryption Functions, " Advances in Cryptology CRYPTO '90, Proceedings, Springer-Verlag, 1991, pp. 476-501. 1072. R.C. Merkle, "Method and Apparatus for Data Encryption," U.S. Patent #5,003,597, 26 Mar 1991. 1073. R.C. Merkle, personal communication, 1993. 1074. R.C. Merkle and M. Hellman, "Hiding information and Signatures in Trapdoor Knapsacks," IEEE Transactions on Information Theory, v. 24, n. 5, Sep 1978, pp. 530.
525-
1075. R.C. Merkle and M. Hellman, "On the Security of Multiple Encryption," Communications of the ACM, v. 24, n. 7, 1981, pp. 465 -467. 1076. M. Merritt, "Cryptographic Protocols," Technology, GIT-ICS-83/6, Feb 1983.
Ph.D. dissertation, Georgia Institute of
1077. M. Merritt, "Towards a Theory of Cryptographic Systems: A Critique of Crypto Complexity," Distributed Computing and Cryptograph y, J. Feigenbaum and M. Merritt, eds., American Mathematical Society, 1991, pp. 203-212. 1078. C.H. Meyer, "Ciphertext/Plaintext and Ciphertext/Key Dependencies vs. Number of Rounds for Data Encryption Standard," AFIPS Conference Proceedings, 47, 1978, pp. 1119-1126. 1079. C.H. Meyer, "Cryptography A State of the Art . Review, " Proceedings of CompEuro '89, VLSI and Computer Peripherals, 3rd Annual European Computer Conference, IEEE Press, 1989, pp. 150-154. 1080. C.H. Meyer and S.M. Matyas, Cryptography: A New Dimension in Computer Data Security, New York: John Wiley & Sons, 1982. 1081. C.H. Meyer and M. Schilling, "Secure Program Load with Manipulation Detection Code, " Proceedings of Securicom '88, 1988, pp. 111-130. 1082. C.H. Meyer and W.L. Tuchman, "Pseudo -Random Codes Can Be Cracked, " Electronic Design, v. 23, Nov 1972.
1083. C.H. Meyer and W.L. Tuchman, "Design Considerations for Cryptography, " Proceedings of the NCC, v. 42, Montvale, NJ: AFIPS Press, Nov 1979, pp. 594-597. 1084. S. Micali, "Fair Public-Key Cryptosystems, " Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 113-138. 1085. S. Micali, "Fair Cryptosystems," MIT/LCS/TR-579.b, MIT Laboratory for Computer Science, Nov 1993. 1086. S. Micali, "Fair Cryptosystems and Methods for Use," U.S. Patent #5,276,737, 4 Jan 1994. 1087. S. Micali, "Fair Cryptosystems and Methods for Use," U.S. Patent #5,315,658, 24 May 1994. 1088. S. Micali and A. Shamir, "An Improvemcnt on the Fiat-Shamir Identification and Signature Scheme," Advances in Cryptollgy CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 244-247. 1089. M.J. Mihajlevic, "A Correlation Attack on the Binary Sequence Generators with TimeVarying Output Function, " Advances in Cryptology ASIACRYPT'94 , Proceedings, Springer-Verlag, 1995, pp. 67-79. 1090. M.J. Mihajlevic and J.D. Golic, "A Fast Iterative Algorithm for a Shift Register Internal State Reconstruction Given the Noisy Output Sequence, " Advances in Cryptology AUSCRYPT '90 Proceedings, Springer-Verlag, 1990, pp. 165-175. 1091. M.J. Mihajlevic and J.D. Golic, "Convergence of a Bayesian Iterative Error-Correction Procedure to a Noisy Shift Register Sequence," Advances in Cryptology , EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 124-137. 1092. J.K. Millen, S.C. Clark, and S.B. Freedman, "The Interrogator: Protocol Security Analysis," IEEE Transactions on Software Engineering, v. SE-13, n.2, Feb 1987, pp.274 288. 1093. G.L. Miller, "Riemann's Hypothesis and Tests for Primality," Journal of Computer Systems Science, v. 13, n. 3, Dec 1976, pp. 300-317. 1094. S.R Miller, B.C. Neuman, J.I. Schiller, and J.H. Saltzer, "Section E.2.1: Kerberos Authentication and Authorization System," MIT Project Athena, Dec 1987. 1095. V.S. Miller, "Use of Elliptic Curves in Cryptography, " Advances in Cryptology '85 Proceedings, Springer-Verlag, 1986, pp. 417-426.
CRYPTO
1096. M. Minsky, Computation: Finite and Infinite Machines, Englewood Cliffs, NJ: PrenticeHall, 1967.
1097. C.J. Mitchell, "Authenticating Multi-Cast Internet Electronic Mail Messages Using a Bidirectional MAC Is Insecure, " draft manuscript, 1990. 1098. C.J. Mitchell, "Enumerating Boolean Functions of Cryptographic Significance," Journal of Cryptology, v. 2, n. 3, 1990, pp. 155-170. 1099. C.J. Mitchell, F. Piper, and P. Wild, "Digital Signatures, " Contemporary Cryptology: The Science of Information Integtit y, G.J. Simmons, ed., IEEE Press, 1 991, pp. 325-378. 1100. C.J. Mitchell, M. Walker, and D. Rush, "CCITT/ISO Standards for Secure Messagc Handling," IEEE Journal on Selected Areas in Communications, v. 7, n. 4, May 1989, pp. 517524. 1101. S. Miyaguchi, "Fast Encryption Algorithm for the RSA Cryptographic System," Proceedings of Compcon 82, IEEE Press, pp. 1115. 672-678. 1102. S. Miyaguchi, "The FEAL-8 Cryptosystem and Call for Attack, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 624-627. 1103. S. Miyaguchi, "Expansion of the FEAL Cipher," NTT Review, v. 2, n. 6, Nov 1990. 1104. S. Miyaguchi, "The FEAL Cipher Family,'' Advances in Cryptology CKYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 627-638. 1105. S. Miyaguchi, K. Ohta, and M. Iwata, " 128- bit Hash Function IN-Hashl," Proceedings of SECURICOM '90, 1990, pp. 127-137. 1106. S. Miyaguchi, K. Ohta, and M. Iwata, " 128- bit Hash Function (N-Hash)," NTT Review, v. 2, n. 6, Nov 1990, pp. 128-132. 1107. S. Miyaguchi, K. Ohta, and M. Iwata, "Confirmation that Some Hash Functions Are Not Collision Free," Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 326-343. 1108. S. Miyaguchi, A. Shiraishi, and A. Shimizu, "Fast Data Encipherment Algorithm FEAL-8," Review of tile Electrical Communication Laboratories, v. 36, n. 4, 1988. 1109. H. Miyano, "Differential Cryptanalysis on CALC and Its Evaluation," Proceedings of the 1992 Symposium on Cryptography and Information Security ISCIS 92, Tateshina, Japan, 2-4 Apt 1992, pp. 7B.1-8. 1110. R. Molva, G. Tsudik, E. van Hcrreweghen, and S. Zatti, "KryptoKnight Authentication and Key Distribution System," Proceedings of European Symposium on Research in completer Security, Toulouse, France, Nov 1992. 1111. P.L. Montgomery, "Modular Multiplication without Trial Division," Mathematics of computation, v. 44, n. 170, 1985, pp. 51Y-521.
1112. RL. Montgomery, "Speeding the Pollard and Elliptic Curve Methods of Factorization," Mathematics of Computation, v.48, n. 177, Jan 19R7, pp. 243-264. 1113. P.L. Montgomery and R. Silverman, "An FFT Extension to the p- l Factoring Algorithm," Mathematics of Computation, v. 54, n. 190, 1990, pp. 839-854. 1114. J.H. Moore, "Protocol Failures in Cryptosystems," Proceedings of the IEEE, v. 76, n. 5, May 1988. 1115. J.H. Moore, "Protocol Failures in Cryptosystems," in Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons, ed., IEEE Press, 1992, pp. 541-558. 1116. J.H. Moore and G.J. Simmons, "Cycle Structure of the DES with Weak and Semi -Weak Keys, " Advances in Cryptology CRYPTO '86 Proceedings, SpringerVerlag, 1987, pp. 332. 1117. T. Moriyasu, M. Moriai, and M. Kasahara, "Nonlinear Pseudorandom Number Generator with Dynamic Structure and Its Properties," Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS 94), Biwako, Japan, 27-29 Jan 1994, pp. 8A.l-ll. 1118. R. Morris, "The Data Encryption Standard Retrospective and Prospects," IEEE Communications Magazine, v. 16, n. 6, Nov 1978, pp. 11-14. 1119. R. Morris, remarks at the 1993 Cambridge Protocols Workshop, 1993. 1120. R. Morris, N.J.A. Sloane, and A.D. Wyner, "Assessment of the NBS Proposed Data Encryption Standard," Cryptologia, v. 1, n. 3, Jul 1977, pp. 281-2 91. 1121. R. Morris and K. Thompson, "Password Security: A Case History," Communications of the ACM, v. 22, n. 11, Nov 1979, pp. 594-597. 1122. S.B. Morris, "Escrow Encryption," lecture at MIT Laboratory for Computer Science, 2 Jun 1994. 1123. M.N. Morrison and J. Brillhart, "A Method of Factoring and the Factorization of F7," Mathematics of Computation, v. 29, n. 129, Jan 1975, pp. 183-205. 1124. L.E. Moser, "A Logic of Knowlcdgc and Belief for Reasoning About Computer Security, "Proceedings of the Computer Security Foundations Workshop 11, IEEE Computer Society Press, 1989, pp. S7 63. 1125. Motorola Government Electronics Division, Advanced Techniques i n Network security' Scottsdale, AZ, 1977.
1126. W.B. Muller, "Polynomial Functions in Modern Cryptology," contrib utions to General Algebra 3: Proceedings of the Vienna Conference, Vienna: Verlag H older-PichlerTempsky' 1985, pp. 7-32. 1127. W.B. Muller and W. Nobauer, "Some Remarks on Public-Key Cryptography, " Studia Scientiarum Mathematicarum Hunga rica, v. 16, 1981, pp. 71-76. 1128. W.B. Muller and W. Nobauer, "Cryptanalysis of the Dickson Scheme," Advances in Cryptology EUROCRYPT '85 Proceedings, Springer-Verlag, 1986, pp. 50-61. 1129. C. Muller-Scholer, "A Microprocessor-Based Cryptoprocessor," IEEE Micro, Oct 1983, pp. 5-15. 1130. R.C. Mullin, E. Nemeth, and N. Weidenhofer, "Will Public Kcy Cryptosystems Live Up to Their Expectations? HEP Implementation of the Discrete Log Codebreaker," ICPP 85, pp. 193-196. 1131. Y. Murakami and S. Kasahara, "An ID-Based Key Distribution Scheme, " IEICE Japan, Technical Report, ISEC90-26, 1990. 1132. S. Murphy, "The Cryptanalysis of FEAL-4 with 20 Chosen Plaintexts, " Journal of Cryptology, v. 2, n. 3, 1990, pp. 145-154. 1133. E.D. Mycrs, "STU-III Multilevel Secure Computer Interface," Proceedings of the Tenth Annual Computer Security Applications Conference, IEEE Computer Society Press, 1994, pp. 170-179. 1134. D. Naccache, "Can O.S.S. be Repaired ? Proposal for a New Practical Signature Scheme," Advances in Cryptology E UROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 233-239. 1135. D. Naccache, D. M'Raihi, D. Raphacli, and S. Vaudenay, "Can D.S.A. be Improved: Complexity Trade-Offs with the Digital Signature Standard, " Advances in Cryptology EUKOCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 1136. Y. Nakao, T. Kaneko, K. Koyama, and R. Terada, "A Study on the Security of RDESCryptosystem against Linear Cryptanalysis," Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography, Inuyama, Japan, 24 -27 Jan 1995, pp. 163-172. 1137. M. Naor, "Bit Commitmcnt Using Pseudo-Randomness," Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 128-136. 1138. M. Naor and M. Yung, "Universal One-Way Hash Functions and Their Cryptographic Application," Proceedings of the 21stAnnual ACM Symposium on the Theory of Computing, 1989, pp. 33 43.
1139. National Bureau of Standards, "Report of the Workshop on Estimation of Significant Advances in Computer Technology, " NBSIR 76-1189, National Bureau of Standards, U.S. Department of Commercc, 21-22 Sep 1976, Dec 1977. 1140. National Bureau of Standards, NBS FIPS PUB 46, "Data Encryption Standard, " National Bureau of Standards, U.S. Department of Commerce, Jan 1977. 1141. National Bureau of Standards, NBS FIPS PUB 46-1, "Data Encryption Standard," U.S. Department of Commerce, Jan 1988. 1142. National Bureau of Standards, NBS FIPS PUB 74, "Guidelines for Implementing and Using the NBS Data Encryption Standard, " U.S. Department of Commerce, Apr 1981. 1143. National Bureau of Standards, NBS FIPS PUB 81, "DES Modes of Operation," U.S. Department of Commerce, Dec 1980. 1144. National Bureau of Standards, NBS FIPS PUB 112, "Password Usage," U.S. Department of Commerce, May 1985. 1145. National Bureau of Standards, NBS FIPS PUB 113, "Computer Data Authentication," U.S. Department of Commerce, May 1985. 1146. National Computer Security Center, "Trusted Network Interpretation of the Trusted Computer System Evaluation Criteria," NCSC-TG-005 Version 1, Jul 1987. 1147. National Computer Security Centcr, "Trusted Datahase Management System Interpretation of the Trusted Computer System Evaluation Criteria, " NCSC-TG-021 Version 1, Apr 1 991. 1148. National Computer Security Center, "A Guide to Understanding Data Rememberance in Automated Information Systems," NCSC-TG-025 Version 2, Sep 1991. 1149. National Institute of Standards and Technology, NIST FIPS PUB XX, "Digital Signature Standard," U.S. Department of Commcrce, DRAFT, 19 Aug 1991. 1150. National Institute of Standards and Technology, NIST FIPS PUB 46-2, "Data Encryption Standard," U.S. Department of Commcrcc, Dec 93. 1151. National Institute of Standards and Technology, NIST FIPS PUB 171, "Key Management Using X9.17," U.S. Departmcnt of Commcrce, Apr 92. 1152. National Institute of Standards and Technology, NIST FIPS PUB 180, "Secure Hash Standard, " U.S. Department of Commerce, May 93. 1153. National Institute of Standards and Technology, NIST FIPS PUB 185, "Escrowed Encryption Standard," U.S. Department of Commerce, Feb 94.
1154. National Institute of Standards and Technology, NIST FIPS PUB 186, "Digital Signature Standard, " U.S. Department of Commerce, May 1994. 1155. National Institute of Standards and Technology," Clipper Chip Technology," 30 Apr 1993. 1156. National Institute of Standards and Technology," Capstone Chip Technology," 30 Apr 1993. 1157. J. Nechvatal, "Public Key Cryptography, " NIST Special Publication 800-2, National Institute of Standards and Technology, U.S. Department of Commerce, Apr 1991. 1158. l. Nechvatal, "Public Key Cryptography," Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons, ed., IEEE Press, 1992, pp. 177-288. 1159. R.M. Needham and M.D. Schroeder, "Using Encryption for Authentication in Large Networks of Computers," Communications of the ACM, v. 21, n. 12, Dec 1978, pp. 993999. 1160. R.M. Ncedham and M.D. Schroeder, "Authentication Revisited," Operating Systems Review, v. 21, n. 1, 1987, p. 7. 1161. D.M. Nessett, "A Critique of the Burrows, Abadi, and Needham Logic," Operating System Review, v. 20, n. 2, Apr 1990, pp. 35-38. 1162. B.C. Ncuman and S. Stubblebine, "A Note on the Use of Timestamps as Nonces, " Operating Systems Review, v. 27, n. 2, Apr 1993, pp. 10-14. 1163. B.C. Neuman and T. Ts'o, "Kerberos: An Authentication Service for Computer Networks," IEEE Communications Magazine, v. 32, n. 9, Sep 1994, pp. 33-38. 1164. L. Neuwirth, "Statement of Lee Nenwirth of Cylink on HR145," submitted to congressional committees considering HR145, Feb 1987. 1165. D.B. Newman, Jr. and R.L. Pickholtz, "Cryptography in the Private Sector," IEEE Communications Magazine, v. 24, n. 8, Aug 1986, pp.7-10. 1166. H. Niederreiter, "A Public-Key Cryptosystem Based on Shift Register Sequences," Advances in Cryptology EZJROCRYPT '85 Proceedings, Springer-Verlag, 1986, pp. 3539. 1167. H. Niederreiter, "Knapsack-Type Cryptosystems and Algebraic Coding Theory," Problems of Control and Information Theory, v. 15, n. 2, 1986, pp. 159-166. 1168. H. Niederreiter, "The Linear Complexity Profile and the Jump Complexity of Keystream Sequences, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 174-188.
1169. V. Niemi, "A New Trapdoor in Knapsacks," Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 405 -411. 1170. V. Niemi and A. Renvall, "How to Prevent Buying of Voters in Computer Elections," Advances in Cryptology ASIACRYPT '94 Proceedings, Springer-Verlag, 1995, pp. 164170. 1171. I. Niven and H.A. Zuckerman, An Introduction to the Theory of Numbers, New York: John Wiley & Sons, 1972. 1172. R. Nobauer, "Cryptanalysts of the Redei Scheme," Contributions to General Algebra 3: Proceedings of the Vienna Conference, Verlag Holder-Pichler-Tempsky, Vienna, 1985, pp. 255-264. 1173. R. Nobauer, "Cryptanalysts of a Public- Key Cryptosystem Based on Dickson-Polynomials," Mathematica Slovaca, v. 38, n. 4, 1988, pp. 309-323. 1174. K. Nogochi, H. Ashiya, Y. Sano, and T. Kaneko, "A Study on Differential Attack of MBAL Cryptosystem," Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS' 94), Lake Biwa, Japan, 27-29 Jan 1994, pp. 14B.1-7. (In Japanese.) 1175. H. Nurmi, A. Salomaa, and L. Santean, "Secret Ballot Elections in Computer Networks," Computers & Security, v. 10, 1991, pp. 553-560. 1176. K. Nyberg, "Construction of Bent Functions and Difference Sets," Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1991, pp. 151-160. 1177. K. Nyberg, "Perfect Nonlinear S-Boxes," Advances in Cryptology EUROCRYPT '91 Proceedings. Springcr-Verlag, 1991, pp. 378-386. 1178. K. Nyberg, "On the Construction of Highly Nonlinear Permutations, " Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag 1991, pp. 92-98. 1179. K. Nyberg, "Differentially Uniform Mappings for Cryptography," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 55-64. 1180. K. Nyberg, "Provable Security against Differential Cryptanalysis," presented at the rump session of Eurocrypt '94, May 1994. 1181. K. Nyberg and L.R. Knudsen, "Provable Secu rity against Differential Cryptanalysis," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, 1993, pp. 566-574. 1182. K. Nyberg and L.R. Knudsen, "Provable Security against Differential Cryptanalysis," Journal of Cryptology, v. 8, n. 1, 1995, pp. 27-37.
1183. K. Nyberg and R.A. Rueppel, "A New Signature Scheme Based on the DSA Giving Message Recovery," 1st ACM Conference on Computer and Communications Secu rity, ACM Press, 1993, pp. 58-61. 1184. K. Nyberg and R.A. Rueppel, "Message Recovery for Signature Schemes Based on the Discrete Logarithm Problem," Advances in Cryptology EUROCRYPT '94 Proceedings, Spnnger-Verlag, 1995, to appear. 1185. L. O'Connor, "Enumerating Nondegenerate Permutations," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 368-377. 1186. L. O'Connor, "On the Distribution of Characteristics in Bijective Mappings, " Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 360-370. 1187. L. O'Connor, "On the Distribution of Characteristics in Composite Permutations, " Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 403-412. 1188. L. O'Connor and A. Klapper, "Algebraic Nonlinearity and Its Application to Cryptography," Journal of Cryptology, v. 7, n.3, 1994, pp. 133-151. 1189. A. Odlyzko, "Discrete Logarithms in Finite Fields and Their Cryptographic Sig nificance," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, pp. 224-314. 1190. A. Odlyzko, "Progress in Integer Factorization and Discrete Logarithms, " unpublished manuscript, Feb 1995. 1191. Office of Technology Assessment, U.S. Congress, "Defending Secrets, Sharing Data: New Locks and Keys for Electronic Communication, " OTA-CIT-310, Washington, D.C.: U.S. Government Printing Office, Oct 1987. 1192. B. O'Higgins, W. Diffie, L. Strawczynski, and R. de Hoog, "Encryption and ISDN a Natural Fit," Proceedings of the 1987 International Switching Symposium. 1987, pp. 863869. 1193. Y. Ohnishi, "A Study on Data Security," Master's thesis, Tohuku University, Japan, 1988. (In Japanese.) 1194. K. Ohta, "A Secure and Efficient Encrypted Broadcast Communication System Using a Public Master Key," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J70-D, n. 8, Aug 1987, pp. 1616-1624. 1195. K. Ohta, "An Electrical Voting Scheme Using a Single Administrator, " IEICE Sp ring National Convention, A-294, 1988, v. 1, p. 296. (In Japanese.)
1196. K. Ohta, "Identity-based Authentication Schemes Using the RSA Cryptosystem," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J72D-II, n. 8, Aug 1989, pp. 612-620. 1197. K. Ohta and M. Matsui, "Differential Attack on Message Authentication Codes," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 200-223. 1198. K. Ohta and T. Okamoto, "Practical Extension of Fiat-Shamir Scheme," Electronics Letters, v. 24, n. 15, 1988, pp. 955-956. 1199. K. Ohta and T. Okamoto, "A Modification of the Fiat-Shamir Scheme," Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 232-243. 1200. K. Ohta and T. Okamoto, "A Digital Multisignature Scheme Bascd on the Fiat-Shamir Scheme, " Advances in Cryptology ASIA CRYPT '91 Rroceedillys, Springer-Verlag, 1993, pp. 139-148. 1201. K. Ohta, T. Okamoto and K. Koyama, "Membership Authentication for Hierarchy Multigroups Using thc Extended Fiat - Shamir Scheme, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 446-457. 1202. E. Okamoto and K. Tanaka, "Key Distribution Based on Identification Information, " IEEE journal on Selected Areas in Com- munication, v. 7, n. 4, May 1989, pp. 481-4 90. 1203. T. Okamoto, "Fast Public-Key Cryptosystems Using Congruent Polynomial Equa tions, " Electronics Letters, v. 22, n. 11, 1986, pp. 581-582. 1204. T. Okamoto, "Modification of a Public -Kcy Cryptosystem," Electronics Letters, v. 23, n. 16, 1987, pp. 814-81S. 1205. T. Okamoto, "A Fast Signature Scheme Based on Congruential Polynomial Operations," IEEE Transactions on Information Theory, v. 36, n. 1, 1990, pp. 47-53. 1206. T. Okamoto, "Provably Secure and Practical Identification Schemes and Corresponding Signature Schemes, " Advances in Cryptology CRYPTO '92 Proceedings, SpringerVerlag, 1993, pp. 31-53. 1207. T. Okamoto, A. Fujioka, and E. Fujisaki, "An Efficient Digital Signature Scheme Based on Elliptic Curve over the Ring Z/p" Advances in Cryptology CRYPTO '92 Proceeding.s, Springer-Verlag, 1993, pp. 54-65. 1208. T. Okamoto, S. Miyaguchi, A. Shiraishi, and T. Kawoaka, "Signed Document Transmission System," U.S. Patent #4,625,076, 25 Nov 1986. 1209. T. Okamoto and K. Ohta, ``Disposablc Zero-Knowlcdge Authentication and Their Applications to Untraceable Electronic Cash," Advances in Cryptology CRYPT O '89 Proceedings, Springer-Verlag, 1990, pp. 134-149.
1210. T. Okamoto and K. Ohta, "How to Utilize the Randomness of zero-Knowlcdgc Proofs," Advances in Cryptology CRYPTO '90 Proceedings, Springcr-Verlag, 1991, pp. 456 475. 1211. T. Okamoto and K. Ohta, "Universal Electronic Cash," Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 324-337. 1212. T. Okamoto and K. Ohta, "Survey of Digital Signature Schemes, " Proceedings of the Third Symposium on State and Progress of Research in Cryptography, Fon dazone Ugo Bordoni, Rome, 1993, pp. 17-29. 1213. T. Okamoto and K. Ohta, "Designated Confirmer Signatures Using Trapdoor Functions," Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS 94), Lake Biwa, Japan, 27-29 Jan 1994, pp. 16B.l-ll. 1214. T. Okamoto and K. Sakurai, "Efficient Algorithms for the Construction of Hyper-elliptic Cryptosystems," Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 267 278. 1215. T. Okamoto and A.Shiraishi, "A Fast Signature Scheme Based on Quadratic Inequalities," Proceedings of the 1985 Symposium on Security and Privacy, IEEE, Apr 1985, pp. 123132. 1216. J.D. Olsen, R.A. Scholtz, and L. Welch, "Bent Function Sequences," IEEE Transactions on Information Theory, v. IT-28, n. 6, Nov 1982, pp. 858-864. 1217. H. Ong and C.P Schnorr, "Signatures through Approximate Representations by Quadratic Forms," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984. 1218. H. Ong and C.R Schnorr, "Fast Signature Generation with a Fiat Shamir-Like Scheme," Advances in Cryptology EUKOCKYPT '9() Proceedings, Springer-Verlag, 1991, pp. 432440. 1219. H. Ong, C.R Schnorr, and A. Shamir, "An Efficient Signature Scheme Based on Polynomial Equations, " Proceedings of the 16th Annual Symposium on the Theory of Computing, 1984, pp. 208 216. 1220. H. Ong, C.P. Schnorr, and A. Shamir, "Efficient Signature Schemes Based on Polynomial Equations," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 37-46. 1221. Open Shop Information Services, OSIS Security Aspects, OS1.S European Working Group, WGI, final report, Oct 1985. 1222. G.A. Orton, M.R Roy, PA. Scott, L.E. Peppard, and S.E. Tavares, "VLSI Implementa tion of Public-Key Encryption Algorithms, " Advances in Cryptology CRYPTO '86 Proceedings, Springcr-Verlag, 1987, pp. 277-301.
1223. H. Orup, E. Svendsen, and E. Anclreasen, "VICTOR An Efficient RSA Hardware Implementation," Advances in Cryptol ogy EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 245-252. 1224. D. Otway and O. Rees, "Efficient and Timely Mutual Authentication'" Operating Systems Review, v. 21, n. 1, 1987, pp. 8-10. 1225. G. Pagels-Fick, " Implementation Issues for Master Key Distribution and Protected Keyload Procedures, " Computers and Security: A Global Challenge, Proceedings of IFIP/SEC '83, North Holland: Elsevier Science Publishers, 1984, pp. 381-390. 1226. C.M. Papadimitriou, Computational Complexity, Addison-Wesley, 1994. 1227. C.S. Park, "Improving Code Rate of McEliece's Public-key Cryptosystem, " Electronics Letters, v. 25, n. 21, 12 Oct 1989, pp. 1466-1467. 1228. S. Park, Y. Kim, S. Lee, and K. Kim, "Attacks on Tanaka's Non-interactive Key Sharing Scheme," Proceedings of the 1995 Symposium on Cryptography and Information Security (SCIS 95), Inuyama, Japan, 24-27 Jan 1995, pp. B3.4.1-4. 1229. S.J. Park, K.H. Lee, and D.H. Won, "An Entrusted Undeniable Signature, " Proceedings of the 1995 Iapan-Korea Workshop on Information Secunty and Cryptography, Inuyama, Japan, 24-27 Jan 1995, pp. 120-126. 1230. S.J. Park, K.H. Lee, and D.H. Won, "A Practical Group Signature," Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography, Inuyama, Japan, 24-27 Jan 1995, pp. 127-133. 1231. S.K. Park and K.W. Miller, "Random Number Generators: Good Ones Are Hard to Find," Communications of the ACM, v. 31, n. 10, Oct 1988, pp. 1192-1201. 1232. J. Patarin, "How to Find and Avoid Collisions for the Knapsack Hash Function," Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag 1994, pp. 305-317. 1233. W. Patterson, Mathematical Cryptology for Computer Scientists and Mathematicians, Totowa, N.J.: Rowman & Littlefield, 1987. 1234. W.H. Payne, "Public Key Cryptography Is Easy to Break," William H. Payne, unpublished manuscript, 16 Oct 90. 1235. T.R Pederson, "Distributed Provers with Applications to Undeniable Signatures, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag 1991, pp. 221242. 1236. S. Peleg and A. Rosenfield, "Breaking Substitution Ciphers Using a Relaxation Algorithm " Communications of the ACM, v. 22, n. 11, Nov 1979, pp. 598-605.
1237. R. Peralta, "Simultaneous Security of Bits in the Discrete Log " Advances in Cryptology EUROCRYPT '85, Springer-Verlag, 1986, pp. 62-72. 1238. I. Peterson, "Monte Carlo Physics: A Cautionary Lesson," Science News, v. 142, n. 25, 19 Dec 1992, p. 422. 1239. B. Pfitzmann, "Fail-Stop Signatures: Principles and Applications," Proceedings of COMPUSEC '91, Eighth World Conference on Computer Security, Audit, and Control, Elsevier Science Publishers, 1991, pp. 125-134. 1240. B. Pfitzmann and M. Waidner, "Formal Aspects of Fail-Stop Signatures," Fakultat fur Informatik, University Karlsruhe, Report 22/90, 1990. 1241. B. Pfitzmann and M. Waidner, "Fail-Stop Signatures and Their Application, " Securicom '91,1991, pp. 145-160. 1242. B. Pfitzmann and M. Waidner, "Unconditional Concealment with Cryptographic Ruggedness," VIS '91 Verlassliche Informationsysteme Proceedings, Darmstadt, Germany, 13-15 March 1991, pp. 3-2-320. (In German.) 1243. B. Pfitzmann and M. Waidner, "How to Break and Repair a 'Provably Secure' Untraceable Payment System," Advances in Cryptology CRYPTO '91 Proceedings, Springer-Verlag, 1992, pp. 338-350. 1244. C.R Pfleeger, Security in Computing, Englewood Cliffs, N.J.: Prentice-Hall, 1989. 1245. S.J.D. Phoenix and RD. Townsend, "Quantum Cryptography and Secure Optical Communication," BT Technology Journal, v. 11, n. 2, Apr 1993, pp. 65-75. 1246. J. Pieprzyk, "On Public-Key Cryptosystems Built Using Polynomial Rings, " Advances in Cryptology EUROCRYPT '85, Springer-Verlag 1986, pp. 73-80. 1247. J. Pieprzyk, "Error Propagation Property and Applications in Cryptography, " IKE Proceedings-E, Computers and Digital Techniques, v. 136, n. 4, Jul 1989, pp. 262-270. 1248. D. Pinkas, T. Parker, and R Kaijser, "SESAME: An Introduction," Issue 1.2, Bull, JCL, and SNI, Sep 1993. 1249. F. Piper, "Stream Ciphers," Elektrotechnic und Maschinenbau, v. 104, n. 12, 1987, pp. 564-668. 1250. V.S. Pless, "Encryption Schemes for Computer Confidentiality," IEEE Transactions on Computing, v. C-26, n. 11, Nov 1977, pp. 1133-1136. 1251. J.B. Plumstead, "Inferring a Sequence Generated by a Linear Congruence," Proceedings of the 23rd IEEE Symposium on the Foundations of Computer Science, 1982, pp. 153-159.
1252. R. Poet, "The Design of Special Purposc Hardware to Factor Large Integers, " Computer Physics Communications, v. 37, 1985, pp. 337-341. 1253. S.C. Pohlig and M.E. Hellman, "An Improved Algorithm for Computing Logarithms in GF(p) and Its Cryptographic Significance," IEEE Transactions on Information Theory, v. 24, n. 1, Jan 1978, pp. 106-111. 1254. J.M. Pollard. "A Monte Carlo Method for Factorization," BIT v. 15, 1975, pp.331-334. 1255. J.M. Pollard and C.P. Schnorr, "An Efficient Solution of the Congruence x+ky= m (mod n)" IEEE Transactions on Infor- mation Theory, v. IT-33, n. 5, Sep 1987, pp. 702-709. 1256. C. Pomerance, "Recent Developments in Primality Testing," The Mathematical Intelligencer, v. 3, n. 3, 1981, pp. 97-105. 1257. C. Pomerance, "The Quadratic Sieve Factoring Algorithm," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, 169-182. 1258. C. Pomerance, "Fast, Rigorous Factorization and Discrete Logarithm Algorithms,'' Discrete Algorithms and Complexity, New York: Academic Press, 1987, pp. 119-143. 1259. C. Pomerance, I W. Smith, and R. Tuler, "A Pipe-Line Architecture for Factoring Large Integers with the Quadratic Sieve Algorithm," SIAM lournal on Computing, v.17, n.2, Apr l988, pp. 387-403. 1260. G.J. Popek and C.S. Kline, "Encryption and Secure Computer Networks," ACM Computing Surveys, v 11, n. 4, Dec 1979, pp. 331-356. 1261. F. Pratt, Secret and Urgent, Blue Ribbon Books, 1942. 1262. B. Preneel, "Analysis and Design of Cryptographic Hash Functions, " Ph.D. dissertation, Katholieke Universiteit Leuven, Jan 1993. 1263. B. Preneel, "Differential Cryptanalysis of Hash Functions Based on Block Ciphers, " Proceedings of the 1st ACM Conference on Computer and Communications Security, 1993, pp. 183-188. 1264. B. Preneel, "Cryptographic Hash Functions," European Transactions on Telecommunications, v 5, n. 4, Jul/Aug 1994, pp. 431 -448. 1265. B. Preneel, personal communication, 1995. 1266. B. Preneel, A. Bosselaers, R. Govaerts, and J. Vandewalle, "Collision-Free Hash Functions Based on Block Cipher Algorithms," Proceedings of the 1989 Carnahan Conference on Security Technology 1989, pp. 203-210.
1267. B. Preneel, R. Govaerts, and J. Vandewalle, "An Attack on Two Hash Functions by Zheng-Matsumoto-Imai, " Advances in Cryptology ASIACRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 535-538. 1268. B. Preneel, R. Govaerts, and J. Vandewalle, "Hash Functions Based on Block Ciphers: A Synthetic Approach, " Advances in Cryptology CRYPTO '93 Proceedings, SpringerVerlag, 1994, pp.368-378. 1269. B. Preneel, M. Nuttin, V. Rijmen, and J. Buelens, "Cryptanalysts of the CFB mode of the DES with a Reduced Number of Rounds," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 212-223. 1270. B. Preneel and V. Rijmen, "On Using Maximum Likelihood to Optimize Recent Cryptanalytic Techniques, " presented at the rump session of EUROCRYPT '94, May 1994. 1271. B. Preneel, W. Van Leekwijck, L. Van Linden, R. Govaerts, and J. Vandewalle, "Propagation Characteristics of Boolean Functions, " Advances in Cryptology EUROCRYPT '90 Proceedings, Springer-Verlag, 1991, pp. 161-173. 1272. W.H. Press, B.R Flannery, S.A. Teukolsky, and W.T. Vetterling, Numerical Recipes in C: The Art of Scientific Computing, Cambridge University Press, 1988. 1273. W. Price, "Key Management for Data Encipherment, " Security: Proceedings of IFIP/SEC '83, North Holland: Elsevier SciencePublishers 1983. 1274. G.R Purdy, "A High-Security Log-in Proce dure," communications of the ACM, v 17, n. 8, Aug 1974, pp. 442-445. 1275. J.-J. Quisquater, "Announcing the Smart -Card with RSA Capability, " Proceedings of the Conference: IC Cards and Applications, Today and Tomorrow, Amsterdam, 1989. 1276. J.-J. Quisquater and C. Couvreur, "Fast Decipherment Algorithm for RSA Public Key Cryptosystem," Electronic Letters, v. 18, 1982, pp. 155-168. 1277. J.-J. Quisquater and J.-R Delescaille, "Other Cycling Tests for DES," Advances Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 255-256.
in
1278. J.-J. Quisquater and Y.G. Desmedt, "Chinese Lotto as an Exhaustive Code-Breaking Machine," Computer. v. 24, n. 11, Nov 1991, pp. 14-22. 1279. J.-J. Quisquater and M. Girault, "2p-bit Hash Functions Using e-bit Symmetric Block Cipher Algorithms, Advances in Cryptology EUROCRYPT '89 Proceedings, SpringerVerlag, 1990, pp. 102-109. 1280. J.-J. Quisquater and L.C. Guillou, "Des Procedes d'Authentification Bases sur une Publication de Problemes Complexes et Personnalises dont les Solutions Maintenues
Secretes Constituent autant d'Accreditations, " Proceedings of SECURICOM '89: 7th Worldwide Congress on Computer and Communications Security and Protection, Societe d'Edition et d'Organisation d'Expositions Professionnelles, 1989, pp. 149-158. (In French.) 1281. J.-J., Myriam, Muriel, and Michael Quisquater; L., Marie Annick, Gaid, Anna, Gwenole, and Soazig Guillou; and T. Berson, "How to Explain Zero-Knowledge Protocols to Your Children," Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag 1990, pp. 628-631. 1282. M.O. Rabin, "Digital Signatures," Foundations of Secure Communication, New York: Academic Press, 1978, pp. 155-168. 1283. M.O. Rabin, "Digital Signatures and Public-Key Functions as Intractable as Factorization, " MIT Laboratory for Computer Science, Technical Report, MlT/LCS/TR 212, Jan 1979. 1284. M.O. Rabin, "Probabilistic Algorithm for Testing Primality," Journal of Number Theory, v. 12, n. 1, Feb 1980, pp. 128-138. 1285. M.O. Rabin, "Probabilistic Algorithms in Finite Fields," SIAM Journal on Computing, v.9, n.2, May 1980, pp.273-280. 1286. M.O. Rabin, "How to Exchange Secrets by Oblivious Transfer," Technical Memo TR 81, Aiken Computer Laboratory, Harvard University, 1981. 1287. M.O. Rabin, "Fingerprinting by Random Polynomials, " Technical Report TR15-81, Center for Research in Computing Technology, Harvard University, 1981. 1288. T. Rabin and M. Ben-Or, "Verifiable Secret Sharing and Multiparty Protocols with Honest Majority," Proceedings of the 21st ACM Symposium on the Theory of Computing, 1989, pp. 73-85. 1289. RAND Corporation, A Million Random Digits with 100,000 Normal Deviates, Glencoe, IL: Free Press Publishers, 1955. 1290. T.R.N. Rao, "Cryposystems Using Algebraic Codes," International Conference on Computer Systems and Signal Processing, Bangalore, India, Dec 1984. 1291. T.R.N. Rao, "On Struit-Tilburg Cryptanalysis of Rao-Nam Scheme," Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 458-460. 1292. T.R.N. Rao and K.H. Nam, "Private-Key Algebraic-Coded Cryptosystems, " Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp.35-48. 1293. T.R.N. Rao and K.H. Nam, "Private-Key Algebraic-Code Encryptions," IEEE Transactions on Information Theory, v. 35, n. 4, Jul 1989, pp. 829-833.
1294. J.A. Reeds, "Cracking Random Number Generator," Cryptologia, v. 1, n. 1, Jan 1977, pp. 20-26. 1295. J.A. Reeds, "Cracking a Multiplicative Congruential Encryption Algorithm, " in Information Linkage Between Applied Mathematics and Industry, P.C.C. Wang, ed., Academic Press, 1979, pp. 467 472. 1296. J.A. Reeds, "Solution of Challenge Cipher," Cryptologia, v. 3, n. 2, Apr 1979, pp. 83-95. 1297. J.A. Reeds and J.L. Manferdelli, "DES Has No Per Round Linear Factors," Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 377-389. 1298. J.A. Reeds and N.J.A. Sloane, "Shift Register Synthesis (Modulo m)," SIAM Journal on Computing, v. 14, n. 3, Aug 1985, pp. 505-513. 1299. J.A. Reeds and P.J. Weinberger, "File Security and the UNIX Crypt Command, " AT &T Technical Journal, v. 63, n. 8, Oct 1984, pp. 1673-1683. 1300. T. Renji, "On Finite Automaton One-Key Cryptosystems," Fast Software Encryption, Cambridge Security Workshop Proceed ings, Springer-Verlag, 1994, pp. 135-148. 1301. T. Renji and C. Shihua, "A Finite Automaton Public Key Cryptosystems and Digital Signature, " Chinese Journal of Computers, v. 8, 1985, pp. 401 -409. (In Chinese.) 1302. T. Renji and C. Shihua, "Two Varieties of Finite Automaton Public Key Cryptosystems and Digital Signature, " Journal of Computer Science and Tecnology, v. 1, 1986, pp. 9-18. (In Chinese.) 1303. T. Renji and C. Shihua, "An Implementation of Identity-based Cryptosystems and Signature Schemes by Finite Automaton Public Key Cryptosystems," Advances in Cryptology CHINACRYPT '92, Bejing: Science Press, 1992, pp.87-104. (In Chinese.) 1304. T. Renji and C. Shihua, "Note on Finite Automaton Public Key Cryptosystems, " CHINACRYPT '94, Xidian, China, 11-15 Nov 1994, pp. 76-80. 1305. Research and Development in Advanced Communication Technologies in Europe, RIPE Integrity Primitives: Final Report of RACE Integrity Primitives Evaluation (R1040), RACE, June 1992. 1306. J.M. Reyneri and E.D. Karnin, "Coin Flipping by Telephone," IEEE Transactions on Information Theory, v. IT-30, n. 5, Sep 1984, pp. 775-776. 1307. P. Ribenboim, The Book of Prime Number Records, Springer-Verlag, 1988. 1308. P. Ribenboim, The Little Book of Big Primes, Springer-Verlag, 1991.
1309. M. Richter, "Fin Rauschgenerator zur Gewinnung won quasi-idealen Zufallszahlen fur die stochastische Simulation," Ph.D. dissertation, Aachen University of Technology, 1992. (In German.) 1310. R.F. Rieden, J.B. Snyder, R.J. Widman, and W.J. Barnard, "A Two-Chip Implementation of the RSA Public Encryption Algorithm," Proceedings of GOMAC (Government Microcircuit Applications Conference), Nov 1982, pp. 24 27. 1311. H. Riesel, Prime Numbers and Computer Methods for Factorization, Boston: Birkhauscr, 1985. 1312. K. Rihaczek, "Data Interchange and Legal Security Signature Surrogates," Computers & Security, v. 13, n. 4, Sep 1994, pp. 287-293. 1313. V. Rilmen and B. Preneel, "Improved Characteristics for Differential Cryptanalysis of Hash Functions Based on Block Ciphers," K.U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear. 1314. R.L. Rivest, "A Description of a Single-Chip Implementation of the RSA Cipher, " LAMBDA Magazine, v. 1, n. 3, Fall 1980, pp. 14-18. 1315. R.L. Rivest, "Statistical Analysis of the Hagelin Cryptograph," Cryptologia, v. 5, n. 1, Jan 1981, pp. 27-32. 1316. R.L. Rivest, "A Short Report on the RSA Chip, " Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, p. 327. 1317. R.L. Rivest, "RSA Chips (Past/Present/ Future), " Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer- Verlag, 1985, pp. 159-168. 1318. R.L. Rivest, "The MD4 Message Digest Algorithm," RFC 1186, Oct 1990. 1319. R.L. Rivest, "The MD4 Message Digest Algorithm," Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 303-311. 1320. R.L. Rivest, "The RC4 Encryption Algorithm, " RSA Data Security, Inc., Mar 1992. 1321. R.L. Rivest, "The MD4 Message Digest Algorithm," RFC 1320, Apr 1992. 1322. R.L. Rivest, "The MD5 Message Digest Algorithm," RFC 1321, Apt 1992. 1323. R.L. Rivest, "Dr. Ron Rivest on the Difficulty of Factoring," Ciphertext: The RSA Newsletter, v. 1, n. 1, Fall 1993, pp. 6, 8. 1324. R.L. Rivest, "The RC5 Encryption Algorithm," Dr. Dobb's Journal, v. 20, n. 1, Jan 95, pp. 146-148.
1325. R.L. Rivest, "The RC5 Encryption Algorithm, " K. U. Leuven Workshop on CryptographicAlgorithms, Springer-Verlag, 1995, to appear. 1326. R.L. Rivest, M.E. Hcllman, J.C. Anderson, and J.W. Lyons, "Responses to NIST's Proposal," Communications of the ACM, v. 35, n. 7, Jul 1992, pp. 41-54. 1327. R.L. Rivest and A. Shamir, "How to Expose an Eavesdropper," Communications of the ACM, v.27, n.4, Apr 1984, pp.393-395. 1328. R.L. Rivest, A. Shamir, and L.M. Adleman, "A Method for Obtaining Digital Signatures and Publie-Key Cryptosystems," Communications of the ACM, v. 21, n. 2, Fe b 1978, pp. 120-126. 1329. R.L. Rivest, A. Shamir, and L.M. Adlcman, "On Digital Signatures and Public Key Cryptosystems," MIT Laboratory for Computer Science, Technical Report, MIT/LCS/TR-212, Jan 1979. 1330. R.L. Rivest, A. Shamir, and L.M. Adleman, "Cryptographic Communications System and Method," U.S. Patent #4,405,829, 20 Sep 1983. 1331. M.J.B. Robshaw, "Implementations of the Search for Pseudo-Collisions in MD5, " Technical Report TR-103, Version 2.0, RSA Laboratories, Nov 1993. 1332. M.J.B. Robshaw, "The Final Report of RACE 1040: A Technical Summary," Technical Report TR-9001, Version 1.0, RSA Laboratories, Jul 1993. 1333. M.J.B. Robshaw, "On Evaluating the Linear Complexity of a Sequence of Least Period 2n,", Designs, Codes and Cryptography, v. 4, n. 3, 1994, pp. 263-269. 1334. M.J.B. Robshaw, "Block Ciphers," Technical Report TR-601, RSA Laboratories, Jul 1994. 1335. M.J.B. Robshaw, "MD2, MD4, MD5, SHA, and Other Hash Functions, " Technical Report TR-101, Version 3.0, RSA Laboratories, Jul 1994. 1336. M.J.B. Robshaw, "On Pseudo-Collisions in MD5," Technical Report TR-102, Version 1.1, RSA Laboratories, Jul 1994. 1337. M.J.B. Robshaw, "Security of RC4," Technical Report TR-401, RSA Laboratories, Jul 1994. 1338. M.J.B. Robshaw, personal communication, 1995. 1339. M. Roe, "Reverse Engineering of an EES Device," K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995, to appear.
1340. P. Rogaway and D. Coppersmith, "A Software-Oriented Encryption Algorithm, " Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 56-63. 1341. H.L. Rogers, "An Overview of the Cand-ware Program, " Proceedings of the 3rd Annual Symposium on Physical/Electronic Security, Armed Forces Communications and Electronics Association, paper 31, Aug 1987. 1342. J. Rompel, "One-Way Functions Are Necessary and Sufficient for Secure Signatures," Proceedings of the 22nd Annual ACM Symposium on the Theory of Computing, 1990, pp. 387-394. 1343. T. Rosati, "A High Speed Data Encryption Processor for Public Key Cryptography, " Proceedings of the IEEE Custom Integrated Circuits Conference, 1989, pp. 12.3.1-12.3.5. 1344. O.S. Rothaus, ''On Bent'Functions,'' Journal of Combinational Theory Series A, v. 20, n. 3, 1976, pp. 300-305. 1345. RSA Laboratories, "PKCS #1: RSA Encryption Standard," version 1.5, Nov 1993. 1346. RSA Laboratories, "PKCS #3: Diffie -Hellman Key-Agreement Standard, " version 1.4, Nov 1993. 1347. RSA Laboratories, "PKCS #5: Password-Based Encryption Standard," version 1.5, Nov 1993. 1348. RSA Laboratories, "PKCS #6: Extended-Certificate Syntax Standard," version 1.5, Nov 1993. 1349. RSA Laboratories, "PKCS #7: Cryptographic Message Syntax Standard," version 1.5, Nov 1993. 1350. RSA Laboratories, "PKCS #8: Private Key Information Syntax Standard, " version 1.2, Nov 1993. 1351. RSA Laboratories, "PKCS #9: Selected Attribute Types," version 1.1, Nov 1993. 1352. RSA Laboratories, "PKCS #10: Certification Request Syntax Standard, " version 1.0, Nov 1993. 1353. RSA Laboratories, "PKCS #11 : Cryptographic Token Interface Standard, " version 1.0, Apr 95. 1354. RSA Laboratories, "PKCS #12: Public Key User Information Syntax Standard," version 1.0, 1995.
1355. A.D. Rubin and P. Honeyman, "Formal Methods for the Analysis of Authentication Protocols," draft manuscript, 1994. 1356. F. Rubin, "Decrypting a Stream Cipher Based on J-K Flip-Flops, " IEEE Transactions on Computing. v. C-28, n. 7, Jul l 97Y, pp. 483 487. 1357. R.A. Rueppel, Analysis and Design of Stream Ciphers, Springer-Verlag, 1986. 1358. R.A. Rueppel, "Correlation Immunity and the Summation Combiner," Advances in Cryptology EUROCRYPT '85, Springer-Verlag, 1986, pp. 260-272. 1359. R.A. Rueppel, "When Shift Registers Clock Themselves," Advances in Cryptology EUROCRYPT '87 Proceedings, Springer-Verlag, 1987, pp. 53-64. 1360. R.A. Rueppel, "Security Models and Notions for Stream Ciphers," Cryptography and Coding 11, C. Mitchell, ed., Oxford: Clarendon Press, 1992, pp. 213 230. 1361. R.A. Rueppel, "On the Security of Schnorr's Pseudo-Random Sequence Generator," Advances in Cryptology EUROCRYPT 89 Proceedings, Springer-Verlag, 1990, pp. 423428. 1362. R.A. Rueppel, "Stream Ciphers," Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons, ed., IEEE Press, 1 992, pp. 65-134. 1363. R.A. Rueppel and J.L. Massey, "The Knapsack as a Nonlinear Function," IEEE International Symposium on Information Theory, Brighton, UK, May 1985. 1364. R. A. Rueppel and O. J. Staffelbaeh, " Products of Linear Recurring Sequences with Maximum Complexity, " IEEE Transactions on Information Theory, v. IT-33, n. 1, Jan 1987, pp. 124-131. 1365. D. Russell and G.T. Gangemi, Computer 1991.
Security Basics, O'Reilly and Associates, Inc.,
1366. S. Russell and P. Craig, "Privacy Enhanced Mail Modules for ELM," Proceedings of the Internet Society 1994 Workshop on Network and Distributed System Security, The Internet Society, 1994, pp. 21-34. 1367. D.F.H. Sadok and J. Kelner, "Privacy Enhanced Mail Design and Implementation Perspectives," Computer Communications Review, v. 24, n. 3, Jul 1994, pp. 38 -46. 1368. K Sakano, "Digital Signatures with User Flexible Reliability," Proceedings of the 1993 Symposium on Cryptography and Information Security (SCIS 93), Shuzenji, Japan, 28-30 Jan 1993, pp. 5C.1-8.
1369. K. Sakano, C. Park, and K. Kunsawa, ''Threshold Undeniable Signature Scheme,'' Proceedings of the 1993 Korea Japan Workshop on Information Security and Cryptography, Seoul, Korea, 24-26 Oct 1993, pp. 184-193. 1370. K. Sako, "Electronic Voting Schemes Allowing Open Objection to the Tally," Transactions of the Institute of Electron ics, Information, and Communication Engineers, v. E77-A, n. 1, 1994, pp. 24-30. 1371. K. Sako and J. Kilian, "Secure Voting Using Partially Compatible Homomorphisms," Advances ill Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, p. 411-424. 1372. K. Sako and J. Kilian, "Receipt-Free Mix-Type Voting Scheme A Practical Solution to the Implementation of a Voting Booth," Advances in Cryptology EUROCRYPT '95 Proceedings, Springer-Verlag, 1'995, pp. 393 -403. 1373. A. Salomaa, Public-Key Cryptography, Springer-Verlag, 1990. 1374. A. Salomaa and L. Santean, "Secret Selling of Secrets with Many Buyers," ETACS Bulletin, v. 42, 1990, pp. 178-186. 1375. M. Santha and U.V Vazirani, "Generating Quasi-Random Sequences from Slightly Random Sources," Proceedings of the 25th Annual Symposium on the Fo undations of Computer Science, 1984, pp. 434-440. 1376. M. Santha and U.V Vazirani, "Generating Quasi-Random Sequences from Slightly Random Sources, " 70lzrnal of Computer and System Sciences, v.33, 1986, pp. 75-87. 1377. S. Saryazdi, "An Extension to EIGamal Public Key Cryptosystem with a New Signature Scheme," Proceedings of the 1990 Bilkent International Conference O n New Trends in Communication, Control, and Signal Processing, North Holland: Elsevier Science Publishers, 1990, pp. 195-198. 1378. J.E. Savage, "Some Simple Self- Synchronizing Digital Data Scramblers." Bell System Technical Journal, v. 46, n. 2, Feb 1967, pp. 448 -487. 1379. B.P Sehanning, "Applying Public Key Distribution to Local Area Networks, " Computers & Security, v. 1, n. 3, Nov 1982, pp. 268-274. 1380. B.P Schanning, S.A. Powers, and J. Kowalchuk, "MEMO: Privacy and Authentication for the Automated Office, " Proceethngs of the 5th Conference on Local Computer Networks, IEEE Press, 1980, pp. 21-30. 1381. L. Schaumuller-Bichl, "Zur Analyse des Data Encryption Standard und Synthese Verwandter Chiffriersysteme," Ph.D. dissertation, Linz University, May 1981. (In German. ) 1382. Sehaumuller-Bichl, "On the Design and Analysis of New Cipher Systems Related to the DES," Technical Report, Linz University, 1983.
1383. A. Scherbius, "Ciphering Machine," U.S. Patent #1,657,411, 24 Jan 1928. 1384. J.I. Schiller, "Secure Distributed Computing," Scientific American, v. 271, n.5, Nov 1994, pp. 72-76. 1385. R. Schlafly, "Complaint Against Exclusive Federal Patent License," Civil Action File No. C-93 20450, United States District Court for the Northern District of California. 1386. B. Schneier, "One-Way Hash Functions," Dr. Dobb's journal, v. 16, n. 9, Sep 1991, pp. 148-151. 1387. B. Schneier, "Data Guardians," MacWorld, v. 10, n. 2, Feb 1993, pp. 145-151. 1388. B. Schneier, "Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish)," Fast Software Encryption, Cambridge Secunty Workshop Proceedings, Springer-Verlag, 1994, pp. 191-204. 1389. B. Schneier, "The Blowfish Encryption Algorithm," Dr. Dobb's Journal, v. 19, n. 4, Apr 1994, pp. 38-40. 1390. B. Schneier. Protect Your Macintosh, Peachpit Press, 1994. 1391. B. Schneier, "Designing Encryption Algorithms for Real People, " Proceedings of the 1994 ACM SIGSAC New Secunty Paradigms Workshop, IEEE Computer Society Press, 1994, pp. 63-71. 1392. B. Schneier, "A Primer on Authentication and Digital Signatures," Computer Secu rity lournal, v. 10, n. 2, 1994, pp. 38-40. 1393. B. Schneier, "The GOST Encryption Algorithm," Dr. Dobb's journal, v. 20, n. 1, Jan 95, pp. 123-124. 1394. B. Schneier, E-Mail Security (with POP and SEM) New York: John Wiley & Sons, 1995. 1395. C.P Schnorr, "On the Construction of Random Number Generators and Random Function Generators," Advances in Cryptology EUROCRYPT '88 Proceedings, SpringerVerlag, 1988, pp. 225-232. 1396. C.P Schnorr, "Efficient Signature General tion for Smart Cards," Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 239-252. 1397. C.P. Schnorr, "Efficient Signature Generation for Smart Cards," Journal of Cryptology,v.4,n.3, 1991,pp. 161-174. 1398. C.P Schnorr, "Method for Identifying Subscribers and for Generating and Verifying Electronic Signatures in a Data Exchange System," U.S. Patent #4,995,082, 19 Feb 1991.
1399. C.P. Schnorr, "An Efficient Cryptographic Hash Function, " presented at the rump session of CRYPTO '91, Aug 1991. 1400. C.P. Schnorr, "FFT-Hash II, Efficient Cryptographic Hashing, " Advances in Cryptology EUROCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 45-54. 1401. C.P. Schnorr and W. Alexi, "RSA-bits are 0.5 + E Secure," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, pp. 113-126. 1402. C.R Schnorr and S. Vaudenay, "Parallel FFT-Hashing," Fast Software Encryption, Cambridge Secunty Workshop Proceedings, Springer-Verlag, 1994, pp. 149-156. 1403. C.P. Schnorr and S. Vaudenay, "Black Box Cryptanalysis of Hash Networks Based on Multipermutations, " Advances in Cryptology EUROCRYPT '94 Proceedings, SpringerVerlag, 1995, to appear. 1404. W. Schwartau, Information Warfare: Chaos on the Electronic Superhighway, New York: Thunders Mouth Press, 1994. 1405. R. Scott, "Wide Open Encryption Design Offers Flexible Implementations," Cryptologia, v. 9, n. 1, Jan 1985, pp. 75-90. 1406. J. Seberry, "A Subliminal Channel in Codes for Authentication without Secrecy, " Ars Combinatorica, v. 19A, 1985, pp. 337-342. 1407. J. Seberry and J. Pieprzyk, Cryptography: An Introduction to Computer Security, Englewood Cliffs, N.l.: Prentice-Hall, 1989. 1408. J. Seberry, X.-M. Zhang, and Y. Zheng, "Nonlinearly Balanced Boolean Functions and Their Propagation Characteristics, " Advances in Cryptology EUROCRYPT '91 Proceedings, Springer-Verlag, 1994, pp. 49-60. 1409. H. Sedlack, "The RSA Cryptography Processor: The First High Speed One-Chip Solution, " Advances in Cryptology EUROCRYPT '87 Proceedings, Springer- Verlag, 1988, pp. 95-105. 1410. H. Sedlack and U. Golze, "An RSA Cryptography Processor," Microprocessing and Microprogramming, v. 18, 1986, pp. 583-590. 1411. E.S. Selmer, Linear Recurrence over Finite Field, University of Bergen, Norway, 1966. 1412. J.O. Shallit, "On the Worst Case of Three Algorithms for Computing the Jacobi Symbol," Journal of Symbolic Computation, v. 10, n. 6, Dec 1990, pp. 593-610.
1413. A. Shamir, "A Fast Signature Scheme,'' MIT Laboratory for Computer Science, Technical Memorandum, MIT/LCS/TM 107, Massachusetts Institute of Technology, Jul 1978. 1414. A. Shamir, "How to Share a Secret," Communications of the ACM, v. 24, n. 11, Nov 1979, pp. 612-613. 1415. A. Shamir, "On the Cryptocomplexity of Knapsack Systems, " Proceedings of the 11th ACM Symposium on the Theory of Computing, 1979, pp. 118-129. 1416. A. Shamir, "The Cryptographic Security of Compact Knapsacks, " MIT Library for Computer Science, Technical Memorandum, MIT/LCS/TM164, Massachusetts Institute of Technology, 1980. 1417. A. Shamir, "On the Generation of Cryptographically Strong Pseudo-Random Sequences, " Lecture Notes in Computer Science 8th International Colloquium On Automata, Languages, and Programming, Springer-Verlag, 1981. 1418. A. Shamir, "A Polynomial Time Algorithm for Breaking the Basic Merkle -Hellman Cryptosystem," Advances in Cryptology: Proceedings of Crypto 82, Plenum Press, 1983, pp. 279-288. 1419. A. Shamir, "A Polynomial Time Algorithm for Breaking the Basic Merkle-Hellman Cryptosystem, " Proceedings of the 23rd IEEE Sym posium on the Foundations of Computer Science, 1982,pp. 145-152. 1420. A. Shamir, "On the Generation of Cryptographically Strong Pseudo-Ranclom Sequences," ACM Transactions on Computer Systems, v. 1, n. l, Fe b 1983, pp. 38-44. 1421. A. Shamir, "A Polynomial Time Algorithm for Breaking the Basic Merkle Hellman Cryptosystem, " IEEE Transactions on Information Theory, v. IT-30, n. 5, Sep 1984, pp. 699-704. 1422. A. Shamir, "Identity-Based Cryptosystems and Signature Schemes, " Advances in Cryptology: Proceedings of CRYPT O '84. Springer-Verlag, 1985, pp. 47-53. 1423. A. Shamir, "On the Security of OES," Advances in Cryptology C RYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 280-281. 1424. A. Shamir, lecture at SECURICOM '89. 1425. A. Shamir, "Efficient Signature Schemes Based on Birational Permutations," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 1-12. 1426. A. Shamir, personal communication, 1993.
1427. A. Shamir and A. Fiat, "Method, Apparatus and Article for Identification and Signature," U.S. Patent #4,748,668, 31 May 1988. 1428. A. Shamir and R. Zippel, "On the Security of the Merkle-Hellman Cryptographic Scheme," IEEE Transactions on Information Theory, v. 26, n. 3, May 1980, pp. 339-340. 1429. M. Shand, R Bertin, and J. Vuillemin, "Hardware Speedups in Long Integer Multiplication," Proceedings of the 2nd Annual ACM Symposium on Parallel Algorithms and Architectures, 1990, pp. 138-145. 1430. D. Shanks, Solved and Unsolved Problems in Number Theory, Washington D.C.: Spartan, 1962. 1431. C.E. Shannon, "A Mathematical Theory of Communication," Bell System Technical Journal. v. 27, n. 4, 1948, pp. 379-423, 623-656. 1432. C.E. Shannon, "Communication Theory of Secrecy Systems," Bell System Technical Journal. v. 28, n. 4, 1949, pp. 656-715 1433. C.E. Shannon, Collected Papers: Claude Elmwood Shannon, N.J.A. Sloane and A.D. Wyner, eds., New York: IEEE Press, 1993. 1434. C.E. Shannon, "Predication and Entropy in Printed English," Bell System Technical journal, v. 30, n. 1, 1951, pp. 50-64. 1435. A. Shimizu and S. Miyaguchi, "Fast Data Encipherment Algorithm FEAL," Transactions of IEICE of Japan, v. J70-1, n. 7, Jul 87, pp. 1413-1423. (In Japanese.) 1436. A. Shimizu and S. Miyaguchi, "Fast Data Encipherment Algorithm FEAL, " Advances in Cryptology EUROCRYPT 87 Proceedings, Springer-Vcrlag, 1988, pp. 267-278. 1437. A. Shimizu and S. Miyaguchi, "FEAL Fast Data Encipherment Algorithm," Systems and Computers in Japan, v. 19, n. 7, 1988, pp. 20-34, 104-106. 1438. A. Shimizu and S. Miyaguchi, "Data Randomization Equipment," U.S. Patent #4,850,019, 18 Jul 1989. 1439. M. Shimada, "Another Practical Public key Cryptosystem, " Electronics Letters, v. 28, n. 23, 5 Nov 1992, pp. 2146-2147. 1440. K. Shirriff, personal communication, 1993. 1441. H. Shizuya, T. Itoh, and K. Sakurai, "On the Complexity of Hyperelliptic Discrete Logarithm Problem," Advances in Cryptology EUROCRYPT '91 Proceedings, SpringerVerlag, 1991, pp. 337-351.
1442. Z. Shmuley, "Composite Diffie-Hellman Publie-Key Generating Systems Are Hard to Break," Computer Science Department, Technion, Haifa, Israel, Technical Report 356, Feb 1985. 1443. PW. Shor, "Algorithms for Quantum Computation: Discrete Log and Factoring," Proceedings of the 35th Symposium on Foundations of Computer Science, 1994, pp. 124134. 1444. L. Shroyer, letter to NIST regarding DSS, 17 Feb 1992. 1445. C. Shu. T. Matsumoto, and H. Imai, "A Multi-Purpose Proof System, Transactions of the Institute of Electronics, Information, and Communication Engineers, v. E75-A, n. 6, Jun 1992, pp. 735-743. 1446. E.H. Sibley, "Random Number Generators: Good Ones Are Hard to Find," Communications of the ACM, v. 31, n. l0, Oct 1988, pp. 1192-1201. 1447. VM. Sidenikov and S.O. Shestakov, "On Encryption Based on Generalized ReedSolomon Codes," Diskretnaya Math, v. 4, 1992, pp. 57-63. (In Russian.) 1448. V.M. Sidenikov and S.O. Shestakov, "On Insecurity of Cryptosystems Based on Generalized Reed-Solomon Codes, " unpublished manuscript, 1992. 1449. D.P Sidbu, "Authentication Protocols for Computer Networks, " Computer Networks and ISDN Systems, v. 11, n. 4, Apr 1 986, pp. 297-310. 1450. T. Siegenthaler, "Gorrelation-Immunity of Nonlinear Combining Functions for Cryptographic Applications, " IEEE Transactions on Information Theory, v. IT-30, n. 5, Sep 1984, pp. 776-780. 1451. T. Siegenthaler, "Decrypting a Class of Stream Ciphers Using Ciphcrtext Only," IEEE Transactions on Computing, v. C-34, Jan 1 985, pp. 81-85. 1452. T. Siegenthaler, "Cryptanalyst's Rcpresentation of Nonlinearity Filtered ml-sequenccs," Advances in Cryptology EUROCRYYT '85, Springer-Verlag, 1986, pp. 103-110. 1453. R.D. Silverman, "The Multiple Polynomial Quadratie Sieve," Mathematics of Compu tation, v. 48, n. 177, Jan 1987, pp. 329-339. 1454. G.J. Simmons, "Authentication without Secrecy: A Secure Communication Pro blem Uniquely Solvable by Asymmetric Encryption Techniques, " Proceedings of IEEE EASCON '79, 1979, pp. 661-662. 1455. G.J. Simmons, "Some Number Theoretic Questions Arising in Asymmetric Encryption Techniques," Annual Meeting of the Ame rican Mathematical .Society, AMS Abstract 763.94.1, 1979, pp. 136-151.
1456. G.J. Simmons, "High Speed Arithmetic Using Redundant Number Systems," Pro ceedings of the National Telecommunications Conference, 1980, pp. 49.3.1 -49.3.2. 1457. G.J. Simmons, "A 'Weak' Privacy Protocol Using the RSA Cryptosystem," Cryptologia, v.7, n,2, Apr 1983, pp.180-182. 1458. G.J. Simmons, "The Prisoner's Problem and the Subliminal Channel," Advances in Cryptology: Proceedings of CRYPTO '83, Plenum Press, 1984, pp. 51-67. 1459. G.J. Simmons, "The Subliminal Channel and Digital Signatures," Advances in Cryptology: Proceedings of EUROCRYPT 84, Springer-Verlag, 1985, pp. 364-378. 1460. G.J. Simmons, "A Secure Subliminal Channel?," Advances in Cryptology Proceedings, Springer-Verlag, 1986, pp. 33 -41.
CRYPTO '85
1461. G.J. Simmons, "Cryptology," Encyclopedia Britannica, 16th edition, 1986, pp. 913-924B. 1462. G.J. Simmons, "How to 'Really' Share a Secret, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1990, pp. 390 448. 1463. G.J. Simmons, "Prepositioned Se cret Sharing Schemes and/or Shared Control Schemes, " Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 436 467. 1464. G.J. Simmons, "Geometric Shares Secret and/or Shared Control Schemes, " Advances in Cryptology CRYPTO '90 Proceedings, Springer-Verlag, 1991, pp. 216-241. 1465. G.J. Simmons, ed., Contemporary Cryptology: The Science o f information Integrity, IEEE Press, 1992. 1466. G.J. Simmons, "An Introduction to Shared Secret and/or Shared Control Schemes and Their Application, " in Contemporary Cryptology: The Science of Information Integrity G.J. Simmons, ed., IEEE Press, 1992, pp. 441 -497. 1467. G.J. Simmons, "How to Insure that Data Acquired to Verify Treaty Compliance Are Trustworthy," in Contemporary Cryptology: The Science of Information Integrity, G.J. Simmons, ed., IEEE Press, 1992, pp. 615-630. 1468. G.J. Simmons, "The Subliminal Channels of the U.S. Digital Signature Algorithm (DSA)," Proceedings of the Third Symposium on: State and Progress of Research in Cryptography, Rome: Fondazone Ugo Bordoni, 1993, pp. 35-54. 1469. G.J. Simmons, "Subliminal Communica tion is Easy Using the USA, " Advances in Cryptology EUROCRYPT '93 Proceedings, Springer-Verlag, 1994, pp. 218-232.
1470. G.J. Simmons, "An Introduction to the Mathematics of Trust in Security Protocols," Proceedings: Computer Security Foundations Workshop VI, IEEE Computer Society Press, 1993, pp. 121-127. 1471. G.J. Simmons, "Protocols that Ensure Fairness," Codes and Ciphers, Institute of Mathematics and its Applications, 1995, pp. 383-394. 1472. G.J. Simmons, "Cryptanalysts and Protocol Failures," Communications of the ACM, v.37, n.11, Nov 1994, pp.56-65. 1473. G.J. Simmons, "Subliminal Channels: Past and Present, " European Transactions on Telecommuncations, v. 4, n. 4, Jul/Aug 1994, pp. 459-473. 1474. G.J. Simmons and M.J. Norris, How to Cipher Fast Using Redundant Number Systems, SAND-80-1886, Sandia National Laboratories, Aug 1980. 1475. A. Sinkov, Elementary Cryptanalysis, Mathematical Association of America, 1966. 1476. R. Siromoney and L. Matthew, "A Public Key Cryptosystem Based on Lyndon Words," Information Processing Letters, v. 35, n. 1, 15 Jun 1990, pp. 33-36. 1477. B. Smeets, "A Note on Sequences Generated by Clock-Controlled Shift Registers," Advances in Cryptology EUKOCRYPT '85, Springer-Vcrlag, 1986, pp. 40 42. 1478. M.E. Smid, "A Key Notarization System for Computer Networks, " NBS Special Report 500-54, U.S. Department of Commerce, Oct 1979. 1479. M.E. Smid, "The DSS and the SHS," Federal Digital Signature Applications Symposium, Rockville, MD, 17-18 Feb 1993. 1480. M.E. Smid and D.K. Branstad, "The Data Encryption Standard: Past and Future, " Proceedings of the IEEE, v. 76, n. 5., May 1988, pp. 550-559. 1481. M.E. Smid and D.K. Branstad, "The Data Encryption Standard: Past and Future," in Contemporary Cryptology: The Science of Information Integrity, G. L. Simmons, ed., IEEE Press, 1992, pp. 43-64. 1482. J.L. Smith, "The Design of Lucifer, A Cryptographic Device for Data Communications, " IBM Research Report RC3326, 1971. 1483. J.L. Smith, "Recirculating Block Cipher Cryptographic System," U.S. Patent #3,796,830, 12 Mar 1974. 1484. J.L. Smith, W.A. Notz, and P.R. Osseck, "An Experimental Application of Cryptography to a Remotely Accessed Data System," Proceedings of the ACM Annual Conference, Aug 1972, pp. 282-290.
1485. K. Smith, "Watch Out Hackers, Public Encryption Chips Are Coming," Electronics Week, 20 May 1985, pp. 30-31. 1486. R Smith, "LUC Public-Key Encryption," Dr. Dobb's journal, v. 18, n. l, Jan 1993, pp. 4449. 1487. P. Smith and M. Lennon, "LUC: A New Public Key System," Proceedings of the Ninth International Conference on Infor- mation Security, IFlP/Sec 1993, North Holland: Elsevier Science Publishers, 1993, pp. 91-111. 1488. E. Snekkenes, "Exploring the BAN Approach to Protocol Analysis," Proceedings of the 1991 IEEE Computer Society Symposium on Research in Security and Privacy, 1991, pp. 171-181. 1489. B. Snow, "Multiple Independent Binary Bit Stream Generator," U.S. Patent #5,237,615, 17 Aug 1993. 1490. R. Solovay and V. Strassen, "A Fast Monte-Carlo Test for Primality, " SIAM journal on Computing, v. 6, Mar 1977, pp. 84-85; erratum in ibid, v. 7, 1978, p. 118. 1491. T. Sorimachi, T. Tokita, and M. Matsui, "On a Cipher Evaluation Method Based on Differential Cryptanalysis," Proceedings of the 1994 Symposium on Cryptography and Information Security (SCIS 94), Lake Biwa, Japan, 27-29 Jan 1994, pp. 4C.l-9. (In Japanese.) 1492. A. Sorkin, "Lucifer, a Cryptographic Algorithm," Cryptologia, v. 8, n. 1, Jan 1984, pp. 2241. 1493. W. Stallings, "Kerberos Keeps the Ethernet Secure, " Data Communications, Oct 1994, pp. 103-111. 1494. W. Stallings, Network and Internetwork Secunty, Englewood Cliffs, N.J.: Prentice Hall, 1995. 1495. W. Stallings, Protect Your Privacy: A Guide for POP Users, Englewood Cliffs, Prentice-Hall, 1995.
N. J.:
1496. Standards Association of Australia, "Australian Standard 2805.4 1985: Electronic Funds Transfer Requirements for Interfaces: Part 4 Message Authentication, " SAA, North Sydney, NSW, 1985. 1497. Standards Association of Australia, "Australian Standard 2805.5 1985: Electronic Funds Transfer Requirements for Interfaces: Part 5 Data Encipherment Algorithm," SAA, North Sydney, NSW, 1985.
1498. Standards Association of Australia, "Australian Standard 2805.5.3: Electronic Data Transfer Requirements for Interfaces: Part 5.3 Data Encipherment Algorithm 2," SAA, North Sydney, NSW, 1992. 1499. J.G. Steiner, B.C. Neuman, and J. J. Schiller, "Kerberos: An Authentication Service for Open Network Systems," USENIX Conference Proceedings, Feb 1988, pp. 191-202. 1500. J. Stern, "Secret Linear Congruential Generators Are Not Cryptographically Secure," Proceedings of the 28th Symposium on Foundations of Computer Science, 1987, pp. 421426. 1501. J. Stern, "A New Identification Scheme Based on Syndrome Decoding," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 13-21. 1502. A. Stevens, "Hacks, Spooks, and Data Encryption," Dr. Dobb's journal, v. 15, n. 9, Sep 1990, pp. 127-134, 147-149. 1503. R. Struik, "On the Rao-Nam Private-Key Cryptosystem Using Non-Linear Codes," IEEE 1991 Symposium on Information Theory, Budapest, Hungary, 1991. 1504. R. Struik and J. van Tilburg, "The Rao- Nam Scheme Is insecure against a ChosenPlaintext Attack, " Advances in Ctyptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 445-457. 1505. S.G. Stubblebine and V.G. Gligor, "Protecting the Integrity of Privacy-Enhanced Mail with DES-Based Authentication Codes," Proceedings of the Privacy and Secunty Research Group 1993 Workshop on Network and Distributed System Security, The Internet Society, 1993, pp. 75-80. 1506. R. Sugarman, "On Foiling Computer Crime," IEEE Spectrum, v. 16, n. 7, Jul 79, pp.31 32. 1507. H.N. Sun and T. Hwang, "Public-key ID- Based Cryptosystem," Proceedings of the 25th Annual 1991 IEEE International Carnahan Conference on Security Technology, Taipei, Taiwan, 1 -3 Oct 1991, pp. 142-144. 1508. RF. Syverson, "Formal Semantics for Logics of Computer Protocols, " Proceedings of the Computer Secunty Foundations Workshop III, IEEE Computer Society Press, 1990, pp. 32 41. 1509. RF. Syverson, "The Use of Logic in the Analysis of Cryptographic Protocols," Proceedings of the 1991 IEEE Computer Society Symposium on Research in Security and Privacy, 1991,pp. 156-170. 1510. RF. Syverson, "Knowledge, Belief, and Semantics in the Analysis of Cryptographic Protocols," journal of Computer Secu rity, v. 1, n. 3, 1992, pp. 317-334.
1511. RF. Syverson, "Adding Time to a Logic Authentication," 1st ACM Conference on Computer and Communications Security, ACM Press, 1993, pp. 97-106. 1512. RF. Syverson and C.A. Meadows, "A Logical Language for Specifying Cryptographic Protocol Requirements, " Proceedings of the 1993 IEEE Computer Society Symposium on Research in Security and Privacy, 1993, pp. 14 -28. 1513. RE Syverson and C.A. Meadows, "Formal Requirements for Key Distribution Protocols," Advances in Cryptology EUROCRYPT '94 Proceedings, Springer-Verlag, 1995, to appear. 1514. RF. Syverson and RC. van Oorschot, "On Unifying Some Cryptographic Protocol Logics," Proceedings of the 1994 IEEE Computer Society Symposium on Research in Security and Privacy, 1994, pp. 165-177. 1515. H. Tanaka, "A Realization Scheme for the Identity-Based Cryptosystem," Advances in Cryptology CRYPTO '87 Proceedings, Springer-Verlag, 1988, pp. 340-349. 1516. H. Tanaka, "A Realization Scheme for the Identity- based Cryptosystem," Electronics and communications in Japan, Part 3 (Fundamental Electronic Science), v. 73, n. 5, May 1990, pp. 1-7. 1517. H. Tanaka, "Identity-Based Noninteractive Common-Key Generation and Its Application to Cryptosystems," Transactions of the Institute of Electronics, Information, and Communication Engineers, v. J75-A, n. 4, Apr 1992, pp. 796-800. 1518. J. Tardo and K. Alagappan, "SPX: Global Authentication Using Public Key Certificates," Proceedings of the 1991 IEEE Computer Society symposiLlm on Security and Privacy, 1991, pp. 232-244. 1519. J. Tardo, K. Alagappan, and R. Pitkin, "Public Key Based Authentication Using Internet Certificates, " USENIX Security 11 Workshop Proceedings, 1990, pp. 121-123. 1520. A. Tardy-Corfdir and H. Gilbert, "A Known Plaintext Attack of FEAL-4 and FEAL-6, " Advances in Cryptology CRYPTO'91 Proceedings, Springer-Verlag, 1992, pp. 172- 182. IS21. M. Tatebayashi, N. Matsuzaki, and D.B. Newman, "Key Distribution Protocol for Digital Mobile Communication System," Advances in Cryptology CRYPTO '89 Proceedings, Springcr-Verlag, 1990, pp. .324- 333. 1522. M. Taylor, "Implementing Privacy Enhanced Mail on VMS," Proceedings of the Privacy and Security Research Group 1993 Workshop o n Network and Distributed System Security, The Internet Society, 1993, pp. 63-68. 1523. R. Taylor, "An Integrity Cheek Value Algorithm for Stream Ciphers," Advances in Cryptology CRYPTO '93 Proceedings, Springer-Verlag, 1994, pp. 40-48.
1524. T. Tedrick "Fair Exchange of Secrets, " Advances in Cryptology: Proceedings of CRYPTO '84, Springer-Verlag, 1985, pp. 434- 448. 1525. R. Terada and P.G. Pinheiro, "How to Strengthen FEAL against Differential Cryptanalysis, " Proceedings of the 1995 Japan-Korea Workshop on Information Security and Cryptography, Innyama, Japan, 24 -27 Jan 1995, pp. 153-162. 1526. J.-P. Tillich and G. Nemor, "Hashing with Sly," Advances in Cryptology CRYPTO '94 Proceedings, Springer-Verlag, 1994, pp. 40 49. 1527. T. Tokita, T. Sorimachi, and M. Matsui, "An Efficient Search Algorithm for the Best Expression on Linear Cryptanalysis." IEICE Japan, Technical Report, ISEC93-97, 1994. 1528. M. Tompa and F. Woll, "Random Self Reducibility and Zero-Knowledge Interactive Proofs of Possession of Information," Proceedings of the 28th IEEE Sy mposium on the Foundations of Computer Science, 1987, pp. 472-482. 1529. M. Tompa and H. Woll, "How to Share a Secret with Cheaters," journal of Cryptology, v. 1, n. 2, 1988, pp. 133-138. 1530. M.-J. Toussaint, "Verification of Cryptographic Protocols, " Ph.D. dissertation, Universite de Liege, 1991. 1531. M.-J. Toussaint, "Deriving the Complete Knowledge of Participants in Cryptographic Protocols," Advances in Cryptology CRYPTO '91 Proceedings, SpringerVerlag, 1992, pp. 24-43. 1532. M.-J. Toussaint, "Separating the Specification and Implementation Phases in Cryptology," ESORICS 92, Proceedings of the Second European Symposium on Research in Computer Security, Springcr-Verlag, 1992, pp. 77-101. 1533. P.D. Townsend, J.G. Rarity, and RR. Tapstcr, "Enhanced Single Photon Fringe Visibility in a 10 km-Long Prototype Quantum Cryptography Channel," Electronics Letters, v. 28, n. 14, S Jul 1993, pp. 1291 1534. S.A. Tretter, "Properties of PN2 Sequences," IEEE Transactions on Information Theory, v. IT-20, n. 2, Mar 1974, pp. 295-297. 1535 H. Truman, "Memorandum for : The Secretary of State, The Secretary of Defensc," A 20707 5/4/54/OSO, NSA TS CONTL. NO 73- 00405, 24 Oct 1952. 1536. Y.W. Tsai and T. Hwang, "ID Based Public Key Cryptosystem Based on Okamoto and Tanaka's ID Based Onc-Way Communications Scheme," Electronics Letters, v. 26, n. 10, 1 May 1990, pp. 666- 668. 1537. G. Tsudik, "Message Authentication with One-Way Hash Functions," ACM Comp uter Communications Review, v. 22, n. 5, 1992, pp. 29 - 38.
1560. J. van Tilburg, "Cryptanalysts of the Xinmei Digital Signature Scheme," Electronics Letters, v. 28, n. 20, 24 Sep 1992, pp. 1935-1938. 1561. J. van Tilburg, "Two Chosen-Plaintext Attacks on the Li Wang Joing Authentication and Encryption Scheme, " Applied Algebra, Algebraic Algorithms and Error Correcting Codes 10, Springer-Verlag, 1993, pp. 332-343. 1562. J. van Tilburg, "Security-Analysis of a Class of Cryptosystems Based on Linear ErrorCorrecting Codes, " Ph.D. dissertation, Technical University Eindhoven, 1994. 1563. A. Vandemeulebroecke, E. Vanzieleghem, T. Denayer, and RG. Jespers, "A Single Chip 1024 Bits RSA Processor," Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 219-236. 1564. J. Vanderwalle, D. Chaum, W. Fumy, C. Jansen, P. Landroek, and G. Roelofsen, "A European Call for Cryptographic Algorithms: RIPE; RACE Integrity Primitives Evaluation, " Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, pp. 267-271. 1565. V. Varadharajan, "Verification of Network Security Protocols," Computers and Security, v. 8, n. 8, Aug 1989, pp. 693-708. 1566. V. Varadharajan, "Use of a Formal Description Technique in the Specification of Authentication Protocols, " Computer Standards and Interfaces, v. 9, 1990, pp. 203-215. 1567. S. Vaudenay, "FFT-Hash-II Is not Yet Collision-Free," Advances in Cryptology CRYPTO '92 Proceedings, Springer-Verlag, pp. 587-593. 1568. S. Vaudenay, "Differential Cryptanalysis of Blowfish, " unpublished manuscript, 1995. 1569. U.V. Vazirani and V.V. Vazirani, "Trapdoor Pseudo-Random Number Generators with Applications to Protocol Design, " Proceedings of the 24th IEEE Symposium on the Foundations of Computer Science, 1983, pp. 23-30. 1570. U.V. Vazirani and V.V. Vazirani, "Efficient and Secure Pseudo-Random Number Generation," Proceedings of the 25th IEEE Symposium on the Foundations of Computer Science, 1984, pp. 458 463. 1571. U.V. Vazirani and V.V. Vazirani, "Efficient and Secure Pseudo-Random Number Generation," Advances in Cryptology: Proceedings of CR YP TO '84, Springer -Verlag, 1985, pp. 193-202. 1572. I. Verbauwhede, F. Hoornaert, J. Vanderwalle, and H. De Man, "ASIC Cryptographical Processor Based on DES," Euro ASIC '91 Proceedings, 1991, pp. 2 92-295.
1573. I. Verbanwhede, F. Hoornaert, J. Vanderwalle, H. De Man, and R. Govaerts, "Security Considerations in the Design and Implementation of a New DES Chip, " Advances in Cryptology EUROCRYPT '87 Proceedings, Springcr-Verlag, 1988, pp. 287-300. 1574. R. Vogel, "On the Linear Complexity of Caseaded Sequences," Advances in Cryptology: Proceedings oi EUROCRYPT 84, Springer-Verlag, 1985, pp. 99- 109. 1575. S. von Solms and D. Naccache, "On Blind Signatures and Perfect Crimes," Computers & Security, v. 11, 1992, pp. 581-583. 1576. V.L. Voydock and S.T. Kent, "Security Meehanisms in High-Level Networks, " ACM Computing Surveys, v. 15, n. 2, Jun 1983, pp. 135-171. 1577. N.R. Wagner, RS. Putter, and M.R. Cain, "Large-Scale Randomization Techniques," Advances in Cryptology CRYPTO '86 Proceedings, Springer-Verlag, 1987, pp. 393 -404. 1578. M. Waidner and B. Pfitzmann, "The Dining Cryptographers in the Disco: Unconditional Sender and Recipient Untraceability with Computationally Secure Serviceability," Advances in Cryptology EUROCRYPT '89 Proceedings, Springer-Verlag, 1990, p. 690. 1579. S.T. Walker, "Software Key Escrow A Better Solution for Law Enforcement's Needs ?" TIS Report #533, Trusted Information Systems, Aug 1994. 1580. S.T. Walker, "Thoughts on Key Eserow Acceptability, " TIS Report #534D, Trusted Information Systems, Nov 1994. 1581. S.T. Walker, S.B. Lipner, C.M. Ellison, D.K. Branstad, and D.M. Balenson, "Commercial Key Escrow Something for Everyone Now and for the Future," TIS Report #541, Trusted Information Systems, Jan 1995. 1582. M.Z. Wang and J.L. Massey, "The Characteristics of All Binary Sequences with Perfect Linear Complexity Profiles," Abstracts of Papers, EUROCRYPT '86. 20-22 May 1986. 1583. E.J. Watson, "Primitive Polynomials (Mod 2 )," Mathematics of Computation, v. 16, 1962, p. 368. 1584. P. Wayner, "Mimic Functions," Cryptologia, v. 16, n. 3, Jul 1992, pp. 193-214. 1585. P. Wayner, "Mimic Functions and Tractability, " draft manuscript, 1993. 1586. A.F. Webster and S.E. Tavares, "On the Design of S-Boxes," Advances in Cryptology CRYPTO '85 Proceedings, Springer-Verlag, 1986, pp. 523-534. 1587. G. Welchman, The Hut Six Story: Breaking the Enigma Codes, New York: 1982.
McGraw-Hill,
1588. A.L. Wells Jr., "A Polynomial Form for Logarithms Modulo a Prime," IEEE Transactions on Information Theory Nov 1984, pp. 845-846. 1589. D.J. Wheeler, "A Bulk Data Encryption Algorithm," Fast Software Encryption, Cambridge Security Workshop Proceedings, Springer-Verlag, 1994, pp. 127-134. 1590. D.J. Wheeler, personal communication, 1994. 1591. D.J. Wheeler and R. Needham, "A Large Block DES-Like Algorithm," Technical Report 35S, "Two Cryptographic Notes," Computer Laboratory, University of Cambridge, Dec 1994, pp. 1-3. 1592. D.J. Wheeler and R. Needham, "TEA, A Tiny Encryption Algorithm, " Technical Report 355, "Two Cryptographic Notes," Computer Laboratory, University of Cambridge, Dee 1994, pp. 1-3. 1593. S.R. White, "Covert Distributed Processing with Computer Viruses, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 616-619. 1594. White House, Office of the Press Secretary, "Statement by the Press Secretary," 16 Apr 1993. 1595. B.A. Wichman and I.D. Hill, "An Efficient and Portable Pseudo-Random Number Generator," Applied Statistics, v. 31, 1982, pp. 188-190. 1596. M.J. Wiener, "Cryptanalysts of Short RSA Secret Exponents," IEEE Transactions on Information Theory, v. 36, n. 3, May 1990, pp. 553-5.58. 1597. M.J. Wiener, "Efficient DES Key Search." presented at the rump session of CRYPTO '93, Aug 1993. 1598. M.J. Wiener, "Efficient DES Key Search," TR-244, School of Computer Science, Car leton University, May 1994. 1599. M.V. Wilkes, Time-Sharing Computer Systems, New York: American Elsevier, 1968. 1600. E.A. Williams, An Invitation to C ryptograms, New York: Simon and Schuster, 1959. 1601. H.C. Williams, "A Modification of the RSA Public-Key Encryption Procedure, " IEEE Transactions on Information Theory, v. IT-26, n. 6, Nov 1980, pp. 726-729. 1602. H.C. Williams, "An Overview of Factoring," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 71-80. 1603. H.C. Williams, "Some Public-Key Crypto-Functions as Intractable as Factorization, " Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, pp. 66-70.
1604. H.C. Williams, "Some Public-Key Crypto-Functions as Intractable as Factorization," Cryptologia, v. 9, n. 3, Jul 1985, pp. 223-237. 1605. H.C. Williams "An M3 Public-Key Encryption Scheme," Advances in Cryptology CRYPTO 85, Springer-Verlag, 1986, pp. 358-368. 1606. R.S. Winternitz, "Producing One-Way Hash Functions from DES," Advances in Cryptology: Proceedings of Crypto 83, Plenum Press, 1984, pp. 203-207. 1607. R.S. Winternitz, "A Secure One-Way Hash Function Built from DES," Proceedings of the 1984 Symposium on Security and Privacy, 1984, pp. 88-90. 1608. S. Wolfram, "Random Sequence Generation by Cellular Automata," Advances in Applied Mathematics, v. 7, 1986, pp. 123-164. 1609. S. Wolfram, "Cryptography with Cellular Automata, " Advances in Cryptology '85 Proceedings , SpringerVerl ag, 1986, pp. 429 -432.
CRYPTO
1610. T.Y.C. Woo and S.S. Lam, "Authentication for Distributed Systems," Computer, v. 25, n. 1, Jan 1992, pp. 39-52. 1611. T.Y.C. Woo and S.S. Lam, "'Authentication Revisited," Computer, v. 25, n.3, Mar 1992, p. 10. 1612. T.Y.C. Woo and S.S. Lam, "A Semantic Model for Authentication Protocols," Procee dings of the 1993 IEEE Computer Society Symposium on Research in Security and Privacy 1993, pp. 178-194. 1613. M.C. Wood, technical report, Cryptech, Inc., Jamestown, NY, Jul 1990. 1614. M.C. Wood, "Method of Cryptographically 1628. Transforming Electronic Digital Data from One Form to Another," U.S. Patent #5,003,596, 26 Mar 1991. 1615. M. C. Wood, personal communication, 1993. 1616. C.K. Wu and X.M. Wang, "Determination of the True Value of the Euler Totient Function in the RSA Cryptosystem from a Set of Possibilities," Electronics Letters, v. 29, n. 1, 7 Jan 1993, pp. 84-85. 1617. M.C. Wunderlich, "Recent Advances in the Design and Implementation of Large Integer Factorization Algorithms, " Proceedings of 1983 Symposium on Security and Privacy, IEEE Computer Society Press, 1983, pp. 67-71. 1618. Xerox Network System (XNS) Authentication Protocol, XSIS 098404, Xerox Corporation, Apr 1984.
1619. Y.Y. Xian, "New Public Key Distribution System," Electronics Letters, v. 23, n. 11, pp. 560-561.
1987,
1620. L.D. Xing and L.G. Sheng, "Cryptanalysts of New Modified Lu-Lee Cryptosystems," Electronics Letters, v. 26, n. 19, 13 Sep 1990, p. 1601-1602. 1621. W. Xinmei, "Digital Signature Scheme Based on Error-Correcting Codes, " Electronics Letters, v. 26, n. 13, 21 Jun 1990, p. 1634. 898-899. 1622. S.B. Xu, INK. He, and X.M. Wang, "An Implementation of the GSM General Data Encryption Algorithm A5, " CHINACRYPT '94, Xidian, China, 11-15 Nov 1994, pp. 287291. (In Chinese.) 1623. M. Yagisawa, "A New Method for Realizing Public-Key Cryptosystem," Cryptologia, v. 9, n. 4, Oct 1985, pp. 360-380. 1624. C.H. Yang, "Modular Arithmetic Algorithms for Smart Cards, " IEICE Japan, Technical Report, ISEC92-16, 1992. 1625. C.H. Yang and H. Morita, "An Efficient Modular-Multiplication Algorithm for Smart-Card Software Implementation, " IEICE Japan, Technical Report, ISEC91-58, 1991. 1626. J.H. Yang, K.C. Zeng, and Q.B. Di, "On the Construction of Large S-Boxcs, " CHINACRYPT'94, Xidian, China, 11-15 Nov 1994, pp. 24-32. (In Chinese.) 1627. A.C.-C. Yao, "Protocols for Securc Computations, " Proceedings of the 23rd IEEE Symposium on the Foundations of Computer Science, 1982, pp. 160 -164. 1628. B. Yee, "Using Secure Coprocessors, " Ph.D. dissertation, School of Computer Science, Carnegie Mellon University, May 1994. 1629. S.-M. Yen, "Design and Computation of Public Key Cryptosystems," Ph. D. dissertation, National Cheng Hung University, Apr 1994. 1630. S.-M. Yen and C.-S. Lai, "New Digital Signature Scheme Based on the Discrete Logarithm," Electronics Letters, v. 29, n. 12, 1993, pp. 1120-1121. 1631. K. Yin and K. Peterson, "A Single-Chip VLSI Implementation of the Discrete Exponential Public-Key Distribution System, " IBM Systems journal, v. 15, n. 1, 1982, pp. 102-116. 1632. K. Yiu and K. Peterson, "A Single-Chip VLSI Implementation of the Discrete Exponential Public-Key Distribution System," Proceedings of Government Microcircuit Applications Conference, 1982, pp. 18-23. 1633. H.Y. Youm, S.L. Lee, and M.Y. Rhee, "Practical Protocols for Electronic Cash," Proceedings of the 1993 Korea-Japan Workshop on Information Security and Cryptography Seoul, Korea, 24-26 Oct 1993, pp. 10-22.
1634. M. Yung, "Cryptoprotocols: Subscriptions to a Public Key, the Secret Blocking, and the Multi-Player Mental Poker Game, " Advances in Cryptology: Proceedings of CRYPTO 84, Springer-Verlag, 1985, 439-453. 1635. G. Yuval, "How to Swindle Rabin," Cryptologia, v. 3, n. 3, Jul 1979, pp. 187-190. 1636. K.C. Zeng and M. Huang, "On the Linear Syndrome Method in Cryptanalysis, " Advances in Cryptology CRYPTO '88 Proceedings, Springer-Verlag, 1 990, pp. 469-478. 1637. K.C. Zeng, M. Huang, and T.R.N. Rao, "An Improved Linear Algorithm in Cryptanalysis with Applications, " Advances in Cryptology CRYPT O '90 Proceedings, Springer-Verlag, 1991, pp. 34-47. 1638. K.C. Zeng, C.-H. Yang, and T.R.N. Rao, "On the Linear Consistency Test ILCTl in Cryptanalysis with Applications," Advances in Cryptology CRYPT O '89 Proceedings, Springer-Verlag, 1990, pp. 164-174. 1639. K.C. Zeng, C.-H. Yang, L. Wei, and T. R.N. Rao, "Pseudorandom Bit Generators in Stream-Cipher Cryptography, " IEEE Computer, v. 24, n. 2, Feb libel, pp. 5-17. 1640. M. Zhang, S.E. Tavares, and L.L. Campbell, "Information Leakage of Boolean Functions and Its Relationship to Other Cryptographic Criteria," Proceedings of the 2nd Annual ACM Conference on Computer and Communications Security, ACM Press, 1994, pp. 156-165. 1641. M. Zhang and G. Xiao, "A Modified Dcsign Criterion for Stream Ciphers," CHINACRYPT'94, Xidian, China, 11-15 Nov 1994, pp. 201-209. (In Chinese.) 1642. Y. Zheng, T. Matsumoto, and H. Imai, "Duality between two Cryptographic Primitives," Papers of Technical Group for Information Security, IEICE of Japan, Mar 1989, pp. 47-57. 1643. Y. Zhcng, T. Matsumoto, and H. Imai, "Impossibility and Optimality Results in Constructing Pseudorandom Permutations," Advances in Cryptology EURO CRYPT '89 Proceedings, Springer-Verlag. 1990, pp. 412-422. 1644. Y. Zheng, T. Matsumoto, and H. Imai, "On the Construction of Block Ciphers Provably Sccurc and Not Relying on Any Unproved Hypotheses, " Advances in Cryptology CRYPTO '89 Proceedings, Springer-Verlag, 1990, pp. 461-480. 1645. Y. Zheng, T. Matsumoto, and H. Imai, "Duality hctwccn two Cryptographic Primitives," Proceedings of the 8th International Conference on Applied Algebra. Algebraic Algorithms and Error-Correcting Codes, Springer-Verlag, 1991, pp. 379-390. 1646. Y. Zheng, J. Pieprzyk, and J. Seberry, "HAVAL A One-Way Hashing Algorithm with Variable Length of Output, " Advances in Crytology AUSCRYPT '92 Proceedings, Springer-Verlag, 1993, pp. 83-104.
1647. N. Zierler, "Linear Recurring Sequences," Journal Soc. Indust. Appl. Math., v. 7, n 1, Mar 1959, pp. 31 48. 1648. N. Zierler, "Primitive Trinomials Whose Degree Is a M ersenne Exponent," Information and Control, v. 15, 1969, pp. 67-69. 1649. N. Zierler and J. Brillhart, "On Primitive Trinomials (mod 2)," Information and Control, v. 13, n. 6, Dec 1968, pp. 541-544. 1650. N. Zicrlcr and W.H. Mills, "Products of Linear Recurring Scqucnces," Journal of Algebra, v. 27, n. 1, Oct 1973, pp. 147-157. 1651. C. Zimmer, "Perfect Gibberish," Discover, v. 13, n. 12, Dec 1992, pp. 92-99. 1652. P. Zimmermann, The Official PGP User's Guide, Boston: MIT Press, 1995. 1653. P. Zimmermann, PGP Source Code and Internals, Boston: MIT Press, 1995.
×àñòü V Èñõîäíûå êîäû 1. 2. 3. 4. 5. 6. 7. 8. 9.
DES LOKI91 IDEA GOST BLOWFISH 3-WAY RC5 A5 SEAL
DES #define EN0 #define DE1
0 1
/* MODE == encrypt */ /* MODE == decrypt */
typedef struct { unsigned long ek[32]; unsigned long dk[32]; } des_ctx; extern void deskey(unsigned char *, short); /* hexkey[8] MODE * Sets the internal key register according to the hexadecimal * key contained in the 8 bytes of hexkey, according to the DES, * for encryption or decryption according to MODE. */ extern void usekey(unsigned long *); /* cookedkey[32] * Loads the internal key register with the data in cookedkey. */ extern void cpkey(unsigned long *); /* cookedkey[32] * Copies the contents of the internal key register into the storage * located at &cookedkey[0]. */ extern void des(unsigned char *, unsigned char *); /* from[8] to[8] * Encrypts/Decrypts (according to the key currently loaded in the * internal key register) one block of eight bytes at address 'from' * into the block at address 'to'. They can be the same. */ static static static static
void void void void
scrunch(unsigned char *, unsigned long *); unscrun(unsigned long *, unsigned char *); desfunc(unsigned long *, unsigned long *); cookey(unsigned long *);
static static static static
unsigned long KnL[32] = { 0L }; unsigned long KnR[32] = { 0L }; unsigned long Kn3[32] = { 0L }; unsigned char Df_Key[24] = { 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10, 0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67 };
static unsigned short bytebit[8] = { 0200, 0100, 040, 020, 010, 04, 02, 01 }; static unsigned long 0x800000L, 0x80000L, 0x8000L, 0x800L, 0x80L, 0x8L,
bigbyte[24] = { 0x400000L, 0x200000L, 0x40000L, 0x20000L, 0x4000L, 0x2000L, 0x400L, 0x40L, 0x4L, 0x2L,
0x100000L, 0x10000L, 0x1000L, 0x200L, 0x20L, 0x1L };
0x100L, 0x10L,
/* Use the key schedule specified in the Standard (ANSI X3.92-1981). */ static unsigned char pc1[56] = 56, 48, 40, 32, 24, 16, 9, 1, 58, 50, 42, 34, 62, 54, 46, 38, 30, 22, 13, 5, 60, 52, 44, 36,
{ 8, 26, 14, 28,
0, 18, 6, 20,
57, 49, 41, 33, 25, 17, 10, 2, 59, 51, 43, 35, 61, 53, 45, 37, 29, 21, 12, 4, 27, 19, 11, 3 };
static unsigned char totrot[16] = { 1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 }; static unsigned char pc2[48] = { 13, 16, 10, 23, 0, 4, 22, 18, 11, 3, 25, 7, 40, 51, 30, 36, 46, 54, 43, 48, 38, 55, 33, 52,
2, 27, 14, 5, 20, 9, 15, 6, 26, 19, 12, 1, 29, 39, 50, 44, 32, 47, 45, 41, 49, 35, 28, 31 };
void deskey(key, edf) /* Thanks to James Gillogly & Phil Karn! */ unsigned char *key; short edf; { register int i, j, l, m, n; unsigned char pc1m[56], pcr[56]; unsigned long kn[32]; for ( j = 0; j < 56; j++ ) { l = pc1[j]; m = l & 07; pc1m[j] = (key[l >> 3] & bytebit[m]) ? 1 : 0; } for( i = 0; i < 16; i++ ) { if( edf == DE1 ) m = (15 - i) << 1; else m = i << 1; n = m + 1; kn[m] = kn[n] = 0L; for( j = 0; j < 28; j++ ) { l = j + totrot[i]; if( l < 28 ) pcr[j] = pc1m[l]; else pcr[j] = pc1m[l - 28]; } for( j = 28; j < 56; j++ ) { l = j + totrot[i];
}
if( l < 56 ) pcr[j] = pc1m[l]; else pcr[j] = pc1m[l - 28]; } for( j = 0; j < 24; j++ ) { if( pcr[pc2[j]] ) kn[m] |= bigbyte[j]; if( pcr[pc2[j+24]] ) kn[n] |= bigbyte[j]; } } cookey(kn); return;
static void cookey(raw1) register unsigned long *raw1; { register unsigned long *cook, *raw0; unsigned long dough[32]; register int i;
}
cook = dough; for( i = 0; i < 16; i++, raw1++ ) { raw0 = raw1++; *cook = (*raw0 & 0x00fc0000L) << 6; *cook |= (*raw0 & 0x00000fc0L) << 10; *cook |= (*raw1 & 0x00fc0000L) >> 10; *cook++ |= (*raw1 & 0x00000fc0L) >> 6; *cook = (*raw0 & 0x0003f000L) << 12; *cook |= (*raw0 & 0x0000003fL) << 16; *cook |= (*raw1 & 0x0003f000L) >> 4; *cook++ |= (*raw1 & 0x0000003fL); } usekey(dough); return;
void cpkey(into) register unsigned long *into; { register unsigned long *from, *endp;
}
from = KnL, endp = &KnL[32]; while( from < endp ) *into++ = *from++; return;
void usekey(from) register unsigned long *from; { register unsigned long *to, *endp;
}
to = KnL, endp = &KnL[32]; while( to < endp ) *to++ = *from++; return;
void des(inblock, outblock) unsigned char *inblock, *outblock; { unsigned long work[2]; scrunch(inblock, work); desfunc(work, KnL);
}
unscrun(work, outblock); return;
static void scrunch(outof, into) register unsigned char *outof; register unsigned long *into; { *into = (*outof++ & 0xffL) << *into |= (*outof++ & 0xffL) << *into |= (*outof++ & 0xffL) << *into++ |= (*outof++ & 0xffL); *into = (*outof++ & 0xffL) << *into |= (*outof++ & 0xffL) << *into |= (*outof++ & 0xffL) << *into |= (*outof & 0xffL); return; }
24; 16; 8; 24; 16; 8;
static void unscrun(outof, into) register unsigned long *outof; register unsigned char *into; { *into++ = (*outof >> 24) & 0xffL; *into++ = (*outof >> 16) & 0xffL; *into++ = (*outof >> 8) & 0xffL; *into++ = *outof++ & 0xffL; *into++ = (*outof >> 24) & 0xffL; *into++ = (*outof >> 16) & 0xffL; *into++ = (*outof >> 8) & 0xffL; *into = *outof & 0xffL; return; } static unsigned long SP1[64] = { 0x01010400L, 0x00000000L, 0x01010004L, 0x00010404L, 0x00000400L, 0x01010400L, 0x01000404L, 0x01010004L, 0x00000404L, 0x01000400L, 0x00010400L, 0x01010000L, 0x00010004L, 0x01000004L, 0x00000000L, 0x00000404L, 0x00010000L, 0x01010404L, 0x01010400L, 0x01000000L, 0x01010004L, 0x00010000L, 0x00000400L, 0x00000004L, 0x01010404L, 0x00010004L, 0x01000004L, 0x00000404L, 0x00000404L, 0x01000400L, 0x00010004L, 0x00010400L,
0x00010000L, 0x00000004L, 0x01010404L, 0x01000000L, 0x01000400L, 0x01010000L, 0x01000004L, 0x00010404L, 0x00000004L, 0x01000000L, 0x00010400L, 0x01000404L, 0x01010000L, 0x00010404L, 0x01000400L, 0x00000000L,
0x01010404L, 0x00010000L, 0x00000400L, 0x00000004L, 0x00010400L, 0x01000404L, 0x00010004L, 0x01000000L, 0x01010000L, 0x00000400L, 0x01000004L, 0x00010404L, 0x01000404L, 0x01010400L, 0x00000000L, 0x01010004L };
static unsigned long SP2[64] = { 0x80108020L, 0x80008000L, 0x00100000L, 0x00000020L, 0x80000020L, 0x80108020L, 0x80008000L, 0x00100000L, 0x00108000L, 0x00100020L, 0x80000000L, 0x00008000L, 0x00100020L, 0x80000020L, 0x00008020L, 0x80108000L, 0x00000000L, 0x00108020L,
0x00008000L, 0x80100020L, 0x80108000L, 0x00000020L, 0x80008020L, 0x00108020L, 0x00000000L, 0x80100000L, 0x80100020L,
0x00108020L, 0x80008020L, 0x80000000L, 0x80100020L, 0x00000000L, 0x80100000L, 0x00108000L, 0x00008020L, 0x00100000L,
0x80008020L, 0x80100000L, 0x00108020L, 0x00008020L, 0x00100020L, 0x00108000L, 0x80000000L,
0x80100000L, 0x80008000L, 0x00000020L, 0x80108000L, 0x80008020L, 0x00000000L, 0x80100020L,
0x80108000L, 0x00000020L, 0x00008000L, 0x00100000L, 0x80000020L, 0x80008000L, 0x80108020L,
0x00008000L, 0x80108020L, 0x80000000L, 0x80000020L, 0x00100020L, 0x00008020L, 0x00108000L };
static unsigned long SP3[64] = { 0x00000208L, 0x08020200L, 0x08000200L, 0x00000000L, 0x00020008L, 0x08000008L, 0x08020208L, 0x00020008L, 0x08000000L, 0x00000008L, 0x00020200L, 0x08020000L, 0x08000208L, 0x00020200L, 0x00000008L, 0x08020208L, 0x08020200L, 0x08000000L, 0x00020000L, 0x08020200L, 0x00000200L, 0x00020008L, 0x08000008L, 0x00000200L, 0x08000208L, 0x00020000L, 0x00000008L, 0x00020208L, 0x08020000L, 0x08000208L, 0x00020208L, 0x00000008L,
0x00000000L, 0x00020208L, 0x08000008L, 0x08020000L, 0x08020200L, 0x08020008L, 0x00020000L, 0x00000200L, 0x00020008L, 0x08000200L, 0x08020208L, 0x00000000L, 0x08000000L, 0x00020200L, 0x00000208L, 0x08020008L,
0x08020008L, 0x08000200L, 0x00020000L, 0x00000208L, 0x00000200L, 0x00020208L, 0x08000208L, 0x08000000L, 0x00000208L, 0x00000000L, 0x08000200L, 0x08020008L, 0x08020208L, 0x08000008L, 0x08020000L, 0x00020200L };
static unsigned long SP4[64] = { 0x00802001L, 0x00002081L, 0x00802080L, 0x00800081L, 0x00000000L, 0x00802000L, 0x00000081L, 0x00000000L, 0x00000001L, 0x00002000L, 0x00000080L, 0x00800000L, 0x00800081L, 0x00000001L, 0x00002000L, 0x00802080L, 0x00800080L, 0x00800001L, 0x00000081L, 0x00000000L, 0x00002080L, 0x00800080L, 0x00802001L, 0x00002081L, 0x00802081L, 0x00000081L, 0x00800001L, 0x00002001L, 0x00002001L, 0x00002080L, 0x00000080L, 0x00800000L,
0x00002081L, 0x00800001L, 0x00802000L, 0x00800080L, 0x00800000L, 0x00002001L, 0x00002080L, 0x00802081L, 0x00802000L, 0x00000000L, 0x00800081L, 0x00002081L, 0x00000001L, 0x00802080L, 0x00800000L, 0x00002000L,
0x00000080L, 0x00002001L, 0x00802081L, 0x00800001L, 0x00802001L, 0x00002080L, 0x00800080L, 0x00000081L, 0x00802081L, 0x00802000L, 0x00000001L, 0x00000080L, 0x00002000L, 0x00800081L, 0x00802001L, 0x00802080L };
static unsigned long SP5[64] = { 0x00000100L, 0x02080100L, 0x00080000L, 0x00000100L, 0x40080100L, 0x00080000L, 0x42000100L, 0x42080000L, 0x02000000L, 0x40080000L, 0x40000100L, 0x42080100L, 0x42080000L, 0x40000100L, 0x02080100L, 0x02000000L, 0x00080000L, 0x42000100L, 0x40000000L, 0x02080000L, 0x02000100L, 0x40000000L, 0x40080100L, 0x00000100L, 0x42080100L, 0x00080100L, 0x02080000L, 0x00000000L, 0x00080100L, 0x02000100L, 0x00000000L, 0x40080000L,
0x02080000L, 0x40000000L, 0x02000100L, 0x00080100L, 0x40080000L, 0x42080100L, 0x00000000L, 0x42000000L, 0x00000100L, 0x42000100L, 0x42080000L, 0x02000000L, 0x42000000L, 0x40080000L, 0x40000100L, 0x02080100L,
0x42000100L, 0x02080000L, 0x40080100L, 0x40000000L, 0x00000000L, 0x02000100L, 0x42000000L, 0x00080100L, 0x02000000L, 0x40080100L, 0x02080100L, 0x42080000L, 0x42080100L, 0x42000000L, 0x00080000L, 0x40000100L };
static unsigned long SP6[64] = { 0x20000010L, 0x20400000L, 0x20400000L, 0x00000010L, 0x20004000L, 0x00404010L, 0x00400010L, 0x20004000L, 0x00000000L, 0x00400010L, 0x00404000L, 0x20004010L, 0x20400010L, 0x00000000L, 0x00004010L, 0x00404000L, 0x20004000L, 0x00000010L, 0x20404010L, 0x00400000L, 0x00400000L, 0x20004000L, 0x20000010L, 0x20404010L, 0x00404010L, 0x20404000L, 0x00000010L, 0x00004000L, 0x00004000L, 0x00400010L, 0x20404000L, 0x20000000L,
0x00004000L, 0x20404010L, 0x00400000L, 0x20000000L, 0x20004010L, 0x00000010L, 0x00404010L, 0x20404000L, 0x20400010L, 0x00004010L, 0x20000000L, 0x00404000L, 0x00000000L, 0x20400000L, 0x20004010L, 0x00400010L,
0x20404010L, 0x00400000L, 0x20000010L, 0x00004010L, 0x00004000L, 0x20400010L, 0x20404000L, 0x20000000L, 0x00404000L, 0x20000010L, 0x00004010L, 0x20400000L, 0x20400010L, 0x00404010L, 0x00000000L, 0x20004010L };
static unsigned long SP7[64] = { 0x00200000L, 0x04200002L, 0x00000800L, 0x04000802L, 0x04200802L, 0x00200000L, 0x00000002L, 0x04000000L, 0x04000800L, 0x00200802L, 0x04000002L, 0x04200000L, 0x04200000L, 0x00000800L, 0x00200800L, 0x00000002L, 0x04000000L, 0x00200800L, 0x04000802L, 0x04200002L, 0x00200002L, 0x04000000L, 0x04200800L, 0x00000802L, 0x00000802L, 0x04000002L, 0x00200800L, 0x00000000L, 0x00000000L, 0x00200802L, 0x04000002L, 0x04000800L,
0x04000802L, 0x00200802L, 0x00000000L, 0x04200002L, 0x00200002L, 0x04200800L, 0x00000802L, 0x04000000L, 0x00200000L, 0x04200002L, 0x04000800L, 0x00200802L, 0x04200802L, 0x00000002L, 0x04200000L, 0x00000800L,
0x00000000L, 0x04200800L, 0x04000002L, 0x00000802L, 0x04000800L, 0x00200002L, 0x04200802L, 0x00200800L, 0x04000802L, 0x00000002L, 0x00200000L, 0x04200800L, 0x04200000L, 0x04200802L, 0x00000800L, 0x00200002L };
static unsigned long SP8[64] = { 0x10001040L, 0x00001000L, 0x10000000L, 0x10001040L, 0x00040040L, 0x10040000L, 0x10041000L, 0x00041040L, 0x10040000L, 0x10000040L, 0x00041000L, 0x00040040L, 0x00001040L, 0x00000000L, 0x10000040L, 0x10001000L, 0x00041040L, 0x00040000L, 0x00000040L, 0x10040040L, 0x10001000L, 0x00000040L, 0x10040040L, 0x10000000L, 0x00000000L, 0x10041040L, 0x10040000L, 0x10001000L, 0x10041040L, 0x00041000L, 0x00001040L, 0x00040040L,
0x00040000L, 0x00000040L, 0x10041040L, 0x00001000L, 0x10001000L, 0x10040040L, 0x00000000L, 0x00041040L, 0x10041000L, 0x00001000L, 0x10000040L, 0x00040000L, 0x00040040L, 0x10001040L, 0x00041000L, 0x10000000L,
0x10041040L, 0x10000000L, 0x00041000L, 0x00000040L, 0x00001040L, 0x10041000L, 0x10040040L, 0x00040000L, 0x00001000L, 0x00041040L, 0x10040000L, 0x10001040L, 0x10000040L, 0x00000000L, 0x00001040L, 0x10041000L };
static void desfunc(block, keys) register unsigned long *block, *keys; { register unsigned long fval, work, right, leftt; register int round; leftt = block[0]; right = block[1];
work = ((leftt >> 4) ^ right) & 0x0f0f0f0fL; right ^= work; leftt ^= (work << 4); work = ((leftt >> 16) ^ right) & 0x0000ffffL; right ^= work; leftt ^= (work << 16); work = ((right >> 2) ^ leftt) & 0x33333333L; leftt ^= work; right ^= (work << 2); work = ((right >> 8) ^ leftt) & 0x00ff00ffL; leftt ^= work; right ^= (work << 8); right = ((right << 1) | ((right >> 31) & 1L)) & 0xffffffffL; work = (leftt ^ right) & 0xaaaaaaaaL; leftt ^= work; right ^= work; leftt = ((leftt << 1) | ((leftt >> 31) & 1L)) & 0xffffffffL; for( round = 0; round < 8; round++ ) { work = (right << 28) | (right >> 4); work ^= *keys++; fval = SP7[ work & 0x3fL]; fval |= SP5[(work >> 8) & 0x3fL]; fval |= SP3[(work >> 16) & 0x3fL]; fval |= SP1[(work >> 24) & 0x3fL]; work = right ^ *keys++; fval |= SP8[ work & 0x3fL]; fval |= SP6[(work >> 8) & 0x3fL]; fval |= SP4[(work >> 16) & 0x3fL]; fval |= SP2[(work >> 24) & 0x3fL]; leftt ^= fval; work = (leftt << 28) | (leftt >> 4); work ^= *keys++; fval = SP7[ work & 0x3fL]; fval |= SP5[(work >> 8) & 0x3fL]; fval |= SP3[(work >> 16) & 0x3fL]; fval |= SP1[(work >> 24) & 0x3fL]; work = leftt ^ *keys++; fval |= SP8[ work & 0x3fL]; fval |= SP6[(work >> 8) & 0x3fL]; fval |= SP4[(work >> 16) & 0x3fL]; fval |= SP2[(work >> 24) & 0x3fL]; right ^= fval; } right = (right << 31) | (right >> 1); work = (leftt ^ right) & 0xaaaaaaaaL; leftt ^= work; right ^= work; leftt = (leftt << 31) | (leftt >> 1); work = ((leftt >> 8) ^ right) & 0x00ff00ffL; right ^= work; leftt ^= (work << 8); work = ((leftt >> 2) ^ right) & 0x33333333L; right ^= work; leftt ^= (work << 2); work = ((right >> 16) ^ leftt) & 0x0000ffffL; leftt ^= work; right ^= (work << 16); work = ((right >> 4) ^ leftt) & 0x0f0f0f0fL; leftt ^= work; right ^= (work << 4);
}
*block++ = right; *block = leftt; return;
/* Validation sets: * * Single-length key, single-length plaintext * Key : 0123 4567 89ab cdef * Plain : 0123 4567 89ab cde7 * Cipher : c957 4425 6a5e d31d * **********************************************************************/ void des_key(des_ctx *dc, unsigned char *key){ deskey(key,EN0); cpkey(dc->ek); deskey(key,DE1); cpkey(dc->dk); } /* Encrypt several blocks in ECB mode. Caller is responsible for short blocks. */ void des_enc(des_ctx *dc, unsigned char *data, int blocks){ unsigned long work[2]; int i; unsigned char *cp;
}
cp = data; for(i=0;i
ek); unscrun(work,cp); cp+=8; }
void des_dec(des_ctx *dc, unsigned char *data, int blocks){ unsigned long work[2]; int i; unsigned char *cp;
}
cp = data; for(i=0;idk); unscrun(work,cp); cp+=8; }
void main(void){ des_ctx dc; int i; unsigned long data[10]; char *cp,key[8] = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; char x[8] = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xe7}; cp = x; des_key(&dc,key);
des_enc(&dc,cp,1); printf("Enc(0..7,0..7) = "); for(i=0;i<8;i++) printf("%02x ", ((unsigned int) cp[i])&0x00ff); printf("\n"); des_dec(&dc,cp,1); printf("Dec(above,0..7) = "); for(i=0;i<8;i++) printf("%02x ",((unsigned int)cp[i])&0x00ff); printf("\n"); cp = (char *) data; for(i=0;i<10;i++)data[i]=i; des_enc(&dc,cp,5); /* Enc 5 blocks. */ for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", i/2,data[i],data[i+1]); des_dec(&dc,cp,1); des_dec(&dc,cp+8,4); for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", i/2,data[i],data[i+1]); }
LOKI91 #include <stdio.h> #define LOKIBLK */ #define ROUNDS */
8
/* No of bytes in a LOKI data-block
16
/* No of LOKI rounds
typedef unsigned long LOKI blocks */
Long;
extern Long extern char copyright
/* 64-bit key used by LOKI routines /* String with version no. &
lokikey[2]; *loki_lib_ver; */
/* type specification for aligned */
#ifdef __STDC__ /* declare prototypes for library functions */ extern void enloki(char *b); extern void deloki(char *b); extern void setlokikey(char key[LOKIBLK]); #else /* else just declare library functions extern */ extern void enloki(), deloki(), setlokikey(); #endif __STDC__ char P[32] = { 31, 23, 29, 21, 27, 19, 25, 17, };
15, 7, 30, 22, 14, 6, 13, 5, 28, 20, 12, 4, 11, 3, 26, 18, 10, 2, 9, 1, 24, 16, 8, 0
typedef
struct { short gen; short exp; } sfn_desc;
sfn_desc sfn[] = { { /* 101110111 { /* 110000111 { /* 110001101 { /* 110100011 { /* 110110001 { /* 111000011 { /* 111010111 { /* 111100111 { 00, 00}
*/ */ */ */ */ */ */ */ };
/* irreducible polynomial used in this field */ /* exponent used to generate this s function */
375, 391, 397, 419, 433, 451, 471, 487,
31}, 31}, 31}, 31}, 31}, 31}, 31}, 31},
{ { { { { { { {
/* /* /* /* /* /* /* /*
101111011 110001011 110011111 110101001 110111101 111001111 111011101 111110011
*/ */ */ */ */ */ */ */
379, 395, 415, 425, 445, 463, 477, 499,
31}, 31}, 31}, 31}, 31}, 31}, 31}, 31},
typedef struct { Long loki_subkeys[ROUNDS]; } loki_ctx; static Long static short
f(); s();
/* declare LOKI function f */ /* declare LOKI S-box fn s */
#define ROL12(b) b = ((b << 12) | (b >> 20)); #define ROL13(b) b = ((b << 13) | (b >> 19)); #ifdef LITTLE_ENDIAN #define bswap(cb) { register char c; c = cb[0]; cb[0] = c = cb[1]; cb[1] = c = cb[4]; cb[4] = c = cb[5]; cb[5] = } #endif
cb[3]; cb[2]; cb[7]; cb[6];
cb[3] cb[2] cb[7] cb[6]
= = = =
c; c; c; c;
\ \ \ \ \ \
void setlokikey(loki_ctx *c, char *key) { register i; register Long KL, KR; #ifdef LITTLE_ENDIAN bswap(key); #endif KL = ((Long *)key)[0]; KR = ((Long *)key)[1];
/* swap bytes round if little-endian */
for (i=0; iloki_subkeys[i] = KL; ROL12 (KL); c->loki_subkeys[i+1] = KL; ROL13 (KL); c->loki_subkeys[i+2] = KR; ROL12 (KR); c->loki_subkeys[i+3] = KR; ROL13 (KR); } #ifdef LITTLE_ENDIAN bswap(key); #endif
/* Generate the 16 subkeys */
/* swap bytes back if little-endian */
} void enloki (loki_ctx *c, char *b) { register i; register Long L, R; #ifdef LITTLE_ENDIAN bswap(b); #endif
/* left & right data halves
*/
/* swap bytes round if little-endian */
L = ((Long *)b)[0]; R = ((Long *)b)[1]; */
for (i=0; i
}
/* Encrypt with the 16 subkeys
L ^= f (R, c->loki_subkeys[i]); R ^= f (L, c->loki_subkeys[i+1]);
((Long *)b)[0] = R; ((Long *)b)[1] = L; #ifdef LITTLE_ENDIAN bswap(b); #endif }
/* Y = swap(LR) */
/* swap bytes round if little-endian */
void deloki(loki_ctx *c, char *b) { register i; register Long L, R; #ifdef LITTLE_ENDIAN bswap(b); #endif
/* left & right data halves
/* swap bytes round if little-endian */
L = ((Long *)b)[0]; R = ((Long *)b)[1];
/* LR = X XOR K */
for (i=ROUNDS; i>0; i-=2) { order */ L ^= f(R, c->loki_subkeys[i-1]); R ^= f(L, c->loki_subkeys[i-2]); }
}
((Long *)b)[0] = R; ((Long *)b)[1] = L;
#define MASK12 */ static Long f(r, k) register Long Long { Long
0x0fff
r; k;
*/
/* subkeys in reverse
/* Y = LR XOR K */
/* 12 bit mask for expansion E
/* Data value R(i-1) */ /* Key K(i) */
a, b, c;
/* 32 bit S-box output, & P output */
a = r ^ k;
*/
}
/* A = R(i-1) XOR K(i) */
/* want to use slow speed/small size version */ b = ((Long)s((a & MASK12)) ) | /* B = S(E(R(i-1))^K(i)) ((Long)s(((a >> 8) & MASK12)) << 8) | ((Long)s(((a >> 16) & MASK12)) << 16) | ((Long)s((((a >> 24) | (a << 8)) & MASK12)) << 24); perm32(&c, &b, P);
/* C = P(S( E(R(i-1)) XOR K(i))) */
return(c);
/* f returns the result C */
static short s(i) register Long i; /* return S-box value for input i */ { register short r, c, v, t; short exp8(); /* exponentiation routine for GF(2^8) */ r = ((i>>8) & 0xc) | (i & 0x3); bottom 2 */ c = (i>>2) & 0xff; value-middle 8 bits */ t = (c + ((r * 17) ^ 0xff)) & 0xff; v = exp8(t, sfn[r].exp, sfn[r].gen); mod gen */ return(v); } #define
MSB
0x80000000L
/* row value-top 2 & /* column /* base value for Sfn */ /* Sfn[r] = t ^ exp
/* MSB of 32-bit word */
perm32(out, in , perm) Long *out; /* Output 32-bit block to be permuted Long *in; /* Input 32-bit block after permutation char perm[32]; /* Permutation array { Long mask = MSB; /* mask used to set bit in output */ register int i, o, b; /* input bit no, output bit no, value register char *p = perm; /* ptr to permutation array */ *out = 0; for (o=0; o<32; o++) { position o */ i =(int)*p++; output o */ b = (*in >> i) & 01; if (b) *out |= mask; output i */ mask >>= 1; bit */ } } #define SIZE 256
/* clear output block */ /* For each output bit /* get input bit permuted to /* value of input bit i */ /* If the input bit i is set */ /* OR in mask to /* Shift mask to next
/* 256 elements in GF(2^8) */
short mult8(a, b, gen) short a, b; /* operands for multiply */ short gen; /* irreducible polynomial generating Galois Field */ {
*/ */ */
*/
short
product = 0;
/* result of multiplication */
while(b != 0) { non-zero */ if (b & 01) product ^= a; of b set */ a <<= 1; if (a >= SIZE) a ^= gen; b >>= 1; } return(product); }
/* while multiplier is /*
add multiplicand if LSB
/*
shift multiplicand one place */
/* /*
and modulo reduce if needed */ shift multiplier one place */
short exp8(base, exponent, gen) short base; /* base of exponentiation */ short exponent; /* exponent */ short gen; /* irreducible polynomial generating Galois Field */ { short accum = base; /* superincreasing sequence of base */ short result = 1; /* result of exponentiation */ if (base == 0) return(0);
/* if zero base specified then /* the result is "0" if base = 0 */
*/
while (exponent != 0) { /* repeat while exponent non-zero */ if (( exponent & 0x0001) == 0x0001) /* multiply if exp 1 */ result = mult8(result, accum, gen); exponent >>= 1; /* shift exponent to next digit */ accum = mult8(accum, accum, gen); /* & square */ } return(result); } void loki_key(loki_ctx *c, unsigned char *key){ setlokikey(c,key); } void loki_enc(loki_ctx *c, unsigned char *data, int blocks){ unsigned char *cp; int i;
}
cp = data; for(i=0;i
void loki_dec(loki_ctx *c, unsigned char *data, int blocks){ unsigned char *cp; int i;
}
cp = data; for(i=0;i
void main(void){ loki_ctx unsigned unsigned unsigned int i;
lc; long data[10]; char *cp; char key[] = {0,1,2,3,4,5,6,7};
for(i=0;i<10;i++) data[i]=i; loki_key(&lc,key); cp = (char *)data; loki_enc(&lc,cp,5); for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx\n", i/2,data[i],data[i+1]); loki_dec(&lc,cp,1); loki_dec(&lc,cp+8,4); for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx\n", i/2,data[i],data[i+1]); }
IDEA typedef typedef typedef typedef typedef typedef
unsigned char boolean; /* values are TRUE or FALSE */ unsigned char byte; /* values are 0-255 */ byte *byteptr; /* pointer to byte */ char *string;/* pointer to ASCII character string */ unsigned short word16; /* values are 0-65535 */ unsigned long word32; /* values are 0-4294967295 */
#ifndef TRUE #define FALSE 0 #define TRUE (!FALSE) #endif /* if TRUE not already defined */ #ifndef min /* #define min(a,b) #define max(a,b) #endif /* if min
if min macro not already defined */ ( (a)<(b) ? (a) : (b) ) ( (a)>(b) ? (a) : (b) ) macro not already defined */
#define IDEAKEYSIZE 16 #define IDEABLOCKSIZE 8 #define IDEAROUNDS 8 #define IDEAKEYLEN (6*IDEAROUNDS+4) typedef struct{ word16 ek[IDEAKEYLEN],dk[IDEAKEYLEN]; }idea_ctx; /* End includes for IDEA.C */ #ifdef IDEA32 /* Use >16-bit temporaries */ #define low16(x) ((x) & 0xFFFF) typedef unsigned int uint16;/* at LEAST 16 bits, maybe more */ #else #define low16(x) (x) /* this is only ever applied to uint16's */ typedef word16 uint16;
#endif #ifdef SMALL_CACHE static uint16 mul(register uint16 a, register uint16 b) { register word32 p; p = (word32)a * b; if (p) { b = low16(p); a = p>>16; return (b - a) + (b < a); } else if (a) { return 1-b; } else { return 1-a; } } /* mul */ #endif /* SMALL_CACHE */ static uint16 mulInv(uint16 x) { uint16 t0, t1; uint16 q, y; if (x <= 1) return x; /* 0 and 1 are self-inverse */ t1 = 0x10001L / x; /* Since x >= 2, this fits into 16 bits */ y = 0x10001L % x; if (y == 1) return low16(1-t1); t0 = 1; do { q = x / y; x = x % y; t0 += q * t1; if (x == 1) return t0; q = y / x; y = y % x; t1 += q * t0; } while (y != 1); return low16(1-t1); } /* mukInv */ static void ideaExpandKey(byte const *userkey, word16 *EK) { int i,j; for (j=0; j<8; j++) { EK[j] = (userkey[0]<<8) + userkey[1]; userkey += 2; } for (i=0; j < IDEAKEYLEN; j++) { i++; EK[i+7] = EK[i & 7] << 9 | EK[i+1 & 7] >> 7; EK += i & 8; i &= 7; }
} /* ideaExpandKey */ static void ideaInvertKey(word16 const *EK, word16 DK[IDEAKEYLEN]) { int i; uint16 t1, t2, t3; word16 temp[IDEAKEYLEN]; word16 *p = temp + IDEAKEYLEN; t1 = t2 = t3 = *--p *--p *--p *--p
mulInv(*EK++); -*EK++; -*EK++; = mulInv(*EK++); = t3; = t2; = t1;
for (i = 0; t1 = *--p *--p t1 = t2 = t3 = *--p *--p *--p *--p
i < IDEAROUNDS-1; i++) { *EK++; = *EK++; = t1; mulInv(*EK++); -*EK++; -*EK++; = mulInv(*EK++); = t2; = t3; = t1;
} t1 = *EK++; *--p = *EK++; *--p = t1;
t1 = mulInv(*EK++); t2 = -*EK++; t3 = -*EK++; *--p = mulInv(*EK++); *--p = t3; *--p = t2; *--p = t1; /* Copy and destroy temp copy */ memcpy(DK, temp, sizeof(temp)); for(i=0;i>16, x = (x-t16) + (x>16, \ x = (x-t16)+(x
: \ : \ #endif #endif
(x = 1-t16) \
(x = 1-x))
static void ideaCipher(byte *inbuf, byte *outbuf, word16 *key) { register uint16 x1, x2, x3, x4, s2, s3; word16 *in, *out; #ifndef SMALL_CACHE register uint16 t16; /* Temporaries needed by MUL macro */ register word32 t32; #endif int r = IDEAROUNDS; in = (word16 *)inbuf; x1 = *in++; x2 = *in++; x3 = *in++; x4 = *in; #ifndef HIGHFIRST x1 = (x1 >>8) | (x1<<8); x2 = (x2 >>8) | (x2<<8); x3 = (x3 >>8) | (x3<<8); x4 = (x4 >>8) | (x4<<8); #endif do { MUL(x1,*key++); x2 += *key++; x3 += *key++; MUL(x4, *key++); s3 = x3; x3 ^= x1; MUL(x3, *key++); s2 = x2; x2 ^= x4; x2 += x3; MUL(x2, *key++); x3 += x2; x1 ^= x2;
x4 ^= x3;
x2 ^= s3; } while (--r); MUL(x1, *key++); x3 += *key++; x2 += *key++; MUL(x4, *key);
x3 ^= s2;
out = (word16 *)outbuf; #ifdef HIGHFIRST *out++ = x1; *out++ = x3; *out++ = x2; *out = x4; #else /* !HIGHFIRST */ *out++ = (x1 >>8) | (x1<<8); *out++ = (x3 >>8) | (x3<<8); *out++ = (x2 >>8) | (x2<<8); *out = (x4 >>8) | (x4<<8);
#endif } /* ideaCipher */ void idea_key(idea_ctx *c, unsigned char *key){ ideaExpandKey(key,c->ek); ideaInvertKey(c->ek,c->dk); } void idea_enc(idea_ctx *c, unsigned char *data, int blocks){ int i; unsigned char *d = data;
}
for(i=0;iek); d+=8; }
void idea_dec(idea_ctx *c, unsigned char *data, int blocks){ int i; unsigned char *d = data;
}
for(i=0;idk); d+=8; }
#include <stdio.h> #ifndef #ifndef #define #endif #define #endif
BLOCKS KBYTES KBYTES 1024 BLOCKS (64*KBYTES)
int main(void) { /* Test driver for IDEA cipher */ int i, j, k; idea_ctx c; byte userkey[16]; word16 EK[IDEAKEYLEN], DK[IDEAKEYLEN]; byte XX[8], YY[8], ZZ[8]; word32 long_block[10]; /* 5 blocks */ long l; char *lbp; /* Make a sample user key for testing... */ for(i=0; i<16; i++) userkey[i] = i+1; idea_key(&c,userkey); /* Make a sample plaintext pattern for testing... */ for (k=0; k<8; k++) XX[k] = k; idea_enc(&c,XX,1); /* encrypt */ lbp = (unsigned char *) long_block;
for(i=0;i<10;i++) long_block[i] = i; idea_enc(&c,lbp,5); for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", i/2,long_block[i],long_block[i+1]); idea_dec(&c,lbp,3); idea_dec(&c,lbp+24,2); for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", i/2,long_block[i],long_block[i+1]); return 0; } /* main */
/* normal exit */
GOST typedef unsigned long u4; typedef unsigned char byte; typedef struct { u4 k[8]; /* Constant s-boxes -- set up in gost_init(). */ char k87[256],k65[256],k43[256],k21[256]; } gost_ctx; /* Note:
void void void void void
encrypt and decrypt expect full blocks--padding blocks is caller's responsibility. All bulk encryption is done in ECB mode by these calls. Other modes may be added easily enough. gost_enc(gost_ctx *, u4 *, int); gost_dec(gost_ctx *, u4 *, int); gost_key(gost_ctx *, u4 *); gost_init(gost_ctx *); gost_destroy(gost_ctx *);
#ifdef __alpha /* Any other 64-bit machines? */ typedef unsigned int word32; #else typedef unsigned long word32; #endif kboxinit(gost_ctx *c) { int i; byte k8[16] = {14, 12, byte k7[16] = {15, 13, byte k6[16] = {10, 7, byte k5[16] = { 7, 5, byte k4[16] = { 2, 15, byte k3[16] = {12, 4,
4, 5, 1, 12, 0, 11, 13, 11, 12, 13, 1, 14,
13, 9, 8, 0, 9, 4, 14, 12, 4, 0, 10, 7,
1, 2, 15, 11, 8, 0, 7 }; 14, 6, 11, 3, 4, 5, 10 }; 14, 6, 3, 15, 5, 2, 8 }; 3, 0, 6, 9, 10, 4, 15 }; 1, 7, 10, 11, 6, 14, 9 }; 15, 9, 2, 6, 8, 5, 11 };
3, 10,
6,
9,
2,
7,
1, 13, 12, 1,
2,
8,
8,
5,
3,
0, 13,
3,
*/
byte k2[16] = { 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 7, 5, 10, 6, 1 }; byte k1[16] = {13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 14, 5, 0, 12, 7 };
}
for (i = 0; i < 256; c->k87[i] c->k65[i] c->k43[i] c->k21[i] }
i++) { = k8[i = k6[i = k4[i = k2[i
>> >> >> >>
4] 4] 4] 4]
<< << << <<
4 4 4 4
| | | |
k7[i k5[i k3[i k1[i
& & & &
9, 3,
15]; 15]; 15]; 15];
static word32 f(gost_ctx *c,word32 x) { x = c->k87[x>>24 & 255] << 24 | c->k65[x>>16 & 255] << 16 | c->k43[x>> 8 & 255] << 8 | c->k21[x & 255];
}
/* Rotate left 11 bits */ return x<<11 | x>>(32-11);
void gostcrypt(gost_ctx *c, word32 *d){ register word32 n1, n2; /* As named in the GOST */ n1 = d[0]; n2 = d[1]; /* Instead of swapping halves, swap names each round */ n2 ^= f(c,n1+c->k[0]); n1 ^= f(c,n2+c->k[1]); n2 ^= f(c,n1+c->k[2]); n1 ^= f(c,n2+c->k[3]); n2 ^= f(c,n1+c->k[4]); n1 ^= f(c,n2+c->k[5]); n2 ^= f(c,n1+c->k[6]); n1 ^= f(c,n2+c->k[7]);
}
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[0]); f(c,n1+c->k[2]); f(c,n1+c->k[4]); f(c,n1+c->k[6]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[1]); f(c,n2+c->k[3]); f(c,n2+c->k[5]); f(c,n2+c->k[7]);
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[0]); f(c,n1+c->k[2]); f(c,n1+c->k[4]); f(c,n1+c->k[6]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[1]); f(c,n2+c->k[3]); f(c,n2+c->k[5]); f(c,n2+c->k[7]);
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[7]); f(c,n1+c->k[5]); f(c,n1+c->k[3]); f(c,n1+c->k[1]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[6]); f(c,n2+c->k[4]); f(c,n2+c->k[2]); f(c,n2+c->k[0]);
d[0] = n2; d[1] = n1;
void gostdecrypt(gost_ctx *c, u4 *d){ register word32 n1, n2; /* As named in the GOST */ n1 = d[0]; n2 = d[1]; n2 ^= f(c,n1+c->k[0]); n1 ^= f(c,n2+c->k[1]); n2 ^= f(c,n1+c->k[2]); n1 ^= f(c,n2+c->k[3]); n2 ^= f(c,n1+c->k[4]); n1 ^= f(c,n2+c->k[5]);
n2 ^= f(c,n1+c->k[6]); n1 ^= f(c,n2+c->k[7]);
}
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[7]); f(c,n1+c->k[5]); f(c,n1+c->k[3]); f(c,n1+c->k[1]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[6]); f(c,n2+c->k[4]); f(c,n2+c->k[2]); f(c,n2+c->k[0]);
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[7]); f(c,n1+c->k[5]); f(c,n1+c->k[3]); f(c,n1+c->k[1]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[6]); f(c,n2+c->k[4]); f(c,n2+c->k[2]); f(c,n2+c->k[0]);
n2 n2 n2 n2
^= ^= ^= ^=
f(c,n1+c->k[7]); f(c,n1+c->k[5]); f(c,n1+c->k[3]); f(c,n1+c->k[1]);
n1 n1 n1 n1
^= ^= ^= ^=
f(c,n2+c->k[6]); f(c,n2+c->k[4]); f(c,n2+c->k[2]); f(c,n2+c->k[0]);
d[0] = n2; d[1] = n1;
void gost_enc(gost_ctx *c, u4 *d, int blocks){ int i;
}
for(i=0;i
void gost_dec(gost_ctx *c, u4 *d, int blocks){ int i;
}
for(i=0;i
void gost_key(gost_ctx *c, u4 *k){ int i; for(i=0;i<8;i++) c->k[i]=k[i]; } void gost_init(gost_ctx *c){ kboxinit(c); } void gost_destroy(gost_ctx *c){ int i; for(i=0;i<8;i++) c->k[i]=0; } void main(void){ gost_ctx gc; u4 k[8],data[10]; int i; /* Initialize GOST context. */ gost_init(&gc); /* Prepare key--a simple key should be OK, with this many rounds! */ for(i=0;i<8;i++) k[i] = i;
gost_key(&gc,k); /* Try some test vectors. */ data[0] = 0; data[1] = 0; gostcrypt(&gc,data); printf("Enc of zero vector: %08lx %08lx\n",data[0],data[1]); gostcrypt(&gc,data); printf("Enc of above: %08lx %08lx\n",data[0],data[1]); data[0] = 0xffffffff; data[1] = 0xffffffff; gostcrypt(&gc,data); printf("Enc of ones vector: %08lx %08lx\n",data[0],data[1]); gostcrypt(&gc,data); printf("Enc of above: %08lx %08lx\n",data[0],data[1]); /* Does gost_dec() properly reverse gost_enc()? Do we deal OK with single-block lengths passed in gost_dec()? Do we deal OK with different lengths passed in? */ /* Init data */ for(i=0;i<10;i++) data[i]=i; /* Encrypt data as 5 blocks. */ gost_enc(&gc,data,5); /* Display encrypted data. */ for(i=0;i<10;i+=2) printf("Block %02d = %08lx %08lx\n", i/2,data[i],data[i+1]); /* Decrypt in different sized chunks. */ gost_dec(&gc,data,1); gost_dec(&gc,data+2,4); printf("\n"); /* Display decrypted data. */ for(i=0;i<10;i+=2) printf("Block %02d = %08lx %08lx\n", i/2,data[i],data[i+1]); }
gost_destroy(&gc);
BLOWFISH #include #include #include #include
<math.h> <stdio.h> <stdlib.h>
#ifdef little_endian #include #endif
/* Eg: Intel */
#include #ifdef little_endian #include #include #endif
/* Eg: Intel */
#ifdef big_endian #include #endif typedef struct { unsigned long S[4][256],P[18]; } blf_ctx; #define MAXKEYBYTES 56 // #define little_endian 1 #define big_endian 1
/* 448 bits */ /* Eg: Intel */ /* Eg: Motorola */
void Blowfish_encipher(blf_ctx *,unsigned long *xl, unsigned long *xr); void Blowfish_decipher(blf_ctx *,unsigned long *xl, unsigned long *xr); #define #define #define #define
N noErr DATAERROR KEYBYTES
FILE*
16 0 -1 8
SubkeyFile;
unsigned long F(blf_ctx *bc, unsigned long x) { unsigned short a; unsigned short b; unsigned short c; unsigned short d; unsigned long y; d = x & 0x00FF; x >>= 8; c = x & 0x00FF; x >>= 8; b = x & 0x00FF; x >>= 8; a = x & 0x00FF; //y = ((S[0][a] + S[1][b]) ^ S[2][c]) + S[3][d]; y = bc->S[0][a] + bc->S[1][b]; y = y ^ bc->S[2][c]; y = y + bc->S[3][d]; }
return y;
void Blowfish_encipher(blf_ctx *c,unsigned long *xl, unsigned long *xr) { unsigned long Xl; unsigned long Xr; unsigned long temp; short i; Xl = *xl; Xr = *xr; for (i = 0; i < N; ++i) { Xl = Xl ^ c->P[i]; Xr = F(c,Xl) ^ Xr; temp = Xl;
}
Xl = Xr; Xr = temp;
temp = Xl; Xl = Xr; Xr = temp; Xr = Xr ^ c->P[N]; Xl = Xl ^ c->P[N + 1];
}
*xl = Xl; *xr = Xr;
void Blowfish_decipher(blf_ctx *c, unsigned long *xl, unsigned long *xr) { unsigned long Xl; unsigned long Xr; unsigned long temp; short i; Xl = *xl; Xr = *xr; for (i = N + 1; i > 1; --i) { Xl = Xl ^ c->P[i]; Xr = F(c,Xl) ^ Xr;
}
/* Exchange Xl and Xr */ temp = Xl; Xl = Xr; Xr = temp;
/* Exchange Xl and Xr */ temp = Xl; Xl = Xr; Xr = temp; Xr = Xr ^ c->P[1]; Xl = Xl ^ c->P[0];
}
*xl = Xl; *xr = Xr;
short InitializeBlowfish(blf_ctx *c, char key[], short keybytes) { short i; short j; short k; short error; short numread; unsigned long data; unsigned long datal; unsigned long datar; unsigned long ks0[] = { 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658,
0x718bcd58, 0x82154aee, 0xc5d1b023, 0x286085f0, 0x6c9e0e8b, 0xb01e8a3e, 0xe65525f3, 0xaa55ab94, 0xb4cc5c34, 0x1141e8ce, 0x2ba9c55d, 0x741831f6, 0x7a325381, 0x28958677, 0x61d809cc, 0xfb21a991, 0xdc262302, 0xeb651b88, 0x2e0b4482, 0xa4842004, 0x670c9c61, 0xabd388f0, 0x6eef0b6c, 0x137a3be4, 0x66ca593e, 0x82430e88, 0xe06f75d8, 0x85c12073, 0x1bfedf72, 0x429b023d, 0x075372c9, 0x80991b7b, 0x976ce0bd, 0x04c006ba, 0x68fb6faf, 0x3e6c53b5, 0xcc814544, 0xaf5ebd09, 0xc0cba857, 0x45c8740f, 0xd6a100c6, 0x402c7279, 0x3c7516df, 0xfd616b15, 0x53317b48, 0x3e00df82, 0xd542a8f6, 0x287effc3, 0xe1ffa35d, 0xb8f011a0, 0x9a53e479, 0xb6f84565, 0x62fb1341, 0xcee4c6e8, 0x95dbda4d, 0xae909198, 0x8e3c5b2f, 0x8e7594b7, 0x4fad5ea0, 0x688fc31c, 0xea752dfe, 0x8b021fa1, 0xb4a84fe0, 0xfd13e0b7, 0x93cc7314, 0x211a1477, 0xebcdaf0c, 0x7b3e89a0, 0x226800bb, 0x57b8e0af, 0x78c14389, 0xd95a537f, 0x11c81968, 0x4e734a41, 0xd60f573f, 0xbc9bc6e4, 0xf296ec6b, 0x2a0dd915, 0x53b02d5d, 0xa99f8fa1, unsigned long ks1[] = { 0x4b7a70e9, 0xb5b32944, 0x9cee60b8, 0x8fedb266, 0x193602a5, 0x75094c29, 0x6b8fe4d6, 0x99f73fd6, 0x4cdd2086, 0x8470eb26, 0x3c971814, 0x6b6a70a1, 0x3e07841c, 0x7fdeae5c, 0xf01c1f04, 0x0200b3ff, 0xd19113f9, 0x7ca92ff6, 0xc8b57634, 0x9af3dda7, 0xe238cd99, 0x3bea0e2f, 0x6f420d03, 0xf60a04bf, 0xde9a771f, 0xd9930810, 0x501adde6, 0x9f84cd87, 0xec7aec3a, 0xdb851dfa, 0xdd433b37, 0x24c2ba16, 0x71dff89e, 0x10314e55, 0x3c11183b, 0x5924a509, 0x86e34570, 0xeae96fb1, 0x2965dcb9, 0x99e71d0f, 0xc6150eba, 0x94e2ea78,
0x7b54a41d, 0xca417918, 0xd71577c1, 0x57489862, 0xa15486af, 0xce5c3e16, 0x3b8f4898, 0x487cac60, 0x23893e81, 0x69c8f04a, 0x6a51a0d2, 0xba3bf050, 0x8cee8619, 0x401a449f, 0x37d0d724, 0x25d479d8, 0xc1a94fb6, 0x1339b2eb, 0xbee3d004, 0xd20b5f39, 0x679f25fe, 0x2f501ec8, 0x9e5c57bb, 0xac6732c6, 0x10fa3d98, 0xd28e49bc, 0xef20cada, 0xeaad8e71, 0x8ff6e2fb, 0xd1cff191, 0xe5a0cc0f, 0x7cc43b81, 0xe6ad2065, 0xd6411bd3, 0x2464369b, 0x207d5ba2, 0xb3472dca, 0x2b60a476, 0xb6636521, 0x08ba4799,
0xc25a59b5, 0x9c30d539, 0xb8db38ef, 0x8e79dcb0, 0xbd314b27, 0x78af2fda, 0x63e81440, 0x55ca396a, 0x7c72e993, 0xb3ee1411, 0x9b87931e, 0xafd6ba33, 0x6b4bb9af, 0xc4bfe81b, 0x5dec8032, 0xef845d5d, 0xd396acc5, 0x0f6d6ff3, 0x9e1f9b5e, 0x21c66842, 0xd8542f68, 0x960fa728, 0x7efb2a98, 0xa1f1651d, 0x456f9fb4, 0x7d84a5c3, 0x56c16aa6, 0x4ed3aa62, 0xd00a1248, 0xdb0fead3, 0xf6e8def7, 0xe3fe501a, 0x409f60c4, 0x5e5c9ec2, 0x3b52ec6f, 0x6dfc511f, 0xde334afd, 0x660f2807, 0xb9d3fbdb, 0x5579c0bd, 0xfb1fa3cc, 0x8ea5e9f8, 0xad0552ab, 0x323db5fa, 0xca6f8ca0, 0x1a87562e, 0x8c4f5573, 0x695b27b0, 0xfd2183b8, 0x4afcb56c, 0x4bfb9790, 0xe1ddf2da, 0x36774c01, 0xd07e9efe, 0x6b93d5a0, 0xd08ed1d0, 0xf2122b64, 0x8888b812, 0xb3a8c1ad, 0x2f2f2218, 0xb56f74e8, 0x18acf3d6, 0xd2ada8d9, 0x165fa266, 0x77b5fa86, 0xc75442f5, 0xae1e7e49, 0x00250e2d, 0xf009b91e, 0x5563911d, 0x02e5b9c5, 0x83260376, 0x7b14a94a, 0x1b510052, 0x81e67400, 0x08ba6fb5, 0xe7b9f9b6, 0xff34052e, 0x6e85076a};
0x2af26013, 0x603a180e, 0x55605c60, 0x2aab10b6, 0x636fbc2a, 0x6c24cf5c, 0x66282193, 0xe98575b1, 0x83f44239, 0xf6e96c9a, 0xab5133a3, 0x39af0176, 0x3b8b5ebe, 0x363f7706, 0x49f1c09b, 0xb6794c3b, 0x196a2463, 0x9b30952c, 0x192e4bb3, 0x1a60320a, 0xdb3222f8, 0xfd238760, 0xdf1769db, 0xbbca58c8, 0x2dd1d35b, 0xa4cb7e33, 0x2bf11fb4, 0xafc725e0, 0x900df01c, 0xbe0e1777, 0xce89e299, 0x80957705, 0xfb9d35cf, 0x2071b35e, 0x59dfa6aa, 0x6295cfa9, 0x9a532915, 0x571be91f, 0xc5855664,
0xdb75092e, 0xecaa8c71, 0xa0591340, 0xa1d29c07, 0x6382e9c6, 0x687f3584, 0x8e7d44ec, 0xae0cf51a, 0x94324773, 0xa9446146, 0x3280bba1, 0x2cb81290, 0xb38bae12, 0x7a584718, 0x63094366, 0x12a14d43, 0x81ac77d6, 0xf28fe6ed, 0x860e5e0a, 0x803e89d6, 0xa5fc3c53,
0xc4192623, 0x699a17ff, 0xe4183a3e, 0xefe830f5, 0x021ecc5e, 0x52a0e286, 0x5716f2b8, 0x3cb574b2, 0x22f54701, 0x0fd0030e, 0x183eb331, 0x24977c79, 0xdccf3f2e, 0x7408da17, 0xc464c3d2, 0x2a65c451, 0x5f11199b, 0x97f1fbfa, 0x5a3e2ab3, 0x5266c825, 0x1e0a2df4,
0x49a7df7d, 0xc2b19ee1, 0x5b429d65, 0xf0255dc1, 0x3ebaefc9, 0xaa500737, 0xf0500c0d, 0xdc0921bd, 0x37c2dadc, 0xa4751e41, 0x4f6db908, 0xbcaf89af, 0x2e6b7124, 0xe94b7d8c, 0x3215d908, 0x133ae4dd, 0xd7a3c76b, 0x1e153c6e, 0x4e3d06fa, 0x9c10b36a, 0x361d2b3d,
0xad6ea6b0, 0x5664526c, 0x3f54989a, 0x4d2d38e6, 0x09686b3f, 0xb79c5305, 0xb03ada37, 0x25837a58, 0x3ae5e581, 0xecc8c73e, 0x4e548b38, 0x5679b072, 0x5512721f, 0xbc9f9abc, 0xef1c1847, 0x50940002, 0x043556f1, 0x9ebabf2c, 0x771fe71c, 0x2e4cc978, 0xf2f74ea7,
0x1939260f, 0x19c27960, 0xe3bc4595, 0xa67bc883, 0x65582185, 0x68ab9802, 0x1521b628, 0x29076170, 0x0334fe1e, 0xaa0363cf, 0xeecc86bc, 0x60622ca7, 0xa02369b9, 0x655abb50, 0x9b540b19, 0x875fa099, 0x11ed935f, 0x16681281, 0x57f584a5, 0x1b227263, 0x8fd948e4, 0x6dbc3128, 0x5d4a14d9, 0xe864b7e3, 0xdb6c4f15, 0xfacb4fd0, 0xd81e799e, 0x86854dc7, 0xfc8883a0, 0xc1c7b6a3, 0x095bbf00, 0xad19489d, 0x1dadf43e, 0x233f7061, 0x7cde3759, 0xcbee7460, 0xe8efd855, 0x61d99735, 0x9e447a2e, 0xc3453484, 0x675fda79, 0xe3674340, 0x153e21e7, 0x8fb03d4a, unsigned long ks2[] = { 0xe93d5a68, 0x948140f7, 0xbcf46b2e, 0xd4a20068, 0x1e39f62e, 0x97244546, 0x70f4ddd3, 0x66a02f45, 0x96eb27b3, 0x55fd3941, 0x0a2c86da, 0xe9b66dfb, 0x4f3ffea2, 0xe887ad8c, 0xce78a399, 0x406b2a42, 0x1dc9faf7, 0x4b6d1856, 0x6841e7f7, 0xca7820fb, 0x55533a3a, 0x20838d87, 0xcca92963, 0x99e1db33, 0xfdf8e802, 0x04272f70, 0x48c1133f, 0xc70f86dc, 0x325f51eb, 0xd59bc0d1, 0xdff8e8a3, 0x1f636c1b, 0x6b2395e0, 0x333e92e1, 0xde720c8c, 0x2da2f728, 0x5449a36f, 0x877d48fa, 0x3a6f6eab, 0xf4f8fd37, 0xc67b5510, 0x6d672c37, 0xb5390f92, 0x690fed0b, 0xbb132f88, 0x515bad24, 0x8026e297, 0xf42e312d, 0x6a124237, 0xb79251e7, 0x3d25bdd8, 0xe2e1c3c9, 0x64af674e, 0xda86a85f, 0x60787bf8, 0x6003604d, 0x83426b33, 0xf01eab71, 0x55464299, 0xbf582e61, 0x5366f9c3, 0xc8b38e74, 0x846a0e79, 0x915f95e2, 0xb90bace1, 0xbb8205d0, 0x662d09a1, 0xc4324633, 0x1ab93d1d, 0x0ba5a4df, 0xa1e2ce9b, 0x4fcd7f52, 0x9af88c27, 0x773f8641, 0x006058aa, 0x30dc7d62, 0xbbcbee56, 0x90bcb6de,
0x5223a708, 0xb17f37d1, 0xeecea50f, 0xecdd4775, 0xb5735c90, 0x9cab5cab, 0x40685a32, 0x95f7997e, 0x0e358829, 0x9b83c3ff, 0x58ebf2ef, 0x42105d14, 0xc742f442, 0xe44b476a, 0x7f1524c3, 0x1462b174, 0x3372f092, 0x4085f2a7, 0xa969a7aa, 0xfdd56705, 0xc5c43465, 0xe6e39f2b,
0xf71312b6, 0xebadfe6e, 0x018cff28, 0xc332ddef, 0xdb2f953b, 0x2aef7dad, 0x619f1510, 0x13cca830, 0x4c70a239, 0xd59e9e0b, 0xb2f3846e, 0x648b1eaf, 0x3c2ab4b3, 0x319ee9d5, 0x623d7da8, 0xf837889a, 0xc7e61fd6, 0x96dedfa1, 0x1ac24696, 0xcdb30aeb, 0x34c6ffea, 0xfe28ed61, 0x203e13e0, 0x45eee2b6, 0xef6abbb5, 0x654f3b1d, 0x3d816250, 0xcf62a1f2, 0x69cb7492, 0x47848a0b, 0x23820e00, 0x58428d2a, 0x8d937e41, 0xd65fecf1, 0xce77326e, 0xa6078084, 0xc50c06c2, 0x5a04abfc, 0x0e1e9ec9, 0xdb73dbd3, 0x713e38d8, 0x3d28f89e, 0xdb83adf7};
0xeac31f66, 0xbe6c5aa5, 0x5b6e2f84, 0xeb61bd96, 0xcbaade14, 0x19bdf0ca, 0xc021b8f7, 0x97e32d77, 0x7858ba99, 0x532e3054, 0xee7c3c73, 0xa3aaabea, 0x41cd2105, 0x5b8d2646, 0x5692b285, 0x0c55f5ea, 0x6c223bdb, 0x19f8509e, 0x800bcadc, 0x105588cd, 0xf16dff20,
0xf64c261c, 0xd4082471, 0x14214f74, 0xbfbc09ec, 0xda2547e6, 0x68dc1462, 0xb58ce006, 0x20fe9e35, 0x26a36631, 0xfb0af54e, 0xfe6ba9b7, 0xa62a4a56, 0x80bb155c, 0x07f9c9ee, 0xf2bcc18f, 0x0e12b4c2, 0x3b240b62, 0xd0127845, 0xc39dfd27, 0xa812dc60, 0x2765d43b, 0x667b9ffb, 0x7b9479bf, 0x6842ada7, 0x06a1bbe6, 0x44421659, 0xbebfe988, 0xd1fd8346, 0xb0804187, 0x4e58f48f, 0xb475f255, 0x466e598e, 0x11a86248, 0xe85a1f02, 0xa186f20f, 0x50115e01, 0xc3604c06, 0x11e69ed7, 0xebfc7da1,
0x94692934, 0x3320f46a, 0xbf8b8840, 0x03bd9785, 0xabca0a9a, 0xd7486900, 0x7af4d6b6, 0xd9f385b9, 0xeae397b2, 0xd8feb397, 0xd096954b, 0x3f3125f9, 0x05282ce3, 0x41041f0f, 0x41113564, 0x02e1329e, 0xeebeb922, 0x95b794fd, 0xf33e8d1e, 0xa1ebddf8, 0xdcd0e804, 0xcedb7d9c, 0x763bd6eb, 0xc66a2b3b, 0x4bfb6350, 0x0a121386, 0x64e4c3fe, 0xf6381fb0, 0x3c005e5f, 0xf2ddfda2, 0x46fcd9b9, 0x20b45770, 0x7574a99e, 0x09f0be8c, 0x2868f169, 0xa70683fa, 0x61a806b5, 0x2338ea63, 0xce591d76,
0x7602d4f7, 0x500061af, 0x96b591af, 0x31cb8504, 0x530429f4, 0x27a18dee, 0xd3375fec, 0x3b124e8b, 0xdd5b4332, 0xba489527, 0xa1159a58, 0x9029317c, 0xe4c66d22, 0x5d886e17, 0x602a9c60, 0xcad18115, 0xe6ba0d99, 0xe7ccf5f0, 0x992eff74, 0xdb6e6b0d, 0xcc00ffa3, 0xd9155ea3, 0xcc115979, 0x782ef11c, 0x11caedfa, 0xd5abea2a, 0xf0f7c086, 0xd736fccc, 0xbde8ae24, 0x8789bdc2, 0x8b1ddf84, 0xc902de4c, 0xe0a9dc09, 0x1d6efe10, 0x573906fe, 0x0de6d027, 0xc0f586e0, 0xc2c21634, 0x4b7c0188,
0x411520f7, 0x43b7d4b7, 0x4d95fc1d, 0x7fac6dd0, 0x28507825, 0x680ec0a4, 0xaace1e7c, 0xee39d7ab, 0x3a6efa74, 0x454056ac, 0x55a867bc, 0x5ef47e1c, 0x95c11548, 0x404779a4, 0x257b7834, 0xaf664fd1, 0x85b2a20e, 0x647d0862, 0x0a476341, 0x991be14c, 0xf1290dc7, 0xa091cf0b, 0x37392eb3, 0x12754ccc, 0x1a6b1018, 0xd90cec6e, 0x9dbc8057, 0x7745ae04, 0x77a057be, 0xf474ef38, 0x7aeb2661, 0x8cd55591, 0xb77f19b6, 0x4a99a025, 0xdcb7da83, 0xa002b5c4, 0xf0177a28, 0x53c2dd94, 0x6f05e409,
0x39720a3d, 0x7c927c24, 0xed545578, 0x08fca5b5, 0xa28514d9, 0x6c51133c, 0xd79a3234, 0x92638212, unsigned long ks3[] = { 0x3a39ce37, 0xd3faf5cf, 0xd3822740, 0x99bc9bbe, 0xb78c1b6b, 0x21a19045, 0xc6a376d2, 0x6549c2c8, 0x2939bbdb, 0xa9ba4650, 0x63ef8ce2, 0x9a86ee22, 0x83c061ba, 0x9be96a4d, 0x4ba99586, 0xef5562e9, 0x80e4a915, 0x87b08601, 0x2cf0b7d9, 0x022b8b51, 0x1f9f25cf, 0xadf2b89b, 0x47b0acfd, 0xed93fa9b, 0x785f0191, 0xed756055, 0x03a16125, 0x0564f0bd, 0x1b3f6d9b, 0x1e6321f5, 0x03563482, 0x8aba3cbb, 0x4de81751, 0x3830dc8e, 0x5121ce64, 0x774fbe32, 0xa2ae0810, 0xdd6db224, 0x586cdecf, 0x1c20c8ae, 0xdda26a7e, 0x3a59ff45, 0x8d6612ae, 0xbf3c6f47, 0x740e0d8d, 0xe75b1357, 0x34d2466a, 0x0115af84, 0x6f3f3b82, 0x3520ab82, 0xbb3a792b, 0x344525bd, 0xe01cc87e, 0xbcc7d1f6, 0xd0dadecb, 0xd50ada38, 0xf79e59b7, 0x43f5bb3a, 0x0f91fc71, 0x9b941525, 0xb6c1075e, 0xe3056a0c, 0x4c98a0be, 0x3278e964, 0x1b0a7441, 0x4ba3348c, 0xe60b6f47, 0x0fe3f11d, 0x1618b166, 0xfd2c1d05, 0x93a83531, 0x56cccd02, 0xde966292, 0x81b949d0, 0x45e1d006, 0xc3f27b9a, 0x71126905, 0xb2040222, 0x38abbd60, 0x2547adf0, 0x85cbfe4e, 0x8ae88dd8, 0x01c36ae4, 0xd6ebe1f9, 0xb74e6132, 0xce77e25b,
0x86e3725f, 0xd83d7cd3, 0x6fd5c7e7, 0x670efa8e,
0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0x406000e0};
0xabc27737, 0xd5118e9d, 0xb26eb1be, 0x530ff8ee, 0xac9526e8, 0xc089c2b8, 0x8fe51550, 0xc72fefd3, 0x9b09e6ad, 0x96d5ac3a, 0x5ad6b472, 0xe8d3c48d, 0xf7960e44, 0xc3eb9e15, 0xf59c66fb, 0x28517711, 0x379d5862, 0xa8b6e37e, 0x69852dfd, 0x5bbef7dd, 0x3e350a44, 0xd29be463, 0xf8721671, 0xe1b00428, 0x011a1d4b, 0xa08839e1, 0xcf0111c3, 0x0339c32a, 0xf2d519ff, 0xfae59361, 0x10d25065, 0x9f1f9532, 0xc5be7120, 0xe54cda54, 0x848fd2c5, 0xacf08162, 0x4c50901b, 0xc9aa53fd, 0xb6cbcf7c, 0xba38209c, 0x7aaaf9b0, 0x90d4f869, 0x578fdfe3,
0x5ac52d1b, 0x5cb0679e, 0xbf0f7315, 0xd62d1c7e, 0x6a366eb4, 0x5748ab2f, 0x468dde7d, 0xd5730a1d, 0xbe5ee304, 0xa1fad5f0, 0x43242ef6, 0xa51e03aa, 0xba645bd6, 0x2826a2f9, 0xf752f7da, 0x3f046f69, 0x3b3ee593, 0xe990fd5a, 0x017da67d, 0xd1cf3ed6, 0x5a88f54c, 0xe029ac71, 0x283b57cc, 0xf8d56629, 0xe3d35e8c, 0x15056dd4, 0x3c9057a2, 0x97271aec, 0x26dcf319, 0x7533d928, 0xc20ad9f8, 0xabcc5167, 0x9320f991, 0xea7a90c2, 0xc3293d46, 0x48de5369, 0x09072166, 0xb39a460a, 0x1b588d40, 0xccd2017f, 0xbcb4cdd5, 0x72eacea8, 0x542f5d9e, 0xaec2771b, 0xaf537d5d, 0x4040cb08, 0x95983a1d, 0x06b89fb4, 0x277227f8, 0x611560b1, 0x51ce794b, 0x2f32c9b7, 0xa1e8aac7, 0x1a908749, 0xc6913667, 0x8df9317c, 0x27d9459c, 0xbf97222c, 0xceb69ceb, 0xc2a86459, 0xcb03a442, 0xe0ec6e0e, 0xe0d392df, 0xd3a0342b, 0xc37632d8, 0xdf359f8d, 0x1edad891, 0xce6279cf, 0xf6fb2299, 0xf523f357, 0x5a75ebb5, 0x6e163697, 0x71c65614, 0xe6c6c7bd, 0x62a80f00, 0xbb25bfe2, 0xcd769c2b, 0x53113ec0, 0xf746ce76, 0x77afa1c5, 0x4cf9aa7e, 0x1948c25c, 0xa65cdea0, 0x3f09252d, 0x3ac372e6};
/* Initialize s-boxes without file read. */ for(i=0;i<256;i++){ c->S[0][i] = ks0[i]; c->S[1][i] = ks1[i]; c->S[2][i] = ks2[i]; c->S[3][i] = ks3[i]; } j = 0; for (i = 0; i < N + 2; ++i) { data = 0x00000000; for (k = 0; k < 4; ++k) {
0x4fa33742, 0xc700c47b, 0xbc946e79, 0x4cd04dc6, 0x6a2d519a, 0x9cf2d0a4, 0xa73a3ae1, 0x77fa0a59, 0x9e34d797, 0x7c7d2d28, 0xe019a5e6, 0x79132e28, 0x88f46dba, 0xa93a072a, 0xb155fdf5, 0xccad925f, 0xfb3e7bce, 0x6413e680, 0x6445c0dd, 0x6bb4e3bb, 0xfa6484bb, 0xf64e6370, 0x4eb4e2cc, 0xce6ea048, 0xe7933fdc, 0xa01fbac9, 0xd44fbd9a, 0xe0b12b4f, 0x15e6fc2a, 0x12baa8d1, 0x1698db3b, 0x8971f21e, 0x9b992f2e, 0xcd3e7e6f, 0xa6327623, 0x88d273cc, 0x327a140a, 0x35bdd2f6, 0x1640e3d3, 0x20756060, 0x02fb8a8c, 0xc208e69f,
data = (data << 8) | key[j]; j = j + 1; if (j >= keybytes) { j = 0; }
} c->P[i] = c->P[i] ^ data; } datal = 0x00000000; datar = 0x00000000;
for (i = 0; i < N + 2; i += 2) { Blowfish_encipher(c,&datal, &datar);
}
c->P[i] = datal; c->P[i + 1] = datar;
for (i = 0; i < 4; ++i) { for (j = 0; j < 256; j += 2) { Blowfish_encipher(c,&datal, &datar);
}
}
}
c->S[i][j] = datal; c->S[i][j + 1] = datar;
void blf_key(blf_ctx *c, char *k, int len){ InitializeBlowfish(c,k,len); } void blf_enc(blf_ctx *c, unsigned long *data, int blocks){ unsigned long *d; int i;
}
d = data; for(i=0;i
void blf_dec(blf_ctx *c, unsigned long *data, int blocks){ unsigned long *d; int i;
}
d = data; for(i=0;i
void main(void){ blf_ctx c; char key[]="AAAAA"; unsigned long data[10]; int i;
for(i=0;i<10;i++) data[i] = i;
}
blf_key(&c,key,5); blf_enc(&c,data,5); blf_dec(&c,data,1); blf_dec(&c,data+2,4); for(i=0;i<10;i+=2) printf("Block %01d decrypts to: %08lx %08lx.\n", i/2,data[i],data[i+1]);
3-WAY #define #define #define
STRT_E STRT_D NMBR
0x0b0b /* round constant of first encryption round */ 0xb1b1 /* round constant of first decryption round */ 11 /* number of rounds is 11 */
typedef
unsigned long int word32 ; /* the program only works correctly if long = 32bits */ typedef unsigned long u4; typedef unsigned char u1; typedef struct { u4 k[3],ki[3], ercon[NMBR+1],drcon[NMBR+1]; } twy_ctx; /* Note:
encrypt and decrypt expect full blocks--padding blocks is caller's responsibility. All bulk encryption is done in ECB mode by these calls. Other modes may be added easily enough.
*/
/* destroy: Context. */ /* Scrub context of all sensitive data. */ void twy_destroy(twy_ctx *); /* encrypt: Context, ptr to data block, # of blocks. */ void twy_enc(twy_ctx *, u4 *, int); /* decrypt: Context, ptr to data block, # of blocks. */ void twy_dec(twy_ctx *, u4 *, int); /* key: Context, ptr to key data. */ void twy_key(twy_ctx *, u4 *); /* ACCODE----------------------------------------------------------- */ /* End of AC code prototypes and structures. */ /* ----------------------------------------------------------------- */ void mu(word32 *a) { int i ; word32 b[3] ;
/* inverts the order of the bits of a */
b[0] = b[1] = b[2] = 0 ; for( i=0 ; i<32 ; i++ ) { b[0] <<= 1 ; b[1] <<= 1 ; b[2] <<= 1 ; if(a[0]&1) b[2] |= 1 ; if(a[1]&1) b[1] |= 1 ;
if(a[2]&1) b[0] |= 1 ; a[0] >>= 1 ; a[1] >>= 1 ; a[2] >>= 1 ; } a[0] = b[0] ; }
a[1] = b[1] ;
void gamma(word32 *a) { word32 b[3] ;
a[2] = b[2] ;
/* the nonlinear step */
b[0] = a[0] ^ (a[1]|(~a[2])) ; b[1] = a[1] ^ (a[2]|(~a[0])) ; b[2] = a[2] ^ (a[0]|(~a[1])) ; a[0] = b[0] ; }
a[1] = b[1] ;
void theta(word32 *a) { word32 b[3]; b[0] = a[0] ^ b[1] = a[1] ^ b[2] = a[2] ^
a[0] = b[0] ; }
a[2] = b[2] ;
/* the linear step */
(a[0]>>16) (a[1]>>24) (a[2]>>16) (a[1]>>16) (a[2]>>24) (a[0]>>16) (a[2]>>16) (a[0]>>24) (a[1]>>16)
^ ^ ^ ^ ^ ^ ^ ^ ^
(a[1]<<16) (a[2]<<8) (a[0]<<16) (a[2]<<16) (a[0]<<8) (a[1]<<16) (a[0]<<16) (a[1]<<8) (a[2]<<16)
a[1] = b[1] ;
^ ^ ^ ^ ^ ^ ^ ^ ^
(a[1]>>16) (a[2]>>8) (a[2]>>24) (a[2]>>16) (a[0]>>8) (a[0]>>24) (a[0]>>16) (a[1]>>8) (a[1]>>24)
^ ^ ^ ^ ^ ^ ^ ^ ^
(a[2]<<16) (a[0]<<24) (a[0]<<8) (a[0]<<16) (a[1]<<24) (a[1]<<8) (a[1]<<16) (a[2]<<24) (a[2]<<8)
a[2] = b[2] ;
void pi_1(word32 *a) { a[0] = (a[0]>>10) ^ (a[0]<<22); a[2] = (a[2]<<1) ^ (a[2]>>31); } void pi_2(word32 *a) { a[0] = (a[0]<<1) ^ (a[0]>>31); a[2] = (a[2]>>10) ^ (a[2]<<22); } void rho(word32 *a) { theta(a) ; pi_1(a) ; gamma(a) ; pi_2(a) ; }
/* the round function
*/
void rndcon_gen(word32 strt,word32 *rtab) { /* generates the round constants */ int i ; for(i=0 ; i<=NMBR ; i++ )
^ ^ ; ^ ^ ; ^ ^ ;
}
{ rtab[i] = strt ; strt <<= 1 ; if( strt&0x10000 ) strt ^= 0x11011 ; }
/* Modified slightly to fit the caller's needs. */ void encrypt(twy_ctx *c, word32 *a) { char i ; for( i=0 ; ik[0] ^ (c->ercon[i]<<16) ; a[1] ^= c->k[1] ; a[2] ^= c->k[2] ^ c->ercon[i] ; rho(a) ; } a[0] ^= c->k[0] ^ (c->ercon[NMBR]<<16) ; a[1] ^= c->k[1] ; a[2] ^= c->k[2] ^ c->ercon[NMBR] ; theta(a) ; } /* Modified slightly to meet caller's needs. */ void decrypt(twy_ctx *c, word32 *a) { char i ; mu(a) ; for( i=0 ; iki[0] ^ (c->drcon[i]<<16) ; a[1] ^= c->ki[1] ; a[2] ^= c->ki[2] ^ c->drcon[i] ; rho(a) ; } a[0] ^= c->ki[0] ^ (c->drcon[NMBR]<<16) ; a[1] ^= c->ki[1] ; a[2] ^= c->ki[2] ^ c->drcon[NMBR] ; theta(a) ; mu(a) ; } void twy_key(twy_ctx *c, u4 *key){ c->ki[0] = c->k[0] = key[0]; c->ki[1] = c->k[1] = key[1]; c->ki[2] = c->k[2] = key[2]; theta(c->ki); mu(c->ki); rndcon_gen(STRT_E,c->ercon); rndcon_gen(STRT_D,c->drcon); } /* Encrypt in ECB mode. */ void twy_enc(twy_ctx *c, u4 *data, int blkcnt){ u4 *d; int i; d = data; for(i=0;i
}
}
encrypt(c,d); d +=3;
/* Decrypt in ECB mode. */ void twy_dec(twy_ctx *c, u4 *data, int blkcnt){ u4 *d; int i;
}
d = data; for(i=0;i
/* Scrub sensitive values from memory before deallocating. */ void twy_destroy(twy_ctx *c){ int i; }
for(i=0;i<3;i++) c->k[i] = c->ki[i] = 0;
void printvec(char *chrs, word32 *d){ printf("%20s : %08lx %08lx %08lx \n",chrs,d[2],d[1],d[0]); } main() { twy_ctx gc; word32 a[9],k[3]; int i; /* Test vector 1. */ k[0]=k[1]=k[2]=0; a[0]=a[1]=a[2]=1; twy_key(&gc,k); printf("**********\n"); printvec("KEY = ",k); printvec("PLAIN = ",a); encrypt(&gc,a); printvec("CIPHER = ",a); /* Test vector 2. */ k[0]=6;k[1]=5;k[2]=4; a[0]=3;a[1]=2;a[2]=1; twy_key(&gc,k); printf("**********\n"); printvec("KEY = ",k); printvec("PLAIN = ",a); encrypt(&gc,a); printvec("CIPHER = ",a);
/* Test vector 3. */ k[2]=0xbcdef012;k[1]=0x456789ab;k[0]=0xdef01234; a[2]=0x01234567;a[1]=0x9abcdef0;a[0]=0x23456789; twy_key(&gc,k); printf("**********\n"); printvec("KEY = ",k); printvec("PLAIN = ",a); encrypt(&gc,a); printvec("CIPHER = ",a); /* Test vector 4. */ k[2]=0xcab920cd;k[1]=0xd6144138;k[0]=0xd2f05b5e; a[2]=0xad21ecf7;a[1]=0x83ae9dc4;a[0]=0x4059c76e; twy_key(&gc,k); printf("**********\n"); printvec("KEY = ",k); printvec("PLAIN = ",a); encrypt(&gc,a); printvec("CIPHER = ",a); /*
TEST VALUES
key : 00000000 00000000 00000000 plaintext : 00000001 00000001 00000001 ciphertext : ad21ecf7 83ae9dc4 4059c76e key : 00000004 00000005 00000006 plaintext : 00000001 00000002 00000003 ciphertext : cab920cd d6144138 d2f05b5e key : bcdef012 456789ab def01234 plaintext : 01234567 9abcdef0 23456789 ciphertext : 7cdb76b2 9cdddb6d 0aa55dbb key : cab920cd d6144138 d2f05b5e plaintext : ad21ecf7 83ae9dc4 4059c76e ciphertext : 15b155ed 6b13f17c 478ea871 */ /* Enc/dec test: */ for(i=0;i<9;i++) a[i]=i; twy_enc(&gc,a,3); for(i=0;i<9;i+=3) printf("Block %01d encrypts to %08lx %08lx %08lx\n", i/3,a[i],a[i+1],a[i+2]); twy_dec(&gc,a,2); twy_dec(&gc,a+6,1); for(i=0;i<9;i+=3) printf("Block %01d decrypts to %08lx %08lx %08lx\n", i/3,a[i],a[i+1],a[i+2]); }
RC5 #include <stdio.h> /* An RC5 context needs to know how many rounds it has, and its subkeys. */ typedef struct { u4 *xk; int nr; } rc5_ctx; /* Where possible, these should be replaced with actual rotate instructions. For Turbo C++, this is done with _lrotl and _lrotr. */ #define ROTL32(X,C) (((X)<<(C))|((X)>>(32-(C)))) #define ROTR32(X,C) (((X)>>(C))|((X)<<(32-(C)))) /* Function prototypes for dealing with RC5 basic operations. */ void rc5_init(rc5_ctx *, int); void rc5_destroy(rc5_ctx *); void rc5_key(rc5_ctx *, u1 *, int); void rc5_encrypt(rc5_ctx *, u4 *, int); void rc5_decrypt(rc5_ctx *, u4 *, int); /* Function implementations for RC5. */ /* Scrub out all sensitive values. */ void rc5_destroy(rc5_ctx *c){ int i; for(i=0;i<(c->nr)*2+2;i++) c->xk[i]=0; free(c->xk); } /* Allocate memory for rc5 context's xk and such. */ void rc5_init(rc5_ctx *c, int rounds){ c->nr = rounds; c->xk = (u4 *) malloc(4*(rounds*2+2)); } void rc5_encrypt(rc5_ctx *c, u4 *data, int blocks){ u4 *d,*sk; int h,i,rc; d = data; sk = (c->xk)+2; for(h=0;hxk[0]; d[1] += c->xk[1]; for(i=0;inr*2;i+=2){ d[0] ^= d[1]; rc = d[1] & 31; d[0] = ROTL32(d[0],rc); d[0] += sk[i]; d[1] ^= d[0]; rc = d[0] & 31; d[1] = ROTL32(d[1],rc); d[1] += sk[i+1]; /*printf("Round %03d : %08lx %08lx sk= %08lx %08lx\n",i/2, d[0],d[1],sk[i],sk[i+1]);*/ } d+=2; }
} void rc5_decrypt(rc5_ctx *c, u4 *data, int blocks){ u4 *d,*sk; int h,i,rc; d = data; sk = (c->xk)+2; for(h=0;hnr*2-2;i>=0;i-=2){ /*printf("Round %03d: %08lx %08lx sk: %08lx %08lx\n", i/2,d[0],d[1],sk[i],sk[i+1]); */ d[1] -= sk[i+1]; rc = d[0] & 31; d[1] = ROTR32(d[1],rc); d[1] ^= d[0];
}
}
d+=2;
d[0] -= sk[i]; rc = d[1] & 31; d[0] = ROTR32(d[0],rc); d[0] ^= d[1]; } d[0] -= c->xk[0]; d[1] -= c->xk[1];
void rc5_key(rc5_ctx *c, u1 *key, int keylen){ u4 *pk,A,B; /* padded key */ int xk_len, pk_len, i, num_steps,rc; u1 *cp; xk_len = c->nr*2 + 2; pk_len = keylen/4; if((keylen%4)!=0) pk_len += 1; pk = (u4 *) malloc(pk_len * 4); if(pk==NULL) { printf("An error occurred!\n"); exit(-1); } /* Initialize pk -- this should work on Intel machines, anyway.... */ for(i=0;ixk[0] = 0xb7e15163; /* P32 */ for(i=1;i<xk_len;i++) c->xk[i] = c->xk[i-1] + 0x9e3779b9; /* Q32 */ /* TESTING */ A = B = 0; for(i=0;i<xk_len;i++) { A = A + c->xk[i]; B = B ^ c->xk[i]; } /* Expand key into xk. */ if(pk_len>xk_len) num_steps = 3*pk_len;else num_steps = 3*xk_len;
A = B = 0; for(i=0;ixk[i%xk_len] = ROTL32(c->xk[i%xk_len] + A + B,3); rc = (A+B) & 31; B = pk[i%pk_len] = ROTL32(pk[i%pk_len] + A + B,rc); } /* Clobber sensitive data before deallocating memory. */ for(i=0;i
}
void main(void){ rc5_ctx c; u4 data[8]; char key[] = "ABCDE"; int i; printf("-------------------------------------------------\n"); for(i=0;i<8;i++) data[i] = i; rc5_init(&c,10); /* 10 rounds */ rc5_key(&c,key,5); rc5_encrypt(&c,data,4); printf("Encryptions:\n"); for(i=0;i<8;i+=2) printf("Block %01d = %08lx %08lx\n", i/2,data[i],data[i+1]); rc5_decrypt(&c,data,2); rc5_decrypt(&c,data+4,2); printf("Decryptions:\n"); for(i=0;i<8;i+=2) printf("Block %01d = %08lx %08lx\n", i/2,data[i],data[i+1]); }
A5 typedef struct { unsigned long r1,r2,r3; } a5_ctx; static int threshold(r1, r2, r3) unsigned int r1; unsigned int r2; unsigned int r3; { int total; total = (((r1 >> 9) & 0x1) == 1) + (((r2 >> 11) & 0x1) == 1) + (((r3 >> 11) & 0x1) == 1); if (total > 1) return (0); else
}
return (1);
unsigned long clock_r1(ctl, r1) int ctl; unsigned long r1; { unsigned long feedback;
}
ctl ^= ((r1 >> 9) & 0x1); if (ctl) { feedback = (r1 >> 18) ^ (r1 >> 17) ^ (r1 >> 16) ^ (r1 >> 13); r1 = (r1 << 1) & 0x7ffff; if (feedback & 0x01) r1 ^= 0x01; } return (r1);
unsigned long clock_r2(ctl, r2) int ctl; unsigned long r2; { unsigned long feedback;
}
ctl ^= ((r2 >> 11) & 0x1); if (ctl) { feedback = (r2 >> 21) ^ (r2 >> 20) ^ (r2 >> 16) ^ (r2 >> 12); r2 = (r2 << 1) & 0x3fffff; if (feedback & 0x01) r2 ^= 0x01; } return (r2);
unsigned long clock_r3(ctl, r3) int ctl; unsigned long r3; { unsigned long feedback;
}
ctl ^= ((r3 >> 11) & 0x1); if (ctl) { feedback = (r3 >> 22) ^ (r3 >> 21) ^ (r3 >> 18) ^ (r3 >> 17); r3 = (r3 << 1) & 0x7fffff; if (feedback & 0x01) r3 ^= 0x01; } return (r3);
int keystream(key, frame, alice, bob) unsigned char *key; /* 64 bit session key unsigned long frame; /* 22 bit frame sequence number unsigned char *alice; /* 114 bit Alice to Bob key stream unsigned char *bob; /* 114 bit Bob to Alice key stream { unsigned long r1; /* 19 bit shift register */ unsigned long r2; /* 22 bit shift register */
*/ */ */ */
unsigned long r3; int i; int clock_ctl; unsigned char *ptr; unsigned char byte; unsigned int bits; unsigned int bit;
/* /* /* /* /* /* /*
23 bit shift register */ counter for loops */ xored with clock enable on each shift register */ current position in keystream */ byte of keystream being assembled */ number of bits of keystream in byte */ bit output from keystream generator */
/* Initialise shift registers from session key */ r1 = (key[0] | (key[1] << 8) | (key[2] << 16) ) & 0x7ffff; r2 = ((key[2] >> 3) | (key[3] << 5) | (key[4] << 13) | (key[5] << 21)) & 0x3fffff; r3 = ((key[5] >> 1) | (key[6] << 7) | (key[7] << 15) ) & 0x7fffff; /* Merge frame sequence number into shift register state, by xor'ing it * into the feedback path */ for (i=0;i<22;i++) { clock_ctl = threshold(r1, r2, r2); r1 = clock_r1(clock_ctl, r1); r2 = clock_r2(clock_ctl, r2); r3 = clock_r3(clock_ctl, r3); if (frame & 1) { r1 ^= 1; r2 ^= 1; r3 ^= 1; } frame = frame >> 1; } /* Run shift registers for 100 clock ticks to allow frame number to * be diffused into all the bits of the shift registers */ for (i=0;i<100;i++) { clock_ctl = threshold(r1, r2, r2); r1 = clock_r1(clock_ctl, r1); r2 = clock_r2(clock_ctl, r2); r3 = clock_r3(clock_ctl, r3); } /* Produce 114 bits of Alice->Bob key stream */ ptr = alice; bits = 0; byte = 0; for (i=0;i<114;i++) { clock_ctl = threshold(r1, r2, r2); r1 = clock_r1(clock_ctl, r1); r2 = clock_r2(clock_ctl, r2); r3 = clock_r3(clock_ctl, r3); bit = ((r1 >> 18) ^ (r2 >> 21) ^ (r3 >> 22)) & 0x01; byte = (byte << 1) | bit; bits++;
if (bits { *ptr = ptr++; bits = byte = }
== 8) byte; 0; 0;
} if (bits) *ptr = byte; /* Run shift registers for another 100 bits to hide relationship between * Alice->Bob key stream and Bob->Alice key stream. */ for (i=0;i<100;i++) { clock_ctl = threshold(r1, r2, r2); r1 = clock_r1(clock_ctl, r1); r2 = clock_r2(clock_ctl, r2); r3 = clock_r3(clock_ctl, r3); } /* Produce 114 bits of Bob->Alice key stream */ ptr = bob; bits = 0; byte = 0; for (i=0;i<114;i++) { clock_ctl = threshold(r1, r2, r2); r1 = clock_r1(clock_ctl, r1); r2 = clock_r2(clock_ctl, r2); r3 = clock_r3(clock_ctl, r3); bit = ((r1 >> 18) ^ (r2 >> 21) ^ (r3 >> 22)) & 0x01; byte = (byte << 1) | bit; bits++; if (bits == 8) { *ptr = byte; ptr++; bits = 0; byte = 0; }
} if (bits) *ptr = byte; return (0); }
void a5_key(a5_ctx *c, char *k){ c->r1 = k[0]<<11|k[1]<<3 | k[2]>>5 ; /* 19 */ c->r2 = k[2]<<17|k[3]<<9 | k[4]<<1 | k[5]>>7; /* 22 */ c->r3 = k[5]<<15|k[6]<<8 | k[7] ; /* 23 */ } /* Step one bit in A5, return 0 or 1 as output bit. */ int a5_step(a5_ctx *c){ int control;
}
control c->r1 = c->r2 = c->r3 = return(
= threshold(c->r1,c->r2,c->r3); clock_r1(control,c->r1); clock_r2(control,c->r2); clock_r3(control,c->r3); (c->r1^c->r2^c->r3)&1);
/* Encrypts a buffer of len bytes. */ void a5_encrypt(a5_ctx *c, char *data, int len){ int i,j; char t;
}
for(i=0;i
void a5_decrypt(a5_ctx *c, char *data, int len){ a5_encrypt(c,data,len); } void main(void){ a5_ctx c; char data[100]; char key[] = {1,2,3,4,5,6,7,8}; int i,flag; for(i=0;i<100;i++) data[i] = i; a5_key(&c,key); a5_encrypt(&c,data,100); a5_key(&c,key); a5_decrypt(&c,data,1); a5_decrypt(&c,data+1,99); flag = 0; for(i=0;i<100;i++) if(data[i]!=i)flag = 1; if(flag)printf("Decrypt failed\n"); else printf("Decrypt succeeded\n"); }
SEAL #undef SEAL_DEBUG #define ALG_OK 0 #define ALG_NOTOK 1 #define WORDS_PER_SEAL_CALL 1024 typedef struct { unsigned long t[520]; /* 512 rounded up to a multiple of 5 + 5*/ unsigned long s[265]; /* 256 rounded up to a multiple of 5 + 5*/ unsigned long r[20]; /* 16 rounded up to multiple of 5 */ unsigned long counter; /* 32-bit synch value. */ unsigned long ks_buf[WORDS_PER_SEAL_CALL]; int ks_pos; } seal_ctx;
#define #define #define #define #define #define
ROT2(x) (((x) >> 2) | ROT9(x) (((x) >> 9) | ROT8(x) (((x) >> 8) | ROT16(x) (((x) >> 16) ROT24(x) (((x) >> 24) ROT27(x) (((x) >> 27)
#define WORD(cp) #define #define #define #define
F1(x, F2(x, F3(x, F4(x,
y, y, y, y,
((x) << 30)) ((x) << 23)) ((x) << 24)) | ((x) << 16)) | ((x) << 8)) | ((x) << 5))
((cp[0] << 24)|(cp[1] << 16)|(cp[2] << 8)|(cp[3])) z) z) z) z)
(((x) & (y)) | ((~(x)) & (z))) ((x)^(y)^(z)) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) ((x)^(y)^(z))
int g(in, i, h) unsigned char *in; int i; unsigned long *h; { unsigned long h0; unsigned long h1; unsigned long h2; unsigned long h3; unsigned long h4; unsigned long a; unsigned long b; unsigned long c; unsigned long d; unsigned long e; unsigned char *kp; unsigned long w[80]; unsigned long temp; kp h0 h1 h2 h3 h4
= = = = = =
in; WORD(kp); WORD(kp); WORD(kp); WORD(kp); WORD(kp);
kp kp kp kp kp
+= += += += +=
4; 4; 4; 4; 4;
w[0] = i; for (i=1;i<16;i++) w[i] = 0; for (i=16;i<80;i++) w[i] = w[i-3]^w[i-8]^w[i-14]^w[i-16]; a b c d e
= = = = =
h0; h1; h2; h3; h4;
for (i=0;i<20;i++) { temp = ROT27(a) + F1(b, c, d) + e + w[i] + 0x5a827999; e = d; d = c; c = ROT2(b); b = a; a = temp; }
for (i=20;i<40;i++) { temp = ROT27(a) + F2(b, c, d) + e + w[i] + 0x6ed9eba1; e = d; d = c; c = ROT2(b); b = a; a = temp; } for (i=40;i<60;i++) { temp = ROT27(a) + F3(b, c, d) + e + w[i] + 0x8f1bbcdc; e = d; d = c; c = ROT2(b); b = a; a = temp; } for (i=60;i<80;i++) { temp = ROT27(a) + F4(b, c, d) + e + w[i] + 0xca62c1d6; e = d; d = c; c = ROT2(b); b = a; a = temp; } h[0] = h0+a; h[1] = h1+b; h[2] = h2+c; h[3] = h3+d; h[4] = h4+e; }
return (ALG_OK);
unsigned long gamma(a, i) unsigned char *a; int i; { unsigned long h[5];
}
(void) g(a, i/5, h); return h[i % 5];
int seal_init(seal_ctx *result, unsigned char *key) { int i; unsigned long h[5]; for (i=0;i<510;i+=5) g(key, i/5, &(result->t[i])); /* horrible special case for the end */ g(key, 510/5, h); for (i=510;i<512;i++) result->t[i] = h[i-510]; /* 0x1000 mod 5 is +1, so have horrible special case for the start */ g(key, (-1+0x1000)/5, h); for (i=0;i<4;i++) result->s[i] = h[i+1]; for (i=4;i<254;i+=5)
}
g(key, (i+0x1000)/5, &(result->s[i])); /* horrible special case for the end */ g(key, (254+0x1000)/5, h); for (i=254;i<256;i++) result->s[i] = h[i-254]; /* 0x2000 mod 5 is +2, so have horrible special case at the start */ g(key, (-2+0x2000)/5, h); for (i=0;i<3;i++) result->r[i] = h[i+2]; for (i=3;i<13;i+=5) g(key, (i+0x2000)/5, &(result->r[i])); /* horrible special case for the end */ g(key, (13+0x2000)/5, h); for (i=13;i<16;i++) result->r[i] = h[i-13]; return (ALG_OK);
int seal(seal_ctx *key, unsigned long in, unsigned long *out) { int i; int j; int l; unsigned long a; unsigned long b; unsigned long c; unsigned long d; unsigned short p; unsigned short q; unsigned long n1; unsigned long n2; unsigned long n3; unsigned long n4; unsigned long *wp; wp = out; for (l=0;l<4;l++) { a = in ^ key->r[4*l]; b = ROT8(in) ^ key->r[4*l+1]; c = ROT16(in) ^ key->r[4*l+2]; d = ROT24(in) ^ key->r[4*l+3]; for (j=0;j<2;j++) { p = a & 0x7fc; b += key->t[p/4]; a = ROT9(a); p = b & 0x7fc; c += key->t[p/4]; b = ROT9(b); p = c & 0x7fc; d += key->t[p/4]; c = ROT9(c); p = d & 0x7fc; a += key->t[p/4]; d = ROT9(d);
} n1 n2 n3 n4
= = = =
d; b; a; c;
p = a & 0x7fc; b += key->t[p/4]; a = ROT9(a); p = b & 0x7fc; c += key->t[p/4]; b = ROT9(b); p = c & 0x7fc; d += key->t[p/4]; c = ROT9(c); p = d & 0x7fc; a += key->t[p/4]; d = ROT9(d); /* This generates 64 32-bit words, or 256 bytes of keystream. */ for (i=0;i<64;i++) { p = a & 0x7fc; b += key->t[p/4]; a = ROT9(a); b ^= a; q c b c
= b & 0x7fc; ^= key->t[q/4]; = ROT9(b); += b;
p d c d
= (p+c) & 0x7fc; += key->t[p/4]; = ROT9(c); ^= c;
q a d a
= (q+d) & 0x7fc; ^= key->t[q/4]; = ROT9(d); += d;
p = (p+a) & 0x7fc; b ^= key->t[p/4]; a = ROT9(a); q = (q+b) & 0x7fc; c += key->t[q/4]; b = ROT9(b); p = (p+c) & 0x7fc; d ^= key->t[p/4]; c = ROT9(c); q = (q+d) & 0x7fc; a += key->t[q/4]; d = ROT9(d); *wp = b + key->s[4*i];
wp++; *wp = c ^ key->s[4*i+1]; wp++; *wp = d + key->s[4*i+2]; wp++; *wp = a ^ key->s[4*i+3]; wp++; if (i & 1) { a += n3; c += n4; } else { a += n1; c += n2; }
}
} } return (ALG_OK);
/* Added call to refill ks_buf and reset counter and ks_pos. */ void seal_refill_buffer(seal_ctx *c){ seal(c,c->counter,c->ks_buf); c->counter++; c->ks_pos = 0; } void seal_key(seal_ctx *c, unsigned char *key){ seal_init(c,key); c->counter = 0; /* By default, init to zero. */ c->ks_pos = WORDS_PER_SEAL_CALL; /* Refill keystream buffer on next call. */ } /* This encrypts the next w words with SEAL. */ void seal_encrypt(seal_ctx *c, unsigned long *data_ptr, int w){ int i;
}
for(i=0;i<w;i++){ if(c->ks_pos>=WORDS_PER_SEAL_CALL) seal_refill_buffer(c); data_ptr[i]^=c->ks_buf[c->ks_pos]; c->ks_pos++; }
void seal_decrypt(seal_ctx *c, unsigned long *data_ptr, int w) { seal_encrypt(c,data_ptr,w); } void seal_resynch(seal_ctx *c, unsigned long synch_word){ c->counter = synch_word; c->ks_pos = WORDS_PER_SEAL_CALL; } void main(void){ seal_ctx sc; unsigned long buf[1000],t;
int i,flag; unsigned char key[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; printf("1\n"); seal_key(&sc,key); printf("2\n"); for(i=0;i<1000;i++) buf[i]=0; printf("3\n"); seal_encrypt(&sc,buf,1000); printf("4\n"); t = 0; for(i=0;i<1000;i++) t = t ^ buf[i]; printf("XOR of buf is %08lx.\n",t); seal_key(&sc,key); seal_decrypt(&sc,buf,1); seal_decrypt(&sc,buf+1,999); flag = 0; for(i=0;i<1000;i++) if(buf[i]!=0)flag=1; if(flag) printf("Decrypt failed.\n"); else printf("Decrypt succeeded.\n"); }