Data Hiding - Theory and Algorithm