Ключ (криптография): Разлика между версии

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
м Робот Добавяне: he:מפתח (קריפטוגרפיה)
корекции
Ред 1: Ред 1:
{{към пояснение|Ключ|Ключ}}
{{към пояснение|Ключ|Ключ}}


'''Ключ''' секретна [[информация]], използвана от криптографичен [[алгоритъм]] при [[шифриране]]/дешифриране на съобщения, подписване и проверка на [[електронен цифров подпис]], изчисляване на [[Код за автентичност|кодовете за автентичност]] ([[Message Authentication Code|MAC]]). При използване на един и същ алгоритъм резултата от шифрирането зависи от ключа. За съвременните алгоритми за силна [[криптография]] загубата на ключа води до практическа невъзможност за разшифриране на информацията.
'''Ключ''' в [[криптография]]та е секретна [[информация]], използвана от криптографски [[алгоритъм]] при [[шифриране]]/дешифриране на съобщения, подписване и проверка на [[електронен подпис]], изчисляване на [[Код за автентичност|кодовете за автентичност]] ([[Message Authentication Code|MAC]]). При използване на един и същ алгоритъм резултатът от шифрирането зависи от ключа. За съвременните алгоритми за силна [[криптография]] загубата на ключа води до практическа невъзможност за дешифриране на информацията.


Съгласно [[Принцип на Кирхов|принципа на Кирхов]], надежността на криптографична система трябва да се определя от скриването на секретните ключове, а не скриването на използваните алгоритми или техните особености.
Съгласно принципа на Кeрховс (Auguste Kerckhoffs), надежността на една криптографска система трябва да се определя от скриването на секретните ключове, а не от скриването на използваните алгоритми или техните особености (т.е. трябва да се допуска, че неприятелят познава алгоритъма, но не знае ключа).


== Дължина на ключа ==
== Дължина на ключа ==
Ред 11: Ред 11:


== Класификация на ключовете ==
== Класификация на ключовете ==
Криптографичните ключове се различават според алгоритмите, в които се изпълняват.
Криптографските ключове се различават според алгоритмите, в които се изпълняват.
* '''Симетрични ключове''' — ключове, използвани в симетрични алгоритми (шифриране, изработване на код за автентичност). Главно свойство на симетричните ключове: за изпълнение както на правото, така и на обратното криптографско преобразуване (шифриране/дешифриране, изчисляване на MAC/проверка на MAC) е необходимо да се използва един и същ ключ . От една страна това осигурява по-висока конфиденциалност на съобщенията, от друга страна затруднява разпространяването на ключове в системи с много потребители.
* '''Симетрични ключове''' — ключове, използвани в симетрични алгоритми (шифриране, изработване на код за автентичност). Главно свойство на симетричните ключове: за изпълнение както на правото, така и на обратното криптографско преобразуване (шифриране/дешифриране, изчисляване на MAC/проверка на MAC) е необходимо да се използва един и същ ключ . От една страна това осигурява по-висока конфиденциалност на съобщенията, от друга страна затруднява разпространяването на ключове в системи с много потребители.
* '''Асиметрични ключове''' — ключове, използвани в асиметрични алгоритми (шифриране, [[Електронен цифров подпис]]); общо взето се явяват '''двойка ключове''', понеже се състоят от два ключа:
* '''Асиметрични ключове''' — ключове, използвани в асиметрични алгоритми (шифриране, [[електронен подпис]]); общо взето се явяват '''двойка ключове''', понеже се състоят от два ключа:
** '''Частен ключ''' ([[:en:Private key]]) — ключ, известен само на притежателя му. Само съхраняването на тайната на частния ключ гарантира невъзможността за фалшификация от злоумишленици на документа и цифровият подпис от името на подписващия.
** '''Частен ключ''' ([[:en:Private key]]) — ключ, известен само на притежателя му. Само съхраняването на тайната на частния ключ гарантира невъзможността за фалшификация от злоумишленици на документа и цифровият подпис от името на подписващия.
** '''Публичен ключ''' ([[:en:Public key]]) — ключ, който може да бъде публикуван и се използва за проверка на истинността на подписания документ, а също така позволява еднозначно и по неоспорим начин да бъде определен подписващия. Публичният ключ се изчислява като стойност на някаква функция от частния ключ, но знанието му не позволява определянето на частния ключ.
** '''Публичен ключ''' ([[:en:Public key]]) — ключ, който може да бъде публикуван и се използва за проверка на истинността на подписания документ, а също така позволява еднозначно и по неоспорим начин да бъде определен подписващия. Публичният ключ се изчислява като стойност на някаква функция от частния ключ, но знанието му не позволява определянето на частния ключ.
Главното свойство на двойката ключове: с частния ключ леко се изчислява публичния ключ, но с известен публичен ключ практически е невъзможно да се изчисли частния.
В алгоритмита на електронния подпис, обикновено се подписва с частния ключ на потребителя, а се проверява с публичния. По такъв начин, всеки може да провери действително ли дадения потребител е поставил подписа. Така асиметричния алгоритъм осигурява не само цялостност на информацията, но и нейната автентичност. При шифриране е обратно, съобщенията се шифрират с публичния ключ, а се разшифрират с частния. Така само адресатът може да разшифрира съобщението и никой друг, дори и изпращача.
Главното свойство на двойката ключове: с частния ключ лесно се изчислява публичния ключ, но с известен публичен ключ практически е невъзможно да се изчисли частния.
В алгоритмите на електронния подпис, обикновено се подписва с частния ключ на потребителя, а се проверява с публичния. По такъв начин, всеки може да провери действително ли дадения потребител е поставил подписа. Така асиметричния алгоритъм осигурява не само цялостност на информацията, но и нейната автентичност. При шифриране е обратно, съобщенията се шифрират с публичния ключ, а се дешифрират с частния. Така само адресатът може да дешифрира съобщението и никой друг, дори и изпращача.
Използването на асиметрични алгоритми премахва проблема с разпространението на ключове в системата, но поставя нови проблеми: достоверността на получените ключове. Тези проблеми се решават успешно с помощта на инфраструктурата за публични ключове (PKI).
Използването на асиметрични алгоритми премахва проблема с разпространението на ключове в системата, но поставя нови проблеми: достоверността на получените ключове. Тези проблеми се решават успешно с помощта на инфраструктурата за публични ключове (PKI).
* '''Сеансови (сесийни) ключове''' — ключове, изработвани между двама потребители, обикновено за защита на канала за връзка.
* '''Сеансови (сесийни) ключове''' — ключове, изработвани между двама потребители, обикновено за защита на канала за връзка.

Версия от 14:52, 4 март 2010

Вижте пояснителната страница за други значения на Ключ.

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

Съгласно принципа на Кeрховс (Auguste Kerckhoffs), надежността на една криптографска система трябва да се определя от скриването на секретните ключове, а не от скриването на използваните алгоритми или техните особености (т.е. трябва да се допуска, че неприятелят познава алгоритъма, но не знае ключа).

Дължина на ключа

Количеството информация в ключа, като правило се измерва в битове.

За съвременните симетрични алгоритми (AES, CAST5, IDEA, Blowfish, Twofish) основна характеристика за криптоусточивост се явява дължината на ключа в битове. Шифрирането с ключове с дължина 128 бита и повече се счита за силно, понеже за дешифрирането на информацията без валиден ключ са необходими много години работа на мощни суперкомпютри. За по-особените асиметрични алгоритми, основани на проблемите в теорията на числата (проблема ФакторизацияRSA, проблема Дискретен логаритъмElgamal) за минимална сигурна дължина на ключа се приема 1024 бита. За асиметричните алгоритми, основани на използването на теорията на елиптичните криви (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минималната сигурна дължина на ключа е 163 бита, но се препоръчва дължина от 191 бита и повече.

Класификация на ключовете

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

  • Симетрични ключове — ключове, използвани в симетрични алгоритми (шифриране, изработване на код за автентичност). Главно свойство на симетричните ключове: за изпълнение както на правото, така и на обратното криптографско преобразуване (шифриране/дешифриране, изчисляване на MAC/проверка на MAC) е необходимо да се използва един и същ ключ . От една страна това осигурява по-висока конфиденциалност на съобщенията, от друга страна затруднява разпространяването на ключове в системи с много потребители.
  • Асиметрични ключове — ключове, използвани в асиметрични алгоритми (шифриране, електронен подпис); общо взето се явяват двойка ключове, понеже се състоят от два ключа:
    • Частен ключ (en:Private key) — ключ, известен само на притежателя му. Само съхраняването на тайната на частния ключ гарантира невъзможността за фалшификация от злоумишленици на документа и цифровият подпис от името на подписващия.
    • Публичен ключ (en:Public key) — ключ, който може да бъде публикуван и се използва за проверка на истинността на подписания документ, а също така позволява еднозначно и по неоспорим начин да бъде определен подписващия. Публичният ключ се изчислява като стойност на някаква функция от частния ключ, но знанието му не позволява определянето на частния ключ.

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

  • Сеансови (сесийни) ключове — ключове, изработвани между двама потребители, обикновено за защита на канала за връзка.