# Analysis of Cryptographic Algorithms to Improve Cybersecurity in the Industrial Electrical Sector
## 3 Cybersecurity in the IEC61850 Standard  
Information security is defined as the set of preventive and reactive measures of organizations and technological systems that allow for safeguarding and protecting information, seeking to maintain the reliability, availability, and integrity of the data. In the cybersecurity community, the acronym \"CIA\" stands for confidentiality, integrity, and accessibility, also known as the CIA triad. It is important to define these three concepts to have a general notion of what cybersecurity seeks:  
* Confidentiality : Property that prevents the disclosure of information to unauthorized individuals, entities, or processes. Ensures access to information only to those people who have proper authorization;
* Integrity: Property that seeks to keep the data free of unauthorized modifications, that is, integrity seeks to accurately maintain the information as it was generated, without being manipulated or altered by unauthorized people or processes;
* Availability: Property that ensures that networks, systems, and applications are fully operational. Ensures that users have timely and reliable access to resources when they need them. Some other relevant concepts in the field of cybersecurity are:  
Figure 3: Malware with attacks on industrial control systems. * Authenticity: The sender of the message is who they say they are;
* Non-repudiation of origin: The sender cannot deny what they sent because the recipient has proof of the sending;
* Destination non-repudiation: The receiver cannot deny that they received the message because the sender has proof of receipt. To achieve information security and ensure that these concepts are carried out correctly, one of the most effective ways is the use of algorithms based on cryptography. A cryptography algorithm modifies the data of a document to achieve some of the characteristics mentioned above, such as authentication, integrity, and/or confidentiality. One of the most used algorithms currently, and proposed by IEC62351 for the R-GOOSE/R-SV protocols, to guarantee confidentiality, due to its high level of security with attacks, is AES (Advanced Encryption Standard). AES is a symmetric cryptography algorithm which uses the same key to encrypt and decrypt messages between a sender and a receiver. The two parties must agree in advance on the key to use. AES has a fixed block size of 128 bits and key sizes of 128, 192, or 256 bits. Most of the AES algorithm calculations are performed in a given finite field, called the Galois field [19; 20; 21; 22]. To ensure integrity and authenticity, digital signature cryptographic algorithms and MAC (Message Authentication Code) cryptographic algorithms are used. Digital signatures employ asymmetric cryptography algorithms (public-private key pair) and pseudo-random hash algorithms, while MAC algorithms use symmetric cryptography algorithms (the same key to generate and verify the authenticity and integrity of messages) and pseudo-random hash algorithms. A hash function is a mathematical function that converts an input string of any length into a fixed-size output, which is a pseudo-random representation of the input. Even a small change in the input string will result in a completely different output hash. If the same input string is used again, the output of the hash function will always be the same, which appears to be random. Hash functions can be thought of as the digital fingerprint of the message. SHA256 is one of the most commonly used pseudo-random algorithms today. It belongs to the SHA-2 (Secure Hash Algorithm) family. The SHA256 algorithm, developed by the National Security Agency (NSA), processes 512-bit message blocks by performing various operations such as addition, logical AND, logical OR, exclusive OR, shift right, and rotate within an internal state of bits. The number of these bits is equal to the number of output bits of the function. These operations are performed 64 times (iterations or loops) in the case of SHA256, resulting in a 256-bit string as output.