<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Pranav Patel</title>
    <description>The latest articles on Forem by Pranav Patel (@sirri69).</description>
    <link>https://forem.com/sirri69</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F623832%2F4b4d2e16-c2c0-4463-ae8a-743555fe2037.png</url>
      <title>Forem: Pranav Patel</title>
      <link>https://forem.com/sirri69</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sirri69"/>
    <language>en</language>
    <item>
      <title>Cryptography- Shift Cipher</title>
      <dc:creator>Pranav Patel</dc:creator>
      <pubDate>Sun, 06 Jun 2021 09:45:15 +0000</pubDate>
      <link>https://forem.com/sirri69/cryptography-shift-cipher-2oki</link>
      <guid>https://forem.com/sirri69/cryptography-shift-cipher-2oki</guid>
      <description>&lt;p&gt;Shift cipher is the most basic and simple substitution cipher ever existed. It was used by numerous kings and common people in ancient times, because of its simplicity. It is also known as the Caesar cipher as he used a generalized form of it known as ROT-13. &lt;/p&gt;

&lt;h2&gt;
  
  
  How Shift Cipher Works:-
&lt;/h2&gt;

&lt;p&gt;Shift cipher is nothing but substitution of letters to their left or right by some specific number of letters, and that number of letters will be known as the key of the cipher. Once the key is decided and the plaintext is encrypted to ciphertext, we can send the cipher text to whomever we want. If he/she will have the key, then he/she will easily decrypt the message and read it and can reply to that encrypting the message with the same key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Encrypting the text using Shift Cipher
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select a key, if you want to shift your letters to right, choose a number which is positive, a negative number will result in shifting of letters to left side.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once the key is selected, convert the letters to their respective numeric positions, where A-&amp;gt;1, B-&amp;gt;2 and so on.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now apply the given formula to every number:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C=(P+K)%26
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Where P is your plaintext converted to numeric positions, K is the key and C is the numeric positions of the letters in ciphertext.&lt;/p&gt;

&lt;p&gt;Now convert the numeric positions of ciphertext (C) to alphabets according to 0-&amp;gt;Z, 1-&amp;gt;A so on, and you have your plaintext encrypted!!!&lt;/p&gt;

&lt;p&gt;Example:-&lt;/p&gt;

&lt;p&gt;Let our plaintext to be:- &lt;br&gt;
“ ”&lt;/p&gt;

&lt;p&gt;Then numeric positions of our plaintext will be:-&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;k&lt;/th&gt;
&lt;th&gt;i&lt;/th&gt;
&lt;th&gt;l&lt;/th&gt;
&lt;th&gt;l&lt;/th&gt;
&lt;th&gt;t&lt;/th&gt;
&lt;th&gt;h&lt;/th&gt;
&lt;th&gt;e&lt;/th&gt;
&lt;th&gt;k&lt;/th&gt;
&lt;th&gt;i&lt;/th&gt;
&lt;th&gt;n&lt;/th&gt;
&lt;th&gt;g&lt;/th&gt;
&lt;th&gt;t&lt;/th&gt;
&lt;th&gt;o&lt;/th&gt;
&lt;th&gt;n&lt;/th&gt;
&lt;th&gt;i&lt;/th&gt;
&lt;th&gt;g&lt;/th&gt;
&lt;th&gt;h&lt;/th&gt;
&lt;th&gt;t&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Let our key be 7, after using the formula for encryption, the number will look like:-&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;th&gt;9&lt;/th&gt;
&lt;th&gt;12&lt;/th&gt;
&lt;th&gt;12&lt;/th&gt;
&lt;th&gt;20&lt;/th&gt;
&lt;th&gt;8&lt;/th&gt;
&lt;th&gt;5&lt;/th&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;th&gt;9&lt;/th&gt;
&lt;th&gt;14&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;20&lt;/th&gt;
&lt;th&gt;15&lt;/th&gt;
&lt;th&gt;14&lt;/th&gt;
&lt;th&gt;9&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;8&lt;/th&gt;
&lt;th&gt;20&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And finally, converting the numbers back to letters will give us our ciphertext,&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;18&lt;/th&gt;
&lt;th&gt;16&lt;/th&gt;
&lt;th&gt;19&lt;/th&gt;
&lt;th&gt;19&lt;/th&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;th&gt;15&lt;/th&gt;
&lt;th&gt;12&lt;/th&gt;
&lt;th&gt;18&lt;/th&gt;
&lt;th&gt;16&lt;/th&gt;
&lt;th&gt;21&lt;/th&gt;
&lt;th&gt;14&lt;/th&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;th&gt;22&lt;/th&gt;
&lt;th&gt;21&lt;/th&gt;
&lt;th&gt;16&lt;/th&gt;
&lt;th&gt;14&lt;/th&gt;
&lt;th&gt;15&lt;/th&gt;
&lt;th&gt;1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;P&lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;
&lt;td&gt;S&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;O&lt;/td&gt;
&lt;td&gt;L&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;P&lt;/td&gt;
&lt;td&gt;U&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;U&lt;/td&gt;
&lt;td&gt;P&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;O&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Letters after conversion are :-&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;'RPSSAOLRPUNAVUPNOA'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The gibberish above is ciphertext, it is often written without any spaces to add complexity to the ciphertext.&lt;/p&gt;
&lt;h2&gt;
  
  
  Writing Python code for Shift Cipher
&lt;/h2&gt;

&lt;p&gt;Writing code for this cipher is really easy, a one liner, some might say. Here's the code:--&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;shift_encrypt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;cipher_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="c1"&gt;# stores encrtypted text
&lt;/span&gt;    &lt;span class="n"&gt;plain_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# reduce complexity
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nb"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;97&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;# real encryption happens here
&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The code up here is pretty self explanatory, except a few lines. Let's go through all the lines on by one.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;cipher_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="c1"&gt;# stores encrtypted text
&lt;/span&gt;&lt;span class="n"&gt;plain_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# reduce complexity
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;These two lines define a list names &lt;code&gt;cipher_text&lt;/code&gt; to store the text after encryption and reduces the complexity of the plain text by converting the text to lower case and removing all the whitespaces.&lt;/p&gt;

&lt;p&gt;Then comes the most important line in the code:-&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nb"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;97&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;First of all, this line of code converts the letters to their ASCII representation using the &lt;code&gt;ord&lt;/code&gt; function, which means a will become 97, b will become 98, and so on. &lt;/p&gt;

&lt;p&gt;Then it will subtract 97 from the ASCII code, which will convert 97 to 0, hence placing 'a' at 0th position and placing 'z' at 25th position. This is done to simplify the operation of shifting.&lt;/p&gt;

&lt;p&gt;After that is done, we proceed and add the &lt;code&gt;KEY&lt;/code&gt; to shift and actually encrypt the data.&lt;/p&gt;

&lt;p&gt;Then we do &lt;code&gt;mod 26&lt;/code&gt; because after subtracting 97 our alphabets lies from 0 to 25, and doing &lt;code&gt;mod 26&lt;/code&gt; makes sure that nothing goes out of range of our alphabets. 97 is added in end to convert the the shifted numbers back to their ASCII representations.&lt;/p&gt;

&lt;p&gt;After this much is done, we convert the shifted ASCII codes back to characters using the &lt;code&gt;chr&lt;/code&gt; function. And the encryption is done.&lt;/p&gt;

&lt;p&gt;You can see that this line is inside a for loop, that is to ensure that the transformation in this line of code is applied to every single letter of the &lt;code&gt;plain_text&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;In the end,&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;We convert the encrypted characters to a string and return it.&lt;/p&gt;

&lt;p&gt;Decryption part of the cipher is also pretty much the same, except a small thing.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;shift_decrypt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;plain_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;cipher_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;' '&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;cipher_text&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;chr&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nb"&gt;ord&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;97&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;plain_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Instead of adding &lt;code&gt;KEY&lt;/code&gt;, we subtract it this time to perform a inverse of the shift operation we did in the encryption process.&lt;/p&gt;

&lt;p&gt;You can try the code here:--&lt;/p&gt;

&lt;p&gt;(JUST CLICK ON THE RUN(&amp;gt;) BUTTON)&lt;/p&gt;


&lt;div class="ltag__replit"&gt;
  &lt;iframe height="550px" src="https://repl.it/@PranavPatel4/CryptoCode?lite=true"&gt;&lt;/iframe&gt;
&lt;/div&gt;



</description>
      <category>python</category>
      <category>security</category>
      <category>cybersecurity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
