0% found this document useful (0 votes)
74 views77 pages

Privacy Presevering Dataset Using Cloud Computing

Nowadays, more and more companies and individuals from a large number of big data applications have outsource their data and deploy their services into cloud servers for easy data management, efficient data mining and query processing tasks. This is because cloud computing offers not only reliable services with performance guarantees, but also savings on in-house IT infrastructures. However, as datasets may contain sensitive information, e.g., patient health information, commercial data.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views77 pages

Privacy Presevering Dataset Using Cloud Computing

Nowadays, more and more companies and individuals from a large number of big data applications have outsource their data and deploy their services into cloud servers for easy data management, efficient data mining and query processing tasks. This is because cloud computing offers not only reliable services with performance guarantees, but also savings on in-house IT infrastructures. However, as datasets may contain sensitive information, e.g., patient health information, commercial data.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Privacy-Preserving 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

MTIET, CSE Page 1


Privacy-Preserving Dataset Using Cloud Computing
with key generation will be displayed. Admin can deny/accept user request. Admin generates
secret key for the user to download file. 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. Our proposed approach can significantly improve the capability of defending the
privacy breaches.

DEPT OF CSE MTIET,Palamaner Page 2


Privacy-Preserving Dataset Using Cloud Computing

2. SYSTEM ANALYSIS

2.1. EXISTING SYSTEM


 Cloud computing provides individuals and enterprises massive computing power and
scalable storage capacities to support a variety of big data applications in domains like
health care and scientific research, therefore more and more data owners are involved
to outsource their data on cloud servers for great convenience in data management
and mining.

 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.

2.2. DISADVANTAGES OF EXISTING SYSTEM:

 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.

 Complexity is more on hardware platform management.

DEPT OF CSE MTIET,Palamaner Page 3


Privacy-Preserving Dataset Using Cloud Computing

2.3. PROPOSED SYSTEM


 In this proposed system, 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 propose a novel encryption scheme by using Blowfish algorithm.

 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.

2.4. ADVANTAGES OF PROPOSED SYSTEM:

 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.

DEPT OF CSE MTIET,Palamaner Page 4


Privacy-Preserving Dataset Using Cloud Computing

3. SYSTEM REQUIREMENT SPECIFICATIONS

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:

 Unified Modelling Language (UML)


 Systems Modelling Language (SysML)

DEPT OF CSE MTIET,Palamaner Page 5


Privacy-Preserving Dataset Using Cloud Computing
 Object Constraint Language (OCL)
 Business Process Model and Notation (BPMN)
 Interactive Media Manager (IMM)
 Semantics of Business Vocabulary and Business Rules (SBVR)
 XML Schema (XSD)
 National Electronic Distributors Association (NEDA)

HOW TO INSTALL ECLIPSE IN WINDOWS


Step 1: Install JDK
To use Eclipse for Java programming, you need to first install Java Development Kit (JDK).
Read "How to Install JDK for Windows".
Step 2: Download
Download Eclipse from https://www.eclipse.org/downloads. Under "Get Eclipse IDE 2018-
12" ⇒ Click "Download Packages". For beginners, choose the "Eclipse IDE for Java
Developers" and "Windows 64-bit" (e.g., "eclipse-java-2018-12-R-win32-x86_64.zip" -
about 184MB) ⇒ Download.
Step 3: Unzip
To install Eclipse, simply unzip the downloaded file into a directory of your choice (e.g.,
"c:\myproject").
HOW DO I USE ECLIPSE?
Step 0: Launch Eclipse
Step 1: Create a new Java Project
Step 2: Write a Hello-world Java Program
Step 3: Compile & Execute the Java Program
DEBUGGING PROGRAMS IN ECLIPSE

Step 0: Write a Java Program


Step 1: Set an Initial Breakpoint
Step 2: Start Debugger
Step 3: Step-Over and Watch the Variables and Outputs
Step 4: Breakpoint, Run-To-Line, Resume and Terminate
Step 5: Switching Back to Java perspective .

DEPT OF CSE MTIET,Palamaner Page 6


Privacy-Preserving Dataset Using Cloud Computing

3.2. SOFTWARE REQUIREMENTS:-


 Operating System : Windows 10

 Application Server : Tomcat5.0/6.X

 Front End : HTML, Jsp

 Database : MySQL 5.0

 Database Connectivity : JDBC

3.3. HARDWARE REQUIREMENTS:-


 Processor : Intel Core i3

 RAM :4 GB

 Hard Disk :1 TB

DEPT OF CSE MTIET,Palamaner Page 7


Privacy-Preserving Dataset Using Cloud Computing

4. FEASIBILITY STUDY

4.1 Types of Feasibility Study


The feasibility of the project is analyzed in this phase and business proposal is put
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. This is to ensure that the
proposed system is not a burden to the company. For feasibility analysis, some understanding
of the major requirements for the system is essential.
Three key considerations involved in the feasibility analysis are

 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.

DEPT OF CSE MTIET,Palamaner Page 8


Privacy-Preserving Dataset Using Cloud Computing

5. SYSTEM DESIGN

5.1. SYSTEM ARCHITECTURE

5.2. HISTORY OF UML


Identifiable object-oriented modelling languages began to appear between mid-1970
and the late 1980s as various methodologists experimented with different approaches to
object-oriented analysis and design. The number of identified modelling languages increased
from less than 10 to more than 50 during the period 1989-1994. Many users of OO methods
had trouble finding complete satisfaction in any one modelling language, fueling the "method
wars." By the mid-1990s, new iterations of these methods began to appear and these methods
began to incorporate each other’s techniques, and a few clearly prominent methods emerged.
The development of UML began in late 1994 when Grady Booch and Jim Rum Baugh of
Rational Software Corporation began their work on unifying the Booch and OMT (Object
Modelling Technique) methods. In the fall of 1995, Ivar Jacobson and his Objector Company
joined Rational and this unification effort, merging in the OOSE (Object- Oriented Software
Engineering) method.

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

DEPT OF CSE MTIET,Palamaner Page 9


Privacy-Preserving Dataset Using Cloud Computing
unifying the semantics and notation, they could bring some stability to the object-oriented
marketplace, allowing projects to settle on one mature modelling language and letting tool
builders focus on delivering more useful features. Third, they expected that their
collaboration would yield improvements in all three earlier methods, helping them to capture
lessons learned and to address problems that none of their methods previously handled well.

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.

In January 1997 IBM, Objective, Platinum Technology, Ptech, Taskon, Reich


Technologies and Soft team also submitted separate RFP responses to the OMG. These
companies joined the UML partners to contribute their ideas, and together the partners
produced the revised UML 1.1 response. The focus of the UML 1.1 release was to improve

DEPT OF CSE MTIET,Palamaner Page 10


Privacy-Preserving Dataset Using Cloud Computing
the clarity of the UML 1.0 semantics and to incorporate contributions from the new partners.
It was submitted to the OMG for their consideration and adopted in the fall of 1997.

5.3. UML DIAGRAMS:

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 Unified Modelling Language is a standard language for specifying, Visualization,


Constructing and documenting the artifacts of software system, as well as for business
modelling and other non-software systems.

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

DEPT OF CSE MTIET,Palamaner Page 11


Privacy-Preserving Dataset Using Cloud Computing
UML VISUALIZATION
The UML includes both graphical and textual representation. It makes easy to visualize
the system and for better understanding. It is easy to design blueprints and visualize them
using UML modelling.

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 communicate the desired structure and behavior of the system.


 Visualize and control the systems architecture.

 To better understand the system and expose opportunities for specification and reuse.

 To manage risks.

GOALS OF UML

The primary goals in the design of the UML were:


 Provide users with a ready-to-use, expressive visual modelling language so they can
develop and exchange meaningful models.

 Provide extensibility and specialization mechanisms to extend the core concepts.

DEPT OF CSE MTIET,Palamaner Page 12


Privacy-Preserving Dataset Using Cloud Computing
 Be independent of particular programming languages and development processes.

 Provide a formal basis for understanding the modelling language.

 Support higher-level development concepts such as collaborations, frameworks, patterns


and components.

 Integrate best practices.

USES OF UML

The UML is intended primarily for software intensive systems. It has been used
effectively for such domain as
 Enterprise Information System.

 Banking and Financial Services.

 Telecommunications.
 Transportation.
 Defense/Aerospace.
 Retails.
 Medical Electronics.
 Scientific Fields.
 Distributed Web.

RULES OF UML
The UML has semantic rules for

 Names: It will call things, relationships and diagrams.


 Scope: The content that gives specific meaning to a name.
 Visibility: How those names can be seen and used by others.
 Integrity: How things properly and consistently relate to another.
 Execution: What it means is to run or simulate a dynamic model.

BUILDING BLOCKS OF UML

The vocabulary of the UML encompasses 3 kinds of building blocks as follows:


 Things

DEPT OF CSE MTIET,Palamaner Page 13


Privacy-Preserving Dataset Using Cloud Computing
 Relationships
 Diagrams

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

Relationships tie the things together. Relationships in the UML are


 Dependency.

 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.

DEPT OF CSE MTIET,Palamaner Page 14


Privacy-Preserving Dataset Using Cloud Computing

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

A realization is a semantic relationship between classifiers in which one classifier


specifies a contract that another classifier guarantees to carry out. Graphically, a relation is
rendered as a dashed directed line with a large open arrow head.

DIAGRAMS
Diagrams in the UML are of 2 types
 Static Diagrams.

 Dynamic Diagrams.

Static diagrams consist of


 Class Diagram.

 Object Diagram.

 Component Diagram.

 Deployment Diagram.

Dynamic diagrams consist of


 Use case Diagram

 Sequence Diagram.

 Collaboration Diagram.

 State chart Diagram.

 Activity Diagram. 

DEPT OF CSE MTIET,Palamaner Page 15


Privacy-Preserving Dataset Using Cloud Computing

5.4. ABOUT DIAGRAMS

5.4.1. CLASS 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

4. Relationships (Dependency, Generalization and association relationships)

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.

DEPT OF CSE MTIET,Palamaner Page 16


Privacy-Preserving Dataset Using Cloud Computing

2. INTERFACES

Interfaces are a collection of operations that specify a service of a class or component.


An interface describes the externally visible behavior of that element. An interface might
represent the complete behavior of a class or component.
Graphically, an interface is rendered as a circle together with its name.

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

A generalization is a specialization/generalization relationship in which objects of the


specialized element (child) are substitutable for objects of the generalized element(parent).In
this way, the child shares the structure and the behavior of the parent. Graphically, a
relationship is rendered as a solid line with hollow arrow head pointing to the parent.

5.4.2. OBJECT DIAGRAM

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.

DEPT OF CSE MTIET,Palamaner Page 17


Privacy-Preserving Dataset Using Cloud Computing

CONTENTS
The contents in an object diagram are as follows:
1. Links

2. Messages

1. LINKS

A link is a semantic connection among objects i.e., an object of an association is called as


a link. A link is rendered as a line.

2. MESSAGES

A message is a specification of a communication between objects that conveys the


information with the expectation that the activity will ensue.

5.4.3. USE CASE DIAGRAM

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

The contents of use case diagram are as follows:


 Use Case

 Actor

DEPT OF CSE MTIET,Palamaner Page 18


Privacy-Preserving Dataset Using Cloud Computing

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.

5.4.4. SEQUENCE DIAGRAM

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

A link is a semantic connection among objects i.e., an object of an association is called as


a link. A link is rendered as a line.
Graphically, a link is represented as follows:

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

A message is a specification of a communication between objects that conveys the


information with the expectation that the activity will ensue.

5.4.5. COLLABORATION DIAGRAM

Collaboration diagrams and sequence diagrams are alternate representations of an


interaction. A collaboration diagram is an interaction diagram that shows the order of
messages that implement an operation or a transaction. A sequence diagram shows the object

DEPT OF CSE MTIET,Palamaner Page 20


Privacy-Preserving Dataset Using Cloud Computing
interaction in a time-based sequence. Collaboration diagrams show objects, their links, and
their messages. They can also contain simple class instances and class utility instances. Each
collaboration diagram provides a view of the interactions or structural relationships that occur
between objects and object-like entities in the current model. These diagrams are used to
indicate the semantics of the primary and secondary interactions. They also show the
semantics of mechanisms in the logical design of the system.

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.

5.4.6. STATE CHART DIAGRAM


A state chart diagram shows a state machine, consisting of states, transitions, events and
activities. The state chart diagram emphasizes the dynamic view of a system.
COMMON PROPERTIES
A state chart diagram is just a special kind of diagram and shares the same common
properties as do all other diagrams but they differ in terms of contents.

CONTENTS
The contents of Sate chart diagram are as follows:
 States
 Transition
 Event
 Action





DEPT OF CSE MTIET,Palamaner Page 21


Privacy-Preserving Dataset Using Cloud Computing

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.

5.4.7. ACTIVITY DIAGRAM


An activity diagram shows the flow from activity to activity within a system. An activity
shows a set of activities, the sequential or branching flow from activity to activity and objects
that act and are acted. We use activity diagrams to illustrate the dynamic view of a system.
Activity diagrams emphasize the flow of control among objects. Activity diagrams provide a
way to model the workflow of a business process, code-specific information such as a class
operation. The transitions are implicitly triggered by completion of the actions in the source
activities. The main difference between activity diagrams and state charts is activity diagrams
are activity centric, while state charts are state centric.

DEPT OF CSE MTIET,Palamaner Page 22


Privacy-Preserving Dataset Using Cloud Computing

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.

DEPT OF CSE MTIET,Palamaner Page 23


Privacy-Preserving Dataset Using Cloud Computing
 Interfaces.
 Relationships (Dependency, Generalization, Association and Realization
relationships).

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.

5.4.9. DEPLOYMENT DIAGRAM


A deployment diagram shows the configuration of run-time processing nodes and the
components that live on them. Deployment diagrams address the static deployment view of
architecture. They are related to component diagram.
COMMON PROPERTIES
A deployment diagram is just a special kind of diagram and shares the same common
properties as do all other diagrams. A deployment diagram differs from all other kinds of
diagrams in its particular contents.
CONTENTS
The contents of a deployment diagram are as follows:

DEPT OF CSE MTIET,Palamaner Page 24


Privacy-Preserving Dataset Using Cloud Computing
 Nodes.

 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.

DEPT OF CSE MTIET,Palamaner Page 25


Privacy-Preserving Dataset Using Cloud Computing

CLASS DIAGRAM

Figure 5.4.1: Class diagram for Overall System

DEPT OF CSE MTIET,Palamaner Page 26


Privacy-Preserving Dataset Using Cloud Computing

USE CASE DIAGRAM

Figure 5.4.2.1 : Use case diagram for User

DEPT OF CSE MTIET,Palamaner Page 27


Privacy-Preserving Dataset Using Cloud Computing

Figure 5.4.2.2 : Use case diagram for Admin

Figure 5.4.2.3 : Use case diagram for Owner

DEPT OF CSE MTIET,Palamaner Page 28


Privacy-Preserving Dataset Using Cloud Computing

SEQUENCE DIAGRAM

Owner Cloud User Admin

Register

Register Successfull

File upload

File upload successfull

Register

Register successfull

Login

Login successfull

Search for file

Request for file

Login

Login successfull

View user details

View list of users download file

Generate key

Enter key

Download files

Logout

Logout

Logout

Figure 5.4.3: Sequence diagram for overall system

DEPT OF CSE MTIET,Palamaner Page 29


Privacy-Preserving Dataset Using Cloud Computing

COLLABORATION DIAGRAM

Figure 5.4.4: Collaboration diagram for overall system

DEPT OF CSE MTIET,Palamaner Page 30


Privacy-Preserving Dataset Using Cloud Computing

ACTIVITY DIAGRAM

Figure 5.4.5: Activity diagram for overall system

DEPT OF CSE MTIET,Palamaner Page 31


Privacy-Preserving Dataset Using Cloud Computing

STATE CHART DIAGRAM

(i) (ii) (iii)

Figure 5.4.6: State Chart diagram for (i) Owner

(ii)User

(iii) Admin

DEPT OF CSE MTIET,Palamaner Page 32


Privacy-Preserving Dataset Using Cloud Computing

COMPONENT DIAGRAM

User System Admin

Owner

Figure 5.4.7: Component diagram for overall system

DEPT OF CSE MTIET,Palamaner Page 33


Privacy-Preserving Dataset Using Cloud Computing

DEPLOYMENT DIAGRAM

User'

Adm in'

Owner''

Figure 5.4.8: Deployment diagram for overall system

DEPT OF CSE MTIET,Palamaner Page 34


Privacy-Preserving Dataset Using Cloud Computing

5.5. ENTITY RELATIONSHIP DIAGRAM

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.

These attribute types can come together in a way like –

 simple single-valued attributes


 simple multi-valued attributes
 composite single-valued attributes
 composite multi-valued attributes

DEPT OF CSE MTIET,Palamaner Page 35


Privacy-Preserving Dataset Using Cloud Computing

ENTITY-SET AND KEYS

Key is an attribute or collection of attributes that uniquely identifies an entity among


entity set.

 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

A set of relationships of similar type is called a relationship set. Like entities, a


relationship too can have attributes. These attributes are called descriptive attributes.

DEGREE OF RELATIONSHIP

The number of participating entities in a relationship defines the degree of the


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.

DEPT OF CSE MTIET,Palamaner Page 36


Privacy-Preserving Dataset Using Cloud Computing
 One-to-one − One entity from entity set A can be associated with at most one entity
of entity set B and vice versa.

 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.

DEPT OF CSE MTIET,Palamaner Page 37


Privacy-Preserving Dataset Using Cloud Computing

COMMON ENTITY RELATIONSHIP DIAGRAM SYMBOLS

An ER diagram is a means of visualizing how the information a system produces is


related. There are five main components of an ERD:

 Entities, which are represented by rectangles. An entity is an object or concept about


which you want to store information.

 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.

 Attributes, which are represented by ovals. A key attribute is the unique,


distinguishing characteristic of the entity. For example, an employee's social security
number might be the employee's key attribute.

DEPT OF CSE MTIET,Palamaner Page 38


Privacy-Preserving Dataset Using Cloud Computing
 A multi-valued attribute can have more than one value. For example, an employee
entity can have multiple skill values.

 Employee’s monthly salary is based on the employee's annual salary.

 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.

HOW TO DRAW A BASIC ER DIAGRAM

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.

DEPT OF CSE MTIET,Palamaner Page 39


Privacy-Preserving Dataset Using Cloud Computing
3. Relationships: Determine how the entities are all related. Draw lines between them
to signify the relationships and label them. Some entities may not be
related, and that’s fine. In different notation systems, the relationship could be
labelled in a diamond, another rectangle or directly on top of the connecting line.
4. Attributes: Layer in more detail by adding key attributes of entities. Attributes are
often shown as ovals.
5. Cardinality: Show whether the relationship is 1-1, 1-many or many-to-many.

DEPT OF CSE MTIET,Palamaner Page 40


Privacy-Preserving Dataset Using Cloud Computing

Fig 5.5: ER Diagram for Privacy-Preserving Dataset Using Cloud Computing

DEPT OF CSE MTIET,Palamaner Page 41


Privacy-Preserving Dataset Using Cloud Computing

6. SYSTEM CODING

6.1. SAMPLE CODE

Index.js:
<!DOCTYPE HTML>

<html>

<head>

<title>Privacy-Preserving Dataset Using Cloud Computing </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />

<link rel="stylesheet" href="css/slider-styles.css" type="text/css"

media="all" />

<script src="js/jquery.min.js"></script>

<script type="text/javascript" src="js/slider.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">

DEPT OF CSE MTIET,Palamaner Page 42


Privacy-Preserving Dataset Using Cloud Computing
<div class="main-body"></div>

</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>

<title> Privacy-Preserving Dataset Using Cloud Computing </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />

<link rel="stylesheet" href="css/slider-styles.css" type="text/css"

media="all" />

<link rel="stylesheet" href="css/form.css">

<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">

DEPT OF CSE MTIET,Palamaner Page 43


Privacy-Preserving Dataset Using Cloud Computing
<div class="wrap">

<%@include file="menu.jsp"%>

</div>

</div>

<div class="bottom-bg1">

<div class="main-body">

<div class="form">

<ul class="tab-group">

<li class="tab active"><a href="#signup">Sign


Up</a></li>

<li class="tab"><a href="#login">Log In</a></li>

</ul>

<div class="tab-content">

<div id="signup">

<c:set var="msg1" scope="session"


value="Successfully Registered" />

<c:if test="${msg=='success'}">

<p class="msg">

<c:out value="${msg1}" />

<p>

<br>

</c:if>

<c:set var="msg1" scope="session"


value="Invalid Credentials" />

<c:if test="${msg=='invalid'}">

DEPT OF CSE MTIET,Palamaner Page 44


Privacy-Preserving Dataset Using Cloud Computing
<p class="msg1">

<c:out value="${msg1}" />

<p>

<br>

</c:if>

<h1

style="text-align: center; color: #ffffff;


font-weight: 300; margin: 0 0 40px;">Sign

Up for Free</h1>

<form
action="${pageContext.request.contextPath}/scheme"

method="post">

<input type="hidden" name="source"


value="Register" />

<div class="field-wrap">

<label> Name<span
class="req">*</span>

</label> <input type="text"


name="name" required autocomplete="off" />

</div>

<div class="field-wrap">

<label> Email Address<span


class="req">*</span>

</label> <input type="email"


name="email" required autocomplete="off" />

</div>

DEPT OF CSE MTIET,Palamaner Page 45


Privacy-Preserving Dataset Using Cloud Computing

<div class="field-wrap">

<label> Phone<span
class="req">*</span>

</label> <input type="number"


name="phone" required autocomplete="off" />

</div>

<div class="field-wrap">

<label> City<span
class="req">*</span>

</label> <input type="text"


name="city" required autocomplete="off" />

</div>

<div class="field-wrap">

<select name="usertype">

<option
value="owner">Data Owner</option>

<option
value="user">User</option>

</select>

</div>

<button type="submit" class="button


button-block" />

Register

</button>

</form>

DEPT OF CSE MTIET,Palamaner Page 46


Privacy-Preserving Dataset Using Cloud Computing

</div>

<div id="login">

<h1

style="text-align: center; color: #ffffff;


font-weight: 300; margin: 0 0 40px;">Welcome

Back!</h1>

<form
action="${pageContext.request.contextPath}/scheme"

method="post">

<div class="field-wrap">

<label> Email Address<span


class="req">*</span>

</label> <input type="email"


name="email" required autocomplete="off" />

</div>

<input type="hidden" name="source"


value="Login" />

<div class="field-wrap">

<select name="usertype">

<option
value="content">Content Provider</option>

<option
value="owner">Data Owner</option>

DEPT OF CSE MTIET,Palamaner Page 47


Privacy-Preserving Dataset Using Cloud Computing
<option
value="user">User</option>

</select>

</div>

<button class="button button-block" />

Log In

</button>

</form>

</div>

</div>

<!-- tab-content -->

</div>

</div>

</div>

<%@include file="footer.jsp"%>

<script src="js/jquery.min.js"></script>

<script src="js/index.js"></script>

</body>

</html>

DEPT OF CSE MTIET,Palamaner Page 48


Privacy-Preserving Dataset Using Cloud Computing

User.java:
package org.project;

public class User {

private String name;

private String email;

private String password;

private String phone;

private String city;

private String usertype;

private String status;

public String getStatus() {

return status;

public void setStatus(String status) {

this.status = status;

public String getName() {

return name;

public void setName(String name) {

this.name = name;

DEPT OF CSE MTIET,Palamaner Page 49


Privacy-Preserving Dataset Using Cloud Computing
}

public String getEmail() {

return email;

public void setEmail(String email) {

this.email = email;

public String getPassword() {

return password;

public void setPassword(String password) {

this.password = password;

public String getPhone() {

return phone;

public void setPhone(String phone) {

this.phone = phone;

public String getCity() {

DEPT OF CSE MTIET,Palamaner Page 50


Privacy-Preserving Dataset Using Cloud Computing
return city;

public void setCity(String city) {

this.city = city;

public String getUsertype() {

return usertype;

public void setUsertype(String usertype) {

this.usertype = usertype;

DEPT OF CSE MTIET,Palamaner Page 51


Privacy-Preserving Dataset Using Cloud Computing

6.3. ABOUT PROGRAMMING LANGUAGE

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.

DEPT OF CSE MTIET,Palamaner Page 52


Privacy-Preserving Dataset Using Cloud Computing

2. PREPROCESSOR HYPERTEXT (PHP)

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.

COMMON USES OF PHP:

 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.

 Access cookies variables and set cookies.

 Access cookies variables and set cookies.

 It can encrypt data.

CHARACTERISTICS OF PHP:
Five important characteristics make PHP's practical nature possible −

 Simplicity
 Efficiency
 Flexibility
 Familiarity

DEPT OF CSE MTIET,Palamaner Page 53


Privacy-Preserving Dataset Using Cloud Computing
 Security

"Hello World" Script in PHP

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>

It will produce following result :


Hello, World

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.

DEPT OF CSE MTIET,Palamaner Page 54


Privacy-Preserving Dataset Using Cloud Computing

PHP Installation:
To start using PHP, you can:

 Find a web host with PHP and MySQL support.


 Install a web server on your own PC, and then install PHP and MySQL.

Use a Web Host With PHP Support:

 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.

SET UP PHP ON YOUR OWN PC:

However, if your server does not support PHP, you must:

 Install a web server


 Install PHP
 Install a database, such as MySQL

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 becoming so popular because of many good reasons−

 MySQL is released under an open-source license. So you have nothing to pay to use
it.

DEPT OF CSE MTIET,Palamaner Page 55


Privacy-Preserving Dataset Using Cloud Computing
 MySQL is a very powerful program in its own right. It handles a large subset of the
functionality of the most expensive and powerful database packages.
 MySQL uses a standard form of the well-known SQL data language.
 MySQL works on many operating systems and with many languages including PHP,
PERL, C, C++, JAVA, etc.
 MySQL works very quickly and works well even with large data sets.
 MySQL is very friendly to PHP, the most appreciated language for web development.
 MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your operating
system can handle it) to a theoretical limit of 8 million terabytes (TB).
 MySQL is customizable. The open-source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.

MySQL - PHP Syntax

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");

DEPT OF CSE MTIET,Palamaner Page 56


Privacy-Preserving Dataset Using Cloud Computing
The following example shows a generic syntax of PHP to call any MySQL function.

<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>

DEPT OF CSE MTIET,Palamaner Page 57


Privacy-Preserving Dataset Using Cloud Computing

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.

 Admin can deny/accept user request.

 Admin generates secret key for the user to download file.

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.

DEPT OF CSE MTIET,Palamaner Page 59


Privacy-Preserving Dataset Using Cloud Computing

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.

8.1. TYPES OF TESTS


Unit testing
Unit testing involves the design of test cases that validate that the internal program logic
is functioning properly, and that program inputs produce valid outputs. All decision branches
and internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests
perform basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined inputs and
expected results.

Test strategy and approach


Field testing will be performed manually and functional tests will be written in detail.

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.

DEPT OF CSE MTIET,Palamaner Page 60


Privacy-Preserving Dataset Using Cloud Computing

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.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures : interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key functions, or


special test cases. In addition, systematic coverage pertaining to identify Business process
flows; data fields, predefined processes, and successive processes must be considered for
testing. Before functional testing is complete, additional tests are identified and the effective
value of current tests is determined.

DEPT OF CSE MTIET,Palamaner Page 61


Privacy-Preserving Dataset Using Cloud Computing

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.

White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It
is used to test areas that cannot be reached from a black box level.

Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the
software under test is treated, as a black box .you cannot “see” into it. The test provides
inputs and responds to outputs without considering how the software works.

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.

DEPT OF CSE MTIET,Palamaner Page 62


Privacy-Preserving Dataset Using Cloud Computing

9. RESULTS

HOME PAGE

REGISTRATION PAGE

DEPT OF CSE MTIET,Palamaner Page 63


Privacy-Preserving Dataset Using Cloud Computing

LOGIN PAGE

OWNER LOGIN PAGE

DEPT OF CSE MTIET,Palamaner Page 64


Privacy-Preserving Dataset Using Cloud Computing

OTP FOR LOGIN

OWNER HOME PAGE

DEPT OF CSE MTIET,Palamaner Page 65


Privacy-Preserving Dataset Using Cloud Computing

UPLOAD PAGE

AFTER UPLOADING

DEPT OF CSE MTIET,Palamaner Page 66


Privacy-Preserving Dataset Using Cloud Computing

USER LOGIN

OTP FOR LOGIN

DEPT OF CSE MTIET,Palamaner Page 67


Privacy-Preserving Dataset Using Cloud Computing

HOME PAGE

SEARCH FILES PAGE

DEPT OF CSE MTIET,Palamaner Page 68


Privacy-Preserving Dataset Using Cloud Computing

DOWNLOAD PAGE BEFORE APPROVAL FROM ADMIN

DOWNLOAD PAGE AFTER APPROVAL FROM ADMIN

DEPT OF CSE MTIET,Palamaner Page 69


Privacy-Preserving Dataset Using Cloud Computing

ADMIN LOGIN

OTP FOR LOGIN

DEPT OF CSE MTIET,Palamaner Page 70


Privacy-Preserving Dataset Using Cloud Computing

HOME PAGE

LIST OF OWNERS PAGE

DEPT OF CSE MTIET,Palamaner Page 71


Privacy-Preserving Dataset Using Cloud Computing

LIST OF USERS

REQUESTED FILES PAGE

DEPT OF CSE MTIET,Palamaner Page 72


Privacy-Preserving Dataset Using Cloud Computing

10. CONCLUSION & FUTURE ENHANCEMENT


Cloud computing is a technology which has been used efficiently by consumers to store and
share the data publicly where the security and privacy is the main concern. Document
decryption to authorized data users are not in secure channels. Privacy preserving cloud based
dataset checks the integrity of data periodically on behalf of user and hence assures data
correctness. In this project, security is provided to data files which are placed in cloud by
encrypting the files. Also it is assured that data is not accessed by unauthorized users. Data
can be accessed only by authorized users who are registered.

DEPT OF CSE MTIET,Palamaner Page 73


Privacy-Preserving Dataset Using Cloud Computing

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.

[2] J. Somorovsky, M. Heiderich, M. Jensen, J. Schwenk, N. Gruschka, and L. Lo Iacono,


"All your clouds are belong to us: security analysis of cloud management interfaces," in
Proceedings of the 3rd ACM workshop on Cloud computing security workshop, ser. CCSW
'11. New York, NY, USA: ACM, 2011, pp. 3-14.

[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.

[7] R. A. Popa, C. M. S. Redfield, N. Zeldovich, and H. Balakrishnan, "CryptDB: protecting


confidentiality with encrypted query processing," in Proceedings of the Twenty-Third ACM
Symposium on Operating Systems Principles, ser. SOSP '11, 2011, pp. 85-100.

[8] E. Damiani, S. D. C. di Vimercati, S. Jajodia, S. Paraboschi, and P. Samarati, "Balancing


confidentiality and efficiency in untrusted relational dbmss," in ACM Conference on
Computer and Communications Security, 2003, pp. 93-102.

[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.

DEPT OF CSE MTIET,Palamaner Page 74


Privacy-Preserving Dataset Using Cloud Computing

[10] T. Ge and S. B. Zdonik, "Fast, secure encryption for indexing in a column-oriented


dbms," in Proceedings of the International Conference on Data Engineering, 2007, pp. 676-
685.

[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.

[12] P. Paillier, "Public-key cryptosystems based on composite degree residuosity classes," in


Advances in Cryptology - EUROCRYPT '99, ser. Lecture Notes in Computer Science, vol.
1592. Springer Berlin / Heidelberg, 1999, pp. 223-238.

[13] T. Ge and S. B. Zdonik, "Answering aggregation queries in a secure system model," in


Proceedings of the 33rd International Conference on Very Large Data Bases, 2007, pp. 519-
530.

[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.

DEPT OF CSE MTIET,Palamaner Page 75


Privacy-Preserving Dataset Using Cloud Computing

DEPT OF CSE MTIET,Palamaner Page 76


Privacy-Preserving Dataset Using Cloud Computing

DEPT OF CSE MTIET,Palamaner Page 77

You might also like