Điểm:0

Bất kỳ mật mã số nào?

lá cờ us

Tôi tò mò (không được thông báo về mặt kỹ thuật) nếu mật mã số-số là phổ biến/hữu ích trong mật mã.

Hãy tưởng tượng, chúng tôi muốn mã hóa số nguyên y thành số nguyên x. Sử dụng một công thức như

x = 2 * y - 1

người ta có thể dễ dàng giải mã bằng cách có một vài ví dụ về kết hợp x-y. Vấn đề đầu tiên là trình tự của y số nguyên giống hệt với số nguyên x.

Có cách nào để mã hóa các số nguyên trong khi đầu ra là một số nguyên tương tự (không lớn hơn nhiều; ví dụ: thay đổi số có 6 chữ số thành số có 6-8 chữ số)?

bk2204 avatar
lá cờ fr
Bạn đang hỏi về một thiết kế cung cấp ánh xạ nhất quán giữa các số đầu vào và đầu ra (không an toàn) hay bạn đang hỏi về một thiết kế an toàn?
lá cờ us
@bk2204 đó là một ánh xạ nhất quán, vì ai đó có khóa có thể trực tiếp lấy `y` ra khỏi `x`. Chắc chắn, nó không an toàn như băm một chiều; nhưng độ phức tạp của khóa khiến nó khó giải mã hơn.
fgrieu avatar
lá cờ ng
Có vẻ như bạn đang yêu cầu Mã hóa bảo toàn định dạng, một dạng mật mã khối đặc biệt có thể chứa văn bản gốc và bản mã ở định dạng quy định, ví dụ: 7 chữ số. Bạn _not_ dường như đang tìm kiếm mật mã luồng, vì vậy tôi đã thay đổi thẻ.Nếu FPE thực hiện công việc, vui lòng đóng câu hỏi trừ khi bạn muốn biết thêm thông tin về FPE (có thể là thuật toán giới thiệu hoặc ví dụ đơn giản), trong trường hợp đó, hãy chỉ định các ràng buộc của bạn: có thể thực hiện được với máy tính, máy tính cầm tay, bút và giấy... cố định hoặc thay đổi kích thước cho bản rõ và bản mã, dẫn đầu bằng không có nghĩa hoặc không...
lá cờ us
@fgrieu cảm ơn vì đã làm rõ. Bạn nói đúng, nó có thể không nằm trong phạm vi của mật mã luồng, nhưng nó cũng không phải là mật mã khối điển hình. Chế độ là sổ mã điện tử, nhưng theo tôi hiểu, mật mã khối biến đổi từng ký tự thành một ký tự mới. Câu hỏi của tôi là coi đầu vào là một số (không phải là một tập hợp các chữ số). Chúng ta không cần giữ kích thước của đầu ra bằng với đầu vào. Tôi chỉ nhấn mạnh rằng đầu ra không được quá lớn. Ví dụ: chúng tôi sử dụng công thức `x = a * y^3 + b * y^2 + c * y + d`. Sẽ rất khó để giải mã đầu ra, nhưng sẽ quá lớn.
fgrieu avatar
lá cờ ng
Nếu một cái gì đó có thể là một số nguyên $[0..999999]$ (tối đa 6 chữ số thập phân) cho văn bản gốc thì không sao và bạn cho phép đầu ra lớn hơn đáng kể so với đầu vào, ví dụ: một số nguyên trong ví dụ $[0..2^{33}-1]$ (vừa với 10 chữ số thập phân), thì bạn có thể sử dụng bất kỳ mật mã, luồng tiêu chuẩn nào (ví dụ: AES-CTR thông thường) chỉ bằng một chuyển đổi từ thập phân sang nhị phân của bản rõ (20 bit) và nhị phân sang thập phân của IV+bản mã (13+20 bit). Bạn không cần FPE toàn diện, Chắc chắn IV nhỏ; và bạn không có mã hóa xác thực, nhưng điều đó không được hỏi. Tôi có thể chi tiết trong một câu trả lời nếu cần thiết.

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