Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vincent-g-van/one-time-pad-fpga

64-Bits One-Time Pad on FPGA Board (Nexys 4 DDR Artix-7).
https://github.com/vincent-g-van/one-time-pad-fpga

diligent nexys4 one-time-pad otp seven-segment verilog vivado

Last synced: about 1 month ago
JSON representation

64-Bits One-Time Pad on FPGA Board (Nexys 4 DDR Artix-7).

Awesome Lists containing this project

README

        

# One-Time-Pad-FPGA V1.00 (Completed/Working)
Created by Van. June 2017

64-Bits One-Time Pad on FPGA Board (Nexys 4 DDR Artix-7).

8-Bits for each of the 8 Seven-Segment LEDS. (8x8=64)

(Possible future improvements, let user decide desired bit size of msg/key/try, use sixteen-segment LEDs)
-64Bit Suspectible to bruteforce attack.
-Seven-Segment difficult to express range of alphabets due to multiple overlaps

Device Details:

 Product Category=General Purpose

 Family=Artix-7

 Sub-Family=Artix-7

 Package=CSG324

Speed Grade=-1

 Part=xc7a100tcsg324-1

--------------------Demonstration--------------------

Top Level Architecture/Psuedocode Sketch:

![Top](/demo/12.png)

Data Path Architecture Sketch:

![DP](/demo/11.png)

ASM Chart Sketch:

![ASM](/demo/13.png)

Sample Translation Table for In(Alphabet/Space->Decimal->Binary Input)

Space-> 0 ->00000000

A-> 1 -> 00000001

B-> 2 -> 00000010

C-> 3 -> 00000011

...

X-> 24 -> 00011000

Y-> 25 -> 00011001

Z-> 26 -> 00011010

Translation Chart Sketch:

![Table](/demo/14.png)

DEMO:

![Switch Binding](/demo/1.png)
![Enter MSG](/demo/2.JPG)
![Put Pass](/demo/3.JPG)
![Input Pass](/demo/4.JPG)
![Wait](/demo/5.JPG)
![Incorrect Try](/demo/6.JPG)
![Incorrect Decrypt](/demo/7.JPG)
![Correct Try](/demo/8.JPG)
![Correct Decrypt](/demo/9.JPG)
![Reset](/demo/10.JPG)