December 26th, 2012, 03:14 PM
major Problem in code in here guys
dear readers I have done my researches and still un-able to solve this program so please I need someone to help me or even solve it but as I think we must use semaphores, forks and pipes that's what I think but no nothing else about it.can anyone solve it plz ? am not good in C language... thanks for all.
We are requested to implement a code cracking system. The system will deploy four processes (p1,p2,p3 & p4) to try to guess the password of an encrypted code.
For encryption, we consider that the formula is: C = P XOR K, where
• C = encrypted code
• P = plain text
• K = key
For decryption the formula is: P = C XOR K. So, your program will try to find K using this formula. The XOR operator is ^.
Given an encrypted code C and plain code P your program should deploy three processes to try and find the key used to encrypt the plain code. These three processes will be under the control of process P1.
All processes will send their results to process P1 and process P1 will terminate the three processes and display the encryption key and decrypted text once any of the three processes finds the key.
For simplicity we will consider that we have the original number P stored in a file called plain.txt and the encrypted code is stored in a file called cipher.txt. Consider that only numbers are stored in these files and they have a range between 0 and 100000000.
So we have P and C your program should find the key K. Consider that K is a positive number between 0 and 1000000.
December 26th, 2012, 03:26 PM
I understood that I have to fork 4 processes and write them into a buffer where they can be given to the xor operation but didn't understand what is P and K and couldn't code them even or didn't know how to write them in c language
December 26th, 2012, 03:43 PM
typedef struct decrypt
fd=open("p.c",O_CREAT,777);//creates a new file
printf("\nFailed to create file\n\n");exit(-1)
fd=open("p.c",O_RDWR,777)//open the file for read and write
printf("Enter the number to decrypt:");
printf("Enter the key\n");
write( fd,s[i],sizeof(s) );//write to the file which the file discriptor is pointing to
return 0;//return success to kernel
didn't know if I wrote it properly or even how to use semaphores please someone help me in here
Comments on this post