Project Work

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 75

I.

INTRODUCTION
TO secure communications between two parties, an authenticated
encryption key is required to agree on in advance. So far, two models have existed for
authenticated key exchange. One model assumes that two parties already share some
cryptographically-strong information: either a secret key which can be used for encryption
authentication of messages, or a public key which can be used for encryption signing of
messages. These keys are random and hard to remember. In practice, a user often keeps his
keys in a personal device protected by a password/PIN. Another model assumes that users,
without help of personal devices, are only capable of storing “human-memorable” passwords.
Bellovin and Merritt were the first to introduce password-based authenticated key exchange
(PAKE), where two parties, based only on their knowledge of a password, establish a
cryptographic key by exchange of messages. APAKE protocol has to be immune to on-line
and off-line dictionary attacks. In an off-line dictionary attack, an adversary exhaustively tries
all possible passwords in a dictionary in order to determine the password of the client on the
basisof the exchanged messages. In on-line dictionary attack, an adversary simply attempts to
login repeatedly, trying each possible password. By cryptographic means only, none of PAKE
protocols can prevent on-line dictionary attacks. Button-line attacks can be stopped simply by
setting a threshold to the number of login failures.

1.1Project Overview

In this project to secure communications between two parties, an authenticated


encryption key is required to agree on in advance. So far, two models have existed for
authenticated key exchange. One model assumes that two parties already share some
cryptographically-strong information: either a secret key which can be used for
encryption/authentication of messages, or a public key which can be used for
encryption/signing of messages. These keys are random and hard to remember. In

1
practice, a user often keeps his keys in a personal device protected by a password / PIN.
Another model assumes that users, without help of personal devices, are only capable of
storing “human-memorable” passwords. Bellovin and Merritt [4] were the first to
introduce password-based authenticated key exchange (PAKE), where two parties, based
only on their knowledge of a password, establish a cryptographic key by exchange of
messages. A PAKE protocol has to be immune to on-line and off-line dictionary attacks.
In an off-line dictionary attack, an adversary exhaustively tries all possible passwords in a
dictionary in order to determine the password of the client on the basis of the exchanged
messages. In on-line dictionary attack, an adversary simply attempts to login repeatedly,
trying each possible password. By cryptographic means only, none of PAKE protocols
can prevent on-line dictionary attacks. But on-line attacks can be stopped simply by
setting a threshold to the number of login failures.
In two-server password-authenticated key exchange (PAKE) protocol, a client splits its
password and stores two shares of its password in the two servers, respectively, and the
two servers then cooperate to authenticate the client without knowing the password of the
client. In case one server is compromised by an adversary, the password of the client is
required to remain secure. In this paper, we present two compilers that transform any
two-party PAKE protocol to a two-server PAKE protocol on the basis of the identity-
based cryptography, called ID2S PAKE protocol. By the compilers, we can construct
ID2S PAKE protocols which achieve implicit authentication. As long as the underlying
two-party PAKE protocol and identity-based encryption or signature scheme have
provable security without random oracles, the ID2S PAKE protocols constructed by the
compilers can be proven to be secure without random oracles. Compared with the Katz et
al.’s two-server PAKE protocol with provable security without random oracles, our ID2S
PAKE protocol can save 22% to 66% computation in each server.

1.2Project Deliverables
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

2
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
What data should be given as input?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 the specific output that is
needed to meet the requirements.

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

1.3Project Scope
Aquality 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 system’s
relationship to help user decision-making.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 the specific output that is needed to
meet the requirements,Select methods for presenting information.Create document, report, or
other formats that contain information produced by the system.

3
2. LITERATURE SURVEY
Encrypted key exchange: password-based protocols secure against dictionary attacks
Classic cryptographic protocols based on user-chosen keys allow an attacker to mount password-
guessing attacks. A combination of asymmetric (public-key) and symmetric (secret-key)
cryptography that allow two parties sharing a common password to exchange confidential and
authenticated information over an insecure network is introduced. In particular, a protocol
relying on the counter-intuitive motion of using a secret key to encrypt a public key is presented.
Such protocols are secure against active attacks, and have the property that the password is
protected against offline dictionary attacks.

Kerberos: an authentication service for computer networks


When using authentication based on cryptography, an attacker listening to the network gains no
information that would enable it to falsely claim another's identity. Kerberos is the most
commonly used example of this type of authentication technology. The authors concentrate on
authentication for real-time, interactive services that are offered on computer networks. They use
the term real-time loosely to mean that a client process is waiting for a response to a query or
command so that it can display the results to the user, or otherwise continue performing its
intended function. This class of services includes remote login, file system reads and writes, and
information retrieval for applications like Mosaic.

New directions in cryptography


Two kinds of contemporary developments in cryptography are examined. Widening applications
of teleprocessing have given rise to a need for new types of cryptographic systems, which
minimize the need for secure key distribution channels and supply the equivalent of a written
signature. This paper suggests ways to solve these currently open problems. It also discusses how
the theories of communication and computation are beginning to provide the tools to solve
cryptographic problems of long standing.

4
Fig2.1:key agreement

3. PROBLEM ANALYSIS

3.1 Existing System

In the single-server setting, all the passwords necessary to authenticate clients are stored in a
single server. If the server is compromised, due to, for example, hacking or even insider attacks,
passwords stored in the server are all disclosed. This is also true to Kerberos, where a user
authenticates against the authentication server with his username and password and obtains a
token to authenticate against the service server.PAKE protocols in the single-server setting can
be classified into three categories as follows: Password-only PAKE, PKI-based and PAKE ID-
based PAKE

3.1.1 Limitations
 The hash value accessible to an attacker.
 The attacker can work offline, rapidly testing possible passwords against the true
password’s hash value.
 An adversary can always succeed by trying all passwords one-by-one in an on-line
impersonation attack. A protocol is secure if this is the best an adversary can do. The on-
line attacks correspond to send queries

5
3.2 Proposed System

Typical examples are the “encrypted key exchange” (EKE) protocols given by Bellovin
and Merritt, where two parties, who share a password, exchange messages encrypted by
the password, and establish a common secret key. The formal model of security for
PAKE was firstly Based on the security model, PAKE protocols have been proposed and
proved to be secure.

A security model for ID2S PAKE protocol was given and a compiler that transforms any
two-party PAKE protocol to an ID2S PAKE protocol was proposed on the basis of the
Cramer-Shoup public key encryption scheme and any identity-based encryption scheme,
such as the Waters’ scheme.

The second model is called password-only model. Bellovin and Merritt were the first to
consider authentication based on password only, and introduced a set of so-called
“encrypted key exchange” protocols, where the password is used as a secret key to
encrypt random numbers for key exchange purpose. Formal models of security for the
password-only authentication were first

3.2.1 Advantages

We have implemented our ID2S PAKE protocols, it shows that our protocols save from 22%
to 66% of computation in each server, compared with the Katz et al.’s protocol.

 The server performance is critical to the performance of the whole protocol when the
servers provide services to a great number of clients concurrently.

 Our Protocol shows that less than one second is needed for the client to execute our
protocols.

 In the real world, a protocol determines how users behave in response to input from their
environments. In the formal model, these inputs are provided by the adversary.

 Each user is assumed to be able to execute the protocol multiple times (possibly
concurrently) with different partners.

6
 This is modeled by allowing each user to have unlimited number of instances with which
to execute the protocol.

4. SYSTEM ANALYSIS
 Existing System

 Earlier password-based authentication systems transmitted a cryptographic hash of the

password over a public channel which makes the hash value accessible to an attacker.

When this is done, and it is very common, the attacker can work offline, rapidly testing

possible passwords against the true password’s hash value. Studies have consistently

shown that a large fraction of user-chosen passwords are readily guessed automatically.

 Disadvantage:

 1.The hash value accessible to an attacker.

 2.The attacker can work offline, rapidly testing possible passwords against the true

password’s hash value.

 3.An adversary can always succeed by trying all passwords one-by-one in an on-line

impersonation attack. A protocol is secure if this is the best an adversary can do. The on-

line attacks correspond to Send queries.

 Proposed System:
 Typical examples are the “encrypted key exchange” (EKE) protocols given by Bellovin

and Merritt, where two parties, who share a password, exchange messages encrypted by

the password, and establish a common secret key. The formal model of security for

PAKE was firstly Based on the security model, PAKE protocols have been proposed and

proved to be secure.A security model for ID2S PAKE protocol was given and a compiler

that transforms any two-party PAKE protocol to an ID2S PAKE protocol was proposed

on the basis of the Cramer-Shoup public key encryption scheme and any identity-based

7
encryption scheme, such as the Waters’ scheme.The second model is called password-

only model. Bellovin and Merritt were the first to consider authentication based on

password only, and introduced a set of so-called “encrypted key exchange” protocols,

where the password is used as a secret key to encrypt random numbers for key exchange

purpose. Formal models of security for the password-only authentication were first given

independently by Bellare et al. and Boyko et al.. Katz et al. were the first to give a

password-only authentication protocol which is both practical and provably secure under

standard cryptographic assumption.

 1.Establish a cryptographic key for secure communications after authentication.

 2.The sense that an adversary attacking the system cannot determine session keys with

advantage non-negligibly greater than that of an online dictionary attack.

4.1 System Requirement Specification

Earlier password-based authentication systems transmitted a cryptographic hash of the password


over a public channel which makes the hash value accessible to an attacker. When this is done,
and it is very common, the attacker can work offline, rapidly testing possible passwords against
the true password’s hash value. Studies have consistently shown that a large fraction of user-
chosen passwords are readily guessed automatically.

4.1.1 Functional Requirements

Functional requirements define the fundamental actions that system must perform

Client registration him/herself to the network.

He/She(Sender) Login to the network

He/she wants to share the file who has registered to the network

8
When the receiver want to see the data he needs private keys

Here two servers will there, they log onto the network and verifies the key and generate the
public and shares the keys through email (both the servers will do same action)

Then the receiver will get those key through mail

By using those key he will download the file

4.1.2 Non - Functional Requirements

These functional requirements defines the needs in terms of performance, logical database
requirements, design constraints, reliability,availability,security, maintainability

Performance:

Performance requirement defines acceptable response times for system functionality.

Reliability:

Specify the factors required to establish the required reliability of the software

system at time of delivery.

Security:

Here, servers will provide security during the file downloading process of the receiver, and the
verify the file with encrypted key by the sender.

Maintainability:

To, develop this project we used java, which is open source which is portable on any system.

4.2 Feasibility Study:

A feasibility study aims to objectively and rationally uncover the strengths and weakness of an

existing business or proposed venture,oppurtunities and threats present in the environment,the

resources required to carry through,and ultimately the prospects for success. In this simplest

terms, the two criteria to judge feasibility are cost required and value to be attained.

Technical feasibility:

9
This assessment is based on an outline design of system requirements, to determine whether the

company has the technical expertise to handle completion of the project. When writing a

feasibility report, the following should be taken to consideration:

A brief description of the business to assess more possible factors which could affect the study

The part of the business being examined,The human and economic factor,The possible solutions

to the problem

Legal feasibility:

Determines whether the proposed system conflicts with legal requirements, e.g. a data processing

system must comply with the local data protection regulations and if the proposed venture is

acceptable in accordance to the laws of the land.

Operational feasibility:

Operational feasibility is the measure of how well a proposed system solves the problems, and

takes advantage of the opportunities identified during scope definition and how it satisfies the

requirements identified in the requirements analysis phase of system development.

The operational feasibility assessment focuses on the degree to which the proposed development

projects fits in with the existing business environment and objectives with regard to development

schedule, delivery date, corporate culture and existing business processes.

To ensure success, desired operational outcomes must be imparted during design and

development.

. Schedule feasibility:

10
A project will fail if it takes too long to be completed before it is useful. Typically this means

estimating how long the system will take to develop, and if it can be completed in a given time

period using some methods like payback period. Schedule feasibility is a measure of how

reasonable the project timetable is. Given our technical expertise, are the project deadlines

reasonable? Some projects are initiated with specific deadlines. It is necessary to determine

whether the deadlines are mandatory or desirable.

4.3 Use Case Analysis

Actor: An actor represents a role that an

outside takes on when interacting with

the business system.

Association: An association is the relationship

between an actor and a business use

case.It indicates that an actor can use a

certain functionality of the business

system-the business usecase.

Business use case: A business use case describes the

interaction between an actor and a

business system that the actor utilizes.

11
Include Relationship: The include relationship between two

business use cases that signifies that the

business usecase on the side to which

the arrow point included in the use case

on the other side of the arrow.

Subject: A subject describes a business system

that has one or more business use cases

attached to it.

4.3.1 Use Case Diagrams

Use case diagram show business use cases,actors, and the relationships between them.

The relationships between actor and business use cases state that an actor can use a certain

functionality of the business system.

12
Register

Login

File Upload

Client
View File
Server A

Share the File key two server

Exchange the Key

Server B
Download

Logout

Fig 4.3.1: use case diagram

4.3.2 Use Case Scenarios

A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases.

Use case diagrams model the functionality of system using actors and use cases. A
use case is a set of scenario that describing an interaction between the user and a system. The use
case diagram consists of two actors’ sender and receiver. Use case diagram model the
functionality of system using actor and use cases. Use case diagram address the static use case
view of a system. These diagrams are especially important in organizing and modeling the

13
behaviors of a system. An actor represents a user or another system that will interact with the
system you are modeling.

Use case relationships

Interaction among actors is not shown on the use case diagram. If this interaction is
essential to a coherent description of the desired behavior, perhaps the system or use case
boundaries should be re-examined. Alternatively, interaction among actors can be part of the
assumptions used in the use case.

Actor Generalization

One popular relationship between Actors is Generalization/Specialization. This is


useful in defining overlapping roles between actors. The notation is a solid line ending in a
hollow triangle drawn from the specialized to the more general actors.

4.4 System Requirements

The hardware and software components of a computer system these are required to install and
use software efficiently. The software manufacturer will list the system requirements on the
software package. If your computer system does not meet the system requirements then the
software may not work correctly after installation. System requirements for operating systems
will be hardware components, while other application software will list both hardware and
operating system requirements. System requirements are most commonly seen listed as
minimum and recommended requirements. The minimum system requirements need to be met
for the software to run at all on your system, and the recommended system requirements, if met,
will offer better software usability.

Hardware requirement

Software requirements

4.4.1 hardware Requirements

Speed - 1.1 Ghz

14
RAM - 256 MB(min)

Hard Disk - 20 GB

Floppy Drive - 1.44 MB

Key Board - Standard Windows Keyboard

Mouse - Two or Three Button Mouse

Monitor - SVG

4.4.2 Software Requirements

The most common set of requirements defined by any operating system or software application

is the physical computer resources, also known as hardware, a hardware requirements list is often

accompanied by a hardware compatibility list (HCL), especially in case of operating systems. An

HCL lists tested, compatible, and sometimes incompatible hardware devices for a particular

operating system or applications. The following sub-sections discuss the various aspects of

hardware requirements

 Operating System : Windows95/98/2000/XP

 Application Server : Tomcat5.0/6.X

 Front End : HTML, Java, Jsp

 Scripts : JavaScript.

 Server side Script : Java Server Pages.

 Database : Mysql

 Database Connectivity : JDBC.

15
5. SYSTEM DESIGN

5.1 Introduction

System design is the process of defining the elements of a system such as the architecture,
modules and components, the different interfaces of those components and the data that goes
through that system. It is meant to satisfy specific needs and requirements of a business or
organization through the engineering of a coherent and well-running system.

Object oriented design is concerned with developing an object-oriented model of software


system to implement the identified requirements. It is the process of identifying the components,
interfaces, objects, classes, attributes, and operations that will satisfy the requirements. We
typically start with the candidate objects defined during analysis, but add much more rigor to
their definitions. Then we add or change objects as needed to refine a solution.

Object-oriented Design can yield the following benefits:

 Maintainability

Maintainability through simplified mapping to the problem domain, which


provides for less analysis effort, less complexity in system design, and easier verification
by the users.

 Reusability

Reusability of design artifacts, which saves time and costs.

 Productivity

Productivity gains through direct mapping to features of Object-Oriented


programming languages.

16
5.1.1 Class Diagram

Class diagram is the unified modeling language it is a type ofstatic structure diagram that
describes the structure of a system by showing the systems classes, their attributes, operations
,(or methods) and the relationship among objects.

Client Server A
Server B
+id +id
+password +password +id
+password
+Login() +View Request file()
+file upload() +share the file key another server() +View request file()
+share the file() +share the file key another server()
+Generate Key()

Fig 5.1.: class diagram

17
5.1.2 Sequence Diagram:

A sequence diagram is an interaction diagram that shows how objects operate with one another
.it is aconstruct of a message sequence chart.

Client Server A Server B

1 : Register()

2 : Login()

3 : File Upload()

4 : Share the File and Generate Key()

5 : Download the file()

6 : Share the File and Generate Key()

7 : View Request File()

8 : View Request File()

Fig 5.1.2:sequence diagram

18
5.1.3 Deployment digram:

Deployment diagram is a structure diagram which shows architecture of the system as


deployment (distribution) of software artifacts to deployment targets.

Server B
Client

Server A

Fig 5.1.3:deployment diagram

19
5.1.4 Data Flow Diagram:

A Dataflow diagram(dfd) illustrates how data is processed by a system in terms of inputs and
outputs. As it name indicates its focus is on the flow of information.

Level 1:

Register Login File Upload Share File

Client

Generate Key Share two server

Level 2:
View Client
Request Share file key Logout

Server 1

Level 3:

Server 2 View Client Request Share file key another


server

Fig 5.1.4:data flow diagram

20
5.1.5 ER digram

It is a graphical representation of an information system that shows the relationship between


people,objects,places,concepts within the system

Share File
Login File Upload
another
user
Register
Generate file
key

User

Server 1

View Server 2
client
client
request Share file key
another
server
Share file key
View Client another server
Request

Fig 5.1.5:ER diagram

21
5.2 System Architecture

Fig5.2:system architecture

22
5.2.1.ALGORITHM SPECIFICATION:

The concept of an algorithm is fundamental to computer science. Algorithms exist for many
common problems, and designing efficient algorithms plays a crucial role in developing large-
scale computer systems. Therefore, before we proceed further we need to discuss this concept
more fully. We begin with a definition. Definition: An algorithm is a finite set of instructions
that, if followed, accomplishes a particular task.

Fig5.2.1:key agreement

.DIFFIE-HELLMAN KEY EXCHANGE PROTOCOL:

The Diffe-Hellman key agreement protocol (1976) was the first practicalmethod for
establishing a shared secret over an unsecured communication channel. The point is to agree on
a key that two parties can use for a symmetric encryption ,in such a way that an eavesdropper
cannot obtain the key.

(ga mod p) (gb mod P)

Alice(knows Bob(knows
p,g,A) p,g,B)

23
4.2.STEPS IN THE ALGORITHM:

1.Alice and Bob agree on a prime number p and a base g.

2.Alice chooses a secret number a, and sends Bob (g a mod p).

3.Bob chooses a secret number b, and sends Alicde (g b mod p).

4.Alice computers ((g b mod p)b mod p).

5.Bob computers ((g a mod p) b mod p).Both Alice and Bob can use this number as their key.
Notice that p and g need not be protected.

Example:
1.Alice and Bob agree on p=23 and g=5.

2.Alicechooses a=6 and sends 5 6 mod 23 =8.

3.Bob chooses b =15 and sends 515 mod 23 =19.

4.Alice computers 196 mod 23 =2.

5.Bob computers 815 mod 23 =2.

6. IMPLEMENTATION

6.1 Technology description

Java Technology, Java technology is both a programming language and a platform.The Java
programming language is a high-level language that can be characterized by all of the following
buzzwords:

 Simple
 Architecture neutral
 Object oriented
 Portable
 Distributed
 High performance

24
 Interpreted
 Multithreaded
 Robust
 Dynamic
 Secure

With most programming languages, you either compile or interpret a program so that you
can run it on your computer. The Java programming language is unusual in that a program is
both compiled and interpreted. With the compiler, first you translate a program into an
intermediate language called Java byte codes —the platform-independent codes interpreted by
the interpreter on the Java platform. The interpreter parses and runs each Java byte code
instruction on the computer. Compilation happens just once; interpretation occurs each time the
program is executed. The following figure illustrates how this works.

The Java Platform


A platform is the hardware or software environment in which a program runs.
We’ve already mentioned some of the most popular platforms like Windows 2000,
Linux, Solaris, and MacOS. Most platforms can be described as a combination of the
operating system and hardware. The Java platform differs from most other platforms in
that it’s a software-only platform that runs on top of other hardware-based platforms.

 The essentials: Objects, strings, threads, numbers, input and output, data
structures, system properties, date and time, and so on.

25
 Applets: The set of conventions used by applets.
 Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram
Protocol) sockets, and IP (Internet Protocol) addresses.
 Internationalization: Help for writing programs that can be localized for users
worldwide. Programs can automatically adapt to specific locales and be displayed
in the appropriate language.
 Security: Both low level and high level, including electronic signatures, public
and private key management, access control, and certificates.
 Software components: Known as JavaBeansTM, can plug into existing
component architectures.
 Object serialization: Allows lightweight persistence and communication via
Remote Method Invocation (RMI).
 Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of
relational databases.
ODBC ,JDBC,JDBC Goals

1. SQL Level API


The designers felt that their main goal was to define a SQL interface for Java. Although
not the lowest database interface level possible, it is at a low enough level for higher-level
tools and APIs to be created. Conversely, it is at a high enough level for application
programmers to use it confidently.

2. SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an effort to
support a wide variety of vendors, JDBC will allow any query statement to be passed through
it to the underlying database driver. JDBC must be implemental on top of common database

3. Keep it simple

This goal probably appears in all software design goal listings. Use strong, static typing
Keep the common cases simple

26
Port addresses

A service exists on a host, and is identified by its port. This is a 16 bit number. To
send a message to a server, you send it to the port for that service of the host that it is
running,

Sockets

A socket is a data structure maintained by the system to handle network connections. A socket is
created using the call socket. It returns an integer that is like a file descriptor. In fact, under
Windows, this handle can be used with Read File and Write File functions.

#include <sys/types.h>#include <sys/socket.h>int socket(int family, int type, int protocol);

Profile 2: MIDP.

* java.lang

* java.io

* java.util

* javax.microedition.io

* javax.microedition.lcdui

* javax.microedition.midlet

* javax.microedition.rms

6.2 System Modules

Modules Description We present two compilers transforming any two-party PAKE protocol P

to an ID2S PAKE protocol P0 with identity-based cryptography. The first compiler is built on

identity-based signature (IBS) and the second compiler is based on identity-based encryption

(IBE).

27
1.ID2S PAKE Based on IBS

We need an identity-based signature scheme (IBS) as our cryptographic building block. A high-

level description of our compiler in which the client C and two servers A and B establish two

authenticated keys, respectively. If we remove authentication elements from our compiler, our

key exchange protocol is essentially the Diffie-Hellman key exchange protocol. We present the

protocol by describing initialization and execution.

2. ID2S PAKE Based on IBE

Key Generation: On input the identity S of a server S 2 Server, paramsIBE, and the secret

sharing master-keyIBE, PKGs cooperate to run ExtractIBE of the IBE scheme and generate a

private (decryption) key for S, denoted as dS, in a manner that any coalition of PKGs cannot

determine dS as long as one of the PKGs is honest to follow the protocol. Each user has a private

key x ,Each user has three public keys: prime modulus p, generator g and public Y = gxmod p

Security is based on the difficulty of DLP,Secure key size > 1024 bits ( today even 2048 bits)

Protocol Execution. Given a triple (C; A;B) 2 Client ServerTriple, the client C (knowing its

password pwC) runs the protocol P0 with the two servers A (knowing GpwC;A , gpwC;A and its

private key dA) and B (knowing GpwC;B , gpw C;B and its private key dB) to establish two

session keys, respectively.

At first, the client randomly chooses pw1 from Zn and computes pw2 = pwC􀀀pw1(mod n). Next

the client C randomly generates a one-time public and private key pair (pk; sk) for the public key

encryption scheme E, and randomly chooses an integer rc from Zq and computes Wc= grc ; h =

H1(C;Wc; pk): Next, according to the identities of the two servers A and B, the client C

performs the identity-based encryptions Ea = IBE(Gpw1h􀀀1 ;A);Eb = IBE(Gpw2h􀀀1 ;B): Then,

28
the client sends msg1 = hC;Wc; pk;Eai and msg2 = hC;Wc; pk;Ebi to the two servers A and B,

respectively.

3.Initialization

The two peer servers S1 and S2 jointly choose a cyclic group G of large prime order q with a

generator g1 and a secure hash function H : {0; 1}*->Zq, which maps a message of arbitrary

length into an l-bit integer, where l= log2 q. Next, S1 randomly chooses an integer s1 from Zq

and S2 randomly chooses an integer s2 from Zq , and S1 and S2 exchange g1s1 and g1s2 . After

that, S1 and S2 jointly publish public system parameters G; q; g1; g2;H where g2 = gs1s2 .

4.Registration

The two secure channels are necessary for all two server PAKE protocols, where a password is

split into two parts, which are securely distributed to the two servers, respectively, during

registration. Although we refer to the concept of public key cryptosystem, the encryption key of

one server should be unknown to another server and the client needs to remember a password

only after registration.

6.3 Sample Source Code

<!DOCTYPE HTML>

<html><head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

29
<title>Oxygen &mdash; Free Website Template, Free HTML5 Template by

gettemplates.co</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="Free HTML5 Website Template by gettemplates.co" />

<meta name="keywords" content="free website templates, free html5, free template, free

bootstrap, free website template, html5, css3, mobile first, responsive" />

<meta name="author" content="gettemplates.co" />

<!--Oxygen by gettemplates.co

Twitter: http://twitter.com/gettemplateco

URL: http://gettemplates.co-->

<!-- Facebook and Twitter integration -->

<meta property="og:title" content=""/>

<meta property="og:image" content=""/>

<meta property="og:url" content=""/>

<meta property="og:site_name" content=""/>

<meta property="og:description" content=""/>

<meta name="twitter:title" content="" />

<meta name="twitter:image" content="" />

30
<meta name="twitter:url" content="" />

<meta name="twitter:card" content="" />

<!-- <link href='https://fonts.googleapis.com/css?family=Work+Sans:400,300,600,400italic,700'

rel='stylesheet' type='text/css'> -->

<!-- Animate.css -->

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

<!-- Icomoon Icon Fonts-->

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

<!-- Bootstrap -->

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

<!-- Magnific Popup -->

<link rel="stylesheet" href="css/magnific-popup.css">

<!-- Owl Carousel -->

<link rel="stylesheet" href="css/owl.carousel.min.css">

<link rel="stylesheet" href="css/owl.theme.default.min.css">

<!-- Theme style --><link rel="stylesheet" href="css/style.css">

<!-- Modernizr JS -->

<script src="js/modernizr-2.6.2.min.js"></script>

31
<!-- FOR IE9 below --><!--[if lt IE 9]>

<script src="js/respond.min.js"></script><![endif]--> </head><body>

<div class="gtco-loader"></div>

<div id="page"><nav class="gtco-nav" role="navigation"><div class="gtco-container">

<div class="row"><div class="col-xs-2">

<divid="gtco-logo"><href="index.html">ID2S.</a></div>

</div><div class="col-xs-8 text-center menu-1">

<ul><liclass="active"><ahref="index.jsp">Home</a></li>

<li class="has-dropdown">

<a href="#">File</a>

<ul class="dropdown">

<li><a href="upload.jsp">File Upload</a></li>

<ul></li><li class="has-dropdown">

<a href="#">Share Data</a><ul class="dropdown">

<li><a href="share.jsp">Share Data</a></li>

</ul></li><li><a href="shared.jsp">Shared Data</a></li>

<li><a href="index.jsp">Logout</a></li>

32
</ul></div>

<div class="col-xs-2 text-right hidden-xs menu-2">

</div></div></div></nav>

<header id="gtco-header" class="gtco-cover gtco-cover-sm" role="banner" style="background-

image:url(images/img_bg_1.jpg);">

<div class="gtco-container"><div class="row">

<div class="col-md-8 col-md-offset-2 text-center">

<div class="display-t">

<div class="display-tc animate-box" data-animate-effect="fadeIn">

<h1 style="color:pink">ID2S PASSWORD</h1>

<h2 style="color:">AUTHENTICATED KEY EXCHANGE PROTOCOLS </h2>

</div></div></div></div></div></header>

</div><div class="gototop js-top">

<a href="#" class="js-gotop"><i class="icon-arrow-up"></i></a>

</div><!-- jQuery -->

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

<!-- jQuery Easing -->

<script src="js/jquery.easing.1.3.js"></script>

33
<!-- Bootstrap -->

<script src="js/bootstrap.min.js"></script><!-- Waypoints -->

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

<!-- Carousel -->

<script src="js/owl.carousel.min.js"></script>

<!-- countTo -->

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

<!-- Magnific Popup -->

<script src="js/jquery.magnific-popup.min.js"></script>

<script src="js/magnific-popup-options.js"></script>

<!-- Main -->

<script src="js/main.js"></script></body></html>

Login.jsp

<!--A Design by W3layouts

Author: W3layout

Author URL: http://w3layouts.com

License: Creative Commons Attribution 3.0 Unported

34
License URL: http://creativecommons.org/licenses/by/3.0/

-->

<!DOCTYPE HTML>

<html>

<head>

<title>Login Page</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

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

<meta name="keywords" content="Seeking Responsive web template, Bootstrap Web

Templates, Flat Web Templates, Andriod Compatible web template,

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG,

SonyErricsson, Motorola web design" />

<script type="application/x-javascript"> addEventListener("load", function() {

setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }

</script>

<link href="css1/bootstrap-3.1.1.min.css" rel='stylesheet' type='text/css' />

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

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

35
<script src="js1/bootstrap.min.js"></script>

<!-- Custom Theme files -->

<link href="css1/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts1.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700,800,900'

rel='stylesheet' type='text/css'>

<!----font-Awesome----->

<link href="css1/font-awesome.css" rel="stylesheet">

<!----font-Awesome----->

</head>

<body>

<form action="Login" method="post">

<nav class="navbar navbar-default" role="navigation">

<div class="container">

<div class="navbar-header"></div>

<!--/.navbar-header-->

<div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1"

style="height: 1px;">

<ul class="nav navbar-nav">

36
<li class="dropdown"> <ul class="dropdown-menu"> </ul>< li>

<li class="dropdown">

<ul class="dropdown-menu multi-column columns-3">

<div class="row">

<div class="col-sm-4"></div> </div> </ul>

<li><li class="dropdown></li></ul>

</div> <div class="clearfix"> </div> </div><!--/.navbar-collapse--></nav>

<div class="banner_1">

<div class="container"></div> </div><div class="container">

<div class="single"> <div class="col-md-4">

<div class="col_3"><ul class="list_1"></ul></div>

<div class="col_3"><ul class="list_2"></ul></div>

<div class="widget"> <div class="widget-content">

<div class="seeking-answer"><span class="seeking-answer-group">

<span class="seeking-answer-input"></span> </span>

<span class="seeking-answer-group">

<span class="seeking-answer-input">

37
</span></span></div> </div>

</div></div> <div class="col-md-8 single_right">

<div class="login-form-section">

<div class="login-content">

<form> <div class="section-title">

<h3>LogIn to your Account</h3> </div>

<div class="textbox-wrap">

<div class="input-group">

<span class="input-group-addon "><i class="fa fa-user"></i></span>

<input type="text" name="name" required="required" class="form-control"

placeholder="Username">

</div></div><div class="textbox-wrap">

<div class="input-group">

<span class="input-group-addon "><i class="fa fa-key"></i></span>

<input type="password" name="password" required="required"

class="form-control " placeholder="Password">

</div></div></form> <div class="forgot">

<div class="login-check">

38
<labelclass="checkbox1"><input

type="checkbox" name="checkbox" checked=""><i> </i>Sign Up for Newsletter</label>

</div>

<div class="login-para">

<p><a href="#"> Forgot Password? </a></p> </div>

<div class="clearfix"> </div></div>

<div class="login-btn">

<input type="submit" value="Log in">

</div><div class="login-bottom">

<h4>Don,t have an Account? <a href="register.jsp"> Register Now!</a></h4>

</div></div> </div> </div>

</div> <div class="clearfix"> </div></div>

<div class="footer"><div class="container"></div></div></form>

</body></html>

Key.jsp

<!--A Design by W3layouts

Author: W3layout

Author URL: http://w3layouts.com

39
License: Creative Commons Attribution 3.0 Unported

License URL: http://creativecommons.org/licenses/by/3.0/

-->

<!DOCTYPE HTML>

<html>

<%@page import="java.sql.ResultSet"%>

<%@page import="java.sql.Statement"%>

<%@page import="java.sql.DriverManager"%>

<%@page import="java.sql.Connection"%>

<head>

<title>share data</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

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

<meta name="keywords" content="Seeking Responsive web template, Bootstrap Web

Templates, Flat Web Templates, Andriod Compatible web template,

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG,

SonyErricsson, Motorola web design" />

40
<script type="application/x-javascript"> addEventListener("load", function() {

setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }

</script>

<link href="css1/bootstrap-3.1.1.min.css" rel='stylesheet' type='text/css' />

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

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

<script src="js1/bootstrap.min.js"></script>

<!-- Custom Theme files -->

<link href="css1/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts1.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700,800,900'

rel='stylesheet' type='text/css'>

<!----font-Awesome----->

<link href="css1/font-awesome.css" rel="stylesheet">

<!----font-Awesome----->

</head><body><nav class="navbar navbar-default" role="navigation">

<div class="container">

<div class="navbar-header”></div>

<!--/.navbar-header-->

41
<div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1"

style="height: 1px;">

<ul class="nav navbar-nav">

<li class="dropdown">

<ul class="dropdown-menu"> </ul><li>

<li class="dropdoen”><ul class="dropdown-menu multi-column columns-

3"> <div class="row">

<div class="col-sm-4">

<div> </div </ul>

<li> <li class="dr”> </li></ul></div>

<div class="clearfix"> </div></div>

<!--/.navbar-collapse</nav>

<div class="banner_1">

<div class="container"></div>

</div>

<div class="container">

<div class="single">

<div class="col-md-4">

42
<div class="col_3">

<ul class="list_1"></ul>

</div> <div class="col_3">

<ul class="list_2"></ul></div><div class="widget"><div class="widget-content">

<div class="seeking-answer"><span class="seeking-answer-group">

<span class="seeking-answer-input">

</span></span> <span class="seeking-answer-group">

<span class="seeking-answer-input">

</span></span></div>

</div></div></div> <div class="col-md-8 single_right">

<div class="login-form-section"><div class="login-content">

<form><%

String name=(String)session.getAttribute("myobj")%>

<div class="section-title">

<h3>Welcome&nbsp;Server</h3></div>

<div class="textbox-wrap">

<div class="input-group">

43
<table align="center" border="5" width="700px">

<tr>

<th style="color:greeen;"><center>File ID</center></th>

<th style="color:green;"><center>Subject</center></th>

<th style="color:green;"><center>File

Name</center></th>

<th style="color:green;"><center>Share To</center></th>

<th style="color:green;"><center>Secret

Key</center></th>

<th style="color:green;"><center>Verify</center></th>

<%

Class.forName("com.mysql.jdbc.Driver");

System.out.println("loading class loaders");

Conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/id2s","root","root");

System.out.println("DB connected");

System.out.println("hi im here at the upload servlet code");

Statement st=con.createStatement();

44
String f="select * from share";

ResultSet rs=st.executeQuery(f);

while(rs.next())

{ String a=rs.getString("id");

String b=rs.getString("subject");

String c=rs.getString("filename");

String d=rs.getString("shareto");

String e=rs.getString("skey");%>

<tr> <th style="color:red;"><center><%=a%></center></th>

<th style="color:red;"><center><%=b%></center></th>

<th style="color:red;"><%=c%></center></th>

<th style="color:red;"><%=d%></center></th>

<th style="color:red;"><%=e%></center></th>

<th style="color:red;"><a

href="Keyex.jsp?a1=<%=a%>&&b1=<%=b%>&&c1=<%=c%>&&d1=<%=d%>&&e1=<%=e

%>">Verify</a></th></tr>

<% } %>

</table></div>< </div>

45
<div class="textbox-wrap">

<div class="input-group"></div></div></div> </div>

</form></div> </div>

</div> </div></div></form></body></html>

Key exchange.jsp

<!--A Design by W3layouts

Author: W3layout

Author URL: http://w3layouts.com

License: Creative Commons Attribution 3.0 Unported

License URL: http://creativecommons.org/licenses/by/3.0/

-->

<!DOCTYPE HTML>

<%@page import="java.util.Random"%>

<html>

<%@page import="java.sql.*"%>

<%@page import= "java.io.PrintWriter"%>

<head>

46
<title> View share data</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

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

<meta name="keywords" content="Seeking Responsive web template, Bootstrap Web

Templates, Flat Web Templates, Andriod Compatible web template,

Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG,

SonyErricsson, Motorola web design" />

<script type="application/x-javascript"> addEventListener("load", function() {

setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }

</script>

<link href="css1/bootstrap-3.1.1.min.css" rel='stylesheet' type='text/css' />

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

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

<script src="js1/bootstrap.min.js"></script>

<!-- Custom Theme files -->

<link href="css1/style.css" rel='stylesheet' type='text/css' />

<link href='//fonts1.googleapis.com/css?family=Roboto:100,200,300,400,500,600,700,800,900'

rel='stylesheet' type='text/css'>

<!----font-Awesome----->

47
<link href="css1/font-awesome.css" rel="stylesheet">

<!----font-Awesome----->

</head>

<body><% Class.forName("com.mysql.jdbc.Driver");

System.out.println("loading class loaders");

Connection con =

DriverManager.getConnection("jdbc:mysql://localhost:3306/id2s","root","root");

System.out.println("DB connected");

System.out.println("hi im here at the upload servlet colour”);

Statement st=con.createStatement();%>

<nav class="navbar navbar-default" role="navigation">

<div class="container">

<div class="navbar-header"></div>

<!--/.navbar-header-->

<div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1"

style="height: 1px;">

<ul class="nav navbar-nav">

<li class="dropdown”><ul class="dropdown-ment> </ul> </li>

48
<li class="dropdown"> <ul class="dropdown-menu multi-column columns-3">

<div class="row">

<div class="col”> <div> </div>

</ul> </li><li class="dropdown"></li> </ul</div>

<div class="clearfix"> </div>

</div>

<!--/.navbar-collapse--></nav>

<div class="banner_1">

<div class="contant”></div>

</div>

<div class="container">

<div class="single">

<div class="col-md-4">

<div class="col_3"><ul class="list_1"></ul> </div>

<div class="col_3"><ul class="list_2"></ul> </div>

<div class="widget"> <div class="widget-content">

<div class="seeking-answer”><span class="seeking-answer-group">

49
<span class="seeking-answer-input">

</span></span>

<span class="seeking-answer-group">

<span class="seeking-answer-input">

</span></span></div></div></div> </div>

<div class="col-md-8 single_right">

<div class="login-form-section">

<div class="login-content"> <%String name=(String)session.getAttribute("myobj");

String id=request.getParameter("a1");

String subject=request.getParameter("b1");

String filename=request.getParameter("c1");

String shareto=request.getParameter("d1");

request.getSession(true).setAttribute("id1",id);

request.getSession(true).setAttribute("subject1",subject);

request.getSession(true).setAttribute("filename1",filename);

request.getSession(true).setAttribute("shareto1",shareto) %>

<h3>Key &nbsp;Verifiy><h3><table align="center" border="2">

50
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n

bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb

sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs

p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp

;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

File ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<%=id%></p>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

51
Subject&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<%=subject%></p>

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

File Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<%=filename%></p>

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Share To&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:

<input type="text" name="name" value="<%=shareto%>">

<% String f="select * from share where id='"+id+"' and filename= '"+filename+"' ";

ResultSet rs=st.executeQuery(f); String c="";

if(rs.next(){ c=rs.getString("skey");

session.setAttribute("secretekey", c);

%><%} %>

<p align="left"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;Server1 SecretKey &nbsp;&nbsp;

<input type="password" name="gen" value="<%=c %>">

<%String r=(String)session.getAttribute("verify”) %>

52
<p align="left"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;Generate SecretKey &nbsp;&nbsp;

<input type="text" name="gen" value=""> <a href="NewFile.jsp">Generater</a>

</p><div class="login>

&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;

&nbsp;&nbsp;

<form action="Keyver1" method="post">

<input type="submit" value="Verify">

</form></div></td></table> <div class="section-title">

</div><div class="textbox-wrap">

<div class="input-group">

</div></div></div>

<div class="textbox-wrap">

<div class="input-group"></div> <div> </div>

</div> </div></div></body></html>

Upload.jsp

<head>

53
<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>File &mdash;Upload</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<meta name="description" content="Free HTML5 Website Template by gettemplates.co"

/>

<meta name="keywords" content="free website templates, free html5, free template, free

bootstrap, free website template, html5, css3, mobile first, responsive" />

<meta name="author" content="gettemplates.co" />

<!--

Oxygen by gettemplates.co

Twitter: http://twitter.com/gettemplateco

URL: http://gettemplates.co

-->

<!-- Facebook and Twitter integration -->

<meta property="og:title" content=""/>

54
<meta property="og:image" content=""/>

<meta property="og:url" content=""/>

<meta property="og:site_name" content=""/>

<meta property="og:description" content=""/>

<meta name="twitter:title" content="" />

<meta name="twitter:image" content="" />

<meta name="twitter:url" content="" />

<meta name="twitter:card" content="" />

<!-- <link

href='https://fonts.googleapis.com/css?family=Work+Sans:400,300,600,400italic,700'

rel='stylesheet' type='text/css'> -->

<!-- Animate.css -->

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

<!-- Icomoon Icon Fonts-->

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

<!-- Bootstrap -->

55
<link rel="stylesheet" href="css/bootstrap.css">

<!-- Magnific Popup -->

<link rel="stylesheet" href="css/magnific-popup.css">

<!-- Owl Carousel -->

<link rel="stylesheet" href="css/owl.carousel.min.css">

<link rel="stylesheet" href="css/owl.theme.default.min.css">

<!-- Theme style -->

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

<!-- Modernizr JS -->

<script src="js/modernizr-2.6.2.min.js"></script>

<!-- FOR IE9 below -->

<!--[if lt IE 9]>

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

56
<![endif]-->

</head>

<body>

<div class="gtco-loader"></div>

<div id="page">

<nav class="gtco-nav" role="navigation">

<div class="gtco-container">

<div class="row">

<div class="col-xs-2">

<div id="gtco-logo"><a

href="index.html">ID2S.</a></div>

</div>

<div class="col-xs-8 text-center menu-1">

<ul>

<li><a href="index.jsp">Home</a></li>

57
<li class="has-dropdown">

<ul class="dropdown">

</ul>

</li>

<li class="active"><a

href="home.jsp">Back</a></li>

</ul>

</div>

<div class="col-xs-2 text-right hidden-xs menu-2">

<ul>

<li class="btn-cta"><a href="#"><span>File

Upload</span></a></li>

</ul>

</div>

58
</div>

</div>

</nav>

<header id="gtco-header" class="gtco-cover gtco-cover-sm" role="banner"

style="background-image:url(images/img_bg_1.jpg);">

<div class="gtco-container">

<div class="row">

<div class="col-md-8 col-md-offset-2 text-center">

<div class="display-t">

<div class="display-tc animate-box" data-animate-

effect="fadeIn">

<h1>ID2S PASSWORD</h1>

<h2>AUTHENTICATED KEY

EXCHANGE PROTOCOLS </h2>

</div>

59
</div>

</div>

</div>

</div>

</header>

<form action="Upload" method="post" enctype="multipart/form-data">

<div class="gtco-section">

<div class="gtco-container">

<div class="row">

<div class="col-md-6 animate-box">

<h3>File Upload</h3>

<div class="row form-group">

<div class="col-md-6">

<label for="file">File ID</label>

<input type="text" name="id"

id="fname" class="form-control" required="required">

</div>

60
</div>

<div class="row form-group">

<div class="col-md-12">

<label

for="subject">Subject</label>

<input type="text" name="subject"

id="subject" class="form-control"required="required">

</div>

</div>

<div class="row form-group">

<div class="col-md-12">

<label for="subject">Upload

File</label>

61
<input type="file" name="filename"

required="required">

</div>

</div>

<div class="row form-group">

<div class="col-md-12">

</div>

</div>

<br>

<div class="form-group">

<input type="submit" value="Upload"

class="btn btn-primary">

</div>

</form>

62
</div>

<div class="col-md-5 col-md-push-1 animate-box">

<div class="gtco-contact-info">

</div>

</div>

</div>

</div>

</div>

<div class="overlay"></div>

<div class="gtco-container">

<div class="row">

63
<div class="col-md-8 col-md-offset-2 text-center">

<div class="display-t">

</div>

</div>

</div>

</div>

</div>

<footer id="gtco-footer" role="contentinfo">

<div class="gtco-container">

<div class="row">

</div>

<div class="col-md-2 col-md-push-1">

</div>

64
<div class="col-md-2 col-md-push-1">

</div>

<div class="col-md-2 col-md-push-1">

</div>

</div>

<div class="row copyright">

<div class="col-md-12">

<p class="pull-right">

</div>

</div>

</footer>

65
<!-- jQuery -->

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

<!-- jQuery Easing -->

<script src="js/jquery.easing.1.3.js"></script>

<!-- Bootstrap -->

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

<!-- Waypoints -->

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

<!-- Carousel -->

<script src="js/owl.carousel.min.js"></script>

<!-- countTo -->

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

<!-- Magnific Popup -->

<script src="js/jquery.magnific-popup.min.js"></script>

<script src="js/magnific-popup-options.js"></script>

<!-- Main -->

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

66
</body>

</html>

7. TESTING

7.1 Introduction

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.

7.2 Test Cases

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 .

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:

System Test

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

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.

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,

Unit Testing:

Unit testing is usually conducted as part of a combined code and unit test phase of the software
lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct
phases.

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.

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.

7.3 test results

All the test cases mentioned above passed successfully. No defects encountered.

68
All the test cases mentioned above passed successfully. No defects encountered.

 Verify that the entries are of the correct format


 No duplicate entries should be allowed
 All links should take the user to the correct page.

Id subject filename shareto skey


13 ds ram suma rufjf
12 os rama rama kjhgf

Fig7.3.1:share data

8. SAMPLE SCREEN SHOTS

Fig 8.1:home page

69
Fig8.2:Registration screen

Fig8.3:login screen

70
Fig8.4:file upload screen

71
Fig8.5:shared data screen

Fig8.6: key generation screen

72
Fig8.7:key verification screen

73
Fig8.9:file download screen

9. CONCLUSION
We present two efficient compilers to transform any two-party PAKE protocol to an ID2S PAKE
protocol with identity-based cryptography. In addition, we have provided a rigorous proof of
security for our compilers without random oracle. Our compilers are in particular suitable for the
applications of password-based authentication where an identity-based system has already
established. Our future work is to construct an identity-based multipleserver PAKE protocol with
any two-party PAKE protocol

74
10. REFERENCES
1. M. Abdalla and D. Pointcheval.Simple password-based encrypted key exchange protocols.
2. M. Bellare, D. Pointcheval, and P. Rogaway.Authenticated key exchange secure against
dictionary attacks. In Proc. Eurocrypt’00, pages 139-155, 2000.
3. S. M. Bellovin and M. Merritt.Encrypted key exchange: Passwordbased protocol secure
against dictionary attack. In Proc. 1992 IEEE Symposium on Research in Security and Privacy,
pages 72-84, 1992.
4. J. Bender, M. Fischlin, and D. Kugler. Security analysis of the PACE
key-agreement protocol. In Proc. ISC’09, pages 33-48, 2009.
5. J. Bender, M. Fischlin, and D. Kugler. The PACEjCA protocol for
machine readable travel documents. In INTRUST’13, pages 17-35,2013.

75

You might also like