Да, это возможно даже без взаимодействия (ничего Бобу не нужно отправлять Алисе). Метод называется «кольцевая подпись».
Допустим, она хочет подписать сообщение типа «Я — Алиса, настоящим подтверждаю Бобу, что я знаю один из ключей».
Она хеширует его, чтобы получить $м$.
Алиса теперь генерирует случайное значение $r_i$ для каждого открытого ключа $k_i$ и шифрует их, чтобы получить $y_i$.
Обратите внимание, что все они $y_i$ являются непредсказуемыми псевдослучайными величинами. Единственный $y_i$ она может выбрать тот, который принадлежит ее ключу $k_j$, она просто выбирает $y_j$ и подпишите его, чтобы получить $r_j$ ($r_j$ выглядит как любые другие случайные данные)
Теперь она может выбрать $y_j$ так что xor всех $y_i$ равно $м$.
Она отправляет сообщение и все $r_i$ Бобу (если порядок не ясен, добавьте примечание, которое $r_i$ к какому ключу относится)
Для проверки Боб просто шифрует каждый $r_i$ с открытым ключом $k_i$ чтобы получить $y_i$, удаляет их все и проверяет, равно ли $м$.
Так как все $y_i$ подобны случайным числам, когда вы не знаете ключ, невозможно подделать подпись, не зная закрытого ключа.
Кроме того, нет способа определить, какой $y_i$ и $r_i$ не был сгенерирован случайным образом, потому что все они выглядят случайными.
Важное РЕДАКТИРОВАТЬ:
Я забыл шаг симметричного шифрования в кольцевой подписи. Между шагами xor должно применяться симметричное шифрование. Это по-прежнему позволяет Эллис восстановить $y_i$ она нужна, но делает атаки сложнее.
Для более подробной информации см. Википедия