Docement Packet Chapter

Embed Size (px)

Citation preview

  • 7/28/2019 Docement Packet Chapter

    1/53

    CHAPTER 1

    INTRODUCTION

    1.1 General:Wireless networks rely on the uninterrupted availability of the wireless medium to

    interconnect participating nodes. However, the open nature of this medium leaves it

    vulnerable to multiple security threats. Anyone with a transceiver can eavesdrop on

    wireless transmissions, inject spurious messages, or jam legitimate ones. While

    eavesdropping and message injection can be prevented using cryptographic methods,

    jamming attacks are much harder to counter. They have been shown to actualize severe

    Denial-of-Service (DoS) attacks against wireless network.

    In the simplest form of jamming, the adversary interferes with the reception of

    messages by transmitting a continuous jamming signal, or several short jamming pulses.

    Typically, jamming attacks have been considered under an external threat model, in

    which the jammer is not part of the network. Under this model, jamming strategies

    include the continuous or random transmission of high-power interference signals.

    However, adopting an always-on strategy has several disadvantages. First, the

    adversary has to expend a significant amount of energy to jam frequency bands of

    interest. Second, the continuous presence of unusually high interference levels makes this

    type of attacks easy to detect.

    Conventional anti-jamming techniques rely extensively on spread-spectrum (SS)

    communications, or some form of jamming evasion (e.g., slow frequency hopping, or

    spatial retreats). SS techniques provide bit level protection by spreading bits according to

    a secret pseudo-noise (PN) code, known only to the communicating parties. These

    methods can only protect wireless transmissions under the external threat model.

    Potential disclosure of secrets due to node compromise, neutralizes the gains of SS.

    Broadcast communications are particularly vulnerable under an internal threat model

    because all intended receivers must be aware of the secrets used to protect transmissions.

    Hence, the compromise of a single receiver is sufficient to reveal relevant cryptographic

    information.

    In this paper, we address the problem of jamming under an internal threat model.

    We consider a sophisticated adversary who is aware of network secrets and the

    implementation details of network protocols at any layer in the network stack. The

    1

  • 7/28/2019 Docement Packet Chapter

    2/53

    adversary exploits his internal knowledge for launching selective jamming attacks in

    which specific messages of high importance are targeted. For example, a jammer can

    target route-request/route-reply messages at the routing layer to prevent route discovery,

    or target TCP acknowledgments in a TCP session to severely degrade the throughput of

    an end-to-end flow.

    To launch selective jamming attacks, the adversary must be capable of

    implementing a classify-then-jam strategy before the completion of a wireless

    transmission. Such strategy can be actualized either by classifying transmitted packets

    using protocol semantics, or by decoding packets on the fly. In the latter method, the

    jammer may decode the first few bits of a packet for recovering useful packet identifiers

    such as packet type, source and destination address. After classification, the adversary

    must induce a sufficient number of bit errors so that the packet cannot be recovered at the

    receiver. Selective jamming requires an intimate knowledge of the physical (PHY) layer,

    as well as of the specifics of upper layers.

    2

  • 7/28/2019 Docement Packet Chapter

    3/53

    CHAPTER 2

    LITERATURE SURVEY

    2.1 Detection and prevention of congestion attacks and packet loss using piggyback

    methods in wireless network:

    Network security involves the authorization of access to data in a network, which

    is controlled by the network administrator. In this paper, we investigate the problem of

    packet loss over the wireless communication and the congestions that are taken place. To

    prevent the packet loss, we propose the idea of Piggybacking by which the data can be

    transfer between the server and the client on the secure manner. Moreover the completedata will be encrypted before the transmission takes place. The RSA algorithm is used for

    the encryption and the decryption purpose. The encrypted data will then piggybacked by

    which the data is hided and then moved to the destinations. Through this the congestion

    on the network can be controlled.

    2.2 Wormhole-Based Anti-jamming Techniques in Sensor Networks:

    Due to their very nature, wireless sensor networks are probably the category of

    wireless networks most vulnerable to radio channel jamming-based Denial-of-Service

    (DoS) attacks. An adversary can easily mask the events that the sensor network should

    detect by stealthily jamming an appropriate subset of the nodes; in this way, he prevents

    them from reporting what they are sensing to the network operator. Therefore, even if an

    event is sensed by one or several nodes (and the sensor network is otherwise fully

    connected), the network operator cannot be informed on time. We show how the sensor

    nodes can exploit channel diversity in order to create wormholes that lead out of thejammed region, through which an alarm can be transmitted to the network operator. We

    propose three solutions: The first is based on wired pairs of sensors, the second relies on

    frequency hopping, and the third is based on a novel concept called uncoordinated

    channel hopping. We develop appropriate mathematical models to study the proposed

    solutions.

    3

  • 7/28/2019 Docement Packet Chapter

    4/53

    2.3 Control Channel Jamming: Resilience and Identification of Traitors:

    In this paper, we address the problem of countering the control channel jamming in

    wireless communication systems. Targeting control traffic on a system like GSM (e.g.,

    BCCH channel) leads to smart attacks that are four orders of magnitude more efficient

    than blind jamming. We propose several schemes based on coding theory and its

    applications that can counter both external and internal attackers (traitors). We introduce

    a T-(traitor) resilient scheme that requires less than control information retransmissions

    and guarantees delivery of control information against any coalition of traitors.The

    proposed scheme also allows the identification of the traitors.

    2.4 SHCS Technique Defined for Packet Hiding Methods in Wireless Networks:

    Due to their nature wireless networks are vulnerable to denial of service (DoS)

    attack (any event that diminishes or eliminates a networks capacity to perform its

    expected function) Jamming attacks are one of the most urgent threats harming the

    dependability of wireless communication. Jamming attacks may be viewed as a special

    case of Denial of service (DoS) attacks. With the internal knowledge of protocol

    specifications and network secrets can launch low-effort jamming attacks that are

    difficult to detect and counter. An adversary masks the events that the sensor network

    should detect by jamming an appropriate subset of the nodes. In this paper, we

    concentrate on the problem of selective jamming attacks in wireless networks. We

    develop schemes that prevent real-time packet classification by combining cryptographic

    primitives.

    2.5 Quantifying the Impact of Efficient Cross-Layer Jamming Attacks via Network

    Traffic Flows:

    We investigate a class of coordinated jamming attacks in which multiple jammers

    collaboratively apply knowledge about the network layer functionality to efficiently

    reduce the throughput of network traffic. We show how a constrained optimization

    framework can be used to characterize coordinated jamming attacks and allow the impact

    of the attack to be quantized from the perspective of the network. Using this network-

    centric interpretation of jamming attacks, a network designer can attain a greater

    4

  • 7/28/2019 Docement Packet Chapter

    5/53

    understanding of the potential threat of jamming. To illustrate our approach, we propose

    and evaluate a variety of metrics to model the attack impact, serving both as adversarial

    objective functions and as network evaluation metrics, and present a simulation study to

    quantify and compare attack performance.

    5

  • 7/28/2019 Docement Packet Chapter

    6/53

    CHAPTER 3

    SYSTEM ANALYSIS

    3.1 EXISTING SYSTEM

    3.1.1 Introduction:

    In Existing System Wireless networks rely on the uninterrupted availability of the

    wireless medium to interconnect participating nodes. However, the open nature of this

    medium leaves it vulnerable to multiple security threats. Anyone with a transceiver can

    eavesdrop on wireless transmissions, inject spurious messages, or jam legitimate ones.

    While eavesdropping and message injection can be prevented using cryptographic

    methods, jamming attacks are much harder to counter. They have been shown to

    actualize severe Denial-of-Service (DoS) attacks against wireless networks.

    3.1.1 DISADVANTAGES OF EXISTING SYSTEM

    The adversary has to expend a significant amount of energy to jam frequency

    bands of interest.

    The continuous presence of unusually high interference levels makes this type of

    attacks easy to detect

    3.2 PROPOSED SYSTEM:

    3.2.1 Introduction:

    In Proposed System, we address the problem of jamming under an internal threat

    model. We consider a sophisticated adversary who is aware of network secrets and the

    implementation details of network protocols at any layer in the network stack. The

    adversary exploits his internal knowledge for launching selective jamming attacks in

    which specific messages of high importance are targeted.

    To launch selective jamming attacks, the adversary must be capable of

    implementing a classify-then-jam strategy before the completion of a wireless

    transmission. Such strategy can be actualized either by classifying transmitted packets

    using protocol semantics, or by decoding packets on the fly.

    6

  • 7/28/2019 Docement Packet Chapter

    7/53

    To mitigate such attacks, we develop three schemes that prevent classification of

    transmitted packets in real time. Our schemes rely on the joint consideration of

    cryptographic mechanisms with PHY-layer attributes. We analyze the security of our

    schemes and show that they achieve strong security properties, with minimal impact on

    the network performance.

    3.2.1 ADVANTAGES OF PROPOSED SYSTEM

    Relatively easy to actualize by exploiting knowledge of network protocols and

    cryptographic primitives extracted from compromised nodes

    Our findings indicate that selective jamming attacks lead to a DoS with very low

    effort on behalf of the jammer

    7

  • 7/28/2019 Docement Packet Chapter

    8/53

    CHAPTER 4SYSTEM REQUIREMENTS

    The purpose of the System Requirements Specification is to produce the

    specification of the analysis task and also to establish complete information about the

    requirement, behavior and other constraints such as functional performance and so on.

    The goal of System Requirements Specification is to completely specify the technical

    requirements for the software product in a concise and unambiguous manner.

    4.1 Hardware Requirements

    Processor : Pentium IV

    Clock speed : 550MHz

    Hard Disk Drive : 80GB

    RAM : 1 GB

    Cache Memory : 512KB

    Monitor : VGA and High Resolution Monitor

    Keyboard : 104Keys

    Mouse : 3Buttons

    4.2 Software Requirements

    Operating System : Windows XP

    Coding Language : C#.Net

    Database : SQL SERVER 2005

    8

  • 7/28/2019 Docement Packet Chapter

    9/53

    4.3 Software Description:

    4.3.1 FEATURES OF. NET

    Microsoft .NET is a set of Microsoft software technologies for rapidly building

    and integrating XML Web services, Microsoft Windows-based applications, and Web

    solutions. The .NET Framework is a language-neutral platform for writing programs that

    can easily and securely interoperate. Theres no language barrier with .NET: there are

    numerous languages available to the developer including Managed C++, C#, Visual

    Basic and Java Script. The .NET framework provides the foundation for components to

    interact seamlessly, whether locally or remotely on different platforms. It standardizes

    common data types and communications protocols so that components created in

    different languages can easily interoperate.

    .NET is also the collective name given to various software components built

    upon the .NET platform. These will be both products (Visual Studio.NET and

    Windows.NET Server, for instance) and services (like Passport, .NET My Services,

    and so on).

    4.3.2 THE .NET FRAMEWORK

    The .NET Framework has two main parts:

    1. The Common Language Runtime (CLR).

    2. A hierarchical set of class libraries.

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

    environment within which programs run. The most important features are

    Conversion from a low-level assembler-style language, called

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

    executed on.

    Memory management, notably including garbage collection.

    Checking and enforcing security restrictions on the running code.

    9

  • 7/28/2019 Docement Packet Chapter

    10/53

    Loading and executing programs, with version control and other such

    features.

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

    4.3.2.1 Managed Code

    The code that targets .NET, and which contains certain extra Information -

    metadata - to describe itself. Whilst both managed and unmanaged code can run in the

    runtime, only managed code contains the information that allows the CLR to guarantee,

    for instance, safe execution and interoperability.

    4.3.2.2 Managed Data

    With Managed Code comes Managed Data. CLR provides memory allocation and

    Deal location facilities, and garbage collection. Some .NET languages use

    Managed Data by default, such as C#, Visual Basic.NET and JScript.NET, whereas

    others, namely C++, do not. Targeting CLR can, depending on the language youre

    using, impose certain constraints on the features available. As with managed and

    unmanaged code, one can have both managed and unmanaged data in .NET

    applications - data that doesnt get garbage collected but instead is looked after by

    unmanaged code.

    4.3.2.3 Common Type System

    The CLR uses something called the Common Type System (CTS) to strictly

    enforce type-safety. This ensures that all classes are compatible with each other, by

    describing types in a common way. CTS define how types work within the runtime,

    which enables types in one language to interoperate with types in another language,

    including cross-language exception handling. As well as ensuring that types are

    only used in appropriate ways, the runtime also ensures that code doesnt attempt to

    access memory that hasnt been allocated to it.

    4.3.2.4 Common Language Specification

    10

  • 7/28/2019 Docement Packet Chapter

    11/53

    The CLR provides built-in support for language interoperability. To ensure that you

    can develop managed code that can be fully used by developers using any

    programming language, a set of language features and rules for using them called

    the Common Language Specification (CLS) has been defined. Components that

    follow these rules and expose only CLS features are considered CLS-compliant.

    4.3.3 THE CLASS LIBRARY

    .NET provides a single-rooted hierarchy of classes, containing over 7000 types.

    The root of the namespace is called System; this contains basic types like Byte, Double,

    Boolean, and String, as well as Object. All objects derive from System. Object. As well

    as objects, there are value types. Value types can be allocated on the stack, which can

    provide useful flexibility. There are also efficient means of converting value types to

    object types if and when necessary.

    The set of classes is pretty comprehensive, providing collections, file, screen, and

    network I/O, threading, and so on, as well as XML and database connectivity.

    The class library is subdivided into a number of sets (or namespaces), each

    providing distinct areas of functionality, with dependencies between the namespaces kept

    to a minimum.

    4.3.4 LANGUAGES SUPPORTED BY .NET

    The multi-language capability of the .NET Framework and Visual Studio .NET

    enables developers to use their existing programming skills to build all types of

    applications and XML Web services. The .NET framework supports new versions

    of Microsofts old favorites Visual Basic and C++ (as VB.NET and Managed C+

    +), but there are also a number of new additions to the family.

    Visual Basic .NET has been updated to include many new and improved language

    features that make it a powerful object-oriented programming language. These features

    include inheritance, interfaces, and overloading, among others. Visual Basic also now

    supports structured exception handling, custom attributes and also supports multi-

    threading.

    11

  • 7/28/2019 Docement Packet Chapter

    12/53

    Visual Basic .NET is also CLS compliant, which means that any CLS-compliant

    language can use the classes, objects, and components you create in Visual Basic .NET.

    Managed Extensions for C++ and attributed programming are just some of the

    enhancements made to the C++ language. Managed Extensions simplify the task of

    migrating existing C++ applications to the new .NET Framework.

    C# is Microsofts new language. Its a C-style language that is essentially C++

    for Rapid Application Development. Unlike other languages, its specification is just the

    grammar of the language. It has no standard library of its own, and instead has been

    designed with the intention of using the .NET libraries as its own.

    Microsoft Visual J# .NET provides the easiest transition for Java-language

    developers into the world of XML Web Services and dramatically improves the

    interoperability of Java-language programs with existing software written in a variety of

    other programming languages. Active State has created Visual Perl and Visual Python,

    which enable .NET-aware applications to be built in either Perl or Python. Both products

    can be integrated into the Visual Studio .NET environment. Visual Perl includes support

    for Active States Perl Dev Kit.

    Other languages for which .NET compilers are available include

    FORTRAN

    COBOL

    Eiffel

    ASP.NET

    XML WEB SERVICES

    Windows Forms

    Base Class Libraries

    Common Language Runtime

    12

  • 7/28/2019 Docement Packet Chapter

    13/53

    Operating System

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

    structured exception handling. CLS is set of rules and constructs that are supported by the

    CLR (Common Language Runtime). CLR is the runtime environment provided by the

    .NET Framework; it manages the execution of the code and also makes the development

    process easier by providing services.

    C#.NET is a CLS-compliant language. Any objects, classes, or components that

    created in C#.NET can be used in any other CLS-compliant language. In addition, we can

    use objects, classes, and components created in other CLS-compliant languages in

    C#.NET .The use of CLS ensures complete interoperability among applications,

    regardless of the languages used to create the application.

    4.3.5 CONSTRUCTORS AND DESTRUCTORS:

    Constructors are used to initialize objects, whereas destructors are used to destroy

    them. In other words, destructors are used to release the resources allocated to the object.

    In C#.NET the sub finalize procedure is available. The sub finalize procedure is used to

    complete the tasks that must be performed when an object is destroyed. The sub finalizeprocedure is called automatically when an object is destroyed. In addition, the sub

    finalize procedure can be called only from the class it belongs to or from derived classes.

    4.3.6 GARBAGE COLLECTION

    Garbage Collection is another new feature in C#.NET. The .NET Framework

    monitors allocated resources, such as objects and variables. In addition, the .NET

    Framework automatically releases memory for reuse by destroying objects that are no

    longer in use. In C#.NET, the garbage collector checks for the objects that are not

    currently in use by applications. When the garbage collector comes across an object that

    is marked for garbage collection, it releases the memory occupied by the object.

    4.3.7 OVERLOADING

    Overloading is another feature in C#. Overloading enables us to define multiple

    procedures with the same name, where each procedure has a different set of arguments.

    13

  • 7/28/2019 Docement Packet Chapter

    14/53

    Besides using overloading for procedures, we can use it for constructors and properties in

    a class.

    4.3.8 MULTITHREADING:

    C#.NET also supports multithreading. An application that supports multithreading

    can handle multiple tasks simultaneously, we can use multithreading to decrease the time

    taken by an application to respond to user interaction.

    4.3.9 STRUCTURED EXCEPTION HANDLING

    C#.NET supports structured handling, which enables us to detect and remove

    errors at runtime. In C#.NET, we need to use TryCatchFinally statements to create

    exception handlers. Using TryCatchFinally statements, we can create robust and

    effective exception handlers to improve the performance of our application.

    4.3.10 THE .NET FRAMEWORK

    The .NET Framework is a new computing platform that simplifies application

    development in the highly distributed environment of the Internet.

    4.3.10.1 OBJECTIVE OF .NET FRAMEWORK

    1. To provide a consistent object-oriented programming environment whether

    object codes is stored and executed locally on Internet-distributed, or executed remotely.

    2. To provide a code-execution environment to minimizes software deployment

    and guarantees safe execution of code.

    3. Eliminates the performance problems.There are different types of application, such as Windows-based applications and

    Web-based applications.

    4.3.11 FEATURES OF SQL-SERVER

    The OLAP Services feature available in SQL Server version 7.0 is now called

    SQL Server 2000 Analysis Services. The term OLAP Services has been replaced with the

    term Analysis Services. Analysis Services also includes a new data mining component.

    14

  • 7/28/2019 Docement Packet Chapter

    15/53

    The Repository component available in SQL Server version 7.0 is now called Microsoft

    SQL Server 2000 Meta Data Services. References to the component now use the term

    Meta Data Services. The term repository is used only in reference to the repository

    engine within Meta Data Services

    SQL-SERVER database consist of six type of objects,

    They are,

    1. TABLE

    2. QUERY

    3. FORM

    4. REPORT

    5. MACRO

    15

  • 7/28/2019 Docement Packet Chapter

    16/53

    4.3.11.1 TABLE:

    A database is a collection of data about a specific topic.

    4.3.11.2 VIEWS OF TABLE:

    We can work with a table in two types,

    1. Design View

    2. Datasheet View

    Design View

    To build or modify the structure of a table we work in the table design view. We

    can specify what kind of data will be hold.

    Datasheet View

    To add, edit or analyses the data itself we work in tables datasheet view mode.

    4.3.12 QUERY:

    A query is a question that has to be asked the data. Access gathers data that answers the

    question from one or more table. The data that make up the answer is either dynast

    (if you edit it) or a snapshot (it cannot be edited).Each time we run query, we get

    latest information in the dynaset. Access either displays the dynaset or snapshot for

    us to view or perform an action on it, such as deleting or updating.

    4.3.13 AJAX:

    ASP.NET Ajax marks Microsoft's foray into the ever-growing Ajax framework

    market. Simply put, this new environment for building Web applications puts Ajax

    at the front and center of the .NET Framework.

    16

  • 7/28/2019 Docement Packet Chapter

    17/53

    CHAPTER 5

    SYSTEM DESIGN

    5.1 MODULES SPECIFICATION :

    Hiding Based On Commitments

    A Strong Hiding Commitment Scheme (SHCS)

    Cryptographic Puzzle Hiding Scheme (CPHS)

    An AONT-based Hiding Scheme (AONT-HS)

    Packet-Hiding Techniques

    Real-Time Packet Classification

    Selective Jamming Attacks

    Simulation

    5.1.1 Hiding Based On Commitments

    5.1.1.1 A Strong Hiding Commitment Scheme (SHCS):

    In this Module, We propose a strong hiding commitment scheme (SHCS), which

    is based on symmetric cryptography. To satisfy the strong hiding property while keeping

    the computation and communication overhead to a minimum. To satisfy the strong hiding

    property, the packet carrying d is formatted so that all bits of d are modulated in the last

    few PHY layer symbols of the packet. To recover d, any receiver must receive and

    decode the last symbols of the transmitted packet, thus preventing early disclosure of d.

    We now present the implementation details of SHCS.

    5.1.1.2 Cryptographic Puzzle Hiding Scheme (CPHS)

    In this Module, we analyze the implementation details which impact security and

    performance. Cryptographic puzzles are primitives as a method for establishing a secret

    over an insecure channel. They find a wide range of applications from preventing DoS

    attacks to providing broadcast authentication and key escrow schemes. Proposed a

    construction called time-lock puzzles, which is based on the iterative application of aprecisely controlled number of modulo operations. Time-lock puzzles have several

    17

  • 7/28/2019 Docement Packet Chapter

    18/53

    attractive features such as the fine granularity in controlling tp and the sequential nature

    of the computation. Moreover, the puzzle generation requires significantly less

    computation compared puzzling solving.

    5.1.1.3 An AONT-based Hiding Scheme (AONT-HS)

    In this Module, packets are pre-processed by an AONT before transmission but

    remain unencrypted. The jammer cannot perform packet classification until all pseudo-

    messages corresponding to the original packet have been received and the inverse

    transformation has been applied.

    5.1.2 Packet-Hiding Techniques :

    In this Module, packet-hiding techniques on the network performance via

    extensive simulations. To implement the hiding sub layer and measure its impact on the

    effective throughput of end-to-end connections and on the route discovery process in

    wireless ad-hoc networks. We chose a set of nodes running 802.11b at the PHY and

    MAC layers, AODV for route discovery, and TCP at the transport layer. Aside from our

    methods, we also implemented a simple MAC layer encryption with a static key,

    This packet-hiding methods require the processing of each individual packet by

    the hiding sub layer. We emphasize that the incurred processing delay is acceptable, even

    for real time applications. The SCHS requires the application of two permutations and

    one symmetric encryption at the sender, while the inverse operations have to be

    performed at the receiver.

    5.1.3 Real-Time Packet Classification :In this module, once a packet is classified, the adversary may choose to jam it

    depending on his strategy. Consider the generic communication system depicted. At the

    PHY layer, a packet m is encoded, interleaved, and modulated before it is transmitted

    over the wireless channel. At the receiver, the signal is demodulated, deinterleaved, and

    decoded, to recover the original packet m.

    18

  • 7/28/2019 Docement Packet Chapter

    19/53

    5.1.4 Selective Jamming Attacks :

    In this module, proposed a jamming-resistant communication model for pair wise

    communications that does not rely on shared secrets. Communicating nodes use a

    physical layer modulation method called Uncoordinated Direct- Sequence Spread

    Spectrum (UDSSS). They also proposed a jamming-resistant broadcast method in which

    transmissions are spread according to PN codes randomly selected from a public

    codebook. Several other schemes eliminate overall the need for secret PN codes.

    5.1.5 Simulation:

    In this module, for each jamming strategy. We observe that a selective jamming

    attack against RREQ messages is equally effective to a constant jamming attack.

    However, selective jamming is several orders of magnitude more efficient. On the other

    hand, random jamming fails to disrupt the route discovery process due to the flooding

    mechanism of AODV

    19

  • 7/28/2019 Docement Packet Chapter

    20/53

    5.2 System Architecture:

    Fig 5.2 System Architecture

    20

    Node

    A

    Jamme

    r Node

    Node

    B

    Node C

    Blocks Route

    request and

    reply

    Node Path

    Server

    (webService

    Request)

    Application

    Webservice req/rec

    CacheNode

    Intermediate Server

    (Checks the Inter

    Nodes)

    DB

    Encryption

    using 1 of 3

    schemes.

    Decryption of

    message.

  • 7/28/2019 Docement Packet Chapter

    21/53

    5.3 Use Case Diagram:

    The identify 2 actors in these diagrams, the actual Machine Users and the Unix

    Developers. The Machine user can; begin using the system this represents whichever

    method the user will use in order to make initial interaction with the system. For

    example, they may need to turn the system on via a button, simply turn the key in the

    ignition or some over method. They can also view a page, click on a link or back button,

    scroll up and down and close the system. The Microsoft Developer inherits all these use

    cases, as well as being able to upload an html file and view a list of problems.

    SERVER

    Client

    cryptographic puzzlehiding algorithm second

    key

    All or Not Transformationalgorithm third key

    Receive a three keysusing cryptographic

    technique

    strong hiding commitmentalgorithm first key

    selective jammer

    ROUTER

    EavesDropper

    interleaver

    Packets send

    IP Address

    randomized frequencyhopping technique

    Packets receive

    deinterleaver

    t

    send request

    chating

    t

    check keys and download file

    Fig 5.3 UseCaseDiagram

    21

  • 7/28/2019 Docement Packet Chapter

    22/53

    5.4 Class Diagram:

    The identify 5 classes in total. A Lexer class and a Parser class - which comprise

    the Analyzer package a ParsedTreeStructure class, a Renderer class and a Frontend

    class. The Lexers job is to build a set of tokens from a source file. The Parser uses these

    tokens built and deciphers their types. It then builds the tokens seen into nodes and parses

    them to the ParsedTreeStructure class, where a tree structure of nodes is stored. This tree

    is then used by the Renderer class to form a model of the page, which is in turn, is used

    by the Frontend in order to display the final rendered page.

    DESTINATION

    RECPATHRECSTATUSFILEBYTESLENGTHACKDEINTERLEAVER

    SOCKETCON()DEINTERLEAVER()RECEIVE()

    SERVER

    SHCSCPHSAONT-HSINTERLEAVERFILENAMEIPADDRESSFILEBYTESLENGTHACK

    SOCKETCON()

    SHCS()CPHS()AONT-HS()INTERLEAVER()SEND()

    ROUTER

    FILENAMEIPADDRESSFILEBYTES

    LENGTHEAVESDROPPERRNDNOACKSELECTIVE JAMMERRANDOMIZEDFREQUENCY HOPPING

    ACK()SEND()RANDOM()graph()

    Fig 5.4 Class Diagram

    22

  • 7/28/2019 Docement Packet Chapter

    23/53

    5.5 Activity Diagram:

    These activity diagrams show how the use-cases interact with the system and

    interface. The User starts by initially interacting with the system. The main page is then

    rendered by the system and it is displayed by the interface, which the user can view.

    From here the user can click on a link, scroll or close the system. If they chose to click a

    link, the system renders the new page and it is displayed by the interface, which brings

    the user back to viewing. If the user chooses to scroll, the system will readjust the page

    and the interface will display the new snapshot of the page, which also brings the user

    back to viewing. If the user chooses to close the system, the activity diagram finishes in

    an exit state.

    The Unix Developer can do all of the above as it inherits all of the Machine

    Users use-cases. On top of this they can upload an html file, which will then begin to be

    rendered by the system. If problems are found with the code, the interface will display a

    list of problems which the developer can view. Otherwise, if no problems are found, the

    page will be fully rendered by the system, and then displayed by the interface, which the

    developer can view. Once developer can view the page or problems, they can then decide

    to load a new html file. If they do decide to, they go back to Upload New File, if not,

    the activity reaches an exit

    23

  • 7/28/2019 Docement Packet Chapter

    24/53

    chat withserver

    strong hidning commitmentalgorithm based key

    all or not transformationalgorithm key

    deinterleaver

    key

    yesno

    file downloadunauthorizedto download

    yesno

    chat with client andsend three types of key to client

    check client request

    selectivejammer

    file transfer

    cryptographic puzzlehiding algorithm ey

    randomizedfrequency

    hopping technique

    receive file fromserver and transfer

    to client

    send request

    tstrong hidning commitmentalgorithm based key

    cryptographic puzzle

    hiding algorithm key

    all or not transformationalgorithm key

    packet send

    server

    interleaver

    router client

    receive three keys fromserver

    packet receive

    Fig 5.5 Activity Diagram

    5.6 Sequence Diagram:

    A sequence diagram shows, as parallel vertical lines (lifelines), different processes

    or objects that live simultaneously, and, as horizontal arrows, the messages exchanged

    between them, in the order in which they occur. This allows the specification of simple

    runtime scenarios in a graphical manner. For instance, the UML 1.x diagram on the right

    describes the sequences of messages of a (simple) restaurant system. This diagram

    24

  • 7/28/2019 Docement Packet Chapter

    25/53

    represents a Patron ordering food and wine, drinking wine then eating the food, and

    finally paying for the food. The dotted lines extending downwards indicate the timeline.

    Time flows from top to bottom. The arrows represent messages (stimuli) from an actor or

    object to other objects. For example, the Patron sends message 'pay' to the Cashier. Half

    arrows indicate asynchronous method calls. The UML 2.0 Sequence Diagram supports

    similar notation to the UML 1.x Sequence Diagram with added support for modeling

    variations to the standard flow of events.

    SERVER DESTINATIONROUTER

    Socket Connection

    Socket Connection

    send keys

    chat with client

    packets received

    deinterleaver

    File Received

    keys transfered

    packet send

    receive keys

    Acknowledgement

    file Download

    interleaver

    Fig 5.6 Sequence Diagram

    5.7 State Diagram:

    25

  • 7/28/2019 Docement Packet Chapter

    26/53

    .

    server router client

    send request

    chat withserver

    receive three keys fromserver

    strong hidning commitmentalgorithm based key

    all or not transformationalgorithm key

    packet receive

    deinterleaver

    key

    yesno

    file downloadunauthorizedto download

    yesno

    chat with client andsend three types of key to client

    strong hidning commitmentalgorithm based key

    cryptographic puzzlehiding algorithm ey

    all or not transformationalgorithm key

    check client request

    packet send

    Interleaver

    reeive file from

    server and transferto client

    selectivejammer

    file transfer

    cryptographic puzzlehiding algorithm ey

    randomizedfrequency

    hopping technique

    26

  • 7/28/2019 Docement Packet Chapter

    27/53

    Fig 5.8 State Diagram

    CHAPTER 6

    SYSTEM IMPLEMENTATION

    6.1 Coding:

    Once the design aspect of the system is finalizes the system enters into the coding

    and testing phase. The coding phase brings the actual system into action by converting

    the design of the system into the code in a given programming language. Therefore, a

    good coding style has to be taken whenever changes are required it easily screwed into

    the system.

    6.2 Coding Standards:

    Coding standards are guidelines to programming that focuses on the physical

    structure and appearance of the program. They make the code easier to read, understand

    and maintain. This phase of the system actually implements the blueprint developed

    during the design phase. The coding specification should be in such a way that any

    programmer must be able to understand the code and can bring about changes whenever

    felt necessary.

    Implementation is the stage of the project when the theoretical design is turned

    out into a working system. Thus it can be considered to be the most critical stage in

    achieving a successful new system and in giving the user, confidence that the new system

    will work and be effective. The implementation stage involves careful planning,

    investigation of the existing system and its constraints on implementation, designing of

    methods to achieve changeover and evaluation of changeover methods.

    27

  • 7/28/2019 Docement Packet Chapter

    28/53

    CHAPTER 7SYSTEM TESTING

    The purpose of testing is to discover errors. Testing is the process of trying to

    discover every conceivable fault or weakness in a work product. It provides a way to

    check the functionality of components, sub assemblies, assemblies and/or a finished

    product It is the process of exercising software with the intent of ensuring that the

    Software system meets its requirements and user expectations and does not fail in an

    unacceptable manner. There are various types of test. Each test type addresses aspecific testing requirement.

    7.1. TYPES OF TESTS:

    7.1.1. Unit testing:

    Unit testing involves the design of test cases that validate that the internal

    program logic is functioning properly, and that program input produces valid

    outputs. All decision branches and internal code flow should be validated. It is the

    testing of individual software units of the application .it is done after the

    completion of an individual unit before integration. This is a structural testing, that relies

    on knowledge of its construction and is invasive. Unit tests perform basic tests at

    component level and test a specific business process, application and/or system

    configuration. Unit tests ensure that each unique path of a business process performs

    accurately to the documented specifications and contains clearly defined inputs and

    expected results.

    7.1.2. Integration Testing:

    Integration tests are designed to test integrated software components to

    determine if they actually run as one program. Testing is event driven and is more

    concerned with the basic outcome of screen or fields. Integration tests demonstrate that

    although the components were individually satisfaction, as shown by successfully unit

    testing, the combination of component s is correct and consistent. Integration

    testing is specifically aimed at exposing the problems that arise from the combination

    28

  • 7/28/2019 Docement Packet Chapter

    29/53

    of components.

    7.1.3. Functional Test:

    Functional tests provide a systematic demonstration that functions tested

    are available as specified by the business and technical requirements, s y s t e m

    documentation, and user manuals.

    Functional testing is centered on the following items:

    Valid Input : identified classes of valid input must be

    accepted. Invalid Input : identified classes of invalid input must berejected. Functions : identified functions must be exercised.Output : identified classes of application outputs must be exercised.

    Systems/Procedures : interfacing systems or procedures must be invoked.

    Organization and preparation of functional tests is focused on requirements, key

    functions, or special test cases. In addition, systematic coverage pertaining to identify,

    Business process flows; data fields, predefined processes, and successive processes

    must be considered for testing. Before functional testing is complete, additional tests

    are identified and the effective value of current tests is determined.

    7.1.4. System Testing:

    System testing ensures that the entire integrated software system meets

    requirements. It tests a configuration to ensure known and predictable results. An

    example of system testing is the configuration oriented system integration test.

    System testing is based on process descriptions and flows, emphasizing pre-driven

    process links and integration points.

    7.1.5. White Box Testing:

    White Box Testing is a testing in which in which the software tester has

    knowledge of the inner workings, structure and language of the software, or at least its

    purpose. It is purpose. It is used to test areas that cannot be reached from a black box

    level.

    7.1.6. Black Box Testing :Black Box Testing is testing the software without any knowledge of the

    29

  • 7/28/2019 Docement Packet Chapter

    30/53

    inner workings, structure or language of the module being tested. Black box tests, as

    most other kinds of tests, must be written from a definitive source document, such

    as specification or requirements document, such as specification or requirements

    document. It is a testing in which the software under test is treated, as a black box

    .you cannot see into it. The test provides inputs and responds to outputs without

    considering how the software works.

    7.1.7. 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.1.8. Test Results:

    All t h e t e s t cases mentioned above passed successfully. No defects

    encountered.

    7.2. Simulation Configurations and Results

    To demonstrate the theoretical complexity results shown in the previous section,

    we conduct a simulation study on the proposed system, in terms of four metrics: average

    testing latency T which refers to the length of the time interval from attackers starting

    sending requests till all of them are identified; average false positive rate fp; false

    negative rate fn; as well as the average number of testing rounds R test which stands for

    the number of testing rounds needed for identifying all the clients by each algorithm.

    30

  • 7/28/2019 Docement Packet Chapter

    31/53

    CHAPTER-8CONCLUSION AND FUTURE ENHANCEMENT

    8.1 Conclusion:

    We addressed the problem of selective jamming attacks in wireless networks. We

    considered an internal adversary model in which the jammer is part of the network under

    attack, thus being aware of the protocol specifications and shared network secrets. We

    showed that the jammer can classify transmitted packets in real time by decoding the first

    few symbols of an ongoing transmission. We evaluated the impact of selective jammingattacks on network protocols such as TCP and routing. Our findings show that a selective

    jammer can significantly impact performance with very low effort. We developed three

    schemes that transform a selective jammer to a random one by preventing real-time

    packet classification. Our schemes combine cryptographic primitives such as

    commitment schemes, cryptographic puzzles, and all-or nothing transformations

    (AONTs) with physical layer characteristics. We analyzed the security of our schemes

    and quantified their computational and communication overhead.

    8.2Future Enhancement:

    Conventional methods for mitigating jamming employ some form of SS

    communications The transmitted signal is spread to a larger bandwidth following a PN

    sequence. Without the knowledge of this sequence, a large amount of energy is required

    to interfere with an ongoing transmission. However, in the case of broadcast

    communications, compromise of commonly shared PN codes neutralizes the advantages

    of SS. proposed a jamming-resistant communication model for pair wise communications

    that does not rely on shared secrets. Communicating nodes use a physical layer

    modulation method called Uncoordinated Direct- Sequence Spread Spectrum (UDSSS).

    They also proposed, a jamming-resistant broadcast method in which transmissions are

    spread according to PN codes randomly selected from a public codebook.Several other

    schemes eliminate overall the need for secret PN codes. The jamming 13% of a packet is

    sufficient to overcome the ECC capabilities of the receiver. The categorized jammers into

    31

  • 7/28/2019 Docement Packet Chapter

    32/53

    four models: (a) a constant jammer, (b) a deceptive jammer that broadcasts fabricated

    messages, (c) a random jammer, and (d) a reactive jammer that jams only if activity is

    sensed. They further studied the problem of detecting the presence of jammers by

    measuring performance metrics such as packet delivery ratio. The proposed wormhole-

    based anti jamming techniques for wireless sensor networks. Using a wormhole link,

    sensors within the jammed region establish communications with outside nodes, and

    notify those regarding ongoing jamming attacks.

    32

  • 7/28/2019 Docement Packet Chapter

    33/53

    CHAPTER 9APPENDICES

    Appendix I: Codings:

    Client:

    Anot form:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Data.SqlClient;

    using System.Configuration;

    namespace CLient_Application

    {

    public partial class AONT : Form

    {

    public AONT()

    {

    InitializeComponent();

    }

    public AONT(string a,string b,string c,string d,string ee)

    {

    InitializeComponent();

    label6.Text=a;

    label10.Text=b;

    label11.Text=c;

    textBox1.Text=d;

    33

  • 7/28/2019 Docement Packet Chapter

    34/53

    textBox2.Text=ee;

    }

    private void AONT_Load(object sender, EventArgs e)

    {}

    private void button1_Click(object sender, EventArgs e)

    {

    textBox3.Text = SSTCryptographer.Decrypt(textBox1.Text, SetKey());

    }

    private string SetKey()

    {

    if (chkIsCustomKey.Checked)

    {

    if (textBox9.Text != String.Empty)

    {

    return textBox9.Text;

    }

    else

    {

    return "SampleKey";

    }

    }

    else

    {

    return "SampleKey";

    }}

    }

    }

    Client registration:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    34

  • 7/28/2019 Docement Packet Chapter

    35/53

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Configuration;

    using System.Data.SqlClient;

    namespace CLient_Application

    {

    public partial class client_registration : Form

    {

    Stringconstring =

    Convert.ToString(ConfigurationSettings.AppSettings["ConnectionString"]);

    string sta = "register";

    Class1 cs = new Class1();

    public client_registration()

    {

    InitializeComponent();

    }

    private void label2_Click(object sender, EventArgs e)

    {

    }

    private void textBox2_TextChanged(object sender, EventArgs e)

    {}

    private void button1_Click(object sender, EventArgs e){

    SqlConnection con = new SqlConnection(constring);

    con.Open();

    SqlCommand cmd = new SqlCommand("insert into client_register values('" +

    textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text +

    "','" + textBox5.Text + "','" + textBox6.Text + "','" + sta + "')", con);

    cmd.ExecuteNonQuery();

    MessageBox.Show("Successfully register");

    35

  • 7/28/2019 Docement Packet Chapter

    36/53

    con.Close();

    }

    private void client_registration_Load(object sender, EventArgs e)

    {

    textBox1.Text = Convert.ToString(cs.idgeneration());

    }

    private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    this.Hide();

    Form1 fm = new Form1();

    fm.Show();

    }

    }

    }

    Client request:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Data.SqlClient;using System.Configuration;

    namespace CLient_Application

    {

    public partial class Client_Request : Form

    {

    Stringconstring =

    Convert.ToString(ConfigurationSettings.AppSettings["ConnectionString"]);

    string msg = "Send File";

    36

  • 7/28/2019 Docement Packet Chapter

    37/53

    string sta = "waiting for reply";

    string id;

    Class1 cs = new Class1();

    public Client_Request()

    {

    InitializeComponent();

    }

    public Client_Request(string a,string b)

    {

    InitializeComponent();

    label11.Text = b;

    id = a;

    label5.Text = b;

    label13.Text = a;

    }

    private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    groupBox1.Visible = true;

    groupBox1.Visible = false;

    }

    private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    groupBox2.Visible = true;

    groupBox1.Visible = false;

    }private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    this.Hide();

    Form1 f1 = new Form1();

    f1.Show();

    }

    private void Client_Request_Load(object sender, EventArgs e)

    {

    37

  • 7/28/2019 Docement Packet Chapter

    38/53

    this.sHCSTableAdapter.Fill(this.packetDataSet.SHCS);

    label9.Text = Convert.ToString(cs.request_id());

    dataGridView1.Visible = false;

    dataGridView2.Visible = false;

    dataGridView3.Visible = false;

    }

    private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    groupBox1.Visible = true;

    groupBox2.Visible = false;

    }

    private void button1_Click(object sender, EventArgs e)

    {

    SqlConnection con = new SqlConnection(constring);

    con.Open();

    SqlCommand cmd=new SqlCommand("insert into Request_File

    values('"+label9.Text+"','"+label5.Text+"','"+label13.Text+"','"+textBox1.Text+"','"+labe

    l4.Text+"','"+msg+"','"+sta+"')",con);

    cmd.ExecuteNonQuery();

    MessageBox.Show("Request send to ADMIN");

    con.Close();

    }

    private void linkLabel9_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    chat_with_server cws = new chat_with_server(label11.Text);cws.Show();

    }

    private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    dataGridView1.Visible = true;

    dataGridView2.Visible = false;

    dataGridView3.Visible = false;

    }

    38

  • 7/28/2019 Docement Packet Chapter

    39/53

    private void dataGridView1_CellContentClick(object sender,

    DataGridViewCellEventArgs e)

    {

    int curRow = int.Parse(e.RowIndex.ToString());

    string reqid, clid, cliname, enc,stat;

    reqid = dataGridView1.Rows[curRow].Cells[0].Value.ToString();

    clid = dataGridView1.Rows[curRow].Cells[1].Value.ToString();

    cliname = dataGridView1.Rows[curRow].Cells[2].Value.ToString();

    enc = dataGridView1.Rows[curRow].Cells[3].Value.ToString();

    SHCS_Decrypt_key sc1 = new SHCS_Decrypt_key(reqid, clid, cliname, enc);

    sc1.Show();

    }

    private void linkLabel6_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    dataGridView3.Visible = true;

    dataGridView1.Visible = false;

    dataGridView2.Visible = false;

    }

    private void dataGridView3_CellContentClick(object sender,

    DataGridViewCellEventArgs e)

    {

    int curRow = int.Parse(e.RowIndex.ToString());

    string clid, reqid, cname, sd, ed;

    clid = dataGridView3.Rows[curRow].Cells[0].Value.ToString();

    reqid = dataGridView3.Rows[curRow].Cells[1].Value.ToString();cname = dataGridView3.Rows[curRow].Cells[2].Value.ToString();

    sd = dataGridView3.Rows[curRow].Cells[3].Value.ToString();

    ed = dataGridView3.Rows[curRow].Cells[4].Value.ToString();

    cryptographic_puzzle sc1 = new cryptographic_puzzle(clid, reqid, cname, sd, ed);

    sc1.Show();

    }

    private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    39

  • 7/28/2019 Docement Packet Chapter

    40/53

    }

    private void dataGridView2_CellContentClick(object sender,

    DataGridViewCellEventArgs e)

    {

    }

    private void linkLabel7_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs

    e)

    {

    dataGridView2.Visible = true;

    dataGridView1.Visible = false;

    dataGridView3.Visible = false;

    }

    private void dataGridView2_CellContentClick_1(object sender,

    DataGridViewCellEventArgs e)

    {

    int curRow = int.Parse(e.RowIndex.ToString());

    string clid, reqid, cname, sd, ed;

    clid = dataGridView2.Rows[curRow].Cells[0].Value.ToString();

    cname = dataGridView2.Rows[curRow].Cells[1].Value.ToString();

    reqid = dataGridView2.Rows[curRow].Cells[2].Value.ToString();

    sd = dataGridView2.Rows[curRow].Cells[3].Value.ToString();

    ed = dataGridView2.Rows[curRow].Cells[4].Value.ToString();

    AONT att = new AONT(clid, reqid, cname, sd, ed);

    att.Show();

    }private void linkLabel8_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

    {

    receive_file rf = new receive_file(label11.Text,id);

    rf.Show();

    }

    }

    }

    40

  • 7/28/2019 Docement Packet Chapter

    41/53

    SHCS De-encrypt:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Windows.Forms;

    using Anu.Header.BMP;

    using Anu.Steganography.Bitmap.Header;

    using System.IO;

    using System.Configuration;

    using System.Data.SqlClient;

    namespace CLient_Application

    {

    public partial class SHCS_Decrypt_key : Form

    {

    string outputPath = "";

    string inputPath = "";

    string message = "";

    string outputtextpath = "";

    public SHCS_Decrypt_key()

    {

    InitializeComponent();}

    public SHCS_Decrypt_key(string a,string b,string c,string d)

    {

    InitializeComponent();

    label4.Text = d;

    }

    private void SHCS_Decrypt_key_Load(object sender, EventArgs e)

    {

    41

  • 7/28/2019 Docement Packet Chapter

    42/53

    }

    private void pictureBox1_Click(object sender, EventArgs e)

    {

    }

    private void button2_Click(object sender, EventArgs e)

    {

    OpenFileDialog openFileDialog = new OpenFileDialog();

    string picfile = "";

    openFileDialog.Filter = "Picture Files|*.bmp;";

    picfile = label4.Text;

    pictureBox1.Image = Image.FromFile(picfile);

    outputPath = picfile;

    }

    private void button1_Click(object sender, EventArgs e)

    {

    saveFileDialog1.Filter = "txt File|*.txt";

    saveFileDialog1.FilterIndex = 1;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)

    {

    outputtextpath = saveFileDialog1.FileName;

    textBox1.Text = outputtextpath;

    }

    }

    private void DecryptMessage(string DecryptedImagePath)

    {try

    {

    Stegano newStegano = new Stegano();

    message = newStegano.RetriveMessage(DecryptedImagePath);

    StreamWriter stWriter = new StreamWriter(outputtextpath);

    stWriter.WriteLine(message);

    stWriter.Flush();

    stWriter.Close();

    42

  • 7/28/2019 Docement Packet Chapter

    43/53

    }

    catch (Exception)

    {

    MessageBox.Show("Error Occured While Decrypting Image..", "Error",

    MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    }

    private void button3_Click(object sender, EventArgs e)

    {

    DecryptMessage(outputPath);

    MessageBox.Show("Get Key open the path");

    }

    }

    }

    SERVER FORM:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    namespace SErverApplication{

    public partial class Form1 : Form

    {

    public Form1()

    {

    InitializeComponent();

    }

    private void label1_Click(object sender, EventArgs e)

    43

  • 7/28/2019 Docement Packet Chapter

    44/53

    {

    }

    private void button1_Click(object sender, EventArgs e)

    {

    string txt1 = textBox1.Text.ToUpper();

    string txt2 = textBox2.Text.ToUpper();

    if (txt1 == "ADMIN" && txt2 == "ADMIN")

    {

    this.Hide();

    serverr srr = new serverr();

    srr.Show();

    }

    else

    {

    MessageBox.Show("Invalid Admin");

    }

    textBox1.Text = "";

    textBox2.Text = "";

    }

    }

    }

    44

  • 7/28/2019 Docement Packet Chapter

    45/53

    Appendix II: Snap Shots:

    Sender Form:

    Client Form:

    45

  • 7/28/2019 Docement Packet Chapter

    46/53

    Module Form:

    Response Connection:

    46

  • 7/28/2019 Docement Packet Chapter

    47/53

    Method 1:

    Method 2:

    47

  • 7/28/2019 Docement Packet Chapter

    48/53

    Method 3:

    Packet Classification:

    48

  • 7/28/2019 Docement Packet Chapter

    49/53

    Simulation:

    49

  • 7/28/2019 Docement Packet Chapter

    50/53

    Packet Received:

    50

  • 7/28/2019 Docement Packet Chapter

    51/53

    Packet receive order-wise:

    Packet De-Interleaver:

    51

  • 7/28/2019 Docement Packet Chapter

    52/53

    Download File:

    REFERENCES[1] T. X. Brown, J. E. James, and A. Sethi. Jamming and sensing of encrypted wireless

    ad hoc networks. In Proceedings of MobiHoc, pages 120130, 2006.

    [2] M. Cagalj, S. Capkun, and J.-P. Hubaux. Wormhole-based antijamming techniques in

    sensor networks. IEEE Transactions on Mobile Computing, 6(1):100114, 2007.

    [3] A. Chan, X. Liu, G. Noubir, and B. Thapa. Control channel jamming: Resilience andidentification of traitors. In Proceedings of ISIT, 2007.

    [4] T. Dempsey, G. Sahin, Y. Morton, and C. Hopper. Intelligent sensing and

    classification in ad hoc networks: a case study. Aerospace and Electronic Systems

    Magazine, IEEE, 24(8):2330, August 2009.

    [5] Y. Desmedt. Broadcast anti-jamming systems. Computer Networks, 35(2-3):223236,

    February 2001.

    52

  • 7/28/2019 Docement Packet Chapter

    53/53

    [6] K. Gaj and P. Chodowiec. FPGA and ASIC implementations of AES. Cryptographic

    Engineering, pages 235294, 2009.

    [7] O. Goldreich. Foundations of cryptography: Basic applications. Cambridge

    University Press, 2004.

    [8] B. Greenstein, D. Mccoy, J. Pang, T. Kohno, S. Seshan, and D. Wetherall. Improving

    wireless privacy with an identifier-free link layer protocol. In Proceedings of MobiSys,

    2008.

    [9] IEEE. IEEE 802.11 standard. http://standards.ieee.org/getieee802 download/802.11-

    2007.pdf, 2007.

    [10] A. Juels and J. Brainard. Client puzzles: A cryptographic countermeasure against

    connection depletion attacks. In Proceedings of NDSS, pages 151165, 1999.

    http://standards.ieee.org/getieee802