#Python 3, 130 bytes from random import* def f(x):l=len(x);k=str(randint(10**~-l,~-10**l));print(''.join(chr(ord(i)+int(j))for i,j in zip(x,k))+'\n'+k) A function that takes input via argument as a string and prints to STDOUT. (This can easily be converted to a full program, which I will do later if this is still required.) [Explanation and test link coming later]