Điểm:1

Hiệu suất của AES CTR + HMAC SHA1

lá cờ cn

Tôi đang thực hiện kiểm tra hiệu suất trên AES với chế độ CTR và HMAC SHA1 để xác thực thư và đã tìm thấy tốc độ mở công cụ cho điều đó.

Tôi chạy nhiều bài kiểm tra với tốc độ openssl -evp sha1 aes-128-ctr aes-128-gcm bởi vì tôi muốn so sánh nó với chế độ GCM thực hiện mã hóa và xác thực tin nhắn ở một chế độ duy nhất.

Bây giờ câu hỏi của tôi: làm thế nào tôi có thể so sánh các giá trị này? Giá trị của kết quả sha1 có phải là "tốc độ" của sự kết hợp giữa ctr + hmac sha1 vì đó là nút cổ chai hay tôi phải trừ hai giá trị này để có được tốc độ kết hợp của ctr + hmac sha1?

nhập mô tả hình ảnh ở đây

kelalaka avatar
lá cờ in
HMAC-SHA-1 sử dụng lệnh gọi kép của SHA-1, một cuộc gọi dài (gần như băm bằng kích thước thư) và cuộc gọi còn lại ngắn, một khối SHA1 (512-bit cho SHA-1). Các tin nhắn ngắn bị khởi tạo, bạn có thể cần xem xét trường hợp thực tế của mình. Để biết cách giải thích đầu ra, hãy xem [Làm cách nào tôi có thể diễn giải đầu ra tốc độ openssl?](https://stackoverflow.com/q/17410270/1820553) từ [so]. Điều này chủ yếu là lạc đề.
Maarten Bodewes avatar
lá cờ in
Không có bất kỳ bộ mật mã AES-CTR nào. Mặc dù CTR được sử dụng làm công nghệ cơ bản cho GCM, nhưng tất cả các bộ mật mã được xác thực MAC đều dựa trên CBC, rất tiếc là sử dụng MAC-then-encrypt. Tất nhiên, vì CTR và CBC sử dụng càng nhiều mã hóa khối, thì sự khác biệt về tốc độ *nên* là không đáng kể đối với các triển khai lành mạnh (nhưng có rất nhiều điều điên rồ trên thế giới này).
kelalaka avatar
lá cờ in
Tôi đang bỏ phiếu để đóng câu hỏi này vì đây là về việc diễn giải kết quả của một thư viện mật mã. Đã có [HMAC speed](https://stackoverflow.com/q/58719049/1820553) trên [so] rồi.
Điểm:0
lá cờ in

Giá trị của kết quả sha1 có phải là "tốc độ" của sự kết hợp giữa ctr + hmac sha1 vì đó là nút cổ chai hay tôi phải trừ hai giá trị này để có được tốc độ kết hợp của ctr + hmac sha1?

Trước hết, bạn nên sử dụng AES-CBC để đảm bảo rằng bạn đang sử dụng kết hợp đúng các thuật toán. AES-CBC chậm hơn nhiều so với AES-CTR trên máy của tôi. Điều này có thể là do bộ đệm; có thể tính toán trước phần lớn luồng khóa cho AES-CTR.

Các gói TLS thường có kích thước khoảng 1,5 K, vì vậy bạn có thể sử dụng các khối 1024 byte làm chỉ báo tốt nhất. Tôi đã thực hiện bài kiểm tra tốc độ với SHA-1, AES-CBC cũng như AES-GCM.

Vì vậy, hãy sử dụng các giá trị sau:

SHA-1 (đại diện cho HMAC-SHA-1): 1467708 kB/s
AES-CBC : 1330523 kB/giây
AES-GCM : 3346640k

Thay vì GB/s, bạn thực sự nên xem xét ns trên kB, theo cách đó bạn có thể cộng thời gian xử lý lại với nhau rồi tính lại thành GB/s như bạn muốn.

Bây giờ chúng ta có thể tính tốc độ của SHA-1 + CBC bằng cách thực hiện:

$$T_{SHA-1\&CBC} = {1 \over {1 \over T_{SHA-1}} + {1 \over T_{AES-CBC}}}$$

ở đâu $T$ là tốc độ truyền tính bằng byte trên giây.

Điều này sẽ dẫn đến giá trị sau: 697876kB/s cho SHA-1 + AES-CBC.Điều đó có nghĩa là AES-GCM nhanh hơn khoảng 4,8 lần so với SHA-1 + AES-CBC đối với triển khai bình thường, không theo luồng. Điều này giả định rằng HMAC có cùng tốc độ của SHA-1 (điều này gần đúng trong mọi xác suất, mặc dù nó phải xử lý nhiều dữ liệu hơn một chút).

Soteri avatar
lá cờ cn
Cảm ơn rất nhiều cho câu trả lời chi tiết của bạn. Điều duy nhất tôi không hiểu là tại sao bạn lại chọn chế độ cbc? Tôi đã chọn ctr + hmac sha1 vì đó là mặc định cho giao thức srtp
Maarten Bodewes avatar
lá cờ in
À, xin lỗi, tôi nghĩ rằng bạn sẽ sử dụng TLS, vì bạn đang tham khảo OpenSSL. Tôi không có nhiều thời gian ngay bây giờ, bạn có thể sử dụng câu trả lời đã cho để tính kết quả tổng hợp không? Tôi cho rằng hầu hết các giao thức sẽ không đa luồng cho một kết nối cụ thể, do đó, trong trường hợp đó, đây phải là một cách tính tốc độ hợp lệ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.