Encryption

  • Many threats exist to system and network security. Examples include:
    • Malware
    • Viruses
    • Spyware
    • Hackers
    • Denial of service attacks
    • Social engineering
    • SQL injection
  • Hackers are people who try to gain unlawful or unauthorised access to computers, networks and data by writing programs
  • They look for weaknesses in the system and use them to gain access
  • Hackers have various motives such as financial gain, a challenge or protests etc
  • Hackers sometimes target data in order to steal and use it, or block people from using the data by creating programs called ransomware
  • Hackers may also used packet sniffer to intercept and read data transmitted across the internet or a network
  • Hackers will often want to use people’s information and therefore it is beneficial to encrypt your data

What is encryption?

  • Encryption involves encoding data into a form that is meaningless using an algorithm
    • An example could be turning the phrase “Computer Science” into “YekLKEZizFuFjHNCjHj3Md7qyTiGxLNNwPVFZtJU74I=”
  • Once encrypted, data can be decrypted which turns the encrypted data into data that can be understood again
  • Encryption doesn’t prevent hackers from hacking but makes the data hard if not impossible to understand unless they have matching decryption tools
  • There are two types of encryption: symmetric encryption and asymmetric encryption

Symmetric and asymmetric encryption

  • Encryption relies on the use of a key. A key is a binary string of a certain length that when applied to an encryption algorithm can encrypt plaintext information and decrypt ciphertext
    • Plaintext is the name for data before it is encrypted
    • Ciphertext is the name for data after it is encrypted
  • Keys can vary in size and act like passwords, enabling people to protect information. A single incorrect digit in the key means the data cannot be decrypted correctly. Strong modern keys can be up to or over 1000 bits long!

Symmetric encryption

  • In symmetric encryption both parties are given an identical secret key which can be used to encrypt or decrypt information
  • Key distribution problem: If a hacker gains access to the key then they can decrypt intercepted information
  • Methods exist to send the secret key to the receiver without sending it electronically:
    • Both parties could verbally share the key in person
    • Both parties may use standard postage mail to share the key (some businesses and banks may do this to ensure someone’s identity and authenticity)
    • An algorithm may be used to calculate the key by sharing secret non-key information. An example is shown below

Symmetric Encryption Walkthrough

    • Both parties A and B choose a number, for example A = 3, B = 2
    • Both parties enter their own respective numbers into the following equations: 7^A MOD 11 or 7^B MOD 11. ^ is another way of writing “to the power of”
      • 7^3 MOD 11 = 2, 7^2 MOD 11 = 5
    • Both parties swap their respective answersA receives 5 and B receives 2. These answers replace the initial 7 number and the calculations are performed again
    • Both parties enter their new number into the following equations: 5^3 MOD 11 or 2^2 MOD 11
      • 5^3 MOD 11 = 4, 2^2 MOD 11 = 4
    • The answer should match for both parties and this becomes the encryption and decryption key value
  • Once the key is generated, it can be applied to the plaintext in the algorithm that then produces the ciphertext which is sent to the receiver
  • The receiver gets a copy of the ciphertext and the key and applies the encryption algorithm. The algorithm then produces the original plaintext for the receiver

Asymmetric encryption

  • In asymmetric encryption also known as public key encryption, two keys are used:
    • Public key: a key known to everyone
    • Private key: a key known only to the receiver
  • Both keys are needed to encrypt and decrypt information
  • Asymmetric encryption works as follows:
    • Person A uses a public key to encrypt their message
    • Person A sends their message over the network or internet
    • Person B decrypts the messae using their secret private key 
  • Asymmetric encryption works such that only one private key can be used to decrypt the message and it is not sent over the internet like a symmetric key
  • Keys can be very large, for example over 1000 bits. To get the correct key a hacker would have to calculate almost every possible combination. To illustrate, a key with only 100 bits would generate 1,267,650,600,228,229,401,496,703,205,376 different combinations

How are encryption keys created?

  • Encryption keys can be created manually, randomly or via an algorithm
  • Strong encryption keys are created using a hashing algorithm
  • A hashing algorithm is a non-reversible mathematical algorithm that converts a given input into an output. Once the output has been generated it is unable to be converted back to the original input
  • Encryption keys are created by supplying a message or key to the hashing algorithm which turns it into a string of characters usually shown in hexadecimal
  • SHA-2 is an example of a hashing algorithm that creates hashed keys of 244, 256, 384 or 512 bit length
    • If the text string “Computer Science” is run through the SHA-2 algorithm, it would return a 512 bit key in hexadecimal as:
    • “B6e175f5fc647b1a9ce17019594ce55b58e8fd03e3c584ee384121c8b4c7753d”
  • The hashed encryption key can then be sent symmetrically or kept secret as part of an asymmetric private keyBoth sender and receiver need a copy of the key to decrypt information regardless of using symmetric or asymmetric encryption

Why use hashed encryption keys?

  • In symmetric encryption, the key must be sent with the message to the receiver. If a hacker intercepts the key they can read the message
  • In asymmetric encryption, the public key is available to everyone and would not be useful to a hacker. The hacker must guess the private key in order to read the message
  • Hashing algorithms are many-to-one. This means that many input values, messages or keys can produce the same hash key output
  • A hashed encryption key means the hacker must first unhash the key before it is useful
  • As hashing algorithms are non-reversible this is extremely difficult
  • With SHA-2 for example, a hacker who wants to find the symmetric or asymmetric private key must calculate over 1.3×10^154 combinations; that is 13 with 153 0’s after it. With the computing power available today, this is virtually if not actually impossible

Loading

error: Content is protected !!