ГОСТ 28147 89 алгоритм нь. Дотоодын мэдээллийн шифрлэлтийн стандарт. Зочны сэдэв дээрх өөрчлөлтүүд

Дотоодын шифрлэлтийн стандарт DES нь програм хангамжийг хэрэгжүүлэхэд илүү тохиромжтой.

Америкийн DES-ээс ялгаатай нь дотоодын стандарт нь илүү урт түлхүүрийг ашигладаг - 256 бит. Нэмж дурдахад, Оросын стандарт нь 32 удаагийн шифрлэлтийг ашиглахыг санал болгодог бол DES нь зөвхөн 16 шифрлэлтийг шаарддаг.

Тиймээс ГОСТ 28147-89 криптограф өгөгдлийг хувиргах алгоритмын үндсэн параметрүүд нь дараах байдалтай байна: блокийн хэмжээ 64 бит, түлхүүрийн хэмжээ 256 бит, тойргийн тоо 32.

Алгоритм нь сонгодог Feishtel сүлжээ юм. Шифрлэгдсэн өгөгдлийн блок нь баруун R, зүүн L гэсэн хоёр ижил хэсэгт хуваагдана. Баруун хэсгийг дугуй дэд түлхүүрт нэмж, зарим алгоритмыг ашиглан зүүн хэсгийг шифрлэдэг. Дараагийн тойргийн өмнө зүүн ба баруун хэсгүүдийг сольдог. Энэ бүтэц нь блокийн шифрлэлт болон шифрийг тайлахад ижил алгоритмыг ашиглах боломжийг олгодог.

Шифрлэлтийн алгоритм нь дараах үйлдлүүдийг ашигладаг.

  • модуль 2 32 үг нэмэх;
  • тодорхой тооны битээр үгийг зүүн тийш эргүүлэх;
  • битийн нэмэлт модуль 2;
  • хүснэгтийн дагуу солих.

ГОСТ алгоритмын янз бүрийн үе шатанд тэдгээрийн ажиллаж буй өгөгдлийг янз бүрийн аргаар тайлбарлаж, ашигладаг. Зарим тохиолдолд өгөгдлийн элементүүдийг бие даасан битийн массив, бусад тохиолдолд тэмдэггүй бүхэл тоо, зарим тохиолдолд бүтэцтэй гэж үздэг. нарийн төвөгтэй элемент, хэд хэдэн энгийн элементүүдээс бүрддэг.

Дугуй бүтэц ГОСТ 28147-89

ГОСТ 28147-89-ийн нэг тойргийн бүтцийг Зураг дээр үзүүлэв. 5.1.

Шифрлэгдсэн өгөгдлийн блокыг хоёр хэсэгт хувааж, дараа нь тусдаа 32 битийн тэмдэггүй бүхэл тоо болгон боловсруулдаг. Нэгдүгээрт, блокийн баруун тал болон тойргийн дэд түлхүүрүүд 2 32 модулийг нэмсэн. Дараа нь блокоор орлуулах ажлыг гүйцэтгэдэг. Өмнөх алхамд олж авсан 32 битийн утгыг (үүнийг S гэж нэрлэе) найман 4 бит кодын массив гэж тайлбарлав. S=(S 0 ,S 1 ,S 2 ,S 3 ,S 4 ,S 5 ,S 6 ,S 7 ). Дараа нь найман блок тус ​​бүрийн утгыг шинэ блокоор солих бөгөөд үүнийг солих хүснэгтээс дараах байдлаар сонгоно: S i блокийн утгыг дарааллаар нь S i -р элементээр солино (тэгээс дугаарлах) i-р солих зангилааны (өөрөөр хэлбэл, i-р эгнээний солих хүснэгтүүд, мөн эхнээс нь дугаарлах). Өөрөөр хэлбэл, сольж буй блокийн дугаартай тэнцүү мөрийн дугаар, 4 битийн сөрөг бус бүхэл тоогоор сольж буй блокийн утгатай тэнцүү баганын дугаартай элементийг утгыг орлуулахаар сонгоно. блок. Орлуулах хүснэгтийн мөр бүрт 0-ээс 15 хүртэлх тоог давталгүйгээр санамсаргүй дарааллаар оруулсан болно. Орлуулах хүснэгтийн элементүүдийн утгыг 0-ээс 15 хүртэл авна, учир нь орлуулсан дөрвөн бит нь 0-ээс 15 хүртэлх хооронд тэмдэггүй бүхэл тоо агуулж болно. Жишээлбэл, S-хайрцагны эхний мөрөнд дараах утгуудыг агуулж болно. 5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11 . Энэ тохиолдолд S 0 блокийн утгыг (32 битийн S тоонуудын хамгийн бага ач холбогдол бүхий дөрвөн бит) дугаар нь сольж буй блокийн утгатай тэнцүү байрлал дахь тоогоор солигдоно. Хэрэв S 0 = 0 бол 5, S 0 = 1 бол 8 гэх мэтээр солигдоно.


Цагаан будаа. 5.1.

Орлуулсны дараа бүх 4 битийн блокуудыг дахин нэг 32 бит үг болгон нэгтгэж, дараа нь 11 бит зүүн тийш эргүүлнэ. Эцэст нь битийн үйлдлийг ашиглана "нийлбэр модуль 2"үр дүн нь зүүн хагастай нийлж, R i-ийн шинэ баруун хагасыг бий болгодог. Шинэ зүүн талын L i-г хөрвүүлсэн блокийн доод хэсэгтэй тэнцүү авна: L i = R i-1 .

Хөрвүүлсэн блокийн үр дүнгийн утгыг шифрлэлтийн алгоритмын нэг удаагийн үр дүн гэж үзнэ.

Шифрлэлт ба шифрийг тайлах журам

Тиймээс ГОСТ 28147-89 нь блок шифр юм өгөгдөл хувиргахгэж нэрлэгддэг блокуудад хийж гүйцэтгэнэ үндсэн мөчлөгүүд. Үндсэн гогцоонууд нь өгөгдлийн блокийн талаар өмнө нь авч үзсэн үндсэн тойргийг өөр өөр үндсэн элементүүдийг ашиглан давтан гүйцэтгэхээс бүрддэг бөгөөд гол элементүүдийг ашиглах дарааллаар бие биенээсээ ялгаатай байдаг. Тойрог бүрт 32 битийн найман боломжит дэд түлхүүрүүдийн нэгийг ашигладаг.

Дугуй дэд түлхүүрүүдийг үүсгэх үйл явцыг харцгаая. ГОСТ-д энэ журам нь маш энгийн, ялангуяа DES-тэй харьцуулахад. 256 битийн K түлхүүр нь K0, K1, K2, K3, K4, K5, K6, K7 гэсэн 32 битийн найман дэд түлхүүрт хуваагдана. Алгоритм нь 32 эргэлтийг багтаасан тул шифрлэлтийн үед дэд түлхүүр бүрийг 5.1-р хүснэгтэд үзүүлсэн дарааллаар дөрвөн тойрогт ашигладаг.

Хүснэгт 5.1. Шифрлэлтийн үед дэд түлхүүрүүдийг ашиглах дараалал
Дугуй 1 2 3 4 5 6 7 8
Бүрэн бүтээн байгуулалт K 0 K 1 К2 K 3 K 4 К5 K 6 K 7
Дугуй 9 10 11 12 13 14 15 16
Бүрэн бүтээн байгуулалт K 0 K 1 К2 K 3 K 4 К5 K 6 K 7
Дугуй 17 18 19 20 21 22 23 24
Бүрэн бүтээн байгуулалт K 0 K 1 К2 K 3 K 4 К5 K 6 K 7
Дугуй 25 26 27 28 29 30 31 32
Бүрэн бүтээн байгуулалт K 7 K 6 К5 K 4 K 3 К2 K 1 K 0

Шифрийг тайлах процесс нь шифрлэлттэй ижил алгоритмыг ашиглан хийгддэг. Цорын ганц ялгаа нь K i дэд түлхүүрүүдийг ашиглах дараалал юм. Шифрийг тайлахдаа дэд түлхүүрүүдийг урвуу дарааллаар, тухайлбал-д заасны дагуу ашиглах ёстой

Энэхүү алгоритм нь ОХУ-ын төрийн байгууллагууд болон хэд хэдэн арилжааны байгууллагуудад шифрлэлтийн алгоритм болгон ашиглахад зайлшгүй шаардлагатай.

Алгоритмын тайлбар

Алгоритм диаграммыг Зураг дээр үзүүлэв. 3.1. Таны харж байгаагаар энэ алгоритмын загвар нь маш энгийн бөгөөд энэ нь програм хангамж эсвэл техник хангамжийн хэрэгжилтийг хялбаршуулдаг.

ГОСТ 28147-89 алгоритм нь 32 бит (N1 ба N2) хоёр дэд блокт хуваагддаг 64 битийн блок дахь мэдээллийг шифрлэдэг. N1 дэд блокыг тодорхой аргаар боловсруулж, дараа нь түүний утгыг нэмнэ

N2 дэд блокийн утгатай (нэмэлтийг модуль 2 гүйцэтгэнэ), дараа нь дэд блокууд солигдоно. Энэ хувиргалтыг тодорхой тооны тойрог хэлбэрээр гүйцэтгэдэг: алгоритмын ажиллах горимоос хамааран 16 эсвэл 32 (доор тайлбарласан). Тойрог бүрт дараахь үйлдлүүдийг гүйцэтгэдэг.

1. Түлхүүр програм. /VI дэд блокийн агуулгыг Kx товчлуурын хэсэгтэй модуль 2 32 нэмсэн.

ГОСТ 28147-89 алгоритмын шифрлэлтийн түлхүүр нь 256 битийн хэмжээстэй, Kx нь 32 битийн хэсэг, өөрөөр хэлбэл 256 битийн шифрлэлтийн түлхүүр нь 32 битийн дэд түлхүүрүүдийн нэгдэл хэлбэрээр илэрхийлэгддэг (Зураг 3.2):

Shch ATI, AG2, Yu, AG4, K5, Kb, K7.

Шифрлэлтийн явцад эдгээр дэд түлхүүрүүдийн аль нэг нь алгоритмын дугуй тоо болон үйлдлийн горимоос хамааран ашиглагддаг.

Цагаан будаа. 3.1. Алгоритм диаграмм ГОСТ 28147-

Цагаан будаа. 3.2. ГОСТ 28147-89 алгоритмын шифрлэлтийн түлхүүр

2. Хүснэгт солих. Товчлуурын дараа /VI дэд блок нь 4 битийн 8 хэсэгт хуваагддаг бөгөөд тус бүрийн утгыг дэд блокийн энэ хэсгийн орлуулах хүснэгтийн дагуу тус тусад нь солино. Хүснэгтийн орлуулалт (Орлуулах хайрцаг, S-хайрцаг) нь орчин үеийн шифрлэлтийн алгоритмд ихэвчлэн ашиглагддаг тул тэдгээрийг илүү нарийвчлан авч үзэх нь зүйтэй юм.

Хүснэгтийн орлуулалтыг ийм байдлаар ашигладаг: тодорхой хэмжээтэй өгөгдлийн блок (энэ тохиолдолд 4 бит) оролтод нийлүүлэгддэг бөгөөд тоон дүрслэл нь гаралтын утгын тоог тодорхойлдог. Жишээлбэл, бидэнд дараах хэлбэрийн S-хайрцаг байна:

4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1.

4 битийн блок “0100” оролтод ирээрэй, өөрөөр хэлбэл утга 4. Хүснэгтийн дагуу гаралтын утга 15-тай тэнцүү байх болно, өөрөөр хэлбэл. "1111" (0-ийг 4, 1-ийг 11-ээр сольсон, 2-ын утга өөрчлөгдөхгүй гэх мэт).

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

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

3. Битийн дагуу зүүн тийш 11 битээр мөчлөгт шилжих.

Алгоритм үйлдлийн горимууд

ГОСТ 28147-89 алгоритм нь 4 үйлдлийн горимтой.

□ энгийн солих горим;

□ гамма горим;

P гамма горимтой санал хүсэлт;

□ дуураймал хавсралтыг хөгжүүлэх арга.

Эдгээр горимууд нь нийтээр хүлээн зөвшөөрөгдсөн горимуудаас арай өөр байдаг (1.4-р хэсэгт тайлбарласан) тул тэдгээрийг илүү нарийвчлан авч үзэх нь зүйтэй юм.

Эдгээр горимууд нь өөр өөр зорилготой боловч дээр дурдсан ижил шифрлэлтийн хувиргалтыг ашигладаг.

Хялбар солих горим

Энгийн солих горимд 64 битийн мэдээллийн блок бүр дээр дурдсан 32 тойргийг ашиглан шифрлэгддэг. 32 битийн дэд түлхүүрүүдийг дараах дарааллаар ашигладаг.

□ KO, Kl, K2, KZ, K4, K5, KB, AG7, KO, ATI гэх мэт - 1-ээс 24 хүртэлх тойрогт;

□ K1, Kb, K5, K4, KZ, K2, K\, KO - 25-аас 32 хүртэлх тойрогт.

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

□ KO, K\, K2, KZ, K4, K5, Kb, KP - 1-8-р тойрогт;

□ KP, Kb, K5, K4, KZ, K2, K\, KO, K1, Kb гэх мэт - 9-ээс 32 хүртэлх тойрогт.

Стандарт ECB горимтой адил блокуудыг тусад нь шифрлэдэг тул өгөгдлийг өөрөө шифрлэхэд энгийн солих горимыг хатуу зөвлөдөггүй; Энэ нь зөвхөн олон түлхүүрийн схем дэх бусад шифрлэлтийн түлхүүрүүдийг шифрлэхэд ашиглагдах ёстой.

Гамма горим

Гамма горимд (Зураг 3.3) энгийн текстийн блок бүрийг 64 битийн шифрийн гамма блок руу 2-р бит модулаар нэмдэг. Гамма шифр нь дээр дурдсан хувиргалтыг ашиглан үүсгэсэн тусгай дараалал юм.

1. Тэдний анхны дүүргэлтийг N1 ба N2 регистрүүд дээр бичдэг - "синхрончлолын мессеж" гэж нэрлэгддэг 64 битийн утга (синхрончлолын мессеж нь CBC, CFB, OFB горимууд дахь эхлүүлэх векторын бараг аналог юм).

2. /VI ба N2 регистрүүдийн агуулгыг (энэ тохиолдолд синхрончлолын мессежүүд) энгийн солих горимд шифрлэсэн болно.

3. N1-ийн агуулгыг CI = 2 24 + 2 16 + 2 8 + 4 тогтмолтой модуль (2 32 – 1) нэмсэн бөгөөд нэмэлтийн үр дүнг /VI регистрт бичнэ.

4. N2-ийн агуулгыг C2 = 2 24 + 2 16 + 2 8 +1 тогтмолтой модуль 2 нэмсэн бөгөөд нэмэлтийн үр дүнг N2 бүртгэлд бичнэ.

5. /VI ба N2 регистрүүдийн агуулгыг 64 битийн шифрийн гамма блок хэлбэрээр гаргадаг (өөрөөр хэлбэл, энэ тохиолдолд /VI ба N2 нь эхний гамма блокийг бүрдүүлдэг).

6. Хэрэв дараагийн гамма блок шаардлагатай бол (өөрөөр хэлбэл, цаашид шифрлэх эсвэл тайлах шаардлагатай) 2-р алхам руу буцна уу.

Шифрийг тайлахын тулд гамма-г үүнтэй ижил аргаар үүсгэж, дараа нь шифрлэгдсэн текст болон гамма битүүдийг дахин XORжуулна.

Ижил шифрийн мужийг үүсгэхийн тулд криптограммыг тайлж буй хэрэглэгч мэдээллийг шифрлэх үед ашигласан ижил түлхүүр, синхрончлолын мессежийн утгатай байх ёстой. Үгүй бол шифрлэгдсэн текстээс эх текстийг авах боломжгүй болно.

ГОСТ 28147-89 алгоритмын ихэнх хэрэгжилтэд синхрончлолын мессеж нь нууц элемент биш боловч синхрончлолын мессеж нь шифрлэлтийн түлхүүртэй адил нууц байж болно. Энэ тохиолдолд алгоритмын үр дүнтэй түлхүүрийн урт (256 бит) синхрончлолын мессежийн өөр 64 битээр нэмэгддэг гэж бид үзэж болох бөгөөд үүнийг нэмэлт түлхүүр элемент гэж үзэж болно.

Санал хүсэлт бүхий гамма горим

Санал хүсэлт бүхий гамма горимд өмнөх гамма блокийг шифрлэсний үр дүнд өмнөх гамма блок биш харин 2-р блокоос эхлэн /VI ба L/2 регистрийг бөглөхөд өмнөх энгийн блокыг шифрлэсний үр дүнг ашигладаг. (Зураг 3.4). Эхний блок орж байна энэ горимөмнөхтэй яг адилхан үүсгэгддэг.

Цагаан будаа. 3.4. Санал хүсэлт бүхий гамма горимд шифр гамма үүсгэж байна

Дуураймал хавсралт үйлдвэрлэх горим

Угтвар нь шифрлэлтийн түлхүүр ашиглан тооцоолсон, мессежийн бүрэн бүтэн байдлыг шалгах зориулалттай криптограф шалгах нийлбэр юм. Үүнийг тооцоолохын тулд ГОСТ 28147-89 алгоритмын тусгай горим байдаг.

Дуураймал угтварыг дараах байдлаар гүйцэтгэнэ.

1. Дуураймал угтварыг тооцоолох эхний 64 битийн мэдээллийн блокыг N1 ба N2 регистрүүдэд бичиж, 32-ын эхний 16 үеийг гүйцэтгэсэн энгийн солих горимд шифрлэв.

2. Хүлээн авсан үр дүнг модуль 2-ыг дараагийн мэдээллийн блокоор нэгтгэж, үр дүнг N1 ба N2-т хадгална.

3. М болон N2 товчилсон энгийн солих горимд дахин шифрлэгдсэн байна гэх мэт мэдээллийн сүүлийн блок хүртэл.

Дуураймал угтвар нь N1 ба N2 регистрүүдийн 64 битийн агуулга эсвэл тэдгээрийн нэг хэсэг гэж тооцогддог. Ихэнхдээ 32 битийн дуураймал угтварыг ашигладаг, өөрөөр хэлбэл регистрүүдийн агуулгын тал хувь нь байдаг. Энэ нь хангалттай, учир нь аливаа хяналтын нийлбэрийн нэгэн адил дуураймал хавсралт нь юуны түрүүнд мэдээллийг санамсаргүй гажуудуулахаас хамгаалах зорилготой юм. Өгөгдлийг зориудаар өөрчлөхөөс хамгаалахын тулд бусад криптографийн аргуудыг ашигладаг - үндсэндээ цахим цахим гарын үсэг(1.1 хэсгийг үзнэ үү).

Дуураймал угтварыг дараах байдлаар ашигладаг.

1. Аливаа мэдээллийг шифрлэхдээ энгийн текстийн дуураймал угтварыг тооцоолж, шифрлэгдсэн текстийн хамт илгээдэг.

2. Шифрийг тайлсны дараа дуураймал угтварыг дахин тооцоолж, илгээсэнтэй харьцуулна.

3. Тооцоолсон болон илгээсэн дуураймал угтварууд таарахгүй бол шифрийн текстийг дамжуулах явцад гажуудсан эсвэл шифрийг тайлах явцад буруу түлхүүр ашигласан.

Дуураймал угтвар нь олон түлхүүрийн схемийг ашиглах үед түлхүүр мэдээллийн зөв шифрийг шалгахад онцгой ач холбогдолтой юм.

Дуураймал угтвар нь CBC горимд тооцоолсон MAC мессежийн баталгаажуулалтын кодын зарим аналог юм; Үүний ялгаа нь дуураймал угтварыг тооцоолохдоо синхрончлолын мессежийг ашигладаггүй, харин MAC-ийг тооцоолохдоо эхлүүлэх векторыг ашигладаг.

Алгоритмын криптографийн хүч

1994 онд ГОСТ 28147-89 алгоритмын тайлбарыг англи хэл рүү орчуулж хэвлүүлсэн; үүний дараа гадаадын мэргэжилтнүүдийн хийсэн шинжилгээний үр дүн гарч эхэлсэн; Гэсэн хэдий ч нэлээн хугацаанд хэрэгжих боломжид ойртож буй дайралт олдсонгүй.

□ том түлхүүрийн урт - 256 бит; нууц синхрончлолын мессежийн хамт үр дүнтэй түлхүүрийн урт 320 бит хүртэл нэмэгддэг;

□ 32 ээлжийн өөрчлөлт; 8 тойргийн дараа оролтын өгөгдлийн тархалтын бүрэн үр дүнд хүрнэ: энгийн текстийн блокийн нэг битийг өөрчлөх нь шифрлэгдсэн текстийн блокийн бүх битэд нөлөөлөх ба эсрэгээр, өөрөөр хэлбэл олон хүч чадлын зөрүү байна.

ГОСТ 28147-89 алгоритмын криптоанализийн үр дүнг авч үзье.

Орлуулах хүснэгтүүдийн шинжилгээ

Стандартад орлуулах хүснэгтийг заагаагүй тул "эрх бүхий байгууллага" нь "сайн" ба "муу" солих хүснэгтийг хоёуланг нь гаргаж болно гэж олон ажил (жишээлбэл, дотор) харуулж байна. Гэсэн хэдий ч алдартай шинжээч Брюс Шнайер ийм таамаглалыг "цуу яриа" гэж нэрлэдэг. Алгоритмын криптографийн хүч нь ашигласан орлуулах хүснэгтүүдийн шинж чанараас ихээхэн хамаардаг нь тодорхой бөгөөд үүний дагуу сул орлуулах хүснэгтүүд байдаг (дээрх жишээг үз), тэдгээрийн хэрэглээ нь алгоритмын халдлагыг хялбаршуулж чаддаг. Гэсэн хэдий ч өөр өөр орлуулах хүснэгтүүдийг ашиглах боломж нь маш зохистой санаа мэт санагдаж байгаа бөгөөд үүний тулд DES шифрлэлтийн стандартын түүхээс дараах хоёр баримтыг дурдаж болно (дэлгэрэнгүй мэдээллийг 3.15-р хэсгээс үзнэ үү).

□ DES алгоритмын шугаман болон дифференциал криптоанализыг ашиглан довтолгоонууд нь хүснэгтүүдийг орлуулах онцлог шинжүүдийг ашигладаг; бусад хүснэгтүүдийг ашиглах үед криптоанализ дахин эхлэх шаардлагатай болно;

□ илүү бат бөх орлуулах хүснэгтүүдийг ашиглан шугаман болон дифференциал крипто анализын эсрэг DES-ийг бэхжүүлэх оролдлого хийсэн; Ийм хүснэгтүүдийг илүү бат бөх, жишээлбэл, s 5 DES алгоритмд санал болгосон; Гэвч харамсалтай нь DES-ийг s 5 DES-ээр солих боломжгүй байсан, учир нь солих хүснэгтүүд нь стандартад хатуу тодорхойлогдсон тул алгоритмын хэрэгжилт нь хүснэгтийг бусдад өөрчлөх боломжийг дэмждэггүй байх магадлалтай.

ГОСТ 28147-89 алгоритмын нууц солих хүснэгтүүд нь түлхүүрийн нэг хэсэг болж, үр дүнтэй уртыг нэмэгдүүлэх боломжтой (энэ нь чухал биш, учир нь алгоритм нь маш том 256 хэмжээтэй байдаг) хэд хэдэн ажил (жишээлбэл, , ба ) алдаатай дүгнэлтэд хүрсэн. -бит түлхүүр). Гэсэн хэдий ч ажил нь нууц орлуулах хүснэгтүүдийг практикт ашиглаж болох дараах халдлагыг ашиглан тооцоолж болохыг баталж байна.

1. Тэг товчлуурыг тавьж, “тэг вектор”-ын хайлт хийгдэнэ, өөрөөр хэлбэл утга z = /(0), /() нь алгоритмын дугуй функц юм. Энэ үе шат нь ойролцоогоор 2 шифрлэлтийн үйлдлийг гүйцэтгэдэг.

2. Тэг векторыг ашиглан орлуулах хүснэгтүүдийн утгыг тооцдог бөгөөд энэ нь 211-ээс илүүгүй үйлдлийг шаарддаг.

Алгоритмын өөрчлөлт ба тэдгээрийн дүн шинжилгээ

Уг ажил нь ГОСТ 28147-89 алгоритмын өөрчлөлтийн криптологийн шинжилгээг хийсэн.

□ ГОСТ-Н алгоритм нь анхны алгоритмтай харьцуулахад дэд түлхүүрүүдийг ашиглах дарааллыг өөрчилсөн, тухайлбал 25-аас 32 хүртэлх дэд түлхүүрүүдийг шууд дарааллаар нь ашигладаг, өөрөөр хэлбэл алгоритмын өмнөх үе шатуудтай яг адилхан;

□ 20 дугуйтай GOST® алгоритм бөгөөд дугуй нь түлхүүрийг давхарлахын тулд модуль-2 нэмэхийн оронд XOR-г ашигладаг.

Шинжилгээний үр дүнд үндэслэн ГОСТ-Н ба ГОСТ© нь анхны ГОСТ 28147-89 алгоритмаас сул байна гэж дүгнэсэн, учир нь хоёулаа сул товчлуурын ангилалтай байдаг. ГОСТ© криптоанализийн хувьд уг бүтээл нь 2000 онд хэвлэгдсэн алдартай бүтээл болох ГОСТ 28147-89 алгоритмын крипт анализад зориулсан хэсгийг үг үсгээр давтаж байгааг тэмдэглэх нь зүйтэй (эх хувь нь ямар ч лавлагаагүйгээр). Энэ нь бүтээлийн зохиогчдын мэргэжлийн ур чадвар болон түүний бусад үр дүнд эргэлзээ төрүүлж байна.

Ажлын явцад алгоритмын маш сонирхолтой өөрчлөлтийг санал болгосон: S\…Ss хүснэгтүүд нь өөр байх ёстой; алгоритмын тойрог бүрт тэдгээрийг тодорхой хуулийн дагуу дахин зохион байгуулах ёстой. Энэ солих нь шифрлэлтийн түлхүүрээс хамааралтай байж болно, эсвэл нууц байж болно (жишээ нь, анхны 256 битийн түлхүүрээс том шифрлэлтийн түлхүүрийн нэг хэсэг байх). Эдгээр хоёр сонголт нь тэдний зохиогчдын үзэж байгаагаар шугаман болон дифференциал криптоанализийн эсрэг алгоритмын эсэргүүцлийг ихээхэн нэмэгдүүлдэг.

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

Бүрэн дугуй алгоритмын шинжилгээ

Мөн ямар ч өөрчлөлтгүйгээр бүрэн хэмжээний ГОСТ 28147-89-д халдлага гарч байна. Анхны нэг нээлттэй ажил, алгоритмын дүн шинжилгээ хийсэн алдартай ажил нь хэд хэдэн алдартай шифрлэлтийн алгоритмуудын гол өргөтгөлийн процедурын сул талыг ашигладаг халдлагад зориулагдсан болно. Ялангуяа, ГОСТ 28147-89-ийн бүрэн хэмжээний алгоритмыг холбогдох түлхүүрүүд дээр дифференциал криптоанализ ашиглан эвдэж болно, гэхдээ зөвхөн сул орлуулах хүснэгтүүдийг ашигласан тохиолдолд л. Алгоритмын 24 тойргийн хувилбар (эхний 8 тойрог дутуу байгаа) нь орлуулах хүснэгтүүдтэй ижил төстэй байдлаар нээгддэг боловч хүчирхэг орлуулах хүснэгтүүд (жишээлбэл, өгөгдсөн) ийм халдлагыг бүрэн боломжгүй болгодог.

2001 онд дотоодын эрдэмтэд А.Г.Ростовцев, Е.Б.Маховенко нар өөрсдийн ажилдаа ийм санал дэвшүүлсэн. шинэ аргаМэдэгдэж буй энгийн текст, харгалзах шифр текст болон хүссэн түлхүүрийн утгаас зорилгын функцийг бүрдүүлж, түлхүүрийн жинхэнэ утгад тохирох экстремумыг олох замаар крипт анализ (зохиогчдын үзэж байгаагаар шугаман болон дифференциал криптовализаас хамаагүй үр дүнтэй) юм. Тэд мөн ГОСТ 28147-89 алгоритмын сул түлхүүрүүдийн том ангиллыг олсон бөгөөд энэ нь зөвхөн сонгогдсон 4 энгийн текст болон харьцангуй бага төвөгтэй код бүхий харгалзах шифрийг ашиглан алгоритмыг нээх боломжтой болгодог. Ажлын явцад алгоритмын крипт анализыг үргэлжлүүлж байна.

2004 онд БНСУ-ын хэсэг мэргэжилтнүүд холбогдох түлхүүрүүд дээр дифференциал криптоанализ ашиглан 91.7% магадлалтай нууц түлхүүрийн 12 битийг олж авах халдлага хийхийг санал болгов. Халдлагад 2 35 сонгогдсон энгийн текст болон 2 36 шифрлэлтийн үйлдлүүд шаардлагатай. Таны харж байгаагаар энэ халдлага нь алгоритмыг эвдэхийн тулд бараг хэрэггүй юм.

). Үүний зэрэгцээ Оросын хэвлэл мэдээллийн хэрэгсэл, Оросын хэрэглэгчдийн блогт энэ алгоритмын талаархи тэмдэглэлийн тоо нэмэгдэж байна: Оросын стандартад хийсэн халдлагын үр дүнг янз бүрийн найдвартай байдлын түвшингээр хамарч, түүний үйл ажиллагааны шинж чанарын талаархи санал бодлыг багтаасан болно. Эдгээр тэмдэглэлийн зохиогчид (мөн үүний улмаас уншигчид) дотоодын шифрлэлтийн алгоритм нь хуучирсан, удаан, эмзэг талуудтай байдаг нь ижил төстэй түлхүүрийн урттай гадаадын шифрлэлтийн алгоритмуудаас илүү халдлагад өртөмтгий болгодог гэсэн сэтгэгдэл төрүүлдэг. Энэ цуврал тэмдэглэлээр бид хүсч байна хүртээмжтэй хэлбэрОросын стандартын өнөөгийн байдлын талаар ярих. Эхний хэсэгт олон улсын криптографийн нийгэмлэгт мэдэгдэж байгаа ГОСТ 28147-89-ийн бүх халдлагууд болон түүний хүч чадлын өнөөгийн үнэлгээг багтаасан болно. Цаашдын хэвлэлд бид стандартын шинж чанарыг үр дүнтэй хэрэгжүүлэх чадварын үүднээс нарийвчлан авч үзэх болно.

Николас Куртуа - "агуу, аймшигтай"

Оросын блок шифрлэлтийн стандартад зориулсан бүхэл бүтэн цуврал бүтээлийн зохиогч Николас Куртуагийн үйл ажиллагааны тухай түүхээс эхэлцгээе ().

2010 оны 10-р сард ГОСТ 28147-89 алгоритмыг олон улсын ISO/IEC 18033-3 стандартад оруулах асуудлыг авч үзэх ажил эхэлсэн. 2011 оны 5-р сард алдартай криптографч Николас Куртуагийн нийтлэл ePrint цахим архивт гарч ирсэн нь дэлхийн криптографийн нийгэмлэгээс түүнд маш тодорхой бус хандсанаар тэмдэглэгдсэн байв. Куртуагийн нийтлэлүүд нь тухайн объектын ямар ч шинэ шинж чанарыг илчлэхгүй, харин мэдрэмжгүй орчинд түүний бодит шинж чанарын талаархи алдаатай санал бодлыг өдөөж буй ухагдахууныг заль мэхний гунигтай жишээ юм.

Алгебрийн арга

Куртуагийн үндэслэл нь алгебрийн арга ба дифференциал гэсэн хоёр ангиллын криптоанализийн аргуудыг тойрон бүтээгдсэн. Эхний ангиллын аргуудыг авч үзье.

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

Куртуагийн ашигласан алгебрийн аргыг дараах байдлаар товч тайлбарлаж болно. Эхний шатанд ГОСТ 28147-89-ийн ийм шинж чанаруудыг шифрлэлтийн хувиргалтын хэсэг, мөн тусгалын цэг гэж нэрлэгддэг тогтмол цэг байдаг гэж ашигладаг. Эдгээр шинж чанаруудын ачаар хангалттай олон тооны энгийн текст-шифр текстийн хосуудаас хэд хэдэн хосыг сонгосон бөгөөд энэ нь хувиргалтыг 32 биш, харин зөвхөн 8 тойрогт авч үзэх боломжтой болгодог. Хоёрдахь шат нь эхний шатанд олж авсан 8 дугуй хувиргалтын үр дүнд үндэслэн гол битүүд нь үл мэдэгдэх шугаман бус тэгшитгэлийн системийг байгуулдаг. Дараа нь энэ системийг шийдсэн (энэ нь энгийн сонсогдож байгаа ч бодит байдал дээр систем нь шугаман бус тэгшитгэлээс бүрддэг тул аргын хамгийн их цаг хугацаа шаардсан хэсэг юм).

Дээр дурдсанчлан, ажлын аль ч хэсэгт түлхүүрийг тодорхойлох хоёр дахь болон үндсэн үе шатны нарийн төвөгтэй байдлын талаархи дэлгэрэнгүй тайлбар, дүн шинжилгээ байхгүй байна. Энэ нь бүхэл бүтэн аргын нарийн төвөгтэй байдлыг тодорхойлдог хоёр дахь шатны нарийн төвөгтэй байдал юм. Үүний оронд зохиогч хөдөлмөрийн эрчмийг тооцоолсон зартай "баримтуудыг" өгдөг. Эдгээр "баримтуудыг" туршилтын үр дүнд үндэслэсэн гэж үздэг. Куртуагийн бүтээлээс "баримт" -ын дүн шинжилгээг дотоодын зохиолчдын бүтээлд нийтэлсэн болно. Туршилтын явцад ямар ч нотлох баримтгүйгээр танилцуулсан Куртуагийн олон "баримт" худал болох нь тогтоогдсон гэж энэ ажлын зохиогчид тэмдэглэжээ. Өгүүллийн зохиогчид цаашаа явж, Куртуаг дагаж, үндэслэлтэй алгоритм, тооцоолол ашиглан хоёр дахь шатны нарийн төвөгтэй байдалд дүн шинжилгээ хийжээ. Үүссэн нарийн төвөгтэй байдлын тооцоо нь танилцуулсан халдлагыг бүрэн ашиглах боломжгүй болохыг харуулж байна. Дотоодын зохиолчдоос гадна Куртуа түүний арга барилыг үнэлэх, зөвтгөхтэй холбоотой томоохон бэрхшээлүүдийг, жишээлбэл, уг бүтээлд тэмдэглэжээ.

Дифференциал арга

Дифференциал криптоанализ дээр үндэслэсэн Куртуагийн хоёр дахь аргыг авч үзье.

Дифференциал криптологийн ерөнхий арга нь криптограф командуудад хэрэглэгддэг шугаман бус зураглалын шинж чанарыг ашиглахад суурилдаг бөгөөд эдгээр зураглалын хос оролт ба гаралтын утгуудын хоорондын хамааралд түлхүүр утгын нөлөө үзүүлэхтэй холбоотой юм. . Блок шифрийг криптографийн шинжилгээний дифференциал аргын гол санааг тайлбарлая. Ерөнхийдөө блок шифр нь оролтын өгөгдлийг хэд хэдэн дугуй гэж нэрлэгддэг хувиргалтыг ашиглан үе шаттайгаар хувиргадаг бөгөөд дугуй хувиргалт бүр түлхүүрийг бүхэлд нь ашигладаггүй, харин зөвхөн зарим хэсгийг нь ашигладаг. Сүүлчийн тойроггүй гэдгээрээ анхныхаас ялгаатай бага зэрэг "тасалсан" шифрийг авч үзье. Ийм "таслагдсан" шифрийг ашиглан зарим тогтмол байрлалд ялгаатай хоёр энгийн бичвэрийг шифрлэх нь зарим тогтмол байрлалд өөр өөр шифрлэгдсэн текстийг үүсгэх магадлал өндөр байгааг тогтоох боломжтой гэж үзье. Энэ шинж чанар нь "тасалсан" шифр нь зарим энгийн текст болон тэдгээрийн шифрлэлтийн үр дүнгийн хооронд хамаарлыг үлдээдэг болохыг харуулж байна. Энэхүү илэрхий дутагдлыг ашиглан түлхүүрийн хэсгийг сэргээхийн тулд бидний сэргээхийг хүсч буй түлхүүр дээр урьдчилан сонгосон энгийн текстийг шифрлэх чадвартай байх шаардлагатай ("сонгосон энгийн текстийн халдлага" гэж нэрлэдэг). "Түлхүүрийг нээх" процедурын эхэнд санамсаргүй байдлаар хэд хэдэн хос энгийн бичвэрүүд үүсдэг бөгөөд тэдгээр нь ижил тогтмол байрлалаар ялгаатай байдаг. Бүх бичвэрүүд нь "бүрэн" шифрийг ашиглан шифрлэгдсэн байдаг. Үүссэн шифр текстийн хосууд нь дараах байдлаар сүүлийн ээлжийн хувиргалтанд ашигласан түлхүүр битүүдийг сэргээхэд ашиглагдана. Хүссэн түлхүүр битүүдийн санамсаргүй байдлаар сонгогдсон утгыг ашиглан бүх шифрлэгдсэн текстэнд сүүлчийн ээлжийн хувиргалтаас урвуу хувиргалтыг хэрэглэнэ. Үнэн хэрэгтээ, хэрэв бид түлхүүр битүүдийн хүссэн утгыг таасан бол бид "тайрсан" шифрийн үр дүнг авах бөгөөд хэрэв тааварлаагүй бол "өгөгдлөө бүр ч илүү шифрлэх" бөгөөд энэ нь зөвхөн өгөгдлийг багасгах болно. дээр дурдсан блокуудын хоорондын хамаарал (ялгаа нь зарим тогтмол байрлалд байдаг). Өөрөөр хэлбэл, ийм "нэмэлт боловсруулалтын" шифр текстийн үр дүнгийн дунд бидэнд мэдэгдэж буй тогтмол байрлалаар ялгаатай маш олон хосууд байсан бол энэ нь шаардлагатай түлхүүр битүүдийг таасан гэсэн үг юм. Үгүй бол ийм хосууд мэдэгдэхүйц цөөрөх болно. Тойрог бүрт түлхүүрийн зөвхөн нэг хэсгийг ашигладаг тул хайсан битүүд (өөрөөр хэлбэл, сүүлийн шатанд ашигласан гол битүүд) битүүдтэй адил олон байдаггүй. бүрэн түлхүүрээрмөн та дээрх алхмуудыг давтах замаар тэдгээрийг ангилж болно. Энэ тохиолдолд бид хэзээ нэгэн цагт зөв утгыг олох нь гарцаагүй.

Дээрх тайлбараас харахад дифференциал шинжилгээний аргын хамгийн чухал зүйл бол энгийн текст болон шифрлэгдсэн текст дэх эдгээр байрлалуудын тоо бөгөөд тэдгээрийн ялгаа нь гол битүүдийг сэргээхэд гол үүрэг гүйцэтгэдэг. Эдгээр байрлалуудын үндсэн оршихуй, түүнчлэн тэдгээрийн тоонуудын багц нь аливаа блок шифрэнд ашиглагддаг шугаман бус хувиргалтын шинж чанараас шууд хамаардаг (ихэвчлэн бүх "шугаман бус байдал" нь S хайрцагт төвлөрдөг. солих зангилаа).

Куртуа дифференциал аргын бага зэрэг өөрчлөгдсөн хувилбарыг ашигладаг. Куртуа одоогийн болон ISO-д санал болгож буй зүйлсээс ялгаатай S-хайрцагуудад дүн шинжилгээ хийж байгааг нэн даруй тэмдэглэе. Энэхүү ажил нь цөөн тооны тойргийн хувьд ялгаатай шинж чанаруудыг (блокууд өөр байх ёстой тоо) өгдөг. Шинж чанаруудыг илүү олон тойрогт сунгах үндэслэл нь ердийнх шиг "баримт" дээр тулгуурладаг. Куртуа өөрийн эрх мэдлээс өөр зүйлгүйгээр S-хайрцгийг өөрчлөх нь түүний дайралтаас ГОСТ 28147-89-ийн эсэргүүцэлд нөлөөлөхгүй гэсэн үндэслэлгүй таамаглалыг дахин илэрхийлж байна (үл мэдэгдэх шалтгаанаар 1-р ажлын төслийн S-хайрцагууд). ISO/IEC 18033-3 стандартын нэмэлтийг авч үзээгүй). Өгүүллийн зохиогчдын хийсэн дүн шинжилгээ нь бид Куртуагийн итгэл үнэмшлийн үндэслэлгүй "баримтуудыг" авч, ГОСТ 28147-89-ийг бусад S-блокуудтай хамт шинжилсэн ч гэсэн дайралт нь бүрэн эрэл хайгуулаас илүү дээр биш болохыг харуулж байна.

Оросын стандартын эсэргүүцлийг бууруулсан тухай бүх мэдэгдлүүд үндэслэлгүй болохыг нарийвчилсан нотолгоо бүхий Куртуагийн бүтээлүүдэд нарийвчилсан дүн шинжилгээ хийж, бүтээлүүдэд [,] хийсэн.

Үүний зэрэгцээ, Куртуа хүртэл тооцоололд туйлын нарийвчлалгүй байгааг хүлээн зөвшөөрч байна! Дараах слайдыг Куртуагийн FSE 2012 богино мэдэгдлийн хэсэгт хийсэн илтгэлээс авав.

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

  • "Asiacrypt-ын үзэгчдэд сонирхолтой санагдахгүй байх гэж би бодож байна." Asiacrypt 2011 тоймч.
  • "... том, том, том асуудал байна: энэ нийтлэлийн гол хувь нэмэр болох энэ халдлага FSE'11 дээр аль хэдийн хэвлэгдсэн (энэ нь бүр хамгийн шилдэг нийтлэл байсан) ...". Crypto 2011-ийн тоймч.

Тиймээс олон улсын криптографийн нийгэмлэгийн мэргэжлийн хэсэг нь Куртуагийн ажлын чанарыг Оросын зарим мэргэжилтнүүдийн AES-ийг 2100-аар задлах чадвартай гэсэн мэдэгдлээс дутуугүй эргэлзэж байгаа бөгөөд энэ нь ямар ч тууштай тооцооллоор нотлогдоогүй юм. P ба NP ангиллын нарийн төвөгтэй байдлын тэгш бус байдлын талаархи хоёр хуудас таамаглалын хамгийн сүүлийн үеийн "нотолгоо".

Исобе, Динур-Данкелман-Шамир нарын дайралт

Isobe () ба Динур-Данкелман-Шамирын довтолгооны (цаашид: DDS халдлага) () ерөнхий санаа нь тодорхой (түлхүүрээс хамааралтай) нарийхан багц бичвэрүүдэд энэ багц дээр ижил төстэй өөрчлөлтийг бий болгох явдал юм. бүтэц нь шифрлэлтийн хувиргалтыг бодвол энгийн . Isobe аргын хувьд энэ нь F 8 -1 (Swap(F 8 (z))) = z, энд z = F 16 (x), F 8 () гэсэн 64 битийн x блокуудын багц юм. x) ба F 16 (x) нь ГОСТ 28147-89 шифрлэлтийн эхний 8 ба эхний 16 шатыг тус тусад нь Swap - 64 байт үгийн хагасыг солих үйлдлийг заана. Хэрэв энэ багцад энгийн текст орсон бол ГОСТ 28147-89-ийн 32 удаагийн хувиргалт 16 удаагийнхтай давхцаж байгаа бөгөөд энэ нь халдлагын зохиогчийн ашигладаг. DDS аргын хувьд энэ нь F 8 (x) = x (хувиргах F 8 тогтмол цэг) байх x-ийн олонлог юм. Энэ багцаас ямар ч энгийн текстийн хувьд ГОСТ 28147-89 хувиргалт нь сүүлийн 8 тойрогтой яг адилхан ажилладаг бөгөөд энэ нь дүн шинжилгээг хялбаршуулдаг.

Isobe халдлагын нарийн төвөгтэй байдал нь 2,224 шифрлэлтийн ажиллагаа, DDS халдлага нь 2,192 юм. Гэсэн хэдий ч, Isobe болон DDS халдлага нь бидний алгоритмыг ашиглах нөхцөлд шинэ хязгаарлалт оруулж байгаа эсэх талаарх бүх асуултыг халдлага тус бүрийг гүйцэтгэхэд шаардагдах материалын эзлэхүүнд тавигдах шаардлагыг үнэлэх замаар арилгадаг: Isobe арга нь 2 32 хос энгийн текст шаарддаг. болон шифр текст, мөн DDS аргын хувьд - 2 64. Түлхүүрийг өөрчлөхгүйгээр ийм хэмжээний материалыг боловсруулах нь 64 блокийн урттай аливаа блок шифрийн хувьд хүлээн зөвшөөрөгдөхгүй: 2-р боть материал дээр 32 , төрсөн өдрийн асуудлыг (жишээлбэл, үзнэ үү), үүсэх магадлалыг харгалзан үзнэ. Давтагдсан блокуудын тоо 1/2-той ойролцоо байгаа нь халдагчид түлхүүрийг тодорхойлохгүйгээр шифрлэгдсэн текстээс тодорхой дүгнэлт гаргах боломжийг олгоно. Нэг түлхүүр дээр олж авсан 2 64 хос энгийн болон шифрлэгдсэн текст байгаа нь дайсанд энэ түлхүүрийг огт мэдэлгүйгээр шифрлэх, тайлах үйлдлүүдийг хийх боломжийг олгодог. Энэ нь цэвэр комбинатор шинж чанартай холбоотой юм: энэ тохиолдолд дайсан нь шифрлэлтийн хөрвүүлэх хүснэгтийг бүхэлд нь агуулдаг. Үйл ажиллагааны ямар ч боломжийн нөхцөлд энэ нөхцөл байдлыг хүлээн зөвшөөрөх боломжгүй юм. Жишээлбэл, in CryptoPro CSPШифрлэгдсэн материалын эзлэхүүн (түлхүүрийг хөрвүүлэхгүйгээр) 4 МБ (харна уу) техникийн хязгаарлалттай. Иймээс ийм хэмжээний материал дээр түлхүүр ашиглахыг хатуу хориглох нь 64 битийн урттай блокийн шифрт байдаг тул Isobe болон DDS халдлага нь ГОСТ 28147-89 алгоритмын хэрэглээний хамрах хүрээг ямар ч байдлаар нарийсгахгүй. 2,256 байж болох хамгийн дээд хүчийг хадгалахын зэрэгцээ.

Мэдээжийн хэрэг, судлаачид (Исобе, Динур-Данкелман-Шамир) ГОСТ 28147-89 алгоритмын зарим шинж чанарууд нь алгоритмыг бүтээгчдийн анхааралдаа аваагүй шинжилгээний замыг олох боломжтой болохыг харуулсан гэдгийг тэмдэглэх нь зүйтэй. Түлхүүр хуваарийн энгийн хэлбэр нь үр дүнтэй хэрэгжилтийг бий болгох ажлыг ихээхэн хөнгөвчлөх бөгөөд зарим ховор тохиолдлуудад түлхүүрүүд болон энгийн текстүүдийг илүү ихийг бүтээх боломжийг олгодог. энгийн тайлбаруудалгоритмаар хийгдсэн хувиргалт.

Үйлдлийн шинж чанарыг бүрэн хадгалснаар алгоритмын энэхүү сөрөг шинж чанарыг амархан арилгах боломжтойг уг ажил харуулж байгаа боловч харамсалтай нь энэ нь алгоритмын салшгүй хэсэг бөгөөд түгээмэл хэрэглэгддэг хэлбэр юм.

Динур, Данкелман, Шамир нарын ажилд дундаж хөдөлмөрийн эрчмийн тооцоонд тодорхой хайхрамжгүй хандсан болохыг анхаарна уу. Тиймээс, халдлага хийхдээ дараах зүйлд анхаарал хандуулдаггүй: түлхүүрүүдийн нэлээд хэсэг нь F 8 (x) = x гэсэн энгийн текстийн багц х хоосон байна: зүгээр л тогтмол цэг байхгүй байж болно. өөрчлөлтийн 8 үе шатанд. Тогтмол цэгүүд байгаа эсэх нь солих зангилааны сонголтоос хамаарна. Тиймээс халдлага нь зөвхөн тодорхой солих зангилаа болон түлхүүрүүдэд хамаарна.

ГОСТ 28147-89-д халдлага хийсэн өөр нэг ажлыг дурдах нь зүйтэй. 2012 оны 2-р сард олон улсын криптографийн холбооны ePrint цахим архив гарч ирэв. шинэчилсэн хувилбарГОСТ 28147-89-ийн шинэ дайралт агуулсан нийтлэл (2011 оны 11-р сарын өдөр). Үзүүлсэн халдлагын шинж чанарууд нь дараах байдалтай байна: материалын эзэлхүүн нь 2 32 (Изобе гэх мэт), хөдөлмөрийн эрч хүч нь 2 192 (DDS гэх мэт). Ийнхүү энэ халдлага нь материалын эзэлхүүний хувьд цаг хугацааны рекорд DDS халдлагыг 2 64-ээс 2 32 болгон сайжруулсан. Зохиогчид материалын нарийн төвөгтэй байдал, эзэлхүүний үндэслэл бүхий бүх тооцоог үнэн зөвөөр танилцуулсан гэдгийг бид тусад нь тэмдэглэж байна. 9 сарын дараа дээрх тооцоололд үндсэн алдаа илэрсэн бөгөөд 2012 оны 11-р сараас хойш цахим архивт байгаа нийтлэлийн шинэчилсэн хувилбар нь дотоодын алгоритмтай холбоотой ямар ч үр дүнг агуулаагүй болно.

Халдагчид түлхүүрүүдийн талаар "ямар нэг зүйл" мэддэг гэж үзсэн халдлага

Эцэст нь хэлэхэд, уран зохиолд ГОСТ 28147-89-ийн довтолгоонд зориулагдсан олон тооны бүтээлүүд (жишээ нь, мөн ) байдаг гэдгийг бид тэмдэглэж байна. Энэ загварЭнэ нь халдагчид зөвхөн хүссэн түлхүүрийг ашиглан шифрлэгдсэн болон энгийн текстийн хосуудад дүн шинжилгээ хийх эрх олж авах боломжтой гэсэн таамаглалыг үндсэндээ агуулж байдаг бөгөөд мөн мэдэгдэж буй энгийн түлхүүрүүдийн хайсан түлхүүрээс ялгаатай (мөн үл мэдэгдэх) түлхүүрүүдийг ашиглан олж авсан энгийн болон шифрлэгдсэн хос хос текстэд хандах боломжтой. арга зам (жишээлбэл, тогтмол битийн байрлал дээр). Энэ загварт ГОСТ 28147-89-ийн талаар сонирхолтой үр дүнг авах боломжтой боловч энэ загварт жишээлбэл орчин үеийн сүлжээнд хамгийн өргөн хэрэглэгддэг талаар илүү хүчтэй үр дүнг авч чадахгүй. нийтлэг хэрэглээ AES стандарт (жишээлбэл, үзнэ үү). Энэ төрлийн халдлагыг хийх нөхцөл нь тодорхой протоколд шифр ашиглах үед үүсдэг гэдгийг анхаарна уу. Энэ төрлийн үр дүн нь криптографийн хувиргалтын шинж чанарыг судлах үүднээс эрдэм шинжилгээний сонирхолд нийцэж байгаа ч үнэндээ практикт хамааралгүй гэдгийг тэмдэглэх нь зүйтэй. Жишээлбэл, ОХУ-ын ФСБ-аас баталгаажуулсан бүх криптографийн мэдээллийг хамгаалах хэрэгсэл нь шифрлэлтийн түлхүүр үүсгэх схемд тавигдах хамгийн хатуу шаардлагыг хангадаг (жишээлбэл, үзнэ үү). Шинжилгээний үр дүнд дурдсанчлан, хэрэв холбогдох 18 түлхүүр, 2 10 хос энгийн текст болон шифрлэгдсэн блок байгаа бол хувийн түлхүүрийг бүрэн нээх нарийн төвөгтэй байдал нь 1-10 -4 амжилттай байх магадлал нь үнэндээ 2 26 байна. . Гэсэн хэдий ч, хэрэв түлхүүр материалыг боловсруулахад дурдсан дээр дурдсан шаардлагыг хангасан тохиолдолд ийм түлхүүрийг олох магадлал 2 -4352, өөрөөр хэлбэл, эхний оролдлогоор нууц түлхүүрийг таах гэж оролдсоноос 24096 дахин бага байна.

Холбогдсон түлхүүрүүдтэй загвартай холбоотой бүтээлүүд нь 2010 онд Оросын цахим хэвлэлд маш их шуугиан тарьсан ажил багтсан бөгөөд энэ нь уралдах уралдаанд материалыг сайтар шалгаж үзэх зуршлаас болж зовж шаналж байгаагүй юм. Үүнд танилцуулсан үр дүн нь ямар ч хатуу үндэслэлээр дэмжигдээгүй боловч төрийн стандартыг хакердах боломжтой гэсэн чанга мэдэгдлийг агуулсан байв. Оросын Холбооны Улсхэдхэн секундын дотор сул зөөврийн компьютер дээр - ерөнхийдөө нийтлэлийг Николас Куртуагийн шилдэг уламжлалаар бичсэн. Шинжлэх ухааны нийтлэлийн үндсэн зарчмуудыг бага эсвэл бага мэддэг уншигчдад уг нийтлэл нь тодорхой үндэслэлгүй байсан ч ажил дууссаны дараа Оросын олон нийтэд итгүүлэхийн тулд Рудский нарийвчилсан дүн шинжилгээ хийсэн нарийвчилсан, нарийвчилсан бичвэр бичсэн байна. энэ дутагдлын талаар. "Тэг цаг хугацаа, санах ой бүхий ГОСТ блокийн шифрийг бүрэн сэргээх түлхүүр" бүтээлийн практик ач холбогдлын талаар" гэсэн өөрөө тайлбарласан гарчигтай нийтлэлд өгөгдсөн аргын дундаж нарийн төвөгтэй байдал нь нарийн төвөгтэй байдлаас багагүй болохыг нотолсон болно. бүрэн хайлтаас.

Хуурай үлдэгдэл: практикт бат бөх чанар гэж юу вэ?

Дүгнэж хэлэхэд, бид олон улсын криптографийн нийгэмлэгт мэдэгдэж байгаа ГОСТ 28147-89-ийн хатуу тодорхойлсон, үндэслэлтэй халдлагын бүх үр дүнгийн талаархи мэдээллийг агуулсан хүснэгтийг толилуулж байна. Нарийн төвөгтэй байдлыг ГОСТ 28147-89 алгоритмын шифрлэлтийн үйлдлүүдэд өгсөн бөгөөд санах ой, материалыг алгоритмын блокуудад (64 бит = 8 байт) зааж өгсөн болохыг анхаарна уу.

Довтолгоо Хөдөлмөрийн эрч хүч Санах ой Шаардлагатай материал
Изобе 2 224 2 64 2 32
Динур-Данкелман-Шамир, ФП, 2DMitM 2 192 2 36 2 64
Динур-Данкелман-Шамир, ФП, санах ой багатай 2 204 2 19 2 64
2 224 2 36 2 32
Динур-Данкелман-Шамир, тусгал, 2DMitM 2 236 2 19 2 32
Бүрэн хайлт 2 256 1 4
Орчлон ертөнц үүссэнээс хойшхи нано секундын тоо 2 89

ГОСТ 28147-89 алгоритмын тогтвортой байдлын чиглэлээр нэлээд том хэмжээний судалгааны циклийг үл харгалзан, Энэ мөч 64 битийн урттай блокийн үйл ажиллагааны шаардлагын дагуу биелэх боломжтой нэг ч халдлага байхгүй. Шифрийн параметрүүдээс (түлхүүр битийн урт, блок битийн урт) үүссэн нэг түлхүүр дээр боловсруулж болох материалын эзлэхүүний хязгаарлалт нь одоогоор мэдэгдэж байгаа аливаа халдлагыг гүйцэтгэхэд шаардагдах хамгийн бага хэмжээнээс хамаагүй хатуу байна. Тиймээс, одоо байгаа үйл ажиллагааны шаардлагыг хангахын тулд ГОСТ 28147-89-д санал болгож буй криптоанализийн аргуудын аль нь ч бүрэн хайлтаас бага хөдөлмөрийн эрчимтэй түлхүүрийг тодорхойлох боломжийг олгодоггүй.