Tôi muốn mã hóa một phần ổ cứng của mình. Nhưng trước đó tôi muốn điểm chuẩn các thuật toán khác nhau có sẵn tự hỏi liệu tôi nên chọn aes-xts-256hay aes-xts-512.
Lưu ý: Tôi không aestăng tốc phần cứng. Các điểm chuẩn được lặp lại nhiều lần mà không có nhiều thay đổi. Tôi muốn nói rõ rằng các điểm chuẩn này chỉ hợp lệ trên máy tính của tôi (Debian, bộ đôi lõi 2). Đây không phải là một so sánh LUKS-TrueCrypt hoàn chỉnh.
TL; DR: đến phần 4
1- Cryptsetup
Vì vậy, tôi đã tải xuống cryptsetup v1.6.0để sử dụng cryptsetup benchmarklệnh mới .
Chỉ huy
$cryptsetup benchmark
Các kết quả
# 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
Suy nghĩ
Trongcbcchế độ,serpentnhanh chóng đáng ngạc nhiên trong việc giải mã!Trongxtschế độ,serpentrõ ràng là nhanh nhất.- Kích thước khóa dường như hầu như không có tác dụng đáng chú ý .
serpenttwofish aeskhông hoạt động tốt khi kích thước khóa được tăng lên.
Cập nhật ra khỏi VM
2- Mã xác thực
Tôi thực sự ngạc nhiên khi aesđược biết là nhanh nhất (ngay cả khi không tăng tốc phần cứng). Vì vậy, tôi đã tải xuống TrueCryptđể kiểm tra lại những kết quả này. TrueCryptsử dụng xtschế độ theo mặc định vì vậy tôi giả sử nó cũng sử dụng nó trong điểm chuẩn của nó.
phương pháp
- Công cụ> Điểm chuẩn
- Chọn bất kỳ kích thước bộ đệm (ở đây, 5MB)
- Nhấp vào "Điểm chuẩn"
Các kết quả
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
Suy nghĩ
Những kết quả này tương ứng nhiều hơn với những gì được mong đợi nhưng không phù hợp với cryptsetupkết quả của.
3- Suy nghĩ chung
cryptsetupcung cấp hiệu suất chung tốt hơnTrueCrypttrong trường hợp này. Điều này có thể được giải thích theo cách sau:cryptsetupđược biên dịch trên hệ thống của tôi với các thói quen tối ưu hóa trình biên dịch trong khiTrueCryptđã được biên dịch theo cách chung;- AFAIK
cryptsetupsử dụng các mô-đun mật mã kernelspace trong khiTrueCryptsử dụng các thói quen mã hóa không gian người dùng.
- Tuy nhiên, tôi không thể giải thích tại sao
serpent-xts-512dường như là cách để đi cùngcryptsetuptrong khiaes-xtsmật mã duy nhất đáng sử dụng.
4- Câu hỏi
cryptsetupvà TrueCryptđưa ra kết quả định tính hoàn toàn khác nhau (tốc độ mật mã tương đối) và định lượng (tốc độ thực tế của từng mật mã) trong các điểm chuẩn trong RAM.
- Có phải đó là điều bạn đã nhận thấy?
- Tôi có nên tin tưởng
cryptsetupvà sử dụngserpent-xts-512mật mã cho tốc độ?
serpentvà trở nên chậm hơn nhiều. Vì vậy, vấn đề với con rắn được giải quyết.Twofishvẫn còn nhanh hơnaestrongcryptsetupvà chậm hơn trongTrueCrypt. Và tôi hoàn toàn khôngaestăng tốc phần cứng ... đây không phải là một điều VM ...