A Secure Chat Program Java Project Aim and Objectives

Aim: 

To provide authentication for the distributed key protocol by including the explicit and implicit quantum cryptography for protecting them from the third parties and also to guarantee the identification of false keys developed by the third parties or eavesdroppers by a trusted center. 

Research Questions and Objectives:

  • Define Quantum key cryptography and what is the difference between the classical cryptography and quantum key cryptography?
  • What are the common technical variations between Quantum Cryptography and the traditional cryptography and what are the advantages of quantum cryptography when compared with the traditional cryptography.
  • How a better secure communication is possible by the implementation of physics principles and laws when compared to the implementation of mathematics in cryptographic techniques?
  • What are the different Quantum key distribution protocols technically available and how the Three Party Authentications for key Distributed Protocol will provide the added advantages?
  • How to develop an algorithm that holds the qubits in the secure communication procedure?
  • How the validity of the session key is tested by the trusted center and how it distributes the session key among the actual parties involved in the communication procedures? 

Objectives:

This A Secure Chat Program Java project is done to achieve the following research objectives: 

  • To develop a Three party authentic protocol for protecting the key distribution protocol
  • To learn about the quantum cryptography process, the importance of quantum cryptography, to study about quantum key distribution protocol, and its role in distributing the session among the parties involved in communication process.
  • To verify the session key validity and to develop a java code for the algorithm and to execute it.
  • To trace out the results and observations after executing the program and also to document the results and observations.
  • To make a literature review on Quantum distribution protocols and the ability of checking the trusted session keys by the Trusted Centers
  • To illustrate the conclusions by testing the application by considering various test cases.
This Paper is written & submitted by Vamshidhar A.

Quantum Key Distribution Protocols A Secure Chat Program Project

The process of Quantum Key Distribution Protocols and the importance of quantum cryptography are described clearly in the discussions done till now. It is evident from the studies that in many cases the distributed key gets affected and so even the distributed key should be applied with some security constraints in order to avoid that affect. In quantum cryptography these distributed keys are protected from the mishandling by using the help of a protocol and this separate protocol is called as Quantum key distribution protocol. Both 3AQKDP which is referred as implicit and 3AQKDPMA which is referred as explicit are included in this protocol.

In some cases there is some possibility for the third party to generate the distributed key, they will use that key and send that key to the other two parties who actually involved in the communication process. When the parties received that distributed key they will try to break that key, during this process the actual key of the two parties is revealed for the third party. A false key cannot be identified by the end users as there are no separate techniques for identifying the fake key exactly and so there will be a lot of problem for the parties involved in the communication parties.

The main problem they face is they can select the correct key of distribution and cannot decode it problem and as a result they cannot securely understand the message received. These problems can be solved by implementing a mechanism which is known as “Three party authentications for key distributed protocols. Implementation of this mechanism includes the explicit and implicit Quantum cryptography. Detecting the third party or eavesdroppers or identifying the difference between the fake session keys and exact session keys are the advantages of these protocols. Here the Quantum Key Distribution Protocols A Secure Chat Program Project is distributed most perfectly and in a secured approach. In this approach, a trusted and secure center verifies the generated session key whether it is sent by the parties involved in communication process or sent by a third party.

This trusted center identifies the issue that occurs during the communication process and the other common issues like verifying the key and message are handled at the sender side. The implementation of these mechanisms can identify the minor noises that occur across the transmission of data and can also filter them in this level itself.

 This Paper is written & submitted by Vamshidhar A.

MSc Computer Networking A Secure Chat Program project

Example for Quantum distribution protocol:

Assume that a communication process is taken place between A and B. during this process of communication there is a chance for third party involvement in eavesdropping, the two parties A and B can detect the third party involvement by only one way that is called one-time pad. For this purpose bits in random sequence are used to construct an individual private key and this specific key is known to the two parties involved in the communication process. In this MSc Computer Networking communication process if A wants to send a message to B, then A will convert the message into string of bits and between these bits XOR operation is performed across the string of the bits and then transmits the result to B. if the message bit sent by A is m and the key bit is assumed as k then the message is sent in m+k format. The key bit is known to B so that he can decode the received message by using the XOR operation. 

Table of contents:

Introduction

1.1         Example for Quantum distribution protocol

1.2         Problem Definition

1.3         Aim of MSc Computer Networking Project

1.4         Research Questions and Objectives of A Secure Chat Program project

Literature Review:

2.1         Quantum computing

2.1.1    Advantages of Quantum Computing

2.1.2    Disadvantages of Quantum Computing

 2.2         Quantum key distribution protocol

2.2.1    Advantages of QKDP

2.2.2    Disadvantages of QKDP 

2.3         QKD Introduction

Analysis of the system and Design:

3.1         The Existing System

3.2         Proposed System

3.3         A Secure Chat Program project Design

3.4         Cryptography

3.5         Authentication

Implementation:

4.1         Database coding

4.2         Decryption

4.3         DES Algorithm

4.4         Encryption

4.5         Decision of Destination

4.6         Other important classes

4.7         Important Database tables used

5.1 Introduction

5.2 Configuring the database

5.3 Trusted center

5.4 User login

5.5 Secret key generation

5.6 Choosing the destination

5.7 Receiver side results

5.8 Summary 

Conclusion Chapter 7:

Future recommendations 

References:

Appendix: 

List of figures:

Figure 1: DFD level 1

Figure 2: DFD level 0

Figure 3: Use case view of the application

Figure 4: class diagram of the application

Figure 5: Flow diagram of the application 

List of abbreviations:

QKDP: Quantum key distribution protocol

QKD: Quantum key distribution

QKA: Quantum key Agreement

TC: Trust center

DES: data encryption standard

ECC: Elliptic Curve Cryptograph

This Paper is written & submitted by Vamshidhar A.

Security in Large Networks Using Mediator Protocols Project Abstract

Introduction

                  The general security task that is developed for huge number of network security systems is called Cryptography. There are several cryptographic techniques that are used for the security task, and Quantum cryptography is one of the techniques which are used mostly. Quantum mechanics are specifically used by the quantum cryptography. The general and most significant task in cryptography is the distribution of keys; this process includes a monotonous job that is to guarantee the security of distribution of keys. In quantum cryptography the procedure of photon transmission is used by the participating device which is similar to the procedure of light emission. And the data packet in the quantum cryptography is transmitted as a photon and the transmission status is decided by the state of photon. Quantum cryptography enables communication between the new parties and provides comfort and security even if the parties participating are new to one another.

This Security in Large Networks is because of the reason that data transmission using quantum cryptography is done more securely. Generally in all the cryptographic techniques, security of the data depends on the decryption process and encryption process designed and implemented. Now a day in these encryption and decryption processes, coding the algorithm is done by chippers. These chippers are considered as the key process, chippers are mad e of some special parameters generally referred as KEY and both communication parties are provided with these keys as inputs for the algorithms of encryption and decryption. The entire security is based on the distributed key as the encryption and decryption algorithms are publicly announced and thus to guarantee the security and that particular key must have n number of bits and should be generated at random and sufficiently lengthy.

The key is distributed to the communication process when once it gets generated and this process of distribution is possible by a public channel. This process of distribution is not recommended in all the cases as there is a possibility for eavesdropping like mass media and these types of issues can be handled by mathematical accomplishment. Generally in traditional cryptography eavesdroppers are prevented from understanding the data encrypted in messages by using different mathematical techniques. But in case of quantum cryptography implementation is done with physics laws but not with the mathematical techniques. But comparatively quantum cryptography gives most secure communication when compared to the classical cryptography.

                      Identifying the third party in a communication process is identified by the quantum cryptography which is regarded as the significant feature in this type of cryptography. Not only detecting the third parties preventing them to access the information of the key by the other two parties involved in communication process. This identification procedure includes quantum entanglement or quantum superposition along with the basic quantum mechanics. By using these procedures the eavesdroppers are identified and prevented to such activities like mass media and also help in transmitting the data through quantum states. The quantum states those transmits data are generally called as qubits which are entirely converse for the bits used in general cryptography. Generally these qubits are generated by using photons. Secure communication process is guaranteed in quantum cryptography using the quantum states. 

This Paper is written & submitted by Vamshidhar A.

A Secure Chat Program Project Abstract

Project Abstract:

                    The secure communication between the person sending the information and the person receiving the information is authenticated by using the Quantum Cryptography. This authentication process is done by means of a combination of the explicit 3AQKDPMA and implicit 3AQKDP. In the A Secure Chat Program situations like public discussions and also when the session keys are divided the verification of eavesdropping and verification of uniqueness of session key is done by using the quantum key mechanisms and Quantum key distribution protocols in the quantum cryptography. In the communication rounds that are taken place later between the information sender and information receiver requires the public discussions. These communication rounds among the sender and the receiver are intermediary. Using the quantum cryptography replay attacks and the passive attacks are opposed when they are applied, this task of opposing the passive attacks and replay attacks is very much easy using the quantum cryptography. Using the 3AQKDP in quantum cryptography, the authentication of the authorized user is attained by applying confidentiality only, which indicates the confidentiality is the only factor that is applicable for accurate authentication of the reasonable user.  In general the communication between the sender and the receiver should be secure; the session explanation should be set up proper in order to achieve the common authentication for the authorized user.

                      There are two implicit phases in the quantum key distribution protocol that is in the 3AQKDP.  Among these two implicit phases setup is the first phase and distribution is the second phase. The third party authentication in the communication is provided by these two phases by working together with the session key distribution security. In this communication method, the sender and the receiver use a trust center to communicate which other because they don’t have mutual understanding between them to communicate directly. 

                      In case of the other quantum key distribution protocol that is the 3AQKDPMA there are two explicit phases. As similar to the first protocol here also the first phase is the setup and the second phase is distribution. Session key distribution is used by these two phases for authenticating the third party in communication. But the quantum key distribution protocol 3AQKDPMA is different from the implicit 3AQKDP quantum key distribution protocol. This is a explicit protocol where the receiver and sender in the communication has mutual understanding and so they use the authentication of trusted center to communicate directly. There are some disadvantages in using these 3AQKDP and 3AQKDPMA and they are

  1. Identification of security threads in session key is not possible.
  2.  Identification of security threads in message is possible.
  3. Authentication is provided for the message.
This Paper is written & submitted by Vamshidhar A.

Dynamic Routing with Security Considerations Project Abstract and Output Screens

Dynamic Routing with Security Considerations Project development:

Initially I was not clear the abstract to do my project with research area. I was not even considering the implementation for my project. After the literature survey, I got some confidence in my mind to go for the implementation. Then I came with the software development structure which helped me to achieve my final task with out any troubles.

After this Dynamic Routing  project, my confidence levels are definitely rose which I never felt with my carrier. Even this project area will consider for my further research in PhD levels.

Future trends:

  • I mainly concentrate on wired communications, where it has scope to expand this routing with wireless communications which use for reliable communication.
  • Even we can enhance with the new technology for security considerations like data compression with video streaming.

Output Screens:

 Dynamic Routing1

Dynamic Routing2

Dynamic Routing3

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

Dynamic Routing4

 This Paper is written & submitted by Chandu.

Dynamic Routing with stegnography project Conclusion and discussions

Conclusion and discussions

By using this Dynamic Routing with stegnography project, I achieved routing strategy among the network with success. Even I consider the MS project development phase with security aspects with stegnography enhancement which can avoid the attacker to hack the data.

I achieved dynamic routing algorithm successfully by considering stegnography as the security aspect. In order to achieve the dynamic routing, we implemented path randomization and distance vector algorithm so that we can easily developed this project. We embed the stegnography with the dynamic routing to improve the security.

Dynamic Routing with stegnography project

Research outcomes:

By considering the routing as the main research area, I came with complete network strategy which makes use of overall analysis on communication system. In this project, I used experimental research method which supports me to go with security considerations along with the routing.

Method investigation:

Before commit to this stegnography project, I dint had sufficient knowledge regarding the network routing. When I made the literature survey on routing domain from the basic level which starts from networking design, networking layers, protocols that are with the layers and routing strategy, I got the clear knowledge about my project area. Then I started my project development.

How design is helpful?

While I started my Final Year project development, I had many problems with starting points. When I consider my project design with different models from the unified modeling language, it becomes very easy. By using these models I started the design of my project with module consideration which make project easy.

Implementation phase:

I considered java as the programming part for my implementation with my basic knowledge. Then I learnt about the java swings which make my network representations easy. I consider my Dynamic Routing project in modules in design phase, as per the modules I implemented the stegnography project.

This Paper is written & submitted by Chandu.

MS Final Year Project Dissertation Testing Phase

Testing Phase:

Unit Testing:

       It tests the individual software components of applications. It tests many functions but it confines within in the one unit. The aim of unit test is to leave the interpretation. Test code can be supported by this unit test and it can be sometimes called as scaffolding. The implementation teams and architecture supports this type of unit testing.

    It corrects the complete individual program units. It tests the application whether it works properly or not for you are expectations. It identifies the large number of defects during its use. It requires stubs and drivers. The calling unit simulates the driver and called unit simulates the stub. It provides the advantages for stub and driver cost time and money. It reduces the difficulties to identify the errors in complex pieces of application.

 Integration testing:

   It is the extension of the unit testing. In this testing we can test the two units and these can be combined with the component and it can be tested in middle. The combine the pieces and it can be expanded in another module. In this process is to test all the modules. In this testing the component can be refers as integrated aggregation. In practical, the components are to combine many units which turn the larger part of the program. In this process first test the individual pieces then for expanding the process to test the modules and it can be combine with the other modules. Suppose if the program consists of more than one process at one time it test all the pairs.

It allows the high-level logic and in early stages it tests the data flow and it minimize the need for the drivers.

The integration testing disadvantage is poor performance of the limited functionality.

To test the lowest-level units in the bottom-up approach and it integrates first. The system performance and common mistakes can be found in this testing. These units are named as the utility modules. In the early development process the utility modules can be tested by using this approach and to minimize the stub needs. The test management was complicated by the drivers and high-level logic and data flow can be test in late. It provides the poor performance in the early stages of limited functionality like top-down approach.

 System testing:

    In this Dissertation process variety of tests can be performed that can used for functional exploration and to identify the problems. It placed before and after the system. After the deployment of the application into the environment the system can perform the test is known as system level testing it is similar to the black box testing and it can be performed by the test engineers. The test team can perform this testing and it controls the system configuration environment.

The main aim of system testing is to complete the designing of the function and to validate the application accuracy. It can apply to real life scenarios and to test the all functions of the system in real life.

It starts depend upon the integration testing to resolve the problems before starting of the system testing software QA can review the all the results of the integration test. The important thing for higher level testing is to understand the unresolved problems at integration test levels. 

Acceptance testing:

       This is the final stage of the testing the system can perform this test and it delivers to the live environment. It includes the deliverables for software system and mechanical hardware system. The black box test can perform this test.

It represents the result from the system. The correctness can be identified by the customers and review the test scores which can be used to fail the highest priority.  The test score should be published by the Acceptance test.

Black-box test:

 It is one of the design method and it does use the knowledge of the internal structure. It describes the functional requirements of the testing and it applicable to the functional testing, unit, integration and acceptance and system testing. The drawback of this testing is to uncover the specification of the unimplemented parts we are not sure that all existent paths are tested.

White box testing:

      It examines the output by using the programming code knowledge to examine the outputs.

The software developer can design the MS Final Year Project test cases by using this white-box testing.

  • To update the logical decisions at the both sides such as true and false.
  • In module or unit to exercise the independent paths.
  • Loops can be executed at their boundaries within their operational bounds. 

Test plan:

  The open source community can be provided by this test plan and it delivers the customer workloads and it delivers the test suites. The defects can be verified through the regression testing.

The team of the testing creates the test plan in the early deployment planning phase. It defines the scope and objectives of the testing efforts and identifies the methodologies and to conduct the tests by the team. It can test the hardware and software tools of the testing.

To divide the test team into sub team and the sub team can be developed by the test plan in the area of specific technology. The features of the testing network can be written by the network team for test plan.

Test plan creation:

Test plan creation

This Paper is written & submitted by Chandu.

The main characteristics of Java swings

The main characteristics of swings: 

Customizable: we have the facility to inherit the components from the parent classes using java swings. To get the unique GUI application, we can apply the components such as borders, colours, decorations and backgrounds. The customizing of components is available in swings to crate rich interface.

Configurable:

Using java swings in java we have dynamic look and feel components so we can apply this at runtime environment. The features of this make application dynamic changes without disturbing setting of the code. 

Lightweight UI

The components in java swings are light weight with transparent pixels. To make the user interface to very interactive and efficient we consider the JComponent which are included are JList, JButton, JMenuItem, JLabel etc. These all components make the user interface very rich and easy accessible.

Loosely-Coupled and MVC:

The design pattern of the swing follows the MCV (model/view/controller) software. The framework of java swing provides interface to implement. The MVC model is loosely coupled with objective collaborative model. The events are joined with the object model and these are occurred in the table with the help of JComponent. It shows the interaction of tables using JTable component.

4.2 Other non functional requirements:

There should be some non functional requirements for all the projects in software developments along with the functional requirements. While focusing on performance, quality and security factors with system environment need to follow the following:

Reliability:

When deals with the networking and communications domains, this factor plays the major role. Software development environment mainly facing the problem with fault recovery process which can only possible by considering the reliability as the major factor.

Usability:

I implemented the project interface which is easy for all the users in terms of functions that can possible with the usability options. In my project I consider the usability for graphical representation which is user friendly.

Scalability:

This is the factor mainly deals with the networks to adopt the new environment over the existing one without disturbing the existing system and even not loose any performance with this. 

This Paper is written & submitted by Chandu.

Java swing architecture with components

In the architecture of the java swing we are going to show the swing components with classes. The swing components are contained in package called javax.swing. This package contains all the swing components and classes. The swing components inherit the classes from java.awt package. The java.awt package contains two types of classes are:

  • Component
  • Container

These classes are included in the java.awt package having the buttons, text fields, menus, labels, check boxes, scrollbars, popup menus etc. But these are not powerful when compared to swings and these are heavy weight.

Swing components are prefix with ‘J’. Every component of swing starts with J i.e. replacing components from AWT. The swing classes are contained javax.swing. This package holds all swing components and classes. This package holds JComponent which is having all the sub components. The hierarchy of JComponent will be sub divided into three levels. The classification of JComponent is:[15]

  • Top level
  • Intermediate level
  • Swings other components

According to their functionality the components are classified. These all components are inherited and make use of javax.swing package.

The top level components include:

Abstract button: This button includes three more intermediate components are:

  • JToggleButton
  • JButton
  • JMenuItem
  • JToggleButton: This JToggleButton is parent component for other two child components. This component includes other two components are JCheckbox and JRadioButton.

      JCheckbox: this is used to display user choices which are not common.

      JRadioButton: this button is used to display common choices.

  • JButton: This JButton is one type of push button. It can be used to display text or images or both.
  • JMenuItem: It is used to select the item from given menu. It having one child component as JMenu used for pull-down menu.

JList: It is come under top level component. This component displays the user selected choice from given list. It also displays the random objects and more often choices include images or strings.

JOptionPane: this component is used to display simple dialog boxes. It describes helpful static methods to display different dialog types. 

JPopupMenu: this component is utilized by JMenu and other popup menus which are standalone. This component is used by windows that will popup and menu displayed. [15]

JTextComponent: it is element of javax.swing.text package and its parent component of JTextArea and JTextField. This component is highly powerful and extremely customizable.

  • JTextArea: this component is used to display text and editing text using for multiple lines from plain text.
  • JTextField: this component is used to display input and editing text using for single line from plain text. It having the other child component as JPasswordField.

      JPasswordField: it is used to hold the sensitive data like passwords. It is fully secured and it not showed data when we typed.

JMenuBar: This will display the pull-down menus.

JScrollPane: This component is to scroll horizontal and vertical.

  • JLabel: this component is simple and used to display text and images. But this JLabel is not giving responds to input. And many more components are applicable in the swings to make GUI application.
This Paper is written & submitted by Chandu.