diff --git a/dotnet/WhiteRabbit.UnmanagedBridge/phraseset.cpp b/dotnet/WhiteRabbit.UnmanagedBridge/phraseset.cpp index 6fdc18c..38f3fcb 100644 --- a/dotnet/WhiteRabbit.UnmanagedBridge/phraseset.cpp +++ b/dotnet/WhiteRabbit.UnmanagedBridge/phraseset.cpp @@ -31,9 +31,8 @@ #define PROCESS_WORD(phraseNumber, wordNumber) \ { \ - auto currentWord = allWordsPointer + wordIndexes[permutation % 16] * 128; \ + auto currentWord = allWordsPointer + wordIndexes[_bextr_u64(permutation, 4 * wordNumber, 4)] * 128; \ phrase = _mm256_xor_si256(phrase, *(__m256i*)(currentWord + cumulativeWordOffset)); \ - permutation >>= 4; \ cumulativeWordOffset += currentWord[127]; \ }