Cryptography and Computer Security

 

Cryptography, a division of computer science, is the science that studies techniques for protecting information (plain text) by transforming it into a secure format (cipher text). This process, called encryption, prevents messages from reaching unintended recipients.

 

Cryptography applications

Secure communications. Web and wireless traffic with:

  • https = hypertext transfer protocol secure.

  • SSL = Secure Sockets Layer.

  • TLS = Transport Layer Secure.

Disk file encryption (Secure file encryption SFE):

A software function that stores information on the hard disk in encrypted format.

Digital signatures: is a mathematical scheme to verify the authenticity of digital messages or documents. A digital signature is a cryptographic mechanism that allows the receiver of a digitally signed message to identify the sender of such message.

Anonymous communications: As privacy gains momentum on the Internet, more and more users are choosing to use TOR and VPN services to avoid leaving traces on the network.

As an example, a user in New York can connect to a VPN server in Los Angeles and any website he accesses will say that he is in California, not New York.

Digital currencies or cryptocurrencies: is a digital asset that uses cryptographic encryption to guarantee its ownership and ensure the integrity of transactions, and control the creation of additional units, i.e. prevent someone from spending twice.

Other apps:

  • Electoral protocols.

  • Private auctions.

  • The zero-knowledge test.

 

Mathematical methods and their usefulness in cryptography

The methods used in cryptography are from modular or finite field mathematics, but for ease of understanding, I will use high school-level mathematics from most countries in the world.

In mathematics, a function is an expression with two variables:

  • Independent variable (X): It is the one that takes the values ​​of the allowed set that we will call domain.

  • Dependent variable (Y): It is the value that results from evaluating the function, we will call these results the codomain.

Example:

I have the function Y = 2 X + 5, if I now take X = 2 and substitute it into the function:

Y = 2 (2) + 5 = 9

Let us look at other values.

The variable X takes any real number, we will say:

Domain = Real Numbers

Since the values ​​that result from Y are also real numbers, we will say:

Codomain = Real Numbers

This example meets two important conditions:

  • To each value of X there corresponds one and only one value of Y. We say that this function is one to one or injective.

  • To each value of Y there corresponds one and only one value of X. We say that this function is surjective

By fulfilling the two conditions, we identify this function as Bijective and therefore it has an inverse function.

 

Inverse function

The inverse of the previous example:

Y = ½ X - 5/2

If I substitute X=1, it results:

Y = ½ (1) - 5/2 = -4/2= -2

Other values:

The X values ​​here are the Y values ​​from the previous function and vice versa.

 

Application of the inverse functions

Roberto wants to send a message (M) to his friend Antonella but let no one else know that the time of the meeting will be at 4:00 p.m. (16:00).

With it, you have previously agreed to use the functions:

  • To encrypt with the function E(X) = 2X + 5

  • To decrypt the message with the function D(X) = ½ X -5/2

Roberto substitutes the time of the meeting (16 hours) and the results:

E (16) = 2(16) + 5 = 37

Roberto sends the message M= E = 37, Antonella already knows that she must decrypt the message with the function D(X) = ½ X -5/2:

D(X) = ½ (37) -5/2

D(X)= 37/2 - 5/2 = 32/2

D(X)= 16

Therefore, Antonella concludes that the meeting will be at 4 pm.

Conclusions: This example is a simplified illustration of how functions work in cryptography, which must fulfill the following:

  • To each element of X in the function, there corresponds one and only one element of Y. To each value of Y, there corresponds one and only one value of X.

  • The functions that meet the above conditions have an inverse.

  • The function allows to encrypt and inversely to decrypt messages.

In the following article, I will explain the third condition for the encryption function and its inverse decryption function to be efficient, functional and secure.

 
Carlos Sampson