Tải bản đầy đủ (.pdf) (90 trang)

Nghiên cứu giao thức trao đổi khóa EKE trên đường cong Elliptic có mã hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.45 MB, 90 trang )

BỘ THƠNG TIN VÀ TRUYỀN THƠNG
HỌC VIỆN BƯU CHÍNH VIỄN THƠNG
------

ĐỒ ÁN TỐT NGHIỆP

Đề tài

TÌM HIỂU, THỰC THI GIAO THỨC TRAO ĐỔI KHÓA CÓ
MÃ HÓA EKE TRÊN ĐƯỜNG CONG ELLIPTIC

Giảng viên hướng dẫn: TS. Trần Quan Huy
Sinh viên thực hiện:

Mai văn Tuấn

Lớp:

K26

Khóa:

2019 – 2022

Chun ngành:

CƠNG NGHỆ THƠNG TIN

Hà Nội, 2022



BỘ THƠNG TIN VÀ TRUYỀN THƠNG
HỌC VIỆN BƯU CHÍNH VIỄN THƠNG
------

ĐỒ ÁN TỐT NGHIỆP

Đề tài

TÌM HIỂU, THỰC THI GIAO THỨC TRAO ĐỔI KHÓA CÓ
MÃ HÓA EKE TRÊN ĐƯỜNG CONG ELLIPTIC

Giảng viên hướng dẫn: TS. Trần Quan Huy
Sinh viên thực hiện:

Mai văn Tuấn

Lớp:

K26

Khóa:

2019 – 2022

Chun ngành:

CƠNG NGHỆ THƠNG TIN

Hà Nội, 2022



LỜI CẢM ƠN
Qua thời gian tìm hiểu và nghiên cứu, em đã hồn thành đồ án tốt nghiệp của
mình. Để có thể hồn thành đồ án này, đầu tiên em xin gửi lời cảm ơn chân thành tới
thầy giáo TS. Trần Quan Huy đã tận tình hướng dẫn giúp đỡ em trong quá trình nghiên
cứu và làm đồ án.
Em xin bày tỏ lịng biết ơn sâu sắc tới tồn thể thầy, cơ trường Học viện bưu
chính viễn thơng, đặc biệt là các thầy, cô giáo trong Khoa cntt đã dạy bảo, truyền đạt
những kiến thức quý giá cho em trong suốt quãng thời gian 3 năm học tập, rèn luyện
tại trường. Kiến thức mà các thầy, cô đã truyền đạt khơng chỉ là nền tảng cho q trình
nghiên cứu và làm đồ án tốt nghiệp mà còn là hành trang quý báu để em bước vào thực
tế công việc sau khi ra trường.
Em xin gửi lời cảm ơn đến gia đình, bạn bè, đồng chí đồng đội đã ln bên cạnh,
giúp đỡ em trong thời gian qua.
Trong quá trình thực hiện đồ án khơng tránh khỏi có những thiếu sót. Em mong
nhận được sự giúp đỡ, đóng góp ý kiến từ thầy cơ, bạn bè, đồng chí đồng đội để em có
thể tiếp tục đi sâu, tìm hiểu và mở rộng thêm nhằm hoàn thiện và phát triển đề tài.
Em xin chân thành cảm ơn!

i


LỜI CAM ĐOAN
Tôi xin cam đoan đồ án này là do tôi tự nghiên cứu dưới sự hướng dẫn của thầy
TS. Trần Quan Huy
Để hồn thành đồ án này, tơi chỉ sử dụng tài liệu đã ghi trong mục tài liệu tham
khảo, ngồi ra khơng sử dụng bất cứ tài liệu nào khác mà không được ghi.
Nếu sai tôi xin chịu mọi hình thức kỷ luật theo quy định của Học viện.
Hà Nội, ngày tháng năm 2022
Học viên thực hiện


Mai văn Tuấn

ii


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................ i
LỜI CAM ĐOAN...................................................................................................... ii
MỤC LỤC ................................................................................................................ iii
DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................... v
DANH MỤC HÌNH VẼ ........................................................................................... vi
LỜI NĨI ĐẦU ........................................................................................................ vii
CHƯƠNG 1: TỔNG QUAN VỀ TRAO ĐỔI KHOÁ TRÊN ĐƯỜNG CONG
ELLIPTIC ................................................................................................................ 1
1.1. Lý thuyết về đường cong Elliptic ....................................................................... 1
1.1.1. Khái niệm đường cong Elliptic ....................................................................... 1
1.1.2. Phép toán trên đường cong Elliptic ................................................................. 1
1.1.3. Hệ mật trên đường cong Elliptic ..................................................................... 1
1.1.4. Bài toàn logarit rời rạc trên đường cong Elliptic (ECDLP) ............................ 3
1.1.5. Phép nhân với số nguyên và bài toán logarit rời rạc trên đường cong Elliptic.4
1.2. Giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic ............. 5
1.2.1. Lược đồ giao thức thỏa thuận khóa Diffie – Hellman nguyên thủy ............... 5
1.2.2. Lược đồ giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic
................................................................................................................................... 6
1.2.3. Vấn đề mất an toàn của giao thức trao đổi khóa trên đường cong Elliptic ..... 8
1.3. Kết luận chương 1 ............................................................................................ 11
CHƯƠNG 2: GIAO THỨC TRAO ĐỔI KHÓA CÓ MÃ HÓA EKE ............. 12
2.1. Giới thiệu .......................................................................................................... 12
2.2. Giao thức EKE trên trường hữu hạn ................................................................ 13

2.2.1. Giao thức trao đổi khóa có mã hóa EKE trên trường hữu hạn ..................... 13
2.2.2. Các ví dụ về hoạt động của giao thức trao đổi khóa có mã hóa EKE trên trường
hữu hạn .................................................................................................................... 15
2.3. Giao thức EKE trên đường cong Elliptic ......................................................... 16
2.3.1. Giao thức trao đổi khóa có mã hóa EKE trên đường cong Elliptic .............. 16
2.3.2. Các bài toán cụ thể về đường cong Elliptic .................................................. 18
2.4. Ứng dụng của giao thức EKE. ......................................................................... 19
2.5. Vấn đề an toàn các giao thức EKE................................................................... 20
iii


2.6. Kết luận chương 2 ............................................................................................ 21
CHƯƠNG 3: CÀI ĐẶT MÔ PHỎNG GIAO THỨC EKE TRÊN ĐƯỜNG
CONG ELLIPTIC ................................................................................................. 23
3.1. Phân tích thiết kế chương trình cài đặt mơ phỏng ........................................... 23
3.1.1. Biểu đồ Use case tổng quát ........................................................................... 23
3.1.2. Biểu đồ phân rã chức năng tạo khóa ............................................................. 23
3.1.3. Biểu đồ phân rã chức năng bên gửi ............................................................... 24
3.1.4. Biểu đồ phân rã chức của bên nhận .............................................................. 25
3.2. Phân tích luồng thơng tin truyền nhận ............................................................. 27
3.3. Modun cài đặt ................................................................................................... 29
3.3.1. Modun đường cong SECP 256k1 .................................................................. 29
3.3.2. Modun mã hóa và giải mã ............................................................................. 29
3.3.3. Modun hàm dẫn xuất khóa PBKDF2 ............................................................ 32
3.4. Kết quả thử nghiệm .......................................................................................... 33
3.4.1. Giao diện chương trình hồn thiện................................................................ 33
3.4.2. Kết quả chạy thử nghiệm .............................................................................. 36
3.5. Phân tích độ an toàn của các tham số cài đặt ................................................... 40
3.5.1. Độ an tồn của thuật tốn mã khối AES ....................................................... 40
3.5.2. Độ an toàn của tham số SECP....................................................................... 41

3.5.3. Độ an toàn của tham số PBKDF2-HMAC-SHA256 .................................... 41
3.6. Kết luận chương 3 ............................................................................................ 41
KẾT LUẬN ............................................................................................................. 42
TÀI LIỆU THAM KHẢO ....................................................................................... 43

iv


DANH MỤC CÁC TỪ VIẾT TẮT

Viết tắt

Tiếng Anh

Tiếng việt

AES

Advanced Encryption Standard

Chuẩn mã hóa tiên tiến

CCM

Counter with Cipher Block Chaining
Message Authentication Code

Chế độ bộ đếm kết hợp mã xác
thực CBC


D-H

Diffie – Hellman

Giao thức thỏa thuận khóa

EAP

Extensible Authentication
Protocol

Giao thức xác thực mở rộng

ECB

Electronic Codebook

Chế độ sách mã điện tử

ECC

Elliptic Curve Cryptography

Mật mã đường cong Elliptic

EKE

Encrypted Key Exchange

Trao đổi khóa được mã hóa


ECDLP

Elliptic Curve Discrete Logarithm
Problem

Bài toán Logarithm rời rạc trên
đường cong Ellliptic

ECIES

Elliptic Curve Integrated Encryption
Scheme

Lược đồ mã hoá kết hợp

Hashed Message Authentication Code

Mã xác thực thông báo dựa trên
hàm băm

Key Derivation Function

Hàm dẫn xuất khóa

Password-Based Key Derivation
Function

Hàm dẫn xuất khóa dựa trên mật
khẩu


Rivest–Shamir–Adleman

Thuật toán RSA

Standards for Efficient Cryptography

Tiêu chuẩn đánh giá mật mã
hiệu quả

SHA

Secure Hash Algorith

Thuật toán hàm băm SHA

NIST

National Institure of Standard and
Technology

Viện tiêu chuẩn công nghệ Quốc
gia Hoa kỳ

HMAC
KDF
PBKDF

RSA
SECP


v


DANH MỤC HÌNH VẼ
Hình 1.1. Sơ đồ hoạt động của hệ mật trên đường cong Elliptic ................................... 2
Hình 1.2. Lược đồ giao thức trao đổi khóa Diffie – Hellman nguyên thủy ................... 5
Hình 1.3. Lược đồ giao thức thỏa thuận Diffie – Hellman ............................................ 7
Hình 2.1 Giao thức EKE trên trường hữu hạn ............................................................. 13
Hình 2.2. EKE với Elliptic Curves ECC ................. 21Error! Bookmark not defined.
Hình 2.3. Trao đổi EAP-EKE thành cơng .................................................................... 19
Hình 2.4. Q trình thực thi EAP-EKE........................................................................ 20
Hình 3.1 Use case tổng quát ......................................................................................... 23
Hình 3.2. Phân rã chức năng tạo khóa ......................................................................... 24
Hình 3.3. Phân rã chức năng của bên gửi .................................................................... 25
Hình 3.4. Phân rã chức năng của bên nhận .................................................................. 26
Hình 3.5. Luồng thơng tin truyền nhận ........................................................................ 27
Hình 3.6. Tham số đường cong Secp256r1 .................................................................. 29
Hình 3.7. Lưu đồ thuật tốn mã hố............................................................................. 30
Hình 3.8. Lưu đồ thuật tốn giải mã ............................................................................ 31
Hình 3.9. Chế độ hoạt động sách mã điện tử ECB ...................................................... 32
Hình 3.10. Giao diện tạo khóa ..................................................................................... 34
Hình 3.11. Giao diện bên gửi ....................................................................................... 35
Hình 3.12. Giao diện bên nhận..................................................................................... 36
Hình 3.13. Tạo mật khẩu và băm mật khẩu ................................................................. 37
Hình 3.14. Sinh số ngẫu nhiên a và tính Ep(aG).......................................................... 37
Hình 3.15. Sinh số ngẫu nhiên b và tính Ep(bG) ......................................................... 38
Hình 3.16. Tính khố bí mật dùng chung..................................................................... 38
Hình 3.17. Bob tính thơng điệp chào ........................................................................... 39
Hình 3.18. Alice tính thơng điệp chào.......................................................................... 39

Hình 3.19. Hai bên trao đổi khố thành cơng .............................................................. 40
Hình 3.20. Độ an tồn của thuật toán mã khối AES .................................................... 40

vi


LỜI NĨI ĐẦU
Thời gian gần đây các cuộc tấn cơng mạng đang gia tăng cả về số lượng và quy
mô, diễn ra ngày càng tinh vi và phức tạp. Nhiều cuộc tấn cơng có chủ đích nhằm vào
các cơ quan Chính phủ, các hệ thống thơng tin quan trọng trong nhiều lĩnh vực. Hầu
hết các doanh nghiệp còn chưa chú trọng hay có nhận thức đầy đủ về các vấn đề an
ninh mạng và dễ bị tấn công vào các lỗ hổng.
Mật mã là một biện pháp chính trong việc đảm bảo các dịch vụ an tồn thơng tin
như: bí mật, xác thực, toàn vẹn và chống chối bỏ. Để việc sử dụng mật mã có thể đảm
bảo được an tồn thơng tin thì cần những u cầu về thuật tốn, các tham số sử dụng
và khóa. Trong đó, khóa là một thành phần rất quan trọng trong việc đảm bảo an tồn
của hệ mật sử dụng. Bài tốn trao đổi khóa được đặt ra giữa các bên liên lạc và có rất
nhiều giao thức trao đổi khóa khác nhau được nghiên cứu áp dụng vào hệ thống công
nghệ thông tin ngày nay.
Trao đổi khóa được mã hóa EKE được tạo ra bởi Steven M. Bellovin và Michael
Meritt có sử dụng cơ chế xác thực bên liên lạc và mã hóa các thơng điệp trao đổi khóa
Diffie-Hellman. Điều này khắc phục được những nhược điểm của giao thức trao đổi
khóa Diffie-Hellman như khơng có cơ chế xác thực và bị tấn công xen giữa. Với những
lý do như vậy nên tơi đã chọn đề tài “Tìm hiều, thực thi giao thức trao đổi khóa có
mã hóa EKE trên đường cong Elliptic” nhằm hiểu sâu hơn về giao thức trao đổi khóa
này.

vii



CHƯƠNG 1: TỔNG QUAN VỀ TRAO ĐỔI KHOÁ
TRÊN ĐƯỜNG CONG ELLIPTIC
1.1. Lý thuyết về đường cong Elliptic
1.1.1. Khái niệm đường cong Elliptic
Phương trình đường cong Elliptic sử dụng trong mật mã thường dùng dạng
weierstrass:
𝑦 2 = 𝑥 3 + 𝑎𝑥 + 𝑏(𝑚𝑜𝑑 𝑝)
Với điều kiện: 4𝑎3 + 27𝑏2 (𝑚𝑜𝑑 𝑝) ≠ 0. Đường cong trên có thể được ký hiệu
là 𝐸𝑝 (𝑎, 𝑏).
1.1.2. Phép toán trên đường cong Elliptic
Giả sử 𝑃 = (𝑥1 , 𝑦1 ), 𝑄 = (𝑥2 , 𝑦2 ) là các điểm trong nhóm 𝐸𝑝 (𝑎, 𝑏), O là điểm
vô cùng. Các quy tắc đối với phép cộng trên nhóm con E p ( a, b ) như sau:
(1) 𝑃 + 𝑂 = 𝑂 + 𝑃 = 𝑃.
(2) Nếu 𝑥2 = 𝑥1 và 𝑦2 = −𝑦1 , tức là 𝑃 = (𝑥1 , 𝑦1 ) và 𝑄 = (𝑥2 , 𝑦2 ) =
(𝑥1 , −𝑦1 ) = −𝑃 thì 𝑃 + 𝑄 = 𝑂.
(3) Nếu 𝑄 ≠ −𝑃 thì tổng 𝑃 + 𝑄 = (𝑥3 , 𝑦3 ) được cho bởi:
𝑥3 = (𝜆2 − 𝑥1 − 𝑥2 ) 𝑚𝑜𝑑 𝑝
𝑦3 = (𝜆(𝑥1 − 𝑥3 ) − 𝑦1 ) 𝑚𝑜𝑑 𝑝
Trong đó:
𝑦2 -y1
khi P ≠ 𝑄
𝑥2 -x1
𝜆=
3x12 +a
𝑘ℎ𝑖 P=Q
{ 2y1
1.1.3. Hệ mật trên đường cong Elliptic
Năm 1993, Demytko đưa ra một thuật toán mới tương tự như RSA cho các
đường cong Elliptic trên Z n , Menezes và Vanstone đã đưa ra phương pháp thực thi trên
các thiết bị phần cứng để cải thiện các phép tính tốn trên Elliptic trên một trường hữu

1


hạn. Những năm 1997, 1998 việc tìm ra các hệ mã trên đường cong Elliptic ngày càng
thu hút nhiều sự chú ý và một số thuật toán đã được đưa thành chuẩn trong các RFC
[1].
Sơ đồ hoạt động của hệ mật trên đường cong Elliptic được mơ tả theo hình 1:
Đầu
Đầu mối
mối A
A
DA = a A

R

Mã hóa
PM =

( kG ) , ( PR + kPB ) 

Lấy EB

Công bố EA

M

Kênh
Kênh truyền
truyền
tin

tin

M

Nguồn
Nguồn khóa
khóa
Tham
Tham số
số chung
chung của
của hệ
hệ mật
mật
ECC:
ECC: E p ( a, b ) , G  E p ( a, b )
Khóa
Khóa cơng
cơng khai:
khai:
E A = PA
EB = PB

Giải mã
PR =

R

( PR + kPB ) − aB (kG)


Đầu
Đầu mối
mối B
B
DB = aB

Cơng bố EB

Hình 1.1. Sơ đồ hoạt động của hệ mật trên đường cong Elliptic
Theo sơ đồ hoạt động của hệ mật trên đường cong Elliptic, đầu mối A cần truyền
thông báo mật R cho đầu mối B qua kênh truyền tin, có sử dụng hệ mật trên đường
cong Elliptic để bảo mật thơng tin. Khi đó, hệ mật trên đường cong Elliptic được xây
dựng như sau:
Sinh tham số chung cho hệ mật: Khi sử dụng hệ mật Elliptic để bảo mật thông
tin cho mạng liên lạc, các tham số sau cần phải được quy ước chung cho hệ mật:
- Chọn một đường cong Elliptic 𝐸𝑝 (𝑎, 𝑏). Việc chọn một đường cong Elliptic sẽ
ảnh hưởng đến tốc độ, tính hiệu quả, độ dài khóa và tính an tồn của hệ mật trên đường
cong này.
- Chọn điểm sinh (điểm cơ sở) 𝐺 ∈ 𝐸𝑝 (𝑎, 𝑏). Điểm 𝐺 có cấp 𝑛, 𝑛𝐺 = 0. Để an
tồn thì n phải là một số nguyên tố lớn.
Các tham số của hệ mật: đường cong 𝐸𝑝 (𝑎, 𝑏) và điểm sinh 𝐺 ∈ 𝐸𝑝 (𝑎, 𝑏) được
đưa ra công khai.
Trong hệ mật này, mỗi bản rõ 𝑅 sẽ được biểu diễn lại thành một điểm 𝑃𝑅 trong
tập hữu hạn các điểm của nhóm 𝐸𝑝 (𝑎, 𝑏) mà nhờ đó chúng ta có thể thực hiện được các
tính tốn trên 𝐸𝑝 (𝑎, 𝑏).
2


Lược đồ tạo khóa: Mỗi đầu mối liên lạc (mỗi người dùng) tạo một cặp khóa, bao
gồm một khóa cơng khai và một khóa riêng bí mật tương ứng theo các bước sau:

1. Chọn một số nguyên ngẫu nhiên 𝑎, 2 ≤ 𝑎 ≤ 𝑛 − 2.
2. Tính giá trị của điểm P như sau: 𝑃 = 𝑎𝐺.
3. Đặt𝐾 = {(𝑎, 𝑃): 𝑃 = 𝑎𝐺}ta có khóa cơng khai là 𝐸𝐾 = 𝑃, khóa riêng bí mật
là 𝐷𝐾 = 𝑎
Lược đồ mã hóa: A phải mã hóa bản rõ R để tạo bản mã M gửi cho B theo các
bước sau:
1. Nhận khóa cơng khai 𝐸𝐵 = 𝑃𝐵 của B.
2. Biểu diễn bản rõ R thành một điểm PR trong tập hữu hạn các điểm của nhóm
𝐸𝑝 (𝑎, 𝑏).
3. Chọn số nguyên ngẫu nhiên bí mật 𝑘, 2 ≤ 𝑘 ≤ 𝑝 − 2.
4. Tính cặp điểm của bản mã PM bằng cách dùng khóa cơng khai PB của B:
𝑃𝑀 = [(𝑘𝐺), (𝑃𝑅 + 𝑘𝑃𝐵 )]

(2)

5. Gửi cặp điểm bản mã PM cho B.
Lược đồ giải mã: Để khôi phục bản rõ R từ bản mã PM đã nhận. B phải dùng
khóa riêng DB = aB và thực hiện phép tính sau:
1. Nhân điểm thứ nhất (kG ) với khóa riêng aB của B và lấy kết quả nhận được
trừ đi điểm thứ hai trong cặp điểm của PM :
(𝑃𝑅 + 𝑘𝑃𝐵 ) − 𝑎𝐵 (𝑘𝐺) = (𝑃𝑅 + 𝑘𝑎𝐵 𝐺) − 𝑎𝐵 (𝑘𝐺) = 𝑃𝑅

(3)

Đây chính là điểm tương ứng với bản rõ R . Chỉ có B mới có khóa riêng aB và mới
có thể tách 𝑎𝐵 (𝑘𝐺) khỏi điểm thứ hai của 𝑃𝑀 để thu thông tin về bản rõ 𝑃𝑅 .
2. Ánh xạ điểm - điểm bản rõ PR trở lại thông báo gốc R .
1.1.4. Bài toàn logarit rời rạc trên đường cong Elliptic (ECDLP)
Định nghĩa: Cho 𝐸là một đường cong Elliptic và 𝐺 ∈ 𝐸 là một điểm có cấp 𝑛.
3



Cho điểm 𝑃 ∈ 𝐸, hãy tìm số nguyên dương 𝑥, 2 ≤ 𝑥 ≤ 𝑛 − 2 sao cho 𝑃 = 𝑥𝐺.
Hiện nay, chưa có thuật tốn nào được xem là hiệu quả để giải bài toán này. Để giải bài
toán logarit rời rạc trên đường cong Elliptic, cần phải kiểm tra tất cả các giá trị của 𝑥 ∈
[2, 𝑛 − 2]. Nếu điểm 𝐺 được chọn cẩn thận với 𝑛 rất lớn thì việc giải bài tốn ECDLP
xem như khơng khả thi. Việc giải bài tốn ECDLP được đánh giá là khó hơn việc giải
bài tốn DLP trên trường hữu hạn.
1.1.5. Phép nhân với số nguyên và bài toán logarit rời rạc trên đường cong Elliptic.
Giả sử 𝐺 là một điểm trên đường cong elliptic 𝐸 sinh ra nhóm cyclic < 𝐺 >
Có lực lượng hữu hạn 𝑛 đối với phép cộng “+” của nhóm. Khi đó, mỗi điểm 𝑄
của < 𝐺 > có biểu diễn 𝑄 = 𝑘𝐺, 𝑘 ∈ 𝑍.
Chú ý: 0.𝑄 = ∞ và (−𝑘)𝐺 = 𝑘(−𝐺). Do đó, ta chỉ xét phép nhân:
𝑄 = 𝑘𝐺, 𝑘 ∈ 𝑍 + .
Ánh xạ nhân với một số ngun có thể dễ dàng được tính nhờ sử dụng kỹ thuật
nhân đôi và cộng. Giả sử 𝑘 là một số nguyên dương bất kỳ có biểu diễn nhị phân 𝑘 =
𝑘𝑛 2𝑛 + 𝑘𝑛−1 2𝑛−1 + ⋯ + 𝑘1 2 + 𝑘0, với 𝑘𝑛 = 1. Để xác định 𝑄 = 𝑘𝐺 ta có thể thiến
hành như sau:
-𝑄=𝑂
- Với 𝑖 = 𝑛 giảm đến 𝑖 = 0
(1) 𝑄 ≔ 𝑄 + 𝑄
(2) Nếu 𝑘𝑖 = 1 thì 𝑄 ≔ 𝑄 + 𝐺
Do vậy, một số 𝑘 chọn ngẫu nhiên ta có thể mong đợi việc tính 𝑘𝐺 sẽ dẫn
đến (𝑛 + 1) phép nhân đôi điểm trên đường cong và cỡ (𝑛 + 1)/2 phép toán kiểu
(𝑄𝑗 , 𝐺) → 𝑄𝑗 + 𝐺.
Ví dụ: Cho đường cong Elliptic 𝑦 2 = 𝑥 3 + 4𝑥 + 11(mod 73). Giả sử 𝑃 =(6,18)
thuộc đường cong trên. Tính 19𝑃.
+ Khởi tạo: 𝑄 = ∞; 𝑘 = 19 = 100112
4



𝑖

4

3

2

1

0

𝑘𝑖

1

0

0

1

1

2𝑃 ∙ 2 = 4𝑃 4𝑃 ∙ 2 + 𝑃
= (13,17)
= 9𝑃
∙2
= (40,71)


9𝑃 ∙ 2 + 𝑃

𝑄 = 𝑃 = (6,18)

2𝑃
=
(6,18) ∙ 2
= (13,17)

= (47,56)

= 19𝑃
= (18,32) ∙ 2

∙ 2 + (6,18) + (6,18)
= (18,32)

= (23,15)

+ Vậy 𝑄 = 19𝑃 = (23,15)
1.2. Giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic
1.2.1. Lược đồ giao thức thỏa thuận khóa Diffie – Hellman nguyên thủy
Giao thức thỏa thuận khóa Diffie – Hellman dùng để thiết lập một khóa chia sẻ
bí mật giữa người gửi và người nhận mà khơng cần dùng đến mã hóa cơng khai. Độ an
tồn của giao thức thỏa thuận khóa phụ thuộc vào bài tốn tính Logarith rời tạc.
Alice

Bob
a


a R [0, p − 1]

g mod p

K = (gb ) a mod p

g mod p

b

b R [0, p − 1]

K = (g a )b mod p
= g ab mod p

= g ab mod p

Hình 1.2. Lược đồ giao thức trao đổi khóa Diffie – Hellman nguyên thủy
Trước tiên Alice và Bob sẽ thống nhất sử dụng chung một số nguyên tố p và một
số g nhỏ hơn p và là căn nguyên thủy của p ( nghĩa là phép toán gx mod p khả nghịch ).
Hai số p và g khơng cần giữ bí mật. Sau đó Alice chọn một số a và giữ bí mật số a này.
Bob cũng chọn số b và giữ bí mật số b. Tiếp theo Alice tính và gửi ga mod p cho Bob,
Bob tính và gửi gb mod p cho Alice.
Trên cơ sở đó Alice tính :
(𝑔𝑏 )𝑎 𝑚𝑜𝑑 𝑝 = 𝑔𝑎𝑏 𝑚𝑜𝑑 𝑝
5


Bob tính :

(𝑔𝑎 )𝑏 𝑚𝑜𝑑 𝑝 = 𝑔𝑎𝑏 𝑚𝑜𝑑 𝑝
Do đó Alice và Bob có chung giá trị gab mod p. Giá trị này có thể dùng làm khóa
cho phép mã hóa đối xứng.
Như vậy, kẻ mã thám Oscar có thể có được g, p, ga và gb . Muốn tính được gab
mod p , Oscar khơng thể dùng cách:
𝑔𝑎 𝑔𝑏 𝑚𝑜𝑑 𝑝 = 𝑔𝑎+𝑏 𝑚𝑜𝑑 𝑝 ≠ 𝑔𝑎𝑏 𝑚𝑜𝑑 𝑝
Muốn tính được gab mod p, Oscar phải tính được a hoặc b. Tuy vậy, việc tính a
hay b theo công thức:
𝑎 = 𝑙𝑜𝑔𝑔 𝑔𝑎 𝑚𝑜𝑑 𝑝 hay 𝑏 = 𝑙𝑜𝑔𝑔 𝑔𝑏 𝑚𝑜𝑑 𝑝
là khơng khả thi do tính phức tạp của phép tính logarith rời rạc. Vậy Oscar khơng
thể nào tính được gab mod p. Hay nói cách khác, khóa dùng chung được trao đổi bí mật
giữa Alice và Bob.
1.2.2. Lược đồ giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic
Cũng giống như lược đồ thỏa thuận khóa Diffie-Hellman trên trường hữu hạn
(nguyên thủy), lược đồ thỏa thuận khóa Diffie-Hellman trên đường cong Elliptic cũng
cơng khai để dùng chung hai tham số cơ bản: đường cong Ep và điểm sinh 𝐺 ∈ 𝐸𝑝
(Điểm G có cấp n, n là một số nguyên tố lớn).

6


Bob

Alice
Khóa bí mật a

Khóa bí mật b

Khóa cơng khai
Ka = aG


Khóa cơng khai
Kb= bG
Ailce chia sẻ khóa cơng
khai Ka cho Bob
Bob chia sẻ khóa cơng
khai Kb với Alice

Alice tính tốn
aKb = abG

Bob tính tốn
bKa = abG

Hình 1.3. Lược đồ giao thức thỏa thuận Diffie – Hellman
trên đường cong Elliptic
Lược đồ thỏa thuận khóa Diffie-Hellman trên đường cong Elliptic được mơ tả
như sau: Giả sử có 2 người dùng Alice và Bob cần thỏa thuận khóa phiên với nhau,
Alice và Bob sẽ thực hiện giao thức tương tác để thiết lập một khóa mật chung cho
phiên liên lạc:
1. Alice chọn một số ngẫu nhiên 𝑎 ( 2  a  n − 2 ) và đây là khóa riêng của Alice
khơng chia sẻ. Sau đó Alice tính 𝐾𝑎 = 𝑎𝐺 và gửi cho Bob.
2. Tương tự Alice, Bob cũng chọn ngẫu nhiên 𝑏 ( 2  b  n − 2) , giữ bí mật b. Sau
đó Bob tính 𝐾𝑏 = 𝑏𝐺 và gửi cho Alice.
7


3. Alice và Bob cùng tính ra một khóa bí mật:
Alice tính 𝐾𝑎,𝑏 = 𝑎𝐾𝑏 = 𝑎𝑏𝐺
Bob tính 𝐾𝑎,𝑏 = 𝑏𝐾𝑎 = 𝑎𝑏𝐺

Như vậy, kết thúc giao thức tương tác , Alice và Bob có thể cùng tính và dùng
chung một khóa mật chung là 𝐾𝑎,𝑏 = 𝑎𝑏𝐺.
Q trình tính tốn trong giao thức thỏa thuận khóa Diffie – Hellman trên
đường cong Elliptic là chính q trình tính tốn của hệ mật trên đường cong
Elliptic và đã được trình bày trong phần 1.1 lý thuyết về đường cong Elliptic của
chương.
1.2.3. Vấn đề mất an toàn của giao thức trao đổi khóa trên đường cong Elliptic
Sự an tồn của lược đồ trao đổi khóa Diffe-Hellman trên đường cong Elliptic phụ
thuộc vào việc xác định số ngẫu nhiên bí mật k từ các giá trị kP và P. Bài toàn này được
gọi là bài toán Logarit rời rạc trên đường cong Elliptic. Hiện nay, chưa có thuật tốn
nào được xem là hiệu quả để giải quyết bài tốn này, do đó lược đồ này là an toàn đối
với đối phương thụ động. Chúng ta cùng tìm hiểu một số thuật tốn tấn cơng thụ động:
Thuật tốn vét cạn
Trong thuật tốn này người ta tính 𝑃, 2𝑃, 3𝑃, 4𝑃 …chừng nào đạt tới Q thì dừng
lại. Thời gian chạy của thuật tốn trong trường hợp xấu nhất chính là N và đương nhiên
là hàm mũ theo log2N.
Ví dụ: Cho đường cong 𝐸: 𝑦 2 = 𝑥 3 + 𝑥 + 6 𝑚𝑜𝑑 11 các điểm P=(2,7) và
Q=(8,3).
Ta có: 2P = P + P = (2,7) + (2,7) = (5,2);
3P = 2P + P = (5,2) + (2,7) = (8,3) = Q.
Vậy m = 3.
Thuật toán Bước nhỏ - Bước lớn
Thuật toán được phát triển bởi D.Shanks, thuật tốn này địi hỏi xấp xỉ N bước
và chừng

N bộ nhớ. Chú ý rằng ta không cần biết chính xác bậc N của P. Chúng ta
8


chỉ yêu cầu mép cận trên của N. Do đó, nó có hiệu quả với những N cỡ trung bình. Ký

hiệu m = ⌈√𝑁⌉.
Vì giả thiết phương trình 𝑘𝑃 = 𝑄 có nghiệm nên có thể xem 0 < k < N và có
thể biểu diễn:
k=i + jm, với 0 j, i < m (do m2 > N).
Khi đó, kP = Q tương đương với: iP + jmP = Q hay Q − jmP = iP .
Các bước của thuật toán như sau:
(1) Cố định số nguyên m 

N và tính mP. Cụ thể lấy

𝑚 > √(𝑞 + 1) + 2√𝑞 > √𝑁;
(2) Tạo ra và lưu trữ danh sách iP với 0 < i < m.
(3) Tính các điểm 𝑄 − 𝑗𝑚𝑃 với 𝑗 = 0, 1, … , 𝑚 − 1cho đến khi trùng khớp với
một điểm trong danh sách lưu trữ iP thì dừng và lấy giá trị i, j.
(4) Nếu 𝑖𝑃 = 𝑄 − 𝑗𝑚𝑃 thì chúng ta có Q = kP với 𝑘 = 𝑖 + 𝑗𝑚 (𝑚𝑜𝑑 𝑁)
Ví dụ: Cho𝐺 = 𝐸(𝐹79 ), trong đó E được cho bởi:𝑦 2 = 𝑥 3 + 2𝑥 + 3. Tìm m
sao cho: Q = mP với P = (17, 17) và Q = (51, 6).
Theo định lý Hasse’s ta có: q + 1 + 2√𝑞 > N , thế thì có thể lấy:
N  79 + 1 + 2√79 < 100
Do m  √𝑁 nên lấy m = 10 .
Tạo và lưu trữ iP với 0 < i < 10

i

iP

i

iP


i

iP

0

0

4

(15, 13)

8

(25, 73)

1

(17, 17)

5

(51, 73)

9

(7, 53)

9



2

(45, 62)

6

(20, 71)

3

(35, 50)

7

(50, 21)

Tính các điểm 𝑄 − 𝑗𝑚𝑃 đối với 𝑗 = 0, 1, … , 𝑚 − 1cho đến khi trùng khớp
với một điểm trong danh sách lưu trữ iP thì dừng và lấy giá trị i, j.
𝑄 − 0. (10𝑃) = (51, 6)
𝑄 − 1. (10𝑃) = (24, 34)
𝑄 − 2. (10𝑃) = (3, 6)
𝑄 − 3. (10𝑃) = (35, 50) = 3𝑃
Do đó ta có: 𝑖𝑃 = 𝑄 − 𝑗𝑚𝑃 hay 𝑖 = 3, 𝑗 = 3; và
𝑘 = 𝑖 + 𝑗𝑚 (𝑚𝑜𝑑 𝑁) = 3 + 3.10 (𝑚𝑜𝑑 100) = 33
Vậy: 𝑄 = 𝑘𝑃 = 33𝑃 hay (51, 6) = 33.(17, 17).
Do đó, như đã nói ở trên, hiện này chưa có thuật tốn nào được xem là hiệu quả
để giải quyết bài toán Logarit rời rạc trên đường cong Elliptic. Vì vậy, Lược đồ trao đổi
khóa Diffie-Hellman trên đường cong Elliptic là an tồn đối với đối phương thụ động.
Mặt khác, theo Hình1.4 thấy rõ giao thức trao đổi khóa Diffie-Hellman trên

đường cong Elliptic thiếu cơ chế xác thực người dùng. Theo đó, lược đồ là khơng an
tồn đối với đối phương chủ động. Điều này dẫn tới giao thức này bị tổn thương bởi
tấn cơng xen giữa theo mơ hình:

Hình 1.1. Mơ hình tấn cơng xen giữa trong giao thức D-H
trên đường cong Elliptic
10


Cụ thể, Oscar thay a mà Alice định gửi cho Bob bằng a ' , và thay b mà Bob định
gửi cho Alice bằng b ' . Như vậy Oscar có thể tính các khóa phiên được tạo nên giữa
Alice và Oscar, giữa Bob và Oscar (tương ứng là KA,O = b ' aG và KB,O = a ' bG). Lúc
này cả Alice và Bob đều khơng biết rằng mình đang liên lạc với Oscar và dùng những
khóa này mã hóa những thơng báo của mình để gửi cho Oscar. Như vậy Oscar sẽ dịch
được các thông báo của Alice (gửi cho Bob) và Bob (gửi cho Alice), đồng thời O sẽ mã
hóa các thơng báo này bằng khóa phiên đã được thỏa thuận và chuyển tiếp chúng tới
Alice và Bob .
Ngồi ra, lược đồ trao đổi khóa Diffie – Hellman trên đường cong Elliptic còn tồn tại
các điểm yếu:
- Cả hai bên của một phiên liên lạc đều không chắc chắn rằng khơng có người
người có thể tính tốn thơng tin thỏa thuận khóa. Có nghĩa là khơng có cơ chế xác thực
khóa.
- Mỗi một bên của phiên liên lạc khơng chắc chắn rằng đối tác của mình đã thực
sự tính được khóa thỏa thuận hay khơng. Đây là vấn đề xác nhận khóa.
1.3. Kết luận chương 1
Chương 1 đã trình bày một cách chi tiết, rõ ràng về tổng quan về trao đổi khóa
trên đường cong Elliptic. Cụ thể đã trình bày được những nội dung sau:
- Lý thuyết về đường cong Elliptic.
- Giao thức trao đổi khóa trên đường cong Elliptic.
- Vấn đề mất an toàn của giao thức trao đổi khóa trên đường cong

Qua đó có thể thấy nhược điểm của giao thức thỏa thuận khóa Diffie – Hellman
trên đường cong Elliptic là khơng có cơ chế xác thực và bị tấn công xen giữa. Để khắc
phục được nhược điểm này, trao đổi khóa được mã hóa EKE được tạo ra bởi Steven M.
Bellovin và Michael Meritt có sử dụng cơ chế xác thực bên liên lạc và mã hóa các thơng
điệp trao đổi khóa Diffie-Hellman.

11


CHƯƠNG 2: GIAO THỨC TRAO ĐỔI KHÓA CÓ MÃ HÓA EKE
2.1. Giới thiệu
Trao đổi khóa được mã hóa, thường được viết tắt là EKE, được phát minh bởi
Steven M. Bellovin và Michael Merritt vào năm 1992, khi họ làm việc trong Phịng thí
nghiệm AT&T Bell.
Trong giao thức trao đổi khóa có xác thực dựa trên mật khẩu EKE, ít nhất một
bên tham gia sẽ sử dụng mật khẩu chung với một số ngẫu nhiên để tạo khóa cơng khai
tạm thời (một lần) và gửi nó cho một bên thứ hai khác, người nhận có thể sử dụng khóa
cơng khai tạm thời này để tạo một khóa cơng khai khác để gửi cho bên tiếp theo hoặc
gửi lại cho bên đầu tiên. Sau một hoặc nhiều vịng trao đổi khóa cơng khai một lần, các
bên tham gia có thể sử dụng chúng với mật khẩu chung để tạo khóa chia sẻ để mã hóa.
Nói chung, việc bảo vệ thơng tin trong phân phối khóa được mã hóa ngụ ý sự
hiện diện của kẻ tấn cơng, khơng chỉ có thể lắng nghe một cách thụ động dữ liệu được
truyền qua kênh mà cịn có thể tự mình thay đổi chúng. Hiện tại, tất cả giao thức EKE
được sử dụng đều tuân thủ yêu cầu này trong trường hợp: kẻ tấn công không thể đoán
mật khẩu, đây là phần được sử dụng để xác thực hoặc một cuộc tấn công brute-force
với mật khẩu phải yêu cầu tương tác với một bên và không nhanh hơn so với việc sử
dụng một nỗ lực duy nhất để đoán mật khẩu trong một lần lặp lại giao thức.
Vì hạn chế duy nhất đối với giao thức là khả năng chống lại các cuộc tấn công mật khẩu
bạo lực, nên tính năng chính của tất cả các giao thức thỏa thuận khóa được mã hóa là
tính tương tác( sự tương tác ở đây là khi có khóa cơng khai tạm thời và gửi cho một

người khác, thì người đó cũng có thể tạo được một khóa cơng khai tạm thời khác dựa
trên thông tin của người gửi). Ngồi ra, đặc điểm của khóa EKE, khơng giống như các
giao thức khác, là sử dụng khóa tạm thời và che khóa. Khóa tạm thời ở đây được coi là
khóa cơng khai dùng một lần với kích thước nhỏ hơn khoảng hai lần so với khóa cơng
khai RSA truyền thống. Việc che giấu tất cả các khóa và bằng chứng mật khẩu nhằm
mục đích giảm bề mặt tấn cơng trên một số khóa tạm thời nhất định để tránh khả năng
phân tích các giá trị trung gian khơng tương tác để trích xuất bí mật được chia sẻ. Tất
cả các biện pháp bảo mật này sẽ đặt kẻ tấn công vào điều kiện làm việc khó khăn: khai
thác khóa tạm thời bị che, nhiệm vụ khó khăn hơn so với brute-force trực tiếp của một
số mật khẩu được chia sẻ nhất định. Để đạt được chất lượng tốt, có thể sử dụng chức
12


năng tạo mặt nạ, có số lần lặp lại lớn và để hiển thị mật khẩu trên tập hợp, sức mạnh có
thể so sánh với số lượng của bộ khóa tạm thời.
2.2. Giao thức EKE trên trường hữu hạn
2.2.1. Giao thức trao đổi khóa có mã hóa EKE trên trường hữu hạn
Hoạt động giao thức trao đổi khóa có mã hóa EKE trên trường hữu hạn được mơ
tả chi tiết trong hình 2.1.
Alice
- Sinh a  p - 1
- Tính KA= ga mod p
- Mã Ep (KA) = 

g,p
P = KDF (password)

Bob

MA


MB, M1

- Thu được MB, M1
- Giải mã MB : Kp = Dp (MB)
- Tính K = (KB)a = gba mod p
- Giải mã M1; C1=Dk(M1)
- Sinh C2
- Mã M1,2 =EK(C1,C2)

- Thu được M2
- Giải mã M2
C2 = DK(M2)
- Khẳng định B đã nhận
được C2

- Sinh b
- Tính KB= gb mod p
- Mã  = Ep (KB)
Thu được MA
- Giải mã KA = Dp (MA)
- Tính K = (KA)b = gab mod p
- Sinh C1
- Mã M1 = EK(C1)

M12

M2

- Thu M1,2

- Giải mã C1,C2=DK(M1,2)
- Khẳng định A đã nhận
được C1
- Mã C2
- Mã M2=EK(C2)

Hình 2.1 Giao thức EKE trên trường hữu hạn
13


Các bước hoạt động cụ thể của EKE trong hình 2.1 là:
Bước 1: Thực hiện bên gửi Alice
Ban đầu Alice và Bob đồng ý về mật khẩu và sau đó tạo khóa mã hóa từ hàm
băm của mật khẩu p.
- Sau đó Alice sinh tham số 𝑎 < 𝑝 − 1, tiếp theo tính khóa cơng khai của 𝑎 (𝐾𝐴 =
𝑔𝑎 𝑚𝑜𝑑 𝑝).
- Mã hóa khóa cơng khai của 𝑎 và gửi bản mã 𝑀𝐴 sang cho Bob
Bước 2: Thực hiện bên nhận Bob
- Bob sinh tham số 𝑏.
- Tiếp theo tính khóa cơng khai của 𝑏 (𝐾𝐵 = 𝑔𝑏 𝑚𝑜𝑑 𝑝) và mã hóa 𝑀𝐵 = 𝐸𝑝 (𝐾𝐵 ).
- Bob thu được bản mã 𝑀𝐴 và tiến hành giải mã 𝐾𝐴 = 𝐷𝑝 (𝑀𝐴 )
- Tính khóa chung 𝐾 = (𝐾𝐴 )𝑏 = 𝑔𝑎𝑏 𝑚𝑜𝑑 𝑝.
- Bob sinh tham số 𝑐1
- Mã hóa bản mã 𝑀1 = 𝐸𝑘 (𝑐1 ).
Bob gửi bản mã 𝑀𝐵 , 𝑀1 sang cho Alice.
Bước 3: Thực hiện bên nhận Alice
- Alice thu được bản mã 𝑀𝐵 , 𝑀1 tiến hành giải mã 𝑀𝐵 bằng 𝐾𝐵 = 𝐷𝑝 (𝑀𝐵 ).
- Sau khi giải mã 𝑀𝐵 tiến hành tính khóa chia sẻ chung 𝐾 = (𝐾𝐵 )𝑎 =
𝑔𝑎𝑏 𝑚𝑜𝑑 𝑝.
- Giải mã bản mã 𝑐1 bằng khóa 𝐾 vừa tính M1: = 𝐷𝐾 (𝑀1 ).

- Alice sinh tham số 𝑐2 .
- Dùng khóa 𝐾 vừa tính được mã hóa 𝑐1 của Bob và 𝑐2 của Alice vừa tạo. 𝑀12 =
𝐸𝐾 (𝑐1 𝑐2 ) sau đó gửi bản mã 𝑀12 sang Bob.
Bước 4: Thực hiện bên nhận Bob
- Bob thu được bản mã 𝑀12 , sau đó tiến hành giải mã dùng khóa chung 𝐾 của
Bob sau đó giải mã 𝐷𝐾 (𝑀12 ) sau khi giải mã xong ta thu được 2 giá trị 𝑐1 𝑐2 .
- Bob khẳng định đã nhận được 𝑐1 .
- Tiếp theo Bob mã 𝑐2 bằng khóa 𝐾: 𝑀2 (𝑐2 ).
- Sau đó gửi bản mã 𝑀2 cho Alice.
Bước 5: Thực hiện bên nhận Alice
- Alice thu được bản mã 𝑀2 sau đó dùng khóa K giải mã 𝑀2 = 𝐷𝐾 (𝑀2 ) thu được
14


giá trị 𝑐2 .
- Lúc này Alice khẳng định đã nhận được 𝑐2 của Bob.
2.2.2. Các ví dụ về hoạt động của giao thức trao đổi khóa có mã hóa EKE trên trường
hữu hạn
Để lấy một ví dụ cụ thể, chẳng hạn ta chọn p = 13 và g=7 (sao cho thỏa mãn điều
kiện g< P và g và P phải là số nguyên tố). Lúc này hàm 1 chiều sẽ là 7𝑥 𝑚𝑜𝑑13. Sau
đây ta thực hiện trao đổi khóa
Alice

Bob

Alice chọn giá trị ngẫu nhiên a = 7, Bob nhận được giá trị với Key và giải
thực hiện tính 𝐴 = 77 𝑚𝑜𝑑13 = 6

mã thu được 𝐴 = 6, Bob chọn 1 giá trị
Và thực hiện mã hóa với 𝐸𝑃 (𝐴) rồi gửi ngẫu nhiên b=5 và thực hiện tính

sang Bob

𝐵 = 75 𝑚𝑜𝑑13 = 11 và

𝐾=

(75 )7 𝑚𝑜𝑑𝑝 = 2
Đồng thời Bob tạo 1 challenge 𝑐1
Và thực hiện gửi 2 giá trị bao gồm:
+ 𝐸𝑃 (𝐵)
+ 𝐸𝐾 (𝑐1 )
Sang Alice
Alice thực hiện giải mã và thu được Bob lúc này nhận được cả 𝑐1 , 𝑐2 và
giá trị B, Alice thực hiện tính tốn 𝐾 = Bob thực hiện xác minh rằng 𝑐1 được
𝐴. 𝐵 = (77 )5 𝑚𝑜𝑑𝑝 = 2. Lúc này giá lặp lại đúng với 𝑐1 trước đó. Bob thực
trị K bên Alice và Bob có giá trị giống hiện gửi 𝐸𝐾 (𝑐2 ) sang Alice
nhau, Alice thực hiện tạo 1 response
𝑐2 , sau đó gửi sang Bob 𝐸𝐾 (𝑐1 , 𝑐2 )

Alice nhận được 𝐸𝐾 (𝑐2 ) và thực hiện
𝐷𝐾 (𝑐2 ) để thu được 𝑐2 . Alice thực hiện
xác minh xem challenge 𝑐2 này có
15


giống với 𝑐2 nguyên gốc hay không
2.3. Giao thức EKE trên đường cong Elliptic
2.3.1. Giao thức trao đổi khóa có mã hóa EKE trên đường cong Elliptic
Hoạt động giao thức trao đổi khóa có mã hóa EKE trên đường cong Elliptic được
mơ tả chi tiết trong hình 2.2.

Alice
- Sinh a  n
- Tính KA= a.G
- Mã Ep (KA) = 

Ep'(a',b')
P = KDF (password)

Bob

MA

MB, M1

- Thu được MB, M1
- Giải mã MB : KB = Dp (MB)
- Tính K = Kb.a = a.b.G
- Giải mã M1; C1=Dk(M1)
- Sinh C2
- Mã M1,2 =EK(C1,C2)

- Thu được M2
- Giải mã M2
C2 = DK(M2)
- Khẳng định B đã nhận
được C2

- Sinh b < n
- Tính KB= b.G
- Mã  = Ep (KB)

Thu được MA
- Giải mã KA = Dp (MA)
- Tính K = Ka.b = a.b.G
- Sinh C1
- Mã M1 = EK(C1)

M12

M2

Hình 2.2. EKE với Elliptic Curves ECC
16

- Thu M1,2
- Giải mã C1,C2=DK(M1,2)
- Khẳng định A đã nhận
được C1
- Mã C2
- Mã M2=EK(C2)


×