Toch blijft het verhaal over die sleutel in takt.
Niet echt hoor. De sleutellengte wordt genoemd met betrekken tot het algoritme dat voor de uitwisseling van sleutels zorgt. Elliptic curve werkt anders als RSA, daarom kan een andere sleutellengte verantwoord zijn.
Het gaat om het probleem hoe je over een onveilige verbinding tussen twee partijen een gezamenlijke sleutel kan afspreken zonder dat een afluisteraar achter die sleutel kan komen. De veiligheid van de daarvoor gebruikte algoritmes hangt dan samen met de moeilijkheid van het wiskundige probleem dat daar achter zit. Twee verschillende algos kunnen dus totaal verschillende sleutellengtes hebben die als 'veilig' beschouwd kunnen worden.
Het resultaat van de uitwisseling kan dan inderdaad gehashed worden om een sleutel te bekomen voor een symmetrische cypher. In de praktijk moet dus het aantal bits dat geleverd word door de uitwisseling
hoger zijn als het aantal bits dat je gebruikt voor de symmetrische cypher.
Voor het symmetrische AES bijvoorbeeld wordt in het algemeen 256 bits als perfect veilig beschouwd. Indien de gekozen symmetrische sleutel 256 pure random bits heeft dan is er geen veiligheids probleem met betrekking tot het symmetrische deel van de versleuteling. De tradeoff moet dus zodanig zijn dat de moeilijkheid om de sleuteluitwisseling te kraken even hoog of hoger is als de moeilijkheid om de symmetrische sleutel te kraken. Op die manier garandeer je dat voor elke stap in het key-agreement proces de betreffende stap geen beperking betekend voor de veiligheid van de volgende stap.
In de praktijk is uitwisseling van sleutels over een onveilig kanaal een moeilijk proces. Daarom heb je in verhouding erg veel bits nodig. Je zou het een beetje kunnen zien als dat een groot gedeelte van die bits niet helemaal 'random' zijn voor de afluisteraar. Uit het grote aantal bits van de asymmetrische crypto moet dus voldoende random bits voor je symmetrische cyper te destilleren zijn. Als dat niet zo is dan doe je het voordeel van de gekozen sleutel lengte van je symmetrische cyper teniet. Je wilt uiteindelijk dat het sleuteluitwisselingsproces even moeilijk of moeilijker is te kraken dan het symmetrische algo.
Kennelijk levert eliptic curve crypto bij 521 bits even veel onvoorspelbare bits op als RSA bij 15360. Die aantallen zijn niet echt in beton gegoten. Met onvoorspelbaar wordt dan bedoeld: hoeveel van die bits moet je in de praktijk gaan bruteforcen.
De zwakste schakel wordt dus weldegelijk bepaald door het aantal bits, maar de dezelfde mate van zwakheid heeft voor elke stap in de chain een andere aantal bits nodig.
Overigens, het precieze aantal bits boeit niet, of het er nu 512 of 521 zijn, zolang je hash algo niet makkelijker te bruteforcen is als de rest van de algos en zolang het geen andere zwakheden kent en zolang als er in die 521 bits maar genoeg random informatie zit voor je symmetrische sleutel dan kan je altijd een manier vinden om de juiste sleutelengte te bekomen. Desnoods pad je die 521 bits eerst met een pseudorandom salt (die helemaal niet geheim hoeft te zijn) naar 1024 bits en vervolgens xor je de eerste helft van dat aantal bits met de tweede helft om op 512 bits uit te komen. Als je hash algo echt goed is kan dit zonder problemen voor de veiligheid.