Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

What algorithms were implemented in this code? Also include 20 outputs from code

ID: 3581088 • Letter: W

Question

What algorithms were implemented in this code?

Also include 20 outputs from code.

#include <stdio.h>

#include <iostream>

#include <math.h>

#include <string.h>

#include <stdlib.h>

using namespace std;

long int p, q, n, t, flag, e[100], d[100], temp[100], j, m[100], en[100], i;

char msg[100];

int prime(long int);

void ce();

long int cd(long int);

void encrypt();

void decrypt();

int prime(long int pr)

{

  int i;

  j = sqrt(pr);

  for (i = 2; i <= j; i++)

  {

  if (pr % i == 0)

  return 0;

  }

  return 1;

}

int main()

{

  cout << " ENTER FIRST PRIME NUMBER ";

  cin >> p;

  flag = prime(p);

  if (flag == 0)

  {

  cout << " WRONG INPUT ";

  exit(1);

  }

  cout << " ENTER ANOTHER PRIME NUMBER ";

  cin >> q;

  flag = prime(q);

  if (flag == 0 || p == q)

  {

  cout << " WRONG INPUT ";

  exit(1);

  }

  cout << " ENTER MESSAGE ";

  fflush(stdin);

  cin >> msg;

  for (i = 0; msg[i] != NULL; i++)

  m[i] = msg[i];

  n = p * q;

  t = (p - 1) * (q - 1);

  ce();

  cout << " POSSIBLE VALUES OF e AND d ARE ";

  for (i = 0; i < j - 1; i++)

  cout << e[i] << " " << d[i] << " ";

  encrypt();

  decrypt();

  return 0;

}

void ce()

{

  int k;

  k = 0;

  for (i = 2; i < t; i++)

  {

  if (t % i == 0)

  continue;

  flag = prime(i);

  if (flag == 1 && i != p && i != q)

  {

  e[k] = i;

  flag = cd(e[k]);

  if (flag > 0)

  {

  d[k] = flag;

  k++;

  }

  if (k == 99)

  break;

  }

  }

}

long int cd(long int x)

{

  long int k = 1;

  while (1)

  {

  k = k + t;

  if (k % x == 0)

  return (k / x);

  }

}

void encrypt()

{

  long int pt, ct, key = e[0], k, len;

  i = 0;

  len = strlen(msg);

  while (i != len)

  {

  pt = m[i];

  pt = pt - 96;

  k = 1;

  for (j = 0; j < key; j++)

  {

  k = k * pt;

  k = k % n;

  }

  temp[i] = k;

  ct = k + 96;

  en[i] = ct;

  i++;

  }

  en[i] = -1;

  cout << " THE ENCRYPTED MESSAGE IS ";

  for (i = 0; en[i] != -1; i++)

  printf("%c", en[i]);

}

void decrypt()

{

  long int pt, ct, key = d[0], k;

  i = 0;

  while (en[i] != -1)

  {

  ct = temp[i];

     k = 1;

     for (j = 0; j < key; j++)

  {

  k = k * ct;

     k = k % n;

     }

  pt = k + 96;

   m[i] = pt;

  i++;

}

   m[i] = -1;

  cout << " THE DECRYPTED MESSAGE IS ";

  for (i = 0; m[i] != -1; i++)

  printf("%c", m[i]);

}

Explanation / Answer

In the given program RSA algorithm of cryptography were implemented.

20 outputs from code :

ENTER FIRST PRIME NUMBER
41

ENTER ANOTHER PRIME NUMBER
53

ENTER MESSAGE
hello

POSSIBLE VALUES OF e AND d ARE
3   1387
7   1783
11   1891
17   1713
19   219
23   1447
29   789
31   671
37   1293
43   387
47   1903
59   1939
61   341
67   683
71   791
73   57
79   79
83   827
89   1449
97   193
101   1421
103   727

THE ENCRYPTED MESSAGE IS
`
THE DECRYPTED MESSAGE IS
hello

-----------------------------------------------

ENTER FIRST PRIME NUMBER
59

ENTER ANOTHER PRIME NUMBER
61

ENTER MESSAGE
world

POSSIBLE VALUES OF e AND d ARE
7   2983
11   2531
13   2677
17   1433
19   1099
23   1967
31   3031
37   1693
41   2801
43   2347
47   1703
53   197
67   883
71   3431
73   3337
79   2599
83   587
89   3089
97   3193
101   3101
103   3007
107   683

THE ENCRYPTED MESSAGE IS
V!$
THE DECRYPTED MESSAGE IS
world


----------------------------------------

ENTER FIRST PRIME NUMBER
3

ENTER ANOTHER PRIME NUMBER
5

ENTER MESSAGE
w

POSSIBLE VALUES OF e AND d ARE
7   7

THE ENCRYPTED MESSAGE IS
b
THE DECRYPTED MESSAGE IS
h


------------------------------------------

ENTER FIRST PRIME NUMBER
7

ENTER ANOTHER PRIME NUMBER
9

WRONG INPUT


------------------------------------

ENTER FIRST PRIME NUMBER
4

WRONG INPUT


------------------------------------

ENTER FIRST PRIME NUMBER
5

ENTER ANOTHER PRIME NUMBER
5

WRONG INPUT


--------------------------------------

ENTER FIRST PRIME NUMBER
43

ENTER ANOTHER PRIME NUMBER
43

WRONG INPUT

-------------------------------------------

ENTER FIRST PRIME NUMBER
5

ENTER ANOTHER PRIME NUMBER
5

WRONG INPUT


--------------------------------------

ENTER FIRST PRIME NUMBER
0

ENTER ANOTHER PRIME NUMBER
1

ENTER MESSAGE
dd

POSSIBLE VALUES OF e AND d ARE

THE ENCRYPTED MESSAGE IS
aa
THE DECRYPTED MESSAGE IS
aa


---------------------------------------------

ENTER FIRST PRIME NUMBER
91

WRONG INPUT

--------------------------------------------

ENTER FIRST PRIME NUMBER
94

WRONG INPUT

--------------------------------------------

ENTER FIRST PRIME NUMBER
79

ENTER ANOTHER PRIME NUMBER
83

ENTER MESSAGE
coding

POSSIBLE VALUES OF e AND d ARE
5   5117
7   3655
11   1163
17   1505
19   3703
23   3059
29   1985
31   619
37   2593
43   595
47   4763
53   3017
59   2927
61   3565
67   5155
71   5315
73   5257
89   3737
97   5341
101   3293
103   4471
107   3467

THE ENCRYPTED MESSAGE IS
S(`
THE DECRYPTED MESSAGE IS
coding

----------------------------------------

ENTER FIRST PRIME NUMBER
79

ENTER ANOTHER PRIME NUMBER
83

ENTER MESSAGE
coding

POSSIBLE VALUES OF e AND d ARE
5   5117
7   3655
11   1163
17   1505
19   3703
23   3059
29   1985
31   619
37   2593
43   595
47   4763
53   3017
59   2927
61   3565
67   5155
71   5315
73   5257
89   3737
97   5341
101   3293
103   4471
107   3467

THE ENCRYPTED MESSAGE IS
S(`
THE DECRYPTED MESSAGE IS
coding

---------------------------------------

ENTER FIRST PRIME NUMBER
83

ENTER ANOTHER PRIME NUMBER
31

ENTER MESSAGE
why

POSSIBLE VALUES OF e AND d ARE
7   703
11   671
13   757
17   1013
19   259
23   107
29   509
37   133
43   1087
47   2303
53   557
59   959
61   121
67   2203
71   1871
73   337
79   1339
89   1769
97   913
101   341
103   1027
107   23

THE ENCRYPTED MESSAGE IS
u
THE DECRYPTED MESSAGE IS
why


----------------------------------------

ENTER FIRST PRIME NUMBER
13

ENTER ANOTHER PRIME NUMBER
17

ENTER MESSAGE
qw

POSSIBLE VALUES OF e AND d ARE
5   77
7   55
11   35
19   91
23   167
29   53
31   31
37   109
41   89
43   67
47   143
53   29

THE ENCRYPTED MESSAGE IS

THE DECRYPTED MESSAGE IS
qw


------------------------------------

ENTER FIRST PRIME NUMBER
13

ENTER ANOTHER PRIME NUMBER
17

ENTER MESSAGE
qr

POSSIBLE VALUES OF e AND d ARE
5   77
7   55
11   35
19   91
23   167
29   53
31   31
37   109
41   89
43   67
47   143
53   29

THE ENCRYPTED MESSAGE IS

THE DECRYPTED MESSAGE IS
qr

----------------------------------------

ENTER FIRST PRIME NUMBER
87

WRONG INPUT


---------------------------------------

ENTER FIRST PRIME NUMBER
84

WRONG INPUT

---------------------------------------

ENTER FIRST PRIME NUMBER
23

ENTER ANOTHER PRIME NUMBER
29

ENTER MESSAGE
qwerty

POSSIBLE VALUES OF e AND d ARE
3   411
5   493
13   237
17   145
19   227
31   159
37   333
41   601
43   43
47   367
53   93
59   355
61   101
67   331
71   295
73   481
79   39
83   475
89   353
97   489
101   61
103   311

THE ENCRYPTED MESSAGE IS
TP|
THE DECRYPTED MESSAGE IS
qwerty

----------------------------------

ENTER FIRST PRIME NUMBER
555555555555

WRONG INPUT

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote