Advertisement
Pappu19

Hill Cipher

Sep 11th, 2021
937
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.93 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5.     unsigned int a[3][3] = {{6,24,1}, {13,16,10}, {20,17,15} };
  6.     unsigned int b[3][3] = {{8,5,10}, {21,8,21}, {21,12,8} };
  7.  
  8.     int i, j, t = 0;
  9.  
  10.     unsigned int c[20], d[20];
  11.  
  12.     char msg[20];
  13.  
  14.     printf("Enter the Plain Text : ");
  15.     scanf("%s", &msg);
  16.  
  17.     for(i=0; i<strlen(msg); i++)
  18.     {
  19.         c[i] = msg[i]-65;
  20.         printf("%d", c[i]);
  21.     }
  22.  
  23.     for(i=0; i<3; i++)
  24.     {
  25.         t = 0;
  26.         for(j=0; j<3; j++)
  27.         {
  28.             t = t+(a[i][j]*c[j]);
  29.         }
  30.         d[i] = t%26;
  31.     }
  32.  
  33.     printf("\nCipher Text : ");
  34.     for(i=0; i<3; i++)
  35.     {
  36.         printf("%c", d[i]+65);
  37.     }
  38.  
  39.     for(i=0; i<3; i++)
  40.     {
  41.         t = 0;
  42.         for(j=0; j<3;j++)
  43.         {
  44.             t = t+(b[i][j]*d[j]);
  45.         }
  46.         c[i] = t%26;
  47.     }
  48.  
  49.     printf("\nPlain Text : ");
  50.     for(i=0; i<3; i++)
  51.     {
  52.         printf("%c", c[i]+65);
  53.     }
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement