Novel Techniques Of Using Diversity In Software Security And Information Hiding