Casa / Mezzi sociali / Codice semanticamente corretto. Codifica. Perché e chi ha bisogno del layout semantico

Codice semanticamente corretto. Codifica. Perché e chi ha bisogno del layout semantico

4.1. Nozioni di base sulla crittografia

L'essenza della crittografia con il metodo di sostituzione è la seguente. Lascia che i messaggi in russo vengano crittografati e ogni lettera di questi messaggi venga sostituita. Poi, lettera UN dell'alfabeto originale, viene abbinato un certo insieme di caratteri (sostituzioni cifrate). MA A, B - M B, ..., I - M Z. Le sostituzioni cifrate sono scelte in modo tale che due insiemi qualsiasi ( MI E M J, io ≠ j) non conteneva elementi identici ( M io ∩ M J = Ø).

La tabella mostrata nella Figura 4.1 è la chiave di cifratura di sostituzione. Sapendolo, è possibile eseguire sia la crittografia che la decrittografia.

UNB... IO
MAMB... MI

Fig.4.1. Tabella di sostituzione cifratura

Quando crittografato, ogni lettera UN messaggio aperto sostituito da qualsiasi personaggio del set MA. Se il messaggio contiene più lettere UN, quindi ciascuno di essi viene sostituito da qualsiasi carattere from MA. Per questo motivo, con una sola chiave, puoi ottenere varie opzioni cifrari per lo stesso messaggio aperto. Fin dai set MA, MB, ..., MZ non si intersecano a coppie, quindi per ogni carattere del cifragramma è possibile determinare univocamente a quale insieme appartiene e, di conseguenza, quale lettera del messaggio aperto sostituisce. Pertanto, la decrittazione è possibile e il messaggio aperto è determinato in modo univoco.

La descrizione di cui sopra dell'essenza dei cifrari a sostituzione si applica a tutte le loro varietà ad eccezione di , in cui le stesse sostituzioni di cifratura possono essere utilizzate per crittografare diversi caratteri dell'alfabeto di origine (ad es. M io ∩ M J ≠ Ø, io ≠ j).

Il metodo di sostituzione viene spesso implementato da molti utenti quando lavorano su un computer. Se, per dimenticanza, non si cambia il set di caratteri dal latino al cirillico sulla tastiera, al posto delle lettere dell'alfabeto russo, quando si inserisce il testo, verranno stampate lettere dell'alfabeto latino ("sostituzioni cifrate").

Gli alfabeti rigorosamente definiti vengono utilizzati per registrare i messaggi originali e crittografati. Gli alfabeti per la scrittura dei messaggi originali e crittografati possono essere diversi. I caratteri di entrambi gli alfabeti possono essere rappresentati da lettere, loro combinazioni, numeri, immagini, suoni, gesti, ecc. Ad esempio, possiamo citare gli uomini danzanti della storia di A. Conan Doyle () e il manoscritto della lettera runica () dal romanzo di J. Verne "Viaggio al centro della terra".

I cifrari di sostituzione possono essere suddivisi in quanto segue sottoclassi(varietà).

Fig.4.2. Classificazione dei cifrari a sostituzione

I. Cifrari regolari. Le sostituzioni di cifratura sono costituite dallo stesso numero di caratteri o sono separate l'una dall'altra da un separatore (spazio, punto, trattino, ecc.).

Cifrario slogan. Per una data cifra, la costruzione di una tabella di sostituzione della cifratura si basa su uno slogan (chiave), una parola facilmente ricordabile. La seconda riga della tabella di sostituzione della cifratura viene riempita prima con la parola slogan (e le lettere ripetute vengono scartate), quindi con il resto delle lettere che non sono incluse nella parola slogan, in ordine alfabetico. Ad esempio, se viene selezionata la parola slogan "UNCLE", la tabella avrà questo aspetto.

UNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIO
DIOEHUNBINGEYoEzYAlMDIPRCONTAFXCHWSCHKommersantSBETU

Fig.4.4. Tabella delle sostituzioni cifrate per la cifratura slogan

Quando si crittografa il messaggio originale "ABRAMOV" utilizzando la chiave di cui sopra, il cifrario avrà l'aspetto di "DYAPDKMI".

Piazza Polibia. La cifra fu inventata dallo statista, comandante e storico greco Polibio (203-120 a.C.). Per quanto riguarda l'alfabeto russo e i numeri indiani (arabi), l'essenza della crittografia era la seguente. Le lettere sono scritte in un quadrato 6x6 (non necessariamente in ordine alfabetico).


1 2 3 4 5 6
1 UNBINGDE
2 YoEzEYA
3 lMHDIPR
4 CONTAFXC
5 HWSCHKommersantSB
6 ETUIO- - -

Fig.4.5. Tabella delle sostituzioni cifrate per il quadrato polibiano

La lettera cifrata viene sostituita dalle coordinate del quadrato (riga-colonna) in cui è scritta. Ad esempio, se il messaggio originale è "ABRAMOV", il testo cifrato è "11 12 36 11 32 34 13". Nell'antica Grecia, i messaggi venivano trasmessi utilizzando un telegrafo ottico (utilizzando torce). Per ogni lettera del messaggio si alzava prima il numero delle torce, corrispondente al numero della riga della lettera, e poi al numero della colonna.

Tabella 4.1. La frequenza di occorrenza di lettere della lingua russa nei testi

N. p / pLetteraFrequenza, %N. p / pLetteraFrequenza, %
1 DI10.97 18 B1.74
2 E8.45 19 G1.70
3 UN8.01 20 z1.65
4 E7.35 21 B1.59
5 H6.70 22 H1.44
6 T6.26 23 Y1.21
7 CON5.47 24 X0.97
8 R4.73 25 E0.94
9 IN4.54 26 W0.73
10 l4.40 27 TU0.64
11 A3.49 28 C0.48
12 M3.21 29 SCH0.36
13 D2.98 30 E0.32
14 P2.81 31 F0.26
15 A2.62 32 Kommersant0.04
16 IO2.01 33 Yo0.04
17 S1.90

Esistono tabelle simili per le coppie di lettere (bigrammi). Ad esempio, i bigrammi comuni sono "that", "but", "st", "by", "en", ecc. Un altro metodo di apertura dei testi cifrati si basa sull'esclusione di possibili combinazioni di lettere. Ad esempio, nei testi (se sono scritti senza errori di ortografia) non puoi trovare le combinazioni "cha", "timido", "b", ecc.

Per complicare il compito di decifrare cifrari di sostituzione non ambigui, anche in tempi antichi, prima della cifratura, gli spazi e/o le vocali erano esclusi dai messaggi originali. Un altro modo per rendere più difficile il crack è la crittografia. digrammi(a coppie di lettere).

4.3. Cifrari a poligramma

Cifrari a sostituzione di poligrammi- Si tratta di cifre in cui una sostituzione di cifratura corrisponde a più caratteri del testo di origine contemporaneamente.

Cifrario Bigram Porte. Il cifrario di Porta, da lui presentato sotto forma di tabella, è il primo cifrario a digramma conosciuto. La dimensione del suo tavolo era di 20 x 20 celle; in alto, orizzontalmente e verticalmente a sinistra, era scritto l'alfabeto standard (non conteneva le lettere J, K, U, W, X e Z). Nelle celle della tavola poteva essere scritto qualsiasi numero, lettera o simbolo - lo stesso Giovanni Porta usava i simboli - a patto che il contenuto di nessuna delle celle fosse ripetuto. In relazione alla lingua russa, la tabella delle sostituzioni cifrate può apparire come segue.


UNBINGDE
(Yo)
EzE
(Y)
AlMHDIPRCONTAFXCHWSCHKommersantSBETUIO
UN001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
B032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062
IN063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093
G094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
D125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
SUO)156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
E187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
z218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
io (Y)249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
A280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310
l311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
M342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
H373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403
DI404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434
P435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465
R466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496
CON497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527
T528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
A559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589
F590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620
X621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651
C652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682
H683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713
W714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744
SCH745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775
Kommersant776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806
S807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837
B838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868
E869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899
TU900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930
IO931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961

Fig.4.10. Tabella di sostituzione della cifratura per le porte di cifratura

La crittografia viene eseguita in coppie di lettere del messaggio originale. La prima lettera della coppia indica la riga di sostituzione della cifratura, la seconda - la colonna. Nel caso di un numero dispari di lettere nel messaggio originale, viene aggiunto un carattere ausiliario ("carattere vuoto"). Ad esempio, il messaggio originale è "AB RA MO V", crittografato - "002 466 355 093". La lettera "I" è usata come simbolo ausiliario.

Cifrario Playfair (ing. "Fair game"). All'inizio del 1850 Charles Wheatstone ha inventato il cosiddetto "cifrario rettangolare". Leon Playfair, un caro amico di Wheatstone, parlò di questo cifrario durante una cena ufficiale nel 1854 al ministro dell'Interno, Lord Palmerston, e al principe Alberto. E poiché Playfair era ben noto nei circoli militari e diplomatici, il nome "cifrario Playfair" fu per sempre associato alla creazione di Wheatstone.

Questo cifrario divenne il primo cifrario bigram alfabetico (nella tabella porta bigram venivano usati simboli, non lettere). È stato progettato per garantire la segretezza delle comunicazioni telegrafiche ed è stato utilizzato dalle truppe britanniche nelle guerre anglo-boere e nella prima guerra mondiale. È stato utilizzato anche dalla Guardia costiera delle isole australiane durante la seconda guerra mondiale.

La cifratura prevede la cifratura di coppie di caratteri (bigrammi). Pertanto, questo cifrario è più resistente al cracking rispetto a un semplice cifrario di sostituzione, poiché l'analisi della frequenza è più difficile. Si può fare, ma non per 26 possibili caratteri (alfabeto latino), bensì per 26 x 26 = 676 possibili bigrammi. L'analisi della frequenza dei bigrammi è possibile, ma è molto più difficile e richiede una quantità molto maggiore di testo cifrato.

Per crittografare un messaggio è necessario suddividerlo in bigrammi (gruppi di due caratteri), mentre se due caratteri identici si incontrano in un bigramma, allora viene aggiunto tra loro un carattere ausiliario predeterminato (nell'originale - X, per l'alfabeto russo - IO). Ad esempio, "messaggio crittografato" diventa "anno crittografato IO comunicazione IO". Per formare una tabella chiave, viene selezionato uno slogan e poi viene compilato secondo le regole del sistema di crittografia Trisemus. Ad esempio, per lo slogan "UNCLE", la tabella dei tasti ha questo aspetto.

DIOEHUNB
INGEYoEz
YAlMDIP
RCONTAFX
CHWSCHKommersantS
BETU- 1 2

Fig.4.11. Tabella delle chiavi per il cifrario Playfair

Quindi, guidati dalle seguenti regole, vengono crittografate le coppie di caratteri del testo di origine:

1. Se i caratteri bigram del testo di origine si trovano in una riga, questi caratteri vengono sostituiti dai caratteri situati nelle colonne più vicine a destra dei caratteri corrispondenti. Se il carattere è l'ultimo carattere della stringa, viene sostituito con il primo carattere della stessa stringa.

2. Se i caratteri bigram del testo di origine si trovano in una colonna, vengono convertiti in caratteri della stessa colonna, posizionati direttamente sotto di essi. Se il carattere è l'ultimo carattere in una colonna, viene sostituito dal primo carattere della stessa colonna.

3. Se i simboli del bigramma del testo di origine si trovano in colonne e righe diverse, vengono sostituiti da simboli situati nelle stesse righe, ma corrispondenti ad altri angoli del rettangolo.

Esempio di crittografia.

Bigram "for" forma un rettangolo - è sostituito da "zhb";

Il digram "shi" è nella stessa colonna - è sostituito da "yue";

Bigram "fr" è in una riga - è sostituito da "xs";

Bigram "ov" forma un rettangolo - è sostituito da "ij";

Il digramma "an" è nella stessa riga - è sostituito da "ba";

Bigram "ma" forma un rettangolo - è sostituito da "am";

Bigram "eu" forma un rettangolo - è sostituito da "gt";

Bigram "oya" forma un rettangolo - è sostituito da "ka";

Bigram "ob" forma un rettangolo - è sostituito da "pa";

Il digram "shche" forma un rettangolo - è sostituito da "she";

Bigram "ni" forma un rettangolo - è sostituito da "an";

Il digramma "lei" forma un rettangolo - è sostituito da "gi".

Il cifrario è "zhb yue xs yzh ba am gt ka pa she an gi".

Per la decrittazione è necessario utilizzare l'inversione di queste regole, scartando i caratteri IO(O X) se non hanno senso nel messaggio originale.

Consisteva di due dischi: un disco fisso esterno e un disco mobile interno, su cui erano applicate le lettere dell'alfabeto. Il processo di crittografia consisteva nel trovare una lettera di testo in chiaro su unità esterna e sostituendolo con la lettera dell'unità interna sottostante. Successivamente, il disco interno è stato spostato di una posizione e la seconda lettera è stata crittografata utilizzando il nuovo alfabeto cifrato. La chiave di questo cifrario era l'ordine delle lettere sui dischi e la posizione iniziale del disco interno rispetto a quello esterno.

Tavolo Trisemo. Uno dei cifrari inventati dall'abate tedesco Trisemus era un cifrario polialfabetico basato sulla cosiddetta "tavola Trisemus" - una tabella con un lato uguale a N, Dove Nè il numero di caratteri dell'alfabeto. Nella prima riga della matrice, le lettere sono scritte nell'ordine del loro ordine nell'alfabeto, nella seconda - la stessa sequenza di lettere, ma con uno spostamento ciclico di una posizione a sinistra, nella terza - con un ciclico spostamento di due posizioni a sinistra, ecc.

UNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIO
BINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUN
INGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNB
GDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBIN
DEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBING
EYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGD
YoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDE
EzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYo
zEYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoE
EYAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEz
YAlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzE
AlMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEY
lMHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYA
MHDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAl
HDIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlM
DIPRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMH
PRCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDI
RCONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIP
CONTAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPR
TAFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCON
AFXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONT
FXCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTA
XCHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAF
CHWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFX
HWSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXC
WSCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCH
SCHKommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHW
KommersantSBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCH
SBETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersant
BETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantS
ETUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSB
TUIOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBE
IOUNBINGDEYoEzEYAlMHDIPRCONTAFXCHWSCHKommersantSBETU

Fig.4.17. Tavolo Trisemo

La prima riga è anche l'alfabeto per le lettere di testo in chiaro. La prima lettera del testo è cifrata sulla prima riga, la seconda lettera sulla seconda e così via. Dopo aver utilizzato l'ultima riga, tornano di nuovo alla prima. Quindi il messaggio "ABRAMOV" assumerà la forma "AUTOCARGO".

Sistema di crittografia Vigenère. Nel 1586, il diplomatico francese Blaise Vigenère presentò alla commissione di Enrico III una descrizione di un cifrario semplice ma piuttosto forte basato sulla tavola di Trisemo.

Prima della crittografia, viene selezionata una chiave dai caratteri alfabetici. La stessa procedura di crittografia è la seguente. La colonna è determinata dall'i-esimo carattere del messaggio aperto nella prima riga e la riga è determinata dall'i-esimo carattere della chiave nella colonna più a sinistra. All'intersezione di una riga e di una colonna, ci sarà l'i-esimo carattere inserito nel testo cifrato. Se la lunghezza della chiave è inferiore al messaggio, viene riutilizzata. Ad esempio, il messaggio originale è "ABRAMOV", la chiave è "UNCLE", il cifrario è "DAFIOYOЁ".

In tutta onestà, va notato che la paternità di questo cifrario appartiene all'italiano Giovanni Battista Bellaso, che lo descrisse nel 1553. La storia "ha ignorato un fatto importante e ha chiamato il cifrario dopo Vigenère, nonostante non abbia fatto nulla per crearlo " . Bellaso ha suggerito di nominare una parola o una frase segreta parola d'ordine(it. password; fr. parole - parola).

Nel 1863, Friedrich Kasiski pubblicò un algoritmo di attacco per questo cifrario, sebbene ci siano casi noti di sua violazione del cifrario da parte di alcuni crittoanalisti esperti in precedenza. In particolare, nel 1854 il cifrario fu infranto dall'inventore del primo computer analitico, Charles Babbage, anche se questo fatto divenne noto solo nel XX secolo, quando un gruppo di scienziati analizzò i calcoli e gli appunti personali di Babbage. Nonostante ciò, il cifrario Vigenère aveva la reputazione di essere eccezionalmente resistente al cracking "manuale". per molto tempo. Così, il famoso scrittore e matematico Charles Lutwidge Dodgson (Lewis Carroll) nel suo articolo "The Alphabetical Cipher", pubblicato su una rivista per bambini nel 1868, definì il cifrario di Vigenère indistruttibile. Nel 1917, anche la popolare rivista scientifica Scientific American definì il cifrario di Vigenère indistruttibile.

Macchine rotative. Le idee di Alberti e Bellaso sono state utilizzate nella creazione di macchine rotanti elettromeccaniche nella prima metà del 20° secolo. Alcuni di essi sono stati utilizzati in diversi paesi fino agli anni '80. La maggior parte di loro utilizzava rotori (ruote meccaniche), accordo reciproco che ha determinato l'attuale alfabeto di sostituzione cifratura utilizzato per eseguire la sostituzione. La più famosa delle macchine rotanti è la macchina Enigma tedesca della seconda guerra mondiale.

I pin di uscita di un rotore sono collegati ai pin di ingresso del rotore successivo e quando il simbolo del messaggio originale viene premuto sulla tastiera, viene chiuso un circuito elettrico, a seguito del quale si accende la spia con il simbolo di sostituzione della cifratura su.

Fig.4.19. Enigma Rotor System [www.cryptomuseum.com]

L'azione di cifratura di Enigma viene mostrata per due tasti premuti successivamente: la corrente scorre attraverso i rotori, "si riflette" dal riflettore, quindi di nuovo attraverso i rotori.

Fig.4.20. Schema di crittografia

Nota. Le linee grigie mostrano altri possibili circuiti elettrici all'interno di ciascun rotore. Lettera UNè crittografato in modo diverso con sequenze di tasti successive della stessa chiave, prima in G, poi dentro C. Il segnale prende un percorso diverso ruotando uno dei rotori dopo aver premuto la lettera precedente del messaggio originale.

3. Descrivere i tipi di cifrari a sostituzione.

I web designer e gli sviluppatori adorano lanciare gerghi e parole d'ordine che a volte abbiamo difficoltà a comprendere. Questo articolo si concentrerà sul codice semantico. Vediamo di cosa si tratta!

Cos'è un codice semantico?

Anche se non sei un web designer, probabilmente sai che il tuo sito web è stato scritto in HTML. L'HTML era originariamente inteso come un mezzo per descrivere il contenuto di un documento, non come un mezzo per renderlo visivamente gradevole. Il codice semantico ritorna a questo concetto originale e incoraggia i web designer a scrivere codice che descriva il contenuto, non come dovrebbe apparire. Ad esempio, il titolo della pagina potrebbe essere programmato in questo modo:

Questo è il titolo della pagina

Ciò renderebbe il titolo grande e in grassetto, conferendogli l'aspetto di un titolo di pagina, ma non contiene nulla che lo descriva come un "titolo" nel codice. Ciò significa che il computer non può riconoscerlo come titolo della pagina.

Quando si scrive semanticamente un titolo, affinché il computer lo riconosca come “titolo”, dobbiamo utilizzare il seguente codice:

Questo è il titolo

L'aspetto dell'intestazione può essere definito in fascicolo separato chiamato Cascading Style Sheets (CSS) senza interferire con il codice HTML descrittivo (semantico).

Perché il codice semantico è importante?

La capacità di un computer di riconoscere correttamente i contenuti è importante per diversi motivi:

  • Molte persone ipovedenti si affidano ai browser vocali per leggere le pagine. Tali programmi non saranno in grado di interpretare accuratamente le pagine se non sono state chiaramente spiegate. In altre parole, il codice semantico funge da strumento di accessibilità.
  • I motori di ricerca devono capire di cosa tratta il tuo contenuto per posizionarti correttamente nei motori di ricerca. Il codice semantico ha la reputazione di migliorare i tuoi posizionamenti in motori di ricerca, come è facilmente intuibile dai “robot di ricerca”.

Il codice semantico ha anche altri vantaggi:

  • Come puoi vedere dall'esempio sopra, il codice semantico è più breve e il caricamento è più veloce.
  • Il codice semantico semplifica gli aggiornamenti del sito perché puoi definire lo stile delle intestazioni in tutto il sito anziché pagina per pagina.
  • Il codice semantico è facile da capire, quindi se un nuovo web designer riprende dato codice, quindi sarà facile per lui smontarlo.
  • Poiché il codice semantico non contiene elementi di design, cambia aspetto website senza ricodificare tutto il codice HTML.
  • Ancora una volta, poiché il design è tenuto separato dal contenuto, il codice semantico consente a chiunque di aggiungere o modificare pagine senza bisogno di un buon occhio per il design. Descrivi semplicemente il contenuto e il CSS determina come sarà quel contenuto.

Come assicurarsi che un sito Web utilizzi il codice semantico?

SU questo momento non esiste uno strumento in grado di verificare la presenza di codice semantico. Tutto si riduce al controllo di colori, caratteri o layout nel codice, invece di descrivere il contenuto. Se l'analisi del codice sembra spaventosa, allora un ottimo punto di partenza è chiedere al tuo web designer: codifica rispetto alla semantica? Se ti fissa con sguardo assente o inizia a chiacchierare in modo ridicolo, allora puoi star certo che non codifica in questo modo. A questo punto, devi decidere se dargli una nuova direzione nel suo lavoro, o trovarti un nuovo designer?!

(sostituzioni). Nei cifrari di sostituzione, le lettere vengono modificate in altre lettere dello stesso alfabeto; durante la codifica, le lettere vengono modificate in qualcosa di completamente diverso: immagini, simboli di altri alfabeti, sequenze di caratteri diversi, ecc. Viene compilata una tabella di corrispondenza uno a uno tra l'alfabeto del testo di origine e i simboli del codice e, in base a questa tabella, avviene la codifica uno a uno. Per decodificare, è necessario conoscere la tabella dei codici.

Esiste un gran numero di codici utilizzati in diverse aree della vita umana. I codici noti vengono utilizzati principalmente per la comodità di trasmettere informazioni in un modo o nell'altro. Se la tabella dei codici è nota solo alla trasmissione e alla ricezione, si ottiene una cifra piuttosto primitiva, che è facilmente suscettibile di analisi della frequenza. Ma se una persona è lontana dalla teoria dei codici e non ha familiarità con l'analisi della frequenza del testo, allora è piuttosto problematico per lui risolvere tali cifre.

A1Z26

La cifra più semplice. Si chiama A1Z26 o nella versione russa A1Ya33. Le lettere dell'alfabeto sono sostituite dai loro numeri di serie.

"NoZDR" può essere crittografato come 14-15-26-4-18 o 1415260418.

codice Morse

Lettere, numeri e alcuni caratteri sono associati a un insieme di punti e trattini che possono essere trasmessi via radio, suono, bussare, telegrafo luminoso e bandierine. Poiché i marinai hanno anche una bandiera corrispondente associata a ciascuna lettera, è possibile inviare un messaggio con le bandiere.

Braille

Il Braille è un sistema di lettura tattile per non vedenti, composto da caratteri a sei punti chiamati celle. La cella è composta da tre punti in altezza e due punti in larghezza.

Diversi caratteri braille vengono formati posizionando punti in posizioni diverse all'interno di una cella.

Per comodità, i punti sono descritti durante la lettura come segue: 1, 2, 3 da sinistra dall'alto verso il basso e 4, 5, 6 da destra dall'alto verso il basso.

Nella compilazione del testo si seguono le seguenti regole:

    una cella (spazio) viene saltata tra le parole;

    dopo una virgola e un punto e virgola, la cella non viene saltata;

    il trattino è scritto insieme alla parola precedente;

    Il numero è preceduto da un segno numerico.

Pagine codici

Nelle ricerche e negli indovinelli del computer, le lettere possono essere codificate in base ai loro codici in varie tabelle di codici, tabelle utilizzate sui computer. Per i testi in cirillico, è meglio utilizzare le codifiche più comuni: Windows-1251, KOI8, CP866, MacCyrillic. Sebbene per una crittografia complessa, puoi scegliere qualcosa di più esotico.

Puoi codificare in numeri esadecimali o convertirli in decimali. Ad esempio, la lettera Yo in KOI8-R è B3 (179), in CP866 è F0 (240) e in Windows-1251 è A8 (168). Ed è possibile che le lettere nelle tabelle di destra cerchino una corrispondenza in quelle di sinistra, quindi il testo risulterà essere digitato in un tipo "pazzo" èαᬫº∩íαδ (866→437) o Êðàêîçÿáðû (1251→Latino-1).

E puoi cambiare la metà superiore dei caratteri in quella inferiore all'interno di una tabella. Quindi per Windows-1251, invece di "krakozyabra", ottieni "jp" jng ap (), invece di "HELICOPTER" - "BEPRNK (R". Tale spostamento nella code page è una classica perdita del bit alto durante fallimenti su server di posta. In questo caso, i caratteri latini possono essere codificati con uno spostamento inverso verso il basso di 128 caratteri. E tale codifica sarà una variante di cifratura - ROT128, ma non per il solito alfabeto, ma per la tabella codici selezionata.

L'ora esatta di origine del cifrario è sconosciuta, ma alcuni dei documenti trovati di questo sistema risalgono al XVIII secolo. Variazioni di questo cifrario furono usate dall'ordine rosacrociano e dai massoni. Questi ultimi lo usavano abbastanza spesso nei loro documenti segreti e nella corrispondenza, quindi il cifrario iniziò a essere chiamato cifrario massonico. Anche sulle lapidi dei massoni si possono vedere iscrizioni usando questo cifrario. Un sistema di crittografia simile è stato utilizzato durante la guerra civile americana dall'esercito di George Washington, nonché dai prigionieri nelle carceri federali negli Stati Confederati degli Stati Uniti.

Di seguito sono riportate due opzioni (blu e rossa) per riempire la griglia di tali cifre. Le lettere sono disposte a coppie, la seconda lettera della coppia è disegnata come simbolo con un punto:

Cifre d'autore

È stata inventata una grande varietà di cifre, in cui un carattere dell'alfabeto (lettera, numero, segno di punteggiatura) corrisponde a un carattere grafico (meno spesso di più). La maggior parte di essi è progettata per l'uso in film di fantascienza, cartoni animati e giochi per computer. Ecco qui alcuni di loro:

uomini danzanti

Uno dei cifrari di sostituzione dell'autore più famosi è "". È stato inventato e descritto dallo scrittore inglese Arthur Conan Doyle in una delle sue opere su Sherlock Holmes. Le lettere dell'alfabeto sono sostituite da simboli che sembrano omini in pose diverse. Nel libro, gli omini non sono stati inventati per tutte le lettere dell'alfabeto, quindi i fan hanno finalizzato e rielaborato in modo creativo i personaggi, e questa è la cifra:

Alfabeto Tommaso Moro

Ma un tale alfabeto fu descritto nel suo trattato "Utopia" di Tommaso Moro nel 1516:

Cifrari della serie animata "Gravity Falls"

Bill Cifra

Stanford Pines (scrittore di diari)

Alfabeto Jedi di Star Wars

Alfabeto alieno di Futurama

L'alfabeto kryptoniano di Superman

Alfabeti Bionicle

Semantica(Sémantique francese dall'altro greco σημαντικός - denotazione) - la scienza della comprensione di determinati segni, sequenze di caratteri e altre convenzioni. Questa scienza è utilizzata in molte aree: linguistica, prossemica, pragmatica, etimologia, ecc. Non ho idea di cosa significhino queste parole e cosa facciano tutte queste scienze. E non importa, mi interessa la questione dell'applicazione della semantica durante la disposizione dei siti.

La nota

Non toccherò qui il termine Semantic Web. A prima vista, potrebbe sembrare che i temi Semantic Web e Semantic HTML siano quasi la stessa cosa. Ma in realtà, il concetto di Semantic Web è piuttosto filosofico e ha poco in comune con la realtà attuale.

Layout semantico: che cos'è?

Nella lingua, ogni parola ha un significato specifico, uno scopo. Quando dici "salsiccia", intendi un prodotto alimentare, che è carne macinata (di solito carne) in un guscio oblungo. In breve, intendi salsiccia, non latte o piselli.

L'HTML è anche un linguaggio, le sue "parole", chiamate tag, hanno anche un certo significato e scopo logico. Per questo, prima di tutto codice HTML semantico è il layout con il corretto utilizzando l'HTML tag, utilizzandoli per lo scopo previsto, così come sono stati concepiti dagli sviluppatori Linguaggio HTML e gli standard web.

microformats.org è una comunità che lavora per dare vita alle idee idealistiche del Semantic Web avvicinando il layout di pagina a quegli ideali semantici.

Perché e chi ha bisogno del layout semantico?

Se le informazioni sul mio sito vengono visualizzate allo stesso modo del design, perché altrimenti dovrei rompere il cervello e pensare a una sorta di semantica?! Stesso lavoro extra! Chi ne ha bisogno?! Chi lo apprezzerà tranne un altro programmatore?

Sento spesso domande come questa. Scopriamolo.

HTML semantico per sviluppatori web

Codice semantico per gli utenti

Aumenta la disponibilità di informazioni sul sito. Prima di tutto, questo è importante per agenti alternativi come:

  • il codice semantico influisce direttamente sulla quantità di codice HTML. Meno codice -> pagine più leggere -> caricamento più veloce, meno richiesto memoria ad accesso casuale lato utente, meno traffico, database più piccoli. Il sito diventa più veloce e meno costoso.
  • browser vocali per i quali i tag ei ​​loro attributi sono importanti per pronunciare correttamente il contenuto e con la giusta intonazione, o viceversa per non pronunciare troppo.
  • dispositivi mobili che non supportano completamente i CSS e quindi si concentrano principalmente sul codice HTML, visualizzandolo sullo schermo in base ai tag utilizzati.
  • dispositivi di stampa anche senza CSS aggiuntivi, le informazioni verranno stampate meglio (più vicine al design) e alla creazione versione perfetta stampare si trasformerà in poche semplici manipolazioni CSS.
  • inoltre, sono disponibili dispositivi e plug-in che consentono di navigare rapidamente nel documento, ad esempio attraverso i titoli di Opera.

HTML semantico per macchine

I motori di ricerca migliorano costantemente i loro metodi di ricerca in modo che i risultati contengano le informazioni che davvero alla ricerca utente. L'HTML semantico contribuisce a questo perché si presta a un'analisi molto migliore: il codice è più pulito, il codice è logico (puoi vedere chiaramente dove sono i titoli, dove si trova la navigazione, dove si trova il contenuto).

Un buon contenuto più un layout semantico di alta qualità è già una domanda seria per buone posizioni nei risultati dei motori di ricerca.

MATEMATICA

Vestn. Ohm. Università 2016. N. 3. S. 7-9.

UDC 512,4 VA Romankov

UNA VARIANTE DELLA CRITTOGRAFIA SEMANTICAMENTE FORTE BASATA SU RSA*

Lo scopo principale dell'articolo è proporre un altro modo per selezionare uno dei parametri principali dello schema di crittografia basato sul sistema crittografico RSA proposto dall'autore in lavori precedenti. La versione originale è basata su complessità computazionale determinazione degli ordini degli elementi in gruppi moltiplicativi di anelli modulari. Il metodo proposto cambia questa base in un altro problema intrattabile di determinare se elementi di gruppi moltiplicativi di anelli modulari appartengono alle potenze di questi gruppi. Un caso particolare di tale problema è il classico problema di determinazione della quadraticità del residuo, considerato computazionalmente difficile. Questo problema determina la forza semantica del noto sistema di crittografia Goldwasser-Micali. Nella versione proposta, la sicurezza semantica dello schema di cifratura si basa sulla complessità computazionale del problema di determinare se elementi di gruppi moltiplicativi di anelli modulari appartengono alle potenze di questi gruppi.

Parole chiave Parole chiave: sistema crittografico RSA, cifratura a chiave pubblica, anello modulare, residuo quadratico, sicurezza semantica.

1. Introduzione

Lo scopo di questo documento è presentare nuovi elementi per la versione dello schema di crittografia basato su RSA introdotto dall'autore in . Vale a dire, viene proposto un altro modo per specificare i sottogruppi che compaiono in questo schema. Questo metodo porta alla sostituzione del sottostante problema computazionalmente difficile di determinare gli ordini degli elementi di gruppi moltiplicativi di anelli modulari con il problema computazionalmente difficile di inserire le potenze date di questi gruppi. Un caso particolare di quest'ultimo problema è il classico problema di determinare la quadraticità del residuo di un elemento di un gruppo moltiplicativo di un anello modulare.

Il sistema di crittografia a chiave pubblica RSA è stato introdotto da Rivest, Shamir e Adleman nel 1977. È ampiamente utilizzato in tutto il mondo ed è incluso in quasi tutti i libri di testo di crittografia. Per quanto riguarda questo sistema e la sua forza crittografica, vedi, per esempio.

La versione base del sistema è deterministica e per questo motivo non ha la proprietà del segreto semantico, il più importante indicatore della forza crittografica di un sistema di cifratura a chiave pubblica. Pertanto, in pratica, vengono utilizzate varianti del sistema, il cui scopo è introdurre un elemento probabilistico in esso e garantire così l'adempimento della proprietà del segreto semantico.

Installazione: piattaforma di crittografia

Sia n il prodotto di due grandi numeri primi distinti p e q. L'anello residuo Zn viene scelto come piattaforma per il sistema di crittografia. Il modulo n e la piattaforma Zn sono elementi pubblici del sistema, i numeri peq sono segreti.

* Studio sostenuto fondo russo ricerca fondamentale (progetto 15-41-04312).

© Romankov VA, 2016

Romankov V.A.

La funzione di Eulero è indicata con φ:N ^ N, in questo caso assume il valore φ(n)=(p-1)(q-1). Pertanto, l'ordine del gruppo moltiplicativo Z*n dell'anello Zn è (p-1)(q-1). Per questi concetti si veda ad es.

Successivamente, vengono selezionati rispettivamente due sottogruppi M e H del gruppo Z*n dei periodi coprimi r e t. Si propone di specificare questi sottogruppi in termini dei loro elementi generatori M = gr(g1 ,...,gk), H = gr(i1, ..,hl). Ricordiamo che il periodo t(G) di un gruppo G è il più piccolo numero t tale che dr = 1 per ogni elemento geG. Il periodo del gruppo Z*n è il numero t (n), uguale al minimo comune multiplo dei numeri p-1 e q-1. I sottogruppi M e H possono essere ciclici ed essere dati da un elemento generatore. Gli elementi generatori dei sottogruppi M e H sono considerati aperti, mentre i periodi dei sottogruppi r e t sono considerati segreti.

B e spiega come eseguire in modo efficiente la scelta specificata dei sottogruppi M e H, conoscendo i parametri segreti p e q. Inoltre, puoi prima impostare g e t, quindi scegliere p e q, e solo successivamente eseguire ulteriori azioni. Si noti che la costruzione di elementi di ordini dati in campi finiti viene eseguita mediante una procedura efficiente standard, descritta, ad esempio, in . Il passaggio alla costruzione di elementi di ordini dati in gruppi moltiplicativi Z*n di anelli modulari Zn si effettua in modo ovvio utilizzando il teorema cinese dei resti o . Installazione: scelta delle chiavi La chiave di crittografia e è un qualsiasi numero naturale coprimo con r La chiave di decrittazione d = ^ è calcolata dall'uguaglianza

(te)d1 = 1 (modr). (1)

La chiave d esiste perché il parametro d1 è calcolato per il fatto che te ed r sono coprimi, la chiave e è pubblica, la chiave d e il parametro d1 sono segreti.

Algoritmo di cifratura Per inviare un messaggio su una rete aperta - un m elemento del sottogruppo M, Alice sceglie un elemento casuale h del sottogruppo H e calcola l'elemento hm. La trasmissione sembra

c = (hm)e (modn). (2)

Algoritmo di decrittazione

Bob decifra il messaggio ricevuto c come segue:

cd=m(mod). (3)

Spiegazione della decrittazione corretta

Poiché ed=1 (modr), esiste un intero k tale che ed = 1 + rk. Poi

cd = (hm)ed = (ht)edim (mr)k = m (mod n). (4) Pertanto, l'elemento h è scritto come elemento del sottogruppo H come valore della parola di gruppo u(x1,.,xl) dagli elementi generatori h1t... ,hl del sottogruppo H. Infatti, Noi

scegli una parola u(x1,.,xl) e poi calcola il suo valore h = u(h1t..., hl). In particolare, questo significa che gli elementi generatori h1t... ,hl sono aperti.

Forza crittografica dello schema

La sicurezza crittografica dello schema si basa sulla difficoltà di determinare il periodo o l'ordine di questo sottogruppo dai dati elementi generatori del sottogruppo H del gruppo Z*n. Se l'ordine di un elemento potesse essere calcolato da un algoritmo efficiente, allora contando gli ordini o rd(h1), ..., ord(hl) degli elementi generatori del sottogruppo H, potremmo trovare il suo periodo t = t (H), pari al loro minimo comune multiplo . Ciò consentirebbe di rimuovere il fattore di ombreggiatura h da questa variante di crittografia trasformando c1 = met(modri), riducendo la procedura di decrittazione al classico sistema RSA con la chiave di crittografia pubblica et.

3. Un altro modo per definire un sottogruppo H

In questo documento, proponiamo un'altra opzione per impostare il sottogruppo H nello schema di crittografia considerato. Consideriamo dapprima il suo caso particolare, che è legato al problema riconosciuto e intrattabile di determinare la quadraticità del residuo del gruppo Z*n. Ricordiamo che un residuo aeZ^ si dice quadratico se esiste un elemento xeZ*n tale che x2 = a (modn). Tutti i residui quadratici formano un sottogruppo QZ*n del gruppo Z*n. Il problema di determinare la quadraticità di un residuo di gruppo arbitrario è considerato computazionalmente intrattabile. Il noto sistema di cifratura semanticamente forte Goldwasser-Micali si basa su questa proprietà. La sua stabilità semantica è completamente determinata dall'intrattabilità del problema di determinare l'ortogonalità del residuo.

Supponiamo che i parametri p e q siano scelti con la condizione p, q = 3 (mod 4), cioè p = 4k +3, q = 41 +3. Negli schemi relativi alla quadraticità dei residui, questa ipotesi sembra naturale e si verifica abbastanza spesso. Se vale, la mappa p:QZ*n ^ QZ*n, p:x^x2, è una biiezione.

Il sottogruppo di residui quadratici QZ*n del gruppo ha indice 4 in Z*n, si veda ad esempio . Il suo ordine o^^2^) è uguale a φ(η)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1, cioè è un numero dispari.

Supponiamo nello schema di crittografia di cui sopra H = QZ*n. Ogni elemento del sottogruppo H ha un ordine dispari, poiché il periodo t(Z*n), uguale al minimo comune multiplo dei numeri p - 1 = 4k +2 e q - 1 = 41 +2, è divisibile per 2 , ma non divisibile per 4. Massimo una scelta possibile per M è un sottogruppo di ordine 4 i cui elementi hanno ordine pari 2 o 4. Se esiste metodo efficace calcolare l'ordine (o almeno la sua parità) di un elemento arbitrario

Una variante della crittografia semanticamente forte basata su RSA

gruppo 2*n, allora anche il problema di determinare la quadraticità del residuo è efficacemente risolto. Il difetto dello schema con tale scelta è la bassa cardinalità dello spazio dei testi -sottogruppo M. In effetti, lo schema duplica il già citato schema ben noto di Gol-dwasser-Micali.

Otteniamo più opportunità con la scelta successiva. Sia s un numero primo che può essere considerato sufficientemente grande. Siano p e q numeri primi tali che almeno uno dei numeri p - 1 o q - 1 sia divisibile per s. B e spiega che si può scegliere s e quindi trovare in modo efficiente p o q con la proprietà data. Diciamo che il numero p viene cercato nella forma 2sx + 1. Cambia x e verifica la semplicità del p risultante finché non risulta essere semplice.

Definiamo un sottogruppo H = , costituito da s-potenze di elementi del gruppo 2*n (per s = 2, questo è un sottogruppo di QZ*n). Se p = 52k + su + 1 e q = 521 + sv + 1 (o q = sl + V + 1), dove i numeri u e V non sono divisibili per s, allora l'ordine o^(H) del sottogruppo H avente 2 nel gruppo *n indice b2 (o indice s se q = sl + V + 1) è uguale a B2k1 + Bku + b1n + w>. Questo ordine è relativamente primo rispetto a s. In particolare, ciò significa che gli elementi del sottogruppo H hanno ordini non divisibili per s. Se un elemento è al di fuori del sottogruppo H, allora il suo ordine è divisibile per s, poiché s divide l'ordine del gruppo. Se il problema di calcolare l'ordine di un elemento del gruppo 2*n (o di determinarne la divisibilità per s) è effettivamente risolvibile nel gruppo 2*n, allora risolve efficacemente anche il problema di entrare nel sottogruppo

Scegliendo il sottogruppo H in questo modo, abbiamo la possibilità di scegliere come M un sottogruppo ciclico di ordine r = 52 (o ordine s). Tale sottogruppo esiste perché l'ordine del gruppo 2*n, pari a (p-1)^-1) = (52k + vi)^21 + sv) (o (52k + vi)^1 + V)), è divisibile per 52 (su s). Per specificare H, è sufficiente specificare s. Inoltre, per ogni scelta del sottogruppo M, si ha M*2 =1. Se, durante la decifrazione del messaggio m, è possibile ottenere un elemento della forma teL, dove ed è relativamente primo di s, allora trovando interi y e z tali che edy + s2z = 1, possiamo calcolare teLy = m.

Tuttavia, gli elementi generatori del sottogruppo H non sono specificati quando si specifica il modulo, quindi, se esiste un algoritmo per il calcolo degli ordini degli elementi del gruppo 2 * n, questo non consente di calcolare il periodo del sottogruppo

H, che sarebbe stato possibile nella versione originale da .

La sicurezza crittografica della versione dello schema da si basa sulla difficoltà del compito di determinare l'ordine di un elemento del gruppo 2*n. Nella versione proposta, si basa sulla difficoltà di determinare il periodo del sottogruppo Z*s. Sicurezza semantica Si noti che c = (hm")e (modn) è un messaggio cifrato della forma (2), dove heH, m" = m1 o m" = m2. La cifratura è considerata semanticamente sicura se è impossibile per determinare effettivamente cosa tutto corrisponde a c. La risposta corretta mt (i = 1 o 2) si ottiene se e solo se cmje appartiene a H. Quindi, la cifratura è semanticamente sicura se e solo se il problema di inserire H è effettivamente irrisolvibile è il problema di entrare nel sottogruppo di s-residui Z * s. Nel caso particolare s = 2, si ottiene il noto problema di entrare in Q2 * n, considerato intrattabile, su cui la sicurezza semantica del Si basa il sistema di crittografia Goldwasser-Micali e una serie di altri sistemi di crittografia.

LETTERATURA

Roman'kov V. A. Un nuovo sistema di crittografia a chiave pubblica semanticamente sicuro basato su RSA // Applied Discrete Mathematics. 2015. N. 3 (29). pp. 32-40.

Rivest R., Shamir A., ​​​​Adleman L. Un metodo per ottenere firme digitali e sistemi crittografici a chiave pubblica // Comm. ACCM. 1978 vol. 21, n. 2. P. 120126.

Hinek M. Crittoanalisi di RSA e sue varianti. Boca Raton: Chapman & Hall/CRC, 2010.

Song Y. Y. Attacchi crittoanalitici a RSA. Berlino: Springer, 2008.

Francobollo M., basso R.M. Crittoanalisi applicata. Rompere le cifre nel mondo reale. Hoboken: JohnWiley & Sons, 2007.

Roman "kov V.A. Nuova crittografia probabilistica a chiave pubblica basata sul sistema crittografico RAS // Croups, Complexity, Cryptology. 2015. Vol. 7, No. 2. P. 153156.

Romankov V.A. Introduzione alla crittografia. M. : Foro, 2012.

Menezes A., Ojrschot PC, Vanstone SA Manuale di crittografia applicata. Boca Raton: CRC Press, 1996.

Goldwasser S., Micali S. Crittografia probabilistica e come giocare a poker mentale mantenendo segrete tutte le informazioni parziali // Proc. 14° Simposio sulla Teoria dell'Informatica, 1982, pp. 365-377.