Post Apuh0DXIOjLX6iHLtY by fa11_1eaf@mastodon.ml
(DIR) More posts by fa11_1eaf@mastodon.ml
(DIR) Post #Apuh04SM9j30wmtmRk by fa11_1eaf@mastodon.ml
2025-01-09T17:54:19Z
0 likes, 0 repeats
Что делают все остальные, когда хотят организовать Тайного Санту, но при этом не хотят знать, кто у кого: находят онлайн-сервисы с необходимым функционалом, регистрируются, кидают ссылку на распределение.Что делаю я...Ну, мне еще в ноябре в 3 ночи пришла довольно интересная идея: решить эту задачу с помощью криптографии. Суть примерно такая: каждый участник генерирует пару RSA-ключей, и отправляет публичный ключ в общее пространство (у нас это была конфа в телеге). Далее программа распределения перемешивает эти ключи, шифрует каждый последующий предыдущим (первый при этом шифруется последним, то есть получается "кольцо"), и, опять же, отправляет результат в общее пространство.Ну и, наконец, каждый участник пытается расшифровать каждую из записей. Та, которую получилось расшифровать, будет содержать публичный ключ подопечного.Я это даже реализовал, заставил участвовать в этом своих друзей, и все прошло успешно! (последнее прямо неожиданность).
(DIR) Post #Apuh05ziRBKHiXVw5A by dump_stack@lor.sh
2025-01-09T18:05:31Z
0 likes, 0 repeats
@fa11_1eaf, и в том и в другом случае автор сервиса знает о том, кто кому дарит подарки. Криптография в этой схеме только добавляет бессмысленные действия.
(DIR) Post #Apuh0DXIOjLX6iHLtY by fa11_1eaf@mastodon.ml
2025-01-09T17:57:07Z
0 likes, 0 repeats
И обозвал я все это "Криптосанта".Кстати, с точки зрения пользователей все было не так сложно: я постарался упростить это до создания и чтения файлов в приложении с GUI.Если кому-нибудь будет интересно, готов скинуть сырцы. Под капотом там Go (хотя он меня, если честно, немного разочаровал), Fyne, Protobuf, RSA и AES (шифрование реализовал гибридное).
(DIR) Post #Apuh8pDw9x9eJJKQrI by fa11_1eaf@mastodon.ml
2025-01-09T18:07:07Z
0 likes, 0 repeats
@dump_stack в моем случае я как организатор имел возможность не подсматривать :DНо вообще да, в идеале оно должно работать так, чтобы никто ничего не знал, кроме своего подопечного, однако же мне в голову не пришло ни одного решения
(DIR) Post #ApuoG4N2wQUYzgzUf2 by dump_stack@lor.sh
2025-01-09T19:26:53Z
0 likes, 0 repeats
@fa11_1eaf, если «имел возможность не подсматривать», то у тебя тут прямо каноничный театр безопасности вышел — решение эквивалентно просто генерации списка скриптом, отправки каждому в ЛС, и удаления сообщения со своей стороны :D> в идеале оно должно работать так, чтобы никто ничего не знал, кроме своего подопечногоЕсли не предполагать саботаж, то самое простое, что пришло в голову:1. Каждый участник генерирует пару ключей (публичный/приватный);2. Участники через TOR отправляют публичные ключи сервису;3. Сервис формирует пары даритель-получатель;4. Каждый участник зашифровывает своё имя публичным ключом своего дарителя;5. Зашифрованные сообщения публикуются.
(DIR) Post #Apv89xDwb9laAs5vyS by fa11_1eaf@mastodon.ml
2025-01-09T23:09:51Z
0 likes, 0 repeats
@dump_stack ну то есть по сути почти как у меня, за исключением того, что распределяющий сервис не знает соответствий ключей.Спасибо, принимается, на следующий новый год сделаю как ты предложил