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

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

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

Bin

010110011010011000001110011001001011

01011001

89

10100110

166

00001110

14

01100100

100

Клі­ти­ни 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>

60

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

61

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

62

63

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

64

Bin Т2 + К1

65

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

66

0

0

1

1

0

0

0

0

0

1

1

0

0

1

0

0

0

1

0

1

0

0

1

0

0

1

0

1

1

0

0

0

0

67

1

0

1

0

0

1

0

0

0

0

1

1

1

0

1

1

1

0

0

0

1

0

0

1

0

0

0

0

1

1

1

0

1

68

2

0

1

0

0

1

1

1

0

1

1

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

1

0

1

1

0

0

69

3

0

1

0

0

1

1

1

1

1

1

0

0

1

0

0

0

1

1

0

1

0

1

1

1

0

0

0

1

1

1

0

1

70

4

0

1

0

1

0

1

0

0

1

1

0

0

0

1

1

0

0

0

0

1

1

0

1

0

0

0

0

1

1

1

0

1

71

5

0

1

0

1

1

1

1

0

0

1

1

1

0

1

1

1

0

0

0

1

0

1

1

0

1

1

1

1

0

0

0

1

72

6

0

1

0

0

0

1

0

0

0

1

1

1

0

1

1

1

0

0

0

0

1

0

1

1

1

0

1

0

1

1

0

0

73

7

0

1

0

0

1

0

1

0

1

1

0

1

1

0

1

1

0

0

0

1

0

1

1

1

0

0

0

1

1

1

0

1

74

8

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

1

0

0

0

1

1

0

0

1

0

1

1

0

1

1

0

0

75

76

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

77

Bin Т1

(Bin Т2 + К1) + К2

78

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

79

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

80

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

81

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

82

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

83

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

84

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

85

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

86

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

87

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

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

Клі­ти­ни I79:AN87  = ОСТАТ(I66+I$57;2) – <Ctrl + Enter>

Клі­ти­ни D79:D87  = СЦЕПИТЬ(ТЕКСТ(I79;"0");ТЕКСТ(J79;"0");ТЕКСТ(K79;"0");ТЕКСТ(L79;"0");…;ТЕКСТ(P79;"0")) – <Ctrl + Enter>

… … … … …

Клі­ти­ни G79:G87  = СЦЕПИТЬ(ТЕКСТ(AG79;"0");ТЕКСТ(AH79;"0");ТЕКСТ(AI79;"0");…;ТЕКСТ(AN79;"0")) – <Ctrl + Enter>

89

B

C

D

E

F

G

H

I

J

90

Dec

91

1

2

3

4

92

0

57

110

170

212

93

1

17

209

28

121

94

2

23

96

30

200

95

3

22

110

217

121

96

4

13

96

20

121

97

5

7

209

24

149

98

6

29

209

5

200

99

7

19

125

25

121

100

8

21

125

23

8

101

102

№ п/п

1

2

3

4

103

0

9

n

Є

Ф

9nЄФ

104

1

С

y

Сy

105

2

`

И

`‑И

106

3

n

Щ

y

nЩy

107

4

`

µ

y

`µy

108

5

С

С•

109

6

С

И

СИ

110

7

}

y

}y

111

8

§

}

§}

112

113

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

114

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

36

Клі­ти­ни D92:G100  = ДВ.В.ДЕС(D79) – <Ctrl + Enter>

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

Клі­ти­ни H103:H111  = СЦЕПИТЬ(D103;E103;F103;G103) – <Ctrl + Enter>

Клі­ти­на D113  = СЦЕПИТЬ(H103;H104;H105;H106;H107;H108;H109;H110;H111) – <Enter>

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

116

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

117

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

118

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

119

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

120

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

121

0

0

1

1

0

0

0

0

0

1

1

0

0

1

0

0

0

1

0

1

0

0

1

0

0

1

0

1

1

0

0

0

0

122

1

0

1

0

0

1

0

0

0

0

1

1

1

0

1

1

1

0

0

0

1

0

0

1

0

0

0

0

1

1

1

0

1

123

2

0

1

0

0

1

1

1

0

1

1

0

0

0

1

1

0

0

0

0

1

0

0

0

0

1

0

1

0

1

1

0

0

124

3

0

1

0

0

1

1

1

1

1

1

0

0

1

0

0

0

1

1

0

1

0

1

1

1

0

0

0

1

1

1

0

1

125

4

0

1

0

1

0

1

0

0

1

1

0

0

0

1

1

0

0

0

0

1

1

0

1

0

0

0

0

1

1

1

0

1

126

5

0

1

0

1

1

1

1

0

0

1

1

1

0

1

1

1

0

0

0

1

0

1

1

0

1

1

1

1

0

0

0

1

127

6

0

1

0

0

0

1

0

0

0

1

1

1

0

1

1

1

0

0

0

0

1

0

1

1

1

0

1

0

1

1

0

0

128

7

0

1

0

0

1

0

1

0

1

1

0

1

1

0

1

1

0

0

0

1

0

1

1

1

0

0

0

1

1

1

0

1

129

8

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

1

0

0

0

1

1

0

0

1

0

1

1

0

1

1

0

0

130

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

131

Bin Т1

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

132

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

133

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

134

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

135

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

136

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

137

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

138

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

139

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

140

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

141

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

Клі­ти­ни I121:AN129  = ОСТАТ(I79+I$57;2) – <Ctrl + Enter>

Клі­ти­ни I133:AN141  = ОСТАТ(I121+I$49;2) – <Ctrl + Enter>

Клі­ти­ни D133:D141  = СЦЕПИТЬ(ТЕКСТ(I133;"0");ТЕКСТ(J133;"0");ТЕКСТ(K133;"0");…;ТЕКСТ(P133;"0")) – <Ctrl + Enter>

… … … … …

Клі­ти­ни G133:G141  = СЦЕПИТЬ(ТЕКСТ(AG133;"0");ТЕКСТ(AH133;"0");ТЕКСТ(AI133;"0");…;ТЕКСТ(AN133;"0")) – <Ctrl + Enter>

143

B

C

D

E

F

G

H

144

Dec

145

1

2

3

4

146

0

205

224

95

242

147

1

229

95

233

95

148

2

227

238

235

238

149

3

226

224

44

95

150

4

249

238

225

95

151

5

243

95

237

179

152

6

233

95

240

238

153

7

231

243

236

95

154

8

225

243

226

46

155

156

№ п/п

1

2

3

4

157

0

Н

а

_

т

На_т

158

1

е

_

й

_

е_й_

159

2

г

о

л

о

голо

160

3

в

а

,

_

ва,_

161

4

щ

о

б

_

щоб_

162

5

у

_

н

і

у_ні

163

6

й

_

р

о

й_ро

164

7

з

у

м

_

зум_

165

8

б

у

в

.

був.

166

167

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

168

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

36

Клі­ти­ни D146:G154  = ДВ.В.ДЕС(D133) – <Ctrl + Enter>

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

Клі­ти­ни H157:H165  = СЦЕПИТЬ(D157;E157;F157;G157) – <Ctrl + Enter>

Клі­ти­на D167  = СЦЕПИТЬ(H157;H158;H159;H160;H161;H162;H163;H164;H165) – <Enter>

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