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++. Libgcrypt - GNU Project - Free Software Foundation (FSF)
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=removed_email_address@domain.invalid
[mailto:discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid] On
Behalf Of Ralph A. Schmid, dk5ras
Sent: Thursday, April 17, 2014 10:38 AM
To: ‘Tigor Christian’; [email protected]
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=removed_email_address@domain.invalidmailto:discuss-gnuradio-bounces+ralph=removed_email_address@domain.invalid
[mailto:discuss-gnuradio-bounces+ralph=removed_email_address@domain.invalid] On Behalf Of
Tigor Christian
Sent: Thursday, April 17, 2014 3:50 PM
To: [email protected]mailto:[email protected]
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:
-
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?
-
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.orghttps://www.cgran.org/
-
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