Production of a Super-Increasing Sequence based on the Fibonaci Sequence

One shows that we can build a long recurring sequence super-increasing and use it in the cryptographic system based on the Knapsack problem, for example the Merkle-Hellman cipher. Thus, we reduce the size of the key with the same system safety. For this, we have modified the generalized Fibonacci sequence to produce of a super-increasing sequence. This modification was based essentially on the use of real coefficients in the main recursive equation. The result of this, it is the transformation of the public key of the Merkle-Hellman crypto system into a secret algorithm and, for an equivalent complexity.


Introduction
The knapsack problem is one of 21 NP-complete problems of Richard Karp, set out in his Article in 1972 (Karp, 1972;Clark et al., 1996).The formulation of the problem is simple, but its resolution is more complex.However, the singularly structure of the problem and, the fact that it to be present as a sub-problem in other more general problems, make it a subject for the research.It consists to stack objects into a bag, to achieve (if possible) a total fixed weight.More formally, given the integers weights P1... Pn and the goal T, it is to find b1... bn, being worth 0 or 1, such as: T = b1P1 + b2P2 + ... + bnPn If the sequence of Pk weight is a super-increasing sequence (each weight is strictly greater than the sum of all previous), then there exist a simple resolution method (greedy algorithm):
On the contrary, if the sequence of the weight is not a super-increasing sequence, the only known algorithm consists to try successively all the solutions (b1, b2... bn) possible.If the sequence is sufficiently long, it is an impractical algorithm.The knapsack problem is another example of one-way function (for fixed x, the calculation of f(x) is very easy, but the reverse is not possible).It is also used in cryptography as a basis for different encryption schemes.It should be noted that most of these encryption schemes are currently not considered safe.In 1978 (Merkle and Hellman, 1978), Ralph Merkle and Martin Hellman proposed their public key crypto system based on this famous problem.In this work, we try to propose a method based on the generalized Fibonaci sequence (Schneier, 1996) with real coefficients, for the construction of the super-increasing sequence and, use it in the Merkle-Helman cryptographic system.The novelty in this approach is the transformation of this algorithm into a secret-key cryptographic system, with a diminution of the length of the encryption key.
The organization of this work is as follows, Section 2 involves the study of the Merkle-Hellman algorithm and Section 3 provides an overview on the Fibonaci sequence.In Section 4, we propose a method to generate the super-increasing sequence, the originality of this improvement is the use of real coefficients in the generalized Fibonaci sequence, some results are presented in this section and ending in the next section with a conclusion.
Principle of Encryption 1.The message to be encrypted is written in a sequence in the binary form: m1 m2... mn, with mi{0,1}, (if the message is too long, it is cut into blocks of n bits or less).2. Calculate the encrypted C as:

Decryption Algorithm
1. Calculate d =W -1 ×(c mod M), using the extended Euclidean algorithm, 2. Calculate 1, 2,...,n such that d is given by It is very simple to solve this knapsack problem using the following property of bi: The decrypted message is written in a sequence in the binary form, as m1 m2... mn.

Other Example
1.For n = 9, Alice chooses S = (1,3,5,11,25,53,101,205,512), m = 960 and w = 143.The inverse d of 143 mod 960 is 47. 2. For each element ai of S, Alice computes bi = ai*e mod m, to give (143,429,715,613,695,859,43,515,256).By ordering bi, it gets the public key 'knapsack' S '= (43,143,256,429,515,613,695,715,859).• M = 2003 • W = 1289 5.Your public key is: {436, 569, 575, 721, 1030, 1183, 1570, 1586, 1921}. 6.The inverse of (W mod m) is : 317 7. Choose the length L of the encryption block, L should be less than or equal to 9 • L = 5 • L = 8 The text to encrypt is in French, its translation is as follows: "The first public key of cryptosystem, which was proposed by Ralph Merkle and Martin Hellman in 1978, is based on the knapsack problem.There is currently not used, as well as many variations, has been broken by Adi Shamir in the early 80."

Proposal for the Construction of the Super-Increasing Sequence
The crypto systems based on the use of a Knapsack, use a considerable data contained in the latter (Bournon, 1991;Petit, 1982;Karnin and Hellman, 1983;Chor and Rivest, 1988).The generation of these data is tricky.We propose a method to generate a super-increasing sequence (each element is greater than the sum of the above).This generation is based on the generalized Fibonaci sequence.It is only necessary to have four elements to calculate the sequence A super-increasing for any value of N. For this, we take two initial values of the sequence A (starting values A1and A2) with two other real factors α, ß as follows: Ai= Ai-2* α + Ai-1 * ß i≥3 (*) . (Floor: Integer part of Ai )+1)

Condition:
We must have:  1<  2 and α ≤ ß Otherwise, the super-increasing sequence would not be possible.

Examples of the generation of the super-increasing sequence A
1) For this first example we have taken the following four values: The first sequence is: 1 -3 -6-14 -32 -74 -172 -400 -930 -2164 We can check easily that this sequence is super-increasing sequence.
2) Here is a second example that we have changed the two starting coefficients.For this example, we changed the value of both coefficients α and ß We found the sequence: 1 -3 -6 -14 -33 -78 -185 -439 -1042 -2474.We can check that this sequence is super-increasing sequence.
6) In this sixth example we will talk about the deviation rate between the two factors α and ß, so that the sequence A either a super-increasing sequence.

Deduction:
If we Take ß> α so that, the sequence A of n = 10 either a super-increasing sequence, we will require that the following equation be achievable: ß = α  and T < 66.9% (eq.*) 7) In this seventh example, we will choose α and T, one way to obtain ß (eq.*) with T=52% so that, the sequence A either a super-increasing sequence.
8) We will change the value of T = 72% and we will check if the sequence A is a superincreasing sequence.
Remarks: Recent research dealing with this crypto system (Agarwal, 2011;Lokeshwari et al., 2011), they use systematically of any super-increasing sequences, without any details of their origin.
This proposal for the generation of a super-increasing sequence A of n elements, allowed us to gain in the fields of encryption key: we have 4 values for the A generation, plus 3 values for M, W and N. We have only 7 values for our proposal compared to the original method which requires (n+3) values.
The proposed method produces elements of the super-increasing sequence, in a manner recurring and adds the random characteristic to the latter.

Conclusion
We have transformed the public key cryptosystem of Merkle and Hellman in a secret key algorithm and for an equivalent complexity.
In the proposed algorithm, the size of the secret key encryption and the number of different values that can be used in the encryption process are set as follows: Therefore, the key space is greater than: 10 16 x 10 16 x 128 x 128 x 64 x 64, (with 10 3 2 10 ), in this case there will be a key field of the order of 2 132 , Thus, the encryption key length is 132 bits, and it is huge.
Therefore, the encryption algorithm has a very large key space to withstand all kinds of brute force attacks.Also, by this process we reduced the number of bits used in the old cryptosystem because a practical implementation must been contain at least 200 terms and each term should be 200 bits.