При дешифровании текста используют частотные характеристики открытого текста. Однако для получения устойчивой картины длина послания должна быть существенно больше ключа. Одной из наиболее устойчивых характеристик осмысленного текста является отсутствие запретных биграмм (пара соседних букв). Например, биграммы «Ъ + Ь», «гласная + Ь», «пробел + Ь». Знание и использование частотной диаграммы открытого текста значительно упростит дешифрование шифра перестановки.
есть ли более производительные вариантМожно разменять скорость на память. Имеет смысл, если выбор баннера происходит в [бесконечном] цикле. Тогда делаем так: заводим массив из wt элементов, заполняем его номерами баннеров всего один раз. Тогда
r = Math.floor( Math.random() * wt );
сразу будет индексом элемента, содержащего номер баннера, без перебора.
Спорный вопрос, как и многие вопросы терминологии. Я здесь понимаю вашу логику, но википедия с вами не согласна:
https://ru.wikipedia.org/wiki/Перебор_по_словарю
И в англовики тоже: https://en.wikipedia.org/wiki/Dictionary_attack
И в вики есть ссылка на авторитетный источник https://tools.ietf.org/html/rfc4949 страница 41:
Своими словами: brute force ("грубая сила") - метод, не использующий хитроумные алгоритмы, а использующий тупую монотонную работу. Полный перебор - лишь частный случай брутфорса.