Lines Matching refs:state
1505 aes_round(v128_t *state, const v128_t *round_key) {
1509 of state, using the tables T0, T1, T2, T3 */
1511 column0 = T0[state->v8[0]] ^ T1[state->v8[5]]
1512 ^ T2[state->v8[10]] ^ T3[state->v8[15]];
1514 column1 = T0[state->v8[4]] ^ T1[state->v8[9]]
1515 ^ T2[state->v8[14]] ^ T3[state->v8[3]];
1517 column2 = T0[state->v8[8]] ^ T1[state->v8[13]]
1518 ^ T2[state->v8[2]] ^ T3[state->v8[7]];
1520 column3 = T0[state->v8[12]] ^ T1[state->v8[1]]
1521 ^ T2[state->v8[6]] ^ T3[state->v8[11]];
1523 state->v32[0] = column0 ^ round_key->v32[0];
1524 state->v32[1] = column1 ^ round_key->v32[1];
1525 state->v32[2] = column2 ^ round_key->v32[2];
1526 state->v32[3] = column3 ^ round_key->v32[3];
1532 aes_inv_round(v128_t *state, const v128_t *round_key) {
1536 of state, using the tables U0, U1, U2, U3 */
1538 column0 = U0[state->v8[0]] ^ U1[state->v8[13]]
1539 ^ U2[state->v8[10]] ^ U3[state->v8[7]];
1541 column1 = U0[state->v8[4]] ^ U1[state->v8[1]]
1542 ^ U2[state->v8[14]] ^ U3[state->v8[11]];
1544 column2 = U0[state->v8[8]] ^ U1[state->v8[5]]
1545 ^ U2[state->v8[2]] ^ U3[state->v8[15]];
1547 column3 = U0[state->v8[12]] ^ U1[state->v8[9]]
1548 ^ U2[state->v8[6]] ^ U3[state->v8[3]];
1550 state->v32[0] = column0 ^ round_key->v32[0];
1551 state->v32[1] = column1 ^ round_key->v32[1];
1552 state->v32[2] = column2 ^ round_key->v32[2];
1553 state->v32[3] = column3 ^ round_key->v32[3];
1558 aes_final_round(v128_t *state, const v128_t *round_key) {
1563 state->v8[0] = aes_sbox[state->v8[0]];
1564 state->v8[4] = aes_sbox[state->v8[4]];
1565 state->v8[8] = aes_sbox[state->v8[8]];
1566 state->v8[12] = aes_sbox[state->v8[12]];
1569 tmp = aes_sbox[state->v8[1]];
1570 state->v8[1] = aes_sbox[state->v8[5]];
1571 state->v8[5] = aes_sbox[state->v8[9]];
1572 state->v8[9] = aes_sbox[state->v8[13]];
1573 state->v8[13] = tmp;
1576 tmp = aes_sbox[state->v8[10]];
1577 state->v8[10] = aes_sbox[state->v8[2]];
1578 state->v8[2] = tmp;
1579 tmp = aes_sbox[state->v8[14]];
1580 state->v8[14] = aes_sbox[state->v8[6]];
1581 state->v8[6] = tmp;
1584 tmp = aes_sbox[state->v8[15]];
1585 state->v8[15] = aes_sbox[state->v8[11]];
1586 state->v8[11] = aes_sbox[state->v8[7]];
1587 state->v8[7] = aes_sbox[state->v8[3]];
1588 state->v8[3] = tmp;
1590 v128_xor_eq(state, round_key);
1594 aes_inv_final_round(v128_t *state, const v128_t *round_key) {
1599 state->v8[0] = aes_inv_sbox[state->v8[0]];
1600 state->v8[4] = aes_inv_sbox[state->v8[4]];
1601 state->v8[8] = aes_inv_sbox[state->v8[8]];
1602 state->v8[12] = aes_inv_sbox[state->v8[12]];
1605 tmp = aes_inv_sbox[state->v8[13]];
1606 state->v8[13] = aes_inv_sbox[state->v8[9]];
1607 state->v8[9] = aes_inv_sbox[state->v8[5]];
1608 state->v8[5] = aes_inv_sbox[state->v8[1]];
1609 state->v8[1] = tmp;
1612 tmp = aes_inv_sbox[state->v8[2]];
1613 state->v8[2] = aes_inv_sbox[state->v8[10]];
1614 state->v8[10] = tmp;
1615 tmp = aes_inv_sbox[state->v8[6]];
1616 state->v8[6] = aes_inv_sbox[state->v8[14]];
1617 state->v8[14] = tmp;
1620 tmp = aes_inv_sbox[state->v8[3]];
1621 state->v8[3] = aes_inv_sbox[state->v8[7]];
1622 state->v8[7] = aes_inv_sbox[state->v8[11]];
1623 state->v8[11] = aes_inv_sbox[state->v8[15]];
1624 state->v8[15] = tmp;
1626 v128_xor_eq(state, round_key);
1633 aes_round(v128_t *state, const v128_t *round_key) {
1637 of state, using the tables T0, T1, T2, T3 */
1639 column0 = T0[state->v32[0] >> 24] ^ T1[(state->v32[1] >> 16) & 0xff]
1640 ^ T2[(state->v32[2] >> 8) & 0xff] ^ T3[state->v32[3] & 0xff];
1642 column1 = T0[state->v32[1] >> 24] ^ T1[(state->v32[2] >> 16) & 0xff]
1643 ^ T2[(state->v32[3] >> 8) & 0xff] ^ T3[state->v32[0] & 0xff];
1645 column2 = T0[state->v32[2] >> 24] ^ T1[(state->v32[3] >> 16) & 0xff]
1646 ^ T2[(state->v32[0] >> 8) & 0xff] ^ T3[state->v32[1] & 0xff];
1648 column3 = T0[state->v32[3] >> 24] ^ T1[(state->v32[0] >> 16) & 0xff]
1649 ^ T2[(state->v32[1] >> 8) & 0xff] ^ T3[state->v32[2] & 0xff];
1651 column0 = T0[state->v32[0] & 0xff] ^ T1[(state->v32[1] >> 8) & 0xff]
1652 ^ T2[(state->v32[2] >> 16) & 0xff] ^ T3[state->v32[3] >> 24];
1654 column1 = T0[state->v32[1] & 0xff] ^ T1[(state->v32[2] >> 8) & 0xff]
1655 ^ T2[(state->v32[3] >> 16) & 0xff] ^ T3[state->v32[0] >> 24];
1657 column2 = T0[state->v32[2] & 0xff] ^ T1[(state->v32[3] >> 8) & 0xff]
1658 ^ T2[(state->v32[0] >> 16) & 0xff] ^ T3[state->v32[1] >> 24];
1660 column3 = T0[state->v32[3] & 0xff] ^ T1[(state->v32[0] >> 8) & 0xff]
1661 ^ T2[(state->v32[1] >> 16) & 0xff] ^ T3[state->v32[2] >> 24];
1664 state->v32[0] = column0 ^ round_key->v32[0];
1665 state->v32[1] = column1 ^ round_key->v32[1];
1666 state->v32[2] = column2 ^ round_key->v32[2];
1667 state->v32[3] = column3 ^ round_key->v32[3];
1672 aes_inv_round(v128_t *state, const v128_t *round_key) {
1676 of state, using the tables U0, U1, U2, U3 */
1680 column0 = U0[state->v32[0] >> 24] ^ U1[(state->v32[3] >> 16) & 0xff]
1681 ^ U2[(state->v32[2] >> 8) & 0xff] ^ U3[state->v32[1] & 0xff];
1683 column1 = U0[state->v32[1] >> 24] ^ U1[(state->v32[0] >> 16) & 0xff]
1684 ^ U2[(state->v32[3] >> 8) & 0xff] ^ U3[state->v32[2] & 0xff];
1686 column2 = U0[state->v32[2] >> 24] ^ U1[(state->v32[1] >> 16) & 0xff]
1687 ^ U2[(state->v32[0] >> 8) & 0xff] ^ U3[state->v32[3] & 0xff];
1689 column3 = U0[state->v32[3] >> 24] ^ U1[(state->v32[2] >> 16) & 0xff]
1690 ^ U2[(state->v32[1] >> 8) & 0xff] ^ U3[state->v32[0] & 0xff];
1692 column0 = U0[state->v32[0] & 0xff] ^ U1[(state->v32[1] >> 8) & 0xff]
1693 ^ U2[(state->v32[2] >> 16) & 0xff] ^ U3[state->v32[3] >> 24];
1695 column1 = U0[state->v32[1] & 0xff] ^ U1[(state->v32[2] >> 8) & 0xff]
1696 ^ U2[(state->v32[3] >> 16) & 0xff] ^ U3[state->v32[0] >> 24];
1698 column2 = U0[state->v32[2] & 0xff] ^ U1[(state->v32[3] >> 8) & 0xff]
1699 ^ U2[(state->v32[0] >> 16) & 0xff] ^ U3[state->v32[1] >> 24];
1701 column3 = U0[state->v32[3] & 0xff] ^ U1[(state->v32[0] >> 8) & 0xff]
1702 ^ U2[(state->v32[1] >> 16) & 0xff] ^ U3[state->v32[2] >> 24];
1705 state->v32[0] = column0 ^ round_key->v32[0];
1706 state->v32[1] = column1 ^ round_key->v32[1];
1707 state->v32[2] = column2 ^ round_key->v32[2];
1708 state->v32[3] = column3 ^ round_key->v32[3];
1713 aes_final_round(v128_t *state, const v128_t *round_key) {
1716 tmp0 = (T4[(state->v32[0] >> 24)] & 0xff000000)
1717 ^ (T4[(state->v32[1] >> 16) & 0xff] & 0x00ff0000)
1718 ^ (T4[(state->v32[2] >> 8) & 0xff] & 0x0000ff00)
1719 ^ (T4[(state->v32[3] ) & 0xff] & 0x000000ff)
1722 tmp1 = (T4[(state->v32[1] >> 24)] & 0xff000000)
1723 ^ (T4[(state->v32[2] >> 16) & 0xff] & 0x00ff0000)
1724 ^ (T4[(state->v32[3] >> 8) & 0xff] & 0x0000ff00)
1725 ^ (T4[(state->v32[0] ) & 0xff] & 0x000000ff)
1728 tmp2 = (T4[(state->v32[2] >> 24)] & 0xff000000)
1729 ^ (T4[(state->v32[3] >> 16) & 0xff] & 0x00ff0000)
1730 ^ (T4[(state->v32[0] >> 8) & 0xff] & 0x0000ff00)
1731 ^ (T4[(state->v32[1] ) & 0xff] & 0x000000ff)
1734 tmp3 = (T4[(state->v32[3] >> 24)] & 0xff000000)
1735 ^ (T4[(state->v32[0] >> 16) & 0xff] & 0x00ff0000)
1736 ^ (T4[(state->v32[1] >> 8) & 0xff] & 0x0000ff00)
1737 ^ (T4[(state->v32[2] ) & 0xff] & 0x000000ff)
1740 state->v32[0] = tmp0;
1741 state->v32[1] = tmp1;
1742 state->v32[2] = tmp2;
1743 state->v32[3] = tmp3;
1748 aes_inv_final_round(v128_t *state, const v128_t *round_key) {
1751 tmp0 = (U4[(state->v32[0] >> 24)] & 0xff000000)
1752 ^ (U4[(state->v32[3] >> 16) & 0xff] & 0x00ff0000)
1753 ^ (U4[(state->v32[2] >> 8) & 0xff] & 0x0000ff00)
1754 ^ (U4[(state->v32[1] ) & 0xff] & 0x000000ff)
1757 tmp1 = (U4[(state->v32[1] >> 24)] & 0xff000000)
1758 ^ (U4[(state->v32[0] >> 16) & 0xff] & 0x00ff0000)
1759 ^ (U4[(state->v32[3] >> 8) & 0xff] & 0x0000ff00)
1760 ^ (U4[(state->v32[2] ) & 0xff] & 0x000000ff)
1763 tmp2 = (U4[(state->v32[2] >> 24)] & 0xff000000)
1764 ^ (U4[(state->v32[1] >> 16) & 0xff] & 0x00ff0000)
1765 ^ (U4[(state->v32[0] >> 8) & 0xff] & 0x0000ff00)
1766 ^ (U4[(state->v32[3] ) & 0xff] & 0x000000ff)
1769 tmp3 = (U4[(state->v32[3] >> 24)] & 0xff000000)
1770 ^ (U4[(state->v32[2] >> 16) & 0xff] & 0x00ff0000)
1771 ^ (U4[(state->v32[1] >> 8) & 0xff] & 0x0000ff00)
1772 ^ (U4[(state->v32[0] ) & 0xff] & 0x000000ff)
1775 state->v32[0] = tmp0;
1776 state->v32[1] = tmp1;
1777 state->v32[2] = tmp2;
1778 state->v32[3] = tmp3;
1785 aes_round(v128_t *state, const v128_t *round_key) {
1789 of state, using the tables T0, T1, T2, T3 */
1791 column0 = T0[state->v8[0]] ^ T1[state->v8[5]]
1792 ^ T2[state->v8[10]] ^ T3[state->v8[15]];
1794 column1 = T0[state->v8[4]] ^ T1[state->v8[9]]
1795 ^ T2[state->v8[14]] ^ T3[state->v8[3]];
1797 column2 = T0[state->v8[8]] ^ T1[state->v8[13]]
1798 ^ T2[state->v8[2]] ^ T3[state->v8[7]];
1800 column3 = T0[state->v8[12]] ^ T1[state->v8[1]]
1801 ^ T2[state->v8[6]] ^ T3[state->v8[11]];
1803 state->v32[0] = column0 ^ round_key->v32[0];
1804 state->v32[1] = column1 ^ round_key->v32[1];
1805 state->v32[2] = column2 ^ round_key->v32[2];
1806 state->v32[3] = column3 ^ round_key->v32[3];
1812 aes_inv_round(v128_t *state, const v128_t *round_key) {
1816 of state, using the tables U0, U1, U2, U3 */
1818 column0 = U0[state->v8[0]] ^ U1[state->v8[5]]
1819 ^ U2[state->v8[10]] ^ U3[state->v8[15]];
1821 column1 = U0[state->v8[4]] ^ U1[state->v8[9]]
1822 ^ U2[state->v8[14]] ^ U3[state->v8[3]];
1824 column2 = U0[state->v8[8]] ^ U1[state->v8[13]]
1825 ^ U2[state->v8[2]] ^ U3[state->v8[7]];
1827 column3 = U0[state->v8[12]] ^ U1[state->v8[1]]
1828 ^ U2[state->v8[6]] ^ U3[state->v8[11]];
1830 state->v32[0] = column0 ^ round_key->v32[0];
1831 state->v32[1] = column1 ^ round_key->v32[1];
1832 state->v32[2] = column2 ^ round_key->v32[2];
1833 state->v32[3] = column3 ^ round_key->v32[3];
1838 aes_final_round(v128_t *state, const v128_t *round_key) {
1843 state->v8[0] = aes_sbox[state->v8[0]];
1844 state->v8[4] = aes_sbox[state->v8[4]];
1845 state->v8[8] = aes_sbox[state->v8[8]];
1846 state->v8[12] = aes_sbox[state->v8[12]];
1849 tmp = aes_sbox[state->v8[1]];
1850 state->v8[1] = aes_sbox[state->v8[5]];
1851 state->v8[5] = aes_sbox[state->v8[9]];
1852 state->v8[9] = aes_sbox[state->v8[13]];
1853 state->v8[13] = tmp;
1856 tmp = aes_sbox[state->v8[10]];
1857 state->v8[10] = aes_sbox[state->v8[2]];
1858 state->v8[2] = tmp;
1859 tmp = aes_sbox[state->v8[14]];
1860 state->v8[14] = aes_sbox[state->v8[6]];
1861 state->v8[6] = tmp;
1864 tmp = aes_sbox[state->v8[15]];
1865 state->v8[15] = aes_sbox[state->v8[11]];
1866 state->v8[11] = aes_sbox[state->v8[7]];
1867 state->v8[7] = aes_sbox[state->v8[3]];
1868 state->v8[3] = tmp;
1870 v128_xor_eq(state, round_key);
1874 aes_inv_final_round(v128_t *state, const v128_t *round_key) {
1879 state->v8[0] = aes_inv_sbox[state->v8[0]];
1880 state->v8[4] = aes_inv_sbox[state->v8[4]];
1881 state->v8[8] = aes_inv_sbox[state->v8[8]];
1882 state->v8[12] = aes_inv_sbox[state->v8[12]];
1885 tmp = aes_inv_sbox[state->v8[1]];
1886 state->v8[1] = aes_inv_sbox[state->v8[5]];
1887 state->v8[5] = aes_inv_sbox[state->v8[9]];
1888 state->v8[9] = aes_inv_sbox[state->v8[13]];
1889 state->v8[13] = tmp;
1892 tmp = aes_inv_sbox[state->v8[10]];
1893 state->v8[10] = aes_inv_sbox[state->v8[2]];
1894 state->v8[2] = tmp;
1895 tmp = aes_inv_sbox[state->v8[14]];
1896 state->v8[14] = aes_inv_sbox[state->v8[6]];
1897 state->v8[6] = tmp;
1900 tmp = aes_inv_sbox[state->v8[15]];
1901 state->v8[15] = aes_inv_sbox[state->v8[11]];
1902 state->v8[11] = aes_inv_sbox[state->v8[7]];
1903 statestate->v8[3]];
1904 state->v8[3] = tmp;
1906 v128_xor_eq(state, round_key);