Forum: Ausbildung, Studium & Beruf Wieso ist -1 mod 26 = 25 ?


von Schüler 123 (Gast)


Lesenswert?

Hallo,

wir beschäftigen uns gerade während einer Projektarbeit mit 
Asymmetrischen Verschlüsselungen. Irgendwie scheine ich einen Denkfehler 
zu haben.

s(x) = (x+3) modulo 26
s'(x) = (x-3) modulo 26

Test:

1: s(5) = 8,  s'(8) = 5
2: s(25) = 2 s'(2) = 25

Ich verstehe nicht wirklich, wie hier hier bei 2) gerechnet wurde


s(25) = (25+3) modulo 26 =  28 modulo 26 = Rest 2. o. K.
s'(2) = (2-3) modulo 26 = -1 modulo 26 = ??? (Wieso soll da jetzt 25 
raus kommen und nicht -1 ?)

Wenn ich eine negative Zahl habe, wird dann  die Zahl + der modulo Wert 
gerechnet ? also -1 + 26 ?^^ Aber warum?

Danke euch.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Hier werden zwei unterschiedliche Definitionen für die Modulo-Funktion
gegeben:

  http://de.wikipedia.org/wiki/Modulo#Modulo

Nach der ersten ist

  (-1) modulo 26 = 25

nach der zweiten

  (-1) modulo 26 = -1

Die erste Definition wird üblicherweise in der Zahlentheorie und damit
auch in der Kryptologie angewandt.

Falls ihr das Ganze programmieren wollt, müsst ihr darauf achten, wie
die gewählte Programmiersprache die Modulo-Funktion für negative Zahlen
handhabt. Der %-Operator rechnet in C und Java nach der zweiten, in
Python nach der ersten Definition. In Haskell gibt es zwei Funktrionen
zur Auswahl: "mod" (1. Definition) und "rem" (2. Definition).

von Schüler 123 (Gast)


Lesenswert?

Okey das heißt, ich muss darauf achten, wie meine Zahlen und mein Modulo 
definiert ist.

Ich danke dir ! :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.