Mathematica Overflow [] Fehler: Warum und wie umgehen?

8

Ich hatte nie einen Überlauffehler in Mathematica, das folgende passierte.

Ich demonstrierte das Prinzip der RSA-Verschlüsselung wie folgt:

%Vor%

Kein Problem sofar.

Dann habe ich die Primzahlen auf eine realistischere, aber immer noch sehr moderate Größe geändert.

%Vor%

Frage: Habe ich einfach die Grenzen von Mathematica überschritten? Habe ich einen falschen Ansatz gewählt? Was ist der Bypass, wenn überhaupt?

    
nilo de roock 11.11.2011, 14:33
quelle

3 Antworten

8

Versuchen Sie es mit PowerMod in der Entschlüsselungsoperation:

%Vor%     
Arnoud Buzing 11.11.2011, 14:59
quelle
6

Ja, Sie haben die Grenzen von Mathematica überschritten. Die maximale Anzahl, die auf einem System in einer bestimmten Version von Mathematica dargestellt werden kann, wird in $MaxNumber angezeigt. In Ihrem zweiten Beispiel ist d=18158086021982021938023 und damit 27136050989627^d viel größer als $MaxNumber .

Sie können PowerMod auch im zweiten Schritt verwenden wie für d , wodurch a^b mod n effizienter berechnet wird als Mod . Mit decipher2[x_List] := FromCharacterCode[Map[PowerMod[#, d, n] &, x]] erhalten Sie:

%Vor%     
abcd 11.11.2011 15:00
quelle
0

Ja, als der andere Mann geantwortet hat, hast du die $ MaxNumber erreicht, mit der Mathematica umgehen kann.

Es gibt einen Bypass, der Mod für viele große Zahlen findet, die größer als $ MaxNumber sind.

Anstatt große Zahlen direkt in Mathematica zu schreiben, wie zB 163840000000 ^ 18158086021982021938023 das absolut riesig ist, verwenden Sie Modular Arithmetik, um Mathematica das Problem zu ersparen, eine so große Zahl berechnen zu müssen.

Sie sollten dazu in der Lage sein, einen Mathematica-Code zu entwickeln, ich weiß noch nicht, wie ich das machen soll. Aber Sie können es von Hand tun, indem Sie Folgendes finden: Mod [Mod [Mod [Mod [Mod [Mod [Mod [163840000000 ^ 181, n] ^ 580, n] ^ 860, n] ^ 219, n] ^ 820, n] ^ 219, n] ^ 380, n] ^ 23, n]

Welche gibt die richtige Antwort, nach der Sie suchen, ohne $ MaxNumber zu überschreiten

    
Bob 07.04.2013 12:34
quelle

Tags und Links