Әр түрлі ақпарат көздерінен кейбір бағдарламалардың «бұзылғандығы» туралы хабарларды естіп жатамыз. Бұл бағдарламалар көмегімен ақпараттарды қорғауға болады дегенге сенімсіздік тудырады. Кез-келген криптожүйенің тиімділігі оның шифрленген хабарды талдауға беріктігіне тәуелді. Ал жүйенің криптографиялық беріктік деңгейі оны құрған бағдарламашыларға және де криптоаналитиктердің мүмкіндіктеріне де тәуелді. Қазіргі кезде жақсы, белгілі беріктігі математикалық тұрғыдан тексерілген алгоритмдер жеткілікті. Оларға DES, RSA, TOST алгоритмдерін жатқызуға болады. Криптожүйелердің сенімсіз болуының негізгі себептері: Қарапайым алгоритмдерді қолдану;
Алгоритмдерді қолдану кезіндегі қателіктер;
Адам факторы.
Криптоанализ математикалық әдістерге негізделген болуы мүмкін. Мысал ретінде орынауыстыру және ауыстыру шифрлері қалай талдануын қарастырайық. Бұл жерде символдардың алфавиттегі статистикалық қасиеттері жиі қолданылады. Мысалы, моноалфавиттік орын ауыстыру шифрінде мүмкін болған орын ауыстырулар саны 26!=4*1026 ге тең. Осыған қарамай бұл шифр берік емес. Оның себептері: Шифртекстте символдардың және символдар тобының статистикалық
қасиеттері сақталынады;
Кез-келген тіл үшін әріптердің кездесу жиілігі әр түрлі.
1 - Кесте. Орыс алфавитінде жазылған тексттерде әріптер кездесу жиілігі
Әріп
Ықтималдық
Әріп
Ықтималдық
Әріп
Ықтималдық
Әріп
Ықтималдық
Пробел
0,175
Р
0,040
Я
0,018
X
0,009
О
0,090
В
0,038
Ы
0.016
Ж
0,007
Е
0,072
Л
0,035
3
0,016
Ю
0,006
А
0,062
к
0,028
Ъ
0,014
Ш
0,006
И
0,062
M
0,026
Б
0,014
Ц
0,004
Н
0,053
Д
0,025
Г
0,013
Щ
0,003
Т
0,053
П
0,023
Ч
0,012
3
0,003
C
0,045
Y
0,021
Й
0,010
Ф
0,002
2 - Кесте. Ағылшын алфавитінде жазылған тексттерде әріптер кездесу жиілігі
Әріп
Ықтималдық
Әріп
Ықтималдық
Әріп
Ықтималдық
Е
0,123
L
0,040
В
0,016
Т
0,096
D
0,036
G
0,016
А
0,081
С
0,032
V
0,009
O
0,079
U
0,031
К
0,005
N
0,072
Р
0,023
Q
0,002
I
0,071
F
0,023
X
0,002
S
0,066
М
0,022
J
0,001
R
0,060
W
0,020
Z
0,001
Н
0,051
Y
0,019
Әріптердің кездесу жиілігін талдау арқылы хабар қай тілде жазылғандығын білуге болады. Мысалы, q әрібі ағылшын, неміс тілдерінде сирек кездеседі, ал итальян және француз тілдерінде жиі кездеседі. О әрібі орыс, ағылшын, итальян, испан, партугал тілдерінде жиі ол француз және неміс тілдерінде сирек қолданылады. Бұлардың барлығы қарапайым шифрлердің жылдам ашуға мүмкіндік береді. Компьютерде орындалуы. Төменде келтірілген бағдарлама ендірілген текст ішінде ағылшын және орын әріптерінің қайталану санын табады. uses crt, dos; var k, i, m: integer; text: array [1..1100] of char; kol, kole: integer; ale, Ae: char; al: array [1..32] of char; A: array [1..32] of char; label 1, 2; begin a1[1]:=’а'; al[8]:=,’з’,; al[15]:=’o’; al[21]:=,’ф’; al[27]:=,’ъ’,; al[2]:=,’б’; a1[9]:='и'; ai[16]:='п’; al[22]:='x'; a1[28]:='ы'; al[3]:='в'; al[10]:='й'; al[17]:='р'; a1[23]:='ц'; al[29]:='ь'; al[4]:='г'; а1[11]:='к'; al[18]:= 'с'; a1[24]:= 'ч'; al[30]:='э'; а1[5]:='д'; а1[12]:='л'; а1[19]:='т'; ві[25]:='ш'; а1[31]:='ю'; al[6]:= 'е'; а1[13]:='м'; а1[20]:='у'; al[26]:=’щ’; al[32]:=’я'; al[7]:= 'ж'; a1[14]:='н’; А[1]:='А'; А[8]:='З'; А[15]:='О'; А[21]:='Ф'; А[27]:='Ъ'; А[2]:='Б'; А[9]:='И'; А[16]:='П'; А[22]:='Х'; А[28]:='Ы'; А[3]:='В'; А[10]:='Й'; А[17]:='Р'; А[23]:='Ц'; А[29]:='Ь'; А[4]:='Г'; А[11]:='К'; А[18]:='С'; А[24]:='Ч'; А[30]:='Э'; А[5]:='Д'; А[12]:='Л'; А[19]:='Т'; А[25]:='Ш'; А[31]:='Ю'; А[6]:='Е'; А[13]:='М'; А[20]:='У'; А[26]:='Щ'; А[32]:='Я'; А[7]:='Ж'; А[14]:='Н'; clrscr; writeln (''); writeln ('Текст ендіріңіз. Соңында # символын '); writeln (' жәнеБКТБК - пернесін басыңыз '); writeln (''); k:=0; i:=0; 1: i:=i+1; k:=k+1; read (text[i]); if text[i]='#'then goto 2 else goto 1; 2: writeln (''); writeln (''); writeln ('Орысәріптері:'); for m:=1 to 32 do begin kol:=0; for i:=1 to k do begin if (text[i]=al[m]) or (text[i]=A[m]) then kol:=kol+1 end; if kol<>0 then write(A[m],al[m],'=',kol,' '); end; ale:='a'; Ae:='A'; writeln (''); writeln (''); writeln ('Ағылшынәріптері'); for m:=1 to 26 do begin kole:=0; for i:=1 to k-1 do begin if (text[i]=ale) or (text[i]=Ae) then kole:=kole+1 end; if kole<>0 then write(Ae,ale,'=',kole,' '); ale:=succ(ale); Ae:=succ(Ae) end; delay(60000); end.
Негізгі әдебиеттер: [2] - 154- 171 б.Бақылау сұрақтары: Криптография деген не?