Truecrypt ve cryptsetup (LUKS) karşılaştırmasının sonuçları neden bu kadar farklı?


10

HDD'imin bir kısmını şifrelemek istiyorum. Ben seçmeliyim Ama eğer kriter istedim önce mevcut farklı algoritma merak aes-xts-256ya aes-xts-512.

Not: aesDonanım hızlandırmam yok. Karşılaştırmalar çok fazla değişiklik yapılmaksızın birçok kez tekrarlandı. Bu karşılaştırmanın sadece bilgisayarımda geçerli olduğunu açıkça belirtmek isterim (Debian, core 2 duo). Bunun tam bir LUKS-TrueCrypt karşılaştırması olması amaçlanmamıştır.

TL; DR: 4. bölüme gidin


1- Kripto kurulumu

Bu yüzden cryptsetup v1.6.0yeni cryptsetup benchmarkkomutu kullanmak için indirdim.

komuta

$cryptsetup benchmark

Sonuçlar

 #  Algorithm | Key | Encryption |  Decryption
     aes-cbc   128b   128,2 MiB/s   157,2 MiB/s
 serpent-cbc   128b    49,6 MiB/s    57,7 MiB/s
 twofish-cbc   128b   138,0 MiB/s   183,8 MiB/s
     aes-cbc   256b    97,5 MiB/s   121,9 MiB/s
 serpent-cbc   256b    51,8 MiB/s    57,7 MiB/s
 twofish-cbc   256b   139,0 MiB/s   183,8 MiB/s
     aes-xts   256b   156,4 MiB/s   157,8 MiB/s
 serpent-xts   256b    55,7 MiB/s    58,7 MiB/s
 twofish-xts   256b   161,5 MiB/s   165,9 MiB/s
     aes-xts   512b   120,5 MiB/s   120,9 MiB/s
 serpent-xts   512b    55,7 MiB/s    58,5 MiB/s
 twofish-xts   512b   161,5 MiB/s   165,3 MiB/s

Düşünceler

  • In cbcmodunda serpentaçılması konusunda şaşırtıcı derecede hızlı!
  • In xtsmodunda serpentaçıkça hızlı olduğunu.
  • Anahtar boyutunun neredeyse hiç fark edilmeyen bir etkisi var gibi görünüyor .serpent twofish
  • aes anahtar boyutu artırıldığında iyi davranmaz.

VM'den güncellemeler


2- TrueCrypt

aesEn hızlı olduğu bilindiği için gerçekten şaşırdım (donanım ivmesi olmadan bile). Bu yüzden TrueCryptbu sonuçları tekrar kontrol etmek için indirdim. modu varsayılan olarak TrueCryptkullanır, xtsbu yüzden testlerde de kullandığını varsayıyorum.

Yöntem

  1. Araçlar> Deney
  2. Herhangi bir arabellek boyutunu seçin (burada, 5 MB)
  3. "Benchmark" ı tıklayın

Sonuçlar

 #  Algorithm | Encryption |  Decryption
         AES     106 MB/s      107 MB/s
     Twofish      78 MB/s       76 MB/s
     Serpent      41 MB/s       42 MB/s

Düşünceler

Bu sonuçlar beklenenden çok daha fazladır, ancak cryptsetupsonuçlarıyla iyi eşleşmez .


3- Genel düşünceler

  • cryptsetupTrueCryptbu durumda olduğundan daha iyi bir genel performans sağlamıştır . Bu şu şekilde açıklanabilir:
    • cryptsetupsistemimde derleyici optimizasyon rutinleri ile TrueCryptderlenmişken, zaten genel bir şekilde derlenmişti;
    • AFAIK cryptsetup, TrueCryptkullanıcı alanı kripto rutinlerini kullanırken çekirdek alanı kripto modüllerini kullanır.
  • Ancak, kullanmaya değer tek şifre varken neden serpent-xts-512gitmenin yolu gibi olduğunu açıklayamıyorum .cryptsetupaes-xts

4- Soru

cryptsetupve TrueCrypttamamen farklı nitel (göreceli şifre hızı) ve nicel (her bir şifrenin gerçek hızı) sonuçları RAM içi kıyaslamalarla sonuçlanır.

  • Bu zaten fark ettiğiniz bir şey mi?
  • Hız için şifre cryptsetupkullanmalı mıyım serpent-xts-512?

Yanıtlar:


5

AES donanım hızlandırmanız yok ve testleri sanal bir makinede yapıyordunuz. Şifreleme / şifre çözme hızları büyük ölçüde mevcut CPU ve disk yüklerine bağlı olduğundan, test sonuçlarınızın gerçek dünyadaki sonuçları yansıtması pek olası değildir. En iyi seçeneğiniz, iki bağımsız Truecrypt bölümü oluşturmak ve her bölüme / büyük bölümden bazı büyük dosyalar kopyalayarak manuel karşılaştırmalar yapmaktır.

LUKS ve Truecrypt'in de biraz farklı uygulamaları var ve dediğin gibi, "bu kıyaslama sadece bilgisayarımda geçerlidir". Gerçek performansı belirlemek için her ikisini de sisteminizde gerçek dosya aktarımlarıyla test etmeniz gerekir.


Farklara gelince, Truecrypt bir kullanıcı alanı dosya sistemi uygulamak için FUSE ürününü kullanırken , LUKS genellikle gerçek çekirdekte yapılır. Bu nedenle, Truecrypt'in aksine LUKS / dm-crypt / cryptsetup kullanan bir Linux sisteminde daha iyi verim almanız muhtemeldir, ancak hangi seçeneği seçtiğiniz şifreleme gereksinimlerinize bağlıdır (örn. Truecrypt bölümleri işletim arasında aktarılabilir gerekirse).


Garip: Doğrudan sistemimde denedim ve temelde her şey serpentçok daha yavaş hale gelen istisnalar duruyor . Böylece yılanla ilgili problem çözüldü. TwofishHala daha hızlı olduğu aesiçinde cryptsetup ve yavaş TrueCrypt. Ve hiç aesdonanım hızlandırmam yok ... bu bir

Sonuçları güncelledim.

@Gael cryptsetup, (kullanıcı-uzay dosya sistemi) altında çalıştığından TrueCryptaynı şifreleme algoritmalarına göre daha hızlı olurken , çekirdek modülü olan LUKS'u kullanır. Sanal makineden, ana işletim sisteminiz altında başka bir program çalıştırıyormuşsunuz gibi (arka plan görevleri bile) bahsetmiştim, bu, kıyaslamalarınızın sonuçlarını etkileyecektir. TrueCryptFUSEcryptsetup
Atılım

1

Linux çekirdeğinde paralelleştirilebilir iş yüklerini (CBC şifre çözme ve XTS enc & dec gibi) hızlandırmak için SSE2 ve AVX için optimize edilmiş Serpent modülleri bulunur.

CBC şifre çözme işleminde Serpent ve bu modül (ler) yüklü XTS performansı, AES ve Twofish yazılımlarıyla (CPU modelinize bağlı olarak biraz daha hızlı veya daha yavaş) aynı seviyede olmalıdır.


0

Ayrıca bazı sanal makinelerde konuk çekirdeği tarafından çalıştırılan SSE2 kodunun ana çekirdeğe göre çok daha yavaş olduğunu unutmayın. Bunu Oracle VirtualBox ile yaşadım. Bu nedenle, VM'de Serpent sonuçları, gerçek ana bilgisayarda beklenen performansla mutlaka ilişkili olmayabilir.

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.