Шифрийг солих - Владимир Викторович Анисимовын боловсрол, шинжлэх ухааны үйл ажиллагаа. Жишээ нь HTML кодын семантикийн талаархи хэлэлцүүлэг Семаль зохион байгуулалт - энэ юу вэ
МАТЕМАТИК
Vestn. Ом. үгүй. 2016. No 3. P. 7-9.
UDC 512.4 V.A. Романков
RSA*-д суурилсан утгын хувьд хүчтэй шифрлэлтийн сонголт
Өгүүллийн гол зорилго нь зохиогчийн санал болгосон RSA криптографийн системд суурилсан шифрлэлтийн схемийн үндсэн параметрүүдийн аль нэгийг сонгох өөр аргыг санал болгох явдал юм. өмнөх бүтээлүүд. Анхны хувилбар нь модульчлагдсан цагирагуудын үржвэрийн бүлгүүдийн элементүүдийн дарааллыг тодорхойлох тооцооллын нарийн төвөгтэй байдал дээр суурилдаг. Санал болгож буй арга нь модульчлагдсан цагирагийн үржвэрийн бүлгүүдийн элементүүд эдгээр бүлгүүдийн хүчин чадалд хамаарах эсэхийг тодорхойлох өөр нэг шийдэгдэх боломжгүй асуудал болгон энэ үндэслэлийг өөрчилдөг. Ийм асуудлын онцгой тохиолдол бол үлдэгдлийн квадратыг тодорхойлох сонгодог асуудал бөгөөд үүнийг тооцоолоход хэцүү гэж үздэг. Энэ даалгавар нь алдартай Goldwasser-Micali шифрлэлтийн системийн семантик хүчийг тодорхойлдог. Санал болгож буй хувилбарт шифрлэлтийн схемийн семантик хүч нь модульчлагдсан цагирагийн үржвэрийн бүлгүүдийн элементүүд эдгээр бүлгүүдийн зэрэгт хамаарах эсэхийг тодорхойлох асуудлын тооцооллын нарийн төвөгтэй байдалд суурилдаг.
Түлхүүр үгс: криптографийн систем RSA, нийтийн түлхүүрийн шифрлэлт, модульчлагдсан цагираг, квадрат үлдэгдэл, семантик хүч.
1. Танилцуулга
Энэхүү ажлын зорилго нь зохиогчийн танилцуулсан шифрлэлтийн схемийн RSA-д суурилсан хувилбарын шинэ элементүүдийг нэвтрүүлэх явдал юм. Тухайлбал: энэ диаграммд гарч буй дэд бүлгүүдийг тодорхойлох өөр аргыг санал болгож байна. Энэ арга нь модульчлагдсан цагирагийн үржвэрийн бүлгүүдийн элементүүдийн дарааллыг тодорхойлох үндсэн тооцооллын төвөгтэй асуудлыг эдгээр бүлгүүдийн өгөгдсөн хүчийг оруулах тооцооллын төвөгтэй бодлогоор солиход хүргэдэг. Сүүлчийн асуудлын онцгой тохиолдол бол модульчлагдсан цагирагийн үржүүлэх бүлгийн элементийн үлдэгдлийн квадрат байдлыг тодорхойлох сонгодог асуудал юм.
RSA нийтийн түлхүүрийн шифрлэлтийн системийг 1977 онд Ривест, Шамир, Адлеман нар нэвтрүүлсэн. Энэ нь дэлхий даяар өргөн хэрэглэгддэг бөгөөд бараг бүх криптографийн сурах бичигт орсон байдаг. Энэ систем болон түүний криптографийн хүч чадлын талаар жишээ нь үзнэ үү.
Системийн үндсэн хувилбар нь детерминистик бөгөөд энэ шалтгааны улмаас нийтийн түлхүүрийн шифрлэлтийн системийн криптографийн бат бөх байдлын хамгийн чухал үзүүлэлт болох семантик нууцлалын шинж чанар байдаггүй. Тиймээс практикт системийн хувилбаруудыг ашигладаг бөгөөд зорилго нь түүнд магадлалын элементийг нэвтрүүлэх, улмаар семантик нууцлалын шинж чанарыг хангах явдал юм.
Суурилуулалт: шифрлэлтийн платформ
p ба q хоёр том ялгаатай анхны тоонуудын үржвэрийг n гэж үзье. Үлдэгдэл цагираг Zn нь шифрлэлтийн системийн платформ болгон сонгосон. Модуль n ба платформ Zn байна нээлттэй элементүүдсистем, p ба q тоонууд нууц байна.
* Судалгааг Оросын суурь судалгааны сан (төсөл 15-41-04312) дэмжсэн.
© Романков В.А., 2016
Романков В.А.
Эйлер функцийг φ:N ^ N гэж тэмдэглэсэн бөгөөд энэ тохиолдолд φ(n)= (p-1)(q-1) утгыг авна. Тиймээс Zn цагирагийн Z*n үржүүлэх бүлгийн дараалал (p-1)(q-1) байна. Эдгээр ойлголтуудын талаар жишээ нь харна уу.
Дараа нь r ба t хоёрдогч үеийн Z*n бүлгийн M ба H хоёр дэд бүлгийг тус тус сонгоно. Эдгээр дэд бүлгүүдийг M = gr(g1,...,gk), H = gr(j1,...,hl) үүсгэгч элементүүдээр нь тодорхойлохыг санал болгож байна. G бүлгийн t(G) үе нь geG элементийн хувьд dr = 1 байх хамгийн бага t тоо гэдгийг санаарай. Z*n бүлгийн үе нь p-1 ба q-1 тоонуудын хамгийн бага нийтлэг үржвэртэй тэнцүү t (n) тоо юм. M ба H дэд бүлгүүд нь мөчлөгтэй бөгөөд нэг үүсгэгч элементээр тодорхойлогддог. M ба H дэд бүлгүүдийн үүсгэгч элементүүдийг нээлттэй гэж үздэг бол r ба t дэд бүлгийн үеийг нууц гэж үздэг.
Мөн p ба q нууц параметрүүдийг мэдэж, M ба H дэд бүлгүүдийн тодорхой сонголтыг хэрхэн үр дүнтэй хийх талаар тайлбарласан болно. Түүнээс гадна та эхлээд r ба t-ийг тохируулж, дараа нь p ба q-г сонгоод дараа нь дараагийн үйлдлүүдийг хийж болно. Өгөгдсөн захиалгын элементүүдийг хязгаарлагдмал талбарт бүтээх ажлыг жишээ нь тайлбарласан стандарт үр дүнтэй процедурын дагуу гүйцэтгэдэг болохыг анхаарна уу. Модульчлагдсан цагираг Zn-ийн Z*n үржүүлэх бүлгүүдэд өгөгдсөн эрэмбийн элементүүдийг байгуулахад шилжих нь Хятадын үлдэгдэл теорем буюу . Суурилуулалт: түлхүүрийн сонголт Шифрлэлтийн түлхүүр e нь ямар ч натурал тоог r-тэй харьцуулах явдал юм
(te)d1 = 1 (modr). (1)
d1 параметр нь te болон r хоёрын харилцан анхны байдлын улмаас тооцогдсон тул e түлхүүр нь нийтийн, d түлхүүр, d1 параметр нь нууц байдаг.
Дамжуулах шифрлэлтийн алгоритм нээлттэй сүлжээмессежүүд - M дэд бүлгийн m элемент, Алис H дэд бүлгийн санамсаргүй h элементийг сонгож hm элементийг тооцоолно. Дамжуулалт нь иймэрхүү харагдаж байна
c = (hm)e (modn). (2)
Шифр тайлах алгоритм
Боб хүлээн авсан c мессежийг дараах байдлаар тайлна.
cd=m(modn). (3)
Зөв шифрлэлтийн тайлбар
ed=1 (modr) тул ed = 1 + rk байх бүхэл k тоо байна. Дараа нь
cd = (hm)ed = (ht)edi m (mr)k = m (mod n). (4) Тэгэхээр h элементийг H дэд бүлгийн h1t... ,hl үүсгэгч элементүүдээс u(x1,.,xl) бүлгийн үгийн утга хэлбэрээр H дэд бүлгийн элемент болгон бичнэ. Үнэндээ бид
u(x1,.,xl) гэсэн үгийг сонгоод дараа нь түүний утгыг h = u(h1t..., hl) тооцоол. Ялангуяа h1t... ,hl үүсгэгч элементүүд нээлттэй байна гэсэн үг.
Схемийн криптографийн хүч чадал
Схемийн криптографийн хүч нь Z*n бүлгийн H дэд бүлгийн өгөгдсөн үүсгэгч элементүүдээс энэ дэд бүлгийн үе буюу дарааллыг тодорхойлоход бэрхшээлтэй байдаг. Хэрэв элементийн дарааллыг үр ашигтай алгоритмаар тооцож чадвал H дэд бүлгийн үүсгэгч элементүүдийн o rd(h1), ..., ord(hl) дарааллыг тоолж үзвэл t = t үеийг олох боломжтой. (H), тэдгээрийн хамгийн бага нийтлэг үржвэртэй тэнцүү. Энэ нь арилгах боломжтой болно энэ сонголт c1 = met(modri) хувиргалтаар шифрлэлтийн сүүдэрлэх хүчин зүйл h, нийтийн шифрлэлтийн түлхүүр бүхий сонгодог RSA систем рүү шифрлэх процедурыг багасгаж et.
3. H дэд бүлгийг тодорхойлох өөр нэг арга
Энэхүү баримт бичиг нь шифрлэлтийн схемд H дэд бүлгийг зааж өгөх өөр хувилбарыг санал болгож байна. Нэгдүгээрт, Z*n бүлгийн үлдэгдлийн квадратыг тодорхойлох хүлээн зөвшөөрөгдсөн шийдвэрлэх боломжгүй асуудалтай холбоотой түүний онцгой тохиолдлыг авч үзье. Хэрэв x2= a (modn) байх xeZ*n элемент байвал aeZ^ үлдэгдлийг квадрат гэж нэрлэнэ гэдгийг санаарай. Бүх квадрат үлдэгдэл нь Z*n бүлгийн QZ*n дэд бүлгийг үүсгэдэг. Бүлгийн дурын үлдэгдлийн квадратыг тодорхойлох асуудлыг тооцооллын хувьд шийдвэрлэх боломжгүй гэж үздэг. Голдвассер-Микали хэмээх семантикийн хувьд алдартай шифрлэлтийн систем нь энэ өмч дээр суурилдаг. Түүний семантик тогтвортой байдал нь үлдэгдлийн квадрат байдлыг тодорхойлох асуудлыг шийдвэрлэх боломжгүй байдлаас бүрэн тодорхойлогддог.
p ба q параметрүүдийг p, q = 3 (mod 4), өөрөөр хэлбэл p = 4k +3, q = 41 +3 нөхцөлөөр сонгосон гэж үзье. Үлдэгдлийн квадрат шинж чанартай холбоотой схемд энэ таамаглал нь байгалийн мэт харагддаг бөгөөд ихэвчлэн тохиолддог. Хэрэв энэ нь зөвшөөрвөл p:QZ*n ^ QZ*n, p:x^x2, зураглал нь хоёр талт байна.
Бүлгийн QZ*n квадрат үлдэгдэл дэд бүлэг нь Z*n-д 4-ийн индекстэй байна, жишээ нь харна уу. Түүний o^^2^) дараалал нь φ(n)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1-тэй тэнцүү, өөрөөр хэлбэл энэ нь сондгой тоо юм.
Дээрх шифрлэлтийн схемд бид H = QZ*n гэж үзнэ. p - 1 = 4k +2 ба q - 1 = 41 +2 тоонуудын хамгийн бага нийтлэг үржвэртэй тэнцэх t(Z*n) үе нь 2-т хуваагддаг тул H дэд бүлгийн аль ч элемент сондгой дараалалтай байна. , гэхдээ 4-т хуваагдахгүй. M-ийн боломжит хамгийн их сонголт нь элементүүд нь тэгш 2 эсвэл 4 дараалалтай 4-р эрэмбийн дэд бүлэг юм. Хэрэв байгаа бол үр дүнтэй аргадурын элементийн дарааллыг (эсвэл ядаж түүний паритет) тооцоолох
RSA дээр суурилсан семантикийн хувьд хүчтэй шифрлэлтийн сонголт
бүлэг 2*n, дараа нь үлдэгдлийн квадратыг тодорхойлох асуудал үр дүнтэй шийдэгдэнэ. Энэ сонголттой схемийн сул тал нь текстийн орон зайн бага хүч юм - дэд бүлэг M. Үнэн хэрэгтээ уг схем нь аль хэдийн дурдсан сайн мэддэг Гол-Двассер-Микали схемийг давхардсан.
Бид дараагийн сонголтоороо илүү их боломжийг олж авдаг. Хангалттай том гэж үзэж болох анхны тоо байцгаая. p ба q нь p - 1 эсвэл q - 1 тоонуудын ядаж нэг нь s-д хуваагдах анхны тоо байг. s-г сонгоод дараа нь өгөгдсөн шинж чанартай p эсвэл q-г үр дүнтэй олох боломжтой гэж тайлбарлав. p тоог 2sx +1 хэлбэрээр хайж байна гэж бодъё. x-г өөрчилсөн ба үр дүнд гарсан p нь энгийн болох хүртэл энгийн эсэхийг шалгана.
2*n бүлгийн элементүүдийн s-эрчмээс бүрдэх Н = дэд бүлгийг тодорхойлъё (s = 2-ын хувьд энэ нь QZ*n дэд бүлэг). Хэрэв p = 52k + su + 1 ба q = 521 + sv +1 (эсвэл q = sl + V +1) бол u ба V тоо s-д хуваагдахгүй бол дэд бүлгийн дараалал o^(H) байна. H нь 2 бүлэгт *n индекс b2 (эсвэл s индекс, хэрэв q = sl + V +1 бол) нь B2k1 + Bku + b1n + w>-тэй тэнцүү байна. Энэ дараалал нь s-тэй тэнцүү байна. Ялангуяа H дэд бүлгийн элементүүд нь s-д хуваагддаггүй эрэмбэтэй гэсэн үг юм. Хэрэв элемент H дэд бүлгээс гадуур байвал түүний дарааллыг s-д хуваана, учир нь s нь бүлгийн дарааллыг хуваана. Хэрэв 2*n бүлгийн элементийн дарааллыг тооцоолох (эсвэл s-д хуваагдах чадварыг тодорхойлох) асуудлыг 2*n бүлэгт үр дүнтэй шийдвэрлэх боломжтой бол дэд бүлэгт орох асуудлыг мөн үр дүнтэй шийддэг.
Сонгохдоо заасан аргаар H дэд бүлэг бидэнд r = 52 (эсвэл s) дарааллын мөчлөгийн дэд бүлгийг M гэж сонгох боломжтой. 2*n бүлгийн дараалал нь (p-1)^-1) = (52k + vi)^21 + sv) (эсвэл (52k + vi)^1 + V)), тэнцүү учраас ийм дэд бүлэг бий. 52 (он s)-д хуваагдана. H-г зааж өгөхийн тулд s-г зааж өгөхөд хангалттай. Түүнчлэн M дэд бүлгийн аль ч сонголтын хувьд бид M*2 =1 байна. Хэрэв m мессежийн шифрийг тайлахдаа ed нь s-тэй харьцуулах tel хэлбэрийн элементийг олж авах боломжтой бол edy + s2z = 1 байх y ба z бүхэл тоог олсноор teL = m-ийг тооцоолж болно.
Гэсэн хэдий ч төрлийг зааж өгөхдөө H дэд бүлгийн үүсгэгч элементүүдийг заагаагүй тул 2 * n бүлгийн элементүүдийн дарааллыг тооцоолох алгоритм байгаа бол энэ нь дэд бүлгийн хугацааг тооцоолох боломжийг олгодоггүй.
H, энэ нь анхны хувилбарт боломжтой байсан.
Схемийн хувилбарын криптографийн хүч нь 2*n бүлгийн элементийн дарааллыг тодорхойлоход бэрхшээлтэй байдаг. Санал болгож буй хувилбарт энэ нь Z*s дэд бүлгийн үеийг тодорхойлоход хүндрэлтэй байдалд үндэслэсэн болно. Утгын хүч c = (hm")e (modn) нь heH, m" = m1 эсвэл m" = m2 (2) хэлбэрийн шифрлэгдсэн мессеж гэдгийг мэдэгдье. Шифрлэлт боломжгүй бол утгын хувьд хүчтэй гэж үзнэ. үр дүнтэй тодорхойлохын тулд all -does нийцэж байна c зөв хариултыг mt (i = 1 эсвэл 2) хэрэв cmje нь H-д хамаарах тохиолдолд л авна. Энэ өгүүлэлд авч үзсэн тохиолдолд H нь s-үлдэгдэл дэд бүлэгт орох асуудал юм s = 2, бид Q2-д орохын тулд сайн мэддэг, шийдвэрлэх боломжгүй асуудлыг олж авдаг *n, үүнд Голдвассер-Микали шифрлэлтийн систем болон бусад хэд хэдэн шифрлэлтийн системийн семантик хүч суурилдаг.
Уран зохиол
Романков V. A. RSA-д суурилсан шинэ семантик хүчтэй нийтийн түлхүүрийн шифрлэлтийн систем // Хэрэглээний дискрет математик. 2015. No3 (29). хуудас 32-40.
Ривест Р., Шамир А., Адлеман Л. Дижитал гарын үсэг ба нийтийн түлхүүрийн криптосистемийг олж авах арга // Comm. МУЗ. 1978. Боть. 21, No 2. P. 120126.
Hinek M. RSA ба түүний хувилбаруудын крипт анализ. Бока Ратон: Chapman & Hall/CRC, 2010.
Дуу Y. Y. RSA дээрх криптаналитик халдлага. Берлин: Спрингер, 2008.
Марк М., Бага R.M. Хэрэглээний криптоанализ. Бодит ертөнцөд шифрийг эвдэх. Хобокен: JohnWiley & Sons, 2007.
Роман"ков В.А. RAS криптосистемд суурилсан шинэ магадлалын нийтийн түлхүүрийн шифрлэлт // Croups, Complexity, Cryptology. 2015. Боть. 7, No. 2. P. 153156.
Романков В.А. Криптографийн танилцуулга. М.: Форум, 2012.
Menezes A., Ojrschot P.C., Vanstone S.A. Хэрэглээний криптографийн гарын авлага. Бока Ратон: CRC Press, 1996.
Голдвассер С., Микали С. Магадлалын шифрлэлт ба оюун ухааны покер хэрхэн тоглох талаар хэсэгчилсэн мэдээллийг нууцлах // Proc. Тооцооллын онолын 14-р симпозиум, 1982, хуудас 365-377.
4.1. Шифрлэлтийн үндэс
Орлуулах аргыг ашиглан шифрлэлтийн мөн чанар нь дараах байдалтай байна. Орос хэл дээрх мессежийг шифрлэж, эдгээр мессежийн үсэг бүрийг солих шаардлагатай. Дараа нь шууд утгаараа Аэх цагаан толгойг тодорхой багц тэмдэгтүүдтэй харьцуулах (шифр солих) M A, B - M B, …, I - M I. Шифрийн орлуулалтыг дурын хоёр багц ( М ИТэгээд М Ж, i ≠ j) ижил элементүүдийг агуулаагүй ( M I ∩ M J = Ø).
4.1-р зурагт үзүүлсэн хүснэгт нь солих шифрийн түлхүүр юм. Үүнийг мэдсэнээр та шифрлэлт болон тайлах аль алиныг нь хийж болно.
А | Б | ... | I |
М А | М Б | ... | М И |
Зураг 4.1. Шифрийг орлуулах хүснэгт
Шифрлэхдээ үсэг бүрийг А нээлттэй мессежбагцаас дурын тэмдэгтээр сольж болно М А. Хэрэв мессеж хэд хэдэн үсэг агуулсан бол А, дараа нь тус бүрийг ямар ч тэмдэгтээр солино М А. Үүний улмаас нэг түлхүүрийг ашиглан та авах боломжтой янз бүрийн сонголтуудижил нээлттэй мессежийн шифр. Багцуудаас хойш M A, M B, ..., M Iхосоор огтолж болохгүй, дараа нь шифрлэлтийн тэмдэг бүрийн хувьд энэ нь аль багцад хамаарах, улмаар нээлттэй мессежийн аль үсгийг орлуулж байгааг хоёрдмол утгагүй тодорхойлох боломжтой. Тиймээс шифрийг тайлах боломжтой бөгөөд нээлттэй мессежийг өвөрмөц байдлаар тодорхойлдог.
Орлуулах шифрүүдийн мөн чанарын дээрх тайлбар нь ижил орлуулах шифрийг эх цагаан толгойн өөр өөр тэмдэгтүүдийг шифрлэхэд ашиглаж болохоос бусад бүх сортуудад хамаарна (жишээ нь. M I ∩ M J ≠ Ø, i ≠ j).
Орлуулах аргыг компьютер дээр ажиллахдаа олон хэрэглэгчид ихэвчлэн хэрэгжүүлдэг. Хэрэв та мартсанаас болж гар дээрх тэмдэгтүүдийг латинаас кирилл үсэг рүү шилжүүлээгүй бол текст оруулахдаа орос цагаан толгойн үсгийн оронд латин цагаан толгойн үсгүүдийг ("шифр солих") хэвлэх болно.
Анхны болон шифрлэгдсэн мессежийг бичихийн тулд хатуу тодорхойлсон цагаан толгойн үсгийг ашигладаг. Эх болон шифрлэгдсэн мессежийг бичих цагаан толгойн үсгүүд өөр байж болно. Хоёр цагаан толгойн тэмдэгтийг үсэг, тэдгээрийн хослол, тоо, зураг, дуу чимээ, дохио зангаа гэх мэтээр илэрхийлж болно. Жишээ болгон бид А.Конан Дойлын үлгэрийн бүжигчин эрчүүдийг, Ж.Верний “Дэлхийн төв рүү аялсан нь” романы руни үсгийн () гар бичмэлийг дурдаж болно.
Орлуулах шифрийг дараахь байдлаар хувааж болно дэд ангиуд(сортууд).
Зураг.4.2. Орлуулах шифрүүдийн ангилал
I. Тогтмол шифрүүд.Шифр солих нь ижил тооны тэмдэгтээс бүрдэх эсвэл бие биенээсээ тусгаарлагчаар (зай, цэг, зураас гэх мэт) тусгаарлагдсан байдаг.
Уриа лоозон код.Өгөгдсөн шифрийн хувьд шифрийг орлуулах хүснэгтийг бүтээх нь уриа (түлхүүр) - санахад хялбар үг дээр суурилдаг. Шифр солих хүснэгтийн хоёр дахь мөрөнд эхлээд уриа үгээр (мөн давтагдсан үсгүүдийг хаясан), дараа нь уриа үгэнд ороогүй үлдсэн үсгүүдийг цагаан толгойн үсгийн дарааллаар бөглөнө. Жишээлбэл, "АВГА" гэсэн уриа лоозонг сонгосон бол хүснэгт нь иймэрхүү харагдана.
А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I |
Д | I | БА | Н | А | Б | IN | Г | Э | Ё | БА | З | Ю | TO | Л | М | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У |
Зураг 4.4. Уриа лоозонгийн шифрийг солих хүснэгт
Дээрх түлхүүрийг ашиглан "ABRAMOV" гэсэн эх мессежийг шифрлэх үед шифрлэлт нь "DYAPDKMI" шиг харагдах болно.
Полибийн талбай.Шифрийг Грекийн төрийн зүтгэлтэн, командлагч, түүхч Полибий (МЭӨ 203-120) зохион бүтээжээ. Орос цагаан толгой ба Энэтхэг (Араб) тоонуудын хувьд шифрлэлтийн мөн чанар нь дараах байдалтай байв. Үсгийг 6х6 квадрат хэлбэрээр бичдэг (заавал цагаан толгойн үсгийн дарааллаар биш).
1 | 2 | 3 | 4 | 5 | 6 | |
1 | А | Б | IN | Г | Д | Э |
2 | Ё | БА | З | БА | Ю | TO |
3 | Л | М | Н | ТУХАЙ | П | Р |
4 | ХАМТ | Т | У | Ф | X | C |
5 | Х | Ш | SCH | Коммерсант | Ю | б |
6 | Э | Ю.У | I | - | - | - |
Зураг 4.5. Полибийн квадратын шифрийг орлуулах хүснэгт
Шифрлэгдсэн үсгийг бичсэн квадратын (мөр багана) координатаар солино. Жишээлбэл, хэрэв анхны мессеж нь "АБРАМОВ" бол шифр нь "11 12 36 11 32 34 13" болно. IN Эртний Грекмессежийг оптик телеграф ашиглан (бамбар ашиглан) дамжуулсан. Мессежийн үсэг бүрийн хувьд эхлээд үсгийн эгнээний дугаарт тохирох бамбаруудын тоог, дараа нь баганын дугаарыг нэмэгдүүлсэн.
Хүснэгт 4.1. Текст дэх орос үсгийн давтамж
Үгүй | Захидал | Давтамж, % | Үгүй | Захидал | Давтамж, % |
1 | ТУХАЙ | 10.97 | 18 | б | 1.74 |
2 | Э | 8.45 | 19 | Г | 1.70 |
3 | А | 8.01 | 20 | З | 1.65 |
4 | БА | 7.35 | 21 | Б | 1.59 |
5 | Н | 6.70 | 22 | Х | 1.44 |
6 | Т | 6.26 | 23 | Ю | 1.21 |
7 | ХАМТ | 5.47 | 24 | X | 0.97 |
8 | Р | 4.73 | 25 | БА | 0.94 |
9 | IN | 4.54 | 26 | Ш | 0.73 |
10 | Л | 4.40 | 27 | Ю.У | 0.64 |
11 | TO | 3.49 | 28 | C | 0.48 |
12 | М | 3.21 | 29 | SCH | 0.36 |
13 | Д | 2.98 | 30 | Э | 0.32 |
14 | П | 2.81 | 31 | Ф | 0.26 |
15 | У | 2.62 | 32 | Коммерсант | 0.04 |
16 | I | 2.01 | 33 | Ё | 0.04 |
17 | Ю | 1.90 |
Хос үсгийн (диграмм) ижил төстэй хүснэгтүүд байдаг. Жишээлбэл, байнга тааралддаг биграммууд нь "to", "but", "st", "po", "en" гэх мэт. Шифрийг эвдэх өөр нэг арга бол үсэгний боломжит хослолыг арилгахад суурилдаг. Жишээлбэл, текстээс (хэрэв тэдгээрийг зөв бичгийн дүрмийн алдаагүй бичсэн бол) та "чя", "щи", "б" гэх мэт хослолуудыг олж чадахгүй.
Эрт дээр үед ч гэсэн ганцаарчилсан шифрийг задлах ажлыг хүндрүүлэхийн тулд шифрлэхээс өмнө анхны мессежээс зай болон/эсвэл эгшгийг хасдаг байсан. Нээх хэцүү өөр нэг арга бол шифрлэлт юм биграм(хос үсгээр).
4.3. Полиграм шифрүүд
Полиграмм орлуулах шифрүүд- эдгээр нь нэг шифрийг орлуулах нь нэг дор хэд хэдэн тэмдэгттэй тохирдог шифрүүд юм эх текст.
Bigram шифр портууд. Хүснэгт хэлбэрээр үзүүлсэн Портагийн шифр нь мэдэгдэж байгаа анхны биграм шифр юм. Түүний ширээний хэмжээ нь 20 х 20 нүд байв; стандарт цагаан толгойн дээд талд хэвтээ ба зүүн талд босоо бичигдсэн (энэ нь J, K, U, W, X, Z үсэг агуулаагүй). Хүснэгтийн нүднүүдэд ямар ч тоо, үсэг, тэмдгийг бичиж болно - Жованни Порта өөрөө тэмдэглэгээг ашигласан - аль нэг нүдний агуулгыг давтахгүй бол. Орос хэлтэй холбоотойгоор шифрийг орлуулах хүснэгт иймэрхүү харагдаж болно.
А | Б | IN | Г | Д | Э (Өө) | БА | З | БА (Y) | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | |
А | 001 | 002 | 003 | 004 | 005 | 006 | 007 | 008 | 009 | 010 | 011 | 012 | 013 | 014 | 015 | 016 | 017 | 018 | 019 | 020 | 021 | 022 | 023 | 024 | 025 | 026 | 027 | 028 | 029 | 030 | 031 |
Б | 032 | 033 | 034 | 035 | 036 | 037 | 038 | 039 | 040 | 041 | 042 | 043 | 044 | 045 | 046 | 047 | 048 | 049 | 050 | 051 | 052 | 053 | 054 | 055 | 056 | 057 | 058 | 059 | 060 | 061 | 062 |
IN | 063 | 064 | 065 | 066 | 067 | 068 | 069 | 070 | 071 | 072 | 073 | 074 | 075 | 076 | 077 | 078 | 079 | 080 | 081 | 082 | 083 | 084 | 085 | 086 | 087 | 088 | 089 | 090 | 091 | 092 | 093 |
Г | 094 | 095 | 096 | 097 | 098 | 099 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 |
Д | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 |
ТЭР) | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 |
БА | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 |
З | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 |
би (Y) | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 |
TO | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 |
Л | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 |
М | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 |
Н | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 |
ТУХАЙ | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 |
П | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 |
Р | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 |
ХАМТ | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 |
Т | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 |
У | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 |
Ф | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 |
X | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 |
C | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 |
Х | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 |
Ш | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 |
SCH | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 |
Коммерсант | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 |
Ю | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 |
б | 838 | 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 |
Э | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 |
Ю.У | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 |
I | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 |
Зураг 4.10. Портын шифрийг солих хүснэгт
Шифрлэлт нь эх мессежийн хос үсгийг ашиглан хийгддэг. Хосуудын эхний үсэг нь шифр солих мөрийг, хоёр дахь нь - баганыг заана. Хэрэв эх мессежэнд сондгой тооны үсэг байгаа бол түүнд туслах тэмдэгт ("хоосон тэмдэгт") нэмэгдэнэ. Жишээлбэл, анхны мессеж "AB RA MO V", шифрлэгдсэн - "002 466 355 093". "Би" үсгийг туслах тэмдэг болгон ашигладаг.
Playfair шифр (Англи хэл: "Fair game"). 1850-иад оны эхээр. Чарльз Уитстоун "тэгш өнцөгт шифр" гэж нэрлэгддэг нууц үгийг зохион бүтээжээ. Уитстоуны дотны найз Леон Плэйфэйр 1854 онд Дотоод хэргийн сайд лорд Палмерстон, хунтайж Альберт нарт албан ёсны оройн зоог барих үеэрээ энэ шифрийн талаар ярьжээ. Playfair нь цэрэг, дипломатын хүрээлэлд сайн танигдсан байсан тул "Playfair cipher" гэдэг нэрийг Wheatstone-ийн бүтээлд үүрд өгсөн.
Энэ шифр нь анхны цагаан толгойн биграмм шифр байсан (Портагийн биграмм хүснэгтэд үсэг биш тэмдэгт ашигласан). Энэ нь телеграф харилцааны нууцыг хангах зорилготой байсан бөгөөд Боер болон Дэлхийн нэгдүгээр дайнд Британийн цэргүүд ашиглаж байжээ. Дэлхийн 2-р дайны үед Австралийн арлуудын эргийн хамгаалалтын албанд мөн ашиглаж байжээ.
Шифр нь хос тэмдгийн (диграмм) шифрлэлтийг хангадаг. Иймээс энэ шифр нь энгийн орлуулах шифртэй харьцуулахад хагарахад илүү тэсвэртэй, учир нь давтамжийн шинжилгээ нь илүү хэцүү байдаг. Үүнийг хийж болно, гэхдээ 26 боломжит тэмдэгт (Латин цагаан толгой) биш, харин 26 x 26 = 676 боломжит биграммд. Bigram давтамжийн шинжилгээ хийх боломжтой боловч илүү төвөгтэй бөгөөд илүү их хэмжээний шифр текст шаарддаг.
Мессежийг шифрлэхийн тулд үүнийг биграммд (хоёр тэмдгийн бүлэг) хуваах шаардлагатай бөгөөд хэрэв биграммд хоёр ижил тэмдэг олдвол тэдгээрийн хооронд урьдчилан тохиролцсон туслах тэмдэг нэмнэ (эх хувь нь - X, орос цагаан толгойн хувьд - I). Жишээлбэл, "шифрлэгдсэн мессеж" нь "шифрлэгдсэн мессеж" болдог. Iхарилцаа холбоо I" Түлхүүр хүснэгтийг бүрдүүлэхийн тулд уриа сонгоод дараа нь Trisemus шифрлэлтийн системийн дүрмийн дагуу бөглөнө. Жишээлбэл, "АВГА" урианы хувьд гол хүснэгт нь иймэрхүү харагдаж байна.
Д | I | БА | Н | А | Б |
IN | Г | Э | Ё | БА | З |
Ю | TO | Л | М | ТУХАЙ | П |
Р | ХАМТ | Т | У | Ф | X |
C | Х | Ш | SCH | Коммерсант | Ю |
б | Э | Ю.У | - | 1 | 2 |
Зураг 4.11. Playfair шифрийн түлхүүр хүснэгт
Дараа нь дараах дүрмийн дагуу эх бичвэр дэх хос тэмдэгтүүдийг шифрлэнэ.
1. Хэрэв эх бичвэрийн биграмм тэмдэгтүүд нэг мөрөнд байгаа бол эдгээр тэмдэглэгээг харгалзах тэмдгийн баруун талд хамгийн ойр байгаа баганад байрлах тэмдгээр солино. Хэрэв тэмдэгт нь мөрийн сүүлчийн тэмдэг байвал ижил мөрийн эхний тэмдэгтээр солигдоно.
2. Хэрэв эх бичвэрийн биграмм тэмдэгтүүд нэг баганад байгаа бол тэдгээрийн шууд доор байрлах ижил баганын тэмдэгтүүд рүү хөрвүүлнэ. Хэрэв тэмдэгт нь баганын доод тэмдэгт байвал ижил баганын эхний тэмдэгтээр солигдоно.
3. Хэрэв эх бичвэрийн биграмм тэмдэгтүүд өөр багана, өөр өөр мөрөнд байгаа бол тэдгээрийг ижил мөрөнд байрлах боловч тэгш өнцөгтийн бусад буланд харгалзах тэмдэгтүүдээр солино.
Шифрлэлтийн жишээ.
"For" гэсэн биграм нь тэгш өнцөгт үүсгэдэг - үүнийг "zhb" гэж сольсон;
"Ши" биграммыг нэг баганад "юйэ" гэж сольсон;
"fr" биграмм нь нэг мөрөнд байгаа - үүнийг "xc" гэж сольсон;
"ov" биграмм нь тэгш өнцөгт үүсгэдэг - үүнийг "yzh" гэж сольсон;
"an" биграмм нь нэг мөрөнд байгаа - үүнийг "ba" гэж сольсон;
"Гэхдээ" биграмм нь тэгш өнцөгт үүсгэдэг - үүнийг "am" гэж сольсон;
"es" биграм нь тэгш өнцөгт үүсгэдэг - үүнийг "gt" гэж сольсон;
"Оя" биграмм нь тэгш өнцөгт үүсгэдэг - үүнийг "ка" гэж сольсон;
"Тухай" биграм нь тэгш өнцөгт үүсгэдэг - үүнийг "па" гэж сольсон;
Биграм "shche" нь тэгш өнцөгт үүсгэдэг - үүнийг "shyo" гэж сольсон;
"Ni" биграмм нь тэгш өнцөгт үүсгэдэг - "ан" гэж солигдсон;
“Ээ” биграмм нь тэгш өнцөгт хэлбэртэй бөгөөд түүнийг “gi” гэж сольсон.
Код нь "zhb yue xs yzh ba am gt ka pa she an gi".
Шифрийг тайлахын тулд та тэмдэгтүүдийг хаяж эдгээр дүрмийн урвуу хувилбарыг ашиглах ёстой I(эсвэл X) хэрэв тэдгээр нь анхны зурваст утгагүй байвал.
Энэ нь цагаан толгойн үсгүүдийг хэвлэсэн гадаад суурин диск ба дотоод хөдлөх диск гэсэн хоёр дискнээс бүрдсэн байв. Шифрлэлтийн процесс нь дээр байгаа энгийн текстийн үсгийг олох явдал байв гадаад хөтөч s үсгээр солино дотоод диск, түүний доор зогсож байна. Үүний дараа дотоод дискийг нэг байрлалд шилжүүлж, хоёр дахь үсгийг шинэ цагаан толгойн шифрээр шифрлэв. Энэхүү шифрийн түлхүүр нь дискэн дээрх үсгүүдийн дараалал, гадаадтай харьцуулахад дотоод дискний анхны байрлал байв.
Трисемус хүснэгт.Германы хамба лам Трисемусын зохион бүтээсэн шифрүүдийн нэг нь "Трисемусын хүснэгт" гэж нэрлэгддэг олон үсэгт суурилсан шифр бөгөөд талуудтай тэнцүү хүснэгт юм. n, Хаана n- цагаан толгойн үсгийн тоо. Матрицын эхний мөрөнд үсгүүдийг цагаан толгойн үсгийн дарааллын дарааллаар, хоёрдугаарт - ижил дарааллаар бичсэн, гэхдээ нэг байрлалаар зүүн тийш, гурав дахь нь циклээр шилжинэ. зүүн тийш хоёр байрлалаар шилжих гэх мэт.
А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I |
Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А |
IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б |
Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN |
Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г |
Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д |
Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э |
БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё |
З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА |
БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З |
Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА |
TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю |
Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO |
М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л |
Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М |
ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н |
П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ |
Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П |
ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р |
Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ |
У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т |
Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У |
X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф |
C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X |
Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C |
Ш | SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х |
SCH | Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш |
Коммерсант | Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH |
Ю | б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант |
б | Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю |
Э | Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б |
Ю.У | I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э |
I | А | Б | IN | Г | Д | Э | Ё | БА | З | БА | Ю | TO | Л | М | Н | ТУХАЙ | П | Р | ХАМТ | Т | У | Ф | X | C | Х | Ш | SCH | Коммерсант | Ю | б | Э | Ю.У |
Зураг.4.17. Трисемус хүснэгт
Эхний мөр нь мөн энгийн үсгүүдийн цагаан толгой юм. Текстийн эхний үсгийг эхний мөрөнд, хоёр дахь үсэг нь хоёр дахь гэх мэт шифрлэгдсэн байна. Сүүлийн мөрийг ашигласны дараа тэд эхнийх рүүгээ буцна. Тиймээс "АБРАМОВ" гэсэн мессеж нь "AVTGRUZ" хэлбэртэй болно.
Vigenère шифрлэлтийн систем. 1586 онд Францын дипломатч Блез Виженер III Хенригийн комисст Трисемусын хүснэгтэд үндэслэсэн энгийн боловч нэлээд хүчтэй шифрийн тайлбарыг танилцуулав.
Шифрлэхийн өмнө цагаан толгойн үсгийн тэмдэгтүүдээс түлхүүр сонгоно. Шифрлэлтийн процедур нь өөрөө дараах байдалтай байна. Эхний мөрөнд байгаа нээлттэй мессежийн i-р тэмдэгт нь баганыг, хамгийн зүүн талын баганад байгаа товчлуурын i-р тэмдэгт нь мөрийг тодорхойлно. Мөр ба баганын огтлолцол дээр шифрлэлтийн i-р тэмдэгт байрлана. Хэрэв түлхүүрийн урт нь мессежээс бага байвал түүнийг дахин ашиглана. Жишээлбэл, анхны мессеж нь "АБРАМОВ", түлхүүр нь "АВГА", шифрлэлтийн код нь "DAFIYOYE" юм.
Шударга байхын тулд энэ шифрийг зохиогч нь 1553 онд дүрсэлсэн Италийн Жованни Баттиста Белласогийнх гэдгийг тэмдэглэх нь зүйтэй.Түүх "үл тоомсорлосон. чухал баримтШифрийг бүтээхийн тулд юу ч хийгээгүй ч гэсэн Виженерийн нэрээр нэрлэсэн." Беллазо нууц үг, хэллэгийг дуудахыг санал болгов нууц үг(Италийн нууц үг; Франц хэлээр хугацаанаас өмнө - үг).
1863 онд Фридрих Касиски энэ шифрийг довтлох алгоритмыг нийтэлсэн боловч өмнө нь зарим туршлагатай криптланалистууд түүний шифрийг эвдэж байсан тохиолдол байдаг. Ялангуяа 1854 онд анхны аналитик компьютерийг зохион бүтээгч Чарльз Бэббиж шифрийг эвдсэн боловч энэ баримт нь зөвхөн 20-р зуунд хэсэг эрдэмтэд Бэббижийн тооцоолол, хувийн тэмдэглэлд дүн шинжилгээ хийх үед л мэдэгдэж байсан. Гэсэн хэдий ч Vigenère шифр нь "гараар" хагарахад маш тэсвэртэй гэдгээрээ алдартай байв. урт хугацаанд. Ийнхүү нэрт зохиолч, математикч Чарльз Лутвидж Доджсон (Льюис Кэрролл) 1868 онд хүүхдийн сэтгүүлд хэвлэгдсэн "Цагаан толгойн шифр" хэмээх өгүүлэлдээ Виженерийн шифрийг хугарашгүй гэж нэрлэжээ. 1917 онд шинжлэх ухааны алдартай сэтгүүл Scientific American мөн Vigenère шифрийг хугарашгүй гэж тодорхойлсон.
Эргэдэг машинууд.Альберти, Белласо нарын санааг ХХ зууны эхний хагаст цахилгаан механик эргэдэг машин бүтээхэд ашигласан. Тэдгээрийн заримыг 1980-аад он хүртэл өөр өөр улс орнуудад ашиглаж байсан. Тэдгээрийн ихэнх нь ротор (механик дугуй) ашигласан бөгөөд тэдгээрийн харьцангуй байрлал нь орлуулалтыг гүйцэтгэхэд ашигладаг одоогийн шифрийн цагаан толгойг тодорхойлдог. Эргэдэг машинуудаас хамгийн алдартай нь Дэлхийн 2-р дайны үеийн Германы Enigma машин юм.
Нэг роторын гаралтын зүү нь дараагийн роторын оролтын тээглүүртэй холбогдсон бөгөөд гар дээр анхны мессежийн тэмдэг дарагдсан үед цахилгаан хэлхээ хийгдэж, үүний үр дүнд шифр солих тэмдэг бүхий гэрлийн чийдэн асна.
Зураг 4.19. Enigma эргэдэг систем [www.cryptomuseum.com]
Enigma-ийн шифрлэлтийн эффектийг дараалсан хоёр товчлуур дээр харуулав - гүйдэл нь ротороор урсаж, тусгалаас "туссан", дараа нь дахин ротороор дамждаг.
Зураг 4.20. Шифрлэлтийн схем
Анхаарна уу. Саарал шугам нь бусад боломжуудыг харуулж байна цахилгаан хэлхээротор бүрийн дотор. Захидал Адараалсан товчлуур дарахад өөр өөр шифрлэгддэг Г, дараа нь C. Анхны мессежийн өмнөх үсгийг дарсны дараа роторуудын аль нэг нь эргэлдэж байгаа тул дохио өөр замаар явагдана.
3. Орлуулах шифрийн төрлүүдийг тодорхойлно уу.
(сэлгээнүүд). Орлуулах шифрүүдэд үсгүүдийг ижил цагаан толгойн бусад үсгээр сольж, үсгүүдийг огт өөр зүйл болгон өөрчилдөг - зураг, бусад цагаан толгойн тэмдэг, янз бүрийн тэмдэгтүүдийн дараалал гэх мэт. Эх бичвэрийн цагаан толгой ба кодын тэмдэгтүүдийн хоорондох нэгийг харьцах хүснэгтийг эмхэтгэсэн бөгөөд энэ хүснэгтийн дагуу нэг нэгээр нь кодчилдог. Код тайлахын тулд та кодын хүснэгтийг мэдэх хэрэгтэй.
Байдаг том тоохүний амьдралын янз бүрийн салбарт хэрэглэгддэг кодууд. Алдартай кодуудыг ихэвчлэн ямар нэгэн байдлаар мэдээлэл дамжуулахад хялбар болгох зорилгоор ашигладаг. Хэрэв кодын хүснэгтийг зөвхөн дамжуулагч ба хүлээн авагчид мэддэг бол үр дүн нь давтамжийн шинжилгээнд амархан нийцэх энгийн шифр юм. Гэхдээ хэрэв хүн кодлох онолоос хол байгаа бөгөөд текстийн давтамжийн шинжилгээг сайн мэдэхгүй бол ийм шифрийг задлах нь түүнд нэлээд бэрхшээлтэй байдаг.
A1Z26
Хамгийн энгийн шифр. A1Z26 эсвэл орос хувилбараар A1Я33 гэж нэрлэдэг. Цагаан толгойн үсгийг серийн дугаараар сольсон.
"NoZDR"-ийг 14-15-26-4-18 эсвэл 1415260418 гэж шифрлэж болно.
Морзын код
Үсэг, тоо, зарим тэмдэг нь олон тооны цэг, зураастай холбоотой бөгөөд тэдгээрийг радио, дуу чимээ, тогших, гэрлийн телеграф, туг дохиогоор дамжуулж болно. Далайчид үсэг бүртэй холбогдох тугтай байдаг тул туг ашиглан мессеж дамжуулах боломжтой.
Брайль
Брайл бол хараагүй хүмүүст зориулсан мэдрэгчтэй унших систем бөгөөд эс гэж нэрлэгддэг зургаан цэг бүхий тэмдэгтүүдээс бүрддэг. Нүд нь өндөр нь гурван цэг, өргөн нь хоёр цэгээс бүрдэнэ.
Нүдний өөр өөр байрлалд цэг байрлуулснаар өөр өөр брайль үсгүүд үүсдэг.
Тохиромжтой болгох үүднээс уншихдаа цэгүүдийг дараах байдлаар тайлбарлав: зүүнээс дээрээс доош 1, 2, 3, баруунаас дээш доош 4, 5, 6.
Текст бичихдээ дараах дүрмийг баримтална.
үгийн хооронд нэг нүд (зай) алгасах;
таслал, цэг таслалын дараа нүдийг алгасахгүй;
өмнөх үгтэй хамт зураас бичигдсэн;
дугаарын өмнө тоон тэмдэг байрлуулсан байна.
Кодын хуудаснууд
Компьютерийн эрэл хайгуул, оньсого тааварт үсгүүдийг янз бүрийн кодын хуудаснууд - компьютер дээр ашигладаг хүснэгтүүд дэх кодын дагуу шифрлэж болно. Кирилл бичвэрийн хувьд Windows-1251, KOI8, CP866, MacCyrillic зэрэг хамгийн түгээмэл кодчилолуудыг ашиглах нь зүйтэй. Хэдийгээр нарийн төвөгтэй шифрлэлтийн хувьд та илүү чамин зүйлийг сонгож болно.
Та арван зургаат тоо ашиглан кодлох эсвэл аравтын тоо руу хөрвүүлэх боломжтой. Жишээлбэл, KOI8-R дахь E үсэг нь B3 (179), CP866-д - F0 (240), Windows-1251-д - A8 (168) кодтой байна. Эсвэл та баруун хүснэгтээс зүүн талын үсэгтэй тохирох үсгүүдийг хайж олох боломжтой, тэгвэл текст нь "галзуу үгс" гэх мэтээр шивэгдэх болно. èαᬫº∩íαδ (866→437) эсвэл Êðàêîçÿáðû (1251→Латин-1).
Эсвэл та нэг хүснэгт дотор тэмдэгтүүдийн дээд талыг доод тал руу нь сольж болно. Дараа нь Windows-1251-ийн хувьд "krakozyabry"-ийн оронд "jp"jng ap(), "НИСдэг тэрэг" - "BEPRNK(R"-ийн оронд. Ийм өөрчлөлт кодын хуудас- энэ нь алдааны үед хамгийн чухал битийн сонгодог алдагдал юм шуудангийн серверүүд. Латин тэмдэгтүүдийг урвуу шилжүүлснээр 128 тэмдэгтээр кодлох боломжтой. Ийм кодчилол нь ROT128 шифрийн хувилбар байх болно, зөвхөн энгийн цагаан толгойн хувьд биш, харин сонгосон кодын хуудсанд зориулагдсан болно.
Шифр үүссэн цаг нь тодорхойгүй байгаа боловч энэ системийн олдсон зарим тэмдэглэл нь 18-р зуунаас эхэлдэг. Энэхүү шифрийн хувилбаруудыг Розикруциан одон ба Freemasons ашиглаж байжээ. Сүүлийнх нь нууц баримт бичиг, захидал харилцаандаа үүнийг ихэвчлэн ашигладаг байсан тул шифрийг Масоны шифр гэж нэрлэж эхэлсэн. Масоны булшны чулуун дээр ч гэсэн энэ кодыг ашигласан бичээсийг харж болно. Үүнтэй төстэй шифрлэлтийн системийг Америкийн иргэний дайны үед Жорж Вашингтоны арми, мөн АНУ-ын Холбооны улсуудын холбооны шоронгийн хоригдлууд ашиглаж байжээ.
Ийм шифрийн сүлжээг бөглөх хоёр (цэнхэр, улаан) сонголтыг доор харуулав. Үсгүүдийг хосоор нь байрлуулсан бөгөөд хосын хоёр дахь үсгийг цэг бүхий тэмдэглэгээгээр зурсан болно.
Зохиогчийн эрхийн шифрүүд
Цагаан толгойн нэг тэмдэгт (үсэг, тоо, цэг таслал) нь нэг (ховор олон) график тэмдэгтэй тохирдог маш олон төрлийн шифрийг зохион бүтээсэн. Тэдгээрийн ихэнхийг шинжлэх ухааны уран зөгнөлт кино, хүүхэлдэйн кинонд ашиглахаар зохион бүтээжээ Компьютер тоглоом. Тэдгээрийн заримыг энд харуулав.
Бүжиглэдэг эрчүүд
Хамгийн алдартай зохиолчийн орлуулах шифрүүдийн нэг бол "" юм. Үүнийг Английн зохиолч Артур Конан Дойл Шерлок Холмсын тухай нэгэн бүтээлдээ зохиож, дүрсэлсэн байдаг. Цагаан толгойн үсгүүдийг өөр өөр дүр төрхтэй бяцхан эрчүүд шиг дүрсээр сольсон. Уг номонд бяцхан эрчүүдийг цагаан толгойн бүх үсгүүдэд зориулж зохион бүтээгээгүй тул шүтэн бишрэгчид тэмдэглэгээг бүтээлчээр өөрчилж, дахин боловсруулсан бөгөөд үр дүнд нь дараах шифр гарч ирэв.
Томас Морын цагаан толгой
Гэхдээ ийм цагаан толгойг Томас Мор 1516 онд "Утопиа" хэмээх зохиолдоо дүрсэлсэн байдаг.
"Gravity Falls" хүүхэлдэйн киноны шифрүүд
Билл Шифр
Стэнфорд Пинс (өдрийн зохиолч)
Оддын дайнаас авсан Жеди цагаан толгой
Футурамагийн харь гарагийн цагаан толгой
Супермэний криптон цагаан толгой
Биониклийн цагаан толгойн үсэг
HTML кодын семантик нь үргэлж халуун сэдэв байдаг. Зарим хөгжүүлэгчид үргэлж семантик код бичихийг хичээдэг. Бусад нь догматик үзэлтнүүдийг шүүмжилдэг. Зарим нь энэ нь юу болохыг, яагаад хэрэгтэйг мэдэхгүй байна. Семаль нь HTML хэл дээр зорилгыг тодорхойлсон хаягууд, ангиуд, ID-ууд болон шинж чанаруудаар тодорхойлогддог боловч тэдгээрт агуулагдах агуулгыг тодорхой заагаагүй болно. Энэ нь бид агуулга, түүний форматыг салгах тухай ярьж байна.
Тодорхой жишээгээр эхэлье.
Муу кодын семантик
Сайн кодын семантик
Хэн нэгний бичсэн нийтлэлийн текст. Инко Гнито- түүний зохиогч.Өгүүллийн гарчиг
Та HTML5-г ашиглахад бэлэн байгаа эсэхээс үл хамааран шошгыг ашиглана уу Гэхдээ HTML5 шошгуудаар бүх зүйл тийм ч тодорхой харагддаггүй. Ангийн нэрсийн багцыг харцгаая, тэдгээр нь утгын шаардлагад нийцэж байгаа эсэхийг харцгаая. Семантик код биш.Энэ бол сонгодог жишээ юм. CSS grid workbench бүр сүлжээний элементүүдийг тодорхойлохын тулд эдгээр төрлийн ангийн нэрийг ашигладаг. Энэ нь "yui-b", "grid-4", "spanHalf" эсэхээс үл хамааран ийм нэрс нь агуулгыг тайлбарлахаас илүү тэмдэглэгээг зааж өгөхөд илүү ойр байдаг. Гэсэн хэдий ч модульчлагдсан сүлжээний загваруудтай ажиллахад ихэнх тохиолдолд тэдгээрийг ашиглахаас зайлсхийх боломжгүй юм. Семантик код.Хөлийн хэсэг нь вэб дизайнд хүчтэй утгыг олж авсан. Энэ бол хуудасны доод хэсэг бөгөөд давтагдах навигаци, ашиглалтын эрх, зохиогчийн мэдээлэл гэх мэт элементүүдийг агуулдаг. Энэ анги нь эдгээр бүх элементүүдийг тайлбарлахгүйгээр бүлгийг тодорхойлдог. Хэрэв та HTML5 ашиглахад шилжсэн бол элементийг ашиглах нь дээр Семантик код биш.Энэ нь агуулгыг нарийн тодорхойлдог. Гэхдээ яагаад текст том байх ёстой гэж? Бусад жижиг бичвэрүүдээс ялгарах уу? Энэ тохиолдолд "standOut" (тодруулбал) илүү тохиромжтой. Та онцолсон текстийн хэв маягийг өөрчлөхөөр шийдэж болох ч хэмжээсийнхээ талаар юу ч хийхгүй, энэ тохиолдолд ангийн нэр таныг төөрөлдүүлж болзошгүй. Семантик код.Энэ тохиолдолд бид програмын интерфейс дэх элементийн ач холбогдлын түвшинг тодорхойлох талаар ярьж байна (жишээлбэл, догол мөр эсвэл товчлуур). Дээд түвшний элемент нь илүү тод өнгөтэй, илүү том хэмжээтэй байж болох ба доод түвшний элементүүд илүү их агуулгыг агуулж болно. Гэхдээ энэ тохиолдолд хэв маягийн нарийн тодорхойлолт байхгүй тул код нь семантик юм. Энэ байдалшошгыг ашиглахтай маш төстэй Семантик код.Анги болгоны нэр ийм тодорхой тодорхойлогдсон бол! Энэ тохиолдолд бид "жиргээ", "хуудас" эсвэл "админ-нав" гэх мэт зорилгыг нь тайлбарлахад хялбар контент бүхий хэсгийн тайлбартай байна. Семантик код биш.Энэ тохиолдолд бид хуудасны эхний догол мөрний хэв маягийг тохируулах талаар ярьж байна. Уншигчдын анхаарлыг материалд татахын тулд энэ аргыг ашигладаг. Элементийг дурдаагүй "танилцуулга" гэсэн нэрийг ашиглах нь дээр. Гэхдээ ийм догол мөрүүдэд сонгогч ашиглах нь илүү дээр юм, тухайлбал p:төрлийн анхны эсвэл h1 + p . Семантик код биш.Энэ бол элементүүдийн форматыг зохион байгуулахад хэрэглэгддэг маш ерөнхий ангийн нэр юм. Гэхдээ агуулгын тайлбартай холбоотой юу ч байхгүй. Янз бүрийн семантик онолчид ийм тохиолдолд "бүлэг" гэх мэт ангийн нэрийг ашиглахыг зөвлөж байна. Тэдний зөв байх магадлалтай. Энэ элемент нь бусад хэд хэдэн элементүүдийг бүлэглэх нь дамжиггүй тул санал болгож буй нэр нь түүний зорилгыг нарийвчлан тайлбарлахгүйгээр илүү сайн тайлбарлах болно. Семантик код биш.Агуулгын форматын хэт нарийвчилсан тайлбар. Форматаас илүү агуулгыг тайлбарлах өөр нэрийг сонгох нь дээр. Семантик код.Анги нь агуулгын төлөв байдлыг маш сайн тодорхойлдог. Жишээлбэл, амжилтын мессеж нь алдааны мессежээс тэс өөр загвартай байж болно. Семантик код биш.Энэ жишээ нь агуулгын зорилгоос илүү форматыг тодорхойлохыг оролддог. "Plain-jane" нь "энгийн" эсвэл "жирийн"-тэй маш төстэй юм. Тохиромжтой CSS код нь агуулгын форматыг тодорхойлсон "ердийн" гэх мэт ангиудын нэрийг оруулах шаардлагагүй байхаар бичигдсэн байх ёстой. Семантик код биш.Эдгээр төрлийн ангиудыг холбоосын гинжин хэлхээнд оруулах ёсгүй сайтын элементүүдийг тодорхойлоход ихэвчлэн ашигладаг. Энэ тохиолдолд холбоосын хувьд rel=nofollow гэх мэт зүйлийг ашиглах нь дээр, гэхдээ бүх агуулгад зориулсан анги биш. Семантик код биш.Энэ нь агуулгын зорилго биш харин форматыг тайлбарлах оролдлого юм. Таны вэбсайтад хоёр нийтлэл байна гэж бодъё. Мөн та тэднээс асуумаар байна янз бүрийн хэв маяг. "Кино тойм" нь цэнхэр дэвсгэртэй, "Шуурхай мэдээ" нь улаан дэвсгэртэй, том үсгийн хэмжээтэй байна. Асуудлыг шийдэх нэг арга бол: Өөр нэг арга нь: Хэрэв та аль код нь семантик шаардлагад илүү нийцэж байгаа талаар хэд хэдэн хөгжүүлэгчидтэй ярилцлага хийвэл ихэнх нь эхний сонголтыг зааж өгөх нь гарцаагүй. Энэ нь энэ хичээлийн материалтай бүрэн нийцэж байна: форматлах холбоосгүйгээр зорилгын тайлбар. Хоёрдахь сонголт нь форматыг заана ("blueBg" нь хоёроос үүссэн ангийн нэр юм Англи үгс, "цэнхэр дэвсгэр" гэсэн утгатай). Хэрэв та гэнэт киноны тоймуудын дизайныг өөрчлөхөөр шийдсэн бол жишээлбэл, ногоон дэвсгэр хийвэл "blueBg" ангийн нэр нь хөгжүүлэгчийн хар дарсан зүүд болж хувирна. "Кино тойм" гэсэн нэр нь кодын дэмжлэгийг маш сайн байлгахын зэрэгцээ дизайны хэв маягийг амархан өөрчлөх боломжийг танд олгоно. Гэхдээ эхний жишээг бүх тохиолдолд илүү сайн гэж хэн ч мэдэгддэггүй. Цэнхэр өнгийн тодорхой сүүдэрийг сайтын олон газарт ашигладаг гэж үзье. Жишээлбэл, энэ нь хажуугийн хэсэг дэх хөл хэсэг болон хэсгүүдийн арын дэвсгэр юм. Та дараах сонгогчийг ашиглаж болно. Киноны тойм, хөл хэсэг > div:төрлийн n-р хэсэг(2), хажуу тийш > div:төрлийн n-р(4) (арын дэвсгэр: #c2fbff; ) Өнгө нь зөвхөн нэг газар тодорхойлогддог тул үр дүнтэй шийдэл. Гэхдээ ийм код нь урт сонгогчтой тул үүнийг харахад хэцүү байдаг тул засварлахад хэцүү болдог. Өвөрмөц хэв маягийг тодорхойлохын тулд танд өөр сонгогчид хэрэгтэй бөгөөд энэ нь кодыг давтах болно. Эсвэл та өөр арга барил авч, тэдгээрийг салгаж болно: Киноны тойм ( дэвсгэр: #c2fbff; /* Өнгөний тодорхойлолт */ ) хөл > div:nth-of-type(2) (фон: #c2fbff; /* Бас нэг зүйл */ ) хажуу тийш > div:nth-of - type(4) (арын дэвсгэр: #c2fbff; /* Бас нэг зүйл */ ) Энэ хэв маяг нь CSS файлыг илүү эмх цэгцтэй байлгахад тусалдаг (өөр өөр хэсгүүд нь өөр өөр хэсгүүд). Гэхдээ төлөх үнэ нь тодорхойлолтыг давтах явдал юм. Томоохон сайтуудын хувьд ижил өнгийг тодорхойлох нь хэдэн мянган удаа хүрч болно. Аймшигтай! Шийдэл бол "blueBg" гэх мэт ангиудыг ашиглан өнгийг нэг удаа тодорхойлж, тухайн загварыг ашиглахыг хүсвэл HTML кодонд оруулах явдал юм. Мэдээжийн хэрэг, форматлах тайлбараас салахын тулд үүнийг "mainBrandColor" эсвэл "secondaryFont" гэж нэрлэх нь дээр. Та нөөцийг хэмнэхийн тулд кодын семантикийг золиосолж болно. Вэб дизайнерууд болон хөгжүүлэгчид заримдаа бидний ойлгоход хэцүү байдаг энгийн үг хэллэг, бүдүүлэг хэллэгүүдийг хаях дуртай. Энэ нийтлэл нь семантик код дээр анхаарлаа хандуулах болно. Энэ юу болохыг олж мэдье! Семантик код гэж юу вэ? Та вэб дизайнер биш байсан ч таны сайт HTML хэл дээр бичигдсэн гэдгийг мэдэх байх. HTML нь анх баримт бичгийн агуулгыг дүрслэн харуулах хэрэгсэл болохоос илүүтэйгээр түүнийг үзэмжтэй харагдуулах зорилготой байсан. Семаль код нь энэхүү анхны үзэл баримтлалдаа буцаж ирдэг бөгөөд вэб дизайнеруудыг ямар байх ёстойгоос илүү агуулгыг дүрсэлсэн код бичихийг дэмждэг. Жишээлбэл, хуудасны гарчгийг дараах байдлаар програмчилж болно. Энэ бол хуудасны гарчиг юм
Энэ нь гарчгийг том бөгөөд тод болгож, хуудасны гарчиг мэт харагдах боловч кодонд үүнийг "гарчиг" гэж тодорхойлсон зүйл байхгүй. Энэ нь компьютер үүнийг хуудасны гарчиг гэж таних боломжгүй гэсэн үг юм. Гарчгийг утгын хувьд бичихдээ компьютер үүнийг "гарчиг" гэж танихын тулд бид дараах кодыг ашиглах ёстой. Толгойн харагдах байдлыг дотор нь тодорхойлж болно тусдаа файл, үүнийг "Cascading Style Sheets" (CSS) гэж нэрлэдэг бөгөөд энэ нь таны тайлбарлах (семантик) HTML кодонд саад учруулахгүй. Яагаад семантик код чухал вэ? Компьютерийн агуулгыг зөв таних чадвар нь хэд хэдэн шалтгааны улмаас чухал байдаг: Семаль код нь бусад давуу талуудтай: Вэбсайт семантик код ашиглаж байгаа эсэхийг хэрхэн шалгах вэ? Асаалттай Энэ мөчсемантик кодыг шалгах хэрэгсэл байхгүй. Энэ бүхэн нь агуулгыг тайлбарлахын оронд код доторх өнгө, фонт, зохион байгуулалтыг шалгахад хүргэдэг. Хэрэв кодын дүн шинжилгээ нь аймшигтай сонсогдож байвал вэб дизайнераасаа асуух нь маш сайн эхлэл юм - тэр семантикийг бодож кодлож байна уу? Хэрэв тэр чам руу хоосон харвал эсвэл инээдтэй яриа хийж эхэлбэл тэр ингэж кодлодоггүй гэдэгт итгэлтэй байж болно. Энэ мөчид та түүнд ажилд нь шинэ чиглэл өгөх үү, эсвэл өөртөө шинэ загвар зохион бүтээгч олох уу гэдгээ шийдэх ёстой. ,
,
, гэх мэт, гэхдээ бусад интерфейсийн элементүүдэд.
Гэхдээ...
Энэ бол гарчиг юм