Computational Intractability - an informal introduction

The Moore's Law Paradox :

Figure Figure Figure

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.

  1. 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.

  2. 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:

or

__________________________________________________________________________________________________

Computational Intractability:

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

$\QTR{Large}{xxx}$

MATH

$\QTR{Large}{zzz}$

Setting aside carries, it requires $\QTR{Large}{n}$ addition table lookups to add to $\QTR{Large}{n}$ digit numbers. That is, if it is practical to add two $\QTR{Large}{n}$ digit numbers today, in two years or in 1 Moore Cycle it will be practical to add two $\QTR{Large}{2n}$ digit numbers.

_______________________________________________________________________________________________________

2. Multiplication

Consider the following template for multiplication.

$\QTR{Large}{x}$ $\QTR{Large}{x}$ $\QTR{Large}{x}$
$\QTR{Large}{x}$ $\QTR{Large}{x}$ $\QTR{Large}{x}$
- - - - -
$\QTR{Large}{y}$ $\QTR{Large}{y}$ $\QTR{Large}{y}$
$\QTR{Large}{y}$ $\QTR{Large}{y}$ $\QTR{Large}{y}$
$\QTR{Large}{y}$ $\QTR{Large}{y}$ $\QTR{Large}{y}$
- - - - -
$\QTR{Large}{z}$ $\QTR{Large}{z}$ $\QTR{Large}{z}$ $\QTR{Large}{z}$ $\QTR{Large}{z}$

Setting aside all sorts of arithmetic, it requires MATH multiplication table lookups to multiply to $\QTR{Large}{n}$ digit numbers. That is, if it is practical to multiply two $\QTR{Large}{n}$ digit numbers today, in 2MooreCycles it will be practical to multiply two $\QTR{Large}{2n}$ digit numbers.

MATHso we will have to do 4 times as many operations.

_____________________________________________________________________________________________________________

Big O Notation:

Let MATHbe the natural numbers, MATHthe positive integers, and MATH be the positive real numbers.

Given MATH we write MATH if there exists MATH MATHsuch that.for MATH

Example:

MATH thenMATH MATH

Choose MATH

MATHfor MATH

____________________________________________________________________

Standard Big O Notation Categories

Name Notation
$\QTR{Large}{O(1)}$ constant
MATH logarithmic
MATH polylogarithmic
$\QTR{Large}{O(n)}$ linear
MATH quadratic
MATH polynomial
MATH exponential
$\medskip $

Note: In specifying a Big O Notation Category for a function we choose the best possible.,

_____________________________________________________________________

Exercise (Due April 18):

  1. What Category is MATH

    Ans: For MATH

    So MATH

    also MATH

    Choosing MATH and MATH, we have MATH

  2. Suppose your computer can perform 10,000,000 Integer long divisions per second ( don't worry about integer size). Suppose you know

    MATH, a product of primes is a 400 digit integer. Worst case, brute force, approximately how long would it take to factor $\QTR{Large}{n\ }$, remember, you only have check up toMATH

    Ans: Very roughly MATH so it will take MATHseconds. There approximately are MATH seconds in a year. So we would need more than MATH years.

_____________________________________________________________________________________________________________

The Tower of Hanoi:

Figure

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:

MATH

Computation: It requires MATHmoves to solve the $\QTR{Large}{n}$ disk Tower of Hanoi problem:

Notationally, if MATHnumber of moves to solve the $\QTR{Large}{n}$ disk problem, MATH

It is true for the $\QTR{Large}{1}$ disk problem.

Suppose we know this to be true for the $\QTR{Large}{n-1}$ disk problem Then to solve the $\QTR{Large}{n}$ disk problem

MATH

So it is practical to solve the $\QTR{Large}{n}$ disk Tower of Hanoi problem today, in 1 Moore Cycle it will be practical to solve the $\QTR{Large}{n+1}$ 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.

_______________________________________________________________________________________________

Relative Intractability:

Breaking RSA Encryption:

  1. We are given $\QTR{Large}{n\ }$which we know to be MATH where $\QTR{Large}{p}$ $\QTR{Large}{\neq }$ $\QTR{Large}{q}$ are primes. We wish to compute $\QTR{Large}{p}$ $\ $and $\QTR{Large}{q}$ If we could, then it would be easy to compute

    MATH MATH

  2. We are given $\QTR{Large}{n}$ as in 1. and we just wish to compute$\QTR{Large}{\ }$ MATH the number of members of MATHrelatively prime to $\QTR{Large}{n\ }$,$\QTR{Large}{\ }$but we don't care about $\QTR{Large}{p}$ $\ $and $\QTR{Large}{q.}$.

The Claim: If we can find an easy way to compute$\QTR{Large}{\ }$ MATHwithout having to find $\QTR{Large}{p}$ $\ $and $\QTR{Large}{q\ }$, then finding $\QTR{Large}{p}$ $\ $and $\QTR{Large}{q}$ is a simple additional calculation.

In terms of Intractability, it is just as hard to compute MATH as it is to factor $\QTR{Large}{n}$.

The Calculation:

Suppose we have somehow computed MATH. We then have two equations in two unknowns

MATH

and by the the Fermat--Euler Theorem

MATH

substituting MATHinto the second equation and solving for $\QTR{Large}{q}$

MATH

substituting this back into the first equation gives the following quadratic equation in $\QTR{Large}{p}$

MATH

or

MATH

________________________________________________________________________________

Elliptic Curve Encryption - The Issue:

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.