Điểm:0

Ký một hàm băm của tệp so với ký một tệp

lá cờ uz

Nếu người A đã tạo một hàm băm (ví dụ: sha256) của một tệp và sau đó ký tên vào hàm băm đó bằng khóa cá nhân.

Người B chỉ có khóa chung, tệp, chữ ký và hàm băm, liệu việc xác minh chữ ký bằng khóa chung có đủ để chứng minh người A đã ký vào tệp thực không?

Băm và thuật toán nào phù hợp nhất với điều này?

kelalaka avatar
lá cờ in
Tốt nhất không phải là một thuật ngữ tốt. cân nhắc của bạn là gì? Người B không cần hàm băm của tệp, họ chỉ cần khóa chung, chữ ký, tệp và định nghĩa lược đồ chữ ký. Bạn có thể có; RSA, ECDSA, EdDSA, ... những thứ đó đang thất bại trước đối thủ lượng tử và Rainbow, Falcon và CRYSTALS-DILITHIUM vẫn lọt vào vòng thứ 3 của cuộc thi lượng tử sau NIST. VẬY, những hạn chế và rủi ro của bạn là gì?
lá cờ uz
Tôi đang tìm thứ gì đó khá dễ sử dụng, tức là phổ biến như pgp . Những ràng buộc và rủi ro khôn ngoan Tôi nghĩ rằng nó sẽ không thể bị phá vỡ trong ít nhất 100 năm, ngay cả khi chống lại các nguồn lực của một quốc gia.
kelalaka avatar
lá cờ in
Vì vậy, bạn cần các sơ đồ chữ ký sau lượng tử!
lá cờ uz
Tại sao RSA không kéo dài 100 năm hoặc thậm chí 20 năm?
kelalaka avatar
lá cờ in
Chà, nếu một máy tính lượng tử mật mã được xây dựng, thuật toán của Shor sẽ phá vỡ nó dễ dàng.
Maarten Bodewes avatar
lá cờ in
**Tạo chữ ký** thường **chứa** thuật toán băm. Việc triển khai có thể hữu ích khi cung cấp hàm băm cho hoạt động chữ ký cuối cùng vì quá trình băm có thể diễn ra bằng một quy trình khác hoặc tại một thời điểm khác (ví dụ: khi chưa có khóa ký). Tuy nhiên, để làm được điều đó, bạn không cần truyền hàm băm một cách riêng biệt: xác minh hàm băm là một phần của xác minh chữ ký và thường được chứa trực tiếp trong chữ ký.
Điểm:3
lá cờ ng

Người B chỉ có khóa chung, tệp, chữ ký và hàm băm, liệu việc xác minh chữ ký bằng khóa chung có đủ để chứng minh người A đã ký vào tệp thực không?

Người B không cần hàm băm. Nếu họ nhận được nó, họ có thể sử dụng nó cho mục đích gỡ lỗi hoặc hủy xác minh sớm, nhưng họ không nên tin tưởng vào nó. Trong phần sau đây, tôi bỏ qua bất kỳ hàm băm nào mà người B có thể đã nhận được.

Người B sẽ băm tệp và kiểm tra xem hàm băm đó, khóa công khai và chữ ký có được xác minh hay không.Điều đó được cho là để chứng minh người A đã ký vào hồ sơ.

Băm là một phần của quá trình xác minh chữ ký thường được nêu là: Người B sẽ kiểm tra xem tệp, khóa chung và chữ ký có được xác minh hay không.

Một ngoại lệ đối với đoạn trên là khi, bên trên hệ thống chữ ký đã phù hợp để ký một tin nhắn/tệp có độ dài bất kỳ bằng cách sử dụng hàm băm $H_1$, nó đã thêm một lớp băm khác với hàm băm $H_2$. Trong trường hợp này, người ta sẽ nói: Người B sẽ băm tệp với $H_2$và kiểm tra xem hàm băm đó, khóa công khai và chữ ký hay không, xác minh (ngầm định: với hàm băm $H_1$ áp dụng cho kết quả của $H_2$ như một phần của xác minh chữ ký). Băm tổng hợp như vậy đôi khi được thực hiện vì lý do hiệu suất, bởi vì $H_2$ là do thiết kế nhanh hơn $H_1$; hoặc/và bởi vì $H_1$ được thực hiện bởi một thiết bị (ví dụ: Thẻ thông minh) và $H_2$ được thực hiện bởi người khác (ví dụ: máy tính sử dụng Thẻ thông minh).

Băm và thuật toán nào (thích hợp cho) điều này?

Từ quan điểm lý thuyết, chữ ký cần một thuật toán băm có khả năng chống va chạm (ngụ ý khả năng chống ảnh hưởng thứ hai) và có chiều rộng phù hợp với hệ thống chữ ký đang được xem xét.

Nếu chiều rộng đó tối đa là 512-bit, SHA-512 cắt ngắn thích hợp sẽ làm. Đối với kích thước tùy ý, có LẮC256. Để có tốc độ tốt hơn, có Blake2.

Từ quan điểm thực tế, hàm băm thường được chỉ định bởi hệ thống chữ ký hoặc tham số của nó và thông số kỹ thuật đó thường được nhúng với khóa chung trong chứng chỉ khóa chung.

Một ví dụ về thuật toán chữ ký và hàm băm được sử dụng phổ biến là ECDSA với đường cong secp256r1 và băm SHA-256. Một ví dụ khác là Ed25519, chỉ định thuật toán, đường cong và hàm băm (lưu ý Ed25519ph giống như Ed25519, ngoại trừ hàm băm kép trong ngoại lệ ở trên).


¹ Không có gì giống như bằng chứng tuyệt đối: có lẽ khóa công khai không phải của người A; hoặc khóa cá nhân của một người đã bị đánh cắp; hoặc PC của họ nằm dưới sự kiểm soát của một tác nhân độc hại nên A muốn ký một cái gì đó hoàn toàn khác; hoặc hệ thống chữ ký hoặc hàm băm bị hỏng...

Maarten Bodewes avatar
lá cờ in
Vâng, vâng, nhiều giao thức hỗ trợ nhiều phần tử dữ liệu và việc gửi hàm băm của các phần tử dữ liệu **không xác định/chưa đọc** sau đó sẽ giúp ích rất nhiều. Merkle cây và những gì không. Ví dụ. eMRTD/ePassport chứa một tập hợp các giá trị băm trên các nhóm dữ liệu. Tất nhiên, đây không phải là ký chính xác một hàm băm được truyền đi, *chỉ* hàm băm kép không hữu ích cho việc này. Mặc dù hàm băm đa cấp nằm trong câu trả lời, nhưng dường như nó tập trung vào hiệu suất (nhưng TBH, câu hỏi cũng không đề cập đến trường hợp sử dụng này).
lá cờ uz
Trong trường hợp sử dụng của tôi, tôi chỉ muốn ký mã băm bằng khóa riêng. Lý do cho việc này là để tiết kiệm băng thông. Vì các hệ thống lưu trữ và việc ký là riêng biệt và giao tiếp giữa chúng đã được tin cậy nên việc truyền một hàm băm sẽ nhanh hơn và ít tốn kém hơn là một tệp rất lớn để ký.

Đă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.