{"_id":"zuoJ8rQF2FDpy4r2h","bibbaseid":"forman-harrison-temporalstagingforcorrectbyconstructioncryptographichardware-2024","author_short":["Forman, Y.","Harrison, W. L."],"bibdata":{"bibtype":"inproceedings","type":"inproceedings","title":"Temporal Staging for Correct-by-Construction Cryptographic Hardware","author":[{"propositions":[],"lastnames":["Forman"],"firstnames":["Yakir"],"suffixes":[]},{"propositions":[],"lastnames":["Harrison"],"firstnames":["William","L."],"suffixes":[]}],"booktitle":"Rapid Systems Prototyping (RSP24)","year":"2024","abstract":"There is a conceptual divide between the ways cryptographic algorithms are defined (i.e., informal imperative pseudocode) and commodity hardware design languages (e.g., Verilog). How does one even begin to compare a pseudocode to an HDL design that purports to implement it in hardware? Bridging this divide requires substantial manual intervention and, consequently, ``shrinking the divide'' can drastically reduce the cost of high-assurance cryptographic hardware by reducing the cost of formal verification. We present a correct-by-construction methodology for the functional hardware design language, ReWire, in which a reference cryptographic algorithm is transformed into a provably correct hardware design with a program transformation called temporal staging. We illustrate this methodology with case studies including one for the BLAKE2b cryptographic hash function. Because the reference algorithm, the temporal staging transformation, and the resulting implementation are all expressed in ReWire, formal verification can proceed immediately via a published ReWire semantics. ","url_paper":"https://harrisonwl.github.io/assets/papers/rsp24.pdf","bibtex":"@inproceedings{harrison24,\n title = {Temporal Staging for Correct-by-Construction Cryptographic Hardware},\n author = {Forman, Yakir and Harrison, William L.},\n booktitle = {Rapid Systems Prototyping (RSP24)},\n year = {2024},\n abstract = {\n There is a conceptual divide between the ways cryptographic algorithms are defined (i.e., informal imperative pseudocode) and commodity hardware design languages (e.g., Verilog). How does one even begin to compare a pseudocode to an HDL design that purports to implement it in hardware? Bridging this divide requires substantial manual intervention and, consequently, ``shrinking the divide'' can drastically reduce the cost of high-assurance cryptographic hardware by reducing the cost of formal verification. We present a correct-by-construction methodology for the functional hardware design language, ReWire, in which a reference cryptographic algorithm is transformed into a provably correct hardware design with a program transformation called temporal staging. We illustrate this methodology with case studies including one for the BLAKE2b cryptographic hash function. Because the reference algorithm, the temporal staging transformation, and the resulting implementation are all expressed in ReWire, formal verification can proceed immediately via a published ReWire semantics.\n},\n url_Paper = \"https://harrisonwl.github.io/assets/papers/rsp24.pdf\",\n}\n\n \n","author_short":["Forman, Y.","Harrison, W. L."],"key":"harrison24","id":"harrison24","bibbaseid":"forman-harrison-temporalstagingforcorrectbyconstructioncryptographichardware-2024","role":"author","urls":{" paper":"https://harrisonwl.github.io/assets/papers/rsp24.pdf"},"metadata":{"authorlinks":{}},"downloads":2},"bibtype":"inproceedings","biburl":"https://harrisonwl.github.io/assets/bibliography/harrison.bib","dataSources":["wAeScLDKnpPTHdYwg"],"keywords":[],"search_terms":["temporal","staging","correct","construction","cryptographic","hardware","forman","harrison"],"title":"Temporal Staging for Correct-by-Construction Cryptographic Hardware","year":2024,"downloads":3}