Я думаю, из того, что я изучил, у меня были правильные рассуждения, но я хотел бы перепроверить. Вот в чем дело:
Даны две матрицы: А и Б
Я вычисляю hashFunction(A, B) = С
Теперь я вычисляю собственные значения Б: µ и ассоциированный вектор Икс
Теперь верно ли следующее уравнение:
C * x = хэш-функция (A, µ) * x = хэш-функция (A, µ*x)
Это правда, учитывая любую хеш-функцию?
Конкретно задана sha256, или функция эллиптической кривой, или любая другая?
РЕДАКТИРОВАТЬ:
Моя цель состоит в том, чтобы, учитывая общедоступную информацию, показать, что я являюсь владельцем информации и предоставляю другую информацию, и избежать того, что, если кто-то перехватит пароль, который я даю, до того, как он дойдет до аудитории, он не сможет использовать его для предоставления другой информации.
Итак, для задачи, которую я дал, данные:
B является общедоступным
ЧТОБЫ аутентифицировать меня, я даю хеш (A, µ) и x
2-е ИЗМЕНЕНИЕ
Ответ на мой вопрос, кажется, зависит от подписи, как описано в Эта бумага. Есть ли у кого-нибудь пример алгоритмов подписи и проверки?
3-е РЕДАКТИРОВАТЬ:
Итак, я кое-что реализовал, можно ли это использовать
encoded_Pwd=str(Input_STR).encode("utf-8")
key=hashlib.md5(encoded_Pwd).hexdigest()
PRIVATE_KEY = base64.urlsafe_b64encode(key.encode("utf-8"))
Затем:
PUBLIC_KEY=sha256(PRIVATE_KEY).hexdigest()