2012-12-09 21 views
9

जावा (जेएमई या एंड्रॉइड) के साथ वॉयस ऑडियो स्ट्रीम पकड़ना संभव है, कस्टम एन्क्रिप्ट करें और फिर इसे नियमित जीएसएम कॉल के माध्यम से नियमित स्ट्रीम के रूप में भेजें? और निश्चित रूप से अन्य फोन पर सिफर डिक्रिप्ट करें। क्या एप्लिकेशन स्तर जावा को ऑडियो स्ट्रीम को अवरुद्ध करने की अनुमति है या यह हार्डवेयर स्तर पर अक्षम है?कस्टम एन्क्रिप्ट जीएसएम

क्या पहले से ही ऐसे ऐप्स हैं जो ऐसा करते हैं?

+2

मुझे लगता है कि यह आपके डिवाइस को रूट करने के साथ ही संभव है। – rekire

+2

रूट या चाल :) –

उत्तर

4

मोबाइल नेटवर्क, उदाहरण के लिए

  • "मूल" एन्कोडिंग के साथ आवाज चैनलों पर हानिपूर्ण ट्रांसकोडिंग प्रदर्शन/
  • गूंज cancelers,
  • शोर जनरेटर या
  • कोडेक परिवर्तन डिकोडिंग।

इसलिए मुझे संदेह है कि एक एन्क्रिप्टेड वॉयस डेटा स्ट्रीम मोबाइल नेटवर्क के माध्यम से ट्रांसमिशन से बचती है जिससे प्राप्त करने वाले पक्ष पर डिक्रिप्शन की अनुमति मिलती है।

सरल समानता: ऑडियो -> एन्क्रिप्ट -> एमपी 3 संपीड़न -> एमपी 3 डीकोडिंग -> डिक्रिप्ट -> ऑडियो। यह काम नहीं कर सकता है। या: यदि आप यह काम करते हैं तो आपको एन्क्रिप्टेड स्ट्रीम को वॉयस बेयरर के माध्यम से परिवहन करने का मौका मिलता है।

आपका विकल्प डेटा वाहक पर ऐसा करना होगा, आईपी के माध्यम से एन्क्रिप्टेड आवाज को परिवहन करना होगा। लेकिन इसके लिए मोबाइल उपकरणों पर एक अलग टेलीफोनी एप्लिकेशन की आवश्यकता है।

+0

मुझे नहीं लगता कि एमपी 3 उदाहरण यहां प्रासंगिक है। एमपी 3 सिग्नल विशिष्ट संपीड़न है। जीएसएम में ** पहले से ही एन्क्रिप्टिंग ** और संपीड़न (ए51 अगर मुझे याद है) तो आपके एमपी 3 अनुरूपता जीएसएम असंभव होगा। मैं उसी कुंजी एल्गोरिदम का उपयोग कर सकता हूं जो जीएसएम का उपयोग करता है, बस मेरी कुंजी के साथ। ** मुख्य प्रश्न यह है कि मुझे जेएमई/एंड्रॉइड के माध्यम से जीएसएम चैनल के लिए/सेटस्ट्रीम() इंटरफेस मिला है। ** –

+1

जीएसएम सिग्नल विशिष्ट संपीड़न भी करता है, यह मेरे एमपी 3 उदाहरण का पूरा बिंदु है। जीएसएम आवाज के माध्यम से संपीड़ित एमपी 3 परिवहन काम नहीं करेगा। आप जीएसएम algortihm का उपयोग अपनी कुंजी के साथ नहीं कर सकते क्योंकि जीएसएम नेटवर्क बीएससी में डिक्रिप्ट करता है, यानी यह अंत तक एन्क्रिप्शन नहीं है। आपको नेटवर्क को अपनी कुंजी के बारे में जागरूक करने की आवश्यकता होगी। यहां तक ​​कि यदि आप/setStream() प्राप्त करते हैं, तो आपके द्वारा इंजेक्ट किए गए डेटा में ऑडियो गुण होना चाहिए, यानी उन्हें जीएसएम कोडेक्स के साथ काम करना होगा। एन्क्रिप्टेड ऑडियो संभवतः * काम नहीं करेगा * काम करेगा। – Bernd

+0

_ आप जीएसएम algortihm का उपयोग अपनी कुंजी के साथ नहीं कर सकते क्योंकि जीएसएम नेटवर्क बीएससी में डिक्रिप्ट करता है, यह एंड-टू-एंड एन्क्रिप्शन नहीं है। इसलिए डिक्रिप्ट विफल हो जाएगा, लेकिन इसका मतलब केवल यह है कि निश्चित टेलीफोनी को कॉल करना काम नहीं करेगा, लेकिन अन्य सेल फोन के साथ जो इसे अस्वीकार करता है, इसे करना चाहिए। _ अगर आपको/setStream() प्राप्त होता है, तो आपके द्वारा इंजेक्ट किए गए डेटा में ऑडियो गुण होना चाहिए, यानी उन्हें जीएसएम कोडेक्स._ getStream() को बाइट [], और सेटस्ट्रीम (बाइट [] स्ट्रीम) वापस लेना चाहिए तर्क के लिए बाइनरी स्ट्रीम, इसलिए बाइनरी स्ट्रीम बाइनरी स्ट्रीम है, यह एनालॉग डोमेन में अप्रासंगिक है। –

5

उपरोक्त कुछ टिप्पणियों के अनुसार वॉयस कॉल तक पहुंच का स्तर केवल रूट फोन के साथ ही संभव है, और फिर डिवाइस विशिष्ट भी है। जेनेरिक एन्क्रिप्टेड वॉयस एप्लिकेशन के लिए आप सबसे अच्छा कर सकते हैं एक वीओआईपी/एसआईपी शैली अनुप्रयोग जो डेटा कनेक्शन का उपयोग करेगा।

भले ही आप इसे एनालॉग कॉल पर एन्क्रिप्ट करना कर सकें, यह गैर-तुच्छ होगा। जीएसएम कोडेक्स में इस्तेमाल किया गया संपीड़न आवाज के लिए अनुकूलित किया गया है और सिग्नल की विशेषताओं के बारे में कुछ मान्यताओं को बनाता है। आप केवल एक साधारण एनालॉग -> डिजिटल -> एन्क्रिप्ट -> एनालॉग -> फोन नेटवर्क -> एनालॉग -> डिजिटल -> डिक्रिप्ट -> एनालॉग प्रकार सिग्नल चेन का उपयोग नहीं कर सके।

आपको पता चलेगा कि मैंने एनालॉग को एक चरण के रूप में शामिल किया है, क्योंकि जीएसएम नेटवर्क के लिए अंतिम डिजिटल एन्कोडिंग जीएसएम रेडियो चिपसेट द्वारा किया जाता है, यदि आपको रूट होने पर भी किसी भी फोन से एक्सेस नहीं मिलता है।

+0

तो जीएसएम चैनल के लिए कोई getAudioStream() और setAudioStream() इंटरफेस नहीं हैं? (जेएमई/एंड्रॉइड) –

+1

नहीं, हालांकि वे तकनीकी पदानुक्रम द्वारा समर्थित रूप से दिखाए जा सकते हैं (यकीन नहीं) मुझे विश्वास है कि वे वास्तव में किसी भी फोन पर काम नहीं करेंगे। – PeterJ

0

मुझे पता है कि ऐसे ऐप्स हैं जो आवाज परिवर्तक की तरह कार्य करते हैं जहां वे आपकी आवाज बदलते हैं और जीएसएम आवाज के माध्यम से संचारित करते हैं। हो सकता है कि आप एक ऐप बना सकें जो आवाज़ लेता है, फिर इसे चरण शिफ्ट कीिंग या डिजिटल रेडियो मोनोडियाल जैसे कुछ एचएएम और एचएफ रेडियो संचार में उपयोग किए जाने वाले हम्स के रूप में संशोधित करता है और ऑडियो को जीएसएम में प्रेषित करता है, फिर इसे वापस ध्वनि पर डिमोडलेट करता है लेकिन सीधे आगे की ओर मॉडुलन डिमोड्यूलेशन आप पीजीपी, एईएस, या जो भी एन्क्रिप्शन आपको पसंद कर सकते हैं जोड़ सकते हैं। मैं इस तरह की एक परियोजना को देखने के लिए भी इच्छुक हूं।

मुझे लगता है कि यदि आप gprs चैनल के बजाय अतीत में 56k मोडेम की तरह वॉयस जीएसएम चैनल के माध्यम से डेटा संचारित करने के लिए इसका उपयोग कर सकते हैं तो यह भी अच्छा होगा।

संदर्भ

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

http://www.aprs.org 
2

जीएसएम पूर्ण दर भाषण कोडेक 13 Kbits/s पर चलाता है और एक नियमित रूप से पल्स उत्साहित (RPE) कोडेक का उपयोग करता है - इसका मतलब है कि जीएसएम में माइक्रोफोन और भाषण का पता लगाने प्रसारण के लिए अनुकूलित है एक टाइम डिवीजन मल्टीप्लेक्ड 'डिजिटल' चैनल में जिसे जीएमएसके का उपयोग करते हुए वायु इंटरफ़ेस में मॉड्यूल किया जाता है, एक निरंतर चरण आवृत्ति-शिफ्ट कुंजी मॉड्यूलेशन योजना।

'औसत' भाषण पैटर्न के अलावा शोर भारी विकृत (या दबाए गए) हैं - उदाहरण के लिए डीटीएमएफ (टन) किसी डिवाइस पर अच्छी तरह से प्राप्त नहीं होते हैं, और नेटवर्क कोर द्वारा प्रेषित किया जाना चाहिए, लेकिन सुनने के लिए बनाए गए स्वर खराब काम अच्छी तरह से। वॉयस को कोडेक (माइक्रोफोन डिज़ाइन) में प्रवेश करने के लिए सबसे अच्छा कोडेक पहचान और दूसरी छोर पर प्रजनन के लिए आकार दिया जाता है।

संक्षेप में - जीएसएम सिस्टम में 'पुनः संशोधित' करना संभव नहीं है, क्योंकि प्रवेश बिंदु रेडियो (वायु इंटरफ़ेस) नहीं है, या यहां तक ​​कि जीएसएम डिजिटल फ्रेम तक पहुंच भी नहीं है। वॉयस कॉल के लिए आपकी एकमात्र पहुंच जीएसएम कोडेक है जो एक सीमित ऑडियो स्पेक्ट्रम में आवाज की उम्मीद कर रही है।

हालांकि - आप के लिए जीएसएम कोडेक तरंग की तरह एक आवाज बना सकते हैं, तो आप वक्ता/एमआईसी स्थल पर आगे का रास्ता

1

एनकोड अनुरूप आवाज हो सकता है और अधिक व्यावहारिक है। या, आपको फोन.एपीपी को संशोधित करने के लिए एंड्रॉइड रूट करना होगा। बस एईसीएल की तरह। यह हेडसेट एन्क्रिप्ट और डिक्रिप्ट करता है। http://mrhyper.blogspot.tw/2015/12/iphone-encrypt-phone-call_9.html