|
|
@ -582,23 +582,22 @@ __kernel |
|
|
|
bool result = V[7].s0 & V[7].s1 & V[7].s2 & V[7].s3 & V[7].s4 & V[7].s5 & V[7].s6 & V[7].s7; |
|
|
|
bool result = V[7].s0 & V[7].s1 & V[7].s2 & V[7].s3 & V[7].s4 & V[7].s5 & V[7].s6 & V[7].s7; |
|
|
|
|
|
|
|
|
|
|
|
if (!result) { |
|
|
|
if (!result) { |
|
|
|
output[FOUND] = FOUND; |
|
|
|
|
|
|
|
if (!V[7].s0) |
|
|
|
if (!V[7].s0) |
|
|
|
output[NFLAG & nonce.s0] = nonce.s0; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s0] = nonce.s0; |
|
|
|
if (!V[7].s1) |
|
|
|
if (!V[7].s1) |
|
|
|
output[NFLAG & nonce.s1] = nonce.s1; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s1] = nonce.s1; |
|
|
|
if (!V[7].s2) |
|
|
|
if (!V[7].s2) |
|
|
|
output[NFLAG & nonce.s2] = nonce.s2; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s2] = nonce.s2; |
|
|
|
if (!V[7].s3) |
|
|
|
if (!V[7].s3) |
|
|
|
output[NFLAG & nonce.s3] = nonce.s3; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s3] = nonce.s3; |
|
|
|
if (!V[7].s4) |
|
|
|
if (!V[7].s4) |
|
|
|
output[NFLAG & nonce.s4] = nonce.s4; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s4] = nonce.s4; |
|
|
|
if (!V[7].s5) |
|
|
|
if (!V[7].s5) |
|
|
|
output[NFLAG & nonce.s5] = nonce.s5; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s5] = nonce.s5; |
|
|
|
if (!V[7].s6) |
|
|
|
if (!V[7].s6) |
|
|
|
output[NFLAG & nonce.s6] = nonce.s6; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s6] = nonce.s6; |
|
|
|
if (!V[7].s7) |
|
|
|
if (!V[7].s7) |
|
|
|
output[NFLAG & nonce.s7] = nonce.s7; |
|
|
|
output[FOUND] = output[NFLAG & nonce.s7] = nonce.s7; |
|
|
|
} |
|
|
|
} |
|
|
|
#elif defined VECTORS4 |
|
|
|
#elif defined VECTORS4 |
|
|
|
V[7] ^= 0x136032edU; |
|
|
|
V[7] ^= 0x136032edU; |
|
|
@ -606,15 +605,14 @@ __kernel |
|
|
|
bool result = V[7].x & V[7].y & V[7].z & V[7].w; |
|
|
|
bool result = V[7].x & V[7].y & V[7].z & V[7].w; |
|
|
|
|
|
|
|
|
|
|
|
if (!result) { |
|
|
|
if (!result) { |
|
|
|
output[FOUND] = FOUND; |
|
|
|
|
|
|
|
if (!V[7].x) |
|
|
|
if (!V[7].x) |
|
|
|
output[NFLAG & nonce.x] = nonce.x; |
|
|
|
output[FOUND] = output[NFLAG & nonce.x] = nonce.x; |
|
|
|
if (!V[7].y) |
|
|
|
if (!V[7].y) |
|
|
|
output[NFLAG & nonce.y] = nonce.y; |
|
|
|
output[FOUND] = output[NFLAG & nonce.y] = nonce.y; |
|
|
|
if (!V[7].z) |
|
|
|
if (!V[7].z) |
|
|
|
output[NFLAG & nonce.z] = nonce.z; |
|
|
|
output[FOUND] = output[NFLAG & nonce.z] = nonce.z; |
|
|
|
if (!V[7].w) |
|
|
|
if (!V[7].w) |
|
|
|
output[NFLAG & nonce.w] = nonce.w; |
|
|
|
output[FOUND] = output[NFLAG & nonce.w] = nonce.w; |
|
|
|
} |
|
|
|
} |
|
|
|
#elif defined VECTORS2 |
|
|
|
#elif defined VECTORS2 |
|
|
|
V[7] ^= 0x136032edU; |
|
|
|
V[7] ^= 0x136032edU; |
|
|
@ -622,7 +620,6 @@ __kernel |
|
|
|
bool result = V[7].x & V[7].y; |
|
|
|
bool result = V[7].x & V[7].y; |
|
|
|
|
|
|
|
|
|
|
|
if (!result) { |
|
|
|
if (!result) { |
|
|
|
output[FOUND] = FOUND; |
|
|
|
|
|
|
|
if (!V[7].x) |
|
|
|
if (!V[7].x) |
|
|
|
output[FOUND] = output[NFLAG & nonce.x] = nonce.x; |
|
|
|
output[FOUND] = output[NFLAG & nonce.x] = nonce.x; |
|
|
|
if (!V[7].y) |
|
|
|
if (!V[7].y) |
|
|
|