Projectos
Os projectos aqui propostos deverão ser apresentados sobre a forma de monografia. De uma forma genérica, consistem no aprofundamento de um determinado tema avançado da criptografia moderna, por intermédio de leitura de artigos de investigação e da consulta de bibliografia relevante. Não quer isto dizer que não tenha cabimento incluir a codificação de algoritmos e/ou técnicas - fragmentos de código poderão ser relevantes para ilustrar as várias técnicas ou conduzir pequenas experiências (e.g. scripts
PARI/GP). A este respeito, o projecto das
BDDs distingue-se dos restantes na medida em que, neste, a componente de codificação tem um peso notoriamente superior aos demais.
Utilização de BDDs para análise de funções booleanas
A utilização de
BDDs (
Binary Decision Diagrams) é um ingrediante fundamental na codificação eficiente de algoritmos de verificação de fórmulas lógica (e.g. algoritmo
Davis Putnam). O objectivo deste trabalho é de explorar essas estruturas de dados na análise de funções booleanas utilizadas em operações criptográficas (por intermédio dos seus espectros, conforme foi apresentado nas aulas teóricas de EC).
Trata-se de um trabalho essencialmente prático já que se pretende adaptar uma implementação existente de BDDs (em linguagem
C ou
C++) para as operações específicas da manipulação de espectos de funções booleanas.
*material de referência:
Testes de primalidade determinísticos
Tradicionalmente, a verificação eficiente da primalidade de números era obtida por intermédio de testes probabilísticos --- existia portanto uma (pequena) probabilidade de o algoritmo identificar um "falso primo". Recentemente (2002) surgiram os primeiros testes de primalidade determinísticos de complexidade polinomial.
O objectivo deste trabalho é elaborar um estudo em torno da verificação da primalidade, com especial ênfase na apresentação dos algoritmos determinísticos.
Material de Referência:
Ataques algébricos a cifras simétricas
A
criptoanálise algébrica reclama produzir ataques sobre cifras simétricas até agora tidas como seguras como
Serpent ou mesmo o
AES (mas a níveis que não comprometem a segurança actual da cifra). Trata-se de um assunto ainda envolto em certa polémica porque a concretização desses ataques passa por procedimentos heurísticos cuja viabilidade em sistemas reais é discutível.
Material de referência:
Técnicas criptográficas baseadas em identidade
Nas técnicas criptográficas baseadas em identidade (
identity based cryptography) a chave pública dos intervenientes é obtida directamente da sua identidade. Estas técnicas são um domínio preveligiado da aplicação de
pairings (
emparelhamento) construídas sobre grupos cíclicos.
O objectivo deste trabalho é o de se realizar um estudo dos fundamentos teóricos dos
emparelhamentos e da sua aplicação em técnicas criptográficas baseadas em identidade.
Material de referência:
Modelo Random Oracle
A segurança de técnicas e protocolos criptográficos demonstra-se por redução desses sistemas a operações tidas como computacionalmente intratáveis. No modelo
Random Oracle, essa redução é realizada sob a assunção que as funções de sentido único exibem um comportamento indestiguível do aleatório e portanto podem ser simuladas por intermédio de invocações a um "oráculo" apropriado.
Material de referência:
Segurança das funções de Hash
As funções de
hash são um ingrediante fundamental em muitos técnicas criptográficas. Recentemente, foram anunciados alguns ataques a funções de Hash tidas como seguras como o
MD5 ou variantes do
SHA. O objectivo deste trabalho consiste em estudar os requisitos de segurança impostos sobre as funções de Hash criptográficas, quais os ataques associados, e quais as implicações desses requisitos na segurança de técnicas criptográficas (e.g. assinatura digital). Pretende-se também realizar um levantamento do
estado de arte actual dos ataques às funções de Hash usuais e das estratégias para os encontrar.
Material de referência: