Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(ot): co15 doesnt enforce correct ot count #194

Open
sinui0 opened this issue Dec 3, 2024 · 5 comments
Open

bug(ot): co15 doesnt enforce correct ot count #194

sinui0 opened this issue Dec 3, 2024 · 5 comments

Comments

@sinui0
Copy link
Collaborator

sinui0 commented Dec 3, 2024

Suppose, the receiver queues 60 OTs.
Suppose in receive the length of SenderPayload is 30.

Why is it not an error that the receiver will get only 30 OTs out of the 60 that they intended to receive?

Originally posted by @themighty1 in #186 (comment)

@n-lebel
Copy link

n-lebel commented Dec 26, 2024

Is there currently an error type which can be sent between players to act as an abort? If there was, an easy way to solve this would be for the Sender to check the ReceiverPayload length and send a Result<SenderPayload, Abort> as its next message instead of just SenderPayload. None of the OT error types currently implement Serialize/Deserialize so it's not immediately clear to me how to integrate this without adding a type.

@n-lebel
Copy link

n-lebel commented Dec 28, 2024

Something along the lines of #199 might help fix the issue. There's probably a better way of organizing the errors, definitely open to suggestions.

@sinui0
Copy link
Collaborator Author

sinui0 commented Dec 29, 2024

Hi @n-lebel thanks for the attention on the issue. I should have specified that this issue pertains to the alpha.1 branch, where a lot of changes are being aggregated.

Regarding the solution, we specifically avoid returning error information to peers as doing so is a known avenue for attacks. Returning an error locally is sufficient for debugging purposes.

@n-lebel
Copy link

n-lebel commented Dec 29, 2024

Good to know, I'll have a look at that branch in that case. Just to make sure about the attack vector comment, you're talking about communicating errors more generally and not this specific solution (assuming everything is constant-time), correct?

@sinui0
Copy link
Collaborator Author

sinui0 commented Dec 29, 2024

Yes, speaking in general we don't send errors over the wire

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants