it-swarm-tr.com

SHA, RSA ve aralarındaki ilişki

SHA, karma mekanizmadır. Ancak, RSA şifreleme algoritmasıdır.

RSA algoritması da SHA hashing mekanizması sırayla mesajı şifrelemek için kullanılan hashing anahtarları oluşturmak için kullanıyor ??

Dahası, RSA'nın kendisi 2 anahtar verir. Biri halka açık, diğeri gizli tutulabilir. Şimdi, bu anahtarlar şifresini çözmek ve şifresini çözmek için kullanılabilir. Ref: RSA . O zaman SHA RSA'da kullanımı nedir?

HTTPS güvenliği sağlayan herhangi bir site tarafından verilen bir sertifikada, bir SHA ve bir MD5 anahtarı vardır. ?

36
whitehat

SHA, RSA'da kullanılmaz.

Ancak, SSL, SSH ve diğerleri gibi şifreleme protokolleri farklı amaçlar için SHA ve RSA gibi farklı algoritmalar kullanır. SSL anahtar için RSA (şifreleme) veya DH (RSA, DSA veya ECDSA imzalı) kullanır görüşme ve veri şifreleme için AES veya 3DES.PGP protokolü/dosya formatında, imzalama ve şifreleme için RSA, DSA ve ElGamal kullanılır.

4
chris

Belirttiğiniz gibi, bunlar iki farklı şeydir. Hash (SHA) veri bütünlüğünü ve şifrelemenin (RSA) veri gizliliği için olduğunu garanti eder. Verilerin temperlenmediğinden ve yalnızca doğru tarafın okuyabildiğinden emin olmak için birlikte kullanılırlar.

HTTPS, bütünlük, gizlilik, kimlik doğrulama sağlayan bir PKI biçimidir. SHA veya MD5, https bağlantılarının bütünlüğünü sağlamak için kullanılan iki farklı karma algoritmadır.

0
breakingigloo

Tabii ki SHA, RSA anahtarlarını oluşturmak için bir PRNG (sözde rasgele sayı üreteci) oluşturmak için kullanılabilir, ancak diğer kripto ilkellerini kullanmak mümkündür Bunun için de PRNG özel özellikler vardır (NIS SP 800-90, ANSI X9.31). "Saf" RSA don) anahtarın nasıl oluşturulduğunu umursamıyorum, ancak RSA'yı gerçek dünya uygulamasına uygulamak için, oluşturulan anahtarın gerçek bir rastgele süreç tarafından üretilmesi gerektiğinden emin olmalıyız (eğer değilse bir saldırgan için kolay Anahtarların ne olduğunu tahmin edin (eğer keays rastgele değilse, saldırgan da hesaplayabilir).

0
user536

RSA asimetrik bir şifreleme algoritmasıdır, bunlar kendiniz tekrar şifresini çözemeden belirli bir tarafa bilgi göndermek için kullanılır. Ama yine de diğer kişi tarafından şifresi çözülebilir. Bu algoritmalar çok yavaştır ve bu nedenle sadece küçük miktarlarda veri üzerinde kullanılmalıdır.

SHA, bir kriptografik karma algoritmaları paketidir, bu büyük bir veri bloğunun daha küçük bir temsilidir, kriptografik amaçlar için bunun, belirli bir karma ile eşleşecek şekilde bir veri kümesi bulmanın mümkün olmadığı gereksinimini karşılamasını istiyoruz. başka bir deyişle, karmadan bu karma değerini üreten verilere (aynı veriler olsun olmasın) gidemezsiniz.

Son olarak, her iki tarafın da aynı anahtara sahip olduğu ve aynı anahtarla hem şifreleyebildiği hem de şifresini çözebildiği simetrik kriptografide kullanılan AES gibi algoritmalar vardır.

Temel olarak bu farklı şeyleri farklı şekillerde bir araya getiriyoruz: Yani RSA'yı bir simetrik (AES) anahtar kümesi (sadece bir oturum için) göndermek ve üzerinde anlaşmak için kullanacağız, bu şekilde başka hiç kimse verilerinizi şifreleyemez, diğeri kişi simetrik anahtarları tutamadık ve tüm veriler üzerinde yavaş asimetrik şifreleme yapmıyoruz, sadece nispeten küçük bir simetrik şifreleme anahtarı yapıyoruz.

Hashing genellikle bu tür sistemlerde aşağıdaki şekilde kullanılır, diğer kişiden gelen verilerin kontrol edilmesini istiyoruz, bu yüzden düz metnin özel anahtarıyla şifresini çözüyor, eğer bu şifre metnini şifrelersek verileri geri almalıyız ( temelde şifrelemeyi şifre çözmenin tersi olarak düşünün ve bu aniden anlamlıdır!), ancak daha önce söylediğim gibi, asimetrik şifreleme yavaştır. Öyleyse, neden verileri hash etmeyelim ve hash'ı bu şekilde imzalamıyoruz, birileri eşleşiyor gibi görünen veriler üretemeden verilerin bütünlüğünü doğrulayabiliriz.

0
ewanm89