Replies: 4 comments 12 replies
-
A few thoughts (new contributor caveat!)
On the last point - I think this issue is really important. Happy to help out with some of the steps needed to make it even easier to consume pqc in both open source & commercial apps |
Beta Was this translation helpful? Give feedback.
-
Another topic (perhaps a distinct discussion) is the future relationship between pq-code-package & liboqs etc |
Beta Was this translation helpful? Give feedback.
-
The most important is to clearly specify and maintain the status of the individual algorithms. If an algorithm is designated "production-ready" (other names available), then that should mean that it has non-problematic licence (most preferably OSI-approved that's not CC0), has extensive test coverage (including against side-channel attacks), and that there is committent to maintain that status (not accepting PRs that would undermine it). While other things are nice, they aren't as important for production usage. |
Beta Was this translation helpful? Give feedback.
-
With regard to point (2), my biggest concern about our current testing framework is the lack of coverage for rarely-triggered code. It's conceivable that a bug could exist in code that is triggered by conditions that occur with
Formal verification should (I believe) address this issue. In the past I've also done manual testing to trigger rarely executed code blocks, but this of course is finicky and not as comprehensive. Should formal verification prove to be a bridge too far, I would concur that some sort of external code review / audit is a decent substitute. |
Beta Was this translation helpful? Give feedback.
-
For people not loving Latin: This discussion is to ask how OQS should evolve in terms of level of code support.
So far, OQS has been completely non-committal, anyone daring enough to deploy PQC is basically left hanging high and dry when it comes to using PQC "for real" by a long warning text -- or needs to pay some expensive IT consultancy to mitigate the risks.
This issue is to discuss how to change this: How to make OQS a FOSS package normal users can rely on.
OQS already does (some) testing for constant-time properties, interoperability/KATs, memory leak vulnerabilities, follows upstream security advisories and in general, tries to do reasonable code under sensible licensing terms, but there are many exceptions, sometimes only on specific platforms, sometimes for single algorithms, sometimes we even forget to properly document the security status.
So here's a straw man proposal how to move forward:
Overarching principle: Separate non-committal "research" code from "production ready" code.
Mechanism:
liboqs
.Proposal:
CMAKE_BUILD_TYPE=Release OQS_DIST_BUILD=OFF OQS_USE_OPENSSL=ON OQS_OPT_TARGET=generic
x86_64
, should be the default config backed by a better support policy.Any and all feedback solicited. Particularly with so many companies voicing support for OQS no feedback would be disappointing. Also, without feedback, I may be tempted to assume a lack of interest and simply implement my opinion. This may NOT be what you want :-)
Beta Was this translation helpful? Give feedback.
All reactions