Provable security and other problems in modern cryptography
Step 3: Implement the Functions Using Generic Procedures
This step refers to the basic cryptographic building blocks, such as private key encryption, message authentication codes, hash functions, or signature schemas. Defining generic procedures helps you understand which security property of the underlying building block is used to achieve a certain security property of the new system.
The design has to work independently of specific procedures, since it is always possible for individual procedures to be broken. For example, researchers recently found the first attacks on the SHA-1 hash function. Developing a completely new system because individual components have been broken is simply too expensive. Moreover, the insecurity of individual instances does not alter the fact that the concept as such is secure. To illustrate this point, just briefly think about the example of fire protection. Just because the material of an individual door proved not to be fireproof does not mean that the entire strategy, which envisaged a fireproof door at a particular location, is wrong.
Step 4: Formal Mathematical Proof of Security
After the formal specification of the security properties and the design, formal mathematical proof of security follows in the fourth step. This step confirms that the design satisfies the desired safety properties. Formal proof provides a one-to-one mapping between the security properties of the underlying cryptographic building blocks and the security properties that the system is intended to achieve. Formally verifying the security uncovers design flaws. If the security properties of the underlying cryptographic building are not applied, there is a flaw in the design, and there is most likely a more efficient solution.
Step 5: Instantiate the Implementation
Once the formal security of the system has been established, it is necessary to instantiate the generic cryptographic building blocks with specific cryptographic procedures. For example, a generic encryption schema with a private key is introduced, and this building block is implemented in practice using AES. Since generic building blocks work with abstract objects (such as "a private key" or "a ciphertext"), you need to translate these objects into concrete instances. For example, the object "public key encryption scheme" is instantiated with an ElGamal encryption scheme [2].
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
News
-
The GNU Project Celebrates Its 40th Birthday
September 27 marks the 40th anniversary of the GNU Project, and it was celebrated with a hacker meeting in Biel/Bienne, Switzerland.
-
Linux Kernel Reducing Long-Term Support
LTS support for the Linux kernel is about to undergo some serious changes that will have a considerable impact on the future.
-
Fedora 39 Beta Now Available for Testing
For fans and users of Fedora Linux, the first beta of release 39 is now available, which is a minor upgrade but does include GNOME 45.
-
Fedora Linux 40 to Drop X11 for KDE Plasma
When Fedora 40 arrives in 2024, there will be a few big changes coming, especially for the KDE Plasma option.
-
Real-Time Ubuntu Available in AWS Marketplace
Anyone looking for a Linux distribution for real-time processing could do a whole lot worse than Real-Time Ubuntu.
-
KSMBD Finally Reaches a Stable State
For those who've been looking forward to the first release of KSMBD, after two years it's no longer considered experimental.
-
Nitrux 3.0.0 Has Been Released
The latest version of Nitrux brings plenty of innovation and fresh apps to the table.
-
Linux From Scratch 12.0 Now Available
If you're looking to roll your own Linux distribution, the latest version of Linux From Scratch is now available with plenty of updates.
-
Linux Kernel 6.5 Has Been Released
The newest Linux kernel, version 6.5, now includes initial support for two very exciting features.
-
UbuntuDDE 23.04 Now Available
A new version of the UbuntuDDE remix has finally arrived with all the updates from the Deepin desktop and everything that comes with the Ubuntu 23.04 base.