You are on page 1of 65

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

1.ABSTRACT

Searchable Public-Key Cipher texts with Hidden Structures (SPCHS) for keyword search
as fast as possible without sacrificing semantic security of the encrypted keywords. In
SPCHS, all keyword-searchable cipher texts are structured by hidden relations, and with
the search trapdoor corresponding to a keyword, the minimum information of the
relations is disclosed to a search algorithm as the guidance to find all matching cipher
texts efficiently. We construct a SPCHS scheme from scratch in which the cipher texts
have a hidden star-like structure. We prove our scheme to be semantically secure in the
Random Oracle (RO) model. The search complexity of our scheme is dependent on the
actual number of the cipher texts containing the queried keyword, rather than the number
of all cipher texts. Finally, we present a generic SPCHS construction from anonymous
identity-based encryption and collision-free full-identity malleable Identity-Based Key
Encapsulation Mechanism (IBKEM) with anonymity. It illustrates two collision-free fullidentity malleable IBKEM instances, which are semantically secure and anonymous,
respectively, in the RO and standard models. The latter instance enables us to construct an
SPCHS scheme with semantic security in the standard

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

2. SCOPE OF THE PROJECT

To provide providing highly efficient search performance without


sacrificing semantic security in Public Encryption Key Word
Search. In the existing system, it can be achieved duly organizing
the cipher texts with elegantly designed but hidden relations

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

3. INTRODUCTION
3.1 INTRODUCTION TO PROJECT
Public-key encryption with keyword search
(PEKS), has the advantage that anyone who knows the receivers public key can
upload keyword-searchable cipher texts to a server. The receiver can delegate the
keyword search to the server. More specifically, each sender separately encrypts a
file and its extracted keywords and sends the resulting cipher texts to a server; when
the receiver wants to retrieve the files containing a specific keyword, he delegates a
keyword search trapdoor to the server; the server finds the encrypted files containing
the queried keyword without knowing the original files or the keyword itself, and
returns the corresponding encrypted files to the receiver; finally, the receiver
decrypts these encrypted files.Existing semantically secure PEKS schemes take
search time linear with the total number of all cipher texts. This makes retrieval from
large-scale databases prohibitive. Therefore, more efficient search performance is
crucial for practically deploying PEKS schemes. One of the prominent works to
accelerate the search over encrypted keywords in the public-key setting is known as
deterministic encryption An encryption scheme is deterministic if the encryption
algorithm is deterministic. It focus on enabling search over encrypted keywords to
be as efficient as the search for unencrypted keywords, such that a cipher text
containing a given keyword can be retrieved in time complexity logarithmic in the
total number of all cipher texts. This is reasonable because the encrypted keywords
can form a tree-like structure when stored according to their binary values.

3.2 PURPOSE OF THE PROJECT

To improve search performance in PEKS without sacrificing semantic


security if one can organize the cipher texts with elegantly designed but hidden relations.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

4. LITERATURE SURVEY

Literature survey is the most important step in software development process.


Before developing the tool, it is necessary to determine the time factor, economy n
company strength. Once these things r satisfied, ten next steps are to determine which
operating system and language can be used for developing the tool. Once the
programmers start building the tool the programmers need lot of external support. This
support can be obtained from senior programmers, from book or from websites. Before
building the system the above consideration r taken into account for developing the
proposed system.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

5. STUDY OF THE SYSTEM

5.1

EXISTING SYSTEM
I.

Secure public-key searchable encryption schemes take search time linear


with the total number of the cipher texts.

II.

This makes retrieval from large-scale databases prohibitive.

III.

To alleviate this problem.

IV.

Existing semantically secure PEKS schemes take search time linear with
the total number of all cipher texts.

V.

This means that the existing hidden structure of cipher texts stays
confidential, since the local privacy only contains the relationship of the
new generated cipher texts.

5.1.1

EXISTING SYSTEM ALGORITHMS

5.1.2 DISADVANTAGES OF EXISTING SYSTEM

Key word privacy can be guaranteed only for key words that are prior hard to

guess by the adversary.


Deterministic encryption is only applicable in special scenarios.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

5.2

PROPOSED SYSTEM
Searchable Public-Key Cipher texts with Hidden Structures (SPCHS) for keyword

search as fast as possible without sacrificing semantic security of the encrypted keywords.
In SPCHS, all keyword-searchable cipher texts are structured by hidden relations, and
with the search trapdoor corresponding to a keyword, the minimum information of the
relations is disclosed to a search algorithm as the guidance to find all matching cipher
texts efficiently.
Proposed to encrypt structured data and a secure method to search these data. To support
the dynamic update of the encrypted data, Kamara et al. proposed the dynamic searchable
symmetric encryption in and further enhanced its security in at the cost of large index.

5.2.1
I.
II.
III.

PROPOSED SYSTEM ALGORITHMS


The encryption algorithm has two functionalities.
Search algorithm.
Algorithm Trapdoor allows the receiver to delegate a keyword search trapdoor to
the server.

V.2.2 ADVANTAGES
It has the advantage that anyone who knows the receivers public key can
upload keyword-searchable cipher texts to a server.
A wins in the SSCKSA game of the above SPCHS instance with advantage
AdvSS-CKSA SPCHS;A, in which A makes at most qt queries to oracle
QTrap()

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

5.2.3

System Architecture

V.3 MODULE DESCRIPTION


5.3.1MODULE
The System and Threat Models
Data users
Public-key searchable encryption,
semantic security,
identity-based key encapsulation mechanism,
identity based encryption
Synonym expansion
Rank function
Cryptography
Searchable Index Tree
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

5.3.2 MODULE DESCRIPTION


Data users
Data users are authorized ones to access the documents of data owner. With t
query keywords, the authorized user can generate a trapdoor TD according to search
control mechanisms to fetch k encrypted documents from cloud server. Then, the data
user can decrypt the documents with the shared secret key.
Public-key searchable encryption
One of the prominent works to accelerate the search over encrypted keywords in the
public-key setting is deterministic encryption introduced by Bellare et al. in . An
encryption scheme is deterministic if the encryption algorithm is deterministic.
Each sender should be able to generate the keyword-searchable cipher texts with the
hidden star-like structure by the receivers public-key; the server having a keyword search
trapdoor should be able to disclose partial relations, which is related to all matching
cipher texts.
We start by formally defining the concept of Searchable Public-key Cipher texts with
Hidden Structures (SPCHS) and its semantic security.
Symmetric searchable encryption and public-key searchable encryption.
One can obtain public-key searchable encryption allowing content search.
Semantic security:
The authors of PEKS also presented semantic security against chosen keyword attacks
(SSCKA) in the sense that the server cannot distinguish the cipher texts of the keywords
of its choice before observing the corresponding keyword search trapdoors.
We are interested in providing highly efficient search performance without sacrificing
semantic security in PEKS.
Semantic security is crucial to guarantee keyword privacy in such applications. Thus the
linear search complexity of existing schemes is the major obstacle to their adoption.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

A closer look shows that there is still space to improve search performance in PEKS
without sacrificing semantic security if one can organize the cipher texts with elegantly
designed but hidden relations
Identity-based key encapsulation mechanism
We present a generic SPCHS construction from anonymous identity-based encryption and
collision-free full-identity malleable Identity-Based Key Encapsulation Mechanism
(IBKEM) with anonymity. We illustrate two collision-free full-identity malleable IBKEM
instances, which are semantically secure and anonymous, respectively, in the RO and
standard models. Our generic SPCHS is inspired by several interesting observations on
Identity-Based Key Encapsulation Mechanism (IBKEM). We build a generic SPCHS
construction with Identity- Based Encryption (IBE) and collision-free full-identity
malleable IBKEM. A direct application of collision-free full-identity malleable IBKEM is
to achieve batch identity-based key distribution. In such an application, a sender would
like to distribute different secret session keys to multiple receivers so that each receiver
can only know the session key to himself/herself. A slightly more complicated application
is anonymous identity-based broadcast encryption with efficient decryption. In contrast,
our anonymous identity-based broadcast encryption enjoys constant decryption cost, plus
logarithmic complexity to search the matching index in a set (K1 1 KN 1 ) organized by a
certain partial order.
Rank function
In information retrieval, a ranking function is usually used to
evaluate relevant scores of matching files to a request. Among lots of
ranking functions, the TFIDF rule
is most widely used, where TF (term frequency) denotes the
occurrence of the term appearing in the document, and IDF (inverse
document frequency) is often obtained by dividing the total number of
documents by the number of files containing the term. That means, TF
represents the importance of the term in the document and IDF indicates
the importance or degree of distinction in the whole document collection.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

Cryptography
The art of protecting information by transforming it (encrypting it) into an
unreadable format, called cipher text. Only those who possess a secret key can
decipher (or decrypt) the message into plain text. Encrypted messages can
sometimes be broken by cryptanalysis, also called code breaking, although
modern cryptography techniques are virtually unbreakable.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

Encryption and Decryption


Encryption
In an encryption scheme, the message or information (referred to as plaintext) is
encrypted using an encryption algorithm, turning it into an unreadable cipher text (ibid.).
This is usually done with the use of an encryption key, which specifies how the message
is to be encoded. Any adversary that can see the cipher text, should not be able to
determine anything about the original message.
Decryption
An authorized party, however, is able to decode the ciphertext using a decryption
algorithm, that usually requires a secret decryption key, That adversaries do not have
access to. For technical reasons, an encryption scheme usually needs a key-generation
algorithm, to randomly produce keys
Hence, it is an especially important thing to explore an effective multi-keyword ranked
searching service over encrypted outsourced data.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

6. 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.
6.1.1 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.
6.1.2

TECHNICAL FEASIBILITY
In the feasibility study first step is that organization or company has to

decide that what technologies are suitable to develop by considering existing system.
Here in this application we used the technologies like Visual Studio-2010
and Sql Server-2008.These are free software that would be downloaded from web.
6.1.3

OPERATIONAL 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. His level of confidence must be
raised so that he is also able to make some constructive criticism, which is welcomed, as
he is the final user of the system.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

7. SOFTWARE REQUIREMENT SPECIFICATIONS


7.1 FUNCTIONAL REQUIREMENTS

7.1.1 INPUT DESIGN


The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and those
steps are necessary to put transaction data in to a usable form for processing can be
achieved by inspecting the computer to read data from a written or printed document or it
can occur by having people keying the data directly into the system. The design of input
focuses on controlling the amount of input required, controlling the errors, avoiding
delay, avoiding extra steps and keeping the process simple. The input is designed in such
a way so that it provides security and ease of use with retaining the privacy.
Input Design considered the following things:

What data should be given as input?

How the data should be arranged or coded?

The dialog to guide the operating personnel in providing input.

Methods for preparing input validations and steps to follow when error
occur.

OBJECTIVES
1. Input Design is the process of converting a user-oriented description of the
input into a computer-based system. This design is important to avoid errors in the data
input process and show the correct direction to the management for getting correct
information from the computerized system.
2. It is achieved by creating user-friendly screens for the data entry to handle large
volume of data. The goal of designing input is to make data entry easier and to be free
from errors. The data entry screen is designed in such a way that all the data manipulates
can be performed. It also provides record viewing facilities.
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

3. When the data is entered it will check for its validity. Data can be entered with
the help of screens. Appropriate messages are provided as when needed so that the user
will not be in maize of instant. Thus the objective of input design is to create an input
layout that is easy to follow
7.1.2 OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and presents
the information clearly. In any system results of processing are communicated to the users
and to other system through outputs. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy output. It is the
most important and direct source information to the user.
Efficient and intelligent output design improves the systems relationship to help
user decision-making.
1.

Designing computer output should proceed in an organized, well thought


out manner; the right output must be developed while ensuring that each
output element is designed so that people will find the system can use
easily and effectively. When analysis design computer output, they should
Identify

2.

the specific output that is needed to meet the requirements.


3.
3.

Select methods for presenting information.


Create document, report, or other formats that contain information
produced by the system.

The output form of an information system should accomplish one or more of the
following objectives.

Convey information about past activities, current status or projections


of the Future.

Signal important events, opportunities, problems, or warnings.

Trigger an action.

Confirm an action.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

NON-FUNCTIONAL REQUIREMENTS

7.2

Non-functional requirements describe user-visible aspects of the system


that are not directly related to functionality of the system.
7.2.1 PERFORMANCE REQUIREMENTS
USER INTERFACE
A menu interface has been provided to the user to be user friendly.
PERFORMANCE REQUIREMENTS
Requests should be processed within no time.
Users should be authenticated for accessing the requested data
ERROR HANDLING AND EXTREME CONDITIONS
he system should display a meaningful error message

In case of user

Error, t to the user, such that the user can correct his Error.
The high level components in proposed system should handle exceptions
that occur while connecting to various database servers, IO Exceptions etc.
QUALITY ISSUES
Quality issues mainly refers to reliable, available, and robust system
developing the proposed system the developer must be able to guarantee the reliability
transactions so that they will be processed completely and accurately.
The ability of system to detect failures and recovery from those
failures refers to the availability of system.

7.2.2 HARDWARE REQUIREMENTS:

System

: Pentium IV 2.4 GHz.

Hard Disk

: 40 GB.

Floppy Drive : 1.44 Mb.

Monitor

: 14 Colour Monitor.

Mouse

: Optical Mouse.

Ram

: 512 Mb.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

7.2.3 SOFTWARE REQUIREMENTS:

Operating system

: Windows 7 Ultimate.

Coding Language

: ASP.Net with C#

Front-End

: Visual Studio 2010 Professional.

Data Base

: SQL Server 2008.

7.2.3.1 INTRODUCTION TO .NET

FEATURES OF .NET
Microsoft .NET is a set of Microsoft software technologies for rapidly
building and integrating XML Web services, Microsoft Windows-based applications, and
Web solutions. The .NET Framework is a language-neutral platform for writing programs
that can easily and securely interoperate. Theres no language barrier with .NET: there are
numerous languages available to the developer including Managed C++, C#, Visual Basic
and Java Script. The .NET framework provides the foundation for components to interact
seamlessly, whether locally or remotely on different platforms. It standardizes common
data types and communications protocols so that components created in different
languages can easily interoperate.
.NET is also the collective name given to various software components built
upon the .NET platform. These will be both products (Visual Studio.NET and
Windows.NET Server, for instance) and services (like Passport, .NET My Services, and
so on).
THE .NET FRAMEWORK
The .NET Framework has two main parts:
1. The Common Language Runtime (CLR).
2. A hierarchical set of class libraries.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

The CLR is described as the execution engine of .NET. It provides the


environment within which programs run. The most important features are:

Conversion

from

low-level

assembler-style

language,

called

Intermediate Language (IL), into code native to the platform being


executed on.

Memory management, notably including garbage collection.

Checking and enforcing security restrictions on the running code.

Loading and executing programs, with version control and other such
features.

The following features of the .NET framework are also worth description:

MANAGED CODE
The code that targets .NET, and which contains certain extra
Information - metadata - to describe itself. Whilst both managed and unmanaged code
can run in the runtime, only managed code contains the information that allows the CLR
to guarantee, for instance, safe execution and interoperability.
MANAGED DATA
With Managed Code comes Managed Data. CLR provides memory allocation and
Deal location facilities, and garbage collection. Some .NET languages use Managed Data
by default, such as C#, Visual Basic.NET and JScript.NET, whereas others, namely C++,
do not. Targeting CLR can, depending on the language youre using, impose certain
constraints on the features available. As with managed and unmanaged code, one can
have both managed and unmanaged data in .NET applications - data that doesnt get
garbage collected but instead is looked after by unmanaged code.
COMMON TYPE SYSTEM
The CLR uses something called the Common Type System (CTS) to strictly
enforce type-safety. This ensures that all classes are compatible with each other, by
describing types in a common way. CTS define how types work within the runtime,
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

which enables types in one language to interoperate with types in another language,
including cross-language exception handling. As well as ensuring that types are only used
in appropriate ways, the runtime also ensures that code doesnt attempt to access memory
that hasnt been allocated to it.
COMMON LANGUAGE SPECIFICATION
The CLR provides built-in support for language interoperability. To ensure that
you can develop managed code that can be fully used by developers using any
programming language, a set of language features and rules for using them called the
Common Language Specification (CLS) has been defined. Components that follow these
rules and expose only CLS features are considered CLS-compliant.

THE CLASS LIBRARY


.NET provides a single-rooted hierarchy of classes, containing over 7000 types.
The root of the namespace is called System; this contains basic types like Byte, Double,
Boolean, and String, as well as Object. All objects derive from System. Object. As well as
objects, there are value types. Value types can be allocated on the stack, which can
provide useful flexibility. There are also efficient means of converting value types to
object types if and when necessary.
The set of classes is pretty comprehensive, providing collections, file, screen, and
network I/O, threading, and so on, as well as XML and database connectivity.
The class library is subdivided into a number of sets (or namespaces), each
providing distinct areas of functionality, with dependencies between the namespaces kept
to a minimum.
LANGUAGES SUPPORTED BY .NET
The multi-language capability of the .NET Framework and Visual Studio .NET
enables developers to use their existing programming skills to build all types of
applications and XML Web services. The .NET framework supports new versions of

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

Microsofts old favorites Visual Basic and C++ (as VB.NET and Managed C++), but
there are also a number of new additions to the family.
Visual Basic .NET has been updated to include many new and improved language
features that make it a powerful object-oriented programming language. These features
include inheritance, interfaces, and overloading, among others. Visual Basic also now
supports structured exception handling, custom attributes and also supports multithreading.
Visual Basic .NET is also CLS compliant, which means that any CLS-compliant
language can use the classes, objects, and components you create in Visual Basic .NET.
Managed Extensions for C++ and attributed programming are just some of the
enhancements made to the C++ language. Managed Extensions simplify the task of
migrating existing C++ applications to the new .NET Framework.
C# is Microsofts new language. Its a C-style language that is essentially C++
for Rapid Application Development. Unlike other languages, its specification is just the
grammar of the language. It has no standard library of its own, and instead has been
designed with the intention of using the .NET libraries as its own.
Microsoft Visual J# .NET provides the easiest transition for Java-language
developers into the world of XML Web Services and dramatically improves the
interoperability of Java-language programs with existing software written in a variety of
other programming languages.
Active State has created Visual Perl and Visual Python, which enable .NET-aware
applications to be built in either Perl or Python. Both products can be integrated into the
Visual Studio .NET environment. Visual Perl includes support for Active States Perl Dev
Kit.
Other languages for which .NET compilers are available include

FORTRAN

COBOL

Eiffel

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

Fig1 .Net Framework


ASP.NET

Windows Forms

XML WEB SERVICES


Base Class Libraries
Common Language Runtime
Operating System

C#.NET is also compliant with CLS (Common Language Specification) and


supports structured exception handling. CLS is set of rules and constructs that are
supported by the CLR (Common Language Runtime). CLR is the runtime
environment provided by the .NET Framework; it manages the execution of the code
and also makes the development process easier by providing services.
C#.NET is a CLS-compliant language. Any objects, classes, or components that
created in C#.NET can be used in any other CLS-compliant language. In addition, we
can use objects, classes, and components created in other CLS-compliant languages in
C#.NET .The use of CLS ensures complete interoperability among applications,
regardless of the languages used to create the application.
CONSTRUCTORS AND DESTRUCTORS:
Constructors are used to initialize objects, whereas destructors are used to destroy
them. In other words, destructors are used to release the resources allocated to the
object. In C#.NET the sub finalize procedure is available. The sub finalize procedure
is used to complete the tasks that must be performed when an object is destroyed. The
sub finalize procedure is called automatically when an object is destroyed. In addition,
the sub finalize procedure can be called only from the class it belongs to or from
derived classes.

GARBAGE COLLECTION
Garbage Collection is another new feature in C#.NET. The .NET
Framework monitors allocated resources, such as objects and variables. In addition,
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

the .NET Framework automatically releases memory for reuse by destroying objects
that are no longer in use.
In C#.NET, the garbage collector checks for the objects that are not currently in use
by applications. When the garbage collector comes across an object that is marked for
garbage collection, it releases the memory occupied by the object.
OVERLOADING
Overloading is another feature in C#. Overloading enables us to define
multiple procedures with the same name, where each procedure has a different set
of arguments. Besides using overloading for procedures, we can use it for
constructors and properties in a class.
MULTITHREADING:
C#.NET also supports multithreading. An application that supports multithreading
can handle multiple tasks simultaneously, we can use multithreading to decrease the
time taken by an application to respond to user interaction.
STRUCTURED EXCEPTION HANDLING
C#.NET supports structured handling, which enables us to detect and remove
errors at runtime. In C#.NET, we need to use TryCatchFinally statements to
create exception handlers. Using TryCatchFinally statements, we can create
robust and effective exception handlers to improve the performance of our
application.
THE .NET FRAMEWORK
The .NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet.
OBJECTIVES OF .NET FRAMEWORK
1. To provide a consistent object-oriented programming environment whether
object codes is stored and executed locally on Internet-distributed, or executed
remotely.
2. To provide a code-execution environment to minimizes software deployment
and guarantees safe execution of code.
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

3. Eliminates the performance problems.


There are different types of application, such as Windows-based applications and
Web-based applications.

7.2.3.2 INTRODUCTION TO SQL SERVER

FEATURES OF SQL-SERVER
The OLAP Services feature available in SQL Server version 7.0 is now called SQL
Server 2000 Analysis Services. The term OLAP Services has been replaced with the term
Analysis Services. Analysis Services also includes a new data mining component. The
Repository component available in SQL Server version 7.0 is now called Microsoft SQL
Server 2000 Meta Data Services. References to the component now use the term Meta
Data Services. The term repository is used only in reference to the repository engine
within Meta Data Services
SQL-SERVER database consist of six types of objects. They are,
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO

TABLE:
A database is a collection of data about a specific topic.
VIEWS OF TABLES:
We can work with a table in two types,
1. Design View
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

2. Datasheet View
1. Design View
To build or modify the structure of a table we work in the table design view. We
can specify what kind of data will be hold.
2. Datasheet View
To add, edit or analyses the data itself we work in tables datasheet view mode.
QUERY:
A query is a question that has to be asked the data. Access gathers data that
answers the question from one or more table. The data that make up the answer is either
dynast (if you edit it) or a snapshot (it cannot be edited).Each time we run query, we get
latest information in the dynasty. Access either displays the dynasts or snapshot for us to
view or perform an action on it, such as deleting or updating.
AJAX:
ASP.NET Ajax marks Microsoft's foray into the ever-growing Ajax framework
market. Simply put, this new environment for building Web applications puts Ajax at the
front and centre of the .NET Framework.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8. SYSTEM MODELING

8.1 INTRODUCTION
SOFTWARE DEVELOPMENT LIFE CYCLE:
The Systems Development Life Cycle(SDLC), or Software Development Life Cycle in
systems engineering, information systems and software engineering, is the process of
creating or altering systems, and the models and methodologies use to develop these
systems.

Basically, SDLC consists of all the steps/stages of software starting from its inception to
its implementation. There are in fact numerous types of SDLC models(Agile, Waterfall et
al) and depending upon your requirements you can choose any of them to meet your
purpose.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

Given below are some phases, which are common in every SDLC model. Let us go
through them to get an idea.

8.1.1Requirement Gathering and Analysis:


Requirement gathering and analysis is the first stage of any SDLC model. This phase is
basically the brainstorming phase and often consists of sub-stages like Feasibility
Analysis to check how much of the idea can be put into action.
If any particular software needs to be modified, the underlying problem(s) of that
software is sorted out along with finding ways to solve it. If a brand new software is
going to be developed, then every minute requirement regarding that software is looked in
to. This implies that this stage involves maximum research and inputs from both the
company that is developing the software and the client.
8.1.2. System Analysis:
This is the second phase of SDLC where the entire system is defined in detail. In fact, it
this stage wherein a detailed blueprint of various processes of the software is developed.
If needed the system is divided into smaller parts to make it easier more manageable for
the developers, designers, testers, project managers and other professionals who are going
to work on the software in the latter stages.
8.1.3. System Design:
In this phase, the physical system is designed with the help of the logical design prepared
by system analysts. The analysts and designers work together and use certain tools and
software to create the overall system design, including the probable output.
One stop solution for mobile management with MobileGo
8.1.4. Coding:
As the name implies, in this stage the software is coded with precision. A team of
programmers are assigned by the company to work on the software. More often than not,
the work is sub-divided under a sub-phase called Task Allocation, where each developer
is assigned a part of the work depending on his or her skill set(s). This helps complete the
coding efficiently.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.1.5. Testing:
When the software is ready, it is sent to the testing department where Quality Analysts
test it thoroughly for different errors by forming various test cases. They either test the
software manually or using automated testing tools and ensure that each and every
component of the software works fine. Once the QA makes sure that the software is errorfree, it goes to the next stage, which is Implementation.
8.1.6. Implementation:
This is the final stage of software development life cycle. In this stage, if the software is
run on various systems by users. If it runs smoothly on these systems without any flaw,
then it is considered ready to be launched.
SDLC METHODOLOGIES
This document play a vital role in the development of life cycle (SDLC) as it describes
the complete requirement of the system. It means for use by developers and will be the
basic during testing phase. Any changes made to the requirements in the future will have
to go through formal change approval process.
Enhancement from 1985. This model was not the first model to discuss iterative
development, but it was the first model to explain why the iteration matters. As originally
envisioned, the iterations were typically 6 months to 2 years long.

The spiral model was defined by Barry Boehm in his article A Spiral Model of Software
Development and Enhancement from 1985. This model was not the first model to discuss
iterative development, but it was the first model to explain why the iteration matters. As
originally envisioned, the iterations were typically 6 months to 2 years long.
Each phase starts with a design goal and ends with the client (who may be internal)
reviewing the progress thus far. Analysis and engineering efforts are applied at each phase
of the project, with an eye toward the end goal of the project.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

The steps in the spiral model can be generalized as follows:


1.

The new system requirements are defined in as much detail as possible. This
usually involves interviewing a number of users representing all the external or
internal users and other aspects of the existing system.
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

2.

A preliminary design is created for the new system.

3. A first prototype of the new system is constructed from the preliminary design.
This is usually a scaled-down system, and represents an approximation of the
characteristics of the final product.
4. A second prototype is evolved by a fourfold procedure: (1) evaluating the first
prototype in terms of its strengths, weaknesses, and risks; (2) defining the
requirements of the second prototype; (3) planning and designing the second
prototype; (4) constructing and testing the second prototype.
5. At the customer's option, the entire project can be aborted if
the risk is deemed too great. Risk factors might involve
development cost overruns, operating-cost miscalculation, or
any other factor that could, in the customer's judgment, result
in a less-than-satisfactory final product.
6. The existing prototype is evaluated in the same manner as
was the previous prototype, and, if necessary, another
prototype is developed from it according to the fourfold
procedure outlined above.
7. The preceding steps are iterated until the customer is satisfied
that the refined prototype represents the final product desired.
8. The final system is constructed, based on the refined
prototype.
9. The final system is thoroughly evaluated and tested. Routine
maintenance is carried out on a continuing basis to prevent
large-scale failures and to minimize downtime.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2 UML DIAGRAMS

8.2.1 CLASS DIAGRAM

The class diagram is a static diagram. It represents the static view of an

application. The class diagrams are widely used in the modeling of object oriented
systems because they are the only UML diagrams which can be mapped directly with
object oriented languages. The class diagram shows a collection of classes, interfaces,
associations, collaborations and constraints. It is also known as a structural diagram
Purpose:
The purpose of the class diagram is to model the static view of an application. The class
diagrams are the only diagrams which can be directly mapped with object oriented
languages and thus widely used at the time of construction.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.2 USE CASE DIAGRAM


To model a system, the most important aspect is to capture the dynamic behaviour. To
clarify a bit in details, dynamic behaviour means the behaviour of the system when it is
running operating.
Dynamic behavior is more important than static behavior. In UML there so only static
behavior is not sufficient to model a system rather are five diagrams available to model
dynamic nature and use case diagram is one of them.
Now as we have to discuss that the use case diagram is dynamic in nature there should
be some internal or external factors for making the interaction.
Use case diagrams are consists of actors, use cases and their relationships. The diagram
is used to model the system/subsystem of an application. A single use case diagram
captures a particular functionality of a system.
So to model the entire system numbers of use case diagrams are used.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.3 SEQUENCE DIAGRAM


Sequence diagrams describe interactions among classes in terms of an exchange of
messages over time. They're also called event diagrams. A sequence diagram is a good
way to visualize and validate various runtime scenarios. These can help to predict how a
system will behave and to discover responsibilities a class may need to have in the
process of modelling a new system.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.4 COLLABORATION DIAGRAM


A collaboration diagram, also called a communication diagram or interaction diagram,
is an illustration of the relationships and interactions among software objects in the
Unified Modeling Language (UML). The concept is more than a decade old although it
has been refined as modeling paradigms have evolved.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.5 ACTIVITY DIAGRAM

Activity diagram is another important diagram in UML to describe dynamic aspects of


the system.
Activity diagram is basically a flow chart to represent the flow form one activity to
another activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent. Activity diagrams deals with all type of flow control by using
different elements like fork, join etc.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.6 STATE CHART DIAGRAM

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

The name of the diagram itself clarifies the purpose of the diagram and other details. It
describes different states of a component in a system. The states are specific to a
component/object of a system.
A State chart diagram describes a state machine. Now to clarify it state machine can be
defined as a machine which defines different states of an object and these states are
controlled by external or internal events.
Activity diagram explained in next chapter, is a special kind of a State chart diagram. As
State chart diagram defines states it is used to model lifetime of an object.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

8.2.7 DEPLOYMENT DIAGRAM


Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed. So deployment
diagrams are used to describe the static deployment view of a system. Deployment
diagrams consist of nodes and their relationships.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

9. SYSTEM CONSTRUCTION

9.1 CODING
9.1.1 SAMPLE SOURCE CODE

using System;
using System.Collections.Generic;
using System.Web;
using System.Configuration;
using System.Data.SqlClient;
/// <summary>
/// Summary description for id
/// </summary>
public class id
{
String id1, id2, id3;
int did, fid, uid;
SqlConnectioncon=new
SqlConnection(ConfigurationManager.ConnectionStrings["Searchablepublic"].
ConnectionString);
public id ()
{
//
// TODO: Add constructor logic here
//
}

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

public int Register ()


{
con.Open();
SqlCommand cmd = new SqlCommand("select max(id) from Registration", con);
id1 = Convert.ToString(cmd.ExecuteScalar());
if (id1 == "")
{
did = 100;
}
else
{
did = Convert.ToInt16(id1);
did = did + 1;
}
con.Close();
return did;
}
public int idgeneration()
{
con.Open();
SqlCommand cmd = new SqlCommand("select max(fileid) from
DataOwnerUpload", con);
id1 = Convert.ToString(cmd.ExecuteScalar());
if (id1 == "")
{
did = 100;
}
else
{
did = Convert.ToInt16(id1);
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

did = did + 1;
}
con.Close();
return did;
}
}
using System;
using System.Data;
using System.Configuration;
//using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
//using System.Xml.Linq;
using System.Data.SqlClient;
/// <summary>
/// Summary description for idgen
/// </summary>
public class idgen
{
SqlConnection

con

SqlConnection(ConfigurationManager.ConnectionStrings["Searchablepublic"].
ConnectionString);
string id, id1, id2, id3, a;
int eid, eid1, eid2, eid3;
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

new

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

public idgen()
{
//
// TODO: Add constructor logic here
//
}
public int idgeneration()
{
con.Open();
SqlCommand c1 = new SqlCommand("select max(ids) from register", con);
id = Convert.ToString(c1. ExecuteScalar());
if (id == "")
{
eid = 1;
}
else
{
eid = Convert.ToInt16(id);
eid = eid + 1;
}
con.Close();
return eid;
}
public int idgeneration1()
{
con.Open();
SqlCommand c2 = new SqlCommand("select max(uid) from upload", con);
id1 = Convert.ToString(c2. ExecuteScalar());
if (id1 == "")
{
eid1 = 1;
}
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

else
{
eid1= Convert.ToInt16(id1);
eid1 = eid1 + 1;
}
con.Close();
return eid1;
}
public int idgeneration2()
{
con.Open();
SqlCommand c3 = new SqlCommand("select max(idd) from publish", con);
id2 = Convert.ToString(c3. ExecuteScalar());
if (id2 == "")
{
eid2 = 1;
}
else
{
eid2 = Convert.ToInt16(id2);
eid2 = eid2 + 1;
}
con.Close();
return eid2;
}
public string idgeneration3()
{
string m = "";
con.Open();
SqlCommand c4 = new SqlCommand("select max(pid) from publish", con);
id3 = Convert.ToString(c4. ExecuteScalar());
if (id3 == "")
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

a = "Publisher1";
else
{
char [] b = id3.ToCharArray();
for (int i = 0; i < b.Length; i++)
{
if (i > 8)
{
m = m + b[i];
}
}
eid3 = Convert.ToInt16(m);
a = "Publisher"+ (eid3 + 1);
}
con.Close();
return a;
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections;
using System.Text;
using Microsoft.VisualBasic;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

/// <summary>
/// Summary description for MsgBox
/// </summary>
public class MsgBox
{
private void WebMsgBox()
{
}
protected static Hashtable handlerPages = new Hashtable();
public static void Show (string Message)
{
if (! (handlerPages.Contains(HttpContext.Current.Handler)))
{
Page currentPage = (Page)HttpContext.Current.Handler;
if (! ((currentPage == null)))
{
Queue messageQueue = new Queue ();
messageQueue.Enqueue(Message);
handlerPages.Add(HttpContext.Current.Handler, messageQueue);
currentPage.Unload += new EventHandler(CurrentPageUnload);
}
}
else
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
queue.Enqueue(Message);
}
}
private static void CurrentPageUnload(object sender, EventArgs e)
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
if (queue! = null)
ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

{
StringBuilder builder = new StringBuilder();
int iMsgCount = queue.Count;
builder.Append("<script language='javascript'>");
string sMsg;
while ((iMsgCount > 0))
{
iMsgCount = iMsgCount - 1;
sMsg = System.Convert.ToString(queue.Dequeue());
sMsg = sMsg.Replace("\"", "'");
builder.Append("alert( \"" + sMsg + "\" );");
}
builder.Append("</script>");
handlerPages.Remove(HttpContext.Current.Handler);
HttpContext.Current.Response.Write(builder.ToString());
}
}
}

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

9.2 INTRODUCTION TO TESTING


9.2.2 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.
9.2.3 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.

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

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

9.2.5 FUNCTIONAL TESTING


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.

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

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

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

9.2.8. TEST CASES


LOGIN PAGE TEST CASE

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Test Steps
Test

Test Case

Step

Expected

Actual

Description
Generating Searchable
Public-Key Cipher texts with Hidden Structures for Fast Keyword Search
Case

Name
Test

Case Test Steps

Test

Description

Case
Name

Enter login

An error

Login name

name less

message

on login page
than 1 chars Login not less
Step must be Expected
Validate
(say a) andActual
than 1
thanEnter
password
To greater
Verify
Userand
An
error
Login
characters
submitmessage User
that1 characters
User nameclick click
must be
name
on Submitbutton. Name Must be
displayed.
Validate User Registration button
Declared

Login

Registration

Name

page

must

be declared

Validate
Password

Pwd

To verify that

Validate
Password

Enter login

Login success

name 1 chars

full or an error

(say a) and

message

Invalid Login
Password and
To
verify Enter
An
error
click submit
Or password
that
Password
message
button.
must be
Password
click submit password must
displayed.
on
button
be declared
To verify that Enter
An
error
Registration
password on password less message
page must
login page
than 1 chars Password not
be declared
must be
(say
less than 1
greater than

nothing)

Login

Characters.

and characters
Name must

and

be

click displayed.

submit
button.

To verify that Enter

Login success

password on Password

full or an error

login
pwd 2

page with special

message

Validate

must be allow characters

Invalid Login

Password

special

or Password

(say

characters

must be

!@hi&*P)
ST.ANNS COLLEGE OF ENGINEERING
AND TECHNOLOGY
Login Name
and click
submit button

displayed.

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

10. SYSYTEM IMPLEMENTATION

10.1 Screens and Reports

SCREENSHOTS

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

10.2 USER MANUAL

Open sql server, go to object explorer or (click on f8).

Right click on data base folder & select restore data base.

And select the device (its ratio button, Whenever We selecting the form device
beside browse button will activated) click on browse button.

It opens the restore database dialog box, in this dialog box select to data base
column and enter your project title (its user defined name).

And it opens the specify backup dialog box. In this dialog box click on add button.

Again it opens the locate backup file dialog box. In this dialog box first we have
to change the file type=all files.

And select the physical location of data (in which drive you copied our project)
select project folder, in that folder select data base folder.

In that database folder select project back up file and click on ok.

Again click on ok. And select check box it will available in restore database dialog
box. Click on ok button.

Open visual studio go to file, open website it open a dialog box in this dialog box
select the physical address of code folder (in which drive we copied) whenever
we select code folder select exact code folder only(in which folder we have data
and click on open.

Go to solution explorer (ctrl+alt+l) open web.config file, in that file find the
connection string go to it and change the following things.

User id=SA;

Password=your sql server password;

Data base/initial catalog =on which name we are restore data base.

Data source/server=server name or type (., local host).

If you are using windows authentication, no need to provide the user id and
password. That means delete user id & password then enter integrated
security=sspi).

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

11. LIMITATIONS

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

12 . CONCLUSION
Investigated as-fast-as-possible search in PEKS with semantic security. We proposed the
concept of SPCHS as a variant of PEKS. The new concept allows keyword-searchable
cipher texts to be generated with a hidden structure. Given a keyword search trapdoor, the
search algorithm of SPCHS can disclose part of this hidden structure for guidance on
finding out the cipher texts of the queried keyword. Semantic security of SPCHS captures
the privacy of the keywords and the invisibility of the hidden structures. We proposed an
SPCHS scheme from scratch with semantic security in the RO model The scheme
generates keyword-searchable cipher texts with a hidden star-like structure. It has search
complexity mainly linear with the exact number of the cipher texts containing the queried
keyword. It outperforms existing PEKS schemes with semantic security, whose search
complexity is linear with the number of all cipher texts. We identified several interesting
properties, i.e., collision-freeness and full-identity malleability in some IBKEM instances,
and formalized these properties to build a generic SPCHS construction. We illustrated two
collision-free full-identity malleable IBKEM instances, which are respectively secure in
the RO and standard models.
SPCHS seems a promising tool to solve some challenging problems in public-key
searchable encryption. One application may be to achieve retrieval completeness
verification which, to the best of our knowledge, has not been achieved in existing PEKS
schemes. Specifically, by forming a hidden ring-like structure, i.e., letting the last hidden
pointer always point to the head, one can obtain PEKS allowing to check the
completeness of the retrieved cipher texts by checking whether the pointers of the
returned cipher texts form a ring.

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

13. REFERENCES
1. Boneh D., Crescenzo G. D., Ostrovsky R., Persiano G.: Public Key
Encryption with Keyword Search. In: Cachin C., Camenisch J. (eds.) EUROCRYPT
2004. LNCS, vol. 3027, pp. 506-522. Springer, Heidelberg (2004)
[2] Bellare M., Boldyreva A., ONeill A.: Deterministic and Efficiently Searchable
Encryption. In: Menezes A. (ed.) CRYPTO 2007. LNCS, vol. 4622, pp. 535-552.
Springer, Heidelberg ( 2007)
[3] Boneh D., Boyen X.: Efficient Selective-ID Secure Identity-Based Encryption
Without Random Oracles. In: Cachin C., Camenisch J. (eds.) EUROCRYPT 2004. LNCS,
vol. 3027, pp. 223-238. Springer,
Heidelberg (2004)
[4] Boyen X., Waters B. R.: Anonymous Hierarchical Identity-Based Encryption (Without
Random Oracles). In: Dwork C. (ed.) CRYPTO 2006. LNCS, vol. 4117, pp. 290-307.
Springer, Heidelberg (2006)
[5] Gentry C.: Practical Identity-Based Encyrption Without Random Oracles. In:
Vaudenay S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, pp.445-464. Springer,
Heidelberg (2006)
[6] Ateniese G., Gasti P.: Universally Anonymous IBE Based on the Quadratic
Residuosity Assumption. In: Fischlin M. (ed.) CT-RSA 2009. LNCS, vol. 5473, pp. 32-47.
Springer, Heidelberg (2009)
[7] Ducas L.: Anonymity from Asymmetry: New Constructions for Anonymous HIBE.
In: Pieprzyk J. (ed.) CT-RSA 2010. LNCS, vol. 5985, pp. 148-164. Springer, Heidelberg
(2010)
[8] Abdalla M., Catalano D., Fiore D.: Verifiable Random Functions: Re- lations to
Identity-Based Key Encapsulation and New Constructions. Journal of Cryptology, 27(3),
pp. 544-593 ( 2013)

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

[9] Freire E.S.V., Hofheinz D., Paterson K.G., Striecks C.: Programmable Hash Functions
in the Multilinear Setting. In: Canetti R., Garay J.A. (eds.) Advances in Cryptology CRYPTO 2013. LNCS, vol. 8042, pp. 513-530. Springer, Heidelberg (2013)
[10] Garg S., Gentry C., Halevi S.: Candidate Multilinear Maps from Ideal Lattices. In:
Johansson T., Nguyen P. (eds.) Advances in Cryp- tology - EUROCRYPT 2013. LNCS,
vol. 7881, pp. 1-17. Springer, Heidelberg (2013)
[11] Boneh D., Franklin M.: Identity-Based Encryption from the Weil Pairing. In: Kilian
J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 213239. Springer, Heidelberg (2001)
[12] Barth A., Boneh D., Waters B.: Privacy in Encrypted Content Distribution Using
Private Broadcast Encryption. In: Di Crescenzo G., Rubin A.(eds.) FC 2006. LNCS, vol.
4107, pp. 52-64. Springer, Heidelberg (2006)
[13] Libert B., Paterson K. G., Quaglia E. A.: Anonymous Broadcast Encryption:
Adaptive Security and Efficient Constructions in the Standard Model. In: Fischlin M.,
Buchmann J., Manulis M. (eds.) PKC 2012. LNCS, vol. 7293, pp. 206-224. Springer,
Heidelberg (2012)
[14] Curtmola R., Garay J., Kamara S., Ostrovsky R.: Searchable Sym- metric
Encryption: Improved Definitions and Efficient Constructions. In: ACM CCS 2006, pp.
79-88. ACM (2006)
[15] Song D. X., Wagner D., Perrig A.: Practical techniques for searches on encrypted
data. In: IEEE S&P 2000, pp. 44-55. IEEE (2000)
[16] Goh E.-J.: Secure Indexes. Cryptography ePrint Archive, Report 2003/216 (2003)
[17] Bellovin S. M., Cheswick W.R.: Privacy-Enhanced Searches Us- ing Encrypted
Bloom Filters. Cryptography ePrint Archive, Report 2004/022 (2004)
[18] Agrawal R., Kiernan J., Srikant R., Xu Y.: Order Preserving Encryp- tion for
Numeric Data. In: Proceedings of the 2004 ACM SIGMOD international conference on
Management of data, pp. 563-574. ACM (2004)
[19] Chang Y.-C., Mitzenmacher M.: Privacy Preserving Keyword Searches on Remote
Encrypted Data. In: Ioannidis J., Keromytis A. and Yung M. (Eds.) ACNS 2005. LNCS,
vol. 3531, pp. 442-455.
Springer, Heidelberg (2005)
[20] Boldyreva A., Chenette N., Lee Y., ONeill A.: Order-Preserving Symmetric
Encryption. In: Joux A. (ed.) EUROCRYPT 2009. LNCS, vol. 5479, pp. 224-241.
Springer, Heidelberg)
(2009).

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY

Generating Searchable Public-Key Cipher texts with Hidden Structures for Fast Keyword Search

ST.ANNS COLLEGE OF ENGINEERING AND TECHNOLOGY