Buenas, creo que la confusión es más de fondo así que hago algunas aclaraciones:
Clave_t es un tipo de dato, que deben definir (en bits.h). Como tal, una variable puede tener el tipo de dato Clave_t. Particularmente, se puede definir una variable de tipo Clave_t, y una función puede esperar una variable de tipo Clave_t como entrada.
Hay tres funciones en el obligatorio que reciben (además de otras eventuales entradas) una variable de tipo Clave_t: ver_clave, rotar_clave, encriptar. En cualquiera de esas funciones, el nombre de la variable es clave. La función encriptar, por ejemplo, recibe una variable de tipo unsigned int, la variable buffer, y una variable de tipo Clave_t, la variable clave.
Sobre el autotest, el autotest no hace nada por ustedes, solo llama a las distintas funciones, con variables acordes, y chequea que den los resultados que esperamos.
Espero te sirva de puntapié, te recuerdo que para leer más sobre estructuras y tipo de datos, está el capítulo 6 del Kernigan&Ritchie, en la sección Tema 6 de este curso.