logo

RSA Şifreleme Algoritması

RSA şifreleme algoritması, bir tür genel anahtar şifreleme algoritmasıdır. RSA'yı daha iyi anlayabilmek için öncelikle açık anahtarlı şifreleme algoritmasının ne olduğunu anlayalım.

Ortak anahtar şifreleme algoritması:

Açık Anahtar şifreleme algoritmasına Asimetrik algoritma da denir. Asimetrik algoritmalar, gönderici ve alıcının şifreleme ve şifre çözme için farklı anahtarlar kullandığı algoritmalardır. Her göndericiye bir çift anahtar atanır:

    Genel anahtar Özel anahtar

Genel anahtar şifreleme için kullanılır ve Özel anahtar Şifre çözme için kullanılır. Şifre çözme genel anahtar kullanılarak yapılamaz. İki anahtar birbirine bağlıdır ancak özel anahtar, genel anahtardan türetilemez. Genel anahtar iyi bilinir, ancak özel anahtar gizlidir ve yalnızca anahtarın sahibi olan kullanıcı tarafından bilinir. Bu, herkesin kullanıcının ortak anahtarını kullanarak kullanıcıya mesaj gönderebileceği anlamına gelir. Ancak yalnızca kullanıcı özel anahtarını kullanarak mesajın şifresini çözebilir.

Genel anahtar algoritması şu şekilde çalışır:

RSA Şifreleme Algoritması
  • Gönderilecek veriler gönderen tarafından şifrelenir A amaçlanan alıcının genel anahtarını kullanma
  • B, alınan şifreli metnin şifresini, yalnızca B tarafından bilinen özel anahtarını kullanarak çözer. B, A'ya, A'nın genel anahtarını kullanarak mesajını şifreleyerek yanıt verir.
  • A, alınan şifreli metni yalnızca kendisinin bildiği özel anahtarını kullanarak çözer.

RSA şifreleme algoritması:

RSA, mucitlerinin adını taşıyan en yaygın ortak anahtar algoritmasıdır Rivest, Shamir ve Adelman (RSA).

RSA Şifreleme Algoritması

RSA algoritması genel ve özel anahtarlar oluşturmak için aşağıdaki prosedürü kullanır:

  • İki büyük asal sayı seçin: p ve Q .
  • Bulmak için bu sayıları çarpın n = p x q, Neresi N şifreleme ve şifre çözme modülü denir.
  • Bir numara seçin Bu daha az N n göreceli olarak asal olacak şekilde (p - 1) x (q -1). Bu demektir Bu Ve (p - 1) x (q - 1) 1 dışında ortak çarpanı yok. 'e'yi öyle seç ki 1 olsun gcd (e,d(n)) =1
  • Eğer n = p x q, o zaman ortak anahtar . Düz metin mesajı M genel anahtar kullanılarak şifrelenir. Düz metinden şifreli metin bulmak için, şifreli metin C'yi elde etmek için aşağıdaki formül kullanılır.
    C = mBun'ye karşı
    Burada , M daha az olmalı N . Daha büyük bir mesaj (>n), her biri ayrı ayrı şifrelenen mesajların birleşimi olarak değerlendirilir.
  • Özel anahtarı belirlemek için d'yi şu şekilde hesaplamak üzere aşağıdaki formülü kullanırız:
    DBumod {(p - 1) x (q - 1)} = 1
    Veya
    DBumod φ (n) = 1
  • Özel anahtar . Şifreli metin mesajı C özel anahtar kullanılarak şifresi çözülür. Düz metni hesaplamak için M Şifreli metin c'den düz metin m elde etmek için aşağıdaki formül kullanılır.
    m = cDn'ye karşı

RSA şifreleme algoritmasının bazı örneklerini ele alalım:

Örnek 1:

Bu örnek, RSA genel anahtar şifreleme algoritmasını kullanarak düz metin 9'u nasıl şifreleyebileceğimizi gösterir. Bu örnekte genel ve özel anahtarları oluşturmak için 7 ve 11 asal sayıları kullanılmıştır.

salman khan'ın yaşı

Açıklama:

Aşama 1: İki büyük asal sayı seçin: p ve Q .

p = 7

q = 11

Adım 2: Bulmak için bu sayıları çarpın n = p x q, Neresi N şifreleme ve şifre çözme modülü denir.

İlk önce hesaplıyoruz

n = p x q

n = 7 x 11

sayı = 77

Aşama 3: Bir numara seçin Bu Daha az N n göreceli olarak asal olacak şekilde (p - 1) x (q -1). Bu demektir Bu Ve (p - 1) x (q - 1) 1 dışında ortak çarpanı yok. 'e'yi öyle seç ki 1 olsun

İkinci olarak hesaplıyoruz

φ (n) = (p - 1) x (q-1)

φ (n) = (7 - 1) x (11 - 1)

φ(n) = 6 x 10

φ(n) = 60

Şimdi 60'ın göreli asal e sayısını 7 olarak seçelim.

Böylece ortak anahtar = (7, 77) olur

Adım 4: Düz metin mesajı M genel anahtar kullanılarak şifrelenir. Düz metinden şifreli metin bulmak için, şifreli metin C'yi elde etmek için aşağıdaki formül kullanılır.

Düz metinden şifreli metin bulmak için, şifreli metin C'yi elde etmek için aşağıdaki formül kullanılır.

C = mBun'ye karşı

C = 9777'ye karşı

C = 37

Adım 5: Özel anahtar . Özel anahtarı belirlemek için aşağıdaki d formülünü kullanırız:

DBumod {(p - 1) x (q - 1)} = 1

7d mod 60 = 1, bu da d = 43'ü verir

Özel anahtar = (43, 77)

Adım 6: Şifreli metin mesajı C özel anahtar kullanılarak şifresi çözülür. Düz metni hesaplamak için M Şifreli metin c'den düz metin m elde etmek için aşağıdaki formül kullanılır.

m = cDn'ye karşı

m = 374377'ye karşı

m = 9

Bu örnekte Düz metin = 9 ve şifreli metin = 37

Örnek 2:

Bir RSA şifreleme sisteminde, belirli bir A, genel ve özel anahtarları oluşturmak için 13 ve 17 olmak üzere iki asal sayı kullanır. A'nın public'i 35 ise A'nın özel anahtarı ……………? olur.

Açıklama:

Aşama 1: ilk adımda iki büyük asal sayı seçin, P Ve Q .

p = 13

q = 17

Adım 2: Bulmak için bu sayıları çarpın n = p x q, Neresi N şifreleme ve şifre çözme modülü denir.

İlk önce hesaplıyoruz

n = p x q

n = 13x17

sayı = 221

Aşama 3: Bir numara seçin Bu Daha az N n göreceli olarak asal olacak şekilde (p - 1) x (q -1). Bu demektir Bu Ve (p - 1) x (q - 1) 1 dışında ortak çarpanı yok. 'e'yi öyle seç ki 1 olsun

İkinci olarak hesaplıyoruz

performans testi

φ (n) = (p - 1) x (q-1)

φ (n) = (13 - 1) x (17 - 1)

φ(n) = 12x16

φ(n) = 192

g.c.d (35, 192) = 1

Aşama 3: Özel anahtarı belirlemek için d'yi şu şekilde hesaplamak üzere aşağıdaki formülü kullanırız:

d = d'yi hesaplayınBumod φ (n) = 1

d = d x 35 mod 192 = 1

d = (1 + k.φ (n))/e [k =0, 1, 2, 3……………… olsun]

k = 0 koy

d = (1 + 0 x 192)/35

d = 1/35

k = 1'i koyun

d = (1 + 1 x 192)/35

d = 193/35

k = 2'yi koyun

d = (1 + 2 x 192)/35

d = 385/35

d = 11

Özel anahtar = (11, 221)

Dolayısıyla özel anahtar yani d = 11

Örnek 3:

Bir RSA şifreleme sistemi, genel anahtarı = 3 ve özel anahtarı = 7 oluşturmak için 3 ve 13 numaralı iki asal sayıyı kullanır. Düz metin için şifreli metnin değeri nedir?

Açıklama:

Aşama 1: İlk adımda iki büyük asal sayı seçin, P Ve Q .

p = 3

q = 13

Adım 2: Bulmak için bu sayıları çarpın n = p x q, Neresi N şifreleme ve şifre çözme modülü denir.

İlk önce hesaplıyoruz

n = p x q

n = 3 x 13

sayı = 39

Aşama 3: Eğer n = p x q, o zaman ortak anahtar . Düz metin mesajı M genel anahtar kullanılarak şifrelenir. Dolayısıyla ortak anahtar = (3, 39) olur.

Düz metinden şifreli metin bulmak için, şifreli metin C'yi elde etmek için aşağıdaki formül kullanılır.

C = mBun'ye karşı

C = 5339'a karşı

C = 125'e karşı 39

C = 8

Dolayısıyla düz metinden oluşturulan şifreli metin, C = 8.

Örnek 4:

Bir RSA şifreleme sistemi, özel anahtar = 7'yi oluşturmak için 3 ve 11 olmak üzere iki asal sayı kullanır. RSA genel anahtar şifreleme algoritmasını kullanan bir düz metin 5 için şifreli metnin değeri nedir?

Açıklama:

Aşama 1: ilk adımda iki büyük asal sayı seçin, P Ve Q .

p = 3

q = 11

Adım 2: Bulmak için bu sayıları çarpın n = p x q, Neresi N şifreleme ve şifre çözme modülü denir.

İlk önce hesaplıyoruz

n = p x q

n = 3 x 11

sayı = 33

Aşama 3: Bir numara seçin Bu Daha az N n göreceli olarak asal olacak şekilde (p - 1) x (q -1). Bu demektir Bu Ve (p - 1) x (q - 1) 1 dışında ortak çarpanı yok. 'e'yi öyle seç ki 1 olsun

İkinci olarak hesaplıyoruz

φ (n) = (p - 1) x (q-1)

φ (n) = (3 - 1) x (11 - 1)

φ (n) = 2 x 10

φ(n) = 20

Adım 4: Genel anahtarı belirlemek için d'yi hesaplamak amacıyla aşağıdaki formülü kullanırız:

e x d = 1 mod φ (n)'yi hesaplayın

e x 7 = 1'e karşı 20

e x 7 = 1'e karşı 20

e = (1 + k. φ (n))/ d [k =0, 1, 2, 3………………] olsun

k = 0 koy

e = (1 + 0 x 20) / 7

e = 1/7

k = 1'i koyun

e = (1 + 1 x 20) / 7

e = 21/7

java röportaj soruları

e = 3

Genel anahtar = (3, 33)

Dolayısıyla genel anahtar yani e = 3