I could suggest a small improvement: a diceware password instead of directly taking the output of /dev/urandom. That would allow you to easily and securely exchange the symmetric key by typing it.
Also, /dev/urandom instead of /dev/random (as seed to diceware).