Presuming (if we ought to?) that we classify instantiations of algorithms as primitives, https://cwe.mitre.org/data/definitions/1240.html Colloquially, one would say that AES (and sometimes AES-256) is the "cryptographic primitive," because it is the algorithm that realizes the concept of symmetric encryption (without modes of operation or other protocol related modifications). In practice, developers and architects typically refer::Listen
Presuming (if we ought to?) that we classify instantiations of algorithms as primitives,
Colloquially, one would say that AES (and sometimes AES-256) is the "cryptographic
primitive," because it is the algorithm that realizes the concept of symmetric
encryption (without modes of operation or other protocol related modifications). In
practice, developers and architects typically refer to base cryptographic algorithms
(AES, SHA, etc.) as cryptographic primitives.
Rather than classifying the type of algorithm as the primitive,
A primitive is a mathematical object corresponding to all algorithms performing some
task securely. For example, the AEAD primitive consists of all encryption algorithms
which satisfy the security properties which Tink requires of an Aead.
The usual way of thinking of primitives is to first define properties of the
cryptographic functions, and then simply considering the primitive to be all such
How should we classify things such as LIONESS and Tor?
LIONESS is a block cipher,
a block cipher with a large block size (the size of the entire message), such as LIONESS .
Block ciphers are called cryptographic primitives; therefore, LIONESS ought to be considered one,
We introduce a new primitive called a block cipher that will let us build more powerful forms of encryption.
Of note, LIONESS is made out of a stream cipher and a cryptographic hash function,
One construction which has been missing so far is a means of building a block
cipher out of a stream cipher. In this paper, we show provably secure ways to
construct a block cipher from a stream cipher and a hash function.
Some people define a cryptographic primitive as a most basic building block of a cryptographic system,
Briefly, cryptography primitives are the lowest level cryptography algorithms that serve as a base for cryptographic protocols and functions.
When creating cryptographic systems, designers use cryptographic primitives as their most basic building blocks.
That would leave the stream cipher and hash function as the primitives of LIONESS, but exclude LIONESS itself from being one.
It is called a protocol by the specification.
Tor Protocol Specification
According to NIST, this means it is higher level than a primitive.
A scheme is a higher-level construct than a primitive and a lower-level construct than a protocol.
Today, Tor slightly mixes traffic; therefore, it is properly considered a low latency mix network;
Tor and Onion Routing are both anonymizing proxy networks, allowing people to tunnel out through their low latency mix network.
however, mix networks are said by numerous sources to be cryptographic primitives,
COMMON CRYPTOGRAPHIC PRIMITIVES
Mix network: A routing protocol that creates hard-to-trace communications. A chain of
proxy servers encrypted using public-key cryptography are used to take in messages from > multiple senders, shuffle them, then send them back in random order to the next
which makes it ambiguous.
- Should we consider the type or the instantiation of an algorithm to be the primitive?
- Should we consider LIONESS to be a primitive? If not, what ought we call it?
- Should we consider Tor to be a primitive? If not, what ought we call it?