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