for (int i = 16; i != SHA256.BLOCK_SIZE; i++) { w[i] = this.theta1(w[i - 2]) + w[i - 7] + this.theta0(w[i - 15]) + w[i - 16]; } w[i] = this.theta1(w[i - 2]) + w[i - 7] + this.theta0(w[i - 15]) + w[i - 16]; w[i] = (this.theta1(w[i - 2])) + w[i - 7] + (this.theta0(w[i - 15])) + w[i - 16]; w[i] = (Bitwise.RotateRight(w[i - 2], 17) ^ Bitwise.RotateRight(w[i - 2], 19) ^ (w[i - 2] >> 10)) + w[i - 7] + (this.theta0(w[i - 15])) + w[i - 16]; w[i] = (Bitwise.RotateRight(w[i - 2], 17) ^ Bitwise.RotateRight(w[i - 2], 19) ^ (w[i - 2] >> 10)) + w[i - 7] + (Bitwise.RotateRight(w[i - 15], 7) ^ Bitwise.RotateRight(w[i - 15], 18) ^ (w[i - 15] >> 3)) + w[i - 16]; w[i] = ((Bitwise.RotateRight(w[i - 2], 17)) ^ (Bitwise.RotateRight(w[i - 2], 19)) ^ (w[i - 2] >> 10)) + w[i - 7] + ((Bitwise.RotateRight(w[i - 15], 7)) ^ (Bitwise.RotateRight(w[i - 15], 18)) ^ (w[i - 15] >> 3)) + w[i - 16]; w[i] = (((w[i - 2] >> 17) | (w[i - 2] << (32 - 17))) ^ ((w[i - 2] >> 19) | (w[i - 2] << (32 - 19))) ^ (w[i - 2] >> 10)) + w[i - 7] + (((w[i - 15] >> 7) | (w[i - 15] << (32 - 7))) ^ ((w[i - 15] >> 18) | (w[i - 15] << (32 - 18))) ^ (w[i - 15] >> 3)) + w[i - 16]; w[i] = (((w[i - 2] >> 17) | (w[i - 2] << 15)) ^ ((w[i - 2] >> 19) | (w[i - 2] << 13)) ^ (w[i - 2] >> 10)) + w[i - 7] + (((w[i - 15] >> 7) | (w[i - 15] << 25)) ^ ((w[i - 15] >> 18) | (w[i - 15] << 14)) ^ (w[i - 15] >> 3)) + w[i - 16]; for (int i = 16; i != SHA256.BLOCK_SIZE; i++) { w[i] = (((w[i - 2] >> 17) | (w[i - 2] << 15)) ^ ((w[i - 2] >> 19) | (w[i - 2] << 13)) ^ (w[i - 2] >> 10)) + w[i - 7] + (((w[i - 15] >> 7) | (w[i - 15] << 25)) ^ ((w[i - 15] >> 18) | (w[i - 15] << 14)) ^ (w[i - 15] >> 3)) + w[i - 16]; } w[16] = (((w[14] >> 17) | (w[14] << 15)) ^ ((w[14] >> 19) | (w[14] << 13)) ^ (w[14] >> 10)) + w[9] + (((w[1] >> 7) | (w[1] << 25)) ^ ((w[1] >> 18) | (w[1] << 14)) ^ (w[1] >> 3)) + w[0]; w[17] = (((w[15] >> 17) | (w[15] << 15)) ^ ((w[15] >> 19) | (w[15] << 13)) ^ (w[15] >> 10)) + w[10] + (((w[2] >> 7) | (w[2] << 25)) ^ ((w[2] >> 18) | (w[2] << 14)) ^ (w[2] >> 3)) + w[1]; w[18] = (((w[16] >> 17) | (w[16] << 15)) ^ ((w[16] >> 19) | (w[16] << 13)) ^ (w[16] >> 10)) + w[11] + (((w[3] >> 7) | (w[3] << 25)) ^ ((w[3] >> 18) | (w[3] << 14)) ^ (w[3] >> 3)) + w[2]; w[19] = (((w[17] >> 17) | (w[17] << 15)) ^ ((w[17] >> 19) | (w[17] << 13)) ^ (w[17] >> 10)) + w[12] + (((w[4] >> 7) | (w[4] << 25)) ^ ((w[4] >> 18) | (w[4] << 14)) ^ (w[4] >> 3)) + w[3]; w[20] = (((w[18] >> 17) | (w[18] << 15)) ^ ((w[18] >> 19) | (w[18] << 13)) ^ (w[18] >> 10)) + w[13] + (((w[5] >> 7) | (w[5] << 25)) ^ ((w[5] >> 18) | (w[5] << 14)) ^ (w[5] >> 3)) + w[4]; w[21] = (((w[19] >> 17) | (w[19] << 15)) ^ ((w[19] >> 19) | (w[19] << 13)) ^ (w[19] >> 10)) + w[14] + (((w[6] >> 7) | (w[6] << 25)) ^ ((w[6] >> 18) | (w[6] << 14)) ^ (w[6] >> 3)) + w[5]; w[22] = (((w[20] >> 17) | (w[20] << 15)) ^ ((w[20] >> 19) | (w[20] << 13)) ^ (w[20] >> 10)) + w[15] + (((w[7] >> 7) | (w[7] << 25)) ^ ((w[7] >> 18) | (w[7] << 14)) ^ (w[7] >> 3)) + w[6]; w[23] = (((w[21] >> 17) | (w[21] << 15)) ^ ((w[21] >> 19) | (w[21] << 13)) ^ (w[21] >> 10)) + w[16] + (((w[8] >> 7) | (w[8] << 25)) ^ ((w[8] >> 18) | (w[8] << 14)) ^ (w[8] >> 3)) + w[7]; w[24] = (((w[22] >> 17) | (w[22] << 15)) ^ ((w[22] >> 19) | (w[22] << 13)) ^ (w[22] >> 10)) + w[17] + (((w[9] >> 7) | (w[9] << 25)) ^ ((w[9] >> 18) | (w[9] << 14)) ^ (w[9] >> 3)) + w[8]; w[25] = (((w[23] >> 17) | (w[23] << 15)) ^ ((w[23] >> 19) | (w[23] << 13)) ^ (w[23] >> 10)) + w[18] + (((w[10] >> 7) | (w[10] << 25)) ^ ((w[10] >> 18) | (w[10] << 14)) ^ (w[10] >> 3)) + w[9]; w[26] = (((w[24] >> 17) | (w[24] << 15)) ^ ((w[24] >> 19) | (w[24] << 13)) ^ (w[24] >> 10)) + w[19] + (((w[11] >> 7) | (w[11] << 25)) ^ ((w[11] >> 18) | (w[11] << 14)) ^ (w[11] >> 3)) + w[10]; w[27] = (((w[25] >> 17) | (w[25] << 15)) ^ ((w[25] >> 19) | (w[25] << 13)) ^ (w[25] >> 10)) + w[20] + (((w[12] >> 7) | (w[12] << 25)) ^ ((w[12] >> 18) | (w[12] << 14)) ^ (w[12] >> 3)) + w[11]; w[28] = (((w[26] >> 17) | (w[26] << 15)) ^ ((w[26] >> 19) | (w[26] << 13)) ^ (w[26] >> 10)) + w[21] + (((w[13] >> 7) | (w[13] << 25)) ^ ((w[13] >> 18) | (w[13] << 14)) ^ (w[13] >> 3)) + w[12]; w[29] = (((w[27] >> 17) | (w[27] << 15)) ^ ((w[27] >> 19) | (w[27] << 13)) ^ (w[27] >> 10)) + w[22] + (((w[14] >> 7) | (w[14] << 25)) ^ ((w[14] >> 18) | (w[14] << 14)) ^ (w[14] >> 3)) + w[13]; w[30] = (((w[28] >> 17) | (w[28] << 15)) ^ ((w[28] >> 19) | (w[28] << 13)) ^ (w[28] >> 10)) + w[23] + (((w[15] >> 7) | (w[15] << 25)) ^ ((w[15] >> 18) | (w[15] << 14)) ^ (w[15] >> 3)) + w[14]; w[31] = (((w[29] >> 17) | (w[29] << 15)) ^ ((w[29] >> 19) | (w[29] << 13)) ^ (w[29] >> 10)) + w[24] + (((w[16] >> 7) | (w[16] << 25)) ^ ((w[16] >> 18) | (w[16] << 14)) ^ (w[16] >> 3)) + w[15]; w[32] = (((w[30] >> 17) | (w[30] << 15)) ^ ((w[30] >> 19) | (w[30] << 13)) ^ (w[30] >> 10)) + w[25] + (((w[17] >> 7) | (w[17] << 25)) ^ ((w[17] >> 18) | (w[17] << 14)) ^ (w[17] >> 3)) + w[16]; w[33] = (((w[31] >> 17) | (w[31] << 15)) ^ ((w[31] >> 19) | (w[31] << 13)) ^ (w[31] >> 10)) + w[26] + (((w[18] >> 7) | (w[18] << 25)) ^ ((w[18] >> 18) | (w[18] << 14)) ^ (w[18] >> 3)) + w[17]; w[34] = (((w[32] >> 17) | (w[32] << 15)) ^ ((w[32] >> 19) | (w[32] << 13)) ^ (w[32] >> 10)) + w[27] + (((w[19] >> 7) | (w[19] << 25)) ^ ((w[19] >> 18) | (w[19] << 14)) ^ (w[19] >> 3)) + w[18]; w[35] = (((w[33] >> 17) | (w[33] << 15)) ^ ((w[33] >> 19) | (w[33] << 13)) ^ (w[33] >> 10)) + w[28] + (((w[20] >> 7) | (w[20] << 25)) ^ ((w[20] >> 18) | (w[20] << 14)) ^ (w[20] >> 3)) + w[19]; w[36] = (((w[34] >> 17) | (w[34] << 15)) ^ ((w[34] >> 19) | (w[34] << 13)) ^ (w[34] >> 10)) + w[29] + (((w[21] >> 7) | (w[21] << 25)) ^ ((w[21] >> 18) | (w[21] << 14)) ^ (w[21] >> 3)) + w[20]; w[37] = (((w[35] >> 17) | (w[35] << 15)) ^ ((w[35] >> 19) | (w[35] << 13)) ^ (w[35] >> 10)) + w[30] + (((w[22] >> 7) | (w[22] << 25)) ^ ((w[22] >> 18) | (w[22] << 14)) ^ (w[22] >> 3)) + w[21]; w[38] = (((w[36] >> 17) | (w[36] << 15)) ^ ((w[36] >> 19) | (w[36] << 13)) ^ (w[36] >> 10)) + w[31] + (((w[23] >> 7) | (w[23] << 25)) ^ ((w[23] >> 18) | (w[23] << 14)) ^ (w[23] >> 3)) + w[22]; w[39] = (((w[37] >> 17) | (w[37] << 15)) ^ ((w[37] >> 19) | (w[37] << 13)) ^ (w[37] >> 10)) + w[32] + (((w[24] >> 7) | (w[24] << 25)) ^ ((w[24] >> 18) | (w[24] << 14)) ^ (w[24] >> 3)) + w[23]; w[40] = (((w[38] >> 17) | (w[38] << 15)) ^ ((w[38] >> 19) | (w[38] << 13)) ^ (w[38] >> 10)) + w[33] + (((w[25] >> 7) | (w[25] << 25)) ^ ((w[25] >> 18) | (w[25] << 14)) ^ (w[25] >> 3)) + w[24]; w[41] = (((w[39] >> 17) | (w[39] << 15)) ^ ((w[39] >> 19) | (w[39] << 13)) ^ (w[39] >> 10)) + w[34] + (((w[26] >> 7) | (w[26] << 25)) ^ ((w[26] >> 18) | (w[26] << 14)) ^ (w[26] >> 3)) + w[25]; w[42] = (((w[40] >> 17) | (w[40] << 15)) ^ ((w[40] >> 19) | (w[40] << 13)) ^ (w[40] >> 10)) + w[35] + (((w[27] >> 7) | (w[27] << 25)) ^ ((w[27] >> 18) | (w[27] << 14)) ^ (w[27] >> 3)) + w[26]; w[43] = (((w[41] >> 17) | (w[41] << 15)) ^ ((w[41] >> 19) | (w[41] << 13)) ^ (w[41] >> 10)) + w[36] + (((w[28] >> 7) | (w[28] << 25)) ^ ((w[28] >> 18) | (w[28] << 14)) ^ (w[28] >> 3)) + w[27]; w[44] = (((w[42] >> 17) | (w[42] << 15)) ^ ((w[42] >> 19) | (w[42] << 13)) ^ (w[42] >> 10)) + w[37] + (((w[29] >> 7) | (w[29] << 25)) ^ ((w[29] >> 18) | (w[29] << 14)) ^ (w[29] >> 3)) + w[28]; w[45] = (((w[43] >> 17) | (w[43] << 15)) ^ ((w[43] >> 19) | (w[43] << 13)) ^ (w[43] >> 10)) + w[38] + (((w[30] >> 7) | (w[30] << 25)) ^ ((w[30] >> 18) | (w[30] << 14)) ^ (w[30] >> 3)) + w[29]; w[46] = (((w[44] >> 17) | (w[44] << 15)) ^ ((w[44] >> 19) | (w[44] << 13)) ^ (w[44] >> 10)) + w[39] + (((w[31] >> 7) | (w[31] << 25)) ^ ((w[31] >> 18) | (w[31] << 14)) ^ (w[31] >> 3)) + w[30]; w[47] = (((w[45] >> 17) | (w[45] << 15)) ^ ((w[45] >> 19) | (w[45] << 13)) ^ (w[45] >> 10)) + w[40] + (((w[32] >> 7) | (w[32] << 25)) ^ ((w[32] >> 18) | (w[32] << 14)) ^ (w[32] >> 3)) + w[31]; w[48] = (((w[46] >> 17) | (w[46] << 15)) ^ ((w[46] >> 19) | (w[46] << 13)) ^ (w[46] >> 10)) + w[41] + (((w[33] >> 7) | (w[33] << 25)) ^ ((w[33] >> 18) | (w[33] << 14)) ^ (w[33] >> 3)) + w[32]; w[49] = (((w[47] >> 17) | (w[47] << 15)) ^ ((w[47] >> 19) | (w[47] << 13)) ^ (w[47] >> 10)) + w[42] + (((w[34] >> 7) | (w[34] << 25)) ^ ((w[34] >> 18) | (w[34] << 14)) ^ (w[34] >> 3)) + w[33]; w[50] = (((w[48] >> 17) | (w[48] << 15)) ^ ((w[48] >> 19) | (w[48] << 13)) ^ (w[48] >> 10)) + w[43] + (((w[35] >> 7) | (w[35] << 25)) ^ ((w[35] >> 18) | (w[35] << 14)) ^ (w[35] >> 3)) + w[34]; w[51] = (((w[49] >> 17) | (w[49] << 15)) ^ ((w[49] >> 19) | (w[49] << 13)) ^ (w[49] >> 10)) + w[44] + (((w[36] >> 7) | (w[36] << 25)) ^ ((w[36] >> 18) | (w[36] << 14)) ^ (w[36] >> 3)) + w[35]; w[52] = (((w[50] >> 17) | (w[50] << 15)) ^ ((w[50] >> 19) | (w[50] << 13)) ^ (w[50] >> 10)) + w[45] + (((w[37] >> 7) | (w[37] << 25)) ^ ((w[37] >> 18) | (w[37] << 14)) ^ (w[37] >> 3)) + w[36]; w[53] = (((w[51] >> 17) | (w[51] << 15)) ^ ((w[51] >> 19) | (w[51] << 13)) ^ (w[51] >> 10)) + w[46] + (((w[38] >> 7) | (w[38] << 25)) ^ ((w[38] >> 18) | (w[38] << 14)) ^ (w[38] >> 3)) + w[37]; w[54] = (((w[52] >> 17) | (w[52] << 15)) ^ ((w[52] >> 19) | (w[52] << 13)) ^ (w[52] >> 10)) + w[47] + (((w[39] >> 7) | (w[39] << 25)) ^ ((w[39] >> 18) | (w[39] << 14)) ^ (w[39] >> 3)) + w[38]; w[55] = (((w[53] >> 17) | (w[53] << 15)) ^ ((w[53] >> 19) | (w[53] << 13)) ^ (w[53] >> 10)) + w[48] + (((w[40] >> 7) | (w[40] << 25)) ^ ((w[40] >> 18) | (w[40] << 14)) ^ (w[40] >> 3)) + w[39]; w[56] = (((w[54] >> 17) | (w[54] << 15)) ^ ((w[54] >> 19) | (w[54] << 13)) ^ (w[54] >> 10)) + w[49] + (((w[41] >> 7) | (w[41] << 25)) ^ ((w[41] >> 18) | (w[41] << 14)) ^ (w[41] >> 3)) + w[40]; w[57] = (((w[55] >> 17) | (w[55] << 15)) ^ ((w[55] >> 19) | (w[55] << 13)) ^ (w[55] >> 10)) + w[50] + (((w[42] >> 7) | (w[42] << 25)) ^ ((w[42] >> 18) | (w[42] << 14)) ^ (w[42] >> 3)) + w[41]; w[58] = (((w[56] >> 17) | (w[56] << 15)) ^ ((w[56] >> 19) | (w[56] << 13)) ^ (w[56] >> 10)) + w[51] + (((w[43] >> 7) | (w[43] << 25)) ^ ((w[43] >> 18) | (w[43] << 14)) ^ (w[43] >> 3)) + w[42]; w[59] = (((w[57] >> 17) | (w[57] << 15)) ^ ((w[57] >> 19) | (w[57] << 13)) ^ (w[57] >> 10)) + w[52] + (((w[44] >> 7) | (w[44] << 25)) ^ ((w[44] >> 18) | (w[44] << 14)) ^ (w[44] >> 3)) + w[43]; w[60] = (((w[58] >> 17) | (w[58] << 15)) ^ ((w[58] >> 19) | (w[58] << 13)) ^ (w[58] >> 10)) + w[53] + (((w[45] >> 7) | (w[45] << 25)) ^ ((w[45] >> 18) | (w[45] << 14)) ^ (w[45] >> 3)) + w[44]; w[61] = (((w[59] >> 17) | (w[59] << 15)) ^ ((w[59] >> 19) | (w[59] << 13)) ^ (w[59] >> 10)) + w[54] + (((w[46] >> 7) | (w[46] << 25)) ^ ((w[46] >> 18) | (w[46] << 14)) ^ (w[46] >> 3)) + w[45]; w[62] = (((w[60] >> 17) | (w[60] << 15)) ^ ((w[60] >> 19) | (w[60] << 13)) ^ (w[60] >> 10)) + w[55] + (((w[47] >> 7) | (w[47] << 25)) ^ ((w[47] >> 18) | (w[47] << 14)) ^ (w[47] >> 3)) + w[46]; w[63] = (((w[61] >> 17) | (w[61] << 15)) ^ ((w[61] >> 19) | (w[61] << 13)) ^ (w[61] >> 10)) + w[56] + (((w[48] >> 7) | (w[48] << 25)) ^ ((w[48] >> 18) | (w[48] << 14)) ^ (w[48] >> 3)) + w[47];