Key derivation functions and their GPU implementation
Ondrej Mosnáček · 2015
Funkcie pre odvodenie kľuca (angl. key derivation functions) su kľucovým prvkom mnohých kryptografických aplikacii. Funkcie pre odvodenie kľuca založene na hesle (angl. password-based key derivation functions) su specialne navrhnute na odvodzovanie kryptografických kľucov zo zdrojov s nizkou entropiou (napr. hesiel ci heslových fraz) a tak, aby odolali utokom hrubou silou a slovnikovým utokom. Avsak najrozsirenejsi standard pre odvodzovanie kľucov na zaklade hesla, PBKDF2, tak, ako je implementovaný vo vacsine aplikacii, je veľmi nachylný na utoky pomocou grafických procesorov (angl. Graphics Processing Unit, GPU). Vďaka svojej vysoko paralelnej architekture su GPU idealne na vykonavanie grafických výpoctov. Po case sa ukazalo, že GPU je taktiež možne využiť v sirokom množstve iných praktických aplikacii (vratane kryptografie). V tejto praci analyzujeme, ako dizajn PBKDF2 umožňuje efektivne utoky pomocou GPU a uvadzame možne alternativy, ktore riesia tento problem. Ďalej uvadzame a analyzujeme výsledky výkonnostných merani PBKDF2 spustených na sucasných bežných procesoroch a GPU. Nakoniec uvadzame ukažkový program, ktorý využiva GPU hardver na vykonanie utoku hrubou silou alebo slovnikoveho utoku na diskovu oblasť zasifrovanu podľa standardu LUKS.