Функція формування ключа: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Olesandra (обговорення | внесок)
м дрібні орфографічні помилки
 
(Не показано 3 проміжні версії 3 користувачів)
Рядок 1: Рядок 1:
'''Функція формування ключа''' ({{Lang-en|key derivation function}}, KDF) — функція, що формує один або кілька [[Ключ (криптографія)| секретних ключів]] на основі секретного значення (головний ключ, [[пароль]] або парольна фраза) з допомогою псевдовипадкової функції.<ref>{{Cite book|url=https://books.google.com/books?id=vYxzh3C6OPUC&pg=PA185|title=Privacy and Identity Management for Life|last=Bezzi, Michele|year=2011|editor-last=Camenisch, Jan|editors=Camenisch, Jan|publisher=Springer|pages=185–186|chapter=Data privacy|isbn=9783642203176}}Вказано більш, ніж один <code>&#x7C;editors=</code> та <code>&#x7C;editor-last=</code> ([[Довідка:Помилки посилань на джерела#redundant parameters|довідка]])
'''Функція формування ключа''' ({{Lang-en|key derivation function}}, KDF) — функція, що формує один або кілька [[Ключ (криптографія)|секретних ключів]] на основі секретного значення (головний ключ, [[пароль]] або парольна фраза) з допомогою псевдовипадкової функції.<ref>{{Cite book|url=https://books.google.com/books?id=vYxzh3C6OPUC&pg=PA185|title=Privacy and Identity Management for Life|last=Bezzi, Michele|year=2011|editors=Camenisch, Jan|publisher=Springer|pages=185–186|chapter=Data privacy|isbn=9783642203176}}</ref><ref>{{Cite web|url=https://www.ietf.org/rfc/rfc2898.txt|title=RFC 2898 -- PKCS #5: Password-Based Cryptography Specification, Version 2.0|last=Kaliski, Burt|last2=[[RSA Laboratories]]|website=IETF}}</ref> Функція формування ключа може використовуватися для створення ключа необхідної довжини або заданого формату. Прикладом цього може служити перетворення секретного ключа, отриманого як результат [[Протокол Діффі-Геллмана|протоколу Діффі Хеллмана]], симетричний ключ для використання в алгоритмі [[Advanced Encryption Standard|AES]]. Часто псевдовипадковою функцією для формування ключа використовуються [[Криптографічна геш-функція|криптографічні хеш-функції]].<ref>{{Cite book|url=https://books.google.com/books?id=2D50GNA1ULsC&pg=PA252|title=Hacking and Securing IOS Applications: Stealing Data, Hijacking Software, and How to Prevent It|last=Zdziarski, Jonathan|year=2012|publisher=O'Reilly Media|pages=252–253|isbn=9781449318741}}</ref>
[[Категорія:Сторінки з посиланнями на джерела з зайвими параметрами]]</ref><ref>{{Cite web|url=https://www.ietf.org/rfc/rfc2898.txt|title=RFC 2898 -- PKCS #5: Password-Based Cryptography Specification, Version 2.0|last=Kaliski, Burt|last2=[[RSA Laboratories]]|website=IETF}}</ref> Функція формування ключа може використовуватися для створення ключа необхідної довжини або заданого формату. Прикладом цього може служити перетворення секретного ключа, отриманого як результат [[Протокол Діффі-Геллмана| протоколу Діффі — Хеллмана]], симетричний ключ для використання в алгоритмі [[Advanced Encryption Standard| AES]]. Часто в якості псевдовипадкової функції для формування ключа використовуються [[Криптографічна геш-функція| криптографічні хеш-функції]].<ref>{{Cite book|url=https://books.google.com/books?id=2D50GNA1ULsC&pg=PA252|title=Hacking and Securing IOS Applications: Stealing Data, Hijacking Software, and How to Prevent It|last=Zdziarski, Jonathan|year=2012|publisher=O'Reilly Media|pages=252–253|isbn=9781449318741}}</ref>


Деякі широко використовувані алгоритми формування ключа: [[bcrypt]], [[PBKDF2]], [[scrypt]].
Деякі широко використовувані алгоритми формування ключа: [[bcrypt]], [[PBKDF2]], [[scrypt]].


== Використання ==
== Використання ==
Функція формування ключа часто використовується в зв'язці з несекретними параметрами для отримання одного або декількох [[Ключ (криптографія)| секретних ключів]] на основі загального секретного значення. Таке застосування може зашкодити зловмиснику, що заволодів сформованим ключем, отримати інформацію про вихідне секретне значення або про будь-який зі сформованих ключів. Функція формування ключа може застосовуватись для генерації ключа, що задовольняє бажаним заданим властивостями (наприклад, виключення слабких ключів у деяких шифрувальних системах).
Функція формування ключа часто використовується в зв'язці з несекретними параметрами для отримання одного або декількох [[Ключ (криптографія)|секретних ключів]] на основі загального секретного значення. Таке застосування може зашкодити зловмиснику, що заволодів сформованим ключем, отримати інформацію про вихідне секретне значення або про будь-який зі сформованих ключів. Функція формування ключа може застосовуватись для генерації ключа, що задовольняє бажаним заданим властивостями (наприклад, виключення слабких ключів у деяких шифрувальних системах).


Функції формування ключа на основі пароля часто використовуються для хешування паролів та їхньої подальшої верифікації. У такому випадку, несекретный параметр, що використовується у зв'язці з секретним паролем, називається «<nowiki/>[[Сіль (криптографія)|сіль]]<nowiki/>». У 2013 році був анонсований незалежний відкритий конкурс Password Hashing Competition{{iw|Password Hashing Competition}} з розробки нової функції хешування паролів. Конкурс завершився 20 листопада 2015 року, переможцем став алгоритм [[Argon2]]<ref>[https://password-hashing.net/ «Password Hashing Competition»]</ref>. Крім переможця, чотири алгоритми були нагороджені спеціальною відзнакою: Catena, Lyra2, Makwa і yescrypt.
Функції формування ключа на основі пароля часто використовуються для хешування паролів та їхньої подальшої верифікації. У такому випадку, несекретный параметр, що використовується у зв'язці з секретним паролем, називається «<nowiki/>[[Сіль (криптографія)|сіль]]<nowiki/>». У 2013 році був анонсований незалежний відкритий конкурс {{iw|Password Hashing Competition}} з розробки нової функції хешування паролів. Конкурс завершився 20 листопада 2015 року, переможцем став алгоритм [[Argon2]]<ref>[https://password-hashing.net/ «Password Hashing Competition»]</ref>. Крім переможця, чотири алгоритми були нагороджені спеціальною відзнакою: Catena, Lyra2, Makwa і yescrypt.


== Дивись також ==
== Дивись також ==
Рядок 16: Рядок 15:
== Примітки ==
== Примітки ==
{{reflist}}
{{reflist}}

{{Геш-функції та коди аутентифікації повідомлення}}
[[Категорія:Криптографія]]
[[Категорія:Криптографія]]

Поточна версія на 09:33, 18 квітня 2024

Функція формування ключа (англ. key derivation function, KDF) — функція, що формує один або кілька секретних ключів на основі секретного значення (головний ключ, пароль або парольна фраза) з допомогою псевдовипадкової функції.[1][2] Функція формування ключа може використовуватися для створення ключа необхідної довжини або заданого формату. Прикладом цього може служити перетворення секретного ключа, отриманого як результат протоколу Діффі — Хеллмана, симетричний ключ для використання в алгоритмі AES. Часто псевдовипадковою функцією для формування ключа використовуються криптографічні хеш-функції.[3]

Деякі широко використовувані алгоритми формування ключа: bcrypt, PBKDF2, scrypt.

Використання

[ред. | ред. код]

Функція формування ключа часто використовується в зв'язці з несекретними параметрами для отримання одного або декількох секретних ключів на основі загального секретного значення. Таке застосування може зашкодити зловмиснику, що заволодів сформованим ключем, отримати інформацію про вихідне секретне значення або про будь-який зі сформованих ключів. Функція формування ключа може застосовуватись для генерації ключа, що задовольняє бажаним заданим властивостями (наприклад, виключення слабких ключів у деяких шифрувальних системах).

Функції формування ключа на основі пароля часто використовуються для хешування паролів та їхньої подальшої верифікації. У такому випадку, несекретный параметр, що використовується у зв'язці з секретним паролем, називається «сіль». У 2013 році був анонсований незалежний відкритий конкурс Password Hashing Competition[en] з розробки нової функції хешування паролів. Конкурс завершився 20 листопада 2015 року, переможцем став алгоритм Argon2[4]. Крім переможця, чотири алгоритми були нагороджені спеціальною відзнакою: Catena, Lyra2, Makwa і yescrypt.

Дивись також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Bezzi, Michele (2011). Data privacy. У Camenisch, Jan (ред.). Privacy and Identity Management for Life. Springer. с. 185—186. ISBN 9783642203176.
  2. Kaliski, Burt; RSA Laboratories. RFC 2898 -- PKCS #5: Password-Based Cryptography Specification, Version 2.0. IETF.
  3. Zdziarski, Jonathan (2012). Hacking and Securing IOS Applications: Stealing Data, Hijacking Software, and How to Prevent It. O'Reilly Media. с. 252—253. ISBN 9781449318741.
  4. «Password Hashing Competition»