- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
long int p, q, n, t, flag, e[100], d[100], temp[100], m[100], en[100], j, i;
char msg[100];
long int cd(long int x)
{
long int k = 1;
while (1)
{
k = k + t;
if (k%x == 0)
return(k / x);
}
}
int prime(long int pr)
{
int i;
j = sqrtl(pr);
for (i = 2; i <= j; i++)
{
if (pr%i == 0)
return 0;
}
return 1;
}
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;
}
}
}
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;
printf("\nTHE ENCRYPTED MESSAGE IS\n");
for (i = 0; en[i] != -1; i++)
printf("%c", en[i]);
}
Soul_re@ver 08.09.2014 23:13 # +6
bormand 09.09.2014 06:18 # +3
Да это же RSA!