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 у інтэрнэце!
Заданне 1
- Даведацца, што такое асіметрычнае шыфраванне.
- Сгеніраваць пару ключоў.
- Стварыць файл ваша_прозвішча.txt. Зашыфраваць яго сваім ключом і расшыфраваць у новы файл ваша_прозвішча_2.txt.
Заданне 2
- Даведацца, што такое хэш-функцыя, і дзе прымяняецца хэшыраванне.
- Стварыць файл task_2.txt з тэкстам.
- Атрымаць хэш файла (любой функцыяй) і захаваць яго у новым файле hash.txt
- Змяніць файл task_2.txt.
- Атрымаць хэш змененага файла і дадаць яго у hash.txt другім радком.
Праверка задання
На дыстанцыйную платформу трэба запампаваць тры файлы:
- Ваш публічны ключ.
- Файл ваша_прозвішча_2.txt
- Файл hash.txt
Літаратура
- Прыклады каманд Gpg http://edoceo.com/cli/gpg
- Асіметрычнае шыфраванне https://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом
- Выкарыстаць алгарытм хэшыравання sha256 https://help.ubuntu.com/community/HowToSHA256SUM
- Выкарыстаць алгарытм хэшыравання MD5 https://help.ubuntu.com/community/HowToMD5SUM