Algoritmo CAST Rodrigo Boccasius.

Slides:



Advertisements
Apresentações semelhantes
Presenter’s Notes Some Background on the Barber Paradox
Advertisements

Inquiry about eating habits (Inquérito sobre hábitos alimentares)
Present Simple vs Present Continuous
São Paulo - November 7, 2013 Measuring the Cost of Formalization in Brazil © 2003 The Ronald Coase Institute Adopting RCI methodology to measure start.
Chapter Six Pipelining
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais Ricardo Pannain
Por Dave Batty 3/2012 T Disciplinando alunos no programa Desafio Jovem Teen Challenge Staff Training Course T iTeenChallenge.org.
Aulas 11 e 12 Keynes e a síntese
Capacitores Ou, como guardar energia elétrica de forma relativamente simples.
Experiências de Indução.
Curso de ADMINISTRAÇÃO
Towards a Requirement Analysis Approach for Dependable Law-Governed Systems Maíra Gatti, Gustavo Carvalho May 2nd 2006.
Conversation lesson Unit 14 – Poetry/ Song Teacher: Anderson.
DIRETORIA ACADÊMICA NÚCLEO DE CIÊNCIAS HUMANAS E ENGENHARIAS DISCIPLINA: INGLÊS FUNDAMENTAL - NOITE PROFESSOR: JOSÉ GERMANO DOS SANTOS PERÍODO LETIVO
DIRETORIA ACADÊMICA NÚCLEO DE CIÊNCIAS HUMANAS E ENGENHARIAS DISCIPLINA: INGLÊS FUNDAMENTAL - NOITE PROFESSOR: JOSÉ GERMANO DOS SANTOS PERÍODO LETIVO
Sistemas Distribuídos Introdução: Modelos de Arquitetura de Sistemas Distribuídos Instituto de Informática – UFG Verão 2005 Baseado em: Coulouris, Cap.
A.4. Trabalhando com elementos de biblioteca STL – Standard Template Libraby Disponibiliza um conjunto de classes templates, provendo algoritmos eficientes.
Vetor da rede recíproca.
Criptografia de chave única
Criptografia de chave única
Universidade Federal do Rio Grande do Sul PGCC - Pós-graduação em Computação Considerações sobre o algoritmo RC4. Ricardo Goulart
Weverton Luis da Costa Cordeiro
Twofish Leonardo H. Furlan.
Criptoanálise Integral Criptoanálise diferencial: diferença (subtração) entre duas cifragens Criptoanálise integral: efeito cumulativo (soma) entre várias.
MARS The IBM Candidate Cipher for AES
Serpent-1 O Serpent-0 refinado Paulo Estima Mello
GT Processo Eletrônico SG Documentos Eletrônicos Segunda reunião – 28/08/2009 Interlegis.
Data Mining: Ferramenta JAVA
Uniform Resource Identifier (URI). Uniform Resource Identifiers Uniform Resource Identifiers (URI) ou Identificador de Recursos Uniforme provê um meio.
Protocolo HTTP.
Because we were commissioned toGo…make disciples World Evangelism Fund Offering(date)
SECEX SECRETARIA DE COMÉRCIO EXTERIOR MINISTÉRIO DO DESENVOLVIMENTO, INDUSTRIA E COMÉRCIO EXTERIOR BRAZILIAN EXPORTS STATISTICAL DEPURATION SYSTEM Presentation.
NO I CAN'T FORGET THIS EVENING Não, não posso esquecer essa noite OR YOUR FACE AS YOU WERE LEAVING Ou seu rosto enquanto você partia BUT I GUESS THAT'S.
OER LIFE CYCLE Andrew Moore and Tessa Welch.
Ecological Economics Lecture 6 Tiago Domingos Assistant Professor Environment and Energy Section Department of Mechanical Engineering Doctoral Program.
Tópicos Especiais em Aprendizagem Reinaldo Bianchi Centro Universitário da FEI 2012.
Part 5: Regression Algebra and Fit 5-1/34 Econometrics I Professor William Greene Stern School of Business Department of Economics.
Números de 0 a 1,000,000,000 É uma dúvida de muitos estudantes do nível básico como dizer os números em inglês. Segue abaixo a lista de 0 a 1,000,000,000.
Fazendo e Brincando: Confecção de Materiais para as Aulas de Inglês
Curso Gestão Estratégica de Dívida Pública para os Estados Workshop on Debt Management Strategies for Brazilian Subnationals Jorge Luís Tonetto CONFAZ/GEFIN.
Definição do MoC Subjacente a Aplicação Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
Universidade de Brasília Laboratório de Processamento de Sinais em Arranjos 1 Adaptive & Array Signal Processing AASP Prof. Dr.-Ing. João Paulo C. Lustosa.
Use to/ Used to There is a little confusion on how to use them. One reason for the confusion is that it is sometimes used as a verb, and sometimes used.
Avaliação Constituição dos grupos de trabalho:
Lecture 2 Properties of Fluids Units and Dimensions 1.
Introdução à Criptografia Moderna – 2ª Lista de Exercícios
Kiss and Say Goodbye Barry White This is got to be the saddest day of my life Esse vai ser o dia mais triste de minha vida I called you here today for.
Hoje é domingo, 14 de setembro de 2014 Agora mesmo são 22:54 h. Relaxe por uns momentos e aprecie … Com som Today is Monday, 1 st December Relax.
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa Understanding Epidemic Quorum Systems INESC-ID Lisbon/Technical.
Faculdade de Ciências Económicas e Empresariais Universidade Católica Portuguesa 15/09/2014Ricardo F Reis 6 th session: Financial Measures.
Socio-technical approaches for Safety STAMP/STPA
RIO DE JANEIRO STATE FELIPE P .– 7º D.
Prof Afonso Ferreira Miguel
RELATÓRIO CEMEC 06 COMPARAÇÕES INTERNACIONAIS Novembro 2013.
Microprocessadores 8051 – Aula 3 Interrupção
Aula Teórica 18 & 19 Adimensionalização. Nº de Reynolds e Nº de Froude. Teorema dos PI’s , Diagrama de Moody, Equação de Bernoulli Generalizada e Coeficientes.
Andre Facciolli – Diretor Netbr Automação no Data Center.
Unit 22 Relative Clauses and Pronouns.
VOCÊ JÁ FALA INGLÊS FLUENTEMENTE?
Olhe fixamente para a Bruxa Nariguda
Clicar para rolar Click to run Caminha de 10 a 30 minutos todos os dias.... Sorri enquanto caminhas. Walk 10 to 30 minutes every day… Smile while you’re.
IEEE PES General Meeting, Tampa FL June 24-28, 2007 Conferência Brasileira de Qualidade de Energia Santos, São Paulo, Agosto 5-8, Chapter 8: Procedure.
How do you identify passives in Portuguese? Os jogos olímpicos são disputados a cada 4 anos. Mais um carro foi incendiado no Rio. O novo ar condicionado.
Administração e Exploração Avançada de Bases de Dados Mestrado em Engenharia de Sistemas Braga, 2014.
1 - Listas com Acesso Aleatório. 2 - Fila, o Acesso Ordenado (FIFO)
Learning english with comics …………….. Aprendendo inglês com quadrinhos.
Equação de Evolução e método do volume-finito.
Three analogies to explain reactive power Why an analogy? Reactive power is an essential aspect of the electricity system, but one that is difficult to.
Simple Present Tense. . In English the Simple Present is used to express actions that are made with a certain frequency, like go to school, work, study…
Transcrição da apresentação:

Algoritmo CAST Rodrigo Boccasius

Agenda Introdução Especificação do Algoritmo Criptoanálise Aplicações Considerações Finais Referências

Um breve histórico CAST (Carlisle Adams and Stafford Tavares) CAST é uma família de cifradores CAST64 CAST128 (ou CAST5) CAST256 (candidato ao AES)

Cifragem CAST Algoritmo de cifragem inspirado no DES Feistel network-like structure (called a substitution-permutation network)

CAST x DES (por William Stallings) CAST uses fixed S-boxes, but ones that are considerably larger than those used in DES. These S-boxes were carefully designed to be nonlinear and resistant to cryptanalysis. Another interesting feature of CAST-128 is that the round function, differs from round to round, again adding to cryptanalytic strength.

CAST x DES (por William Stallings) The subkey-generation process used in CAST-128 is different from that employed in other conventional block encryption algorithms. The CAST designers made the subkeys as resistant to known cryptanalytic attacks as possible and felt that the use of highly nonlinear S-boxes to generate the subkeys from the main key provided this strength.

Especificação do algoritmo - 128 Chaves Para chaves entre 40 e 80 bits (incrementos de 8 em 8 bits), algoritmo usa 12 rodadas; Para chaves maior que 80, algoritmo usa 16 rodadas; Para chaves menores de 128 bits, há zero-padding na chave; Mistura de operações adição módulo 2/ou exclusivo/adição módulo 232

2 rodadas do bloco de cifragem do CAST128

Características Desejáveis: Strict Avalanche Criterion (alteração de 1 bit na entrada altera 50% dos bits na saída) Bit Independence Criterion (inexistência de ligação entre um bit da saída e um bit da entrada) Não é complementar Não possui chaves fracas ou semi-fracas Decriptação é a encriptação com inversão na ordem das sub-chaves

Características Indesejáveis: “CAST seems unlikely to be suitable for implementation on these processors because it requires 4096 bytes of S-box ROM, which is unreasonably large.” (Performance Analysis of AES candidates on the 6805 CPU core)

Especificação do algoritmo - 256 CAST256 Para a candidatura ao AES, foi necessário aumentar tamanho do bloco de cifragem para 128 bits Modificações na rede clássica de Feistel para uma rede “generalizada” Chaves de 128, 192 ou 256 bits 48 rodadas ou 12 quad-rodadas

Especificação do algoritmo - 256 Desvantagem potencial: Estruturas diferentes para encriptação e decriptação Solução encontrada: Primeira metade dos deslocamentos para a direita, segunda metade para a esquerda Desempenho da encriptação e da decriptação são iguais.

Criptoanálise CAST64 CAST128 CAST256 related-key attack conhecido, mas impraticável. (Related-Key Cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA) CAST128 Resistente a criptoanálise linear e diferencial. (Resistance of a CAST-Like Encryption Algorithm to Linear) CAST256 Embora tenha características diferentes de difusão, também é resistente (An Analysis of the CAST-256 Cipher)

Criptoanálise "It is resistant to both linear and differential cryptanalysis. Currently, there is no known way of breaking CAST short of brute force. There are no known attacks on CAST with reduced rounds – it looks incredibly secure. CAST is now the default cipher in PGP." (PGP Diffie-Hellman vs. RSA FAQ: What is CAST?)

Aplicações Diversas ferramentas comerciais de cifragem de dados TrueCrypt CryptoExpert 2004 Lite (CAST only) E4M Disk Encryption PGP (Pretty Good Privacy) CAST128 é o algoritmo default

Considerações Finais RFC 2144 define um teste de manutenção: Definição em pseudo-código Vetores ‘a’ e ‘b’ de 128 bits xL e xR metade mais a esquerda e a direita, respectivamente Initial a = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A (hex) Initial b = 01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A (hex) do 1,000,000 times { aL = encrypt(aL,b) aR = encrypt(aR,b) bL = encrypt(bL,a) bR = encrypt(bR,a) } Verify a == EE A9 D0 A2 49 FD 3B A6 B3 43 6F B8 9D 6D CA 92 (hex) Verify b == B2 C9 5E B0 0C 31 AD 71 80 AC 05 B8 E8 3D 69 6E (hex)

Considerações Finais Ainda seguro, ainda em uso “The large s-boxes are implemented to efficiently eliminate the permutations found in DES between rounds of substitutions and, as a result, CAST is very efficient algorithm for software implementation.”

Por que não usar apenas o AES? Yes, I know, the Rijndael now is the best and generally used (AES) encryption algorithm. Other algorithms are less common and non-standard. Using Rijndael with a 256-bit encryption key makes me sure that my data won't be broken and read by an unauthorized person in the next thousand of years or, more probably, next 1000000... years. But, what if I don't need to hide my data from everybody forever? It is quite enough to maintain my encrypted data within the next 50-60 years or so. It is almost improbable that one day somebody will be able to break a message encrypted with a key of 128 bits in length if the encryption algorithm is good.

Por que não usar apenas o AES? So, it is the same for most of the applications whether you use an algorithm with 256-bit key or 128-bit key. Both are practically unbreakable. Why don't I like the strongest ciphers? There are two main reasons: the performance, and the usability. CAST-128 is three times faster than a AES-256 cipher on the .NET 2.0 platform. Also, CAST-128 is two times faster than the reduced version of the Rijndael algorithm working with a 128-bit key (AES-128). As for usability, I think it is easier to manipulate keys of 128 bits in length because they are more human readable.

Referências http://jya.com/cast.html Todas as referências foram acessadas em maio/2007 http://jya.com/cast.html http://www.users.zetnet.co.uk/hopwood/crypto/scan/cs.html#mode http://citeseer.ist.psu.edu/lee97resistance.html http://www.thefreecountry.com/security/encryption.shtml http://www.faqs.org/rfcs/rfc2144.html

Referências http://en.wikipedia.org/wiki/CAST-256 http://www.ipa.go.jp/security/rfc/RFC2144EN.html http://www.mirrors.wiretapped.net/security/cryptography/algorithms/cast/ (Código Fonte) http://www.netaction.org/encrypt/appendixb.html http://www.kremlinencrypt.com/algorithms.htm http://www.scramdisk.clara.net/pgpfaq.html#SubCAST

Referências http://www.answers.com/topic/feistel-cipher http://www.cryptopp.com/benchmarks.html http://en.wikipedia.org/wiki/Block_size_(cryptography) http://en.wikipedia.org/wiki/Block_cipher http://www.jetico.com/linux/bcrypt-help/c_gloss.htm http://www.codeproject.com/dotnet/CastEncryptor.asp http://community.roxen.com/developers/idocs/rfc/rfc2984.html http://www.commsdesign.com/main/9811/9811feat3.htm http://en.wikipedia.org/wiki/Avalanche_effect http://www.answers.com/topic/feistel-cipher http://www.ciphersbyritter.com/NEWS/95050101.HTM http://www.faqs.org/faqs/cryptography-faq/part07/ http://www.cescomm.co.nz/about/aes.html