Như vậy file good.dll đã không bị thay thế nội dung trong quá trình truyền.
Hiện nay ở Việt Nam đã có rất nhiều công ty, ngân hàng áp dụng chứng chỉ số trong việc giao dịch điện tử. Ngân hàng cổ phần Thương mại Á Châu(ACB) cũng đã áp dụng chứng chỉ số vào giao dịch điện tử tại công ty, các khách hàng của ACB có thể dễ dàng tính toán tiền điện, tiền nước và các giao dịch điện tử trong việc rút tiền và chuyển khoản(ACB-EBanking). Không chỉ có ACB mà còn rất nhiều ngân hàng VCB, Techcombank…. Cũng đã áp dụng mô hình chứng chỉ số trong các giao dịch với khác hàng.
Hiện nay hàm băm chủ yếu được sử dụng trong thuật toán chứng chỉ số chủ yếu là SHA-1 và MD5. Tuy nhiên người ta thường sử dụng thuật toán MD5 nhiều hơn vì tính bảo mật của nó cao hơn do SHA-1 có điểm yếu khi tấn công xung đột khi tính W = W
3
t Wt8 Wt14Wt16<<<1.
4.2. MAC
MAC là một phần thông tin để xác thực và toàn vẹn của thông điệp. Ta có thể định nghĩa MAC như sau[8].
MAC =C (M, K).
- M: Message đầu vào - K: là khóa
- MAC: giá trị MAC
Nếu biết được M, MAC đó là rất khó để tìm được M’M mà C(M’, K’) = C(M, K) vì attacker không biết được khóa chia sẻ K. Thuật toán MAC, đôi khi được gọi là hàm băm mật mã khóa, chấp nhận đầu vào là một khóa bí mật và một chuỗi có chiều dài bất kì để xác thực đầu ra là MAC. Giá trị MAC này bảo vệ cả việc toàn vẹn dữ liệu và xác thực, vì mọi sự thay đổi nội dung của thông điệp đều có dẫn đến việc thay đổi MAC và do đó bên nhận biết được sự thay đổi nội dung thông điệp, MAC cũng có thể xác thực vì chỉ người có key mới có thể tạo ra MAC, MAC không có sự phân biệt giữa các bên nếu chúng chia sẻ khóa chung, thuật toán tính MAC nhanh hơn từ 1001000 lần so với thuật toán tính chữ ký số.
MAC có những yêu cầu bảo mật khác nhau, nó khá giống với các hàm mã hóa MAC phải có khả năng chống lại sự giả mạo, điều đó có nghĩa là ngay cả khi attacker truy cập vào cả khóa attacker vẫn không thể phát sinh ra được MAC giống như MAC bên gửi tính toán. MAC là khác với chữ ký số vì MAC được sinh ra và kiểm định bằng việc sử dụng cùng một khóa. Điều đó có nghĩa rằng bên gửi và bên nhận phải thống nhất một khóa chung trước khi thực hiện việc trao đổi thông tin. Như vậy ta có thể thấy rằng MAC là khác với chữ ký số vì MAC không đảm bảo được tính chất thoái thác vì bên nhận cũng có thể sinh ra MAC bằng thông được đã nhận được kết hợp với khóa chia sẻ. Giả sử có n người cần tham gia tra đổi thông tin thì chúng ta sẽ cần n(n- 1)/2 khóa. Hơn nữa nếu chỉ có hai bên tham gia trao đổi thông tin với nhau mà không cần quan tâm đến tính thoái thác thì vẫn có thể sử dụng khóa đối xứng. Nhưng nếu bên gửi muốn trao đổi thông tin với hàng triệu người thì không thể sử dụng khóa đối xứng được vì như vậy rất phức tạp trong việc quản lý khóa vì nếu chúng ta quản lý khóa đối xứng qua internet thì việc đảm bảo tính bí mật là rất thấp.
Quá trình làm việc của MAC có thể được minh họa như hình sau[8]