Điểm:2

Một phương pháp mới để ẩn dữ liệu bằng số nguyên tố?

lá cờ in

Phương pháp ẩn dữ liệu sau đây đã được đề xuất hoặc nghiên cứu chưa? Hiệu quả hoặc bảo mật của phương pháp này là gì? Ứng dụng nào có thể sử dụng phương pháp này?

Dữ liệu được ẩn trong một số là tích của hai số nguyên tố. Một số nguyên tố chứa dữ liệu ẩn và số lớn hơn số nguyên tố cho biết độ dài của dữ liệu, được xây dựng bằng cách sử dụng phép nối như sau.

$p = p_0 \ || \ dữ liệu \ || \ p_{cuối}\ \ $$ \ \ q = q_0 \ || \ dấu \ || \ q_{cuối}$

ở đâu $p_0$$q_0$ là ngẫu nhiên $độc thân$ chữ số khác không với $p_0 < q_0$, $dữ liệu$ là một số với $k$ (thập phân) chữ số, $điểm đánh dấu$ là một số ngẫu nhiên với $k-1$ các chữ số khác không theo sau bởi $0$, và $p_{end}$$q_{end}$ là các số ngẫu nhiên với $n-k-1$ chữ số.

Dữ liệu được mã hóa là $N = P \times Q$ ở đâu $P$$Q$ là các số nguyên tố tiếp theo sau $p$$q$. $n$ được chọn đủ lớn để hệ số hóa của một $2n$-số không khả thi và do đó, cùng với sự lựa chọn của $p_{end}$$q_{end}$, việc xây dựng $P$$Q$ không gây ra $dữ liệu$ hoặc $điểm đánh dấu$ thay đổi.

Một số nhận xét: (1) Mặc dù còn một số hạn chế về $P$$Q$ đã biết, không đủ để sử dụng "bao thanh toán với một phần thông tin/bit đã biết". (2) Biết $P$$Q$, theo bất kỳ thứ tự nào, cho phép tìm thấy dữ liệu ẩn một cách duy nhất. (3) Phương pháp dễ thích ứng với hệ nhị phân.

Ví dụ: $dữ liệu$ là 271828 với $k$ = 6. Để đơn giản sử dụng $n$ = 12:

$p = \mathtt {1 \underline {271828} 67213}$, $P = \mathtt {1 \underline {271828} 67221} \ \ $$ \ \ q=\mathtt {6 \underline{97811} \underline {\underline {0}}97478}$, $Q = \mathtt {6 \underline{97811} \underline {\underline {0}}97499}$

$N = P \times Q = \mathtt {88749616158555602180279}$.

CHỈNH SỬA: Dữ liệu có thể là bất kỳ số nguyên nào (không hoặc lớn hơn). Để nhấn mạnh rằng nó không cần phải là số nguyên tố, tôi đã thay đổi dữ liệu ví dụ từ 314159 (là số nguyên tố) thành 271828 (một hợp số).

CHỈNH SỬA (30 tháng 3): Đã thêm "độc thân" vào phần mô tả về $p_0$$q_0$ để nhấn mạnh rằng mỗi $p_0$$q_0$ là một chữ số khác không. Lưu ý rằng kích thước của dữ liệu ($k$) không được biết trước, nhưng được biểu thị bằng $điểm đánh dấu$. Ngoài ra, kết quả được biết đến nhiều nhất, do Coppersmith, là việc phân tích thừa số dễ dàng nếu biết một nửa số bit của thừa số.

poncho avatar
lá cờ my
Những thuộc tính bảo mật nào bạn đang hy vọng đạt được? Đây có phải là một phương pháp mã hóa? Nếu vậy, làm thế nào để bạn dự đoán rằng người nhận (ban đầu không biết $P$ hoặc $Q$) sẽ khôi phục thư? Hay đây là một chương trình cam kết?
Marc Ilunga avatar
lá cờ tr
Ý tưởng thú vị :). 2 nhận xét: lý tưởng nhất là các kế hoạch phải hiệu quả. Với các ràng buộc đối với các số nguyên tố, có vẻ như đây có thể không phải là trường hợp ở đây? Hoặc bạn đã thử với dữ liệu "có kích thước bằng tiền điện tử" bên cạnh ví dụ của mình chưa?
Marc Ilunga avatar
lá cờ tr
2) Các khái niệm bảo mật điển hình yêu cầu kế hoạch chống lại một đối thủ hùng mạnh. Trong trường hợp mã hóa, khái niệm bảo mật CPA xuất hiện trong đầu. Trong trường hợp đó, không rõ ràng lắm để bạn có thể dựa vào tuyên bố này >
lá cờ us
Điều này có thể được sử dụng như một loại kế hoạch cam kết?
lá cờ ar
@Mikero: Hmm, vâng, điều đó có thể hiệu quả. Tuy nhiên, không chắc chắn những gì nó sẽ cung cấp cho bạn so với các chương trình cam kết truyền thống (ví dụ: dựa trên hàm băm). (Chà, nó có thể *có thể* mang lại cho bạn một khoản giảm đáng kể đối với bao thanh toán, nếu bạn thực hiện cẩn thận. Chẳng hạn, tôi muốn thực hiện [một khoản giảm có thể chứng minh đối với nhật ký rời rạc](https://crypto.stackexchange.com/ câu hỏi/9704/why-is-the-pedersen-commitment-computationally-binding), tuy nhiên.)
Điểm:2
lá cờ my

Tôi sẽ xem xét điều này như một kế hoạch cam kết tiềm năng (vì tôi không thể nghĩ ra cách nào khác bạn sẽ sử dụng điều này).

Như bạn đã biết Bob, một kế hoạch cam kết là một kế hoạch mà Alice có một bí mật; cô ấy công bố một cam kết về bí mật ('cam kết với bí mật'), và sau đó, cô ấy 'mở' cam kết, tiết lộ bí mật.

Có hai thuộc tính an toàn được quan tâm trong sơ đồ cam kết:

  • Ẩn nấp; Bob nhìn thấy cam kết không thể biết bí mật là gì (ngay cả khi anh ta đoán được)
  • Ràng buộc; khi Alice mở cam kết, cô ấy phải mở nó theo giá trị mà cô ấy đã nghĩ đến khi tạo cam kết (nghĩa là cô ấy không thể mở nó theo một trong hai giá trị khác nhau tại thời điểm mở).

Trên thực tế, một kế hoạch cam kết có thể ẩn hoàn toàn (nghĩa là Bob không thể lấy được bất kỳ thông tin nào, ngay cả khi anh ta có khả năng tính toán vô hạn theo ý mình) hoặc ràng buộc hoàn hảo (nghĩa là Alice không thể mở cam kết theo hai cách khác nhau); nó là không thể cho một kế hoạch là cả hai.

Bây giờ, có hai chương trình cam kết tiêu chuẩn:

  • Các cam kết dựa trên hàm băm, nơi Alice lấy bí mật $S$ và một giá trị ngẫu nhiên $R$ và công bố cam kết $\text{Hash}( S || R )$, đối với hàm băm chống va chạm $\text{Hash}$; để mở nó, cô xuất bản $S$$R$. Điều này hóa ra là ràng buộc về mặt tính toán (dựa trên khả năng chống va chạm của hàm băm và giả sử rằng độ dài của S hoặc R đã được biết rõ) và ẩn theo thống kê (giả sử $R$ đủ dài và một giả định không chuẩn nhưng trực quan về hàm băm).

  • Cam kết của Pedersen, nơi chúng tôi có hai máy phát điện khác nhau $g$$h$ (với mối quan hệ không xác định) của một số nhóm mà vấn đề nhật ký rời rạc khó khăn; để cam kết với một giá trị $S$, cô ấy chọn một giá trị ngẫu nhiên $R$ và xuất bản $g^Sh^R$; để mở nó, cô xuất bản $S$$R$. Điều này hóa ra là hoàn thiện việc ẩn và liên kết tính toán (có thể giảm bớt đối với vấn đề DLog).

Các cam kết dựa trên hàm băm có lợi thế thực tế là chúng hiệu quả. Các cam kết của Pedersen có lợi thế là chúng có các đặc tính có thể chứng minh tốt hơn và chúng cũng thân thiện với bằng chứng không có kiến ​​thức; ví dụ: nếu Alice tạo hai cam kết, cô ấy có thể tạo ra một bằng chứng ngắn gọn về kiến ​​thức bằng không rằng hai cam kết đó là hai giá trị giống nhau (tất nhiên, giả sử chúng đúng như vậy).

Bây giờ, vào kế hoạch của bạn:

  • Đối với thuộc tính ràng buộc, bạn hoàn toàn ràng buộc; Alice chỉ có một cách duy nhất để cô ấy có thể mở được bí mật (giả sử rằng Bob kiểm tra tính nguyên tố của các thừa số được tiết lộ).

  • Đối với thuộc tính ẩn, thoạt nhìn có vẻ như có thể quy về bài toán lập thừa số. Tuy nhiên, nó không hoàn toàn đơn giản như vậy; kẻ tấn công biết trước điều gì đó về các yếu tố (ví dụ: nếu anh ta đoán được bí mật và anh ta cũng đoán được ở đâu trong $P$ xuất hiện (không có nhiều khả năng), thì anh ta có cả hai chữ số của $P$ và biết nơi các chữ số khác không trong $Q$ xuất hiện (cũng như chữ số 0)). Mặc dù không rõ làm thế nào điều đó có thể được sử dụng để làm cho quá trình phân tích dễ dàng hơn, nhưng đó sẽ là một giả định không chuẩn.

Đánh giá kế hoạch này, nó không có gì ghê gớm (miễn là bí mật còn ngắn, thông tin bổ sung có sẵn cho kẻ tấn công không có khả năng bị khai thác); mặt khác, nó cũng không hiệu quả (việc tạo ra các số nguyên tố rất tốn kém; xác thực giá trị đã tiết lộ $P$$Q$ các giá trị (đảm bảo chúng là nguyên tố), mặc dù không quá đắt nhưng vẫn không quá rẻ). Và, sẽ không rõ ràng về cách bạn sẽ tạo ra một bằng chứng không có kiến ​​thức hiệu quả về một tuyên bố về các giá trị đã cam kết.

Lewis Baxter avatar
lá cờ in
Câu trả lời tuyệt vời. Một bản tóm tắt rất hay về Đề án cam kết và các thuộc tính quan trọng. Xin lưu ý CHỈNH SỬA của tôi về p0, q0 là các chữ số đơn lẻ; và kích thước dữ liệu đó không được biết trước. Thật tệ là danh tiếng của tôi không đủ cao để tôi tăng điểm cho bạn. Bây giờ, tôi sẽ phải nghĩ về ZKP cho kế hoạch của mình. Tôi ngạc nhiên rằng một sơ đồ đơn giản như vậy (ngay cả với một số thiếu sót về mặt lý thuyết) chưa từng được đề xuất trước đây - tôi không tìm thấy bất kỳ tài liệu tham khảo nào như vậy.
Điểm:1
lá cờ in

Tôi sẽ chỉ ra một vài vấn đề tôi thấy với điều này, những vấn đề này có thể sai, nhưng tôi vẫn thấy điều này hấp dẫn

  • Đặt dữ liệu của bạn bằng (hoặc được biểu thị) bằng một số nguyên tố không phải lúc nào cũng dễ dàng như vậy. Đưa ra một thông báo nhất định mã hóa thành số nguyên tố 1, điều gì ngăn một thông báo khác có độ dài tương đương mã hóa thành cùng một số nguyên tố. (Không gian tin nhắn nhỏ có thể?)

  • Giải mã sẽ hoạt động như thế nào ở đây ...

  • Tôi không thấy bằng chứng bảo mật ở đây. Các cuộc tấn công vào RSA đã chỉ ra rằng bạn có thể khôi phục các số nguyên tố với một lượng bit nhất định trong đó. Bạn có thể sắp xếp một cuộc tấn công vũ phu vào độ dài của thông điệp, sau đó có lẽ sử dụng một số cuộc tấn công tiếp xúc với khóa một phần

Tôi chưa quen với mật mã nên hoàn toàn có khả năng tôi đã nhầm lẫn với một trong những giả định này, xin vui lòng gọi cho tôi và vẫn xin chúc mừng những ý tưởng thú vị!

Đă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.