Understanding Metaencrypt Features

This section describes new features and enhancements to the metaencrypt functionality supported in version 2001.2 and later.

New 8-Byte Key Encryption

A new 8-byte key encryption feature based on a 56-bit DES is now available in metaencrypt with versions 2001.2 and above. You can insert data into an include file and encrypt this file using 8-byte key encryption. The encrypted data is in binary format.

Syntax

metaencrypt -i <infileName> -o <outfileName> -t <keyname>


NOTE: The keyname can be a combination of English characters and numbers and should be limited to 8 bytes.

Example

metaencrypt -i example.dat -o example.inc -t fGi85H9b

 

Encryption Structure

In version 2001.2 and later, .inc encryption is supported when using 8-byte key encryption. Insert the data to be encrypted into an include file and encrypt this file.

In the following example, example.dat contains data to be encrypted.

metaencrypt -i example.dat -o example.inc -t h78Gbvni

 

*example.sp*

......

.inc example.inc $ example.inc contains encrypted data

......

.end

 

Consider the following rules when employing 8-byte key encryption:

Supporting the .sp File Encryption

You can encrypt a .sp file in Star-Hspice version 2001.2. The data between .prot and .unpr in a .sp file can be encrypted so that Star-Hspice will recognize it.


NOTE: When performing the .sp encryption, the encrypted data should not contain .inc, .lib or .load to include another file.

Example

*sample.sp*

......

.inc sample1.inc

 

.prot

...... $ data to be encrypted

...... $ .inc .lib .load should not be contained in encrypted data

.unpr

 

.inc sample2.inc

......

 

.end

Supporting .lib File Encryption

Any important information can be placed into a .lib file and can be encrypted.

You can place parallel .lib statements into one library file. Each .lib can then be encrypted separately. However, .prot and .unpr must be placed between each pair of .lib and .endl.


NOTE: .prot and .unpr must be placed between .lib and .endl since Hspice will first find the library name in the .lib file.

Example

*sample.sp*

......

.lib `./sample.lib' test1

.lib `./sample.lib' test2

.lib `./sample.lib' test3

......

.end

 

*sample.lib*

.lib test1 $ .prot , .unpr should be put between .lib and .endl

.prot

...... $ data to be encrypted

.unpr

...... $ data not to be encrypted

.end1 test1

 

.lib test2 $ .prot , .unpr should be put between .lib and .end1

.prot

...... $ data to be encrypted

.unpr

.end1 test2

 

.lib test3

...... $ data

.end1 test3

Supporting .inc File Encryption

You can insert any important data into a .inc file and encrypt the file. There are no restrictions on the placement of .prot and .unpr.

Example

*sample.sp*

......

.inc sample.inc

......

.end

 

*sample.inc*

.prot $ no restriction on the placement of .prot

......$ data to be encrypted should not contain .inc, .lib or .load

.unpr

......

Supporting .load Encryption

You can encrypt a .ic file just like a .inc file.

Supporting 80+ Columns Encryption

Star-Hspice version 2001.2 and later can support 1-255 column encryption.

Statements Not Supported

Additional Recommendations for Encryption

Using .option search for encrypting models and subcircuits is not recommended. This method was supported using the old metaencryption functionality. Subcircuits and model libraries can be encrypted directly using the .inc and .lib encryption method.

Complete Encryption Structure Example

The following complete example illustrates the encryption structure.

 

file enc.sp:

 

*test .inc .lib .load encryption

 

.inc "mm.inc"

.load "xx.ic"

.lib 'kk.lib' pch

 

.options post list

.tran 2ns 400ns

 

.end

 

file mm.inc:

 

.prot CUSTOM

-hs#ylB]*7[

+t'Y=O$S[t0]ajL

+C :Nx:$.$=<*X:$<#pP=020#ZWP=020x\K:[1:898

y[-x:$-#tRr0($x#4:/[U$<\K:I[U$<J <9 :P#ZQ

6%P2V7D6:]4l/0#+:IXj0#ZWP=020#ZWP/[U$=J++bZ

3[7D6:BxHpg8

/C902P73+26

mh$y#D:bX/$\KwI)U-0R#=-ib+\[

a$o) :P.#$<) :P.#to)V:\7*K-I1M$#';-[Xz:9qpy

eMDv0%wUoxZ>mzwF*-(3_;W6x.*P!uW.]a+P0.h:n=O>1q+H(J0

o.H#-/B+($;W Me*0x<6#9[UqpH/2h97%;-/B+T35Q

$\m;'_-he[uE$%H) 5a:ZxRW9x=*77w$2]=*P!RW%.ahT3VQ

H0[I:[

 

 

file xx.ic:

 

.prot FREELIB

59yUH\$='x.3k77*<]8AT]8

<:7-(:9CV+7x15Xj+h'x=5Xj+(2 +4]8

<:7_D:\[2x9Y>/.7q

59y3\#D$ *y2k=u]PIq:97jH=u1w5Xj+x6

92k#<2FW0'k772<xBU677Q

59y3\#s# r21$],29b72[4'/RW72wd#$:O.U 0sW%5$;[4sv;9=zV7[WFW[(g8#/']=AH%T5:7Z

[$%C999A2P!8

<:X2o60'$ 06($_#upe1:pX8

<5ax/toC n90;<0dw0]23G%C z9$Dh#Sw5a90

ZM*2!M[0

o729!=PAy73x(/1:6[

+ 0%2UT%8

_:-x*$X+q

$9P2y73x(/1:L

T#;*9A27!j+(/z

$$o#(:/b0

o7ZW-9 -PxJ+y

a9[$0\;n90;<0dw0]23G%C z9$Dh#Sw5a90

Zr ;6

 

file kk.lib:

 

.LIB NCH

.prot FREELIB

HO. T,# %fXz>MZWf*-(3_;w6X.*p!Uw.]A+p0.H:N=o>1Q+h(j0

o.H#-/B+($;W Me*0x<6#9[UqpH/2h97%;-/B+T35Q

$\m;'_-he[uE$%H) 5a:ZxRW9x=*77w$2]=*P!RW%.ahT3VQ

H0[I:[

.ENDL

.LIB PCH

.prot FREELIB

HO. T,#t%fXz>MZWf*-(3_;w6X.*p!Uw.]A+p0.H:N=o>1Q+h(j0

o.H#-/B+($;W Me*0x<6#9[UqpH/2h97%;-/B+T35Q

$\m;'_-he[uE$%H) 5a:ZxRW9x=*77w$2]=*P!RW%.ahT3VQ

H0[I:[

.ENDL

 

Star-Hspice Manual - Release 2001.2 - June 2001