Privacy Presevering Dataset Using Cloud Computing
Privacy Presevering Dataset Using Cloud Computing
1. INTRODUCTION
Cloud computing has emerged as a disruptive trend in both IT industries and research
communities recently, its salient characteristics like high scalability and pay-as-you-go
fashion have enabled cloud consumers to purchase the powerful computing resources as
services according to their actual requirements, such that cloud users have no longer need to
worry about the wasting on computing resources and the complexity on hardware platform
management. Nowadays, more and more companies and individuals from a large number of
big data applications have outsourced their data and deploy their services into cloud servers
for easy data management, efficient data mining and query processing tasks. But when the
companies and individuals enjoy these advantages in cloud computing, they also need to take
the privacy concern of the outsourced data into account. Because data sets in many
applications often contain sensitive information like e-mails, electronic health records and
financial transaction records, when the data owner outsourcing such sensitive data to the
cloud servers which are considered to be partially trusted, the data can be easily accessed and
analyzed by cloud service providers illegally. Data encryption has been widely used for data
privacy preservation in data sharing scenarios; it refers to mathematical calculation and
algorithmic scheme that transform plaintext into cipher text, which is a non-readable form to
unauthorized parties.
In this project, we introduced a practical privacy-preserving scheme for large-scale
datasets, which can be efficiently outsourced to public cloud servers. Our proposed system
simultaneously meets the privacy, efficiency, and accuracy requirements. In particular, we
proposed a novel encryption scheme by using Blowfish algorithm. In this project, there are 3
modules. They are: owner registration, admin registration and user registration modules. In
owner registration module, the owner first needs to register with specified details. Then the
owner needs to login with owner details after that upload the file into cloud server. In order to
upload a file, there is an option called upload. The owner can select the file which he/she
wants to upload and send file to cloud server. In admin registration module, the admin first
login with admin details and then admin home page will be displayed. In that there are two
options: list of user and owner details and list of user file download. In the list of user details
page, a table of user details that are registered in this server will be displayed. In the list of
owner details page, a table of owner details that are registered in this server will be displayed.
Admin can remove the user or owner. In the list of user file download page, user details along
2. SYSTEM ANALYSIS
However, data sets like health records in electronic documents usually contain
sensitive information, which brings about privacy concerns if the documents are
released or shared to partially untrusted third-parties in cloud.
Data privacy preservation is to encrypt data after outsourcing to the cloud servers. So
document decryption to authorized data users are not in secure channels.
Our proposed system simultaneously meets the privacy, efficiency, and accuracy
requirements.
After encryption of data, if any user wants to access the data, the user is sent a secret
key to his/her mail by the admin. With the help of the secret key, the user can decrypt
the data and an access the data.
It shares the secret key and document decryption to authorized data users with secure
channels.
Our proposed approach can significantly improve the capability of defending the
privacy breaches.
3.1. ECLIPSE
Eclipse is an integrated development environment (IDE) used in computer
programming, and is the most widely used Java IDE. It contains a base workspace and an
extensible plug-in system for customizing the environment. Eclipse is written mostly
in Java and its primary use is for developing Java applications, but it may also be used to
develop applications in other programming languages via plug-ins, including ADA, ABAP,
C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, Javascript, PHP, Python,
R, etc. It can also be used to develop documents with LaTeX (via a TeXlipse plug-in) and
packages for the software Mathematica. Development environments include the Eclipse Java
development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for
PHP, among others.
The initial codebase originated from IBM VisualAge. The Eclipse software development
kit (SDK), which includes the Java development tools, is meant for Java developers. Users
can extend its abilities by installing plug-ins written for the Eclipse Platform, such as
development toolkits for other programming languages, and can write and contribute their
own plug-in modules. Since the introduction of the OSGi implementation (Equinox) in
version 3 of Eclipse, plug-ins can be plugged-stopped dynamically and are termed (OSGI)
bundles.
Eclipse software development kit (SDK) is free and open-source software, released under
the terms of the Eclipse Public License, although it is incompatible with the GNU General
Public License. It was one of the first IDEs to run under GNU Classpath and it runs without
problems under IcedTea.
The Modelling project contains all the official projects of the Eclipse Foundation
focusing on model-based development technologies. All are compatible with the Eclipse
Modelling Framework created by IBM. Model Development Tools projects are
implementations of various modeling standards used in the industry, and their toolkits.
Among those projects can be found implementations of several standards:
RAM :4 GB
Hard Disk :1 TB
4. FEASIBILITY STUDY
Economical Feasibility
Technical Feasibility
Social Feasibility
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the developed
system as well within the budget and this was achieved because most of the technologies
used are freely available. Only the customized products had to be purchased.
TECHNICAL 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 lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed system
must have a modest requirement, as only minimal or null changes are required for
implementing this system.
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system
and to make him familiar with it and which is welcomed, as he is the final user of the system.
5. SYSTEM DESIGN
As the primary authors of the Booch, OMT, and OOSE methods, Grady Booch, Jim
Rum Baugh, and Ivar Jacobson were motivated to create a unified modelling language for
three reasons. First, these methods were already evolving toward each other independently. It
made sense to continue that evolution together rather than apart, eliminating the potential for
any unnecessary and gratuitous differences that would further confuse users. Second, by
The efforts of Booch, Rumbaugh, and Jacobson resulted in the release of the UML 0.9
and 0.91 documents in June and October of 1996. During 1996, the UML authors invited
received feedback from the general community. They incorporated this feedback, but it was
clear that additional focused attention was still required. While Rational was bringing UML
together, efforts were being made on achieving the broader goal of an industry standard
modelling language. In early 1995, Ivar Jacobson (then Chief Technology Officer of
Objectory) and Richard Solely (then Chief Technology Officer of OMG) decided to push
harder to achieve standardization in the methods market place. In June 1995, an OMG-hosted
meeting of all major methodologists (or their representatives) resulted in the first worldwide
agreement to seek methodology standards, under the aegis of the OMG process.
During 1996, it became clear that several organizations saw UML as strategic to their
business. A Request for Proposal (RFP) issued by the Object Management Group provided
the catalyst for these organizations to join forces around producing a joint RFP response.
Rational established the UML Partners consortium with several organizations willing to
dedicate resources to work toward a strong UML 1.0 definition. Those contributing most to
the UML 1.0 definition included: Digital Equipment Corp., HP, i-Logix, IntelliCorp, IBM,
ICON Computing, MCI System house, Microsoft, Oracle, Rational Software, TI, and Unisys.
This collaboration produced UML 1.0, a modelling language that was well defined,
expressive, powerful, and generally applicable. This was submitted to the OMG in January
1997 as an initial RFP response.
UML stands for Unified Modelling Language. UML is a standardized general purpose
modelling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object
oriented computer software. In its current form UML is comprised of two major components:
a Meta-model and a notation. In the future, some form of method or process may also be
added to; or associated with, UML.
The UML represents a collection of best engineering practices that have proven
successful in the modelling of large and complex systems.
The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.
UML IS A LANGUAGE
It will provide vocabulary and rules for communications and function on conceptual and
physical representation. So, it is modelling language.
UML is a graphical language for
Visualizing
Constructing
Documenting
Specifying
UML CONSTRUCTING
UML models can be directly connected to a variety of programming languages and it is
sufficiently expressive and free from any ambiguity to permit the direct execution of models.
UML DOCUMENTING
The UML model also provides documentation of the diagrams provides variety of
documents in addition raw executable codes.
UML SPECIFYING
Specifying means building models that are precise, unambiguous and complete. In
particular, the UML address the specification of all the important analysis, design and
implementation decisions that must be made in developing and displaying a software
intensive system.
REASONS TO MODEL
To better understand the system and expose opportunities for specification and reuse.
To manage risks.
GOALS OF UML
USES OF UML
The UML is intended primarily for software intensive systems. It has been used
effectively for such domain as
Enterprise Information System.
Telecommunications.
Transportation.
Defense/Aerospace.
Retails.
Medical Electronics.
Scientific Fields.
Distributed Web.
RULES OF UML
The UML has semantic rules for
THINGS
Things are the data abstractions that are first class citizens in a model. Things are of 4
types as follows:
Structural Things.
Behavioral Things.
Grouping Things.
Notational Things.
RELATIONSHIPS
Association.
Generalization.
Realization.
1. DEPENDENCY
A dependency is a using relationship that states that change in specification of one thing
may affect another thing that uses it, but not necessarily the reverse.
Graphically, a dependency is rendered as a dashed line.
2. GENERALIZATION
A generalization is a relationship between a general thing i.e.,(called the super class or
parent) and a more specific kind of that thing i.e., "is-a-kind-of" relationship. Graphically,
generalization is rendered as a solid directed line with open arrowhead.
3. ASSOCIATION
An association is a structural relationship that specifies that objects of one thing are
connected to objects of another. Graphically, an association is rendered as a solid line.
4. REALIZATION
DIAGRAMS
Diagrams in the UML are of 2 types
Static Diagrams.
Dynamic Diagrams.
Object Diagram.
Component Diagram.
Deployment Diagram.
Sequence Diagram.
Collaboration Diagram.
Activity Diagram.
A class diagram shows a set of classes, interfaces and collaborations and their
relationships. These diagrams are the most common diagram found in modelling object-
oriented systems. Class diagrams address the static design view of a system.
COMMON PROPERTIES
A class diagram is just like as special kind of diagram and shares the same properties as
all other diagrams. But it differs from all other diagrams in its contents.
CONTENTS
1. Classes
2. Interfaces
3. Collaborations
1. CLASSES
Class is a description of a set of objects that share the same attributes, operations,
relationships and semantics. A class implements one more interface. Graphically, a class is
rendered as a rectangle, usually including its name, attributes and operations.
2. INTERFACES
3. DEPENDENCY
Dependency is a semantic relationship between two things in which a change to one thing
may affect the semantics of the other thing. Graphically, a dependency is rendered as a dashed
line, possibly directed, and occasionally including a label.
4. GENERALIZATION
Objects are typically named or anonymous instance of class, but may also represent
instance of other thing such as components, collaboration and nodes. Graphically, object is
rendered as a rectangle with underlining its name.
CONTENTS
The contents in an object diagram are as follows:
1. Links
2. Messages
1. LINKS
2. MESSAGES
A use case diagram shows a set of use cases and shares the same common properties as
do all other diagrams. A use case diagram differs from all other kinds of diagrams in its
particular content.
CONTENTS
Actor
USE CASE
Use case is a description of set of sequence of actions that a system performs that yields
an observable result of value to a particular use case is used to structure the behavioral things
in a model. A use case is realized by collaboration. Graphically a use case is rendered as an
ellipse with solid line.
The use case includes only its name, as shown below.
ACTOR
Actor is the user of the system, who performs action on the system and to whom the
system yields an observable result of value.
The sequence diagram is an interaction diagram that emphasizes the time ordering of
messages. Graphically a sequence diagram is a table that shows objects arranged along the X
axis and messages, ordered in increasing time, along the Y axis.
COMMON PROPERTIES
The sequence diagram just like as special kind of diagram and shares same properties as
all other diagrams. But it differs from all other diagrams in its contents.
CONTENTS
The contents of Sequence diagram are as follows:
Links.
Objects.
Messages.
DEPT OF CSE MTIET,Palamaner Page 19
Privacy-Preserving Dataset Using Cloud Computing
LINKS
OBJECTS
Objects are typically named or anonymous instance of class, but may also represent
instance of other thing such as components, collaboration and nodes.
Graphically, object is rendered as a rectangle with underlining its name.
MESSAGES
MESSAGE ICONS
A message icon represents the communication between objects indicating that an action
will follow. The message icon is a horizontal, solid arrow connecting two lifelines together.
A message icon can appear in 3 ways: message icon only, message icon with sequence
number, and message icon with sequence number and message label. There are two types of
numbering schemes.
1. Flat numbered sequence: In these messages are numbered as 1, 2, 3….
2. Decimal numbered sequence: In this the messages are given numbers as 1.1, 1.2, 1.3……It
makes clear which operation is calling which other operation.
CONTENTS
The contents of Sate chart diagram are as follows:
States
Transition
Event
Action
STATE
State is a condition or situation in the life of an object during which it satisfies some
condition, performs some activity, or waits for some events. Graphically, a state is rendered
as a rectangle with rounded corners.
TRANSITION
A transition is a relationship between two states indicating that an object in the first state
will perform certain actions and enter the second state when a specified event occurs and
specified conditions are satisfied. Graphically, a transition is rendered as a solid directed line.
EVENT
An event is the specification of a significant occurrence that has a location in time and
space.
ACTION
An action is an executable atomic computation that results in a change in state of the
model or the return of a value.
An activity diagram is typically used for modelling the sequence of activities in a process,
whereas a state chart is better suited to model the discrete stages of an object’s lifetime. An
activity represents the performance of task or duty in a workflow. It may also represent the
execution of a statement in a procedure. You can share activities between state machines.
However, transitions cannot be shared. An action is described as a "task" that takes place
while inside a state or activity.
Actions on activities can occur at one of four times: An end state represents a final or
terminal state on an activity diagram or state chart diagram.
A start state (also called an "initial state") explicitly shows the beginning of a
workflow on an activity diagram.
Synchronizations enable you to see a simultaneous workflow in an activity diagram.
Synchronizations visually define forks and joins representing parallel workflow.
An object flow on an activity diagram represents the relationship between an activity
and the object that creates it (as an output) or uses it (as an input).
A fork construct is used to model a single flow of control that divides into two or
more separate, but simultaneous flows.
A corresponding join should ideally accompany every fork that appears on an activity
diagram. A join consists of two of more flows of control that unite into a single flow
of control.
5.4.8. COMPONENT DIAGRAM
A component diagram shows the organizations and dependencies among set of
components. The component diagram emphasizes the static implementation view of a system.
The implementation view of a system encompasses the components and files that are used to
assemble and release the physical system.
COMMON PROPERTIES
A component diagram is just a special kind of diagram and shares the same common
properties as all the diagrams but they in terms of contents.
CONTENTS
A component diagram mainly consists of three contents. They are mentioned as follows:
Components.
COMPONENTS
A component is a physical and replaceable part of a system that conforms to and provides
the realization of a set of interfaces. Graphically, a component is rendered as a rectangle with
tabs.
INTERFACE
An interface is a collection of operations that are used to specify a service of a class or
component. Graphically it is rendered as a circle.
Relationships.
NODES
A node is a physical element that exists at run time and represents a computational
generally having at least some memory and often, processing capability. Graphically, a node
is rendered as a cube, usually including only its name.
RELATIONSHIPS
1. DEPENDENCY
Dependency is a semantic relationship between two things in which a change to one
thing may affect the semantics of the other thing. Graphically, a dependency is rendered as a
dashed line, possibly directed, and occasionally including a label.
2. ASSOCIATION
An association is a structural relationship that describes a set of links, a link being a
connection among objects. Aggregation is a special kind of association, representing a
structural relationship between a whole and its parts. Graphically, an association is rendered
as a solid line, possibly directed, occasionally including a label.
Like all other diagrams, deployment diagram may contain notes and constraints.
Deployment diagrams may also contain components, each of which must live on some node.
Deployment diagram may also contain packages, which are used to group elements of your
model into large chunks.
CLASS DIAGRAM
SEQUENCE DIAGRAM
Register
Register Successfull
File upload
Register
Register successfull
Login
Login successfull
Login
Login successfull
Generate key
Enter key
Download files
Logout
Logout
Logout
COLLABORATION DIAGRAM
ACTIVITY DIAGRAM
(ii)User
(iii) Admin
COMPONENT DIAGRAM
Owner
DEPLOYMENT DIAGRAM
User'
Adm in'
Owner''
The ER model defines the conceptual view of a database. It works around real-world
entities and the associations among them. At view level, the ER model is considered a good
option for designing databases.
ENTITY
An entity can be a real-world object, either animate or inanimate, that can be easily
identifiable. For example, in a school database, students, teachers, classes, and courses
offered can be considered as entities. All these entities have some attributes or properties that
give them their identity.
ATTRIBUTES
Entities are represented by means of their properties, called attributes. All attributes have
values. For example, a student entity may have name, class, and age as attributes. There
exists a domain or range of values that can be assigned to attributes.
TYPES OF ATTRIBUTES
Simple attribute - Simple attributes are atomic values, which cannot be divided
further.
Composite attribute - Composite attributes are made of more than one simple
attribute.
Derived attribute - Derived attributes are the attributes that do not exist in the
physical database, but their values are derived from other attributes present in the
database.
Single-value attribute - Single-value attributes contain single value.
Multi-value attribute - Multi-value attributes may contain more than one values.
Super Key − A set of attributes (one or more) that collectively identifies an entity in
an entity set.
Candidate Key − A minimal super key is called a candidate key. An entity set may
have more than one candidate key.
Primary Key − A primary key is one of the candidate keys chosen by the database
designer to uniquely identify the entity set.
RELATIONSHIP
The association among entities is called a relationship. For example, an employee works
at a department, a student enrolls in a course. Here, Works at and Enrolls are called
relationships.
RELATIONSHIP SET
DEGREE OF RELATIONSHIP
Binary = degree 2
Ternary=degree 3
N-ary= degree
MAPPING CARDINALITIES
Cardinality defines the number of entities in one entity set, which can be associated with
the number of entities of other set via relationship set.
One-to-many − One entity from entity set A can be associated with more than one
entities of entity set B however an entity from entity set B, can be associated with at
most one entity.
Many-to-one − More than one entities from entity set A can be associated with at
most one entity of entity set B, however an entity from entity set B can be associated
with more than one entity from entity set A.
Many-to-many − One entity from A can be associated with more than one entity
from B and vice versa.
A weak entity is an entity that must defined by a foreign key relationship with
another entity as it cannot be uniquely identified by its own attributes alone.
Actions, which are represented by diamond shapes, show how two entities share
information in the database.
In some cases, entities can be self-linked. For example, employees can supervise other
employees.
Connecting lines, solid lines that connect attributes to show the relationships of
entities in the diagram.
Cardinality specifies how many instances of an entity relate to one instance of
another entity. Ordinality is also closely linked to cardinality. While cardinality
specifies the occurrences of a relationship, ordinality describes the relationship as
either mandatory or optional.
ER DIAGRAM USES
When documenting a system or process, looking at the system in multiple ways increases
the understanding of that system. ERD diagrams are commonly used in conjunction with a
data flow diagram to display the contents of a data store. They help us to visualize how data
is connected in a general way, and are particularly useful for constructing a relational
database.
1. Purpose and scope: Define the purpose and scope of what you’re analyzing or
modeling.
2. Entities: Identify the entities that are involved. When you’re ready, start drawing
them in rectangles (or your system’s choice of shape) and labelling them as nouns.
6. SYSTEM CODING
Index.js:
<!DOCTYPE HTML>
<html>
<head>
media="all" />
<script src="js/jquery.min.js"></script>
</head>
<body class="index">
<div class="header">
<div class="wrap">
<%@include file="title.jsp"%>
<div class="clear"></div>
</div>
</div>
<div class="nav-wrap">
<div class="wrap">
<%@include file="menu.jsp"%>
</div>
</div>
<div class="bottom-bg">
</div>
<%@include file="footer.jsp"%>
</body>
</html>
6.2 Login.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML>
<html>
<head>
media="all" />
<script src="js/jquery.min.js"></script>
<script src="js/index.js"></script>
</head>
<body class="login">
<div class="header">
<div class="wrap">
<%@include file="title.jsp"%>
<div class="clear"></div>
</div>
</div>
<div class="nav-wrap">
<%@include file="menu.jsp"%>
</div>
</div>
<div class="bottom-bg1">
<div class="main-body">
<div class="form">
<ul class="tab-group">
</ul>
<div class="tab-content">
<div id="signup">
<c:if test="${msg=='success'}">
<p class="msg">
<p>
<br>
</c:if>
<c:if test="${msg=='invalid'}">
<p>
<br>
</c:if>
<h1
Up for Free</h1>
<form
action="${pageContext.request.contextPath}/scheme"
method="post">
<div class="field-wrap">
<label> Name<span
class="req">*</span>
</div>
<div class="field-wrap">
</div>
<div class="field-wrap">
<label> Phone<span
class="req">*</span>
</div>
<div class="field-wrap">
<label> City<span
class="req">*</span>
</div>
<div class="field-wrap">
<select name="usertype">
<option
value="owner">Data Owner</option>
<option
value="user">User</option>
</select>
</div>
Register
</button>
</form>
</div>
<div id="login">
<h1
Back!</h1>
<form
action="${pageContext.request.contextPath}/scheme"
method="post">
<div class="field-wrap">
</div>
<div class="field-wrap">
<select name="usertype">
<option
value="content">Content Provider</option>
<option
value="owner">Data Owner</option>
</select>
</div>
Log In
</button>
</form>
</div>
</div>
</div>
</div>
</div>
<%@include file="footer.jsp"%>
<script src="js/jquery.min.js"></script>
<script src="js/index.js"></script>
</body>
</html>
User.java:
package org.project;
return status;
this.status = status;
return name;
this.name = name;
return email;
this.email = email;
return password;
this.password = password;
return phone;
this.phone = phone;
this.city = city;
return usertype;
this.usertype = usertype;
1. JAVA:
Java is a general purpose computer programming language that is concurrent, class-
based, object-oriented, and specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers "write once, run
anywhere" (WORA), meaning that compiled Java code can run on all platforms that support
Java without the need for recompilation. Java applications are typically compiled
to "bytecode" that can run on any Java virtual machine (JVM) regardless of the
underlying computer architecture. The language derives much of its original features
from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than
either of them. As of 2016, Java was one of the most popular programming languages in
use, particularly for client-server web applications, with a reported 9 million developers.
Java was originally developed by a Canadian James Gosling at Sun Microsystems (which has
since been acquired by Oracle) and released in 1995 as a core component of Sun
Microsystems' Java platform. The original and reference implementation Java compilers,
virtual machines, and class libraries were originally released by Sun under proprietary
licenses. As of May 2007, in compliance with the specifications of the Java Community
Process, Sun had relicensed most of its Java technologies under the GNU General Public
License. Meanwhile, others have developed alternative implementations of these Sun
technologies, such as the GNU Compiler for Java(bytecode compiler), GNU
Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
The latest version is Java SE 12, released on March 2019, which is a currently
supported long-term support (LTS) version by Oracle. Since Java 9 is no longer
supported, Oracle advises its users to "immediately transition" to Java 12. Oracle released the
last public update for the legacy Java 8 LTS, which is free for commercial use, in January
2019. Java 8 will be supported with public updates for personal use up to at least December
2020. Oracle and others "highly recommend that you uninstall older versions of
Java" because of serious risks due to unresolved security issues.
PHP is a server-side scripting language designed for web development but also used as a
general-purpose programming language. PHP originally stood for Personal Home Page, but it
now stands for the recursive acronym PHP Hypertext Preprocessor. PHP code may be emb-
edded into HTML code, or it can be used in combination with various web template systems,
web content management systems, and web frameworks. PHP code is usually processed by a
PHP interpreter implemented as a module in the web server or as a Common Gateway Inte-
rface (CGI) executable. The web server combines the results of the interpreted and executed
PHP code, which may be any type of data, including images, with the generated web page.
PHP code may also be executed with a command-line interface (CLI) and can be used to
implement standalone graphical applications.
PHP has been widely ported and can be deployed on most web servers on almost every
operating system and platform, free of charge. PHP is basically used for developing web
based software applications. PHP creates some useful environment variables that can be seen
in the phpinfo.php page that was used to setup the PHP environment.
PHP performs system functions, i.e. from files on a system it can create, open, read,
write, and close them.
PHP can handle forms, i.e. gather data from files, save data to a file, through email
you can send data, return data to the user.
You add, delete and modify elements within your database through PHP.
CHARACTERISTICS OF PHP:
Five important characteristics make PHP's practical nature possible −
Simplicity
Efficiency
Flexibility
Familiarity
To get a feel for PHP, first start with simple PHP scripts. Since "Hello, World!" is an
essential example, first we will create a friendly little "Hello, World!" script. As
mentioned earlier, PHP is embedded in HTML. That means that in amongst your normal
HTML you'll have PHP statements like this
<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo "Hello, World!";?>
</body>
</html>
VERSIONS OF PHP:
Version 1.0 is used to accelerate bug reporting and improve the code. It included Perl like
variables, form handling, and the ability to embed HTML. The syntax resembled simpler,
more limited and less consistent. In php 3 public testing was developed. PHP 4 is no
longer under development nor will any security updates be released. PHP 5 included new
features such as improved support for object-oriented programming, the PHP Data
Objects (PDO) extension which defines a lightweight and consistent interface for
accessing databases, and numerous performance enhancements. In 2008 PHP 5 became
the only stable version under development. Late static binding had been missing from
PHP and was added in version 5.3 Version of PHP 6 planned to include native Unicode
support.
PHP Installation:
To start using PHP, you can:
If your server has activated support for PHP you do not need to do anything.
Just create some .php files, place them in your web directory, and the server will
automatically parse them for you.
You do not need to compile anything or install any extra tools.
Because PHP is free, most web hosts offer PHP support.
The official PHP website (PHP.net) has installation instructions for PHP:
http://php.net/manual/en/install.php
MySQL:
MySQL is the most popular Open Source Relational SQL Database Management System. It
is one of the best RDBMS being used for developing various web-based software
applications.
It is a fast, easy-to-use RDBMS being used for many small and big businesses and is
developed, marketed and supported by MySQL AB, which is a Swedish company.
MySQL is released under an open-source license. So you have nothing to pay to use
it.
MySQL works very well in combination of various programming languages like PERL, C,
C++, JAVA and PHP. Out of these languages, PHP is the most popular one because of its
web application development capabilities. This tutorial focuses heavily on using MySQL in a
PHP environment. If you are interested in MySQL with PERL, then you can consider reading
the PERL Tutorial.
PHP provides various functions to access the MySQL database and to manipulate the data
records inside the MySQL database. You would require to call the PHP functions in the same
way you call any other PHP function. The PHP functions for use with MySQL have the
following general format.
mysql_function(value,value,...);
The second part of the function name is specific to the function, usually a word that describes
what the function does. The following are two of the functions, which we will use in our
tutorial.
mysqli_connect($connect);
mysqli_query($connect,"SQL statement");
<html>
<head>
<title>PHP with MySQL</title>
</head>
<body>
<?php
$retval = mysql_function(value,[value,...]); if(!$retval ){ die("Error: a related error
message");
}
?>
</body>
</html>
7. SYSTEM IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned out into a
working system. Thus, it can be considered to be the most critical stage in achieving a
successful new system and in giving the user, confidence that the new system will work and
be effective.
The implementation stage involves careful planning, investigation of the existing system and
its constraints on implementation, designing of methods to achieve changeover and
evaluation of change over methods.
7.1. MODULES:
In this project, 3 modules are present. They are:
Owner Registration
Admin Registration
User Registration
Owner Registration:
In owner registration module, the owner first needs to register with specified details.
Then the owner needs to login with owner details after that upload the file into cloud
server.
In order to upload a file, there is an option called choose a file option. The owner can
select the file which he/she wants to upload and send file to cloud server.
Admin Registration:
In admin registration module, the admin first login with admin details and then admin
home page will be displayed.
In that there are two options: list of user and owner details and list of user file
download.
In the list of user details page, a table of user details that are registered in this server
will be displayed.
In the list of owner details page, a table of owner details that are registered in this
server will be displayed.
DEPT OF CSE MTIET,Palamaner Page 58
Privacy-Preserving Dataset Using Cloud Computing
Admin can remove the user or owner.
In the list of user file download page, user details along with key generation will be
displayed.
User Registration:
In user registration module, user first need to register with specified details then the
user can login and download the files.
After login, the user will get user home page. In that the user can view files which the
owner has uploaded.
If user wants to download those files, he/she needs to send request for key.
The request will be sent to the admin. If admin accepts user request, then user can
download file from the cloud server.
8. SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub assemblies, assemblies and/or a finished product It is the process of
exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format.
No duplicate entries should be allowed.
All links should take the user to the correct page.
Integration testing
Integration tests are designed to test integrated software components to determine if
they actually run as one program. Testing is event driven and is more concerned with the
basic outcome of screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing is specifically aimed
at exposing the problems that arise from the combination of components.
The task of the integration test is to check that components or software applications, e.g.
components in a software system interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user
manuals.
System Test
System testing ensures that the entire integrated software system meets requirements. It tests
a configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
9. RESULTS
HOME PAGE
REGISTRATION PAGE
LOGIN PAGE
UPLOAD PAGE
AFTER UPLOADING
USER LOGIN
HOME PAGE
ADMIN LOGIN
HOME PAGE
LIST OF USERS
REFERENCES
[1] T. Ristenpart, E. Tromer, H. Shacham, and S. Savage, "Hey, you, get off of my cloud:
exploring information leakage in third-party compute clouds," in ACM Conference on
Computer and Communications Security, 2009, pp. 199-212.
[3] D. X. Song, D. Wagner, and A. Perrig, "Practical techniques for searches on encrypted
data," in SP '00: Proceedings of the 2000 IEEE Symposium on Security and Privacy, 2000,
pp. 44-55.
[4] H. Hacigumus, B. R. Iyer, C. Li, and S. Mehrotra, "Executing SQL over encrypted data in
the database service provider model," in Proceedings of the ACM SIGMOD international
conference on Management of data, 2002, pp. 216-227. [Online]. Available:
citeseer.ist.psu.edu/hacigumus02executing.html.
[5] B. Hore, S. Mehrotra, and G. Tsudik, "A privacy-preserving index for range queries," in
Proc. of the 30th Int'l Conference on Very Large Databases VLDB, 2004, pp. 720-731.
[6] R. Agrawal, J. Kiernan, R. Srikant, and Y. Xu, "Order preserving encryption for numeric
data," in SIGMOD '04: Proceedings of the 2004 ACM SIGMOD international conference on
Management of data, 2004, pp. 563-574.
[9] E. Shmueli, R. Waisenberg, Y. Elovici, and E. Gudes, "Designing secure indexes for
encrypted databases," in Proceedings of the IFIP Conference on Database and Applications
Security, 2005, pp. 54-68.
[11] S. Wang, D. Agrawal, and A. El Abbadi, "A comprehensive framework for secure query
processing on relational data in the cloud," in Proceedings of the 8th VLDB international
conference on Secure data management, ser. SDM'11. Berlin, Heidelberg: Springer-Verlag,
2011, pp. 52-69.
[14] Computing arbitrary functions of encrypted data," Commun. ACM, vol. 53, pp. 97-105,
2010.
[15] S. Bajaj and R. Sion, "TrustedDB: a trusted hardware based database with privacy and
data confidentiality," in Proceedings of the 2011 international conference on Management of
data, ser. SIGMOD '11, 2011, pp. 205-216.
[16] D. Song, E. Shi, I. Fischer, and U. Shankar, "Cloud data protection for the masses,"
IEEE Computer, vol. 45, no. 1, pp. 39-45, 2012.