9

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

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

4

5 回答 5

5

根据上面的几条评论,语音通话的访问级别只能通过有根电话才能实现,甚至是特定于设备的。对于通用加密语音应用程序,您可以做的最好的事情是使用数据连接的 VOIP / SIP 风格的应用程序。

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

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

于 2012-12-09T12:51:36.170 回答
4

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

  • “本机”编码/解码
  • 回声消除器,
  • 噪声发生器或
  • 编解码器更改。

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

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

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

于 2012-12-09T16:37:48.857 回答
2

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

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

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

但是 - 如果您可以为 GSM 编解码器创建类似语音的波形,那么您可能有前进的道路

于 2014-12-09T23:10:44.890 回答
1

我知道有些应用程序可以像语音转换器一样改变你的声音并通过 gsm 语音传输。也许您可以制作一个应用程序来接收语音,然后将其调制为相移键控或数字无线电单拨号,例如在甚高频和高频无线电通信中使用的火腿并将音频传输到 gsm,然后将其解调回语音,而不是直截了当调制解调,您可以添加 pgp、aes 或任何您喜欢的加密。我也很想看到这样的项目。

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

见参考

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

http://www.aprs.org
于 2014-12-09T07:03:19.747 回答
1

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

于 2016-01-28T02:48:48.780 回答