A S UGGESTED S UPER SALSA S TREAM C IPHER

: Salsa (20) cipher is speedier than AES cipher and its offered superior security. Salsa (8) and Salsa (12) are specified for apps wherever the grade of security is less necessary than speed. The concept of this research is to suggest super salsa keystream utilizing various volumes matrices size (array (4, 4), array (4, 8), array (4, 16)) are used to increase the complexity of key stream and make it more reluctant to linear and differential attacks. Furthermore, in each iteration, the diffusion of generated keystream will increase due the effect of changing the volume acting for one element of the array is not fixed. The generated keys of the suggested Super SALSA keystream are depicted as simple operations and a high hardiness randomly keystream by exceeding the five benchmark tests. Likewise, it's presenting a situation of equilibrium between complexity and speed for Salsa (8, 12 and 20).


I. INTRODUCTION
Ciphering procedures are mostly categorized into two forms: The 1st form is a block cipher indicates the procedure of the cipher by splitting each original data into sequential blocks and every block is encrypted by utilizing identical key [1], [2].The 2 nd form is a stream cipher indicates the procedure of the cipher by utilizing XOR function between the original data and key random series for getting the cipher data.The cipher and decipher procedures of stream cipher can be exhibited in the subsequent equations respectively [3].
Where  indicates mod by 2, C [s] is indicates the cipher data bits, K [s] is indicates the key random series bits, O [s] is indicates the original data bits and S is 1 bit at a same time.Focusing on eq. 1 and eq. 2, the cipher and decipher together, required to fit to use identical seed key to produce the identical keystream series K [s] as shown in figure (1) [3].The alteration of keystream series will not let any assign a guide to the adversary to break the cipher data by providing a style of keystream would cannot be recurring [4], [5].

Fig1: Stream Cipher [3]
The stream ciphers are mostly categorized into two areas: software environment and hardware environment.It is an obvious, the robustness of the stream ciphers according to the keystream provider and can be evaluated in expressions of complexity, correlation and randomness [6].A stream cipher is the most significant encryption procedures in pioneer scope: real time apps, military side, wireless sensor network, strategic regions, Bluetooth and mobile communications, etc.Because pioneer scopes have vast resource utilization and bounded cooperating with bandwidth [6].In hardware, a stream cipher is mostly quicker than a block cipher, in addition, Stream cipher more suitable when memory is limited.Likewise, it has pros such as no error propagation and less complexity [7].Moreover, Stream cipher is specified with expeditiously processing than block ciphers [8], [9].

Salsa (20)
Salsa (20) is stream cipher utilized counter mode for encryption procedure.The initial seed of Salsa (20) is an array (4, 4) with 512 bits as illustrated in figure (2).In each round of Salsa (20), ninety-six word operation has done, i.e.Forty-eight word operation for first changing followed by forty-eight word operation for second changing.Forty-eight word operation is calculated by multiplying sixteen word operation with three operations (addition, XOR and rotation).For 10 rounds, the total of operations is nine hundred and sixty word operations.At the end of the salsa (20), nine hundred and sixty word operations plus sixteen word operation conclude hundred and seventy-two word operations in total for one encryption [11]

II. RELATED WORK
Many different papers are utilized to develop salsa (20), In [12], developed a modern procedure of salsa(20) by gaining swifter diffusion than the basic Salsa(20) according to chaos theory.Utmost of the experiences illustrated a modern procedure of two iterations is swifter than the basic four iterations, however it exhibits same diffusion grade.In [13], the array (4, 4) of Salsa (20) with 512 bits is altered to array (3,3) of Salsa (20) with 576 bits, i.e.Each location in the array of Salsa (20) is utilized 64 bit words and in each iteration, changing their locations by applying nine operations, it led to more diffuse than the basic Salsa (20).Many different papers utilized to broken salsa (20), In [14] Crowley is reported attack on Salsa(20/5) by utilizing three iterations differential with alleged 2 165 attempts and his award one thousand dollars .The adversary tries forwards on a short known original difference upon bias bit three iterations later, and tries two iterations backwards from a result in accordance with estimating one hundred and sixty pertinent key bit.In [15], reported attack on Salsa(20/6) and swifter attack on Salsa(20/5) by utilizing four iteration differential with alleged 2 177 attempts.The adversary tries forwards on a short known original difference upon bias bit four iterations later, and tries two iterations backwards from a result in accordance with estimating one hundred and sixty pertinent key bit .In [16], reported attack on Salsa(20/7) and swifter attack on Salsa(20/6) by utilize four iteration differential with alleged 2 190 attempts.The adversary tries forwards on a short known original difference upon bias bit four iterations later, and tries three iterations backwards from a result in accordance with estimating one hundred and seventy-one pertinent key bit.In [17], reported attack on Salsa(20/8) with alleged 2 249 attempts and swifter attack on Salsa(20/7) with alleged 2 153 attempts.The adversary tries forwards on a short known original difference upon bias bit four iterations later, and tries four iterations backwards from a result in accordance with estimating two hundred and twenty-eight pertinent key bit.
Concerning , salsa (20) that is debated at the top, the contribution of this work is manifesting super salsa keystream generator , the array (4, 4) of Salsa (20) with 512 bits is altered to array (4, b) of three versions of Salsa (8/12/20) with 512 bits for presenting a situation of equilibrium between complexity and speed.Furthermore, in each iteration, the diffusion of generating the keystream will increase due the effect of changing the volume acting for one element of the array (4, b), i.e.The represented volume of each element in the array (4, b) is not fixed.

III. A SUGGESTED SUPER SALSA STREAM CIPHER
For encrypted data, the essential basics of the salsa ( 20 In each iteration, the parameter (b) is selected according to the super key.The super key contains set of b parameters with versions (8,12,20) and it's generated randomly, securely among session members.

IV. RESULTS OF SUGGESTED KEYSTREAM GENERATOR
The suggested Super SALSA keystream generator has been analyzed and implemented by utilizing C++.The level of randomness of the Super SALSA keystream generated has been estimated by checking the five benchmark tests as interpreted in Table (1).

V. CONCLUSION
This paper suggests Super Salsa Keystream Generator with robust construction, according to utilizing an array with (4, b) size instead of utilizing an array with (4, 4) volume of salsa (8,12,20).Presenting a situation of equilibrium between complexity and speed.Also, the diffusion of generating the keystream will increase due the effect of changing the volume acting for one element of the array (4, b) in each iteration.When b is equal to 4 that means the size of each element is equal to 32 bits, when b is equal to 8 that means the size of each element is equal to 16 bits, while, b is equal to 16 that means the size of each element is equal to 8 bits.Furthermore, utilizing various volumes of size of matrices of super salsa is guide to increase complexity of key stream and make it more reluctant to linear and differential attacks.Its need for 2 512  Probable keys to break super salsa, which is guided to not utilize brute-force attacking due to its unwieldy procedure in this situation.In addition, the randomness of the Super SALSA keystream has successfully exceeded the five benchmark tests.

Fig 2 :
Fig 2: Array of Salsa (20) distribution The basic operations in salsa (20) are "edition, XOR and rotation" as shown in figure (3) which are applied on an Array of Salsa (20) for 10 rounds.Each round, the Array of Salsa (20) is changed a twice, so it's called Salsa (20).At the end of the salsa (20), addition operation is utilized between the final adjust of Array of Salsa (20) and the initial

Fig3:
Fig3: Operations of Salsa (20): a.First Changing.b. Second Changing [10]In each round of Salsa (20), ninety-six word operation has done, i.e.Forty-eight word operation for first changing followed by forty-eight word operation for second changing.Forty-eight word operation is calculated by multiplying sixteen word operation with three operations (addition, XOR and rotation).For 10 rounds, the total of operations is nine hundred and sixty word operations.At the end of the salsa (20), nine hundred and sixty word operations plus sixteen word operation conclude hundred and seventy-two word operations in total for one encryption[11] ) have been analyzed to establish the suggested Super SALSA keystream generator.Three versions of the Super SALSA keystream generator are suggested, these versions (8,12,20) are utilized array with (4, b) size instead of utilizing an array with (4, 4) size as interpreted in algorithm (1), algorithm (2) and algorithm (3).The (4, b) size of array is ultimately summarized into:  b= 4 the size of the array is (4 by 4), each item in this array is acted by 32 bits, the array consists of key (k1 to k 8), nonce (n 1, n 2) and constant (ct1 to ct4) and counter (cr1, cr2) as illustrated in figure (4.a). b = 8  the size of the array is (4 by 8), each item in this array is acted by 16 bits, the array is consist of key (k 1 to k 16), nonce (n1 to n4) and constant (ct1 to ct8) and counter (cr1 to cr4) as illustrated in figure (4.b). b= 16 the size of the array is (4 by 16), each item in this array is acted by 8 bits and the array is consist of key (k1 to k32), nonce (n1 to n8) and constant (ct1 to ct16) and counter (cr1 to cr8) as illustrated in figure (4.c).