Encryption
Encryption functionality is available in OptiStruct input files to encrypt confidential information.
There are two methods available for encryption. With Method 1, You can encrypt a full line or only certain fields in a line; with Method 2, you can encrypt entire include files (which contain entries supported for encryption). Currently, material, property and some table Bulk Data Entries are supported (see Supported Entries).
Method 1: Encrypt Lines or Fields in a Line
Encryption Key
A typical encryption key is shown below. The first line contains the label
‘/ENCRYPT/
’ and a unique encryption ID following it. The
subsequent 5 lines are the encryption key required to decrypt the encrypted lines.
The encryption key(s) could be placed in either Case Control section or Bulk Data section, but it (they) must be placed before the corresponding encrypted lines. Up to 100 different encryption keys are allowed (including those in the include files).
ZB001
:/ENCRYPT/ZB001
1GcxRn2nMRIp575cxxQrdIBaZYBB6oPGNhPJh4lAZOH9HdVivEeMVIGEJWJM5T0q6O3zzUH3KyJRJ5OOjx6ojdd9OjHT4C63ko2I
%ZB001MGoRMaLooUWUaHxbHHbErfqmYfVVMh9h2TgKcZvYw13940WzdJv0cS2KuK77XBDGBvyMtNikHbfwlaasrGdSkKAZZrEdrP
%ZB001gbGGRgQ0GQMCYNi4HIdcbTbCFWcJDnCH7UfhSwwjZTammusHl9juHaAT5pxPeNVdkwv9OqH44OTmv5XeiD1uaSxTNH2u8i
%ZB001P0av0XqspIeqUWja5CVLjvismTRhTLOPOmTJyK3FPyeh77evhjFZxmANrKrdXpoML6xTMkK8emlwoN9vYumaBvqRLsg8zs
%ZB001H80ZXXnnhZ6cViaSBly3G4xhptIpGKWYjyXThW7R1ERUrmBjxBq7mpKX5hno4LdLitUvMUjOlSFJYy507eyyakjnKtzvU7
Encryption Process
- Windows:
$ALTAIR_HOME\hwsolvers\optistruct\bin\win64\os_encrypt_win.exe
- Linux:
$ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/os_encrypt_linux
The following example illustrates the process of encrypting some material data in an OptiStruct input file.
Example:
MAT1 120 1.E6 0.0 3.57 1.0e-4
35.E3 35.E3 23.E3
1.E6 0.0 3.57 1.0e-4
35.E3 35.E3 23.E3
The MAT1 entry name and ID have been removed, as shown above.
Next, the encrypted lines for the values/fields listed in the original.txt file could be obtained by running the encryption tool as follows:
os_encrypt_win.exe original.txt encrypted.txt
os_encrypt_linux original.txt encrypted.txt
/ENCRYPT/SA001
8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL
%SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu
%SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr
%SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn
%SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E
%SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
%SA001iKC2I3czrRgT6NH18PAmc1t6YoiNWRY1oXKgFH5Q6hfkr6fvqbW9o6MQVtvLqqQoThoECm3LCAjusU9Zj3CMZFJiwxtTMD
SA001
following /ENCRYPT/
. Following this encryption key ID, the first five lines correspond to the encryption key that will be used by OptiStruct to decrypt the encrypted data. The remaining lines (in this case, there are 2 lines after the encryption key), correspond to the encrypted form of the lines that were initially input in the original.txt file.
%%
for partially encrypted lines. For fully
encrypted lines, the entire original lines should be removed and replaced with the
encrypted form of the lines. /ENCRYPT/SA001
8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL
%SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu
%SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr
%SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn
%SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E
MAT1 120 %% %% %% %%
%SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
%SA001iKC2I3czrRgT6NH18PAmc1t6YoiNWRY1oXKgFH5Q6hfkr6fvqbW9o6MQVtvLqqQoThoECm3LCAjusU9Zj3CMZFJiwxtTMD
In Encryption Key, (/ENCRYPT/SA001
, and the first 5 lines) are
placed above the actual lines to be encrypted. Additionally, all the encrypted
fields in partially encrypted initial line of MAT1 entry are
replaced with %%
, and the continuation line of the
MAT1 entry is completely removed. The first line beginning
with %SA001
after the MAT1 entry above contains
the encrypted data for the fields marked with %%
, and the second
line beginning with %SA001
contains the encrypted data for the
continuation line.
- Only numerical fields are currently supported for encryption. Encrypting character data is not currently supported.
- Characters, entry names, identification numbers (IDs), and special signs cannot be encrypted. Only partial line encryption can be used in such cases, where these fields should not be identified for encryption using the encryption tool.
- Fixed short, fixed long and free format are all supported. A partially encrypted line in long format with two half lines must be followed by two encrypted half lines.
- If multiple lines/entries to be encrypted, are run through the
encryption tool separately, then multiple encryption keys and encrypted
line combinations, corresponding to each line/entry are received.
However, the encryption key IDs will be the same. If such lines/entries
are to be used in the same model, then the encryption key IDs should be
manually changed to make sure that all encryption key IDs, used in the
same model, are different.For instance, if both the following encrypted lines,
MAT1 ID 120
andMAT1 ID 220
, below are to be used in the same model, then the encryption key for the second encrypted material (MAT1 ID 220
) should be changed manually to a different ID (fromSA001
toSA002
), as:/ENCRYPT/SA001 8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL %SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu %SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr %SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn %SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E MAT1 120 %% %% %% %% %SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
/ENCRYPT/SA002 1GcxRn2nMRIp575cxxQrdIBaZYBB6oPGNhPJh4lAZOH9HdVivEeMVIGEJWJM5T0q6O3zzUH3KyJRJ5OOjx6ojdd9OjHT4C63ko2I %SA002MGoRMaLooUWUaHxbHHbErfqmYfVVMh9h2TgKcZvYw13940WzdJv0cS2KuK77XBDGBvyMtNikHbfwlaasrGdSkKAZZrEdrP %SA002gbGGRgQ0GQMCYNi4HIdcbTbCFWcJDnCH7UfhSwwjZTammusHl9juHaAT5pxPeNVdkwv9OqH44OTmv5XeiD1uaSxTNH2u8i %SA002P0av0XqspIeqUWja5CVLjvismTRhTLOPOmTJyK3FPyeh77evhjFZxmANrKrdXpoML6xTMkK8emlwoN9vYumaBvqRLsg8zs %SA002H80ZXXnnhZ6cViaSBly3G4xhptIpGKWYjyXThW7R1ERUrmBjxBq7mpKX5hno4LdLitUvMUjOlSFJYy507eyyakjnKtzvU7 MAT1 220 %% %% %% %% %SA002CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
- Encryption keys and encrypted lines could be placed in include files. GZIP format is also supported.
- Entries with encrypted data will not be printed by ECHO and ECHOON commands.
- Error/Warning messages related to material/property is protected by replacing real numbers with *****.
- Parameter (size) optimization using encrypted material/property is not supported.
Supported Entries
- Properties:
PBAR, PBARL, PBEAM, PBEAML, PBUSH, PCOMP, PDAMP, PELAS, PDUM1, PGAP, PHFSHL, PROD, PSHEAR, PSHELL, PSOLID, PVISC, PWELD, PMASS, PCOMPG, PTUBE, PAABSF, PACABS, PACBAR, PCOMPP, PFAT, PCONT, PAXI, PSEAM, PWELD, PLY, PBUSHT, PELAST, PGASK, PGAPHT, PCONTHT, PLSOLID, PCOMPLS, PJOINTG, PCOHE, PPLANE
- Materials:
MAT1, MAT2, MAT4, MAT5, MAT8, MAT9, MAT10, MATHF, MATT1, MATT2, MATT4, MATT5, MATT8, MATT9, MDUM1, MATFAT, MATEP, MATTEP, MATF, MATG, MATTG, MATHE, MATTHE, MATHP, BLKHDF, MATTORT, MATS1, MATTVE, MATVE, MATVORT, MATVP, MAT3, MATT3, MATHED, MGASK, MCOHE, MCOHED, DMGINI, DMGEVO
- Tables
TABLES1, TABLEST, TABLEG, TABLEMD, TABLEM1, TABLEM2, TABLEM3, TABLEM4
Method 2: Encrypt an Entire Include File
The entire include file can be encrypted using Method 2. This allows a simplified and more versatile approach to encrypt data for an OptiStruct run. You can place all the data which should be encrypted (like properties and materials, along with the associated table entries) into a separate include file and use this method to encrypt it. The encrypted file can then be included in the OptiStruct model by replacing the existing include file with the encrypted include file. OptiStruct automatically reads the data using the included encryption key.
Encryption Process
- Windows:
$ALTAIR_HOME\hwsolvers\optistruct\bin\win64\os_encrypt_v2_win.exe
- Linux:
$ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/os_encrypt_v2_linux
For the second method, there are two main differences when compared to the first method:
- An entire include file can be encrypted when using the second method (instead of only the partial lines or fields).
- The encryption key ID (5 digit alphanumeric key ID) should be specified when running the encryption tool, as shown below.
os_encrypt_v2_win.exe SE123 original_include.fem encrypted_include.fem
os_encrypt_v2_linux SE123 original_include.fem encrypted_include.fem
/ENCRYPT/SE123
1sV2x7KNST5811S9IZuC6ZN6PEF2ODtVJSUMQmCGH9tfDynXLK7G274Rhu3OJ7qQWVNGJHYDJlLV3P97viS8Fw4MBp5MQA9Y1H3V
%SE123MGoRMaLooUWUaHxbHHbKlyvxwZodu52CEbJoOZGd6PbIUfDnbHr5L3aqkRe3QHpEaA1qQcMYhxXUkoWJtJWEefLo3qUbRa
%SE123gbGGRgQ0GQMCYNi4HIdgrvmMWEyo1nt0uqWPSAV2x5M9QnnJxLtDEPwD9AiZlhLpNPCr9J96iyZY8XhfCeI4tCQz7JNbZk
%SE123P0av0XqspIeqUWja5CVPzNt23BnCHL58B8K1yYcYnaQ4l0ZxtvPsubw7vfcne9eYyZEB7DCAIMri1pJaoBtaJUEP7ZP9v0
%SE123H80ZXXnnhZ6cViaSBly9AN2sDnbxoiP3v6AxTWSWBczdHRsXv9mCVQs3voKkxRFJ78XPtjNCBo7rXC1R9hrkU5pVazXVNJ
%SE123CJeM8FK1xQacReDR8E9CrfcsgnpR9XEocQTDCQHWpyJ14PScAKVTzXv8a7NcuXk8hQDSoX0XELsNTa8EI5fPm7ctY8S3sziKC2I3czrRgT6NH18PAF9AItk99fOsQfC4hRbqDTKEMWzLwTR6CW6Ec0TWnaYLM2ZC0zYG6cBI0W8GMkG9dWzxrh1Kiti0
%SE123QuJ6c1TZXFVS0JfXlAIQg9qbR3UAh0Xg9PYvqDI86zowGCTobFA31fgpMVpOeGyQzb8wU6smrb4i2kxPF6Ru3pYNblta25ZVnXIRtwm4H6cmU3JdV6BnQ1Gwobx2DyuzeZxXlCe3BjTmIS1JveRbAmaUwKnazwQyPzBPeNyGC3WpWPvCxnBmHkaIt66c
%SE123cI82yEWIPPRRxKzQjAeUWHPgi1KO5KqwQ02NI1IWJ8Id0foJ2fctBdy741GzxQcC2DzjGpcqoWzzVbd1DHfrsoTHSioOorNc6MOuc52bLayrZgCYpu61TAsHN4x6lst3L9SMOwhv9Ad5rYBxvjbOqNVDmTleWCpdbFvVpdr2t4LllT5pJIw4damZF5yP
%SE123aGGpNgiKjR2qpEOfutncIk50hdZWg464SRiEskzB6iYLub4bvxmxeQaSYTgXIAoaSs3OFjtBc07f9DNY9fFTom2FISxmN9RefGc67DgU3XwcbD3ZJyCg2xrlzK6xZeQcR6QouUowObZ9Z9UD9icwFnPBm2ELPaLne0dBG6rtlQlDmOEA9GYZqkuSAXHj
%SE123ZAQQR4F5HMQ5o5AHK0HRLOueWYeaEScuZ4LzXFESv9RciABdLcLiWKONxryzLHJcFDI1CcAZOh0d64OApjqpibFhjk1STMegJXILbcdHWibXXNnF7BRZCnwKxFo8vfMUTss4NzxMUwONk7vpQukEHVvuXRuh0fpEshViiUPBjCkERKq1U0F3nshAoLpx
%SE123eJHHBxvywZCd0rYTYVXWZTqK5nmNEEwQrkDCLLTp97Gg679SepaFU14YONdViOJIoRjExZtghE2vTalOnaNFntJJXKzcrF59LS77bcjZqsOHDN2CUcLV3TOmPneIFmD10ebAuzzJGUwvO3BFdrNr9K7XdZxZeJTyu311lD89eUTQfTolEk5BFU6JdAty
%SE1239ggGT6OlDAX6X7LQ1xU1Rk6smxjb3OZaHyMdNKjH0xNwpdwqN1Rjj1A6tN0HTRVxGA3t5EoOMMcSVzZBso4jYF0TEHjJ1rGnSjabVtVaKBQTvfcZ5nARG9YqkumuAjMs9NhrmVcDdLhxCsUrHhvhZ7V6qtYdClCTQ3KMISfG8ZjKglZ0NAHOwU8XZOh9
%SE123KKIh3Oxf6UPb6b5i90jCGByKWGwhTgMw7YEro0wTo52XGdooz8sN7a0z1gxqT1NObObJ0im6MUns6EQTkynM45ig0XjbRKRkluR7KD0ue3cDIBlFLyIsscXesXjBJ4RK7UUu0g6s9NY8sso3fpQijxbN4QGCHfQCTQZnT0jT1i3bGWB8KR3UMmclAVx5
SA123
following /ENCRYPT/
.Following this encryption key ID, the first five lines correspond to the encryption key to be used by OptiStruct to decrypt the data. The remaining lines (in this case, there are 8 lines after the encryption key), correspond to the encrypted form of all the lines that were initially in the original_include.fem file.
The encrypted include file can now replace the original include file in the base model.
Supported Entries
- Properties:
PBAR, PBARL, PBEAM, PBEAML, PBUSH, PCOMP, PDAMP, PELAS, PDUM1, PGAP, PHFSHL, PROD, PSHEAR, PSHELL, PSOLID, PVISC, PWELD, PMASS, PCOMPG, PTUBE, PAABSF, PACABS, PACBAR, PCOMPP, PFAT, PCONT, PAXI, PSEAM, PWELD, PLY, PBUSHT, PELAST, PGASK, PGAPHT, PCONTHT, PLSOLID, PCOMPLS, PJOINTG, PCOHE, PPLANE
- Materials:
MAT1, MAT2, MAT4, MAT5, MAT8, MAT9, MAT10, MATHF, MATT1, MATT2, MATT4, MATT5, MATT8, MATT9, MDUM1, MATFAT, MATEP, MATTEP, MATF, MATG, MATTG, MATHE, MATTHE, MATHP, BLKHDF, MATTORT, MATS1, MATTVE, MATVE, MATVORT, MATVP, MAT3, MATT3, MATHED, MGASK, MCOHE, MCOHED, DMGINI, DMGEVO
- Tables
TABLES1, TABLEST, TABLEG, TABLEMD, TABLEM1, TABLEM2, TABLEM3, TABLEM4