Lines Matching +full:0 +full:x10 +full:- +full:0 +full:x14
2 chacha-merged.c version 20080118
20 #define U8V(v) ((u8)(v) & U8C(0xFF))
21 #define U32V(v) ((u32)(v) & U32C(0xFFFFFFFF))
24 (U32V((v) << (n)) | ((v) >> (32 - (n))))
27 (((u32)((p)[0]) ) | \
34 (p)[0] = U8V((v) ); \
38 } while (0)
51 static const char sigma[16] = "expand 32-byte k";
52 static const char tau[16] = "expand 16-byte k";
59 x->input[4] = U8TO32_LITTLE(k + 0); in chacha_keysetup()
60 x->input[5] = U8TO32_LITTLE(k + 4); in chacha_keysetup()
61 x->input[6] = U8TO32_LITTLE(k + 8); in chacha_keysetup()
62 x->input[7] = U8TO32_LITTLE(k + 12); in chacha_keysetup()
69 x->input[8] = U8TO32_LITTLE(k + 0); in chacha_keysetup()
70 x->input[9] = U8TO32_LITTLE(k + 4); in chacha_keysetup()
71 x->input[10] = U8TO32_LITTLE(k + 8); in chacha_keysetup()
72 x->input[11] = U8TO32_LITTLE(k + 12); in chacha_keysetup()
73 x->input[0] = U8TO32_LITTLE(constants + 0); in chacha_keysetup()
74 x->input[1] = U8TO32_LITTLE(constants + 4); in chacha_keysetup()
75 x->input[2] = U8TO32_LITTLE(constants + 8); in chacha_keysetup()
76 x->input[3] = U8TO32_LITTLE(constants + 12); in chacha_keysetup()
82 x->input[12] = 0; in chacha_ivsetup()
83 x->input[13] = 0; in chacha_ivsetup()
84 x->input[14] = U8TO32_LITTLE(iv + 0); in chacha_ivsetup()
85 x->input[15] = U8TO32_LITTLE(iv + 4); in chacha_ivsetup()
91 u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; in chacha_encrypt_bytes() local
99 j0 = x->input[0]; in chacha_encrypt_bytes()
100 j1 = x->input[1]; in chacha_encrypt_bytes()
101 j2 = x->input[2]; in chacha_encrypt_bytes()
102 j3 = x->input[3]; in chacha_encrypt_bytes()
103 j4 = x->input[4]; in chacha_encrypt_bytes()
104 j5 = x->input[5]; in chacha_encrypt_bytes()
105 j6 = x->input[6]; in chacha_encrypt_bytes()
106 j7 = x->input[7]; in chacha_encrypt_bytes()
107 j8 = x->input[8]; in chacha_encrypt_bytes()
108 j9 = x->input[9]; in chacha_encrypt_bytes()
109 j10 = x->input[10]; in chacha_encrypt_bytes()
110 j11 = x->input[11]; in chacha_encrypt_bytes()
111 j12 = x->input[12]; in chacha_encrypt_bytes()
112 j13 = x->input[13]; in chacha_encrypt_bytes()
113 j14 = x->input[14]; in chacha_encrypt_bytes()
114 j15 = x->input[15]; in chacha_encrypt_bytes()
118 for (i = 0;i < bytes;++i) tmp[i] = m[i]; in chacha_encrypt_bytes()
133 x10 = j10; in chacha_encrypt_bytes()
137 x14 = j14; in chacha_encrypt_bytes()
139 for (i = 20;i > 0;i -= 2) { in chacha_encrypt_bytes()
142 QUARTERROUND( x2, x6,x10,x14) in chacha_encrypt_bytes()
144 QUARTERROUND( x0, x5,x10,x15) in chacha_encrypt_bytes()
147 QUARTERROUND( x3, x4, x9,x14) in chacha_encrypt_bytes()
159 x10 = PLUS(x10,j10); in chacha_encrypt_bytes()
163 x14 = PLUS(x14,j14); in chacha_encrypt_bytes()
167 x0 = XOR(x0,U8TO32_LITTLE(m + 0)); in chacha_encrypt_bytes()
177 x10 = XOR(x10,U8TO32_LITTLE(m + 40)); in chacha_encrypt_bytes()
181 x14 = XOR(x14,U8TO32_LITTLE(m + 56)); in chacha_encrypt_bytes()
191 U32TO8_LITTLE(c + 0,x0); in chacha_encrypt_bytes()
201 U32TO8_LITTLE(c + 40,x10); in chacha_encrypt_bytes()
205 U32TO8_LITTLE(c + 56,x14); in chacha_encrypt_bytes()
210 for (i = 0;i < bytes;++i) ctarget[i] = c[i]; in chacha_encrypt_bytes()
212 x->input[12] = j12; in chacha_encrypt_bytes()
213 x->input[13] = j13; in chacha_encrypt_bytes()
216 bytes -= 64; in chacha_encrypt_bytes()