Журнал LinuxFormat - перейти на главную

LXF137:DrBrown2

Материал из Linuxformat
Перейти к: навигация, поиск

Мастер-класс по крип­то­гра­фии

Крип­то­гра­фи­че­ские ути­ли­ты го­раз­до по­нятнее, ес­ли вы зна­ко­мы с тео­ри­ей. Оберните го­ло­ву мок­рым по­ло­тен­цем и ны­ряй­те…

Книга Си­мо­на Синг­ха [Simon Singh] The Code Book – ув­ле-ка­тель­ная исто­рия крип­то­гра­фии и веч­но­го про­ти­во­стояния соз­да­те­лей и взлом­щи­ков ко­да. В ней упомянуты са­мые ранние ме­то­ды шиф­ро­вания, типа шиф­ров Це­за­ря и Ви­женера, и об­су­ж­да­ет­ся ма­ши­на «Эниг­ма». Но эта книга не толь­ко об исто­рии. В по­следних гла­вах описаны асим­мет­рич­ные шиф­ры ти­па RSA и про­то­кол об­ме­на клю­ча­ми Диф­фи-Хелл­ма­на, применяе­мые в лю­бом со­вре­мен­ном ди­ст­ри­бу­ти­ве Linux. Я не бу­ду да­вать об­зор этой книги: про­сто пред­став­лю вам свое ру­ко­во­дство по крип­то­гра­фии и рас­ска­жу, как уст­ро­ен PGP Фи­ла Цим­мер­ма­на [Phil Zimmermann] для достав­ки подпи­сан­ных кон­фи­ден­ци­аль­ных элек­трон­ных пи­сем. На этой странице дано немно­го теории крип­то­гра­фии, а на сле­дую­щей мы попрак­тикуем­ся в PGP.

Сперва – пара тер­ми­нов. Шиф­ро­вание – это пре­об­ра­зо­вание от­кры­то­го тек­ста (со­об­щение, кар­тин­ка JPEG или что угод­но) в за­кры­тый текст. Де­шиф­ра­ция – на­обо­рот. Вы­чис­ли­тель­ные ал­го­рит­мы, вы­пол­няю­щие шиф­ро­вание и де­шиф­ра­цию, на­зы­ва­ют шиф­ра­ми (ал­го­рит­ма­ми шиф­ро­вания). Их ра­бо­той управ­ля­ет клю­ч (для про­грамм­ных шиф­ров ключ – боль­шое чис­ло). Раз­ные клю­чи генери­ру­ют раз­ные за­кры­тые тексты, да­же ес­ли шифр и от­кры­тый текст те же. За­щи­та шиф­ро­ван­но­го со­об­щения обеспечена сек­рет­ностью не ал­го­рит­ма, а клю­ча шиф­ро­вания.

Раз­мер име­ет зна­чение

Раз­мер клю­ча (чис­ло бит в клю­че) – один из фак­то­ров, влияю­щих на тру­до­ем­кость взло­ма шиф­ра (рас­шиф­ров­ку за­кры­то­го тек­ста без знания клю­ча). 16‑бит­ный ключ име­ет 65536 ва­ри­ан­тов и поддается ата­ке гру­бой си­лой – пе­ре­бо­ром всех клю­чей подря­д. Чем длиннее ключ, тем боль­ше времени требует пе­ре­бор.

В сим­мет­рич­ных шиф­рах для шиф­ро­вания и де­шиф­ра­ции ис­поль­зу­ет­ся один и тот же ключ. Со­вре­мен­ные сим­мет­рич­ные шиф­ры вклю­ча­ют DES, IDEA и Blowfish. Слож­ность в их ис­поль­зо­вании со­сто­ит в безо­пас­ной пе­ре­да­че клю­ча.

Асим­мет­рич­ные шиф­ры поя­ви­лись в 1978 го­ду. Они ис­поль­зуют па­ру клю­чей: от­кры­тый текст, шиф­руе­мый одним клю­чом, мо­жно де­шиф­ро­вать дру­гим клю­чом. Один ключ обыч­но от­крытый, а вто­рой–за­кры­тый, чтобы не пе­ре­да­вать за­кры­тый клю­ч. Шиф­ро­вание со­об­щения от­кры­тым клю­чом ад­ре­са­та га­ран­ти­ру­ет кон­фи­ден­ци­аль­ность – толь­ко он смо­жет рас­шиф­ро­вать со­об­щение, ведь толь­ко он зна­ет свой за­кры­тый ключ. Шиф­ро­вание за­кры­тым клю­чом от­пра­ви­те­ля служит циф­ро­вой подпи­сью: ес­ли со­об­щение успеш­но рас­шиф­ро­вывается от­кры­тым клю­чом Алек­са, оно при­шло от Алек­са. Пер­вым а­сим­­мет­рич­ным шиф­ром был RSA (на­зван по име­нам Ри­ве­ста [Rivest], Ша­ми­ра [Shamir] и Эйдл­ма­на [Adleman]). Бо­лее но­вый – ал­го­ритм Эль Га­ма­ля [ElGamal] , ши­ро­ко применя­емый в GPG. Дру­гой ал­го­ритм, DSA, служит для циф­ро­вой подпи­си.

Асим­мет­рич­ные шиф­ры тре­бу­ют боль­ше вы­чис­ли­тель­ных ре­сур­сов, чем сим­мет­рич­ные, и при том же уров­не защиты им нужны бо­лее длин­ные клю­чи. По­это­му их ред­ко ис­поль­зу­ют для шиф­ро­вания боль­ших объ­е­мов дан­ных. Ча­ще они при­ме­ня­ют­ся в про­то­ко­ле за­щи­щен­но­го об­ме­на клю­чом, чтобы от­пра­ви­те­ль и по­лу­ча­те­ль безо­пас­но уста­но­вили об­щий сим­мет­рич­ный ключ в рам­ках сес­сии. Асим­мет­рич­ные шиф­ры вме­сте с крип­то­гра­фи­че­ски­ми хэ­ша­ми об­ра­зу­ют осно­ву циф­ро­вой подпи­си, ко­то­рая ау­тен­ти­фи­ци­ру­ет от­пра­ви­те­ля и под­твер­жда­ет це­ло­ст­ность со­об­щения.

Где уз­нать боль­ше

На сай­те Бо­ба Кром­ве­ла [Bob Cromwell] (http://www.cromwell-intl.com/security/crypto) есть не­сколь­ко пре­крас­ных стра­ниц под на­зва­ни­ем «Ко­рот­ко о крип­то­гра­фии» (Just Enough Cryptography). Клас­си­ческая кни­га по пред­ме­ту – Applied Cryptography Брю­са Шнай­е­ра [Bruce Schneier] – ав­то­ри­тет­ное и под­роб­ное спра­воч­ное ру­ко­во­дство, хо­тя она бы­ла из­да­на в 1996 го­ду, и ее воз­раст уже на­чи­на­ет ощу­щать­ся. В его бо­лее све­жей кни­ге Secrets and Lies (2000) пред­став­лен бо­лее ши­ро­кий взгляд на «циф­ро­вую безо­пас­ность в се­те­вом ми­ре», и в ней со­всем нет ма­те­ма­ти­ки!

Персональные инструменты
купить
подписаться
Яндекс.Метрика