Gränsade modell kontroll-och symboliska likvärdighet kontroll-är mycket framgångsrika tekniker i hårdvara domän. Nyligen, bit-vektor begränsad modell kontroller som CBMC har utvecklats som kan kontrollera egenskaper hos (mestadels låg nivå) programvara skriven i C. Men med hjälp av dessa verktyg för att kontrollera likvärdighet av programimplementationer har sällan eftersträvas. I denna fallstudie tar vi itu med problemet med att bevisa den funktionella ekvivalensen av två genomföranden av AES crypto-algoritm med hjälp av automatiska begränsade modellkontrolltekniker. Kryptografiska algoritmer är starkt beroende av bit-nivå-operationer, vilket gör dem särskilt lämpliga för bit-precisa verktyg som CBMC. Andra programverifieringsverktyg baserade på abstraktion förfining eller statisk analys verkar vara mindre lämpliga för sådan programvara. Vi kan halvautomatiskt bevisa att de tre första omgångarna av AES-krypteringsrutinerna är likvärdiga. Genom att leda ett manuellt assisterat induktivt bevis skulle vi dessutom kunna visa att hela AES-krypteringsprocessen är likvärdig.
Sinz och Post Ref visar att två tillämpningar av AES chiffer är likvärdiga genom begränsad modellkontroll.
Proving Functional Equivalence of Two AES Implementations Using Bounded Model Checking
{'venue': '2009 International Conference on Software Testing Verification and Validation', 'journal': '2009 International Conference on Software Testing Verification and Validation', 'mag_field_of_study': ['Computer Science']}