Maison / Réseaux sociaux / Code sémantiquement correct. Codage. Pourquoi et qui a besoin d'une mise en page sémantique

Code sémantiquement correct. Codage. Pourquoi et qui a besoin d'une mise en page sémantique

4.1. Bases du chiffrement

L'essence du cryptage par la méthode de remplacement est la suivante. Laissez les messages en russe être cryptés et chaque lettre de ces messages être remplacée. Puis, lettre UN de l'alphabet d'origine, un certain ensemble de caractères (substitutions de chiffrement) correspond M A, B - M B, ..., I - M Z. Les substitutions de chiffrement sont choisies de telle manière que deux ensembles quelconques ( M je Et M J, je ≠ j) ne contenait pas d'éléments identiques ( M je ∩ M J = Ø).

Le tableau illustré à la Figure 4.1 est la clé de chiffrement de substitution. Le sachant, il est possible d'effectuer à la fois le chiffrement et le déchiffrement.

UNB... je
MAM B... M je

Fig.4.1. Table de substitution de chiffrement

Lorsqu'elle est cryptée, chaque lettre UN message ouvert remplacé par n'importe quel caractère de l'ensemble MA. Si le message contient plusieurs lettres UN, alors chacun d'eux est remplacé par n'importe quel caractère de MA. De ce fait, avec une seule clé, vous pouvez obtenir diverses options chiffres pour le même message ouvert. Depuis les ensembles M A, M B, ..., M Z ne se croisent pas par paires, alors pour chaque caractère du chiffrement, il est possible de déterminer de manière unique à quel ensemble il appartient et, par conséquent, à quelle lettre du message ouvert il remplace. Par conséquent, le décryptage est possible et le message ouvert est déterminé de manière unique.

La description ci-dessus de l'essence des chiffrements par substitution s'applique à toutes leurs variétés à l'exception de , dans laquelle les mêmes substitutions de chiffrement peuvent être utilisées pour chiffrer différents caractères de l'alphabet source (c'est-à-dire M je ∩ M J ≠ Ø, je ≠ j).

La méthode de remplacement est souvent mise en œuvre par de nombreux utilisateurs lorsqu'ils travaillent sur un ordinateur. Si, par oubli, vous ne changez pas le jeu de caractères du latin au cyrillique sur le clavier, alors au lieu des lettres de l'alphabet russe, lors de la saisie de texte, des lettres de l'alphabet latin («remplacements de chiffrement») seront imprimées.

Des alphabets strictement définis sont utilisés pour enregistrer les messages originaux et cryptés. Les alphabets d'écriture des messages originaux et cryptés peuvent différer. Les caractères des deux alphabets peuvent être représentés par des lettres, leurs combinaisons, des chiffres, des images, des sons, des gestes, etc. A titre d'exemple, on peut citer les danseurs de l'histoire d'A. Conan Doyle () et le manuscrit de la lettre runique () du roman de J. Verne "Voyage au centre de la Terre".

Les chiffrements de substitution peuvent être divisés comme suit sous-classes(variétés).

Fig.4.2. Classification des chiffrements de substitution

I. Chiffres réguliers. Les remplacements de chiffrement sont constitués du même nombre de caractères ou sont séparés les uns des autres par un séparateur (espace, point, tiret, etc.).

Chiffrement de slogan. Pour un chiffrement donné, la construction d'une table de substitution de chiffrement est basée sur un slogan (clé) - un mot facile à retenir. La deuxième ligne de la table de substitution de chiffrement est d'abord remplie avec le mot de slogan (et les lettres répétées sont ignorées), puis avec le reste des lettres qui ne sont pas incluses dans le mot de slogan, par ordre alphabétique. Par exemple, si le mot slogan "ONCLE" est sélectionné, le tableau ressemble à ceci.

UNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUje
DjeETHUNBDANSgEYoETOOuiÀLMÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETU

Fig.4.4. Tableau des substitutions de chiffrement pour le chiffrement de slogan

Lors du chiffrement du message d'origine "ABRAMOV" à l'aide de la clé ci-dessus, le chiffrement ressemblera à "DYAPDKMI".

Carré polybien. Le chiffre a été inventé par l'homme d'État grec, commandant et historien Polybe (203-120 av. J.-C.). En ce qui concerne l'alphabet russe et les chiffres indiens (arabes), l'essence du cryptage était la suivante. Les lettres sont écrites dans un carré 6x6 (pas nécessairement dans l'ordre alphabétique).


1 2 3 4 5 6
1 UNBDANSgDE
2 YoETOETOuiÀ
3 LMHÀ PROPOSPR
4 AVECJÀFXC
5 HOSCHKommersantSb
6 ETUje- - -

Fig.4.5. Tableau des substitutions de chiffrement pour le carré polybien

La lettre chiffrée est remplacée par les coordonnées du carré (ligne-colonne) dans lequel elle est écrite. Par exemple, si le message d'origine est "ABRAMOV", alors le texte chiffré est "11 12 36 11 32 34 13". Dans la Grèce antique, les messages étaient transmis à l'aide d'un télégraphe optique (utilisant des torches). Pour chaque lettre du message, le nombre de torches était d'abord élevé, correspondant au numéro de la ligne de la lettre, puis au numéro de la colonne.

Tableau 4.1. La fréquence d'apparition des lettres de la langue russe dans les textes

Nbre p/pLettreFréquence, %Nbre p/pLettreFréquence, %
1 À PROPOS10.97 18 b1.74
2 E8.45 19 g1.70
3 UN8.01 20 O1.65
4 ET7.35 21 B1.59
5 H6.70 22 H1.44
6 J6.26 23 Oui1.21
7 AVEC5.47 24 X0.97
8 R4.73 25 ET0.94
9 DANS4.54 26 O0.73
10 L4.40 27 TU0.64
11 À3.49 28 C0.48
12 M3.21 29 SCH0.36
13 D2.98 30 E0.32
14 P2.81 31 F0.26
15 À2.62 32 Kommersant0.04
16 je2.01 33 Yo0.04
17 S1.90

Il existe des tables similaires pour les paires de lettres (bigrammes). Par exemple, les bigrammes courants sont "cela", "mais", "st", "par", "en", etc. Une autre méthode d'ouverture des textes chiffrés est basée sur l'exclusion des combinaisons possibles de lettres. Par exemple, dans les textes (s'ils sont écrits sans fautes d'orthographe), vous ne pouvez pas trouver les combinaisons "cha", "timide", "b", etc.

Pour compliquer la tâche de casser les chiffrements de substitution sans ambiguïté, même dans les temps anciens, avant le cryptage, les espaces et / ou les voyelles étaient exclus des messages originaux. Le cryptage est un autre moyen de rendre le piratage plus difficile. digrammes(par paires de lettres).

4.3. Chiffres polygrammes

Chiffres de substitution de polygramme- Ce sont des chiffrements dans lesquels un remplacement de chiffrement correspond à plusieurs caractères du texte source à la fois.

Ports de chiffrement bigramme. Le chiffre de Porta, présenté par lui sous forme de tableau, est le premier chiffre digramme connu. La taille de sa table était de 20 x 20 cases ; en haut, horizontalement et verticalement à gauche, l'alphabet standard était écrit (il ne contenait pas les lettres J, K, U, W, X et Z). Tous les chiffres, lettres ou symboles pouvaient être écrits dans les cellules du tableau - Giovanni Porta lui-même utilisait des symboles - à condition que le contenu d'aucune des cellules ne soit répété. En ce qui concerne la langue russe, le tableau des substitutions de chiffrement peut se présenter comme suit.


UNBDANSgDE
(Yo)
ETOET
(O)
ÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUje
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
DANS063 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
SON)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
ET187 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
O218 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
Je (O)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
À280 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
À PROPOS404 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
AVEC497 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
J528 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
À559 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
O714 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
je931 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. Table de substitution de chiffrement pour les ports de chiffrement

Le cryptage est effectué par paires de lettres du message d'origine. La première lettre de la paire indique la ligne de remplacement du chiffrement, la seconde - la colonne. Dans le cas d'un nombre impair de lettres dans le message d'origine, un caractère auxiliaire ("caractère blanc") lui est ajouté. Par exemple, le message d'origine est "AB RA MO V", crypté - "002 466 355 093". La lettre "I" est utilisée comme caractère auxiliaire.

Chiffre Playfair (eng. "Fair game"). Au début des années 1850 Charles Wheatstone a inventé le soi-disant "chiffre rectangulaire". Leon Playfair, un ami proche de Wheatstone, a parlé de ce chiffre lors d'un dîner officiel en 1854 avec le ministre de l'Intérieur, Lord Palmerston et le prince Albert. Et comme Playfair était bien connu dans les cercles militaires et diplomatiques, le nom de "chiffre Playfair" était à jamais attaché à la création de Wheatstone.

Ce chiffrement est devenu le premier chiffrement bigramme alphabétique (dans la table bigramme porta, des symboles ont été utilisés, pas des lettres). Il a été conçu pour assurer le secret des communications télégraphiques et a été utilisé par les troupes britanniques pendant les guerres anglo-boers et la Première Guerre mondiale. Il a également été utilisé par les garde-côtes des îles australiennes pendant la Seconde Guerre mondiale.

Le chiffrement permet de chiffrer des paires de caractères (bigrammes). Ainsi, ce chiffrement est plus résistant au craquage qu'un simple chiffrement par substitution, car l'analyse fréquentielle est plus difficile. Cela peut être fait, mais pas pour 26 caractères possibles (alphabet latin), mais pour 26 x 26 = 676 bigrammes possibles. L'analyse de fréquence bigramme est possible, mais elle est beaucoup plus difficile et nécessite une quantité beaucoup plus importante de texte chiffré.

Pour chiffrer un message, il faut le scinder en bigrammes (groupes de deux caractères), tandis que si deux caractères identiques se rencontrent dans un bigramme, alors un caractère auxiliaire prédéterminé est ajouté entre eux (dans l'original - X, pour l'alphabet russe - je). Par exemple, "message crypté" devient "annon crypté" je communication je". Pour constituer une table de clés, un slogan est sélectionné puis il est renseigné selon les règles du système de cryptage Trisemus. Par exemple, pour le slogan "ONCLE", la table des clés ressemble à ceci.

DjeETHUNB
DANSgEYoETO
OuiÀLMÀ PROPOSP
RAVECJÀFX
CHOSCHKommersantS
bETU- 1 2

Fig.4.11. Table de clés pour le chiffre Playfair

Ensuite, guidés par les règles suivantes, les paires de caractères du texte source sont chiffrées :

1. Si les caractères bigrammes du texte source apparaissent sur une ligne, alors ces caractères sont remplacés par les caractères situés dans les colonnes les plus proches à droite des caractères correspondants. Si le caractère est le dernier caractère de la chaîne, il est remplacé par le premier caractère de la même chaîne.

2. Si les caractères bigrammes du texte source apparaissent dans une colonne, ils sont convertis en caractères de la même colonne, située directement en dessous d'eux. Si le caractère est le dernier caractère d'une colonne, il est alors remplacé par le premier caractère de la même colonne.

3. Si les symboles bigrammes du texte source se trouvent dans des colonnes et des lignes différentes, ils sont remplacés par des symboles situés dans les mêmes lignes, mais correspondant à d'autres coins du rectangle.

Exemple de chiffrement.

Le bigramme "pour" forme un rectangle - est remplacé par "zhb" ;

Le digramme "shi" est dans la même colonne - il est remplacé par "yue" ;

Le bigramme "fr" est sur une seule ligne - il est remplacé par "xs" ;

Le bigramme "ov" forme un rectangle - est remplacé par "ij" ;

Le digramme "an" est dans la même ligne - il est remplacé par "ba" ;

Le bigramme "mais" forme un rectangle - est remplacé par "am" ;

Le bigramme "eu" forme un rectangle - est remplacé par "gt" ;

Le bigramme "oya" forme un rectangle - il est remplacé par "ka" ;

Le bigramme "ob" forme un rectangle - est remplacé par "pa" ;

Le digramme "shche" forme un rectangle - il est remplacé par "elle" ;

Le bigramme "ni" forme un rectangle - est remplacé par "an" ;

Le digramme "her" forme un rectangle - il est remplacé par "gi".

Le chiffrement est "zhb yue xs yzh ba am gt ka pa she an gi".

Pour le déchiffrement, il faut utiliser l'inversion de ces règles, en écartant les caractères je(ou X) s'ils n'ont pas de sens dans le message d'origine.

Il se composait de deux disques - un disque fixe externe et un disque mobile interne, sur lesquels les lettres de l'alphabet étaient appliquées. Le processus de cryptage consistait à trouver une lettre en clair sur disque externe et en le remplaçant par la lettre du lecteur interne en dessous. Après cela, le disque interne a été décalé d'une position et la deuxième lettre a été chiffrée à l'aide du nouvel alphabet chiffré. La clé de ce chiffrement était l'ordre des lettres sur les disques et la position initiale du disque intérieur par rapport à l'extérieur.

Table trisème. L'un des chiffrements inventés par l'abbé allemand Trisemus était un chiffrement polyalphabétique basé sur la soi-disant "table Trisemus" - une table avec un côté égal à n, Où n est le nombre de caractères de l'alphabet. Dans la première rangée de la matrice, les lettres sont écrites dans l'ordre de leur ordre dans l'alphabet, dans la seconde - la même séquence de lettres, mais avec un décalage cyclique d'une position vers la gauche, dans la troisième - avec un cyclique décalage de deux positions vers la gauche, etc.

UNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUje
BDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUN
DANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNB
gDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANS
DEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSg
EYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgD
YoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDE
ETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYo
OETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoET
ETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETO
OuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOET
ÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOui
LMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀ
MHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀL
HÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLM
À PROPOSPRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMH
PRAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOS
RAVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSP
AVECJÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPR
JÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVEC
ÀFXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJ
FXCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀ
XCHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀF
CHOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFX
HOSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXC
OSCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCH
SCHKommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHO
KommersantSbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCH
SbETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersant
bETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantS
ETUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSb
TUjeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbE
jeUNBDANSgDEYoETOETOuiÀLMHÀ PROPOSPRAVECJÀFXCHOSCHKommersantSbETU

Fig.4.17. Table trisème

La première ligne est également l'alphabet pour les lettres en clair. La première lettre du texte est chiffrée sur la première ligne, la deuxième lettre sur la seconde, et ainsi de suite. Après avoir utilisé la dernière ligne, ils reviennent à nouveau à la première. Ainsi le message « ABRAMOV » prendra la forme « AUTOCARGO ».

Système de cryptage Vigenère. En 1586, le diplomate français Blaise Vigenère présenta devant la commission d'Henri III une description d'un chiffrement simple mais assez fort basé sur la table Trisemus.

Avant le chiffrement, une clé est sélectionnée parmi les caractères alphabétiques. La procédure de cryptage elle-même est la suivante. La colonne est déterminée par le ième caractère du message ouvert dans la première ligne, et la ligne est déterminée par le ième caractère de la clé dans la colonne la plus à gauche. A l'intersection d'une ligne et d'une colonne, il y aura le ième caractère placé dans le texte chiffré. Si la longueur de la clé est inférieure au message, elle est réutilisée. Par exemple, le message d'origine est "ABRAMOV", la clé est "ONCLE", le chiffrement est "DAFIOYOЁ".

En toute honnêteté, il convient de noter que la paternité de ce chiffre appartient à l'Italien Giovanni Battista Bellaso, qui l'a décrit en 1553. L'histoire "a ignoré un fait important et a nommé le chiffre d'après Vigenère, malgré le fait qu'il n'a rien fait pour le créer ". Bellaso a suggéré de nommer un mot ou une phrase secrète mot de passe(it. mot de passe; fr. parole - mot).

En 1863, Friedrich Kasiski a publié un algorithme d'attaque pour ce chiffrement, bien qu'il existe des cas connus de sa rupture du chiffrement par certains cryptanalystes expérimentés plus tôt. En particulier, en 1854, le chiffrement a été brisé par l'inventeur du premier ordinateur analytique, Charles Babbage, bien que ce fait ne soit devenu connu qu'au XXe siècle, lorsqu'un groupe de scientifiques a analysé les calculs et les notes personnelles de Babbage. Malgré cela, le chiffre de Vigenère avait la réputation d'être exceptionnellement résistant au craquage "manuel". pendant longtemps. Ainsi, le célèbre écrivain et mathématicien Charles Lutwidge Dodgson (Lewis Carroll) dans son article « The Alphabetical Cipher », publié dans un magazine pour enfants en 1868, a qualifié le chiffre de Vigenère d'incassable. En 1917, le magazine scientifique de vulgarisation Scientific American a également qualifié le chiffre de Vigenère d'incassable.

Machines rotatives. Les idées d'Alberti et de Bellaso ont été utilisées dans la création de machines rotatives électromécaniques dans la première moitié du XXe siècle. Certains d'entre eux ont été utilisés dans différents pays jusqu'aux années 1980. La plupart d'entre eux utilisaient des rotors (roues mécaniques), arrangement mutuel qui a déterminé l'alphabet de substitution de chiffrement actuel utilisé pour effectuer la substitution. La plus célèbre des machines rotatives est la machine allemande Enigma de la Seconde Guerre mondiale.

Les broches de sortie d'un rotor sont connectées aux broches d'entrée du rotor suivant, et lorsque le symbole du message d'origine est enfoncé sur le clavier, un circuit électrique est fermé, à la suite de quoi la lampe avec le symbole de remplacement du chiffrement s'allume en haut.

Fig.4.19. Système de rotor Enigma [www.cryptomuseum.com]

L'action de chiffrement d'Enigma est illustrée pour deux touches enfoncées successivement - le courant circule à travers les rotors, "se reflète" par le réflecteur, puis à nouveau à travers les rotors.

Fig.4.20. Schéma de chiffrement

Note. Les lignes grises montrent d'autres possibilités circuits électriquesà l'intérieur de chaque rotor. Lettre UN est crypté différemment avec des frappes successives de la même clé, d'abord dans g, puis dans C. Le signal prend un chemin différent en faisant tourner l'un des rotors après avoir appuyé sur la lettre précédente du message d'origine.

3. Décrire les types de chiffrements par substitution.

Les concepteurs et développeurs Web adorent lancer du jargon et des mots à la mode que nous avons parfois du mal à comprendre. Cet article se concentrera sur le code sémantique. Voyons ce que c'est !

Qu'est-ce qu'un code sémantique ?

Même si vous n'êtes pas un concepteur de sites Web, vous savez probablement que votre site Web a été écrit en HTML. HTML était à l'origine conçu comme un moyen de décrire le contenu d'un document, et non comme un moyen de le rendre visuellement agréable. Le code sémantique revient à ce concept original et encourage les concepteurs de sites Web à écrire du code qui décrit le contenu, et non à quoi il devrait ressembler. Par exemple, le titre d'une page pourrait être programmé comme ceci :

C'est le titre de la page

Cela rendrait le titre grand et gras, lui donnant l'apparence d'un titre de page, mais il n'y a rien dedans qui le décrit comme un « titre » dans le code. Cela signifie que l'ordinateur ne peut pas reconnaître cela comme le titre de la page.

Lors de l'écriture sémantique d'un titre, pour que l'ordinateur le reconnaisse comme un « titre », il faut utiliser le code suivant :

C'est le titre

L'apparence de l'en-tête peut être définie dans fichier séparé feuilles de style en cascade (CSS) sans interférer avec votre code HTML descriptif (sémantique).

Pourquoi le code sémantique est-il important ?

La capacité d'un ordinateur à reconnaître correctement le contenu est importante pour plusieurs raisons :

  • De nombreuses personnes malvoyantes utilisent des navigateurs vocaux pour lire les pages. De tels programmes ne pourront pas interpréter correctement les pages si elles n'ont pas été clairement expliquées. En d'autres termes, le code sémantique sert d'outil d'accessibilité.
  • Les moteurs de recherche doivent comprendre de quoi parle votre contenu afin de vous classer correctement dans les moteurs de recherche. Le code sémantique a la réputation d'améliorer vos placements dans moteurs de recherche, comme on le comprend aisément par les « robots de recherche ».

Le code sémantique présente également d'autres avantages :

  • Comme vous pouvez le voir dans l'exemple ci-dessus, le code sémantique est plus court et le chargement est plus rapide.
  • Le code sémantique facilite les mises à jour du site car vous pouvez styliser les en-têtes sur l'ensemble du site au lieu de page par page.
  • Le code sémantique est facile à comprendre, donc si un nouveau concepteur de sites Web reprend code donné, alors il lui sera facile de le démonter.
  • Étant donné que le code sémantique ne contient pas d'éléments de conception, modifiez apparence site Web sans recoder tout le code HTML.
  • Encore une fois, parce que la conception est séparée du contenu, le code sémantique permet à quiconque d'ajouter ou de modifier des pages sans avoir besoin d'un bon œil pour la conception. Vous décrivez simplement le contenu et CSS détermine à quoi ressemblera ce contenu.

Comment s'assurer qu'un site web utilise du code sémantique ?

Sur ce moment il n'y a aucun outil qui peut vérifier le code sémantique. Tout se résume à vérifier les couleurs, les polices ou les mises en page dans le code, au lieu de décrire le contenu. Si l'analyse de code semble effrayante, alors un bon point de départ est de demander à votre concepteur Web - code-t-il en respectant la sémantique ? S'il vous regarde d'un air vide ou commence un bavardage ridicule, alors vous pouvez être sûr qu'il n'encode pas de cette façon. À ce stade, vous devez décider si vous voulez lui donner une nouvelle direction dans son travail ou vous trouver un nouveau designer ?!

(remplacements). Dans les chiffrements de substitution, les lettres sont remplacées par d'autres lettres du même alphabet ; lors de l'encodage, les lettres sont remplacées par quelque chose de complètement différent - images, symboles d'autres alphabets, séquences de caractères différents, etc. Une table de correspondance biunivoque entre l'alphabet du texte source et les symboles de code est compilée, et conformément à cette table, un codage biunivoque a lieu. Pour décoder, vous devez connaître la table des codes.

Il existe un grand nombre de codes utilisés dans différents domaines de la vie humaine. Les codes bien connus sont utilisés pour la plupart pour faciliter la transmission d'informations d'une manière ou d'une autre. Si la table de codes n'est connue que de l'émetteur et de la réception, un chiffrement plutôt primitif est obtenu, qui se prête facilement à l'analyse de fréquence. Mais si une personne est loin de la théorie du codage et n'est pas familière avec l'analyse fréquentielle du texte, il lui est alors plutôt problématique de résoudre de tels chiffrements.

A1Z26

Le chiffrement le plus simple. Il s'appelle A1Z26 ou dans la version russe A1Ya33. Les lettres de l'alphabet sont remplacées par leurs numéros de série.

"NoZDR" peut être crypté en 14-15-26-4-18 ou 1415260418.

Morse

Les lettres, les chiffres et certains caractères sont associés à un ensemble de points et de tirets qui peuvent être transmis par radio, son, frappe, télégraphe lumineux et drapeaux. Étant donné que les marins ont également un drapeau correspondant associé à chaque lettre, il est possible d'envoyer un message avec des drapeaux.

Braille

Le braille est un système de lecture tactile pour les aveugles, composé de caractères à six points appelés cellules. La cellule est constituée de Trois points en hauteur et deux points en largeur.

Différents caractères braille sont formés en plaçant des points à différentes positions dans une cellule.

Pour plus de commodité, les points sont décrits lors de la lecture comme suit : 1, 2, 3 de gauche de haut en bas et 4, 5, 6 de droite de haut en bas.

Lors de la compilation du texte, les règles suivantes sont suivies:

    une cellule (espace) est sautée entre les mots ;

    après une virgule et un point-virgule, la cellule n'est pas ignorée ;

    tiret est écrit avec le mot précédent;

    Le numéro est précédé d'un signe numérique.

Pages de codes

Dans les quêtes et les énigmes informatiques, les lettres peuvent être encodées en fonction de leurs codes dans diverses pages de codes - des tables utilisées sur les ordinateurs. Pour les textes cyrilliques, il est préférable d'utiliser les encodages les plus courants : Windows-1251, KOI8, CP866, MacCyrillic. Bien que pour un cryptage complexe, vous pouvez choisir quelque chose de plus exotique.

Vous pouvez encoder en nombres hexadécimaux ou les convertir en décimal. Par exemple, la lettre Yo dans KOI8-R est B3 (179), dans CP866 c'est F0 (240) et dans Windows-1251 c'est A8 (168). Et il est possible que les lettres dans les bons tableaux recherchent une correspondance dans les gauches, alors le texte s'avérera être tapé en type "fou" èαᬫº∩íαδ (866→437) ou Êðàêîçÿáðû (1251→Latin-1).

Et vous pouvez remplacer la moitié supérieure des caractères par la moitié inférieure à l'intérieur d'un tableau. Ensuite, pour Windows-1251, au lieu de "krakozyabra", vous obtenez "jp" jng ap (), au lieu de "HELICOPTER" - "BEPRNK (R). Un tel changement dans la page de code est une perte classique du bit haut pendant échecs sur serveurs de messagerie. Dans ce cas, les caractères latins peuvent être encodés par un décalage vers le bas de 128 caractères. Et un tel encodage sera une variante de chiffrement - ROT128, mais pas pour l'alphabet habituel, mais pour la page de code sélectionnée.

L'heure exacte d'origine du chiffrement est inconnue, mais certains des enregistrements trouvés de ce système remontent au 18ème siècle. Des variantes de ce chiffre ont été utilisées par l'ordre rosicrucien et les francs-maçons. Ces derniers l'ont utilisé assez souvent dans leurs documents secrets et leur correspondance, de sorte que le chiffre a commencé à s'appeler le chiffre maçonnique. Même sur les pierres tombales des maçons, vous pouvez voir des inscriptions utilisant ce chiffre. Un système de cryptage similaire a été utilisé pendant la guerre civile américaine par l'armée de George Washington, ainsi que par les prisonniers des prisons fédérales des États confédérés des États-Unis.

Vous trouverez ci-dessous deux options (bleue et rouge) pour remplir la grille de ces chiffres. Les lettres sont disposées par paires, la deuxième lettre de la paire est dessinée comme un symbole avec un point :

Chiffres de l'auteur

Une grande variété de chiffrements, où un caractère de l'alphabet (lettre, chiffre, signe de ponctuation) correspond à un (moins souvent plus) caractère graphique, a été inventé. La plupart d'entre eux sont conçus pour être utilisés dans des films de science-fiction, des dessins animés et jeux d'ordinateur. En voici quelques uns:

hommes qui dansent

L'un des chiffrements de substitution d'auteur les plus célèbres est "". Il a été inventé et décrit par l'écrivain anglais Arthur Conan Doyle dans l'un de ses ouvrages sur Sherlock Holmes. Les lettres de l'alphabet sont remplacées par des symboles qui ressemblent à des petits hommes dans différentes poses. Dans le livre, les petits hommes n'ont pas été inventés pour toutes les lettres de l'alphabet, alors les fans ont finalisé et retravaillé les caractères de manière créative, et voici le chiffre:

Alphabet de Thomas More

Mais un tel alphabet a été décrit dans son traité "Utopia" de Thomas More en 1516 :

Ciphers de la série animée "Gravity Falls"

Chiffre de facture

Stanford Pines (journaliste)

Alphabet Jedi de Star Wars

Alphabet extraterrestre de Futurama

L'alphabet kryptonien de Superman

Alphabets bioniques

Sémantique(sémantique française de l'autre grec σημαντικός - dénotant) - la science de la compréhension de certains signes, séquences de caractères et autres conventions. Cette science est utilisée dans de nombreux domaines : linguistique, proxémique, pragmatique, étymologie, etc. Je n'ai aucune idée de ce que signifient ces mots et de ce que font toutes ces sciences. Et peu importe, je m'intéresse à la question de l'application de la sémantique lors de la mise en page des sites.

La note

Je n'aborderai pas le terme Web sémantique ici. À première vue, il peut sembler que les thèmes Web sémantique et HTML sémantique sont presque la même chose. Mais en fait, le concept du Web sémantique est assez philosophique et n'a pas grand-chose à voir avec la réalité actuelle.

Disposition sémantique - qu'est-ce que c'est?

Dans la langue, chaque mot a une signification spécifique, un but. Quand vous dites "saucisse", vous voulez dire un produit alimentaire, qui est de la viande hachée (généralement de la viande) dans une coquille oblongue. En bref, vous voulez dire des saucisses, pas du lait ou des pois verts.

HTML est aussi un langage, ses "mots", appelés balises, ont aussi une certaine signification logique et un certain but. Pour cela, tout d'abord le code HTML sémantique est mis en page avec la bonne en utilisant HTML Mots clés, en les utilisant conformément à leur destination, telles qu'elles ont été conçues par les développeurs Langage HTML et les normes Web.

microformats.org est une communauté qui travaille à donner vie aux idées idéalistes du Web sémantique en rapprochant la mise en page de ces idéaux sémantiques.

Pourquoi et qui a besoin d'une mise en page sémantique ?

Si les informations sur mon site s'affichent de la même manière que sur le design, sinon pourquoi devrais-je me casser la cervelle et penser à une sorte de sémantique ? ! Même travail supplémentaire! Qui en a besoin ?! Qui l'appréciera à part un autre codeur ?

J'entends souvent des questions comme celle-ci. Essayons de comprendre.

HTML sémantique pour les développeurs Web

Code sémantique pour les utilisateurs

Augmente la disponibilité des informations sur le site. Tout d'abord, cela importe pour les agents alternatifs tels que :

  • le code sémantique affecte directement la quantité de code HTML. Moins de code -> pages plus légères -> chargement plus rapide, moins requis mémoire vive du côté de l'utilisateur, moins de trafic, des bases de données plus petites. Le site devient plus rapide et moins cher.
  • navigateurs vocaux pour qui les balises et leurs attributs sont importants pour prononcer le contenu correctement et avec la bonne intonation, ou inversement pour ne pas trop prononcer.
  • appareils mobiles qui ne prennent pas entièrement en charge CSS et se concentrent donc principalement sur le code HTML, en l'affichant à l'écran en fonction des balises utilisées.
  • appareils d'impression même sans CSS supplémentaire, les informations seront mieux imprimées (plus proches du design), et la création version parfaite imprimer se transformera en quelques manipulations CSS faciles.
  • de plus, il existe des appareils et des plug-ins qui vous permettent de naviguer rapidement dans le document - par exemple, à travers les en-têtes d'Opera.

HTML sémantique pour les machines

Les moteurs de recherche améliorent constamment leurs méthodes de recherche afin que les résultats contiennent les informations qui cherche vraiment utilisateur. Le HTML sémantique y contribue car se prête à une bien meilleure analyse - le code est plus propre, le code est logique (vous pouvez clairement voir où se trouvent les en-têtes, où se trouve la navigation, où se trouve le contenu).

Un bon contenu associé à une mise en page sémantique de haute qualité est déjà une application sérieuse pour bonnes positions dans les résultats des moteurs de recherche.

MATHÉMATIQUES

Vestn. Ohm. université 2016. N° 3. S. 7-9.

UDC 512.4 V.A. Romankov

UNE VARIANTE DE CRYPTAGE SÉMANTIQUEMENT FORT BASÉ SUR RSA*

L'objectif principal de l'article est de proposer une autre manière de sélectionner l'un des principaux paramètres du schéma de chiffrement basé sur le système cryptographique RSA proposé par l'auteur dans des travaux antérieurs. La version originale est basée sur complexité de calcul détermination des ordres d'éléments dans des groupes multiplicatifs d'anneaux modulaires. La méthode proposée change cette base en un autre problème insoluble de déterminer si les éléments de groupes multiplicatifs d'anneaux modulaires appartiennent aux puissances de ces groupes. Un cas particulier d'un tel problème est le problème classique de détermination de la quadraticité du résidu, qui est considéré comme difficile en termes de calcul. Ce problème détermine la force sémantique du système de cryptage Goldwasser-Micali bien connu. Dans la version proposée, la sécurité sémantique du schéma de chiffrement est basée sur la complexité de calcul du problème consistant à déterminer si des éléments de groupes multiplicatifs d'anneaux modulaires appartiennent aux puissances de ces groupes.

Mots clés Mots clés : système cryptographique RSA, chiffrement à clé publique, anneau modulaire, résidu quadratique, sécurité sémantique.

1. Introduction

Le but de cet article est de présenter de nouveaux éléments pour la version du schéma de chiffrement basé sur RSA introduit par l'auteur dans . A savoir, une autre manière de spécifier les sous-groupes apparaissant dans ce schéma est proposée. Cette méthode conduit au remplacement du problème informatique difficile sous-jacent de détermination des ordres d'éléments de groupes multiplicatifs d'anneaux modulaires par le problème informatique difficile d'entrer les puissances données de ces groupes. Un cas particulier de ce dernier problème est le problème classique de la détermination de la quadraticité du résidu d'un élément d'un groupe multiplicatif d'un anneau modulaire.

Le système de cryptage à clé publique RSA a été introduit par Rivest, Shamir et Adleman en 1977. Il est largement utilisé dans le monde et est inclus dans presque tous les manuels de cryptographie. Concernant ce système et sa force cryptographique, voir, par exemple.

La version de base du système est déterministe et pour cette raison n'a pas la propriété du secret sémantique, l'indicateur le plus important de la force cryptographique d'un système de chiffrement à clé publique. On utilise donc en pratique des variantes du système dont le but est d'y introduire un élément probabiliste et d'assurer ainsi le respect de la propriété de secret sémantique.

Installation : plate-forme de chiffrement

Soit n le produit de deux grands nombres premiers distincts p et q. L'anneau résiduel Zn est choisi comme plate-forme pour le système de cryptage. Le module n et la plateforme Zn sont des éléments publics du système, les nombres p et q sont secrets.

* Étude soutenue Fonds russe recherche fondamentale (projet 15-41-04312).

© Romankov V.A., 2016

Romankov V. A.

La fonction d'Euler est notée φ:N ^ N, dans ce cas elle prend la valeur φ(n)=(p-1)(q-1). Ainsi, l'ordre du groupe multiplicatif Z*n du cycle Zn est (p-1)(q-1). Pour ces concepts, voir, par exemple.

Ensuite, deux sous-groupes M et H du groupe Z*n de périodes coprimes r et t sont sélectionnés, respectivement. Il est proposé de spécifier ces sous-groupes en fonction de leurs éléments générateurs M = gr(g1 ,...,gk), H = gr(i1, ..,hl). Rappelons que la période t(G) d'un groupe G est le plus petit nombre t tel que dr = 1 pour tout élément geG. La période du groupe Z*n est le nombre t (n), égal au plus petit commun multiple des nombres p-1 et q-1. Les sous-groupes M et H peuvent être cycliques et être donnés par un élément générateur. Les éléments générateurs des sous-groupes M et H sont considérés comme ouverts, tandis que les périodes des sous-groupes r et t sont considérées comme secrètes.

B et explique comment effectuer efficacement le choix spécifié des sous-groupes M et H, connaissant les paramètres secrets p et q. De plus, vous pouvez d'abord définir g et t, puis choisir p et q, et ensuite seulement effectuer d'autres actions. Notez que la construction d'éléments d'ordres donnés dans des corps finis est effectuée par une procédure efficace standard, décrite, par exemple, . Le passage à la construction d'éléments d'ordres donnés dans des groupes multiplicatifs Z*n d'anneaux modulaires Zn s'effectue de manière évidente à l'aide du théorème des restes chinois ou . Installation : choix des clés La clé de chiffrement e est un nombre naturel quelconque premier avec r. La clé de déchiffrement d = ^ est calculée à partir de l'égalité

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

La clé d existe car le paramètre d1 est calculé du fait que te et r sont premiers entre eux, la clé e est publique, la clé d et le paramètre d1 sont secrets.

Algorithme de chiffrement Pour envoyer un message sur un réseau ouvert - un élément m du sous-groupe M, Alice choisit un élément aléatoire h du sous-groupe H et calcule l'élément hm. La transmission ressemble

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

Algorithme de déchiffrement

Bob déchiffre le message reçu c comme suit :

cd=m(modn). (3)

Explication du déchiffrement correct

Comme ed=1 (modr), il existe un entier k tel que ed = 1 + rk. Alors

cd = (hm)ed = (ht)edim (mr)k = m (mod n). (4) Ainsi, l'élément h s'écrit comme élément du sous-groupe H comme la valeur du mot de groupe u(x1,.,xl) parmi les éléments générateurs h1t... ,hl du sous-groupe H. En fait, nous

choisir un mot u(x1,.,xl) puis calculer sa valeur h = u(h1t..., hl). En particulier, cela signifie que les éléments générateurs h1t... ,hl sont ouverts.

Force cryptographique du schéma

La sécurité cryptographique du schéma repose sur la difficulté de déterminer la période ou l'ordre de ce sous-groupe à partir des éléments générateurs donnés du sous-groupe H du groupe Z*n. Si l'ordre d'un élément pouvait être calculé par un algorithme efficace, alors en comptant les ordres o rd(h1), ..., ord(hl) des éléments générateurs du sous-groupe H, on pourrait trouver sa période t = t (H), égal à leur plus petit commun multiple . Cela permettrait de supprimer le facteur de ombrage h de cette variante de chiffrement en transformant c1 = met(modri), réduisant la procédure de déchiffrement au système RSA classique avec la clé publique de chiffrement et.

3. Une autre façon de définir un sous-groupe H

Dans cet article, nous proposons une autre option pour définir le sous-groupe H dans le schéma de chiffrement considéré. Considérons d'abord son cas particulier, qui est lié au problème insoluble reconnu de la détermination de la quadraticité du résidu du groupe Z*n. Rappelons qu'un résidu aeZ^ est dit quadratique s'il existe un élément xeZ*n tel que x2 = a (modn). Tous les résidus quadratiques forment un sous-groupe QZ*n du groupe Z*n. Le problème de la détermination de la quadraticité d'un résidu de groupe arbitraire est considéré comme insoluble sur le plan informatique. Le système de cryptage Goldwasser-Micali sémantiquement fort bien connu est basé sur cette propriété. Sa stabilité sémantique est complètement déterminée par l'insoluble du problème de la détermination de la squareness du résidu.

Supposons que les paramètres p et q soient choisis avec la condition p, q = 3 (mod 4), soit p = 4k +3, q = 41 +3. Dans les schémas liés à la quadraticité des résidus, cette hypothèse semble naturelle et se produit assez souvent. Si c'est vrai, l'application p:QZ*n ^ QZ*n, p:x^x2, est une bijection.

Le sous-groupe de résidus quadratiques QZ*n du groupe a l'indice 4 dans Z*n, voir par exemple . Son ordre o^^2^) est égal à φ(η)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1, c'est-à-dire est un nombre impair.

Nous supposons dans le schéma de chiffrement ci-dessus H = QZ*n. Tout élément du sous-groupe H est d'ordre impair, puisque la période t(Z*n), égale au plus petit commun multiple des nombres p - 1 = 4k +2 et q - 1 = 41 +2, est divisible par 2 , mais non divisible par 4. Au maximum un choix possible pour M est un sous-groupe d'ordre 4 dont les éléments ont des ordres pairs 2 ou 4. S'il existe méthode efficace calculer l'ordre (ou au moins sa parité) d'un élément arbitraire

Une variante de chiffrement sémantiquement fort basé sur RSA

groupe 2*n, alors le problème de la détermination de la quadraticité du résidu est également effectivement résolu. Le défaut du schéma avec un tel choix est la faible cardinalité de l'espace des textes -sous-groupe M. En fait, le schéma reproduit le schéma bien connu déjà mentionné de Gol-dwasser-Micali.

Nous obtenons plus d'opportunités avec le choix suivant. Soit s un nombre premier qui peut être considéré comme suffisamment grand. Soient p et q des nombres premiers tels qu'au moins un des nombres p - 1 ou q - 1 soit divisible par s. B et explique que l'on peut choisir s puis trouver efficacement p ou q avec la propriété donnée. Disons que le nombre p est recherché sous la forme 2sx + 1. Changez x et testez la simplicité du p résultant jusqu'à ce qu'il s'avère simple.

Définissons un sous-groupe H = , constitué de s-puissances d'éléments du groupe 2*n (pour s = 2, c'est un sous-groupe de QZ*n). Si p = 52k + su + 1 et q = 521 + sv + 1 (ou q = sl + V + 1), où les nombres u et V ne sont pas divisibles par s, alors l'ordre o^(H) du sous-groupe H ayant 2 dans le groupe *n l'indice b2 (ou l'indice s si q = sl + V + 1) est égal à B2k1 + Bku + b1n + w>. Cette ordonnance est relativement prioritaire par rapport à l'art. En particulier, cela signifie que les éléments du sous-groupe H ont des ordres non divisibles par s. Si un élément est en dehors du sous-groupe H, alors son ordre est divisible par s, puisque s divise l'ordre du groupe. Si le problème du calcul de l'ordre d'un élément du groupe 2*n (ou de la détermination de sa divisibilité par s) est effectivement résoluble dans le groupe 2*n, alors il résout aussi efficacement le problème de l'entrée dans le sous-groupe

En choisissant ainsi le sous-groupe H, on a la possibilité de choisir comme M un sous-groupe cyclique d'ordre r = 52 (ou d'ordre s). Un tel sous-groupe existe car l'ordre du groupe 2*n, égal à (p-1)^-1) = (52k + vi)^21 + sv) (ou (52k + vi)^1 + V)), est divisible par 52 (sur s). Pour spécifier H, il suffit de spécifier s. De plus, pour tout choix du sous-groupe M, on a M*2 =1. Si, lors du déchiffrement du message m, il est possible d'obtenir un élément de la forme teL, où ed est premier avec s, alors en trouvant des entiers y et z tels que edy + s2z = 1, on peut calculer teLy = m.

Cependant, les éléments générateurs du sous-groupe H ne sont pas spécifiés lors de la spécification de la forme, donc, s'il existe un algorithme pour calculer les ordres des éléments du groupe 2 * n, cela ne permet pas de calculer la période du sous-groupe

H, ce qui aurait été possible dans la version originale de .

La sécurité cryptographique de la version de schéma de repose sur la difficulté de la tâche de déterminer l'ordre d'un élément du groupe 2*n. Dans la version proposée, il est basé sur la difficulté de déterminer la période du sous-groupe Z*s. Sécurité sémantique Sachez que c = (hm")e (modn) est un message chiffré de la forme (2), où heH, m" = m1 ou m" = m2. Le chiffrement est considéré sémantiquement sécurisé s'il est impossible pour déterminer effectivement à quoi tout correspond bien à c. La bonne réponse mt (i = 1 ou 2) est obtenue si et seulement si cmje appartient à H. Ainsi, le chiffrement est sémantiquement sécurisé si et seulement si le problème de saisie de H est effectivement insoluble est le problème de l'entrée dans le sous-groupe des s-résidus Z * s. Dans le cas particulier s = 2, on obtient le problème bien connu de l'entrée de Q2 * n, qui est considéré comme insoluble, sur lequel la sécurité sémantique des Le système de cryptage Goldwasser-Micali et un certain nombre d'autres systèmes de cryptage sont basés.

LITTÉRATURE

Roman'kov V. A. Un nouveau système de cryptage sémantiquement sécurisé à clé publique basé sur RSA // Applied Discrete Mathematics. 2015. N° 3 (29). p. 32-40.

Rivest R., Shamir A., ​​​​Adleman L. Une méthode pour obtenir des signatures numériques et des cryptosystèmes à clé publique // Comm. ACM. 1978 Vol. 21, n° 2. P. 120126.

Hinek M. Cryptoanalyse de RSA et de ses variantes. Boca Raton : Chapman & Hall/CRC, 2010.

Song Y. Y. Attaques cryptanalytiques contre RSA. Berlin : Springer, 2008.

Timbre M., Bas R.M. Cryptanalyse appliquée. Briser les chiffres dans le monde réel. Hoboken : John Wiley & Sons, 2007.

Roman "kov V.A. Nouveau chiffrement probabiliste à clé publique basé sur le cryptosystème RAS // Groupes, Complexité, Cryptologie. 2015. Vol. 7, N° 2. P. 153156.

Romankov V. A. Introduction à la cryptographie. M. : Forum, 2012.

Menezes A., Ojrschot P.C., Vanstone S.A. Manuel de cryptographie appliquée. Boca Raton : CRC Press, 1996.

Goldwasser S., Micali S. Cryptage probabiliste et comment jouer au poker mental en gardant secrètes toutes les informations partielles // Proc. 14e Symposium sur la théorie de l'informatique, 1982, pp. 365-377.