Ứng dụng của hàm băm SHA

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu cơ CHẾ xác THỰC, bảo mật TRONG CÔNG NGHỆ BLOCKCHAIN (Trang 64 - 66)

9. Đồng thuận chống gian lận Byzantine: Một trong những vấn đề cơ bản của việc tính toán phân tán được giải thích bởi bài toán những vị tướng Byzantine.

2.4.5 Ứng dụng của hàm băm SHA

2.4.5.1 Xác thực thông điệp

Các hàm băm được ứng dụng trong nhiều lĩnh vực, chúng thường được thiết kế phù hợp với từng ứng dụng. Hash được sử dụng cho mật mã vì nó che dấu dữ liệu gốc với một giá trị khác. Một ứng dụng điển hình của một hàm băm mật mã học là xác thực thông điệp, cụ thể như sau: Có hai người bạn là A và B, một hôm, A đưa cho B một câu đố khó và tuyên bố rằng A đã giải được rồi. B muốn tự giải, nhưng cũng muốn chắc chắn là A đúng là đã giải được. Do đó, A viết đáp án, gắn thêm một nonce ngẫu nhiên, tính giá trị băm của nó, và đưa kết quả băm cho B (trong khi vẫn giữ bí mật đáp án và nonce). Bằng cách này, khi B tự giải xong, A có thể chứng minh rằng mình đã có đáp án từ trước bằng cách đưa nonce cho B. Trong thực tiễn, A và B thường là các chương trình máy tính, và bí mật thường là cái gì đó không dễ lừa bằng một lời giải cho câu đó. Ứng dụng trên được gọi là một hệ thống tin cậy (commitment scheme).

Một ứng dụng quan trọng khác của các hàm băm bảo mật là sự kiểm tra tính toàn vẹn của thông điệp. Ví dụ, việc xác định xem một file hay một thông điệp có bị sửa đổi hay không có thể thực hiện bằng cách so sánh tóm tắt được tính trước và sau khi gửi (hoặc một sự kiện bất kỳ nào đó). Còn có thể dùng tóm tắt thông điệp làm một phương tiện đáng tin cậy cho việc nhận dạng file.

2.4.5.2 Chữ ký số

Một ứng dụng có liên quan là kiểm tra mật khẩu. Mật khẩu thường không được lưu dưới dạng văn bản rõ (clear text), mà ở dạng tóm tắt. Để xác thực một người dùng, mật khẩu do người đó nhập vào được băm và so sánh với kết quả băm được lưu trữ.

Do các lý do cả về bảo mật và hiệu năng chương trình, đa số các thuật toán chữ ký số nói rằng chỉ có tóm lược của thông điệp, chứ không phải toàn

văn thông điệp, được "ký". Các hàm băm còn có thể được dùng để tạo các bit giả ngẫu nhiên seudorandom).

2.4.5.3 Các ứng dụng khác

Khi được sử dụng trong Bitcoin, các hàm băm mật mã là một phần thiết yếu của quá trình đào và cũng góp phần tạo ra các địa chỉ và khóa mới.

Băm thật sự là một công cụ mạnh mẽ khi cần xử lý một lượng thông tin lớn. Ví dụ, chúng ta có thể chạy một tệp hoặc tập dữ liệu lớn thông qua hàm băm và sau đó sử dụng kết quả đầu ra từ của nó để nhanh chóng xác minh tính chính xác và tính toàn vẹn của dữ liệu. Điều này là có thể bởi vì tính chất tất định của các hàm băm: đầu vào sẽ luôn dẫn đến một đầu ra ngắn gọn, đơn giản hóa (băm). Nhờ vào kỹ thuật này, sẽ không còn phải lưu trữ và “ghi nhớ” một lượng thông tin lớn nữa.

Băm là quy trình đặc biệt hữu ích trong công nghệ Blockchain. Blockchain Bitcoin có một số hoạt động sử dụng quy trình băm, hầu hết các hoạt động đó là trong quá trình đào. Trên thực tế, gần như tất cả các giao thức tiền mã hóa đều dựa vào băm để liên kết và rút gọn các nhóm giao dịch thành các khối và cũng để tạo ra các liên kết mật mã giữa mỗi khối, tạo ra một Blockchain một cách hiệu quả.

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu cơ CHẾ xác THỰC, bảo mật TRONG CÔNG NGHỆ BLOCKCHAIN (Trang 64 - 66)

Tải bản đầy đủ (DOCX)

(87 trang)
w