Wiselib
|
Basic Concept for Cryptographic Algorithms. More...
Inherits concepts::BasicAlgorithm_concept.
Public Member Functions | |
int | init () |
Reset algorithm. | |
int | destruct () |
Turn off algorithm - and thus all Os facets where possible. |
Basic Concept for Cryptographic Algorithms.
There are several kinds of cryptographic algorithms. This interface provides some essential cryptographic utilities that are commonly used in applications. Examples are encryption algorithms, key agreement algorithms, digital signature algorithms as well as hash algorithms.
When considering cryptographic algorithms a typical categorization is based on the keys used by the communicating parties. In symmetric-key cryptographic algorithms both the sender and receiver share the same key which is used for encryption and decryption respectively. An example of a symmetric-key algorithm is the Advanced Encryption Standard (AES). In contrast, in public-key cryptography algorithms, different keys are used for encryption and decryption respectively. Each participant holds a pair of keys: a private key, known only to himself and a public key which is freely distributed. The most popular examples of public key cryptography algorithms are RSA (Rivest, Shamir and Adleman) as well as ECC (Elliptic Curve Cryptography). With a public key cryptography algorithm as the basis, several encryption, key agreement and digital signature algorithms can be built.
int concepts::BasicAlgorithm_concept::destruct | ( | ) | [inherited] |
Turn off algorithm - and thus all Os facets where possible.
Do not use any Os facet functionality until init() is called.
Reimplemented in concepts::NodeDistanceEstimation_concept, concepts::Position_concept, and concepts::Routing_concept.
int concepts::BasicAlgorithm_concept::init | ( | ) | [inherited] |
Reset algorithm.
Re-init all states, turn on Os facets (if used and enable function is existent).
Reimplemented in concepts::NodeDistanceEstimation_concept, concepts::Position_concept, and concepts::Routing_concept.