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-256
hay aes-xts-512
.
Lưu ý: Tôi không aes
tă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 benchmark
lệ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ĩ
Trongcbc
chế độ,serpent
nhanh chóng đáng ngạc nhiên trong việc giải mã!Trongxts
chế độ,serpent
rõ 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ú ý .
serpent
twofish
aes
khô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. TrueCrypt
sử dụng xts
chế độ 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 cryptsetup
kết quả của.
3- Suy nghĩ chung
cryptsetup
cung cấp hiệu suất chung tốt hơnTrueCrypt
trong 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
cryptsetup
sử dụng các mô-đun mật mã kernelspace trong khiTrueCrypt
sử 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-512
dường như là cách để đi cùngcryptsetup
trong khiaes-xts
mật mã duy nhất đáng sử dụng.
4- Câu hỏi
cryptsetup
và 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
cryptsetup
và sử dụngserpent-xts-512
mật mã cho tốc độ?
serpent
và trở nên chậm hơn nhiều. Vì vậy, vấn đề với con rắn được giải quyết.Twofish
vẫn còn nhanh hơnaes
trongcryptsetup
và chậm hơn trongTrueCrypt
. Và tôi hoàn toàn khôngaes
tăng tốc phần cứng ... đây không phải là một điều VM ...