Какво е криптиране и как работи?
Криптирането има дълга история, датираща от времето, когато древните гърци и римляни са изпращали тайни съобщения чрез подмяна на букви само с разчитане на секретен ключ. Присъединете се към нас за бърз урок по история и научете повече за това как работи шифроването.
В днешното издание на HTG обясняваме, че ще ви дадем кратка история на шифроването, как работи и някои примери за различни видове криптиране - уверете се, че сте проверили и предишното издание, където обяснихме защо толкова много отрепки мразят интернет изследовател.
Изображение от xkcd, очевидно.
Ранните дни на криптиране
Древните гърци са използвали инструмент, наречен Scytale, за по-бързо криптиране на посланията им, използвайки шифър за транспониране - те просто обгръщат лентата от пергамент около цилиндъра, изписват съобщението и след това, когато се развие, няма да има смисъл..
Разбира се, този метод за криптиране може лесно да се счупи, но това е един от първите примери за реално използване на криптирането в реалния свят..
Юлий Цезар използвал подобен метод по време на своето време, като изместил всяка буква от азбуката надясно или наляво от няколко позиции - техника за криптиране, известна като шифър на Цезар. Например, използвайки примера по-долу, ще напишете „GEEK“ като „JHHN“.
Равнина: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Шифър: DEFGHIJKLMNOPQRSTUVWXYZABC
Тъй като само предназначеният получател на съобщението е знаел шифъра, ще бъде трудно за следващия човек да декодира съобщението, което би изглеждало като безсмислици, но човекът, който има шифър, може лесно да го декодира и прочете..
Други прости шифри за криптиране, като площад Полибий, използваха полиалфавитния шифър, който изброяваше всяка буква с съответните числови позиции в горната и страничната част, за да се каже къде е позицията на писмото..
Ако използвате таблица като тази по-горе, ще напишете буквата „G“ като „23“ или „GEEK“ като „23 31 31 43“.
Enigma Machine
По време на Втората световна война, германците използвали машината Енигма, за да предават криптирани предавания напред-назад, които отнеха години преди полските да успеят да пропуснат съобщенията и да дадат решение на съюзническите сили, което беше от съществено значение за тяхната победа..
Историята на модерното криптиране
Нека се сблъскаме с това: съвременните техники за криптиране могат да бъдат изключително скучна тема, така че вместо просто да ги обясняваме с думи, сме събрали комикс, който говори за историята на криптирането, вдъхновен от ръководството на Джеф Мосер за AES. Забележка: Ясно е, че не можем да предадем всичко, свързано с историята на шифроването, в комикс.
В онези дни хората не разполагат с добър метод за кодиране, за да осигурят електронната си комуникация.
Люцифер беше името, дадено на няколко от най-ранните цивилни блокови шифри, разработени от Хорст Файзел и неговите колеги в IBM.
Стандартът за шифроване на данни (DES) е блоков шифър (форма на споделено секретно криптиране), който е избран от Националното бюро за стандарти като официален Федерален стандарт за обработка на информация (FIPS) за САЩ през 1976 г. и който впоследствие е широко разпространен международно използване.
Загрижеността за сигурността и относително бавната работа на DES в софтуера мотивираха изследователите да предложат различни алтернативни дизайни на блокови шифри, които започнаха да се появяват в края на 80-те и началото на 90-те години: примерите включват RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 и FEAL
Алгоритъмът за шифроване на Rijndael беше приет от правителството на САЩ като стандартно кодиране със симетричен ключ или Advanced Encryption Standard (AES). AES бе обявен от Националния институт за стандарти и технологии (NIST) като US FIPS PUB 197 (FIPS 197) на 26 ноември 2001 г. след 5-годишен процес на стандартизация, в който бяха представени и оценени петнадесет конкурентни дизайна преди да бъде избран Rijndael подходящ алгоритъм за криптиране.
Ефективност на алгоритъма за шифроване
Съществуват много алгоритми за шифроване и всички те са подходящи за различни цели - двете основни характеристики, които идентифицират и диференцират един алгоритъм за криптиране от друг, са способността му да осигурява защитените данни от атаки и тяхната скорост и ефективност..
Като добър пример за разликата в скоростта между различните видове криптиране, можете да използвате помощната програма за сравнителен анализ, вградена в съветника за създаване на том на TrueCrypt - както виждате, AES е най-бързият тип силно криптиране..
Има и по-бавни и по-бързи методи за криптиране и всички те са подходящи за различни цели. Ако просто се опитвате да дешифрирате една малка част от данните толкова често, можете да си позволите да използвате най-силното възможно криптиране или дори да го шифровате два пъти с различни видове криптиране. Ако имате нужда от скорост, вероятно ще искате да отидете с AES.
За повече информация за сравнителния анализ на различни видове криптиране, вижте доклад от Вашингтонския университет в Сейнт Луис, където те изпробваха различни практики и обясниха всичко в много изискан доклад..
Видове модерно криптиране
Целият алгоритъм за шифроване, за който говорихме по-рано, се използва най-вече за два различни вида криптиране:
- Алгоритми за симетрични ключове използват свързани или идентични ключове за криптиране както за криптиране, така и за декриптиране.
- Асиметрични ключови алгоритми използвайте различни ключове за криптиране и декриптиране - това обикновено се нарича криптография с публичен ключ.
Симетрично криптиране на ключовете
За да обясним тази концепция, ще използваме метафората на пощенските услуги, описана в Уикипедия, за да разберем как работят симетричните ключови алгоритми.
Алис поставя тайното си съобщение в кутия и заключва кутията с катинар, към който има ключ. След това тя изпраща кутията на Боб по обикновена поща. Когато Боб получи кутията, той използва идентичен екземпляр от ключа на Алис (който по някакъв начин е получил по-рано, може би чрез среща лице в лице), за да отвори кутията и да прочете съобщението. Тогава Боб може да използва същия катинар, за да изпрати тайния си отговор.
Алгоритмите със симетричен ключ могат да се разделят на поточни шифри и блокови шифри, които криптират битовете на съобщението едно по едно, а блоковите шифри заемат битове, често в блокове по 64 бита, и ги кодират като една единица. Има много различни алгоритми, от които можете да избирате - по-популярните и уважавани симетрични алгоритми включват Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES и IDEA.
Асиметрично криптиране
В система с асиметрични ключове, Боб и Алис имат отделни катинари, вместо единичния катинар с множество ключове от симетричния пример.. Забележка: това е, разбира се, много опростен пример за това как наистина работи, което е много по-сложно, но ще получите общата идея.
Първо, Алис моли Боб да й изпрати открития катинар по обикновена поща, запазвайки ключа си за себе си. Когато Алис я приеме, тя я използва, за да заключи кутия, съдържаща нейното съобщение, и изпраща заключената кутия на Боб. След това Боб може да отключи кутията с ключа си и да прочете съобщението от Алис. За да отговори, Боб трябва също така да намери отворения катинар на Алис, за да заключи кутията, преди да я изпрати обратно.
Критичното предимство в една асиметрична ключова система е, че Боб и Алис никога не трябва да изпращат копие от ключовете си един на друг. Това не позволява на трета страна (може би, в примера, корумпиран пощенски работник) да копира ключ, докато е в транзит, позволявайки на третата страна да шпионира всички бъдещи съобщения, изпратени между Алис и Боб. Освен това, ако Боб бяха небрежни и позволили някой друг да ги копира му ключови, съобщенията на Алис към Боб ще бъдат компрометирани, но посланията на Алис към други хора ще останат в тайна, тъй като другите хора ще предоставят различни катинари за използване от Алис.
Асиметричното кодиране използва различни клавиши за криптиране и декриптиране. Получателят на съобщението създава личен ключ и публичен ключ. Публичният ключ се разпространява между подателите на съобщения и те използват публичния ключ за шифроване на съобщението. Получателят използва личния си ключ всички криптирани съобщения, които са били шифровани с публичния ключ на получателя.
Има едно голямо предимство за правенето на криптиране по този начин в сравнение със симетричното криптиране. Никога не е необходимо да изпращаме нещо тайно (като нашия ключ за шифроване или парола) по несигурен канал. Вашият публичен ключ излиза на света - не е тайна и не е необходимо. Вашият частен ключ може да остане удобен и уютен на персоналния ви компютър, където сте го генерирали - никога не трябва да се изпраща по електронна поща навсякъде или да се чете от атакуващите.
Как шифроването осигурява комуникация в мрежата
От много години протоколът SSL (Secure Sockets Layer) осигурява уеб транзакции, като използва криптиране между вашия уеб браузър и уеб сървър, като ви предпазва от всеки, който може да нахлузва в мрежата по средата.
Самата SSL е концептуално съвсем проста. Тя започва, когато браузърът поиска сигурна страница (обикновено https: //)
Уеб сървърът изпраща своя публичен ключ със своя сертификат.
Браузърът проверява дали сертификатът е бил издаден от доверено лице (обикновено доверен основен ЦС), че сертификатът е все още валиден и че сертификатът е свързан със свързания сайт.
След това браузърът използва публичния ключ, за да шифрира случайно симетричен ключ за шифроване и го изпраща на сървъра с необходимия криптиран URL адрес, както и други криптирани http данни.
Уеб сървърът декриптира симетричния ключ за шифроване чрез своя личен ключ и използва симетричния ключ на браузъра, за да декриптира своите URL и данни за http.
Уеб сървърът изпраща обратно искания HTML документ и http данните, кодирани със симетричния ключ на браузъра. Браузърът декриптира http данните и html документа, използвайки симетричния ключ и показва информацията.
И сега можете сигурно да закупите този иБей елемент, който наистина не ви е необходим.
Научихте ли нещо?
Ако сте стигнали толкова далеч, ние сме в края на нашето дълго пътуване за разбиране на криптирането и малко за това как работи - като се започне от ранните дни на криптиране с гърците и римляните, възхода на Луцифер и накрая как SSL използва асиметрично и симетрично криптиране, за да ви помогне да закупите пухкавото розово зайче на eBay.
Ние сме големи почитатели на шифроването тук в How-To Geek, и ние разгледахме много различни начини да правим неща като:
- Първи стъпки с TrueCrypt (за да защитите данните си)
- Добавете автоматично шифроване на уебсайтове към Firefox
- BitLocker да отида криптира преносими флаш дискове в Windows 7
- Как да защитите вашия Linux компютър чрез криптиране на вашия твърд диск
- Add Encrypt / Decrypt Опции към Windows 7 / Изглед Право Кликнете върху Меню
- Първи стъпки с TrueCrypt шифроване на дискове в Mac OS X
Разбира се, криптирането е твърде сложна тема, която наистина обяснява всичко. Пропуснахме ли нещо важно? Чувствайте се свободни да дадете известни познания на своите читатели в коментарите.