Ao ler a origem da cryptsetup, as partes relevantes são aqui e aqui , parece que o cryptsetup está lendo a chave do arquivo-chave, se estiver definido, ou stdin caso contrário. crypt_get_key parece estar lendo apenas o arquivo até DEFAULT_KEYFILE_SIZE_MAXKB com muita manipulação extra acontecendo, e crypt_get_key_tty parece similar, então eu acho que você poderia apenas ler o arquivo e usar seu conteúdo como a senha.