Пришла мне в голову эта идея, и не отпускала, пока я ею не занялся. Возможно, зря я это сделал и зря сюда об этом пишу. Посмотрим.
Итак, есть черновик протокола и черновая же реализация (https://github.com/aitap/flash-mail.git). В некоторых местах там очень необъективно расходуется память, в некоторых можно специально сформированным файлом залезть в файловую систему читающего файл компьютера - это черновик. Зависимости: perl, xz, openssl.
Основная причина, по которой было решено не использовать MIME - необходимость кодировать большие бинарные файлы в текст.
Концепция общения такая: генерируем командой gen-id пару ключей, открытый складываем (export-id) в директорию на флешке. Желающие складывают его себе в keys/. Можно писать личные сообщения командой write (и указывать msgid, на который отвечаешь). Группа (вроде почтовой рассылки) создаётся как пара ключей (они будут использоваться для модерации, если дойдут руки дописать) командой gen-group, открытый ключ публикуется и складывается желающими писать в groups/. После написания сообщения архивируются на флешку (export) и копируются другими людьми (import). Просмотр дерева делается командой list, чтение - show. Если индекс сообщений вдруг сломается, есть команда reindex.
Опасайтесь багов, они повсюду. Значительная часть программы - прикрученный проволокой openssl smime.
В планах - развить программу до эдакой смеси git и gpg, придумать интерактивный протокол (для сетей, где они будут) и сменить openssl и xz на Crypt::*, Digest::* и IO::[Un]Compress::Xz.
Кому интересно?
Чуть не забыл, делается just for fun и никому не нужно. Стандарты всё равно не победить.