Dec 142017
DES Standard Encryption Algorithm in BASIC. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
DECRYPT.BAS | 2172 | 1021 | deflated |
DESMODUL.BSV | 3080 | 1602 | deflated |
DESMODUL.COM | 2683 | 1302 | deflated |
DESMODUL.DOC | 40995 | 10128 | deflated |
ENCRYPT.BAS | 2015 | 961 | deflated |
TPCREAD.ME | 199 | 165 | deflated |
Download File DESMODUL.ZIP Here
Contents of the DESMODUL.DOC file
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Chapter 1
Chapter 1
TERMS AND CONDITIONS
TERMS AND CONDITIONS
WARNING: CRYPTOGRAPHIC PRODUCTS, INCLUDING
WARNING:
DES SOFTWARE, ARE LISTED ON THE MUNITIONS
LIST AND ARE CONSIDERED TECHNICAL DATA; AND
ARE THEREFORE SUBJECT TO CONTROL BY THE
INTERNATIONAL TRAFFIC IN ARMS REGULATIONS.
AS SUCH, THEY MAY NOT BE EXPORTED FROM THE
UNITED STATES WITHOUT A VALID EXPORT LICENSE
FROM THE U. S. DEPARTMENT OF STATE, OFFICE OF
MUNITIONS CONTROL.
This manual and the accompanying programs
DESMODUL.COM and DESMODUL.BSV may be copied
and shared freely for non-commercial purposes
so long as certain duplication and
distribution rules are followed. Please see
Appendix C of this manual for the Trigram
Systems duplication and distribution policy.
Copyright (C), 1984 by Trigram Systems.
All rights reserved. Version 1.00. First
Release: January, 1984
- 1 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
1.1 Warranty Provisions.
________________________
If you are a registered user by virtue of having purchased
DESMODUL directly from Trigram Systems or having registered
your use by paying the requested amount of $35.00, then we
will replace the original distribution media (diskette) in
the event that it is received in an unreadable condition.
You are encouraged to make appropriate backup copies of the
programs and the document files. Other than that, this
user's manual and the programs DESMODUL.COM and DESMODUL.BSV
are provided on an "AS IS" basis without warranty of any
kind, expressed or implied, including but not limited to the
implied warranties of merchantability and fitness for a
particular purpose. The entire risk as to the quality and
performance of these programs and this manual rests solely
with the user. Should any part of these programs or this
manual prove defective, the user will assume the entire cost
of all necessary repair, servicing, and correction. In no
event will Trigram Systems be liable to you for any damages,
including any lost profits, lost savings, or other incidental
or consequential damages arising out of the use or inability
to use these programs or this manual, even if Trigram Systems
has been advised of the possibility of such damages. This
warranty gives you specific legal rights, and you may have
other rights which may vary from state to state. Some states
do not allow the exclusion of implied or consequential
damages so parts of the above may not apply to you. By
operating any of the above programs or using any part of this
manual, you acknowledge that you have read this agreement,
understand it, and agree to be bound by its terms and
conditions. You further agree that it is the complete and
exclusive statement of the agreement between us, which
supersedes any proposal or prior agreement, oral or written,
and any other communications between us.
1.1.1 Customer Support.
If you are a registered user, feel free to write or call us
with any questions or suggested improvements you might have
concerning our products. Unfortunately, we are not in a
Unfortunately, we are not in a
position to offer Customer Support to unregistered users. If
position to offer Customer Support to unregistered users.
you call or write, please have available the program serial
number from your distribution disk. Please understand that
- 2 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
we cannot provide additional custom programming unless we
charge you for it.
- 3 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Chapter 2
Chapter 2
DESMODUL User's Manual
DESMODUL User's Manual
The DESMODUL programs and this manual are intended for the
use of programmers and other relatively skilled users who are
capable of understanding the technical jargon and need little
hand-holding. We encourage everyone else to consider the use
of our DataSafe product, which is menu-driven and includes a
DataSafe
comprehensive User's Manual. See Appendix C for further
details.
In addition to some programming knowledge, we assume you
have a basic familiarity with cryptography, and the DES in
particular. Please note that providing secure cryptographic
protection is a nontrivial undertaking. You should be
prepared to do some careful research and study before
embarking on any ambitious projects which involve the
protection of very valuable or critical data.
2.1 HOW TO USE DESMODUL.COM
2.1 HOW TO USE DESMODUL.COM
___________________________
The file DESMODUL.COM contains the assembly language object
code required to encrypt or decrypt a block of data using the
DES algorithm. There are three separate entry points
corresponding to three separate functions: ciphering,
generating sub-keys, and exclusive-OR-ing data blocks (the
latter is useful for applications which run DES is one of the
feedback or chaining modes). This module is configured to
interface with MicroSoft BASIC (IBM-PC version) via the CALL
function. Despite the ".COM" extension, it is NOT an
executable file; also, it cannot be linked with other
programs during the compilation/assembly process. It is
- 4 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
possible to use this module with assembly language programs
and from other high level languages which offer an assembly
language interface. However, it will probably be necessary
to write an intermediate interface which translates other
high level language calling conventions to the requirements
of this module.
2.2 Functions
2.2 Functions
_____________
In the sample programs (ENCRYPT.BAS and DECRYPT.BAS), the
three functions are referred to as SET.KEY, DO.XOR, and
CIPHER. The SET.KEY function takes a single argument which
is the 8 byte hex key used by the DES algorithm. In the
BASIC programs, this is an 8 byte character string. The
SET.KEY function copies the key string to the (internal) key
buffer, then generates the 16 sub-keys which the CIPHER
function needs to perform the encryption or decryption. It
does not return any arguments.
The CIPHER function does the actual encryption or
decryption. It takes two 8 byte strings as arguments. The
first string is always the INPUT and the second string is
always the OUTPUT. CIPHER copies the first string to a work
area, encrypts or decrypts it, then copies the results back
into the second string. The first argument is not affected;
the second argument is overwritten.
The DO.XOR function exclusive-OR's two strings together.
It takes two 8 byte strings as arguments. The first argument
is replaced with the results of exclusive-OR-ing the first
and second arguments together. The second argument is not
affected.
2.2.1 Using SET.KEY
You must run the SET.KEY function BEFORE you attempt to
encrypt or decrypt anything because this function generates
the sub-keys required by the ciphering algorithm. These
sub-keys are stored inside the memory area of DESMODUL.COM so
no information is passed back to the calling program. Before
- 5 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
you run SET.KEY, you must set a flag byte (see below) which
controls whether the algorithm is to encrypt or decrypt.
This byte should be 0 for encryption, &HFF for decryption.
Once you have set the encrypt/decrypt flag, you can call
SET.KEY with an 8 byte character string containing the
desired key. The ASCII value of each character is used
directly in the key--these keys are NOT "hashed" in any way.
Thus, the key "@@@@@@@@" is equivalent to the hex key
(40,40,40,40,40,40,40,40). The leftmost character
corresponds to the most significant byte of the key. Only
seven bits of each byte are significant, and they should be
left justified; the least significant (parity) bit of each
byte is ignored. Keys are assumed to be exactly eight bytes
long; SET.KEY does no error checking. The character string
holding the key will be intact when this function returns.
It is only necessary to run SET.KEY when you are changing
the key, or when you are changing from encryption to
decryption or vice versa. It is not necessary (and very
inefficient) to run SET.KEY after each block is processed.
If you are running SET.KEY because you changed the
encrypt/decrypt flag, it is essential that you call it with
the correct key, even if the key has already been set. If
your application requires FAST switching from encrypt to
decrypt mode, it is probably best to set up two independent
modules, one set for encryption and the other for
decryption.
2.2.2 Using CIPHER
The CIPHER function performs the encryption or decryption
of the plaintext and ciphertext blocks passed as arguments
using the sub-keys created by SET.KEY. Whether the operation
is encryption or decryption depends solely on the value of
the encrypt/decrypt flag when SET.KEY was last called. No
matter which operation is being performed, the first argument
is always the INPUT block, and the second argument is always
the OUTPUT block. This means that first argument will be the
plaintext if the operation is encryption, and the ciphertext
if the operation is decryption. (See the examples
ENCRYPT.BAS and DECRYPT.BAS.)
Both arguments are 8 byte character strings, and all of the
comments concerning the hex key strings in the previous
section apply here as well, except that all bits are
significant. Both strings are assumed to contain exactly 8
bytes; CIPHER does not perform any error checking. (Note
- 6 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
that the second argument must already have been assigned a
value at least 8 bytes long to "hold the place" for the value
to be returned by CIPHER. The easiest way to ensure this is
to assign an 8 byte dummy string to this argument before
calling CIPHER as in line 150 of the sample program
ENCRYPT.BAS. If you ignore this, cipher might write over
your BASIC code or other data.) CIPHER will always return
the first argument intact; the second argument will always be
changed.
2.2.3 Using DO.XOR
The DO.XOR function will exclusive-OR its first argument
with the second and return the result in place of the first
argument. This operation can easily be performed in BASIC
but it is s-l-o-w, especially if you are using a feedback or
chaining mode which makes extensive use of exclusive-OR.
Both arguments must be 8 byte character strings
representing 8 byte data blocks. No error checking is
performed. The first argument will be overwritten, but the
second argument will be preserved. The comments above
concerning the hex key character string apply here as well,
except that all of the bits are significant.
2.3 "BLOADing" the Module
2.3 "BLOADing" the Module
_________________________
If you are using MicroSoft BASIC, there is a version of the
module in "DESMODUL.BSV" which can be loaded using the
"BLOAD" command. This version is identical to DESMODUL.COM
except that it has been saved using the "BSAVE" command.
Lines 120-140 in the sample programs illustrate how the
module can be loaded using the "BLOAD" command. Note that
you must set the segment where you want to load the module
prior to giving the "BLOAD" command. The module must be (and
will be) loaded at offset 0. Make sure you don't load the
module into an area used by BASIC (See Appendix C of the
BASIC manual for more information, but note that the value
used in some of their examples (&h1700) is TOO LOW unless you
- 7 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
restrict BASIC's workspace.)
If using "BLOAD" isn't practical for your application, you
can use the DEBUG program. Just give the command "DEBUG
DESMODUL.COM" and then use the "M" command to move the module
to wherever you want it.
2.3.1 Entry Points and Conditions
The module has been assembled starting at offset 0. The
encrypt/decrypt flag is located at offset 0. The CIPHER entry
point is located at offset 9. The DO.XOR entry point is
located at offset 12. The SET.KEY entry point is located at
offset 15 (all of these values are decimal). These offsets
are used in the sample programs at lines 160-180 and 270.
Internally, code and data share the same segment. On
entry, the module assigns the data segment the same value as
the code segment; on exit, the original data segment value is
restored.
The following conditions are assumed to exist when the
application program calls one of the module subroutines:
- The code segment is set to the base of the segment at
which the module is loaded. The program counter points
to the offset corresponding to the entry point of the
desired subroutine. (The DEF SEG command specifies the
segment address in BASIC; an intersegment CALL in
assembly language will do the same thing.)
- The SS/SP pair point to a stack where the application
program has stored pointers to the argument(s). The
calling program pushes the argument pointers in order
from left to right, then performs an intersegment call.
On return, the subroutine performs an intersegment
return, RET N, where N is equal to twice the number of
function arguments. This "fixes" the stack to account
for the arguments which were pushed before the call, so
the application program should NOT also "fix" things.
The stack is assumed to have room for at least 16 more
bytes.
- The argument pointers on the stack are assumed to be
offsets with respect to the segment value passed in the
data segment register. The DS register will be
unchanged when the subroutine returns.
- 8 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
- The extra segment may have any value on entry; the same
value will be restored on exit. This value is not used
by any of the module functions.
- The BP register may have any value; it is restored on
exit. This value is not used by any of the module
subroutines.
- The other registers, flags, and index pointers may have
any values. None of these values are used by any of the
subroutines. Any of these may be (and will be)
destroyed by the subroutines; it is the application
program's responsibility to preserve what it needs
before calling the subroutine.
2.3.2 The Argument Pointers
Because all of the arguments of the functions are strings,
the argument pointers are offsets (from DS) which point to
string descriptors. The string descriptors contain pointers
to the actual strings. A string descriptor consists of a
single length byte followed by a two-byte string address.
This address is specified as an offset with respect to the
data segment register.
For more details on the entry conditions and argument
pointers, refer to Appendix C of the BASIC manual. The
appendices contain some sample programs which illustrate how
the subroutines would be used by a BASIC program. Although
these programs are fully functional, they are of limited
practical use because they have no provisions for inputting
keys, and because we were more concerned with simplicity than
efficiency.
- 9 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Appendix A
Appendix A
ENCRYPT.BAS
ENCRYPT.BAS
10 'This is a sample program which uses the DES module to encrypt files
20 'in either CBC or ECB mode. Mode controlled by 'CIPHR.MOD$' string.
30 '
100 DEFINT A-Z
110 CIPHR.SEG=&H1F00 'This is the absolute load addr. (offset=0)
112 'The DES module MUST be loaded at offset 0.
114 '(The segment may be in any unused area of mem.)
115 '
120 DEF SEG=CIPHR.SEG
130 BLOAD "MODUL.BSV",0 'Load the module.
140 DEF SEG
145 '
146 CIPHR.MOD$="CBC" 'Set ciphering mode to CBC
148 ENC.FNC=0 'ENCRYPT/DECRYPT code (ENC=0; DEC=0FFh)
149 'This prog. will NOT DECRYPT in CBC mode.
150 CPR.TXT$="########"+"" 'Make room for ciphertext (see Basic manual,
152 'page C-9).
155 ' This is also the Initializing Vector for CBC
160 SET.KEY=15 'Entry point for SET.KEY subroutine (offset)
170 DO.XOR=12 'Entry point for XOR subroutine
180 CIPHER=9 'Entry point for CIPHER subroutine
182 '
184 INPUT "Plaintext file"; PTXT$
186 INPUT "Ciphertext file"; CTXT$
188 '
190 OPEN PTXT$ AS #1 LEN=8
200 OPEN CTXT$ AS #2 LEN=8
210 FIELD #1, 8 AS A$
220 FIELD #2, 8 AS B$ 'Open files for random I/O
230 '
260 DEF SEG=CIPHR.SEG
270 POKE 0,ENC.FNC 'Set 'ENCRYPT' flag
280 DEF SEG
290 '
300 HEX.KEY$="AAAAAAAA" 'Key (=41h,41h,41h,...in this example)
310 DEF SEG=CIPHR.SEG
- 10 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
320 CALL SET.KEY(HEX.KEY$) 'Make subkeys for ENCRYPT
330 DEF SEG
340 '
350 FOR J=1 TO (LOF(1)+7)\8
360 GET #1,J
370 PLN.TXT$=A$ 'Get plaintext block
380 '
390 DEF SEG=CIPHR.SEG
400 IF (CIPHR.MOD$="CBC") THEN CALL DO.XOR(PLN.TXT$,CPR.TXT$)
401 'ARG1=ARG1 XOR ARG2
410 CALL CIPHER(PLN.TXT$,CPR.TXT$) 'Perform encryption.
420 DEF SEG
430 '
440 LSET B$=CPR.TXT$
455 IF J MOD 128 = 0 THEN PRINT J\128; "k ";
450 PUT #2,J
460 NEXT J
470 CLOSE
480 '
490 END
- 11 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Appendix B
Appendix B
DECRYPT.BAS
DECRYPT.BAS
10 'This is a sample program which uses the DES module to decrypt files
20 'in either CBC or ECB mode. Mode controlled by 'CIPHR.MOD$' string.
30 '
100 DEFINT A-Z
110 CIPHR.SEG=&H1F00 'This is the absolute load addr. (offset=0)
112 'The DES module MUST be loaded at offset 0.
114 '(The segment may be in any unused area of mem.)
115 '
120 DEF SEG=CIPHR.SEG
130 BLOAD "MODUL.BSV",0 'Load the module.
140 DEF SEG
145 '
146 CIPHR.MOD$="CBC" 'Set ciphering mode to CBC
148 DEC.FNC=&HFF 'ENCRYPT/DECRYPT code (ENC=0; DEC=0FFh)
149 'This prog. will NOT ENCRYPT in CBC mode.
150 CPR.TXT$="########"+"" 'Make room for ciphertext (see Basic manual,
152 'page C-9).
153 PLN.TXT$="########"+"" 'Save dummy string into PLN.TXT too (same reason)
155 ' This is also the Initializing Vector for CBC
160 SET.KEY=15 'Entry point for SET.KEY subroutine (offset)
170 DO.XOR=12 'Entry point for XOR subroutine
180 CIPHER=9 'Entry point for CIPHER subroutine
182 '
184 INPUT "Ciphertext file"; CTXT$
186 INPUT "Plaintext file"; PTXT$
188 '
190 OPEN CTXT$ AS #1 LEN=8
200 OPEN PTXT$ AS #2 LEN=8
210 FIELD #1, 8 AS A$
220 FIELD #2, 8 AS B$ 'Open files for random I/O
230 '
260 DEF SEG=CIPHR.SEG
270 POKE 0,DEF.FNC 'Set 'ENCRYPT' flag
280 DEF SEG
290 '
300 HEX.KEY$="AAAAAAAA" 'Key (=41h,41h,41h,...in this example)
- 12 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
310 DEF SEG=CIPHR.SEG
320 CALL SET.KEY(HEX.KEY$) 'Make subkeys for ENCRYPT
330 DEF SEG
340 '
350 FOR J=1 TO (LOF(1)+7)\8
360 GET #1,J
365 CPR.TXT.LAST$=CPR.TXT$ 'Save old ciphertext block for XOR.
370 CPR.TXT$=A$ 'Get new ciphertext block
380 '
390 DEF SEG=CIPHR.SEG
410 CALL CIPHER(CPR.TXT$,PLN.TXT$) 'Perform decryption
415 IF (CIPHR.MOD$="CBC") THEN CALL DO.XOR(PLN.TXT$,CPR.TXT$)
416 'ARG1=ARG1 XOR ARG2
420 DEF SEG
430 '
440 LSET B$=PLN.TXT$
455 IF J MOD 128 = 0 THEN PRINT J\128; "k ";
450 PUT #2,J
460 NEXT J
470 CLOSE
480 '
490 END
- 13 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Appendix C
Appendix C
Duplication and Distribution Policy
Duplication and Distribution Policy
The Data Encryption Standard was originally devised
(presumably at considerable expense) by IBM, who offered it
on a royalty free license basis when the National Bureau of
Standards solicited interested parties for a commercially
oriented encryption algorithm. Since IBM donated the fruits
of their labor in the national interest, and since the DES is
now a federal standard, we felt that we should encourage its
use by making it available as a semi-public domain
program--DESMODUL, for non-commercial, private individual
use. Accordingly, a non-exclusive license to use and
a non-exclusive license to use and
distribute this manual and the DESMODUL programs is hereby
distribute this manual and the DESMODUL programs is hereby
granted to all private individuals who are U. S. citizens for
granted to all private individuals who are U. S. citizens for
their personal, not-for-profit use.
their personal, not-for-profit use.
Not so coincidentally, DESMODUL may whet your appetite for
a more comprehensive and user-friendly encryption package.
Our DataSafe program implements Electronic Code Book and
DataSafe
Cipher Block Chaining modes, and may soon offer Cipher
Feedback Mode for data communication applications. In
addition to encryption, DataSafe offers a way for you to
DataSafe
authenticate your files against any otherwise undetected
modification, whether accidental or deliberate--a great way
to ensure that your valuable data sets have been copied and
restored correctly.
For this reason, we encourage you to copy and share this
product with your friends FOR NON-COMMERCIAL USE ONLY. All
FOR NON-COMMERCIAL USE ONLY
we ask is that you respect our rights of authorship, and
distribute the package as a whole in disk file form as you
would receive it from us. (If you didn't get your copy from
us, that means that the following files should be on any copy
you give out: DESMODUL.COM, DESMODUL.DOC, DESPOLCY.DOC,
DESMODUL.BSV, ENCRYPT.BAS, and DECRYPT.BAS.) We also do not
allow anyone to charge money for a copy of our product. If
you must charge for the diskette(s), you may charge no more
than $8.00 total for all diskettes included with DESMODUL
without special written permission from Trigram Systems.
- 14 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
In addition, we must again point out that the export of
cryptographic software from the U. S. requires an export
license from the U. S. Department of State. For that reason,
we suggest that anyone who distributes the software via a
bulletin board or user's group take special care to ensure
that the recipients are aware of this policy to avoid any
possible embarrassment to anyone concerned.
C.1 Registered User Status and Commercial Users.
________________________________________________
In order for small software houses to flourish and produce
the wide variety of software required for commercial users at
a reasonable price, it is necessary for them to occasionally
turn a profit. We hope that commercial users will understand
and be sympathetic. By giving away a program that is
admittedly just a little hard to use, we hope to encourage
businesses and other organizations to buy our more extensive
and user-friendly programs, particularly our DataSafe
DataSafe
encryption product and our very sophisticated spelling
checker, MicroSpell. We also license the source code for all
MicroSpell
of our products; call or write for more information. Since
we are sure that even your best programmers could not
implement a program that would begin to rival DataSafe in
DataSafe
terms of speed, flexibility, and user-friendliness for
anywhere near its $139.00 price (quantity discounts
available), we think we have a good deal for you. In
addition, we have other exciting new programs in the works,
and we would like to put you on our mailing list.
Finally, we think that there are some very subtle points
regarding the way encryption and authentication should be
used. We try to keep up with the technical literature, and
have summarized these considerations in our 43 page user
manual to DataSafe. So, whether you are a commercial user or
DataSafe
not, here is our offer:
Option 1--DESMODUL Registered User:
___________________________________
- Send us the nominal sum of $35.00 for the DESMODUL
programs along with the invoice below, and we will send
you a license agreement which permits a single machine
commercial use-for-profit use of DESMODUL, together with
the most current version of the software for your
system;
- 15 -
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
- We will put you on our mailing list of registered users
to receive notices of any future updates to our
products, including the next two updates to DESMODUL (if
required) for free (if you return your diskette), and
entitle you to a reasonable amount of consultation and
hand holding;
- We will send you current version of the DataSafe Users
DataSafe
Manual;
- And we will include a certificate for a 30% discount off
of the price of DataSafe when purchased directly from
DataSafe
us.
Option 2--DataSafe Registered User:
DataSafe
____________________________________
- Send us $139.00 now, along with the invoice below, and
we will send you the latest version of DataSafe and
DataSafe
DESMODUL by return mail, together with the User's
Manual, DataSafe License, a DESMODUL single-machine
DataSafe
commercial-use license, and our kind regards.
- 16 -
INVOICE
INVOICE
_______
Date:________________
Please make payable to:
Trigram Systems
3 Bayard Road, Suite 66
Pittsburgh, PA 15213
(412) 682-2192
Quantity Description Price
-----------------------------------------------------------------
______ each DESMODUL commercial license & $35.00
DataSafe User's Manual
DataSafe
______ each DataSafe licensed programs $135.00
DataSafe
DataSafe User's Manual
DataSafe
Subtotal $______
Tax $______
Total $______
I (we) understand that the export of cryptographic software
from the U. S. without an export license is prohibited. I
(we) further represent that I (we) am (are) a U. S. citizen,
or a U. S. owned, operated, and controlled organization or
firm.
Purchaser: ___________________________________________________
Company: ___________________________________________________
Address: ___________________________________________________
___________________________________________________
___________________________________________________
Phone: ___________________________________________________
(Call for information about source code licenses or quantity
discounts.)
Trigram Systems DESMODUL User's Manual
3 Bayard Road # 66
Pittsburgh, PA 15213
(412) 682-2192
Table of Contents
Chapter 1 TERMS AND CONDITIONS 1
1.1 Warranty Provisions. 2
1.1.1 Customer Support. 2
Chapter 2 DESMODUL User's Manual 4
2.1 HOW TO USE DESMODUL.COM 4
2.2 Functions 5
2.2.1 Using SET.KEY 5
2.2.2 Using CIPHER 6
2.2.3 Using DO.XOR 7
2.3 "BLOADing" the Module 7
2.3.1 Entry Points and Conditions 8
2.3.2 The Argument Pointers 9
Appendix A ENCRYPT.BAS 10
Appendix B DECRYPT.BAS 12
Appendix C Duplication and Distribution Policy 14
C.1 Registered User Status and Commercial Users. 15
i
December 14, 2017
Add comments