Кіріспе
Дискретті логарифмді шешу алгоритмі Топтар теориясында, математиканың бір саласы, "кішкентай қадам – үлкен қадам" әдісі – Дэниел Шенкс ұсынған, шекті абельдік топтағы элементтің дискретті логарифмін немесе ретін есептеуге арналған ортада кездесу алгоритмі. Дискретті логарифмді шешу мәселесі ашық кілттің криптографиясы саласындағы маңызды мәселелердің бірі болып табылады. Көптеген қолданылатын криптографиялық жүйелер дискретті логарифмді есептеудің өте қиын екеніне негізделген; оның қиындығы жоғары болса, деректерді берудегі қауіпсіздік де артады. Дискретті логарифмді шешудің қиындығын арттырудың бір жолы – криптожүйені үлкенірек топқа негіздеу.
In group theory, a branch of mathematics, the baby step giant step is a meet in the middle algorithm for computing the discrete logarithm or order of an element in a finite abelian group by Daniel Shanks. The discrete log problem is of fundamental importance to the area of public key cryptography. Many of the most commonly used cryptography systems are based on the assumption that the discrete log is extremely difficult to compute; the more difficult it is, the more security it provides a data transfer. One way to increase the difficulty of the discrete log problem is to base the cryptosystem on a larger group.
Іс жүзінде
Кішкентай қадамды алып қадамды алгоритмді жылдамдатудың ең жақсы жолы – тиімді кесте іздеу схемасын пайдалану. Бұл жағдайда ең жақсысы – хэш кестесі. Хэш екінші компонент бойынша жасалады, ал негізгі циклдің 1-қадамында тексеру үшін γ хэштелді және алынған жад адресі тексеріледі. Хэш-кестелер элементтерді O(1) уақытында (тұрақты уақыт) алуға және қосуға мүмкіндік береді, сондықтан бұл жалпы кішкентай қадамды алып қадамды алгоритмді баяулатпайды. Алгоритмнің жадтық күрделілігі O(N), ал уақыт күрделілігі O(√N) болады. Бұл орындалу уақыты наивті күшпен есептеудің O(N) уақытынан жақсы. Диффи-Хеллман кілт алмасуында туындаған жеке кілтті алу үшін тыңшы кішкентай қадамды алып қадамды алгоритмін қолдана алады, егер модуль тым үлкен емес жай сан болса. Егер модуль жай сан болмаса, Полиг-Хеллман алгоритмі аз алгоритмдік күрделілікке ие және сол мәселені шеше алады.