<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Security on Loaay Waheed</title>
    <link>https://luvimsan.dev/series/security/</link>
    <description>Recent content in Security on Loaay Waheed</description>
    <generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Copyright © 2026, Loaay Waheed.</copyright><lastBuildDate>Tue, 14 Jul 2026 16:46:55 +0300</lastBuildDate><atom:link href="https://luvimsan.dev/series/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to use GPG</title>
      <link>https://luvimsan.dev/blog/how-to-use-gpg/</link>
      <pubDate>Tue, 14 Jul 2026 16:46:55 +0300</pubDate>
      <guid>https://luvimsan.dev/blog/how-to-use-gpg/</guid>
      <description>&lt;p&gt;GPG stands for &lt;strong&gt;GNU Privacy Guard&lt;/strong&gt;. It’s a free, open-source tool that helps
you encrypt and sign your data. The focus of this blog won&amp;rsquo;t be on the history of
gpg - you can read more here&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; - however we will delve into how to use gpg&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;from creating a gpg key&lt;/li&gt;
&lt;li&gt;to choosing which kind of key pair&lt;/li&gt;
&lt;li&gt;ending with some useful flags to keep in mind&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;creating-a-gpg-key&#34;&gt;Creating a GPG key&lt;/h3&gt;
&lt;p&gt;first things first you&amp;rsquo;ll need to make sure you have GPG installed on your system
you can check with &lt;code&gt;gpg --version&lt;/code&gt;. If not. Check out your package manager or
&lt;a href=&#34;https://www.gnupg.org/download/&#34;
  
   target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;
&gt;GnuPG official website&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Create a gpg key pair&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gpg --full-gen-key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;choosing-which-kind-of-gpg-key&#34;&gt;Choosing which kind of GPG key&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You will be prompted with different types of keys. we will choose a key that
supports both signing and encrypting&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please &lt;span style=&#34;color:#ff79c6&#34;&gt;select&lt;/span&gt; what kind of key you want:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; RSA and RSA
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;2&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; DSA and Elgamal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;3&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; DSA &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;sign only&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;4&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; RSA &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;sign only&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;9&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; ECC &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;sign and encrypt&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; *default*
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;10&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; ECC &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;sign only&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;14&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; Existing key from card
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;My recommendation will be &lt;strong&gt;(9)&lt;/strong&gt; same as the default&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Please &lt;span style=&#34;color:#ff79c6&#34;&gt;select&lt;/span&gt; which elliptic curve you want:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;1&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; Curve &lt;span style=&#34;color:#bd93f9&#34;&gt;25519&lt;/span&gt; *default*
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;4&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; NIST P-384
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#ff79c6&#34;&gt;(&lt;/span&gt;6&lt;span style=&#34;color:#ff79c6&#34;&gt;)&lt;/span&gt; Brainpool P-256
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;I will choose the default as well. The famous algorithm Curve 25519&lt;/li&gt;
&lt;li&gt;then you will be asked about expiration, name, email address, and finally the
master password&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s untangle what happened. We have made a pair of public/private keys for
signing and encrypting any kind of data&lt;/p&gt;
&lt;p&gt;to view them&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;for binary&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;public:   &lt;code&gt;gpg --export &amp;gt; pub.gpg&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;private:  &lt;code&gt;gpg --export-secret-keys  &amp;gt; private.pgp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;for ASCII use &lt;code&gt;--armor&lt;/code&gt; flag&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;public:   &lt;code&gt;gpg --armor --export &amp;gt; pub.asc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;private:  &lt;code&gt;gpg --armor --export-secret-keys &amp;gt; private.asc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;gpg-flags&#34;&gt;GPG flags&lt;/h3&gt;
&lt;p&gt;those are some useful flags to keep in your pocket&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;list pub keys:          &lt;code&gt;gpg --list-keys&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;list private keys:      &lt;code&gt;gpg --list-secret-keys&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;delete pub keys:        &lt;code&gt;gpg --delete-key&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;delete private keys:    &lt;code&gt;gpg --delete-secret-key&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;refresh keys:           &lt;code&gt;gpg --refresh-keys&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;references&#34;&gt;References&lt;/h3&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://terrazone.io/what-is-gpg/&#34;
  
   target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;
&gt;What Is GPG? The Complete Guide to Open-Source Encryption&lt;/a&gt;
&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
  </channel>
</rss>
