Teorema Gabriel Lame membatasi jumlah langkah dengan log (1 / akar persegi (5) * (a + 1/2)) - 2, di mana basis lognya adalah (1 + akar persegi (5)) / 2. Ini untuk skenario kasus terburuk untuk algoritme dan ini terjadi ketika input adalah angka Fibanocci yang berurutan.
Batas yang sedikit lebih liberal adalah: log a, di mana basis log adalah (akar (2)) disiratkan oleh Koblitz.
Untuk tujuan kriptografi, kami biasanya mempertimbangkan kompleksitas bitwise dari algoritme, dengan mempertimbangkan bahwa ukuran bit diberikan kira-kira oleh k = loga.
Berikut adalah analisis rinci kompleksitas bitwise dari Algoritma Euclid:
Meskipun dalam kebanyakan referensi kompleksitas bitwise dari Algoritma Euclid diberikan oleh O (loga) ^ 3 ada batas yang lebih ketat yaitu O (loga) ^ 2.
Mempertimbangkan; r0 = a, r1 = b, r0 = q1.r1 + r2. . . , ri-1 = qi.ri + ri + 1,. . . , rm-2 = qm-1.rm-1 + rm rm-1 = qm.rm
perhatikan bahwa: a = r0> = b = r1> r2> r3 ...> rm-1> rm> 0 .......... (1)
dan rm adalah pembagi persekutuan terbesar dari a dan b.
Dengan Klaim dalam buku Koblitz (Mata kuliah Teori Bilangan dan Kriptografi) dapat dibuktikan bahwa: ri + 1 <(ri-1) / 2 ................. ( 2)
Sekali lagi di Koblitz jumlah operasi bit yang diperlukan untuk membagi bilangan bulat positif k-bit dengan bilangan bulat positif l-bit (dengan asumsi k> = l) diberikan sebagai: (k-l + 1). L ...... ............. (3)
Dengan (1) dan (2) jumlah divisi adalah O (loga) dan oleh (3) total kompleksitasnya adalah O (loga) ^ 3.
Sekarang ini dapat direduksi menjadi O (loga) ^ 2 dengan komentar di Koblitz.
pertimbangkan ki = logri +1
oleh (1) dan (2) kami memiliki: ki + 1 <= ki untuk i = 0,1, ..., m-2, m-1 dan ki + 2 <= (ki) -1 untuk i = 0 , 1, ..., m-2
dan dengan (3) total biaya dari m divisi dibatasi oleh: SUM [(ki-1) - ((ki) -1))] * ki untuk i = 0,1,2, .., m
menyusun ulang ini: SUM [(ki-1) - ((ki) -1))] * ki <= 4 * k0 ^ 2
Jadi kompleksitas bitwise Algoritma Euclid adalah O (loga) ^ 2.
a%b
. Kasus terburuk adalah kapana
danb
merupakan angka Fibonacci yang berurutan.