Closed thwfhk closed 1 year ago
Thanks! I have opened a PR with the fix. This was an unfortunate conflation between two different semirings when it comes to how double unboxing behaves (which is what happens in join
). This should have been defined as the multiplication for Sec
, which it now is in this PR.
I see! Thank you.
Fixed in dev-minor
now. We will make a release with this in at some point!
The security (
Public
andPrivate
) is broken, as we can write the following well-typedleak
function.Fortunately, seems that this is just a bug of the implementation, instead of a bug of the semiring. I would expect
join
to be ill-typed as in the semiringPrivate * Public = Private
, but obviously something went wrong during type checking.