SlideShare a Scribd company logo
K R I P T O L O J I V E G Ü V E N L I K
P R O T O K O L L E R I
El-Gamal Asimetrik
Şifreleme Algoritması
İbrahim
Fil 927220046
TA R I H Ç E
Taher Elgamal ilk olarak ElGamal Cryptosystem'i, kriptolojinin
gelişmeleri üzerine bir konferans olan CRYPTO ’84'ün
bildirilerinde yayınlanan bir makalede anlattı.
H A K K I N D A
• ElGamal şifreleme sistemi, Diffie – Hellman anahtar
değişimine dayanan açık anahtarlı kriptografi için asimetrik bir
anahtar şifreleme algoritmasıdır.
• Bu algoritmada public ve private olmak üzere iki adet anahtar
vardır.Public metni şifrelemek için private şifreyi çözmek için
kullanılmaktadır.
• ElGamal'ın güvenliği, ayrık logaritma problemine
dayanmaktadır.
• Bugün ElGamal algoritması birçok kriptografik
üründe kullanılmaktadır. Açık kaynaklı yazılım GnuPG,
imzalar için standart olarak ElGamal'ı kullanır.
• Bu algoritmanın zorluğu dairesel gruplar üzerinde ayrık
algoritma işleminin uygulanmasına dayanmaktadır.
D A I R E S E L
G R U P L A R
Grup teorisinde, bir dairesel
grubun üyeleri tek bir
elemandan üretilebiliyorsa bu
gruba dairesel grup
denilmektedir. Bu eleman
generator olarak
isimlendirilmektedir ve bu
elemanın bütün kuvvetleri bu
grubun elemanıdır yani bu
grubun elemanları generator
değerinin kuvveti olarak
hesaplanabiliyor.
Örnek olarak G={g0,g1,g2,g3,g4} grubunda 5 eleman
bulunmaktadır ve dairesel olduğu için son elemandan sonra
tekrar ilk elemana dönülür yani g5=g0. Mod fonksiyonu bu
gruba örnek verilebilir.
AY R I K L O G A R I T M A
Ayrık logaritma işlemleri çoğunlukla soyut matematik alanında
karşımıza çıkmaktadır. Ayrık logaritma dairesel gruplar üzerinde
tanımlanmış logaritma işlemidir. Örneğin g elemanı G dairesel
grubunun bir elemanı olsun ve g^x = h olsun. Bu işlemin tersi
olan x = log(h) işlemi ayrık algoritma olarak
isimlendirilmektedir.
Ayrık logaritmaları anlamanın en kolay yollarından birisi de
(Zp)× ahenk sınıfı üzerindeki işlemleridir. Bir ahenk sınıfı 0 ile
p-1 arasındaki ayrık sayılar kümesi olup bu küme üzerinde
tanımlı olan herhangi bir işlem yine bu küme içinden bir sonuç
döndürmelidir. Basitçe modulo p işlem kümesi olarak
düşünülebilir ve yapılan her işlemin p tabanında modulo alındığı
düşünülebilir.
Daha açık bir şekilde ayrık üst (discrete exponent) denilen işlem
bir sayının verilen üst değerinin verilen modulo p için
hesaplanmasıdır. Yani sayının istenilen üstü hesaplanır ve p
değerine bölünür sonuç bölme işleminin kalan kısmıdır.
Ö R N E K
• 2 sayısının Z29 ‘da bir ilkel kökü (primitive root) olup olmadığını bulunuz ve
L2(15) ayrık logaritma değerini bulunuz.
21=2 mod 29
22= 4 mod 29
24=16 mod 29
28= 24 mod 29
…..
228 = 1 mod 29
A L G O R I T M A
• Anahtar Üretme
• Şifreleme
• Şifreyi Çözme
A N A H TA R Ü R E T M E
• Çok basamaklı büyük bir p asal sayısı belirlenir ve mod(p)
kümesinin elemanlarından bir g generator pozitif tam sayısı
belirlenir.
• Daha sonra şifreyi çözecek kişi 1<= x <= p-2 aralığında
kalacak şekilde kendisine bir özel anahtar(private key) seçer.
• Daha sonra public key'in bir parçası
olan y değeri y= gxmod(p) işlemi sonucu hesaplanır.
• (p,g,y) değerleri public key 3'lüsü olarak mesajlaşmak istenilen
kişiye iletilir.
Ş I F R E L E M E S Ü R E C I
M mesajını şifrelemek için, önce bir anahtar sunucusundan veya
şifrelenmemiş elektronik posta yoluyla açık anahtar
üçlüsünün (p, g, gx ) alınması gerekir. Bu mesajlaşma sürecinde
tek gizli anahtar x'dir ve karşı tarafa gx şeklinde gönderilir.
• M messaj metni (m1,m2,m3,...) tamsayı seti
şeklinde hazırlanır.({1,2,…,p-1} kümesinin elemanı olacak
şekilde)
• (Zp)× Kümesinden bir k üs değeri belirlenir.
• Rastgele üs k'yi iletmek için c1=gk mod(p) hesaplanır.
• Ayrıca c2=mi . gxk Mod(p) hesaplanır ve (c1,c2) ikilisi
çözülmek için gönderilir.
Ş I F R E Y I Ç Ö Z M E
Şifre çözme işleminde private anahtar olan x değişkeni
kullanılır.
Mi= ( c2 / c1
x )
Ö R N E K
g=3,p=101,k=6,m=5,x=2
1.aşama y'nin hesaplanması: y= gxmod(p)=32=9mod101
2.aşama şifreleme: C = (r,c)
r = gk mod(p)=729 mod101 = 22mod 101
c = m.yk mod(p)=5.96(mod101)=97 mod101 C=(22,97)
3.aşama şifreyi çözme: D= c.(r(p-1-x)modp) = 97.(2298 mod101)
= 5 mod101
K R I P TA N A L I Z
Geliştirilmiş ElGamal Algoritması (Hwang at al).
Anahtar üretimi ElGamal ile aynıdır.(p,g,gx) public key olarak
nitelendiriliyor ve x değeri private key olarak kullanılıyor.
Şifreleme sürecinde ElGamal'dan farklı olarak 2 adet üs değeri
seçilmektedir;r1,r2. 1< r1,r2 <= p-1.
• Mesaj gönderecek kişi M mesajını herbiri log2(p) değerinden
küçük olacak şekilde n parçaya böler ve her biri için şifreleme
yöntemini uygular. 0≤Mi< p.
• R1 = gr1mod(p), R2 = gr2mod(p),
• Şifre çözme işlemi için aşşağıdaki formül kullanılmaktadır.
2d-1 = 0 mod(q) olsun.
Eğer n > d ise ve p değeri 2e.q+1 şeklinde yazılabiliyorsa
algoritmanın güvenliksiz olduğu savunulmaktadır.Burda q
değeri bir asal sayıdır.
Burdan şu sonuç çıkabiliyor:
2e(2d-1) = 0 mod(2eq) ---> 2e+d = 2emod(2eq) yani d değeri periyot oluyor.
(Me+a,Ce+a) mesaj ve şifeli hali olsun ve 0 ≤ a≤ n−e olsun.
Saldırgan 0 ≤ i ≤ n−e ve i ≡ a(mod (d)) koşulunu sağlayan bütün i'ler için Me+i
değerini bulabilir.
Bu formül bilindiğinden
Aşşağıdaki denklik elde edilir.
2e+a=2e+i mod(2eq) olduğu için
Bu iki formül kullanılarak aşşağıdaki sonuç elde edilir.
Bu şekilde mesaj çözülmüş olur.
K AY N A K L A R
• http://bilgisayarkavramlari.com/2008/05/06/ayrik-logaritma-discrete-logarithm/
• Cryptanalysis of an ElGamal-Like Cryptosystem for EncipheringLarge
Messages
• http://bilgisayarkavramlari.com/2008/04/30/el-gamal-encryption-el-cemal-
sifrelemesi/
• http://bilgisayarkavramlari.com/2008/04/30/dairesel-grup-cyclic-group/
• meier_paper.pdf (tum.de)

More Related Content

What's hot

Aes Şifreleme
Aes ŞifrelemeAes Şifreleme
Aes Şifreleme
Ferdi Özer
 
Rsa Crptosystem
Rsa CrptosystemRsa Crptosystem
Rsa Crptosystem
Amlan Patel
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
Sam Bowne
 
Pretty good privacy
Pretty good privacyPretty good privacy
Pretty good privacy
Punnya Babu
 
Rsa
RsaRsa
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
El Gamal Cryptosystem
El Gamal CryptosystemEl Gamal Cryptosystem
El Gamal Cryptosystem
Adri Jovin
 
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
JAINAM KAPADIYA
 
Key Management and Distribution
Key Management and DistributionKey Management and Distribution
Key Management and Distribution
Syed Bahadur Shah
 
Security Mechanisms
Security MechanismsSecurity Mechanisms
Security Mechanisms
priya_trehan
 
RC4&RC5
RC4&RC5RC4&RC5
Cryptography
CryptographyCryptography
Cryptography
KARNAN L S
 
Ch14
Ch14Ch14
Design of Secure Hash Algorithm(SHA)
Design of Secure Hash Algorithm(SHA)Design of Secure Hash Algorithm(SHA)
Design of Secure Hash Algorithm(SHA)
Saravanan T.M
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
Shashank Shetty
 
Public Key Cryptosystem
Public Key CryptosystemPublic Key Cryptosystem
Public Key Cryptosystem
Devakumar Kp
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
Stephane Potier
 
Hashing
HashingHashing
3 public key cryptography
3 public key cryptography3 public key cryptography
3 public key cryptography
Rutvik Mehta
 
Cryptography
CryptographyCryptography
Cryptography
Jens Patel
 

What's hot (20)

Aes Şifreleme
Aes ŞifrelemeAes Şifreleme
Aes Şifreleme
 
Rsa Crptosystem
Rsa CrptosystemRsa Crptosystem
Rsa Crptosystem
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
Pretty good privacy
Pretty good privacyPretty good privacy
Pretty good privacy
 
Rsa
RsaRsa
Rsa
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
El Gamal Cryptosystem
El Gamal CryptosystemEl Gamal Cryptosystem
El Gamal Cryptosystem
 
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
Symmetric Cipher Model, Substitution techniques, Transposition techniques, St...
 
Key Management and Distribution
Key Management and DistributionKey Management and Distribution
Key Management and Distribution
 
Security Mechanisms
Security MechanismsSecurity Mechanisms
Security Mechanisms
 
RC4&RC5
RC4&RC5RC4&RC5
RC4&RC5
 
Cryptography
CryptographyCryptography
Cryptography
 
Ch14
Ch14Ch14
Ch14
 
Design of Secure Hash Algorithm(SHA)
Design of Secure Hash Algorithm(SHA)Design of Secure Hash Algorithm(SHA)
Design of Secure Hash Algorithm(SHA)
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
Public Key Cryptosystem
Public Key CryptosystemPublic Key Cryptosystem
Public Key Cryptosystem
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
 
Hashing
HashingHashing
Hashing
 
3 public key cryptography
3 public key cryptography3 public key cryptography
3 public key cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 

ElGamal Şifreleme Algoritması

  • 1. K R I P T O L O J I V E G Ü V E N L I K P R O T O K O L L E R I El-Gamal Asimetrik Şifreleme Algoritması İbrahim Fil 927220046
  • 2. TA R I H Ç E Taher Elgamal ilk olarak ElGamal Cryptosystem'i, kriptolojinin gelişmeleri üzerine bir konferans olan CRYPTO ’84'ün bildirilerinde yayınlanan bir makalede anlattı.
  • 3. H A K K I N D A • ElGamal şifreleme sistemi, Diffie – Hellman anahtar değişimine dayanan açık anahtarlı kriptografi için asimetrik bir anahtar şifreleme algoritmasıdır. • Bu algoritmada public ve private olmak üzere iki adet anahtar vardır.Public metni şifrelemek için private şifreyi çözmek için kullanılmaktadır.
  • 4. • ElGamal'ın güvenliği, ayrık logaritma problemine dayanmaktadır. • Bugün ElGamal algoritması birçok kriptografik üründe kullanılmaktadır. Açık kaynaklı yazılım GnuPG, imzalar için standart olarak ElGamal'ı kullanır. • Bu algoritmanın zorluğu dairesel gruplar üzerinde ayrık algoritma işleminin uygulanmasına dayanmaktadır.
  • 5. D A I R E S E L G R U P L A R Grup teorisinde, bir dairesel grubun üyeleri tek bir elemandan üretilebiliyorsa bu gruba dairesel grup denilmektedir. Bu eleman generator olarak isimlendirilmektedir ve bu elemanın bütün kuvvetleri bu grubun elemanıdır yani bu grubun elemanları generator değerinin kuvveti olarak hesaplanabiliyor.
  • 6. Örnek olarak G={g0,g1,g2,g3,g4} grubunda 5 eleman bulunmaktadır ve dairesel olduğu için son elemandan sonra tekrar ilk elemana dönülür yani g5=g0. Mod fonksiyonu bu gruba örnek verilebilir.
  • 7. AY R I K L O G A R I T M A Ayrık logaritma işlemleri çoğunlukla soyut matematik alanında karşımıza çıkmaktadır. Ayrık logaritma dairesel gruplar üzerinde tanımlanmış logaritma işlemidir. Örneğin g elemanı G dairesel grubunun bir elemanı olsun ve g^x = h olsun. Bu işlemin tersi olan x = log(h) işlemi ayrık algoritma olarak isimlendirilmektedir.
  • 8. Ayrık logaritmaları anlamanın en kolay yollarından birisi de (Zp)× ahenk sınıfı üzerindeki işlemleridir. Bir ahenk sınıfı 0 ile p-1 arasındaki ayrık sayılar kümesi olup bu küme üzerinde tanımlı olan herhangi bir işlem yine bu küme içinden bir sonuç döndürmelidir. Basitçe modulo p işlem kümesi olarak düşünülebilir ve yapılan her işlemin p tabanında modulo alındığı düşünülebilir.
  • 9. Daha açık bir şekilde ayrık üst (discrete exponent) denilen işlem bir sayının verilen üst değerinin verilen modulo p için hesaplanmasıdır. Yani sayının istenilen üstü hesaplanır ve p değerine bölünür sonuç bölme işleminin kalan kısmıdır.
  • 10. Ö R N E K • 2 sayısının Z29 ‘da bir ilkel kökü (primitive root) olup olmadığını bulunuz ve L2(15) ayrık logaritma değerini bulunuz. 21=2 mod 29 22= 4 mod 29 24=16 mod 29 28= 24 mod 29 ….. 228 = 1 mod 29
  • 11. A L G O R I T M A • Anahtar Üretme • Şifreleme • Şifreyi Çözme
  • 12. A N A H TA R Ü R E T M E • Çok basamaklı büyük bir p asal sayısı belirlenir ve mod(p) kümesinin elemanlarından bir g generator pozitif tam sayısı belirlenir. • Daha sonra şifreyi çözecek kişi 1<= x <= p-2 aralığında kalacak şekilde kendisine bir özel anahtar(private key) seçer.
  • 13. • Daha sonra public key'in bir parçası olan y değeri y= gxmod(p) işlemi sonucu hesaplanır. • (p,g,y) değerleri public key 3'lüsü olarak mesajlaşmak istenilen kişiye iletilir.
  • 14. Ş I F R E L E M E S Ü R E C I M mesajını şifrelemek için, önce bir anahtar sunucusundan veya şifrelenmemiş elektronik posta yoluyla açık anahtar üçlüsünün (p, g, gx ) alınması gerekir. Bu mesajlaşma sürecinde tek gizli anahtar x'dir ve karşı tarafa gx şeklinde gönderilir.
  • 15. • M messaj metni (m1,m2,m3,...) tamsayı seti şeklinde hazırlanır.({1,2,…,p-1} kümesinin elemanı olacak şekilde) • (Zp)× Kümesinden bir k üs değeri belirlenir. • Rastgele üs k'yi iletmek için c1=gk mod(p) hesaplanır. • Ayrıca c2=mi . gxk Mod(p) hesaplanır ve (c1,c2) ikilisi çözülmek için gönderilir.
  • 16. Ş I F R E Y I Ç Ö Z M E Şifre çözme işleminde private anahtar olan x değişkeni kullanılır. Mi= ( c2 / c1 x )
  • 17. Ö R N E K g=3,p=101,k=6,m=5,x=2 1.aşama y'nin hesaplanması: y= gxmod(p)=32=9mod101 2.aşama şifreleme: C = (r,c) r = gk mod(p)=729 mod101 = 22mod 101 c = m.yk mod(p)=5.96(mod101)=97 mod101 C=(22,97) 3.aşama şifreyi çözme: D= c.(r(p-1-x)modp) = 97.(2298 mod101) = 5 mod101
  • 18. K R I P TA N A L I Z Geliştirilmiş ElGamal Algoritması (Hwang at al). Anahtar üretimi ElGamal ile aynıdır.(p,g,gx) public key olarak nitelendiriliyor ve x değeri private key olarak kullanılıyor. Şifreleme sürecinde ElGamal'dan farklı olarak 2 adet üs değeri seçilmektedir;r1,r2. 1< r1,r2 <= p-1.
  • 19. • Mesaj gönderecek kişi M mesajını herbiri log2(p) değerinden küçük olacak şekilde n parçaya böler ve her biri için şifreleme yöntemini uygular. 0≤Mi< p. • R1 = gr1mod(p), R2 = gr2mod(p), • Şifre çözme işlemi için aşşağıdaki formül kullanılmaktadır.
  • 20. 2d-1 = 0 mod(q) olsun. Eğer n > d ise ve p değeri 2e.q+1 şeklinde yazılabiliyorsa algoritmanın güvenliksiz olduğu savunulmaktadır.Burda q değeri bir asal sayıdır.
  • 21. Burdan şu sonuç çıkabiliyor: 2e(2d-1) = 0 mod(2eq) ---> 2e+d = 2emod(2eq) yani d değeri periyot oluyor. (Me+a,Ce+a) mesaj ve şifeli hali olsun ve 0 ≤ a≤ n−e olsun. Saldırgan 0 ≤ i ≤ n−e ve i ≡ a(mod (d)) koşulunu sağlayan bütün i'ler için Me+i değerini bulabilir. Bu formül bilindiğinden Aşşağıdaki denklik elde edilir.
  • 22. 2e+a=2e+i mod(2eq) olduğu için Bu iki formül kullanılarak aşşağıdaki sonuç elde edilir. Bu şekilde mesaj çözülmüş olur.
  • 23. K AY N A K L A R • http://bilgisayarkavramlari.com/2008/05/06/ayrik-logaritma-discrete-logarithm/ • Cryptanalysis of an ElGamal-Like Cryptosystem for EncipheringLarge Messages • http://bilgisayarkavramlari.com/2008/04/30/el-gamal-encryption-el-cemal- sifrelemesi/ • http://bilgisayarkavramlari.com/2008/04/30/dairesel-grup-cyclic-group/ • meier_paper.pdf (tum.de)