Uploaded by sergeymisha

Прикладная криптография

advertisement
Áðþñ Øíàéåð
Ïðèêëàäíàÿ êðèïòîãðàôèÿ
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, çàæåãøåé ìåíÿ è ñäåëàâøåé
âîçìîæíûì âñå ýòî. Âñå ýòè ëþäè ïîìîãëè ñîçäàòü ãîðàçäî ëó÷øóþ êíèãó, ÷åì ÿ áû ñìîã ñîçäàòü â îäèíî÷êó .
Áðþñ Øíàéåð
Îàê Ïàðê, Èëëèíîéñ
schneier@counterpane.com
Îá àâòîðå
ÁÐÞÑ ØÍÀÉÅÐ - ïðåçèäåíò 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<b, òàê, ÷òîáû Àëèñà íå ïîëó÷èëà èíôîðìàöèè î b, à Áîá - îá a. Êðîìå òîãî, è Àëèñà, è Áîá óáåæäåíû â ïð îâåðêå ïðàâèëüíîñòè âû÷èñëåíèé. Òàê êàê èñïîëüçóåìûé êðèïòîãðàôè÷åñêèé àëãîðèòì ÿâëÿåòñÿ ñóùåñòâåííîé
÷àñòüþ ïðîòîêîëà, ïîäðîáíîñòè ìîæíî íàéòè â ðà çäåëå 23.14.
Êîíå÷íî, ýòîò ïðîòîêîë íå çàùèòèò îò àêòèâíûõ ìîøåííèêîâ. Íè÷òî íå ñìîæåò ïîìåøàòü Àëèñå (èëè Áîáó,
êàêàÿ ðàçíèöà) ñîëãàòü î ñâîåì âîçðàñòå. Åñëè áû Áîá áûë êîìïüþòåðíîé ïðîãðàììîé, êîòîðàÿ ñëåïî ñëåäîâàëà
áû ïðîòîêîëó, Àëèñà ìîãëà áû óçíàòü åãî âîçðàñò (ÿâëÿåòñÿ ëè âîçðàñòîì êîìïüþòåðíîé ïðîãðàììû îòðåçîê
âðåìåíè ñ ìîìåíòà åå íàïèñàíèÿ èëè ñ ìîìåíòà åå çàïóñêà?), ïîâòîðíî âûïîëíÿÿ ïðîòîêîë. Àëèñà ìîãëà áû óê àçàòü, ÷òî åå âîçðàñò - 60 ëåò. Óçíàâ, ÷òî îíà ñòàðøå, îíà ìîãëà áû âûïîëíèòü ïðîòîêîë ñíîâà, óêàçàâ, ÷òî åå âî çðàñò - 30 ëåò. Óçíàâ, ÷òî Áîá ñòàðøå, îíà ìîãëà áû ñíîâà âûïîëíèòü ïðîòîêîë, óêàçàâ, ÷òî åå âîçðàñò - 45 ëåò, è
òàê äàëåå, ïîêà Àëèñà íå óçíàåò âîçðàñò Áîáà ñ ëþáîé íóæíîé åé ñòåïåíüþ òî÷íîñòè.
Ïðè óñëîâèè, ÷òî ó÷àñòíèêè íå îáìàíûâàþò ñïåöèàëüíî, ýòîò ïðîòîêîë ëåãêî ðàñøèðèòü äëÿ íåñêîëüêèõ
ó÷àñòíèêîâ. Ëþáîå êîëè÷åñòâî ëþäåé ìîæåò îïðåäåëèòü ïîðÿäîê èõ âîçðàñòîâ ñ ïîìîùüþ ïîñëåäîâàòåëüíûõ
÷åñòíûõ ïðèìåíåíèé ïðîòîêîëà, è íèêàêîé ó÷àñòíèê íå ñìîæåò óçíàòü âîçðàñò äðóãîãî.
Ïðîòîêîë ¹3
Àëèñà íðàâèòñÿ çàáàâëÿòüñÿ ñ ïëþøåâûìè ìåäâåäÿìè.  ýðîòè÷åñêèõ ôàíòàçèÿõ Áîáà âàæíîå ìåñòî çàí èìàþò ìðàìîðíûå ñòîëû. Îáà âåñüìà ñòåñíÿþòñÿ ñâîèõ ïðèâû÷åê, íî ñ óäîâîëüñòâèåì íàøëè áû êîãî-íèáóäü,
êòî ðàçäåëèë áû ñ íèìè èõ... ãì... îáðàç æè çíè.
 Ñëóæáå áåçîïàñíûõ âû÷èñëåíèé ñ íåñêîëüêèìè ó÷àñòíèêàìè ìû ñïðîåêòèðîâàëè ïðîòîêîë äëÿ ïîäîáíûõ
ëþäåé. Ìû çàíóìåðîâàëè âïå÷àòëÿþùèé ñïèñîê èõ ïðèñòðàñòèé îò "àôðèêàíñêèõ ìóðàâüåäîâ" äî "ÿáëî÷íûõ
ïèðîãîâ". Ðàçäåëåííûå ìîäåìíîé ëèíèåé ñâÿçè , Àëèñà è Áîá ìîãóò ó÷àñòâîâàòü â áåçîïàñíîì ïðîòîêîëå ñ í åñêîëüêèìè ó÷àñòíèêàìè. Îíè âìåñòå ìîãóò îïðåäåëèòü, åñòü ëè ó íèõ îáùèå ïðèâû÷êè . Åñëè åñòü, îíè ìîãëè áû
óñòðåìèòüñÿ ê îáîþäíîìó ñ÷àñòüþ . Åñëè íåò, òî îíè ìîãëè áû áåçîïàñíî ðàññòàòüñÿ, ñîõðàíÿÿ óâåðåííîñòü, ÷òî
èõ ïðèâû÷êè îñòàëèñü â òàéíå. Íèêòî, äàæå Ñëóæáà áåçîïàñíûõ âû÷èñëåíèé ñ íåñêîëüêèìè ó÷àñòíèêàìè, íèê îãäà íå óçíàåò îá èõ ïðèñòðàñòèÿõ .
Âîò êàê ýòî ðàáîòàåò:
(1) Ñ ïîìîùüþ îäíîíàïðàâëåííîé ôóíêöèè Àëèñà õýøèðóåò ñâîþ ïðèâû÷êó êàê ñåìèçíà÷íóþ ñòðîêó .
(2) Èñïîëüçóÿ ýòó ñåìèçíà÷íóþ ñòðîêó êàê òåëåôîííûé íîìåð, Àëèñà çâîíèò ïî ýòîìó íîìåðó è îñòàâëÿåò ñ îîáùåíèå Áîáó. Åñëè íèêòî íå îòâå÷àåò, èëè íîìåð íå îáñëóæèâàåòñÿ. Àëèñà ïðèìåíÿåò îäíîíàïðàâëåííóþ
ôóíêöèþ ê òåëåôîííîìó íîìåðó äî òåõ ïîð, ïîêà íå íàéäåòñÿ êòî-íèáóäü, êòî ïîäõâàòèò ïðîòîêîë .
(3) Àëèñà ñîîáùàåò Áîáó, ñêîëüêî ðàç åé ïðèøëîñü ïðèìåíÿòü îäíîíàïðàâëåííóþ ôóíêöèþ ê ñâîåé ïðèâû ÷êå.
(4) Áîá õýøèðóåò ñâîþ ïðèâû÷êó ñòîëüêî æå ðàç. Îí òàêæå èñïîëüçóåò ñåìèçíà÷íóþ ñòðîêó êàê òåëåôîííûé
íîìåð è ñïðàøèâàåò ÷åëîâåêà íà äðóãîì êîíöå ïðîâîäà, íåò ëè äëÿ íåãî ñîîáùåíèé.
Îáðàòèòå âíèìàíèå, ÷òî ó Áîáà åñòü âîçìîæíîñòü âñêðûòèÿ ñ èñïîëüçîâàíèåì âûáðàííîãî îòêðûòîãî òåêñòà .
Îí ìîæåò õýøèðîâàòü ðàñïðîñòðàíåííûå ïðèâû÷êè è ïîçâîíèòü ïî ïîëó÷èâøåìóñÿ òåëåôîíó, ðàçûñêèâàÿ ñîî áùåíèÿ äëÿ íåãî. Ýòî ïðîòîêîë ðåàëüíî ðàáîòàåò òîëüêî òàêîå âñêðûòèå íåïðàêòè÷íî èç-çà äîñòàòî÷íîãî ÷èñëà
âîçìîæíûõ îòêðûòûõ òåêñòîâ ñîîáùåíèé .
Òàêæå ñóùåñòâóåò ìàòåìàòè÷åñêèé ïðîòîêîë, ïîõîæèé íà Ïðîòîêîë ¹ 2 . Àëèñà çíàåò a, Áîá çíàåò b, è îíè
âìåñòå ïûòàþòñÿ îïðåäåëèòü, âåðíî ëè, ÷òî a = b, ïðè÷åì òàê, ÷òîáû Áîá íè÷åãî íå óçíàë îá a, à Àëèñà - î b.
Ïîäðîáíîñòè ìîæíî íàéòè â ðàçäåëå 23.14.
Ïðîòîêîë ¹4
Âîò äðóãàÿ ïðîáëåìà äëÿ áåçîïàñíûõ âû÷èñëåíèé ñî ìíîãèìè ó÷àñòíèêàìè [1373]: ñîâåò ñåìè ðåãóëÿðíî
âñòðå÷àåòñÿ, ÷òîáû òàéíî ïðîãîëîñîâàòü ïî íåêîòîðûì âîïðîñàì. (Âñå â ïîðÿäêå, îíè óïðàâëÿþò ìèðîì - íå
ãîâîðèòå íèêîìó, ÷òî ÿ âàì ïðîãîâîðèëñÿ.) Âñå ÷ëåíû ñîâåòà ìîãóò ãîëîñîâàòü "äà" èëè "íåò". Êðîìå òîãî, äâå
ñòîðîíû îáëàäàþò "ñóïåð-áþëëåòåíÿìè": 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<v
int k, tl, t2, t3;
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<r; ++i)
modulus*=m[i];
n=0;
for (i=0; i<r; ++i) {
n+=u[i] * modexp(modulus/m[i]*totient(m[i]),m[i]);
n %= modulus;
}
return n;
}
Îáðàùåíèå Êèòàéñêîé òåîðåìû îá îñòàòêàõ ìîæåò áûòü èñïîëüçîâàíî äëÿ ðåøåíèÿ ñëåäóþùåé ïðîáëåìû:
åñëè 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 ìîæíî óçíàòü, îòïðàâèâ çàïðîñ ïî ýëåêòðîííîé
ïî÷òå ïî àäðåñó challenge-info@rsa.com.
Êâàäðàòíûå êîðíè ïî ìîäóëþ 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; idea@ascom.ch.
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 Ãåíåðàöèÿ íåñêîëüêèõ ïîòîêîâ èç îäíîãî ãåíåðàòîðà ïñåâäîñëó÷àéíîé
ïîñëåäîâàòåëüíîñòè
Åñëè íóæíî çàøèôðîâàòü íåñêîëüêî êàíàëîâ ñâÿçè ïðè ïîìîùè îäíîãî áëîêà - íàïðèìåð, ìóëüòèïëåêñîðà ïðîñòûì ðåøåíèåì ÿâëÿåòñÿ èñïîëüçîâàíèå äëÿ êàæäîãî ïîòîêà ñâîåãî ãåíåðàòîðà ïñåâäîñëó÷àéíîé ïîñëåäîâ àòåëüíîñòè. Ïðè 
Download