Điểm:11

Tại sao các trường hữu hạn rất quan trọng trong mật mã?

lá cờ id

Tôi mới bắt đầu tìm hiểu về mật mã học và hiện đang học bằng cách thử triển khai một số thuật toán mật mã.

Hiện đang triển khai thuật toán chia sẻ bí mật Shamir, điều tôi nhận thấy là các trường hữu hạn tiếp tục xuất hiện.

Tôi chỉ không hiểu tại sao chúng lại có liên quan.

Tôi thấy một điều là họ có thể đảm bảo rằng không có kết quả nào của bạn là số thập phân, vì vậy không có lỗi làm tròn, nhưng tôi thực sự nghi ngờ đó là lý do họ rất quan trọng. Sẽ thật tuyệt nếu ai đó có thể cho tôi trực giác về lý do tại sao chúng cần thiết.

Ngoài ra, thực tế là chúng hữu hạn có hại cho bảo mật không?

kelalaka avatar
lá cờ in
Dlog dễ dàng trong các lĩnh vực thực tế và phức tạp. Câu hỏi của bạn không có câu trả lời hoàn hảo. Trong Mật mã học, chúng tôi dựa vào các vấn đề khó khăn và hình thành các sơ đồ trên chúng. Các nhà nghiên cứu sử dụng chúng bất cứ khi nào có sẵn. Thông tin chi tiết của bạn hầu như đúng nhưng không đủ: [Có bất kỳ nguyên hàm mã hóa (bất đối xứng) nào không dựa vào số học trên các trường nguyên tố và/hoặc trường hữu hạn không?](https://crypto.stackexchange.com/q/54263/18298)
fgrieu avatar
lá cờ ng
Các trường hữu hạn rất quan trọng trong mật mã vì các trường rất quan trọng trong khoa học và mật mã là một ngành khoa học liên quan đến các tập hợp hữu hạn.
TonyK avatar
lá cờ us
iammadab, Dlog có nghĩa là [bài toán logarit rời rạc](https://en.wikipedia.org/wiki/Discrete_logarithm). @kelalaka, tôi thực sự không hiểu làm cách nào mà iammadab có thể tìm ra điều này -- nó không thể tra cứu được trên Google.
kelalaka avatar
lá cờ in
@TonyK ngoài ngữ cảnh, tuy nhiên, nếu bạn dán kết quả tìm kiếm của Google, thì Google đang sử dụng một số thẻ trên truy vấn có thể làm rò rỉ một số thông tin (không bao giờ tìm kiếm chúng là gì!). Tôi đã xóa những bình luận không cần thiết của mình.
Điểm:17
lá cờ ng

Một chủ đề đặc biệt quan trọng cho câu hỏi này là kích thước mã hóa. Điều này xuất phát từ "sự thật tầm thường" sau đây:

Đối với một tập hợp vô hạn $A$, không tồn tại một số $s\in \mathbb{N}$ sao cho mỗi $a\trong A$ có thể được mô tả trong $s$ chút ít.

Người ta có thể giải quyết vấn đề này bằng cách sử dụng mã hóa có độ dài thay đổi, nhưng điều này có thể dễ dàng dẫn đến các vấn đề bảo mật --- có thể hơi dễ dàng để lấy một số thông tin về kích thước của một số phần tử được mã hóa một cách thụ động. Nếu điều này đưa ra một số dấu hiệu về phần tử nào đã được mã hóa, điều này sẽ rất tệ. Vì vậy, nếu bạn muốn các đối tượng trong hệ thống mật mã của mình có một số mã hóa có kích thước đồng nhất, bạn sẽ bị mắc kẹt với các đối tượng hữu hạn.

Một lợi ích (nhỏ hơn) khi làm việc trong các cấu trúc hữu hạn là tồn tại sự phân bố đồng đều. Nó là:

  • Phân phối entropy tối đa trên một tập hợp
  • Bất biến dưới bijections
    • Điều này bao gồm, đối với một nhóm $G\ni g$, dự đoán $x\mapsto x+g$, đó là vô cùng phổ thông.

Các thuộc tính này đủ để cho thấy tính bảo mật của pad một lần, khá cơ bản và người ta thường muốn thu hút nó (thường sau khi thay thế các đối tượng "thực" bằng các đối tượng lý tưởng hóa, ví dụ: thay thế PRG bằng một chức năng ngẫu nhiên).

Đối với một số nhóm vô hạn nhất định, người ta có thể nhận được các bản phân phối có thuộc tính tương tự, đặc biệt là Haar đo. Nhưng nó là nhiều phức tạp hơn về mặt kỹ thuật, do đó, thực tế là phân phối đồng đều quá đơn giản (trong khi có các đặc tính tuyệt vời) chắc chắn là một điểm có lợi cho vùng đất hữu hạn, mặc dù ít quan trọng hơn điểm kích thước mã hóa cố định trong mắt tôi.

Không có câu trả lời nào trong số này tại sao hữu hạn lĩnh vực, thay vì chỉ các cấu trúc đại số hữu hạn. Nhưng các trường hữu hạn thường chỉ được sử dụng như một nguồn của các nhóm hữu hạn, ví dụ $\mathbb{F}_p^\times$. Người ta có thể tranh luận tại sao người ta muốn các nhóm hơn là các cấu trúc đại số yếu hơn, nhưng tôi chỉ có những điểm mơ hồ về chủ đề này.

Có lẽ điểm cuối cùng là "tại sao không phải cấu trúc hữu hạn" --- đại loại như $(\mathbb{Z}/pq\mathbb{Z})^\times$$p, q$ của $\khoảng 1024$ bit lớn đến mức nực cười, trong khi nó không kỹ thuật vô hạn, nó là "về cơ bản" nên --- ví dụ, có khoảng $2^{270}$ nguyên tử trong vũ trụ, đó là nhiều nhỏ hơn $2^{2048}$, vì vậy theo một nghĩa nào đó, nó "lớn hơn vũ trụ của chúng ta" (dĩ nhiên vẫn là hữu hạn). Trong khi một cái gì đó như $\mathbb{R}$ là vô hạn, nếu một lỗi gây ra lỗi làm tròn (như bạn đã đề cập) thì có khả năng bạn đang làm việc với các phép tính gần đúng dấu phẩy động, thường sử dụng nhiều nhất $128$ bit, vì vậy một bit thực sự (ngầm) làm việc với một nhỏ hơn tập hợp hữu hạn hơn tập hợp mà các nhà mật mã học sử dụng.

Điểm:8
lá cờ ng
SSA

Tôi sẽ cố gắng đưa ra câu trả lời chung cho điều này.

Một trường hữu hạn được biểu thị bằng ${F_p}$, trong đó p là số nguyên tố, hoạt động tốt với các thuật toán mã hóa như AES, RSA, v.v. vì những lý do sau:

  • Chúng ta cần giải mã tin nhắn được mã hóa, điều này chỉ có thể thực hiện được khi có sẵn một hàm nghịch đảo (điển hình) duy nhất. Điều này chỉ có thể xảy ra khi không có ước số 0 trong hàm và nó cũng có tính nội xạ và tính từ.

  • Ngoài ra, nó cung cấp hoạt động đóng, có nghĩa là, bất kỳ thao tác nào bạn thực hiện trong trường, kết quả sẽ vẫn ở trong trường, điều này giúp dễ dàng triển khai các thuật toán mã hóa.

  • Trường hữu hạn được tạo bởi số nguyên tố (số nguyên tố hoặc đa thức bất khả quy) có các đặc điểm bắt buộc này.

  • Nó không chỉ được sử dụng trong Mật mã học mà còn trong mã hóa kênh như mã hóa BCH hoặc Reed-Solomon. nó phổ biến trong hầu hết các mã sửa lỗi giao tiếp, bảo mật dữ liệu/nội dung, cũng như các tiện ích mở rộng của chúng như Nhóm và Nhẫn được sử dụng trong Hóa học và các lĩnh vực khoa học khác.

poncho avatar
lá cờ my
Lưu ý nhỏ: RSA không được thực hiện trong một trường hữu hạn...
lá cờ ar
@poncho: Tuy nhiên, điều thú vị cần lưu ý là vòng RSA (của các số nguyên modulo $n=pq$) là "gần như một trường" theo nghĩa là các ước của 0 rất hiếm và trên thực tế, việc tìm kiếm một số khác không một tương đương với việc bao thanh toán mô đun $n$ và do đó phá vỡ hệ thống mật mã.
poncho avatar
lá cờ my
"gần như một trường' $\ne$ 'một trường'
lá cờ id
@poncho: RSA được "thực hiện" trong một trường hữu hạn, trong đó trong khi toàn bộ vòng số nguyên mod pq không phải là một trường, các hoạt động RSA thành công sẽ chỉ sử dụng các phần của vòng nơi nó hoạt động như một trường (các hoạt động vấp ngã vào các phần mà nó không hoạt động như một trường sẽ bị lỗi).
Điểm:5
lá cờ bd

Những điểm được Mark và SSA nêu ra là những điều chính. Chúng tôi có một lớp cấu trúc được nghiên cứu kỹ lưỡng cùng với các vấn đề phù hợp hiện được cho là khó tính toán (mặc dù đã được nghiên cứu kỹ lưỡng). Trên thực tế tất cả các ánh xạ tuyến tính affine $x\mapsto ax+b$ là những dự đoán (xem những gì Mark đã nói về entropy tối đa) bất cứ khi nào $a$ là một phần tử khác không của trường. Nếu chúng tôi không có một lĩnh vực cụ thể, điều này sẽ không giữ được.

Tôi cũng muốn thêm một vài tính chất của trường hữu hạn của đặc trưng hai nói riêng ($GF(2^n)$ hoặc $\Bbb{F}_{2^n}$):

  • Không gian khóa (hoặc không gian thông báo hoặc không có gì) sau đó có kích thước là một số nguyên chính xác của bit. Điều này được thừa nhận không phải là một mối quan tâm cấp bách. Giống như một sự tiện lợi.
  • Có cấu trúc trường xung quanh giúp phân tích các hoạt động tính toán hiệu quả nhất định từ quan điểm bảo mật. Ví dụ, các hàm đơn thức đã được nghiên cứu rộng rãi từ quan điểm của thám mã vi phân. Tìm kiếm các hàm APN (=Phi tuyến tính gần như hoàn hảo). Với một cấu trúc ngẫu nhiên hơn, các phân tích như vậy sẽ bị đánh thuế nhiều hơn.

Tuy nhiên, cũng có những hạn chế đối với các lĩnh vực này

  • cấu trúc bổ sung có nghĩa là ví dụ DLP có thể dễ quản lý hơn A) trong nhóm "hộp đen" có cùng kích thước hoặc thậm chí B) trong trường nguyên tố có kích thước gần như nhau
lá cờ bd
Điều này giống như một bình luận, nhưng quá dài cho như vậy. Xin lỗi cho băng thông tiêu thụ.
Điểm:3
lá cờ sa

Tại sao một lĩnh vực: Ý tưởng đằng sau việc chia sẻ bí mật của Shamir vừa là tái tạo lại bí mật (chức năng) vừa chứng minh rằng bất kỳ bí mật được chia sẻ nào cũng có thể thực hiện được (bảo mật) bằng cách sử dụng phép nội suy đa thức.

Mặc dù phép nội suy đa thức có thể được thực hiện trên nhiều cấu trúc đại số, nhưng nó sẽ luôn hoạt động trên một trường. (Trong một trường, một đa thức khác 0 có nhiều nhất là số 0 bằng bậc của nó. Trong các cấu trúc đại số liên quan khác, điều này thường không đúng.)

Trong khi chia sẻ bí mật của Shamir thường được thực hiện trên các trường, nó đã được thực hiện trên nhiều cấu trúc đại số khác. Điều này thường đòi hỏi sự cẩn thận cao độ và phức tạp. Trừ khi bạn thực sự phải làm, thực hiện nó trên các lĩnh vực sẽ dễ dàng và thích hợp hơn nhiều.

Tại sao hữu hạn: Nó không đủ để bảo mật rằng mọi bí mật được chia sẻ đều có thể xảy ra, mọi bí mật được chia sẻ cũng phải (gần như) có khả năng như nhau. Sử dụng các trường hữu hạn cho phép chúng ta chọn tính ngẫu nhiên từ một phân phối đồng nhất, điều này hóa ra lại cho chúng ta chính xác những gì chúng ta muốn.

Chúng ta có thể làm việc trên một trường vô hạn chẳng hạn như các số hữu tỷ, nhưng trong trường hợp này sẽ rất khó để mọi bí mật được chia sẻ có xác suất gần như bằng nhau. Điều này liên quan đến việc không có phân phối đồng đều trên các tập hợp vô hạn. Nói một cách đại khái, một cách để xem xét nó là kích thước của giá trị có liên quan đến kích thước của các hệ số và nơi chúng ta đánh giá, vì vậy nếu chúng ta muốn ẩn một trong các hệ số, chúng ta cần "dìm nó ra" bằng cách có các hệ số khác lớn hơn nhiều.

Có thể thực hiện nó trên các số nguyên (không phải một trường!), nhưng để bảo mật đòi hỏi khá nhiều công việc. Như một tác dụng phụ (ít nhất là đối với kế hoạch mà tôi đã xem xét), cổ phiếu cuối cùng sẽ lớn hơn nhiều. Bạn không muốn những chi phí này trừ khi bạn có lý do chính đáng. (Điều mà bạn làm, đôi khi.)

Chúng ta có thể cố gắng làm việc trên một xấp xỉ của một trường vô hạn chẳng hạn như số thực hoặc số phức, nhưng trong trường hợp này, mọi thứ trở nên phức tạp hơn nhiều, vì chúng ta cũng phải xử lý số học không chính xác. Tôi chưa thấy ai cố gắng làm điều này, ngoại trừ do nhầm lẫn.

Các lĩnh vực mật mã khác: Các trường hữu hạn được sử dụng trên toàn bộ mật mã. Thông thường, điều này liên quan đến các phần tử khác 0 trong các trường có nghịch đảo nhân mà chúng ta rất thường muốn. Hoạt động này cũng có nhiều tính chất tốt đẹp khác, có thể chứng minh được.

Phần hữu hạn thường được yêu cầu cho tính thực tiễn, và đôi khi do các tính chất cụ thể của trường hữu hạn.

  • AES: Một ví dụ là trong hộp AES, nơi có nhiều thuộc tính mong muốn xuất phát từ các thuộc tính đại số. Chẳng hạn, bạn sẽ không nhận được các thuộc tính đại số giống nhau từ các số nguyên modulo 256 (một vành).

  • Phân nhóm nhân: Một ví dụ khác là nhóm con cấp số nhân của trường hữu hạn (các phần tử khác 0 của trường hữu hạn tạo thành một nhóm tuần hoàn), nhóm này đối với trường hữu hạn được chọn cẩn thận hóa ra lại là một nhóm phù hợp cho mật mã dựa trên d.log.. (Các logarit rời rạc được định nghĩa theo cách tương tự như các logarit thông thường, nhưng hóa ra trong một số nhóm, chúng dường như rất khó tính toán nếu không có máy tính lượng tử.)

    Trong trường hợp này, chúng ta cũng có thể sử dụng một số vành nhất định, nhưng hóa ra trong thực tế, các trường hữu hạn nguyên tố tốt hơn cho loại ứng dụng này. Chẳng hạn, bảo mật không phụ thuộc vào thứ tự nhóm bí mật, cho phép chúng tôi thực hiện một số điều bạn không thể làm nếu thứ tự nhóm không xác định. (RSA hoạt động trên các vòng như vậy, nhưng có các đặc tính và yêu cầu khác.)

  • Đường cong elip: Tuy nhiên, một ví dụ khác là các đường cong elip, được sử dụng rộng rãi trong mật mã học (thậm chí cả mật mã hậu lượng tử). Trong khi một cái gì đó rất giống đường cong elip có thể được định nghĩa trên các cấu trúc đại số khác như vành, thì lý thuyết phong phú về đường cong elip đòi hỏi phải làm việc trên các trường.

    Nghiên cứu về các đường cong elip là một phần quan trọng của lý thuyết số, nhưng đối với các mục đích mã hóa, các đường cong được xác định trên các trường vô hạn là không thực tế hoặc không phù hợp cho các mục đích chức năng và không có các thuộc tính bảo mật cần thiết. (Ví dụ: có thể tính toán một nhật ký rời rạc gần đúng bằng cách xem xét kích thước của tọa độ, thứ có thể phá vỡ tính bảo mật, nếu nó không phá vỡ tính thực tế trước tiên.) Mặc dù các đường cong elip được xác định trên các trường vô hạn không được sử dụng theo chức năng trong mật mã, nghiên cứu của họ là cần thiết cho việc phân tích mật mã đường cong elip.

    Các đường cong elip trên các vành hữu hạn nhất định đã được xem xét trong bối cảnh mật mã học, nhưng ngoại trừ các trường hợp tối nghĩa thì không mang lại bất kỳ điều gì đáng quan tâm. (Bao thanh toán đường cong elip rõ ràng bị loại trừ!)

  • Các ví dụ khác: Mật mã dựa trên lưới và mật mã dựa trên mã, sử dụng các cấu trúc đại số được xác định trên các trường hữu hạn. Mật mã đa biến, dựa trên các hệ phương trình đa thức trên các trường hữu hạn.

    Một lần nữa, phần lớn điều này có thể được thực hiện trên một số vành hữu hạn nhất định, nhưng có nhiều nhược điểm và thu được không nhiều.

Điểm:1
lá cờ ph

Để biết cụ thể về Chia sẻ bí mật của Shamir, bài viết trên Wikipedia cuộc đàm phán về tại sao các trường hữu hạn được sử dụng, thay vì một vòng khác.Trong một trường hữu hạn, không có thông tin nào về bí mật bị rò rỉ khi biết một số lượng chia sẻ dưới ngưỡng. Lý do cho điều này là mọi hàm trên một trường hữu hạn đều có một biểu diễn đa thức duy nhất (tối đa là q-1)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.