Now without a less autistic version of your program specifications my best advice is to look into how file binders work.
Yes file binders for if you expect not to have network access, but if your friend isn't that too much tech hence he doesn't have that firewall tightened up, then you could grab skype of the internetz.
I don't know where the encryption breaking comes in here and what are you planning to break but unless you want to starv off his really nice GPU, this might be a fagtron waste of time though i believe you will find a way to do it.
Next time do google please.
Finally, i think the best answer was to learn to program/code, read and google, then have some few brains around to be creative with the ideas you get from you googling.