Криптографските системи понастоящем са разделени на две основни области на изследване: симетрична и асиметрична криптография. Докато симетричното криптиране често се използва като синоним на симетрична криптография, асиметричната криптография обхваща два основни случая на употреба: асиметрично криптиране и цифрови подписи.
Следователно можем да представим тези групи, както следва:
Криптография със симетричен ключ
Симетрично криптиране
Асиметрична криптография (или криптография с публичен ключ)
Асиметрично криптиране (или криптиране с публичен ключ)
Цифрови подписи (може да включва или да не включва криптиране)
Тази статия ще се фокусира върху алгоритми за симетрично и асиметрично криптиране.
Симетрично спрямо асиметрично криптиране
Алгоритмите за криптиране често се разделят на две категории, известни като симетрично и асиметрично криптиране. Основната разлика между тези два метода на криптиране се основава на факта, че алгоритмите за симетрично криптиране използват един ключ, докато асиметричното криптиране използва два различни, но свързани ключа. Такова разграничение, макар и очевидно просто, обяснява функционалните разлики между двете форми на техники за криптиране и начините, по които се използват.
Разбиране на ключовете за криптиране
В криптографията алгоритмите за криптиране генерират ключове като поредица от битове, които се използват за криптиране и декриптиране на част от информацията. Начинът, по който се използват тези ключове, обяснява разликата между симетрично и асиметрично криптиране.
Докато алгоритмите за симетрично криптиране използват един и същ ключ за изпълнение както на функциите за криптиране, така и за декриптиране, алгоритъмът за асиметрично криптиране използва един ключ за криптиране на данните и друг ключ за декриптирането им. При асиметричните системи ключът, използван за криптиране, е известен като публичен ключ и може свободно да се споделя с други. От друга страна, ключът, използван за декриптиране, е частният ключ и трябва да се пази в тайна.
Например, ако Алис изпрати на Боб съобщение, което е защитено чрез симетрично криптиране, тя трябва да сподели същия ключ, който е използвала за криптиране с Боб, за да може той да декриптира съобщението. Това означава, че ако злонамерен участник прихване ключа, той може да получи достъп до криптираната информация.
Обаче ако Алис използва асиметрична схема вместо това, тя криптира съобщението с публичния ключ на Боб, така че Боб ще може да го декриптира с частния си ключ. По този начин асиметричното криптиране предлага по-високо ниво на сигурност, тъй като дори ако някой прихване техните съобщения и намери публичния ключ на Боб, той не може да декриптира съобщението.
Дължини на ключовете
Друга функционална разлика между симетричното и асиметричното криптиране е свързана с дължината на ключовете, които се измерват в битове и са пряко свързани с нивото на сигурност, осигурено от всеки криптографски алгоритъм.
При симетричните схеми ключовете се избират на случаен принцип и техните дължини обикновено се задават на 128 или 256 бита, в зависимост от необходимото ниво на сигурност. При асиметричното криптиране обаче трябва да има математическа връзка между публичния и частния ключ, което означава, че има математически модел между двата. Поради факта, че този модел може потенциално да бъде използван от нападателите, за да пробият криптирането, асиметричните ключове трябва да бъдат много по-дълги, за да представят еквивалентно ниво на сигурност. Разликата в дължината на ключа е толкова изразена, че 128-битов симетричен ключ и 2048-битов асиметричен ключ предлагат приблизително сходни нива на сигурност.
Предимства и недостатъци
И двата вида криптиране имат предимства и недостатъци един спрямо друг. Алгоритмите за симетрично криптиране са много по-бързи и изискват по-малко изчислителна мощност, но основната им слабост е разпределението на ключовете. Тъй като един и същ ключ се използва за криптиране и декриптиране на информация, този ключ трябва да бъде разпределен на всеки, който ще има нужда от достъп до данните, което естествено създава рискове за сигурността (както беше илюстрирано по-горе).
Обратно, асиметричното криптиране решава проблема с разпределението на ключове, като използва публични ключове за криптиране и частни ключове за декриптиране. Компромисът обаче е, че системите за асиметрично криптиране са много бавни в сравнение със симетричните системи и изискват много повече изчислителна мощност в резултат на значително по-дългите им дължини на ключовете.
Случаи на употреба
Симетрично криптиране
Поради по-голямата си скорост, симетричното криптиране се използва широко за защита на данните в много съвременни компютърни системи. Например Advanced Encryption Standard (AES) се използва от правителството на Съединените щати за криптиране на класифицирана и чувствителна информация. AES замени предишния стандарт за криптиране на данни (Data Encryption Standard - DES), който беше разработен през 1970 г. като стандарт за симетрично криптиране.
Асиметрично криптиране
Асиметричното криптиране може да се приложи към системи, в които може да се наложи много потребители да криптират и декриптират съобщение или набор от данни, особено когато скоростта и изчислителната мощност не са основни проблеми. Един пример за такава система е криптираният имейл, в който може да се използва публичен ключ за криптиране на съобщение, а частен ключ може да се използва за декриптиране.
Хибридни системи
В много приложения симетричното и асиметричното криптиране се използват заедно. Типични примери за такива хибридни системи са криптографските протоколи Security Sockets Layer (SSL) и Transport Layer Security (TLS), които са предназначени да осигурят сигурна комуникация в интернет. SSL протоколите вече се считат за несигурни и използването им трябва да бъде прекратено. За разлика от тях, TLS протоколите се считат за безопасни и се използват широко от всички основни уеб браузъри.
Криптовалутите използват ли криптиране?
Техниките за криптиране се използват в много портфейли за криптовалути като начин за осигуряване на повишени нива на сигурност на крайните потребители. Алгоритмите за криптиране се прилагат, например когато потребителите задават парола за своите крипто портфейли, което означава, че файлът, използван за достъп до софтуера, е криптиран.
Въпреки това, поради факта, че биткойн и други криптовалути използват двойки публично-частни ключове, има често срещано погрешно схващане, че блокчейн системите използват алгоритми за асиметрично криптиране. Както беше отбелязано по-рано обаче, асиметричното криптиране и цифровите подписи са два основни случая на използване на асиметричната криптография (криптография с публичен ключ).
Следователно не всички системи за цифров подпис използват техники за криптиране, дори ако представят публичен и частен ключ. Всъщност едно съобщение може да бъде подписано цифрово, без да бъде криптирано. RSA е един пример за алгоритъм, който може да се използва за подписване на криптирани съобщения, но алгоритъмът за цифров подпис, използван от биткойн (на име ECDSA), изобщо не използва криптиране.
Заключителни мисли
Както симетричното, така и асиметричното криптиране играят важна роля за поддържането на сигурността на чувствителната информация и комуникациите в днешния зависим от цифрови технологии свят. Въпреки че и двете криптирания могат да бъдат полезни, всяко от тях има своите предимства и недостатъци и затова се прилага за различни приложения. Тъй като науката за криптографията продължава да се развива, за да защитава срещу по-нови и по-сложни заплахи, както симетричните, така и асиметричните криптографски системи вероятно ще останат важни за компютърната сигурност.