Question
Breaking streamcipher, encrypted by a pseudorandom number generator (PRNG) 1- I have this encrypted file that I need to break using a programming language: https://drive.google.com/open?id=1gZCujDYmEL-FZ5o_xBUS-Ng5979HSsZ7
Breaking streamcipher, encrypted by a pseudorandom number generator (PRNG)
1- I have this encrypted file that I need to break using a programming language: https://drive.google.com/open?id=1gZCujDYmEL-FZ5o_xBUS-Ng5979HSsZ7
2- the original file is a latex file and the plaintext of it probably starts with \documentclass,
3- its a stream cipher and pseudo-number generator was used
4- the code that been used for encryption is a C program, below
5- I need to know how to xor the known plaintext with the ciphertext from the file, and use the resulted bytes as as seed,
/* The ISO/IEC 9899:1990 edition of the C standard */
#define RAND_MAX 32767
static unsigned long int next = 1;
int rand(void) // RAND_MAX assumed to be 32767
{
next = next * 1103515245 + 12345;
return (unsigned int)(next/65536) % 32768;
}
void srand(unsigned int seed)
{
next = seed;
}
#include
#include
//Return a byte at a time of the rand() keystream
char randchar() {
static int key;
static int i = 0;
i = i % 4;
if (i == 0) key = rand();
return ((char *)(&key))[i++];
}
int main(int argc, const char* argv[]) {
static char randstate[64];
srand(time(NULL));
FILE *input, *output;
input = fopen("Homework1b.tex", "r");
output = fopen("Homework1b.tex.enc", "w");
int c,rc;
while ((c = fgetc(input)) != EOF) {
rc=randchar();
printf("c=%d (%c) and rc=%d ",c,c,rc);
fputc(c^rc,output);
}
fclose(input);
fclose(output);
}
standard #de fine RAND MAX 32767 static unsigned long int next1; int rand (voidRAND MAX assumed to be 32767 next = next * 1103515245 + 12345; return (unsigned int) (next/65536) % 32768; void srand (unsigned int seed) next seed ;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started