Симетричен, асиметричен, хеш и други…

Криптографията е техника за защита на информация и комуникация чрез използване на набор от базирани на правила изчисления, наречени алгоритми и някои математически концепции, така че само правилният човек да може да я разбере.

Полезно е да се предотврати неоторизиран достъп до информация.

Думата „криптография“ произлиза от гръцката дума криптос, което означава скрит. Думата „крипто“ означава „скрит“, а „графика“ означава „писане“.

В тази статия ще разгледам основите на принципите на криптографията, ще изследвам различни видове с примери, ще обсъдя предизвикателствата и ще погледна напред към бъдещите тенденции. Стремя се да предоставя изчерпателен преглед, обхващащ както основните, така и второстепенните понятия.

Криптографията осигурява цифрова комуникация и информация в различни системи и приложения, като гарантира поверителност и сигурност на данните. Той защитава данните от неоторизиран достъп.

Нека да видим какво се случва в криптографията:

  • Процесът започва с подателя, който има съобщение или данни за изпращане.
  • След това обикновеният текст (оригиналното съобщение) се преобразува в нечетлив формат с помощта на метод, наречен криптиране.
  • Получателят използва ключ, за да преобразува шифрования текст (нечетим формат) обратно в четим формат, процес, известен като дешифриране.
  • Дешифрираното съобщение отново е в обикновен текст и е същото като оригиналното съобщение, изпратено от подателя.
  • Получателят вече има оригиналното съобщение.
  • Сега нека проучим основните принципи на криптографията.

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

    Има четири основни принципа на криптографията:

    #1. Поверителност: Само предвиденият получател има достъп до информацията; то остава лично за другите.

    #2. Цялост: Информацията не може да бъде променяна по време на съхранение или предаване без откриване на промени.

    #3. Неотричане: Подателят не може да откаже изпращането на информацията по-късно.

    #4. Удостоверяване: Потвърждава самоличността както на изпращача, така и на получателя и проверява източника и дестинацията на информацията.

    Преди да продължим, нека прегледаме малко основен речник.

    Терминологичен речник:

    Значение на думата Криптография Това е техника за защита на информация и комуникация чрез използване на набор от базирани на правила изчисления, наречени алгоритми и някои математически концепции, така че само правилният човек да може да го разбере. Шифър Шифърът е метод или алгоритъм, използван за криптиране и декриптиране на данни Шифроване Процесът на конвертиране на обикновен текст в ciphertextPlaintextОригинална, некриптирана форма на данни или textCiphertextEncrypted данни (кодирана форма на данните) или textDecryptionОбратният процес на преобразуване на шифрован текст обратно в обикновен текст с помощта на ключ за декриптиранеKeyA ключът е част от информацията, обикновено поредица от битове, която се използва за контрол на процес на криптиране и декриптиране. Обмен на ключове Сигурното прехвърляне на ключове за криптиране между подател и получател. Речник на криптографски термини

    Има три основни типа криптография:

  • Симетрична ключова криптография
  • Криптография с асиметричен ключ
  • Хеш функция
  • Симетрична ключова криптография

    Криптографията със симетричен ключ, наричана още криптиране с един ключ, е техника за криптиране, която разчита на единичен таен ключ както за криптиране, така и за декриптиране на данни.

    При този метод и подателят, и получателят трябва да използват абсолютно същия таен ключ, за да разберат данните. Той работи, като променя нормалните данни в таен код (шифрован текст) с помощта на секретния ключ и специфичен математически процес.

    Когато получателят, който също знае секретния ключ, получи секретно кодираното съобщение, той може да използва същия математически процес, за да го превърне обратно в нормални данни. По този начин приемникът получава оригиналната информация от секретния код.

    Симетрична криптография

    Нека разберем процеса чрез следните стъпки:

    • Алгоритъмът преобразува оригиналния текст (обикновен текст) в шифрован текст с помощта на таен ключ.
    • След това изпращачът изпраща този шифрован текст на получателя през комуникационния канал. Този комуникационен канал е частен или публичен.
    • Получателите използват същия таен ключ, за да дешифрират този шифрован текст и да го конвертират в оригинален текст.

    Този процес на симетрично криптиране гарантира, че комуникацията между подател и получател остава защитена. Но секретният ключ трябва да бъде поверителен.

    За да поддържат поверителността и целостта, и двете страни трябва сигурно да управляват и защитават този таен ключ.

    Има два вида симетрични шифри за криптиране:

  • Поточен шифър
  • Блоков шифър
  • Поток CipherBlock Cipher Шифрова данни в блокове с фиксирана дължина Докато данните се криптират, системата ги запазва в паметта, изчаквайки пълните блокове да са готови за обработка. Шифрова данни един бит или байт наведнъж. Шифрова данни в блокове с фиксирана дължина. Използва 8 бита от ключа. Използва или 64. бита или повече от 64 бита от ключа По-сложен от блоковия шифър По-прост от поточния шифър Шифроване на данни в блокове с фиксирана дължина Бавен и подходящ за офлайн приложения Използва CFB и OFB режими Използва ECB и CBC режими. Поточен шифър срещу блоков шифър

      Как да конвертирате устройство от GPT в MBR

    Някои примери за алгоритми за симетрично криптиране включват:

    • AES (Advanced Encryption Standard): Известен е със своята сигурност и ефективност. Обикновено се използва за защита на чувствителни данни като безжична сигурност, облачни изчисления, банкиране и електронна търговия.
    • DES (Стандарт за криптиране на данни): Това е по-стар метод за криптиране, който беше заменен от AES и 3DES. Използва 56-битов ключ.
    • IDEA (Международен алгоритъм за криптиране на данни): Използва 128-битов ключ и се използва в различни приложения.
    • Blowfish: Алгоритъм, проектиран като заместител на DES или IDEA.
    • RC4 (Rivest Cipher 4): Разработено от Ron Rivest. Той е известен със своята простота и бързина, но има някои проблеми със сигурността при определени реализации.
    • RC5 (Rivest Cipher 5): Той е проектиран да бъде ефективен и сигурен, с променлив размер на блока и размера на ключа.
    • RC6 (Rivest Cipher 6): Той е проектиран да осигури подобрена сигурност и производителност в сравнение с по-ранните версии.

    AES, DES, IDEA, Blowfish, RC5 и RC6 са блокови шифри.

    RC4 е поточен шифър.

    Предимства на криптографията със симетричен ключ

    • Той е по-бърз и по-ефективен от асиметричната криптография
    • Размерът на ключа е малък, което позволява генерирането на по-силни шифри.
    • Сравнително рентабилно е да се произвеждат силни ключове за шифри.
    • AES е един от сигурните алгоритми.

    Недостатъци на криптографията със симетричен ключ

    • Сигурното споделяне на ключове за криптиране с всички страни, които трябва да комуникират сигурно, е основно предизвикателство на симетричната криптография.
    • Сигурността на цялата система може да бъде нарушена, ако ключът бъде прихванат или компрометиран от нападател по време на предаване.
    • Системите за симетрично криптиране изискват внимателни практики за управление на ключовете. Това включва генериране, съхраняване, актуализиране и отмяна на ключове. Лошото управление на ключовете може да доведе до пробиви в сигурността.
    • Нападателите могат да прихванат ключове, обменени по несигурен канал, което води до компрометиране на комуникацията.

    Все пак симетричното криптиране е съществена част от съвременната криптография и се използва широко в много приложения, въпреки своите недостатъци.

    Силните практики за управление на ключове и сигурни методи за обмен на ключове могат да помогнат за преодоляване на някои от предизвикателствата на симетричната криптография.

    Криптография с асиметричен ключ

    Асиметричната криптография използва двойки ключове – частен, който се пази в тайна, и публичен, споделен открито. Можете да използвате нечий публичен ключ, за да шифровате съобщение и само той може да го декриптира със своя личен ключ.

    Този метод повишава цифровата сигурност, като позволява безопасна комуникация без споделяне на секретни ключове, което е от решаващо значение в нашия онлайн свят.

    Това е полезно за безопасна комуникация, тъй като получателите се нуждаят само от вашия публичен ключ. Това елиминира риска от споделяне на таен симетричен ключ.

    Тези „алгоритми с публичен ключ“ използват чифт ключове за защита на данните.

    Ето по-проста разбивка:

    Симетрична срещу асиметрична криптография

    • Има два ключа. Публичен ключ, до който всеки има достъп, и частен ключ, който се пази в тайна.
    • Публичният ключ се използва за криптиране или заключване на данните.
    • Частният ключ се използва за дешифриране или отключване на данните.

    Важно е да разберете, че не можете да разберете частния ключ от публичния ключ. Освен това публичните ключове обикновено се свързват със самоличности от организации, известни като сертифициращи органи.

    Сигурна комуникация Изпращачът и получателят са обменили защитено съобщение, без да компрометират личните си ключове.

    Тези алгоритми разчитат на математически проблеми като целочислена факторизация и дискретни логаритми за създаване на цифрови подписи и установяване/разпределение на сесийни ключове, като например в протокола TLS.

    Някои примери за алгоритми за асиметрично криптиране включват:

    • RSA (Rivest-Shamir-Adleman): RSA е един от най-широко използваните алгоритми за асиметрично криптиране. Базира се на математическите свойства на големите прости числа и обикновено се използва за защитен обмен на ключове и цифрови подписи.
    • Криптография на елиптични криви (ECC): Тя се основава на алгебричната структура на елиптични криви върху крайни полета. ECC предлага предимството на по-малките размери на ключовете в сравнение с криптографията извън EC, която разчита на обикновени полета на Galois. ECC се използва главно за генериране на псевдослучайни числа и цифрови подписи.
    • Diffie-Hellman Key Exchange: Този алгоритъм се използва за защитен обмен на ключове. Ключ, създаден чрез този метод, може да се използва за криптиране със симетричен алгоритъм. Основната цел на Diffie-Hellman е да позволи на две страни да създадат споделен таен ключ през несигурен комуникационен канал.
      Как да използвате интерпретатора на кодове ChatGPT за създаване на брандирани QR кодове

    Предимства на асиметричната криптография

    • Асиметричното криптиране осигурява по-силна сигурност в сравнение със симетричната криптография.
    • Получателят може да провери самоличността на подателя.
    • Асиметричното криптиране реши проблема, свързан с разпределението на ключовете, който споменах в недостатъците на криптографията със симетричен ключ.
    • Получателите на съобщението могат да открият дали съобщението е било променено по време на предаване.

    Недостатъци на криптографията с асиметричен ключ

    • Асиметричното криптиране е по-бавен процес от симетричната криптография.
    • Асиметричното криптиране и декриптиране изисква повече изчислителни ресурси от симетричната криптография.
    • Асиметричната криптография разчита на публични и частни ключове. Сигурното управление на тези ключове може да бъде сложно и предизвикателно, особено в широкомащабни системи.
    • Най-значимият потенциален недостатък на асиметричната криптография е нейната уязвимост към квантовите компютри. Квантовите компютри имат потенциала да решават определени математически проблеми, като разлагане на цели числа и дискретни логаритми, много по-ефективно от класическите компютри.

    Но няма нужда да се притеснявате, организациите и изследователите работят за преминаване към тези квантово устойчиви криптографски техники.

    Нека преминем към следващия ни тип криптография:

    Хеш функция

    Криптографските хеш функции се различават от другите видове криптография. Те не криптират данни. Вместо това те използват сложна математика, за да превърнат всякакви данни в уникален код, съставен от букви и цифри.

    Тези кодове се наричат ​​хеш кодове, хеш стойности или обобщени съобщения. Те са важни за проверка дали данните са безопасни; когато данните се изпращат или съхраняват, техният хеш код се изчислява и изпраща или съхранява с данните.

    Получателят може да преизчисли кода на получените данни и да го сравни с изпратения. Ако кодовете съвпадат, това означава, че данните са останали в безопасност по време на предаване и съхранение.

    Ето едно просто обяснение стъпка по стъпка:

    Хеш функция

    Страната на подателя:

  • Подателят използва хеш функция, за да създаде уникална хеш стойност за предоставените данни.
  • След като създаде хеш стойности, изпращачът изпраща както оригиналното съобщение, така и хеш кода до получателя през несигурен канал.
  • Страната на приемника:

  • Получателят получава съобщението и хеш кода.
  • Получателят също използва същия специален инструмент (хеш функция), за да създаде нов хеш код за полученото съобщение.
  • Получателят сравнява новия хеш код с изпратения от подателя.
  • Резултат:

    • Ако хеш кодовете съвпадат, това означава, че съобщението не е било променено по време на предаването и се счита за защитено.
    • Ако хеш кодовете не съвпадат, това предполага, че съобщението може да е променено и не се счита за защитено.

    Ето някои от свойствата, които правят хеш функциите полезни:

    Свойства на хеш функцията:

  • Детерминиран: Ако дадете един и същ вход, той винаги ще произвежда същия изход.
  • Еднородност и без сблъсъци: Добрата хеш функция трябва да произвежда равномерно разпределени изходи. Помага за избягване на сблъсъци.
  • Ефективни: Хеш функциите са проектирани да бъдат изчислително ефективни, което им позволява бързо да обработват големи количества данни.
  • Изход с фиксиран размер: Той произвежда изход с фиксиран размер, независимо от размера на входа. Това свойство е от съществено значение, защото позволява ефективно съхранение и извличане на данни.
  • Хеш функциите имат много приложения в компютърните науки и информационната сигурност, включително криптография, проверка на целостта на данните, индексиране на данни, пръстови отпечатъци на данни, съхранение на пароли, цифрова криминалистика и блокчейн.

    Често използваните криптографски хеш функции включват:

    Има две широко използвани семейства криптографски хеш функции – семейството MD (MD = обобщение на съобщението) и семейството SHA (SHA = защитен хеш алгоритъм).

    • SHA-1 (Secure Hash Algorithm 1): Това беше една от популярните хеш функции. Сега обаче SHA-1 се счита за слаб поради уязвимости, които позволяват практически атаки при сблъсък. Вече не се използва за повечето приложения за сигурност.
    • MD5 (Algorithm 5 за извличане на съобщения): MD5 беше популярен в миналото, но сега се смята за слаб поради уязвимости при сблъсъци. Обикновено не се използва за чувствителни към сигурността приложения.
    • SHA-3: SHA-3 е по-нова фамилия от хеш функции, избрани чрез конкурс от Национален институт по стандарти и технологии (NIST). Той осигурява силна сигурност и е проектиран да бъде устойчив на определени видове атаки.

    Въпреки че хеш функциите не криптират съобщения, те са неразделна част от криптографията, защото играят решаваща роля в защитата и удостоверяването на данни, които са ключови цели в криптографията.

    Предимства на хеш функцията

    • Сигурната хеш функция гарантира висока устойчивост на сблъсък.
    • Два файла могат лесно да бъдат сравнени за равенство чрез хеширане.
    • Хеш функциите са невероятно бързи и ефективни.
    • В СУБД хеширането се използва за търсене на местоположението на данните без използване на структура на индекс.
      Топ 26 най-добри граматически алтернативи

    Недостатъци на хеш функцията

    • Хеш функциите може да работят по-малко ефективно, когато има много сблъсъци.
    • Не са разрешени нулеви стойности.
    • Внедряването на хеш-таблици може да бъде предизвикателна задача поради тяхната сложност.
    • На практика е почти невъзможно напълно да се предотвратят хеш сблъсъци, когато се работи с голям набор от потенциални ключове.

    Прочетете също: Как да се предпазите от атака на Rainbow Table

    Реални приложения на криптографията

    • Удостоверяване/цифрови подписи: Удостоверяването е жизненоважен процес за потвърждаване на автентичността на данните, проверка на източника на документ, валидиране на самоличността на подателя, точността на времевия печат и гарантиране на легитимността на компютърните или потребителските самоличности. Цифровите подписи използват криптографски методи, които включват хеш функция и частен ключ за валидиране и сигурно подписване на документи.
    • Шифроване на облачно съхранение: Криптографията се използва за защита на файлове, съхранявани в облака и по време на предаване към и от облачни услуги.
    • Електронни пари: Електронните пари включват електронни парични преводи между страните, които могат да бъдат дебитни или кредитни, както и анонимни или идентифицирани. Той използва криптиране, цифрови подписи и криптография с публичен ключ за сигурност, което позволява различни типове транзакции.
    • Шифроване/декриптиране в имейл: Шифроването на имейл защитава съдържанието на имейла от неоторизиран достъп чрез криптография с публичен ключ. Всеки потребител има чифт публичен и частен ключ, като публичният ключ се използва за криптиране и само частният ключ може да дешифрира съобщението.
    • Шифроване в WhatsApp: WhatsApp използва сигналния протокол за криптиране, комбинирайки криптография със симетричен и асиметричен ключ за поверителност, цялост, удостоверяване и неотричане. За обмен на ключове се използват базирани на Curve25519 алгоритми.
    • Криптиране в Instagram: Комуникацията в Instagram е криптирана с помощта на SSL/TLS през порт 443, предотвратявайки подслушването на данни, обменяни между потребителя и сървърите на Instagram.
    • Удостоверяване на SIM картата: Удостоверяването на SIM картата включва проверка на достъпа на SIM картата до мрежата чрез генериране на случаен номер и прилагане на алгоритми като A3 със секретния ключ Ki. Шифроването разчита на алгоритъма A8 и сесийния ключ KC, използван с алгоритъма A5 за криптиране/декриптиране на данни.

    Предизвикателства в криптографията

    • Управлението на ключове остава предизвикателство, тъй като сигурното разпространение и управление на ключове за криптиране е сложно, особено в широкомащабни системи. Механизмите за съхранение и възстановяване на ключове трябва да са стабилни.
    • Симетричната криптография може да стане неефективна, когато много потребители трябва да комуникират сигурно. Всяка двойка потребители изисква уникален ключ, който може да стане тромав с нарастването на броя на потребителите.
    • Асиметричната криптография обикновено изисква по-дълги ключове от симетричната криптография, за да се постигне същото ниво на сигурност. Това може да доведе до по-бавна обработка и повишени изисквания за ресурси.
    • Откриването на уязвимости или слабости в хеш функциите може да доведе до пробиви в сигурността. Криптографската общност трябва непрекъснато да анализира и адаптира хеш функциите, за да смекчи подобни рискове.
    • В приложения, където хеш функциите се използват за съхранение на пароли, е необходимо правилно солиране на пароли, за да се предотвратят атаки с дъгова таблица. Предизвикателството е да се гарантира, че солите са уникални и тайни.
    • Появата на квантовите изчисления представлява значително предизвикателство за света на криптографията. Квантовите компютри са изключително бързи в решаването на специфични математически проблеми, използвайки особените принципи на квантовата физика за тяхната необикновена изчислителна мощ.

    Тази скорост застрашава основата на нашите настоящи криптографски системи, които разчитат на сложността на определени математически предизвикателства, за да гарантират сигурността на данните. Квантовите компютри имат способността да разбиват тези проблеми много по-бързо от конвенционалните компютри, което потенциално компрометира безопасността на нашите методи за криптиране.

    Основните принципи на квантовата механика, които квантовите компютри използват, са наистина необичайни, но им дават силата да изпълняват задачи, които са извън обсега на класическите компютри.

    Следователно необходимостта от разработване на нови криптографски техники, които могат да издържат на квантови атаки, става все по-належаща, създавайки продължаващо предизвикателство в областта на криптографията.

    • Разработването и приемането на алгоритми за постквантова криптография, които са устойчиви на квантови атаки, ще бъде значителна тенденция. Алгоритми като криптография, базирана на решетка, се проучват.
    • Има нарастващо приемане на базираното в облак криптиране и управление на ключове, особено във финансите. Хомоморфното криптиране позволява изчисления върху криптирани данни, без да ги декриптирате. Това може да подобри поверителността в облачните изчисления и обработката на данни.
    • Криптографията играе решаваща роля в осигуряването на блокчейн технологията и двете ще продължат да бъдат преплетени в бъдеще.
    • С повишените регулации за защита на данните, като GDPR, токенизацията се използва по-често в здравеопазването, финансовите услуги и предприятията. Токенизацията заменя действителните данни с токен, който е безполезен за хакерите.

    Заключителни думи

    Криптографията е обширна област с много за изследване и ние само надраскахме повърхността, като покрихме основите на криптографията.

    Разгледахме криптографията, нейните принципи, типове криптография, хеш функции, предизвикателства, бъдещи тенденции и практически приложения.

    И все пак има много повече за откриване.

    Следва Облачна криптография: Уводно ръководство и Google Cloud Case Study.