Question: I ran this source code in VS 15 but there was no output shown. Need help with the output. I'm trying to encrypt and decrpyt

I ran this source code in VS 15 but there was no output shown. Need help with the output.

I'm trying to encrypt and decrpyt this text file.

In cryptography, RC4 (Rivest Cipher 4 also known as ARC4 or ARCFOUR meaning Alleged RC4) is a stream cipher. While remarkable for its simplicity and speed in software, multiple vulnerabilities have been discovered in RC4, rendering it insecure. It is especially vulnerable when the beginning of the output keystream is not discarded, or when nonrandom or related keys are used. Particularly problematic uses of RC4 have led to very insecure protocols such as WEP.

Source code:

#include #include #include #include

typedef uint8_t byte; typedef struct { byte i, j; byte S[256]; } Rc4State;

void swap(byte *a, byte *b) { byte temp = *a; *a = *b; *b = temp; }

/*Initialization & initial permutation also initialize i&j counters in state for stream generation*/ void initState(const byte K[256], int keylen, Rc4State *state) { byte T[256]; assert(keylen >= 1 && keylen <= 256); int i; for (i = 0; i < 256; i++) { state->S[i] = i; T[i] = K[i % keylen]; }

//Initial permutation of S byte *S = state->S; int j = 0; for (i = 0; i < 256; i++) { j = (j + S[i] + T[i]) % 256; swap(&S[i], &S[j]); }

//Initialize counters in state state->i = state->j = 0; }

/*Encrypt/Decrypt text by XORing with next byte of keystream*/ byte crypt(byte text, Rc4State *state) { byte t, k; byte *i = &(state->i), *j = &(state->j); byte *S = state->S; *i = (*i + 1) % 256; *j = (*j + S[*i]) % 256; swap(&S[*i], &S[*j]); t = (S[*i] + S[*j]) % 256; k = S[t];

return text ^ k; }

static byte rc4CryptByte(Rc4State *state, byte plainText) { byte *S = state->S; byte i = ++(state->i); byte j = (state->j += S[i]);

swap(&S[i], &S[j]); byte t = S[i] + S[j]; byte k = S[t];

return plainText ^ k; }

void rc4Crypt(Rc4State *state, byte text[], size_t len) { for (size_t i = 0; i < len; i++) { text[i] = rc4CryptByte(state, text[i]); }

system("pause"); }

int main() {

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!