ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ...

85
ANKARA ÜN ˙ IVERS ˙ ITES ˙ I FEN B ˙ IL ˙ IMLER ˙ I ENST ˙ ITÜSÜ DOKTORA TEZ ˙ I SONLU C ˙ IS ˙ IMLERDE D ˙ ISKRET LOGAR ˙ ITMA PROBLEM ˙ I Murat ¸ SAH ˙ IN MATEMAT ˙ IK ANAB ˙ IL ˙ IM DALI ANKARA 2009 Her hakkı saklıdır

Transcript of ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ...

Page 1: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ANKARA ÜNIVERSITESIFEN BILIMLERI ENSTITÜSÜ

DOKTORA TEZI

SONLU CISIMLERDE DISKRET LOGARITMA PROBLEMI

Murat SAHIN

MATEMATIK ANABILIM DALI

ANKARA2009

Her hakkı saklıdır

Page 2: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

TEZ ONAYI

Murat SAHIN tarafından hazırlanan " SONLU CISIMLERDE DISKRETLOGARITMAPROBLEMI " adlı tez çalısması 13/07/2009 tarihinde asagıdakijüri tarafından oy birligi / oy çoklugu ile Ankara Üniversitesi Fen Bilimleri En-stitüsü Matematik Anabilim Dalı’nda DOKTORATEZI olarak kabul edilmistir.

Danısman: Prof. Dr. Ali Bülent EKIN

Jüri Üyeleri:

Baskan: Prof. Dr. Sait HALICIOGLUAnkara Üniversitesi, Fen Fakültesi, Matematik Bölümü

Üye: Prof. Dr. Ali Bülent EKINAnkara Üniversitesi, Fen Fakültesi, Matematik Bölümü

Üye: Doç. Dr. Ali DOGANAKSOYOrta Dogu Teknik Üniversitesi, Fen Edebiyat Fakültesi, Matematik Bölümü

Üye: Doç. Dr. Nuri ÖZALPAnkara Üniversitesi, Fen Fakültesi, Matematik Bölümü

Üye: Doç. Dr. Emrah KILIÇTOBB Ekonomi ve Teknoloji Üniversitesi, Fen Edebiyat Fakültesi, MatematikBölümü

Yukarıdaki sonucu onaylarım

Prof. Dr. Orhan ATAKOLEnstitü Müdürü

Page 3: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ÖZET

Doktora Tezi

SONLU CISIMLERDE DISKRET LOGARITMA PROBLEMI

Murat SAHIN

Ankara ÜniversitesiFen Bilimleri EnstitüsüMatematik Anabilim Dalı

Danısman: Prof. Dr. Ali Bülent EKIN

Fq mertebesi q olan sonlu bir cisim ve g, Fq nun bir primitif elemanı olmak üzere q,g ve y ∈ Fq verildiginde

y = gx, 0 6 x < q − 1olacak sekildeki x tamsayısını bulma problemine sonlu cisimlerde diskret logaritmaproblemi denir. Sayılar teorisinde uzun bir geçmise sahip olan bu problem öncelerisonlu cisimlerde bazı hesaplamaları yapabilmek için kullanılmıs, 1950 li yıllarda ro-tor makinelerinin yerini kaydır-kaydet dizilerinin almasıyla kriptografide önemli birrol oynamaya baslamıstır. Burada bir asalın kuvveti olan q tamsayısı yeterincebüyük seçildiginde x diskret logaritmasını hesaplamak zordur. Bu zorlugu temelalarak 1976 yılında Diffie ve Hellman açık anahtar kripto sistemlerinin dogmasınavesile olan anahtar degis-tokus yöntemini gelistirmislerdir. Günümüzde, bir çok krip-tografi uygulamasının güvenligi diskret logaritma probleminin bu zorluguna dayan-maktadır.Diskret logaritma problemi ile ilgili olan ve kriptografide kullanılan diger bir önemliproblem de çarpanlara ayırma problemidir. Gauss’un çarpanlara ayırmanın mate-matikteki önemini dile getiren ünlü sözüne benzer herhangi bir söz diskret logaritmaproblemi için edilmemis olmasına ragmen bu problemin çarpanlara ayırma proble-minden daha zor oldugu düsünülmektedir.Bu tezde, sonlu cisimlerdeki diskret logaritmayı hesaplayan karekök zamanlı algo-ritmalardan Küçük adım-Büyük adım, Pollard ρ, Kanguru ve Pohlig-Hellman algo-ritmalarını inceledik. Gadiyar vd. (2009) Ardısık kare alma-çarpma algoritmasınıntersini düsünerek diskret logaritma için olasılıksal, karekök zamanlı bir algoritmagelistirdiler. Bu algoritmayı farklı yorumlayarak çalısma zamanını detaylı bir se-kilde inceleyip Pollard ρ-algoritması ile kıyasladık. Aynı zamanda, ihmal edilebilirbir hafıza gereksinimi duyacak sekilde bu algoritmayı gelistirdik. Karekök zamanlıalgoritmalara ilaveten indeks calculus algoritmalar olarak adlandırılan yarı üstel za-manlı algoritmalardan bazılarını inceledikten sonra, sonlu cisimlerdeki diskret loga-ritmayı en etkili sekilde hesaplayan Sayı Cismi Elegi algoritmasını inceledik.

2009 , 74 sayfaAnahtar Kelimeler: Diskret logaritma problemi, Sonlu cisimler

i

Page 4: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ABSTRACT

Ph.D. Thesis

DISCRETE LOGARITHM PROBLEM in FINITE FIELDS

Murat SAHIN

Ankara UniversityGraduate School of Natural and Applied Sciences

Department of Mathematics

Supervisor: Prof. Dr. Ali Bülent EKIN

Let Fq a finite field of order q and g a primitive element of Fq, for given q, g andy ∈ Fq finding integer x such that

y = gx, 0 6 x < q − 1

is called discrete logarithm problem in finite fields. At first, this problem which hasa long history in number theory was used for some computations in finite fields andthen it started to play an important role in cryptography by shift-register sequencesdisplaced rotor machines in the 1950s. When the prime power q in here is choosensufficiently large, calculating the discrete logarithm x is hard. In 1976, Diffie andHellman improved the Key-exchange method leading to emergence of public keycryptosystems by using this hardness as a base. Nowdays, the security of the manycryptographic applications depend on the hardness of this problem.Another important problem used in cryptography and related to the discrete lo-garithm problem is factoring problem. Although there is not any word for discretelogarithm problem like the famous quates of Gauss about importance of the factoringin mathematics, it is thought more hard than the factoring.In this thesis, We investigated square root algorithms calculating the discrete loga-rithm problem, namely, Baby step-Giant step, Pollard ρ and Kangaroo algorithms.Gadiyar et al. (2009) improved a probabilistic, square root algorithm by thinkinginverse of the Repeated square-multiply algorithm. Running time of the Gadiyar’s al-gorithm is investigated in details by interpreting the algorithm in a different way andcompared with Pollard ρ-algorithm. At the same time, this algorithm has improvedsuch that negligible memory requirement. In addition to square root algorithms,After studying some exponential algorithms called index calculus algorithms, weexamined the Number Field Sieve algorithm which is the most effective algorithmin finite fields.

2009 , 74 pagesKey Words: Discrete logarithm problem, Finite fields.

ii

Page 5: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

TESEKKÜR

Bu çalısmanın olusturulmasına imkan saglayan, çalısmalarımı büyük titizlikle izle-yerek beni yönlendiren ve bilimin dısında da kendisinden hayata dair bir çok seyögrendigim degerli bilim adamı Sayın Hocam Prof. Dr. A. Bülent EKIN’e en derinsaygılarımla tesekkürlerimi sunarım.

Tez yazımında benden yardımlarını esirgemeyen Doç. Dr. Nuri ÖZALP’a ve degerlivakitlerini bana ayıran TIK hocalarım Prof. Dr. Sait HALICIOGLU ve Doç. Dr.Ali DOGANAKSOY’a tesekkür ederim.

Ayrıca, özverilerinden dolayı basta esim Ebru SAHIN olmak üzere Aileme sonsuztesekkürlerimi sunarım.

Murat SAHINAnkara, Temmuz 2009

iii

Page 6: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

IÇINDEKILER

ÖZET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

TESEKKÜR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

SEKILLER DIZINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

ÇIZELGELER DIZINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

SIMGELER DIZINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

1 GIRIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 TEMEL KAVRAMLAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1 O Notasyonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Sayı Cisimleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 ÇARPANLARA AYIRMA VE DISKRET LOGARITMA . . . . . . . . . . . . . . . . . . 8

4 SONLU CISIMLERDE DISKRET LOGARITMAYI VEREN BIR FORMÜL 12

5 KAREKÖK ALGORITMALAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.1 Küçük-adım Büyük-adım algoritması . . . . . . . . . . . . . . . . . . . . 145.2 Pollard ρ-Algoritması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.3 Kanguru Algoritması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.4 Pohlig-Hellman Algoritması . . . . . . . . . . . . . . . . . . . . . . . . . 225.5 Olasılıksal bir Karekök Algoritması . . . . . . . . . . . . . . . . . . . . . 24

6 YARI-ÜSTEL ZAMANLI ALGORITMALAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.1 Düzgünlük Kavramı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.1.1 Düzgün tamsayılar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.1.2 Düzgün polinomlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.2 Fp de Indeks Calculus Algoritması . . . . . . . . . . . . . . . . . . . . . . 376.2.1 Düzgünlük testi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.2.2 Lineer cebir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.2.3 Analiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.3 F2n de Indeks Calculus Algoritmaları . . . . . . . . . . . . . . . . . . . . 496.3.1 Sistematik denklemler . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.3.2 Coppersmith versiyonu . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 SAYI CISMI ELEGI (SCE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607.1 SCE Algortimasının Taslagı . . . . . . . . . . . . . . . . . . . . . . . . . 617.2 Polinom Seçme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637.3 Çarpan Tabanlarını Olusturma . . . . . . . . . . . . . . . . . . . . . . . 647.4 Eleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657.5 Logaritmik Dönüsümler . . . . . . . . . . . . . . . . . . . . . . . . . . . 667.5.1 ZK nın ideallerinden elemanlarına geçis . . . . . . . . . . . . . . . . . . 677.6 Lineer Cebir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

KAYNAKLAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Page 7: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ÖZGEÇMIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Page 8: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

SEKILLER DIZINI

5.1 Pollard ρ-algoritmasının olusturdugu sekil . . . . . . . . . . . . . . . . . 18

vi

Page 9: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ÇIZELGELER DIZINI

5.1 Fp cisminin çarpımsal grubunda fG fonksiyonunun performansı . . . . . . 315.2 Fp cisminin çarpımsal grubunda fM fonksiyonunun performansı . . . . . 326.1 Düzgün sayıların yogunlugu . . . . . . . . . . . . . . . . . . . . . . . . . 34

vii

Page 10: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

SIMGELER DIZINI

DL Diskret Logaritma

DLP Diskret Logaritma Problemi

TTIAB Tek Türlü Ideallerine Ayrılabilen Bölge

TTÇAB Tek Türlü Çarpanlarına Ayrılabilen Bölge

SCE Sayı Cismi Elegi

Z Tamsayılar

Q Rasyonel Sayılar

Fq q Elemanlı Sonlu Cisim

F∗q Fq − {0}A ∼= B A izomorf B

π (B) B den küçük asalların sayısı

hu,vi u ve v vektörlerinin iç çarpımı

< γ > γ elemanının ürettigi ideal

bxc x den küçük en büyük tamsayı

dxe x den büyük en küçük tamsayı

viii

Page 11: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Bu çalısmayı babam ve oglum, Mehmet Sami ve Mehmet Furkan SAHIN’eatfediyorum.

Page 12: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

1. GIRIS

G sonlu bir grup olmak üzere verilen g, y ∈ G için gx = y olacak sekilde bir x

tamsayısı varsa, mod |G| de tek türlü olan bu tamsayıyı bulma problemine diskretlogaritma problemi (DLP) denir ve x := (d log)g y ile gösterilir. Aslında, bu problem

g nin ürettigi alt grupta ele alnacagından G grubu, g nin ürettigi bir devirli grup

olarak da düsünülebilir. 20 yy. da bilgisayarların kesfi ile diskret logaritma problemi

daha çok algoritmik açıdan düsünülmeye baslamıstır. Teknoloji, bilgisayarlar vb.

mevcut bütün imkanları kullanarak bir problem makul bir sürede çözülemiyorsa bu

probleme zor problem diyecegiz.

DLP nin yeterince zor oldugu iki popüler grup, sonlu cisimlerin çarpımsal grubu ve

sonlu cisimler üzerindeki eliptik egri grubudur. Eger uygun parametreler seçilirse

mevcut imkanlarla makul bir sürede DLP yi çözmek oldukça zordur.

Günümüzde kullanılan modern kripto sistemler matematikte hesaplanması zor prob-

lemler üzerine insaa edilirler. Güvenligi DLP nin zorluguna dayanan bir çok krip-

tografi uygulaması vardır. Bu uygulamalardan bazıları

• Anahtar-degis tokusu (Diffie and Hellman 1976)

• Açık anahtar kriptosistem (ElGamal 1985)

• Akıllı kartlar için kimlik tanımlama ve imza (Schorr 1989)

• Kimlik tanımlama semaları (Brickell and McCurley 1990)

• Dijital imza seması (ElGamal 1984)

• Rastgele üreteçler (Sundaram 1998)

seklinde listelenebilir.

Bu tezde, sonlu cisimlerin çarpımsal grubundaki diskret logaritmayı (DL) hesaplayan

algoritmalar incelenecektir. Herhangi bir devirli grupta DLP yi çözen üstel zamanlı

algoritmalar mevcuttur. Eger grubun mertebesi ve mertebesinin çarpanlara ayrılısı

1

Page 13: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

biliniyorsa ve bu çarpanlara ayrılıstaki asal bölenler küçükse bu grupta DLP etkili

bir sekilde çözülebilir. Eger grubun hakkında daha fazla bilgi varsa daha etkili

algoritmalar da gelistirilebilir. Örnek olarak, bir sonlu cismin çarpımsal grubunda

düzgünlük kavramından bahsedilebilir. Buna baglı olarak sonlu cismin çarpımsal

grubunda DLP yi çözen yarı-üstel zamanlı algoritmalar mevcuttur.

Kriptografide kullanılan bir baska önemli problemde çarpanlara ayırma problemidir.

Çarpanlara ayırma problemi ile DLP birbiriyle çok iliskilidir. Problemlerden birini

çözmek için uygulanan algoritmalardan çogu diger problem için de uygulanabilmek-

tedir. Üstelik, bu iki problem dısında kriptografide kullanılması kabul görmüs baska

bir problemde mevcut degildir.

2

Page 14: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

2. TEMEL KAVRAMLAR

Bu bölümde tezde kullanılacak bazı temel kavramları verecegiz.

2.1 O Notasyonu

O notasyonu bir algoritmanın çalısma zamanını belirtmek için çok kullanıslıdır.

Tanım 2.1 f : N+ → R+ ve g : N+ → R+ iki fonksiyon olsun. Eger

∀n > n0 ∈ N+ için f (n) < Cg (n)

olacak sekilde bir C sabiti varsa f , g ile sınırlıdır denir ve f = O (g) ile gösterilir.

Örnek 2.1 f (n) := 2n2 + 3n− 3 ve g (n) := n2 olarak tanımlansın.

2n2 + 3n− 3 < 3n2 oldugundan f = O (g)

dir.

Tanım 2.1 asagıdaki gibi genellestirilebilir.

Tanım 2.2 Bir k pozitif tamsayısı için f : (N+)k → R+ ve g : (N+)k → R+ iki

fonksiyon olsun. Eger

∀nj > B için f (n1, n2, ..., nk) < Cg (n1, n2, ..., nk)

olacak sekilde B ve C sabitleri varsa f , g ile sınırlıdır denir ve f = O (g) ile gös-

terilir.

Bir algoritmada çıktıya ulasmak için yapılan islem sayısı ya da geçen zaman al-

goritmanın çalısma zamanı olarak adlandırılır. Bir algoritmanın çalısma zamanı

algoritmanın girdileri n1, n2, ..., nk olmak üzere f (n1, n2, ..., nk) fonksiyonu ile gös-

terilirse, O notasyonu yardımıyla algoritmanın çalısma zamanı daha basit sekilde

ifade edilebilir. Bununla birlikte, algoritmaların çalısma zamanını kıyaslamakta O

notasyonu kolaylık saglamıs olur. O notasyonu yardımıyla algoritmalar çalısma

3

Page 15: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

zamanlarına göre polinom ve üstel zamanlı algoritmalar olarak sınıflandırılabilir.

Girdisi p olan bir A algoritmasının çalısma zamanı bir c pozitif tamsayısı için yak-

lasık O ((log2 p)c) veya O (pc) ise A algoritmasına sırasıyla polinom zamanlı veya

üstel zamanlı algoritma denir. Polinom zamanlı algoritmalardan daha yavas, fakat

üstel zamanlı algoritmalardan daha hızlı algoritmalara da yarı-üstel zamanlı algo-

ritmalar denir. Yarı-üstel zamanlı algoritmaların çalısma zamanını belirtmek için n

algoritmanın girdisi, c herhangi bir sabit ve v, (0, 1) aralıgında bir sayı olmak üzere

Ln [v; c] := exp¡(c+ o (1)) (log n)v (log logn)1−v

¢seklinde tanımlanan L fonksiyonu kullanılabilir. L fonksiyonunda v = 1 için üstel

zamanlı, v = 0 için polinom zamanlı bir algoritma elde edilir. v degeri 0 sayısına

yaklastıkça algoritma hızlanmıs olur.

2.2 Sayı Cisimleri

Bölüm 8 de anlatılacak olan Sayı cismi elegi algoritmasını tam olarak anlayabilmek

için cebirsel sayılar teorisinden bazı kavramların bilinmesi gerekir. Bu bölümde,

Sayı cismi elegi ile ilgili cebirsel sayılar teorisinden bazı teoremler ispatsız olarak

verilecektir. Ispatlar ve daha detaylı bilgi için Cohen’in (1993) kitabından yarar-

lanılabilir.

Tanım 2.3 (Sayı cismi) K, Q yu kapsayan bir cisim olsun. K, Q üzerinde bir vek-

tör uzayı olarak düsünüldügünde Q üzerinde sonlu boyutlu ise K ya sayı cismi denir.

K nın Q üzerindeki boyutuna K cisminin derecesi denir ve dimQK ile gösterilir.

Teorem 2.1 K, derecesi d olan bir sayı cismi olmak üzere

K = Q (α) :=

(d−1Xi=0

xiαi | (x0, x1, ..., xd−1) ∈ Qd

)

olacak sekilde bir α ∈ K vardır.

Bu bölümün sonuna kadar α, K nın bir elemanı olmak üzere K, derecesi d olan

Q (α) sayı cismini gösterecektir.4

Page 16: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Teorem 2.2 θ ∈ K olsun. f ∈ Z [x], k := do (f) 6 d ve f (θ) = 0 olacak sekilde bir

f (x) := akxk + ak−1xk−1 + ...+ a1x+ a0

polinomu vardır. Eger f polinomu Q [x] de indirgenemez ise f , θ nın minimal poli-

nomu olarak adlandırılır.

Tanım 2.4 w ∈ K olsun. Eger w elemanının minimal polinomu tamsayı katsayılı

bir polinom ise w, cebirsel tamsayı olarak adlandırılır.

ZK := {w ∈ K | w bir cebirsel tamsayı}

kümesi bir halka olusturur ve bu halkaya K cisminin tamlık halkası denir. Cebirsel

tamsayılar, tamsayıların genellestirilmesidir. K daki problemleri rasyonel sayılara

tasıyan norm dönüsümü asagıdaki sekilde tanımlanır.

Tanım 2.5 (Norm) σi : K → C d tane monomorfizma olmak üzere bir θ ∈ K

elemanının normu

N (θ) :=dY

i=1

σi (θ)

seklinde tanımlanır.

Norm dönüsümü çarpımsaldır ve bir elemanın normu rasyonel sayıdır. Tamlık halka-

sındaki bir elemanın normu ise tamsayıdır.

Tanım 2.6 (Diskriminant) θ, minimal polinomu

f (x) := xk + ak−1xk−1 + ...+ a1x+ a0

olan bir cebirsel tamsayı olsun.

∇f := N (f 0 (θ)) = kθk−1 + (k − 1) ak−1θk−2 + ...+ a1

ifadesine f polinomunun diskriminantı denir.

SCE algoritmasında asagıdaki teorem norm hesabı için kullanılır.

5

Page 17: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Teorem 2.3 K := Q (α) cisminin derecesi d ve α nın minimal polinomu

f (x) := adxd + ad−1xd−1 + ...+ a1x+ a0

olsun. Eger d > 2 ise a, b ∈ Q olmak üzere a+ bα elemanının normu için

N (a+ bα) = (−b)d f (−a/b)ad

esitligi saglanır.

I, R halkasının bir ideali (I < R) ise R/I ile bölüm gurubu gösterilecektir.

Tanım 2.7 I < ZK ise bir idealin normu

N (I) := |ZK/I|

seklinde tanımlanır. Eger ZK/I bir sonlu cisimse I ya ZK nın asal ideali denir. I

asal ideal olmak üzere bir m pozitif tamsayısı ve p asal tamsayısı için |ZK/I| = pm

dir. m pozitif tamsayısı I idealinin derecesi olarak adlandırılır.

ZK tek türlü ideallerine ayrılabilen bölgedir (TTIAB). SCE algoritması ZK nın bu

özelligini kullanır. [ZK : Z [α]], (Z [α] ,+) grubunun ZK üzerindeki grup indeksini

göstersin. Bu indeks sonludur ve indeksi bölen asal tamsayılara indeks bölenler

denir.

Bir p asal tamsayısının ZK da ürettigi idealin asal ideallerine ayrılısı Teorem 2.4 ile

verilebilir.

Teorem 2.4 α, bir cebirsel tamsayı olmak üzere K := Q (α) bir sayı cismi ve α

elemanının minimal polinomu T (x) olsun. f := [ZK : Z [α]] indeksini göstermek

üzere f yi bölmeyen bir p asal tamsayısı için pZK idealinin asal ideallerine ayrılısı

asagıdaki sekildedir. Ti polinomları monik olmak üzere

T (x) ≡gY

i=1

Ti (x)ei (mod p)

ise

℘i = (p, Ti (α)) := pZK + Ti (α)ZK6

Page 18: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olmak üzere

pZK =gY

i=1

℘eii

dir.

Teorem 2.4 de ℘i asal ideallerine p asal tamsayının üzerindedir denir ve ei 6 1 ise pasalı K da dallanmaz olarak adlandırılır. Her asal ideal tek türlü olacak sekilde bir

asal tamsayının üzerindedir.

Asagıdaki teorem ha+ bαi seklindeki idealleri hangi tip asal ideallerin böldügü ileilgili bilgi verir.

Teorem 2.5 a ve b tamsayıları aralarında asal olsun. Bu durumda,

℘| ha+ bαi ⇔ ℘, birinci dereceden asal ideal

veya

℘, indeks bölen bir asal tamsayının üzerindedir.

ZK da bir elemanın normu ile olusturdugu idealin normu arasında asagıdaki gibi bir

baglantı vardır.

Teorem 2.6 θ ∈ ZK içinN (θ) = N (θZK)

dir.

Teorem 2.7 α, bir cebirsel tamsayı olmak üzere K := Q (α) bir sayı cismi, a+bα ∈ZK, a ile b arasında asal ve p bir indeks bölen olmamak üzere ℘ = (p, α− cp) normu

p olan bir asal ideal olsun. Bu durumda,

N (a+ bα) ≡ 0 (mod p)℘| ha+ bαi ⇔ ve

−a/b ≡ cp (mod p)

dir. ha+ bαi nın asal ideallerine ayrılısındaki ℘ asal idealinin kuvveti N (a+ bα)

nın asal çarpanlara ayrılısındaki p asal tamsayının kuvvetine esittir.

7

Page 19: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

3. ÇARPANLARA AYIRMA VE DISKRET LOGARITMA

Aritmetigin Temel Teoremi birden büyük her pozitif tamsayının sıra gözetmeksizin

asal sayıların çarpımı seklinde tek türlü yazılabildigini ifade eder. Bununla birlikte,

rastgele büyük bir tamsayı verildiginde bu asal çarpanlara ayrılısı bulmak mate-

matigin en eski ve zor problemlerinden biridir. Günümüzdeki bazı kripto sistemler

diskret logaritma problemine benzer olarak bu problemin üzerine insaa edilirler.

Bu iki problem birbiriyle çok iliskilidir. Çarpanlara ayırma problemini çözmek

için kullanılan bir çok algoritma DLP nin çözümüne de uygulanabilmektedir. Bu

bölümde, çarpanlara ayırma probleminin belli bir gruptaki DLP ye indirgenebilecegi

gösterilecektir. Dolayısıyla, DLP nin en az çarpanlara ayırma problemi kadar zor

oldugu söylenebilir.

p asal tamsayı olmak üzere

x2 ≡ 1 (mod p)⇒ x ≡ ±1 (mod p)

dir. Yani, 1 in mod p de tam iki tane karekökü vardır. Fakat, eger N asal degilse

Çin Kalan teoreminden 1 in mod N de ±1 den farklı kareköklerinin de bulundugukolayca gösterilebilir. Yani,

x2 ≡ 1 (modN) ve x 6≡ ±1 (modN)

olacak sekilde x ∈ Z∗N ler mevcuttur. Böyle bir x tamsayısı bulundugunda N nin

asikar olmayan bir çarpanı bulunabilir. Gerçekten,

x2 ≡ 1 (modN)⇒ x2 − 1 ≡ 0 (modN)

oldugundan

N |(x− 1)(x+ 1) (3.1)

dir. Benzer sekilde, x 6≡ ±1 (modN) ise

N - (x± 1) (3.2)

8

Page 20: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

oldugu açıktır. Eger ebob (x± 1, N) = 1 ise (3.1) den N | (x∓ 1) dir. Bu ise (3.2)ile çelisir. Benzer sekilde, eger ebob (x± 1, N) = N ise (3.2) ile çeliski elde edilir.

Sonuç olarak, ebob (x± 1, N), N nin asikar olamayan bir çarpanıdır.

N asal veya bir asalın kuvveti olmasın. Eger N nin asal çarpanlara ayrılısı

N =sY

i=1

peii

ise

Z∗N ∼= (Z/pe11 )∗ × (Z/pe22 )∗ × ...× (Z/pess )∗

dir. φ, Euler-φ fonksiyonu olmak üzere, Z∗N çarpımsal grubunun mertebesi

φ (N) = φ1φ2...φs , φi := φ (peii ) = pei−1i (pi − 1)

dir. Herhangi bir a ∈ Z∗N için

i = 1, 2, ..., s için φi | e =⇒ ae ≡ 1 (mod peii )

oldugundan Çin kalan teoreminden

ae ≡ 1 (modN)

dir. Dolayısıyla, L := ekok (φ1, φ2, ..., φs) olmak üzere Z∗N grubundaki her elemanın

mertebesi L yi böler.

K, Z∗N ın bir altgrubu olmak üzere

K :=©x ∈ Z∗N | xL/2 ≡ ±1 (modN)

ªseklinde tanımlansın. N asal olmadıgından Z∗N da 1 in ±1 den farklı kareköklerimevcuttur. Dolayısıyla, K 6= Z∗N dir. Üstelik, Z∗N ın en az yarısı K kümesinde

degildir (Greeg 2003).

Eger xm ≡ 1 (modN) seklindeki bir denklemi çözebilirsek x ∈ Z∗N olacak sekilde

rastgele x tamsayıları seçerek 1/2 den büyük olasılıkla N nin asikar olmayan bir

çarpanı bulunabilir. Gerçekten, x ∈ Z∗N , x /∈ K ve xm ≡ 1 (modN) olacak sekilde9

Page 21: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

bir m tamsayısının bilindigini kabul edelim. e2 (m), m yi bölen 2 nin en büyük

kuvvetini göstermek üzere,

xm, xm/2, xm/4, ..., xm/2e2(m)

dizisinde xm/2k ≡ 1 (modN) ve xm/2k+1 6≡ 1 (modN) olacak sekilde bir k tamsayısıvardır (Greeg 2003). Yani, 1 inmodN de±1 den farklı bir karekökü belirlendigindenebob

³xm/2k+1 ± 1, N

´, N nin asikar olmayan bir çarpanıdır. Dolayısıyla,

xm ≡ 1 (modN)

olacak sekilde bir m olusturulabilinirse N sayısının asikar olmayan bir çarpanı bu-

lunabilir. Z∗N grubundaki DLP çözümünden böyle bir m elde edilebilir.

p bir asal olmak üzere ebob(p, φ (N)) = 1 ise pq ≡ 1 (modN) olacak sekilde bir qtamsayısı vardır. Euler teoreminden xpq ≡ x (modN) oldugundan Z∗N daki DLP yi

çözerek q := (d log)xp x ve m := pq−1 belirlenebilir. φ (N) bilinmediginden rastgelebir p seçilip q := (d log)xp x ifadesi hesaplandıktan sonra x

pq ≡ x (modN) denkligi

kontrol edilerek m olusturulabilir. φ (N) < N oldugundan logN + 1 den küçük bir

p asalı için ebob(p, φ (N)) = 1 kosulu saglar. Böylece Z∗N daki DLP yi çözerek N nin

etkili bir sekilde nasıl çarpanlarına ayrılacagı özetle anlatıldı. Bu düsünce asagıda

algoritma olarak verilmistir.

Eger DLP yi Z∗N çarpımsal grubunda çözebilen bir A algoritması varsa, Algoritma

3.1 ile N etkili bir sekilde çarpanlarına ayrılabilir.

Algoritma 3.1 (ÇA problemini DLP ye indirgeme)

Girdi : N tamsayısı ve A algoritması

Çıktı : N nin asikar olmayan bir çarpanı

1. Z∗N dan rastgele bir g elemanı seç

2. H := N2 − 2N√N +N

3. 2 < r < H olacak sekilde rastgele bir r tamsayısı seç

4. y := gr (modN)

5. A algoritmasını kullanarak x := (d log)g y ifadesini hesapla

6. Eger gxr−1 6≡ 1 ise adım 1 e git

10

Page 22: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

7. m := xr − 18. gm (modN) , gm/2 (modN) , ... dizisini

gm/2t ≡ 1 (modN) ve gm/2t+1 6≡ ±1 (modN)

olacak sekilde bir t tamsayısı buluncaya kadar hesapla

9. d := ebob³gm/2t+1 − 1, N

´, N nin asikar olmayan bir çarpanıdır.

Algoritma 3.1 in 2. adımında p ve q asal olmak üzere N = pq için

φ (N) = φ (p− 1)φ (q − 1) ≈ N − 2√N + 1

oldugundan H ≈ Nφ (N) seçilmektedir. Bu durumda, adım 3 de rastgele seçilen r

tamsayısı için ebob (r, φ (N)) = 1 olma olasılıgı artmaktadır (Bach 1984).

11

Page 23: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

4. SONLU CISIMLERDE DISKRET LOGARITMAYI VEREN BIR

FORMÜL

q, bir p asalının kuvveti olmak üzere F∗q sonlu bir cismi göstersin. y ∈ F∗q ve g, Fqnun bir primitif elemanı olmak üzere

y = gx , 0 6 x < q − 1

olacak sekilde tek türlü bir x tamsayısı vardır. x tamsayısına g tabanına göre y nin

diskret logaritması denir ve x := (d log)g y seklinde gösterilir. q, g ve y verildiginde

x tamsayısını bulma problemine sonlu cisimlerde diskret logaritma problemi denir.

Tezin bundan sonraki kısmında aksi belirtilmedikçe g, x ve y harfleri yukarıda tanım-

landıgı anlamda kullanılacaktır.

Sonlu cisimlerde DL yı hesaplayan polinom tipinde formüller mevcuttur. Bu for-

müller açık formüller olarak adlandırılır. Açık formüller DL yi hesaplamak için

kullanıslı olmamasına ragmen matematiksel açıdan ilginçtir. Wells (1984) p asal

olmak üzere F∗p sonlu cismindeki diskret logaritmayı veren bir açık formül vermistir.

Bu formül herhangi bir sonlu cisim için genellestirilmistir (Mullen and White 1986).

Niederreiter (1990) verilen bu açık formülü daha basit bir sekilde ispatlamıstır. Son

olarak, Wan (2008) daha da basit ve kısa bir sekilde bu formülü ispatlamıstır.

Teorem 4.1 q, bir p asalının kuvveti olmak üzere Fq sonlu cismi için

x = (d log)g y ≡ −1 +q−2Xi=1

yi

g−i − 1 (mod p) (4.1)

dir.

Ispat. q = 2 durumunda, g = 1, h = 1, x = 1 veq−2Xi=1

= 0 dır. Dolayısıyla, (4.1)

q = 2 için gerçekler. Kabul edelim ki q > 2 olsun. Bu durumda,

q−2Xi=1

yi

g−i − 1 =

q−2Xi=1

gxi

g−i − 1 =q−2Xi=1

g(x+1)i

1− gi= −

q−2Xi=1

1− g(x+1)i

1− gi+

q−2Xi=1

1

1− gi

= −q−2Xi=1

¡1 + gi + g2i + ...+ gyi

¢+

q−2Xi=1

1

1− gi.

12

Page 24: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

1 6 j 6 x olacak sekildeki ∀j ∈ Z içinq−2Xi=1

gij =1− gj(q−1)

1− gj− 1 = −1

veq−2Xi=1

1

1− gi=

Xγ∈Fq , γ 6=0,1

1

γ=

Xγ∈Fq , γ 6=0,1

γ = −1

dir. Sonuç olarak,

q−2Xi=1

yi

g−i − 1 = − (q − 2)− x (−1)− 1 ≡ x+ 1 (mod p)

13

Page 25: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

5. KAREKÖK ALGORITMALAR

Bir G devirli grubunda diskret logaritma problemini çözen bir algoritma eger sonuca

yaklasıkp|G| grup isleminde ulasıyorsa bu algoritmaya karekök algoritma denir.

Bunlardan en önemlileri Küçük adım-Büyük adım, Pollard ρ, Kanguru ve Pohlig-

Hellman algoritmalarıdır. Bu algoritmalar herhangi bir devirli grupta DL hesabı için

kullanılmasına ragmen burada p asal olmak üzere F∗p sonlu cisminin çarpımsal grubu

üzerinden anlatılacaktır. F∗p ile (Z/pZ)∗ arasında bir izomorfizma kurulabileceginden

F∗p cisminin elemanları 1 ile p− 1 arasındaki tamsayılarla ifade edilecektir. Gadiyarvd. (2009) F∗p da DL yi hesaplayan ve yaklasık O

¡√p¢hafıza gerektiren olasılıksal

bir karekök algoritması gelistirmistir. Bu bölümde, bu algoritmanın çalısma zamanı

detaylı olarak ele alınarak Pollard ρ-algoritması ile kıyaslanacaktır ve algoritma

ihmal edilebilir bir hafıza gereksinimi olacak sekilde gelistirilecektir.

Pohlig-Hellman algoritmasında, eger p−1 in bütün asal bölenleri küçükse F∗p da DLPetkili bir sekilde çözülebilir. Fakat, genel olarak karekök algoritmalar büyük p asal-

ları için etkili degildirler. Öte yandan, bu algoritmaların herhangi bir devirli grupta

kullanılabilmeleri önem arz etmektedir. Örnegin, sonlu cisimler üzerindeki eliptik

egri grubunda DL hesabı için bilinen en etkili algoritma Pollard ρ-algoritmasıdır.

Bununla birlikte, Pollard ρ ve Kanguru algoritmaları birden fazla bilgisayar için

kullanıldıklarında (Paralellistirme) çalısma zamanında dogrusal bir artıs saglamak-

tadırlar (Pollard 2000).

5.1 Küçük-adım Büyük-adım algoritması

Shanks tarafından 1971 yılında gelistirilen bu algoritmayı p asal olmak üzere F∗pcismini gözönüne alarak anlatacagız.

b :=§√

p¨olmak üzere hesaplanmak istenilen x diskret logaritması, b tabanında

0 6 i, j 6 b− 1 olmak üzere i ve j tamsayıları için

x = i+ jb (5.1)

14

Page 26: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

seklinde yazılabilir. Bu algoritmanın temel fikri i ve j tamsayılarını bulmaktır ki x

belirlenmis olsun.

gx = gi+jb ≡ y (mod p)⇐⇒ gi ≡ yg−jb (mod p) (5.2)

ifadesi yazılabilir. (5.1) yi saglayan i ve j yi bulmak için öncelikle 0 6 i 6 b− 1 içingi (mod p) ler hesaplanır ve (i, gi) ikilileri bir tabloya depolanıp ikinci bilesenine göre

küçükten büyüge sıralanır. Sonra, j = 0, 1, 2, ..., b− 1 için yg−jb (mod p) elemanları

ardısık olarak

yg−jb ≡ gi (mod p) (5.3)

denklemi saglanıncaya kadar hesaplanır. (5.3) ifadesinin saglanıp saglanmadıgı olus-

turulan tablo vasıtasıyla kontrol edilebilir. (5.3) saglandıgında, (5.2) den dolayı (5.1)

ifadesini saglayan i ve j dolayısıyla x bulunmus olur.

Bu algoritmanın çalısma zamanı O¡√

p¢ve gerekli hafıza miktarı O

¡√p¢dir. Yani,

büyük p asalları için etkili bir algoritma degildir. Bu algoritmanın daha farklı ver-

siyonları için (Buchman et al. 1997) ve (Blackburn and Teske 2000) makalelerine

bakılabilir.

Örnek 5.1 F19 de y := 15 ve g := 2 için x := (d log)2 15 diskret logaritmasını

bulmak isteyelim.

x tamsayısı, b :=§√19¨= 5 tabanında 0 6 i, j 6 4 olmak üzere i ve j tamsayıları

için

x = i+ 5j

seklinde yazılabilir. (i, gi) ikililerini hesaplayıp ikinci bilesenine göre küçükten büyüge

sıralayarak

T := [(0, 1) , (4, 4) , (3, 12) , (1, 13) , (2, 17)]

dizisini olusturalım.

j = 0 için yg−5j ≡ 15 (mod 19) dir. T de ikinci bileseni 15 olan eleman yok.j = 1 için yg−5j ≡ 17 (mod 19) dir. T de ikinci bileseni 17 olan (2, 17) elemanı var.Dolayısıyla, i = 1 ve j = 2 olarak belirlenir. Bu durumda x = i+ 5j = 11 dir.

15

Page 27: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

5.2 Pollard ρ-Algoritması

Karekök zamanlı algoritmalar içinde yaygın olarak bilinen Pollard ρ-algoritması

olasılıksal bir algoritmadır (Pollard 1978). Bunun sebebi algoritmanın ihmal edilebilir

hafızaya gereksinim duyması ve üstel zamanlı bir algoritma olmasına ragmen düzgün-

lük kavramından bahsedemedigimiz gruplar için bilinen en etkili algoritma olmasıdır.

Bu algoritmada, F∗p cismindeki x := (d log)g y diskret logaritmasını hesaplamak için

fP (h) :=

⎧⎪⎪⎪⎨⎪⎪⎪⎩gh (mod p) , Eger 0 < h 6 p/3 ise

h2 (mod p) , Eger p/3 < h 6 2 (p/3) isehy (mod p) , Eger 2 (p/3) < h 6 p ise

seklinde tanımlanan fP : F∗p → F∗p iterasyon fonksiyonu kullanılır. Bu fonksiyon

baslangıç degeri h0 = 1 ve hk+1 = f (hk) olacak sekilde bir (hk) dizisi tanımlar.

Ayrıca, fP fonksiyonunun tanımından dolayı hk ≡ gαkyβk (mod p) olacak sekilde

asagıdaki (αk) ve(βk) dizilerini elde etmek kolaydır.

α0 := 0 , αi+1 :=

⎧⎪⎪⎪⎨⎪⎪⎪⎩αi + 1 (mod p− 1) , Eger 0 < h 6 p/3 ise

2αi (mod p− 1) , Eger p/3 < h 6 2 (p/3) iseαi (mod p− 1) , Eger 2 (p/3) < h 6 p ise

ve

β0 := 0 , βi+1 :=

⎧⎪⎪⎪⎨⎪⎪⎪⎩βi (mod p− 1) , Eger 0 < h 6 p/3 ise

2βi (mod p− 1) , Eger p/3 < h 6 2 (p/3) iseβi + 1 (mod p− 1) , Eger 2 (p/3) < h 6 p ise .

Eger (hk) dizisinde bir çakısma bulunursa, yanim 6= n olmak üzere hm ≡ hn (mod p)

ise

(βn − βm)x ≡ αm − αn (mod p− 1) (5.4)

denklemi elde edilir. (5.4) denkleminin çözümlerinden

gx ≡ y (mod p) (5.5)

ifadesini saglayan x diskret logaritması belirlenebilir. (5.4) denkleminden büyük bir

olasılıkla diskret logaritma elde edilir (Miller and Venkatesan 2009). Eger bu sekilde

diskret logaritma bulunamazsa, baska bir baslangıç degeri seçilip yukarıdaki islemler

tekrar edilebilir.

16

Page 28: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Örnek 5.2 F101 de y := 6 ve g := 2 için x := (d log)2 6 diskret logaritmasını Pollard

ρ-algoritması kullanarak bulmak isteyelim.

h0 := 1 baslangıç degeri için yukarıda tanımlanan (hk), (αk) ve (βk) dizilerini kul-

lanarak

h12 = 85, α12 = 54, β12 = 0

ve

h17 = 85, α17 = 14, β17 = 2

oldugu hesaplanabilir. h12 = h17 oldugundan (5.4) den

(β17 − β12)x ≡ α12 − α17 (mod p− 1)=⇒ 2x ≡ 40 (mod p− 1)=⇒ x = 20 veya 70

muhtemel x degerleridir. (5.5) den x := (d log)2 6 = 70 dir.

Simdi de, çakısma oldugu durumda bile çözümün belirlenemeyecegi bir örnek vere-

lim.

Örnek 5.3 F101 de y := 7 ve g := 2 için x := (d log)2 7 diskret logaritmasını Pollard

ρ-algoritması kullanarak bulmak isteyelim.

h0 := 1 baslangıç degeri için

h23 = 48, α23 = 20, β23 = 17

ve

h39 = 48, α39 = 20, β39 = 17

dir. h23 = h39 oldugundan (5.4) den

(β39 − β23)x ≡ α23 − α39 (mod p− 1)=⇒ 0 ≡ 0 (mod p− 1)

elde edilir. Dolayısıyla bu çakısma için diskret logaritmayı belirleyemeyiz.

17

Page 29: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Sekil 5.1. Pollard ρ-algoritmasının olusturdugu sekil

(hk) dizisinde bir çakısma olustuktan sonra fP fonksiyonunun tanımından dolayı bir

devir elde edilir. Bu durumu sekille ifade edersek Pollard ρ-algoritması Sekil 5.1 i

olusturur. Bu özelligi kullanıp çakısmayı bütün dizi elemanlarının arasında aramak

yerine belli elemanlar arasında arayan etkili çakısma bulma algoritmalarımevcuttur.

Çok az hafıza gerektiren bu algoritmalardan bazıları Floyd (1967), Brent (1980) ve

Teske (1998) nin algoritmalarıdır.

F∗p sonlu oldugundan (hk) dizisi periyodiktir. Dolayısıyla,

∀k > μ için hk = hk+μ (5.6)

kosulunu saglayan λ > 1 ve μ > 0 tamsayıları mevcuttur. λ ve μ tamsayıları

(5.6) i saglayan en küçük tamsayılar olmak üzere Pollard ρ-algoritmasının çalısma

zamanının analizi için λ ve μ nin yaklasık degerlerini veren asagıdaki teorem kul-

lanılabilir.

Teorem 5.1 (Harris 1960) Kabul edelim ki iterasyon fonksiyonu f : F∗p → F∗prastgele bir dönüsüm olsun. Bu durumda λ ve μ tamsayılarının yaklasık degeripπp/8 = 0.63

√p dir. Ve bir çakısma olusuncaya kadar gereken iterasyon sayısı

E (λ+ μ) yaklasıkpπp/2 ≈ 1.253√p dir.

Pollard ρ-algoritmasında bir çakısma-bulma algoritması kullanılarak I iterasyonda

bir çakısma bulunsun. Bu durumda, E (λ+ μ) ≈ I/δ olacak sekilde bir δ (gecikme

18

Page 30: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

çarpanı) reel sayısı vardır. Yani, δ çakısmanın olusmasıyla bulunması arasındaki

farkı ölçmektedir. Eger çakısma-bulma algoritması olarak Teske’nin algoritması kul-

lanılırsa deneysel olarak δ ≈ 1.13 dür (Teske 1998).

Teske (2001) deneysel olarak Pollard ρ-algoritmasındaki iterasyon fonksiyonunun

performansınınE (λ+ μ) ≈ 1.37√p oldugunu göstererek rastgele bir fonksiyona göredaha kötü bir performansa sahip oldugunu bulmustur ve Pollard ρ-algoritmasının

çalısma zamanını asagıdaki iterasyon fonksiyonunu kullanarak %20 artırmıstır.

Sabit bir r ∈ N için v : F∗p → {1, 2, 3, .., r} bir özet fonksiyon olsun. i = 1, 2, 3, ..., riçin

mi, ni ∈ {1, 2, 3, ...p}

olacak sekilde 2r tane rastgele sayı kullanılarak

i = 1, 2, 3, ..., r için Mi ≡ gmiyni (mod p)

sayıları önceden hesaplansın. Teske’nin "adding walk" olarak adlandırdıgı iterasyon

fonksiyonu

fTA : F∗p → F∗ph 7→ yMv(h) , v (h) ∈ {1, 2, 3, ..., r}

seklinde tanımlanır. Teske (2001) bu iterasyon fonksiyonunu r > 16 olacak sekildekullanarak Polard ρ-algoritmasının çalısma zamanını E (λ+ μ) ≈ 1.29

√p olarak

gelistirmistir.

5.3 Kanguru Algoritması

Pollard (1978) ρ-algoritmasını tanımladıgı makalede DL yi hesaplayan bir baska

algoritma daha sundu. Bu algoritma kanguru veya lamda (λ) algoritması olarak

adlandırılır. Hesaplanması istenilen x diskret logaritması belli bir [a, b] aralıgında ol-

sun. Kanguru algoritmasında yabani ve evcil olmak üzere iki kanguru sahne alır. Bu

kanguruların Fp cisminin çarpımsal grubunda hareket ettigi varsayılsın. Dolayısıyla,

bir kangurunun pozisyonunu bir grup elemanı temsil eder. Evcil kanguru yolcu-

luguna e0 ≡ ga+b2 (mod p) den baslasın. Yabani kanguru ise yolculuguna diskret

logaritmasını hesaplamak istedigimiz y0 ≡ y (mod p) noktasından baslasın. Yani,

19

Page 31: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

evcil kangurunun aralıgın ortasından basladıgını ve yabani kangurunun ise aralıgın

neresinden basladıgının belli olmadıgı söylenebilir.

Kanguru algoritmasının amacı yabani kangurunun yerini belirleyip y elemanının

diskret logaritmasını bulmaktır. Yabani kangurunun yeri evcil kangurunun yolu ile

kesismesi sonucu elde edilebilir. Simdi, bir kangurunun hareketini açıkca tanımla-

yalım.

Sıçrama uzunluklarından olusan S kümesi ve sıçramalardan olusan J kümesi

S := {s1, s2, ..., sr}

ve

J := {gs1, gs2, ..., gsr}

seklinde tanımlansın. Bir kangurunun grup içindeki bir sıçraması, J kümesinin bir

elemanının kangurunun o andaki yerini temsil ettigi grup elemanı ilemod p de çarpıl-

ması ile tanımlanır. Bir sıçrama için J kümesinin hangi elemanının kullanılacagının

belirlenmesi için F∗p den {1, 2, 3, .., r} ye tanımlı bir özet fonksiyonu kullanılır. Buözet fonksiyonu F∗p grubunu r tane ayrıkM1,M2, ...Mr kümelerine böler. Dolayısıyla,

kanguruların sıçramaları

k = 0, 1, 2, ... içinek+1 := ek ∗ gsi , ek ∈Mi

yk+1 := yk ∗ gsj , yk ∈Mj

olacak sekilde (ek) ve (yk) dizileri ile ifade edilebilir. Bu dizileri kullanarak kangu-

ruların sıçrayısları hesaplanırken

d0,evcil := 0 , k > 1 için dk+1,evcil := dk,evcil + si , ek ∈Mi

ve

d0,yabani := 0 , k > 1 için dk+1,yabani := dk,yabani + sj , yk ∈Mj

dizileri kullanılarak ne kadar yol aldıkları da hesaplanabilir.

ek1 = yk2 olacak sekilde k1 ve k2 indisleri için bir çakısma bulunabilirse

ga+b2 gdk1,evcil ≡ ygdk2,yabani (mod p)

20

Page 32: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

denklemi saglanır. Buradan da y ≡ gx oldugundan

x ≡ a+ b

2+ dk1,evcil − dk2,yabani (mod p− 1) (5.7)

elde edilir. (5.7) denkleminin çözümünden istenilen diskret logaritma x belirlenebilir

Böyle bir çakısma bulmak için ayırt edilebilir nokta metodu kullanılabilir (van

Oorschot and Wiener 1999). Bu metodun temel fikri ek1 = yk2 çakısmasını dizilerin

tüm elemanları içinde aramak yerine belli bir özelligi saglayan terimler arasında

aramaktır.

D, F∗p ın bir alt kümesi olsun. Eger grubun bir elemanı D kümesinde ise bu elemana

ayırt edilebilen nokta denir. Önceden belirlenmis bir t tamsayısı için D kümesi

D = Dt :=©z ∈ F∗p | z nin ikilik tabanındaki gösterimindeki en son t tane biti sıfır

ªseklinde tanımlansın. D nin tanımından dolayı bir elemanın Dt kümesinde olup

olmadıgı kolayca anlasılabilir ve t yi kullanarak D nin eleman sayısı ayarlanabilir.

Bir kangurunun her bir sıçramasında, kangurunun yerini temsil eden grup elemanı

eger D nin elemanı ise (ek,dk,evcil) veya (yk,dk,yabani) ikilileri bir tabloda depolanır.

Istenilen çakısma, yeni bir ayırt edilebilen nokta tabloya depolanmadan önce tabloda

olup olmadıgı kontrol edilerek bulunabilir.

van Oorschot ve Wiener (1999) ayırt edilebilir nokta metodunu kullanarak, sıçrama

uzunlukları si lerin ortalama degerlerinin yaklasık√b− a/2 seçilerek kanguru algo-

ritmasının çalısma zamanının minimize edildigini göstermislerdir. Ve iki kanguru-

nun yaklasık 2√b− a sıçrayıstan sonra istenilen çakısmanın bulunabilecegini elde

etmislerdir.

Eger diskret logaritma x sayısının küçük bir aralıkta oldugu bilgisine sahipsek, kan-

guru algoritması etkilidir. Fakat, bu algoritmayı x ∈ [0, p] aralıgında düsünürsekPollard ρ metodundan daha yavastır. Kanguru algoritmasının parametrelerinin

seçilisiyle ilgili detaylı bilgi için Teske’nin (2000) makalesine bakınız.

21

Page 33: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

5.4 Pohlig-Hellman Algoritması

Pohlig-Hellman algoritması çarpımsal bir grupta diskret logaritmayı hesaplayan bir

algoritmadır (Pohlig and Hellman 1978). Çin kalan teoremine dayanan bu algoritma

F∗p sonlu cismi için asagıdaki sekilde uyarlanabilir.

Kabul edelim ki g, Fp nin primitif kökü olsun ve x := (d log)g y diskret logaritmasını

hesaplamak isteyelim. p− 1 in asal çarpanlarına ayrılısı

p− 1 =kYi=1

peii

seklinde olsun. Eger

xi ≡ x (mod peii )

ler hesaplanabilirse Çin kalan teoreminden x elde edilebilir.

Kabul edelim ki q := pi ve e := ei olsun. x, q tabanında yazılarak

x ≡e−1Xj=0

ljqj (mod qe)

seklinde ifade edilebilir. Bu durumda,

h := yp−1q = gx

p−1q ≡

³gp−1q

´l0(mod p)

oldugundan t ≡ gp−1q (mod p) olmak üzere h

t0, t1, ..., tq−1

degerlerinden birisidir. Böylece, b0 Küçük adım-Büyük adımalgoritması kullanılarak

belirlenebilir. b0 belirlendikten sonra

¡yg−b0

¢p−1q2 ≡ tl1 (mod p)

denklemi kullanarak benzer sekilde b1 de belirlenebilir. Bu sekilde devam ederek

j = 0, 1, 2, ...e − 1 için bj ler belirlenebilir. Dolayısıyla, x (mod qe) belirlenmis olur.

Bu düsünce asagıda algoritma olarak verilmistir.

22

Page 34: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Algoritma 5.1 (Pohlig-Hellman algoritması)

Girdi : p, g, y

Çıktı : x öyle ki gx ≡ y (mod p)

1. p− 1 sayısını çarpanlarına ayır

p− 1 =kYi=1

peii

2. i = 1, 2, .., r için

xi ≡ x (mod peii ) olmak üzere

xi := l0 + l1pi + ...+ lei−1pei−1i , 0 6 lj < pi

yazılabilir. xi ler lj tamsayıları hesaplanarak asagıdaki gibi belirlenebilir.

2.1 q := pi ve e := ei

2.2 γ := 1 ve l−1 := 0

2.3 t := g(p−1)/q (mod p)

2.4 j = 0, 1, ..., e− 1 içinγ := γglj−1q

j−1(mod p) ve h := (yγ−1)(p−1)/q

j+1

(mod p)

lj = (d log)t h oldugundan Küçük adım-Büyük adım algoritmasından lj yi

belirle

3. Çin kalan teoremin kullanarak

xi ≡ x (mod peii )

denklemlerinden 0 6 x 6 p− 2 olacak sekildeki x tamsayısını belirle

Eger p − 1 sayısının çarpanlara ayrılısı biliniyorsa Pohlig-Hellman algoritmasınınçalısma zamanı O

ÃrX

i=1

ei¡log (p− 1) +√pi

¢!dir. Dolayısıyla, eger p − 1 küçük

asal bölenlere sahipse Algoritma 5.1 etkilidir.

Örnek 5.4 p := 251 asal tamsayısı için g := 71, Fp cisminin primitif köküdür.

Fp de y := 210 elemanının x diskret logaritması hesaplanmak istensin. p − 1 tam-sayısının asal çarpanlara ayrılısı

p− 1 = 250 = 2.5323

Page 35: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

seklindedir. x1 ≡ x (mod 2) ve x2 ≡ x (mod 53) sayıları algoritmadan asagıdaki gibi

belirlenir.

1. x1 ≡ x (mod 2) nin belirlenisi

t ≡ gp−12 ≡ 250 (mod p) ve h ≡ y

p−12 ≡ 250 (mod p) ise x1 ≡ (d log)250 250 = 1

2. x2 ≡ x (mod 53) nün belirlenisi

x2 = l0 + 5l1 + 52l2 öyle ki j = 0, 1 ve 2 için 0 6 lj < 5

t := gp−15 ≡ 20 (mod p) ve q := 5 için

(i) γ := 1, h ≡ yp−15 ≡ 149 ise l0 = (d log)20 149 = 2

(ii) γ := γgl0 ≡ 712 ≡ 21 (mod p) ve h ≡ (yγ−1)(p−1)/52 ≡ 113 (mod p) isel1 = (d log)20 51 = 4

(iii) γ := γgl15 ≡ 115 (mod p) ve h ≡ (yγ−1)(p−1)/53 ≡ 149 (mod p) isel2 = (d log)20 149 = 2

Dolayısıyla, x2 = l0 + 5l1 + 52l2 = 72 dir. x ≡ 1 (mod 2) ve x ≡ 72 (mod 53) ise Çin

kalan teoreminden x ≡ 197 (mod p− 1) olarak hesaplanır.

5.5 Olasılıksal bir Karekök Algoritması

Ardısık kare alma-çarpma algoritması kullanılarak Fp de g, x ve p verildiginde

y = gx (mod p)

etkili bir sekilde hesaplanabilir.

x tamsayısını

x = x0 + 2x1 + 22x2 + ...+ 2kxk

olacak sekilde ikilik tabanda yazdıgımızı düsünelim.

Algoritma 5.2 (Ardısık kare alma-çarpma)

Girdi : g, x ve p

Çıktı : y öyle ki gx ≡ y (mod p)

1. y := 1

2. i := k

3. i > 0 oldukça3.1. y := y2 (mod p)

24

Page 36: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

3.2. Eger xi = 1 ise y := y ∗ g (mod p)

3.3. i := i− 1

Örnek 5.5 x = 10 = (1010)2 yukarıdaki algoritmayı kullanırsak

1→ 1→ g → g2 → g4 → g5 → g10 ≡ y (mod p)

dir.

Gadiyar vd. (2009) bu algoritmanın tersi nedir? sorusuna cevap aramıstır. Bu

soruya cevap bulamasalar da diskret logaritmayı hesaplayan olasılıksal bir algoritma

gelistirmislerdir.

Algoritma 5.2 in tersi açık olarak esb (en sagdaki bit) den baslayarak bölme ve

ardısık karekök almadır. Yani, xi = 1 durumunda bölme ve karekök islemi, xi = 0

durumunda ise karekök islemi yapılır. Bu algoritma bölme-ardısık karekök alma

algoritması olarak adlandırılabilir. Buradaki amaç x sayısını bulmak oldugundan

x in bitleri bilinmiyor. Fakat, Legendre sembolünü kullanarak x sayısının esb si

asagıdaki gibi belirlenebilir.

Fp de g primitif kök oldugundan³gp

´= g

p−12 ≡ −1 (mod p) dir. Dolayısıyla,µ

y

p

¶=

µgx

p

¶=

µg

p

¶x

= (−1)x (5.8)

dir. Böylece,³yp

´etkili bir sekilde hesaplanabildigi için x in son bitini belirlemek

kolaydır. Herhangi bir h := gα ∈ Fp elemanının karekökü varsa gα/2 ve gα/2+(p−1)/2olmak üzere iki tanedir. Fp de h nin gα/2 ye esit olan karekökünü dogru karekök

olarak adlandıralım. Örnegin, F23 cisminin bir primitif kökü 5 dir. 8 elemanınınmod

23 deki karekökleri 10 ve 13 dür. 56 ≡ 8 (mod p) ve 53 ≡ 10 (mod p) oldugundan 8sayısının dogru karekökü 10 dur. Bölme ve ardısık karekök alma algoritmasında her

defasında dogru karekökü belirleyebilirsek, (5.8) esitligini de kullanarak x in bütün

bitleri etkili bir sekilde belirlenebilir.

Örnek 5.6 p := 23 asal tamsayısı için g := 5, Fp cisminin primitif köküdür. Fp de

y := 9 elemanının x diskret logaritmasını dogru karekökleri belirleyebildigimizi kabul

25

Page 37: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ederek hesaplamak isteyelim.³9p

´= 1 =⇒ x0 = 0 =⇒ 9 un dogru karekökü 20³

20p

´= −1 =⇒ x1 = 1 =⇒ 20g−1 ≡ 4 (mod p) ve 4 ün dogru karekökü 2³

2p

´= 1 =⇒ x2 = 0 =⇒ 2 nin dogru karekökü 5³

5p

´= −1 =⇒ x3 = 1 =⇒ 5g−1 ≡ 1 (mod p) ve 1 in dogru karekökü 1

oldugundan x = (x3x2x1x0)2 = (1010)2 = 10 olarak belirlenir.

Algoritma 5.3 (Bölme-ardısık karekök alma)

Girdi : g, y ve p öyle ki gx ≡ y (mod p)

Çıktı : x

1. i := 0

2. y <> 1 oldukça

2.1. Eger³yp

´= −1 ise

xi := 1

y := y ∗ g−1 (mod p)

y := y12 (mod p)

ny := gα olsun y

12 := g

α2

odegilse

xi := 0

y := y12 (mod p)

ny := gα olsun y

12 := g

α2

o2.2. i := i+ 1

3. x := (xixi−1...x0)2

Algoritma 5.3 de y := gα elemanınınmod p de karekökünü etkili bir sekilde hesaplayan

algoritmalar mevcuttur (Crandall and Pomerance 2005). Fakat, iki tane karekök

oldugundan hangisinin yα2 oldugunu belirlemenin yöntemi bilinmemektedir. Dolayısıyla,

bölme ve ardısık karekök alma algoritmasını bu sekilde kullanamayız.

y = gx, mod p de kuadratik rezidü olsun. y nin karekökleri gx2 ve g

x2+ p−1

2 dir. Eger

p ≡ 1 (mod 4) iseesb

³x2

´= esb

µx

2+

p− 12

¶dir. Dolayısıyla hangi karekökü seçersek seçelim x1 bitini dogru sekilde belirleye-

biliriz. Genel olarak, eger p − 1 = 2rs , s tek ve r > 1 ise x sayısının son r bitini

26

Page 38: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Bölme ve ardısık karekök alma algoritması ile belirlenebilir. (r + 1) . bitten itibaren

ise dogru karekökün hangisi oldugu bilinmediginden bu bitler bu yolla belirlenemez.

Bölme ve ardısık karekök alma algoritmasında karekök aldıgımızda iki karekökten

hangisinin dogru karekök oldugu bilinmese de Gadiyar vd. (2009) tarafından rast-

gele bir kök seçilerek DLP yi hesaplayan olasılıksal bir algoritma asagıdaki sekilde

verilmistir.

Algoritma 5.4 (DLP yi hesaplayan olasılıksal bir algoritma)

Girdi : g, y ve p öyle ki gx ≡ y (mod p)

Çıktı : x

1. Bir B pozitif tamsayısı belirle ve {kj}, tamsayıların bir alt dizisi olmak üzerej = 0, 1, 2, ..., B için

¡gkj , kj

¢elemanlarından olusan A dizisini olustur. B ve C yi

bos dizi olarak tanımla.

2. m := x , k := 0 , cakisma := 0

3. cakisma = 0 oldukça

3.1. Eger³yp

´= −1 ise

y := y ∗ g−1 (mod p) , m := m− 1y ∈ A, B veya C ise

cakisma := 1

kuvvet := y sayısına dizide karsılık gelen kuvvet

Çoz (m, kuvvet, k)

(y,m) yi B ye ekle

3.2. y := y12 (mod p) , m := m

2, k := k + 1

y (veya p− y) ∈ A, B veya C ise

cakisma := 1

kuvvet := y (veya p− y) sayısına dizide karsılık gelen kuvvet

Çoz (m, kuvvet, k)

(y,m) ve (p− y,m) yi C ye ekle

y yi rastgele y veya p− y olarak belirle

Çoz (a, b, t) :

2ta ≡ 2tb (mod p) lineer kongrüansının çözümlerini belirleyip x in muhtemel deger-

27

Page 39: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

lerini bul. Bu degerlerden

gx ≡ y (mod p) (5.9)

denklemini saglayan x tamsayısını belirle.

Algoritma 5.4 ü kısaca özetleyelim. A dizisi, önceden hesaplanan B tane g nin

kuvvetinden ve bu elemanlara karsılık gelen kuvvetlerden olusmaktadır. B dizisi

ise³yp

´= −1 olacak sekildeki y ara degerlerinden ve onlara karsılık gelen x in li-

neer fonksiyonu olan m kuvvetlerinden olusmaktadır. Benzer sekilde C dizisi de³yp

´= 1 olacak sekildeki y ara degerlerinden ve onlara karsılık gelen x in lineer

fonksiyonu olan m kuvvetlerinden olusmaktadır. y nin her yeni degerinin A, B

veya C ile çakısıp çakısmadıgı kontrol ediliyor. Eger bir çakısma varsa y için karsılık

gelen kuvvetlerden bir lineer denklem olusturulup çözülerek x in mod (p − 1) dekiolası degerleri belirleniyor. Bir lineer denklemin etkili bir sekilde çözümleri bulun-

abilir. Bu çözümlerden büyük bir olasılıkla istenilen diskret logaritma belirlenebilir.

Dolayısıyla, bu algoritma olasılıksal bir algoritmadır. Bununla birlikte, algoritmada

rastgele bir karekök seçilmesi de algoritmanın olasılıksal olmasına etkendir. Al-

goritmada k degiskeni kaç defa karekök alındıgını sayar. Çakısma bulundugunda

Çoz (a, b, t) fonksiyonunda olusturulan denklemin her iki tarafı 2k ile çarpıldıgı için

algoritmada yanlıs karekökler seçilmis olsa bile bu karısıklık giderilmis olur. Aynı

zamanda, bu islem denklemin katsayılarının tamsayı olmasına neden olur.

Algoritma 5.4 ün çalısma zamanı ve hafıza gereksinimi B ≈ √p için O ¡√p¢ dir.(Gadiyar et al. 2009).

Örnek 5.7 p = 103 asal tamsayısı için g = 5, Zp de bir primitif köktür. B = 7 ve

j = 1, 2, .., 7 için kj = 2j−1 olsun. Bu durumda A dizisi asagıdaki gibidir.

j 0 1 2 3 4 5 6

52j(mod 103) 5 25 7 49 32 97 36

28

Page 40: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Algoritma 5.4 ü y = 84 için uygularsak,

y103

¢y ∗ g−1 (mod 103) y

12 ve − y

12 Rastgele seçilen karekök m

84 −1 58 − − x− 158 1 − 26 , 77 77 x−1

2

77 −1 36 − − x−12− 1

36 için A dizisinde bir çakısma bulduk. Yalnızca bir kere karekök aldıgımızdan k = 1

dir. Dolayısıyla,

2 ∗µx− 12− 1¶≡ 2 ∗ 26 (mod 102)

lineer denklemini çözersek x ≡ 29 (mod 102) dir.

Örnek 5.8 p = 103 asal tamsayısı için g = 5, Zp de bir primitif köktür. B = 7 ve

j = 1, 2, .., 7 için kj = 2j−1 olsun.

Algoritma 5.4 ü y = 99 için uygularsak,

y103

¢y ∗ g−1 (mod 103) y

12 ve −y 1

2 Rastgele seçilen karekök m

99 -1 61 - - x− 161 1 - 24 , 79 24 1

2(x− 1)

24 -1 46 - - 12(x− 3)

46 1 - 47 , 56 56 14(x− 3)

56 1 - 46 , 57 - 18(x− 3)

4. sütundaki 46 ile 3. sütündaki ile çakıstı. 3 kere karekök alındıgından

x− 3 ≡ 4 (x− 3) mod 102

dir. Lineer denklemi çözersek, x ≡ 3 (mod 34) dir. Dolayısıyla, x in olası deger-leri 3, 37 ve 71 dir. Bu durumda x diskret logaritmasının degeri (5.9) denklemi kul-

lanılarak 37 olarak belirlenebilir.

Bu algoritma, ebob(r, p − 1) = 1 olmak üzere r ve s tamsayıları için³yp

´= −1

durumunda

y := y ∗ g−1 (mod p) ve m := m− 1

yerine

y := yr ∗ gs (mod p) ve m := rm+ s

29

Page 41: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

islemi uygulanarak genellestirilebilir. Nasıl bir (r, s) ikilisi seçilmeli ki algoritmanın

çalısma zamanı azalsın? sorusu sorulabilinir. Bu simdilik açık bir problemdir.

Gadiyar vd. (2009) nin bu algoritması aslında Pollard ρ-algoritmasına benzer bir

algoritmadır. Çünkü, Algoritma 5.4, baslangıç degeri h0 := y olmak üzere

fG (h) :=

⎧⎪⎪⎪⎨⎪⎪⎪⎩h (mod p) nin rastgele seçilen bir kökü, Eger

³hp

´= 1 ise

hrgs (mod p) , Eger³hp

´= −1 ise

iterasyon fonksiyonu ile üretilen (hk) dizisinde A, B ve C dizilerini kullanarak bir

çakısma bulmaya çalısır.

Bu algoritmayı bu sekilde yorumlamamızın amacı fG iterasyon fonksiyonunun per-

formansını belirleyerek Gadiyar vd. (2009) ile Pollard ρ algoritmalarını kıyasla-

maktır. Bu iterasyon fonksiyonunun performansını belirlemek için r = 1, s = 1

ve B ≈ √p parametreleri seçilip Maple programı kullanarak Çizelge 5.1 i olustur-duk. Bu deneyde, sabitlenmis bir n pozitif tamsayı için 10n−1 < p < 10n olacak

sekilde rastgele bir p asal tamsayısı seçerek Fp cismini ve bu cisme karsılık gelen

bir primitif kök olusturuldu. Bu cismin çarpımsal grubundan S tane rastgele ele-man seçilerek her bir eleman için algoritmanın çakısmayı kaç iterasyonda buldugu

belirlenip toplam iterasyon sayısı T belirlendi. Buna göre, Lp

Lp :=T

S√polarak tanımlansın. Bu islem rastgele p asalları seçilerek olusturulan farklı gruplar

için de tekrarlanarak

L := Lp lerin aritmetik ortalaması

seklinde tanımlanan L degeri bulundu. L degeri basamak sayısı n olan bir grupta

algoritmanın performansını ölçmek için kullanılabilir. Çizelge 5.1 de, birinci sütun

grubun mertebesinin basamak sayısı n yi, ikinci sütun L degerini, üçüncü sütun kaç

farklı grup kullanıldıgını, dördüncü sütun gruptan seçilen rastgele eleman sayısı Syi ve besinci sütun da toplam örnek sayısını göstermektedir.

30

Page 42: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

n L #(Farklı grupların) S #(Toplam örnek)

3 0.542 100 100 10000

4 0.558 100 100 10000

5 0.564 100 100 10000

6 0.569 40 40 1600

7 0.575 20 30 600

8 0.627 5 10 50

Ortalama 0.555 - - 32250

Çizelge 5.1. Fp cisminin çarpımsal grubunda fG fonksiyonunun performansı

Çizelge 5.1 kullanılarak Gadiyar vd. nin algoritması ile Pollard ρ-algoritmasının per-

formansları kıyaslanabilir. Pollard ρ-algoritması, F∗p cisminin çarpımsal grubunda

herhangi bir çakısma bulma algoritması kullanmadan bir çakısmayı yaklasık 1.55√p

iterasyonda bulur (Bai and Brent 2008). Bununla birlikte, Pollard ρ-algoritmasının

iterasyon fonksiyonunda yalnızca bir grup islemi yapılmaktadır. Gadiyar vd. nin

algoritması ise Çizelge 5.1 den bir çakısmayı yaklasık 0.555√p iterasyonda bulur.

Fakat, bu algoritmanın iterasyon fonksiyonunda legendre sembolünün ve bir grup ele-

manının kuvvetinin hesaplanması gerekmektedir. Dolayısıyla, her iterasyon fonksiy-

onunda yaklasık O¡log3 p

¢grup islemininin yapılması gerekir. Böylece, Pollard ρ-

algoritması bir çakısmayı yaklasık olarak 1.55√p grup isleminde bulurken, Gadiyar

vd. nin algoritması 0.555√pO¡log3 p

¢grup isleminde bulur. Sonuç olarak, p > 27

için

0.555√pO¡log3 p

¢> 1.55

√p

oldugundan Pollard ρ-algoritmasının Gadiyar vd. nin algoritmasına göre pratikte

daha etkili oldugunu deneysel olarak göstermis olduk.

Pollard ρ-algoritmasında bir çakısma bulma algoritması kullanılarak çok az bir hafıza

ile bir çakısma bulunabiliyordu. Gadiyar vd. nin algoritmasında ise, kullanılan i-

terasyon fonksiyonunda rastgelelik oldugundan bir çakısma olustuktan sonra bir

devir elde edilemez. Dolayısıyla, algoritmanın bu halinde bir çakısma bulma algo-

31

Page 43: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

n L #(Farklı grupların) S #(Toplam örnek)

3 1.164 100 100 10000

4 1.185 100 100 10000

5 1.261 100 100 10000

6 1.365 40 40 1600

7 1.217 20 30 600

8 1.135 5 10 50

Ortalama 1.211 - - 32250

Çizelge 5.2. Fp cisminin çarpımsal grubunda fM fonksiyonunun performansı

ritması kullanılamaz. Bu rastgeleligi ortadan kaldırmak için iterasyon fonksiyonunu

fM (h) :=

⎧⎪⎪⎪⎨⎪⎪⎪⎩h (mod p) nin küçük olan kökü , Eger

³hp

´= 1 ise

hrgs (mod p) , Eger³hp

´= −1 ise

seklinde tanımlayalım. Bu durumda, bu iterasyon fonkiyonunun ürettigi diziyi ele

alırsak bir çakısma olustuktan sonra bir devir olusur. Böylece, bir çakısma bulma

algoritması kullanılarak bu algoritma herhangi bir dizi olusturulmadan çok az bir

hafıza ile bir çakısma bulacak sekilde gelistirilebilir. Algoritmadaki bu degisiklilerin

çalısma zamanını nasıl etkiledigi asagıda incelenmistir.

Gadiyar vd. nin algoritması, iterasyon fonksiyonu olarak fM ve çakısma bulma algo-

ritması olarak Teske’nin (1998) algoritması kullanılarak r = 1 ve s = 1 parametreleri

için Maple programlama dilinde kodlanarak Çizelge 5.2 elde edilmistir.

Çizelge 5.2 ye göre algoritmanın bu versiyonu Fp sonlu cismindeki çarpımsal grupta

bir çakısmayı yaklasık L = 1.211√p iterasyonda bulur. Dolayısıyla, iterasyon

fonksiyonunda rastgeleligin kaldırılması ve dizi olusturulmadan bir çakısma bulma

algoritması kullanılması performansı önemli ölçüde azaltmamıstır. Üstelik, ihmal

edilebilir bir hafıza ile çakısmayı bularak algoritmayı hafıza açısından önemli dere-

cede gelistirmis olduk.

32

Page 44: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

6. YARI-ÜSTEL ZAMANLI ALGORITMALAR

Sonlu cisimlerde diskret logaritma hesabı için yarı-üstel zamanlı algoritmalar mev-

cuttur. Bu algoritmalar Bölüm 5 deki algoritmalardan farklı olarak düzgünlük

kavramından bahsedilebilen gruplar için kullanılabilir ve indeks calculus algorit-

malar olarak adlandırılır. Indeks calculus algoritmalar çalısma zamanı kesin (rigor-

ous) veya bazı kabullere dayanan (heuristic) algoritmalar olarak ikiye ayrılır. Birinci

tipteki algoritmalar teorik açıdan, ikinci tipteki algoritmalar ise pratik açıdan önem-

lidir. Bu bölümde, Fp ve F2n cisimlerinin kriptografi açısından öneminden dolayı bu

cisimler üzerinden bazı heuristic olan indeks calculus algoritmalarına deginilecektir.

6.1 Düzgünlük Kavramı

p bir asal tamsayı, d ∈ Z+ ve q := pd olarak tanımlansın. Sonlu cisimler asagıdaki

gibi temsil edilebilirler.

1. p asal olmak üzere Fp ∼= (Z/pZ) oldugundan

Fp nin elemanları [0, p− 1] aralıgındaki tamsayılar ile, (6.1)

2. f (x) polinomu Zp [x] de indirgenemez olmak üzere Fpd ∼= Zp [x] / < f (x) >

oldugundan

Fq nun elemanları polinomlar ile, (6.2)

3. Fpd ∼= ZK/ < p > oldugundan

Fq nun elemanları cebirsel tamsayılar ile (6.3)

temsil edilebilir.

Indeks calculus algoritmalarında düzgün tamsayılar, polinomlar veya cebirsel tam-

sayılar kullanılır.

Düzgün sayılar çarpanlara ayırma, diskret logaritma veWaring problemi vb. konular

için çok önemli bir yere sahiptir.

33

Page 45: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

x #{I deki asallar} #{J deki asallar} #{I daki √x-düzgün sayılar}100 25 4 46

1000 168 11 434

10000 1229 25 3716

100000 9562 65 35819

Çizelge 6.1. Düzgün sayıların yogunlugu

6.1.1 Düzgün tamsayılar

Tanım 6.1 (Düzgün tamsayı) Eger bir pozitif tamsayının bütün asal bölenleri bir

B sayısından küçükse bu tamsayıya B-düzgün denir.

Çizelge 6.1 de I ve J sırasıyla [1, x] ve [1,√x] aralıklarını göstermektedir ve 100000

den küçük x pozitif tamsayıları için J aralıgındaki asal sayısı I aralıgındaki asal

sayısına göre ihmal edilebilir sayıdadır. Fakat, ilginç bir sekilde√x-düzgün tam-

sayıların sayısı [1, x] aralıgındaki tamsayıların sayısının en az %30 unu olusturmak-

tadır. Düzgün sayıların ÇA ve DL problemlerinde kullanılmasının sebebi bu yogun-

lugundan dolayıdır.

Bu durum, herhangi bir B ∈ Z+ için

Ψ (x, y) := # {1 6 n 6 x | n sayısı B-düzgün}

fonksiyonunun incelenmesini gerektirir. Bu fonksiyon asimtotik açıdan literatürde

genis bir sekilde ele alınmıstır.

u := log x/ logB ve ρ (u),

0 6 u 6 1 için ρ (u) = 1 ve uρ0(u) + ρ (u− 1) = 0 (6.4)

diferansiyel denkleminin çözümü olmak üzere Dickman (1930),

Ψ¡x, x1/u

¢ ≈ xρ (u)

yaklasmını vermistir. (6.4) deki diferansiyel denklemin ρ (u) çözümü

ρ (u) ≈ u−u+o(u)

34

Page 46: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olarak verilebilir. Dolayısıyla,

Ψ (x,B)

x≈ u−u+o(u) (6.5)

dur.

Indeks calculus algoritmalarının analizi için x nin ve B nin büyüklükleri sırasıyla

x = Lp [s; c] ve B = Lp [sB; cB] dir. Bu durumda, [1, x] aralıgından seçilen rastgele

bir tamsayının B-düzgün olma olasılıgı

Ψ (x,B)

x= Lp

∙s− sB;− (s− sB)

c

cB+ o (1)

¸dır (Studholme 2002). Bu algoritmaların bir kısmında bir aralıktaki degerlerin B-

düzgün olup olmadıgına bakmak yerine bir polinomun belli bir aralıktaki görüntü-

lerinin düzgün olup olmadıgına bakılır. Bu durum için asagıdaki kestirim verilebilir.

Kestirim 6.1 f , Z üzerinde n degiskenli bir polinom ve£−1

2C, 1

2C¤aralıgındaki

xi tamsayıları için |f (x1, x2, ..., xn)| < A olsun. ai ler£−1

2C, 1

2C¤aralıgından rast-

gele seçilen tamsayılar olmak üzere f (a1, a2, ..., an) degerinin B-düzgün olma olasılıgıΨ(A,B)

Adır. Eger B = Lp [sB; cB] ve A = Lp [sA; cA + o (1)] olarak seçilirse

Ψ (A,B)

A= Lp

∙sA − sB;− (sA − sB)

cAcB+ o (1)

¸dir.

6.1.2 Düzgün polinomlar

p asal olmak üzere Zp [x] halkası bir çok yönden Z halkasına benzer. Örnegin, Zp [x],

Z halkası gibi asagıdaki özellikleri saglar.

• Tek türlü çarpanlarına ayrılabilen bölgedir (TTÇAB).

• Sonlu sayıda terslenebilen elemana sahiptir.

• Sıralanabilen bir halka olmamasına ragmen polinomların dereceleri yardımıylabüyüklük-küçüklük kavramı olusturulabilir.

35

Page 47: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Dolayısıyla, tamsayılar için tanımlanan düzgünlük kavramı polinomlar için uyarla-

nabilir.

Tanım 6.2 (Düzgün polinom) Eger bir polinomun bütün asal bölenlerinin derecesi

bir pozitif m tamsayısından küçükse bu polinoma m-düzgün denir.

Düzgün polinomların sayısı da düzgün tamsayılar gibi yogundur. Yani, Zp [x] de

u := d/b olmak üzere derecesi d den küçük olan bir polinomun b-düzgün olma

olasılıgı u−u dur (Odlyzko 1985). Özel olarak,

N (k,m) := # {p (x) ∈ Z2 [x] | do (p (x)) = k , p (x) polinomu m-düzgün}

ve

p (k,m) := Z2 [x] de derecesi k olan bir polinomun m-düzgün olma olasılıgı

olarak tanımlansın. Bu durumda,

p (k,m) =N (k,m)

N (k, k)=

N (k,m)

2k

dır.

N (k,m) nin yaklasık degerini hesaplayan asagıdaki teoremi vermistir (Odlyzko

1985).

Teorem 6.1 I (k), Z2 [x] de derecesi k dan küçük asal polinomların sayısı olmak

üzere

fm (z) =mYk=1

¡1− zk

¢−I(k)ve

b (z) =

µf 0mfm(z)

¶0=

mXk=1

I (k)

µk (k − 1) zk−2

1− zk+

k2z2k−2

(1− zk)2

¶ise n1/100 6 m 6 n99/100 , n→∞ için

N (n,m) ≈ (2πb (r0))−1/2 fm (r0) r−n0

dir. Burada, r = r0 = r0 (m,n) ifadesi

rf 0mfm(r) = n

denkleminin tek çözümünü göstermektedir.

36

Page 48: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Sonuç 6.1 n1/100 6 m 6 n99/100 , n→∞ için

N (n,m) ≈ 2n³mn

´(1+o(1))n/mdir.

Sonuç 6.1 den

p (n,m) =N (n,m)

N (n, n)≈ exp

³(1 + o (1))

n

mloge

m

n

´(6.6)

olarak bulunur.

6.2 Fp de Indeks Calculus Algoritması

Günümüzde, sonlu cisimlerde DLP yi çözen en etkili algoritmalar indeks calcu-

lus algoritmalarıdır. Bu algoritmaların temel fikri Kraitchik (1922) tarafından or-

taya atılmıstır. Bu algoritma sınıfının ilk versiyonunu temel indeks calculus (TIC)

olarak adlandıralım. Fp asal cismi için TIC algoritması Adleman (1979), Merkle

(1979) ve Pollard (1978) tarafından birbirlerinden bagımsız olarak bulunmus ve

analiz edilmistir. Bu algoritma sabit bir p asalı ve n → ∞ için Fpn sonlu cis-

mine genellestirilmistir (Hellman and Reyneri 1983). Bu bölümde, TIC algoritması

Fp cismi üzerinden anlatılacaktır.

Fp cisminde x := (d log)g y diskret logaritması hesaplanmak istensin. B pozitif bir

tamsayı olmak üzere S kümesi

S := {p asal tamsayı | p 6 B}

seklinde tanımlansın. S kümesi çarpan tabanı veB tamsayısı düzgünlük sınırı olarak

adlandırılır. TIC algoritması iki ana bölümden olusur. Birinci bölüm, bagıntılar

elde edilerek S kümesinin elemanlarının diskret logaritmalarını bulmaktan olusur.

Bu bagıntılar,

i = 1, 2, ..., k için gr ≡ pr11 pr22 ...p

rkk (mod p) , pi ∈ S

seklindeki denklemlerden elde edilirler. Bu tip bir denklemden logaritmanın özellik-

lerini kullanarak

r ≡ r1 (d log)g p1 + r2 (d log)g p2 + ...+ rk (d log)g pk (mod p− 1) (6.7)

37

Page 49: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

denklemi elde edilebilir. Bu denklemi bagıntı olarak adlanrıcagız.Eger yeterince bu

sekilde bagıntı elde edilebilirse lineer cebir kullanılarak S kümesindeki elemanların

diskret logaritması hesaplanabilir. Algoritmanın ikinci bir bölümü ise istenilen x

diskret logaritmasının hesaplanmasından olusur. Eger

i = 1, 2, ..., k için gRy ≡ pα11 pα21 ...pαkk (mod p) , pi ∈ S

seklinde bir denklem elde edilebilirse, logaritmanın özelliklerinden

x = (d log)g y ≡ −R+ α1 (d log)g p1 + α2 (d log)g p2 + ...+ αk (d log)g pk (mod p− 1)(6.8)

dir. Bu tip bagıntılar rastgele r veR tamsayıları seçilerek olusturulabilir. Dolayısıyla,

(6.8) bagıntısında, R tamsayısı ve S kümesindeki elemanların DL leri bilindiginden

x = (d log)g y elde edilebilir.

Algoritma 6.1 (TIC algoritması)

Girdi : p asal, Fp nin bir primitif elemanı g ve y ∈ FpÇıktı : x := (d log)g y

1. Bir B (düzgünlük sınırı) seç ve

S := {p | p asal tamsayı ve p 6 B}

çarpan tabanını olustur.

2. r ∈ [1, p− 2] olacak sekilde rastgele r tamsayıları seçerek |S| den fazla B-düzgünh := gr (mod p) tamsayıları belirle. Eger h tamsayısı B-düzgünse,

h ≡Yv∈S

vev(h) (mod p)

olacak sekilde çarpanlarına ayrılır. Bu çarpanlara ayrılıstan

(d log)g h ≡Xv∈S

ev (h) (d log)g v (mod p− 1)

bagıntısı elde edilebilir.

3. Adım 2 de elde edilen bagıntılardan lineer cebir kullanarak S kümesindeki asal-

ların diskret logaritmalarını belirle.

38

Page 50: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

4. Rastgele R ∈ [1, p− 2] tamsayıları seçerek B-düzgün olan bir h := ygR (mod p)

tamsayısı belirle. Bu durumda,

h ≡ ygR ≡Yv∈S

vev(h) (mod p)

⇒ x = (d log)g y ≡Xv∈S

ev (h) (d log)g v −R (mod p− 1)

dir.

Örnek 6.1 p = 1217 asal tamsayısı için Fp nin bir primitif elemanı g = 3 dür. Fpde y = 37 elemanının diskret logaritmasını indeks calculus algoritmasını kullanarak

hesaplamak isteyelim.

B = 13 düzgünlük sınırı için çarpan tabanı

S = {−1, 2, 3, 5, 7, 11, 13}

seklinde olur.

r = 1, 24, 25, 30, 54 ve 87 sanslı sayıları için

31 ≡ 3 (mod 1217) 330 ≡ −2× 52 (mod 1217)324 ≡ −22 × 7× 13 (mod 1217) 354 ≡ −5× 11 (mod 1217)325 ≡ 53 (mod 1217) 387 ≡ 13 (mod 1217)

denklemleri elde edilir. Fermat’ın küçük teoreminden −1 sayısının diskret loga-ritması

g(p−1)/2 ≡ −1 (mod p) =⇒ (d log)g (−1) =p− 12

= 608

dir. Dolayısıyla yukarıdaki denklemlerin her iki tarafının 3 tabanında diskret loga-

ritmasını alarak

1 ≡ (d log)3 3 (mod 1216)24 ≡ 608 + 2 (d log)3 2 + (d log)3 7 + (d log)3 13 (mod 1216)25 ≡ 3 (d log)3 5 (mod 1216)30 ≡ 608 + (d log)3 2× 2 (d log)3 5 (mod 1216)54 ≡ 608 + (d log)3 5 + (d log)3 11 (mod 1216)87 ≡ (d log)3 13 (mod 1216)

39

Page 51: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

bagıntıları elde edilir. Bu bagıntılardan lineer cebir kullanarak çarpan tabanındaki

elemanların diskret logaritmaları belirlenebilir.

R = 16 sanslı sayısı için

316 × 37 ≡ 23 × 7× 11 (mod 1217)

denklemi elde edilir. Bu denklemde her iki tarafın 3 tabanında diskret logaritması

alınırsa

16 + (d log)3 37 ≡ 3 (d log)3 2 + (d log)3 7 + (d log)3 11 (mod 1216)

bagıntısını elde edilir ve (d log)3 37 = 588 olarak belirlenir.

Algoritma 6.1 de 1,2 ve 3. adımlar algoritmanın birinci bölümü, 4. adım ise al-

goritmanın ikinci bölümü olarak adlandırılır. Bu algoritma için asagıdaki sorular

belirir.

• Bir sayının B-düzgün oldugu nasıl belirlenir ?

• Lineer cebir bölümünün detayları nedir ?

• B nin uygun degeri nedir?

• Bu algoritmanın çalısma zamanı nedir?

Bu sorular alt bölümlerde ele alınacaktır.

6.2.1 Düzgünlük testi

TIC algoritmasında, düzgünlük sınırı B seçilip çarpan tabanı S olusturulduktan

sonra çok sayıda B-düzgün sayı belirlenmesi gerekiyordu. Yani, bir tamsayının

düzgün olup olmadıgını test etmek (düzgünlük testi) önemlidir. Düzgünlük testi

için bazı çarpanlara ayırma algoritmaları ve eleme metotları kullanılabilir.

Pozitif tamsayıları çarpanlarına ayırmak için kullanılan normal bölme algoritması

düzgünlük testi olarak uyarlanabilir. Normal bölme algoritmasında bir sayının

çarpanları, kareköküne kadar olan asallara bölünerek belirlenir. Benzer sekilde, bir

40

Page 52: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

sayının düzgün olup olmadıgı, önceden olusturulan S kümesindeki asallara bölünerek

asagıdaki gibi belirlenir. Her bir bölme isleminde bölüm, sayının yeni degeridir ve

S deki asallara bölündügü sürece bölme islemi tekrar edilir. Bu islemin sonucunda,

eger bölüm 1 oluyorsa bu sayının bütün asal bölenleri S kümesinde demektir. Yani,

bu sayı B-düzgündür. S kümesinde π (B) tane asal oldugundan bu testin çalısma

zamanı O (π (B)) dir.

Düzgünlük testi olarak Pollard ρ veya eliptik egri çarpanlara ayırma algoritmaları

da kullanılabilir. Bu algoritmaların çalısma zamanları sırasıyla O³√

B´ve

O³exp

³p(2 + o (1)) logB log logB

´(log p)2

´dir. Burada p, düzgün olup olmadıgına bakılacak sayı için bir üst sınırdır.

Düzgünlük testi için en etkili yöntemler eleme metotlarını kullanmaktır. Eleme

metotlarından en çok bilineni belli bir aralıktaki asalları bulan Eratosthenes eleme-

sidir. Benzer bir mantık kullanılarak belli bir aralıkta, bir polinomun görüntülerinin

düzgün olup olmadıgı belirlenebilir. Bu yöntem polinom elemesi olarak adlandırılır.

f (x) := anxn+an−1xn−1+ ...+a1x+a0 olmak üzere x ∈ [c, d] tamsayıları için hangi

f (x) degerlerinin B-düzgün oldugu belirlenmek istensin.

p bir asal tamsayı olmak üzere

∀b ∈ Z+ için f (b) ≡ 0 (mod p)⇒ f (b+ p) ≡ 0 (mod p) (6.9)

dir. Belli bir p asalı için f (x) polinomunun Zp [x] de en fazla n tane kökü vardır.

Bu kölerden her biri için (6.9) kullanılırsa f (b) ≡ 0 (mod p) olacak sekildeki bütün btamsayıları bulunabilir. Özel olarak, [c, d] aralıgındaki hangi tamsayılar için polinom

degerlerinin p ile bölündügü belirlenebilir. Bu aralıktaki polinom degerlerini bir

diziye aktarıp p ile bölünebildigi yerlerdeki sayıların yeni degerleri bölüm olarak

degistirilir. S kümesindeki bütün asallar ve kuvvetleri için bu islem yapıldıgı taktirde

dizide 1 kalan yerler aralıktaki hangi tamsayılar için polinom degerlerinin B-düzgün

oldugunu verir.

41

Page 53: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Schirokouer (1993) [c, d] aralıgı için polinom elemesinin çalısma zamanını

π (B) (n+ logB)O(1) +O ((d− c) log logB)

olarak vermistir. Polinom elemesi dısında lattice ve q-özel gibi baska eleme metotları

da mevcuttur.

TIC algoritmasında polinom elemesi kullanabilmek için birinci ve ikinci bölümde

asagıdaki degisiklikler yapılabilir.

Birinci bölümde polinom elemesi ile bir bagıntı bulmanın yolu H :=§√

p¨ve yete-

rince küçük c1 ve c2 pozitif tamsayıları için mod p de (H + c1) (H + c2) çarpımını

hesaplamaktır. Eger H2 = p+ J öyle ki J ≈ O ¡√p¢ ise(H + c1) (H + c2) = H2 + (c1 + c2)H + c1c2

= p+ J + (c1 + c2)H + c1c2

≡ J + (c1 + c2)H + c1c2 (mod p)

dir. Dolayısıyla, mod p de (H + c1) (H + c2) çarpımı yaklasıkO¡√

p¢büyüklügündedir

ve yukarıda anlatılan polinom elemesi ile sabit bir c1 ve bir çok c2 degeri için düzgün

olup olmadıgı test edilebilir. Bu çarpım eger düzgünse,

(H + c1) (H + c2) ≡ pe11 pe22 ...p

ekk (mod p) (6.10)

dir. (6.10) dan,

(d log)g (H + c1)+(d log)g (H + c2) ≡ e1 (d log)g p1+e2 (d log)g p2+...+ek (d log)g pk (mod p− 1)

bagıntısı elde edilir.

TIC algoritmasının ikinci bölümünde ise verilen y nin diskret logaritmasını bulmak

için asagıdaki adımlar izlenebilir.

1. u =§√

p/y¨,§√

p/y¨, ... için

Eger u tamsayısı B-düzgünse 2. adıma git

2. v = H,H + 1, ... için

n ≡ uvy (mod p)

Eger n, B-düzgünse 3. adıma git

42

Page 54: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

3. TIC algoritmasının birinci bölümünden n, u ve v nin diskret logaritmalarını

bildigimizden ve 2. adımdan dolayı

(d log)g y ≡ (d log)g n− (d log)g u− (d log)g v (mod p− 1)

ifadesinden (d log)g y hesaplanabilir.

6.2.2 Lineer cebir

Düzgünlük kavramı ve çarpan tabanı kullanarak bir sayının çarpanını veya diskret

logaritmasını belirlemeye çalısan bir algoritmada, büyük bir lineer denklem siste-

minin olusturulup çözülmesine ihtiyaç vardır. Bu tip bir algoritmanın böyle bir

denklem sisteminin çözümüyle ilgili olan bölümü algoritmanın lineer cebir bölümü

olarak adlandırılır. Çarpanlara ayırma algoritmaları için lineer denklemler F2 ü-

zerinde olusturulur ve bu denklemler arasında bir lineer bagımlılık aranır. Diger

taraftan, DL algoritmaları için lineer denklemler herhangi bir sonlu cisim üzerinde

olabilir ve lineer cebir bölümünün amacı çarpan tabanındaki asalların diskret logarit-

malarını bulmaktır veya çarpan tabanı vasıtasıyla bir halkada kuvvet olusturmaktır.

Bu lineer sistemlerin büyüklügü, algoritmadaki düzgünlük sınırı B nin seçilisine

baglıdır. Algoritmanın çalısma zamanı açısından uygun bir B degeri için lineer sis-

temler 100000 bilinmeyenli 100000 denklemden olusan büyüklükte olabilir. Fakat,

bu tip bir sisteme karsılık gelen matrisin girislerinde çok sayıda sıfır olması (sparse)

çözüm bulmayı kolaylastırır. Böyle bir denklem sistemini çözmek için kullanılan ilk

yöntem Gauss eleminasyon yöntemidir. Su anda, bu tip büyük sistemleri çözen bir

çok algoritma mevcuttur. Bu algoritmaların en önemlileri Structured Gauss Elemi-

nasyon, Lanczos, Conjugate Gradient ve Wiedeman algoritmalarıdır. Bu bölümde,

Fp üzerindeki denklem sistemlerini çözen Lanczos algoritması özetle anlatılacaktır.

Fakat, bu algoritmalar n asal olmayacak sekildeki Z/nZ halkası üzerindeki bir den-

klem sistemi için de kullanılabilir. Eger n nin asal çarpanlarına ayrılısı biliniyorsa,

denklem sistemi bu çarpanlara ayrılıstaki asallarda çözülüp, elde edilen çözümler

asalların kuvvetlerine tasınabilir (Hensel 1975). Daha sonra, Çin kalan teoremi kul-

lanılarak Z/nZ üzerindeki çözümler elde edilebilir. Eger n nin asal çarpanlarına43

Page 55: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ayrılısı bulunamıyorsa, n sayısı asalmıs gibi kabul edilip yukarıdaki algoritmalardan

biri kullanılırsa, algoritma ya basarılı olur ya da n nin bir böleni elde edilir.

Gauss eleminasyon yönteminin matrisin seyrekligini bozmadan akıllıca kullanılması

structured Gauss eleminasyon (SGE) olarak bilinir. Fakat, genellikle indeks calculus

algoritmalarında SGE sistemi direk çözmek yerine sistemi küçültmek için kullanır.

Sistem küçültüldükten sonra sistemi çözmek için Lanczos, conjugate gradient veya

Wiedeman algoritmalarından biri kullanılır.

A ∈ Fn×np bir simetrik matris öyle ki det (A) 6= 0 ve w ∈ Fnp bir vektör olmak üzere,Lanczos algoritması

Ax = w , x ∈ Fnp (6.11)

seklindeki bir sistemi çözmek için kullanılır. Lanczos algoritmasının temel fikri vek-

törlerden olusan asagıdaki (wk) ve (vk) dizilerini hesaplamaktır. (wk) ve (vk) dizileri,

baslangıç degerleri

w0 : = w , v1 = Aw0 ,

w1 : = v1 − hv1,v1ihw0,v1iw0

olmak üzere i > 1 tamsayısı için

vi+1 : = Awi

wi+1 : = vi+1 − hvi+1,vi+1ihwi,vi+1i wi − hvi+1,viihwi−1,viiwi−1

seklinde tanımlanır.

hwj,Awji = 0 ve j 6 n olacak sekilde bir j pozitif tamsayısının varlıgı ispatlanabilir.

Eger wj = 0 ise

x =

j−1Xi=0

hwi,wihwi,vi+1iwi

vektörü (6.11) in bir çözümüdür.

Indeks calculus algoritmalarında, B ∈ Fm×np genel bir matris ve u ∈ Fmp bir vektörolmak üzere

Bx = u , x ∈ Fnp (6.12)

44

Page 56: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

sisteminin çözümü gerekmektedir. Fp cismini, |F | > n olacak sekilde daha büyük

bir F cisminin içine gömdügümüzü düsünelim. D ∈ (F ∗)m×m rastgele bir kösegenmatris olmak üzere

A := BTD2B

ve

w := BTD2u

seklinde tanımlansın. Bu durumda, (6.12) sisteminin bir çözümü (6.11) sisteminin de

bir çözümüdür ve büyük olasılıkla (6.11) sisteminin bir çözümü de (6.12) sisteminin

bir çözümüdür. Dolayısıyla, olasılıksal bir yöntem uygulanarak (6.12) nin çözümleri

Lanczos algoritması kullanılarak bulunabilir (LaMacchia and Odlyzko 1991).

Lanczos algoritması genellikle n boyutlu bir sistemi n iterasyonda çözer. Algorit-

manın çalısma zamanı O (n2) dir ve en önemli özelligi çok az hafızaya gereksinim

duymasıdır.

Conjugate Gradient algoritması Lanczos algoritmasının bir benzeridir. Yalnızca i-

terasyonlar biraz daha farklıdır. Conjugate Gradient algoritması çarpanlara ayırma

algoritmaları için daha kullanıslıdır ve O (n2) çalısma zamanına sahiptir. Wiedeman

algoritmasının da çalısma zamanının O (n2) olmasına ragmen eger ekstradan O (n2)

hafıza kullanılmazsa pratikte Lanczos algoritmasına göre önemli derecede yavastır.

Bu algoritmaların ayrıntıları için (LaMacchia and Odlyzko 1991) e bakınız.

6.2.3 Analiz

Indeks calculus algoritmalarında çalısma zamanını belirleyen en önemli etken düzgün-

lük sınırı B dir. B nin büyük seçilmesi durumunda, istenilen bagıntıları elde etmek

kolaylasırken matrisin boyutu büyüyeceginden algoritmanın lineer cebir bölümü zor-

lasır. B küçük seçildiginde ise istenilen bagıntıları elde etmek zorlasırken matris

boyutu küçüleceginden lineer cebir bölümü kolaylasır. Dolayısıyla, B nin degeri

algoritmanın çalısma zamanını minumum yapacak sekilde optimize edilmelidir. B

için teorik olarak uygun bir deger belirlenebilmesine ragmen B nin algoritma için

en uygun degeri pratikte belirlenebilir.

45

Page 57: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

TIC algoritmasının polinom elemesi kullanılan versiyonu için Studholme (2002), B

yi ve algoritmanın çalısma zamanını belirleyen asagıdaki analizi vermistir.

sB ve cB sabitleri için düzgünlük sınırı

B := Lp [sB; cB + o (1)]

seklinde tanımlansın. Algoritmada, istenilen sekilde bagıntılar elde edebilmek için

c1 ve c2 pozitif tamsayılar olmak üzere mod p de B-düzgün (H + c1) (H + c2) aranı-

yordu. c1 ve c2 tamsayıları

C := Lp [sC ; cC + o (1)]

olmak üzere [0, c] aralıgından seçilsin. Bu aralık eleme aralıgı olarak adlandırılır.

Böylece, mod p de düzgün olup olmadıgı test edilebilecek tamsayı sayısı

1

2C2 = Lp [sC ; 2cC + o (1)]

dir. Bulunması gereken düzgün tamsayı sayısı ise

B + C = Lp [sB; cB + o (1)] + Lp [sC ; cC + o (1)]

= Lp [maks {sB, sC} ;maks {cB, cC}+ o (1)]

dir. P , [0, p] aralıgından rastgele seçilen bir tamsayının B-düzgün olma olasılıgı

olmak üzere algoritmada yeterli sayıda B-düzgün sayı elde edebilmek için

1

2C2P > B + C (6.13)

esitsizliginin saglanması gerekir.

x ≡ (H + c1) (H + c2) (mod p), H = dLp [1; 1/2]e ve J = H2 − p 6 2H ise

x = J + (c1 + c2)H + c1c2

6 (2 + c1 + c2)H + c1c2

6 2Lp [sC ; cC + o (1)]Lp [1; 1/2] + Lp [sC ; 2cC + o (1)]

= Lp

∙1;1

2+ o (1)

¸46

Page 58: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olacak sekilde düzgünlügü test edilen x tamsayıları üstten sınırlandırılabilir.

Kestirim 6.1 in dogru oldugunu kabul edersek

P =Ψ(x,B)

x= Lp

∙1− sB;−1− sB

2cB+ o (1)

¸dir. Dolayısıyla, P yi (6.13) de yerine koyarsak

Lp [sC ; 2cC + o (1)] > Lp [maks {sB, sC} ;maks {cB, cC}+ o (1)] . (6.14)

Lp

∙1− sB;

1− sB2cB

+ o (1)

¸esitsizligi elde edilir. Bu esitsizlikten

sC > maks {sB, sC , 1− sB} (6.15)

oldugu söylenebilir.

Algoritmanın birinci bölümünde, polinom elemesi kullanarak istenilen bagıntıları

elde etmek için gereken zaman

C.³π (B) (1 + logB)o(1) + C log logB

´= Lp [maks {sB, sC} ; cC +maks {cB, cC}+ o (1)]

ve lineer cebir bölümü için gereken zaman

(B + C)2 = Lp [maks {sB, sC} ;maks {2cB, 2cC}+ o (1)]

dir. Böylece, algoritmanın birinci bölümünün toplam çalısma zamanı

Lp [maks {sB, sC} ;maks {2cB, 2cC}+ o (1)]

olarak verilebilir. Bu çalısma zamanını minumum yapabilmek için sB ve sC sabitleri

maks {sB, sC} degerini minumum yapacak sekilde seçilmelidir. (6.15) den dolayı

sC > maks {sB, 1− sB}

oldugundan sB = sC =12degerleri için maks {sB, sC} minumum olur. sB = sC =

12

için

B = Lp [1/2; cB + o (1)] ,

C = Lp [1/2; cC + o (1)] ,

P = Lp

∙1/2;

−14cB

+ o (1)

¸47

Page 59: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

dir. Bu durumda, (6.15) ifadesi

Lp [1/2; 2cC + o (1)] > Lp [1/2;maks {cB, cC}+ o (1)] .Lp [1/2; 1/4cB + o (1)]

haline dönüsür ve

2cC > maks {cB, cC}+ 1/4cB (6.16)

esitsizligi elde edilir. Aynı zamanda birinci bölümün çalısma zamanı

Lp [1/2;maks {2cB, 2cC}+ o (1)]

seklinde olur. Bu çalısma zamanını minumum yapabilmek için maks {2cB, 2cC}degerini minumum yapmak gerekir. maks {2cB, 2cC} degeri (6.16) ifadesinden dolayıcB = cC =

12degerleri için minumum degerini alır. Sonuç olarak, B ve C nin uygun

degerleri

B = Lp

∙1/2;

1

2+ o (1)

¸ve C = Lp [1/2; 1/2 + o (1)]

dir. Bu degerler için algoritmanın birinci bölümünün çalısma zamanı

O (Lp [1/2; 1 + o (1)])

dir.

Algoritmanın ikinci bölümünde U > B olacak sekilde baska bir düzgünlük sınırı U

belirlenip ygw (mod p) ifadesi U -düzgün olacak sekilde bir w tamsayısı belirlenmeye

çalısılıyordu.

U := Lp [sU ; cU + o (1)] ve uygun bir w bulma olasılıgı Pw := Lp [sw; cw + o (1)]

olsun. Düzgünlük testine tabi tutulan x ≡ ygw (mod p) sayıları için Lp [1, 1] = p bir

üst sınır oldugundan

Pw =Ψ (x,U)

p= Lp

∙1− sU ;−1− sU

cU+ o (1)

¸dir. Eger düzgünlük testi için eliptik egri çarpanlara ayırma algoritması kullanılırsa,

bir x tamsayısının düzgün olup olmadıgı için gerekli zaman

Lp

hsU2;√2sUcU + o (1)

iLp [0; 2]

= Lp

hsU2;√2sUcU + o (1)

i48

Page 60: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olacagından uygun bir w bulmak için gerekli zaman

Lp

∙1− sU ;

1− sUcU

+ o (1)

¸Lp

hsU2;√2sUcU + o (1)

i(6.17)

dir. sU =23ve cU =

¡13

¢1/3degerleri için sırasıyla maks {1− sU , sU/2} ve 1

(3cU )+

2pcU/3 minumum degerlerini aldıgından (6.17) ifadesi de minumum degerini alır.

Sonuç olarak, U nun uygun degeri

U = Lp

"2

3;

µ1

3

¶1/3+ o (1)

#ve ikinci bölümün çalısma zamanı

Lp

∙1

3; 31/3 + o (1)

¸olarak belirlenir.

6.3 F2n de Indeks Calculus Algoritmaları

TIC algoritması F2n sonlu cismindeki diskret logaritma hesabı için de uygulan-

abilir. Bu cisimlerin pratige uyarlanısı kolay oldugundan kriptografi açısından ayrı

bir önemi vardır. TIC algoritmasını uygulayabilmek için F2n cismi asagıdaki gibi

ifade edilebilir.

f , F2n [x] de derecesi n olan bir indirgenemez polinom olmak üzere

F2n ∼= F2 [x] / < f >

oldugundan, F2n cisminin bütün elemanları derecesi n den küçük F2 üzerindeki

polinomlar olarak düsünülebilir. TIC algoritması, F2n cismindeki diskret logaritma

hesabı için asagıdaki sekilde uyarlanabilir.

Algoritma 6.2 (F2n için TIC algoritması)

Girdi : n ∈ Z+, F2n nin bir primitif elemanı g ve y ∈ F2nÇıktı : x := (d log)g y

1. Bir m (düzgünlük sınırı) seç ve

S := {v (x) ∈ F2 [x] | v (x) , F2 [x] de indirgenemez ve do (v (x)) 6 m}49

Page 61: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

çarpan tabanını olustur.

2. s ∈ [1, 2n − 1] olacak sekilde rastgele s tamsayıları seçerek |S| den fazla m-düzgünh∗ := gs (mod f) polinomları belirle. Eger h∗ polinomu m-düzgünse,

h∗ ≡Yv∈S

vev(h∗) (mod f)

olacak sekilde çarpanlarına ayrılır. Bu çarpanlara ayrılıstan

(d log)g h∗ ≡

Xv∈S

ev (h∗) (d log)g v (mod 2

n − 1)

bagıntısı elde edilebilir.

3. Adım 2 de elde edilen bagıntılardan lineer cebir kullanarak S kümesindeki ele-

manların diskret logaritmalarını belirle

4. Rastgele s ∈ [1, 2n − 1] tamsayıları seçerek m-düzgün olan bir h∗ := ygs (mod f)

polinomu belirle. Bu durumda,

h∗ ≡ ygs ≡Yv∈S

vev(h∗) (mod f)

⇒ x = (d log)g y ≡Xv∈S

ev (h∗) (d log)g v − s (mod 2n − 1)

dir.

Örnek 6.2 F221 ∼= Z2 [x] / < x21 + x2 + 1 > , F221 cisminin bir primitif kökü

g := x18+x8+x6+x5+x dir. F221 de y := x19+x16+x7+x+1 elemanının diskret

logaritmasını indeks calculus algoritmasını kullanarak hesaplamak isteyelim.

m = 4 düzgünlük sınırı için çarpan tabanı

S := {x, x+ 1, x2 + x+ 1, x3 + x+ 1, x3 + x2 + 1, x4 + x+ 1, x4 + x3 + 1 ,

x4 + x3 + x2 + 1}

seklindedir.. s = 37, 40, 223, 268, 308, 349, 714, 752, 799, 870 ve 980 sanslı sayıları

50

Page 62: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

için F221 de gs elemanları

g37 = (x+ 1)x2 (x2 + x+ 1) (x3 + x2 + 1) (x4 + x3 + 1)2(x3 + x2 + 1)

(x4 + x3 + x2 + 1)

g40 = (x+ 1)4 (x2 + x+ 1)2(x4 + x3 + 1) (x4 + x3 + x2 + 1)

2

g223 = (x+ 1)3 (x2 + x+ 1) (x3 + x+ 1)2(x4 + x+ 1) (x4 + x3 + 1)

g268 = x (x4 + x+ 1) (x4 + x3 + 1) (x4 + x3 + x2 + 1)2

g308 = (x2 + x+ 1)3(x4 + x+ 1) (x4 + x3 + 1)

2

g349 = x9 (x+ 1) (x2 + x+ 1)5

g714 = x4 (x+ 1)3 (x3 + x+ 1)2

g752 = (x+ 1)4 (x2 + x+ 1)2(x3 + x2 + 1)

g799 = x4 (x2 + x+ 1)2(x4 + x3 + 1)

g870 = (x+ 1) (x3 + x+ 1) (x4 + x+ 1) (x4 + x3 + 1)2(x4 + x3 + x2 + 1)

g980 = (x3 + x2 + 1) (x4 + x+ 1)

oldugundan m-düzgündür. Bu denklemlerin her iki tarafının g tabanına göre diskret

logaritması alınırsa 8 bilinmeyenli 11 tane lineer denklem elde edilir. Bu denklem

sistemi mod 221 − 1 de çözülülerek çarpan tabanındaki elemanların diskret logarit-maları

(d log)g x = 425141 , (d log)g x3 + x2 + 1 = 1818568

(d log)g x+ 1 = 1318254 , (d log)g x4 + x+ 1 = 1951573

(d log)g x2 + x+ 1 = 648886 , (d log)g x

4 + x3 + 1 = 1196765

(d log)g x3 + x+ 1 = 1366996 , (d log)g x

4 + x3 + x2 + x+ 1 = 1359121

olarak belirlenebilir.

y elemanının diskret logaritmasını bulalım:

s = 150 için

h∗ ≡ ygs ≡ x2 (x+ 1)4¡x3 + x+ 1

¢ ¡x4 + x+ 1

¢ ¡x4 + x3 + x2 + x+ 1

¢(mod f)

⇒ (d log)g y + 150 ≡ 2 (d log)g x+ 4 (d log)g (x+ 1) + (d log)g¡x3 + x+ 1

¢+

(d log)g¡x4 + x+ 1

¢+ (d log)g

¡x4 + x3 + x2 + x+ 1

¢(mod 2n − 1)

⇒ (d log)g y = 10800838

Bu algoritmada 1,2 ve 3. adımlar algoritmanın birinci bölümü, 4. adım ise algorit-

manın ikinci bölümü olarak adlandırılır. Polinomları F2 [x] de çarpanlarına ayırmak51

Page 63: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

polinom zamanlı oldugundan algoritmanın analizinde ihmal edilecektir. Bu algo-

ritma için uygun m degeri ve algoritmanın çalısma zamanı asagıda incelecektir.

(6.6) den n1/100 6 m 6 n99/100 ve n→∞ için F2 [x] de derecesi n olan bir polinomun

m-düzgün olma olasılıgı

p (n,m) = exp³(1 + o (1))

n

mloge

m

n

´(6.18)

oldugu biliniyor. Algoritmada olusturulan h∗ polinomları derecesi n den küçük

rastgele polinomlar olarak kabul edilirse h∗ polinomunun m-düzgün olma olasılıgı

p (n,m) olarak kabul edilebilir. Bu durumda, algoritmanın ikinci bölümünde m-

düzgün bir polinom belirlemek için ortalama

p (n,m)−1

tane deneme yapılması gerekir. Böylece, ikinci bölümün çalısma zamanı

p (n,m)−1 =³ nm

´(1+o(1)) nm

dir. Algoritmanın ikinci bölümü asagıdaki düsünce kullanılarak gelistirilebilir (Blake

et al. 1984).

Bu algoritmada h∗ polinomlarının m-düzgün olup olmadıgına direk bakmak yerine,

h∗ ≡ w1w2(mod f) , do (wi) 6 n/2

olacak sekilde w1 ve w2 polinomları bulup, bu polinomlarınm-düzgün olup olmadık-

ları kontrol edilebilir. Genisletilmis Euclid algoritması kullanılarak böyle w1 ve w2

polinomları etkili bir sekilde olusturulabilir (Blake et al. 1984).

w1 ve w2 polinomları derecesi n/2 den küçük rastgele polinomlar olarak kabul

edilirse, bu polinomların ikisinin de m-düzgün olma olasılıgı

p (bn/2c ,m)2

dir. Dolayısıyla, bu düsünceyi kullanarak algoritmanın ikinci bölümünün çalısma

zamanı

p (bn/2c ,m)−2 =³ n

2m

´(1+o(1))n/m52

Page 64: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olacagından TIC algoritmasını 2n/m kat hızlandırılmıs olur. Aynımetot algoritmanın

birinci bölümünü hızlandırmak için de kullanılabilir.

Ikinci bölümün çalısma zamanı m büyüdükçe hızlanır. Fakat, algoritmanın birinci

bölümünden dolayı m büyüdükçe lineer cebir bölümü zorlasır. Dolayısıyla, m yi

algoritmanın birinci bölümü belirler ve m, çalısma zamanını minumum yapacak

sekilde optimize edilmelidir.

Algoritmanın birinci bölümünde yeterli sayıda bagıntı ortalama

|S| p (n,m)−1

denemede elde edilebilir. Eger bu bagıntıları elde etmek için Blake et al. (1984) nin

düsüncesi kullanılırsa

|S| p (bn/2c ,m)−2

deneme yaparak yeterli sayıda bagıntı elde edilebilir. Lineer cebir bölümü de dikkate

alınırsa birinci bölüm için gerekli adım sayısı

|S| p (bn/2c ,m)−2 + |S|2

dir. |S| ≈ 2m oldugundan birinci bölümün çalısma zamanı

2m³ n

2m

´n/m+ 22m (6.19)

olarak belirlenir. (6.19) ifadesi

m ≈ c1 (n loge n)1/2 , c1 := (2 loge 2)

−1/2 = 0.8493

için minumum degerini alır. Böylece, algoritmanın birinci bölümünün çalısma za-

manı c2 := c1 log2 2 + (2c1)−1 olmak üzere

n→∞ için exp³(c2 + o (1))

pn loge n

´dir. m ≈ c1 (n loge n)

1/2 için ikinci bölümün çalısma zamanı ise

n→∞ için exp³¡(2c1)

−1 + o (1)¢p

n loge n´

53

Page 65: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

haline dönüsür. Bu çalısma zamanları L fonksiyonu cinsinden ifade edilirse birinci

ve ikinci bölümlerin çalısma zamanları sırasıyla

L2n [1/2; 1.178] ve L2n [1/2; 0.588]

olarak belirtilebilir.

Son yıllarda, TIC algoritmasının modifikasyonu olan ve algoritmanın asimtotik per-

formansını artıran çesitli algoritmalar bulunmustur. Bu algoritmalarda F2 cismini

tanımlayan f (x) polinomunun,

f (x) = xn + f1 (x) , do (f1 (x)) küçük (6.20)

oldugu kabul edilir. Bu kabul önemli bir kısıtlama degildir (Odlyzko 1985).

Bu tip algoritmalardan bir tanesi Schroeppel çarpanlara ayırma algoritmasının bir

adaptasyonudur. f (x) polinomunun (6.20) ifadesini do (f1 (x)) 6 n/2 olacak sekilde

sagladıgı kabul edilsin. S1 ve S2 kümeleri

S1 := {p (x) ∈ F2 [x] | do (p (x)) 6 m ve p (x) , F2 [x] de asal}

ve

S2 :=©xk + g (x) | k := bn/2c ve do (g (x)) 6 m

ªseklinde olmak üzere çarpan tabanı S := S1 ∪ S2 olarak tanımlanır. TIC algorit-

masındaki h∗ polinomları, S2 kümesinden alınan herhangi iki xk+h1 (x) ve xk+h2 (x)

elemanı için

h∗ ≡ ¡xk + h1 (x)¢ ¡

xk + h2 (x)¢(mod f (x))

seklinde olusturulur. a := 2k − n olmak üzere

¡xk + h1

¢ ¡xk + h2

¢= x2k + xk + (h1 + h2) + h1h2

= xa (f + f1) + xk (h1 + h2) + h1h2

≡ xk (h1 + h2) + h1h2 + xaf1 (mod f)

oldugundan h∗ polinomunun derecesi yaklasık olarak n/2 dir. Eger h∗ polinomunun

bütün asal bölenleri S1 kümesinde ise bilinmeyenleri S kümesinin elemanlarının

54

Page 66: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

diskret logaritmalarından olusan bir bagıntı elde edilir. Bu sekilde |S| den fazlabagıntı elde edilerek S1 kümesindeki elemanların diskret logaritmaları lineer cebir

kullanarak belirlenebilir. Bu algoritma için uygun m degeri yaklasık

m ≈ c2pn loge n , c2 := 0.6005

ve birinci bölümün çalısma zamanı L2n [1/2; 0.8325] dir (Odlyzko 1985).

Çarpanlara ayırma metodu olarak kullanılan kübik eleme algoritması da benzer

sekilde uyarlanabilir. Bu algoritmanın mantıgı yukarıda bahsedilen algoritma ile

aynıdır. F2n cismini tanımlayan f (x) polinomunun (6.20) ifadesini do (f1 (x)) 6 n/3

olacak sekilde sagladıgı kabul edilsin. S1 ve S2 kümeleri

S1 := {p (x) ∈ F2 [x] | do (p (x)) 6 m ve p (x) , F2 [x] de asal}

ve

S2 :=©xk + g (x) | k := bn/3c ve do (g (x)) 6 m

ªseklinde olmak üzere çarpan tabanı S := S1 ∪ S2 olarak tanımlanır. Benzer sekilde,TIC algoritmasındaki h∗ polinomları, S2 kümesinden alınan herhangi iki xk+h1 (x)

ve xk + h2 (x) elemanı için

h∗ ≡ ¡xk + h1 (x)¢ ¡

xk + h2 (x)¢ ¡

xk + h1 (x) + h2 (x)¢(mod f (x))

seklinde olusturulur. a := 3k − n olmak üzere

¡xk + h1

¢ ¡xk + h2

¢ ¡xk + h1 + h2

¢≡ x3k + xk

¡h21 + h1h2 + h22

¢+ h1h2 (h1 + h2) (mod f)

≡ xaf1 + xk¡h21 + h1h2 + h22

¢h1h2 (h1 + h2) (mod f)

oldugundan h∗ polinomunun derecesi bu defa yaklasık n/3 dür. Eger h∗ polinomunun

bütün asal bölenleri S1 kümesinde ise yukarıda anlatıldıgı gibi bagıntılar elde edilerek

istenilen elemanların diskret logaritmaları belirlenebilir. Bu algoritma için uygun m

degeri yaklasık olarak

m ≈ c3pn loge n , c3 := 0.4903

55

Page 67: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ve algoritmanın birinci bölümünün çalısma zamanı L2n [1/2; 0.6797] dir (Odlyzko

1985).

TIC algoritmasının ikinci bölümü de yukarıda bahsedilen metotlarla benzer sekilde

gelistirilebilir. Aynı zamanda, anlatılan iki algoritma Fp cisminde de uygulanabilir

(Coppersmith et al. 1986).

TIC algoritmasında derecesi yaklasık n olan polinomların m-düzgün olup olmadıgı

kontrol ediliyordu. Yukarıda anlatılan iki algoritmanın TIC algoritmasından daha

hızlı olmasının temel sebebi ilk algoritmada derecesi yaklasık olarak n/2 olan, ikin-

cisinde ise n/3 olan tek bir polinomun m-düzgün olup olmadıgının kontrol edilme-

sidir. Derecesi daha küçük olan polinomların düzgün olma olasılıgı arttıgından

burada anlatılan iki algoritma TIC algoritmasından daha hızlıdır. Hatta, bu iki

algoritma Blake et. al. (1984) versiyonundan da daha hızlıdır. Çünkü, Blake ver-

siyonunda derecesi n/2 olan iki polinomun düzgünlügü test ediliyordu.

TIC algoritmasının versiyonları olan bu iki algoritma acaba genellestirilebilir mi?

gibi bir soru akla gelir. Coppersmith (1984) bunun bir yolunu bulmus ve TIC algorit-

masının bilinen en hızlı versiyonunu gelistirmistir. Fakat, Coppersmith algoritması

yalnızca F2n cismi için uygulanabilmektedir. Coppersmith algoritmasını sistematik

denklemlerden esinlenerek gelistirmistir.

6.3.1 Sistematik denklemler

TIC algoritmasının ilk bölümünde, bilinmeyenleri S kümesinin elemanlarının diskret

logaritması olan |S| den biraz daha fazla sayıda denklem elde edilmeye çalısılıyordu.Sistematik denklemler denilen bir metotla gerekli olan denklem sayısının yaklasık

yarısı etkili bir sekilde elde edilebilir (Blake et al. 1984). Bu metotdan yola çıkarak

Coppersmith F2n cisminde bilinen en etkili algoritmayı gelistirmistir.

F2n cismini tanımlayan f (x) polinomunun

f (x) |x2k + f1 (x)

ifadesini sagladıgı kabul edilsin. Herhangi bir u (x) ∈ S polinomu için

56

Page 68: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

(u (x))2n

= u¡x2

n¢= u (f1 (x))

dir. Eger u (f1 (x)) in bütün asal bölenleri S kümesinde ise istenilen sekilde bir

bagıntı elde edilmis olur.

u (f1 (x)) polinomunun çogu durumda bütün asal çarpanlarının derecesi u (x) poli-

nomunun derecesine esittir ve bu yolla en fazla Sdof1(x)

tane denklem elde edilebilir

(Blake et al. 1984).

Örnek 6.3 f (x) := x127 + x+ 1 asal polinomu için F2127 ∼= Z2 [x] / < f (x) > dir.

xf (x) = x128 + x2 + x oldugundan k := 7 ve f1 (x) := x2 + x için

f (x) |x2k + f1 (x)

ifadesi saglanır. m = 4 düzgünlük sınırı için çarpan tabanı

S := {x, x+ 1, x2 + x+ 1, x3 + x+ 1, x3 + x2 + 1, x4 + x+ 1, x4 + x3 + 1 ,

x4 + x3 + x2 + 1}

seklindedir. S kümesinin herhangi bir elemanının 2k-ıncı kuvvetinin m-düzgün olma

olasılıgı büyüktür. Gerçekten,.

x128 ≡ x (x+ 1) (mod f)

(x+ 1)128 ≡ x2 + x+ 1 (mod f)

(x2 + x+ 1)128 ≡ x4 + x+ 1 (mod f)

(x3 + x+ 1)128 ≡ x3 + x+ 1 (mod f)

(x3 + x2 + 1)128 ≡ x6 + x5 + x3 + x2 + 1 (mod f)

(x4 + x+ 1)128 ≡ (x4 + x3 + 1) (x4 + x3 + x2 + x+ 1) (mod f)

(x4 + x3 + 1)128 ≡ x8 + x6 + x5 + x3 + 1 (mod f)

(x4 + x3 + x2 + x+ 1)128 ≡ x8 + x6 + x5 + x4 + x3 + x+ 1 (mod f)

oldugundan gerekli olan 8 denklemden 5 tanesi bu yolla elde edilmis oldu.

6.3.2 Coppersmith versiyonu

Coppersmith versiyonu, F2 cisminde (A + B)2 = A2 + B2 esitliginin saglanması

gerçegine dayanır. Bu esitlik kullanılarak düzgünlügü test edilmek için üretilen

57

Page 69: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

polinomların daha düsük derecede olması saglanmıstır. Dolayısıyla, Coppersmith

versiyonu F2n cismindeki DLP yi çözen en etkili algoritmadır.

f(x) polinomu (6.20) ifadesini dof1(x) 6 n23 olacak sekilde saglasın ve TIC algorit-

masındaki gibi bir m düzgünlük sınırı için S kümesi çarpan tabanı olarak tanımlan-

sın. Coppersmith versiyonunda istenilen bagıntılar asagıdaki gibi elde edilir :

1. Bir k pozitif tamsayısı seç (2k ≈ n13 (loge n)

− 13 )

2. h :=¥n2−k

¦+ 1

3. B ≈ n13 (loge n)

23 olmak üzere aralarında asal ve dereceleri B den küçük olan F2

üzerinde iki tane u1 (x) ve u2 (x) polinomlarını seç

4. w1 (x) := u1 (x)xh + u2 (x)

5. w2 (x) := (w1 (x))2k (mod f (x))

6. Eger w1 (x) ve w2 (x) polinomlarının bütün asal bölenleri S kümesinde ise

(d log)g w2 (x) ≡ 2k (d log)g w1 (x) (mod 2n − 1)

oldugundan istenilen sekilde bir bagıntı elde edilir.

Coppersmith versiyonunda,

w2 (x) ≡ u1³x2

k´xh2

k+ u2

³x2

k´(mod f (x))

≡ u1³x2

k´xh2

k−nf1 (x) + u2³x2

k´ (6.21)

dir. Eger B ≈ n13 , 2k ≈ n

13 seçilirse h ≈ n

23 ve h2k − n ≈ n

13 olur. Böylece,

(6.21) den dow1 (x) ve dow2 (x) yaklasık olarak n23 olur. Yani, Coppersmith versi-

yonunda bagıntılar derecesi n23 olan iki tane polinomun düzgün olup olmadıgı test

edilerek olusturuluyor. Bu yüzden Coppersmith versiyonu TIC algoritmasının en

etkili versiyonudur.

Yukarıdaki adımlar izlenerek bagıntılar elde edildikten sonra TIC algoritmasındaki

gibi lineer cebir kullanarak S kümesindeki elemanların diskret logaritmaları hesa-

planır ve algoritmanın birici bölümü tamamlanmıs olur. Coppersmith versiyonu için

m nin uygun degeri

m ≈ n13 (loge n)

23

58

Page 70: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ve algoritmanın birinci bölümünün çalısma zamanı

c4 < 1.351 olmak üzere L2n [1/3; c4]

dir (Coppersmith 1984).

Coppersmith versiyonunun ikinci bölümü ise TIC algoritmasından biraz daha farklı

ve karmasıktır. Coppersmith versiyonunun ikinci bölümündeki temel düsünce iste-

nilen diskret logaritmayı bulmak için polinomların olusturdugu azalan (dereceleri

açısından) bir dizinin diskret logaritmalarını hesaplamaktır. Detaylar için Copper-

smith’in (1984) makalesine bakılabilir. Coppersmith bu yolla algoritmanın ikinci

bölümünün çalısma zamanının

c5 < 1.098 olmak üzere L2n [1/3; c5]

oldugunu göstermistir.

Örnek 6.4 f (x) := x127 + x+ 1 asal polinomu için F2127 ∼= Z2 [x] / < f (x) > dir.

Coppersmith versiyonunda parametreleri k := 2, h :=¥n2k

¦+ 1 ve B := 10 olarak

seçelim. Bu durumda, 221 tane (u1 (x) , u2 (x)) ikilisi seçiebilir. Algoritmada üretilen

w1 (x) ve w2 (x) polinomlarının derecesi en fazla 42 olur.

Adleman (1994), Coppersmith versiyonunu ln p < n ve n → ∞ olacak sekilde Fpn

cismi için genellestirdi. Bu algoritma fonksiyon cismi elegi (FCE) olarak adlandırılır

ve bir c sabiti için Lpn [1/3; c] çalısma zamanına sahiptir.

59

Page 71: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

7. SAYI CISMI ELEGI (SCE)

F2n cismi üzerinde anlatılan TIC algoritması,

Fpn ∼= Zp [x] / < f (x) > , do (f (x)) = n ve f (x) , Zp [x] de asal (7.1)

izormorfizmasından yararlanılarak küçük bir p asalı ve n → ∞ için Fpn cismi

üzerinde DL hesabı yapan Lpn [1/2; c] zamanlı bir algoritma olarak uyarlanabilir.

Fakat, Örnegin büyük bir p asalı için Fp2 cismi ele alınırsa, (7.1) ifadesinden benzer

yolla yarı-üstel zamanlı bir algoritma gelistiremeyiz. Bu sorunun üstesinden gelmek

için bu tipteki sonlu cisimler elemanları cebirsel tamsayılar olacak sekilde (6.3) sek-

linde ifade edilirler. Coppersmith vd. (1986) Fp cismini (6.3) seklinde ifade ederek Fpdeki DLP yi çözen Lp [1/2; 1] zamanlı Gauss tamsayılar metodunu gelistirmislerdir.

Bu metot çarpanlara ayırma algoritması olan Sayı Cismi Elegi algoritmasının dog-

masına yol açmıstır.

Gordon (1993), Sayı Cismi Elegi algoritmasını Fp de DL hesabı için kullanılan

Lp

£1/3; 32/3

¤zamanlı bir algoritma olarak adapte etmistir. Schirokauer (1993) bu

algoritmayı çalısma zamanı Lp

h1/3; (64/9)1/3

iolacak sekilde gelistirmistir. Bu al-

goritma, çarpanlara ayırma durumundaki gibi Sayı Cismi Elegi (SCE) olarak ad-

landırılır ve su anda bir çok versiyonu mevcuttur. SCE algoritması, Gauss tamsayılar

metodunun genellestirilmesi veya indeks calculus algoritmalarının bir devamı olarak

görülebilir.

Günümüzde, SCE algoritmaları hem teorik hem de pratik açıdan sonlu cisimlerde

DLP yi çözen en etkili algoritmalardır. Weber (1995), Studholme (2002) ve Klein-

jung (2007) Fp için SCE yi basarılı bir sekilde pratige uyarlamıslardır. Bu bölümde,

özellikle Schrokauer’in (2008) makalesinden yararlanılarak Fp deki DL hesabı için

kullanılan SCE algoritması anlatılacaktır.

Fp (p asal) deki DLP hatırlanırsa g, Fp nin primitif kökü olmak üzere verilen bir

y ∈ Fp içingx ≡ y (mod p)

60

Page 72: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

denklemini saglayan en küçük x pozitif tamsayısı bulunmaya çalısılıyordu.

Burada anlatılacak algoritma, bir B düzgünlük sınırı için B-düzgün g ve y kısıt-

lamaları altında q, p − 1 in asal bir böleni olmak üzere (d log)g y (mod q) ifadesinihesaplar. Bu kısıtlamalar istenilen diskret logaritmayı hesaplamak için ciddi bir

engel teskil etmez. Çünkü,

• Bu algoritma qe|p−1 olacak sekildeki bir e pozitif tamsayısı için (d log)g y (mod qe)yi hesaplayacak sekilde degistirilebilir. Böylece, p − 1 sayısının çarpanlaraayrılısı belirlendikten sonra Çin kalan teoremi uygulanarak (d log)g y hesa-

planabilir.

• Eger g, B-düzgün degilse Fp nin B-düzgün olan baska bir h primitif elemanı

belirlendikten sonra (d log)h y ve (d log)h g hesaplanıp

(d log)g y =(d log)h y(d log)h g

ifadesinden (d log)g y hesaplanabilir.

• Eger y, B-düzgün degilse rastgele R pozitif tamsayıları seçilerek B-düzgün

z := gRy elemanı belirlenip (d log)g z, dolayısıyla (d log)g y hesaplanabilir.

7.1 SCE Algortimasının Taslagı

Bir önceki bölümde, Fp sonlu cismindeki DLP yi q, p − 1 in bir asal böleni ve B,düzgünlük sınırı olmak üzere B-düzgün g ve y elemanları için (d log)g y (mod q) yu

belirleme problemine indirgenebilecegini gördük.

Fp de

gx0y = γq (7.2)

seklinde bir esitlik bulunabilirse,

gx0y = γq ⇒ gx0y ≡ γq (mod p)

⇒ (d log)g gx0 + (d log)g y ≡ q (d log)g γ (mod p− 1)

⇒ x0 + (d log)g y ≡ 0 (mod q)⇒ (d log)g y ≡ −x0 (mod q)

61

Page 73: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

oldugundan (d log)g y (mod q) belirlenebilir. Asagıdaki algoritma kullanılarak (7.2)

seklindeki esitlik elde edilebilir.

Algoritma 7.1 (Sayı Cismi Elegi)

Girdi : Fp (p asal) nin B-düzgün bir g primitif elemanı ve y elemanı, p− 1 in birq asal böleni

Çıktı : x := (d log)g y (mod q)

1. (Polinom seçme) m, d ∈ Z+ olmak üzere f (m) ≡ 0 (mod p) olacak sekilde derecesid olan bir f (x) ∈ Z [x] polinomu belirle. α, f (x) polinomunun kompleks bir kökü

olmak üzereφ : Z [α] → FpX

biαi 7→

Xbim

i

dönüsümü bir halka homomorfizmasıdır.

2. (Çarpan tabanlarını olusturma) Belirlenen bir B-düzgünlük sınırı için

S1 := {p asal | p 6 B}

ve

S2 := {Normu B den küçük birinci dereceden asal idealler}

çarpan tabanlarını olustur.

3. (Eleme) Bir C pozitif tamsayısı için 0 < |a| , |b| 6 C aralıgında

a+ bm tamsayısı B-düzgün

ve

a+ bα elemanının normu B-düzgün

sartlarını gerçekleyen yeterli sayıda (a, b) ∈ Z × Z ikilisini eleme teknikleri kulla-narak belirle. S ile bu ikililerin olusturdugu küme gösterilsin

4. (Lineer cebir) S kümesindeki (a, b) ikililerinden ve logaritmik dönüsümleri kulla-

narak

δ := gx0yY

(a,b)∈S(a+ bm)xa,b öyle ki δ, Z de q-uncu kuvvet

ve

γ :=Y

(a,b)∈S(a+ bα)xa,b öyle ki γ, Z [α] da q-uncu kuvvet

62

Page 74: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ifadelerini olustur.

5. φ halka homomorfizması oldugundan φ (δ) ve φ (γ), Fp de q-uncu kuvvettirler ve

φ (δ) = gx0φ

⎛⎝ Y(a,b)∈S

(a+ bm)xa,b

⎞⎠ = gx0yφ (γ)

dır. Dolayısıyla gx0y, F∗p da q-uncu kuvvettir ve (7.2) den

x0 ≡ − (d log)g y (mod q)

olarak belirlenir.

Bu algoritmanın detayları alt bölümlerde ele alınacaktır.

7.2 Polinom Seçme

SCE algoritmasının birinci adımında istenilen özelliklerde bir polinom asagıdaki al-

goritma kullanılarak olusturulabilir.

Algoritma 7.2 (Taban-m)

Girdi : p asal elemanı

Çıktı : f (x) ∈ Z [x] polinomu1. Polinomun derecesi olacak d pozitif tamsayısını belirle

2. m :=¥p1/d

¦3. p, m tabanında yazılırsa,

p = md + ad−1md−1 + ...+ a1m+ a0 , 0 6 ai < m

esitliginden

f(x) := xd + ad−1xd−1 + ...+ a1x+ a0 , 0 6 ai < m

polinomunu olustur.

Bu algoritma ile olusturulan bir polinom asagıdaki özellikleri saglarsa SCE algorit-

ması için uygun bir polinom seçilmis olur.

1. f , Z [x] de asal63

Page 75: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

2. f , monik

3. do (f) = d

4. f (m) ≡ 0 (mod p)

5. q, asalı f polinomunun diskriminantını bölmesin

Taban-m algoritmasında olusturulan polinomların 2-4 sartlarını sagladıgı açıktır.

1 ve 5 sartlarının ise saglanıp saglanmadıgı kontrol edilmelidir. Ancak, taban-m

algoritması ile olusturulan polinomlar bu sartları büyük olasılıkla saglarlar. Aslında,

2 ve 5 sartları SCE algoritması için gerekli degildir. Fakat, bu sartlar algoritmayı

daha yalın hale getirir.

Bu bölümde, f (x) polinomu belirlenerek α, f (x) polinomunun bir kompleks kökü

olmak üzere K := Q (α) olacak sekilde bir sayı cismi de belirlenmis oldu. Sonraki

bölümlerde aksi söylenmedikce f (x), taban-m algoritması ile olusturulan polinomu

ve K := Q (α) cismi de bu polinomun bir α kompleks kökü ile olusturulan sayı

cismini gösterecektir.

7.3 Çarpan Tabanlarını Olusturma

SCE algoritmasında Z ve Z [α] halkalarında q-uncu kuvvetten elemanların olustu-

rulması gerekiyordu. Z halkasında q-uncu kuvvetten bir eleman, indeks calculus

algoritmalarına benzer sekilde tamsayılardaki düzgünlük kavramı kullanılarak olus-

turulabilir. Dolayısıyla, B bir düzgünlük sınırı olmak üzere

S1 := {p asal | p 6 B}

çarpan tabanı Z halkasında q-uncu kuvvetten bir eleman belirlemek için kullanılır

ve bu çarpan tabanına rasyonel çarpan tabanı denir.

Z [α] halkasında q-uncu kuvvetten bir eleman olusturmak için ise ZK tamlık halka-

sındaki düzgünlük kavramı kullanılır. Eger ZK TTÇAB ise Z halkasındakine benzer

sekilde ZK da q-uncu kuvvetten bir eleman elde edilmeye çalısılabilir. Fakat, ZK her

zaman TTÇAB degildir ve bunun kontrolü zahmetlidir. Bunun yerine, ZK tek türlü64

Page 76: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ideallerine ayrılabilen bir bölge oldugundan, SCE algoritmasında ha+ bαi seklindekiideallerin çarpanlarına ayrılısı belirlenerek ZK da bir q-uncu kuvvet olusturulmaya

çalısılır. Dolayısıyla, rasyonel çarpan tabanının yanı sıra ZK nın asal ideallerinden

olusan ve cebirsel çarpan tabanı olarak adlandırılan bir çarpan tabanına daha ihtiyaç

vardır.

Teorem 2.5 den dolayı ha+ bαi yı bölen asal idealler ya birinci dereceden ya daindeksi bölen asal ideallerdir. Yani, çarban tabanının bu iki tipteki asal idealler-

den olusturulması yeterlidir. SCE algoritması için indeksi bölen asal ideallerden

kaçınarak bir B düzgünlük sınırı için çarpan tabanı

S2 := {ZK nın normu B den küçük birinci dereceden asal idealleri}

olarak tanımlanabilir. Çarpan tabanındaki böyle bir kısıtlama f nin seçilisini kısıt-

lasa da SCE algoritması için uygun bir polinom elde edilemesine engel teskil etmez

(Weber 1990). Ayrıca çarpan tabanını bu sekilde seçmenin bazı avantajları da vardır.

Örnegin, çarpan tabanı Teorem 2.4 den f (x) polinomunun küçük asallardaki kökleri

hesaplanarak olusturulabilir ve ha+ bαi idealinin asal ideallerine ayrılısı Teorem 2.7den N (a+ bα) yı Z de çarpanlarına ayırarak belirlenebilir. Eger indeks bölenlerde

çarpan tabanına eklenirse bu asal ideallerin ha+ bαi yı bölen kuvvetleri Lenstra’nın(1992) metodu ile hesaplanabilir.

7.4 Eleme

SCE algoritmasında eleme bölümünün amacı |a| , |b| 6 C aralıgında

1. a− bm tamsayısı B-düzgün

2. a− bα elemanı B-düzgün

sartlarını saglayan (a, b) ∈ Z× Z ikililerini bulmaktır.

f (x, y) derecesi d olan iki degiskenli homojen bir polinom olsun. z := x/y için

f(z) :=f(x, y)

yd

65

Page 77: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

polinomu tek degiskenli bir polinomdur. Tek degiskenli bir polinomun belli bir

aralıktaki hangi degerler için görüntülerinin düzgün olup olmadıgı polinom elemesi

kullanarak belirlenebilir (Bknz bölüm 6.2.1). Dolayısıyla, B bir düzgünlük sınırı

olmak üzere belli bir aralıktaki hangi z degerleri için f (z) nin B-düzgün oldugu

belirlenebilir. Sonuç olarak, B sınırından küçük her p asalı için

z ≡ x

y(mod p)

denklemlerinden hangi (x, y) ikilileri için f (x, y) nin B-düzgün oldugu belirlenebilir.

Böylece (1) ve(2) sartlarını saglayan (a, b) ∈ Z×Z ikililerini belirlemek için sırasıylaf1 (x, y) = x + ym ve f2 (x, y) = xd − bd−1xd−1y + ... + b1x (−y)d−1 + b0 (−y)d

polinomları kullanılabilir.

7.5 Logaritmik Dönüsümler

SCE algoritmasının lineer cebir bölümünde, q-uncu kuvvetten ZK nın bir ideali olus-

turulup ZK nın q-uncu kuvvetten bir elemanına geçis yapabilmek için Schirokauer’in

(1993) tanımladıgı logaritmik dönüsümler kullanılır. Bu dönüsümler asagıdaki gibi

tanımlanır.

Γ kümesi

Γ := {γ ∈ ZK | q, N (γ) yı bölmesin}

olarak tanımlansın.

ZK da q asalının üzerindeki her ℘ asal ideali için ℘ := |(ZK/℘)∗| olmak üzere:= ℘ lerin en küçük katı olarak tanımlansın ve q, 4f i bölmediginden K cisminde

dallanmaz. Bu durumda,

∀γ ∈ Γ için γ ≡ 1 (mod q)

dur. λ dönüsümü

λ : Γ → qZK/q2ZKγ 7→ (γ − 1) + q2ZK

66

Page 78: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olarak tanımlanmak üzere qZK/q2ZK , Z/qZ üzerinde rankı d olan bir modüldür.

Dolayısıyla, j = 1, 2, ..., d için {bjq + q2ZK} tabanını sabitlersek λ dönüsümü

λj : Γ→ Z/qZ

dönüsümlerine karsılık gelir. λj dönüsümleri de herhangi bir γ ∈ ZK için

γ − 1 ≡dX

j=1

λj (γ) bjq¡mod q2

¢ile belirlenir.

λ (γ1γ2) = λ (γ1) + λ (γ2) oldugundan j = 1, 2, ..., d için λj ler

λj (γ1γ2) = λj (γ1) + λj (γ2)

özelligini saglar. Bu yüzden λj dönüsümleri logaritmik dönüsümler olarak adlandırılır.

7.5.1 ZK nın ideallerinden elemanlarına geçis

γ ∈ ZK ve ℘, ZK nın bir asal ideali olmak üzere

ord℘ (γ) := hγi idealinin çarpanlara ayrılısındaki ℘ asal idealinin kuvveti

olarak tanımlansın. U , ZK nın birim grubunu göstermek üzere U2 ve U q kümeleri

sırasıyla

U2 :=©γ ∈ U | γ ≡ 1 ¡mod q2¢ª

ve

U q := {γ ∈ | γ, q-uncu kuvvet}

seklinde tanımlansın.

Schirokauer’in (1993) makalesindeki teoremin özel bir hali asagıdaki gibi verilebilir.

Önerme 7.1 q asal sayısı K cisminin sınıf sayısını bölmesin ve U2 ⊂ U q olsun.

Eger γ ∈ Γ elemanı

(i) ZK nın her ℘ asal ideali için ord℘ (γ) ≡ 0 (mod q)(ii) λ (γ) = 0

sartlarını saglıyorsa γ, ZK da bir q-uncu kuvvettir.67

Page 79: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

q büyük bir asal olacagından q nun K nın sınıf sayısını bölme olsalıgı azdır. Üstelik,

U2 ⊂ U q sartının saglanmama olsalıgı da azdır (Schirokauer 1990). Dolayısıyla, SCE

algoritmasında bu sartların kontrolü ihmal edilebilir.

7.6 Lineer Cebir

Rasyonel ve cebirsel çarpan tabanları sırasıyla

S1 := {p1, p2, ..., pπ}

ve

S2 := {℘1, ℘2, ..., ℘μ}

olmak üzere eleme bölümünde a+ bm ve a+ bα B-düzgün olacak sekilde π + μ+ d

den fazla (a, b) ikilileri belirlenmis olsun.

vr (t), r asal tamsayısı ve t herhangi bir tamsayı olmak üzere t yi bölen r nin en

büyük kuvvetini göstersin. Benzer sekilde, v℘ (γ) ifadesi de ℘, ZK nın herhangi bir

asal ideali ve γ ∈ ZK olmak üzere hγi yı bölen ℘ nin en büyük kuvvetini göstersin.

a ve b tamsayılar olmak üzere Va,b, ilk π girisi

vp1 (a+ bm) , vp2 (a+ bm) , ..., vpπ (a+ bm)

sonraki μ girisi

v℘1 (a+ bα) , v℘2 (a+ bα) , ..., v℘π (a+ bα)

ve son d girisi

λ1 (a+ bα) , λ2 (a+ bα) , ..., λd (a+ bα)

olan bir vektörü temsil etsin.

g, Zp nin primitif kökü ve y, diskret logaritması hesaplanmak istenen eleman olmak

üzere

Vg := ilk π girisi vp1 (g) , vp1 (g) , ..., vpπ (g) ve son μ+ d girisi 0 olan vektör

ve

Vy := ilk π girisi vp1 (y) , vp1 (y) , ..., vpπ (y) ve son μ+ d girisi 0 olan vektör

68

Page 80: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

olarak tanımlansın.

A matrisi, ilk sütunu Vg ve sonraki sütunları eleme bölümünde elde edilen (a, b)

ikilileri için Va,b olacak sekilde tanımlanırsa,

AX ≡ −Vu (mod q) (7.3)

denkleminin bir x := (x0, x1, ..., xl) çözümü için Önerme 7.1 den dolayı

δ := gxylY

i=1

(a− bm)xi

ve

γ :=lY

i=1

(a− bα)xi

sırasıyla Z ve ZK da q-uncu kuvvetten elemanlardır.

f 0 (α)ZK ⊆ Z [α] oldugundan f 0 (α)q δ ve f 0 (α)q γ sırasıyla Z ve Z [α] da q-uncu

kuvvetten elemanlardır. Dolayısıyla, SCE algoritmasının 5. adımından

x0 ≡ − (d log)g y (mod q)

elde edilebilir.

(7.3) denklemini çözmek için Bölüm 6.2.2 de sözü edilen algoritmalar kullanılabilir.

SCE algoritmasının çalısma zamanı analizi için Studholme’nin (2002) tezine bakınız.

Bütün sonlu cisimler için yarı-üstel zamanlı bir algoritma var mıdır? sorusu uzun

süre sürüncemede kalmıs ve sonunda 1993 yılında bu soruya cevap verilmistir. Fpn

cismi n < p için (6.3), n > p için (6.2) seklinde ifade edilerek bütün sonlu cisim-

ler için Lpn [1/2; c] çalısma zamanı olan bir algoritma gelistirilmistir (Adleman and

Demarris 1993). Daha sonra bu soru "bütün sonlu cisimler için Lpn [1/3; c] zamanlı

bir algoritma var mıdır?" sorusuna dönüsmüstür. Bu soru da Joux et al. (2003)

tarafından Lpn [1/3; c] zamanlı bir algoritma verilerek cevaplanmıstır.

69

Page 81: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

KAYNAKLAR

Adleman, L.M. 1979. A subexponential algorithm for the discrete logarithm

problem with applications to cryptography. Proc. of the 20th Annual IEEE

Symposium on Foundations of Computer Science, 55-60.

Adleman, L.M. 1994. Function field sieve. Algorithmic Number Theory (ANTS-I)

Lecture Notes in Computer Science, 877, 108-121.

Bach, E. 1984. Discrete Logarithms and Factoring, University of California at

Berkeley, Berkeley, CA.

Blackburn, S.R. and Teske, E. 2000. Baby-step giant-step algorithms for non-

uniform distributions, In Algorithmic Number Theory Seminar ANTS-IV,

volume 1838 of LNCS, 153-168.

Blake, I.F. Fuji-Hara, R. Mullin, R.C. and Vanstone, S.A. 1984. Computing

logarithms in finite fields of characterisitic two. SIAM J. Alg. Disc.

Methods, 5, 276-285.

Brent, R.P. 1980. An improved Monte Carlo factorization algorithm. BIT, 20,

176-184.

Brickell, E.F. and McCurley, K. S. 1990. An Interactive Identification Scheme

Based on Discrete Logarithms and Factoring, EUROCRYPT’90, 63-71.

Buchman, J. Jacobson, M.J. and Teske, E. 1997. On some computational problems

in finite abelian groups. Mathematics of Computation, 66, 1663-1687.

Cohen, H. 1993. A Course in Computational Algebraic Number Theory, Springer-

Verlag, 580 p., Berlin.

Coppersmith, D. 1984. Fast evaluation of logarithms in finite fields of characteristic

two. IEEE Trans. Inform. Theory, 30, 587-594.

70

Page 82: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Coppersmith, D. Odlyzko, A.M. and Schroeppel, R. 1986. Discrete logarithms in

GF(p). Algorithmica, 1, 1-15.

Crandall, R. and Pomerance, C. 2005. Prime Numbers A Computational

Perspective, Springer-Verlag, 577 p., Berlin.

Dickman, K. 1930. On the Frequency of Numbers Containing Prime Factors of

a Certain Relative Magnitude. Ark. Mat. Astronomi och Fysik, 22A(10),

1-14.

Diffie, W. and Hellman, M.E. 1976. New Directions in Cryptography. IEEE

Transactions on Information Theory, 22, 644-654.

ElGamal, T. 1985. A public key cryptosystem and a signature scheme based on

discrete logarithms. IEEE Transactions on Information Theory, 31(4), 469-

472.

Floyd, R.W. 1967. Non-deterministic Algorithms. J. ACM, 14(4), 636-644.

Gadiyar, H.G. Maini, K.M.S. Padma, R. and Romsy, M. 2009. What is the inverse

of repeated square and multiply algorithm?. Colloq. Math. 116, 1-14.

Gregg, J.E. 2003. On Factoring Integers and Evaluating Discrete Logarithms,

Ph.D. thesis, Harvard College Cambiridge, 61 p., Massachusetts.

Harris, B. 1960. Probability distributions related to random mappings. Ann. Math.

Statist., (31), 1045-1062.

Hellman, M.E. and Reyneri, J.M. 1983. Fast Computation of Discrete Logarithms

in GF(q). Advances in Cryptology: Proceedings of CRYPTO’82, 3-13.

Joux, A. and Lercier, R. 2003. Improvements to general number field sieve for disc-

rete logarithms in prime fields. A comparision with the Gaussian integer

method. Math. Comp., 72(242), 953-967.

Kleinjung, T. 2007. Discrete logarithms in GF(p)-160 digits. email to NMBRTHRY

mailing list.

71

Page 83: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Kraitchik, M. 1922. Theorie des nombres, Vol. 1, Gauthier-Villars.

LaMacchia, B.A. and Odlyzko, A.M. 1991. Solving large sparse linear systems over

finite fields. Lecture Notes in Computer Science, 537, 109-133.

Miller, S.D. and Venkatesan, R. 2009. Non-Degeneracy of Pollard Rho Collisions.

International Mathematics Research Notices, 1, 1-10.

Mullen, G. and White, D. 1986. A polynomial representation for logarithms in

GF(q). Acta Arithmetica, 47, 255-261.

Niederreiter, H. 1990. A short proof for explicit formulas for discrete logarithms in

finite fields. Applicable Algebra in Eng., 1, 55-57.

Odlyzko, A. 1985. Discrete logarithms in finite fields and their crptographic

significance. Advances in Cryptology-Eurocrypt’84 Lecture Notes in

Computer Science, 209, 224-314.

Pollard, J.M. 1978. Monte Carlo methods for index computation (modp). Math.

Computation, 32, 918-924.

Pollard, J.M. 2000. Kangoroos, Monopoly and Discrete Logarithms. Journal of

Cryptology, 13, 437-447.

Schirokouer, O. 1993. Discrete logarithms and local units. Phil. Trans. R. Soc.

Lond., A(345), 409-423.

Schirokouer, O. 2008. The impact of the number field sieve on the discrete

logarithm problem in finite fields. Algorithmic Number Theory, 44, 397-

420.

Shanks, D. 1971. Class numbers, a theory of factorization and a genera, In 1969

Number Theory Institue, Proc. Symposium Pure Mathematics, American

Mathematical Society, 20, 415-440.

Sundaram, P. 1998. An efficient discrete log pseudo random generator, In Crypto’98

LNCS, 1462, 304-317.

72

Page 84: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

Teske, E. 1998. A space efficient algorithm for group structure computation.

Mathematics of Computation, 67(224), 1637-1663.

Van Oorschot, P.C. and Wiener, M.J. 1999. Parallel collision search with

cryptanalytic applications. Journal of Cryptology, 12, 1-28.

Wan, Z.X. 2008. A shorter proof for an explicit formula for discrete logarithms in

finite fields. Discrete Mathematics, 308(21), 4914-4915.

Weber, D. 1995. An implementation of the general number field sieve to compute

discrete logarithms mod p. Theory and Application of Cryptographic Tech-

niques, 95-105.

Wells, A.L. 1984. A polynomial form for logarithms modulo a prime. IEEE Trans.

Info. Theory, 30, 845-846.

73

Page 85: ANKARA ÜNIVERS ITES FEN B˙IL ˙IMLER IENST ITÜSÜ …acikarsiv.ankara.edu.tr/browse/23990/258605.pdf · logaritma problemi (DLP) denir ve x:= (dlog)gyile gösterilir. Aslında,

ÖZGEÇMIS

Adı Soyadı: Murat SAHIN

Dogum Yeri: Isparta

Dogum Tarihi: 21.05.1978

Medeni Hali: Evli ve 1 çocuk sahibi

Yabancı Dili: Ingilizce

Egitim Durumu (Kurum ve Yıl):

Lise: Isparta Sehit Ali Ihsan Kalmaz Lisesi (1994)

Lisans: Ortadogu Teknik Üniversitesi, Fen Edebiyat Fakültesi,

Matematik Bölümü (2000)

Yüksek Lisans: Ankara Üniversitesi, Fen Bilimleri Enstitüsü,

Matematik Anabilim Dalı (2003)

Çalıstıgı Kurum/Kurumlar ve Yıl:

• Ankara Üniversitesi, Fen Bilimleri Enstitüsü, Matematik Anabilim Dalı,

Arastırma Görevlisi (Mart 2001 - ...)

Yayınları:

Sahin, M. and Ekin, A.B. 2009. On a probabilistic algorithm solving discrete

logarithm problem. Sumbitted to Journal of Mathematics Research.

Sahin, M. 2008. Nested Squares of Length 4. Journal of Number Theory, Under

Review.

Ekin, A.B. and Sahin, M. 2009. A Note on Some Weak Keys in RSA, International

Journal of Mathematics and Computer Science, Under Review.

74