Шифроване на публичен ключ: определения, характеристики и типове алгоритми

Идеята за кодиране с публичен ключ за първи път е въведена в Станфордския университет през 1976 г. от М. Хелман, Р. Меркъл и В. Дифи.

Два вида алгоритми на РКС са: RSA е съкращение, наречено след изобретателите: Rivest, Shamir и Adelman, и DSA (алгоритъм за цифров подпис). PKC криптирането се развива, за да отговори на нарастващите, сигурни комуникационни нужди на много сектори и индустрии, особено военни. За разлика от криптографията със симетричен ключ, криптирането с публичен ключ е сравнително нова концепция.

Етапи на формиране на криптосистемата

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


Етапи на процеса на създаване:
  • 1977. Изобретен от РСА от група програмисти Р. Ривест, А. Шамир и Л. Ключи.
  • 1978. Macelis е създаден поради проблеми с декодирането на Goppa кодовете.
  • 1979. Въз основа на проблема с факторинга и свързаните с RSA въпроси, Рабин излезе.
  • 1984 г. Издаден от Chor-Rivest.
  • 1985. Елгамал излезе на дискретен логаритъм.
  • Други асиметричникриптосистеми:
  • Елиптичен метод, основан на елиптични криви, наподобяващи Elgamal.
  • Merkle /Hellman - Въз основа на задачата на раницата LUC, като RSA, тя образува последователността на Lucas.
  • MNLN е същата като RSA.
  • Принцип на кодиране, предимства и недостатъци

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


    С помощта на системата за шифроване с публичен ключ всеки може да шифрова информацията за собственика на публичния ключ. Следователно съобщението се декриптира от секретния ключ на получателя. Затова е толкова важно ключът да остане в тайна. Неговият притежател може да дешифрира всички съобщения, кодирани от други, собствения им публичен ключ. Такива криптосистеми се използват за шифроване на данни от публични ключове, удостоверяване и цялостност. Известни примери, базирани на асиметрични методи, са OpenPGP или S /MIME, както и криптографски протоколи като SSH, SSL /TLS и дори https на базата на асиметрични криптосистеми. Предимства:
  • Относително висока безопасност.
  • Нямате нужда от толкова ключове, колкото в симетричния метод на криптиране, така ченай-малко усилия за създаване на секретност.
  • Няма проблем с прехвърлянето на ключове.
  • Възможност за удостоверяване с цифрови подписи.
  • Недостатъците на системите за шифроване с публичен ключ са:
  • Алгоритмите работят много бавно: приблизително 10 000 пъти по-бавно от симетричните.
  • Голяма необходима дължина на ключа.
  • Проблеми с множество потребители, когато съобщението трябва да бъде допълнително кодирано.
  • Хибридни процедури.
  • За всеки публичен ключ е налице риск за сигурността, който е и недостатък на системите за шифроване с публичен ключ.
  • Асиметрична криптография

    PKC е известен също като криптиране с публичен ключ, асиметрично криптиране, асиметрична криптография, асиметричен шифър, асиметрично криптиране на криптиращите ключове на Дифи-Хелман. PKC е криптографски алгоритъм и криптосистемна компонента, внедрена от различни интернет стандарти, включително TLS, Pretty Good Privacy (PGP), GNU Защита на личните данни (GPG), Secure Socket Layer (SSL) и HTTP , PKC осигурява сигурна връзка през опасен канал, който ви позволява да четете съобщения само от целевия получател. Например, А използва отворен ключ Б за криптиране на съобщение, което може да бъде декриптирано с помощта на уникален частен ключ. БКК поддържа поверителност на електронната поща и осигурява защитена комуникация, когато съобщенията са в движение или се съхраняват на пощенските сървъри. PKC е също DSA компонент,който се използва за удостоверяване на секретен ключ, който може да бъде проверен от всяко лице с легитимен достъп до публични ключове. Така PKC улеснява конфиденциалността, целостта на данните и удостоверяването, които формират ключови информационни параметри (IA).
    PKC е по-бавен от криптографските методи на секретен ключ (или симетрична криптография) поради високите изчислителни изисквания. Това е явна липса на системи за криптиране с отворен код. За разлика от симетричната криптография, PKC използва фиксиран размер на буфера, в зависимост от специфичните и малки обеми данни, които могат да бъдат криптирани и не са свързани в нишки. Тъй като се използва широк спектър от възможни ключове за криптиране, РКС е по-надежден и по-малко податлив на опити за нарушаване на сигурността.

    Метод на публичния ключ

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

    Генерация двойки RSA

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

  • Генериране на RSA (n) модул.
  • Избират се два прости числа p и q.
  • Намери производно число e. Числото e трябва да бъде по-голямо от 1 и по-малко (p - 1) (q - 1). За e и (p - 1) (q - 1) не трябва да има общ фактор, различен от 1.
  • Извършване на криптиране чрез публичния ключ.
  • Чифт числа (n, e) образува публичен ключ на RSA. Въпреки че n е част от отворен ключ, трудността при факторизирането на такъв брой гарантира, че нападателят не може да намери в крайното време два прости числа (p & q), използвани за получаване на n. Това разбиране е основата на RSA.
  • ​​
    Създаването на секретен ключ е както следва. Частният ключ d се изчислява от p, q и e. За дадени n и e има уникален номер d. Числото d е инверсията e по модул (p - 1) (q - 1). Това означава, че d е число, по-малко от (p - 1) (q - 1), но такова, че когато се умножи по e, то е 1 по модул (p - 1) (q - 1). Това съотношение се записва математически, както следва: ed = 1 mod (p - 1) (q - 1). Разширеният евклидов алгоритъм приема p, q и e като вход и дава d като заключение. По-долу е даден пример за чифт RSA ключ. За по-лесно разбиране, простите числа p & amp; q, взето тук, са малки стойности. На практика тези стойности трябва да бъдат много значими.
    Алгоритъм за изчисление:
  • Нека две прости числа да са равни на p = 7 q = 13.Така модулът n = pq = 7 x 13 = 91.
  • Изберете е = 5 като валиден избор, тъй като няма число, което е общ фактор 5 и (p - 1) (q - 1) = 6 x 12 = 72 с изключение на 1. Чифт числа (n, e) = (91 5) формират отворен ключ и могат да бъдат достъпни за всички, които трябва да изпращат криптирани съобщения. Входът p = 7 q = 13 и e = 5. Изходът ще бъде равен на d = 29.
  • Убедете се, че изчисленият d е правилен - de = 29 x 5 = 145 = 1 mod 72.
  • Така публичният ключ е (91 5) и частният ключ (9129).
  • Криптиране и декриптиране

    Освен това процесът на криптиране и декриптиране е сравнително прост и лесен за изчисляване. Интересното е, че RSA не работи директно с битови линии, както в случая на симетричен метод. Работи с модули n. Следователно е необходимо да се представи открит текст, като поредица от числа, по-малка n. RSA криптиране:
  • Да приемем, че подателят иска да изпрати текстово съобщение на някого, отворен ключ (n, e).
  • След това подателят представя отворения текст като поредица от числа, по-малки от n.
  • Шифрирайте първия отворен текст P, който е число от модул n. Процесът на криптиране е проста математическа стъпка, C = Pe mod n. С други думи, криптираният текст C е равен на отворения текст P, умножен по e пъти, и след това се редуцира до modulo n. Това означава, че С е по-малко от n. Връщайки се към примера за генериране на ключове с отворен код, P = 10, получаваме криптирания текст: C = 105 mod 91. RSA декриптиране:
  • Процесът на RSA декриптиране също е много прост. Да приемем, че получателят на двойката ключове (n, e) има текста C.
  • Приемникът повишава стойността на C за ключа d. Резултатът от модул n ще бъдеотворен текст P: Plaintext = Cd mod n.
  • Връщайки се отново към цифров пример, криптираният текст C = 82 се декриптира до 10, използвайки частния ключ 29: Plaintext = 8229 mod 91 = 10.
  • Сигурността на RSA зависи от силните страни на двете отделни функции. RSA криптосистемата е най-популярната криптосистема с публичен ключ, която се основава на практическата сложност на факторизиране на големи числа. Функцията за криптиране се счита за еднопосочна функция за конвертиране на отворен текст в шифрован текст и може да бъде отменена само с използване на секретен ключ d. Сложността на определяне на отворен и затворен RSA криптиращ ключ е еквивалентна на факторизацията на модула n. По този начин, нападателят не може да използва знанието на RSA публичния ключ, за да определи тайния RSA ключ, освен ако не може да определи n. Това също е еднопосочна функция, преходът от стойностите на p & amp; q до модул n е лесно, но обратното не е възможно. Ако някоя от тези две функции не е едностранна, се нарушава RSA. Всъщност, ако технологията за факторинг е ефективно развита, RSA вече няма да бъде безопасна. Силата на RSA криптиране рязко намалява срещу атаки, ако числата p и q не са прости числа, или избраният публичен ключ e е малък брой.

    Криптосистема ElGamal

    Наред с RSA съществуват и други криптосистеми с публични ключове. Много от тях са базирани на различни версии на проблема с дискретни логаритми. Криптосистемата ElGamal, наречена вариант на елиптичната крива, също се основава на проблема за дискретен логаритъм. Той получава силата на защита спредположението, че дискретни логаритми не могат да бъдат намерени в практически интервал от време за дадено число, докато действието на обратната мощност може да се изчисли ефективно. Например, проста версия на ElGamal, която работи с номера от modulo p. В случай на варианти на елиптичната крива, методът се основава на напълно различни системи за изчисление. Всеки потребител на криптосистемата ElGamal генерира двойка ключове, както следва:
  • Избор на голям премиер p. Обикновено се избира просто число от 1024 до 2048 бита.
  • Избор на генераторния елемент g. Това число трябва да бъде от 1 до p-1.
  • Това е генератор на мултипликативна група от числа по модул р. Това означава, че за всяко цяло число m co-prime с p съществува цяло k, gk = mod. Например, 3 е генератор на група 5 (Z 5 = {123 4}).


  • N



    3 n



    3 n mod 5


    82) 1



    3



    3



    2


    )
    9



    4



    3



    27



    2



    4



    81



    1
    128) Избор на секретен ключ. Частният ключ x е всяко число, по-голямо от 1 и по-малко от (p-1). Изчисляване на част от публичния ключ. Стойността y се изчислява от параметрите p, g и частния ключ x както следва: y = gx mod p. Получаване на публичния ключ. Отвореният ключ ElGamal се състои от три параметъра (p, g, y): Предположим например, че p = 17 и g = 6. Може да се твърди, че 6 е генератор на група Z 17. Частният ключ x може да бъде всяко число, по-голямо от 1. и по-малко от 71 следователно изберете x = 5. Тогава стойността на y се изчислява, както следваначин: y = 65 mod 17 = 7. По този начин частният ключ е равен на 62 и публичният ключ е (1767).

    ECC на елиптичната крива

    Елиптичната крива на криптографията (ECC) е термин, използван за описание на набор от криптографски инструменти и протоколи, чиято сигурност се основава на специални версии на проблема с дискретни логаритми. Той не използва числата по модул p. ECC се основава на групи от числа, свързани с математически обекти, наречени елиптични криви. Съществуват правила за добавяне и изчисляване на множество от тези номера, както и за номера по модул p. ECC включва варианти на много криптографски схеми, които първоначално са били разработени за модулни номера, като криптиране ElGamal, алгоритми за шифроване с публичен ключ и цифрови подписи. Смята се, че проблемът на дискретен логаритъм е много по-сложен по отношение на точките на елиптичната крива. Това води до преход от числата по модул "p" към точките на елиптичната крива. Еднакво ниво на сигурност може да се получи и с по-къси ключове, когато се използват елиптични криви. По-кратките ключове водят до две предимства на криптирането на информацията от публичния ключ:
  • Лесно управление на ключовете.
  • Ефективно изчисление.
  • Тези предимства правят емпиричните схеми за шифроване много привлекателни за приложения с ограничени изчислителни ресурси. Можете бързо да сравнявате схеми на RSA и ElGamal от различни аспекти.

    RSA



    ЕлГамал



    По-ефективно за криптиране.



    По-ефективно задекриптиране.



    По-малко ефективни за декодиране.



    По-ефективно за декриптиране.



    За определено ниво на сигурност RSA изисква дълги ключове.



    За същото ниво на сигурност са необходими много къси ключове.



    Методът е широко използван.



    Новият метод все още не е много популярен на пазара.

    Secure Sockets Layer Protocol (SSL)

    Интернет трафикът, който предава информация чрез междинни компютри, може да бъде прихванат от трета страна:
  • Подслушване. Информацията остава незасегната, но нейната конфиденциалност е компрометирана. Например, някой може да събира номера на кредитни карти, да записва конфиденциален разговор или да задържа чувствителна информация.
  • Фалшифициране. Информацията на пътя се променя или заменя и след това се изпраща на получателя. Например, някой може да промени реда на стоките или да промени автобиографията на дадено лице.
  • Олицетворение. Информацията се предоставя на лицето, което представлява получателя.
  • Олицетворението може да има две форми:
  • Замяна. Човек може да се преструва, че е някой друг.
  • Изкривяване. Човек или организация могат да изкривят себе си. Например, даден сайт може да се класира за онлайн магазин за мебели, когато всъщност получава плащания с кредитни карти, но никога не изпраща никакви елементи.
  • Криптографията с публичен ключ осигурява защита срещу интернет атаки.

    Алгоритъм за кодиране и неговите предимства за сигурност

    Не е уместно да се изчислява частен ключвъз основа на публичен ключ. Поради това публичните ключове могат да бъдат свободно използвани, което позволява лесно и удобно използване на криптиране на съдържанието и проверка на цифровия подпис, а секретните ключове могат да се пазят в тайна, като се гарантира, че само притежателите на частни ключове могат да декриптират съдържание и да създават цифрови подписи. Тъй като публичните ключове трябва да бъдат разделени, но твърде големи, за да бъдат лесно запомнени, те се съхраняват в цифрови сертификати за безопасно транспортиране и споделяне. Частните ключове не се използват заедно, те се съхраняват просто в използвания софтуер или операционна система, или на хардуер, например USB токени, хардуер, който съдържа драйвери, които позволяват използването му със софтуер или операционна система. Цифровите сертификати се издават от организации, известни като сертифициращи центрове (CA). Основните бизнес приложения за криптография с публичен ключ са:
  • Цифрови подписи - съдържанието на цифров подпис с частен ключ се проверява от публичния ключ на потребителя.
  • Шифроването - съдържанието се криптира с публичен ключ и може да се декриптира само с частния ключ на потребителя.
  • Ако се приеме, че частен ключ не е компрометиран, криптирането на данни и съобщения осигурява следните предимства за сигурността:
  • Поверителност - тъй като съдържанието е криптирано с публичния ключ на потребителя, то може да бъде декриптираносамо с помощта на частен ключ, гарантиращ, че само предназначеният получател може да дешифрира и прегледа съдържанието.
  • Интегритет - част от процеса на декриптиране включва проверка дали съдържанието на оригиналното криптирано съобщение и новото декодирано съвпадение, така че дори и най-малката промяна в изхода ще доведе до отказ на процес.
  • Инфраструктура на отворен инструмент

    ​​
    Инфраструктурата на публичните ключове (PKI) е фонова киберсигурност и събитие, което се описва като набор от правила, политики и процедури, необходими за създаването, управлението, разпространението, използването, съхранението и изземването на цифрови сертификати. PKI базиран на асиметрична криптография днес се използва широко за предоставяне на електронни съобщения за онлайн покупки, интернет банкиране и електронна поща, както и за защита на комуникациите между милиони потребители и уебсайтовете, с които се свързват преди да използват HTTPS. Въпреки че е лесно да се шифрират съобщения без PKI, потребителят не може лесно да провери с кого комуникира. С други думи, PKI инфраструктурата му помага да удостовери или потвърди лицето, с което комуникира. Типична PKI екосистема включва следните ключови компоненти:
  • Политиката за сертифициране е спецификация за сигурност, която определя структурата и йерархията на PKI екосистемата, както и политики, свързани с управлението на ключовете, безопасното съхранение, обработката и анулирането.
  • Коренният сертифициращ орган (CA) е отговорен за удостоверяване на самоличността всистемата.
  • Междинният CA е сертифициран от root CA за специфични цели, определени от политиката за сертификати.
  • Цифровите сертификати обикновено се издават и подписват от сертифициращите центрове.
  • Базата данни на сертификатите съхранява техните записи.
  • Услугата за анулиране е сървър, който публикува ревизирани CRL или онлайн протокол за статут на сертификат (OCSP), които използват CRL и отговарят на проверки за отмяна на устройства, които не могат да се справят със самите CRL.
  • По този начин асиметричните криптосистеми се използват за криптиране, удостоверяване и цялостност. Ако нападателят няма ключ за шифроване с публичен ключ, той никога няма да може да използва тайните данни. Добре известни примери, базирани на асиметрични методи, са OpenPGP или S /MIME. Но криптографски протоколи като SSH, SSL /TLS или дори https са базирани на асиметрични криптосистеми.

    Свързани публикации