Foundations of Cryptography: Concepts and Terminology
Foundations of Cryptography: Concepts and Terminology
1. Introduction: The Art and Science of Secrecy
The human desire to communicate secretly is as old as communication itself. From the moment our ancestors first shared information that they wished to keep from others—strategies for hunting, warnings of danger, or expressions of love that were not meant for public consumption—the need to obscure meaning from unintended recipients became apparent. This need gave birth to cryptography, the discipline concerned with the study and practice of techniques for secure communication in the presence of adversaries. Over the millennia, cryptography has evolved from a craft practiced by scribes and military commanders using simple substitution methods to a rigorous mathematical science that underpins the security of the modern digital infrastructure. Understanding this transformation, and the conceptual framework that underlies it, is the essential first step for anyone seeking to master the field.
This book traces the complete arc of cryptographic development, from the ancient ciphers that protected military communications to the quantum cryptographic systems that promise to secure communications against the computational power of quantum computers. Along this journey, we will encounter elegant mathematical structures, ingenious algorithmic designs, and the perpetual contest between those who seek to protect information and those who seek to uncover it. Before we can appreciate the sophisticated techniques of modern cryptography, however, we must establish a solid foundation in the fundamental concepts and terminology that permeate the entire field. This chapter serves that purpose: it introduces the core objectives that cryptography seeks to achieve, defines the essential vocabulary that practitioners use, explores the historical context that shaped the discipline, and prepares readers for the mathematical tools that will be deployed throughout the subsequent chapters.
2. Fundamental Objectives of Cryptography
At its core, cryptography is driven by a set of well-defined security objectives. While the specific mechanisms and algorithms vary widely across different cryptographic systems, they all seek to provide certain guarantees about information security. The most widely recognized framework for understanding these objectives is the CIA triad, which stands for Confidentiality, Integrity, and Authentication. To these three, modern cryptography typically adds a fourth objective: Non-repudiation. Each of these objectives addresses a distinct aspect of security, and understanding their differences is fundamental to appreciating why cryptography takes the forms it does.
2.1 Confidentiality
Confidentiality, perhaps the most intuitive of the security objectives, refers to the property that information is not disclosed to unauthorized individuals, entities, or processes. When we speak of keeping a message confidential, we mean that only the intended recipients—and not anyone else who might intercept or otherwise gain access to the communication—can understand the message's content. In cryptographic terms, confidentiality ensures that sensitive information remains private between the designated parties.
The classical applications of confidentiality are well-known: military dispatches that must not fall into enemy hands, diplomatic correspondence that could damage international relations if exposed, and personal communications that individuals wish to keep private. In the modern digital context, confidentiality extends to a vast range of applications, from protecting the content of emails and instant messages to securing credit card numbers transmitted during online transactions, from safeguarding medical records to protecting classified government databases. Without confidentiality, the privacy of individuals and the competitive advantages of organizations would be constantly at risk.
Confidentiality is achieved through encryption, the process of transforming readable plaintext into an unreadable form called ciphertext. The transformation is parameterized by a key, and only parties possessing the appropriate key can reverse the transformation to recover the original plaintext. We will examine encryption in considerable detail throughout this book, exploring both symmetric encryption schemes, where the same key is used for encryption and decryption, and asymmetric encryption schemes, where different keys serve these complementary purposes.
2.2 Integrity
Integrity refers to the property that data has not been altered or destroyed in an unauthorized manner. Unlike confidentiality, which concerns the visibility of information, integrity concerns its correctness and completeness. A communication system provides integrity assurance when the recipient can verify that the message received is exactly the message that was sent, without any unauthorized modifications having occurred during transmission.
The importance of integrity becomes apparent when we consider the potential consequences of undetected tampering. Consider a financial transaction: if an attacker could modify the amount being transferred without detection, they could divert funds to their own accounts. Consider a software update: if a malicious party could alter the update to include malware, users who believe they are installing legitimate software would instead receive compromised code. Consider a legal document: if the terms could be changed after signing without anyone noticing, the document's value as evidence would be destroyed.
Cryptographic mechanisms for ensuring integrity include hash functions and message authentication codes (MACs). A hash function computes a fixed-size digest of a message such that any change to the message produces a different digest with overwhelming probability. A MAC, which combines a cryptographic key with a hash function, allows the recipient of a message to verify both its integrity and its authenticity, confirming that the message originated from a party possessing the appropriate key.
2.3 Authentication
Authentication refers to the process of verifying the identity of a communicating party or the origin of information. In essence, authentication answers the question: "Is this person or entity really who they claim to be?" Without authentication, an attacker could impersonate a legitimate user, a trusted server, or any other entity in a communication, potentially gaining access to sensitive information or performing unauthorized actions.
Authentication manifests in several forms. Entity authentication, also called identification, verifies the identity of a party at a specific point in time—for example, when a user logs into a computer system by providing a password, the system authenticates the user's identity. Data origin authentication, on the other hand, verifies that data originated from a particular source and was not, for instance, fabricated by an intermediate party along the communication path. Message authentication codes, mentioned above in the context of integrity, provide data origin authentication. Digital signatures, which we will encounter in the chapters on asymmetric cryptography, provide a powerful mechanism for both integrity and non-repudiation.
It is worth noting that authentication and confidentiality are distinct objectives that can be achieved independently. A system can provide confidentiality without authentication (anyone can read the messages, but only the intended recipient can understand them) and authentication without confidentiality (the identity is verified, but the message content is visible to all). Modern cryptographic protocols typically provide both, but understanding their independence is important for proper system design.
2.4 Non-Repudiation
Non-repudiation refers to the ability to prevent a party from denying a previous action or commitment. In legal and commercial contexts, non-repudiat