我試圖在手機上實現安全語音通話。處理步驟如下。如何在AMRNB編碼之前加密PCM數據
上行:用戶 - > PCM數據(16位,8KHz的) - >加密 - > AMRNB編碼 - >網絡 下行:網絡 - > AMRNB解碼 - >解密 - > PCM數據 - >用戶
唯一在這種情況下,我可以進行加密/解密的部分是PCM數據。這是整個手機項目的限制。
下面的事情我都試過了,
反向PCM數據的位置在頻域中上行之前,如下, PCM - > IFFT - > FFT - 基於某些規則>的反向頻率數據。用這種方法,PCM數據被加擾。但我們不能說安全通話足夠安全。我研究了一些加密算法,如AES,DES,RSA等等,但是在所有這些加密算法中,多字節(至少8)都需要作爲加密的輸入。這裏錯了)但是我認爲這種加密方式在AMRNB編碼和解碼後不能解密。
所以我的問題是,是否有加密算法可以採取16位(在此鑄造PCM數據的一幀)的數據作爲其輸入的明文,以滿足這種情況。
是的,16位幀的加密根本不安全。對於AMRNB來說,如果一起加密4幀,在AMRNB編碼和解碼之後,數據不能被解密。但是,如果一個幀加密,我仍然可以在編碼/解碼後將它們(或大部分)解密。我對嗎? – Bin