A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat | Utolsó változat Következő változat mindkét oldalon | ||
oktatas:linux:titkositas:kriptografia [2018/12/18 20:53] |
oktatas:linux:titkositas:kriptografia [2019/08/16 19:45] admin létrehozva |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | [[oktatas:linux:titkosítás|< Titkosítás]] | ||
+ | ====== Kriptográfia ====== | ||
+ | |||
+ | * **Szerző:** Sallai András | ||
+ | * Copyright (c) Sallai András, 2018 | ||
+ | * [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] | ||
+ | * Web: http://szit.hu | ||
+ | |||
+ | ===== Kriptográfiai szoftverek ===== | ||
+ | |||
+ | * mcrypt | ||
+ | * bcrypt | ||
+ | * gnupg | ||
+ | * ccrypt | ||
+ | |||
+ | ===== GnuPG ===== | ||
+ | |||
+ | ==== Telepítés ==== | ||
+ | |||
+ | apt install gnupg | ||
+ | |||
+ | Webhely: | ||
+ | https://gnupg.org/ | ||
+ | |||
+ | apt install gnupg2 | ||
+ | ==== Szimmetrikus kulcs ==== | ||
+ | |||
+ | Használat szimmetrikus kulccsal: | ||
+ | gpg -c egy.txt | ||
+ | |||
+ | Az eredmény egy egy.txt.gpg fájl. | ||
+ | |||
+ | Visszafejtés: | ||
+ | gpg -d egy.txt.gpg | ||
+ | |||
+ | Ez csak a képernyőre ír. Ha szeretnénk fájlba írni: | ||
+ | gpg -d -o egy.txt egy.txt.pgp | ||
+ | |||
+ | ==== Aszimmetrikus kulcs ==== | ||
+ | |||
+ | Először generálnunk kell egy kulcspárt (nyilvános kulcs és titkos kulcs). Nézzük meg jelenleg milyen | ||
+ | titkos kulcsok vannak: | ||
+ | |||
+ | gpg --list-secret-keys | ||
+ | vagy: | ||
+ | gpg --list-secret-keys --keyid-format LONG | ||
+ | |||
+ | |||
+ | A kulcs-pár generálása: | ||
+ | gpg --gen-key | ||
+ | |||
+ | |||
+ | Ha véletlenek száma nem elég, használjuk az rng-tools csomagot: | ||
+ | # apt install rng-tools | ||
+ | |||
+ | A véletlenek növelése: | ||
+ | # rngd -r /dev/urandom | ||
+ | |||
+ | Az rngd program indítható a kulcsgenerálás hátterében is. | ||
+ | |||
+ | A 2.1.17 verziótól használhatjuk a <nowiki>--full-generate-key</nowiki> kapcsolót: | ||
+ | gpg --full-generate-key | ||
+ | |||
+ | |||
+ | Titkosítás megadásával: | ||
+ | gpg --default-new-key-algo rsa4096 --gen-key | ||
+ | |||
+ | ASCII formátum generálása: | ||
+ | gpg --armor --output pubkey.txt --export 'Teljes Név' | ||
+ | |||
+ | Esetleg így: | ||
+ | <code> | ||
+ | gpg --list-secret-keys --keyid-format LONG | ||
+ | /home/tanulok/13ei/nagyj13eib/.gnupg/pubring.kbx | ||
+ | ------------------------------------------------ | ||
+ | sec rsa2048/EF584EBA9A877662 2018-10-25 [SC] [expires: 2020-10-24] | ||
+ | EC9870854BADD01BF45F7B08EF584EBA9A877662 | ||
+ | uid [ultimate] Nagy János <nagyj13eib@hid> | ||
+ | ssb rsa2048/4F57685D5972B452 2018-10-25 [E] [expires: 2020-10-24] | ||
+ | </code> | ||
+ | |||
+ | A sec sorból felhasználjuk a EF kezdetű részt: | ||
+ | gpg --armor --export EF584EBA9A877662 | ||
+ | |||
+ | Nyilvános kulcs, kulcsszerverre: | ||
+ | gpg --send-keys 'Nagy János' --keyserver hkp://kulcsszerver.neve | ||
+ | |||
+ | ==== Aszimmetrikus kulcsok használata ==== | ||
+ | Titkosítás: | ||
+ | gpg --encrypt --recipient 'Nagy János' adat.txt | ||
+ | |||
+ | Visszafejtés: | ||
+ | gpg --output adat.txt --decrypt adat.txt.gpg | ||
+ | |||
+ | Titkosítás a fogadó fél számára: | ||
+ | |||
+ | <code> | ||
+ | gpg --search-keys 'baratneve@sarga.and' --keyserver hkp://kulcsszerver | ||
+ | gpg --import key.asc | ||
+ | gpg --list-keys | ||
+ | gpg --encrypt --recipient 'baratnev@sarga.and' adat.txt | ||
+ | </code> | ||
+ | |||
+ | ==== Aláírás ==== | ||
+ | |||
+ | gpg --verify csomag.tar.gz.asc csomag.tar.gz | ||
+ | |||
+ | gpg --armor --detach-sign csomag.zip | ||
+ | |||
+ | ===== mcrypt ===== | ||
+ | |||
+ | apt install mcrypt | ||
+ | |||
+ | |||
+ | <code> | ||
+ | $ mcrypt egy.txt | ||
+ | Enter the passphrase (maximum of 512 characters) | ||
+ | Please use a combination of upper and lower case letters and numbers. | ||
+ | Enter passphrase: | ||
+ | Enter passphrase: | ||
+ | |||
+ | File egy.txt was encrypted. | ||
+ | </code> | ||
+ | |||
+ | Visszafejtés: | ||
+ | mdecrypt egy.txt.nc | ||
+ | Vagy: | ||
+ | mcrypt -d egy.txt.nc | ||
+ | |||
+ | A használat után az eredeti fájl törlése: | ||
+ | mcrypt -u egy.txt | ||
+ | |||
+ | ===== bcrypt ===== | ||
+ | |||
+ | Telepítés: | ||
+ | apt install bcrypt | ||
+ | |||
+ | A Debian9-ben sem működik: http://bugs.debian.org/700758 | ||
+ | |||
+ | ===== ccrypt ===== | ||
+ | |||
+ | Telepítés: | ||
+ | apt install ccrypt | ||
+ | |||
+ | Legyen a példa kedvéért egy adat.txt fájl. | ||
+ | |||
+ | Titkosítjuk: | ||
+ | ccrypt -e adat.txt | ||
+ | |||
+ | Meg kell adnunk kétszer a jelszót. A kimenet ehhez hasonló lesz: | ||
+ | <code> | ||
+ | Enter encryption key: | ||
+ | Enter encryption key: (repeat) | ||
+ | </code> | ||
+ | |||
+ | Az eredeti fájl átnevezésre kerül: | ||
+ | adat.txt.cpt | ||
+ | |||
+ | A visszafejtés: | ||
+ | ccrypt -d adat.txt.cpt | ||
+ | |||
+ | Bekéri a titkosításkor megadott jelszót: | ||
+ | Enter decryption key: | ||
+ | |||
+ | A fájl elveszti .cpt kiterjesztését, és szimpla .txt fájlként újra olvasható. | ||
+ | |||
+ | Kapunk egy ccat parancsot is, amely visszafejti a lekódolt tartalmat, de | ||
+ | megmarad a titkosított fájl, a tartalmat pedig a képernyőre írja. | ||
+ | Használata: | ||
+ | ccat adat.txt.cpt | ||
+ | |||
+ | ===== openssl ===== | ||
+ | |||
+ | Kódolás képernyőre: | ||
+ | openssl enc -base64 -in adat.txt | ||
+ | |||
+ | Kódolás fájlba: | ||
+ | openssl enc -base64 -in adat.txt -out adat.txt.enc | ||
+ | |||
+ | |||
+ | Dekódolás: | ||
+ | cat adat.txt.enc | openssl enc -base64 -d | ||
+ | |||
+ | |||
+ | |||
+ | ===== Hash algoritmusok ===== | ||
+ | |||
+ | ==== md5sum ==== | ||
+ | |||
+ | <code> | ||
+ | md5sum pika.txt | ||
+ | f3eeeaf8e0a470adf6ac40d3d9c9a88e pika.txt | ||
+ | </code> | ||
+ | ==== crc32 ==== | ||
+ | |||
+ | apt install libarchive-zip-perl | ||
+ | |||
+ | crc32 pika.txt | ||
+ | |||
+ | ==== cksum ==== | ||
+ | |||
+ | CRC ellenőrzőösszeg és a bájtok száma: | ||
+ | cksum pika.txt | ||
+ | |||
+ | ==== cksfv ==== | ||
+ | |||
+ | apt install cksfv | ||
+ | |||
+ | cksfv pika.txt | ||
+ | |||
+ | ==== SHA ==== | ||
+ | |||
+ | <code> | ||
+ | sha1sum pika.txt | ||
+ | sha224sum pika.txt | ||
+ | sha256sum pika.txt | ||
+ | sha384sum pika.txt | ||
+ | sha512sum pika.txt | ||
+ | </code> | ||
+ | |||