Skip to content

hawkinsw/riscv-caesar-cipher

Repository files navigation

The Ides of RISC-V

This is a RISC-V implementation of a simple Ceasar Cipher. The implementation uses the RISC-V ISA Vector extension to do encryption in parallel. This is a learning exercise, nothing more.

If you are an expert on the RISC-V ISA Vector extension and have comments about the comments in the source code, please alert me. Because this is for learning, I want the source code commentary to be as educational as possible.

Special thanks to Georg Sauthoff whose writing really helped me begin this exercise!

Special thanks also to Hanna Kruppe who took the time to read through the source code and counsel me on the RISC-V ISA vector extension.

Running

As of this writing, the Vector ISA is not standardized so you will need an emulator to run it. The installation and execution instructions (below) will install one for you.

Prerequisites

Modify the directories.sh file with appropriate source and installation paths for

  1. the cross compiler,
  2. the RISC-V binutils and
  3. the emulator.

Installation

Execute the install.sh script.

Building

Execute the build-caesar.sh script.

Executing

Execute the run-caesar.sh script.

Debugging

Execute the debug-caesar.sh script.

Comments/Issues

Please submit comments and bug reports using Github Issues. Remember, this is a learning exercise. So, if you have comments about misleading/incorrect commentary about in the source code, please submit them!!

About

A caesar cipher implementation written in RISC-V

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published