23
COOL HASHING MIT FPGAS Robert Bachran Dresden, 16.1.2012

Cool Hashing mit FPGAs - TU Dresden...Long M., Implementing Skein Hash Function on Xilinx Virtex-5 FPGA Platform,Intel Corporation, 2009 Damiani E., Tettamanzi A. G. B., Liberali V.,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • COOL HASHING MIT FPGAS

    Robert Bachran

    Dresden, 16.1.2012

  • Einführung

    GrundlagenKriterien für gute HashverfahrenGrundlagen FPGAs

    Hashverfahren auf FPGAsSkein auf FPGAEvolutionäre Hashverfahren

    Energiesparendes Rechnen

    ZusammenfassungTU Dresden, 16.1.2012 Cool Hashing Folie 2 von 18

  • 02 Kriterien für gute Hashverfahren

    Allgemeine Forderungen:

    • Datenreduktion• Zufälligkeit• Eindeutigkeit• Effizienz

    zusätzliche Forderungen:

    • Kollisionsfreiheit• Unumkehrbarkeit

    TU Dresden, 16.1.2012 Cool Hashing Folie 2 von 18

  • 02 Was sind FPGAs?

    • bestehen aus vielenLogikelementen (ConfigurableLogic Block)

    • CLBs können jede beliebigeFunktion darstellen

    • realisiert durch SRAM-Zellenoder Antifuse-Technik

    • SRAM beliebig oftrekonfigurierbar

    • vor Start jedoch neukonfigurieren

    TU Dresden, 16.1.2012 Cool Hashing Folie 3 von 18

  • 02 Beschaltung von FPGAs

    • meist in Hardwarebeschrei-bungssprachen wieVHDL

    • Programm wird über serielleSchnittstelle in Flashgespeichert

    • bei Neustart Beschaltung ausFlash laden

    TU Dresden, 16.1.2012 Cool Hashing Folie 4 von 18

  • 03 Grundlagen Skein und verwendeter FPGA

    Skein:

    • basiert auf der Threefish Blockverschlüsselung• 72 Runden bei einer Blockgröße von 256 oder 512• 80 Runden bei 1024

    verwendeter FPGA:

    • Xilinx Virtex-5 LX50T• 550Mhz

    TU Dresden, 16.1.2012 Cool Hashing Folie 5 von 18

  • 03 technische Realisierung

    • 1:1 Übernahme desAlgorithmus

    • key scheduling block erstelltrundenweise neuen Schlüssel

    • Round Block stellt dieThreefish Verschlüsselungdar.

    • eine Runde pro Takt• Ausgang wird mit Eingang

    XOR verknüpft

    TU Dresden, 16.1.2012 Cool Hashing Folie 6 von 18

  • 03 Ergebnis

    FPGALeistung

    Skein 256 Skein 512 Skein 1024

    LUTs 3723 7029 14237

    MinimaleTakt Periode

    (ns)

    8,7 8,7 11,79

    Durchsatz(Gbps)

    0,409 0,817 1,1

    TU Dresden, 16.1.2012 Cool Hashing Folie 7 von 18

  • 03 Evolutionäre Hashverfahren

    • Algorithmen, die sich an die Evolutionstheorie anlehnen

    • Verbesserung durch Mutation, Kreuzung und Selektion

    • viele Algorithmen bekannt

    • schwer für Hardware umzusetzen

    • Flexibilität der FPGAs sehr nützlich

    TU Dresden, 16.1.2012 Cool Hashing Folie 8 von 18

  • 03 Prinzipielle Technik

    Verwendete Techniken

    • Beschaltung nach der GammaCircuit Topology

    • sehr einfacher evolutionärerAlgorithmus

    • Jede Zelle wird durch 5Zahlen je 16Bit dargestellt

    TU Dresden, 16.1.2012 Cool Hashing Folie 9 von 18

  • 03 Material & Ergebnisse

    Material:

    • Xilinx XC3020• basiert auf SRAM• 8x8 CLBs

    Ergebnisse:

    • Bester Schaltkreis wurde nach 13911 Generationen erstellt• Evolution bestand meistens aus 3 Phasen:

    – beste Kombinationen für Funktionsblöcke– jeder Input baute sich einen Weg– erhöht die Verbindungen zwischen den Zellen

    TU Dresden, 16.1.2012 Cool Hashing Folie 10 von 18

  • 04 Energieverhältnisse eines FPGA

    • Energieverbrauch steigt mitTaktfrequenz

    • Taktverringerung jedoch nichtwünschenswert

    • Verdrahtung verbraucht denmeisten Strom

    • Verbesserung auf Architektur-und Schaltkreisebene

    TU Dresden, 16.1.2012 Cool Hashing Folie 11 von 18

  • 04 Reduktion auf Schaltkreisebene

    • Verbindungskosten hoch beidirekter Übertragung

    • geringere Stromübertragung= weniger Energieverbrauch

    • realisiert durchTransformation

    • Senkung der Kosten umFaktor 2

    TU Dresden, 16.1.2012 Cool Hashing Folie 12 von 18

  • 04 Reduktion auf Architekturebene

    • 3 Ebenen der Architektur– Direkte

    Nachbarumgebung– Maschenarchitektur– Hierarchische

    Verbindungen

    • Direkte Nachbarumgebung:– CLBs in direkter

    Umgebung– je mehr Nachbarn,

    desto höher derVerbrauch

    – Verbindung zu 8 istenergiesparend

    TU Dresden, 16.1.2012 Cool Hashing Folie 13 von 18

  • 04 Verbindungen auf höheren Ebenen

    • Maschenarchitekur:– Verbindungen über längere Distanzen– keine Änderungen nötig

    • Hierarchsische Verbindungen:– Verzögerungen vergrößern sich mit Anzahl der langen Verbindungen– Hierarchieebenen nötig– Inverse Clustering ist vorteilhaft

    TU Dresden, 16.1.2012 Cool Hashing Folie 14 von 18

  • 04 Verbindungen auf höheren Ebenen

    • Maschenarchitekur:– Verbindungen über längere Distanzen– keine Änderungen nötig

    • Hierarchsische Verbindungen:– Verzögerungen vergrößern sich mit Anzahl der langen Verbindungen– Hierarchieebenen nötig– Inverse Clustering ist vorteilhaft

    TU Dresden, 16.1.2012 Cool Hashing Folie 14 von 18

  • 04 Sparen durch Rekonfiguration

    • ungenutzte Hardware in Standby

    • ungenutze Hardware austauschen!!!

    • bei Funkübertragung nur benötigtes Modul laden

    • im energiesparsamen Modus nur Kern nötig

    TU Dresden, 16.1.2012 Cool Hashing Folie 15 von 18

  • 04 Sparen durch Rekonfiguration

    • ungenutzte Hardware in Standby

    • ungenutze Hardware austauschen!!!

    • bei Funkübertragung nur benötigtes Modul laden

    • im energiesparsamen Modus nur Kern nötig

    TU Dresden, 16.1.2012 Cool Hashing Folie 15 von 18

  • 04 Funktionsweise Partielle Rekonfiguration

    • jede benötigte Hardwarevorher synthetisiert

    • FPGA einmal vollständigbeschreiben

    • fester Kern bleibt immer• verschiedene

    Hardwarevarianten imSpeicher

    TU Dresden, 16.1.2012 Cool Hashing Folie 16 von 18

  • 05 Zusammenfassung

    • Hashverfahren schnell aufexternem FPGA

    • Optimierung mit FPGAmöglich

    • FPGAs könnenenergieeffizient beschriebenwerden

    • können sich speziellenAufgaben anpassen

    TU Dresden, 16.1.2012 Cool Hashing Folie 17 von 18

  • 05 Fragen

    TU Dresden, 16.1.2012 Cool Hashing Folie 18 von 18

  • 05 Quellen

    Literaturquellen:

    • Long M., Implementing Skein Hash Function on Xilinx Virtex-5 FPGAPlatform,Intel Corporation, 2009

    • Damiani E., Tettamanzi A. G. B., Liberali V., On-line Evolution ofFPGA-based Circuits: A Case Study on Hash Functions

    • Weicker K., Evolutionäre Algorithmen• Opitz F., Partielle Rekonfiguration von FPGA basierten SoCs:

    Seitenblicke

    • George V., Zhang H., Rabaey J., The Design of a Low Energy FPGA• Altera, FPGA Run-Time Reconfiguration: Two Approaches• Porrmann M., Griessl R., Herbrechtsmeier S., Rueckert U., A

    LOW-POWER VISION PROCESSING PLATFORM FOR MOBILEROBOTS

    TU Dresden, 16.1.2012 Cool Hashing Folie 19 von 18

  • 05 Quellen

    Internetquellen:

    • http://www.uni-protokolle.de/Lexikon/Hash-Funktion.html• http://www.schneier.com/skein.html, Niels Ferguson

    Zusätzliche Bildquellen:

    • http://www.fpga-talk.de/forum/public images/cyclone3 devkit.jpg,14.01.2012

    • http://cdn.head-fi.org/9/9d/9dc48f9f XilinxSpartanXC2S150.jpeg,14.01.2012

    • http://www.varbak.com/bilder/fragezeichen-auf-der-tastatur-nb10411.jpg,15.01.2012

    TU Dresden, 16.1.2012 Cool Hashing Folie 20 von 18

    EinführungGrundlagenKriterien für gute HashverfahrenGrundlagen FPGAs

    Hashverfahren auf FPGAsSkein auf FPGAEvolutionäre Hashverfahren

    Energiesparendes RechnenZusammenfassungAnhang