ETS proje anahtarlık dosyasında yer alan elemanların ETS dışında ve Falcon SDK dışında kullanılması durumunda, elemana bağlı olarak aşağıdaki şifre çözme algoritmaları ('sözde kod') uygulanacaktır:
IP Omurga
- Omurga Anahtarı = AES128-CBC( A1, A2, A3, A4 )
- A3 = Project.BackboneKey
Tünelleme Arayüzleri
- Şifre = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.BusAccess( IA ).Password, A32 ))
- Kimlik Doğrulama = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.AuthenticationCode, A32 )
IP Cihazları
- YönetimŞifresi = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.ManagementPassword, A32 )
- Kimlik Doğrulama = AES128-CBC( A1, A2, A3, A4 )
- A3 = RandomBytes( A31 ) + PKCS#7( Device.AuthenticationCode, A32 )
Cihazlar
- Araç Anahtarı = AES128-CBC( A1, A2, A3, A4 )
- A3 = Device.ToolKey
Grup Adresleri
- Anahtar = AES128-CBC( A1, A2, A3, A4 )
- A3 = GrupAdresi.Anahtarı
Detaylar
- A1 = PBKDF2( A11, A12, A13, A14, A15 )
- A11 = HMAC-SHA256 // 'PRF'
- A12 = anahtarlık şifresi
- A13 = "1.keyring.ets.knx.org" // 'salt'
- A14 = 65536 // yineleme sayısı
- A15 = 128 // türetilmiş anahtarın bit uzunluğu
- A2 = SHA256( A21, A22)
- A21 = anahtarlık 'oluşturma' özelliği (dosyadan)
- A22 = 128 // most significant bits
- A3 = şifrelenmiş veri
- A31 = 8 // rastgele bayt sayısı
- A32 = 24 // doldurma bayt sayısı
- A4 = SHA256