Forum: Mikrocontroller und Digitale Elektronik AT32UC3A4 mit 66MByte/s AES-Verschlüsselung?


von Jan S. (jans)


Lesenswert?

Gerade schaue ich mir den AT32UC3A4 an, der eine AES Einheit integriert 
hat. Der AT32UC3A4 läuft mit 66MHz und auf Seite 883 im Datenblatt 
http://atmel.com/dyn/resources/prod_documents/doc32072.pdf steht, dass 
AES 16 Clockcycles im 256 Bit-Modus benötigt. Auf der nächsten Seite 884 
und bei Wikipedia steht, dass die Datenblöcke bei AES 128 Bit = 16 Byte 
groß sind. Nach meiner Rechnung ergibt dies: 66 MHz / 16 Zyklen x 16 
Byte = 66 MByte/s
Das erscheint mir eine unglaublich hohe Leistung zu sein. Habe ich mich 
verrechnet oder einen Denkfehler gemacht?!

von Jadeclaw D. (jadeclaw)


Lesenswert?

Weder noch. Du hast nur was vergessen: Die Daten müssen rein in die 
Registergruppe und auch wieder weggeschrieben werden. Und selbst mit DMA 
wären das nochmal 8 Takte nur für den Datentransport vom SRAM zur 
AES-Einheit und wieder weg. Der Transport zum SRAM hin und wieder weg 
nach draußen kommt noch oben drauf. Da bleibt von den 66MBytes/s nicht 
mehr soviel übrig.

Gruß
Jadeclaw.

von Jan S. (jans)


Lesenswert?

Du meinst also, dass je Datenblock noch mal 16 Takte für den 
Datentransfer nötig sind. Ist dann folgende Rechnung korrekt? 66 MHz / 
32 Zyklen x 16
Byte = 33 MByte/s

von Jadeclaw D. (jadeclaw)


Lesenswert?

Und dann muß das Zeug auch noch aus de CPU ganz raus auf den 
Massenspeicher. Das bremst noch zusätzlich. Ich denke mal, je nachdem 
wie gut du im Programmieren bist, sind zwischen 1 - 5 MByte/s drin.

Gruß
Jadeclaw

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.