Кодиране. Заместващи шифри - образователна и научна дейност на Владимир Викторович Анисимов Извънземна азбука от "Футурама"
Семантика(фр. semantique от старогръцки σημαντικός - обозначаващ) - наука за разбиране на определени знаци, последователности от символи и други символи. Тази наука се използва в много области: лингвистика, проксемика, прагматика, етимология и др. Не мога да си представя какво означават тези думи и какво правят всички тези науки. И няма значение, интересувам се от въпроса за използването на семантика в оформлението на уебсайта.
Бележката
Тук няма да засягам термина семантичен уеб. На пръв поглед може да изглежда, че темите Semantic Web и семантичният HTML код са почти едно и също нещо. Но всъщност семантичният уеб е по-скоро философска концепция и няма много общо с настоящата реалност.
Семантично оформление - какво е това?
В даден език всяка дума има специфично значение и цел. Когато казвате „наденица“, имате предвид хранителен продукт, който представлява мляно месо (обикновено месо) в продълговата обвивка. Накратко, имате предвид наденица, а не мляко или зелен грах.
HTML също е език, неговите „думи“, наречени тагове, също имат определено логическо значение и цел. Поради тази причина преди всичко семантичният HTML код е оформление с правилния използвайки HTMLетикети, използвайки ги по предназначение, както са ги предвидили разработчиците HTML езики уеб стандарти.
microformats.org е общност, която работи, за да вдъхне живот на идеалистичните идеи на семантичния уеб, като доближи оформлението на страницата до същите тези семантични идеали.
Защо и кой изобщо се нуждае от семантично оформление?
Ако информацията на моя уебсайт се показва по същия начин, както в дизайна, защо си правите труда да си мъчите мозъка и да мислите за някаква семантика?! Един и същ допълнителна работа! Кому е нужно това?! Кой ще оцени това освен друг дизайнер на оформление?
Често съм чувал такива въпроси. Нека да го разберем.
Семантичен HTML за уеб разработчици
Семантичен код за потребителите
Увеличава достъпността на информацията в сайта. На първо място, това е важно за алтернативни агенти като:
- семантичният код пряко влияе върху количеството HTML код. По-малко код -> по-леки страници -> зареждане по-бързо, по-малко изискване оперативна паметот страна на потребителя, по-малко трафик, по-малък размер на базата данни. Сайтът става по-бърз и по-евтин.
- гласови браузъриза които таговете и техните атрибути са важни, за да произнасят съдържанието правилно и с правилната интонация или, обратно, да не казват твърде много.
- мобилни устройствакоито не поддържат напълно CSS и следователно разчитат основно на HTML код, показвайки го на екрана според използваните тагове.
- печатащи устройствадори и без допълнителен CSS, информацията ще бъде отпечатана с по-добро качество (по-близо до дизайна), а създаването на идеалната версия за печат ще се превърне в няколко лесни манипулации с CSS.
- Освен това има устройства и добавки, които ви позволяват бързо да навигирате в документ - например по заглавия в Opera.
Семантичен HTML за машини
Търсачките непрекъснато подобряват своите методи за търсене, за да гарантират, че резултатите съдържат информацията, която искате. наистина изглеждащпотребител. Семантичният HTML улеснява това, защото... поддава се на много по-добър анализ - кодът е по-чист, кодът е логичен (можете ясно да видите къде са заглавията, къде е навигацията, къде е съдържанието).
Доброто съдържание плюс висококачественото семантично оформление вече е сериозно приложение добри позиции в резултатите на търсачката.
Семантиката на HTML кода винаги е гореща тема. Някои разработчици се опитват винаги да пишат семантичен код. Други критикуват догматичните привърженици. А някои дори нямат представа какво е и защо е необходимо. Семантиката е дефинирана в HTML в тагове, класове, идентификатори и атрибути, които описват целта, но не уточняват точното съдържание, което съдържат. Тоест, говорим за разделяне на съдържанието и неговия формат.
Да започнем с един очевиден пример.
Лоша семантика на кода
Добра семантика на кода
Текстът на статия, която е написана от някого. Инко Гнито- неговият автор.Заглавие на статията
Независимо дали смятате, че HTML5 е готов за употреба или не, използването на Но не всичко е представено толкова ясно от HTML5 тагове. Нека да разгледаме набор от имена на класове и да видим дали отговарят на семантичните изисквания. Не семантичен код.Това е класически пример. Всеки CSS grid workbench използва тези типове имена на класове, за да дефинира мрежови елементи. Независимо дали е "yui-b", "grid-4" или "spanHalf" - такива имена са по-близо до уточняване на маркиране, отколкото до описание на съдържание. Използването им обаче е неизбежно в повечето случаи при работа с модулни мрежови шаблони. Семантичен код.Долният колонтитул придоби силно значение в уеб дизайна. Това е долната част на страницата, която съдържа елементи като повтаряща се навигация, права за използване, информация за автора и т.н. Този клас дефинира група за всички тези елементи, без да ги описва. Ако сте преминали към използване на HTML5, тогава е по-добре да използвате елемента Не семантичен код.Той точно определя съдържанието. Но защо текстът трябва да е голям? За да се откроите от другия по-малък текст? "standOut" (открояване) е по-подходящ в този случай. Може да решите да промените стила на маркирания текст, но да не правите нищо за неговия размер, в който случай името на класа може да ви обърка. Семантичен код.В този случай говорим за определяне на нивото на важност на елемент в интерфейса на приложението (например параграф или бутон). Елемент от по-високо ниво може да има по-ярки цветове и по-голям размер, докато елементите от по-ниско ниво може да съдържат повече съдържание. Но в този случай няма точна дефиниция на стиловете, така че кодът е семантичен. Тази ситуация е много подобна на използването на тагове Семантичен код.Ако само всяко име на клас можеше да бъде толкова ясно дефинирано! В този случай имаме описание на раздел, който има съдържание, чиято цел е лесна за описване, точно като „туитове“, „страниране“ или „администраторска навигация“. Не семантичен код.В този случай говорим за настройка на стила за първия параграф на страницата. Тази техника се използва за привличане на вниманието на читателите към материала. По-добре е да използвате името "intro", което не споменава елемента. Но дори е по-добре да използвате селектор за такива абзаци, като например article p:first-of-type или h1 + p. Не семантичен код.Това е много общо име на клас, което се използва за организиране на форматирането на елементи. Но в него няма нищо, което да е свързано с описание на съдържанието. Различни семантични теоретици препоръчват използването на име на клас като "група" в такива случаи. Вероятно те са прави. Тъй като този елемент несъмнено служи за групиране на няколко други елемента, препоръчаното име ще опише по-добре предназначението му, без да се гмурка в подробности. Не семантичен код.Твърде подробно описание на формата на съдържанието. По-добре е да изберете друго име, което ще описва съдържанието, а не неговия формат. Семантичен код.Класът описва състоянието на съдържанието много добре. Например съобщение за успех може да има напълно различен стил от съобщение за грешка. Не семантичен код.Този пример се опитва да дефинира формата на съдържанието, а не неговата цел. "plain-jane" е много подобен на "normal" или "regular". Идеалният CSS код трябва да бъде написан по такъв начин, че да няма нужда от имена на класове като "regular", които описват формата на съдържанието. Не семантичен код.Тези типове класове обикновено се използват за дефиниране на елементи на сайта, които не трябва да бъдат включени във веригата на връзките. В този случай е по-добре да използвате нещо като rel=nofollow за връзки, но не и клас за цялото съдържание. Не семантичен код.Това е опит да се опише формата на съдържанието, а не неговата цел. Да приемем, че имате две статии на уебсайта си. И искате да им дадете различни стилове. „Филмови ревюта“ ще има син фон, докато „Извънредни новини“ ще има червен фон и по-голям размер на шрифта. Един от начините за решаване на проблема е следният: Друг начин е следният: Разбира се, ако интервюирате няколко разработчици за това кой код е по-съвместим със семантичните изисквания, мнозинството ще посочи първата опция. Той напълно съответства на материала на този урок: описание на целта без връзки към форматиране. А втората опция показва формата (“blueBg” е името на класа, което се образува от две английски думи, означаващи “син фон”). Ако внезапно решите да промените дизайна на рецензиите на филми - например да направите зелен фон, тогава името на класа "blueBg" ще се превърне в кошмар на разработчиците. А името „преглед на филм“ ще ви позволи абсолютно лесно да променяте стиловете на дизайн, като същевременно поддържате отлично ниво на поддръжка на код. Но никой не твърди, че първият пример е по-добър във всички случаи без изключение. Да кажем, че определен нюанс на синьото се използва на много места в сайта. Например, това е фон за някои от долния колонтитул и областите в страничната лента. Можете да използвате следния селектор: Преглед на филм, долен колонтитул > div:nth-of-type(2), настрана > div:nth-of-type(4) ( фон: #c2fbff; ) Ефектно решение, тъй като цветът се определя само на едно място. Но такъв код става труден за поддръжка, тъй като има дълъг селектор, който е труден за визуално разбиране. Ще ви трябват и други селектори, за да дефинирате уникални стилове, което ще доведе до повторение на кода. Или можете да приемете различен подход и да ги държите разделени: Преглед на филм ( фон: #c2fbff; /* Дефиниране на цвят */ ) долен колонтитул > div:nth-of-type(2) ( фон: #c2fbff; /* И още нещо */ ) настрана > div:nth-of - type(4) ( background: #c2fbff; /* И още нещо */ ) Този стил помага да поддържате CSS файла по-организиран (различни области са дефинирани в различни секции). Но цената, която трябва да се плати, е повтарянето на определенията. За големи сайтове идентифицирането на един и същи цвят може да достигне няколко хиляди пъти. ужасно! Решение би било да използвате клас като "blueBg", за да дефинирате цвета веднъж и да го вмъкнете в HTML кода, когато искате да използвате този дизайн. Разбира се, по-добре е да го наречете "mainBrandColor" или "secondaryFont", за да се отървете от описанието на форматирането. Можете да пожертвате семантиката на кода в полза на спестяването на ресурси. (замени). При заместващите шифри буквите се променят на други букви от същата азбука; при кодиране буквите се променят на нещо съвсем различно - картинки, символи на други азбуки, последователности от различни знаци и др. Съставя се таблица на съответствие едно към едно между азбуката на изходния текст и кодовите символи и в съответствие с тази таблица се извършва кодиране едно към едно. За да декодирате, трябва да знаете кодовата таблица. Има голям брой кодове, използвани в различни области на човешкия живот. Добре познатите кодове се използват най-вече за удобство при предаване на информация по един или друг начин. Ако кодовата таблица е известна само на предавателя и приемника, тогава резултатът е доста примитивен шифър, който лесно се поддава на честотен анализ. Но ако човек е далеч от теорията на кодирането и не е запознат с честотния анализ на текста, тогава за него е доста проблематично да разгадае такива шифри. Най-простият шифър. Нарича се A1Z26 или в руската версия A1Я33. Буквите от азбуката се заменят с поредните им номера. „NoZDR“ може да бъде шифрован като 14-15-26-4-18 или 1415260418. Буквите, цифрите и някои знаци са свързани с набор от точки и тирета, които могат да се предават по радио, звук, почукване, светлинен телеграф и флагов сигнал. Тъй като моряците също имат съответен флаг, свързан с всяка буква, е възможно да се предаде съобщение с помощта на знамена. Брайловото писмо е система за тактилно четене за слепи, състояща се от шестточкови знаци, наречени клетки. Клетката се състои от три точки по височина и две точки по ширина. Различните брайлови знаци се образуват чрез поставяне на точки на различни позиции в клетка. За удобство точките са описани при четене, както следва: 1, 2, 3 отляво отгоре надолу и 4, 5, 6 отдясно отгоре надолу. Когато съставяте текста, спазвайте следните правила: една клетка (интервал) се пропуска между думите; след запетая и точка и запетая клетката не се пропуска; тире се пише заедно с предходната дума; пред номера се поставя цифров знак. В компютърните куестове и гатанки буквите могат да бъдат кодирани според техните кодове в различни кодови страници - таблици, използвани в компютрите. За текстове на кирилица е най-добре да използвате най-често срещаните кодировки: Windows-1251, KOI8, CP866, MacCyrillic. Въпреки че за сложно криптиране можете да изберете нещо по-екзотично. Можете да кодирате с помощта на шестнадесетични числа или можете да ги конвертирате в десетични числа. Например буквата E в KOI8-R има код B3 (179), в CP866 - F0 (240), а в Windows-1251 - A8 (168). Или можете да потърсите съвпадение на буквите в десните таблици в левите, тогава текстът ще се окаже, че е въведен с „луди думи“ като èαᬫº∩íαδ
(866→437) или Êðàêîçÿáðû
(1251→латинска-1). Или можете да промените горната половина на знаците в долната половина в рамките на една таблица. След това за Windows-1251 вместо „krakozyabry“ получавате „jp"jng ap(), вместо „ХЕЛИКОПТЕР“ - „BEPRNK(R). Такова изместване в кодовата страница е класическа загуба на най-значимия бит по време повреди на пощенски сървъри , Латинските символи в този случай могат да бъдат кодирани с обратно изместване надолу със 128 знака.И такова кодиране ще бъде вариант на шифъра - ROT128, само не за обикновената азбука, а за избраната кодова страница. Точното време на произход на шифъра е неизвестно, но някои от намерените записи на тази система датират от 18 век. Разновидности на този шифър са използвани от Розенкройцерския орден и масоните. Последните го използвали доста често в секретните си документи и кореспонденция, поради което шифърът започнал да се нарича масонски шифър. Дори на надгробните паметници на масоните можете да видите надписи, използващи този код. Подобна система за криптиране е използвана по време на Гражданската война в САЩ от армията на Джордж Вашингтон, както и от затворници във федералните затвори на Конфедеративните щати на Съединените щати. По-долу има две (сини и червени) опции за попълване на решетката на такива шифри. Буквите са подредени по двойки, като втората буква от двойката е нарисувана със символ с точка: Изобретено е голямо разнообразие от шифри, при които един знак от азбуката (буква, цифра, препинателен знак) съответства на един (рядко повече) графичен знак. Повечето от тях са измислени за използване в научнофантастични филми, анимационни филми и компютърни игри. Ето някои от тях: Един от най-известните авторски заместващи шифри е “”. Той е измислен и описан от английския писател Артър Конан Дойл в едно от произведенията му за Шерлок Холмс. Буквите от азбуката са заменени със символи, които приличат на човечета в различни пози. В книгата човечетата не са измислени за всички букви от азбуката, така че феновете креативно модифицираха и преработиха символите и резултатът беше този шифър: Но такава азбука е описана от Томас Мор в неговия трактат „Утопия“ през 1516 г.: 4.1. Основи на криптирането Същността на криптирането с помощта на метода на заместване е следната. Нека съобщенията на руски език да бъдат криптирани и всяка буква от тези съобщения трябва да бъде заменена. Тогава, буквално Аизходната азбука се сравнява с определен набор от символи (замяна на шифър) M A, B – M B, …, I – M I. Шифровите замествания са избрани по такъв начин, че всеки два набора ( М ИИ М Дж, i ≠ j) не съдържа идентични елементи ( M I ∩ M J = Ø). Таблицата, показана на фиг. 4.1, е ключът на заместващия шифър. Познавайки го, можете да извършите както криптиране, така и декриптиране. Фиг.4.1. Таблица за заместване на шифри При криптиране всяка буква Аотвореното съобщение се заменя с произволен знак от набора М А. Ако съобщението съдържа няколко букви А, тогава всеки от тях се заменя с произволен знак от М А. Благодарение на това с помощта на един ключ е възможно да се получат различни версии на шифрограмата за едно и също отворено съобщение. Тъй като комплектите M A, M B, ..., M Iне се пресичат по двойки, тогава за всеки символ на шифрограмата е възможно недвусмислено да се определи към кой набор принадлежи и следователно коя буква от отвореното съобщение замества. Следователно дешифрирането е възможно и отвореното съобщение се определя по уникален начин. Горното описание на същността на заместващите шифри се отнася за всички техни разновидности с изключение на , в които едни и същи заместващи шифри могат да се използват за криптиране на различни знаци от оригиналната азбука (т.е. M I ∩ M J ≠ Ø, i ≠ j). Методът на подмяна често се прилага от много потребители, когато работят на компютър. Ако поради забрава не превключите набора от знаци на клавиатурата от латиница на кирилица, тогава вместо букви от руската азбука, когато въвеждате текст, ще бъдат отпечатани букви от латинската азбука („замени на шифри“). За запис на оригинални и криптирани съобщения се използват строго определени азбуки. Азбуките за записване на оригинални и криптирани съобщения може да се различават. Знаците от двете азбуки могат да бъдат представени чрез букви, техните комбинации, цифри, картинки, звуци, жестове и др. Като пример можем да цитираме танцуващите мъже от историята на А. Конан Дойл () и ръкописа на руническото писмо () от романа „Пътуване до центъра на Земята“ на Ж. Верн. Заместващите шифри могат да бъдат разделени на следните подкласове(сортове). Фиг.4.2. Класификация на заместващите шифри I. Редовни шифри.Шифровите замествания се състоят от еднакъв брой знаци или са разделени един от друг с разделител (интервал, точка, тире и т.н.). Код на слоган.За даден шифър изграждането на таблица за заместване на шифъра се основава на слоган (ключ) – лесна за запомняне дума. Вторият ред на таблицата за заместване на шифъра се попълва първо с думата на лозунга (и повтарящите се букви се изхвърлят), а след това с останалите букви, които не са включени в думата на лозунга, по азбучен ред. Например, ако е избрана слоган думата „ЧИЧО“, таблицата изглежда така. Фиг.4.4. Таблица със заместващи кодове за шифъра на лозунга Когато шифровате оригиналното съобщение „ABRAMOV“ с помощта на горния ключ, шифрограмата ще изглежда като „DYAPDKMI“. Полибийски квадрат.Шифърът е изобретен от гръцкия държавник, военачалник и историк Полибий (203-120 г. пр. н. е.). По отношение на руската азбука и индийските (арабски) цифри същността на криптирането беше следната. Буквите се изписват в квадрат 6x6 (не е задължително по азбучен ред). Фиг.4.5. Таблица на заместванията на шифъра за полибийския квадрат Шифрираната буква се замества с координатите на квадрата (ред-колона), в който е написана. Например, ако оригиналното съобщение е „АБРАМОВ“, тогава шифрограмата е „11 12 36 11 32 34 13“. В Древна Гърция съобщенията са се предавали с помощта на оптична телеграфия (с помощта на факли). За всяка буква от съобщението, първо броят на факлите, съответстващ на номера на реда на буквата, и след това номерът на колоната бяха повдигнати. Таблица 4.1. Честотата на появата на руски букви в текстове Има подобни таблици за двойки букви (биграми). Например, често срещани биграми са „до“, „но“, „st“, „po“, „en“ и т.н. Друга техника за разбиване на шифрограми се основава на елиминиране на възможни комбинации от букви. Например в текстове (ако са написани без правописни грешки) не можете да намерите комбинациите „chya“, „shchi“, „b“ и т.н. За да се усложни задачата за разбиване на шифри едно към едно, дори в древни времена интервалите и/или гласните са били премахвани от оригиналните съобщения преди криптирането. Друг метод, който затруднява отварянето, е криптирането биграми(по двойки букви). 4.3. Полиграмни шифри Полиграмни заместващи шифри- това са шифри, при които едно заместване на шифра съответства на няколко знака от изходния текст наведнъж. Портове за шифър Bigram. Шифърът на Порта, представен под формата на таблица, е първият известен биграмен шифър. Размерът на неговата маса беше 20 x 20 клетки; стандартната азбука беше написана отгоре хоризонтално и вертикално отляво (не съдържаше буквите J, K, U, W, X и Z). Всякакви цифри, букви или символи могат да бъдат написани в клетките на таблицата - самият Джовани Порта използва символи - при условие че съдържанието на никоя от клетките не се повтаря. По отношение на руския език таблицата на заместванията на шифъра може да изглежда така. Фиг.4.10. Таблица за заместване на шифъра за шифъра на портовете Криптирането се извършва с помощта на двойки букви на оригиналното съобщение. Първата буква на двойката обозначава реда за заместване на шифъра, втората - колоната. Ако в оригиналното съобщение има нечетен брой букви, към него се добавя спомагателен знак („празен знак“). Например оригиналното съобщение „AB RA MO V“, криптирано - „002 466 355 093“. Буквата "I" се използва като спомагателен символ. Плейфеър шифър (на английски: „Честна игра“).В началото на 1850г. Чарлз Уитстоун изобретява така наречения "правоъгълен шифър". Леон Плейфеър, близък приятел на Уитстоун, говори за този шифър по време на официална вечеря през 1854 г. на вътрешния министър лорд Палмерстън и принц Албърт. И тъй като Playfair беше добре известен във военните и дипломатическите кръгове, името "Playfair cipher" беше завинаги присвоено на творението на Wheatstone. Този шифър беше първият азбучен биграмен шифър (биграмната таблица на Порта използваше символи, а не букви). Той е проектиран да гарантира тайната на телеграфните комуникации и е бил използван от британските войски в Бурската и Първата световна война. Използван е и от бреговата охрана на австралийските острови по време на Втората световна война. Шифърът осигурява криптиране на двойки символи (диграми). По този начин този шифър е по-устойчив на кракване в сравнение с обикновен заместващ шифър, тъй като честотният анализ е по-труден. Може да се извърши, но не за 26 възможни знака (латиница), а за 26 x 26 = 676 възможни биграми. Биграмният честотен анализ е възможен, но е значително по-труден и изисква много по-голямо количество шифрован текст. За да шифровате съобщение, е необходимо да го разделите на биграми (групи от два символа), а ако в биграмата се открият два еднакви символа, тогава между тях се добавя предварително съгласуван спомагателен символ (в оригинала - х, за руската азбука - аз). Например „шифровано съобщение“ става „шифровано съобщение“ азкомуникация аз" За формиране на ключова таблица се избира слоган и след това се попълва според правилата на системата за криптиране Trisemus. Например за слогана „ЧИЧО” ключовата таблица изглежда така. Фиг.4.11. Таблица с ключове за шифъра на Playfair След това, ръководени от следните правила, двойките знаци в изходния текст се криптират: 1. Ако биграмните символи на изходния текст се срещат в един ред, тогава тези символи се заменят със символи, разположени в най-близките колони вдясно от съответните символи. Ако знакът е последният в ред, той се заменя с първия знак на същия ред. 2. Ако биграмните символи на изходния текст се срещат в една колона, тогава те се преобразуват в знаците на същата колона, разположена точно под тях. Ако знак е най-долният знак в колона, той се заменя с първия знак на същата колона. 3. Ако биграмните символи на изходния текст са в различни колони и различни редове, тогава те се заменят със знаци, разположени в същите редове, но съответстващи на други ъгли на правоъгълника. Пример за криптиране. Биграмата "за" образува правоъгълник - замества се с "zhb"; Биграмата "ши" е в една колона - заменена с "ю"; Биграмата “fr” е в един ред - заменена с “xc”; Биграмата “ов” образува правоъгълник - замества се с “йж”; Биграмата “an” е в един ред - замества се с “ba”; Биграмата "но" образува правоъгълник - замества се с "съм"; Биграмата “es” образува правоъгълник - замества се с “gt”; Биграмата “оя” образува правоъгълник - замества се с “ка”; Биграмата "около" образува правоъгълник - тя се заменя с "pa"; Биграмата “shche” образува правоъгълник - тя се заменя с “shyo”; Биграмата “ni” образува правоъгълник - замества се с “an”; Биграмата “ee” образува правоъгълник и се заменя с “gi”. Кодът е „zhb yue xs yzh ba am gt ka pa she an gi“. За да дешифрирате, трябва да използвате инверсията на тези правила, като изхвърлите знаците аз(или х), ако нямат смисъл в оригиналното съобщение. Състоеше се от два диска - външен неподвижен диск и вътрешен подвижен диск, върху които бяха отпечатани буквите от азбуката. Процесът на шифроване включва намиране на буквата в обикновен текст на външното устройство и замяната й с буквата от вътрешното устройство под него. След това вътрешният диск беше изместен с една позиция и втората буква беше криптирана с помощта на новата шифрова азбука. Ключът към този шифър беше редът на буквите на дисковете и първоначалната позиция на вътрешния диск спрямо външния. Трисемусна маса.Един от шифрите, изобретен от германския абат Трисемус, беше многоазбучен шифър, базиран на така наречената „таблица на Трисемус“ - таблица със страни, равни на н, Където н– броя на знаците в азбуката. В първия ред на матрицата буквите са записани по реда им в азбуката, във втория - същата последователност от букви, но с циклично изместване с една позиция наляво, в третия - с цикличен изместване с две позиции наляво и т.н. Фиг.4.17. Трисемусова таблица Първият ред също е азбука за букви в обикновен текст. Първата буква от текста е шифрована на първия ред, втората буква на втория и т.н. След като използват последния ред, те се връщат към първия. Така че съобщението „ABRAMOV“ ще приеме формата „AVTGRUZ“. Система за криптиране Vigenère.През 1586 г. френският дипломат Блез Виженер представя пред комисията на Анри III описание на прост, но доста силен шифър, който се основава на таблицата на Трисемус. Преди криптирането се избира ключ от буквите. Самата процедура за криптиране е следната. i-тият знак на отвореното съобщение в първия ред определя колоната, а i-ят знак на ключа в най-лявата колона определя реда. В пресечната точка на реда и колоната ще има i-тия знак, поставен в шифрограмата. Ако дължината на ключа е по-малка от съобщението, той се използва повторно. Например, оригиналното съобщение е „ABRAMOV“, ключът е „UNCLE“, кодът за криптиране е „DAFIYOYE“. Честно казано, трябва да се отбележи, че авторството на този шифър принадлежи на италианеца Джовани Батиста Беласо, който го описва през 1553 г. Историята „пренебрегна важен факт и нарече шифъра на Виженер, въпреки факта, че той не направи нищо, за да го създаде .” Белазо предложи да извика тайна дума или фраза парола(Италианска парола; френски parole - дума). През 1863 г. Фридрих Касиски публикува алгоритъм за атака на този шифър, въпреки че има известни случаи на разбиване на неговия шифър от някои опитни криптоаналитици. По-специално през 1854 г. шифърът е разбит от изобретателя на първия аналитичен компютър Чарлз Бабидж, въпреки че този факт става известен едва през 20 век, когато група учени анализират изчисленията и личните бележки на Бабидж. Въпреки това шифърът на Vigenère имаше репутация на изключително устойчив на ръчно разбиване за дълго време. Така известният писател и математик Чарлз Лутуидж Доджсън (Луис Карол) в статията си „Азбучният шифър“, публикувана в детско списание през 1868 г., нарече шифъра на Виженер неразбиваем. През 1917 г. научно-популярното списание Scientific American също описва шифъра на Виженер като неразбиваем. Ротационни машини.Идеите на Алберти и Беласо са използвани за създаване на електромеханични ротационни машини през първата половина на ХХ век. Някои от тях са били използвани в различни страни до 80-те години на миналия век. Повечето от тях са използвали ротори (механични колела), чиято относителна позиция определя текущата шифрова азбука, използвана за извършване на заместването. Най-известната от ротационните машини е немската машина Enigma от Втората световна война. Изходните изводи на единия ротор са свързани към входните изводи на следващия ротор и при натискане на символа на оригиналното съобщение на клавиатурата се завършва електрическа верига, в резултат на което светва крушката със символа за смяна на шифъра. Фиг.4.19. Роторна система Enigma [www.cryptomuseum.com] Ефектът на криптиране на Enigma се показва при два последователно натиснати клавиша - токът протича през роторите, "отразява се" от рефлектора, след това отново през роторите. Фиг.4.20. Схема за криптиране Забележка. Сивите линии показват други възможни електрически веригивътре във всеки ротор. Писмо Асе криптира по различен начин, когато се правят последователни натискания на клавиши, първо в Ж, след това в ° С. Сигналът поема по различен маршрут поради въртенето на един от роторите след натискане на предишната буква от оригиналното съобщение. 3. Опишете видовете заместващи шифри.
,
,
и т.н., но към други елементи на интерфейса.
Но...
A1Z26
морзов код
Брайл
Кодови страници
Авторски шифри
Танцуващи мъже
Азбуката на Томас Мор
Шифрове от анимационния сериал "Гравити Фолс"
Бил Шифър
Станфорд Пайнс (дневник)
Джедайска азбука от Междузвездни войни
Извънземна азбука от Футурама
Криптонската азбука на Супермен
Бионикъл азбуки
А Б ...
аз
М А М Б ...
М И
А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз
д аз И н А Б IN Ж д Йо И З Y ДА СЕ Л М ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю
1
2
3
4
5
6
1
А Б IN Ж д д
2
Йо И З И Y ДА СЕ
3
Л М н ОТНОСНО П Р
4
СЪС T U Е х ° С
5
з Ш SCH Комерсант Y b
6
д Ю аз -
-
-
Не. Писмо Честота, % Не. Писмо Честота, %
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
IN 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
U 2.62
32
Комерсант 0.04
16
аз 2.01
33
Йо 0.04
17
Y 1.90
А Б IN Ж д д
(Йо)И З И
(Y)ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y 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
IN 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
U 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
Y 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
д аз И н А Б
IN Ж д Йо И З
Y ДА СЕ Л М ОТНОСНО П
Р СЪС T U Е х
° С з Ш SCH Комерсант Y
b д Ю -
1
2
А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз
Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А
IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б
Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN
д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж
д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д
Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д
И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо
З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И
И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З
Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И
ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y
Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ
М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л
н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М
ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н
П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО
Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П
СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р
T U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС
U Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T
Е х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U
х ° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е
° С з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х
з Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С
Ш SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з
SCH Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш
Комерсант Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH
Y b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант
b д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y
д Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b
Ю аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д
аз А Б IN Ж д д Йо И З И Y ДА СЕ Л М н ОТНОСНО П Р СЪС T U Е х ° С з Ш SCH Комерсант Y b д Ю