def inner_block
import bend-collections@1.0.0.0/spec/crypto/chacha.bend as Chachaimport Base
56# inner_block: four column rounds, then four diagonal rounds.
57def inner_block(s: List<&2, U32>) -> List<&2, U32>:
58 s1 = quarter(s, 0n, 4n, 8n, 12n)
59 s2 = quarter(s1, 1n, 5n, 9n, 13n)
60 s3 = quarter(s2, 2n, 6n, 10n, 14n)
61 s4 = quarter(s3, 3n, 7n, 11n, 15n)
62 s5 = quarter(s4, 0n, 5n, 10n, 15n)
63 s6 = quarter(s5, 1n, 6n, 11n, 12n)
64 s7 = quarter(s6, 2n, 7n, 8n, 13n)
65 quarter(s7, 3n, 4n, 9n, 14n)