Nunca tuve un error de desbordamiento en Mathematica, sucedió lo siguiente.Error de Overflow [] de Mathematica: ¿Por qué y cómo omitir?
I DEMO-ED el principio de cifrado RSA-de la siguiente manera:
n = 11*13
m = EulerPhi[n]
e = 7
GCD[e, m]
d = PowerMod[e, -1, m]
cipher2[m_String] := Map[Mod[#^e, n] &, ToCharacterCode[m]]
decipher2[x_Integer] := FromCharacterCode[Map[Mod[#^d, n] &, x]]
In[207]:= cipher2["StackOverflow"]
decipher2[cipher2["StackOverflow"]]
Out[207]= {8,129,59,44,68,40,79,62,49,119,4,45,37}
Out[208]= StackOverflow
No hay problema sofar.
Luego cambié los números primos a un tamaño más realista, pero aún muy moderado.
n = 252097800611*252097800629
In[236]:= cipher2["StackOverflow"]
decipher2[cipher2["StackOverflow"]]
Out[236]= {27136050989627, 282621973446656, 80798284478113, \
93206534790699, 160578147647843, 19203908986159, 318547390056832, \
107213535210701, 250226879128704, 114868566764928, 171382426877952, \
207616015289871, 337931541778439}
During evaluation of In[236]:= General::ovfl: Overflow occurred in computation. >>
During evaluation of In[236]:= General::ovfl: Overflow occurred in computation. >>
Out[237]= FromCharacterCode[{Overflow[], Overflow[], Overflow[],
Overflow[], Overflow[], Overflow[], Overflow[], Overflow[],
Overflow[], Overflow[], Overflow[], Overflow[], Overflow[]}]
Pregunta: ¿Yo simplemente pasado por los límites de Mathematica? ¿He usado un enfoque incorrecto? ¿Qué es el by-pass, si hay alguno?
Gracias Arnoud, (su nombre sugiere que tiene antepasados en Bélgica, o NL donde vivo). –