3 ms·
Yeah, yeah I have heard this time and again. Do you know what critical code you’re talking about? I’m not hard to search: https://duckduckgo.com/?q=loup-vaillan
by loup-vaillant 3y ago
Yeah, yeah I have heard this time and again. Do you know what critical code you’re talking about? I’m not hard to search: https://duckduckgo.com/?q=loup-vaillant+cryptographic+library https://duckduckgo.com/?q=loup-vaillant+cryptographic+librar...
And yes it is a risk. And yes I had one critical bug in 6 years, the horror. I did it anyway because it was pushing the Pareto envelope (speed/size mostly). And of course I knew what I was getting into, which is why it is not a weekend project, but a professional grade library. More explanations on my choices here: https://monocypher.org/why/ https://monocypher.org/why/
And by the way, Monocypher is currently being used to operate the TKey from Tillitis. https://tillitis.se/products/tkey/ https://tillitis.se/products/tkey/ Good luck porting libsodium there.
---
You do have a point however: actively distributed critical software with no one being liable is an anti-pattern. Though strictly speaking, my code is only critical when it starts being used, so… we’re going back to the place of amateur work: if you want to use my code, you can pay me to get a license that does not waive my liability, or you can pay someone else to audit my library, or you can be liable yourself. And if I sell my code, I should indeed be automatically liable.
The point with my example is that with proper legislation, even cryptographic libraries can continue being open source.
- c0pium 3y agoI don’t see how what code it is matters, the principle doesn’t change based on the people involved. The people who wrote OpenSSL thought they knew what they were doing. As did the people who approved Dual_EC_DRBG. “Professional grade library” is an interesting choice of words in a thread about how we need to have liability for software, especially for software that is today in use exclusively licensed under no-liability licensing. If anything, all of the words on your site make it worse. A reasonable person, upon reading those fancy words, would be lead to the conclusion that this is Serious Software and thus safe to use. Are you liable under the license they’re using? Their site has a lot of “trust me bro” security words on it, which is a great illustration of my point. You wrote it, you chose of your own free will to make it available, you’re responsible if it gets people hurt.
- loup-vaillant 3y agoUnderstand here that a couple comments and a read of the website just aren’t enough to give you an informed opinion. The best I can do here is "trust me bro", and a bit of social validation: https://monocypher.org/quality-assurance/audit https://monocypher.org/quality-assurance/audit (Cure53 audit, no bug found), https://www.mail-archive.com/curves@moderncrypto.org/msg01021.html https://www.mail-archive.com/curves@moderncrypto.org/msg0102... (Curve448 inventor says "Monocypher is an impressive piece of work.") > The people who wrote OpenSSL thought they knew what they were doing. The people who wrote OpenSSL had a much harder job, and my epistemic position is a lot better: I have over 20 years worth of additional collective wisdom to draw from, the primitives I implement are much* easier to deal with, and the problem I set out to solve is at least one order of magnitude easier. > Are you liable under the license they’re using? I’m not. And to be honest I’m on the fence on whether I should be. Nobody paid me for this work after all. On the other hand, if a law made me liable I wouldn’t complain too much to be honest. If it’s regulation more than liability, I already followed most, if not all, the procedures outlined in the upcoming EU law on software resilience. I should have little problem going all the way to full compliance there (except perhaps if they ask for third party audits, I’m not paying 6.000€ per release). > you’re responsible if it gets people hurt. Believe me, I know. Thankfully so far nobody reported being hurt in any way — even from the sevcrit. And I continue making sure it stays that way. --- By the way, I’m planning to work on an FPGA RISC-V core soon. I’m pretty sure nobody will give me any flak for this. And yet when you look at it, this is even more critical than a cryptographic library.
- c0pium 3y ago> The best I can do here is "trust me bro", and a bit of social validation. You seem to have totally missed the point of this thread. That’s not the best you can do, it’s merely the best you’re willing to do. You’re so convinced that the internet should trust your code? Put that into the license. You have the directionality wrong; nobody asked you to release dangerous code while disclaiming all liability. You decided to do that.