SFMIKE
Sfmike è l'utility di trasmissione del suono di Speak
Freely.
Si può inviare audio alla macchina <hostname> su cui
è in esecuzione il programma sfspeaker con:
sfmike <hostname>
e in questo modo si invia audio in tempo reale,
oppure:
sfmike <hostname> <soundfile>
dove <soundfile> è uno (o più) file audio nel formato
Sun (.au) o GSM compresso (.gsm).
L' <hostname> può essere sia un nome di un host
locale o di Internet che un indirizzo IP numerico. Se la rete che si sta usando
supporta l' IP multicasting, si può trasmettere a un gruppo multicast
semplicemente fornendo il suo nome o l’indirizzo IP.
Se l’host con cui si sta comunicando sta usando un
numero di porta diverso da quello di default configurato nel Makefile, è
necessario specificare il numero di porta dopo il nome dell’host o l’indirizzo
IP, separandolo con “:” (ad esempio 192.10.0.1:1234).
Gli utenti con un collegamento Internet dial-up che
assegna un differente nome e un differente indirizzo IP ad ogni sessione,
possono pubblicare i loro correnti indirizzi ad un server "Look Who’s Listening".
(Un server Look Who’s Listening è disponibile al sito lwl.fourmilab.ch.)
Sfmike fornisce molti algoritmi di cifratura tra cui
AES, Blowfish, IDEA, DES, e una chiave letta da un file. Se pgp o gpg è
istallato, sfmike può invocarlo automaticamente per trasferire in sicurezza una
chiave di sessione generata casualmente all’host con cui sta comunicando.
Uso:
con
una forma di interazione push-to-talk , l’utente può:
![]() |
inviare messaggi testuali premendo il tasto “.”, |
![]() |
inviare messaggi audio premendo la “bar space”, |
![]() |
ricevere messaggi audio
premendo la “bar space”, |
![]() |
terminare premendo il tasto “q”. |
Sfmike fornisce una serie di opzioni di seguito elencate:
-bakey |
La chiave specificata in key è usata per cifrare il suono trasmesso utilizzando l'algoritmo AES. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. La chiave è una stringa di testo di lunghezza variabile. Se essa è formata da più parole deve essere specificata tra virgolette. La chiave AES di 128 bits è calcolata applicando l'algoritmo MD5 alla chiave data. Può essere utilizzata anche una chiave a 256 bits semplicemente specificando due frasi dopo il comando -ba separate dal segno "+". |
-bfkey |
La chiave specificata in key è usata per cifrare il suono trasmesso usando l'algoritmo Bowfish. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. La chiave è una stringa di testo di lunghezza variabile. Se essa è formata da più parole deve essere specificata tra virgolette. La chiave Bowfish di 128 bits è calcolata applicando l'algoritmo MD5 alla chiave key. |
-bxhexkey |
La chiave specificata in hexkey è usata per criptare il suono trasmesso usando l'algoritmo AES. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. La chiave è espressa in forma esadecimale e può avere lunghezza 128, 192 o 256 bits. Non è calcolato nessun hash. Se la lunghezza della chiave è inferiore viene eseguito il padding. |
-c |
Questa opzione abilita una seplice compressione del suono usata per la sua compatibilità con le prime versione di sfspeaker. |
-e |
Stampa la chiave di sessione sullo standard output. Successivamente la chiave può essere spedita all'altro utente tramite pacchetto pgp oppure con un qualsiasi algoritmo standard di cifratura. |
-f |
Comprime il suono utilizzando l'algoritmo ADPCM. Questa compressione riduce il volume dei dati trasmessi di un fattore di 2, inoltre ha una perdita di fedeltà inferiore a -c. |
-ikey |
La chiave specificata in key è usata per criptare il suono trasmesso usando l'algoritmo IDEA. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. La chiave è una stringa di testo di lunghezza variabile. Se essa è formata da più parole deve essere specificata tra virgolette. La chiave IDEA di 128 bits è calcolata applicando l'algoritmo MD5 alla chiave key. |
-kkey |
La chiave specificata è usata per cifrare il suono usando una versione leggermente modificata dell'algoritmo DES. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. La chiave è una stringa di testo di lunghezza variabile. Se essa è formata da più parole deve essere specificata tra virgolette. Al parametro key viene applicato l'algoritmo MD5 e dai 128 bits vengono estratti 56 bits con operazioni di XOR e AND utilizzati per la chiave DES. |
-lpc |
Comprime il suono utilizzando un algoritmo sperimentale per la codifica lineare preditiva, sviluppato da Ron Frederick di Xerox PARC. Questo algoritmo ha un fattore di compressione elevato, più 12 a 1 con una qualità del suono relativamente buona. Si consiglia di utilizzare quest'opzione col volume del microfono basso. |
-lpc10[rn] | Comprime il suono con LPC10. Come LPC anch'esso ha un fattore di compressione molto elevato, più di 26 a 1, con una qualità di suono adeguata alle comunicazioni vocali. |
-n | Disabilita la compressione del suono. |
-ofilename |
Il contenuto del file specificato in filename è usato come un "key file" per criptare il suono da trasmettere. Il file deve essere almeno di 8000 byte. L'utente ricevente (sfspeaker) per decifrare il messaggio deve utilizzare la stessa opzione sulla linea di comando. |
-rtp |
Trasmette i dati utilizzando il protocollo di trasporto RTP. Quando utilizziamo RTP si può utilizzare solo la cifratura DES (-k) e non possono essere utilizzate la compressione semplice (-c) e LPC10 (-lpc10[rn]). |
-t |
Comprime il suono utilizzando l'algoritmo GSM, questa è la compressione di default. Questo algoritmo ha un fattore di compressione di 5 a 1 con una perdita di fedeltà del suono molto bassa. |
-vat |
Trasmette i dati utilizzando il protocollo Visual Audio Tool (VAT). Quando utilizziamo VAT si può utilizzare solo la cifratura DES (-k) e non possono essere utilizzate la compressione semplice (-c) e LPC10 (-lpc10[rn]). |
-zuser_list |
Se pgp è istallato sulla macchina, genera una chiave di sessione casuale a 128 bits utilizzata da pgp, la cifra con la chiave pubblica specificata nella user list e la trasmette agli utenti della lista. |
La figura seguente mostra l'interazione tra sfspeaker e sfmike :