Professional Documents
Culture Documents
FUTURE ENHANCEMENT
Hybrid cryptography systems currently use combinations of RSA and AES, AES
and Blowfish, Blowfish and ECC and Triples DES among various others. Such
combinations ensure that those CSPs can harness both algorithms’ advantages in a
hybrid system to ensure access control, authorization, authentication, and
confidentiality.
CHAPTER 10
REFERENCES
[3] Manoj .B,Manjula N Harihar (2012, June). “Image Encryption and Decryption
using AES”, International Journal of Engineering and Advance Technology (IJEAT)
volume-1, issue-5, pp. 290-294.
[6] Sourabh Singh, Anurag Jain, (2013, May). “An Enhanced Text to Image
Encryption Technique using RGB Substitution and AES”, International Journal of
Engineering Trends and Technology (IJETT) volume-4,issue-5,pp.2108-2112.
CONCLUSION
At the end of the day we need to protect our data . Increasingly , encryption is
being seen as the best way to ensure that data is protected, but the ever-growing use
of encryption creates a management challenges. The challenge, however , doesn’t
need to be daunting. Implementing a flexible and extensible solution that automates
many of the time-consuming and error-prone key management tasks in an automated
enterprise-wide manner is rapidly becoming a priority for many organizations. In
order for enterprise-wide encryption to be deployed correctly, organizations need to
deploy the correct tool to manage the keys. In the same way that data protection has
moved from an IT challenge to a C-level issue, key management has become a high-
level business imperative.
INDEX
TABLE OF CONTENTS
CHAPTER 1: INTRODUCTION
1.1 History
1.2 Objective
1.3 Scope
1.4 Algorithm
1.5 Use of Project
CHAPTER 2: THEORETICAL BACKGROUND
2.1 Cryptography
2.2 Existing System and Problem Statement
2.3 Proposed System
2.4 Advantage of Proposed System
INTRODUCTION
1.1 Objective
1.3 Scope
1.4 Algorithm[1]
• A large prime number p and a random number g which is prime and less than
the initially chosen prime number is chosen.
• Then after from {0,…,p-1} there are chosen the elements x1,x2,…,x2n+1,
preferably distinct .
• To decrypt the message (c1, c2), calculate c2. c1x2. c1x4. c1x6 …/ c1x1. c1x3.
c1x5. c1x7…= (c21. c23. c25.
c27…/ c22. c24. c26…)( c1x2. c1x4. c1x6…/ c1x1. c1x3.c1x5. c1x7…) = (m
.y1k. m . y3k. m . y5k. m . y7k…/ m . 2 . m . y4k. m . y6k…)( c1x2. c1x4. c1x6…/
c1x1. c1x3. c1x5. c1x7…) = m. y k
1.5 Use of the Project
THEORETICAL BACKGROUND
2.1 Cryptography
▪ Encryption: the process of converting the plain text to cipher text is known
as encryption.
▪ Decryption: the process of restoring the plain text from the cipher text is
known as decryption.
cipher text:
• Symmetric encryption: When both the sender and receiver use the same key
for encrypting the plaintext and decrypting the ciphertext to plaintext, it is
called symmetric encryption.
• Asymmetric encryption: When the sender use the public key of the receiver
that has already been published by the recipient to encrypt the plaintext to
cipher text and the receiver uses its private key to decrypt the cipher text to
plaintext, it is called asymmetric encryption.
• Stream Cipher : It is one in that encrypts a digital data stream a bit or one
byte at a time.
2.2 Existing System and Problem Statement[1]
Key generation : The receiver who wishes to get message, chooses a large prime
number p, a random number g which is also prime and less than the prime number
initially chosen and a random integer x from 0 to (p-1). He then calculates
y=gx mod p
r = gk mod p
and
t = (yk. M) mod p
calculates t. r-x
which gives the plaintext .But in this algorithm , as there is just one private key , it
can be gessed by any intruder and is thus not reliable.
Key generation : A large prime number p and a random number g which is prime
and less than the initially chosen prime number is chosen. Then after from {0,…,p-
1} there are chosen the elements x1,x2,…,x2n+1, preferably distinct , then there are
being calculated y1=gx1 mod p,y2=gx2 mod p,…, y2n+1=gx2n+1 mod p .The public key
is {p,g,y1,y2,…….,y2n+1} and the private key
consists of {x1,x2,…,x2n+1}.
Encryption of a message : The sender encrypts message m knowing the public key
as follows:
He chooses a random element k from {0 ,…, p-1} and calculates c1=gk mod
p,c21=m.x1k mod p, c22=m.x2k mod p,… , c22n+1=m.x2n+1k mod p, c2= c21. c23. c25.
c27…./c22. c24. c26…. then sends the encrypted message (c1, c2) to the recipient.
Decryption of the message : In order to decrypt the message (c1, c2),the receiver
use p and the private keys {x1}, {x2},…..,{x2n+1} respectively, computing together
c2. c1x2. c1x4. c1x6 …/ c1x1. c1x3. c1x5. c1x7…= (c21. c23. c25. c27…/ c22.
c24. c26…)( c1x2. c1x4. c1x6…/ c1x1. c1x3.c1x5. c1x7…) = (m .y1k. m . y3k. m . y5k. m
. y7k…/ m .y2k. m . y4k. m . y6k…)( c1x2. c1x4. c1x6…/ c1x1. c1x3. c1x5. c1x7…) = m.
The encrypted message can be decrypted only if all the 2n+1 parts of the
private key is known. Thus the intruder is unable to identify the message even if he
succeeds in calculating one or some of the parts of the private key because the
calculation of all 2n+1 parts of the private key is a difficult task and thus it is more
secure.
CHAPTER 3
The following are the steps for requirement analysis process are:
• Welcome unusual ideas: To get a good and long list of ideas, unusual ideas are
welcomed. They can be generated by looking from new perspectives and
suspending assumptions. These new ways of thinking may provide better
solutions.
• Combine and improve ideas: Good ideas may be combined to form a single
better good idea, as suggested by the slogan "1+1=3". It is believed to stimulate
the building of ideas by a process of association.
• It provides feedback to the customer. An SRS is the customer's assurance that the
development organization understands the issues or problems to be solved and
the software behaviour necessary to address those problems.
• It decomposes the problem into component parts. The simple act of writing down
software requirements in a well-designed format organizes information, places
borders around the problem, solidifies ideas, and helps break down the problem
into its component parts in an orderly fashion.
• It serves as an input to the design specification. Therefore, the SRS must contain
sufficient detail in the functional system requirements so that a design solution
can be devised.
Economic analysis is the most frequently used technique for evaluating the
effectiveness of a proposed system. More commonly known as cost / benefit
analysis; in this procedure we determine the benefits and savings that are expected
from a proposed system and compare them with costs. We found the benefits
outweigh the costs; we take a decision to design and implement the new proposed
system.
People are inherently resistant to change, and computers have been known to
facilitate change. An estimate should be made of how strong a reaction the user staff
is likely to have toward the development of a computerized system. It is common
knowledge that computer installations have something to do with turnover, transfers,
retraining, and change in employee job status. Therefore, it is understandable that
the introduction of a candidate system requires special effort to educate, sell, and
train the staff on new ways of conducting business.
3.2.4. Time feasibility
Before any project development system planning[5] is the crucial task in order
to perform systematic development of the project. System planning is generally
taken to collect the information from the existing system so that the system being
implemented can work in favor of the user. Interview, questionnaire and observation
collect facts.These techniques are not mutually exclusive indeed in practice more
than one technique will be employed to establish the facts.
Tasks can also branch out and travel their own paths rejoining the main path
at some later point. Any milestones such as points of review or completion is
indicated as well.
Table 3.1: PERT Activity Time Estimates
• Mean, te=(a+4*m+b)/6
• Standard Deviation = (b-a)/6
Table 3.2: Expected Times And Standard Deviations
The chain of tasks that determines the duration of the project. For this we
establish most likely time estimates for individual tasks by applying statistical
models and calculate boundary times that define a time “window” for a particular
task.
There are some important boundary times that may be discerned from a PERT as
follows: -
• The earliest time that a task can begin when all preceding tasks are completed in
the shortest possible time.
• The latest time for task initiation before the minimum project completion time
is delayed.
• The earliest finish- the sum of the earliest start and the task duration.
CHAPTER 4
SYSTEM DESIGN
GUI provides an efficient way through which user can interact with the system
and works accordingly to fulfill the task .Through GUI user can select the file that is
to be encrypted or decrypted.User can generate keys randomly or enter manually.At
every window a “back” button is provide that lets the user to go back to the previous
window. Thus it provides a user friendly environment.
This module generates keys. The keys can be generated randomly or it can be
specified by the user. If the keys are being generated randomly,the user does not
need to check if the number is prime or not. But if the keys are entered manually ,
the user needs to be sure of the number to be prime otherwise an error message will
be displayed every time the user enters a wrong value. When the keys are entered
manually , the test for prime number is done by Millar Rabin algorithm.
4.1.3 Encryption:
The sender chooses a random element k from {0,…,p-1} and calculates c1=gk
mod p, c21=m.x1k mod p, c22=m.x2k mod p,…, c22n+1=m.x2n+1k mod p, c2= c21. c23. c25.
c27…./ c22. c24. c26…. then sends the encrypted message (c1, c2) to the recipient.Thus
the size of the encrypted message is double of the plaintext as each charater is
4.1.4 Decryption:
In order to decrypt the message (c1, c2), receiver1 , receiver2 ,…, receiver2n+1
are using q and the private keys {x1}, {x2},…..,{x2n+1} respectively, computing
together c2. c1x2. c1x4. c1x6 …/ c1x1. c1x3. c1x5. c1x7…
This module will be used to transfer encrypted files from one system to the
other. The other system should keep waiting for the file if it wants to receive a file
or else a connection failure occurs. The IP address of the destination needs to be
mentioned correctly.
4.2 Design
We are making a project on security for which we have used Java Swings and the
• Hard disk 1 GB
• Windows XP
• JDK 1.6.0
CHAPTER 6
SOURCE CODE
ENCRYPTION CODE
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Envy
{
public partial class UserControl1 : UserControl
{
byte[] abc;
byte[,] table;
public UserControl1()
{
InitializeComponent();
}
if(String.IsNullOrEmpty(tbPassword.Text))
{
MessageBox.Show("Password Empty. Please Enter Your Password");
return;
}
try
{
}
MessageBox.Show("Encyption Successful.");
catch
{
MessageBox.Show("File Is In Use. Close Other Programs Using This File
And Try Again.");
return ;
}
}
private void button1_Click_1(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
txtLocalEncFile.Text = open.FileName;
}
}
}
}
DECRYPTION CODE
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Envy
{
public partial class UserControl2 : UserControl
{
byte[] abc;
byte[,] table;
public UserControl2()
{
InitializeComponent();
}
}
}
}
if (String.IsNullOrEmpty(tbPassword.Text))
{
MessageBox.Show("Password Empty. Please Enter Your Password");
return;
}
try
{
}
MessageBox.Show("Decryption Done");
this.Hide();
Form2 f2 = new Form2(); //this is the change, code for redirect
f2.ShowDialog();
}
else
{
MessageBox.Show("INCORRECT CREDENTIALS!");
}
}
}
}
}
CHAPTER 7
OUTPUT