Day 61: Elliptic Curve Cryptography!???

Continued my web security studies. I am at a crossroads with my studies. On one hand I have made some good progress and have learned a lot. On the other hand there is still so much that I don’t know and have to learn. Now that I am comfortable with the concepts for authentication I now have the challenge of learning the concepts behind encryption which is often utilized with authentication / authorization. I have used specific types of encryption before like RSA but the underlying concepts and groupings within the topic escapes me.

Here is the problem moving forward and continuing to make progress or keep going slow and focus on exposure on highly complicated topics to make things easier for me in the future. I am still unsure of what I should do but I am slowly starting to lean towards covering encryption. Here is the thing. I took a long time to cover the authentication / authorization concepts because I thought that was the right way for me to tackle the topic. If I don’t understand something I should strive to figure out what happened. So why not do the same thing with encryption? The sample login / logout application I am building as part of The Odin Project uses an encryption library and some of the tools within encryption like salting. Shouldn’t I at least write some notes on this or at least start building out what my notes on the topic should look like.

I guess I am going to do this but I need to include some limitations. I will search on YouTube and generate a playlist of 10 introductory videos MAX. I will watch all the videos and add notes based on what information I can pull. Additionally, I will go through the bcryptjs package. That is as far as I will go with my search. Anything beyond introductory content is something that I will need to come back to later on after I have finished the rest of the course.

I think that this is a fair approach. I can’t learn everything in one shot but I can give an honest go at learning the fundamentals of the topic. Hopefully that will be enough for me to feel comfortable using the different encryption algorithms as I need them in my projects.

TLDR;

Okay, so here are the highlights of what I did:

  • Backend -> Continued studying the concepts mentioned in the web security section. Read parts of an article on Elliptic Curve Cryptography. Most of the information went over my head tbh. I need some of the fundamentals before I tackle something like this. Math is one thing, but to remember and comprehend it’s application in such an interesting way is a whole other thing.


Goal For Round 8 of the #100DaysofCode Challenge

This is my eighth round of the “#100daysofcode” challenge. I will be continuing my work from round five, six, and seven into round eight. I was working through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. My goal was to become more familiar with algorithms and data structures. This goal was derived from my goal to better understand operating systems and key programs that I use in the terminal regularly e.g. Git. This goal was in turn derived from my desire to better understand the fundamental tools used for coding outside of popular GUIs. This in turn was derived from my desire to be a better back-end developer.

I am currently putting a pause on the algorithm work to build some backend/full stack projects. I primarily want to improve my skills with the back-end from an implementation perspective. I have improved tremendously in terminal and CLI skills but I lost focus due to how abstract the algorithm concepts got. I wanted to work on things that were more tangible until I can get to a position where I could directly benefit from improving my algorithm skills and theoretical knowledge. So that’s the focus right now. Build my backend skills and prove my full stack capabilities by building some dope projects.

Again, I still have no idea if my path is correct but I am walking down this road anyways. Worst case scenario I learn a whole bunch of stuff that will help me out on my own personal projects. Best case scenario I actually become one of those unicorn developers that go on to start a billion dollar company… You never know LOL.