暗号化
機密情報を暗号化するために、OptiStructの入力ファイルには暗号化機能があります。
暗号化には2つの方法があります。1つ目の方法は、行全体または行内の特定のフィールドのみを暗号化することができます。2つ目の方法は、インクルードファイル(暗号化に対応したエントリを含む)全体を暗号化することができます。現時点では、材料、プロパティおよび一部のテーブルバルクデータエントリがサポートされています(サポートされているエントリを参照)。
方法1:行または行内のフィールドの暗号化
暗号化キー
典型的な暗号化キーを以下に示します。1行目にはラベル‘/ENCRYPT/
’と、それに続く固有の暗号化IDが含まれています。続く5行は、暗号化された行を解読するために必要な暗号化キーです。
暗号化キーはケースコントロールセクションまたはバルクデータセクションのいずれかに配置することができますが、対応する暗号化された行の前に配置する必要があります。最大100種類の暗号化キーが許可されています(インクルードファイルに含まれるものを含む)。
ZB001
である暗号化キーの例/ENCRYPT/ZB001
1GcxRn2nMRIp575cxxQrdIBaZYBB6oPGNhPJh4lAZOH9HdVivEeMVIGEJWJM5T0q6O3zzUH3KyJRJ5OOjx6ojdd9OjHT4C63ko2I
%ZB001MGoRMaLooUWUaHxbHHbErfqmYfVVMh9h2TgKcZvYw13940WzdJv0cS2KuK77XBDGBvyMtNikHbfwlaasrGdSkKAZZrEdrP
%ZB001gbGGRgQ0GQMCYNi4HIdcbTbCFWcJDnCH7UfhSwwjZTammusHl9juHaAT5pxPeNVdkwv9OqH44OTmv5XeiD1uaSxTNH2u8i
%ZB001P0av0XqspIeqUWja5CVLjvismTRhTLOPOmTJyK3FPyeh77evhjFZxmANrKrdXpoML6xTMkK8emlwoN9vYumaBvqRLsg8zs
%ZB001H80ZXXnnhZ6cViaSBly3G4xhptIpGKWYjyXThW7R1ERUrmBjxBq7mpKX5hno4LdLitUvMUjOlSFJYy507eyyakjnKtzvU7
暗号化プロセス
- Windows:
$ALTAIR_HOME\hwsolvers\optistruct\bin\win64\os_encrypt_win.exe
- Linux:
$ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/os_encrypt_linux
以下の例では、OptiStruct入力ファイル内の一部の材料データを暗号化するプロセスを説明しています。
例:
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
上に示すとおり、MAT1エントリ名とIDが削除されます。
次に、以下のように暗号化ツールを実行することで、original.txtファイルに記載されている値/フィールドの暗号化された行を取得することができます。
os_encrypt_win.exe original.txt encrypted.txt
os_encrypt_linux original.txt encrypted.txt
/ENCRYPT/SA001
8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL
%SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu
%SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr
%SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn
%SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E
%SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
%SA001iKC2I3czrRgT6NH18PAmc1t6YoiNWRY1oXKgFH5Q6hfkr6fvqbW9o6MQVtvLqqQoThoECm3LCAjusU9Zj3CMZFJiwxtTMD
/ENCRYPT/
に続くキーワードSA001
です。 この暗号化キーIDに続いて、最初の5行は、OptiStructが暗号化データを解読するために使用する暗号化キーに対応しています。残りの行(この場合、暗号化キーの後に2行ある)は、original.txtファイルで最初に入力された行の暗号化された形に対応しています。
%%
で置き換える必要があります。完全に暗号化された行については、元の行全体を削除し、暗号化された形の行に置き換える必要があります。 /ENCRYPT/SA001
8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL
%SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu
%SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr
%SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn
%SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E
MAT1 120 %% %% %% %%
%SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
%SA001iKC2I3czrRgT6NH18PAmc1t6YoiNWRY1oXKgFH5Q6hfkr6fvqbW9o6MQVtvLqqQoThoECm3LCAjusU9Zj3CMZFJiwxtTMD
暗号化キーでは、/ENCRYPT/SA001
と最初の5行)は暗号化される実際の行の上に置かれます。さらに、MAT1エントリの部分的に暗号化された初期行のすべての暗号化されたフィールドは%%
で置き換えられ、MAT1エントリの継続行は完全に削除されます。上記MAT1エントリの後の%SA001
から始まる1行目には、%%
でマークされたフィールドの暗号化データが含まれており、%SA001
から始まる2行目には、継続行の暗号化データが含まれます。
- 現在、暗号化には数値フィールドのみがサポートされています。文字データの暗号化は現在サポートされていません。
- 文字、エントリ名、ID(識別番号)、特殊記号は暗号化できません。これらのフィールドが暗号化ツールを用いた暗号化のために識別されるべきではない場合には、部分的な行の暗号化のみを使用することができます。
- 固定ショート、固定ロング、フリーフォーマットがすべてサポートされています。2つの半分の行を持つロングフォーマットの部分的に暗号化された行の後には、2つの暗号化された半分の行が続く必要があります。
- 暗号化されるべき複数の行 / エントリが暗号化ツールを介して別々に実行された場合、各行 / エントリに対応する複数の暗号化キーと暗号化された行の組み合わせが受信されます。ただし、暗号化キーのIDは同じになります。このような行 / エントリを同一機種で使用する場合は、同一機種で使用するすべての暗号化キーIDが異なることを確認するために、暗号化キーIDを手動で変更する必要があります。例えば、下記の暗号化行
MAT1 ID 120
およびMAT1 ID 220
の両方を同一機種で使用する場合には、第2の暗号化材料(MAT1 ID 220
)の暗号化キーを手動で別のID(SA001
からSA002
)に変更する必要があります。/ENCRYPT/SA001 8C6E0qxlqRSurzdzpaFk93kzJLuCxSAYseqRhFPBFaG1SoOJRDDyynNiaZjSEUHjRBqStVSYhQRM5ry8M0kJ1rJIvDO3k8w5SDXL %SA001MGoRMaLooUWUaHxbHHbp7O3cswgTiO9703TesSogWarRCwQe5p9MfSXRsaWT357uMSIWQAJCJOk2c52pyVLF5mXFLIhBmu %SA001gbGGRgQ0GQMCYNi4HIdIoVBlaqZl3n58MMkJ0779RKgMC84EVxFYcsxsLNe3SZhZDlXbDvAoOTqA4sHt7k1zDCcYYF96hr %SA001P0av0XqspIeqUWja5CV1wxIR7nO9JLHGdeYvWVEfHpkHXLqsRXlDI4xm7sYHL10IovZvBpDsyr8KxAtAxRmfofOIIcZ6Kn %SA001H80ZXXnnhZ6cViaSBlymF2Pj1cig3W04EcOn11EaAUV2FyLefxKj555uJDSQqVnF9g4L9Xa63VaffjnDU9w1BSMqTp451E MAT1 120 %% %% %% %% %SA001CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
/ENCRYPT/SA002 1GcxRn2nMRIp575cxxQrdIBaZYBB6oPGNhPJh4lAZOH9HdVivEeMVIGEJWJM5T0q6O3zzUH3KyJRJ5OOjx6ojdd9OjHT4C63ko2I %SA002MGoRMaLooUWUaHxbHHbErfqmYfVVMh9h2TgKcZvYw13940WzdJv0cS2KuK77XBDGBvyMtNikHbfwlaasrGdSkKAZZrEdrP %SA002gbGGRgQ0GQMCYNi4HIdcbTbCFWcJDnCH7UfhSwwjZTammusHl9juHaAT5pxPeNVdkwv9OqH44OTmv5XeiD1uaSxTNH2u8i %SA002P0av0XqspIeqUWja5CVLjvismTRhTLOPOmTJyK3FPyeh77evhjFZxmANrKrdXpoML6xTMkK8emlwoN9vYumaBvqRLsg8zs %SA002H80ZXXnnhZ6cViaSBly3G4xhptIpGKWYjyXThW7R1ERUrmBjxBq7mpKX5hno4LdLitUvMUjOlSFJYy507eyyakjnKtzvU7 MAT1 220 %% %% %% %% %SA002CJeM8FK1xQacReDR8E9G5w8BpP1vdbQAEAxSP4fjRVsR6vapexJOzhxqumnfUK6CtDJdkfDRig4EgHO88eVh0fdBk2uunT
- 暗号化キーと暗号化された行は、インクルードファイルに配置することができます。GZIPフォーマットもサポートされています。
- 暗号化されたデータを持つエントリは、ECHOコマンドやECHOONコマンドでは印刷されません。
- 材料 / プロパティに関するエラー / 警告メッセージは、実数を*****に置き換えることで保護されます。
- 暗号化された材料 / プロパティを使用したパラメータ(サイズ)の最適化はサポートされていません。
サポートされているエントリ
- プロパティ:
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
- 材料:
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
- テーブル
TABLES1, TABLEST, TABLEG, TABLEMD, TABLEM1, TABLEM2, TABLEM3, TABLEM4
方法2:インクルードファイル全体の暗号化
インクルードファイル全体を暗号化するには、方法2を使用します。これは、OptiStructのデータを暗号化するための、よりシンプルで汎用性の高いアプローチを可能にします。暗号化すべきすべてのデータ(プロパティや材料、関連するテーブルエントリなど)を別のインクルードファイルに置き、この方法を使って暗号化することができます。暗号化されたファイルは、既存のインクルードファイルを暗号化されたインクルードファイルで置き換えることで、OptiStructモデルにインクルードすることができます。OptiStructは、付属の暗号化キーを使用してデータを自動的に読み取ります。
暗号化プロセス
- Windows:
$ALTAIR_HOME\hwsolvers\optistruct\bin\win64\os_encrypt_v2_win.exe
- Linux:
$ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/os_encrypt_v2_linux
2つ目の方法については、1つ目の方法と比較して主に2つの違いがあります:
- 2つ目の方法を使えば、部分的な行やフィールドだけでなくインクルードファイル全体を暗号化することができます。
- 暗号化キーID(5桁の英数字キーID)は、暗号化ツールを実行する際に、以下のように指定する必要があります。
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
/ENCRYPT/
に続くキーワードSA123
です。この暗号化キーIDに続く最初の5行は、OptiStructがデータを暗号化するために使用する暗号化キーに対応しています。残りの行(この場合、暗号化キーの後に8行ある)は、original_include.femファイルで最初に入力された行の暗号化された形式に対応しています。
暗号化されたインクルードファイルは、ベースモデルのオリジナルのインクルードファイルと置き換えることができます。
サポートされているエントリ
- プロパティ:
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
- 材料:
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
- テーブル
TABLES1, TABLEST, TABLEG, TABLEMD, TABLEM1, TABLEM2, TABLEM3, TABLEM4