AutoIT MsgBox Problem

  • Hab ein Problem mit AutoIT.
    Ich möchte ein Programm zum testen einer Formel schreiben.
    Das Script soll einen einzelnen Buchstaben welcher mit RSA verschlüsselt ist entschlüsseln.

    Hier der Quellcode

    [autoit]

    HotKeySet("{ESC}","Ex")
    $en = InputBox("Number","Input : encrypted")
    $N = InputBox("Number","Input : N")
    $e = InputBox("Number","Input : e")
    Global $t = 0
    While 1
    Global $x = $en + ($N*$t)
    Global $y = $x ^(1/$e)
    If Int($y) = $y Then
    MsgBox(1,"Decrypted","It is : " & $x ^ (1/$e))
    Exit
    EndIf
    Sleep(10)
    $t = $t + 1
    If Int($y) = $y Then
    ConsoleWrite(Int($y) & ":" & $x ^ (1/$e) & ":" & $t & " + ")
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func Ex()
    Exit
    EndFunc

    [/autoit]

    Nun kommt aber ab einer Verschlüsselten 4 keine Nachricht mehr.
    Woran liegt das?

    Das Skript wird nicht zu bösartigen Zwecken benutzt.
    Wie gesagt möchte ich meine Formel testen.

  • Hab das Skript mal kurz überflogen. Könnte es sein dass es mit dem String nicht rechnet?
    Probier mal folgendes:

    [autoit]

    HotKeySet("{ESC}","Ex")
    $en = InputBox("Number","Input : encrypted")
    $N = InputBox("Number","Input : N")
    $e = Number(InputBox("Number","Input : e"))
    Global $t = 0
    While 1
    Global $x = $en + ($N*$t)
    Global $y = $x ^(1/$e)
    If Int($y) = $y Then
    MsgBox(1,"Decrypted","It is : " & $x ^ (1/$e))
    Exit
    EndIf
    Sleep(10)
    $t = $t + 1
    If Int($y) = $y Then
    ConsoleWrite(Int($y) & ":" & $x ^ (1/$e) & ":" & $t & " + ")
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func Ex()
    Exit
    EndFunc

    [/autoit]