首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在直拨电话SRTP中实现AES CM

在直拨电话SRTP中实现AES CM
EN

Stack Overflow用户
提问于 2020-07-05 19:37:46
回答 1查看 81关注 0票数 1

我试图理解如何在linphone应用程序上实现srtp。当我激活电话上的srtp功能时,将使用AES-ICM加密方法保护数字数据通信。但我在它的实现中发现了一些有趣的东西。

AES-ICM方法中的加密过程使用密钥流后缀和RTP分组有效载荷(明文)之间的xor运算来生成密文。在aes运算中使用加密密钥来生成后缀密钥流。然后,该密文将从发送者发送到接收者。

在SRTP的实现中,显示了发送方和接收方使用或生成的明文、密钥和密文。我发现了发送者和接收者中每个包的密文和密钥之间的差异。当使用特定密钥加密明文并在发送者、接收者、接收到的密文和使用的密钥中生成密文时,明文具有差异。然而,奇怪的是,我发现接收方对明文的解密结果与发送方加密的结果是相同的。传来的声音传来了,谁能解释这是为什么?

显示文本的代码:https://pastelink.net/1re6m

日志端点1:https://pastelink.net/1re93

日志端点2:https://pastelink.net/1re9c

然后,我尝试使用srtp_unprotect_mki模块的srtp_protect_mki和srtp_cipher_decrypt模块中的srtp_cipher_encrypt代码来停用加密功能。这不是好像它没有像实现Null Cipher那样加密有效负载吗?但是,相同的发现是密文和明文,它们与发送者和接收者没有任何共同之处,以及扬声器上的声音包含噪声,但无法识别正在发送的内容。有人能解释一下这个吗?

例如,在端点1用于加密的第一个明文是:"d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d……“生成密文:"7c8fb6c2f783e5fdb34116bb5d5ce27475bf400b4 .“

然后,在充当接收器的端点2处,接收到的第一个密文是"e2bd90a5275e44ac2d4fc332cfff138e743c39c80b .“生成明文:"d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5 .“

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-07-17 23:21:57

我从另一个论坛找到了答案。在我的例子中,这是因为VOIP服务器(我使用的是Asterisk )将解密每个传入的数据包进行处理,然后再将其发回。然后,在发送到最终目的地之前,此包将由Asterisk重新加密。进入的每个包都将被解密,退出星号的包将被重新加密。因此,在我的例子中,这是因为使用了voip服务器技术。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62740157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档