Bài viết Phát triển một số thuật toán mật mã khóa công khai trình bày về một số thuật toán mật mã khóa công khai được phát triển từ hệ mật ElGamal. Ưu điểm của các thuật toán mới đề xuất là cho phép bảo mật và xác thực thông tin một cách đồng thời. Hơn nữa, mức độ an toàn của các thuật toán mới đề xuất không nhỏ hơn mức độ an toàn của thuật toán ElGamal.
Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thơng- Hà Nội, 03-04/12/2012 Phát triển số thuật tốn mật mã khóa cơng khai Development of some public key cryptographic algorithms Lưu Hồng Dũng1, Trần Trung Dũng2, Vũ Tất Thắng3 luuhongdung@gmail.com, ttdung@ictu.edu.vn, vtthang@ioit.ac.vn Khoa Công nghệ Thông tin – Học viện Kỹ thuật Quân Đại học CNTT Truyền thông – Đại học Thái Nguyên Viện Công nghệ Thông tin – Viện Khoa học Công nghệ Việt nam Tóm tắt—Bài báo đề xuất số thuật tốn mật mã khóa cơng khai phát triển từ hệ mật ElGamal Ưu điểm thuật toán đề xuất cho phép bảo mật xác thực thông tin cách đồng thời Hơn nữa, mức độ an tồn thuật tốn đề xuất khơng nhỏ mức độ an tồn thuật toán ElGamal Từ khoáa: Public Key Cryptosystem, Algorithm, Digital Signature, Hash Function I SignCryption ĐẶT VẤN ĐỀ Thuật toán mật mã RSA [1] ElGamal [2] thuật toán mật mã khóa cơng khai biết đến sử dụng phổ biến thực tế Nhược điểm thuật tốn khơng có chế xác thực thông tin bảo mật (nguồn gốc, tính tồn vẹn), khơng có khả chống lại số dạng công giả mạo thực tế Đã có số kết đạt từ việc phát triển thuật toán nhằm khắc phục yếu điểm nói Trong [3] đề xuất thuật toán cải tiển từ ElGamal việc sử dụng chữ ký số để tạo chế xác thực nguồn gốc tính tồn vẹn cho thơng tin (bản tin, thông điệp liệu, ) bảo mật Đặc điểm thuật toán chữ ký số hình thành trực tiếp từ rõ nên phù hợp với ứng dụng mà tin truyền trực tiếp đối tượng gửi/mã hóa nhận/giải mã Do đặc điểm trên, bị hạn chế số tình ứng dụng tin mật truyền từ người gửi/mã hóa đến người nhận/giải mã phải chuyển tiếp qua số khâu trung gian, mà cần phải xác thực nguồn gốc tính tồn vẹn trước gửi đến khâu trung gian khác hay đến đối tượng nhận Vấn đề chỗ, khâu trung gian không phép biết nội dung tin, để xác thực nguồn gốc tính tồn vẹn tin cần phải giải mã, nghĩa thông tin bị lộ khâu trung gian mà lẽ không phép Thuật toán thứ đề xuất cho phép khắc phục nhược điểm nói thuật tốn [3] nhờ việc hình thành chữ ký số từ mã từ rõ Do đó, với thuật tốn đề xuất việc giải mã tin bảo mật không cần thiết phải xác thực nguồn gốc tính tồn vẹn khâu trung gian Bốn thuật tốn phát triển từ thuật toán ElGamal nhằm bảo đảm khả xác thực nguồn gốc khơng xác thực tính tồn vẹn tin đề xuất II PHÁT TRIỂN MỘT SỐ THUẬT TỐN MẬT MÃ KHĨA CƠNG KHAI A Các thuật toán sở Các thuật toán sở bao gồm thuật tốn mật mã khóa cơng khai El Gamal thuật toán chữ ký số DSA Thuật toán mật mã Elgama đề xuất vào năm 1985, thuật toán xây dựng sở toán logarith rời rạc sử dụng Cơ quan An ninh Quốc gia Mỹ - NSA (National Security Agency) Thuật toán chữ ký số DSA (Digital Signature Algorithm) phát triển từ thuật toán chữ ký số ElGamal DSA NSA đề xuất NIST (National Institute of Standards and Technology) công nhận làm chuẩn chữ ký số Mỹ từ năm 1994 [4] Các thuật toán sử dụng để phát triển số thuật toán mật mã có khả bảo mật xác thực thơng tin cách đồng thời 1) Thuật tốn mật mã ElGamal Các thành viên hệ thống muốn trao đổi thơng tin mật với thuật tốn mật mã Elgamal trước tiên thực trình hình thành khóa sau: • Chọn số ngun tố đủ lớn p cho toán logarit Z p khó giải Z ∗p • Chọn phần tử sinh g nhóm • Chọn khóa mật x số nguyên thỏa mãn: < x < ( p − 1) Tính khóa cơng khai y theo cơng thức: y = g mod p Giả sử người gửi/mã hóa A, người nhận/giải mã B Người A có khóa bí mật xA khóa cơng khai yA Người B có khóa bí mật xB khóa cơng khai yB Khi đó, để gửi tin M cho B, với: ≤ M < p , người gửi A thực bước sau: • Chọn số ngẫu nhiên k thỏa mãn: < k < ( p − 1) ; • Tính giá trị R theo cơng thức: x R = g k mod p ; Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 • Sử dụng khóa cơng khai B để tính: C = M × ( y B ) k mod p Gửi mã • (C, R ) đến người nhận B Để khôi phục tin ban đầu (M) từ mã (C, R ) nhận được, người nhận B thực bước sau: • Tính giá trị Z theo công thức: Z = R −1 mod p • Khơi phục tin ban đầu (M): x M = C × (Z ) B mod p 2) Thuật toán chữ ký số DSA Thủ tục hình thành tham số khóa bao gồm bước thực sau: • Chọn cặp số nguyên tố p q cho toán logarit Z p khó giải thỏa mãn: • q | ( p − 1) ; ( p −1) / q Chọn g = h mod p phần tử sinh có bậc q ∗ nhóm Z p , nghĩa là: < g < p và: g q ≡ mod p Ở đây: h số nguyên thỏa mãn: < h < p ; • • Khóa bí mật x giá trị chọn khoảng: < x < q Khóa cơng khai y tính theo cơng thức: y = g x mod p Thủ tục hình thành chữ ký lên tin M bao gồm bước sau: • Chọn giá trị k thỏa mãn: < k < q • Tính thành phần thứ R chữ ký theo công thức: R = ( g k mod p ) mod q • Thành phần thứ hai S chữ ký tính theo cơng thức: • • • • chữ ký (R,S) hợp lệ, nguồn gốc tính tồn vẹn tin M công nhận B Thuật tốn mật mã khóa cơng khai phát triển dựa hệ mật ElGamal DSA 1) Thuật toán thứ Thuật toán thứ đề xuất phát triển từ việc kết hợp thuật toán mật mã El Gamal thuật tốn chữ sơ DSA nhằm bảo đảm khả bảo mật xác thực thông tin Ở thông tin xác thực đồng thời nguồn gốc tính tồn vẹn a) Thủ tục hình thành tham số khóa Thủ tục hình thành tham số khóa hồn tồn tương tự thuật toán DSA, bao gồm bước sau: • Chọn cặp số nguyên tố p q cho toán logarit Z p khó giải thỏa mãn: • • q | ( p − 1) ; ( p −1) / q Chọn g = h mod p phần tử sinh có bậc q ∗ nhóm Z p , với h số nguyên thỏa mãn: 1< h < p; Khóa bí mật x giá trị chọn khoảng: < x < q Khóa cơng khai y tính theo cơng thức: y = g mod p ; • Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority) đáng tin cậy b) Thủ tục mã hóa Giả sử người gửi/mã hóa A, người nhận/giải mã B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Để gửi tin M cho B, với: ≤ M < p , A thực bước sau: • Chọn giá trị kA thỏa mãn: < k A < q khơng lặp lại • Sử dụng khóa cơng khai B để mã hóa M theo cơng thức: x k C = M × ( y B ) A mod p , S = k −1 × (H ( M ) + x × R ) mod q , Với: |q| = 160 bit, hàm băm H(.) chọn W = S −1 mod q : Tính giá trị: U = W H (M ) mod q Tính giá trị: V = W R mod q U V Kiểm tra R = (g × y mod p ) mod q Tính giá trị: • SHA-1 Tính thành phần R theo công thức: ( ) R = g k A mod p mod q , Thủ tục kiểm tra tính hợp lệ chữ ký bao gồm bước sau: • Tính thành phần S theo cơng thức: Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 −1 S = (k A ) × (C + x A ì R ) mod q , c) Gửi mã gồm ( k ) C = M × ( y B ) A mod p , R = g k A mod p mod q , (C , R, S ) đến B −1 S = (k A ) × (C + x A × R ) mod q Νếu: w = S −1 mod q , Thủ tục giải mã Từ mã (C , R, S ) nhận được, B khôi phục kiểm tra nguồn gốc tính tồn vẹn tin ban đầu (M) sau: • Tính giá trị nghịch đảo S: u = (C × w) mod q , v = ( R × w) mod q , w = S −1 mod q R = (g ) × ( y A ) mod p , M = C ì (R ) u Tớnh giá trị u theo cơng thức: u = (C × w ) mod q , • − xB v mod p , R = (R )mod q Thì : M = M R = R Tính giá trị v theo công thức: Chứng minh: v = (R × w ) mod q , • Tính giá trị R theo công thức: u v R = (g ) × ( y A ) mod p , • Tính giá trị M theo cơng thức: M = C × (R ) B mod p , x Thật vậy, ta có: ( ) v R = ( g )u × ( y A ) mod p ( C×w = (g ) ( C×S = (g ) R ×w × (yA ) −1 )mod p R × S −1 × ( yA ) )mod p Mặt khác, từ: −1 • Tính giá trị S = (k A ) × (C + x A × R ) mod q , R theo công thức: R = (R )mod q , So sánh R với R , R = R M = M tin nhận (C,R,S) có nguồn gốc từ đối tượng gửi A d) Tính đắn thuật toán đề xuất Điều cần chứng minh là: Cho: p, q số nguyên tố phân biệt thỏa mãn: Suy ra: k A = S −1 × (C + x A × R ) mod q • Nên: −1 (g )k mod p = g S ×(C + x ×R ) mod p C ×S x × R× S = (g ) × (g ) mod p A A −1 q | ( p − 1) , < h < p , = g C ×S mod p × g x A ( g = h ( p −1) / q mod p , < x A , x B < q , y A = g x A mod p , y B = g xB mod p , < k A < q , −1 A ) ( ) −1 −1 R×S −1 = g C ×S × ( y A ) R×S −1 mod p mod p mod p Từ suy ra: R = g k A mod p Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 thủ tục mã hóa khóa cơng khai người gửi (yA) thủ tục giải mã a) Thủ tục hình thành tham số khóa • Chọn số nguyên tố lớn p cho toán logarit Z p khó giải Do đó: M = C × ( R ) xB mod p ( ) = (C mod p ) × (R ) B mod p mod p (( x ) kA ) = M × ( y B ) mod p mod p × (( = (M × (g ) ) × g k A mod p ( = (M × g = M ×g xB − xB k A ) mod p )× ((g mod p × g − x B ×k A x B ×k A ×g ) ) mod p mod p ) ( mod p ) mod p )mod p = M − x B ×k A x B ×k A • Chọn khóa mật x số ngun thỏa mãn: < x < ( p − 1) Tính khóa cơng khai y theo cơng thức: ( ) R = (R ) mod q = g k A mod p mod q = R Đây điều cần chứng minh e) Mức độ an toàn thuật tốn đề xuất Mức độ an tồn thuật tốn đề xuất đánh giá qua khả năng: • Chống cơng làm lộ khóa mật • Chống thám mã • Chống giả mạo nguồn gốc nội dung tin Có thể thấy rằng, thủ tục hình thành khóa thuật tốn đề xuất thuật toán El Gamal, DSA thực chất Vì vậy, kết luận khả chống cơng làm lộ khóa mật thuật tốn đề xuất tương đương với khả chống cơng làm lộ khóa mật thuật tốn El Gamal DSA Về khả chống thám mã, xét trường hợp công trực tiếp vào thuật tốn mã hóa: C = M × ( y B ) A mod p thuật tốn giải • y = g x mod p Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority) đáng tin cậy b) Thủ tục mã hóa Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Khi đó, để gửi tin M cho B, với: ≤ M < p , A thực bước sau: • Chọn số ngẫu nhiên kA thỏa mãn: < k A < ( p − 1) Tính giá trị R theo cơng thức: • Và: k Chọn g phần tử sinh mod p mod p k A xB Z ∗p • mã: M = C × (R ) B mod p , cho thấy mức độ an toàn x thuật toán đề xuất thuật toán El Gamal tương đương Ở thuật toán đề xuất, chế xác thực nguồn gốc tính tồn vẹn tin thiết lập sở thủ tục hình thành xác minh chữ ký số thuật tốn DSA Vì vậy, mức độ an tồn thuật tốn đề xuất xét theo khả chống giả mạo nguồn gốc nội dung tin tương đương khả chống giả mạo chữ ký thuật toán DSA 2) Thuật toán thứ Thuật toán thứ đề xuất phát triển từ thuật toán mật mã El Gamal Điểm khác biệt với thuật toán El Gamal chỗ thuật tốn đề xuất có chế xác thực nguồn gốc thông tin chiều thiết lập dựa việc sử dụng khóa cơng khai người nhận (yB) R = g k A mod p • Sử dụng khóa cơng khai B để tính: C = M × ( y B ) k A + x A mod p • c) Gửi mã gồm (C, R ) đến người nhận B Thủ tục giải mã Để khôi phục tin ban đầu (M) từ mã (C, R ) nhận được, người nhận B thực bước sau: • Tính giá trị Z theo cơng thức: −1 Z = (R ì y A ) mod p Khôi phục tin ban đầu (M): x M = C × (Z ) B mod p d) Tính đắn thuật toán đề xuất Điều cần chứng minh là: cho p số nguyên tố, g phần tử sinh y A = g x A mod p < k A < ( p − 1) Z ∗p , < x A , x B < ( p − 1) , , y B = g xB mod p , , Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thơng- Hà Nội, 03-04/12/2012 k +xA C = M × ( yB ) A ( ) mod p , R = g k A mod p Nếu: −1 x Z = (R × y A ) mod p , M = C × (Z ) B mod p thì: M =M Chứng minh: Thật vậy, ta có: x M = C × (Z ) B mod p = ( × ((R × y k +xA = M × ( yB ) A ( × ((g −1 A ) mod p ( = M × g xB mod p kA ) mod p × ) xB ) RB = g k B mod p mod p = k A + xA ) mod p × ) ( mod p × g x A mod p ( Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Khi đó, thủ tục để A gửi tin M cho B, với: ≤ M < p , bao gồm bước sau: Bước 1: Đối tượng B thực hiện: • Chọn giá trị kB thỏa mãn: < k B < ( p − 1) • Tính giá trị RB theo công thức: −1 ) mod p ) xB mod p = ) ( • Gửi giá trị RB cho đối tượng A Bước 2: Đối tượng A thực hiện: • Mã hóa tin M theo cơng thức: ) = M × g (k A + x A ) xB mod p × g −(k A + x A ) xB mod p mod p = M × g (k A + x A ) xB × g −(k A + x A ) xB mod p = M e) Mức độ an tồn thuật tốn đề xuất Ở thuật toán đề xuất, việc cơng trực tiếp vào thủ tục mã hóa khó khăn thuật tốn El Gamal, thuật tốn khóa bí mật ngắn hạn (kA) dài hạn (xA) người gửi sử dụng để mã hóa tin Do đó, việc thám mã giả mạo, xét trường hợp này, thực thành cơng khóa bí mật đồng thời bị lộ Từ thấy rằng, mức độ an tồn thuật tốn đề xuất xét theo khả chống thám mã chống cơng làm lộ khóa mật khơng nhỏ mức độ an tồn thuật tốn El Gamal mức độ chống giả mạo nguồn gốc tin bảo mật lại cao thuật toán El Gamal 3) Thuật toán thứ Thuật toán thứ đề xuất có chế xác thực tương tự thuật tốn thứ hai, có cách thức thực dạng giao thức (protocol) Ngoài ra, mã tạo thuật toán có thành phần a) Thủ tục hình thành tham số khóa • Chọn số ngun tố lớn p cho toán logarit Z p khó giải Z ∗p • Chọn g phần tử sinh • Chọn khóa mật x số nguyên thỏa mãn: < x < ( p − 1) Tính khóa cơng khai y theo cơng thức: • y = g x mod p Giữ bí mật: x; cơng khai: p, q, g, y Khóa công khai y cần phải chứng thực CA (Certificate Authority) đáng tin cậy b) Thủ tục mã húa x C = M ì (RB ì y B ) A mod p • Gửi mã C đến đối tượng nhận B c) Thủ tục giải mã Để khôi phục tin ban đầu (M) từ mã nhận (C), người nhận B thực bước sau: • Tính giá trị Z theo công thức: −1 Z = ( y A ) mod p • Khơi phục tin ban đầu (M): k + xB M = C × (Z ) B mod p d) Tính đắn thuật tốn đề xuất Điều cần chứng minh là: cho p số nguyên tố, g phần tử sinh y A = g x A mod p < k B < ( p − 1) Z ∗p , < x A , x B < ( p − 1) , , , y B = g xB mod p , kB RB = g mod p ( ) xA C = M × (RB × y B ) mod p −1 k B + xB Z = ( y A ) mod p , M = C × (Z ) M =M Chứng minh: Thật vậy, ta có: Nếu: mod p thì: Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 k + xB M = C × (Z ) B mod p = ( × (( y x RB = g k B mod p ) = M × (RB × y B ) A mod p × ( × ((g −1 A ) mod p ) (( k B + xB mod p = ) ( = M × g kB mod p × g xB mod p xA mod p −1 ) mod p ( ) k B + xB )) xA ) mod p × • Gửi giá trị RB cho đối tượng A Bước 2: Đối tượng A thực hiện: • Chọn giá trị kA thỏa mãn: < k A < ( p − 1) • Hình thành phần thứ mã theo công thức: mod p = ) ( k + xA C = M × (R B × y B ) A ) = M × g (kB + xB ) x A mod p × g −(kB + xB ) x A mod p mod p = M × g (kB + xB ) x A × g −(kB + xB ) x A mod p = M mod p Hình thành phần thứ hai mã: • R = g k A mod p e) Mức độ an tồn thuật tốn đề xuất Ở thuật toán đề xuất, khả chống thám mã xét trường hợp công trực tiếp vào thủ tục mã hóa tương đương với thuật toán El Gamal, thủ tục giải mã thuật tốn đề xuất có khả chống thám mã cao so với thuật toán El Gamal việc sử dụng kết hợp đồng thời khóa bí mật ngắn hạn (kB) dài hạn (xB) người nhận (B) 4) Thuật toán Thuật toán thứ đề xuất có chế xác thực cách thức thực tương tự thuật tốn thứ ba, có mức độ an tồn xét theo khả chống thám mã giả mạo cao thủ tục mã hóa sử dụng đồng thời khóa bí mật ngắn hạn dài hạn người gửi, thủ tục giải mã lại sử dụng đồng thời khóa bí mật ngắn hạn dài hạn người nhận Ở thuật toán thứ tư này, việc thám mã giả mạo thực thành công bị lộ đồng thời khóa bí mật ngắn hạn dài hạn a) Thủ tục hình thành tham số khóa • Chọn số nguyên tố lớn p cho toán logarit Z p khó giải Z ∗p • Chọn g phần tử sinh • Chọn khóa mật x số nguyên thỏa mãn: < x < ( p − 1) Tính khóa cơng khai y theo cơng thức: • y = g x mod p Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority) đáng tin cậy b) Thủ tục mã hóa Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Khi đó, thủ tục để A gửi tin M cho B, với: ≤ M < p , bao gồm bước sau: Bước 1: Đối tượng B thực hiện: • Chọn giá trị kB thỏa mãn: < k B < ( p − 1) • Tính giá trị RB theo cơng thức: • • Gửi mã (C,R) đến đối tượng nhận B c) Thủ tục giải mã Để khôi phục tin ban đầu (M) từ mã nhận (C,R), người nhận B thực bước sau: • Tính giá trị Z theo cơng thức: −1 Z = (R × y A ) mod p Khơi phục tin ban đầu (M): • k + xB M = C × (Z ) B mod p d) Tính đắn thuật tốn đề xuất Điều cần chứng minh là: cho p số nguyên tố, g phần tử sinh Z ∗p , < x A , x B < ( p − 1) , y A = g x A mod p < k A , k B < ( p − 1) y B = g xB mod p , kB , RB = g mod p , kA +xA C = M × (R B × y B ) ( ) R = (g ) mod p mod p , kA −1 Z = (R × y A ) mod p Nếu: k B + xB M = C × (Z ) , mod p thì: M = M Chứng minh: Thật vậy, ta có: k + xB M = C × (Z ) B mod p = ( × ((R × y k + xA = M × (R B × y B ) A ( × ((g )−1 mod p ) k B + xB A (( ) mod p × mod p = ) ( = M × g k B mod p × g xB mod p kA ( × (g ( = M ×g kA +xA ) mod p ) )( ) mod p ) × ) mod p ) mod p ) ( mod p × g x A mod p (k B + xB )) −1 ) mod p × k B + xB mod p kA +xA − k B + x B ) ( k A + x A = M × g (kB + xB ).(k A + x A ) × g −(kB + xB ).(k A + x A ) mod p = M Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 e) Mức độ an tồn thuật tốn đề xuất Ở thuật tốn đề xuất, khóa bí mật ngắn hạn (kA) dài hạn (xA) người gửi (A) khóa bí mật ngắn hạn (kB) dài hạn (xB) người nhận (B) sử dụng kết hợp thủ tục mã hóa giải mã Vì vậy, mức độ an tồn thuật tốn đề xuất xét theo khả chống thám mã trường hợp công trực tiếp vào thủ tục mã hóa giải mã cao thuật toán El Gamal 5) Thuật toán thứ Thuật toán thứ đề xuất xây dựng theo nguyên tắc tương tự thuật toán thứ a) Thủ tục hình thành tham số khóa • Chọn số nguyên tố lớn p cho toán logarit Z p khó giải Chọn g phần tử sinh • Chọn khóa mật x số nguyên thỏa mãn: < x < ( p − 1) Tính khóa cơng khai y theo cơng thức: y = g mod p Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority) đáng tin cậy b) Thủ tục mã hóa Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Khi đó, thủ tục để A gửi tin M cho B, với: ≤ M < p , bao gồm bước sau: Bước 1: Đối tượng B thực hiện: • Chọn giá trị kB thỏa mãn: < k B < ( p − 1) • Tính giá trị RB theo công thức: phần x k C = M × (RB ) A × ( y B ) A mod p • Hình thành phần thứ hai mã: R = g k A mod p • Gửi mã (C,R) đến đối tượng nhận B c) Thủ tục giải mã Từ mã nhận (C,R), người nhận B khôi phục lại tin ban đầu theo công thức: sinh Z ∗p , < x A , x B < ( p − 1) , , y B = g − xB mod p kB , RB = g mod p mod p , R = g k A mod p , xA ( ) ( ) kA C = M × (R B ) × ( y B ) Nếu: M = C × (R ) Chứng minh: Thật vậy, ta có: xB k × ( y A ) B mod p thì: M = M x k M = C × (R ) B × ( y A ) B mod p = ( x ) k = M × (RB ) A × ( y B ) A mod p × xB kB × (R ) × ( y A ) mod p = ( ) × (g mod p ) × × (g mod p ) × (g mod p ) mod p = = M × g kB mod p kA • • Gửi giá trị RB cho đối tượng A Bước 2: Đối tượng A thực hiện: • Chọn giá trị kA thỏa mãn: < k A < ( p − 1) • Hình thành phần thứ mã theo công thức: tử y A = g − x A mod p < k A , k B < ( p − 1) −x RB = g k B mod p k d) Tính đắn thuật tốn đề xuất Điều cần chứng minh là: cho p số nguyên tố, g Z ∗p • • x M = C × (R ) B × ( y A ) B mod p xB xA kA − xB − xA kB = M × g k B x A × g −k A xB × g k A xB × g −kB x A mod p =M e) Mức độ an tồn thuật tốn đề xuất Phân tích tương tự với thuật tốn thứ 4, thấy mức độ an tồn thuật tốn III KẾT LUẬN Bài báo đề xuất thuật tốn mật mã khóa cơng khai phát triển dựa hệ mật ElGamal, thuật toán bảo đảm đồng thời khả bảo mật xác thực nguồn gốc thông tin Hơn nữa, mức độ an tồn thuật tốn đề xuất không nhỏ mức độ an tồn thuật tốn El Gamal xét theo khả chống thám mã công trực tiếp vào thủ tục mã hóa giải mã TÀI LIỆU THAM KHẢO R L Rivest, A Shamir, and L M Adleman, A Method for Obtaining Digital Signatures and Public Key Cryptosystems / Commun of the ACM, Vol 21, No 2, 1978, pp 120-126 [2] T ElGamal A public key cryptosystem and a signature scheme based on discrete logarithms IEEE Transactions on Information Theory 1985, Vol IT-31, No pp.469–472 [3] Lưu Hồng Dũng, Nghiên cứu phát triển thuật toán mật mã khóa cơng khai dựa hệ mật ElGamal, Chun san CNTT TT, Bộ Thông tin Truyền thông, số 8(28), 12-2012 [4] National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, U.S Department of Commerce,1994 [1] ... tin M cơng nhận B Thuật tốn mật mã khóa cơng khai phát triển dựa hệ mật ElGamal DSA 1) Thuật toán thứ Thuật toán thứ đề xuất phát triển từ việc kết hợp thuật tốn mật mã El Gamal thuật tốn chữ sơ... khả chống giả mạo chữ ký thuật toán DSA 2) Thuật toán thứ Thuật toán thứ đề xuất phát triển từ thuật toán mật mã El Gamal Điểm khác biệt với thuật toán El Gamal chỗ thuật toán đề xuất có chế xác... tự với thuật tốn thứ 4, thấy mức độ an tồn thuật toán III KẾT LUẬN Bài báo đề xuất thuật toán mật mã khóa cơng khai phát triển dựa hệ mật ElGamal, thuật tốn bảo đảm đồng thời khả bảo mật xác