Report

advertisement
Design and Analysis of SVKT Block Cipher
1. ABSTRACT
The most commonly used cryptosystem is DES. DES created a revolution in the field
of cryptography when it was first announced. However, the advancement in the cryptanalysis
techniques has rendered this technique as a weak algorithm. The original DES used a 64 bit
key and followed the standard Feistel cipher methodology in which the message was divided
into two parts and operations of permutation and substitution were performed on it. The key
schedule of the standard DES and its improved versions is easily obtainable because the
permutations are very simple. In this project, we have introduced a better and improved DES
in which we use a 112 bit key instead and also divide a 96 bit message block into 3 subblocks and use 2 functions f1 and f2 in each round. Each function uses different key (K1 and
K2 respectively). For the key schedule, we perform SHA 2 hash function on the initial key
and also successive rounds. Each hash value is 512 bit and is partitioned into 4 keys that can
be used for four successive rounds of the 3 block DES. The time required for cracking the
algorithm increases. This makes the key schedule much stronger. Dividing the message block
into 3 blocks instead of 2 and applying 2 different functions f1 and f2 at each round with two
different round sub-keys improves the complexity further. We also perform cryptanalysis of
our algorithm to test its strength using Cryptool. Also, we use established cryptanalytic
practices used to crack DES and attempt to make our algorithm invulnerable to such attacks.
Finally, we perform performance analysis of our algorithm, and establish a comprehensive
comparison of DES and our proposed algorithm.
Department of Computer Engineering, DJSCOE
Page 1
Design and Analysis of SVKT Block Cipher
2. REVIEW OF LITERATURE
The main base for our improved algorithm is the Data Encryption Standard. We referred
to some white papers on the original algorithm. DES (Data Encryption Standard) was the first
encryption standard to be recommended by NIST (National Institute of Standards and
Technology). It was developed by an IBM team around 1974 and adopted as a national
standard in 1997. The algorithm processes with an initial permutation, sixteen rounds block
cipher and a final permutation. DES application is very popular in commercial, military, and
other domains in the last decades. A major weakness of DES is its key schedule. Thus, as a
solution, we will be using SHA 2 to make the key more secure against cryptanalysis.
In cryptography, SHA-2 is a set of cryptographic hash functions (SHA-224, SHA-256,
SHA-384, SHA-512) designed by the National Security Agency(NSA) and published in 2001
by the NIST as a U.S. Federal Information Processing Standard. SHA stands for Secure Hash
Algorithm. SHA-2 includes a significant number of changes from its predecessor, SHA-1.
SHA-2 consists of a set of four hash functions with digests that are 224, 256, 384 or 512 bits.
In 2005, security flaws were identified in SHA-1, namely that a mathematical weakness
might exist, indicating that a stronger hash function would be desirable. Although SHA-2
bears some similarity to the SHA-1 algorithm, these attacks have not been successfully
extended to SHA-2. SHA 2 is a very strong algorithm used to compute a 512 bit hash value.
We will be using it for our key schedule in the modified DES rounds.
We also came across a white paper of modified DES (The improved Data Encryption
Standard (DES) Algorithm – by Sueng-Jo Han and Jongan Park). This paper describes an
enhanced DES algorithm in which the message block is divided into 3 sub-blocks and the
Feistel technique is slightly modified and applied to it. The complexity of the algorithm is
increased and hence its security. Thus, we have combined several improvements and have
changed the key schedule to make a new algorithm altogether.
Department of Computer Engineering, DJSCOE
Page 2
Design and Analysis of SVKT Block Cipher
3. PROBLEM DEFINITION WITH SCOPE OF THE PROJECT
The aim of this project is to minimize the weaknesses of the Data Encryption Standard.
3.1 Algorithm
The DES algorithm is insecure primarily due to the following reasons:
-
Small key length: 56 bits
-
Susceptible key schedule: The user password directly becomes the key for the first
round
-
Vulnerability to S-boxes to linear and differential cryptanalysis
By doubling the key length, changing the internal operation and fortifying the key schedule
using the SHA-512 algorithm for initial key generation, the proposed algorithm removes
several of DES’s known vulnerabilities. Splitting the 512-bit hash key into four parts also
ensures that consecutive round keys are not interdependent.
3.2 Scope:
The proposed algorithm can replace DES in multiple applications, especially the ones
requiring additional security. It can be used in innumerable areas of information security and
networking. Today, several new types of attacks like linear cryptanalysis and differential
cryptanalysis have made existing algorithms weak and vulnerable. SHA 2 is a very strong
hash function and will make it very difficult to crack. Thus, this algorithm can be used for
securing important information that is accessed over the internet. It can also be used on a
small scale such as securing confidential information within a company or organization.
Department of Computer Engineering, DJSCOE
Page 3
Design and Analysis of SVKT Block Cipher
4. PROPOSED SYSTEM
4.1 Pre-encryption
Initially the user enters a password which will be used as the input to our key generator. The
password can be of any length, but will generate only a 512-bit message digest. SHA-2
operations are performed on it to generate a new 512 bit hash key.
Figure 1 : SHA-512 internal working
One iteration in a SHA-2 family compression function. The blue components perform the
following operations:
>>> represents rotate right and the number corresponds to the number of bits rotated.
The 512 bit hash key produced will be divided into 4 parts of 128 bits each.
Department of Computer Engineering, DJSCOE
Page 4
Design and Analysis of SVKT Block Cipher
4.2 Key Schedule
This hash key is divided into 4 128-bit keys, which will be used for the first 4 rounds. This
eliminates a DES weakness of interdependence of round keys. After every 4 rounds, the keys
are modified using the SHA-2 algorithm. Decryption can be achieved by simply reversing the
encryption steps.
4.3 Internal working of SVKT rounds
Instead of the standard 56 bit DES, we will use a 112 bit key. Also, our modified DES
algorithm will be able to encrypt 96 bits of data at a time as against 64 bit in the earlier
versions. Instead of the standard feistel cipher technique, we will make a few additional
changes as follows:
Figure 2 : SVKT round structure
Department of Computer Engineering, DJSCOE
Page 5
Design and Analysis of SVKT Block Cipher
1) The 96 bit block will be divided into 3 blocks of 32 bits each (A, B, C).
2) We will use S3 S-boxes (S1 to S8) as shown below.
3) In each round, the generated 128 bit key is divided into two parts (k1 and k2) and the
appropriate function is performed.
4) The same function is used with two different 56 bit keys (reduced from 64 bit) is used in
each round.
5) The operations are as follows:
Encryption:
A(i) = B(i-1)
B(i) = C(i-1) exor f(B(i-1), K(2,i))
C(i) = A(i-1) exor f(B(i-1), K(1,i))
Decryption:
A(i-1) = C(i) exor f(A(i), K(2,i))
B(i-1) = A(i)
C(i-1) = B(i) exor f(A(i), K(1,i))
f1(B(i-1, K(1,i)) = P(S1(D1)…..S8(D8))
f2(B(i-1), K(2,i)) = P(S1(D9),….S8(D16))
We will perform the SHA 2 algorithm at the end of every four rounds as a part of our key
schedule. We will perform 16 or 8 rounds of modified DES Feistel technique, depending on
the user’s requirements of speed and security.
Since we are using SHA 2 for the key schedule after slightly modifying it, it serves to
increase the security of the key and makes it less vulnerable to attacks.
S3 DES S-boxes
These S3 DES boxes have been taken from the IEEE paper ‘Reconstruction of s2 DES Sboxes and their Immunity to Differential Cryptanalysis’. The paper proves that these S-boxes
are designed using a criteria which makes them immune to Differential Cryptanalysis without
changing the internal structure of the algorithm.
Department of Computer Engineering, DJSCOE
Page 6
Design and Analysis of SVKT Block Cipher
Department of Computer Engineering, DJSCOE
Page 7
Design and Analysis of SVKT Block Cipher
5. PROJECT MANAGEMENT
5.1 Schedule
5.1.1 Work Breakdown Structure
TASK
Start
End Date
No. of days
Date
Research Work
Referring to IEEE papers
Understanding existing algorithms
Study of Cryptography
Selection and consolidation of
suitable algorithms
Analysing strengths and weakness of
selected algorithms
Modification
Selecting areas to strengthen
Studying strengthening methods
Select and modify existing methods
Merge modified methods and finalize
algorithm
Algorithm Implementation
Select Platform
Create Round functions
Create function for Key Schedule
Merge created functions
Cryptanalysis
Find tools to analyse existing
algorithm
Study tool
Analyse results
User interface
Design GUI using developed
algorithm
Select platform of implementation
Coding
Testing
Debugging
Documentation
Project Report
UML diagrams
08/08/12
08/08/12
08/17/12
08/27/12
08/27/12
08/24/12
08/17/12
08/24/12
09/14/12
09/07/12
13
8
6
15
10
09/09/12
09/14/12
6
09/16/12
09/16/12
09/21/12
10/01/12
10/13/12
10/19/12
09/21/12
09/28/12
10/12/12
10/19/12
26
6
6
10
6
01/10/13
01/10/13
01/12/13
01/16/13
01/22/13
01/29/13
01/29/13
01/28/13
01/11/13
01/16/13
01/21/13
01/28/13
02/18/13
02/06/13
13
2
4
4
5
15
7
02/07/13
02/14/13
02/22/13
02/22/13
02/14/13
02/18/13
03/28/13
02/25/13
6
3
25
2
02/25/13
02/27/13
03/14/13
03/21/13
03/28/13
03/28/13
03/29/13
02/26/13
03/14/13
03/21/13
03/28/13
03/30/13
03/29/13
03/29/13
2
12
6
6
2
2
1
Figure 3 : Work breakdown structure
Department of Computer Engineering, DJSCOE
Page 8
Design and Analysis of SVKT Block Cipher
5.1.2 Timeline Chart
Table 2 : Timeline chart
Department of Computer Engineering, DJSCOE
Page 9
Design and Analysis of SVKT Block Cipher
5.2 Estimation (COCOMO & function point)
We will be using basic COCOMO as the cost estimation model for quick, early and rough
order of magnitude estimates of software costs. COCOMO uses 3 levels of project
complexity:
1. Organic project
2. Semi-detached project
3. Embedded project
Our project can be classified as a semi-detached mode project.
The equations in this model are:
E = ab(KLOC)bb
D = Cb(E)db
P=E/D
Where: E is the effort applied in person-months,
D is the development time in chronological months.
KLOC is the kilo-lines of code
The coefficients ab, bb, cb, db for semi-detached mode are as follows:
ab = 3.0
bb = 1.12
cb = 2.5
db = 0.35
Now, we assume that the estimated kilo-lines of code in our project are 5KLOC.
Effort Estimation:
E = 3.0 x (5)1.12
Department of Computer Engineering, DJSCOE
Page 10
Design and Analysis of SVKT Block Cipher
= 18.19
= 19 person-months approx.
Duration estimation:
D = 2.5 x (19)0.35
= 7.01
= 7 months approx.
Persons Estimation:
P = 19 / 7
= 2.72
= 3 persons approx.
a. FUNCTION POINT:
Considering average weighting factor for the project we have,
Number of user inputs=1
Number of user output = 1
Number of user enquiries = 0
Number of files = 5 (code, input, key, output, UI)
Number of external interfaces = 1
Count total = (1*4+1*5+0*4+5*10+1*7) = 66
Some of the countable measures considered are:
1.
Does the system require reliable backup and recovery?
2.
Is performance critical?
3.
Are the input, outputs, files or inquiries complex?
4.
Is the internal processing complex?
5.
Is the code designed to be reusable?
Department of Computer Engineering, DJSCOE
Page 11
Design and Analysis of SVKT Block Cipher
6.
Are conversions and installation included in the design?
7.
Is the system designed for multiple installations in different
organizations?
By assigning weights to these measures we have,
Function Point (FP) = Count total * (0.65 + (0.01 * sum(measures))
FP = 66 * (0.65 + (0.01 * 24)) = 59
5.3 Project Resources
5.3.1. Minimum Hardware requirements

128 MB RAM

300 MB of free Hard Disk Space (for JAVA installation)

Pentium 2 266MHz processor
5.3.2. Minimum Software requirements

Java development Kit (JDK)

Any Operating System with JAVA support

Cryptool
5.3.3. Operating environment

Any Operating System with JAVA support
Department of Computer Engineering, DJSCOE
Page 12
Design and Analysis of SVKT Block Cipher
6. PROJECT DESIGN
6.1 System Architecture
Figure 4 : System Architecture
Department of Computer Engineering, DJSCOE
Page 13
Design and Analysis of SVKT Block Cipher
6.2 Design Diagrams
6.2.1. Control flow
START
STOP
Figure 5 : Control flow
Department of Computer Engineering, DJSCOE
Page 14
Design and Analysis of SVKT Block Cipher
6.2.2. Use case diagram for application:
Figure 6 : Use case diagram
6.2.3. Activity diagram for application
Figure 7 : Activity diagram
Department of Computer Engineering, DJSCOE
Page 15
Design and Analysis of SVKT Block Cipher
6.2.4. Sequence Diagram
Figure 8 : Sequence diagram
6.2.5. State Transition Diagram
Figure 9 : State transition diagram
Department of Computer Engineering, DJSCOE
Page 16
Design and Analysis of SVKT Block Cipher
6.3. Data Design
6.3.1. Data flow diagram
Figure 10 : Data flow
Department of Computer Engineering, DJSCOE
Page 17
Design and Analysis of SVKT Block Cipher
7. PROJECT IMPLEMENTATION
7.1 Graphical User Interface design
Figure 11 : GUI
There are four sections in the user interface.
1. Text Area 1 – In this the user needs to enter the plain text which is to be encrypted.
2. Text Area 2 – In this the user needs to enter the key/password which is to be used to
encrypt the pain text.
3. Text Area 3 – This is used to display the rounds performed in the algorithm. It
displays the cipher text in BITSTRING and HEX after each round. At the end of the
algorithm, it displays the encrypted text in hex and also the decrypted text.
4. Text Area 4 – This is used to display the keys that are used in each round. If there are
multiple blocks of the plain text, then it displays the round keys of each block. This
Department of Computer Engineering, DJSCOE
Page 18
Design and Analysis of SVKT Block Cipher
section is also used to display the 4 keys generated by SHA-512 after each of its
execution.
7.2 Code
//Key Generator
public static String calc(String t) throws Exception{
MessageDigest digest = java.security.MessageDigest.getInstance("SHA-512");
digest.update(t.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++) {
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
}
//In Round function
public static String func(StringBuffer msgblock,StringBuffer key)
{
String temp=key.toString();
String t=new BigInteger(temp,16).toString(2);
while(t.length()<64)
{
t="0"+t;
}
StringBuffer k1=new StringBuffer(t);
StringBuffer key1=new StringBuffer();
StringBuffer key2=new StringBuffer();
StringBuffer msg1=new StringBuffer();
//Performing PC1
for (int i=0;i<56;i++)
{
key1.append(k1.charAt(PC1[i]-1));
}
for (int i=0;i<48;i++)
{
key2.append(key1.charAt(PC2[i]-1));
}
for (int i=0;i<48;i++)
{
msg1.append(msgblock.charAt(expandTbl[i]-1));
}
Department of Computer Engineering, DJSCOE
Page 19
Design and Analysis of SVKT Block Cipher
BitSet msg=new BitSet(48);
for(int i=0;i<48;i++)
{
if(msg1.charAt(i)=='1')
msg.set(i);
}
BitSet keybits=new BitSet(48);
for(int i=0;i<48;i++)
{
if(key2.charAt(i)=='1')
keybits.set(i);
}
keybits.xor(msg);
StringBuffer result=new StringBuffer();
for(int i=0;i<48;i++)
if(keybits.get(i))
result.append("1");
else
result.append("0");
//Substitution 48 to 32 bits
String finalresult="";
for(int i=0,j=0;j<8;i+=6,j++)
{
int x=0;
int y=0;
if(Integer.parseInt(""+result.charAt(i))==1)
x+=2;
if(Integer.parseInt(""+result.charAt(i+5))==1)
x+=1;
if(Integer.parseInt(""+result.charAt(i+1))==1)
y+=8;
if(Integer.parseInt(""+result.charAt(i+2))==1)
y+=4;
if(Integer.parseInt(""+result.charAt(i+3))==1)
y+=2;
if(Integer.parseInt(""+result.charAt(i+4))==1)
y+=1;
int z=sboxes[j][x][y];
StringBuffer bitstring=new StringBuffer();
while(z!=0)
{
bitstring.append(z%2);
z/=2;
}
bitstring.reverse();
String bitstringfinal=new String(bitstring);
while(bitstringfinal.length()<4)
bitstringfinal="0"+bitstringfinal;
finalresult+=bitstringfinal;
}
return finalresult;
Department of Computer Engineering, DJSCOE
Page 20
Design and Analysis of SVKT Block Cipher
}
//Main
public static void main(String[] args) throws IOException, Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String msg=new String();
StringBuffer msginbits=new StringBuffer();
String encryptedmsg=new String();
StringBuffer bitblock=new StringBuffer();
System.out.println("Enter a message");
msg=br.readLine();
char c[]=msg.toCharArray();
for(char t:c)
{
String g="";
int len=Integer.toBinaryString(t).length();
while(len<8)
{
g+="0";
len++;
}
msginbits.append(g+Integer.toBinaryString(t));
}
System.out.println(msginbits);
System.out.println("Enter Password");
String enterpwd=br.readLine();
String pwd=calc(enterpwd);
String keys[]=new String [16];
int i=0;
for(int k=0;k<4;k++)
{
int j=0;
int c1=0;
for(;c1<4;i++,c1++)
{
keys[i]=pwd.substring(j,j+32);
j+=32;
}
pwd=calc(pwd);
}
System.out.println(Arrays.toString(keys));
int len=msginbits.length();
int a=len/96;
int b=96-Math.abs(a*96-msginbits.length());
if(b!=0)
{ msginbits.append('1');
b--;
for(i=0;i<b;i++)
{
msginbits.append('0');
}
Department of Computer Engineering, DJSCOE
Page 21
Design and Analysis of SVKT Block Cipher
}
a++;
//divide into 96 bit blocks
int l=1;
StringBuffer msgblocks[]=new StringBuffer[a];
for(int k=0,p=0;k<a&&l<=a;l++,p+=96)
{
StringBuffer d=new StringBuffer(msginbits.substring(p,l*96));
msgblocks[l-1]=d;
}
msgblocks[a-1]=msgblocks[a-1].append(msginbits.charAt(msginbits.length()-1));
for( int m=0;m<a;m++)
{
//initial permutation
String temp="";
for(int p=0;p<96;p++)
{
temp+=msgblocks[m].charAt(IP[p]-1);
}
msgblocks[m]=new StringBuffer(temp);
StringBuffer A=null;
StringBuffer B=null;
StringBuffer C=null;
A=new StringBuffer(msgblocks[m].substring(0,32));
B=new StringBuffer(msgblocks[m].substring(32,64));
C=new StringBuffer(msgblocks[m].substring(64));
for(int n=0;n<=15;n++)
{
StringBuffer k1=new StringBuffer(keys[n].substring(0,16));
StringBuffer k2=new StringBuffer(keys[n].substring(16,32));
System.out.println(k1+"\t"+k2);
BitSet bitA=new BitSet(A.length());
for(i=0;i<A.length();i++)
if(A.charAt(i)=='1')
bitA.set(i);
BitSet bitB=new BitSet(B.length());
for(i=0;i<B.length();i++)
if(B.charAt(i)=='1')
bitB.set(i);
BitSet bitC=new BitSet(C.length());
for(i=0;i<C.length();i++)
if(C.charAt(i)=='1')
bitC.set(i);
A=B;
String t1=func(B,k2);
String t2=func(B,k1);
BitSet bitt1=new BitSet(32);
for(i=0;i<t1.length();i++)
if(t1.charAt(i)=='1')
bitt1.set(i);
BitSet bitt2=new BitSet(32);
for(i=0;i<t2.length();i++)
{
if(t2.charAt(i)=='1')
bitt2.set(i);
Department of Computer Engineering, DJSCOE
Page 22
Design and Analysis of SVKT Block Cipher
}
bitt1.xor(bitC);
bitt2.xor(bitA);
B=new StringBuffer();
C=new StringBuffer();
for(i=0;i<32;i++)
if(bitt1.get(i))
B.append("1");
else
B.append("0");
for(i=0;i<32;i++)
if(bitt2.get(i))
C.append("1");
else
C.append("0");
}
StringBuffer g=new StringBuffer(""+A+B+C);
temp="";
for(int p=0;p<96;p++)
temp+=g.charAt(invIP[p]-1);
g=new StringBuffer(temp);
encrypt+=g;
}
System.out.println("Encrypted Message:"+encrypt);
}
}
Department of Computer Engineering, DJSCOE
Page 23
Design and Analysis of SVKT Block Cipher
8. PROJECT TESTING
In our project the main objective of project testing is to ensure that all functions of the
algorithm are working properly. Apart from that, we need to ensure that the security of the
algorithm is at least on par, if not better than the existing system.
Our objective is to design tests that systematically uncover different classes of error and to do
so with minimum amount of time and effort. We will ensure that this happens by making sure
that the test cases are designed to reduce the redundancy to the minimum level, and ensure
that optimum amount of time and resources are employed to get the desired result in
minimum time.
We will take special care while designing the test cases that is we will use Black Box testing
to ensure that the individual components are in order and are effectively working to give
desired output; the ranges of all parameters will be tested dynamically to ensure that the real
time environment is well suited.
The white box testing will ensure that a combination of all possible components involved are
tested, so that their simultaneous evaluation can be gauged and thus if need be their
performance can be varied by bringing about a change in the development logic of the
respective model.
8.1 Test Plan
Testing is a set of activities that can be planned in advance and conducted systematically. In
our project, testing begins at the component level and works outward towards the integration
of the entire system. As soon as coding phase starts, the testing implicitly comes into play.
The various small test cases, which are there in a particular module, are being taken care of
while coding it. As soon as a particular module is completed, the whole module is tested for
its completeness and whether the software correctly implements a function or in a broad
sense a “Module”.
The Testing plan that we have implemented in our software as time progresses is as follows:
Unit Testing:
Unit testing tests if the smallest units of the software are working
satisfactorily. Unit testing started with the coding itself. It included testing single
rounds of the algorithm.
Integration Testing:
Integration testing is a systematic technique for constructing the program
structure while at the same time conducting tests to uncover errors associated with
interfacing and other planning. Interfaces in our software are tested completely and a
systematic approach is applied for this. The program was constructed and tested in
small increments, grouping two to three rounds at a time and testing them for
Department of Computer Engineering, DJSCOE
Page 24
Design and Analysis of SVKT Block Cipher
efficiency and improvement thus increasing the quality of the software.
System Testing:
System Testing is actually a series of different tests whose primary purpose is to
fully exercise the computer-based system. The whole system is tested as a whole here.
The various modules are together tested here so that if there’s any discrepancy, then it
could be determined and properly corrected. Also here the software is tested as a
whole as such it conforms to the requirements. Various tests that simulate full length
algorithm & check its strength in comparison to the existing standard are applied.
8.2 Test Case
As described the test plan above, the various test cases have been derived and tested by the
various persons involved in the software implementation. Test cases help to find out the
errors or flaws in the software and hardware and thus correct it and improve the quality.
Some of the test cases that we have applied are described below with the various modules:
TEST CASE 1:
Test case name: Plain text validation
Test case: To check plaintext using cryptool.
Prerequisites: 1) Cryptool
SR.NO
TEST
EXPECTED RESULT
DESCRIPTION
Checking plaintext Structured plaintext
for
all
cryptool
parameters
1.
PASS/FAIL
PASS
Table 3: Test case 1
Plain text is analyzed using Cryptool to examine its structure.
TEST CASE 2:
Test case name: Single round working validation
Test case: To check if single round is working properly.
Prerequisites: 1) Java Development Kit
Department of Computer Engineering, DJSCOE
Page 25
Design and Analysis of SVKT Block Cipher
This is a unit test to check the structure of each single round of the algorithm.
SR.NO
1.
TEST
DESCRIPTION
Checking
validity
and completeness of
single
round
operation. Do the
same for DES
EXPECTED RESULT
PASS/FAIL
66% of the input test
is changed. The
remaining stays
unchanged.
PASS
Table 4 : Test case 2
TEST CASE 3:
Test case name: Multiple rounds tested together.
Test case: To check if data is modified accurately.
Prerequisites: 1) Java Development Kit
2) Single round working is accurate
SR.NO
1.
TEST
DESCRIPTION
Check
multiple
rounds for proper
working
and
adequate
strength.
Do the same for
standard DES.
EXPECTED RESULT
PASS/FAIL
66% change between
round outputs. Increase
in confusion and
diffusion over a period
of rounds
PASS
Table 5 : Test case 3
This is an integration test used to check whether multiple rounds can function accurately.
TEST CASE 4:
Test case name: Full algorithm check
Test case: To check if algorithm executes correctly.
Prerequisites: 1) Java Development Kit
2) Single round is working correctly
3) Increase in confusion and diffusion over rounds
Department of Computer Engineering, DJSCOE
Page 26
Design and Analysis of SVKT Block Cipher
SR.NO
1.
TEST
DESCRIPTION
To check if entire
algorithm executes
correctly. Check 8
round and 16 round
SVKT.
Perform
cryptool analysis.
EXPECTED RESULT
PASS/FAIL
A decipherable
ciphertext is obtained.
This validates accurate
Feistel structure. Also,
the strength of the
algorithm reaches close
to its peak, without
excessive resource
utilization
PASS
Table 6 : Test case 4
This is a system test which checks the structure of the entire algorithm.
TEST CASE 5:
Test case name: Comparison with standard DES, 3DES and AES
Test case: To check if the results are comparable to standard DES, 3DES and AES
Prerequisites: 1) Java Development Kit
2) Single round is running
3) Increasing parameter values over rounds
4) Full Algorithm is running
SR.NO
1.
TEST
DESCRIPTION
To check if strength
of the algorithm is
comparable
to
standard DES, 3DES
and AES
EXPECTED RESULT
PASS/FAIL
Cryptool parameter
values which are on par,
if not better than
standard DES. As
additional reference,
3DES and AES are also
compared to our
algorithm.
PASS
Table 7 : Test case 5
This is a system test to comparatively analyze our algorithm with the existing ones.
Department of Computer Engineering, DJSCOE
Page 27
Design and Analysis of SVKT Block Cipher
8.3 Testing Methods
The tool used for performing cryptographic analysis is ‘Cryptool’
Cryptool is used to analyse the following factors of the text:
1) Entropy
Entropy is the planned disorder given to the set of cipher-text in a message. It might be made
up of several things that are mainly randomness, mathematical disfiguration and obfuscation.
Entropy is the measure of uncertainty associated with a random variable. In terms of
Cryptography, entropy must be supplied by the cipher for injection into the plaintext of a
message so as to neutralize the amount of structure that is present in the unsecure plaintext
message. The common notion of entropy is the notion of Shannon entropy. The Shannon
entropy H(x) of a value x that occurs with probability Pr[x]:
H(x) = -log_2(Pr[x])
you can interpret this as the uncertainty about x knowing only the distribution according to
which x is chosen. For the case of bit strings the important message is, the entropy not always
equals the bit length of x. I.e. if you want to seed a pseudorandom generator, it is important to
choose a seed with high entropy. If you use the actual time as seed the entropy of the seed is
very low, as everybody can easily guess parts of the seed (year, day, perhaps even hour and
minute).
2) Histogram
A histogram is a graphical representation showing a visual impression of the distribution of
data. It is an estimate of the probability distribution of a continuous variable and was first
introduced by Karl Pearson. A histogram consists of tabular frequencies, shown as lines
erected over discrete intervals (bins), with an area equal to the frequency of the observations
in the interval. The height of a line is also equal to the frequency density of the interval, i.e.,
the frequency divided by the width of the interval. A histogram may also be normalized
displaying relative frequencies. The categories are usually specified as consecutive, nonoverlapping intervals of a variable. The categories (intervals) must be adjacent, and often are
chosen to be of the same size.
3) N gram
What is N gram? An n-gram model is a type of probabilistic language model for predicting
the next item in such a sequence in the form of a –order Markov model. n-gram models are
now widely used in probability, communication theory, computational linguistics (for
instance, statistical natural language processing), computational biology (for instance,
biological sequence analysis), and data compression. The two core advantages[compared to?]
of n-gram models (and algorithms that use them) are relative simplicity and the ability to
scale up – by simply increasing n a model can be used to store more context with a wellunderstood space–time tradeoff, enabling small experiments to scale up very efficiently.
Department of Computer Engineering, DJSCOE
Page 28
Design and Analysis of SVKT Block Cipher
8.4 Test Results
TEST CASE 1
In the first test case we analyze the plain text which is the BYE message of VOIP.
Plaintext used for analysis
BYE message of VOIP
14:33:14.710 Wed 28 Mar 2012, 192.168.29.12:5060/udp (373 bytes): sent BYE
sip:alice@192.168.29.12:5070 SIP/2.0 Via: SIP/2.0/UDP
192.168.30.118:5080;rport;branch=z9hG4bK90155 Route: <sip:192.168.29.12;lr> MaxForwards: 70 To: Alice <sip:alice@192.168.29.12>;tag=c657427878e54118 From: Bob
<sip:bob@192.168.29.12>;tag=z9hG4bK60492682 Call-ID:308705092944@192.168.30.118
CSeq: 2 BYE User-Agent: mjsip stack 1.6 Content-Length: 0
Entropy
Figure 12 : Entropy of SVKT for BYE message plaintext of VOIP
Histogram
Figure 13 : Histogram for BYE message plaintext(SVKT)
Department of Computer Engineering, DJSCOE
Page 29
Design and Analysis of SVKT Block Cipher
Figure 14 : Histogram values for BYE message plaintext(SVKT)
Digram
Figure 15 : Digram values for BYE message plaintext (SVKT)
Department of Computer Engineering, DJSCOE
Page 30
Design and Analysis of SVKT Block Cipher
Trigram
Figure 16 : Trigram values for BYE message plaintext (SVKT)
Analysis:
As we can see the entropy is decently high. However, after encryption the entropy of the
cipher text will be higher which will be evident in the analysis shown below.
The characters are not very well spread in the text.
The digram and trigram analysis also prove that the occurrence of certain character sequences
is very high. Thus they are more probable than others and hence the plaintext is relatively
simple to predict.
TEST CASE 2:
Single round analysis of Data Encryption Standard.
Input message: a
Key: hello
ENTROPY
Round 1
Output: 020100006b160410
Department of Computer Engineering, DJSCOE
Page 31
Design and Analysis of SVKT Block Cipher
Figure 17 : Entropy of DES round 1
Histogram
Figure 18 : Histogram for round 1 of DES
Figure 19 : Histogram values for round 1 DES
Department of Computer Engineering, DJSCOE
Page 32
Design and Analysis of SVKT Block Cipher
Digram
Figure 20 : Digram values for round 1 DES
Trigram
Figure 21 : Trigram values for round 1 DES
Department of Computer Engineering, DJSCOE
Page 33
Design and Analysis of SVKT Block Cipher
Single round analysis of SVKT Block Cipher
The input given is character ‘a’
Hexadecimal input: 611000000000000000000000
Single round output: 00010020378f41ac352531b8
ENTROPY
Round 1
Figure 22 : Entropy of round 1 SVKT
Histogram
Figure 23 : Histogram of round 1 SVKT
Department of Computer Engineering, DJSCOE
Page 34
Design and Analysis of SVKT Block Cipher
Figure 24 : Histogram values of round 1 SVKT
Analysis:
The histogram as compared to that of the plaintext has clearly improved in terms of
the frequency of occurrence of certain characters.
Digram
Figure 25 : Digram values of round 1 SVKT
Department of Computer Engineering, DJSCOE
Page 35
Design and Analysis of SVKT Block Cipher
Trigram
Figure 26 : Trigram values for round 1 SVKT
Analysis:
As seen above the digram and trigram have also improved over those of the
plaintext.
TEST CASE 3:
SVKT Rounds 2 & 3
Round 2 Output 378f41ac0e48137affe1ec06
Histogram
Figure 27 : Histogram of round 2 SVKT
Department of Computer Engineering, DJSCOE
Page 36
Design and Analysis of SVKT Block Cipher
Figure 28 : Histogram values for round 2 SVKT
N-gram
Digram
Figure 29 : Digram for round 2 SVKT
Department of Computer Engineering, DJSCOE
Page 37
Design and Analysis of SVKT Block Cipher
Trigram
Figure 30 : Trigram for round 2 SVKT
Round 3 Output 0e48137ad7568df4d4a852c3
Histogram
Figure 31 : Histogram for round 3 SVKT
Department of Computer Engineering, DJSCOE
Page 38
Design and Analysis of SVKT Block Cipher
Figure 32 : Histogram values for round 3 SVKT
N-gram
Digram
Figure 33 : Digram for round 3 SVKT
Department of Computer Engineering, DJSCOE
Page 39
Design and Analysis of SVKT Block Cipher
Trigram
Figure 34 : Trigram for round 3 SVKT
Analysis for round 2 and round 3:
As seen from the figures above, the entropy goes on increasing as the rounds progress
indicating the structure is destroyed more and more. Also the histogram and ngram
analysis indicate that the frequency of particular characters or sequences is not very
high.
DES rounds 2 & 3
Round 2
Output: 6b160410963facc3
Figure 35 : Entropy of round 2 DES
Department of Computer Engineering, DJSCOE
Page 40
Design and Analysis of SVKT Block Cipher
Histogram
Figure 36 : Histogram of round 2 DES
Figure 37 : Histogram values for round 2 DES
Department of Computer Engineering, DJSCOE
Page 41
Design and Analysis of SVKT Block Cipher
Digram
Figure 38 : Digram values for round 2 DES
Trigram
Figure 39 : Trigram values for round 2 DES
Department of Computer Engineering, DJSCOE
Page 42
Design and Analysis of SVKT Block Cipher
Round 3
Output: 963facc3c863dbc5
Entropy
Figure 40 : Entropy for round 3 DES
Histogram
Figure 41: Histogram for round 3 DES
Figure 42 : Histogram values for round 3 DES
Department of Computer Engineering, DJSCOE
Page 43
Design and Analysis of SVKT Block Cipher
Digram
Figure 43 : Digram values for round 3 DES
Trigram
Figure 44 : Trigram values for round 3 DES
Analysis:
In the round by round analysis, we can see that as the rounds progress, the
histogram becomes better. Also, ideally the entropy should go on increasing in
each round. However, after round 3 the entropy reduces.
Department of Computer Engineering, DJSCOE
Page 44
Design and Analysis of SVKT Block Cipher
TEST CASE 4:
We analyse the cipher text of SVKT Block Cipher (8 rounds)
Analysis of SVKT Block Cipher (8 rounds)
Cipher Text
706aa252b21af34058d427340e02720ab675b4cbf7aaa36e465659880852156ef
49846cb5adde7c24415babe19d9f6bc70805b5bc5c2db1f89828079e461ebe873
70c1cf93a5119a6e298c0f9631fa842b1608251ac978b6604b4ec718f5193d42cf
1fdee8b318d40d59e88f45047b3ee3ef24e4b46045223e588f95d3c7b71835868
e2ba48566f69a9c7f9fd7840a42812e398085630c909373f0e6a650955eeade049
b3a71cfa7d98a99a866007c1396dd554c316b149ace7ea46895839872ab322efa
c55ee6a35ab833155d4cc088477a868cbdaa5e57b110bdd7cd5a6eface5eee4ccb
7556b6d25ca8cca6bc922894e55ede5fa12c990888c36b19f4b8d36a45650940c
0330eb79a1d3cf158a91aa8401db71d2d5b0394034fc3f662c4c109b1aaaf9270
1951d2d6eba5fc54b521605c9e1f74b4b592298db22e6c866925421d171514bf8
da4edf204007bbdda37a0f2b6e2d882cc902afd02bcec7ac69632297ec45efef5cf
059d081a2a57abc928ef82630dd1675bb4bba477a689c8c13c09d63c19cce7eb1
efd45b06f06b1b1d7d897d1a360c8c53b1b40bd09295e414eb83d4477001e7e4
4803d008a6375d7
Entropy
Figure 45 : Entropy for ciphertext (SVKT)
Histogram
Figure 46 : Histogram of ciphertext(SVKT)
Department of Computer Engineering, DJSCOE
Page 45
Design and Analysis of SVKT Block Cipher
Figure 47 : Histogram values for ciphertext(SVKT)
N-gram
Digram
Figure 48 : Digram for ciphertext (SVKT)
Department of Computer Engineering, DJSCOE
Page 46
Design and Analysis of SVKT Block Cipher
Trigram
Figure 49 : Trigram values for ciphertext(SVKT)
Analysis:
As we can see, the entropy is the same as that of DES. Also the graph of histogram is more or
less the same. However we can see that the di-gram of SVKT Block Cipher is better than that
of DES.
We analyse the cipher text of SVKT Block Cipher (16 rounds)
Cipher Text
4e41c97c3c293e11b75c882564c05168cce51339dc07641a6164d91cd6eff07a6
8dee269c94b562157c009d03cf7792102d2c190e2269b11987ef846c397b1b2b
0e58fe5fc82b0980ea1f11ece0c844463029590e36cb3f847910b761e33068a79e
ae0b04251958a9fb6908155ab9582055b9ef7d3d556a3eeb75331e86f700a6a88
33a2f9a8a181a8c3482823ed11e175bbed905dbd6b7f0f7bf3301a09fee23a12fb
8f8f60c65cd48677bdbffb478a8db4d06664c4ca72fdfa6a1611082cbf8c9d9c13
3c24126fe85834572d1179aae7e1e0f3693963a07a6f463ce17f513399440aacbd
fc6f6a16ed776c76b9e71e0cc33c34bc35f97a6476f43a001027bed8116b4bc9fb
cf0fcf02e7635b224f4fea197dae9d4fe66a3adf8548ab97509faa66e89954d7785
865a74045e89c4a79dd96f563bad5c41d0ba22da3ed194c160b79296b8af868cd
41884f02e192d5d2ee3fbd142fe61fcfc971ad81e0c741e202942633657610b5de
4f22096b2b61919ea08f892483d38196a5b0f68373842e6ff2af5a8d7cc3a30321
Department of Computer Engineering, DJSCOE
Page 47
Design and Analysis of SVKT Block Cipher
034f51ed040fdc30d45aea33e76a6af3a158979098f41bc7eea36c61f2a4e68be7
d62cf4c49
Entropy
Figure 50 : Entropy for SVKT 16 round
Histogram
Figure 51 : Histogram for SVKT 16 round
Department of Computer Engineering, DJSCOE
Page 48
Design and Analysis of SVKT Block Cipher
Figure 52 : Histogram values for SVKT 16 round
N-gram
Digram
Figure 53 : Digram values for SVKT 16 round
Department of Computer Engineering, DJSCOE
Page 49
Design and Analysis of SVKT Block Cipher
Trigram
Figure 54 : Trigram values for SVKT 16 round
Analysis:
As we can see, the di-gram of SVKT Block Cipher (16 rounds) is also better
than that of DES.
TEST CASE 5:
We analyse the cipher text of Data Encryption Standard.
Cipher Text
f5612bb3ed3d664067dd45c9ebb9ed3151fdd30345d85028de8b55eb6f1e7672d
26d47a884d9fb2a30de7a05b02cc751a33a7bdb231f2a7e5c1fbd1c4672eb895e
09a58e72eebb07b003602b39b733e69c8f63872d63236bb3066210c2d65a32dff
0b710f9c651e0e7a8efcf7317934ce02d6b14a81ee2346ecee82e85afa12d0511f
d4a1f1070841c5019ec88e3cbb75cb94d4b165a6af3af484239af6f5cd27824123
9c8c12504a106f93ebbf1f6c49a0afa23a6c89b6054aaa4efa223c4d3c5641f9be2
b9ee39e2d214b647458f77a2e8df53a6b0620ea0b3b0450c84a24a03a68f64d2d
5b26f876f153e6410362df3425da3b13129c5c5641f9be2b9ee398f2592597d82
bf0533864901a751b30e155c449f6e64461b131cf619f101aa633440ac8ed2744
e3887be95c3a8d63aabaa1ea5e33116d0a1e007a3f733be809487ad5b60781df0
36f8c9b62ef2d88c7d82be192245d84fed4c26a4f18c52bcead74aec2d4bd671bb
24464a8b91bf8e6c8e55f8a95da76bd98f68a1815b9a8bb2b5a80331087813c8f
9464b52ab533c5f0dfd0fc9b8dad53df2dff2ad57aabda049613ce3bee9a449d3ef
f87b8e48a5b9
Department of Computer Engineering, DJSCOE
Page 50
Design and Analysis of SVKT Block Cipher
Entropy
Figure 55 : Entropy for DES
Histogram
Figure 56 : Histogram for DES
Figure 57 : Histogram values for DES
Department of Computer Engineering, DJSCOE
Page 51
Design and Analysis of SVKT Block Cipher
Di-gram
Figure 58 : Digram values for DES
Trigram
Figure 59 : Trigram values for DES
Analysis:
As we can see, the entropy of the cipher text is very high.
From the graph of histogram, we can conclude that there are some characters
which occur more frequently than others.
From the N-gram analysis, we can see that the graph of the cipher text is more
or less flat.
Department of Computer Engineering, DJSCOE
Page 52
Design and Analysis of SVKT Block Cipher
Triple DES
Cipher text:
253ad5b03bf535014baedfc4d1ff01fa21ab521f1e427a7c972931d644c46883f239a19e07c193f
e895e21421d5cb764cc13cf34a5691a0318da293d234b8fa95c2ed5c76ad8fac49c27179c8061b
12c2fc5faea8abf1b969b8bda0586a2738eb231ca25638c1faf3ceafd8d6380e389c54c259aaa74
10a231ea4c3c3014f94c5f3a107da8b2f5e59e312225d8c4b1fd108e1142dac5f647dd4fa573e4c
a9e0e244117ee32988524d9ae21096d4190d8be01311e8565fb15c5793126721ed940d7fea915
d02ab88a31b562beda8ba54bc0486d0ca4609f6e166bdcfaa41a378bd833a5e27cccb6cf7dc634
54f44a5a172fcedfa43958e5351e07e325515949562b0e6f7cc03f7354024a4ace1b3c006a50f2d
1dadc4353dc9a708e257e16824765bd303d0bc960eb1f598ba0d1c0bece3b46f46ed80a1f4a515
0b18acd5c48e31d82328ec99ee5fdd4857dbddb489decbcdba635dc5dd82d3a0c2410eb58dc2b
d27b56987d20972a33043c261357ed22cb1fc680bf5b2b724cd41e5753d1df54a6891f9085cc7
963a6b6b41e7e0a97ce0ac5d5dbb208c3f9c83b5b6b63d8018d2090cf7a444fa66f
Entropy
Figure 60 : Entropy for 3DES
Histogram
Figure 61 : Histogram for 3DES
Department of Computer Engineering, DJSCOE
Page 53
Design and Analysis of SVKT Block Cipher
Figure 62 : Histogram values for 3 DES
N-gram
Digram
Figure 63 : Digram for 3DES
Department of Computer Engineering, DJSCOE
Page 54
Design and Analysis of SVKT Block Cipher
Trigram
Figure 64 : Trigram for 3DES
AES
Cipher text:
a13873541c7b5f25dc70ed5c55c74477186e5df73bd009dda90c38cbcb20771c4152e5e48d114
18424c1b5229cf231217750a6b0a7eb15933d59238a370925cb0503fd570431ef9532ac16ac49
06f885a1090c630bf259c2a86ab684cfd31874199dc4c3171a86f41a7456beb12536083bf0d42a
75baf53cb75a0e45af68363b175248f1c29572a76cef0d3f1c7eea091d1b229ae80f74902fa891e
9ab03e57506f2f9d1fdc5f0fd8200165a4546ffaade190a8b7fc84fc5518b85bb7102d125fd47a8
02b395f106adb0491565d91e4dd999918c2a515a9f799a0ceab544649cc9a981d8147872aa049
fcdf14199075e4198262ec03fb47aa3d028bc78d28d852b0e4bdc90f29447a151679d270e8e4c3
343388ea00bc127ebb6ab202ec855a396e5387da13f5de5c3e85e06b05b081c0c8effd8bedd21f
51e1a770291e7b4d0d92a34c6edcdaa026417304726fcf1c03b8167e3b8c358f4d897972c6afd9
e5e879a68c66e2e19aaf7d2b2989f4bc9135839a8f9c9420b225c6149f63075166a7fafa9e796f5
0866113d3f38fb613181e0916e75fc7ba99d487c523c921b949e36e5ab1f94b6a0c2458f92c37c
cf090fe66a37159276ba1e505a28bdd49c182e
Department of Computer Engineering, DJSCOE
Page 55
Design and Analysis of SVKT Block Cipher
Entropy
Figure 65 : Entropy for AES
Histogram
Figure 66 : Histogram for AES
Figure 67 :Histogram values for AES
Department of Computer Engineering, DJSCOE
Page 56
Design and Analysis of SVKT Block Cipher
Digram
Figure 68 : Digram values for AES
Trigram
Figure 69 : Trigram values for AES
Department of Computer Engineering, DJSCOE
Page 57
Design and Analysis of SVKT Block Cipher
TABLE OF COMPARISON
Parameter
DES
3DES
AES
SVKT(8
rounds)
SVKT(16
rounds)
Entropy
3.98
3.98
3.98
3.98
3.98
Histogram
range
39-65
38-64
46-70
39-65
43-67
Digram
range
7-12
6-9
7-8
6-10
7-10
Trigram
range
2-3
2-3
2-3
2-3
2-3
Table 8: Comparison
8.5. Performance Analysis
Our aim is to evaluate the performance of two algorithms (DES and our algorithm) for a
comparative study. To implement the two algorithms, we have coded the methods using the
same basic steps. This ensures that time and space requirements are comparable, and there is
no issue about difference in levels of optimization of both codes. The input plaintext used for
this purpose is the VoIP “BYE” message. The code has been implemented using the Java
language. The experiments were performed on a 2.33 GHZ Intel Core2Quad PC, with a 4 GB
RAM and Windows 7. A table of comparison is shown below:
Data Encryption Standard (DES)
DES modifies 32 bits per round and it
performs 16 such rounds. So, if there are x
blocks then the total data modified
effectively will be
32 bits* 16 rounds* x blocks
Department of Computer Engineering, DJSCOE
SVKT Block Cipher
SVKT modifies 64 bits per round and it
performs 8 such rounds. If there are y
blocks then in comparison to DES y=2/3*x.
So, the total data modified effectively will
be
64 bits* 8 rounds* 2/3*x.
Thus, as no. of blocks increases, memory
requirements of SVKT reduce in
comparison to DES.
Page 58
Design and Analysis of SVKT Block Cipher
Time required for DES execution (Input
VoIP BYE message): 57725937
nanoseconds
Assume that 1 evaluation of {DES} takes 10
operations, and we can
perform 1015 operations per second.
Trivially, that means we can evaluate 1014,
or about 246.5 {DES} encryptions per
second. This is a simplistic view: we are
ignoring here the cost of testing whether we
found the correct key, and the key schedule
cost.
So on our hypothetical machine, a 56-bit
DES key would take, on
average, 255/246.5=28.5≈362seconds to find.
Time Required for SVKT (8 round variant)
for same input: 73921261 nanoseconds
On the same hypothetical machine, a 112bit SVKT key would take, on average, 264.5
seconds= 235 years to crack.
The effective time taken to crack an entire
512-bit SHA-512 key is much greater.
Table 9 : Comparison of DES and SVKT
NETBEANS PROFILER
NetBeans profiler is a module to provide a full-featured profiling functionality for the
NetBeans IDE. The profiling functions include CPU, memory and threads profiling as well as
basic JVM monitoring, allowing developers to be more productive in solving memory or
performance-related issues.
In our testing, we have made use of the memory profiling feature of the NetBeans profiler.
The Analyze Memory Usage task gives you data on objects that have been allocated in the
target application such as the number, type and location of the allocated objects.
To analyze memory performance, you choose how much data you want to obtain by selecting
one of the following options.

Quick. When this option is selected, the profiler samples the application to provide
data that is limited to the live objects. This option only tracks live objects and does
not track allocations when instrumenting. It is not possible to record stack traces or to
use profiling points if you select this option. This option incurs a significantly lower
overhead than the Advanced option.

Advanced. When this option is selected application you can obtain information about
the number, type, and location of allocated objects. All classes that are currently
loaded by the target JVM (and each new class as it is loaded) are instrumented to
produce information about object allocations. You need to select this option if you
Department of Computer Engineering, DJSCOE
Page 59
Design and Analysis of SVKT Block Cipher
want to use profiling points when analyzing memory usage or if you want to record
the call stack. This option incurs a greater profiling overhead than the Quick option.
The output of the Advanced profiling task looks as follows:
Figures below show the memory requirements of both algorithms:
1. Standard DES
2. SVKT 8 round
As can be seen, the space requirements of both algorithms are very similar.
Department of Computer Engineering, DJSCOE
Page 60
Design and Analysis of SVKT Block Cipher
9. MAINTENANCE
9.1 User Manual
9.1.1 Getting Started
The UI can be started simply by running the UI frame file. A user
friendly GUI is displayed where the user can enter the input and key.
9.1.2 Key Generation
The Algorithm performs SHA-512 hashing to the input message to
obtain all round keys. These round keys can be checked for accuracy
using the “Display next 4 keys” option on the UI.
9.1.3 Using the Graphical User Interface to see working details
The GUI allows the user to input the data and key to run the algorithm.
The user can see round by round modifications on the data and every
round key. He can also verify the accuracy of the encryption by
checking decrypted output to match original plaintext.
9.2 Constraints for use of product
 The user system must be running Java
 The user must use either the UI implementation for understanding or the
direct Java code for speed as it eliminates redundant I/O operations
Department of Computer Engineering, DJSCOE
Page 61
Design and Analysis of SVKT Block Cipher
10. CONCLUSION
The aim of our work is to improve the security of the Data Encryption Standard algorithm by
proposing a new algorithm. In other words, this algorithm uses well renowned cryptographic
principles to eliminate known weaknesses of DES.
To enhance the security of the key schedule and make the algorithm non-susceptible to brute
force attacks, we have made use of a one way hash message digest for keying purposes. This
ensures that obtaining further round keys is not possible without cracking all 512 bits of the
message digest, and also ensures that all consecutive round keys have no known
dependencies.
In order to remove weaknesses to advanced cryptanalysis, we have made use of S3 s-boxes.
These s-boxes remove DES vulnerabilities to linear and differential cryptanalysis. Also, we
analyze our algorithm extensively using cryptool to obtain results proving our algorithm
obtains very high levels of confusion and diffusion.
Finally, we have designed a user interface to ensure ease of understanding of the algorithm
for the user, and to ensure that debugging operations in the future are supplemented
adequately.
Department of Computer Engineering, DJSCOE
Page 62
Design and Analysis of SVKT Block Cipher
11. FUTURE SCOPE
We can extend this algorithm in the future in the following ways:




Optimize implementation to ensure minimum possible use of critical resources
Make use of a simpler one-way function which provides similar levels of security as
SHA-512, thus reducing time required to encrypt.
Perform extensive linear and differential cryptanalysis of this algorithm to check for
any flaws.
Implement this algorithm in existing cryptosystems which currently use standard
DES.
Department of Computer Engineering, DJSCOE
Page 63
Design and Analysis of SVKT Block Cipher
12. REFERENCES
[1] M. E. Hellman,"DES will be totally insecure within ten years" lEEE Spectrum, Vo1.16,
N0.7,pp32-39, July 1979.
[2] NBS, "Data Encryption Standard," FIPS Pub. 46, U,S, National Bureau of Standards,
Washington DC, Jan. 1977.
[3] D. Coppersmith, " The data encryption standard (DES) and its strength against attacks,"
IBMJ ournal Research Dewlop. Vol. 38, No. 3, pp.243-250, 1994.
[4] E. Biham and A. Shamir, "Differential cryptanalysis of DES-like cryptosystem," Journal
of Cryptology, Vo1.4, No.1,1991.
[5] S. Even and 0. Goldriech, "DES-like Functions can Generate the Alternating Group,"
IEEE Trans. on IT, Vo1.29, pp.863-865, 1983.
[6] Kwangjo Kim, Sanjun Park, Sangin Lee, “Reconstruction of s2 DES S-boxes and their
Immunity to Differential Cryptanalysis” IEEE Korea-Japan, Joint Workshop on Information
Security and Cryptology, Oct, 1993
Department of Computer Engineering, DJSCOE
Page 64
Download