Необходимостта от криптиране на кореспонденция възниква в древния свят и се появяват прости заместващи шифри. Шифрираните съобщения определят съдбата на много битки и оказват влияние върху хода на историята. С течение на времето хората изобретяват все по-усъвършенствани методи за криптиране.
Код и шифър са, между другото, различни понятия. Първият означава замяна на всяка дума в съобщението с кодова дума. Вторият е да се криптира всеки символ от информация с помощта на специфичен алгоритъм.
След като математиката започна да кодира информация и беше разработена теорията на криптографията, учените откриха много полезни свойства на тази приложна наука. Например, алгоритмите за декодиране помогнаха да се разкрият мъртвите езици като древноегипетски или латински.
Стеганография
Стеганографията е по-стара от кодирането и криптирането. Това изкуство съществува от много дълго време. Буквално означава „скрито писане“или „писване с шифроване“. Въпреки че стеганографията не отговаря напълно на определенията за код или шифър, тя има за цел да скрие информация от непознати.око.
Стеганографията е най-простият шифър. Погълнатите бележки, покрити с восък, са типични примери или послание върху обръсната глава, която се крие под порасналата коса. Най-яркият пример за стеганография е методът, описан в много английски (и не само) детективски книги, когато съобщенията се предават през вестник, където буквите са незабележимо маркирани.
Основният недостатък на стеганографията е, че внимателният непознат може да я забележи. Следователно, за да се предотврати лесното четене на тайното съобщение, се използват методи за криптиране и кодиране във връзка със стеганография.
ROT1 и шифър на Цезар
Името на този шифър е ROTate 1 буква напред и е известно на много ученици. Това е прост заместващ шифър. Същността му се крие във факта, че всяка буква се криптира чрез изместване по азбучен ред с 1 буква напред. A -> B, B -> C, …, Z -> A. Например, криптираме фразата "нашата Настя плаче силно" и получаваме "general Obtua dspnlp rmbsheu".
Шифърът ROT1 може да бъде обобщен до произволен брой отмествания, тогава се нарича ROTN, където N е числото, с което криптирането на буквите трябва да бъде изместено. В тази форма шифърът е познат от древни времена и се нарича "Шифърът на Цезар".
Шифърът на Цезар е много прост и бърз, но е прост шифър с единична пермутация и следователно е лесен за разбиване. Имайки такъв недостатък, той е подходящ само за детски шеги.
Транспозиционни или пермутационни шифри
Тези типове прости пермутационни шифри са по-сериозни и се използват активно не толкова отдавна. По време на Гражданската война в САЩ и Първата световна война се използва за изпращане на съобщения. Алгоритъмът му се състои в пренареждане на буквите на места - напишете съобщението в обратен ред или пренаредете буквите по двойки. Например, нека шифроваме фразата „Морзова азбука също е шифър“-> „akubza ezrom - таралеж rfish“.
С добър алгоритъм, който определя произволни пермутации за всеки знак или група от тях, шифърът стана устойчив на просто кракване. Но! Само навреме. Тъй като шифърът лесно се разбива чрез обикновена груба сила или съпоставяне на речник, днес всеки смартфон може да се справи с неговото декриптиране. Следователно, с появата на компютрите, този шифър също се премести в категорията на детските.
Морзов код
Азбуката е средство за обмен на информация и основната му задача е да направи съобщенията по-лесни и по-разбираеми за предаване. Въпреки че това е в противоречие с това, за което е предназначено криптирането. Въпреки това, той работи като най-простите шифри. В системата на Морз всяка буква, цифра и препинателен знак имат собствен код, съставен от група тирета и точки. Когато изпращате съобщение с помощта на телеграфа, тирета и точки представляват дълги и къси сигнали.
Телеграф и морзова азбука… Морз е този, който за първи път патентова "своето" изобретение през 1840 г., въпреки че подобни устройства са били изобретени в Русия и Англия преди него. Но на кой му пука сега… Телеграф и азбукаМорзова азбука имаше много голямо влияние върху света, позволявайки почти мигновено предаване на съобщения на континентални разстояния.
Моноалфавитно заместване
Описаните по-горе ROTN и морзова азбука са примери за едноазбучни заместващи шрифтове. Префиксът "моно" означава, че по време на криптиране всяка буква от оригиналното съобщение се заменя с друга буква или код от единствената азбука за криптиране.
Дешифрирането на прости заместващи шифри не е трудно и това е основният им недостатък. Те се решават чрез просто изброяване или честотен анализ. Например, известно е, че най-използваните букви на руския език са „о”, „а”, „и”. По този начин може да се предположи, че в шифротекста буквите, които се срещат най-често означават или "о", или "а", или "и". Въз основа на тези съображения съобщението може да бъде дешифрирано дори без компютърно търсене.
Известно е, че Мария I, кралица на Шотландия от 1561 до 1567 г., е използвала много сложен едноазбучен заместващ шифър с няколко комбинации. Но враговете й успяха да дешифрират съобщенията и информацията беше достатъчна, за да осъди кралицата на смърт.
Шифър на Гронсфелд или полиазбучно заместване
Простите шифри се обявяват за безполезни от криптографията. Поради това много от тях са подобрени. Шифърът Гронсфелд е модификация на шифъра на Цезар. Този метод е много по-устойчив на хакване и се състои във факта, че всеки знак от кодираната информация се криптира с помощта на една от различните азбуки, които се повтарят циклично. Може да се каже, че това е многоизмерно приложениенай-простият заместващ шифър. Всъщност шифърът Гронсфелд е много подобен на този на Виженер, разгледан по-долу.
ADFGX алгоритъм за криптиране
Това е най-известният шифър от Първата световна война, използван от германците. Шифърът получи името си, защото алгоритъмът за криптиране доведе всички шифрограми до редуването на тези букви. Изборът на самите букви се определяше от тяхното удобство при предаване по телеграфни линии. Всяка буква в шифъра е представена от две. Нека разгледаме по-интересна версия на квадрата ADFGX, която включва числа и се нарича ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
Алгоритъмът за квадратура на ADFGX е както следва:
- Изберете произволни n букви за колони и редове.
- Изграждане на N x N матрица.
- Въведете азбуката, цифрите, знаците, произволно разпръснати по клетките в матрицата.
Нека направим подобен квадрат за руския език. Например, нека създадем квадрат ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | З | D |
B | Sh/Sh | B | L | X | I |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Тази матрица изглежда странно, защото ред клетки съдържа две букви. Това е приемливо, смисълът на съобщението не се губи. Може лесно да се възстанови. Шифрирайте фразата „Компактен шифър“с помощта на тази таблица:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Фраза | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
Шифър | bw | gv | gb | където | ag | bw | db | ab | dg | ад | wa | ад | bb | ха |
По този начин, окончателното криптирано съобщение изглежда така: "bvgvgbgdagbvdbabdgvdvaadbbga". Разбира се, германците проведоха подобна линия чрез още няколко шифра. И в крайна сметка се оказа много стабиленза да разбиете криптираното съобщение.
Шифър на Виженер
Този шифър е с порядък по-устойчив на кракване от едноазбучния, въпреки че е прост шифър за заместване на текст. Въпреки това, поради стабилния алгоритъм, дълго време се смяташе за невъзможно да се хакне. Първото споменаване за него датира от 16 век. Виженер (френски дипломат) погрешно се счита за негов изобретател. За да разберете по-добре какво е заложено, помислете за таблицата на Vigenère (квадрат Vigenère, tabula recta) за руски език.
Нека започнем да кодираме фразата "Касперович се смее". Но за да успее криптирането, е необходима ключова дума – нека е „парола“. Сега нека започнем криптирането. За да направим това, ние изписваме ключа толкова пъти, че броят на буквите от него да съответства на броя на буквите в криптираната фраза, като повтаряме ключа или изрязваме:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Фраза: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
Ключ | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Сега, използвайки таблицата на Виженер, както в координатната равнина, търсим клетка, която е пресечната точка на двойки букви, и получаваме: K + P=b, A + A=B, C + P=C и т.н.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Шифър: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Разбираме, че "Касперович се смее"="bvusnyugschzh eykhzhgal".
Разбиването на шифъра на Виженер е толкова трудно, защото честотният анализ трябва да знае дължината на ключовата дума, за да работи. Така че хакът е да хвърлите произволно дължината на ключовата дума и да се опитате да разбиете тайното съобщение.
Трябва също да се спомене, че в допълнение към напълно произволен ключ, може да се използва напълно различна таблица на Vigenère. В този случай квадратът на Виженер се състои от руска азбука, написана ред по ред с изместване от единица. Което ни насочва към шифъра ROT1. И точно както в шифъра на Цезар, офсетът може да бъде всичко. Освен това редът на буквите не трябва да е по азбучен ред. В този случай самата таблица може да бъде ключът, без да се знае кой, ще бъде невъзможно да се прочете съобщението, дори да се знае ключа.
Кодове
Истинските кодове се състоят от съвпадения за всекидуми от отделен код. За работа с тях са необходими така наречените кодови книги. Всъщност това е същият речник, който съдържа само преводи на думи в кодове. Типичен и опростен пример за кодове е ASCII таблицата - международен шифър от прости знаци.
Основното предимство на кодовете е, че са много трудни за дешифриране. Честотният анализ почти не работи, когато са хакнати. Слабостта на кодовете всъщност са самите книги. Първо, тяхната подготовка е сложен и скъп процес. Второ, за враговете те се превръщат в желан обект и прихващането на дори част от книгата ви принуждава да промените напълно всички кодове.
През 20-ти век много държави използваха кодове за прехвърляне на секретни данни, променяйки кодовата книга след определен период. И те също активно ловуваха за книги на съседи и противници.
Enigma
Всички знаят, че Enigma е била основната машина за шифроване на нацистите по време на Втората световна война. Структурата на Enigma включва комбинация от електрически и механични вериги. Как ще се окаже шифърът зависи от първоначалната конфигурация на Enigma. В същото време Enigma автоматично променя конфигурацията си по време на работа, криптирайки едно съобщение по няколко начина по цялата му дължина.
За разлика от най-простите шифри, "Енигма" даде трилиони възможни комбинации, което направи разбиването на криптирана информация почти невъзможно. От своя страна нацистите имаха определена комбинация, подготвена за всеки ден, която теизползван в определен ден за изпращане на съобщения. Следователно, дори Enigma да попадне в ръцете на врага, тя не направи нищо за декриптиране на съобщения, без да въвежда правилната конфигурация всеки ден.
Hack "Enigma" беше активно изпробван по време на цялата военна кампания на Хитлер. В Англия през 1936 г. за това е построено едно от първите изчислителни устройства (машина на Тюринг), което се превръща в прототип на компютрите в бъдеще. Неговата задача беше да симулира действието на няколко десетки Енигми едновременно и да пусне през тях прихванати нацистки съобщения. Но дори машината на Тюринг само от време на време успяваше да разбие съобщението.
Шифроване с публичен ключ
Най-популярният от алгоритмите за криптиране, който се използва навсякъде в технологиите и компютърните системи. Същността му се крие, като правило, в наличието на два ключа, единият от които се предава публично, а вторият е таен (частен). Публичният ключ се използва за криптиране на съобщението, а частният ключ се използва за дешифрирането му.
Публичният ключ най-често е много голямо число, което има само два делителя, без да се брои един и самото число. Заедно тези два делителя образуват таен ключ.
Нека разгледаме прост пример. Нека публичният ключ е 905. Неговите делители са числата 1, 5, 181 и 905. Тогава секретният ключ ще бъде например числото 5181. Твърде лесно ли казваш? Ами ако в ролятапубличен номер ще бъде число с 60 цифри? Математически трудно да се изчислят делителите на голямо число.
За по-ярък пример си представете, че теглите пари от банкомат. При четене на картата личните данни се криптират с определен публичен ключ, а от страна на банката информацията се декриптира с таен ключ. И този публичен ключ може да бъде променен за всяка операция. И няма начини за бързо намиране на ключови делители, когато го прихващате.
Издръжливост на шрифта
Криптографската сила на алгоритъма за криптиране е способността да се противопоставя на хакване. Този параметър е най-важният за всяко криптиране. Очевидно простият заместващ шифър, който може да бъде дешифриран от всяко електронно устройство, е един от най-нестабилните.
Днес няма единни стандарти, по които би било възможно да се оцени силата на шифъра. Това е трудоемък и дълъг процес. Въпреки това, има редица комисии, които са изготвили стандарти в тази област. Например минималните изисквания за Advanced Encryption Standard или AES алгоритъм за криптиране, разработен от NIST USA.
За справка: Шифърът на Вернам е признат за най-устойчивия на разбиване шифър. В същото време предимството му е, че според алгоритъма си е най-простият шифър.