Oh god. Please don't use that code for anything remotely serious.
It's fine as a learning project, but please, PLEASE make that very clear in the readme.md then.
from random.c
srand(time(NULL));// seed
Here goes your security. All one needs to know is when you generated your keyfile. srand() and rand() ARE NOT secure for crypto applications.