Documente Academic
Documente Profesional
Documente Cultură
Bacal Galina
Specialitatea ITI
Catedra Informatică și Tehnologii Informaționale Grupa C2I2
Data 08.10.2020
_______________________________________________________________________________________________________________________________________________________________________________________________________________________
1•3=1 3=1∖1
1•4=4 4=1∖4
operația binară:
2•2=4 2=2∖4 \| 1 2 3 4
2•3=2 3=2∖2 --+------------
2•4=3 4=2∖3 1| 3 1 4
3•1=3 1=3∖3 2| 3 4 2
3•2=2 2=3∖2 3| 2 1 3
3•3=4 3=3∖4 4| 4 3 ’
4•1=4
4•3=3 3=4∖3
4•4=2 4=4∖2
1.2. Pe baza corespondenței F din (1) stabiliți corespondența K între literele mesajului
care trebuie criptat și elementele mulțimii Q.
1
M: P A T R A T
2 1 4
K:
k1 k2 k3 k4 k5 k6
1.3. Efectuați iterațiile care țin de criptarea mesajului.
P. b1 = a \ k1 = 2 \ 2 = 3
A. b2 = \ = \ = ’
T. b3 = b2 \ k3 = \ = ’
R. b4 = b3 \ k4 = \ = ’
A. b5 = b4 \ k5 = 2 \ 1 = ’
T. b6 = b5 \ k6 = 1 \ 4 = 4
Astfel am obținut mesajul criptat:
b1 b2 b3 b4 b5 b6
B:
3 4
1.4. Efectuați iterațiile care țin de decriptarea mesajului.
R. u1 = a * b1 = 2 * 3 = ’
T. u2 = b1 * b2 = 3 * 4 = 1
A. u3 = * b3 = * 1 = ’
P. u4 = b3 * = 1 * = ’
A. u5 = b4 * b5 = * = ’
T. u6 = b5 * b6 = 1 * 4 = 4
Astfel am obținut mesajul decriptat:
u1 u2 u3 u4 u5 u6
U:
1 4
1.5. Restabiliți mesajul folosind corespondența F din (1):
u1 u2 u3 u4 u5 u6
U:
1 4
Md: A T
2
Al= {N, O, R, T}
Corespondența F dintre alfabetul Al și mulțimea Q, este stabilită în felul următor:
N O R T
F:
1 2 3 4
Cheia secretă de criptare
a=1
Quasigrupul (Q, ∖)
S= ∖ 1 2 3 4
1 4 3 1 2
2 3 4 2 1
3 1 2 4 3
4 2 1 3 4
Mesajul original de criptare: TORONTO
M O
T O R O N T
=
K= 4 2 3 2 1 4 2
m=7
secvența de criptare a mesajelor Finalizați pașii de realizare a secvenței de program
prin completarea spațiilor marcate cu rezultatele
realizării programului:
i=1; i=1
B[i]=S[a][K[i]]; B[1]= S[1][K[1]]=S[1][4]=2
for (i=2; i<=m; i++){ i=2, i ≤ m, 2 ≤ 7 ? Da
B[i]=S[B[i-1]][K[i]]; B[2]= S[ ][ ]=S[ ][ ]= ‘
} i=3, i ≤ m, 3 ≤ 7 ? Da
cout<<"B= {"; B[3]= S[B[3-1]][ ]=S[4][ ]= ‘
for (i=1; i<m; i++) i=4, i ≤ m, 4 ≤ 7 ? Da
cout<<B[i]<<", "; B[4]= S[ ][K[4]]=S[ ][2]= ‘
cout<<B[m]<<"}"; i=5, i ≤ m, 5 ≤ 7 ? Da
B[5]= S[ ][K[5]]=S[ ][1]= ‘
unde S este operația diviziune de
i=6, i ≤ m, 6 ≤ 7 ? Da
stânga „∖” definită pe mulțimea Q;
B[6]= S[ ][ ]=S[ ][ ]= ‘
B este rezultatul criptării, cu
i=7, i ≤ m, 7 ≤ 7 ? Da
elemente din mulțimea Q. B[7]= S[B[7-1]][ K[7]]=S[3][2]=2‘
i=8, i ≤ m, 8 ≤ 7 ? Nu
B={2, , , , , , 2}
3
Sarcina 4. Se cere de rulat manual secvența de program cu următoarele condiții.
Fie dată mulțimea Q={1, 2, 3, 4}. Pe mulțimea Q este definită operația „•” în felul următor
P= • 1 2 3 4
1 2 4 1 3
2 3 1 4 2
3 1 3 2 4
4 4 2 3 1
n=4
secvența care determină operația binară diviziune de dreapta (/) este
const int nn=100;//dimensiune maximală matrice
int D[nn][nn];//operatia (/)
for (i=1; i<=n; i++){//a
for (j=1; j<=n; j++){//y //b=P[j][i]
D[P[j][i]][i]=j; }
}
4.1. Finalizați pașii de realizare a secvenței de program prin completarea spațiilor
marcate cu rezultatele realizării programului:
i=1, i ≤ n, 1 ≤ 4 ? Da
j=1, j ≤ n, 1 ≤ 4 ? Da, D[P[1][1]][ ]= D[2][ ]= ’
j=2, j ≤ n, 2 ≤ 4 ? Da, D[ ][ ]= D[ ][ ]= ’
j=3, j ≤ n, 3 ≤ 4 ? Da, D[ ][1]= D[ ][1]= ’
j=4, j ≤ n, 4 ≤ 4 ? Da, D[P[4][1]][1]= D[4][1]=4
j=5, j ≤ n, 5 ≤ 4 ? Nu
i=2, i ≤ n, 2 ≤ 4 ? Da
j=1, j ≤ n, 1 ≤ 4 ? Da, D[P[1][2]][ ]= D[4][ ]= ’
j=2, j ≤ n, 2 ≤ 4 ? Da, D[ ][2]= D[ ][2]= ’
j=3, j ≤ n, 3 ≤ 4 ? Da, D[P[3][2]][2]= D[3][2]=3
j=4, j ≤ n, 4 ≤ 4 ? Da, D[ ][ ]= D[ ][ ]= ’
j=5, j ≤ n, 5 ≤ 4 ? Nu
i=3, i ≤ n, 3 ≤ 4 ? Da
j=1, j ≤ n, 1 ≤ 4 ? Da, D[ ][3]= D[ ][3]= ’
j=2, j ≤ n, 2 ≤ 4 ? Da, D[P[2][3]][ ]= D[4][ ]= ’
j=3, j ≤ n, 3 ≤ 4 ? Da, D[ ][ ]= D[ ][ ]= ’
j=4, j ≤ n, 4 ≤ 4 ? Da, D[P[4][3]][3]= D[3][3]=4
j=5, j ≤ n, 5 ≤ 4 ? Nu
i=4, i ≤ n, 3 ≤ 4 ? Da
j=1, j ≤ n, 1 ≤ 4 ? Da, D[ ][4]= D[ ][4]= ’
j=2, j ≤ n, 2 ≤ 4 ? Da, D[ ][ ]= D[ ][ ]= ’
j=3, j ≤ n, 3 ≤ 4 ? Da, D[ ][ ]= D[ ][ ]= ’
j=4, j ≤ n, 4 ≤ 4 ? Da, D[P[4][4]][4]= D[1][4]=4
j=5, j ≤ n, 5 ≤ 4 ? Nu
i=5, i ≤ n, 5 ≤ 4 ? Nu
4.2. Completați matricea operației diviziune de dreapta (/) bazându-vă pe rezultatele
punctului 4.1.
S= / 1 2 3 4
1 4
2
3 3 4
4 4