DeepCover Secure Authenticators
Learning
Cryptography
Why do we need it?
Cryptography Fundamentals
Asymmetric and Symmetric
Common Algorithms
XOR,SHA, AES, 3DES, RSA, ECDSA and ECDH
Physical Unclonable Functions
ChipDNA circuit generates a unique output value.
Hardware VS Software
Benefits and Disadvantages of Cryptography Implementation
Application
Implementing security features using Maxim's Authenticators
Threats and Security Planning
Protecting Assets
DeepCover Learning

Our goal is to provide you with clear and concise explanation of various cryptographic concepts.

The topics listed on the left discuss these concepts in a non-mathematical graphical way so that you can get a very clear idea quickly and efficiently.

The accompanied textual explanations are there to guide you through the process and provide additional information.

If you are new to cryptography, please start at the top and work your way through the topics. Otherwise you can explore any of the other topics as you need them.

The Need for Cryptography

In our day-to-day lives, the use of cryptography is everywhere. For example, we use it to securely send passwords over vast networks for online purchases. Bank servers and e-mail clients save your passwords using cryptography as well. Cryptography is used to authenticate people and devices, devices to other devices, and secure all transmitted information in our IoT ( Interntet of Things) connected world.

If for a day all the cryptographic services stopped working, modern communication will stop as we know it. Bank transactions will not go through, internet traffic would come to a halt and cell phones would no longer function. At that point all our important information would be exposed, and could be exploited to do unimaginable harm to us all. Cryptography prevents this from happening. It secures information and communications using a set of rules, so that only those authorized can access and process the information.

Security by Obscurity

In some cases, "security by obscurity" has been used as a method to keep transmitted information secured. In those cases, the technique used was kept secret from all but a few, hence the term “obscurity”. This made the communication secure but was not easy to implement on a wide scale.

Unlike "security by obscurity", modern cryptographic methods make the operations available to the public for scrutinization.

Let’s Dive into Cryptographic Algorithms

The security of cryptographic applications critically relies upon symmetric keys and private keys continually being kept secret and that the method used to keep them secret is also protected.

There are two fundamental types of algorithms that are used in modern cryptography. Asymmetric and Symmetric key algorithms. Asymmetric key algorithms use a combination of Private and Public keys and Symmetric algorithms use only private, commonly referred to as secret keys. The following chart gives us a snapshot of the main features of each of the Algorithmic methods.

Cryptographic Algorithm Comparison

Security Services and Feature Implementation Algorithm Method
Symmetric Key Asymmetric Key
Confidentiality Yes Yes
Identification and Authentication Yes Yes
Integrity Yes Yes
Non-repudiation Yes-Combined with public/private key algorithm Yes
Encryption Yes-Fast Yes-Slow
Decryption Yes-Fast Yes-Slow
Overall Security High High
Key Management Key Exchange and Securing the Key on both the Sender and Recipient side is needed. One party holds the private key: the sender (for asymmetric message authentication and decryption) or the receiver (for asymmetric encryption)
Algorithm Complexity Easy to understand Can be difficult to understand
Key Size 128 bits, 192 or 256 bits or longer but do not need to be as long as asymmetric key (Depends on secrecy of keys) 256 bits,1024 bits, 2048, 3072 bits or longer. Depends on the intractability (The amount of time and resources needed to solve)
System Vulnerabilities Improper key management, generation and usage Improper implementation
Attack Approaches Brute Force, Linear/Differential Cryptanalysis Brute Force, Linear/Differential Cryptanalysis and Oracle

Now let us investigate how we can achieve each of the cryptographic goals using these two algorithms

XOR Function

XOR (Exclusive Or) is a vital logical operation that is used in numerous cryptographic algorithms. The following diagram shows how this function works. This basic understanding is needed before we go into describing any of the algorithms.

Exclusive OR (XOR) – A fundamental element of reversible (i.e. lossless) encryption

Data can be encrypted with an XOR algorithm by using one input as data and the other input as a secret key bit stream. The XOR result will be an encrypted message that can be unencrypted by XOR'ing it with the secret key.

For example, the string "Hello" (‭01001000 01100101 01101100 01101100 01101111‬ in 8-bit ASCII) can be encrypted with the repeating key 11110011 as follows:

01001000 01100101 01101100 01101100 01101111
XOR 11110011 11110011 11110011 11110011 11110011
--------------------------------------------
= 10111011 10010110 10011111 10011111 10011100

And conversely, for decryption:

10111011 10010110 10011111 10011111 10011100
XOR 11110011 11110011 11110011 11110011 11110011
--------------------------------------------
= 01001000 01100101 01101100 01101100 01101111

SHA (Secure Hash Algorithms)

The basic idea behind a SHA function is to take data of variable size and condense it into a fixed size bit string output.

This concept is called hashing. The SHA functions are a family of hashing algorithms that through NIST (National Institute of Standards and Technology) oversight have been developed over time. The latest of these is the SHA-3 function. Maxim has a family of secure authenticator products that use both SHA-2 and SHA-3 functions.

The following diagram shows the basic concept of secure hash generation.

Secure Hash Generation-Basic Concept

The SHA function has the following characteristics:

  1. Variable input length

  2. Fixed output length

  3. It is a one-way function.
    In the above diagram, it is impossible to use the resultant hash value to regenerate the input text, other than trying each possible input text.
    This becomes computationally impossible for sufficiently large inputs.

  4. If the same input message is fed to the SHA function it will always generate the same resultant hash.

  5. Low probability of generating the same hash value using two different input values. This is called "Collision Resistance".

  6. Small change in the input value, even a single bit, completely changes the resultant hash value. This is called the "Avalanche effect".

If a hash function satisfies all the above, it is considered a strong hash function.

Some of the SHA function currently in use are:

  • SHA-1
  • SHA-2
  • SHA-3

Now let's explore how SHA functions work. We will only cover SHA-2 and SHA-3 here. SHA-1 is being phased out and it is not recommended for any new designs.

How does SHA-2 work?

The SHA-2 function has four main types based on output bit length:

  1. SHA-224 – hash is 224 bits long

  2. SHA-256 – hash is 256 bits long

  3. SHA-384– hash is 384 bits long

  4. SHA-512– hash is 512 bits long

Let's take a look at SHA-256 as an example. The following diagram shows a block diagram of a SHA-256 engine.

Secure Hash Generation-SHA-256 Function

The input message is first padded to make sure that it will completely fit in “n” number of 512-bit blocks.

The first 512-bit block is then fed into a compression function along with an initial 256-bit hash value. The compression function essentially shuffles the message 64 times then compresses it to 256-bits and sends it out to the next compression block or out as the final hash. Thus, a variable input message gets shuffled many times to prevent it from being used to get to the original message. Once that is done, the output hash is generated.

How does SHA-3 work?

The SHA-3 function has no predefined output length. The input/output lengths have no maximums. But just for comparison purposes with SHA-2, lets define four main types based on output bit lengths as per NIST standard.

  1. SHA3-224 – hash is 224 bits long

  2. SHA3-256 – hash is 256 bits long

  3. SHA3-384– hash is 384 bits long

  4. SHA3-512– hash is 512 bits long

Let’s take a look at SHA3-256 as an example. SHA3 uses a Keccak sponge function. Just like a sponge, the first step is to soak in or absorb the input message. In the next phase the output hash is squeezed out. The following diagram shows a block diagram of a SHA3-256 function.

Secure Hash Generation-SHA3-256 Function

The iteration function on the above diagram takes in the 1600 bits of data and then puts it through 24 rounds of permutation using a specific algorithm and then passes it to the next stage as a 1600-bit block. This continues until the absorbing phase has completed.

Once the absorbing phase has been completed, the last 1600-bit block is passed to the squeezing phase. In this case, as SHA3-256 output hash length is less than 1088-bits, the squeezing phase do not need any iteration functions. We take the first 256 bits from the last stage and that is the output hash.

If the required hash length was for example 2,500 bits, we would have needed three more instances of the iteration function to get the desired length hash.

Go to the Tools tab if you would like to apply or test these hash functions

AES (Advanced Encryption Standard)

Like older encryption algorithms such as DES (Data Encryption Standard) and 3DES (Triple Data Encryption Standard) the purpose of the AES algorithm is to scramble and substitute input data based on the value of an input key in a reversible way. The result is called Ciphertext. The AES algorithm was designed to replace the DES and 3DES algorithms developed in prior decades and are vulnerable to attack. A description of the AES is shown below.

Advanced Encryption Standard-AES Algorithm

The AES algorithm is a fixed-width encryption algorithm. Therefore, the input message is first padded to make sure that it will completely fit in “n” number of 128-bit blocks.

Each 128-bit block is fed into the encryption algorithm, along with an encryption key. Depending on the number of bits in the encryption key, the AES algorithm performs a certain number of rounds of obscuring the input block bits. This obscuring is accomplished by shuffling data bits, taking portions of the data and substituting them with values from a look-up table (like a decoder wheel), and performing XOR operations in order to flip bits from 0 to 1 according to the values of bits in a set of “round keys” generated from the input encryption key. A round key is used one time for one of the obscuring rounds and is created by “expanding” a portion of the encryption key by copying bits and inserting the copies in between other bits.

The AES decryption function simply performs the reverse of the operations in the encryption function using the same encryption key in order to unscramble the original input block data.

3DES (Triple Data Encryption Standard)

The basic idea behind the Triple DES (aka. 3DES) algorithm is to scramble and substitute input data based on the value of an input key in a reversible way. The result is called Ciphertext. The 3DES algorithm is a reprise of the original DES algorithm (Data Encryption Standard), developed in the 1970s. When DES was compromised in the 1990s, the need for a more secure algorithm was clear. 3DES became the near-term solution to the problems with single DES. In order to understand 3DES, a description of the original DES is first shown below.

DES Data Encryption Standard– Algorithm

The DES algorithm is a fixed-width encryption algorithm. Therefore, the input message is first padded to make sure that it will completely fit in “n” number of 64-bit blocks.

The each 64-bit block is fed into the encryption algorithm, along with a 56-bit encryption key (most versions of the algorithm take a 64-bit key, but 8 bits are ignored). The encryption function uses the input key to generate 16 “subkeys”, each used for 16 rounds of obscuring the input block bits. This obscuring is accomplished by shuffling data bits, taking portions of the data and substituting them with values from a look-up table (like a decoder wheel), and performing XOR operations in order to flip bits from 0 to 1 according to the values of bits in the subkeys.

The DES decryption function simply performs the reverse of the operations in the encryption function using the same encryption key in order to unscramble the original input block data.

How does 3DES work?

The Triple DES Algorithm

After DES was shown to be vulnerable to attacks shorter than a “brute force attack” (or, cycling through every possible key value until the original message blocks are revealed), a simple method of effectively increasing the size of the encryption key was developed. Below is the 3DES solution:

Triple Data Encryption Standard– 3DES Algorithm

The 3DES algorithm is literally 3 DES operations. The first and last operations are encryption operations, while the middle operation is a decryption operation. It is important to note that “encryption” and “decryption” are just names assigned to scrambling operations that are the reverse of each other

For each of the DES operations performed in 3DES, a dedicated key is used for that operation. Often, the key for the first and third operations is the same. Using the same key for the first and third operations, and a different key for the middle operation effectively doubles the total key length, making a brute force attack much harder, and eliminating the vulnerabilities of single DES.

RSA Public Key Cryptosystem

RSA is named after its creators, Ron Rivest, Adi Shamir, and Leonard Adleman, and is one of the first asymmetric, public-key encryption/decryption systems. It uses the properties of modular arithmetic of prime numbers to generate a public key that can be used for encryption and a private key that can be used for decryption. The encryption and decryption operations are also based in modular arithmetic. An overview of the RSA is shown below.

RSA Encryption

The key generation and encryption/decryption operations are known as one-way or “trapdoor” functions. They are mathematical operations that are relatively simple to calculate in one direction, but difficult to calculate in the other direction. For instance, it is easy to calculate X2, but harder to calculate the square root of X.

In the case of RSA, two large prime numbers are multiplied together to create a part of the public and private keys. The multiplication is easy; factoring back to discover the secret prime numbers is difficult.

It is also much easier to encrypt a message with the public key than to try to go in reverse to obtain the message without the private key. However, the private key can also easily unlock the message, and must therefore never be shared.

The private key can be viewed as opening a trapdoor, revealing a shortcut to bypass the complex maze of attempting to breaking an encrypted message.

RSA’s security relies on large prime numbers and complex operations. Even the easy path through its trapdoor functions with large keys is cumbersome for most computing systems. Therefore, RSA is often used as a vehicle to send shared encryption keys that can be used in faster, symmetrical algorithms like DES, 3DES, and AES for individual transactions.

ECDSA Algorithm

The Elliptic Curve Digital Signature Algorithm (ECDSA) allows a participant in a communication to prove authenticity by generating a digital signature for an input message based on a hidden piece of information known as private key. This key can be used to generate a public key that can be used by others to verify the participant's authenticity.

Digital signatures are generated with an input message, a private key, and a random number. The public key can then be used to verify that the signer (the participant) is in possession of the corresponding private key and is therefore authentic. This concept is illustrated below.

Elliptic Curve Digital Signature Algorithm– ECDSA

The Digital Signature Algorithm was first introduced with modular arithmetic, which depends on large prime numbers and calculations requiring heavy use of computing power. The introduction of Elliptic Curve Cryptography utilizes the mathematical properties of elliptic functions to simplify the math without sacrificing security.

The key generation and signing operations are known as 1-way or “trapdoor” functions. They are elliptic curve calculations that are relatively simple to compute in one direction, but difficult to compute in the other direction. The private key can be viewed as opening a trapdoor, revealing a shortcut to bypass the complex maze of attempting to breaking a key generation or signing operation.

ECDSA allows one party to sign messages, from any party. However, to prove authenticity with ECDSA, a signer must not have foreknowledge of the message to be signed. This lack of control over the message allows another participant in communication to “challenge” the signer with new information to prove possession of the private key.

ECDH Key Exchange Protocol

The Elliptic Curve Diffie-Hellman (ECDH) key exchange allows for two parties to establish a shared key for communication with only one piece of hidden information called a private key. Without the private key of one of the parties involved, an eavesdropper cannot easily determine the shared key. However, the algorithm allows the private key of one party and the public key of the other party to be combined to produce a resulting key that is the same for both parties. This concept is illustrated below.

Elliptic Curve Diffie Helman Key Exchange– ECDH

The Diffie-Hellman key exchange was first introduced with modular arithmetic, which depends on large prime numbers and calculations requiring heavy use of computing power. The introduction of Elliptic Curve Cryptography utilizes the mathematical properties of elliptic functions to simplify the math without sacrificing security.

The key generation and key combination operations are known as 1-way or “trapdoor” functions. They are elliptic curve calculations that are relatively simple to compute in one direction, but difficult to compute in the other direction. The private key can be viewed as opening a trapdoor, revealing a shortcut to bypass the complex maze of attempting to breaking a key generation or combination operation.

The ECDH algorithm allows two parties to establish a key together, but it does not guarantee that either party is to be trusted. For this, additional layers of authentication are required. For instance, if a public key is given a certificate such as an ECDSA (Elliptic Curve Digital Signature Algorithm) signature calculated with a private key from a trusted key holder, the certification of the public key is verified by authenticating the certificate with the trusted holder’s public key.

One method of proving the identity of the correspondent in an ECDH protocol exchange would be for party A to sign a nonce with an ECDSA private key. Party B can verify the signature by obtaining the public verification key from a trusted key authority and applying the ECDSA verification algorithm.

Physical Unclonable Functions (PUF)

In cryptography and within embedded security ICs, Physically Unclonable Functions (PUF) are used to create persistent keys that are generated on demand and instantaneously erased once used. Because PUF is dependent on random physical factors (unpredictable and uncontrollable) that exist natively and/or are incidentally introduced during a manufacturing process and is virtually impossible to duplicate or clone.

PUF technology natively generates a digital fingerprint for its associated security IC, which can be utilized as a unique key/secret to support cryptographic algorithms and services including encryption/decryption, authentication, and digital signature.

Except for the momentary duration of a cryptographic operation, the PUF key value never exists in digital form within the circuitry of the security IC. Further, since the key is derived and produced on-demand from physical characteristics of circuit elements, it is never present in the device’s non-volatile memory.

As it will be described, any attempt to discover the PUF key value through micro-probing or other invasive techniques results in a disturbance to the sensitive circuitry rendering the output useless. Thus, they provide a level of security that is very desirable in today’s embedded systems.

This short lesson is designed to outline and explain a simplified hypothetical PUF architecture and its usage. The PUF elements are much more complex and sophisticated. But this lesson should be enough to give the user an understanding of why PUF based key generation can provide such excellent protection against inadvertent key disclosure in cryptographic applications.

A Hypothetical Ring Oscillator Based PUF

The following diagram shows two separate example devices, each with a 64 bit PUF based key. (This is a simplified general view – not Maxim’s implementation)

Physically Unclonable Function (PUF) – Key Generation

The devices in the above diagram have 64 different PUF blocks that generate 1 bit of data. The bits are then shifted to create the 64-bit key. Each device will have independent keys that are repeatable over voltage, temperature, and age. Device #1 will produce a key that will have enough bits that are different from the key produced by Device#2. Each of the device keys however will stay constant over the specified voltage and temperature range.

Next let's explore a possible implementation of the PUF blocks of one of the devices in detail.

Hardware vs Software Cryptography

Modern cryptographic algorithms can be implemented on microcontrollers having dedicated cryptographic hardware or software running on general purpose hardware. For various reasons, dedicated cryptographic hardware provides a better solution for most applications. The following diagram shows a list of reasons why hardware based cryptographic solutions are more desirable.

Hardware vs Software Cryptography Comparison

Hardware Cryptography Software Cryptography
1. Dedicated cryptographic hardware blocks execute faster 1. Uses shared hardware thus slower to execute
2. Not dependent on the operating system. Supported by dedicated software for operating the hardware 2. Dependent on the security levels and features of the operating system and supported software
3. Can use factory provisioning and securely store keys and other data in dedicated secure memory locations 3. No dedicated secure memory locations available. Thus, susceptible to stealing or manipulation of keys and data
4. Maxim's hardware implementations have protections built in against reverse engineering such as PUF (ChipDNA) 4. Software implementations can be easier to reverse engineer
5. In a hardware system, special care is taken to hide and protect vital information such as private keys 5. A general-purpose system implementation using software cryptography is more susceptible to attacks

Maxim Integrated Secure Authenticator Applications:

This section gives you a window into various applications where Maxim Integrated's Authenticators can be used to secure your devices and system.

  • Secure Boot and Secure Download
  • Related Devices
  • TRNG (True Random Number Generator) Source
  • Related Devices

Introduction

The Lab section is your next step in your cryptography learning path.
If you are here for the first time or are unfamiliar with the basic concepts of cryptography, we recommend you to review the Learning Section first.

It is recommended to get familiar with the hardware used on this section to better understand each lab sequence.

Hyperlinks provide access to device documentation, ordering information, datasheets and customer support.

lab tab 1

Requirements

  1. PC running Windows® 7 or higher with USB port
  2. Security Lab Application. The provided PC software application provides a web socket connection between the user’s hardware and the Security Lab website.
    More details are explained in the next section.

  3. MAXAUTHDEMO#1 with DS28C36 The hardware includes a USB adapter and DeepCover DS28C36 evaluation board. The module includes the DS28C36 authenticator that has been preprogrammed to work with the lab demos.

  4. MAXAUTHDEMO#2 with DS28E38 The hardware includes a USB adapter and DeepCover DS28E38 evaluation board. The module includes the DS28E38 authenticator has been preprogrammed to work with lab and demos.

Server/Client Communication

The communication between the webpage and the hardware is not executed locally on the computer. All communication is handled remotely by a back-end server.

  1. A remote back-end webserver is always running and listening to any browser connection or PC connection.

    back end server

  2. A web socket connection is established directly to the remote back-end server when the user opens the Security Lab website.

    websocket connection

  3. Attach the hardware to the computer's USB port and run the Security Lab application.
  4. The Security Lab application connects to the remote back-end server and the hardware attached to the USB port.

    Security Lab connection



  5. To send and receive communication between the two clients an access code is needed to establish a connection.


    Security Lab single connection

    The Security Lab application and the webpage are two different clients to the server and in order to start communication, the website provides its own number that the Security Lab application could use to start the "call."

    Since both applications are normally running in the same computer it looks like a single connection. Yet the connections are separate and depend on the back-end connection.

Navigating the lab

  1. The left side of the DeepCover Security Lab window contains the list of all available labs. The list will change depending on the hardware selected.

    navigating lab
  2. The sections contain help buttons that guide you to through the steps and provides detailed information for each sequence.

    navigating lab information
  3. Navigation through the sequences is controlled by the Previous and Next buttons.

    navigating lab back and forward
  4. Hyperlinks provide access to device documentation, ordering information, datasheets and customer support. lab tab 1
  5. To return to the top menu, simply the selected topic a second time. To execute a different lab, simply click the lab. For labs requiring a different hardware, return to the main lab page, and make the desired selection. The new labs will be displayed.

    returning from lab

Running a lab sequence

  1. Go to the Lab and follow the instructions provided on the Lab landing page

    running lab main page
  2. The Security Lab application will open a command window with a prompt to enter the link code. running lab connection code
  3. On the left side of the DeepCover Security Lab window, click the desired lab to start.
  4. Navigate the lab using the Next button. A small instructional message is always displayed with details of the step to be executed.
    Each section contains an Info button that provides details of what is being executed on the hardware side and information about the specific sequence.

    running lab info
  5. To return to the main Lab landing page, simply click the selected topic a second time.

If you are ready to start, click the Lab tab

For any other questions or request, feel free to contact Maxim Technical support Close section


  • Bidirectional Authentication
  • Related Devices

Threats, Countermeasures and Security Planning

There are threats from various sources to all connected systems, which could be interconnected by the Internet or other means. It could be a Pulse Oximeter that is connected to a patient in a hospital environment or a printer cartridge that is connected to printer. Off course the plethora of IoT (Internet of Things) devices like thermostats and refrigerators are susceptible to hacking. Let’s look at a few of these threats and how to protect devices and what kind of planning is needed to achieve this goal.

Threats …

There are two kinds of threats facing developers today:

  1. Threats to Systems
  2. Threats to Security ICs

Threats to systems has been well covered by other sources thus we will only cover threats to security ICs. A security IC can be attacked by one or more of the following methods:

  • Side channel attacks – such as glitch attack (active) and differential power analysis (passive).

    Any information that is available as a side effect of the physical hardware implementation.This may include power consumption, injection of faults etc.

  • Invasive attacks - De-capping and micro-probing to find open ports and traces that can be exploited

  • Line snooping - such as man-in-the-middle

  • Memory array tampering – such as cold boot attack

Most side channel attacks are non-invasive and do not destroy the IC. De-capping and micro-probing, which physically looks into various features of the IC is an invasive attack that can destroy the IC.

We are not going to get into too much detail about how these attacks are carried out but will show a couple of simple examples.

The following diagram shows an example of a non-invasive side channel attack using clock glitches.

Active Side Channel Clock-Glitch Attack

An attacker with enough technical expertise might intentionally introduce a glitch into the clock or may intentionally run the clock faster than its intended operating frequency. Under these conditions, the output from the security device might provide clues that would make key determination easier.

Next, we will talk about de-capping, which is short for decapsulation.

Decapsulation (Invasive Attack)

Decapsulation involves soaking the plastic package that encapsulates the silicon die into fuming nitric acid that dissolves the package away.

Semiconductor Package

Once the package is dissolved, the exposed die provides an opportunity to directly probe all the available pads including the ones the manufacturer used for internal setup. The top protective glass can be polished away allowing access to the internal connections of the device. With this direct method, one could gain access to the device’s secrets.

Top View of a chip (Simplified)



Countermeasures

To prevent people with malicious intent from breaking into a secure device it needs to be designed with features that not only provide security but also protect the device itself from attacks.

Maxim Integrated’s devices have robust countermeasures implemented to protect against all these attacks. Here are some of the implemented features:

  • Patented Physically Unclonable Function (PUF) to secure device data

  • Actively monitored die shield that detects and reacts to physical intrusion attempts

  • All stored data is cryptographically protected



Security Planning

The user needs to decide what features of cryptography are appropriate for deployment depending on their application. The following chart gives some examples of application requirements and the resultant measures that need to be applied.

Security Planning based on Application Security Needs

Examples

Authenticity Confidentiality Integrity
Against Counterfeiting X
Against Eavesdropping X
Against Malware Injection X X
Against Calibration Data Change X X


For example, if someone is trying to prevent a medical surgical tool from being counterfeited, they must ensure the authenticity of the tool every time it is connected to the host controller. It will also need protection against any malware being installed in the tool that can harm the patient. The need to protect any calibration data that was stored is paramount as well. But as the possibility of snooping between the tool and the host controller is next to impossible due to closed system connectivity, this system will not need protection against eavesdropping. Thus, in this case the system designer needs to plan for all the protections under “Authenticity” but can skip unnecessary protection under the column “Confidentiality”.

Example System – Security Planning

Maxim Integrated currently has a multitude of authentication products that can satisfy any and all cryptographic security needs. Follow the Security Authenticators link for additional details.