E-Learning Classical Cryptography - Introduction (20 min)
- Cryptography Basics
E-Learning Classical Cryptography - Monoalphabetic and Polyalphabetic Substitution (20 min)
- Caesar Cipher
- Vigenère Cipher
E-Learning Classical Cryptography - Cryptography in Times of War (35 min)
- One-Time Pad
E-Learning Modern Cryptography - Introduction (60 min)
- Who are Alice and Bob?
- Symmetric Encryption
- Asymmetric Encryption
- Hybrid Encryption
E-Learning Modern Cryptography - DES and AES (45 min)
- DES (Data Encryption Standard)
- AES (Advanced Encryption Standard)
E-Learning Modern Cryptography - Diffie-Hellman Key Exchange and RSA (60 min)
- Diffie-Hellman Key Exchange
This course was created for programmers working in the area of security-related software, but also for anyone new to the topic of “encryption”. It offers an introduction into the subject and explains basics and background knowledge.
What Is Encryption?
Encryption is about transmitting information in such a way that it can only be read by the sender and recipient. If someone in between tries to access the data, they cannot decrypt it.
Several different methods are available for this purpose, which can be divided into symmetric, asymmetric, and hybrid encryption methods. The most common encryption mechanisms include the Advanced Encryption Standard (AES) and RSA.
Why Is Encryption Needed?
Encryption is found in almost all areas of life and is becoming increasingly important. For example, customers want to be sure that their bank data is kept secret when they shop online. In the automotive sector, for example, encryption is central to the secure transmission of updates. Data security – and therefore encryption – also plays an important role in e-mail correspondence and private chats.
Therefore, software developers must have knowledge about IT security during implementation, in particular since encryption is becoming an increasingly omnipresent topic. Thus, an increasing use of encryption methods can be seen. Encryption has also gained in importance due to the Internet: systems are more and more connected. This has enormous advantages but carries also the risk of third parties interfering with communication and thus misusing or manipulating it.
There will definitely be major development steps in the area of encryption in the future. Keywords in this context already important today are digital factory, networked production, autonomous driving and software updates.
How Is Encryption Related to Embedded Systems?
Embedded systems always work through special software, which must be protected in such a way that not everyone can access it and make changes. This means that during the IT security process, encryption must be used to guarantee that the various components cannot be accessed directly.
As embedded systems become more and more networked, there are different levels of encryption. One is normal communication, where data is encrypted. On the other hand, the reprogramming of embedded systems. In the automotive sector, the latter in particular plays an important role, as do error reactions, for example in communication with traffic lights.
What Do You Learn About Encryption in the Embedded Academy E-Learning?
The course on cryptography is divided into two parts.
First, the focus is on classical cryptography, presented in three e-learnings. We begin with a general introduction to the topic, which is followed by a historical overview. Thereby, we will encounter the most famous classical encryption methods: the Scytale, the Caesar Cipher, the Vigenère Cipher, the One-Time Pad and the Enigma.
The second learning unit then moves on from this historical encryption to modern methods, also divided into three e-learnings. Here, using the example of Alice and Bob, A to B encryption from the sender (A) to receiver (B) is explained for the three basic types (symmetric, asymmetric, and hybrid) and further illuminated using concrete methods such as the DES, AES, RSA and the Diffie-Hellman Key Exchange.
With the help of the e-learnings, learners understand the different procedures. They then know how they are applied, which group they belong to, and can evaluate which mechanism make the most sense for which application during implementation.