Home
AES_4C - MarshallSoft Computing
Contents
1. All of the IDE s use the concept of a file hierarchy For example the AESVER example program files hierarchy in the IDE for 32 bit should look like aesver exe aesver c aes32 lib Replace aes32 lib with aes32bc5 lib if using Borland C Builder and with aes32Icc lib if using LCC Win32 The order of the files is not significant Refer to Section 4 below for a particular IDE 11 3 2 Command Line Tool Setup Many software developers overlook the power of using command line compilers There are a number of very significant advantages to using the command line version of a C C compiler Among these are e Easy of Use Once set up typing a single key can compile one or a thousand programs e Power Using the command line allows the use of batch files automating complicated builds e Compatibility Command line makefiles unlike IDE project files are normally compatible from one version of a compiler to the next In order to compile from the command line command line compiler tools must be set up properly Note that an option to install command line tools or not to install them is provided during installation of a C C compiler Refer to the compiler manufacturer s manual for details If necessary the size of the environment table space can be increased by adding SHELL C COMMAND COM e 1024 p to CONFIG SYS in C and then reboot Yes this works for all versions of Windows including Windows NT 2000 W
2. Programs 5 1 Compiling AES Source Code 5 2 Compiling Example Programs Example Programs Revision History Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page Page OM WA WOAAIATAYTNANADAAVIA GT OBS WW 1 Introduction The MarshallSoft Advanced Encryption Standard Library for C C AES4C is a toolkit that allows software developers to easily implement strong encryption and decryption into a Windows C C Visual C NET or Visual C application The MarshallSoft Advanced Encryption Standard Library MarshallSoft AES is a component DLL library of functions used to perform encryption and decryption using the 256 bit Advanced Encryption Standard AES as specified by the U S National Institute of Standards and Technology NIST See http cesre nist gov publications fips fips197 fips 197 pdf AES is considered strong encryption and replaces the previous U S encryption standard Data Encryption Standard DES AES is commonly used by many financial entities such as banks to protect their customer s sensitive information Our implementation of the Advanced Encryption Standard AES has been verified by running the Advanced Encryption Standard Algorithm Validation Suite AESAVS which can be found at http csre nist gov groups STM
3. Studio C Borland C C Borland C Builder Turbo C C for Windows Watcom C C Digital Mars MinGW C and LCC Win32 C The SETUP installation program will copy the Lib s and DLL to the Windows directory Refer to Section 1 4 Installation After SETUP is run the AES4C files are copied to the directory specified default AES4C Three sub directories are created as follows DOCS All documentation files APPS All example cod DLLS All DLL s 2 1 Dynamic Link Library The MarshallSoft Advanced Encryption Standard Library is implemented as Win32 and Win64 dynamic link libraries DLL A DLL is characterized by the fact that it need not be loaded until required by an application program and that only one copy of the DLL is necessary regardless of the number of application programs that use it Contrast this to the traditional static library that is bound to each and every application that uses it at link time An important advantage that DLL s have over other popular library formats such as VBX or OCX is that DLL s are callable by all Windows applications Since DLL s are the building blocks of the Windows Operating System they will not be replaced by a newer technology The following files can be found in the DLL sub directory when SETUP is run ES32 d11 Win32 version of AES ES64 dl11 Win64 version of AES gt D Note The LIB files for the above DLLs can be found the in the APPS directory 2 2 Keycode
4. also provided 5 2 2 Compiling Using Visual C Net Microsoft Visual C C NET compiles only 32 bit programs Programs can be compiled with Microsoft Visual C C NET using either Visual Studio NET or the command line compiler Project files files ending in VCXPROJ or VCPROJ are provided for Visual Studio e g VC_VERS VCPROJ Command line makefiles files ending in _M_ are provided for use with the Visual C NET command line compiler e g NMAKE f AESVER _M_ 5 2 3 Compiling Using Visual C AES functions can also be called from C programs in the same manner in which Win32 API DLL functions are called 5 2 4 Compiling Using Borland C C 5 0 Borland C C 5 0 can compile both 32 bit and 16 bit programs Programs can be compiled with Borland C C using either the Borland IDE or the command line compiler Several Project files files ending in IDE are provided for the Borland IDE unzip BC50 IDE ZIP and command line makefiles files ending in _B_ for the Borland command line compiler For example MAKE f AESVER _B_ 20 5 2 5 Compiling Using Borland C C 5 5 Borland C C 5 5 is a command line compiler that can compile both 32 bit programs only Command line makefiles ending in _I_ are provided For example MAKE f AESVER _L 5 2 6 Compiling Using Borland C Builder Borland C Builder BCB is an IDE that features drag and drop forms building like Delphi and Visual Basic BC
5. cavp documents aes AESAVS pdf This MarshallSoft Advanced Encryption Standard Programmers Manual for C C provides information need to compile and run programs in a C C programming environment The MarshallSoft Advanced Encryption Standard DLL s will work under all versions of Windows 2003 2012 XP Vista Windows7 Windows 8 Both Win32 and Win64 DLL s are included AES4C includes several C C example programs including Visual Studio C and Visual Studio which demonstrate AES encryption and decryption Borland C Builder BCB examples are also provided The MarshallSoft Advanced Encryption Standard Library for C C component library supports and has been tested with C C Microsoft Visual C Visual Studio INET Framework Visual C NET C NET Visual C Express Borland C C Borland Turbo C for Windows Borland C Builder Watcom C C LCC Win32 and MinGW C compilers AES4C can also be used with most other C C Windows compilers The MarshallSoft AES DLLs aes32 dIl and AES64 DLL can also be used from any language Visual Basic VB NET ACCESS EXCEL VBA Borland Delphi Visual FoxPro COBOL Xbase Visual dBase Microsoft Office etc capable of calling the Windows API For the latest version of the MarshallSoft AES software see http www marshallsoft com aes4c htm Legalities It is illegal to possess strong encryption software in some countries in the world Do not download or use this software if
6. end with _I_ and like Borland C Builder use ILINK32 rather than TLINK32 Be careful with linker response files RSP they must NOT end with a carriage return line feed All Borland 5 5 makefiles are contained in file makefiles borland55 zip Borland programs always link with aes32bc5 lib 4 6 Borland C Builder Borland C Builder does not have command line tools so all programs must be compiled from the Borland C Builder integrated environment Note that aes32bc5 lib is the LIB file used with Borland C Builder AES32BC5 LIB can be created from aes32 dll by using the Borland IMPLIB program IMPLIB aes32bc5 lib aes32 dll The file C BUILDER ZIP contains the Borland C Builder project makefiles 4 7 Watcom C C AES4C works with Watcom 11 and Open Watcom http www openwatcom org Watcom C C programs can be compiled from either the command line or from within the Watcom development environment All Watcom 11 makefiles use file extension W_ and are contained in file makefiles watcoml11 zip Watcom IDE To create a new project choose File then New Project Enter the project name and then choose Win32 as the target Use the INS Insert key to pop up a dialog box into which the project file names are entered Select Options from the main window then C Compiler Switches then 10 Memory Models and Processor Switches Check 80386 Stack based calling 3s then check 32 bit Flat mode
7. or decrypts a file See the COMPILE comment in ve_Crypto c for information on compiling 6 10 vc_Password vc_Password cpp is a Visual Studio GUI mode example program that manages a set of 5 passwords which are always kept encrypted on disk A master password is used to access the set of 5 passwords See the COMPILE comment in ve_Password cpp for information on compiling 23 7 Revision History Version 1 0 March 19 2013 e The initial public release of AES4C Version 2 0 June 4 2014 Added aesEncryptWrite function that encrypts data amp writes to a file Added aesReadDecrypt function that reads an encrypted file amp decrypts Added aesSha256 function that computes the SHA 256 data hash Added AES_SHA256_METHOD key generation method to aesMakeUserKey Added support for Visual Studio 2013 Added support for Digital Mars C C compiler Added PASSWORD C and VC_PASSWORD CPP example programs Version 3 0 May 6 2015 e Replaced function aesSha25 with aesSha256Data and aesSha256File e Added PKCS7 padding option to aesPadBuffer e Added AES PKCS7 MASK to Flags argument in aesAttach to set file padding to PKCS7 24
8. 32 lib for MSVC aes32bc5 lib Borland C C and C Builder aes32 lib Watcom or aes32Icc lib Win32 LCC and recompile from source For Win64 link with aes64 lib rather than aes32 lib 2 8 Error Display The error message text associated with AKS error codes can be displayed by calling aesErrorText For example if ErrCode is returned by a AES function and it is negative indicating an error the text associated with the error code can be found by calling aesErrorText as demonstrated by the following code segment void DisplayError int ErrCode char MsgPtr int Len char ErrBuff 128 printf ERROR Sd ErrCode if MsgPtr printf Ss MsgPtr Len aesErrorText Errcode char ErrBuff 127 if Len gt 0 printf Ss n ErrBuff else printf n 2 9 Explicitly Loading an AES DLL When an application program runs that makes calls to AES32 dll or AES64 DLL the Windows operating system will locate AES32 dll or AES64 DLL by searching the directories as specified by the Windows search path If the AES DLL is placed in the WINDOWS it will always be found by Windows However AES32 dIl or AES64 DLL can also be loaded from a specified directory by using the GetProcAddress Win32 API function For an example refer to the LoadLib c program 2 10 Targeting a 64 Bit CPU If a compiler generates 32 bit application code and is running on a 64 bit version of Windows then comp
9. 4 How to Purchase of the AES User s Manual AES_USR Also see INVOICE TXT or http www marshallsoft com order htm 1 7 Updates When a developer license is purchased for AES the developer will be sent a set of registered DLLs plus a license file AESxxxxx LIC The license file can be used to update the registered DLL for a period of one year from purchase Updates can be downloaded from http www marshallsoft com update htm After one year the developer license must be updated to be able to download updates The license can be updated for e 30 if the update is ordered within one year of the original purchase or previous update e 55 if the update is ordered between one and three years of the original purchase or previous update e 75 if the update is ordered after three years of the original purchase or previous update The update price includes technical support for an additional year Note that the registered DLLs AES372 DLL and AES64 DLL never expire If source code was previously purchased updates to the source code can be purchased for 40 along with the license update 2 AES Library Overview The MarshallSoft Advanced Encryption Standard Library for C C AES4C has been tested on multiple computers running Windows 2003 2012 XP Vista Windows 7 Windows 8 The AES4C library has been tested with several C C compilers including Microsoft Visual C all versions including Visual Studio NET and Visual
10. B compiles 32 bit programs only Compile the BCB example program BCB_PRJ with BCB_PRJ MAK if running BCB version 1 through 3 and compile with BCB_PRJ BPR if running BCB version 4 or above The file C BUILDER ZIP contains the Borland C Builder project makefiles 5 2 7 Compiling Using Watcom 11 Open Watcom Programs can be compiled with Watcom 11 using either the Watcom IDE or the command line compiler Several command line makefiles files ending in _W_ for the Watcom command line compiler are provided For example e g WMAKE f AESVER _W_ 5 2 8 Compiling Using LCC WIN32 LCC Win32 compiles only 32 bit C not C programs Command line batch files ending with LCC bat are provided for several of the projects For example to compile AESVER using LCC Win32 type AESVER LCC BAT on the command line 5 2 9 Compiling Using MinGW Command line batch files ending with GCC bat are provided for several of the projects For example to compile AESVER using MinGW GCC type AESVER GCC BAT on the command line 5 2 10 Compiling Using Digital Mars Programs can be compiled with Digital Mars Command line makefiles files ending in _d_ are provided For example make f aesver s d 21 6 Example Programs Many of the example programs are written in Win32 console mode This was done in order to provide the clearest possible code without the complication and complexity of GUI code All console mode programs can be converted
11. DF format This is the first manual AES_4C PDF in the set AES _4C Programmer s Manual AES User s Manual AES _4C PDF AES _USR PDF AES Reference Manual AES R EE PDF The AES 4C Programmer s Manual AES_4C PDF is the language specific C C manual and provides information needed to install and compile example programs in a C C environment The AES User s Manual AES_USR PDF discusses language independent issues Information encryption decryption programming issues as well as technical support purchasing and license information is provided in the manual The AES Reference Manual AES_REF PDF contains details on each individual AES function Documentation is also provided online at http www marshallsoft com aes4c htm 1 3 Example Program The following example demonstrates some of the library functions i include aes h nt EncryptFile char KeyBuffer int Code attach DLL Code if Code lt 0 return FALSE printf Will encrypt file in ECB Code if Code lt 0 printf aesInitAES fails n PrintError Code return FALSE printf Encrypt file n Code aesEncryptFile NULL if Code lt 0 PrintError Code return FALSE printf d bytes encrypted n return Code printf ERROR d Cannot attach n KeyBuffer char FileName aesAttach AES KEY CODE AES PKCS7_ MASK Code Electronic Code Book
12. MarshallSoft AES Advanced Encryption Standard Library for C C Programmer s Manual AES_4C Version 3 0 May 6 2015 This software is provided as is There are no warranties expressed or implied Copyright C 2015 All rights reserved MarshallSoft Computing Inc Post Office Box 4543 Huntsville AL 35815 Voice 1 256 881 4630 Web http www marshallsoft com MARSHALLSOFT is a registered trademark of MarshallSoft Computing TABLE OF CONTENTS 1 I i 1 1 1 I 1 1 i a oA OMDATNAADOBPWNHREH ADO B WN NONNDNNNNNNNN EZ ntroduction al Features Documentation Installation Uninstalling Pricing Updates shallSoft AES Set Example Program Dynamic Link ibrary Keycode Win32 STDCALL Console Mode ibrary Overview and DECLSPEC Static Linking Calling AES from C Adding AES to Error Display an Exis 3 Compiler Issues 3 1 Compiling Using an IDI Line Tool Set Line Batch Files Makefiles 3 2 Command 3 3 Command 3 4 Command Line 4 Supported Compilers Pal Microsof t Visual C ting Program Explicitly Loading a AES DLL 10 Targeting a 64 Bit C 11 64 Bit AES PU Gl Up BEEP EER H HBB A ara OB WN Microsoft Visual Studio C Microsoft Visual Studio C Borland C C Turbo C C for Windows Borland C Builder Watcom C C LCC Win32 C 9 MinGW C C 10 Digital Mars C C Compiling
13. The AES DLLs AES32 dll and AES64 DLL each have a keycode encoded within them The keycode is a 9 or 10 digit decimal number unless it is 0 and will be found in the file KEYCODE H The keycode for the evaluation version is 0 The developer will receive a new key code after registering The KEYCODE is passed to aesAttach If an error code a negative number is returned when calling aesAttach it means that the keycode in the AES application does not match the keycode in the DLL error 202 or that the evaluation version has expired error 203 2 3 Win32 STDCALL and DECLSPEC AES32 is compiled using the _stdcall and _declspec keywords This means that AES4C uses the same calling conventions and file naming conventions as the Win32 API In particular function names are NOT decorated There are no leading underscores or trailing size strings added to function names Microsoft Visual C users can look at the AES32 function names using the dumpbin exe executable dumpbin exports AES32 dll 2 4 Console Mode AES4C functions can be called from Win32 Win64 console mode programs A console mode program is a Windows XP Vista Windows 7 Windows 8 command line program running in a command window Although console mode programs look like DOS programs they are Win32 Win64 programs that have access to the Win32 Win64 API and the entire Windows address space Programming using console mode programs reduces the complexity of using GUI code All cons
14. Visual Studio 2010 specific project files end with VS2010 vexproj for 32 bit applications and VS2010 x64 vexproj for 64 bit applications Note that project files for Visual Studio 2010 end with vcxproj rather than vcproj as in earlier versions of Visual Studio 14 4 2 4 Microsoft Visual Studio C C 2012 Visual Studio 2012 specific project files end with VS2012 vexproj for 32 bit applications and VS2012 x64 vexproj for 64 bit applications In order to convert an older project file to VS 2012 Open the older dsp vcproj vcxproj project file with VS 2012 Let VS 2012 update to 2012 format when prompted Select Project Properties Linker then Advanced Change the Image Has Safe Exception Handlers to NO SAFESEH NO Save project This will insert the line save a aed lt ImageHasSafeExceptionHandlers gt false lt ImageHasSafeExceptionHandlers gt into your project file as the last line before lt Link gt 4 2 5 Microsoft Visual Studio C C 2013 Visual Studio 2013 specific project files end with VS2013 vexproj for 32 bit applications and VS2013 x64 vexproj for 64 bit applications Projects can be converted from VS 2010 as described in Section 4 2 4 15 4 3 Microsoft C C Express Edition The Express Edition of Microsoft Visual Studio is available as a free download at http www microsoft com express download Open the VC project file as
15. ec keywords are specified Microsoft Visual C is used to create aes32 dll and AES32 OBJ for static linking In order to create aes32 dll type NMAKE f AES32 _M_ In order to create AES32 OBJ for static linking type NMAKE f AES32S _M_ Alternatively AES32 C can be included in a project along with MSC VS C and MSC STR C like any other C file Before compiling define the symbol STATIC_LIBRARY AES64 DLL has been compiled using Microsoft Visual Studio 2008 and is callable from 64 bit applications programs 19 5 2 Compiling Example Programs The example programs can be compiled by using either the command line compiler or the compiler integrated development environment IDE Most compiler vendors provide both IDE and command line tools although some compilers are command line only Borland C C 5 5 and LCC Win32 or IDE only Borland C C Builder Refer also to Section 4 Supported Compilers 5 2 1 Compiling Using Visual C VC v4 0 v5 0 and v6 0 Microsoft Visual C C v4 0 v5 0 v6 0 compiles only 32 bit programs Programs can be compiled with Microsoft Visual C C using either Developer Studio Visual Studio or the command line compiler Project makefiles files ending in MAK are provided for Developer Studio Visual Studio Command line makefiles files ending in _M_ are provided for use with the command line compiler e g NMAKE f AESVER _M_ MSVC v6 0 project files files ending in DSP are
16. iling and linking is the same as it were on a 32 bit Windows system The 32 bit application code generated will be executed by the Windows WOW64 Windows on Windows 64 bit component If a compiler generates 64 bit application code and is running on a 64 bit version of Windows then the compiler must be reconfigured to generate 32 bit application code if the application will call 32 bit DLL s such as aes32 dll The 32 bit application code generated will be executed by the Windows WOW64 Windows on Windows 64 bit component 2 10 1 Visual Studio C C Versions 2005 through 2013 With a project selected in Solution Explorer on the Project menu click Properties Click the Configuration Manager button in upper right corner Click the drop down button below Platform Click lt New gt then choose x86 Win32 2 10 2 Visual Studio Visual Basic Versions 2005 through 2013 With a project selected in Solution Explorer on the Project menu click Properties Click Build then Configuration Manager Click the drop down button below Active Solution Platform Click lt New gt then change Any CPU to x86 2 11 64 bit AES 64 bit DLL s may only be used by 64 bit application programs running on 64 bit Windows computers This means that 64 bit application programs must be linked with aes64 lib instead of aes32 lib However if a compiler generates 32 bit code the application must be linked with aes32 lib even though it may be r
17. in previous versions of Visual Studio 4 4 Microsoft Studio Visual C AES functions can be called from Microsoft Visual C C sharp in the same manner as Win32 API functions All C projects end with extension csproj For example CS_vers csproj ClientCS csproj In order to call AES functions from an existing C programs do the following to the C source code 1 Add using System Runtime InteropServices to the application source code 2 Add the contents of file aes funs cs to the application source code after public class aes System Windows Forms Form 3 Add the constants from aes_cons cs to the program as they are needed Look at the cs_vers and ClientCS example projects in the APPS directory 4 Set unsafe compilation for any functions that calls AES functions For example private unsafe void buttonl Click object sender System EventArgs e 5 Verify that Al lowUnsafeBlocks is set to true in the project file vcproj That is AllowUnsafeBlocks true 16 4 5 Borland C C Borland C C Version 5 0 programs can be compiled from either the command line using makefiles ending with _B_ or from within the Borland development environment using Borland v5 0 or above All Borland 5 0 makefiles are contained in file makefiles borland50 zip Borland C C Version 5 5 which can be downloaded from http edn embarcadero com article 20633 is a free Win32 console mode compiler no IDE Makefiles for BC v5 5
18. indows 8 Windows 7 Vista and XP For all compilers the path should point to the compiler s BIN directory For example to add C ABCSO BIN to an existing path use PATH C BCSO BIN PATH 3 2 1 Microsoft Visual C Set LIB and INCLUDE environment variables For example SET INCLUDE C MSVC INCLUDE SET LIB C MSVC LIB 3 2 2 Borland Check that TURBOC CFG BCC32 CFG TLINK CFG and TLINK32 CFG all have the correct information in them as they should have when the compiler was installed For example IC BCS INCLUDE LC BCS LIB BRCC the Borland Resource Compiler doesn t use the CFG files Set the INCLUDE environment variable or BRCC will not be able to find the INCLUDE files such as WINDOWS H For example SET INCLUDE C BCS INCLUDE Clear the LIB environment variable so it is not present when SET is typed at the command line with SET LIB 12 3 2 3 Watcom Set the WATCOM environment variables to point to the compilers include H and BIN directories For example SET INCLUDE C WC11 H C WC1I H NT SET WATCOM C WC11 SET EDPATH C WC11 EDDAT SET WWINHELP E BINW Watcom makefiles are available on request 3 2 4 LCC 32 bit or 64 bit The LCC environment variables are set like the others For example SET INCLUDE C LCC INCLUDE SET LIB C LCC LIB After making the above changes for the compiler type PATH at the command line prompt to verify the search path and type SET at the command line prompt to ve
19. it is illegal to do so in your country In addition this software cannot be sold to countries on the U S Embargo List See http www pmddtc state gov embargoed countries index html 1 1 Features Some of the many features of the MarshallSoft Advanced Encryption Standard Library for C C are as follows Supports both 32 bit and 64 bit Windows Implements the 256 bit Advanced Encryption Standard Rijndael Supports ECB Electronic Cookbook mode Supports CBC Cipher Block Chaining mode Supports PKCS7 padding Free technical support and updates for one year License covers all programming languages Royalty free distribution with a compiled application Evaluation versions are fully functional 30 day trial No unlock code is required Can be used from GUI mode or console mode programs Is fully thread safe Supports Windows 2003 2012 XP Vista Window 7 Windows 8 Implemented as a standard Windows DLL which will work with all versions of Windows Both Win32 and Win64 DLLs are included Is native Windows code but can also be called from managed code Will run on machines with or without NET installed Works with all versions of Microsoft Visual C C v4 0 through Visual Studio 2013 Works with Microsoft Visual Studio NET and Visual C Works with Borland C C v5 0 v5 5 and Borland C Builder all versions Works with Microsoft Foundation Class Watcom v11 MinGW Digital Mars and LCC WIN32 Does not depend
20. l mf 17 4 8 LCC Win32 Win64 C C LCC Win32 Win64 C programs can be compiled from either the command line or from within the development environment LCC Win32 Win64 is a freeware C compiler developed and distributed by Jacob Navia at http ww cs virginia edu lcc win32 All LCC Win32 Win64 makefiles use file extension L_ are contained in file makefiles Icc zip 4 9 MinGW C C MinGW Minimalist GNU for Windows is part of the GNU Compiler Collection GCC and GNU Binutils for use in the development of native Microsoft Windows applications See http www mingw org All MinGW GCC makefiles use file extension G_ are contained in file makefiles gcc zip 4 10 Digital Mars C C All Digital Mars makefiles use file extension D_ are contained in file makefiles mars zip 18 5 Compiling Programs At the current time Microsoft Visual Studio is the only C C compiler that can generate 64 bit application code 5 1 Compiling AES Source Code This section applies only to those who have purchased source code for the MarshallSoft Advanced Encryption Standard Library aes32 dll and AES64 DLL have been compiled using Microsoft Visual C and are callable from applications written using Microsoft Borland or Watcom compilers If AES C is recompiled using Borland or Watcom compilers then the resulting aes32 dll can only be used by applications compiled with the same compiler unless the _stdcall and _declsp
21. mode n aesInitAES char KeyBuffer NULL AES ECB MODE AES ENCRYPT NULL FileName printf aesEncryptFile fails n Code 1 4 Installation 1 Before installation of AES4C a Windows C C compiler should already be installed and tested In particular include command line tools when installing a compiler to be able to compile using command line makefiles Refer to the file MAKEFILE TXT for help with makefiles 2 Unzip AES4C30 ZIP evaluation version or AESxxxxx ZIP registered version xxxxx is the Customer ID 3 Run the installation program SETUP EXE that will install all AES4C files SETUP will also copy AES32 dll and AES64 DLL to the Windows directory Note that no DLL registration is required All recent WIN32 C C compilers support the declspec keyword Microsoft Visual C version 4 0 and up Borland version 5 0 and up and LCC Win32 compilers support the declspec keyword Makefiles for Watcom version 11 0 and up are available on request 1 5 Uninstalling Uninstalling AES4C is very easy First delete the AES project directory created when installing AES4C Second delete AES32 dll and AES64 DLL from the Windows directory typically C WINDOWS for Windows XP 2003 2012 Vista Win7 Win8 1 6 Pricing A developer license for the MarshallSoft Advanced Encryption Standard Library can be purchased for 115 or 195 with source code to the library DLL Purchasing details can be found in Section _1
22. ole mode example program that demonstrates how to encrypt and decrypt messages See the COMPILE comment in TestAES c for information on compiling 22 6 3 Crypto Crypto c is a Windows GUI mode example program that encrypts and or decrypts a file See the COMPILE comment in Crypto c for information on compiling 6 4 Encrypt Encrypt c is a console mode program that encrypts a user specified file See the COMPILE comment in Encrypt c for information on compiling 6 5 Decrypt Decrypt c is a console mode program the decrypts a previously encrypted file See the COMPILE comment in Decrypt c for information on compiling 6 6 Password Password c is a GUI mode program that manages a set of 5 passwords which are always kept encrypted on disk A master password is used to access the set of 5 passwords See the COMPILE comment in Password c for information on compiling 6 7 vc_vers vc_vers cpp is a Visual Studio GUI mode example program that displays the aes32 dll Version Build and registration string Compile and run this program to verify that AES4C has been correctly installed See the COMPILE comment in ve_vers cpp for information on compiling 6 8 vc_TestAES ve_TestAKES is a Visual Studio GUI mode example program that demonstrates how to encrypt and decrypt messages See the COMPILE comment in ve_TestAES c for information on compiling 6 9 vc_Crypto ve_Crypto is a Visual Studio GUI mode example program that encrypts and
23. ole mode programs can be converted to GUI mode by adding the necessary Windows interface code 2 5 Static Linking The registered user can also statically link aes32 obj or aes64 obj with their application rather than making calls to the DLL s For example to create an application that links aes32 obj statically 1 All application code that includes AES H must define STATIC_LIBRARY before including AES H If using Microsoft Developer Studio make these changes 1 To the project file Do not add aes32 lib to the project file 2 To the settings See Build Settings or Project Settings 2a C C Tab Add STATIC_LIBRARY to preprocessor definitions 2b Link Tab Add AES32 obj to object library modules 3 Add include aes h to all source files that make calls to AES functions Alternatively AES32 C can be edited so that it can be compiled and linked like any other program file In order to do this remove all code from AES32 C provided when the source code is purchased from ifndef STATIC_LIBRARY through the following endif 2 6 Calling MarshallSoft AES from C Like Windows itself MarshallSoft AES functions are coded in ANSI C but AES functions can be called directly from both ANSI C programs and from C programs 2 7 Adding MarshallSoft AES to an Existing Program In order to call AES functions from an existing program 1 Add include AES H to the application source code 2 Link with aes
24. on support libraries Makes calls to core Windows API functions only Can be used with any program in any language capable of calling Windows API functions such as Visual Basic VB NET Visual FoxPro Delphi Xbase dBASE COBOL Access or Excel Can be purchased with or without source code Updates are free for one year source code updates are separate Unlimited one year email and phone tech support Documentation online as well as in printable format A selection of C C example programs with full source code is included Refer to Section 6 for more details on each of the example programs Legend Con Console mode GUI GUI mode vce VC 4 thru 6 VS Visual Studio C C H DCDODMDADA YN AUNE VC B L G D For VC 4 thru 6 Borland 5 0 thru 5 5 LCC MinGW GCC Digital Mars aesver c Displays AES4C version CON VC B L G n Sfypte e Encrypts decrypts a file GUI VC B L G decrypt c Decrypts a file CON VC B L G encrypt c Encrypts a file CON VC B L G TestAES c Performs AES tests CON VC B L G Password c Encrypt decrypt multiple passwords GUI VC B L G vc_Crypto cpp Encrypts decrypts a file VS GUI vc_TestAES cpp Performs AES tests VS CON vc_vers cpp Displays AES version VS CON vc_Password cpp Encrypt decrypt multiple passwords VS GUI aesver cs C version of vc_aesver VS C 1 2 Documentation Set The complete set of documentation is provided in Adobe P
25. rify the INCLUDE and LIB environment variables 3 3 Command Line Batch Files If the compiler installation includes command line tools then all of the example programs can be compiled directly from the command line These same compiler commands can also be placed in a batch file See AESVER LCC BAT for an example of a command line batch file for LCC Win32 Similarly command line batch files can be created for all of the example programs 3 4 Command Line Makefiles Command line makefiles originated on UNIX systems They are the standard way that C C programs are constructed in command line environments The advantage of makefiles as compared to an integrated development environment is that all compiler switches are always coded within the makefile and the makefile can be run with a single keystroke Command line makefiles are provided for Microsoft Borland Watcom and LCC command line compilers They can be found in the APPS sub directory created when SETUP was run makefiles borland50 zip Borland C C 5 0 makefiles makefiles borland55 zip Borland C C 5 5 makefiles makefiles lcc zip LCC project command files makefiles microsoft zip Microsoft C C makefiles makefiles watcoml11 zip Watcom C C 11 makefiles makefiles gcc zip MinGW GCC project build files makefiles mars zip Digital Mars project build files 13 4 0 Supported Compilers The MarshallSoft AES Library for C C AES4C has been tested wi
26. th and works with all versions of the following compilers Microsoft Visual C C 1 52 through 11 00 Visual C Net through Visual Studio 2013 Visual C Borland C C Borland Embarcadero C Builder Borland Turbo C C Watcom C C MinGW C LCC Digital Mars Other Windows C C compilers may work as well Refer also to Section 5 Compiling Example Programs 4 1 Microsoft Visual C C VC 4 0 through 6 0 Microsoft Visual C programs can be compiled from either the command line or from within the Microsoft development environment The last Win16 Microsoft compiler is version 1 52 All Microsoft Visual C compilers version 4 0 through 6 0 compile Win32 programs ONLY AES does not support Win16 Visual C C project files use file extension mak Visual C C 6 0 project files use file extension dsp Visual C C makefiles use file extension _M_ and are contained in the file makefiles microsoft zip 4 2 Microsoft Visual Studio C C AES4C works with all versions of Visual Studio 4 2 1 Microsoft Visual Studio C C 2003 and 2005 Visual Studio 2003 through 2005 project files use file extension vcproj 4 2 2 Microsoft Visual Studio C C 2008 Visual Studio 2008 specific project files end with VS2008 vcproj for 32 bit applications and VS2008 x64 vcproj for 64 bit applications Visual Studio 2008 can compile both 32 bit and 64 bit programs 4 2 3 Microsoft Visual Studio C C 2010
27. to GUI mode by adding the necessary Windows interface code Example programs are located in the APPS sub directory Refer to Section 4 0 for help with compiling and using makefiles See Section 1 1 Features above for a list of all example programs in a tabular format Project files are classified as follows M Microsoft C C makefile command line e igs Be Borland C C 5 0 makefile command line aare Borland C C 5 5 makefile command line e W Watcom C C makefile command line e dsp Microsoft v6 0 project file e veproj Microsoft Studio Visual C project file e vexproj Microsoft Visual Studio C project file VS2010 VS2013 e csproj Microsoft Visual Studio C project file Microsoft Visual C C Developer Studio files end in MAK or DSP for v6 0 and can be loaded with Open Workspace Please refer to the AES User s Manual AES_USR PDF for basic information on Advanced Encryption Standard protocols Note Contact us at info at marshallsoft com with Subject AES4C HELP if you are having problems running the evaluation version with Windows Server 6 1 aesver aesver c is the console mode program that displays the MarshallSoft AES library version number build and registration string Compile and run this program to verify that AES4C has been correctly installed See the COMPILE comment in aesver c for information on compiling 6 2 Test AES TestAES c is cons
28. unning on a 64 bit machine There are numerous AES4C 64 bit example programs 64 bit Visual Studio 2008 2010 2012 and 2013 Visual Studio project files can be found in the APPS sub directory ve_Crypto VS2008 x64 vcproj ve_Crypto VS2010 x64 vcproj vc_TesAES VS2008 64 vcproj vc_TesAES VS2010 x64 vcproj ve_vers VS2008 x64 vcproj ve_vers VS2010 x64 vcproj ve_Crypto VS2012 x64 vcproj vce_Crypto VS2013 x64 vcproj vc_TesAES VS2012 64 vcproj vc_TesAES VS2013 x64 vcproj ve_vers VS2012 x64 vcproj vc_vers VS2013 x64 vcproj 10 3 Compiler Issues AES programs can be compiled using an IDE or command line compiler tools The following sections provide general compiler information 3 1 Compiling Using an IDE All current windows compilers have an Integrated Development Environment IDE for building application programs in the Windows environment Note that not only do IDE s vary between the different compiler manufacturers but they also vary from version to version for the same compiler 3 1 1 Compiling Example Programs with an IDE Most of the example programs can be compiled from the compiler s IDE For Visual C C project makefiles are used since they can be used by all versions of Microsoft Visual C When opening the workspace select makefiles mak for the file type Alternatively for Visual C v6 0 select projects dsp for the file type 3 1 2 Compiling New Projects with an IDE
Download Pdf Manuals
Related Search
Related Contents
Philips HP6516 Neff 24 in. S4443 Built こちらをクリック※PDFファイルが開きます。 Rhythm Set Key Assign (1) 08156SL MaVo Operating instructions Installieren von XDCAM Browser MANUAL DE INSTRUÇÕES - Wiki Karat Outdoor Station DPC-53x User manual Copyright © All rights reserved.
Failed to retrieve file