Mathematik/Algebra/Dll für AutoIt

  • Hallo,
    ich hab mich mal wieder in RSA reingehängt.

    Ich hatte schon einmal versucht, eine RSA-Verschlüsslung mit AutoIt zu schreiben, hatte auch einen Thread offen, indem mir aber niemand wirklich helfen konnte.
    Habe mich jetzt mal intensiv mit RSA befasst, und in PARI (das ist ein Mathe/Algebra Programm, dass einfach über "Eingabeaufforderung?!" funktioniert (also schwarzes fenster und Befehle eintippen)), eine simple Funktion geschrieben, die RSA-Schlüssel erstellt und Zahlen verschlüsseln kann.

    Spoiler anzeigen


    Keys()=
    {
    primzahl1=nextprime(random(2^1024));
    primzahl2=nextprime(random(2^1024));
    n=primzahl1*primzahl2; (teil des öffentlichen und des privaten schlüssels)
    phi=(primzahl1-1)*(primzahl2-1);
    e=65537; (in wikipedia steht, dass das wohl standart ist)(2. teil des öffentlichen schlüssels)
    d=bezout(phi,e); (das ist wohl das gleiche wie der erweiterte euklid)(zur berechnung von d, dem privaten schlüssel)
    d=d[2]; (bezout gibt 3 werte aus, man braucht nur den 2.)
    }

    encrypt(x)=
    {
    Mod(x^e,n);
    }

    decrypt(x)=
    {
    Mod(x^d,n);
    }

    Bei einem test mit 1024 bit Schlüssel (was zur zeit noch sehr sicher ist) ist mir beim Erstellen der Schlüssel, sowie beim ver- und entschlüsseln aufgefallen, dass es sehr schnell ging.(1-2 Sekunden)
    Deshalb habe ich mir direkt vorgenommen, Pari für meinen AutoIt chat zu benutzen.
    Ich habe mir von Pari von der offiziellen Seite den Source code heruntergeladen, entpackt, und hunderte von Dateien gesehen...

    Ich weiß jetzt weder, wo ich die funktionen finde, die ich brauche (modulo, euclid(bezout),multiplizieren,subtrahieren,usw.), noch wie ich diese datei (wird ne c++ datei sein) in ne dll umwandle, und ich weiß auch nicht, wie man diese dll dann genau mit autoit nutzt.

    Könne mir da jemand helfen?
    Es muss auch nicht Pari sein, vielleicht kennt ja jemand eine direkte dll, oder ein besseres Algebra Programm (Pari nutzt bei mir nur maximal 20% CPU).
    Ansich ist mir das egal, ich möchte nur mit AutoIt was aufrufen (das muss wohl ne dll sein), was RSA mit belibig großen Schlüsseln in kurzer zeit Berechnen kann.
    RSA-Dll's gibt es im Internet keine, habe schon alles durchsucht.
    Dll selbst schreiben habe ich auch schon versucht, es auch in C++ teilweise hinbekommen (habe mit CodeBlocks gearbeitet), allerdings konnte ich dann bei weitem nicht so große Zahlen einsetzen da ja double oder long int und was es da alles gibt, stark begrenzt sind (in Pari ist die größe der Zahlen unbegrenzt).
    Auch wüsste ich nicht, ob C++ Programme genauso aussehen wie Dll's (ich denke man müsste die dann noch umconvertieren oder so?).

    Ich hoffe ich verlange hier nicht zu viel, aber ich denke, dass es im Bereich des Machbaren liegt.
    MfG, MAB_Commander

  • Habe mir gmp gedownloadet, und die c Dateien in CodeBlocks geöffnet und versucht zu starten.
    Jedes mal das gleiche: Es fehlt die gmp.h datei, die nirgends im Ordner liegt.
    Außerdem finde ich unter den vielen Dateien keine dll, die ich benutzen könnte.
    Habe mal direkt nach einer gmp.dll gegooglet.
    Die gibt es überall, aber woher weiß ich jetzt, wie die Funktionen heißen, die ich mit AutoIt aufrufen will?
    Wenn ich die dll mit editor öffne kommen nur komische Zeichen.