Bài viết Đề xuất mã hóa thông qua vị trí điểm trên đường cong Elliptic nghiên cứu đề xuất không cần tạo chuỗi dữ liệu để mã hóa mà chỉ cần lấy vị trí của điểm tương ứng ký tự để mã hóa. Với việc này thì bản mã ngắn gọn hơn khi gửi bản mã trên mạng sẽ chiếm ít băng thông trên quá trình truyền.
KHOA HỌC & CƠNG NGHỆ ĐỀ XUẤT MÃ HĨA THƠNG QUA VỊ TRÍ ĐIỂM TRÊN ĐƯỜNG CONG ELLIPTIC PROPOSED CODING THROUGH POINT POSITIONS ON AN ELLIPTIC CURVE Mai Mạnh Trừng*, Trần Minh Đức, Lê Thị Thu Hiền Khoa Công nghệ thông tin, Trường Đại học Kinh tế - Kỹ thuật Cơng nghiệp Đến Tịa soạn ngày 09/03/2021, chấp nhận đăng ngày 22/04/2021 Tóm tắt: Bài báo dựa ý tưởng toán học đường cong Elliptic Số học đường cong Elliptic ứng dụng bảo mật, an toàn thông tin, chứng thực, chữ ký số So với hệ mật truyền thống khác với kích thước khóa hệ mật đường cong Elliptic có độ mật tốt Trong báo nhóm tác giả đề xuất khơng cần tạo chuỗi liệu để mã hóa mà cần lấy vị trí điểm tương ứng ký tự để mã hóa Với việc mã ngắn gọn gửi mã mạng chiếm băng thơng q trình truyền Từ khóa: Mật mã đường cong Elliptic, bảo mật, chuỗi liệu Abstract: The paper is based on mathematical ideas on elliptic curves This Elliptic curve arithmetic is used in security, information security, authentication, and digital signature The Elliptic curve cryptography has better security than other traditional cryptosystems with the same key strength In this paper, the authors propose that they not need to create a data string to encode, but just take the position of the corresponding character point to encode By this method, this code when sending the ciphertext on the network will take up less bandwidth on the transmission Keywords: Elliptic curve cryptography, security, data sequence GIỚI THIỆU Những năm gần Việt Nam, đường cong Elliptic có vai trị quan trọng, theo Thơng tư số: 39/2017/TT-BTTTT, ngày 15/12/2017 Bộ Thông tin Truyền thông việc Ban hành Danh mục tiêu chuẩn kỹ thuật ứng dụng công nghệ thông tin quan nhà nước khuyến nghị áp dụng giải thuật mã hóa đường cong Elliptic Tiêu chuẩn an toàn thông tin Nghiên cứu đường cong Elliptic nhà đại số, nhà lý thuyết số có từ kỷ XIX Mật mã đường cong Elliptic curve cryptography (ECC) phát vào TẠP CHÍ KHOA HỌC & CÔNG NGHỆ SỐ 30 - 2022 năm 1985 Neil Koblitz Victor Miller [1, 2] Chúng xem đường cong Elliptic hệ mật mã logarit rời rạc Trong nhóm Z *p thay nhóm điểm đường cong Elliptic trường hữu hạn Cơ sở tốn học cho tính bảo mật hệ thống mật mã đường cong Elliptic tính hấp dẫn tính tốn tốn logarit rời rạc đường cong Elliptic (ECDLP) Trên giới có nhiều ứng dụng [3, 4, 5] sử dụng đường cong Elliptic để đảm với an tồn thơng tin Bài báo [6] cần tạo chuỗi liệu, báo [7, 8] sử dụng thuật tốn đề 19 KHOA HỌC & CƠNG NGHỆ xuất sử dụng ý tưởng tạo chuỗi liệu để mã hóa Bài báo cải tiến so với báo [7] không sử dụng kỹ thuật sinh chuỗi liệu mà lấy vị trí điểm ký tự Bởi sinh chuỗi tạo khơng gian liệu lớn làm ảnh hưởng băng thông trình truyền mã tuyến khác biệt Điểm ∞ điểm đường thẳng vô cực thỏa mãn phương trình Weierstrass [9, 10] Trong báo cho mục đích mã hóa giải mã đường cong Elliptic, đủ để xem xét phương trình có dạng: Hiện nay, hệ mật RSA giải thuật khố cơng khai sử dụng nhiều, hệ mật dựa đường cong Elliptic (ECC) thay cho RSA mức an toàn tốc độ xử lý cao Ưu điểm ECC hệ mật mã sử dụng khố có độ dài nhỏ so với RSA độ bảo mật như bảng Đối với giá trị cho a b, đồ thị bao gồm giá trị dương giá trị âm y cho giá trị x Do đường cong đối xứng với trục x Bảng Mật mã khóa đối xứng khóa cơng khai [11] y2 = x3 + ax + b (2) Chúng minh họa việc triển khai hệ thống mật mã dựa đường cong Elliptic với khóa đối xứng với phương trình đường cong Elliptic nhóm lựa chọn là: Symmetric-key ECC RSA/DLP y2 = x3 -2x + (mod 37) 64 bit 128 bit 700 bit 80 bit 160 bit 1024 bit Với phương trình (2) a = −2, b = 3, ta có 4(−2)3+27(9)2 = 2155 Do vậy, phương 128 bit 256 bit 2048-3072 bit (3) Đường cong Elliptic E trường R số thực xác định phương trình: trình (3) phương trình đường cong Elliptic Chúng tơi chọn phương trình lẽ tìm tổng số điểm đường cong 37 điểm tính điểm vơ cực Do vậy, tổng số điểm số nguyên tố tất điểm đường cong điểm sinh E: y2 + a1xy + a3y = x3 + a2x2 + a6 … 2.1 Phép cộng CƠ SỞ TOÁN HỌC CỦA ĐƯỜNG CONG ELLIPTIC + a4x (1) Ở a1, a2, a3, a4, a6 số thực thuộc R; x y đảm nhận giá trị số thực Nếu L trường mở rộng số thực, tập hợp điểm hợp lý L đường cong Elliptic E ∞ điểm vơ cực Phương trình (2) gọi phương trình Weierstrass Ở đường cong Elliptic E xác định trường số nguyên K, a1, a2, a3, a4, a6 số nguyên Nếu E xác định trường số nguyên K, E xác định trường mở rộng K Điều kiện 4a3 + 27b2 ≠ đảm bảo đường cong Elliptic Tức là, khơng có điểm đường cong có hai nhiều đường tiếp 20 Giả sử P = (x1, y1) Q = (x2, y2) hai điểm E Nếu x1 = x2 y1 = −y2 ta định nghĩa P + Q = ∞ Ngược lại P + Q = (x3, y3) E x3 = 2 – x1 – x2 , y3 = (x1 – x3 ) – y1, với: ( y2 − y1 ) / ( x2 − x1 ) , P Q ( 3x1 + a ) / ( y1 ) P = Q = Vậy P ≠ Q tức x1 ≠ x2, ta có: y2 − y1 x3 = − x1 − x2 x2 − x1 y2 − y1 = y ( x1 − x3 ) − y1 − x x 1 (4) TẠP CHÍ KHOA HỌC & CƠNG NGHỆ SỐ 30 - 2022 KHOA HỌC & CÔNG NGHỆ Nếu P = Q tức x1 = x2, ta có: 3x12 + a x3 = − x1 y1 3x12 + a y = ( x1 − x3 ) − y1 y (5) Chú ý điểm (x3, y3), (x3, -y3) nằm đường cong E xét mặt hình học, điểm (x1, y1), (x2, y2), (x3, -y3) nằm đường thẳng Ngồi ra, định nghĩa điểm cộng vơ cực nó: P + ∞ = ∞ + P = P Hình Phép nhân đường cong Elliptic THUẬT TỐN MÃ HĨA VÀ GIẢI MÃ TRÊN ĐƯỜNG CONG ELLIPTIC Thành phần mật mã: (P, C, E, D, K) P: Là rõ; C: Là mã; E: Là hàm mã hóa; D: Là hàm giải mã; K: Là khóa Mã hóa: Bước 1: Xác định tổng số điểm điểm sinh, sử dụng phép toán cộng nhân để tính điểm cịn lại đường cong Hình Tổng hai điểm đường cong Elliptic 2.2 Phép nhân Phép nhân số nguyên k với điểm P thuộc đường cong Elliptic E điểm Q xác định cách cộng k lần điểm P dĩ nhiên Q E: k P = P + P + P…+ P (k phép cộng điểm P) Vì G điểm thuộc đường cong Elliptic E với số nguyên dương k dễ dàng xác định điểm Q = kG Khi tổng điểm P Q đường cong Elliptic E hình Kết xác định điểm S thu cách đảo ngược dấu tọa độ y điểm R, R giao điểm E đường thẳng qua P Q Nếu P Q vị trí, đường thẳng tiếp tuyến E P Ngồi ra, tổng điểm vơ cực điểm P xác định điểm P TẠP CHÍ KHOA HỌC & CƠNG NGHỆ SỐ 30 - 2022 Bước 2: Gán thứ tự bảng chữ vài ký tự đặc biệt với điểm đường cong Bước 3: Chọn giá trị khóa K ngẫu nhiên Bước 4: Hàm mã hóa C = E( P) = [(Pi + K) mod (n)]P (6) Bước 5: Tra cứu điểm vị trí điểm đường cong để xác định ký tự tương ứng Giải mã: Bước 6: Hàm giải mã P= D(C) = [(C i – K) mod (n)]P (7) Trong tham số (6), (7): Pi : Là vị trí ký tự rõ; Ci : Là vị trí ký tự mã; E: Là hàm mã hóa; D: Là hàm giải mã; K: Là khóa, giá trị ngẫu nhiên; n: Là tổng số điểm đường cong Elliptic; 21 KHOA HỌC & CÔNG NGHỆ P: Là điểm sinh đường cong Elliptic ÁP DỤNG THUẬT TOÁN Bên A gửi cho bên B rõ (văn đầu vào) SECURITY Để đảm bảo bí mật trình truyền, bên A mã hóa rõ trước gửi kênh truyền Q trình mã hóa thể sau: Bước 1: Với đường cong E (3) ta có 37 điểm đường cong tính điểm vơ cực Ta tìm điểm sinh P = (17, 2) Sử dụng công thức (4) cơng thức (5) điểm tính điểm đường cong bảng Bảng Tập hợp tất điểm ECC ∞ (17, 2) (6, 18) (10, 8) (13, 21) (18, 12) (28, 36) (4, 18) (0, 34) (27, 19) (34, 32) (16, 15) (25, 28) (31, 8) (36, 11) (12, 14) (33, 29) (3, 17) (24, 24) (24, 13) (3, 20) (33, 8) (12, 23) (36, 26) (31, 29) (25, 9) (16, 22) (34, 5) (27, 18) (0, 3) (4, 19) (28, 1) (18, 25) (13, 16) (10, 29) (6, 19) (17, 35) Bước 2: Gán điểm cho ký tự bảng Bảng Ký tự ứng với điểm đường cong xét từ điểm P ∞ * (17, 2) A (6, 18) B (10, 8) C (13, 21) D (18, 12) E (28, 36) F (4, 18) G (0, 34) H (27, 19) I (34, 32) J (25, 28) L (31, 8) M (33, 29) P (27, 18) (0, 3) , (4, 19) ? (28, 1) ! (18, 25) $ (13, 16) % (10, 29) & (6, 19) ( (17, 35) ) Bước 3: Chọn khóa ngẫu nhiên K = Bước 4: Hàm mã hóa ▪ Rõ điểm: Theo bảng ta có ký tự rõ tương ứng với số điểm cho kết bảng Bảng Ký tự ứng với điểm đường cong S E C (24, 13) (18, 12) U R I T Y (10, 8) (33, 8) (24, 24) (27, 19) (3, 20) (25, 9) ▪ Áp dụng: C = E( P) = [(Pi + K) mod (n)]P Xét ký tự ‘S’: Ta Pi ‘S’ 19P ứng với điểm (24, 13) Ta có C = [(19+5) mod 37]P = 24P = 24(17, 2) = (31, 29), điểm tương ứng với ký tự ‘X’ Ta có C = [(5+5) mod 37]P = 10P = 10(17, 2) = (34, 32), điểm tương ứng với ký tự ‘J’ Tương tự dùng hàm mã hóa ta xác định ký tự mã hóa cịn lại Tương tự ký tự lại ta kết bảng Bảng Bảng ký tự sau mã hóa Ký tự Rõ điểm Mã điểm Bản mã S (24, 13) (31, 29) X (16, 15) K E (18, 12) (34, 32) J (36, 11) N (12, 14) O C (10, 8) (0, 34) H U (33, 8) (16, 22) Z (3, 17) Q (24, 24) R (24, 13) S R (24, 24) (36, 26) W (3, 20) T (33, 8) U (12, 23) V (36, 26) W I (27, 19) (36, 11) N T (3, 20) (25, 9) Y (31, 29) X (25, 9) Y (16, 22) Z (34, 5) dấu cách Y (25, 9) (4, 19) ? 22 TẠP CHÍ KHOA HỌC & CƠNG NGHỆ SỐ 30 - 2022 KHOA HỌC & CÔNG NGHỆ Ta chuỗi mã hóa là: “XJHZWNY?” Bản mã gửi kênh truyền cho bên B Giải mã: Khi bên B nhận mã tiến hành giải mã sau: Chương trình thực cài đặt thuật tốn mã hóa giải mã đường cong Elliptic dùng ngôn ngữ lập trình C# Visual studio NET -2019 với giao diện hình Chương trình chạy cho kết đắn với thuật tốn trình bày Bước 6: Hàm giải mã ▪ Khóa để giải mã K = ▪ Áp dụng P= D(C) = [(C i – K) mod (n)]P Xét điểm (31, 29) có vị trí 24P đường cong, ta có: P = [(24 - 5) mod 37]P = 19P= 19(17, 2) = (36, 26) ứng với ký tự ‘S’ Tương tự xét điểm (34, 32) có vị trí 10P đường cong, ta có: P = [(10 - 5) mod 37]P = 5P = 5(17, 2) = (18, 12) ứng với ký tự ‘E’ Tương tự với điểm lại ta kết giải mã bảng 5: Bảng Bảng kết giải mã Bản mã Mã điểm Rõ điểm Ký tự X (31, 29) (24, 13) S J (34, 32) (18, 12) E H (0, 34) (10, 8) C Z (16, 22) (33, 8) U W (36, 26) (24, 24) R N (36, 11) (27, 19) I Y (25, 9) (3, 20) T ? (4, 19) (25, 9) Y Vậy ta rõ ban đầu là: SECURITY CÀI ĐẶT CHƯƠNG TRÌNH Thuật tốn cài đặt thiết bị với cấu hình phần cứng là: CPU Intel(R) Core(TM) i5, 2.5 GHz; RAM: GB; HDD: 500 GB; Và phần mềm với Hệ điều hành Windows 10, mơi trường lập trình Visual studio NET-2019 TẠP CHÍ KHOA HỌC & CƠNG NGHỆ SỐ 30 - 2022 Hình Giao diện chương trình KẾT LUẬN Trong thuật tốn mã hóa đề xuất cải tiến đây, bên giao tiếp đồng ý sử dụng đường cong Elliptic điểm sinh P đường cong Tính bảo mật mật mã đường cong Elliptic phụ thuộc vào độ khó việc tìm giá trị k, với kP k số lớn ngẫu nhiên P điểm sinh ngẫu nhiên đường cong Elliptic Đây vấn đề logarit rời rạc đường cong Elliptic Độ bảo mật phụ thuộc m, m số chữ số nhóm số m dài hay ngắn phụ thuộc tổng số điểm (n) đường cong Elliptic mà n lại phụ thuộc tham số đường cong Các tham số đường cong Elliptic cho sơ đồ mã hóa nên lựa chọn cẩn thận để chống lại tất cơng biết tốn logarit rời rạc đường cong Elliptic (ECDLP) Do đó, phương pháp mã hóa đề xuất cải tiến cung cấp bảo mật đầy đủ chống lại việc phá mã, chi phí tính tốn tương đối thấp Ngồi ra, ánh xạ ký tự dạng → rõ mã gửi mã đường truyền 23 KHOA HỌC & CƠNG NGHỆ khơng tốn băng thơng so với thuật toán trước Thuật toán cài đặt thử nghiệm ngơn ngữ lập trình C# cho kết đắn theo thuật toán đề xuất TÀI LIỆU THAM KHẢO [1] Darrel Hankerson, Alfered Menezes, Scott Vanstone, “A Gide to elliptic curve Cryptography”, Springer, 2004 [2] V Miller, “Uses of Elliptic curves in Cryptography In advances in Cryptography” (CRYPTO 1985), Springer LNCS 218,417-4 26, 1985 [3] S Sugantha Priya, Dr M Mohanraj, “A Review on Secure Elliptic Curve Cryptography (ECC) and Dynamic Secure Routing Link Path Detection Algorithm” (DSRLP) Under Jamming Attack, ISSN: 0474-9030, Vol-68-Issue-30, February, 2020 [4] Utku Gulen, Selcuk Baktir, “Elliptic Curve Cryptography for Wireless Sensor Networks Using the Number Theoretic Transform”, journal-sensors, Published: March, 2020 [5] Negin Dinarvand, Hamid Barati, “An efficient and secure RFID authentication protocol using elliptic curve cryptography”, Springer Science, LLC, 2017 [6] F Amounas and E.H El Kinani, “ECC Encryption and Decryption with a Data Sequence”, Applied Mathematical Sciences, Vol 6, no 101, 5039 – 5047, 2012 [7] Mai Mạnh Trừng, Lê Thị Thu Hiền, Trần Minh Đức, “Đề xuất hệ mật đường cong Elliptic với khóa đối xứng”, Tạp chí Khoa học Cơng nghệ, Trường Đại học Kinh tế - Kỹ thuật Công nghiệp, 2020 [8] Mai Mạnh Trừng, Đỗ Trung Tuấn, Lê Phê Đô, Lê Trung Thực, Đào Thị Phương Anh, “Xây dựng hệ mật mã đường cong Elliptic với khóa đối xứng Affine để mã hóa giải mã văn tiếng Việt”, Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), 724-732, Nha Trang, ngày 8-9/10/2020 [9] Alfred J Menezes and Scott A Vanstone, “Elliptic Curve Cryptosystems and their implementations”, Journal of Cryptology, Volume-6, Number-4, pages 209-224, 1993 [10] Enge A, “Elliptic curves and their applications to cryptography”, Norwell, MA: Kulwer Academic publishers, 1999 [11] S Sandeep, Kumar, “Elliptic curve cryptography for constrained devices”, PhD thesis, Ruhr-University Bochum, June, 2006 Thông tin liên hệ: Mai Mạnh Trừng Điện thoại: 0912355022 - Email: mmtrung@uneti.edu.vn Khoa Công nghệ thông tin, Trường Đại học Kinh tế - Kỹ thuật Cơng nghiệp 24 TẠP CHÍ KHOA HỌC & CÔNG NGHỆ SỐ 30 - 2022 ... nhân đường cong Elliptic THUẬT TOÁN MÃ HÓA VÀ GIẢI MÃ TRÊN ĐƯỜNG CONG ELLIPTIC Thành phần mật mã: (P, C, E, D, K) P: Là rõ; C: Là mã; E: Là hàm mã hóa; D: Là hàm giải mã; K: Là khóa Mã hóa: Bước... số điểm điểm sinh, sử dụng phép tốn cộng nhân để tính điểm cịn lại đường cong Hình Tổng hai điểm đường cong Elliptic 2.2 Phép nhân Phép nhân số nguyên k với điểm P thuộc đường cong Elliptic E điểm. .. trình KẾT LUẬN Trong thuật tốn mã hóa đề xuất cải tiến đây, bên giao tiếp đồng ý sử dụng đường cong Elliptic điểm sinh P đường cong Tính bảo mật mật mã đường cong Elliptic phụ thuộc vào độ khó