Nh qiymətindən asılı olaraq, r, kəmiyyətinin qiymətləri aşağıdakı cədvəldə göstərilmişdir:
N*
|
rı
|
r2
|
r3
|
4
6
8
|
1
1
1
|
2
2
3
|
3
3
4
|
Cədvəldən göründüyü kimi, burada 128 və 192 bitlik sətirlər üçün sürüşmənin qiyməti eyni, 256 bitlik sətirlər üçün isə fərqlidir.
MixColumns prosedurası
Bu prosedura zamanı tərsi olan xətti çevirmə vasitəsilə State cədvəlinin sütunlarının baytlan qarışdırılır (şək.5.13). Bunun üçün cədvəlin hər bir sütunu ayrı-ayrılıqda emal olunur. Sütunlardan dörd dərəcəli polinom düzəldilir və bu polinom GF(28) meydanında x4+l moduluna görə təsbit edilmiş c(x)=3xi+x2+x+l çoxhədlisinə vurulur:
b(x) = c(x) • a(x) mod(x4 +1).
Şək.5.13. MixColumns prosedurası
Bu ifadəni matris şəklində aşağıdakı kimi təsvir etmək olar:
02
|
03
|
01
|
01
|
01
|
02
|
03
|
01
|
01
|
01
|
02
|
03
|
03
|
01
|
01
|
01
|
b0
b2
b.
ao ax a2 a3
x4+l və c(x) çoxhədliləri qarşılıqlı sadə olduğuna görə vurma əməliyyatmın tərsi vardır.
AddRoundKey prosedurası
Bu prosedurada hər itersiyada State blokuna itersiya açarı (RoundKey) əlavə edilir (şək.5.14).
flo.o
|
a0,ı
|
«0,2
|
«0,3
|
«1,0
|
«1,1
|
|
«1,3
|
«2,0
|
«2,1
|
«2,2-
|
|
«3,0
|
«3,1
|
«3,2
|
«3,3
|
bo,o
|
bo,ı
|
bo,2
|
bo,?
|
bifl
|
Aı_
|
b\,2
|
bl,3
|
^2,0
|
^2,2
|
^2,2
|
^2,3
|
^3,0
|
ÄL
|
^3,2
|
b?,?
|
ko,o
|
ko,\
|
ko,2
|
«0,3
|
k\,o
|
k\,\
|
k}.2
|
«1,3
|
^2,0
|
&2,1
|
k?,2~
|
-t^3
|
k?,o
|
^3,1
|
k?,2
|
«3,3
|
Şək.5.14. AddRoundKey prosedurası
RoundKey açan KeyExpansion prosedurası vasitəsilə almır. Onun uzunluğu State blokunun uzunluğuna bərabərdir. AddRoundKey prosedurası State blokunun hər bir baytı ilə açarm uyğun baytını 2 moduluna görə bit-bit toplayır. Bu çevirmənin tərsi elə həmin çevirmənin özüdür.
KeyExpansion prosedurası
Bu prosedura iki alt proseduradan ibarətdir. Birinci alt prosedura kriptoqrafik şifrləmə açarının K genişlənməsinə xidmət edir. Bütövlükdə alqoritm üçün Nb *(Nr +1) sözdən (sözün uzunluğu 4 baytdır) ibarət genişlənmiş açar (M sözdən ibarət 1 başlanğıc açar alqoritmin girişi üçün və M sözdən ibarət Nr ədəd iterasiya açan itersiyalar üçün) tələb olunur. Məsələn, 256 bit uzunluqlu blok və 14 itersiya üçün genişlənmiş açarm uzunluğu 128*(14+l)=1920 bit olar.
KeyExpansion prosedurasının girişinə ilkin məxfi şifrləmə açarı K (CipherKey) verilir və nəticədə Nb *(Nr +1) sayda sözdən ibarət xətti massiv alınır. Bu massivi {w;},z =0,Nb -(Nr +1) kimi işarə olunur.
Genişlənmiş açar aşağıdakı kimi formalaşdırılır. Onun ilk M sözü ilkin şifrləmə açarını (CipherKey) özündə saxlayır. Onun hər bir növbəti vvz sözü (1 mövqe əvvəlki) və w._Nk (N* mövqe əvvəlki) sözlərinin 2 moduluna görə toplanması nəticəsində alınır. M ədədinə bölünən mövqedə olan sözlər aşağıdakı qaydada müəyyən edilir: əvvəlcə w;_j sözü Ib sola doğru dövri sürüşdürülür və bu iterasiya üçün qəbul edilmiş Rcoıij sabiti ilə 2 moduluna görə toplanır, bundan soma alman nəticə w * sözü ilə 2 moduluna görə toplanır.
İkinci alt prosedura iterasiya açarının seçilməsini təmin edir. Belə ki, i saylı iterasiyanm açarını almaq üçün
genişlənmiş açar massivindən w[#6-z]-dən • (z 4-1)]
-yə qədər olan sözlər götürülür.
Rusiya şifrləmə standartı - TOCT 28147-89
TOCT 28147-89 - 1990-cı ildə qəbul edilmiş Rusiya (Sovet) simmetrik şifrləmə standartıdır. O, dövlət orqanları, təşkilatlan, bank və fəaliyyəti dövlətin informasiya təhlükəsizliyinin təmin edilməsi ilə bağlı olan müəssisələr üçün məcburi, digər təşkilatlar üçün isə tövsiyə xarakteri daşıyır.
Alqoritm aparat və proqram reallaşdınlması üçün nəzərdə tutulmuşdur və qorunan informasiyanın məxfilik dərəcəsinə heç bir məhdudiyyət qoyulmur. Onun işlənib hazırlanması zamanı mövcud dünya təcrübəsi, o cümlədən DES alqoritminin çatışmazlıqları və reallaşdırılmamış imkanları nəzərə alınmışdır.
TOCT 28147-89 standartı bloklarla şifrləmə alqoritmi- dir. Alqoritmdə emal edilən şifrlənən blokun uzunluğu 64 bit, şifrləmə açarının uzunluğu 256 bit, şifrləmə çevirmələrinin sayı isə 32 dövrdür. Alqoritm Feystel şəbəkəsinə əsaslanmışdır.
Bloklarla şifrləmə rejimində şifrləmə üçün əvvəlcə ilkin mətn iki yerə bölünür: A - kiçik bitlər və B - böyük bitlər. Dövrün z'-ci itersiyasmda K, alt açarından istifadə etməklə aşağıdakı hesablamalar yerinə yetirilir:
Aİ+İ=Bİ®F{Aİ,Kİ),
- bm=a;.
Şifrləmə alqoritminin 32 dövrünün sonunda alman Ä33 və B33 blokları birləşdirilir və alman ardıcıllıq şifrləmənin nəticəsi olur. Bu zaman nəzərə alınmalıdır ki, Ä33 - yekun ardıcıllığının böyük bitlərini, B33 isə kiçik bitlərini təşkil edir.
TOCT 28147-89 kriptoqrafik şifrləmə alqoritminin ümumi struktur sxemi 5.15 saylı şəkildə verilmişdir. Şəkildən göründüyü kimi, kriptosxem aşağıdakıları özündə birləşdirir:
AYQ - uzunluğu 256 bit olan açar yaddaş qurğusu, AYQ səkkiz ədəd 32 bitlik yığıcı Xo, X3, X2, X3, X4, X5, X6, X7 registrlərindən ibarətdir;
M, N2, N3, A4, N5, N6 - 32 bitlik yığıcı registrlər, N5 və N6 registrlərinə əvvəlcədən C2 və G sabitləri yazılır;
SMı, SM2, SM3, SM±, SM5 -32 bitlik cəmləyicilər, SM3 və SM3 - 232 moduluna, SM2 - 2 moduluna, SM3 - (232-l) moduluna, SM5 - bitlərin sayma məhdudiyyət qoyulmadan 2 moduluna görə toplamam yerinə yetirir;
K - əvəzetmə bloku;
R - böyük dərəcəyə doğru 11 addım dövri sürüşmə registri.
K əvəzetmə bloku hər biri 64 bitlik yaddaşa malik olan səkkiz ədəd K3, K2, K3, K±, K5, K6. K7 və K$ əvəzetmə qovşağından ibarətdir. Əvəzetmə blokuna daxil olan 32 bitlik vektor ardıcıl gələn səkkiz ədəd 4 bitlik alt vektorlara bölünür. Bu alt vektorlar da öz növbəsində əvəzetmə cədvəlinin 16 ədədi özündə saxlayan və S-blok adlanan qovşaqlarının girişinə verilir. K3 - birinci S- blokun, K2 - ikinci S-blokun girişinə və s. düşür. Alt vektorun qiyməti S-blokda ədədin mövqeyini müəyyən edir. Sayı alt vektorların sayma, yəni səkkizə bərabər olan S-bloklar daxil olan alt vektorun 0-la 15 arasında müəyyən ədədə çevrilməsini təmin edir.
Şək.5.15. TOCT 28147-89 alqoritminin struktur sxemi
S-blok {7, 3, 11, 1, 9, 14, 6, 0, 5, 12, 2, 15, 4, 8, 10, 13} şəklində olarsa, onda onun girişinə 1 verildikdə çıxışda 7, 4 verildikdə 1, 9 verildikdə 5 və s. almar.
Sonda, alınmış bütün səkkiz ədəd 4 bitlik çıxış alt vektorlar ardıcıl olaraq birləşdirilir və 32 bitlik yekun vektoru alınır. Bu vektor isə 11 addım böyük dərəcəli bitə doğru dövri olaraq sürüşdürülür.
Qeyd etmək lazımdır ki, AYQ və K açarının, eləcə də S-bloklanmn əvəz edilməsi cədvəlinin doldurulmasım təmin edən açarlar məxfi hesab olunurlar və müəyyən olunmuş qaydada verilirlər.
Göründüyü kimi, alqoritmin reallaşdırılması zamanı S-bloklar müxtəlif ola bilər, yəni əvəzetmə cədvəli fərqli seçilə bilər. TOCT P34.11-94 standartında yoxlama məqsədilə aşağıdakı S-bloklar təklif olunur:
Sı
|
4
|
10
|
9
|
2
|
13
|
8
|
0
|
14
|
6
|
11
|
1
|
12
|
7
|
15
|
5
|
3
|
s2
|
14
|
11
|
4
|
12
|
6
|
13
|
15
|
10
|
2
|
3
|
8
|
1
|
0
|
7
|
5
|
9
|
s3
|
5
|
8
|
1
|
13
|
10
|
3
|
4
|
2
|
14
|
15
|
12
|
7
|
6
|
0
|
9
|
11
|
s4
|
7
|
13
|
10
|
1
|
0
|
8
|
9
|
15
|
14
|
4
|
6
|
12
|
11
|
2
|
5
|
3
|
s5
|
6
|
12
|
7
|
1
|
5
|
15
|
13
|
8
|
4
|
10
|
9
|
14
|
0
|
3
|
11
|
2
|
s6
|
4
|
11
|
10
|
0
|
7
|
2
|
1
|
13
|
3
|
6
|
8
|
5
|
9
|
12
|
15
|
14
|
S7
|
13
|
11
|
4
|
1
|
3
|
15
|
5
|
9
|
0
|
10
|
14
|
7
|
6
|
8
|
2
|
12
|
s8
|
1
|
15
|
13
|
0
|
5
|
7
|
10
|
4
|
9
|
2
|
3
|
14
|
6
|
11
|
8
|
12
|
TOCT 28147-89 standartında kriptoqrafik şifrləmə sisteminin dörd iş rejimi nəzərdə tutulmuşdur:
sadə əvəzetmə rejimi (şək.5.16);
qammalaşdırma rejimi (şək.5.17);
əks əlaqə ilə qammalaşdırma rejimi (şək.5.18);
imitasiya əlavə etməsi rejimi.
Şək.5.16. Sadə əvəzetmə rejimi
Şək.5.18. Əks əlaqə ilə qammalaşdırma rejimi
Şək.5.17. Qammalaşdırma rejimi
TOCT 28147-89 standartının müsbət cəhətlərinə real- laşdırmanm effektivliyi, yüksək sürəti, yalan verilənlərin yeridilməsindən qorunanın olması, bütün dörd rejimdə dövrlərin eyni olması və s. amilləri aid etmək olar.
5.15. İkiaçarlı kriptoqrafik sistemlər
RSA kriptoqrafik sistemi
RSA alqoritmi Massaçuset Texnoloji İnstitutunun üç alimi - R.Rayvest (Rivest), A.Şamir (Shamir) və A.Adleman (Adleman) tərəfindən 1978-ci ildə işlənib təklif olunmuşdur. Alqoritm adını məhz həmin alimlərin soyadlarının birinci hərflərinin birləşməsindən almışdır. RSA həm şifrləmə, həm də elektron imza üçün tətbiq olunan ilk mükəmməl açıq açarlı kriptoqrafik alqoritmdir. Onun elektron imza texnologiyasında reallaşdınlmasına növbəti fəsildə baxılacaqdır. Burada yalnız məlumatın şifrlənməsi alqoritminə baxılır.
RSA alqoritmi hesablama baxımından biristiqamətli funksiya olan böyük sadə ədədlərin çoxhədlilərə ayrılması və hasili məsələsinə əsaslanmışdır. Beləliklə, RSA alqo- ritmini etibarlılığı böyük ədədlərin çoxhədlilərə ayrılması və diskret loqarifmin hesablanmasının mürəkkəbliyi ilə müəyyən edilir.
Qeyd edildiyi kimi, açıq açarlı kriptoqrafik sistemlərdə hər bir iştirakçı iki açara - açıq açara (public key) və gizli açara (secret key) malik olur. RSA kriptoqrafik sistemində hər bir iştirakçı özünün hər biri iki ədəddən ibarət olan açıq və məxfi açarlarım müstəqil şəkildə yaradır. Hər bir iştirakçının açıq və gizli açarları qarşılıqlı uzlaşdırılmış olur, belə ki, onlar bir-birlərinin qarşılıqlı əksini təşkil edir. Onlar məxfi açarlarını gizli saxlayır, açıq açarlarım isə sərbəst şəkildə hamıya verir və yayırlar.
RSA kriptoqrafik sistemində T açıq mətni, S şifrmətni, Ke açıq açarı və Kd gizli açan
Z„={0,l,2,...,A-l}
tam ədədlər çoxluğuna daxildir. Burada N=P*Q - modul, P və Q - təsadüfi böyük sadə ədədlərdir. Maksimal təhlükəsizliyi təmin etmək üçün bu ədədləri eyni uzunluqda seçirlər və gizli saxlayırlar.
Tutaq ki, iki istifadəçi - göndərən tərəf (birinci istifadəçi) və alan tərəf (ikinci istifadəçi) RSA kriptoqrafik sistemi vasitəsilə məlumat mübadiləsi aparmaq istəyirlər. Məlumatın şifrlənməsi və şifrin açılması proseduraları alan tərəfin açıq və gizli açarlarına əsasən həyata keçirilir.
Alan tərəfin (ikinci istifadəçinin) açarlarının generasiyası. İkinci istifadəçi:
Təsadüfi böyük sadə P və Q ədədlərini seçir.
A modulunun qiymətini hesablayır: N=P*Q.
Ey ler funksiyasının qiymətinin hesablayır:
^(A) = (P-1)(2-1).
cp(N)~ O-dan A-ə qədər intervalda olan N ilə qarşılıqlı sadə müsbət ədədlərin sayım göstərir.
Ke açıq açarının aşağıdakı şərtləri ödəyən qiymətini seçir:
1 < Ke < cp(N), ƏBOB (Ke,
1.
İkinci şərt Ke və
ədədlərinin qarşılıqlı sadə olduğunu göstərir.
Genişlənmiş Evklid alqoritmindən istifadə etməklə Kd *Ke = l(mod
Kd məxfi açarını hesablayır:
Kd = K;1(mod^(A)).
(Ke,N) ədədləri cütünü açıq (qorunmayan) kanalla birinci istifadəçiyə göndərir.
Göndərən şəxs tərəfindən məlumatın şifrlənməsi.
Birinci istifadəçi:
T ilkin mətnini 0,l,2,...,A-l intervahnda olan tam ədədlər ardıcıllığı şəklində təqdim edilən T; bloklarına bölür.
Ədədlər ardıcıllığı şəklində təqdim olunmuş T; mətn bloklarım ikinci istifadəçinin Ke açıq açarım istifadə etməklə
S. = T*'(modN) düsturuna əsasən şifrləyir.
Şifrləmə nəticəsində alınmış Sı, S2, S3,..., S,,... şifrmətnlərini ikinci istifadəçiyə göndərir.
Alan şəxs tərəfindən şifrin açılması. İkinci istifadəçi:
Özünün (Kd,N) gizli açarını istifadə etməklə birinci istifadəçidən aldığı Sı, S2, S3,..., S,,... şifrmətnlərini
7; = (modN) düsturuna əsasən açır.
Alınmış Tb T2, T3,..., ədədlər ardıcıllıqlarından ibarət blokları ardıcıl birləşdirir və ilkin T mətnini alır.
RSA alqoritminin iş prinsipini əyani nümayiş etdirmək üçün aşağıdakı nümunəyə baxaq.
İkinci istifadəçi:
P=3557 və 2=2579 ədədlərini seçir.
A=P*(2=3557*2579=9173503 qiymətini hesablayır.
N=9173503 üçün Eyler funksiyasının qiymətini hesablayır:
$9(9173503)=3556*2578=9167368.
Ke açıq açarının
l<£e<9167368, ƏB()B(^.9167368)=!
şərtləri ödəyən qiymətini seçir. Məsələn, Ke=3.
Genişlənmiş Evklid alqoritinindən istifadə etməklə Kd məxfi açarım hesablayır:
7^=6111579.
(Ke,N)=(3,9173503) ədədləri cütünü açıq (qorunmayan) kanalla birinci istifadəçiyə göndərir.
ÇKrf,7V)=(6111579,9173503) ədədlərini gizli açar kimi məxfi saxlayır.
Birinci istifadəçi:
T ilkin mətnini 0,1,2,...,31 intervalmda olan tam ədədlər ardıcıllığı şəklində təqdim edir. Tutaq ki, ilkin mətn T=“1111H”.
İkinci istifadəçinin (Ke,N)=(3,9173503) açıq açarım istifadə etməklə T mətnini şifrləyir:
5 = Tk‘ (modN) =1111113 mod 9173503=4051753.
5=4051753 ədədlər ardıcıllığını şiffmətn kimi ikinci istifadəçiyə göndərir.
İkinci istifadəçi:
Özünün (Kd,N)=(6111579,9173503) gizli açarını istifadə etməklə birinci istifadəçidən aldığı 5=4051753 şifrmətnini açır:
T = SKd (modN) =40517536111579 mod 9173503=111111.
Əl-Qamal şifrləmə alqoritmi
Əl-Qamal şifrləmə alqoritmi 1985-ci ildə işlənib hazırlanmış və təklif olunmuşdur. Bu alqoritm məlumatın şifrlənməsi ilə yanaşı elektron imzanın reallaşdırılması üçün istifadə oluna bilər. Onun davamlılığı sonlu meydanda diskret loqarifmin hesablanmasının mürəkkəbliyinə əsaslanmışdır.
Alqoritmin iş prinsipi aşağıdakından ibarətdir:
L Şifrləmə açarlarının (açıq və gizli açarların) generasiyası.
Uzunluğu n olan böyük sadə P ədədi generasiya olunur.
İxtiyari G
şərtini ödəyən böyük tam ədəd götürülür.
Aşağıdakı şərtləri ödəyən təsadüfi böyük tam X ədədi götürülür.
• X və (P-l) ədədləri qarşılıqlı sadə ədədlərdir.
Y =GÄnıod P qiyməti hesablanır.
Alman (P,G,Y) ədədləri açıq açar hesab olunur və digər istifadəçilər arasında paylana bilər, X ədədi isə məxfi açardır və gizli saxlanılır.
Məlumatın şifrlənməsi.
Aşağıdakı şərtlərə cavab verən təsadüfi tam K ədədi seçilir:
1
K və (P-l) ədədləri qarşılıqlı sadə ədədlərdir.
T ilkin mətninə görə A və B ədədləri hesablanır:
A=GÄmod P,
B=YxTmo& P.
S=(A,B) ədədləri cütü şiffmətn olur. Göründüyü kimi, şiffmətnin uzunluğu ilkin T mətnin uzunluğundan iki dəfə böyük olur.
Şifrin açılması.
Alınmış S=(A,B) şifrmətninə əsasən
T=B/AxmodP
hesablanır. Aydındır ki, AX=GKX mod P olduğuna görə
b/ax=yk-t/ax= gkx-t/gkx=t,
olar, yəni T=B/AX mod P doğrudur.
Alqoritmin iş prinsipini əyani nümayiş etdirmək üçün aşağıdakı nümunəyə baxaq.
Açarların generasiyası.
7=13. G=3 ədədlərini və X=7 məxfi açarım seçək.
Açıq açan hesablayaq: 7=Gxmod P=31 mod 13=2187 mod 13=3.
Beləliklə, açıq açar Y=3 olar.
Şifrləmə.
7=8 götürək.
Hər hansı təsadüfi K=5 ədədini seçək. ƏBOB(Ä?,P- 1)=ƏBOB(5,12)=1, yəni onlar qarşılıqlı sadə ədəddirlər.
A və B ədədlərini hesablayaq:
A=GÄ' mod 7=35 mod 13=243 mod 13=9,
B=YKTmod P=35-8 mod 13=1944 mod 13=7.
Beləliklə, şifrmətn S=(A,B)=(9,7) olar.
Şifrin açılması.
Verilmiş düstura əsasən T mətnini hesablayaq:
7=7/AY mod P=7/97 mod 13=7/4782969 mod 13,
4782969-7=7 mod 13,
Bu bərabərlikdə T elə qiymət alır ki, onu 4782969 ədədinə hasilinin 13-ə bölünməsi nəticəsində qalıqda 7 qalsın:
7=8.
Qeyd etmək lazımdır ki, real şifrləmə sistemlərdə P ədədinin modulu qismində ikilik sistemdə 512-1024 bit uzunluqda ikilik ardıcıllıq şəklində təqdim oluna biləcək böyük tam ədəd götürülür.
FƏSİL
ELEKTRON İMZA
Dostları ilə paylaş: |