<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Al's Thoughts...</title><link>https://dalw.in/</link><description>Recent content on Al's Thoughts...</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 19 May 2026 00:43:22 +0530</lastBuildDate><atom:link href="https://dalw.in/index.xml" rel="self" type="application/rss+xml"/><item><title>About me</title><link>https://dalw.in/about/about/</link><pubDate>Tue, 19 May 2026 00:43:22 +0530</pubDate><guid>https://dalw.in/about/about/</guid><description>&lt;h2 id="hello-and-welcome"&gt;Hello, and Welcome!&lt;/h2&gt;
&lt;p&gt;Thanks for stopping by. Whether you stumbled across this page by accident or came here with a purpose, I’m glad you’re here.&lt;/p&gt;
&lt;p&gt;At the core of who I am, I am a &lt;strong&gt;disciple of Jesus Christ&lt;/strong&gt;. My faith isn&amp;rsquo;t just a part of my life; it is the foundation of everything I do. I believe in the truth of the Bible, and I strive to live a life that does not compromise on the Word of God, standing firm in faith even when the culture shifts.&lt;/p&gt;</description></item><item><title>Where Is India Heading</title><link>https://dalw.in/posts/politics/where-is-india-heading/</link><pubDate>Mon, 18 May 2026 23:35:05 +0530</pubDate><guid>https://dalw.in/posts/politics/where-is-india-heading/</guid><description>&lt;h1 id="where-is-india-heading"&gt;Where is India heading&lt;/h1&gt;
&lt;p&gt;Here is where the content goes&lt;/p&gt;</description></item><item><title>Decline of Cricket in India</title><link>https://dalw.in/posts/sports/decline-of-cricket-in-india/</link><pubDate>Mon, 18 May 2026 23:15:32 +0530</pubDate><guid>https://dalw.in/posts/sports/decline-of-cricket-in-india/</guid><description>&lt;h1 id="decline-of-cricket-in-india"&gt;Decline of Cricket in India&lt;/h1&gt;
&lt;p&gt;This is the content&lt;/p&gt;</description></item><item><title>How to Use Elliptic Curve Diffie Hellman Library in Go</title><link>https://dalw.in/posts/technology/how-to-use-elliptic-curve-diffie-hellman-library-in-go/</link><pubDate>Mon, 18 May 2026 23:15:32 +0530</pubDate><guid>https://dalw.in/posts/technology/how-to-use-elliptic-curve-diffie-hellman-library-in-go/</guid><description>&lt;p&gt;Go introduced a new library called &lt;a href="https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman"&gt;Elliptic Curve Diffie Hellman&lt;/a&gt;(&lt;a href="https://pkg.go.dev/crypto/ecdh"&gt;crypto/ecdh&lt;/a&gt;) in v1.20.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s see how to use this library to exchange encrypted data between two entities without sharing the secret that was used to encrypt the data.&lt;/p&gt;
&lt;h3 id="generate-public-key-on-the-client"&gt;Generate public key on the client&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;clientCurve&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;ecdh.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;P256&lt;/span&gt;()&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;clientPrivKey,&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;clientCurve.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;GenerateKey&lt;/span&gt;(rand.Reader)&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;!=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;nil&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;{&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6e7681"&gt;	&lt;/span&gt;t.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;Fatalf&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#34;Error: %v&amp;#34;&lt;/span&gt;,&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err)&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;clientPubKey&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;clientPrivKey.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;PublicKey&lt;/span&gt;()&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="generate-public-key-on-the-server"&gt;Generate public key on the server&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;serverCurve&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;ecdh.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;P256&lt;/span&gt;()&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;serverPrivKey,&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;serverCurve.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;GenerateKey&lt;/span&gt;(rand.Reader)&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff7b72"&gt;if&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;!=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff"&gt;nil&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;{&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6e7681"&gt;	&lt;/span&gt;t.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;Fatalf&lt;/span&gt;(&lt;span style="color:#a5d6ff"&gt;&amp;#34;Error: %v&amp;#34;&lt;/span&gt;,&lt;span style="color:#6e7681"&gt; &lt;/span&gt;err)&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;serverPubKey&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;:=&lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;serverPrivKey.&lt;span style="color:#d2a8ff;font-weight:bold"&gt;PublicKey&lt;/span&gt;()&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;clientPubkey&lt;/code&gt; and &lt;code&gt;serverPubKey&lt;/code&gt; can be shared over the network as plain text.&lt;/p&gt;</description></item></channel></rss>