Rešitev: Algoritem za zakrivanje z javnim ključem (Mathematica)

Iz MaFiRaWiki

Funkcija PretvoriVStevilo

In[1]:=  PretvoriVStevilo[s_String] := Fold[256#1 + #2 &, 0, ToCharacterCode[s]]
In[2]:=  PretvoriVStevilo["Janez Novak"]
Out[2]:= 89920616654361488803651947

Funkcija PretvoriVBesedilo

In[3]:=  NarediTabelo[0] := {};
         NarediTabelo[n_Integer] := Append[NarediTabelo[Quotient[n, 256]], Mod[n, 256]]
         PretvoriVBesedilo[n_Integer] := StringJoin[Map[FromCharacterCode, NarediTabelo[n]]]
In[6]:=  PretvoriVBesedilo[89920616654361488803651947]
Out[6]:= Janez Novak

Funkcija VelikoPrastevilo

In[7]:=  NajblizjePrastevilo[n_Integer] := Module[{m},
         If[EvenQ[n], m = n + 1, m = n];
         While[! PrimeQ[m], m = m + 2];
         m]
         VelikoPrastevilo[n_Integer] := 
         NajblizjePrastevilo[Random[Integer, {10^(n - 1)), 10^(n)}]]
Osebna orodja