Hangi PHP mcrypt şifre güvenli mi?

7 Cevap php

Yani adamlar, orada mevcut farklı şifrelere bol - ama günümüzde kullanmak için güvenli hangisi?

Liste: http://www.php.net/manual/en/mcrypt.ciphers.php

7 Cevap

Eğer bir 128-bit anahtar ile (aynı zamanda "Rijndael" olarak da bilinir) emin kullanımı AES. Anahtar boyutu hakkında fetiş çeşit geliştirdik o zaman, büyük bir tuşunu seçerek, örneğin Mantıksız çekinmemek yerine getirememiş 192 veya 256 bit; ekstra maliyet (AES-128 ile karşılaştırıldığında, AES-256 için +40% iş yükü, ve aslında bu farkı gözlemlemek için çok very hızlı bir ağ alır) yüksek değildir.

AES 1998 yılında yayımlanan ve 2001 yılında federal bir standart olarak ABD hükümeti tarafından kabul edilen ve günümüzde zayıflık belirtisi gösteren edildi. Bazı matematiksel özellikler sonradan bulundu, ama onlar gerçek güvenliği etkisi yoktur; çoğunlukla, onlar biz AES güvenli neden bazı nispeten kesin bir bilgiye sahip olduğunu vurgulayın. Başka hiçbir simetrik şifreleme algoritması AES den (yetenekli Cryptography binlerce) gibi çok dikkat çekmiştir.

Çoğu güvenlik sorunları şifreleme algoritması algoritması kendisi değil, nasıl kullanıldığı geliyor. Uygun bir zincirleme modunu kullanın, bir MAC eklemek dolgu yönetmek, ve en önemlisi güvenli bir keys anlaştım. Eğer tüm bu hakkı (çok daha zor göründüğü gibi daha olan) var ise o zaman Rijandael Twofish veya ne olursa olsun seçme hakkında endişelenmenize gerek zaman olur.

Thomas PORNIN harika cevap ek olarak, aynı zamanda "güvenlik" (gizlilik / bütünlük / özgünlük / kullanılabilirlik) açısından ulaşmak için çalışıyoruz ne düşünmek gerekir.

Her durumda, bir kaç soruları gerekir, gibi ... Kim bu geçerlidir? Nerede ve neden (ne koruyorsun) kullanılıyor? Nasıl uzun sürecek demektir? vb

Örneğin, gerçekten veri gerçekten sadece diyelim ki 20-30 dakika sürmesi içindir 256 bit operasyonları tam gaz arkaya ile oturum verileri şifreleyerek hiçbir nokta muhtemelen var. Güvenli 128bit algoritma yakın iki kat daha hızlı ya da en azından kullanım yükler daha az saat döngüleri ve sadece güvenli (daha fazla değil ise) gibi olurdu.

Zayıf, kısa anahtar yöntemi ile bir (gizli bir belge veya dosya, vb gibi özel anahtar ..) uzun süre son pinti bir şey şifreleyerek hiçbir anlamı da var. Siz zaman zaman bazı kimlik çeşit ve dolgu doğru kullanımı ile çoklu algoritmaları isterdim. Ben düzenli olarak birden çok algoritmaları (çoğunlukla Twofish, AES, RSA) kullanarak müşterileri için talep üzerine içerik şifreli ve imzaladı.

Ve ya unutmak (Thomas işaret gibi), sen güvensiz güvenli bir yöntem (veya yöntemleri) uygulayabilirsiniz değil. Her formül ve bu tür çeşitlerinin büyük miktarda ile, aslında "güvenli" bir şey uygulamak zor olabilir.

Tuş kilidini olduğu gibi genellikle bir şey olarak güvenlidir. Ben kilidi araba ile araba benim araba anahtarları bırakırsanız, anahtarlar, güvenli olmayan ve herkes yürürken geçmişin ayırdığınız için açık. Iyi dağılmış bir 32 karakter tuşu ile Blowfish başka bir şey bugün gibi güvenli olacaktır. A 3 karakter tuşu, ancak bir göz açıp kapayıncaya kadar kırılmış olabilir.

"Güçlü şifreleme AES-256"

Bruce Schneier sitesinde ayrıntıları, AES-256, ironik, en az üç anahtar boyutları 128, 192, ve 256 üzerinden güvenli olabilir. 256-bit varyantında anahtar üretimi ile ilgili sorunlar vardır.

Bazı algoritmalar farklı şeyler diğerlerinden daha iyi - emin değil ne "güvenli" için kriter.

Sen kesinlikle bu gün (ücretsiz bir seçim var varsayarak) DES tabanlı algoritmaları birini kullanarak olmamalıdır. AES (Rijndael) NIST ve diğer kurumlar için geçerli standarttır.

Genelde belirli bir algoritma için daha fazla bit daha güvenli anlamına gelir, ama bir başlatma vektörü kullanmak ve ECB KULLANMAYIN emin olun yok.

HTH

C.

NIST Gazeteye göre, RJINDAEL MARS, Twofish veya yılana oranla düşük bir güvenlik payı vardı. Eğer gerçekten güçlü şifre gerekiyorsa, bunlardan birini seçin.

http://csrc.nist.gov/archive/aes/round2/r2report.pdf

To quote: "MARS appears to have a high security margin. A precise characterization of MARS is difficult because of the fact that MARS employs two different kinds of rounds. MARS has received some criticism based on its complexity, which may have hindered its security analysis during the timeframe of the AES development process.

Rijndael appears to have an adequate security margin. The security margin is a bit difficult to measure because the number of rounds changes with the key size. Rijndael has received some criticism on two grounds: that its security margin is on the low side among the finalists, and that its mathematical structure may lead to attacks. However, its structure is fairly simple, which may have facilitated its security analysis during the specified timeframe of the AES development process.

Serpent appears to have a high security margin. Serpent also has a simple structure, which may have facilitated its security analysis during the specified timeframe of the AES development process.

Twofish appears to have a high security margin. Since Twofish uses key-dependent round function, the notion of security margin may have less meaning for this algorithm than for the other finalists. The dependence of the Twofish S-boxes on only k/2 bits of entropy in the k-bit key case has led to a speculation that Twofish may be amenable to a divide-and-conquer attack, although no such attack has been found. Twofish has received some criticism for its complexity, making analysis difficult during the timeframe of the AES development process."

AES onaylı FIPS çünkü ben normalde AES-128 kullanın. Güçlü şifreleme AES-256 (MCRYPT_RIJNDAEL_256) 'dir.

mcrypt modüler bir tasarıma sahiptir ve yeni şifre kolayca eklenebilir.

Eğer ayrıntılara bakmak isterseniz, http://en.citizendium.org/wiki/Block_cipher de blok şifrelere esas bana göre bir makale, orada

, Mevcut ABD standartlarına uygun AES, eskiden Rijandael kullanın. Yılan, MARS, Twofish veya RC-6 - - AES rekabet diğer finalist herhangi de ince olmalıdır. Ben olsa da, RC6 için bir lisans gerekir düşünüyorum.