Điểm:2

$2^{64}$ phiên bản của cùng một thông báo

lá cờ cn

Tôi đang đọc sách giáo khoa và trong đó họ giải thích thuộc tính của hàm băm. Cụ thể, họ đưa ra một ví dụ về việc khó có thể tìm thấy giá trị đầu vào thứ hai khớp với đầu ra hàm băm của đầu vào ban đầu. Đây là ví dụ:

Bây giờ chúng tôi chỉ ra cách Oscar có thể biến khả năng tìm va chạm của mình (sửa đổi hai tin nhắn) thành một cuộc tấn công. Ví dụ, anh ấy bắt đầu với hai thông điệp: $x_1 = \text{ Chuyển \$10 vào tài khoản của Oscarâ} \ x_2 = \text{ Chuyển \$10.000 vào tài khoản của Oscarâ} $

Anh bây giờ thay đổi $x_1$$x_2$ tại các vị trí "không nhìn thấy", ví dụ: anh ấy thay thế khoảng trắng bằng tab, thêm dấu cách, v.v. Ý nghĩa của các thông báo giống nhau (ví dụ: đối với ngân hàng) nhưng hàm băm thay đổi.

Oscar cố gắng cho đến khi điều kiện $h(x_1)=h(x_2)$. Lưu ý rằng nếu kẻ tấn công có ví dụ: $64$ vị trí mà anh ta có thể thay đổi hay không, điều này mang lại $2^{64}$ các phiên bản của cùng một thông điệp với $2^{64}$ giá trị băm khác nhau.

Ai đó có thể vui lòng giải thích những gì họ có nghĩa là $2^{64}$ phiên bản của cùng một thông điệp? Điều này hoàn toàn bay qua đầu tôi. Tôi biết rằng một hàm băm (ví dụ: SHA-256) tạo ra đầu ra 64, ví dụ:

SHA256(Chuyển $10 vào tài khoản Oscarâ)=250e62ddffbdf20a0ea40d69287327e8aff58b6ad49c03dab3f714b596804dc1

Tôi hiểu rằng Oscar muốn sửa đổi Chuyển $10.000 vào tài khoản Oscarâ để đầu ra, khi được cắm vào chức năng SHA-256, mang lại đầu ra giống như ở trên. Nhưng ý nghĩa của chúng là gì khi kẻ tấn công có thể "thay đổi hay không" 64 vị trí và việc "thay đổi hay không" này mang lại kết quả như thế nào $2^{64}$ phiên bản của cùng một thông điệp?

kelalaka avatar
lá cờ in
`Không gian trống rỗng chúng ta sống để làm gì`, ngoài niềm vui, không rõ sao? thêm 64 khoảng trắng hoặc tab, điều này làm cho 64 vị trí có thể thay đổi. Sau đó, bạn có lượng dữ liệu tương tự như cuộc tấn công sinh nhật có xác suất thành công 1/2.
Slim Shady avatar
lá cờ cn
@kelalaka xin lỗi, tôi còn khá mới với không gian này nên không rõ ràng đối với tôi.
kelalaka avatar
lá cờ in
Nhấn `dấu cách` trên bàn phím, bạn thấy gì?
Slim Shady avatar
lá cờ cn
@kelalaka thay đổi đầu ra của hàm băm. Điều này là rõ ràng đối với tôi. Tôi biết rằng về mặt lý thuyết, chúng ta có thể sắp xếp $x_2$ sao cho đầu ra hàm băm của nó sẽ giống với $x_1$. Đây là tất cả những gì tôi biết
kelalaka avatar
lá cờ in
Nhân tiện, tên của cuốn sách là gì?
Điểm:3
lá cờ in

Văn bản được trích dẫn dường như nói về việc tìm ra xung đột của hàm băm 128 bit với cuộc tấn công Sinh nhật. Trong một cuộc tấn công sinh nhật, một người tạo ra xung quanh $\sqrt{2^{128}} = 2^{64}$ tin nhắn để họ hy vọng tìm thấy một cặp va chạm với xác suất 1/2.

Trong cuộc tấn công được mô tả, Oscar muốn tạo hai thông báo cụ thể có cùng giá trị băm.

$x_1$= Chuyển \$10 vào tài khoản Oscarâ
$x_2$= Chuyển \$10.000 vào tài khoản Oscarâ

Để tạo ra $2^{64}$ tin nhắn, người ta có thể sử dụng các ký tự vô hình như khoảng trốngchuyển hướng. Nếu bạn thêm 64 ký tự vào $x_1$ hoặc $x_2$ đó là tab hoặc không gian thì bạn có thể nhận được 64 vị trí. Điều này làm cho $2^{64}$ các thông báo có cùng ý nghĩa với các giá trị băm khác nhau có thể cao.

Sửa đổi vô hình này áp dụng cả $x_1$$x_2$.

tạo $2^{64}$ chuỗi khác nhau cho $x_1$$x_2$ và kết hợp chúng trong một tập hợp. Trong tập hợp này, chúng tôi mong đợi một vụ va chạm. Hãy nhớ rằng, theo cách này, chúng ta có thể có xung đột trong biến thể của $x_1$ (hoặc $x_2$).

Bây giờ, Oscar tìm cách đánh lừa bạn. Oscar gửi tin nhắn cho bạn $x_1$ với mô hình băm và ký hiệu và bạn xác minh nó. Sau này oscar tuyên bố rằng họ đã gửi cho bạn $x_2$. Họ cho bạn thấy rằng các chữ ký giống như chữ ký trước và ở đây chúng tôi có xung đột cần giải quyết.

Để biết các ví dụ khác về việc sử dụng va chạm băm trong các cuộc tấn công thực tế, hãy xem câu hỏi này;


Tấn công va chạm so với tấn công tiền hình ảnh thứ hai

bên trong tấn công va chạm chúng tôi đang tìm kiếm hai tin nhắn $m_1$$m_2$ với $m_1 \neq m_2$ như là $h(m_1) = h(m_2)$. Trong một cuộc tấn công va chạm, kẻ tấn công có quyền tự do lựa chọn giá trị băm, chúng chỉ tìm kiếm hai thông báo có cùng giá trị băm. Sự tự do này làm giảm chi phí tấn công. Chi phí chung của va chạm là $\mathcal{O}(\sqrt{2^{n/2}})$-thời gian cho $n$hàm băm đầu ra -bit.

Trong một số tình huống khác, kẻ tấn công cần cuộc tấn công trước hình ảnh thứ hai; đưa ra một tin nhắn $m$ và đó là giá trị băm $x=h(m)$, tìm thư khác $m' \neq m$ như vậy mà $h(m)=h(m')$. Đây là tình huống mà kẻ tấn công tạo ra chữ ký điện tử giả mạo (băm và ký). Đưa ra chữ ký, họ cố gắng tìm một tin nhắn khác $m'$ sao cho chữ ký giống như chữ ký đã cho.

Hai chi phí chung của cuộc tấn công tiền hình ảnh thứ cấp là $\mathcal{O}(\sqrt{2^n})$-thời gian cho $n$-bit hàm băm.

Định nghĩa chính thức có thể được tìm thấy trong

jjj avatar
lá cờ cn
jjj
Tôi không nghĩ họ đang nói về một cuộc tấn công sinh nhật. Một thông báo dường như đã được sửa, nếu không, người ta có thể sửa đổi cả hai ở 64 vị trí, làm cho nó có 2^64 phiên bản khác nhau. Ngoài ra, cuộc tấn công chỉ có ý nghĩa khi x1 đã được ủy quyền bằng cách nào đó (ví dụ: hàm băm đã được ký).
kelalaka avatar
lá cờ in
@jjj các văn bản cho biết (sửa đổi hai tin nhắn) và tôi đã đưa ra một lập luận đơn giản để kết hợp tất cả các biến thể của $x_1$ và $x_2$ thành một tập hợp và tìm kiếm sự va chạm khi giới hạn sinh nhật. Nếu một cái đã được sửa thì đó là một cuộc tấn công tiền hình ảnh thứ cấp. Tôi đã không nói băm và ký?
jjj avatar
lá cờ cn
jjj
Oh, bỏ lỡ điều đó. Tôi vẫn nghĩ điều đáng nói là đối với ví dụ này, thông thường người ta sẽ có một hàm băm nhất định và do đó, một thông báo cố định.
kelalaka avatar
lá cờ in
@jjj tốt hơn bây giờ?
Điểm:2
lá cờ in

Tới: ["The",""] First International Bank ["Panama",""] Chủ đề: ["Tiền",""] ["Chuyển khoản","Chuyển khoản"] ["Đơn hàng",""] từ tài khoản của tôi ["Num","#"]1234[".",""]

Tôi ["nghe theo","muốn"] Hướng dẫn ["bạn ",""] ["chuyển","chuyển khoản","di chuyển"] ["Tổng","số tiền"] của [" một triệu","1.000.000"] ["USD","$"] đến tài khoản ["Sau",""] ["num","#"] 3456.

v.v. Điều này ở trên có "$2^{14}*3$" các kết hợp chỉ dành cho phần đầu của một thông báo có liên quan. Không chơi với khoảng trắng.

kelalaka avatar
lá cờ in
Tốt, một giải pháp ngôn ngữ.
dave_thompson_085 avatar
lá cờ cn
Từ thường được sử dụng ở đó bằng tiếng Anh không phải là 'ear by' mà là 'hereby' (cũng không phải là 'here by'). Nhưng đây (cả hai!) sẽ là những lỗi chính đáng mà bạn có thể sử dụng để tạo ra các văn bản có vẻ tương đương.
Điểm:0
lá cờ kz

Nếu tôi nhận bất kỳ tin nhắn nào, tôi có thể nối thêm ký tự khoảng trắng hoặc ký tự tab để nhận hai tin nhắn khác nhau. Mỗi cái trong số hai cái đó, tôi có thể nối thêm một dấu cách hoặc tab khác để nhận được bốn tin nhắn có thể. Ký tự thứ ba đưa ra 8 thông báo có thể, sau đó là 16, v.v.

Nếu tôi lấy "gửi 10.000" và nối thêm 64 ký tự và mỗi ký tự là ký tự khoảng trắng hoặc tab, thì tôi nhận được chính xác 2^64 thư khác nhau. Và với hàm băm 64 bit, rất có thể một trong những tin nhắn này có cùng mã băm với tin nhắn "gửi 10".

Lý do để thêm khoảng trắng hoặc tab, chứ không phải bất kỳ ký tự nào, là người đọc sẽ không nhìn thấy những ký tự này. Nếu tôi nhận được "Gửi 10.000 xlfe13^", tôi sẽ nghi ngờ.

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