There are four ENCRYPT commands: ENCRYPT Encrypts files. Before you enter this command, create a key with the ENCRYPT /CREATE_KEY command. ENCRYPT /AUTHENTICATE Checks for changes to either plain text or cipher text files (see /AUTHENTICATE). ENCRYPT /CREATE_KEY Defines a key to be used during encryption (see /CREATE_KEY). ENCRYPT /REMOVE_KEY Deletes a key definition from a key storage table (see /REMOVE_KEY). Format for the ENCRYPT Command ENCRYPT input-file key-name [qualifiers]
1 – Parameters
input-file File names of the files to encrypt. If you use wildcard characters, do not include directory files or files with bad blocks. key-name Key name previously stored in the key storage table with the ENCRYPT /CREATE_KEY command.
2 – Qualifiers
2.1 /BACKUP
/BACKUP[=time] Selects files according to the dates of their most recent backup. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /BACKUP with /EXPIRED or /MODIFIED. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
2.2 /BEFORE
/BEFORE[=time] Selects files that have a creation time before the time you specify. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
2.3 /BY_OWNER
/BY_OWNER[=uic] /NOBY_OWNER Selects files with the owner UIC you specify. If you omit uic, the UIC of the current process is used. For more information on specifying UIC format, see the OpenVMS User's Manual.
2.4 /COMPRESS
/COMPRESS /NOCOMPRESS Optional. Default: /NOCOMPRESS. Controls whether or not data compression occurs before a file is encrypted.
2.5 /CONFIRM
/CONFIRM /NOCONFIRM Controls whether or not a confirmation request is displayed before each encryption, as follows: Response Meaning YES Encrypts the file NO or <Return> Does not encrypt the file (default) QUIT or Does not encrypt the file or any subsequent <Ctrl/Z> files ALL Encrypts the file plus all subsequent files
2.6 /DATA_ALGORITHM
{ DESCBC (default) } /DATA_ALGORITHM= { AESmmmkkk } { } Where mmm is the mode CBC, ECB, CFB, or OFB; and kkk is 128, 192, or 256 bits. Cipher Block Chaining (CBC) and Electronic Code Book (ECB) are 16-byte block modes, meaning blocks are padded to 16 bytes if necessary during encryption. The padding is removed during decryption. Cipher Feedback (CFB) and Output Feedback (OFB) are 8-bit character stream mode emulation, useful in data communications and where no padding is required. Note that /DATA_ALGORITM=AES is a shortcut for specifying AESCBC128. The data algorithm is used with the randomly generated key to perform encryption of the file's data. When specifying an AES algorithm, specify both /KEY and /DATA=AESmmmkkk qualifiers and use an AES created key.
2.7 /DELETE
/DELETE /NODELETE Controls whether or not the input files are deleted after the encryption operation is complete and the output file is written and closed. By default, the input file is not deleted.
2.8 /ERASE
/ERASE /NOERASE Controls whether or not the input files are erased with the data security pattern before being deleted. By default, the location in which the data was stored is not overwritten with the data security pattern. The /ERASE qualifier must be used with /DELETE.
2.9 /EXCLUDE
/EXCLUDE=file-spec /NOEXCLUDE Excludes the specified files from the encryption operation. You can use wildcard characters. You do not need to enter an entire file specification. Any field that you omit defaults to the input file specification. Because directory files are never encrypted, you need not specify them.
2.10 /EXPIRED
/EXPIRED[=time] Selects files according to the dates on which they expire. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /EXPIRED with /BACKUP or /MODIFIED. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
2.11 /KEY_ALGORITHM
{ DESCBC (default) } /KEY_ALGORITHM= { AESmmmkkk } { } Where mmm is the mode CBC, ECB, CFB, or OFB; and kkk is 128, 192, or 256 bits. Note that /KEY_ALGORITHM=AES is a shortcut for specifying AESCBC128. The command uses this key algorithm with the key you supply to encrypt the randomly generated data encryption key and the initialization vector stored within the file. When specifying an AES algorithm, specify both /KEY and /DATA qualifiers and use an AES created key.
2.12 /MODIFIED
/MODIFIED[=time] Selects files according to the dates on which they were last modified. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /MODIFIED with /BACKUP or /EXPIRED. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
2.13 /OUTPUT
/OUTPUT=file-spec Alternate output file name for the encryption operation. By default, each input file encrypted is written to a separate output file that is one version higher than the highest version of the input file. When using the /OUTPUT qualifier, specify the parts of the file specification different from the defaults. You do not need to provide an entire file specification. Any field that you omit defaults to the input file specification.
2.14 /SHOW
/SHOW=keyword-list Controls whether or not the following information about the encryption operation is displayed on SYS$COMMAND: Keyword Meaning FILES Displays input and output file names on SYS$COMMAND STATISTICS Displays the encryption stream statistics: o Bytes processed o Internal records processed o CPU time consumed within the encryption algorithm
2.15 /SINCE
/SINCE[=time] Selects files that have a creation date before the time you specify. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
2.16 /STATISTICS
Similar to /SHOW, except that /STATISTICS lists both files and statistics, whereas /SHOW can be customized to list only one or the other.
2.17 /VERSION
Displays the version number of the Encryption for OpenVMS software running on your system.
3 – Examples
1.$ ENCRYPT TROY MYKEY Encrypts the file TROY using the key MYKEY. 2.$ ENCRYPT NEWFILE.TXT MONET/KEY_ALGORITHM=AESCBC128/DATA_ALGORITHM=AESCBC128 Encrypts the file NEWFILE.TXT with the AES key, MONET, using the algorithm AESCBC128. A new version, NEWFILE.TXT;n+1, of the original file (now encrypted) is created. Use the /OUTPUT=filename qualifier to preserve the original file name, renaming the encrypted output file.
4 /AUTHENTICATE
Associates a DES(default) or AES algorithm Message Authenticate Code (MAC) value with one or more files and checks for any modification of either plain text or cipher text files. Use the additional /UPDATE qualifier to store each file's MAC in the databases. Use only the /AUTHENTICATE qualifier to subsequently test the integrity of the file's data and security attributes. You must create a DES or AES key prior to updating or checking an existing MAC. When using the AES algorithm, you must specify the /AES qualifier. You can use AES algorithm only with respective AES key and the DES algorithm only with DES key. For more information about creating DES or AES key and the minimum key length required for different algorithms, see ENCRYPT /CREATE_KEY help. Format for the ENCRYPT /AUTHENTICATE Command ENCRYPT /AUTHENTICATE file-spec key-name [qualifiers]
4.1 – Parameters
file-spec File names of the files to authenticate. Behavior can be modified with the /MULTIPLE_FILES qualifier. key-name Key name previously stored in the key storage table with the ENCRYPT /CREATE_KEY command.
4.2 – Qualifiers
4.2.1 /AES
/AES=keyword Specifies that you must use AES algorithm. If this qualifier is not specified, the DES algorithm is used by default. You can use the following keywords with the /AES qualifier: Keyword Description AES128(default) Indicates that 128 bits AES key value is used. The MAC value generated in this mode is of size 128 bits. AES192 Indicates that 192 bits AES key value is used. The MAC value generated in this mode is of size 192 bits. AES256 Indicates that 256 bits AES key value is used. The MAC value generated in this mode is of size 256 bits.
4.2.2 /BACKUP
/BACKUP[=time] Selects files according to the dates of their most recent backup. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /BACKUP with /EXPIRED or /MODIFIED. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
4.2.3 /BEFORE
/BEFORE=time Selects files that have a creation time before the time you specify. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
4.2.4 /BY_OWNER
/BY_OWNER[=uic] /NOBY_OWNER Selects files with the owner UIC you specify. If you omit uic, the UIC of the current process is used. For more information on specifying UIC format, see the OpenVMS User's Manual.
4.2.5 /CONFIRM
/CONFIRM /NOCONFIRM Controls whether or not a confirmation request is displayed before each authentication, as follows: Response Meaning YES Authenticates the file NO or <Return> Does not authenticate the file (default) QUIT or Does not authenticate the file or any subsequent <Ctrl/Z> files ALL Encrypts the file plus all subsequent files
4.2.6 /DATABASE
/DATABASE=file-spec /NODATABASE File name of the file in which to store binary MAC values. Generates a MAC using the file contents. If you do not specify a file name, the file name SYS$LOGIN:ENCRYPT$MAC.DAT is used.
4.2.7 /EXCLUDE
/EXCLUDE=file-spec /NOEXCLUDE Excludes the specified files from the authentication operation. You can use wildcard characters. You do not need to enter an entire file specification. Any field that you omit defaults to the input file specification. Because directory files are never encrypted, you need not specify them.
4.2.8 /EXPIRED
/EXPIRED[=time] Selects files according to the dates on which they expire. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /EXPIRED with /BACKUP or /MODIFIED. If you omit a time value, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
4.2.9 /LOG
Displays the results of the authentication operation.
4.2.10 /MODIFIED
/MODIFIED[=time] Selects files according to the dates on which they were last modified. This qualifier is relevant only when used with the /BEFORE or the /SINCE qualifier. In addition, do not use /MODIFIED with /BACKUP or /EXPIRED. If you omit a time value, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
4.2.11 /MULTIPLE_FILES
Indicates that the file-spec parameter contains a list of file names to be checked. The file-spec file is opened and each record is read and treated as a file-spec.
4.2.12 /OUTPUT
/OUTPUT=file-spec /NOOUTPUT File name of the file in which to store readable MAC values. These MAC values represent both the file contents as well as the security settings. If you do not specify a file name, the default file name SYS$LOGIN:ENCRYPT$MAC.LIS is used.
4.2.13 /SECURITY
/SECURITY=file-spec /NOSECURITY File name of the file in which to store binary MAC values. If you do not specify a file name, the default file name ENCRYPT$SEC.DAT is used. Generates a MAC using the file's security settings: owner, protection settings, and optional ACL.
4.2.14 /SINCE
/SINCE[=time] Selects files that have a creation time before the time you specify. If you omit time, TODAY is used. For more information on time specifications, see the OpenVMS User's Manual.
4.2.15 /UPDATE
/UPDATE /NOUPDATE Associates new MAC values with one or more files.
4.3 – Example
$ ENCRYPT /AUTHENTICATE NEWFILE HAMLET/CONFIRM Associates a MAC with the file NEWFILE using the key HAMLET. This command also displays a confirmation request before each authentication. $ ENCRYPT/AUTHENTICATE/UPDATE *.* MYKEY %ENCRYPT-NEWDB, new authentication code database has been created %ENCRYPT-NEWSECDB, new authentication security settings database has been created %ENCRYPT-I-SUMMARY1, Summary: Files successfully authenticated: 0 %ENCRYPT-I-SUMMARY2, Files failing authentication: 0 %ENCRYPT-I-SUMMARY3, Files not in database: 73 %ENCRYPT-I-SECSUMM1, Summary: Security settings authenticated: 0 %ENCRYPT-I-SECSUMM2, Security settings failing authentication: 0 %ENCRYPT-I-SECSUMM3, Security settings not in database: 73 This example creates a MAC for each file in the current directory using the key named MYKEY, storing them in the two databases: SYS$LOGIN:ENCRYPT$MAC.DAT and ENCRYPT$SEC_MAC.DAT. $ ENCRYPT /AUTHENTICATE *.* MYKEY %ENCRYPT-I-NOUPDATE, database will not be updated with new authentication codes %ENCRYPT-I-SUMMARY1, Summary: Files successfully authenticated: 73 %ENCRYPT-I-SUMMARY2, Files failing authentication: 0 %ENCRYPT-I-SUMMARY3, Files not in database: 0 %ENCRYPT-I-SECSUMM1, Summary: Security settings authenticated: 73 %ENCRYPT-I-SECSUMM2, Security settings failing authentication: 0 %ENCRYPT-I-SECSUMM3, Security settings not in database: 0 This example authenticates the same files as in Example 3 by creating a new MAC and comparing that with those in each database, testing file data integrity and security attributes as indicated in the summary. $ ENCRYPT/CREATE_KEY/AES MY_AES_KEY32 - _$ "Sample Key length greater than > 32" $ ENCRYPT/AUTHENTICATE FILE.TXT MY_AES_KEY32 /AES=AES256 /UPDATE %ENCRYPT-I-NEWDB, new authentication code database has been created %ENCRYPT-I-NEWSECDB, new authentication security settings database has been created %ENCRYPT-I-SUMMARY1, Summary: Files successfully authenticated: 0 %ENCRYPT-I-SUMMARY2, Files failing authentication: 0 %ENCRYPT-I-SUMMARY3, Files not in database: 1 %ENCRYPT-I-SECSUMM1, Summary: Security settings authenticated: 0 %ENCRYPT-I-SECSUMM2, Security settings failing authentication: 0 %ENCRYPT-I-SECSUMM3, Security settings not in database: 1 This example creates new 256 bits AES key. This new key is used with the /AES qualifier to create new MAC database and update it with a 256 bits MAC value of FILE.TXT file.
5 /CREATE_KEY
Creates a key definition name and value to be used for encrypting and decrypting files. The key is a string that represents the name under which its value is encrypted and stored in the key storage table; a logical name table. A DES key is created in the PROCESS logical name table by default unless the /AES qualifier is specified. Note that AES requires longer key-length values than the 8-byte DES keys. AES requires a minimum of 16, 24, or 32 bytes depending on the algorithm/key size specified for encryption or decryption. Format for the ENCRYPT /CREATE_KEY Command ENCRYPT /CREATE_KEY key-name key-value [qualifiers]
5.1 – Parameters
key-name Name under which the encryption key will be stored in the key storage table. Specify a character string according to the following conventions: o 1 to 243 alphanumeric characters o Dollar signs and underscores are valid. o Not case sensitive Use a name that has meaning to you, to help you remember it. NOTE Key names beginning with ENCRYPT$ are reserved for VSI. key-value String representing the value of the encryption key. Specify either ASCII text or a hexadecimal constant, as follows: o ASCII text string (default) - Minimum length: 8 (DES) 16, 24, or 32 (AES-128, 192, and 256 bits respectively). - Maximum length: approximately 240 characters. - The string is not case sensitive for DES keys. - If you use characters other than alphanumeric characters, for example, blank spaces, enclose the string in quotation marks ( " " ). o Hexadecimal constant - Use the /HEXADECIMAL qualifier. - Valid characters: 0 to 9, A to F (ASCII coded HEX nibbles). - Minimum length: 16 characters-DES-32, 48, or 64 (AES-128, 192, and 256 bits respectively). - Do not enclose the value in quotation marks.
5.2 – Qualifiers
5.2.1 /AES
Designates that an AES key is to be created, which is encrypted with the AESCBC128 encryption routine.
5.2.2 /GROUP
Enters the key definition in the group key storage table.
5.2.3 /HEXADECIMAL
/HEXADECIMAL /NOHEXADECIMAL Specifies that the value for the key is a hexadecimal number. Default: key values are interpreted as ASCII text characters (see the description of the key-value parameter).
5.2.4 /JOB
Enters the key definition in the job key storage table.
5.2.5 /LOG
Verifies successful creation of the key.
5.2.6 /PROCESS
Enters the key definition in the process key storage table.
5.2.7 /SYSTEM
Enters the key definition in the system key storage table.
5.3 – Examples
1.$ ENCRYPT /CREATE_KEY HAMLET _ Key value: "And you yourself shall keep the key of it" This example defines a DES key named HAMLET with the character string value "And you yourself shall keep the key of it". 2.$ ENCRYPT /CREATE_KEY /HEXADECIMAL ARCANE 2F4A98F46BBC11DC This example defines a DES key named ARCANE with hexadecimal value of 2F4A98F46BBC11DC.) 3.$ ENCRYPT /CREATE_KEY MYKEY "The 16 char. key" /LOG/AES This example defines an AES key named MYKEY with the minimum 16-character string value "The 16 char. key" that is required for AESxxx128, logging its successful creation. The key is encrypted with AES prior to storage in the PROCESS (default) logical name table. 4.$ SHOW LOGICAL ENC* /TABLE=ENCRYPT$KEY_STORE LNM$PROCESS_TABLE "ENCRYPT$KEY$MYKEY" = "ê¢É.à0S%M.....ÕSBò¼¶í.}â0ÓL.ñ.Z" LNM$JOB_8210B400 LNM$GROUP_000001 ENCRYPT$SYSTEM This example shows that key names are prepended with ENCRYPT$KEY$, as in the named key ENCRYPT$KEY$MYKEY.
6 /REMOVE_KEY
Deletes a key definition from a key storage table. The PROCESS logical name table is the default unless otherwise specified. Format for the ENCRYPT /REMOVE_KEY Command ENCRYPT /REMOVE_KEY key-name [qualifiers]
6.1 – Parameters
key-name Key name previously stored in the key storage table with the ENCRYPT /CREATE_KEY command.
6.2 – Qualifiers
6.2.1 /AES
Designates that an AES key is to be deleted. Specifying a unique key name and table is sufficient for deletion, making the /AES qualifier unnecessary but included for clarification.
6.2.2 /GROUP
Deletes the key definition from the group key storage table.
6.2.3 /JOB
Deletes the key definition from the job key storage table.
6.2.4 /PROCESS
Deletes the key definition from the process key storage table.
6.2.5 /SYSTEM
Deletes the key definition from the system key storage table.
6.3 – Example
$ ENCRYPT /REMOVE_KEY MYKey /AES This command removes or deletes the AES key, MYKEY.