Есть ли какой-либо прямой способ шифрования тона DTMF, чтобы его получали только предполагаемые?

Я искал в Google помощь по этому конкретному требованию, так как ничего не вышло, я решил опубликовать этот вопрос. Я буду краток,

Мне нужна помощь по генерации DTMF с помощью android. Требование следующее.

1.Создайте тон DTMF с помощью телефона Android (с помощью класса генератора тональных сигналов Android).

2. Обнаружьте этот тон DTMF с помощью диктофона и отобразите конкретную клавишу. (Все это действие будет происходить в бесшумной среде)

Мой вопрос в том, как я могу зашифровать это так, чтобы это могли получить только те, кому это предназначено. Каждый, кто будет это слушать, сможет обнаружить ключ только в том случае, если у них есть алгоритм дешифрования.

Любая помощь будет оценена.

Спасибо,

Нихил.Т


person Nikhil.T    schedule 29.08.2015    source источник
comment
Вы должны зашифровать сообщение так же, как любое сообщение. Тот факт, что вы кодируете сообщение с помощью нескольких звуковых сигналов, вместо английских букв или base-64 или чего-то еще, не имеет значения.   -  person CommonsWare    schedule 29.08.2015
comment
Так что я могу зашифровать письмо и передать его тон-генератору, а с принимающей стороны просто расшифровать после декодирования, верно?   -  person Nikhil.T    schedule 30.08.2015
comment
Я не понимаю, что вы подразумеваете под письмом. Если вы имеете в виду символ, это не принесет вам большого преимущества при шифровании. Если вы имеете в виду сообщение, то да. Вы шифруете сообщение, конвертируете зашифрованное сообщение в тоны и воспроизводите тоны. Получатель прослушивает тональные сигналы, преобразует их в зашифрованное сообщение, а затем расшифровывает сообщение.   -  person CommonsWare    schedule 30.08.2015
comment
Да, я имею в виду характер. Как вы сказали, я использую сообщение. Работает, как вы предложили. Спасибо. Вы должны оставить это как ответ.   -  person Nikhil.T    schedule 30.08.2015


Ответы (1)


Шифрование и кодирование - это отдельные шаги.

Например, предположим, что мы хотим отправить сообщение ROT13 is not a serious encryption algorithm на другое устройство. Мы можем зашифровать его, используя шифр ROT13, даже если это несерьезный алгоритм шифрования. Это даст нам зашифрованное сообщение EBG13 vf abg n frevbhf rapelcgvba nytbevguz, если предположить, что этот сайт правильно применяет ROT13.

Чтобы передать это зашифрованное сообщение на другое устройство, мы можем использовать любое количество возможных схем кодирования и путей связи. Кажется, вы хотите использовать звуковые сигналы. ToneGenerator имеет много тонов. Предположим, вы хотите придерживаться классических тональных тонов, представленных константами TONE_DTMF_* на ToneGenerator. Их 16.

Итак, вам нужно будет преобразовать ваше зашифрованное сообщение в представление base-16, подобно тому, как люди конвертируют байтовые массивы в представление base-64. Результатом этого будет byte[] значений в диапазоне от 0 до 15. Затем вы сопоставите их с 16 тонами (например, TONE_DTMF_0 для значения 0). Отправка сообщения будет включать в себя последовательное воспроизведение этих тонов, возможно, с их заключением в какие-то тоны «начало сообщения» и «конец сообщения».

Получение сообщения будет связано с использованием AudioRecord или чего-то еще, чтобы услышать тоны, декодировать тоны в byte[] из 0-15 значений, отменить преобразование base-16, чтобы получить зашифрованное сообщение, а затем использовать алгоритм дешифрования, чтобы получить оригинал сообщение.

Chirp и аналогичные решения существуют для передачи аудиоданных, а это сообщение в блоге описывает решение на основе JavaScript для реализации такого рода системы. Ни один из них, AFAIK, не интегрирует шифрование, но это вопрос того, какие данные вы просите эти системы отправлять.

person CommonsWare    schedule 30.08.2015
comment
Это действительно полезно. Еще раз спасибо. - person Nikhil.T; 31.08.2015