Birmartali bloknot. Bir martali bloknot (one time pad) yoki “Vemam shifri” nomi bilan tanilgan kriptotizim bardoshli shifrlash algoritmi hisoblanib, tarixda keng foydalanilgan bo‘lsada, ko‘p hollarda amalga oshirishning imkoniyati mavjud bo‘lmagan. Uning bir martali deb atalishiga asosiy sabab, undagi kalitning (bloknotning) bir marta foydalanilishi bo‘lib, uni aksariyat hollarda amalga oshirishning imkoni bo‘lmaydi. Masalan, ushbu shifrlash algoritmi 8 ta simvoldan iborat bo‘lgan alfavit bo‘lsin. Olingan alfavit simvollari va unga mos bo‘lgan binar qiymatlar 5.2 - jadvalda keltirilgan. Alfavit simvollari va ularga mos bit qiymatlari barcha uchun ochiq va sir saqlanmaydi.
5.2-rasm
Ochiq matn chun tanlangan alfavit
Simvollar
B
E
I
L
O
P
S
T
Binar
qiymat
000
001
010
011
100
101
110
111
Faraz qilaylik, biror qonuniy foydalanuvchi A bir martali bloknotdan foydalangan holda “POSSIBLE” matnini shifrlab, o‘z sherigi B tomonga jo ‘natishi talab etilsin. Ushbu ochiq matnning binar qiymatdagi ko‘rinishi quyidagicha bo‘ladi:
P
O
S
S
I
B
L
E
101
100
110
110
010
000
011
001
Bir martali bloknot usulida shifrlashda ochiq matn uzunligiga teng bo‘lgan tasodifiy tanlangan kalitdan foydalaniladi. Shifrmatn ochiq matn va kalitga XOR amalini qo‘llab hosil qilinadi (P - ochiq matn, K - kalit va C - shifrmatn): C = P(+)K. XOR amali (+) quyida keltirilgan:
0(+)0 = 0
0 (+)1 = 1
1 (+) 0 = 1
1 (+)1 = 0
Jadvaldan, x (+) y (+) y = x tenglik o‘rinligini ko‘rish mumkin. Bu esa bir martali parol bilan rasshifrovkalashda shifrmatnga kalitni XOR amalida bajarilishining o‘zi yetarligini ko‘rsatadi: P = C(+)K.
Faraz qilaylik, A tomon 5.2-jadvaldagi ochiq matn uzunligiga teng bo‘lgan quyidagi kalitga ega bo‘lsin:
111
101
110
101
111
100
000
101
A tomon ushbu kalit asosida shifrmatnni quyidagicha hisoblaydi: