Lines Matching +full:0 +full:x10 +full:- +full:0 +full:x14
4 chacha-merged.c version 20080118
22 #define U8V(v) ((u8)(v) & U8C(0xFF))
23 #define U32V(v) ((u32)(v) & U32C(0xFFFFFFFF))
26 (U32V((v) << (n)) | ((v) >> (32 - (n))))
29 (((u32)((p)[0]) ) | \
36 (p)[0] = U8V((v) ); \
40 } while (0)
53 static const char sigma[16] = "expand 32-byte k";
54 static const char tau[16] = "expand 16-byte k";
61 x->input[4] = U8TO32_LITTLE(k + 0); in chacha_keysetup()
62 x->input[5] = U8TO32_LITTLE(k + 4); in chacha_keysetup()
63 x->input[6] = U8TO32_LITTLE(k + 8); in chacha_keysetup()
64 x->input[7] = U8TO32_LITTLE(k + 12); in chacha_keysetup()
71 x->input[8] = U8TO32_LITTLE(k + 0); in chacha_keysetup()
72 x->input[9] = U8TO32_LITTLE(k + 4); in chacha_keysetup()
73 x->input[10] = U8TO32_LITTLE(k + 8); in chacha_keysetup()
74 x->input[11] = U8TO32_LITTLE(k + 12); in chacha_keysetup()
75 x->input[0] = U8TO32_LITTLE(constants + 0); in chacha_keysetup()
76 x->input[1] = U8TO32_LITTLE(constants + 4); in chacha_keysetup()
77 x->input[2] = U8TO32_LITTLE(constants + 8); in chacha_keysetup()
78 x->input[3] = U8TO32_LITTLE(constants + 12); in chacha_keysetup()
84 x->input[12] = 0; in chacha_ivsetup()
85 x->input[13] = 0; in chacha_ivsetup()
86 x->input[14] = U8TO32_LITTLE(iv + 0); in chacha_ivsetup()
87 x->input[15] = U8TO32_LITTLE(iv + 4); in chacha_ivsetup()
93 u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; in chacha_encrypt_bytes() local
101 j0 = x->input[0]; in chacha_encrypt_bytes()
102 j1 = x->input[1]; in chacha_encrypt_bytes()
103 j2 = x->input[2]; in chacha_encrypt_bytes()
104 j3 = x->input[3]; in chacha_encrypt_bytes()
105 j4 = x->input[4]; in chacha_encrypt_bytes()
106 j5 = x->input[5]; in chacha_encrypt_bytes()
107 j6 = x->input[6]; in chacha_encrypt_bytes()
108 j7 = x->input[7]; in chacha_encrypt_bytes()
109 j8 = x->input[8]; in chacha_encrypt_bytes()
110 j9 = x->input[9]; in chacha_encrypt_bytes()
111 j10 = x->input[10]; in chacha_encrypt_bytes()
112 j11 = x->input[11]; in chacha_encrypt_bytes()
113 j12 = x->input[12]; in chacha_encrypt_bytes()
114 j13 = x->input[13]; in chacha_encrypt_bytes()
115 j14 = x->input[14]; in chacha_encrypt_bytes()
116 j15 = x->input[15]; in chacha_encrypt_bytes()
120 for (i = 0;i < bytes;++i) tmp[i] = m[i]; in chacha_encrypt_bytes()
135 x10 = j10; in chacha_encrypt_bytes()
139 x14 = j14; in chacha_encrypt_bytes()
141 for (i = 20;i > 0;i -= 2) { in chacha_encrypt_bytes()
144 QUARTERROUND( x2, x6,x10,x14) in chacha_encrypt_bytes()
146 QUARTERROUND( x0, x5,x10,x15) in chacha_encrypt_bytes()
149 QUARTERROUND( x3, x4, x9,x14) in chacha_encrypt_bytes()
161 x10 = PLUS(x10,j10); in chacha_encrypt_bytes()
165 x14 = PLUS(x14,j14); in chacha_encrypt_bytes()
169 x0 = XOR(x0,U8TO32_LITTLE(m + 0)); in chacha_encrypt_bytes()
179 x10 = XOR(x10,U8TO32_LITTLE(m + 40)); in chacha_encrypt_bytes()
183 x14 = XOR(x14,U8TO32_LITTLE(m + 56)); in chacha_encrypt_bytes()
193 U32TO8_LITTLE(c + 0,x0); in chacha_encrypt_bytes()
203 U32TO8_LITTLE(c + 40,x10); in chacha_encrypt_bytes()
207 U32TO8_LITTLE(c + 56,x14); in chacha_encrypt_bytes()
212 for (i = 0;i < bytes;++i) ctarget[i] = c[i]; in chacha_encrypt_bytes()
214 x->input[12] = j12; in chacha_encrypt_bytes()
215 x->input[13] = j13; in chacha_encrypt_bytes()
218 bytes -= 64; in chacha_encrypt_bytes()