Key derivation function ( KDF ) on funktio, joka luo yhden tai useamman salaisen avaimen salaisen arvon (pääavain, salasana tai tunnuslause) perusteella käyttämällä näennäissatunnaista funktiota [1] [2] . Avaimen johtamistoiminnolla voidaan luoda halutun pituinen tai -muotoinen avain. Esimerkki tästä on Diffie-Hellman-protokollan tuloksena saadun salaisen avaimen muuntaminen symmetriseksi avaimeksi käytettäväksi AES -algoritmissa . Usein kryptografisia hajautusfunktioita käytetään näennäissatunnaisena funktiona avaimen luomiseen [3] .
Joitakin yleisesti käytettyjä avainten luontialgoritmeja ovat bcrypt , PBKDF2 , scrypt .
Avaimen johtamistoimintoa käytetään usein yhdessä ei-salaisten parametrien kanssa yhden tai useamman salaisen avaimen johtamiseksi jaetun salaisen arvon perusteella. Tällainen käyttö voi estää luodun avaimen hallussaan pitävää hyökkääjää tietämästä alkuperäistä salaista arvoa tai mitään luoduista avaimista. Avaimen johtamistoimintoa voidaan käyttää sellaisen avaimen luomiseen, joka täyttää halutut halutut ominaisuudet (esim. heikkojen avainten eliminointi joissakin salausjärjestelmissä).
Salasanapohjaisia avainten luontitoimintoja käytetään usein salasanojen hajauttamiseen ja niiden vahvistamiseen. Tässä tapauksessa ei-salaista parametria, jota käytetään yhdessä salaisen salasanan kanssa, kutsutaan suolaksi . Vuonna 2013 julkistettiin riippumaton avoin kilpailu Password Hashing Competition uuden salasanan hajautustoiminnon kehittämiseksi. Kilpailu päättyi 20. marraskuuta 2015, voittajaksi valittiin Argon2- algoritmi [4] . Voittajan lisäksi neljä algoritmia sai erityistunnustuksen: Catena , Lyra2 , Makwa ja yescrypt .