Show simple item record

dc.contributor.authorErbsen, Andres
dc.contributor.authorPhilipoom, Jade D.
dc.contributor.authorGross, Jason S.
dc.contributor.authorSloan, Robert Hal
dc.contributor.authorChlipala, Adam
dc.date.accessioned2021-07-14T15:11:01Z
dc.date.available2021-07-14T15:11:01Z
dc.date.issued2020-07
dc.identifier.issn0163-5980
dc.identifier.urihttps://hdl.handle.net/1721.1/131080
dc.description.abstractWe introduce an unusual approach for implementing cryptographic arithmetic in short high-level code with machinechecked proofs of functional correctness. We further demonstrate that simple partial evaluation is sufficient to transform such initial code into highly competitive C code, breaking the decades-old pattern that the only fast implementations are those whose instruction-level steps were written out by hand. These techniques were used to build an elliptic-curve library that achieves competitive performance for a wide range of prime fields and multiple CPU architectures, showing that implementation and proof effort scales with the number and complexity of conceptually different algorithms, not their use cases. As one outcome, we present the first verified highperformance implementation of P-256, the most widely used elliptic curve. Implementations from our library were included in BoringSSL to replace existing specialized code, for inclusion in several large deployments for Chrome, Android, and CloudFlare. This is an abridged version of the full paper originally presented in IEEE S&P 2019 [10]. We have omitted most proof-engineering details in favor of a focus on the system's functional capabilities.en_US
dc.description.sponsorshipNational Science Foundation (Grants CCF-1253229, CCF- 1512611, and CCF-1521584)en_US
dc.language.isoen
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/3421473.3421477en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceProf. Chlipala via Phoebe Ayersen_US
dc.titleSimple High-Level Code For Cryptographic Arithmetic With Proofs, Without Compromisesen_US
dc.typeArticleen_US
dc.identifier.citationErbsen, Andres et al. "Simple High-Level Code For Cryptographic Arithmetic With Proofs, Without Compromises." ACM SIGOPS Operating Systems Review 54, 1 (July 2020): 23-30. © 2020 Author(s).en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.relation.journalACM SIGOPS Operating Systems Reviewen_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2021-07-12T17:55:43Z
dspace.orderedauthorsErbsen, A; Philipoom, J; Gross, J; Sloan, R; Chlipala, Aen_US
dspace.date.submission2021-07-12T17:55:45Z
mit.journal.volume54en_US
mit.journal.issue1en_US
mit.licenseOPEN_ACCESS_POLICY
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record