Mühazirə 11. Kriptoqrafik heş funksiyalar
Adətən heş funksiya dedikdə ixtiyari uzunluqda məlumatı qeyd (fiksə) edilmiş uzunluqda heş koda çevirən funksiya başa düşülür. Heş funksiyaların statistik ekksperimentlərin aparılması, məntiqi qurğuların testdən keçirilməsi, sürətli axtarış alqoritmlərinin qurulması, verilənlər bazalarında yazıların oxlanması, saxlama və ötürülmə zamanı parolların mühafizəsi və s. zamanı da müxtəlif tətbiqləri var. Məsələn, müxtəlif uzunluqlu məlumatların böyük siyahılarında lazımi məlumatın sürətli axtarışını həyata keçirmək üçün bir-biri ilə məlumatları deyil, onların qısa heş qiymətlərini müqayisə etmək əlverişlidir.
Bir sıra kriptoqrafik tətbiqlərdə dözümlü kriptoqrafik heş funksiya zəruri elementdir. Heş funksiyalardan açıq açarların, rərəm sertifikatlarının, imzalanmış sənədlərin, rabitə seanslarında verilənlərin mənbəyinin həqiqiliyinin yoxlanması üçün, əməliyyat sistemlərinə daxil edilmiş parolların yoxlanması üçün, təsadüfi ədədlərin və seans açarlarının generasiyası üçün və s. istifadə olunur. Buna görə də heş funksiyalar dərhal çoxsaylı tədqiqatların predmeti olmuşdur.
Biristiqamətli heş funksiyalar və onların qurulma prinsipləri
Heş funksiya – tərsini almaq çox çətin olan informasiya çevrilməsi, yəni tərsi olmayan biristiqamətli funksiyadır. Heş funksiya (ingilis dilində “hash” – xırdalamaq və qarışdırmaq mənasını verir) imzalanan sənədi bir neçə on və ya yüz bitə qədər sıxmaq üçün nəzərdə tutulmuşdur.
Heş funksiya h(∙) kimi işarə olunur. O, arqument qismində ixtiyari uzunluqda olan T məlumatını (sənədini) qəbul edir və hesablamanın nəticəsi kimi təsbit edilmiş uzunluqlu heş qiyməti H=h(T) verir.
Qeyd olunmalıdır ki, heş funksiyanın qiyməti h(T) çox mürəkkəb şəkildə T sənədindən asılı olur və onu bərpa etməyə imkan vermir. Adətən, heş qiymət ixtiyari uzunluqlu ilkin məlumatın sıxılmış ikilik təqdimatından ibarət olur.
Heş funksiya aşağıdakı tələblərə cavab verməlidir:
heş funksiya ilkin mətndə bütün mümkün dəyişikliklərə (əlavəetmə, kəsib çıxarma, yerdəyişmə, əvəzet-mə və s.) həssas olmalıdır
heş funksiya tərsinin alınmasının qeyri-mümkünlüyü xassəsinə malik olmalıdır, başqa sözlə, heş funksiya-nın tələb olunan qiymətini verən T sənədinin seçilməsi məsələsi hesablama baxımından həll edilən ol-mamalıdır;
uzunluqlarından asılı olmadan iki müxtəlif sənədin heş funksiyalarının qiymətlərinin üst-üstə düşməsi eh-timalı çox kiçik olmalıdır.
Qeyd olunduğu kimi, heş funksiyaların əksəriyyəti biristiqamətli F(∙) funksiyası əsasında blokların qarışdırılması ilə simmetrik şifrləmə üsulları vasitəsilə qurulur. Bu funksiya girişdə n uzunluqlu iki qiymət (ilkin sənədin Ti bloku və əvvəlki blokunun Hi-1 heş qiyməti) verildikdə çıxışda n uzunluqlu qiyməti verir (şək.6.1).
Şəkildən göründüyü kimi, hər blokun heş funksiyası hesablanarkən əvvəlki blokun heş funksiyasının qiyməti istifadə olunur. Sonuncu blokun şifrlənməsinin nəticəsi əvvəlki bütün bloklardan asılı olur və bütöv informasiyanın heş funksiyasının qiyməti kimi qəbul edilir.
Heş funksiyaların qurulması üçün ümumi qəbul edilmiş prinsip kimi ardıcıl iterativ sxemdən istifadə olunur. Bu alqoritmin əsasını k sayda bitlər ardıcıllığını n sayda bitlər ardıcıllığına çevirməkdən ibarətdir. n – kəmiyyəti heş funksiyanın nəticəsinin mərtəbəliliyini, k – isə n-dən böyük ixtiyari ədəddir.
Baza çevirməsi heş funksiyanın bütün xassələrinə (tərsinin olmaması, giriş verilənlərinin invariant dəyişdirilməsinin qeyri-mümkünlüyü) malik olmalıdır. Heş qiymətin hesablanması n bitdən ibarət dəyişən mərtəbəli aralıq köməkçi dəyişənin köməyi ilə həyata keçirilir. Başlanğıc qiymət qismində hər iki tərəfə məlum olan ixtiyari qiymət (məsələn, 0) götürülür.
Məlumatın heş qiymətinin hesablanması prosesində giriş verilənləri (k-n) sayda bitdən ibarət bloklara bölünür. Hər iterasiyada giriş verilənlərinin (k-n) sayda bitdən ibarət bloku əvvəlki iterasiyada alınmış aralıq kəmiyyətin qiyməti ilə birləşdirilir və alınmış k sayda bitdən ibarət blok üzərində baza çevirməsi həyata keçirilir. Nəticədə bütün giriş məlumatı köməkçi kəmiyyətin başlanğıc qiyməti ilə qarışdırılmış olur.
Çevirmə xarakterinə görə baza funksiyasını çox vaxt sıxıcı funksiya adlandırırlar. Sonuncu itersiyadan sonra köməkçi kəmiyyətin qiyməti heş funksiyanın çıxışına verilir (şək.6.2).
Bəzən alınan qiymət üzərində əlavə çevirmələr həyata keçirirlər. Lakin sıxıcı funksiya kifayət qədər davamlılıq dərəcəsinə malik olarsa, onda belə çevirmələrə ehtiyac qalmır.
Heş funksiyanın iterativ sxemə görə layihələndirilməsi zamanı meydana biri ilə qarşılıqlı əlaqəli iki məsələ çıxır:
(k-n) ədədinə bölünməyən verilənlərlə nə etməli?
əgər tələb olunarsa, sənədin uzunluğunu yekun heş qiymətə necə əlavə etməli?
Bu məsələlərin həllinin iki variantı mövcuddur. Birinci variantda heş qiymətin hesablanması prosesinə başlamazdan qabaq sənədin əvvəlinə təsbit edilmiş uzunluqda (məsələn, 32 bit) sahə əlavə edilir və ora sənədin ilkin uzunluğu ikilik formada yazılır. Sonra birləşdirilmiş verilənlər blokunun bitlərinin sayı (k-n) ədədinə bölünən ən yaxın ədədə qədər tamamlanır.
İkinci variantda sənəd sağdan əvvəlcə bir ədəd “1” biti, sonra isə (k-n) ədədinə bölünən ən yaxın ədədə qədər tamamlamaq üçün tələb olunan sayda “0” bitləri əlavə edi-lir.
Bu halda sənədin uzunluğu sahəsinə ehtiyac qalmır, belə ki, hər hansı iki müxtəlif sənəd fraqmentləri sərhədlərinə görə belə hamarlandıqdan sonra heç vaxt eyni ola bilməz.
Heş qiymətin hesablanmasının daha populyar birkeçidli alqoritmləri ilə yanaşı çoxkeçidli alqoritmləri də mövcuddur. Bu halda giriş məlumat bloku genişlənmə mərhələsində dəfələrlə təkrarlanır, sonra isə yaxın sərhədə qədər tamamlanır.
İnformasiyanın bütövlüyünə nəzarət
İnformasiya öz həyat dövrünün bütün mərhələlərində təsadüfi və qəsdli dağıdıcı təsirlərə məruz qala bilər. İnformasiyanın təsadüfi təhriflərinin aşkarlanması üçün korrektə edən kodlar tədbiq edilir, onlar müəyyən hallaqda yalız informasiyanıntəhrifi faktının mövcudluğunu aşkar etməyə deyil, həmçinin bu təhrifləri lokallaşdırmağa və düzəltməyə də imkan verir. Qəsdli dağıdıcı təsirlər çox vaxt informasiya kompüterin yaddaşında saxlanıldığı zaman və ya rabitə kanalları ilə ötürüldükdə baş verir. Bu zaman verilənlər massivində sanksiyasız dəyişmə imkanınıtamamilə istisna etmək mümkün deyil. Buna görə də belə dəyişiklikləri operativ aşkar etmək olduqca vacibdir, çünki bu halda qanuni istifadəçilərə vurukan ziyan minimal olar. Yalan informasiya yeritməyə çalışan düşmənin məqsədi onu doğru kimi qələmə verməkdir, buna görə verilənlər massivində təhrifin olması faktının vaxtında aşkarlanması düşmənin bütün cəhdlərinin heçə endirir. Beləliklə, informasiyanın bütövlüyünə nəzarət dedikdə informasiyanın sanksiyasız dəyişmə imkanının istisna edilməsini deyil, əgər dəyişilmə varsa, bu faktları dürüst (səhih) fiksə etməyə imkan verən metodları məcmusu başa düşülür.
Təhriflərin aşkar olunması üçün qanuni istifadəçilərin (məsələn ötürülmə zamanı informasiyanı alan) sərəncamında müəyyən yoxlama proseduru T(p) olmalıdır. Bu prosedur p verilənlər massivində təhrif olmadıqda çıxışda 1, təhriflər olduqda isə 0 verməlidir.
Nəzarət cəmləri və nəzarət kodları
Verilənlərin bütövlüyünü təmin etmənin ən sadə və ən birinci metodlarından birinəzarət cəmləri metodudur. Nəzarət cəmləri dedikdə sonlu çoxluqda giriş verilənlərinin bütün ədədlərinin toplanması yolu alınmış müəyyən qiymət başa düşülür.
Nəzarət cəmləri metodundan hesablama texnikasının hələ ilk çağlarında istifadə edilməyə başlanmışdı və indiyədək verilənlərin bəzi ötürülmə protokollarında tətbiq edilir. Metodun üstün cəhətləri realizəsinin üstünlüyü və yüksək məhsuldarlığıdır. Nəzarət cəmləri metodunun aşağıdakı nöqsanları var:
Nəzarət cəmlərinin alınmış qiymətlərinin bərabərliyi informasiyanın dəyişmməzliyinə zəmanət vermir.
Nəzarət cəmi məlum olduqda verilənləri olduqca asanlıqla elə düzəltmək olar ki, nəticədə düzgün qiymət alınsın.
Dostları ilə paylaş: |