Заголовок статьи
Текст статьи, который кем-то написан. Инко Гнито - ее автор.
Семантика (фр. sémantique от др.-греч. σημαντικός - обозначающий) — наука о понимании определенных знаков, последовательностей символов и других условных обозначений. Эта наука используется во многих отраслях: лингвистика, проксемика, прагматика, этимология и т.д. Ума не приложу, что эти слова означают и чем все эти науки занимаются. Да и не важно, меня интересует вопрос применения семантики при верстке сайтов.
Тут не буду затрагивать термин Семантический веб. На первый взгляд, может показаться, что темы Семантический веб и семантический HTML код — это почти одно и тоже. Но на самом деле Семантический веб понятие, довольно философское и с нынешней реальностью имеет не так много общего.
В языке каждое слово имеет определенный смысл, назначение. Когда ты говоришь "колбаса", ты имеешь в виду пищевой продукт, представляющий собой фарш (как правило, мясной) в продолговатой оболочке. Короче говоря имеешь в виду колбасу, а не молоко или зеленый горошек.
HTML — это тоже язык, его "слова", именуемые тегами, тоже имеют определенный логический смысл и назначение. По этому в первую очередь семантический HTML код — это верстка с правильным использованием HTML тегов , использованием их по назначению, так как их задумывали разработчики языка HTML и веб стандартов.
microformats.org — сообщество, которое работает над воплощением идеалистических идей Семантического веба в жизнь посредством приближения разметки страниц к тем самым семантическим идеалам.
Если у меня на сайте информация отображается так же как на дизайне, зачем себе еще ломать мозг и думать о какой-то семантике?! Это же дополнительная работа! Кому это нужно?! Кто это оценит кроме другого верстальщика?
Мне такие вопросы приходилось частенько слышать. Давай разберемся.
Повышает доступность информации на сайте. В первую очередь это имеет значение для альтернативных агентов таких как:
Поисковые системы постоянно совершенствуют методы поиска, чтобы в результатах была та информация, которую действительно ищет пользователь. Семантический HTML способствует этому, т.к. поддается гораздо лучшему анализу — код чище, код логичен (четко видно где заголовки, где навигация, где содержимое).
Хороший контент плюс качественная семантическая верстка — это уже серьезная заявка на хорошие позиции в выдачах поисковиков .
4.1. Основы шифрования
Сущность шифрования методом замены заключается в следующем . Пусть шифруются сообщения на русском языке и замене подлежит каждая буква этих сообщений. Тогда, букве А исходного алфавита сопоставляется некоторое множество символов (шифрозамен) М А, Б – М Б, …, Я – М Я . Шифрозамены выбираются таким образом, чтобы любые два множества (М I и М J , i ≠ j ) не содержали одинаковых элементов (М I ∩ М J = Ø ).
Таблица, приведенная на рис.4.1, является ключом шифра замены. Зная ее, можно осуществить как шифрование, так и расшифрование.
А | Б | ... | Я |
М А | М Б | ... | М Я |
Рис.4.1. Таблица шифрозамен
При шифровании каждая буква А открытого сообщения заменяется любым символом из множества М А . Если в сообщении содержится несколько букв А , то каждая из них заменяется на любой символ из М А . За счет этого с помощью одного ключа можно получить различные варианты шифрограммы для одного и того же открытого сообщения. Так как множества М А, М Б, ..., М Я попарно не пересекаются, то по каждому символу шифрограммы можно однозначно определить, какому множеству он принадлежит, и, следовательно, какую букву открытого сообщения он заменяет. Поэтому расшифрование возможно и открытое сообщение определяется единственным образом.
Приведенное выше описание сущности шифров замены относится ко всем их разновидностям за исключением , в которых для зашифрования разных символов исходного алфавита могут использоваться одинаковые шифрозамены (т.е. М I ∩ М J ≠ Ø , i ≠ j ).
Метод замены часто реализуется многими пользователями при работе на компьютере. Если по забывчивости не переключить на клавиатуре набор символов с латиницы на кириллицу, то вместо букв русского алфавита при вводе текста будут печататься буквы латинского алфавита («шифрозамены»).
Для записи исходных и зашифрованных сообщений используются строго определенные алфавиты. Алфавиты для записи исходных и зашифрованных сообщений могут отличаться. Символы обоих алфавитов могут быть представлены буквами, их сочетаниями, числами, рисунками, звуками, жестами и т.п. В качестве примера можно привести пляшущих человечков из рассказа А. Конан Дойла () и рукопись рунического письма () из романа Ж. Верна «Путешествие к центру Земли».
Шифры замены можно разделить на следующие подклассы (разновидности).
Рис.4.2. Классификация шифров замены
I. Регулярные шифры. Шифрозамены состоят из одинакового количества символов или отделяются друг от друга разделителем (пробелом, точкой, тире и т.п.).
Лозунговый шифр. Для данного шифра построение таблицы шифрозамен основано на лозунге (ключе) – легко запоминаемом слове. Вторая строка таблицы шифрозамен заполняется сначала словом-лозунгом (причем повторяющиеся буквы отбрасываются), а затем остальными буквами, не вошедшими в слово-лозунг, в алфавитном порядке. Например, если выбрано слово-лозунг «ДЯДИНА», то таблица имеет следующий вид.
А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Д | Я | И | Н | А | Б | В | Г | Е | Ё | Ж | З | Й | К | Л | М | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю |
Рис.4.4. Таблица шифрозамен для лозунгового шифра
При шифровании исходного сообщения «АБРАМОВ» по приведенному выше ключу шифрограмма будет выглядеть «ДЯПДКМИ».
Полибианский квадрат. Шифр изобретен греческим государственным деятелем, полководцем и историком Полибием (203-120 гг. до н.э.). Применительно к русскому алфавиту и индийским (арабским) цифрам суть шифрования заключалась в следующем. В квадрат 6х6 выписываются буквы (необязательно в алфавитном порядке).
1 | 2 | 3 | 4 | 5 | 6 | |
1 | А | Б | В | Г | Д | Е |
2 | Ё | Ж | З | И | Й | К |
3 | Л | М | Н | О | П | Р |
4 | С | Т | У | Ф | Х | Ц |
5 | Ч | Ш | Щ | Ъ | Ы | Ь |
6 | Э | Ю | Я | - | - | - |
Рис.4.5. Таблица шифрозамен для полибианского квадрата
Шифруемая буква заменяется на координаты квадрата (строка-столбец), в котором она записана. Например, если исходное сообщение «АБРАМОВ», то шифрограмма – «11 12 36 11 32 34 13». В Древней Греции сообщения передавались с помощью оптического телеграфа (с помощью факелов). Для каждой буквы сообщения вначале поднималось количество факелов, соответствующее номеру строки буквы, а затем номеру столбца.
Таблица 4.1. Частота появления букв русского языка в текстах
№ п/п | Буква | Частота, % | № п/п | Буква | Частота, % |
1 | О | 10.97 | 18 | Ь | 1.74 |
2 | Е | 8.45 | 19 | Г | 1.70 |
3 | А | 8.01 | 20 | З | 1.65 |
4 | И | 7.35 | 21 | Б | 1.59 |
5 | Н | 6.70 | 22 | Ч | 1.44 |
6 | Т | 6.26 | 23 | Й | 1.21 |
7 | С | 5.47 | 24 | Х | 0.97 |
8 | Р | 4.73 | 25 | Ж | 0.94 |
9 | В | 4.54 | 26 | Ш | 0.73 |
10 | Л | 4.40 | 27 | Ю | 0.64 |
11 | К | 3.49 | 28 | Ц | 0.48 |
12 | М | 3.21 | 29 | Щ | 0.36 |
13 | Д | 2.98 | 30 | Э | 0.32 |
14 | П | 2.81 | 31 | Ф | 0.26 |
15 | У | 2.62 | 32 | Ъ | 0.04 |
16 | Я | 2.01 | 33 | Ё | 0.04 |
17 | Ы | 1.90 |
Существуют подобные таблицы для пар букв (биграмм). Например, часто встречаемыми биграммами являются «то», «но», «ст», «по», «ен» и т.д. Другой прием вскрытия шифрограмм основан на исключении возможных сочетаний букв. Например, в текстах (если они написаны без орфографических ошибок) нельзя встретить сочетания «чя», «щы», «ьъ» и т.п.
Для усложнения задачи вскрытия шифров однозначной замены еще в древности перед шифрованием из исходных сообщений исключали пробелы и/или гласные буквы. Другим способом, затрудняющим вскрытие, является шифрование биграммами (парами букв).
4.3. Полиграммные шифры
Полиграммные шифры замены - это шифры, в которых одна шифрозамена соответствует сразу нескольким символам исходного текста.
Биграммный шифр Порты . Шифр Порты, представленный им в виде таблицы, является первым известным биграммным шифром. Размер его таблицы составлял 20 х 20 ячеек; наверху горизонтально и слева вертикально записывался стандартный алфавит (в нем не было букв J, К, U, W, X и Z). В ячейках таблицы могли быть записаны любые числа, буквы или символы - сам Джованни Порта пользовался символами - при условии, что содержимое ни одной из ячеек не повторялось. Применительно к русскому языку таблица шифрозамен может выглядеть следующим образом.
А | Б | В | Г | Д | Е (Ё) | Ж | З | И (Й) | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | |
А | 001 | 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 |
Б | 032 | 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 |
В | 063 | 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 |
Г | 094 | 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 |
Д | 125 | 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 |
Е (Ё) | 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 |
Ж | 187 | 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 |
З | 218 | 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 |
И (Й) | 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 |
Л | 311 | 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 |
М | 342 | 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 |
Н | 373 | 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 |
О | 404 | 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 |
П | 435 | 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 |
Р | 466 | 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 |
С | 497 | 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 |
Т | 528 | 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 |
Ф | 590 | 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 |
Х | 621 | 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 |
Ц | 652 | 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 |
Ч | 683 | 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 |
Ш | 714 | 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 |
Щ | 745 | 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 |
Ъ | 776 | 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 |
Ы | 807 | 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 |
Ь | 838 | 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 |
Э | 869 | 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 |
Ю | 900 | 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 |
Я | 931 | 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 |
Рис.4.10. Таблица шифрозамен для шифра Порты
Шифрование выполняется парами букв исходного сообщения. Первая буква пары указывает на строку шифрозамены, вторая - на столбец. В случае нечетного количества букв в исходном сообщении к нему добавляется вспомогательный символ («пустой знак»). Например, исходное сообщение «АБ РА МО В», зашифрованное – «002 466 355 093». В качестве вспомогательного символа использована буква «Я».
Шифр Playfair (англ. «Честная игра»). В начале 1850-х гг. Чарлз Уитстон придумал так называемый «прямоугольный шифр». Леон Плейфер, близкий друг Уитстона, рассказал об этом шифре во время официального обеда в 1854 г. министру внутренних дел лорду Пальмерстону и принцу Альберту. А поскольку Плейфер был хорошо известен в военных и дипломатических кругах, то за творением Уитстона навечно закрепилось название «шифр Плейфера».
Данный шифр стал первым буквенным биграммным шифром (в биграммной таблице Порты использовались символы, а не буквы). Он был предназначен для обеспечения секретности телеграфной связи и применялся британскими войсками в Англо-бурской и Первой мировой войнах. Им пользовалась также австралийская служба береговой охраны островов во время Второй мировой войны.
Шифр предусматривает шифрование пар символов (биграмм). Таким образом, этот шифр более устойчив к взлому по сравнению с шифром простой замены, так как затрудняется частотный анализ. Он может быть проведен, но не для 26 возможных символов (латинский алфавит), а для 26 х 26 = 676 возможных биграмм. Анализ частоты биграмм возможен, но является значительно более трудным и требует намного большего объема зашифрованного текста.
Для шифрования сообщения необходимо разбить его на биграммы (группы из двух символов), при этом, если в биграмме встретятся два одинаковых символа, то между ними добавляется заранее оговоренный вспомогательный символ (в оригинале – X , для русского алфавита - Я ). Например, «зашифрованное сообщение» становится «за ши фр ов ан но ес оЯ об ще ни еЯ ». Для формирования ключевой таблицы выбирается лозунг и далее она заполняется по правилам шифрующей системы Трисемуса. Например, для лозунга «ДЯДИНА» ключевая таблица выглядит следующим образом.
Д | Я | И | Н | А | Б |
В | Г | Е | Ё | Ж | З |
Й | К | Л | М | О | П |
Р | С | Т | У | Ф | Х |
Ц | Ч | Ш | Щ | Ъ | Ы |
Ь | Э | Ю | - | 1 | 2 |
Рис.4.11. Ключевая таблица для шифра Playfair
Затем, руководствуясь следующими правилами, выполняется зашифровывание пар символов исходного текста:
1. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки.
2. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящимися непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца.
3. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но соответствующие другим углам прямоугольника.
Пример шифрования.
Биграмма «за» формирует прямоугольник – заменяется на «жб»;
Биграмма «ши» находятся в одном столбце – заменяется на «юе»;
Биграмма «фр» находятся в одной строке – заменяется на «хс»;
Биграмма «ов» формирует прямоугольник – заменяется на «йж»;
Биграмма «ан» находятся в одной строке – заменяется на «ба»;
Биграмма «но» формирует прямоугольник – заменяется на «ам»;
Биграмма «ес» формирует прямоугольник – заменяется на «гт»;
Биграмма «оя» формирует прямоугольник – заменяется на «ка»;
Биграмма «об» формирует прямоугольник – заменяется на «па»;
Биграмма «ще» формирует прямоугольник – заменяется на «шё»;
Биграмма «ни» формирует прямоугольник – заменяется на «ан»;
Биграмма «ея» формирует прямоугольник – заменяется на «ги».
Шифрограмма – «жб юе хс йж ба ам гт ка па шё ан ги».
Для расшифровки необходимо использовать инверсию этих правил, откидывая символы Я (или Х ), если они не несут смысла в исходном сообщении.
Он состоял из двух дисков – внешнего неподвижного и внутреннего подвижного дисков, на которые были нанесены буквы алфавита. Процесс шифрования заключался в нахождении буквы открытого текста на внешнем диске и замене ее на букву с внутреннего диска, стоящую под ней. После этого внутренний диск сдвигался на одну позицию и шифрование второй буквы производилось уже по новому шифралфавиту. Ключом данного шифра являлся порядок расположения букв на дисках и начальное положение внутреннего диска относительно внешнего.
Таблица Трисемуса. Одним из шифров, придуманных немецким аббатом Трисемусом, стал многоалфавитный шифр, основанный на так называемой «таблице Трисемуса» - таблице со стороной равной n , где n – количество символов в алфавите. В первой строке матрицы записываются буквы в порядке их очередности в алфавите, во второй – та же последовательность букв, но с циклическим сдвигом на одну позицию влево, в третьей – с циклическим сдвигом на две позиции влево и т.д.
А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А |
В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б |
Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В |
Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г |
Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д |
Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е |
Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё |
З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж |
И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З |
Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И |
К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й |
Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К |
М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л |
Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М |
О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н |
П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О |
Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П |
С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р |
Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С |
У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т |
Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У |
Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф |
Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х |
Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц |
Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч |
Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш |
Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ |
Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ |
Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы |
Э | Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь |
Ю | Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э |
Я | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю |
Рис.4.17. Таблица Трисемуса
Первая строка является одновременно и алфавитом для букв открытого текста. Первая буква текста шифруется по первой строке, вторая буква по второй и так далее. После использования последней строки вновь возвращаются к первой. Так сообщение «АБРАМОВ» приобретет вид «АВТГРУЗ».
Система шифрования Виженера. В 1586 г. французский дипломат Блез Виженер представил перед комиссией Генриха III описание простого, но довольно стойкого шифра, в основе которого лежит таблица Трисемуса.
Перед шифрованием выбирается ключ из символов алфавита. Сама процедура шифрования заключается в следующем. По i-ому символу открытого сообщения в первой строке определяется столбец, а по i-ому символу ключа в крайнем левом столбце – строка. На пересечении строки и столбца будет находиться i-ый символ, помещаемый в шифрограмму. Если длина ключа меньше сообщения, то он используется повторно. Например, исходное сообщение «АБРАМОВ», ключ – «ДЯДИНА», шифрограмма – «ДАФИЪОЁ».
Справедливости ради, следует отметить, что авторство данного шифра принадлежит итальянцу Джованни Батиста Беллазо, который описал его в 1553 г. История «проигнорировала важный факт и назвала шифр именем Виженера, несмотря на то, что он ничего не сделал для его создания» . Беллазо предложил называть секретное слово или фразу паролем (ит. password; фр. parole - слово).
В 1863 г. Фридрих Касиски опубликовал алгоритм атаки на этот шифр, хотя известны случаи его взлома шифра некоторыми опытными криптоаналитиками и ранее. В частности, в 1854 г. шифр был взломан изобретателем первой аналитической вычислительной машины Чарльзом Бэббиджем, хотя этот факт стал известен только в XX в., когда группа ученых разбирала вычисления и личные заметки Бэббиджа . Несмотря на это шифр Виженера имел репутацию исключительно стойкого к «ручному» взлому еще долгое время. Так, известный писатель и математик Чарльз Лютвидж Доджсон (Льюис Кэрролл) в своей статье «Алфавитный шифр», опубликованной в детском журнале в 1868 г., назвал шифр Виженера невзламываемым. В 1917 г. научно-популярный журнал «Scientific American» также отозвался о шифре Виженера, как о неподдающемся взлому .
Роторные машины. Идеи Альберти и Беллазо использовались при создании электромеханических роторных машин первой половины ХХ века. Некоторые из них использовались в разных странах вплоть до 1980-х годов. В большинстве из них использовались роторы (механические колеса), взаимное расположение которых определяло текущий алфавит шифрозамен, используемый для выполнения подстановки. Наиболее известной из роторных машин является немецкая машина времен Второй мировой войны «Энигма» .
Выходные штыри одного ротора соединены с входными штырями следующего ротора и при нажатии символа исходного сообщения на клавиатуре замыкали электрическую цепь, в результате чего загоралась лампочка с символом шифрозамены.
Рис.4.19. Роторная система Энигмы [www.cryptomuseum.com ]
Шифрующее действие «Энигмы» показано для двух последовательно нажатых клавиш - ток течёт через роторы, «отражается» от рефлектора, затем снова через роторы.
Рис.4.20. Схема шифрования
Примечание. Серыми линиями показаны другие возможные электрические цепи внутри каждого ротора. Буква A шифруется по-разному при последовательных нажатиях одной клавиши, сначала в G , затем в C . Сигнал идет по другому маршруту за счёт поворота одного из роторов после нажатия предыдущей буквы исходного сообщения.
3. Дайте характеристику разновидностям шифров замены.
Семантика кода HTML всегда является горячим вопросом. Некоторые разработчики стараются всегда писать семантический код. Другие критикуют догматичных приверженцев. А некоторые даже понятия не имеют о том, что это такое и зачем оно нужно. Семантика определяется в HTML в тегах, классах, ID, и атрибутах, которые описывают назначение, но не задают точно содержание, которое в них заключено. То есть речь идет о разделении содержания и его формата.
Начнем с очевидного примера.
Текст статьи, который кем-то написан.
Инко Гнито - ее автор.Заголовок статьи
Вне зависимости от того, считаете ли вы, что HTML5 готов к использованию или нет, наверняка использование тега Но не все так четко представляется тегами HTML5. Давайте рассмотрим набор имен классов и разберемся с тем, отвечают ли они требованиям семантики. Не семантический код.
Это классический пример. Каждая рабочая среда CSS для модульной сетки использует такого типа имена классов для определения элементов сетки. Будет ли это "yui-b", "grid-4", или "spanHalf" - такие имена ближе к заданию разметки, чем к описанию содержания. Однако их использование в большинстве случаев неизбежно при работе с шаблонами модульных сеток. Семантический код.
Нижний колонтитул (footer
) приобрел устойчивое значение в веб дизайне. Это нижняя часть страницы, которая содержит такие элементы как повторяющаяся навигация, права использования, информацию об авторе и так далее. Данный класс определяет группу для всех этих элементов без их описания. Если вы перешли к использованию HTML5, то лучше применять элемент Не семантический код.
Он точно определяет содержание. Но почему текст должен быть большим? Чтобы выделяться среди другого более мелкого текста? "standOut
" (выделение) больше подходит в данном случае. Вы можете решить изменить стиль для выделяющего текста, но ничего не делать с его размером, и в таком случаем название класса может привести вас в замешательство. Семантический код.
В данном случае речь идет об определении уровня важности элемента в интерфейсе приложения (например, параграфа или кнопки). Элемент с более высоким уровнем может иметь яркие цвета и больший размер, а элементы с низким уровнем могут содержать больше содержания. Но точного определения стилей в данном случае нет, поэтому код является семантическим. Данная ситуация очень похожа на использование тегов Семантический код.
Если бы каждое имя класса можно было так четко определить! В данном случае мы имеем описание раздела, который имеет содержание, назначение которого легко описать, также как и "tweets", "pagination" или "admin-nav". Не семантический код.
В данном случае речь идет о задании стиля для первого параграфа на странице. Такой прием используется для привлечения внимания читателей к материалу. Лучше использовать имя "intro", в котором отсутствует упоминание элемента. Но еще лучше использовать селектор для таких параграфов, например article p:first-of-type или h1 + p . Не семантический код.
Это очень обобщенное имя класса, которое используется для организации форматирования элементов. Но в нем нет ничего, чтобы касалось описания содержания. Различные теоретики семантики рекомендуют в таких случаях использовать имя класса наподобие "group". Вполне вероятно, что они правы. Так как данный элемент, несомненно, служит для группирования нескольких других элементов, и рекомендуемое название будет лучше описывать его назначение без погружения в детали. Не семантический код.
Слишком детальное описание формата содержания. Лучше подобрать другое имя, которое будет описывать содержание, а не его формат. Семантический код.
Класс очень хорошо описывает статус содержания. Например, сообщение об успешном завершении операции может иметь совершенно другой стиль от сообщения об ошибке. Не семантический код.
В данном примере имеется попытка задать определение формата содержания, а не его назначения. "plain-jane" очень похоже на "normal" или "regular". Идеальный код CSS должен быть написан так, чтобы не возникало необходимости в именах класса наподобие "regular", которые описывают формат содержания. Не семантический код.
Такого типа классы обычно используются для определения элементов сайта, которые не должны включаться в цепочку ссылок. В данном случае лучше использовать что-то наподобие rel=nofollow для ссылок, но не класс для всего содержания. Не семантический код.
Здесь имеется попытка описать формат содержания, а не его назначение. Допустим, что у вас на сайте есть две статьи. И вы желаете задать им разные стили. "Обзоры фильмов" будут иметь голубой фон, а "Горячие новости" - красный фон и шрифт большего размера. Один из способов решить задачу такой: Другой способ такой: Наверняка, если опросить нескольких разработчиков о том, какой код более соответствует требованиям семантики, большинство укажет на первый вариант. Он отлично соответствует материалу данного урока: описание назначение без ссылок на форматирование. А второй вариант указывает на формат ("blueBg" - имя класса, которое сформировано из двух английских слов, означающих "голубой фон"). Если вдруг будет принято решение поменять дизайн обзоров фильмов - например, сделать зеленый фон, то имя класса "blueBg" превратится в кошмар разработчика. А имя "movie-review" позволит абсолютно спокойно изменять стили оформления с сохранением отличного уровня поддержки кода. Но никто не утверждает, что первый пример лучше во всех без исключения случаях. Допустим, что определённый оттенок синего используется во многих местах на сайте. Например, он является фоном для некоторой части нижнего колонтитула и областей в боковой панели. Вы можете воспользоваться следующим селектором: Movie-review,
footer > div:nth-of-type(2),
aside > div:nth-of-type(4) {
background: #c2fbff;
} Эффективное решение, так как цвет определяется только в одном месте. Но такой код становится сложным для поддержки, так как имеет длинный селектор, сложный для визуального восприятия. Также потребуются другие селекторы для определения уникальных стилей, что приведет к повторению кода. Или вы можете использовать другой подход и оставить их разделёнными: Movie-review {
background: #c2fbff;
/* Определение цвета */
}
footer > div:nth-of-type(2) {
background: #c2fbff;
/* И еще одно */
}
aside > div:nth-of-type(4) {
background: #c2fbff;
/* И еще одно */
} Такой стиль помогает сохранять CSS файл более организованным (разные области определяются в разных разделах). Но платой является повторение определений. Для больших сайтов определение одного и того же цвета может доходить до нескольких тысяч раз. Ужасно! Вариантом решения может быть использование класса по типу "blueBg" для определения цвета один раз и вставки его в HTML коде, когда требуется использовать данный дизайн. Конечно, его лучше назвать "mainBrandColor" или "secondaryFont", чтобы отвязаться от описания форматирования. Можно пожертвовать семантикой кода в пользу сохранения ресурсов. МАТЕМАТИКА Вестн. Ом. ун-та. 2016. № 3. С. 7-9. УДК 512.4 В.А. Романьков ВАРИАНТ СЕМАНТИЧЕСКИ СТОЙКОГО ШИФРОВАНИЯ НА БАЗЕ RSA* Основной целью статьи является предложение другого способа выбора одного из основных параметров схемы шифрования основанной на криптографической системе RSA, предложенной автором в предыдущих работах. Оригинальная версия базируется на вычислительной сложности определения порядков элементов в мультипликативных группах модулярных колец. Предлагаемый способ меняет эту основу на другую трудноразрешимую задачу определения принадлежности элементов мультипликативных групп модулярных колец степеням этих групп. Частным случаем такой задачи является классическая задача определения квадратичности вычета, считающаяся вычислительно трудной. Эта задача определяет семантическую стойкость известной системы шифрования Гольдвассер-Микали. В предлагаемой версии семантическая стойкость схемы шифрования основана на вычислительной сложности проблемы определения принадлежности элементов мультипликативных групп модулярных колец степеням этих групп. Ключевые слова: криптографическая система RSA, шифрование с открытым ключом, модулярное кольцо, квадратичный вычет, семантическая стойкость. 1. Введение Целью данной работы является представление новых элементов для версии схемы шифрования на базе RSA, введенной автором в . А именно: предлагается другой способ задания фигурирующих в этой схеме подгрупп. Этот способ приводит к замене лежащей в основе схемы вычислительно сложной проблемы определения порядков элементов мультипликативных групп модулярных колец на вычислительно сложную проблему вхождения в заданные степени этих групп. Частным случаем последней проблемы является классическая задача определения квадратичности вычета элемента мультипликативной группы модулярного кольца. Система шифрования с открытым ключом RSA введена в обращение Ривестом, Шамиром и Адлеманом в 1977 г. . Она широко используется во всем мире и входит практически во все учебники криптографии. Относительно этой системы и ее криптографической стойкости см., например . Базовый вариант системы является детерминированным и по этой причине не обладает свойством семантической секретности, важнейшим показателем криптографической стойкости системы шифрования с открытым ключом. Поэтому на практике используют варианты системы, цель которых - внести в нее вероятностный элемент и тем самым обеспечить выполнение свойства семантической секретности. Установка: платформа шифрования Пусть n - произведение двух больших различных простых чисел p и q. В качестве платформы для системы шифрования выбирается кольцо вычетов Zn. Модуль n и платформа Zn являются открытыми элементами системы, числа p и q - секретными. * Исследование поддержано Российским фондом фундаментальных исследований (проект 15-41-04312). © Романьков В.А., 2016 Романьков В.А. Через ф:N ^ N обозначается функция Эйлера, в данном случае принимающая значение ф(п)= (p-1)(q-1). Таким образом, порядок мультипликативной группы Z*n кольца Zn равен (p-1)(q-1). Относительно этих понятий см., например . Далее выбираются две подгруппы M и H группы Z*n взаимно простых периодов г и t, соответственно. Эти подгруппы предлагается задавать через их порождающие элементы M = гр(g1 ,...,gk), H = гр(й1, ..,hl). Напомним, что периодом t(G) группы G называется наименьшее число t, такое, что дг = 1 для любого элемента geG. Периодом группы Z*n служит число t (n), равное наименьшему общему кратному чисел p-1 и q-1. Подгруппы M и H могут быть циклическими и задаваться одним порождающим элементом. Порождающие элементы подгрупп M и H считаются открытыми, в то время, как периоды подгрупп г и t - секретными. В и объяснено, как эффективно осуществить указанный выбор подгрупп M и H, зная секретные параметры p и q. Более того, можно вначале задать г и t , а затем выбрать p и q, а уже потом осуществить дальнейшие действия. Отметим, что построение элементов заданных порядков в конечных полях выполняется стандартной эффективной процедурой, описанной, например . Переход к построению элементов заданных порядков в мультипликативных группах Z*n модулярных колец Znосуществляется очевидным способом с использованием Китайской теоремы об остатках или . Установка: выбор ключей Ключ шифрования e - любое натуральное число, взаимно простое с г. Ключ расшифрования d = ^вычисляется из равенства (te)d1 = 1 (modr). (1) Ключ d существует, так как параметр d1 вычисляется вследствие взаимной простоты te и г. Ключ e открытый, ключ d и параметр d1 - секретные. Алгоритм шифрования Для передачи по открытой сети сообщения - m элемента подгруппы M, Алиса выбирает случайный элемент h подгруппы H и вычисляет элемент hm. Передача имеет вид c = (hm)e (modn). (2) Алгоритм расшифрования Боб расшифровывает полученное сообщение c следующим образом: cd=m (modn). (3) Объяснение правильности расшифрования Так как ed=1 (modr), найдется целое число k, такое, что ed = 1 + rk. Тогда cd = (hm)ed = (ht)edi m (mr)k = m (mod n). (4) Итак, элемент h записывается как элемент подгруппы H в виде значения группового слова u(x1,.,xl) от порождающих элементов h1t... ,hl подгруппы H. Фактически мы выбираем слово u(x1,.,xl), а затем вычисляем его значение h = u(h1t..., hl). В частности это означает, что порождающие элементы h1t... ,hl являются открытыми. Криптостойкость схемы Криптографическая стойкость схемы основывается на трудности определения по заданным порождающим элементам подгруппы H группы Z*n периода или порядка этой подгруппы. Если бы порядок элемента можно было вычислить эффективным алгоритмом, то подсчитав порядки o rd(h1), ..., ord(hl) порождающих элементов подгруппы H, мы могли бы найти ее период t = t(H), равный их наименьшему общему кратному. Это позволило бы убрать из данного варианта шифрования затеняющий множитель h преобразованием с1 = met(modri), сведя процедуру расшифрования к классической системе RSA с открытым ключом шифрования et. 3. Другой способ задания подгруппы H В данной работе предлагается другой вариант задания подгруппы H в рассматриваемой схеме шифрования. Вначале рассмотрим его частный случай, связанный с признанной трудноразрешимой задачей определения квадратичности вычета группы Z*n. Напомним, что вычет aeZ^ называется квад-ратичнъм, если существует такой элемент xeZ*n, что х2= a (modn). Все квадратичные вычеты образуют подгруппу QZ*n группы Z*n. Проблема определения квадратичности произвольного вычета группы считается вычислительно трудноразрешимой. На этом свойстве базируется известная семантически стойкая система шифрования Гольдвассер-Микали . Ее семантическая стойкость полностью определяется трудноразрешимостью проблемы определения квадратичности вычета. Допустим, параметры p и q выбираются с условием p, q = 3 (mod 4), т. е. p = 4k +3, q = 41 +3. В схемах, связанных с квадратич-ностью вычетов это предположение выглядит естественным и встречается достаточно часто. Если оно выполнено, отображение р:QZ*n ^ QZ*n, p:x^x2, является биекцией. Подгруппа квадратичных вычетов QZ*n группы имеет в Z*n индекс 4 см., например . Ее порядок о^^2^)равен ф(п)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1, т. е. является нечетным числом. Полагаем в приведенной выше схеме шифрования H = QZ*n. Любой элемент подгруппы H имеет нечетный порядок, так как период t(Z*n), равный наименьшему общему кратному чисел p - 1 = 4k +2 и q - 1 = 41 +2, делится на 2, но не делится на 4. Максимально возможный выбор для M - подгруппа порядка 4, элементы которой имеют четные порядки 2 или 4. Если существует эффективный способ вычисления порядка (или хотя бы его четности) произвольного элемента Вариант семантически стойкого шифрования на базе RSA группы 2*п, то эффективно решается и проблема определения квадратичности вычета. Недостатком схемы при таком выборе является маломощность пространства текстов -подгруппы М. Фактически схема дублирует уже упоминавшуюся известную схему Голь-двассер-Микали. Большие возможности мы получаем при следующем выборе. Пусть s - простое число, которое можно считать достаточно большим. Пусть р и q - простые числа такие, что хотя бы одно из чисел р - 1 или q - 1 делится на s. В и объяснено, что можно выбрать s, а затем эффективно найти р или q с данным свойством. Скажем, число р ищется в виде 2sx +1. Изменяется х и проводится проверка на простоту полученного р до тех пор, пока оно не окажется простым. Определим подгруппу Н = , состоящую из s-степеней элементов группы 2*п (при s = 2 это подгруппа QZ*n). Если р = 52к + su + 1 и q = 521 + sv +1 (или q = sl + V +1), где числа и и V не делятся на s, то порядок о^ (Н) подгруппы Н имеющей в группе 2*п индекс б2 (или индекс s, если q = sl + V +1), равен Б2к1 + Бку + б1п + ш>. Этот порядок взаимно прост с s. В частности это означает, что элементы подгруппы Н имеют порядки не делящиеся на s. Если элемент находится вне подгруппы Н, то его порядок делится на s, так как s делит порядок группы. Если проблема вычисления порядка элемента группы 2*п (или определения его делимости на s) эффективно разрешима в группе 2*п, то в ней также эффективно решается проблема вхождения в подгруппу При выборе указанным способом подгруппы Н у нас появляется возможность выбора в качестве М циклической подгруппы порядка г =52 (или порядка s). Такая подгруппа существует, так как порядок группы 2*п, равный (р-1)^-1) = (52к + ви)^21 + sv) (или (52к + ви)^1 + V)), делится на 52 (на s). Для задания Н достаточно указать s. При этом для любого выбора подгруппы М имеем М*2 =1. Если при расшифровке сообщения т удастся получить элемент вида теЛ, где ed взаимно просто с s, то найдя целые числа у и z такие, что edy + s2z = 1, можно вычислить теЛу = т. Однако порождающие элементы подгруппы Н при задании вида не указываются, поэтому, если существует алгоритм вычисления порядков элементов группы 2*п, это не позволяет вычислить период подгруппы H, что было бы возможно в первоначальной версии из . Криптографическая стойкость версии схемы из основана на трудности задачи определения порядка элемента группы 2*п. В предлагаемой версии она основана на трудности определения периода подгруппы Z*s. Семантическая стойкость Пусть известно, что c = (hm")e (modn) - зашифрованное сообщение вида (2), где heH, т" = т1 или т"=т2. Шифрование считается семантически стойким, если нельзя эффективно определить, чему же все-таки соответствует с. Правильный ответ mt (i = 1 или 2)по-лучается тогда и только тогда, когда cmje принадлежит H. Значит, шифрование семантически стойкое, если и только если проблема вхождения в H эффективно неразрешима. В рассматриваемом данной статьей случае -это проблема вхождения в подгруппу s-выче-тов Z*s. В частном случае s = 2 получаем известную считающуюся трудноразрешимой проблему вхождения в Q2*n, на которой основана семантическая стойкость системы шифрования Гольдвассер-Микали и ряда других систем шифрования. ЛИТЕРАТУРА Романьков В. А. Новая семантически стойкая система шифрования с открытым ключом на базе RSA // Прикладная дискретная математика. 2015. № 3 (29). С. 32-40. Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems // Comm. ACM. 1978. Vol. 21, № 2. P. 120126. Hinek M. Cryptanalysis of RSA and its variants. Boca Raton: Chapman & Hall / CRC, 2010. Song Y. Y. Cryptanalitic attacks on RSA. Berlin: Springer, 2008. Stamp M., Low R.M. Applied cryptanalysis. Breaking ciphers in the real world. Hoboken: JohnWiley&Sons, 2007. Roman"kov V.A. New probabilistic public-key encryption based on the RAS cryptosystem // Croups, Complexity, Cryptology. 2015. Vol. 7, № 2. P. 153156. Романьков В.А. Введение в криптографию. М. : Форум, 2012. Menezes A., Ojrschot P.C., Vanstone S.A. Handbook of Applied Cryptography. Boca Raton: CRC Press, 1996. Goldwasser S., Micali S. Probabilistic encryption and how to play mental poker keeping secret all partial information // Proc. 14th Symposium on Theory of Computing, 1982. P. 365-377. ,
,
, и так далее, но к другим элементам интерфейса.
Но...