Собственно одноразовый блокнот это и есть идеальное шифрование.
А от «угадывания» исходного сообщения (а это и есть ваша единственная претензия к блокноту) защититься невозможно. Угадать сообщение можно и вовсе не имея на руках никого зашифрованного сообщения.
Уменьшаем «немного» маленькие прямоугольники.
Получаем обычную задачу замощения по ссылке выше.
После её решения увеличиваем прямоугольники получившегося замощения обратно в оригинальный размер.