There is no crypto in the main GNU Radio installation. I am not aware of any 
public out-of-tree modules that implement crypto. Your best bet would probably 
be handling crypto at the data socket layer and pushing to a GNU Radio 
PDU-to-tagged-stream or using GR's message passing interface to pass encrypted 
data packet between the upper layer and GR mod/demod layer. You could use 
PyCrypto, as you suggested, or libgcrypt in C/C++. 
http://www.gnu.org/software/libgcrypt/

GNU Radio is best suited for the PHY and basic MAC layers, but of course this 
doesn't preclude wrapping libgcrypt functions into GNU Radio blocks. I just 
think it would be more efficient to do crypto at a layer above the GR mod/demod 
blocks. You would essentially pass data between the layers using message queues 
and message handlers.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech....@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech....@gnu.org] On Behalf 
Of Ralph A. Schmid, dk5ras
Sent: Thursday, April 17, 2014 10:38 AM
To: 'Tigor Christian'; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Digital voice encryption block

Question 3: AES is indeed a common system for voice encryption, widely used for 
example in US police / public safety radios (APCO25 standard). Older systems 
used often DES, but not with a neat linear predictive voice codec, but just a 
CVSD digitizer, DES box and FSK radio link (Motorola SECURENET). Then there are 
lots of proprietary / closed source encryption systems, some really weak with 
32 bit keys, more aimed against the casual listener / scanner kid, but not 
providing real security against an advanced eavesdropping attack.

Ralph.

From: 
discuss-gnuradio-bounces+ralph=schmid....@gnu.org<mailto:discuss-gnuradio-bounces+ralph=schmid....@gnu.org>
 [mailto:discuss-gnuradio-bounces+ralph=schmid....@gnu.org] On Behalf Of Tigor 
Christian
Sent: Thursday, April 17, 2014 3:50 PM
To: discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>
Subject: [Discuss-gnuradio] Digital voice encryption block

Hi all,

I want to simulate a voice transmission system in GNURadio Companion (GRC) 
before I build a real one. My system configuration is as follows.

TX:
mic --> encoder --> encryption --> modulator --> RF

Rx:
speaker <-- decoder <-- decryption <-- demodulator <-- RF

I have succeed in simulating the above configuration in Ubuntu 12.04 LTS 
machine but without encryption/decryption blocks.

I want to encrypt my digital voice using AES (128/192/256, either one) 
algorithm, but so far, I couldn't find suitable blocks for my purpose.

I know that GNURadio will synthesize a python code when you compile your blocks 
configuration in GRC. On the other hand, every python dev installation in 
Ubuntu will also install PyCrypto lib in your machine, this library has a 
ready-to-use function of AES algorithm. Furthermore, I also know the concept of 
Out-of-Tree Module (OoTM) of GNURadio.

My questions are:

1. My first thought is to get data stream of certain block and do encryption 
process with PyCrypto (not in the OoTM, but directly in synthesized python 
code) then put them back to the next block. Would it be possible and how to 
achieve this?

2. Do GNURadio has a ready-to-use GRC blocks or OoTM of digital encryption 
algorithm (not scrambler)? and how do I get it (a tutorial would be fine)?
So far, I can not found the block either in GRC or 
https://www.cgran.org<https://www.cgran.org/>

3. Last question may be off topic a bit. Is it common to use AES algorithm to 
encrypt voice data, or is there any common encryption method (preferably could 
be implemented in GRC)?

Thank you for your time and willingness to answer these questions

Regards
tc


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to