Custom MIPS-based Processor for Calculating SHA-256
A hashing algorithm is a one-way encryption mathematical function that takes in a set of data and condenses it to an output of a fixed size called the message digest (hash). It has many applications in computing systems, from checking data integrity in digital communications to speeding up performances of databases. Our project involves creating a processor based on the MIPS Instruction Set that is specialized to perform the SHA-256 hashing algorithm. Custom hardware is incorporated in the processor for specific operations that are needed in calculating the hash. This simplifies the instruction calls for those specific operations, thereby condensing the required assembly code for implementing the SHA-256 hashing algorithm.