MÃ HÓA DỮ LIỆU VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ Ngày nay khi sự phát triển của Internet và công nghệ thông tin ngày càng cao. Đã cho phép chúng ta thực hiện những giao dịch điện tử thông qua internet, nhưng tính linh hoạt của internet cũng tạo cơ hội cho “bên thứ ba” có thể thực hiện các hành động bất hợp pháp cụ thể là: Tấn công trực tiếp Nghe trộm và quan sát mạng Giả mạo (Tampering)
MÃ HÓA DỮ LIỆU VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ I. ĐẶT VẤN ĐỀ Ngày nay khi sự phát triển của Internet và công nghệ thông tin ngày càng cao. Đã cho phép chúng ta thực hiện những giao dịch điện tử thông qua internet, nhưng tính linh hoạt của internet cũng tạo cơ hội cho “bên thứ ba” có thể thực hiện các hành động bất hợp pháp cụ thể là: • Tấn công trực tiếp: Một phương pháp phổ biến đó là đoán và dò tìm username – password theo các thông tin của nguời dùng như tên, ngày sinh, địa chỉ, số nhà Đây là phương pháp đơn giản, dễ thực hiện và khả năng thành công cũng khá lớn, có thể tới 30%. • Nghe trộm và quan sát mạng: Được tiến hành ngày sau khi kẻ tấn công đã chiếm được quyền truy nhập vào hệ thống. Thông tin không bị thay đổi nhưng tính bí mật của nó thì đã không còn. Bên thứ ba dễ dàng ghi lại các thông tin không được mã hóa khi truyền trên mạng như mật khẩu, số thẻ tín dụng hay các thông tin bảo mật khác. • Giả mạo (Tampering): Cá thông tin trong khi truyền trên mạng có thể bị thay đổi nội dung hoặc thay thế trước khi đến đúng người nhận. Các kiểu giả mạo : o Giả mạo các định tuyến: các thủ tục định tuyến chuẩn được dùng thông dụng trong các cấu hình router cho phép bất kỳ người nào có thể lập lại cấu hình cho các router này. Nó có thể được dùng để chuyển định tuyến các kết nối tới các mạng mà bình thường chúng sẽ không được đi qua, ở đó các thông tin sẽ bị đánh cắp. o Giả mạo DNS: tấn công mức mạng có thể được dùng để yêu cầu các máy chủ tên miền cung cấp các thông tin dùng để tấn công sau này. o Giả mạo hệ thống truy nhập từ xa: có thể dễ dàng chặn một kết nối mà các bên truyền không hề biết, chèn thêm vào hay đưa ra các lệnh mới, rồi truyền đến nơi nhận. Từ đó có thể tấn công hay chiếm quyền điều khiển các máy tính chạy sau firewall. • Mạo danh: Một cá nhân có thể dựa vào thông tin của người khác để trao đổi với một đối tượng. Có 2 hình thức mạo danh sau: 1 1 o Bắt chước: Một cá nhân có thể giả vờ như một người khác. Ví dụ, dùng địa chỉ mail của một người khác hoặc giả mạo tên miền của một trang web. o Xuyên tạc: Một cá nhân hay một tổ chức có thể giả vờ như một đối tượng, hay đưa ra những thông tin về mình mà không đúng như vậy. Ví dụ, có một trang chuyên về thiết bị nội thất mà có sử dụng thẻ tín dụng, nhưng thực tế là một trang chuyên đánh cắp mã thẻ tín dụng. • Chối bỏ nguồn gốc (Repudiation): Một cá nhân có thể chối cãi là đã không gửi thông tin tài liệu khi xảy ra tranh chấp. Ví dụ điển hình là trong gửi mail, thông thường người nhận sẽ không thể khẳng định người gửi là chính xác. • Từ chối dịch vụ (Denial of Service): Xảy ra khi một kẻ sử dụng một dịch ụ quan trọng của hệ thống máy tính theo cách khiến cho dịch vụ giảm chất lượng rõ rệt, quá tải, thậm chí tê liệt hệ thống dẫn đến ngăn cản người khác không thể sử dụng được dịch vụ đó. • Truy nhập bất hợp pháp (Illegal Access): Xảy ra khi một người truy nhập vào một hệ thống máy tính hay một phần nào đó của hệ thống mà không đuợc phép của người quản trị. • Tấn công vào yếu tố con người: Kẻ tấn công có thể liên lạc với người quản trị hệ thống, giả làm một người sử dụng để thay đổi mật khẩu, thay đổi quyền truy nhập của mình đối với hệ thống, hoặc thậm chí thay đổi một số cấu hình hệ thống để thực hiện các phương pháp tấn công khác. Do vậy để đảm bảo an toàn trong thương mại điện tử và giao dich điện tử cần có các hình thức bảo mật có hiệu quả nhất. Các vấn đề an toàn thông tin trên mạng có thể được giải quyết dựa trên cơ sở lý thuyết mật mã. Mật mã học được ứng dụng từ xa xưa từ thời Ai cập cổ đại và xuyên suốt tiến trình lịch sử để truyền đi các thông tin quân sự và ngoại giao bí mật. II. CÁC KỸ THUẬT MÃ HÓA DỮ LIỆU II.1 Khái niệm Mã hóa dữ liệu là sử dụng một phương pháp biến đổi dữ liệu từ dạng bình thường sang một dạng khác, mà một người không có thẩm quyền, không có phương tiện giải mã thì không thể đọc hiểu được. Giải mã dữ liệu là quá trình ngược lại, là sử dụng một phương pháp biến đổi dữ liệu đã được mã hóa về dạng thông tin ban đầu. 2 2 Quy trình mã hóa dữ liệu Sau đây là một số khái niệm và kí hiệu liên quan về vấn đề mã hóa và giải mã dữ liệu : - Mã hóa (Encryption): Quá trình chuyển đổi dữ liệu gốc thành dữ liệu được mã hóa sao người khác không thể đọc hiểu được (kí hiệu E); - Giải mã (Decryption): Quá trình ngược lại của mã hóa, biến đổi dữ liệu đã được mã hóa thành dạng gốc ban đầu (kí hiệu D); - Thông điệp (Message), bản gốc (Plaintext): Tệp dữ liệu chưa mã hóa (kí hiệu M). - Bản mã (Ciphertext): Tệp dữ liệu đã được mã hóa (kí hiệu C). Theo quy ước, khi mã hóa thì C = E(M) và khi giải mã thì M = D(C) = D(E(M)) Theo phương pháp truyền thống, người ta thường dùng cùng một khóa để mã hóa và giải mã. Lúc đó, khóa phải được giữ bí mật tuyệt đối. Người ta gọi đây là hệ thống mã hóa cổ điển (hay còn gọi là mã hóa đối xứng, một khóa, khóa bí mật, ). Phương pháp khác sử dụng khóa công khai (còn gọi là phương pháp mã hóa bất đối xứng, hay hệ thống hai khóa) trong đó khóa để mã hóa và khóa để giải mã là khác nhau. Các khóa này tạo thành một cặp chuyển đổi ngược nhau và không khóa nào có thể suy ra được từ khóa kia. Phần tiếp theo của bài báo sẽ đề cập đến kỹ thuật mã hóa này. II.2 Các giải thuật mã hóa II.2.1 Thuật toán MD5 Hàm băm (Hash Function) nhận giá trị vào (Input) là một thông điệp M ở có chiều dài bất kỳ, để biến (băm) thành một giá trị h ở đầu ra (Output) có chiều dài cố định, h được gọi là giá trị băm (Hash Value). Minh họa hàm băm 3 3 Thuật toán MD5 (Message Digest 5), do Ronald Rivest thiết kế năm 1991, là xây dựng một hàm băm để mã hóa một tín hiệu vào có chiều dài bất kỳ và đưa ra một tín hiệu (Digest) ở đầu ra có chiều dài cố định 128 bit (tương ứng với 32 chữ số hệ 16). [2] Dưới đây là các ví dụ mô tả các kết quả sau khi thực hiện hàm băm MD5. - MD5("xin chao") = 2201c07c37755e663c07335cfd2f44c6 Chỉ cần một thay đổi nhỏ (chẳng hạn viết hoa chữ x thành X) cũng làm thay đổi hoàn toàn kết quả trả về : - MD5("Xin chao") = e05c1d9f05f5b9eb56fe907c36f469d8 Thuật toán cũng cho kết quả đối với chuỗi rỗng : - MD5(" ") = d41d8cd98f00b204e9800998ecf8427e II.2.2 Mã hóa đối xứng Mã hóa đối xứng hay còn gọi là mã hóa khóa bí mật. Hai bên tham gia truyền thông sử dụng chung một khóa, gọi là khóa bí mật để thực hiện mã hóa và giải mã bản tin truyền cho nhau. Gọi là đối xứng vì ở đây sử dụng chung một khóa cho cả việc mã hóa và giải mã. Mô hình hệ mã hóa đối xứng Hệ mã hóa đối xứng Mức độ bảo mật của phương pháp mã hóa đối xứng phụ thuộc vào mức độ bảo mật của khóa. Việc trao đổi khóa bí mật K giữa hai bên tham gia truyền thông phải đảm bảo là hoàn toàn bí mật. Với hệ mã hóa đối xứng, các phương pháp tấn công thường được sử dụng là phân tích mã hóa và tìm kiếm vét cạn. Phân tích mã hóa là quá trình nỗ lực để phát hiện 4 4 ra khóa hoặc khôi phục bản tin gốc. Tìm kiếm vét cạn là cách thử tấn công toàn bộ khóa có thể dựa trên khả năng tính toán. Ngày nay, khi tốc độ tính toán và xử lý ngày càng phát triển mạnh, việc mã hóa sử dụng thuật toán mã hóa khóa công khai có thể không an toàn. II.2.3 Mã hóa công khai và các giải thuật mã hóa công khai II.2.3.1 Mã hóa công khai Mã hóa bất đối xứng hay còn gọi là mã hóa khóa công khai, được đưa ra vào năm 1976 bởi Diffie và Hellman. Việc ra đời của hệ mã hóa khóa công khai mở đầu cho hàng loạt những thành tựu trong việc ứng dụng hệ mã này, tạo nên bước tiến quan trọng trong lịch sử mã hóa. Thuật toán mã hóa khóa công khai dựa trên các hàm toán học hơn là những phép tính bit thông thường. Và hơn nữa, hệ mã hóa khóa công khai là bất đối xứng tức là hệ mã hóa này sử dụng hai khóa, một khóa để mã hóa và một để giải mã, đối nghịch với mã hóa đối xứng truyền thống là chỉ dùng 1 khóa để mã hóa và giải mã. Việc sử dụng 2 khóa được ứng dụng nhiều trong các lĩnh vực như về độ tin cậy, phân phối khóa hay chứng thực. Mô hình hệ mã hóa bất đối xứng Mã hóa công khai Mã hóa khóa công khai được ứng dụng nhiều trong các lĩnh vực như để đảm bảo độ tin cậy, phân phối khóa, chứng thực văn bản. Mức độ an toàn của mã hóa bất đối xứng hơn hẳn so với hệ mã hóa đối xứng, bên tấn công không thể sử dụng phân tích mã hóa hay tấn công 5 5 vét cạn để tấn công hệ mã hóa công khai vì rất phức tạp về mặt tính toán khi biết khóa công khai và bản tin ciphertext để tìm được plaintext. Đặc trưng của hệ mã hóa khóa công khai là sử dụng hai khóa, trong đó một khóa để mã hóa, khóa còn lại được giữ bí mật và dùng để giải mã. Bên gửi sử dụng khóa công khai của bên nhận để mã hóa, như vậy ai cũng có thể thực hiện mã hóa được vì khóa đó là khóa công khai, mọi người đều có thể biết. Nhưng khi tới bên nhận thì chỉ có người chủ đích thực mới có thể giải được mã vì chỉ riêng người đó có khóa riêng để giải mã, những người thuộc bên thứ 3 không có khóa riêng nên không thể giả mạo tin nhắn được. Các bước thực hiện mã hóa theo hệ mã hóa khóa công khai : 1) Mỗi người dùng sinh một cặp khóa sử dụng để mã hóa và giải mã bản tin 2) Người dùng đăng ký 1 trong 2 khóa là công khai hoặc chứa trong tệp để người khác có thể truy nhập được. Đó là khóa công khai. 3) Nếu người dùng A muốn gửi bản tin tới người dùng B, thì A mã hóa bản tin sử dụng khóa công khai của B 4) Khi B nhận được bản tin, B sẽ thực hiện giải mã nó sử dụng khóa riêng. Không ai có thể giải mã được bản tin đó vì chỉ có B biết, đó là khóa riêng của B. Với cách tiếp cận này, các bên tham gia truyền thông đều có thể truy nhập tới khóa công khai, còn khóa riêng được sinh cục bộ bởi mỗi bên và do đó không bao giờ bị phân tán để kẻ thứ 3 có thể biết. Miễn là người dùng bảo vệ tốt khóa riêng của mình thì bảo mật truyền thông được đảm bảo Các yêu cầu của hệ mã hóa khóa công khai : Giả sử ở đây có hai bên tham gia truyền thông là A và B, A muốn gửi tin cho B. Các yêu cầu đặt ra với hệ mã hóa khóa công khai ở đây là : 1) Dễ dàng về mặt tính toán để bên B có thể sinh ra cặp khóa public/private. Khóa công khai là K PU và khóa riêng là K PR 2) Dễ dàng cho bên gửi A biết được khóa công khai và bản tin cần mã hóa M để sinh ra ciphertext tương ứng C = E Kpu (M) 3) Dễ dàng cho bên nhận B thực hiện giải mã ciphertext sử dụng khóa riêng K PR để phục hồi lại bản tin gốc 6 6 M = D Kpr (C) = D Kpr [ E Kpu (M)] 4) Việc tính toán của bên thứ 3, từ khóa công khai K PU để tìm được K PR là điều không thể 5) Việc tính toán của bên thứ 3, từ khóa công khai K PU và ciphertext C để tìm được bản tin gốc M là điều không thể 6) Một trong hai khóa được dùng để mã hóa thì khóa còn lại được dùng để giải mã M = D Kpr [E Kpu (M)] = D Kpu [E Kpr (M)] II.2.3.2 Giải thuật RSA (Rivest Shamir Aldeman) Thuật toán RSA là một trong những thuật toán khóa công khai được phát triển sớm nhất, được đưa ra vào năm 1977 bởi Ron Rivest, Adi Shamir và Len Adleman. RSA hỗ trợ cả mã hóa và giải mã dữ liệu với độ dài khóa thay đổi. Sử dụng khóa dài giúp tăng độ an toàn của hệ thống nhưng phải trả giá về thời gian tính toán RSA là một khối mã hóa (block cipher) trong đó plaintext và ciphertext là những số nguyên từ 0 đến (n-1) với n xác định Khối plaintext M và khối ciphertext C C = M e mod n M = C d mod n = (M e ) d mod n = M ed mod n Cả người gửi và người nhận đều phải biết giá trị của n và e, và chỉ có người nhận mới biết giá trị của d. Đây là thuật toán mã hóa khóa công khai với khóa công kha K PU = {e, n} và khóa riêng K PR = {d, n}, Để thuật toán này thỏa mãn những điều kiện của mã hóa khóa công khai thì những yêu cầu sau phải được thỏa mãn : 1) Có thể tìm ra giá trị của e, d, n mà thỏa mãn M ed = M mod n với mọi M < n 2) Dễ dàng tính toán M e và C d với mọi giá trị M < n. 3) Với e và n đã cho, việc tìm ra d là điều không thể. Hai yêu cầu đầu tiên có thể dễ dàng đáp ứng, yêu cầu thứ 3 có thể đáp ứng với giá trị lớn của e và n. 7 7 Sơ đồ thuật toán RSA Thuật toán RSA được tổng quát trong 3 quá trình như sau : 1) Tạo cặp khóa Để tạo được cặp khóa, đầu tiên cần lựa chọn 2 số nguyên tố p và q. Tiếp đó tính tích của chúng được giá trị n tức là tính n = p x q. Tính φ(n) = (p -1)(q -1). Hai số nguyên tố p, q lựa chọn là đủ lớn để khó có thể tính ngược lại từ n và φ(n). Sau đó lựa chọn số nguyên e (1 < e < φ(n) ) là số nguyên tố cùng nhau với φ(n), tức là thỏa mãn ƯSCLN (φ(n),e) = 1. Tính d thỏa mãn d = e -1 mod φ(n) Khi đó cặp khóa sinh ra với khóa công khai là K PU = {n, e} và khóa riêng K PR ={n, d}. 2) Mã hóa Giả sử người dùng A công khai khóa của họ và người dùng B muốn gửi tin cho A thì B sẽ mã hóa bản tin sử dụng khóa K PU của A : C = M e mod n Sau đó truyền C đi. 8 8 3) Giải mã Khi A nhận được bản ciphertext, A sẽ thực hiện giải mã bằng cách tính : M = C d mod n Ví dụ thuật toán RSA Ta xét một ví dụ thuật toán RSA được thực hiện qua những bước như sau : 1. Lựa chọn 2 số nguyên tố p =7 và q =17 2. Tính n = 7 x 17 = 119 ; φ(n) = (7 -1)(17 - 1) =96 3. Chọn e < 96 và là nguyên tố cùng nhau với 96, chọn e = 5 (có thể chọn e = 3, 7 ) 4. Xác định d : thỏa mãn d = e -1 mod φ(n) = 5 -1 mod 96, ta xác định được d = 77 vì 77 x 5 = 385 = 4 x 96 + 1 5. Khóa sinh ra là K PU = {96, 5} và K PR = {96, 77} 6. Giả sử đầu vào plaintext M = 83. Sử dụng khóa công khai để mã hóa ta cần tính C = 83 5 mod 96 83 5 mod 96 = [(83 1 mod 96) x (83 2 mod 96) 2 mod 96] mod 96 83 mod 96 = 83 83 2 mod 96 = 73 C = 83 5 mod 96 = (83 x 73 2 ) mod 96 = 35 7. Khi tới nơi nhận, bên nhận thực hiện giải mã sử dụng khóa riêng, cần tính M = 35 77 mod 96 35 77 mod 96 = [35 2 mod 96 x (35 5 mod 96) 15 mod 96] mod 96 35 2 mod 96 = 73 35 5 mod 96 = 35, (35 5 mod 96) 15 mod 96 = 35 3 mod 96 = 59 M = 35 77 mod 96 = (73 x 59) mod 96 = 83 II.3 So sánh mã hóa đối xứng và mã hóa công khai Tiêu chí đánh giá Mã hóa đối xứng Mã hóa khóa công khai Khóa - Sử dụng 1 khóa chung cho cả mã hóa và giải mã - Khóa được giữ bí mật (secret - key) - Sử dụng 2 khóa: 1 khóa công khai (public key) được công bố rộng rãi dùng để mã hóa. Một khóa 9 9 riêng (private key) được giữ bí mật dùng để giải mã Yêu cầu để hoạt động - Giải thuật tương tự cho mã hóa và giải mã - Người gửi và người nhận phải sử dụng cùng giải thuật và cùng khóa - Một giải thuật cho mã hóa và một giải thuật cho giải mã - Người gửi và người nhận mỗi nguời có cặp khóa cho riêng mình Yêu cầu cho bảo mật - Khóa phải được giữ bí mật - Không thể hay ít nhất không có tính thực tế để giải mã đoạn tin nếu thông tin khác không có sẵn - Kiến thức về giải thuật cùng với các mẫu về mật mã không đủ để xác định khóa - Một trong hai khóa phải được giữ bí mật - Không thể hay ít nhất không có tính thực tế để giải mã đoạn tin nếu thông tin khác không có sẵn - Kiến thức về giải thuật cùng với khóa được công khai, cùng với các mẫu về mật mã không đủ để xác định được khóa bí mật Khả năng ứng dụng - Dùng để mã hóa / giải mã - Dùng để mã hóa/ giải mã - Xây dựng chữ ký số - Trao đổi khóa bí mật Tốc độ xử lý Rất nhanh Chậm hơn nhiều lần (có thể là chậm hơn hàng nghìn lần). II.4 Nhận xét về các kỹ thuật mã hóa Hai kỹ thuật cơ bản trong lý thuyết mã hóa là mã hóa khóa bí mật (secret-key crytography) và mã hóa khóa công khai (public – key cryptography). Hệ mã hóa khóa bí mật giống như việc sử dụng khóa chìa, hai bên A và B đều phải có chìa giống nhau để đóng hay mở, chỉ có hai người này mới sử dụng được khóa đó. Hệ mã hóa khóa công khai giống như việc dùng thùng thư riêng cho mỗi người, B hay người nào đó muốn gửi gì cho A thì bỏ vào thùng, sau đó A sẽ dùng chìa riêng để mở. Tùy thuộc vào yêu cầu bảo mật thông tin mà người ta sẽ sử dụng hệ mã hóa khóa công khai hay hệ mã bí mật. Ứng dụng trong phần sau của đồ án sử dụng thuật toán mã hóa khóa công khai RSA để tạo ra chữ ký số lên thông điệp truyền đi giữa các đối tác trong hệ thống. 10 10 [...]...III TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ VÀ CHỮ KÝ SỐ III.1 Chữ ký điện tử III.1.1 Khái niệm về chữ ký điện tử: Chữ ký điện tử là đoạn dữ liệu gắn liền với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của văn bản gốc III.1.2 Mô hình chung của chữ ký điện tử Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản... mình về chữ ký số và quy trình ứng dụng chữ ký số trên cơ sở kết hợp giữa thuật toán băm MD5 và thuật toán mã hóa RSA Từ đó, chúng tôi đã đề ra giải pháp ứng dụng chữ ký điện tử trong phần mềm quản lý; cụ thể là quá trình gửi và nhận các tệp văn bản Từ giải p háp này, ta có thể xây dựng và cài đặt các hàm sử dụng tính năng của chữ ký điện tử trong quá trình gửi và nhận các tệp văn bản ứng dụng cho... bị thay đổi trong quá trình truyền và message này là của người gửi III.2 Chữ ký số III.2.1 Khái niệm Chữ ký số là một dạng đặc biết của chữ ký điện tử sử dụng công nghệ khóa công khai PKI (Public Key Infrastructure) Trong đó mỗi người tham gia ký cần một cặp khóa bao gồm khóa công khai và khóa bí mật Khóa bí mật dùng để tạo chữ ký số, khóa công khai được dùng để thẩm định, xác thực chữ ký số III.2.2... chứng chỉ cần được đặt trong một kho chứa sẵn dùng Kho chứa này là các cơ sở dữ liệu trực tuyến chứa các chứng chỉ và các thông tin khác sẵn sàng lấy ra và dùng trong xác minh chữ ký số Việc lấy thông tin có thể thực hiện tự động nhờ một chương trình xác minh thực hiện truy vấn trực tiếp cơ sở dữ liệu để nhận được các chứng chỉ khi cần IV Giải pháp ứng dụng chữ ký điện tử IV.1 Giải pháp ứng dụng chữ. .. dụng chữ ký điện tử trong quá trình gửi và nhận văn bản Phần này, chúng tôi đề xuất giải pháp ứng dụng chữ ký điện tử trong hệ thống quản lý, quá trình gửi và nhận các tệp văn bản phục vụ quản lý dựa vào thuật toán băm MD5 và thuật toán mã hóa RSA đã trình bày ở trên (1) Quá trình ký và gửi các tệp văn bản Từ file cần gửi ban đầu, chương trình sẽ sử dụn g hàm băm MD5 để mã hóa thành chuỗi ký tự dài... chứng nhận Hình 3.11: Chứng thực thông qua CA Để kết hợp một cặp khóa với một người ký, tổ chức cấp chứng thực đưa ra một chứng chỉ, là một bản ghi điện tử ghi lại một khóa công khai, nhận dạng của người sở hữu khóa và các thông tin về chứng chỉ như hạn sử dụng, số tuần tự Một người nhận được chứng chỉ có thể dùng khóa công khai được lưu trong chứng chỉ để xác minh chữ ký điện tử có được tạo ra từ khóa... trình sử dụng thuật toán RSA để mã hóa khóa riêng (private key) của người gửi và bản tóm lược hash value thành một dạng khác (giá trị băm ở dạng mật mã) gọi là chữ ký điện tử Kết hợp file ban đầu với chữ ký điện tử thành một thông điệp đã ký và gửi đi cho người nhận Sơ đồ mô tả quá trình ký và gửi các tệp văn bản (2) Quá trình nhận các tệp văn bản Sau khi người nhận đăng nhập vào hệ thống và thực hiện... ra ta sử dụng hàm băm MD5 mã hóa thành Bản tóm lược 2 - Kiểm tra Bản tóm lược 1 và Bản tóm lược 2 có giống nhau hay không? Nếu giống nhau thì file nhận được là vẹn toàn (không bị thay đổi hay tác động), ngược lại là file đã bị thay đổi 20 20 21 21 IV.2 Ví dụ sử dụng chữ ký điện tử trong email Chúng ta hãy bắt tay vào ứng dụng cụ thể sau đây để hiễu rõ hơn về cách thức dùng chũ ký điện tử trong một... minh chữ ký 1 Để xác minh chữ ký của A(r,s) trên m, người dùng B cần thực hiện các bước sau: 1 2 3 4 5 6 Nhận khóa công khai đã chứng thực của A (p,q, α,y) Kiểm tra các điều kiện 0 . khái niệm và kí hiệu liên quan về vấn đề mã hóa và giải mã dữ liệu : - Mã hóa (Encryption): Quá trình chuyển đổi dữ liệu gốc thành dữ liệu được mã hóa sao người khác không thể đọc hiểu được (kí. mã hóa, biến đổi dữ liệu đã được mã hóa thành dạng gốc ban đầu (kí hiệu D); - Thông điệp (Message), bản gốc (Plaintext): Tệp dữ liệu chưa mã hóa (kí hiệu M). - Bản mã (Ciphertext): Tệp dữ liệu. hệ mã hóa khóa công khai là bất đối xứng tức là hệ mã hóa này sử dụng hai khóa, một khóa để mã hóa và một để giải mã, đối nghịch với mã hóa đối xứng truyền thống là chỉ dùng 1 khóa để mã hóa và