FROM:              Dr. U. Meyer-Baese

SUBJECT:            Obuscation Tutorial

 

Here is a short tutorial how to run the obfuscation programs on a SUN Sparc Solaris 2.9 (compiled using gcc 3.4.2):

 

1) The program o4c128.exe is used to obfuscate C-code using length-128 identifiers. A FFT test program demonstrates the results. The C code is written for a Nios II system that includes (green) LEDs, switches and the SDRAM interface for the DE2 university board. VHDL and Verilog tutorials for the SDRAM are available at:

http://www.altera.com/education/univ/materials/manual/unv-lab-manual.html
Download and then run it via
o4c128.exe NIOS_FFT.c from the OS prompt.

 

2) The program o4v128.exe is used to obfuscate Verilog code using length-128 identifiers. A short sqrt.v example, the obfuscated code, and the cross reference table are shown. Download and then run it via o4v128.exe sqrt.v from the OS prompt.

 

3) The program o4vhdl128.exe is used to obfuscate VHDL code using length-128 identifiers. A short sqrt.vhd example, the obfuscated code, and the cross reference table are shown. Download and then run it via o4vhdl128.exe sqrt.vhd from the OS prompt.

 

 

C-code

Verilog

VHDL

Obfuscator

o4c128.exe

o4v128.exe

o4vhdl128.exe

Source Original

NIOS_FFT.c

sqrt.v

sqrt.vhd

Source Obfuscated

FFT128.c

sqrt128.v

sqrt128.vhd

Cross reference table

o4c128.sym

o4v128.sym

o4vhdl128.sym

 

 

RELATED PUBLICATIONS*

 

 

U. Meyer-Bäse, E. Castillo, G. Botella, L.Parrilla, A. García; “Intellectual Property Protection (IPP) using Obfuscation in C, VHDL, and Verilog Coding” Proc. SPIE Int. Soc. Opt. Eng., Independent Component Analyses, Wavelets, Neural Networks, Biosystems, and Nanoengineering IX. April 2011, Vol. 8058, pp. 80581F1-12

DOWNLOAD PDF FILE HERE

 

Presenter in bold

 

*Copyright 2006, 2007 Society of Photo-Optical Instrumentation Engineers. These papers were published in SPIE conference Proceedings and are made available as an electronic reprint (preprint) with permission of SPIE. One print or electronic copy may be made for personal use only. Systematic or multiple reproduction, distribution to multiple locations via electronic or other means, duplication of any material in this paper for a fee or for commercial purposes, or modification of the content of the paper are prohibited.

 

Webpage maintained by Dr. Uwe Meyer-Baese last updated 8-29-2011