Паспорт для Интернета

Feb 23, 2021 14:13

Итак, раз уж я задал небольшую загадку -- предложу свой вариант решения.

"Электронный паспорт" пользователя Сети состоит из некоторого количества метаданных (имя пользователя, сервер первичной регистрации, и время создания) -- и некоторой последовательности более-менее случайных битов (назовём ее Rand). Из всего этого, с помощью какого-нибудь стандартного алгоритма, вроде SHA/1 -- вычисляется хэш (Hash). Сам паспорт состоит из публичной и приватной компоненты. Разбиваем Rand на две битовые строки равной длины (назовём их RandA и RandB), и разбиваем хэш (на HashA и HashB). Публичная часть паспорта представляет собой (Метаданные + RandA + HashA), приватная -- (те же метаданные + RandB + HashB).

Очевидно, что подделать одну половину паспорта, не зная другую -- весьма трудно.
(При том, что проверить взаимное соответствие двух компонент паспорта -- проще простого.)

Интернет, программирование

Previous post Next post
Up