Mã hóa bất đối xứng. Làm thế nào nó hoạt động? Mật mã đối xứng và bất đối xứng

Phần này giải quyết các vấn đề sau:

  • Các loại mật mã
  • Mật mã thay thế
  • Mật mã hoán vị
  • Phương pháp mã hóa
  • Thuật toán đối xứng và bất đối xứng
  • Mật mã đối xứng
  • Mật mã bất đối xứng
  • Chặn và truyền mật mã
  • Các vectơ khởi tạo
  • Phương pháp mã hóa lai
Mật mã đối xứng được chia thành hai loại chính: thay thế và hoán vị. Mật mã thay thế thay thế các bit, ký hiệu hoặc khối bằng các bit, ký hiệu hoặc khối khác. Mật mã hoán vị không thay đổi văn bản nguồn; thay vào đó, chúng di chuyển ý nghĩa ban đầu trong văn bản nguồn - chúng sắp xếp lại các bit, ký tự hoặc khối ký tự để ẩn ý nghĩa ban đầu.

Mật mã thay thế sử dụng một khóa chỉ định cách thực hiện việc thay thế. TRONG mật mã của Caesar mỗi ký tự được thay thế bằng ký tự cách nó ba vị trí xa hơn trong bảng chữ cái. Thuật toán là bảng chữ cái và chìa khóa là hướng dẫn “dịch chuyển theo ba ký tự”.

Phép thay thế được sử dụng bởi các thuật toán đối xứng hiện đại, nhưng rất khó để so sánh với một phương pháp đơn giản như mật mã Caesar. Tuy nhiên, mật mã Caesar rất đơn giản và một ví dụ rõ ràng khái niệm về cách thức hoạt động của mật mã thay thế.

Trong mật mã hoán vị, các giá trị được xáo trộn hoặc đặt theo thứ tự khác. Phím này chỉ định vị trí mà giá trị sẽ được di chuyển tới đó, như trong Hình 6-6.

Hình 6-6. Mật mã hoán vị


Cái này ví dụ đơn giản nhất mã hóa hoán vị, nó chỉ cho biết hoán vị được thực hiện như thế nào. Nếu có liên quan đến các hàm toán học phức tạp, hoán vị có thể trở nên khá khó bẻ khóa. Các thuật toán đối xứng hiện đại sử dụng cả hai chuỗi dài sự thay thế và hoán vị phức tạp của các ký hiệu của tin nhắn được mã hóa. Thuật toán chứa khả thi phương pháp thay thế và hoán vị (thể hiện bằng công thức toán học). Điều quan trọng là các hướng dẫn cho thuật toán, xác định chính xác cách thực hiện phải quá trình xử lý xảy ra và theo trình tự nào. Để hiểu mối quan hệ giữa thuật toán và khóa, hãy xem Hình 6-7. Nói một cách hình tượng, thuật toán tạo ra hộp khác nhau, mỗi công thức có một bộ công thức toán học riêng (khác với các công thức khác) chỉ ra các bước thay thế và hoán vị phải được thực hiện trên các bit rơi vào hộp này. Để mã hóa một thông điệp, giá trị của mỗi bit phải đi qua các hộp khác nhau. Tuy nhiên, nếu mỗi thư của chúng ta đi qua cùng một bộ hộp thư theo cùng một trình tự, kẻ tấn công có thể dễ dàng đảo ngược quy trình này, bẻ khóa mật mã và lấy được bản rõ của thư của chúng ta.

Hình 6-7. Mối quan hệ giữa khóa và thuật toán


Để ngăn chặn kẻ tấn công, một khóa được sử dụng, đây là một tập hợp các giá trị cho biết nên sử dụng hộp nào, theo trình tự nào và với những giá trị nào. Vì vậy, nếu tin nhắn A được mã hóa bằng khóa 1 thì khóa yêu cầu tin nhắn phải đi qua các ô 1, 6, 4 và 5. Khi cần mã hóa tin nhắn B, chúng ta sử dụng khóa 2, tức là tin nhắn phải đi qua các ô 8. , 3, 2 và 9. Khóa bổ sung tính ngẫu nhiên và bí mật cho quá trình mã hóa.

Các mật mã thay thế và hoán vị đơn giản rất dễ bị tấn công phân tích tần số (phân tích tần số). Trong mọi ngôn ngữ, một số từ và mẫu được sử dụng thường xuyên hơn những từ và mẫu khác. Ví dụ, trong văn bản tiếng Anh chữ “e” thường được sử dụng thường xuyên hơn. Khi thực hiện phân tích tần số của tin nhắn, kẻ tấn công tìm kiếm các mẫu 8 bit được lặp lại thường xuyên nhất (tạo nên ký tự). Nếu ở Tin nhắn ngắn chẳng hạn, anh ta tìm thấy 12 mẫu 8 bit, anh ta có thể kết luận rằng rất có thể đó là chữ cái "e" - chữ cái được sử dụng phổ biến nhất trong ngôn ngữ. Bây giờ kẻ tấn công có thể thay thế các bit này bằng chữ "e". Điều này sẽ giúp anh ta thuận lợi hơn trong quá trình cho phép anh ta thiết kế ngược và khôi phục tin nhắn ban đầu.

Các thuật toán đối xứng hiện đại sử dụng các kỹ thuật thay thế và hoán vị trong quá trình mã hóa, nhưng chúng sử dụng (nên sử dụng) toán học quá phức tạp để cho phép một cuộc tấn công phân tích tần số đơn giản như vậy thành công.

Chức năng tạo khóa.Để tạo các khóa phức tạp, khóa chính thường được tạo trước tiên, từ đó các khóa đối xứng được tạo. Ví dụ: nếu một ứng dụng chịu trách nhiệm tạo khóa phiên cho mỗi thực thể truy cập vào nó thì ứng dụng đó không nên chỉ cung cấp các bản sao của cùng một khóa. Các thực thể khác nhau yêu cầu các khóa đối xứng khác nhau trên mỗi kết nối để giảm thiểu khoảng thời gian sử dụng chúng. Ngay cả khi kẻ tấn công chặn lưu lượng và bẻ khóa, hắn sẽ chỉ có thể xem thông tin được truyền trong phiên tương ứng. Phiên mới sẽ sử dụng một khóa khác. Nếu hai hoặc nhiều khóa được tạo từ một khóa chính thì chúng được gọi là khóa con (khóa con).

Các hàm tạo khóa (KDF – hàm dẫn xuất khóa) được sử dụng để tạo các khóa bao gồm các giá trị ngẫu nhiên. Ý nghĩa khác nhau có thể được sử dụng độc lập hoặc cùng nhau làm vật liệu khóa ngẫu nhiên. Các thuật toán được tạo ra sử dụng hàm băm, mật khẩu và/hoặc muối cụ thể được truyền qua các hàm toán học được thuật toán chỉ định nhiều lần. Tài liệu quan trọng này được trải qua càng nhiều lần chức năng quy định, những thứ kia mức cao hơn sự tự tin và bảo mật có thể được đảm bảo bởi toàn bộ hệ thống mật mã.


GHI CHÚ. Hãy nhớ rằng thuật toán vẫn ở trạng thái tĩnh. Tính ngẫu nhiên của quá trình mã hóa được đảm bảo chủ yếu bằng vật liệu chính.


Mặc dù có nhiều phần trong quá trình mã hóa nhưng có hai phần chính: thuật toán và khóa. Như đã nêu trước đó, các thuật toán được sử dụng trong hệ thống máy tính rất phức tạp. công thức toán học, đưa ra các quy tắc chuyển đổi bản rõ thành bản mã. Khóa là một chuỗi các bit ngẫu nhiên được thuật toán sử dụng để thêm tính ngẫu nhiên vào quá trình mã hóa. Để hai thực thể giao tiếp bằng mã hóa, chúng phải sử dụng cùng một thuật toán và trong một số trường hợp, cùng một khóa. Trong một số công nghệ mã hóa, người nhận và người gửi sử dụng cùng một khóa, trong khi ở các công nghệ khác, họ phải sử dụng các khóa khác nhau nhưng có liên quan để mã hóa và giải mã thông tin. Các phần sau đây giải thích sự khác biệt giữa hai loại phương pháp mã hóa này.

Các thuật toán mật mã được chia thành thuật toán đối xứng sử dụng khóa đối xứng (còn gọi là khóa bí mật) và thuật toán bất đối xứng , sử dụng khóa bất đối xứng (còn gọi là khóa chung và khóa riêng).

Trong hệ thống mật mã sử dụng mật mã đối xứng, người gửi và người nhận sử dụng hai bản sao của cùng một khóa để mã hóa và giải mã thông tin, như trong Hình 6-8. Do đó, khóa có chức năng kép và được sử dụng trong cả quá trình mã hóa và giải mã. Khóa đối xứng còn được gọi là chìa khóa bí mật, bởi vì Kiểu mã hóa này yêu cầu mỗi người dùng phải giữ bí mật khóa và bảo vệ nó một cách thích hợp. Nếu kẻ tấn công lấy được khóa này, hắn có thể sử dụng nó để giải mã bất kỳ tin nhắn nào được mã hóa trên đó bị chặn.

Hình 6-8. Khi sử dụng thuật toán đối xứng, người gửi và người nhận sử dụng cùng một khóa để mã hóa và giải mã dữ liệu


Mỗi cặp người dùng yêu cầu hai bản sao của cùng một khóa để trao đổi dữ liệu một cách an toàn bằng cách sử dụng mật mã đối xứng. Ví dụ: nếu Dan và Irina cần trao đổi dữ liệu, cả hai đều cần có một bản sao của cùng một khóa. Nếu Dan cũng muốn liên lạc với Norm và Dave bằng mật mã đối xứng, anh ấy cần có ba khóa riêng biệt - một khóa cho mỗi người bạn. Đây không phải là Vấn đề lớn, cho đến khi Dan cần tương tác với hàng trăm người khác trong vài tháng và duy trì lịch sử trao đổi thư từ. Rốt cuộc, điều này sẽ yêu cầu sử dụng khóa thích hợp để trao đổi thư từ với từng người nhận cụ thể. Trong trường hợp này nó có thể trở thành một nhiệm vụ khó khăn. Nếu mười người cần liên lạc an toàn với nhau bằng mật mã đối xứng, họ sẽ cần 45 khóa. Nếu một trăm người cần tương tác, họ sẽ cần 4950 phím. Công thức tính toán số lượng yêu cầu các phím đối xứng trông như thế này:

Số lượng khóa = N(N – 1)/2, trong đó N là số lượng người đăng ký


Khi sử dụng thuật toán đối xứng, người gửi và người nhận sử dụng cùng một khóa cho quá trình mã hóa và giải mã thông tin. Tính bảo mật của các thuật toán như vậy phụ thuộc hoàn toàn vào mức độ người dùng bảo vệ khóa. Trong trường hợp này, an ninh phụ thuộc hoàn toàn vào nhân viên, họ phải giữ bí mật chìa khóa của mình. Nếu một khóa bị xâm phạm, tất cả các tin nhắn được mã hóa bằng khóa đó có thể bị kẻ tấn công giải mã và đọc. Trên thực tế, nó càng trở nên phức tạp hơn vì các khóa cần được phân phối và cập nhật một cách an toàn khi cần thiết. Nếu Den cần tương tác với Norm lần đầu tiên, Den phải quyết định cách đưa chìa khóa cho Norm một cách an toàn. Nếu anh ta thực hiện việc này theo cách không an toàn, chẳng hạn như chỉ gửi khóa qua email, thì khóa đó có thể dễ dàng bị kẻ tấn công chặn và sử dụng. Vì vậy, Dan phải trao chìa khóa cho Norm một cách khác thường. Ví dụ: Dan có thể ghi chìa khóa vào ổ đĩa flash và đặt nó trên bàn của Norm hoặc gửi nó cho Norm thông qua một người chuyển phát nhanh đáng tin cậy. Quá trình phân phối khóa đối xứng có thể là một nhiệm vụ rất phức tạp và cồng kềnh.

Vì cả hai người dùng đều sử dụng cùng một khóa để mã hóa và giải mã tin nhắn nên hệ thống mật mã đối xứng có thể cung cấp tính bảo mật nhưng không cung cấp tính xác thực hoặc chống chối bỏ. Như là thuật toán mật mã sẽ không cho phép bạn chứng minh ai thực sự đã gửi tin nhắn, bởi vì cả hai người dùng đều sử dụng cùng một khóa.

Nhưng nếu các hệ thống mật mã đối xứng có rất nhiều thiếu sót và vấn đề thì tại sao chúng lại được sử dụng ở hầu hết mọi nơi? Bởi vì chúng cung cấp tốc độ xử lý rất cao và rất khó hack. Các thuật toán đối xứng nhanh hơn nhiều so với các thuật toán bất đối xứng. Họ có thể mã hóa và giải mã lượng lớn dữ liệu tương đối nhanh chóng. Ngoài ra, dữ liệu được mã hóa bằng thuật toán đối xứng sử dụng khóa dài rất khó bị bẻ khóa.

Danh sách sau đây mô tả những điểm mạnh và mặt yếu Hệ thống mật mã có khóa đối xứng:

Điểm mạnh:

  • Nhanh hơn nhiều so với các hệ thống bất đối xứng
  • Khó hack khi sử dụng phím dài
Các mặt yếu:
  • Yêu cầu cơ chế chuyển khóa an toàn
  • Mỗi cặp người dùng cần một khóa duy nhất; Khi số lượng người dùng tăng lên, số lượng khóa ngày càng tăng có thể khiến việc quản lý chúng trở nên không thực tế.
  • Cung cấp tính bảo mật nhưng không cung cấp tính xác thực hoặc chống chối bỏ
Dưới đây là một số ví dụ về thuật toán đối xứng, sẽ được thảo luận chi tiết sau trong phần Mật mã khối và luồng.
  • RC4, RC5 và RC6
Liên kết liên quan:
  • Bảo mật trong các hệ thống mở, Nút 208, “Mật mã khóa đối xứng,” của Paul Markovitz, Ấn bản đặc biệt 800-7 của NIST (tháng 7 năm 1994)
Trong mật mã khóa đối xứng, cùng một khóa bí mật được sử dụng để mã hóa và giải mã, trong khi ở các hệ thống khóa chung, các khóa khác nhau được sử dụng cho các mục đích này. không đối xứng ) phím. Trong trường hợp này, hai khóa bất đối xứng khác nhau có liên quan về mặt toán học. Nếu tin nhắn được mã hóa bằng một khóa thì cần có một khóa khác để giải mã nó.

Trong các hệ thống khóa công khai, một cặp khóa được tạo ra, một khóa là riêng tư và khóa kia là khóa công khai. Khóa công khai(khóa công khai) có thể được mọi người biết đến và khóa riêng(khóa riêng) chỉ có chủ nhân của nó mới biết. Thông thường khóa công khai được lưu trữ trong các thư mục và cơ sở dữ liệu địa chỉ E-mail, được cung cấp công khai cho bất kỳ ai muốn sử dụng các khóa này để mã hóa và giải mã dữ liệu khi tương tác với các cá nhân. Hình 6-9 minh họa việc sử dụng các phím bất đối xứng khác nhau.
Khóa chung và khóa riêng của hệ thống mật mã bất đối xứng có liên quan về mặt toán học, nhưng nếu ai đó có khóa chung của người khác thì không thể biết khóa riêng tương ứng của họ. Do đó, nếu kẻ tấn công lấy được bản sao khóa chung của Bob, điều này không có nghĩa là bằng phép thuật toán học nào đó hắn sẽ có thể lấy được khóa riêng tương ứng của Bob. Tuy nhiên, nếu ai đó nắm giữ được khóa riêng của Bob thì sẽ xảy ra vấn đề lớn. Do đó, không ai khác ngoài chủ sở hữu có quyền truy cập vào khóa riêng.

Hình 6-9. Hệ thống mật mã bất đối xứng


Nếu Bob mã hóa dữ liệu bằng khóa riêng của mình thì người nhận sẽ cần khóa chung của Bob để giải mã dữ liệu đó. Người nhận không chỉ có thể giải mã tin nhắn của Bob mà còn có thể trả lời Bob bằng một tin nhắn được mã hóa. Để làm điều này, anh ta cần mã hóa câu trả lời của mình bằng khóa chung của Bob, sau đó Bob có thể giải mã câu trả lời này bằng khóa riêng của mình. Khi sử dụng thuật toán bất đối xứng, không thể mã hóa và giải mã tin nhắn bằng cùng một khóa; các khóa này, mặc dù có liên quan về mặt toán học nhưng không giống nhau (không giống như các thuật toán đối xứng). Bob có thể mã hóa dữ liệu bằng khóa riêng của mình, sau đó người nhận có thể giải mã dữ liệu bằng khóa chung của Bob. Bằng cách giải mã tin nhắn bằng khóa chung của Bob, người nhận có thể chắc chắn rằng tin nhắn thực sự đến từ Bob, vì tin nhắn chỉ có thể được giải mã bằng khóa chung của Bob nếu nó được mã hóa bằng khóa riêng tương ứng của Bob. Điều này cung cấp khả năng xác thực vì Bob (có lẽ) là người duy nhất có khóa riêng này. Nếu người nhận muốn chắc chắn rằng người duy nhất có thể đọc được phản hồi của mình sẽ là Bob thì anh ta phải mã hóa tin nhắn của mình gửi cho Bob bằng khóa chung của Bob. Khi đó chỉ Bob mới có thể giải mã được tin nhắn này vì chỉ anh ấy mới có khóa riêng cần thiết để làm việc đó.

Ngoài ra, người nhận có thể chọn mã hóa dữ liệu bằng khóa riêng của họ thay vì khóa chung của Bob. Điều này sẽ mang lại cho anh ta những gì? Xác thực. Bob sẽ biết rằng tin nhắn đó là của anh ấy và không thể đến từ bất kỳ ai khác. Nếu anh ta mã hóa dữ liệu bằng khóa chung của Bob, điều này sẽ không cung cấp xác thực vì bất kỳ ai cũng có thể lấy được khóa công khai của Bob. Nếu anh ta sử dụng khóa riêng của mình để mã hóa dữ liệu thì Bob có thể chắc chắn rằng tin nhắn đó đến từ anh ta. Khóa đối xứng không cung cấp xác thực vì cả hai bên đều sử dụng cùng một khóa, điều này không thể đảm bảo rằng tin nhắn đến từ một người cụ thể.

Nếu người gửi quan tâm nhiều hơn đến tính bảo mật thông tin được truyền đi, anh ta nên mã hóa tin nhắn của mình bằng khóa chung của người nhận. Nó được gọi là định dạng tin nhắn an toàn (định dạng tin nhắn an toàn), vì chỉ người có khóa riêng tương ứng mới có thể giải mã tin nhắn này.

Nếu việc xác thực quan trọng hơn đối với người gửi, anh ta nên mã hóa dữ liệu được truyền bằng khóa riêng của mình. Điều này sẽ cho phép người nhận chắc chắn rằng người mã hóa dữ liệu là người có khóa riêng tương ứng. Nếu người gửi mã hóa dữ liệu bằng khóa chung của người nhận thì điều này không cung cấp xác thực vì khóa công khai có sẵn cho tất cả mọi người.

Mã hóa dữ liệu bằng khóa riêng của người gửi được gọi là định dạng mở tin nhắn (định dạng tin nhắn mở), bởi vì bất kỳ ai cũng có thể giải mã dữ liệu này bằng khóa chung của người gửi. Tính bảo mật không được đảm bảo.

Cả khóa riêng và khóa chung đều có thể được sử dụng để mã hóa và giải mã dữ liệu. Đừng nghĩ rằng khóa chung chỉ cần để mã hóa và khóa riêng chỉ cần để giải mã. Cần hiểu rằng nếu dữ liệu được mã hóa bằng khóa riêng thì không thể giải mã được bằng khóa đó. Dữ liệu được mã hóa bằng khóa riêng có thể được giải mã bằng khóa chung tương ứng. Và ngược lại.

Thuật toán bất đối xứng chậm hơn thuật toán đối xứng vì Các thuật toán đối xứng thực hiện các hàm toán học tương đối đơn giản trên các bit trong quá trình mã hóa và giải mã. Chúng thay thế và xáo trộn (di chuyển) các bit xung quanh, việc này không phức tạp lắm và không sử dụng nhiều CPU. Sở dĩ chúng có khả năng chống hack là vì chúng thực hiện các chức năng này nhiều lần. Do đó, trong các thuật toán đối xứng, một tập hợp các bit trải qua một chuỗi thay thế và hoán vị dài hơn.

Thuật toán bất đối xứng chậm hơn thuật toán đối xứng vì họ sử dụng toán học phức tạp hơn nhiều để thực hiện các chức năng của mình, việc này đòi hỏi nhiều thời gian CPU hơn. Tuy nhiên, các thuật toán bất đối xứng có thể cung cấp khả năng xác thực và chống chối bỏ tùy thuộc vào thuật toán được sử dụng. Ngoài ra, các hệ thống bất đối xứng cho phép quy trình phân phối khóa đơn giản và dễ quản lý hơn các hệ thống đối xứng và không gặp phải các vấn đề về khả năng mở rộng mà các hệ thống đối xứng gặp phải. Lý do cho những khác biệt này là với các hệ thống bất đối xứng, bạn có thể gửi khóa chung của mình cho tất cả những người bạn muốn tương tác, thay vì sử dụng khóa riêng cho từng người trong số họ. Tiếp theo, trong phần Phương pháp mã hóa kết hợp của Miền này, chúng ta sẽ xem xét cách sử dụng hai hệ thống này cùng nhau để đạt được kết quả tốt nhất.

GHI CHÚ. Mật mã khóa công khai là mật mã bất đối xứng. Những thuật ngữ này được sử dụng thay thế cho nhau.

Sau đây là những điểm mạnh và điểm yếu của thuật toán khóa bất đối xứng:

Điểm mạnh

  • Quá trình phân phối khóa tốt hơn hệ thống đối xứng
  • Khả năng mở rộng tốt hơn các hệ thống đối xứng
  • Có thể cung cấp xác thực và chống chối bỏ
Mặt yếu
  • Hoạt động chậm hơn nhiều so với hệ thống đối xứng
  • Thực hiện các phép biến đổi toán học phức tạp
Dưới đây là ví dụ về các thuật toán có khóa bất đối xứng.
  • Hệ thống mật mã đường cong Elliptic (ECC)
  • Thuật toán Diffie-Hellman
  • El Gamal
  • Thuật toán chữ ký số (DSA – Digital Signature Algorithm)
  • ba lô
Chúng tôi sẽ xem xét kỹ hơn các thuật toán này trong Miền này, trong phần “Các loại hệ thống bất đối xứng”.

Bảng 6-1 cung cấp một bản tóm tắt ngắn gọn về những khác biệt chính giữa hệ thống đối xứng và bất đối xứng.

Bảng 6-1. Sự khác biệt giữa hệ thống đối xứng và bất đối xứng


GHI CHÚ. Chữ ký số sẽ được thảo luận sau trong phần Chữ ký số.
Liên kết liên quan:
  • Bảo mật trong các hệ thống mở, Nút 210, “Mật mã khóa bất đối xứng,” của Paul Markovitz, Ấn bản đặc biệt 800-7 của NIST (tháng 7 năm 1994)
  • Các câu hỏi thường gặp về Mật mã ngày nay, Phiên bản 4.1, Phần 2.1.4.5, “Chế độ phản hồi đầu ra là gì?” bởi Phòng thí nghiệm RSA
Có hai loại thuật toán đối xứng chính: khối mật mã mật mã, hoạt động trên các khối bit, và mật mã dòng, xử lý từng bit một.

Nếu bạn sử dụng để mã hóa và giải mã dữ liệu khóa mật mã , thông điệp được chia thành các khối bit. Các khối này sau đó được chuyển đến các hàm toán học để xử lý, mỗi lần một khối. Hãy tưởng tượng bạn cần mã hóa tin nhắn gửi cho mẹ mình bằng mật mã khối hoạt động theo khối 64 bit. Tin nhắn của bạn dài 640 bit nên được chia thành 10 khối 64 bit riêng biệt. Mỗi khối được truyền tuần tự đến đầu vào của hàm toán học. Quá trình này tiếp tục cho đến khi mỗi khối được chuyển thành bản mã. Sau đó, bạn gửi một tin nhắn được mã hóa cho mẹ bạn. Nó sử dụng cùng một mật mã khối và cùng một khóa. 10 khối bản mã này được đưa vào thuật toán theo thứ tự ngược lại cho đến khi thu được bản rõ gốc.


Để đảm bảo độ mạnh của mật mã, nó phải đủ bằng cấp hai phương pháp chính được sử dụng: trộn lẫn (nhầm lẫn) và phân tán (khuếch tán). Trộn thường được thực hiện bằng cách sử dụng thay thế, trong khi khuếch tán - sử dụng sắp xếp lại. Để một mật mã thực sự mạnh, nó phải sử dụng cả hai phương pháp này để khiến kỹ thuật đảo ngược gần như không thể thực hiện được. Mức độ trộn và phân tán được biểu thị bằng tính ngẫu nhiên của giá trị khóa và độ phức tạp của các hàm toán học được sử dụng.

Trong các thuật toán, sự tán xạ có thể xảy ra ở cả cấp độ của các bit riêng lẻ trong khối và ở cấp độ của chính các khối đó. Việc trộn được thực hiện bằng cách sử dụng hàm phức tạp thay thế để kẻ tấn công không thể hiểu các giá trị ban đầu được thay thế như thế nào và lấy được bản rõ gốc. Hãy tưởng tượng rằng tôi có 500 khối gỗ, mỗi khối có một chữ cái trên đó. Tôi sắp xếp chúng để tạo một tin nhắn (văn bản thuần túy) từ chúng. Sau đó tôi thay thế 300 khối này bằng các khối từ một bộ khác (xáo trộn bằng cách thay thế). Sau đó, tôi sắp xếp lại tất cả các khối này (phân tán bằng cách xáo trộn) và để lại đống này. Để bạn có thể xây dựng lại câu gốc của tôi, bạn cần thay thế các khối bằng các khối đúng và đặt chúng theo đúng trình tự. Chúc may mắn!

Việc xáo trộn được thực hiện để tạo mối quan hệ giữa khóa và bản mã thu được. Mối quan hệ này phải phức tạp nhất có thể để không thể mở khóa dựa trên phân tích bản mã. Mỗi giá trị trong bản mã phải phụ thuộc vào một số phần của khóa, nhưng đối với người quan sát mối quan hệ này giữa các giá trị khóa và giá trị bản mã phải xuất hiện hoàn toàn ngẫu nhiên.

Mặt khác, tán xạ có nghĩa là một bit của bản rõ ảnh hưởng đến nhiều bit của bản mã. Việc thay thế một giá trị trong bản rõ sẽ dẫn đến việc thay thế nhiều giá trị trong bản mã chứ không chỉ một giá trị. Trên thực tế, trong một mật mã khối thực sự mạnh, khi một bit trong bản rõ bị thay đổi thì khoảng 50% số bit trong bản mã sẽ thay đổi. Những thứ kia. Nếu bạn chỉ thay đổi một bit trong bản rõ thì khoảng một nửa bản mã sẽ thay đổi.

Mật mã khối sử dụng cả xáo trộn và phân tán trong phương thức hoạt động của chúng. Hình 6-10 thể hiện một ví dụ khái niệm về mật mã khối đơn giản. Nó được cung cấp bốn khối, mỗi khối bốn bit để xử lý. Được xem xét thuật toán khối có hai cấp độ hộp thay thế bốn bit gọi là hộp S. Mỗi hộp S chứa các bảng tra cứu được thuật toán sử dụng làm hướng dẫn mã hóa các bit.

Hình 6-10. Thông báo được chia thành các khối bit trên đó các chức năng thay thế và phân tán được thực hiện


Khóa chỉ định (xem Hình 6-10) hộp S nào sẽ được sử dụng trong quá trình xáo trộn thông báo gốc từ bản rõ có thể đọc được sang bản mã không thể đọc được. Mỗi hộp S chứa các phương pháp thay thế và hoán vị khác nhau có thể được thực hiện trên mỗi khối. Đây là một ví dụ rất đơn giản. Trong thực tế, hầu hết các mật mã khối đều hoạt động với các khối 32, 64 hoặc 128 bit và có thể sử dụng nhiều hộp S hơn.

Như đã nêu trước đó, mật mã khối thực hiện các hàm toán học trên các khối bit. Không giống như họ, dòng mật mã (mật mã luồng) không chia thông điệp thành các khối. Chúng xử lý tin nhắn dưới dạng một luồng bit và thực hiện các hàm toán học trên từng bit riêng biệt.

Khi sử dụng mật mã dòng, quá trình mã hóa sẽ chuyển đổi từng bit của văn bản gốc thành một chút văn bản mã hóa. Mật mã dòng sử dụng bộ tạo dòng khóa tạo ra dòng bit được XOR với các bit văn bản gốc để tạo ra văn bản mã hóa. Điều này được thể hiện trong Hình 6-11.

Hình 6-11. Trong mật mã dòng, các bit được tạo bởi bộ tạo dòng khóa được XOR với các bit văn bản gốc của thông báo

GHI CHÚ. Quá trình này rất giống với việc sử dụng các miếng đệm mã hóa một lần được mô tả trước đó. Các bit riêng lẻ trong bảng đệm một lần được sử dụng để mã hóa các bit riêng lẻ của tin nhắn bằng thao tác XOR và trong thuật toán luồng, các bit riêng lẻ được tạo bởi trình tạo luồng khóa cũng được sử dụng để mã hóa các bit của tin nhắn bằng cách sử dụng Hoạt động XOR.

Nếu một hệ thống mật mã chỉ phụ thuộc vào thuật toán dòng đối xứng, kẻ tấn công có thể lấy được một bản sao của bản rõ và bản mã thu được, XOR chúng cùng nhau và tạo ra một dòng khóa đã sử dụng mà sau này hắn có thể sử dụng để giải mã các tin nhắn khác. Vì vậy, những người thông minh đã quyết định nhét chìa khóa vào luồng này.

Trong mật mã khối, khóa xác định chức năng nào được áp dụng cho bản rõ và theo thứ tự nào. Khóa đảm bảo tính ngẫu nhiên của quá trình mã hóa. Như đã nêu trước đó, hầu hết các thuật toán mã hóa đều là nguồn mở nên mọi người biết chúng hoạt động như thế nào. Bí mật duy nhất là chìa khóa. Trong mật mã dòng, tính ngẫu nhiên cũng đạt được thông qua khóa, làm cho dòng bit mà bản rõ được kết hợp ngẫu nhiên nhất có thể. Khái niệm này được minh họa trong Hình 6-12. Như bạn có thể thấy trong hình này, cả người gửi và người nhận đều phải có cùng một khóa để tạo cùng một luồng khóa để có thể mã hóa và giải mã thông tin một cách chính xác.

Hình 6-12. Người gửi và người nhận phải có cùng một khóa để tạo cùng một luồng khóa



Các vectơ khởi tạo (IV) là các giá trị ngẫu nhiên được thuật toán sử dụng để đảm bảo rằng không có mẫu nào trong quá trình mã hóa. Chúng được chia sẻ bằng khóa và không cần mã hóa khi gửi đến người nhận. Nếu không sử dụng vectơ khởi tạo thì hai bản rõ giống hệt nhau được mã hóa bằng cùng một khóa sẽ tạo ra cùng một bản mã. Mẫu như vậy sẽ đơn giản hóa đáng kể nhiệm vụ của kẻ tấn công là phá vỡ phương thức mã hóa và tiết lộ khóa. Nếu tin nhắn của bạn có một phần lặp lại (một cụm từ hoặc một từ), bạn cần đảm bảo rằng khi bạn mã hóa từng phần lặp lại của văn bản gốc của tin nhắn, một văn bản mã hóa khác sẽ được tạo, tức là. sẽ không có mẫu nào được tạo. Để đảm bảo tính ngẫu nhiên cao hơn trong quá trình mã hóa, vectơ khởi tạo được sử dụng cùng với khóa.

Mật mã dòng mạnh và hiệu quả có các đặc điểm sau:

  • Các mẫu không lặp lại trong thời gian dài trong các giá trị luồng chính. Các bit được tạo bởi dòng khóa phải là ngẫu nhiên.
  • Luồng khóa không thể đoán trước về mặt thống kê. Các bit được tạo ra ở đầu ra của bộ tạo dòng khóa sẽ không thể đoán trước được.
  • Luồng khóa không có mối quan hệ tuyến tính với khóa. Nếu ai đó đã lấy được các giá trị của luồng khóa thì điều này sẽ không dẫn đến việc họ nhận được giá trị khóa.
  • Luồng khóa thống nhất về mặt thống kê (số lượng số 0 và số 1 gần bằng nhau). Luồng khóa không được bị chi phối bởi số 0 hoặc số 1.
Mật mã dòng yêu cầu tính ngẫu nhiên và mã hóa từng bit một. Điều này đòi hỏi nhiều năng lượng CPU hơn mật mã khối, do đó, mật mã dòng phù hợp hơn để triển khai trong phần cứng. Và mật mã khối, vì chúng không yêu cầu nhiều tài nguyên bộ xử lý nên dễ thực hiện hơn trong cấp độ chương trình.
GHI CHÚ. Tất nhiên, có cả mật mã khối, được triển khai ở cấp độ phần cứng và mật mã dòng, hoạt động ở cấp độ phần mềm. Tuyên bố trên chỉ đơn giản là " thực hành tốt nhất", các khuyến nghị để phát triển và thực hiện.


Truyền mật mã và miếng đệm một lần. Mật mã dòng cung cấp cùng loại bảo mật như các miếng đệm một lần, vì vậy chúng hoạt động theo cách tương tự. Mật mã dòng thực sự không thể cung cấp mức độ bảo mật giống như các miếng đệm một lần vì chúng được thực hiện dưới dạng phần mềm và công cụ tự động. Tuy nhiên, điều này làm cho mật mã dòng trở nên thực tế hơn.


Trước đây, chúng ta đã xem xét các thuật toán đối xứng và bất đối xứng và lưu ý rằng thuật toán đối xứng nhanh nhưng có một số nhược điểm (khả năng mở rộng kém, quản lý khóa phức tạp, chỉ cung cấp tính bảo mật), trong khi thuật toán bất đối xứng không có những nhược điểm này nhưng chúng rất chậm. Bây giờ chúng ta hãy xem xét các hệ thống lai sử dụng cả phương pháp mã hóa đối xứng và bất đối xứng.

Sử dụng kết hợp các thuật toán bất đối xứng và đối xứng


Mật mã khóa công khai sử dụng hai khóa (công khai và riêng tư) được tạo bởi thuật toán bất đối xứng, nó được sử dụng để bảo vệ các khóa mã hóa và phân phối chúng. Chìa khóa bí mậtđược tạo bởi thuật toán đối xứng và được sử dụng cho quá trình mã hóa chính. Đây là cách sử dụng kết hợp của cả hai các thuật toán khác nhau: đối xứng và bất đối xứng. Mỗi thuật toán đều có những ưu điểm và nhược điểm riêng và chia sẻ cho phép bạn tận dụng tốt nhất từ ​​mỗi người trong số họ.

Trong phương pháp kết hợp, hai công nghệ này bổ sung cho nhau, mỗi công nghệ thực hiện các chức năng riêng của mình. Thuật toán đối xứng tạo ra các khóa dùng để mã hóa phần lớn dữ liệu, trong khi thuật toán bất đối xứng tạo ra các khóa dùng để tự động phân phối khóa đối xứng.

Khóa đối xứng được sử dụng để mã hóa tin nhắn bạn gửi. Khi bạn của bạn nhận được tin nhắn mà bạn đã mã hóa, anh ấy cần giải mã nó, việc này yêu cầu khóa đối xứng để mã hóa tin nhắn của bạn. Nhưng bạn không muốn gửi khóa này một cách không an toàn vì... tin nhắn có thể bị chặn và kẻ tấn công có thể lấy khóa không được bảo vệ từ tin nhắn đó để sử dụng sau này nhằm giải mã và đọc tin nhắn của bạn. Bạn không nên sử dụng khóa đối xứng để mã hóa tin nhắn trừ khi nó được bảo vệ đúng cách. Để đảm bảo bảo vệ khóa đối xứng một thuật toán bất đối xứng có thể được sử dụng để mã hóa nó (xem Hình 6-13). Nhưng tại sao chúng ta lại sử dụng khóa đối xứng để mã hóa tin nhắn và khóa bất đối xứng để mã hóa khóa đối xứng? Như đã đề cập trước đó, thuật toán bất đối xứng chậm vì nó sử dụng toán học phức tạp hơn. Và vì tin nhắn của bạn rất có thể sẽ dài hơn khóa, nên sử dụng thuật toán nhanh hơn (đối xứng) để mã hóa nó và thuật toán chậm hơn (bất đối xứng) cung cấp dịch vụ bổ sung bảo vệ.

Hình 6-13. Trong hệ thống lai, khóa bất đối xứng được sử dụng để mã hóa khóa đối xứng và khóa đối xứng được sử dụng để mã hóa tin nhắn


Điều này hoạt động như thế nào trong thực tế? Giả sử Bill gửi cho Paul một tin nhắn và chỉ muốn Paul có thể đọc được nó. Bill mã hóa tin nhắn bằng khóa bí mật, bây giờ nó có bản mã và khóa đối xứng. Khóa phải an toàn nên Bill mã hóa khóa đối xứng bằng khóa bất đối xứng. Thuật toán bất đối xứng sử dụng khóa riêng và khóa chung, vì vậy Bill mã hóa khóa đối xứng bằng khóa chung của Paul. Bây giờ Bill có bản mã tin nhắn và bản mã khóa đối xứng. Tại sao Bill mã hóa khóa đối xứng bằng khóa chung của Paul mà không phải bằng khóa riêng của anh ấy? Nếu Bill mã hóa nó bằng khóa riêng của mình thì bất kỳ ai cũng có thể giải mã nó bằng khóa chung của Bill và nhận được khóa đối xứng. Tuy nhiên, Bill không muốn bất kỳ ai có khóa công khai của mình có thể đọc được tin nhắn của mình gửi cho Paul. Bill chỉ muốn Paul có cơ hội này. Vì vậy Bill đã mã hóa khóa đối xứng bằng khóa chung của Paul. Nếu Paul bảo vệ tốt khóa riêng của mình thì chỉ có anh ấy mới có thể đọc được tin nhắn của Bill.

Paul nhận được tin nhắn của Bill và sử dụng khóa riêng của anh ấy để giải mã khóa đối xứng. Sau đó Paul sử dụng khóa đối xứng để giải mã tin nhắn. Bây giờ Paul có thể đọc được một tin nhắn quan trọng và bí mật từ Bill.

Khi chúng tôi nói rằng Bill sử dụng một khóa để mã hóa tin nhắn và Paul sử dụng cùng một khóa để giải mã nó, điều này không có nghĩa là họ thực hiện tất cả các thao tác này một cách thủ công. Phần mềm hiện đại thực hiện tất cả những điều này cho chúng ta mà không yêu cầu chúng ta phải có kiến ​​thức đặc biệt để sử dụng nó.

Mọi thứ ở đây khá đơn giản, bạn cần nhớ các khía cạnh sau:

  • Thuật toán bất đối xứng thực hiện mã hóa và giải mã bằng cách sử dụng khóa riêng và khóa chung có liên quan về mặt toán học.
  • Thuật toán đối xứng thực hiện mã hóa và giải mã bằng khóa bí mật chung.
  • Khóa đối xứng (bí mật) được sử dụng để mã hóa tin nhắn thực.
  • Khóa chung được sử dụng để mã hóa khóa đối xứng để truyền an toàn.
  • Khóa bí mật giống như khóa đối xứng.
  • Khóa bất đối xứng có thể là riêng tư hoặc công khai.
Vì vậy, khi sử dụng hệ thống hỗn hợp, thuật toán đối xứng tạo khóa bí mật dùng để mã hóa dữ liệu hoặc tin nhắn và khóa bất đối xứng sẽ mã hóa khóa bí mật.

Khóa phiên (khóa phiên) là khóa đối xứng được sử dụng để mã hóa tin nhắn trao đổi giữa hai người dùng. Khóa phiên không khác gì khóa đối xứng được mô tả trước đó nhưng nó chỉ hợp lệ cho một phiên giao tiếp giữa những người dùng.

Nếu Tanya có một khóa đối xứng mà cô ấy thường xuyên sử dụng để mã hóa tin nhắn giữa cô ấy và Lance thì khóa đối xứng đó không cần phải được tạo lại hoặc thay đổi. Họ chỉ cần sử dụng cùng một khóa mỗi khi tương tác bằng mã hóa. Tuy nhiên, lâu tái sử dụng sử dụng cùng một khóa sẽ làm tăng khả năng bị chặn và xâm phạm thông tin liên lạc an toàn. Để tránh điều này, bạn nên tạo một khóa đối xứng mới mỗi lần Tanya và Lance cần liên lạc và chỉ sử dụng nó cho một phiên giao tiếp, sau đó hủy nó (xem Hình 6-14). Ngay cả khi họ cần tương tác lại chỉ sau một giờ, khóa phiên mới sẽ được tạo.

Hình 6-14. Khóa phiên được tạo cho mỗi phiên tương tác của người dùng và chỉ có hiệu lực trong phiên đó


Phong bì kỹ thuật số. Khi mọi người lần đầu tiên làm quen với mật mã, việc sử dụng các thuật toán đối xứng và bất đối xứng cùng nhau có thể gây nhầm lẫn. Tuy nhiên, những khái niệm này rất quan trọng để hiểu vì chúng thực sự là những khái niệm cơ bản, cốt lõi của mật mã. Quá trình này không chỉ được sử dụng trong ứng dụng thư hoặc trong một số sản phẩm, nó xác định thứ tự xử lý dữ liệu và khóa đối xứng khi chúng được truyền đi.
Việc sử dụng kết hợp hai công nghệ này được gọi là cách tiếp cận lai, nhưng nó cũng có một cái tên tổng quát hơn - phong bì kỹ thuật số (phong bì kỹ thuật số).




Khóa phiên cung cấp thêm cấp độ cao bảo vệ, so với khóa đối xứng tĩnh, bởi vì nó chỉ có giá trị trong một phiên giao tiếp giữa hai máy tính. Nếu kẻ tấn công có thể chặn khóa phiên, hắn sẽ chỉ có thể sử dụng nó để truy cập trái phép vào thông tin được truyền trong một khoảng thời gian ngắn.

Nếu hai máy tính cần giao tiếp bằng mã hóa, trước tiên chúng phải trải qua quy trình “bắt tay”, trong đó chúng đồng ý về thuật toán mã hóa sẽ được sử dụng để truyền khóa phiên nhằm mã hóa thêm dữ liệu khi máy tính giao tiếp. Về cơ bản, hai máy tính thiết lập kết nối ảo với nhau, gọi là phiên. Sau khi phiên kết thúc, mỗi máy tính sẽ hủy mọi cấu trúc dữ liệu được tạo cho phiên đó, giải phóng tài nguyên và, cùng với những thứ khác, hủy khóa phiên đã sử dụng. Hệ điều hành và các ứng dụng thực hiện những việc này ở chế độ nền và người dùng không cần phải lo lắng về điều đó. Tuy nhiên, chuyên gia bảo mật phải hiểu sự khác biệt giữa các loại khóa và các vấn đề liên quan đến chúng.


GHI CHÚ. Khóa riêng và khóa đối xứng không được lưu trữ và/hoặc truyền dưới dạng bản rõ. Mặc dù điều này có vẻ hiển nhiên nhưng nhiều sản phẩm phần mềm đã bị xâm phạm vì lý do này.

Vấn đề bảo mật không dây. Chúng tôi đã xem xét các tiêu chuẩn 802.11 khác nhau và giao thức WEP trong Miền 05. Trong số danh sách rộng lớn các vấn đề với WEP, có một vấn đề liên quan đến mã hóa dữ liệu. Nếu chỉ sử dụng WEP để mã hóa lưu lượng không dây thì hầu hết các triển khai chỉ sử dụng một khóa đối xứng thống kê để mã hóa các gói. Một trong những thay đổi và ưu điểm của chuẩn 802.11i là nó đảm bảo rằng mỗi gói được mã hóa bằng một khóa phiên duy nhất.

Hệ thống mật mã bất đối xứng được phát triển vào những năm 1970. Sự khác biệt cơ bản giữa hệ thống mật mã bất đối xứng và hệ thống mật mã mã hóa đối xứng là các khóa khác nhau được sử dụng để mã hóa thông tin và quá trình giải mã thông tin sau đó:

    public key K: dùng để mã hóa thông tin, tính từ khóa bí mật k;

    khóa riêng k: dùng để giải mã thông tin được mã hóa bằng khóa chung K được ghép nối với nó.

Các khóa này khác nhau đến mức không thể suy ra khóa bí mật bằng các phép tính k từ khóa công khai K. Do đó, khóa công khai K có thể được truyền tự do qua các kênh truyền thông.

Các hệ thống bất đối xứng còn được gọi là hệ thống mật mã hai khóa hoặc hệ thống mật mã khóa công khai.

Sơ đồ bất đối xứng tổng quát hệ thống mã hóa mật mã

Để đóng mật mã và giải mã thông tin được truyền tiếp theo, khóa công khai và bí mật của người nhận được sử dụng TRONG tin nhắn. Khóa chung của người nhận phải được sử dụng làm khóa mã hóa và khóa riêng của người đó làm khóa giải mã.

Khóa riêng và khóa chung được tạo theo cặp. Khóa riêng phải được giữ lại với chủ sở hữu của nó; nó phải được bảo vệ một cách đáng tin cậy khỏi sự truy cập trái phép (tương tự như khóa mã hóa trong thuật toán đối xứng). Mỗi thuê bao của mạng mật mã mà chủ sở hữu khóa bí mật trao đổi thông tin phải có một bản sao khóa chung.

Quá trình mã hóa và truyền tin nhắn

Quá trình truyền thông tin được mã hóa trong hệ thống mật mã bất đối xứng được thực hiện như sau:

1. Giai đoạn chuẩn bị.

Người đăng kí TRONG tạo một cặp khóa: khóa bí mật k B và khóa công khai ĐẾN V.. Khóa công khai ĐẾN V. gửi tới thuê bao MỘT và những người đăng ký khác (hoặc được cung cấp, chẳng hạn như trên một tài nguyên được chia sẻ).

2.Công dụng - trao đổi thông tin giữa thuê bao A và B.

Người đăng kí MỘT mã hóa tin nhắn bằng khóa chung ĐẾN TRONG người đăng kí TRONG và gửi bản mã cho người đăng ký TRONG. Thuê bao B giải mã tin nhắn bằng khóa bí mật của mình k B. Không ai khác (kể cả người đăng ký MỘT) không thể giải mã được tin nhắn này vì nó không có khóa bí mật của người đăng ký TRONG. Bảo vệ thông tin trong hệ thống mật mã bất đối xứng dựa trên bí mật khóa k B người nhận tin nhắn

Chức năng một chiều

Các thuật toán bất đối xứng dựa trên việc sử dụng các hàm một chiều.

Chức năng F:X→Yđược gọi là một phía nếu thỏa mãn hai điều kiện sau:

    có một thuật toán hiệu quả để tính toán F(x) cho bât ki ai xX;

    không có thuật toán hiệu quả để đảo ngược hàm F, I E. thuật toán cho phép bạn xác định giá trị của x theo giá trị F(x).

Một thuật toán đa thức được gọi là “hiệu quả”, tức là thuật toán để thu được kết quả cho đầu vào có độ dài N không chi tiêu nữa P(n) bước ở đâu P- một số đa thức.

Không phải bất kỳ chức năng một chiều nào cũng có thể được sử dụng để mã hóa. Thật vậy, nếu chúng ta biến đổi bản rõ t sử dụng hàm một chiều: c = F(t), sau đó giải mã văn bản nhận được, nghĩa là khôi phục từ c t, không ai, kể cả người nhận hợp pháp, có thể làm được. Để được sử dụng trong mật mã, điều cần thiết là nhiệm vụ đảo ngược biến đổi mã hóa (tức là tính toán t Qua F(t)) có thể giải được trong thời gian chấp nhận được, nhưng chỉ có người biết khóa bí mật mới có thể làm được việc đó. Những hàm như vậy được gọi là hàm bí mật một chiều.

Hàm một chiều có bí mật là hàm F k : XY, tùy thuộc vào tham số kK(tham số này được gọi là bí mật), đáp ứng các điều kiện sau:

    tại bất kỳ kK có một thuật toán hiệu quả để tính toán F k (x) cho bât ki ai xX;

    với những điều chưa biết k không có thuật toán hiệu quả để đảo ngược hàm F k ;

    với một cái đã biết k có một thuật toán hiệu quả để đảo ngược hàm F k .

Thuật toánRSA

Trong hệ thống mật mã khóa công khai, mỗi người tham gia có cả khóa chung và khóa riêng. Trong hệ thống mật mã RSA, mỗi khóa bao gồm một cặp số nguyên. Mỗi người tham gia tạo khóa công khai và riêng tư của riêng mình một cách độc lập. Mỗi người trong số họ giữ bí mật khóa riêng và khóa chung có thể được chia sẻ với bất kỳ ai hoặc thậm chí được công bố.

Số nguyên tố cùng nhau là những số không có ước chung nào khác ngoài 1.

Hàm Euler (P) từ tự nhiên P là số các số nhỏ hơn P và đồng nguyên tố với N(số 1 là số nguyên tố cùng nhau).

    Nếu như P là số nguyên tố thì (P) = P - 1.

    Nếu như P- đơn giản, Một là số tự nhiên thì (P Một ) = P Một - P Một -1 .

    Nếu như Pq tương đối nguyên tố thì (pq) = (P) (q)

    Việc tạo khóa được thực hiện bằng thuật toán sau:

    1. Hai số nguyên tố lớn được chọn p, q(ngày nay, các số có từ 200 đến 400 ký tự thường được chọn)

    2. sản phẩm của họ được tính toán N, không thể được nhân tố hóa trong một thời gian hợp lý. Công việc này được gọi là mô-đun

    3 . Giá trị của hàm Euler được tính

    φ(n) = φ(pq) = (p − 1)(q − 1).

    4. Một số nguyên được chọn e (1< e< (N)) , nguyên tố cùng với giá trị (N) . Thông thường như e lấy các số nguyên tố chứa một số nhỏ bit đơn trong ký hiệu nhị phân, ví dụ các số nguyên tố Fermat 17, 257 hoặc 65537. e gọi điện số mũ mở

    5. Số được tính d, thỏa mãn điều kiện:

    de1(mod(N))

    hoặc ở dạng khác:

    de=1+k(N)

    Con số d gọi là số mũ bí mật

    6. Đôi P = (e, N) được công bố dưới dạng khóa công khai của hệ thống RSA.

    7. Đôi S = (d, N) được gọi là khóa riêng RSA và được giữ bí mật.

1. Mã hóa tin nhắn

Để mã hóa dữ liệu bằng khóa đã biết P = (e,n), cần chia văn bản được mã hóa thành các cạnh, mỗi cạnh có thể được biểu diễn dưới dạng một số M(i) = 0, 1, ... , n- 1. Tiếp theo, văn bản được mã hóa dưới dạng dãy số M(i), được chuyển đổi theo công thức sau:

C(i) = M(i)emod(n)

2. Giải mã tin nhắn

Để giải mã tin nhắn bằng khóa bí mật P=(d,n), bạn cần chuyển đổi từng số từ chuỗi trong tin nhắn được mã hóa bằng công thức:

M(i) = C(i)dmod(n)

Kết quả là sẽ thu được một tập hợp các số M(i), đại diện cho văn bản nguồn.

Để trao đổi tin nhắn và ẩn nội dung với bên thứ ba, mã hóa được sử dụng. Nó được sử dụng khi cần thiết mức độ tăng lên sự bảo vệ. Có hai sơ đồ mã hóa: đối xứng và bất đối xứng.

Mã hóa là gì

Mã hóa sẽ hữu ích khi bạn cần ẩn một số thông tin khỏi những người không được ủy quyền và cung cấp dữ liệu nhạy cảm cho người dùng được ủy quyền.

Một tính năng của kiểu truyền dữ liệu này là việc sử dụng khóa.

Có ba trạng thái bảo mật:

  • che giấu thông tin với người lạ;
  • ngăn chặn sự thay đổi;
  • duy trì tính toàn vẹn của thông tin;
  • nhận dạng người gửi.

Để đọc thông tin khác ngoài khóa, cần có bộ giải mã. Đây là điều đảm bảo rằng kẻ tấn công không thể lấy được dữ liệu, vì nếu chúng chặn dữ liệu nhưng không có chìa khóa thì không thể đọc được.

Có hai loại mã hóa: đối xứng và bất đối xứng.

Mục đích chính của mã hóa là lưu trữ thông tin. Điều này cho phép bạn làm việc với một số dữ liệu từ các nguồn không đáng tin cậy và truyền tin nhắn qua các kênh không an toàn. Việc gửi thông tin diễn ra như thế này:

  • người gửi mã hóa dữ liệu;
  • người nhận giải mã.

Mỗi phép biến đổi được thực hiện bằng các thuật toán sử dụng khóa để giải chúng. Các phương pháp mã hóa đối xứng và bất đối xứng được phân biệt bởi độ mạnh mật mã của chúng.

Sức mạnh mật mã

Các hệ thống mã hóa đối xứng và bất đối xứng có một đặc điểm khiến việc truy cập trái phép trở nên khó khăn.

Có 2 loại sức mạnh mật mã chính của hệ thống mã hóa.

  1. Một hệ thống có khả năng kháng cự tuyệt đối không thể bị phá vỡ, ngay cả với nguồn tài nguyên máy tính vô cùng lớn. Nó được đặc trưng bởi thực tế là đối với mỗi tin nhắn, khóa riêng của nó được tạo. Độ dài của nó bằng hoặc lớn hơn độ dài tin nhắn.
  2. Các hệ thống đủ mạnh được sử dụng trong các hệ thống mật mã dân sự. Một thuật toán như vậy rất khó giải mã, nhưng với các tài nguyên thích hợp, điều đó sẽ trở nên khả thi.

So sánh độ mạnh mật mã của một số hệ thống mã hóa

Kích thước tối đa Khóa RSA - 4096 bit.

Nó được sử dụng để mã hóa và ký kết. Độ mạnh mật mã có thể được mô tả là 2.7.1028 cho khóa 1300 Bit. Lược đồ này được sử dụng trong nhiều tiêu chuẩn; nguyên tắc mã hóa RSA là một trong những thuật toán bất đối xứng đầu tiên.

Kích thước khóa của sơ đồ ElGamal bằng RSA - 4096 Bits. Nó được sử dụng cho cả mã hóa và chữ ký số. Độ mạnh mật mã của hệ thống này không khác gì RSA khi cùng cỡ chìa khóa

Phương pháp DSA sử dụng khóa nhỏ hơn nhiều - 1024 bit. Nó được sử dụng riêng cho chữ ký số.

Mã hóa đối xứng và bất đối xứng

Hai loại mã hóa này khác nhau về số lượng khóa và mức độ chống hack.

Nếu một khóa được sử dụng để mã hóa và giải mã thì mã hóa là đối xứng. Mã hóa bất đối xứng liên quan đến việc sử dụng một khóa cho mỗi thuật toán.

  1. Khóa chung mã hóa một mã nhất định đại diện cho một thông báo cụ thể. Cả hai bên đều biết khóa này, nó được truyền qua một kênh không bảo mật và có thể bị chặn. Nhiệm vụ quan trọng nhất của việc lưu trữ thông tin là bảo vệ khóa khỏi bị chặn.
  2. Cái riêng được sử dụng để giải mã. Chỉ được một bên biết đến. Nó không thể bị chặn vì nó luôn ở bên một người đối thoại.

Mục đích của việc mã hóa xác định phương pháp duy trì tính bảo mật. Một trong những giải pháp đầu tiên là mã hóa đối xứng; mã hóa bất đối xứng được phát minh sau này để mang lại sự bảo mật cao hơn.

Đặc điểm của mã hóa đối xứng

Hệ thống bảo vệ đối xứng có những ưu điểm sau.


Những nhược điểm bao gồm:

  • sự phức tạp của quản lý khóa mạng lưới lớn;
  • sự phức tạp của việc trao đổi khóa;
  • nhu cầu tìm một kênh đáng tin cậy để truyền chìa khóa cho các bên;
  • không thể sử dụng chữ ký số và chứng chỉ số.

Dùng để bù đắp những thiếu sót sơ đồ kết hợp, trong đó khóa dùng để giải mã được truyền bằng mã hóa bất đối xứng. Nó được truyền đi bằng cách sử dụng mã hóa đối xứng.

Đặc điểm của mã hóa bất đối xứng

Sử dụng cặp khóa công khai có thể được sử dụng như:

  • phương tiện bảo vệ thông tin độc lập;
  • cơ sở phân phối chính;
  • phương tiện xác thực người dùng.

Có những ưu điểm sau:

  • lưu trữ khóa bí mật ở nơi an toàn, thay vào đó khóa mở được truyền qua kênh mở;
  • khóa giải mã chỉ được biết bởi một bên;
  • trong một hệ thống bất đối xứng lớn, sử dụng ít khóa hơn trong hệ thống đối xứng.

Rất khó để thực hiện bất kỳ thay đổi nào trong các thuật toán như vậy. Một hệ thống như vậy có các phím dài. Nếu khóa đối xứng là 128 Bit thì khóa RSA là 2304 Bit. Do đó, tốc độ giải mã bị ảnh hưởng - chậm hơn 2-3 lần. Việc giải mã đòi hỏi tài nguyên tính toán lớn.

Có rất nhiều ví dụ về hệ thống mã hóa đối xứng và bất đối xứng.

Mã hóa đối xứng - nó trông như thế nào?

Dưới đây là một ví dụ về mã hóa đối xứng và sơ đồ triển khai.

  1. Có hai người đối thoại dự định trao đổi thông tin bí mật.
  2. Người đối thoại đầu tiên tạo khóa d, thuật toán mã hóa E và giải mã D. Sau đó, anh ta gửi thông tin này cho người đối thoại thứ hai.
  3. Tin nhắn được giải mã bằng khóa d.

Nhược điểm chính là không có khả năng thiết lập tính xác thực của văn bản. Nếu khóa bị chặn, kẻ tấn công sẽ giải mã thông tin bí mật.

Có những phương pháp cổ điển.

  1. Hoán vị đơn giản và kép.
  2. Hình vuông ma thuật.
  3. Hoán vị đơn.

Phương pháp đầu tiên là một trong những phương pháp đơn giản nhất, sơ đồ không sử dụng khóa. Người gửi và người nhận đồng ý về một số khóa, được biểu thị dưới dạng kích thước bảng. Đã gửi tin nhắnđược ghi vào các cột trong bảng nhưng đọc theo từng hàng. Biết kích thước của bảng, người nhận sẽ giải mã tin nhắn.

Để đảm bảo tính bí mật cao hơn, việc sắp xếp lại kép được sử dụng. Bằng cách này, văn bản được mã hóa trước đó sẽ được mã hóa. Để làm được điều này, các bảng phải khác nhau về số hàng và số cột. Chúng được lấp đầy theo chiều dọc, chiều ngang, hình con rắn, hình xoắn ốc. Phương pháp này không tăng cường khả năng mã hóa nhưng quá trình hack sẽ kéo dài hơn.

“Hình vuông ma thuật” là một cấu trúc phức tạp hơn, là một ma trận. Phù hợp với tế bào số nguyên sao cho tổng các số ở mỗi cột, hàng, đường chéo bằng nhau. Mỗi số tương ứng với một chữ cái của tin nhắn. Văn bản kết quả được viết thành một dòng, phù hợp với số và ký hiệu.

Ví dụ về mã hóa bất đối xứng

Trong trường hợp này, khóa chung được gửi qua một kênh mở và về mặt lý thuyết có thể bị kẻ tấn công chặn lại.

Không giống như khóa đối xứng, khóa mã hóa bất đối xứng có sự khác biệt. Khóa chung được sử dụng để mã hóa và khóa riêng được sử dụng để giải mã tin nhắn. Sử dụng hai chìa khóa sẽ giải quyết được vấn đề nghe lén tồn tại trong phương pháp đối xứng. Nó được thực hiện như thế này.

  1. Người đối thoại đầu tiên chọn thuật toán mã hóa và giải mã cũng như một cặp khóa. Khóa công khai được gửi đến người đối thoại thứ hai.
  2. Người đối thoại thứ hai mã hóa thông tin bằng khóa nhận được. Gửi thông tin đến người đối thoại đầu tiên, người sẽ giải mã tin nhắn bằng khóa riêng.

Có những phương pháp mã hóa không đồng bộ cơ bản như vậy.

  1. Mật mã ElGamal.

RSA

RSA là thuật toán mã hóa đầu tiên được sử dụng cho cả mã hóa và chữ ký số.

Nó được mô tả như thế này.

  1. Hai số nguyên tố được chọn, ví dụ: 3 và 7.
  2. Mô-đun n được tính toán - tích của hai số. Hóa ra là 21.
  3. Hàm Euler φ=(p-1)×(q-1)=2×6=12 được tính toán.
  4. Bất kỳ số nguyên tố e nào nhỏ hơn φ và số nguyên tố có φ đều được tính toán. Các lựa chọn có sẵn: 5, 7, 11.

Cặp số e, n (5, 21) là khóa công khai. Bây giờ số d và n của khóa riêng đã được tính. Số d thỏa mãn điều kiện (d×е) mod φ=1 và bằng 17. Do đó, cặp số thứ hai 17 và 21 là khóa riêng. Việc mã hóa được thực hiện như sau: tin nhắn được nâng lên lũy thừa e, lấy phần dư của phép chia cho n và kết quả phải nhỏ hơn số n. Hóa ra 10 - đây sẽ là dữ liệu được mã hóa. Để giải mã, e được nâng lên lũy thừa d và tính phần dư của phép chia cho n.

DSA

DSA (không giống như RSA) chỉ được sử dụng để ký kỹ thuật số chứ không phải mã hóa. Một chữ ký nhất định có thể được xác minh công khai. Có hai thuật toán để tạo và xác minh chữ ký. Đó là thông điệp băm đại diện cho văn bản ở dạng kỹ thuật số được mã hóa. Do đó, hàm băm phức tạp được chọn để tránh xung đột. Cấu trúc của chữ ký số bao gồm bước tiếp theo.

  1. Sự lựa chọn hàm băm mật mã H(x).
  2. Độ sâu bit số nguyên tố q phải bằng giá trị băm H(x).
  3. Chọn số nguyên tố p sao cho p-1 chia hết cho q không có số dư.
  4. Tính số g = h(p-1)/q mod p. h phải là một số tùy ý trong khoảng từ 1 đến p-1.
  5. Một số ngẫu nhiên k từ 0 đến q được chọn.
  6. Tính r = (g k mod p) mod q.
  7. Khi đó s = k-1(H(m) + xr)) mod q .
  8. Nếu r=0 hoặc s=0 thì số k khác được chọn.

Sơ đồ El Gamal

Mã hóa ElGamal được sử dụng cho chữ ký số. Nó là sự tiếp nối của thuật toán Diffie-Hellman.

Khi làm việc theo sơ đồ này, điều quan trọng là phải tính đến tính năng sau. Mã hóa ElGamal không phải là thuật toán chữ ký số dựa trên sơ đồ cùng tên. Khi mã hóa, văn bản được chuyển thành mật mã có độ dài gấp 2 lần so với tin nhắn gốc.

Việc tạo khóa xảy ra như sau.

  1. Một số nguyên tố ngẫu nhiên p được chọn.
  2. Số g phải là gốc nguyên thủy của p.
  3. Số x phải lớn hơn 1 và nhỏ hơn p-1. Đây sẽ là khóa riêng.
  4. Sau đó, khóa chung y được tính bằng công thức g^x mod p .

Khi mã hóa văn bản M, khóa hệ thống K được chọn. Nó lớn hơn một và nhỏ hơn p-1. Sau đó, các số a và b được tính toán, là văn bản mã hóa, a = g^k mod p và b = y^k M mod p .

Khoa học máy tính, điều khiển học và lập trình

Mã hóa là việc chuyển đổi dữ liệu thành dạng không thể đọc được bằng cách sử dụng các khóa giải mã mã hóa. Nó bao gồm: một hoặc nhiều thuật toán mã hóa các công thức toán học; các khóa được sử dụng bởi các thuật toán mã hóa này; hệ thống quản lý chìa khóa; văn bản thô; và bản mã bản mã. Có hai phương pháp xử lý thông tin mật mã bằng cách sử dụng khóa: đối xứng và bất đối xứng. Một phương pháp bí mật đối xứng trong đó cả việc mã hóa và giải mã...

1. Khái niệm cơ bản về mật mã.

Nhu cầu có một cách tiếp cận nghiêm túc đối với vấn đề bảo mật thông tin dẫn chúng ta đến các khái niệm cơ bản về mật mã, các khái niệm về “ bảo vệ kỹ thuật số", "chữ ký số" và mã hóa.

Mật mã học là khoa học đảm bảo an toàn dữ liệu. Cô đang tìm kiếm giải pháp cho bốn vấn đề bảo mật quan trọng - bảo mật, xác thực, tính toàn vẹn và kiểm soát người tham gia. Mã hóa là việc chuyển đổi dữ liệu thành dạng không thể đọc được bằng cách sử dụng các khóa mã hóa-giải mã (giải mã). Mã hóa cho phép bạn đảm bảo tính bảo mật bằng cách giữ bí mật thông tin với những người không có ý định tiếp cận thông tin đó.

Hệ thống mật mã hoạt động theo một phương pháp (thủ tục) nhất định. Nó bao gồm: một hoặc nhiều thuật toán mã hóa (công thức toán học); các khóa được sử dụng bởi các thuật toán mã hóa này; hệ thống quản lý chìa khóa; văn bản thô; và bản mã (ciphertext).

2. Mã hóa đối xứng và bất đối xứng.

Có hai phương pháp xử lý thông tin mật mã bằng cách sử dụng khóa: đối xứng và bất đối xứng.

Đối xứng (bí mật)phương pháp luận ở đâucả để mã hóa và giải mã, người gửi và người nhận đều sử dụng cùng một khóa, cách sử dụng mà họ đã thống nhất trước khi bắt đầu tương tác (Hình 1.3.). Nếu khóa không bị xâm phạm, quá trình giải mã sẽ tự động xác thực người gửi vì chỉ người gửi mới có khóa để mã hóa thông tin và chỉ người nhận mới có khóa để giải mã thông tin. Vì người gửi và người nhận là những người duy nhất biết khóa đối xứng này nên nếu khóa bị xâm phạm, chỉ sự tương tác giữa hai người dùng này sẽ bị xâm phạm.

Cơm. 1.3.

Thuật toán mã hóa đối xứng sử dụng các khóa không dài lắm và có thể mã hóa nhanh chóng lượng lớn dữ liệu.

Các công cụ hiện có sử dụng phương pháp đối xứng bao gồm, chẳng hạn như mạng ATM. Các hệ thống này là sự phát triển ban đầu của các ngân hàng sở hữu chúng và không phải để bán

Trong số các thuật toán mã hóa đối xứng, thuật toán mã hóa được sử dụng rộng rãi DES (do IBM phát minh), được khuyến nghị sử dụng trong các lĩnh vực mở của nền kinh tế Hoa Kỳ. Thuật toán này ban đầu có tuổi thọ hạn chế do độ dài khóa bị giới hạn ở 56 bit. Hiện tại, một chuyên gia có thể bẻ khóa như vậy với một khoản phí khá chấp nhận được đối với ngân sách của nhiều quốc gia và tập đoàn.

Tình hình trở nên trầm trọng hơn bởi theo luật của Hoa Kỳ, các hệ thống mã hóa có khóa không quá 40 bit được phép xuất khẩu dưới dạng sản phẩm phần mềm. Những thứ kia. Khi mua hệ thống mã hóa có khóa từ 1024 hoặc 2048 bit trở lên, bạn cần biết rằng khi khóa được thay đổi thì phần hoạt động (thay đổi) sẽ là phần 40 bit của khóa. Các hệ thống mã hóa đối xứng có một nhược điểm chung đó là khó khăn trong việc phân phối khóa. Nếu khóa bị bên thứ ba chặn thì hệ thống bảo vệ mật mã đó sẽ bị xâm phạm. Vì vậy, khi thay thế khóa, nó phải được chuyển tiếp một cách bí mật cho những người tham gia thủ tục mã hóa. Rõ ràng, phương pháp này không phù hợp khi bạn cần thiết lập kết nối an toàn với hàng nghìn thuê bao Internet trở lên. Vấn đề chính với phương pháp này là làm thế nào để tạo và truyền khóa một cách an toàn cho những người tham gia tương tác. Làm cách nào để thiết lập kênh truyền thông tin an toàn giữa những người tham gia tương tác để chuyển khóa qua các kênh liên lạc không bảo mật? Việc thiếu phương thức trao đổi khóa an toàn sẽ hạn chế sự phổ biến của các kỹ thuật mã hóa đối xứng trên Internet.

Họ đã cố gắng giải quyết vấn đề này bằng cách phát triểnKhông đối xứng (mở)phương pháp mã hóa.Nó mã hóa một tài liệu bằng một khóa và giải mã nó bằng một khóa khác.. Mỗi người tham gia truyền thông tin sẽ tạo ra hai số ngẫu nhiên một cách độc lập (khóa bí mật (riêng tư) và khóa chung).

Khóa công khai được gửi qua kênh mở liên lạc với người tham gia khác trong quá trình bảo vệ mật mã, nhưng khóa bí mật được giữ bí mật.

Người gửi mã hóa tin nhắnkhóa công khai của người nhận, MỘT Chỉ chủ sở hữu khóa riêng mới có thể giải mã nó.

Khóa công khai không cần phải ẩn. Bất kể ai biết chìa khóa đã cho, vì nó chỉ nhằm mục đích mã hóa dữ liệu. Phương pháp này phù hợp cho ứng dụng rộng rãi. Nếu bạn chỉ định cho mỗi người dùng trên Internet cặp khóa riêng của họ và công bố khóa chung dưới dạng số trong danh bạ điện thoại thì hầu hết mọi người sẽ có thể trao đổi tin nhắn được mã hóa với nhau. Nó trông giống như một cái hộp có hai cánh cửa với các mặt khác nhau. Mỗi cánh cửa đều có khóa riêng. Tài liệu được đặt vào hộp, khóa và mở khóa ở mặt bên kia bằng chìa khóa của người nhận.
Một thuật toán như vậy bảo vệ mật mã có tên RSA. Tên được tạo thành từ các chữ cái đầu tiên trong họ của 3 nhà toán học người Mỹ đã phát triển thuật toán. Lý thuyết số nguyên tố đã được sử dụng.

Tất cả các hệ thống mật mã bất đối xứng đều có thể bị tấn công vũ phu và do đó phải sử dụng các khóa dài hơn nhiều so với các khóa được sử dụng trong hệ thống mật mã đối xứng để cung cấp mức độ bảo mật tương đương. Điều này có tác động ngay lập tức đến tài nguyên máy tính cần thiết cho việc mã hóa. RSA đã trở thành tiêu chuẩn công nghiệp một thuật toán khóa bất đối xứng được sử dụng trong kinh doanh cho chữ ký số và mã hóa.

3. C chữ ký số.

Chữ ký số bảo vệ tài liệu khỏi những thay đổi hoặc thay thế và do đó đảm bảo tính xác thực của nó. Đó là một chuỗi phản ánh các thuộc tính của tài liệu ở dạng được mã hóa ( kiểm tra tổng tệp, v.v.) và nội dung của nó để phát hiện bất kỳ thay đổi nào trong tệp, trong khi chữ ký không thay đổi.

Khi một tài liệu (đính kèm email) được CPU bảo vệ thì CPU này không chỉ tính đến tài liệu đó mà còncũng như khóa riêng của người gửi và khóa chung của người nhận.Chỉ chủ sở hữu khóa riêng mới có thể ký chính xác văn bản của tài liệu.

Để kiểm tra CPU của tài liệu, người nhận sử dụng (sử dụng tiện ích đặc biệt) khóa chung của người gửi.Không có cặp khóa nào khác phù hợp để xác minh. Do đó, không giống như chữ ký thông thường, CPU phụ thuộc vào tài liệu và cả khóa của người gửi. Đó là lý do tại sao nó có mức độ vượt trội hơn nhiều so với chữ ký và con dấu thông thường.

CPU chỉ xác minh tính xác thực của tài liệu nhưng không bảo vệ nó khỏi việc đọc trái phép.

Mỗi hệ thống mã hóa đối xứng và bất đối xứng đều có những ưu điểm và nhược điểm riêng. Nhược điểm của hệ thống mã hóa đối xứng là khó thay thế khóa bị xâm phạm và nhược điểm của hệ thống mã hóa bất đối xứng là tốc độ hoạt động tương đối thấp.

Hiện nay, các hệ thống mã hóa sử dụng thuật toán kết hợp đã trở nên phổ biến, cho phép tốc độ mã hóa cao vốn có trong DES sử dụng chuyển tiếp mở các khóa mã hóa (như trong RSA).

Để tránh tốc độ chậm của thuật toán mã hóa bất đối xứng, một khóa đối xứng tạm thời được tạo cho mỗi tin nhắn. Tin nhắn được mã hóa bằng khóa phiên đối xứng tạm thời này. Khóa phiên này sau đó được mã hóa bằng khóa chung bất đối xứng của người nhận và thuật toán mã hóa bất đối xứng.Vì khóa phiên ngắn hơn nhiều so với bản thân tin nhắn nên thời gian mã hóa của nó sẽ tương đối ngắn.Khóa phiên được mã hóa này cùng với tin nhắn được mã hóa sau đó sẽ được gửi đến người nhận. Người nhận sử dụng cùng một thuật toán mã hóa bất đối xứng và khóa bí mật của họ để giải mã khóa phiên và khóa phiên thu được sẽ được sử dụng để giải mã chính tin nhắn đó.

4. Xử lý thông tin bằng thuật toán kết hợp.

Trình tự xử lý thông tin bằng thuật toán kết hợp được trình bày dưới đây (Hình 4.1).

Khóa công khai và khóa riêng tư không đối xứng được tạo. Khóa bất đối xứng riêng tư vẫn thuộc về chủ sở hữu. Người gửi và người nhận thông tin trao đổi khóa bất đối xứng công khai.

Một chữ ký điện tử của văn bản được tạo ra. Giá trị nhận được được mã hóa bằng khóa riêng bất đối xứng của người gửi và sau đó chuỗi ký tự kết quả sẽ được thêm vào văn bản được truyền (chỉ người gửi mới có thể tạo chữ ký điện tử).

Một khóa đối xứng bí mật được tạo sẽ chỉ được sử dụng để mã hóa tin nhắn hoặc phiên đó (khóa phiên).

Sau đó, bằng cách sử dụng thuật toán mã hóa/giải mã đối xứng và khóa này, văn bản gốc được mã hóa cùng với chữ ký điện tử được thêm vào nó - thu được văn bản mã hóa.

Khóa phiên hiện được mã hóa bằng thuật toán mã hóa-giải mã bất đối xứng và khóa chung bất đối xứng của người nhận.

Khóa phiên đã mã hóa sẽ được thêm vào văn bản mã hóa (bao gồm cả chữ ký điện tử đã được thêm trước đó).

Toàn bộ gói dữ liệu nhận được (văn bản được mã hóa, ngoài văn bản gốc, bao gồm chữ ký điện tử và khóa phiên được mã hóa) được truyền đến người nhận.

Người nhận thực hiện các hành động trong thứ tự ngược lại. Trước tiên, bạn cần giải quyết vấn đề giải mã khóa phiên. Nó trích xuất khóa phiên được mã hóa từ gói nhận được. Sử dụng khóa riêng của mình và thuật toán mã hóa bất đối xứng tương tự, người nhận sẽ giải mã khóa phiên.

Người nhận áp dụng cùng một thuật toán mã hóa-giải mã đối xứng và khóa (phiên) đối xứng được giải mã cho văn bản mã hóa và nhận văn bản gốc cùng với chữ ký điện tử.

Người nhận tách chữ ký điện tử khỏi văn bản gốc.

Chữ ký số của văn bản được xác minh bằng khóa chung của người gửi và thuật toán mã hóa-giải mã bất đối xứng.

Nếu thấy đáng tin cậy thì văn bản đó không bị thay đổi.

Một ví dụ tốt một hệ thống kết hợp như vậy có thể nhận ra sản phẩm Notarius và Athena Công ty Lancrypto. Sự khác biệt so với sơ đồ được mô tả là chữ ký điện tử và thuật toán mã hóa được chia thành hai quy trình độc lập và khi tạo khóa mã hóa phiên đối xứng, một số ngẫu nhiên “markant” sẽ được thêm vào khóa. Sau đó, “điểm đánh dấu” này sẽ được thêm vào văn bản của tin nhắn đã được mã hóa và gửi dưới dạng văn bản rõ ràng cho người tương ứng để giải mã tin nhắn. Sau khi nhận được tin nhắn, anh ta mở "markant" và sử dụng khóa bí mật và công khai của người gửi và "markant", tạo khóa giải mã đối xứng cho tin nhắn nhận được. Vì “điểm đánh dấu” thay đổi theo từng phiên, nên ngay cả với văn bản được giải mã của tin nhắn cũng không thể dự đoán được khóa của phiên tiếp theo.

Nguyên tắc cơ bản của hệ thống khóa công khai là “Một” có thể ký một tài liệu và mã hóa nó bằng “Hai”. “Hai” có thể giải mã tài liệu khi biết rằng tài liệu đó đến từ “Một” và xác minh chữ ký của “Một”. Nhưng máy tính “Hai” không thể ký tài liệu có chữ ký “Raz” và không thể mã hóa tài liệu từ “Raz” sang chính nó, tức là. anh ta sẽ không thể làm sai lệch tài liệu từ “Hai”.

Cách bảo vệ khóa công khai khỏi bị giả mạo

Trong hệ thống mật mã khóa công khai, bạn không cần phải bảo vệ khóa công khai khỏi bị truy cập trái phép. Ngược lại, chúng càng lan rộng thì càng tốt. Tuy nhiên, điều quan trọng là phải bảo vệ khóa công khai khỏi bị giả mạo để đảm bảo rằng khóa đó thực sự thuộc về người sở hữu nó.

Giả sử bạn muốn gửi tin nhắn riêng Alice. Bạn tải xuống khóa công khai của Alice từ một số hệ thống bảng thông báo (BBS). Bạn mã hóa email của mình tới Alice bằng khóa chung của cô ấy và gửi nó qua hệ thống email của cùng BBS.

Thật không may, bạn hoặc Alice không hề biết, một người dùng khác tên Victor đã xâm nhập vào BBS và tạo khóa công khai mang ID người dùng của Alice. Anh ta bí mật thay thế khóa giả của mình bằng khóa chung thực sự của Alice. Bạn bất cẩn sử dụng khóa giả này của Victor thay vì khóa chung của Alice. Mọi thứ có vẻ ổn vì khóa giả mang ID người dùng của Alice. Bây giờ Victor có thể giải mã tin nhắn dành cho Alice, vì anh ấy có khóa bí mật từ cặp giả. Sau đó, anh ta thậm chí có thể mã hóa lại tin nhắn mà anh ta đã giải mã bằng khóa thật của Alice và gửi nó cho cô ấy mà không ai nhận ra. Hơn nữa, sau đó anh ta thậm chí có thể thay mặt Alice áp dụng một chữ ký, chữ ký này có vẻ là chữ ký thật vì mọi người sẽ sử dụng khóa giả để xác minh nó.

Cách duy nhất để ngăn chặn sự phiền toái đó là loại bỏ khả năng làm sai lệch khóa công khai. Nếu bạn nhận được khóa công khai của Alice trực tiếp từ cô ấy thì không có vấn đề gì. Nhưng điều này có thể khó khăn nếu Alice ở xa hàng ngàn dặm, hoặc vì những lý do khác nên không thể gặp trực tiếp cô ấy.

Có lẽ khóa công khai của Alice có thể cung cấp cho bạn bạn chung Henry, người mà cả hai bạn đều tin tưởng và biết rằng anh ấy có chìa khóa thực sự của Alice. Henry có thể ký khóa công khai của Alice, do đó đảm bảo tính toàn vẹn của nó. Anh ta phải sử dụng khóa riêng của mình để ký.

Quy trình này tạo ra một chứng chỉ khóa công khai đã ký để xác minh rằng khóa của Alice không bị giả mạo. Tất nhiên, để bạn có thể xác minh rằng chữ ký của Henry là chính xác, bạn phải có một bản sao khóa công khai chính xác của anh ấy. Có lẽ Henry cũng có thể đưa cho Alice một bản sao chìa khóa của bạn có chữ ký. Do đó, Henry sẽ đóng vai trò là người trung gian giữa bạn và Alice.

Chứng chỉ khóa công khai đã ký này có thể được Alice hoặc Henry tải lên BBS, từ đó bạn có thể sao chép nó sau này. Vì bạn có thể xác minh chữ ký của Henry bằng khóa chung của anh ấy nên bạn có thể chắc chắn rằng đó thực sự là khóa của Alice. Không kẻ xấu nào có thể lừa bạn tin rằng chiếc chìa khóa giả hắn làm thuộc về Alice, vì không ai có thể giả mạo chữ ký của Henry.

Một thực thể được tin cậy rộng rãi thậm chí có thể chuyên làm trung gian giữa những người dùng bằng cách ký chứng chỉ khóa công khai của họ. Cá nhân đáng tin cậy này có thể được coi là "người chứng nhận đáng tin cậy". Bất kỳ khóa công khai nào được chứng nhận bằng chữ ký của người chứng nhận được ủy quyền đều có thể được tin cậy theo nghĩa là nó thuộc về người có tên. Tất cả người dùng muốn tham gia triển khai mạng lưới tin cậy phân tán như vậy phải có một bản sao chính xác của khóa của người chứng nhận được ủy quyền để có thể xác minh chữ ký của người sau. Trong một số trường hợp, người chứng nhận đáng tin cậy cũng có thể duy trì một máy chủ khóa, cho phép người dùng mạng tra cứu khóa chung bằng cách truy vấn máy chủ khóa, nhưng không nhất thiết người duy trì máy chủ khóa cũng là người chứng nhận chúng.

Một cơ quan chứng nhận có thẩm quyền duy nhất đặc biệt phù hợp với các tổ chức lớn được quản lý tập trung, chính phủ hoặc doanh nghiệp. Một số môi trường tổ chức sử dụng hệ thống phân cấp của cơ quan cấp chứng chỉ tin cậy.

Đối với các môi trường phi tập trung, có thể phù hợp hơn là tạo một cơ quan cấp chứng chỉ tin cậy tập trung để cho phép tất cả người dùng đóng vai trò trung gian.

Vấn đề được giải quyết như thế nào? cập nhật an toàn và chuyển chìa khóa qua các kênh viễn thông không bảo mật? Ở Mỹ nó được giải quyết theo cách này:

Khóa công khai và riêng tư không đối xứng được tạo và phân phối một cách an toàn. Khóa bất đối xứng riêng được chuyển cho chủ sở hữu của nó. Khóa công khai bất đối xứng được lưu trữ trong cơ sở dữ liệu X.500 và được quản lý bởi cơ quan cấp chứng chỉ (tiếng Anh - Certification Authority hoặc CA).

Người gửi phải có khóa chung của cơ quan cấp chứng chỉ bất đối xứng (CA). Chặn các yêu cầu không được mã hóa đối với khóa chung này là một hình thức tấn công phổ biến. Có thể có cả một hệ thống chứng chỉ xác nhận tính xác thực của khóa chung của CA. Tiêu chuẩn X.509 mô tả một số phương pháp để người dùng lấy khóa công khai CA, nhưng không có phương pháp nào trong số đó có thể bảo vệ hoàn toàn khỏi việc giả mạo khóa công khai CA, điều này cho thấy rõ ràng rằng không có hệ thống nào có thể xác thực được tính xác thực của khóa công khai CA. được đảm bảo.

Người gửi yêu cầu khóa chung bất đối xứng của người nhận tin nhắn từ CA. Quá trình này dễ bị tấn công trong đó kẻ tấn công can thiệp vào giao tiếp giữa người gửi và người nhận và có thể sửa đổi lưu lượng được gửi giữa họ. Do đó, khóa chung bất đối xứng của người nhận được CA "ký". Điều này có nghĩa là CA đã sử dụng khóa riêng bất đối xứng của mình để mã hóa khóa chung bất đối xứng của người nhận. Chỉ CA mới biết khóa riêng bất đối xứng của CA, do đó có thể đảm bảo rằng khóa chung bất đối xứng của người nhận đến từ CA.

Sau khi nhận được, khóa chung bất đối xứng của người nhận sẽ được giải mã bằng khóa chung bất đối xứng của CA và thuật toán mã hóa/giải mã bất đối xứng.

Do đó, hai người trước đây chưa từng trao đổi thư từ và không có khóa mã hóa chung có thể thực hiện trao đổi thư từ bí mật.

Hiện nay, việc xuất khẩu (và nhập khẩu) các công cụ bảo mật kỹ thuật số bị pháp luật nghiêm cấm nên mỗi quốc gia sử dụng cách triển khai thuật toán riêng của mình. Bảo vệ kỹ thuật số được triển khai ở cấp độ phần mềm hoặc phần cứng (dưới dạng thẻ mở rộng). Nếu e-mail được trang bị gói bảo mật kỹ thuật số thì bạn có thể ký và sau đó mã hóa bất kỳ hoặc tất cả các phần của bức thư, thêm chữ ký của bạn vào tài liệu đã được người khác ký, xác minh chữ ký, v.v.

Nếu gần đây mật mã là đặc quyền của từng cơ quan chính phủ thì ngày nay hầu hết mọi người đều đồng ý rằng cả tổ chức và cá nhân đều cảm thấy cần phải tiếp cận các công nghệ mã hóa. Khi Internet lan rộng, mọi người ngày càng chuyển sang sử dụng máy tính và mạng điện thoại, cho cả mục đích cá nhân và kinh doanh và mã hóa là cơ sở để xây dựng bức tường bí mật xung quanh các thông tin liên lạc này.

5. Chứng nhận công cụ mật mã.

Biện pháp bảo mật mật mã đã được sử dụng từ lâu nhưng gần đây, vì một số lý do, những từ “giấy phép”, “chứng chỉ”, Ủy ban Kỹ thuật Nhà nước, FAPSI đã xuất hiện trên môi mọi người. Đồng thời, rất ít người có thể giải thích rõ ràng chính xác những gì có thể được thực hiện để bảo vệ thông tin của họ và bạn có thể phải chịu trách nhiệm về những gì.

Chứng nhận là việc một công ty của nhà sản xuất công cụ bảo mật thông tin cấp một tài liệu xác nhận rằng gói phần mềm do công ty phát triển đáp ứng các yêu cầu cao của thị trường (tức là việc mở một tài liệu được mã hóa không hề dễ dàng), và do đó, sản phẩm phần mềm có thể được bán.

Để phát hành sản phẩm được chứng nhận công ty phải có giấy phép cho các hoạt động đó. Giấy phép và chứng chỉ trong lĩnh vực công cụ mật mã do FAPSI và Ủy ban Kỹ thuật Nhà nước cấp. Tốt hơn là bạn nên mua các công cụ mật mã chỉ được chứng nhận từ các công ty được cấp phép cho loại hoạt động này. Trong lĩnh vực lập pháp, hiện nay có Nghị định của Tổng thống Liên bang Nga số 334, bắt buộc các cơ quan chính phủ chỉ sử dụng các phương tiện mã hóa được chứng nhận và luật thông tin quy định rằng để bảo vệ thông tin chưa được phân loại và chưa được phân loại (bất kỳ thông tin nào của bạn), bạn có thể sử dụng bất kỳ phương tiện mã hóa nào.

Đối với việc sử dụng hệ thống mật mã của các ngân hàng, hoàn toàn có tình trạng hỗn loạn. Đó thực sự không phải là một điều xấu. Thực tế là hiện tại không có yêu cầu nào đối với các ngân hàng thương mại từ Ngân hàng Trung ương và các cơ quan chính phủ khác về việc bắt buộc sử dụng công cụ mã hóa, các phương pháp bảo vệ thông tin trong lĩnh vực này không được quy định.

Cũng không có yêu cầu nào đối với các ngân hàng thương mại về việc sử dụng quỹ được chứng nhận. trao đổi điện tử với khách hàng.

Đồng thời, luật quy định nghĩa vụ của người dùng, nhà phân phối và nhà phát triển phải chứng nhận tất cả các biện pháp bảo mật thông tin đã áp dụng với các cơ quan chính phủ có liên quan. Nghị định số 334 có nội dung: “... Cấm hoạt động tư pháp và cá nhân liên quan đến việc phát triển, thực hiện và khai thác các công cụ mã hóa không có giấy phép do FAPSI cấp.” Đúng là nghị định này không có hiệu lực nhưng cho đến nay vẫn chưa có ai hủy bỏ. Nghĩa là, nếu bạn không may mua được các công cụ mã hóa được FAPSI chứng nhận thì bạn phải có giấy phép từ FAPSI để sử dụng chúng. Theo đó, những người mà bạn trao đổi tin nhắn được mã hóa phải nhận được giấy phép tương tự.

Theo thông lệ áp dụng pháp luật, việc chứng nhận và chứng nhận người dùng chỉ là bắt buộc đối với các cơ quan và tổ chức chính phủ làm việc với bí mật nhà nước. Đối với các cơ cấu thương mại, Luật Liên bang Nga về Ngân hàng và Hoạt động Ngân hàng phù hợp hơn. Rủi ro liên quan đến việc sử dụng không được chứng nhận hệ thông thông tin và phương tiện cung cấp chúng thuộc về chủ sở hữu (người sở hữu) các hệ thống và phương tiện này. Việc sử dụng các công cụ bảo mật thông tin được chứng nhận là điều kiện tiên quyết Bằng cách sửa đổi các vấn đề gây tranh cãi với thủ tục tố tụng.

Trách nhiệm của ngân hàng đối với khách hàng về việc rò rỉ thông tin trên các kênh liên lạc vẫn không phụ thuộc vào phương tiện và phương pháp bảo vệ thông tin. Về nguyên tắc, việc sử dụng một công cụ được chứng nhận có thể quy trách nhiệm về việc rò rỉ và đánh cắp thông tin cho cơ quan chứng nhận.

Vì vậy, trong quan hệ với khách hàng, ngân hàng thương mại có quyền sử dụng hệ thống trao đổi điện tử (luồng tài liệu) không được FAPSI chứng nhận, miễn là các hệ thống đó không chính thức cung cấp phương tiện mã hóa. Trách nhiệm pháp lý chỉ phát sinh khi các công cụ mã hóa trở thành chủ đề của hoạt động kinh doanh. Để cả ngân hàng và khách hàng của mình không tự lừa dối mình trong việc cấp phép sử dụng các công cụ mã hóa, trong hệ thống Ngân hàng-Khách hàng, cần phải thay thế từ “mã hóa” bằng “mã hóa” trong tất cả các hợp đồng và tiếp tục chung sống hòa bình. Luật quy định cây cột không thể nhảy qua được nhưng có thể đi vòng dễ dàng.

Với Chữ ký số điện tử (EDS), mọi việc có phần đơn giản hơn. Luật chữ ký số điện tử quy định rằng chữ ký số điện tử trong tài liệu điện tử tương đương với chữ ký viết tay trên văn bản giấy, trong trường hợp được pháp luật và các văn bản quy phạm pháp luật khác quy định Liên Bang Nga hoặc theo thỏa thuận của các bên (nghĩa là phải có thỏa thuận hoặc hợp đồng thông thường, được ký và xác nhận bằng dấu mastic về việc thừa nhận chữ ký số của các bên). Cũng giống như mã hóa, điều kiện bắt buộc khi xem xét các vấn đề gây tranh cãi trước tòa là việc sử dụng công cụ chữ ký số được chứng nhận.

Luật tương tự rất quan tâm đến các trung tâm chứng nhận.

Trung tâm xác minh:

Tạo chứng chỉ khóa chữ ký;

Tạo khóa cho chữ ký số điện tử theo yêu cầu của các thành viên tham gia hệ thống thông tin với đảm bảo khóa bí mật của chữ ký số điện tử sẽ được giữ bí mật;

Đình chỉ, gia hạn và thu hồi việc ký chứng chỉ khóa;

Duy trì sổ đăng ký các chứng chỉ khóa chữ ký, đảm bảo tính liên quan của nó và khả năng truy cập miễn phí của những người tham gia hệ thống thông tin;

Kiểm tra tính duy nhất của khóa công khai của chữ ký số điện tử trong sổ đăng ký chứng chỉ khóa chữ ký và kho lưu trữ của trung tâm chứng nhận;

Cấp chứng chỉ khóa chữ ký dưới dạng tài liệu giấy và (hoặc) dưới dạng tài liệu điện tử với thông tin về hoạt động của chúng;

Theo yêu cầu từ người sử dụng chứng chỉ khóa chữ ký, nó xác nhận tính xác thực của chữ ký số điện tử trong tài liệu điện tử liên quan đến chứng chỉ khóa chữ ký được cấp cho họ.

Vì vậy, ở đây cũng vậy, trong tất cả các thỏa thuận về công nhận chữ ký số của các bên tham gia thỏa thuận, tốt hơn nên thay thế từ “Chữ ký điện tử số” bằng “Chữ ký số”.

Để cảnh báo việc sử dụng các công cụ mã hóa được tích hợp trong cơ sở dữ liệu, chúng tôi sẽ chỉ đề cập đến một sự thật thú vị. Có một công ty tên là Tiếp cận thông tin ở Tiểu bang Hoa Kỳ theo số 1-800-658-5199. Cô ấy bán một gói phần mềm với giá chỉ 185 USD những máy tính cá nhân, phá vỡ các sơ đồ mã hóa tích hợp của WordPerfect, Word, Lotus 1-2-3, Excel, quattro Pro, Nghịch lý và Oracle. Các chương trình mã hóa giống như thuốc. Một viên thuốc thu được từ một lang băm thường trông giống hệt một lọ thuốc chữa bệnh.

6. Phát triển hơn nữa phương tiện mật mã.

Vậy tiếp theo là gì? Tạo mã phức tạp đến mức không cần chuyên sâu tấn công máy tính không thể giải mã được nó, đó là giới hạn của những ham muốn trần thế và thiên đường của các nhà mật mã trên khắp thế giới. Mục tiêu này đạt được bằng cách thêm các bit mã mới vào “khóa bí mật”, giúp tăng gấp đôi tính bảo mật mỗi lần. “Bảo vệ đáng tin cậy” ngày nay chỉ có nghĩa là kẻ trộm sẽ mất quá nhiều thời gian để lấy được chìa khóa chính, — không có cuộc nói chuyện nào khác. Và mọi thứ sẽ ổn, nhưng tiến độ không đứng yên: Tuy nhiên, các nhà phát triển từ TÔI Các máy ảo tin rằng họ đã tìm thấy giải pháp thú vị các vấn đề về bảo vệ mật mã mạnh mẽ. Họ đã sử dụng vật lý lượng tử để cung cấp phương thức chuyển khóa hoàn toàn an toàn

Vật lý lượng tử được biết đến là một lĩnh vực tối tăm và rất tiên tiến, liên quan đến các tính chất của cấu trúc hạ nguyên tử. Sử dụng thành tích của cô ấy cho phép các nhà phát triển thêm cấp độ mới bảo vệ công nghệ mã hóa khóa công khai tiêu chuẩn bằng cách dịch các bit khóa thành "bit lượng tử", lượng tử hoặc "qubit". Các trạng thái và sự thay đổi trạng thái của quantbit được mô tả bằng các công thức toán học rất phức tạp. Điều này ảnh hưởng trực tiếp đến chất lượng mã hóa - số lượng những lựa chọn khả thi tăng theo cấp số nhân. Chút vào máy tính tiêu chuẩnđược biểu thị bằng một chữ số — không hoặc một. Không phải như vậy với quantbit. Cái sau, được biểu diễn bằng một hạt hoặc photon, có thể tồn tại đồng thời ở dạng 0 và một. Để thực hiện mã hóa lượng tử, một bit được chuyển đổi thành photon, truyền qua cáp quang đến máy tính của người nhận, sau đó phát trở lại máy tính của người nhận. bit tiêu chuẩn và được đọc. Điểm tinh tế chính là, không giống như bit tiêu chuẩn, bên thứ ba không thể sao chép, đọc hoặc thậm chí xem quantbit mà không thay đổi trạng thái của nó và do đó khiến mã không thể sử dụng được. Nếu bên thứ ba can thiệp vào hệ thống, trạng thái của hệ thống sẽ ngay lập tức thay đổi và người gửi nhận ra rằng ai đó đang cố xem tin nhắn.

Và tôi VM, và NT, và Phòng thí nghiệm quốc gia Los Alamos, Mọi người hiện đang tập trung vào việc phát triển các phương pháp có thể sử dụng những thành tựu của vật lý lượng tử để truyền các thông điệp được mã hóa trong các hệ thống dùng cho mục đích quân sự và không gian. TRONG tôi VM đang nỗ lực tạo ra các hệ thống tương tự cho các ngân hàng và tổ chức thương mại điện tử.

Tuy nhiên, không phải ai cũng được truyền cảm hứng từ tình hình mã hóa lượng tử. Đó là, nó truyền cảm hứng chủ yếu cho các nhà lý thuyết. “Thành thật mà nói, vật lý lượng tử hiện nay đã vượt quá tầm hiểu biết của chúng ta. hầu hết mọi người, — nói chuyên gia vấn đề mã hóa, — do đó, thật khó để tưởng tượng rằng ai đó sẽ ngay lập tức lao vào sản xuất thiết bị cần thiết. Ít nhất trong những năm tới, điều này sẽ không xảy ra”. Một số chuyên gia nói chung chắc chắn rằng vấn đề là thông tin bí mật từ điểm A đến điểm B hiện đã được giải quyết. Họ tự tin rằng trong tương lai gần không cần đến công nghệ và công nghệ mã hóa lượng tử RSA , có khả năng tạo khóa lên đến 2048 bit, vẫn khá đáng tin cậy. Mặc dù vào tháng Giêng Quỹ biên giới điện tử 1998 và giải mã nó trong 22,5 tin nhắn giờ được mã hóa theo tiêu chuẩn 56-bit DES (hiện là tiêu chuẩn tối đa về công nghệ mã hóa được phép xuất khẩu từ Mỹ), giới chuyên gia đánh giá trường hợp này mang tính biểu tượng. “Việc phá vỡ tiêu chuẩn 56-bit là một chuyện, họ nói, việc bẻ khóa tin nhắn bằng khóa 128 bit khó hơn khoảng một tỷ hoặc thậm chí một nghìn tỷ lần. Chúng tôi không nghĩ rằng trong đời mình sẽ có một chiếc máy tính có thể làm được điều này”.

Bất chấp những dự đoán như vậy, sự phát triển nhanh chóng của công nghệ nói chung và công nghệ mã hóa cũng như các công nghệ phá mã hóa nói riêng buộc Tôi VM và Phòng thí nghiệm quốc gia Los Alamos tiến xa hơn trên con đường tạo ra các công nghệ mã hóa mới, hướng tới mật mã lượng tử. Để bẻ khóa mã lượng tử, trước tiên kẻ tấn công sẽ phải phá vỡ các định luật vật lý và chỉ sau đó mới tìm được những con số phù hợp. Mặc dù thiết bị cần thiết để thực hiện mã hóa lượng tử vẫn ở đâu đó trong lĩnh vực khoa học viễn tưởng. Đã có một phiên bản phòng thí nghiệm làm việc. Hiện tại, công việc đang được tiến hành để đưa công nghệ này ra khỏi phòng thí nghiệm và đưa nó lên quy mô công nghiệp.

Ngoài ra, phạm vi ứng dụng của các công cụ mật mã hiện nay đã được mở rộng đáng kể do được sử dụng trong các mạng. VPN . Trong thế giới máy tính hiện đại, phương thức truyền tải thông tin chính là điện tử. Các tài liệu, thông tin từ cơ sở dữ liệu, số thẻ tín dụng và các tập tin có nội dung khác nhau hiện đang được di chuyển dọc theo các đường dây liên lạc. Tất cả điều này đã tìm thấy vị trí của nó trong công nghệ mới của mạng trong mạng VPN (Mạng riêng ảo) ). Công nghệ này cho phép bạn tạo các mạng công ty toàn cầu đường dài, trong đó, thay vì đường dây liên lạc của riêng bạn, Internet được sử dụng, thông tin qua đó được truyền ở dạng mã hóa. Điều này đảm bảo tính bảo mật của thông tin được truyền qua các đường truyền thông không bảo mật. Mạng VPN có nhiều nhất Các ứng dụng khác nhau. Họ có thể buộc văn phòng từ xa với tổ chức mẹ, kết nối với nhau một số mạng công ty. Cung cấp cho nhân viên hoặc khách hàng đáng tin cậy của công ty quyền truy cập vào thông tin bí mật trong mạng của công ty.


Chữ ký điện tử

Được mã hóa bằng Bí mật 1

Chữ

Khóa bí mật 1

Khóa công khai 1

Máy tính “Hai”

Máy tính “Raz”

Khóa công khai 2

bí mật đối xứng

Khóa khóa phiên

Văn bản và chữ ký được mã hóa bằng khóa phiên đối xứng

Dữ liệu được mã hóa

Mã hóa khóa phiên đối xứng bằng khóa chung người nhận

văn bản điện tử

chữ ký

Đã mã hóa

Bí mật 1

Mọi thứ đều được mã hóa đối xứng

khóa phiên

Đính kèm với bản mã

Khóa phiên được mã hóa

Dữ liệu được mã hóa

Cơm. 4.1.


Cũng như các tác phẩm khác có thể bạn quan tâm

6132. Kịch bản hoàng hôn tuyệt đẹp Bài học nam tính, cống hiến cho thánh nhân Ngày chiến thắng 38,5 KB
Kịch bản bước vào giông bão Bài học về lòng dũng cảm, sự cống hiến cho vị thánh Ngày Chiến thắng Katerina Givak: Cỏ ngắn báo hiệu Ngày Chiến thắng. Người dân Ukraine đã phải trả giá đắt khi tham gia vào cuộc chiến tồi tệ nhất trong lịch sử thế giới, cuộc chiến 1941-1945. KHÔNG...
6133. Đặc thù của việc vận hành ô tô nhập khẩu trong điều kiện Siberia 528,43 KB
Giới thiệu Trong quá trình phát triển giao thông vận tải đường bộ, việc thiết kế Phương tiện giao thôngô tô ngày càng phức tạp và hiện đại hơn, ngày càng sử dụng thiết bị điện tử cũng như sự kết hợp giữa điện tử, thủy lực và hệ thống cơ khí. Đặc biệt...
6134. Các trường chiến lược. Chuyến thám hiểm chiến lược: Chuyến tham quan khám phá vùng đất hoang dã của các chiến lược quản lý 2,47 MB
Các trường chiến lược. Chuyến đi săn chiến lược: chuyến tham quan xuyên rừng các chiến lược quản lý. Đây là một hướng dẫn thông minh, xuất sắc về chiến lược kinh doanh và có thể trở thành hướng dẫn quan trọng cho các nhà quản lý sáng tạo. Trong niềm đam mê này...
6135. Nhà máy nồi hơi và máy tạo hơi nước 3,64MB
Nhà máy nồi hơi và máy tạo hơi nước Đặc điểm và các loại chuyển động của chất làm mát nước trong nồi hơi Thủy động lực học của chất làm mát nước trong nồi hơi Chế độ nhiệt độ của bề mặt gia nhiệt của nồi hơi Vật lý và...
6136. Cơ sở của các phương pháp logic xây dựng thiết bị tự động hóa sự cố cho trạm biến áp có động cơ điện 2,21 MB
Sách dành cho sinh viên các chuyên ngành kỹ thuật điện trong quá trình nghiên cứu khóa học về bảo vệ rơle và tự động hóa hệ thống điện. Nó thảo luận về các vấn đề đặc biệt trong việc thực hiện các biện pháp chống...
6137. Bánh răng côn 45 KB
Bánh răng côn Bánh răng côn được sử dụng để giao nhau hoặc cắt nhau các trục. Góc giữa các trục có thể thay đổi tùy theo phạm vi rộng giá trị, nhưng mặt trước hình nón trực giao là phổ biến nhất...
6138. Thủ tục thực hiện nghiệp vụ hải quan khi vận chuyển hàng hóa qua biên giới hải quan 63 KB
Khi nhập hàng hóa vào lãnh thổ hải quan, dự kiến ​​​​sẽ thực hiện các hoạt động hải quan tuần tự liên quan đến việc hàng hóa đến Liên minh Hải quan và việc di chuyển hàng hóa theo Liên minh Hải quan đến Cơ quan Hải quan, nơi việc khai báo sẽ được thực hiện theo Liên minh Hải quan đã chọn.
6139. Các loại và cấu trúc của kế hoạch công tác giáo dục 44 KB
Các loại và cấu trúc của kế hoạch công tác giáo dục Cấu trúc của kế hoạch công tác giáo dục lớp học bao gồm các phần sau: Đặc điểm tâm lý, sư phạm của lớp học, phân tích tình trạng sức khỏe của trẻ (được lập vào cuối giờ học trước...
6140. Vui mừng. Chúng ta hiểu nó như thế nào? 43,5 KB
Thực tiễn: Mở rộng kiến ​​thức của các học giả về tranh luận và cách tiến hành tranh luận, mở rộng hiểu biết về hạnh phúc, khám phá tính nhân văn, văn minh, yêu thương con người, tính trung thực...

Xin chào!
Chúng ta hãy xem mật mã đối xứng và bất đối xứng là gì - tại sao chúng được gọi như vậy, chúng được sử dụng để làm gì và chúng khác nhau như thế nào.

Nói chính xác thì nói thuật toán mã hóa đối xứng và bất đối xứng thì đúng hơn.

Mật mã học (crypto - ẩn, ẩn), là khoa học che giấu những gì được viết, khoa học che giấu thông tin.

Hầu hết các thuật toán mã hóa được sử dụng đều mở, nghĩa là mọi người đều có thể xem mô tả thuật toán. Khóa mã hóa là bí mật, nếu không có khóa này thì không thể mã hóa, chứ đừng nói đến việc giải mã thông tin.

Thuật toán mã hóa đối xứng là thuật toán sử dụng cùng một khóa để mã hóa và giải mã. Nghĩa là, nếu chúng ta muốn trao đổi tin nhắn được mã hóa với một người bạn, trước tiên chúng ta phải đồng ý về khóa mã hóa mà chúng ta sẽ sử dụng. Tức là chúng ta sẽ có một khóa mã hóa cho hai người.

Trong các thuật toán đối xứng, khóa mã hóa là điểm dễ bị tổn thương, và phải chú ý hơn nữa để chìa khóa này không bị người khác nhận ra.

Thuật toán mã hóa bất đối xứng là thuật toán trong đó các khóa khác nhau nhưng có liên quan về mặt toán học được sử dụng để mã hóa và giải mã. Các khóa liên quan như vậy được gọi là cặp tiền điện tử. Một trong số đó là đóng (riêng tư), thứ hai là mở (công khai). Đồng thời, thông tin được mã hóa bằng khóa chung chỉ có thể được giải mã bằng khóa riêng và ngược lại, những gì được mã hóa bằng khóa riêng chỉ có thể được giải mã bằng khóa chung.
Bạn lưu trữ khóa riêng ở một nơi an toàn và không ai biết ngoại trừ bạn và bạn phân phối một bản sao của khóa chung cho mọi người. Do đó, nếu ai đó muốn trao đổi tin nhắn được mã hóa với bạn, họ sẽ mã hóa tin nhắn bằng khóa chung của bạn, khóa này có sẵn cho tất cả mọi người và tin nhắn này chỉ có thể được giải mã bằng khóa riêng của bạn.

Bây giờ về lý do tại sao và tại sao các thuật toán đối xứng và bất đối xứng được sử dụng:
Bảng cho thấy rằng để mã hóa một lượng lớn thông tin, để mã hóa luồng (ví dụ: VPN có mã hóa), các thuật toán đối xứng nhanh và không yêu cầu được sử dụng.

Nhưng nếu chúng ta cần đảm bảo an ninh tối đa khối lượng nhỏ thông tin, trong khi chúng ta không bị hạn chế bởi thời gian và tài nguyên máy tính thì chúng ta có thể sử dụng mật mã bất đối xứng.

Tất nhiên, trong cuộc sống, mọi thứ hơi khác một chút so với trên lý thuyết.
Trong cuộc sống, người ta sử dụng sự kết hợp của các thuật toán đối xứng và bất đối xứng.

Ví dụ: VPN có mã hóa:

    Bước đầu tiên sử dụng thuật toán khóa bất đối xứng để lấy khóa mã hóa đối xứng ().
Ở bước thứ hai, dữ liệu phát trực tuyến được mã hóa bằng thuật toán đối xứng với khóa được tạo ở bước đầu tiên.

Vì vậy, thông thường người ta sử dụng khóa đối xứng để mã hóa nhanh chóng lượng lớn dữ liệu. Trong trường hợp này, để trao đổi và truyền khóa đối xứng, thuật toán mã hóa bất đối xứng được sử dụng.