<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cryptography on Kevin wang's blog</title><link>https://kevinwang930.github.io/tags/cryptography/</link><description>Recent content in Cryptography on Kevin wang's blog</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 23 Jul 2026 12:20:11 +0800</lastBuildDate><atom:link href="https://kevinwang930.github.io/tags/cryptography/index.xml" rel="self" type="application/rss+xml"/><item><title>Cryptographic Primitives: Encoding, Hashing, and Encryption</title><link>https://kevinwang930.github.io/post/computer/encryption/</link><pubDate>Thu, 23 Jul 2026 12:20:11 +0800</pubDate><guid>https://kevinwang930.github.io/post/computer/encryption/</guid><description>&lt;p&gt;Cryptography in networked systems combines several &lt;strong&gt;primitive classes&lt;/strong&gt; that are often conflated: encoding, hashing, symmetric encryption, and public-key operations. This post gives an &lt;strong&gt;overview&lt;/strong&gt; of those classes, then the &lt;strong&gt;mechanisms&lt;/strong&gt; of common algorithms—including elliptic-curve group law, ECDHE, ECDSA, AEAD, and HKDF—and finally &lt;strong&gt;protocol-level&lt;/strong&gt; composition (TLS sessions, SASL, OpenPGP-style signatures) with tool examples. Encoding is not encryption. Hashing is not encryption. Secret keys must come from a CSPRNG; see &lt;a href="../java-random/"&gt;Random Number Generation in the JDK&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>