In the field of computers and with the advent of the internet, the topic of secure communication has gained significant importance. The theory of cryptography and coding theory has evolved to handle many such problems. The emphases of these topics are both on secure communication that uses encryption and decryption schemes as well as on user authentication for the purpose of non-repudiation. Subsequently, the topics of distributed and cloud computing have emerged. Existing results related to cryptography and network security had to be tuned to adapt to these new technologies. With the more recent advancement of mobile technologies and IOT (internet of things), these algorithms had to take into consideration the limited resources such as battery power, storage and processor capabilities. This has led to the development of lightweight cryptography for resource constrained devices. The topic of network security also had to face many challenges owing to variable interconnection topology instead of a fixed interconnection topology. For this reason, the system is susceptible to various attacks from eavesdroppers. This book addresses these issues that arise in present day computing environments and helps the reader to overcome these security threats.