ЗАШТИТА ПОДАТАКА · Zadatak •Za originalnu poruku 10111101b i ključ 1010000010b...

Preview:

Citation preview

ЗАШТИТА ПОДАТАКА

Симетрични алгоритми заштите

блок алгоритми и DES (Data Encryption Standard)

Zadatak

• Za originalnu poruku 10111101b i ključ 1010000010b dati međurezultat svake operacije, kao i vrednost šifrovane poruke ako se koristi pojednostavljeni DES algoritam (S-DES). Nacrtati strukturu pojednostavljenog DES algoritma. Koristiti opis modifikacija u odnosu na DES algoritam dat u prilogu.

Zadatak - prilog

• Pojednostavljeni DES algoritam ima veličinu bloka 8 bita, veličinu ključa 10 bita i 2 iteracije. Struktura algoritma odgovara strukturi DESalgoritma. Sve operacije u algoritmu su modifikovane da rade sa redukovanim veličinama ulaznih parametara.

Zadatak – detalji operacija

• PC1:

• rotacija: 1. iteracija za 1, 2. iteracija za 1

• PC2: IP:

• IP-1: E:

• S1: S2:

• P:

3 5 2 7 4 10 1 9 8 6

6 3 7 4 8 5 10 9 2 6 3 1 4 8 5 7

4 1 3 5 7 2 8 6 4 1 2 3 2 3 4 1

1 0 3 2

3 2 1 0

0 2 1 3

3 1 0 2

0 1 2 3

2 0 1 3

3 0 1 2

2 1 0 3

2 4 3 1

Rešenje - struktura

Rešenje – struktura iteracije

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1

Rešenje

• K = 1010000010b

• PC1:1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0 1

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0 1 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0 1 0 0

Rešenje

• K = 1010000010b

• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;

• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;

• PC2:

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0 1 0 0 1

Rešenje

• K = 1010000010b• PC1:

• LCS-1: 10000 – 00001; 01100 – 11000;• PC2:

• LCS-2:00001 – 00010; 11000 – 10001;• PC2:

• K1=10100100b; K2=10010010b

1 2 3 4 5 6 7 8 9 10

1 0 1 0 0 0 0 0 1 0

3 5 2 7 4 10 1 9 8 6

1 0 0 0 0 0 1 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 0 1 1 1 0 0 0

6 3 7 4 8 5 10 9

1 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10

0 0 0 1 0 1 0 0 0 1

6 3 7 4 8 5 10 9

1 0 0 1 0 0 1 0

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1

Rešenje

• P = 10111101b

• IP:1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1 1 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1 1 1 1

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1 1 1 1 0

Rešenje

• P = 10111101b

• IP:

• L0=0111b; R0=1110b

• E:

• XOR: 01111101 1010010011011001

1 2 3 4 5 6 7 8

1 0 1 1 1 1 0 1

2 6 3 1 4 8 5 7

0 1 1 1 1 1 1 0

1 2 3 4

1 1 1 0

4 1 2 3 2 3 4 1

0 1 1 1 1 1 0 1

Rešenje

• S1 – 11011 0 3 2

3 2 1 0

0 2 1 3

3 1 0 2

Rešenje

• S1 – 1101 – 001 0 3 2

3 2 1 0

0 2 1 3

3 1 0 2

Rešenje

• S1 – 1101 – 00

• S2 – 1001

1 0 3 2

3 2 1 0

0 2 1 3

3 1 0 2

0 1 2 3

2 0 1 3

3 0 1 2

2 1 0 3

Rešenje

• S1 – 1101 – 00

• S2 – 1001 – 10

1 0 3 2

3 2 1 0

0 2 1 3

3 1 0 2

0 1 2 3

2 0 1 3

3 0 1 2

2 1 0 3

Rešenje

• P: 00101 2 3 4

0 0 1 0

2 4 3 1

Rešenje

• P: 00101 2 3 4

0 0 1 0

2 4 3 1

0

Rešenje

• P: 00101 2 3 4

0 0 1 0

2 4 3 1

0 0

Rešenje

• P: 00101 2 3 4

0 0 1 0

2 4 3 1

0 0 1

Rešenje

• P: 0010

• L1 = R0=1110b

• R1 = 0010 xor01110101

1 2 3 4

0 0 1 0

2 4 3 1

0 0 1 0

Rešenje

• L1 = 1110b; R1 = 0101b;• E: 10101010b• XOR: 10101010

1001001000111000

• S1 – 0011 – 10; S2 – 1000 – 11• P: 0111b• L2 = R1 = 0101b;• R2 = 0111 xor

11101001

• L2 = 0101b; R2 = 1001b;• 4bit swap: 10010101b• C= IP-1: 11000011b

Recommended