Điểm:0

Số học RSA/BigInt đeo mặt nạ?

lá cờ ng

đắp mặt nạ là quá trình thay thế các thao tác (nội bộ của một số thuật toán mật mã) trên các giá trị trung gian bằng các thao tác trên chia sẻ bí mật các giá trị. Sau đó, ngay cả khi một số giá trị được chia sẻ bí mật này bị rò rỉ (giả sử do các cuộc tấn công kênh bên khác nhau), người ta vẫn có thể duy trì tính bảo mật (do tính bảo mật về mặt lý thuyết thông tin của sơ đồ chia sẻ bí mật).

Tôi quan tâm đến khả năng số học bigint đeo mặt nạ. Cụ thể, một đại diện $x\in \mathbb{Z}_{2^{2048}}$ (ví dụ) như

$$x = \sum_{i = 0}^{63} x_i 2^{32i}$$

mỗi nơi $x_i \in\mathbb{Z}_{2^{32}}$, và chúng tôi sẽ che giấu mỗi $x_i$ riêng lẻ. Phép cộng và phép nhân tiêu chuẩn của các phần bị che khuất khá đơn giản --- Tôi đặc biệt tò mò về cách một người giải quyết chở.

Điều này có vẻ giống như một thứ mà ai đó nên tìm hiểu trong tài liệu, đặc biệt là để che dấu việc triển khai RSA. Nhưng tôi không thể tìm thấy bất cứ điều gì (tôi đã thấy một số cuộc thảo luận về việc triển khai RNS đeo mặt nạ của RSA, về mặt khái niệm đơn giản hơn). Có biết cách che dấu số học BigInt không?

kelalaka avatar
lá cờ in
OpenSSL không có triển khai để tạo mặt nạ? AFAIK không có gì đặc biệt vì nó có một số GNU/GMP được chuyển.
Mark avatar
lá cờ ng
@kelalaka có ai đã viết ở đâu đó những gì họ làm không? Nhờ con trỏ của bạn mà tôi đã tìm thấy [điều này](https://github.com/openssl/openssl/blob/1c0eede9827b0962f1d752fa4ab5d436fa039da4/crypto/bn/bn_blind.c), nhưng chắc chắn tôi nên xem mã giả hơn.
kelalaka avatar
lá cờ in
Phải mất thời gian để đọc mã, tôi bây giờ, Bạn đang tìm gì [tại đây](https://github.com/openssl/openssl/blob/1c0eede9827b0962f1d752fa4ab5d436fa039da4/crypto/bn/bn_blind.c#L134) và xem dòng 155 ở đó.
kelalaka avatar
lá cờ in
_và chúng ta**t**sẽ đeo mặt nạ cho từng $x_i$ riêng lẻ. _ Điều đó là không thể vì có sự lộn xộn của mặt nạ, phải không?
Mark avatar
lá cờ ng
@kelalaka Có vẻ như không đơn giản, nhưng phép nhân được che giấu cũng không (điều này trong trường hợp chung của mặt nạ thứ tự $n$ làm giảm giao thức nhân của giao thức GMW MPC). Ở đây, tôi chủ yếu tự hỏi liệu có cách nào khác không rõ ràng để tính toán bước "mang theo" được che giấu --- nếu không, đối với ứng dụng cụ thể của mình, tôi có thể sử dụng loại số học RNS, nhưng nó hơi khó xử hơn.
lá cờ cn
Bạn đang lo lắng về loại tấn công nào? Thời gian, DPA hay hộp trắng? OpenSSL sẽ chỉ quan tâm đến thời gian, vì vậy họ không cần sử dụng các biện pháp đối phó tốn kém cần thiết cho các cuộc tấn công mạnh hơn. Để đảm bảo RSA chống lại cuộc tấn công hộp xám, người ta phải bảo vệ hầu hết số mũ, điều này có thể được thực hiện bằng một mô-đun chia sẻ phụ gia (mô-đun). Ngoài ra, người ta có thể che giấu cơ sở theo cấp số nhân của mô đun. Để biết các biện pháp đối phó mạnh mẽ hơn cần triển khai hộp trắng, bạn có thể xem [cuộc thi hộp trắng gần đây nhất](https://whibox.io/contests/2021/rules) có các đường cong elip.
kelalaka avatar
lá cờ in
@Mark bạn có liên kết với giấy GMW MPC không?
kelalaka avatar
lá cờ in
GNU/GMP có [phép nhân mô-đun an toàn](https://gmplib.org/manual/Integer-Exponentiation) đối với kênh phụ. Đây có thể là những gì bạn cần?

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