Cryptography techniques play an important role in modern world. The purpose of such techniques is to ensure the contents being unreadable to anyone except for parties who agreed to use some specific scheme. Moreover, current cryptography techniques provide more sophisticated services, such as message integrity, authentication, time stamping, and many others. There are two main approaches for cr...