SlideShare a Scribd company logo
ElGamal
Şifreleme
Algoritması
Aleyna Güçlü
Onur Aksu
Yasemin Derya Demircan
Ajanda
Giriş
Algoritma açıklaması
Anahtar oluşturma
Şifreleme
Deşifreleme
Giriş
1985’te Taher Elgamal tarafından tasarlanmış Diffie Hellman
algoritmasına dayanan asimetrik şifreleme algoritmasıdır.
Temel olarak ayrık algoritma ve dairesel gruplardan oluşur.
Hem veri şifreleme hem de sayısal imza yapabilir.
3 aşamadan meydana gelir: Anahtar oluşturma, şifreleme, deşifreleme.
Algoritma Açıklaması
P, k, g ve x sayıları
kullanılarak y =g^x
mod(p) değeri
hesaplanır.
Açık anahtar olarak k,
y, g ve p değişkenleri
tüm vericilere
ulaştırılabilir.
Gizli anahtar olarak
kullanılacak x
değişkeni, alıcıda
saklanmalıdır.
Verici, M
(şifrelenmemiş mesaj)
mesajını şifrelemek
istediğinde belirtilen
işlemleri yapar.
Bu işlemler sonucunda
C₁ ve C₂ şifreli
metinleri oluşur.
C₁=g^k mod(p)
C₂=y^k * M mod(p)
Algoritma Açıklaması
Alıcıya ulaştıracağımız C₁ ve C ₂ şifreli metinlerini
kullanarak aşağıdaki işlemi yapıp düz metin olan M
mesajı elde edilir.
M= C₂/C₁* mod(p)
Elgamal algoritmasında sağlamlık seçilecek olan açık ve
gizli anahtarların rastgeleliğine ve değerlerin büyüklüğü
ile ilgilidir.
Bir örnek ile bu 3 aşamayı işleyelim.
Anahtar Oluşturma
“p” asal sayısı
belirlenir.
(p-1) ile aralarında
asal olacak bir k
sayısı belirlenir.
P’den küçük
olacak şekilde
birbirlerinden
farklı g ve x
sayıları belirlenir.
Bu değerler
kullanılarak
y = g*mod(p)
hesaplanır.
p, g ve y değerleri
public key olarak
yayınlanır.
ElGamal Oluşturma Örneği:
1. p=23 olsun.
2. Primitive element g=11
3. Private key x=6 olarak seçelim.
4. y=11⁶(mod 23) =9
Public key: 9
Private key: 6
Şifreleme
2.aşamada M
mesajını şifrelemek
için gerekli işlemler
yapılır.
Şifreli metinleri
hesaplamak için
aşağıdaki adımlar
gerçekleştirilir:
C₁=g^k mod(p) C₂=y^k M mod(p)
ElGamal Şifreleme Örneği:
Public key 9 ile M=10 ’u şifrelemek için
1. Rastgele k=3 oluşturun.
2. C₁=11³ mod 23=20
C₂=10 x 9³ mod 23
=10 x 16 = 160 mod 23=22
3. Ciphertext C= (20, 22)
Deşifreleme
Mesajı alan tarafın şifreli mesajı
açması için:
M = C₂/C₁^x mod(p)
ElGamal Deşifreleme Örneği:
C=(20, 22) şifrelemek için,
1. Hesaplama 20⁴=16 mod 23 hesaplayın.
2. Hesaplama 22 /16=10 mod 23
3. Plaintext = 10
Kaynakça
1. Çetinkaya,H. (2019) RSA ve Elgamal Kismi Homomorfik Kripto Sistemlerin Vergi Ödeme Sistemine
Uygulanması ve Bu Uygulamaların Performans Analizleri. YÖK Tez Merkezi , 20-100
2. Paar C., Pelzl J. (2010). Understanding Cryptography, Springer. (s.226- 246)
3. Hoşcoşkun, R. E. (2020). Homomorfik Şifreleme Yöntemi Üzerine Bir İnceleme. Dspaca@Trakya
Kurumsal Akademik Arşiv, 60-70.
4. URL: https://www.researchgate.net/publication/340455167_ELGAMAL_SIFRELEME_ALGORITMASI
Teşekkürler

More Related Content

What's hot

Yeni Başlayanlar için RSA Şifreleme Algoritması
Yeni Başlayanlar için RSA Şifreleme AlgoritmasıYeni Başlayanlar için RSA Şifreleme Algoritması
Yeni Başlayanlar için RSA Şifreleme Algoritması
AssylzhanDukenbay1
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
ramya marichamy
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated Encryption
Sam Bowne
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its Uses
Mohsin Ali
 
Basic Encryption Decryption Chapter 2
Basic Encryption Decryption Chapter 2Basic Encryption Decryption Chapter 2
Basic Encryption Decryption Chapter 2
AfiqEfendy Zaen
 
Elliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message ExchangeElliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message Exchange
JacopoMariaValtorta
 
CNS - Unit - 4 - Public Key Cryptosystem
CNS - Unit - 4 - Public Key Cryptosystem CNS - Unit - 4 - Public Key Cryptosystem
CNS - Unit - 4 - Public Key Cryptosystem
Gyanmanjari Institute Of Technology
 
Symmetric encryption
Symmetric encryptionSymmetric encryption
Symmetric encryption
DR RICHMOND ADEBIAYE
 
Ch9
Ch9Ch9
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
Srinadh Muvva
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
Christoph Matthies
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
Indra97065
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithm
Siva Rushi
 
Digital signature
Digital signatureDigital signature
Digital signature
likut101010
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
Pina Parmar
 
BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2 BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2
Linaro
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Attribute Based Encryption with Privacy Preserving In Clouds
Attribute Based Encryption with Privacy Preserving In Clouds Attribute Based Encryption with Privacy Preserving In Clouds
Attribute Based Encryption with Privacy Preserving In Clouds
Swathi Rampur
 
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, FujitsuXPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
The Linux Foundation
 
Data security using rsa
Data security using rsaData security using rsa
Data security using rsa
LAKSHMI TEJA SAYABARAPU
 

What's hot (20)

Yeni Başlayanlar için RSA Şifreleme Algoritması
Yeni Başlayanlar için RSA Şifreleme AlgoritmasıYeni Başlayanlar için RSA Şifreleme Algoritması
Yeni Başlayanlar için RSA Şifreleme Algoritması
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated Encryption
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its Uses
 
Basic Encryption Decryption Chapter 2
Basic Encryption Decryption Chapter 2Basic Encryption Decryption Chapter 2
Basic Encryption Decryption Chapter 2
 
Elliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message ExchangeElliptic Curve Cryptography Message Exchange
Elliptic Curve Cryptography Message Exchange
 
CNS - Unit - 4 - Public Key Cryptosystem
CNS - Unit - 4 - Public Key Cryptosystem CNS - Unit - 4 - Public Key Cryptosystem
CNS - Unit - 4 - Public Key Cryptosystem
 
Symmetric encryption
Symmetric encryptionSymmetric encryption
Symmetric encryption
 
Ch9
Ch9Ch9
Ch9
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
 
RSA & MD5 algorithm
RSA & MD5 algorithmRSA & MD5 algorithm
RSA & MD5 algorithm
 
Digital signature
Digital signatureDigital signature
Digital signature
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2 BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Attribute Based Encryption with Privacy Preserving In Clouds
Attribute Based Encryption with Privacy Preserving In Clouds Attribute Based Encryption with Privacy Preserving In Clouds
Attribute Based Encryption with Privacy Preserving In Clouds
 
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, FujitsuXPDDS18: A dive into kbuild - Cao jin, Fujitsu
XPDDS18: A dive into kbuild - Cao jin, Fujitsu
 
Data security using rsa
Data security using rsaData security using rsa
Data security using rsa
 

Elgamal Şifreleme Algoritması

  • 3. Giriş 1985’te Taher Elgamal tarafından tasarlanmış Diffie Hellman algoritmasına dayanan asimetrik şifreleme algoritmasıdır. Temel olarak ayrık algoritma ve dairesel gruplardan oluşur. Hem veri şifreleme hem de sayısal imza yapabilir. 3 aşamadan meydana gelir: Anahtar oluşturma, şifreleme, deşifreleme.
  • 4. Algoritma Açıklaması P, k, g ve x sayıları kullanılarak y =g^x mod(p) değeri hesaplanır. Açık anahtar olarak k, y, g ve p değişkenleri tüm vericilere ulaştırılabilir. Gizli anahtar olarak kullanılacak x değişkeni, alıcıda saklanmalıdır. Verici, M (şifrelenmemiş mesaj) mesajını şifrelemek istediğinde belirtilen işlemleri yapar. Bu işlemler sonucunda C₁ ve C₂ şifreli metinleri oluşur. C₁=g^k mod(p) C₂=y^k * M mod(p)
  • 5. Algoritma Açıklaması Alıcıya ulaştıracağımız C₁ ve C ₂ şifreli metinlerini kullanarak aşağıdaki işlemi yapıp düz metin olan M mesajı elde edilir. M= C₂/C₁* mod(p) Elgamal algoritmasında sağlamlık seçilecek olan açık ve gizli anahtarların rastgeleliğine ve değerlerin büyüklüğü ile ilgilidir. Bir örnek ile bu 3 aşamayı işleyelim.
  • 6. Anahtar Oluşturma “p” asal sayısı belirlenir. (p-1) ile aralarında asal olacak bir k sayısı belirlenir. P’den küçük olacak şekilde birbirlerinden farklı g ve x sayıları belirlenir. Bu değerler kullanılarak y = g*mod(p) hesaplanır. p, g ve y değerleri public key olarak yayınlanır. ElGamal Oluşturma Örneği: 1. p=23 olsun. 2. Primitive element g=11 3. Private key x=6 olarak seçelim. 4. y=11⁶(mod 23) =9 Public key: 9 Private key: 6
  • 7. Şifreleme 2.aşamada M mesajını şifrelemek için gerekli işlemler yapılır. Şifreli metinleri hesaplamak için aşağıdaki adımlar gerçekleştirilir: C₁=g^k mod(p) C₂=y^k M mod(p) ElGamal Şifreleme Örneği: Public key 9 ile M=10 ’u şifrelemek için 1. Rastgele k=3 oluşturun. 2. C₁=11³ mod 23=20 C₂=10 x 9³ mod 23 =10 x 16 = 160 mod 23=22 3. Ciphertext C= (20, 22)
  • 8. Deşifreleme Mesajı alan tarafın şifreli mesajı açması için: M = C₂/C₁^x mod(p) ElGamal Deşifreleme Örneği: C=(20, 22) şifrelemek için, 1. Hesaplama 20⁴=16 mod 23 hesaplayın. 2. Hesaplama 22 /16=10 mod 23 3. Plaintext = 10
  • 9. Kaynakça 1. Çetinkaya,H. (2019) RSA ve Elgamal Kismi Homomorfik Kripto Sistemlerin Vergi Ödeme Sistemine Uygulanması ve Bu Uygulamaların Performans Analizleri. YÖK Tez Merkezi , 20-100 2. Paar C., Pelzl J. (2010). Understanding Cryptography, Springer. (s.226- 246) 3. Hoşcoşkun, R. E. (2020). Homomorfik Şifreleme Yöntemi Üzerine Bir İnceleme. Dspaca@Trakya Kurumsal Akademik Arşiv, 60-70. 4. URL: https://www.researchgate.net/publication/340455167_ELGAMAL_SIFRELEME_ALGORITMASI