Attribute Based Data Sharing
Attribute Based Data Sharing
PROJECT REPORT
Submitted by
V.NAVEEN 13RBECSE031
of
BACHELOR OF ENGINEERING
in
KARPAGAM UNIVERSITY
(Karpagam Academy Higher Education)
COIMBATORE - 641021.
TAMILNADU, INDIA
MARCH 2017
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
V.NAVEEN 13RBECSE031
------------------------------------ ----------------------------------
Head of the Department Project Guide
----------------------------- ----------------------------
Internal Examiner External Examiner
ACKNOWLEDGMENT
We thank our beloved Chancellor Dr.R. Vasanthakumar., is the back bone of institution for
providing everything and us in carrying out this main project report.
.We thank our beloved Vice Chancellor Dr.S.Sudalaimuthu., who is the back bone of institution
for providing everything and us in carrying out this main project report.
I sincerely thank Dr.G.Sekar., Registrar for mentoring is in the best possible ways and
encouraging us in all aspects of curriculum and co-curriculum activities
We thank our beloved Chief Executive officer Dr.,Shri.K.Murugaiah., is the back bone of
institution for providing everything and us in carrying out this main project report
If word are considered to as symbols of approval and token of acknowledges, then led the words
play the heralding role of expressing my gratitude.
I feel great pleasure in owing sincere thanks to my project co-ordinator Dr.R.Santhosh ,and
Dr.B.ArunKumar, Assistant professor ,Department of Computer Science and Engineering for his
constant encouragement to carry out the main project report to great success
I feel great pleasure in owing sincere thanks to my project guide Mr.A.Vijay,ME Assistant
professor ,Department of Computer Science and Engineering for his constant encouragement to carry
out the main project report to great success.
I whis to express my thanks to all our staff members of department of Computer Science and
Engineering for their constant encouragement to make my Main project a great success.
DECLARATION
I affirm that the project work entitled ATTRIBUTE BASED DATA SHARING IN
CLOUD COMPUTING being submitted in partial fulfillment for the award of B.E. COMPUTER
SCIENCE AND ENGINEERING is the original work carried out by us. It has not formed the part
of any other project work submitted for award of any degree or diploma, either in this or any other
University.
---------------------------------
A.VIJAY. ME
ABSTRACT:
However, CP-ABE is limited to a potential security risk that is known as key escrow
problem, whereby the secret keys of users have to be issued by a trusted key authority.
Besides, most of the existing CP-ABE schemes cannot support attribute with arbitrary state.
In this paper, we revisit attribute-based data sharing scheme in order to solve the key
escrow issue but also improve the expressiveness of attribute, so that the resulting scheme is
more friendly to cloud computing applications.
We propose an improved two-party key issuing protocol that can guarantee that
neither key authority nor cloud service provider can compromise the whole secret key of a
user individually.
Therefore, both storage cost and encryption complexity for a cipher text are relieved.
The performance analysis and the security proof show that the proposed scheme is able to
achieve efficient and secure data sharing in cloud computing.
CHAPTER NO TITLE
PAGE NO
1 INTRODUCTION
1
2 LITERATURE SURVEY
3 SYSTEM DESCRIPTION
3.1 Feasibility study
4 SYSTEM DESIGN
4.2 Normalization
4.5 Maintenance
5 MODULE DESCRIPTION
7.1 Result
7.3 Conclusion
8 REFERENCES
CHAPTER 1
INTRODUCTION
1
CLOUD COMPUTING:
What Cloud?
2
Transactional resource acquisition gives users an intuitive interface to a
one-stop service shop. Non federated provisioning frees providers from
negotiations and service amalgamation with different resource providers.
3
Example platforms include Google App Engine, Microsoft Azure, and
Force.com.
OUR PAPER:
On demand self-service
Transference of risk.
As a result, the correctness of the data in the cloud is put at risk due to
the following reasons:
First of all, although the infrastructures under the cloud are much more
powerful and reliable than personal computing devices, they still face a broad
range of both internal and external threats to data integrity. Outages and
security breaches of noteworthy cloud services appear from time to time.
Amazon S3’s recent downtime, Gmail’s mass email deletion incident, and Apple
MobileMe’s post-launch downtime are all such examples.
Second, for benefits of their own, there are various motivations for CSPs
to behave unfaithfully toward cloud customers regarding the status of their
outsourced data. Examples include CSPs, for monetary reasons, reclaiming
storage by discarding data that has not been or is rarely accessed or even
hiding data loss incidents to maintain a reputation. In short, although
outsourcing data into the cloud is economically attractive for the cost and
complexity of long-term large-scale data storage, it does not offer any guarantee
on data integrity and availability. This problem, if not properly addressed, may
impede successful deployment of the cloud architecture.
5
input/output (I/O) and transmission across the network. Besides, it is often
insufficient to detect data corruption only when accessing the data, as it does
not give correctness assurance for un accessed data and might be too late to
recover the data loss or damage. Considering the large size of the outsourced
data and the owner’s constrained resource capability, the tasks of auditing the
data correctness in a cloud environment can be formidable and expensive for
data owners. Moreover, from the system usability point of view, data owners
should be able to just use cloud storage as if it is local, without worrying about
the need to verify its integrity. Hence, to fully ensure data security and save
data owners’ computation resources, we propose to enable publicly auditable
cloud storage services, where data owners can resort to an external third party
auditor (TPA) to verify the outsourced data when needed.
6
CHAPTER 2
LITERATURE SURVEY
7
2.1 Cloudy with a Chance of Security Challenges and Improvements
ABSTRACT:
Cloud computing is the latest wave in systems architectures. The cloud realizes computing
as a utility that is, customers submit their computing tasks to the cloud, which provides the
resources necessary to execute those tasks.
2.2 Trusted Cloud Computing With Secure Resources and Data Coloring
ABSTRACT:
Trust and security have prevented businesses from fully accepting cloud platforms. To
protect clouds, providers must first secure virtualized datacenter resources, uphold user privacy,
and preserve data integrity. The authors suggest using a trust-overlay network over multiple data
centers to implement a reputation system for establishing trust between service providers and
data owners. Data coloring and software watermarking techniques protect shared data objects
and massively distributed software modules. These techniques safeguard multi way
authentications, enable single sign-on in the cloud, and tighten access control for sensitive data in
both public and private clouds.
8
2.3 Cloud Computing the New Frontier of Internet Computing
ABSTRACT:
Cloud computing is a new field in Internet computing that provides novel perspectives in
internetworking technologies and raises issues in the architecture, design, and implementation of
existing networks and data centers.
The relevant research has just recently gained momentum, and the space of potential
ideas and solutions is still far from being widely explored.
After IEEE Internet Computing’s recent editorial board meeting in March 2010, editor in
chief Fred Douglis invited me to be department editor for this new cloud computing department.
This is a topic that’s gaining considerable research interest and momentum, and it’s
expected to be the next generation of Internet computing. Through this department, I hope to use
this momentum to gather articles from diverse sources, ranging from researchers in academia to
industry leaders who implement innovative cloud services.
Don’t Trust. And Verify a Security Architecture Stack for the Cloud
ABSTRACT:
This security article is for security architects whose companies are moving critical
systems to the cloud. Whenever technology architecture changes, it’s worth revisiting the
assumptions that went into architecture and design.
This is particularly relevant for security and cloud computing; although many
organizations rate security as a critical issue in moving to the cloud, few know what to do about
it.
Here I show some of the main trends that are driving new security technologies to cope
with the security challenges that the cloud brings to the enterprise. In particular, I look at four
promising technology “patterns” that form a stack of security architecture services for cloud
computing.
9
CHAPTER 3
SYSTEM DESCRIPTION
10
3.1 Feasibility Study
Feasibility is the determination of whether a project is worth doing. The process followed
in making this determination is called feasibility study. The feasibility of the project is analyzed
in this phase and business proposal is out forth with a very general plan for the project and some
cost estimates. During system analysis the feasibility study of the proposed system is to be
carried out.
Technical feasibility
Economical feasibility
Operational feasibility
This study is carried out to check the technical feasibility that is the technical requirements
of the system. Any system developed must not have a high demand on the available technical
resources. This will leads to high demand on the resources that are placed on the client. The
developed system must have a modest requirement, as only minimal or null chances are required
for implementing this system. The main advantage of the project is to fine the multimedia files
quickly.
This involves the feasibility of the project to generate economic benefits. A benefit cost
analysis and a breakeven analysis are important aspects of evaluating the economic feasibility of
new industrial projects. It should demonstrate the net benefit of the proposed application in light
of the benefits and costs to the agency, other state agencies and the general public as a whole.
The benefits and savings expected from the developed system out weigh the estimated cost. The
developed system is economically feasible. This project is done with the available hardware and
therefore it is economically feasible.
11
3.1.3 Operational Feasibility
Operational feasibility addresses the influences that a proposed project may have on the
social system in the project environment. The ambient social structure may be such that certain
categories of workers may be in short supply or nonexistent. The effect of the project on the
social status of the project participants must be assessed to ensure compatibility. It is common
Knowledge the computer installations have something to do understandable that the introduction
of a candidate system requires special effort to educate, sell and train the Staff on new ways of
considering business.
Without any data protection mechanism, cloud service provider (CSP), however, can
fully gain access to all data of the user.
This brings a potential security risk to the user, since CSP may compromise the data for
commercial benefits.
Accordingly, how to securely and efficiently share user data is one of the toughest
challenges in the scenario of cloud computing.
Firstly, all user’s secret keys need to be issued by a fully trusted key authority (KA). This
brings a security risk that is known as key escrow problem. By knowing the secret key of
a system user, the KA can decrypt all the user’s cipher texts, which stands in total against
to the will of the user.
12
Secondly, the expressiveness of attribute set is another concern. As far as
we know, most of the existing CP-ABE schemes can only describe binary state over
attributes, for example, “1 - satisfying” and “0 - not-satisfying”, but not dealing with
arbitrary-state attribute.
Disadvantages:
1. User’s secret keys need to be issued by a fully trusted key authority (KA). This brings a
security risk that is known as key escrow problem.
2. The secret key of a system user, the KA can decrypt all the user’s cipher texts, which
stands in total against to the will of the user.
We propose an improved key issuing protocol to resolve the key escrow problem of CP-
ABE in cloud computing.
The protocol can prevent KA and CSP from knowing each other’s master secret key so
that none of them can create the whole secret keys of users individually
Thus, the fully trusted KA can be semi-trusted. Data confidentiality and privacy can be
ensured. We present weighted attribute to improve the expression of attribute.
The weighted attribute can not only express arbitrary-state attribute (instead of the
traditional binary state), but also reduce the complexity of access policy.
Thus the storage cost of cipher text and computation complexity in encryption can be
reduced. Besides, it can express larger attribute space than ever under the same condition.
We conduct and implement comprehensive experiment for the proposed scheme. The
simulation shows that CP-WABE-RE scheme is efficient both in terms of computation
13
complexity and storage cost. In addition, the security of CP-WABE-RE scheme is also
proved under the generic group model.
Advantages:
14
3.4 SYSTEM SPECIFICATION
Hardware Requirements
Software Requirements
OS : Windows2000/NT/XP/Vista
Language : Jdk1.6
IDE : MyEclipse6.0
15
CHAPTER 4
SYSTEM DESIGN
16
4.1 DESIGN SPECIFICATION:
design, architectural design and user interface design in the design process.
These are explained in the following section. The goals of design process it to
DATA DESIGN:
DESIGN METHODOLOGY:
The two basic modern design strategies employed in software design are:
2. Bottom Up Design
the flow of control. At later stages it concern itself with the code production.
The first step is to study the overall aspects of the tasks at hand and to break it
17
into a number of independent modules. The second step is to break each one of
these modules further into independent sub modules. The process is:
that at each level the details of the design at the lower level are hidden. Only
the necessary data and control that must be called back and forth over the
that are most difficult and necessary designed decision are made the reminder
of the design is tailored to fit around the design already chose for crucial part.
the decision until the last stage of the decision. It allows making small design
changes when the design is half way through. There is danger that the
specifications will be incompatible and this will not be discovered until late in
the design process. By contrast the bottom-up strategy first focuses on the
in the middle of the problem and work our way both up and down there. In a
procedures in such cases one might consider a list of system inputs and decide
18
what functions are necessary to process these inputs. This is called back to
front design. Similarly one can start with the required outputs and work
backwards evolving so called front-back design. We have applied both the top
DATABASE DESIGN:
database are limited. One of the most useful methods of analyzing the data
required by the system for the data dictionary has developed from research into
4.2 NORMALIZATION:
The first stage is normalization is to reduce the data to its first normal
The next stage of reduction to the second normal form is to check that
the record, which one is first normal form, all the items in each record are
entirely dependent on the key of the record. If a data item is not dependent on
the key of the record, but on the other data item, then it is removed with its
19
key to form another record. This is done until each record contains data items,
The final stage of the analysis, the reduction of third normal form
involves examining each record, which one is in second normal form to see
whether any items are mutually dependent. If there are any item there are
removed to a separate record leaving one of the items behind in the original
record and using that as the key in the newly created record.
BUSINESS MODELING:
answers the following questions: what information drives the business process?
What information is generated? What generate it? Where does the information
DATA MODELING:
refined into a set of data objects that are needed to support the business. The
20
Processing description is created for addition, modifying, deleting, or retrieving
a data object.
the “classic model” or the “water fall model,” the linear sequential suggests a
system level and process through analysis, design, coding, testing, and
maintenance.
The linear sequential model is the oldest and the most widely used
the system level with a small amount of top-level analysis and design.
21
strategic business level and at the strategic business level and at the
facing. Requirements for the both the system and the software are
DESIGN:
Software design is actually a multi step process that focuses on four distinct
CODE GENERATION:
22
TESTING:
Once code has been generated, program testing process focuses on the
logical internals of the software, assuring that all statements have been
tested, and on the functional externals that is, conducting tests to uncover
errors and ensure that defined input will produce actual results that agree
with required results.
4.5 MAINTENANCE:
23
4.6 SYSTEMARCHITECTURE:
24
CHAPTER 5
MODULE DESCRIPTION
25
MODULE
Admin Authentication
Group Member
Hacker identification
MODULE DESCRIPTION
1. Group Leader
The group leader opens up a sharing area in the cloud to form a group
application. Then, he/she grants the group members the right to implement data
management. All the data in this group are available to all the group members, while they
remain private towards the outsiders of the group including the cloud provider. The group
leader can authorize some specific group members to help with the management of the
group, and this privilege can also be revoked by the group leader. When a member leaves
the group, he/she will lose the ability to download and read the shared data again.
26
File Upload
The group leader can upload the file for the group members. And the files are
ready to share.
Accept Request
The group leader also accepts the new member request.
Download File
The group members also download the group leader file.
27
CHAPTER 6
IMPLEMENTATION AND TESTING
28
6.1 SAMPLE CODE:
package Design;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.math.BigInteger;
import java.net.Socket;
import java.net.UnknownHostException;
29
import java.util.Date;
import java.util.HashMap;
import java.util.Random;
import java.util.StringTokenizer;
import java.util.TreeSet;
import java.util.Vector;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
30
import javax.swing.table.TableColumn;
import org.jvnet.substance.SubstanceLookAndFeel;
import java.io.File;
import Logic.AdmissionControl;
public Vector v;
public int vi = 0;
31
public String strpath;
public AdmissionControlUI() {
setLayout(null);
setSize(600, 500);
setLocation(10, 10);
dlm=new DefaultListModel();
jtaList.addMouseListener(this);
jsp1=new JScrollPane(jtaList);
jbSchedule.addActionListener(this);
jsp2=new JScrollPane(jtaListsch);
32
jsBulkData = new JScrollPane(jtBulkData);
// jtstatus
jtStatus.setModel(dms);
dms.addColumn("Share-File");
dms.addColumn("User-id");
dms.addColumn("Secret Sharing");
dms.addColumn("Arrived Time");
dms.addColumn("Start Time");
dms.addColumn("EndTime");
jbLoad.addActionListener(this);
jbList.addActionListener(this);
jbTransfor.addActionListener(this);
add(jbLoad);
add(jlhead);
33
add(jbTransfor);
add(jbList);
add(jlName);
add(jsp1);
add(jlNamesch);
add(jsp2);
add(jsBulkData);
//add(jbSchedule);
add(jsStatus);
setVisible(true);
//
ac = new AdmissionControl();
ac.displayText(this);
//
//
JFrame.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceAquaTheme");
SubstanceLookAndFeel.setCurrentButtonShaper("org.jvnet.substance.button.ClassicButtonShaper");
SubstanceLookAndFeel.setCurrentGradientPainter("SpecularGradientPainter");
try {
UIManager.setLookAndFeel(new SubstanceLookAndFeel())
34
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
//
new AdmissionControlUI();
if (eve.getSource() == jbSchedule) {
jtaListsch.append("strTime");
if (eve.getSource() == jbLoad) {
//
fc.showOpenDialog(this);
strpath=f.getAbsolutePath();
System.out.println(strpath);
try {
try {
35
while((str=br.readLine())!=null){
jtBulkData.append(str+"\n");
fos.write(str.getBytes());
} catch (IOException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
if (eve.getSource() == jbList) {
TreeSet<String> ts=treestr;
java.util.Iterator<String> it = ts.iterator();
while (it.hasNext()) {
36
/ StringTokenizer st = new
StringTokenizer(it.next(),"--");
String time=st.nextToken();
System.out.println("time"+time);
node =st.nextToken()+"--"+st.nextToken();
System.out.println("Node"+node);
String str1=""+rm1.nextInt(100000000);
String str2=""+rm1.nextInt(200000000);
str1.substring(2, str1.length());
str2.substring(2, str2.length());
//str1.
if (eve.getSource() == jbTransfor) {
for(int i=0;i<dms.getRowCount();i++){
System.out.println("enterlist");
sTime.add(date.getTime());
dms.setValueAt(date.getMinutes()+":"+date.getSeconds(), i, 4);
37
date.setSeconds(date.getSeconds()+5);
eTime.add(date.getTime());
dms.setValueAt(date.getMinutes()+":"+date.getSeconds(), i, 5);
new Assign().start();
int rcnt=dms.getRowCount();
int i=0;
while (true) {
long cTime=date.getTime();
if (i<rcnt) {
System.out.println("val:" + val);
String sstr=val.substring(val.lastIndexOf("--"));
38
sstr=sstr.substring(2, sstr.length());
String sys="localhost"
System.out.println("portNumber"+sstr); int
port=Integer.parseInt(sstr.trim());
try {
ObjectOutputStream oos=new
ObjectOutputStream(s.getOutputStream());
oos.writeObject("Data");
System.out.println("objectvalue Enter"+ob+"-
"+strpath);
oos.writeObject(ob+"-"+strpath);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
i++;
39
}
}else
break;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
//
//
if(me.getSource()==jtaList){
System.out.println(jtaList.getSelectedValue());
String str=jtaList.getSelectedValue()+"";
treestr=new TreeSet<String>();
treestr.add(str);
}}
40
// TODO Auto-generated method stub
}}
CLIENT GUI:
package Design;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Properties;
import java.util.Random;
41
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import javax.swing.text.JTextComponent;
import org.jvnet.substance.SubstanceLookAndFeel;
import Logic.Client;
/**
*/
42
public JScrollPane jsRec;
sysid = rm.nextInt(1000);
String str=""+sysid;
System.out.println(str);
properties.setProperty(sysname, str);
properties.store(fos,sysname);
fos.close();
setTitle("User-:"+sysid);
setSize(400, 400);
setLayout(null);
setLocation(500, 10);
jlSecretShareOne=new JLabel("SecretShareOne");
43
jlSecretShareOne.setBounds(50, 50, 150, 20);
jlSecretShareTwo=new JLabel("SecretShareTwo");
jtSecretShareOne=new JTextField();
jtSecretShareTwo=new JTextField();
//jtRecive.addMouseListener(this);
//jtRecive.setModel(dmr);
//dmr.addColumn("FilePath");
jbReq.addActionListener(this);
jbShare=new JButton("ShareData");
jbShare.addActionListener(this);
add(jlhead);
add(jbReq);
add(jsRec);
add(jlSecretShareOne);
add(jlSecretShareTwo);
44
add(jtSecretShareOne);
add(jtSecretShareTwo);
add(jbShare);
setVisible(true); }
//
JFrame.setDefaultLookAndFeelDecorated(true);
SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceTheme.AQUA")
; SubstanceLookAndFeel.setCurrentButtonShaper("org.jvnet.substance.button.ButtonShaperInfo");
SubstanceLookAndFeel.setCurrentGradientPainter("SpecularGradientPainter");
} catch (UnsupportedLookAndFeelException e)
e.printStackTrace();
} //
new ClientUI();
if(eve.getSource()==jbReq){
System.out.println("enter");
new Client().sendClient(sysid);
if(eve.getSource()==jbShare){
String strone=jtSecretShareOne.getText();
String strtwo=jtSecretShareTwo.getText();
if(strone.length()!=0&&strtwo.length()!=0){
System.out.println("one"+jtSecretShareOne.getText());
45
System.out.println("two"+jtSecretShareTwo.getText());
if(strone.equals(strcmpone)&& strtwo.equals(strtwo))
JOptionPane.showMessageDialog(null, "Data Opened"); //
String strData;
try {
jtRecive.append(strData+"\n"); }
} catch (IOException e) {
e.printStackTrace()
} catch (FileNotFoundException e) {
e.printStackTrace();
//
else{
46
JOptionPane.showMessageDialog(null, "Wrong Password");
//
Socket s;
try {
ois.writeObject("--
"+InetAddress.getLocalHost().getHostName()+"--"+sysid);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
//
else{
}}
if(me.getSource()==jtRecive){
}}
FILE OPEN:
package Design;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
48
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
this.strpath=str;
setTitle("FileReader");
setLayout(null);
setSize(700, 500);
setLocation(100, 100);
jlsh1=new JLabel("ShareOne");
49
jlsh2=new JLabel("ShareTwo");
jtsh1=new JTextField();
jtsh2=new JTextField();
jbFile=new JButton("OPenFile");
jbFile.addActionListener(this);
jta=new JTextArea();
jsp=new JScrollPane(jta);
add(jlsh1);
add(jlsh2);
add(jtsh1);
add(jtsh2);
add(jbFile);
add(jsp);
setVisible(true);
String str;
50
//FileOutputStream fos = new FileOutputStream("E:\\sharedata\\"+
"test"+".txt", true);
try {
while((str=br.readLine())!=null){
jta.append(str+"\n");
//fos.write(str.getBytes()); }
} catch (IOException e) {
e.printStackTrace(); }
} catch (FileNotFoundException e) {
e.printStackTrace();
}}}
51
6.2System Testing
Software testing is a critical element if software quality assurance represents the ultimate
reviews of specification, design and coding. Testing is vital of the system.
Errors can be injected at any stage during development. During testing, the program is
executed with correctness. A series of testing are performed for the proposed systems before the
system is delivered to the user.
Unit Testing
In the unit testing the testing is performed on each module and this module is
known as module testing. This testing was carried out during programming state itself. In this
testing all the modules working satisfactorily as regard to the expected output from the module
Unit testing is a method by which individual units of source code are tested to determine if they
are fit for use. A unit is the smallest testable part of an application. In procedural programming a
unit may be an individual function or procedure. Unit tests are created by programmers or
occasionally by white box testers.
Unit test cases embody characteristics that are critical to the success of the unit.
These characteristics can indicate appropriate/inappropriate use of a unit as well as negative
behaviors that are to be trapped by the unit. A unit test case, in and of itself, documents these
critical characteristics, although many software development environments do not rely solely
upon code to document the product in development. Unit testing provides a sort of living
documentation of the system. Developers looking to learn what functionality is provided by a
unit and how to use it can look at the unit tests to gain a basic understanding of the unit API.
53
Alpha and beta testing
Alpha testing takes place at developers' sites, and involves testing of the
operational system by internal staff, before it is released to external customers. Beta testing takes
place at customers' sites, and involves testing by a group of customers who use the system at
their own locations and provide feedback, before the system is released to other customers. The
latter is often called “field testing”.
Integration Testing
One module can have adverse effect on another such functions when combined may not
produce the desired results. Integration testing is a systematic technique for constructing the
program structure and conducting test to uncover errors associated with interface. All the
modules are combined in this testing step. The entire program is tested as the whole. The errors
uncovered are corrected for the next testing step.
The black box approach is attesting method in which test data are delivered from the
functional requirement without regard to the final program structure. Because only functionality
of the software is concerned.
In black box testing, only the functionality is determined by observing the outputs to the
corresponding input. In this testing various input images are exercised and the output images are
compared as required by the content retriever.
White box testing are the software predicates on close examination of procedure details.
It provides test cases that exercise specific test for conditions and loops. White box testing was
carried out in the order to guarantee that
Computer input procedures are designed to detect errors in the data at the lower level of
detail which is beyond the capability of the control procedures. The validation succeeds when the
software functions in the manner that can be reasonably expected by the customer.
In software engineering, the most common definition of a test case is a set of conditions
or variables under which a tester will determine if a requirement or use case upon an application
is partially or fully satisfied. It may take many test cases to determine that a requirement is fully
satisfied. In order to fully test that all the requirements of an application are met, there must be at
least one test case for each requirement unless a requirement has sub requirements. In that
situation, each sub requirement must have at least one test case. This is frequently done using a
Traceability matrix. Some methodologies, like RUP, recommend creating at least two test cases
for each requirement. One of them should perform positive testing of requirement and other
should perform negative testing. Written test cases should include a description of the
functionality to be tested, and the preparation required to ensure that the test can be conducted.
If the application is created without formal requirements, then test cases can be written
based on the accepted normal operation of programs of a similar class. In some schools or
testing, test cases are not written at all but the activities and results are reported after the tests
have been run.
What characterizes a formal, written test case is that there is a known input and an
expected output, which is worked out before the test is executed. The known input should test a
precondition and the expected output should test a post condition.
Under special circumstances, there could be a need to run the test, produce results, and
then a team of experts would evaluate if the results can be considered as a pass. This happens
often on new products' performance number determination. The first test is taken as the base line
for subsequent test / product release cycles.
55
Written test cases are usually collected into Test suites.
Variations of test cases are most commonly used in acceptance testing. Acceptance
testing is done by a group of end-users or clients of the system to ensure the developed system
meets their requirements. User acceptance testing is usually differentiated by the inclusion of
happy path or positive test cases.
Formal, written test cases consist of three main parts with subsections:
57
7.1 Results
o Expected results contains description of what tester should see after all test steps
has been completed
o Actual results contains a brief description of what the tester saw after the test
steps has been completed. This is often replaced with a Pass/Fail. Quite often if a
test case fails, reference to the defect involved should be listed in this column.
58
7.2 SCREEN SHOTS:
60
Figure1.5 : A data displayed in cloud computing.
61
Figure1.7 :The request are recived by cloud.
62
Figure1.9: Cloud assign each node start time &end time.
Figure1.10 : The cloud displaying each node start time and end time.
63
Figure1.11: The user receiving two different secret keys.
64
1.13: The data is displayed in users system.
65
Figure1.15 : The worning message has been displayed to cheater.
66
7.3 CONCLUSION:
67
FUTURE ENHANCEMENT:
Multi-Writer Model: As mentioned, cloud data storage not only provides dynamic and
scalable storage services, but also allows easy on-demand file sharing. A difficult problem is
support for services with legacy users, who may not only access but also modify the owner’s
data in the cloud. Under this multi-writer model, achieving the same data dynamics support for
public auditing services while maintaining file consistency is future challenge.
68
CHAPTER 8
REFERENCES
69
REFERENCES
2015.
276(4):354–362, 2014.
321–334, 2007.
[5] D. Boneh, B. Lynn, and H. Shacham. Short signatures from the weil
2009.
12(4):50–57, 2013.
[11] A. De Caro and V. Iovino. JPBC: java pairing based cryptography. IEEE
63(8):1951–1961, 2014.
71
the 13th ACM conference on Computer and communications security,
2282, 2013.
72
attribute-based proxy re-encryption scheme for data sharing in public
27(8):2004–2027, 2015.
[22] K. Liang, J. K. Liu, R. Lu, and D. S. Wong. Privacy concerns for photo
63, 2015.
73