SHA ve AES şifrelemesi arasındaki fark nedir? [kapalı]


Yanıtlar:


121

SHA şifreleme değildir, tek yönlü bir hash işlevidir. AES (Advanced_Encryption_Standard) simetrik bir şifreleme standardıdır.

AES Referansı


86

SHA , Ulusal Güvenlik Ajansı tarafından geliştirilmiş bir "Güvenli Karma Algoritmalar" ailesidir. Şu anda , 2012+ için yeni karma algoritma olan SHA-3 olacak düzinelerce seçenek arasında bir rekabet var .

SHA işlevlerini, büyük bir belge almak ve girdinin bir "özetini" ("karma" da denir) hesaplamak için kullanırsınız. Bunun tek yönlü bir süreç olduğunu anlamak önemlidir. Özeti alıp orijinal belgeyi kurtaramazsınız.

AES , Gelişmiş Şifreleme Standardı simetrik bir blok algoritmasıdır. Bu, 16 baytlık bloklar aldığı ve bunları şifrelediği anlamına gelir. "Simetriktir" çünkü anahtar hem şifrelemeye hem de şifre çözmeye izin verir.

GÜNCELLEME: Keccak , 2 Ekim 2012'de SHA-3 kazananı seçildi.


65

SHA ve AES farklı amaçlara hizmet eder. SHA, bir veri karması oluşturmak için kullanılır ve AES, verileri şifrelemek için kullanılır.

İşte bir SHA hash'in sizin için ne zaman yararlı olduğuna dair bir örnek. Bazı Linux dağıtımlarının DVD ISO görüntüsünü indirmek istediğinizi varsayalım. Bu büyük bir dosyadır ve bazen işler ters gider - bu yüzden indirdiğiniz dosyanın doğru olduğunu onaylamak istersiniz. Yapacağınız şey, güvenilir bir kaynağa (resmi dağıtım indirme noktası gibi) gitmektir ve genellikle mevcut ISO görüntüsü için SHA karmasına sahiptir. Artık indirilen verileriniz için karşılaştırılabilir SHA hashini (herhangi bir sayıda açık araç kullanarak) oluşturabilirsiniz. Artık eşleştiklerinden emin olmak için iki hashi karşılaştırabilirsiniz - bu, indirdiğiniz görüntünün doğru olduğunu onaylar. ISO görüntüsünü güvenilmeyen bir kaynaktan (bir torrent gibi) alırsanız veya ISO kullanmada sorun yaşıyorsanız ve görüntünün bozuk olup olmadığını kontrol etmek istiyorsanız bu özellikle önemlidir.

Gördüğünüz gibi, bu durumda SHA, bozulmamış verileri doğrulamak için kullanılmıştır. ISO'daki verileri görme hakkına sahipsiniz.

Öte yandan AES, verileri şifrelemek veya bazı sırları bilerek insanların bu verileri görüntülemesini engellemek için kullanılır.

AES, paylaşılan bir anahtar kullanır; bu, verilerin şifresini çözmek için kullanılanla aynı anahtarın (veya ilgili bir anahtarın) verileri şifrelemek için kullanıldığı anlamına gelir. Örneğin, bir e-postayı AES kullanarak şifrelemişsem ve bu e-postayı size göndermişsem, sizin ve benim, e-postayı şifrelemek ve şifresini çözmek için kullanılan paylaşılan anahtarı bilmemiz gerekir. Bu, PGP veya SSL gibi bir genel anahtar kullanan algoritmalardan farklıdır.

Bunları bir araya getirmek istiyorsanız, bir mesajı AES kullanarak şifreleyebilir ve ardından şifrelenmemiş mesajın bir SHA1 karmasını gönderebilirsiniz, böylece mesaj şifresi çözüldüğünde verileri doğrulayabilirler. Bu biraz uydurma bir örnek.

Bu bazı Wikipedia arama terimleri hakkında daha fazla bilgi edinmek istiyorsanız (AES ve SHA dışında) denemek isteyebilirsiniz:

Simetrik anahtar algoritması (AES için) Şifreleme karma işlevi (SHA için) Açık anahtar şifreleme (PGP ve SSL için)


1
DVD kelimesini gördüğünüzde bu cevabın kaç yaşında olduğunu anlıyorsunuz ...
Klesun

9

SHA bir karma işlevdir ve AES bir şifreleme standardıdır. Bir girdi verildiğinde, başka herhangi bir girdiden üretilmesi pek olası olmayan bir çıktı üretmek için SHA'yı kullanabilirsiniz. Ayrıca, işlevi uygularken bazı bilgiler kaybolur, bu nedenle aynı çıktıyı veren bir girdiyi nasıl üreteceğinizi bilseniz bile, bu girdi ilk başta kullanılan girdinin aynısı olmayacaktır. Öte yandan AES, aynı şifreleme anahtarını paylaşan iki taraf arasında gönderilen herhangi bir veriyi üçüncü şahıslara ifşa etmekten korumak içindir. Bu, şifreleme anahtarını ve çıktıyı (ve IV ...) öğrendikten sonra, sorunsuz bir şekilde orijinal girişe geri dönebileceğiniz anlamına gelir. Lütfen SHA'nın uygulanacak bir girdiden başka bir şey gerektirmediğine dikkat edin, ancak AES en az 3 incelik gerektirir: şifrelediğiniz / şifresini çözdüğünüz şey, bir şifreleme anahtarı ve başlatma vektörü (IV).


7

SHA, Güvenli Karma Algoritma anlamına gelirken, AES, Gelişmiş Şifreleme Standardı anlamına gelir. Dolayısıyla SHA, bir karma algoritmalar paketidir. AES ise şifrelemek için kullanılan bir şifredir. SHA algoritmaları (SHA-1, SHA-256 vb.) Bir girdi alır ve bir özet (karma) üretir, bu genellikle dijital imzalama sürecinde kullanılır (bazı baytların karmasını üretin ve özel bir anahtarla imzalayın) .


3

SHA, uygulanacak bir girdiden başka bir şey gerektirmezken, AES en az 3 şey gerektirir - şifrelediğiniz / şifresini çözdüğünüz şey, bir şifreleme anahtarı ve başlatma vektörü.


1
[Bu, "yeni bir kullanıcı tarafından sağlanan eski bir soruya geç yanıt olarak işaretlendi. Benim yorumum bu bağlamda.] Bu, bu soruya verilen diğer yanıtlarda zaten sağlananlar hakkında herhangi bir bilgi
eklemiyor gibi görünüyor

Bu yanlış. AES'i kullanmak için bir başlatma vektörüne (IV) ihtiyacınız yoktur. AES için bazı operasyon modları bir IV gerektirir (bu tamamen farklıdır).
Hilder Vitor Lima Pereira
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.