In
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
, a security parameter is a way of measuring of how "hard" it is for an
adversary
An adversary is generally considered to be a person, group, or force that opposes and/or attacks.
Adversary may also refer to:
* Satan ("adversary" in Hebrew), in Judeo-Christian religion
Entertainment Fiction
* Adversary (comics), villain fr ...
to break a cryptographic scheme. There are two main types of security parameter: ''computational'' and ''statistical'', often denoted by
and
, respectively. Roughly speaking, the computational security parameter is a measure for the input size of the
computational problem
In theoretical computer science, a computational problem is a problem that may be solved by an algorithm. For example, the problem of factoring
:"Given a positive integer ''n'', find a nontrivial prime factor of ''n''."
is a computational probl ...
on which the cryptographic scheme is based, which determines its computational complexity, whereas the statistical security parameter is a measure of the probability with which an
adversary
An adversary is generally considered to be a person, group, or force that opposes and/or attacks.
Adversary may also refer to:
* Satan ("adversary" in Hebrew), in Judeo-Christian religion
Entertainment Fiction
* Adversary (comics), villain fr ...
can break the scheme (whatever that means for the protocol).
Security parameters are usually expressed in
unary representation - i.e.
is expressed as a string of
s,
, conventionally written as
- so that the
time complexity
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
of the cryptographic algorithm is
polynomial
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An ex ...
in the size of the input.
Computational security
The security of cryptographic primitives relies on the hardness of some
hard problems. One sets the computational security parameter
such that
computation is considered
intractable
Intractable may refer to:
* Intractable conflict, a form of complex, severe, and enduring conflict
* Intractable pain, pain which cannot be controlled/cured by any known treatment
* Intractable problem
In theoretical computer science and mathema ...
.
Examples
* If the security of a scheme depends on the secrecy of a key for a
pseudorandom function (PRF), then we may specify that the PRF key should be sampled from the space
so that a
brute-force search
In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically enumerating all possible candidates for the soluti ...
requires
computational power.
* In the
RSA cryptosystem
RSA (Rivest–Shamir–Adleman) is a public-key cryptosystem that is widely used for secure data transmission. It is also one of the oldest. The acronym "RSA" comes from the surnames of Ron Rivest, Adi Shamir and Leonard Adleman, who publi ...
, the security parameter
denotes the length in bits of the modulus ''n''; the positive integer ''n'' must therefore be a number in the set .
Statistical security
Security in cryptography often relies on the fact that
statistical distance
In statistics, probability theory, and information theory, a statistical distance quantifies the distance between two statistical objects, which can be two random variables, or two probability distributions or samples, or the distance can be b ...
between
* a distribution predicated on a secret, and
* a ''simulated'' distribution produced by an entity that does not know the secret
is small. We formalise this using the statistical security parameter by saying that the distributions are ''statistically close'' if the statistical distance between distributions can be expressed as a
negligible function in the security parameter. One sets the statistical security parameter
such that
is considered a "small enough" chance of the adversary winning.
Consider the following two broad categories of attack of adversaries on a given cryptographic scheme: attacks in which the adversary tries to learn secret information, and attacks in which the adversary tries to convince an honest party to accept a false statement as true (or vice versa). In the first case, for example a
public-key encryption scheme, an adversary may be able to obtain a large amount of information from which he can attempt to learn secret information, e.g. by examining the distribution of ciphertexts for a fixed plaintext encrypted under different randomness. In the second case, it may be that the adversary must guess a challenge or a secret and can do so with some fixed probability; in this we can talk about distributions by considering the algorithm for sampling the challenge in the protocol. In ''both'' cases, we can talk about the chance of the adversary "winning" in a loose sense, and can parameterise the statistical security by requiring the distributions to be statistically close in the first case or defining a challenge space dependent on the statistical security parameter in the second case.
Examples
* In
encryption schemes, one aspect of security is (at a high level) that anything that can be learnt about a plaintext given a ciphertext can also be learnt from a randomly-sampled string (of the same length as ciphertexts) that is independent of the plaintext. Formally, one would need to show that a uniform distribution over a set of strings of fixed length is statistically close to a uniform distribution over the space of all possible ciphertexts.
* In
zero knowledge protocols, we can further subdivide the statistical security parameters into ''zero knowledge'' and ''soundness'' statistical security parameters. The former parameterises what the transcript leaks about the secret knowledge, and the latter parameterises the chance with which a dishonest prover can convince an honest verifier that he knows a secret even if he doesn't.
* In
universal composability The framework of universal composability (UC) is a general-purpose model for the analysis of cryptographic protocols. It guarantees very strong security properties. Protocols remain secure even if arbitrarily composed with other instances of the sam ...
, the security of a protocol relies on the statistical indistinguishability of distributions of a real-world and an ideal-world execution. Interestingly, for a
computationally unbounded environment it is not sufficient for distributions to be statistically indistinguishable since the environment can run the experiment enough times to observe which distribution is being produced (real or ideal); however, any standalone adversary against the protocol will only win with negligible probability in the statistical security parameter since it only engages in the protocol once.
See also
*
Key size
In cryptography, key size, key length, or key space refer to the number of bits in a key used by a cryptographic algorithm (such as a cipher).
Key length defines the upper-bound on an algorithm's security (i.e. a logarithmic measure of the fastes ...
*
Negligible function
Cryptography