You are on page 1of 41

BY.

Sriramachandra.M
Sandeep Ukkingatti.M
Praveen K.C
Sandeep V Savanth
Saawan Rathod
GUIDE COORDINATOR

Mr. ARAVINDA T V Ms. INDIRA S P


BE,M.Tech, M.I.S.T.E BE, M.Tech, M.I.S.T.E, M.I.E

Lecturer, Dept of CS&E Asst. Prof & Coordinator, Dept of


CS&E

HEAD OF THE DEPARTMENT

Mr. ARUN KUMAR M.V


BE,M.Tech, M.I.S.T.E
Asst. Prof & Head, Dept of CS&E
 Introduction
 Problem statement and Solution
 Architecture
 Modules
 Implementation
 Snapshots
 Testing
 Limitations
 Future work
 Conclusion
 Single user multicasts messages to destination
users.

 Destination is a group rather than a single user .

 Groups are dynamic in nature.


 Efficient Global Key Management and secured protocol for Group
communication.

 Group Communication Systems are distributed messaging


systems
that enable inefficient communication.

 The Group Communication is the most insecure form of


communication.

 The most typical Group Communication System is in which the


group membership is dynamic.
 Security to Group Communication

 Cryptographic techniques.

 Membership Service.
 Processor – Pentium IV Processor

 Random Access Memory (RAM) – 512MB

 Secondary Storage – 40 GB Hard Disk


 Windows XP.

 Microsoft Access Database.

 J2SDK 1.5.

 Java Swings & Networking APIs.

 My Eclipse.
Server Authentication

SERVER ADMIN

Client START SERVER


Authentication

ADD USERS
USERNAME
PASSWORD
SERVER NAME

ENCRYPTION
GROUP MEMBER Ek

GROUP MEMBER DECRYPTION


Dk

GROUP COMMUNICATION
1) Server administration .
2) User Authentication.
3) Authenticating the users logged in.
4) Server accepting the clients .
5) Dynamic nature of Generating key.
6) Encryption of message by sender by using key.
7) Multicasting of message to all.
8) Decryption of message with Key.
9) Exit
Admin

Admin Name
and Password

Change Remove
Add Users
Password users
Start

User is
invalid

Client
Username ,password
servername
Accept
request

Checks NO
Validity

YES
Allows client
End
to chat
source Client
types the
message
encryption

Server asks the source client to enter the


key

Server sends the


Message to destinated client

Once the message arrives at client again


server asks the key to destinated client

If key no
matches Rejected

decryption yes

Destinated client is End


allowed to chat
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource().equals(CmdLogin)) {
String un=TxtUserName.getText().trim();
String pass=TxtPassword.getText().trim();
if(un.equals("")) {
lblMessage.setText("Please Enter User Name");
return;
}
if(pass.equals("")) {
lblMessage.setText("Please Enter Password");
return;
}
}}
private void ConnectToServer() {
messagecanvas.ClearAll();
messagecanvas.AddMessageToMessageObject(
"Connecting To Server..Please Wait..",MESSAGE_TYPE_ADMIN);
try {
socket = new Socket(ServerName, ServerPort);
}
dataoutputstream = new DataOutputStream(socket.getOutputStream());
SendMessageToServer("HELO " + UserName +","+ Password);
datainputstream = new DataInputStream(socket.getInputStream());
StartFlag = true;
thread = new Thread(this);
thread.start();
EnableAll();
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource().equals(CmdAdd))
{
String un=TxtUserName.getText().trim();
String pass=TxtPassword.getText().trim();
String repass=TxtRePassword.getText().trim();
if(un.equals(""))
{
lblMessage.setText("Please Enter User Name");
return;
}
if(pass.equals(""))
{
lblMessage.setText("Please Enter Password");
return;
}
if(repass.equals(""))
{
lblMessage.setText("Please Re-Enter Password");
return;
}
if(!pass.equals(repass))
{
lblMessage.setText("Passwords not matched");
return;
}
private void LoginToChat() {
/** ******* Open the Dialog ******** */
dialog = new InformationDialog(this);
if (dialog.IsConnect == true)
{
UserName = dialog.TxtUserName.getText();
Password = dialog.TxtPassword.getText();
UserRoom = "";
ServerName = dialog.TxtServerName.getText();
ServerPort = 1436;
}
}
public class PrivateChat extends Frame implements
CommonSettings,KeyListener,ActionListener {
PrivateChat(ChatClient Parent, String ToUserName)
{
chatclient = Parent;
UserName = ToUserName;
sendFlag=0;
set Title("Private Chat With " + UserName);
Image IconImage = Toolkit.getDefaultToolkit().getImage(
"images/logo.gif");
setIconImage(IconImage);
setBackground(chatclient.ColorMap[0]);
setFont(chatclient.getFont());
EmotionFlag = false;
InitializeComponents();
/** **Window Closing Event **** */
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt) {
ExitPrivateWindow();
}
}
 White box testing is Control flow testing.

 Black box testing is Functional testing.

 Alpha testing is industrial testing .

 Beta testing is End user testing.


Client 1 Client 2
Client 2 Client 1
Continuous Communication
Client 1 Client 2
 The implementation of our project being based on the centralized
key distribution system.

 The entire group will be affected if there is a problem with the


Server.

 When the Server is not working the group becomes vulnerable .

 The group may become too large to be managed by a single


Server, thus raising the issue of scalability.
 Each client can chat simultaneously with more than one client privately with different keys.

 Video Conferencing.
 This project is an implementation based on providing
basics of secure group communication, the definition of
group communication, need for its security and functions
implemented to secure group communication.

 Also the project focuses on the architecture of secure group


communication system and :
 Registration of all participating entities,
 Key Exchanging in order to provide security services,
 Exchange of secure messages to support security
applications, and
 Access control to particular member (one to one).
BIBLOGRAPHY

Books
[1] William Stallings, ‘ Cryptography and Network Security’,
Prentice Hall India
[2] Alfred J. Menezes, Paul C. van Oorschot, Scott A.
Vanston, ‘HandBook of Applied Cryptography’.
[3] Scott Oaks, ‘Java Security’, Second Edition, Oreilly
Publication
[4] Jonathan B. Knudsen, ‘Java Cryptography’, Oreilly
Publication
[5] Elliotte Rusty, Harlord, ‘Java Network Programming’,
Second Edition, Oreilly Publication
Thank You…

You might also like