Sie sind nicht angemeldet.

  • Anmelden

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

1

04.01.2011, 22:44

Verständnisfrage zu AES

Servus,

ich arbeite mich gerade durch DES und habe das meiste sehr gut verstanden, jedoch hakt es an einer Stelle:
Wikipedia-Erklärung

Da steht, es gibt R + 1 Runden, also die 10, 12 bzw. 14 Runden + die Schlussrunde. Zählt nun die Vorrunde als die erste reguläre Runde, oder wird nur für die der Schlüssel der ersten regulären Runde verwendet? Kann mir zwar beides nicht so wirklich vorstellen, aber andere Möglichkeiten lese ich daraus nicht. ?(

Danke im Voraus!


lg - eru

2

04.01.2011, 23:06

Die Vorrunde zählt eigentlich nicht als reguläre Runde. Es gibt also eine Vorrunde mit nur Schlüsseladdition, R-1 normale Runden und dann die Schlussrunde. Für jede dieser "Runden" wird ein anderer Teilschlüssel verwendet, diese werden in der KeySchedule aus dem richtigen Schlüssel abgeleitet.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tsu_Cortes« (04.01.2011, 23:07)


nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

3

04.01.2011, 23:09

Soweit habe ich das auch verstanden, nur was für ein Schlüssel wird in der Vorrunde bei der KeyAddition verwendet? Ein eigener? Müssten es dann aber nicht R + 2 Rundenschlüssel geben?

4

04.01.2011, 23:14

Ja es ist ein eigener Rundenschlüssel, genauer gesagt (falls die Schlüssel- und Blocklänge gleich sind) entspricht es dem ursprünglichen Schlüssel. Nein, es gibt daher genau R+1 Rundenschlüssel, weil es wie vorhin auch schon geschrieben nur N-1 normale Runden gibt.

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

5

04.01.2011, 23:18

Ahh... ich verstehe.

Danke! =)

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

6

05.01.2011, 19:22

Nächstes Problem.
-> http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Auf Seite 18 oben.
Ich hab mir das Ding mit dem Falk'schen Schema hergeleitet und komme auf das selbe, merkwürdig nur, dass ich bei einer Beispielrechnung, weit über 255 komme. Klar, wenn jede "Zelle", also Byte von dem Word (= Spalte) bis zu 255 sein kann und mit 3 multipliziert wird, dass da nicht selten etwas über 255 rauskommt. In meinem Beispiel bleibt der Wert auch nach dem XOR so groß, ist ja auch nur ein Wert, der so herausragt.


(Die Werte stammen aus einem Zufallsgenerator und haben vermutlich gar keinen Sinn.)

Oben ist meine Spalte = Word, Zelle = Byte.
Links ist die feststehende Tabelle von AES.
Alles binär.

Wo ist mein Fehler?
Danke für jede Hilfe!


lg - eru

Edit: NVM man multipliziert da iwie anders...

7

05.01.2011, 20:40

Die zugrundeliegenden Galois-Felder GF(2^8) sind dir bekannt?

Kannst du die Gleichung benennen (Gleichungsnummer), was du gerade herzuleiten versuchst? Mit "Seite 18 oben" meinst du (5.6.)? Weiß gar nicht was dein Schema so machst, kannst du mal die Zeilen/Spalten benennen?

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

8

05.01.2011, 21:07

Bis eben waren sie mir nicht bekannt, habe mich jetzt schmerzlich da durchgekämpft und verstanden wie es funktioniert, jedoch nicht warum es so funktioniert. In meiner Facharbeit schreibe ich einfach einen Verweis, hat meine Lehrerin eh vorgeschlagen.

Die "Benennung" d.h. was das ist steht drunter.. wüsste nicht was ich nicht groß dazu sagen sollte. Ist halt ein Falk'sches Schema mit einer Matrix und einem Spaltenvektor, nur mit binären Zahlen. Wenn man das allgemein ausformuliert kommt man auf das, was in 5.1.3. in dem PDF bearbeitet wird.
Btw... wtf? Bei mir existiert 5.6. nicht mal. o_O

Jedenfalls hab ich es jetzt, trotzdem danke für die Bemühungen!

9

05.01.2011, 22:13

Galois-Felder in ner Facharbeit? :D

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

10

05.01.2011, 22:15

Was daran so lustig? Ich finds nicht so dolle... :kotz:

11

05.01.2011, 22:40

Ich glaube nicht, dass man das richtig ohne Mathematikstudium verstehen kann.

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

12

05.01.2011, 23:09

War eigentlich ganz nett beschrieben, warum das so ist, ist mir zwar ein Rätsel, aber egal. ^^

13

06.01.2011, 00:25

Auf Seite 10 unten bei Multiplication stehts so beschrieben dass man es imo auch ohne Mathestudium verstehen kann.

Edit: Ah ist doch nicht ganz so einfach, diese Operation basiert auf Kapitel 4.3 auf Seite 12, die Matrixform in Formel 4.13 auf Seite 13 ist wahrscheinlich am einfachsten zu verstehen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tsu_Cortes« (06.01.2011, 00:29)


nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

14

06.01.2011, 00:27

Habe diese Seite dazu missbraucht.

15

06.01.2011, 00:30

Also das Kryptographierverfahren sicher, Galois-Theorie eher nicht.

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

16

06.01.2011, 16:14

Naja, irgendwie nette Bezüge von binären Zahlen auf Polynome.

Bspw.
(dec)40 = (hex)28 = (bin)00101000
Also 40 = f(x)=x^5 + x^3 für x=2
(dec)22 = (hex)16 = (bin)00010110
Also 22 = f(x)=x^4 + x^2 + x für x=2

+ entspricht XOR
- entspricht XOR
(Da ist das erste: warum?!)
<< entspricht Linksverschiebung, also * x = * 2

-> 40 * 22 = 40 * (16 + 4 + 2) = 40 * 16 + 40 * 4 + 40 * 2

40 * 2 = 00101000<< = 01010000 = 80
40 * 4 = 80 * 2 = 01010000<< = 10100000 = 160
40 * 8 = 160 * 2 = 10100000<< = 101000000 = 320 > 255, darf nicht!
Also 101000000 XOR 100011011 (nur kP wo die Zahl herkommt) = 01011011 = 91
40 * 16 = 91 * 2 = 01011011<< = 10110110 = 182

Eingesetzt:
10110110 XOR 10100000 XOR 01010000 = 01000110

Ergo ist 40 * 22 = 70
:]


Richtig? Oder absoluter Unsinn?

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

17

06.01.2011, 23:00

Ok, nach Probe (= Entschlüsselung) ist alles wieder aufgegangen, von daher gehe ich mal davon aus, dass es richtig ist. :)

18

07.01.2011, 02:50

Zitat

Original von nC_eru
Also 101000000 XOR 100011011 (nur kP wo die Zahl herkommt) = 01011011 = 91


Das ist das irreduzible Rijndael Polynom x^8+x^4+x^3+x+1.

19

07.01.2011, 06:07

ich hatte auch ähnliches in meiner Facharbeit.

Wenn ich nicht weiter kam wegen höherer Mathematik, habe ich einfach ein zitat aus einem kompliziert klingendem Buch erfunden unf mangelnde englischkentnisse der lehrerin ausgenutzt...

20

07.01.2011, 09:54

Wieso erfunden, wenn es genügend komplizierte Mathebücher gibt?

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

21

07.01.2011, 18:15

Das ist zum Teil ja sehr AES spezifisch, deshalb hab ich bzgl. Herkunft von 100011011 auf das AES PDF vom NIST verwiesen. Steht da zwar auch nicht, woher das kommt, aber dann sieht die Lehrerin, dass es nicht mal da steht. :D

Dass es sich bei 100011011 und das irreduzible Rijandael Polynom handelt habe ich im laufe meiner Recherchen schon mindestens fünf mal gelesen, ich weiß einfach nicht, was ein irreduzibles Polynom ist. Wenn ich den Namen richtig interpretiere lässt es sich nicht (z.B. per Partitialdivision) in kleinere ganzrationale Polynome aufteilen? Ergo ist jedes ganzrationales Polynom ohne reelle Nullstellen ein irreduzibles Polynom?
In dem Fall wurde 100011011 zufällig gepickt, könnte auch jedes andere mit x^8 sein, was irreduzible ist?

22

07.01.2011, 18:28

Zitat

Original von AtroX_Worf
Wieso erfunden, wenn es genügend komplizierte Mathebücher gibt?



minimalster Aufwand.


wurde Aufwand früher mit dt geschrieben btw? Irgendwie sieht das falsch aus.







Eru: Du steigerst dich da zu sehr rein, du musst irgendwo einen Schlussstrich ziehen bei den Erklärungen, denn du bist aus dem bereich der Schulmathematik raus und in der echten Mathematik baut alles perfekt aufeinander auf.
Mit dem irreduzibel z.b. willst du Sachen behandeln, die man vielleicht nach 2 jahren Mathestudium oder so macht. Da hast du keine chance das vernünftig und mit gutem gewissen einzubringen in deine arbeit.
Setz da lieber jetzt eine Grenze, als da mit Viertelwissen etwas zu behaupten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »La_Nague« (07.01.2011, 18:34)


nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

23

07.01.2011, 18:31

Kommt von Wand, sowie Rächtschreibung von Rache und Lebensgefährtin von Lebensgefahr. 8)

24

07.01.2011, 18:56

Ein Polynom heißt irreduzibel, wenn man es nicht als Produkt anderer Polynome von kleinerem Grad schreiben kann. Der Grad eines Polynoms ist der größte Exponent, bspw. hat ein quadratisches Polynom ax^2+bx+c genau Grad 2 und a!=0.

Über C hat jedes iireduzible Polynom genau Grad 1, da C ein algebraisch abgeschlosener Körper ist. Dies bedeutet genau, dass ein Polynom vom Grad n genau n Nullstellen halt bzw. ein Polynom sich deswegen faktorisieren lässt in (x-a)(x-b)(x-c)...
R ist nicht algebraisch abgeschlossen, d.h. da gibt es auch irreduzible Polynome vom Grad echt größer als 1. Allerdings haben die irreduziblen Polynome über R auch nur Grad 1 oder 2 aber bspw. nicht 3, da sich jedes Polynom vom Grad 3 wieder in jeweils ein Polynom vom Grad 1 und 2 faktorisieren lässt.

(x+2)(x-2) = x^2 - 4 ist reduzibel in die beiden Faktoren, da gilt: x^2 - 4 = 0 <=> x^2 = 4 <=> x_1,2 = +/- 2

x^2 + 4 ist irreduzibel über R, da gilt: x^2 + 4 = 0 <=> x^2 = -4, was über R nicht geht. Über C erhält man die Nullstellen x_1,2 = +/- 2i, da i^2 = -1.

Was ist denn ein ganzrationales Polynom? Ansonsten ist ein Polynom über R ohne Nullstellen in R nicht irreduzibel. Das Polynom f(x)=x-c hat die Nullstelle c, ist aber irreduzibel. Nur konstante Polynome f(x) = c mit c!=0 haben keine Nullstellen mehr, aber für konstante Polynome macht die Eigenschaft Irreduzibilität wenig Sinn bzw. ist gar nicht erst für sie definiert.

Ohne den Algorythmus zu kennen kannst du wohl jedes Polynom vom Grad 8 aus dem F_256 nehmen, welches irreduzibel über dem F_2 ist.
Ich schätze mal du brauchst ein Polynom vom Grad 8, um bei der Multiplikation von Polynomen immer modulo dieses Polynoms rechnen zu können und so immer bei Grad max 8 zu bleiben.

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

25

07.01.2011, 19:30

Zitat

Original von AtroX_Worf
Was ist denn ein ganzrationales Polynom? Ansonsten ist ein Polynom über R ohne Nullstellen in R nicht irreduzibel. Das Polynom f(x)=x-c hat die Nullstelle c, ist aber irreduzibel. Nur konstante Polynome f(x) = c mit c!=0 haben keine Nullstellen mehr, aber für konstante Polynome macht die Eigenschaft Irreduzibilität wenig Sinn bzw. ist gar nicht erst für sie definiert.

Ein ganzrationales Polynom ist ein Polynom mit ausschließlich natürlichen Exponenten vom x, also Exponent aus |N_+\0 . Das jedenfalls lehrt man uns in der Schule, nichts ungewöhnliches wenn es Unsinn ist.... ?(

Zitat


Ohne den Algorythmus zu kennen kannst du wohl jedes Polynom vom Grad 8 aus dem F_256 nehmen, welches irreduzibel über dem F_2 ist.
Ich schätze mal du brauchst ein Polynom vom Grad 8, um bei der Multiplikation von Polynomen immer modulo dieses Polynoms rechnen zu können und so immer bei Grad max 8 zu bleiben.

Genau, x^8 muss auf jeden Fall vorhanden sein.
In GF(2^8) ist ja die größte mögliche Zahl 255 (2^8-1), entspricht binär 11111111 . Beim multiplizieren wird der kleinere Faktor in Zweierpotenzen zerlegt (was beim binären ja im Endeffekt auch gemacht wird, deswegen rechne ich ganze Zeit im binären Zahlensystem) die resultierenden Zweierpotenzen werden ausgeklammert und jedes Einzelergebnis wie folgt berechnet:
Man beginnt mit dem größeren Exponenten, den ich an dieser Stelle mal mit p bezeichne, und multipliziert ihn mit 2^0, also 1. Das Ergebnis ist trivial p. Ergo p*1=p .
Danach rechnet man p * 2^1 = p * 2. Um das zu berechnen kann man binär entweder eine Linksverschiebung durchführen oder in der Polynomschreibweise mit x (also 2) multiplizieren. Im binären wird für den Fall, dass an der 1. Stelle von links (also x^7) von p eine 1 steht nach der Linksverschiebung mit 100011011 XOR verknüpft (bzw. Polynomschreibweise Modulo gerechnet), so dass die 1, die für einen auf jeden Fall größeren Wert als 255 sorgt, "verschwindet". Aus dem Grund muss in der Polynomschreibweise x^8 vorhanden sein, bzw. binär die neunte Stelle von rechts eine 1.
Das Ergebnis wird wieder *2 (also p*4) gerechnet und das wieder etc bis man alle notwendigen Teile hat. Die Einzelergebnisse werden am Ende addiert, dass heißt in GF auf mit XOR Verknüpft.
Das ist übrigens auch sehr entscheidend... eine Addition ist genauso wie eine Subtraktion immer eine XOR Verknüpfung und eine Multiplikation kann/sollte immer (zumindest in GF(2^8)) nur mit einem Faktor 2 durchgeführt werden.

26

07.01.2011, 19:55

Für mich hat ein Polynom immer nur Exponenten aus den natürlichen Zahlen. Aber ich kenne mich in Algebra auch nicht sonderlich gut aus. :P

Was meinst du mit Faktor 2? Über F_2 ist das die Zahl 10, d.h. das Polynom 1*x+0 = x?! Wenn du ein Polynom mit x multiplizierst, dann erhöht sich überall der Polynomgrad um 1, d.h. im Binärsystem schiebst du alles eine Stelle nach links.

27

07.01.2011, 20:01

Zitat

Original von AtroX_Worf
Ohne den Algorythmus zu kennen kannst du wohl jedes Polynom vom Grad 8 aus dem F_256 nehmen, welches irreduzibel über dem F_2 ist.


Jep, das wurde eben mit diesem Polynom definiert. Hab gerade nicht genau gefunden wieso sie dieses Polynom genommen, aber die Autoren haben nach Sicherheit vorallem auf Einfachheit, Symmetrie und Effizienz als Designkriterien geachtet.

Eigentlich ist die Wahl dieses Polynoms wegen der Eigenschaften von Galois-Feldern ziemlich egal, aber das geht wohl auch zu weit.

nC_eru

Erleuchteter

  • »nC_eru« ist der Autor dieses Themas

Beiträge: 5 381

Wohnort: Bremen

Beruf: Physiker

  • Nachricht senden

28

07.01.2011, 20:12

Zitat

Original von AtroX_Worf
Für mich hat ein Polynom immer nur Exponenten aus den natürlichen Zahlen. Aber ich kenne mich in Algebra auch nicht sonderlich gut aus. :P

Was meinst du mit Faktor 2? Über F_2 ist das die Zahl 10, d.h. das Polynom 1*x+0 = x?! Wenn du ein Polynom mit x multiplizierst, dann erhöht sich überall der Polynomgrad um 1, d.h. im Binärsystem schiebst du alles eine Stelle nach links.

Jep, genau das meine ich.

f(x)=x^8+x^4+x^3+x+1

p*30 -> 30=16+8+4+2 -> p*30=p*16+p*8+p*4+p*2
p*43 -> 43=32+8+2+1 -> 43*p=p*32+p*8+p*2+p

p=p
a = 2*p -> p * x, falls größer 255: mod f(x)
b = 4*p = 2*a -> a * x falls größer 255: mod f(x)
etc.

Edit: x=2 ^^