Better styling (links, etc.) Add new blog post (RSA2)

master
Tait Hoyem 4 years ago
parent 82cef8f872
commit 603bd3a4a9

@ -20,19 +20,33 @@
- name: Podcast
value: /podcast/
label: Out Of Sight
- heading: Security Links
- heading: Secure Service Links
values:
- name: ToxID
value: tox:26EF54FC97D51C086BBD8D2A9FCF31E6BBAC06042862D566C450160B4F1BEC5C9B76E0B7FB01
label: 26EF54FC97D51C086BBD8D2A9FCF31E6BBAC06042862D566C450160B4F1BEC5C9B76E0B7FB01
- name: Public Key
value: https://tait.tech/public-key.asc
label: INHERIT
- heading: Other Links
- name: Signal
value: https://signal.org
label: INHERIT
- name: Tox
value: https://tox.chat
label: INHERIT
- name: Protonmail
value: https://protonmail.com
label: INHERIT
- heading: Linux Links
values:
- name: Arch Linux Wiki
value: https://wiki.archlinux.org/
label: INHERIT
- name: Gentoo Wiki
value: https://wiki.gentoo.org/wiki/Main_Page
label: INHERIT
- name: Luke Smith
value: https://lukesmith.xyz
label: INHERIT
- name: Brian Lunduke
value: https://lunduke.com
label: INHERIT
- heading: Interesting Links
values:
- name: Suckless
value: https://suckless.org
label: INHERIT
@ -42,20 +56,11 @@
- name: Edward Snowden
value: https://www.biography.com/activist/edward-snowden
label: INHERIT
- name: Gentoo Wiki
value: https://wiki.gentoo.org/wiki/Main_Page
- heading: Best Websites in Existence
values:
- name: Gregory Gundersen
value: https://gregorygundersen.com
label: INHERIT
- name: Luke Smith
value: https://lukesmith.xyz
- name: The Best Website
value: https://thebestmotherfucking.website
label: INHERIT
- heading: Secure Service Links
values:
- name: Signal
value: https://signal.org
label: INHERIT
- name: Tox
value: https://tox.chat
label: INHERIT
- name: Protonmail
value: https://protonmail.com
label: INHERIT

@ -3,7 +3,7 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
{% for item in site.data.nav %}
<a href="{{ item.link }}" {% if item.link == page.url %} class="on-page"{% endif %} {% if item.new_tab == true %} target="_blank" rel="noopener noreferrer" {% endif %}>{{ item.name }}</a>
<a href="{{ item.link }}" class="nav-link" {% if item.link == page.url %} class="on-page"{% endif %} {% if item.new_tab == true %} target="_blank" rel="noopener noreferrer" {% endif %}>{{ item.name }}</a>
{% endfor %}
</div>
</nav>

@ -1,5 +1,5 @@
---
title: "RSA Part 1: Why?"
title: "Is Encryption Worth It?"
layout: post
author: tait
---
@ -51,5 +51,5 @@ This is just the data we know of. You can disable the [telemetry](https://en.wik
### What about RSA?
RSA is an encryption method named after the initials of the inventors' sir names: Ron **R**ivest, Adi **S**hamir, and Leonard **A**dleman. It uses the mathematical "factoring problem" to secure communication. The details of this specific type of encryption will be discussed in part 2 of this series on RSA.
RSA is an encryption method named after the initials of the inventors' sir names: Ron **R**ivest, Adi **S**hamir, and Leonard **A**dleman. It uses the mathematical "factoring problem" to secure communication. The details of this specific type of encryption will be discussed in an article soon to come.

@ -0,0 +1,108 @@
---
author: tait
layout: post
title: "How Does Encryption Work, in Theory?"
---
There are many kinds of encryption used in our everyday communication. Online and offline, over the internet and in person. In this article, I will explain the basics of how encryption should work in theory. I explain in [this article](/2020/01/26/rsa1.html) why encryption is important, and why *you* should care about it.
We will start by looking at in-person, offline encryption.
## Cryptography We Do Everyday
We encrypt things all the time without even thinking about it.
If you spend a significant amount of time with the same group of friends, your will tend of develop common codes that may not make sense to others outside the group.
For example: for years, my family called sombody falling from a sitting position "doing a Don". There is a story of course---We knew a guy named Don who fell from his plastic beach chair in a rather hilarious way; "doing a Don" was born.
These kind of minor dialects in speech are cryptographic in their own way. The truth is though, that we use cryptography much more than that!
> "Is cryptography any different than talking?
> We say something other than what we mean, and then expect everyone is able to decipher the true meaning behind the words.
> Only, I never do..." --- Adapted from a scene in [The Imitation Game (p. 39-40)](https://www.benedictcumberbatch.co.uk/wordpress/wp-content/uploads/ScreenplayTIG.pdf)
How many times have you hinted, flirted, and innuendoed to try to say "I find you very physically attractive"?
Have you told your friend that always stinks to wear more deoderent?
Have you ever had someone say the words "I'm fine" when you know *for certain* that they are indeed not okay?
Words Said | Meaning
--- | ---
What can you do? | I don't want to talk about this anymore.
I don't want to overstay my welcome. | I want to go home now.
I don't like them and don't know why. | They threaten my ego.
Creepy | Unattractive and friendly
All of these scenarios are perfect examples of ~~lies~~ encryption! If we have the key to these codes, we can start to understand what people really mean.
Hopefully I have convinced you that you use ~~deceit~~ cryptography on a regular basis in your life, so let us consider what a basic encryption method might be:
## Grade-School Encryption
Back when I was in middle school I used to pass notes like these:
PIC
This is a messege encrypted using the Caesar cipher. This encryption technique was used by Julius Caesar during the reign of the Roman Empire to "encrypt messeges of military significance."<a class="citation-link" href="https://en.wikipedia.org/wiki/Caesar_chipher/">[1]</a>
This is one of the oldest and simplest methods of encryption known to us today.
![A diagram of a Ceasar Shift algorithm. A <-> N, B <-> O, et cetera.](/assets/img/ceasar13.png)
You can try this out yourself by moving some letters forward in the alphabet.
An 'A' turns into a 'B', 'B' into 'C', 'C' into 'D', et cetera.
In this case, "Hello!" would become "Ifmmp!"
That is just using a shift of one. You can use a shift of seven, for example, and then you would shift letters like so:
- `A -> +7 -> H`
- `Q -> +7 -> X`
- `T -> +7 -> A`
We should wrap-around to the beginning of the alphabet if there are no letters left.
## Example of a Caesar Cipher
Let's setup a little story to illustrate the problems of encryption. We will have three characters:
* Alice, a little girl with feelings for Bob
* Bob, a young boy with an addiction to pancakes
* Eve, a wee jealous girl scout who sits between Bob and Alice
Alice really likes Bob and wants to tell Bob her feelings, so she writes "I love you, Bob! Please eat healthier!" on a sticky note.
She passes it to Eve, so Eve can pass it to Alice's love interest.
However, in an unfortunate turn of events Eve reads the note herself, and decides not to give it to Bob.
Oh the horror! Alice is without young love! How could she remedy this so that Bob can read her messege, but evil Eve can not?
Let's use the Caesar cipher to fix this problem.
Let us assume that Alice and Bob already have a shared key, 7 for example. To encrypt this messege, we should shift our letters seven letters forward in the alphabet---just like the example above.
PIC2
Now Alice's messege reads "P svcl fvb, Ivi! Wslhzl lha olhsaoply!"
Now, when Alice sends her Romeo a little note, all he has to do is decrypt the text by shifting the letters down by 7.
[Here is a site](https://www.xarg.org/tools/caesar-cipher/) which can do longer pieces of text for you instead of doing it manually.
## Problems
Before the two love-birds start smooching on the branch of a big pine tree in the schoolyard, perhaps we should consider some problems with the Ceasar cipher.
#### It is Very Easy to Break
Even Eve with her measly grade 4 math skills could easily start going through this messege with pen and paper and figure out any combination in a couple hours at maximum.
Imagine how easy this is for a computer?
This could be broken in a few microseconds even on an older processor like the Intel Core 2 Duo.
#### No Secure Way of Sharing Keys
We assumed in our previous example that Bob and Alice already have a shared key (seven) to encrypt and decrypt all of their messeges.
If Bob and Alice did not have a previous friendship and time to share secrets of this sort, there is no way to share their key with eachother without Eve also knowing.
This would defeat the entire purpose of obscuring the messege in the first place.
#### Universal Vulnerability of Messeges
Every messege sent between the two parties uses the same code to encrypt and decrypt. If someone finds out the code once, all previous communications are comprimised.
## Better Encryption Methods
To combat the issues with easily breakable, shared-key cryptography, we can turn to the beautiful beast that is [Asymetric Cryptography](https://en.wikipedia.org/wiki/Public-key_cryptography).
I will discuss this more in another article, but for the technically inclined:
1. [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem))/[EC](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) provides *very* large cryptographic keys. It would be impossible for a human to encrypt or decrypt a messege manually.
2. [Asymetric cryptography](https://www.youtube.com/watch?v=GSIDS_lvRv4) provides four keys, instead of just one; stopping evesdroppers from listening in on your secret conversations---even if you do not have the change to exchange keys in advance.

@ -1,7 +1,9 @@
$normal-text-color: #111;
$normal-text-color: #444444;
$nav-link-color: #333;
$nav-link-hover-color: black;
$link-color: #444;
$link-color: #47a;
$visited-link-color: #941452;
$last-p-padd: 1.5em;
$nav-padd: 1em;
$line-under: 1px solid #aaa;
@ -23,7 +25,7 @@ body {
h1, h2, h3, h4, h5, h6 {
}
h1 {
font-size: 1.5em;
font-size: 2.5em;
}
h2 {
font-size: 1.3em;
@ -31,9 +33,21 @@ h2 {
h4 {
}
a {
text-decoration: none;
text-decoration: underline;
color: $link-color;
}
a:visited {
color: $visited-link-color;
}
a.nav-link,
a.post-title-link {
color: $nav-link-color;
text-decoration: none;
}
a.citation-link {
text-decoration: none;
}
label {
font-size: .8em;
}
@ -71,18 +85,13 @@ li {
width: 100%;
}
p {
padding: .5em 0;
line-height: 1.4em;
line-height: 1.5;
padding: .1em 0;
}
.line-under {
padding-bottom: $last-p-padd;
border-bottom: $line-under;
}
.article {
}
.article a {
text-decoration: underline;
}
.article a:hover {
color: rgba(0, 0, 0, 0.5);
}
@ -113,6 +122,9 @@ table th{
padding: 5px;
font-weight: normal;
}
table th {
font-weight: bold;
}
table {
width: 75%;
margin: auto;
@ -187,3 +199,8 @@ blockquote {
.bold {
font-weight: bold;
}
sup {
margin: 0;
padding: 0;
}

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RSA Part 1: Why?</title>
<title>Is Encryption Worth It?</title>
<link rel="stylesheet" href="/assets/css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
@ -13,18 +13,18 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>
<h1>RSA Part 1: Why?</h1>
<h1>Is Encryption Worth It?</h1>
<h4 class="post-date line-under">Sunday, January 26 2020</h4>
<div class="article">
@ -77,7 +77,7 @@ Japan lags slightly behind with 80 percent encrypted traffic.</p>
<h3 id="what-about-rsa">What about RSA?</h3>
<p>RSA is an encryption method named after the initials of the inventors sir names: Ron <strong>R</strong>ivest, Adi <strong>S</strong>hamir, and Leonard <strong>A</strong>dleman. It uses the mathematical “factoring problem” to secure communication. The details of this specific type of encryption will be discussed in part 2 of this series on RSA.</p>
<p>RSA is an encryption method named after the initials of the inventors sir names: Ron <strong>R</strong>ivest, Adi <strong>S</strong>hamir, and Leonard <strong>A</strong>dleman. It uses the mathematical “factoring problem” to secure communication. The details of this specific type of encryption will be discussed in an article soon to come.</p>
</div>

@ -0,0 +1,165 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How Does Encryption Work, in Theory?</title>
<link rel="stylesheet" href="/assets/css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="wrapper">
<nav>
<input type="checkbox" id="menu">
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>
<h1>How Does Encryption Work, in Theory?</h1>
<h4 class="post-date line-under">Wednesday, February 19 2020</h4>
<div class="article">
<p>There are many kinds of encryption used in our everyday communication. Online and offline, over the internet and in person. In this article, I will explain the basics of how encryption should work in theory. I explain in <a href="/2020/01/26/rsa1.html">this article</a> why encryption is important, and why <em>you</em> should care about it.</p>
<p>We will start by looking at in-person, offline encryption.</p>
<h2 id="cryptography-we-do-everyday">Cryptography We Do Everyday</h2>
<p>We encrypt things all the time without even thinking about it.
If you spend a significant amount of time with the same group of friends, your will tend of develop common codes that may not make sense to others outside the group.
For example: for years, my family called sombody falling from a sitting position “doing a Don”. There is a story of course—We knew a guy named Don who fell from his plastic beach chair in a rather hilarious way; “doing a Don” was born.</p>
<p>These kind of minor dialects in speech are cryptographic in their own way. The truth is though, that we use cryptography much more than that!</p>
<blockquote>
<p>“Is cryptography any different than talking?
We say something other than what we mean, and then expect everyone is able to decipher the true meaning behind the words.
Only, I never do…” — Adapted from a scene in <a href="https://www.benedictcumberbatch.co.uk/wordpress/wp-content/uploads/ScreenplayTIG.pdf">The Imitation Game (p. 39-40)</a></p>
</blockquote>
<p>How many times have you hinted, flirted, and innuendoed to try to say “I find you very physically attractive”?
Have you told your friend that always stinks to wear more deoderent?
Have you ever had someone say the words “Im fine” when you know <em>for certain</em> that they are indeed not okay?</p>
<table>
<thead>
<tr>
<th>Words Said</th>
<th>Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td>What can you do?</td>
<td>I dont want to talk about this anymore.</td>
</tr>
<tr>
<td>I dont want to overstay my welcome.</td>
<td>I want to go home now.</td>
</tr>
<tr>
<td>I dont like them and dont know why.</td>
<td>They threaten my ego.</td>
</tr>
<tr>
<td>Creepy</td>
<td>Unattractive and friendly</td>
</tr>
</tbody>
</table>
<p>All of these scenarios are perfect examples of <del>lies</del> encryption! If we have the key to these codes, we can start to understand what people really mean.
Hopefully I have convinced you that you use <del>deceit</del> cryptography on a regular basis in your life, so let us consider what a basic encryption method might be:</p>
<h2 id="grade-school-encryption">Grade-School Encryption</h2>
<p>Back when I was in middle school I used to pass notes like these:</p>
<p>PIC</p>
<p>This is a messege encrypted using the Caesar cipher. This encryption technique was used by Julius Caesar during the reign of the Roman Empire to “encrypt messeges of military significance.”<a class="citation-link" href="https://en.wikipedia.org/wiki/Caesar_chipher/">[1]</a>
This is one of the oldest and simplest methods of encryption known to us today.</p>
<p><img src="/assets/img/ceasar13.png" alt="A diagram of a Ceasar Shift algorithm. A &lt;-&gt; N, B &lt;-&gt; O, et cetera." /></p>
<p>You can try this out yourself by moving some letters forward in the alphabet.
An A turns into a B, B into C, C into D, et cetera.
In this case, “Hello!” would become “Ifmmp!”
That is just using a shift of one. You can use a shift of seven, for example, and then you would shift letters like so:</p>
<ul>
<li><code class="highlighter-rouge">A -&gt; +7 -&gt; H</code></li>
<li><code class="highlighter-rouge">Q -&gt; +7 -&gt; X</code></li>
<li><code class="highlighter-rouge">T -&gt; +7 -&gt; A</code></li>
</ul>
<p>We should wrap-around to the beginning of the alphabet if there are no letters left.</p>
<h2 id="example-of-a-caesar-cipher">Example of a Caesar Cipher</h2>
<p>Lets setup a little story to illustrate the problems of encryption. We will have three characters:</p>
<ul>
<li>Alice, a little girl with feelings for Bob</li>
<li>Bob, a young boy with an addiction to pancakes</li>
<li>Eve, a wee jealous girl scout who sits between Bob and Alice</li>
</ul>
<p>Alice really likes Bob and wants to tell Bob her feelings, so she writes “I love you, Bob! Please eat healthier!” on a sticky note.
She passes it to Eve, so Eve can pass it to Alices love interest.
However, in an unfortunate turn of events Eve reads the note herself, and decides not to give it to Bob.</p>
<p>Oh the horror! Alice is without young love! How could she remedy this so that Bob can read her messege, but evil Eve can not?
Lets use the Caesar cipher to fix this problem.</p>
<p>Let us assume that Alice and Bob already have a shared key, 7 for example. To encrypt this messege, we should shift our letters seven letters forward in the alphabet—just like the example above.</p>
<p>PIC2</p>
<p>Now Alices messege reads “P svcl fvb, Ivi! Wslhzl lha olhsaoply!”</p>
<p>Now, when Alice sends her Romeo a little note, all he has to do is decrypt the text by shifting the letters down by 7.
<a href="https://www.xarg.org/tools/caesar-cipher/">Here is a site</a> which can do longer pieces of text for you instead of doing it manually.</p>
<h2 id="problems">Problems</h2>
<p>Before the two love-birds start smooching on the branch of a big pine tree in the schoolyard, perhaps we should consider some problems with the Ceasar cipher.</p>
<h4 id="it-is-very-easy-to-break">It is Very Easy to Break</h4>
<p>Even Eve with her measly grade 4 math skills could easily start going through this messege with pen and paper and figure out any combination in a couple hours at maximum.
Imagine how easy this is for a computer?
This could be broken in a few microseconds even on an older processor like the Intel Core 2 Duo.</p>
<h4 id="no-secure-way-of-sharing-keys">No Secure Way of Sharing Keys</h4>
<p>We assumed in our previous example that Bob and Alice already have a shared key (seven) to encrypt and decrypt all of their messeges.
If Bob and Alice did not have a previous friendship and time to share secrets of this sort, there is no way to share their key with eachother without Eve also knowing.
This would defeat the entire purpose of obscuring the messege in the first place.</p>
<h4 id="universal-vulnerability-of-messeges">Universal Vulnerability of Messeges</h4>
<p>Every messege sent between the two parties uses the same code to encrypt and decrypt. If someone finds out the code once, all previous communications are comprimised.</p>
<h2 id="better-encryption-methods">Better Encryption Methods</h2>
<p>To combat the issues with easily breakable, shared-key cryptography, we can turn to the beautiful beast that is <a href="https://en.wikipedia.org/wiki/Public-key_cryptography">Asymetric Cryptography</a>.
I will discuss this more in another article, but for the technically inclined:</p>
<ol>
<li><a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">RSA</a>/<a href="https://en.wikipedia.org/wiki/Elliptic-curve_cryptography">EC</a> provides <em>very</em> large cryptographic keys. It would be impossible for a human to encrypt or decrypt a messege manually.</li>
<li><a href="https://www.youtube.com/watch?v=GSIDS_lvRv4">Asymetric cryptography</a> provides four keys, instead of just one; stopping evesdroppers from listening in on your secret conversations—even if you do not have the change to exchange keys in advance.</li>
</ol>
</div>
</div>
</body>
</html>

@ -1,14 +1,20 @@
body { background-color: #fefefe; padding: 15px; margin: auto; max-width: 600px; font-family: -apple-system, helvetica, arial, sans-serif; }
#wrapper { color: #111; font-size: 14px; }
#wrapper { color: #444444; font-size: 14px; }
#main-name { color: rgba(0, 0, 0, 0.8); }
h1 { font-size: 1.5em; }
h1 { font-size: 2.5em; }
h2 { font-size: 1.3em; }
a { text-decoration: none; color: #444; }
a { text-decoration: underline; color: #47a; }
a:visited { color: #941452; }
a.nav-link, a.post-title-link { color: #333; text-decoration: none; }
a.citation-link { text-decoration: none; }
label { font-size: .8em; }
@ -28,12 +34,10 @@ li { margin: .5em; }
#main-img { width: 100%; }
p { padding: .5em 0; line-height: 1.4em; }
p { line-height: 1.5; padding: .1em 0; }
.line-under { padding-bottom: 1.5em; border-bottom: 1px solid #aaa; }
.article a { text-decoration: underline; }
.article a:hover { color: rgba(0, 0, 0, 0.5); }
.post-date { text-transform: uppercase; font-weight: bold; color: rgba(0, 0, 0, 0.5); }
@ -44,6 +48,8 @@ p.post-excerpt { margin-top: 0; padding-top: 10px; }
table, table tr, table td, table th { border: 1px solid rgba(0, 0, 0, 0.5); border-collapse: collapse; padding: 5px; font-weight: normal; }
table th { font-weight: bold; }
table { width: 75%; margin: auto; }
table.post-list, table.post-list tr, table.post-list td { width: 100%; border: none; padding-left: 0; }
@ -69,4 +75,6 @@ blockquote { font-style: italic; }
.bold { font-weight: bold; }
sup { margin: 0; padding: 0; }
/*# sourceMappingURL=style.css.map */

@ -7,8 +7,8 @@
],
"sourcesContent": [
"@import \"main\";\n",
"$normal-text-color: #111;\n$nav-link-color: #333;\n$nav-link-hover-color: black;\n$link-color: #444;\n$last-p-padd: 1.5em;\n$nav-padd: 1em;\n$line-under: 1px solid #aaa; \n\nbody {\n background-color: #fefefe;\n padding: 15px;\n margin: auto;\n max-width: 600px;\n font-family: -apple-system, helvetica, arial, sans-serif;\n}\n#wrapper {\n color: $normal-text-color;\n font-size: 14px;\n}\n#main-name {\n color: rgba(0, 0, 0, 0.8);\n}\nh1, h2, h3, h4, h5, h6 {\n}\nh1 {\n font-size: 1.5em;\n}\nh2 {\n font-size: 1.3em;\n}\nh4 {\n}\na {\n text-decoration: none;\n color: $link-color;\n}\nlabel {\n font-size: .8em;\n}\n\n#menu,\nlabel[for=\"menu\"]{\n display: none;\n}\n\nnav {\n padding: $nav-padd 0px;\n margin: 0px;\n}\nnav a:first-of-type {\n margin-left: 0;\n}\nnav a {\n margin: 1em;\n color: $nav-link-color;\n font-weight: bold;\n font-style: none;\n}\nnav a.on-page {\n color: #888;\n}\nnav a:hover {\n text-decoration: underline; \n}\n\nli {\n margin: .5em;\n}\n\n#main-img {\n width: 100%;\n}\np {\n padding: .5em 0;\n line-height: 1.4em;\n}\n.line-under {\n padding-bottom: $last-p-padd;\n border-bottom: $line-under;\n}\n.article {\n}\n.article a {\n text-decoration: underline;\n}\n.article a:hover {\n color: rgba(0, 0, 0, 0.5);\n}\n.post-date {\n text-transform: uppercase;\n font-weight: bold;\n color: rgba(0, 0, 0, 0.5);\n}\n\n.post-desc {\n color: rgba(0, 0, 0, .7);\n padding: 10px;\n font-weight: lighter;\n}\n\np.post-excerpt {\n margin-top: 0;\n padding-top: 10px;\n}\n\n\ntable,\ntable tr,\ntable td,\ntable th{\n border: 1px solid rgba(0, 0, 0, 0.5);\n border-collapse: collapse;\n padding: 5px;\n font-weight: normal;\n}\ntable {\n width: 75%;\n margin: auto;\n}\n\ntable.post-list,\ntable.post-list tr,\ntable.post-list td {\n width: 100%;\n border: none;\n padding-left: 0;\n}\nimg {\n display: block;\n width: 55%;\n margin-left: auto;\n margin-right: auto;\n}\n\nblockquote {\n font-style: italic;\n}\n\n@media screen and (max-width: 600px){\n #menu,\n label[for=\"menu\"]{\n display: inline-block;\n font-size: 20px;\n }\n body {\n width: 90%;\n }\n #info {\n margin: 0 7px;\n }\n .menu-content {\n max-height: 0;\n overflow: hidden;\n }\n nav {\n width: 100%;\n }\n nav a {\n display: block;\n padding-left: 0;\n margin-left: 0;\n }\n input#menu{\n display: none;\n }\n input:checked ~ .menu-content {\n max-height: 100%;\n border-bottom: $line-under;\n color: red;\n }\n}\n\n.contact-info {\n width: 90%;\n margin: auto;\n word-wrap: break-word;\n}\n.contact-info p {\n margin: 7px;\n padding: 0;\n}\n\n.mono {\n font-family: monospace;\n}\n\n.bold {\n font-weight: bold;\n}\n"
"$normal-text-color: #444444;\n$nav-link-color: #333;\n$nav-link-hover-color: black;\n$link-color: #47a;\n$visited-link-color: #941452;\n\n$last-p-padd: 1.5em;\n$nav-padd: 1em;\n$line-under: 1px solid #aaa; \n\nbody {\n background-color: #fefefe;\n padding: 15px;\n margin: auto;\n max-width: 600px;\n font-family: -apple-system, helvetica, arial, sans-serif;\n}\n#wrapper {\n color: $normal-text-color;\n font-size: 14px;\n}\n#main-name {\n color: rgba(0, 0, 0, 0.8);\n}\nh1, h2, h3, h4, h5, h6 {\n}\nh1 {\n font-size: 2.5em;\n}\nh2 {\n font-size: 1.3em;\n}\nh4 {\n}\na {\n text-decoration: underline;\n color: $link-color;\n} \na:visited {\n color: $visited-link-color;\n}\na.nav-link,\na.post-title-link {\n color: $nav-link-color;\n text-decoration: none;\n}\na.citation-link {\n text-decoration: none;\n}\n\nlabel {\n font-size: .8em;\n}\n\n#menu,\nlabel[for=\"menu\"]{\n display: none;\n}\n\nnav {\n padding: $nav-padd 0px;\n margin: 0px;\n}\nnav a:first-of-type {\n margin-left: 0;\n}\nnav a {\n margin: 1em;\n color: $nav-link-color;\n font-weight: bold;\n font-style: none;\n}\nnav a.on-page {\n color: #888;\n}\nnav a:hover {\n text-decoration: underline; \n}\n\nli {\n margin: .5em;\n}\n\n#main-img {\n width: 100%;\n}\np {\n line-height: 1.5;\n padding: .1em 0;\n}\n.line-under {\n padding-bottom: $last-p-padd;\n border-bottom: $line-under;\n}\n.article a:hover {\n color: rgba(0, 0, 0, 0.5);\n}\n.post-date {\n text-transform: uppercase;\n font-weight: bold;\n color: rgba(0, 0, 0, 0.5);\n}\n\n.post-desc {\n color: rgba(0, 0, 0, .7);\n padding: 10px;\n font-weight: lighter;\n}\n\np.post-excerpt {\n margin-top: 0;\n padding-top: 10px;\n}\n\n\ntable,\ntable tr,\ntable td,\ntable th{\n border: 1px solid rgba(0, 0, 0, 0.5);\n border-collapse: collapse;\n padding: 5px;\n font-weight: normal;\n}\ntable th {\n font-weight: bold;\n}\ntable {\n width: 75%;\n margin: auto;\n}\n\ntable.post-list,\ntable.post-list tr,\ntable.post-list td {\n width: 100%;\n border: none;\n padding-left: 0;\n}\nimg {\n display: block;\n width: 55%;\n margin-left: auto;\n margin-right: auto;\n}\n\nblockquote {\n font-style: italic;\n}\n\n@media screen and (max-width: 600px){\n #menu,\n label[for=\"menu\"]{\n display: inline-block;\n font-size: 20px;\n }\n body {\n width: 90%;\n }\n #info {\n margin: 0 7px;\n }\n .menu-content {\n max-height: 0;\n overflow: hidden;\n }\n nav {\n width: 100%;\n }\n nav a {\n display: block;\n padding-left: 0;\n margin-left: 0;\n }\n input#menu{\n display: none;\n }\n input:checked ~ .menu-content {\n max-height: 100%;\n border-bottom: $line-under;\n color: red;\n }\n}\n\n.contact-info {\n width: 90%;\n margin: auto;\n word-wrap: break-word;\n}\n.contact-info p {\n margin: 7px;\n padding: 0;\n}\n\n.mono {\n font-family: monospace;\n}\n\n.bold {\n font-weight: bold;\n}\n\nsup {\n margin: 0;\n padding: 0;\n}\n"
],
"names": [],
"mappings": "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"
"mappings": "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"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" class="on-page" >Blog</a>
<a href="/blog/" class="nav-link" class="on-page" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>
@ -28,7 +28,16 @@
<tr>
<td>
<h2><a href="/2020/01/26/rsa1.html">RSA Part 1: Why?</a></h2>
<h2 class="post-title"><a class="post-title-link" href="/2020/02/19/rsa2.html">How Does Encryption Work, in Theory?</a></h2>
<span class="post-date">19 February 2020</span>
<div class="post-excerpt"><p>There are many kinds of encryption used in our everyday communication. Online and offline, over the internet and in person. In this article, I will explain the basics of how encryption should work in theory. I explain in <a href="/2020/01/26/rsa1.html">this article</a> why encryption is important, and why <em>you</em> should care about it.</p>
</div>
</td>
</tr>
<tr>
<td>
<h2 class="post-title"><a class="post-title-link" href="/2020/01/26/rsa1.html">Is Encryption Worth It?</a></h2>
<span class="post-date">26 January 2020</span>
<div class="post-excerpt"><p>What is the most embarassing thing you have typed into Google search? What is the most personal secret you told a friend in confidence? What is your bank password? What is your businesss secret to stay ahead of the competition?</p>
</div>
@ -37,7 +46,7 @@
<tr>
<td>
<h2><a href="/2020/01/22/padding-and-margin.html">Padding And Margin</a></h2>
<h2 class="post-title"><a class="post-title-link" href="/2020/01/22/padding-and-margin.html">Padding And Margin</a></h2>
<span class="post-date">22 January 2020</span>
<div class="post-excerpt"><p>Many people have expressed confusion over how padding and margins work in HTML/CSS. I have been one of those people. In this short article I will explain what the differences are between the two, and how it may affect the functionality of your site.</p>
</div>

@ -1,4 +1,131 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.0.0">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2020-02-06T02:49:03+00:00</updated><id>http://localhost:4000/feed.xml</id><entry><title type="html">RSA Part 1: Why?</title><link href="http://localhost:4000/2020/01/26/rsa1.html" rel="alternate" type="text/html" title="RSA Part 1: Why?" /><published>2020-01-26T00:00:00+00:00</published><updated>2020-01-26T00:00:00+00:00</updated><id>http://localhost:4000/2020/01/26/rsa1</id><content type="html" xml:base="http://localhost:4000/2020/01/26/rsa1.html">&lt;p&gt;What is the most embarassing thing you have typed into Google search? What is the most personal secret you told a friend in confidence? What is your bank password? What is your businesss secret to stay ahead of the competition?&lt;/p&gt;
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.0.0">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2020-02-23T21:50:34+00:00</updated><id>http://localhost:4000/feed.xml</id><entry><title type="html">How Does Encryption Work, in Theory?</title><link href="http://localhost:4000/2020/02/19/rsa2.html" rel="alternate" type="text/html" title="How Does Encryption Work, in Theory?" /><published>2020-02-19T00:00:00+00:00</published><updated>2020-02-19T00:00:00+00:00</updated><id>http://localhost:4000/2020/02/19/rsa2</id><content type="html" xml:base="http://localhost:4000/2020/02/19/rsa2.html">&lt;p&gt;There are many kinds of encryption used in our everyday communication. Online and offline, over the internet and in person. In this article, I will explain the basics of how encryption should work in theory. I explain in &lt;a href=&quot;/2020/01/26/rsa1.html&quot;&gt;this article&lt;/a&gt; why encryption is important, and why &lt;em&gt;you&lt;/em&gt; should care about it.&lt;/p&gt;
&lt;p&gt;We will start by looking at in-person, offline encryption.&lt;/p&gt;
&lt;h2 id=&quot;cryptography-we-do-everyday&quot;&gt;Cryptography We Do Everyday&lt;/h2&gt;
&lt;p&gt;We encrypt things all the time without even thinking about it.
If you spend a significant amount of time with the same group of friends, your will tend of develop common codes that may not make sense to others outside the group.
For example: for years, my family called sombody falling from a sitting position “doing a Don”. There is a story of course—We knew a guy named Don who fell from his plastic beach chair in a rather hilarious way; “doing a Don” was born.&lt;/p&gt;
&lt;p&gt;These kind of minor dialects in speech are cryptographic in their own way. The truth is though, that we use cryptography much more than that!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Is cryptography any different than talking?
We say something other than what we mean, and then expect everyone is able to decipher the true meaning behind the words.
Only, I never do…” — Adapted from a scene in &lt;a href=&quot;https://www.benedictcumberbatch.co.uk/wordpress/wp-content/uploads/ScreenplayTIG.pdf&quot;&gt;The Imitation Game (p. 39-40)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;How many times have you hinted, flirted, and innuendoed to try to say “I find you very physically attractive”?
Have you told your friend that always stinks to wear more deoderent?
Have you ever had someone say the words “Im fine” when you know &lt;em&gt;for certain&lt;/em&gt; that they are indeed not okay?&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Words Said&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What can you do?&lt;/td&gt;
&lt;td&gt;I dont want to talk about this anymore.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I dont want to overstay my welcome.&lt;/td&gt;
&lt;td&gt;I want to go home now.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I dont like them and dont know why.&lt;/td&gt;
&lt;td&gt;They threaten my ego.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creepy&lt;/td&gt;
&lt;td&gt;Unattractive and friendly&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All of these scenarios are perfect examples of &lt;del&gt;lies&lt;/del&gt; encryption! If we have the key to these codes, we can start to understand what people really mean.
Hopefully I have convinced you that you use &lt;del&gt;deceit&lt;/del&gt; cryptography on a regular basis in your life, so let us consider what a basic encryption method might be:&lt;/p&gt;
&lt;h2 id=&quot;grade-school-encryption&quot;&gt;Grade-School Encryption&lt;/h2&gt;
&lt;p&gt;Back when I was in middle school I used to pass notes like these:&lt;/p&gt;
&lt;p&gt;PIC&lt;/p&gt;
&lt;p&gt;This is a messege encrypted using the Caesar cipher. This encryption technique was used by Julius Caesar during the reign of the Roman Empire to “encrypt messeges of military significance.”&lt;a class=&quot;citation-link&quot; href=&quot;https://en.wikipedia.org/wiki/Caesar_chipher/&quot;&gt;[1]&lt;/a&gt;
This is one of the oldest and simplest methods of encryption known to us today.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/assets/img/ceasar13.png&quot; alt=&quot;A diagram of a Ceasar Shift algorithm. A &amp;lt;-&amp;gt; N, B &amp;lt;-&amp;gt; O, et cetera.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You can try this out yourself by moving some letters forward in the alphabet.
An A turns into a B, B into C, C into D, et cetera.
In this case, “Hello!” would become “Ifmmp!”
That is just using a shift of one. You can use a shift of seven, for example, and then you would shift letters like so:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;A -&amp;gt; +7 -&amp;gt; H&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Q -&amp;gt; +7 -&amp;gt; X&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;T -&amp;gt; +7 -&amp;gt; A&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We should wrap-around to the beginning of the alphabet if there are no letters left.&lt;/p&gt;
&lt;h2 id=&quot;example-of-a-caesar-cipher&quot;&gt;Example of a Caesar Cipher&lt;/h2&gt;
&lt;p&gt;Lets setup a little story to illustrate the problems of encryption. We will have three characters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alice, a little girl with feelings for Bob&lt;/li&gt;
&lt;li&gt;Bob, a young boy with an addiction to pancakes&lt;/li&gt;
&lt;li&gt;Eve, a wee jealous girl scout who sits between Bob and Alice&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Alice really likes Bob and wants to tell Bob her feelings, so she writes “I love you, Bob! Please eat healthier!” on a sticky note.
She passes it to Eve, so Eve can pass it to Alices love interest.
However, in an unfortunate turn of events Eve reads the note herself, and decides not to give it to Bob.&lt;/p&gt;
&lt;p&gt;Oh the horror! Alice is without young love! How could she remedy this so that Bob can read her messege, but evil Eve can not?
Lets use the Caesar cipher to fix this problem.&lt;/p&gt;
&lt;p&gt;Let us assume that Alice and Bob already have a shared key, 7 for example. To encrypt this messege, we should shift our letters seven letters forward in the alphabet—just like the example above.&lt;/p&gt;
&lt;p&gt;PIC2&lt;/p&gt;
&lt;p&gt;Now Alices messege reads “P svcl fvb, Ivi! Wslhzl lha olhsaoply!”&lt;/p&gt;
&lt;p&gt;Now, when Alice sends her Romeo a little note, all he has to do is decrypt the text by shifting the letters down by 7.
&lt;a href=&quot;https://www.xarg.org/tools/caesar-cipher/&quot;&gt;Here is a site&lt;/a&gt; which can do longer pieces of text for you instead of doing it manually.&lt;/p&gt;
&lt;h2 id=&quot;problems&quot;&gt;Problems&lt;/h2&gt;
&lt;p&gt;Before the two love-birds start smooching on the branch of a big pine tree in the schoolyard, perhaps we should consider some problems with the Ceasar cipher.&lt;/p&gt;
&lt;h4 id=&quot;it-is-very-easy-to-break&quot;&gt;It is Very Easy to Break&lt;/h4&gt;
&lt;p&gt;Even Eve with her measly grade 4 math skills could easily start going through this messege with pen and paper and figure out any combination in a couple hours at maximum.
Imagine how easy this is for a computer?
This could be broken in a few microseconds even on an older processor like the Intel Core 2 Duo.&lt;/p&gt;
&lt;h4 id=&quot;no-secure-way-of-sharing-keys&quot;&gt;No Secure Way of Sharing Keys&lt;/h4&gt;
&lt;p&gt;We assumed in our previous example that Bob and Alice already have a shared key (seven) to encrypt and decrypt all of their messeges.
If Bob and Alice did not have a previous friendship and time to share secrets of this sort, there is no way to share their key with eachother without Eve also knowing.
This would defeat the entire purpose of obscuring the messege in the first place.&lt;/p&gt;
&lt;h4 id=&quot;universal-vulnerability-of-messeges&quot;&gt;Universal Vulnerability of Messeges&lt;/h4&gt;
&lt;p&gt;Every messege sent between the two parties uses the same code to encrypt and decrypt. If someone finds out the code once, all previous communications are comprimised.&lt;/p&gt;
&lt;h2 id=&quot;better-encryption-methods&quot;&gt;Better Encryption Methods&lt;/h2&gt;
&lt;p&gt;To combat the issues with easily breakable, shared-key cryptography, we can turn to the beautiful beast that is &lt;a href=&quot;https://en.wikipedia.org/wiki/Public-key_cryptography&quot;&gt;Asymetric Cryptography&lt;/a&gt;.
I will discuss this more in another article, but for the technically inclined:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/RSA_(cryptosystem)&quot;&gt;RSA&lt;/a&gt;/&lt;a href=&quot;https://en.wikipedia.org/wiki/Elliptic-curve_cryptography&quot;&gt;EC&lt;/a&gt; provides &lt;em&gt;very&lt;/em&gt; large cryptographic keys. It would be impossible for a human to encrypt or decrypt a messege manually.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GSIDS_lvRv4&quot;&gt;Asymetric cryptography&lt;/a&gt; provides four keys, instead of just one; stopping evesdroppers from listening in on your secret conversations—even if you do not have the change to exchange keys in advance.&lt;/li&gt;
&lt;/ol&gt;</content><author><name>tait</name></author><summary type="html">There are many kinds of encryption used in our everyday communication. Online and offline, over the internet and in person. In this article, I will explain the basics of how encryption should work in theory. I explain in this article why encryption is important, and why you should care about it.</summary></entry><entry><title type="html">Is Encryption Worth It?</title><link href="http://localhost:4000/2020/01/26/rsa1.html" rel="alternate" type="text/html" title="Is Encryption Worth It?" /><published>2020-01-26T00:00:00+00:00</published><updated>2020-01-26T00:00:00+00:00</updated><id>http://localhost:4000/2020/01/26/rsa1</id><content type="html" xml:base="http://localhost:4000/2020/01/26/rsa1.html">&lt;p&gt;What is the most embarassing thing you have typed into Google search? What is the most personal secret you told a friend in confidence? What is your bank password? What is your businesss secret to stay ahead of the competition?&lt;/p&gt;
&lt;p&gt;Now at first these questions may seem not completely related. There is a point though: You likely sent all of this information over the internet.&lt;/p&gt;
@ -47,7 +174,7 @@ Japan lags slightly behind with 80 percent encrypted traffic.&lt;/p&gt;
&lt;h3 id=&quot;what-about-rsa&quot;&gt;What about RSA?&lt;/h3&gt;
&lt;p&gt;RSA is an encryption method named after the initials of the inventors sir names: Ron &lt;strong&gt;R&lt;/strong&gt;ivest, Adi &lt;strong&gt;S&lt;/strong&gt;hamir, and Leonard &lt;strong&gt;A&lt;/strong&gt;dleman. It uses the mathematical “factoring problem” to secure communication. The details of this specific type of encryption will be discussed in part 2 of this series on RSA.&lt;/p&gt;</content><author><name>tait</name></author><summary type="html">What is the most embarassing thing you have typed into Google search? What is the most personal secret you told a friend in confidence? What is your bank password? What is your businesss secret to stay ahead of the competition?</summary></entry><entry><title type="html">Padding And Margin</title><link href="http://localhost:4000/2020/01/22/padding-and-margin.html" rel="alternate" type="text/html" title="Padding And Margin" /><published>2020-01-22T00:00:00+00:00</published><updated>2020-01-22T00:00:00+00:00</updated><id>http://localhost:4000/2020/01/22/padding-and-margin</id><content type="html" xml:base="http://localhost:4000/2020/01/22/padding-and-margin.html">&lt;p&gt;Many people have expressed confusion over how padding and margins work in HTML/CSS. I have been one of those people. In this short article I will explain what the differences are between the two, and how it may affect the functionality of your site.&lt;/p&gt;
&lt;p&gt;RSA is an encryption method named after the initials of the inventors sir names: Ron &lt;strong&gt;R&lt;/strong&gt;ivest, Adi &lt;strong&gt;S&lt;/strong&gt;hamir, and Leonard &lt;strong&gt;A&lt;/strong&gt;dleman. It uses the mathematical “factoring problem” to secure communication. The details of this specific type of encryption will be discussed in an article soon to come.&lt;/p&gt;</content><author><name>tait</name></author><summary type="html">What is the most embarassing thing you have typed into Google search? What is the most personal secret you told a friend in confidence? What is your bank password? What is your businesss secret to stay ahead of the competition?</summary></entry><entry><title type="html">Padding And Margin</title><link href="http://localhost:4000/2020/01/22/padding-and-margin.html" rel="alternate" type="text/html" title="Padding And Margin" /><published>2020-01-22T00:00:00+00:00</published><updated>2020-01-22T00:00:00+00:00</updated><id>http://localhost:4000/2020/01/22/padding-and-margin</id><content type="html" xml:base="http://localhost:4000/2020/01/22/padding-and-margin.html">&lt;p&gt;Many people have expressed confusion over how padding and margins work in HTML/CSS. I have been one of those people. In this short article I will explain what the differences are between the two, and how it may affect the functionality of your site.&lt;/p&gt;
&lt;p&gt;Here is an image from the World Wide Web Consortium (W3C) who sets the standards for the web.&lt;/p&gt;

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" class="on-page" >Home</a>
<a href="/" class="nav-link" class="on-page" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" class="on-page" >Links</a>
<a href="/links/" class="nav-link" class="on-page" >Links</a>
</div>
</nav>
@ -77,26 +77,33 @@
</section>
<h2>Security Links</h2>
<h2>Secure Service Links</h2>
<section class="contact-info">
<p><span class="bold">ToxID</span> -
<a href="tox:26EF54FC97D51C086BBD8D2A9FCF31E6BBAC06042862D566C450160B4F1BEC5C9B76E0B7FB01" class="mono">
<p><span class="bold">Signal</span> -
<a href="https://signal.org" class="mono">
https://signal.org
</a></p>
<p><span class="bold">Tox</span> -
<a href="https://tox.chat" class="mono">
26EF54FC97D51C086BBD8D2A9FCF31E6BBAC06042862D566C450160B4F1BEC5C9B76E0B7FB01
https://tox.chat
</a></p>
<p><span class="bold">Public Key</span> -
<a href="https://tait.tech/public-key.asc" class="mono">
<p><span class="bold">Protonmail</span> -
<a href="https://protonmail.com" class="mono">
https://tait.tech/public-key.asc
https://protonmail.com
</a></p>
</section>
<h2>Other Links</h2>
<h2>Linux Links</h2>
<section class="contact-info">
<p><span class="bold">Arch Linux Wiki</span> -
@ -106,6 +113,32 @@
</a></p>
<p><span class="bold">Gentoo Wiki</span> -
<a href="https://wiki.gentoo.org/wiki/Main_Page" class="mono">
https://wiki.gentoo.org/wiki/Main_Page
</a></p>
<p><span class="bold">Luke Smith</span> -
<a href="https://lukesmith.xyz" class="mono">
https://lukesmith.xyz
</a></p>
<p><span class="bold">Brian Lunduke</span> -
<a href="https://lunduke.com" class="mono">
https://lunduke.com
</a></p>
</section>
<h2>Interesting Links</h2>
<section class="contact-info">
<p><span class="bold">Suckless</span> -
<a href="https://suckless.org" class="mono">
@ -127,43 +160,22 @@
</a></p>
<p><span class="bold">Gentoo Wiki</span> -
<a href="https://wiki.gentoo.org/wiki/Main_Page" class="mono">
https://wiki.gentoo.org/wiki/Main_Page
</a></p>
<p><span class="bold">Luke Smith</span> -
<a href="https://lukesmith.xyz" class="mono">
https://lukesmith.xyz
</a></p>
</section>
<h2>Secure Service Links</h2>
<h2>Best Websites in Existence</h2>
<section class="contact-info">
<p><span class="bold">Signal</span> -
<a href="https://signal.org" class="mono">
https://signal.org
</a></p>
<p><span class="bold">Tox</span> -
<a href="https://tox.chat" class="mono">
<p><span class="bold">Gregory Gundersen</span> -
<a href="https://gregorygundersen.com" class="mono">
https://tox.chat
https://gregorygundersen.com
</a></p>
<p><span class="bold">Protonmail</span> -
<a href="https://protonmail.com" class="mono">
<p><span class="bold">The Best Website</span> -
<a href="https://thebestmotherfucking.website" class="mono">
https://protonmail.com
https://thebestmotherfucking.website
</a></p>

@ -13,13 +13,13 @@
<label for="menu">&#9776;</label>
<div class="menu-content">
<a href="/" >Home</a>
<a href="/" class="nav-link" >Home</a>
<a href="/blog/" >Blog</a>
<a href="/blog/" class="nav-link" >Blog</a>
<a href="https://github.com/TTWNO/" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="https://github.com/TTWNO/" class="nav-link" target="_blank" rel="noopener noreferrer" >Code</a>
<a href="/links/" >Links</a>
<a href="/links/" class="nav-link" >Links</a>
</div>
</nav>

Binary file not shown.

@ -9,6 +9,10 @@
<lastmod>2020-01-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://localhost:4000/2020/02/19/rsa2.html</loc>
<lastmod>2020-02-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://localhost:4000/2020-01-23-sql-joins.html</loc>
</url>
<url>

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

@ -6,7 +6,7 @@ title: Blog
{% for post in site.posts %}
<tr>
<td>
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
<h2 class="post-title"><a class="post-title-link" href="{{ post.url }}">{{ post.title }}</a></h2>
<span class="post-date">{{ post.date | date: "%d %B %Y" }}</span>
<div class="post-excerpt">{{ post.excerpt }}</div>
</td>

Binary file not shown.
Loading…
Cancel
Save