You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.
The AES s-box can be implemented in a wide variety of ways, with different timing properties and side-channel resistances. However, all of these implementations can easily be tested exhaustively, because the s-box has only 256 cases. Therefore, it seems to me that it's low-hanging fruit to write our AES proofs in such a way that any s-box implementation can be plugged in. We can still provide an end-to-end proof that plugs in the LUT or Canright s-box, but that proof would be just a specialization of one that can take any s-box.
Some of the s-box implementations take multiple cycles, so this would involve changing the cipher implementation to accept subroutines -- at least sub_bytes -- as Circuits instead of purely combinational components. Likewise, sub_bytes would need to allow a multi-cycle s-box.
The text was updated successfully, but these errors were encountered:
The AES s-box can be implemented in a wide variety of ways, with different timing properties and side-channel resistances. However, all of these implementations can easily be tested exhaustively, because the s-box has only 256 cases. Therefore, it seems to me that it's low-hanging fruit to write our AES proofs in such a way that any s-box implementation can be plugged in. We can still provide an end-to-end proof that plugs in the LUT or Canright s-box, but that proof would be just a specialization of one that can take any s-box.
Some of the s-box implementations take multiple cycles, so this would involve changing the
cipher
implementation to accept subroutines -- at leastsub_bytes
-- asCircuit
s instead of purely combinational components. Likewise,sub_bytes
would need to allow a multi-cycle s-box.The text was updated successfully, but these errors were encountered: