✨Hàm băm mật mã

Hàm băm mật mã

Trong ngành mật mã học, một Hàm băm mật mã học (tiếng Anh: Cryptographic hash function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity). Một hàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông điệp (message digest) hoặc chữ ký số (digital fingerprint).

phải|Hoạt động của một hàm băm

Trong nhiều chuẩn và ứng dụng, hai hàm băm thông dụng nhất là MD5 và SHA-1. Năm 2005, người ta đã tìm ra lỗi bảo mật của cả hai thuật toán trên.

Tổng quan

Nói rộng, một hàm băm mật mã học phải hoạt động càng giống với một hàm ngẫu nhiên càng tốt, trong khi vẫn có tính chất đơn định và tính toán có hiệu quả.

Một hàm băm mật mã học được coi là không an toàn nếu một trong các việc sau là khả thi về mặt tính toán:

  • cho một tóm tắt (digest), tìm một thông điệp (chưa biết) khớp với tóm tắt đó
  • tìm các "xung đột băm" (hash collision), trong đó hai thông điệp khác nhau có tóm tắt trùng nhau.

Nếu có thể thực hiện một trong hai việc trên, một người có thể tấn công bằng cách dùng các cách trên để thay một thông điệp không được xác nhận (unauthorized message) vào chỗ của một thông điệp được xác nhận.

Về lý tưởng, việc tìm hai thông điệp có tóm tắt rất giống nhau cũng nên không khả thi; người ta không muốn một kẻ tấn công có thể tìm hiểu được điều gì đó hữu ích về một thông điệp nếu biết tóm tắt.

Các thuật toán có liên quan

Các giá trị tổng kiểm và mã kiểm soát lỗi (cyclic redundancy check - CRC) rất khác với các hàm băm mật mã học, và được dùng cho các ứng dụng khác. Nếu dùng cho bảo mật, các loại kiểm tra đó rất dễ bị tấn công.

Một mã xác thực thông điệp (message authentication code - MAC) lấy một thông điệp và một khóa bí mật, và tạo ra một "thẻ MAC" (MAC tag), sao cho kẻ tấn công khó có thể tạo một cặp (thông điệp, thẻ) hiệu lực khớp với thẻ được biết; ngoài các ứng dụng khác, loại mã hóa này dùng để ngăn chặn những kẻ tấn công tạo các thông điệp giả. Tuy đôi khi được gọi là "hàm băm có khóa" (keyed hash function), MAC phục vụ một mục đích rất khác và có các tính chất rất khác với một hàm băm mật mã học; ví dụ, nếu một người biết khóa MAC có thể dễ dàng tạo 2 thông điệp có cùng MAC, thì đây không phải một lỗi. Có thể dùng các hàm băm để tạo các hàm MAC; ví dụ, xem HMAC.

Các tính chất mật mã học

Không có một định nghĩa hình thức bao trùm tất cả các tính chất mong muốn của một hàm băm mật mã học. Các tính chất dưới đây được coi là yêu cầu tiên quyết:

  • Preimage resistant (Về một tính chất có liên quan nhưng hơi khác, xem bài hàm một chiều): cho trước h việc tìm m sao cho h = hash(m) là rất khó.
  • Second preimage resistant: cho thông điệp m1, việc tìm một thông điệp m2 (khác m1) sao cho hash(m1) = hash(m2) là rất khó.
  • Collision-resistant: việc tìm 2 thông điệp khác nhau m1m2 sao cho hash(m1) = hash(m2) là rất khó. Do khả năng tấn công ngày sinh nhật (birthday attack), điều đó có nghĩa là kết quả của hàm băm phải dài ít nhất là gấp đôi so với yêu cầu của preimage-resistance.

Một hàm băm thỏa mãn các tiêu chí trên có thể vẫn có các tính chất không mong muốn. Ví dụ, các hàm băm phổ biến nhất dễ bị tổn thương bởi các tấn công length-extension: Cho trước h(m)len(m) nhưng không cho trước m, bằng cách chọn m' thích hợp, một kẻ tấn công có thể tính h (m || m'), trong đó || ký hiệu phép nối xâu (concatenation). Tính chất này có thể được dùng để phá các phương pháp xác thực đơn giản dựa vào các hàm băm. Việc xây dựng HMAC đã tránh được các vấn đề này.

Nhiều người có một khái niệm sai rằng "tính chất một chiều" của một hàm băm mật mã hóa có nghĩa rằng việc xử lý trạng thái băm là không thể lần ngược được, và rằng nó mâu thuẫn với các nguyên tắc dùng để xây dựng các mã hóa khối (block cipher). Thực ra, "tính chất không thể đảo ngược" đó có nghĩa rằng có các xung đột địa phương tạo điều kiện cho các tấn công. Để có tính chất an toàn mật mã học, hàm băm phải là một quá trình xử lý hoán vị trạng thái của nó theo kiểu song ánh (bijective) Tính chất không thể đảo ngược đó thực ra có nghĩa rằng: không thể tìm khóa dùng cho việc mã hóa một khối A thành một khối B bằng một phương pháp nào nhanh hơn là vét cạn.

Ứng dụng của các hàm băm mật mã học

Một ứng dụng điển hình của một hàm băm mật mã học như sau: Alice đưa cho Bob một câu đố khó và tuyên bố rằng cô ấy đã giải được rồi. Bob muốn tự giải, nhưng cũng muốn chắc chắn là Alice đúng là đã giải được. Do đó, Alice 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 Bob (trong khi vẫn giữ bí mật đáp án và nonce). Bằng cách này, khi Bob tự giải xong, Alice có thể chứng minh rằng cô đã có đáp án từ trước bằng cách đưa nonce cho Bob.

Trong thực tiễn, Alice và Bob 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. 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 (pseudorandom).

SHA-1, MD5, và RIPEMD-160 nằm trong số các thuật toán tóm tắt thông điệp được dùng rộng rãi nhất của năm 2005. Tháng 8 năm 2004, các nhà nghiên cứu đã tìm được các điểm yếu của một loạt hàm băm, trong đó có MD5, SHA-0 và RIPEMD. Tháng 2 năm 2005, người ta ghi nhận một tấn công đối với SHA-1. Tháng 8 năm 2005, người ta lại ghi nhận một tấn công khác đối với SHA-1.

Các hàm băm được dùng để nhận dạng các file trong các mạng chia sẻ tệp đồng đẳng. Ví dụ, trong một ed2k link, một biến thể của MD4 được kết hợp với kích thước file để cung cấp thông tin cho việc xác định nguồn file, tải xuống và kiểm tra nội dung.

Danh sách các hàm băm mật mã học

Một số thuật toán trong danh sách dưới đây được biết là không an toàn; xem các bài cho từng thuật toán cụ thể để biết thêm thông tin về tình trạng thuật toán. Xem thêm các hàm băm khác ở cuối trang.

Các hàm băm SHA là một loạt các hàm do NSA phát triển: SHA, còn được biết với tên SHA-0, SHA-1 và 4 biến thể của một hàm có tên SHA-2.

Lưu ý: Ở đây, trạng thái trong (internal state) có nghĩa là "tổng băm trong" (internal hash sum) sau mỗi lần nén một khối dữ liệu. Hầu hết các hàm băm còn dùng một số biến bổ sung khác, chẳng hạn như độ dài của dữ liệu đã được nén cho đến thời điểm hiện tại, do điều này cần cho việc chèn độ dài (length padding) ở cuối. Xem chi tiết tại Hàm băm Merkle-Damgård.

Các phương pháp tính băm cho các mã hóa khối (block cipher)

Xem chi tiết tại hàm băm dựa vào mã hóa khối.

  • Matyas-Meyer-Oseas
  • Davies-Meyer
  • Miyaguchi-Preneel
  • MDC-2
  • MDC-4
👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong ngành mật mã học, một **Hàm băm mật mã học** (tiếng Anh: _Cryptographic hash function_) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng
nhỏ|phải|[[Máy Enigma, được người Đức sử dụng trong Đại chiến thế giới II, thực hiện mã hóa được bao vệ các thông tin tính toán học nhạy cam.]] **Mật mã học** là một lĩnh vực
Đây là bài nhằm phân loại, sắp xếp theo chủ đề các bài trong lĩnh vực mật mã học. ## Các thuật toán mã hóa cổ điển * Mật mã khóa tự động [http://en.wikipedia.org/wiki/Autokey_cipher] *
nhỏ|khóa ( Trong mật mã học, **khóa** là một đoạn thông tin điều khiển hoạt động của thuật toán mật mã hóa. Nói một cách khác, khóa là thông tin để cá biệt hóa quá
Trong mật mã học, **MD5** (viết tắt của tiếng Anh **Message-Digest algorithm 5**, Thuật toán Tiêu hóa-tin nhắn 5) là một hàm băm mật mã học được sử dụng phổ biến với giá trị băm
phải|Một hàm băm tiêu biểu đang hoạt động **Hàm băm** (tiếng Anh: _hash function_) là giải thuật nhằm sinh ra các **giá trị băm** tương ứng với mỗi **khối dữ liệu** (có thể là một
Trong mật mã học, **SHA-1** (**Secure Hash Algorithm 1**) là hàm băm mật mã lấy đầu vào và tạo ra giá trị băm 160 bit (20 byte) được gọi là thông báo đã tiêu hóa
**Mật khẩu**, đôi khi được gọi là **mật mã**, là một bí mật được ghi nhớ, thường là một chuỗi ký tự, được sử dụng để xác nhận danh tính của người dùng. Sử dụng
Mã hóa Giải mã Trong mật mã học, **mã hóa khối** (tiếng Anh: _block cipher_) là những thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định
Trong mật mã hóa khóa công khai**, vân tay khóa công khai** là một chuỗi byte ngắn được sử dụng để xác định khóa công khai dài hơn. Dấu vân tay được tạo bằng cách
nhỏ|315x315px|Một danh bạ điện thoại nhỏ được xem như một bảng băm. Trong khoa học máy tính, **bảng băm** là một cấu trúc dữ liệu sử dụng hàm băm để ánh xạ từ giá trị
**Bitcoin** (ký hiệu: **BTC, XBT, **) là một loại tiền mã hóa, được phát minh bởi một cá nhân hoặc tổ chức vô danh dùng tên Satoshi Nakamoto dưới dạng phần mềm mã nguồn mở
nhỏ|Có thể sử dụng công cụ sẵn có (Ví dụ: Pasword Generator) để tạo một mật khẩu đủ mạnh và đạt yêu cầu. **Độ mạnh của mật khẩu** là một thuật ngữ để chỉ mức
**Trần Hàm** (chữ Hán: 陈咸, ? – ?), tên tự là **Phùng Nho**, người huyện Thiệp , quan viên nhà Nam Tống trong lịch sử Trung Quốc. Ông có công ổn định tình hình tài
Trong mật mã học, **RSA** là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc
Nước Hoa Versace Eros 100ml Nam là chai nước hoa Nam nguồn cảm hứng từ vị thần tình yêu trong thần thoại Hy Lạp. Versace Eros là biểu tượng cho thần tình yêu Hy Lạp,
Nước Súc Miệng 250mlListerine Cool MintCho Hơi Thở Thơm MátThông tin sản phẩm:Thương hiệu: Listerin.Sản xuất tại: TháiLan.Dung tích: 250ml.SKU: Nước Súc Miệng Hương BạcHà Listerine Cool Mint giúp bảo vệ răng miệng toàn diện
THÔNG TIN SẢN PHẨM Sữa rửa mặt Cerave foaming facial cleanser cho da dầu- Xuất sứ: Nội Địa Pháp- Hạn sử dụng: 02-03 (năm) từ ngày mua hàng (theo phản hồi của Cerave)- Dung tích:
Thông tin sản phẩm: Kẻ mắt dạ siêu mảnh giúp việc kẻ mắt của bạn không còn quá khó khăn mà dễ dàng hơn rất nhiều là với những bạn mới tập tành trang điểm.
**Cưu-ma-la-thập** (chữ Nho: 鳩摩羅什; tiếng Phạn: **Kumārajīva**; dịch nghĩa là **Đồng Thọ**; sinh năm 344, mất năm 413) là một dịch giả Phật học nổi tiếng, chuyên dịch kinh sách từ văn hệ tiếng Phạn
**Cơ mặt** là nhóm các cơ vân do thần kinh mặt (thần kinh sọ VII) chi phối, các cơ này điều chỉnh nét mặt. Các cơ này chỉ có ở động vật có vú. Các
**Nhồi nhét thông tin đăng nhập** hay **nhồi nhét thông tin xác thực** () là một dạng tấn công mạng, trong đó kẻ tấn công thu thập thông tin đăng nhập bị đánh cắp –
Bệnh viện Mắt Hải Phòng đ­­ược thành lập trên cơ sở nâng cấp Trung tâm Mắt mà tiền thân là Trạm Mắt theo Quyết định của ủy ban nhân dân thành phố số 1667/QĐ- UBND
**Chữ ký số** là một tập con của chữ ký điện tử. Có thể dùng định nghĩa về _chữ ký điện tử_ cho _chữ ký số_: :Chữ ký điện tử là thông tin đi kèm
Bàn chải điện với công nghệ mô tơ treo từ tính tiên tiến có thiết kế đẹp mắt, hiện đại, vỏ nhựa ABS màu sắc trang nhã. Động cơ mạnh mẽ tạo độ rung tới
Giới thiệu sản phẩm Kem đánh răng White & White Nhật Bản Kem đánh răng white and white lion là loại kem đánh răng được sử dụng thông dụng ở Nhật, nhiều bọt với hương
Giới thiệu sản phẩm Kem đánh răng White & White Nhật Bản Kem đánh răng white and white lion là loại kem đánh răng được sử dụng thông dụng ở Nhật, nhiều bọt với hương
Kem Đánh Trắng Răng Thơm Miệng Median Dental Iq 93% Hàn Quốc 120gĐất nước Hàn Quốc không chỉ nổi tiếng với các dòng mỹ phẩm làm đẹp chăm sóc da mà Hàn Quốc còn là
**Động mạch mặt** (hay còn gọi là **động mạch hàm ngoài** trong một số tài liệu) là một nhánh của động mạch cảnh ngoài cấp máu cho các cấu trúc nông ở mặt. ## Cấu
Kem Đánh Răng Vị Bạc Hà Crest 3D White Vivid Mint UltraXuất xứ: MỸThương hiệu: CRESTTrọng lượng : 158 gr Công dụngLoại bỏ được 80% các mảng bám gây ố trên bề mặt răng giúp
Kem Đánh Răng Vị Bạc Hà Crest 3D White Vivid Mint UltraXuất xứ: MỸThương hiệu: CRESTTrọng lượng : 158 gr Công dụng- Loại bỏ được 80% các mảng bám gây ố trên bề mặt răng
MÔ TẢ SẢN PHẨMSet 2 Tuýp Kem đánh răng Crest 3D white 3 in 1 hộp 232gKem đánh răng Crest 3D white 3 in 1 có tác dụng làm sạch răng, phòng ngừa sâu răng,
MÔ TẢ SẢN PHẨMSet 2 Tuýp Kem đánh răng Crest 3D white 3 in 1 hộp 232gKem đánh răng Crest 3D white 3 in 1 có tác dụng làm sạch răng, phòng ngừa sâu răng,
EUCRYL Original Flavour là sản phẩm làm bột trắng răng được các nha sĩ ở Anh khuyên dùng và rất được ưa chuộng không chỉ ở anh mà còn được bán và sử dụng rộng
Giới thiệu sản phẩm Bột tẩy trắng răng Eucryl Freshmint Flavor 50g từ Anh Quốc EUCRYL Original Flavourlàsản phẩm làm bột trắng răng được các nha sĩ ở Anh khuyên dùng và rất được ưa
**Tấn công phát lại** là một hình thức tấn công mạng trong đó việc truyền dữ liệu hợp lệ là độc hại hoặc gian lận được lặp đi lặp lại hoặc trì hoãn. Điều này
Kem đánh răng Aquafresh Extreme Clean Whitening Action chứa bọt linh hoạt siêu nhỏ dễ dàng tiếp cận những vùng răng khó tiếp cận giúp làm sạch, trung hòa mùi khó chịu, cho răng sạch
Giới thiệu sản phẩm Bột tẩy trắng răng Eucryl Freshmint Flavor 50g từ Anh Quốc EUCRYL Original Flavourlàsản phẩm làm bột trắng răng được các nha sĩ ở Anh khuyên dùng và rất được ưa
Bên cạnh chăm sóc da và trang điểm, các tín đồ làm đẹp còn đặc biệt quan tâm tới vấn đề tẩy trắng răng. Có khá nhiều cách để cải thiện độ trắng sáng của
Trong Khoa học máy tính, bài toán **phát hiện chu trình** hay **tìm chu trình** là bài tìm thuật toán tìm vòng lặp trong một chuỗi giá trị hàm. Bất kỳ hàm f nào ánh
Mô tả sản phẩm Combo 2 chai nước xúc miệng listerine cool mint thái lan 750 ml và 250 mlSản phẩm này là tài sản cá nhân được bán bởi Nhà Bán Hàng Cá Nhân
nước xúc miệng listerine cool mint thái lan 750ml tặng thêm 1 chai 250 mlDiệt khuẩn gây hôi miệngLàm sạch các mảng bám trên răngHương bạc hà mát lạnh, sảng khoái dài lâuNước Súc Miệng
Blockchain là công nghệ lưu trữ dữ liệu phân tán, đảm bảo an toàn, minh bạch và không thể bị giả mạo. Với tính phi tập trung và bất biến, Blockchain tăng cường sự tin
MÔ TẢ SẢN PHẨMCombo tiết kiệm chi phí Hương bạc hà mát lạnhCho bạn hơi thở thơm thoCombo 2 Nước Súc Miệng Hương Bạc Hà Listerine Cool Mint (750ml/Chai) giúp bảo vệ răng miệng toàn
BỘT THANH LỌC DA DETOX SKIN MASKBỘT THANH LỌC DA DETOX SKIN MASKBột thanh lọc da Detox Skin Mask là bột được xay mịn từ lá trà xanh được sinh trưởng trong điều kiện tự
BỘT THANH LỌC DA DETOX SKIN MASKBỘT THANH LỌC DA DETOX SKIN MASKBột thanh lọc da Detox Skin Mask là bột được xay mịn từ lá trà xanh được sinh trưởng trong điều kiện tự
BỘT THANH LỌC DA DETOX SKIN MASKBỘT THANH LỌC DA DETOX SKIN MASKBột thanh lọc da Detox Skin Mask là bột được xay mịn từ lá trà xanh được sinh trưởng trong điều kiện tự
Thương hiệu :CATRICE COMESTIC– Kem che khuyết điểm Catrice Comestic – che phủ các khuyết điểm trên khuôn mặt một cách hoàn hảo nhất, đặc biệt là đối với những làn da mụn, thâm, không
BỘT THANH LỌC DA DETOX SKIN MASKBỘT THANH LỌC DA DETOX SKIN MASKBột thanh lọc da Detox Skin Mask là bột được xay mịn từ lá trà xanh được sinh trưởng trong điều kiện tự
BỘT THANH LỌC DA DETOX SKIN MASKBột thanh lọc da Detox Skin Mask làbột được xay mịn từ lá trà xanh được sinh trưởng trong điều kiện tự nhiên thôngthường. Bột trà xanh chứa nhiều