Күрделі шатастыру шифры Күрделі шатастыру шифрында ашық мәтіннің символдары жолдар бойынша ғана емес бағандар бойынша да шатастырылады. Мұндай операцияларды жоғарыда берілген кестемен қолданып орындағанг ыңғайлы (сур.4). Берілген мәтін кестеге жазылады, мындада бірнеше варианттар бар. Берілген жағдайда хабарламаны жолдарға сол жаұтан оңға қарай жазайық. Кестенің екі жағына кілттік сөз және оның эквивалентін жазамыз, және оларға сәйкес бағандарды шатастырамыз (цифрлардың үлкейу ретімен шатастырамыз). Содан кейін осы ережемен жолдарды шатастырамыз. Шифрланған хабарлама кестені жолдары бойынша оқығанда шығады. Нәтижесінде хабарлама мағыналық мазмұнын жоғалтады. Екілік шатастырудың варианттары кестенің өлшеміне байланысты,өте көп (Сур. 5). Бірақ өлшемі үлкен кестелермен қолдансақта бұл тәсіл жеткілікті криптотұрақты бола алмайды.
Сур. 5. Кестемен қолданатын күрделі шифр
Тағы бір шифрлау тәсілі арнайы торлар, трафареттер және палеткалар көмегімен орындалады. Бұл тәсіл квадратты кестелермен қолдану арқылы орындалады. Мұндай кестелерде ұяшалардың төрттен бір бөлігі алынған, бірақ төрт бұрылыстан кейін олар бүкіл кестені жабу керек. Квадратты тек сағат тілі бойынша бұруға болады.
Трафаретті таза бетке салайық, алынған квадраттарға (терезелерге) берілген мәтіннің әріптерін жазайық. Төрт бірінші әріп жазғаннан кейін трафаретті сағат тілі бойынша 90° бұрайық (трафаретпен қолдану ыңғайлы болуы үшін кілт-белгі қолданылады). Тағыда 4 әріп жазып трафаретті бұрайық, сонымен трафарет бастапқы орнына келгенше бұрамыз. Соңғы жағдайда трафаретті кез-келген әріптермен толықтыруға болады. Содан соң тарафаретті алып кестедегі мәтінді бір жолға жазамыз, нәтижесінде шифромәтін шығады.
Шатастыру шифры Алмастыру шифры ашық мәтіннің символдарының орнына басқа символдарды немесе белгілі бір ережеге (кілтке ) сәйкес символдарды қою арқылы ұйымдастырылады. Алмастыру шифры шифроалфавит принципімен қолданады – ашық мәтінді шифрланған мәтінге айналдыратын элементтер тізімімен. Бір шифроалфавит қолданылған кезде, шифр біралфавиттік деп аталады (моноалфавиттік).
Сур. 6. Екілік кодпен қолданатын шифр
Екі немесе одан да көп шифроалфавит қолданылғанда, шифр көпалфавиттік болады (полиалфавиттік).
Шифрлаудың жылдамдығын үлкейту үшін және есептейтін техникамен қолданғанда цифрлық бейнелеумен қолданған ыңғайлы. Мұнда мәтіннің символдарының орнына эквивалентті сандар қойылады және олар екілік код түрінде көрсетіледі. Бұл жағдайда шифрланатын мәтіннің символдары бір арнайы, гамма деп аталатын, жолға (кілтке) қосылады. Кілтті (гамманы) қою процедурасын екі тәсілмен іске асыруға болады:
Мәтіннің орындарына цифрлар қойылған символдары, (мысалы, А - 32, Б - 27, В - 22 т.б.), К модулімен кілтке (гаммаға) қосылады, мұнда К –алфавиттегі символдар саны.
Ашық мәтіннің символдары және гамма екілік код түрінде көрсетіледі, содан кейін разряд бойынша модуль 2 бойынша бір біріне қосылады. 6-шы суретте бұл тәсіл көрсетілген. «КРОНА» сөзін шифрға айналдыру керек екен дейік, бұл сөздің әр әрібінің екілік кодта эквиваленті бар. Кілтпен қолданып, мысалы 1001, оны модуль 2 бойынша әріптердің екілік кодтарына қосамыз. Нәтижесінде тек 1 және 0 сандарынан тұратын жолға ие боламыз. Бұл жолды бастапқы қалпына келтіру үшін кілтті алынған шифрожолға модуль 2 бойынша қосу керек.
Сандық кілт қайталанбайтын символдардан тұрады. Берілген мысалыда 1 санына С әрібі сәйкес болып тұр, 2 санына – Е, және т.б. Мәтін кілт бойынша жолда жазылады. Шифрланған мәтін кілттің сандары бойынша бағандарға қойылады және бұл бағандар кестені құрайды.
Берілген мысалыда шифрланған хабарлама мынандай түрге ие болады:
TRANSPOSITION IS THE ENCIPHER METHOD
Шифрациядан кейін:
AIHHORTTPHPaEaaSNaRaTIaITOINMaNOEEDSSCEa
(мұнда a – қызметші символ, біздің жағдайымымызда пробелді белгілейді)
Кілттік сөз
S
E
C
U
R
I
T
Y
Сандық кілт
5
2
1
7
4
3
6
8
Берілген мәтін
T
R
A
N
S
P
O
S
I
T
I
O
N
a
I
S
a
T
H
E
a
E
N
C
I
P
H
E
R
a
M
E
T
H
O
D
a
a
a
a
Гаммирование. Шифрлау тәсілінің жылдамдығын үлкейту үшін ақпаратты сандық түрде көрсету ыңғайлы, бұл жағдайда мәтіннің символдарының орындарына сандық эквиваленттері қойылады немесе екілік кодта көрсетіледі. Мұнда шифрлау жасаған кезде мәтіннің символдары арнайы бір тізімнің символдарына (кілтке) қосылады, яғни гаммаланады.
Бірінші тәсілде орындарына сандық эквиваленттері қойылған мітәннің символдары (жиі жағдайларда ASCII кодтарымен) К модулі бойынша қосылады, мұнда К – гаммасы бар алфавиттегі символдар саны (Вижинер коды);
Екінші тәсілде ашық мәтіннің символдары және кілттің символдары екілік код түрінде көрсетіледі, содан кейін бірақ бір біріне 2 модулі бойынша қосылады (немесе Е). Кілттің компактты беінесі ретінде ондық санау жүйесіндегі сандар, p типті константалар немесе е, сонда маска шекті ұзындыққа ие болады.
Мысалы ретінде «Крона» деген сөзді алайық, оның әр әрібінің екілік кодта жазылған эквиваленті бар. Кілтті қолданып отырып, мысалы 1001, оны 2 санының модулі бойынша әріптердің екілік кодтарына қосамыз. Нәтиже ретінде 0 және 1 сандарынан тұратын жолға ие боламыз.