Encrypting and Decrypting Abaqus Input Data

You can use the abaqus encrypt utility to prevent the unauthorized use of Abaqus input data. The utility converts a data file into an encrypted, password-protected format that only authorized Abaqus input parties can access.

The utility is intended for the encryption of data that you include by reference in input (.inp) files or in other data files. For example, you could encrypt a file that contains all of the proprietary material data for your model, then include the encrypted data file by reference in an unencrypted Abaqus input file. See Including an Encrypted Data File for information on how to include an encrypted data file in an Abaqus input file.

You can encrypt any input file. However, Abaqus cannot run an encrypted Abaqus input file directly; the encrypted file must be included in an unencrypted file. You cannot use parameterized input in the encrypted file.

When you encrypt an Abaqus input file, each line becomes longer as part of the encryption process. A valid input file line may become invalid if its length is expanded beyond the 256 character limit. In this case shorten the line before encrypting the input file.

This page discusses:

Specifying Additional Access Levels and Controls

You can customize your encryption so that only users with a license for a particular Abaqus feature or from a particular site can include or decrypt the file. For example, you can specify that only Abaqus/Standard users can access the file. You can also prevent decryption of an encrypted file by any user, regardless of their license and site; end users can still use the encrypted data in an analysis by including it by reference in an unencrypted Abaqus input file, provided that the users know the encrypted file's password.

Security and Support Considerations

The primary intent of the Abaqus encryption implementation is to prevent unauthorized use of encrypted input data, not to prevent disclosure of encrypted data to authorized users. Running an Abaqus analysis input using encrypted data may produce output files that are not encrypted. Only material and connector behavior information contained within an encrypted input file is prevented from being visible in the output. This approach means that recipients of encrypted data who satisfy the access criteria, such as the password, license feature, or SiteID, will be able to reconstruct some input in an unencrypted form. Providers of encrypted data should consider establishing contractual agreements to protect proprietary data. Users of encrypted data must accept responsibility for security of files produced from encrypted input and should consider restricting access to resulting analysis files.

Abaqus technical support cannot retrieve lost passwords for encrypted data files. Users receiving encrypted data should contact the data provider for any technical support issues.

Adding Comments to the Header of an Encrypted File

When you encrypt a file, Abaqus adds the following unencrypted comment line to the beginning of the file:

** encrypted input

Do not modify or delete this header comment. You can, however, insert additional comment lines between this header comment and the first line of encrypted data. These post-encryption comment lines can describe the encrypted file's contents, provide release numbers, or display copyright and legal information about the encrypted data. For more information about comment line syntax, see Input Syntax Rules.

You should not, however, add post-encryption comment lines within the lines of encrypted data. If you want to edit or amend the comment lines within the data itself, you must first decrypt the data.

Command Summary

abaqus {encrypt | decrypt}inputinput-file-nameoutputoutput-file-namepasswordpasswordlicensefeature_listsiteidsite-id_listinclude_onlyexpirationexpiration_date

Command Line Options

input

This option specifies the name of the data file that you want to encrypt or decrypt.

If you omit this option from the command line, Abaqus will prompt you for its value.

output

This option specifies the name of the data file after encryption or decryption.

If you omit this option from the command line, Abaqus will prompt you for its value.

password

This option specifies the password for this encryption or decryption. Passwords are case-sensitive.

If you omit this option from the command line while encrypting data, Abaqus will prompt you for its value. If you enter the password incorrectly or omit it from the command line while decrypting data, Abaqus reports that the input file is either corrupted or the password is incorrect.

license

This option applies only to file encryption.

This option specifies the Abaqus feature or features for which end users must be licensed if they want to include or decrypt this encrypted data file. You can use a comma-separated list to allow access to the file by licensees of any one of a series of Abaqus features.

Any feature name that appears in an Abaqus license file is valid. These might include the following features: foundation, standard, explicit, design, aqua, ams, cae, viewer, cae_nogui, cmold, moldflow, safe, cadporter_catia, cadporter_catiav5, cadporter_ideas, cadporter_parasolid, cadporter_proe, afcv5_structural, and afcv5_thermal.

siteid

This option applies only to file encryption.

This option specifies the Abaqus Site ID or IDs where end users can include or decrypt this encrypted data file. You can use a comma-separated list to allow multiple sites access to the file. You can use this option only when you also use the license option.

To determine your Abaqus Site ID, run abaqus whereami from a command prompt.

include_only

This option applies only to file encryption.

This option specifies that encrypted input data cannot be decrypted using the abaqus decrypt execution procedure; such data can only be included in an Abaqus input file.

If you attempt to decrypt a file that was encrypted with the include_only option, Abaqus issues an error message stating that the input file can be included in an analysis but is not eligible for decryption.

expiration

This option applies only to file encryption.

This option specifies the date after which the end users can no longer decrypt or include the encrypted data file. The date must be provided in the formYYYY-MM-DD.

Examples

The following examples illustrate the different encryption methods that are possible using the encrypt execution procedure.

Creating Encrypted Files

In the simplest encryption scenario an Abaqus user creates an encrypted copy of a file named material_data.inp, which contains all of the material data for a model, before sending the encrypted version to an authorized end user. Encryption prevents unauthorized users from accessing the encrypted file during its transmission. To create an encrypted copy of material_data.inp named material_data_enc.inp, issue the following command:

abaqus encrypt input=material_data.inp
   output=material_data_enc.inp password=e1No9c2z

Upon receiving the file, the end user can run the abaqus decrypt execution procedure to create a copy of the original, non-encrypted material data file. Because of the encryption options selected in this example, the end user requires only the encrypted file's password to decrypt it. To decrypt the encrypted data file material_data_enc.inp, producing the non-encrypted file material_data.inp, issue the following command:

abaqus decrypt input=material_data_enc.inp
   output=material_data.inp password=e1No9c2z

Alternatively, the end user can skip the decryption and run an analysis that includes the encrypted data by reference. To include the encrypted file by reference in an Abaqus input file, add the following statement to the input file:

*INCLUDE, INPUT=material_data_enc.inp, PASSWORD=e1No9c2z

Limiting Access to Decrypted Files by License Feature or Site ID

You can specify that end users cannot access the file unless they have a valid license for a particular Abaqus feature, run Abaqus at a particular site, or satisfy both of these criteria. To encrypt a data file that can be accessed only by users who have an Abaqus/Explicit license and who run the software at site 09YYY, issue the following command:

abaqus encrypt input=material_data.inp
   output=material_data_enc.inp password=e1No9c2z 
   license=explicit siteid=09YYY

An end user can attempt to access the file material_data_enc.inp using the same decryption or inclusion syntax specified in the previous example. For this encrypted file, Abaqus would validate that the end user has an Abaqus/Explicit license and is running Abaqus at site 09YYY before providing access to the file. If the end user's license or site settings do not match those specified during encryption, Abaqus issues an error message that lists the licenses or sites that are required to access the file.

Creating Encrypted Files That Must Be Included to Be Used by Abaqus

You can use the include_only option to prevent end users from decrypting the file directly using abaqus decrypt. Authorized users can access a file encrypted with the include_only option by including the file by reference in an Abaqus input file. Material and connector behavior definitions within an encrypted input file are not written to the output database. In addition, all material and connector behavior definitions output to the data file are suppressed if an encrypted file is used as input for any portion of the model. To create an encrypted file that is available only for inclusion by reference in other input files, issue the following command:

abaqus encrypt input=material_data.inp
   output=material_data_enc.inp password=e1No9c2z include_only

The resulting encrypted file can be included by reference in an Abaqus input file using the same syntax as in the previous example. If you attempt to decrypt a file that was encrypted with the include_only option, Abaqus returns an error message.