[S] Change in osmo-tetra[master]: Added functional TA61 decryption
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-tetra/+/41684?usp=email ) ( 2 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: Added functional TA61 decryption ...................................................................... Added functional TA61 decryption Now uses a known SCK/CCK to decrypt identities using TA61 Change-Id: Ic01c1d9cd151ba0213ed67971cc479f312af14fb --- M src/crypto/tetra_crypto.c 1 file changed, 9 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/crypto/tetra_crypto.c b/src/crypto/tetra_crypto.c index 3230cb8..7344dd0 100644 --- a/src/crypto/tetra_crypto.c +++ b/src/crypto/tetra_crypto.c @@ -204,8 +204,15 @@ bool decrypt_identity(struct tetra_crypto_state *tcs, struct tetra_addr *addr) { - /* TODO FIXME implement TA61 decryption */ - return false; + if (!tcs->cck) + return false; + + uint8_t a_addr[3] = {addr->ssi >> 16, addr->ssi >> 8, addr->ssi}; + ta61_inv(tcs->cck->key, a_addr, a_addr); + + uint32_t addr_decrypted = (a_addr[0] << 16) | (a_addr[1] << 8) | a_addr[2]; + addr->ssi = addr_decrypted; + return true; } bool decrypt_mac_element(struct tetra_crypto_state *tcs, struct tetra_tmvsap_prim *tmvp, struct tetra_key *key, int l1_len, int tmpdu_offset) -- To view, visit https://gerrit.osmocom.org/c/osmo-tetra/+/41684?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-tetra Gerrit-Branch: master Gerrit-Change-Id: Ic01c1d9cd151ba0213ed67971cc479f312af14fb Gerrit-Change-Number: 41684 Gerrit-PatchSet: 3 Gerrit-Owner: wbokslag <w.bokslag@midnightblue.nl> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge@osmocom.org>
participants (1)
-
laforge