W przypadku, gdy elementy zawarte w pliku breloka projektu ETS będą używane poza ETS i poza Falcon SDK, należy zastosować następujące algorytmy deszyfrowania ("pseudokod") w zależności od elementu:
Szkielet IP
- BackboneKey = AES128-CBC( A1, A2, A3, A4 )
- A3 = Project.BackboneKey
Interfejsy tunelowania
- Hasło = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.BusAccess( IA ).Password, A32 ))
- Uwierzytelnianie = AES128-CBC (A1, A2, A3, A4)
- A3 = RandomBytes( A31 ) + PKCS#7( Device.AuthenticationCode, A32 )
Urządzenia IP
- ManagementPassword = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.ManagementPassword, A32 )
- Uwierzytelnianie = AES128-CBC (A1, A2, A3, A4)
- A3 = RandomBytes( A31 ) + PKCS#7( Device.AuthenticationCode, A32 )
Urządzenia
- ToolKey = AES128-CBC( A1, A2, A3, A4 )
- A3 = Device.ToolKey
Adresy grupowe
- Klucz = AES128-CBC (A1, A2, A3, A4)
- A3 = GroupAddress.Key
Szczegóły
- A1 = PBKDF2( A11, A12, A13, A14, A15 )
- A11 = HMAC-SHA256 // 'PRF'
- A12 = hasło breloka
- A13 = "1.keyring.ets.knx.org" // 'salt'
- A14 = 65536 // liczba iteracji
- A15 = 128 // długość bitowa klucza pochodnego
- A2 = SHA256( A21, A22)
- A21 = atrybut 'tworzenia' breloka (z pliku)
- A22 = 128 // najbardziej znaczące bity
- A3 = zaszyfrowane dane
- A31 = 8 // liczba losowych bajtów
- A32 = 24 // liczba bajtów dopełniających
- A4 = SHA256