323 ... 656 mogelijkheden, maar dit betekend nog niet dat in de toekomst een computer het niet kan uitrekenen.
Jawel, dat betekent dat wel. Er gaat nooit een computer komen die alle mogelijkheden af kan gaan (dwz, brute-force). Daarvoor is 2
2048 simpelweg te groot.
Bij zulke grote getallen werkt de menselijke intuïtie niet goed meer, waardoor mensen snel zicht verliezen op hoe groot dergelijke getallen nou eigenlijk zijn. De grootste getallen die de meeste mensen nog aardig bevatten zijn geldbedragen. De meeste mensen hebben intuitief een goed beeld van hoeveel bijvoorbeeld 100 of 1000 euro is. 20 000 euro (een gemiddeld jaarsalaris) en 250 000 (modale gezinskoopwoning) spreken ook nog enigszins tot de verbeelding. 10 miljoen euro is al een probleem; we kunnen er mee berekenen dat iemand met dat bedrag zijn leven lang niet meer hoeft te werken als hij/zij dat niet wil, maar echt begrijpen hoeveel dat is lukt toch niet helemaal. Bij een miljard zijn de meesten die mogelijkheid helemaal kwijt.
Laten we dus eens gaan rekenen met een miljard als maatstaf voor "onbegrijpbaar veel"...
Stel he, er zijn een miljard dimensies.
En elk van die dimensies bevat een miljard universums,
met in elk universum een miljard sterrenstelselclusters,
en in elk sterrenstelselcluster een miljard sterrenstelsels,
in elk sterernstelsel een miljard zonnestelsels,
in elk zonnestelsel een miljard planeten,
rondom elke planeet een miljard manen,
op elke maan een miljard werelddelen,
in elk werelddeel een miljard landen,
in elk land een miljard provincies,
in elke provincie een miljard steden,
in elke stad een miljard wijken,
in elke wijk een miljard straten,
in elke straat een miljard huizen,
in elk huis een miljard bewoners,
voor elke bewoner een miljard huisdieren,
op elk huisdier een miljard vlooien,
en ieder van die vlooien heeft een miljard computerclusters,
waar elk computercluster bestaat uit een miljard computers,
in elke computer een miljard processor cores,
waarvan elke core een miljard berekeningen per seconde kan doen (ha, die is realistisch!),
en die laten we dan elk een miljard seconden rekenen,
hoeveel berekeningen hebben we dan gedaan?
Is dat hoe groot 2
2048 is? Nee, dat is pas 2
658. Voor 2
2048 had die lijst nog drie keer zo lang moeten zijn, maar zoveel inspiratie had ik helaas niet. Dat is hoe enorm dit soort getallen zijn...
Maargoed, tot zover intuitie.
Het is ook prima wetenschappelijk te onderbouwen dat zoveel mogelijkheden nooit nagerekend kunnen worden (tenzij we de plank ernstig misslaan in ons huidige begrip van de natuurkunde). Voor elke berekening is een hoeveelheid energie nodig, en om de informatie te kunnen onderscheiden van achtergrondruis afkomstig uit quantumverschijnselen kun je bepalen hoeveel energie minimaal nodig is per berekening. Dit is een fundamentele limiet die niet te overschrijden is.
Er heeft ooit een artikel in Nature gestaan ([url=chrome://downloads/home/marcelm/Downloads/9908043.pdf]Ultimate physical limits to computation[/url]) welke deze grens voorrekende. In dit artikel is bepaald dat met één kg aan massa maximaal 5,4258 * 10
50 ≈ 2
169 berekeningen per seconde uitgevoerd kan worden.
Wikipedia geeft een voorzichtige schatting van 1,53 * 10
53 ≈ 2
177 kg voor het waarneembare universum. Laten we dat met een factor 8 miljard naar boven afronden, 2
200 kg dus.
Dat betekent dat als alles in (ruim een miljard maal) het hele universum zou rekenen met de maximale snelheid die de fysica toelaat, het 2
2048 / 2
169 / 2
200 = 2
1679 seconden zou duren om alle mogelijkheden van 2
2048 door te rekenen. Dat is 10
498 jaar. 852 228 616 210 329 638 778 458 978 963 323 529 664 647 639 842 705 865 434 957 110 334 587 146 900 021 252 022 053 546 918 487 034 332 126 395 316 848 343 756 775 974 591 540 608 952 291 144 997 421 286 338 687 526 598 075 407 256 499 861 630 210 141 568 840 174 949 375 270 710 698 446 511 786 492 538 055 685 520 717 338 423 931 242 587 444 452 766 721 494 454 311 463 024 935 656 890 402 676 106 079 343 365 183 099 530 973 117 938 663 064 316 994 075 142 659 289 203 314 398 561 560 986 758 784 908 086 640 761 620 995 892 487 661 297 000 027 596 671 289 832 874 258 484 192 544 817 581 639 846 785 167 988 029 720 703 186 096 926 571 818 219 829 413 011 783 jaar. Dat is een miljard dimensies, met in elk een miljard unversums, etc. Met andere woorden: dat lukt niet. Het universum sterft miljarden malen een
warmtedood voordat dat klaar zou zijn.
En DAT is een glimps van inzicht hoeveel 2
2048 nou eigenlijk is.
Overigens hoeven niet alle mogelijkheden geprobeerd te worden om een 2048-bit RSA key te breken; hoewel zo'n sleutel 2048 bits lang is, is slechts een heel erg klein deel van de 2
2048 mogelijkheden geldig. Ik heb hier
eerder al eens een post aan gewijd. Lang verhaal kort: een 2048-bit RSA-key biedt een
cryptographic strength van om en nabij 112 bits (
bron). 2
112 is nog steeds erg veel om door te rekenen, maar dat is op termijn in ieder geval plausibel
[Reactie gewijzigd door deadinspace op 23 juli 2024 05:31]