Kompüterlər, Təhlükəsizlik
Diffie-Hellman alqoritmi: məqsədi
Göründüyü kimi, günümüzdəki az sayda insan, məlumatların ötürülməmiş kommunikasiya kanallarından istifadə edərək , Diffie-Hellman alqoritminin nə olduğunu təsəvvür edin. Prinsipcə, bir çox insana bu anlayışa ehtiyac yoxdur. Bununla belə, kompüter sistemlərinin istifadəçiləri, daha çox maraqlandıqları, bunu başa düşmək üçün zərər verməyəcəklər. Xüsusilə, Diffie-Hellman alqoritminin açarlarının mübadiləsi informasiya təhlükəsizliyi və kriptoqrafiya ilə maraqlanan istifadəçilər üçün faydalı ola bilər.
Diffie-Hellman üsulu nədir?
Texniki və riyazi detallara girməyincə alqoritm sualına yaxınlaşırsınızsa, onu qorunan bir kanaldan istifadə edərək məlumat mübadiləsini ehtiva edən kompüter və ya digər sistemlərdən istifadə edən iki və ya daha çox istifadəçi arasında ötürülən və qəbul edilmiş məlumatların şifrələmə və şifrələmə metodu kimi müəyyən edə bilərsiniz.
Artıq aydın olduğu kimi, kanalın özünün qorunmaması halında, bir təcavüzkar göndərmə və qəbul prosesində olan faylları kəsə və ya dəyişdirə bilər. Lakin ötürülən və qəbul edilən məlumatlara çatmaq üçün Diffie-Hellman əsas bölüşdürmə alqoritmidir ki, kənar müdaxilə demək olar ki, tamamilə aradan qaldırılır. Eyni zamanda, hər iki tərəf eyni əsasdan istifadə edildikdə, istifadə edilən rabitə kanalı ilə əlaqə saxlayır (qorunmadan).
Prehistorya
Diffie-Hellman alqoritmi özü 1976-cı ildə dünyaya gətirildi. Onun yaradıcıları Whitfried Diffie və Martin Hellman idi. Bu məlumatların şifrələnməsinin təhlükəsiz və etibarlı metodlarının araşdırılmasında Ralph Merklein sözügedən ictimai əsas paylama sistemini işləyib hazırladığı işə əsaslanırdı.
Lakin Merkel yalnız nəzəri çərçivəni inkişaf etdirsə, Diffie və Hellman ictimaiyyəti bu suala praktiki həll yolu ilə təqdim etdi.
Ən sadə izahat
Əslində, test özü kriptoqrafik şifreleme texnologiyalarına əsaslanır və bu sahədə bir çox mütəxəssis də sürprizdir. Şifrələrin antologiyası olduqca böyük bir tarixi əhatə edir. Bütün prosesin mahiyyəti e-poçt vasitəsilə cavab verən və ya kompüter proqramlarının köməyi ilə müəyyən məlumatların mübadiləsi aparan iki abunəçinin olmasıdır. Lakin qorunma Diffie-Hellman alqoritminin özünün şifrələmə açarının iki tərəfə (ötürmə və qəbul) məlum olması tələb olunur. Bu halda, onların hansı başlanğıc təsadüfi sayını meydana gətirməsi vacib deyildir (bu zaman açarların hesablanması üçün formulları nəzərdən keçirərkən izah olunacaq).
Erkən dövrlər məlumatlarının şifrələmə üsulu
Daha aydın etmək üçün qeyd edək ki, məlumatların şifrələməsinin ən ibtidai üsulu, məsələn, çoxlu skriptlərdə adi haldır, sağdan sola kimi, soldan sağa yazılan sözlərdir. Eynilə, mesajda əlifbanın məktublarını istifadə etmək və əvəz etmək asandır. Məsələn bir sözlə ikinci məktub birinci, dördüncü üçüncü və s. Dəyişir. Buna baxarkən eyni sənəd tam bir saçma ola bilər. Buna baxmayaraq, mənbə mətnini yazan biri, onu oxumaq lazım olanı söyləyir, hansı qaydada bu simvolları təşkil etmək lazımdır. Buna əsas deyilir.
Qeyd edək ki, köhnə Sümer və Misirlilərin hələ də açıqlanmayan mətnləri və çivilərinin mürəkkəbliyi, kripto-analitiklər tərəfindən sadəcə olaraq istənilən simvollar sırasının necə qurulacağını bilmirlər.
Beləliklə də bizim vəziyyətimizdə Diffie-Hellman alqoritmi şifrələmənin açarının məhdud sayda istifadəçiyə məxsus olduğunu bilir. Doğrudur, burada yenə də bir şərt qoymaq lazımdır, çünki bu tipli şifrəli məlumatların ötürülməsinə müdaxilə üçüncü şəxslər əvəzləşdirilən və ya əvəz edən simvollar sistemini həll edərlər.
Sözsüz ki, bu gün AES kimi alqoritmlərə əsaslanan olduqca güclü kriptosistemlər var, lakin onlar üçüncü tərəfin məlumatların təhqirinə qarşı tam təminat vermirlər.
Yaxşı, indi şifreleme sisteminin özünə, tətbiqinə və qorunma dərəcəsinə baxaq.
Diffie-Hellman alqoritmi: məqsədi
Alqoritm özü bir tərəfdən digər tərəfə köçürülmüş məlumatların məxfiliyinin təmin edilməsinə deyil, həm də onları əldə etməklə təhlükəsiz şəkildə çıxarmaqla yaradılmışdır. Sözsüz ki, belə bir ötürülmə sistemi mümkün olan bütün ünsiyyət kanallarında tam qorunmalıdır.
Ən azı İkinci Dünya müharibəsi illərini xatırlayın, bütün müttəfiq ölkələrin zəkası müvəqqəti olaraq "Enigma" adlı bir şifreleme maşını üçün avtomatlaşdırılmışdı, bu kodlar Morse kodunda ötürülmüşdür . Axı, indi deyildiyimiz kimi heç kim, hətta ən çox "qabaqcıl" kriptoqrafiya mütəxəssisi onun kodunu aça bilər. Yalnız tutulduqdan sonra Alman filosunun göndərdiyi mesajların şifrələməsinin açarı idi.
Diffie-Hellman alqoritmi: bir baxış
Beləliklə, alqoritm bir neçə əsas konsepsiyanın istifadəsini nəzərdə tutur. Əlaqədə iki abonent (istifadəçi) olduğunda ən sadə işimiz var. Onları A və B kimi qeyd edin.
Onlar ötürülməni qəbul etmək üçün bu rabitə kanalında gizli olmayan X və Y nömrələrini istifadə edirlər. Məsələin bütün məqamları onların əsasında müəyyən bir yeni məna yaratmaqdır və bu əsas olacaqdır. Amma! Birinci abunə böyük bir baş nömrə, ikincisi - mütləq bütün (qalanı olmayan bölmə), lakin birincidən daha kiçikdir.
Təbii ki, istifadəçilər bu nömrələrin gizli tutulduğunu qəbul edirlər. Bununla birlikdə, əlaqə kanalının qorunmasından bəri bu iki ədəd digər maraqlı tərəflərlə tanış ola bilər. Buna görə də eyni mesajda olan istifadəçilər mesajları şifrələmək üçün xüsusi düymələri əvəzləyirlər.
Açarı hesablamaq üçün əsas formullar
Diffie-Hellman alqoritminin assimetrik şifrənin hansı protokollar əsasında ortaya çıxdığına görə simmetrik şifrələmə sisteminə aid olduğu hesab edilir. Lakin qəbul edən tərəflər tərəfindən açarları hesablamaqda əsas aspektləri nəzərə alsaq, biz ən azı cəbrini geri çağırmalıyıq.
Beləliklə, hər bir abunəçi a və b təsadüfi nömrələri yaradır deyirik. Əvvəlcədən, x və y dəyərlərini bilirlər, hətta istənilən proqrama "tikilmiş" ola bilərlər.
Belə bir mesajı göndərərkən və ya qəbul edərkən, A abunəçisi A = x mod y formalı əsas dəyərini hesablayır və ikincisi B = x b mod y kombinasiyasını, sonra şifrli açarın ilk istifadəçiyə ötürülməsini istifadə edir. Bu, birinci mərhələdir.
İndi güman ki, üçüncü paydaşın A və B hesablanmış dəyərləri həm özünün, həm də məlumat ötürmə prosesinə müdaxilə edə bilməz, çünki ikinci mərhələdə ortaq əsasın necə hesablandığını bilmək lazımdır.
Yuxarıda göstərilən formullara əsasən, ictimai açarın hesablanması üzrə dayandıra bilərsiniz. Diffie-Hellman alqoritmasına baxdığınızda, nümunə belə bir şeyə baxa bilər:
1) ilk abunəçi x-ə əsaslanan anketi B moduli ilə hesablayır; y = x ab mod y ;
2) y və ilkin sayından başlayaraq ikinci B parametresinin şəbəkə protokolundan əldə edilən parametr A əsasını təyin edir: A b mod y = x ba mod y .
Gördüyümüz kimi, dərəcələr bir-birinə uyğundur, hətta yekun dəyərlər bərabərdir. Beləliklə, hər iki tərəfin məlumatlarının təfsiri, deyildiyi kimi, bir məxrəcə qədər azaldılır.
Məlumat ötürmə prosesinə müdaxilə şəraitində zəiflik
Güman edə biləcəyimiz kimi, üçüncü tərəfin müdaxiləsi istisna edilmir. Bununla belə, bu halda biz əvvəlcədən təyin edilmiş ədədlərdən 10 100 və ya hətta 10 300- dən danışırıq.
Günümüzdə yaradılan parol generatorları və ya giriş kodlarının heç biri özünü müəyyən edə bilməz (məsələn, ötürmə sisteminə müdaxilə etmək üçün ara parametrlər deyil, ilkin və son deyildir). Bu, çox uzun sürəcək ki, Yer üzündə həyat bitəcəkdir. Bununla belə, belə bir təhlükəsizlik sistemində boşluqlar var.
Ən çox onlar diskret logarithm bilik ilə bağlıdır. Bu cür məlumat mövcud olarsa, Diffie-Hellman alqoritmini çatdırmaq mümkündür (yalnız yuxarıda göstərildiyi kimi, ilk və son parametrlər üçün). Başqa bir şey belə bir bilik vahidlərdir.
Java Platform üçün alqoritmi istifadə
Java üzrə Diffie-Hellman alqoritmi yalnız "müştəri-server" kimi çağırışlar üçün istifadə olunur.
Başqa sözlə, server müştəri maşınlarının bağlanmasını gözləyir. Belə bir əlaqə qurulduqda, alqoritm, ictimai və ya xüsusi açar axtarışını həyata keçirir, bundan sonra istifadəçi serverin bütün funksiyaları və məlumatlarına maneəsiz giriş əldə edə bilər. Bəzən bu mobil sistemlərə də aiddir, lakin bu barədə çox az insan bilir, xüsusilə də icra hissəsi görünməz rejimdə yerinə yetirilən skript şəklində işləyir.
C platformu üçün alqoritmi istifadə etmək (+ / ++)
Diffie-Hellman alqoritmasına "C" (+ / ++) baxırsınızsa, burada hər şey belə düzgün deyil. Əslində bəzən proqramlaşdırma dilinin özü əsasən üzən nöqtəyə aid hesablamalarla işləyərkən problemin olmasıdır. Buna görə tam dəyərləri ifadə edərkən və ya (hətta gücə yüksəldərkən) yuvarlamaq istəyərkən tərtib edərkən bir problem ola bilər. Bu xüsusilə int funksiyasının sui-istifadə üçün doğrudur.
Bununla yanaşı, bir qayda olaraq, siniflərin tapşırığını, eyni göstəricini və ya əlaqəli GMP əlavə kitabxanalarını təmsil edən digər yürütülebilir komponentlərə də diqqət yetirmək lazımdır.
Müasir şifreleme alqoritmləri
Diffie-Hellman alqoritminin hələ də aşılmamasına inanılır. Əslində, AES128 və AES256 kimi məlumat şifrələmə sahəsində belə tanınmış təhlükəsizlik sistemlərinin ortaya çıxması üçün əsas kimi xidmət edən o idi.
Ancaq təcrübə göstərir ki, insanın özünəməxsus şəkildə qəbul etmədiyi nömrələrin mövcudluğuna baxmayaraq, cari tipli sistemlərin əksəriyyəti yalnız ilk on (daha çox) dəyərlərindən istifadə edir, baxmayaraq ki, alqoritm özü milyonlarla dəfə daha çoxdur.
Bir sözlə yerinə
Ümumiyyətlə, sistemin nə olduğunu və onun alqoritmik komponentlərinin nə olduğu aydındır. Bununla yanaşı, demək olar ki, heç kimin tam istifadə etmədiyi böyük imkanlar var.
Digər tərəfdən alqoritmdə açıqca zəifliklər vardır. Özünüz üçün hakim: hər şeydən əvvəl diskret logarithms hesablanması üçün bir proqram yazmaq, demək olar ki, hər hansı yaradıcıları yalnız istifadəçilər tərəfindən təyin edilmiş ilk parametrlərə deyil, həm də şifrələmə və şifrələnmə sistemində yaradılan ümumi düymələrə daxil ola bilər.
Sadə halda, mobil rabitədə istifadə edilə biləcək eyni yüklənə bilən Java proqramını quraşdırmaq kifayətdir. Təbii ki, istifadəçi bu barədə bilmir, lakin hər kəs öz məlumatlarını öz məqsədləri üçün istifadə edə bilər.
Similar articles
Trending Now