Kryptische Cores

11. April 2007, 15:42 Uhr | Andrew Dauman
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

DES

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. 

    SchalterBeschreibung
    -in input_file_name Bezeichnung der zu verschlüsselnden Verilog-Datei
    -out output_file_name Bezeichnung der verschlüsselten Datei
    -c symmetric_cipher_nameZur  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_keyGeheimer Schlüssel im Hex-Format (nicht zusammen mit -k!)
    -a stringIdentifiziert den Autor des verschlüsselten Codes (optional)
    -dkn stringName des Datenschlüssels (optional)
    -dko stringIdentifiziert den Besitzer des Datenschlüssels (optional)
    -om output_methodSpezifiziert 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:


    1. Kryptische Cores
    2. Kryptische Cores
    3. DES

    Jetzt kostenfreie Newsletter bestellen!