Does anybody care about people in Yemen? Such a fuzz about a stupid group chat while the big story could also be the airstrike and murder of people. What happened in Yemen?
teri
There's nothing stopping you from using GPL.
But there is a culture - I think even explicit - of using MIT or APACHE licensing. In some sense is okay, because it simplifies crate compatibility. But it comes at the cost of feeding the usual suspects who now obviously turn against humanity.
My unconfirmed suspicion is that there are forces behind (Google, Microsoft, Amazon, Meta) who like permissive licenses because this makes it easier for them to exploit the work of the public.
Maybe you could also consider to extend an existing good PQC protocol (for example https://signal.org/docs/specifications/pqxdh/) by adding a shared secret. The shared secret could flow into the key derivation functions which are used to derive the symmetric encryption keys. This way you would have quite strong guarantees (forward secrecy) as long as nobody can break the PQC algorithm and still some guarantee of confidentiality when somebody breaks asymmetric primitives. In the protocol you outlined now, there's no forward secrecy. Meaning that once a key is compromised, all past and future messages can be decrypted.
Interesting :)
A few quick questions & comments:
-
I don't quite understand "If all users accept the introduction, a list of contacts is sent for each contact pair. These contacts are not used for messaging to prevent more than two parties from having encryption keys." (line 66) What exactly are the "contacts"? Is it the same data as defined on line 8? Where do the encryption keys come from? Do initiators of introduction reveal encryption keys of their existing contacts?
-
After an introduction there's the problem that newly introduced people cannot setup secret keys in a very clean way. Because this secret keys can be computed if an attacker gets hold of the introducer, has recorded traffic and is in possession of a large enough quantum computer (which you assume in your threat model). You therefore would need some sort of 'upgrade' mechanism which would allow either two people to meet in person to 'upgrade' their secure channel. Or you could add a asymmetric key-agreement or key-exchange on top (probably post-quantum algorithm).
-
I don't quite get the combination of "HTTPS", "Tor", "symmetric crypto because of quantum computers". Why HTTPS if Tor already provides confidentiality? HTTPS implies certificates, no? What about them?
-
What about nonces for GCM? How do you prevent replay attacks?
-
If you want to truly understand your protocol and get confident about it, I recommend studying something like this: https://tamarin-prover.com/ This allows you to model your protocol more formally, state your security claims and check if the protocol satisfies this claims :)
"Could lose"? We are long past this point. When you can chose between two parties and they try to manipulate the election as hard as they can, then that's a zombie democracy at best. And now? The president stands above the law. He can fire people illegally. He can disable law enforcement. Democracy in the US is gone. Hopefully only temporarily. Now it's up to people to act, take their rogue government down and repair what can be repaired.
Can you speak of 'erasing' if this value was actually never there but just fantasy numbers?