coloquinte / moosic-yosys-plugin Goto Github PK
View Code? Open in Web Editor NEWYosys plugin for logic locking and supply-chain security
License: GNU General Public License v2.0
Yosys plugin for logic locking and supply-chain security
License: GNU General Public License v2.0
This sounds a lot like you are adding a lot of delay into your design. It might make sense to calculate the critical path through the circuit first, and then apply this method only on all other pathes? (And only to apply as long as the modified pathes don't become the new critical path)
Using the greedy optimization on large designs, such as b18_1, can take more than an hour against just minutes for FLL/KIP. Find out if this can be improved.
This can be seen with the following test:
yosys -m moosic -p "read_blif -sop blif/iscas89-s1196a.blif; flatten; synth; show; logic_locking -target outputs -nb-antisat 16 -antisat antisat -key 77777777777777777777777777777777777777; check"
instead of adding many single wires, add a bus. Easier to adapt test benches
with lock_key[9:0]
Current metrics are area/delay/corruption estimates. We could still add corruption-related metrics + pairwise security.
Now we have to bridge those and add local-search algorithms to take care of the optimization.
It would be nice to implement the metrics used by "Fault Analysis-based Logic Encryption".
Theu use the number of test patterns that have an impact (NoP), times the total number of error (NoO), separated between 0 and 1 fault. This does not really make sense as it creates a quadratic version of the corruption (NoO only), but would be nice to have to compare to.
It's difficult to obtain a good source for the ISCAS benchmarks. At the moment, the best one I have (with .bench files) is https://pld.ttu.ee/~maksim/benchmarks/
For publication, it would be nice to switch CI to those (using yosys-abc -c "read_bench ...; write_verilog ..."
for conversion) , and automate everything from there.
Add a -key option, and use the cryptographic system RNG otherwise
The current Sat attack implementation uses Minisat provided by Yosys. It is quite limited compared to a more advanced Sat solver
Only single-bit wires are handled now. This is mostly OK for simple benchmarks, but breaks when modules have multi-bit ports
Implement Anti-Sat methods such as SKG-lock
It seems that yosys-config
is not provided by OSS-CAD suite, so it's not possible to build with an OSS-CAD installation
Currently, designs need to be flatten first. This would be nice to have
Hi! nice presentation at FSiC2023!
Please improve the docs by adding a simple example command that shows logic locking in action.
Also, I just tested the plugin with oss-cad-suite, which might be worth including in your 'install instructions' section as it's a lot faster to install yosys that way.
Thanks,
Matt
it would be interesting to have attacks such as the SAT attack at least.
after the design is locked and lock wires added, what is the key? how to find it?
Currently there is one input per key-bit, which is not as user-friendly. The key should be a single input port
can't see a way to control the number of lock wires
We should at least have a useful error when the design is hierarchical or not synthetized
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.