Monoalfavitli almashtirish algoritmi quyidagi qadamlar ketma-ketligi
ko‘rinishda ifodalanishi mumkin
1-qadam. [1xR] o‘lchamli dastlabki
A 0 alfavitdagi har bir simvol
s 0 Є T(i=
K ,
1
) ni
A 0 alfavitdagi
s 0i simvol tartib raqamiga mos keluvchi
h 0i (s 0i ) songa
almashtirish yo‘li bilan raqamlar ketma-ketligi
L 0h ni shakllantirish.
2-qadam.L 0h ketma-ketligining har bir sonini
h 1i =(
k 1 x
h 0i (
s 0i )+
k 2 )(mod
R )
formula orqali hisoblanuvchi
L 1h ketma-ketlikning mos soni
h 1i ga almashtirish
yo‘li bilan
L 1h son ketma-ketligini shakllantirish, bu erda
k 1 -o‘nlik koeffitsent;
k 2 -
siljitish koeffitsenti. Tanlangan
k 1 ,k 2 koeffitsentlar
h 0i , h 1i sonlarning bir ma’noli
mosligini ta’minlashi lozim,
h 1i =0 olinganida esa
h 1i =R almashinuvi bajarilishi
kerak.
3-qadam.L 1h ketma-ketlikning har bir soni
h 1i (s 1i ) ni [1x
R ] o‘lchamli shifrlash
alfavitning mos
s 1i Є
T 1 (
i= K ,
1
) simvoli bilan almashtirish yo‘li bilan
T 1 shifrmatnni hosil qilish.
4-qadam. Olingan shifrmatn o‘zgarmas
b uzunlikdagi bloklarga ajratiladi.
Agar oxirgi blok to‘liq bo‘lmasa blok orqasiga maxsus simvol-to‘ldiruvchilar
joylashtiriladi(masalan, *).
Misol. Shifrlash uchun dastlabki ma’lumotlar quyidagilar:
T 0 = A 0 = A 1 = R =30;
k 1 =3;
k 2 =15;
b =4
Algoritmning qadamba-qadam bajarilishi quyidagi natijalarni olinishiga olib
keladi.
1-qadam. L oh =<7,8,12,14,23,1,30,22,8,24,12,1,19,8>
2-qadam. L 1h =<6,9,21,27,24,18,15,21,9,27,21,18,12,9>
3-qadam. T 1 =
86
4-qadam. T 1 = Rasshifrovka qilishda bloklar birlashtirilib
K simvolli shifrmatn
T 1 hosil
qilinadi. Rasshifrovka qilish uchun quyidagi butun sonli tenglamani echish lozim:
k 1 h 01 +k 2 =nR+h 1i k 1 , k 2 ,h 11 va
R butun sonlar ma’lum bo‘lganda
h 0i kattaligi n ni saralash orqali
hisoblanadi. Bu muolajani shifrmatnning barcha simvollariga tatbiqqilish uning
rasshifrovka qilinishiga olib keladi.
Almashtirish usulining kamchiligi sifatida dastlabki va berilgan matnlar
statistik xarakteristkalarining bir xilligidir. Dastlabki matn qaysi tilda
yozilganligini bilgan kriptotahlillovchi ushlab qolingan axborotni statistik ishlab,
ikkala alfavitdagi simvollar o‘rtasidagi muvofiqlikni aniqlashi mumkin.