Die Wahl der Chiffrierart (dritter Schalter in Tabelle 1) entscheidet darüber, ob der Schlüssel als Text oder in hexadezimaler Form vorliegen muss (Schalter 4 und 5 in Tabelle 1). Speziell diese Wahl ist von großer Tragweite. Das Script unterstützt zurzeit drei verbreitete Verschlüsselungsverfahren, nämlich DES, 3DES und AES:
• (Bezeichnung des Chiffrier-Schalters: »descbc «) ermöglicht die zügigste, aber auch unsicherste Verschlüsselung. Das Verfahren verwendet einen Textschlüssel mit einer Länge von acht Zeichen oder einen hexadezimalen Schlüssel von 64 Bit. Da DES nur 7 Bit pro Byte nutzt, beträgt die effektive Schlüssellänge 56 Bit.
• (Bezeichnung des Chiffrier-Schalters: »3descbc «) beruht darauf, dass der normale DES-Algorithmus dreimal hintereinander mit verschiedenen Schlüsseln ausgeführt wird. Diese Technik ist damit sicherer als DES, doch braucht die Verschlüsselung länger. Für dieses Chiffrierverfahren muss entweder ein 24 Zeichen langer Textschlüssel oder ein 192-Bit-Schlüssel in hexadezimaler Form vorgegeben werden.
• (Bezeichnung des Chiffrier-Schalters: »aes128-cbc«) ist das sicherste und dabei noch einigermaßen schnelle Verschlüsselungsverfahren, für das entweder ein Textschlüssel mit 16 Zeichen oder ein hexadezimaler Schlüssel mit 128 Bit erforderlich ist. Für die meisten IP-Elemente ist diese Methode die beste Wahl. Die Befehlszeile zur Verschlüsselung eines hypothetischen IP-Elements mit der Bezeichnung »memory.v« unter Verwendung des AES-Verfahrens und mit dem Textschlüssel »MY_AES_SAMPLEKEY« sowie für die Speicherung des Ergebnisses in der Datei »memory_ip.v« würde demnach wie folgt lauten:
protectip -in
memory.v -out
memory_ip.v -c
aes128-cbc -k
MY_AES_SAMPLEKEY -om
persistent_key -v
Mehrere erste Nutzer, nämlich die Firmen Synplicity, Aldec und Lattice Semiconductor, haben die Fähigkeiten dieser offenen Verschlüsselungsmethode getestet und erprobt. Seit der formellen Ankündigung der Technik im Juni 2006 ist das Interesse unter den IP-Providern und EDA-Anbietern gleichermaßen groß. Die Ausweitung des Einsatzes bildet die nächste wichtige Voraussetzung dafür, dass dieses Konzept sein Potenzial vollständig entfalten kann, IP- und EDA-Anbieter von bisherigen Beschränkungen zu befreien und den IC-Designern neue Möglichkeiten zu erschließen. Mit diesem Ziel vor Augen beteiligt sich auch Synplicity an der Wahl einer Standardisierungsorganisation, welche diese Technik umsetzt. Mit dem Status und der Unterstützung einer Standardisierungsorganisation wird es dem Verfahren möglich sein, rascher einen großen Bestand an EDA-Anbietern und IP-Providern für sich zu gewinnen.
| Schalter | Beschreibung |
| -in input_file_name | Bezeichnung der zu verschlüsselnden Verilog-Datei |
| -out output_file_name | Bezeichnung der verschlüsselten Datei |
| -c symmetric_cipher_name | Zur Zeit werden die Chiffrierschalter »des-cbc«, »3des-cbc« und »aes128-cbc« unterstützt |
| -k text_key | Geheimer Schlüssel im Textformat (nicht zusammen mit -kx!) |
| -kx hex_key | Geheimer Schlüssel im Hex-Format (nicht zusammen mit -k!) |
| -a string | Identifiziert den Autor des verschlüsselten Codes (optional) |
| -dkn string | Name des Datenschlüssels (optional) |
| -dko string | Identifiziert den Besitzer des Datenschlüssels (optional) |
| -om output_method | Spezifiziert den Synplify-Output: »none« oder »persistent_key« |
| -v | »verbose mode«, liefert detaillierten Report des Verschlüsselungsfortschritts |
| Tabelle 1. Schalter im Perl-Script "protectip" zur IP-Verschlüsselung | |
Autor:
Andrew Dauman ist Senior Vice President of Worldwide Engineering bei Synplicity.
Synplicity
Telefon 089/93 08 62 52
www.synplicity.com
Verwandte Artikel:
Flash-FPGAs als Basis kopiersicherer POS-Terminals
Synthetisierbare 32-bit-Cores