Gast
#5299686
Hi! Ich möchte gerne eine kleine Tastatur bauen, die aus zwei (oder mehr) Hälften besteht, die über ein einfaches Kabel verbunden sind (UART). Irgendwo ist dann ein USB-Adapter, der mein UART nach USB-HID übersetzt. Damit nicht jede Passworteingabe über das UART (oder später Funk) an jeden Blödmann abgestahlt wird, möchte ich die Daten, die von der Tastaturhälfte gesendet werden, mit AES verschlüsseln. (Dabei soll etwa alle 10ms gesendet werden, welche Tasten zwischenzeitlich gedrückt wurden (evtl. gar keine), und wie der Trackpoint bewegt wurde. 128 Bit (ein AES-Block) reichen dafür locker, sogar inkl. CRC und 32 Bit Zufall, um EBC statt CBC benutzen zu können.) Der Schlüssel soll im EEPROM gespeichert werden (mit Lockbits), oder (wenn noch nicht ausgetauscht) beim Einschalten über ECC ausgetauscht werden. Also: Der Empfänger generiert ein Schlüsselpaar, sendet den öffentlichen Schlüssel, und der Sender verschlüsselt damit einen zufälligen AES-Schlüssel. (In die andere Richtung sollte keine Verschlüsselung nötig sein. Andernfalls: Diffie-Hellman.) Meine Probleme bis jetzt sind: Ich habe einige Berichte über AES- und ECC-Implementierungen auf Atmega gefunden (jeweils locker schnell genug), jedoch finde ich nirgendwo den Quelltext. Kennt jemand die Bezugsquelle für solchen Quelltext (AES und ECC inkl. Schlüsselerzeugung, und Ver-/Entschlüsselung eines anderen Schlüssels)? Selbst nachprogrammieren möchte ich das lieber nicht. Ich brauche auch nicht unbedingt den AVR; ein anderer Controller, den Privatpersonen günstig programmieren können, wäre auch in Ordnung. Ein anderer Ansatz (als AES und ECC) wäre auch in Ordnung. Gruß, Tuxpilot P. S.: 1. Wo ich etwas wie einen Trackpoint (Mini-Joystick) herkriege, ist eine andere Frage. 2. Das UART-Kabel dient dazu, die Tastaturhälften trennen zu können, insbesondere um auch nur eine einzelne Hälfte benutzen zu können.