Энгийн шифр: алдартай код болон шифрүүдийн тайлбар

Агуулгын хүснэгт:

Энгийн шифр: алдартай код болон шифрүүдийн тайлбар
Энгийн шифр: алдартай код болон шифрүүдийн тайлбар
Anonim

Захидал бичгийг шифрлэх хэрэгцээ эртний ертөнцөд үүсч, энгийн орлуулах шифрүүд гарч ирэв. Шифрлэгдсэн мессежүүд олон тулааны хувь заяаг тодорхойлж, түүхийн явцад нөлөөлсөн. Цаг хугацаа өнгөрөх тусам хүмүүс шифрлэлтийн илүү дэвшилтэт аргуудыг зохион бүтээсэн.

Код болон шифр нь өөр өөр ойлголтууд юм. Эхнийх нь мессеж дэх үг бүрийг код үгээр солихыг хэлнэ. Хоёр дахь нь мэдээллийн тэмдэг бүрийг тодорхой алгоритм ашиглан шифрлэх явдал юм.

Математик нь мэдээллийг кодлож, криптографийн онолыг хөгжүүлсний дараа эрдэмтэд энэхүү хэрэглээний шинжлэх ухааны олон ашигтай шинж чанарыг олж илрүүлсэн. Жишээлбэл, код тайлах алгоритм нь эртний Египет эсвэл Латин зэрэг үхсэн хэлүүдийг тайлахад тусалсан.

Стеганографи

Стеганографи нь кодлох, шифрлэхээс илүү эртний юм. Энэ урлаг маш удаан хугацаанд бий болсон. Энэ нь шууд утгаараа "далд бичиг" эсвэл "шифр бичих" гэсэн утгатай. Хэдийгээр стеганографи нь код, шифрийн тодорхойлолтод бүрэн нийцдэггүй ч танихгүй хүмүүсээс мэдээллийг нуух зорилготой юм.нүд.

Стеганографи эсвэл криптографи
Стеганографи эсвэл криптографи

Стеганографи бол хамгийн энгийн шифр юм. Лаваар бүрхэгдсэн залгисан тэмдэглэл нь ердийн жишээнүүд эсвэл ургасан үсний доор нуугдаж буй хуссан толгой дээрх мессеж юм. Стеганографийн хамгийн тод жишээ бол англи хэл дээрх (зөвхөн биш) олон мөрдөгч номонд бичсэн, сониноор дамжуулж, үсгүүдийг үл анзаарагдам тэмдэглэсэн арга юм.

Стеганографийн гол сул тал бол анхааралтай танихгүй хүн үүнийг анзаарч чаддагт оршино. Тиймээс нууц мэдээг амархан уншихаас сэргийлэхийн тулд стеганографитай хамт шифрлэх, кодлох аргыг ашигладаг.

ROT1 ба Цезарийн шифр

Энэ шифрийн нэр нь 1 үсгийг урагш эргүүлэх бөгөөд үүнийг олон сургуулийн сурагчид мэддэг. Энэ бол энгийн орлуулах шифр юм. Үүний мөн чанар нь үсэг бүрийг цагаан толгойн дарааллаар 1 үсгээр урагшлуулах замаар шифрлэгдсэнд оршино. A -> B, B -> C, …, Z -> A. Жишээ нь, бид "манай Настя чангаар уйлж байна" гэсэн хэллэгийг шифрлээд "ерөнхий Obtua dspnlp rmbsheu" гэж авдаг.

ROT1 шифрийг дурын тооны офсет болгон нэгтгэж болох бөгөөд үүнийг ROTN гэж нэрлэх ба N нь үсгүүдийн шифрлэлтийг шилжүүлэх тоо юм. Энэ хэлбэрээр шифрийг эрт дээр үеэс мэддэг бөгөөд "Цезарийн шифр" гэж нэрлэдэг.

Цезарийн шифрт зориулсан кирилл диск
Цезарийн шифрт зориулсан кирилл диск

Цезарийн шифр нь маш энгийн бөгөөд хурдан боловч энэ нь энгийн нэг солих шифр тул эвдэхэд хялбар байдаг. Ийм сул талтай учир хүүхдийн тоглоом шоглоом хийхэд л тохиромжтой.

Шилжүүлэн суулгах эсвэл солих шифр

Эдгээр төрлийн энгийн солих шифрүүд нь илүү ноцтой бөгөөд саяхан идэвхтэй ашиглагдаж байсан. Америкийн иргэний дайн ба дэлхийн 1-р дайны үед үүнийг мессеж илгээхэд ашигладаг байсан. Түүний алгоритм нь үсгүүдийг цэгцлэхээс бүрддэг - мессежийг урвуу дарааллаар бичих эсвэл үсгүүдийг хосоор нь дахин байрлуулах. Жишээлбэл, "Морзын код мөн шифр" -> "akubza ezrom - hedgehog rfish" хэллэгийг шифрлэе.

Тэмдэгт эсвэл бүлэг тус бүрийн дур зоргоороо солигддог сайн алгоритмын тусламжтайгаар шифр нь энгийн хагаралд тэсвэртэй болсон. Гэхдээ! Зөвхөн цаг тухайд нь. Шифрийг энгийн харгис хүчээр эсвэл толь бичигт тааруулах замаар амархан эвддэг тул өнөөдөр ямар ч ухаалаг утас шифрийг тайлах боломжтой. Тиймээс компьютер гарч ирснээр энэ шифр мөн хүүхдийн ангилалд шилжсэн.

Морзе код

ABC нь мэдээлэл солилцох хэрэгсэл бөгөөд түүний гол үүрэг нь мессежийг дамжуулахад хялбар, ойлгомжтой болгох явдал юм. Хэдийгээр энэ нь шифрлэлтэд зориулагдсантай зөрчилддөг. Гэсэн хэдий ч энэ нь хамгийн энгийн шифрүүд шиг ажилладаг. Морзын системд үсэг, тоо, цэг таслал бүр өөрийн гэсэн кодтой бөгөөд зураас, цэгийн бүлгээс бүрддэг. Телеграф ашиглан мессеж илгээхдээ зураас болон цэгүүд нь урт ба богино дохиог илэрхийлнэ.

Морзын кодоор кирилл, латин
Морзын кодоор кирилл, латин

Телеграф болон Морзын код… Морзе бол 1840 онд "өөрийн" шинэ бүтээлийн патентыг авсан хүн боловч түүнээс өмнө Орос, Англид ижил төстэй төхөөрөмжийг зохион бүтээж байжээ. Харин одоо хэнд хамаатай вэ … Телеграф ба цагаан толгойМорзын код нь дэлхий дээр маш том нөлөө үзүүлж, эх газрын зайд мессежийг бараг агшин зуур дамжуулах боломжийг олгосон.

Дан цагаан толгойн орлуулалт

Дээр тайлбарласан ROTN болон Морзын код нь нэг цагаан толгойн үсгийн фонтуудын жишээ юм. "Моно" угтвар нь шифрлэлтийн үед эх мессежийн үсэг бүрийг шифрлэлтийн цорын ганц цагаан толгойн үсгээр эсвэл кодоор солино гэсэн үг.

Энгийн орлуулалтын шифрийг тайлах нь тийм ч хэцүү биш бөгөөд энэ нь тэдний гол дутагдал юм. Тэдгээрийг энгийн тооллого эсвэл давтамжийн шинжилгээгээр шийддэг. Жишээлбэл, орос хэлний хамгийн их хэрэглэгддэг үсэг нь "o", "a", "i" гэдэг нь мэдэгдэж байна. Тиймээс шифрлэгдсэн текстэнд ихэвчлэн тохиолддог үсэг нь "o", "a", "ба" гэсэн утгатай гэж үзэж болно. Эдгээр бодолд үндэслэн мессежийг компьютер хайлтгүйгээр ч тайлж болно.

1561-1567 онд Шотландын хатан хаан I Мэри хэд хэдэн хослол бүхий маш нарийн төвөгтэй нэг цагаан толгойн орлуулалтын шифрийг ашигласан нь мэдэгдэж байна. Гэсэн хэдий ч түүний дайснууд мессежийг тайлж чадсан бөгөөд мэдээлэл нь хатан хааныг цаазаар авах ял онооход хангалттай байв.

Гронсфельд шифр, эсвэл олон цагаан толгойн орлуулалт

Энгийн шифрийг криптографаар хэрэггүй гэж зарладаг. Тиймээс тэдний олонх нь сайжирсан. Гронсфельд шифр нь Цезарийн шифрийг өөрчилсөн хувилбар юм. Энэ арга нь хакердахад илүү тэсвэртэй бөгөөд кодлогдсон мэдээллийн тэмдэгт бүрийг өөр өөр цагаан толгойн үсгийн аль нэгийг ашиглан шифрлэдэг бөгөөд энэ нь мөчлөгт давтагддаг. Үүнийг олон хэмжээст хэрэглээ гэж хэлж болнохамгийн энгийн орлуулах шифр. Үнэн хэрэгтээ Гронсфелд шифр нь доор хэлэлцсэн Виженерийн шифртэй маш төстэй юм.

ADFGX шифрлэлтийн алгоритм

Энэ бол Германчуудын хэрэглэж байсан дэлхийн нэгдүгээр дайны үеийн хамгийн алдартай шифр юм. Шифрлэлтийн алгоритм нь бүх шифрийг эдгээр үсгүүдийг ээлжлэн солиход хүргэсэн тул энэ шифр ийм нэрийг авсан. Үсгийн сонголтыг өөрсдөө телеграфын шугамаар дамжуулахад тохиромжтой байдлаар нь тодорхойлсон. Шифр дэх үсэг бүрийг хоёроор төлөөлдөг. ADFGX квадратын тоо агуулсан, ADFGVX гэж нэрлэгддэг илүү сонирхолтой хувилбарыг харцгаая.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y Би N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

ADFGX квадратын алгоритм дараах байдалтай байна:

  1. Багана болон мөрөнд санамсаргүй n үсэг сонгоно уу.
  2. N x N матриц бүтээх.
  3. Матриц руу нүдэн дээр санамсаргүй байдлаар тараагдсан цагаан толгой, тоо, тэмдэгтүүдийг оруулна уу.

Орос хэлэнд ижил төстэй дөрвөлжин хийцгээе. Жишээлбэл, ABCD квадратыг үүсгэцгээе:

A B B G D
A E/E N b/b A I/Y
B W V/F G/R З D
B Ш/Ш B L X Би
G R M O Ю P
D F T T S U

Нэг мөрөнд хоёр үсэг орсон тул энэ матриц хачирхалтай харагдаж байна. Энэ нь хүлээн зөвшөөрөгдөхүйц, мессежийн утга алдагдахгүй. Үүнийг амархан сэргээж болно. Энэ хүснэгтийг ашиглан "Компакт шифр" хэллэгийг шифрлээрэй:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Өгүүлбэр K O M P A K T N S Y Ш & F R
Шифр bw gv gb хаана ag bw db ab dg там wa там bb ha

Тиймээс эцсийн шифрлэгдсэн зурвас дараах байдалтай байна: "bvgvgbgdagbvdbabdgvdvaadbbga". Мэдээжийн хэрэг, Германчууд ижил төстэй шугамыг хэд хэдэн шифрээр дамжуулсан. Тэгээд эцэст нь энэ нь маш тогтвортой болсоншифрлэгдсэн мессежийг эвдэх.

Vigenère шифр

Энэ шифр нь энгийн текст солих шифр боловч нэг үсэгтэй шифрээс илүү хагарахад илүү тэсвэртэй дараалал юм. Гэсэн хэдий ч хүчирхэг алгоритмын улмаас үүнийг хакердах боломжгүй гэж удаан хугацаагаар үзэж байсан. Энэ тухай анх дурдсан нь 16-р зуунаас эхтэй. Виженерийг (Францын дипломатч) зохион бүтээгч гэж буруу тооцдог. Юу болж байгааг илүү сайн ойлгохын тулд орос хэлний Виженерийн хүснэгтийг (Виженерийн талбай, tabula recta) авч үзье.

Орос цагаан толгойн Vigenère хүснэгт
Орос цагаан толгойн Vigenère хүснэгт

"Касперович инээв" гэсэн хэллэгийг кодлож эхэлцгээе. Гэхдээ шифрлэлт амжилттай болохын тулд түлхүүр үг хэрэгтэй - энэ нь "нууц үг" байх болтугай. Одоо шифрлэлтийг эхлүүлцгээе. Үүнийг хийхийн тулд бид түлхүүрийг маш олон удаа бичдэг бөгөөд үүнээс гарч буй үсгүүдийн тоо нь шифрлэгдсэн хэллэг дэх үсгийн тоотой тохирч, түлхүүрийг давтах эсвэл таслах замаар:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Хэлбэр: K A С P E R O B & W С M E E T С Би
Түлхүүр P A R O L b P A R O L b P A R O L

Одоо бид координатын хавтгайд байгаа шиг Виженерийн хүснэгтийг ашиглан хос үсгүүдийн огтлолцол болох нүдийг хайж олоход: K + P=b, A + A=B, C болно. + P=C гэх мэт

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Шифр: b B B Ю С N Ю G Sch F E Y X F G A L

Бид "Касперович инээж байна"="бвуснюгсчж ейхжгал" гэж ойлгодог.

Vigenère шифрийг эвдэх нь маш хэцүү байдаг, учир нь давтамжийн шинжилгээ нь ажиллахын тулд түлхүүр үгийн уртыг мэдэх шаардлагатай байдаг. Тиймээс түлхүүр үгийн уртыг санамсаргүй байдлаар шидэж, нууц мессежийг эвдэхийг оролдох явдал юм.

Бүрэн санамсаргүй түлхүүрээс гадна огт өөр Vigenère хүснэгтийг ашиглаж болно гэдгийг тэмдэглэх нь зүйтэй. Энэ тохиолдолд Виженерийн талбай нь нэг шилжилттэй, мөр мөрөөр бичсэн орос цагаан толгойноос бүрдэнэ. Энэ нь биднийг ROT1 шифрийг хэлдэг. Цезарийн шифртэй адил офсет нь юу ч байж болно. Түүнээс гадна үсгүүдийн дараалал нь цагаан толгойн үсгийн дараалал байх албагүй. Энэ тохиолдолд хүснэгт өөрөө түлхүүр байж болох бөгөөд энэ нь түлхүүрийг нь мэдсэн ч мессежийг унших боломжгүй байх болно.

Кодууд

Бодит кодууд нь тус бүрт тохирох кодуудаас бүрдэнэтусдаа кодын үгс. Тэдэнтэй ажиллахын тулд кодын ном гэж нэрлэгддэг ном хэрэгтэй. Үнэн хэрэгтээ энэ нь зөвхөн үгсийг код болгон орчуулсан ижил толь бичиг юм. Кодын энгийн бөгөөд хялбаршуулсан жишээ бол энгийн тэмдэгтүүдийн олон улсын шифр болох ASCII хүснэгт юм.

ASCII кодын хүснэгт
ASCII кодын хүснэгт

Кодын гол давуу тал нь тайлахад маш хэцүү байдаг. Тэднийг хакердсан үед давтамжийн шинжилгээ бараг ажиллахгүй. Кодын сул тал нь үнэндээ номнууд өөрсдөө юм. Нэгдүгээрт, тэдгээрийг бэлтгэх нь нарийн төвөгтэй, үнэтэй үйл явц юм. Хоёрдугаарт, дайснуудын хувьд тэдгээр нь хүссэн объект болж хувирдаг бөгөөд номын нэг хэсгийг ч таслан зогсоох нь таныг бүх кодыг бүрэн өөрчлөхөд хүргэдэг.

20-р зуунд олон муж улсууд нууц мэдээллийг дамжуулахдаа код ашигладаг байсан бөгөөд тодорхой хугацааны дараа кодын номыг өөрчилдөг байв. Мөн тэд хөршүүд болон өрсөлдөгчдийн номыг идэвхтэй хайж байсан.

Enigma

Энигма бол Дэлхийн 2-р дайны үед нацистуудын шифрлэлтийн гол машин байсныг бүгд мэднэ. Enigma-ийн бүтэц нь цахилгаан болон механик хэлхээний хослолыг агуулдаг. Шифр хэрхэн гарах нь Enigma-ийн анхны тохиргооноос хамаарна. Үүний зэрэгцээ, Enigma үйл ажиллагааны явцад тохиргоогоо автоматаар өөрчилдөг бөгөөд нэг мессежийг бүхэл бүтэн уртад нь хэд хэдэн аргаар шифрлэдэг.

Хамгийн энгийн шифрүүдээс ялгаатай нь "Enigma" нь олон триллион боломжит хослолуудыг өгсөн нь шифрлэгдсэн мэдээллийг задлах бараг боломжгүй болгосон. Хариуд нь нацистууд өдөр бүр тодорхой хослолыг бэлдсэн байсан бөгөөд үүнийгээ тэд өөрсдөө хийдэг байвтодорхой өдөр мессеж илгээхэд ашигладаг. Тиймээс Enigma дайсны гарт орсон ч өдөр бүр зөв тохиргоог оруулалгүйгээр мессежийн шифрийг тайлах ямар ч ажил хийгээгүй.

Нацист Enigma шифрлэх машин
Нацист Enigma шифрлэх машин

Хак "Enigma"-г Гитлерийн бүх цэргийн кампанит ажлын үеэр идэвхтэй туршиж үзсэн. 1936 онд Англид үүнд зориулж анхны тооцоолох төхөөрөмжүүдийн нэг (Тюринг машин) бүтээгдсэн бөгөөд энэ нь ирээдүйд компьютерийн прототип болсон юм. Түүний даалгавар бол хэдэн арван оньсого тоглоомын ажиллагааг нэгэн зэрэг дуурайж, нацистуудын дамжуулсан мессежийг дамжуулах явдал байв. Гэхдээ Тьюрингийн машин хүртэл мессежийг хааяа эвдэж чаддаг байсан.

Нийтийн түлхүүрийн шифрлэлт

Технологи, компьютерийн системд хаа сайгүй хэрэглэгддэг шифрлэлтийн алгоритмуудын хамгийн алдартай нь. Үүний мөн чанар нь дүрмээр бол хоёр түлхүүр байгаа бөгөөд тэдгээрийн нэг нь нийтэд дамжуулагддаг, хоёр дахь нь нууц (хувийн) байдаг. Нийтийн түлхүүрийг мессежийг шифрлэхэд, харин нууц түлхүүрийг тайлахад ашигладаг.

Нийтийн түлхүүрийн шифрлэлтийн алгоритм
Нийтийн түлхүүрийн шифрлэлтийн алгоритм

Нийтийн түлхүүр нь ихэвчлэн маш том тоо бөгөөд зөвхөн хоёр хуваагчтай байдаг ба нэг болон тоог өөрөө тоолохгүй. Энэ хоёр хуваагч нийлээд нууц түлхүүр үүсгэдэг.

Энгийн жишээг авч үзье. Нийтийн түлхүүр нь 905 байг. Түүний хуваагч нь 1, 5, 181, 905 гэсэн тоонууд байна. Дараа нь нууц түлхүүр нь жишээлбэл, 5181 тоо байх болно. Та хэтэрхий амархан хэлж байна уу? Хэрэв дүрд тогловол яах вэнийтийн дугаар нь 60 оронтой тоо байх уу? Олон тооны хуваагчийг тооцоолоход математикийн хувьд хэцүү.

Илүү тод жишээ бол АТМ-аас мөнгө авч байна гэж төсөөлөөд үз дээ. Картыг уншихдаа хувийн мэдээллийг тодорхой нийтийн түлхүүрээр шифрлэж, банкны талд мэдээллийг нууц түлхүүрээр тайлдаг. Мөн энэ нийтийн түлхүүрийг үйлдэл бүрт өөрчилж болно. Мөн таслах үед гол хуваагчийг хурдан олох арга байхгүй.

Үсгийн бат бөх чанар

Шифрлэлтийн алгоритмын криптографийн хүч нь хакердалтыг эсэргүүцэх чадвар юм. Энэ параметр нь аливаа шифрлэлтийн хувьд хамгийн чухал юм. Ямар ч электрон төхөөрөмжөөр шифрлэгдэж болох энгийн орлуулалтын шифр нь хамгийн тогтворгүй шифрүүдийн нэг гэдэг нь ойлгомжтой.

Өнөөдөр шифрийн хүчийг үнэлэх боломжтой нэгдсэн стандарт байхгүй байна. Энэ бол маш их хөдөлмөр, урт процесс юм. Гэхдээ энэ чиглэлээр стандарт гаргасан хэд хэдэн комисс бий. Жишээлбэл, АНУ-ын NIST-ийн боловсруулсан Нарийвчилсан шифрлэлтийн стандарт эсвэл AES шифрлэлтийн алгоритмд тавигдах хамгийн бага шаардлага.

Лавлахын тулд: Вернам шифрийг эвдэхэд хамгийн тэсвэртэй шифр гэж хүлээн зөвшөөрдөг. Үүний зэрэгцээ түүний давуу тал нь алгоритмын дагуу хамгийн энгийн шифр юм.

Зөвлөмж болгож буй: