Kryptografie in Go

Die Programmiersprache Go eignet sich zur Implementierung kryptografischer Anwendungen. Für Passwort-Hashing und Zufallserzeugung empfehlen sich Zusatzpakete.

Lesezeit: 7 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Von

Inhaltsverzeichnis

Die Vorzüge der Programmiersprache Go bestehen unter anderem in der Einfachheit, oft fast nicht messbaren Kompilierzeiten, einer leistungsfähigen und vor allem sicheren Implementierung von Nebenläufigkeit mit Channels sowie hoher Fehlersicherheit – nicht zuletzt dank meist kurzer und klarer Compilerfehlermeldungen. Für einfache kryptografische Anwendungen wie die symmetrische Verschlüsselung von Daten, selbst noch mit per RSA chiffriertem Sitzungsschlüssel, reichen bereits die Standardpakete aus. Für mehr gibt es Zusatzangebote aus dem Pool freier Go-Software im Netz.

Programmieren mit GO

mehr anzeigen

Ein Demoprogramm soll die Chiffrierung eines Bytefelds mit AES im Counter Mode (CTR) zeigen. Dabei wird ein nicht geheimer, aber unbedingt zufälliger erster Block (Nonce) fortlaufend chiffriert und bei jedem Schritt inkrementiert, wobei man ihn als 128-Bit-Zahl auffasst. Der so entstehende Schlüsselstrom wird bitweise per XOR mit dem Klartext verknüpft und ergibt den Geheimtext.

Das Programm ist in folgendem Listing im Kern zu sehen und schnell erklärt: Die Nonce wird mit Zufallswerten von rand.Reader gefüllt und in den ersten Block des Geheimtextes geschrieben. aes.NewCipher(key) liefert eine neue Instanz einer Blockchiffre zurück, in der Algorithmus (AES) und Schlüssel enthalten sind. Alle Listings stehen auf den iX-Servern als Zip-Download bereit.

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+