Идентификация с нулевым разглашением не по n = p * q? Суть вопроса в том, что нужно производить идентификацию двух сторон А и Б по протоколу с нулевым разглашением. Думал использовать либо протокол Фиата- Шамира, либо Гиллу- Кискатра. Но там вырабатывается n = p * q, где p и q простые. Это не совсем удобно, нужно проводить идентификацию по любой последовательности цифр и букв.
Если использовать обозначенные два алгоритма, то как лучше преобразовывать численно буквенную последовательность в численную, и потом как из нее получить простое число? использую Python, если кто то тыкнет носом в библиотеку, будет совсем хорошо.

21 Авг 2019 в 06:09
210 +1
1
Ответы
1

Для реализации протокола с нулевым разглашением без использования факторизации числа на простые множители можно воспользоваться так называемой криптографией на эллиптических кривых.

В Python вы можете использовать библиотеку pycryptodome, которая содержит функции для работы с эллиптическими кривыми. Для преобразования буквенной последовательности в численную можно воспользоваться, например, функцией int.from_bytes() для преобразования строк в целые числа.

Процесс идентификации с использованием криптографии на эллиптических кривых может выглядеть следующим образом:

Сторона А выбирает точку на эллиптической кривой и вычисляет открытый ключ.Сторона Б генерирует случайное число и шифрует его открытым ключом А.Сторона А дешифрует сообщение и отправляет его зашифрованное сгенерированным случайным числом обратно стороне Б.Сторона Б проверяет подлинность сообщения с помощью открытого ключа А.

Используя криптографию на эллиптических кривых, вы можете обеспечить безопасную идентификацию двух сторон без необходимости факторизации числа на простые множители.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир