Односторонняя функция с потайным входом: различия между версиями
[непроверенная версия] | [непроверенная версия] |
орфография, дополнение, стилевые правки |
оформление, шаблон, уточнение, обновление данных, дополнение |
||
Строка 8: | Строка 8: | ||
<math>F:\{0,1\}^{l(n)} \times \{0,1\}^{n} \xrightarrow[]{} \{0,1\}^{m(n)}</math> |
<math>F:\{0,1\}^{l(n)} \times \{0,1\}^{n} \xrightarrow[]{} \{0,1\}^{m(n)}</math> |
||
называется односторонней с потайным входом |
называется односторонней с потайным входом, если |
||
# Она является [[односторонняя функция|односторонней]]. |
|||
<math>x, y \xrightarrow[b,c,g]{} z = f_y(x)</math> |
|||
# Существует эффективный алгоритм, который при заданных открытом ключе Y, сообщении M и значении функции вычисляет M‘ такое, что F(M) = F(M‘) для некоторого ключа Z. |
|||
# Для данного сообщения M и функции F(M) трудно найти сообщение M‘≠M такое, что F(M) = F(M‘). |
|||
<math>z, y \xrightarrow[c]{} x = f_y^{-1}(z)</math> |
|||
<math>z, y \xrightarrow[b,g]{} x = f_y^{-1}(z)</math> |
|||
== История == |
== История == |
||
Строка 88: | Строка 86: | ||
== Применение односторонних функций с потайным входом == |
== Применение односторонних функций с потайным входом == |
||
=== RSA === |
|||
Возьмем число <math>K = p*q</math>, где p и q принадлежат множеству простых чисел. Считается, что вычисление числа K является математически трудной задачей. Функция RSA — <math>F(x) = x^e mod(K)</math>, где е - взаимнопростое с <math>(p-1)(q-1)</math>. Числа p и q являются потайным входом, зная которые вычисленить обратную функцию <math>f^{-1}</math> легко. На сегодняшний день лучшей атакой на RSA является попытка факторизовать число K<ref> |
|||
{{cite journal |
|||
|author = Daniel Lerch Hostalot |
|||
|year = 2007 |
|||
|title = Factorization Attack to RSA |
|||
|journal = Hakin9 |
|||
|volume = |
|||
|issue = |
|||
|pages = |
|||
|publisher = |
|||
|language = en |
|||
|doi = |
|||
|pmid = |
|||
|pmc = |
|||
|url = http://hakin9.org/ |
|||
|accessdate= }} |
|||
</ref>. |
|||
=== Фунция Рабина === |
|||
Рассмотрим функцию <math>F(x, n) = x^2 mod(n)</math>, где <math>n = p*q</math>, а p и q принадлежат множеству простых чисел. Рабин показал, что вычислить функцию <math>f^{-1}</math> легко тогда и только тогда, когда разложение на множители составного числа из двух простых является простой задачей. |
|||
=== Другие примеры === |
|||
Известно, что функции, связанные с задачей [[дискретное логарифмирование|дискретного логарифмирования]], не являются односторонними функциями с потайным входом, потому что нет никакой информации о «лазейке», которая позволила бы эффективно вычислять дискретный логарифм. Однако, задача дискретного логарифмирования может использоваться в качестве основы «лазейки», например, [[:en:Computational Diffie-Hellman assumption|вычислительная задача Диффи-Хеллмана (CDH)]] и его разновидности. Семантически безопасная версия [[Схема Эль-Гамаля|схемы Эль-Гамаля]] опирается на [[:en:Decisional Diffie–Hellman assumption|задачу принятия решений Диффи-Хеллмана (DDH)]]. [[DSA|Алгоритм цифровой подписи]] основан на CDH. |
Известно, что функции, связанные с задачей [[дискретное логарифмирование|дискретного логарифмирования]], не являются односторонними функциями с потайным входом, потому что нет никакой информации о «лазейке», которая позволила бы эффективно вычислять дискретный логарифм. Однако, задача дискретного логарифмирования может использоваться в качестве основы «лазейки», например, [[:en:Computational Diffie-Hellman assumption|вычислительная задача Диффи-Хеллмана (CDH)]] и его разновидности. Семантически безопасная версия [[Схема Эль-Гамаля|схемы Эль-Гамаля]] опирается на [[:en:Decisional Diffie–Hellman assumption|задачу принятия решений Диффи-Хеллмана (DDH)]]. [[DSA|Алгоритм цифровой подписи]] основан на CDH. |
||
Строка 99: | Строка 120: | ||
== Литература == |
== Литература == |
||
* {{cite book|author = [[Xavier Boyen]], [[Xiaofeng Chen]] | year = 2011 | title = Provable Security: 5th International Conference | publisher = Springer |
* {{cite book|author = [[Xavier Boyen]], [[Xiaofeng Chen]] | year = 2011 | title = Provable Security: 5th International Conference | publisher = Springer | isbn=9783642243158 | chapter=General Construction of Chameleon All-But-One Trapdoor Functions | pages=257—261}} |
||
* {{cite book|author = [[Giuseppe Longo]] | year = 1983 | title = Secure digital communications | isbn=0-387-81784-0 |chapter=Section 4.2: Cryptographic functions |pages=29—30}} |
* {{cite book|author = [[Giuseppe Longo]] | year = 1983 | title = Secure digital communications | isbn=0-387-81784-0 |chapter=Section 4.2: Cryptographic functions |pages=29—30}} |
||
* {{cite book|author = [[Chris Peikert]], [[Brent Waters]] | year = 2008 | title = Lossy Trapdoor Functions and Their Applications}} |
* {{cite book|author = [[Chris Peikert]], [[Brent Waters]] | year = 2008 | title = Lossy Trapdoor Functions and Their Applications}} |
||
* {{cite book|author = [[Julien Cathalo]], [[Christophe Petit]] | year = 2011 | title = One-time trapdoor one-way functions | publisher = Springer | isbn=9783642181771 |language = en}} |
|||
{{crypto-stub}} |
{{crypto-stub}} |
Версия от 01:16, 11 ноября 2011
Односторонняя функция с потайным входом (англ. trapdoor function) - это функция, которая легко вычисляется в одном направлении, но трудно вычисляется в обратном без специальной информации (секрета), называемой «лазейкой» или «потайным входом». Односторонние функции с потайным входом широко используются в криптографии.
Говоря математическим языком, если F - односторонняя функция с потайным входом, тогда существует секретная информация Y, такая, что при известных F(х) и Y легко вычислить x. Рассмотрим замок и его ключ. Можно изменить состояние замка с открытого на закрытое, не прибегая к использованию ключа, защелкнув дужку замка. Это простая задача. В данном примере ключом является «лазейкой».
Определение
Функция
называется односторонней с потайным входом, если
- Она является односторонней.
- Существует эффективный алгоритм, который при заданных открытом ключе Y, сообщении M и значении функции вычисляет M‘ такое, что F(M) = F(M‘) для некоторого ключа Z.
- Для данного сообщения M и функции F(M) трудно найти сообщение M‘≠M такое, что F(M) = F(M‘).
История
Понятие односторонней функции с потайным входом было введено в середине 1970-х годов после публикации Уитфилдом Диффи, Мартином Хеллманом и Ральфом Меркле статьи об асимметричных методах шифрования (шифрование с открытым ключом). Именно Диффи и Хеллман ввели данный термин[1]. Было предложено несколько классов функций, но скоро стало понятно, что подходящие функции труднее найти, чем считалось изначально. Например, сначала предполагалось использовать функции, основанные на задаче суммы подмножества. Вскоре выяснилось, что этот способ неприемлим.
В 2005 году самыми подходящими кандидатами в односторонние функции с потайным входом являлись функции из классов RSA и Рабина [2]. Эти функции используют возведение в степень по модулю составного числа, и обе они основаны на задаче факторизации целых чисел.
Развитие односторонних функций с потайным входом
Односторонние функции с потайным входом, допускающие потери
Данную функцию впервые ввели Chris Peikert и Brent Waters. Они основаны на идее повреждения значительной части информации.
Такие функции имеют два свойства:
- Повторяют работу обычной односторонней функции с потайным входом, т.е. при наличии «лазейки» позволяет эффективно вычислить x по значению F(x).
- Теряют часть информации о входе, тогда у выхода F(x) существует много прообразов.
Основная особенность в том, что эти два свойства становятся фактически неразличимыми. Зная только зашифрованное сообщение F(x), ни один криптоаналитик не может сказать, какая функция была использована – с потерями или без.
Односторонние функции с потайным входом, допускающие потери применяются во многих схемах шифрования. В их число входят: детерминированное шифрование с открытым ключом, защита от атак выборочного открытого текста и другие.
Односторонние функции с потайным входом «Все, кроме одного»
Для исследований атак, проводимых на основе подобранного шифротекста, были введены односторонние функции с потайным входом "Все, кроме одного".
Каждая функция имеет дополнительный аргумент, называемый ветвью. Все ветви являеются односторонними функциями с потайным входом с одной «лазейкой», за исключением одной - которая является ветвью с потерями. Данная ветвь определяется как параметр функции, причём его значение - скрыто (с точки зрения вычисления) описанием полученной функции.
Применение односторонних функций с потайным входом
RSA
Возьмем число , где p и q принадлежат множеству простых чисел. Считается, что вычисление числа K является математически трудной задачей. Функция RSA — , где е - взаимнопростое с . Числа p и q являются потайным входом, зная которые вычисленить обратную функцию легко. На сегодняшний день лучшей атакой на RSA является попытка факторизовать число K[3].
Фунция Рабина
Рассмотрим функцию , где , а p и q принадлежат множеству простых чисел. Рабин показал, что вычислить функцию легко тогда и только тогда, когда разложение на множители составного числа из двух простых является простой задачей.
Другие примеры
Известно, что функции, связанные с задачей дискретного логарифмирования, не являются односторонними функциями с потайным входом, потому что нет никакой информации о «лазейке», которая позволила бы эффективно вычислять дискретный логарифм. Однако, задача дискретного логарифмирования может использоваться в качестве основы «лазейки», например, вычислительная задача Диффи-Хеллмана (CDH) и его разновидности. Семантически безопасная версия схемы Эль-Гамаля опирается на задачу принятия решений Диффи-Хеллмана (DDH). Алгоритм цифровой подписи основан на CDH.
Односторонние функции с потайным входом имеют очень специфическое применение в криптографии и их не нужно путать с бэкдором (часто одно понятие подменяется другим, но это неправильно). Бэкдор - механизм, который намеренно добавляется к шифровальному алгоритму (например, алгоритм генерации ключевых пар, алгоритм цифровой подписи, и т.д.) или к операционным системам, позволяя одному или нескольким посторонним лицам обходить или подрывать безопасность системы.
См. также
Примечания
- ↑ Diffie W., Hellman M. New directions in cryptography (англ.) // IEEE Information Theory Society. — New York: Institute of Electrical and Electronics Engineers, 1976. — Vol. 22. — P. 644-654. — ISSN 0018-9448. — doi:10.1109/TIT.1976.1055638.
- ↑ Katja Schmidt-Samoa. A New Rabin-type Trapdoor Permutation Equivalent to Factoring and Its Applications (англ.) // Electronic notes in theoretical computer science. — Elsevier, 2006. — Vol. 157. — P. 79-94. — ISSN 1571-0661. — doi:10.1016/j.entcs.2005.09.039.
- ↑ Daniel Lerch Hostalot (2007). "Factorization Attack to RSA". Hakin9 (англ.).
Литература
- Xavier Boyen, Xiaofeng Chen. General Construction of Chameleon All-But-One Trapdoor Functions // Provable Security: 5th International Conference. — Springer, 2011. — P. 257—261. — ISBN 9783642243158.
- Giuseppe Longo. Section 4.2: Cryptographic functions // Secure digital communications. — 1983. — P. 29—30. — ISBN 0-387-81784-0.
- Chris Peikert, Brent Waters. Lossy Trapdoor Functions and Their Applications. — 2008.
- Julien Cathalo, Christophe Petit. One-time trapdoor one-way functions : [англ.]. — Springer, 2011. — ISBN 9783642181771.
Это заготовка статьи по криптографии. Помогите Википедии, дополнив её. |
На эту статью не ссылаются другие статьи Википедии. |