fbpx

Шифрлэлтийн аргууд: Нэг удаагийн шифр (One-Time Password)

Криптографийн түүхэнд онолын хувьд тайлах боломжгүй гэж батлагдсан цорын ганц шифрлэлтийн арга байдаг нь “Нэг удаагийн шифр” буюу One-Time Pad (OTP) юм. Энэхүү аргын нэр нь түүний үндсэн зарчмыг илтгэх бөгөөд шифрлэлтэд ашигласан түлхүүрийг зөвхөн ганц удаа ашиглаад устгадаг. Зөв хэрэгжүүлсэн тохиолдолд OTP нь Claude Shannon-ны тодорхойлсон “төгс нууцлал” (perfect secrecy) хэмээх ойлголтыг хангадаг. Энэ нь шифрлэгдсэн текст (ciphertext) нь халдагчид анхны мессежийн (plaintext) талаар түүний уртаас өөр ямар ч нэмэлт мэдээлэл өгдөггүй гэсэн утгатай.

Нэг удаагийн шифрийн үндсэн шаардлагууд

Төгс нууцлалыг хангахын тулд Нэг удаагийн шифр нь дараах дөрвөн хатуу дүрмийг заавал мөрдөх ёстой:

  1. Түлхүүр нь мессежтэй ижил урттай байх: Түлхүүрийн урт нь шифрлэх гэж буй мессежийн уртаас багагүй байх ёстой.
  2. Түлхүүр нь бүрэн санамсаргүй байх: Түлхүүрийн тэмдэгтүүд нь ямар ч хэв маяг, таамаглах боломжгүй, жинхэнэ санамсаргүй байдлаар үүсгэгдсэн байх ёстой.
  3. Түлхүүрийг хэзээ ч давтан ашиглахгүй байх: Нэг түлхүүрийг, тэр ч байтугай түүний хэсгийг өөр мессеж шифрлэхэд хэзээ ч дахин ашиглаж болохгүй.
  4. Түлхүүрийг бүрэн нууцлах: Түлхүүрийг зөвхөн илгээгч ба хүлээн авагч хоёр л мэдэх бөгөөд гуравдагч этгээдээс маш сайн хамгаалагдсан байх ёстой.

Эдгээр дүрмийн аль нэгийг зөрчих нь системийн аюулгүй байдлыг алдагдуулж, тайлах боломжтой болгодог.

Хэрхэн ажилладаг вэ?

Нэг удаагийн шифрийн ажиллагаа нь модуляр арифметик дээр суурилсан энгийн нэмэх, хасах үйлдэл юм. Компьютерын хувьд энэ нь ихэвчлэн XOR (exclusive OR) үйлдлээр хэрэгждэг.

Бид үсгэн мэдээлэл дээрх жишээг авч үзье. Эхлээд цагаан толгойн үсэг бүрд 0-25 хооронд тоон утга онооно. (A=0, B=1, C=2, …, Z=25).

Өгөгдөл:

  • Ил текст (Plaintext): SECRET
  • Нэг удаагийн түлхүүр (Key): FXIPUF (Дээрх 4 дүрмийг хангасан гэж үзье)

1. Шифрлэх (Encryption)

Шифрлэх үйлдэл нь ил текстийн үсэг бүрийн тоон утга дээр харгалзах түлхүүрийн үсгийн тоон утгыг нэмээд, нийлбэрийн mod 26-г авна.
Шифр текст (C) = (Ил текст (P) + Түлхүүр (K)) mod 26

Ил текст (P)S (18)E (4)C (2)R (17)E (4)T (19)
Түлхүүр (K)F (5)X (23)I (8)P (15)U (20)F (5)
(P + K)232710322424
(P + K) mod 262311062424
Шифр текст (C)XBKGYY

Ингээд SECRET гэсэн ил текст нь XBKCYY гэсэн шифр текст болон хувирна.

2. Шифр тайлах (Decryption)

Шифр тайлах үйлдэл нь шифрлэлтийн урвуу процесс юм. Шифр текстийн үсэг бүрийн тоон утгаас харгалзах түлхүүрийн үсгийн тоон утгыг хасаад, mod 26-г авна.
Ил текст (P) = (Шифр текст (C) - Түлхүүр (K)) mod 26

Шифр текст (C)X (23)B (1)K (10)G (6)Y (24)Y (24)
Түлхүүр (K)F (5)X (23)I (8)P (15)U (20)F (5)
(C – K)18-222-9419
(C – K) mod 26184217419
Ил текст (P)SECRET

Тайлбар: Модуляр арифметикт сөрөг тоо гарч ирвэл түүн дээр модуль болох 26-г нэмж эерэг болгодог. Жишээ нь, -22 mod 26 = 4; -9 mod 26 = 17.

Үр дүнд нь анхны SECRET гэсэн ил текст сэргээгдлээ.

Давуу болон Сул талууд

Давуу талСул тал
Төгс нууцлал: Онолын хувьд тайлах боломжгүй, brute-force халдлагад өртөхгүй.Түлхүүр түгээлтийн асуудал: Түлхүүрийг илгээгчээс хүлээн авагчид маш найдвартай, нууц сувгаар хүргэх шаардлагатай.
Энгийн ажиллагаа: Математик үйлдэл нь маш энгийн (нэмэх, хасах, XOR).Түлхүүрийн урт: Маш урт мессеж шифрлэхэд яг тэр хэмжээний урт, санамсаргүй түлхүүр хэрэгтэй болно.
Квантын дараах криптографи: Квантын компьютер гарч ирсэн ч энэ аргын нууцлал алдагдахгүй.Түлхүүр үүсгэлт: Жинхэнэ санамсаргүй түлхүүр үүсгэх нь техникийн хувьд амаргүй.
Нэг удаагийн хэрэглээ: Түлхүүрийг давтан ашиглах нь аюулгүй байдлыг шууд үгүй хийдэг.

Дүгнэлт

Нэг удаагийн шифр (One-Time Pad) нь онолын хувьд төгс аюулгүй байдлыг хангадаг ч практик хэрэглээний хувьд, ялангуяа түлхүүр үүсгэх, түгээх, удирдах зэрэг асуудлуудаас болж өргөн хэрэглэгддэггүй. Гэсэн хэдий ч энэ нь криптографийн “алтан стандарт” хэвээр байсаар. Дэлхийн II дайн, Хүйтэн дайны үед дипломат болон цэргийн маш нууц мэдээллийг дамжуулахад ашиглагдаж байсан түүхтэй.

Leave a Reply