Wie wurde calc.pw programmiert?

calc.pw wurde mit großer Rücksicht auf eine einfache Portierbarkeit entwickelt. Die Backend-Library "cryptuino" lässt sich sowohl für die Arduino-Plattform als auch für andere Little-Endian-Plattformen wie x86- und x64-Systeme kompilieren. Big-Endian-Unterstützung wurde vorbereitet, kann jedoch mangels einer Testplattform nicht abschließend implementiert werden.

Die Kernfunktionalität von calc.pw inklusive der Algorithmen zur Passwortgenerierung wurden in der Library "cryptuino" gekapselt. Diese enthält einen eigenen Speichermanager, eine Crypto-Suite bestehend aus SHA-1 und Arc4, sowie ein Kompatibilitätslayer für PROGMEM.

Dank dieser Plattformunabhängigkeit existiert neben den Hardware-Revisionen A bis C auch eine Software-Revision 1, die sowohl unter Windows als auch unter unixoiden Systemen kompilierbar ist und bei gleicher Masterpasswort- und Informationseingabe die gleiche Passwortausgabe erzeugt.

Revision 1 Mac OS X Revision 1 Windows
(Revision 1 unter Mac OS X und Windows)

Für die Anbindung der USB-Tastatur wurde die USB-Host-Shield-Library von Circuits@Home verwendet. Dessen Behandlung der Steuertasten wurde um ein Event erweitert. Aufgrund eines Problems mit dem HID-Keyboard-Emulator des Arduino Leonardo musste eine Anpassung des Arduino-Cores vorgenommen werden. Diese ermöglicht es, die Tastatureingaben ohne weitere Verarbeitung an den Computer weiterzugeben.

Darüber hinaus wurde ein Mechanismus implementiert, mit dem es möglich ist, calc.pw mit verschiedenen Tastaturlayouts zu betreiben. Hierzu wird der 1kb große EEPROM des Arduino-Boards verwendet. In diesen wird eine Layoutdatei geschrieben, die bei Eingaben über die Tastatur als Übersetzung zwischen den Scancodes der Tastatur und den Zeichen der ISO 8859-1 dient.

Inhalt:

  1. Weshalb calc.pw?
  2. Wie funktioniert calc.pw?
  3. Wie muss ich die Information eingeben?
  4. Wie funktioniert die Passwortgenerierung?
  5. Wie wurde calc.pw aufgebaut?
  6. Wie wurde calc.pw programmiert?
  7. Was hat es mit den Tastaturlayouts auf sich?
  8. Wer steckt hinter calc.pw?
  9. Downloads
© 2013-2016 Kenneth Newwood (@weizenspreu)
no-www.org extra-www.org IPv6 ready
Datenbank: 27 Abfragen | Generierung: 0,21353 Sekunden Top