AGB  ·  Datenschutz  ·  Impressum  







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

Fehler bei function (c=m^e mod N)

Ein Thema von Mb123 · begonnen am 26. Feb 2007 · letzter Beitrag vom 28. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#1

Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 16:36
Hallo,
ich habe eine funktion geschrieben die mir folgenden ausdruck ausrechnen soll: c=m^e mod N
so hier erstmal die funktion:
Delphi-Quellcode:
[...]
var
  e,m:integer;
[...]
function verschluesseln(q:integer;s:integer):integer;
begin

result:=m^e; mod q*s;
end;
ich erhalte nun folgenden fehler:
[Error] Programm.pas(87): Pointer type required
[Fatal Error] Project5.dpr(5): Could not compile used unit 'Programm.pas'

kann mir einer sagen was ich da verändern muss ? denn mit der meldung kann ich irgendwie nich besonders viel anfangen.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 16:41
^ steht für einen Pointer
Versuch dein Glück stattdessen mal mit Delphi-Referenz durchsuchenPower der Unit Math
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#3

Re: Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 16:58
danke erstmal hab jetzt so gemacht :
Delphi-Quellcode:

function Power(Basis,Exponent:Extended):extended;
begin
result := exp(Exponent*ln(Basis))
end;

function verschluesseln(m:integer):integer;
begin
n:=q*s;
result:=Power(m,e) mod n;
end;
nur das problem ist jetzt das ich mit Power(m,e) ja einen extended Wert habe. ich schätz es wird jetzt schwierig diesen wert in einen integer umzuwandeln, denn bei der rsa verschlüsselung sind werte die bei power(m,e) eingesetzt werden schon mal zahlen wie power(133,151). weiß jemand wie ich das problem lösen kann ?
  Mit Zitat antworten Zitat
Mb123

Registriert seit: 7. Jun 2006
33 Beiträge
 
#4

Re: Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 19:23
kann man nicht vielleicht irgendeine langzahlen bibliothek oder sowas implementieren ?
weil mit zahlen wie 291^151 sollte der computer durch irgendwie eine modulo rechnung durch-
führen können ?? mit meinem TI Voyage 200 geht das sogar

Zitat:
...mit Microsoft Visual C++ 6.0 zu entwickeln.
Um das Rechnen auch mit großen Zahlen zu gewährleisten, musste eine geeignete
Langzahlen-Bibliothek implementiert werden, die den Ansprüchen der einfachen
Implementierung in die Entwicklungsumgebung genügte. Diese Anforderungen wurden
durch die so genannte NTL-Langzahlen-Bibliothek([6]) erfüllt. Die benötigten Funktionen,
wie z. B. der erweiterte Euklidsche Algorithmus wurden unter Verwendung der in
den Quellen [1], [2], bzw. [8] bereitgestellten Pseudo-Codes in die Sprache C++ umgesetzt.
das habe ich in einer arbeit gelesen, in der das problem auch aufgetreten und gelöst wurde.
könnte man sowas auch in delphi umsetzten ?
  Mit Zitat antworten Zitat
MatWur

Registriert seit: 22. Feb 2007
Ort: Spessart
26 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 19:58
eine gute Bibliothek mit Routinen für grosse Ganzzahlen suche ich auch schon lange, bisher ohne Erfolg Deswegen versuche ich gerade eine für mich zu programmieren, ich hänge aber bei der Multiplikation fest... naja.
Für die Potenzierung gibt es im binären einen sehr schnellen und nicht allzu schwer zu implementierenden Algorithmus, den kannst du in der Wiki nachlesen: http://de.wikipedia.org/wiki/Schnelles_Potenzieren

mfg

Matthias
Matthias
Es gibt drei verschiedene Arten von Mathematikern: die, die bis 3 zählen können und die, die das nicht können.
Ich gehöre zur mittleren Gruppe.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Fehler bei function (c=m^e mod N)

  Alt 26. Feb 2007, 20:06
Zitat von MatWur:
eine gute Bibliothek mit Routinen für grosse Ganzzahlen suche ich auch schon lange, bisher ohne Erfolg
Dann kennst Du Hagens DecMath nicht

Hier im Forum suchenDecMath

http://www.michael-puff.de/dirindex....agen_Reddmann/
  Mit Zitat antworten Zitat
MatWur

Registriert seit: 22. Feb 2007
Ort: Spessart
26 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Fehler bei function (c=m^e mod N)

  Alt 27. Feb 2007, 11:24
hm, Danke Schön.
In der Tat kannte ich diese Bibliothek noch nicht, sie sollte für Mb123 eigentlich sehr gut brauchbar sein. Die sieht sehr schön und übersichtlich aus. Für mein Problem hilft sie mir leider nicht. Ich versuche den Schönhage-Strassen-Algorithmus zur schnellen Multiplikation von Binärzahlen zu realisieren, vom Prinzip her habe ich das auch schon. Meine Implementierungen sind aber nicht praktikabel, weil ich noch viel zu viel Speicherplatz während der Multiplikation brauche und dementsprechend auch langsam bin. In der Library ist der Algorithmus implementiert, aber ich bräuchte den Source-Code um mal zu gucken, wie Hagen das Platzproblem gelöst hat... naja, dafür habe ich meinen eigenen Fred (seltsamerweise in Numerik/Optimierung...wieso ich den gerade da reingestellt habe weiss ich nicht mehr so sicher ), das gehört hier gar nicht her.
Danke nochmal für den Link!

mfg

Matthias
Matthias
Es gibt drei verschiedene Arten von Mathematikern: die, die bis 3 zählen können und die, die das nicht können.
Ich gehöre zur mittleren Gruppe.
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Fehler bei function (c=m^e mod N)

  Alt 27. Feb 2007, 12:39
Hmm, darf ich mal fragen, was du für Zahlen multiplizieren möchtest?

Der Schönhage-Strassen-Algo taugt nur was für wirklich extrem große Zahlen. Bei "normalen" Zahlen braucht er wegen den DFTs sogar länger als der normale Schulalgo.
Zitat von Wikipedia:
Selbst bei modernen Computern ist diese Methode der Berechnung erst bei Zahlen mit mehreren tausend Stellen effizienter als der Karatsuba-Algorithmus.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

Re: Fehler bei function (c=m^e mod N)

  Alt 27. Feb 2007, 12:46
Ach Jungs...

Warum wollen so viele einen RSA-Algorithmus implementieren, wenn sie denn absolut keine Ahnung von den mathematischen Grundlagen der modulo-Rechnung haben? Das Thema hatten wir schon ein paar Mal, letztens in http://www.delphipraxis.net/internal...t.php?t=102928. Fakt ist: wer bei (a ^ b) mod c zuerst a ^ b ausrechnet, sollte sich dringendst mit Modulorechnungen auseinandersetzen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
MatWur

Registriert seit: 22. Feb 2007
Ort: Spessart
26 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Fehler bei function (c=m^e mod N)

  Alt 27. Feb 2007, 13:48
@ hsg: ich möchte Zahlen mit bis zu 2^27 Bit multiplizieren können, wenn man mit Mersennezahlen rumspielt kommen solche Grössenordnungen raus. Selbst Karazuba (oder Karatsuba) ist da viel zu langsam. Im Moment müsste der Wiki-Satz übrigens lauten: 'Gerade bei modernen Computern ...' den von steigender Registergrösse (wie momentan von 32 auf 64 Bit) profitiert die Karazuba-Methode stärker als der SchönStrAlg (der profitiert stärker von einer Takterhöhung als die K_Methode)

mfg

Matthias
Matthias
Es gibt drei verschiedene Arten von Mathematikern: die, die bis 3 zählen können und die, die das nicht können.
Ich gehöre zur mittleren Gruppe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:45 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