Cryptography is the study and use of strategies for secure communication while third parties, known as adversaries, are present. It is concerned with the development and analysis of protocols that prohibit hostile third parties from accessing information exchanged between two entities, thereby adhering to different elements of information security. A scenario in which a message or data shared between two parties cannot be accessed by an adversary is referred to as secure communication. In cryptography, an adversary is a hostile entity that seeks to obtain valuable information or data by compromising information security principles. Modern cryptography, basic concepts include data confidentiality, data integrity, authentication, and non-repudiation.