08-09-2022, 00:24 door Anoniem: Je hebt hier een pub/secret keypaar *voor iedere text* .
Als je daarmee bedoelt dat je voor elke signature een nieuw sleutelpaar zou moeten genereren: nee, dat is absoluut niet mijn bedoeling. Wat we nodig hebben (o.a. voor digitale certificaten) zijn
herbruikbare sleutelparen, dat is mijn doel.
Overigens sluit ik niet uit dat, afhankelijk van "de sterkte" van het (de) gebruikte hashalgoritme(s), het na een X aantal signatures gezet te hebben, onverstandig is om een sleutelpaar te blijven gebruiken (met elke sig0 lekt er enige informatie over de private key). Maar precies datzelfde probleem bestaat nu ook al (bij de huidige signatures).
08-09-2022, 00:24 door Anoniem: En wat je "out of scope" gelaten hebt is de distributie ervan , en de koppeling naar de identiteit van de afzender .
Klopt. Maar als ik geen denkfouten heb gemaakt, zal een digitaal certificaat, naast de gebruikelijke inhoud, niet één hash maar twee (sig0 en sig 1
over de inhoud van het certificaat) moeten bevatten. Dat lijkt mij nauwelijks een probleem.
Ook voor PGP/GPG/GnuPG verandert er bijna niets: een public key blijft een public key. De wijzigingen zijn:
1) de signature-zettende software moet
twee hashes berekenen (zie mijn voorstel);
2) de standaard voor signatures moet worden aangepast met het opnemen van 2 hashes;
3) de signature-checkende software moet controleren zoals in mijn voorstel.
Ik hoop hiermee de meeste van jouw vragen te hebben beantwoord.
08-09-2022, 00:24 door Anoniem: Ik heb een heel vaag vermoeden dat je schema in de richting van Merkle Tree (1 diep??) zit .
Ik weet van het bestaan van Merkle trees, maar heb mij er nooit in verdiept. Ik ben ook allesbehalve een ster in hogere wiskunde, maar wellicht is dat juist mijn kracht.
Zo zijn er dit jaar al twee kandidaten van de NIST PQC challenge "afgeschoten" (
https://arstechnica.com/information-technology/2022/08/sike-once-a-post-quantum-encryption-contender-is-koed-in-nist-smackdown/) die dachten dit soort problemen op te kunnen lossen door er bergen hogere wiskunde tegenaan te gooien (de laatste werd in 1 uur gekraakt op een ordinaire laptop).
Het voordeel van simpele oplossingen, vooral indien bouwend op bestaande en bewezen technologiën, is dat (onverhoopte) kwetsbaarheden snel gevonden moeten kunnen worden. Als de private- en public key wiskundig ongerelateerd zijn (zoals in mijn voorstel), is het m.i. onmogelijk om de private key uit de public key te kunnen afleiden. Het is waarschijnlijk
zelfs zo dat als iemand anders toevallig dezelfde public key heeft (bijv. t.g.v. een slechte random number generator), dat bij mijn voorstel, de kans dat de private keys
ook identiek zijn, kleiner is dan bijvoorbeeld bij RSA.
P.S. t.o.v. RSA, DSA en dergelijke is mijn voorstel mogelijk "groener": er zou wel eens minder CPU-power voor nodig kunnen zijn.