Thuật toán Khóa bất đối xứng là gì

Người mới bắt đầu11/21/2022, 8:23:02 AM
Thuật toán khóa không đối xứng là các thuật toán có thể mã hóa và giải mã thông tin.


Thuật toán Khóa không đối xứng là gì


Các thuật toán khóa bất đối xứng thuộc lĩnh vực mật mã. Đó là những thuật toán có thể mã hóa và giải mã thông tin. Các hoạt động của chúng yêu cầu một khóa công khai và một khóa riêng tư. Khóa công khai có thể được biết đến bởi người khác. Khóa riêng tư cần phải không được biết đến bởi bất kỳ ai ngoại trừ chủ sở hữu. Hai khóa có thể mã hóa và giải mã cho nhau. Bởi vì mã hóa và giải mã sử dụng hai khóa khác nhau, các thuật toán được gọi là các thuật toán khóa bất đối xứng.






Các thuật toán tương ứng là các Thuật toán Khóa đối xứng, sử dụng các khóa mật mã cho cả quá trình mã hóa văn bản thô và giải mã văn bản mã hóa. Ví dụ, sử dụng Thuật toán Khóa đối xứng AES (Tiêu chuẩn Mã hóa Tiên tiến) để mã hóa từ "Gate.io" có thể thu được chuỗi chữ cái U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. Ngược lại, văn bản mã hóa cũng có thể được giải mã bằng Thuật toán Khóa đối xứng AES để thu được chuỗi chữ cái ban đầu Gate.io. Vào những ngày đầu, các Thuật toán Khóa đối xứng được sử dụng để gửi các bức điện mã hóa. Quá trình giải mã này đơn giản và nhanh chóng, nhưng sau khi phương pháp mã hóa bị rò rỉ, việc giải mã thông tin bị chặn trở nên dễ dàng, và tính bảo mật không cao.


Bảo mật của các thuật toán khóa bất đối xứng cao hơn so với các thuật toán khóa đối xứng, nhưng hiệu suất của chúng thấp hơn so với các thuật toán khóa đối xứng do các phép toán phức tạp của chúng. Hãy hiểu đơn giản chúng thông qua một ví dụ: giả sử Jim muốn gửi một thông điệp cho Bob bằng cách sử dụng các thuật toán khóa bất đối xứng, Jim cần đi qua quá trình sau:


1. Cả Jim và Bob đều cần tạo ra một cặp khóa công khai và khóa riêng;

2. Khóa công khai của Jim được gửi cho Bob, và khóa bí mật được Jim lưu trữ; Khóa công khai của Bob được gửi cho Jim, và khóa bí mật được Bob lưu trữ;

3. Khi Jim gửi một tin nhắn đến Bob, anh ấy mã hóa tin nhắn bằng khóa công khai của Bob;

4. Sau khi Bob nhận được tin nhắn, anh ấy có thể giải mã nó bằng cách sử dụng khóa riêng của mình.


Ứng dụng của Thuật toán Asymmetric-key trong Blockchain


Thuật toán khóa không đối xứng là các thuật toán mật mã chính được sử dụng trong blockchain. Các kịch bản ứng dụng chính bao gồm mã hóa thông tin, chữ ký số, xác thực đăng nhập và chứng chỉ số. Giá trị của nó trong blockchain là khóa công khai và khóa riêng để xác định danh tính của người gửi và người nhận.


  1. Mã hóa thông tin: đảm bảo an ninh thông tin. Người gửi có một khóa công khai, và không quan trọng ai cũng biết, vì thông tin được gửi bởi người khác không ảnh hưởng đến người nhận. Khóa mà người nhận giữ là khóa riêng tư và người nhận là người duy nhất có thể mở khóa thông tin được mã hóa. Công nghệ mã hóa của giao dịch Bitcoin thuộc kịch bản này.

  2. Chữ ký số: đảm bảo sự gánh dấu của thông tin. Để chứng minh rằng thông tin không bị làm giả và thực sự được gửi bởi chủ sở hữu thông tin, chữ ký số được đính kèm phía sau thông tin gốc. Giống như chữ ký bằng tay, nó là duy nhất và súc tích.

  3. Xác thực đăng nhập: khách hàng mã hóa thông tin đăng nhập bằng khóa riêng và gửi nó đến máy chủ, sau đó máy chủ giải mã và xác thực thông tin đăng nhập bằng khóa công khai của khách hàng sau khi nhận được nó.

  4. Chứng chỉ số: đảm bảo tính hợp pháp của khóa công khai. Để người gửi có thể xác minh rằng khóa công khai lấy từ Internet là đúng, một tổ chức bên thứ ba CA (Certificate Authority) được tạo ra để đảm bảo tính hợp pháp của khóa công khai. Khi xuất bản thông tin, chủ sở hữu của văn bản gốc cần mang chữ ký số và chứng chỉ số của riêng mình, điều này có thể đảm bảo rằng thông tin không bị thay đổi.


Cách thức hoạt động của thuật toán khóa không đối xứng của Bitcoin như thế nào


Các Thuật toán khóa không đối xứng được sử dụng trong blockchain Bitcoin là Thuật toán mật mã đường cong Elliptic. Chúng cũng là Các Thuật toán khóa không đối xứng được sử dụng phổ biến trong blockchain hiện nay, được gọi là ECDSA, trong đó EC là viết tắt của "đường cong elliptic" và DSA là viết tắt của "digital signature algorithm".


Trong việc xác định các tham số của đường cong elliptic, hệ thống Bitcoin sử dụng một tham số đường cong gọi là SECP256k1. Để làm điều này, hệ thống ngẫu nhiên nhận được một khóa riêng có 32 byte trong quá trình hoạt động, sau đó lấy khóa công khai thông qua thuật toán chữ ký số đường cong elliptic (sử dụng đường cong SECP256k1), và sau đó thực hiện nhiều thuật toán băm để lấy băm khóa công khai, và hình thành địa chỉ tài khoản cuối cùng kết hợp với số phiên bản.



Ví dụ, hai số nguyên tố (152, 891) được tạo ngẫu nhiên để tạo thành một "khóa riêng" sáu chữ số 152891, và quy tắc để tạo ra một "khóa công khai" là nhân hai số nguyên tố này (152x891=135432). Lúc này, mọi người trên mạng có thể nhận được "khóa công khai" này. Khi bạn muốn dữ liệu này chỉ được bạn sửa đổi, bạn có thể thêm một chú thích vào dữ liệu "‘khóa công khai’ 135432": chỉ có ba chữ số bên trái của khóa riêng nhân với ba chữ số bên phải sẽ bằng khóa công khai và có thể sửa đổi được.


Nếu một hacker trên mạng muốn can thiệp vào dữ liệu mà không có sự đồng ý, thậm chí nếu anh ấy biết rằng "khóa riêng tư" tạo ra "khóa công khai" bằng cách nhân hai số nguyên tố, anh ấy không biết đó là hai số nguyên tố nào. Do đó, để tìm ra khóa riêng tư của "khóa công khai" 135423, anh ấy chỉ có thể thử từng cái một theo cách trực tiếp nhất: 001 x 02, …, 998 x 999, v.v. Quá trình này trở nên khó khăn khi số nguyên tố lớn.


Một ví dụ như vậy khá đơn giản. Máy tính có thể tính toán "khóa riêng tư" của ví dụ trên trực tiếp từ "khóa công khai". Tuy nhiên, thuật toán đường cong elliptic được sử dụng bởi hệ thống Bitcoin để tạo ra "khóa công khai" từ "khóa riêng tư" khó khăn để phá với công nghệ hiện tại. Bởi vì số nguyên tố của nó rất lớn. Hơn nữa, quá trình giải mã khóa riêng tư trong hệ thống Bitcoin được thực hiện bằng một ngôn ngữ thực thi ngăn xếp của đảo ngược Ba Lan.



đường cong elip


Khóa riêng có thể suy luận khóa công khai và băm khóa công khai, nhưng khóa công khai và băm khóa công khai không thể suy luận được khóa riêng. Do đó, người dùng cần giữ khóa riêng cẩn thận. Khi mất khóa riêng, tài sản trong tài khoản không thể khôi phục được.


Thuật toán Asymmetric-key Phổ biến


Thuật toán không đối xứng là cơ sở của hoạt động của blockchain. Ngoài thuật toán mật mã đường cong elip được sử dụng trong các blockchain như Bitcoin và Ethereum, các thuật toán mật mã khác sau đây cũng phổ biến trong blockchain.


Thuật toán RSA (Rivest Shamir Adleman): vì nó khó bị đánh đập, nó được sử dụng rộng rãi trong lĩnh vực mã hóa số và chữ ký số. Trong thuật toán RSA, cả khóa công cộng và khóa riêng đều có thể được sử dụng để mã hóa thông tin. Nếu khóa công cộng được sử dụng để mã hóa (để ngăn thông tin bị đánh cắp), thì khóa riêng sẽ được sử dụng để giải mã. Nếu khóa riêng được sử dụng để mã hóa (để ngăn thông tin bị sửa đổi), thì khóa công cộng sẽ được sử dụng để giải mã (chữ ký số). Lý thuyết, càng dài số bit khóa trong thuật toán RSA, thì sẽ càng khó để đánh đập (không loại trừ tính toán lượng tử). Do đó, khóa thường được sử dụng trong ngành công nghiệp không dưới 2048 bit.

Thuật toán chữ ký số DSA: thuật toán này không thể mã hóa hoặc giải mã thông tin, và chủ yếu được sử dụng để ký và xác thực thông tin được mã hóa. Bảo mật cao như thuật toán RSA, nhưng tốc độ xử lý nhanh hơn.

Thuật toán mật mã đường cong elliptic ECC: quá trình mã hóa được xuất phát từ đường cong elliptic trong toán học. So với thuật toán RSA, thuật toán ECC có tốc độ mã hóa và giải mã nhanh hơn và độ an toàn đơn vị cao hơn. Với cùng độ dài khóa, thuật toán ECC có độ an toàn cao nhất.


Kết luận


Mật mã là một trong những công nghệ cơ bản hỗ trợ hoạt động của các hệ thống blockchain. Nó đã trở thành một phần không thể thiếu của an ninh máy tính hiện đại và một thành phần chính của hệ sinh thái tiền điện tử đang phát triển. Với sự phát triển liên tục của mật mã, Thuật toán Khóa đối xứng và Thuật toán Khóa không đối xứng sẽ đóng vai trò quan trọng hơn trong việc chống lại các mối đe dọa đa dạng trong an ninh máy tính và xác minh an toàn tiền điện tử trong tương lai.


Autor: Rena
Traductor: Joy
Revisor(es): Hugo, Jiji, Piper
* La información no pretende ser ni constituye un consejo financiero ni ninguna otra recomendación de ningún tipo ofrecida o respaldada por Gate.io.
* Este artículo no se puede reproducir, transmitir ni copiar sin hacer referencia a Gate.io. La contravención es una infracción de la Ley de derechos de autor y puede estar sujeta a acciones legales.

Compartir

Contenido

Thuật toán khóa bất đối xứng là gì

Ứng dụng Thuật toán Khóa bất đối xứng trong Blockchain

Cách mà Thuật toán Khóa Bất đối xứng của Bitcoin hoạt động như thế nào

Thuật toán Asymmetric-key Phổ Biến

Kết luận

Thuật toán Khóa bất đối xứng là gì

Người mới bắt đầu11/21/2022, 8:23:02 AM
Thuật toán khóa không đối xứng là các thuật toán có thể mã hóa và giải mã thông tin.

Thuật toán khóa bất đối xứng là gì

Ứng dụng Thuật toán Khóa bất đối xứng trong Blockchain

Cách mà Thuật toán Khóa Bất đối xứng của Bitcoin hoạt động như thế nào

Thuật toán Asymmetric-key Phổ Biến

Kết luận


Thuật toán Khóa không đối xứng là gì


Các thuật toán khóa bất đối xứng thuộc lĩnh vực mật mã. Đó là những thuật toán có thể mã hóa và giải mã thông tin. Các hoạt động của chúng yêu cầu một khóa công khai và một khóa riêng tư. Khóa công khai có thể được biết đến bởi người khác. Khóa riêng tư cần phải không được biết đến bởi bất kỳ ai ngoại trừ chủ sở hữu. Hai khóa có thể mã hóa và giải mã cho nhau. Bởi vì mã hóa và giải mã sử dụng hai khóa khác nhau, các thuật toán được gọi là các thuật toán khóa bất đối xứng.






Các thuật toán tương ứng là các Thuật toán Khóa đối xứng, sử dụng các khóa mật mã cho cả quá trình mã hóa văn bản thô và giải mã văn bản mã hóa. Ví dụ, sử dụng Thuật toán Khóa đối xứng AES (Tiêu chuẩn Mã hóa Tiên tiến) để mã hóa từ "Gate.io" có thể thu được chuỗi chữ cái U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4. Ngược lại, văn bản mã hóa cũng có thể được giải mã bằng Thuật toán Khóa đối xứng AES để thu được chuỗi chữ cái ban đầu Gate.io. Vào những ngày đầu, các Thuật toán Khóa đối xứng được sử dụng để gửi các bức điện mã hóa. Quá trình giải mã này đơn giản và nhanh chóng, nhưng sau khi phương pháp mã hóa bị rò rỉ, việc giải mã thông tin bị chặn trở nên dễ dàng, và tính bảo mật không cao.


Bảo mật của các thuật toán khóa bất đối xứng cao hơn so với các thuật toán khóa đối xứng, nhưng hiệu suất của chúng thấp hơn so với các thuật toán khóa đối xứng do các phép toán phức tạp của chúng. Hãy hiểu đơn giản chúng thông qua một ví dụ: giả sử Jim muốn gửi một thông điệp cho Bob bằng cách sử dụng các thuật toán khóa bất đối xứng, Jim cần đi qua quá trình sau:


1. Cả Jim và Bob đều cần tạo ra một cặp khóa công khai và khóa riêng;

2. Khóa công khai của Jim được gửi cho Bob, và khóa bí mật được Jim lưu trữ; Khóa công khai của Bob được gửi cho Jim, và khóa bí mật được Bob lưu trữ;

3. Khi Jim gửi một tin nhắn đến Bob, anh ấy mã hóa tin nhắn bằng khóa công khai của Bob;

4. Sau khi Bob nhận được tin nhắn, anh ấy có thể giải mã nó bằng cách sử dụng khóa riêng của mình.


Ứng dụng của Thuật toán Asymmetric-key trong Blockchain


Thuật toán khóa không đối xứng là các thuật toán mật mã chính được sử dụng trong blockchain. Các kịch bản ứng dụng chính bao gồm mã hóa thông tin, chữ ký số, xác thực đăng nhập và chứng chỉ số. Giá trị của nó trong blockchain là khóa công khai và khóa riêng để xác định danh tính của người gửi và người nhận.


  1. Mã hóa thông tin: đảm bảo an ninh thông tin. Người gửi có một khóa công khai, và không quan trọng ai cũng biết, vì thông tin được gửi bởi người khác không ảnh hưởng đến người nhận. Khóa mà người nhận giữ là khóa riêng tư và người nhận là người duy nhất có thể mở khóa thông tin được mã hóa. Công nghệ mã hóa của giao dịch Bitcoin thuộc kịch bản này.

  2. Chữ ký số: đảm bảo sự gánh dấu của thông tin. Để chứng minh rằng thông tin không bị làm giả và thực sự được gửi bởi chủ sở hữu thông tin, chữ ký số được đính kèm phía sau thông tin gốc. Giống như chữ ký bằng tay, nó là duy nhất và súc tích.

  3. Xác thực đăng nhập: khách hàng mã hóa thông tin đăng nhập bằng khóa riêng và gửi nó đến máy chủ, sau đó máy chủ giải mã và xác thực thông tin đăng nhập bằng khóa công khai của khách hàng sau khi nhận được nó.

  4. Chứng chỉ số: đảm bảo tính hợp pháp của khóa công khai. Để người gửi có thể xác minh rằng khóa công khai lấy từ Internet là đúng, một tổ chức bên thứ ba CA (Certificate Authority) được tạo ra để đảm bảo tính hợp pháp của khóa công khai. Khi xuất bản thông tin, chủ sở hữu của văn bản gốc cần mang chữ ký số và chứng chỉ số của riêng mình, điều này có thể đảm bảo rằng thông tin không bị thay đổi.


Cách thức hoạt động của thuật toán khóa không đối xứng của Bitcoin như thế nào


Các Thuật toán khóa không đối xứng được sử dụng trong blockchain Bitcoin là Thuật toán mật mã đường cong Elliptic. Chúng cũng là Các Thuật toán khóa không đối xứng được sử dụng phổ biến trong blockchain hiện nay, được gọi là ECDSA, trong đó EC là viết tắt của "đường cong elliptic" và DSA là viết tắt của "digital signature algorithm".


Trong việc xác định các tham số của đường cong elliptic, hệ thống Bitcoin sử dụng một tham số đường cong gọi là SECP256k1. Để làm điều này, hệ thống ngẫu nhiên nhận được một khóa riêng có 32 byte trong quá trình hoạt động, sau đó lấy khóa công khai thông qua thuật toán chữ ký số đường cong elliptic (sử dụng đường cong SECP256k1), và sau đó thực hiện nhiều thuật toán băm để lấy băm khóa công khai, và hình thành địa chỉ tài khoản cuối cùng kết hợp với số phiên bản.



Ví dụ, hai số nguyên tố (152, 891) được tạo ngẫu nhiên để tạo thành một "khóa riêng" sáu chữ số 152891, và quy tắc để tạo ra một "khóa công khai" là nhân hai số nguyên tố này (152x891=135432). Lúc này, mọi người trên mạng có thể nhận được "khóa công khai" này. Khi bạn muốn dữ liệu này chỉ được bạn sửa đổi, bạn có thể thêm một chú thích vào dữ liệu "‘khóa công khai’ 135432": chỉ có ba chữ số bên trái của khóa riêng nhân với ba chữ số bên phải sẽ bằng khóa công khai và có thể sửa đổi được.


Nếu một hacker trên mạng muốn can thiệp vào dữ liệu mà không có sự đồng ý, thậm chí nếu anh ấy biết rằng "khóa riêng tư" tạo ra "khóa công khai" bằng cách nhân hai số nguyên tố, anh ấy không biết đó là hai số nguyên tố nào. Do đó, để tìm ra khóa riêng tư của "khóa công khai" 135423, anh ấy chỉ có thể thử từng cái một theo cách trực tiếp nhất: 001 x 02, …, 998 x 999, v.v. Quá trình này trở nên khó khăn khi số nguyên tố lớn.


Một ví dụ như vậy khá đơn giản. Máy tính có thể tính toán "khóa riêng tư" của ví dụ trên trực tiếp từ "khóa công khai". Tuy nhiên, thuật toán đường cong elliptic được sử dụng bởi hệ thống Bitcoin để tạo ra "khóa công khai" từ "khóa riêng tư" khó khăn để phá với công nghệ hiện tại. Bởi vì số nguyên tố của nó rất lớn. Hơn nữa, quá trình giải mã khóa riêng tư trong hệ thống Bitcoin được thực hiện bằng một ngôn ngữ thực thi ngăn xếp của đảo ngược Ba Lan.



đường cong elip


Khóa riêng có thể suy luận khóa công khai và băm khóa công khai, nhưng khóa công khai và băm khóa công khai không thể suy luận được khóa riêng. Do đó, người dùng cần giữ khóa riêng cẩn thận. Khi mất khóa riêng, tài sản trong tài khoản không thể khôi phục được.


Thuật toán Asymmetric-key Phổ biến


Thuật toán không đối xứng là cơ sở của hoạt động của blockchain. Ngoài thuật toán mật mã đường cong elip được sử dụng trong các blockchain như Bitcoin và Ethereum, các thuật toán mật mã khác sau đây cũng phổ biến trong blockchain.


Thuật toán RSA (Rivest Shamir Adleman): vì nó khó bị đánh đập, nó được sử dụng rộng rãi trong lĩnh vực mã hóa số và chữ ký số. Trong thuật toán RSA, cả khóa công cộng và khóa riêng đều có thể được sử dụng để mã hóa thông tin. Nếu khóa công cộng được sử dụng để mã hóa (để ngăn thông tin bị đánh cắp), thì khóa riêng sẽ được sử dụng để giải mã. Nếu khóa riêng được sử dụng để mã hóa (để ngăn thông tin bị sửa đổi), thì khóa công cộng sẽ được sử dụng để giải mã (chữ ký số). Lý thuyết, càng dài số bit khóa trong thuật toán RSA, thì sẽ càng khó để đánh đập (không loại trừ tính toán lượng tử). Do đó, khóa thường được sử dụng trong ngành công nghiệp không dưới 2048 bit.

Thuật toán chữ ký số DSA: thuật toán này không thể mã hóa hoặc giải mã thông tin, và chủ yếu được sử dụng để ký và xác thực thông tin được mã hóa. Bảo mật cao như thuật toán RSA, nhưng tốc độ xử lý nhanh hơn.

Thuật toán mật mã đường cong elliptic ECC: quá trình mã hóa được xuất phát từ đường cong elliptic trong toán học. So với thuật toán RSA, thuật toán ECC có tốc độ mã hóa và giải mã nhanh hơn và độ an toàn đơn vị cao hơn. Với cùng độ dài khóa, thuật toán ECC có độ an toàn cao nhất.


Kết luận


Mật mã là một trong những công nghệ cơ bản hỗ trợ hoạt động của các hệ thống blockchain. Nó đã trở thành một phần không thể thiếu của an ninh máy tính hiện đại và một thành phần chính của hệ sinh thái tiền điện tử đang phát triển. Với sự phát triển liên tục của mật mã, Thuật toán Khóa đối xứng và Thuật toán Khóa không đối xứng sẽ đóng vai trò quan trọng hơn trong việc chống lại các mối đe dọa đa dạng trong an ninh máy tính và xác minh an toàn tiền điện tử trong tương lai.


Autor: Rena
Traductor: Joy
Revisor(es): Hugo, Jiji, Piper
* La información no pretende ser ni constituye un consejo financiero ni ninguna otra recomendación de ningún tipo ofrecida o respaldada por Gate.io.
* Este artículo no se puede reproducir, transmitir ni copiar sin hacer referencia a Gate.io. La contravención es una infracción de la Ley de derechos de autor y puede estar sujeta a acciones legales.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!