1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Rechnen (mod) mit viel zu großer Zahl, umgehen?

    • Frage
  • Pepsmax
  • 26. April 2004 um 17:27
  • Unerledigt
  • Pepsmax
    2
    Pepsmax
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 26. April 2004 um 17:27
    • #1

    Hallo, bin neu hier im Forum,vielleicht könntet ihr mir helfen..

    Bin leider in Mathe eine ziemliche Niete und hab deswegen eine Frage:
    Muss in einem Programm mit einer extrem hohen Zahl rechnen.. : 103 hoch 173 mod 247.
    Für 103 hoch 173 reicht natürlich nichtmal eine 64bit Variable, also ist es schwer auf direktem Weg auf 103 hoch 173 ein mod zu berechnen.
    Ist es nicht möglich teilweise zu modulen und die kleinen zwischenergebnisse zu addieren oder sowas in der Art?
    Brauch das ganze für ein RSA Krypto Beispiel..
    Bin für jede Hilfe sehr dankbar.
    Ciao, Max

  • Lord Binary
    18
    Lord Binary
    Mitglied
    Reaktionen
    11
    Punkte
    3.301
    Beiträge
    647
    • 26. April 2004 um 19:39
    • #2

    Klar, es gibt da unzählinge Algorithmen.

    Recht einfach aber sehr effektiv: "Fast Exponentation"

    Ohne Erklärung warum das funktioniert.
    (nur bei Bedarf, ist nicht schwer, aber auch nicht trivial)

    Gesucht: ((x^e) % m) =?
    (?=output=Y nach der loop)

    Code
    X=x; E=e; Y=1; 
    loop while E<>0
    {
      if ((E%2)==1)
     {
    	 Y=((X*Y) % m);
    	 E--;
      } 
      else
      {
    	 X=((X^2) % m);
    	 E=E/2;
      }
    }
    Alles anzeigen



    Das Ergebnis von (103^173) % 243 ist übrigens 187.

    Mfg, LB


    Trading for a living [equities,futures,forex]

  • Pepsmax
    2
    Pepsmax
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 27. April 2004 um 00:04
    • #3

    VIELEN vielen Dank!!

    Jetzt ist alles gelöst!
    Verstehe zwr nicht wirklich das Mathematische an der Sache, habe aber auch schon einige Bier getrunken.. hab mal den Code eingebunden, läuft super, und es kommt das richtige raus.. werd mir alles nochmal morgen ansehen :winking_face:

    Danke nochmal, noch einen schönen Abend,
    Max

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung