Введение
Алгоритм криптографии с открытым ключом 1999 года
Алгоритм Cayley–Purser — это алгоритм криптографии с открытым ключом, опубликованный в начале 1999 года 16-летней ирландкой Сарой Фланнери, основанный на неопубликованной работе Майкла Пурсера, основателя компании Baltimore Technologies, дублинской компании по обеспечению безопасности данных. Фланнери назвала его в честь математика Артура Кейли. Впоследствии было обнаружено, что он имеет недостатки как алгоритм с открытым ключом, но привлек значительное внимание средств массовой информации.
История
Во время стажировки в Baltimore Technologies Фланнери была ознакомлена с неопубликованной работой Майкла Пёрсера, в которой описывалась новая криптографическая схема с открытым ключом, использующая некоммутативное умножение. Ей было предложено написать реализацию этой схемы на Mathematica. До этого Фланнери участвовала в выставке молодых ученых и технологий ESAT 1998 года с проектом, демонстрирующим уже существующие криптографические методы – от шифра Цезаря до RSA. Это принесло ей награду Intel Student Award, которая включала возможность участия в Международной научной и инженерной ярмарке Intel 1998 года в Соединенных Штатах. Почувствовав необходимость в оригинальной работе для дополнения своего выставочного проекта, Фланнери попросила Майкла Пёрсера разрешения включить в него материалы, основанные на его криптографической схеме. По совету своего отца-математика, Фланнери решила использовать матрицы для реализации схемы Пёрсера, поскольку умножение матриц обладает необходимым свойством – некоммутативностью. Поскольку полученный алгоритм будет основан на умножении, он должен был быть значительно быстрее алгоритма RSA, использующего экспоненциальную операцию. Для своего проекта Intel Science Fair Фланнери подготовила демонстрацию, в которой один и тот же открытый текст шифровался как с помощью RSA, так и с помощью ее нового алгоритма Cayley–Purser, и действительно показала существенное увеличение скорости. Вернувшись на выставку ESAT Young Scientist and Technology Exhibition в 1999 году, Фланнери формализовала время работы алгоритма Cayley–Purser и проанализировала различные известные атаки, ни одна из которых не оказалась эффективной. Фланнери не заявляла, что алгоритм Cayley–Purser заменит RSA, понимая, что любая новая криптографическая система должна выдержать проверку временем, прежде чем ее можно будет признать безопасной. Однако СМИ проявили меньше осторожности, и когда она получила первую премию на выставке ESAT, газеты по всему миру сообщили о том, что юный гений совершил революцию в криптографии. Вскоре после этого была обнаружена атака на алгоритм, но она проанализировала ее и включила в качестве приложения в последующие конкурсы, в том числе в общеевропейский конкурс, где она завоевала престижную награду.
Обзор
Нотация, используемая в данном обсуждении, соответствует нотации, представленной в оригинальной работе Фланнери.
Генерация ключей
Как и RSA, Кейли Пурсер начинает с генерации двух больших простых чисел p и q и их произведения n, являющегося полупростым числом. Далее рассмотрим GL(2,n) – общую линейную группу матриц 2×2 с целочисленными элементами и модульной арифметикой по модулю n. Например, если n=5, мы можем записать:
Эта группа выбрана, поскольку она имеет большой порядок (для большого полупростого n), равный (p²−1)(p²−p)(q²−1)(q²−q). Пусть и – две такие матрицы из GL(2,n), выбранные таким образом, что Выберите некоторое натуральное число r и вычислите:
Публичный ключ – это , , , а приватный ключ – это .