Cryptography Engineering, Teil 4: AES auf AVR ATmega

Seite 3: Hardware

Inhaltsverzeichnis

Selbstverständlich ist die Software auch auf echter AVR-Hardware lauffähig. Für die hier vorgestellten Funktionen reicht eine einfache Hardware aus, die sogar ohne geätzte Platine auskommt. Es genügt zum Aufbau eine Lochrasterplatine im Format 100 x 50 mm (siehe Abbildung 5). Mit etwas Geschick mit dem Lötkolben lässt sich so eine einfache Basis für eigene kryptografische Experimente auf dem AVR erstellen. Die Leiterbahnen erfordern zitterfreie Hände und ein gutes Auge, lassen sich dann aber problemlos löten.

Bestückte Lochplatine mit ATmega32 und Ampellichtern (Abb. 5)

Zum Aufbau des Boards sind neben der Lochrasterplatine, ausreichend Silberdraht und Lötzinn folgende Bauteile notwendig:

R1 bis R8 Widerstand, 1 k
C1, C2 Keramikkondensator 22 pF
C3 Keramikkondensator 47 pF
T1 Impulstaster
LED1, LED4, LED7 LED 3mm, rot
LED2, LED5 LED 3mm, gelb
LED3, LED6 LED 3mm, grün
Q1 Quarz, 16 MHz
K1 5x2 Flachkabelverbinder
K2 Stiftleiste, 6-polig
IC1 IC-Sockel DIL40 breit
AVR ATmega32 16 MHz

Die Leiterbahnen der Lochplatine liegen dicht beieinander, lassen sich aber problemlos löten (Abb. 6).

Der Anschluss der Schaltung erfolgt über ein FTDI USB-Seriell-Konverterkabel (5 V) und die USART-Steckleiste (K2 im Schaltplan) an den USB des PC. Hier ist unbedingt beim Einstecken auf die korrekte Polung zu achten.

Neben den Bauteilen und der Lochplatine (ca. 20 bis 25 Euro) schlägt das FTDI-Kabel mit rund 25 Euro zu Buche. Für die Programmierung des ATmega ist ein Programmieradapter notwendig. Daneben benötigt man ein ISP-Programmiergerät, wie der kostengünstige USBprog. Allerdings lässt sich auch mit einfacheren Adaptern die Schaltung programmieren, wie dem in Schäffers Buch "AVR: Hardware und C-Programmierung in der Praxis" dargestellten Programmer für die parallele Schnittstelle. Bevor man sich allerdings an die Umsetzung dieser kleinen Hardware heranwagt, sollten ein paar Erfahrungen gesammelt worden sein. Einen guten Einstieg bietet hier wiederum Schäffers Werk.

Alternativ lässt sich der Sourccode der Beispielimplementierung anpassen, sodass andere Ports verwendet werden. Damit kann man das Beispiel auch auf Entwicklungs- und Evaluationsboards einsetzen. Der Kryptografie zum Anfassen steht dann nichts mehr im Wege.

Oliver Müller
ist freiberuflicher IT-Berater und -Trainer mit den Schwerpunkten Software Engineering, Kryptografie, Java EE, Linux, Unix, z/OS und OpenVMS.

  1. National Institute of Standards (Hrsg.); Announcing the Advanced Encryption Standard (AES); Federal Information Processing Standards Publication 197: November 26, 2001
  2. Alfred J. Menezes, Paul van Oorschot, Scott Vanstone; Handbook of Applied Cryptography; CRC Press 1997
  3. Darrel Hankerson, Alfred J. Menezes, Scott Vanstone; Guide to Elliptic Curve Cryptography; Springer 2004
  4. Florian Schäffer; AVR: Hardware und C-Programmierung in der Praxis; Elektor 2. Aufl. 2008

(ane)