1. Giới thiệu: Hiện nay hệ mật mã RSA là giải thuật khóa công khai được sử dụng nhiều nhất, nhưng hệ mật mã dựa trên đường cong Eliptic (ECC) có thể thay thế được cho RSA bởi mức an toàn và tốc độ xử lý cao hơn. Ưu điểm của ECC là hệ mật mã này có độ dài khóa ngắn hơn so với RSA. Từ đó làm tăng tốc độ xử lý một cách đáng kể, do số phép toán dùng để mã hóa và giải mã mất ít hơn và yêu cầu các thiết bị có khả năng tính toán thấp hơn,nên giúp tăng tốc độ và làm giảm năng lượng cần sử dụng trong quá trình mã hóa và giải mã. Với cùng một độ dài khóa thì ECC có nhiều ưu điểm hơn so với các giải thuật khác, nên trong một vài năm tới có thể ECC sẽ là giải thuật trao đổi khóa công khai được sử dụng phổ biến nhất 2. Mật mã đường cong Elliptic - ECC. Việc sử dụng các đường cong Ellip trong mã hóa đã được đề xuất độc lập bởi Neal Koblitz và Victor S. Miller vào năm 1985. Thuật toán ECC vào sử dụng rộng rãi vào năm 2004 đến năm 2005.Mật mã đường cong Eliptic (ECC) là một cách tiếp cận mã hóa khóa công khai dựa trên cấu trúc đại số của các đường cong Ellip trên trường hữu hạn . Các đường cong Ellip cũng được sử dụng ở một số các thuật toán thừa số nguyên ứng dụng trong mã hóa, chẳng hạn như đường cong Elip thừa số Lenstra. Mã khóa công khai dựa trên không thể giải hết được các vấn đề toán học nhất định. Hệ thống khóa công khai ban đầu là an toàn, với giả định rằng rất khó để một số nguyên lớn bao gồm hai hoặc nhiều hơn các yếu tố nguyên tố lớn. Cho một đường cong Ellip dựa trên giao thức, nó được giả định rằng việc tìm kiếm các Logarit rời rạc của một nguyên tố đường cong elliptic ngẫu nhiên đối với một điểm công khai cơ sở được biết đến với là không khả thi - đây là "đường cong ellip rời rạc toán logarit" hoặc ECDLP. Toàn bộ tính bảo mật của ECC phụ thuộc vào khả năng tính toán một phép nhân điểm và không có khả năng tính toán số bị nhân cho các điểm ban đầu và kết quả. Kích thước của đường cong Ellip xác định những khó khăn của vấn đề. Lợi ích đầu tiên của ECC là một kích thước nhỏ hơn, giảm lưu trữ và truyền tải nhanh hơn, ví dụ như một nhóm đường cong elliptic có thể cung cấp cùng một mức độ bảo mật được cấp bởi một hệ thống RSA dựa trên một mô đun lớn và khóa tương ứng lớn hơn. Ví dụ, một khóa ECC 256-bit có thể cung cấp bảo mật bằng với một khóa RSA 3072-bit Để phục vụ các mục đích mã hóa hiện nay, một đường cong elliptic là một đường cong phẳng trên một trường hữu hạn (chứ không phải là số thực) trong đó bao gồm các điểm thỏa mãn phương trình:
Cùng với một điểm ở vô cực , ký hiệu là ∞. (Các tọa độ ở đây là để được lựa chọn từ một trường hữu hạn cố định của đặc tính không bằng 2 hoặc 3, hoặc phương trình đường cong sẽ phức tạp hơn.)Điều này thiết lập cùng với các hoạt động của lý thuyết nhóm elip tạo thành một nhóm Abel , với điểm vô cực là yếu tố nhận dạng riêng biệt. Cấu trúc của nhóm được thừa hưởng từ nhóm ước chung của nhiều số lớn. Như đối với các hệ mật khóa công khai phổ biến khác, không có bằng chứng toán học của an ninh đã được công bố cho ECC như năm 2009 Viện Tiêu chuẩn và Công nghệ (NIST) Hoa kỳ,đã xác nhận ECC bằng cách bao gồm các chương trình dựa trên ECC trong của nó Suite B tập hợp các thuật toán 1
được khuyến khích và cho phép sử dụng để bảo vệ các thông tin phân loại lên đến bí mật hàng đầu với các phím 384-bit. 3. Các chương trình mã hóa a. Thông số miền Sử dụng ECC tất cả các bên phải đồng ý về tất cả các yếu tố xác định các đường cong elliptic, đó là, thông số miền của chương trình này. Lĩnh vực được xác định bởi p trong trường hợp nguyên tố và các cặp m và f trong trường hợp nhị phân. Các đường cong elliptic được xác định bởi các hằng số một và b được sử dụng trong phương trình xác định của nó. Cuối cùng, nhóm con cyclic được xác định bởi nó tạo điểm cơ sở G . Đối với ứng dụng mã hóa các lệnh của G , đó là số lượng nhỏ nhất không âm n như vậy mà nG =∞, thường là nguyên tố. Từ n là kích thước của một phân nhóm của E (Fp), từ định lý Lagrange rằng số h = là một số nguyên. Trong các ứng dụng mật mã số h , được gọi là đồng yếu tố , phải nhỏ ( h ≤ 4), và tốt nhất h = 1. Chúng ta hãy tóm tắt: trong trường hợp ký tự thông số miền là (P, a, b, g, n, h)và trong trường hợp nhị phân họ (M, e, a, b, g, n, h).Trừ khi có một sự bảo đảm rằng các thông số tên miền đã được tạo ra bởi một bên đáng tin cậy liên quan đến việc sử dụng chúng với các thông số tên miền phải được xác nhận trước khi sử dụng. Thế hệ của các thông số miền thường không được thực hiện bằng cách mỗi người tham gia vì điều này liên quan đến việc tính toán số lượng các điểm trên một đường cong đó là tốn thời gian và phiền hà để thực hiện. Kết quả là một số cơ quan tiêu chuẩn công bố các thông số tên miền của các đường cong Elliptic trong nhiều kích cỡ lĩnh vực phổ biến. Các thông số tên miền như vậy thường được gọi là "đường cong tiêu chuẩn" hoặc "đường cong có tên"; một đường cong được đặt tên có thể được tham chiếu bằng tên hoặc bằng cách duy nhất định danh đối tượng quy định tại các văn bản tiêu chuẩnVectơ thử nghiệm SECG cũng có sẵn. NIST đã phê duyệt nhiều đường cong SECG, do đó, có một sự trùng lặp đáng kể giữa các chi tiết kỹ thuật được xuất bản bởi NIST và SECG. Thông số miền EC có thể được, hoặc chỉ định theo giá trị hoặc theo tên.Nếu một (mặc dù ở trên) muốn xây dựng các thông số tên miền riêng của một người, ta nên chọn lĩnh vực cơ bản và sau đó sử dụng một trong những chiến lược sau đây để tìm một đường cong với thích hợp (ví dụ, gần thủ) số điểm sử dụng một trong những phương pháp sau đây chọn một đường cong ngẫu nhiên và sử dụng một thuật toán điểm đếm chung, ví dụ, thuật toán của Schoof hoặc thuật toán Schoof-Elkies-Atkin , chọn một đường cong ngẫu nhiên từ một gia đình cho phép dễ dàng tính toán số điểm (ví dụ, Koblitz đường cong), hoặc chọn số điểm và tạo ra một đường cong với con số này của các điểm sử dụng phép nhân phức tạp kỹ thuật. [ 8 ] Một số lớp học của các đường cong còn yếu kém và cần phải tránh:
2
đường cong hơn \ Mathbb {F} _ {2 ^ m}với không thủ m dễ bị tổn thương gốc Weil các cuộc tấn công. [ 9 ] [ 10 ] đường cong như vậy mà n chia p ^ B-1(trong đó p là đặc tính của lĩnh vực này - q cho một lĩnh vực chính, hoặc 2cho một trường nhị phân) cho đủ nhỏ B dễ bị tổn thương để Menezes-Okamoto-Vanstone (MOV) tấn công [ 11 ] [ 12 ] mà áp dụng thông thường Logarit vấn đề rời rạc (DLP) trong một lĩnh vực mở rộng mức độ nhỏ của \ Mathbb {F} _pđể giải quyết ECDLP. Các ràng buộc B nên được lựa chọn để logarit rời rạc trong lĩnh vực này \ Mathbb {F} _ {p ^ B}ít nhất cũng khó có thể tính toán như bản ghi rời rạc trên đường cong elliptic E (\ mathbb {F} _Q). [ 13 ] đường cong như vậy mà | E (\ mathbb {F} _Q) | = qlà dễ bị tấn công mà các bản đồ các điểm trên đường cong với nhóm cộng của [ 14 ] [ 15 ] [ 16 ]\ Mathbb {F} _Q b. Kích thước khóa Vì tất cả các thuật toán được biết đến nhanh nhất cho phép một để giải quyết ECDLP ( bé bước khổng lồ bước , rho Pollard của , vv), cần O (\ sqrt {n})bước, nó sau đó kích thước của các lĩnh vực cơ bản nên được khoảng hai lần tham số bảo mật. Ví dụ, để bảo mật 128-bit ta cần một đường cong hơn \ Mathbb {F} _Q, nơi q \ xấp xỉ 2 ^ {256}. Điều này có thể được đối chiếu với mật mã hữu hạn lĩnh vực (ví dụ, DSA ) yêu cầu [ 17 ] 3072-bit khóa công khai và khóa riêng 256-bit, và nguyên nhân tử mật mã (ví dụ như RSA ) đòi hỏi một giá trị 3072-bit của n, mà từ đó các khóa riêng nên lớn nhưng khóa công khai có thể nhỏ hơn để thích ứng với mã hóa hiệu quả, đặc biệt là nơi chế biến nhỏ hơn có liên quan. Mã hóa ECC khó khăn nhất (công khai) bị phá vỡ cho đến nay đã có một khóa 112bit cho các trường hợp lĩnh vực chính và một chìa khóa 109-bit cho các trường hợp trường nhị phân. Đối với trường hợp lĩnh vực chính này bị phá vỡ trong tháng 7 năm 2009 sử dụng một cụm của hơn 200 PlayStation 3 chơi game và có thể được hoàn thành trong 3,5 tháng sử dụng cụm này khi chạy liên tục. Đối với trường hợp lĩnh vực nhị phân, nó đã bị phá trong tháng 4 năm 2004 sử dụng 2.600 máy tính cho 17 tháng. Một dự án hiện nay là nhằm mục đích phá vỡ ECC2K-130 thách thức bởi Certicom, bằng cách sử dụng một loạt các phần cứng khác nhau: CPU, GPU, FPGA. c. Tọa độ tham chiếu Một kiểm tra chặt chẽ các quy tắc bổ sung cho thấy rằng để thêm hai điểm người ta cần không chỉ một số bổ sung và phép nhân trong \ Mathbb {F} _Qmà còn là một hoạt động đảo ngược. Đảo ngược (cho được x \ in \ mathbb {F} _Qtìm thấy y \ in \ mathbb {F} _Qnhư vậy mà xy = 1) là 1-2 đơn đặt hàng của các cường độ chậm hơn [ 21 ] so với phép nhân. May mắn thay, điểm trên một đường cong có thể được biểu diễn trong hệ tọa độ khác nhau mà không cần phải có hoạt động đảo ngược để thêm hai điểm. Một số hệ thống như vậy đã được đề xuất: trong xạ hệ thống mỗi điểm được biểu diễn bởi ba tọa độ (X, Y, Z)bằng cách sử dụng mối quan hệ sau đây: x = \ frac {X} {Z}, y = \ frac {Y} {Z}; trong hệ thống Jacobian một điểm cũng được đại diện với ba tọa độ (X, Y, Z), nhưng một mối quan hệ khác nhau được sử dụng: x = \ frac {X} {Z ^ 2}, y = \ frac {Y} {Z ^ 3}; trong hệ thống López-Dahab mối quan hệ là x = \ frac {X} {Z}, y = \ frac {Y} {Z ^ 2}; trong Jacobian sửa đổi hệ thống các mối quan hệ tương tự được sử dụng nhưng bốn tọa độ được lưu trữ và 3
sử dụng để tính toán (X, Y, Z, AZ ^ 4); và trong Chudnovsky Jacobian hệ thống năm tọa độ được sử dụng (X, Y, Z, Z ^ 2, Z ^ 3). Lưu ý rằng có thể có quy ước đặt tên khác nhau, ví dụ, IEEE P1363 tiêu chuẩn -2000 sử dụng "tọa độ xạ" để chỉ những gì thường được gọi là tọa độ Jacobian. Thêm tốc độ lên là có thể nếu tọa độ hỗn hợp được sử dụng. d. Giảm nhanh chóng (đường cong NIST) Giảm modulo p (đó là cần thiết để bổ sung và nhân) có thể được thực hiện nhanh hơn nhiều nếu thủ p là một giả nguyên tố Mersenne đó là p \ xấp xỉ 2 ^ d, ví dụ, p = 2 ^ {521} 1hoặc p = 2 ^ {256} - 2 ^ {32} - 2 ^ 9-2 ^ 8-2 ^ 7-2 ^ 6-2 ^ 4 - 1.So với giảm Barrett có thể có một thứ tự cường độ tăng tốc. Việc tăng tốc ở đây là một thực tế chứ không phải là lý thuyết, và xuất phát từ thực tế là các môđun của số so với con số gần quyền hạn của hai có thể được thực hiện một cách hiệu quả bởi các máy tính hoạt động trên số nhị phân với các hoạt động Bitwise . Các đường cong trên \ Mathbb {F} _pvới giả Mersenne p được đề nghị bởi NIST. Tuy nhiên, một lợi thế của các đường cong NIST là một thực tế mà họ sử dụng một = -3 đó cải thiện thêm trong tọa độ Jacobian. Nhiều quyết định liên quan đến hiệu quả trong NIST FIPS 186-2 là tiểu tối ưu. Đường cong khác an toàn hơn và chạy cũng nhanh. e. Các đường cong elliptic NIST đề nghị NIST đề nghị mười lăm đường cong elliptic. Cụ thể, FIPS 186-3 đã mười khuyến cáo các lĩnh vực hữu hạn: Năm lĩnh vực chính \ Mathbb {F} _pcho các số nguyên tố nhất định p có kích thước 192, 224, 256, 384, và 521 [ 25 ] bit. Đối với mỗi lĩnh vực chính, một đường cong elliptic được khuyến khích. Năm lĩnh vực nhị phân \ Mathbb {F} _ {2 ^ m}cho m bằng 163, 233, 283, 409, và 571. Đối với mỗi lĩnh vực nhị phân, một đường cong elliptic và một Koblitz đường cong đã được lựa chọn. Đề nghị NIST do đó chứa tổng cộng năm đường cong chính và mười đường cong nhị phân. Các đường cong được vẻ chọn cho bảo mật tối ưu và hiệu quả thực hiện. [ 26 ] Trong năm 2013, tờ New York Times nói rằng đôi Elliptic Curve tất định ngẫu nhiên Bit Generation (hay Dual_EC_DRBG) đã được bao gồm như là một tiêu chuẩn quốc gia NIST do ảnh hưởng của NSA , đã bao gồm một điểm yếu cố ý trong thuật toán và các đường cong elliptic được đề nghị. RSA Security trong tháng chín năm 2013 ban hành một tư vấn đề nghị các khách hàng của mình không tiếp tục sử dụng bất kỳ phần mềm dựa trên Dual_EC_DRBG. [ 27 ] Trong sự trỗi dậy của các tiếp xúc của Dual_EC_DRBG là "một hoạt động bí mật NSA", các chuyên gia mật mã cũng đã bày tỏ lo ngại về sự an toàn của NIST đề nghị các đường cong elliptic, cho thấy sự trở lại của mã hóa dựa trên các nhóm phi elip đường cong. [ 28 ] f. Các cuộc tấn công bên kênh 4
Không giống như hầu hết các khác DLP hệ thống (nơi mà nó có thể sử dụng cùng một thủ tục cho bình phương và nhân) bổ sung EC khác biệt đáng kể cho tăng gấp đôi ( P = Q), bổ sung nói chung ( P \ ne Q) tùy thuộc vào hệ thống phối hợp sử dụng. Do đó, điều quan trọng là để chống lại các cuộc tấn công kênh bên (ví dụ, thời gian hay khác biệt các cuộc tấn công phân tích năng lượng / đơn giản ) sử dụng, ví dụ, cửa sổ mẫu hình cố định (aka. lược) phương pháp [ cần làm rõ ] [ 29 ] (lưu ý rằng điều này không tăng thời gian tính toán). Một mối quan tâm cho ECC-hệ thống là sự nguy hiểm của các cuộc tấn công lỗi , đặc biệt là khi chạy trên thẻ thông minh . [ 30 ]
Các chuyên gia mật mã cũng đã bày tỏ lo ngại rằng Cơ quan An ninh Quốc gia đã đưa một backdoor vào ít nhất một elip giả đường cong dựa trên máy phát điện ngẫu nhiên. Một phân tích của backdoor có thể kết luận rằng một kẻ thù sở hữu khóa bí mật của thuật toán có thể được mã hóa phím cho chỉ có 32 byte của mã. g. Các cuộc tấn công điện toán lượng tử Mật mã đường cong elliptic là dễ bị tổn thương đến một thay đổi thuật toán Shor của để giải quyết các bài toán logarit rời rạc trên đường cong elliptic. Một máy tính lượng tử để tấn công mật mã đường cong elliptic có thể ít hơn một nửa kích thước của một máy tính lượng tử để phá vỡ một phiên bản tương đương cổ điển an toàn của RSA . Điều này là do thực tế là kích thước khóa nhỏ hơn của các đường cong elliptic là cần thiết để phù hợp với an ninh cổ điển của RSA. Công việc của Proos và Zalka thấy làm thế nào một máy tính lượng tử để phá vỡ 2048-bit RSA đòi hỏi khoảng 4096 qubit trong khi một máy tính lượng tử để phá vỡ tương đương an toàn 224-bit Elliptic Curve Cryptography đòi hỏi giữa 1300 và 1600 qubit. Tùy thuộc vào tốc độ tăng trưởng của máy tính lượng tử trong tương lai, các hệ mật đường cong elliptic có thể trở thành có thể phá hoại bởi một máy tính lượng tử trong nhiều năm trước khi một chương trình tương đương RSA an toàn. Để tránh mối quan tâm điện toán lượng tử, một đường cong elliptic dựa thay thế để Elliptic Curve Diffie Hellman mà không phải là dễ bị tấn công của Shor là Supersingular Isogeny Diffie-Hellman Key Exchange của De Feo, Jao và Plut. Họ sử dụng đường cong elliptic isogenies để tạo ra một thả thay thế cho các lượng tử có thể trở chứng Diffie-Hellman và Elliptic đường cong Diffie-Hellman trao đổi quan trọng. Trao đổi khóa này sử dụng các đường cong elliptic nguyên thủy tính toán cùng một mật mã đường cong elliptic hiện có và yêu cầu tính toán và tải điện trên không tương tự như nhiều hiện đang sử dụng hệ thống khóa công khai.
5