Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 6_v2 Гамування.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.93 Mб
Скачать

3. Шифрування з багаторазовим об'єднанням двійкових гамм

4

B

C

D

E

F

G

H

5

На_те_й_голова,_щоб_у_ній_розум_був.

36

6

7

4

8

№ п/п

1

2

3

4

9

0

Н

а

_

т

10

1

е

_

й

_

11

2

г

о

л

о

12

3

в

а

,

_

13

4

щ

о

б

_

14

5

у

_

н

і

15

6

й

_

р

о

16

7

з

у

м

_

17

8

б

у

в

.

18

19

Dec

20

1

2

3

4

21

0

205

224

95

242

22

1

229

95

233

95

23

2

227

238

235

238

24

3

226

224

44

95

25

4

249

238

225

95

26

5

243

95

237

179

27

6

233

95

240

238

28

7

231

243

236

95

29

8

225

243

226

46

Клі­ти­на H5  = ДЛСТР(D5) – < Enter>

Клі­ти­на D7  = фіксоване число – < Enter>

Клі­ти­ни D9:G17  = ПСТР($D$5;$D$7*$C9+D$8;1) – <Ctrl + Enter>

Клі­ти­ни D21:G29  = КОДСИМВ(D9) – <Ctrl + Enter>

30

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

AA

AB

AC

AD

AE

AF

AG

AH

AI

AJ

AK

AL

AM

AN

31

Bin Т2

32

Bin Т1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

1

2

3

4

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

34

0

11001101

11100000

01011111

11110010

1

1

0

0

1

1

0

1

1

1

1

0

0

0

0

0

0

1

0

1

1

1

1

1

1

1

1

1

0

0

1

0

35

1

11100101

01011111

11101001

01011111

1

1

1

0

0

1

0

1

0

1

0

1

1

1

1

1

1

1

1

0

1

0

0

1

0

1

0

1

1

1

1

1

36

2

11100011

11101110

11101011

11101110

1

1

1

0

0

0

1

1

1

1

1

0

1

1

1

0

1

1

1

0

1

0

1

1

1

1

1

0

1

1

1

0

37

3

11100010

11100000

00101100

01011111

1

1

1

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

1

0

1

1

0

0

0

1

0

1

1

1

1

1

38

4

11111001

11101110

11100001

01011111

1

1

1

1

1

0

0

1

1

1

1

0

1

1

1

0

1

1

1

0

0

0

0

1

0

1

0

1

1

1

1

1

39

5

11110011

01011111

11101101

10110011

1

1

1

1

0

0

1

1

0

1

0

1

1

1

1

1

1

1

1

0

1

1

0

1

1

0

1

1

0

0

1

1

40

6

11101001

01011111

11110000

11101110

1

1

1

0

1

0

0

1

0

1

0

1

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

0

41

7

11100111

11110011

11101100

01011111

1

1

1

0

0

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

1

1

0

0

0

1

0

1

1

1

1

1

42

8

11100001

11110011

11100010

00101110

1

1

1

0

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

0

0

0

1

0

0

0

1

0

1

1

1

0

43

44

Ключ гама-шифру № 1

45

m=

512

НОД(512; 127)=

1

46

a=

127

xi = (a*xi+b) mod m

47

b=

253

x0

x1

x2

x3

48

x0=

346

346

163

474

35

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

49

101011010

010100011

111011010

000100011

К1=

1

0

1

0

1

1

0

1

0

0

1

0

1

0

0

0

1

1

1

1

1

0

1

1

0

1

0

0

0

0

1

0

50

Bin

101011010010100011111011010000100011

10101101

173

00101000

40

11111011

251

01000010

66

51

52

Ключ гама-шифру № 2

53

m=

289

НОД(289; 87)=

1

54

a=

87

xi = (a*xi+b) mod m

55

b=

185

x0

x1

x2

x3

56

x0=

179

179

458

51

74

57

010110011

010011000

001110011

001001011

К2=

0

1

0

1

1

0

0

1

1

0

1

0

0

1

1

0

0

0

0

0

1

1

1

0

0

1

1

0

0

1

0

0

58

01011001

89

10100110

166

00001110

14

01100100

100

59

60

К12=

1

1

1

1

0

1

0

0

1

0

0

0

1

1

1

0

1

1

1

1

0

1

0

1

0

0

1

0

0

1

1

0

61

11110100

244

10001110

142

11110101

245

00100110

38

Клі­ти­ни D34:G42  = Dec2Bin(D21;8) – <Ctrl + Enter>

Клі­ти­ни I34:P42  = ЗНАЧЕН(ПСТР($D34;I$33;1)) – <Ctrl + Enter>

… … … … …

Клі­ти­ни AG34:AN42  = ЗНАЧЕН(ПСТР($G34;AG$33;1)) – <Ctrl + Enter>

Клі­ти­ни C45:C48  = фіксовані числа – < Enter>

Клі­ти­на E45  = СЦЕПИТЬ("НОД(";ТЕКСТ(C45;"##");"; ";ТЕКСТ(C46;"##");")=") – < Enter>

Клі­ти­на G45  = НОД(C45;C46) – < Enter>

Клі­ти­на D48  = C48 – < Enter>

Клі­ти­ни E48:G48  = ОСТАТ($C$46*D48+$C$47;$C$45) – <Ctrl + Enter>

Клі­ти­ни D49:G49  = Dec2Bin(D48;9) – <Ctrl + Enter>

Клі­ти­на D50  = СЦЕПИТЬ(D49;E49;F49;G49) – < Enter>

Клі­ти­ни I49:AN49  = ЗНАЧЕН(ПСТР($D$50;I49;1)) – <Ctrl + Enter>

Клі­ти­на I50  = СЦЕПИТЬ(ТЕКСТ(I49;"0");ТЕКСТ(J49;"0");ТЕКСТ(K49;"0");ТЕКСТ(L49;"0");…;ТЕКСТ(P49;"0")) – < Enter>

Клі­ти­на L50  = Bin2Dec(I50) – < Enter>

Клі­ти­ни C53:C56  = фіксовані числа – < Enter>

Клі­ти­на E53  = СЦЕПИТЬ("НОД(";ТЕКСТ(C53;"##");"; ";ТЕКСТ(C54;"##");")=") – < Enter>

Клі­ти­на G53  = НОД(C53;C54) – < Enter>

Клі­ти­на D56  = C56 – < Enter>

Клі­ти­ни E56:G56  = ОСТАТ($C$46*D48+$C$47;$C$45) – <Ctrl + Enter>

Клі­ти­ни D57:G57  = Dec2Bin(D56;9) – <Ctrl + Enter>

Клі­ти­на D58  = СЦЕПИТЬ(D57;E57;F57;G57) – < Enter>

Клі­ти­ни I57:AN57  = ЗНАЧЕН(ПСТР($D$58;I$48;1)) – <Ctrl + Enter>

Клі­ти­на I58  = СЦЕПИТЬ(ТЕКСТ(I57;"0");ТЕКСТ(J57;"0");ТЕКСТ(K57;"0");ТЕКСТ(L57;"0");…;ТЕКСТ(P57;"0")) – < Enter>

Клі­ти­на L58  = Bin2Dec(I58) – < Enter>

Клі­ти­ни I60:AN60  = ОСТАТ(I49+I57;2) – <Ctrl + Enter>

Клі­ти­на I61  = СЦЕПИТЬ(ТЕКСТ(I60;"0");ТЕКСТ(J60;"0");ТЕКСТ(K60;"0");ТЕКСТ(L60;"0");…;ТЕКСТ(P60;"0")) – < Enter>

Клі­ти­на L61  = Bin2Dec(I61) – < Enter>

63

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

AA

AB

AC

AD

AE

AF

AG

AH

AI

AJ

AK

AL

AM

AN

64

Шифрування вхідної інформації

65

66

Раунд 1. Шифрування вхідної інформації

67

Bin Т1

Bin Т2 + (К1 + К2)

68

1

2

3

4

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

69

0

00111001

01101110

10101010

11010100

0

0

1

1

1

0

0

1

0

1

1

0

1

1

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

0

0

70

1

00010001

11010001

00011100

01111001

0

0

0

1

0

0

0

1

1

1

0

1

0

0

0

1

0

0

0

1

1

1

0

0

0

1

1

1

1

0

0

1

71

2

00010111

01100000

00011110

11001000

0

0

0

1

0

1

1

1

0

1

1

0

0

0

0

0

0

0

0

1

1

1

1

0

1

1

0

0

1

0

0

0

72

3

00010110

01101110

11011001

01111001

0

0

0

1

0

1

1

0

0

1

1

0

1

1

1

0

1

1

0

1

1

0

0

1

0

1

1

1

1

0

0

1

73

4

00001101

01100000

00010100

01111001

0

0

0

0

1

1

0

1

0

1

1

0

0

0

0

0

0

0

0

1

0

1

0

0

0

1

1

1

1

0

0

1

74

5

00000111

11010001

00011000

10010101

0

0

0

0

0

1

1

1

1

1

0

1

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

1

0

1

0

1

75

6

00011101

11010001

00000101

11001000

0

0

0

1

1

1

0

1

1

1

0

1

0

0

0

1

0

0

0

0

0

1

0

1

1

1

0

0

1

0

0

0

76

7

00010011

01111101

00011001

01111001

0

0

0

1

0

0

1

1

0

1

1

1

1

1

0

1

0

0

0

1

1

0

0

1

0

1

1

1

1

0

0

1

77

8

00010101

01111101

00010111

00001000

0

0

0

1

0

1

0

1

0

1

1

1

1

1

0

1

0

0

0

1

0

1

1

1

0

0

0

0

1

0

0

0

Клі­ти­ни I69:AN77  = ОСТАТ(I34+I$60;2) – <Ctrl + Enter>

Клі­ти­ни D69:D77  = СЦЕПИТЬ(ТЕКСТ(I69;"0");ТЕКСТ(J69;"0");ТЕКСТ(K69;"0");…;ТЕКСТ(P69;"0")) – <Ctrl + Enter>

… … … … …

Клі­ти­ни G69:G77  = СЦЕПИТЬ(ТЕКСТ(AG69;"0");ТЕКСТ(AH69;"0");ТЕКСТ(AI69;"0");…;ТЕКСТ(AN69;"0")) – <Ctrl + Enter>

79

B

C

D

E

F

G

H

I

J

80

Dec

81

1

2

3

4

82

0

57

110

170

212

83

1

17

209

28

121

84

2

23

96

30

200

85

3

22

110

217

121

86

4

13

96

20

121

87

5

7

209

24

149

88

6

29

209

5

200

89

7

19

125

25

121

90

8

21

125

23

8

91

92

№ п/п

1

2

3

4

93

0

9

n

Є

Ф

9nЄФ

94

1

С

y

Сy

95

2

`

И

`‑И

96

3

n

Щ

y

nЩy

97

4

`

µ

y

`µy

98

5

С

С•

99

6

С

И

СИ

100

7

}

y

}y

101

8

§

}

§}

102

103

9nЄФСy`‑ИnЩy `µy С•СИ}y§}

104

Кількість символів:

36

Клі­ти­ни D82:G90  = ДВ.В.ДЕС(D69) – <Ctrl + Enter>

Клі­ти­ни D93:G101  = СИМВОЛ(D82) – <Ctrl + Enter>

Клі­ти­ни H93:H101  = СЦЕПИТЬ(D93;E93;F93;G93) – <Ctrl + Enter>

Клі­ти­на D103  = СЦЕПИТЬ(H93;H94;H95;H96;H97;H98;H99;H100;H101) – <Enter>

Клі­ти­на F104  = ДЛСТР(D103) – <Enter>

106

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

AA

AB

AC

AD

AE

AF

AG

AH

AI

AJ

AK

AL

AM

AN

107

ДеШифрування вхідної інформації

108

Раунд 21. ДеШифрування вхідної інформації

109

Bin Т1

(Bin Т2 + (К1 + К2)) + (К1 + К2)

110

1

2

3

4

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

111

0

11001101

11100000

01011111

11110010

1

1

0

0

1

1

0

1

1

1

1

0

0

0

0

0

0

1

0

1

1

1

1

1

1

1

1

1

0

0

1

0

112

1

11100101

01011111

11101001

01011111

1

1

1

0

0

1

0

1

0

1

0

1

1

1

1

1

1

1

1

0

1

0

0

1

0

1

0

1

1

1

1

1

113

2

11100011

11101110

11101011

11101110

1

1

1

0

0

0

1

1

1

1

1

0

1

1

1

0

1

1

1

0

1

0

1

1

1

1

1

0

1

1

1

0

114

3

11100010

11100000

00101100

01011111

1

1

1

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

1

0

1

1

0

0

0

1

0

1

1

1

1

1

115

4

11111001

11101110

11100001

01011111

1

1

1

1

1

0

0

1

1

1

1

0

1

1

1

0

1

1

1

0

0

0

0

1

0

1

0

1

1

1

1

1

116

5

11110011

01011111

11101101

10110011

1

1

1

1

0

0

1

1

0

1

0

1

1

1

1

1

1

1

1

0

1

1

0

1

1

0

1

1

0

0

1

1

117

6

11101001

01011111

11110000

11101110

1

1

1

0

1

0

0

1

0

1

0

1

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

0

1

1

1

0

118

7

11100111

11110011

11101100

01011111

1

1

1

0

0

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

1

1

0

0

0

1

0

1

1

1

1

1

119

8

11100001

11110011

11100010

00101110

1

1

1

0

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

0

0

0

1

0

0

0

1

0

1

1

1

0

Клі­ти­ни I111:AN119  = ОСТАТ(I69+I$60;2) – <Ctrl + Enter>

Клі­ти­ни D111:D119  = СЦЕПИТЬ(ТЕКСТ(I111;"0");ТЕКСТ(J111;"0");ТЕКСТ(K111;"0");…;ТЕКСТ(P111;"0")) – <Ctrl + Enter>

… … … … …

Клі­ти­ни G111:G119  = СЦЕПИТЬ(ТЕКСТ(AG111;"0");ТЕКСТ(AH111;"0");ТЕКСТ(AI111;"0");…;ТЕКСТ(AN111;"0")) – <Ctrl + Enter>

121

B

C

D

E

F

G

H

122

Dec

123

1

2

3

4

124

0

205

224

95

242

125

1

229

95

233

95

126

2

227

238

235

238

127

3

226

224

44

95

128

4

249

238

225

95

129

5

243

95

237

179

130

6

233

95

240

238

131

7

231

243

236

95

132

8

225

243

226

46

133

134

№ п/п

1

2

3

4

135

0

Н

а

_

т

На_т

136

1

е

_

й

_

е_й_

137

2

г

о

л

о

голо

138

3

в

а

,

_

ва,_

139

4

щ

о

б

_

щоб_

140

5

у

_

н

і

у_ні

141

6

й

_

р

о

й_ро

142

7

з

у

м

_

зум_

143

8

б

у

в

.

був.

144

145

На_те_й_голова,_щоб_у_ній_розум_був.

146

Кількість символів:

36

Клі­ти­ни D124:G132  = ДВ.В.ДЕС(D111) – <Ctrl + Enter>

Клі­ти­ни D135:G143  = СИМВОЛ(D124) – <Ctrl + Enter>

Клі­ти­ни H135:H143  = СЦЕПИТЬ(D135;E135;F135;G135) – <Ctrl + Enter>

Клі­ти­на D145  = СЦЕПИТЬ(H135;H136;H137;H138;H139;H140;H141;H142;H143) – <Enter>

Клі­ти­на F146  = ДЛСТР(D145) – <Enter>

7