RSA şifrelemesi, ilkgüvenli veri iletimi için yaygın olarak kullanılan pratik açık anahtarlı şifreleme sistemleri. Benzer hizmetlerden temel farkı, şifreleme anahtarının herkese açık olması ve gizli tutulan şifre çözme anahtarından farklı olmasıdır. RSA teknolojisinde, bu asimetri iki büyük asal çarpanlara ayırmanın pratik karmaşıklığına dayanmaktadır (faktoring problemi).
Yaratılışın tarihi
RSA adı, soyadların ilk harflerinden oluşurRivest, Shamir ve Adleman, bu tür şifreleme algoritmalarını ilk kez 1977'de kamuya açıklayan bilim adamlarıdır. İngiltere istihbarat servisleri için çalışan bir İngiliz matematikçi olan Clifford Cox, ilk olarak 1973'te eşdeğer bir sistem geliştirdi, ancak 1997'ye kadar sınıflandırılmadı.
RSA kullanıcısı oluşturur ve ardından yayınlaryardımcı bir değerle birlikte iki büyük asal sayıya dayanan bir açık anahtar Asal sayılar gizli tutulmalıdır. Bir mesajı şifrelemek için herkes açık anahtarı kullanabilir, ancak yeterince büyükse, yalnızca asal sayı bilgisine sahip biri mesajın kodunu çözebilir. RSA şifrelemesinin ifşa edilmesi ana sorun olarak bilinir: bugün mekanizmanın ne kadar güvenilir olduğu konusunda açık bir tartışma var.
RSA nispeten yavaş bir algoritmadır,bu nedenle, kullanıcı verilerinin doğrudan şifrelenmesi için çok yaygın olarak kullanılmamaktadır. Bu yöntemin en yaygın kullanımı, simetrik bir şifreleme anahtarı için paylaşılan anahtarları şifrelemektir; bu da, çok daha yüksek bir hızda toplu şifreleme ve şifre çözme işlemlerini gerçekleştirebilir.
Şifreleme sistemi ne zaman modern haliyle ortaya çıktı?
Asimetrik anahtar şifreleme sistemi fikri1976'da dijital imzaları tanıtan ve sayı teorisini uygulamaya çalışan konsepti yayınlayan Diffie ve Hellman'a atfedildi. Formülasyonları, bir asal sayıyı modulo bazı sayıların üstelleştirilmesinden üretilen paylaşılan bir gizli anahtar kullanır. Ancak, o dönemde faktoring ilkeleri tam olarak anlaşılmadığı için bu işlevi uygulama sorununu açık bıraktılar.
Massachusetts'te Rivest, Adi Shamir ve AdlemanTeknoloji Enstitüsü, kodu çözülmesi zor olan tek yönlü bir işlev oluşturmak için yıl içinde birkaç girişimde bulundu. Rivest ve Shamir (bilgisayar bilimcileri olarak) birçok potansiyel işlev önerdi, Adleman (matematikçi olarak) ise algoritmadaki zayıf noktaları aradı. Birçok yaklaşım aldılar ve nihayet Nisan 1977'de şimdi RSA olarak bilinen şeyi geliştirdiler.
EDS ve genel anahtar
Elektronik dijital imza veya EDS,elektronik türdeki belgelerin ayrılmaz bir parçasıdır. Verilerdeki belirli bir kriptografik değişiklik olduğunda oluşur. Bu niteliği kullanarak bir belgenin bütünlüğünü, gizliliğini kontrol etmek ve ayrıca sahibinin kim olduğunu belirlemek mümkündür. Aslında bu, normal standart imzaya bir alternatiftir.
Bu şifreleme sistemi (RSA şifreleme) şunları sunar:açık anahtar, simetrikten farkı. İşleyişinin ilkesi, iki farklı anahtarın kullanılmasıdır - özel (şifreli) ve ayrıca genel. İlki, bir EDS oluşturmak ve ardından metnin şifresini çözebilmek için kullanılır. İkincisi, dijital imzanın gerçek şifrelenmesi ve doğrulanması içindir.
Bir imzanın kullanılması, RSA şifrelemesinin daha iyi anlaşılmasına olanak tanır, bunun bir örneği sıradan sınıflandırılmış "meraklı gözlerden uzak" bir belge olarak gösterilebilir.
Algoritmanın özü nedir?
RSA algoritması dört aşamadan oluşur:anahtarların üretimi, dağıtımı, şifreleme ve şifre çözme. Daha önce belirtildiği gibi, RSA şifrelemesi bir genel anahtar ve bir özel anahtar içerir. Açık herkes tarafından bilinir ve mesajları şifrelemek için kullanılır. Özü, bir genel anahtar kullanılarak şifrelenen mesajların yalnızca belirli bir süre içinde gizli bir anahtar kullanılarak şifresinin çözülebilmesinde yatmaktadır.
Güvenlik nedeniyle, tamsayılarrastgele seçilir ve boyutları aynıdır, ancak faktörlemeyi zorlaştırmak için uzunlukları birkaç basamakla farklılık gösterir. Özdeş sayılar basitlik testi kullanılarak etkili bir şekilde bulunabilir, bu nedenle şifreleme bilgilerinin daha karmaşık hale gelmesi gerekir.
Açık anahtar, bir modül ve bir kamu üssünden oluşur. Özel, gizli tutulması gereken bir modül ve bir özel göstergeden oluşur.
RSA Dosya Şifreleme ve Zayıf Yönleri
Bununla birlikte, birkaç bilgisayar korsanlığı mekanizması vardır.basit RSA. Düşük değerler ve düşük sayı değerleri ile şifrelemede, şifreli metnin kökünü tamsayılar üzerinden seçerek şifre kolayca kırılabilir.
RSA şifrelemesi,Belirleyici bir algoritma ile (yani rastgele bileşen olmadan), bir saldırgan, olası düz metni genel anahtar altında şifreleyerek ve şifreli metne eşit olup olmadığını kontrol ederek bir şifreleme sistemine karşı seçilen bir düz metin saldırısını başarıyla başlatabilir. Bir saldırgan, açıklanan formdaki karşılık gelen metinleri bilse bile, iki şifrelemeyi birbirinden ayırt edemiyorsa, bir şifreleme sistemi anlamsal olarak güvenli olarak adlandırılır. Yukarıda açıklandığı gibi, RSA, diğer hizmetlerle desteklenmedikçe anlamsal olarak güvenli değildir.
Ek şifreleme ve koruma algoritmaları
Yukarıdaki sorunlardan kaçınmak için, ne zamanPratik RSA uygulamaları tipik olarak şifrelemeden önce bazı yapılandırılmış, rastgele doldurma formlarını yerleştirir. Bu, içeriğin güvenli olmayan düz metin aralığına girmemesini ve mesajın tesadüfen açığa çıkarılamamasını sağlar.
RSA Şifreleme Sistemi Güvenliği ve Şifrelemebilgi iki matematik problemine dayanır: büyük sayıları çarpanlara ayırma problemi ve RSA probleminin kendisi. RSA'da şifreli metin ve EDS'nin tam olarak açıklanması, bu sorunların her ikisinin birlikte çözülemeyeceği varsayımıyla kabul edilemez olarak kabul edilir.
Ancak iyileşme olasılığı nedeniylebasit faktörler, bir saldırgan genel anahtardan gizli bir rakam hesaplayabilir ve ardından standart bir prosedür kullanarak metnin şifresini çözebilir. Günümüzde klasik bir bilgisayarda büyük sayıları çarpanlara ayırmak için mevcut bir yöntem bulunamamasına rağmen, var olmadığı kanıtlanmamıştır.
Otomasyon
Yafu adlı bir araç olabilirbu süreci optimize etmek için kullanılır. YAFU'daki otomasyon, çarpanlara ayırma algoritmalarını rastgele girdi sayılarının faktörlerini bulma süresini en aza indiren akıllı ve uyarlanabilir bir metodolojide birleştiren modern bir özelliktir. Algoritmanın çoğu uygulaması çok iş parçacıklı olup, Yafu'nun çok veya çok çekirdekli işlemcilerden (SNFS, SIQS ve ECM dahil) tam olarak yararlanmasına izin verir. Her şeyden önce, yönetilen bir komut satırı aracıdır. Normal bir bilgisayarda Yafu kullanarak şifreleme faktörünü bulmak için geçen süre 103.1746 saniyeye düşürülebilir. Araç, 320 bit veya daha fazla kapasiteli ikili dosyaları işler. Kurmak ve yapılandırmak için belirli miktarda teknik beceri gerektiren çok karmaşık bir yazılımdır. Bu nedenle, RSA şifreleme C savunmasız olabilir.
Modern zamanlarda bilgisayar korsanlığı girişimleri
2009'da Benjamin Moody bit kullanarakRSA-512 anahtarı, yalnızca iyi bilinen bir yazılım (GGNFS) ve ortalama bir masaüstü bilgisayar (1900 MHz'de Athlon64 çift çekirdekli) kullanarak kripto metnin şifresini çözmek için 73 gün boyunca çalıştı. Bu deneyimin gösterdiği gibi, "eleme" işlemi 5 gigabayttan biraz daha az disk ve yaklaşık 2,5 gigabayt RAM aldı.
2010 itibariyle, en büyük faktörlü RSA numarası 768 bit uzunluğundaydı (232 ondalık basamak veya RSA-768). Açıklanması aynı anda birkaç yüz bilgisayarda iki yıl sürdü.
Pratikte, RSA anahtarları uzundur -tipik olarak 1024 - 4096 bit. Bazı uzmanlar, 1024 bit anahtarların yakın gelecekte güvenilmez hale gelebileceğine veya oldukça iyi finanse edilen bir saldırgan tarafından zaten tehlikeye atılabileceğine inanıyor. Bununla birlikte, çok az kişi 4096-bit anahtarların öngörülebilir gelecekte ortaya çıkabileceğini iddia edebilir.
umutları
Bu nedenle, genellikle RSA'nınsayılar yeterince büyükse güvenlidir. Ana sayı 300 bit veya daha azsa, şifreli metin ve EDS, halihazırda ücretsiz olarak bulunan yazılım kullanılarak kişisel bir bilgisayarda birkaç saat içinde ayrıştırılabilir. 512 bit anahtarların birkaç yüz bilgisayar kullanılarak 1999 gibi erken bir tarihte kırılabildiği kanıtlandı. Bu, halka açık donanım kullanılarak birkaç hafta boyunca mümkündür. Bu nedenle, gelecekte RSA şifrelemesinin parmaklarda kolayca ortaya çıkması ve sistemin umutsuzca modası geçmiş olması oldukça olasıdır.
Resmi olarak 2003 yılında 1024 bit anahtarların güvenliği sorgulandı. Şu anda en az 2048 bit uzunluğunda olması tavsiye edilmektedir.