Un generador de claves[1]​[2]​[3]​ es un protocolo o algoritmo que se utiliza en muchos protocolos criptográficos para generar una secuencia con muchas características pseudoaleatorias. Esta secuencia se utiliza como clave de cifrado en un extremo de la comunicación y como clave de descifrado en el otro. Se puede implementar un generador de claves en un sistema que tiene como objetivo generar, distribuir y autentificar[4]​ las claves de manera que sin la clave privada no se pueda acceder a la información en el extremo público.[5]​
Algunos ejemplos de generadores de claves son los registros de desplazamiento de retroalimentación lineal (LFSR, por sus siglas en inglés) y el cifrado Solitaire (o Pontifex). Uno de los ejemplos más comunes de generadores de claves sería el protocolo bitcoin en el que se utilizan los algoritmos SHA-256 y Secp256k1[6]​ para garantizar que los fondos solo puedan ser gastados o movidos por sus legítimos propietarios.[7]​