Bài viết phân tích và chứng minh tính đúng đắn, chối từ thuyết phục và an toàn IND-CPA của một phương pháp mã hóa có thể chối từ với quá trình truyền tin mật dựa trên giao thức ba bước Shamir sử dụng thuật toán mã hóa lũy thừa modulo Pohlig-Hellman.
Nguyễn Đức Tâm TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ DỰA TRÊN GIAO THỨC BA BƯỚC SHAMIR Nguyễn Đức Tâm* * Học viện Kỹ thuật mật mã – Ban Cơ yếu Chính phủ Tóm tắt: Nội dung báo phân tích chứng minh tính đắn, chối từ thuyết phục an tồn IND-CPA phương pháp mã hóa chối từ với trình truyền tin mật dựa giao thức ba bước Shamir sử dụng thuật tốn mã hóa lũy thừa modulo Pohlig-Hellman Phương pháp mã hóa chối từ đề xuất báo [11], chưa chứng minh tính chất giao thức mã hóa chối từ.1 Từ khóa: Mã hóa chối từ, mã hóa xác suất, mã hóa giả xác suất, mã hóa giao hoán, giao thức ba bước Shamir, thuật toán Pohlig-Hellman, IND-CPA.2 I PHẦN MỞ ĐẦU Các kỹ thuật mã hóa thơng thường nhằm bảo vệ tính bí mật, an tồn, xác thực thơng tin lưu trữ truyền thông, chống lại công nhằm thu tin thám mã Mã hóa chối từ (MHCTCT) kỹ thuật mật mã với cách tiếp cận kỹ thuật khác biệt với mã hóa thơng thường Trong mã hóa thơng thường, mã cam kết rõ khóa mã MHCTCT cho phép giải mã mã cho hai rõ có ý nghĩa khác nhau, định nghĩa MHCTCT Canetti cộng công bố lần đầu báo [1] MHCTCT ứng dụng chống lại dạng công cưỡng ép trong kịch mà kẻ thứ ba chặn thu mã truyền kênh truyền công cộng cưỡng ép bên gửi bên nhận hai bên phải trình thuật tốn mã hóa, rõ khóa mã sử dụng [1], ứng dụng lưu trữ ẩn giấu hệ thống tệp liệu nhạy cảm [2-4], ứng dụng môi trường giao dịch đa bên không cam kết nội dung giao thức bỏ phiếu điện tử, đấu giá điện tử [5] MHCTCT nghiên cứu đề xuất cụ thể số giao thức sử dụng khóa cơng khai [6], sử dụng khóa bí mật [7] Gần đây, giải pháp MHCTCT đề xuất sử dụng thuật tốn mã hóa giao hốn khóa bí mật dùng chung [8] Bài tốn đảm bảo an tồn giao thức MHCTCT chống công cưỡng ép thảo luận báo [9,10] Ngoài ra, để đảm bảo an toàn chống lại Tác giả liên lạc: Nguyễn Đức Tâm, Email: nguyenductamkma@gmail.com Đến tòa soạn: 2/2020, chỉnh sửa: 4/2020, chấp nhận đăng: 4/2020 SỐ 01 (CS.01) 2020 công cưỡng ép chủ động, cần bổ sung vào giao thức MHCTCT thủ tục xác thực bên gửi bên nhận [10] Trong báo [11] đề xuất phương pháp mã hóa chối từ sử dụng thuật tốn lũy thừa modulo PohligHellman có tính chất giao hốn, thuật tốn mơ tả tổng qt phương pháp cịn tính chất chưa chứng minh Bài báo mô tả chi tiết q trình thực giao thức mã hóa, giải mã thực chối từ bị công cưỡng ép, đồng thời phân tích chứng minh tính đắn, tính chối từ thuyết phục an tồn IND-CPA phương pháp đề xuất [11] Trong nội dung báo, Phần II mơ tả mơ hình truyền tin ngữ cảnh công Phần III giới thiệu số thuật toán sử dụng phương pháp đề xuất Phần IV mô tả lại chi tiết giao thức thực phương pháp mã hóa chối từ báo [11] Phần V số định nghĩa quan trọng độ an tồn khơng phân biệt tính tốn Phần VI chứng minh tính đắn, chối từ an toàn IND-CPA phương pháp Phần VII kết luận II MƠ HÌNH TRUYỀN TIN VÀ NGỮ CẢNH TẤN CƠNG Mơ hình truyền tin ngữ cảnh công hai bên A B truyền tin mật giao thức ba bước Shamir sau: - Giả sử A B truyền thơng điệp bí mật T ngụy trang thông điệp giả mạo M kích thước mã C (trong giao thức ba bước Shamir, trình truyền tin thực mã hóa gồm ba bước, tạo mã C1 , C2 , C3 ) Đối phương cơng có tay mã truyền kênh truyền, tiến hành cưỡng ép bên truyền tin phải trình thơng điệp rõ, khóa mã sử dụng thuật tốn mã hóa/giải mã Một kịch thường gặp khác đối phương tiến hành giả mạo bên liên lạc để cơng giả mạo tích cực - Khi bị công cưỡng ép, A (hoặc B, hai bên) để bảo vệ thông điệp bí mật T , bên trình thơng điệp giả mạo M phù hợp hoàn toàn với mã (C1 , C2 , C3 ), khóa mã thuật tốn mã hóa/giải mã - Nguồn tin đầu vào để mã hóa (T , M ) thay T M đóng vai trị lượng thơng tin ngẫu nhiên thêm vào Cách thức thực giống hệt giao thức mã hóa xác suất, người ta bổ sung thêm TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 37 TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ… nguồn ngẫu nhiên kết hợp với thơng điệp ban đầu trước Trong đó: p số nguyên tố mạnh 2048 bít; thực mã hóa Do vậy, để giao thức MHCTCT g phần tử sinh *p ; x A , xB 256 bít khóa bí cách thuyết phục, thiết kế thường dựa mật A, B; yB g xB mod p, yA g xA mod p khóa giao thức mã hóa xác suất tương ứng Các tiêu chí thiết kế hướng tới nhằm mục đích giao cơng khai A, B 3.3 Thuật tốn mã hóa Pohlig-Hellman thức phải đảm bảo an tồn, chống lại tình Thuật tốn mã hóa giao hốn PohligHellman [14] sử cơng cưỡng ép đối phương thụ động đối phương chủ động giả mạo, tình cơng dụng phép tốn lũy thừa modulo để biến đổi thơng điệp rõ với số mũ bí mật e (độ dài tối thiểu e 256 bit) đặt là: - Đối phương chặn mã gửi kênh sau chia modulo cho số nguyên tố p (với p số - Đối phương cưỡng ép bên hai bên nguyên tố an tồn có kích thước đủ lớn) Q trình mã sau mã gửi nhận hóa giải mã thực với phép lũy thừa modulo - Mỗi bên hai bên buộc phải trình ra: thơng số mũ e d tương ứng điệp rõ, khóa bí mật sử dụng, thuật tốn thực Với thơng điệp M p, thủ tục mã hóa EK ( M ) trình truyền tin phải đảm bảo mã phù hợp giải mã DK (C ) mô tả sau: hoàn toàn với thành phần Thủ tục mã hóa EK ( M ) : - Đối phương chủ động đóng giả bên để tiến hành công giả mạo C E (M ) M e mod p K Thủ tục giải mã DK (C ) : III MỘT SỐ THUẬT TOÁN SỬ DỤNG 3.1 Giao thức ba bước Shamir Để thực giao thức ba bước Shamir, thuật tốn sử dụng phải có tính chất giao hốn cách liên tiếp [12], nghĩa cho phép thơng điệp mã hóa hai bước với thứ tự cho kết Với T thông điệp đầu vào K A , K B hai khóa mã hai lần mã khác nhau, thuật tốn mã hóa phải đảm bảo: EK A EK B T E K B E K A T tính chất giao hốn, người nhận ln nhận rõ xác, vì: DK B DK A EK A EK B T T Mô tả giao thức chi tiết thực sau: A cần gửi thông điệp T , A tạo khóa ngẫu nhiên K A tính mã C1 EK A T A gửi C1 cho B qua kênh mở; B tạo khóa ngẫu nhiên K B , mã hóa mã C1 khóa K B : C2 EK B C1 EK B EK A T , gửi C2 cho A; A, sử dụng thủ tục giải mã D E 1 , tính mã C3 DK A C2 DK A EKB EK A T DK A EK A EKB T EKB T , gửi C3 cho B; B nhận được C3 , giải mã M DK B C3 DK B EK B T T Vì A B khơng cần trao đổi khóa trước thực liên lạc, nên giao thức ba bước Shamir cịn gọi giao thức khơng khóa ba bước Shamir 3.2 Trao đổi khóa Diffie-Hellman Giao thức Diffie-Hellman [13], sử dụng để hai bên A B thỏa thuận bí mật chung với ( Z AB ) thông qua kênh công khai: Z AB yBxA g xB SỐ 01 (CS.01) 2020 xA y A xB g xA xB g xB xA mod p M DK (C ) C d mod p M ed mod p Với DK EK1 khóa mã K e, d Trong cần chọn số e thỏa mãn nguyên tố với p 1 Tiếp theo, sử dụng thuật toán Eclid mở rộng để tính nghịch đảo tương ứng e d e1 mod( p 1) Mức độ an tồn thuật tốn Pohlig-Hellman chống lại cơng lựa chọn rõ tính độ phức tạp tính toán toán logarit rời rạc IV PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ DỰA TRÊN GIAO THỨC BA BƯỚC SHAMIR Phương pháp MHCTCT dựa giao thức ba bước Shamir đề xuất [11], Phần IV mô tả lại chi tiết phương pháp này: Để đảm bảo an tồn cho mã hóa dựa phép lũy thừa modulo cần chọn số nguyên tố p số nguyên tố an toàn, thỏa mãn ( p 1) / số nguyên tố Đồng thời để đảm bảo an toàn ngữ nghĩa cho mã, cần bổ sung thêm yếu tố ngẫu nhiên vào nguồn tin ban đầu [15-16] giao thức mã hóa giao thức mã hóa xác suất Nếu thay cách có chủ đích nguồn ngẫu nhiên thơng điệp bí mật, mã hóa xác suất lúc trở thành mã hóa giả xác suất Phương pháp đề xuất cụ thể kết hợp thuật tốn: Q trình truyền tin thực theo giao thức ba bước Shamir; Khi bắt đầu thực phiên truyền tin mật, hai bên sử dụng giao thức trao đổi khóa Diffe-Hellman thống với tham số bí mật dùng chung để thực giao thức chối từ; Thuật tốn mã hóa sử dụng thuật toán lũy thừa modulo Pohlig-Hellman, thuật toán đảm bảo tính chất giao hốn Các bước thực chi tiết: Bước thống tham số: A B sử dụng giao thức TẠP CHÍ KHOA HỌC CƠNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 38 Nguyễn Đức Tâm Diffie-Hellman tạo khóa phiên cơng khai (sử dụng lần) trao đổi với Tiếp theo, họ chia sẻ tham số bí mật dùng chung Z AB Bước mã hóa: A cần truyền thơng điệp mật T , A tạo thơng điệp giả mạo M có kích thước với T A B thực q trình mã hóa truyền tin theo giao thức ba bước khơng khóa Shamir, sử dụng thuật tốn lũy thừa modulo Pohlig-Hellman trình bày mục 3.3 để mã hóa đồng thời T , M Bước giải mã: B có hai chế độ giải mã, chế độ giải mã mật để khôi phục thông điệp mật T ; chế độ giải mã chối từ bị cơng cưỡng ép để trình cho đối phương công thông điệp giả mạo M Trong q trình mã hóa, A B sử dụng giao thức MHCTCT đảm bảo mã (C1 , C2 , C3 ) tạo giao thức mã hóa khơng khóa chối từ (mã hóa đồng thời hai thông điệp M T ) không phân biệt mặt tính tốn với mã (C1 , C2 , C3 ) tạo giao thức mã hóa xác suất mã hóa thông điệp M Khi bị công cưỡng ép: A B hai bên A, B trình thông điệp giả mạo M , mã (C1 , C2 , C3 ), giao thức mã hóa xác suất khóa giả, đảm bảo thành phần phù hợp với Do đó, A B có đủ lý lẽ hợp lý sử dụng giao thức mã hóa xác suất để truyền thông điệp (trong thực tế giao thức MHCTCT hai bên thực sử dụng) Như vậy, phương pháp chối sử dụng hai giao thức: - Giao thức thứ giao thức mã hóa xác suất sử dụng thuật toán Pohlig-Hellman, giao thức dùng để trình bị cơng cưỡng ép, giao thức mô tả chi tiết 4.1 ký hiệu giao thức EncPH_F - Giao thức thứ hai giao thức mã hóa chối từ giả xác suất sử dụng thuật toán Pohlig-Hellman, giao thức mà hai bên A, B thực dùng để truyền tin mật, giao thức mô tả chi tiết 4.2 ký hiệu giao thức DenEncPH 4.1 Giao thức mã hóa xác suất sử dụng thuật tốn Pohlig-Hellman Giao thức EncPH_F: A cần truyền thơng điệp M p cho B (để đảm bảo mức an tồn 112 bit, p số ngun tố có kích thước 2048 bit [16] hai bên cơng khai) * Bước 1: thống tham số A tạo giá trị ngẫu nhiên k A p 1, đóng vai trị khóa bí mật sử dụng lần A, tính khóa cơng khai sử dụng lần A RA kA mod p, gửi R A cho B B tạo giá trị ngẫu nhiên k B p 1, đóng vai trị khóa bí mật sử dụng lần B, tính khóa cơng khai sử dụng lần B RB kB mod p, gửi RB cho A Lúc B có giá trị bí mật dủng chung Z Z AB RAkB mod p kA kB mod p RB , A nhận ính giá trị dùng chung SỐ 01 (CS.01) 2020 Z Z AB RB kA mod p kB kA mod p * Bước 2: mã hóa theo giao thức ba bước Shamir B2.1 A tạo khóa riêng K A (eA , d A ), với gcd(eA , p 1) 1, d A eA1 mod p –1 , tạo giá trị ngẫu nhiên 1 với mục đích thêm vào nguồn tin rõ ban đầu, tính mã C1 (C1' , C1'' ) hệ hệ phương trình đồng dư tuyến tính sau (có diện tham số Z , 1 ) với C1' C1'' chưa biết: С1 С1 1 mod p U1 eA С1 ZС1 M mod p S1 (1) Hệ phương trình đồng dư bậc hai ẩn (1) có hai nghiệm C1' , C1" : (C1' D 1 DC ' mod p; C1" D 1 DC" mod p) Với: 1 D 1 phần tử nghịch đảo D ( Z 1) mod p; DC' (U1Z S1 ) mod p; DC" (S1 U1 ) mod p; 1 Sau đó, A gửi mã C1 cho B B2.2 B tạo khóa K B (eB , d B ), riêng gcd(eB , p 1) 1, d B e mod p –1 , 1 B tính với giá trị S1 M eA mod p С1 ZС1 mod p, tạo giá trị ngẫu nhiên , tính mã C2 (C2' , C2'' ) hệ phương trình đồng dư tuyến tính sau với C2' , C2" chưa biết: С2 С2 mod p U eB С2 ZС2 S1 mod p S2 (2) Hệ phương trình đồng dư bậc hai ẩn (2) có hai nghiệm C2' , C2" : (C2' D 1 DC ' mod p; C2" D 1 DC" mod p) Với: D 1 phần tử nghịch đảo D ( Z 1) mod p; DC' (U Z S2 ) mod p; DC" (S2 U ) mod p; 2 Tiếp theo, B gửi mã C2 cho A B2.3 A tạo giá trị ngẫu nhiên 3 tính giá trị S2 S1eB mod p С2 ZС2 mod p mã C3 (C , C ) hệ phương trình đồng dư tuyến tính ' " sau với C3' , C3" chưa biết: С3 С3 3 mod p U dA С3 ZС3 S2 mod p S3 (3) Hệ phương trình đồng dư bậc hai ẩn (3) có hai nghiệm C3' , C3" : (C3' D 1 DC ' mod p; C3" D 1 DC" mod p) Với: 3 DC' (U3 Z S3 ) mod p; DC" (S3 U3 ) mod p; 3 Sau đó, A gửi mã C3 đến B * Bước 3: giải mã B nhận C3 , B tính thơng điệp M sau: M С3 ZС3 B mod p d (4) Lưu ý rằng, giao thức, giá trị TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG i 39 TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ… i 1, 2,3 ngẫu nhiên thêm vào q trình mã hóa với giả thiết sau: Giả thiết Các giá trị i (i 1, 2,3) thêm vào q trình mã hóa ba bước giao thức EncPH_F nhằm mục đích tăng tính ngẫu nhiên mã, giá trị ngẫu nhiên không lưu nhớ nhớ máy tính (máy lập mã máy giải mã) Mệnh đề Nếu A, B sử dụng giao thức DenEncPH thực mã hóa truyền tin thơng điệp M q trình thực ba bước có bổ sung giá trị ngẫu nhiên i (i 1, 2,3) Thì B thực giải mã khơi phục xác thơng điệp M mà không phụ thuộc giá trị i thêm vào Chứng minh: Trong giao thức EncPH_F, có cơng thức sau khơng có tham gia ngẫu nhiên i : S1 M eA mod p; U1 T A С1 Z С1 mod p, S1 M eA С1 ZС1 mod p, tính C2 (C2' , C2'' ) hệ phương trình đồng dư tuyến tính sau với (C2' , C2" ) chưa biết: С2 Z С2 U1 B mod p U (7) eB С2 ZС2 S1 mod p S2 Hệ phương trình đồng dư bậc hai ẩn (7) có hai nghiệm C2' , C2" : (C2' D 1 DC ' mod p; C2' D 1 DC" mod p) Với: D 1 phần tử nghịch đảo D (Z Z ) mod p; DC ' (U Z S2 Z ) mod p; DC" (S2 U ) mod p; С3 ZС S2d A mod p M eAeB d A mod p M eB mod p; B thực giải mã công thức (4): M С3 ZС3 B mod p M eB dB mod p M d (5) Ta có mệnh đề chứng minh 4.2 Giao thức mã hóa chối từ sử dụng thuật tốn Pohlig-Hellman A cần truyền thơng điệp T p sang cho B, A ngụy trang thông điệp giả mạo M có kích thước với T , giao thức truyền tin mô tả chi tiết bước thực sau: Giao thức DenEncPH: Bước 1: thống tham số Hoàn toàn tương tự giao thức EncPH_F, A B dùng giao thức trao đổi Diffie-Hellman thống tham số bí mật dùng chung Z : Z Z AB RB k A mod p ( kB ) k A mod p RA kB mod p ( k A ) kB mod p Bước 2: mã hóa theo giao thức ba bước Shamir B 2.1 A tạo khóa riêng K A (eA , d A ), với C1 (C1' , C1" ) cách giải hệ phương trình sau để " tìm (C , C ) : С1 Z С1 T A mod p U1 e С1 ZС1 M A mod p S1 (6) Hệ phương trình đồng dư bậc hai ẩn (6) có hai nghiệm C1' , C1" : (C1' D 1 DC ' mod p; C1" D 1 DC" mod p) Với: D 1 phần tử nghịch đảo D (Z Z ) mod p; DC ' (U1 Z S1Z ) mod p; DC" (S1 U1 ) mod p; Tiếp theo, A gửi mã C1 sang B B 2.3 A tính giá trị U U1eB С2 Z С2 mod p, S2 S1eB С2 ZС2 mod p, mã C3 (C3' , C3" ) hệ phương trình đồng dư tuyến tính sau với C3' , C3" chưa biết: С3 Z С3 U A mod p U (8) dA С3 ZС3 S2 mod p S3 Hệ phương trình đồng dư bậc hai ẩn (8) có hai nghiệm C3' , C3" : (C3' D 1 DC ' mod p; C3' D 1 DC" mod p) Với: 3 DC ' (U Z S3 Z ) mod p; DC" (S3 U3 ) mod p; Tiếp theo, A gửi mã C3 sang B Bước 3:giải mã + Giải mã chế độ truyền tin mật B nhận C3 , B giải mã chế độ truyền tin mật để khôi phục thông điệp bí mật T sau: B với gcd( A , p 1) 1, A A1 mod p –1 , tính mã T С3 Z С3 mod p gcd(eA , p 1) 1, d A eA1 mod ( p 1), QA ( A , A ), gcd( B , p 1) 1, B B1 mod p –1 , tính giá trị Tiếp theo, B gửi mã C2 sang cho A S2 S1eB mod p M eAeB mod p; ' gcd(eB , p 1) 1, d B e1B mod p –1 , QB ( B , B ), với (9) + Giải mã chế độ bị công cưỡng ép Nếu bị cơng cưỡng ép, B trình thơng điệp giả mạo M sau: M С3 ZС3 B mod p d (10) V MỘT SỐ ĐỊNH NGHĨA QUAN TRỌNG VỀ ĐỘ AN TỒN KHƠNG PHÂN BIỆT TÍNH TỐN Định nghĩa [17] Một thuật toán gọi chạy thời gian đa thức tồn đa thức p n cho với chuỗi đầu vào x có độ dài n bít, thuật toán ( x) kết thúc sau nhiều p n bước Định nghĩa [17] Một hàm ( n ) gọi không đáng kể (negligible) theo biến n, với đa thức p n , tồn số nguyên n0 cho B 2.2 B, tạo khóa riêng K B (eB , d B ), với SỐ 01 (CS.01) 2020 TẠP CHÍ KHOA HỌC CƠNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 40 Nguyễn Đức Tâm n n0 ( n) p ( n) 2n B = Bn nN Một hàm không đáng kể hay sử dụng [17]: Định nghĩa [1] Cho A = An nN hai phân bố xác suất : N 0,1 Chúng ta nói A B n đóng với phân biệt thời gian đa thức D n với đủ lớn, Prob D An 1 Prob D Bn 1 n Nếu n khơng đáng kể nói A B khơng c phân biệt tính tốn viết A B Định nghĩa [17] Một đánh giá độ an tồn khơng phân biệt tính tốn với cơng CPA hệ mật khóa bí mật với giao thức truyền tin mật (Gen, Enc, Dec) gồm thủ tục tạo khóa Gen, mã hóa Enc, giải mã Dec, với ký hiệu SecKECPA mô tả (n) sau: Đối phương công E chọn cặp rõ m0 , m1 có độ dài đưa vào thủ tục mã hóa Một khóa bí mật k ngẫu nhiên có kích thước n bít bít ngẫu nhiên b {0,1} chọn để mã hóa mb trả lại cho E mã C Enck (mb ) gọi mã thách thức E có quyền truy cập khơng giới hạn tới thủ tục mã hóa Enc Sau nhận mã C , để đốn bít b , E thực thuật tốn có giá trị b ' Kết đánh giá b' b khác Định nghĩa [17] Một hệ mật khóa bí mật có kích thước khóa bí mật n bít gọi có độ an tồn khơng phân biệt tính tốn cơng rõ chọn trước (IND-CPA) với thuật toán thời gian đa thức, xác suất để SecKECPA (n) có kết là: Pr[ SecK ECPA ( n) 1] (n), với ( n ) hàm không đáng kể n VI TÍNH ĐÚNG ĐẮN, CHỐI TỪ THUYẾT PHỤC VÀ AN TỒN IND-CPA CỦA PHƯƠNG PHÁP ĐỀ XUẤT 6.1 Tính đắn Mệnh đề Nếu A, B dùng giao thức DenEncPH để mã hóa điệp bí mật T ngụy trang thơng điệp giả mạo M kích thước Thì B giải mã chế độ truyền tin mật ln khơi phục xác thơng điệp bí mật T Chứng minh: - Khi B giải mã chế độ truyền tin mật, khôi phục thông điệp bí mật T , Ta có: giao thức DenEncPH, từ công thức: U1 T A mod p; U U1 B mod p T A B mod p; SỐ 01 (CS.01) 2020 С3 Z 2С3 U 2 A mod p T A B A mod p B thay công thức vào công thức giải mã (9) giao thức DenEncPH: T С3 Z 2С3 mod p B T A B A B mod p T mod p (11) Ta có mệnh đề chứng minh 6.2 Tính chối từ thuyết phục Mệnh đề Khi hai bên A, B sử dụng giao thức DenEncPH để truyền thơng điệp bí mật T ngụy trang thơng điệp giả mạo M kích thước Nếu đối phương công chặn thu mã (C1 , C2 , C3 ) tiến hành cưỡng ép A B hai bên: Khi đối phương cưỡng ép bên nhận B, B trình bí mật dùng chung Z , khóa mã giả mạo (eB , d B ), giao thức mã hóa xác suất EncPH_F, thành phần hoàn toàn phù hợp với mã (C1 , C2 , C3 ) thực giải mã (C1 , C2 , C3 ) giao thức EncPH_F khơi phục xác thơng điệp giả mạo M (CM 3-1) Khi đối phương công cưỡng ép bên gửi A, A trình tham số bí mật dùng chung Z , khóa mã giả mạo (eA , d A ) dùng giao thức mã hóa xác suất EncPH_F mã hóa thông điệp giả mạo M tạo mã (C1* , C2 , C3* ) hoàn toàn phù hợp với giao thức mã hóa xác suất thuật tốn mã hóa (CM 3-2) Khi đối phương cưỡng ép đồng thời hai bên B trình bí mật dùng chung Z , khóa mã giả mạo (eB , d B ), giao thức mã hóa xác suất EncPH_F hoàn toàn phù hợp với mã (C1 , C2 , C3 ) thực giải mã (C1 , C2 , C3 ) giao thức DenEncPH khôi phục xác thơng điệp giả mạo M Đồng thời A trình tham số bí mật dùng chung Z , khóa mã giả mạo (eA , d A ) dùng giao thức mã hóa xác suất EncPH_F mã hóa thơng điệp giả mạo M tạo mã (C1* , C2 , C3* ) hồn tồn phù hợp với giao thức mã hóa xác suất thuật tốn mã hóa (CM 3-3) Chứng minh: CM 3-1 Khi B bị công cưỡng ép, B sử dụng mã (C1 , C2 , C3 ) (được tạo từ giao thức DenEncPH có tay đối phương cơng), tham số bí mật dùng chung Z , khóa mã giả mạo (eB , d B ) , thuật toán giải mã giao thức DenEncPH khơi phục xác thơng điệp giả mạo M trình cho đối phương sau: Ta có, hai giao thức EncPH_F giao thức DenEncPH sử dụng chung giá trị: tham số bí mật Z , khóa giả mạo (eA , d A ), (eB , d B ) cơng thức tính giá trị trung gian giống nhau: S1 M eA mod p; S2 S1eB mod p M eAeB mod p; С Z С S 3 dA mod p M eAeB d A mod p; B sử dụng công thức (10) giao thức DenEncPH (trùng hồn tồn với cơng thức (4) giao thức EncPH_F) để giải mã khơi phục xác M : TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 41 TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HÓA CÓ THỂ CHỐI TỪ… M С3 ZС3 B mod p d M eAeB d A dB mod p M mod p (12) Ta có điều phải chứng minh (CM 3-1) CM 3-2 Khi A bị ép buộc thực lại trình mã hóa, A sử dụng tham số bí mật dùng chung Z , khóa mã giả mạo (eA , d A ), giao thức EncPH_F để mã hóa thơng điệp giả mạo M : - Đầu vào bước mã hóa giao thức EncPH_F lúc M 1* , với 1* giá trị ngẫu nhiên A tạo (theo giả thiết 1), dựa vào hệ phương trình (1), A tính mã C1* (C1*' , C1*'' ) : С1*' С1*" 1* mod p *' *" e С1 ZС1 M A mod p - Đầu vào bước mã hóa giao thức EncPH_F lúc C2 (C2' , C2'' ) 3* , với C2 mã A nhận từ B thực giao thức DenEncPH lúc trước, 3* giá trị ngẫu nhiên A tạo (theo giả thiết 1), A tính giá trị trung gian eB S2 S1 mod p С2 ZС2 mod p , tiếp dựa vào hệ С3*' С3*" 3* mod p *' d *" С3 ZС3 S2 A mod p Như mã A trình cho đối phương C1* , C2 , C3* khác với mã có tay C1 , C2 , C3 Điều lý giải hoàn toàn hợp lý giả thiết 1, giá trị ngẫu nhiên i (i 1, 2,3) thêm vào q trình mã hóa ba bước giao thức mã hóa xác suất EncPH_F khơng lưu nhớ máy tính, nên lần thực lại q trình mã hóa với rõ M , mã tạo khác Ta có điều phải chứng minh (CM 3-2) CM 3-3 Từ chứng minh (CM 3-1) kết hợp đồng thời với (CM 3-2), có điều phải chứng minh (CM 3-3) Kết hợp chứng minh (CM 3-1), (CM 3-2), (CM 33) ta có mệnh đề chứng minh 6.3 Tính an tồn IND-CPA Mệnh đề Với thông điệp giả mạo M khóa giả mạo K A (eA , d A ), K B (eB , d B ) Với khóa thật bí mật QA ( A , A ), QB ( B , B ) giá trị ngẫu nhiên i giao thức EncPH_F chọn ngẫu nhiên có phân phối xác suất p , thực mã hóa truyền tin thơng điệp bí mật T , mã (C1 , C2 , C3 ) tạo từ giao thức EncPH_F thỏa mãn tính chất khơng phân biệt tính tốn với mã (C1 , C2 , C3 ) tạo từ giao thức DenEncPH Như ta phải chứng minh: kẻ cơng có mã (C1 , C2 , C3 ) tay, xác suất để mã tạo từ việc mã hóa ( M , i ) giao thức EncPH_F tạo từ việc mã hóa ( M , T ) SỐ 01 (CS.01) 2020 bit, ta đặt p 2n 1 , số cụ thể Chứng minh: Bản mã (C1 , C2 , C3 ) gồm ba mã ba bước mã hóa q trình thực mã hóa theo giao thức ba bước Shamir Ở bước thứ i, mã gồm hai thành phần Ci' , Ci" Ta có: Tại Bước q trình mã hóa theo giao thức ba bước Shamir: Để chứng minh, thủ tục công rõ lựa chọn, sau nhận mã thách thức C1 tương ứng với rõ mb Kẻ cơng đốn b' b hai cách sau: Đoán ngẫu nhiên với xác suất 1/2 Chọn ngẫu nhiên b' {0,1} truy vấn mã hóa (EncPH_F DenEncPH) với p(n) lần, sử dụng đầu vào mb khóa bí mật ngẫu nhiên để có mã phương trình (3), A tính mã C3* (C3*' , C3*'' ) : đối phương 1 giao thức DenEncPH (n) 2 Để tiện chứng minh, p số nguyên tố cỡ n C1* C1* C1 Ở p(n) đa thức n để đảm bảo chắn công thực thi thời gian đa thức Khi xác suất để đốn thành cơng là: (11) Pr[ SecK ECPA p(n).Pr[C1* C1 ] ( n) 1] mã bước gồm hai thành phần nên, công thức (11) tương đương với hai công thức: (11a) Pr[ SecK ECPA p(n).Pr[C1*' C1' ] (n) 1] (11b) Pr[ SecK ECPA p(n).Pr[C1*" C1" ] ( n) 1] * Khi truy vấn mã hóa EncPH_F: Với mb ( M b , bi ); b {0,1}, Ta có, dựa vào cơng thức tính nghiệm hệ phương trình (1): Pr[C1*' =C1' ]= =Pr[(U1EncPH _ F Z S1EncPH _ F )( Z 1) 1 mod p C1' ] =Pr[(b Z M beA ) mod p C1' (Z-1) mod p] =Pr[M beA mod p ( b Z C1' (Z-1)) mod p] =Pr[e A =log M b (b Z C1' (Z-1))] e A mã hóa chọn ngẫu nhiên p , M b, b , Z , C không đổi nên: ' Pr[e A =log M b (( b mod p) Z C1' )] Pr[e A ] 1 p (2n 1 ) 1 1 n 1 , theo định nghĩa (2) n1 (2 ) hàm không đáng kể theo biến n , nên Do n 1 TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG 42 Nguyễn Đức Tâm *" " 1 hàm không đáng kể theo biến n n 1 (2 ) Pr[C =C ]= p(n) (2 ) hàm không đáng kể n, thay vào biểu thức (11a) ta có =Pr[( M eA Tb A ) mod p C1" ( Z Z ) mod p] Do p(n) đa thức nên: n 1 điều phải chứng minh (C1*' ,C1' ) thỏa mãn IND-CPA Lập luận hoàn toàn tương tự cho biểu thức: Pr[C1*" =C1" ] =Pr[M beA mod p (C1" ( Z 1) b ) mod p] 1 n 1 p 1 1 hàm không (2n 1 ) đáng kể theo biến n, p(n) đa thức nên: Như chứng minh, p(n) hàm không đáng kể n, (2 ) thay vào biểu thức (11b), ta có điều phải chứng minh (C1*" ,C1" ) thỏa mãn IND-CPA * Khi truy vấn mã hóa DenEncPH: Ta có, từ việc giải nghiệm hệ phương trình đồng dư (1), (6), giá trị (Z , S1 M eA mod p) hai giao thức hoàn toàn giống hệt coi số chọn lựa rõ mb để thực thủ tục n 1 công CPA, với mb ( M , Tb ); b {0,1} Từ (6): Pr[C1*' =C1' ]= =Pr[(U1DenEncPH Z S1DenEncPH Z )( Z Z ) 1 mod p C1' ] =Pr[(Tb A Z M eA Z )( Z Z ) 1 mod p C1' ] =Pr[(Tb A M eA Z ) Z Z 1 (1 Z ) 1 mod p C1' ] hàm không ) 1 p(n) hàm không đáng kể n, (2 ) thay vào biểu thức (11b), ta có điều phải chứng minh (C1*" ,C1" ) thỏa mãn IND-CPA Như ta có điều phải chứng minh tính khơng phân biệt tính tốn mã tạo Bước giao thức mã hóa xác suất EncPH_F mã tạo Bước giao thức mã hóa chối từ DenEncPH Trong q trình mã hóa ba bước, định dạng hệ phương trình đồng dư tuyến tính Bước Bước hồn toàn tương tự Bước 1, với cách lập luận tương tự để chứng minh IND-CPA cho cặp mã (C2* , C2 ), (C3* , C3 ) Ta có điều phải chứng minh phương pháp mã hóa giả xác suất trình bày thỏa mãn tính chất IND-CPA 6.4 Nhận xét độ an toàn giao thức mã hóa Như chứng minh mệnh đề 3, phương pháp MHCTCT đề xuất có khả chối từ thuyết phục bên gửi bên nhận đồng thời hai bên Như chứng minh mệnh đề 4, phương pháp đề xuất đảm bảo tính an tồn IND-CPA mã đầu Khi bị cưỡng ép đối phương công thụ động (đã thu mã C1 , C2 , C3 ), bên gửi bên nhận hai bên trình thơng điệp giả mạo M , thuật tốn mã hóa, khóa k A , RA , Z , (eA , d A ) k B , RB , Z , eB , d B =Pr[(Tb A M eA Z ) mod p C1' (1 Z ) mod p] eB , d B =Pr[Tb A mod p (C1' (1 Z ) M eA ) mod p] =Pr[ A logTb (C1' (1 Z ) M eA )] p , Tb , M , eA , Z , C1' không đổi nên: 1 n 1 p 1 1 hàm không (2n 1 ) đáng kể theo biến n, p(n) đa thức nên: Như chứng minh, p(n) hàm không đáng kể n, (2 ) thay vào biểu thức (11a) ta có điều phải chứng minh (C1*' ,C1' ) thỏa mãn IND-CPA Lập luận hoàn toàn tương tự cho: SỐ 01 (CS.01) 2020 (2 n 1 n 1 =Pr[e A =log M b (C1" ( Z 1) b )] n 1 1 n 1 p 1 1 đáng kể theo biến n, p(n) đa thức nên: =Pr[( M beA ( b mod p)) mod p C1" ( Z 1) mod p] =Pr[ A ]= =Pr[ A logTb (M eA C1" ( Z Z ))] Như chứng minh, =Pr[( M beA ( b mod p))( Z 1) 1 mod p C1" ] A mã hóa chọn ngẫu nhiên =Pr[Tb A mod p ( M eA C1" ( Z Z )) mod p ] =Pr[ A ]= =Pr[( S1EncPH _ F U1EncPH _ F )( Z 1) 1 mod p C1" ] Pr[e A ] =Pr[( S1DenEncPH U1DenEncPH )( Z Z ) 1 mod p C1" ] k A , RA , k B , RB , Z , eA , d A , hoàn toàn phù hợp với Hai bên chứng minh dùng giao thức mã hóa xác suất để gửi an tồn thơng điệp M Và theo mệnh đề 4, mã có tay đối phương công đảm bảo không phân biệt tính tốn với mã hai bên trình Đối phương cơng có hai cách để có mã C , C2 , C3 , cách thứ thu kênh truyền công cộng (các mã tạo từ giao thức mã hóa chối từ giả xác suất – giao thức DenEncPH), cách thứ hai dựa vào tham số thuật toán hai bên liên lạc trình với đối phương cơng (các mã tạo từ giao thức mã hóa xác suất – giao thức EncPH_F) Đối phương công có hai khả sau: i) đồng ý với người dùng ii) chứng minh mã tạo giao thức MHCTCT Tuy nhiên, khả thứ hai khơng khả thi khơng có manh mối Từ mã C1 , C2 , C3 có tay, đối phương cơng có TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 43 TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HĨA CĨ THỂ CHỐI TỪ… REFERENCES thể khơi phục lại giá trị ngẫu nhiên thêm vào ' " [1] Ran Canetti, Cynthia Dwork, Moni Naor, i 1, 2,3 i (Ci Ci ) mod p (thực chất giá trị T A mod p,U1 B mod p,U 2 A mod p tạo từ giao thức DenEncPH), để từ giá trị để tính thơng điệp bí mật T , đối phương cơng phải tính khóa riêng QA ( A , A ), QB ( B , B ) Việc tính [2] [3] khóa riêng QA QB thực cách giải toán logarith rời rạc modulo p , với cách chọn p mơ tả độ khó tốn đủ đảm bảo an tồn cho giao thức Để chống lại cơng giả mạo tích cực, mà đối phương công giả mạo bên tham gia truyền tin, giao thức bổ sung thủ tục xác thực hai bên trước thực trình trao đổi tham số bí mật mã hóa cách thức thực báo [18] Hoặc cách đơn giản để xác thực hai bên hai bên thống trước thuật tốn bí mật để rút trích tham số bí mật sử dụng thiết lập hệ phương trình (1) đến (10) từ tham số bí mật dùng chung Z AB thỏa thuận phiên liên lạc, kỹ thuật giới thiệu báo [19] Tuy nhiên, có q trình thống thuật tốn bí mật từ trước, lược đồ mã hóa trở thành lược đồ mã hóa có chia sẻ trước quy ước bí mật VII KẾT LUẬN Giao thức đề xuất [11] sử dụng thuật tốn mã hóa Pohlig-Hellman có tính chất giao hốn, thực q trình truyền tin mật q trình khơng trao đổi khóa trước phiên liên lạc, mã hóa đồng thời thơng điệp mật thông điệp giả mạo, sử dụng kỹ thuật thỏa thuận khóa Diffie-Hellman chia sẻ tham số bí mật dùng chung sử dụng lần Để ngụy trang trình thực truyền tin, với giao thức MHCTCT thực dùng thật truyền tin mật, giao thức mã hóa xác suất xây dựng để trình cho đối phương cơng Do giao thức MHCTCT xây dựng dựa giao thức mã hóa xác suất với việc thay nguồn ngẫu nhiên thơng điệp giả bí mật có chủ đích vào q trình mã hóa, coi giao thức mã hóa giả xác suất Như chứng minh báo này, giao thức MHCTCT sử dụng thuật tốn mã hóa Pohlig-Hellman thỏa mãn đầy đủ tính chất lược đồ MHCTCT theo định nghĩa Canetti [1] tính đắn, tính an tồn INDCPA tính chối từ thuyết phục Các mã tạo từ giao thức MHCTCT mà hai bên sử dụng truyền tin mật đảm bảo tính khơng phân biệt tính tốn với mã hai bên sử dụng giao thức giả mạo trình diễn lại trình mã hóa bị cơng cưỡng ép Với việc sử dụng nguyên thủy mật mã an toàn chứnh minh đầy đủ tính chất giao thức MHCTCT, phương pháp hồn tồn có khả ứng dụng thực tế SỐ 01 (CS.01) 2020 [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] and Rafail Ostrovsky, "Deniable Encryption," Proceedings Advances in Cryptology – CRYPTO 1997 Lectute Notes in Computer Science Springer – Verlag Berlin, Heidelberg, New York, pp 90-104, 1997 Truecrypt: Free open-source on-the-fly encryption [Online] http://truecrypt.org Roger Needham, and Adi Shamir Ross Anderson, "The steganographic file system In Information Hiding," Springer, pp 73-82, 1998 AndrewD McDonald and MarkusG Kuhn Stegfs, "A steganographic file system for linux In Andreas Pfitzmann, editor, Information," Springer Berlin Heidelberg, pp 463–477, 2000 B Meng, "A Secure Internet Voting Protocol Based on Noninteractive Deniable Authentication Protocol and Proof Protocol that Two Ciphertexts are Encryption of the Same Plaintext," Journal of Networks, pp 370–377, 2009 I Yu, E Kushilevits, and R Ostrovsky, "Efficient Non-interactive Secure Computation," Advances in Cryptology EUROCRYPT 2011 Lectute Notes in Computer Science Springer – Verlag Berlin, Heidelberg, New York, pp 406-425, 2011 C Wang and J.A Wang , "Shared-key and Receiver-deniable Encryption Scheme over Lattice," Journal of Computational Information Systems, pp 747-753, 2012 [8] N.A Moldovyan, A.A Moldovyan, and A.V Shcherbacov, "Deniable-encryption protocol using commutative transformation," Workshop on Foundations of Informatics, pp 285-298, 2016 N.A Moldovyan, A.N Berezin, A.A Kornienko, and A.A Moldovyan, "Bi-deniable Public-Encryption Protocols Based on Standard PKI," Proceedings of the 18th FRUCT & ISPIT Conference, Technopark of ITMO University, Saint-Petersburg, Russia FRUCT Oy, Finland, pp 212-219, 2016 A.A Moldovyan, N.A Moldovyan, and V.A Shcherbakov, "BiDeniable Public-Key Encryption Protocol Secure Against Active Coercive Adversary," Buletinul Academiei de Stiinte a Republicii Moldova Mathematica, pp 23-29, 2014 Nam Hai Nguyen, N A Moldovyan, A V Shcherbacov., Hieu Minh Nguyen, Duc Tam Nguyen, "No-Key Protocol for Deniable Encryption" Information Systems Design and Intelligent Applications: Proceedings of Fourth International Conference INDIA 2017.: Springer, Singapore, 2018, pp 96-104 Ulf Carlsen, "Cryptographic protocol flaws:know your enemy," in Computer Security Foundations Workshop VII Proceedings., 1994 W Diffie and M Hellman, "New Directions in Cryptography," IEEE Transactions on Information Theory, p 644–654, 1976 M Hellman and S Pohlig, "Exponentiation Cryptographic Apparatus and Method," U.S Patent # 4,424,414, 1984 N Moldovyan and A Moldovyan, Innovative cryptography 2nd Edition, Boston: Charles River Media, 2007, pp 50-57 Douglas Robert Stinson, Maura Paterson, Cryptography Theory and Practice, 4th ed., CRC Press, 2019 J Katz and Y Lindell, "Introduction to Modern Cryptography: Principles and Protocols," in Cryptography and Network Security Series, Chapman & Hall/CRC, 2007 Nguyễn Đức Tâm, Lê Mỹ Tú, "Phương pháp kết hợp ẩn mã với mã hóa khóa cơng khai chối từ" Tạp chí nghiên cứu KH&CN quân sự, vol Số đặc san An tồn thơng tin, pp 100-108, 2019 Nguyễn Đức Tâm, Lê Mỹ Tú, "Đề xuất giao thức mã hóa khơng khóa chối từ giả xác suất sử dụng thuật tốn RSA" Tạp chí nghiên cứu KH&CN quân sự, vol 62, pp 37-45, 2019 IND-CPA SECURITY OF DENIABLE ENCRYPTION METHOD BASE ON SHAMIR THREE-PASS PROTOCOL Abstract: This paper analyzes and prove the correct, security, deniable and IND-CPA secủity of a deniable encrypiton method, this method base on Shamir three-pass protocol using PohligHellman encrypion algorithm This deniable encryption method has been proposed in the paper [11], but it not been proven the properties of a deniable encryption protocol Keyword: Deniable encryption, Shamir three-pass protocol, commutative encrypion, probabilistic encryption, pseudo probabilistic encryption TẠP CHÍ KHOA HỌC CƠNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 44 Nguyễn Đức Tâm SƠ LƯỢC VỀ TÁC GIẢ Nguyễn Đức Tâm Sinh năm 1974 Bắc Giang Tốt nghiệp chuyên ngành Kỹ thuật mật mã Học viện KTMM Hiện công tác Học viện Kỹ thuật mật mã Hướng nghiên cứu: mã hóa chối từ Email:nguyenductamkma@gmail.com SỐ 01 (CS.01) 2020 TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THÔNG 45 ... Pohlig-Hellman chống lại cơng lựa chọn rõ tính độ phức tạp tính tốn tốn logarit rời rạc IV PHƯƠNG PHÁP MÃ HĨA CĨ THỂ CHỐI TỪ DỰA TRÊN GIAO THỨC BA BƯỚC SHAMIR Phương pháp MHCTCT dựa giao thức ba bước Shamir. .. ba bước mã hóa q trình thực mã hóa theo giao thức ba bước Shamir Ở bước thứ i, mã gồm hai thành phần Ci' , Ci" Ta có: Tại Bước trình mã hóa theo giao thức ba bước Shamir: Để chứng minh, thủ tục... khơng có manh mối Từ mã C1 , C2 , C3 có tay, đối phương cơng có TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG 43 TÍNH AN TỒN IND-CPA CỦA PHƯƠNG PHÁP MÃ HĨA CĨ THỂ CHỐI TỪ… REFERENCES thể