1951 -The UNIVAC -1 was 25 feet by 50 feet
in length, contained 5,600 tubes, 18,000 crystal diodes, and 300 relays. It
had an internal storage capacity 1,000 words or 12,000 characters.. Its
reported processing speed was 0.525 milliseconds for
arithmetic functions, 2.15 milliseconds for multiplication and 3.9
Milliseconds for division. The UNIVAC was also the first computer to come
equipped with a magnetic tape unit and was the first computer to use buffer
memory.
1954 -The IBM 704 mainframe (image courtesy of
LLNL) - 4,000 instructions per second 18 kilobytes main
memory
1982 - The Osborne Executive - 4 MHz CPU
124 kilobytes main memory
2012 -The iPhone 5: Processor: Dual core,
1300 MHz, System memory: 1016 MB RAM Built-in storage:16 GB
The far future: As seen in
Brazil
a "science fiction" movie (1985)
.
Moore's Law asserts that the speed of computation of a single processor will double approximately every two years. Informally, we can do twice as much work in the same time, or the same amount of work in half the time.
Moore's Law is good news! We can do a computation for "small" datasets. We need to do the same computation, for a larger dataset, but lack computers of sufficient power. Moore's Law tell us when such computations will be possible.
Moore's Law is bad news! Because there is not sufficient compute-power available,we know others are not able to do in a useful way, a certain computation that we do not want them to do. Moore's Law warns us when such computations will be possible.
Terminology:
A Moore Cycle will to refer to:
The engineering time cycle required to develop a processor capable of doing
twice the number of basic operations per "clock tic" that can be done with
today's processors. Read
years for
Moore cycles. Informally, it suffices to have table-lookup or a comparison in
mind when thinking about the term "basic operation."
or
The additional number of processors (measured in powers of
)
required to do twice the number of "basic operations" per "clock tic" that can
be done with a cluster of a given size. Using this "Moore cycles", in this
context requires a good deal of care. See
Amdahl's
Law which considers speed up possible by parallelizable components vs.
serial components of algorithms.
The term Computational Intractability refers to the phenomenon that many problems seem inherently impossible to solve on current computational models.
1. Addition
Consider the following template for addition
Setting aside carries, it requires
addition table lookups to add to
digit numbers. That is, if it is practical to add two
digit numbers today, in two years or in 1 Moore Cycle it
will be practical to add two
digit
numbers.
2. Multiplication
Consider the following template for multiplication.
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
||
- | - | - | - | - |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
||
- | - | - | - | - |
![]() |
![]() |
![]() |
![]() |
![]() |
Setting aside all sorts of arithmetic, it requires
multiplication table lookups to multiply to
digit numbers. That is, if it is practical to multiply two
digit numbers today, in 2MooreCycles it will be practical to
multiply two
digit
numbers.
so
we will have to do 4 times as many operations.
Let
be
the natural numbers,
the
positive integers, and
be the positive real numbers.
Given
we
write
if
there exists
such
that.for
Example:
then
Choose
for
Name | Notation |
![]() |
constant |
![]() |
logarithmic |
![]() |
polylogarithmic |
![]() |
linear |
![]() |
quadratic |
![]() |
polynomial |
![]() |
exponential |
Note: In specifying a Big O Notation Category for a function we choose the best possible.,
Exercise (Due April 18):
What Category is
Ans: For
So
also
Choosing
and
,
we have
Suppose your computer can perform 10,000,000 Integer long divisions per second ( don't worry about integer size). Suppose you know
,
a product of primes is a 400 digit integer. Worst case, brute
force, approximately how long would it take to factor
,
remember, you only have check up
to
Ans: Very roughly
so it will take
seconds.
There approximately are
seconds in a year. So we would need more than
years.
The Tower of Hanoi:
The object is to move the disks from one peg to any other, one disk at a time and never putting a smaller disk on top of a bigger disk.( The Applet):
Solution:
Computation: It requires
moves
to solve the
disk Tower of Hanoi problem:
Notationally, if
number
of moves to solve the
disk
problem,
It is true for the
disk problem.
Suppose we know this to be true for the
disk problem Then to solve the
disk problem
Move the top
disks to a peg
in
moves
Move the bottom disk in
move
to the open peg..
Move the top
disks onto the bottom disk in
moves
So it is practical to solve the
disk Tower of Hanoi problem today, in 1 Moore Cycle it will
be practical to solve the
disk
problem . If I can solve the 52 disk problem today it will
require 100 Moore Cycles (200 years or lots of processors)
before I can solve the 152 disk problem.
Breaking RSA Encryption:
We are given
which
we know to be
where
are primes. We wish to compute
and
If we could, then it would be easy to compute
We are given
as in 1. and we just wish to
compute
the number of members of
relatively
prime to
,
but
we don't care about
and
.
The Claim: If we can find an easy way to
compute
without
having to find
and
, then
finding
and
is
a simple additional calculation.
In terms of Intractability, it is just as hard to compute
as
it is to factor
.
The Calculation:
Suppose we have somehow computed
.
We then have two equations in two unknowns
and by the the Fermat--Euler Theorem
substituting
into
the second equation and solving for
substituting this back into the first equation gives the following quadratic
equation in
or
While understanding RSA and ELGlamal Encryption does require a reasonable
mathematical background. Elliptic Curve Encryption involves an understanding
of material usually reserved for advanced undergraduates, even beginning
graduate students in Mathematics. The following table provides some insight in
what Elliptic Curve Encryption offers. The counts are in bytes and each line
represents key size required to achieve a certain level of security. Finally,
for various reasons, the sizes should be considered suggestive rather that
some precise experimental comparison.
Private Key | Public Key RSA |
Public Key Elliptic Curve |
10 | 10 | 20 |
14 | 256 | 28 |
16 | 384 | 32 |
24 | 960 | 48 |
32 | 1920 | 64 |
RSA implementation might be thought of as an example of the Moore's Law paradox. If we postulate that key byte size translates to compute-power required to implement the associated encryption/decryption protocols and if we think of the first and third column key sizes as somehow tracking Moore's Law, the cost of implementing RSA in terms of hardware etc. required to implement RSA key security in an efficient way, continues to increase.with every Moore Cycle.