• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Modulu macht Probleme

Armas

New member
Modulo macht Probleme

Guten Tag liebe Community,

in der Schule ist momentan der "Diffie-Hellman-Schlüsselaustausch" unser Thema in Wirtschaftsinformatik.
Ich habe das Verfahren in JavaScript nachprogrammiert, jedoch gibt es anscheinend ein Problem mit Modulo (mein Lehrer konnte den Fehler nicht finden).

Wenn ich zum Beispiel Math.pow(45, 35) % 97 rechne gibt mir JavaScript als Ergebnis 89 aus, das richtige Ergebnis ist aber 42. :confused:

Kann es daran liegen das aus Math.pow(45, 35) eine Kommazahl (7,2851413424162939229152747024952e+57) rauskommt und JavaScript damit nicht klar kommt oder bin ich einfach Blind und finden den Fehler in meinem Code nicht. (Oder bring ich das Diffie-Hellman-Verfahren zum Sturz? :p)

Vielen Dank im Voraus :)

Grüße
Armas

Der Code:
Code:
<html>
	<head>
		<title>Aufgabe</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<script>
		"use strict";
		function SchluesselAustausch() {
			var vA;
			var vB;
			var vKleinA;
			var vKleinB;
			var vPrimzahl;
			var vNaturZahl;
			var vKa;
			var vKb;
                        
			vPrimzahl = parseFloat(document.getElementById("PrimzahlTextfeld").value);
			vNaturZahl = parseFloat(document.getElementById("NaturZahlTextfeld").value);
			vKleinA = parseFloat(document.getElementById("geheimATextfeld").value);
			vKleinB = parseFloat(document.getElementById("geheimBTextfeld").value);
			
			vA = Math.pow(vNaturZahl, vKleinA) % vPrimzahl;
			alert("A = " + vA);
			vB = Math.pow(vNaturZahl, vKleinB) % vPrimzahl;
			alert("B = " + vB);
			vKa = Math.pow(vB, vKleinA) % vPrimzahl;
			alert("K von a = " + vKa);
                        vKb = Math.pow(vA, vKleinB) % vPrimzahl;
			alert("K von b = " + vKb);
			}
		</script>
	</head>

	<body>
Primzahl eintragen: <input id="PrimzahlTextfeld" type="text" value="Wert"> <br />
Natürliche Zahl:    <input id="NaturZahlTextfeld" type="text" value="Wert"> <br />
geheim: a:          <input id="geheimATextfeld" type="text" value="Wert"> <br />
geheim: b:          <input id="geheimBTextfeld" type="text" value="Wert"> <br />
            <button onClick="SchluesselAustausch();">Geheim</button>
	</body>
</html>
 
Zuletzt bearbeitet:
Und über das DataView Object oder Typed arrays kann man auch nix machen??
Bei solch groben Fehlern wundert es mich das IIR Filter so bleibt in JS sind. FIR Filter Funktionen gut, solange die Koeffizienten i.o sind die kann man ja zur not Extern berechen und in JS zuführen.
 
Zuletzt bearbeitet:
Und über das DataView Object oder Typed arrays kann man auch nix machen??
du kannst dir das selber bauen, nur kannst du dann die standard-operationen nicht mehr nutzen
Long

Bei solch groben Fehlern
welche groben fehler?

wundert es mich das IIR Filter so bleibt in JS sind.
mhh, ja, hört man ja von jedem 2. dass er sowas macht

FIR Filter Funktionen gut, solange die Koeffizienten i.o sind die kann man ja zur not Extern berechen und in JS zuführen.
das hat nichts mit js zu tun, sondern betrifft die meisten sprachen. 64bit integer sind mir gherade mal von c++ bekannt, wüsste nicht wo du das sonst noch hast.
 
tsseh schrieb:
du kannst dir das selber bauen, nur kannst du dann die standard-operationen nicht mehr nutzen
Long
Aha kannte ich noch nicht.


tsseh schrieb:
welche groben fehler?
naja solche groben Mathematischen Fehler halt. Aber wann hat man schon mal soche googol Zahlen:frog:


tsseh schrieb:
mhh, ja, hört man ja von jedem 2. dass er sowas macht
War das Jetzt Sarkasmus??

tsseh schrieb:
das hat nichts mit js zu tun, sondern betrifft die meisten sprachen. 64bit integer sind mir gherade mal von c++ bekannt, wüsste nicht wo du das sonst noch hast.
Java Eventuell noch, aber dann hört's schon auf.
 
Zurück
Oben