Veri için DES, Triple DES, AES, balon balığı şifrelemesinin karşılaştırılması


Yanıtlar:


245

AES kullanın.

Daha ayrıntılı olarak:

  • DES yetmişli yılların eski "veri şifreleme standardı" dır. Anahtar boyutu uygun güvenlik için çok kısadır (56 etkili bit; on yıldan daha önce gösterildiği gibi bu kaba-zorlanabilir ). Ayrıca DES, aynı anahtarla birkaç gigabayt veri şifreleme sırasında bazı potansiyel sorunları ortaya çıkaran 64 bit bloklar kullanır (bir gigabayt günümüzde o kadar büyük değildir).
  • 3DES, üç DES örneğini (ayrı tuşlarla) basamaklayarak DES uygulamalarını yeniden kullanmak için bir numaradır. 3DES'in en azından " 2 112 " güvenliğine kadar güvenli olduğuna inanılmaktadır (ki bu oldukça fazladır ve "günümüz teknolojisiyle kırılamaz" alanındadır). Ancak, özellikle yazılımda yavaştır (DES, verimli donanım uygulaması için tasarlanmıştır, ancak yazılımı emer ve 3DES üç kat daha fazla emer).
  • Blowfish, Bruce Schneier tarafından önerilen ve bazı yazılımlarda kullanılan bir blok şifresidir. Blowfish, DES ve 3DES gibi 64 bit olan blok boyutu hariç, büyük anahtarlar kullanabilir ve güvenli olduğuna inanılmaktadır. Blowfish yazılımda etkilidir, en azından bazı yazılım platformlarında (tuşa bağlı arama tabloları kullanır, bu nedenle performans platformun belleği ve önbellekleri nasıl kullandığına bağlıdır).
  • AES, ABD federal kuruluşları için standart simetrik şifreleme algoritması olarak DES'in halefidir (ve hemen hemen herkes için de standarttır). AES, 128, 192 veya 256 bitlik anahtarları kabul eder (128 bit zaten çok kırılmaz), 128 bitlik bloklar kullanır (bu yüzden orada sorun yoktur) ve hem yazılım hem de donanımda etkilidir. Birkaç yıl boyunca yüzlerce kriptografın katıldığı açık bir yarışma ile seçildi. Temel olarak, bundan daha iyisine sahip olamazsınız.

Şüphe duyduğunuzda AES kullanın.

Bir blok şifrenin "blokları" (AES ile 128 bit veri parçaları) şifreleyen bir kutu olduğunu unutmayın. 128 bit'ten daha uzun olabilen bir "mesaj" şifrelendiğinde, mesaj bloklara bölünmelidir ve ayrımı gerçekte yapma moduna "zincirleme" adı verilir. Naif moda (basit bölünme) ECB denir ve sorunları vardır. Bir blok şifresini doğru kullanmak kolay değildir ve örneğin AES veya 3DES arasında seçim yapmaktan daha önemlidir.


4
Biraz fındık olmak, neredeyse AES256 tavsiye ederim
hdost

2
Holy Sh * t, NSA 1976'da DES'i çatlatabilirdi, ancak 2002'ye kadar kullanımını teşvik etti! Bana paranoyak deyin ama AES için itme korkusu duyuyorum
Dr Deo

25

AES ve Blowfish hariç tüm bu şemalar bilinen güvenlik açıklarına sahiptir ve kullanılmamalıdır.
Ancak, Blowfish'in yerini Twofish almıştır .


11

Açıklanan şifreleme yöntemleri, simetrik anahtar blok şifreleridir.

Veri Şifreleme Standardı (DES), 56 bitlik anahtar kullanarak verileri 64 bitlik bloklarda şifreleyen öncekidir. Her blok, bir güvenlik açığı olan tek başına şifrelenir.

Üçlü DES, her bloğa üç DES işlemi uygulayarak DES'in anahtar uzunluğunu genişletir: anahtar 0 ile bir şifreleme, anahtar 1 ile bir şifre çözme ve anahtar 2 ile bir şifreleme. Bu anahtarlar ilişkili olabilir.

DES ve 3DES genellikle eski ticari ürün ve hizmetlerle arayüz oluştururken görülür.

AES halefi ve modern standart olarak kabul edilir. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Blowfish kullanımının cesareti kırıldığına inanıyorum.

Kendi kriptografinizi uygulamaya çalışmamanız ve bunun yerine hareketsiz veriler için GPG veya aktarılan veriler için SSL / TLS gibi üst düzey bir uygulama kullanmanız önemle tavsiye edilir. İşte şifreleme güvenlik açıkları hakkında mükemmel ve ayık bir video http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/


2
Balon balığı kullanımı neden önerilmez? Bu en güvenli olanı değil mi?
yogsma

5
@yogsma: Blowfish, yalnızca 64 bitlik bir blok boyutuna sahiptir (protokollerde DES için bir yedek değiştirme anlamına geliyordu) ve bu nedenle aynı anahtarla şifrelenen bazı GB verilerinin ardından sorunlu hale geliyor.
Paŭlo Ebermann

@rohannes, BlowFish neden cesaret kırıldı, performans açısından bir yerde okudum BlowFish brighthub.com bu makaleye bakmak AES iyidir
Yogesh

9

AES simetrik bir şifreleme algoritması, RSA ise asimetrik (veya açık anahtar) bir şifreleme algoritmasıdır. Şifreleme ve şifre çözme, RSA'da ayrı anahtarlar (genel ve özel anahtarlar) kullanırken AES'de tek bir anahtarla yapılır. 128 bit AES anahtarının gücü yaklaşık 2600 bit RSA anahtarına eşittir.


7
bu cevabı ya da kaynağı destekleyen matematiği sağlayabilir misiniz? 128 bit AES'in kabaca 2600 bit RSA'ya eşit olduğu sonucuna vardığınızı bilmek isterim (bunun eski bir cevap olduğunu anlıyorum)
Russell Uhl

3
@RussellUhl - Bu sayıların tarihinin, 2 yıl daha sessiz kaldıktan sonra bile ilginç bir soru olduğunu kabul ediyorum. :) Bu sayılar bu PDF belgesinden türetilebilir görünmektedir: eprint.iacr.org/2013/635.pdf başlıklı Universal security - from bits and mips to pools, lakes – and beyond.
Jesse Chisholm

4

TripleDESCryptoServiceProvider güvenli ve iyi bir yöntem olmasına rağmen çok yavaş. MSDN'ye başvurmak isterseniz, TripleDES yerine AES kullanmanızı tavsiye edersiniz. Lütfen aşağıdaki bağlantıyı kontrol edin: http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx bu dikkatleri açıklama bölümünde göreceksiniz:

Not Daha yeni bir simetrik şifreleme algoritması olan Gelişmiş Şifreleme Standardı (AES) kullanılabilir. TripleDESCryptoServiceProvider sınıfı yerine AesCryptoServiceProvider sınıfını kullanmayı düşünün. TripleDESCryptoServiceProvider'ı yalnızca eski uygulamalar ve verilerle uyumluluk için kullanın.

İyi şanslar


3
Microsoft'un şifreleme için bazı ürünlerinde aktif olarak TripleDES kullandığı göz önüne alındığında bu komik ( en.wikipedia.org/wiki/Triple_DES#Usage )
Tom Heard

@ Doğru ama birçok yazılımın eski teknolojileri kullandığını unutmayın ve bu yeni yöntemlere uyum sağlamak için zaman alır. Özellikle Microsoft gibi büyük şirketler için, her ne kadar güncelleme olması gerektiği konusunda hemfikirim ve şirketimiz bazı şeyler önerdiğinde ve başka şeyler yaparken bu kötü.
QMaster

1
Microsoft, geriye dönük uyumluluk konusunda ün salmıştır. TripleDES kullanımları doğrudan "yalnızca eski uygulamalar ve verilerle uyumluluk için" altına girer.
Dan Bechard


0

AES şu anda kullanılmakta olan standart algoritmadır (dolayısıyla Gelişmiş Şifreleme Standardı adı) ).

Gerisi değil.


3
Peki adı? O zaman "AES" ismi kullanılması gerektiğini nasıl gösterir?
CodyBugstein

15
Veri Şifreleme Standardı ne olacak ? "Adı <standart> olan mantığınız - bu yüzden kullanılması gereken budur" oldukça kusurludur.
Zlatin Zlatev

0
                DES                               AES
Developed       1977                              2000
Key Length      56 bits                           128, 192, or 256 bits
Cipher Type     Symmetric                         Symmetric
Block Size      64 bits                           128 bits
Security        inadequate                        secure
Performance     Fast                              Slow

AES, özellikle AES-NI destekleyen CPU'larda 3DES'den daha hızlıdır. (Normal - (hatta o olmadan ama DES hızlı donanım uygulamaları değil, yazılım uygulamaları için tasarlanmıştır) DES bazı kriterler üzerinde biraz daha hızlı olduğunu , ancak 56bit tuşları herhangi bir geçerli kullanıma uygunsuz hale)
Berg den Gert van
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.