Encryption - The KAARE Algorithm

   The Basic Idea

I n its most stripped form, the idea is to create a convergent series out of a double (mirrored) algoritm. There are open convergens and hidden convergens. The open convergens can be seen in a value, which is sent from one part to the other and back again, over and over. Because the initial settings on each side are unknown for a third part, who listen to the communication, the hope is that their settings will somehow develop a little bit before what this third part are able to extract from the running value, x. There also is a ambition to make the calculations necessary to extract hidden values from x as hard as possible - in reality impossible. The final x must not tell about the hidden values and the information from the developing series of 10000 loops is unsurmountible for a hacker. No simple equations can solve the problem because the hidden values which interact with x are continously changing.

   My initial thoughts

O nce, I though about the double algoritm:

y = x^k + xl

B oth parts chose their k and l randomly (whithin good ranges). Then one part is changing his k, the other part his l, according to the y which the other part says correspond against a for each information turn (loop) given random x. So x and y is open, x randomly generated by the sending part and y calculated from the same part. The recieving part accomodes his not fixed value k or l according to x, y and his fixed k or l. Then the recieving part come up with a new x, calculate the y with his parameters and sends his information. The parameters k and l are continiously upgraded until they converge. Each communicating part have half of the parameter information exact and will hopefully be some decimals before a listening part when developing his hidden parameter.

T he problem is that they will not converge well for most kinds of algorithms as the one above. Of course several combinations of k and l, where they act as complements, can satisfy one equation with a given y and x, and the routine with upgraded equations will fail because of the inconsistent k and l, which are not fixed from one time to another on each side. Two equations with fixed parameters will be an given pray for a third, listening part.

   The actual algorithm

W ith a good algorithm both parts can develop their parameters simultaniously without keeping any essential value fixed. Some parameters are working at the difference between x(n) and x(n+1), others develops according to the difference between x and the returned x in the opposite direction (foremost add[part] in the simulation script). By coupling, also the hidden parameters converge, but in a unpredictable fashion.


B y making a list of simulation inputs-outputs you can ensure that it is not possible to go from the open value x to the hidden values with a accuracy which come close to the accordance in the hidden values from part0 to part1. Neither should the difference between the x values in the opposite directions provide such informations. You can sort the list of output with respect to final x. With many simulations it become obvious that the parameters will not be sortable according to the same list, although there is a raw tendence in this direction.


Y our use of the JavaScript, simulation software on this web site, or any other recognizable content on the web site, except as provided in this licence, is absolutely prohibited. You acknowledge that any authorized representative may enforce the intellectual property rights of this software and the algorithm. You agree not to open, read or disclose the source code of the JavaScript, simulation software on this web site, or to allow others to do so, except to the extent given by your development of own software in accordance with this licence.

T his licence allow you any use and development of the algoritm which is in accordance with the following rules:

  1. The developed encryption systems must from start and continously upon then have the word "KAARE", "KÅRE" OR "KARE" included in their commersial names. The use of capitals in the word is optional.
  2. If rule 1 is not met, any income from sales of systems or software, developed upon the KAARE-algorithm, and earned the date 28/8 (my birthday) each year, must be sent to me. My contact information is given on the internet site http://karelma.com/ Please contact me for further information.
  3. You agree to hold me harmless from any consequences of, and you accept not to rise any claims based on, your use of this software.

   Kåre Andersson


how_many_loops    initial x value

startdisplay    enddisplay

add[0]    add[1]

ref1[0]    ref1[1]
ref2[0]    ref2[1]

d[0]    d[1]

mult[0]    mult[1]

v1[0]    v1[1]
v2[0]    v2[1]
v3[0]    v3[1]
v4[0]    v4[1]
v5[0]    v5[1]

    How many simulations?     Hide NaN results?