Example: DESTester

The DESTester example uses wires, triggers, and pipes to perform a simple processing task: encrypting or decrypting a block of data using DES. The DES engine used is available from OpenCores.org.

Usage Information

  1. Download the pre-built example bitfiles corresponding to your FPGA module from our Pins Downloads.
  2. Find DESTester.exe or DESTester.py (and its source code):
  3. You need to have the following in a single directory:
    • DESTester.exe or DESTester.py
    • okFrontPanel.dll (.so for Linux, .dylib for macOS)
    • des.bit (from step 1)

A device is only accessible in one application at a time. Ensure the FrontPanel application is closed before running the example.

Usage: DESTester [d|e] key infile outfile
   [d|e]   - d to decrypt the input file.  e to encrypt it.
   key     - 64-bit hexadecimal string used for the key.
   infile  - an input file to encrypt/decrypt.
   outfile - destination output file.

Examples

C:\Work\destest>DESTester.exe e 1234567812345678 in out
------ DES Encrypt/Decrypt Tester in C# ------
Device firmware version: 3.1
Device serial number: 102200AA15
Device ID: Opal Kelly XEM3001
FrontPanel support is available.
Encrypting in ---> out

C:\Work\destest>DESTester.exe d 1234567812345678 out in.out
------ DES Encrypt/Decrypt Tester in C# ------
Device firmware version: 3.1
Device serial number: 102200AA15
Device ID: Opal Kelly XEM3001
FrontPanel support is available.
Decrypting out ---> in.outCode language: PHP (php)

FrontPanel Platform App

An app version of the DESTester example is provided as a FrontPanel Platform app, written in JS+HTML+CS. This provides a graphical interface to the same functionality as the command line application.