Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <string.h>
  5.  
  6.  
  7. int generate_mask(int len_c,unsigned char *mask)
  8. {
  9.     srand (time(NULL));
  10.     int i;
  11.     for(i=0;i<len_c;++i)
  12.         mask[i]=rand()% 255 + 1;   // randomn key between 1 and 255, extented ascii              
  13.    
  14. mask[len_c]='\0';
  15.  
  16.     return 0;
  17. }
  18.  
  19.  
  20. int generate_encryption(unsigned char *cipher,unsigned char *mask,unsigned char *crypted,int len_c)
  21. {
  22.  
  23.     int i;
  24.     for(i=0;i<len_c;++i)
  25.        {
  26.            if( (mask[i]+cipher[i]) > 255 ) // is the result superior to the table ?
  27.                 crypted[i]=(mask[i]+cipher[i]) % 255; // if yes, we make a modulo
  28.            else
  29.                 crypted[i]=mask[i]+cipher[i];
  30.        }
  31.  
  32.     crypted[len_c]='\0';
  33.  
  34.     return 0;
  35. }
  36.  
  37. int main(int argc, char *argv[])
  38. {
  39. if(argc == 2)
  40.    {
  41.     int len_c=strlen(argv[1]);
  42.     unsigned char *mask=(unsigned char *)malloc(sizeof(char)*len_c+1);
  43.     unsigned char *crypted=(unsigned char *)malloc(sizeof(char)*len_c+1);
  44.  
  45.  
  46.     generate_mask(len_c,mask);
  47.  
  48.     generate_encryption((unsigned char *)argv[1],mask,crypted,len_c);
  49.  
  50.     printf("Message: %s\n Mask: %s\n Crypted: %s\n",argv[1],mask,crypted);
  51.     free(mask);
  52.     free(crypted);
  53.    }
  54.  
  55. else
  56.     fprintf(stderr,"Usage: ./<executable> <text to encrypt>");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement