Блоктық шифрлар. Блоктық шифрлау кезінде бастапқы мәтін ұзындығы тұрақты бекітілген блоктарға бөлінеді. Блок мәтіндері бір-біріне қатыссыз бөлек шифрланады. Шифрлау үшін барлық блоктарға бір ғана кілт қолданылады. Шифрлау тәсілдері ауыстыру, алмастыру, құрастырма шифрлар болып бөлінеді. Бұл бөлімшеде аталған шифрларды толығырақ қарастырайық.
Ауыстыру шифры (подстановка)
Ауыстыру шифры белгілі бір ереженің көмегімен бастапқы мәтін символдарын басқа символдармен ауыстыру арқылы анықталады. Егер шифрлау үшін бір әліпби қолданса, онда ол көп әліпбиді немесе полиәліпбилі деп аталады. Бір әліпбиді шифрдің ең қарапайым мысалы Цезарь шифры.
Әліпбидің әрбір символына сан сәйкес қойылсын. Мысалы:
A = 0, B = 1, C = 2, ..., Y = 25
Цезарь хаттарды келесі формуланың көмегімен шифрлаған:
Ciphertext_letter = (plaintext_letter + 3) mod n.
Дешифрлау үшін келесі формуланы қолданған:
Plaintext_letter = (ciphertext_lrtter - 3) mod n.
Мұндағырlaintext_letter – ашық мәтіндегі символға сәйкес сан, сiphertext_letter – шифр мәтіндегі символға сәйкес сан, n - әліпбидегі белгілер саны. Қолайлылық үшін біз ағылшын әліпбиін қолданамыз, яғни n = 26.
Цезарь шифрын жалпылауға болады. Келесі формуланың
Ciphertext_letter = (plaintext_letter + 3) mod n.
орнына
Ciphertext_letter = (plaintext_letter + k) mod n.
Формуласын қолданайық. Мұндағыk – шифрлау кілті. Шифрлаудың бұл тәсілі әліпбиді тұрақты позицияға жылжытумен пара пар.
Тағы да бір моно әліпбилік шифр қарастырайық. Мысалға «computation» деген түйінді сөз таңдап алайық. Шифр әліпбидің алғашқы символдары ретінде кілт символдарын алады. Қайталанатын символдар әліпбиге бір реттен артық енбеуі тиіс. Келесі символдар алғашқы әліпбиге сәйкес жазылады. Әр символ бір рет қолданылады.
A
|
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
|
c
|
o
|
m
|
p
|
u
|
t
|
a
|
I
|
n
|
b
|
d
|
e
|
f
|
g
|
h
|
j
|
k
|
l
|
r
|
g
|
s
|
v
|
w
|
x
|
y
|
z
|
Келтірілген мысалға назар аударып қарасаңыз, түйінді сөзде екінші ‘t’ және ‘o’ символдары қалдырылып кеткен. Тәсілдің тиімділігі шифр мәтінмен ашық мәтіннің символдарының ара-қашықтығы әр символ үшін бөлек болатындығында.
Цезарь тәсіліндегі қайталанушылықтан басқадай жолмен де құтылса болады. P көбейткішін және k жылжу коэффицентін енгізейік.
Ciphertext_letter = (р*plaintext_letter + k) mod n.
Мысалы, егер р = 5 және k = 3 болса, алатынымыз:
A
|
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
|
d
|
i
|
n
|
s
|
x
|
c
|
h
|
M
|
r
|
w
|
d
|
g
|
i
|
q
|
v
|
a
|
f
|
k
|
p
|
u
|
z
|
e
|
j
|
o
|
r
|
y
|
Моноәліпбилік шифрлардың үлкен кемшілігі бар. Оларға жиілік анализін қолдануға болады. Ол әр символдың мәтінде қайталану жиілігі әр қалай болады. Мысалға орыс тілінде «о» әрпі «ф» әрпімен салыстырғанда 45 есе, ал «э» әрпінен 30 есе жиірек кездеседі. Егер мәтін ұзындығы жеткілікті болса, жиілік анализін қолданып ашық мәтінді тауып алуға болады.
Егер ашық мәтіндегі бірдей символдар шифр әліпбидегі әр түрлі символдармен шифрланатын болса, онда әрбір символдың қайталану жиілігі де әртүрлі болады.
Қарапайым мысал ретінде екі С1 және С2 моноәліпбилік шифрларын алайық. Ашық мәтіннің барлық тақ символдарын С1 шифрәліпбиімен, ал қалғандарын С2 шифрәліпбиімен түрлендірейік. С1 үшін р = 5 және k = 3 болсын:
A
|
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
|
d
|
i
|
n
|
s
|
x
|
c
|
h
|
M
|
r
|
w
|
b
|
g
|
l
|
q
|
v
|
a
|
f
|
k
|
p
|
u
|
z
|
e
|
j
|
o
|
t
|
y
|
C2 үшін p=10 және k=2 болсын:
A
|
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
|
c
|
n
|
y
|
j
|
u
|
f
|
q
|
B
|
m
|
x
|
i
|
t
|
e
|
p
|
a
|
l
|
w
|
h
|
s
|
d
|
o
|
z
|
k
|
v
|
g
|
r
|
Мынадай сөйлемді таңдап алсақ:
WE ARE LEANING CRYPTOGRAPHY
Келесі шифрмәтін аламыз
judh x txcqm qqnht luahh dlmg
Байқасаңыздар ашық текстегі «G» символы бірінші кездескенде «q» символымен, ал келесі жолы «h» символымен шифрланады. Яғни бір символ әртүрлі жолдармен шифрланып отыр.
Әйгілі Виженер шифры да көп әліпбиді ауыстыру шифрына жатады. Шифрлау өлшемі nxn матрицасының көмегімен жүргізіледі. Кестенің бірінші жолында әліпбидің символдары түгелдей жазылады. Келесі жолдары алдыңғы жолдары бір символға солға жылжыту арқылы табылады.
Вижинер кестесі 1-кестесінде көрсетілген:
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
N
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C С
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
U
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
V
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
W
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
X
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
Y
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Z
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
N
|
U
|
V
|
W
|
X
|
Y
|
2-сурет. Вижинер кестесі.
Хабарларды шифрлау үшін:
1)Түйінді сөз таңдайды. Мысалға “life”сөзін таңдайық.
2) Ашық мәтін символдарының астынан кілт символдарын жазады.
Егер кілт хабардан қысқа болса, оны бірнеше рет қайталайды.
W
|
E
|
A
|
R
|
E
|
L
|
E
|
A
|
N
|
I
|
N
|
G
|
C
|
R
|
Y
|
P
|
T
|
O
|
G
|
R
|
A
|
P
|
H
|
Y
|
|
i
|
f
|
e
|
l
|
i
|
F
|
e
|
l
|
i
|
f
|
e
|
l
|
i
|
f
|
e
|
l
|
i
|
f
|
e
|
l
|
i
|
f
|
e
|
(*)
(**)
3)Шифрмәтін символы Вижинер кестесі көмегімен ізделінеді. Ол үшін (*) тізбегіндегі символды кесте жолынан, ал (**) тізбегіндегі символды кесте бағанасынан іздейсіз. Шифрланған символ сол бағана мен жолдың қиылысында орналасқан. Сонда келесі шифр мәтінін табамыз:
hmfvprjey qskn zdte wlvl xmc
3-суретте Вижинер шифрының принципы көрсетілген. Шифрмәтін алдыңғы үш әрпі қалың шрифтпен көрсетілген.
A
|
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
|
l
|
m
|
n
|
o
|
p
|
q
|
a
|
S
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
h
|
i
|
j
|
k
|
i
|
j
|
k
|
l
|
m
|
n
|
o
|
P
|
q
|
r
|
s
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
h
|
f
|
g
|
h
|
i
|
j
|
k
|
l
|
M
|
n
|
o
|
p
|
q
|
r
|
s
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
a
|
b
|
c
|
d
|
e
|
e
|
f
|
g
|
h
|
i
|
j
|
k
|
L
|
m
|
n
|
o
|
p
|
q
|
r
|
s
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
a
|
b
|
c
|
d
|
3-сурет. Вижинер шифрының принципы.
Орын алмастыру шифры. Орын алмастыру шифрлері символдардың орналасу позициясын ғана өзгертеді. Ең қарапайым шифр – жай бағаналық орын алмастыру шифрын келтірейік.
Шифрдің бұл түрінде мәтін ұзындығы біркелкі блоктарға алдын ала бөлініп горизонталь бағытта бірнеше рет жазылады. Шифрмәтінді алу үшін мәтінді верикал бағытта оқу керек. Дешифрлау үшін шифрмәтін вертикал бағытта жазылып, ашық мәтін горизонтал бағытта оқылады. Мысал. Ашық мәтін ретінде келесі сөйлемді алайық:
Достарыңызбен бөлісу: |