Kriptografi dan Cara Menggunakan Buka GPG untuk Mengenkripsi Data

PGP adalah kriptosistem hibrida yang berarti bahwa ia menggunakan simetris maupun enkripsi asimetris. Biar saya jelaskan

Ada dua jenis enkripsi

Enkripsi simetris

Jika saya mengirim surat rahasia kepada Anda yang telah kami setujui bahwa setiap alfabet perlu diganti dengan alfabet sebelumnya, maka ketika saya menulis SECRET, saya akan membuat S V, E H, C F dan sebagainya yang menghasilkan VHFUHW. Ketika Anda mendapatkan surat itu, Anda akan membalikkan masing-masing alfabet dengan yang sebelumnya memberi Anda kata RAHASIA. Anda lihat, kunci yang sama digunakan untuk mengenkripsi dan mendekripsi. Jika surat itu masuk ke tangan yang salah, itu tidak masuk akal baginya kecuali dia tahu kunci yang telah kita sepakati.

Enkripsi asimetris

Kunci asimetris memiliki dua kunci pribadi dan publik. Siapa pun yang memiliki kunci privat dapat mendekripsi data yang dienkripsi dengan kunci publik terkaitnya.

Cara kerja GPG

GPG menggunakan kedua metode enkripsi ini. Ini mengenkripsi teks dengan kunci yang dihasilkan dengan gerakan mouse dan guratan keyboard dan menempel kunci dengan pesan sehingga penerima dapat menggunakannya untuk mendekripsi teks. Tapi tidak bodoh untuk melampirkan kunci rahasia dengan teks yang seperti menulis kunci 3 yang disepakati di dalam surat dalam contoh enkripsi simetris di atas. Tidak, bukan itu. Karena kunci itu juga dienkripsi dengan kunci publik. Ketika penerima menerima teks, dia mendekripsi kunci dengan kunci pribadi dan kemudian menggunakan kunci itu untuk mendekripsi pesan yang sebenarnya.

Dalam tutorial ini, saya akan menunjukkan kepada Anda cara melindungi data sensitif Anda dengan mengenkripsi menggunakan openGPG.

GPG mempertahankan tiga file di bawah direktori home masing-masing pengguna di bawah ~ / .gnupg. Mereka:

1. secring.gpg berisi kunci rahasia

2. pubring.gpg berisi kunci publik

3. trustdb.gpg mempertahankan tingkat kepercayaan yaitu web kepercayaan kunci dalam kunci publik

Membuat Kunci

Perintah berikut digunakan untuk menghasilkan kunci. Ini mendorong kami untuk beberapa pertanyaan.

gpg -gen-key

gpg (GnuPG) 1.4.6; Hak Cipta (C) 2006 Free Software Foundation, Inc.

Program ini dilengkapi dengan TIDAK ADA JAMINAN.

Ini adalah perangkat lunak gratis, dan Anda dipersilakan untuk mendistribusikannya kembali

dalam kondisi tertentu. Lihat file COPYING untuk detailnya.

Silakan pilih jenis kunci yang Anda inginkan:

(1) DSA dan Elgamal (default)

(2) DSA (hanya tanda)

(5) RSA (hanya tanda)

Pilihan Anda? 1

DSA keypair akan memiliki 1024 bit.

Kunci ELG-E mungkin antara 1024 dan 4096 bit.

Keysize apa yang Anda inginkan? (2048)

Kunci yang diminta adalah 2048 bit

Silakan tentukan berapa lama kunci harus valid.

0 = kunci tidak kedaluwarsa

= kunci kedaluwarsa dalam n hari

w = kunci kedaluwarsa dalam n minggu

m = kunci berakhir dalam n bulan

y = kunci berakhir dalam n tahun

Kunci valid untuk? (0)

Kunci tidak kedaluwarsa sama sekali

Apakah ini benar? (y / N) y

Anda memerlukan ID pengguna untuk mengidentifikasi kunci Anda; perangkat lunak membangun ID pengguna

dari Nama Asli, Komentar, dan Alamat Email dalam formulir ini:

"Heinrich Heine (Der Dichter)"

Nama asli: Uji Pengguna

Alamat email: [email protected]

Komentar: Ini adalah proses pembuatan kunci pengujian

Anda memilih USER-ID ini:

"Test User (Ini adalah proses pembuatan kunci uji)"

Ubah (N) ame, (C) omment, (E) mail atau (O) kay / (Q) uit? HAI

Anda membutuhkan Passphrase untuk melindungi kunci rahasia Anda.

Anda tidak ingin passphrase – ini mungkin ide * buruk *!

Saya akan tetap melakukannya. Anda dapat mengubah passphrase Anda kapan saja,

menggunakan program ini dengan opsi "-edit-key".

Kita perlu menghasilkan banyak byte acak. Ini adalah ide yang bagus untuk dilakukan

beberapa tindakan lainnya (ketik pada keyboard, gerakkan mouse, gunakan

disk) selama generasi perdana; ini memberikan nomor acak

generator peluang yang lebih baik untuk mendapatkan cukup entropi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++. ++++++

+++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++

……………………….. +++++

Kita perlu menghasilkan banyak byte acak. Ini adalah ide yang bagus untuk dilakukan

beberapa tindakan lainnya (ketik pada keyboard, gerakkan mouse, gunakan

disk) selama generasi perdana; ini memberikan nomor acak

generator peluang yang lebih baik untuk mendapatkan cukup entropi.

.. ++++++++++. ++++++++++++++++++++ … +++++

. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++. ++++++++++ .. +++++. +++++++++++++++

. ++++++++++ …. ++++++++++. +++++ .. +++++. +++++>.

++++++++++>. +++++.> +++++ …………………….. ………………..

………………………………………….. ………………………………………….. ……….

… +++++ ^^^

gpg: /home/testuser/.gnupg/trustdb.gpg: trustdb dibuat

gpg: key 6A62309F ditandai sebagai pada akhirnya dipercaya

kunci publik dan rahasia yang dibuat dan ditandatangani.

gpg: memeriksa trustdb

gpg: 3 marginal (s) diperlukan, 1 lengkap (s) diperlukan, model kepercayaan PGP

gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u

pub 1024D / 6A62309F 2009-08-19

Sidik jari kunci = FB4D 4DC7 B093 3714 B507 CD9F F1C0 27B5 6A62 309F

uid Test User (Ini adalah proses pembuatan kunci uji)

sub 2048g / 7CB6CABD 2009-08-19

Tombol Cantuman

gpg -list-keys

/home/testuser/.gnupg/pubring.gpg

———–

pub 1024D / 6A62309F 2009-08-19

uid Test User (Ini adalah proses pembuatan kunci uji)

sub 2048g / 7CB6CABD 2009-08-19

Mari kita telusuri output dari perintah sebelumnya

pub artinya adalah kunci penandatanganan master publik

1024 adalah panjang kunci

D memberitahu kita bahwa itu adalah DSA (Digital Signature Algorithm), digunakan untuk siging

6A62309F adalah ID kunci unik

2009-08-19 adalah tanggal ketika kunci master penandatanganan dibuat

uid menunjukkan identitas yang diikat ke publik master dan sub-kunci

sub menunjukkan bahwa kuncinya adalah kunci bawahan. Ini digunakan untuk enkripsi

2048 adalah jumlah bit dalam enkripsi

g – ElGamal digunakan untuk enkripsi

7CB6CABD adalah ID kunci unik

2005-08-21 adalah tanggal ketika kunci enkripsi dibuat

Untuk daftar kunci rahasia

gpg -list-secret-keys

/home/testuser/.gnupg/secring.gpg

———–

detik 1024D / 6A62309F 2009-08-19

uid Test User (Ini adalah proses pembuatan kunci uji)

ssb 2048g / 7CB6CABD 2009-08-19

Mengimpor dan Mengekspor Kunci

Ke ouput lapis baja atau ASCII kunci publik ke layar

gpg -a -export

Untuk membuang ASCII kunci publik ke file, gunakan -o

gpg -o filename -a -export

Catatan: Setelah impor / ekspor dilakukan, enkripsi / dekripsi / penandatangan / verifikasi dapat dilakukan

Untuk mengkonfirmasi sidik jari kunci

gpg -fingerprint keyID

(gpg -fingerprint 7CB6CABD)

Enkripsi

GPG mendukung enkripsi simetris dan asimetris. Dalam contoh berikut, kami akan mengenkripsi beberapa teks dan kemudian mengirim ke mitra kami yang akan mendekripsi dengan kunci yang akan kami bagikan dengannya

echo "Ini adalah pesan yang sangat rahasia"> secret_file.txt

Sekarang kita perlu mengenkripsi secret_file.txt. Ini akan meminta saya untuk passphrase yang perlu kita masukkan dua kali

gpg -c secret_file.txt

Masukkan frasa sandi:

Ini akan menghasilkan secret_file.txt.gpg. Jika saya kucing file ini, saya akan melihat omong kosong

kucing secret_file.txt.gpg

: ???

?? P? G:? = B