note: I apologize in advance for any errors I may make. Letters are numbers too of course, but I meant that if your key has a specific format then you have to do an extra step to compress your key to raw binary (and you have to be able to reverse that operation from any binary string), otherwise the result of the DH-exchange is "not a key" For DH-exchange the key can be arbitrarily long, but when it's several KB's long it becomes somewhat slow (prohibitively slow for 10KB+)