Exercício D Os serviços secretos da Universidade de Coimbra receberam via
email a seguinte mensagem encriptada:
mamfcjkm ayzvojáfagvm é i pojxge namgaptayk qu gedlx o tihi i pojxge taywlkwcj ho ghuwhijiçãu
Receberam também uma chave de desencriptação por outra via. Esta chave consiste
numa matriz de números e num algoritmo que permite desencriptar a mensagem,
usando a chave recebida. A chave é:
11 9 7 14 3 26 23 4 1 21 5 20 10 25 22 16 18 15 13 6 12 17 8 2 19 24
6 15 7 14 23 3 16 21 10 9 20 17 18 1 24 26 2 4 12 8 5 11 25 19 13 22
9 17 7 13 14 23 3 26 2 20 22 5 12 1 21 15 25 18 24 6 16 8 4 10 11 19
3 19 17 8 15 6 1 24 25 14 2 10 16 23 7 11 12 5 13 18 21 26 9 4 22 20
9 16 6 17 13 12 23 20 25 4 24 15 10 19 21 7 18 8 22 26 5 1 14 2 11 3
O algoritmo é descrito pelos seguintes passos:
1. Considerar como palavras as sequências de caracteres delimitada por 1 espaço;
2. Para cada palavra, identificar a 1ª vogal;
3. Com base na 1ª vogal identificada seleccionar uma linha da matriz, ou seja uma sub-‐‑
chave:
a) A vogal “a” permite seleccionar a 1ª linha;
b) A vogal “e” permite seleccionar a 2ª linha;
c) A vogal “i” permite seleccionar a 3ª linha;
d) A vogal “o” permite seleccionar a 4ª linha;
e) A vogal “u” permite seleccionar a 5ª linha.
4. Para cada palavra aplicar a sub-‐‑chave identificada da seguinte forma:
a) Para cada caractere calcular o seu código Unicode
b) Subtrair 96 ao código calculado
c) Se o resultado da subtração for um número no intervalo [1,26] então: Obter o
índice (posição) na sub-‐‑chave cujo valor iguala o resultado da subtração.
Somar 1 ao valor do índice e guardar o valor resultante.
d) Senão: Simplesmente guardar o resultado da subtração
e) Finalmente, para obter o caractere desencriptado basta:
i. Voltar a somar 96 ao código guardado em c) ou d)
ii. Converter o resultado da soma num caractere Unicode
Implemente o algoritmo descrito e desencripte a mensagem recebida pelos serviços
secretos da UC. Note que deve retirar os espaços extra por forma a delimitar de forma
adequada as palavras (neste caso, não deve usar nenhuma função já existente para
remover os espaços extra). Na página seguinte encontra um exemplo de aplicação do
algoritmo.
exemplo
Exemplo
Imagine que pretende desencriptar a palavra “duãu”.
Temos uma única palavra e o passo seguinte será identificar a 1ª vogal, que neste caso é
“u”. De seguida temos que seleccionar a sub-‐‑chave na matriz chave. Para a vogal “u” a
sub-‐‑chave corresponde à ultima linha da matriz:
9 16 6 17 13 12 23 20 25 4 24 15 10 19 21 7 18 8 22 26 5 1 14 2 11 3
Uma vez identificada a sub-‐‑chave, vamos considerar cada caractere individualmente.
Para cada um calculamos o seu código Unicode e subtraímos 96. Então para o 1º
caractere (“d”) temos que o seu código é 100, subtraindo 96 ficamos com 4. Como o
resultado da subtração está no intervalo 1-‐‑26 então vamos procurar o índice
correspondente ao valor 4 na sub-‐‑chave. Chegamos à conclusão que o índice para o
valor 4 é o 9. Somamos 1 e obtemos 10.
Valores 9 16 6 17 13 12 23 20 25 4 24 15 10 19 21 7 18 8 22 26 5 1 14 2 11 3
Índice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
O passo seguinte é somar 96 a 10 e transformar o código Unicode no caractere
correspondente. Neste caso temos que 96 + 10 = 106 é o caractere correspondente é “j”.
Agora repetimos o mesmo processo para os outros caracteres. Para “u” obtemos o
código Unicode 117, subtraindo 96 ficamos com o valor 21, cujo índice correspondente é
o 14. Somando 1 a 14 e finalmente 96 obtemos o código Unicode 111, ou seja o caractere
“o”.
O caractere “ã” é um caso especial pois subtraindo 96 ao seu código Unicode não
resulta num número entre 1 e 26 (resulta em 227-‐‑96=131). Consequentemente e de novo
somado 96 e não sofre qualquer desencriptação. Finalmente temos de novo o caractere
“u”, que como vimos anteriormente resulta no caractere “o” desencriptado. Então para
a string “duãu” temos a string desencriptada “joão”.
Let's code:
public class ExercicioD
{
public static void main(String[] args)
{
int[][] matrix = { {11,9,7,14,3,26,23,4,1,21,5,20,10,25,22,16,18,15,13,6,12,17,8,2,19,24} ,
{6,15,7,14,23,3,16,21,10,9,20,17,18,1,24,26,2,4,12,8,5,11,25,19,13,22} ,
{9,17,7,13,14,23,3,26,2,20,22,5,12,1,21,15,25,18,24,6,16,8,4,10,11,19} ,
{3,19,17,8,15,6,1,24,25,14,2,10,16,23,7,11,12,5,13,18,21,26,9,4,22,20} ,
{9,16,6,17,13,12,23,20,25,4,24,15,10,19,21,7,18,8,22,26,5,1,14,2,11,3} };
String entrada = " mamfcjkm ayzvojáfagvm é i pojxge namgaptayk qu gedlx o tihi i pojxge taywlkwcj ho ghuwhijiçãu";
String[] temp = entrada.split(" "); // separamos as palavras da mensagem a partir do espaço.
char[] vogais = {'a', 'e', 'i', 'o', 'u'};
int min = 0, resletra = 0, pos = 0, validacao = 0;
String palavra = " "; char letra;
for (int i = 0; i < temp.length; i++ )
{
palavra = temp[i];
for (int j = 0; j < palavra.length(); j++)
{
validacao = 0;
for (int k = 0; k < 5 ; k++)
{
if (palavra.charAt(j) == vogais[k])
{
min = k;
validacao = 1;
}
}
if (validacao == 1)
{
break;
}
}
for (int l = 0; l < palavra.length() ; l++)
{
letra = palavra.charAt(l);
resletra = (int) letra;
resletra = resletra - 96;
if (resletra >= 1 && resletra <= 26)
{
for(int x = 0; x < 26; x++)
{
if(matrix[min][x] == resletra)
{
pos = x;
}
}
resletra = pos + 1;
}
resletra = resletra + 96;
System.out.print((char) resletra);
}
System.out.print(" "); }
}
}
Este blog é como um sótão....um local para guardar... Links Textos etc... Tudo o que um dia poderá fazer falta.
quinta-feira, março 27, 2014
segunda-feira, março 24, 2014
SIP
SESSION INITIATION PROTOCOL (SIP)
• SIP foi desenvolvido no IETF (RFC 3261).
• É um protocolo de sinalização multimédia, também usado para VoIP.
• É uma alternativa a H.323.
• É mais flexível e mais simples.
• É mais adequado para o suporte de dispositivos inteligentes.
• Os testes de interoperabilidade de produtos são feitos por vários fabricantes durante eventos SIPit (SIP Interoperability Tests).
• Dezenas de fabricantes participam anualmente nestes testes.
• SIP pressupõe que a voz é transmitida sobre RTP.
• De um modo semelhante a H.323, a sinalização é separada do transporte de voz.
• Como protocolo de sinalização, estabelece, modifica e quebra sessões multimédia.
VoIP
• SIP pode correr sobre UDP ou TCP.
• SIP é um protocolo cliente-servidor.
Cliente é o originador da chamada e o servidor é quem recebe a chamada. Clientes e servidores podem estar na mesma plataforma.
• Podem existir proxies, que actuam como clientes e servidores.
• Existem quatro tipos de servidores:
- Servidor proxy
- Servidor de redireccionamento
- Servidor agente do utilizador
- Servidor de registo.
Servidor Proxy
• Gere pedidos ou envia pedidos a outros servidores.
• Pode ser usado para reenvio de chamadas.
Servidor de redireccionamento
• Mapeia o endereço de destino para zero ou mais endereços.
• Não inicia nenhum pedido SIP.
Servidor agente de utilizador
• Aceita pedidos SIP e contacta o utilizador.
• O utilizador responde (SIP response)
• Está integrado num dispositivo SIP. Por exemplo, um telefone SIP.
Servidor de registo
• Aceita pedidos de registo SIP, indicando que o utilizador está num determinado endereço.
• É tipicamente combinado com um servidor proxy ou de redireccionamento.
• O estabelecimento de uma chamada SIP envolve as seguintes mensagens:
Vantagens de SIP
• Tenta manter a sinalização tão simples quanto possível.
• Oferece um alto grau de flexibilidade.
• Inclui um número de campos opcionais nas mensagens. Estes campos opcionais podem transportar informação específica dos utilizadores para o contexto em questão.
• O utilizador tem controlo da chamada, sem precisar de assinar serviços específicos para as chamadas.
Fonte http://neerci.ist.utl.pt/~neerci.daemon/neerci_shelf/LERC/3%20Ano/1%20Semestre/Arquitectura%20de%20Redes/Antiga%20RIC/Teoricas%20e%20Resumos/2011%20-%202012/11e.%20VoIP%20SIP.pdf
• SIP foi desenvolvido no IETF (RFC 3261).
• É um protocolo de sinalização multimédia, também usado para VoIP.
• É uma alternativa a H.323.
• É mais flexível e mais simples.
• É mais adequado para o suporte de dispositivos inteligentes.
• Os testes de interoperabilidade de produtos são feitos por vários fabricantes durante eventos SIPit (SIP Interoperability Tests).
• Dezenas de fabricantes participam anualmente nestes testes.
• SIP pressupõe que a voz é transmitida sobre RTP.
• De um modo semelhante a H.323, a sinalização é separada do transporte de voz.
• Como protocolo de sinalização, estabelece, modifica e quebra sessões multimédia.
VoIP
• SIP pode correr sobre UDP ou TCP.
• SIP é um protocolo cliente-servidor.
Cliente é o originador da chamada e o servidor é quem recebe a chamada. Clientes e servidores podem estar na mesma plataforma.
• Podem existir proxies, que actuam como clientes e servidores.
• Existem quatro tipos de servidores:
- Servidor proxy
- Servidor de redireccionamento
- Servidor agente do utilizador
- Servidor de registo.
Servidor Proxy
• Gere pedidos ou envia pedidos a outros servidores.
• Pode ser usado para reenvio de chamadas.
Servidor de redireccionamento
• Mapeia o endereço de destino para zero ou mais endereços.
• Não inicia nenhum pedido SIP.
Servidor agente de utilizador
• Aceita pedidos SIP e contacta o utilizador.
• O utilizador responde (SIP response)
• Está integrado num dispositivo SIP. Por exemplo, um telefone SIP.
Servidor de registo
• Aceita pedidos de registo SIP, indicando que o utilizador está num determinado endereço.
• É tipicamente combinado com um servidor proxy ou de redireccionamento.
• O estabelecimento de uma chamada SIP envolve as seguintes mensagens:
Vantagens de SIP
• Tenta manter a sinalização tão simples quanto possível.
• Oferece um alto grau de flexibilidade.
• Inclui um número de campos opcionais nas mensagens. Estes campos opcionais podem transportar informação específica dos utilizadores para o contexto em questão.
• O utilizador tem controlo da chamada, sem precisar de assinar serviços específicos para as chamadas.
Fonte http://neerci.ist.utl.pt/~neerci.daemon/neerci_shelf/LERC/3%20Ano/1%20Semestre/Arquitectura%20de%20Redes/Antiga%20RIC/Teoricas%20e%20Resumos/2011%20-%202012/11e.%20VoIP%20SIP.pdf
sábado, março 22, 2014
sexta-feira, março 21, 2014
quinta-feira, março 06, 2014
Update Huawei U8160 / Vodafone 858 Smart to CM9 Android 4.0.4 ICS Custom Firmware
Huawei U8160 / Vodafone 858 Smart can now be updated
to Android 4.0.4 ICS custom firmware, which is a CyanogenMod 9 (CM9)
based ROM. This firmware is not complete yet and has many things that do
not work on this phone, but atleast you can get a taste of Android
4.0.4 ICS on your device. You can now install CM9 Android 4.0.4 ICS on
Huawei U8160 / Vodafone 858 Smart. Your phone should be rooted and have
ClockworkMod recovery installed.
As you continue reading below, we will guide you through the process of how to install CM9 Android 4.0.4 ICS custom firmware on Huawei U8160 / Vodafone 858 Smart with complete steps in this tutorial. Backup all your data as given below since this tutorial will wipe your personal settings and apps. Let’s proceed with the tutorial now.

Disclaimer: All the tools, mods or ROMs mentioned below belong to their respective owners/developers. We (TeamAndroid.com) or the developers are not to be held responsible if you damage or brick your device. We don’t have you on gun point to try out this tutorial
Working:
. Your phone should be factory unlocked. Additional instructions for locked Android devices will be added in the tutorial for unlocking devices.
Now, let’s proceed with the tutorial below and update Huawei U8160 / Vodafone 858 Smart to CM10 Jelly Bean 4.1.1 custom firmware.
To Remember:
Complete Step-By-Step Instructions:
Step 1 - Download CM9 Android 4.0.4 ICS ROM and Google Apps for Huawei U8160 / Vodafone 858 Smart to your computer.
Step 2 - Connect and mount your Huawei U8160 / Vodafone 858 Smart USB (mass) memory on your computer using the USB cable.
Step 3 - Now copy/paste the CM9 ROM zip and Google Apps zip files to your SD card. Make sure the files are in the SD card root.
Step 5 - Now to get in the recovery mode. Switch on the phone while pressing and holding the Volume Up + Green Call Key + Power buttons.
Step 6 - Follow the navigation instructions on the screen. Select BOOTLOADER and then go to RECOVERY.
Step 6 - In ClockworkMod recovery, wipe data first. Then scroll down to “flash zip from SD card” and press the power button to select it.
Step 8 - Press the power button again and select “choose zip from sdcard”.
Step 7 -Now using your volume keys, navigate to CM9 ROM zip file and select it using the power button. Confirm the installation on the next screen and the installation procedure should start now.
NOTE: Repeat this step for the Google Apps zip file as well.
Step 8 - After the installation completes, go to “+++++Go Back” and reboot the phone by selecting “reboot system now” from the recovery menu. The phone will boot now and it might take about 5 minutes to boot on your first time. So, please wait.
That’s it! Your Huawei U8160 / Vodafone 858 Smart should now have CM9 Android 4.0.4 ICS installed on your phone! Go to Settings >About phone to verify.
Have fun playing with it! If you have any issues, please fire them up in the comments below!
Fonte http://www.teamandroid.com/2012/08/25/update-huawei-u8160-vodafone-858-smart-cm9-android-404-ics-custom-firmware/
As you continue reading below, we will guide you through the process of how to install CM9 Android 4.0.4 ICS custom firmware on Huawei U8160 / Vodafone 858 Smart with complete steps in this tutorial. Backup all your data as given below since this tutorial will wipe your personal settings and apps. Let’s proceed with the tutorial now.
Disclaimer: All the tools, mods or ROMs mentioned below belong to their respective owners/developers. We (TeamAndroid.com) or the developers are not to be held responsible if you damage or brick your device. We don’t have you on gun point to try out this tutorial
Working:
- 2D acceleration via copybit
- Audio
- Telephony – calling, messaging, mobiledata
- Touchscreen – including OuNao’s fake dual-touch, configurable via madconfig
- Bluetooth & Bluetooth tethering
- Wireless
- Correct MAC addreses for BT & WiFi
- SD card & USB mass storage
- Lights
- Sensors
- Compcache & swap – the latter available via madconfig, but disabled by default
- GPS
- Good battery backup (needs more testing to be sure)
- Camera – partially works – can preview
- Bluetooth prevents deep sleep – do not leave enabled when you have no need to use it
- Video Recorder
- USB & Wifi Tethering – you may be able to use third-party replacements
- FM Radio – no CM9 radio app yet exists, but Spirit FM may work
- Video acceleration – video decoders will use software rendering, which uses more battery, and is too slow for HQ video playback.
. Your phone should be factory unlocked. Additional instructions for locked Android devices will be added in the tutorial for unlocking devices.
Now, let’s proceed with the tutorial below and update Huawei U8160 / Vodafone 858 Smart to CM10 Jelly Bean 4.1.1 custom firmware.
How to Install CM9 Android 4.0.4 ICS on Huawei U8160 / Vodafone 858 Smart
We have put together a detailed step-by-step instructions guide on how to install CM9 Android 4.0.4 ICS on Huawei U8160 / Vodafone 858 Smart. Please read every line carefully below. We suggest, read the tutorial once before actually performing it on your phone.To Remember:
- This CM9 tutorial is only for Huawei U8160 / Vodafone 858 Smart. Please don’t try this on any other variants of the phone.
- Make sure you backup all your data in your phone before proceeding.
- Make sure ClockworkMod Recovery is installed and your Huawei U8160 / Vodafone 858 Smart is ROOTED.
Complete Step-By-Step Instructions:
Step 1 - Download CM9 Android 4.0.4 ICS ROM and Google Apps for Huawei U8160 / Vodafone 858 Smart to your computer.
Step 2 - Connect and mount your Huawei U8160 / Vodafone 858 Smart USB (mass) memory on your computer using the USB cable.
Step 3 - Now copy/paste the CM9 ROM zip and Google Apps zip files to your SD card. Make sure the files are in the SD card root.
Step 5 - Now to get in the recovery mode. Switch on the phone while pressing and holding the Volume Up + Green Call Key + Power buttons.
Step 6 - Follow the navigation instructions on the screen. Select BOOTLOADER and then go to RECOVERY.
Step 6 - In ClockworkMod recovery, wipe data first. Then scroll down to “flash zip from SD card” and press the power button to select it.
Step 8 - Press the power button again and select “choose zip from sdcard”.
Step 7 -Now using your volume keys, navigate to CM9 ROM zip file and select it using the power button. Confirm the installation on the next screen and the installation procedure should start now.
NOTE: Repeat this step for the Google Apps zip file as well.
Step 8 - After the installation completes, go to “+++++Go Back” and reboot the phone by selecting “reboot system now” from the recovery menu. The phone will boot now and it might take about 5 minutes to boot on your first time. So, please wait.
That’s it! Your Huawei U8160 / Vodafone 858 Smart should now have CM9 Android 4.0.4 ICS installed on your phone! Go to Settings >About phone to verify.
Have fun playing with it! If you have any issues, please fire them up in the comments below!
Fonte http://www.teamandroid.com/2012/08/25/update-huawei-u8160-vodafone-858-smart-cm9-android-404-ics-custom-firmware/