You are on page 1of 13

V I T

U N I V E R S I T Y
(Estd. u/s 3 of UGC Act 1956)
Vellore - 632 014, Tamil Nadu, India

School of Information Technology & Engineering


Master of Computer Applications

Xenon Cipher

Software Requirements Specification


1.1

Developed by

ShachiKaul (16MCA0111)
Sharan Sharma (16MCA0132)
Ankit kumar gupta (16MCA0152)

Prepared for
Network Information and Security

Under the guidance of


Prof Dr Sarvanan R.
Assistant Professor (Senior), SITE

Table of Contents

1|Page
1. Existing Algorithms 3
1.1 Key Generation
1.2 Problem 3
2. Modifications made in this Cryptosystem 4
3. Logic/design elements used in the proposed algorithm
5
4. Cryptanalysis of proposed algorithm
4.1 Strength of the algorithm
4.2 Weakness of the algorithm
4.3 Attacks possible
4.4 Attacks impossible
4.5 Benefits
4.6 Drawbacks
5. Applications
6. Performance analysis of proposed cryptosystem by
comparing with the existing systems
7. Program: C/C++/Java code
8. Sample input and Output
9. Conclusion
10. References

1. Existing Algorithms (XENON cipher)


The encryption algorithm in its entirety is going through the file byte-by-byte and
performing a XOR operation on a byte of the file with a byte of the key.
As a result, the encrypted message is a collection of bit-wise differences between
the key and the plaintext message.
16 rounds

2|Page
Key is updated at each encryption operation
Order of encryption and decryption matters so as to avoid keys mismatch.
Key whitening concept is used which provides good security.
In order to encrypt and decrypt files using Xenon you will need two copies of the
same key, one to use for encryption and the other for decryption. It does not matter
which one is used for which operation, only that the one used to decrypt a file is
exactly the same as the one used to encrypt it. The key used to encrypt the file will
be updated during encryption and will not be the same, so to decrypt the copy of
the original must be used.

The algorithm uses a key size of 16, 24, or 32 bytes.


Feistel network structure
Designed for speed, Xenon's round function doesn't use any S-boxes.
Plain text is generally half the size of key size.

1.1 Key Generation


KEY IS CONSTRUCTED FROM ITS ROUND-FUNCTION and is designed to
achieve avalanche property
One round key leakage does not imply its previous round-key leakage.
It doesnt reveal information between one round-key and another unless one finds our
original seed-key bytes.
No duplicate key is generated
Support 3 types of seed-key lengths, 128 bits, 192 bits and 256 bits.
Algorithm:
1. Seed-key loading step
2. Round key generation step with round-function
3. Role-changing step between input-data-pad ad key-pad

As iterating steps2, 3, all round-key words generated successively in 4 words of 32-bits. All data
blocks are of 32-bit word.

3|Page
Figure-1 Initial Seed-Key Loading on Data-Pads

Figure-2 32-bits masking constants, Mask[i]s are listed in a table

For Round-Key generating step and data-pad updating step-

Figure-3

In the above, shaded block denotes function of consecutive Round1 and Round2.

4|Page
1.2 PROBLEM:
As many files such as word documents or html, have required header/footer
contents which may be guessed by an attacker - thus for those bytes, the attacker
would know both the key and the plaintext through guesswork, and if the attacker
knows enough bytes of both key and plaintext they may be able to figure out the
outputs of the randomization algorithm and thus the updated key

2. Extension
1. To overcome a guessing activity of attacker we can increase the key size
2. For this, we can also send cipher text and key text in the same file as the attacker
cannot differentiate between two.
3. Even if plaintext is known, it is impossible to guess the original key So, Shuffling
cipher text after it has been already XORed by using factorial function in figure-4

3.
D
es
ig
n
el

5|Page
ements in the proposed algorithm

For each encryption and decryption a key file is used which should be long
Design of the algorithm is shown in the figure 2

Fig.2 Existing Model

4. Cryptanalysis of proposed algorithm


6|Page
4.1 Strength of algorithm
Key is updated at each encryption operation so the new key cant give any
information of its previous key
Avalanche property helps in making our message more secure as just a one bit
change will lead to extreme changes.
Differential Cryptanalysis concept made Xenon more powerful

4.2 Weakness of the algorithm


The key size may be vulnerable to brutal attacks, hence we will be using more size
of key in enhanced version.
Limited file size (7 times lesser)

4.2 Attacks possible


With the advancing of time and technology, the attacking methods are also getting
advanced day by day. Hence, 128-bit can still be deduced through brute-force
attack

4.3 Attacks Impossible


Guessing key of Modified versions key is difficult due ot its size
(Size directly proportional to security & inversely to performance)
Differential cryptanalysis
Linear Cryptanalysis
Interpolation attack
Chosen plain-text and cipher-text due to byte shuffling

4.4 Benefits
Avalanche property
Differential cryptanalysis
Linear Cryptanalysis
Interpolation attack
BruteForce attack can be prevented

4.5 Drawbacks:
The key used to encrypt the file will be updated during encryption and will not be
the same, so to decrypt the copy of the original must be used.

7|Page
We have to maintain a copy of key generated at each round function for its
respective encryption and decryption

5. Performance analysis of proposed cryptosystem by comparing with


the existing systems

Xenon 1.0 Xenon 1.1

Key size Key size is not File size should be 7


File Size limited as per file times less
size
Random Factor Not introduced Using this increased
the security
Factorial Not introduced Factorial function to byte
function(Byte shuffle the bits to prevent
shuffling)
chosen-plain text or cipher-
text
Key Updation Key is updated after Key is updated at
every round every round after
XORed with random
value makes it more
powerful
Byte shuffling No Yes
6. Program code
6.1 Existing cipher code

6.2 Modified cipher code

8|Page
8. Sample input and Output

9|Page
FILE TO BE ENCYPTED:

10 | P a g e
DECRYPT THE SAME FILE:

11 | P a g e
DECRYPTED FILE:

12 | P a g e
7. Conclusion

Xenon is a robust encryption algorithm where XOR operation is performed byte


by byte on a file with a byte of the key. It is having 16 rounds where key size can
be varied from 16 bytes to 32 bytes and following Feistal cipher structure. Key is
updated at each encryption operation. The decryption of cipher is not the same like
others. We have proposed its modified version 1.7 where the modifications we
made are as:

File size should be 7


times less
Using this increased
the security
Factorial function to byte
shuffle the bits to prevent
chosen-plain text or cipher-
text
Key is updated at
every round after
XORed with random
value makes it more
powerful

10. References

[1] Xenon_V1.0.PDF
[2] Wikepedia.org/XenonCryptosystem

13 | P a g e