GB2480259A - Data sequence encryption using primes generated from random natural numbers - Google Patents

Data sequence encryption using primes generated from random natural numbers Download PDF

Info

Publication number
GB2480259A
GB2480259A GB1007794A GB201007794A GB2480259A GB 2480259 A GB2480259 A GB 2480259A GB 1007794 A GB1007794 A GB 1007794A GB 201007794 A GB201007794 A GB 201007794A GB 2480259 A GB2480259 A GB 2480259A
Authority
GB
United Kingdom
Prior art keywords
piat
prime
natural
value
polynomial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1007794A
Other versions
GB201007794D0 (en
Inventor
Jonathan Attia
Bernard Pinot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Etsem Ltd
Original Assignee
Etsem Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Etsem Ltd filed Critical Etsem Ltd
Priority to GB1007794A priority Critical patent/GB2480259A/en
Publication of GB201007794D0 publication Critical patent/GB201007794D0/en
Publication of GB2480259A publication Critical patent/GB2480259A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • H04L29/06666
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7204Prime number generation or prime number testing

Abstract

A data sequence is encrypted by initially generating first and second random natural numbers r1,r2using a random number generator. The random natural numbers r1, r2can then be used to identify two distinct prime numbersp,qwhich can be used to encrypt the data sequence b obtaining a first value equal to (2r,— 2)! and a [(2r2-1)!]2second value equal to (2r2—2)!, prime-factorising the first and second obtained values, [(r2—1)!]2and identifying in the first and second prime-factorisations the prime factorsp,qimmediately greater than the first and second random natural numbers r1, r2respectively. The first and second values can be calculated directly or can be obtained by way of a look-up from the Carré de PIAT.

Description

APPARATUS FOR AND METHODS OF IDENTIFYING A PRIME NUMBER,
DETERMINING PRIMALITY AND DETERMINING PRIME FACTORS
FIELD
The present invention relates to apparatus for and methods of identifying a prime number, determining primality and determining prime factors.
BACKGROUND
Data can be represented digitally as a sequence of bits (binary digits).
Modification of digital data is inherently a mathematical process of operating on numbers. A certain amount of background mathematical knowledge is required to understand how data is modified and to gain a good understanding of the present invention.
Homer's Scheme, the Newton-Raphson Method for finding polynomial roots, Taylor and Maclaurin Series Expansions, and Pascal's Triangle provide a background to the developments in mathematics that have led to, but are encompassed by, the present invention and also put it into historical context. They are outlined below.
Homer's Scheme Homer's Scheme (1819), named after the British mathematician William Homer, is a popular method for approximating the roots of a polynomial P(x)= ax" + a_1x" + ... + a1x + a0, where a0, a1,. . . , a are called the "coefficients" of P(x).
The roots, denoted herein asx, of the polynomialP(x) are those values ofxfor which the image of P(x')= ax + alx"1 +... + a1x' + a0 is zero, i.e. the values ofx for which P(x) 0.
Although Homers Scheme is attributed to Homer, it also has origins in Chinese mathematics from the Han Dynasty. The Chinese mathematician Ch'in Chiu-shao is believed to have arrived at an equivalent form in 1247 based on methods of root extraction from the Chiu Chang Suan Shu ("The Nine Chapters of Mathematics"), which is believed to date back to around 100AD. Sometimes, Homer's Scheme is referred to as the Ch'in-Horner Scheme or Method.
FIG. 1 shows Homer's Scheme where, in the initial step, a new set of coefficients {k0'. . .b1}is defined as: First Stage Second Stage nth Stage b1:= a b2:= b1:= b1,_1:= b1x + a..1 b21:= b1x + b1,_1 b11:= b12x + a1 b21:= b2,2x + bic1:= k1x + a0 These new coefficients can be seen by following the arrows in FIG. I from the upper leftmost corner to the bottom rightmost corner.
is the Homer coefficient in the th row and n -1+1 th column of Homer's Scheme. It lies under the initial coefficient a_11. For example, for a third-degree polynomial, i.e. where n = 3,b1, = b32 is the coefficient on the third row and second column (n j + 1 = 3-2+1 2) of Homer's Scheme and lies under the initial coefficient a_11 a3_21 = a2.
By first factoring outx and the substituting the new coefficients into the result, P(x)can be rewritten in the nested form: P(x) = a0 + x a1 + x a2 + . . . x a1 + a x = a0 + x a1 + x a2 + ,. . x a1 + bx =a0 +x a1 +xk2 =a0+b1x=b10 =:b10 Thus, P(x) For some polynomials, the roots are relatively easy to find and there are many elementary methods for doing so. For example, to find the roots of the polynomialP(x)=x2 -16, i.e. thevalues ofxforwhichP(x)=0, some of the approaches are: Taking A Square Root P(x)=0x2_16=Ox2=16ex=±Ji=±4. Thusx=-4andx=4.
Perfect Square P(x)is in the form of a perfect so P(x) = x2 -16 = (x + 4Xx -4). This can only equal zero when x = 4 orx = -4.
Rational Root Theorem P(x) is in the form P(x) = ax + a1x' + . .. + ax + a0 where the coefficients {a1) are integer values. According to the Rational Root Theorem, if a!= Oanda0!= 0, then each rootx' is in the form x £., where p is an integer factor of a0 and q is an integer q factor of a. The list of all possible roots can be found by calculating the value of±for q all possible values of p and q and then testing whether these possible values are indeed rootsxofP(x).
In the numerical example above, P(x) = -. The possible values forp are 1,2,4,8,16 and the only possible value of q isi. The possible roots are, thus: ±! ±. ±.
1' 1' 1' 1 1 It can be verified that the only values which satisfy P(x) = 0 are ± 4.
Quadratic Equation Since P(x)= x2 -16 is in the form P(x)= ax2 +bx+c, wherea =1,b = 0,c = -16, its roots can be found by: * _b±.sJb2_4ac 2a Thus, the roots of P(x)= x2 -l6are: -_O±Jo 41(16) -±J -±8 -21 2 2 Trial And Error Another approach is to take a guess as to the possible root and then revise the guess in some predetermined manner. For example, taking x = 2 as a reasonable guess, we find that: P(2)=22_16=4_16=_12!=0 We then try another value, sayx = 3 because we need to increase the value of x2 in P(x): P(3)=32_16=9_16=_3!=O We might then tryx = 4and find that it solves P(x)= 0. In fact, for such a simple polynomial, it is likely that, after a moment's thought, it would be evident that the roots arex* =±4.
The above methods are suitable for finding roots of simple polynomials. However, for a higher-order polynomial such as P(x) = x3 -9x2 + 23x -15, the above methods either do not apply or are rather more complicated. This polynomial is not a perfect square, we cannot manipulate and take roots and it is not a quadratic. We could use trial and error.
One well-known method for approximating the roots of a polynomial such as this is the Newton-Raphson method.
Newton-Raphson The Newton-Raphson method was initially devised by the British mathematician Sir Issac Newton in 1669 and was first published in 1685. It computed a series of polynomials to arrive at an approximation of the roots x. Newton's method was simplified by fellow British mathematician Joseph Raphson who described Newton's method in terms of a series of better approximations x.1 of the root x starting from an initial approximation of the root;. Raphson's work was published in 1690.
Like Newton, who is credited along with the German mathematician Gottfried Leibniz for devising Calculus in the 1660s, Raphson apparently did not notice the link with Calculus in his approximation method. It was another British mathematician, Thomas Simpson, who described the link in 1740, some 80 years before Homer's Scheme was described in 1819.
FIG. 2 illustrates the Newton-Raphson method.
Given an initial guess; of a root x of a polynomial P(x), a better approximation to the actual rootx*is the pointx1 where the tangent to theP(x)at the initial guess x crosses the x-axis.
The tangent to the P(x)at the initial guess x can be found from elementary Calculus in the following manner: P'(x)
I
However, since x1 is the point at which the tangent crosses the x -axis, we can use that P(x1) = 0. Thus:
P(x)-P(x1) _______ xn -xn+i xn -xn+i P(x) x-x = n
-___
Xfl+1 -X, ,. "xn
Accordingly, we simply make an initial guess of the value of x and continue the Newton-Raphson method until a sufficiently accurate root has been found. Using the numerical example with an initial guess of; = 2: P(x) = -9x2 + 23x -15 P'(x) = 3x2 -1 8x +23 P(x) (23_9.22+23.2_15) x =2-*x 1=x -" =2-n n+ (3.22_18.2+23) =2-(8_36+46_15)2(3)2+35 (12-36+23) (-ii) The Newton-Raphson method gives a better approximation of the root of the polynomial asx1 = 5. Indeed, it can be seen thatP(5)=53_9.52+23.5_15=125_225+115_15O. Thus,x=5isaroot ofP(x)=x -9x2 +23x-15.
Had we chosen; = 0 as the initial guess, we would have calculated: P(x)= x3 -9x2 +23x-15 P'(x) = 3x2 -1 8x +23 =O-x =x -.(x) o3_9.o2+23.o_1s)(o_o+o_1s) P'(x) (3.02_18.0+23) (0-0+23) 0(_15)1.065 (23) 23 _____ (O.65 -9* 0.652 + 23 *0.65 -15) x 1=0.65-+x 2=x -=0.65-n+ (3.0.652 -18.0.65+23) 0.65-(0.227-3.828+15-15) 0.65 (-3.60) 0.65 + 0.28 = 0.93 (1.276-11.739+23) (12.54) This process can be continued until the sequence of root converges sufficiently close to the actual rootx, which, in fact, in this case isx = 1.
Homer's Scheme Another alternative is to use Homer's Scheme to approximate the roots. In fact, this method involves essentially the same calculations as the Newton-Raphson method but does not directly involve calculating differentials.
As explained above, the Netwon-Rapshon method involves calculating: xn+1=xn-,i
P
However, we know from above that, for a third-order polynomial, (x) = b10 and we will show later that P'(x) = b21. Thus, under Homer's Scheme, we can calculate x,,÷1 by: xn+1 = xn -U2' The method of approximation under Homer's Scheme starts by identifying coefficients in the polynomial P(x)= x3 -9x2 +23x-15 and preparing a table of Homer Coefficients. Using the same initial guess of; = 2 as under the Newton-Raphson Method,x=x0=2: Zeroth a3 =1 a2 =-9 a1 =23 a0 =-15 Homer Stage Multiplication x0b13 =2x1=2 x0b12 =2x-7=-14 x0b11 =2x9=18 by; =2-÷ First Homer b13 = a3 1 = a2 + x0b13 b a1 + x0b12 b = a0 + x0b11 Stage (i = 1) = -9 + 2 = -7 = 23-14 = 9 -15 + 18 = 3 Multiplication x0b23 = 2 x 1 = 2 x0b22 byx0=2-=2x-5=-10 Second b23 = 1 b22 = b12 + x0b23 b21 = + Homer 7+25 =9-10=-i Stage(i=2) Thus: x =2-x1 =x This gives exactly the same root as the Newton-Raphson method.
If we had used x,, = x0 0: -10 -Zeroth a3 = I a2 = -9 a1 23 a0 = -15 Homer Stage Multiplication x0b3 Ox 1 0 x0b12 = 0 x -9 = 0 xQbH = Ox 23 0 by; =0* First Homer b a3 = 1 = a2 + x0b13 b = a1 + x0b12 a0 + x0b Stage 9+O =9 =23+0=23 15+015 Multiplication x0b23 =0 xl =0 x0b22 = 0 x -9 = 0 by; =2 -Second b23 = = 1 12,2 = b2 + x0b23 b2,1 = + x0b2,2 HornerStage =-9+O=-9 =23+0=23 Thus: x =O-*x j=x _=o_15)=o+!_o.65.
P1 fl+ " (23) 23 This also gives the same solution as would be obtained by the Newton-Raphson method. This value of x÷1 0.65 can then be used as a better estimate of the actual root x = 1 under Homer's Scheme. It can be shown that, in this case, b = -3.60 and b21 = 12.54 such that: x1 = 0.65 -* x,2 = -0.65 -0.65 + 0.28 = 0.93 Thus, one use of Homer's Scheme is to find or approximate the roots x of a non-trivial polynomial P(x).
-11 -Homer's Scheme can also be used to evaluate the image of P(x) at a particular point;, i.e. it can be used to find the value: P(x0) = ax011 + a1x01 +... + a1x0 + a0 = b10.
Homer's Scheme can further be used in long polynomial division, polynomial factorisation and also to find Taylor coefficients.
FIG. 3 illustrates a numerical example of the use of Homer's Scheme. To calculate the Homer coefficients of P(x)= x2 + -when x = x0 = 3, the set {k}of coefficients is defined as follows: b12:= a2 = 2 b11:=x0b12+a1=3x2+1=6+1=7 b10:=x0b11 +a0 =(3x7)-3=21--3 =18 This calculation, in which the coefficients {b10,b11,b12}can be seen in the second dotted box in FIG. 3.
According to Homer's scheme, P(3) = 18. This can be verified from the original polynomial asP(3)= 2x(3)2 +1x3-3 = 2x9+3-3 = 18.
The Homer coefficients {b10,b11,k2}are also useful for performing polynomial long division, which is often referred to as "synthetic division".
-12 -Any polynomial P(x)can be divided by a non-zero polynomial g(x) such that: P(x) r(x) -q(x)+-----, where degr(x)<degg(x).
g(x) g(x) In this expression, g(x) is referred to as the "divisor", q(x) is referred to as the "quotient" and r(x) as the "remainder".
The above expression can be trivially rewritten as: P(x) = q(x). g(x)+ r(x) To divide P(x)by a linear binomal (i.e. a first-order polynomial) in the form g(x) = x -x0, we have from above that: P(x)= q(x)*(x-xj+r(x) The special case of polynomial division by a linear binomial is known as Ruffini's Rule, which is named after the Italian mathematician Paolo Ruffini who described it in 1809, ten years before Homer's Scheme was described in 1819.
Since deg r(x) < deg g(x), and we know that deg g(x) = deg(x -x0) = 1, we have that degr(x)< 1 degr(x)= 0 r(x)= r, i.e. the remainder is a constant.
According to Homer's Scheme, P(x0) = b for any polynomial. Since: P(xo)=q(x0).(x_x0)+rq(x0).O+rr g(xo) P(x0)= r = b10 -13 -Thus, the remainderrof long polynomial division is equal to the final first-row Homer Coefficient Alternatively, we can say that the value of P(x) atx = x0 is equal to the remainder r bic when P(x) is divided by x -x0. This is known as the Polynomial Remainder Theorem.
Furthermore, if P(x)is an nthdegree polynomial in the form P(x) a,,x" + +... + ax + a0, then q(x) will be an n-i thdegree polynomial in the form: q(x) = c_1x + c_2x2 +... + c1x + c0 From the above, we have that: P(x)= q(x)(x-x0)+r =P(x) =q(x) =g(x) =[c1]f +[c_2 -c_1x0}' +...+[c0 -c1x0lx+[r-c0x01 Equating coefficients gives: -a = = c1 = a -= c_2 -c_1x0 c2 = a1 + c1x0 -a1 = C0 -c1x0 C1 = a1 + c1x0 x° -*a0 =r-c0x0 r=a0+c0x0 However, according to Homer's Scheme, we know that: -14 -: := a1 + bx0 : a1 + b1,2x0 : a0 + b11x0 Substituting this into the equated coefficients above: x" -* c1 = a =: -* c,,2 a.1 + = a1 + bx0 =: x1-c0=a1+ c1x0=a1+b12x0=:b11 =b1, x° -r = a0 + c0 x0 = a1 + b1x0 =: Returning back to the initial definition of the quotient q(x)and using this correspondence between the coefficients {c1} of the quotient q(x) with the first row Homer coefficients {b, }, we have that: q(x) = c_1x" + c_2x'2 +... + c2x + c1 -b1X + + .. + + This finally gives that: P(x) = (kx' + +... + bx + bj. (x -x0) + r In summary, long polynomial division of an nh-degree polynomial function P(x)by a linear polynomial divisorg(x)in the form g(x)=x-x0 gives an n1thdegree polynomial -15 -quotient q(x) having Homer's coefficients {b1,...,b11}as its coefficients {c 1,...c0}with a constant remainderr equal to the lowest-order first stage Homer coefficientk0divided by the divisorg(x).
By way of a numerical example, to divide a second-degree polynomial P(x) = 2x2 + 1x by a linear polynomial g(x) = x -we know that: P(x) r b10 18 --7--çq(x)+--7--b12x+b11)÷1 =(2x+7)+,.
gx) gx) x-3) x-3 Thus, 2x2+lx-3 18 =i2x+7)+ x-3 (x-3) Long polynomial division in the above numerical example can be performed "by hand" in the following elementary manner by way of a comparison: 2x +7 (x_3))2x2 +lx-3 2x2 -6x +7x-3 +7x-21 +18 Homer's Scheme clearly also gives a method for factorising P(x) by g(x) = (x -x0) since: P(x)= q(x)*g(x)+ r In this numerical example, we, therefore, have that: -16 -q(x).g(x)+r =(2x+7Xx-3)+18 =(2x2 -6x+7x-21)+18 =2x2 +x-3--P(x) Given a general third-order polynomial (for simplicity) P(x) a3x3 + a2x2 + a1x + a0, we can populate a table for use under Homer's Scheme as follows: Zeroth Homer a3 a2 a1 a0 Stage Multiplication x0b3 by; -÷ First Homer = a3 = a2 + x0b13 b = a1 + x0b12 b = a0 + Stage Multiplication x0b23 x0b22 by; -÷ Second Homer b23 = b13 b22 b1,2 + x0b23 b21 = + x0b22 Stage Multiplication x0b33 by; -* Third Homer b33 = b23 b32 b2,2 + x0b33 Stage To define the Homer coefficients: -17 -b13:= a3 k2:= a2 + X0b13 := a1 + x0k2 := a0 + x0b11 b23:= := b12 + x0b23 b21:= b11 + x0b22 b33:= b23 b3,2:= b22 + x0b33 We know from the above, that we can write P(x)=q1(x).(x-x0)+r1, where: q1 (x) = k3x2 + b12x + b, and j =b0 However, q1(x) can also be factorised under Homer's Scheme as follows: q1(x)= b13x2 + b12x + b q2(x). (x -x0)÷ r2, where: q1 (x) = (dix+doXx -x0) + i [d1}x2 + [d0 -d1x0}x + -d0;J q2(x) Equating coefficients gives: -= d1 d1 b23 =:b2,3 x-bi2=do-dixodo=k2+b23x0d0b22 =b23 x° -b11 =, -d0 X0 *2 bfl +b22X0 =b22 -18 -Thus, it can be seen that the second polynomialq2(x)also has the Homer Coefficients as its coefficients and that the remainder of the polynomial factorisation is the lowest-order Homer coefficient on the second Homer row, b21: q1(x)= (b23x+b22Xx -x0)+ b21 =q2 (4 In the final step of the Homer Scheme, the first-order monomial q2(x) is factorised again: q2(x)-_b23x+b22_-q3(x).(x-x0)+r3,wtiere: q2(x)= (e0)(x-x0)+P =[eo}x+k-eoxo] =q3(x) Equating coefficients gives: x -* e x° -b22 =i -e0 x0 =b22 ÷b33x0 r3 =b32 b33 =:b32 Thus, it can be seen that the third polynomial q3(x) also has a Homer coefficients as its constant term and that the remainder of the polynomial factorisation is the lowest-order Homer coefficientb32: q2(x)= (b33Xx-xo)÷b32 =q3(x) From above, we have that: P(x)=k3x2-1bl2x+b.(x.--x0)+b.
-19 -Dividing both sides byg(x) (x -x0)gives: P(x) = (b13X2 + b12x + b11)+ k0 (x-x0) (x-x0) Dividing both sides again byg(x)= (x-x0)gives: P(x) -b13x2 + b2x + b11 + (x-x0)2 -(-x0) (x-x0)2 However, we have from above that: qi(x)=b13x2 +b12x+b11 -q2(x)'(x-x0)+r2 =(b23x+b).(x-_x0)+b r2 b13x2+b12x+b11 i b1 / =b23x+b22)+ , X-X0) X-X0 Substituting this into the earlier expression for P(x) 2 we have that: ( -x) P(x) 2 = b13x2 +b12x+b11 + b10 2 =(b23x+b2j+ b2,1 + 2 (x-0) (x-x0) (x-x0) (x-0) Dividing both sides again byg(x)= (x-x0)gives: P(x) -b23x + b22 + b21 + b0 (x-x0 -(x-x0) (x-x0)2 (x-0)3 However, we have from above that: -20 -q2(x)=b2,3x+b2 =q3(x).(x-x0)+, =(b33Xx-xo)+b q3(x) r3 b23x + b22 -b32 f \ X-X0) P(x) Substituting this into the earlier expression for, , we have that: -X0) P(x) -b23x + b22 b21 b10 -b b32 b21 b10 I \3 -I + I + I -3,3 + I \ I + I x-x0) ,,X-X0) (X-X0) IX-X0) XX0) IXX0) X-X0) It will also be seen that multiplying both sides of this equation by(x-x0)3 gives: P(x)=b33(x-x0+b32(x-x0)2+b21(x-x0)+b0.
This factorisation of P(x) can be used to find the derivative P'(x0)of P(x) at x = x0 as follows: P(x)=b33(x-x0)3 +b32(x-x0)2 +b21(x-x0)+b10 = P(x0)=b33(x0.-x0)3 +b32(x0-x0)2 +b21(x0-x0)+b10 =b1,0 = -÷ P'(x)= 3b3 3(x -x0)2 + 2b2(x -x0)+ b2,1 = P'(x) 3b33(x0-x0)2 + 2b32 (x0-x0) + b2,1 = b21 = -* P"(x) = 6b33 (x -x0) + 2b32 = P"(x0) 6b33(x0-x0)+ 2b32 P"(xo)b 2 3,2 -* Pm(x) = 6b33 = = 6b33 P'(x0) b -21 -
In summary, in the case of a third-order
polynomial P(x) = a3x3 + a2x2 + a1x + a0 (which can be extended for larger-order polynomials): Polynomial Factorisation 1 P(x) (,3x2 +bx+b11(x-x0)+b q1(x) q2(x) r2 [[J(x-x)+ b](x-x)+b}x-x)+ b10 q3(x) r2 Polynomial Factorisation 2 P(x)= b33(x-x0)3 +b32(x-x0)2 +b21(x-x0)+b10 Polynomial Division
I-I
P(x) = (b13x2 + b2x + b11)+ ° (x-x0) (x-0) q(x) P(x) , _____ ______ 2 =b23x--b22)+1 \+ 2 (x-x0) x-x0j (x-x0) r3 P(x) -b + + b21 b10 (x -x0)3 -hTJ) (x -x0) (x -x0)2 + (x -x0)3 Derivatives -22 -P(x0)= b10 P'(x0) = b2,1 P"(x0) -b 2 -3,2 ______ -b Taylor Series The Taylor Series of a mathematical function f(x) is a representation of that function as a sum of terms which include derivativesf'(x),f"(x),...,f()(x)of that function at a particular pointx = x0. It is named after the British mathematician Brook Taylor who described a general method for constructing such a series in 1715 some hundred years before Homer's Scheme was described in 1819. The problem of finding a finite sum of an infinite series had, however, been considered for many centuries before Taylor published his general method. A special case of the Taylor Series is the Maclaurin series, named after the British mathematician Cohn Maclaurin which also dates from the eighteenth century.
If the function is a polynomial of the form P(x) ax1 = a0 + a1x +... + then the Taylor Series ofP(x)aboutx0 =Ocan be found as follows: Thus, a0 P'(x) = 1a1 + 2a2x... + nax' P'(O)=1a1 +2a2O...+na O" =1a1 -23 -Thus, a1 = P'(x)= 2x1a2 +3x2a3x...+ n(n-i)ax"2 pff(�) =2 x 1a2 + 3 2a3 0... + n(n -1)a 2 x 1a2 Thus, a2 = 2x1 P(x) = -lXn -2).. . (i)a = P(0)=n(n-1Xn-2)...(1)a -n!a p(n)(o) Thus, a71 = Thus, the polynomial can be rewritten as: (o) "(o) 2 p(n)() P(x)=a +a1x+...+a x =(o)+ x+ x +...+ x 1! 2! 00 -._... L.._,.......d 01 a,, This series is referred to as the Maclaurin Series, which is the special instance of the Taylor Series when x0 =0.
It can be shown that, for anyx0: S s( \ (a) P(x)= P(x0)+ ° (x-x0)+ 0(x_x0)2 +... + n! (x-x0) This is referred to as the Taylor Series of P(x)aboutx0.
-24 -The above can be verified using an exemplary polynomial: P(x) 2x2 + lx -3.
Forx0 = O(Maclaurin Series): P(x)=2x2 +lx-3 P'(x)=4x+1 P(0)=2x02 +lxO-3=-3 P'(0)=4x0+1=1 P"(O)=4 Thus: (o) (o) "(o) 2 4 2 x+ x =-+-x+-x 0! 1! 2! 1 1 2 =2x2 +lx-3 For; = 3 (Taylor Series): P(x) = 2x2 + lx -3 P'(x) = 4x +1 P"(x) =4 P(3)=2x32+1x3_3=18 P'(3)=4x3+1=13 P(3)=4 Thus: P(X)=fA-L 13)(x_3)+ P'(3)(3)2 =l8+(x_3)+(x_3)2 =18+13x_39+2(x2 -6x+9)= 2x2 +(13-2x6)x+(18-39+2x9) =2x2 4-lx-3 FIG. 3 also shows how successive stages of Homer's Scheme can be used to find the ith Taylor Coefficient X0J The value obtained at the final step of each level of stage of Homer's Scheme gives the corresponding Taylor Coefficient. In general, -25 -b P(x0) In the above example, it can be seen that = = 18, _____ p"(3\ b "1=l3andthatb " =2.
2,1 1! 3,2 2! The Taylor Series expansion of one special factorised polynomial is of particular interest. A Taylor Series expansion of the function P(x) = (i + can be found as follows: P(x) = (i + =P(O)=(i-1-O) =P =1 Thus, (o)= 1.
P'(x) = n(1 + = n(1 + = n1" = Thus, (o) = n.
P"(x) = n(n -1X1 + x)2 = n(n -1X1 + O)2 = n(n -iXi)2 = -i) Thus, pff(o) = -1).
P(x) = -i). . . (iXi + p(n)(o) = -i). . .(1X1 + = -i). ..(iXi)° = -i). . . (i) = Thus,P"(O)=n!.
Thus, the Taylor (Maclaurin) Series expansion for P(x)is: -26 -o'In\ pn(r\ P(x) = a + a1x + ... + a x" = P(o)+ 1x + Wx2 + ... + " i-1! 2! n! o -v---' 01 a2 a,, n n(n-1 2 ii! n! x +...+ x'+...+-f 1! 2! (n_i)!i! n! The form of the ith coefficient,may already be familiar to the reader who is (n-i)!i! familiar with Pascal's Triangle.
Pascal's Triangle FIG. 4 shows an extract of the first eight rows of Pascal's Triangle. Pascal's Triangle is named after the French mathematician Blaise Pascal who described it in 1653. However, it was also known to mathematicians in India, Persia, China and Italy hundreds, and even thousands, of years earlier and goes by different names throughout the world.
The first row of Pascal's Triangle is usually called the zeroth (as opposed to the first) row. Pascal's Triangle is well-known and so a detailed description is omitted.
According to the Binomial Theorem, Pascal's Triangle can be used to find the binomial coefficients {a0,. .. a0}of a binomial expansion of: (x + = a1x'y = a0x + a1x'y +... + a1' + a0y.
It can be shown that(x+y) =[lJx1iyi,wherea1 [j) i!(n-i)! -27 -The binomial coefficients jcan be found either by using the above factorial calculation or from inspecting the ith value on the n row of Pascal's triangle.
Thus, for(x+y)5:' 15\ (x+y)5 =Jx5i 1=0 = C;:0: jx +(Jx52? + + 5! = xy+ xy+ xy+ xy+ y O!(5-O)! 1!(5-1)! 2!(5-2)! 3!(5-3)! 4!(5-4)! 5!(5-5)! 5! 5! 5! 3 2 5! 2 3 5! 5! =-x +-x y+-x y +-x y +-xy +-y 5! 4! 2'3! 3!2! 4! 5! = + xy + x3y + 0x2y3 + 5y4 + y5 As explained above, the values {a0,...,a5}can, as an alternative to the factorial method of calculation above, be obtained by reading-off the value directly from Pascal's Triangle. Since Pascal's Triangle is widely available, the look-up approach can be significantly quicker than calculating each of the values {a0,...,a5} using factorials. This is particularly true for large values of n and i.
In addition to providing the value of an associated binomial coefficient, (n'\ nt a1 = I I = also indicates the number of ways of selecting a number, i, of tz) i!(n-i)! elements from a set containing n elements, where any particular element can only be selected once and where the order of the selected elements does not matter. This is often called the number of combinations "without repetition". For example, this could be used to find the number of different possible ways of winning a lottery, where the lottery -28 -balls are not replaced after they are drawn and the particular order of the lottery balls does not matter; only the specific numbers on the drawn balls matters.
By way of an example, supposing one had a bag with six balls in it: one green (G), one black (B), one white (W), one red (R), one yellow (Y) and one orange (0).
Firstly, to calculate the number of different permutations of balls (i.e. where the order of the balls does matter) you could select by taking three successive balls from the bag but replacing the drawn ball on each occasion (to allow repetition), you would have a choice of any one of six balls in the bag for the first pick, then any one of the six original balls for the second pick and, again, any one of the six original balls for the third and final pick. Thus, you would have 6 x 6 x 6 = 6 possible permutations if the selected ball were replaced after each draw. It is clear that the number of permutations of i elements from ann -element set where repetition is allowed is: n'.
Secondly, to calculate the number of different permutations of balls (i.e. where the order of the balls does matter) you could select by taking three successive balls from the bag without replacing the ones that have been taken, you would have a choice of any one of six balls in the bag for the first pick, then any one of the five remaining balls for the second pick and any one of the four remaining balls for the third and final pick.
Thus, you would have 6 x 5 x 4 = 120 different permutations of three balls from the six-ball bag. It will readily be seen that the number of permutations of ielements from a set of n elements without replacement (without repetition) is: P(n,i)=1
-
-29 -However, if the order of the balls is unimportant (i.e. moving from permutations to combinations), then, for example, in selecting the green, black and white balls, {G, B, w}, {G, w, B}, {B, G, w}, {B, W, G}, {w, G, B) and {w, B, G} are all equivalent to{G,B,W}. It will, thus, be seen that the number of combinations decreases by a factor of i!so that the number of combinations without repetition of ielements from ann-element set is: . n! Cn,z)= . In the above example, the number of combinations without repetition can be read-off from Pascal's Triangle (in fact, the fourth value on the seventh row) or can be calculated using the factorial formula as: c(6,3) = 16 = 6! = 6 x 5 x =2o.
L) 3!(3)! 3x2x1 There are many known methods of data modification that employ mathematical techniques such as those described above. A subset of these methods is data compression: reducing the size of data.
FIG. 5 shows various known techniques for a type of data compression called "lossless" data compression. Lossless data compression is a form of compression in which the data is compressed according to an algorithm which preserves all of the original data. In other words, it enables the compressed data to be decompressed back to its original form without any loss of information. A familiar example of lossless data compression is a "zipped" computer file which can be "unzipped" to recreate the original file.
-30 -In contrast, an example of so-called "lossy" data compression is compression of a WAV audio file into an MP3 audio file. This is because some of the data in the WAV file (lying outside the human audible range) is intentionally removed during the compression into MP3 format.
There are three main types of lossless data compression: entropy encoding, dictionary-based algorithms and heuristic reduction of entropy.
In entropy encoding, a codeword is assigned to each symbol in the data to be compressed. The more common the symbol, the shorter the codeword. Examples of entropy encoding are Arithmetic and Adaptive Arithmetic Encoding, Huffman Encoding (one-pass and two-pass), and Universal Code. An example of a dictionary-based algorithm is Lempel-Ziv 77/78. Examples of heuristic reduction of entropy encoding are the Burrows-Wheeler Transform, Move-To-Front and Prediction by Partial Matching.
Another known compression technique is Run-Length Encoding ("RLE"). RLE relies upon adjacent symbol or character repetitions in data. By way of an example, the first line of a 16x16 pixel icon, in which each pixel is either black (B) or white (W) could be BBBWBBWWWWWBBBBB. This can be compressed under the RLE technique as [3]BW[2]B[5]W[5]B, where the number in parentheses indicates the number of repetitions of the following symbol. An alternative data sequence such as BWBWBWBWBWBWBWBW cannot be compressed using RLE since there are no adjacent repetitions of individual symbols.
Current encoding techniques suffer from various drawbacks including the maximum amount of compression obtainable under the techniques, different rates of -31 -data compression for different input data types and a possible lack of security in relation to the compressed data.
The present invention is set against this backdrop.
STATEMENTS OF INVENTION
According to a first aspect of the invention, there is provided a method of identifying the prime number immediately greater than a natural numberr greater than three, the method comprising obtaining a first value equal to (2r 2)! , prime-factorising [(r -1)!] the first obtained value and identifying in the prime-factorisation the prime factorp, immediately greater than the natural numberras being the prime number p, immediately greater than the selected natural numberr.
Given any natural number, the prime number immediately larger than it can be found. It is possible to obtain the value by reading directly from the PIAT Diagonal, DdP, of the Carré de PIAT, or by one of many calculation methods. This method allows accurate and precise identification of prime numbers by identifying the specific value that should be prime-factorised to find the next prime number. Using r = 243112609 -1 this method would allow the next prime number after the currently highest-known prime number to be determined.
The method may further comprise obtaining a second value equal to (2p, -2)! [(ps -1)!] where p1 is the previously identified prime number immediately greater than the natural numberr, prime-factorising the second obtained value, and identifying in the prime- -32 -factorisation of the second obtained value the prime factor p1 immediately greater than the previously identified prime number p, as being the prime number p._1 immediately greater than the previously identified prime number p, Continuing this process enables the sequence of prime numbers to be established.
It is possible to obtain the value by reading directly from the PIAT Diagonal, DdP, of the Carré de PIAT, or by one of many calculation methods.
According to a second aspect of the invention, there is provided a method of determining whether a prime numbercis a factor of a natural numberr, comprising selecting the natural numberr, selecting the prime numberc to be strictly between unity and the natural numberr, obtaining a value using the prime and natural numbers, c, r, the value being equal to (r+c-1)! determining that the prime numbercis a factor of the c!(r-1)! natural number r if the obtained value is not divisible by the natural numberr, and determining that the prime numbercis not a factor of the natural number r if the obtained value is divisible by the natural numberr.
This method can be used accurately to determine whether a prime numbercis a factor of a natural numberr. It is possible to obtain the value by reading directly from the Carré de PIAT, or by one of many calculation methods.
According to a third aspect of the invention, there is provided a method of determining whether natural numberr is a prime number, comprising selecting the natural numberr, selecting a first prime numberc strictly between unity and the value of the natural numberr, obtaining a value using the natural numberr and the first prime -33 -numberc, the obtained value being equal to (r+c-1)! determining that the natural c!(r-1)! numberr is not a prime number if the obtained value is divisible by the natural numberr, and determining that the natural numberr is a prime number if a value equal to + c-i)! is not divisible by the natural number r for all other prime numbers strictly c!(r-l)! between unity and the natural numberr.
The Primal ity of a natural numberr can be accurately assessed according to the General Criterion of Primality. It is possible to obtain the value by reading directly from the Carré de PIAT, or by one of many calculation methods.
According to a fourth aspect of the invention, there is provided a method of determining the primality of a natural numberr, comprising selecting the natural numberr, obtaining a value using the natural numberr, the value being equal to 2r-l)! -1, determining that the natural numberris a prime number if the obtained (r-1)!r! value is divisible by the natural numberr, and, determining that the natural numberr is not a prime number if the obtained value is not divisible by the natural number r.
According to the Restricted Criterion of Primality, the Primality of a natural numberr can be accurately and quickly tested. It is not necessary to factorise the obtained value; rather it is simply divided by the natural numberr whose Primality is in question. It is possible to obtain the value by reading directly from a value on the Right of Primality, DdPM or DdPM', of the Carré de PIAT, or by one of many calculation methods.
-34 -According to a fifth aspect of the invention, there is provided a method of determining the primality of a natural numberr, comprising selecting the natural numberr, obtaining a value using the natural numberr, the value being equal to (2r -1, determining that the natural number r is a prime number if the obtained (r-1)!r! value is divisible by the square of the natural numberr2, and determining that the natural numberr is not a prime number if the obtained value is not divisible by the square of the natural number r2.
According to the Restricted Criterion of Primality, the Primality of a natural numberr can be accurately and quickly tested, It is not necessary to factorise the obtained value; rather it is simply divided by the natural number rwhose Primality is in question. It is possible to obtain the value by reading directly from a value on the Right of Primality, DdPM or DdPM', of the Carré de PIAT, or by one of many calculation methods.
Obtaining the value may comprise directly computing the value using factorials.
This provides an accurate method of obtaining the value. It is particularly useful when the CdP is not available.
Obtaining the value may comprise obtaining the value directly from the Carré de PIAT (CdP).
This provides an accurate method of obtaining the value. It does not require complex computations; merely reference to the CdP -35 -According to a sixth aspect of the invention, there is provided an apparatus comprising a processor arranged to perform such methods. A computer program may comprise instructions which, when executed, cause a data-processing apparatus to perform such methods. A computer-readable medium or a signal may comprise the computer program.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: FIG. 1 shows the initial step of Homer's Scheme; FIG. 2 shows the Newton-Raphson method; FIG. 3 shows an example of how Homer's Scheme can be used to find the Taylor coefficients; FIG. 4 shows an extract of the first eight rows of Pascal's Triangle; FIG. 5 shows various conventional methods of lossless data compression; FIG. 6 shows the Protocol Stacks under the TCT/IP and OSI models; FIG. 7 shows data encapsulation under the TCP/IP Protocol; FIG. 8 shows an IP datagram having a packet header and a data payload; FIG. 9 shows a PIAT router configured to operate under the PIAT Protocol; FIG. 10 shows an IP datagram having a data payload subject to cyclic PIAT compression and decompression; FIG. 11 shows an overview of a communications network operating under the PIAT Protocol; FIG. 12 shows the PIAT Algorithm for a polynomial P(X); FIG. 13 shows a numerical example of the PIAT Algorithm; FIG. 14 shows the Inverse PIAT Algorithm; FIG. 15 shows the PIAT Method; -36 -FIG. 16 shows the Inverse PIAT Method; FIG. 17 shows the Extended PIAT Method; FIG. 18 shows the Inverse Extended PIAT Method; FIG. 19 shows further rows of the Extended PIAT Method to give the same results as the PIAT Algorithm; FIGs. 20A, B and C show numerical examples of the PIAT Algorithm, the PIAT Method and the Inverse (Extended) PIAT Method forx0 = 1; FIGs. 21A, B and C show numerical examples of the PIAT Algorithm, the PIAT Method and the Inverse (Extended) PIAT Method for; 2; FIG. 22 shows a binary and decimal representation of a data sequence; FIG. 23 shows a PIAT polynomial tree for compressing a data sequence; FIG. 24 shows a numerical example of polynomial reduction under the Inverse PIAT Method; FIG. 25 shows a numerical example of polynomial expansion under the PIAT Method; FIG. 26 shows a numerical example of polynomial reduction/expansion under the PIAT Protocol; FIG. 27 shows how the PIAT Algorithm can be used to construct the one-dimensional CdP, CdP1; FIG. 28 shows numerically how to populate the CdP1 using the PIAT Method; FIG. 29 shows the mapping between the Carré de PIAT (CdP) and Pascal's Triangle; FIG. 30 shows an extract from the 1-dimensional CdP, denoted CdP1; FIG. 31 shows a numerical example of calculating a value in the CdP1; FIG. 32 shows a numerical example of mapping the CdP1 onto the CdP; FIG. 33 shows how the PIAT Algorithm can be used to construct the dimensional CdP, CdP; -37 -FIG. 34 shows an extract from the 2-dimensional Carré de PIAT, denoted CdP2; FIG. 35 shows an extract from the 3-dimensional Carré de PIAT, denoted CdP3; FIGs. 36A and 36B show a detailed numerical example of jumping from an initial PIAT Polynomial to the 200,000th associated Perfect PIAT polynomial; FIG. 37 shows a numerical example of reduction under the Inverse PIAT Method; FIG. 38 shows another numerical example of reduction under the Inverse PIAT Method subject to index correction; FIG. 39 shows the PIAT optimisation heuristic; FIG. 40 shows an overview of data compression under the PIAT Protocol; FIG. 41 shows an overview of data decompression under the PIAT Protocol; FIG. 42 shows compression and decompression of an index under the PIAT Protocol; FIG. 43 shows the different rates of data compression under PIAT, Huffman and RLE compression schemes; FIG. 44 shows a numerical example of Euclidean polynomial division; FIG. 45 shows a method of how to calculate P(X)at a point x0; FIG. 46 shows a numerical example of how to calculate the value of a polynomialP(X) at a pointx0; FIG. 47 shows the PIAT Classification Space forx0 = ifor the numbers between 0 and 109; FIG. 48 shows the PIAT Classification Space forx0 =lfor the numbers between 0 and 299; FIG. 49 shows a graph of certain polynomials associated with the PIAT Classification Space forx0 = 1; FIG. 50 shows the PIAT Classification Space forx0 = 2for the numbers between 0 and 299; -38 -FIG. 51 shows a graph of certain polynomials associated with the PIAT Classification Space for x0 2; FIG. 52 shows a series of perfect couples as part of the PIAT Classification Space; FIG. 53 shows mapping and composite mapping functions within the PIAT Classification Space FIG. 54 shows an 8-bit PIAT classification space; FIG. 55 shows a 16-bit PIAT classification space; FIG. 56 shows the mathematical perimeter in relation to the PIAT Protocol; FIG. 57 shows various mathematical consequences under the PIAT Protocol; FIG. 58 shows the Restricted CdP, denoted CRdP; FIG. 59 shows numerical examples of calculations in relation to the CRdP; FIG. 60 shows the PIAT Triangle (TdP) and the Complementary PIAT Triangle (ThTdP); FIG. 61 shows a numerical calculation in relation to the hypotenuse of the TdP; FIG. 62 shows a system for cyclic PIAT encryption; FIG. 63 shows an extract from the CdP1 identifying the intersections of PIAT Triangles associated with prime numbers; FIG. 64 shows the PIAT Diagonal (DdP); FIG. 65 shows how the sequence of prime numbers can be determined using the CdP1; FIG. 66 shows the algorithm for the sequence of prime numbers; FIG. 67 shows the General and Restricted Criterion of Primality; FIG. 68 shows the Rights of Primality DdPM; and FIG. 69 shows a summary of the remarkable properties of the CdP.
DETAILED DESCRIPTION
Data processing according to the PIAT Protocol will now be explained.
-39 -FIG. 6 shows the four-layer TCP/IP architecture model and how it corresponds to the seven-layer OSI model. Two layers of particular interest in relation to the present invention are the Application and Internet layers.
The Application layer, implemented in layer 7 of the TCP/IP model, defines how applications can exchange data with each other and how they can access the services of other layers. The Internet layer, implemented in layer 3 of the TCP/IP model, is responsible for addressing, packaging, and routing functions.
FIG. 7 shows data encapsulation according to the TCP/IP Protocol.
Data is transmitted according to the TCP/IP Protocol as packets of information; the packets having a header and a data or payioad component. If one System, A, wishes to send data to another system, B, via the TCP/IP Protocol, the data passes through all seven layers of the TCP/IP Protocol Stack at both systems. At the sending system, system A, the data is formatted in the Application layer, layer 7, so that the Transport layer can handle the data. The Transport layer encapsulates the data and modifies the packet header so that the Internet layer, layer 3, can handle the data. This process continues until the data has passed through the TCP/IP Protocol Stack to the Physical Network layer, layer 1.
The data is then transferred via a communications network to the other system, System B. System B then reverses the encapsulation by passing the received encapsulated data through the layers of the TCP/IP Protocol Stack in the reverse order until it finally receives the original data in the Application layer, layer 7.
-40 -FIG. 8 shows the various fields of the header of an IP Datagram. The IP Datagram also includes a data component which does not form part of the header. As will be explained below, the data component can be compressed and encrypted according to the PIAT Protocol.
FIG. 9 shows a router 90 which operates under the PIAT Protocol. The router is similar to conventional routers but it also includes PIAT processors 91 which allow the router to operate under the PIAT Protocol. When data is received via an input port 92, it is modified by a PIAT processor; for example, either by way of compression or decompression. The modified data is then output via output ports 93. The router operates under the control of a processor 94 and can include a memory 95 which can store a computer-program 96 for performing operations under the PIAT Protocol. A switch fabric 97 allows routing of data packets within the router 90.
FIG. 10 shows a datagram under the PIAT Protocol, in which the data field of any IP datagram sent to a router undergoes a mathematical reduction in size (compression) via the PIAT processor. The compression is independent of the format of the data (exe, bin, txt, img, ...) being compressed. Unlike current techniques, compression according to the PIAT Protocol does not depend upon entropic factors. Furthermore, in contrast to known compression techniques, PIAT Compression can be performed multiple times to reduce the size of the data continuously in a cyclic manner. The router reduces the size of the data field each time it undergoes a cycle of PIAT Compression.
Furthermore, under the PIAT Protocol the data field is encrypted simultaneously with the reduction in size. This is because both the compressed data and an associated index indicating the level of compression are needed to decompress the compressed data and neither the compressed data nor the associated index individually resembles -41 -the original data. The original information in the data field is not accessible in plaintext by an unauthorised third party, such as an operator or a service provider, who does not also have the index.
These compression/decompression and encryption/decryption operations under the PIAT Protocol are possible in layer 3 and above.
FIG. 11 shows a possible network architecture 110 which implements the PIAT Protocol.
PIAT routers 111 in the network architecture 110 include PIAT processors (not visible), as discussed above, so that data transmitted within the network 112 is processed according to the PIAT Protocol. This means that the data within the network undergoes simultaneous compression and encryption, and simultaneous decompression and decryption under the PIAT Protocol.
Although the invention lies in the field of improved data processing techniques and the associated hardware, an explanation of the mathematics that led to the advantages realised by the invention is necessary to enable its understanding. Throughout the text below, various new terms will be introduced in French, since these are the terms originally used by the inventors.
The Algorithme de PIA T (AdP) The Algorithme de PIAT (PIAT Algorithm), denoted herein as AdP, takes its name from a portmanteau of the inventors' surnames: (Pl)not and (AT)tia. The AdP unifies the inventors' developments and represents a starting point for understanding the present invention.
-42 -In general terms, the PIAT Algorithm is an algorithm for finding and manipulating coefficients of polynomials. It starts with any initial polynomial (x)0 of degree c and governs the generation of an infinite sequence of Associated PIAT Polynomials of increasing degree where each Associated PIAT Polynomial (x),. is of degree 2'c such that: P(X)0 = acXc + a1X + ... + aX + a0 P(X)1-bX2"+...+b1X+b0 a2 where (a,b1,...,21)N P(X)r=22rX2C+..AiX+A0 a'' The initial PIAT polynomial P(X)0will often be referred to herein as the "Generator PIAT Polynomial" and individual Associated PIAT Polynomials P(X)1,...,P(X), will often be referred to herein as "Perfect PIAT Polynomials".
FIG. 12 shows the PIAT Algorithm.
The PIAT Algorithm starts with an Initial or Generator polynomial: P(X)0 = acXc + + ... + a1X + a0.
The initial coefficients {a, . .., a0) are arranged in an ordered set and are used as an input into the PIAT Algorithm. The initial coefficients {a,...,a0}are arranged in a row in degree-order, where the highest-order coefficient (the "leading" coefficient) a is in the leftmost column (column zero) of the row. The lowest-order coefficient (the constant -43 -term) a0 is in the rightmost column (column c) of the row. The rows referred to in relation to the PIAT Algorithm are denoted as PPA and the columns referred to in relation to the PIAT Algorithm are denoted as Arranging the coefficients {a,. . . ,a0}in this manner on the zeroth row PPA = 0 of the PIAT Algorithm is, in effect, the zeroth step of the PIAT Algorithm. This step is identical to the first step of Homer's Scheme which has been discussed extensively above and can be seen in FIG. 1.
In the first step of the PIAT Algorithm and with reference again to FIG. 12, the entire set of coefficients {a,...,a0}is multiplied by a valuex0and is shifted to the right directly below the initial arrangement in the zeroth row p = 0 to provide the first row PPA = I of the PIAT Algorithm. Thus, in the first row PPA = lof the PIAT Algorithm, none of the initial coefficients lies directly below the highest-order coefficient a of the zeroth row PPA 0. In other words, the zeroth column = 0 of the first row PPA 1 is empty.
Below the second-highest-order coefficient a_1 in the zeroth row PPA = 0, lies ax0.
Below the lowest-order coefficient a0 in the zeroth row PPA =0, lies a1x0. The lowest-order coefficient a0; in the first row PPA 1, which is in column YPA = c + 1, does not lie below any coefficient{a,.. .,a0} from the zeroth rowpPA = 0.
This shifting process is repeated a total number of c times (cbeing the degree of the polynomial), each time multiplying all of the coefficients by x0 when moving to the -44 -immediately lower row PPA -+ land also shifting the resultant set of multiplied coefficients one column to the righty,4 -* + 1. This results in a total number of c rows of shifted coefficients under one complete shifting-multiplication cycle of the PIAT Algorithm, i.e. so that PPA c.
On the final row p,4 = c, the highest-order coefficient ax0' lies in column = ca total number of c rows below the lowest-order coefficienta0 in the zeroth rowp,4 0.
The lowest-order coefficient aoxoC on the final row PPA = c lies in column y, = 2c, and has no coefficients above it in any of the preceding rows pp4 = 0,1,..., c-i.
At this stage the full set of shifted coefficients span a total of p,4 crows and IPA = 2c + 1 columns under the PIAT Algorithm.
After the total number of c steps of the PIAT Algorithm have been effected and the shifting-multiplication cycle is complete, all of the values in the zeroth column = 0 from the zeroth row p,4 = 0 to the cth rowpPA care added together to give the highest-order coefficient b2 in the second set of coefficients {b2,. . . b0}.
This is repeated for the first column = 1 so that all of the coefficients in the first column = 1 from the zeroth row p,4 =0 to the c row p,4 = care added together to give the second highest-order coefficient b2_1 in the second set of coefficients {b2,. . .b0}.
-45 -The lowest-order coefficient in the second set of coefficients {b2,. . 1, } denoted b0, is found by adding all of the coefficients above it in the 2cth column YPA = 2cfrom the zeroth row PPA = 0 to the cth rowpPA c.
It will be seen that the total number of coefficients in the second set {b2,. . b} is 2c +1. Of these coefficients, the first c +1 coefficients {b2, ,. . . , b, b} lie under the initial coefficients {a,. , a0} in columns YPA = 0,..., c and the further c coefficients {b_1, b2,. . . , b1, b0} lie to the right of the firstc+1coefficients{b2,b2_1,...,b+1,b}in columns YM = c+1,...,2c.
Mathematically, the first c +1 coefficients {b2, b2_1,. . . , , b, }of the second set can be expressed in terms of the first set of coefficients {a,...,a0}as follows: -* b = a b2_1 -* b_1 = ax0 + a_1 b2_2 -* b_2 = ax02 + a_1; + a_2 b+2 -b2 ax02 + a_1x03 + .. + a3x0 + a2 b+1 -* b1 = acx0 + a 1x02 +... + a2x0 + a1 b -b axOc +a1x0' +... + a1x0 +a0 = P(x0) Thus, in general: b =a+1_.x01, whenjE{c,c+1,...,2c-1,2c} The furtherccoefficients {b1,b_2,...,b1,b0}of the second set can be expressed in terms of the first set of coefficients {a,...,a0}as follows: -46 - -÷ = a 1x0c + a2x0 +... + + a0x0 c c-I 3 2 b2 -÷ b2 -a2x0 + a3x0 +... + a1; + a0x0 b3 -* b3 = a3x0' + ax0 +... + a1x0 + a0x03 b2 -b2 = a2x0c + a1x0 + a0x02 -b1 = aixoc + a0x0 b0 -b0 = Thus, in general: b =aj_, .x0C1, whenfE{O,1,...,c-2,c-1} The increased set of coefficients {b2,...b0}can be used to construct the first Associated PIAT Polynomial P(X)1 = b2X2c + b2CIX2C + ... + b1X + b0 of degree 2c.
The process of shifting and multiplying byx0 can be repeated with the second set of coefficients {b2,.. . b0} corresponding to the first Associated PIAT polynomial (x)1 to generate a further set of 4c +1 coefficients {c4,. . . c0} which can be used to construct the second Associated PIAT Polynomial (x)2. It will be clear that, in theory, an infinite number of Associated PIAT Polynomials P(X),. can be constructed using the PIAT Algorithm, although the computational power required to do so becomes significantly more demanding for larger values of r.
FIG. 13 shows a numerical example of how the PIAT Algorithm can be used to construct an infinite sequence of increasing-degree Associated PIAT -47 -Polynomials {P(x)0,p(x)1,...p(x)r}starting from a Generator PIAT Polynomial P(X)0.
In this example, the Generator PIAT Polynomial isP(X)0 =X4 +X3 +X2 +X+.
In this example, the value of x0 is chosen to be unity, i.e. x0 = 1. The reason for this is so that the process of multiplication byx0 each time the set of coefficients is dropped to the next PIAT Algorithm rowp -* p +lis greatly simplified.
It can be seen in FIG. 13 that each coefficient..,b0}in the first Associated PIAT Polynomial (x)1 is the sum of all of the coefficients in the column y4 = °7pA =8directly above it.
As explained above, in order to calculate, for example, the fourth largest-order coefficientb5 in the first Associated PIAT Polynomial (x)1, the calculation under the PIAT Algorithm wherex0 = iwould be: 1J5 = a4x0' + a3x02 + a2x01 + a1 = 6 x i3 +5 x 12 + 5 xP + 3 = 19.
Since 4 c «= 5 «= 2c =8, this can equivalently be written in terms of the summation expression as: 2c-j = j = 5 = a,÷5 x0 = a1 = + a + a21 + a31 i=O 1-0 =a1+a2x0+a,x02 +a4x03 =19 1=1 1=2 1=3 In order to calculate, for example, the third-smallest-order coefficient!,2 in the first Associated PIAT Polynomial (x)1, the calculation under the PIAT Algorithm ,2 =a2x04 ÷a1x03+a0x02 =5x14+3x13+1x12 =9.
Since 0 «= 2 «= c = 4, this can equivalently be written in terms of the summation expression as: = a_1 4-i 4-0 4-1 4-2 j 2 -* b2 = a21 a20 x0 + a2_1 x0 + a22 x0 i-0 ____.______d _.__.__d -i=0 1=1 1=2 =a2x04 +a1x03 +a0x02 =5x14 +3x1' +1x12 =9 It can readily seen from FIG. 13 that the sequence of Associated PIAT Polynomials for the Generator PIAT Polynomial (x)0 is: P(X)0 = + [Jx3 + [jx2 + + [J = []X8 +[i i]x7 +[16]x6 +[19]x5 +[2o]x +[14}x3 +[9}x2 +[4]x' + [ij ab = {J x'6 + [i7Jx' + [33Jx'4 + [s2]x13 + [72 1X12 + [86]x1' + [95]x'° + [99Jx9 016 I6 + [ioo}x8 + [94}x7 + [83]x6 + {67}x5 + [48}x4 + [28}x3 + [14}x2 + [5Jx' + [1] FIG. 14 shows the Inverse PIAT Algorithm.
-49 -The Inverse PIAT Algorithm is effectively the reverse of the PIAT Algorithm and enables a Generator polyriomialP(X)0to be uniquely constructed from an Associated or Perfect PIAT Polynomial P(X). = b2, X2' +... + 2. Like the PIAT Algorithm, the Inverse PIAT Algorithm is simplified in the case where x0 =1.
The highest-order coefficient in a Generator PIAT Polynomial P(X)0 = acXc +... + a0, denoted a, can be found based on the first Associated PIAT Polynomial (x)3 by recalling that, according to the PIAT Algorithm, b2 = a.
The second-highest-order coefficient in the Generator PIAT Polynomial P(x)0, denoted a_1, is found by recalling that, under the PIAT Algorithm: = + ax0.
Thus, b21 a_1 + a x0 = b21 -ax0. =b2,
Continuing in this manner enables lowest-order coefficient in the Generator PIAT Polynomial P(X)0, denoted a0, to be found according to: = a0 + a1x0 + ... + a0 = -a1; -... -axoc.
Alternatively, the Inverse PIAT Algorithm can be effected by starting with the lowest-order coefficient li,0 in the first Associated PIAT Polynomial (x)1 and reversing the PIAT Algorithm by division and subtraction: -50 -b0 a0 -* b0 = a0x0 a = xo c-I c c-I b1 -a0x0 a1 -÷ b1 = a1x0 + a0x0 a1 = xO c c-I -p b,1 a1x0 + a2x0 +... + a0x0 = a b1 -a2x0 -... -a0x0 -+ b = acxoc + a_1x0' +... + a0 c-I b-a 1x0 -...-a0 c C-x0 Reference is made again to FIG. 13 (in which x0 1) which shows a Perfect PIAT PoiynomialP(X)1 = x8+Ux7+x6+19x5÷2ox4+14x3+ 2X2+ X+ 1.
=b =b7 =b6 =b =b3 =b2 = =t Under the Inverse PIAT Algorithm, it is possible to reduce this Perfect PIAT Polynomial to a Generator PIAT Polynomial in the form (x)0 = a4X4 + a3X3 + a2X2 + a1X' + a0 as follows: a4 = b8 =6 a3=b7-x0a4=11-1x6=5 a2 = ,6 -x02a4 -x0a3 =16_12 x6-1x5 = 5 a1 =b5-x03a4-x02a3-x0a2 =19-13x6-12x5-1x5=3 a0 =b4 -x04a4 -x03a3 -x02a2 -x0a1 =2O-i x6-13 x5-12 x5-1x3=1 The Inverse PlATAlgorithm givesa4 =6,a3 =5,a2 =5,a =3anda0 =1, which correctly leads to the Generator PIAT Polynomial: P(X)0 = 6X4 + 5X3 + 5X2 + 3X + 1.
-51 -Alternatively, the lower-order coefficients can be used as: a0-c14 xo I c-i 3 b -ax 4-lxl 1 00 _____ x0 1 c-i c-2 3 2 -b, -a1x0 -a0x0 -9-3x1 -lxi - a2--i4 -x0 I c-i c-2 c-3 3 2 1 b3-a2x0 -a1x0 -a0x0 14-5x1 -3x1 -lxi - a3--14 -x0 I c-i c-2 c-3 c-4 3 2 1 0 -b4 -a3x0 -a2x0 -a1x0 -a0x0 -20-5x1 -5x1 -3xi -lxi - a3---x0 I In summary, the PIAT Algorithm defines the relationship between a Generator PIAT Polynomial P(X)0 and an infinite sequence of associated Perfect PIAT Polynomials P(X)r and the Inverse PIAT Algorithm defines the reverse relationship.
The Schema de P/AT (SdP) Like the PIAT Algorithm, the Schema de PIAT (PIAT Method) is a process under the PIAT Protocol for constructing an infinite sequence of Associated PIAT Polynomials, starting from a Generator PIAT Polynomial: P(X)0 acXc + ac1X + ... + a1X + a0.
However, the PIAT Method is for the construction of an infinite sequence of Associated PIAT Polynomials {P(x)�,***,P(x)r}Of the same degreecas the Generator PIAT PolynomialP(X)0such that: -52 -P(X)0 = acX" + aciXc_! + ... + a1X + a0 P(x)1 =bX +b1X +...+b1X+b0 = KXC + KCIXC I + + K1X + 1(0 P(X) = 2cr + 2ciX + + 2X + where(a1,b1,...,21) EN and a. «= b. «= ic «= 2, viE [O,c}. As will be shown below, the coefficients(a1,b,,...,21)are a function of x0.
In fact, the PIAT Method gives exactly the same results as the PIAT Algorithm when only the firstc coefficients of each of the Associated PIAT Polynomials {P(X)o,...,P(X)r}are taken into account. The means by which these coefficients are obtained, however, is somewhat different to that under the PIAT Algorithm. Indeed, the PIAT Method can be thought of as an extension of Homer's Scheme.
FIG. 15 shows the PIAT Method. It can be seen that zeroth step of the PIAT Method is the same as that in the PIAT Algorithm and Homer's Scheme. Indeed, the first step under the PIAT Method, for finding the coefficients {b,.. .b0}of the first Associated PIAT Polynomial p(x)1 is identical to the first stage of Homer's Scheme.
However, under Homer's Scheme the number of coefficients calculated at each stage decreases by one until only one coefficient is calculated at the final stage. The reason for this under Homer's Scheme is quite clear if it is recalled that the later stages of Homer's Scheme correspond to lower-degree polynomials. For example, factors or divisors g(x) = x -x0 reduce the order of polynomials associated with the later stages of Homer's Scheme. In addition, the Homer coefficients in the later stages of Homer's -53 -Scheme relate to higher order Talyor Coefficients. Since those Taylor Coefficients themselves relate to higher-order polynomial derivatives, the polynomials they relate to are also lower-order. In effect, there is no need to calculate any other coefficients under Homer's Scheme.
Since the PIAT Method continues to calculatec coefficients at each level, it can be thought of as a vertical extension to Homer's Scheme.
Under the PIAT Method, in order to calculate a particular coefficient 2. in the rl Associated PIAT Polynomial, P(X)r, the following formula is used: * 2 =(x0.21,)+K1,when O«=i<cand * A?=Klwheni=c.
In other words, to calculate a particular coefficient, one multiplies the value of the coefficient immediately to the left of it byx0 and adds this to the value of the coefficient immediately above it. However, when calculating the leftmost coefficient, since there is no coefficient immediately to the left of it, the value of that would-be coefficient is set as zero.
Thus, in order to calcuIateb, the coefficient of xc in (x)1, sincei c, b = a.
However, to calculate b1, the coefficient of x' in (x)1, assuming 0 «= 1 <c, thenb1 (x0b1+1)+a1 =x0b2+a1.
-54 -By way of a numerical example, a set of Associated PIAT Polynomials in x0 1 can be constructed under the PIAT Method starting from the following Generator PIAT Polynomial P(X)0of degree four (i.e.c = 4): P(X)0 =6X4+5X3 +5X2+3X+i.
Here, a4 = 6; a3 = 5; a2 = 5; a1 = 3; a0 = 1.
ForP(X)1: b4 =0. x0 + a4 = a4 =6 b3 =b4 *x0 +a3 =1,4 *1+a3 =6+5=11 2 =b3 *X0 -I-a2 -b, *1+a2 =11+5=16 For P(X)2: c4 = 0* x0 + b4 = = 6 c3 =c4*x0+b3 =c4*1+b3 =6+11=17 c2=c3*x0+b2-_c3*1+b2=17+16=33 Following this iterative method, the sequence of Associated PIAT Polynomials can be constructed as follows: -55 -P(X)0 = [6]X + [5]x3 + {5]x2 + [3}x + [i] P(X)1 =[6]x +[i i]x3 +[16]X2 +[19]x+[2o] P(X)2 = [6]x + {i 7]X3 + [33]x2 + [52]x + [72] P(X)3 = [6]x + [23]x3 + [56]x2 + [1o8}x + [180] P(X)4 = [6]x + [29]x3 + [85]x2 + [193}x + [373] P(X)5 = [6}X + [35]x3 + [i 2o]x2 + [31 3}X + [686] P(X) =[6]X4+[...]X3+[...]X2+[...]X+[...] As explained above, Homer's Scheme only returns a subset of these coefficients and does not calculate the coefficients needed to construct the higher Associated PIAT Polynomials. Indeed, in effect, the degree of the polynomial represented at each stage of Homer's Scheme actually decreases...
With reference again to FIG. 13, it can be seen that the first two Perfect PIAT Polynomials above, P(X)1 [6]x + [i i]X3 + [i 6]X2 + [i 9JX + [20] and P(X)2 = [6}x + [17]X + [33]x2 + [52Jx + [72], can be constructed from the five highest-order coefficients at each stage of the PIAT Algorithm. The PIAT Algorithm can be continued to give the same coefficients as the higher Perfect PIAT Polynomials obtained by the PIAT Method. The PIAT Method is fully consistent with the PIAT Algorithm.
Like the PIAT Algorithm, the PIAT Method also has an inverse. In other words, it is possible to determine uniquely the value of the coefficients {a0,. . .a}of a Generator PIAT Polynomial (x)0 using the coefficients {i,.. * , } of any Associated PIAT Polynomial P(X): -56 -P(X),. = 2CXC + + ... + 2X + P(X)ri = [2]xc + [(,1)-(a)]x' + ... + + [(A(2i)] P(X)0 = [bJxC + ftb1)(b)}X + ... + [(b1)-(b2jjx + [(b0)(b1)] wherex0 = land {K1... K,,) are the coefficients of the (r1)th PIAT polynomial.
FIG. 16 illustrates the Inverse PIAT Method. It will be recalled that P(x0)= b0:= b1x0 + a0. This is shown with partly faded lines on the left side of FIG. 16. By manipulating the above equation, it will be seen thatb0 -b1x0 a0. Thus, by knowing both coefficientsb0andb1 and the value of x0, the value of a0, the constant in the initial polynomial (x)0, can be found.
The Inverse PIAT Method can easily be verified using the below space of Associated PIAT Polynomials: P(X)0 [o]x + [5]x + [5]x2 + [3]x + [i] P(X)1 [6}x +[ii}x3 +[16]X2 + [19]x+[2o] P(X)2 [6]X + [17]x3 + [33]X2 + [52}x + [72] = [6]x + [23]x3 + [56Jx2 + [1o8]x+ [180] P(X) =[6]x4+[...}x3+[...1x2+{...]x+[...] For example, when x0 = 1, given P(X)2 = [6]x4 + [l7]X + [33JX2 + [52}X + [72], P(X)2.1 = + + [çl7Jx + + [ç(52)j =6X4 +11X3 +16X2 +19X+20 b4 1', -57 -As explained above, the PIAT Method can be seen to be an extension of Homer's Scheme and both are consistent with the PIAT Algorithm. The PIAT Method can, however, be extended itself as will now be described.
The Schéma-étendu de P/AT (S9dP) The Schéma-étendu de PIAT (Extended PIAT Method) is an extension of the PIAT Method that gives the same full set of results as the PIAT Algorithm, but generates them in a somewhat different manner.
FIG. 17 shows how the PIAT Method can be extended into the Extended PIAT Method to give exactly the same results as the PIAT Algorithm. Whereas the PIAT Method is limited to generating Associated PIAT Polynomials P(X)r of the same degreecas the Generator PIAT Polynomial (x)0, the Extended PIAT Method can be used to generate increasing-degree Associated PIAT Polynomials P(X)r to give the same results as the PIAT Algorithm.
Under the PIAT Algorithm (see FIG. 12), the coefficientb_1 in the column YPA = c +1 of the PIAT Algorithm is found by: = bci=ai..xoci a.x+a.x1++ayx(2)+ax(c1) i1 i=c-2 i=c-I i C c-I 2 I = + a2x0 +. .. + a1x0 + a0; The final coefficientb = P(x0)under the PIAT Method is found by: = axoC + a1x0 + ... + a1x0 + a0 -58 -MuItiplyingb = P(x0)byx0 and subtracting acx0 gives: x0 P(x0)0 -axoc = xo(acxoc + a_Ixoc_I + ... + a1; + a0)-ax0 = ax0 + a_ixOc... + a1x02 + a0;' -axOc = ac,x0 + ... + a1x02 + a0;' = b_1 Multiplying b_, by x0 and subtracting a_1x0 gives: x0b_, _a_,xQc x(a,x0 +a_2x0' +... + ax2 + a0x0)_ a,xoc+l =a,x0 +a2x0 +...+a,x0 +a0x0 -a,x0 c 3 2 =a2x0 +...+a1x0 +a0x0 = 2a_2_, x0C = This can be continued as shown in FIG. 17 to give the same set of coefficients {b_1,. . .,b0}as those in the PIAT Algorithm.
Like the PIAT Algorithm and PIAT Method, the Extended PIAT Method also has an inverse.
FIG. 18 shows the Inverse Extended PIAT Method.
To find a, we have that: bx0 -ax0 c+1 P(x0)x0 -ax0 c+1 = b_, c+1 =ax0 =bx0-b, bx -b.. eQ ci C c+1 x0
-59 -To find a_1, we have that: b_1x0 -c+I = b_2 = acx0 = b_1x0 -b_2 b_1x0 -b_2 a_1 = c+I xo To find a1, we have that: b1x0 -a1x0 = = a1x' = b1x0 -b1x0 -b c+1 x0 To find a0, we have that: c+1 a0x0 =b0 b0 a0 = x0 FIG. 19 shows multiple rows of the Extended PIAT Method which can be used to find the necessary coefficients to construct the higher Associated PIAT Polynomials.
FIGs. 20A, 20B and 20C show numerical examples of how the PIAT Algorithm and Inverse PIAT Algorithm, the (Extended) PIAT Method and the Inverse (Extended) PIAT Method can be used to process an exemplary Generator PIAT Polynomial (x)0 = 6X4 + 5X3 + 5X2 + 3X +1 using x0 1.
-60 -FIGs. 21A, 21B and 21C show numerical examples of how the PIAT Algorithm and Inverse PIAT Algorithm, the (Extended) PIAT Method and the Inverse (Extended) PIAT Method can be used to process an exemplary Generator PIAT Polynomial (x)0 6X4 + 5X3 + 5X2 + 3X + 1 using x0 = 2.
In summary, the PIAT Algorithm and the (Extended) PIAT Method are both forms of algorithms. Like Homer's Scheme, the PIAT Method involves addition and onlyc multiplications.
The PIAT Algorithm in turn involves onlyc additions of coefficients shifted byccolumns. In fact, the shifting of coefficients in the PIAT Algorithm altogether replaces multiplication.
An advantage of the PIAT Algorithm over the PIAT Method is that calculations are simplified and performance can thereby be improved.
Mathematically speaking, both the PIAT Algorithm and the PIAT Method can be used to construct an infinite sequence of Associated PIAT polynomials. Moreover, these algorithms can be used to evaluate numerically the expressions P(x0)orP'(x0)or even to factorise any given polynomial as (see below): (x)= aXc +a1X' -i-...+a1X+a =((...(R+1x+Rjx-l-...R3)x+R2)x+R1 Continuation of the PIAT Algorithm or the (Extended) PIAT Method more generally allows the Taylor coefficients!P(x0) of a function P(x)about a pointx0to be calculated.
-61 -Thus, under the PIAT Protocol, the PIAT Algorithm, the PIAT Method and the Extended FIAT Method all enable an infinite series of Associated PIAT Polynomials P(X),. to be constructed in a predetermined and structured manner from a Generator PIAT Polynomial (x)0. The Inverse PIAT Algorithm, the Inverse PIAT Method and the Inverse Extended FIAT Method allow any Generator PIAT Polynomial P(X)0 to be recovered from a Perfect PIAT Polynomial P(X)r.
The PIAT Protocol is particularly suited to data processing, especially data compression and decompression and encryption and decryption, as will now be explained.
PIA T Protocol in Data Processing FIG. 22 shows a binary-decimal representation of data.
Modern computers usually work in base 2, i.e. in binary. Human beings often find it easier to understand numbers in base 10, i.e. in decimal. Accordingly, in the following description (as above), data will generally be represented in decimal form. However, it should be remembered that a number in decimal form can equally be represented in, or converted to, binary form. For example, the number 13 in decimal (often written l3) is equivalent to 1101 in binary (often written 11012).
By way of an example, we will assume that an initial data sequence received at a data processing apparatus such as a PIAT router, can be written in decimal form as: 612000051200016000058000220001900003400018666976668400001 120000120 0003000021333373333900005666700000783346500093600009600021 000034000240 -62 -This data might represent an encrypted password, a text file or some other digital data. This initial data requires 166 decimal symbols to convey all of the information it embodies.
This data can be converted into binary format using Binary-Coded Decimal encoding. A binary digit (called a "bit") is either 0 or 1. Each one-digit decimal number can be represented in binary by a unique sequence of four bits (called a "nibble") as shown below: Decimal Binary 0 0000 1 0001 2 0010 3 0011 4 0100 0101 6 0110 7 0111 8 1000 9 1001 Since computers usually store data in groups of eight bits (called a "byte"), uncompressed BCD encoding stores each decimal digit as the corresponding binary four-bit nibble equivalent, prefixed by another predetermined nibble, such as 0000, 1111, or 1011. Thus, the initial decimal data sequence could be stored as: 0000 0110 0000 0001 0000 0010 0000 0000 =6 =110 -63 -This would requirel66x8 =1328 bits to store the initial data sequence.
it is, instead, possible to use compressed BCD encoding to store two decimal digits in each byte by not including the prefixed nibble. Accordingly, the initial decimal data sequence could be stored as: 0110000100100000...
6, l0 -tO -JO This would only requirel66x4 = 664 bits to store the initial data sequence.
Another possibility is to convert the full 166-digit decimal number directly from base to base 2 by changing the base, which would yield a binary number that can be stored in 552 bits.
Remarkably, under the PIAT Protocol, it is possible to express this 166-digit initial decimal data sequence as a 15-digit decimal sequence with a six-digit index or, equivalently, as a 48-bit decimal sequence. The PIAT-compressed sequence would be 655311 125939352o (a total of 15 decimal symbols) or 1111111111111011001010111111101110011001101110002 (atotal of48 bits) in binary.
( ( final number of bits i'i In terms of compression rates (found by I 1 -f I lx 100), the L initial number of bits)) PIAT-Compressed data exhibits a 96.3% reduction in size ( 48 x 100) 1320)) compared to the uncompressed BCD-encoding, a 92.7% reduction in size -64 - ((1 _[_!_jJx 100) compared to the compressed BCD-encoding and a reduction of 91.3% in size (1-__)jx100) compared to directly changing base. Thus, PIAT Compression provides a highly effective method of compressing data.
FIG. 23 shows an initial data sequence P(X)r subjected to an optimisation heuristic which will be described in more detail below. After optimisation, the initial data sequence is converted to a series of Perfect PIAT Polynomials {I(X)r,*.,I(X)r}. In this example, only five Perfect PIAT Polynomials are shown, but it will be understood that a different number of polynomials may be appropriate depending, for example, upon the size of the initial data sequence P(X)r.
These Perfect PIAT Polynomials are each subject to PIAT compression under PIAT Protocol until a corresponding series of five respective reduced Associated PIAT Polynomials{P1(X)0,...,f(X)0} are constructed. These reduced polynomials {f(X)0,...,P5(X)0} would ideally be Generator PIAT Polynomials.
These reduced polynomials {F(X)0,... ,/(X)0}are then collectively subject to optimisation and further PIAT Compression, until another level of reduced Associated PIAT Polynomials {Q1(x)0,...,Q2(x)0} is obtained. This set of reduced polynomials {Q1(x)0,...,Q2(x)0}is again optimised and subject to further PIAT Compression and the cycle continues until a final reduced or Generator PIAT Polynomial Z(X)0 is obtained.
-65 -It will be understood that PIAT Compression under the PIAT Protocol may be according to the Inverse PIAT Algorithm, the Inverse PIAT Method and/or the Inverse Extended PIAT Method. All of these inverse PIAT-processing techniques reduce the size of the coefficients of the polynomials representing an initial data sequence.
FIG. 24 shows with a numerical example an overview of PIAT Compresion under the PIAT Protocol. This is achieved by reducing the size of the coefficients of the Perfect PIAT Polynomials associated with the full input sequence of 166 decimal symbols under the PIAT Protocol. The optimisation heuristic receives the 166-decimal digit initial data sequence and generates three optimised Perfect PIAT Polynomials: P1(X) = 6X4 + 1200005X3 4-120001600005X2 + 8000220001900003X + 400018666976668400001 F(X) = 1X4 + 200001X3 + 20000300002X2 + 1333373333900005X + 66670000078334650009 F(X) = 3X4 + 600009X3 + 60002100003X2 ÷ 4000240001700005X + 200018000295002050002 These polynomials each undergo PIAT Compression to generate three corresponding reduced Generator PIAT Polynomials in various ways which will be described below: P1(X)0 =6X4+5X3+5X2+3X÷1 P(X)0 =1X4÷1X3+2X2+5X÷9 F(X)0 =3X4+9X3+3X2+5X+2 The coefficients of these reduced polynomials can be represented by a total of only 15 decimal symbols as: {65531}, {1 1259) and {39352}.
-66 -FIG. 25 shows an overview of PIAT Decompression under the PIAT Protocol, using the same numerical example starting from the compressed sequence of 15 decimal symbols: 655311125939352. After processing by the optimisation heuristic, the sequence is expressed as three Generator PIAT Polynomials, P{123}(X)0, each of degreec = 4as follows: P1(X)0 -6X4+5X3+5X2+3X+1 ](X)0 =1X4 +1X3 +2X2+5X-i-9 1(X)0 =3X4 +9X3+3X2÷5X÷2 These three initial polynomials, I123}(X)0, are then subject to expansion or PIAT Decompression under the PIAT Protocol as will be explained below until the following Perfect PIAT Polynomials representing the initial pre-PIAT Compression data sequence are obtained: P1(X) = 6X4 ÷ 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 1(X) = 1X4 + 200001X3 + 20000300002X2 + 1333373333900005X + 66670000078334650009 1(X) = 3X4 + 600009X3 + 60002100003X2 ÷ 4000240001700005X + 200018000295002050002 FIG. 26 shows a numerical example of how the Perfect PIAT Polynomial F(X)r can be reduced to a Generator PIAT polynomial i (x)0 of the same degree, c = 4, under the PIAT Protocol using the Inverse PIAT Method when x0 = 1. It will be recalled that the Inverse PIAT Method specifies how the Perfect PIAT Polynomial i(x), is reduced to the Generator PIAT Polynomial I (x)0: -67 -P(X)r = 2cXC + 21Xc + ... + A1X + = [2c}XC + + + + = + [(b1)_(b)]Xc +... + [(b1)(b2)]X + [(b0)-(bi)] Using this numerical example: 1(X) 6X4 ÷1200005X3 + 120001600005X2 + 8000220001900003X+400018666976668400001.
Thus, 24 = 6, A. = 1200005,22 = 120001600005,2 8000220001900003 and 22 = 4000186669 7666840000 1.
The coefficients K. of the preceding polynomial P(X)ri can be determined according to the Inverse PIAT Method as: K0 = A -2 = 400018666976668400001-8000220001900003 = 400010666756666499998 = 22 -22 120001600005 -1200005 = 120000400000 K3 =23 -24 =1200005-6=1199999 K4246 Processing is continued under the Inverse PIAT Method until no further reduction in size of the coefficients is possible. This is typically the stage before any of the coefficients becoming negative, but other termination conditions could be imposed.
After some 200,000 reduction steps, it can be determined thata4 =6,a3 =5,a2 =5,a1 =3anda0 =1.
-68 -Thus, according to the Inverse PIAT Method, P1(X) = 6X4 +1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 can be reduced to a Generator PIAT Polynomial P (X)0 = + 5X3 + 5X2 + 3X + of the same degree c = 4 as F(x), by performing 200,000 stages of the Inverse PIAT Method.
In turn, the Generator PIAT PoIynomialF(X)0 =6X4 +5X3 +5X2 +3X+lcan be expanded or PIAT Decompressed under the PIAT Method as described in detail above to generate Associated PIAT Polynomials until the desired Perfect PIAT Polynomial i(X) = 6X4 + 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 is obtained after 200,000 stages of the PIAT Method.
The valuer 200,000 is referred to herein the as "index". The index indicates the level of reduction of T(X)0 relative to the larger polynomial i(x)200000. It indicates the number of steps under the PIAT Method or Inverse PIAT Method required to convert the Perfect PIAT Polynomial (x) into the Generator PIAT Polynomial](X)or vice versa.
The index r is separable from the Generator PIAT Polynomial P (x).
In summary, given a Generator PIAT Polynomial I(X)representing PIAT-Compressed data and a separable index r indicating the number of steps under the PIAT Method required to obtain an associated Perfect PIAT Polynomial F(X), that associated -69 -Perfect PIAT Polynomial F(X) can be uniquely reconstructed and represents an initial uncompressed data sequence.
Similarly, given a Perfect PIAT Polynomial i(x) representing an initial, uncompressed data sequence, the Perfect PIAT Polynomial J(X)can be PIAT Compressed under the Inverse PIAT Method to generate an associated Generator PIAT Polynomial p (x) and a separable index r indicating the number of steps under the Inverse PIAT Method that were required to obtain the Generator PIAT Polynomial i(x), so that the initial, uncompressed data sequence can be uniquely reconstructed.
It will be appreciated that the initial data sequence could be PIAT-Compressed under the PIAT Protocol by means of the Inverse PIAT Algorithm or Inverse Extended PIAT Method and could be PIAT-Decompressed by means of the PIAT Algorithm or Extended PIAT Method. It will also be appreciated that PIAT Compression and Decompression is non-entropic. In other words, symbols in the input data sequence are not assigned codewords depending upon the frequency of their occurrence.
Although this cyclic, non-entropic compression is quite remarkable in itself, performing 200,000 stages of processing -PIAT-Compression or PIAT-Decompression -under the PIAT Protocol can be fairly time-consuming and processor-intensive.
The inventors have, in fact, devised a method of jumping directly from a Generator PIAT Polynomial to the Perfect PIAT Polynomial associated with the particular indexr or, inversely, jumping directly from a Perfect PIAT Polynomial to the Generator PIAT Polynomial associated with the particular indexr. Neither the coefficients of the -70 -intervening Associated PIAT Polynomials nor any of the intervening PIAT-processing steps need to be calculated or performed.
However, this has only become possible as a result of a significant new mathematical construct, which will now be described before explaining how direct jumping is possible.
The Carré de P/AT (CdP) The Carré de PIAT (PIAT's Square) is a new mathematical construct which takes the form of a matrix of special numbers.
As will become clear later, the first column of the CdP is assigned the column numberc = 0. The first row of the CdP is assigned the row numberr = 1. Hereinafter, r will be used to denote the value of the cell of the CdP at (r, c) (row r, column c). For example, ir° is the origin cell in the first row (r =1) and first column (c = 0).
The CdP can be constructed in various forms, referred to herein as "dimensions n ", as a function of x0. The one-dimensional CdP, denoted CdP1, is the CdP associated with x0 =1. The nthdimensional CdP, denoted CdP, is the CdP associated with x0 n.
FIG. 27 shows how the PIAT Algorithm can be used to construct the first two rows (r = 1,2) and first four columns (c 0,1,2,3) of the one-dimensional CdP; CdP1.
-71 -To construct the CdP1, the PIAT Algorithm starts on the zeroth row PPA = 0 with a third-order identity Generator PIAT Polynomial i(x)0 x3 + + + These coefficients form the first rowr = lot the CdP1 as follows: a3 (first row (r = 1), first column (c = 0)) a2 = (first row (r = 1), second column (c = 1)) a1 =ir (first row(r=l), third column (c=2)) a0 (first row (r = 1), fourth column (c 3)) In other words, the value in the first rowr land first column c = 0 of the CdP1 isa3 = 1. The value in the first rowr = land second columnc =lof the CdP1 isa2 = 1.
The value in the first rowr = land third columnc 2of the CdP1 isa1 = 1. The value in the first rowr = land fourth column c = 3of the CdP1 isa0 1.
The first four values of the second rowr = 2of the CdP1 are the coefficients of the first Perfect PIAT Polynomial p(x)1 associated with (x)0. Under the PIAT Algorithm, this is calculated as: = a3 =1 =a3x0' +a2 =lxl' +1=2 r =a3x02 +a2x0' +a1 =1x12 +lxl' +1=3 =a3x03 +a2x02 +a1x0' +a0 =1x13+lxl2 +lxl' +1=4 -72 -In otherwords, thevalue in the second rowr=2and firstcolumnc=Oof the CdP1 isi. The value in the second row r = 2 and second column c 1 of the CdP1 is 2. The value in the second rowr = 2 and third column c = 2 of the CdP1 is 3. The value in the second row r = 2 and fourth column c 3 of the CdP1 is 4.
After a further cycle of the PIAT Algorithm, it can be found that the values of the CdP1 in the first four columns (c = 0,1,2,3) on the third row (r =3) of the CdP1 are: =1 =3 r =10 By using a higher-degree identity Generator PIAT Polynomial J(X)0 +1x +...+x+,more columnscof the CdP1 can be populated. By performing a larger number of steps of the PIAT Algorithm, more rows r of the CdP1 can be populated. In this manner, the full CdP1 can be constructed.
FIG. 28 shows how the CdP1 can alternatively be derived using an identity Generator PIAT Polynomial i(x)0 + + + under the PIAT Method.
As with the PIAT Algorithm, these coefficients form the first rowr = 1 of the CdP1 as follows: a3 = a2 = a1 = a0 = -73 -Again, as with the PIAT Algorithm, the first four values of the second rowr 2 of the CdP1 are the coefficients of the first Perfect PIAT Polynomial P(x)1 associated with (x)0. Under the PIAT Method, this is calculated as: ir=a3=1 74 =irx0+a2 =lxl+1=2 r,x0+a =2x1+1=3 =yrx0+a0 =3x1+1=4 This calculation under the PIAT Method gives exactly the same numerical values as those obtained under the PIAT Algorithm, but the mathematical calculation is slightly different.
As shown in FIG. 28, and as explained above in relation to the PIAT Algorithm, processing via further stages of the PIAT Method can be continued to populate the first four columns of all higher rows r of the Cd P1. The degree of the identity Generator PIAT Polynomial can likewise be increased to populate the higher columnscof the CdP1.
As can be seen from FIG. 28, the CdP1 includes the Taylor and Homer coefficients as indicated by diagonal dotted lines. It also includes the numbers found in Pascal's Triangle as indicated by broken diagonal lines. The CdP1 contains these important values but has many more remarkable mathematical properties.
One of the remarkable mathematical properties of the CdP1 can be seen by an alternative derivation of the CdP1 which uses neither the PIAT Algorithm nor the PIAT Method. This alternative derivation uses combinatorics. It is emphasised, however, that -74 -this alternative derivation is completely consistent with both of these methods under the PIAT Protocol.
FIG. 29 shows the relationship between the binomial coefficients of Pascal's Triangle and the values ir the CdP.
It will be recalled that the number of combinations of i elements from a set of n elements without repetition can be found from the following factorial formula, whose values can also be found from Pascal's Triangle: C(n,i)= n! i! n -z To determine the number combinations of ielements from a set of n elements with repetition, we can imagine the set of n elements with each element spaced from the adjacent element with a vertical bar, there being a total of n -1 bars: {n1in2i...in} We can indicate the frequency of any element in a selection of elements from the set by a star underneath the corresponding element in the barred set. Thus, for example if i = 3 elements were selected from a set of n = 6 elements and, of those, n2was selected twice and n4once, the indication would be: {nhn21n3n41n5n6}.
This can, in turn, be written as follows simply by omitting the element labelsn1: 11* III -75 -In a bijective manner, the following indication would imply thatn1 was selected once, n2was not selected, n3 was selected once, n4was not selected, n5 was selected once and n6was not selected: *11*11*11 It will be seen that there are n-i vertical bars and i stars, which makes a total of(n-l)+isymbols, the positions of which can be varied.
Thus, in general the question becomes determining the number of ways in which one can arrange theistars in the(n-1)+ipositions (without repetition since there is only space for one symbol per position). Using the earlier factorial formula for such combinations: (n-i+i)! (n-1+i)! C(n-1+i,z) = i!((n-1+i)-i)! i!(n-1)! Equivalently, the question could be formulated as determining the number of ways in which one can arrange the(n-1)vertical bars in the (n-1)+ipositions (without repetition). Using the same earlier formula for such combinations: (n-i-i-i)! (n-i+i)! (n-1+i)! C'n-i+i n-1'= -_______ = -c -1+i i / (n-1)!((n-i-i-i)-(n-1))! (n-i)!(i)! -i!(n-1) Thus, in summary, the number of ways of choosing i elements from a set of n elements, where the order of the i selected elements is not important and where repetition of any of those elements is possible is: -76 -(n-1+i)! This consideration of combinatorics leads to an alternative derivation of the CdP1.
FIG. 30 shows an extract of the first ten rows (r = 1,...,1O) and ten columns (c = O,...,9) of the one-dimensional form (i.e. wherex0 = 1) of the CdP, denoted CdP1.
z, the value of a given cell at location(r,c)of the one-dimensional CdP1 can be found using the following formula, which gives the number of combinations with repetition: -(r+c-1)! r This method of finding the value of any cell,r of the CdP is referred to herein as the "factorial method". Remarkably, this is entirely consistent with the values r obtained by the PIAT Algorithm or (Extended) PIAT Method from an identity Generator PIAT Polynomial.
In order to populate the CdP1 using the factorial method, one starts with the origin location(r,c)=(1,O). Using the factorial method, the value at this location,,r, is: 0 (1+01)! 0!1i 0!(i-i)! 0!O! 1.1 Thus, ,r1° =1.
-77 -Indeed, the value of any coefficient in the first column (c = 0) of the CdP1 is unity.
This is because: 0(r+O-1)! (r-1)! (r-1)!1 -0!(r-1)! 1!(r-1)!(r-1)! It can also be seen that the value of any coefficient in the first row (r = 1) of the CdP1 is unity. This is because: (1+c-1)! c! c! = =-=--=1.
c!(1-1)! c!O! c!
In summary, ,t = = 1.
There are various other ways in which the coefficients ir in the later rows r and columns c of the CdP can be obtained or calculated: Triangular Method The first of these is the "triangular method", where r = + This involves the summation of: * the value r' of the coefficient in the adjacent cell in the immediately preceding column (c -i) (i.e. the cell immediately to the left of the cell in question), and * the value of the coefficient in the adjacent cell in the immediately preceding row(r-1) (i.e. the cell immediately above the cell in question).
Vertical Hockey Stick Method -78 -The second method is referred to as the "vertical hockey stick" method, where r = + + ... + + ir. This involves the summation of the value of all of the coefficients in the preceding column (c -i) (i.e. the column immediately to the left of the column in question) from the first row, r 1, up to the row under consideration, r.
Horizontal Hockey Stick Method The third method is referred to as the "horizontal hockey stick" method, where,r, = = + + ... + + ir. This involves the summation of the value of all of the coefficients in the preceding row(r -i) (i.e. the row immediately above the row in question) from the first column, c 0, up to the column under consideration, c.
All of these three methods of calculating the value of,r, give the same value as each other, the factorial method and the values obtained via the PIAT Algorithm and the PIAT Method.
FIG. 31 shows an example of how to use the triangular, vertical hockey stick and horizontal hockey stick methods to calculate the value of,r. In this example, the dimension of the CdP is one, i.e. x0 = 1.
The value ofr (the coefficient in the third row and second column of CdP1) can be calculated using the triangular method as the summation of the value of the coefficient in the cell in the immediately preceding column (c-i = o) and the value of the coefficient in the cell in the immediately preceding row(r-l= 2): -79 - + ,r =1+2=3.
This value is also found by using the factorial method as follows: (3+1-1)! 3! 32! iT3 = 1! (3-1)! 1!2! 2! The value of,r (the coefficient in the fourth row and fourth column of CdP1) can be calculated using the vertical hockey stick method as the summation of the value of all of the coefficients in the preceding column (c-i 2) from the first row, r = 1, up to the row under consideration, r = 4: 3 iT2 +2T+2T +ir =1+3+6+10=20.
This value is also found by using the factorial method as follows: 3 (4+3-1)! 6! 6*54*3! 6*54 20 3!(4-1)! 3!3! 3!3! = 3*21 -The value of,r (the coefficient in the second row and fourth column of CdP1) can be calculated using the horizontal hockey stick method as the summation of the value of all of the coefficients in the preceding row(r -1 i) from the first column, c = 0, up to the column under consideration, c = 3: =°÷ + +iT =1+1+1+1=4.
This value is also found by using the factorial method as follows: 3(2+31)! 4! 4.3! 2 -3! (2-1)! 3!1!3! -80 -For higher values of r and c, the factorial method provides an efficient way of calculating the corresponding value of the coefficient ir in the CdP1. For example, the value of the coefficient in the eighth row(r = 8)and the seventh column (c = 6) can be calculated by using factorials as: (8+6-1)! 13! = =-=22x3x11x13=1716.
8 6!7! 6!7! This value can be verified using any of the above summation methods or by reference to the cell (8,6) in the extract of the CdP1 shown in FIG. 30, if desired.
Constructing the CdPQ FIG. 32 shows one method of constructing the nthdimensional form of the CdP, CdP starting from the one-dimensional form CdP1.
The coefficientg in a particular cell (r,c)of the nthdimensional form of the xo=n CdP, denoted CdP, is calculated by the product of: * the value,r of the coefficient in the corresponding cell(r,c) in CdP1 (i.e. xo =1 the one-dimensional CdP), and * x0 to the cth power.
This can be expressed more concisely in mathematical terms as: 2r, =x0x,r x0=n x0=I -81 -In terms of the factorial method, the value of a particular cell in the CdP of dimension n = x0 can be found by: (r+c-1)! xo c!(r-1)!
SO-I
It may be recalled from above and from FIG. 29 that the number of permutations of i elements from ann -element set where repetition is allowed is: n. It will be seen from the previous equation that an equivalent term x0C defines the mapping of values from the CdP1 to those,r in the CdP.
x0=1 X0fl FIG. 32 also shows how the values in the first two rows and four columns of the CdP1 can be used to calculate the corresponding values in the nthdimensional CdP, CdP, using the above equation. The left-hand side of FIG. 32 corresponds to CdP1 and the right-hand side to CdP, where n > 1. These rows and columns show only a small fraction of the full CdP1, which is mathematically unlimited in terms of the number of columns and rows it can contain. The only limitation in terms of the size of the CdP lies in the computational requirements for computing the values in the higher cells.
By way of a numerical example (indicated with shading), to calculate the value iXo=2 of the coefficient in the first row (r 1) and fourth column (c 3) of the 2'-dimensional CdP, CdP2, the following equation is used: =23x2r1 x0=2 x0=1 However, sincer = 1 in the CdP1 for all values of c, when c = 3, ,r = 1.
-82 -Thus: r =2x,r =23x1=8x1=8.
x0=2 x0=1 It will also be recalled that the value of can be calculated by means of the x0 =2 general factorial formula: (r+c-1)! = x0.
x c!(r-1)! This gives that: JrI = (1+3_1)!x23 =---x8=8.
x=2 3!(1 -1)! 3!1! FIG. 33 shows how the PIAT Algorithm can also be used to construct the n-dimensional CdP. The only difference between the PIAT Algorithm for constructing the nth..dimensional CdP and for constructing the CdP1 is that the initial coefficients{a3,a2,a1,a0} are multiplied byx0Yi'A, whereyPA is the column of the PIAT Algorithm in which the particular initial coefficient is located, which can be best seen in FIG. 33 itself.
The general method under the PIAT Algorithm of multiplying all of the coefficients on one row PPA by x0, dropping those coefficients to the following row PPA -PPA +1 and shifting them one column to the righty YPA +1 remains the same. Thus, for example, for the cell r: -83 - x x0° ]x02 ÷[a2 x x0' ]x +[ai x x02]= =x,TP4 =xoT [i x x02J + x x02 J + x;2 J =32 This can be confirmed by recalling that2rI =x0 xr because, by inspection of the CdP1 in FIG. 30 or otherwise, irJ = 3.
FIGs. 34 and 35 show, respectively, extracts from CdP2 and CdP3. i.e. the 2uid and 3rd..dimensional forms of the CdP. The Taylor coefficients and the values found in Pascal's Triangle are j present in the higher order CdPs.
CdP in Data Processing It will be recalled from above that the PIAT Method can be used to calculate a Perfect PIAT Polynomial p(x),. from a Generator PIAT Polynomial (x)0 and a separable index r which indicates the number of repetitions of the PIAT Method that are required to arrive at that particular Perfect PIAT Polynomial (x),,. It will also be recalled that this requires that every intervening Associated PIAT Polynomial be computed. This can be time-consuming and processor-intensive for large coefficients and/or large index values r.
The inventors have devised an alternative method of calculating the coefficients {A0,...,2}of that r Perfect PIAT polynomial P(X)r which requires knowledge of only the coefficients {a0,...,a}of the Generator PIAT Polynomial (x)0, the particular value of the indexr and certain special values,rcfrom the CdP. None of -84 -the coefficients, b, , ,c of the intervening Associated PIAT Polynomials is required.
This alternative method is, thus, particularly advantageous for large values of r.
In order to calculate the coefficients,. * , ,% } of the rth associated Perfect PIAT Polynomial p(x) starting from an initial polynomial (x)0, where P(X)0 = aX' acXc + a1X + ... + aX + a0, one can use the following formula: P(X) k To find the ith coefficient A of the term X' in the r associated Perfect PIAT Polynomial P(X)r, one calculates: = x
For example:
=:+OX =a00 x°+a10x +...+a_0+0x° =a0x+a1x2r+...+ax,z i1 =a1x,+a2x,r'+...+ax,z' i=c-+k = a x Using the numerical example of (x)0 above: -85 -a4 = 6; a3 = 5; a2 = 5; a1 = 3; a0 = 1.
In order to constructP(X)1, i.e. P(X)r wherer 1, using the above equation: = (a4. ,r)X +(a4. + a3 + (a4 r + a3 r + a2,o)X2 + (a4 + a3 +a2 *jr + a1. r)x' + (a4 + a3. + a2 ir + a1 r + a0)x° =6.1.X4÷(6.1+5.1)X3+...+(6.1+5.1+5.1+3.1+1.1) = [6]x4 + [i i]x3 + [16]x2 +[19]x +[2o] In order to construct P(X)4, i.e. P(X)rwherer = 4, using the above equation: = (a4. + (a4 ir + a3,)x3 + (a4. + a3,r + a2,o)X2 + (a4 +a3 *7r +a2ir +a1.,r)X1 +(a4 +a3 +a2., +a1. +a0.,)X0 =6.1.X4+(6.4+5.1)X3+...+(6.35+5.20+5.10+3.4+1.1) =29 =373 [6]X + [29]x3 + [85]x2 + [193]x + [373] Given a Generator PIAT Polynomial (x)0 and an indexr, it is possible to obtain the rth associated Perfect PIAT Polynomial P(X)r from (x)0 using only the values of the coefficients {a0,.. . a} of (x)0 and certain values r from the r row of the CdP.
This method of jumping directly from a Generator PIAT Polynomial to the associated Perfect PIAT Polynomial is particularly efficient for large index values r. For example, referring back to the numerical example given in FIGs. 25 and 26, a Generator PIAT Polynomial P(X)0 = 6X4 + 5X3 + 5X2 + 3X +1 representing a compressed data sequence could be expending under the PIAT Method to give the 200,000th associated Perfect PIAT Polynomial representing an uncompressed data sequence by carrying out 200,000 PIAT Method steps to arrive at: P(X)2000 = 6X4 + 1200005X3 ÷ 120001600005X2 + 8000220001900003X + 400018666976668400001 -86 -FIGs. 36A and 36B show the expansion or PIAT-Decompression of a Generator PIAT Polynomial F(X)0 = 6X4 + 5X3 + 5X2 + 3X + ito construct the 200,000th associated Perfect PIAT Polynomial i (x)200 directly using the CdP: i(x)200000 = (a4 x + (a4 x 200,0009 + a3 X + (a4 x ff2000009 + a3 x + a2 x + (a4 x if2000009 + a3 x + a2 X + a1 X + (a4 x if2000009 + a3 x + a2 x + a1 X if00,000 + a0 X if00,000) 6XI(200,000+01 X4 Z L0! (200,000-1)!) + 6xI(200,000+1 1) +5xI(200,000+0 1).') x3 L1!(2000_1)U 0!(200,000-1)!) roo,ooo +...
6 ((2oo,ooo+4_1)!+ 5 ((2oo,ooo+3_1)!+ 5 I(200,0 -I-2-i)! 4!(200,000-1)! ) L 3!(200,000-1)! ) 2!(200,000-1)! oo.ooQ + ((200,000 + 1-i)ñ ((200,000 + 0 1)! +3x1 I+lxI L 1!(200,000-i)! ) L0!(200,000_OL yr -87 -=(6x1)X +(6x200,000+Sxl)X3 +...
200,003 x 200,002 x 200,001 x 200,000 200,002 x 200,001 x 200,000 +6x +5x - 4x3x2x1 3x2x1 4;; 200,001 x 200,000 200,000 1 +Sx +3x +lx -2x1 1 1 -S__._v....._..d 4ooooo + [200005]X3 +...
6 x 8666685000050000+5 x 1333353333400000 + 5 x 0O00i0000Q ooooo +3x200000+lx 1 =[6]X4 -i-[200005]X3 +...+[400018666976668400001] Since none of the intervening Associated PIAT Polynomials were calculated, this represents a highly efficient method of data decompression.
It will also be recalled from above that the Inverse PIAT Method of computing a Generator PIAT Polynomial (x)0 given an associated Perfect PIAT Polynomial P(X)r involves processing one PIAT polynomial P(X)r to find the preceding associated PIAT polynomial P(X)r_i and repeating this process until the Generator PIAT Polynomial (x)0 is obtained.
As with the PIAT Method, the inventors have devised an alternative method of using the CdP to jump directly to the Generator PIAT Polynomial (x)0 from an associated Perfect PIAT Polynomial P(X)r and having an indexr, without calculating all of the intervening Associated PIAT Polynomials. This method of jumping directly from -88 -the associated Perfect PIAT Polynomial P(X)r to the Generator PIAT Polynomial (x)0 using the index r also uses the CdP.
It will be recalled that under the PIAT Method, given a Generator PIAT Polynomial P(X)0 = acXc + ac1X' + ... + aX + a0 and an index r, there is an associated Perfect PIAT Polynomial in the form P(X)r 2cr + 21X + ... + A1X + A. It will also be recalled that the rth associated Perfect PIAT Polynomial can be found according to the following equation, which only includes values found in the CdP and the values of the coefficients {a0,.. . a} of the Generator PIAT Polynomial P(x)0: P(X)r = (acx,r)Xc + (a x 2r,'+a x + ... + (a, x r' +... + a0 x To find r given only the coefficients of the Perfect PIAT Polynomial P(X)r, we know that 2_ mod2 = a1. This can be verified from any of the numerical examples above.
However, we also know thata1 +rac =21(see, for example, FIG. 15). Combining these two expressions gives: r 2c1 -a1 2c-1 -k-' mod 2c = 2c-1 -2c-i mod c ac ac 2c Thus, r can be found from knowing only 2c and 2_ To find a: 2 =ac X21 a =-j-=----=2, since ç =lVr. r 1
-89 -To find a1: We know that: = (a x + a_1 x Thus,a_1 k-1 c Xç = k-i k Xff 2c-i 2c Alternatively, one could use: a_1 + r = a_1 -r = 2_ -r To find a2: We know that: k-2 = a x + a1 X + a2 x 22-a x,r2-a 1xr' 2 I = -C C C r 2c-2 -a x -X 2Zr 7t, = 2c-2 -X -a_1 X 2T, = 2C2 - X ff X This process can be continued to find all of the coefficients{a,...a0}of the Generator PIAT Polynomial (x)0, without having to calculate the coefficients of any of the intervening PIAT Polynomials.
FIG. 37 shows a numerical example of the Inverse PIAT Method. Given a Perfect PIAT Polynomial, P(X)r = 6 X4 + 35X3 + 120X2 + 313X + 686, to construct its =23 =23 =22 =23 associated Generator PIAT Polynomial, we first determine the vaiue of r using: r-2 -21modk k-kmod24 35-35mod6 = 5-5 =.-=5 k 24 6 6 6 -90 -To find a4 a4 = = 6 To find a3 a3 =2 -2x,r, =23 24 xn =35-(6x5)=5 To find a2 a2 = 2c-2 -X 7t --2c x x = 120-6x 15 -(35-6x5)x 5 = 120-90 -(s x s) =5 Tofinda1: 2c-3 = x + a_1 X + a2 x + a3)< A 3-a xr3-a 1x-a xn' 3 2 =: a_3 = -C = k-3 -a x -a_1 x -a_2 x = [24x -(-A4 = 313-6x35 -(35 -6 x 5) x 15-(120 -6 x 15-(35-6 x s) x 5) =210 =3 -91 -To find a1, we can use the shorter calculation method, making use of the fact that we have already calculated a4, a3. a2 and a1: a0 =A3 -a4 xr -a3 xr -a2 xr -a1 xr 686 -6 x 70-5 x 35-5 xl 5-3 x 5 =1 FIG. 38 shows another example of reduction under the Inverse PIAT Method, that employs a correction factor for r.
Given a Perfect PIAT Polynomial, P(X)r = + 16x + , to construct its =A2 =A =lo associated Generator PIAT Polynomial, we determine the value of r using: r=21h1m0c2c = A1-213mod,t 16-16mod316-1 k 3 3 3 To find a2 a2 = = 3 Tofinda1: a1 =A1 -a2xjr =16-3x5=16--15=1 To find a0: a0 =20-a2 xr -a1 xr =47-3x15-1x5=-3 EN -92 -Since a value of one of the coefficients has been calculated as a negative integer, a correction factor needs to be applied. In this case, the value of the indexr needs to be reduced by unity: Ja, NVi = r = r 1a Ni='.r-r-1 Using the correction, r = 5-1 4.
To find a2: a2 = 3 To find a1: a1 =A1 -a2xr =16-3x4=16-12=4 To find a0: a0 =20-a2x,r-a1x,r =47-3x10-4x4=1 N Using the correction of r, the generator polynomial (x)0 is correctly calculated asP(X)0 =3X2 +4X+1 FIG. 39 shows the optimisation heuristic discussed above in more detail.
The optimisation heuristic defines the ideal construction of a Perfect PIAT Polynomial given an input data sequence in order to allow an optimum reduction in size or compression according to the Inverse PIAT Method. The result of processing under -93 -the Inverse FIAT Method gives a reduced Generator PIAT Polynomial associated with the Perfect FIAT Polynomial. The optimisation heuristic belongs to the class of non-deterministic polynomial problems.
The optimisation heuristic includes a rule database 391 which stores all of the logical rules according to the PIAT Protocol that allows optimal reading and processing of the coefficients of PIAT Polynomials.
The optimisation heuristic also includes an inference engine 392 which can deduce properties of polynomials based on verified information, such as properties of previously processed sets of Associated PIAT Polynomials, based on formal logic. The verified information is stored at a polynomial database 393 which stores the values of coefficients a., b,. . . , r1, 2 associated with FIAT polynomials I (x),. . . , i(x) being processed or that have already been processed. A polynomial generator 394 generates PIAT Polynomials for use under the PIAT Protocol.
The main heuristic rules of the system, which apply under the FIAT Protocol, are as follows: * the heuristic can decide to maintain, increase or decrease the degree of the polynomial being analysed (for example to allow for variable-degree polynomials under the PIAT Algorithm or the Extended FIAT Method); * the heuristic can exclude one or more symbol of the polynomial being analysed; * the heuristic can consider all coefficients of the polynomial as a variable-degree "sub-polynomial"; -94 - * the heuristic controls the requirement that the coefficient of the lowest degree term in a polynomial be strictly greater than the coefficient of the next lowest degree term in the polynomial; * the heuristic can verify the modulos of the coefficients of the input polynomial relative to the number of lines r calculated by the Inverse PIAT Method; and * the heuristic can choose to reverse the reading direction of the polynomial being analysed, i.e. change the order in which the coefficients are arranged.
All binary sequences, which are intelligently divided into smaller binary sequences by the optimisation heuristic necessarily correspond to a generator (origin or initial) polynomial with a number of variable-coefficient symbols. To reduce the computational cost under the PIAT Protocol, the optimisation heuristic can proceed by: * identifying a polynomial of the same degree which is linked to the Generator PIAT Polynomial by a truncating/reducing the coefficients; or * by a minimal differential approximation of a value stored in the system relative to a Perfect PIAT Polynomial linked to a known Generator PIAT Polynomial.
Thus, the optimisation heuristic could identify a Perfect PIAT polynomial with a known link (via the indexr) to a known Generator PIAT polynomial and recreate the result, rather than perform the full Inverse PIAT Method to compress the size of the binary data sequence.
Using one of the numerical examples above, the optimisation heuristic could store the fact that an input data sequence of -95 - 612000051200016000058000220001900003400018666976668400001 (in decimal) corresponds to a Perfect PIAT Polynomial of the form F(X) = 6X4 + 1200005X3 + 120001600005X2 +8000220001900003X + 400018666976668400001, which can be compressed to a data sequence having only five decimal digits 65531 and an associated six-digit decimal index, r, of 200,000. If the optimisation heuristic were to receive such an input data sequence in the future, it could infer the result of compression under the Inverse PIAT Method rather than having to perform the full Inverse PIAT Method each time it receives that input data sequence.
This is particularly useful when the same data is PIAT-Compressed more than once under the PIAT Protocol. As an example, a user may wish to compress a movie file under the PIAT Protocol into a compressed file and an index and then decompress the compressed file using the index under the PIAT Protocol at a later date to view the movie file, If they then wish to re-compress the movie file under the PIAT Protocol, rather than having to perform calculations under the PIAT Protocol, the result of the PIAT Compression (compressed data sequence and index) could be inferred by reference into a database of previous compressions.
FIGs. 40 and 41 respectively show the reduction (PIAT Compression) of, and subsequent expansion (PIAT Decompression) to recover, an initial data sequence, such as the 166 decimal-symbol sequence mentioned earlier.
FIG. 40 shows an overview of the steps involved in the Inverse PIAT Method of reducing a large initial data sequence to a smaller final data sequence with an associated final index, rFwhich indicates the level of compression. Not all of the steps shown in FIG. 40 are essential in reducing the initial data sequence to a smaller final -96 -data sequence. For example, the final index, ri,, need not be subject to further encoding itself.
The compressed data sequence can also serve as a checksum to provide error-checking capabilities, If an initial data sequence is operated on according to the PIAT Protocol, it produces a smaller data sequence. If the initial data sequence is transmitted to another entity and incurs errors during transmission, the received data sequence would be highly unlikely to produce the same smaller data sequence under the PIAT Protocol as the non-erroneous initial data sequence. If the compressed data sequences were different, it could indicate transmission errors.
At Step 401, an initial data sequence is received for PIAT Compression. The data sequence may, for example, represent a digital audio file, a digital text file or may take the form of any other input data.
At Step 402, the input data sequence is subject to the optimisation heuristic as discussed earlier.
At step 403, the Inverse PIAT Method is used to process the initial data sequence.
The Inverse PIAT Method may be used to compute each intermediate Associated PIAT Polynomial or may be used to jump directly to the smallest possible Generator PIAT Polynomial P(x)0 with the associated index, r. If each intermediate Associated PIAT Polynomial is computed, then, at each iteration, a temporary sequence will be produced.
That temporary sequence corresponds to an Associated PIAT Polynomial reduced by one level.
-97 -At Step 404 when desired, the temporary index r is subjected to an entropy heuristic. This involves establishing the best possible encoding for the particular technique of entropic encoding being used to encode the temporary index. More precisely, it involves encoding all or part of the values of the temporary index. Thus, the entropy of the temporary indexr1 is reduced by increasing the probability of the occurrence of characters, which greatly optimises the compression rate in line with current methods of entropic compression.
At Step 405 the temporary index i is subjected to entropy encoding to produce a final index, rF. The final index, 1F' together with the final data sequence can be used to reconstruct the initial data sequence.
FIG. 41 shows an overview of the steps involved in the PIAT Method of PIAT-Decompressing the small final data sequence using the final index, r, to recover the larger initial data sequence. Not all of the steps shown in FIG. 41 are essential to expand the final data sequence to the initial data sequence, particularly if the final index, rF, was not subject to encoding itself.
At Step 411 the final index rF that was subject to entropic encoding is subjected to entropy decoding.
At Step 412, the resultant index is subject to an inverse entropy heuristic to provide the temporary index, r.
-98 -At Step 413, the compressed data sequence and the temporary index r are used, optionally along with the CdP, under the PIAT Method to reconstruct the initial data sequence. In constructing the initial sequence, it is possible to construct each Associated PIAT sequence or Polynomial iteratively between the compressed and initial data sequence or to jump directly from the final data sequence to the initial data sequence.
FIG. 42 shows how the Inverse PIAT Method and the PIAT Method can be used to compress and decompress, respectively, the indexr generated under the PIAT Protocol. Since the index is, itself, a data sequence and may be relatively large, the index can be subject to PIAT Compression as opposed to conventional entropy encoding. This would generate a further data sequence corresponding to the compressed index and a further index indicating the level of compression of the compressed index. This process of compressing the index generated at each level can be continued to reduce the overall size of the data, at the possible expense of increased processing time.
To decompress the data, the final data sequence and final index are combined under the PIAT Method to generate the previous index. The previous index can then be combined with the previous data sequence under the PIAT Method to generate the yet previous index. This process can be repeated to recreate the original data sequence.
This method of compressing the index provides not only a further level of data compression, but a further level of security in relation to the original data sequence. For example, if an original data sequence underwent three stages of PIAT Compression, compressing the index at each stage, three data sequences and three indexes would be generated. It would not be possible to reconstruct the original data sequence without -99 - knowing or calculating all of the sequences and indexes, save, possibly, for a time-consuming brute force attack. Each of the data sequences and indexes, thus, acts as a decryption key as well as an element of the compressed data.
FIG 43 shows typical compression rates obtainable under the PIAT Protocol contrasted with that under conventional Huffman Coding and under RLE.
As explained previously, a 552-bit (69 ASCII character) initial sequence identical to that discussed in relation to FIG. 22 as being a direct decimal-to-binary conversion of a 166-digit decimal sequence can be compressed under the PIAT Protocol by a rate of 91.3%.
Under Huffman coding, a codeword having 63 unique ASCII characters and 6 ASCII characters repeated twice, can be used to obtain a Huffman coding having 414 bits (52 ASCII characters). This represents only a 25% compression ( (u' rate(i 1-i -I IxlOO).
552)) Under RLE encoding, since there are no repeated characters in the initial sequence, RLE would return an encoded sequence having the same number of bits (552 bits) as the initial sequence, giving a 0% compression rate ([1_LJJx 100).
Thus, PIAT Compression greatly outperforms both of these known compression techniques based on this initial data sequence.
-100 -Huffman and RLE encoding are based on a statistic encoding depending upon the appearance of characters. In the above example, the initial data sequence has a low probability of occurrence: 69 ASCII characters of which 63 are unique. This very fact exposes a weakness in the Huffman algorithm in that the associated Huffman tree of codewords must be locally complete. As for RLE, coding is inefficient. Indeed, RLE only applies when at least 3 consecutive identical characters are identified.
In summary, unlike standard compression that is based on an entropic analysis of the source data, the PIAT Protocol operates directly on the binary values of the input data. The PIAT Protocol provides various advantages over conventional encoding techniques: * processing under the PIAT performs lossless data compression; * PIAT processing enables on-the-fly data processing; * processing under the PJAT is insensitive to the particular type of input data (exe,txt,jpg...); * a data stream compressed under the PIAT Protocol further compressible as many times as necessary in a cyclic manner; * the PIAT Protocol is particularly effective when c = 1, i.e. when (x) = a1X + a0 deg (x)= 1, and x0 1 because of the constant compression level and the fact that the optimisation heuristic is also simplified; * higher rates of data compression can be obtained by increasing the value of x0 at the cost of a higher complexity of calculations; and * the indexr generated under the PIAT Protocol is separable from the compressed data and can serve as a decompression or decryption key.
-101 -Polynomial Factorisation and Division It will be recalled that Homer's Scheme can be used to factorise a polynomial by a factorg(x)=x-x0.
Generally, all polynomialsP(X), where P(X) a,X' = aXc + ac_1XC_l + ... + aX + a0 can be written as (c.f. Homer's Scheme): P(X)=((...((X-x0)R+1 +RXX-x0)+...R3XX-x0)+R2XX-x0)+R1 The CdP enables all of the the remainders, R, making up the factorised polynomial to be calculated according to the following equation: c-r+1 Rr = (ay+r_i By way of an example, suppose one wanted to factorise P(X) 6X4 +5X3 +5X2 +3X+1 by(X-1) as many times as possible.
Here,; =lsince the required factor is(X-x0. Accordingly, the one-dimensional CdP, denoted CdP1 is required.
The remainders Rr making up the factorised polynomial with c +1 »= r »= 1 are calculated by: 4-r+ Rr = (a+_1 x;ir').
-102 -Each of the coefficients 1?,. can be obtained as follows: To calculateR1: 4-1+1 4 R1 = (av+i_i x r' ) = (as, x -
R
R1 =1xr +3xr1' +5xir12 +5xff+6x,r14 =lxl-i-3x1+5x1+5x1+6x1=20 Thus,R1 20.
To calculate R2: 4-2+! 3 R2 = (a+2_1 xr;)=(a+1 xr;)-R2 =[aIxJ+[Ixir]÷[a÷1x2r:]+[a3+Ix2r]] R2 =3xr +5x,r +5xr +6x,r =3x1+5x2+5x3-i-6x4=52 Thus,R2=52.
To calculate R3: 4-3+1 2 R3 = R3 -103 -R3 =5x.ir+5x,r+6x,r =5x1+5x3+6x6=:56 Thus,R3: 56.
TocalculateR4: 4-4+1 1 = x (a+4_1 = a03x R4 =5x,z-+6x,r =5x1+6x4=29 Thus,R4 29.
To calculate R5: 4-5+1 0 = R5 R5 =6 x r =6 xl 6 This leads to the factorisation of P(X)=6X4 +5X3 +5X2 +3X+las P(X)=[(X-l(X-1((X-1(X1)6+29]+56J+52]+2O].
114 R3 112 R1 -104 -The validity of this factorisation of P(X)can be verified by expansion, if desired.
It is also possible to calculate Euclidean polynomial divisions in a similar manner to Homer's Scheme by using the CdP in the relevant dimension x0 n.
Starting from any polynomial P(X)of degree c, using the rth row r of the CdP allows all of the quotients Q(X)1 and remainders R1 of successive Euclidean division of (x) by (x -x0)r to be calculated as follows: r=O-*P(X) (x) ___ -QX) + (X-x0) de-1 (X-x0) but Q(X)1 Q(X)2 + R2 (X-x0) (X-x0) (x) R R r=2-* = + + I (X-x0)2 degQ(X)2=c-2 (X-x0) (X-x0)2 but + R3 (X-x0) (X-x0) r(x) R R R r = c -* = QX) + C + 2 + + (Xx0)' d3O (X-x0) (X-x0) (X_x0)' according to the following formula: C-r4-I p x c-r c-r-k (a+1 x (X -x0Y (av+r+k x + V -x0Y Thus, forr = 1, i.e. to divide P(X)by(X-x0)': -105 - P(X) = + R1 - (X-x0)t -..---degQ(X=c-i (x -x0) [a ir° }--i + [(ar x: )+ (ar_i,)}Xc_2 + {(a x r,)+ (ar_i x,)+ (a_2 x,z.)Jxc_3 +...+[(acx,r1)+...+(aix,rJX0+7++ox2r (X -x0)' Forr = 2, i.e. to divide P(X)by(X -x0)2: P(X) = Q(X)2 + R2 R degQ(X=c-2 (X-x0) (X-x0)2 (X-x0)2 ------ [a x,r}Xc_2 + [(ar x (ac_i x,r)]Xc_3 + [(ar x (ac_i x (a_2 x (X-x0)1 (X-x0)2 Forr = c (wherecis the order of P(X)), i.e. to divideP(X)by(X_x0)': P(X) = Q(X) R R *** + + C a ____ (X x0)C (x -x0) + ( -x0)2 (x -x0)c [(a xz1)+(q_1xr01)] ________________
C _______________-
[axC1+ a (X_xo)c_I (X_xo)c FIG. 44 shows, and an explanation is provided below of, how the polynomialP(X) 6X + 5X3 + 5X2 + 3X + 1 can be written in the a4 a3 a1 Oi 00 P(X) R R R form =Q(X) + r + r-i + + (X -1)' r (X -1)i (X -1)2 (X -iy Firstly, the quotient Q(X)1 and remainderR1 of the first division, i.e. the division by(X-1)', are calculated: -106 -P(X) (X-1)t -Q(X)1 + (X-1)' = [6xr]X3 +[x:J+[5xrJ]x2 +[6xJr]+[5x7r:J+(5x/rJ]x' + [(6xsti'J+[5xit]+[5 xJ+[3x2r:J÷(1x2rJ] (X-1)' =[6x1JX +[(6x1)+(5x1)1x2 -s-[(6x1)+(5x1)+(5x1)Jx' + [(6x1)+(5x1)+(5xi)+(3x1)X0 ÷R6xh15x113<1)1<1)1 =6X +11X2 ÷16X÷19+ 20 (X-1)' Secondly, the quotientQ(X)2and remainderR2 of the second division, i.e. the division by (x -1)2 are calculated: P(X) (X - =Q(X)2 + R1 + R1 (K-I)' (X-I)2 =[6xr]X2 +[6<ir)+[5xrJ]x' +[6x:)+(5xtJ÷[5xJr]]xo + [6xJ+[ff:)+xJ+[xir)] ,& (X-I)' (K-I)2 =6X +17X +33+ + (X-I)' (X-I)2 Thirdly, the quotient Q(X)3 and remainderR3 of the third division, i.e. the division by (x i) are calculated: -107 -P(X) R3 + R2 + R1 (X-1)3 =Q(X)3 + (X-1)' (X-1)2 (X-1)3 R2 R1 I6x0lXI 44) a3 1J 1..a2 + 52 20 (X-1)' (X_1)2+(X_1)3 L4] L4) R2 R1 =[6XlJx1+[(6X3)+(sxI)]x0+[(6x6)+(5x3)+(5x1)1 52 20 + + (X-1)' (X-1)2 (X-1)3 _ -4-56 52 20 z6X+23+ * (X-1)' + (X-1)2 + (X-1)3 Q(Xh Finally, the quotient Q(x)4and remainderR4of the fourth and final division, i.e. the division by (x -i)4 are calculated: P(X) Q(X)4 + R4 + R3 + R2 + R1 (X -i) (X -1)' (X -1)2 (X -1) (X -1) R2 R1 [1 x1 \a4) a3)] 56 52 20 + + + La4] (X -1)1 (X -1)2 (X -1) (X -1) [(6 x 4)+ (s x 1)] [6 x i}X0 + (X-1)4 R4 R2 29 56 52 20 + + + Q(X) (X -1)' (X -1)2 (X -1) (X -1) The above example can be written differentiy as: P(X) R R1 R Q(X)+ r + r ___ (X -1) -(X -1)' (X -1)2 (X -1) c-r+1 c-lr-1)fI C c-r (c-r-k x,tv) (ay+r_ii x 2r_1)) x I (aV+,+k x)JXk + v=O + -v0 + + v=O v=O (X -1) (X -1)2 (X -1) Firstly,forr=1: -108 -Ic 4 To find the first quotient Q(X)1: 4-i (4-i-k 3 73-k Q(X)r = Q(X)1 = (aV41+k -* xr')JX" k=O v0 k=O vO = (a,x 2ri')JX0 + (ax 2r')JX1 + + (aix ri')JX3 = (a7z + 2+lI + )X° + (aO+2,rI I+22r1+a2+21r1)X' + (aQ37r° +37t)X2 (a10a)X° (a11)X' I °\V3 +a04,r1 JII a4 3-3 = (a1,r + a2i + a3.ir + a4,r)X° + (a2,r° + a3ir1' + + (a3r + a4,r11)X2 + (a4ir)X3 = (3 xl +5 x 1+5 xl + 6 x 1)X° + (5 x 1+5 x 1+6 x 1)X' + (5 xl +6 x 1)X2 + (6 x 1)X3 Q(X)1 =6X3+11X2+16X' +19X° To find the first remainderR1: 4-1+1 4 R1 (a+11 x = x =a0x,r+a1 xr +a2x+a3x2r+a4x7r =lxl+3x1+5x1+5x1+6x1 =20 So, P(X) = Q(X) + R1 (X-1)' 1 (X-1)' =6X3+11X2+16X1+19+ 20 (X-l)' -109 -Secondly, forr 2: Ic 4 To find the second quotient Q(X)2: 4-2 (4-2-k 2 (2-k Q(X)r Q(X)2 = x,r)JXk -(aV+2+k)< 7r)JXk k=O v=O kO v=Q = 0 (aV+2+ox2r')JX° + (a v+2+1 + c0 (av+2+2xgi)JX2 =(a0÷20.2r +a1207z +a220ff)X° +(a0241.ir +a1÷21,r)X' +(a022ff)X2 -v-----v---a4 a3 a4 a4 2-0 2-I 2-2 (a2xir)X° Z(a,2+1xff)X' (a22x,r)X2 v-0 = (a2ir° + + a4,r)X° +(a3,r + + (a420)X2 =(5x1+5x2+6x3)X°-i-(5x1+6x2)X'+(6x1)X2 =IQ(X)2=6X2+17X1+33X0 To find the second remainderR2: 4-2+1 3 R2 =a1 x2z+a2xzr +a3 x2r+a4xjr =3x1+5x2+5x3+6x4 =52 So, P(X) =Q(x) + R2 + R1 (X -1)2 2 (X -1)' (X -1)2 =6X2+17X'+33+ 52 + 20 (X-1)' (X-1)2 -110 -Thirdly, forr=3: Ic =4 =3 To find the third quotient Q(X)3: 4-3 (4-3-k I (i-k Q(X)r = Q(X)3 = (aV+3+k x -4 (aV÷3÷k xr')JX" k=O v=O k=O v=O = [ (a+3+ox,r)X0 + (av+3+ix7)JX1 = (a03÷0,r3° + a130)X° + (a031,r3° )X1 a3 a4 a4 1-0 I-I (a÷3÷1x,r)%*I
U
= (a3r + a4,r)X° + (a4,r30)X1 =(5x1+6x3)X°+(6x1)X1 = 6X1 + 23X° To find the third remainderR3: 4-3+1 2 R3 = (a+3_1 xg) = x = a2 + a3 x + a4 x =5x1+5x3+6x6 =56 So, -111 -P(X) R3 + R2 R (X -1) (X -1)' (X -1)2 + X -1) 56 52 20 =6X'+23+ + + (X-1)' (X-1)2 (X-1)3 Finally, forr=4: Ic =4 Lr =4 To find the fourth quotient Q(X)4: 4-4 (4-4-k J 0 (0-k Q(X)4-_>j (aV+4+kx,r) Xk _* (aV+4+kx2r)]Xk k=0\ v=0 k=0v=0 (0-0 = I x)JX0 \ v0 k=0 = (a04÷0,ir40)X° 0-0 (ax,r)X° = (6 x 1)X° To find the fourth remainderR4: 4-4+1 1 R4 = v=0 vO = a3 x + a4 x =5x1+6x4 =29 So, -112 -P(X) R R3 R R Q(X)4+ + + 2 + I (X -1) (X 1)1 (X -1)2 (X -i) (X - 29 56 52 20 =6+ + + + (X -1)' (X -1)2 (X 1) (X -1) Instead of dividing by(X _i)' (i.e. where x0 1) above, it may be desired to divideP(X)by(X-2)', in which case; = 2. It then becomes necessary to use the two-dimensional CdP, denoted CdP2.
If dividing by(X -2)', then the same polynomial, P(X)= +5X3 +X +3X+1, can be expressed as: P(X) = Q(X) + R + Rn *** + R1 (X -2)' (X -2)1 (X -2)2 (X -2)' Firstly, calculating the quotient Q(X)1 and remainderR1 of the first division, i.e. the division by(X-2)': P(X) (X-2)' = + (X-2)' =[6x]x3 +[6xtr:J+[s>.ioj]x2 +[(,J+[ J+[ xirJ]x' +[6xviJ+[5xJ2J+[5 x:J+(xr]]x (X-2)' = [6x iJx3 + [(6x 2)+(5x1)112 +[(6x4)+(5 x2)+(Sx i)Jx' + [(6x8)+(5c 4)+ (5> 2)+(3x i)Jx° + [(6x 16)+(5x 8)+(5c4)+ (3, 2)+(I xi)] =6X3+17X'+39X+81+ 163 (X-2)' -113 -Secondly, calculating the quotient Q(X)2and remainderR2of the second division, i.e. the division by(X-2)2: (12)2Q(X)2+ R + (1-2)' (X-2)' =[ +[ <,+[ +[)+[ xr]+[5x4]]X0 + [(6xJ+(5xr:J+(5x2rJ÷[3x)1 j 163 + (1-2)' (X2)2 =[6x 1112 +[(6x4)+(5x1)1x' 1 (1-2)' (X_2)2 275 163 =611+2911+97+ + (1-2)' (X_2)2 Thirdly, calculating the quotient Q(X)3 and remainderR3 of the third division, i.e. the division by(X 2): F(X) -R3 + R2 R1 (X-2)3 _Q(X)3+(x2)i (X-2)2 (X-2) [4Iff+1j1 ______ ______ 04) ) j + 275 163 [6xlX' +[16x+15xJ]x0 + (X-2)' (X-2)2 + (X-2)3 [a4 j [a4) \a R2 R1 + (X-2)' (X-2)2 (X-2)3 R3 R, 179 275 163 6X+41+ + + (X -2)' (X -2)2 (X -2) Q(XX Finally, calculating the quotient Q(X)4 and remainderR4of the fourth and final division, i.e. the division by(X-2)4: -114 -P(X) R4 R R2 R + + + (X -2) (X -2)' (X -2)2 (X -2) (X -2) -6 x,r° X° + a4) ) + 179 + 275 + 163 (X-2)' (X-2)2 (X-2)3 (X-2)4 R3 R R1 [61]x0[(6X8)+(5X1)] + + (X -2)1 (X -2)2 (X -2) (X -2) R4 R3 R2 53 179 275 163 + + + (X -2)' (X -2)2 (X -2) (X -2) It will be recalled from above that the CdP1 can be derived from the PIAT Algorithm or (Extended) PIAT Method by using an identity polynomial, P, (x). The CdP, can also be derived using the factorial method. Another method for deriving the CdP1 is by Polynomial division of an identity polynomial in the form: X)=1Xv =1XC+1X1÷...+1X+1 (X) _____ 1Xc+1X+...+1X+I (X1)r (x-ly (X1)r c-, c+l-r c+1-(r-1) c (r' ,x'')+ + + + 2t2 (X -1)' (X 1)2 (X -1) Using a fourth-degree identity polynomial, P(X) = X4 + X3 + X2 + X + 1: P 4-1 4+1-1 r = 1 -* = = (v X(4_1)_v)+ r,4, (X -1)' (X 1)' (X -1)1 = ±kxi+ x3 + x2 +2X' + + ff2 v=o (X -1)1 2 2 (X -1)1 -115 -P(x) 4-2 4+1-2 _______ -_(;+1x4_2)_%)+ ,r21 _______ + (X-1)2 -(X-1)2 -(X-1)' (X-1)2 2 ______+ _(;x2 v)+ (X-1)' (X-1)2 2 _________ _________ =x2+x1+3+ + (X-1)' (X-1)2 This can be compared with the result obtained by other methods of polynomial division as: P(X) x4+x3+x2+x'+l 1X3+2X2+3X1+4+ r = 1 -i (x-i)' -(x-iy, , (X-1) 3 4 if2 P(X) -X4 + + + + 1 = 1 x2 + 3X' 10 5 r =2 -* +6+ + i (X-1)1 (X-1)2 (x-i)2 -(x-i)2 if P(X) X4+X3+X2+X'+l 10 10 5 =1X+4+ + + (x --(x -i (X -1)' (X -1)2 (X -1) if4 if if JT P(X) X4+X3+X2+X'+11 + 10 + 10 + r=4- (x --(x -i)4, (X -1)' (X -1)2 (X -1) (X -1) Calculating P(x0) With reference to FIG. 45, is possible to calculateP(X)atx0 using the first row, r = 1, of the rithdimensional CdP, i.e. using the CdP that has the same dimension as the point x0 about which calculation is desired: -116 -P(x0) = avx0v acxoc + a1x0' + ... + ax + a0 However, since r x0c, n=x0 nx.=1 whenr=1,,r =ir *xOc=1*xQ=xOc n=x0=1 -÷P(xo)=>ax0" ax2r It can be seen that in calculating P(x0), the powers,c, ofP(X)inXcorrespond to the values of the coefficients in the corresponding-dimensional CdP. For example, the coefficient of the term in X3 (c = 3) about the pointx0 = 4 n = = 4 would correspond to the value of the coefficient on the first row r = 1 and the fourth column c =3 in the 4th dimensional CdP, denoted CdP4.
FIG. 46 shows, and the calculation below explains how, P(X)about the points x0 = land x0 = 2 can be calculated when P(X) = 6X4 + 5X3 + 5X2 + 3X + 1 using the corresponding CdPs; CdP1 and CdP2 respectively.
For; =1, using CdP1: P(x0) = x)= a0 + a1 x + a2 x + a3 x +a4 x =1x1--3x1+5x1+5xl+6x1=20 -117 -To verify, substituting X x0 = 1 into P(X) = 6X4 + 5X3 + 5X2 + 3X + lyields: P(1) = 6[lr + 5[1? + 5[1]2 + 3[1J+ 1 =20 Forx0 = 2, using CdP2: P(x0) = ±(a)= a0 +a1 x +a2 xg +a3 x +a4 x v=0 =lx 1 +3x 2 +5x 4 +5x 8 +6x 16 =163 21 r.2 22,r21 -2 2 2 iL02 To verify, substituting X = x0 =2 into P(X) 6X4 + 5X3 + 5X2 + 3X + 1 yields: 6{2r +5{2r ÷5[2]2 +3[2]+1 =163 Other Mathematical Formulae Expressed in Terms of the CdP Binomial Expansion A binomial expansion can equally be expressed in terms of cells,rfrom the CdP: (a±b)m =+i.am.(±b)o+ am1.(±b)i+1.am2.(±b)2+...+.a0.(±b)m = am (± b)' By way of a first numerical example: -118 - (a+b)4 =,r11*a41*b' i=0-*a4°*b° =*a4 = I -f.a' b' = a3 *b2 i=2-+.ir2.a42.b2 =:.a2.b2 i=3-*ir3*a43b3 =,it.a.b3 i=4-*ir4*a44.b4 =,rb4 =(a+b)4 =r*a4+ir a3 1⁄4J J i=O i=1 i=2 1=3 i=4 = 1 *a4+ 4 *a3*b2+ 6 *a2*b2+ 4 *a*b3+ 1 b4 =4 =a =4 =4 =4 Thus by way of two more numerical examples, (1+x)4= 1 +4x+6x2+4x3+1x4 4,rj 4 14 4 (i -= (i + (-x))4 1 -4x + 6x2 -4x3 + 1 x4 4 14 4 14 4 If the sum of the coefficients of a polynomial is in the form 2'", then there exists a polynomial P(x) such that P(x) = (x + a)m.
Sum of Natural Numbers The sum of the firstm natural numbers: Sm=1+2+3+...+(m_1)+m=m(+1)=I.
By way of a numerical example: S4 =1+2+3+4= 4(4+1) S4 it 10 -119 -Combinations with and without Repetition It will be recalled from above that the number of combinations without repetition can be found according to the following formula:
CC r
It will also be recalled that this can be mapped to the CdP, which can be thought of as the number of combinations with repetition: = (r+c-1)! It can be seen from these two expressions that: -(r+c-1)! (r+c-1)! r+c-1 -1/ \ \ - -,r, , and (r+c-1)-c)!c! r-1j!c! -((r-c+1)+c-1)! -_______ -r-c+i -ff \ \ - -Cr c!ir-c+1j-1fl c!r-cj! Binomial Law Under the Binomial Law, the probability1of csuccesses from rtrials where the probability of getting c Isp is given by: J =C:.pc.(1_p) To map this to combinations with repetition, we can use, from above, that 2r+1 = Cto give: = (i -)(r_c4-1)_c = (i -p)r_2C+l Perfect P/AT Couples and the P/AT Classification Space -120 -FIG. 47 shows a small extract from another new mathematical construct, referred to herein as the PIAT Classification Space, forx0 = 1, using the numbers between I and 109 inclusive. These individual numbers are denoted herein asa.
The PIAT Classification Space exhibits various remarkable mathematical properties that can be used for data compression and decompression under the PIAT Protocol.
To populate the PIAT Classification Space, we can start with a second-order polynomial in the form: r(x)= a2x2 +a1x+ a0, whereO«= a. «= 9.
This polynomial 1(x) is used to represent a three decimal digit number in the form a = a2a1a0. For example, to represent the decimal number a = 109, a2 = 1, a1 =Oanda0 =9. Thenumber a=l09hasanassociated polynomial: .09x)= 1x2 +Ox+9 =1x2 +9.
The number a = 74 = 074 can be represented bya2 = 0, a1 7 and a0 = 4. The numbera = 74 has an associated polynomial:i74(x)= x2 --Zx+ =Zx+.
The numbera=8=OOScan be represented bya2 =0,a1 =Oanda0 =8. The numbera =8has an associated polynomial:P008x)=0x2 +Ox+8 =8.
-121 -These three-digit numbers a are arranged into Classification Space Families, where all associated polynomials I(x)of the members of the same family have the same value of](x0). In this case, wherex0 =1: 109-4 J09(x0)=I0(1)=1x12 +Oxl+9 =1+0+9=10 74-174(x0)=I74(1)=0x12 +7x1+4 =0+7+4=11 8-* ]08(x0)=I08(1)=0x2 +0x1+8 =0+0+8=8 The decimal number a 109 belongs to the family of polynomials for which p(i) =10, a = 74 belongs to the family of polynomials for which (i) = 11 and a = 8 belongs to the family of polynomials for which P(i) = 8.
The set of decimal numbers a between 1 and 109 inclusive for which (i) =3 is indicated by a dotted by on FIG. 47 as: a =3-3P3(1)=I03(1)=Ox12 +Oxl-i-3 =0+0+3=3 a =12 -*I2(1)-P012(1)=Ox1 +lxl+2 =0+1+2=3 a = 21 -F1(i)= F21(1)=0 x12 +2x1 +1 = 0+2+1 = 3 a =30-÷]0(1)=F30(1)=O x12 +3x1+0 =0+3+0=3 a=102-+.F02(1)=1x12 +Oxl+2 =1+0+2=3 The only values of a (1)for all of the values of a between 1 and 109 inclusive are between 1 and 18 inclusive.
-122 -FIG. 48 shows the classification space forx0 = lof polynomials i(x) associated with all of the values of a between 1 and 299 inclusive. Even a significant number of additional values of a, the only values of I(1)for all of the values of a between 1 and 299 inclusive are between 1 and 20 inclusive.
With reference to FIG. 48 again, the set of decimal numbers a between I and 299 inclusive for which p(i) = 3 is: a =3-P(1)=P003(1)=0x12+Ox1÷3=O+O÷3=3 a =12 -3 P12(i)=P()12(i)_ x2 + x1 + = 0+1+2=3 a =21-f P1(i)=P21(i)=o x2 +xl+ =0+2+1=3 a =30 -+ F0(1)=I30(1)=o x12 ÷3 xl+0 =0+3+0=3 a=102-)F02(1)=1x12 +Oxl+2 =1+0÷2=3 a =111_-i12(1)=1x12 +lx 1-i-i =1+1+1=3 a =120 -3 120(i)= 1 x 1+2 x 1 +0 =1 + 2 + 0=3 a=201-_01(1)=2x12+Ox1+1=2+O÷1=3 a =21O-4F10(1)=2x12 +1 xl +0 = 2+1+0=3 FIG. 49 shows a graph of the curves of three polynomials J(x)for which i(i)= 9, namely: I6(1)=0x12+3x1 +6 =0+3+6=9 a2 X.j a x a0 i26(1)=1x12+2x1+6=1+2+69 a2 x0 a1 x0 a0 1252(1)_ x÷i +2=2÷5÷2=9 a2 X. a1 x a0 -123 -These three poIynomialsI6(x),i26(x),I52(x)aIl meet ati(1)= 9. The numbers a = 36, a =126 and a = 252 (as well as twenty-four other values a) belong to the same Classification Space Family when x0 = ifor which Ra(i)= 9.
FIG. 50 shows the classification space forx0 = 2of polynomials a (x) associated with all of the values of a between 1 and 299 inclusive. The only values of I(x0 2)for all of the values of a between I and 299 inclusive are between 1 and 35 inclusive.
When x0 = 2, again with reference to FIG. 50, the only decimal numbera between 1 and 299 inclusive for which P(2)= 3 is a = 11: a =i* x22 +1 x2+1 =0+2+1=3 FIG. 51 shows a graph of the curves of three polynomials a (x)for which p, (2) =23, namely: P79(2)=0x22+7x2-i-9 =0+14+9= 23 F83(2)=1x22+8x2+3=4+16+3=23 P255(1)_2x2+5x2+5 =8+10+5=23 These three poIynomialsI9(x),I83(x),]55(x)all meet atPa(2)= 23. The numbers a = 79, a = 183 and a = 255 (as well as ten other values a) belong to the same Classification Space Family whenx0 = 2 for which Pa(2)= 23.
-124 -FIG. 52 shows the set of Perfect PIAT Couples between the numbers 1 and 99 inclusive. Perfect PIAT Couples can be used with the PIAT Classification Space to provide a compression and decompression technique based on the remarkable properties of the PIAT Classification Space.
A Perfect PIAT Couple forx0 = 1 is a set of two numbers {a1,a2}= {a12a11,a22a21} fulfilling the following criteria: * Their Classification Space Families have the same number of elements.
This means that the number of values a having the same image ofF(1)asI2.(1)must be the same as the number of valuesa having the same image ofJ,(1)asIa(1). This, in turn, means that there must be the same number of values a on the row in the PIAT Classification Space on which a1 is located as there are on the row in the PIAT Classification Space on which a2 is located; and * a1 and a2 must terminate in the same digit, i.e. aH = a21.
With reference again to FIG. 52, we can verify that {a1,a2} {43,83}is a Perfect PIAT Couple because: * xl + 3 =4+37and there are a total of eight values a1,2 x0 a11 of a in the Classification Space Family for which i(i)= 7, namely a = 7,16,25,34,43,52,61,70. The only other row that has eight members is that for which a (i) =11. The member of the Classification Space Family for which (i) =11 are a = 29,38,47,56,65,74,83,92 of which a2 = 83 is a member; and -125 - * Since a1 = a12a11 43 and a2 = a22a21 83 we confirm that a11 =3 = a21.
In fact, any value a1 that forms part of a Perfect PIAT Couple has one and only one partner value a2. Given a value a1 that forms part of a Perfect PIAT Couple, the partner value a2 can be uniquely determined by locating the row in the PIAT Classification Space that has the same number of members of its Classification Space Family as a1 and then finding the only member of that row a2 that has the same finial digit such thata11 = a2,1.
This remarkable property of Perfect PIAT Couples and the PIAT Classification Space can be used to perform lossless data compression and fully recoverable data decompression.
Certain values a in the PIAT Classification Space, however, do not form part of a Perfect PIAT Couple. For example, taking a3 = 79, then a3 is in the classification space row for which a (i) = 16. This row has a total of three members, namely a = 79,88,97.
The only other row with three members is the row for which P, (i) = 2. The members of this row are a 2,11,20. However, since a3 a32a31 =79, we have that the final digit of the prospective partner number should be a31 =9. Since none of members a = 2,11,20 of the row for which i(i)= 2 have nine as their final digit, none of them forms a Perfect PIAT Couple with a3 =79.
By way of a further numerical example, we use the notation [ ] = [35]to define a compressed data sequence, a =35, and an index, /3=8. Using the notion of -126 -Perfect PIAT Couples and the PIAT Classification Space described above, we decompress the data sequence, cr =35, using the index, ft =8, as follows: * The final digit of a = 35is 5; * Using the PIAT Classification Space, we know that the line containing a = 35 contains 9 elements; * Using the PIAT Classification Space, we also know thata = 35 belongs to the Classification Space Family for which P (i) 8; * The index ft = 8 indicates that the PIAT Classification Space row of interest is in the eighth row below the row to which a =35 belongs, so that the row ofinterestis8+8=16; * The decompressed value is on the sixteenth line, in a Classification Space Family containing nine elements, and has five as its final digit; * The unique value within the PIAT Classification Space between 0 and 999 for which this holds is 655; * The decompressed data, ad, is a combination of the compressed sequence and the unique value: 65535.
This is a common number in computing because it is the highest decimal number that can be represented by an unsigned 16-bit binary number, 11111 1111111 11112.
Whereas the decimal number 65535 requires 16 bits to store it, the compressed data r35 1 sequence, denoted 8 requires 6 bits to store the value 35 and four bits to store the value 10, so only ten bits in total.
-127 -Using the PIAT Classification space and the notion of Perfect PIAT Couples thus allows reversible data compression.
FIG. 53 shows a method of creating pseudo-isometric composite mapping functions to compress data using the PIAT Classification Space. Three mapping functions are defined: * P1-Perfect PIAT Couple: the P1 function allows a value in the PIAT Classification Space to be swapped with its partner value in a Perfect PIAT Couple, for example P1(94) 14; * P2-Vertical Substitution: a number in a column can be swapped with the number in the same column that is the same distance away from the horizontal axis of symmetry for that column as the number to be swapped.
For example, to calculate P2(37) ,37 is three numbers below the horizontal axis of symmetry in the column in which it is located. 34 is three numbers above the horizontal axis of symmetry in the column in which 37 is located.
This means thatP2(37)=34.
* P3-Horizontal Substitution: a number in a row can be swapped with the number in the same row that is the same distance away from the vertical axis of symmetry for that row as the number to be swapped. For example, to calculate P3(16),l6is three numbers to the left of the vertical axis of symmetry in the rowp,(1)= 7 in which it is located. 61 is three numbers to the right of the horizontal axis of symmetry in t the row P (i) 7. This means thatP3(16)=61.
-128 -To show how these functions can be used to compress data, we can define a first exemplary composite mapping function as = P20 P30 Plo P2. To calculate T1(98), we have: I(98)=P2oP3o P1 oP2(98)= P2° P3oP1(91) = P2° P3(71) P2(17) 12 =91 =71 =17 =12 Because of the symmetry of the mapping functions P1, P2,P3 the inverse composite mapping function of 7, denoted 7' is simply the composite of the same three mapping functions P1, P2, P3 in the reverse order, i.e. 7' = P2o Plo P3° P3. This can readily be seen by considering the pervious example: 7(12)= P2° Plo P3° P2(12)= P2° Plo P3(17) P2° P1(71)= P2(91)= 98.
=17 =71 =91 =98 A slightly better composite mapping function 7 for this numerical example isT2 =P3°P2oP3oP2: 7(98) = P3° P2° P3° P2(98)= P3° P2° P3(91) = P3° P2i9) P3(10) =1 (1)=P2oP3oP2oP3(1)=P2oP3oP2(1O)=P2oP3(l9)=P2(91)=98 Use of this composite mapping function 7 and the PIAT Classification space, which includes the notion of Perfect PIAT Couples, allows significant lossless and reversible data compression because the number "1" requires much fewer bits to store than the number "98" does. The composite mapping function 7 (and its inverse 7) would clearly need to be known in order to determine the route to be navigated through the PIAT Classification Space.
-129 -FIG. 54 shows the FIAT Classification Space for the numbers a between 0 and 255 (256 =28 a byte). Twenty Classification Space Families, Pa(1)=O.*I(1)= 19, represent all of the binary numbers between 0 and 255 (an 8-bit word).
For PIAT Classification Spaces representing 16 and 32 bits (0 to 65535 and 0 to 4294967295 respectively), the number of Classification Space Families increases in the same manner.
FIG. 55 shows the FIAT Classification Space for the numbers a between 0 and 65535, which would represent a 16-bit word. For 16 bits, the number of Classification Space Families increases to 41. The curve represents a pseudo-Gaussian curve of the 16-bit PIAT Classification Space.
Mathematical Boundaries FIG. 56 shows a summary of the mathematical boundaries with conventional techniques in relation to the PIAT Protocol.
The PIAT Algorithm can be used to find the value of a polynomial P(X)at a pointx0(P(x0)), the derivatives of the polynomialP(X)at the poIntx0(P'(x0),...,P(x0)) p(n)( ) and the Taylor coefficients of the polynomial F(X)at that point x0 The PIAT Algorithm can also be used to perform a change of base of numbers, Euclidean polynomial division or polynomial factorisation.
-130 -The PIAT Algorithm can also be used to approximate roots x of polynomials P(x*) =0 and is consistent with the Newton-Raphson method.
The PIAT Algorithm can be used further to calculate binomial coefficients and other values in combinatorics.
The PIAT Algorithm is consistent with Homer's Scheme and can be used to find the values of Pascal's Triangle.
FIG. 57 shows the mathematical consequences of the PIAT Protocol.
The PIAT Algorithm leads to the PIAT Method (and its inverse), which in turn leads to the network of polynomials, polynomial classification methods, the PIAT Classification Space and Perfect PIAT Couples.
The PIAT Algorithm also leads to the PIAT Square (CdP) which in turn leads to calculating and testing of prime numbers (see below) and also to a method of polynomial factorisation.
Further Properties of the Carré de PIA T (CdP) The following formulae, that can be found in the Formula Index with a numerical example, are useful for this part of the description.
The factorial method for calculating the value of,r: (r+c-1)! = [Formula 3] r c!(r-1)! -131 -The horizontal hockey stick method for calculating the value of,r: t = +...+,r +,r [Formula 4] The vertical hockey stick method for calculating the value ofir: = = + + ... + + [Formula 5] The triangular method for calculating the value of,r: = + [Formula 6] The formula for calculatingas a function of ff (the cell in the CdP directly above and to the left): [Formula 7] c(r-1) The symmetry rule: lo «= C «= r -* r-1 r [Formula 8] The formula for calculating r, where ir is on the PIAT Diagonal (i.e. where,r =r): (2r-2)! (2r-2)! = = [Formula 12] (r -1)!(r-1)! [(r-1)!r A variant of the vertical hockey stick method: -132 - [Formula 161 Restricted CdP (CRdPr) Referring to FIG.58, for all r E N, there is a Carré Restreint de PIAT (Restricted Carré de PIAT), denoted CRdPr, the corners of which are uniquely defined by the following four cells of the CdP: ( i. r-i. r-1* 1 \r' r 2 2 It will be observed that the cells in the first column c 0 (i.e. r,°, where r = 1,2,3,...) and the cells in the first row r = 1 (i.e. ,r, where c = 0,1,2,...) do not form part of the CRdP.
The total sum of all of the values,r in the CRdPr, denoted IC11'Ir can be found from one of the cells on the PIAT Diagonal (the set of cells in the form 2aa+I wherea E NU {o}) according to the following calculation: iCRdPI r _2r=h1_2r=(2!_2r=(2?'_2r.
r+1 r!(r+1-1)! r!r! (rI)2 The cell jr is indicated in a dotted box in FIG. 58.
The Dénombrement (number) of cells contained in a CRdPr, denoted DCRdP, can be calculated as follows: -133 -DcR 22 (r-1+2-1)!(r--2+2-1)! ______ (r-1)! + 2 2!(r-1--1)! 2!(r-2-1)! 2!(r-2)! 2!(r-3)! r(r-1)(r_lXr_2)!(2 _r+r2_2r_r+2) 2 2 2 !(2r2_4r+2)r2 -2r+1=(r-1)2 Thus, DcRdp = 2T1 + (r -1)2.
The cells r and r2 are indicated by grey boxes in FIG. 58.
Referring to FIG. 59, a numerical example of calculating I CRdPIr and DCRdP is shown for CRdP3. The cells { ,r,,z,,r}making up the CRdP3 are indicated in grey boxes in FIG. 59.
To calculate CRdP3 using the above formula: r=3-+ICRdPI3 =ir -2x3=20-6=14, or: ______ 6' (2r)! (2x3). ---6= 6x5x4 _6=i_6=20_6=14.
ICRdPI3 -(r!)2 (3/)2 6 (3!)2 3 X 2 xl 6 This can be verified by inspection as: ICRdPJ3 =,r+,r +r +r =2+3+3+6=14.
To calculate DCRdP using the above formula: DCRdP =7r+7r =3+1=4, or: DcR=(r_1)2=(3_l)2=22=4.
-134 -This can be verified by inspection since the cardinality of, or number of elements in, the set {4r,.ir,ir:}is 4 Triangle de P/AT (TdP) FIG. 60 shows the Triangle de PIAT (PIAT Triangle), denoted TdP.
For all r e N, there exists a triangle that is uniquely defined by the following three corner points: (r,;ir';,r;).
As with the CRdP, it will be observed that the cells in the first column c =0 (i.e. r, where r = 1,2,3,...) and the cells in the first row r = I (i.e. ,r, where c 0,1,2,... ) do not form part of the TdP.
The total sum of all of the values r in the TdPr, denoted ITdPL, can be found from the value ir1 on the PIAT Diagonal according to the following calculation: ITdPI = _2T (r+1+r-1)!2r = (2r)!2r = (2r)!2r r r+ r! (r + 1 -1)! r!r! (rI)2 There also exists for all r Na Triangle hors Triangle de PIAT (Complementary PIAT Triangle), denoted ThTdPr. The TdTdPr is uniquely defined by the corner points (2r,;7r;7r') and is the complement of the TdPI. within the CdPr. The total sum of all the values 7t in the ThTdPr can be obtained by the following calculation: ThTdP) =ICRdPI _ITdPI = (2r)! _2r_-I(2 -2'')= 2 -2r.
(r!)2 (r!)2) ICRdPI, -135 -The Dénombrement (number) of cells,r contained in the TdPr can be calculated according to the following formula: D -rx(r-1) 2 TdP -The number of cells contained in the Complementary PIAT Triangle, ThTdPr, can be found by: = DcR. - 1-2) r-1 = DCRj, The sum of the values, on the hypotenuse of the TdPr (and also of the ThTdPr), denoted HTdp, can be obtained from Pascal's Line which can be found within the CdP, for which the sum of all of the values on any liner of Pascal's Triangle is 2', according to the formula: HT&, =2'-2.
The justification for the subtrahend in this expression is because, by definition, the values ir = 1 and,t = 1 (see FIG. 60) both lie on Pascal's Line, but do not form part of the TdP or the hypotenuse of the TdP, FIG. 61 shows a numerical example of how these formulae can be used to calculate various values associated with the TdP3.
The total sum of the values rwithin the TdP3 can be calculated as: r=3_*ITdPI3 =r1-23 =20-8=12, or: -136 -I7'dP13 -8=2O-8=12.
This can also be verified by inspection as: ITdPJ3 +2r+,r =3+6+3=12.
The number of cells in the TdP3 can be calculated as: 3x(3-1) 3x2 DTdp= 2 DTdP = = 3 This can also be verified by inspection since the cardinality of, or number of elements in, the set{r,ir,ir}is 3.
The sum of the values on the hypotenuse of TdP3 can be calculated as: HTdp 2222826 This can be verified by visual inspection as: HTdp =,r+,r =3+3=6.
Divisibility Criterion It is possible to determine whether or not a prime numberc P is a factor of r using the CdP. For all(,r,c,r,c)e N,cis a factor ofriffris not a factor ofrandcis not a factor ofr iffr is a factor of,rc: f(c)div(r) (r)-div(r) wherec «= r -1 (c)-idiv(r) (r)div(,) where c «= r -1 -137 -If r = 15, then we can find the prime factors, ce F, of r as follows.
c=2eP__!==8eN15div(ir1) 2-idiv(15) r 15 15 N= 3div(15) c= 5 eF 11628 = 775.2 5div(15) c = 7 e P h16280 = 7752 e N 15div() 7div(15) r 15 15 c = 13 e p 2T2TIS 20058300 =l337220e N= 15div(zr) 13-idiv(15) r 15 15 The only values of C e P for which (15)-div(ir) are c 3 and C = 5 and so 3 and 5 are the sole prime factors of 15. It is also observed that since 15 has prime factors it is not itself a prime number.
It is interesting to note that when C =1: r 15 15 This leads to a contradiction since 1 is clearly a divisor, and hence a factor, of 15.
The only possible conclusion of this is that I is not a prime number, which is in accordance with the modern definition of a prime number which does not consider unity to be a prime number.
General Criterion of Primality -138 -As the reader will no doubt be aware, a prime number is a natural number {1,2,3,...} which is divisible only by itself and unity. Prime numbers are indicated herein in set notation as r E P, where P is the set of all prime numbers.
For example, seven is a prime number (7 E P) since it is only divisible by one and itself (seven). Ten is not a prime number because, although it is divisible by one and ten, it is also divisible by two and five, both of which are prime numbers. Indeed, the number ten can be written as a product of prime numbers as: 10 = 2 x 5. This expression is called a prime factorisation of the number ten.
It is possible to write a larger number, such as twenty, as a product of natural numbers as, forexample:20=4x5or20=2x10. However, neitherof these is a prime factorisation since four and ten are not prime numbers. The number twenty can be prime-factorised as: 20 = 2 x 2 x 5 =22 x 5.
FIG. 62 shows a system for cyclic PIAT Encryption which makes use of prime numbers. An initial data sequence, typically a binary sequence, is optimised under the optimisation heuristic. This defines an ideal Perfect PIAT PolynomialP(X). The optimisation heuristic allows the binary sequence to be divided into a set of coefficients. .,Aej}OfP(X)rtO realise optimal recovery of the data under the PIAT Protocol, particularly the Inverse PIAT Method.
All of the polynomials (x) that are calculated under the Inverse PIAT Method are coded/encrypted by the XOR operator using prime numbers. These prime numbers result from the sequence of prime numbers (see below). The selection of prime numbers is defined by a private key generated by a random number generator, which -139 -could be a p-RNG (pseudo random number generator) or a q-RNG (quantum random number generator).
The temporary sequence represents a new sequence to compress via the concatenation of n initial polynomials. Compression and encryption are cyclic. The final index memorises the value ofr for the decompression phase at each compression cycle.
The final sequence is defined by the final polynomial(s) that cannot be compressed further by the system in the sense that the size (in octets) of the final polynomial(s) is slightly less than or equal to that of the index.
In general, prime numbers and prime factorisation are important in information technology, most notably in cryptography. For example, the well-known RSA algorithm uses, as a modulus for generating a public and private key, n = p. q where p and q are both large prime numbers. The RSA algorithm relies, in part, upon the difficulty of factorising the large numbern,i.e. the difficulty of finding p andq given n.
For all prime numbers, r E P, it can be shown that all of the values r in the rth PIAT Triangle, TdPr, are divisible byr. Mathematically, this can be written as: r E P,,r E TdP rJ2r, where ajb k E Ns.t.b = ka.
All values on the r line of the TdPr, where 0 < c «= r +1 and r E P, are divisible (r+c-1)! byr. Since,r,. = ,then: c!(r-1)! r+i-i! r! . . . C=1*-*+7rr =" / = r,which is clearly divisible byr 1!(r-1)! (r-1) -140 - = (r+2-1)! (r+1)! (r+lXrXr-1)!((r+lXr-1)"i which is 2!(r-l) 2!(r-1)! 2(r-1)! 2(r-1)! ,J' also clearly divisible byr c-3--*,r -(r+3-1)!_ (r+2)! _(r+2Xr+lXrXr-1)! ((r+2Xr+lXr-1)ñ --3!(r-l)! 3!(r-1)! 6(r-1)! 6(r-1)! which is again clearly divisible by r.
It is clear that all values from c = ito c = r -1 on the line rare divisible by r.
If r e P, then it can also be shown that all values,tC on the previous liner (r -1)of the TdPr are also divisible byr, for all values of c satisfying the inequalityl <c «= r-1: 1 (r-1+1-l)! -(r-1)! =(r-l), which is clearly not divisible byr.
(1)!(r-1-1)! -(r-2)! 2 (r -1 + 2-1)! (r)! r(r -1) rI -14, which is clearly divisible ar-I (2)!(r-2)! (2)(r-2)! 2 2 byr.
It is clear that all values of,r from c = 2 to c = r -ion the row r -1 are divisible byr.
If r E P, then it can also be shown that all values,r on the liner = (r -2)are also divisible byr, for all values of c satisfying the inequality: 2 <c «= r-1: 1 (r-2+1-1)! -(r-2)! =r-2, which is clearly not divisible byr.
r-2 (1)!(r-2-1)! -(1)!(r-3)! 2 (r-2+2-1)! (r-1)! -(r-1)(r-2) -, which is clearly not divisible r-2 (2)!(r-2-1)!2!(r-3)! 2 by r.
-141 - -(r-2+3-1)! -(r)! r(r_1)(r_2)_rf(r_1)(r_2)l which is r_2(3)!(r21)!(3)!(r3)! 3! 6 5 clearly divisible by r.
It is clearthatall values of,rfromc=3 toc=r-lon the row r-2are divisible byr.
In general, it can be shown that ifrEP, then all values,ron the liner =(r-k), wherek «= c <rare also divisible byr, for all values of c satisfying the inequality: k <c «= r -1: -(r-k+c-1)! = (r-k+c-1)x(r-k+c--2)x...x(r-k) -(c)!(r-k-1)! c! lfO<k<c<r,thenc-k--1»=Oandso r-k+c-1»=r. Thus, there is alwaysa value ofron the numerator of each 1Tk. There results a triangular construction, TdPr, which is made up of values ir, all of which are divisible by r, where 0 < c < r -1.
However, if each of the values,r., in the TdPr is divisible by r, then the sum of those values is also divisible by r (i.e. if AIB a/c1 s.t.B k1 A and AIC k2 s.t. C = k2 A then (B + c) A(k1 + k2), which is clearly also divisible by A).
Thus, the General Criterion of Primality can also be expressed by means of a summation of the values r in the TdP,, denoted I TdF, as follows: * VrEP,rIITdIJITdJIO(modr)rdivides the sum of the values,rin the TdPr, or the sum of the values,r in the TdPr is zero (mod r); -142 - * Vr P,ITdPrI -2' O(modr)-r divides 2rrr+l -2', or,r1 -2 is zero (modr); * Vr -2' = -2tJr1 = e(where all,rin TdP e E N) -division of any of the equivalent expressions for finding ITu1irp byr gives a natural numbere(and no remainder).
This can be verified forr = 7 E P by checking that 7 E P (Zi*+1)J e, lTd.I'I,xr whereeE N: (c;+JJ = k=l ____ v=l 7 v=l 7 7 7 7 7 7 7 k=2 _____ v=2 7 v=2 7 7 7 7 7 7 k3 ____ k=4 _____ k5 _____ k=6 ______ k{I...6} >245+131+63+25+7+1=472=eeN.
-143 -Thus, seven is a prime number.
The above summation calculation could alternatively also be determined as follows: (r -2)i 3432-128 = 472 = e e N, where,r1 can be calculated by the factorial, vertical or horizontal hockey stick or triangular calculation methods, or simply by visual inspection of the Cd P1.
These techniques can also be used to show that the number fifteen (which can be prime-factorised as 15 = x is not a prime number.
Recall that r e P (÷1)J e, where e E N. kl v-k r If r = 15, then we need to compute: 15-i 15-1 ( ) 2Tis,+i 6=J ____ + 2 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
--_
43.33 =775.2 =54479.33.130750.4 =643846.66 6=2)(ffi32*I)= )_f!i+!ii÷!ii+ii+!ii+!ii+2zi4÷ . + 0 + + + z v-2 15 2 15 15 15 15 15 15 15 15 15 15 15 15 15 15
--
-37.33 -058.66.370.2 -0808.8 -33161.33 76270.06 -066409.6.346688.66 -69337333 6.3 (233+i) 1 15 p113 + + + + L-+ _ 15 15 15 15 15 15 15 15 15 15 15 15 15 15
-----
-30.33 -121.33.412.53.1237.6.3309.2 -09393.33 =43109.73 -90138.53 =180277.06.346686.66 -643846.66 6=4 4 + 4 + 4 + 4 + -+ 4 2I3l4 15 15 15 15 15 15 15 15 15 15 15 15 15 -----.--.-.- =291.2 =825.06 =2121.6 =5038.8 =11197.33 =23514.4 =47028.8 -144 - + + - _k=5 + + + !IL 7r12 ____i51 v v 5 15 15 15 15 15 15 15 15 15 15 15 = . --- =200.2 =533.86 =1296.53 =2917.2 =6158.53 =12317.06 ) J4 k=6 5-6+1 = = 4 + 4 + 4 + 4 + + + -+ + v=6 15 v=6 15 15 15 15 15 15 15 15 15 15
- _J -
=333.66 =762.66 =1620.66 =3241.33 _______ 15-1( ) 14 k=7 2] v=7 15 v=7 15 15 15 15 15 15 15 15 15 ________ 15-1( ) 14 k=8 158j it11 + _L + v8 15 v=8 15 15 15 15 15 15 15 15 ________ 15-1( ) 14 k=9 iV15941 + + ÷ + + v9 15 v=9 15 15 15 15 15 15 15 ________ 15_1( 14 k=l0 2r510.,) _j) 15 15 15 15 15 15 15 = v=1O _________ 15_i( ) 14 13 14 k=11 v=11 I5 v=ii 15 15 15 15 15 _________ 151ç V 14 k=12 v12 15 15 15 15 15 = v12 ________ 15-1( ) 14 k=13 l5-13+1 v=13 15 v=13 15 15 15 ________ 15-1( 14 k=14 if15 14+1) v=14 15 v-14 15 15 Ic{i...14} 15 225 1695 8625 33755 109845 313335 812185 >-+----+ + + + + + 15 15 15 15 15 15 15 1958253 4456035 9657245 20058195 40116585 77558759 + + + + + + 15 15 15 15 15 -155084752 10338983.47 N -145 - 15-I (15-1 ( V SinceI l5k+1)JNr_15EP k=1 1⁄4-k 15 This is a relatively lengthy calculation and it can be significantly quicker to compute by recalling that: r E p (ir1 -2' )r' = e, where e E N. =TdPI, Calculating: (:+ -2'5-' 155117520-32768 10338983.47 N. Thus,15 p The General Criterion of Primality can also be expressed by means of products: r-I \ r-l / r-1 r-1 (r-l ( v r1 fl(2t'_k+I) I [II fl('-k+1) Vr E HI r-k+1) fl v=k) -k1 v=k J -e, where e E P. k=I v=k r) k=1 -(r-k) -r 7-1 [fi(k+I)J Forr 7, we need to compute the value of [J V=k 7-1 6 rTk1+1) u(;) ,r7Xff7X27X2r7X,r7X,r7 =12545280 k1 v=1 -v=1 _____________________________________ > 7(7I) -76 76 7-I 6 nk2+1) u() x,x,z:x,z.x7j.: k2 v=2 -v=2 _____________________________ > 7(72) -75 = 75 -7-1 6 [I(+i) [I(') k=3 v=3 = v=3 = 7(7_3) 74 74 7-1 6 [I(4+1) H(') k4 v=4 = v=4 = =480 7(7_4) 73 73 -146 -fE(r;_s+1) JJ(r;) 5 6 k5 v=5 -v=5 = ,r3,r3 -12 7(75) -72 72 i1r(;_6+1) fii(;) 6 k6 v=6 v6 7(76) 71 7 kjI...6) >12545280x1026432x 27000x480x12x1 = 2002611886306099200000 EN ThUS,7EP.
Tchebyche if's Theorem Tchebycheff's Theorem was formulated by postulated by the French mathematician Joseph Bertrand in 1845 and proved by the Russian mathematician Pafnuty Tchebycheff in 1850. It states that if n E N,n> 3, then there is at least one prime number between n and 2(n -i). The proof of this theorem is omitted herein.
The P/AT Theorem The PIAT Theorem states that for all r E N, with r > 3, there is always at least one prime number p1 between rand 2r -2 whose associated PIAT Triangle will always intersect with the PIAT Triangle associated with the previous prime number p._1.
Reference is made to FIG. 63 which shows the CdP1 and various PIAT Triangles TdPs associated with the prime numbers 3,5,7,11,13 E P. According to Tchebycheffs Theorem, if r 5, then between r = 5 and 2r -2 2 x 5 -2 8, there exists at least one prime number. 7 is such a prime number and, as can be seen from FIG. 63, its PIAT Triangle, TdP7, intersects the PIAT Triangle, -147 -TdP5, associated with the preceding prime number, 5. The intersection includes the cells,r,4.
Again, according to Tchebycheffs Theorem, if r = 7, then between r 7 and 2r-2=2x7-2=14-2=12,thereexistsatleastoneprime number. 11 issucha prime number and, as can be seen from FIG. 63, its PIAT Triangle, TdP11, intersects the PIAT Triangle, TdP7, associated with the preceding prime number, 7. The intersection includes the cells The consequence of this is that if r E P is a prime number that is strictly greater than 3, then between rand 2r -2 there exists at least one prime number p whose associated PIAT Triangle, TdP, always intersects the previous PIAT Triangle TdPr associated with r. In particular, any cell on the PIAT Diagonal (i.e. cells in the form ir') for which r E P (i.e. in the form n-p) is necessarily in the intersection of its associated PIAT Triangle TdPr and the following Prime PIAT Triangle.
The P/AT Diagona/ (DdP) With reference to FIG. 64, for all r e N, there exists a PIAT Diagonal (DdPr) defined by an infinite number of points such that: DdPT = where r-I (r+r-1-1)! = (2r-2)! = (2r-2)! [Formula 12] (r-1)!(r-1)! (r-1)!(r-1)! [(r-1).'r The Sequence of Prime Numbers According to the General Criterion of Primality and the PIAT Theorem, for all numbers r E N, where r > 3 the prime-factorisation of all of the values r on the PIAT -148 -Diagonal, DdP, will have, as a prime factor, the next prime number immediately greater thanr.
Reference is made to FIG. 65. Forr = 5 e P, the prime-factorisation of,r, which is on DdP is equal to: 7r 70 = 2 x 5 x 7. It follows from this that the next prime number immediately above five is seven.
Forr = 6 P, the prime-factorisation of,r, which is on DdP is equal to: zr = 252 = 22 x 32 x 7. It follows from this that the next prime number immediately above six is seven.
Forr = 7 E P, the prime-factorisation of,r, which is also on DdP is equal to: = 924 = 22 <3 x 7 xli. It follows from this that the next prime number immediately above seven is eleven.
The remarkable consequence of this is that iteration of this process establishes the sequence of prime numbers, one-by-one by the prime-factorisation of all the cells r1 (where p E P) on the DdP.
The PIAT Theorem, thus, gives specific values for which prime-factorisation should be calculated in order to find the next prime number. This is tantamount to saying that given any prime numberp1 E P, it is possible to fine the next prime numberp11 E Pby (P+P-1-1)! (2p.-2)' calculating the prime factors of 2r' = ________ (p1 --1)! [(p1 -l)!]2 -149 -As the value of p. increases, this calculation inevitably requires significantly more computational power. However, it pinpoints the special natural numbers (those on the DdP) that should be prime-factorised to find higher prime numbers. Given the amount of processing time and power that are wasted on trying to prime-factorise numbers that do not lead to higher prime numbers, this approach provides a significantly more efficient method of finding high prime numbers.
At present, the highest known prime number isp1 = 243h12609 -1. Given enough computing power, the next prime number p,1 e Pcan readily be found by computing: 43112609 Z -- 10,T43II26O91 = [((243112609 and then prime-factorising the result. Both 43112609 2 p1 and p41 are prime factors of ir2431126 FIG. 66 shows how the values r' , r E N and r > 3, on the DdP can be used to calculate subsequent prime numbers. For example, it can be seen that when r = 7, = 2 x 3 x 7 xli, which gives the next prime number as seven and when r = 11, r = 22 xlix 13 x 17 x 19, which gives the next prime number as eleven.
The Restricted Criterion of Primality Theorem FIG. 67 shows the Restricted Criterion of Primality Theorem. For all prime numbers r E P, , -1 and,r -lare divisible by r2: rrl rEPi r 2 = r+2 =e,whereeN. r r
-150 -This can be seen by starting with writing r using the horizontal hockey stick method: = = + + ... + + we can write: = = + + ... + + And in particular, v=o byrifrP. This is because {ff, 2,...,,.r_I} are all contained in TdPr and, according to the General Criterion of Primality, all values r in the associated TdPr are divisible byrwhenrEP. r-I
Thus, r =e,whereeeNlfrEP. r 2 r-l
In conclusion, when r -1, i.e. when = ewheree e N, then r E P. For example, taking values of r = i--i 5-1 4 r+1 z5+1 -1 6 -1 126-1 125 = = = =-=5EN5EP r2 52 25 25 25 r=6-)1= ,-i 2r_1 462-i 128N6P r2 62 36 36 ir -1,ri' -1: -1 1716-1 1715 r=7-* = = = = =35N7P r2 72 49 49 49 -151 -r=8-* ir -1 ir -1,r -1 6435-1:1O05EN=8P r2 82 64 64 r=9-,z-1 _____,r-i = 24310-i =300.1N=9P r2 92 81 81 r2 102 100 100 r-1 1 11-1 1 10 1 352716 1 r=ii-Y'_-_11+1 -_12 -= -=2915EN=11EP.
112 121 121 This process can be repeated for increasing values ofrto find high prime numbers or to verify whether a candidate prime number is indeed a prime number.
Fermat's Little Theorem Fermat's Little Theorem is named after the French mathematician Pierre de Fermat who stated it, without proof, in 1640. It was later proved by the German mathematician Gottfried Leibniz some time between 1640 and 1683.
Given a prime numberr E F, then for every natural number, a, we have the congruence:a' a(modr). Forexample, ifr=7 anda=:4, then ar =47 =16384=I2340x 7+ 4. "J. rJ =a
163 80 We can use Fermat's Little Theorem to test whether an integer r is prime. If there is indeed an integera such thata'is not equal toa(modr), then thatris not prime. The problem is that there are numbers, called "Carmichael numbers", named after the American mathematician Robert Carmichael, which satisfy Fermat's Little Theorem, but which are not prime (341, 561, 645, 1105, 1387, ...). Thus, even if the -152 -numberr conforms to Fermat's Little Theorem, it may still not be prime (the converse of Fermat's Little Theorem is false). This test can prove thatris not prime (i.e. if it does not satisfy Fermat's Little Theorem), but not that r is prime.
The PIAT Primality Test, derived from the General Criterion of Primality is valid because it applies to all the values,r which form the PIAT Triangle, TdPr: :+1 -2' 0(modr).
The Restricted Criterion of Primality (opposite sides of TdPr) together with the Primality test based on Fermat's Little Theorem (hypotenuse of TdPr) are based on only some of the values of the PIAT Triangle, TdPr, which makes these tests necessary but not sufficient.
The Carmichael numbers do not satisfy the test under the Criterion of Restricted Primality. For example, with r 341, and are the only two values r1 that are not divisible by 341. This implies, according to the Criterion of Restricted Primality, that 341 is not a prime number and that 11 and 31 are factors of 341: +r 519*2329*3143*173343*347349.351 5*1923*2943*I73*343*347*349.351 N 341 -31*11 -11 341-div(r1) I Idiv(341) 341-I 1 - N I ldiv(341) Right of Primality With reference to FIG. 68, for all r e N, there is a Right of Primality ("Droite de Primalité") denoted DdPM defined by an infinite number of points such that: -153 -DdPM {n'ir,4.ir}, where,r,r. By the rules of symmetry, there is a second Right of Primality DdPM', where DdPM' =
Properties of the Carré de P/AT (Summary)
FIG. 69 shows a summary of the further remarkable properties of the CdP that have been discussed above, including: * Sequence of Prime Numbers * General Criterion of Primality * Restricted Criterion of Primality * The PIAT Theorem * DCRdP = + = DTdp + DThdp * Intersection of two PIAT Triangles * The PIAT Diagonal, DdP * Rights of Primality, DdPM and DdPM' * Vertical and Horizontal Hockey Stick Methods * Compatibility with Tchebycheff's Theorem * Pascal's Line Various modifications will be apparent to those skilled in the art.
-154 -Formula Index Formula I -The value r, indicated by a row rand column c in the Carré de PIAT: * Formula,t,C * Numerical Example -,r = 1716 Formula 2 -Initial values of,r in CdP1: * Formula-,r =,r =1 * Numerical Example -= = 1 Formula 3 -Calculating the value of,r according to the factorial method: (r+c-1)! * Formula -,r = r c!(r-1)! * 617! 6!7! Formula 4 -Calculating the value of r according to the horizontal hockey stick method: * Formula -= + + + + * Formula 5 -Calculating the value of 7T according to the vertical hockey stick method: -155 -r * Formula -= = + + + + v=I * NumericalExample-,r = +r+r+r+r =126 v=I Formula 6 -Calculating the value of,r according to the triangular method: * Formula -+ * Numerical Example -,r ir +,r = 21+35=56 Formula 7 -Calculating the value of z as a function of,r: * c(r -1) * Numerical Example - : =fr::hJx8+62X8+6)] 12x13 =462x!±=1716 6(8-1) 6x7 42 Formula 8 -Rule of symmetry amongst,t,c: [0 «= c «= r * Formula-,r.=ftfl=>c [0«=r«=c= r-I c+1 1 < 6<8 * Numerical Example -= 1716 <7 «= 7 Formula 9 -Algebraic implication of Formula 7: r: :1 (r+c-2)(r+c-1) ]*(r_1)x(c)x[,tc] * Formula--c('r-l) =(r+c-2)(r+c-1)x[ftJ -156 - Ir =8 (8-i)(6)[ir] (8 + 6-2)(8 + 6- * Numerical Example -c=6 7x6xi716=12x13x462=72072 r Formula 10 -Formula for calculating r with an isolated quantity-:
C
(r+c-i)! (r+c-i)(r+c-2)...(r)(r--1)!1 c!(r-i)! 1 * c! c (c-i)! * Numerical Example - (8+6-1)(8 +6-2)(8 +6-3)(8 + 6-4)(8 +6-5) Ir=8 (6-1)! Lc=6 6 4 =-x1287=1716 Formula 11 -Criterion for the divisibility of,r byras a function of c: 1(c)div(r) -(r)-idiv(ir) / c «= r -1 * Formula (c)div(r) (r)div()/c «= r-1 Ir=8 c=5 (8) 8 * Numerical Example -Ir=9 ==18.33N=3div(9) c=3 (9) 9 Formula 12 -Calculating,r where r lies on the PIAT Diagonal (DdP): r-1 (2r-2)! (2r-2)! * Formula r = (r -1)!(r -1)! [(r -i)!]2 * Numerical Example (2x7-2)! =924 (7-1)!(7-1)! -157 -Formula 13 -Relationship between a value n on the PIAT Diagonal (DdP) and r': r-1 (2r-2)! r-2 (2r-3)! * Formula-r =2,z =2 (r-1)!(r-1)! r (r-1)!(r--2)! 6 5 (2x7-3)! * Numerical Example -= 2r7 2 = 924 (7-1)!(7-2)! Formula 14 -Formula for,rT' presented in Formula 9: (r+c-3)! * Formula-ir1 = r (c-1)!(r-2)! 6-1 (8+6-3)! * Numerical Example -ir = 462 -(6-1)!(8-2)! Formula 15 -Variant of Formula 4 (horizontal relationship): * Formula -r =r' 1r-3 * Numerical Example -- =r = = r° +r +,r = 20 c=3 Formula 16-Variant of Formula 5 (vertical relationship): * Formula -z =r' * NumericalExample-,r =r5 =r+r+r+4+4 =126 Formula 17 -Direct Criterion of Primality: -158 - * Formula-e=1/eENand e='21/eeN -1 1716-1 * Numerical Example-35-*35N-->7P 72 49 Formula 18 -Direct Criterion of Primality based upon a variant of Formula 8 (symmetry): r+1 1.r+I -1 * Formula-ern r /eeNande= 2 /eeN r r r' -1 1716-1 * Numerical Example -______ = 35 -35 E N -+7 E P 72 49 Formula 19 -Proof by induction (controlling the divisibility of r by r when r is a prime number: * Formula- (r-k+c -1)! (r-k+c-1)x(r-k+c-2)x(...)x(r-k) r-k (r-k-1)!(c)! c! -2 (r-1+2 -1)! (r)! r(r-l) (i--i) * Numerical Example -,z-= = = = r r-(r-1-1)!(2)! (r-2)!2 2 2 Formula 20-Calculating the value of the hypotenuse HTdP of a FIAT Triangle: * Formula -2 * Numerical Example - -159 -Formula 21 -Criterion of Primality by the hypotenuse of a PIAT Triangle (Fermat's Little Theorem): r _______ 2r_2 (1+1)r_2 * Formula-e= v=0 ____ = /eEN-*rEP r r r * Numerical Example - ________ 2-2 1+1 -2 V0 = =18-*18EN--*7EP 7 7 7 Formula 22-Initial PIAT Polynomial * Formula.P(X) = avXv = acXc + a1X +...+ a1X + a0 * Numerical Example -P(X) = 6X4 + 5X3 + 5X2 + 3X +1 Formula 23-Euclidean Division of P(X)by(x-x0): * Formula-P(X) = ( deg(X-x0) deg(Q(X)) < deg(P(X))A deg(Q(X)) = n-i
* NumericalExample-
P(X) = 6X4 + 5X3 + 5X2 + 3X +1= (X -1)(6X3 +1 1X2 +1 6X +19) +20 Formula 24 -The Homer Method (successive Euclidean division of P(X)by(X -x0): * Formula -x0 P(x0) ax + a1xt + ...+ a2x + a1x0 + a0 x0 F-> P(x0)=((...(a x0 +a 1)r0 +...a2)x0 +a1)0 +a0 -160 -x i-* P(X) a a_1 a_2 a0 _____ axo (acxo + ar_i)x0 Qi (X) + R a axo + a_1 (axo + ai)x0 + a_2 P(x0) _____ axo ((axo+a_i)+axo)xo Q2 (X) I + R2 a (axo + ar_i) + CXO ((ax0 + a1) + ax0 ______ ____________________ +((ax0 +a 1)x0 +a.2)
__ ______ _______ __ __ Q,(X)
d'y 1 x0I-4P(x0):=ax0 =-:=-P(x0) cbr!' p! * Numerical Example -P(X)-_6X4÷5X3+5X2-i-3X÷1 P(X) -20 6X3+11X2+16X+19÷ (X-1)' -(X-1)' P(X) 52 20 6X2+17X+33+ + (X -1)2 (X -1)' (X -1)1 P(X) -6X + 23 56 52 20 + + + (X-1)3 -(X-1)' (X-1)2 (X-1)3 P(X) -29 56 52 20 6+ + + + (X -1) -(X 1)1 (X -1)2 (X -1) (X -i) P(X) ((x -1X(x -1X(x -1X(x -1)6 + 29) + 56) + 52) + 20)

Claims (3)

  1. -161 -CLAIMS1. A method of identifying the prime number immediately greater than a natural number r greater than three, the method comprising: obtaining a first value equal to 2r-2! [(r-1)!] prime-factorising the first obtained value; and identifying in the prime-factorisation the prime factor p, immediately greater than the natural numberras being the prime numberp1 immediately greater than the selected natural numberr.
  2. 2. A method according to claim 1, further comprising: obtaining a second value equal to -2), where p1 is the previously identified (p, -1)!] prime number immediately greater than the natural numberr; prime-factorising the second obtained value; and identifying in the prime-factorisation of the second obtained value the prime factorp,_1 immediately greater than the previously identified prime numberp1as being the prime numberp,1 immediately greater than the previously identified prime numberp, 3. A method of determining whether a prime numberc is a factor of a natural numberr, comprising: selecting the natural numberr; selecting the prime numberc to be strictly between unity and the natural numberr; obtaining a value (pr) using the prime and natural numbers, c, r, the value being (r + c-i)! equal to c!(r-1)! -162 -determining that the prime numberc is a factor of the natural number r if the obtained value is not divisible by the natural numberr; and determining that the prime numberc is not a factor of the natural number r if the obtained value is divisible by the natural number r.4. A method of determining whether natural numberr is a prime number, comprising: selecting the natural numberr; selecting a first prime numberc strictly between unity and the value of the natural numberr, obtaining a value (pr) using the natural numberr and the first prime numberc, the (r+c-1)! obtained value being equal to c!(r-1)! determining that the natural numberr is not a prime number if the obtained value is divisible by the natural numberr; and determining that the natural number r is a prime number if a value equal to (r + -1)! is not divisible by the natural number r for all other prime numbers ê strictly c! (r -1)! between unity and the natural numberr.5. A method of determining the primality of a natural numberr, comprising: selecting the natural numberr; obtaining a value using the natural numberr, the value being equal to (2r-1)! -1; (r-1)!r! determining that the natural numberr is a prime number if the obtained value is divisible by the natural number r; and -163 -determining that the natural numberr is not a prime number if the obtained value is not divisible by the natural number r.6. A method of determining the primality of a natural numberr, comprising: selecting the natural numberr; obtaining a value using the natural numberr, the value being equal to (2r -1)! -1; (r-1)!r! determining that the natural numberr is a prime number if the obtained value is divisible by the square of the natural numberr2; and determining that the natural numberr is not a prime number if the obtained value is not divisible by the square of the natural number r2.7. A method according to any preceding claim, wherein obtaining the value comprises directly computing the value using factorials.8. A method according to any preceding claim, wherein obtaining the value comprises obtaining the value directly from the Carré de PIAT (CdP).9. Apparatus comprising a processor arranged to perform a method according to any preceding claim, a computer program comprising instructions which, when executed, cause a data-processing apparatus to perform a method according to any preceding claim, a computer-readable medium or a signal comprising the computer program.10. A method, apparatus, computer program, computer-readable medium or signal substantially as described herein with reference to Figures 6 to 69.Amendments to the claims have been filed as follows Claims 1. A method of encrypting a data sequence, comprising: receiving a data sequence; generating first and second random natural numbers r1,r2 using a random number generator; using the random natural numbers r1,?to identify two distinct prime numbersp,q by: (2r1 -2)! (2r2 -2)! obtaining a first value equal tori \12 and a second value equal to LV -l)!J -1)!] prime-factorising the first and second obtained values; and identifying in the first and second prime-factorisations the prime factors p,q immediately greater than the first and second random natural numberstj,r2 respectively, S. 55 whereby the data sequence can be encrypted using the prime numbersp,q. * .* * . S S...2. A method according to claim 1, wherein obtaining the first and second *: :: values comprises directly computing the values using factorials.S.....
  3. 3. A method according to claim 1 or 2, wherein obtaining the first and second values comprises obtaining the values directly from the Carré de PIAT (CdP).
GB1007794A 2010-05-10 2010-05-10 Data sequence encryption using primes generated from random natural numbers Withdrawn GB2480259A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1007794A GB2480259A (en) 2010-05-10 2010-05-10 Data sequence encryption using primes generated from random natural numbers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1007794A GB2480259A (en) 2010-05-10 2010-05-10 Data sequence encryption using primes generated from random natural numbers

Publications (2)

Publication Number Publication Date
GB201007794D0 GB201007794D0 (en) 2010-06-23
GB2480259A true GB2480259A (en) 2011-11-16

Family

ID=42315094

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1007794A Withdrawn GB2480259A (en) 2010-05-10 2010-05-10 Data sequence encryption using primes generated from random natural numbers

Country Status (1)

Country Link
GB (1) GB2480259A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186837A1 (en) * 2001-03-26 2002-12-12 Hopkins W. Dale Multiple prime number generation using a parallel prime number search algorithm
EP2104031A2 (en) * 2008-03-21 2009-09-23 Renesas Technology Corp. Data processing system and data processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186837A1 (en) * 2001-03-26 2002-12-12 Hopkins W. Dale Multiple prime number generation using a parallel prime number search algorithm
EP2104031A2 (en) * 2008-03-21 2009-09-23 Renesas Technology Corp. Data processing system and data processing method

Also Published As

Publication number Publication date
GB201007794D0 (en) 2010-06-23

Similar Documents

Publication Publication Date Title
Boyle et al. Function secret sharing for mixed-mode and fixed-point secure computation
Brindha et al. A chaos based image encryption and lossless compression algorithm using hash table and Chinese Remainder Theorem
Meftah et al. Doren: toward efficient deep convolutional neural networks with fully homomorphic encryption
Augot et al. Exhaustive search for small dimension recursive MDS diffusion layers for block ciphers and hash functions
RU2701716C2 (en) Electronic computer for performing arithmetic with obfuscation
CA2855169C (en) Method and system for coding information
CN115906137A (en) Data processing method and device for multi-party secure computing
Barenghi et al. Evaluating the trade-offs in the hardware design of the ledacrypt encryption functions
Huang et al. Automatic tool for searching for differential characteristics in ARX ciphers and applications
Storrier et al. Grotto: Screaming fast $(2+ 1) $-PC for $\mathbb {Z} _ {2^{n}} $ via (2, 2)-DPFs
Krasnobayev Method for realization of transformations in public-key cryptography
Alhassan et al. The Huffman’s method of secured data encoding and error correction using residue number system (RNS)
Ikbal et al. Image block generation from block-based SMRT in colour image encryption and its performance analysis
GB2480259A (en) Data sequence encryption using primes generated from random natural numbers
Greconici Kyber on RISC-V
Stankovic et al. Gibbs characterization of binary and ternary bent functions
GB2480262A (en) An algorithm for cyclic compression and decompression of a data sequence
WO2019120066A1 (en) Fast mode reduction method and medium suitable for sm2 algorithm
Ke et al. An improved emd parallel steganography algorithm
Singh On cross-correlation spectrum of generalized bent functions in generalized Maiorana-McFarland class
RU2708439C1 (en) Computing device and method
Shah et al. Maximal cyclic subgroups of the groups of units of Galois rings: a computational approach
US7539719B2 (en) Method and apparatus for performing multiplication in finite field GF(2n)
GB2480261A (en) An algorithm for cyclic compression and decompression of a data sequence
GB2480260A (en) An algorithm for compressing and decompressing a data sequence using polynomials

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20131017 AND 20131023

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)