Source: https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-6-encryption

[Revision notes](https://senecalearning.com/en-gb/revision-notes.md) › [IGCSE](https://senecalearning.com/en-gb/revision-notes/igcse.md) › [Computer Science](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science.md) › [Cambridge International](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international.md) › Encryption

# Encryption

Computer Science: Cambridge International GCSE, topic 1.2.6

## Encryption

If sensitive data is going to be transferred, then it is important that we keep it secure from third parties.

### Encryption

![Encryption](https://image-v2.cdn.app.senecalearning.com/2018-08/299fd687-0b03-4954-a77c-ecdb601d4f38/Security-Encryption-Code-Internet-Computer-.jpg)

- Encrypting data is the process of scrambling data according to a specific algorithm so that it cannot be read by third parties.
- Only the intended recipient will know how to decode the data.

### Keys

![Keys](https://image-v2.cdn.app.senecalearning.com/courseImages/biology/Edexcel/1%20Cells/keys%20and%20locks.jpg)

- A lot of encryption depends upon secret keys, which are shared secret pieces of data.
- Keys are made up of a pair of very large prime numbers, either 256 or 1,024 bits long.
- It would take an impractical amount of time to guess the key. So we say that the encryption is secure.

### Wireless communication

![Wireless communication](https://image-v2.cdn.app.senecalearning.com/2018-07/d76addcb-0eff-4c0e-9f52-81b2d3190629/Wirless-Controller-Wifi-WIC-Interface-.jpg)

- It is especially important to encrypt wireless communication. 
- Protocols exist for wireless communication, such as WiFi Protected Access version 2 (WPA2), which encrypt all traffic.

## Symmetric Encryption

The use of encryption is vital to protect our private information. One type of encryption is symmetric encryption.

### Symmetric encryption

![Symmetric encryption](https://image-v2.cdn.app.senecalearning.com/2020-03/a3b43307-a764-42d4-a1a4-3ab83c2ce529/cyber-security-min.jpg)

- Symmetric or private key encryption is used to encrypt data for transmission.
- A private key is used to convert plain text into cypher text. 
- This cypher text and private key are then transferred to another location or person. 
- The key is then used to decrypt the cypher back into plain text.

### Security

![Security](https://image-v2.cdn.app.senecalearning.com/2019-08/ceec0a51-33fc-4c62-b098-9e589f0a2be2/nail-computer-woman-.jpg)

- Using a single key to encrypt and decrypt text proposes a massive flaw in security, as anyone with the key can decrypt the cypher.
- As with passwords, the longer the encryption key, the less likely it is to be compromised by brute force, and so the more secure the encryption.

## Test yourself on Encryption

- A lot of encryption depends upon secret keys - what is a secret key?
- Which of the following is a well-known wireless communication encryption protocol?
- Symmetric Encryption
- Is the following statement true or false?
Anyone with the private key can decrypt the cypher text generated by symmetric encryption.

[Practise this topic for free](https://app.senecalearning.com/classroom/course/a91ea2d8-1487-49f1-a3c1-17e86c67462e/section/5b683dc5-b33b-41bc-b1eb-9b73e48f60f4/session)

- Previous topic: [1.2.5 Checksum & Echo Checks](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-5-checksum-and-echo-checks.md)
- Next topic: [1.3.1 Elements of Computer Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-1-elements-of-computer-systems.md)

## Computer Science: Cambridge International GCSE contents

### 1 Computer Systems
- 1.1 Data Representation
  - [1.1.1 Binary Numbers](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-1-binary-numbers.md)
  - [1.1.2 Negative Binary Numbers](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-2-negative-binary-numbers.md)
  - [1.1.3 Hexadecimal](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-3-hexadecimal.md)
  - [1.1.4 Using Hexadecimal](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-4-using-hexadecimal.md)
  - [1.1.5 Converting Binary & Hexadecimal](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-5-converting-binary-and-hexadecimal.md)
  - [1.1.6 Converting Denary & Hexadecimal](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-6-converting-denary-and-hexadecimal.md)
  - [1.1.7 Capacity](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-7-capacity.md)
  - [1.1.8 Calculating Capacity Requirements](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-8-calculating-capacity-requirements.md)
  - [1.1.9 Binary in Computer Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-9-binary-in-computer-systems.md)
  - [1.1.10 Data Compression](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-10-data-compression.md)
  - [1.1.11 Run Length Encoding](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-11-run-length-encoding.md)
  - [1.1.12 File Formats](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-1-12-file-formats.md)
- 1.2 Data Transmission
  - [1.2.1 Packet Switching](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-1-packet-switching.md)
  - [1.2.2 Data Transmission](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-2-data-transmission.md)
  - [1.2.3 Universal Serial Bus (USB)](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-3-universal-serial-bus-usb.md)
  - [1.2.4 Parity Check](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-4-parity-check.md)
  - [1.2.5 Checksum & Echo Checks](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-5-checksum-and-echo-checks.md)
  - [1.2.6 Encryption](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-2-6-encryption.md)
- 1.3 Hardware
  - [1.3.1 Elements of Computer Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-1-elements-of-computer-systems.md)
  - [1.3.2 Types of Computer System](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-2-types-of-computer-system.md)
  - [1.3.3 Von Neumann Architecture](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-3-von-neumann-architecture.md)
  - [1.3.4 The Fetch, Decode, Execute Cycle](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-4-the-fetch-decode-execute-cycle.md)
  - [1.3.5 Factors Affecting CPU Performance](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-5-factors-affecting-cpu-performance.md)
  - [1.3.6 Computational Logic](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-6-computational-logic.md)
  - [1.3.7 Input Devices](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-7-input-devices.md)
  - [1.3.8 2D & 3D Scanners](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-8-2d-and-3d-scanners.md)
  - [1.3.9 Code Readers](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-9-code-readers.md)
  - [1.3.10 Solid State Storage](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-10-solid-state-storage.md)
  - [1.3.11 Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-11-magnetic-storage.md)
  - [1.3.12 Examples of Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-12-examples-of-magnetic-storage.md)
  - [1.3.13 Optical Storage](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-13-optical-storage.md)
  - [1.3.14 Examples of Optical Storage](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-14-examples-of-optical-storage.md)
  - [1.3.15 Types of Optical disk](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-15-types-of-optical-disk.md)
  - [1.3.16 Storage Requirements](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-16-storage-requirements.md)
  - [1.3.17 Translation - Compilers](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-17-translation-compilers.md)
  - [1.3.18 Translation - Interpreters](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-18-translation-interpreters.md)
  - [1.3.19 Translation - Assemblers](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-19-translation-assemblers.md)
  - [1.3.20 Acoustic Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-20-acoustic-sensors.md)
  - [1.3.21 Flow Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-21-flow-sensors.md)
  - [1.3.22 Gas Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-22-gas-sensors.md)
  - [1.3.23 Humidity Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-23-humidity-sensors.md)
  - [1.3.24 Infrared Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-24-infrared-sensors.md)
  - [1.3.25 Level Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-25-level-sensors.md)
  - [1.3.26 Light Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-26-light-sensors.md)
  - [1.3.27 Magnetic Field Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-27-magnetic-field-sensors.md)
  - [1.3.28 Moisture Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-28-moisture-sensors.md)
  - [1.3.29 pH Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-29-ph-sensors.md)
  - [1.3.30 Pressure Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-30-pressure-sensors.md)
  - [1.3.31 Proximity Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-31-proximity-sensors.md)
  - [1.3.32 Temperature Sensors](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-32-temperature-sensors.md)
  - [1.3.33 Network Hardware](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-3-33-network-hardware.md)
- 1.4 Software
  - [1.4.1 Operating Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-4-1-operating-systems.md)
  - [1.4.2 Interrupts](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-4-2-interrupts.md)
  - [1.4.3 High-Level Languages](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-4-3-high-level-languages.md)
  - [1.4.4 Low-Level Languages](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-4-4-low-level-languages.md)
- 1.5 The Internet & its Uses
  - [1.5.1 The Internet](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-1-the-internet.md)
  - [1.5.2 Uniform Resource Locators (URLs)](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-2-uniform-resource-locators-urls.md)
  - [1.5.3 DNS](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-3-dns.md)
  - [1.5.4 HTML](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-4-html.md)
  - [1.5.5 Cookies](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-5-cookies.md)
  - [1.5.6 Web Hosting](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-6-web-hosting.md)
  - [1.5.7 Digital Currency](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-5-7-digital-currency.md)
- 1.6 Cyber Security
  - [1.6.1 Forms of Attack](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-1-forms-of-attack.md)
  - [1.6.2 Penetration Testing](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-2-penetration-testing.md)
  - [1.6.3 Types of Malware](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-3-types-of-malware.md)
  - [1.6.4 How Malware Spreads](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-4-how-malware-spreads.md)
  - [1.6.5 Protecting Against Malware](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-5-protecting-against-malware.md)
  - [1.6.6 Information Security](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-6-information-security.md)
  - [1.6.7 Structured Query Language (SQL) Injection](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-7-structured-query-language-sql-injection.md)
  - [1.6.8 Firewalls](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-8-firewalls.md)
  - [1.6.9 Authentication: User Access Levels](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-9-authentication-user-access-levels.md)
  - [1.6.10 Authentication: Passwords](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-10-authentication-passwords.md)
  - [1.6.11 Social Engineering](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-11-social-engineering.md)
  - [1.6.12 Phishing](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-12-phishing.md)
  - [1.6.13 Denial of Service Attacks](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-6-13-denial-of-service-attacks.md)
- 1.7 Automated & Emerging Technologies
  - [1.7.1 Automated Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-7-1-automated-systems.md)
  - [1.7.2 Robotics](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-7-2-robotics.md)
  - [1.7.3 Artificial Intelligence](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/1-7-3-artificial-intelligence.md)

### 2 Algorithms, Programming & Logic
- 2.1 Algorithm Design & Problem Solving
  - [2.1.1 Computational Thinking - Abstraction](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-1-computational-thinking-abstraction.md)
  - [2.1.2 Computational Thinking - Decomposition](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-2-computational-thinking-decomposition.md)
  - [2.1.3 Computational Thinking - Algorithmic Thinking](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-3-computational-thinking-algorithmic-thinking.md)
  - [2.1.4 Pseudocode](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-4-pseudocode.md)
  - [2.1.5 Flow Diagrams](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-5-flow-diagrams.md)
  - [2.1.6 Interpreting, Correcting & Completing Algorithm](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-6-interpreting-correcting-and-completing-algorithm.md)
  - [2.1.7 Correcting Algorithms](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-7-correcting-algorithms.md)
  - [2.1.8 Completing Algorithms](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-8-completing-algorithms.md)
  - [2.1.9 Testing](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-9-testing.md)
  - [2.1.10 Types of Testing](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-10-types-of-testing.md)
  - [2.1.11 Test Plans](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-11-test-plans.md)
  - [2.1.12 Validation & Sanitation](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-12-validation-and-sanitation.md)
  - [2.1.13 Authentication & Contingencies](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-1-13-authentication-and-contingencies.md)
- 2.2 Programming
  - [2.2.1 Programming Fundamentals - Variables & Constants](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-1-programming-fundamentals-variables-and-constants.md)
  - [2.2.2 Programming Fundamentals - Comments](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-2-programming-fundamentals-comments.md)
  - [2.2.3 Programming Fundamentals - Input & Output](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-3-programming-fundamentals-input-and-output.md)
  - [2.2.4 Data Types](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-4-data-types.md)
  - [2.2.5 Casting](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-5-casting.md)
  - [2.2.6 Controlling Program Flow - Sequence](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-6-controlling-program-flow-sequence.md)
  - [2.2.7 Controlling Program Flow - Selection](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-7-controlling-program-flow-selection.md)
  - [2.2.8 Controlling Program Flow - Iteration](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-8-controlling-program-flow-iteration.md)
  - [2.2.9 Modularity - Subroutines](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-9-modularity-subroutines.md)
  - [2.2.10 Modularity - Scope](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-10-modularity-scope.md)
  - [2.2.11 Arrays](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-2-11-arrays.md)
- 2.3 Databases
  - [2.3.1 Structuring Data - Records](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-3-1-structuring-data-records.md)
  - [2.3.2 Structuring Data - Databases](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-3-2-structuring-data-databases.md)
  - [2.3.3 SQL](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-3-3-sql.md)
- 2.4 Boolean Logic
  - [2.4.1 Binary Systems](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-1-binary-systems.md)
  - [2.4.2 Logic Circuits](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-2-logic-circuits.md)
  - [2.4.3 Truth Tables](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-3-truth-tables.md)
  - [2.4.4 Evaluating Expressions](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-4-evaluating-expressions.md)
  - [2.4.5 Boolean Operators](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-5-boolean-operators.md)
  - [2.4.6 End of Topic Test - Logic](https://senecalearning.com/en-gb/revision-notes/igcse/computer-science/cambridge-international/2-4-6-end-of-topic-test-logic.md)
