DES Module Programming Guide – Low Level Programming Models
858
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Data Encryption Standard Accelerator (DES)
14.6 DES Module Programming Guide – Low Level Programming Models
14.6.1 Surrounding Modules Global Initialization
14.6.1.1 Main Sequence – DES Global Initialization
The following procedure initializes the DES after a POR (see
).
1. Execute software reset.
2. Wait for reset to complete.
3. Select force idle mode.
4. Select the algorithm type (DES or 3DES).
5. Select the operating mode (ECB, CBC, or CFB).
6. IF: ECB operating mode is not selected
7. Load the initialization vector LSW.
8. Load the initialization vector MSW.
9. Define the cryptographic data length.
10. ENDIF
11. Select encryption or decryption.
Table 14-3. DES Global Initialization
Step
Register/Bit Field / Programming Model
Value
1
DES_SYSCONFIG[1] SOFTRESET
0x1
2
DES_SYSSTATUS[0] RESETDONE
= 0x1
3
DES_SYSCONFIG[3:2] SIDLE
0x0
4
See the programming models
-
5
DES_CTRL[5:4] MODE
-
6
DES_CTRL[5:4] MODE
≠
0x0
7
DES_IV_L[31:0] IV_L
-
8
DES_IV_H[31:0] IV_H
-
9
DES_LENGTH[31:0] LENGTH
-
10
-
11
DES_CTRL[2] DIRECTION
-
14.6.1.2 Subsequence – Configure the DES Algorithm Type
The following subsequence details the steps to configure the DES algorithm type settings (see
).
1. Load key 1 LSW.
2. Load key 1 MSW.
3. Select DES algorithm.
Table 14-4. DES Algorithm Type Configuration
Step
Register/Bit Field / Programming Model
Value
1
DES_KEY1_L[31:0] KEY1_L
-
2
DES_KEY1_H[31:0] KEY1_H
-
3
DES_CTRL[3] TDES
0x0