Основи на криптографијата

Дали некогаш сте се запрашале како компаниите безбедно ги чуваат вашите лозинки? Или како информациите за вашата кредитна картичка се чуваат приватни при правење онлајн нарачки?

Одговорот е криптографија. Огромното мнозинство на интернет-сајтовите сега користат некаква форма на криптографија за да ја обезбедат приватноста на неговите корисници. Дури и информациите, како што се е-мејловите од вашиот Gmail акаунт, се шифрирани бидејќи се наоѓаат во центрите за податоци на Google.

Што е криптографија?

Криптографијата е наука за безбедно пренесување на информации без да ги откријат трети страни.

На пример, размислете за филмот “The Imitation Game”. За оние кои го гледале филмот, знаете дека е приказна за тоа како Ален Туринг го создава првиот компјутер што ја декриптира Германската машина „Енигма“ – машина која ги кодираше сите Германски комуникации, како би нацистите безбедно пренесуваат пораки преку радио. Иако овие пораки беа лесно пресретнувани од сојузниците, пораките не можеа да се разберат затоа што сите беа кодирани или шифрирани, со некој странски клуч кој се менувал секојдневно.

Слика од филмот “The Imitation Game”

Алгоритми за криптирање

Симетрично криптирање на клучеви – Во алгоритмите на симетричните клучеви, постои еден заеднички клуч, кој се користи за заклучување и отклучување на „кутијата“ за криптирање. И испраќачот и примачот имаат ист клуч. Алгоритмите на симетричните клучеви се многу брзи, бидејќи клучевите не треба да бидат долги; сепак, постои проблем при споделување на заедничкиот клуч, бидејќи може да се пресретне, а потоа целиот систем да биде компромитиран.

Асиметрично криптирање на клучеви – Во алгоритмите на асиметричните клучеви, само примачот го има клучот. Примачот може јавно да испрати брава (или метод за заклучување на нашата хипотетичка кутија), за кое само примачот го има клучот. Бравата се нарекува јавен клуч, а клучот се нарекува приватен клуч. Забелешка: Има само еден јавен клуч за секој приватен клуч.

Хашинг

Хашинг е еднонасочна криптографска функција која ви овозможува неповратно да ги трансформирате информациите во низа букви и броеви што се нарекуваат хаш. Хашингот е различен од криптирањето бидејќи хашот е замислен да биде невозможно да се декриптира, иако многумина се обиделе, а некои успеале. Кога ќе слушнете за лозинка или за некое друго нарушување на безбедноста, вообичаено се однесува на криптографско хакирање во кое хакерите успеале да ги спарат хашовите назад со оригиналниот текст.

Како функционира:

Постојат различни хашинг алгоритми (MD, SHA1, SHA2 и SHA3), но ние ќе се фокусираме на алгоритмот SHA256 затоа што е најчест денес.

Алгоритмот SHA256 прво го претвора текстот во низа од 256 бита (оттука и името) од 0 и 1. Пример би бил:

1110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010111000101011100010101110001010000101

Бидејќи овие бинарни хашови се екстремно долги за прикажување, тие потоа се претвораат во хексадецимален формат (комбинација од 64 карактери со вредности 0–9 и а-f), со секој дел од 4 бита што претставува еден карактер. Пример за хексадецимална застапеност е:

a235810cd87df030d78e890d90c187cc04a09ad09b289b91bbae9d890f987e

Лозинки

Една од главните употреби на хашинг е во проверка на лозинка. Би било крајно небезбедно за вашата банка да чува база на податоци со лозинки, така што одржува база на податоци со хашови, што одговараат на вашата вистинска лозинка. Кога се најавувате во вашата банка преку Интернет, системот ја хашира вашата лозинка и потоа ја проверува со хашот што го има во датотеката за вас.

Овој систем функционира затоа што хашинг алгоритмите секогаш ќе произведат ист хаш за истата лозинка – хашовите не се случајна комбинација на знаци. Хашингот е исто така причина зашто е важно да имате сложени и уникатни лозинки, затоа што ако го пресметаме хашот за „лозинка123“, и го совпаднам со хашот што одговара на вас, тогаш знам дека вашата лозинка е „лозинка123“, и лесно може да се хакира вашата банкарска сметка преку Интернет.

Блокчејн

Криптографијата му овозможува на блокчејнот да ги верификува испраќачите во мрежа преку потписи, како и да гарантира дека минатите трансакции и записи, познати како „блокови“, не можат да бидат променети.

Блокчејнот исто така ги користи хашинг алгоритмите за да додели уникатен хаш на секој блок, овозможувајќи ви да ги разликувате блоковите.

Заклучок

Сега, кога знаете сè за хаширање и криптирање, погледнете го ова кратко видео за тоа како Алан Туринг успешно ја „хакира“ Германската машина Енигма и гледајте го филмот ако веќе не сте го гледале!

Leave a comment