INNER CODE UNIT · C

chacha_block

dmitrystu/sboot_stm32 · src/chacha.c:56

static void chacha_block() {
    memcpy(state, inits, sizeof(state));
    for (int i = 0; i < 10; i++) {
        QR(state, 0, 4,  8, 12);
        QR(state, 1, 5,  9, 13);
        QR(state, 2, 6, 10, 14);
        QR(state, 3, 7, 11, 15);
        QR(state, 0, 5, 10, 15);
        QR(state, 1, 6, 11, 12);
        QR(state, 2, 7,  8, 13);
        QR(state, 3, 4,  9, 14);
    }
    for (int i = 0; i < 16; i++) {
        state[i] += inits[i];
    }
}

void chacha_init(const void* key, const void* nonce) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…