> user interface
Yeah, if you are implementing it for other users, you can be forced to put backdoors. All bets are off. I mean encryption for your own use. All you need is a hashing algorithm like sha256 and your key.
> randomness Why would you trust a computer with randomness. Take a picture, and hash it... Not so hard.
> 3rd party encryption is probably backdoored even in "state of the art" nsa employees hands. I doubt they trust their own employees. They know they probably have double agents around.