Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng

Giao thức trao đổi khóa (Key Exchange Protocol) đầu tiên cho các hệ mã khóa đối

xứng (Symmetric - Key Cryptosystems) được đề xuất bởi W. Diffie và M. Hellman vào

năm 1976 [1], còn được gọi là giao thức trao đổi khóa Diffie-Hellman (DHKE). Với giao

thức DHKE, không một kẻ thứ ba nào có thể tính được khóa bí mật của 2 đối tượng tham

gia trao đổi khóa nếu không giải được bài toán logarit rời rạc DLP (Discrete Logarithm

Problem) [2]. Tuy nhiên, DHKE có thể dễ dàng bị một kẻ thứ ba không mong muốn mạo

danh một trong 2 đối tượng để thiết lập 1 khóa bí mật chung với đối tượng kia [3]. Một

hướng nghiên cứu nhằm khắc phục nhược điểm trên đây của DHKE là tích hợp giao thức

này với các thuật toán chữ ký số, đã có một số kết quả về hướng nghiên cứu này được

công bố [4-8]. Trong [9] đã đề xuất giao thức trao đổi khóa phát triển từ DHKE không

tích hợp chữ ký số, song vẫn bảo đảm đầy đủ các tính chất an toàn cần thiết của một giao

thức trao khóa, ngoài ra giao thức này còn được nâng cao mức độ an toàn dựa trên tính

khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số hoặc khai căn trên

Tuy nhiên, việc xây dựng giao thức trên đồng thời 2 bài toán khó cũng làm giảm

đáng kể hiệu quả thực hiện của thuật toán.

Trong phần tiếp theo của bài báo, nhóm tác giả đề xuất xây dựng giao thức trao đổi

khóa an toàn cho các hệ mật khóa đối xứng trên cơ sở phát triển giao thức DHKE theo

cùng nguyên tắc với giao thức trong [9]. Độ an toàn của giao thức mới đề xuất chỉ được

đảm bảo bằng độ khó của bài toán logarit rời rạc, song lại có hiệu quả thực hiện cao hơn

các thuật toán đã được phát triển trước đó mà vẫn bảo đảm đầy đủ các tính chất cần thiết

của một giao thức trao đổi khóa an toàn.

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 1

Trang 1

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 2

Trang 2

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 3

Trang 3

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 4

Trang 4

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 5

Trang 5

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 6

Trang 6

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng trang 7

Trang 7

pdf 7 trang baonam 4740
Bạn đang xem tài liệu "Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng

Giao thức trao đổi khóa an toàn, hiệu quả cho các hệ mật khóa đối xứng
Công nghệ thông tin 
 80 N. V. Thái, , Đ. T. B. Ngọc, “Giao thức trao đổi khóa an toàn  hệ mật khóa đối xứng.” 
GIAO THỨC TRAO ĐỔI KHÓA AN TOÀN, HIỆU QUẢ 
CHO CÁC HỆ MẬT KHÓA ĐỐI XỨNG 
Nguyễn Vĩnh Thái1*, Đỗ Anh Tuấn2, Lưu Hồng Dũng2, Đoàn Thị Bích Ngọc3 
Tóm tắt: Bài báo đề xuất xây dựng giao thức trao đổi khóa an toàn cho các hệ mật 
khóa đối xứng phát triển từ giao thức Diffie - Hellman. Giao thức mới đề xuất không sử 
dụng chữ ký số cho việc xác thực như các giao thức đã được phát triển trước đó, nhờ đó 
đã nâng cao được hiệu quả thực hiện của thuật toán, song vẫn bảo đảm đầy đủ các tính 
chất của một giao thức trao đổi khóa an toàn. 
Từ khóa: Key Establishment; Key Agreement Protocols; Key Exchange Protocol; Symmetric-Key Cryptographic 
Algorithm; Symmetric - Key Cryptosystems. 
1. ĐẶT VẤN ĐỀ 
Giao thức trao đổi khóa (Key Exchange Protocol) đầu tiên cho các hệ mã khóa đối 
xứng (Symmetric - Key Cryptosystems) được đề xuất bởi W. Diffie và M. Hellman vào 
năm 1976 [1], còn được gọi là giao thức trao đổi khóa Diffie-Hellman (DHKE). Với giao 
thức DHKE, không một kẻ thứ ba nào có thể tính được khóa bí mật của 2 đối tượng tham 
gia trao đổi khóa nếu không giải được bài toán logarit rời rạc DLP (Discrete Logarithm 
Problem) [2]. Tuy nhiên, DHKE có thể dễ dàng bị một kẻ thứ ba không mong muốn mạo 
danh một trong 2 đối tượng để thiết lập 1 khóa bí mật chung với đối tượng kia [3]. Một 
hướng nghiên cứu nhằm khắc phục nhược điểm trên đây của DHKE là tích hợp giao thức 
này với các thuật toán chữ ký số, đã có một số kết quả về hướng nghiên cứu này được 
công bố [4-8]. Trong [9] đã đề xuất giao thức trao đổi khóa phát triển từ DHKE không 
tích hợp chữ ký số, song vẫn bảo đảm đầy đủ các tính chất an toàn cần thiết của một giao 
thức trao khóa, ngoài ra giao thức này còn được nâng cao mức độ an toàn dựa trên tính 
khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số hoặc khai căn trên 
𝑍𝑛. Tuy nhiên, việc xây dựng giao thức trên đồng thời 2 bài toán khó cũng làm giảm 
đáng kể hiệu quả thực hiện của thuật toán. 
Trong phần tiếp theo của bài báo, nhóm tác giả đề xuất xây dựng giao thức trao đổi 
khóa an toàn cho các hệ mật khóa đối xứng trên cơ sở phát triển giao thức DHKE theo 
cùng nguyên tắc với giao thức trong [9]. Độ an toàn của giao thức mới đề xuất chỉ được 
đảm bảo bằng độ khó của bài toán logarit rời rạc, song lại có hiệu quả thực hiện cao hơn 
các thuật toán đã được phát triển trước đó mà vẫn bảo đảm đầy đủ các tính chất cần thiết 
của một giao thức trao đổi khóa an toàn. 
2. PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA 
CHO CÁC HỆ MẬT KHÓA ĐỐI XỨNG 
2.1. Giao thức trao đổi khóa MTA 20. 8 - 01 
2.1.1. Thuật toán hình thành tham số và khóa 
Các tham số hệ thống hay tham số miền được nhà cung cấp dịch vụ chứng thực số 
hình thành bằng thuật toán như sau: 
Thuật toán 1: Hình thành các tham số hệ thống 
input: 𝑙𝑝, 𝑙𝑞 
output: 𝑝, 𝑞, 𝑔. 
[1]. Chọn cặp số nguyên tố 𝑝, 𝑞 lớn sao cho: 
Nghiên cứu khoa học công nghệ 
 Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 81 
𝑙𝑒𝑛(𝑝) = 𝑙𝑝; 𝑙𝑒𝑛(𝑞) = 𝑙𝑞 và: 𝑞|(𝑝 − 1). 
[2]. Chọn g là phần tử sinh của nhóm *pZ theo: 
𝑔 = 𝛼
𝑝−1
𝑞 𝑚𝑜𝑑 𝑝 với: 𝛼 ∈ (1, 𝑝) 
[3]. Chọn hàm băm 𝐻: {0,1}∗ → 𝑍ℎvới 𝑞 < ℎ < 𝑝. 
Chú thích: 𝑙𝑒𝑛(. ): hàm tính độ dài (theo bit) của một số nguyên. 
Mỗi người dùng (A, B,) hình thành cặp khóa bí mật và công khai của mình theo: 
Thuật toán 2: Hình thành khóa 
input: 𝑝, 𝑞, 𝑔. 
output: 𝑥, 𝑦. 
[1]. Chọn giá trị khóa bí mật x trong khoảng (1, 𝑞). 
[2]. Tính khóa công khai y theo: 
 𝑦 = 𝑔𝑥 𝑚𝑜𝑑 𝑝 
2.1.2. Giao thức trao đổi khóa 
Giả thiết rằng 2 đối tượng tham gia truyền thông ở đây là A và B có các khóa bí mật 
và công khai tương ứng là (𝑥𝐴, 𝑦𝐴) và (𝑥𝐵, 𝑦𝐵), tham số hệ thống và khóa của A, B được 
hình thành theo thuật toán 1 và 2: 
𝑦𝐴 = 𝑔
𝑥𝐴 𝑚𝑜𝑑 𝑝 (1a) 
𝑦𝐵 = 𝑔
𝑥𝐵 𝑚𝑜𝑑 𝑝 (1b) 
Cũng giả thiết rằng, A và B cùng thống nhất sử dụng một thuật toán mã hóa khóa bí 
mật (DES, AES,...) để mã hóa dữ liệu cần trao đổi với nhau. Khi đó, giao thức đề xuất ở 
đây (ký hiệu: MTA 20.8 - 01) được sử dụng để thiết lập một khóa bí mật chung/chia sẻ 
giữa A và B, bao gồm các bước mô tả trên bảng 1 như sau: 
Bảng 1. Giao thức MTA 20.8 - 01. 
A B 
Bước 1 
- Chọn ngẫu nhiên một giá trị 𝑘𝐴: 
0 < 𝑘𝐴 < 𝑞 
- Tính: 𝑅𝐴 = 𝑔
𝑘𝐴 𝑚𝑜𝑑 𝑝 (2a) 
- Tính: 𝑆𝐴 = (𝑦𝐵)
𝑥𝐴 𝑚𝑜𝑑 𝑝 (3a) 
- Tính: 𝐸𝐴1 = 𝐻(𝑅𝐴‖𝑆𝐴) (4a) 
 𝑅𝐴, 𝐸𝐴1 
- Chọn ngẫu nhiên một giá trị 𝑘𝐵: 
0 < 𝑘𝐵 < 𝑞 
- Tính: 𝑅𝐵 = 𝑔
𝑘𝐵 𝑚𝑜𝑑 𝑝 (2b) 
- Tính: 𝑆𝐵 = (𝑦𝐴)
𝑥𝐵 𝑚𝑜𝑑 𝑝 (3b) 
- Tính: 𝐸𝐵1 = 𝐻(𝑅𝐵‖𝑆𝐵) (4b) 
 𝑅𝐵, 𝐸𝐵1 
Bước 2 
- Tính: �̅�𝐵1=𝐻(𝑅𝐵‖𝑆𝐴) (5a) 
- Kiểm tra nếu �̅�𝐵1=𝐸𝐵1 thì thực hiện tiếp, 
nếu �̅�𝐵1 ≠ 𝐸𝐵1 thì hủy giao thức. 
- Tính: �̅�𝐴1=𝐻(𝑅𝐴‖𝑆𝐵) (5b) 
- Kiểm tra nếu �̅�𝐴1=𝐸𝐴1 thì thực hiện tiếp, 
nếu �̅�𝐴1 ≠ 𝐸𝐴1 thì hủy giao thức. 
Công nghệ thông tin 
 82 N. V. Thái, , Đ. T. B. Ngọc, “Giao thức trao đổi khóa an toàn  hệ mật khóa đối xứng.” 
A B 
- Tính khóa bí mật chia sẻ với B: 
𝐾𝐴𝐵 = (𝑅𝐵)
𝑘𝐴 𝑚𝑜𝑑 𝑝 (6a) 
- Tính: 𝐸𝐴2 = 𝐻(𝐾𝐴𝐵‖𝑆𝐴) (7a) 
 𝐸𝐴2 
- Tính khóa bí mật chia sẻ với A: 
𝐾𝐵𝐴 = (𝑅𝐴)
𝑘𝐵 𝑚𝑜𝑑 𝑝 (6b) 
- Tính: 𝐸𝐵2 = 𝐻(𝐾𝐵𝐴‖𝑆𝐵) (7b) 
 𝐸𝐵2 
Bước 3 
- Kiểm tra nếu 𝐸𝐵2 = 𝐸𝐴2 thì A khẳng 
định đối tượng tham gia trao đổi khóa là B 
và B đã thiết lập được khóa bí mật chia sẻ 
với A, sau đó A có thể dùng khóa này để 
trao đổi thông tin mật với B bằng 1 thuật 
toán mật mã khóa đối xứng đã được thống 
nhất trước. Giao thức thành công với khóa 
chung là 𝐾𝐴𝐵; nếu 𝐸𝐵2 ≠ 𝐸𝐴2 thì A khẳng 
định đối tượng tham gia trao đổi khóa là 
giả mạo và hủy khóa đã được tạo ra. 
- Kiểm tra nếu 𝐸𝐴2 = 𝐸𝐵2 thì B khẳng định 
đối tượng tham gia trao đổi khóa là A và A 
đã thiết lập được khóa bí mật chia sẻ với B, 
sau đó B có thể dùng khóa này để trao đổi 
thông tin mật với A bằng 1 thuật toán mật 
mã khóa đối xứng đã được thống nhất 
trước. Giao thức thành công với khóa 
chung là 𝐾𝐵𝐴; nếu 𝐸𝐴2 ≠ 𝐸𝐵2 thì B khẳng 
định đối tượng tham gia trao đổi khóa là giả 
mạo và hủy khóa đã được tạo ra. 
2.2. Tính đúng đắn của giao thức MTA 20.8 - 01 
Tính đúng đắn của thuật toán chữ ký mới đề xuất được chứng minh như sau: 
Cho 𝑝, 𝑞 là các số nguyên tố thỏa mãn: 𝑞|(𝑝 − 1), 𝑛 = 𝑝 × 𝑞, 𝑛 > 𝑝, 
𝛼 ∈ (1, 𝑝), 𝑔 = 𝛼
𝑝−1
𝑞 𝑚𝑜𝑑 𝑝, 1 < 𝑥𝐴, 𝑥𝐵 < 𝑞, 𝑦𝐴 = 𝑔
𝑥𝐴 𝑚𝑜𝑑 𝑝, 
𝑦𝐵 = 𝑔
𝑥𝐵 𝑚𝑜𝑑 𝑝, 1 < 𝑘𝐴, 𝑘𝐵 < 𝑞, 𝑅𝐴 = 𝑔
𝑘𝐴 𝑚𝑜𝑑 𝑝, 𝑅𝐵 = 𝑔
𝑘𝐵 𝑚𝑜𝑑 𝑝, 
𝑆𝐴 = (𝑦𝐵)
𝑥𝐴 𝑚𝑜𝑑 𝑝, 𝐸𝐴1 = 𝐻(𝑅𝐴‖𝑆𝐴), 𝑆𝐵 = (𝑦𝐴)
𝑥𝐵 𝑚𝑜𝑑 𝑝, 𝐸𝐵1 = 𝐻(𝑅𝐵‖𝑆𝐵) 
Nếu: �̅�𝐴1= 𝐻(𝑅𝐴‖𝑆𝐵), �̅�𝐵1= 𝐻(𝑅𝐵‖𝑆𝐴), 𝐾𝐴𝐵 = (𝑅𝐵)
𝑘𝐴 𝑚𝑜𝑑 𝑝, 
𝐾𝐵𝐴 = (𝑅𝐴)
𝑘𝐵 𝑚𝑜𝑑 𝑝, 𝐸𝐴2 = 𝐻(𝐾𝐴𝐵‖𝑆𝐴), 𝐸𝐵2 = 𝐻(𝐾𝐵𝐴‖𝑆𝐵) thì: 
�̅�𝐴1 = 𝐸𝐴1, �̅�𝐵1 = 𝐸𝐵1, 𝐾𝐴𝐵=𝐾𝐵𝐴 và 𝐸𝐴2 = 𝐸𝐵2 
Chứng minh: 
Từ (1b), (3a) ta có: 
𝑆𝐴 = (𝑦𝐵)
𝑥𝐴 𝑚𝑜𝑑 𝑝 = (𝑔𝑥𝐵 𝑚𝑜𝑑 𝑝)𝑥𝐴 𝑚𝑜𝑑 𝑝 = 𝑔𝑥𝐴.𝑥𝐵 𝑚𝑜𝑑 𝑝 (8) 
Mặt khác, từ (1a) và (3b) ta lại có: 
𝑆𝐵 = (𝑦𝐴)
𝑥𝐵 𝑚𝑜𝑑 𝑝 = (𝑔𝑥𝐴 𝑚𝑜𝑑 𝑝)𝑥𝐵 𝑚𝑜𝑑 𝑝 = 𝑔𝑥𝐴.𝑥𝐵 𝑚𝑜𝑑 𝑝 (9) 
Từ (8) và (9) suy ra: 
𝑆𝐴 = 𝑆𝐵 (10) 
Từ (4a), (5b) và (10) ta có: 
𝐸𝐴1 = 𝐻(𝑅𝐴‖𝑆𝐴) = 𝐸𝐴1 = 𝐻(𝑅𝐴‖𝑆𝐵) = �̅�𝐴1 (11) 
Tương tự, từ (4b), (5a) và (10) ta cũng có: 
Nghiên cứu khoa học công nghệ 
 Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 83 
𝐸𝐵1 = 𝐻(𝑅𝐵‖𝑆𝐵) = 𝐻(𝑅𝐵‖𝑆𝐴) = �̅�𝐵1 (12) 
Từ (6a) và (2b) ta có: 
𝐾𝐴𝐵 = (𝑅𝐵)
𝑘𝐴 𝑚𝑜𝑑 𝑝 = (𝑔𝑘𝐵 𝑚𝑜𝑑 𝑝)𝑘𝐴 𝑚𝑜𝑑 𝑝 = 𝑔𝑘𝐵.𝑘𝐴 𝑚𝑜𝑑 𝑝 (13) 
Từ (2a) và (6b) ta lại có: 
𝐾𝐵𝐴 = (𝑅𝐴)
𝑘𝐵 𝑚𝑜𝑑 𝑝 = (𝑔𝑘𝐴 𝑚𝑜𝑑 𝑝)𝑘𝐵 𝑚𝑜𝑑 𝑝 = 𝑔𝑘𝐴.𝑘𝐵 𝑚𝑜𝑑 𝑝 (14) 
Từ (13) và (14) suy ra: 
𝐾𝐴𝐵= 𝐾𝐵𝐴 (15) 
Từ (7a), (7b), (10) và (15) suy ra: 
𝐸𝐴2 = 𝐻(𝐾𝐴𝐵‖𝑆𝐴) = 𝐸𝐴2 = 𝐻(𝐾𝐵𝐴‖𝑆𝐵) = 𝐸𝐵2 (16) 
(11), (12), (15) và (16) là những điều cần chứng minh. Như vậy, mệnh đề đã được 
chứng minh. 
2.3. Mức độ an toàn của giao thức MTA 20.8 - 01 
Giao thức mới đề xuất bảo đảm đầy đủ các tính chất an toàn của một giao thức trao 
đổi khóa: 
- Xác thực thực thể: ở giao thức này việc kiểm tra điều kiện 
�̅�𝐴1 ≠ 𝐸𝐴1 và �̅�𝐵1 ≠ 𝐸𝐵1 cho phép các đối tượng tham gia trao đổi khóa hoàn toàn có thể 
xác thực được danh tính của nhau. 
- Xác thực khóa hiện: bằng việc kiểm tra điều kiện 𝐸𝐵2 = 𝐸𝐴2 thì A hoàn toàn có thể 
khẳng định B đã tạo được khóa bí mật chia sẻ với mình và B cũng có thể khẳng định 
được điều tương tự như thế với A khi điều kiện: 𝐸𝐴2 = 𝐸𝐵2 thỏa mãn. 
- Tính an toàn khóa đã biết: việc biết một hoặc một số khóa chia sẻ giữa A và B cũng 
không cho phép một đối tượng thứ 3 nào đó có thể tính được các khóa khác đã được thiết 
lập bởi A và B. 
- Tính bí mật về phía trước: việc tính các khóa bí mật chia sẻ đã được thiết lập trước 
đó bởi A và B là không thể thực hiện được, dù các khóa bí mật của A và B (𝑥𝐴, 𝑥𝐵) bị lộ. 
2.4. Hiệu quả thực hiện của thuật toán MTA 20.8 - 01 
Hiệu quả thực hiện của các giao thức trao đổi khóa có thể được đánh giá thông qua số 
phép toán cần thực hiện hay tổng thời gian cần thực hiện các phép toán để thiết lập được 
khóa bí mật chia sẻ giữa 2 bên A và B. Để so sánh hiệu quả thực hiện của giao thức mới 
đề xuất với các giao thức trao đổi khóa có tích hợp chữ ký số [4-9], ở đây qui ước sử 
dụng các ký hiệu: 
Texp : Thời gian thực hiện một phép toán mũ modul; 
Tinv : Thời gian thực hiện một phép toán mũ nghịch đảo modul; 
Th : Thời gian thực hiện hàm băm (hash function). 
Tmul : Thời gian thực hiện một phép toán nhân modul; 
a) Thời gian thực hiện của giao thức Arazi [4]: 
Thời gian tính toán của bên A cho một lần thiết lập là: 
Thời gian tính (𝑅𝐴, 𝑆𝐴) là: (Texp + Th + Tinv + 2Tmul) 
Thời gian thực hiện kiểm tra (𝑅𝐵, 𝑆𝐵): (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính khóa 𝐾 là: (Texp) 
Thời gian thực hiện: (4Texp + 2Th + 2Tinv + 5Tmul ) 
Công nghệ thông tin 
 84 N. V. Thái, , Đ. T. B. Ngọc, “Giao thức trao đổi khóa an toàn  hệ mật khóa đối xứng.” 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính toán cần 
thiết để hoàn thành giao thức là: (8Texp + 4Th + 4Tinv + 10Tmul). 
b) Thời gian thực hiện của giao thức Harn [5]: 
Thời gian tính toán của bên A cho một lần thiết lập là: 
Thời gian tính (𝑚𝐴1, 𝑚𝐴2, 𝑆𝐴) là: (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính 𝑟𝐵 là: (Tmul) 
Thời gian thực hiện kiểm tra (𝑟𝐵, 𝑠𝐵): (2Texp + Th + Tinv + 3Tmul) 
Thời gian tính khóa (𝐾𝐴𝐵1, 𝐾𝐴𝐵2, 𝐾𝐴𝐵3) là: (3Texp) 
Thời gian thực hiện: (7Texp + 2Th + 2Tinv + 7Tmul) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính toán cần 
thiết để hoàn thành giao thức là: (14Texp + 4Th + 4Tinv + 14Tmul). 
c) Thời gian thực hiện của giao thức Phan [6]: 
Thời gian tính toán các bước của bên A và B là: 
Bước 1 (A): 2Texp 
Bước 2 (B): (4Texp + Th + Tinv + 3Tmul) 
Bước 3 (A): (4Texp + 2Th + 2Tinv + 6Tmul) 
Bước 4 (B): (2Texp + Th + Tinv + 3Tmul) 
Tổng thời gian thực hiện: (12Texp + 4Th + 4Tinv + 12Tmul ) 
d) Thời gian thực hiện của giao thức DH-MM-KE [7]: 
Thời gian tính toán các bước của bên A và B là: 
Bước 1 (A): 2Texp 
Bước 2 (B): (6Texp + Th + 2Tmul) 
Bước 3 (A): (7Texp + 2Th + 3Tmul) 
Bước 4 (B): (3Texp + Th + Tmul) 
Tổng thời gian thực hiện: (18Texp + 4Th + 6Tmul ) 
e) Thời gian thực hiện của giao thức DH-MM-KE1 [8]: 
Thời gian tính toán các bước của bên A và B là: 
Bước 1 (A): (3Texp + 2Tmul) 
Bước 2 (B): (7Texp + 2Th + 5Tmul) 
Bước 3 (A): (9Texp + 3Th + 3Tmul) 
Bước 4 (B): (5Texp + Th + 2Tmul) 
Tổng thời gian thực hiện: (24Texp + 6Th + 12Tmul ) 
f) Thời gian thực hiện của giao thức MTA 01.19 - 01 [9]: 
Thời gian tính toán các bước của bên A là: 
Bước 1: (3Texp+ Th) 
Bước 2: (2Texp + 2Th) 
Bước 3: (Th) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính toán cần 
thiết để hoàn thành giao thức là: (10Texp + 8Th). 
g) Thời gian thực hiện của giao thức MTA 20.8 - 01: 
Thời gian tính toán các bước của bên A là: 
Bước 1: (2Texp+ Th) 
Nghiên cứu khoa học công nghệ 
 Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2020 85 
Bước 2: (Texp + 2Th) 
Bên B cần thời gian tương tự để hoàn thành giao thức, vậy thời gian tính toán cần 
thiết để hoàn thành giao thức là: (6Texp + 6Th). 
h) Tổng hợp thời gian thực hiện của các giao thức: 
Tổng hợp thời gian thực hiện của giao thức mới đề xuất MTA 20.8 - 01 và của các 
giao thức trao đổi khóa tích hợp chữ ký số [4 - 8] được chỉ ra trong Bảng 2 như sau: 
Bảng 2. Thời gian thực hiện của các giao thức. 
TT Tên giao thức Tổng thời gian thực hiện 
1 Arazi 8Texp + 4Th + 4Tinv + 10Tmul 
2 Harn 14Texp + 4Th + 4Tinv + 16Tmul 
3 Phan 12Texp + 4Th + 4Tinv + 12Tmul 
4 DH-MM-KE 18Texp + 4Th + 6Tmul 
5 DH-MM-KE1 24Texp + 6Th+ 12Tmul 
6 MTA 01.19 - 01 10Texp + 8Th 
7 MTA 20.8 - 01 6Texp + 6Th 
Kết quả từ bảng 2 cho thấy, hiệu quả thực hiện của MTA 20.8 - 01 cao hơn các giao 
thức trao đổi khóa được thiết kế theo phương pháp tích hợp chữ ký số trong [4-8] và các 
giao thức xây dựng trên tính khó của việc giải đồng thời 2 bài toán khó [7-9]. 
3. KẾT LUẬN 
Bài báo đề xuất xây dựng giao thức trao đổi khóa cho các hệ mật khóa đối xứng từ 
việc phát triển giao thức trao đổi khóa Diffie - Hellman, giao thức mới đề xuất ở đây có 
hiệu quả thực hiện cao hơn các giao thức đã được phát triển trước đó trong khi vẫn bảo 
đảm đầy đủ các tính chất an toàn cần thiết của một giao thức trao đổi khóa. 
TÀI LIỆU THAM KHẢO 
[1]. W. Diffie & M. Hellman, “New Directions in Cryptography”, IEEE Trans. On Info. Theory, 
IT-22(6):644-654, 1976. 
[2]. T. ElGamal (1985), “A public key cryptosystem and a signature scheme based on discrete 
logarithms”, IEEE Transactions on Information Theory. Vol. IT-31, No. 4. pp.469-472. 
[3]. Mark Stamp, Richard M. Low, “Applicd cryptanalysis: Breaking Ciphers in the Real World”, 
John Wiley & Sons, Inc., ISBN 978-0-470-1. 
[4]. B. Arazi (1993), “Integrating a key distribution procedure into the digital signature 
standard”, Electronics Letters, Vol. 29(11), pp.966-967. 
[5]. L. Harn (1995), “Modified key agreement protocol based on the digital signature 
standard”. Electronics Letters, Vol.31(6), pp. 448-449. 
[6]. R. C. W. Phan (2005), “Fixing the integrated Diffie-Hellman DSA key exchange protocol”, 
IEEE CommunicationLetters, Vol.9(6), pp. 570-572. 
[7]. Do Viet Binh, “Authenticated key exchange protocol based on two hard problems”, Tạp chí 
nghiên cứu khoa học và công nghệ quân sự, số 50, tháng 08-2017, trang 147-152. 
[8]. Đỗ Việt Bình, Nguyễn Hiếu Minh, “ Phát triển giao thức trao đổi khóa an toàn dựa trên hai 
bài toán khó”, Tạp chí nghiên cứu khoa học và công nghệ quân sự, Số Đặc san CNTT, 11 - 
2018, trang 156-163. 
[9]. Nguyễn Vĩnh Thái, Lưu Hồng Dũng, “Xây dựng giao thức trao đổi khóa an toàn dựa trên 
tính khó của việc giải đồng thời hai bài toán logarit rời rạc và phân tích số/khai căn cho các 
hệ mật khóa đối xứng”, Tạp chí nghiên cứu khoa học và công nghệ quân sự, Số Đặc san 
CNTT, 04 - 2019, trang 8-15. 
Công nghệ thông tin 
 86 N. V. Thái, , Đ. T. B. Ngọc, “Giao thức trao đổi khóa an toàn  hệ mật khóa đối xứng.” 
ABSTRACT 
THE KEY EXCHANGE PROTOCOLS 
FOR SYMMETRIC - KEY CRYPTOSYSTEMS 
In this paper, a protocol exchanging keys is proposed for Symmetric – Key 
Cryptosystems developed from the Diffie-Hellman protocol. The new protocol does not use 
digital signatures for authentication as previously developed protocols, thereby improving 
the efficiency of the algorithm, but still ensuring the full properties of a secure key 
exchange protocol. 
Keywords: Key Establishment; Key Agreement Protocols; Key Exchange Protocol; Symmetric-Key Cryptographic 
Algorithm; Symmetric - Key Cryptosystems. 
Nhận bài ngày 22 tháng 10 năm 2020 
Hoàn thiện ngày 10 tháng 12 năm 2020 
Chấp nhận đăng ngày 15 tháng 12 năm 2020 
Địa chỉ: 1Viện Công nghệ thông tin/Viện Khoa học và Công nghệ quân sự; 
2Học viện Kỹ thuật quân sự. 
3Khoa CNTT/Trường ĐH Công nghệ thông tin và Truyền thông/Đại học Thái Nguyên. 
*Email: nguyenvinhthai@gmail.com. 

File đính kèm:

  • pdfgiao_thuc_trao_doi_khoa_an_toan_hieu_qua_cho_cac_he_mat_khoa.pdf