Resources | Subject Notes | Computer Science
This section explores the fundamental concepts of encryption, how secure communication is established using protocols like SSL/TLS, and the role of digital certificates in verifying identities.
Encryption is the process of converting readable data (plaintext) into an unreadable format (ciphertext) to protect its confidentiality. Decryption is the reverse process of converting ciphertext back to plaintext.
Hashing is a one-way function that takes an input and produces a fixed-size output (hash value). It's used for data integrity checks. If the input data changes, the hash value will also change.
SSL (Secure Sockets Layer) and its successor TLS (Transport Layer Security) are cryptographic protocols that provide secure communication over a network. They are commonly used to secure web traffic (HTTPS).
A cipher suite specifies the algorithms used for key exchange, encryption, and message authentication. Common components include:
Phase | Action | Data Transferred |
---|---|---|
Client Hello | Client sends its supported cipher suites. | Client's supported cipher suites |
Server Hello | Server selects a cipher suite and sends its certificate. | Server's selected cipher suite, Server's certificate |
Certificate Verification | Client verifies the server's certificate. | Server's certificate |
Key Exchange | Client and server exchange keys. | Session key |
Encrypted Communication | Data is encrypted and sent. | Encrypted data |
A digital certificate is an electronic document that verifies the identity of a website or other entity. It contains information such as the entity's public key, its name, and the issuing Certificate Authority (CA).
CAs are trusted organizations that issue and manage digital certificates. Web browsers have a list of trusted CAs.
When a client connects to a server using SSL/TLS, the server presents its digital certificate. The client verifies the certificate by checking: