自定义加密GSM呼叫

时间:2012-12-09 12:08:03

标签: java android java-me gsm

是否可以使用java(JME或Android)捕获语音音频流,自定义加密,然后通过常规GSM呼叫将其作为常规流发送?当然,在其他手机上解密密码。是否允许应用程序级别java拦截音频流或在硬件级别禁用它?

是否有应用程序可以做到这一点?

5 个答案:

答案 0 :(得分:5)

根据上述几条评论,只有使用有根电话的电话才能访问语音电话,甚至可能是设备特定的。对于通用加密语音应用程序,您可以做的最好的是使用数据连接的VOIP / SIP样式应用程序。

即使您可以通过模拟呼叫进行加密也是非常重要的。 GSM编解码器中使用的压缩针对语音进行了优化,并对信号的特征做出了某些假设。你不能只使用一个简单的模拟 - >数字 - >加密 - >模拟 - >电话网络 - >模拟 - >数字 - >解密 - >模拟型信号链。

您可能会注意到我已将模拟作为一个步骤,因为GSM网络的所有最终数字编码都是由GSM无线电芯片组执行的,即使有根也无法从任何手机访问。

答案 1 :(得分:4)

移动网络在语音信道上执行有损转码,例如使用

  • “原生”编码/解码
  • echo cancelers,
  • 噪音发生器或
  • 编解码器更改。

因此,我怀疑加密的语音数据流是否能够以允许接收方解密的方式通过移动网络传输。

简单类比:音频 - >加密 - > MP3压缩 - > MP3解码 - >解密 - >音频。这可能行不通。或者:如果您完成这项工作,那么您有机会通过语音承载传输加密流。

您的选择是在数据承载上执行此操作,通过IP传输加密的语音。但这需要在移动设备上使用单独的电话应用程序。

答案 2 :(得分:2)

GSM全速率语音编解码器以13 kbits / s的速度运行并使用常规脉冲激励(RPE)编解码器 - 这意味着GSM中的麦克风和语音检测针对跨时分复用“数字”信道的传输进行了优化,然后使用GMSK(一种连续相位频移键控调制方案)在空中接口进行调制。

“平均”语音模式以外的噪声严重失真(或抑制) - 例如DTMF(音调)在设备上没有被很好地接收,并且必须由网络核心传输,但是为听力障碍设计的音调工作得很好。语音在进入编解码器(麦克风设计)时被整形(过滤),以便在另一端进行最佳的编解码器检测和再现。

总之 - 在GSM系统中无法“重新调制”,因为入口点不是无线电(空中接口),甚至不能访问GSM数字帧。您对语音呼叫的唯一访问是GSM编解码器,它期望在有限的音频频谱中发声。

然而 - 如果您可以为GSM编解码器创建类似波形的语音,那么您可能有前进的方法

答案 3 :(得分:1)

在扬声器/ MIC站点编码模拟语音更实用。或者,您必须根Android才能修改phone.APP。 就像AECall一样。它加密和解密耳机。 http://mrhyper.blogspot.tw/2015/12/iphone-encrypt-phone-call_9.html

答案 4 :(得分:0)

我知道有些应用程序可以像语音转换器那样改变你的声音并通过gsm语音传输。也许你可以制作一个采用语音的应用程序,然后将其调制为类似相移键控或数字无线电单体的功能,例如用于甚高频和高频无线电通信的火腿,然后将音频传输到gsm,然后将其解调回语音,而不是直接进行调制解调你可以添加pgp,aes或任何你喜欢的加密。我也有兴趣看到这样的项目。

我认为如果您可以通过语音gsm通道(例如过去的56k调制解调器而不是gprs通道)传输数据,那也很棒。

参见参考资料

http://freedv.org/tiki-index.php

http://www.aprs.org