Маршруттық орын ауыстыру шифрлары.

Көп жағдайда геометриялық фигураны пайдаланатын орын ауыстыру шифрлары пайдаланады. Фигура ішіне мәтін жазылады. Берілген шифр өзгешелігі бастапқы мәтіннің бір бағытпен кейін екінші бағытпен үстінен басылады, осындай шифр түрін маршрут қондырмасы деп аталады.

4-Мысал . Берілген хабарлама: Маршруттық орын ауыстыру мысалы.

Келесі маршрутты таңдап төртбұрышты кестені құрамыз: көлдеңінен, жоғарғы сол бұрыштан солдан оңға қарай бастаймыз.

П Р И М Е Р М
Н Т У Р Ш Р А
О Й П Е Р Е С
И К В О Н А Т

Хабарламаны басқа маршрут бойынша көшіреміз. Шифрленген сөйлемнің түрі:

МАСТАЕРРЕШРНОЕРМВПУИКЙТРИОНП.

Мәтіндерді жазу және шифрлеуді өту геометриялық фигураның түрлі жолдары арқылы іске асады.

Анық түсіну үшін 8*8 квадратын алып, мәтінді жоғарыдан төмен қарай тізбек бойынша жазып, баған бойынша солдан оңға қарай оқимыз.

"НА ПЕРВОМ КУРСЕ ТЯЖЕЛО УЧИТЬСЯ ТОЛЬКО ПЕРВЫЕ ЧЕТЫРЕ ГОДА ДЕКАНАТ".

Н А _ П Е Р В О
М _ К У Р С Е _
Т Я Ж Е Л О _ У
Ч И Т Ь С Я _ Т
О Л Ь К О _ П Е
Р В Ы Е _ Ч Е Т
Ы Р Е _ Г О Д А
_ Д Е К А Н А Т

Кестеде "_"символы қашықтықты көрсетеді.

Түрлендіру нәтижесінде шифрлеу пайда болады: "НМТЧОРЫ_А_ЯИЛВРД_КЖТЬЫЕЕПУЕЬКЕ_КЕРЛСО_ГАР
СОЯ_ЧОНВЕ__ПЕДАО_УТЕТАТ".

Берілген матрицаның өлшемі, мәтін және шифрограмманы оқу тәртібі кілті болып табылады.Кілт басқа да болуы мүмкін. Мысалы: ашық мәтінді жол бойынша жазу мынададй тәртіппе орындалады:48127653, ал криптограмманы баған бойынша келесі тәртіппен орындалады: 81357642.

Алмастыру және орын ауыстыру әдістері жеке қажетті тұрақтылықты бермейді. Сондықтан оларды бірге және аддитивті әдіспен қоса қолданады.

Аддитивті әдіс арқылы шифрлеу кезінде мәтіннің әрбір әріпін санға аламастырып, әрбір санға құпия гамманы (кездейсоқ құпия сандарын) қосады.

13. Кездейсоқ сандар көмегімен шифрлеу.

Кездейсоқ сандар- тәуелсіз кездейсоқ шамалардың мағынасы ретінде қарастырылатын сандар. Олардың сандар саны сәйкес келуі керек, олардың жалпылама түрі келесідегідей (мысалы, m- ондық бөлшек разрядттары). Позициялық жүйедегі кездейсоқ сандар р бірдей нәтижелі жарыстардың нәтижесі болады. (әр шыққан жауапқа р-сандарының біреуі 1/р ықтималдығымен сәйкес келеді).

Кездейсоқ сондарды қолдану математикалық оқиғаны және ойын теориясындағы кездейсоқ техникасымен байланысты. Кездейсоқ сандар негізі ретінде халықты тіркеу нәтижесі, тираждық кестелерді пайдалануға болады.

Модельдеу есептеріне байланысты ЭЕМ-де кездейсоқ сандар құралы құрастырылды. Қазіргі кезде статикалық әдіс бойынша жүргізілетін әдістердің көп бөлігі кездейсоқ сандарды пайдалану арқылы жүзеге асады. Алатын кездейоқ сандар периоды бар.

Енді кездейсоқ сандар көмегімен шифрлеу сұрағын қарастырайық. Кездейсоқ сандар құрылғысы келесі алгоритм бойынша іске асады:

Тi+1=(a*Ti+b) mod c, (1)

Мұндағы Ti –алдыңғы кездейсоқ сан;

a,b,c коэффициенттері – тұрақты бүтін сандар. с =2n, мұндағы n – процессор разрядтылығы (машиналық сөздің ұзындығы), b – тақ сан . Біз қарастырып отырған жағдайда кездейсоқ сандар С периоды бар.

Шифрлеу процессі келесідегідей анықталады. Шифрланған хабарлама тізбектелген сөз ретінде беріледі

S0, S1, ….

(әр n ұзындығы), оны 2 модуль бойынша Т0, Т1, …. сөздерімен қосады.

Осылайша сөз тізбегінен тұратын жаңа сөз пайда болады

Ci=Si + Ti,

Мұндағы Si + Ti = (Si + Ti) mod 2 (i=0,1,2,3,…)

Ti тізбектегі шифр гаммасы деп аталады. Шифрді шешу процессі келесіден тұрады, шифр элементтерін тағы бір рет тізбегін орналастыру үшін сол гамма шифрін қайта қолданамыз:

Si= Ci+ Ti

Т0 шифрлық кілт болып табылады, ол тек қана жіберушімен шифрленген хабарламаны қабылдаушыға белгілі болуы керек.

Қарастырылған шифр симетриялық шифрлер класына жатады, өйткені шифрлеу және оқу үшін бір кілт пайдаланылады.

С=2n код астын ұлғайта отырып, хабарламны шифрден шығару тек кодты тауып алу арқылы жүзеге асады.

Бұл әдісті көбінесе программалар схемаларының «ішінде» қолданады, мысалы, локальді дисктегі мәліметтерді қорғау үшін (немесе иілгіш немесе қатты дискілерде). Осы қарастырып отырған әдісті мысал арқылы қарастырайық.

Мысал 1. ЭЕМ-дегі сөздің ұзындығы- 1 байт, басқаша айтқанда n=8 (битке), с = 2n=28=256

Кілт Т0=10101100 делік. Онда (Т0)10= 1*27+0*26+1*25+0*24+1*23+1*22=128+32+8+4=172

а=17, b=11 деп алсақ. <<I love you>> сөйлемін шифрлейік (2)

Шифрлеу алгоритм нәтижесі кестеде көрсетілген:

Буква Код(10) Si Ti Ci
I
_
L
O
V
E
_
Y
O
U

Кодталған (2) сөйлем түрі келесідегідей:

11100101 01010111 10011110 01110010 10001110 11100110 10011110 11010000 00101011 11111010

I _ L O V E _ Y O U

Шифрді шешу процессі кері тәртіппен іске асады, дәлірек айтқанда келесі қадамдар арқылы орындалады :

1- қадам.Шифрленген екілік сөйлем ұзындығы 1 байт (8 екілік разрядтарға) болатын топтарға бөлінеді – ол Ci сөзі.

2- қадам. Сонан кейін Т0 бастап Ti тізбектеліп көшіріледі (қатадан басталады).

3- шаг. Si –ді табамыз, ол Si= Ci+ Ti

14. Ашық кілтпен шифрлеу.

Жүйелік шифрлеу кілт арқылы қалыптасу әдісін қарастырайық, оны жіберуші де және хабарламаны қабылдаушы да (симметриялық шифрлеу) біледі. Әрбір хабарламаға жаңа кілтті пайдалану керек. Жаңа кілтті таңдап алу 2 себеп бойынша қиын:

Біріншіден,детерминирленген алгоритмді қолдану кілтті алу қиынға түседі, өйткені қылмыскер кілтті анықтауы мүмкін.

Екіншіден, кілтті кездейсоқ өндіріп өзгертсек, онда қабылдаушыға қалай хабарлауға болады.

Бұл жағдайдан шығу – ашық кілтпен шифрлеу болып табылады, кілттің бір бөлігі ашық және ешкімнен жасырылмайды (шифрленусіз жай каналдар арқылы жіберілу жағдайын туғызады) , ал екінші бөлігі жабық болады (ол хабарламаны қабылдаушыда сақталады). Мұндай шифрлеу алгоритімінің Диффи – Хеллимон әдісін қарастырайық.

1- қадам. Екі жай сан P,G сандары таңдалады.

2- қадам. Ашық кілттің бірінші бөлігі n=p*g есептеледі.

3- қадам.Ашық кілттің екінші бөлігі есептеледі: а- тақ бүтін сан, к=(p-1)*(g-1). Осыдан кейін кілттің ашық бөлігі (n және а сандары ) хабарламаларды жіберушілерге хабарланады.

4- қадам. a*d=1 mod k теңдігінен d кілттің жабық бөлігі анықталады. Соңғы теңдеу a*d= 1+ L* k теңдігінің L параметрінің кейбір мәндері кезінде орындалады. ( L=1,2,3,…мәндері ішінен, 1+ L* k а-ға қалдықсыз бөлінетін L мәні табылады, оның шешімі d кілтінің мәні болады.)

5- қадам. Жіберуші хабарламаны сөздерге бөліп, хабарламаны шифрлейді, Ci=( Si) а mod n сөздері пайда болады.Оны қабылдаушыға жібереді (мұндағы Si – шифрленетін хабарлама әріптерінің коды).

6- қадам. Қабылдаушы кілтінің жабық бөлігі d (саны арқылы) көмегімен хабарламаны оқиды.

Pi=(Ci)dmod n (2)

Ескерту. Бұл шифрлеу әдісі дұрыс нәтиже береді, өйткені оқыған кезде Pi=Si (3) теңдігі орындалады. (біз Si символын аламыз, ол I шифрына дейін).

(3) теңдіктің шынайлығы жоғары алгебра аппараты арқылы дәлелденеді.

1-Мысал.Ашық кілт арқылы шифрленген алгоритмде S1S2S3 хабарланы шифрлеу мысалы арқылы көрсетуге болады. (4)

Мұндағы S1=3, S2=1, S3=2

Шешімі: Алгоритм қадамдарын орындайық .

1-қадам. P=3, q=11 екі жай санды қарастырайық;

2-қадам. n=p*q=3*11=33 есептейік.

3-қадам.К=(p-1)*(q-1)=2*10=20 есептейік.

Кез келген а тақ санын алайық оған келісетн К, мысалы а=7.

4-қадам. a*d=1+l*k теңдігінен D кілттің жабық бөлігін табайық.

Ол үшін l=1, l=2, l=3 деп алып, l=1 кезінде

7*d=1+1*20=>7*d=21, d=3 табамыз

5- қадам. (1) формула арқылы (4) хабарламаны табамыз. Ол үшін мыналады табайық :

C1=37mod 33 = 2187 mod 33=9

C2=17mod 33=1 mod 33 = 1

C3=27mod 33= 128 mod 33 =29.

Осылайша (4) хабарлама келесі түрде шифрленеді:

C1 C2 C3 (5)

(мұндағы C1=9, C2=1, C3=29) және осындай түрде олар қабылдаушыға жіберіледі.

6-қадам. (5) хабарламаны оқып көрелік. Сол үшін (2) форманы пайдаланамыз.

P1=93mod 33 = 729 mod 33=3

P2=13mod 33 = 1 mod 33 = 1

P3=293 mod 33 = 24389 mod 33 =2

P1 P2 P3 хабарламасын аламыз. (6)

Ол (4) хабарламаға сәйкес келеді, өйткені S1=3= P1, S2=1= P2, S3=2= P3

2-Мысал. Осы әдіс арқылы “Computer science” сөзін шифрлейік.

Шешімі: Алгоритм қадамдарын орындайық:

1-қадам . p, q екі жай сандарын таңдаймыз, мысалы, P=31, q=17.

2-қадам. Онда n=p*q=31*17=527

3-қадам. к=(p-1)*(q-1)=30*16=480 есептейміз, а тақ санын таңдаймыз, мысалы, а =13. Сосын n=527 b a=13 барлық шифрленген хабарламаны қабылдаушыларға жібереміз.

4-қадам. 13*d=1+l*480 теңдігінен.

l=1 кезде d=(1+480)/13=481/13=37 есептейміз

d=37.

5-қадам. “Computer science” хабарлама әріптерін ASCII кодтарымен алмастырайық: Онда тізбекті аламыз:

S1=С=67, S2=0=111, S3=m=105, S4=p=112, S5=U=117, S6=t=116, S7=e=101, S8=2=114, S9=’_’ = 32, S10=S=115, S11=C=99, S12=I=105, S13 =e=101, S14=n=110, S15=C=99, S16=e=101, тізбегі шығады, немесе

67 111 109 112 117 116 101 114 32 115 99 105 101 110 99 101

Кейін (1) Ci =(Si)13mod 527 формуласы арқылы келесі тізбекті табамыз

67 114 159 45 291 294 16 456 342 13 192 420 16 468 192 16

Ол қабылдайшыға жіберіледі. Хабарламаны оқиды

Computer science

Ескерту: Шифрді құрған кезде Кирхгоф принципіне сүйенеміз; қарсыласқа кілттен басқасы бәрі (шифрлеу принципі) де белгілі. Криптотұрақтылық дешифраторға жіберілген материалдық шығыны арқылы белгілі болады. Егер жіберілетін шығын бағасы шифрланған мәліметтер бағасынан жоғары болса, онда берілген шифр жоғары криптотұрақтылығына ие болады .

Жабық кілт жағдайында ашылмайтындылығы құпия кілттің арқасында жетістілігі.

Егерде кілт анық болса, онда ашылмағанадар кілттің жабық бөліктерін үлкен көлем арқылы тауып шығарады. Қазіргі кезде эффективті алгоритмдер белгілі, осылар арқылы бірнеше минут ішінде бір-біріне сәйкес жай сандарды таңдап алуға болады. (100 және оданда жоғары ондық жазбада). Сол кезде де әйгілі емес эффектифті алгоритмдерді көбейткіштерге жіктелу. 200 және оданда көп сандарды сандарға жіктеу үшін ЭЕМ-да көптеген жылдарды етер еді.

Ескерту: Біз қарастырып отырған Диффи – Хелмана алгоритімінен басқа қазіргі уақытта басқада ашық кілті бар шифрлау алгоритмдері белгілі; Мысалы RSA , ELGamal шифрлары. Осы шифрлардың қысқаша мінездемесі мыналар:

1. RSA шивры – АҚШ патентерімен қорғалған. 1977 жылы Массачуетсте технологиялық институтта құрылған (АҚШ). RSA шифрының атауы автор фамилияларының бірінші әріптерінен құралған (Rivest, Shamir, Adleman). Криптотұрақтылық есетерінің есептеу қиындығынан құралған үлкен санды жай көбейткіштерге жіктеу.

2. ELGamal шифры. 1985 жылы құрылған. Эль-Гамаль деген автордың фамиялиясымен аталған. Шифрды АҚШ цифрлық қолтаңба DSS(Digital Signature Standard) стандартында қолданады.

3. Цифрлық қолтаңба – цифрлық толықтыру к передаваемой информации и позволяющее проверить ее авторство. Криптотұрақтылық есетерінің есептеу қиындығынан бүтін санды ақырғы жолға логарифмдеруі.

Наши рекомендации