Bitcoin Forum
April 28, 2024, 12:28:32 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Re: [Eng: Tutorial] PGP Signature - Encrypt/Decrypt message - Fingerprint  (Read 404 times)
Learn Bitcoin (OP)
Hero Member
*****
Offline Offline

Activity: 504
Merit: 806


#SWGT CERTIK Audited


View Profile WWW
October 05, 2023, 09:40:41 AM
Merited by 1miau (10), Pmalek (3), Husna QA (2), DdmrDdmr (1), Bitcoin_Arena (1), GazetaBitcoin (1), Crypto Library (1), DYING_S0UL (1)
 #1

This thread is an image-fixed version of this thread. The author is inactive, and the thread is locked. Several members were looking for a tutorial, but the images were broken. Here, I tried to fix the images and repost them.

Credit: mdayonliner



Pretty Good Privacy
English Version Tutorial (Windows Only)
Please wait 1/2 minutes (depending on your connection speed) to load all the images



Table of Contents




Abstract
Go to top

Many people do not have any clue about PGP encryption/decryption. It was same for me however I had to learn it the hard way. Explore the topic The BCT PGP/GPG Public Key Database: Stake Your PGP Key Here to understand why you need to know it. If you are an Electrum wallet user then I am pretty sure you have seen a signature link next to the installation file. You also seen a warning notification on the top which talks about a fake copy of Electrum.


Long story short, PGP gives you extensive privacy and you can easily validate the authentic source of your received file/text. In this tutorial we will learn...

# How to create PGP Signed message and signature
# How to verify a PGP Signed message and signature
# How to encrypt a message
# How to decrypt a message

Once you get a good grip of these 4 basics, I believe you will be able to grab the rest without having any further assistance.



A Better Understanding
Go to top

Before we start, it's gonna help you if I give you a brief. PGP consist of two Keys...
1. Private key <=== You need it to decrypt a content
1. a) You also need a passphrase, in other words a strong password.
2. Public key <=== You need it to encrypt a content

Think about a very sensitive message you want to email to your friend. You don't want any gov agency or any spy read the message. These people can easily access your email server. To avoid it, ask you friend to give his PGP public key. Once you have it then encrypt the message and email the encrypted message to your friend. Now only your friend can decrypt it because he knows the private key.

Warning: Do not share your private key and passphrase with anyone.


Getting Started
Go to top

Download and Installation Go to top
You will need Kleopatra desktop application. Click here and download gpg4win-3.1.1.exe (this is the current version, you might find the same or a different version but don't mind, whatever the version they will have on their server, it will be downloaded). Once download done, go ahead and install the application (I assume, you know basics of installing an application). Once installation done, you will be seeing Kleopatra icon on your desktop.
"KleopatraLoading"

Create Your First Private and Public Keys Go to top

1. Open Kleopatra > File > New Key Pair...
LoadingOpeningKleopatra
Click here if unable to see image

2. Click on Create a personal OpenPGP key pair
LoadingCreateA personal OpenPGP key pair
Click here if unable to see image

3. Enter Name and Email > Click Next
Loading without name and email Loading with name and email

In our case, we are using...
Code:
Name: mdayonliner Tutorial
Email: tutorial@bitcoinTalk.com
Of course these are made up information to demonstrate the tutorial

4.Click Create
Loading Click Create

5.Enter passphrase (consider a strong password) -> Repeat -> click OK
Loading without passphrase Loading with passphrase

In our case we have used... <=== Do not publish it in public ever
Code:
tutorialMday

6. Record the following information...
          6.1. Fingerprint : In a text file or any other file of you choice
Code:
3DE42C11CBDD44EFC63B602DFA92987833EE3CE0
         6.2. Make a Backup Of Your Key Pair...
          6.3. Upload Public Key To Directory Service...
          6.4 Finish
          Loading Record the following information...

          6.2 Click on Make a Backup Of Your Key Pair...
          Click on Before Make a Backup Of Your Key Pair...

          Chose a directory of your harddrive and keep the file safe. This is our private key obviously

          Enter passpharse -> Click Ok
          Loading...
          Click Ok
          Loading...

          This process just exported the PRIVATE KEY  <===== Do not publish it in public ever
          Locate the exported file and open it with notepad
Code:
-----BEGIN PGP PRIVATE KEY BLOCK-----

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
Tz/DdObW36k=
=G8Nk
-----END PGP PRIVATE KEY BLOCK-----

          6.3. Click on Upload Public Key To Directory Service... -> wait a little bit -> Click OK
          This will upload the Public Key online in the PGP Directory Service
           But before that we need to check if the directory domain is still active. In case of inactive domains please follow the following setting.
An error occurred while trying to export OpenPGP certificates.
 Server indicated a failure gpg: keyserver send failed: Server indicated a failure
-snip-
Try changing the OpenPGP keyserver.
If you are using Windows OS and Kleopatra as in the tutorial above, go to Settings -> Configure Kleopatra ...
In the OpenPGP Keyserver column (default: hkps: //hkps.pool.sks-keyservers.net), enter the keyserver that is still active/accessible, https://pgp.mit.edu; http://keyserver.ubuntu.com/; or other servers; then click OK.

-snip-


Here's an example of my public key:
http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x58bc997445d96f68db65c169a2ca884f183d22e9
         Loading... Loading...
          Don't worry if there is an error. You can do this later after proper configuration.

          Click OK and Finish

          You should be seeing your newly created PGP user ID
          Loading...

          6.3.a. Right click -> Click on Publish on Server
          Even after changing the server if you keep getting error then do not worry. You do not need any server for your public key. You can save it in your computer
          Loading...

          Save it in your computer in a known directory. This is your public key

Code:
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBF/gbYIBCADNJHgmcOlD0qIXGl842UUxRISp5NJHQQdq5erExw32ta/2rahs
/LRpeTv/2QwcXkgZM5LWCttmD4769X2iq6Sj7im63Mso64PdcFT7IGjuVRWD1iBu
i2kPFkpDOp54h3uo6hfDuH0xYCisdP7qOi5tCB41ReO8lPVXKvHFwQz/3ULMfX1+
Gi8XXhllfin3QORoL87wz81ohWYO7E48G/uIUwEf2fN8s+DYiZGg8NDMNll0AfaX
LpukGqjNKIFEdWdRRPcQWChfYNweKftIA6HCRgIUlOPsQHdxfFirTRAPLRi52KG7
6Wz49V+2d+a08R5iS9HP/+SlstN8mLrCM23DABEBAAG0L21kYXlvbmxpbmVyIFR1
dG9yaWFsIDx0dXRvcmlhbEBiaXRjb2luVGFsay5jb20+iQFUBBMBCAA+FiEEPeQs
EcvdRO/GO2At+pKYeDPuPOAFAl/gbYICGwMFCQPCh78FCwkIBwIGFQoJCAsCBBYC
AwECHgECF4AACgkQ+pKYeDPuPOBT+ggAitQ2xfCdbZKXSoKRcVyv6qnEmN5b8wMU
X6YB/BqvHBEwhu0AvWx/+DAygX7dblH1uO2LfsziBXGNpvAQ5gTb6MbZgNZI2zZN
1sSUMcJXUfeCJc2op3zysJXjMY4FBQpqGzzEcfaoB07Uo+XWqSGqQ2By9Wue2gUd
Y+TB82QZRyJjpkpSmSn1mcG+p7kNmgn+JzAUsIxc1fxEcpEMk0fZcoQ3NNjOv9C4
4meNvQtDZynizwHruDacRqyoFyTSAkXbC5hu26ENYm4hp18opaiQz3BgNHwDcxzr
K7tXpSSTpsd6nnRS6z6sVC/IH1klcYSbzu1AWyjFLzQIzyZwwFvElbkBDQRf4G2C
AQgA7PQJndA3Dg7xYXtmMuDdlPUVeYLLXxpcmfdACF5SCV/IsyUifhjeLrkRJ72j
xL2pI287UdOmlx0BeK/MTYqLRxJhixa6hER+aGh1XKy1sps77pmPhShnSUuoIMPo
HCLYg0oZRzZblEbWC0XeiIte718MGf0EN/I3lTl47mr2gUPDf7IIWO1wTY0oPRQd
UMCckK8/qMjZKuFpn81LFybeBekxVcGMBiXtU08wVbxJF5W1P8dLWKZNuAFgVU19
EJHi25P1oHVYLwTbhkYtiw6lbo4PPgZEWKEbfIxrJWiyyGkSEKgOUKlTyNEV6OMU
aT9DkvfEVdRnE7U9E3vZqkDYGQARAQABiQE8BBgBCAAmFiEEPeQsEcvdRO/GO2At
+pKYeDPuPOAFAl/gbYICGwwFCQPCh78ACgkQ+pKYeDPuPOCpggf+M8lWTGvWcLsY
1Yv1VLBAiO98jb3hOVwH/dD030RsMev4uoydkiH/MF2fMrrZqAaArdKkl5Yh+qRP
sKYeu800fcEJNpqaGuWLklvjr8EaHi1I9E3Hl1R4Gor36VSqW+UeVortMUF0yeTC
vzWvXfpV9B5nIOihI2ekOEIJtVtlPiIx1ddtZtjyUX1t768TCfJ48OxyMHUeQhUx
TmN9aaPMZ7nu4L/YEM7OSbaFEOdSteniJCUHYcQlnHeEMo7vrx/NLFhWLzJKXM8x
cXgldOu8AWnzAOYYro1Xy0++Lot0igfkupEc6WvvxaXZeHYcwZ3NtF0bX9XF//hP
P8N05tbfqQ==
=5HwR
-----END PGP PUBLIC KEY BLOCK-----

So, we have now our...
1. Private Key
2. Passphrase

3. Public Key
4. Fingerprint


Red: Private only | Green: Publicly can be shared

Create PGP Signed Message and Signature Go to top

Assume below is our message and we want to sign it using PGP Signature
Code:
My username mdayonliner. It's m-day-online-r
I am going to sign this message using PGP

1. Open Notepad > Type the message > Select the message > Copy the message.

2. Open System Tray > Right Click on Kleopatra icon > Mouse hover on Clipboard > Click OpenPGP-Sign...
Loading... Loading...

3. Click Next > Enter passphrase > Click OK

By default it should have your Key pair to sign for, we can call a Key pair as Certificate. If you have more than one for yourself then you can change it to the one you are going to sign for.
Loading... Loading...

4. Click OK

Loading...

5. Open another Notepad > Paste (Ctrl+V)

Code:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

My username mdayonliner. It's m-day-online-r
I am going to sign this message using PGP
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEPeQsEcvdRO/GO2At+pKYeDPuPOAFAl/geZ0ACgkQ+pKYeDPu
POAS+wgAxzymzoGipQkSrQiiJQThiM1nQN+fFhxhhPXgEyt1Bk/9Hwl9WJB2hd/R
I4FWWSIiBkCGzvsYga25oP4ZCAaiEPEN8jpVfcgQJwjp4DpBjq66rFz7vtAZKR3I
I6L9BZf7LiQ0rF6k0g95WNm2zKUHPD1KiGOP6YqOEw6LS8m6j0ciuQiC6M4HEzZc
pTHsgCjpCF/epM5nSu3UFuFSs6kojKWtckQs0vXfhBK3PO7xqNrL+nkYUAcizUzg
SNHXW3+iaY0QGYnLEYZqXwft6q+ir84WmKeeEKxtrVNfUNMuyoqyG34Pj2z2yUoK
VLgayddA+H+uzs3YM/ApnbqFJ7Vx5g==
=o0kG
-----END PGP SIGNATURE-----

Congratulations, you have just created your first PGP Signed Message with Signature.

[--------------still updating below contents ------------- 21/12/2020]

Verify PGP Signed Message and Signature Go to top

Let's say we want to verify the PGP Signed Message of Husna QA. Below we have our PGP Signed Message with Signature
Code:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Date: 2018-03-29
Bitcointalk.org login: Husna QA (1827294)
Bitcoin address: 1HdK4YRuPrgWrTkFHTPaJoLvYJ8Cgehgnc
E-mail: husna.qurrota.a.02@gmail.com

PGP fingerprints:
RSA: 0x58BC997445D96F68DB65C169A2CA884F183D22E9
Ed25519: 0xC9B290C8C87C9BB5F440E82AD21FD04306AED362

I declare that aforestated Bitcoin address
may issue signatures controlling the aforestated Bitcointalk account.
I declare that my aforestated PGP Fingerprint RSA and Ed25519 Certification key is
the peremptory trust anchor for my online identity at this time,
and unless/until that key signs a statement declaring otherwise,
Unless this statement be revoked or modified by a statement bearing
authentication rooted in that key.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEWLyZdEXZb2jbZcFposqITxg9IukFAlq7qYUACgkQosqITxg9
IunM6w//Ruw0yjVjPMb4N2QKS8Dun+C1leD9miTPWvTdMiyCLddFmRCiwI8fb/D/
T3vZxJwpIGn89271l4l5slnIziCpZ5HaVEJeAbGVr5Q6zwBv4cXixa29fK7zYcB4
uPeGX4rIHy3eGFKamZiSbibuZ61lP//B9EI+JBdH6yvPxFVxryKsp3MmNjUERhYW
M+1nkHe8Pf8hkcDhevpWXlc7Q7aplWkSnjZ1qE9z0C9mZ0KIqNlymwPMhamfjBTJ
aFkQq3pioKiaAsHLcB3UVHktUlaYuWJkODF8s67MVwWOe/j8WqOOXBMmbZ5n8241
i942Mmqegqujvx5uRUqaD6uWwBX2u4PzQzFEHYslKuns9jmQaWARx2rRtaav2Z3R
FBK9O80wifC7ts1z6XfVkNDjzzcl/DtHAtsqYj8k6c79h2ths28PJP1bCNsb0yr1
pO6S7lAs9f+yvrwOMkJL88d0D+u0vbWhlD2liRMv0WeWdMtxwQGKOU1I4OLkoPU6
IsrbNZODhSunWzdD525t8yYV/isgyv70EY3CpA35YjrfrZ1BlmNwtsary7tTaDd2
MmDHQAf1qQokYNNZIOZ0GaLaxEclbyEa+1eKqGdPUCp03emfreCmcDg1d+Cwz3Yr
V2xoTsOwVB5BGpSPV42RBjCwwoBa2QMokUPhTxTDmsw2Qm7RjA8=
=0PbZ
-----END PGP SIGNATURE-----

1. Select everything in the code tag > Copy (Ctrl+C)

2. Open System Tray > Right Click on Kleopatra icon > Mouse hover on Clipboard > Click Decrypt/Verify...
Loading... Loading...

3. Click Search > Wait few seconds until you see an active window > Select > Click Import

You will need PGP Fingerprint/Public Key of Husna QA, imported in Kleopatra Certificate list. If you do not have it prior then start from search.

Loading... Loading...

4. Check 1 & 2 > Click Next (3)

Loading... Loading...

5. Choose your key pair > Check Certify only for myself > Click Certify

Loading...

6. Enter passphrase > Click OK

Loading... Loading...

7. Click Finish (1) > If the imported information are valid then you will see green > Click Finish(2)

Loading... Loading...

8. Open another Notepad > Paste (Ctrl+V)

Code:
Date: 2018-03-29
Bitcointalk.org login: Husna QA (1827294)
Bitcoin address: 1HdK4YRuPrgWrTkFHTPaJoLvYJ8Cgehgnc
E-mail: husna.qurrota.a.02@gmail.com

PGP fingerprints:
RSA: 0x58BC997445D96F68DB65C169A2CA884F183D22E9
Ed25519: 0xC9B290C8C87C9BB5F440E82AD21FD04306AED362

I declare that aforestated Bitcoin address
may issue signatures controlling the aforestated Bitcointalk account.
I declare that my aforestated PGP Fingerprint RSA and Ed25519 Certification key is
the peremptory trust anchor for my online identity at this time,
and unless/until that key signs a statement declaring otherwise,
Unless this statement be revoked or modified by a statement bearing
authentication rooted in that key.

Congratulations, you just verified your first PGP Signed Message with Signature.

Create Encrypted Message Go to top

Before creating an Encrypted message we need someone else's PGP Fingerprint/Public Key Certificate. We already imported Public Key information for Husna QA. So, lets assume we will send him/her the Encrypted message. <<=== Please literally do not send him/her any message. Hack, s/he does not even know about this tutorial.

Now assume, below is our message and we want to Encrypt it.
Code:
It's m-day-online-r going to Encrypt this message..
..using Kleopatra PGP Encryption

1. Open Notepad > Type the message > Select the message > Copy the message.

2. Open System Tray > Right Click on Kleopatra icon > Mouse hover on Clipboard > Click Encrypt...
Loading... Loading...

3. Click Add Recipient(1)

Loading... Loading...

4. Select Recipient > Click OK (2) > Click Next

Loading... Loading...

5. Click OK

Loading...

6. Open Notepad > Paste (Ctrl+V)

Code:
-----BEGIN PGP MESSAGE-----

hQIMAxIivShhBiNAAQ/7BfTGV45X7tTjagQ/mfukFLFqo/FfrHLqVhySDYsYsoE5
hAXlQeKEm6mBC5XR30OutDYCEdQSW9JJTNrBFXwdghyHsfn1aVRZqNFrxtJYRM4C
yqFqfTPztfq8J4AGm9AtRmBi/EfIRI1QqgjGKokhHzHIeMUzO5wr5CnTfgH/8Xp2
SWq7R7b4ZQ0kxt2Jfj0n80wzWL/s1+IABl1JdiXeRqabaNrHR0VhrJYZlRYoZenC
/HXwlUWooyVG1oMfBr+qiaVddmzX2q6V5HrO4HBtaQ8bePK/zAdJE0KBKtcH0F3t
q4g7jErt7mmqw4WI+6l0wbix3FwFPPWFp9UkkV7QflUzvLHrEK+dK0Sx8+mALEhT
bkaGTypBslbAQGWXdQ4F66Zg/Pxkbu46IF8SZki9PTi5ngIwH6sOTgQFcXDlsbDz
eOLf1BH50LP0C5BbeVlHAHl+uP4A5Sd2ng6d0lACoMPNYCJEIERFSdoVG2N4s3QT
diihurYJCKLRO0g/vIEtoxnXltg9TAlJ0VQoGhirN4bMiNe1KV7qpl4/xXeFbjVD
IuiDFGG6q7Als9rzbt8dJKAMjOwlG/ai6vP/51IUqA0NaMX/HlEI2p8ZmqyeW28y
SnoRSOL4A3G6Bv7wORsFdX0DTRdCLAqtzF/HPx+U8xBMw2Uu1/sUrIAMtG6fTgXS
hgFrTTMr9mAJ83NbbKU0408hYMuIKPYM+fibolxxLnvSD40EuzsR5aeKOmfD/Le4
91PU5AQeWkcMSSuGvHDgGUZUyhrGM+bYV2ACNQ3+Hj1ZuRLsYoukcPxIo5ovpALs
xqSFtN1jNFhSShFagnGJuXyDi7HIz7TgQS9E+HmAfBF8ZeiW10G+
=ONYM
-----END PGP MESSAGE-----

Congratulations on Encrypting the message. If you send it to Husna QA, then only s/he can Decrypt it and read the original message.

Decrypt an Encrypted Message Go to top

Assume you know my PGP Fingerprint/Public Key. You sent me an Encrypted message which is below.

Code:
-----BEGIN PGP MESSAGE-----

hQEMA1cp8vlhFFhCAQf9FwUtrVFPHGIk+BOKOm5E5KpfIJz38hta1bz45uo4sxK3
JWgKM6H6WIwu/KJ8TFqgDIE6kHJjD/RRbPyZgm4eK0I6Wf328U3m5kAPOfijfF9M
lOq2Ge3RJM++aMk+n4DWTk9yYCr3gjlA+okAweU2A/FceadcK4oI9TEvtEADjali
aVaycGckF1v+d6chtBsWwb2pIvGOR+2kYSCYh9eKOLv2mPe4drjQ2rv5CupeDkms
bOeI65iKdc2Lgij4x+BbaITV0BDKnu/cWcRdAijGga1YdJAtAh6HSnjUsfiKj5bU
58GH4FC5G2TDmLWpUKVIdMuoX6BPyN4DS+EeI44fWtKEAWBVaCNAiLdqBQObrXiW
V8qRfGNefIIu/Dc2y33aNfKGYDyFpcdcQBqdOXFe4KWgH1ZuJq/J+7Ooy7v7YuYe
fDAuT9AQTJw0pAsira41pmPkzlwJBEmd3Abu4hkgVOBeY93Bo5+9tMB/93QL3flq
IGElANrEzaTv8YfSU8DCsXvdKara
=90j2
-----END PGP MESSAGE-----

My Fingerprint (This is the one I am using for the forum):
Code:
81DAEE690159E01E28FF951086FEA0B65C6E1B2C

Now, we will see how to decrypt this message.

1. Select the entire message > Copy (Ctrl + C)

2. Open System Tray > Right Click on Kleopatra icon > Mouse hover on Clipboard > Click Decrypt/Verify...
Loading... Loading...

3. Enter passphrase (1) > Click OK (2)

Loading... Loading...

4. Click Finish

Loading... Loading...

5. Open Notepad > Paste (Ctrl + V)
Code:
Hello m-day-online-r,
I am sending you this encrypted message.

Thank you.
This was the raw message which was encrypted before.

Some Real Life PGP Public Keys
Go to top

Some of the example PGP Public Keys you might be interested to explore or have it imported.

Name                      Knows as                                       Key file or Fingerprint   Ref
satoshiFounder and Bitcoin Creator   File   Source
theymosAdministrator of BitcoinTalk   File   Source
gmaxwellBitcoin Core Developer   File   Source

Exercises - Home Work
Go to top

Welcome to the exercises section. Before we start, here is what you wanna do.
1. Create a New Key Pair with the following information

Code:
          Name: ex-<your bitcoinTalk username>
          Email: <yourBitcoinTalkUsername@BitcoinTalk.com>
i.e:
Code:
          Name: ex-mdayonliner
          Email: <mdayonliner@BitcoinTalk.com>
We don't actually want to use our real name and email address for these exercises. The username part with the prefix ex- will help me and others to identify that we are communicating with you.

2. Have your Fingerprint published on the online server. It's gonna help me and other members to access your public key for encrypted communication.

We will have two assignments to practice. I will think of an award later for the successful participants.

Assignment 1: PGP Singed Message and Signature - Coming soon.
Assignment 2: Encrypt and Decrypt Message - Coming soon.


Click here for my Fingerprint on the server.
Code:
81DAEE690159E01E28FF951086FEA0B65C6E1B2C



electrobit: Could someone explain what is the purpose or advantages about to create or make a PGP?
Answer

Please feel free to ask any question in the comment. I will add them in here with the answer. If I do not have the answer then I will try to seek senior members' help or I will find an answer for your question. Make sure the question is related to the topic.



Acknowledgements
Go to top

Husna QA: The topic PGP/GPG Signed Message - Public Key in his/her local language was the starter for me to start my learning. I am happy that I was good enough to understand the translation in English.
TryNinja: Provided some URLs which cleared my head to understand better.
hugeblack: Suggested the idea of adding some example PGP Public Keys.
All the members who were leaving their PGP PUBLIC KEYs all around the forum. Seeing these encrypted codes were interesting for me and finally I decided to investigate what was it all about.




References
Go to top

https://en.wikipedia.org/wiki/Pretty_Good_Privacy
http://www.pitt.edu/~poole/PGP.htm





This tutorial will be continued with further materials in future
Looking forward to your expertise review and feedback

1714264112
Hero Member
*
Offline Offline

Posts: 1714264112

View Profile Personal Message (Offline)

Ignore
1714264112
Reply with quote  #2

1714264112
Report to moderator
1714264112
Hero Member
*
Offline Offline

Posts: 1714264112

View Profile Personal Message (Offline)

Ignore
1714264112
Reply with quote  #2

1714264112
Report to moderator
1714264112
Hero Member
*
Offline Offline

Posts: 1714264112

View Profile Personal Message (Offline)

Ignore
1714264112
Reply with quote  #2

1714264112
Report to moderator
The Bitcoin software, network, and concept is called "Bitcoin" with a capitalized "B". Bitcoin currency units are called "bitcoins" with a lowercase "b" -- this is often abbreviated BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714264112
Hero Member
*
Offline Offline

Posts: 1714264112

View Profile Personal Message (Offline)

Ignore
1714264112
Reply with quote  #2

1714264112
Report to moderator
1714264112
Hero Member
*
Offline Offline

Posts: 1714264112

View Profile Personal Message (Offline)

Ignore
1714264112
Reply with quote  #2

1714264112
Report to moderator
goxcraft
Sr. Member
****
Offline Offline

Activity: 594
Merit: 271


View Profile
October 05, 2023, 11:28:05 AM
 #2

Thank you for fixing the broken image links. I have been also looking for this. One thing I'm unsure of, it the guide up to date? The original thread is bit old. Is there any smartphone guide available? Many doesn't have any desktop devices.
NotATether
Legendary
*
Offline Offline

Activity: 1582
Merit: 6695


bitcoincleanup.com / bitmixlist.org


View Profile WWW
October 05, 2023, 11:52:57 AM
Merited by Odusko (1)
 #3

Thank you for fixing the broken image links. I have been also looking for this. One thing I'm unsure of, it the guide up to date? The original thread is bit old. Is there any smartphone guide available? Many doesn't have any desktop devices.

All of the software mentioned in this article should work with the latest operating systems, and last time I checked, they had the exact same user interfaces as seen in this guide. So it should still work right now.

There are some smartphone apps that can import your PGP key and encrypt messages with it, although I do not believe any of these have integrations with email. But it's simple enough if you're just sending text content without attachments.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Husna QA
Legendary
*
Offline Offline

Activity: 2254
Merit: 2854


#SWGT CERTIK Audited


View Profile WWW
October 05, 2023, 11:59:23 PM
Merited by hugeblack (4)
 #4

This tutorial will be continued with further materials in future
Looking forward to your expertise review and feedback

I suggest you complement it with your own experience in practising it, as in the past, mdayonliner wrote its version by using my thread PGP/GPG Signed Message - Public Key in Indonesian as a reference*.

In my thread, it is intended for several OS with several methods and applications:

- [Tutorial] PGP/GPG (Mac OS X) - Husna QA
- [Tutorial] PGP/GPG (Microsoft Windows) - Husna QA
- [Tutorial] PGP/GPG (Linux) - joniboini

Those who need the information may be able to use a machine translation to understand it.


*
-snip-
Husna QA: The topic PGP/GPG Signed Message - Public Key in his/her local language was the starter for me to start my learning. I am happy that I was good enough to understand the translation in English.

Learn Bitcoin (OP)
Hero Member
*****
Offline Offline

Activity: 504
Merit: 806


#SWGT CERTIK Audited


View Profile WWW
October 06, 2023, 12:53:20 AM
 #5

Thank you for fixing the broken image links. I have been also looking for this. One thing I'm unsure of, it the guide up to date? The original thread is bit old. Is there any smartphone guide available? Many doesn't have any desktop devices.

I have tried the latest version of gpg4win and the user interface seems almost the same. There are some changes, but I guess you won't face issues understanding the new UI. If you face difficulties understanding something, you can post here and many members will help you including me.

About the Android version: Currently I am testing an Android, if I can do all the necessary steps with the app I am trying, I will share in this community. But I guess most of us use Desktop.

I suggest you complement it with your own experience in practising it, as in the past, mdayonliner wrote its version by using my thread PGP/GPG Signed Message - Public Key in Indonesian as a reference*.

In my thread, is intended for several OS with several methods and applications:

I have tried it myself. I have written a beginner tutorial in the Bengali version. Since the English version is already available, I did not want to write it again. I fixed the broken images instead. Moreover, I do not have several OS at this moment. But, I will try if I can.


Odusko
Hero Member
*****
Offline Offline

Activity: 882
Merit: 507


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
October 06, 2023, 07:25:22 PM
 #6

Thank you for fixing the broken image links. I have been also looking for this. One thing I'm unsure of, it the guide up to date? The original thread is bit old. Is there any smartphone guide available? Many doesn't have any desktop devices.

All of the software mentioned in this article should work with the latest operating systems, and last time I checked, they had the exact same user interfaces as seen in this guide. So it should still work right now.

Some smartphone apps can import your PGP key and encrypt messages with it, although I do not believe any of these have integrations with email. But it's simple enough if you're just sending text content without attachments.
On a few occasions, I have used a smartphone version app to encrypt messages and it works fine, and also has email integration and if the mate needs any further help on available help the mobile app, he can then ask to provide him with the app name.
Of course, he has to do his research about the mobile apps before using them to avoid any possible threat if there be any, but PGP is best for PCs but not everyone has access to a PC most times to that extent, the mobile app should fit in as an alternative to convey secured encrypted messages.

.
.Duelbits.
█▀▀▀▀▀











█▄▄▄▄▄
TRY OUR
  NEW  UNIQUE
GAMES!
.
..DICE...
███████████████████████████████
███▀▀                     ▀▀███
███    ▄▄▄▄         ▄▄▄▄    ███
███   ██████       ██████   ███
███   ▀████▀       ▀████▀   ███
███                         ███
███                         ███
███                         ███
███   ▄████▄       ▄████▄   ███
███   ██████       ██████   ███
███    ▀▀▀▀         ▀▀▀▀    ███
███▄▄                     ▄▄███
███████████████████████████████
.
.MINES.
███████████████████████████████
████████████████████████▄▀▄████
██████████████▀▄▄▄▀█████▄▀▄████
████████████▀ █████▄▀████ █████
██████████      █████▄▀▀▄██████
███████▀          ▀████████████
█████▀              ▀██████████
█████                ██████████
████▌                ▐█████████
█████                ██████████
██████▄            ▄███████████
████████▄▄      ▄▄█████████████
███████████████████████████████
.
.PLINKO.
███████████████████████████████
█████████▀▀▀       ▀▀▀█████████
██████▀  ▄▄███ ███      ▀██████
█████  ▄▀▀                █████
████  ▀                    ████
███                         ███
███                         ███
███                         ███
████                       ████
█████                     █████
██████▄                 ▄██████
█████████▄▄▄       ▄▄▄█████████
███████████████████████████████
10,000x
MULTIPLIER
NEARLY UP TO
.50%. REWARDS
▀▀▀▀▀█











▄▄▄▄▄█
Learn Bitcoin (OP)
Hero Member
*****
Offline Offline

Activity: 504
Merit: 806


#SWGT CERTIK Audited


View Profile WWW
October 07, 2023, 08:05:52 AM
 #7

I suggest you complement it with your own experience in practising it, as in the past, mdayonliner wrote its version by using my thread PGP/GPG Signed Message - Public Key in Indonesian as a reference*.

In my thread, it is intended for several OS with several methods and applications:

Haha. A funny thing happened to me last night. I wanted to dual boot my PC with Fedora workstation 38 and needed at least 15 GB of unallocated free space in the same drive. I had 137 GB of free space available, but when I tried to shrink the drive, it allowed me to shrink a maximum of 14 GB. So, I deleted some files and turned off some Windows features shown in a YouTube video tutorial. After installing the OS, I noticed my Windows files got corrupted, and I had to format the SSD without having any backup. My HDD was also damaged simultaneously with 1.5 TB of files, and now I got fu**d up. I found some bugs and difficulties on Fedora workstation 38, so I installed Debian 12 this time. I hope everything will be fine, and I guess it's my end with Windows! I am already having some difficulties with Linux as I am a new user.

hugeblack
Legendary
*
Offline Offline

Activity: 2492
Merit: 3611


Buy/Sell crypto at BestChange


View Profile WWW
October 07, 2023, 10:46:39 AM
 #8

As the members mentioned above, it is better to rephrase the topic in your own personal style, or at least try out even a limited part of the explanation and try to show an updated version of the UI. In general, mdayonliner did a great job on this topic and I was surprised at how it was deceived in a similar topic weeks later. Overall, add your personal touch to future topics and keep up the good work.

.BEST..CHANGE.███████████████
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
███████████████
..BUY/ SELL CRYPTO..
goxcraft
Sr. Member
****
Offline Offline

Activity: 594
Merit: 271


View Profile
October 07, 2023, 11:52:12 AM
 #9

Thank you for fixing the broken image links. I have been also looking for this. One thing I'm unsure of, it the guide up to date? The original thread is bit old. Is there any smartphone guide available? Many doesn't have any desktop devices.

All of the software mentioned in this article should work with the latest operating systems, and last time I checked, they had the exact same user interfaces as seen in this guide. So it should still work right now.

Some smartphone apps can import your PGP key and encrypt messages with it, although I do not believe any of these have integrations with email. But it's simple enough if you're just sending text content without attachments.
On a few occasions, I have used a smartphone version app to encrypt messages and it works fine, and also has email integration and if the mate needs any further help on available help the mobile app, he can then ask to provide him with the app name.
Of course, he has to do his research about the mobile apps before using them to avoid any possible threat if there be any, but PGP is best for PCs but not everyone has access to a PC most times to that extent, the mobile app should fit in as an alternative to convey secured encrypted messages.
I would love to test it on my mobile device. Of course, all of these are solely for testing purposes. I don't intend to use it on a daily basis. So if you give me some names and references, it would be of great help.
Learn Bitcoin (OP)
Hero Member
*****
Offline Offline

Activity: 504
Merit: 806


#SWGT CERTIK Audited


View Profile WWW
October 07, 2023, 12:41:12 PM
 #10

As the members mentioned above, it is better to rephrase the topic in your own personal style, or at least try out even a limited part of the explanation and try to show an updated version of the UI. In general, mdayonliner did a great job on this topic and I was surprised at how it was deceived in a similar topic weeks later. Overall, add your personal touch to future topics and keep up the good work.

Thanks for your suggestion. The thread was well explained and too long already. I don't think I could organize the thread the way the previous thread creator did the job. Since the tutorial is already available and the UI did not change much, I just fixed the images here. But as you and others suggested, I was trying to switch to another OS just for this PGP Tutorial purpose, and I destroyed my Windows OS by mistake. I am currently setting my Debian 12 OS and I am already having some difficulties. I will develop a short, basic tutorial on PGP encryption/decryption for Linux users. But I am unsure if I should create a new thread or post it here as a reply. If I post as a reply, I think it won't get many views.

Husna QA
Legendary
*
Offline Offline

Activity: 2254
Merit: 2854


#SWGT CERTIK Audited


View Profile WWW
October 07, 2023, 02:54:54 PM
 #11

-snip-

Haha. A funny thing happened to me last night. I wanted to dual boot my PC with Fedora workstation 38 and needed at least 15 GB of unallocated free space in the same drive. I had 137 GB of free space available, but when I tried to shrink the drive, it allowed me to shrink a maximum of 14 GB. So, I deleted some files and turned off some Windows features shown in a YouTube video tutorial. After installing the OS, I noticed my Windows files got corrupted, and I had to format the SSD without having any backup. My HDD was also damaged simultaneously with 1.5 TB of files, and now I got fu**d up. I found some bugs and difficulties on Fedora workstation 38, so I installed Debian 12 this time. I hope everything will be fine, and I guess it's my end with Windows! I am already having some difficulties with Linux as I am a new user.

I once experienced something like what you experienced when I was just learning computers (I remember using Windows 98). Because the hard disk capacity was starting to fill up, I deleted several Windows OS files, which turned out to be system files from the OS, and the result was that the OS became corrupt. However, I can learn from this experience.

Instead of using dual boot by dividing partitions, why don't you first try using a virtual machine such as a virtual box or others to test specific operating systems, including PGP Signature on different OS?

I use MacOS as the primary OS. I run other OS using a virtual machine for testing PGP Signature or another application.

Learn Bitcoin (OP)
Hero Member
*****
Offline Offline

Activity: 504
Merit: 806


#SWGT CERTIK Audited


View Profile WWW
October 08, 2023, 10:56:34 AM
 #12

Instead of using dual boot by dividing partitions, why don't you first try using a virtual machine such as a virtual box or others to test specific operating systems, including PGP Signature on different OS?

I use MacOS as the primary OS. I run other OS using a virtual machine for testing PGP Signature or another application.

Well, I didn't realize I am this much bad at setting up OS. I thought it wouldn't be that hard to set up OS in dual boot as I already shrank enough space for the Debian 12. I always get a suggestion from time to time to switch to Linux. So, I wanted to migrate there but I wanted to keep the Windows OS as well. A virtual machine could have been a good option, but I don't know why I didn't try a virtual machine first.

I had some weird experience setting up the OS. I have two SSDs installed and I installed the Debian 12 on my 240 GB storage. For some reason, if I unplug my other SSD which is 500 GB, the OS does not boot. This is weird. So, I removed that SSD again and installed Windows again. Now I am setting up the Debian 12 again. I hope everything will be fine after this attempt.

satscraper
Hero Member
*****
Offline Offline

Activity: 714
Merit: 1308


Cashback 15%


View Profile
April 18, 2024, 04:05:09 PM
Last edit: April 18, 2024, 04:47:31 PM by satscraper
 #13

To sign messages and encrypt/decrypt files with Kleopatra  you may use the  hardware pgp cards that hold your private keys.

To do this insert your card to USB port, launch Kleopatra and import the public key relevant to private one holding by that card.

After this you will be able to do all sign/encrypt/decrypt operation relying solely on your smart card.

gpg code for card setup

Code:
gpg --allow-secret-key-import --import <path to secret key file>

gpg --expert --edit-key <KeyID>

gpg> toggle

gpg> keytocard

(answer Yes and then choose 1)

gpg> key 1

gpg>  keytocard

(answer Yes and then choose 2)

gpg> key 1

gpg> key 2

gpg> keytocard


(answer Yes and then choose 3)

gpg> quit

Choose No ( If you choose Yes, local security key will be deleted and thus, can't be imported into another card)



Quote from: satscraper






.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!