Rate this post

Mật mã đường cong Elliptic (Elliptic Curve Cryptography – ECC) là một phương pháp mã hóa dựa trên cơ sở toán học của đường cong elliptic, đem lại một cách tiếp cận độc đáo và mạnh mẽ trong lĩnh vực bảo mật thông tin. Đường cong elliptic trong bối cảnh này không phải là hình ảnh elip mà chúng ta thường thấy trong hình học, mà là tập hợp các điểm thoả mãn một phương trình đại số cụ thể trong một trường hữu hạn. Điểm đặc biệt của ECC so với các phương pháp mã hóa khác là việc sử dụng các phép toán trên các điểm của đường cong để tạo ra khóa bảo mật.

ECC được giới thiệu vào giữa những năm 1980 bởi các nhà toán học Neal Koblitz và Victor S. Miller, mỗi người độc lập phát triển ý tưởng này. Kể từ đó, ECC đã được chứng minh là có hiệu quả cao trong việc tạo ra các khóa mật mã mạnh mẽ với kích thước nhỏ hơn so với các phương pháp truyền thống như RSA, giúp tối ưu hóa hiệu suất và băng thông, đặc biệt quan trọng trong các ứng dụng di động và thiết bị IoT.

Sự phát triển của ECC đã mang lại một bước tiến lớn trong lĩnh vực bảo mật thông tin, nhất là trong việc bảo vệ các kênh truyền thông, chữ ký số và xác thực danh tính. ECC được sử dụng rộng rãi trong nhiều giao thức bảo mật hiện đại, bao gồm cả các chuẩn bảo mật cho truy cập Internet an toàn như SSL/TLS, và cũng đóng vai trò quan trọng trong công nghệ blockchain và tiền mã hóa. Sự nhỏ gọn của khóa và hiệu suất tính toán cao khiến ECC trở thành lựa chọn ưu tiên trong thế giới số ngày nay, nơi mà nhu cầu về bảo mật thông tin ngày càng tăng cao và phức tạp.

Tổng quan về ECC

Mật mã đường cong eliptic (ECC) thực sự phát triển từ Diffie-Hellman Mật mã. Nó được phát hiện như một cơ chế thay thế cho triển khai mật mã khóa công khai. Nó thực sự đề cập đến một bộ các giao thức mật mã và dựa trên bài toán logarit rời rạc, như trong DSA. 

Tuy nhiên, người ta tin rằng bài toán logarit rời rạc thậm chí còn khó hơn khi áp dụng cho các điểm trên đường cong elliptic. Vì vậy, ECC cung cấp bảo mật cao hơn cho một kích thước khóa nhất định. Khóa ECC 160 bit được coi là được bảo mật như khóa RSA 1024 bit.

Vì kích thước khóa nhỏ hơn trong ECC có thể cung cấp bảo mật và hiệu suất cao hơn so với các các thuật toán chính, nó được sử dụng rộng rãi trong các thiết bị nhúng nhỏ, cảm biến,và các thiết bị IoT khác, v.v. Có phần cứng cực kỳ hiệu quả triển khai có sẵn cho ECC. ECC dựa trên một bộ số liên quan đến toán học trên một đường cong elliptic trên các trường hữu hạn. Ngoài ra, nó không liên quan gì đến dấu chấm lửng! 

Đường cong ECC( Elliptic Curve Cryptography)

Về mặt toán học, một đường cong elliptic thỏa mãn điều kiện toán học sau

phương trình: y 2 = x 3 + ax + b, trong đó 4 a 3 + 27 b 2 ≠ 0

Với các giá trị khác nhau của “ a ” và “ b ”, đường cong có các hình dạng khác nhau như được hiển thị trong sơ đồ sau: 

Có một số đặc điểm quan trọng của đường cong elip là được sử dụng trong mật mã, chẳng hạn như:

  • Chúng đối xứng theo chiều ngang. tức là, những gì dưới đây trục X là hình ảnh phản chiếu của những gì nằm trên trục X. Vì vậy, bất kỳ điểm nào trên đường cong khi được phản ánh qua Trục X vẫn nằm trên đường cong.
  • Bất kỳ đường thẳng nào có thể cắt đường cong tối đa ba nơi.
  • Nếu bạn coi hai điểm P và Q trên đường cong elliptic và vẽ một đường thẳng qua chúng, đường thẳng đó có thể chính xác băng qua đường cong ở một nơi nữa. Hãy để chúng tôi gọi nó là (- R ). Nếu bạn vẽ một đường thẳng đứng qua (- R ), nó sẽ đi qua đường cong tại, chẳng hạn, R , là sự phản chiếu của điểm (- R ).Bây giờ, tài sản thứ ba có nghĩa là P + Q = R . Đây là được gọi là “cộng điểm”, có nghĩa là cộng hai điểm trên một đường cong elip sẽ dẫn bạn đến một điểm khác trên đường cong. Tham khảo sơ đồ sau để biết hình ảnh biểu diễn của ba thuộc tính này.

Vì vậy, bạn có thể áp dụng cộng điểm cho hai điểm bất kỳ trên đường cong. Bây giờ, trong tiêu điểm trước, chúng tôi đã cộng điểm P và Q ( P + Q ) và tìm thấy – R và sau đó cuối cùng đến R . Khi chúng tôi đến R , chúng tôi sau đó có thể vẽ một đường thẳng từ P đến R và thấy rằng đường thẳng lại cắt biểu đồ tại điểm thứ ba. Sau đó chúng ta có thể lấy điểm đó và di chuyển dọc theo một đường thẳng đứng cho đến khi nó lại cắt đồ thị. Đây trở thành điểm

Ngoài các điểm P và R . Quá trình này với một P và điểm kết quả có thể tiếp tục miễn là chúng ta muốn, và chúng tôi sẽ tiếp tục nhận được những điểm mới trên đường cong.

• Bây giờ, thay vì hai điểm P và Q , điều gì sẽ xảy ra nếu chúng ta áp dụng phép toán đến cùng một điểm P , tức là P và P (được gọi là”Nhân đôi điểm”). Rõ ràng, vô số dòng có thể thông qua P, vì vậy chúng tôi sẽ chỉ xem xét đường tiếp tuyến. Đường tiếp tuyến sẽ cắt đường cong trong một điểm nữa và một đường thẳng đứng từ đó sẽ cắt ngang đường cong một lần nữa để đến giá trị cuối cùng. Nó có thể được hiển thị như sau:

Rõ ràng là chúng ta có thể áp dụng nhân đôi điểm “ n ” số lần đến điểm ban đầu và mọi lúc nó sẽ dẫn chúng ta đến một điểm khác trên đường cong. Các lần đầu tiên chúng tôi áp dụng nhân đôi điểm cho điểm P , nó đã đưa chúng tôi đến điểm kết quả 2P như bạn có thể thấy trongbiểu đồ. Bây giờ, nếu lặp lại tương tự, số ” n ” của

lần, chúng ta sẽ đạt đến một điểm trên đường cong như được hiển thị trong sơ đồ sau

Trong tình huống đã đề cập ở trên, khi đầu và điểm cuối cùng được đưa ra, không có cách nào ai có thể nói rằng nhân đôi điểm đã được áp dụng ” n ” số lần để đạt được điểm kết quả cuối cùng ngoại trừ việc cố gắng cho tất cả có thể ” n ” từng cái một. 

Đây là lôgarit rời rạc vấn đề đối với ECC, trong đó nó tuyên bố rằng đã cho một điểm G và Q , trong đó Q là bội số của G , hãy tìm “ d ” sao cho Q = d G . Điều này tạo thành hàm một chiều không có các phím tắt. Ở đây, Q là khóa công khai và d là khóa riêng tư Chìa khóa. 

Bạn có thể trích xuất khóa cá nhân d từ khóa công khai Q không? Đây là bài toán logarit rời rạc đường cong elliptic, khó giải quyết về mặt tính toán. Hơn nữa, đường cong phải được xác định trên một lĩnh vực và không đưa chúng ta đến vô cùng! Điều này có nghĩa là “tối đa” giá trị trên trục X phải được giới hạn ở một số giá trị, vì vậy chỉ cuộn lại các giá trị khi chúng tôi đạt đến mức tối đa. 

Cái này giá trị được biểu diễn dưới dạng P (không phải P được sử dụng trong biểu đồ tại đây) trong hệ thống mật mã ECC và được gọi là “modulo” giá trị và nó cũng xác định kích thước khóa, do đó đồng ruộng. Trong nhiều triển khai của ECC, một số nguyên tố cho ” P ” được chọn.

  • Kích thước chữ “ P ” tăng lên dẫn đến nhiều giá trị hữu dụng hơn trên đường cong, do đó an toàn hơn.
  • Chúng tôi quan sát thấy rằng việc cộng điểm và nhân đôi điểmtạo cơ sở cho việc tìm kiếm các giá trị được sử dụng cho mã hóa và giải mã.

Vì vậy, để xác định ECC, các tham số miền sau đây cần được định nghĩa:

  • Phương trình đường cong: y 2 = x 3 + ax + b, trong đó 4 a 3 + 27 b 2 ≠ 0
  • P : Số nguyên tố, xác định trường hữu hạn rằng đường cong sẽ được xác định trên (giá trị mô-đun)
  • a và b : Hệ số xác định đường cong elliptic
  • G : Điểm gốc hoặc điểm tạo trên đường cong. Cái này là điểm mà tất cả các hoạt động điểm bắt đầu và nó xác định nhóm con tuần hoàn.
  • n : Số hoạt động điểm trên đường cong cho đến khi đường kết quả là thẳng đứng. Vì vậy, nó là thứ tự của G , tức là, số dương nhỏ nhất sao cho nG =  . Nó là thường là số nguyên tố.
  • h : Nó được gọi là “cofactor”, tương đương với thứ tự của đường cong chia cho n . Nó là một giá trị số nguyên và thường là gần bằng 1.

Thuật toán chữ ký số đường cong Elliptic

ECDSA là một loại DSA sử dụng ECC để tạo khóa. Như một cái tên cho thấy, mục đích của nó là chữ ký số chứ không phải mã hóa. ECDSA có thể là một giải pháp thay thế tốt hơn cho RSA về kích thước khóa nhỏ hơn, bảo mật tốt hơn, và hiệu suất cao hơn. Nó là một trong những mật mã quan trọng nhất các thành phần được sử dụng trong Bitcoin!

Chúng tôi đã xem xét cách chữ ký điện tử được sử dụng để thiết lập lòng tin giữa người gửi và người nhận. Vì tính xác thực của người gửi và tính toàn vẹn của thông điệp có thể được xác minh thông qua chữ ký điện tử, haicác bên không xác định có thể giao dịch với nhau. Lưu ý rằng người gửi và người nhận phải đồng ý về các thông số miền trước khi tham gia vào các thông tin liên lạc. 

Có ba bước rộng rãi để thực hiện ECDSA: thế hệ chìa khóa, tạo chữ ký và xác minh chữ ký

Thế hệ chìa khóa

Vì các tham số miền ( P , a , b , G , n , h ) được thiết lập trước nên đường cong và điểm cơ sở được biết bởi cả hai bên. Ngoài ra, P nguyên tố tạo nên nó là một trường hữu hạn cũng được biết đến ( P thường là 160 bit và có thể lớn hơn ổn). Vì vậy, người gửi, giả sử, Alice thực hiện những việc sau để tạo các khóa:

  • Chọn một số nguyên ngẫu nhiên d trong khoảng [ 1 , n – 1 ]
  • Tính Q = d G
  • Khai báo Q là khóa công khai và giữ d là khóa riêng tư Chìa khóa.

Tạo chữ kí

Khi các khóa được tạo, Alice, người gửi, sẽ sử dụng khóa riêng tư “ D ” để ký vào tin nhắn ( m ). Vì vậy, cô ấy sẽ thực hiện các bước sau trong thứ tự được chỉ định để tạo chữ ký:

  • Chọn một số ngẫu nhiên k trong khoảng [ 1 , n – 1 ]
  • Tính kG và tìm tọa độ mới (x 1 , y 1 ) và tìm r = x 1 mod n 

Nếu r = 0 thì bắt đầu lại từ đầu

  • Tính e = SHA-1 ( m )
  • Tính s = k −1 ( e + d. R ) mod n Nếu s = 0, thì hãy bắt đầu lại từ bước đầu tiên
  • Chữ ký của Alice cho thông điệp ( m ) bây giờ sẽ là ( r , s )

Xác minh chữ ký

Giả sử Bob là người nhận ở đây và có quyền truy cập vào miền tham số và khóa công khai Q của người gửi Alice. Như một bảo mật đo lường, trước tiên Bob nên xác minh rằng dữ liệu mà anh ta có, đó là miền các tham số, chữ ký và khóa công khai Q của Alice đều hợp lệ. Để xác minh Chữ ký của Alice trên tin nhắn ( m ), Bob sẽ thực hiện những điều sau hoạt động theo thứ tự được chỉ định:

  • Xác minh rằng r và s là các số nguyên trong khoảng [ 1 , n – 1 ]
  • Tính e = SHA-1 ( m )
  • Tính w = s −1 mod n
  • Tính u 1 = ew mod n và u 2 = rw mod n
  • Tính X = u 1 G + u 2 G, trong đó X đại diện cho tọa độ, giả sử (x 2 , y 2 )
  • Tính v = x 1 mod n
  • Chấp nhận chữ ký nếu r = v , nếu không thì từ chối nó

Trong phần này, chúng ta đã xem xét toán học đằng sau ECDSA. Nhớ lại điều đó chúng tôi đã sử dụng một số ngẫu nhiên trong khi tạo khóa và chữ ký. Nó là cực kỳ quan trọng để đảm bảo rằng các số ngẫu nhiên được tạo ra là thực sự là ngẫu nhiên về mặt mật mã. 

Ưu điểm của ECC

Một trong những ưu điểm nổi bật của Mật mã đường cong Elliptic (ECC) so với các hệ mã hóa khác là khả năng cung cấp cùng một mức độ bảo mật với kích thước khóa đáng kể ngắn hơn. Điều này có nghĩa là, để đạt được mức độ bảo mật tương đương với hệ thống mã hóa RSA sử dụng khóa 2048-bit, ECC chỉ cần sử dụng khóa khoảng 224-bit. Sự khác biệt về kích thước khóa này giúp giảm đáng kể lượng băng thông cần thiết cho việc truyền khóa và tăng hiệu suất của quá trình mã hóa và giải mã, mà vẫn duy trì được độ an toàn mong muốn. Điều này làm cho ECC trở thành lựa chọn lý tưởng cho các ứng dụng cần truyền dữ liệu mật mã qua mạng, nơi băng thông và hiệu suất là những yếu tố quan trọng.

Thêm vào đó, ECC cũng rất phù hợp với các thiết bị di động và Internet vạn vật (IoT), nơi mà nguồn năng lượng và khả năng tính toán thường bị hạn chế. Do yêu cầu tính toán thấp hơn so với các hệ mã hóa khóa công khai khác như RSA, ECC cho phép các thiết bị này thực hiện các phép mã hóa và giải mã mà không tiêu tốn quá nhiều tài nguyên hệ thống hay năng lượng pin, giúp kéo dài thời gian sử dụng và tối ưu hóa hiệu suất hoạt động. Sự kết hợp giữa kích thước khóa nhỏ và hiệu suất tính toán cao làm cho ECC trở thành một giải pháp bảo mật lý tưởng cho các thiết bị di động và IoT, đóng góp vào việc bảo vệ thông tin và dữ liệu quan trọng trong môi trường kết nối mạng ngày càng rộng lớn và phức tạp.

Ứng dụng thực tế của ECC

Mật mã đường cong Elliptic (ECC) tìm thấy ứng dụng thực tế rộng rãi trong nhiều lĩnh vực quan trọng của bảo mật thông tin, từ chứng chỉ số và chữ ký số đến bảo mật kết nối web và thậm chí là tiền mã hóa và blockchain.

Trong lĩnh vực chứng chỉ số và chữ ký số, ECC được sử dụng để tạo ra chữ ký điện tử với khả năng xác thực cao và độ bảo mật mạnh mẽ. Chữ ký số ECC giúp xác nhận tính xác thực của các tài liệu điện tử và giao dịch trực tuyến, đảm bảo rằng dữ liệu không bị thay đổi từ thời điểm ký và xác thực danh tính của người ký. Sự nhỏ gọn của khóa ECC cũng giúp giảm bớt tải cho hệ thống và tối ưu hóa quy trình xác thực.

Bảo mật kết nối SSL/TLS cho truy cập web an toàn là một ứng dụng khác của ECC, nơi nó đóng một vai trò quan trọng trong việc mã hóa dữ liệu trao đổi giữa trình duyệt web và máy chủ, giúp bảo vệ thông tin cá nhân và dữ liệu nhạy cảm khỏi các nguy cơ bị đánh cắp hoặc giả mạo. Sử dụng ECC trong SSL/TLS không chỉ cung cấp một lớp bảo mật mạnh mẽ mà còn giúp tối ưu hóa hiệu suất, đặc biệt quan trọng đối với các ứng dụng yêu cầu tốc độ và hiệu suất cao.

Trong lĩnh vực tiền mã hóa và blockchain, ECC được áp dụng để tạo ra các khóa bảo mật cho ví tiền mã hóa và để thực hiện chữ ký số cho các giao dịch blockchain. Sự bảo mật và khả năng chống lại các cuộc tấn công mật mã của ECC làm cho nó trở thành một lựa chọn lý tưởng cho môi trường tiền mã hóa, nơi mà bảo mật và tính ẩn danh là cực kỳ quan trọng. Ngoài ra, khả năng tạo ra khóa với kích thước nhỏ hơn cũng giúp giảm bớt kích thước của giao dịch, từ đó tăng hiệu quả của mạng blockchain.

Tóm lại, ứng dụng của ECC trong chứng chỉ số và chữ ký số, bảo mật SSL/TLS, cũng như trong tiền mã hóa và blockchain, không chỉ chứng minh được sức mạnh và độ an toàn của nó trong bảo mật thông tin mà còn cho thấy khả năng tương thích rộng rãi và hiệu suất cao trong các môi trường kỹ thuật số ngày nay.

Tương lai của Mật mã đường cong Elliptic (ECC)

Tương lai của Mật mã đường cong Elliptic (ECC) hứa hẹn sẽ tiếp tục định hình và ảnh hưởng đến thế giới bảo mật thông tin, nhất là trong bối cảnh sự phát triển nhanh chóng của công nghệ lượng tử và nhu cầu bảo mật ngày càng cao. Các nghiên cứu mới và xu hướng phát triển trong ECC tập trung vào việc tăng cường độ an toàn, hiệu quả và khả năng ứng dụng trong các lĩnh vực mới.

Một trong những xu hướng nghiên cứu chính là tối ưu hóa và cải thiện các thuật toán ECC để chúng trở nên an toàn hơn trước các loại tấn công tiềm năng, đặc biệt là từ máy tính lượng tử. Công nghệ lượng tử có khả năng làm giảm đáng kể độ khó của các bài toán mật mã mà ECC dựa vào, do đó việc phát triển các biến thể ECC chống lượng tử đang trở thành một lĩnh vực nghiên cứu quan trọng.

Bên cạnh đó, ECC cũng đang được khám phá để ứng dụng trong các lĩnh vực mới như IoT (Internet of Things), nơi mà việc bảo mật thông tin trở nên cực kỳ quan trọng. Do yêu cầu về kích thước nhỏ gọn, tiêu thụ năng lượng thấp và hiệu suất cao, ECC trở thành một lựa chọn lý tưởng cho bảo mật thiết bị IoT, giúp đảm bảo an toàn cho hàng tỷ thiết bị kết nối.

Vai trò của ECC trong lĩnh vực bảo mật thông tin dự kiến sẽ tiếp tục tăng lên, đặc biệt khi các tiêu chuẩn và giao thức bảo mật mới tiếp tục được phát triển và áp dụng. Sự chấp nhận ngày càng rộng rãi của ECC trong các tiêu chuẩn bảo mật quốc tế cũng là một dấu hiệu cho thấy tầm quan trọng và tiềm năng tăng trưởng của nó trong tương lai.

Tóm lại, ECC đang đứng trước một tương lai đầy hứa hẹn, với việc nghiên cứu và phát triển không ngừng nhằm mục đích tăng cường độ an toàn và mở rộng ứng dụng. Sự phát triển của công nghệ lượng tử và nhu cầu bảo mật thông tin trong thời đại số hiện nay sẽ tiếp tục thúc đẩy vai trò quan trọng của ECC trong việc bảo vệ thông tin và dữ liệu quan trọng.

Tổng kết

Trong nhiều trường hợp sử dụng, ECDSA 160-bit là được sử dụng vì nó phải khớp với hàm băm SHA-1. Trong số rất nhiều trường hợp sử dụng, ECDSA được sử dụng trong chứng chỉ số. Trong nó dạng đơn giản nhất, chứng chỉ kỹ thuật số là khóa công khai, đi kèm với thiết bị ID và ngày hết hạn chứng chỉ. Bằng cách này, các chứng chỉ cho phép chúng tôi kiểm tra và xác nhận khóa công khai thuộc về ai và thiết bị là thành viên hợp pháp của mạng đang được xem xét. Các chứng chỉ này rất quan trọng để ngăn chặn “cuộc tấn công mạo danh” ở cơ sở quan trọng các giao thức. Nhiều chứng chỉ TLS dựa trên cặp khóa ECDSA và điều này việc sử dụng tiếp tục phát triển

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now