Intel® Dynamic Application Loader (Intel® DAL) Developer Guide
                    
                        ID
                        773482
                    
                
                
                    Date
                    3/24/2023
                
                
                    Public
                
            
                                                                        
                                                                        
                                                                            
                                                                            
                                                                                For API Level 1 - Intel® ME 7.x - Sandy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 1.1 - Intel® ME 8.x lite - Sandy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 2 - Intel® ME 8.0 - Ivy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 3 - Intel® ME 8.1 - Ivy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 3 - SEC1.0, SEC1.1, SEC1.2, SEC2.0
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 4 - Intel® ME 9.5, Intel ME 9.5.55 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 4 - Intel® ME 9.1, Intel ME 9.1.35 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 5 - Intel® ME 10.0.0 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 6 - Intel® ME 10.0.20 - Broadwell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 7 - ME 11.0 - Skylake_LP and Skylake_H
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 8 - TXE3.0 - Broxton, ME 11.5/11.8 - Kabylake_LP, Kabylake_H
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 9 - Intel® ME 12.0 - Cannon Lake
                                                                            
                                                                            
                                                                        
                                                                    
                                                                
                                                
                                                
                                                    
                                                    
                                                        Trusted Application Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Validating the Manifest
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Memory and Performance
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Error Handling and Recovery
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Functional Validation and Multi-Instance Support
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Pack and DALP Generation and Validation
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Host-Side Software Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Trusted Application Management Flows
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Error Handling and Recovery Flows
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Multi-Instance and Interoperability Testing of Trusted Application Management
                                                    
                                                    
                                                
                                                    
                                                    
                                                        General and Platform-Related Events
                                                    
                                                    
                                                
                                                    
                                                    
                                                        End-to-End and Setup Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Cross Trusted Application Interoperability Functional Testing
                                                    
                                                    
                                                
                                            
                                        
                                    
                                    
                                        
                                        
                                            Creating a New Project
                                        
                                        
                                    
                                        
                                        
                                            Importing an Existing Project
                                        
                                        
                                    
                                        
                                        
                                            Converting an Existing Project
                                        
                                        
                                    
                                        
                                        
                                            Building and Packaging Your Project and Running in Emulated Environment
                                        
                                        
                                    
                                        
                                        
                                            Running Your Project
                                        
                                        
                                    
                                        
                                        
                                            Running and Testing on Emulation and on Silicon
                                        
                                        
                                    
                                        
                                        
                                            Debugging Trusted Applications
                                        
                                        
                                    
                                        
                                        
                                            Preparing and Submitting Your Project for Signing
                                        
                                        
                                    
                                        
                                        
                                            Signing an Applet
                                        
                                        
                                    
                                        
                                        
                                            Signing New Versions
                                        
                                        
                                    
                                
                            Public (Asymmetric) Key Cryptography
When public (or asymmetric) key encryption is used, a public key is used for encryption and a private key is used for decryption. The advantage of asymmetric keys is that they solve the problem of passing the shared key securely. The disadvantages are that these algorithms are vulnerable to 'known ciphertext' attacks and there is still a need for a method to trust the public key.
Algorithms supported by Intel® DAL
RSA (Rivest, Shamir & Adleman)
- Key generation 
     
- Key sizes: 768, 1024, 2048
 
 - Encryption/Decryption 
     
- Key sizes: Between 96 and 512, divisible by 8
 - Padding options: None/PKCS1/OAEP
 
 - Digital Signing/Verification 
     
- Key sizes in the range [96 -512] bytes, that are divisible by 8
 - Padding options: PKCS1
 
 
Class documentation: com.intel.crypto.RsaAlg
ECC (Elliptic Curve Cryptography) - supported from API Level 7
- Key Generation
 - Curves 
     
- SECP256K1
 - P256*
 - P384*
 
 - Encryption/Decryption 
     
- ECIES algorithm
 
 - Digital Signing/Verification 
     
- ECDSA algorithm
 
 
Class documentation: com.intel.crypto.EccAlg
* Starting from API level 8
For more information, see RSA Specification.
Supported from API level 1