Cryptography Reference
In-Depth Information
B
./
>
./
>
Figure 6.1
Negligible, nonnegligible (noticeable), and other functions.
or “steps” that must be executed. Often a step is taken to mean a bit operation. For
some algorithms, however, it is more convenient to have a step mean something
more comprehensive, such as a comparison, a machine instruction, a machine clock
cycle, a modular multiplication, or anything else along these lines.
In either case, the running time of an algorithm can be measured in the worst
or average case:
The worst-case running time of an algorithm is an upper bound on the running
time for any input, expressed as a function of the input size.
The average-case running time of an algorithm is the average running time
over all inputs of a fixed size, also expressed as a function of the input size.
In modern cryptography, it is common to call a computation efficient if it
terminates within a worst-case running time that is polynomial in the input size.
Polynomial functions and polynomial-time algorithms as formally introduced in
Definitions 6.3 and 6.4 are defined along these lines.
Definition 6.3 (Polynomial function) A function f ( n ) is called polynomial if f ( n )=
O ( n c ) for some c
N
. Otherwise, it is called super-polynomial .
In some literature, a polynomial function is called polynomially bounded ,
and a super-polynomial function is called nonpolynomially bounded . In this topic,
however, we don't use these terms, and we say that a function is either polynomial
or super-polynomial.
If and c are constants with 0 << 1 <c , then the following functions are
listed in increasing order of their asymptotic growth rates:
1 < ln ln n< ln n<e ln n ln ln n <n
<n c <n ln n <c n <n n <c c n
Search WWH ::




Custom Search