1. A computing device comprising: a memory comprising a stack, the stack including a return address location; and a stack protection engine operable for: receiving a return address; encoding at least a portion of the return address with a cipher; and placing the return address in the return address location of the stack.