criptografia em hardware emicro se - nov 15 2012
DESCRIPTION
Minicurso ministrado na EMICRO/SE - Escola Regional de Microeletrônica, Nordeste, na cidade de Aracaju, no dia 15/11/2012TRANSCRIPT
![Page 1: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/1.jpg)
Criptografia em Hardware
Minicurso do Evento EMICRO-SEhttp://www.gprufs.org/emicro-se/
Aracaju, 15 de Novembro de 2012
Edward David [email protected]
1
![Page 2: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/2.jpg)
SumárioParte I – Conceitos
Parte II – Exemplos em C e VHDL & FPGAs
Parte III - Parte Prática – Algoritmos Posicionais
Parte IV - Parte Prática – Algoritmos Conhecidos
(DES, AES, RC5, IDEA, RSA, etc.)Parte V– Classificação Moderna de Soluções de Segurança
2
![Page 3: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/3.jpg)
ReferênciasCriptografia em Software e Hardware, 2005Autores:
Edward D. Moreno
Fábio D. Pereira
Rodolfo B. Chiaramonte
3
![Page 4: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/4.jpg)
Outras Referências
CRYPTOGRAPHY AND NETWORK SECURITYPRINCIPLES AND PRACTICEAutor:William Stallings
HANDBOOK OF APPLIED CRYPTOGRAPHYAutores:
A. Menezes, P. van Oorschot, e S. Vanstone.
SEGURANÇA DE DADOSCRIPTOGRAFIA EM REDES DE COMPUTADORAutor: Routo Terada
4
![Page 5: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/5.jpg)
Publicações Springer
Transactions on Computational Science, 2010
– Security in Computing Part II – LNCS 6480Autor: Edward Moreno
Transactions on Computational Science
– Security in Computing – LNCS 5430, 2009Autor: Edward Moreno
Transactions on Computational Science, 2010
– Security in Computing Part I – LNCS 6340
Autor: Edward Moreno
5
![Page 6: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/6.jpg)
People - Criptografia em Hardware
Profa. Ingrid Verbauwhede
Profa. Catherine Gateboys
Prof. C Paar
6
Prof. Ricardo Dahab (UNICAMP)
Prof. Cetin Kaya Koc
Prof. Julio Hernandez (UNICAMP)
Prof. Paulo Barreto (USP)
Prof. Bart Preneel
Grupo COSIC
Computer Security and Industrial Cryptography
![Page 7: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/7.jpg)
Eventos - Criptografia em Hardware
CRYPTO
Computers and Security - Elsevier
CHES
7
Outros
Security - ACM
Outros
SBSEG - Brasil
![Page 8: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/8.jpg)
Computer Security Conference Ranking and Statistic
http://faculty.cs.tamu.edu/guofei/sec_conf_stat.htm
8
Rank1
S&P (Oakland) IEEE Symposium on Security and Privacy
CCS ACM Conference on Computer and Communications Security
Crypto International Cryptology Conference
Eurocrypt European Cryptology Conference
Security Usenix Security Symposium
NDSS ISOC Network and Distributed System Security Symposium
![Page 9: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/9.jpg)
9
Computer Security Conference Ranking and Statistic
Rank 2
ESORICS European Symposium on Research in Computer Security
RAID International Symposium on Recent Advances in Intrusion Detection
ACSAC Annual Computer Security Applications Conference
DSN The International Conference on Dependable Systems and Networks
CSF (CSFW) IEEE Computer Security Foundations Symposium.Supersedes CSFW (Computer Security Foundations Workshop)
TCC Theory of Cryptography Conference
Asiacrypt International Conference on the Theory and Application of Cryptology and Information Security
IMC Internet Measurement Conference
![Page 10: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/10.jpg)
10
Computer Security Conference Ranking and Statistic – Rank 3 (1)
SecureComm IEEE Communications Society/CreateNet Internation Conference on Security and Privacy for Emerging Areas in Communication Networks
DIMVA GI SIG SIDAR Conference on Detection of Intrusions and Malware and Vulnerability Assessment
AsiaCCS ACM Symposium on Information, Computer and Communications Security
ACNS International Conference on Applied Cryptography and Network Security
FC International Conference on Financial Cryptography and Data SecuritySAC ACM Symposium on Applied ComputingACISP Australasia Conference on Information Security and PrivacyICICS International Conference on Information and Communications SecurityISC Information Security Conference
![Page 11: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/11.jpg)
11
Computer Security Conference Ranking and Statistic – Rank 3 (2)
ICISC International Conference on Information Security and Cryptology
SACMAT ACM Symposium on Access Control Models and Technologies
CT-RSA RSA Conference, Cryptographers' Track
SEC IFIP International Information Security Conference
WiSec(WiSe, SASN)
ACM Conference on Wireless Network SecuritySupersedes WiSe (ACM Workshop on Wireless Security) and SASN (ACM Workshop on Security of Ad-Hoc and Sensor Networks)
SOUPS Symposium On Usable Privacy and SecurityIFIP WG 11.9IFIP WG 11.9 International Conference on Digital ForensicsDFRWS Digital Forensic Research ConferencePETS Privacy Enhancing Technologies Symposium
![Page 12: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/12.jpg)
12
Computer Security Conference Ranking and Statistic – Workshops
FSE Fast Software Encryption workshop
PKC International Workshop on Public-Key Cryptography
NSPW New Security Paradigms Workshop
IH Workshop on Information Hiding
WSPEC Workshop on Security and Privacy in E-commerceDRM ACM Workshop on Digital Rights ManagementIWIA IEEE International Information Assurance WorkshopIAW IEEE SMC Information Assurance Workshop "The West Point Workshop" CHES Workshop on Cryptographic Hardware and Embedded Systems SRUTI USENIX Workshop on Steps to Reducing Unwanted Traffic on the InternetHotSec USENIX Workshop on Hot Topics in SecurityLEET(HotBots,WORM)
USENIX Workshop on Large-scale Exploits and Emergent ThreatsSupersedes HotBots (USENIX Workshop on Hot Topics in Understanding Botnets) and WORM (ACM Workshop on Recurring/Rapid Malcode)
![Page 13: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/13.jpg)
Parte I
Minicurso do Evento EMICRO-SEhttp://www.gprufs.org/emicro-se/Aracaju, 15 a 17 de Novembro de 2012
Edward David [email protected]
13
Conceitos
![Page 14: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/14.jpg)
O que é Criptografia?
Criptografia significa grafia oculta;� Kriptos = Grafia;� Graphos = Oculta.
É a ciência de escrever em cifras de modo que apenas o destinatário possa decifrar;
Hoje em dia não é utilizada apenas para codificação.
14
![Page 15: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/15.jpg)
Esquema Geral
“A criptografia pode ser entendida como umconjunto de métodos e técnicas para cifrar oucodificar informações legíveis por meio de umalgoritmo, convertendo um texto original emum texto ilegível, sendo possível mediante oprocesso inverso recuperar as informaçõesoriginais”
15
![Page 16: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/16.jpg)
Definições
16
Emissor (A) e Receptor (B)Texto Original ou Texto LimpoCifrarDecifrarCriptografia X Criptoanálise = Criptologia
Cifrar DecifrarTextoOriginal
TextoOriginal
TextoCifrado
![Page 17: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/17.jpg)
Algoritmo vs Chave ?
17
Algoritmo
Algoritmo
K
Princípio de Kerckhoffs
Espaço de Chaves
![Page 18: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/18.jpg)
Como Funciona ?
18
Mensagem
Algoritmo de encriptação
Criptograma
Criptograma
Algoritmo de decriptação
Mensagem
Chave
Chave
CigragemCigragem
DecifragemDecifragem
![Page 19: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/19.jpg)
Então Criptografia é ...
19
• Processo de transformação, através de uma chave secreta, de informação legível (mensagem) em informação ilegível (criptograma)
• Somente os indivíduos que conhecem a chave secreta tem capacidade de decifrar o criptograma e recriar a mensagem
• A dificuldade da decriptação reside em descobrir a chave secreta e não o segredo do método utilizado (algoritmo de criptografia).
![Page 20: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/20.jpg)
Breve Histórico
Usada desde a antigüidade:� Presença na escrita hieroglífica dos
egípcios;� Codificação de planos de batalhas pelos
romanos;
Grandes mudanças a partir de meados do século passado;
20
![Page 21: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/21.jpg)
Breve Histórico
Em 1901, iniciou-se a era da comunicação sem fio:� Aumenta o desafio da criptologia;
Em 1921 Edward H. Herben fundou a Hebern Electric Code:� Início da construção de máquinas de
cifragem;
21
![Page 22: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/22.jpg)
Breve Histórico
Até o fim da década de 70 �algoritmos criptográficos secretos;� Exemplo: Máquina ENIGMA utilizada pelos
alemães até a 2ª Guerra Mundial era totalmente secreta;
Atualmente a segurança baseia-se apenas no conhecimento da chave secreta, e não do algoritmo.
22
![Page 23: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/23.jpg)
Breve Histórico
Máquina ENIGMA
23
![Page 24: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/24.jpg)
ENIGMA ENIGMA -- Máquina de três rotoresMáquina de três rotores
24
![Page 25: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/25.jpg)
Breve HistóricoAlgoritmos Importantes:� 1976 � LUCIFER apresentado pela IBM à NBS
(National Bureal of Standards), que após algumas modificações adota como padrão:� DES (Data Encryption Standard);
� AES (2000)� 1978 � Criado algoritmo de chave pública RSA
(nome derivado das iniciais dos autores –Rivest, Shamir e Adleman);
� 1965 -> ECC, 2008 -> MQQ� SHA-1, 2012 -> SHA-3 (Kecca)
25
![Page 26: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/26.jpg)
Qual a Importância da Criptografia ?
Segurança da transferência de dados na rede;Armazenamento de informações codificadas;Assinatura Digital e Integridade;. . .
26
![Page 27: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/27.jpg)
Onde é utilizada ?
Internet:� Home Banking;� Comércio Eletrônico;� E-mail;
Sistemas Distribuídos;Bancos de Dados.
27
![Page 28: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/28.jpg)
Serviços de Segurança
28
Funcionalides que, se presentes, possibilitam restringir determinados riscos de segurança
Classificação:
Serviço de ConfidencialidadeServiço de AutenticaçãoServiço de Integridade
Serviço de Irretratabilidade (não repudiação)Serviço de Disponibilidade
Serviço de Controle de AcessoServiço de Auditoria
![Page 29: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/29.jpg)
Objetivos da Criptografia
(1) Confidencialidade;(2) Integridade dos Dados;(3) Autenticação;(4) Não-Repúdio.
29
![Page 30: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/30.jpg)
(1) Confidencialidade
É um serviço para evitar que pessoas não autorizadas “entendam” o que está sendo transmitido;Este serviço também é conhecido como sigilo.
30
![Page 31: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/31.jpg)
(2) Integridade dos Dados
É um serviço que assegura que os dados não foram alterados;Dois tipos de alteração:� Acidental;� Intencional:
� Inserção;� Deleção;� Substituição.
31
![Page 32: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/32.jpg)
(3) Autenticação
Vários Tipos:� Usuário;� Remetente;� Destinatário;� Atualidade.
32
![Page 33: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/33.jpg)
(4) Não-Repúdio
É um serviço que previne que alguma entidade negue uma ação que havia executado previamente;Exemplo: � “Uma entidade pode autorizar a compra de
uma propriedade por uma segundaentidade e depois negar tal autorização.”Handbook of Applied Cryptography (1996).
33
![Page 34: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/34.jpg)
Importante
A criptografia não é o único meio deprover a segurança da informação, éapenas um conjunto de técnicas quedevem ser utilizadas em conjunto comoutras.
34
![Page 35: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/35.jpg)
Termos Comuns
Texto original = Texto claro = Plaintext;Texto cifrado = Texto código = Chipertext;Cifrar/Criptografar - Converter texto claro para cifrado;Decifrar/Decriptografar - Recuperar o texto original a partir do texto cifrado;Criptologia - Estudo sobre os códigos:� Compreende criptografia e criptoanálise.
35
![Page 36: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/36.jpg)
Cifras em Bloco x Stream
Cifras em bloco processam blocos de caracteres (64 bits ou mais) durante a cifragem/decifragem;Cifras Stream processam um bit ou um byte por vez;Maioria das cifras atuais utilizam blocos.
36
![Page 37: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/37.jpg)
Criptoanálise
Ciência que busca determinar a chave ou decifrar mensagens sem o conhecimento da chave;Uma tentativa de criptoanálise é chamada de ataque.
37
![Page 38: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/38.jpg)
Tipos de algoritmos
38
Tipos de Algoritmos� Simétrico: Uma única chave� Assimétrico: Utiliza duas chaves (secreta e
privada)
Sistemas Híbridos: Utilizam os dois tipos de algoritmos
![Page 39: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/39.jpg)
Tipos de algoritmos
Simétricos:� Uma mesma chave é utilizada tanto para a
criptografia quanto para a decriptografia;
39
![Page 40: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/40.jpg)
Tipos de algoritmos
Assimétricos:� Possuem duas chaves: uma pública e outra
privada.
40
![Page 41: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/41.jpg)
Algoritmos Simétricos
Vantagens:� Mais rápido;� Bom nível de segurança;
Desvantagens:� Única chave compartilhada pelo emissor e receptor;� Como distribuir a chave ?� Exposição da chave compromete todas as
mensagens
41
![Page 42: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/42.jpg)
Algoritmos AssimétricosVantagens:� Duas chaves: uma para criptografia e outra
para a decriptografia;� Facilita a distribuição de chaves;
Desvantagens:� Velocidade de cifragem e decifragem;� Segurança baseada em problemas matemáticos
complexos.� Dificuldade de implementação em plataformas
com restrições42
![Page 43: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/43.jpg)
Principais Algoritmos Simétricos
43
Nome Tipo Tam. chave Tam. bloco
DES bloco 56 64
Triple DES (2 ch.) bloco 112 64Triple DES (3 ch.) bloco 168 64IDEA bloco 128 64BLOWFISH bloco 32 a 448 64RC5 bloco 0 a 2040 32,64,128CAST-128 bloco 40 a 128 64RC2 bloco 0 a 1024 64RC4 stream 0 a 256 --Rijndael (AES) bloco 128,192,256 128, 192, 256
MARS bloco variável 128RC6 bloco variável 128Serpent bloco variável 128Twofish bloco 128,192,256 128
![Page 44: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/44.jpg)
Principais Algoritmos Assimétricos
44
– DH - Diffie Hellman (Troca de Chaves)
– RSA • Rivest-Shamir-Adelman• Algoritmo publicado em 1978• Sua patente expirou em 2000• Valores típicos para tamanho de chaves
– 512, 1024, 2048 bits
– ECC• “Elliptic Curve Cryptography”• Baseada na teoria de Curvas Elipticas
– MQQ – é recente e ainda um pouco desconhecido, mas é promissor, pois parece mais ser mais rapido que o ECC
![Page 45: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/45.jpg)
Propriedade da Assinatura Digital
45
Verificar o Autor e a data/hora da assinaturaAutenticar o conteúdo originalA assinatura deve poder ser verificável por terceiros (resolver disputas)
Direta� Envolve somente X e Y� Segurança está na chave privada de X� Selo de Tempo
Arbitrada� X -> A -> Y
Tipos
![Page 46: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/46.jpg)
Requisitos da Assinatura Digital
46
Depender do ConteúdoUsar informação única do originadorFácil de produzirFácil de reconhecer e verificarInviável de forjarDeve ser prático manter uma cópia da assinatura
![Page 47: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/47.jpg)
Assinatura Digital ArbitradaUsando Criptografia Simétrica
47
(1) X → A: M || EKXA[IDX || H(M)]
(2) A → Y: EKAY[IDX || M || EKXA
[IDX || H(M)] || T]
(1) X → A: IDX || EKXY[M] || EKXA
[IDX || H(EKXY[M])]
(2) A → Y: EKAY[IDX || EKXY
[M] || EKXA[IDX || H(EKXY
[M] )] || T]
(Árbitro não vê a mensagem)
(Árbitro vê a mensagem)
![Page 48: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/48.jpg)
Assinatura Digital ArbitradaUsando Criptografia Assimétrica
48
(1) X → A: IDX || EKRX[IDX || EKUY
(EKRX[M])]
(2) A → Y: EKRA[IDX || EKUY
[EKRX[M]] || T]
(Árbitro não vê a mensagem)
![Page 49: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/49.jpg)
RSA - Assinatura Digital
49
M
H
| |
EKRa[H(M)]
D
KUa
E
KRa
H
CompararM
![Page 50: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/50.jpg)
Principais Algoritmos Hashing
50
Algoritmo de Hash Compr. Hash kbytes/s
Abreast Bavies-Meyer (c/IDEA) 128 22Davies-Meyer (c/DES) 64 9GOST Hash 256 11NAVAL (3 passos) variável 168NAVAL (4 passos) variável 118NAVAL (5 passos) variável 95MD4 - Message Digest 4 128 236MD5 - Message Digest 5 128 174N-HASH (12 rounds) 128 29N-HASH (15 rounds) 128 24RIPE-MD 128 182RIPE-MD-160 160 ---SHA - Secure Hash Algorithm 160 75SNEFRU (4 passos) 128 48SNEFRU (8 passos) 128 23SHA-3 (kecca)
![Page 51: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/51.jpg)
Esteganografia
Não é criptografia;Maneiras de ocultar informações:� Tinta invisível;� Letras destacadas com lápis;� Bits escondidos em certas imagens;
Não faz sentido falar em quebra, mas em interceptação;
Referência: Bases Matemáticas da Criptografia - TEMPEST51
![Page 52: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/52.jpg)
Esteganografia (cont)
Desvantagens:� Desempenho;� Uso de muita informação para ocultar
pequenos textos;
Vantagens:� Não desperta suspeitas de envolvimento
com segredos.
Referência: Bases Matemáticas da Criptografia - TEMPEST52
![Page 53: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/53.jpg)
Funções
São utilizadas para denotar os algoritmos criptográficos de maneira formal;Exemplos:� fk(x) = y; � f-1
k(y) = x;� k é a chave, x o texto plano e y o texto cifrado;� fk(x) indica a criptografia e f-1
k(y) indica que o algoritmo inverso está sendo utilizado (decriptografia)
53
![Page 54: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/54.jpg)
Esquema Geral
fk(x)=y fk-1(y)=x
Chave K
Legível
x
Legível
x
Chave K
Linha de
comunicação
Ilegível
y
54
![Page 55: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/55.jpg)
Exercício
Baseado no formalismo de funções, tente imaginar como seria um algoritmo de criptografia simples.
55
![Page 56: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/56.jpg)
Uma Possível Solução
y = fk(x) = x + k; x = f-1
k(y) = y - k;
Exemplo:� y = f3(2) = 2 + 3 = 5; � x = f-1
3(5) = 5 – 3 = 2;
Tabela de Caracteres- A – B – C – D – E
0 – 1 – 2 – 3 – 4 - 5
56
![Page 57: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/57.jpg)
Parte II
57
Exemplo de AlgoritmosExemplo de AlgoritmosCriptográficosCriptográficosem Hardware (VHDL e em Hardware (VHDL e FPGAsFPGAs) ) e Software (C)e Software (C)
Algoritmo PosicionalAlgoritmo PosicionalDESDESIDEAIDEARSARSAAESAESRC5RC5
Autores: Edward David Moreno, Fabio Dacencio Pereira, Rodolfo Chiaramonte
![Page 58: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/58.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 58
Algoritmo Cifra de CésarÉ um algoritmo muito simples, mas
também inseguro.Consiste em atribuir valores seqüenciais
para cada letra e criptografar somando umvalor fixo aos valores das letras.
A chave pode ser facilmente descobertaatravés da tentativa de todas aspossibilidades ou teste de freqüência dasletras (ataque por só-texto-ilegível).
![Page 59: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/59.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 59
Algoritmo PosicionalO algoritmo se baseia no algoritmo Cifra
de César inserindo uma função que trabalhacom a posição do caracter e somando seuresultado ao valor da letra (e não um valorfixo como no algoritmo Cifra de César).
Exemplo de Posicional - Grau 3
![Page 60: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/60.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 60
Algoritmo Posicional
Para quebrar o algoritmo posicional, ouseja, obter a chave, é necessário um ataquemais elaborado: o ataque por texto legívelconhecido.
Nesse ataque, é necessário ter em mãosum texto legível o seu correspondentecriptografado e calcular a chave através daresolução de um sistema.
Um ataque testando todas as chaves éinviável.
![Page 61: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/61.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 61
Algoritmo PosicionalForam implementadas versões do algoritmo
Posicional para obter uma maior segurança.Essas versões utilizam blocos de 32 bits e existem
versões em que são acrescidos bits aleatórios.Esses bits aleatórios podem ser no ultimo bloco ou
distribuídos pelo bloco. Existem 2 versões emque bits aleatórios são acrescidos no ultimobloco, no entanto, em uma delas o bloco é fixo eem outra o bloco é rotacionado.
![Page 62: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/62.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 62
Algoritmo Posicional
A seguir é apresentada uma tabela comestimativas do tempo necessário para quebrar umamensagem com o algoritmo Posicional testando todasas chaves:
![Page 63: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/63.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 63
Implementação do algoritmo POSICIONAL
O algoritmo posicional foi implementadoinicialmente em linguagem C, e posteriormente emhardware utilizando a linguagem VHDL.
A implementação em hardware obteve umdesempenho parecido com o da implementação emsoftware, entretanto, é possível obter umdesempenho muito melhor em hardware atravésde uma implementação paralela.
![Page 64: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/64.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 64
Implementação do algoritmo POSICIONAL
Uma simulação de execução do algoritmo em Hardware
![Page 65: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/65.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 65
Comparação de DesempenhoSoftware x Hardware
Uma comparação de desempenho das implementações em software e hardware são
apresentadas a seguir:
0
2
4
6
8
10
1 3 5 7 9
0,5Mb 1,0Mb 1,5Mb
Grau da função posicional
Tempo (ms)
Implementaçãoem Hardware
Implementaçãoem Software
0
2
4
6
8
1 2 3 4 5 6 7 8 9 10
Grau da função posicional
0,5Mb 1,0Mb 1,5MbTempo (segundos)
![Page 66: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/66.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 66
Comparação de desempenho Comparação de desempenho -- várias versões várias versões do Posicional, IDEA e RSAdo Posicional, IDEA e RSA
0
2
4
6
8
10
12
14
16
18
20
0,5 1,0 1,5Tamanho do arquivo (Mbytes)
Te
mp
o (
se
gu
nd
os
)
Posicional - Grau 6 Posicional - Grau 10
Posicional 32 - Grau 6 Posicional 32 - Grau 10
Posicional 32 - B its aleatórios fixos - Grau 6 Posicional 32 - B its aleatórios fixos - Grau 10
Posicional 32 - B its aleatórios com ro tação - Grau 6 Posicional 32 - B its aleatórios com ro tação - Grau 10
Posicional 32 - B its aleatórios distribuídos - Grau 6 Posicional 32 - B its aleatórios distribuídos - Grau 10
IDEA RSA - 24 bits
![Page 67: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/67.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 67
Principais PlataformasPrincipais Plataformas
Algoritmos de criptografia
Processadores
Hardware
Clássico EspecíficosAmbientes
ASIC FPGAs Intel, RISC Embedded Systems
DSP, Smart Card, etc
Software
Reconfigurável
![Page 68: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/68.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 68
Selecionando uma PlataformaSelecionando uma Plataforma- Desempenho Algoritmos
- Custo:- Custo por unidade - Custo de desenvolvimento
- Consumo de Potência (ex. Dispositivos wireless)
- Flexibilidade: - Troca de Parâmetros- Agilidade de Chaves - Agilidade Algoritmos
- Segurança Física
Qual é a melhor PlataformaDepende: Necessidades da
Aplicação
![Page 69: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/69.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 69
Características das PlataformasCaracterísticas das Plataformas
Comparação HW/SW e FPGAs
Característica BAIXOALTO
DesempenhoSW
Custo Desenvolvimento
Custo por Unidade
Flexibilidade ASIC SW
FPGAs ASIC
FPGAsSW ASIC
ASIC SW FPGAs
FPGAs
![Page 70: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/70.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 70
Criptografia em FPGAsCriptografia em FPGAs
Vantagens Potenciais de algoritmos de criptografia implementados em CORE
�Agilidade dos Algoritmos�Carga e Atualização dos Algoritmos�Eficiência da Arquitetura�Eficiência de Recursos�Mudanças nos Algoritmos�Throughput – relativo ao software�Eficiencia vs Custo – relativo aos ASICs
![Page 71: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/71.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 71
Exemplo Atomicidade (AES)Exemplo Atomicidade (AES)
Algoritmo XOR ADD SUB Shift Var Rot GF Mult LUT
MARS * * * * * *
RC6 * * * * *
Rijndael * * * *
Serpent * * *
Twofish * * * *
![Page 72: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/72.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 72
Desempenho AES Desempenho AES -- FPGAsFPGAs
RC6 2.40 10856
Serpent 4.86 9004
Twofish 1.59 9345
Algoritmo Throughput (Gbit/s) Slices
Rijndael 1.94 10992
Ref. Reconfigurable Hardware in Modern Cryptography. Prof. Christof Paar.Worcester Polytechnic Institute, Worcester, MA, USA.
![Page 73: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/73.jpg)
EMICRO-SE - Aracaju - Nov 15-17 de 2012 73
0
2
4
6
8
10
12
14
16
18
20
0,5 1,0 1,5Tamanho do arquivo (Mbytes)
Te
mp
o (
se
gu
nd
os
)
Posicional - Grau 6 Posicional - Grau 10
Posicional 32 - Grau 6 Posicional 32 - Grau 10
Posicional 32 - B its aleatórios fixos - Grau 6 Posicional 32 - B its aleatórios fixos - Grau 10
Posicional 32 - B its aleatórios com ro tação - Grau 6 Posicional 32 - B its aleatórios com ro tação - Grau 10
Posicional 32 - B its aleatórios distribuídos - Grau 6 Posicional 32 - B its aleatórios distribuídos - Grau 10
IDEA RSA - 24 bits
Desempenho vs Segurança ?Desempenho vs Segurança ?
![Page 74: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/74.jpg)
11/19/2012 74
Principais Algoritmos SimétricosPrincipais Algoritmos Simétricos
Algoritmo Projetista Key (bits) Bloco (bytes) Aplicação
AES J. Daemen, V. Rijmen 128, 192, 256 16 DMSEnvoyBlowfish Bruce Schneier <= 448 8 Norton Utilities3DES D. Coppersmith 168 8 SSL, SSHIDEA X Lai, J. Massey 128 8 PGP, SSH, SSLRC6 R. Rivest, M.
Robshaw, et al.128, 192, 256 16 AES candidato
STREAM KEYRC4 R. Rivest Mínimo 8, máximo 2048 em
múltiplo de 8 bitsDefault: 128
SSL
SEAL P. Rogaway Variável, Default: 160 Disk Encryption
![Page 75: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/75.jpg)
11/19/2012 75
Implementação em SoftwareImplementação em SoftwareLinguagem CLinguagem C
![Page 76: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/76.jpg)
11/19/2012 76
Implementação em SoftwareImplementação em SoftwareLinguagem CLinguagem C
Desempenho em software
0,94 0,880,14
3,93,35
0,7
5,77
1,4
7,09
012345678
DES AES RC5
Se
gu
nd
os
1 MB
5 MB
10 MB
![Page 77: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/77.jpg)
11/19/2012 77
Operações nos Operações nos AlgAlg SimétricosSimétricosX O R D e s l o c a m e n t o / R
o t a ç ã oS - B O X P e r m u t a ç ã o
DES
X X X X
AES
X X X
S er pe n
t
X X X
Ca st -
1 28
X X
MAR
S
X X X
Two fi s
h
X X X X
Ma ge nt a
X X X X
F ro g
X X X
Bl o
wF ish
X X X
RC5
X X
RC6
X X X
![Page 78: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/78.jpg)
11/19/2012 78
Implementação em Hardware Implementação em Hardware FPGAsFPGAs
19,5528,789
21,05
0
10
20
30
Ns
DES AES RC5
Algoritmos
Tempo de propagação de cada
algoritmo em hardware
20,46
55,57
19,00
0,00
20,00
40,00
60,00
MB/seg
DES AES RC5
Algoritmos
Taxa de texto cifrado
por segundo
![Page 79: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/79.jpg)
11/19/2012 79
Comparação do DESComparação do DES
Desempenho Temporal
400
25 10
100200300400500
1 s 1 s 1 s
Hardware c/Pipeline
Hardware s/Pipeline
Software em C
Tempo em segundos
Meg
a B
yte
s C
ifra
do
s
![Page 80: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/80.jpg)
11/19/2012 80
CASAD CASAD -- CriptoprocessadorCriptoprocessador
![Page 81: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/81.jpg)
11/19/2012 81
CASAD CASAD -- CriptoprocessadorCriptoprocessador
![Page 82: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/82.jpg)
11/19/2012 82
CASAD CASAD -- CriptoprocessadorCriptoprocessador
Desempenho dos algoritmos DES e RC5
1
7,25
17,5
2625
19
0
5
10
15
20
25
30
DES RC5
Algoritmo
MB
/s
PPG
Cripto
HW
![Page 83: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/83.jpg)
11/19/2012 83
CASAD CASAD –– CriptoprocessadorCriptoprocessador --Algoritmo DESAlgoritmo DES
Criptoprocessadores Nº deCiclos
MHz MB/s
Hifn BCM5802 -- 33 100Hifn 790x 22 50 143OpenCores 16 155 620SecuCore DES 5 166 1999VLIW 16 122 26
![Page 84: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/84.jpg)
11/19/2012 84
CASAD CASAD -- CriptoprocessadorCriptoprocessadorAlgoritmo DESAlgoritmo DES
Proc. Freqüência Memória Texto claro Tempo de cifragem
P4 1.6 GHz 256 MB 1 MB 0,99 sP3 1.0 GHz 256 MB 1 MB 1,05 sP3 800 MHz 128 MB 1 MB 1,19 sP3 700 MHz 128 MB 1 MB 1,26 sP3 500 MHz 128 MB 1 MB 1,75 sK6 500 MHz 64 MB 1 MB 2,15 sVLIW 122 MHz -- 1 MB 0,038 s
![Page 86: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/86.jpg)
Cifra de César
Letras na mensagem original substituída por outras deslocadas em um número fixo de posições (chave) no alfabeto;Exemplo � Chave = 3:� Original: R O D O L F O
� Cifrado: U R G R O I R
Este exemplo, com chave 3, constitui na forma original da Cifra de César.
86
![Page 87: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/87.jpg)
Tabela de Substituição
Exercício – Gere as cifras para as palavras:CRIPTOGRAFIA
UNIVEM
CARAGUATATUBA
Decifre as palavras:FRPSXWDGRU
DOJRULWPR
87
![Page 88: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/88.jpg)
Soluções:
CRIPTOGRAFIA: FULSWRJUDILD
UNIVEM: XQLYHP
CARAGUATATUBA: FDUDJXDWDWXED
FRPSXWDGRU: COMPUTADOR
DOJRULWPR: ALGORITMO
88
![Page 89: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/89.jpg)
Outras Chaves
Hoje em dia toda cifra que apresenta uma substituição com deslocamento fixo é chamada Cifra de César;Exemplo � Chave = 10:ALGORITMO: KVQYBSDWY
COMPUTADOR: MYWZEDKNYB
89
![Page 90: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/90.jpg)
Com Ajuda de Tabela Matemática
Suponha chave = 7;Para cifrar a letra E (4) = 4 + 7 = 11 (L);Computacionalmente é indicado usar a Tabela ASCII
90
![Page 91: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/91.jpg)
ImplementaçãoEscreva um algoritmo para implementar a criptografia utilizando a Cifra de César:
Algoritmo Cesar
variavel palavra,cifrado: texto;
i, chave: inteiro;
ler palavra;
ler chave;
para i de 1 até tamanho_palavra
cifrado[i] = palavra[i]+chave;
mostrar cifrado;
Fim.
91
![Page 92: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/92.jpg)
Implementação em C#include <stdio.h>
#include <stdlib.h>
int main()
{ char palavra[40];
char cifrado[40];
int i=0;
int chave;
printf("Palavra: ");
scanf("%s", &palavra);
printf("Chave: ");
scanf("%d", &chave);
while(palavra[i]!=0)
cifrado[i] = (((palavra[i++]-65)+chave)%26)+65;
cifrado[i]=0;
printf("Cifrado: %s\n", cifrado);
system("PAUSE");
return 0;}
92
![Page 93: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/93.jpg)
Substituição Simples
Baseado em tabela de substituição;Troca-se as letras da primeira linha pelas letras da segunda linha;As letras da segunda linha são selecionadas aleatoriamente (chave da substituição);Possível obter 26! combinações de chave:� 26! = 403291461126605635584000000.
93
![Page 94: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/94.jpg)
Substituição Simples
Exemplos utilizando a tabela acima:� ALGORITMO =� COMPUTADOR =� CARAGUATATUBA =
Exemplos utilizando a tabela acima:� ALGORITMO = IPMGBAEZG� COMPUTADOR = KGZTOEIRGB� CARAGUATATUBA = KIBIMOIEIEONI
94
![Page 95: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/95.jpg)
Implementação Escreva um algoritmo para implementar criptografia usando a Substituição Simples:
Algoritmo Simples
variavel palavra,cifrado,
chave,linha1 : texto;
i: inteiro;
ler palavra;
para i de 1 até tamanho_palavra
cifrado[i] = chave[palavra[i]];
mostrar cifrado;
Fim.
95
![Page 96: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/96.jpg)
Implementação em C#include <stdio.h>
#include <stdlib.h>
int main(){
char chave[]={'I','N','K','R','F','S','M','W','A','X','J','P','Z', \
'Q','G','T','Y','B','D','E','O','H','V','L','U','C'};
char palavra[50];
char cifrado[50];
int i=0;
printf("Digite uma palavra: ");
scanf("%s", &palavra);
while(palavra[i]!=0)
cifrado[i] = chave[(int)(palavra[i++]-65)];
cifrado[i]=0;
printf("Cifrado: %s\n", cifrado);
system("PAUSE");
return 0;}
96
![Page 97: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/97.jpg)
Como seria a Decriptografia?Calcular a chave inversa:� Chave Original:
� Chave Inversa:
97
![Page 98: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/98.jpg)
Implementação da decriptografia#include <stdio.h>
#include <stdlib.h>
int main(){
char chaveI[]={'I','R','Z','S','T','E','O','V','A','K','C','X','G', \
'B','U','L','N','D','F','P','Y','W','H','J','Q','M'};
char palavra[50];
char cifrado[50];
int i=0;
printf("Digite uma palavra: ");
scanf("%s", &palavra);
while(palavra[i]!=0)
cifrado[i] = chaveI[(int)(palavra[i++]-65)];
cifrado[i]=0;
printf("Cifrado: %s\n", cifrado);
system("PAUSE");
return 0;}
98
![Page 99: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/99.jpg)
Cifra de VigenèreCada letra é representada por um inteiro;Chave é uma seqüência de N letras;Para cifrar, soma-se o valor da letra com o valor da chave para uma determinada posição;
99
![Page 100: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/100.jpg)
Cifra de Vigenère
Exemplo: CARAGUATATUBAChave: CRIPTO
100
![Page 101: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/101.jpg)
Exercício
Exercício – Gere as cifras para as palavras usando a chave: “CHAVE”CRIPTOGRAFIA
UNIVEM
CARAGUATATUBA
Decifre a palavra:CSGJVKAMJ
101
![Page 102: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/102.jpg)
Soluções
CRIPTOGRAFIA: EYIKXQNRVJKH
UNIVEM: WUIQIO
CARAGUATATUBA: EHRVKWHTVXWIA
CSGJVKAMJ: ALGORITMO
102
![Page 103: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/103.jpg)
Implementação
Escreva um algoritmo para implementar a Cifra de Vigenère:
Algoritmo Vigenere
variavel palavra,cifrado,chave:texto;
i, tam: inteiro;
ler palavra;
ler chave;
para i de 1 até tamanho_palavra
cifrado[i]=palavra[i]+chave[i mod tam];
mostrar cifrado;
Fim.
tam = tamanho da chave
103
![Page 104: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/104.jpg)
Implementação em C#include <stdio.h>
#include <stdlib.h>
int main()
{ char palavra[40];
char cifrado[40];
int i=0;
int tam=0;
char chave[15];
printf("Palavra: ");
scanf("%s", &palavra);
printf("Chave: ");
scanf("%s", &chave);
while(chave[tam]!=0)tam++;
while(palavra[i]!=0) {
cifrado[i] = (((palavra[i]-65)+(chave[i%tam]-65))%26)+65; i++; }
cifrado[i]=0;
printf("Cifrado: %s\n", cifrado);
system("PAUSE");
return 0; }
104
![Page 105: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/105.jpg)
Introdução a criptoanálise
Exercício:� Tente decifrar o texto a seguir:
105
![Page 106: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/106.jpg)
Algoritmo Posicional
Desenvolvido para fins didáticos;Algoritmo Simétrico; Cifrador do tipo Stream;Não é muito simples, porém não muito complexo;Possui algumas falhas que podem ser exploradas.
106
![Page 107: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/107.jpg)
Algoritmo Posicional -Funcionamento
A posição que o caracter ocupa interfere em como ele será criptografado;Segue uma função polinomial do tipo:� f(x,p,k) = x + (k1 * pn + k2 * pn-1 + ... +
kn * p1);
� onde:� x é o caracter original;� p é a posição;� k é a chave e kn são grupos de 8 bits da chave.107
![Page 108: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/108.jpg)
Algoritmo Posicional -Exemplo
Utilizando a chave 23,26,45,63 temos:
108
![Page 109: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/109.jpg)
Ataque por força bruta é inviável:
Algoritmo Posicional - Criptanalise
109
![Page 110: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/110.jpg)
Algoritmo Posicional - Criptanalise
O algoritmo Posicional é formado por funções lineares;É possível montar um sistema linear e resolvê-lo para obter a chave;
110
![Page 111: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/111.jpg)
Algoritmo Posicional - Criptanalise Exemplo
Considere que um criptanalista obteveconhecimento da posição do caracter,do texto original e do textocriptografado utilizados no exemploanterior, como mostra a tabela:
111
![Page 112: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/112.jpg)
É possível montar um sistema que tem como incógnita a chave:
Algoritmo Posicional - Criptanalise Exemplo Continuação
112
![Page 113: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/113.jpg)
Ver solução completa em Resolução.xls
Algoritmo Posicional - Criptanalise Exemplo Continuação
113
![Page 114: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/114.jpg)
Posicional – Função para Cifrar
int cifrachar (char pcifrar, int pos, int valores[], int gchave){
int vchave;int i;unsigned long int soma = 0;int aux;aux = pcifrar;for (i = 1; i <= gchave; i++){
vchave = valores[i];soma += vchave * pow(pos,gchave-i+1);
}aux = (aux + soma) % 256;
return aux;}
Calculo da expressão
Soma do resultado
114
![Page 115: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/115.jpg)
Parte IV
Parte Prática – Algoritmos Conhecidos
Autores: Edward Moreno, Fabio Pereira, Rodolfo Chiaramonte
Edward David [email protected]
115
![Page 116: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/116.jpg)
Algoritmo DES
Algoritmo Simétrico;Cifra em Blocos;Baseado na Rede de Feistel;
116
![Page 117: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/117.jpg)
Algoritmo DESEsquerdaj Direitaj
Esquerdaj+1 Direitaj+1
XOR fKj(Dj)
Kj
Esquerdaj+2 Direitaj+2
XOR fKj+1(Dj+1)
Kj+1
117
![Page 118: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/118.jpg)
Algoritmo DES
Perm utação + Expansão
XOR
S-BOX
Perm utação P
Kj
XOR
Esquerdaj D ire itaj
Esquerdaj+1 Direita j+1
118
![Page 119: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/119.jpg)
Algoritmo DES - Permutação E(33 milhões por segundo)
x = !((0x80000000 & entrada)==0); // bit 32s0 += x << 0;s1 += x << 46;x = !((0x40000000 & entrada)==0); // bit 31s1 += x << 45;x = !((0x20000000 & entrada)==0); // bit 30s1 += x << 44;...x = !((0x00000004 & entrada)==0); // bit 3s0 += x << 3;x = !((0x00000002 & entrada)==0); // bit 2s0 += x << 2;x = !((0x00000001 & entrada)==0); // bit 1s0 += x << 1;s1 += x << 47; // Total de 124 linhas
119
![Page 120: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/120.jpg)
Algoritmo DES - Permutação E(Otimização - 70 milhões por segundo)
int s1, s0;
s0 = (entrada & 0x80000000) >> 31;s0 |= (entrada & 0x0000001f) << 1;s0 |= (entrada & 0x000001f8) << 3;s0 |= (entrada & 0x00001f80) << 5;s0 |= (entrada & 0x0001f800) << 7;s0 |= (entrada & 0x001f8000) << 9;s0 |= (entrada & 0x00180000) << 11;
s1 = (entrada & 0x01e00000) >> 21;s1 |= (entrada & 0x1f800000) >> 19;s1 |= (entrada & 0xf8000000) >> 17;s1 |= (entrada & 0x00000001) >> 15;
*_s1 = s1;*_s0 = s0;
120
![Page 121: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/121.jpg)
Algoritmo IDEA
Algoritmo Simétrico;Trabalha com blocos de 64 bits;Chave de 128 bits;Estrutura semelhante ao DES;Oito iterações.
121
![Page 122: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/122.jpg)
Algoritmo IDEA - Operações⊕ - Ou exclusivo (XOR) sobre 16 bits.+ - Soma mod 216, ou seja, somar dois valores de 16 bits desprezando o mais à esquerda, correspondente a 216.� - Esta operação consiste em vários passos:� Multiplicar dois valores de 16 bits obtendo um valor que
chamaremos de Z, sendo que antes de multiplicar, se um desses valores for 0 deve ser alterado para 216.
� Calcular Z mod (216+1), ou seja, o resto da divisão de Z por 216+1.
� Se o resultado da operação acima for 216, então o resultado final da operação é 0, caso contrário é o valor obtido acima (Z mod (216+1)).
122
![Page 123: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/123.jpg)
Algoritmo IDEA - Operações
void XOR(int * A, int B, int C){ *A = B ^ C; }
void SOMA16(int * A, int B, int C){ *A = (B + C) % v2_16; }
void MULT16(int * A, int B, int C){ long int aux;
if (B == 0) B = v2_16;if (C == 0) C = v2_16;aux = BLAKLEY(B,C,(v2_16_1));if (aux != v2_16)
*A = (int) aux;else
*A = 0;}
123
![Page 124: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/124.jpg)
Algoritmo IDEA - Operações(BLAKLEY)
int BLAKLEY(int a, int b, int n)// input: a,b,n// output: R = (a * b) mod n{
unsigned int aux;int R;R = 0;for (aux = 0x80000000; aux > 0; aux >>= 1){ R = (R << 1 );
if((a & aux) != 0) R += b;if (R > n) R -= n;if (R > n) R -= n;
}return R;}
124
![Page 125: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/125.jpg)
Algoritmo AES
125
• AES - Advanced Encryption Standard– Algoritmo selecionado: RIJNDAEL (2002)
• Novo padrão FIPS (Federal Information Processing Standard) escolhido pelo NIST (National Institute of Standards and Technologies) para ser utilizado pelas organizações governamentais dos EUA na proteção de informações sensíveis
• Marca um esforço de 4 anos de cooperação entre o governo dos EUA, empresas privadas e pesquisadores de diversos países
![Page 126: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/126.jpg)
Algoritmo AES - Cifragem
126
M EncriptadorAES
C
Bloco:
128/192/256 bitsK
Bloco:
128/192/256 bits
Chave
128/192/256 bits
![Page 127: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/127.jpg)
Algoritmo AES - Decifragem
127
M DecriptadorAES
C
Bloco:
128/192/256 bitsK
Bloco:
128/192/256 bits
![Page 128: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/128.jpg)
Algoritmo RSAAlgoritmo Assimétrico;Segurança baseada na dificuldade computacional de se fatorar números longos;Para cifrar: Cifrado = Originalkp mod n;Para decifrar: Original = Cifradoks mod n;Onde:� kp = chave pública; ks = chave secreta;� n = produto dos primos utilizados na geração da
chave128
![Page 129: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/129.jpg)
Ron Rivest, Adi Shamir e Len Adleman (1978)
C = Me mod nM = Cd mod n = (Me)d mod n = Med mod n
Blocos com valores binários menores que nTamanho do Bloco é k bits, onde 2k < n ≤ 2k+1
KU = {e,n}KR = {d,n}
• É possível encontrar e, d, n tal que Med = M mod n para todo M < n• É relativamente fácil calcular Me e Cd para todos os valores de M < n• É improvável determinar d dado e, n
Requisitos do Algoritmo
TextoPlano
TextoCifrado
129
![Page 130: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/130.jpg)
Algoritmo RSA
Selecione p,q p e q primosCalcular n = p x qCalcular φφφφ(n) = (p-1)(q-1)Selecionar e inteiro gcd(φφφφ(n),e) = 1; 1 < e < φφφφ(n)Calcular d d = e-1 mod φφφφ(n)Chave Pública KU={e,n}Chave Privada KR={d,n}
Geração da Chave
Texto Plano: M < nTexto Cifrado: C = Me (mod n)
Cifrar
Texto Plano: CTexto Cifrado: M = Cd (mod n)
Decifrar
130
![Page 131: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/131.jpg)
Algoritmo RSA - Exemplo
Selecionar dois números primos: p = 7 e q = 17Calcular n = pq = 7 x 17 = 119Calcular φ(n) = (p-1)(q-1) = 96Selecionar e tal que e é relativamente primo a φ(n) e menor que φ(n); e = 5Determinar d tal que de = 1 mod 96 e d < 96; d = 77, pois 77 x 5 = 385 = 4 x 96 + 1KU = {5,119} e KR = {77,119}
131
![Page 132: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/132.jpg)
Algoritmo RSA – Exemplo (Continuação)
195 = 2476099 1192080766
KU = 5,119
TextoPlano
19
6677 = 1,27...x10140 1191,06...x1013819
KR = 77,119
Texto Plano 19
Texto Cifrado 66
Cifrar
Decifrar
132
![Page 133: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/133.jpg)
Algoritmo MD5
Função de Hash;Entrada de comprimento arbitrário;� Deve ser completado para se tornar
múltiplo de 512 bits;
Saída de 128 bits;
133
![Page 134: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/134.jpg)
Algoritmo MD5 - Passosvoid md5(void) { AA = A; BB = B; CC = C; DD = D;
R1(A,B,C,D, 0, 7, 1);R1(D,A,B,C, 1,12, 2);R1(C,D,A,B, 2,17, 3);R1(B,C,D,A, 3,22, 4);R1(A,B,C,D, 4, 7, 5);R1(D,A,B,C, 5,12, 6);R1(C,D,A,B, 6,17, 7);R1(B,C,D,A, 7,22, 8);R1(A,B,C,D, 8, 7, 9);R1(D,A,B,C, 9,12,10);R1(C,D,A,B,10,17,11);R1(B,C,D,A,11,22,12);R1(A,B,C,D,12, 7,13);R1(D,A,B,C,13,12,14);R1(C,D,A,B,14,17,15);R1(B,C,D,A,15,22,16);R2(A,B,C,D, 1, 5,17);R2(D,A,B,C, 6, 9,18);R2(C,D,A,B,11,14,19);R2(B,C,D,A, 0,20,20);R2(A,B,C,D, 5, 5,21);R2(D,A,B,C,10, 9,22);R2(C,D,A,B,15,14,23);R2(B,C,D,A, 4,20,24);R2(A,B,C,D, 9, 5,25);R2(D,A,B,C,14, 9,26);R2(C,D,A,B, 3,14,27);R2(B,C,D,A, 8,20,28);R2(A,B,C,D,13, 5,29);R2(D,A,B,C, 2, 9,30);R2(C,D,A,B, 7,14,31);R2(B,C,D,A,12,20,32);R3(A,B,C,D, 5, 4,33);R3(D,A,B,C, 8,11,34);R3(C,D,A,B,11,16,35);R3(B,C,D,A,14,23,36);R3(A,B,C,D, 1, 4,37);R3(D,A,B,C, 4,11,38);R3(C,D,A,B, 7,16,39);R3(B,C,D,A,10,23,40);R3(A,B,C,D,13, 4,41);R3(D,A,B,C, 0,11,42);R3(C,D,A,B, 3,16,43);R3(B,C,D,A, 6,23,44);R3(A,B,C,D, 9, 4,45);R3(D,A,B,C,12,11,46);R3(C,D,A,B,15,16,47);R3(B,C,D,A, 2,23,48);R4(A,B,C,D, 0, 6,49);R4(D,A,B,C, 7,10,50);R4(C,D,A,B,14,15,51);R4(B,C,D,A, 5,21,52);R4(A,B,C,D,12, 6,53);R4(D,A,B,C, 3,10,54);R4(C,D,A,B,10,15,55);R4(B,C,D,A, 1,21,56);R4(A,B,C,D, 8, 6,57);R4(D,A,B,C,15,10,58);R4(C,D,A,B, 6,15,59);R4(B,C,D,A,13,21,60);R4(A,B,C,D, 4, 6,61);R4(D,A,B,C,11,10,62);R4(C,D,A,B, 2,15,63);R4(B,C,D,A, 9,21,64);A = A + AA; B = B + BB; C = C + CC; D = D + DD; }
134
![Page 135: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/135.jpg)
Algoritmo MD5 - Passos
#define R1(a, b, c, d, k, s, i) a = b + (ROL((a + F(b,c,d) + X[k] + T[i]), s))#define R2(a, b, c, d, k, s, i) a = b + (ROL((a + G(b,c,d) + X[k] + T[i]), s))#define R3(a, b, c, d, k, s, i) a = b + (ROL((a + H(b,c,d) + X[k] + T[i]), s))#define R4(a, b, c, d, k, s, i) a = b + (ROL((a + I(b,c,d) + X[k] + T[i]), s))
135
![Page 136: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/136.jpg)
Análise de Desempenho
0
2
4
6
8
10
12
14
16
18
20
0,5 1,0 1,5Tamanho do arquivo (Mbytes)
Te
mp
o (
se
gu
nd
os
)
Posicional - Grau 6 Posicional - Grau 10
Posicional 32 - Grau 6 Posicional 32 - Grau 10
Posicional 32 - Bits aleatórios fixos - Grau 6 Posicional 32 - B its aleatórios fixos - Grau 10
Posicional 32 - Bits aleatórios com ro tação - Grau 6 Posicional 32 - B its aleatórios com ro tação - Grau 10
Posicional 32 - Bits aleatórios distribuídos - Grau 6 Posicional 32 - B its aleatórios distribuídos - Grau 10
IDEA RSA - 24 bits
136
![Page 137: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/137.jpg)
Análise de Desempenho
0
0,5
1
1,5
2
2,5
3
0,5 1,0 1,5Tamanho do arquivo (Mbytes)
Te
mp
o (
se
gu
nd
os
)
Posicional - Grau 6 Posicional - Grau 10
Posicional 32 - Grau 6 Posicional 32 - Grau 10
Posicional 32 - Bits aleatórios fixos - Grau 6 Posicional 32 - Bits aleatórios fixos - Grau 10
Posicional 32 - Bits aleatórios com rotação - Grau 6 Posicional 32 - Bits aleatórios com rotação - Grau 10
Posicional 32 - Bits aleatórios distribuídos - Grau 6 Posicional 32 - Bits aleatórios distribuídos - Grau 10
IDEA
137
![Page 138: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/138.jpg)
Ferramenta WebCry
138
![Page 139: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/139.jpg)
SICO - Sistema Inteligente de Comunicação
RECEPTOR
CRIPTO
EMISSOR
GERENTE
RECEPTOR
DECRIPTO
CONTROLE
CONEXÃOSEGURA
CONEXÃOCLIENTE
(INSEGURA)
EMISSOR RECEPTOR
139
![Page 140: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/140.jpg)
Emissor
Receptor - abre uma conexão com um clienteutilizando Sockets TCP e fica a espera dedados para criptografar. Assim que os dadoschegam a Thread coloca-os no buffer derecepção para serem criptografados.Cripto - retira os dados do buffer de recepçãoe realiza a criptografia. Após a criptografia osdados são colocados em um buffer deemissão.
140
![Page 141: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/141.jpg)
Emissor - Continuação
Emissor - retira os dados do buffer de emissão e os envia através de uma conexão utilizando Sockets TCP.Gerente - verifica periodicamente o nível dos buffers compartilhados para detectar alguns parâmetros como velocidade de recepção, velocidade de criptografia e velocidade de envio. Esta Thread é a responsável por definir a necessidade da troca do algoritmo ou chave utilizada.
141
![Page 142: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/142.jpg)
Receptor
A Thread Receptor deste módulo tem amesma função da Thread Receptor domódulo anterior, armazenando os dados quechegam em um buffer compartilhado.A Thread Decripto realizará a decriptografiados dados e irá enviá-los para uma saída aser definida (pode ser arquivo ou rede).
142
![Page 143: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/143.jpg)
Receptor - Continuação
A função da Thread de Controle é realizar algumas verificações no nível do buffer e enviá-las periodicamente para o módulo Emissor. Essa verificação pode ser utilizada como um parâmetro de comparação de funcionamento dos dois módulos e comprovar as medições no buffer realizados pelo módulo Emissor.
143
![Page 145: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/145.jpg)
Classificação Moderna de Soluções de Segurança (Srivaths 2005)
145
Aplicações
WEB browserVPN DRM Secure Storage
Protocolos de Segurança
Protocolos de Comunicação Segura
SSL/TLS, WTLS, IPSEC, S/MIME
Protocolos DRM
Autenticação Biométrica (fingerprint, face, voice)
Primitivas Criptográficas
Criptografia Simétrica (RC4, RC5, DES, AES,
entre outros)
Hash(Sha-1,
MD5), MQQ,
SHA-3
Criptografia Chave Pública (RSA, ECC,
HECC)
Assinatura Digital (DAS,
ecDSA)
KeyExchange
(DH,ecDH)
Integração Serviços
Segurança
![Page 146: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/146.jpg)
Algoritmos Criptográficos - Primitivas
146
Cryptographic Algorithms
Simetrics Asimetrics Hash Functions
DES
AES
RC4
RSA
IBE (PBC)
SHA-1
RandomNumber
Generators
Digital SignaturesKey Exchange
Encryption
SHA-2
SHA-3
(H)ECDSA
kecca
![Page 147: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/147.jpg)
Algoritmos Criptográficos - Plataformas
147
Cryptographic Algorithms
Hardware Software
ASIC FPGA PC SoC
� Physical security� High Performance� Flexibility(FPGAs)� Parallel processing� Efficient use of resources� High cost ( Asic implementation)
� Security problems(memory attacks)� Low performance� Flexibility� Sequential processing� Defficient use of resources� Low cost (implementation)
IP
![Page 148: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/148.jpg)
Soluções de Segurança em Multicore
148
Core Único
CPU
Multiprocessador
CPU CPU
Multicore
CPU CPU
CPU CPU
CPU CPU
CPU CPU
Domeika (2008)
![Page 149: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/149.jpg)
Soluções de Segurança em Multicore/FPGAs
1494 Xilinx Microblaze em rede (Kavadias, 2010)
![Page 150: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/150.jpg)
Soluções de Segurança em Multicore/Leon-3
150Arquitetura interna padrão do Leon3 (Gaisler, 2011)
![Page 151: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/151.jpg)
Multicore and GPUs – Open Researches
151
•Projetar sistemas multicore eficientes em consumo de energia;•Paralelizar aplicações que requeiram alto desempenho e adequá-las a plataformasmulticore de forma eficiente e escalável;•Criar ferramentas que paralelizem automaticamente aplicações e as executem de formaeficiente em plataformas multicore;•Projetar e avaliar sistemas Multi-core e uso de GPUs em soluções de segurança eprocessamento de imagens que requeiram alto desempenho;•Considerando a nova geração da arquitetura unificada dos hardwares gráficos (GPUs),lançada pela nVidia, que veio tornar capaz a execução de programas genéricos, e queexistem aplicações com alto grau de paralelismo, e que transformam as GPUs emverdadeiros clusters; existe ainda necessidade de estudar e aplicar as GPU em váriasaplicações que requeiram o uso de alto processamento para alto volume de dados;•Construir ferramentas que auxiliem no processo automático do uso eficiente de GPUsem aplicações de alto volume de informações;•Verificar o uso de GPUs em soluções modernas de segurança: IDS e IPS de altodesempenho, em algoritmos criptográficos de desempenho crítico, em algoritmosbiométricos e etc.
![Page 152: Criptografia em hardware emicro se - nov 15 2012](https://reader036.vdocuments.pub/reader036/viewer/2022062405/5571327ed8b42a797c8b46ea/html5/thumbnails/152.jpg)
Consumo de Energia
152
Final daExecução
Detalhes do consumo de energia na execução do algoritmo SHA