SHA-1

So far, I have written about my success. Now I will truly recognize my shortcomings. For ICS 212, the final project required students to implement SHA-1 encryption on various text files. Secure Hash Algorithm 1 is an encryption algorithm composed by the NSA that takes a file as input and cuts up the bit strings composing the text. It then moves around the cut-up bit strings and gives what seems like random garbage as the output. If you have ever handled SHA-1 or any of its descendants (SHA-2, SHA-3), then it is clear by my description of it, that I’ve failed to completely grasp it. I received a “F” on the project but still somehow managed to pass the class.

During my time of enrollment in ICS 212 I was concurrently taking ICS 211, which happens to be a pre-requisite for ICS 212. However, my instructor felt that I did well enough in ICS 111 to warrant granting me an override to take the two classes at the same time. Being in both classes gave me an air of confidence which soon turned to cockiness. In my fit of arrogance, I convinced myself I could start assignments for 211 and 212 the night before they were due. My mentality put me at a disadvantage when I became overwhelmed by the impending deadline and the complexity of certain assignments, including the infamous SHA-1. Like many students, I ignored my instructor when she would hint that a certain assignment would be very useful for the final or that SHA-1 takes a lot of planning and time. It was only in the throes of regret 5 minutes before the deadline that I realized I should have headed her advice. In short, the entire experience taught me what not to do.

When final grades were released, I found myself left with mixed feelings. I had passed the course by the skin of my teeth but felt dejected that my raw talent wasn’t able to carry me through a tough project. I wallowed in self-doubt because of this obstacle that I failed to overcome, whereas I had triumphed in programming thus far. And yet, here I am writing this piece for ICS 314, armed with the lessons of my defeat. Although I may have fallen, I refuse to stay down. Instead, I’ve used my disastrous SHA-1 experience to aid me in success such as in ICS 484. While the most valuable lesson I learned was about what not to do, I gained more than just that. I took away a refined mental fortitude that was forged from failure. There is no doubt in my mind that I will eventually fail again. However, when I do, I will overcome it just as I have now.