stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Matrix Encoder

  • 10 Devlogs
  • 11 Total hours

I’m building an encoder using matrices! (Yes, the thing you learn in algebra) Any input you give it, it will show an encoded version of that input

Ship #1

Hello, I am Eli, and I created a decoder/encoder that utilizes matrices! The encoder works by assigning each letter of your input text a numerical value. Then, the numbers are arranged into pairs like this: [8 5][12 12][15 0]. Finally, these small matrices are multiplied by a key matrix. This multiplication gives you the final result for the encoded message. The decoder works by taking numerical input and transforming it into a decoded message. The numerical input is also arranged into pairs. These pairs are then multiplied by the inverse of the key matrix. Finally, using the numbers you calculate for, you translate into their alphabetical equivalent.

Did that make no sense?
Do not worry! My website also includes a page explaining the process behind using matrices in cryptography. It does not only include text, but also little silly graphics to help you understand better. The goal isn’t just to have decoder, but also to spread my love of math to others!!

Challenges:
The biggest challenge I went through was that my code was not working according to my math. Instead of multiplying my pairs by the key matrix, it was multiplying them in the incorrect order. This caused the resulting output to be very off. Thankfully, was able to determine what to swap to make my encoder work.

The best part:
my favorite part of this project was creating the graphics. Even if they are not a major part of my project, they still add a cute whimsy to it!

  • 10 devlogs
  • 11h
  • 12.37x multiplier
  • 131 Stardust
Try project → See source code →
Open comments for this post

1h 32m 45s logged

Devlog #10:

Hello! I have finalized the last couple of updates to my project. It’s been so fun! I added a new page that explains the basics of matrices(such as multiplication, finding the determinant, and solving for inverse matrices) in addition to the key page. Additionally, I just made a couple of CSS changes to the images, buttons, and lists in order for it to not look as cluttered. After this, my project should be ready to ship for approval!!

0
0
15
Open comments for this post

37m 22s logged

Devlog #9 :

Hello! I apologize for the short devlog, I recently began my Third-Space project so it became kinda hard to manage both of my projects at the same time. Today, I focused mostly on simple CSS updates. I wanted to make my website a bit more “dynamic” even if the changes were minimal. You know, a little goes a long way. I just set up space for future explanations, made some dividers smaller by adding a scrolling feature, and added hover background-color change to all of the buttons!

0
0
59
Open comments for this post

54m 28s logged

Devlog #8 :

Hello! I finalized the decoder!! Now, my website can both encode and decode messages. It took a while cuz I kept misspelling a bunch of stuff, but it works at last! Technically, my project is done, but I still want to add more information about matrices and cryptography for those who are also interested.

0
0
11
Open comments for this post

55m 56s logged

Devlog #7:

Hi! Today I revised my code to ensure that it was working according to my mathematical process. For my javascript, I just switched around the vector and matrix and defined spaces as zeros. Before, the values were not being multiplied in the correct order and a space was numerically identified as 27 rather than zero, which altered the final message by A LOT. After these fixes, the encoded message given by my code and by my math were the same!! (See images below) I’m really happy to see this project starting to work like intended. My next update will be on the decoder :eyes-hdr:

1
0
114
Open comments for this post

1h 1m 45s logged

Devlog #6:

Hi! Today, I was able to get started on the actual encoder! I used a bit ai to help me understand the javascript code as well as where I could modify it in order to make it fit my matrix key. However, I ran the code through several trials and encoded the text manually, and it seems that there must be something wrong with my code. The response I got from my encoder and from my own math were pretty different… Therefore, I will try to look for what went wrong and hopefully fix it so that it works according to plan!! Once that is settled, I look forward to also adding a matrix decoder using inverse matrices.

0
0
9
Open comments for this post

1h 20m 28s logged

Devlog #5:

Hi! Today I was able to work more on explaining how encoding with matrices actually works. Alongside the steps, I also included cute visual representations for the matrices. Currently, I am only missing one more visual for my explanation. I also made the containers scrollable (using overflow.y: auto) because it was slightlyyyy overwhelming without it. Now, this page is a little more organized. After I finish visually demonstrating how matrices are multiplied, I will move on to the actual encoder (the scary part) 。°(°¯᷄◠¯᷅°)°。

Also, don’t mind my kaomoji overuse..

0
0
24
Open comments for this post

1h 10m 16s logged

Devlog #4:

Hi again! Today, I was able to work more on explaining how matrices allow you to encode messages. So far, I only have my key for each letter as well as the matrix key I will be using to encode the messages. I will, more than likely, rearrange the way the images are placed on the website. Additionally, I’ll explain how messages are transformed into smaller matrices that are multiplied by the given matrix key. I’ll also explain how inverse matrices can be used to decode those messages!

0
0
20
Open comments for this post

37m 3s logged

Devlog #3:

Hello! This is a tiny devlog, mainly just css updates, sorryyy. Basically, I updated the “How?” page in order for it to look like the home page. Now, both of them have marquees and placeholder divs for the input, output, explanation, and some images! I took away the lettering I did, I didn’t really like it that muchh (╥﹏╥). I will TRY to actually get started on the explanation tomorrow (beware, I’m very passionate about matrices)

0
0
9
Open comments for this post

1h 35m 42s logged

Deblog #2 :

Hello again! Today, I did some text for the navigation section using Ibis paint and lapse to track my time. They came out a little lopsided, but it adds to personality of the website, in a way… I’m currently trying to make it cool using CSS. (yes, I’m trying to delay doing the actual javascript code for the encoder…) Just for detail, I did a marquee container in order for the welcome text to scroll. I plan on doing my matrix explanation next under the “HOW” section

0
0
7
Open comments for this post

47m 58s logged

Devlog #1:

Hello! This is a new project I am working on called “Matrix Encoder.” The goal is for users to be able to input any message they wish to encode and the software will turn it into a list of numbers. Currently, I only plan to make an encoder, but hopefully I am able to also include decoding capabilities. So far, I started with the website layout using HTML and CSS. I included two pages using the nav tag. One will be the actual encoder and the second one will be a (NOT)small explanation of how matrices are used in cryptography! I look forward to creating art that fits the website’s terminal-esque aesthetic!

0
0
20

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…