Project
Project
Relational Data
ABSTRACT:
Cloud computing attracts many organizations to consider seriously regarding cloud
potential in terms of its cost-efficiency, flexibility, and offload of administrative overhead. Most
often, organizations delegate their computational operations in addition to their data to the
cloud.Despite tremendous advantages that the cloud offers, privacy and security issues in the cloud
are preventing companies to utilize those advantages.When data are encrypted, irrespective of the
underlying encryption scheme, performing any data mining tasks becomes very challenging
without ever decrypting the data.We proposed novel methods to effectively solve the DMED
problem assuming that the encrypted data are outsourced to a cloud.
1
CHAPTER 1
INTRODUCTION
1.1 GENERAL
The actual data mining task is the automatic or semi-automatic analysis of large quantities of data
to extract previously unknown interesting patterns such as groups of data records (cluster analysis),
unusual records (anomaly detection) and dependencies (association rule mining). This usually
involves using database techniques such as spatial indices. These patterns can then be seen as a
kind of summary of the input data, and may be used in further analysis or, for example, in machine
learning and predictive analytics.
1.2 OBJECTIVE:
We focus on solving the classification problem over encrypted data. In Particular,
we propose a secure k-NN classifier over encrypted data in the cloud. The proposed protocol
protects the confidentiality of Data, privacy of users input query, and hides the data access
patterns. To the best of our knowledge, our work is the first to develop secure k-NN classifier over
encrypted data under the semi-honest model. Also, we empirically analyze the efficiency of our
proposed Protocol using a real-world dataset under different parameter settings.
Title : Finding Minimum Weight Connected Dominating Set in Stochastic Graph basedOn
Learning Automata
2
Author : Peter Mell, Timothy Grance
Year : 2008
Description:
`NIST is responsible for developing standards and guidelines, including minimum requirements,
for providing adequate information security for all agency operations and assets; but such
standards and guidelines shall not apply to national security systems.Cloud computing is an
evolving paradigm. The NIST definition characterizes important aspects of cloud computing and
is intended to serve as a means for broad comparisons of cloud services and deployment
strategies, and to provide a baseline for discussion from what is cloud computing to how to best
use cloud computing. The service and deployment models defined form a simple taxonomy that
is not intended to prescribe or constrain any particular method of deployment, service delivery,
or business operation.Cloud computing is a model for enabling ubiquitous, convenient, on-
demand network access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction. This cloud model is composed of
five essential characteristics, three service models, and four deployment models.On-demand self-
service. A consumer can unilaterally provision computing capabilities, such as server time and
network storage, as needed automatically without requiring human interaction with each service
provider. Broad network access. Capabilities are available over the network and accessed
through standard mechanisms that promote use by heterogeneous thin or thick client platforms
(e.g., mobile phones, tablets, laptops, and workstations).
Description:
There are many privacy/confidentiality concerns when querying a database about personal
information. For example, if a user is querying information about a medical condition, religious
beliefs, or political leanings then the query should remain private. Furthermore, a corporation
asking a query may fear that revealing the query is a risk to their competitive advantage.
3
Furthermore, even if the database owner is trusted, there is always the fear that a corrupt insider at
the database owners organization would leak the query information. The desire to protect the
queries is not only a concern of the querying entity, but the database owner might not want this
information due to liability concerns. One way to mitigate these concerns is to make the database
publicly available, but this is not always an option. For example, if the database contains
information about individuals, then revealing this information publicly may not be legal. Also, if
the database owner wants to charge for queries, then revealing the information publicly is not a
option.The two main goals of a protocol in this pre computation model are: i) that the
computation/communication of the interactive query phase and the client computation phase is sub
linear in the size of the dataset, and ii) that the total computation/communication is close to that
required by the general solutions.
Title : Secure k-Nearest Neighbor Query over Encrypted Data in Outsourced Environments
Author : Yousef Elmehdwi, Bharath K. Samanthula and Wei Jiang
Year : 2013
Description:
As an emerging computing paradigm, cloud computing attracts many organizations to consider
utilizing the benefits of a cloud in terms of cost-efficiency, flexibility, and offload of administrative
overhead. In cloud computing model , a data owner outsources his/her database T and the DBMS
functionalities to the cloud that has the infrastructure to host outsourced databases and provides
access mechanisms for querying and managing the hosted database. On one hand, by outsourcing,
the data owner gets the benefit of reducing the data management costs and improves the quality of
service. On the other hand, hosting and query processing of data out of the data owner control
raises security challenges such as preserving data confidentiality and query privacy. One
straightforward way to protect the confidentiality of the outsourced data from the cloud as well as
from the unauthorized users is to encrypt data by the data owner before outsourcing. By this way,
the data owner can protect the privacy of his/her own data. In addition, to preserve query privacy,
authorized users require encrypting their queries before sending them to the cloud for evaluation.
Furthermore, during query processing, the cloud can also derive useful and sensitive information
about the actual data items by observing the data access patterns even if the data and query are
4
encrypted. Therefore, following from the above discussions, secure query processing needs to
guarantee confidentiality of the encrypted data confidentiality of a users query record and hiding
data access patterns.
Title : Encrypted Execution
Author : Daejun Park, Jeehoon Kang, Kihong Heo, Sungkeun Cho,Yongho Yoon, and
Kwangkeun Yi
Year : 2014
Description:
Based on homomorphic encryption, we present secret execution in which an encrypted program is
evaluated without decryption. We propose a protocol how to encrypt a given program and how to
execute the encrypted program without decryption. Our secret execution protocol guarantees that
1) encrypted programs are totally secure, in the sense that attackers can never reconstruct any piece
of original programs from encrypted programs, and 2) execution results are correct, whose
decryption yields the very results of execution of original programs.We present a cryptographic
protocol for program execution. We project cryptographic concept of homomorphism encryption
to our domain, programs and their execution. Al-though Gentry's fully homomorphic encryption
scheme itself is sucient for all operations(including program execution), our work is meaningful
in that we present a specific in-stance for program execution, that is, we, for the rest time, dentine
the blurred region unexplored so far. More speci cally, we present how to evaluate expressions
with encrypted operators, how-to handle memory operation (such as assignment and lookup
operations) under encryption, and how to execute loop under encrypted loop condition.
5
watermarking, data hiding and secret sharing. Shamir presented the first secret sharing method
in1979. Secret sharing involves transmitting different shares in different channels. Nobody can see
the entire secret message with a single share. The only way to obtain a secret is to collect a number
of shares that exceeds a predefined threshold.RSA is another example of a public key system,
which is suitable for transmitting small amounts of important data in an open channel. All of these
methods are extensively adopted.The proposed method is safer than conventional secret image
sharing, which does not consider the relationship among neighboring pixels, and requires each
dealer to keep a coefficient in the share process. In traditional secret image sharing, the relationship
between neighboring pixels is obvious for some images.Since advanced encryption standard
(AES) is a fast-block cipher method, the order of complexity of the proposed system is not bigger
than that of traditional secret image sharing. In summary, the proposed method is more secure than
traditional secret image sharing.First, the whole secret image with a key is encoded using a Randal-
like encryption system. Second, the secret image sharing method of the in and Lin is adjusted from
prime 251 to GF (256) to achieve lossless recovery.
6
CHAPTER 2
REQUIREMENT ANALYSIS
7
CHAPTER 3
SOFTWARE SPECIFICATIONS
3.1 GENERAL
This chapter is about the software language and the tools used in the development of the project.
The platform used here is JAVA.
8
Combine applications or services using the Java language to create highly customized
applications or services
Write powerful and efficient applications for mobile phones, remote processors, low-cost
consumer products, and practically any other device with a digital heartbeat
Some Ways Software Developers Learn Java
Today, many colleges and universities offer courses in programming for the Java platform.
In addition, developers can also enhance their Java programming skills by reading Sun's
java.sun.com Web site, subscribing to Java technology-focused newsletters, using the Java
Tutorial and the New to Java Programming Center, and signing up for Web, virtual, or
instructor-led courses.
Object Oriented
To be an Object Oriented language, any language must follow at least the four characteristics.
1. Inheritance :It is the process of creating the new classes and using the behavior of the
existing classes by extending them just to reuse the existing code and adding addition a
features as needed.
2. Encapsulation: It is the mechanism of combining the information and providing the
abstraction.
3. Polymorphism: As the name suggest one name multiple form, Polymorphism is the
way of providing the different functionality by thefunctions having the same name based
on the signatures of the methods.
4. Dynamicbinding: Sometimes we don't have the knowledge of objects about their
specific types while writing our code. It is the way of providing the maximum
functionality to a program about the specific type at runtime.
9
In today's environment most web sites servers dynamic pages based on user request.
Database is very convenient way to store the data of users and other things. JDBC provide excellent
database connectivity in heterogeneous database environment. Using JSP and JDBC its very
cceasy to develop database driven web application.
Java is known for its characteristic of "write once, run anywhere." JSP pages are
platfJavaServer Pages
JavaServer Pages (JSP) technology is the Java platform technology for delivering dynamic
content to web clients in a portable, secure and well-defined way. The JavaServer Pages
specification extends the Java Servlet API to provide web application developers with a robust
framework for creating dynamic web content on the server using HTML, and XML templates, and
Java code, which is secure, fast, and independent of server platforms.
JSP has been built on top of the Servlet API and utilizes Servlet semantics. JSP has become
the preferred request handler and response mechanism. Although JSP technology is going to be a
powerful successor to basic Servlets, they have an evolutionary relationship and can be used in a
cooperative and complementary manner.
Servlets are powerful and sometimes they are a bit cumbersome when it comes to
generating complex HTML. Most servlets contain a little code that handles application logic and
a lot more code that handles output formatting. This can make it difficult to separate and reuse
portions of the code when a different output format is needed. For these reasons, web application
developers turn towards JSP as their preferred servlet environment.
10
3. Manageability - web sites just keep getting bigger and we need some viable mechanism to
manage the ever-increasing content and its interaction with business systems.
4. Personalization - adding a personal touch to the web page becomes an essential factor to keep
our customer coming back again. Knowing their preferences, allowing them to configure the
information they view, remembering their past transactions or frequent search keywords are all
important in providing feedback and interaction from what is otherwise a fairly one-sided
conversation.
Apart from these general needs for a business-oriented web site, the necessity for new technologies
to create robust, dynamic and compact server-side web applications has been realized. The main
characteristics of today's dynamic web server applications are as follows:
1. Serve HTML and XML, and stream data to the web client
2. Separate presentation, logic and data
3. Interface to databases, other Java applications, CORBA, directory and mail services
4. Make use of application server middleware to provide transactional support.
5. Track client sessions.
3.3 FEATURES OF COMMON LANGUAGE
Earlier in client- server computing, each application had its own client program and it
worked as a user interface and need to be installed on each user's personal computer. Most web
applications use HTML/XHTML that are mostly supported by all the browsers and web pages are
displayed to the client as static documents.
A web page can merely displays static content and it also lets the user navigate through the
content, but a web application provides a more interactive experience.
Any computer running Servlets or JSP needs to have a container. A container is nothing
but a piece of software responsible for loading, executing and unloading the Servlets and JSP.
While servlets can be used to extend the functionality of any Java- enabled server.
They are mostly used to extend web servers, and are efficient replacement for CGI scripts.
CGI was one of the earliest and most prominent server side dynamic content solutions, so before
going forward it is very important to know the difference between CGI and the Servlets.
11
3.4 J2EE
Java Servlet is a generic server extension that means a java class can be loaded dynamically
to expand the functionality of a server. Servlets are used with web servers and run inside a Java
Virtual Machine (JVM) on the server so these are safe and portable.
Unlike applets they do not require support for java in the web browser. Unlike CGI, servlets
don't use multiple processes to handle separate request. Servets can be handled by separate threads
within the same process. Servlets are also portable and platform independent.
A web server is the combination of computer and the program installed on it. Web server
interacts with the client through a web browser. It delivers the web pages to the client and to an
application by using the web browser and he HTTP protocols respectively.
The define the web server as the package of large number of programs installed on a
computer connected to Internet or intranet for downloading the requested files using File Transfer
Protocol, serving e-mail and building and publishing web pages. A web server works on a client
server model.
12
CHAPTER 4
SYSTEM DESIGN AND IMPLEMENTATION
4.1 GENERAL DESIGN
Design Engineering deals with the various UML [Unified Modeling language] diagrams for the
implementation of project. Design is a meaningful engineering representation of a thing that is to
be built. Software design is a process through which the requirements are translated into
representation of the software. Design is the place where quality is rendered in software
engineering. Design is the means to accurately translate customer requirements into finished
product.
User
Login
User interface
Register
Secure Minimum
13
Explanation:
This is a type of behavioral diagram defined by and created from a Use-case analysis.
In this UML diagram we present a actor behavior or role in that project.
User interface
LoginDao_In
terface
Login Dao
String password Register
String username Register bean
loginCheck() doRegister()
SK-NN
Ranking Process
String Datainfo
secureMinimum()
secureMulitipliaction()
Explanation:
This type of static structure diagram that describes the structure of a system by
showing the systems classes, their attributes, operations (or methods), and the
relationships among the classes. User given query sent to server here user profile
was generated. Based on user privacy customization search it checks whether to
personalize search results or not.
14
4.1.3 OBJECT DIAGRAM
User validation
Searching data
Updating process
Upload data
User Search
Data
1: User validation 2: Searching data
User
Process
Data
Encryption
Explanation:
In this diagram user given query was sent to server and matched with user profile. Whether data
to be hided depend upon User privacy customization search, results given to user
16
4.1.6 State diagram
User
User process
Update
server
Search data
S K-NN
Process
Result
State
17
abstraction. Here user given query was sent to query analysis and result was filtered. Filtered
results are sent to user
Register
User
Login
Update Server
User
Process
Encryption
Search Decryption
data
Result
18
4.1.8 COMPONENT DIAGRAM
Interface Package
Operations
5.5
Mysql
Admin Interface
Search
Tomcat
Engine
Explanation:
This diagram depicts how components are wired together to form larger
components. User gives query in search box server, based on UPS results are filtered.
End user receives the personalized results.
19
4.1.9 DATA FLOW DIAGRAM
Level-0
User
Login Validate
True
SECURE K-NN
Choose Activity
20
Level-1
User Process
21
4.1.10 E-R DIAGRAM
Password
User E-mail id
Name
Verification
Update
Secure K-NN Encrypt
Server
Bulk Data
Result
Explanation:
Here sender and receiver is an entity and then password, name and port are all
attributes, then diamond box represents the relationship between the sender and
receiver. This diagram illustrates the relationship between database and entity
22
4.2 SYSTEM ARCHITECTURE
23
Explanation:
User profiles are generalized using greedy IL. The finding motivates us to maintain
a priority queue of candidate prune-leaf operators in descending order of the
information loss caused by the operator. This queue, denoted by Q, enables fast
retrieval of the best so- far candidate operator. Filtering results based on UPS and
results are shown to user.
4.3 GENERAL IMPLEMENTATION
4.3.1 CODING
Home.jsp
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>I Search(Admin)</title>
<metaname="keywords"content=""/>
<metaname="description"content=""/>
<!--
Template 2031 Green Age
http://www.tooplate.com/view/2031-green-age
-->
<linkhref="tooplate_style.css"rel="stylesheet"type="text/css"/>
<scriptlanguage="javascript"type="text/javascript">
function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
elseif (field.value == '') field.value = field.defaultValue;
}
</script>
24
<linkrel="stylesheet"href="css/nivo-slider.css"type="text/css"media="screen"/>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"type="text/javascript
"></script>
<scriptsrc="js/jquery.nivo.slider.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(window).load(function() {
$('#slider').nivoSlider({
effect:'random',
slices:10,
animSpeed:400,
pauseTime:2200,
startSlide:0, //Set starting Slide (0 index)
directionNav:false,
directionNavHide:false, //Only show on hover
controlNav:false, //1,2,3...
controlNavThumbs:false, //Use thumbnails for Control Nav
pauseOnHover:true, //Stop animation while hovering
manualAdvance:false, //Force manual transitions
captionOpacity:0.8, //Universal caption opacity
beforeChange: function(){},
afterChange: function(){},
slideshowEnd: function(){} //Triggers after all slides have been shown
});
});
</script>
</head>
<bodyclass="homepage">
<divid="tooplate_wrapper">
<divid="tooplate_header">
25
<divid="site_title"><h1><ahref="#">I Search</a></h1></div>
<divclass="cleaner"></div>
</div>
<divid="tooplate_menu">
<ul>
<li><ahref="home.jsp"class="current">Home</a></li>
</ul>
<divclass="cleaner"></div>
</div><!-- end of tooplate_menu -->
<divid="tooplate_middle">
<divid="slider">
<ahref="#"><imgsrc="images/slideshow/01.jpg"alt="nature 1"title="Suspendisse quis velit ac
nisl ultrices tristique a eu velit."/></a>
<ahref="#"><imgsrc="images/slideshow/02.jpg"alt="nature 2"title="Fusce eget tellus eget felis
ultrices volutpat et vitae mauris."/></a>
<ahref="#"><imgsrc="images/slideshow/03.jpg"alt="nature 3"title="Duis non est nec dui
tincidunt pulvinar lacinia vel quam."/></a>
<ahref="#"><imgsrc="images/slideshow/04.jpg"alt="nature 4"title="Phasellus in orci eget
neque tristique semper ut ac lacus."/></a>
</div>
</div>
<divid="tooplate_main">
<divclass="col_w960">
<h2>Welcome to I Search</h2>
<divclass="col_w450 float_l">
<divclass="wwd_box">
<imgsrc="images/i9.gif"height="150px"alt="Work One"/>
<h3><ahref="#">Update Server</a></h3>
<p>To update server for new image will be store</p>
<ahref="Store.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
26
</div>
<divclass="wwd_box">
<imgsrc="images/i13.gif"height="150px"alt="Work One"/>
<h3><ahref="#">New Table Creation?</a></h3>
<p>To update server for new image will be store</p>
<ahref="NewTable.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
</div>
<divclass="col_w450 float_r">
<divclass="wwd_box">
<imgsrc="images/i12.gif"height="150px"alt="Work One"/>
<h3><ahref="#">View Server</a></h3>
<p>To update server for new image will be store</p>
<ahref="choosetable.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
<divclass="wwd_box">
<imgsrc="images/i14.gif"height="150px"alt="Work One"/>
<h3><ahref="#">Delete Process</a></h3>
<p>Delete image from server.</p>
<ahref="delete.jsp"class="more float_r">Please click </a>
<divclass="cleaner"></div>
</div>
divclass="cleaner"></div>
</div>
<divclass="col_w960 col_w960_last">
<h2>Latest Projects</h2>
27
<divclass="lp_box">
<h6>Nullam ut neque neque</h6>
<ahref="#"><imgsrc="images/tooplate_image_01.jpg"alt="Image 01"/></a>
<p>Etiam ut nibh et urna cursus ultricies nec vel nunc. In hac habitasse platea dictumst.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>
<divclass="lp_box">
<h6>Sed aliquam mauris</h6>
<ahref="#"><imgsrc="images/tooplate_image_02.jpg"alt="Image 02"/></a>
<p>Donec ullamcorper feugiat nunc ut tempus. Sed sodales, nibh ut ultricies pulvinar.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>
<divclass="lp_box lp_box_last">
<h6>Aliquam aliquet sem</h6>
<ahref="#"><imgsrc="images/tooplate_image_03.jpg"alt="Image 03"/></a>
<p>Praesent auctor quam quis libero venenatis dapibus. Donec ullamcorper feugiat nunc ut
tempus.</p>
<ahref="#"class="more float_r">More</a>
<divclass="cleaner"></div>
</div>
<divclass="cleaner"></div>
</div>
<divclass="cleaner"></div>
</div><!-- end of main -->
</div><!-- end of wrapper -->
28
<divid="tooplate_cr_wrapper">
<divid="tooplate_cr">
Login.html
<!DOCTYPEhtml>
<head>
<metacharset="UTF-8"/>
<!--<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> -->
<title>Login</title>
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<metaname="description"content="Login and Registration Form with HTML5 and CSS3"/>
<metaname="keywords"content="html5, css3, form, switch, animation, :target, pseudo-class"/>
<metaname="author"content="Codrops"/>
<linkrel="shortcut icon"href="../favicon.ico">
<linkrel="stylesheet"type="text/css"href="css/demo.css"/>
<linkrel="stylesheet"type="text/css"href="css/style3.css"/>
<linkrel="stylesheet"type="text/css"href="css/animate-custom.css"/>
</head>
<body>
<divclass="container">
<!--Codrops top bar -->
<divclass="codrops-top">
29
<ahref="">
<strong>«</strong>
</a>
<spanclass="right">
<ahref="http://localhost:8080/I-iSearch/#">
<strong>Back to the I-
Search Engine</strong>
</a>
</span>
<divclass="clr"></div>
</div><!--/ Codrops top bar -->
<header>
<h1><span>I Search (Admin) To upload Server</span></h1>
<navclass="codrops-demos">
<span><strong></strong></span>
</nav>
</header>
<section>
<divid="container_demo">
<!-- hidden anchor to stop jump http://www.css3create.com/Astuce-Empecher-le-scroll-avec-l-
utilisation-de-target#wrap4 -->
<aclass="hiddenanchor"id="toregister"></a>
<aclass="hiddenanchor"id="tologin"></a>
<divid="wrapper">
<divid="login"class="animate form">
<formaction="AdminLogin"method="post">
<h1>Log in</h1>
<p>
<labelfor="username"class="uname"data-icon="u">Admin Name </label>
30
<inputid="username"name="aname"required="required"type="text"placeholder="admin
name"/>
</p>
<p>
<labelfor="password"class="youpasswd"data-icon="p">Your password </label>
<inputid="password"name="pass"required="required"type="password"placeholder="eg.
X8df!90EO"/>
</p>
<pclass="keeplogin">
<inputtype="checkbox"name="loginkeeping"id="loginkeeping"value="loginkeeping"/>
31
<p>
<labelfor="passwordsignup"class="youpasswd"data-icon="p">your password </label>
<inputid="passwordsignup"name="passwordsignup"required="required"type="password"place
holder="eg. X8df!90EO"/>
</p>
<p>
<labelfor="passwordsignup_confirm"class="youpasswd"data-icon="p">Please confirm your
password </label>
<inputid="passwordsignup_confirm"name="passwordsignup_confirm"required="required"type
="password"placeholder="eg. X8df!90EO"/>
</p>
<pclass="signin button">
<inputtype="submit"value="Sign up"/>
</p>
<pclass="change_link">
Already a member ?
<ahref="#tologin"class="to_register"> Go and log in </a>
</p>
</form>
</div>
</div>
</div>
</section>
</div>
</body>
</html>
AgentLogin.java
Package com.Servlet;
32
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;
import com.sun.xml.internal.ws.api.ha.StickyFeature;
/**
* Servlet implementation class AdminLogin
*/
@WebServlet("/AdminLogin")
public class AdminLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
33
/**
* @see HttpServlet#HttpServlet()
*/
public AdminLogin() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
String status=request.getParameter("status");
String tname=request.getParameter("tablename");
final String DATE_FORMAT_NOW = "dd-MM-yyyy";
Calendar cal = Calendar.getInstance();
34
SimpleDateFormat sdf = new
SimpleDateFormat(DATE_FORMAT_NOW);
String datetime=sdf.format(cal.getTime());
System.out.println(datetime);
ISearchInterface in=new Implementaion();
String name=request.getParameter("aname");
String password=request.getParameter("pass");
System.out.println(name+""+password);
String refreshdate=in.getdate();
if(status.contentEquals("Login")){
if(name.contentEquals("admin") && password.contentEquals("admin"))
{
System.out.println("Hi am admin");
response.sendRedirect("home.jsp");
}}
else
if(status.contentEquals("Refresh")){System.out.println("*****"+refreshdate
);
if(datetime.trim().contentEquals(refreshdate.trim())){
System.out.println("%%%%%%");
int i=in.delete(tname);}}
else{
response.sendRedirect("error.jsp");
}
}
35
NewTable.java
package com.Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.BeanClass.ImageDetails;
import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;
/**
* Servlet implementation class NewTable
*/
@WebServlet("/NewTable")
public class NewTable extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public NewTable() {
super();
36
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String tablename=request.getParameter("tname");
ImageDetails ibean=new ImageDetails();
ibean.setFilename(tablename);
ISearchInterface in=new Implementaion();
int i=in.newtable(ibean);
if(i==1){response.sendRedirect("home.jsp");}else{response.sendRedirect("e
rror.jsp");}
}
37
}
UploadFile.java
package com.Servlet;
import java.beans.beancontext.BeanContext;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.BeanClass.ImageDetails;
import com.Implementation.Implementaion;
import com.Interface.ISearchInterface;
import com.oreilly.servlet.multipart.FilePart;
import com.oreilly.servlet.multipart.MultipartParser;
import com.oreilly.servlet.multipart.ParamPart;
import com.oreilly.servlet.multipart.Part;
@WebServlet("/UploadFile")
38
public class UploadFile extends HttpServlet {
private static final long serialVersionUID = 1L;
public UploadFile() {
super();
}
// Bean Class
39
ImageDetails ibean = new ImageDetails();
// Interface process
ISearchInterface inter = new Implementaion();
// bean.setPath(fileToupload);
System.out.println(fileToupload);
fileToupload=fileToupload.substring(0,
fileToupload.indexOf(".")) +
"I-iSearch\\WebContent\\Imagestorage\\";
if (part.isFile()) {
filePart = (FilePart) part;
fileName = filePart.getFileName();
// bean.setFileSize1(fileSize);
System.out.println(" fileSize = " + fileSize);
} else if (part.isParam())
{
paramPart = (ParamPart) part;
String tagName = paramPart.getName();
System.out.println("tagName = " + tagName);
String tagValue = paramPart.getStringValue();
rank=Integer.parseInt(tagValue);
System.out.println("tagValue = " + rank);
ibean.setImagerank(rank);
ArrayList<String>paramValues=new ArrayList<String>();
paramValues.add(tagValue);
System.out.println(paramValues.size() + "arrayvalue");
ibean.setImagesdetail(paramValues);
}
}
// calling interface
ibean.setImagerank(rank);
41
ibean.setFilename(fileName);
ibean.setImagesize(imagesiz);
ibean.setPath(fileToupload);
insert = inter.imagedetail(ibean);
if (insert > 0) {
RequestDispatcher rd = request
.getRequestDispatcher("Store.jsp");
rd.forward(request, response);
} else {
RequestDispatcher
rd = request.getRequestDispatcher("error.jsp");
rd.forward(request, response);
}
}
}
Implementation.java
package com.Implementation;
importjava.beans.beancontext.BeanContext;
import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
42
import com.BeanClass.ImageDetails;
import com.DBConnection.DBConnection;
import com.Interface.ISearchInterface;
int i=0,size,size1;
size=ibean.getImagesize();
size1=size/1024;
ArrayList< String>arr=new ArrayList<>();
String id=ibean.getFilename();
System.out.println("output"+id);
try {
System.out.println("ImageDteial");
con =connection.con();
if(id.charAt(0)=='a'){
ps=con.prepareStatement("INSERT INTO
isearch.apple(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");
}
elseif(id.charAt(0)=='b'){ps=con.prepareStatement("INSERT INTO
isearch.bird(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='o'){ps=con.prepareStatement("INSERT INTO
isearch.orange(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
43
elseif(id.charAt(0)=='m'){ps=con.prepareStatement("INSERT INTO
isearch.mango(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='k'){ps=con.prepareStatement("INSERT INTO
isearch.abdul kalam(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
elseif(id.charAt(0)=='s'){ps=con.prepareStatement("INSERT INTO
isearch.steve jobs(imagename,imagesize,initialrank,dynamiccount) VALUES(?,?,?,?)");}
ps.setString(1, ibean.getFilename());
ps.setInt(2,size1);
ps.setInt(3,ibean.getImagerank());
ps.setInt(4, 0);
i=ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
}
@Override
publicint newtable(ImageDetails ibean) {
// TODO Auto-generated method stub
Statement stmt;
int i=0;
try {
con=connection.con();
PreparedStatement st;
stmt = con.createStatement();
44
st=con.prepareStatement("INSERT INTO isearch.imagecollection
VALUES(?)");
st.setString(1, ibean.getFilename());
String sql = "CREATE TABLE " +ibean.getFilename()+
"(imagename VARCHAR(45) not NULL, " +
" imagesize INTEGER(45), " +
" initialrank INTEGER(45), " +
" dynamiccount INTEGER(45), " +
" PRIMARY KEY (imagename ))";
i=st.executeUpdate();
stmt.executeUpdate(sql);
System.out.println("%^^%^^%"+i);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return i;
}
@Override
publicint refresh(String refreshdate) {
// TODO Auto-generated method stub
int i=0;
try {
con=connection.con();
ps=con.prepareStatement("UPDATE isearch.operation o SET
refreshdate='"+refreshdate+"' where id=1");
i=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
45
e.printStackTrace();
}
return i;
}
@Override
publicint delete(String refreshdate) {
int j=0;
try {
iname=refreshdate;
int i=0;
ResultSet rs=null,rs1=null;
con=connection.con();
ps=con.prepareStatement("SELECT imagename, min(dynamiccount)
FROM isearch."+refreshdate+ " GROUP BY imagename");
rs=ps.executeQuery();
while(rs.next()){i=rs.getInt(2);
iname=rs.getString(1);
File file=newFile("D:\\WORKSPACE1(2015-2016)\\I-
iSearch\\WebContent\\Imagestorage\\"+iname);
file.delete();
}
ps1=con.prepareStatement("DELETE FROM isearch."+refreshdate+ "
WHERE dynamiccount="+i);
j=ps1.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
46
return j;
}
@Override
public String getdate() {
String date=null;
ResultSet rs;
try {
con=connection.con();
ps=con.prepareStatement("SELECT refreshdate FROM isearch.operation
where id=1");
rs=ps.executeQuery();
while(rs.next()){date=rs.getString(1);}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
}
Index.html
47
<linkhref="css/style.css"rel="stylesheet"type="text/css"/>
<linkrel="stylesheet"type="text/css"href="styles.css"/>
<scripttype="text/javascript"src="js/jquery-1.4.2.min.js"></script>
<scriptsrc="js/jquery.autocomplete.js"></script>
<script>
jQuery(function() {
$("#s").keyup(function() {
$("#disjunctive").autocomplete("list.jsp");
var value = "";
$.ajax({
url :"autocontroller.jsp?q=" + $("#s").val(),
//type: "post",
data : value,
cache :false,
success :function(data) {
//alert(data);
$('#msg_Display').html(data);
}
});
});
$("#s").change(function() {
});
});
</script>
<title>i Search</title>
</head>
<body>
<divid="page">
<formaction="dyanamicsearch.jsp">
48
<divid="searchForm">
<fieldset>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br><imgsrc="img/i2.gif"width="200"height="150"
class="under"/><imgsrc="img/i10.png"width="220"height="200"class="over"/>
<imgsrc="img/i3.gif"width="150"height="200"class="row"/>
<inputtype="text"name="disjunctive"id="s"id="country"/>
<inputtype="submit"value="search"id="submitButton"/>
<divid="msg_Display"></div>
</fieldset>
</div>
</form>
</div>
</body>
</html>
Agenthome.jsp
49
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@pageimport="java.sql.*"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WCSST 19</title>
<metahttp-equiv="Content-type"content="text/html; charset=utf-8"/>
<linkrel="shortcut icon"type="image/x-icon"
href="css/images/favicon.ico"/>
<linkrel="stylesheet"href="css/style.css"type="text/css"media="all"/>
<linkrel="stylesheet"href="css/prettyCheckboxes.css"type="text/css"
media="all"/>
<linkrel="stylesheet"href="css/customScroller.css"type="text/css"
media="all"/>
<scriptsrc="js/jquery-1.4.2.js"type="text/javascript"></script>
<scriptsrc="js/prettyCheckboxes.js"type="text/javascript"></script>
<scriptsrc="js/jquery.customScroller-1.2.js"type="text/javascript"></script>
<scriptsrc="js/js-func.js"type="text/javascript"></script>
<!--[if IE 6]>
<link rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
<script src="js/png-fix.js" type="text/javascript"></script>
<![endif]-->
<scripttype="text/javascript"src='js/jquery.min.js'></script>
</head>
<script>function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
50
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML = h+":"+m+":"+s;
vart = setTimeout(function(){startTime()},500);
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}</script>
<bodyonload="startTime()">
<!-- START PAGE SOURCE -->
<divclass="shell">
<divclass="gallery"
<divclass="gallery-t">
<divclass="gallery-head">
<divclass="category">
<ahref="#">Category</a>
<divclass="dd-holder">
<divclass="dd-t"></div>
<divclass="dd">
<divclass="dd-inner">
</div>
<divclass="cl"> </div>
</div>
<divclass="dd-b"></div>
</div>
</div>
<divclass="sort-by">
<h3>Time:</h3>
<divclass="custom-checkboxes">
51
<formaction="#"method="post">
<fontcolor:"red"> <divid="txt">
</div></font>
</form>
<divclass="cl"> </div>
</div>
<divclass="cl"> </div>
</div>
<divclass="cl"> </div>
</div>
<divclass="gallery-holder">
<divclass="gallery-content">
<ul>
<%
String name = request.getParameter("disjunctive").toString();
// String
url="http://www.google.co.in/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1366&bi
h=667&q="+name+"&oq=ap&gs_l=img.1.0.0l10.3415.4554.0.5850.2.2.0.0.0.0.139.235.1j1.2.0..
..0...1ac.1.64.img..0.2.234.RvDonERYvIY";
//response.sendRedirect(url);
session.setAttribute("mainkey", name);
System.out.print("######"+name);
String iname=null;
int Size=0;
ResultSet rs=null;
52
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/isearch", "root",
"root");
PreparedStatement st=con.prepareStatement("select imagename,imagesize,dynamiccount from
isearch."+name+ " order by dynamiccount desc");
rs=st.executeQuery();
while(rs.next())
{
%>
<li><ahref="#"><img src="Imagestorage/<%=iname=rs.getString(1) %>"width="110"
height="110"alt=""/></a>
<divclass="image-hover">
<h6>Size:<%=Size=rs.getInt(2) %></h6>
<a>Most View:<%=Size=rs.getInt(3) %></a>
</div></li>
<%} %>
</ul>
<divclass="gallery-b"> </div>
</div>
</div>
</div>
</div>
</div>
<divclass="footer">
<pclass="lf">
Copyright © 2010 <ahref="#">SiteName</a> - All Rights Reserved
53
</p>
<pclass="rf">
Design by <ahref="http://www.websitecsstemplates.com/"
target="_blank">WebsiteCSSTemplates</a>
</p>
<divstyle="clear: both;"></div>
</div>
<!-- END PAGE SOURCE -->
</body>
</html>
54
CHAPTER 5
SOFTWARE TESTING
5.1 GENERAL
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.
55
5.3.2 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.
5.3.3 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.
5.3.4 Performance Test
The Performance test ensures that the output be produced within the time limits,and the
time taken by the system for compiling, giving response to the users and request being send to the
system for to retrieve the results.
5.3.5 Integration Testing
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or one step up software applications at the company level
interact without error.
5.3.6 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.
Acceptance testing for Data Synchronization:
The Acknowledgements will be received by the Sender Node after the Packets are received
by the Destination Node
The Route add operation is done only when there is a Route request in need
56
5.2.7 Build the test plan
Any project can be divided into units that can be further performed for detailed
processing. Then a testing strategy for each of this unit is carried out. Unit testing helps to identity
the possible bugs in the individual component, so the component that has bugs can be identified
and can be rectified from errors.
57
Home Page:
58
Agent Register Page:
SNAPSHOT 2
Agent Home Page:
59
SNAPSHOT 3
Store.jsp
SNAPSHOT 4
Search Client Detail
60
SNAPSHOT 4
Key Generation Page:
SNAPSHOT 5
Result Page:
61
Decryption Page:
SNAPSHOT 6
Database
62
CHAPTER 6
SAMPLE CODE
<!DOCTYPE HTML>
<!-- Website Template by freewebsitetemplates.com -->
<%@page import="com.DBConnection.DBConnection"%>
<html>
<head>
<%@ page import="java.io.*,java.sql.*"%>
<meta charset="UTF-8">
<title>Agent Home</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<body>
<div id="header">
<div>
<ul>
<li><a href="index.html">home</a></li>
<li><a href="library.html">color library</a></li>
<li><a href="gallery.html">gallery</a></li>
<li class="selected"><a href="blog.html">blog</a></li>
<li><a href="about.html">about us</a></li>
<li><a href="contact.html">contact us</a></li>
</ul>
</div>
63
</div>
<div id="body">
<div class="blog">
<div class="sidebar">
<h2>Agent Detail</h2>
<%
String id = null, cno = null;
String agentid = request.getParameter("aid");
String policyno = request.getParameter("policyno");
System.out.print("GHGG" + policyno);
DBConnection co = new DBConnection();
PreparedStatement st = null;
String key=null;
long mno, acno2;
ResultSet rs = null;
Connection con = co.con();
String name = request.getParameter("agentname");
rs = st.executeQuery();
while (rs.next()) {
id = rs.getString(2);
cno = rs.getString(6);
key=rs.getString(7);
}
%>
64
<div>
<h3 class="selected">
Agent Name: <span id="sa"><%=name%></span>
</h3>
<h3 class="selected">
Agent ID: <span><%=id%></span>
</h3>
<h3 class="selected">
Contact No: <span><%=cno%></span>
</h3>
</div>
<div>
<h3>*****************************</h3>
</div>
</div>
<div class="content">
<div class="article">
<h3>Upload Client Detail</h3>
<a href="Update.jsp?id=<%=id%>&&aname=<%=name %>" class="figure"><img
src="images/up.png" alt="" width="150px"></a>
<p>Exactly how often you should be updating statistics depends greatly on how much data
modification your indexes and data is receiving. If there is very little modification (INSERT,
UPDATE, DELETE) to the data, then you could have a more infrequent schedule for the update
statistics job.u</p>
</div>
<div class="article">
<h3>Delete Client Detail</h3>
65
<a href="Delete.jsp?aid=<%=id %>&&aname=<%=name %>" class="figure"><img
src="images/delete.png" alt=""
width="150px"></a>
<p>In general, delete or remove refers to the act of eliminating a file, text, or other object from
the computer hard drive or other media. Files deleted in Microsoft Windows are sent to the
Recycling Bin; on Apple computers, they're sent to the Trash. In most operating systems, when
files are deleted they are only marked as such, but will still exist on the hard drive until they are
overwritten by other data. This condition is what makes data recovery possible.</p>
</div>
<div class="article">
<h3>View Client Detail</h3>
<a href="search.jsp?aid=<%=id %>" class="figure"><img src="images/view.png"
alt="" width="150px"></a>
<p>In a database management system, a view is a way of portraying information in the database.
This can be done by arranging the data items in a specific order, by highlighting certain items, or
by showing only certain items. For any database, there are a number of possible views that may
be specified. Databases with many items tend to have more possible views than databases with
few items. Often thought of as a virtual table, the view doesn't actually store information itself,
but just pulls it out of one or more existing tables. Although impermanent, a view may be
accessed repeatedly by storing its criteria in a query.</p>
</div>
<div class="article">
<h3>Enter Your Secret Key</h3>
<a href="Keygenerate.jsp?id=<%=id%>" class="figure"><img
src="images/view.png" alt="" width="150px"></a>
<p>In a database management system, a view is a way of portraying information in the database.
This can be done by arranging the data items in a specific order, by highlighting certain items, or
by showing only certain items. For any database, there are a number of possible views that may
be specified. Databases with many items tend to have more possible views than databases with
66
few items. Often thought of as a virtual table, the view doesn't actually store information itself,
but just pulls it out of one or more existing tables. Although impermanent, a view may be
accessed repeatedly by storing its criteria in a query.</p>
</div>
</div>
</div>
<div id="footer"> <div>
<ul class="contact">
</ul>
<ul class="connect">
<li class="googleplus"><a
href="http://freewebsitetemplates.com/go/googleplus/">googleplus</a>
</li>
<li class="mail"><a
href="http://www.freewebsitetemplates.com/misc/contact">mail</a></li>
<li class="facebook"><a
href="http://freewebsitetemplates.com/go/facebook/">facebook</a></li>
<li class="twitter"><a
href="http://freewebsitetemplates.com/go/twitter/">twitter</a></li>
</ul>
</div>
<p>Copyright 2011. All Rights Reserved</p>
</div>
</body>
</html>
67
CHAPTER 7
7. CONCLUSION
68
REFERENCES
[1]P. Mell and T. Grance, The NIST definition of cloud computing (draft), NIST Special
Publication, vol. 800, p. 145, 2011.
[2] S. De Capitani di Vimercati, S. Foresti, and P. Samarati, Managing and accessing data in the
cloud: Privacy risks and approaches, in Proc. 7th Int. Conf. Risk Security Internet Syst., 2012,pp.
19.1272 IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 27,
NO. 5, MAY 2015
[3] P. Williams, R. Sion, and B. Carbunar, Building castles out of mud: Practical access pattern
privacy and correctness on UN trusted storage, in Proc. 15th ACM Conf. Compute. Common.
Security, 2008, pp. 139148.
[4] P. Paillier, Public key cryptosystems based on composite degree residuosity classes, in Proc.
17th Int. Conf. Theory Appl. Cryptographic Techn., 1999, pp. 223238.
[5] B. K. Samanthula, Y. Elmehdwi, and W. Jiang, k-nearest neighborclassification over
semantically secure encrypted relational data,eprint arXiv:1403.5001, 2014.
[6] C. Gentry, Fully homomorphic encryption using ideal lattices,in Proc. 41st Annu. ACM
Sympos. Theory Comput., 2009, pp. 169178.
[7] C. Gentry and S. Halevi, Implementing gentrys fully-homomorphic encryption scheme, in
Proc. 30th Annu. Int. Conf. Theory Appl. Cryptographic Techn.: Adv. Cryptol., 2011, pp. 129
148.
[8] A. Shamir, How to share a secret, Commun. ACM, vol. 22,pp. 612613, 1979.
[9] D. Bogdanov, S. Laur, and J. Willemson, Sharemind: A framework for fast privacy-preserving
computations, in Proc. 13th Eur.Symp. Res. Comput. Security: Comput. Security, 2008, pp. 192
206.
[10] R. Agrawal and R. Srikant, Privacy-preserving data mining,ACM Sigmod Rec., vol. 29, pp.
439450, 2000.
[11] Y. Lindell and B. Pinkas, Privacy preserving data mining, inProc.20th Annu. Int. Cryptol.
Conf. Adv. Cryptol., 2000, pp. 3654.
[12] P. Zhang, Y. Tong, S. Tang, and D. Yang, Privacy preserving Naive Bayes classification,
in Proc. 1st Int. Conf. Adv. Data Mining Appl., 2005, pp. 744752.
69