An apparatus comprising: a vector register to store an input vector of a round of an encryption operation; a circuit comprising: a first data path comprising a first modular adder coupled to a first input from the vector register and a second input from the vector register, and a second modular adder coupled to the first modular adder and a second data path from the vector register, and the second data path comprising a first logical XOR circuit coupled to the second input and a third data path from the vector register, a first rotate circuit coupled to the first logical XOR circuit, a second logical XOR circuit coupled to the first rotate circuit and the third data path, and a second rotate circuit coupled to the second logical XOR circuit; and a control circuit to cause the first modular adder and the second modular adder of the first data path and the first logical XOR circuit, the second logical XOR circuit, the first rotate circuit, and the second rotate circuit of the second data path to perform a portion of the round according to one or more control values, and store a first result from the first data path for the portion and a second result from the second data path for the portion into the vector register, wherein the input vector in an initial cycle comprises a first constant value, a first key value, a second key value, and a first block counter value stored in adjacent elements, and the control circuit is to provide the first constant value, the first key value, the second key value, and the first block counter value as inputs into the circuit in the initial cycle, wherein the first constant value, the first key value, the second key value, and the first block counter value are stored in adjacent elements at a first end of the vector register in the initial cycle, and the control circuit is to input the first constant value, the first key value, the second key value, and the first block counter value into the circuit to produce output values, and store the output values into adjacent elements of a second end of the vector register for a next cycle of the round, wherein the control circuit is to shift the input vector of the initial cycle other than the first constant value, the first key value, the second key value, and the first block counter value to elements that begin at the first end of the vector register for the next cycle of the round, and the output values are stored in the adjacent elements of the second end of the vector register for the next cycle of the round. a vector register to store an input vector of a round of an encryption operation; a circuit comprising: a first data path comprising a first modular adder coupled to a first input from the vector register and a second input from the vector register, and a second modular adder coupled to the first modular adder and a second data path from the vector register, and the second data path comprising a first logical XOR circuit coupled to the second input and a third data path from the vector register, a first rotate circuit coupled to the first logical XOR circuit, a second logical XOR circuit coupled to the first rotate circuit and the third data path, and a second rotate circuit coupled to the second logical XOR circuit; and a first data path comprising a first modular adder coupled to a first input from the vector register and a second input from the vector register, and a second modular adder coupled to the first modular adder and a second data path from the vector register, and the second data path comprising a first logical XOR circuit coupled to the second input and a third data path from the vector register, a first rotate circuit coupled to the first logical XOR circuit, a second logical XOR circuit coupled to the first rotate circuit and the third data path, and a second rotate circuit coupled to the second logical XOR circuit; and a control circuit to cause the first modular adder and the second modular adder of the first data path and the first logical XOR circuit, the second logical XOR circuit, the first rotate circuit, and the second rotate circuit of the second data path to perform a portion of the round according to one or more control values, and store a first result from the first data path for the portion and a second result from the second data path for the portion into the vector register, wherein the input vector in an initial cycle comprises a first constant value, a first key value, a second key value, and a first block counter value stored in adjacent elements, and the control circuit is to provide the first constant value, the first key value, the second key value, and the first block counter value as inputs into the circuit in the initial cycle, wherein the first constant value, the first key value, the second key value, and the first block counter value are stored in adjacent elements at a first end of the vector register in the initial cycle, and the control circuit is to input the first constant value, the first key value, the second key value, and the first block counter value into the circuit to produce output values, and store the output values into adjacent elements of a second end of the vector register for a next cycle of the round, wherein the control circuit is to shift the input vector of the initial cycle other than the first constant value, the first key value, the second key value, and the first block counter value to elements that begin at the first end of the vector register for the next cycle of the round, and the output values are stored in the adjacent elements of the second end of the vector register for the next cycle of the round.