< Titkosítás

Kriptográfia

Szerző: Sallai András

Copyright © 2018, Sallai András

Licenc: CC BY-SA 4.0

Web: https://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 --full-generate-key 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:

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]

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:

gpg --search-keys 'baratneve@sarga.and' --keyserver hkp://kulcsszerver
gpg --import key.asc
gpg --list-keys
gpg --encrypt --recipient 'baratnev@sarga.and' adat.txt

Aláírás

gpg --verify csomag.tar.gz.asc csomag.tar.gz

gpg --armor --detach-sign csomag.zip

mcrypt

apt install mcrypt

$ 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.

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:

Enter encryption key:
Enter encryption key: (repeat)

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

md5sum pika.txt
f3eeeaf8e0a470adf6ac40d3d9c9a88e pika.txt

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

sha1sum pika.txt
sha224sum pika.txt
sha256sum pika.txt
sha384sum pika.txt
sha512sum pika.txt