From 4739c94cfc20cf6f067447005745d84e303cb119 Mon Sep 17 00:00:00 2001 From: ptrkrysik Date: Sat, 7 Feb 2015 19:51:03 +0100 Subject: DECRYPTION NOW WORKS! (Corrected decryption block) --- lib/decryption/decryption_impl.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/decryption/decryption_impl.cc b/lib/decryption/decryption_impl.cc index 60409c7..ecf97ce 100644 --- a/lib/decryption/decryption_impl.cc +++ b/lib/decryption/decryption_impl.cc @@ -27,6 +27,8 @@ #include #include "decryption_impl.h" #include "a5_1_2.h" +#include "stdio.h"//!! +#include //!! const uint32_t BURST_SIZE=148; @@ -80,16 +82,16 @@ namespace gr { } else { uint8_t decrypted_data[BURST_SIZE]; - uint8_t AtoBkeystream[15]; - uint8_t BtoAkeystream[15]; + uint8_t AtoBkeystream[114]; + uint8_t BtoAkeystream[114]; uint8_t * keystream; pmt::pmt_t header_plus_burst = pmt::cdr(msg); gsmtap_hdr * header = (gsmtap_hdr *)pmt::blob_data(header_plus_burst); uint8_t * burst_binary = (uint8_t *)(pmt::blob_data(header_plus_burst))+sizeof(gsmtap_hdr); - uint32_t frame_number = be32toh(header->frame_number) & 0x3fff; - bool uplink_burst = (be32toh(header->frame_number) & 0x4000) ? true : false; + uint32_t frame_number = be32toh(header->frame_number); + bool uplink_burst = (be16toh(header->arfcn) & 0x4000) ? true : false; uint32_t t1 = frame_number / (26*51); uint32_t t2 = frame_number % 26; uint32_t t3 = frame_number % 51; -- cgit v1.2.3