AEs-Implementierung



  • So, ist on. Wie ist es jetzt?

    Ich habe das Gefühl, eigentlich sollten AddRoundKey & Co. nicht einfach einen Zeiger sondern direkt eine Referenz auf ein Key-Objekt nehmen.



  • Verstehe leider nicht genug von AES um deine Implementierung richtig kritisieren zu können - was ich sehe gefällt mir aber. 👍
    Du hast dich gewaltig gemacht im Vergleich zum Vorjahr. 😉



  • Nun, AES zu implementieren ist nicht schwer. Man muss eigentlich nur vom Paper abschreiben. 🙂



  • knivil schrieb:

    Nun, AES zu implementieren ist nicht schwer. Man muss eigentlich nur vom Paper abschreiben. 🙂

    Mehr oder weniger. Genau wie cooky. Und alle Anderen. 😃
    Nein, aber mal ehrlich - ganz ohne ist das nicht. Ich denke, keiner kann wirklich AES implementieren ohne zu wissen was ein Galoiskörper ist.
    (Edit: Hmm, doch.)
    Die Multiplikation hat mir schon ein ganz klein wenig zu schaffen gemacht - dass dafür so ein richtiger Algo nötig ist, ahnte ich nicht.
    Ich dachte zuerst, man multipliziert und nimmt Modulo des irreduziblen Polynoms (als Zahl 283). Kopf->Tisch

    Ethon schrieb:

    Du hast dich gewaltig gemacht im Vergleich zum Vorjahr. 😉

    Vielen Dank! 🙂



  • Na ja, also ich habe die Variante mit den Lookup-Tables implementiert, da muss man zumindest noch mal in's andere Paper gucken. 😉



  • Sone schrieb:

    knivil schrieb:

    Nun, AES zu implementieren ist nicht schwer. Man muss eigentlich nur vom Paper abschreiben. 🙂

    Mehr oder weniger. Genau wie cooky. Und alle Anderen. 😃
    Nein, aber mal ehrlich - ganz ohne ist das nicht. Ich denke, keiner kann wirklich AES implementieren ohne zu wissen was ein Galoiskörper ist.
    (Edit: Hmm, doch.)

    Kommt auch drauf an ob man vom Original-Paper abschreibt oder von einer Referenz-Implementierung. Oder nem Paper/Artikel der das ganze etwas erklärt -- sollte ja einiges zu dem Thema geben.

    Wenn man nur eine funktionierende, möglichst performante Implementierung will, dann nimmt man sich wohl am besten eine ... naja, funktionierende, möglichst performante Implementierung, überträgt die auf die gewünschte Zielplattform und tut halt schön linear optimieren wo man was zu optimieren findet.





  • cooky451 schrieb:

    Na ja, also ich habe die Variante mit den Lookup-Tables implementiert, da muss man zumindest noch mal in's andere Paper gucken. 😉

    Wieso? Ist die Variante nicht einfach, dass man bspw. alle Multiplikationen im Galoiskörper vorberechnet o.ä.? Das kannst du aber auch ohne Paper, oder nicht?



  • Das Orginalpaper ist ganz gut. Ich hatte nur das.



  • Sone schrieb:

    Wieso? Ist die Variante nicht einfach, dass man bspw. alle Multiplikationen im Galoiskörper vorberechnet o.ä.?

    Kommt drauf an was du mit o.ä. meinst, man berechnet deutlich mehr vor als das.

    knivil schrieb:

    Das Orginalpaper ist ganz gut. Ich hatte nur das.

    Yep, da sollte auch der Trick mit den 4 Tables drin beschrieben sein. Schade, dass man das heute wegen Timing Angriffen nicht mehr benutzen kann.


Anmelden zum Antworten