Односторонние функции

advertisement
Односторонние функции
Что такое криптография?
Традиционный подход: как обеспечить секретность сообщения
Алиса и Боб разговаривают, Ева пытается подслушать
Bob
Alice
Eve
Базовые определения
Сообщение
Key1
Шифрование
Ekey1(M) = C
Криптограмма
Key2
Расшифрование
Dkey2(C) = M
Исходное сообщение
• Симметричные системы: Key1 = Key2
• Открытые или ассимметричные системыetric: Key1
Key2
Key1 или Key2 являются публичными (открытыми) в
зависимости от протокола
Что означает конфиденциальность?
• Абсолютная стойкость: Зашифрованное
сообщение невозможно расшифровать без знания
ключа
• Шеннон (1943 г.) показал, что длина ключа должна
быть не меньшей, чем длина сообщения для
абсолютной стойкости системы (теория
информации)
• Одноразовый блокнот (использовался во время
Второй мировой войны)
• Вычислительная стойкость: Зашифрованное
сообщение невозможно прочитать без знания
ключа, используя современные вычислительные
• Не существует вероятностного полиномиального
алгоритма, способного взломать зашифрованное
сообщение.
ВВЕДЕНИЕ
• Односторонняя функция – это функция,
которая легко вычисляется, но которую
трудно инвертировать
• Два свойства односторонней функции f
- Легко вычислимая
- Трудно инвертируемая
ВВЕДЕНИЕ
• Односторонняя функция – это функция,
которая легко вычисляется, но которую
трудно инвертировать
• Два свойства односторонней функции f
- Легко вычислимая
Существует полиномиальный алгоритм, который по входу x
дает на выходе y=f (x)
- Трудно инвертируемая
Всякий вероятностный полиномиальный алгоритм,
пытающийся по входу y найти обратное значение f , будет
иметь успех с ничтожно малой вероятностью.
Виды односторонней функции
• Сильная односторонняя функция:
Функция, которая легко вычисляется, но которую
трудно инвертировать. Всякий эффективный
алгоритм не способен инвертировать функцию.
• Слабая односторонняя функция:
Функция, которая легко вычисляется, но которую
почти невозможно инвертировать. Все эффективные
инвертирующие алгоритмы не могут инвертировать
такую
функцию
с
некоторой
ненулевой
вероятностью.
Виды односторонней функции
• С фиксированной длиной
• С переменной длиной
Функции-кандилаты
1.
Разложение целых:
Время, необходимое для разложения целого числа N сильно
зависит от второго наибольшего делителя P заданного числаr
N. Функцию f = x. y
- произведение целых x и y можно
вычислить за полиномиальное время. Однако можно
показать, что эта функция сильная односторонняя.
2.
Декодирование случайного линейного кода
Литература
•
•
•
•
•
1. Lane A. Hemaspaandra and Joerg Rothe. Creating strong, total,
commutative, associative one-way functions from any one-way function in
complexity theory. Journal of Computer and System Sciences, 58(3):
648—659, 1999.
2. Lane A. Hemaspaandra, Kari Pasanen, Joerg Rothe. If P  NP Then
Some Strongly Noninvertible Functions are Invertible. In Proceedings of
the 13th International Symposium on Foundations of Computation Theory,
pages 162—171. Springer-Verlag Lecture Notes in Computer Science
#2138, August 2001.
3. Christopher M. Homan and Mayur Thakur. One-Way Permutations and
Self-Witnessing Languages. In Proceedings of the 2nd IFIP International
Conference on Theoretical Computer Science, pages 243—254. Kluwer
Academic Publishers, 2002.
4. Christopher M. Homan. Low Ambiguity in Strong, Total, Associative,
One-Way Functions. Technical Report TR734, Department of Computer
Science, University of Rochester, August 2000.
5. Joerg Rothe and Lane A. Hemaspaandra. Characterizing the Existence
of Partial One-Way Permutations. Information Processing Letters, 82(3):
165—171, 2002.
Download