.ifnb \oldcpsr /* * This is the final round and we're done with all data-dependent table * lookups, so we can safely re-enable interrupts.
*/
restore_irqs \oldcpsr
.endif
mov_l ttab, \ttab /* * Disable interrupts and prefetch the 1024-byte 'ft' or 'it' table into * L1 cache, assuming cacheline size >= 32. This is a hardening measure * intended to make cache-timing attacks more difficult. They may not * be fully prevented, however; see the paper * https://cr.yp.to/antiforgery/cachetiming-20050414.pdf * ("Cache-timing attacks on AES") for a discussion of the many * difficulties involved in writing truly constant-time AES software.
*/
save_and_disable_irqs t0
.set i, 0
.rept 1024 / 128
ldr r8, [ttab, #i + 0]
ldr r9, [ttab, #i + 32]
ldr r10, [ttab, #i + 64]
ldr r11, [ttab, #i + 96]
.set i, i + 128
.endr
push {t0} // oldcpsr
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.