AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Potenzieren ohne Power-Funktion

Ein Thema von Faffy · begonnen am 30. Jan 2014 · letzter Beitrag vom 30. Jan 2014
Antwort Antwort
Faffy

Registriert seit: 25. Jan 2014
10 Beiträge
 
#1

Potenzieren ohne Power-Funktion

  Alt 30. Jan 2014, 15:27
Hey Leute,

wir machen gerade eine RSA-Verschlüsselung & dafür benötige ich natürlich folgende Foreml zur Berechnung der Verschlüsselung:

C := V mod(N); Dabei ist C die Verschlüsselung, V der zu verschlüsselnde Text hoch den öffentlichen Schlüssel & N das Produkt aus den beiden Primzahlen (P & Q).

Mein Problem dabei ist, dass ich die PotenzV := X^E; nicht mit V := Power(X, E); rechnen darf, da V nicht Extended sein darf. Denn ist V Extended, so lässt sich V nicht mit mod(N) berechnen.

(E ist der öffentliche Schlüssel & X der zu verschlüsselnde Text).

Hoffe ihr könnt mir helfen.

Gruß
Faffy
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#2

AW: Potenzieren ohne Power-Funktion

  Alt 30. Jan 2014, 15:35
In einem solchen Fall benutzt man die http://de.wikipedia.org/wiki/Bin%C3%A4re_Exponentiation, wobei bei jedem Produkt mod N reduziert wird, siehe meine Funktion hier http://www.delphipraxis.net/780375-post23.html

Gruß Gammatester
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Potenzieren ohne Power-Funktion

  Alt 30. Jan 2014, 15:40
Man kann das Extended doch auch wieder zu einem Integer runde (Round) oder abschneiden (Trunc).

Zur hälft hilft dir IntPower.

Aber wenn es sonst nicht geht, dann .... Wie hattest du das Potenzieren denn mal in der Schule gelernt?
Das kannst du ja nachmachen. (am Billigsten mit einer Schleife und * )
$2B or not $2B
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#4

AW: Potenzieren ohne Power-Funktion

  Alt 30. Jan 2014, 15:58
Man kann das Extended doch auch wieder zu einem Integer runde (Round) oder abschneiden (Trunc).

Zur hälft hilft dir IntPower.
Das bringt doch alles nix weil zB selbst 12345^5678 ~ 0.3065E23232 nicht in ein extended passt, aber 12345^5678 mod (997*101) = 25102 einfach zu berechnen ist. Es hilf nichts: nach jedem Schritt mod N bilden! Wenn N kleiner Maxint=2^31-1 kann man mit int64 rechnen: int64(a)*int64(b) mod N

Geändert von gammatester (30. Jan 2014 um 16:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Potenzieren ohne Power-Funktion

  Alt 30. Jan 2014, 16:33
Er hatte ja nicht verraten, wie groß seine Werte sind und ob die nicht doch rein passen.
Aber mit aktiver Überlaufprüfung, wäre es dann schon aufgefallen.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz