Quantcast
Channel: Assignment
Viewing all articles
Browse latest Browse all 9615

Replay attack

$
0
0
by fyproject 13.  

Replay attack

 

#include<conio.h>

#include<stdio.h>

#include<graphics.h>

#include<dos.h>

 

struct sender

  {

   int sender_key;

   int session_key;

   int receiver_name;

   char msg[100];

   int msg1[100];

  }A;

 

struct receiver

  {

   int receiver_key;

   int session_key;

   int received_from_KDC;

   int msg1[100];

   char msg[100];

  }B;

 

struct KDC

  {

   int sender_key;

   int receiver_key;

   int session_key;

   int KDC_sender_msg;

   int KDC_receiver_msg;

  }KDC;

 

struct trudy

  {

   int msg1[100];

  }T;

 

void main()

  {

   int i;

   int x;

   int request;

 

   int gd,gm;

   clrscr();

 

   printf("\n\t\t\t replay attact");

 

   A.sender_key=accept_key_A();

   KDC.sender_key=A.sender_key;

 

   B.receiver_key=accept_key_B();

   KDC.receiver_key=B.receiver_key;

 

   sound(100);

   printf("\n Is sender A is ready to send request (1.Yes) :: ");

   scanf("%d",&request);

   nosound();

 

   if(request==1)

            {

             printf("\n enter the message to be send :: ");

             scanf("%s",&A.msg);

 

             A.session_key=random_number();

 

             KDC.KDC_sender_msg=A.session_key+A.sender_key;

 

             KDC.session_key=KDC.KDC_sender_msg-A.sender_key;

 

             KDC.KDC_receiver_msg=KDC.session_key+B.receiver_key;

 

             B.received_from_KDC=KDC.KDC_receiver_msg;

 

             B.session_key=B.received_from_KDC-B.receiver_key;//receiver got session key

 

             //encode the message with ks by A

 

             for(i=0;i<strlen(A.msg);i++)

               {

                A.msg1[i]=A.msg[i]+A.session_key;

               }

 

               for(i=0;i<calculate_array_size(A.msg1);i++)

                 {

                  B.msg1[i]=A.msg1[i];

                  T.msg1[i]=A.msg1[i];

                 }

 

                 for(i=0;i<2;i++)

                   {

                        printf("\n message from A is received .");

                        printf("\n");

                        sound(100);

                        delay(500);

                        nosound();

                   }

 

                   delay(500);

 

               detectgraph(&gd,&gm);

               initgraph(&gd,&gm,"c:\\turboc3\\bgi");

 

               outtextxy(103,150,"ALICE");

               rectangle(100,100,150,250);//ALICE

 

               outtextxy(303,125,"KDC");

               rectangle(300,100,350,150);//KDC

 

               outtextxy(503,150,"BOB");

               rectangle(500,100,550,350);//BOB

 

               outtextxy(170,110,"A,Ka[B,Ks]");

               line(150,120,300,120);//line1

               line(295,115,300,120);

               line(295,125,300,120);

 

               outtextxy(370,120,"Kb[A,Ks]");

               line(350,130,500,130);//line2

               line(495,125,500,130);

               line(495,135,500,130);

 

               outtextxy(170,190,"Ks[P]");

               line(150,200,500,200);//line3

               line(495,195,500,200);

               line(495,205,500,200);

 

               outtextxy(200,280,"TRUDY");

               rectangle(200,250,250,350);

 

               outtextxy(270,270,"Ks[P]");

               line(250,280,500,280);//line4

               line(495,275,500,280);

               line(495,285,500,280);

 

               outtextxy(270,305,"Ks[P]");

               line(250,280+40,500,280+40);//line5

               line(495,275+40,500,280+40);

               line(495,285+40,500,280+40);

 

              }

   else

            {

             printf("\n action aborted!!!");

             goto label1;

            }

 

label1:

   getch();

  }

 

int accept_key_A()

  {

   int a;

   printf("\n Enter the private key of A :: ");

   scanf("%d",&a);

   return(a);

  }

 

int accept_key_B()

  {

   int b;

   printf("\n Enter the private key of B :: ");

   scanf("%d",&b);

   return(b);

  }

 

int random_number()

  {

   int a;

   a=rand()%10;

   return(a);

  }

 

int calculate_array_size(int a[])

  {

   int c=-1;

   int i;

   for(i=0;;i++)

     {

      if(a[i]=='\0');

            break;

     }

   return(c);

  }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OUTPUT:

 

 

             replay attack

 

 Enter the private key of A :: 2

 

 Enter the private key of B :: 3

 

 Is sender A is ready to send request (1.Yes) :: 1

 

 enter the message to be send :: pras

 

 message from A is received .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Viewing all articles
Browse latest Browse all 9615

Trending Articles