Потому что одним и тем же символам соответствует несколько "кодов", которые подбираются рандомным образом.
Например п = ['01','02','03'], р = ['10','20',30'], и = ['04','05'], в = ['40','50'], е = ['06','07','08'], т = ['60',70',80']
и тогда слово "привет" можно будет закодировать 324 способами (на п - 3 способа, на р - 3 способа, на и - 2 способа, на в - 2 способа, на у - 3 способа и на т - 3 способа, т.е 3*3*2*2*3*3 = 324, простая комбинаторика) . Это нужно для усложнения расшифровки.
Вот 2 примера, как можно зашифровать с помощью моего "шифра" слово "привет":
1) 021005400870
2) 033004500780
Надеюсь ничего не напутал и понятно объяснил)