SlideShare a Scribd company logo
1 of 23
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 (20)

Rsa Crptosystem
Rsa CrptosystemRsa Crptosystem
Rsa Crptosystem
 
Alice & bob public key cryptography 101
Alice & bob  public key cryptography 101Alice & bob  public key cryptography 101
Alice & bob public key cryptography 101
 
Pretty good privacy
Pretty good privacyPretty good privacy
Pretty good privacy
 
Two fish cipher
Two fish cipherTwo fish cipher
Two fish cipher
 
Rsa cryptosystem
Rsa cryptosystemRsa cryptosystem
Rsa cryptosystem
 
Ch08
Ch08Ch08
Ch08
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryption
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
ElGamal Encryption Algoritham.pptx
ElGamal Encryption Algoritham.pptxElGamal Encryption Algoritham.pptx
ElGamal Encryption Algoritham.pptx
 
Computer Graphics Programes
Computer Graphics ProgramesComputer Graphics Programes
Computer Graphics Programes
 
Cryptography
CryptographyCryptography
Cryptography
 
Homomorphic encryption
Homomorphic encryptionHomomorphic encryption
Homomorphic encryption
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Elgamal &amp; schnorr digital signature scheme copy
Elgamal &amp; schnorr digital signature scheme   copyElgamal &amp; schnorr digital signature scheme   copy
Elgamal &amp; schnorr digital signature scheme copy
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
Classical cryptographic techniques, Feistel cipher structure
Classical cryptographic techniques, Feistel cipher structureClassical cryptographic techniques, Feistel cipher structure
Classical cryptographic techniques, Feistel cipher structure
 
SHA-3, Keccak & Sponge function
SHA-3, Keccak & Sponge functionSHA-3, Keccak & Sponge function
SHA-3, Keccak & Sponge function
 
Secure erasure code based cloud storage system with secure data forwarding
Secure erasure code based cloud storage system with secure data forwardingSecure erasure code based cloud storage system with secure data forwarding
Secure erasure code based cloud storage system with secure data forwarding
 
Message Authentication Code & HMAC
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 

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)