Avner

New Member
Có bác nào có tài liệu nói nhiều nhiều về hàm băm một chút bất cho em xin với. Thank các bạn rất nhiều..........
 

Trích:















Patuan





Có bác nào có tài liệu nói nhiều nhiều về hàm băm một chút bất cho em xin với. Thank các bạn rất nhiều..........







có thể tham tiềmo bài viết sau:





Hàm băm mật (an ninh) mã học





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



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à . Năm , người ta vừa tìm ra lỗi bảo mật (an ninh) của cả hai thuật toán trên.

Mục lục



[ ]





  • [ ] Tổng quan



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

    Một hàm băm mật (an ninh) mã học được coi là bất an toàn nếu một trong các chuyện sau là tiềm 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 chuyện 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 bất được xác nhận (unauthorisez message) vào chỗ của một thông điệp được xác nhận.

    Về lý tưởng, chuyện tìm hai thông điệp có tóm tắt rất tương tự nhau cũng nên bất tiềm thi; người ta bất muốn một kẻ tấn công có thể tìm hiểu được điều gì đó có í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 (cyclic redundancy check - CRC) rất khác với các hàm băm mật (an ninh) 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 (message authentication code - MAC) lấy một thông điệp và một khóa bí mật, và làm ra (tạo) ra một "thẻ MAC" (MAC tag), sao cho kẻ tấn công khó có thể làm ra (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 ngựa hóa này dùng để ngăn chặn những kẻ tấn công làm ra (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 (an ninh) mã học; ví dụ, nếu một người biết khóa MAC có thể dễ dàng làm ra (tạo) 2 thông điệp có cùng MAC, thì đây bất phải một lỗi. Có thể dùng các hàm băm để làm ra (tạo) các hàm MAC; ví dụ, xem .



    [ ] Các tính chất mật (an ninh) 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 (an ninh) mã học. Các tính chất dưới đây được coi là yêu cầu tiên quyết: (Về một tính chất có liên quan nhưng hơi khác, xem bài ): cho trước h chuyện tìm m sao cho h = hash(m) là rất khó.
    Second preimage resistant: cho thông điệp m1, chuyện tìm một thông điệp m2 (khác m1) sao cho hash(m1) = hash(m2) là rất khó.
    : chuyện tìm 2 thông điệp khác nhau m1 và m2 sao cho hash(m1) = hash(m2) là rất khó. Do tiềm năng (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 bất 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) và len(m) nhưng bất 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 (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 phụ thuộc vào các hàm băm. Việc xây dựng vừa 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 (an ninh) mã hóa có nghĩa rằng chuyện xử lý trạng thái băm là bất 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 ngựa hóa khối (block cipher). Thực ra, "tính chất bất thể đảo ngược" đó có nghĩa rằng có các xung đột đất phương làm ra (tạo) điều kiện cho các tấn công. Để có tính chất an toàn mật (an ninh) 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 bất thể đảo ngược đó thực ra có nghĩa rằng: bất thể tìm khóa dùng cho chuyện 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 (an ninh) mã học



    Một ứng dụng điển hình của một hàm băm mật (an ninh) mã học như sau: đưa cho Bob một câu đố khó và tuyên bố rằng cô ấy vừa 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à vừa giải được. Do đó, Alice viết đáp án, gắn thêm một 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 (an ninh) đá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ô vừa 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 , và bí mật (an ninh) thường là cái gì đó bất 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 (an ninh) là sự kiểm tra . Ví dụ, chuyện xác định xem một file hay một thông điệp có bị sửa đổi hay bất 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 (hay 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 chuyện nhận dạng file. Một ứng dụng có liên quan là kiểm tra . Mật khẩu thường bất đượ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 (an ninh) 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 (an ninh) và hiệu năng chương trình, (nhiều) đa số các thuật toán nói rằng chỉ có tóm lược của thông điệp, chứ bất 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 để làm ra (tạo) các bit (pseudorandom).

    , , và nằm trong số các thuật toán tóm tắt thông điệp được dùng rộng lớn rãi nhất của năm 2005. Tháng 8 năm 2004, các nhà nghiên cứu vừa 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 . Ví dụ, trong một , một biến thể của được kết hợp với kích thước file để cung cấp thông tin cho chuyện 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 (an ninh) mã học



    Một số thuật toán trong danh sách dưới đây được biết là bất 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.

    Thuật toánKích thước đầu ra (output size)Kích thước trạng thái trong (Internal state size)Kích thước khối (Block size)Độ dài (Length size)Kích thước word (Word size)Xung đột (Collision) 256/224/192/160/12825610246432Có 128384128Không8tiềm năng lớn 1281285126432Có 1281285126432Có 2568736256No32Có lỗi 1281285126432Có 128/256128/2565126432Không 160/320160/3205126432Không 1601605126432Không 1601605126432Có lỗi 256/2242565126432Không 512/384512102412864Không 192/160/1281925126464Không 160/256256/384880/1281Không 320/512512/7688160/2561Không 5125125122568Không

    Các là một loạt các hàm do 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 vừa được nén cho đến thời (gian) điểm hiện tại, do điều này cần cho chuyện chèn độ dài (length padding) ở cuối. Xem rõ hơn tại .



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



    Xem rõ hơn tại .Matyas-Meyer-Oseas
    Davies-Meyer
    Miyaguchi-Preneel
    MDC-2
    MDC-4
    [ ] Xem thêm

    (Avalanche effect)



    Collision Resistant Hash Functions.
    Universal One Way Hash Functions - Hàm băm một chiều tổng quát.
    (các dự án đánh giá các hàm băm)
    (Hash list)
    (Hash tree)

    [ ] Chú thích

    A. Joux and J-R. Reinhard, "Overtaking VEST" describes an attack that breaks ProVEST with a typo in the counter diffusor responsible for local collisions. VEST ciphers do not have that collision and therefore are not affected by this attack.
    [ ] Liên kết ngoài



    Tiếng Anh: — danh sách các hàm băm và các tấn công vừa được biết


    của Steve Friedl
    của


    phòng chốngthí nghiệm RSA
    của James McGlinn tại PHP Security Consortium
    Lấy từ “

    : | |
  •  

    Leroux

    New Member
    Cho tui hỏi cách ngựa hóa từ thành một con số bằng VBA trong word:

    VD :tui có chữ Cộng :6702173011001030 chẳng hạn

    Mong các bạn giúp đỡ với
     

    Ferguson

    New Member
    Chào các bác, Bác nào có tài liệu về hàm băm liên quan đến lọc bloom bất có thể cho tui xidduwwocj không? Thanks nhiều
     

    Các chủ đề có liên quan khác

    Top