I think it's a case of finding a Pareto-optimal balance between auditability and ease of use/practicality, which means you need to step back and look at how either would be accomplished.
tl;dr: The Verilog is unlikely to ever be audited on a non-professional level so restricting yourself to OSS tools doesn't matter, and the devs should use the best, most effective tools for the job, regardless of whether they're OSS or commercial. Longer version: In terms of auditing, the vast majority of security code never gets audited. Serious security bugs can persist in plain view in widely-used crypto code (e.g. PGP's xorbytes and GPG's xorbytes-memorial bugs) for a decade or more without anyone noticing. Let's assume though that something really exceptional occurs and someone does decide to audit it. I have no idea why, maybe cosmic rays or something, or because terrorism. In any case unlike (say) GPG, you can't have someone who knows Python and has had some exposure to Perl and maybe took a class in C at some point sit down and read through the code, you need someone with pretty extensive experience in Verilog to do that, which probably means someone who works with it professionally or semi-professionally. Which in turn means they probably have access to whatever (commercial) tools they need to do the job. In terms of working with the tools, that one's pretty clear, use the best, most effective tools for the job. If the developers are hampered in their ability to produce a good design, or get turned away from having to work with poor tools, then auditability becomes irrelevant. I would have given up on cryptlib years ago if I had to build it with vi and gdb. My only real reason for staying with Windows as my desktop OS is that it's the substrate I use for running Visual Studio. It's all closed-source and commercial, but it's what I want to use because it's the best tool for the job. And that's the deciding factor in this case: What do the devs want to use? What's the most effective tool for getting the job done? Peter. _______________________________________________ Tech mailing list [email protected] https://lists.cryptech.is/listinfo/tech
