Gpg. Шыфраванне. Хэшыраванне

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

Мэта:

  • Вывучыць, што такое асіметрычнае шыфраванне.
  • Навучыцца шыфраванню прыладай gpg у кансолі.
  • Навучыцца хэшыраванню ў кансолі.

Тэорыя

Крыптаграфічная сістэма з адкрытым ключом

Разнавіднасць асіметрычнага шыфравання, асіметрычнага шыфру. Гэта сістэма шыфравання і (альбо) электроннага подпісу (ЭП), у якой адкрыты ключ перадаецца па адкрытаму каналу (не абароненаму каналу, дасяжнаму да назірання) і выкарыстоўваецца для праверкі ЭП і шыфравання паведамлення. Для генерацыі ЭП і для расшыфроўкі паведамлення выкарыстоўваецца закрыты ключ.

Крыптаграфічныя сістэмы з адкрытым ключом зараз шырока выкарыстоўваецца ў розных сеткавых пратаколах, напрыклад, у пратаколах TLS і яго папярэдніку SSL (што ляжаць у аснове HTTPS), у SSH. Таксама выкарыстоўваецца ў PGP, S/MIME.

Базавыя каманды працы з кансоллю

ls

-вывесці (паказаць) усе файлы у тэчцы

cd linux_lab

-перайсці (перамясціцца) у тэчку linux_lab (якая знаходзіцца у тым жа каталоге, у якім і вы)

cd ..

- перайсці на каталог, узроунем вышэй

less task_1.txt

-адкрыць файл на прагляд.(q-выйсці з праграмы less)

mkdir new_directory

- стварыць новую тэчку.

touch new_file

- стварыць новы файл.

Некаторыя каманды GPG

Стварэнне свайго ключа

Перад тым як шыфравацца ці карыстаць ЭП з GPG вам неабходны ключ:

gpg --gen-key

Адправіць ваш публічны ключ (ascii side) на сэрвер захавання ключоў:

gpg --armor --output pubkey.txt --export 'Your Name'
gpg --send-keys 'Your Name' --keyserver hkp://subkeys.pgp.net

Зашыфроўка / Расшыфроўка

Такім чынам мы можам зашыфроўваць і расшыфроўваць файлы толькі для нашага ўласнага карыстання:

gpg --encrypt --recipient 'Your Name' foo.txt
gpg --output foo.txt --decrypt foo.txt.gpg

Зашыфраваць для іншага карыстальніка

Знаходзім ключ патрэбнага нам карыстальніка:

gpg --search-keys 'myfriend@his.isp.com' --keyserver hkp://subkeys.pgp.net
gpg --import key.asc
gpg --list-keys

Шыфруем:

gpg --encrypt --recipient 'myfriend@his.isp.net' foo.txt

Расшыфроўка

gpg --output foo.txt --decrypt foo.txt.gpg

Некаторыя каманды хэшыравання

Атрымаць хэш для файла test.txt праз алгарытм хэшыравання MD5:

md5sum test.txt
c7f10c746815834496c4c399f81e6b4f  test.txt


Атрымаць хэш ад радка "abcdefg" праз алгарытм хэшыравання sha256:

sha256sum test.txt
cff50f49ab985b16e767cf330c988461993a6e9d24f050455c6b806004145f9b  test.txt

Заданне

Для выканання заданняў вам спатрэбіцца шукаць дадатковую інфармацыю пра каманды shell у інтэрнэце!

Удаленае падключэнне да сэврвера на Windows

  1. Зайсці у тэчку "Загрузки", запусціць прыладу putty.exe
  2. У поле Host Name (or IP Address) запісаць 10.194.0.220
  3. У акне кансолі ўвесці лагін: user і пароль: user.

Цяпер вы працуеце на ўдаленам Linux сэрверы.

Заданне 1

  1. Сгеніраваць пару ключоў.
  2. Стварыць файл ваша_прозвішча.txt. Зашыфраваць яго сваім ключом і расшыфраваць у новы файл ваша_прозвішча_2.txt.
  3. Стварыць файл for_прозвішча_вашага_сябра.txt. Зашыфраваць яго ключом таварышча.
  4. Расшыфраваць файл, які для вас зашыфраваў таварышч у файл for_ваша_прозвішча_2.txt.

Заданне 2

  1. Стварыць файл task_2.txt з тэкстам.
  2. Атрымаць хэш файла (любой функцыяй) і захаваць яго у новым файле hash.txt
  3. Змяніць файл task_2.txt.
  4. Атрымаць хэш змененага файла і дадаць яго у hash.txt другім радком.

Літаратура