Заместващи шифри - образователна и научна дейност на анисимов владимир викторович. Разсъждения за семантиката на HTML кода с примери Семантично оформление - какво е това
МАТЕМАТИКА
Вестн. Ом. университет 2016. № 3. С. 7-9.
UDC 512.4 V.A. Романков
ВАРИАНТ НА СЕМАНТИЧНО СИЛНО КРИПТИРАНЕ НА БАЗА НА RSA*
Основната цел на статията е да предложи друг начин за избор на един от основните параметри на схемата за криптиране, базирана на криптографската система RSA, предложена от автора в предишни работи. Оригиналната версия се основава на изчислителната сложност на определяне на реда на елементите в мултипликативни групи от модулни пръстени. Предложеният метод променя тази основа към друг трудноразрешим проблем за определяне дали елементи от мултипликативни групи от модулни пръстени принадлежат към мощностите на тези групи. Частен случай на такъв проблем е класическият проблем за определяне на квадратичността на остатъка, който се счита за труден от изчислителна гледна точка. Този проблем определя семантичната сила на добре известната система за криптиране Goldwasser-Micali. В предложената версия семантичната сигурност на схемата за криптиране се основава на изчислителната сложност на проблема за определяне дали елементи от мултипликативни групи от модулни пръстени принадлежат към мощностите на тези групи.
Ключови думи: криптографска система RSA, криптиране с публичен ключ, модулен пръстен, квадратичен остатък, семантична сигурност.
1. Въведение
Целта на този документ е да представи нови елементи за версията на схемата за криптиране, базирана на RSA, въведена от автора в . А именно, предлага се друг начин за уточняване на подгрупите, фигуриращи в тази схема. Този метод води до замяната на основния изчислително труден проблем за определяне на редовете на елементи от мултипликативни групи от модулни пръстени от изчислително трудния проблем за въвеждане на дадените мощности на тези групи. Частен случай на последния проблем е класическият проблем за определяне на квадратичността на остатъка на елемент от мултипликативна група на модулен пръстен.
Системата за криптиране с публичен ключ RSA е въведена от Rivest, Shamir и Adleman през 1977 г. Той се използва широко в целия свят и е включен в почти всички учебници по криптография. Относно тази система и нейната криптографска сила вижте напр.
Основната версия на системата е детерминирана и поради тази причина не притежава свойството семантична секретност, най-важният индикатор за криптографската сила на система за криптиране с публичен ключ. Ето защо на практика се използват варианти на системата, чиято цел е да въведат в нея вероятностен елемент и по този начин да осигурят изпълнението на свойството семантична тайна.
Инсталация: платформа за криптиране
Нека n е произведението на две големи различни прости числа p и q. Остатъчният пръстен Zn е избран като платформа за системата за криптиране. Модул n и платформа Zn са отворени елементисистеми, числата p и q са секретни.
* Изследването е подкрепено от Руската фондация за фундаментални изследвания (проект 15-41-04312).
© Романков V.A., 2016
Романков В.А.
Функцията на Ойлер се обозначава с φ:N ^ N, в този случай тя приема стойността φ(n)=(p-1)(q-1). Така редът на мултипликативната група Z*n на пръстена Zn е (p-1)(q-1). За тези понятия вижте напр.
След това се избират съответно две подгрупи M и H от групата Z*n на взаимнопрости периоди r и t. Предлага се тези подгрупи да бъдат специфицирани по отношение на техните генериращи елементи M = gr(g1 ,...,gk), H = gr(i1, ..,hl). Спомнете си, че периодът t(G) на група G е най-малкото число t, така че dr = 1 за всеки елемент geG. Периодът на групата Z*n е числото t (n), равно на най-малкото общо кратно на числата p-1 и q-1. Подгрупите M и H могат да бъдат циклични и да бъдат дадени от един генериращ елемент. Пораждащите елементи на подгрупите M и H се считат за открити, докато периодите на подгрупите r и t се считат за секретни.
B и обяснява как ефективно да се извърши определеният избор на подгрупи M и H, като се знаят тайните параметри p и q. Освен това можете първо да зададете g и t, след това да изберете p и q и едва след това да извършите по-нататъшни действия. Обърнете внимание, че конструирането на елементи от дадени поръчки в крайни полета се извършва чрез стандартната ефективна процедура, описана, например, . Преходът към конструиране на елементи от даден ред в мултипликативни групи Z*n на модулни пръстени Zn се извършва по очевиден начин, като се използва китайската теорема за остатъка или . Инсталиране: избор на ключове Ключът за криптиране e е всяко естествено число, взаимнопросто с r. Ключът за декриптиране d = ^ се изчислява от равенството
(te)d1 = 1 (modr). (един)
Ключът d съществува, защото параметърът d1 се изчислява поради факта, че te и r са взаимно прости. Ключът 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)edim (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 такъв, че x2 = a (modn). Всички квадратични остатъци образуват подгрупа QZ*n на групата Z*n. Проблемът за определяне на квадратичността на произволен групов остатък се счита за трудноразрешим изчислително. Добре известната семантично силна система за криптиране Goldwasser-Micali се основава на това свойство. Неговата семантична устойчивост се определя изцяло от трудноразрешимата задача за определяне на квадратурата на остатъка.
Да предположим, че параметрите p и q са избрани с условието p, q = 3 (mod 4), т.е. p = 4k +3, q = 41 +3. В схемите, свързани с квадратичността на остатъците, това предположение изглежда естествено и се среща доста често. Ако е валидно, картата p:QZ*n ^ QZ*n, p:x^x2, е биекция.
Подгрупата от квадратични остатъци QZ*n на групата има индекс 4 в Z*n, вижте например . Неговият ред o^^2^) е равен на φ(n)/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*n, тогава проблемът за определяне на квадратичността на остатъка също е ефективно решен. Недостатъкът на схемата с такъв избор е ниската кардиналност на пространството от текстове - подгрупата М. Всъщност схемата дублира вече споменатата известна схема на Гол-двасер-Микали.
Получаваме повече възможности със следващия избор. Нека s е просто число, което може да се счита за достатъчно голямо. Нека p и q са прости числа, така че поне едно от числата p - 1 или q - 1 се дели на s. B и обяснява, че човек може да избере s и след това ефективно да намери p или q с даденото свойство. Да кажем, че числото p се търси във формата 2sx + 1. Променете x и тествайте за простота на полученото p, докато се окаже, че е просто.
Нека дефинираме подгрупа H = , състояща се от s-степени на елементи от групата 2*n (за s = 2 това е подгрупа на QZ*n). Ако p = 52k + su + 1 и q = 521 + sv + 1 (или q = sl + V + 1), където числата u и V не се делят на s, тогава редът o^(H) на подгрупата H с 2 в групата *n индекс b2 (или индекс s, ако q = sl + V + 1) е равно на B2k1 + Bku + b1n + w>. Този ред е относително прост към s. По-специално това означава, че елементите на подгрупата H имат порядъци, които не се делят на s. Ако даден елемент е извън подгрупата H, тогава неговият ред се дели на s, тъй като s разделя реда на групата. Ако проблемът за изчисляване на реда на елемент от групата 2*n (или определяне на неговата делимост на s) е ефективно разрешим в групата 2*n, тогава той също ефективно решава проблема с влизането в подгрупата
При избора определен начинподгрупа H, имаме възможността да изберем като M циклична подгрупа от ред r = 52 (или ред s). Такава подгрупа съществува, защото редът на групата 2*n, равен на (p-1)^-1) = (52k + vi)^21 + sv) (или (52k + vi)^1 + V)), се дели на 52 (на s). За да посочите H, е достатъчно да посочите s. Освен това, за всеки избор на подгрупата M, имаме M*2 =1. Ако при дешифрирането на съобщението m е възможно да се получи елемент от формата teL, където ed е относително просто спрямо s, тогава чрез намиране на цели числа y и z, така че edy + s2z = 1, можем да изчислим teLy = m.
Генериращите елементи на подгрупата H обаче не са посочени при определяне на формата, следователно, ако има алгоритъм за изчисляване на поръчките на елементите от групата 2 * n, това не позволява изчисляване на периода на подгрупата
H, което би било възможно в оригиналната версия от .
Криптографската сигурност на версията на схемата от се основава на трудността на задачата за определяне на реда на елемент от групата 2*n. В предложената версия тя се основава на трудността при определяне на периода на подгрупата Z*s. Семантична сигурност Нека се знае, че c = (hm")e (modn) е криптирано съобщение във формата (2), където heH, m" = m1 или m" = m2. Шифроването се счита за семантично сигурно, ако е невъзможно за да се определи ефективно какво всичко съответства на c. Правилният отговор mt (i = 1 или 2) се получава тогава и само ако cmje принадлежи на H. Следователно криптирането е семантично сигурно тогава и само ако проблемът с въвеждането на H е ефективно неразрешим е проблемът за влизане в подгрупата на s-остатъци Z * s. В частния случай s = 2 получаваме добре познатия проблем за въвеждане на Q2 * n, който се счита за неразрешим, на който семантичната сигурност на Системата за криптиране Goldwasser-Micali и редица други системи за криптиране се основават.
ЛИТЕРАТУРА
Романков В. А. Нова семантично защитена система за криптиране с публичен ключ, базирана на RSA // Прикл. Дискретна математика. 2015. № 3 (29). стр. 32-40.
Rivest R., Shamir A., Adleman L. Метод за получаване на цифрови подписи и криптосистеми с публичен ключ // Comm. ACM. 1978 том. 21, № 2. С. 120126.
Hinek M. Криптоанализ на RSA и неговите варианти. Бока Ратон: Chapman & Hall/CRC, 2010 г.
Песен Y. Y. Криптоаналитични атаки срещу RSA. Берлин: Springer, 2008.
Печат М., Ниска Р.М. Приложен криптоанализ. Разбиване на шифри в реалния свят. Hoboken: John Wiley & Sons, 2007.
Роман "ков V.A. Ново вероятностно криптиране с публичен ключ, базирано на криптосистемата RAS // Croups, Complexity, Cryptology. 2015. Том 7, № 2. С. 153156.
Романков В.А. Въведение в криптографията. М. : Форум, 2012.
Менезес А., Ojrschot P.C., Vanstone S.A. Наръчник по приложна криптография. Бока Ратон: CRC Press, 1996.
Goldwasser S., Micali S. Вероятностно криптиране и как да играете умствен покер, запазвайки в тайна цялата частична информация // Proc. 14-ти симпозиум по теория на изчисленията, 1982 г., стр. 365-377.
4.1. Основи на криптирането
Същността на криптирането чрез метода на заместване е следната. Нека съобщенията на руски език да бъдат криптирани и всяка буква от тези съобщения да бъде заменена. След това, писмо НОна оригиналната азбука се съпоставя определен набор от знаци (замествания на шифър). M A, B - M B, ..., I - M Z. Шифровите замествания се избират по такъв начин, че всеки два набора ( М Ии М Дж, i ≠ j) не съдържа идентични елементи ( M I ∩ M J = Ø).
Таблицата, показана на Фигура 4.1, е ключът на заместващия шифър. Познавайки го, е възможно да се извърши както криптиране, така и декриптиране.
НО | б | ... | аз |
М А | М Б | ... | М И |
Фиг.4.1. Таблица за заместване на шифри
Когато е криптирана, всяка буква НО отворено съобщениезаменени с произволен знак от набора М А. Ако съобщението съдържа няколко букви НО, тогава всеки от тях се заменя с произволен знак от М А. Поради това, като използвате един ключ, можете да получите различни версии на шифъра за едно и също отворено съобщение. Тъй като комплектите M A, M B, ..., M Zне се пресичат по двойки, тогава за всеки знак от шифрограмата е възможно еднозначно да се определи към кой набор принадлежи и следователно коя буква от отвореното съобщение замества. Следователно дешифрирането е възможно и отвореното съобщение е еднозначно определено.
Горното описание на същността на заместващите шифри се отнася за всичките им разновидности с изключение на , в които едни и същи шифрови замествания могат да се използват за криптиране на различни знаци от изходната азбука (т.е. M I ∩ M J ≠ Ø, i ≠ j).
Методът на подмяна често се прилага от много потребители, когато работят на компютър. Ако поради забравяне не превключите набора от знаци от латиница на кирилица на клавиатурата, тогава вместо букви от руската азбука, когато въвеждате текст, ще бъдат отпечатани букви от латинската азбука („замени на шифри“).
За запис на оригинални и криптирани съобщения се използват строго определени азбуки. Азбуките за писане на оригинални и криптирани съобщения може да се различават. Знаците на двете азбуки могат да бъдат представени чрез букви, техните комбинации, цифри, картинки, звуци, жестове и др. Като пример можем да цитираме танцуващите мъже от историята на А. Конан Дойл () и ръкописа на руническото писмо () от романа на Ж. Верн „Пътуване до центъра на Земята“.
Заместващите шифри могат да бъдат разделени на следните подкласове(сортове).
Фиг.4.2. Класификация на заместващите шифри
I. Редовни шифри.Шифровите замествания се състоят от еднакъв брой знаци или са разделени един от друг с разделител (интервал, точка, тире и т.н.).
Шифър на лозунга.За даден шифър изграждането на таблица за заместване на шифър се основава на слоган (ключ) - лесно запомняща се дума. Вторият ред на таблицата за заместване на шифъра се попълва първо с думата на лозунга (и повтарящите се букви се изхвърлят), а след това с останалите букви, които не са включени в думата на лозунга, по азбучен ред. Например, ако е избрана слоган думата "ЧИЧО", таблицата изглежда така.
НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз |
д | аз | И | з | НО | б | AT | Ж | д | Йо | И | У | Y | Да се | Л | М | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю |
Фиг.4.4. Таблица със замествания на шифъра за шифъра на слогана
Когато шифровате оригиналното съобщение "ABRAMOV" с помощта на горния ключ, шифрограмата ще изглежда като "DYAPDKMI".
Полибийски квадрат.Шифърът е изобретен от гръцкия държавник, командир и историк Полибий (203-120 г. пр. н. е.). По отношение на руската азбука и индийските (арабски) цифри същността на криптирането беше следната. Буквите се изписват в квадрат 6x6 (не е задължително по азбучен ред).
1 | 2 | 3 | 4 | 5 | 6 | |
1 | НО | б | AT | Ж | д | д |
2 | Йо | И | У | И | Y | Да се |
3 | Л | М | з | О | П | Р |
4 | ОТ | T | При | Е | х | ° С |
5 | з | У | SCH | Комерсант | С | b |
6 | д | Ю | аз | - | - | - |
Фиг.4.5. Таблица на заместванията на шифъра за полибийския квадрат
Шифрираната буква се замества с координатите на квадрата (ред-колона), в който е написана. Например, ако оригиналното съобщение е "ABRAMOV", тогава шифрованият текст е "11 12 36 11 32 34 13". AT Древна Гърциясъобщенията се предават с помощта на оптичен телеграф (с помощта на факли). За всяка буква от съобщението първо се вдигаше броят на факлите, съответстващ на номера на реда на буквата, а след това на номера на колоната.
Таблица 4.1. Честотата на поява на букви на руски език в текстове
№ п / стр | Писмо | Честота, % | № п / стр | Писмо | Честота, % |
1 | О | 10.97 | 18 | b | 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 | T | 6.26 | 23 | Y | 1.21 |
7 | ОТ | 5.47 | 24 | х | 0.97 |
8 | Р | 4.73 | 25 | И | 0.94 |
9 | AT | 4.54 | 26 | У | 0.73 |
10 | Л | 4.40 | 27 | Ю | 0.64 |
11 | Да се | 3.49 | 28 | ° С | 0.48 |
12 | М | 3.21 | 29 | SCH | 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 |
Има подобни таблици за двойки букви (биграми). Например често срещаните биграми са „това“, „но“, „st“, „by“, „en“ и т.н. Друг метод за отваряне на шифровани текстове се основава на изключването на възможни комбинации от букви. Например в текстовете (ако са написани без правописни грешки) не можете да намерите комбинациите "ча", "срамежлив", "б" и т.н.
За да се усложни задачата за разбиване на недвусмислени заместващи шифри, дори в древни времена, преди криптирането, интервалите и/или гласните са били изключени от оригиналните съобщения. Друг начин да направите кракването по-трудно е криптирането. диграми(по двойки букви).
4.3. Полиграмни шифри
Полиграмни заместващи шифри- това са шифри, в които една замяна на шифър съответства на няколко знака наведнъж програмен код.
Портове за шифър Bigram. Шифърът на Порта, представен от него под формата на таблица, е първият известен диграмен шифър. Размерът на неговата маса беше 20 x 20 клетки; отгоре, хоризонтално и вертикално вляво, беше написана стандартната азбука (тя не съдържаше буквите J, K, U, W, X и Z). Всякакви цифри, букви или символи могат да бъдат написани в клетките на таблицата - самият Джовани Порта използва символи - при условие че съдържанието на никоя от клетките не се повтаря. По отношение на руския език таблицата на заместванията на шифъра може да изглежда по следния начин.
НО | б | AT | Ж | д | д (Йо) | И | У | И (Y) | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | |
НО | 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 |
AT | 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 |
аз (Y) | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 |
Да се | 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 |
T | 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 |
SCH | 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 |
b | 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. Таблица за заместване на шифър за портове за шифър
Криптирането се извършва по двойки букви от оригиналното съобщение. Първата буква на двойката показва линията за заместване на шифъра, втората - колоната. В случай на нечетен брой букви в оригиналното съобщение, към него се добавя спомагателен знак („празен символ“). Например, оригиналното съобщение е "AB RA MO V", криптирано - "002 466 355 093". Буквата "I" се използва като спомагателен символ.
Плейфеър шифър (англ. "Честна игра").В началото на 1850г Чарлз Уитстоун изобретява така наречения "правоъгълен шифър". Леон Плейфеър, близък приятел на Уитстоун, разказа за този шифър по време на официална вечеря през 1854 г. на вътрешния министър лорд Палмерстън и принц Албърт. И тъй като Playfair беше добре известен във военните и дипломатическите кръгове, името "Playfair cipher" беше завинаги прикрепено към творението на Wheatstone.
Този шифър стана първият азбучен биграмен шифър (в таблицата на порта биграмата бяха използвани символи, а не букви). Той е проектиран да гарантира тайната на телеграфните комуникации и е бил използван от британските войски в Бурската и Първата световна война. Използван е и от бреговата охрана на австралийските острови по време на Втората световна война.
Шифърът осигурява криптиране на двойки знаци (биграми). По този начин този шифър е по-устойчив на кракване от простия заместващ шифър, тъй като честотният анализ е по-труден. Може да се направи, но не за 26 възможни знака (латиница), а за 26 x 26 = 676 възможни биграми. Биграмният честотен анализ е възможен, но е много по-труден и изисква много по-голямо количество шифрован текст.
За да шифровате съобщение, е необходимо да го разделите на биграми (групи от два знака), а ако два еднакви знака се срещнат в биграма, тогава между тях се добавя предварително определен спомагателен знак (в оригинала - х, за руската азбука - аз). Например „шифровано съобщение“ става „шифровано anno азкомуникация аз". За формиране на ключова таблица се избира слоган и след това се попълва според правилата на системата за криптиране Trisemus. Например за слогана "ЧИЧО" ключовата таблица изглежда така.
д | аз | И | з | НО | б |
AT | Ж | д | Йо | И | У |
Y | Да се | Л | М | О | П |
Р | ОТ | T | При | Е | х |
° С | з | У | SCH | Комерсант | С |
b | д | Ю | - | 1 | 2 |
Фиг.4.11. Таблица с ключове за шифър на Playfair
След това, ръководени от следните правила, двойките знаци от изходния текст се криптират:
1. Ако биграмните знаци на изходния текст се срещат в един ред, тогава тези знаци се заменят със знаците, разположени в най-близките колони вдясно от съответните знаци. Ако знакът е последният символ в низа, тогава той се заменя с първия знак от същия низ.
2. Ако биграмните символи на изходния текст се срещат в една колона, тогава те се преобразуват в знаци от същата колона, разположена точно под тях. Ако знакът е най-долният знак в колона, той се заменя с първия знак на същата колона.
3. Ако биграмните символи на изходния текст са в различни колони и различни редове, тогава те се заменят със символи, разположени в същите редове, но съответстващи на други ъгли на правоъгълника.
Пример за криптиране.
Биграмата "за" образува правоъгълник - замества се с "zhb";
Диграмата "ши" е в същата колона - заменена е с "юе";
Биграмата "fr" е на един ред - замества се с "xs";
Биграмата "ov" образува правоъгълник - замества се с "ij";
Диграмата "an" е в същия ред - замества се с "ba";
Биграмата "но" образува правоъгълник - замества се с "съм";
Биграмата "eu" образува правоъгълник - замества се с "gt";
Биграмата "oya" образува правоъгълник - замества се с "ka";
Биграмата "ob" образува правоъгълник - замества се с "pa";
Диграмата "ще" образува правоъгълник - заменя се с "тя";
Биграмата "ni" образува правоъгълник - замества се с "an";
Диграмата "her" образува правоъгълник - замества се с "gi".
Шифрограмата е „zhb yue xs yzh ba am gt ka pa she an gi“.
За дешифриране е необходимо да се използва инверсията на тези правила, като се изхвърлят знаците аз(или х), ако нямат смисъл в оригиналното съобщение.
Състоеше се от два диска - външен неподвижен диск и вътрешен подвижен диск, върху който бяха нанесени буквите от азбуката. Процесът на криптиране се състоеше в намиране на буква в обикновен текст външен диски замяната му с буквата от вътрешното устройство под него. След това вътрешният диск беше изместен с една позиция и втората буква беше криптирана с помощта на новата шифрова азбука. Ключът на този шифър беше редът на буквите на дисковете и първоначалната позиция на вътрешния диск спрямо външния.
Трисемусна маса.Един от шифрите, изобретен от германския абат Трисемус, е полиазбучен шифър, базиран на така наречената „таблица на Трисемус“ – таблица със страна, равна на н, където не броят на знаците в азбуката. В първия ред на матрицата буквите са записани по реда им в азбуката, във втория - същата последователност от букви, но с циклично изместване с една позиция наляво, в третия - с цикличен изместване с две позиции наляво и т.н.
НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз |
б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО |
AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б |
Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT |
д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж |
д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д |
Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д |
И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо |
У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И |
И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У |
Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И |
Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y |
Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се |
М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л |
з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М |
О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з |
П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О |
Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П |
ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р |
T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ |
При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T |
Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При |
х | ° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е |
° С | з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х |
з | У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С |
У | SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з |
SCH | Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У |
Комерсант | С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH |
С | b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант |
b | д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С |
д | Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b |
Ю | аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д |
аз | НО | б | AT | Ж | д | д | Йо | И | У | И | Y | Да се | Л | М | з | О | П | Р | ОТ | T | При | Е | х | ° С | з | У | SCH | Комерсант | С | b | д | Ю |
Фиг.4.17. Трисемусна маса
Първият ред е и азбуката за буквите в обикновен текст. Първата буква от текста е шифрована на първия ред, втората буква на втория и т.н. След като използват последния ред, те се връщат отново към първия. Така съобщението "АБРАМОВ" ще приеме формата "АВТОКАРГО".
Система за криптиране Vigenère.През 1586 г. френският дипломат Блез Виженер представя пред комисията на Анри III описание на прост, но доста силен шифър, базиран на таблицата на Трисемус.
Преди криптирането се избира ключ от азбучни знаци. Самата процедура за криптиране е следната. Колоната се определя от i-тия знак на отвореното съобщение в първия ред, а редът се определя от i-тия знак от ключа в най-лявата колона. В пресечната точка на ред и колона ще има i-тия знак, поставен в шифрования текст. Ако дължината на ключа е по-малка от съобщението, той се използва повторно. Например, оригиналното съобщение е “ABRAMOV”, ключът е “UNCLE”, шифрограмата е “DAFIOYOЁ”.
Честно казано, трябва да се отбележи, че авторството на този шифър принадлежи на италианеца Джовани Батиста Беласо, който го описва през 1553 г. Историята „пренебрегна важен факт и нарече шифъра на Виженер, въпреки факта, че той не направи нищо, за да го създаде “. Беласо предложи да назове тайна дума или фраза парола(ит. парола; фр. parole - дума).
През 1863 г. Фридрих Касиски публикува алгоритъм за атака за този шифър, въпреки че има известни случаи на неговото разбиване на шифъра от някои опитни криптоаналитици преди. По-специално, през 1854 г. шифърът е разбит от изобретателя на първия аналитичен компютър Чарлз Бабидж, въпреки че този факт става известен едва през 20 век, когато група учени анализират изчисленията и личните бележки на Бабидж. Въпреки това шифърът на Vigenère имаше репутацията на изключително устойчив на „ръчно“ разбиване. за дълго време. Така известният писател и математик Чарлз Лутуидж Доджсън (Луис Карол) в статията си „Азбучният шифър“, публикувана в детско списание през 1868 г., нарече шифъра на Виженер неразбиваем. През 1917 г. научно-популярното списание Scientific American също споменава шифъра на Vigenère като неразбиваем.
Ротационни машини.Идеите на Алберти и Беласо са използвани при създаването на електромеханични ротационни машини през първата половина на 20 век. Някои от тях са били използвани в различни страни до 80-те години на миналия век. Повечето от тях използваха ротори (механични колела), чиято относителна позиция определяше текущата азбука за заместване на шифъра, използвана за извършване на заместването. Най-известната от ротационните машини е немската машина Enigma от Втората световна война.
Изходните щифтове на един ротор са свързани с входните щифтове на следващия ротор и при натискане на символа на оригиналното съобщение на клавиатурата се затваря електрическа верига, в резултат на което лампата със символа за заместване на шифъра светва нагоре.
Фиг.4.19. Enigma Rotor System [www.cryptomuseum.com]
Показано е шифроващото действие на Enigma при два последователно натиснати клавиша - токът протича през роторите, "отразява" се от рефлектора, след това отново през роторите.
Фиг.4.20. Схема за криптиране
Забележка. Сивите линии показват други възможни електрически веригивътре във всеки ротор. Писмо Асе шифрова по различен начин с последователни натискания на един и същ ключ, първо влязло Ж, след това в ° С. Сигналът поема по различен път чрез завъртане на един от роторите след натискане на предишната буква от оригиналното съобщение.
3. Опишете видовете заместващи шифри.
(замени). При заместващите шифри буквите се променят на други букви от същата азбука; при кодиране буквите се променят на нещо съвсем различно - картинки, символи на други азбуки, последователности от различни знаци и др. Съставя се таблица на едно към едно съответствие между азбуката на изходния текст и кодовите символи и в съответствие с тази таблица се извършва кодиране едно към едно. За да декодирате, трябва да знаете кодовата таблица.
Съществува голямо числокодове, използвани в различни области на човешкия живот. Добре познатите кодове се използват в по-голямата си част за удобство при предаване на информация по един или друг начин. Ако кодовата таблица е известна само на предавателя и приемателя, тогава се получава доста примитивен шифър, който лесно се поддава на честотен анализ. Но ако човек е далеч от теорията на кодирането и не е запознат с честотния анализ на текста, тогава за него е доста проблематично да реши такива шифри.
A1Z26
Най-простият шифър. Нарича се A1Z26 или в руската версия A1Ya33. Буквите от азбуката се заменят с поредните им номера.
„NoZDR“ може да бъде шифрован като 14-15-26-4-18 или 1415260418.
морзов код
Букви, цифри и някои знаци са свързани с набор от точки и тирета, които могат да се предават по радио, звук, почукване, светлинен телеграф и флагове. Тъй като моряците също имат съответен флаг, свързан с всяка буква, е възможно да изпратите съобщение с флагове.
Брайл
Брайловото писмо е тактилна система за четене за слепи, състояща се от шест точки, наречени клетки. Клетката е висока три точки и широка две точки.
Различните брайлови знаци се образуват чрез поставяне на точки на различни позиции в клетка.
За удобство точките са описани при четене, както следва: 1, 2, 3 отляво отгоре надолу и 4, 5, 6 отдясно отгоре надолу.
При съставянето на текста се спазват следните правила:
една клетка (интервал) се пропуска между думите;
след запетая и точка и запетая клетката не се пропуска;
тире се пише заедно с предходната дума;
Номерът се предшества от цифров знак.
Кодови страници
В компютърните куестове и гатанки буквите могат да бъдат кодирани според техните кодове в различни кодови страници - таблици, използвани в компютрите. За текстове на кирилица е най-добре да използвате най-често срещаните кодировки: Windows-1251, KOI8, CP866, MacCyrillic. Въпреки че за сложно криптиране можете да изберете нещо по-екзотично.
Можете да кодирате в шестнадесетични числа или можете да ги конвертирате в десетични. Например буквата Yo в KOI8-R е B3 (179), в CP866 е F0 (240), а в Windows-1251 е A8 (168). И е възможно букви в десните таблици да търсят съвпадение в левите, тогава текстът ще се окаже, че е въведен в "луд" тип èαᬫº∩íαδ (866→437) или Êðàêîçÿáðû (1251→латинска-1).
И можете да промените горната половина на знаците с долната в една таблица. Тогава за Windows-1251 вместо "krakozyabra" получавате "jp" jng ap (), вместо "ХЕЛИКОПТЕР" - "BEPRNK (R). Такава промяна в кодова страницае класическа загуба на най-значимия бит по време на откази на пощенски сървъри. В този случай латинските знаци могат да бъдат кодирани чрез обратно изместване надолу със 128 знака. И такова кодиране ще бъде вариант на шифър - ROT128, но не за обичайната азбука, а за избраната кодова страница.
Точното време на произход на шифъра не е известно, но някои от намерените записи на тази система датират от 18 век. Разновидности на този шифър са използвани от розенкройцерския орден и масоните. Последните го използвали в своите секретни документи и кореспонденция доста често, така че шифърът започнал да се нарича масонски шифър. Дори върху надгробните паметници на масоните можете да видите надписи, използващи този шифър. Подобна система за криптиране е използвана по време на Гражданската война в САЩ от армията на Джордж Вашингтон, както и от затворници във федералните затвори в Конфедеративните щати на Съединените щати.
По-долу има две (сини и червени) опции за попълване на решетката на такива шифри. Буквите са подредени по двойки, като втората буква от двойката е нарисувана като символ с точка:
Авторски шифри
Изобретено е голямо разнообразие от шифри, при които един знак от азбуката (буква, цифра, препинателен знак) съответства на един (по-рядко повече) графичен знак. Повечето от тях са предназначени за използване в научнофантастични филми, анимационни филми и компютърни игри. Ето някои от тях:
танцуващи мъже
Един от най-известните шифри за заместване на автор е "". Той е измислен и описан от английския писател Артър Конан Дойл в едно от произведенията му за Шерлок Холмс. Буквите от азбуката са заменени със символи, които приличат на човечета в различни пози. В книгата малките човечета не са измислени за всички букви от азбуката, така че феновете творчески финализираха и преработиха героите и това е шифърът:
Томас Мор азбука
Но такава азбука е описана в неговия трактат "Утопия" от Томас Мор през 1516 г.:
Шифрове от анимационния сериал "Гравити Фолс"
Бил Шифър
Станфорд Пайнс (автор на дневник)
Джедайска азбука от Междузвездни войни
Извънземна азбука от Футурама
Криптонската азбука на Супермен
Бионикъл азбуки
Семантиката на HTML кода винаги е гореща тема. Някои разработчици се опитват винаги да пишат семантичен код. Други критикуват догматичните привърженици. А някои дори нямат представа какво е и защо е необходимо. Семантиката е дефинирана в HTML в тагове, класове, идентификатори и атрибути, които описват целта, но не уточняват точното съдържание, което съдържат. Тоест, говорим за разделяне на съдържанието и неговия формат.
Да започнем с един очевиден пример.
Лоша семантика на кода
Добра семантика на кода
Текстът на статия, написана от някого. Инко Гнито- неговият автор.Заглавие на статията
Независимо дали смятате, че HTML5 е готов за използване или не, сигурно е, че използването на етикета Но не всичко е толкова ясно представено от HTML5 тагове. Нека да разгледаме набор от имена на класове и да видим дали отговарят на семантичните изисквания. Не семантичен код.Това е класически пример. Всеки CSS работен плот за мрежи използва тези типове имена на класове, за да дефинира елементи на мрежата. Независимо дали е "yui-b", "grid-4" или "spanHalf" - такива имена са по-близки до дефинирането на маркиране, отколкото до описание на съдържание. Използването им обаче в повечето случаи е неизбежно при работа с модулни мрежови модели. семантичен код.Долният колонтитул ( долен колонтитул ) се превърна в трайна ценност в уеб дизайна. Това е долната част на страницата, която съдържа елементи като повтаряща се навигация, права за използване, информация за автора и т.н. Този клас дефинира група за всички тези елементи без тяхното описание. Ако сте преминали към използване на HTML5, тогава е по-добре да използвате елемента Не семантичен код.Той точно определя съдържанието. Но защо текстът трябва да е голям? За да се откроите от другия по-малък текст? "standOut" (селекция) е по-подходящо в този случай. Може да решите да промените стила на избрания текст, но да не правите нищо за неговия размер, в който случай името на класа може да ви обърка. семантичен код.В този случай говорим за определяне на нивото на важност на елемент в интерфейса на приложението (например абзац или бутон). Елемент от по-високо ниво може да има ярки цветове и по-голям размер, докато елемент от по-ниско ниво може да съдържа повече съдържание. Но в този случай няма точно определение на стиловете, така че кодът е семантичен. Тази ситуация е много подобна на използването на тагове. семантичен код.Ако само всяко име на клас можеше да бъде толкова ясно дефинирано! В този случай имаме описание на раздел, което има съдържание, чиято цел е лесна за описание, както и „туитове“, „страниране“ или „admin-nav“. Не семантичен код.В този случай говорим за настройка на стила за първия параграф на страницата. Тази техника се използва за привличане на вниманието на читателите към материала. По-добре е да използвате името "intro", което пропуска споменаването на елемента. Но дори е по-добре да използвате селектор за такива абзаци, като article p:first-of-type или h1 + p. Не семантичен код.Това е много общо име на клас, което се използва за организиране на форматирането на елемент. Но в него няма нищо, което да засяга описанието на съдържанието. Различни семантични теоретици препоръчват използването на име на клас като "група" в такива случаи. Вероятно те са прави. Тъй като този елемент несъмнено служи за групиране на няколко други елемента, препоръчаното име ще опише по-добре предназначението му, без да се гмуркаме в подробности. Не семантичен код.Твърде подробно описание на формата на съдържанието. По-добре е да изберете друго име, което да описва съдържанието, а не неговия формат. семантичен код.Класът описва състоянието на съдържанието много добре. Например съобщение за успех може да има напълно различен стил от съобщение за грешка. Не семантичен код.Този пример се опитва да уточни дефиницията на формата на съдържанието, а не неговата цел. "plain-jane" е много подобен на "normal" или "regular". Идеалният CSS код трябва да бъде написан по такъв начин, че да няма нужда от имена на класове като „обикновен“, които описват формата на съдържанието. Не семантичен код.Тези типове класове обикновено се използват за дефиниране на елементи на сайта, които не трябва да бъдат включени във веригата от връзки. В този случай е по-добре да използвате нещо като rel=nofollow за връзки, но не и клас за цялото съдържание. Не семантичен код.Това е опит да се опише формата на съдържанието, а не неговата цел. Да приемем, че имате две статии на вашия сайт. И искате да ги попитате различни стилове. Филмовите ревюта ще имат син фон, докато Извънредните новини ще имат червен фон и по-голям шрифт. Един от начините за решаване на проблема е следният: Друг начин е следният: Разбира се, ако попитате няколко разработчици кой код е по-съвместим с изискванията на семантиката, мнозинството ще посочи първата опция. Той напълно отговаря на материала на този урок: описание на целта без препратки към форматирането. А втората опция показва формата ("blueBg" е името на класа, който се образува от две английски думи, което означава „син фон“). Ако внезапно се вземе решение да се промени дизайна на рецензиите на филми - например да се направи зелен фон, тогава името на класа "blueBg" ще се превърне в кошмар на разработчиците. А името "movie-review" ще направи абсолютно лесна промяната на стиловете на дизайн, като същевременно поддържа отлично ниво на поддръжка на код. Но никой не твърди, че първият пример е по-добър във всички случаи без изключение. Да кажем, че определен нюанс на синьото се използва на много места в сайта. Например, това е фон за част от долния колонтитул и областите в страничната лента. Можете да използвате следния селектор: Преглед на филм, долен колонтитул > div:nth-of-type(2), настрана > div:nth-of-type(4) ( фон: #c2fbff; ) Ефектно решение, тъй като цветът се определя само на едно място. Но такъв код става труден за поддръжка, тъй като има дълъг селектор, който е труден за визуално възприемане. Освен това ще изисква други селектори да дефинират уникални стилове, което води до повторение на кода. Или можете да приемете различен подход и да ги оставите разделени: Преглед на филм ( фон: #c2fbff; /* Дефиниране на цвят */ ) долен колонтитул > div:nth-of-type(2) ( фон: #c2fbff; /* И още един */ ) настрана > div:nth-of- type(4) (фон: #c2fbff; /* И още един */ ) Този стил помага да се поддържа CSS файлът по-организиран (различни области са дефинирани в различни раздели). Но цената е повторението на определенията. За големи сайтове определението на един и същи цвят може да достигне няколко хиляди пъти. ужасно! Възможно решение би било да се използва клас като "blueBg", за да се дефинира цвета веднъж и да се вмъкне в HTML, когато дизайнът трябва да се използва. Разбира се, по-добре е да го наречете "mainBrandColor" или "secondaryFont", за да се отървете от описанието на форматирането. Можете да пожертвате семантиката на кода в полза на спестяването на ресурси. Уеб дизайнерите и разработчиците обичат да хвърлят жаргон и модни думи, които понякога ни е трудно да разберем. Тази статия ще се фокусира върху семантичния код. Да видим какво е! Какво е семантичен код? Дори и да не сте уеб дизайнер, вероятно знаете, че уебсайтът ви е написан на HTML. Първоначално HTML е замислен като средство за описване на съдържанието на документ, а не като средство, което да го направи да изглежда визуално приятно. Семантичният код се връща към тази оригинална концепция и насърчава уеб дизайнерите да пишат код, който описва съдържанието, а не как трябва да изглежда. Например заглавието на страницата може да бъде програмирано по следния начин: Това е заглавието на страницата
Това би направило заглавието голямо и удебелено, придавайки му вид на заглавие на страница, но в него няма нищо, което да го описва като „заглавие“ в кода. Това означава, че компютърът не може да разпознае това като заглавие на страницата. Когато пишем семантично заглавие, за да може компютърът да го разпознае като „заглавие“, трябва да използваме следния код: Външният вид на заглавката може да бъде определен в отделен файлнаречен каскадни стилови таблици (CSS), без да се намесва във вашия описателен (семантичен) HTML код. Защо семантичният код е важен? Способността на компютъра да разпознава правилно съдържание е важна поради няколко причини: Семантичният код има и други предимства: Как да се уверите, че даден уебсайт използва семантичен код? В момента няма инструмент, който да проверява за съществуването на семантичен код. Всичко се свежда до проверка за цветове, шрифтове или оформления в кода, вместо да се описва съдържанието. Ако анализът на кода звучи плашещо, тогава чудесна отправна точка е да попитате вашия уеб дизайнер - той кодира ли по отношение на семантиката? Ако ви гледа празно или започне нелепо бърборене, тогава можете да сте сигурни, че той не кодира по този начин. В този момент трябва да решите дали да му дадете нова насока в работата му, или да си намерите нов дизайнер?! ,
,
и т.н., но към други елементи на интерфейса.
Но...
Това е заглавието