Gpg. Шыфраванне. Хэшыраванне (онлайн)

Материал из Вікі Фаланстэра
Версия от 14:26, 22 мая 2020; Svetit (обсуждение | вклад) (Новая страница: «'''Мэта:''' * Вывучыць, што такое асіметрычнае шыфраванне. * Навучыцца шыфраванню прыладай gp…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Мэта:

  • Вывучыць, што такое асіметрычнае шыфраванне.
  • Навучыцца шыфраванню прыладай 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 у інтэрнэце!

Заданне 1

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

Заданне 2

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

Праверка задання

На дыстанцыйную платформу трэба запампаваць тры файлы:

  • Ваш публічны ключ.
  • Файл ваша_прозвішча_2.txt
  • Файл hash.txt

Літаратура