Gpg. Шыфраванне. Хэшыраванне — различия между версиями
Svetit (обсуждение | вклад) (→Тэорыя) |
Svetit (обсуждение | вклад) (→Заданне 2) |
||
(не показано 10 промежуточных версии этого же участника) | |||
Строка 11: | Строка 11: | ||
Крыптаграфічныя сістэмы з адкрытым ключом зараз шырока выкарыстоўваецца ў розных сеткавых пратаколах, напрыклад, у пратаколах TLS і яго папярэдніку SSL (што ляжаць у аснове HTTPS), у SSH. Таксама выкарыстоўваецца ў PGP, S/MIME. | Крыптаграфічныя сістэмы з адкрытым ключом зараз шырока выкарыстоўваецца ў розных сеткавых пратаколах, напрыклад, у пратаколах 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 | ||
==Заданне== | ==Заданне== | ||
Строка 23: | Строка 92: | ||
Цяпер вы працуеце на ўдаленам Linux сэрверы. | Цяпер вы працуеце на ўдаленам Linux сэрверы. | ||
+ | |||
+ | ===Заданне 1=== | ||
+ | # Сгеніраваць пару ключоў. | ||
+ | # Стварыць файл '''ваша_прозвішча.txt'''. Зашыфраваць яго сваім ключом і расшыфраваць у новы файл '''ваша_прозвішча_2.txt'''. | ||
+ | # Стварыць файл '''for_прозвішча_вашага_сябра.txt'''. Зашыфраваць яго ключом таварышча. | ||
+ | # Расшыфраваць файл, які для вас зашыфраваў таварышч у файл '''for_ваша_прозвішча_2.txt'''. | ||
+ | |||
+ | ===Заданне 2=== | ||
+ | # Стварыць файл '''task_2.txt''' з тэкстам. | ||
+ | # Атрымаць хэш файла (любой функцыяй) і захаваць яго у новым файле '''hash.txt''' | ||
+ | # Змяніць файл '''task_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 |
Текущая версия на 12:26, 26 марта 2018
Мэта:
- Вывучыць, што такое асіметрычнае шыфраванне.
- Навучыцца шыфраванню прыладай 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
- Зайсці у тэчку "Загрузки", запусціць прыладу putty.exe
- У поле Host Name (or IP Address) запісаць 10.194.0.220
- У акне кансолі ўвесці лагін: user і пароль: user.
Цяпер вы працуеце на ўдаленам Linux сэрверы.
Заданне 1
- Сгеніраваць пару ключоў.
- Стварыць файл ваша_прозвішча.txt. Зашыфраваць яго сваім ключом і расшыфраваць у новы файл ваша_прозвішча_2.txt.
- Стварыць файл for_прозвішча_вашага_сябра.txt. Зашыфраваць яго ключом таварышча.
- Расшыфраваць файл, які для вас зашыфраваў таварышч у файл for_ваша_прозвішча_2.txt.
Заданне 2
- Стварыць файл task_2.txt з тэкстам.
- Атрымаць хэш файла (любой функцыяй) і захаваць яго у новым файле hash.txt
- Змяніць файл task_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